@todoist/comms-mcp 0.0.0-stage → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +208 -2
  3. package/dist/comms-tool.d.ts +14 -0
  4. package/dist/comms-tool.js +1 -0
  5. package/dist/index.d.ts +1324 -0
  6. package/dist/index.js +55 -0
  7. package/dist/main.d.ts +2 -0
  8. package/dist/main.js +24 -0
  9. package/dist/mcp-helpers.d.ts +17 -0
  10. package/dist/mcp-helpers.js +40 -0
  11. package/dist/mcp-server.d.ts +10 -0
  12. package/dist/mcp-server.js +78 -0
  13. package/dist/tool-registry.d.ts +3 -0
  14. package/dist/tool-registry.js +49 -0
  15. package/dist/tools/build-link.d.ts +63 -0
  16. package/dist/tools/build-link.js +93 -0
  17. package/dist/tools/channel-output.d.ts +19 -0
  18. package/dist/tools/channel-output.js +47 -0
  19. package/dist/tools/create-channel.d.ts +55 -0
  20. package/dist/tools/create-channel.js +44 -0
  21. package/dist/tools/create-conversation.d.ts +49 -0
  22. package/dist/tools/create-conversation.js +75 -0
  23. package/dist/tools/create-thread.d.ts +67 -0
  24. package/dist/tools/create-thread.js +126 -0
  25. package/dist/tools/delete-object.d.ts +44 -0
  26. package/dist/tools/delete-object.js +84 -0
  27. package/dist/tools/fetch-inbox.d.ts +91 -0
  28. package/dist/tools/fetch-inbox.js +227 -0
  29. package/dist/tools/get-groups.d.ts +62 -0
  30. package/dist/tools/get-groups.js +116 -0
  31. package/dist/tools/get-mentions.d.ts +97 -0
  32. package/dist/tools/get-mentions.js +126 -0
  33. package/dist/tools/get-users.d.ts +58 -0
  34. package/dist/tools/get-users.js +107 -0
  35. package/dist/tools/get-workspaces.d.ts +61 -0
  36. package/dist/tools/get-workspaces.js +120 -0
  37. package/dist/tools/list-channels.d.ts +47 -0
  38. package/dist/tools/list-channels.js +89 -0
  39. package/dist/tools/list-conversations.d.ts +66 -0
  40. package/dist/tools/list-conversations.js +212 -0
  41. package/dist/tools/load-conversation.d.ts +92 -0
  42. package/dist/tools/load-conversation.js +128 -0
  43. package/dist/tools/load-thread.d.ts +127 -0
  44. package/dist/tools/load-thread.js +175 -0
  45. package/dist/tools/mark-done.d.ts +111 -0
  46. package/dist/tools/mark-done.js +275 -0
  47. package/dist/tools/mark-read.d.ts +73 -0
  48. package/dist/tools/mark-read.js +214 -0
  49. package/dist/tools/react.d.ts +59 -0
  50. package/dist/tools/react.js +97 -0
  51. package/dist/tools/reply.d.ts +69 -0
  52. package/dist/tools/reply.js +122 -0
  53. package/dist/tools/search-content.d.ts +103 -0
  54. package/dist/tools/search-content.js +138 -0
  55. package/dist/tools/update-channel.d.ts +53 -0
  56. package/dist/tools/update-channel.js +45 -0
  57. package/dist/tools/update-object.d.ts +52 -0
  58. package/dist/tools/update-object.js +161 -0
  59. package/dist/tools/update-user-info.d.ts +55 -0
  60. package/dist/tools/update-user-info.js +270 -0
  61. package/dist/tools/user-info.d.ts +32 -0
  62. package/dist/tools/user-info.js +16 -0
  63. package/dist/tools/user-output.d.ts +9 -0
  64. package/dist/tools/user-output.js +28 -0
  65. package/dist/usage-tracking.d.ts +23 -0
  66. package/dist/usage-tracking.js +41 -0
  67. package/dist/utils/attachments.d.ts +24 -0
  68. package/dist/utils/attachments.js +57 -0
  69. package/dist/utils/concurrency.d.ts +20 -0
  70. package/dist/utils/concurrency.js +24 -0
  71. package/dist/utils/constants.d.ts +5 -0
  72. package/dist/utils/constants.js +5 -0
  73. package/dist/utils/degrade.d.ts +81 -0
  74. package/dist/utils/degrade.js +149 -0
  75. package/dist/utils/output-schemas.d.ts +1283 -0
  76. package/dist/utils/output-schemas.js +657 -0
  77. package/dist/utils/read-position.d.ts +21 -0
  78. package/dist/utils/read-position.js +37 -0
  79. package/dist/utils/search-results.d.ts +36 -0
  80. package/dist/utils/search-results.js +82 -0
  81. package/dist/utils/target-types.d.ts +114 -0
  82. package/dist/utils/target-types.js +58 -0
  83. package/dist/utils/test-helpers.d.ts +95 -0
  84. package/dist/utils/test-helpers.js +231 -0
  85. package/dist/utils/tool-names.d.ts +25 -0
  86. package/dist/utils/tool-names.js +25 -0
  87. package/dist/utils/url-helpers.d.ts +3 -0
  88. package/dist/utils/url-helpers.js +10 -0
  89. package/dist/utils/user-status.d.ts +8 -0
  90. package/dist/utils/user-status.js +33 -0
  91. package/dist/utils/validate-comms-token.d.ts +13 -0
  92. package/dist/utils/validate-comms-token.js +22 -0
  93. package/package.json +86 -5
@@ -0,0 +1,1324 @@
1
+ import { getMcpServer } from './mcp-server.js';
2
+ import { buildLink } from './tools/build-link.js';
3
+ import { createChannel } from './tools/create-channel.js';
4
+ import { createConversation } from './tools/create-conversation.js';
5
+ import { createThread } from './tools/create-thread.js';
6
+ import { deleteObject } from './tools/delete-object.js';
7
+ import { fetchInbox } from './tools/fetch-inbox.js';
8
+ import { getGroups } from './tools/get-groups.js';
9
+ import { getMentions } from './tools/get-mentions.js';
10
+ import { getUsers } from './tools/get-users.js';
11
+ import { getWorkspaces } from './tools/get-workspaces.js';
12
+ import { listChannels } from './tools/list-channels.js';
13
+ import { listConversations } from './tools/list-conversations.js';
14
+ import { loadConversation } from './tools/load-conversation.js';
15
+ import { loadThread } from './tools/load-thread.js';
16
+ import { markDone } from './tools/mark-done.js';
17
+ import { markRead } from './tools/mark-read.js';
18
+ import { react } from './tools/react.js';
19
+ import { reply } from './tools/reply.js';
20
+ import { searchContent } from './tools/search-content.js';
21
+ import { updateChannel } from './tools/update-channel.js';
22
+ import { updateObject } from './tools/update-object.js';
23
+ import { updateUserInfo } from './tools/update-user-info.js';
24
+ import { userInfo } from './tools/user-info.js';
25
+ import { validateCommsToken } from './utils/validate-comms-token.js';
26
+ declare const tools: {
27
+ userInfo: {
28
+ name: "user-info";
29
+ description: string;
30
+ parameters: {};
31
+ outputSchema: {
32
+ type: import("zod").ZodLiteral<"user_info">;
33
+ userId: import("zod").ZodNumber;
34
+ name: import("zod").ZodString;
35
+ shortName: import("zod").ZodString;
36
+ email: import("zod").ZodString;
37
+ timezone: import("zod").ZodString;
38
+ lang: import("zod").ZodString;
39
+ status: import("zod").ZodOptional<import("zod").ZodObject<{
40
+ message: import("zod").ZodString;
41
+ emoji: import("zod").ZodOptional<import("zod").ZodString>;
42
+ activeUntil: import("zod").ZodOptional<import("zod").ZodString>;
43
+ pauseNotifications: import("zod").ZodBoolean;
44
+ pauseActivity: import("zod").ZodBoolean;
45
+ }, import("zod/v4/core").$strip>>;
46
+ };
47
+ annotations: {
48
+ readOnlyHint: true;
49
+ destructiveHint: false;
50
+ idempotentHint: true;
51
+ };
52
+ execute(_args: Record<string, never>, client: import("@doist/comms-sdk").CommsApi): Promise<{
53
+ textContent: string;
54
+ structuredContent: import("./tools/user-output.js").UserInfoStructured;
55
+ }>;
56
+ };
57
+ updateUserInfo: {
58
+ name: "update-user-info";
59
+ description: string;
60
+ parameters: {
61
+ name: import("zod").ZodOptional<import("zod").ZodString>;
62
+ timezone: import("zod").ZodOptional<import("zod").ZodString>;
63
+ lang: import("zod").ZodOptional<import("zod").ZodString>;
64
+ status: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
65
+ message: import("zod").ZodString;
66
+ emoji: import("zod").ZodOptional<import("zod").ZodString>;
67
+ activeUntil: import("zod").ZodOptional<import("zod").ZodString>;
68
+ pauseNotifications: import("zod").ZodOptional<import("zod").ZodBoolean>;
69
+ pauseActivity: import("zod").ZodOptional<import("zod").ZodBoolean>;
70
+ }, import("zod/v4/core").$strip>>>;
71
+ };
72
+ outputSchema: {
73
+ type: import("zod").ZodLiteral<"user_info">;
74
+ userId: import("zod").ZodNumber;
75
+ name: import("zod").ZodString;
76
+ shortName: import("zod").ZodString;
77
+ email: import("zod").ZodString;
78
+ timezone: import("zod").ZodString;
79
+ lang: import("zod").ZodString;
80
+ status: import("zod").ZodOptional<import("zod").ZodObject<{
81
+ message: import("zod").ZodString;
82
+ emoji: import("zod").ZodOptional<import("zod").ZodString>;
83
+ activeUntil: import("zod").ZodOptional<import("zod").ZodString>;
84
+ pauseNotifications: import("zod").ZodBoolean;
85
+ pauseActivity: import("zod").ZodBoolean;
86
+ }, import("zod/v4/core").$strip>>;
87
+ };
88
+ annotations: {
89
+ readOnlyHint: false;
90
+ destructiveHint: true;
91
+ idempotentHint: true;
92
+ };
93
+ execute(args: {
94
+ name?: string | undefined;
95
+ timezone?: string | undefined;
96
+ lang?: string | undefined;
97
+ status?: {
98
+ message: string;
99
+ emoji?: string | undefined;
100
+ activeUntil?: string | undefined;
101
+ pauseNotifications?: boolean | undefined;
102
+ pauseActivity?: boolean | undefined;
103
+ } | null | undefined;
104
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
105
+ textContent: string;
106
+ structuredContent: import("./tools/user-output.js").UserInfoStructured;
107
+ }>;
108
+ };
109
+ fetchInbox: {
110
+ name: "fetch-inbox";
111
+ description: string;
112
+ parameters: {
113
+ workspaceId: import("zod").ZodNumber;
114
+ sinceDate: import("zod").ZodOptional<import("zod").ZodString>;
115
+ untilDate: import("zod").ZodOptional<import("zod").ZodString>;
116
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
117
+ onlyUnread: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
118
+ archiveFilter: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
119
+ archived: "archived";
120
+ all: "all";
121
+ active: "active";
122
+ }>>>;
123
+ };
124
+ outputSchema: {
125
+ type: import("zod").ZodLiteral<"inbox_data">;
126
+ workspaceId: import("zod").ZodNumber;
127
+ threads: import("zod").ZodArray<import("zod").ZodObject<{
128
+ id: import("zod").ZodString;
129
+ title: import("zod").ZodString;
130
+ channelId: import("zod").ZodString;
131
+ channelName: import("zod").ZodOptional<import("zod").ZodString>;
132
+ creator: import("zod").ZodNumber;
133
+ isUnread: import("zod").ZodBoolean;
134
+ isArchived: import("zod").ZodBoolean;
135
+ isStarred: import("zod").ZodBoolean;
136
+ threadUrl: import("zod").ZodString;
137
+ }, import("zod/v4/core").$strip>>;
138
+ conversations: import("zod").ZodArray<import("zod").ZodObject<{
139
+ id: import("zod").ZodString;
140
+ title: import("zod").ZodString;
141
+ userIds: import("zod").ZodArray<import("zod").ZodNumber>;
142
+ participantNames: import("zod").ZodArray<import("zod").ZodString>;
143
+ isUnread: import("zod").ZodBoolean;
144
+ conversationUrl: import("zod").ZodString;
145
+ }, import("zod/v4/core").$strip>>;
146
+ unreadCount: import("zod").ZodNumber;
147
+ unreadThreads: import("zod").ZodArray<import("zod").ZodAny>;
148
+ unreadConversations: import("zod").ZodArray<import("zod").ZodAny>;
149
+ totalThreads: import("zod").ZodNumber;
150
+ totalConversations: import("zod").ZodNumber;
151
+ };
152
+ annotations: {
153
+ readOnlyHint: true;
154
+ destructiveHint: false;
155
+ idempotentHint: true;
156
+ };
157
+ execute(args: {
158
+ workspaceId: number;
159
+ limit: number;
160
+ onlyUnread: boolean;
161
+ archiveFilter: "archived" | "all" | "active";
162
+ sinceDate?: string | undefined;
163
+ untilDate?: string | undefined;
164
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
165
+ textContent: string;
166
+ structuredContent: import("./tools/fetch-inbox.js").FetchInboxStructured;
167
+ }>;
168
+ };
169
+ loadThread: {
170
+ name: "load-thread";
171
+ description: string;
172
+ parameters: {
173
+ threadId: import("zod").ZodString;
174
+ newerThanDate: import("zod").ZodOptional<import("zod").ZodString>;
175
+ olderThanDate: import("zod").ZodOptional<import("zod").ZodString>;
176
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
177
+ includeParticipants: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
178
+ };
179
+ outputSchema: {
180
+ type: import("zod").ZodLiteral<"thread_data">;
181
+ thread: import("zod").ZodObject<{
182
+ id: import("zod").ZodString;
183
+ title: import("zod").ZodString;
184
+ content: import("zod").ZodString;
185
+ channelId: import("zod").ZodString;
186
+ channelName: import("zod").ZodOptional<import("zod").ZodString>;
187
+ workspaceId: import("zod").ZodNumber;
188
+ creator: import("zod").ZodNumber;
189
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
190
+ posted: import("zod").ZodString;
191
+ commentCount: import("zod").ZodNumber;
192
+ isArchived: import("zod").ZodBoolean;
193
+ inInbox: import("zod").ZodBoolean;
194
+ participants: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
195
+ participantNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
196
+ threadUrl: import("zod").ZodString;
197
+ attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
198
+ attachmentId: import("zod").ZodString;
199
+ urlType: import("zod").ZodString;
200
+ title: import("zod").ZodOptional<import("zod").ZodString>;
201
+ url: import("zod").ZodOptional<import("zod").ZodString>;
202
+ fileName: import("zod").ZodOptional<import("zod").ZodString>;
203
+ fileSize: import("zod").ZodOptional<import("zod").ZodNumber>;
204
+ underlyingType: import("zod").ZodOptional<import("zod").ZodString>;
205
+ description: import("zod").ZodOptional<import("zod").ZodString>;
206
+ image: import("zod").ZodOptional<import("zod").ZodString>;
207
+ imageWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
208
+ imageHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
209
+ duration: import("zod").ZodOptional<import("zod").ZodString>;
210
+ uploadState: import("zod").ZodOptional<import("zod").ZodString>;
211
+ video: import("zod").ZodOptional<import("zod").ZodString>;
212
+ videoType: import("zod").ZodOptional<import("zod").ZodString>;
213
+ videoAutoPlay: import("zod").ZodOptional<import("zod").ZodBoolean>;
214
+ }, import("zod/v4/core").$loose>>>;
215
+ }, import("zod/v4/core").$strip>;
216
+ comments: import("zod").ZodArray<import("zod").ZodObject<{
217
+ id: import("zod").ZodString;
218
+ content: import("zod").ZodString;
219
+ creator: import("zod").ZodNumber;
220
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
221
+ threadId: import("zod").ZodString;
222
+ posted: import("zod").ZodString;
223
+ commentUrl: import("zod").ZodString;
224
+ attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
225
+ attachmentId: import("zod").ZodString;
226
+ urlType: import("zod").ZodString;
227
+ title: import("zod").ZodOptional<import("zod").ZodString>;
228
+ url: import("zod").ZodOptional<import("zod").ZodString>;
229
+ fileName: import("zod").ZodOptional<import("zod").ZodString>;
230
+ fileSize: import("zod").ZodOptional<import("zod").ZodNumber>;
231
+ underlyingType: import("zod").ZodOptional<import("zod").ZodString>;
232
+ description: import("zod").ZodOptional<import("zod").ZodString>;
233
+ image: import("zod").ZodOptional<import("zod").ZodString>;
234
+ imageWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
235
+ imageHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
236
+ duration: import("zod").ZodOptional<import("zod").ZodString>;
237
+ uploadState: import("zod").ZodOptional<import("zod").ZodString>;
238
+ video: import("zod").ZodOptional<import("zod").ZodString>;
239
+ videoType: import("zod").ZodOptional<import("zod").ZodString>;
240
+ videoAutoPlay: import("zod").ZodOptional<import("zod").ZodBoolean>;
241
+ }, import("zod/v4/core").$loose>>>;
242
+ }, import("zod/v4/core").$strip>>;
243
+ totalComments: import("zod").ZodNumber;
244
+ };
245
+ annotations: {
246
+ readOnlyHint: true;
247
+ destructiveHint: false;
248
+ idempotentHint: true;
249
+ };
250
+ execute(args: {
251
+ threadId: string;
252
+ limit: number;
253
+ includeParticipants: boolean;
254
+ newerThanDate?: string | undefined;
255
+ olderThanDate?: string | undefined;
256
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
257
+ textContent: string;
258
+ structuredContent: import("./tools/load-thread.js").LoadThreadStructured;
259
+ }>;
260
+ };
261
+ loadConversation: {
262
+ name: "load-conversation";
263
+ description: string;
264
+ parameters: {
265
+ conversationId: import("zod").ZodString;
266
+ newerThanDate: import("zod").ZodOptional<import("zod").ZodString>;
267
+ olderThanDate: import("zod").ZodOptional<import("zod").ZodString>;
268
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
269
+ includeParticipants: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
270
+ };
271
+ outputSchema: {
272
+ type: import("zod").ZodLiteral<"conversation_data">;
273
+ conversation: import("zod").ZodObject<{
274
+ id: import("zod").ZodString;
275
+ workspaceId: import("zod").ZodNumber;
276
+ userIds: import("zod").ZodArray<import("zod").ZodNumber>;
277
+ archived: import("zod").ZodBoolean;
278
+ lastActive: import("zod").ZodString;
279
+ title: import("zod").ZodOptional<import("zod").ZodString>;
280
+ conversationUrl: import("zod").ZodString;
281
+ }, import("zod/v4/core").$strip>;
282
+ messages: import("zod").ZodArray<import("zod").ZodObject<{
283
+ id: import("zod").ZodString;
284
+ content: import("zod").ZodString;
285
+ creatorId: import("zod").ZodNumber;
286
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
287
+ conversationId: import("zod").ZodString;
288
+ posted: import("zod").ZodString;
289
+ messageUrl: import("zod").ZodString;
290
+ attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
291
+ attachmentId: import("zod").ZodString;
292
+ urlType: import("zod").ZodString;
293
+ title: import("zod").ZodOptional<import("zod").ZodString>;
294
+ url: import("zod").ZodOptional<import("zod").ZodString>;
295
+ fileName: import("zod").ZodOptional<import("zod").ZodString>;
296
+ fileSize: import("zod").ZodOptional<import("zod").ZodNumber>;
297
+ underlyingType: import("zod").ZodOptional<import("zod").ZodString>;
298
+ description: import("zod").ZodOptional<import("zod").ZodString>;
299
+ image: import("zod").ZodOptional<import("zod").ZodString>;
300
+ imageWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
301
+ imageHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
302
+ duration: import("zod").ZodOptional<import("zod").ZodString>;
303
+ uploadState: import("zod").ZodOptional<import("zod").ZodString>;
304
+ video: import("zod").ZodOptional<import("zod").ZodString>;
305
+ videoType: import("zod").ZodOptional<import("zod").ZodString>;
306
+ videoAutoPlay: import("zod").ZodOptional<import("zod").ZodBoolean>;
307
+ }, import("zod/v4/core").$loose>>>;
308
+ }, import("zod/v4/core").$strip>>;
309
+ totalMessages: import("zod").ZodNumber;
310
+ };
311
+ annotations: {
312
+ readOnlyHint: true;
313
+ destructiveHint: false;
314
+ idempotentHint: true;
315
+ };
316
+ execute(args: {
317
+ conversationId: string;
318
+ limit: number;
319
+ includeParticipants: boolean;
320
+ newerThanDate?: string | undefined;
321
+ olderThanDate?: string | undefined;
322
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
323
+ textContent: string;
324
+ structuredContent: import("./tools/load-conversation.js").LoadConversationStructured;
325
+ }>;
326
+ };
327
+ searchContent: {
328
+ name: "search-content";
329
+ description: string;
330
+ parameters: {
331
+ query: import("zod").ZodString;
332
+ workspaceId: import("zod").ZodNumber;
333
+ channelIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
334
+ authorIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
335
+ mentionSelf: import("zod").ZodOptional<import("zod").ZodBoolean>;
336
+ dateFrom: import("zod").ZodOptional<import("zod").ZodString>;
337
+ dateTo: import("zod").ZodOptional<import("zod").ZodString>;
338
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
339
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
340
+ };
341
+ outputSchema: {
342
+ type: import("zod").ZodLiteral<"search_results">;
343
+ query: import("zod").ZodString;
344
+ workspaceId: import("zod").ZodNumber;
345
+ results: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
346
+ type: import("zod").ZodLiteral<"thread">;
347
+ threadId: import("zod").ZodString;
348
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
349
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
350
+ channelName: import("zod").ZodOptional<import("zod").ZodString>;
351
+ id: import("zod").ZodString;
352
+ content: import("zod").ZodString;
353
+ creatorId: import("zod").ZodNumber;
354
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
355
+ created: import("zod").ZodString;
356
+ workspaceId: import("zod").ZodNumber;
357
+ url: import("zod").ZodString;
358
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
359
+ type: import("zod").ZodLiteral<"conversation">;
360
+ conversationId: import("zod").ZodString;
361
+ messageId: import("zod").ZodString;
362
+ id: import("zod").ZodString;
363
+ content: import("zod").ZodString;
364
+ creatorId: import("zod").ZodNumber;
365
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
366
+ created: import("zod").ZodString;
367
+ workspaceId: import("zod").ZodNumber;
368
+ url: import("zod").ZodString;
369
+ }, import("zod/v4/core").$strip>], "type">>;
370
+ totalResults: import("zod").ZodNumber;
371
+ hasMore: import("zod").ZodBoolean;
372
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
373
+ };
374
+ annotations: {
375
+ readOnlyHint: true;
376
+ destructiveHint: false;
377
+ idempotentHint: true;
378
+ };
379
+ execute(args: {
380
+ query: string;
381
+ workspaceId: number;
382
+ limit: number;
383
+ channelIds?: string[] | undefined;
384
+ authorIds?: number[] | undefined;
385
+ mentionSelf?: boolean | undefined;
386
+ dateFrom?: string | undefined;
387
+ dateTo?: string | undefined;
388
+ cursor?: string | undefined;
389
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
390
+ textContent: string;
391
+ structuredContent: {
392
+ type: "search_results";
393
+ query: string;
394
+ workspaceId: number;
395
+ results: ({
396
+ type: "thread";
397
+ threadId: string;
398
+ id: string;
399
+ content: string;
400
+ creatorId: number;
401
+ created: string;
402
+ workspaceId: number;
403
+ url: string;
404
+ commentId?: string | undefined;
405
+ channelId?: string | undefined;
406
+ channelName?: string | undefined;
407
+ creatorName?: string | undefined;
408
+ } | {
409
+ type: "conversation";
410
+ conversationId: string;
411
+ messageId: string;
412
+ id: string;
413
+ content: string;
414
+ creatorId: number;
415
+ created: string;
416
+ workspaceId: number;
417
+ url: string;
418
+ creatorName?: string | undefined;
419
+ })[];
420
+ totalResults: number;
421
+ hasMore: boolean;
422
+ cursor?: string | undefined;
423
+ };
424
+ }>;
425
+ };
426
+ getMentions: {
427
+ name: "get-mentions";
428
+ description: string;
429
+ parameters: {
430
+ workspaceId: import("zod").ZodNumber;
431
+ channelIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
432
+ authorIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
433
+ dateFrom: import("zod").ZodOptional<import("zod").ZodString>;
434
+ dateTo: import("zod").ZodOptional<import("zod").ZodString>;
435
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
436
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
437
+ };
438
+ outputSchema: {
439
+ type: import("zod").ZodLiteral<"mentions_results">;
440
+ workspaceId: import("zod").ZodNumber;
441
+ results: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
442
+ type: import("zod").ZodLiteral<"thread">;
443
+ threadId: import("zod").ZodString;
444
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
445
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
446
+ channelName: import("zod").ZodOptional<import("zod").ZodString>;
447
+ id: import("zod").ZodString;
448
+ content: import("zod").ZodString;
449
+ creatorId: import("zod").ZodNumber;
450
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
451
+ created: import("zod").ZodString;
452
+ workspaceId: import("zod").ZodNumber;
453
+ url: import("zod").ZodString;
454
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
455
+ type: import("zod").ZodLiteral<"conversation">;
456
+ conversationId: import("zod").ZodString;
457
+ messageId: import("zod").ZodString;
458
+ id: import("zod").ZodString;
459
+ content: import("zod").ZodString;
460
+ creatorId: import("zod").ZodNumber;
461
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
462
+ created: import("zod").ZodString;
463
+ workspaceId: import("zod").ZodNumber;
464
+ url: import("zod").ZodString;
465
+ }, import("zod/v4/core").$strip>], "type">>;
466
+ totalResults: import("zod").ZodNumber;
467
+ hasMore: import("zod").ZodBoolean;
468
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
469
+ };
470
+ annotations: {
471
+ readOnlyHint: true;
472
+ destructiveHint: false;
473
+ idempotentHint: true;
474
+ };
475
+ execute(args: {
476
+ workspaceId: number;
477
+ limit: number;
478
+ channelIds?: string[] | undefined;
479
+ authorIds?: number[] | undefined;
480
+ dateFrom?: string | undefined;
481
+ dateTo?: string | undefined;
482
+ cursor?: string | undefined;
483
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
484
+ textContent: string;
485
+ structuredContent: {
486
+ type: "mentions_results";
487
+ workspaceId: number;
488
+ results: ({
489
+ type: "thread";
490
+ threadId: string;
491
+ id: string;
492
+ content: string;
493
+ creatorId: number;
494
+ created: string;
495
+ workspaceId: number;
496
+ url: string;
497
+ commentId?: string | undefined;
498
+ channelId?: string | undefined;
499
+ channelName?: string | undefined;
500
+ creatorName?: string | undefined;
501
+ } | {
502
+ type: "conversation";
503
+ conversationId: string;
504
+ messageId: string;
505
+ id: string;
506
+ content: string;
507
+ creatorId: number;
508
+ created: string;
509
+ workspaceId: number;
510
+ url: string;
511
+ creatorName?: string | undefined;
512
+ })[];
513
+ totalResults: number;
514
+ hasMore: boolean;
515
+ cursor?: string | undefined;
516
+ };
517
+ }>;
518
+ };
519
+ createThread: {
520
+ name: "create-thread";
521
+ description: string;
522
+ parameters: {
523
+ channelId: import("zod").ZodString;
524
+ title: import("zod").ZodString;
525
+ content: import("zod").ZodString;
526
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
527
+ displayInInbox: import("zod").ZodOptional<import("zod").ZodBoolean>;
528
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
529
+ notifyAudience: import("zod").ZodOptional<import("zod").ZodEnum<{
530
+ thread: "thread";
531
+ channel: "channel";
532
+ }>>;
533
+ };
534
+ outputSchema: {
535
+ type: import("zod").ZodLiteral<"create_thread_result">;
536
+ success: import("zod").ZodBoolean;
537
+ threadId: import("zod").ZodString;
538
+ title: import("zod").ZodString;
539
+ channelId: import("zod").ZodString;
540
+ workspaceId: import("zod").ZodNumber;
541
+ content: import("zod").ZodString;
542
+ creator: import("zod").ZodNumber;
543
+ created: import("zod").ZodString;
544
+ threadUrl: import("zod").ZodString;
545
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
546
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
547
+ notifyAudience: import("zod").ZodOptional<import("zod").ZodEnum<{
548
+ thread: "thread";
549
+ channel: "channel";
550
+ }>>;
551
+ };
552
+ annotations: {
553
+ readOnlyHint: false;
554
+ destructiveHint: false;
555
+ idempotentHint: false;
556
+ };
557
+ execute(args: {
558
+ channelId: string;
559
+ title: string;
560
+ content: string;
561
+ recipients?: number[] | undefined;
562
+ displayInInbox?: boolean | undefined;
563
+ groups?: string[] | undefined;
564
+ notifyAudience?: "thread" | "channel" | undefined;
565
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
566
+ textContent: string;
567
+ structuredContent: {
568
+ type: "create_thread_result";
569
+ success: boolean;
570
+ threadId: string;
571
+ title: string;
572
+ channelId: string;
573
+ workspaceId: number;
574
+ content: string;
575
+ creator: number;
576
+ created: string;
577
+ threadUrl: string;
578
+ recipients?: number[] | undefined;
579
+ groups?: string[] | undefined;
580
+ notifyAudience?: "thread" | "channel" | undefined;
581
+ };
582
+ }>;
583
+ };
584
+ createConversation: {
585
+ name: "create-conversation";
586
+ description: string;
587
+ parameters: {
588
+ workspaceId: import("zod").ZodNumber;
589
+ recipients: import("zod").ZodArray<import("zod").ZodNumber>;
590
+ content: import("zod").ZodString;
591
+ };
592
+ outputSchema: {
593
+ type: import("zod").ZodLiteral<"create_conversation_result">;
594
+ success: import("zod").ZodBoolean;
595
+ conversationId: import("zod").ZodString;
596
+ messageId: import("zod").ZodString;
597
+ workspaceId: import("zod").ZodNumber;
598
+ content: import("zod").ZodString;
599
+ recipients: import("zod").ZodArray<import("zod").ZodNumber>;
600
+ participants: import("zod").ZodArray<import("zod").ZodNumber>;
601
+ created: import("zod").ZodString;
602
+ conversationUrl: import("zod").ZodString;
603
+ messageUrl: import("zod").ZodString;
604
+ };
605
+ annotations: {
606
+ readOnlyHint: false;
607
+ destructiveHint: false;
608
+ idempotentHint: false;
609
+ };
610
+ execute(args: {
611
+ workspaceId: number;
612
+ recipients: number[];
613
+ content: string;
614
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
615
+ textContent: string;
616
+ structuredContent: {
617
+ type: "create_conversation_result";
618
+ success: boolean;
619
+ conversationId: string;
620
+ messageId: string;
621
+ workspaceId: number;
622
+ content: string;
623
+ recipients: number[];
624
+ participants: number[];
625
+ created: string;
626
+ conversationUrl: string;
627
+ messageUrl: string;
628
+ };
629
+ }>;
630
+ };
631
+ updateObject: {
632
+ name: "update-object";
633
+ description: string;
634
+ parameters: {
635
+ targetType: import("zod").ZodEnum<{
636
+ thread: "thread";
637
+ comment: "comment";
638
+ message: "message";
639
+ }>;
640
+ targetId: import("zod").ZodString;
641
+ content: import("zod").ZodOptional<import("zod").ZodString>;
642
+ title: import("zod").ZodOptional<import("zod").ZodString>;
643
+ };
644
+ outputSchema: {
645
+ type: import("zod").ZodEnum<{
646
+ update_thread_result: "update_thread_result";
647
+ update_comment_result: "update_comment_result";
648
+ update_message_result: "update_message_result";
649
+ }>;
650
+ success: import("zod").ZodBoolean;
651
+ content: import("zod").ZodString;
652
+ workspaceId: import("zod").ZodNumber;
653
+ lastEdited: import("zod").ZodOptional<import("zod").ZodString>;
654
+ threadId: import("zod").ZodOptional<import("zod").ZodString>;
655
+ title: import("zod").ZodOptional<import("zod").ZodString>;
656
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
657
+ threadUrl: import("zod").ZodOptional<import("zod").ZodString>;
658
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
659
+ commentUrl: import("zod").ZodOptional<import("zod").ZodString>;
660
+ messageId: import("zod").ZodOptional<import("zod").ZodString>;
661
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
662
+ messageUrl: import("zod").ZodOptional<import("zod").ZodString>;
663
+ };
664
+ annotations: {
665
+ readOnlyHint: false;
666
+ destructiveHint: false;
667
+ idempotentHint: true;
668
+ };
669
+ execute(args: {
670
+ targetType: "thread" | "comment" | "message";
671
+ targetId: string;
672
+ content?: string | undefined;
673
+ title?: string | undefined;
674
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
675
+ textContent: string;
676
+ structuredContent: import("./utils/output-schemas.js").UpdateObjectStructured;
677
+ }>;
678
+ };
679
+ deleteObject: {
680
+ name: "delete-object";
681
+ description: string;
682
+ parameters: {
683
+ targetType: import("zod").ZodEnum<{
684
+ thread: "thread";
685
+ comment: "comment";
686
+ message: "message";
687
+ }>;
688
+ targetId: import("zod").ZodString;
689
+ };
690
+ outputSchema: {
691
+ type: import("zod").ZodEnum<{
692
+ delete_thread_result: "delete_thread_result";
693
+ delete_comment_result: "delete_comment_result";
694
+ delete_message_result: "delete_message_result";
695
+ }>;
696
+ success: import("zod").ZodBoolean;
697
+ targetType: import("zod").ZodEnum<{
698
+ thread: "thread";
699
+ comment: "comment";
700
+ message: "message";
701
+ }>;
702
+ threadId: import("zod").ZodOptional<import("zod").ZodString>;
703
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
704
+ messageId: import("zod").ZodOptional<import("zod").ZodString>;
705
+ };
706
+ annotations: {
707
+ readOnlyHint: false;
708
+ destructiveHint: true;
709
+ idempotentHint: true;
710
+ };
711
+ execute(args: {
712
+ targetType: "thread" | "comment" | "message";
713
+ targetId: string;
714
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
715
+ textContent: string;
716
+ structuredContent: import("./utils/output-schemas.js").DeleteObjectStructured;
717
+ }>;
718
+ };
719
+ reply: {
720
+ name: "reply";
721
+ description: string;
722
+ parameters: {
723
+ targetType: import("zod").ZodEnum<{
724
+ thread: "thread";
725
+ conversation: "conversation";
726
+ }>;
727
+ targetId: import("zod").ZodString;
728
+ content: import("zod").ZodString;
729
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
730
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
731
+ notifyAudience: import("zod").ZodOptional<import("zod").ZodEnum<{
732
+ thread: "thread";
733
+ channel: "channel";
734
+ }>>;
735
+ };
736
+ outputSchema: {
737
+ type: import("zod").ZodLiteral<"reply_result">;
738
+ success: import("zod").ZodBoolean;
739
+ targetType: import("zod").ZodEnum<{
740
+ thread: "thread";
741
+ conversation: "conversation";
742
+ }>;
743
+ targetId: import("zod").ZodString;
744
+ replyId: import("zod").ZodString;
745
+ content: import("zod").ZodString;
746
+ created: import("zod").ZodString;
747
+ replyUrl: import("zod").ZodString;
748
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
749
+ notifyAudience: import("zod").ZodOptional<import("zod").ZodEnum<{
750
+ thread: "thread";
751
+ channel: "channel";
752
+ }>>;
753
+ groups: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
754
+ };
755
+ annotations: {
756
+ readOnlyHint: false;
757
+ destructiveHint: false;
758
+ idempotentHint: false;
759
+ };
760
+ execute(args: {
761
+ targetType: "thread" | "conversation";
762
+ targetId: string;
763
+ content: string;
764
+ recipients?: number[] | undefined;
765
+ groups?: string[] | undefined;
766
+ notifyAudience?: "thread" | "channel" | undefined;
767
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
768
+ textContent: string;
769
+ structuredContent: {
770
+ type: "reply_result";
771
+ success: boolean;
772
+ targetType: "thread" | "conversation";
773
+ targetId: string;
774
+ replyId: string;
775
+ content: string;
776
+ created: string;
777
+ replyUrl: string;
778
+ recipients?: number[] | undefined;
779
+ notifyAudience?: "thread" | "channel" | undefined;
780
+ groups?: string[] | undefined;
781
+ };
782
+ }>;
783
+ };
784
+ react: {
785
+ name: "react";
786
+ description: string;
787
+ parameters: {
788
+ targetType: import("zod").ZodEnum<{
789
+ thread: "thread";
790
+ comment: "comment";
791
+ message: "message";
792
+ }>;
793
+ targetId: import("zod").ZodString;
794
+ emoji: import("zod").ZodString;
795
+ operation: import("zod").ZodDefault<import("zod").ZodEnum<{
796
+ add: "add";
797
+ remove: "remove";
798
+ }>>;
799
+ };
800
+ outputSchema: {
801
+ type: import("zod").ZodLiteral<"reaction_result">;
802
+ success: import("zod").ZodBoolean;
803
+ operation: import("zod").ZodEnum<{
804
+ add: "add";
805
+ remove: "remove";
806
+ }>;
807
+ targetType: import("zod").ZodEnum<{
808
+ thread: "thread";
809
+ comment: "comment";
810
+ message: "message";
811
+ }>;
812
+ targetId: import("zod").ZodString;
813
+ emoji: import("zod").ZodString;
814
+ targetUrl: import("zod").ZodString;
815
+ };
816
+ annotations: {
817
+ readOnlyHint: false;
818
+ destructiveHint: true;
819
+ idempotentHint: false;
820
+ };
821
+ execute(args: {
822
+ targetType: "thread" | "comment" | "message";
823
+ targetId: string;
824
+ emoji: string;
825
+ operation: "add" | "remove";
826
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
827
+ textContent: string;
828
+ structuredContent: import("./tools/react.js").ReactStructured;
829
+ }>;
830
+ };
831
+ markDone: {
832
+ name: "mark-done";
833
+ description: string;
834
+ parameters: {
835
+ type: import("zod").ZodEnum<{
836
+ thread: "thread";
837
+ conversation: "conversation";
838
+ }>;
839
+ ids: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
840
+ workspaceId: import("zod").ZodOptional<import("zod").ZodNumber>;
841
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
842
+ markRead: import("zod").ZodOptional<import("zod").ZodBoolean>;
843
+ archive: import("zod").ZodOptional<import("zod").ZodBoolean>;
844
+ clearUnread: import("zod").ZodOptional<import("zod").ZodBoolean>;
845
+ };
846
+ outputSchema: {
847
+ type: import("zod").ZodLiteral<"mark_done_result">;
848
+ itemType: import("zod").ZodEnum<{
849
+ thread: "thread";
850
+ conversation: "conversation";
851
+ }>;
852
+ mode: import("zod").ZodEnum<{
853
+ individual: "individual";
854
+ bulk: "bulk";
855
+ }>;
856
+ completed: import("zod").ZodArray<import("zod").ZodString>;
857
+ failed: import("zod").ZodArray<import("zod").ZodObject<{
858
+ item: import("zod").ZodString;
859
+ error: import("zod").ZodString;
860
+ opErrors: import("zod").ZodArray<import("zod").ZodObject<{
861
+ op: import("zod").ZodEnum<{
862
+ markRead: "markRead";
863
+ archive: "archive";
864
+ }>;
865
+ error: import("zod").ZodString;
866
+ }, import("zod/v4/core").$strip>>;
867
+ }, import("zod/v4/core").$strip>>;
868
+ warnings: import("zod").ZodArray<import("zod").ZodObject<{
869
+ item: import("zod").ZodString;
870
+ op: import("zod").ZodEnum<{
871
+ markRead: "markRead";
872
+ archive: "archive";
873
+ }>;
874
+ error: import("zod").ZodString;
875
+ }, import("zod/v4/core").$strip>>;
876
+ totalRequested: import("zod").ZodNumber;
877
+ successCount: import("zod").ZodNumber;
878
+ failureCount: import("zod").ZodNumber;
879
+ operations: import("zod").ZodObject<{
880
+ markRead: import("zod").ZodBoolean;
881
+ archive: import("zod").ZodBoolean;
882
+ clearUnread: import("zod").ZodBoolean;
883
+ }, import("zod/v4/core").$strip>;
884
+ selectors: import("zod").ZodOptional<import("zod").ZodObject<{
885
+ workspaceId: import("zod").ZodOptional<import("zod").ZodNumber>;
886
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
887
+ }, import("zod/v4/core").$strip>>;
888
+ };
889
+ annotations: {
890
+ readOnlyHint: false;
891
+ destructiveHint: true;
892
+ idempotentHint: true;
893
+ };
894
+ execute(args: {
895
+ type: "thread" | "conversation";
896
+ ids?: string[] | undefined;
897
+ workspaceId?: number | undefined;
898
+ channelId?: string | undefined;
899
+ markRead?: boolean | undefined;
900
+ archive?: boolean | undefined;
901
+ clearUnread?: boolean | undefined;
902
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
903
+ textContent: string;
904
+ structuredContent: import("./tools/mark-done.js").MarkDoneStructured;
905
+ }>;
906
+ };
907
+ markRead: {
908
+ name: "mark-read";
909
+ description: string;
910
+ parameters: {
911
+ workspaceId: import("zod").ZodNumber;
912
+ threadIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
913
+ conversationIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
914
+ all: import("zod").ZodOptional<import("zod").ZodBoolean>;
915
+ };
916
+ outputSchema: {
917
+ type: import("zod").ZodLiteral<"mark_read_result">;
918
+ workspaceId: import("zod").ZodNumber;
919
+ mode: import("zod").ZodEnum<{
920
+ individual: "individual";
921
+ all: "all";
922
+ }>;
923
+ threads: import("zod").ZodObject<{
924
+ marked: import("zod").ZodArray<import("zod").ZodString>;
925
+ alreadyRead: import("zod").ZodArray<import("zod").ZodString>;
926
+ }, import("zod/v4/core").$strip>;
927
+ conversations: import("zod").ZodObject<{
928
+ marked: import("zod").ZodArray<import("zod").ZodString>;
929
+ alreadyRead: import("zod").ZodArray<import("zod").ZodString>;
930
+ }, import("zod/v4/core").$strip>;
931
+ failed: import("zod").ZodArray<import("zod").ZodObject<{
932
+ item: import("zod").ZodString;
933
+ itemType: import("zod").ZodEnum<{
934
+ thread: "thread";
935
+ conversation: "conversation";
936
+ }>;
937
+ error: import("zod").ZodString;
938
+ }, import("zod/v4/core").$strip>>;
939
+ markedCount: import("zod").ZodNumber;
940
+ failureCount: import("zod").ZodNumber;
941
+ };
942
+ annotations: {
943
+ readOnlyHint: false;
944
+ destructiveHint: false;
945
+ idempotentHint: true;
946
+ };
947
+ execute(args: {
948
+ workspaceId: number;
949
+ threadIds?: string[] | undefined;
950
+ conversationIds?: string[] | undefined;
951
+ all?: boolean | undefined;
952
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
953
+ textContent: string;
954
+ structuredContent: import("./tools/mark-read.js").MarkReadStructured;
955
+ }>;
956
+ };
957
+ buildLink: {
958
+ name: "build-link";
959
+ description: string;
960
+ parameters: {
961
+ workspaceId: import("zod").ZodNumber;
962
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
963
+ messageId: import("zod").ZodOptional<import("zod").ZodString>;
964
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
965
+ threadId: import("zod").ZodOptional<import("zod").ZodString>;
966
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
967
+ fullUrl: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
968
+ };
969
+ outputSchema: {
970
+ type: import("zod").ZodLiteral<"link_data">;
971
+ url: import("zod").ZodString;
972
+ linkType: import("zod").ZodEnum<{
973
+ thread: "thread";
974
+ comment: "comment";
975
+ message: "message";
976
+ conversation: "conversation";
977
+ }>;
978
+ params: import("zod").ZodObject<{
979
+ workspaceId: import("zod").ZodNumber;
980
+ conversationId: import("zod").ZodOptional<import("zod").ZodString>;
981
+ messageId: import("zod").ZodOptional<import("zod").ZodString>;
982
+ channelId: import("zod").ZodOptional<import("zod").ZodString>;
983
+ threadId: import("zod").ZodOptional<import("zod").ZodString>;
984
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
985
+ }, import("zod/v4/core").$strip>;
986
+ };
987
+ annotations: {
988
+ readOnlyHint: true;
989
+ destructiveHint: false;
990
+ idempotentHint: true;
991
+ };
992
+ execute(args: {
993
+ workspaceId: number;
994
+ fullUrl: boolean;
995
+ conversationId?: string | undefined;
996
+ messageId?: string | undefined;
997
+ channelId?: string | undefined;
998
+ threadId?: string | undefined;
999
+ commentId?: string | undefined;
1000
+ }, _client: import("@doist/comms-sdk").CommsApi): Promise<{
1001
+ textContent: string;
1002
+ structuredContent: import("./tools/build-link.js").BuildLinkStructured;
1003
+ }>;
1004
+ };
1005
+ listChannels: {
1006
+ name: "list-channels";
1007
+ description: string;
1008
+ parameters: {
1009
+ workspaceId: import("zod").ZodNumber;
1010
+ includeArchived: import("zod").ZodOptional<import("zod").ZodBoolean>;
1011
+ };
1012
+ outputSchema: {
1013
+ type: import("zod").ZodLiteral<"list_channels">;
1014
+ workspaceId: import("zod").ZodNumber;
1015
+ channels: import("zod").ZodArray<import("zod").ZodObject<{
1016
+ name: import("zod").ZodString;
1017
+ description: import("zod").ZodOptional<import("zod").ZodString>;
1018
+ public: import("zod").ZodBoolean;
1019
+ archived: import("zod").ZodBoolean;
1020
+ created: import("zod").ZodString;
1021
+ channelUrl: import("zod").ZodString;
1022
+ id: import("zod").ZodString;
1023
+ creatorId: import("zod").ZodNumber;
1024
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
1025
+ color: import("zod").ZodOptional<import("zod").ZodNumber>;
1026
+ }, import("zod/v4/core").$strip>>;
1027
+ totalChannels: import("zod").ZodNumber;
1028
+ };
1029
+ annotations: {
1030
+ readOnlyHint: true;
1031
+ destructiveHint: false;
1032
+ idempotentHint: true;
1033
+ };
1034
+ execute(args: {
1035
+ workspaceId: number;
1036
+ includeArchived?: boolean | undefined;
1037
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1038
+ textContent: string;
1039
+ structuredContent: import("./tools/list-channels.js").ListChannelsStructured;
1040
+ }>;
1041
+ };
1042
+ listConversations: {
1043
+ name: "list-conversations";
1044
+ description: string;
1045
+ parameters: {
1046
+ workspaceId: import("zod").ZodNumber;
1047
+ includeArchived: import("zod").ZodOptional<import("zod").ZodBoolean>;
1048
+ searchText: import("zod").ZodOptional<import("zod").ZodString>;
1049
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
1050
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
1051
+ };
1052
+ outputSchema: {
1053
+ type: import("zod").ZodLiteral<"list_conversations">;
1054
+ workspaceId: import("zod").ZodNumber;
1055
+ conversations: import("zod").ZodArray<import("zod").ZodObject<{
1056
+ id: import("zod").ZodString;
1057
+ workspaceId: import("zod").ZodNumber;
1058
+ title: import("zod").ZodOptional<import("zod").ZodString>;
1059
+ userIds: import("zod").ZodArray<import("zod").ZodNumber>;
1060
+ participantNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1061
+ archived: import("zod").ZodBoolean;
1062
+ lastActive: import("zod").ZodString;
1063
+ snippet: import("zod").ZodOptional<import("zod").ZodString>;
1064
+ conversationUrl: import("zod").ZodString;
1065
+ }, import("zod/v4/core").$strip>>;
1066
+ totalConversations: import("zod").ZodNumber;
1067
+ hasMore: import("zod").ZodOptional<import("zod").ZodBoolean>;
1068
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
1069
+ };
1070
+ annotations: {
1071
+ readOnlyHint: true;
1072
+ destructiveHint: false;
1073
+ idempotentHint: true;
1074
+ };
1075
+ execute(args: {
1076
+ workspaceId: number;
1077
+ includeArchived?: boolean | undefined;
1078
+ searchText?: string | undefined;
1079
+ limit?: number | undefined;
1080
+ cursor?: string | undefined;
1081
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1082
+ textContent: string;
1083
+ structuredContent: import("./tools/list-conversations.js").ListConversationsStructured;
1084
+ }>;
1085
+ };
1086
+ getGroups: {
1087
+ name: "get-groups";
1088
+ description: string;
1089
+ parameters: {
1090
+ workspaceId: import("zod").ZodNumber;
1091
+ groupIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1092
+ searchText: import("zod").ZodOptional<import("zod").ZodString>;
1093
+ includeMembers: import("zod").ZodOptional<import("zod").ZodBoolean>;
1094
+ };
1095
+ outputSchema: {
1096
+ type: import("zod").ZodLiteral<"get_groups">;
1097
+ workspaceId: import("zod").ZodNumber;
1098
+ groups: import("zod").ZodArray<import("zod").ZodObject<{
1099
+ id: import("zod").ZodString;
1100
+ name: import("zod").ZodString;
1101
+ workspaceId: import("zod").ZodNumber;
1102
+ memberCount: import("zod").ZodNumber;
1103
+ members: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1104
+ id: import("zod").ZodNumber;
1105
+ name: import("zod").ZodOptional<import("zod").ZodString>;
1106
+ email: import("zod").ZodOptional<import("zod").ZodString>;
1107
+ }, import("zod/v4/core").$strip>>>;
1108
+ }, import("zod/v4/core").$strip>>;
1109
+ totalGroups: import("zod").ZodNumber;
1110
+ filteredGroups: import("zod").ZodNumber;
1111
+ };
1112
+ annotations: {
1113
+ readOnlyHint: true;
1114
+ destructiveHint: false;
1115
+ idempotentHint: true;
1116
+ };
1117
+ execute(args: {
1118
+ workspaceId: number;
1119
+ groupIds?: string[] | undefined;
1120
+ searchText?: string | undefined;
1121
+ includeMembers?: boolean | undefined;
1122
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1123
+ textContent: string;
1124
+ structuredContent: {
1125
+ type: "get_groups";
1126
+ workspaceId: number;
1127
+ groups: {
1128
+ id: string;
1129
+ name: string;
1130
+ workspaceId: number;
1131
+ memberCount: number;
1132
+ members?: {
1133
+ id: number;
1134
+ name?: string | undefined;
1135
+ email?: string | undefined;
1136
+ }[] | undefined;
1137
+ }[];
1138
+ totalGroups: number;
1139
+ filteredGroups: number;
1140
+ };
1141
+ }>;
1142
+ };
1143
+ getUsers: {
1144
+ name: "get-users";
1145
+ description: string;
1146
+ parameters: {
1147
+ workspaceId: import("zod").ZodNumber;
1148
+ userIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
1149
+ searchText: import("zod").ZodOptional<import("zod").ZodString>;
1150
+ };
1151
+ outputSchema: {
1152
+ type: import("zod").ZodLiteral<"get_users">;
1153
+ workspaceId: import("zod").ZodNumber;
1154
+ users: import("zod").ZodArray<import("zod").ZodObject<{
1155
+ id: import("zod").ZodNumber;
1156
+ name: import("zod").ZodString;
1157
+ shortName: import("zod").ZodString;
1158
+ email: import("zod").ZodOptional<import("zod").ZodString>;
1159
+ userType: import("zod").ZodOptional<import("zod").ZodString>;
1160
+ removed: import("zod").ZodBoolean;
1161
+ timezone: import("zod").ZodOptional<import("zod").ZodString>;
1162
+ restricted: import("zod").ZodOptional<import("zod").ZodBoolean>;
1163
+ }, import("zod/v4/core").$strip>>;
1164
+ totalUsers: import("zod").ZodNumber;
1165
+ filteredUsers: import("zod").ZodNumber;
1166
+ };
1167
+ annotations: {
1168
+ readOnlyHint: true;
1169
+ destructiveHint: false;
1170
+ idempotentHint: true;
1171
+ };
1172
+ execute(args: {
1173
+ workspaceId: number;
1174
+ userIds?: number[] | undefined;
1175
+ searchText?: string | undefined;
1176
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1177
+ textContent: string;
1178
+ structuredContent: import("./tools/get-users.js").GetUsersStructured;
1179
+ }>;
1180
+ };
1181
+ getWorkspaces: {
1182
+ name: "get-workspaces";
1183
+ description: string;
1184
+ parameters: {};
1185
+ outputSchema: {
1186
+ type: import("zod").ZodLiteral<"get_workspaces">;
1187
+ workspaces: import("zod").ZodArray<import("zod").ZodObject<{
1188
+ id: import("zod").ZodNumber;
1189
+ name: import("zod").ZodString;
1190
+ creator: import("zod").ZodNumber;
1191
+ creatorName: import("zod").ZodOptional<import("zod").ZodString>;
1192
+ created: import("zod").ZodString;
1193
+ url: import("zod").ZodURL;
1194
+ defaultConversation: import("zod").ZodOptional<import("zod").ZodString>;
1195
+ defaultConversationTitle: import("zod").ZodOptional<import("zod").ZodString>;
1196
+ defaultConversationUrl: import("zod").ZodOptional<import("zod").ZodURL>;
1197
+ plan: import("zod").ZodOptional<import("zod").ZodString>;
1198
+ avatarId: import("zod").ZodOptional<import("zod").ZodString>;
1199
+ avatarUrls: import("zod").ZodOptional<import("zod").ZodObject<{
1200
+ s35: import("zod").ZodString;
1201
+ s60: import("zod").ZodString;
1202
+ s195: import("zod").ZodString;
1203
+ s640: import("zod").ZodString;
1204
+ }, import("zod/v4/core").$strip>>;
1205
+ }, import("zod/v4/core").$strip>>;
1206
+ };
1207
+ annotations: {
1208
+ readOnlyHint: true;
1209
+ destructiveHint: false;
1210
+ idempotentHint: true;
1211
+ };
1212
+ execute(_args: Record<string, never>, client: import("@doist/comms-sdk").CommsApi): Promise<{
1213
+ textContent: string;
1214
+ structuredContent: import("./tools/get-workspaces.js").GetWorkspacesStructured;
1215
+ }>;
1216
+ };
1217
+ createChannel: {
1218
+ name: "create-channel";
1219
+ description: string;
1220
+ parameters: {
1221
+ workspaceId: import("zod").ZodNumber;
1222
+ name: import("zod").ZodString;
1223
+ description: import("zod").ZodOptional<import("zod").ZodString>;
1224
+ public: import("zod").ZodOptional<import("zod").ZodBoolean>;
1225
+ userIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
1226
+ };
1227
+ outputSchema: {
1228
+ name: import("zod").ZodString;
1229
+ description: import("zod").ZodOptional<import("zod").ZodString>;
1230
+ public: import("zod").ZodBoolean;
1231
+ archived: import("zod").ZodBoolean;
1232
+ created: import("zod").ZodString;
1233
+ channelUrl: import("zod").ZodString;
1234
+ type: import("zod").ZodLiteral<"create_channel_result">;
1235
+ success: import("zod").ZodBoolean;
1236
+ channelId: import("zod").ZodString;
1237
+ workspaceId: import("zod").ZodNumber;
1238
+ creator: import("zod").ZodNumber;
1239
+ userIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
1240
+ };
1241
+ annotations: {
1242
+ readOnlyHint: false;
1243
+ destructiveHint: false;
1244
+ idempotentHint: false;
1245
+ };
1246
+ execute(args: {
1247
+ workspaceId: number;
1248
+ name: string;
1249
+ description?: string | undefined;
1250
+ public?: boolean | undefined;
1251
+ userIds?: number[] | undefined;
1252
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1253
+ textContent: string;
1254
+ structuredContent: {
1255
+ name: string;
1256
+ public: boolean;
1257
+ archived: boolean;
1258
+ created: string;
1259
+ channelUrl: string;
1260
+ type: "create_channel_result";
1261
+ success: boolean;
1262
+ channelId: string;
1263
+ workspaceId: number;
1264
+ creator: number;
1265
+ description?: string | undefined;
1266
+ userIds?: number[] | undefined;
1267
+ };
1268
+ }>;
1269
+ };
1270
+ updateChannel: {
1271
+ name: "update-channel";
1272
+ description: string;
1273
+ parameters: {
1274
+ channelId: import("zod").ZodString;
1275
+ name: import("zod").ZodOptional<import("zod").ZodString>;
1276
+ description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1277
+ public: import("zod").ZodOptional<import("zod").ZodBoolean>;
1278
+ };
1279
+ outputSchema: {
1280
+ name: import("zod").ZodString;
1281
+ description: import("zod").ZodOptional<import("zod").ZodString>;
1282
+ public: import("zod").ZodBoolean;
1283
+ archived: import("zod").ZodBoolean;
1284
+ created: import("zod").ZodString;
1285
+ channelUrl: import("zod").ZodString;
1286
+ type: import("zod").ZodLiteral<"update_channel_result">;
1287
+ success: import("zod").ZodBoolean;
1288
+ channelId: import("zod").ZodString;
1289
+ workspaceId: import("zod").ZodNumber;
1290
+ creator: import("zod").ZodNumber;
1291
+ userIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
1292
+ };
1293
+ annotations: {
1294
+ readOnlyHint: false;
1295
+ destructiveHint: false;
1296
+ idempotentHint: true;
1297
+ };
1298
+ execute(args: {
1299
+ channelId: string;
1300
+ name?: string | undefined;
1301
+ description?: string | null | undefined;
1302
+ public?: boolean | undefined;
1303
+ }, client: import("@doist/comms-sdk").CommsApi): Promise<{
1304
+ textContent: string;
1305
+ structuredContent: {
1306
+ name: string;
1307
+ public: boolean;
1308
+ archived: boolean;
1309
+ created: string;
1310
+ channelUrl: string;
1311
+ type: "update_channel_result";
1312
+ success: boolean;
1313
+ channelId: string;
1314
+ workspaceId: number;
1315
+ creator: number;
1316
+ description?: string | undefined;
1317
+ userIds?: number[] | undefined;
1318
+ };
1319
+ }>;
1320
+ };
1321
+ };
1322
+ export { tools, getMcpServer, validateCommsToken };
1323
+ export { CommsRequestError } from '@doist/comms-sdk';
1324
+ export { userInfo, updateUserInfo, fetchInbox, loadThread, loadConversation, searchContent, getMentions, createThread, createConversation, updateObject, deleteObject, reply, react, markDone, markRead, buildLink, listChannels, listConversations, getGroups, getUsers, getWorkspaces, createChannel, updateChannel, };