@chykalophia/clickup-mcp-server 3.2.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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +467 -0
  3. package/bin/clickup-mcp-server-ai.js +9 -0
  4. package/bin/clickup-mcp-server-basic.js +9 -0
  5. package/bin/clickup-mcp-server-efficiency.js +9 -0
  6. package/bin/clickup-mcp-server-enhanced.js +9 -0
  7. package/build/app.d.ts +1 -0
  8. package/build/app.js +2 -0
  9. package/build/app.js.map +1 -0
  10. package/build/clickup-client/attachments-enhanced.d.ts +128 -0
  11. package/build/clickup-client/attachments-enhanced.js +212 -0
  12. package/build/clickup-client/attachments-enhanced.js.map +1 -0
  13. package/build/clickup-client/auth.d.ts +254 -0
  14. package/build/clickup-client/auth.js +105 -0
  15. package/build/clickup-client/auth.js.map +1 -0
  16. package/build/clickup-client/chat-enhanced.d.ts +141 -0
  17. package/build/clickup-client/chat-enhanced.js +196 -0
  18. package/build/clickup-client/chat-enhanced.js.map +1 -0
  19. package/build/clickup-client/checklists.d.ts +87 -0
  20. package/build/clickup-client/checklists.js +63 -0
  21. package/build/clickup-client/checklists.js.map +1 -0
  22. package/build/clickup-client/comments-enhanced.d.ts +176 -0
  23. package/build/clickup-client/comments-enhanced.js +230 -0
  24. package/build/clickup-client/comments-enhanced.js.map +1 -0
  25. package/build/clickup-client/comments.d.ts +173 -0
  26. package/build/clickup-client/comments.js +312 -0
  27. package/build/clickup-client/comments.js.map +1 -0
  28. package/build/clickup-client/custom-fields-enhanced.d.ts +286 -0
  29. package/build/clickup-client/custom-fields-enhanced.js +416 -0
  30. package/build/clickup-client/custom-fields-enhanced.js.map +1 -0
  31. package/build/clickup-client/dependencies-enhanced.d.ts +144 -0
  32. package/build/clickup-client/dependencies-enhanced.js +142 -0
  33. package/build/clickup-client/dependencies-enhanced.js.map +1 -0
  34. package/build/clickup-client/docs-enhanced.d.ts +176 -0
  35. package/build/clickup-client/docs-enhanced.js +374 -0
  36. package/build/clickup-client/docs-enhanced.js.map +1 -0
  37. package/build/clickup-client/docs.d.ts +84 -0
  38. package/build/clickup-client/docs.js +156 -0
  39. package/build/clickup-client/docs.js.map +1 -0
  40. package/build/clickup-client/folders.d.ts +62 -0
  41. package/build/clickup-client/folders.js +53 -0
  42. package/build/clickup-client/folders.js.map +1 -0
  43. package/build/clickup-client/goals-enhanced.d.ts +163 -0
  44. package/build/clickup-client/goals-enhanced.js +309 -0
  45. package/build/clickup-client/goals-enhanced.js.map +1 -0
  46. package/build/clickup-client/index.d.ts +16 -0
  47. package/build/clickup-client/index.js +61 -0
  48. package/build/clickup-client/index.js.map +1 -0
  49. package/build/clickup-client/lists.d.ts +105 -0
  50. package/build/clickup-client/lists.js +108 -0
  51. package/build/clickup-client/lists.js.map +1 -0
  52. package/build/clickup-client/secure-client.d.ts +88 -0
  53. package/build/clickup-client/secure-client.js +275 -0
  54. package/build/clickup-client/secure-client.js.map +1 -0
  55. package/build/clickup-client/spaces.d.ts +58 -0
  56. package/build/clickup-client/spaces.js +28 -0
  57. package/build/clickup-client/spaces.js.map +1 -0
  58. package/build/clickup-client/tasks.d.ts +161 -0
  59. package/build/clickup-client/tasks.js +99 -0
  60. package/build/clickup-client/tasks.js.map +1 -0
  61. package/build/clickup-client/time-tracking-enhanced.d.ts +153 -0
  62. package/build/clickup-client/time-tracking-enhanced.js +292 -0
  63. package/build/clickup-client/time-tracking-enhanced.js.map +1 -0
  64. package/build/clickup-client/views-enhanced.d.ts +149 -0
  65. package/build/clickup-client/views-enhanced.js +210 -0
  66. package/build/clickup-client/views-enhanced.js.map +1 -0
  67. package/build/clickup-client/webhooks-enhanced.d.ts +119 -0
  68. package/build/clickup-client/webhooks-enhanced.js +169 -0
  69. package/build/clickup-client/webhooks-enhanced.js.map +1 -0
  70. package/build/controllers/lists.controller.d.ts +1 -0
  71. package/build/controllers/lists.controller.js +2 -0
  72. package/build/controllers/lists.controller.js.map +1 -0
  73. package/build/index-efficiency-simple.d.ts +2 -0
  74. package/build/index-efficiency-simple.js +379 -0
  75. package/build/index-efficiency-simple.js.map +1 -0
  76. package/build/index-enhanced-efficiency.d.ts +2 -0
  77. package/build/index-enhanced-efficiency.js +275 -0
  78. package/build/index-enhanced-efficiency.js.map +1 -0
  79. package/build/index-enhanced.d.ts +2 -0
  80. package/build/index-enhanced.js +74 -0
  81. package/build/index-enhanced.js.map +1 -0
  82. package/build/index.d.ts +2 -0
  83. package/build/index.js +77 -0
  84. package/build/index.js.map +1 -0
  85. package/build/resources/checklist-resources.d.ts +2 -0
  86. package/build/resources/checklist-resources.js +102 -0
  87. package/build/resources/checklist-resources.js.map +1 -0
  88. package/build/resources/comment-resources.d.ts +2 -0
  89. package/build/resources/comment-resources.js +152 -0
  90. package/build/resources/comment-resources.js.map +1 -0
  91. package/build/resources/doc-resources.d.ts +2 -0
  92. package/build/resources/doc-resources.js +77 -0
  93. package/build/resources/doc-resources.js.map +1 -0
  94. package/build/resources/folder-resources.d.ts +2 -0
  95. package/build/resources/folder-resources.js +160 -0
  96. package/build/resources/folder-resources.js.map +1 -0
  97. package/build/resources/list-resources.d.ts +2 -0
  98. package/build/resources/list-resources.js +104 -0
  99. package/build/resources/list-resources.js.map +1 -0
  100. package/build/resources/space-resources.d.ts +2 -0
  101. package/build/resources/space-resources.js +104 -0
  102. package/build/resources/space-resources.js.map +1 -0
  103. package/build/resources/task-resources.d.ts +2 -0
  104. package/build/resources/task-resources.js +57 -0
  105. package/build/resources/task-resources.js.map +1 -0
  106. package/build/routes/lists.routes.d.ts +1 -0
  107. package/build/routes/lists.routes.js +2 -0
  108. package/build/routes/lists.routes.js.map +1 -0
  109. package/build/schemas/attachments-schemas.d.ts +201 -0
  110. package/build/schemas/attachments-schemas.js +250 -0
  111. package/build/schemas/attachments-schemas.js.map +1 -0
  112. package/build/schemas/chat-schemas.d.ts +478 -0
  113. package/build/schemas/chat-schemas.js +173 -0
  114. package/build/schemas/chat-schemas.js.map +1 -0
  115. package/build/schemas/custom-field-schemas.d.ts +1617 -0
  116. package/build/schemas/custom-field-schemas.js +384 -0
  117. package/build/schemas/custom-field-schemas.js.map +1 -0
  118. package/build/schemas/dependencies-schemas.d.ts +274 -0
  119. package/build/schemas/dependencies-schemas.js +176 -0
  120. package/build/schemas/dependencies-schemas.js.map +1 -0
  121. package/build/schemas/document-schemas.d.ts +433 -0
  122. package/build/schemas/document-schemas.js +168 -0
  123. package/build/schemas/document-schemas.js.map +1 -0
  124. package/build/schemas/goals-schemas.d.ts +961 -0
  125. package/build/schemas/goals-schemas.js +293 -0
  126. package/build/schemas/goals-schemas.js.map +1 -0
  127. package/build/schemas/time-tracking-schemas.d.ts +741 -0
  128. package/build/schemas/time-tracking-schemas.js +234 -0
  129. package/build/schemas/time-tracking-schemas.js.map +1 -0
  130. package/build/schemas/views-schemas.d.ts +1168 -0
  131. package/build/schemas/views-schemas.js +221 -0
  132. package/build/schemas/views-schemas.js.map +1 -0
  133. package/build/schemas/webhook-schemas.d.ts +1127 -0
  134. package/build/schemas/webhook-schemas.js +137 -0
  135. package/build/schemas/webhook-schemas.js.map +1 -0
  136. package/build/services/lists.service.d.ts +1 -0
  137. package/build/services/lists.service.js +2 -0
  138. package/build/services/lists.service.js.map +1 -0
  139. package/build/tools/attachments-tools-setup.d.ts +2 -0
  140. package/build/tools/attachments-tools-setup.js +387 -0
  141. package/build/tools/attachments-tools-setup.js.map +1 -0
  142. package/build/tools/chat-tools-enhanced.d.ts +5 -0
  143. package/build/tools/chat-tools-enhanced.js +396 -0
  144. package/build/tools/chat-tools-enhanced.js.map +1 -0
  145. package/build/tools/chat-tools.d.ts +2 -0
  146. package/build/tools/chat-tools.js +614 -0
  147. package/build/tools/chat-tools.js.map +1 -0
  148. package/build/tools/checklist-tools.d.ts +2 -0
  149. package/build/tools/checklist-tools.js +139 -0
  150. package/build/tools/checklist-tools.js.map +1 -0
  151. package/build/tools/comment-tools.d.ts +2 -0
  152. package/build/tools/comment-tools.js +295 -0
  153. package/build/tools/comment-tools.js.map +1 -0
  154. package/build/tools/custom-field-tools.d.ts +2 -0
  155. package/build/tools/custom-field-tools.js +578 -0
  156. package/build/tools/custom-field-tools.js.map +1 -0
  157. package/build/tools/dependencies-tools-setup.d.ts +2 -0
  158. package/build/tools/dependencies-tools-setup.js +319 -0
  159. package/build/tools/dependencies-tools-setup.js.map +1 -0
  160. package/build/tools/doc-tools-enhanced.d.ts +2 -0
  161. package/build/tools/doc-tools-enhanced.js +417 -0
  162. package/build/tools/doc-tools-enhanced.js.map +1 -0
  163. package/build/tools/doc-tools.d.ts +2 -0
  164. package/build/tools/doc-tools.js +109 -0
  165. package/build/tools/doc-tools.js.map +1 -0
  166. package/build/tools/goals-tools.d.ts +2 -0
  167. package/build/tools/goals-tools.js +422 -0
  168. package/build/tools/goals-tools.js.map +1 -0
  169. package/build/tools/helper-tools.d.ts +2 -0
  170. package/build/tools/helper-tools.js +363 -0
  171. package/build/tools/helper-tools.js.map +1 -0
  172. package/build/tools/space-tools.d.ts +2 -0
  173. package/build/tools/space-tools.js +45 -0
  174. package/build/tools/space-tools.js.map +1 -0
  175. package/build/tools/task-tools.d.ts +2 -0
  176. package/build/tools/task-tools.js +415 -0
  177. package/build/tools/task-tools.js.map +1 -0
  178. package/build/tools/time-tracking-tools.d.ts +2 -0
  179. package/build/tools/time-tracking-tools.js +329 -0
  180. package/build/tools/time-tracking-tools.js.map +1 -0
  181. package/build/tools/views-tools-setup.d.ts +2 -0
  182. package/build/tools/views-tools-setup.js +358 -0
  183. package/build/tools/views-tools-setup.js.map +1 -0
  184. package/build/tools/webhook-tools-setup.d.ts +2 -0
  185. package/build/tools/webhook-tools-setup.js +304 -0
  186. package/build/tools/webhook-tools-setup.js.map +1 -0
  187. package/build/tools/webhook-tools.d.ts +4 -0
  188. package/build/tools/webhook-tools.js +345 -0
  189. package/build/tools/webhook-tools.js.map +1 -0
  190. package/build/utils/clickup-comment-formatter.d.ts +124 -0
  191. package/build/utils/clickup-comment-formatter.js +504 -0
  192. package/build/utils/clickup-comment-formatter.js.map +1 -0
  193. package/build/utils/context-aware-suggestions.d.ts +45 -0
  194. package/build/utils/context-aware-suggestions.js +360 -0
  195. package/build/utils/context-aware-suggestions.js.map +1 -0
  196. package/build/utils/error-handling.d.ts +140 -0
  197. package/build/utils/error-handling.js +392 -0
  198. package/build/utils/error-handling.js.map +1 -0
  199. package/build/utils/markdown-styling.d.ts +40 -0
  200. package/build/utils/markdown-styling.js +344 -0
  201. package/build/utils/markdown-styling.js.map +1 -0
  202. package/build/utils/markdown.d.ts +54 -0
  203. package/build/utils/markdown.js +243 -0
  204. package/build/utils/markdown.js.map +1 -0
  205. package/build/utils/security.d.ts +79 -0
  206. package/build/utils/security.js +303 -0
  207. package/build/utils/security.js.map +1 -0
  208. package/build/utils/tool-efficiency.d.ts +59 -0
  209. package/build/utils/tool-efficiency.js +247 -0
  210. package/build/utils/tool-efficiency.js.map +1 -0
  211. package/package.json +130 -0
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ // Base webhook relationship schema
3
+ export const WebhookRelationshipSchema = z.object({
4
+ type: z.string(),
5
+ object_type: z.string(),
6
+ object_id: z.union([z.string(), z.number()]),
7
+ workspace_id: z.string()
8
+ });
9
+ // Webhook change schema
10
+ export const WebhookChangeSchema = z.object({
11
+ field: z.string(),
12
+ before: z.any().optional(),
13
+ after: z.any().optional()
14
+ });
15
+ // Audit context schema
16
+ export const AuditContextSchema = z.object({
17
+ userid: z.number(),
18
+ current_time: z.number(),
19
+ route: z.string()
20
+ });
21
+ // Webhook context schema
22
+ export const WebhookContextSchema = z.object({
23
+ root_parent_type: z.number(),
24
+ is_chat: z.boolean(),
25
+ audit_context: AuditContextSchema,
26
+ originating_service: z.string()
27
+ });
28
+ // Webhook version data schema
29
+ export const WebhookVersionDataSchema = z.object({
30
+ context: WebhookContextSchema,
31
+ relationships: z.array(WebhookRelationshipSchema),
32
+ changes: z.array(WebhookChangeSchema)
33
+ });
34
+ // Webhook version schema
35
+ export const WebhookVersionSchema = z.object({
36
+ object_type: z.string(),
37
+ object_id: z.union([z.string(), z.number()]),
38
+ workspace_id: z.number(),
39
+ operation: z.enum(['c', 'u', 'd']), // create, update, delete
40
+ data: WebhookVersionDataSchema,
41
+ master_id: z.number(),
42
+ version: z.number(),
43
+ deleted: z.boolean(),
44
+ traceparent: z.string(),
45
+ date_created: z.number(),
46
+ date_updated: z.number(),
47
+ event_publish_time: z.number()
48
+ });
49
+ // Main webhook payload schema
50
+ export const WebhookPayloadSchema = z.object({
51
+ id: z.number(),
52
+ hist_id: z.string(),
53
+ date: z.number(),
54
+ version: WebhookVersionSchema
55
+ });
56
+ // Webhook configuration schemas
57
+ export const WebhookEventSchema = z.enum([
58
+ 'taskCreated',
59
+ 'taskUpdated',
60
+ 'taskDeleted',
61
+ 'taskStatusUpdated',
62
+ 'taskAssigneeUpdated',
63
+ 'taskDueDateUpdated',
64
+ 'taskCommentPosted',
65
+ 'taskCommentUpdated',
66
+ 'taskTimeTracked',
67
+ 'taskTimeUpdated',
68
+ 'listCreated',
69
+ 'listUpdated',
70
+ 'listDeleted',
71
+ 'folderCreated',
72
+ 'folderUpdated',
73
+ 'folderDeleted',
74
+ 'spaceCreated',
75
+ 'spaceUpdated',
76
+ 'spaceDeleted',
77
+ 'goalCreated',
78
+ 'goalUpdated',
79
+ 'goalDeleted',
80
+ 'goalTargetUpdated'
81
+ ]);
82
+ export const CreateWebhookSchema = z.object({
83
+ workspace_id: z.string(),
84
+ endpoint: z.string().url(),
85
+ events: z.array(WebhookEventSchema),
86
+ health_check_url: z.string().url().optional(),
87
+ secret: z.string().optional()
88
+ });
89
+ export const UpdateWebhookSchema = z.object({
90
+ webhook_id: z.string(),
91
+ endpoint: z.string().url().optional(),
92
+ events: z.array(WebhookEventSchema).optional(),
93
+ health_check_url: z.string().url().optional(),
94
+ secret: z.string().optional(),
95
+ status: z.enum(['active', 'inactive']).optional()
96
+ });
97
+ export const WebhookFilterSchema = z.object({
98
+ workspace_id: z.string(),
99
+ status: z.enum(['active', 'inactive']).optional(),
100
+ event_type: WebhookEventSchema.optional()
101
+ });
102
+ // Webhook signature validation schema
103
+ export const ValidateWebhookSignatureSchema = z.object({
104
+ payload: z.string(),
105
+ signature: z.string(),
106
+ secret: z.string()
107
+ });
108
+ // Webhook processing schemas
109
+ export const ProcessWebhookSchema = z.object({
110
+ payload: WebhookPayloadSchema,
111
+ validate_signature: z.boolean().default(true),
112
+ signature: z.string().optional(),
113
+ secret: z.string().optional()
114
+ });
115
+ // Utility functions for webhook processing
116
+ export const parseWebhookTimestamp = (timestamp) => {
117
+ return new Date(timestamp);
118
+ };
119
+ export const getWebhookOperationType = (operation) => {
120
+ const operationMap = {
121
+ 'c': 'create',
122
+ 'u': 'update',
123
+ 'd': 'delete'
124
+ };
125
+ return operationMap[operation] || operation;
126
+ };
127
+ export const extractWebhookObjectInfo = (payload) => {
128
+ return {
129
+ objectType: payload.version.object_type,
130
+ objectId: payload.version.object_id,
131
+ workspaceId: payload.version.workspace_id,
132
+ operation: getWebhookOperationType(payload.version.operation),
133
+ timestamp: parseWebhookTimestamp(payload.date),
134
+ userId: payload.version.data.context.audit_context.userid
135
+ };
136
+ };
137
+ //# sourceMappingURL=webhook-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-schemas.js","sourceRoot":"","sources":["../../src/schemas/webhook-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mCAAmC;AACnC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,aAAa,EAAE,kBAAkB;IACjC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;CAChC,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,oBAAoB;IAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACtC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,yBAAyB;IAC7D,IAAI,EAAE,wBAAwB;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;CAC/B,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,oBAAoB;CAC9B,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,aAAa;IACb,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACnC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IAC9C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,UAAU,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,oBAAoB;IAC7B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAgBH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAQ,EAAE;IAC/D,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAU,EAAE;IACnE,MAAM,YAAY,GAA2B;QAC3C,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ;KACd,CAAC;IACF,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAuB,EAAE,EAAE;IAClE,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;QACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY;QACzC,SAAS,EAAE,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7D,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM;KAC1D,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lists.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.service.js","sourceRoot":"","sources":["../../src/services/lists.service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function setupAttachmentsTools(server: McpServer): void;
@@ -0,0 +1,387 @@
1
+ import { z } from 'zod';
2
+ import { AttachmentsEnhancedClient } from '../clickup-client/attachments-enhanced.js';
3
+ import { UploadAttachmentSchema, UpdateAttachmentMetadataSchema, GetAttachmentsFilterSchema, AttachmentSharingSchema, BulkAttachmentOperationSchema, AttachmentTypeSchema, UploadSourceSchema, AttachmentParentSchema } from '../schemas/attachments-schemas.js';
4
+ // Create clients
5
+ // const clickUpClient = createClickUpClient();
6
+ const attachmentsClient = new AttachmentsEnhancedClient(process.env.CLICKUP_API_TOKEN);
7
+ export function setupAttachmentsTools(server) {
8
+ // ========================================
9
+ // ATTACHMENT MANAGEMENT OPERATIONS
10
+ // ========================================
11
+ server.tool('upload_attachment', 'Upload a new attachment to a task, comment, doc, or chat. Supports direct file upload or URL-based upload.', {
12
+ parent_id: z.string().min(1).describe('The ID of the parent (task, comment, doc, or chat)'),
13
+ parent_type: AttachmentParentSchema.describe('The type of parent object'),
14
+ filename: z.string().min(1).describe('The name of the file'),
15
+ file_data: z.string().optional().describe('Base64 encoded file data for direct upload'),
16
+ file_url: z.string().url().optional().describe('URL to download file from'),
17
+ source: UploadSourceSchema.default('local').describe('Source of the file upload'),
18
+ description: z.string().optional().describe('Description of the attachment'),
19
+ tags: z.array(z.string()).optional().describe('Tags to associate with the attachment')
20
+ }, async (args) => {
21
+ try {
22
+ const request = UploadAttachmentSchema.parse(args);
23
+ const result = await attachmentsClient.uploadAttachment(request);
24
+ return {
25
+ content: [{
26
+ type: 'text',
27
+ text: `Attachment uploaded successfully:\n\n${JSON.stringify(result, null, 2)}`
28
+ }]
29
+ };
30
+ }
31
+ catch (error) {
32
+ return {
33
+ content: [{
34
+ type: 'text',
35
+ text: `Error uploading attachment: ${error instanceof Error ? error.message : 'Unknown error'}`
36
+ }],
37
+ isError: true
38
+ };
39
+ }
40
+ });
41
+ server.tool('get_attachments', 'Get all attachments for a parent object with filtering and pagination options.', {
42
+ parent_id: z.string().min(1).describe('The ID of the parent object'),
43
+ parent_type: AttachmentParentSchema.describe('The type of parent object'),
44
+ type: AttachmentTypeSchema.optional().describe('Filter by attachment type'),
45
+ filename_contains: z.string().optional().describe('Filter by filename containing text'),
46
+ tags: z.array(z.string()).optional().describe('Filter by tags'),
47
+ date_from: z.number().optional().describe('Filter attachments created after this date (Unix timestamp)'),
48
+ date_to: z.number().optional().describe('Filter attachments created before this date (Unix timestamp)'),
49
+ limit: z.number().positive().optional().describe('Maximum number of attachments to return'),
50
+ offset: z.number().min(0).optional().describe('Number of attachments to skip for pagination')
51
+ }, async (args) => {
52
+ try {
53
+ const filter = GetAttachmentsFilterSchema.parse(args);
54
+ const result = await attachmentsClient.getAttachments(filter);
55
+ return {
56
+ content: [{
57
+ type: 'text',
58
+ text: `Attachments for ${args.parent_type} ${args.parent_id}:\n\n${JSON.stringify(result, null, 2)}`
59
+ }]
60
+ };
61
+ }
62
+ catch (error) {
63
+ return {
64
+ content: [{
65
+ type: 'text',
66
+ text: `Error getting attachments: ${error instanceof Error ? error.message : 'Unknown error'}`
67
+ }],
68
+ isError: true
69
+ };
70
+ }
71
+ });
72
+ server.tool('get_attachment_info', 'Get detailed information about a specific attachment including download and preview capabilities.', {
73
+ attachment_id: z.string().min(1).describe('The ID of the attachment to get info for')
74
+ }, async (args) => {
75
+ try {
76
+ const result = await attachmentsClient.getAttachmentInfo(args.attachment_id);
77
+ return {
78
+ content: [{
79
+ type: 'text',
80
+ text: `Attachment information:\n\n${JSON.stringify(result, null, 2)}`
81
+ }]
82
+ };
83
+ }
84
+ catch (error) {
85
+ return {
86
+ content: [{
87
+ type: 'text',
88
+ text: `Error getting attachment info: ${error instanceof Error ? error.message : 'Unknown error'}`
89
+ }],
90
+ isError: true
91
+ };
92
+ }
93
+ });
94
+ server.tool('update_attachment_metadata', 'Update attachment metadata including filename, description, and tags.', {
95
+ attachment_id: z.string().min(1).describe('The ID of the attachment to update'),
96
+ filename: z.string().optional().describe('New filename'),
97
+ description: z.string().optional().describe('New description'),
98
+ tags: z.array(z.string()).optional().describe('New tags for the attachment')
99
+ }, async (args) => {
100
+ try {
101
+ const request = UpdateAttachmentMetadataSchema.parse(args);
102
+ const result = await attachmentsClient.updateAttachmentMetadata(request);
103
+ return {
104
+ content: [{
105
+ type: 'text',
106
+ text: `Attachment metadata updated successfully:\n\n${JSON.stringify(result, null, 2)}`
107
+ }]
108
+ };
109
+ }
110
+ catch (error) {
111
+ return {
112
+ content: [{
113
+ type: 'text',
114
+ text: `Error updating attachment metadata: ${error instanceof Error ? error.message : 'Unknown error'}`
115
+ }],
116
+ isError: true
117
+ };
118
+ }
119
+ });
120
+ server.tool('delete_attachment', 'Delete an attachment from ClickUp. This action cannot be undone.', {
121
+ attachment_id: z.string().min(1).describe('The ID of the attachment to delete')
122
+ }, async (args) => {
123
+ try {
124
+ const result = await attachmentsClient.deleteAttachment(args.attachment_id);
125
+ return {
126
+ content: [{
127
+ type: 'text',
128
+ text: `Attachment deleted successfully: ${JSON.stringify(result, null, 2)}`
129
+ }]
130
+ };
131
+ }
132
+ catch (error) {
133
+ return {
134
+ content: [{
135
+ type: 'text',
136
+ text: `Error deleting attachment: ${error instanceof Error ? error.message : 'Unknown error'}`
137
+ }],
138
+ isError: true
139
+ };
140
+ }
141
+ });
142
+ server.tool('download_attachment', 'Get download information for an attachment including temporary download URL.', {
143
+ attachment_id: z.string().min(1).describe('The ID of the attachment to download')
144
+ }, async (args) => {
145
+ try {
146
+ const result = await attachmentsClient.downloadAttachment(args.attachment_id);
147
+ return {
148
+ content: [{
149
+ type: 'text',
150
+ text: `Attachment download information:\n\n${JSON.stringify(result, null, 2)}`
151
+ }]
152
+ };
153
+ }
154
+ catch (error) {
155
+ return {
156
+ content: [{
157
+ type: 'text',
158
+ text: `Error getting download information: ${error instanceof Error ? error.message : 'Unknown error'}`
159
+ }],
160
+ isError: true
161
+ };
162
+ }
163
+ });
164
+ // ========================================
165
+ // ADVANCED ATTACHMENT OPERATIONS
166
+ // ========================================
167
+ server.tool('search_attachments', 'Search for attachments across a workspace with advanced filtering options.', {
168
+ workspace_id: z.string().min(1).describe('The ID of the workspace to search in'),
169
+ search_term: z.string().optional().describe('Search term to match against filename and description'),
170
+ type: AttachmentTypeSchema.optional().describe('Filter by attachment type'),
171
+ parent_type: AttachmentParentSchema.optional().describe('Filter by parent type'),
172
+ tags: z.array(z.string()).optional().describe('Filter by tags'),
173
+ date_from: z.number().optional().describe('Filter attachments created after this date (Unix timestamp)'),
174
+ date_to: z.number().optional().describe('Filter attachments created before this date (Unix timestamp)'),
175
+ min_size: z.number().optional().describe('Minimum file size in bytes'),
176
+ max_size: z.number().optional().describe('Maximum file size in bytes'),
177
+ uploaded_by: z.number().optional().describe('Filter by user ID who uploaded the attachment'),
178
+ limit: z.number().positive().optional().describe('Maximum number of attachments to return'),
179
+ offset: z.number().min(0).optional().describe('Number of attachments to skip for pagination')
180
+ }, async (args) => {
181
+ try {
182
+ const result = await attachmentsClient.searchAttachments(args.workspace_id, {
183
+ search_term: args.search_term,
184
+ type: args.type,
185
+ parent_type: args.parent_type,
186
+ tags: args.tags,
187
+ date_from: args.date_from,
188
+ date_to: args.date_to,
189
+ min_size: args.min_size,
190
+ max_size: args.max_size,
191
+ uploaded_by: args.uploaded_by,
192
+ limit: args.limit,
193
+ offset: args.offset
194
+ });
195
+ return {
196
+ content: [{
197
+ type: 'text',
198
+ text: `Attachment search results:\n\n${JSON.stringify(result, null, 2)}`
199
+ }]
200
+ };
201
+ }
202
+ catch (error) {
203
+ return {
204
+ content: [{
205
+ type: 'text',
206
+ text: `Error searching attachments: ${error instanceof Error ? error.message : 'Unknown error'}`
207
+ }],
208
+ isError: true
209
+ };
210
+ }
211
+ });
212
+ server.tool('get_attachment_stats', 'Get comprehensive statistics about attachments in a workspace.', {
213
+ workspace_id: z.string().min(1).describe('The ID of the workspace')
214
+ }, async (args) => {
215
+ try {
216
+ const result = await attachmentsClient.getAttachmentStats(args.workspace_id);
217
+ return {
218
+ content: [{
219
+ type: 'text',
220
+ text: `Attachment statistics for workspace ${args.workspace_id}:\n\n${JSON.stringify(result, null, 2)}`
221
+ }]
222
+ };
223
+ }
224
+ catch (error) {
225
+ return {
226
+ content: [{
227
+ type: 'text',
228
+ text: `Error getting attachment statistics: ${error instanceof Error ? error.message : 'Unknown error'}`
229
+ }],
230
+ isError: true
231
+ };
232
+ }
233
+ });
234
+ server.tool('update_attachment_sharing', 'Update sharing settings for an attachment including access level and password protection.', {
235
+ attachment_id: z.string().min(1).describe('The ID of the attachment to update sharing for'),
236
+ access_level: z.enum(['private', 'team', 'public']).describe('Access level for the attachment'),
237
+ expires_at: z.number().optional().describe('Expiration timestamp for public links (Unix timestamp)'),
238
+ password: z.string().optional().describe('Password protection for public links')
239
+ }, async (args) => {
240
+ try {
241
+ const request = AttachmentSharingSchema.parse(args);
242
+ const result = await attachmentsClient.updateAttachmentSharing(request);
243
+ return {
244
+ content: [{
245
+ type: 'text',
246
+ text: `Attachment sharing updated successfully:\n\n${JSON.stringify(result, null, 2)}`
247
+ }]
248
+ };
249
+ }
250
+ catch (error) {
251
+ return {
252
+ content: [{
253
+ type: 'text',
254
+ text: `Error updating attachment sharing: ${error instanceof Error ? error.message : 'Unknown error'}`
255
+ }],
256
+ isError: true
257
+ };
258
+ }
259
+ });
260
+ server.tool('copy_attachment', 'Copy an attachment to another parent object (task, comment, doc, or chat).', {
261
+ attachment_id: z.string().min(1).describe('The ID of the attachment to copy'),
262
+ target_parent_id: z.string().min(1).describe('The ID of the target parent'),
263
+ target_parent_type: AttachmentParentSchema.describe('The type of the target parent')
264
+ }, async (args) => {
265
+ try {
266
+ const result = await attachmentsClient.copyAttachment(args.attachment_id, args.target_parent_id, args.target_parent_type);
267
+ return {
268
+ content: [{
269
+ type: 'text',
270
+ text: `Attachment copied successfully:\n\n${JSON.stringify(result, null, 2)}`
271
+ }]
272
+ };
273
+ }
274
+ catch (error) {
275
+ return {
276
+ content: [{
277
+ type: 'text',
278
+ text: `Error copying attachment: ${error instanceof Error ? error.message : 'Unknown error'}`
279
+ }],
280
+ isError: true
281
+ };
282
+ }
283
+ });
284
+ server.tool('move_attachment', 'Move an attachment to another parent object (task, comment, doc, or chat).', {
285
+ attachment_id: z.string().min(1).describe('The ID of the attachment to move'),
286
+ target_parent_id: z.string().min(1).describe('The ID of the target parent'),
287
+ target_parent_type: AttachmentParentSchema.describe('The type of the target parent')
288
+ }, async (args) => {
289
+ try {
290
+ const result = await attachmentsClient.moveAttachment(args.attachment_id, args.target_parent_id, args.target_parent_type);
291
+ return {
292
+ content: [{
293
+ type: 'text',
294
+ text: `Attachment moved successfully:\n\n${JSON.stringify(result, null, 2)}`
295
+ }]
296
+ };
297
+ }
298
+ catch (error) {
299
+ return {
300
+ content: [{
301
+ type: 'text',
302
+ text: `Error moving attachment: ${error instanceof Error ? error.message : 'Unknown error'}`
303
+ }],
304
+ isError: true
305
+ };
306
+ }
307
+ });
308
+ server.tool('generate_attachment_thumbnail', 'Generate a thumbnail for an image or video attachment with custom dimensions.', {
309
+ attachment_id: z.string().min(1).describe('The ID of the attachment to generate thumbnail for'),
310
+ width: z.number().positive().optional().describe('Thumbnail width in pixels'),
311
+ height: z.number().positive().optional().describe('Thumbnail height in pixels'),
312
+ quality: z.number().min(1).max(100).optional().describe('Thumbnail quality (1-100)')
313
+ }, async (args) => {
314
+ try {
315
+ const result = await attachmentsClient.generateAttachmentThumbnail(args.attachment_id, {
316
+ width: args.width,
317
+ height: args.height,
318
+ quality: args.quality
319
+ });
320
+ return {
321
+ content: [{
322
+ type: 'text',
323
+ text: `Thumbnail generated successfully:\n\n${JSON.stringify(result, null, 2)}`
324
+ }]
325
+ };
326
+ }
327
+ catch (error) {
328
+ return {
329
+ content: [{
330
+ type: 'text',
331
+ text: `Error generating thumbnail: ${error instanceof Error ? error.message : 'Unknown error'}`
332
+ }],
333
+ isError: true
334
+ };
335
+ }
336
+ });
337
+ server.tool('get_attachment_versions', 'Get version history for an attachment showing all uploaded versions.', {
338
+ attachment_id: z.string().min(1).describe('The ID of the attachment to get versions for')
339
+ }, async (args) => {
340
+ try {
341
+ const result = await attachmentsClient.getAttachmentVersions(args.attachment_id);
342
+ return {
343
+ content: [{
344
+ type: 'text',
345
+ text: `Attachment version history:\n\n${JSON.stringify(result, null, 2)}`
346
+ }]
347
+ };
348
+ }
349
+ catch (error) {
350
+ return {
351
+ content: [{
352
+ type: 'text',
353
+ text: `Error getting attachment versions: ${error instanceof Error ? error.message : 'Unknown error'}`
354
+ }],
355
+ isError: true
356
+ };
357
+ }
358
+ });
359
+ server.tool('bulk_attachment_operations', 'Perform bulk operations on multiple attachments for efficiency.', {
360
+ operation: z.enum(['delete', 'move', 'copy', 'update_tags']).describe('The bulk operation to perform'),
361
+ attachment_ids: z.array(z.string()).describe('Array of attachment IDs to operate on'),
362
+ target_parent_id: z.string().optional().describe('Target parent ID for move/copy operations'),
363
+ target_parent_type: AttachmentParentSchema.optional().describe('Target parent type for move/copy operations'),
364
+ tags: z.array(z.string()).optional().describe('Tags for bulk tag update operations')
365
+ }, async (args) => {
366
+ try {
367
+ const operation = BulkAttachmentOperationSchema.parse(args);
368
+ const result = await attachmentsClient.bulkAttachmentOperations(operation);
369
+ return {
370
+ content: [{
371
+ type: 'text',
372
+ text: `Bulk attachment operations results:\n\n${JSON.stringify(result, null, 2)}`
373
+ }]
374
+ };
375
+ }
376
+ catch (error) {
377
+ return {
378
+ content: [{
379
+ type: 'text',
380
+ text: `Error performing bulk attachment operations: ${error instanceof Error ? error.message : 'Unknown error'}`
381
+ }],
382
+ isError: true
383
+ };
384
+ }
385
+ });
386
+ }
387
+ //# sourceMappingURL=attachments-tools-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments-tools-setup.js","sourceRoot":"","sources":["../../src/tools/attachments-tools-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /**
3
+ * Enhanced Chat Tools with Efficiency Metadata and Smart Suggestions
4
+ */
5
+ export declare function setupChatToolsEnhanced(server: McpServer): void;