@doist/todoist-mcp 13.8.0 → 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.
- package/dist/index.d.ts +28 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/main-http.js +2 -2
- package/dist/main.js +1 -1
- package/dist/mcp-apps/index.html +65 -47
- package/dist/{mcp-server-BY3K-TB0.js → mcp-server-D7DAPKdu.js} +2198 -1935
- package/dist/{require-valid-todoist-token-zqdKTjgo.js → require-valid-todoist-token-XM-OKgr2.js} +1 -1
- package/dist/tool-helpers.d.ts +3 -0
- package/dist/tool-helpers.d.ts.map +1 -1
- package/dist/tool-registry.d.ts +28 -19
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tools/add-filters.d.ts +2 -2
- package/dist/tools/add-labels.d.ts +2 -2
- package/dist/tools/add-projects.d.ts +2 -2
- package/dist/tools/add-projects.d.ts.map +1 -1
- package/dist/tools/project-management.d.ts.map +1 -1
- package/dist/tools/project-move.d.ts.map +1 -1
- package/dist/tools/reorder-objects.d.ts +13 -2
- package/dist/tools/reorder-objects.d.ts.map +1 -1
- package/dist/tools/update-filters.d.ts +3 -3
- package/dist/tools/update-labels.d.ts +2 -2
- package/dist/tools/update-projects.d.ts +3 -3
- package/dist/tools/update-sections.d.ts +1 -1
- package/dist/tools/update-tasks.d.ts +3 -3
- package/dist/utils/colors.d.ts +2 -2
- package/dist/utils/colors.d.ts.map +1 -1
- package/dist/utils/order-keys.d.ts +36 -0
- package/dist/utils/order-keys.d.ts.map +1 -0
- package/dist/utils/personal-project-limit.d.ts +31 -0
- package/dist/utils/personal-project-limit.d.ts.map +1 -0
- package/dist/utils/test-helpers.d.ts +10 -1
- package/dist/utils/test-helpers.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/tool-helpers.d.ts
CHANGED
|
@@ -74,6 +74,9 @@ export declare function searchAllProjects(client: TodoistApi, query: string): Pr
|
|
|
74
74
|
/**
|
|
75
75
|
* Fetches all active (non-archived) projects across every page.
|
|
76
76
|
*
|
|
77
|
+
* Each page is retried on its own, so a transient failure part-way through does
|
|
78
|
+
* not refetch the pages already read.
|
|
79
|
+
*
|
|
77
80
|
* @param client - The Todoist API client
|
|
78
81
|
* @returns Promise resolving to array of active projects
|
|
79
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-registry.d.ts
CHANGED
|
@@ -225,10 +225,10 @@ declare const toolRegistry: {
|
|
|
225
225
|
p3: "p3";
|
|
226
226
|
p4: "p4";
|
|
227
227
|
}>>;
|
|
228
|
-
dueString: import('zod').ZodOptional<import('zod').
|
|
229
|
-
deadlineDate: import('zod').ZodOptional<import('zod').
|
|
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').
|
|
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').
|
|
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').
|
|
910
|
-
color: import('zod').
|
|
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').
|
|
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').
|
|
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').
|
|
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').
|
|
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').
|
|
2694
|
-
color: import('zod').
|
|
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
|
};
|
|
@@ -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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-projects.d.ts","sourceRoot":"","sources":["../../src/tools/add-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"add-projects.d.ts","sourceRoot":"","sources":["../../src/tools/add-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA8DvB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkDqB,MAAM;uBAAS,MAAM;;;;;;;CA8BI,CAAA;AA2E/D,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-management.d.ts","sourceRoot":"","sources":["../../src/tools/project-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"project-management.d.ts","sourceRoot":"","sources":["../../src/tools/project-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoBvB,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCwC,CAAA;AAE/D,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-move.d.ts","sourceRoot":"","sources":["../../src/tools/project-move.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"project-move.d.ts","sourceRoot":"","sources":["../../src/tools/project-move.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAsCvB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD8C,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -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:
|
|
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
|
-
|
|
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":"
|
|
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.
|
|
11
|
-
color: z.
|
|
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.
|
|
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.
|
|
16
|
-
color: z.
|
|
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.
|
|
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.
|
|
22
|
-
deadlineDate: z.ZodOptional<z.
|
|
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.
|
|
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>>;
|
package/dist/utils/colors.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const ColorSchema: z.
|
|
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;;;;;;;;;;;;;;;;;;;;;
|
|
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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TodoistApi } from '@doist/todoist-sdk';
|
|
2
|
+
import { ToolName } from './tool-names.js';
|
|
3
|
+
type PersonalProjectCapacity = {
|
|
4
|
+
/** The account's current plan limit on active personal projects. */
|
|
5
|
+
maxProjects: number;
|
|
6
|
+
/** Active personal projects that count towards the limit. */
|
|
7
|
+
activeCount: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Reads the account's personal project limit and how many projects count towards it.
|
|
11
|
+
*
|
|
12
|
+
* The API accepts a couple of projects beyond the plan limit, so offline clients
|
|
13
|
+
* can sync at the boundary. It therefore does not reject a create, unarchive or
|
|
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. The SDK applies the
|
|
16
|
+
* apps' counting rule: every active personal project except the Inbox.
|
|
17
|
+
*
|
|
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.
|
|
21
|
+
*/
|
|
22
|
+
declare function loadPersonalProjectCapacity(client: TodoistApi, toolName: ToolName): Promise<PersonalProjectCapacity | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Throws unless the account has room for one more active personal project.
|
|
25
|
+
*
|
|
26
|
+
* @param outcome - What the caller did not do, e.g. "This project was not created."
|
|
27
|
+
*/
|
|
28
|
+
declare function assertPersonalProjectCapacity(capacity: PersonalProjectCapacity | undefined, outcome: string): asserts capacity is PersonalProjectCapacity;
|
|
29
|
+
export { assertPersonalProjectCapacity, loadPersonalProjectCapacity };
|
|
30
|
+
export type { PersonalProjectCapacity };
|
|
31
|
+
//# sourceMappingURL=personal-project-limit.d.ts.map
|
|
@@ -0,0 +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;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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CurrentUser, Filter, Label, PersonalProject, Section, SyncCommand, Task, WorkspaceProject } from '@doist/todoist-sdk';
|
|
1
|
+
import { CurrentUser, Filter, Label, PersonalProject, Section, SyncCommand, Task, TodoistApi, WorkspaceProject } from '@doist/todoist-sdk';
|
|
2
|
+
import { Mocked } from 'vitest';
|
|
2
3
|
import { MappedTask } from '../tool-helpers';
|
|
3
4
|
import { Priority } from './priorities';
|
|
4
5
|
type TaskWithUserFacingPriority = Omit<Task, 'priority'> & {
|
|
@@ -37,6 +38,14 @@ export declare function createMockFilter(overrides?: Partial<Filter>): Filter;
|
|
|
37
38
|
* The `syncStatus` the Sync API returns when every command was applied.
|
|
38
39
|
*/
|
|
39
40
|
export declare function allApplied(commands?: SyncCommand[]): Record<string, 'ok'>;
|
|
41
|
+
/**
|
|
42
|
+
* Mocks the personal project limit check: the plan allows `maxProjects` active
|
|
43
|
+
* personal projects and the account has `activeCount` of them.
|
|
44
|
+
*/
|
|
45
|
+
export declare function mockPersonalProjectCapacity(client: Mocked<TodoistApi>, { maxProjects, activeCount }: {
|
|
46
|
+
maxProjects: number;
|
|
47
|
+
activeCount: number;
|
|
48
|
+
}): void;
|
|
40
49
|
/**
|
|
41
50
|
* Creates a mock API response object with results and nextCursor.
|
|
42
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,WAAW,EACX,MAAM,EACN,KAAK,EACL,eAAe,EACf,OAAO,EACP,WAAW,EACX,IAAI,EACJ,gBAAgB,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAErE,KAAK,0BAA0B,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG;IACvD,QAAQ,EAAE,QAAQ,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC3B,QAAe,EACf,GAAG,SAAS,EACf,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAAG,IAAI,CA6BjD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAiB3E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAuB3F;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAC1C,gBAAgB,CA4BlB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,KAAK,CASrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,OAAO,CAAC,MAAM,CAAM,GAAG,MAAM,CAYxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,GAAE,WAAW,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,EAAE,EACZ,UAAU,GAAE,MAAM,GAAG,IAAW,GACjC;IACC,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAKA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,UAAU,CAsBhF;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,GAAG,GACN,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,KAAK,CASR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAC1C,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;UAAjC,MAAM;WAAS,CAAC;eAAa,CAAC;IAGtD;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;CAYX,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAG,YAAqB,CAAA;AAE1C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAoChF"}
|
|
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.
|
|
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.
|
|
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
|
-
"
|
|
74
|
+
"fractional-indexing": "4.0.0",
|
|
75
|
+
"zod": "4.6.6"
|
|
75
76
|
},
|
|
76
77
|
"peerDependencies": {
|
|
77
78
|
"@modelcontextprotocol/node": "^2.1.0",
|