@doist/todoist-mcp 12.4.2 → 12.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,15 +1,19 @@
1
1
  import { FEATURE_NAMES, Feature, FeatureName, Features } from './mcp-helpers.js';
2
2
  import { getMcpServer } from './mcp-server.js';
3
3
  import { requireValidTodoistToken, RequireValidTodoistTokenOptions } from './middleware/require-valid-todoist-token.js';
4
+ import { registeredTools } from './tool-registry.js';
4
5
  import { addComments } from './tools/add-comments.js';
5
6
  import { addFilters } from './tools/add-filters.js';
6
7
  import { addLabels } from './tools/add-labels.js';
7
8
  import { addProjects } from './tools/add-projects.js';
9
+ import { addReminders } from './tools/add-reminders.js';
8
10
  import { addSections } from './tools/add-sections.js';
9
11
  import { addTasks } from './tools/add-tasks.js';
10
12
  import { analyzeProjectHealth } from './tools/analyze-project-health.js';
11
13
  import { completeTasks } from './tools/complete-tasks.js';
12
14
  import { deleteObject } from './tools/delete-object.js';
15
+ import { exportProjectTemplate } from './tools/export-project-template.js';
16
+ import { fetchObject } from './tools/fetch-object.js';
13
17
  import { fetch } from './tools/fetch.js';
14
18
  import { findActivity } from './tools/find-activity.js';
15
19
  import { findComments } from './tools/find-comments.js';
@@ -18,6 +22,7 @@ import { findFilters } from './tools/find-filters.js';
18
22
  import { findLabels } from './tools/find-labels.js';
19
23
  import { findProjectCollaborators } from './tools/find-project-collaborators.js';
20
24
  import { findProjects } from './tools/find-projects.js';
25
+ import { findReminders } from './tools/find-reminders.js';
21
26
  import { findSections } from './tools/find-sections.js';
22
27
  import { findTasksByDate } from './tools/find-tasks-by-date.js';
23
28
  import { findTasks } from './tools/find-tasks.js';
@@ -26,8 +31,11 @@ import { getProductivityStats } from './tools/get-productivity-stats.js';
26
31
  import { getProjectActivityStats } from './tools/get-project-activity-stats.js';
27
32
  import { getProjectHealth } from './tools/get-project-health.js';
28
33
  import { getWorkspaceInsights } from './tools/get-workspace-insights.js';
34
+ import { importProjectTemplate } from './tools/import-project-template.js';
29
35
  import { listWorkspaces } from './tools/list-workspaces.js';
30
36
  import { manageAssignments } from './tools/manage-assignments.js';
37
+ import { projectManagement } from './tools/project-management.js';
38
+ import { projectMove } from './tools/project-move.js';
31
39
  import { reorderObjects } from './tools/reorder-objects.js';
32
40
  import { rescheduleTasks } from './tools/reschedule-tasks.js';
33
41
  import { search } from './tools/search.js';
@@ -36,11 +44,17 @@ import { updateComments } from './tools/update-comments.js';
36
44
  import { updateFilters } from './tools/update-filters.js';
37
45
  import { updateLabels } from './tools/update-labels.js';
38
46
  import { updateProjects } from './tools/update-projects.js';
47
+ import { updateReminders } from './tools/update-reminders.js';
39
48
  import { updateSections } from './tools/update-sections.js';
40
49
  import { updateTasks } from './tools/update-tasks.js';
41
50
  import { userInfo } from './tools/user-info.js';
42
51
  import { viewAttachment } from './tools/view-attachment.js';
43
52
  import { validateTodoistToken } from './utils/validate-todoist-token.js';
53
+ /**
54
+ * Every tool, keyed by its export name.
55
+ *
56
+ * Derived from the registry so it cannot drift from what the server registers.
57
+ */
44
58
  declare const tools: {
45
59
  addTasks: {
46
60
  name: "add-tasks";
@@ -361,6 +375,81 @@ declare const tools: {
361
375
  };
362
376
  }>;
363
377
  };
378
+ rescheduleTasks: {
379
+ name: "reschedule-tasks";
380
+ description: string;
381
+ parameters: {
382
+ tasks: import('zod').ZodArray<import('zod').ZodObject<{
383
+ id: import('zod').ZodString;
384
+ date: import('zod').ZodString;
385
+ }, import('zod/v4/core').$strip>>;
386
+ };
387
+ outputSchema: {
388
+ tasks: import('zod').ZodArray<import('zod').ZodObject<{
389
+ id: import('zod').ZodString;
390
+ content: import('zod').ZodString;
391
+ description: import('zod').ZodString;
392
+ dueDate: import('zod').ZodOptional<import('zod').ZodString>;
393
+ recurring: import('zod').ZodUnion<readonly [import('zod').ZodBoolean, import('zod').ZodString]>;
394
+ deadlineDate: import('zod').ZodOptional<import('zod').ZodString>;
395
+ priority: import('zod').ZodEnum<{
396
+ p1: "p1";
397
+ p2: "p2";
398
+ p3: "p3";
399
+ p4: "p4";
400
+ }>;
401
+ projectId: import('zod').ZodString;
402
+ sectionId: import('zod').ZodOptional<import('zod').ZodString>;
403
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
404
+ labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
405
+ duration: import('zod').ZodOptional<import('zod').ZodString>;
406
+ responsibleUid: import('zod').ZodOptional<import('zod').ZodString>;
407
+ isUncompletable: import('zod').ZodOptional<import('zod').ZodBoolean>;
408
+ assignedByUid: import('zod').ZodOptional<import('zod').ZodString>;
409
+ checked: import('zod').ZodBoolean;
410
+ completedAt: import('zod').ZodOptional<import('zod').ZodString>;
411
+ addedAt: import('zod').ZodOptional<import('zod').ZodString>;
412
+ }, import('zod/v4/core').$strip>>;
413
+ totalCount: import('zod').ZodNumber;
414
+ rescheduledTaskIds: import('zod').ZodArray<import('zod').ZodString>;
415
+ };
416
+ annotations: {
417
+ readOnlyHint: false;
418
+ destructiveHint: true;
419
+ idempotentHint: false;
420
+ };
421
+ execute(args: {
422
+ tasks: {
423
+ id: string;
424
+ date: string;
425
+ }[];
426
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
427
+ textContent: string;
428
+ structuredContent: {
429
+ tasks: {
430
+ id: string;
431
+ content: string;
432
+ description: string;
433
+ dueDate: string | undefined;
434
+ recurring: string | boolean;
435
+ deadlineDate: string | undefined;
436
+ priority: "p1" | "p2" | "p3" | "p4";
437
+ projectId: string;
438
+ sectionId: string | undefined;
439
+ parentId: string | undefined;
440
+ labels: string[];
441
+ duration: string | undefined;
442
+ responsibleUid: string | undefined;
443
+ assignedByUid: string | undefined;
444
+ checked: boolean;
445
+ completedAt: string | undefined;
446
+ addedAt: string | undefined;
447
+ }[];
448
+ totalCount: number;
449
+ rescheduledTaskIds: string[];
450
+ };
451
+ }>;
452
+ };
364
453
  findTasks: {
365
454
  name: "find-tasks";
366
455
  description: string;
@@ -477,6 +566,11 @@ declare const tools: {
477
566
  }>;
478
567
  };
479
568
  findTasksByDate: {
569
+ _meta: {
570
+ ui: {
571
+ resourceUri: string;
572
+ };
573
+ };
480
574
  name: "find-tasks-by-date";
481
575
  description: string;
482
576
  parameters: {
@@ -700,81 +794,6 @@ declare const tools: {
700
794
  };
701
795
  }>;
702
796
  };
703
- rescheduleTasks: {
704
- name: "reschedule-tasks";
705
- description: string;
706
- parameters: {
707
- tasks: import('zod').ZodArray<import('zod').ZodObject<{
708
- id: import('zod').ZodString;
709
- date: import('zod').ZodString;
710
- }, import('zod/v4/core').$strip>>;
711
- };
712
- outputSchema: {
713
- tasks: import('zod').ZodArray<import('zod').ZodObject<{
714
- id: import('zod').ZodString;
715
- content: import('zod').ZodString;
716
- description: import('zod').ZodString;
717
- dueDate: import('zod').ZodOptional<import('zod').ZodString>;
718
- recurring: import('zod').ZodUnion<readonly [import('zod').ZodBoolean, import('zod').ZodString]>;
719
- deadlineDate: import('zod').ZodOptional<import('zod').ZodString>;
720
- priority: import('zod').ZodEnum<{
721
- p1: "p1";
722
- p2: "p2";
723
- p3: "p3";
724
- p4: "p4";
725
- }>;
726
- projectId: import('zod').ZodString;
727
- sectionId: import('zod').ZodOptional<import('zod').ZodString>;
728
- parentId: import('zod').ZodOptional<import('zod').ZodString>;
729
- labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
730
- duration: import('zod').ZodOptional<import('zod').ZodString>;
731
- responsibleUid: import('zod').ZodOptional<import('zod').ZodString>;
732
- isUncompletable: import('zod').ZodOptional<import('zod').ZodBoolean>;
733
- assignedByUid: import('zod').ZodOptional<import('zod').ZodString>;
734
- checked: import('zod').ZodBoolean;
735
- completedAt: import('zod').ZodOptional<import('zod').ZodString>;
736
- addedAt: import('zod').ZodOptional<import('zod').ZodString>;
737
- }, import('zod/v4/core').$strip>>;
738
- totalCount: import('zod').ZodNumber;
739
- rescheduledTaskIds: import('zod').ZodArray<import('zod').ZodString>;
740
- };
741
- annotations: {
742
- readOnlyHint: false;
743
- destructiveHint: true;
744
- idempotentHint: false;
745
- };
746
- execute(args: {
747
- tasks: {
748
- id: string;
749
- date: string;
750
- }[];
751
- }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
752
- textContent: string;
753
- structuredContent: {
754
- tasks: {
755
- id: string;
756
- content: string;
757
- description: string;
758
- dueDate: string | undefined;
759
- recurring: string | boolean;
760
- deadlineDate: string | undefined;
761
- priority: "p1" | "p2" | "p3" | "p4";
762
- projectId: string;
763
- sectionId: string | undefined;
764
- parentId: string | undefined;
765
- labels: string[];
766
- duration: string | undefined;
767
- responsibleUid: string | undefined;
768
- assignedByUid: string | undefined;
769
- checked: boolean;
770
- completedAt: string | undefined;
771
- addedAt: string | undefined;
772
- }[];
773
- totalCount: number;
774
- rescheduledTaskIds: string[];
775
- };
776
- }>;
777
- };
778
797
  addProjects: {
779
798
  name: "add-projects";
780
799
  description: string;
@@ -1134,79 +1153,247 @@ declare const tools: {
1134
1153
  };
1135
1154
  }>;
1136
1155
  };
1137
- addSections: {
1138
- name: "add-sections";
1156
+ projectManagement: {
1157
+ name: "project-management";
1139
1158
  description: string;
1140
1159
  parameters: {
1141
- sections: import('zod').ZodArray<import('zod').ZodObject<{
1142
- name: import('zod').ZodString;
1143
- projectId: import('zod').ZodString;
1144
- description: import('zod').ZodOptional<import('zod').ZodString>;
1145
- }, import('zod/v4/core').$strip>>;
1160
+ action: import('zod').ZodEnum<{
1161
+ archive: "archive";
1162
+ unarchive: "unarchive";
1163
+ }>;
1164
+ projectId: import('zod').ZodString;
1146
1165
  };
1147
1166
  outputSchema: {
1148
- sections: import('zod').ZodArray<import('zod').ZodObject<{
1167
+ project: import('zod').ZodObject<{
1149
1168
  id: import('zod').ZodString;
1150
1169
  name: import('zod').ZodString;
1151
- sectionOrder: import('zod').ZodNumber;
1152
- description: import('zod').ZodOptional<import('zod').ZodString>;
1153
- }, import('zod/v4/core').$strip>>;
1154
- totalCount: import('zod').ZodNumber;
1155
- failures: import('zod').ZodArray<import('zod').ZodObject<{
1156
- item: import('zod').ZodString;
1157
- error: import('zod').ZodString;
1158
- code: import('zod').ZodOptional<import('zod').ZodString>;
1159
- }, import('zod/v4/core').$strip>>;
1160
- totalRequested: import('zod').ZodNumber;
1161
- successCount: import('zod').ZodNumber;
1162
- failureCount: import('zod').ZodNumber;
1170
+ description: import('zod').ZodString;
1171
+ color: import('zod').ZodCatch<import('zod').ZodOptional<import('zod').ZodEnum<{
1172
+ berry_red: "berry_red";
1173
+ red: "red";
1174
+ orange: "orange";
1175
+ yellow: "yellow";
1176
+ olive_green: "olive_green";
1177
+ lime_green: "lime_green";
1178
+ green: "green";
1179
+ mint_green: "mint_green";
1180
+ teal: "teal";
1181
+ sky_blue: "sky_blue";
1182
+ light_blue: "light_blue";
1183
+ blue: "blue";
1184
+ grape: "grape";
1185
+ violet: "violet";
1186
+ lavender: "lavender";
1187
+ magenta: "magenta";
1188
+ salmon: "salmon";
1189
+ charcoal: "charcoal";
1190
+ grey: "grey";
1191
+ taupe: "taupe";
1192
+ }>>>;
1193
+ isFavorite: import('zod').ZodBoolean;
1194
+ isShared: import('zod').ZodBoolean;
1195
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
1196
+ inboxProject: import('zod').ZodBoolean;
1197
+ viewStyle: import('zod').ZodString;
1198
+ workspaceId: import('zod').ZodOptional<import('zod').ZodString>;
1199
+ folderId: import('zod').ZodOptional<import('zod').ZodString>;
1200
+ childOrder: import('zod').ZodNumber;
1201
+ isArchived: import('zod').ZodBoolean;
1202
+ }, import('zod/v4/core').$strip>;
1203
+ success: import('zod').ZodBoolean;
1163
1204
  };
1164
1205
  annotations: {
1165
1206
  readOnlyHint: false;
1166
1207
  destructiveHint: false;
1167
- idempotentHint: false;
1208
+ idempotentHint: true;
1168
1209
  };
1169
- execute({ sections }: {
1170
- sections: {
1171
- name: string;
1172
- projectId: string;
1173
- description?: string | undefined;
1174
- }[];
1210
+ execute(args: {
1211
+ action: "archive" | "unarchive";
1212
+ projectId: string;
1175
1213
  }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1176
1214
  textContent: string;
1177
1215
  structuredContent: {
1178
- sections: {
1216
+ project: {
1179
1217
  id: string;
1180
1218
  name: string;
1181
- sectionOrder: number;
1182
- description?: string | undefined;
1183
- }[];
1184
- totalCount: number;
1185
- failures: {
1186
- item: string;
1187
- error: string;
1188
- }[];
1189
- totalRequested: number;
1190
- successCount: number;
1191
- failureCount: number;
1219
+ description: string;
1220
+ color: import('@doist/todoist-sdk').ColorKey;
1221
+ isFavorite: boolean;
1222
+ isShared: boolean;
1223
+ parentId: string | undefined;
1224
+ inboxProject: boolean;
1225
+ viewStyle: string;
1226
+ workspaceId: string | undefined;
1227
+ folderId: string | undefined;
1228
+ childOrder: number;
1229
+ isArchived: boolean;
1230
+ };
1231
+ success: true;
1192
1232
  };
1193
1233
  }>;
1194
1234
  };
1195
- updateSections: {
1196
- name: "update-sections";
1235
+ projectMove: {
1236
+ name: "project-move";
1197
1237
  description: string;
1198
1238
  parameters: {
1199
- sections: import('zod').ZodArray<import('zod').ZodObject<{
1200
- id: import('zod').ZodString;
1201
- name: import('zod').ZodOptional<import('zod').ZodString>;
1202
- description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
1203
- }, import('zod/v4/core').$strip>>;
1239
+ action: import('zod').ZodEnum<{
1240
+ "move-to-workspace": "move-to-workspace";
1241
+ "move-to-personal": "move-to-personal";
1242
+ }>;
1243
+ projectId: import('zod').ZodString;
1244
+ workspaceId: import('zod').ZodOptional<import('zod').ZodString>;
1245
+ folderId: import('zod').ZodOptional<import('zod').ZodString>;
1246
+ visibility: import('zod').ZodOptional<import('zod').ZodEnum<{
1247
+ public: "public";
1248
+ restricted: "restricted";
1249
+ team: "team";
1250
+ }>>;
1204
1251
  };
1205
1252
  outputSchema: {
1206
- sections: import('zod').ZodArray<import('zod').ZodObject<{
1253
+ project: import('zod').ZodObject<{
1207
1254
  id: import('zod').ZodString;
1208
1255
  name: import('zod').ZodString;
1209
- sectionOrder: import('zod').ZodNumber;
1256
+ description: import('zod').ZodString;
1257
+ color: import('zod').ZodCatch<import('zod').ZodOptional<import('zod').ZodEnum<{
1258
+ berry_red: "berry_red";
1259
+ red: "red";
1260
+ orange: "orange";
1261
+ yellow: "yellow";
1262
+ olive_green: "olive_green";
1263
+ lime_green: "lime_green";
1264
+ green: "green";
1265
+ mint_green: "mint_green";
1266
+ teal: "teal";
1267
+ sky_blue: "sky_blue";
1268
+ light_blue: "light_blue";
1269
+ blue: "blue";
1270
+ grape: "grape";
1271
+ violet: "violet";
1272
+ lavender: "lavender";
1273
+ magenta: "magenta";
1274
+ salmon: "salmon";
1275
+ charcoal: "charcoal";
1276
+ grey: "grey";
1277
+ taupe: "taupe";
1278
+ }>>>;
1279
+ isFavorite: import('zod').ZodBoolean;
1280
+ isShared: import('zod').ZodBoolean;
1281
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
1282
+ inboxProject: import('zod').ZodBoolean;
1283
+ viewStyle: import('zod').ZodString;
1284
+ workspaceId: import('zod').ZodOptional<import('zod').ZodString>;
1285
+ folderId: import('zod').ZodOptional<import('zod').ZodString>;
1286
+ childOrder: import('zod').ZodNumber;
1287
+ isArchived: import('zod').ZodBoolean;
1288
+ }, import('zod/v4/core').$strip>;
1289
+ success: import('zod').ZodBoolean;
1290
+ };
1291
+ annotations: {
1292
+ readOnlyHint: false;
1293
+ destructiveHint: false;
1294
+ idempotentHint: true;
1295
+ };
1296
+ execute(args: {
1297
+ action: "move-to-workspace" | "move-to-personal";
1298
+ projectId: string;
1299
+ workspaceId?: string | undefined;
1300
+ folderId?: string | undefined;
1301
+ visibility?: "public" | "restricted" | "team" | undefined;
1302
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1303
+ textContent: string;
1304
+ structuredContent: {
1305
+ project: {
1306
+ id: string;
1307
+ name: string;
1308
+ description: string;
1309
+ color: import('@doist/todoist-sdk').ColorKey;
1310
+ isFavorite: boolean;
1311
+ isShared: boolean;
1312
+ parentId: string | undefined;
1313
+ inboxProject: boolean;
1314
+ viewStyle: string;
1315
+ workspaceId: string | undefined;
1316
+ folderId: string | undefined;
1317
+ childOrder: number;
1318
+ isArchived: boolean;
1319
+ };
1320
+ success: true;
1321
+ };
1322
+ }>;
1323
+ };
1324
+ addSections: {
1325
+ name: "add-sections";
1326
+ description: string;
1327
+ parameters: {
1328
+ sections: import('zod').ZodArray<import('zod').ZodObject<{
1329
+ name: import('zod').ZodString;
1330
+ projectId: import('zod').ZodString;
1331
+ description: import('zod').ZodOptional<import('zod').ZodString>;
1332
+ }, import('zod/v4/core').$strip>>;
1333
+ };
1334
+ outputSchema: {
1335
+ sections: import('zod').ZodArray<import('zod').ZodObject<{
1336
+ id: import('zod').ZodString;
1337
+ name: import('zod').ZodString;
1338
+ sectionOrder: import('zod').ZodNumber;
1339
+ description: import('zod').ZodOptional<import('zod').ZodString>;
1340
+ }, import('zod/v4/core').$strip>>;
1341
+ totalCount: import('zod').ZodNumber;
1342
+ failures: import('zod').ZodArray<import('zod').ZodObject<{
1343
+ item: import('zod').ZodString;
1344
+ error: import('zod').ZodString;
1345
+ code: import('zod').ZodOptional<import('zod').ZodString>;
1346
+ }, import('zod/v4/core').$strip>>;
1347
+ totalRequested: import('zod').ZodNumber;
1348
+ successCount: import('zod').ZodNumber;
1349
+ failureCount: import('zod').ZodNumber;
1350
+ };
1351
+ annotations: {
1352
+ readOnlyHint: false;
1353
+ destructiveHint: false;
1354
+ idempotentHint: false;
1355
+ };
1356
+ execute({ sections }: {
1357
+ sections: {
1358
+ name: string;
1359
+ projectId: string;
1360
+ description?: string | undefined;
1361
+ }[];
1362
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1363
+ textContent: string;
1364
+ structuredContent: {
1365
+ sections: {
1366
+ id: string;
1367
+ name: string;
1368
+ sectionOrder: number;
1369
+ description?: string | undefined;
1370
+ }[];
1371
+ totalCount: number;
1372
+ failures: {
1373
+ item: string;
1374
+ error: string;
1375
+ }[];
1376
+ totalRequested: number;
1377
+ successCount: number;
1378
+ failureCount: number;
1379
+ };
1380
+ }>;
1381
+ };
1382
+ updateSections: {
1383
+ name: "update-sections";
1384
+ description: string;
1385
+ parameters: {
1386
+ sections: import('zod').ZodArray<import('zod').ZodObject<{
1387
+ id: import('zod').ZodString;
1388
+ name: import('zod').ZodOptional<import('zod').ZodString>;
1389
+ description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
1390
+ }, import('zod/v4/core').$strip>>;
1391
+ };
1392
+ outputSchema: {
1393
+ sections: import('zod').ZodArray<import('zod').ZodObject<{
1394
+ id: import('zod').ZodString;
1395
+ name: import('zod').ZodString;
1396
+ sectionOrder: import('zod').ZodNumber;
1210
1397
  description: import('zod').ZodOptional<import('zod').ZodString>;
1211
1398
  }, import('zod/v4/core').$strip>>;
1212
1399
  totalCount: import('zod').ZodNumber;
@@ -1359,14 +1546,15 @@ declare const tools: {
1359
1546
  };
1360
1547
  }>;
1361
1548
  };
1362
- updateComments: {
1363
- name: "update-comments";
1549
+ findComments: {
1550
+ name: "find-comments";
1364
1551
  description: string;
1365
1552
  parameters: {
1366
- comments: import('zod').ZodArray<import('zod').ZodObject<{
1367
- id: import('zod').ZodString;
1368
- content: import('zod').ZodString;
1369
- }, import('zod/v4/core').$strip>>;
1553
+ taskId: import('zod').ZodOptional<import('zod').ZodString>;
1554
+ projectId: import('zod').ZodOptional<import('zod').ZodString>;
1555
+ commentId: import('zod').ZodOptional<import('zod').ZodString>;
1556
+ cursor: import('zod').ZodOptional<import('zod').ZodString>;
1557
+ limit: import('zod').ZodOptional<import('zod').ZodNumber>;
1370
1558
  };
1371
1559
  outputSchema: {
1372
1560
  comments: import('zod').ZodArray<import('zod').ZodObject<{
@@ -1394,22 +1582,23 @@ declare const tools: {
1394
1582
  imageHeight: import('zod').ZodOptional<import('zod').ZodNumber>;
1395
1583
  }, import('zod/v4/core').$strip>>;
1396
1584
  }, import('zod/v4/core').$strip>>;
1585
+ searchType: import('zod').ZodString;
1586
+ searchId: import('zod').ZodString;
1587
+ hasMore: import('zod').ZodBoolean;
1588
+ nextCursor: import('zod').ZodOptional<import('zod').ZodString>;
1397
1589
  totalCount: import('zod').ZodNumber;
1398
- updatedCommentIds: import('zod').ZodArray<import('zod').ZodString>;
1399
- appliedOperations: import('zod').ZodObject<{
1400
- updateCount: import('zod').ZodNumber;
1401
- }, import('zod/v4/core').$strip>;
1402
1590
  };
1403
1591
  annotations: {
1404
- readOnlyHint: false;
1405
- destructiveHint: true;
1406
- idempotentHint: false;
1592
+ readOnlyHint: true;
1593
+ destructiveHint: false;
1594
+ idempotentHint: true;
1407
1595
  };
1408
1596
  execute(args: {
1409
- comments: {
1410
- id: string;
1411
- content: string;
1412
- }[];
1597
+ taskId?: string | undefined;
1598
+ projectId?: string | undefined;
1599
+ commentId?: string | undefined;
1600
+ cursor?: string | undefined;
1601
+ limit?: number | undefined;
1413
1602
  }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1414
1603
  textContent: string;
1415
1604
  structuredContent: {
@@ -1435,23 +1624,22 @@ declare const tools: {
1435
1624
  imageHeight: number | undefined;
1436
1625
  } | undefined;
1437
1626
  }[];
1627
+ searchType: string;
1628
+ searchId: string;
1629
+ hasMore: boolean;
1630
+ nextCursor: string | undefined;
1438
1631
  totalCount: number;
1439
- updatedCommentIds: string[];
1440
- appliedOperations: {
1441
- updateCount: number;
1442
- };
1443
1632
  };
1444
1633
  }>;
1445
1634
  };
1446
- findComments: {
1447
- name: "find-comments";
1635
+ updateComments: {
1636
+ name: "update-comments";
1448
1637
  description: string;
1449
1638
  parameters: {
1450
- taskId: import('zod').ZodOptional<import('zod').ZodString>;
1451
- projectId: import('zod').ZodOptional<import('zod').ZodString>;
1452
- commentId: import('zod').ZodOptional<import('zod').ZodString>;
1453
- cursor: import('zod').ZodOptional<import('zod').ZodString>;
1454
- limit: import('zod').ZodOptional<import('zod').ZodNumber>;
1639
+ comments: import('zod').ZodArray<import('zod').ZodObject<{
1640
+ id: import('zod').ZodString;
1641
+ content: import('zod').ZodString;
1642
+ }, import('zod/v4/core').$strip>>;
1455
1643
  };
1456
1644
  outputSchema: {
1457
1645
  comments: import('zod').ZodArray<import('zod').ZodObject<{
@@ -1479,23 +1667,22 @@ declare const tools: {
1479
1667
  imageHeight: import('zod').ZodOptional<import('zod').ZodNumber>;
1480
1668
  }, import('zod/v4/core').$strip>>;
1481
1669
  }, import('zod/v4/core').$strip>>;
1482
- searchType: import('zod').ZodString;
1483
- searchId: import('zod').ZodString;
1484
- hasMore: import('zod').ZodBoolean;
1485
- nextCursor: import('zod').ZodOptional<import('zod').ZodString>;
1486
1670
  totalCount: import('zod').ZodNumber;
1671
+ updatedCommentIds: import('zod').ZodArray<import('zod').ZodString>;
1672
+ appliedOperations: import('zod').ZodObject<{
1673
+ updateCount: import('zod').ZodNumber;
1674
+ }, import('zod/v4/core').$strip>;
1487
1675
  };
1488
1676
  annotations: {
1489
- readOnlyHint: true;
1490
- destructiveHint: false;
1491
- idempotentHint: true;
1677
+ readOnlyHint: false;
1678
+ destructiveHint: true;
1679
+ idempotentHint: false;
1492
1680
  };
1493
1681
  execute(args: {
1494
- taskId?: string | undefined;
1495
- projectId?: string | undefined;
1496
- commentId?: string | undefined;
1497
- cursor?: string | undefined;
1498
- limit?: number | undefined;
1682
+ comments: {
1683
+ id: string;
1684
+ content: string;
1685
+ }[];
1499
1686
  }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1500
1687
  textContent: string;
1501
1688
  structuredContent: {
@@ -1521,28 +1708,410 @@ declare const tools: {
1521
1708
  imageHeight: number | undefined;
1522
1709
  } | undefined;
1523
1710
  }[];
1524
- searchType: string;
1525
- searchId: string;
1526
- hasMore: boolean;
1527
- nextCursor: string | undefined;
1528
1711
  totalCount: number;
1712
+ updatedCommentIds: string[];
1713
+ appliedOperations: {
1714
+ updateCount: number;
1715
+ };
1529
1716
  };
1530
1717
  }>;
1531
1718
  };
1532
- viewAttachment: {
1533
- name: "view-attachment";
1719
+ addReminders: {
1720
+ name: "add-reminders";
1534
1721
  description: string;
1535
1722
  parameters: {
1536
- fileUrl: import('zod').ZodURL;
1723
+ reminders: import('zod').ZodArray<import('zod').ZodDiscriminatedUnion<[import('zod').ZodObject<{
1724
+ type: import('zod').ZodLiteral<"relative">;
1725
+ taskId: import('zod').ZodString;
1726
+ minuteOffset: import('zod').ZodNumber;
1727
+ service: import('zod').ZodOptional<import('zod').ZodEnum<{
1728
+ push: "push";
1729
+ email: "email";
1730
+ }>>;
1731
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1732
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
1733
+ type: import('zod').ZodLiteral<"absolute">;
1734
+ taskId: import('zod').ZodString;
1735
+ due: import('zod').ZodObject<{
1736
+ date: import('zod').ZodOptional<import('zod').ZodString>;
1737
+ string: import('zod').ZodOptional<import('zod').ZodString>;
1738
+ timezone: import('zod').ZodOptional<import('zod').ZodString>;
1739
+ lang: import('zod').ZodOptional<import('zod').ZodString>;
1740
+ }, import('zod/v4/core').$strip>;
1741
+ service: import('zod').ZodOptional<import('zod').ZodEnum<{
1742
+ push: "push";
1743
+ email: "email";
1744
+ }>>;
1745
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1746
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
1747
+ type: import('zod').ZodLiteral<"location">;
1748
+ taskId: import('zod').ZodString;
1749
+ name: import('zod').ZodString;
1750
+ locLat: import('zod').ZodString;
1751
+ locLong: import('zod').ZodString;
1752
+ locTrigger: import('zod').ZodEnum<{
1753
+ on_enter: "on_enter";
1754
+ on_leave: "on_leave";
1755
+ }>;
1756
+ radius: import('zod').ZodOptional<import('zod').ZodNumber>;
1757
+ }, import('zod/v4/core').$strip>], "type">>;
1758
+ };
1759
+ outputSchema: {
1760
+ reminders: import('zod').ZodArray<import('zod').ZodObject<{
1761
+ id: import('zod').ZodString;
1762
+ taskId: import('zod').ZodString;
1763
+ type: import('zod').ZodEnum<{
1764
+ location: "location";
1765
+ absolute: "absolute";
1766
+ relative: "relative";
1767
+ }>;
1768
+ minuteOffset: import('zod').ZodOptional<import('zod').ZodNumber>;
1769
+ due: import('zod').ZodOptional<import('zod').ZodObject<{
1770
+ isRecurring: import('zod').ZodBoolean;
1771
+ string: import('zod').ZodString;
1772
+ date: import('zod').ZodString;
1773
+ datetime: import('zod').ZodOptional<import('zod').ZodString>;
1774
+ timezone: import('zod').ZodOptional<import('zod').ZodString>;
1775
+ }, import('zod/v4/core').$strip>>;
1776
+ name: import('zod').ZodOptional<import('zod').ZodString>;
1777
+ locLat: import('zod').ZodOptional<import('zod').ZodString>;
1778
+ locLong: import('zod').ZodOptional<import('zod').ZodString>;
1779
+ locTrigger: import('zod').ZodOptional<import('zod').ZodEnum<{
1780
+ on_enter: "on_enter";
1781
+ on_leave: "on_leave";
1782
+ }>>;
1783
+ radius: import('zod').ZodOptional<import('zod').ZodNumber>;
1784
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1785
+ }, import('zod/v4/core').$strip>>;
1786
+ totalCount: import('zod').ZodNumber;
1787
+ addedReminderIds: import('zod').ZodArray<import('zod').ZodString>;
1537
1788
  };
1538
1789
  annotations: {
1539
- readOnlyHint: true;
1790
+ readOnlyHint: false;
1540
1791
  destructiveHint: false;
1541
- idempotentHint: true;
1792
+ idempotentHint: false;
1542
1793
  };
1543
- execute({ fileUrl }: {
1544
- fileUrl: string;
1545
- }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1794
+ execute(args: {
1795
+ reminders: ({
1796
+ type: "relative";
1797
+ taskId: string;
1798
+ minuteOffset: number;
1799
+ service?: "push" | "email" | undefined;
1800
+ isUrgent?: boolean | undefined;
1801
+ } | {
1802
+ type: "absolute";
1803
+ taskId: string;
1804
+ due: {
1805
+ date?: string | undefined;
1806
+ string?: string | undefined;
1807
+ timezone?: string | undefined;
1808
+ lang?: string | undefined;
1809
+ };
1810
+ service?: "push" | "email" | undefined;
1811
+ isUrgent?: boolean | undefined;
1812
+ } | {
1813
+ type: "location";
1814
+ taskId: string;
1815
+ name: string;
1816
+ locLat: string;
1817
+ locLong: string;
1818
+ locTrigger: "on_enter" | "on_leave";
1819
+ radius?: number | undefined;
1820
+ })[];
1821
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1822
+ textContent: string;
1823
+ structuredContent: {
1824
+ reminders: ({
1825
+ minuteOffset: number;
1826
+ due: {
1827
+ isRecurring: boolean;
1828
+ string: string;
1829
+ date: string;
1830
+ datetime: string | undefined;
1831
+ timezone: string | undefined;
1832
+ } | undefined;
1833
+ isUrgent: boolean | undefined;
1834
+ id: string;
1835
+ taskId: string;
1836
+ type: "location" | "absolute" | "relative";
1837
+ } | {
1838
+ due: {
1839
+ isRecurring: boolean;
1840
+ string: string;
1841
+ date: string;
1842
+ datetime: string | undefined;
1843
+ timezone: string | undefined;
1844
+ };
1845
+ isUrgent: boolean | undefined;
1846
+ id: string;
1847
+ taskId: string;
1848
+ type: "location" | "absolute" | "relative";
1849
+ } | {
1850
+ name: string;
1851
+ locLat: string;
1852
+ locLong: string;
1853
+ locTrigger: "on_enter" | "on_leave";
1854
+ radius: number;
1855
+ id: string;
1856
+ taskId: string;
1857
+ type: "location" | "absolute" | "relative";
1858
+ })[];
1859
+ totalCount: number;
1860
+ addedReminderIds: string[];
1861
+ };
1862
+ }>;
1863
+ };
1864
+ findReminders: {
1865
+ name: "find-reminders";
1866
+ description: string;
1867
+ parameters: {
1868
+ taskId: import('zod').ZodOptional<import('zod').ZodString>;
1869
+ reminderId: import('zod').ZodOptional<import('zod').ZodString>;
1870
+ locationReminderId: import('zod').ZodOptional<import('zod').ZodString>;
1871
+ };
1872
+ outputSchema: {
1873
+ reminders: import('zod').ZodArray<import('zod').ZodObject<{
1874
+ id: import('zod').ZodString;
1875
+ taskId: import('zod').ZodString;
1876
+ type: import('zod').ZodEnum<{
1877
+ location: "location";
1878
+ absolute: "absolute";
1879
+ relative: "relative";
1880
+ }>;
1881
+ minuteOffset: import('zod').ZodOptional<import('zod').ZodNumber>;
1882
+ due: import('zod').ZodOptional<import('zod').ZodObject<{
1883
+ isRecurring: import('zod').ZodBoolean;
1884
+ string: import('zod').ZodString;
1885
+ date: import('zod').ZodString;
1886
+ datetime: import('zod').ZodOptional<import('zod').ZodString>;
1887
+ timezone: import('zod').ZodOptional<import('zod').ZodString>;
1888
+ }, import('zod/v4/core').$strip>>;
1889
+ name: import('zod').ZodOptional<import('zod').ZodString>;
1890
+ locLat: import('zod').ZodOptional<import('zod').ZodString>;
1891
+ locLong: import('zod').ZodOptional<import('zod').ZodString>;
1892
+ locTrigger: import('zod').ZodOptional<import('zod').ZodEnum<{
1893
+ on_enter: "on_enter";
1894
+ on_leave: "on_leave";
1895
+ }>>;
1896
+ radius: import('zod').ZodOptional<import('zod').ZodNumber>;
1897
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1898
+ }, import('zod/v4/core').$strip>>;
1899
+ searchType: import('zod').ZodString;
1900
+ searchId: import('zod').ZodString;
1901
+ totalCount: import('zod').ZodNumber;
1902
+ };
1903
+ annotations: {
1904
+ readOnlyHint: true;
1905
+ destructiveHint: false;
1906
+ idempotentHint: true;
1907
+ };
1908
+ execute(args: {
1909
+ taskId?: string | undefined;
1910
+ reminderId?: string | undefined;
1911
+ locationReminderId?: string | undefined;
1912
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1913
+ textContent: string;
1914
+ structuredContent: {
1915
+ reminders: ({
1916
+ minuteOffset: number;
1917
+ due: {
1918
+ isRecurring: boolean;
1919
+ string: string;
1920
+ date: string;
1921
+ datetime: string | undefined;
1922
+ timezone: string | undefined;
1923
+ } | undefined;
1924
+ isUrgent: boolean | undefined;
1925
+ id: string;
1926
+ taskId: string;
1927
+ type: "location" | "absolute" | "relative";
1928
+ } | {
1929
+ due: {
1930
+ isRecurring: boolean;
1931
+ string: string;
1932
+ date: string;
1933
+ datetime: string | undefined;
1934
+ timezone: string | undefined;
1935
+ };
1936
+ isUrgent: boolean | undefined;
1937
+ id: string;
1938
+ taskId: string;
1939
+ type: "location" | "absolute" | "relative";
1940
+ } | {
1941
+ name: string;
1942
+ locLat: string;
1943
+ locLong: string;
1944
+ locTrigger: "on_enter" | "on_leave";
1945
+ radius: number;
1946
+ id: string;
1947
+ taskId: string;
1948
+ type: "location" | "absolute" | "relative";
1949
+ })[];
1950
+ searchType: string;
1951
+ searchId: string;
1952
+ totalCount: number;
1953
+ };
1954
+ }>;
1955
+ };
1956
+ updateReminders: {
1957
+ name: "update-reminders";
1958
+ description: string;
1959
+ parameters: {
1960
+ reminders: import('zod').ZodArray<import('zod').ZodDiscriminatedUnion<[import('zod').ZodObject<{
1961
+ type: import('zod').ZodLiteral<"relative">;
1962
+ id: import('zod').ZodString;
1963
+ minuteOffset: import('zod').ZodOptional<import('zod').ZodNumber>;
1964
+ service: import('zod').ZodOptional<import('zod').ZodEnum<{
1965
+ push: "push";
1966
+ email: "email";
1967
+ }>>;
1968
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1969
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
1970
+ type: import('zod').ZodLiteral<"absolute">;
1971
+ id: import('zod').ZodString;
1972
+ due: import('zod').ZodOptional<import('zod').ZodObject<{
1973
+ date: import('zod').ZodOptional<import('zod').ZodString>;
1974
+ string: import('zod').ZodOptional<import('zod').ZodString>;
1975
+ timezone: import('zod').ZodOptional<import('zod').ZodString>;
1976
+ lang: import('zod').ZodOptional<import('zod').ZodString>;
1977
+ }, import('zod/v4/core').$strip>>;
1978
+ service: import('zod').ZodOptional<import('zod').ZodEnum<{
1979
+ push: "push";
1980
+ email: "email";
1981
+ }>>;
1982
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
1983
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
1984
+ type: import('zod').ZodLiteral<"location">;
1985
+ id: import('zod').ZodString;
1986
+ name: import('zod').ZodOptional<import('zod').ZodString>;
1987
+ locLat: import('zod').ZodOptional<import('zod').ZodString>;
1988
+ locLong: import('zod').ZodOptional<import('zod').ZodString>;
1989
+ locTrigger: import('zod').ZodOptional<import('zod').ZodEnum<{
1990
+ on_enter: "on_enter";
1991
+ on_leave: "on_leave";
1992
+ }>>;
1993
+ radius: import('zod').ZodOptional<import('zod').ZodNumber>;
1994
+ }, import('zod/v4/core').$strip>], "type">>;
1995
+ };
1996
+ outputSchema: {
1997
+ reminders: import('zod').ZodArray<import('zod').ZodObject<{
1998
+ id: import('zod').ZodString;
1999
+ taskId: import('zod').ZodString;
2000
+ type: import('zod').ZodEnum<{
2001
+ location: "location";
2002
+ absolute: "absolute";
2003
+ relative: "relative";
2004
+ }>;
2005
+ minuteOffset: import('zod').ZodOptional<import('zod').ZodNumber>;
2006
+ due: import('zod').ZodOptional<import('zod').ZodObject<{
2007
+ isRecurring: import('zod').ZodBoolean;
2008
+ string: import('zod').ZodString;
2009
+ date: import('zod').ZodString;
2010
+ datetime: import('zod').ZodOptional<import('zod').ZodString>;
2011
+ timezone: import('zod').ZodOptional<import('zod').ZodString>;
2012
+ }, import('zod/v4/core').$strip>>;
2013
+ name: import('zod').ZodOptional<import('zod').ZodString>;
2014
+ locLat: import('zod').ZodOptional<import('zod').ZodString>;
2015
+ locLong: import('zod').ZodOptional<import('zod').ZodString>;
2016
+ locTrigger: import('zod').ZodOptional<import('zod').ZodEnum<{
2017
+ on_enter: "on_enter";
2018
+ on_leave: "on_leave";
2019
+ }>>;
2020
+ radius: import('zod').ZodOptional<import('zod').ZodNumber>;
2021
+ isUrgent: import('zod').ZodOptional<import('zod').ZodBoolean>;
2022
+ }, import('zod/v4/core').$strip>>;
2023
+ totalCount: import('zod').ZodNumber;
2024
+ updatedReminderIds: import('zod').ZodArray<import('zod').ZodString>;
2025
+ };
2026
+ annotations: {
2027
+ readOnlyHint: false;
2028
+ destructiveHint: true;
2029
+ idempotentHint: true;
2030
+ };
2031
+ execute(args: {
2032
+ reminders: ({
2033
+ type: "relative";
2034
+ id: string;
2035
+ minuteOffset?: number | undefined;
2036
+ service?: "push" | "email" | undefined;
2037
+ isUrgent?: boolean | undefined;
2038
+ } | {
2039
+ type: "absolute";
2040
+ id: string;
2041
+ due?: {
2042
+ date?: string | undefined;
2043
+ string?: string | undefined;
2044
+ timezone?: string | undefined;
2045
+ lang?: string | undefined;
2046
+ } | undefined;
2047
+ service?: "push" | "email" | undefined;
2048
+ isUrgent?: boolean | undefined;
2049
+ } | {
2050
+ type: "location";
2051
+ id: string;
2052
+ name?: string | undefined;
2053
+ locLat?: string | undefined;
2054
+ locLong?: string | undefined;
2055
+ locTrigger?: "on_enter" | "on_leave" | undefined;
2056
+ radius?: number | undefined;
2057
+ })[];
2058
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
2059
+ textContent: string;
2060
+ structuredContent: {
2061
+ reminders: ({
2062
+ minuteOffset: number;
2063
+ due: {
2064
+ isRecurring: boolean;
2065
+ string: string;
2066
+ date: string;
2067
+ datetime: string | undefined;
2068
+ timezone: string | undefined;
2069
+ } | undefined;
2070
+ isUrgent: boolean | undefined;
2071
+ id: string;
2072
+ taskId: string;
2073
+ type: "location" | "absolute" | "relative";
2074
+ } | {
2075
+ due: {
2076
+ isRecurring: boolean;
2077
+ string: string;
2078
+ date: string;
2079
+ datetime: string | undefined;
2080
+ timezone: string | undefined;
2081
+ };
2082
+ isUrgent: boolean | undefined;
2083
+ id: string;
2084
+ taskId: string;
2085
+ type: "location" | "absolute" | "relative";
2086
+ } | {
2087
+ name: string;
2088
+ locLat: string;
2089
+ locLong: string;
2090
+ locTrigger: "on_enter" | "on_leave";
2091
+ radius: number;
2092
+ id: string;
2093
+ taskId: string;
2094
+ type: "location" | "absolute" | "relative";
2095
+ })[];
2096
+ totalCount: number;
2097
+ updatedReminderIds: string[];
2098
+ };
2099
+ }>;
2100
+ };
2101
+ viewAttachment: {
2102
+ name: "view-attachment";
2103
+ description: string;
2104
+ parameters: {
2105
+ fileUrl: import('zod').ZodURL;
2106
+ };
2107
+ annotations: {
2108
+ readOnlyHint: true;
2109
+ destructiveHint: false;
2110
+ idempotentHint: true;
2111
+ };
2112
+ execute({ fileUrl }: {
2113
+ fileUrl: string;
2114
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
1546
2115
  textContent: string;
1547
2116
  contentItems?: undefined;
1548
2117
  } | {
@@ -2733,6 +3302,242 @@ declare const tools: {
2733
3302
  };
2734
3303
  }>;
2735
3304
  };
3305
+ fetchObject: {
3306
+ name: "fetch-object";
3307
+ description: string;
3308
+ parameters: {
3309
+ type: import('zod').ZodEnum<{
3310
+ comment: "comment";
3311
+ task: "task";
3312
+ project: "project";
3313
+ section: "section";
3314
+ }>;
3315
+ id: import('zod').ZodString;
3316
+ includeChildren: import('zod').ZodOptional<import('zod').ZodBoolean>;
3317
+ };
3318
+ outputSchema: {
3319
+ childCount: import('zod').ZodOptional<import('zod').ZodNumber>;
3320
+ children: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodUnion<readonly [import('zod').ZodObject<{
3321
+ content: import('zod').ZodString;
3322
+ id: import('zod').ZodString;
3323
+ checked: import('zod').ZodBoolean;
3324
+ dueDate: import('zod').ZodOptional<import('zod').ZodString>;
3325
+ hasChildren: import('zod').ZodBoolean;
3326
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
3327
+ name: import('zod').ZodString;
3328
+ id: import('zod').ZodString;
3329
+ hasChildren: import('zod').ZodBoolean;
3330
+ }, import('zod/v4/core').$strip>]>>>;
3331
+ hasMoreChildren: import('zod').ZodOptional<import('zod').ZodBoolean>;
3332
+ childrenError: import('zod').ZodOptional<import('zod').ZodString>;
3333
+ type: import('zod').ZodEnum<{
3334
+ comment: "comment";
3335
+ task: "task";
3336
+ project: "project";
3337
+ section: "section";
3338
+ }>;
3339
+ id: import('zod').ZodString;
3340
+ object: import('zod').ZodUnion<readonly [import('zod').ZodObject<{
3341
+ id: import('zod').ZodString;
3342
+ content: import('zod').ZodString;
3343
+ description: import('zod').ZodString;
3344
+ dueDate: import('zod').ZodOptional<import('zod').ZodString>;
3345
+ recurring: import('zod').ZodUnion<readonly [import('zod').ZodBoolean, import('zod').ZodString]>;
3346
+ deadlineDate: import('zod').ZodOptional<import('zod').ZodString>;
3347
+ priority: import('zod').ZodEnum<{
3348
+ p1: "p1";
3349
+ p2: "p2";
3350
+ p3: "p3";
3351
+ p4: "p4";
3352
+ }>;
3353
+ projectId: import('zod').ZodString;
3354
+ sectionId: import('zod').ZodOptional<import('zod').ZodString>;
3355
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
3356
+ labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
3357
+ duration: import('zod').ZodOptional<import('zod').ZodString>;
3358
+ responsibleUid: import('zod').ZodOptional<import('zod').ZodString>;
3359
+ isUncompletable: import('zod').ZodOptional<import('zod').ZodBoolean>;
3360
+ assignedByUid: import('zod').ZodOptional<import('zod').ZodString>;
3361
+ checked: import('zod').ZodBoolean;
3362
+ completedAt: import('zod').ZodOptional<import('zod').ZodString>;
3363
+ addedAt: import('zod').ZodOptional<import('zod').ZodString>;
3364
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
3365
+ id: import('zod').ZodString;
3366
+ name: import('zod').ZodString;
3367
+ description: import('zod').ZodString;
3368
+ color: import('zod').ZodCatch<import('zod').ZodOptional<import('zod').ZodEnum<{
3369
+ berry_red: "berry_red";
3370
+ red: "red";
3371
+ orange: "orange";
3372
+ yellow: "yellow";
3373
+ olive_green: "olive_green";
3374
+ lime_green: "lime_green";
3375
+ green: "green";
3376
+ mint_green: "mint_green";
3377
+ teal: "teal";
3378
+ sky_blue: "sky_blue";
3379
+ light_blue: "light_blue";
3380
+ blue: "blue";
3381
+ grape: "grape";
3382
+ violet: "violet";
3383
+ lavender: "lavender";
3384
+ magenta: "magenta";
3385
+ salmon: "salmon";
3386
+ charcoal: "charcoal";
3387
+ grey: "grey";
3388
+ taupe: "taupe";
3389
+ }>>>;
3390
+ isFavorite: import('zod').ZodBoolean;
3391
+ isShared: import('zod').ZodBoolean;
3392
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
3393
+ inboxProject: import('zod').ZodBoolean;
3394
+ viewStyle: import('zod').ZodString;
3395
+ workspaceId: import('zod').ZodOptional<import('zod').ZodString>;
3396
+ folderId: import('zod').ZodOptional<import('zod').ZodString>;
3397
+ childOrder: import('zod').ZodNumber;
3398
+ isArchived: import('zod').ZodBoolean;
3399
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
3400
+ id: import('zod').ZodString;
3401
+ taskId: import('zod').ZodOptional<import('zod').ZodString>;
3402
+ projectId: import('zod').ZodOptional<import('zod').ZodString>;
3403
+ content: import('zod').ZodString;
3404
+ postedAt: import('zod').ZodString;
3405
+ postedUid: import('zod').ZodOptional<import('zod').ZodString>;
3406
+ fileAttachment: import('zod').ZodOptional<import('zod').ZodObject<{
3407
+ resourceType: import('zod').ZodString;
3408
+ fileName: import('zod').ZodOptional<import('zod').ZodString>;
3409
+ fileSize: import('zod').ZodOptional<import('zod').ZodNumber>;
3410
+ fileType: import('zod').ZodOptional<import('zod').ZodString>;
3411
+ fileUrl: import('zod').ZodOptional<import('zod').ZodString>;
3412
+ fileDuration: import('zod').ZodOptional<import('zod').ZodNumber>;
3413
+ uploadState: import('zod').ZodOptional<import('zod').ZodEnum<{
3414
+ completed: "completed";
3415
+ pending: "pending";
3416
+ }>>;
3417
+ url: import('zod').ZodOptional<import('zod').ZodString>;
3418
+ title: import('zod').ZodOptional<import('zod').ZodString>;
3419
+ image: import('zod').ZodOptional<import('zod').ZodString>;
3420
+ imageWidth: import('zod').ZodOptional<import('zod').ZodNumber>;
3421
+ imageHeight: import('zod').ZodOptional<import('zod').ZodNumber>;
3422
+ }, import('zod/v4/core').$strip>>;
3423
+ }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
3424
+ id: import('zod').ZodString;
3425
+ name: import('zod').ZodString;
3426
+ sectionOrder: import('zod').ZodNumber;
3427
+ description: import('zod').ZodOptional<import('zod').ZodString>;
3428
+ }, import('zod/v4/core').$strip>]>;
3429
+ };
3430
+ annotations: {
3431
+ readOnlyHint: true;
3432
+ destructiveHint: false;
3433
+ idempotentHint: true;
3434
+ };
3435
+ execute(args: {
3436
+ type: "comment" | "task" | "project" | "section";
3437
+ id: string;
3438
+ includeChildren?: boolean | undefined;
3439
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
3440
+ textContent: string;
3441
+ structuredContent: {
3442
+ type: "task";
3443
+ id: string;
3444
+ object: {
3445
+ id: string;
3446
+ content: string;
3447
+ description: string;
3448
+ dueDate: string | undefined;
3449
+ recurring: string | boolean;
3450
+ deadlineDate: string | undefined;
3451
+ priority: "p1" | "p2" | "p3" | "p4";
3452
+ projectId: string;
3453
+ sectionId: string | undefined;
3454
+ parentId: string | undefined;
3455
+ labels: string[];
3456
+ duration: string | undefined;
3457
+ responsibleUid: string | undefined;
3458
+ assignedByUid: string | undefined;
3459
+ checked: boolean;
3460
+ completedAt: string | undefined;
3461
+ addedAt: string | undefined;
3462
+ };
3463
+ };
3464
+ } | {
3465
+ textContent: string;
3466
+ structuredContent: {
3467
+ childCount?: number;
3468
+ children?: ({
3469
+ content: string;
3470
+ id: string;
3471
+ checked: boolean;
3472
+ hasChildren: boolean;
3473
+ dueDate?: string | undefined;
3474
+ } | {
3475
+ name: string;
3476
+ id: string;
3477
+ hasChildren: boolean;
3478
+ })[];
3479
+ hasMoreChildren?: boolean;
3480
+ childrenError?: string;
3481
+ type: "project";
3482
+ id: string;
3483
+ object: {
3484
+ id: string;
3485
+ name: string;
3486
+ description: string;
3487
+ color: import('@doist/todoist-sdk').ColorKey;
3488
+ isFavorite: boolean;
3489
+ isShared: boolean;
3490
+ parentId: string | undefined;
3491
+ inboxProject: boolean;
3492
+ viewStyle: string;
3493
+ workspaceId: string | undefined;
3494
+ folderId: string | undefined;
3495
+ childOrder: number;
3496
+ isArchived: boolean;
3497
+ };
3498
+ };
3499
+ } | {
3500
+ textContent: string;
3501
+ structuredContent: {
3502
+ type: "comment";
3503
+ id: string;
3504
+ object: {
3505
+ id: string;
3506
+ taskId: string | undefined;
3507
+ projectId: string | undefined;
3508
+ content: string;
3509
+ postedAt: string;
3510
+ postedUid: string;
3511
+ fileAttachment: {
3512
+ resourceType: string;
3513
+ fileName: string | undefined;
3514
+ fileSize: number | undefined;
3515
+ fileType: string | undefined;
3516
+ fileUrl: string | undefined;
3517
+ fileDuration: number | undefined;
3518
+ uploadState: "completed" | "pending" | undefined;
3519
+ url: string | undefined;
3520
+ title: string | undefined;
3521
+ image: string | undefined;
3522
+ imageWidth: number | undefined;
3523
+ imageHeight: number | undefined;
3524
+ } | undefined;
3525
+ };
3526
+ };
3527
+ } | {
3528
+ textContent: string;
3529
+ structuredContent: {
3530
+ type: "section";
3531
+ id: string;
3532
+ object: {
3533
+ id: string;
3534
+ name: string;
3535
+ sectionOrder: number;
3536
+ description?: string | undefined;
3537
+ };
3538
+ };
3539
+ }>;
3540
+ };
2736
3541
  reorderObjects: {
2737
3542
  name: "reorder-objects";
2738
3543
  description: string;
@@ -2966,6 +3771,188 @@ declare const tools: {
2966
3771
  };
2967
3772
  }>;
2968
3773
  };
3774
+ exportProjectTemplate: {
3775
+ name: "export-project-template";
3776
+ description: string;
3777
+ parameters: {
3778
+ projectId: import('zod').ZodString;
3779
+ format: import('zod').ZodDefault<import('zod').ZodEnum<{
3780
+ file: "file";
3781
+ url: "url";
3782
+ }>>;
3783
+ useRelativeDates: import('zod').ZodOptional<import('zod').ZodBoolean>;
3784
+ };
3785
+ outputSchema: {
3786
+ format: import('zod').ZodEnum<{
3787
+ file: "file";
3788
+ url: "url";
3789
+ }>;
3790
+ content: import('zod').ZodOptional<import('zod').ZodString>;
3791
+ lineCount: import('zod').ZodOptional<import('zod').ZodNumber>;
3792
+ fileName: import('zod').ZodOptional<import('zod').ZodString>;
3793
+ fileUrl: import('zod').ZodOptional<import('zod').ZodString>;
3794
+ };
3795
+ annotations: {
3796
+ readOnlyHint: true;
3797
+ destructiveHint: false;
3798
+ idempotentHint: true;
3799
+ };
3800
+ execute({ projectId, format, useRelativeDates }: {
3801
+ projectId: string;
3802
+ format: "file" | "url";
3803
+ useRelativeDates?: boolean | undefined;
3804
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
3805
+ textContent: string;
3806
+ structuredContent: {
3807
+ format: "url";
3808
+ fileName: string;
3809
+ fileUrl: string;
3810
+ content?: undefined;
3811
+ lineCount?: undefined;
3812
+ };
3813
+ } | {
3814
+ textContent: string;
3815
+ structuredContent: {
3816
+ format: "file";
3817
+ content: string;
3818
+ lineCount: number;
3819
+ fileName?: undefined;
3820
+ fileUrl?: undefined;
3821
+ };
3822
+ }>;
3823
+ };
3824
+ importProjectTemplate: {
3825
+ name: "import-project-template";
3826
+ description: string;
3827
+ parameters: {
3828
+ projectId: import('zod').ZodString;
3829
+ templateId: import('zod').ZodOptional<import('zod').ZodString>;
3830
+ csvFileContent: import('zod').ZodOptional<import('zod').ZodString>;
3831
+ locale: import('zod').ZodOptional<import('zod').ZodString>;
3832
+ };
3833
+ outputSchema: {
3834
+ sections: import('zod').ZodArray<import('zod').ZodObject<{
3835
+ id: import('zod').ZodString;
3836
+ name: import('zod').ZodString;
3837
+ sectionOrder: import('zod').ZodNumber;
3838
+ description: import('zod').ZodOptional<import('zod').ZodString>;
3839
+ }, import('zod/v4/core').$strip>>;
3840
+ tasks: import('zod').ZodArray<import('zod').ZodObject<{
3841
+ id: import('zod').ZodString;
3842
+ content: import('zod').ZodString;
3843
+ description: import('zod').ZodString;
3844
+ dueDate: import('zod').ZodOptional<import('zod').ZodString>;
3845
+ recurring: import('zod').ZodUnion<readonly [import('zod').ZodBoolean, import('zod').ZodString]>;
3846
+ deadlineDate: import('zod').ZodOptional<import('zod').ZodString>;
3847
+ priority: import('zod').ZodEnum<{
3848
+ p1: "p1";
3849
+ p2: "p2";
3850
+ p3: "p3";
3851
+ p4: "p4";
3852
+ }>;
3853
+ projectId: import('zod').ZodString;
3854
+ sectionId: import('zod').ZodOptional<import('zod').ZodString>;
3855
+ parentId: import('zod').ZodOptional<import('zod').ZodString>;
3856
+ labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
3857
+ duration: import('zod').ZodOptional<import('zod').ZodString>;
3858
+ responsibleUid: import('zod').ZodOptional<import('zod').ZodString>;
3859
+ isUncompletable: import('zod').ZodOptional<import('zod').ZodBoolean>;
3860
+ assignedByUid: import('zod').ZodOptional<import('zod').ZodString>;
3861
+ checked: import('zod').ZodBoolean;
3862
+ completedAt: import('zod').ZodOptional<import('zod').ZodString>;
3863
+ addedAt: import('zod').ZodOptional<import('zod').ZodString>;
3864
+ }, import('zod/v4/core').$strip>>;
3865
+ comments: import('zod').ZodArray<import('zod').ZodObject<{
3866
+ id: import('zod').ZodString;
3867
+ taskId: import('zod').ZodOptional<import('zod').ZodString>;
3868
+ projectId: import('zod').ZodOptional<import('zod').ZodString>;
3869
+ content: import('zod').ZodString;
3870
+ postedAt: import('zod').ZodString;
3871
+ postedUid: import('zod').ZodOptional<import('zod').ZodString>;
3872
+ fileAttachment: import('zod').ZodOptional<import('zod').ZodObject<{
3873
+ resourceType: import('zod').ZodString;
3874
+ fileName: import('zod').ZodOptional<import('zod').ZodString>;
3875
+ fileSize: import('zod').ZodOptional<import('zod').ZodNumber>;
3876
+ fileType: import('zod').ZodOptional<import('zod').ZodString>;
3877
+ fileUrl: import('zod').ZodOptional<import('zod').ZodString>;
3878
+ fileDuration: import('zod').ZodOptional<import('zod').ZodNumber>;
3879
+ uploadState: import('zod').ZodOptional<import('zod').ZodEnum<{
3880
+ completed: "completed";
3881
+ pending: "pending";
3882
+ }>>;
3883
+ url: import('zod').ZodOptional<import('zod').ZodString>;
3884
+ title: import('zod').ZodOptional<import('zod').ZodString>;
3885
+ image: import('zod').ZodOptional<import('zod').ZodString>;
3886
+ imageWidth: import('zod').ZodOptional<import('zod').ZodNumber>;
3887
+ imageHeight: import('zod').ZodOptional<import('zod').ZodNumber>;
3888
+ }, import('zod/v4/core').$strip>>;
3889
+ }, import('zod/v4/core').$strip>>;
3890
+ totalCount: import('zod').ZodNumber;
3891
+ };
3892
+ annotations: {
3893
+ readOnlyHint: false;
3894
+ destructiveHint: false;
3895
+ idempotentHint: false;
3896
+ };
3897
+ execute({ projectId, templateId, csvFileContent, locale }: {
3898
+ projectId: string;
3899
+ templateId?: string | undefined;
3900
+ csvFileContent?: string | undefined;
3901
+ locale?: string | undefined;
3902
+ }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
3903
+ textContent: string;
3904
+ structuredContent: {
3905
+ sections: {
3906
+ id: string;
3907
+ name: string;
3908
+ sectionOrder: number;
3909
+ description?: string | undefined;
3910
+ }[];
3911
+ tasks: {
3912
+ id: string;
3913
+ content: string;
3914
+ description: string;
3915
+ dueDate: string | undefined;
3916
+ recurring: string | boolean;
3917
+ deadlineDate: string | undefined;
3918
+ priority: "p1" | "p2" | "p3" | "p4";
3919
+ projectId: string;
3920
+ sectionId: string | undefined;
3921
+ parentId: string | undefined;
3922
+ labels: string[];
3923
+ duration: string | undefined;
3924
+ responsibleUid: string | undefined;
3925
+ assignedByUid: string | undefined;
3926
+ checked: boolean;
3927
+ completedAt: string | undefined;
3928
+ addedAt: string | undefined;
3929
+ }[];
3930
+ comments: {
3931
+ id: string;
3932
+ taskId: string | undefined;
3933
+ projectId: string | undefined;
3934
+ content: string;
3935
+ postedAt: string;
3936
+ postedUid: string;
3937
+ fileAttachment: {
3938
+ resourceType: string;
3939
+ fileName: string | undefined;
3940
+ fileSize: number | undefined;
3941
+ fileType: string | undefined;
3942
+ fileUrl: string | undefined;
3943
+ fileDuration: number | undefined;
3944
+ uploadState: "completed" | "pending" | undefined;
3945
+ url: string | undefined;
3946
+ title: string | undefined;
3947
+ image: string | undefined;
3948
+ imageWidth: number | undefined;
3949
+ imageHeight: number | undefined;
3950
+ } | undefined;
3951
+ }[];
3952
+ totalCount: number;
3953
+ };
3954
+ }>;
3955
+ };
2969
3956
  listWorkspaces: {
2970
3957
  name: "list-workspaces";
2971
3958
  description: string;
@@ -3066,5 +4053,5 @@ declare const tools: {
3066
4053
  }>;
3067
4054
  };
3068
4055
  };
3069
- export { addTasks, completeTasks, findTasks, findTasksByDate, findCompletedTasks, rescheduleTasks, addProjects, findProjects, analyzeProjectHealth, addSections, findSections, addComments, findComments, addLabels, findLabels, updateLabels, addFilters, findFilters, findActivity, getProductivityStats, getProjectHealth, getProjectActivityStats, getWorkspaceInsights, findProjectCollaborators, manageAssignments, listWorkspaces, viewAttachment, deleteObject, getOverview, reorderObjects, userInfo, uncompleteTasks, updateComments, updateFilters, updateProjects, updateSections, updateTasks, search, fetch, getMcpServer, tools, FEATURE_NAMES, type Feature, type FeatureName, type Features, requireValidTodoistToken, type RequireValidTodoistTokenOptions, validateTodoistToken, };
4056
+ export { addTasks, completeTasks, findTasks, findTasksByDate, findCompletedTasks, rescheduleTasks, addProjects, findProjects, analyzeProjectHealth, projectManagement, projectMove, addSections, findSections, addComments, findComments, addReminders, findReminders, updateReminders, addLabels, findLabels, updateLabels, addFilters, findFilters, findActivity, getProductivityStats, getProjectHealth, getProjectActivityStats, getWorkspaceInsights, findProjectCollaborators, manageAssignments, exportProjectTemplate, importProjectTemplate, listWorkspaces, viewAttachment, deleteObject, fetchObject, getOverview, reorderObjects, userInfo, uncompleteTasks, updateComments, updateFilters, updateProjects, updateSections, updateTasks, search, fetch, getMcpServer, tools, registeredTools, FEATURE_NAMES, type Feature, type FeatureName, type Features, requireValidTodoistToken, type RequireValidTodoistTokenOptions, validateTodoistToken, };
3070
4057
  //# sourceMappingURL=index.d.ts.map