@doist/todoist-ai 8.4.2 → 8.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/index.d.ts +274 -10
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +67 -58
  4. package/dist/main-http.js +1 -1
  5. package/dist/main.js +1 -1
  6. package/dist/{mcp-server-DbJt0ye-.js → mcp-server-CYpy6_9b.js} +1582 -924
  7. package/dist/mcp-server.d.ts +1 -1
  8. package/dist/mcp-server.d.ts.map +1 -1
  9. package/dist/tool-helpers.d.ts +51 -3
  10. package/dist/tool-helpers.d.ts.map +1 -1
  11. package/dist/tools/add-comments.d.ts +2 -2
  12. package/dist/tools/add-reminders.d.ts +141 -0
  13. package/dist/tools/add-reminders.d.ts.map +1 -0
  14. package/dist/tools/analyze-project-health.d.ts +45 -0
  15. package/dist/tools/analyze-project-health.d.ts.map +1 -0
  16. package/dist/tools/delete-object.d.ts +6 -2
  17. package/dist/tools/delete-object.d.ts.map +1 -1
  18. package/dist/tools/fetch-object.d.ts +2 -2
  19. package/dist/tools/find-comments.d.ts +2 -2
  20. package/dist/tools/find-reminders.d.ts +92 -0
  21. package/dist/tools/find-reminders.d.ts.map +1 -0
  22. package/dist/tools/get-project-activity-stats.d.ts +48 -0
  23. package/dist/tools/get-project-activity-stats.d.ts.map +1 -0
  24. package/dist/tools/get-project-health.d.ts +112 -0
  25. package/dist/tools/get-project-health.d.ts.map +1 -0
  26. package/dist/tools/get-workspace-insights.d.ts +65 -0
  27. package/dist/tools/get-workspace-insights.d.ts.map +1 -0
  28. package/dist/tools/update-comments.d.ts +2 -2
  29. package/dist/tools/update-reminders.d.ts +141 -0
  30. package/dist/tools/update-reminders.d.ts.map +1 -0
  31. package/dist/utils/constants.d.ts +4 -0
  32. package/dist/utils/constants.d.ts.map +1 -1
  33. package/dist/utils/output-schemas.d.ts +30 -2
  34. package/dist/utils/output-schemas.d.ts.map +1 -1
  35. package/dist/utils/reminder-schemas.d.ts +29 -0
  36. package/dist/utils/reminder-schemas.d.ts.map +1 -0
  37. package/dist/utils/tool-names.d.ts +7 -0
  38. package/dist/utils/tool-names.d.ts.map +1 -1
  39. package/package.json +13 -4
  40. package/scripts/run-tool.ts +8 -0
@@ -12,5 +12,5 @@ declare function getMcpServer({ todoistApiKey, baseUrl, features, }: {
12
12
  baseUrl?: string;
13
13
  features?: Features;
14
14
  }): McpServer;
15
- export { getMcpServer, FEATURE_NAMES, type Feature, type FeatureName, type Features };
15
+ export { FEATURE_NAMES, type Feature, type FeatureName, type Features, getMcpServer };
16
16
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAEH,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EAGhB,MAAM,kBAAkB,CAAA;AAkIzB;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,EAClB,aAAa,EACb,OAAO,EACP,QAAa,GAChB,EAAE;IACC,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,aA+GA;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAEH,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EAGhB,MAAM,kBAAkB,CAAA;AAsJzB;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,EAClB,aAAa,EACb,OAAO,EACP,QAAa,GAChB,EAAE;IACC,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,aA0HA;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,YAAY,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ActivityEvent, ColorKey, Comment, CurrentUser, Label, MoveTaskArgs, PersonalProject, Section, Task, TodoistApi, WorkspaceProject } from '@doist/todoist-api-typescript';
1
+ import { ActivityEvent, ColorKey, Comment, CurrentUser, Label, MoveTaskArgs, PersonalProject, Reminder, Section, Task, TodoistApi, WorkspaceProject } from '@doist/todoist-api-typescript';
2
2
  export { appendToQuery, buildResponsibleUserQueryFilter, filterTasksByResponsibleUser, RESPONSIBLE_USER_FILTERING, type ResponsibleUserFiltering, resolveResponsibleUser, } from './filter-helpers.js';
3
3
  export type Project = PersonalProject | WorkspaceProject;
4
4
  export declare function isPersonalProject(project: Project): project is PersonalProject;
@@ -161,7 +161,7 @@ declare function mapComment(comment: Comment): {
161
161
  fileType: string | undefined;
162
162
  fileUrl: string | undefined;
163
163
  fileDuration: number | undefined;
164
- uploadState: "pending" | "completed" | undefined;
164
+ uploadState: "completed" | "pending" | undefined;
165
165
  url: string | undefined;
166
166
  title: string | undefined;
167
167
  image: string | undefined;
@@ -211,6 +211,54 @@ declare function getTasksByFilter({ client, query, limit, cursor, }: {
211
211
  }[];
212
212
  nextCursor: string | null;
213
213
  }>;
214
- export { getTasksByFilter, mapActivityEvent, mapComment, mapProject, mapTask };
214
+ /**
215
+ * Map a single Todoist reminder to a more structured format, for LLM consumption.
216
+ * Normalizes SDK's `itemId` to `taskId` for consistency with other tools.
217
+ * @param reminder - The reminder to map (any of the 3 types).
218
+ * @returns The mapped reminder.
219
+ */
220
+ declare function mapReminder(reminder: Reminder): {
221
+ minuteOffset: number;
222
+ due: {
223
+ isRecurring: boolean;
224
+ string: string;
225
+ date: string;
226
+ datetime: string | undefined;
227
+ timezone: string | undefined;
228
+ } | undefined;
229
+ id: string;
230
+ taskId: string;
231
+ type: "location" | "absolute" | "relative";
232
+ } | {
233
+ due: {
234
+ isRecurring: boolean;
235
+ string: string;
236
+ date: string;
237
+ datetime: string | undefined;
238
+ timezone: string | undefined;
239
+ };
240
+ id: string;
241
+ taskId: string;
242
+ type: "location" | "absolute" | "relative";
243
+ } | {
244
+ name: string;
245
+ locLat: string;
246
+ locLong: string;
247
+ locTrigger: "on_enter" | "on_leave";
248
+ radius: number;
249
+ id: string;
250
+ taskId: string;
251
+ type: "location" | "absolute" | "relative";
252
+ };
253
+ /**
254
+ * Count reminders by category: time-based (relative/absolute) and location.
255
+ */
256
+ declare function countRemindersByType(reminders: {
257
+ type: string;
258
+ }[]): {
259
+ timeBasedCount: number;
260
+ locationCount: number;
261
+ };
215
262
  export type { MappedTask };
263
+ export { countRemindersByType, getTasksByFilter, mapActivityEvent, mapComment, mapProject, mapReminder, mapTask, };
216
264
  //# sourceMappingURL=tool-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,8 @@ declare const addComments: {
25
25
  fileUrl: z.ZodOptional<z.ZodString>;
26
26
  fileDuration: z.ZodOptional<z.ZodNumber>;
27
27
  uploadState: z.ZodOptional<z.ZodEnum<{
28
- pending: "pending";
29
28
  completed: "completed";
29
+ pending: "pending";
30
30
  }>>;
31
31
  url: z.ZodOptional<z.ZodString>;
32
32
  title: z.ZodOptional<z.ZodString>;
@@ -66,7 +66,7 @@ declare const addComments: {
66
66
  fileType: string | undefined;
67
67
  fileUrl: string | undefined;
68
68
  fileDuration: number | undefined;
69
- uploadState: "pending" | "completed" | undefined;
69
+ uploadState: "completed" | "pending" | undefined;
70
70
  url: string | undefined;
71
71
  title: string | undefined;
72
72
  image: string | undefined;
@@ -0,0 +1,141 @@
1
+ import { z } from 'zod';
2
+ declare const addReminders: {
3
+ name: "add-reminders";
4
+ description: string;
5
+ parameters: {
6
+ reminders: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
7
+ type: z.ZodLiteral<"relative">;
8
+ taskId: z.ZodString;
9
+ minuteOffset: z.ZodNumber;
10
+ service: z.ZodOptional<z.ZodEnum<{
11
+ email: "email";
12
+ push: "push";
13
+ }>>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ type: z.ZodLiteral<"absolute">;
16
+ taskId: z.ZodString;
17
+ due: z.ZodObject<{
18
+ date: z.ZodOptional<z.ZodString>;
19
+ string: z.ZodOptional<z.ZodString>;
20
+ timezone: z.ZodOptional<z.ZodString>;
21
+ lang: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ service: z.ZodOptional<z.ZodEnum<{
24
+ email: "email";
25
+ push: "push";
26
+ }>>;
27
+ }, z.core.$strip>, z.ZodObject<{
28
+ type: z.ZodLiteral<"location">;
29
+ taskId: z.ZodString;
30
+ name: z.ZodString;
31
+ locLat: z.ZodString;
32
+ locLong: z.ZodString;
33
+ locTrigger: z.ZodEnum<{
34
+ on_enter: "on_enter";
35
+ on_leave: "on_leave";
36
+ }>;
37
+ radius: z.ZodOptional<z.ZodNumber>;
38
+ }, z.core.$strip>], "type">>;
39
+ };
40
+ outputSchema: {
41
+ reminders: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ taskId: z.ZodString;
44
+ type: z.ZodEnum<{
45
+ location: "location";
46
+ absolute: "absolute";
47
+ relative: "relative";
48
+ }>;
49
+ minuteOffset: z.ZodOptional<z.ZodNumber>;
50
+ due: z.ZodOptional<z.ZodObject<{
51
+ isRecurring: z.ZodBoolean;
52
+ string: z.ZodString;
53
+ date: z.ZodString;
54
+ datetime: z.ZodOptional<z.ZodString>;
55
+ timezone: z.ZodOptional<z.ZodString>;
56
+ }, z.core.$strip>>;
57
+ name: z.ZodOptional<z.ZodString>;
58
+ locLat: z.ZodOptional<z.ZodString>;
59
+ locLong: z.ZodOptional<z.ZodString>;
60
+ locTrigger: z.ZodOptional<z.ZodEnum<{
61
+ on_enter: "on_enter";
62
+ on_leave: "on_leave";
63
+ }>>;
64
+ radius: z.ZodOptional<z.ZodNumber>;
65
+ }, z.core.$strip>>;
66
+ totalCount: z.ZodNumber;
67
+ addedReminderIds: z.ZodArray<z.ZodString>;
68
+ };
69
+ annotations: {
70
+ readOnlyHint: false;
71
+ destructiveHint: false;
72
+ idempotentHint: false;
73
+ };
74
+ execute(args: {
75
+ reminders: ({
76
+ type: "relative";
77
+ taskId: string;
78
+ minuteOffset: number;
79
+ service?: "email" | "push" | undefined;
80
+ } | {
81
+ type: "absolute";
82
+ taskId: string;
83
+ due: {
84
+ date?: string | undefined;
85
+ string?: string | undefined;
86
+ timezone?: string | undefined;
87
+ lang?: string | undefined;
88
+ };
89
+ service?: "email" | "push" | undefined;
90
+ } | {
91
+ type: "location";
92
+ taskId: string;
93
+ name: string;
94
+ locLat: string;
95
+ locLong: string;
96
+ locTrigger: "on_enter" | "on_leave";
97
+ radius?: number | undefined;
98
+ })[];
99
+ }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
100
+ textContent: string;
101
+ structuredContent: {
102
+ reminders: ({
103
+ minuteOffset: number;
104
+ due: {
105
+ isRecurring: boolean;
106
+ string: string;
107
+ date: string;
108
+ datetime: string | undefined;
109
+ timezone: string | undefined;
110
+ } | undefined;
111
+ id: string;
112
+ taskId: string;
113
+ type: "location" | "absolute" | "relative";
114
+ } | {
115
+ due: {
116
+ isRecurring: boolean;
117
+ string: string;
118
+ date: string;
119
+ datetime: string | undefined;
120
+ timezone: string | undefined;
121
+ };
122
+ id: string;
123
+ taskId: string;
124
+ type: "location" | "absolute" | "relative";
125
+ } | {
126
+ name: string;
127
+ locLat: string;
128
+ locLong: string;
129
+ locTrigger: "on_enter" | "on_leave";
130
+ radius: number;
131
+ id: string;
132
+ taskId: string;
133
+ type: "location" | "absolute" | "relative";
134
+ })[];
135
+ totalCount: number;
136
+ addedReminderIds: string[];
137
+ };
138
+ }>;
139
+ };
140
+ export { addReminders };
141
+ //# sourceMappingURL=add-reminders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-reminders.d.ts","sourceRoot":"","sources":["../../src/tools/add-reminders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA0EvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD6C,CAAA;AAkB/D,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ declare const analyzeProjectHealth: {
3
+ name: "analyze-project-health";
4
+ description: string;
5
+ parameters: {
6
+ projectId: z.ZodString;
7
+ };
8
+ outputSchema: {
9
+ projectId: z.ZodString;
10
+ health: z.ZodObject<{
11
+ status: z.ZodEnum<{
12
+ UNKNOWN: "UNKNOWN";
13
+ ON_TRACK: "ON_TRACK";
14
+ AT_RISK: "AT_RISK";
15
+ CRITICAL: "CRITICAL";
16
+ EXCELLENT: "EXCELLENT";
17
+ ERROR: "ERROR";
18
+ }>;
19
+ isStale: z.ZodBoolean;
20
+ updateInProgress: z.ZodBoolean;
21
+ }, z.core.$strip>;
22
+ message: z.ZodString;
23
+ };
24
+ annotations: {
25
+ readOnlyHint: false;
26
+ destructiveHint: false;
27
+ idempotentHint: true;
28
+ };
29
+ execute(args: {
30
+ projectId: string;
31
+ }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
32
+ textContent: string;
33
+ structuredContent: {
34
+ projectId: string;
35
+ health: {
36
+ status: "UNKNOWN" | "ON_TRACK" | "AT_RISK" | "CRITICAL" | "EXCELLENT" | "ERROR";
37
+ isStale: boolean;
38
+ updateInProgress: boolean;
39
+ };
40
+ message: string;
41
+ };
42
+ }>;
43
+ };
44
+ export { analyzeProjectHealth };
45
+ //# sourceMappingURL=analyze-project-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-project-health.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-project-health.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA+BvB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCqC,CAAA;AAE/D,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
@@ -6,10 +6,12 @@ declare const deleteObject: {
6
6
  type: z.ZodEnum<{
7
7
  filter: "filter";
8
8
  comment: "comment";
9
+ reminder: "reminder";
9
10
  task: "task";
10
11
  project: "project";
11
12
  section: "section";
12
13
  label: "label";
14
+ location_reminder: "location_reminder";
13
15
  }>;
14
16
  id: z.ZodString;
15
17
  };
@@ -18,10 +20,12 @@ declare const deleteObject: {
18
20
  type: z.ZodEnum<{
19
21
  filter: "filter";
20
22
  comment: "comment";
23
+ reminder: "reminder";
21
24
  task: "task";
22
25
  project: "project";
23
26
  section: "section";
24
27
  label: "label";
28
+ location_reminder: "location_reminder";
25
29
  }>;
26
30
  id: z.ZodString;
27
31
  }, z.core.$strip>;
@@ -33,13 +37,13 @@ declare const deleteObject: {
33
37
  idempotentHint: true;
34
38
  };
35
39
  execute(args: {
36
- type: "filter" | "comment" | "task" | "project" | "section" | "label";
40
+ type: "filter" | "comment" | "reminder" | "task" | "project" | "section" | "label" | "location_reminder";
37
41
  id: string;
38
42
  }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
39
43
  textContent: string;
40
44
  structuredContent: {
41
45
  deletedEntity: {
42
- type: "filter" | "comment" | "task" | "project" | "section" | "label";
46
+ type: "filter" | "comment" | "reminder" | "task" | "project" | "section" | "label" | "location_reminder";
43
47
  id: string;
44
48
  };
45
49
  success: true;
@@ -1 +1 @@
1
- {"version":3,"file":"delete-object.d.ts","sourceRoot":"","sources":["../../src/tools/delete-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAqBvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC6C,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"delete-object.d.ts","sourceRoot":"","sources":["../../src/tools/delete-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA8BvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C6C,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -90,8 +90,8 @@ declare const fetchObject: {
90
90
  fileUrl: z.ZodOptional<z.ZodString>;
91
91
  fileDuration: z.ZodOptional<z.ZodNumber>;
92
92
  uploadState: z.ZodOptional<z.ZodEnum<{
93
- pending: "pending";
94
93
  completed: "completed";
94
+ pending: "pending";
95
95
  }>>;
96
96
  url: z.ZodOptional<z.ZodString>;
97
97
  title: z.ZodOptional<z.ZodString>;
@@ -174,7 +174,7 @@ declare const fetchObject: {
174
174
  fileType: string | undefined;
175
175
  fileUrl: string | undefined;
176
176
  fileDuration: number | undefined;
177
- uploadState: "pending" | "completed" | undefined;
177
+ uploadState: "completed" | "pending" | undefined;
178
178
  url: string | undefined;
179
179
  title: string | undefined;
180
180
  image: string | undefined;
@@ -25,8 +25,8 @@ declare const findComments: {
25
25
  fileUrl: z.ZodOptional<z.ZodString>;
26
26
  fileDuration: z.ZodOptional<z.ZodNumber>;
27
27
  uploadState: z.ZodOptional<z.ZodEnum<{
28
- pending: "pending";
29
28
  completed: "completed";
29
+ pending: "pending";
30
30
  }>>;
31
31
  url: z.ZodOptional<z.ZodString>;
32
32
  title: z.ZodOptional<z.ZodString>;
@@ -69,7 +69,7 @@ declare const findComments: {
69
69
  fileType: string | undefined;
70
70
  fileUrl: string | undefined;
71
71
  fileDuration: number | undefined;
72
- uploadState: "pending" | "completed" | undefined;
72
+ uploadState: "completed" | "pending" | undefined;
73
73
  url: string | undefined;
74
74
  title: string | undefined;
75
75
  image: string | undefined;
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ declare const findReminders: {
3
+ name: "find-reminders";
4
+ description: string;
5
+ parameters: {
6
+ taskId: z.ZodOptional<z.ZodString>;
7
+ reminderId: z.ZodOptional<z.ZodString>;
8
+ locationReminderId: z.ZodOptional<z.ZodString>;
9
+ };
10
+ outputSchema: {
11
+ reminders: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodString;
13
+ taskId: z.ZodString;
14
+ type: z.ZodEnum<{
15
+ location: "location";
16
+ absolute: "absolute";
17
+ relative: "relative";
18
+ }>;
19
+ minuteOffset: z.ZodOptional<z.ZodNumber>;
20
+ due: z.ZodOptional<z.ZodObject<{
21
+ isRecurring: z.ZodBoolean;
22
+ string: z.ZodString;
23
+ date: z.ZodString;
24
+ datetime: z.ZodOptional<z.ZodString>;
25
+ timezone: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ name: z.ZodOptional<z.ZodString>;
28
+ locLat: z.ZodOptional<z.ZodString>;
29
+ locLong: z.ZodOptional<z.ZodString>;
30
+ locTrigger: z.ZodOptional<z.ZodEnum<{
31
+ on_enter: "on_enter";
32
+ on_leave: "on_leave";
33
+ }>>;
34
+ radius: z.ZodOptional<z.ZodNumber>;
35
+ }, z.core.$strip>>;
36
+ searchType: z.ZodString;
37
+ searchId: z.ZodString;
38
+ totalCount: z.ZodNumber;
39
+ };
40
+ annotations: {
41
+ readOnlyHint: true;
42
+ destructiveHint: false;
43
+ idempotentHint: true;
44
+ };
45
+ execute(args: {
46
+ taskId?: string | undefined;
47
+ reminderId?: string | undefined;
48
+ locationReminderId?: string | undefined;
49
+ }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
50
+ textContent: string;
51
+ structuredContent: {
52
+ reminders: ({
53
+ minuteOffset: number;
54
+ due: {
55
+ isRecurring: boolean;
56
+ string: string;
57
+ date: string;
58
+ datetime: string | undefined;
59
+ timezone: string | undefined;
60
+ } | undefined;
61
+ id: string;
62
+ taskId: string;
63
+ type: "location" | "absolute" | "relative";
64
+ } | {
65
+ due: {
66
+ isRecurring: boolean;
67
+ string: string;
68
+ date: string;
69
+ datetime: string | undefined;
70
+ timezone: string | undefined;
71
+ };
72
+ id: string;
73
+ taskId: string;
74
+ type: "location" | "absolute" | "relative";
75
+ } | {
76
+ name: string;
77
+ locLat: string;
78
+ locLong: string;
79
+ locTrigger: "on_enter" | "on_leave";
80
+ radius: number;
81
+ id: string;
82
+ taskId: string;
83
+ type: "location" | "absolute" | "relative";
84
+ })[];
85
+ searchType: string;
86
+ searchId: string;
87
+ totalCount: number;
88
+ };
89
+ }>;
90
+ };
91
+ export { findReminders };
92
+ //# sourceMappingURL=find-reminders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-reminders.d.ts","sourceRoot":"","sources":["../../src/tools/find-reminders.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkCvB,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF4C,CAAA;AAsB/D,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+ declare const getProjectActivityStats: {
3
+ name: "get-project-activity-stats";
4
+ description: string;
5
+ parameters: {
6
+ projectId: z.ZodString;
7
+ weeks: z.ZodOptional<z.ZodNumber>;
8
+ includeWeeklyCounts: z.ZodOptional<z.ZodBoolean>;
9
+ };
10
+ outputSchema: {
11
+ projectId: z.ZodString;
12
+ dayItems: z.ZodArray<z.ZodObject<{
13
+ date: z.ZodString;
14
+ totalCount: z.ZodNumber;
15
+ }, z.core.$strip>>;
16
+ weekItems: z.ZodNullable<z.ZodArray<z.ZodObject<{
17
+ fromDate: z.ZodString;
18
+ toDate: z.ZodString;
19
+ totalCount: z.ZodNumber;
20
+ }, z.core.$strip>>>;
21
+ };
22
+ annotations: {
23
+ readOnlyHint: true;
24
+ destructiveHint: false;
25
+ idempotentHint: true;
26
+ };
27
+ execute(args: {
28
+ projectId: string;
29
+ weeks?: number | undefined;
30
+ includeWeeklyCounts?: boolean | undefined;
31
+ }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
32
+ textContent: string;
33
+ structuredContent: {
34
+ projectId: string;
35
+ dayItems: {
36
+ date: string;
37
+ totalCount: number;
38
+ }[];
39
+ weekItems: {
40
+ fromDate: string;
41
+ toDate: string;
42
+ totalCount: number;
43
+ }[] | null;
44
+ };
45
+ }>;
46
+ };
47
+ export { getProjectActivityStats };
48
+ //# sourceMappingURL=get-project-activity-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-activity-stats.d.ts","sourceRoot":"","sources":["../../src/tools/get-project-activity-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAgEvB,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BkC,CAAA;AAE/D,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -0,0 +1,112 @@
1
+ import { TodoistApi } from '@doist/todoist-api-typescript';
2
+ import { z } from 'zod';
3
+ declare const getProjectHealth: {
4
+ name: "get-project-health";
5
+ description: string;
6
+ parameters: {
7
+ projectId: z.ZodString;
8
+ includeContext: z.ZodDefault<z.ZodBoolean>;
9
+ };
10
+ outputSchema: {
11
+ projectId: z.ZodString;
12
+ projectName: z.ZodString;
13
+ progress: z.ZodObject<{
14
+ completedCount: z.ZodNumber;
15
+ activeCount: z.ZodNumber;
16
+ progressPercent: z.ZodNumber;
17
+ }, z.core.$strip>;
18
+ health: z.ZodObject<{
19
+ status: z.ZodEnum<{
20
+ UNKNOWN: "UNKNOWN";
21
+ ON_TRACK: "ON_TRACK";
22
+ AT_RISK: "AT_RISK";
23
+ CRITICAL: "CRITICAL";
24
+ EXCELLENT: "EXCELLENT";
25
+ ERROR: "ERROR";
26
+ }>;
27
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ descriptionSummary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ taskRecommendations: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
30
+ taskId: z.ZodString;
31
+ recommendation: z.ZodString;
32
+ }, z.core.$strip>>>>;
33
+ isStale: z.ZodBoolean;
34
+ updateInProgress: z.ZodBoolean;
35
+ updatedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ }, z.core.$strip>;
37
+ context: z.ZodOptional<z.ZodObject<{
38
+ projectDescription: z.ZodNullable<z.ZodString>;
39
+ projectMetrics: z.ZodObject<{
40
+ totalTasks: z.ZodNumber;
41
+ completedTasks: z.ZodNumber;
42
+ overdueTasks: z.ZodNumber;
43
+ tasksCreatedThisWeek: z.ZodNumber;
44
+ tasksCompletedThisWeek: z.ZodNumber;
45
+ averageCompletionTime: z.ZodNullable<z.ZodNumber>;
46
+ }, z.core.$strip>;
47
+ tasks: z.ZodArray<z.ZodObject<{
48
+ id: z.ZodString;
49
+ content: z.ZodString;
50
+ priority: z.ZodString;
51
+ due: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ deadline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ isCompleted: z.ZodBoolean;
54
+ labels: z.ZodArray<z.ZodString>;
55
+ }, z.core.$strip>>;
56
+ }, z.core.$strip>>;
57
+ };
58
+ annotations: {
59
+ readOnlyHint: true;
60
+ destructiveHint: false;
61
+ idempotentHint: true;
62
+ };
63
+ execute(args: {
64
+ projectId: string;
65
+ includeContext: boolean;
66
+ }, client: TodoistApi): Promise<{
67
+ textContent: string;
68
+ structuredContent: {
69
+ projectId: string;
70
+ projectName: string;
71
+ progress: {
72
+ completedCount: number;
73
+ activeCount: number;
74
+ progressPercent: number;
75
+ };
76
+ health: {
77
+ status: "UNKNOWN" | "ON_TRACK" | "AT_RISK" | "CRITICAL" | "EXCELLENT" | "ERROR";
78
+ description: string | null;
79
+ descriptionSummary: string | null;
80
+ taskRecommendations: {
81
+ taskId: string;
82
+ recommendation: string;
83
+ }[] | null;
84
+ isStale: boolean;
85
+ updateInProgress: boolean;
86
+ updatedAt: string | null;
87
+ };
88
+ context: {
89
+ projectDescription: string | null;
90
+ projectMetrics: {
91
+ totalTasks: number;
92
+ completedTasks: number;
93
+ overdueTasks: number;
94
+ tasksCreatedThisWeek: number;
95
+ tasksCompletedThisWeek: number;
96
+ averageCompletionTime: number | null;
97
+ };
98
+ tasks: {
99
+ id: string;
100
+ content: string;
101
+ priority: string;
102
+ due: string | null;
103
+ deadline: string | null;
104
+ isCompleted: boolean;
105
+ labels: string[];
106
+ }[];
107
+ } | undefined;
108
+ };
109
+ }>;
110
+ };
111
+ export { getProjectHealth };
112
+ //# sourceMappingURL=get-project-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-project-health.d.ts","sourceRoot":"","sources":["../../src/tools/get-project-health.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,UAAU,EAClB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkMvB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DyC,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,CAAA"}