@taazkareem/clickup-mcp-server 0.4.74 → 0.4.75
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 +4 -0
- package/build/server.js +1 -1
- package/build/server.log +98 -682
- package/build/services/clickup/task.js +26 -0
- package/build/tools/task/bulk-operations.js +5 -1
- package/build/tools/task/handlers.js +7 -6
- package/build/tools/task/single-operations.js +16 -8
- package/build/tools/task/utilities.js +72 -11
- package/build/utils/sponsor-service.js +24 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,6 +126,10 @@ If you find this project useful, please consider supporting:
|
|
|
126
126
|
|
|
127
127
|
[](https://github.com/sponsors/TaazKareem)
|
|
128
128
|
|
|
129
|
+
## Acknowledgements
|
|
130
|
+
|
|
131
|
+
Special thanks to [ClickUp](https://clickup.com) for their excellent API and services that make this integration possible.
|
|
132
|
+
|
|
129
133
|
## Contributing
|
|
130
134
|
|
|
131
135
|
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
|
package/build/server.js
CHANGED
package/build/server.log
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
[2025-03-
|
|
1
|
+
[2025-03-21T18:53:07.767Z] [PID:44431] INFO: [SponsorService] SponsorService initialized
|
|
2
2
|
{
|
|
3
3
|
"enabled": true
|
|
4
4
|
}
|
|
5
|
-
[2025-03-
|
|
6
|
-
[2025-03-
|
|
5
|
+
[2025-03-21T18:53:07.789Z] [PID:44431] INFO: [SharedServices] Creating shared ClickUp services singleton
|
|
6
|
+
[2025-03-21T18:53:07.790Z] [PID:44431] INFO: [ClickUpServices] Starting ClickUp services initialization
|
|
7
7
|
{
|
|
8
8
|
"teamId": "9014370478",
|
|
9
9
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
10
10
|
}
|
|
11
|
-
[2025-03-
|
|
12
|
-
[2025-03-
|
|
11
|
+
[2025-03-21T18:53:07.790Z] [PID:44431] INFO: [ClickUpServices] Initializing ClickUp Workspace service
|
|
12
|
+
[2025-03-21T18:53:07.792Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Initialized WorkspaceService
|
|
13
13
|
{
|
|
14
14
|
"teamId": "9014370478",
|
|
15
15
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
16
16
|
}
|
|
17
|
-
[2025-03-
|
|
18
|
-
[2025-03-
|
|
17
|
+
[2025-03-21T18:53:07.792Z] [PID:44431] INFO: [ClickUpServices] Initializing ClickUp Task service
|
|
18
|
+
[2025-03-21T18:53:07.792Z] [PID:44431] DEBUG: [ClickUp:TaskService] Initialized TaskService
|
|
19
19
|
{
|
|
20
20
|
"teamId": "9014370478",
|
|
21
21
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
22
22
|
}
|
|
23
|
-
[2025-03-
|
|
23
|
+
[2025-03-21T18:53:07.792Z] [PID:44431] INFO: [ClickUp:TaskService] Operation: constructor
|
|
24
24
|
{
|
|
25
25
|
"usingSharedWorkspaceService": true
|
|
26
26
|
}
|
|
27
|
-
[2025-03-
|
|
27
|
+
[2025-03-21T18:53:07.793Z] [PID:44431] DEBUG: [ClickUp:ListService] Initialized ListService
|
|
28
28
|
{
|
|
29
29
|
"teamId": "9014370478",
|
|
30
30
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
31
31
|
}
|
|
32
|
-
[2025-03-
|
|
32
|
+
[2025-03-21T18:53:07.793Z] [PID:44431] INFO: [ClickUp:TaskService] Operation: constructor
|
|
33
33
|
{
|
|
34
34
|
"initialized": true
|
|
35
35
|
}
|
|
36
|
-
[2025-03-
|
|
37
|
-
[2025-03-
|
|
36
|
+
[2025-03-21T18:53:07.793Z] [PID:44431] INFO: [ClickUpServices] Initializing ClickUp List service
|
|
37
|
+
[2025-03-21T18:53:07.793Z] [PID:44431] DEBUG: [ClickUp:ListService] Initialized ListService
|
|
38
38
|
{
|
|
39
39
|
"teamId": "9014370478",
|
|
40
40
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
41
41
|
}
|
|
42
|
-
[2025-03-
|
|
43
|
-
[2025-03-
|
|
42
|
+
[2025-03-21T18:53:07.794Z] [PID:44431] INFO: [ClickUpServices] Initializing ClickUp Folder service
|
|
43
|
+
[2025-03-21T18:53:07.794Z] [PID:44431] DEBUG: [ClickUp:FolderService] Initialized FolderService
|
|
44
44
|
{
|
|
45
45
|
"teamId": "9014370478",
|
|
46
46
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
47
47
|
}
|
|
48
|
-
[2025-03-
|
|
48
|
+
[2025-03-21T18:53:07.794Z] [PID:44431] INFO: [ClickUpServices] All ClickUp services initialized successfully
|
|
49
49
|
{
|
|
50
50
|
"services": [
|
|
51
51
|
"workspace",
|
|
@@ -55,30 +55,30 @@
|
|
|
55
55
|
],
|
|
56
56
|
"baseUrl": "https://api.clickup.com/api/v2"
|
|
57
57
|
}
|
|
58
|
-
[2025-03-
|
|
58
|
+
[2025-03-21T18:53:07.794Z] [PID:44431] INFO: [SharedServices] Services initialization complete
|
|
59
59
|
{
|
|
60
60
|
"services": "workspace, task, list, folder",
|
|
61
61
|
"teamId": "9014370478"
|
|
62
62
|
}
|
|
63
|
-
[2025-03-
|
|
64
|
-
[2025-03-
|
|
65
|
-
[2025-03-
|
|
66
|
-
[2025-03-
|
|
63
|
+
[2025-03-21T18:53:07.794Z] [PID:44431] INFO: [BulkService] BulkService initialized
|
|
64
|
+
[2025-03-21T18:53:07.795Z] [PID:44431] INFO: [BulkService] BulkService initialized
|
|
65
|
+
[2025-03-21T18:53:07.795Z] [PID:44431] INFO: Starting ClickUp MCP Server...
|
|
66
|
+
[2025-03-21T18:53:08.317Z] [PID:44431] INFO: Server environment
|
|
67
67
|
{
|
|
68
|
-
"pid":
|
|
68
|
+
"pid": 44431,
|
|
69
69
|
"node": "v23.5.0",
|
|
70
70
|
"os": "darwin",
|
|
71
71
|
"arch": "x64"
|
|
72
72
|
}
|
|
73
|
-
[2025-03-
|
|
74
|
-
[2025-03-
|
|
75
|
-
[2025-03-
|
|
73
|
+
[2025-03-21T18:53:08.318Z] [PID:44431] INFO: Initializing workspace tools
|
|
74
|
+
[2025-03-21T18:53:08.318Z] [PID:44431] INFO: [WorkspaceTool] Initializing workspace tool
|
|
75
|
+
[2025-03-21T18:53:08.318Z] [PID:44431] INFO: [WorkspaceTool] Workspace tool initialized successfully
|
|
76
76
|
{
|
|
77
77
|
"serviceType": "WorkspaceService"
|
|
78
78
|
}
|
|
79
|
-
[2025-03-
|
|
80
|
-
[2025-03-
|
|
81
|
-
[2025-03-
|
|
79
|
+
[2025-03-21T18:53:08.318Z] [PID:44431] INFO: Configuring server request handlers
|
|
80
|
+
[2025-03-21T18:53:08.319Z] [PID:44431] INFO: [Server] Registering server request handlers
|
|
81
|
+
[2025-03-21T18:53:08.319Z] [PID:44431] INFO: [Server] Registering tool handlers
|
|
82
82
|
{
|
|
83
83
|
"toolCount": 22,
|
|
84
84
|
"categories": [
|
|
@@ -88,661 +88,77 @@
|
|
|
88
88
|
"folder"
|
|
89
89
|
]
|
|
90
90
|
}
|
|
91
|
-
[2025-03-
|
|
92
|
-
[2025-03-
|
|
93
|
-
[2025-03-
|
|
94
|
-
[2025-03-
|
|
91
|
+
[2025-03-21T18:53:08.319Z] [PID:44431] INFO: Connecting to MCP stdio transport
|
|
92
|
+
[2025-03-21T18:53:08.319Z] [PID:44431] INFO: Server startup complete - ready to handle requests
|
|
93
|
+
[2025-03-21T18:53:08.337Z] [PID:44431] DEBUG: [Server] Received ListTools request
|
|
94
|
+
[2025-03-21T18:53:15.519Z] [PID:44431] INFO: [Server] Received CallTool request for tool: get_workspace_hierarchy
|
|
95
95
|
{
|
|
96
96
|
"params": {}
|
|
97
97
|
}
|
|
98
|
-
[2025-03-
|
|
99
|
-
[2025-03-
|
|
100
|
-
[2025-03-
|
|
101
|
-
[2025-03-
|
|
102
|
-
[2025-03-
|
|
103
|
-
[2025-03-
|
|
104
|
-
[2025-03-
|
|
105
|
-
[2025-03-
|
|
106
|
-
[2025-03-
|
|
107
|
-
[2025-03-
|
|
108
|
-
[2025-03-
|
|
109
|
-
[2025-03-
|
|
110
|
-
[2025-03-
|
|
111
|
-
[2025-03-
|
|
112
|
-
[2025-03-
|
|
113
|
-
[2025-03-
|
|
114
|
-
[2025-03-
|
|
115
|
-
[2025-03-
|
|
116
|
-
[2025-03-
|
|
117
|
-
[2025-03-
|
|
118
|
-
[2025-03-
|
|
119
|
-
[2025-03-
|
|
120
|
-
[2025-03-
|
|
121
|
-
[2025-03-
|
|
122
|
-
[2025-03-
|
|
123
|
-
[2025-03-
|
|
124
|
-
[2025-03-
|
|
125
|
-
[2025-03-
|
|
126
|
-
[2025-03-
|
|
127
|
-
[2025-03-
|
|
128
|
-
[2025-03-
|
|
129
|
-
[2025-03-
|
|
130
|
-
[2025-03-
|
|
131
|
-
[2025-03-
|
|
132
|
-
[2025-03-
|
|
133
|
-
[2025-03-
|
|
134
|
-
[2025-03-
|
|
135
|
-
[2025-03-
|
|
136
|
-
[2025-03-
|
|
137
|
-
[2025-03-
|
|
138
|
-
[2025-03-
|
|
139
|
-
[2025-03-
|
|
140
|
-
{
|
|
141
|
-
"params": {
|
|
142
|
-
"name": "🧪 Test
|
|
143
|
-
"
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
"
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
"spaceId": "90141392755"
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
[2025-03-21T01:45:28.952Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: findFolderByName
|
|
169
|
-
{
|
|
170
|
-
"spaceId": "90141392755",
|
|
171
|
-
"folderName": "🧪 Test Folder for Checklist"
|
|
172
|
-
}
|
|
173
|
-
[2025-03-21T01:45:28.952Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: getFoldersInSpace
|
|
174
|
-
{
|
|
175
|
-
"spaceId": "90141392755"
|
|
176
|
-
}
|
|
177
|
-
[2025-03-21T01:45:29.405Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: getFolder
|
|
178
|
-
{
|
|
179
|
-
"folderId": "90144393329"
|
|
180
|
-
}
|
|
181
|
-
[2025-03-21T01:45:33.051Z] [PID:29160] INFO: [Server] Received CallTool request for tool: update_folder
|
|
182
|
-
{
|
|
183
|
-
"params": {
|
|
184
|
-
"folderId": "90144393329",
|
|
185
|
-
"name": "🧪 Updated Test Folder for Checklist"
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
[2025-03-21T01:45:33.052Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: updateFolder
|
|
189
|
-
{
|
|
190
|
-
"folderId": "90144393329",
|
|
191
|
-
"name": "🧪 Updated Test Folder for Checklist"
|
|
192
|
-
}
|
|
193
|
-
[2025-03-21T01:45:45.600Z] [PID:29160] INFO: [Server] Received CallTool request for tool: create_list
|
|
194
|
-
{
|
|
195
|
-
"params": {
|
|
196
|
-
"name": "🧪 Test List for Checklist",
|
|
197
|
-
"spaceId": "90141392755"
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
[2025-03-21T01:45:45.600Z] [PID:29160] INFO: [ClickUp:ListService] Operation: createList
|
|
201
|
-
{
|
|
202
|
-
"spaceId": "90141392755",
|
|
203
|
-
"name": "🧪 Test List for Checklist"
|
|
204
|
-
}
|
|
205
|
-
[2025-03-21T01:45:46.190Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 590ms
|
|
206
|
-
[2025-03-21T01:45:49.957Z] [PID:29160] INFO: [Server] Received CallTool request for tool: create_list_in_folder
|
|
207
|
-
{
|
|
208
|
-
"params": {
|
|
209
|
-
"name": "🧪 Test List in Folder",
|
|
210
|
-
"folderId": "90144393329"
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
[2025-03-21T01:45:49.958Z] [PID:29160] INFO: [ClickUp:ListService] Operation: createListInFolder
|
|
214
|
-
{
|
|
215
|
-
"folderId": "90144393329",
|
|
216
|
-
"name": "🧪 Test List in Folder"
|
|
217
|
-
}
|
|
218
|
-
[2025-03-21T01:45:50.586Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 628ms
|
|
219
|
-
[2025-03-21T01:45:53.797Z] [PID:29160] INFO: [Server] Received CallTool request for tool: get_list
|
|
220
|
-
{
|
|
221
|
-
"params": {
|
|
222
|
-
"listId": "901408302787"
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
[2025-03-21T01:45:53.797Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
226
|
-
{
|
|
227
|
-
"listId": "901408302787"
|
|
228
|
-
}
|
|
229
|
-
[2025-03-21T01:45:54.307Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 510ms
|
|
230
|
-
[2025-03-21T01:45:57.481Z] [PID:29160] INFO: [Server] Received CallTool request for tool: get_list
|
|
231
|
-
{
|
|
232
|
-
"params": {
|
|
233
|
-
"listName": "🧪 Test List in Folder"
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
[2025-03-21T01:46:01.285Z] [PID:29160] INFO: [Server] Received CallTool request for tool: update_list
|
|
237
|
-
{
|
|
238
|
-
"params": {
|
|
239
|
-
"listId": "901408302787",
|
|
240
|
-
"name": "🧪 Updated Test List for Checklist",
|
|
241
|
-
"content": "This is a test list for the checklist."
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
[2025-03-21T01:46:01.286Z] [PID:29160] INFO: [ClickUp:ListService] Operation: updateList
|
|
245
|
-
{
|
|
246
|
-
"listId": "901408302787",
|
|
247
|
-
"name": "🧪 Updated Test List for Checklist",
|
|
248
|
-
"content": "This is a test list for the checklist."
|
|
249
|
-
}
|
|
250
|
-
[2025-03-21T01:46:02.112Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 826ms
|
|
251
|
-
[2025-03-21T01:46:16.530Z] [PID:29160] INFO: [Server] Received CallTool request for tool: create_task
|
|
252
|
-
{
|
|
253
|
-
"params": {
|
|
254
|
-
"name": "🧪 Test Task for Checklist",
|
|
255
|
-
"listId": "901408302787",
|
|
256
|
-
"description": "This is a test task for the checklist.",
|
|
257
|
-
"dueDate": "1 week from now",
|
|
258
|
-
"priority": 2
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
[2025-03-21T01:46:16.532Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: createTask
|
|
262
|
-
{
|
|
263
|
-
"listId": "901408302787",
|
|
264
|
-
"name": "🧪 Test Task for Checklist",
|
|
265
|
-
"description": "This is a test task for the checklist.",
|
|
266
|
-
"priority": 2,
|
|
267
|
-
"due_date": 1743134399999
|
|
268
|
-
}
|
|
269
|
-
[2025-03-21T01:46:17.534Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 1002ms
|
|
270
|
-
[2025-03-21T01:46:20.579Z] [PID:29160] INFO: [Server] Received CallTool request for tool: get_task
|
|
271
|
-
{
|
|
272
|
-
"params": {
|
|
273
|
-
"taskId": "86b4bqmxt"
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
[2025-03-21T01:46:20.580Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
277
|
-
{
|
|
278
|
-
"taskId": "86b4bqmxt"
|
|
279
|
-
}
|
|
280
|
-
[2025-03-21T01:46:21.018Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 438ms
|
|
281
|
-
[2025-03-21T01:46:25.090Z] [PID:29160] INFO: [Server] Received CallTool request for tool: update_task
|
|
282
|
-
{
|
|
283
|
-
"params": {
|
|
284
|
-
"taskId": "86b4bqmxt",
|
|
285
|
-
"name": "🧪 Updated Test Task for Checklist",
|
|
286
|
-
"description": "This is an updated test task for the checklist.",
|
|
287
|
-
"status": "in progress"
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
[2025-03-21T01:46:25.092Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: updateTask
|
|
291
|
-
{
|
|
292
|
-
"taskId": "86b4bqmxt",
|
|
293
|
-
"name": "🧪 Updated Test Task for Checklist",
|
|
294
|
-
"description": "This is an updated test task for the checklist.",
|
|
295
|
-
"status": "in progress"
|
|
296
|
-
}
|
|
297
|
-
[2025-03-21T01:46:25.828Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 736ms
|
|
298
|
-
[2025-03-21T01:46:29.129Z] [PID:29160] INFO: [Server] Received CallTool request for tool: move_task
|
|
299
|
-
{
|
|
300
|
-
"params": {
|
|
301
|
-
"taskId": "86b4bqmxt",
|
|
302
|
-
"listId": "901408302788"
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
[2025-03-21T01:46:29.129Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: moveTask
|
|
306
|
-
{
|
|
307
|
-
"taskId": "86b4bqmxt",
|
|
308
|
-
"destinationListId": "901408302788"
|
|
309
|
-
}
|
|
310
|
-
[2025-03-21T01:46:29.129Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
311
|
-
{
|
|
312
|
-
"taskId": "86b4bqmxt"
|
|
313
|
-
}
|
|
314
|
-
[2025-03-21T01:46:29.130Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
315
|
-
{
|
|
316
|
-
"listId": "901408302788"
|
|
317
|
-
}
|
|
318
|
-
[2025-03-21T01:46:29.596Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 466ms
|
|
319
|
-
[2025-03-21T01:46:29.627Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 498ms
|
|
320
|
-
[2025-03-21T01:46:30.596Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 969ms
|
|
321
|
-
[2025-03-21T01:46:37.942Z] [PID:29160] INFO: [Server] Received CallTool request for tool: duplicate_task
|
|
322
|
-
{
|
|
323
|
-
"params": {
|
|
324
|
-
"taskId": "86b4bqmy8"
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
[2025-03-21T01:46:37.943Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: duplicateTask
|
|
328
|
-
{
|
|
329
|
-
"taskId": "86b4bqmy8"
|
|
330
|
-
}
|
|
331
|
-
[2025-03-21T01:46:37.943Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
332
|
-
{
|
|
333
|
-
"taskId": "86b4bqmy8"
|
|
334
|
-
}
|
|
335
|
-
[2025-03-21T01:46:38.631Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 688ms
|
|
336
|
-
[2025-03-21T01:46:38.631Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: createTask
|
|
337
|
-
{
|
|
338
|
-
"listId": "901408302788",
|
|
339
|
-
"name": "🧪 Updated Test Task for Checklist (copy)",
|
|
340
|
-
"description": "This is an updated test task for the checklist.",
|
|
341
|
-
"status": "in progress",
|
|
342
|
-
"priority": 2,
|
|
343
|
-
"due_date": 1743048000000,
|
|
344
|
-
"assignees": []
|
|
345
|
-
}
|
|
346
|
-
[2025-03-21T01:46:39.346Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 715ms
|
|
347
|
-
[2025-03-21T01:46:42.134Z] [PID:29160] INFO: [Server] Received CallTool request for tool: get_task_comments
|
|
348
|
-
{
|
|
349
|
-
"params": {
|
|
350
|
-
"taskId": "86b4bqmy8"
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
[2025-03-21T01:46:42.134Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTaskComments
|
|
354
|
-
{
|
|
355
|
-
"taskId": "86b4bqmy8"
|
|
356
|
-
}
|
|
357
|
-
[2025-03-21T01:47:09.302Z] [PID:29160] INFO: [Server] Received CallTool request for tool: create_bulk_tasks
|
|
358
|
-
{
|
|
359
|
-
"params": {
|
|
360
|
-
"listId": "901408302787",
|
|
361
|
-
"tasks": [
|
|
362
|
-
{
|
|
363
|
-
"name": "🧪 Bulk Task 1",
|
|
364
|
-
"description": "This is bulk task 1.",
|
|
365
|
-
"priority": 3
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
"name": "🧪 Bulk Task 2",
|
|
369
|
-
"description": "This is bulk task 2.",
|
|
370
|
-
"priority": 3
|
|
371
|
-
},
|
|
372
|
-
{
|
|
373
|
-
"name": "🧪 Bulk Task 3",
|
|
374
|
-
"description": "This is bulk task 3.",
|
|
375
|
-
"priority": 3
|
|
376
|
-
}
|
|
377
|
-
]
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
[2025-03-21T01:47:09.302Z] [PID:29160] INFO: [BulkService] Creating 3 tasks in list 901408302787
|
|
381
|
-
{}
|
|
382
|
-
[2025-03-21T01:47:09.302Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: validateListExists
|
|
383
|
-
{
|
|
384
|
-
"listId": "901408302787"
|
|
385
|
-
}
|
|
386
|
-
[2025-03-21T01:47:09.302Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
387
|
-
{
|
|
388
|
-
"listId": "901408302787"
|
|
389
|
-
}
|
|
390
|
-
[2025-03-21T01:47:09.861Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 559ms
|
|
391
|
-
[2025-03-21T01:47:09.861Z] [PID:29160] INFO: [ConcurrencyUtils] Starting batch processing of 3 items
|
|
392
|
-
{
|
|
393
|
-
"totalBatches": 1,
|
|
394
|
-
"batchSize": 10,
|
|
395
|
-
"concurrency": 3
|
|
396
|
-
}
|
|
397
|
-
[2025-03-21T01:47:09.861Z] [PID:29160] DEBUG: [ConcurrencyUtils] Processing batch 1/1
|
|
398
|
-
{
|
|
399
|
-
"batchSize": 3,
|
|
400
|
-
"startIdx": 0,
|
|
401
|
-
"endIdx": 3
|
|
402
|
-
}
|
|
403
|
-
[2025-03-21T01:47:09.862Z] [PID:29160] DEBUG: [BulkService] Creating task 1/3
|
|
404
|
-
{
|
|
405
|
-
"taskName": "🧪 Bulk Task 1"
|
|
406
|
-
}
|
|
407
|
-
[2025-03-21T01:47:09.862Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: createTask
|
|
408
|
-
{
|
|
409
|
-
"listId": "901408302787",
|
|
410
|
-
"name": "🧪 Bulk Task 1",
|
|
411
|
-
"description": "This is bulk task 1.",
|
|
412
|
-
"priority": 3
|
|
413
|
-
}
|
|
414
|
-
[2025-03-21T01:47:09.862Z] [PID:29160] DEBUG: [BulkService] Creating task 2/3
|
|
415
|
-
{
|
|
416
|
-
"taskName": "🧪 Bulk Task 2"
|
|
417
|
-
}
|
|
418
|
-
[2025-03-21T01:47:09.862Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: createTask
|
|
419
|
-
{
|
|
420
|
-
"listId": "901408302787",
|
|
421
|
-
"name": "🧪 Bulk Task 2",
|
|
422
|
-
"description": "This is bulk task 2.",
|
|
423
|
-
"priority": 3
|
|
424
|
-
}
|
|
425
|
-
[2025-03-21T01:47:09.865Z] [PID:29160] DEBUG: [BulkService] Creating task 3/3
|
|
426
|
-
{
|
|
427
|
-
"taskName": "🧪 Bulk Task 3"
|
|
428
|
-
}
|
|
429
|
-
[2025-03-21T01:47:09.865Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: createTask
|
|
430
|
-
{
|
|
431
|
-
"listId": "901408302787",
|
|
432
|
-
"name": "🧪 Bulk Task 3",
|
|
433
|
-
"description": "This is bulk task 3.",
|
|
434
|
-
"priority": 3
|
|
435
|
-
}
|
|
436
|
-
[2025-03-21T01:47:10.579Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 717ms
|
|
437
|
-
[2025-03-21T01:47:10.590Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 728ms
|
|
438
|
-
[2025-03-21T01:47:11.440Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 1575ms
|
|
439
|
-
[2025-03-21T01:47:11.441Z] [PID:29160] INFO: [ConcurrencyUtils] Batch processing completed
|
|
440
|
-
{
|
|
441
|
-
"totalItems": 3,
|
|
442
|
-
"successful": 3,
|
|
443
|
-
"failed": 0
|
|
444
|
-
}
|
|
445
|
-
[2025-03-21T01:47:15.797Z] [PID:29160] INFO: [Server] Received CallTool request for tool: update_bulk_tasks
|
|
446
|
-
{
|
|
447
|
-
"params": {
|
|
448
|
-
"tasks": [
|
|
449
|
-
{
|
|
450
|
-
"taskId": "86b4bqmzn",
|
|
451
|
-
"name": "🧪 Updated Bulk Task 1",
|
|
452
|
-
"status": "in progress"
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
"taskId": "86b4bqmzp",
|
|
456
|
-
"name": "🧪 Updated Bulk Task 2",
|
|
457
|
-
"status": "in progress"
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"taskId": "86b4bqmzq",
|
|
461
|
-
"name": "🧪 Updated Bulk Task 3",
|
|
462
|
-
"status": "in progress"
|
|
463
|
-
}
|
|
464
|
-
]
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
[2025-03-21T01:47:15.798Z] [PID:29160] INFO: [BulkService] Updating 3 tasks
|
|
468
|
-
{}
|
|
469
|
-
[2025-03-21T01:47:15.798Z] [PID:29160] INFO: [ConcurrencyUtils] Starting batch processing of 3 items
|
|
470
|
-
{
|
|
471
|
-
"totalBatches": 1,
|
|
472
|
-
"batchSize": 10,
|
|
473
|
-
"concurrency": 3
|
|
474
|
-
}
|
|
475
|
-
[2025-03-21T01:47:15.798Z] [PID:29160] DEBUG: [ConcurrencyUtils] Processing batch 1/1
|
|
476
|
-
{
|
|
477
|
-
"batchSize": 3,
|
|
478
|
-
"startIdx": 0,
|
|
479
|
-
"endIdx": 3
|
|
480
|
-
}
|
|
481
|
-
[2025-03-21T01:47:15.799Z] [PID:29160] DEBUG: [BulkService] Updating task 1/3
|
|
482
|
-
{
|
|
483
|
-
"taskId": "86b4bqmzn"
|
|
484
|
-
}
|
|
485
|
-
[2025-03-21T01:47:15.799Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: updateTask
|
|
486
|
-
{
|
|
487
|
-
"taskId": "86b4bqmzn",
|
|
488
|
-
"name": "🧪 Updated Bulk Task 1",
|
|
489
|
-
"status": "in progress"
|
|
490
|
-
}
|
|
491
|
-
[2025-03-21T01:47:15.800Z] [PID:29160] DEBUG: [BulkService] Updating task 2/3
|
|
492
|
-
{
|
|
493
|
-
"taskId": "86b4bqmzp"
|
|
494
|
-
}
|
|
495
|
-
[2025-03-21T01:47:15.800Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: updateTask
|
|
496
|
-
{
|
|
497
|
-
"taskId": "86b4bqmzp",
|
|
498
|
-
"name": "🧪 Updated Bulk Task 2",
|
|
499
|
-
"status": "in progress"
|
|
500
|
-
}
|
|
501
|
-
[2025-03-21T01:47:15.801Z] [PID:29160] DEBUG: [BulkService] Updating task 3/3
|
|
502
|
-
{
|
|
503
|
-
"taskId": "86b4bqmzq"
|
|
504
|
-
}
|
|
505
|
-
[2025-03-21T01:47:15.802Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: updateTask
|
|
506
|
-
{
|
|
507
|
-
"taskId": "86b4bqmzq",
|
|
508
|
-
"name": "🧪 Updated Bulk Task 3",
|
|
509
|
-
"status": "in progress"
|
|
510
|
-
}
|
|
511
|
-
[2025-03-21T01:47:16.421Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 622ms
|
|
512
|
-
[2025-03-21T01:47:16.619Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 819ms
|
|
513
|
-
[2025-03-21T01:47:16.638Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 836ms
|
|
514
|
-
[2025-03-21T01:47:16.638Z] [PID:29160] INFO: [ConcurrencyUtils] Batch processing completed
|
|
515
|
-
{
|
|
516
|
-
"totalItems": 3,
|
|
517
|
-
"successful": 3,
|
|
518
|
-
"failed": 0
|
|
519
|
-
}
|
|
520
|
-
[2025-03-21T01:47:21.758Z] [PID:29160] INFO: [Server] Received CallTool request for tool: move_bulk_tasks
|
|
521
|
-
{
|
|
522
|
-
"params": {
|
|
523
|
-
"tasks": [
|
|
524
|
-
{
|
|
525
|
-
"taskId": "86b4bqmzn"
|
|
526
|
-
},
|
|
527
|
-
{
|
|
528
|
-
"taskId": "86b4bqmzp"
|
|
529
|
-
},
|
|
530
|
-
{
|
|
531
|
-
"taskId": "86b4bqmzq"
|
|
532
|
-
}
|
|
533
|
-
],
|
|
534
|
-
"targetListId": "901408302788"
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
[2025-03-21T01:47:21.759Z] [PID:29160] INFO: [BulkService] Moving 3 tasks to list 901408302788
|
|
538
|
-
{}
|
|
539
|
-
[2025-03-21T01:47:21.759Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: validateListExists
|
|
540
|
-
{
|
|
541
|
-
"listId": "901408302788"
|
|
542
|
-
}
|
|
543
|
-
[2025-03-21T01:47:21.759Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
544
|
-
{
|
|
545
|
-
"listId": "901408302788"
|
|
546
|
-
}
|
|
547
|
-
[2025-03-21T01:47:22.204Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 445ms
|
|
548
|
-
[2025-03-21T01:47:22.204Z] [PID:29160] INFO: [ConcurrencyUtils] Starting batch processing of 3 items
|
|
549
|
-
{
|
|
550
|
-
"totalBatches": 1,
|
|
551
|
-
"batchSize": 10,
|
|
552
|
-
"concurrency": 3
|
|
553
|
-
}
|
|
554
|
-
[2025-03-21T01:47:22.204Z] [PID:29160] DEBUG: [ConcurrencyUtils] Processing batch 1/1
|
|
555
|
-
{
|
|
556
|
-
"batchSize": 3,
|
|
557
|
-
"startIdx": 0,
|
|
558
|
-
"endIdx": 3
|
|
559
|
-
}
|
|
560
|
-
[2025-03-21T01:47:22.205Z] [PID:29160] DEBUG: [BulkService] Moving task 1/3
|
|
561
|
-
{
|
|
562
|
-
"taskId": "86b4bqmzn",
|
|
563
|
-
"targetListId": "901408302788"
|
|
564
|
-
}
|
|
565
|
-
[2025-03-21T01:47:22.205Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: moveTask
|
|
566
|
-
{
|
|
567
|
-
"taskId": "86b4bqmzn",
|
|
568
|
-
"destinationListId": "901408302788"
|
|
569
|
-
}
|
|
570
|
-
[2025-03-21T01:47:22.205Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
571
|
-
{
|
|
572
|
-
"taskId": "86b4bqmzn"
|
|
573
|
-
}
|
|
574
|
-
[2025-03-21T01:47:22.205Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
575
|
-
{
|
|
576
|
-
"listId": "901408302788"
|
|
577
|
-
}
|
|
578
|
-
[2025-03-21T01:47:22.206Z] [PID:29160] DEBUG: [BulkService] Moving task 2/3
|
|
579
|
-
{
|
|
580
|
-
"taskId": "86b4bqmzp",
|
|
581
|
-
"targetListId": "901408302788"
|
|
582
|
-
}
|
|
583
|
-
[2025-03-21T01:47:22.206Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: moveTask
|
|
584
|
-
{
|
|
585
|
-
"taskId": "86b4bqmzp",
|
|
586
|
-
"destinationListId": "901408302788"
|
|
587
|
-
}
|
|
588
|
-
[2025-03-21T01:47:22.206Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
589
|
-
{
|
|
590
|
-
"taskId": "86b4bqmzp"
|
|
591
|
-
}
|
|
592
|
-
[2025-03-21T01:47:22.208Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
593
|
-
{
|
|
594
|
-
"listId": "901408302788"
|
|
595
|
-
}
|
|
596
|
-
[2025-03-21T01:47:22.210Z] [PID:29160] DEBUG: [BulkService] Moving task 3/3
|
|
597
|
-
{
|
|
598
|
-
"taskId": "86b4bqmzq",
|
|
599
|
-
"targetListId": "901408302788"
|
|
600
|
-
}
|
|
601
|
-
[2025-03-21T01:47:22.210Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: moveTask
|
|
602
|
-
{
|
|
603
|
-
"taskId": "86b4bqmzq",
|
|
604
|
-
"destinationListId": "901408302788"
|
|
605
|
-
}
|
|
606
|
-
[2025-03-21T01:47:22.210Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: getTask
|
|
607
|
-
{
|
|
608
|
-
"taskId": "86b4bqmzq"
|
|
609
|
-
}
|
|
610
|
-
[2025-03-21T01:47:22.212Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
611
|
-
{
|
|
612
|
-
"listId": "901408302788"
|
|
613
|
-
}
|
|
614
|
-
[2025-03-21T01:47:22.650Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 445ms
|
|
615
|
-
[2025-03-21T01:47:22.661Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 449ms
|
|
616
|
-
[2025-03-21T01:47:22.695Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 487ms
|
|
617
|
-
[2025-03-21T01:47:22.715Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 505ms
|
|
618
|
-
[2025-03-21T01:47:22.732Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 527ms
|
|
619
|
-
[2025-03-21T01:47:22.853Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 647ms
|
|
620
|
-
[2025-03-21T01:47:23.760Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 1045ms
|
|
621
|
-
[2025-03-21T01:47:23.889Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 1157ms
|
|
622
|
-
[2025-03-21T01:47:23.927Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 1074ms
|
|
623
|
-
[2025-03-21T01:47:23.928Z] [PID:29160] INFO: [ConcurrencyUtils] Batch processing completed
|
|
624
|
-
{
|
|
625
|
-
"totalItems": 3,
|
|
626
|
-
"successful": 3,
|
|
627
|
-
"failed": 0
|
|
628
|
-
}
|
|
629
|
-
[2025-03-21T01:47:38.312Z] [PID:29160] INFO: [Server] Received CallTool request for tool: delete_task
|
|
630
|
-
{
|
|
631
|
-
"params": {
|
|
632
|
-
"taskId": "86b4bqmyn"
|
|
633
|
-
}
|
|
634
|
-
}
|
|
635
|
-
[2025-03-21T01:47:38.314Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: deleteTask
|
|
636
|
-
{
|
|
637
|
-
"taskId": "86b4bqmyn"
|
|
638
|
-
}
|
|
639
|
-
[2025-03-21T01:47:38.890Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 576ms
|
|
640
|
-
[2025-03-21T01:47:48.062Z] [PID:29160] INFO: [Server] Received CallTool request for tool: delete_bulk_tasks
|
|
641
|
-
{
|
|
642
|
-
"params": {
|
|
643
|
-
"tasks": [
|
|
644
|
-
{
|
|
645
|
-
"taskId": "86b4bqn06"
|
|
646
|
-
},
|
|
647
|
-
{
|
|
648
|
-
"taskId": "86b4bqn07"
|
|
649
|
-
},
|
|
650
|
-
{
|
|
651
|
-
"taskId": "86b4bqn05"
|
|
652
|
-
}
|
|
653
|
-
]
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
[2025-03-21T01:47:48.063Z] [PID:29160] INFO: [BulkService] Deleting 3 tasks
|
|
657
|
-
{}
|
|
658
|
-
[2025-03-21T01:47:48.063Z] [PID:29160] INFO: [ConcurrencyUtils] Starting batch processing of 3 items
|
|
659
|
-
{
|
|
660
|
-
"totalBatches": 1,
|
|
661
|
-
"batchSize": 10,
|
|
662
|
-
"concurrency": 3
|
|
663
|
-
}
|
|
664
|
-
[2025-03-21T01:47:48.063Z] [PID:29160] DEBUG: [ConcurrencyUtils] Processing batch 1/1
|
|
665
|
-
{
|
|
666
|
-
"batchSize": 3,
|
|
667
|
-
"startIdx": 0,
|
|
668
|
-
"endIdx": 3
|
|
669
|
-
}
|
|
670
|
-
[2025-03-21T01:47:48.063Z] [PID:29160] DEBUG: [BulkService] Deleting task 1/3
|
|
671
|
-
{
|
|
672
|
-
"taskId": "86b4bqn06"
|
|
673
|
-
}
|
|
674
|
-
[2025-03-21T01:47:48.063Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: deleteTask
|
|
675
|
-
{
|
|
676
|
-
"taskId": "86b4bqn06"
|
|
677
|
-
}
|
|
678
|
-
[2025-03-21T01:47:48.064Z] [PID:29160] DEBUG: [BulkService] Deleting task 2/3
|
|
679
|
-
{
|
|
680
|
-
"taskId": "86b4bqn07"
|
|
681
|
-
}
|
|
682
|
-
[2025-03-21T01:47:48.065Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: deleteTask
|
|
683
|
-
{
|
|
684
|
-
"taskId": "86b4bqn07"
|
|
685
|
-
}
|
|
686
|
-
[2025-03-21T01:47:48.066Z] [PID:29160] DEBUG: [BulkService] Deleting task 3/3
|
|
687
|
-
{
|
|
688
|
-
"taskId": "86b4bqn05"
|
|
689
|
-
}
|
|
690
|
-
[2025-03-21T01:47:48.066Z] [PID:29160] INFO: [ClickUp:TaskService] Operation: deleteTask
|
|
691
|
-
{
|
|
692
|
-
"taskId": "86b4bqn05"
|
|
693
|
-
}
|
|
694
|
-
[2025-03-21T01:47:48.662Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 597ms
|
|
695
|
-
[2025-03-21T01:47:48.672Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 609ms
|
|
696
|
-
[2025-03-21T01:47:48.765Z] [PID:29160] DEBUG: [ClickUp:TaskService] Request completed successfully in 699ms
|
|
697
|
-
[2025-03-21T01:47:48.767Z] [PID:29160] INFO: [ConcurrencyUtils] Batch processing completed
|
|
698
|
-
{
|
|
699
|
-
"totalItems": 3,
|
|
700
|
-
"successful": 3,
|
|
701
|
-
"failed": 0
|
|
702
|
-
}
|
|
703
|
-
[2025-03-21T01:47:57.094Z] [PID:29160] INFO: [Server] Received CallTool request for tool: delete_list
|
|
704
|
-
{
|
|
705
|
-
"params": {
|
|
706
|
-
"listId": "901408302787"
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
[2025-03-21T01:47:57.095Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
710
|
-
{
|
|
711
|
-
"listId": "901408302787"
|
|
712
|
-
}
|
|
713
|
-
[2025-03-21T01:47:57.580Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 485ms
|
|
714
|
-
[2025-03-21T01:47:57.580Z] [PID:29160] INFO: [ClickUp:ListService] Operation: deleteList
|
|
715
|
-
{
|
|
716
|
-
"listId": "901408302787"
|
|
717
|
-
}
|
|
718
|
-
[2025-03-21T01:47:58.091Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 511ms
|
|
719
|
-
[2025-03-21T01:48:00.901Z] [PID:29160] INFO: [Server] Received CallTool request for tool: delete_list
|
|
720
|
-
{
|
|
721
|
-
"params": {
|
|
722
|
-
"listId": "901408302788"
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
[2025-03-21T01:48:00.901Z] [PID:29160] INFO: [ClickUp:ListService] Operation: getList
|
|
726
|
-
{
|
|
727
|
-
"listId": "901408302788"
|
|
728
|
-
}
|
|
729
|
-
[2025-03-21T01:48:01.262Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 361ms
|
|
730
|
-
[2025-03-21T01:48:01.263Z] [PID:29160] INFO: [ClickUp:ListService] Operation: deleteList
|
|
731
|
-
{
|
|
732
|
-
"listId": "901408302788"
|
|
733
|
-
}
|
|
734
|
-
[2025-03-21T01:48:01.669Z] [PID:29160] DEBUG: [ClickUp:ListService] Request completed successfully in 406ms
|
|
735
|
-
[2025-03-21T01:48:10.025Z] [PID:29160] INFO: [Server] Received CallTool request for tool: delete_folder
|
|
736
|
-
{
|
|
737
|
-
"params": {
|
|
738
|
-
"folderId": "90144393329"
|
|
739
|
-
}
|
|
740
|
-
}
|
|
741
|
-
[2025-03-21T01:48:10.025Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: getFolder
|
|
742
|
-
{
|
|
743
|
-
"folderId": "90144393329"
|
|
744
|
-
}
|
|
745
|
-
[2025-03-21T01:48:10.492Z] [PID:29160] INFO: [ClickUp:FolderService] Operation: deleteFolder
|
|
746
|
-
{
|
|
747
|
-
"folderId": "90144393329"
|
|
748
|
-
}
|
|
98
|
+
[2025-03-21T18:53:15.919Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 399ms
|
|
99
|
+
[2025-03-21T18:53:16.322Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 403ms
|
|
100
|
+
[2025-03-21T18:53:16.693Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 370ms
|
|
101
|
+
[2025-03-21T18:53:17.078Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 385ms
|
|
102
|
+
[2025-03-21T18:53:17.079Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Found 2 folderless lists in space 90141365861
|
|
103
|
+
[2025-03-21T18:53:17.079Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding 2 lists directly to space Talib's Space (90141365861)
|
|
104
|
+
[2025-03-21T18:53:17.079Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Personal List (901403617613)
|
|
105
|
+
[2025-03-21T18:53:17.079Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Work List (901403621899)
|
|
106
|
+
[2025-03-21T18:53:17.532Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 453ms
|
|
107
|
+
[2025-03-21T18:53:17.950Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 417ms
|
|
108
|
+
[2025-03-21T18:53:18.312Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 361ms
|
|
109
|
+
[2025-03-21T18:53:18.312Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Found 0 folderless lists in space 90141864154
|
|
110
|
+
[2025-03-21T18:53:18.312Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding 0 lists directly to space Education (90141864154)
|
|
111
|
+
[2025-03-21T18:53:18.683Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 371ms
|
|
112
|
+
[2025-03-21T18:53:19.187Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 504ms
|
|
113
|
+
[2025-03-21T18:53:19.187Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Found 1 folderless lists in space 90141369187
|
|
114
|
+
[2025-03-21T18:53:19.187Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding 1 lists directly to space Social Media Content (90141369187)
|
|
115
|
+
[2025-03-21T18:53:19.187Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: VibeCase (901403679582)
|
|
116
|
+
[2025-03-21T18:53:19.583Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 396ms
|
|
117
|
+
[2025-03-21T18:53:20.005Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 421ms
|
|
118
|
+
[2025-03-21T18:53:20.386Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 380ms
|
|
119
|
+
[2025-03-21T18:53:20.793Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 407ms
|
|
120
|
+
[2025-03-21T18:53:21.171Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 378ms
|
|
121
|
+
[2025-03-21T18:53:21.518Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 347ms
|
|
122
|
+
[2025-03-21T18:53:21.888Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 369ms
|
|
123
|
+
[2025-03-21T18:53:22.256Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 367ms
|
|
124
|
+
[2025-03-21T18:53:22.672Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 416ms
|
|
125
|
+
[2025-03-21T18:53:23.078Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 406ms
|
|
126
|
+
[2025-03-21T18:53:23.475Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 397ms
|
|
127
|
+
[2025-03-21T18:53:23.832Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Request completed successfully in 357ms
|
|
128
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Found 9 folderless lists in space 90141392755
|
|
129
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding 9 lists directly to space Custom Space (90141392755)
|
|
130
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Job Applications (901404823810)
|
|
131
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: goal-tracker (901408127809)
|
|
132
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Bulk Test List 1 (901408285531)
|
|
133
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Bulk Test List 2 (901408285532)
|
|
134
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Style Scraper (901408105509)
|
|
135
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Prompts | Snippets | Commands (901407112060)
|
|
136
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: cursor-rules-mcp-server (901408144363)
|
|
137
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: Items to Sell Online (901404691843)
|
|
138
|
+
[2025-03-21T18:53:23.833Z] [PID:44431] DEBUG: [ClickUp:WorkspaceService] Adding list directly to space: clickup-mcp-server (901408020907)
|
|
139
|
+
[2025-03-21T18:53:29.131Z] [PID:44431] INFO: [Server] Received CallTool request for tool: create_task
|
|
140
|
+
{
|
|
141
|
+
"params": {
|
|
142
|
+
"name": "🧪 Test task for sponsor message",
|
|
143
|
+
"listName": "Bulk Test List 1",
|
|
144
|
+
"description": "This is a test task to verify sponsor message positioning"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
[2025-03-21T18:53:29.131Z] [PID:44431] INFO: [ClickUp:TaskService] Operation: createTask
|
|
148
|
+
{
|
|
149
|
+
"listId": "901408285531",
|
|
150
|
+
"name": "🧪 Test task for sponsor message",
|
|
151
|
+
"description": "This is a test task to verify sponsor message positioning"
|
|
152
|
+
}
|
|
153
|
+
[2025-03-21T18:53:29.779Z] [PID:44431] DEBUG: [ClickUp:TaskService] Request completed successfully in 648ms
|
|
154
|
+
[2025-03-21T18:53:49.644Z] [PID:44431] INFO: [Server] Received CallTool request for tool: get_task
|
|
155
|
+
{
|
|
156
|
+
"params": {
|
|
157
|
+
"taskId": "86b4c2nqd"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
[2025-03-21T18:53:49.644Z] [PID:44431] INFO: [ClickUp:TaskService] Operation: getTask
|
|
161
|
+
{
|
|
162
|
+
"taskId": "86b4c2nqd"
|
|
163
|
+
}
|
|
164
|
+
[2025-03-21T18:53:50.129Z] [PID:44431] DEBUG: [ClickUp:TaskService] Request completed successfully in 485ms
|
|
@@ -204,6 +204,32 @@ export class TaskService extends BaseClickUpService {
|
|
|
204
204
|
throw this.handleError(error, `Failed to get task ${taskId}`);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Get a specific task by its custom ID
|
|
209
|
+
* @param customTaskId The custom ID of the task (e.g., "DEV-1234")
|
|
210
|
+
* @param listId Optional list ID to search within for better performance
|
|
211
|
+
* @returns The task details
|
|
212
|
+
*/
|
|
213
|
+
async getTaskByCustomId(customTaskId, listId) {
|
|
214
|
+
this.logOperation('getTaskByCustomId', { customTaskId, listId });
|
|
215
|
+
try {
|
|
216
|
+
return await this.makeRequest(async () => {
|
|
217
|
+
// Build query with custom_task_ids=true
|
|
218
|
+
const params = new URLSearchParams({ custom_task_ids: 'true' });
|
|
219
|
+
// Use the ClickUp API endpoint for retrieving tasks by ID
|
|
220
|
+
// With custom_task_ids=true parameter, it will treat the ID as a custom ID
|
|
221
|
+
const response = await this.client.get(`/task/${customTaskId}?${params.toString()}`);
|
|
222
|
+
return response.data;
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
// Enhance error message for custom ID lookups
|
|
227
|
+
if (error?.response?.status === 404) {
|
|
228
|
+
throw this.handleError(error, `Task with custom ID ${customTaskId} not found`);
|
|
229
|
+
}
|
|
230
|
+
throw this.handleError(error, `Failed to get task with custom ID ${customTaskId}`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
207
233
|
/**
|
|
208
234
|
* Update an existing task
|
|
209
235
|
* @param taskId ID of the task to update
|
|
@@ -47,7 +47,7 @@ const bulkOptionsSchema = {
|
|
|
47
47
|
const taskIdentifierSchema = {
|
|
48
48
|
taskId: {
|
|
49
49
|
type: "string",
|
|
50
|
-
description: "Task ID (preferred).
|
|
50
|
+
description: "Task ID (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
51
51
|
},
|
|
52
52
|
taskName: {
|
|
53
53
|
type: "string",
|
|
@@ -56,6 +56,10 @@ const taskIdentifierSchema = {
|
|
|
56
56
|
listName: {
|
|
57
57
|
type: "string",
|
|
58
58
|
description: "REQUIRED with taskName: List containing the task."
|
|
59
|
+
},
|
|
60
|
+
customTaskId: {
|
|
61
|
+
type: "string",
|
|
62
|
+
description: "Custom task ID (e.g., 'DEV-1234'). Only use if you want to explicitly force custom ID lookup. In most cases, use taskId which auto-detects ID format."
|
|
59
63
|
}
|
|
60
64
|
};
|
|
61
65
|
//=============================================================================
|
|
@@ -38,9 +38,9 @@ function buildUpdateData(params) {
|
|
|
38
38
|
/**
|
|
39
39
|
* Process a task identification validation, returning the task ID
|
|
40
40
|
*/
|
|
41
|
-
async function getTaskId(taskId, taskName, listName) {
|
|
42
|
-
validateTaskIdentification(taskId, taskName, listName);
|
|
43
|
-
return await resolveTaskIdWithValidation(taskId, taskName, listName);
|
|
41
|
+
async function getTaskId(taskId, taskName, listName, customTaskId) {
|
|
42
|
+
validateTaskIdentification(taskId, taskName, listName, customTaskId);
|
|
43
|
+
return await resolveTaskIdWithValidation(taskId, taskName, listName, customTaskId);
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Process a list identification validation, returning the list ID
|
|
@@ -72,8 +72,8 @@ function buildTaskFilters(params) {
|
|
|
72
72
|
*/
|
|
73
73
|
async function mapTaskIds(tasks) {
|
|
74
74
|
return Promise.all(tasks.map(async (task) => {
|
|
75
|
-
validateTaskIdentification(task.taskId, task.taskName, task.listName);
|
|
76
|
-
return await resolveTaskIdWithValidation(task.taskId, task.taskName, task.listName);
|
|
75
|
+
validateTaskIdentification(task.taskId, task.taskName, task.listName, task.customTaskId);
|
|
76
|
+
return await resolveTaskIdWithValidation(task.taskId, task.taskName, task.listName, task.customTaskId);
|
|
77
77
|
}));
|
|
78
78
|
}
|
|
79
79
|
//=============================================================================
|
|
@@ -129,7 +129,8 @@ export async function duplicateTaskHandler(params) {
|
|
|
129
129
|
* Handler for getting a task
|
|
130
130
|
*/
|
|
131
131
|
export async function getTaskHandler(params) {
|
|
132
|
-
|
|
132
|
+
// resolveTaskIdWithValidation now auto-detects whether taskId is a regular ID or custom ID
|
|
133
|
+
const taskId = await getTaskId(params.taskId, params.taskName, params.listName, params.customTaskId);
|
|
133
134
|
return await taskService.getTask(taskId);
|
|
134
135
|
}
|
|
135
136
|
/**
|
|
@@ -119,7 +119,7 @@ Notes:
|
|
|
119
119
|
properties: {
|
|
120
120
|
taskId: {
|
|
121
121
|
type: "string",
|
|
122
|
-
description: "ID of the task to update (preferred).
|
|
122
|
+
description: "ID of the task to update (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
123
123
|
},
|
|
124
124
|
taskName: {
|
|
125
125
|
type: "string",
|
|
@@ -181,7 +181,7 @@ Warning:
|
|
|
181
181
|
properties: {
|
|
182
182
|
taskId: {
|
|
183
183
|
type: "string",
|
|
184
|
-
description: "ID of the task to move (preferred).
|
|
184
|
+
description: "ID of the task to move (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
185
185
|
},
|
|
186
186
|
taskName: {
|
|
187
187
|
type: "string",
|
|
@@ -228,7 +228,7 @@ Warning:
|
|
|
228
228
|
properties: {
|
|
229
229
|
taskId: {
|
|
230
230
|
type: "string",
|
|
231
|
-
description: "ID of task to duplicate (preferred).
|
|
231
|
+
description: "ID of task to duplicate (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
232
232
|
},
|
|
233
233
|
taskName: {
|
|
234
234
|
type: "string",
|
|
@@ -258,20 +258,24 @@ export const getTaskTool = {
|
|
|
258
258
|
description: `Purpose: Retrieve detailed information about a specific task.
|
|
259
259
|
|
|
260
260
|
Valid Usage:
|
|
261
|
-
1. Use taskId alone (preferred)
|
|
261
|
+
1. Use taskId alone (preferred) - works with both regular and custom IDs (like "DEV-1234")
|
|
262
262
|
2. Use taskName + listName
|
|
263
|
+
3. Use customTaskId for explicit custom ID lookup
|
|
263
264
|
|
|
264
265
|
Requirements:
|
|
265
266
|
- When using taskName, listName is REQUIRED
|
|
267
|
+
- When using customTaskId, listName is recommended for faster lookup
|
|
266
268
|
|
|
267
269
|
Note:
|
|
268
|
-
- Task names are only unique within a list, so the system needs to know which list to search in
|
|
270
|
+
- Task names are only unique within a list, so the system needs to know which list to search in
|
|
271
|
+
- Regular task IDs are always 9 characters long (e.g., "86b394eqa")
|
|
272
|
+
- Custom IDs have an uppercase prefix followed by a hyphen and number (e.g., "DEV-1234")`,
|
|
269
273
|
inputSchema: {
|
|
270
274
|
type: "object",
|
|
271
275
|
properties: {
|
|
272
276
|
taskId: {
|
|
273
277
|
type: "string",
|
|
274
|
-
description: "ID of task to retrieve (preferred).
|
|
278
|
+
description: "ID of task to retrieve (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234'). The system automatically detects the ID format."
|
|
275
279
|
},
|
|
276
280
|
taskName: {
|
|
277
281
|
type: "string",
|
|
@@ -280,6 +284,10 @@ Note:
|
|
|
280
284
|
listName: {
|
|
281
285
|
type: "string",
|
|
282
286
|
description: "Name of list containing the task. REQUIRED when using taskName."
|
|
287
|
+
},
|
|
288
|
+
customTaskId: {
|
|
289
|
+
type: "string",
|
|
290
|
+
description: "Custom task ID (e.g., 'DEV-1234'). Only use this if you want to explicitly force custom ID lookup. In most cases, you can just use taskId which auto-detects ID format."
|
|
283
291
|
}
|
|
284
292
|
},
|
|
285
293
|
required: []
|
|
@@ -365,7 +373,7 @@ Warning:
|
|
|
365
373
|
properties: {
|
|
366
374
|
taskId: {
|
|
367
375
|
type: "string",
|
|
368
|
-
description: "ID of task to delete (preferred).
|
|
376
|
+
description: "ID of task to delete (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
369
377
|
},
|
|
370
378
|
taskName: {
|
|
371
379
|
type: "string",
|
|
@@ -398,7 +406,7 @@ Notes:
|
|
|
398
406
|
properties: {
|
|
399
407
|
taskId: {
|
|
400
408
|
type: "string",
|
|
401
|
-
description: "ID of task to retrieve comments for (preferred).
|
|
409
|
+
description: "ID of task to retrieve comments for (preferred). Works with both regular task IDs (9 characters) and custom IDs with uppercase prefixes (like 'DEV-1234')."
|
|
402
410
|
},
|
|
403
411
|
taskName: {
|
|
404
412
|
type: "string",
|
|
@@ -32,14 +32,14 @@ export function formatTaskData(task, additional = {}) {
|
|
|
32
32
|
//=============================================================================
|
|
33
33
|
/**
|
|
34
34
|
* Validates task identification parameters
|
|
35
|
-
* Ensures either taskId
|
|
35
|
+
* Ensures either taskId, customTaskId, or both taskName and listName are provided
|
|
36
36
|
*/
|
|
37
|
-
export function validateTaskIdentification(taskId, taskName, listName) {
|
|
38
|
-
if (!taskId && !taskName) {
|
|
39
|
-
throw new Error("Either taskId or taskName must be provided");
|
|
37
|
+
export function validateTaskIdentification(taskId, taskName, listName, customTaskId) {
|
|
38
|
+
if (!taskId && !taskName && !customTaskId) {
|
|
39
|
+
throw new Error("Either taskId, customTaskId, or taskName must be provided");
|
|
40
40
|
}
|
|
41
|
-
if (!taskId && taskName && !listName) {
|
|
42
|
-
throw new Error("
|
|
41
|
+
if (!taskId && !customTaskId && taskName && !listName) {
|
|
42
|
+
throw new Error("listName is required when using taskName");
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
@@ -84,18 +84,79 @@ export function parseBulkOptions(rawOptions) {
|
|
|
84
84
|
return rawOptions;
|
|
85
85
|
}
|
|
86
86
|
//=============================================================================
|
|
87
|
+
// ID DETECTION UTILITIES
|
|
88
|
+
//=============================================================================
|
|
89
|
+
/**
|
|
90
|
+
* Determines if an ID is a custom ID based on its format
|
|
91
|
+
* Custom IDs typically have an uppercase prefix followed by a hyphen and number (e.g., DEV-1234)
|
|
92
|
+
* Regular task IDs are always 9 characters long
|
|
93
|
+
*
|
|
94
|
+
* @param id The task ID to check
|
|
95
|
+
* @returns True if the ID appears to be a custom ID
|
|
96
|
+
*/
|
|
97
|
+
export function isCustomTaskId(id) {
|
|
98
|
+
if (!id)
|
|
99
|
+
return false;
|
|
100
|
+
// Regular task IDs are exactly 9 characters
|
|
101
|
+
if (id.length === 9) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
// Custom IDs have an uppercase prefix followed by a hyphen and numbers
|
|
105
|
+
const customIdPattern = /^[A-Z]+-\d+$/;
|
|
106
|
+
return customIdPattern.test(id);
|
|
107
|
+
}
|
|
108
|
+
//=============================================================================
|
|
87
109
|
// ID RESOLUTION UTILITIES
|
|
88
110
|
//=============================================================================
|
|
89
111
|
/**
|
|
90
|
-
* Resolves a task ID from
|
|
112
|
+
* Resolves a task ID from direct ID, custom ID, or name
|
|
91
113
|
* Handles validation and throws appropriate errors
|
|
92
114
|
*/
|
|
93
|
-
export async function resolveTaskIdWithValidation(taskId, taskName, listName) {
|
|
115
|
+
export async function resolveTaskIdWithValidation(taskId, taskName, listName, customTaskId) {
|
|
94
116
|
// Validate parameters
|
|
95
|
-
validateTaskIdentification(taskId, taskName, listName);
|
|
96
|
-
// If
|
|
97
|
-
if (
|
|
117
|
+
validateTaskIdentification(taskId, taskName, listName, customTaskId);
|
|
118
|
+
// If customTaskId is explicitly provided, use it
|
|
119
|
+
if (customTaskId) {
|
|
120
|
+
const { task: taskService } = clickUpServices;
|
|
121
|
+
try {
|
|
122
|
+
// First try to get the task by custom ID
|
|
123
|
+
// If listName is provided, we can also look up in a specific list for better performance
|
|
124
|
+
let listId;
|
|
125
|
+
if (listName) {
|
|
126
|
+
listId = await resolveListIdWithValidation(undefined, listName);
|
|
127
|
+
}
|
|
128
|
+
// Look up by custom ID
|
|
129
|
+
const foundTask = await taskService.getTaskByCustomId(customTaskId, listId);
|
|
130
|
+
return foundTask.id;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
throw new Error(`Task with custom ID "${customTaskId}" not found`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// If taskId is provided, check if it looks like a custom ID
|
|
137
|
+
if (taskId) {
|
|
138
|
+
if (isCustomTaskId(taskId)) {
|
|
139
|
+
console.log(`Detected task ID "${taskId}" as a custom ID, using custom ID lookup`);
|
|
140
|
+
// If it looks like a custom ID, try to get it as a custom ID first
|
|
141
|
+
const { task: taskService } = clickUpServices;
|
|
142
|
+
try {
|
|
143
|
+
// Look up by custom ID
|
|
144
|
+
let listId;
|
|
145
|
+
if (listName) {
|
|
146
|
+
listId = await resolveListIdWithValidation(undefined, listName);
|
|
147
|
+
}
|
|
148
|
+
const foundTask = await taskService.getTaskByCustomId(taskId, listId);
|
|
149
|
+
return foundTask.id;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
// If it fails as a custom ID, try as a regular ID
|
|
153
|
+
console.log(`Failed to find task with custom ID "${taskId}", falling back to regular ID`);
|
|
154
|
+
return taskId;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Regular task ID
|
|
98
158
|
return taskId;
|
|
159
|
+
}
|
|
99
160
|
// At this point we know we have taskName and listName (validation ensures this)
|
|
100
161
|
// Find the list ID from its name
|
|
101
162
|
const listId = await resolveListIdWithValidation(undefined, listName);
|
|
@@ -30,16 +30,35 @@ export class SponsorService {
|
|
|
30
30
|
*/
|
|
31
31
|
createResponse(data, includeSponsorMessage = false) {
|
|
32
32
|
const content = [];
|
|
33
|
+
// Special handling for workspace hierarchy which contains a preformatted tree
|
|
34
|
+
if (data && typeof data === 'object' && 'hierarchy' in data && typeof data.hierarchy === 'string') {
|
|
35
|
+
// Handle workspace hierarchy specially - it contains a preformatted tree
|
|
36
|
+
content.push({
|
|
37
|
+
type: "text",
|
|
38
|
+
text: data.hierarchy
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else if (typeof data === 'string') {
|
|
42
|
+
// If it's already a string, use it directly
|
|
43
|
+
content.push({
|
|
44
|
+
type: "text",
|
|
45
|
+
text: data
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// Otherwise, stringify the JSON object
|
|
50
|
+
content.push({
|
|
51
|
+
type: "text",
|
|
52
|
+
text: JSON.stringify(data, null, 2)
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// Then add sponsorship message if enabled
|
|
33
56
|
if (this.isEnabled && includeSponsorMessage) {
|
|
34
57
|
content.push({
|
|
35
58
|
type: "text",
|
|
36
|
-
text:
|
|
59
|
+
text: `\n\n❤️ Support this project by sponsoring the developer at ${this.sponsorUrl}`
|
|
37
60
|
});
|
|
38
61
|
}
|
|
39
|
-
content.push({
|
|
40
|
-
type: "text",
|
|
41
|
-
text: JSON.stringify(data, null, 2)
|
|
42
|
-
});
|
|
43
62
|
return { content };
|
|
44
63
|
}
|
|
45
64
|
/**
|
package/package.json
CHANGED