@doist/todoist-mcp 13.8.1 → 13.8.2

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.
@@ -1,4 +1,4 @@
1
- import { Z as A, _, $ as T } from "./mcp-server-BdcHENNP.js";
1
+ import { Z as A, _, $ as T } from "./mcp-server-D7DAPKdu.js";
2
2
  const v = /* @__PURE__ */ new Set([401, 403]);
3
3
  function y(e) {
4
4
  const t = T(e);
@@ -225,10 +225,10 @@ declare const toolRegistry: {
225
225
  p3: "p3";
226
226
  p4: "p4";
227
227
  }>>;
228
- dueString: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
229
- deadlineDate: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
228
+ dueString: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
229
+ deadlineDate: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
230
230
  duration: import('zod').ZodOptional<import('zod').ZodString>;
231
- responsibleUser: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
231
+ responsibleUser: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
232
232
  labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
233
233
  isUncompletable: import('zod').ZodOptional<import('zod').ZodBoolean>;
234
234
  }, import('zod/v4/core').$strip>>;
@@ -777,7 +777,7 @@ declare const toolRegistry: {
777
777
  calendar: "calendar";
778
778
  }>>;
779
779
  description: import('zod').ZodOptional<import('zod').ZodString>;
780
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
780
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
781
781
  berry_red: "berry_red";
782
782
  red: "red";
783
783
  orange: "orange";
@@ -798,7 +798,7 @@ declare const toolRegistry: {
798
798
  charcoal: "charcoal";
799
799
  grey: "grey";
800
800
  taupe: "taupe";
801
- }>>>;
801
+ }>>, unknown>;
802
802
  workspace: import('zod').ZodOptional<import('zod').ZodString>;
803
803
  }, import('zod/v4/core').$strip>>;
804
804
  };
@@ -906,8 +906,8 @@ declare const toolRegistry: {
906
906
  board: "board";
907
907
  calendar: "calendar";
908
908
  }>>;
909
- description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
910
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
909
+ description: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
910
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
911
911
  berry_red: "berry_red";
912
912
  red: "red";
913
913
  orange: "orange";
@@ -928,7 +928,7 @@ declare const toolRegistry: {
928
928
  charcoal: "charcoal";
929
929
  grey: "grey";
930
930
  taupe: "taupe";
931
- }>>>;
931
+ }>>, unknown>;
932
932
  }, import('zod/v4/core').$strip>>;
933
933
  };
934
934
  outputSchema: {
@@ -1355,7 +1355,7 @@ declare const toolRegistry: {
1355
1355
  sections: import('zod').ZodArray<import('zod').ZodObject<{
1356
1356
  id: import('zod').ZodString;
1357
1357
  name: import('zod').ZodOptional<import('zod').ZodString>;
1358
- description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
1358
+ description: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
1359
1359
  }, import('zod/v4/core').$strip>>;
1360
1360
  };
1361
1361
  outputSchema: {
@@ -2204,7 +2204,7 @@ declare const toolRegistry: {
2204
2204
  parameters: {
2205
2205
  labels: import('zod').ZodArray<import('zod').ZodObject<{
2206
2206
  name: import('zod').ZodString;
2207
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
2207
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
2208
2208
  berry_red: "berry_red";
2209
2209
  red: "red";
2210
2210
  orange: "orange";
@@ -2225,7 +2225,7 @@ declare const toolRegistry: {
2225
2225
  charcoal: "charcoal";
2226
2226
  grey: "grey";
2227
2227
  taupe: "taupe";
2228
- }>>>;
2228
+ }>>, unknown>;
2229
2229
  order: import('zod').ZodOptional<import('zod').ZodNumber>;
2230
2230
  isFavorite: import('zod').ZodOptional<import('zod').ZodBoolean>;
2231
2231
  }, import('zod/v4/core').$strip>>;
@@ -2310,7 +2310,7 @@ declare const toolRegistry: {
2310
2310
  labelType: import('zod').ZodLiteral<"personal">;
2311
2311
  id: import('zod').ZodString;
2312
2312
  name: import('zod').ZodOptional<import('zod').ZodString>;
2313
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
2313
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
2314
2314
  berry_red: "berry_red";
2315
2315
  red: "red";
2316
2316
  orange: "orange";
@@ -2331,7 +2331,7 @@ declare const toolRegistry: {
2331
2331
  charcoal: "charcoal";
2332
2332
  grey: "grey";
2333
2333
  taupe: "taupe";
2334
- }>>>;
2334
+ }>>, unknown>;
2335
2335
  order: import('zod').ZodOptional<import('zod').ZodNumber>;
2336
2336
  isFavorite: import('zod').ZodOptional<import('zod').ZodBoolean>;
2337
2337
  }, import('zod/v4/core').$strip>, import('zod').ZodObject<{
@@ -2580,7 +2580,7 @@ declare const toolRegistry: {
2580
2580
  name: import('zod').ZodString;
2581
2581
  query: import('zod').ZodString;
2582
2582
  description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodString, import('zod').ZodTransform<string | undefined, string>>>;
2583
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
2583
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
2584
2584
  berry_red: "berry_red";
2585
2585
  red: "red";
2586
2586
  orange: "orange";
@@ -2601,7 +2601,7 @@ declare const toolRegistry: {
2601
2601
  charcoal: "charcoal";
2602
2602
  grey: "grey";
2603
2603
  taupe: "taupe";
2604
- }>>>;
2604
+ }>>, unknown>;
2605
2605
  isFavorite: import('zod').ZodOptional<import('zod').ZodBoolean>;
2606
2606
  }, import('zod/v4/core').$strip>>;
2607
2607
  };
@@ -2690,8 +2690,8 @@ declare const toolRegistry: {
2690
2690
  id: import('zod').ZodString;
2691
2691
  name: import('zod').ZodOptional<import('zod').ZodString>;
2692
2692
  query: import('zod').ZodOptional<import('zod').ZodString>;
2693
- description: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodTransform<{} | undefined, unknown>, import('zod').ZodString>>;
2694
- color: import('zod').ZodPipe<import('zod').ZodTransform<string | undefined, unknown>, import('zod').ZodOptional<import('zod').ZodEnum<{
2693
+ description: import('zod').ZodOptional<import('zod').ZodPreprocess<import('zod').ZodString, unknown>>;
2694
+ color: import('zod').ZodPreprocess<import('zod').ZodOptional<import('zod').ZodEnum<{
2695
2695
  berry_red: "berry_red";
2696
2696
  red: "red";
2697
2697
  orange: "orange";
@@ -2712,7 +2712,7 @@ declare const toolRegistry: {
2712
2712
  charcoal: "charcoal";
2713
2713
  grey: "grey";
2714
2714
  taupe: "taupe";
2715
- }>>>;
2715
+ }>>, unknown>;
2716
2716
  isFavorite: import('zod').ZodOptional<import('zod').ZodBoolean>;
2717
2717
  }, import('zod/v4/core').$strip>>;
2718
2718
  };
@@ -3386,8 +3386,8 @@ declare const toolRegistry: {
3386
3386
  label: "label";
3387
3387
  task: "task";
3388
3388
  comment: "comment";
3389
- project: "project";
3390
3389
  reminder: "reminder";
3390
+ project: "project";
3391
3391
  section: "section";
3392
3392
  location_reminder: "location_reminder";
3393
3393
  }>;
@@ -3400,8 +3400,8 @@ declare const toolRegistry: {
3400
3400
  label: "label";
3401
3401
  task: "task";
3402
3402
  comment: "comment";
3403
- project: "project";
3404
3403
  reminder: "reminder";
3404
+ project: "project";
3405
3405
  section: "section";
3406
3406
  location_reminder: "location_reminder";
3407
3407
  }>;
@@ -3415,13 +3415,13 @@ declare const toolRegistry: {
3415
3415
  idempotentHint: true;
3416
3416
  };
3417
3417
  execute(args: {
3418
- type: "filter" | "label" | "task" | "comment" | "project" | "reminder" | "section" | "location_reminder";
3418
+ type: "filter" | "label" | "task" | "comment" | "reminder" | "project" | "section" | "location_reminder";
3419
3419
  id: string;
3420
3420
  }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
3421
3421
  textContent: string;
3422
3422
  structuredContent: {
3423
3423
  deletedEntity: {
3424
- type: "filter" | "label" | "task" | "comment" | "project" | "reminder" | "section" | "location_reminder";
3424
+ type: "filter" | "label" | "task" | "comment" | "reminder" | "project" | "section" | "location_reminder";
3425
3425
  id: string;
3426
3426
  };
3427
3427
  success: true;
@@ -3690,6 +3690,11 @@ declare const toolRegistry: {
3690
3690
  movedCount: import('zod').ZodNumber;
3691
3691
  reorderedCount: import('zod').ZodNumber;
3692
3692
  affectedIds: import('zod').ZodArray<import('zod').ZodString>;
3693
+ failures: import('zod').ZodArray<import('zod').ZodObject<{
3694
+ item: import('zod').ZodString;
3695
+ error: import('zod').ZodString;
3696
+ code: import('zod').ZodOptional<import('zod').ZodString>;
3697
+ }, import('zod/v4/core').$strip>>;
3693
3698
  success: import('zod').ZodBoolean;
3694
3699
  };
3695
3700
  annotations: {
@@ -3711,7 +3716,11 @@ declare const toolRegistry: {
3711
3716
  movedCount: number;
3712
3717
  reorderedCount: number;
3713
3718
  affectedIds: string[];
3714
- success: true;
3719
+ failures: {
3720
+ item: string;
3721
+ error: string;
3722
+ }[];
3723
+ success: boolean;
3715
3724
  };
3716
3725
  }>;
3717
3726
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAgEvD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EjB,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,cAAc,EAAgC,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAgEvD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EjB,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,cAAc,EAAgC,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
@@ -7,7 +7,7 @@ declare const addFilters: {
7
7
  name: z.ZodString;
8
8
  query: z.ZodString;
9
9
  description: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string | undefined, string>>>;
10
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
10
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
11
11
  berry_red: "berry_red";
12
12
  red: "red";
13
13
  orange: "orange";
@@ -28,7 +28,7 @@ declare const addFilters: {
28
28
  charcoal: "charcoal";
29
29
  grey: "grey";
30
30
  taupe: "taupe";
31
- }>>>;
31
+ }>>, unknown>;
32
32
  isFavorite: z.ZodOptional<z.ZodBoolean>;
33
33
  }, z.core.$strip>>;
34
34
  };
@@ -5,7 +5,7 @@ declare const addLabels: {
5
5
  parameters: {
6
6
  labels: z.ZodArray<z.ZodObject<{
7
7
  name: z.ZodString;
8
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
8
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
9
9
  berry_red: "berry_red";
10
10
  red: "red";
11
11
  orange: "orange";
@@ -26,7 +26,7 @@ declare const addLabels: {
26
26
  charcoal: "charcoal";
27
27
  grey: "grey";
28
28
  taupe: "taupe";
29
- }>>>;
29
+ }>>, unknown>;
30
30
  order: z.ZodOptional<z.ZodNumber>;
31
31
  isFavorite: z.ZodOptional<z.ZodBoolean>;
32
32
  }, z.core.$strip>>;
@@ -13,7 +13,7 @@ declare const addProjects: {
13
13
  calendar: "calendar";
14
14
  }>>;
15
15
  description: z.ZodOptional<z.ZodString>;
16
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
16
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
17
17
  berry_red: "berry_red";
18
18
  red: "red";
19
19
  orange: "orange";
@@ -34,7 +34,7 @@ declare const addProjects: {
34
34
  charcoal: "charcoal";
35
35
  grey: "grey";
36
36
  taupe: "taupe";
37
- }>>>;
37
+ }>>, unknown>;
38
38
  workspace: z.ZodOptional<z.ZodString>;
39
39
  }, z.core.$strip>>;
40
40
  };
@@ -8,8 +8,8 @@ declare const deleteObject: {
8
8
  label: "label";
9
9
  task: "task";
10
10
  comment: "comment";
11
- project: "project";
12
11
  reminder: "reminder";
12
+ project: "project";
13
13
  section: "section";
14
14
  location_reminder: "location_reminder";
15
15
  }>;
@@ -22,8 +22,8 @@ declare const deleteObject: {
22
22
  label: "label";
23
23
  task: "task";
24
24
  comment: "comment";
25
- project: "project";
26
25
  reminder: "reminder";
26
+ project: "project";
27
27
  section: "section";
28
28
  location_reminder: "location_reminder";
29
29
  }>;
@@ -37,13 +37,13 @@ declare const deleteObject: {
37
37
  idempotentHint: true;
38
38
  };
39
39
  execute(args: {
40
- type: "filter" | "label" | "task" | "comment" | "project" | "reminder" | "section" | "location_reminder";
40
+ type: "filter" | "label" | "task" | "comment" | "reminder" | "project" | "section" | "location_reminder";
41
41
  id: string;
42
42
  }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
43
43
  textContent: string;
44
44
  structuredContent: {
45
45
  deletedEntity: {
46
- type: "filter" | "label" | "task" | "comment" | "project" | "reminder" | "section" | "location_reminder";
46
+ type: "filter" | "label" | "task" | "comment" | "reminder" | "project" | "section" | "location_reminder";
47
47
  id: string;
48
48
  };
49
49
  success: true;
@@ -1,4 +1,9 @@
1
+ import { TodoistApi } from '@doist/todoist-sdk';
1
2
  import { z } from 'zod';
3
+ type Failure = {
4
+ item: string;
5
+ error: string;
6
+ };
2
7
  declare const reorderObjects: {
3
8
  name: "reorder-objects";
4
9
  description: string;
@@ -21,6 +26,11 @@ declare const reorderObjects: {
21
26
  movedCount: z.ZodNumber;
22
27
  reorderedCount: z.ZodNumber;
23
28
  affectedIds: z.ZodArray<z.ZodString>;
29
+ failures: z.ZodArray<z.ZodObject<{
30
+ item: z.ZodString;
31
+ error: z.ZodString;
32
+ code: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>>;
24
34
  success: z.ZodBoolean;
25
35
  };
26
36
  annotations: {
@@ -35,14 +45,15 @@ declare const reorderObjects: {
35
45
  order?: number | undefined;
36
46
  parentId?: string | undefined;
37
47
  }[];
38
- }, client: import('@doist/todoist-sdk').TodoistApi): Promise<{
48
+ }, client: TodoistApi): Promise<{
39
49
  textContent: string;
40
50
  structuredContent: {
41
51
  type: "project" | "section";
42
52
  movedCount: number;
43
53
  reorderedCount: number;
44
54
  affectedIds: string[];
45
- success: true;
55
+ failures: Failure[];
56
+ success: boolean;
46
57
  };
47
58
  }>;
48
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reorder-objects.d.ts","sourceRoot":"","sources":["../../src/tools/reorder-objects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoDvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG2C,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"reorder-objects.d.ts","sourceRoot":"","sources":["../../src/tools/reorder-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA2DvB,KAAK,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAM9C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkE2C,CAAA;AAiR/D,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -7,8 +7,8 @@ declare const updateFilters: {
7
7
  id: z.ZodString;
8
8
  name: z.ZodOptional<z.ZodString>;
9
9
  query: z.ZodOptional<z.ZodString>;
10
- description: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
11
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
10
+ description: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
11
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
12
12
  berry_red: "berry_red";
13
13
  red: "red";
14
14
  orange: "orange";
@@ -29,7 +29,7 @@ declare const updateFilters: {
29
29
  charcoal: "charcoal";
30
30
  grey: "grey";
31
31
  taupe: "taupe";
32
- }>>>;
32
+ }>>, unknown>;
33
33
  isFavorite: z.ZodOptional<z.ZodBoolean>;
34
34
  }, z.core.$strip>>;
35
35
  };
@@ -7,7 +7,7 @@ declare const updateLabels: {
7
7
  labelType: z.ZodLiteral<"personal">;
8
8
  id: z.ZodString;
9
9
  name: z.ZodOptional<z.ZodString>;
10
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
10
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
11
11
  berry_red: "berry_red";
12
12
  red: "red";
13
13
  orange: "orange";
@@ -28,7 +28,7 @@ declare const updateLabels: {
28
28
  charcoal: "charcoal";
29
29
  grey: "grey";
30
30
  taupe: "taupe";
31
- }>>>;
31
+ }>>, unknown>;
32
32
  order: z.ZodOptional<z.ZodNumber>;
33
33
  isFavorite: z.ZodOptional<z.ZodBoolean>;
34
34
  }, z.core.$strip>, z.ZodObject<{
@@ -12,8 +12,8 @@ declare const updateProjects: {
12
12
  board: "board";
13
13
  calendar: "calendar";
14
14
  }>>;
15
- description: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
16
- color: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
15
+ description: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
16
+ color: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
17
17
  berry_red: "berry_red";
18
18
  red: "red";
19
19
  orange: "orange";
@@ -34,7 +34,7 @@ declare const updateProjects: {
34
34
  charcoal: "charcoal";
35
35
  grey: "grey";
36
36
  taupe: "taupe";
37
- }>>>;
37
+ }>>, unknown>;
38
38
  }, z.core.$strip>>;
39
39
  };
40
40
  outputSchema: {
@@ -6,7 +6,7 @@ declare const updateSections: {
6
6
  sections: z.ZodArray<z.ZodObject<{
7
7
  id: z.ZodString;
8
8
  name: z.ZodOptional<z.ZodString>;
9
- description: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
9
+ description: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
10
10
  }, z.core.$strip>>;
11
11
  };
12
12
  outputSchema: {
@@ -18,10 +18,10 @@ declare const updateTasks: {
18
18
  p3: "p3";
19
19
  p4: "p4";
20
20
  }>>;
21
- dueString: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
22
- deadlineDate: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
21
+ dueString: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
22
+ deadlineDate: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
23
23
  duration: z.ZodOptional<z.ZodString>;
24
- responsibleUser: z.ZodOptional<z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodString>>;
24
+ responsibleUser: z.ZodOptional<z.ZodPreprocess<z.ZodString, unknown>>;
25
25
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
26
  isUncompletable: z.ZodOptional<z.ZodBoolean>;
27
27
  }, z.core.$strip>>;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const ColorSchema: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodEnum<{
2
+ export declare const ColorSchema: z.ZodPreprocess<z.ZodOptional<z.ZodEnum<{
3
3
  berry_red: "berry_red";
4
4
  red: "red";
5
5
  orange: "orange";
@@ -20,7 +20,7 @@ export declare const ColorSchema: z.ZodPipe<z.ZodTransform<string | undefined, u
20
20
  charcoal: "charcoal";
21
21
  grey: "grey";
22
22
  taupe: "taupe";
23
- }>>>;
23
+ }>>, unknown>;
24
24
  export declare const ColorKeySchema: z.ZodEnum<{
25
25
  berry_red: "berry_red";
26
26
  red: "red";
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmBvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;IAEO,CAAA;AAG/B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAAoB,CAAA;AAQ/C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;IAAgD,CAAA"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmBvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;aAEO,CAAA;AAG/B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAAoB,CAAA;AAQ/C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;IAAgD,CAAA"}
@@ -0,0 +1,36 @@
1
+ /** One entity in a list of siblings that Todoist orders by fractional-indexing key. */
2
+ type OrderedSibling = {
3
+ id: string;
4
+ /** The entity's order key, or null where Todoist has not assigned one yet. */
5
+ key: string | null;
6
+ /** The legacy integer order, used to sort the siblings when any of them has no key. */
7
+ legacyOrder: number;
8
+ };
9
+ /** Where one sibling should end up: a 0-based position in the reordered list. */
10
+ type Placement = {
11
+ id: string;
12
+ position: number;
13
+ };
14
+ /**
15
+ * Works out the order keys that put each placed sibling at its requested position.
16
+ *
17
+ * Positions are 0-based indexes into the list as it reads after the reorder, and
18
+ * one past the end (or beyond) appends. Placements are applied lowest position
19
+ * first, so several can be given at once and each lands where it asked. Placements
20
+ * that ask for the same position are kept together, in the order they were given.
21
+ *
22
+ * Only placed siblings get new keys: each run of them is keyed between the
23
+ * unplaced neighbours around it, so every other sibling keeps its key. A placed
24
+ * sibling whose key already sits in the right place keeps it too, so repeating a
25
+ * reorder writes nothing. When the existing keys cannot anchor a placement (a
26
+ * sibling has no key yet, or two share one), the whole list is re-keyed in its
27
+ * new order instead.
28
+ *
29
+ * Keys compare by UTF-16 code unit, as Todoist sorts them, never by locale.
30
+ *
31
+ * @returns The new key for each sibling whose key must change.
32
+ */
33
+ declare function computeOrderKeys(siblings: readonly OrderedSibling[], placements: readonly Placement[]): Map<string, string>;
34
+ export { computeOrderKeys };
35
+ export type { OrderedSibling, Placement };
36
+ //# sourceMappingURL=order-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-keys.d.ts","sourceRoot":"","sources":["../../src/utils/order-keys.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,KAAK,cAAc,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,8EAA8E;IAC9E,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,uFAAuF;IACvF,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,iFAAiF;AACjF,KAAK,SAAS,GAAG;IACb,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,gBAAgB,CACrB,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,UAAU,EAAE,SAAS,SAAS,EAAE,GACjC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CrB;AAyED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA"}
@@ -12,13 +12,12 @@ type PersonalProjectCapacity = {
12
12
  * The API accepts a couple of projects beyond the plan limit, so offline clients
13
13
  * can sync at the boundary. It therefore does not reject a create, unarchive or
14
14
  * move-to-personal that the Todoist apps refuse; a tool that adds an active
15
- * personal project checks this capacity first, as the apps do.
15
+ * personal project checks this capacity first, as the apps do. The SDK applies the
16
+ * apps' counting rule: every active personal project except the Inbox.
16
17
  *
17
- * Counts every active personal project except the Inbox, matching the Todoist apps.
18
- *
19
- * @returns The capacity, or `undefined` when either read fails or the limit is
20
- * missing or malformed. The underlying error is logged under `toolName`, since
21
- * the message the caller reports is deliberately generic.
18
+ * @returns The capacity, or `undefined` when the read fails or the plan has no
19
+ * project limit. The underlying error is logged under `toolName`, since the message
20
+ * the caller reports is deliberately generic.
22
21
  */
23
22
  declare function loadPersonalProjectCapacity(client: TodoistApi, toolName: ToolName): Promise<PersonalProjectCapacity | undefined>;
24
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"personal-project-limit.d.ts","sourceRoot":"","sources":["../../src/utils/personal-project-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI/C,KAAK,uBAAuB,GAAG;IAC3B,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAe,2BAA2B,CACtC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAyB9C;AAED;;;;GAIG;AACH,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,uBAAuB,GAAG,SAAS,EAC7C,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,IAAI,uBAAuB,CAW7C;AAED,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,CAAA;AACrE,YAAY,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"personal-project-limit.d.ts","sourceRoot":"","sources":["../../src/utils/personal-project-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,KAAK,uBAAuB,GAAG;IAC3B,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,iBAAe,2BAA2B,CACtC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAU9C;AAED;;;;GAIG;AACH,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,uBAAuB,GAAG,SAAS,EAC7C,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,IAAI,uBAAuB,CAW7C;AAED,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,CAAA;AACrE,YAAY,EAAE,uBAAuB,EAAE,CAAA"}
@@ -39,14 +39,8 @@ export declare function createMockFilter(overrides?: Partial<Filter>): Filter;
39
39
  */
40
40
  export declare function allApplied(commands?: SyncCommand[]): Record<string, 'ok'>;
41
41
  /**
42
- * Creates `count` active personal projects, e.g. the projects that count towards
43
- * the account's personal project limit.
44
- */
45
- export declare function createMockPersonalProjects(count: number): PersonalProject[];
46
- /**
47
- * Mocks the two reads behind the personal project limit check: the plan limit (from
48
- * Sync) and the account's active projects. The next plan's limit is set higher so a
49
- * check that reads it by mistake does not pass unnoticed.
42
+ * Mocks the personal project limit check: the plan allows `maxProjects` active
43
+ * personal projects and the account has `activeCount` of them.
50
44
  */
51
45
  export declare function mockPersonalProjectCapacity(client: Mocked<TodoistApi>, { maxProjects, activeCount }: {
52
46
  maxProjects: number;
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/test-helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-mcp",
3
- "version": "13.8.1",
3
+ "version": "13.8.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -65,13 +65,14 @@
65
65
  "prepare": "husky"
66
66
  },
67
67
  "dependencies": {
68
- "@doist/todoist-sdk": "15.10.0",
68
+ "@doist/todoist-sdk": "15.13.0",
69
69
  "@modelcontextprotocol/ext-apps": "2.0.3",
70
70
  "date-fns": "4.1.0",
71
71
  "dompurify": "3.3.3",
72
72
  "dotenv": "17.3.1",
73
73
  "express": "5.2.1",
74
- "zod": "4.3.6"
74
+ "fractional-indexing": "4.0.0",
75
+ "zod": "4.6.6"
75
76
  },
76
77
  "peerDependencies": {
77
78
  "@modelcontextprotocol/node": "^2.1.0",