@doist/todoist-ai 6.1.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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;AAsGnE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,aAyE5F;AAED,OAAO,EAAE,YAAY,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;AAwGnE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,aA0E5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -4,8 +4,8 @@ declare const deleteObject: {
4
4
  description: string;
5
5
  parameters: {
6
6
  type: z.ZodEnum<{
7
- task: "task";
8
7
  comment: "comment";
8
+ task: "task";
9
9
  project: "project";
10
10
  section: "section";
11
11
  }>;
@@ -14,8 +14,8 @@ declare const deleteObject: {
14
14
  outputSchema: {
15
15
  deletedEntity: z.ZodObject<{
16
16
  type: z.ZodEnum<{
17
- task: "task";
18
17
  comment: "comment";
18
+ task: "task";
19
19
  project: "project";
20
20
  section: "section";
21
21
  }>;
@@ -25,13 +25,13 @@ declare const deleteObject: {
25
25
  };
26
26
  mutability: "mutating";
27
27
  execute(args: {
28
- type: "task" | "comment" | "project" | "section";
28
+ type: "comment" | "task" | "project" | "section";
29
29
  id: string;
30
30
  }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
31
31
  textContent: string;
32
32
  structuredContent: {
33
33
  deletedEntity: {
34
- type: "task" | "comment" | "project" | "section";
34
+ type: "comment" | "task" | "project" | "section";
35
35
  id: string;
36
36
  };
37
37
  success: true;
@@ -0,0 +1,168 @@
1
+ import { z } from 'zod';
2
+ declare const fetchObject: {
3
+ name: "fetch-object";
4
+ description: string;
5
+ parameters: {
6
+ type: z.ZodEnum<{
7
+ comment: "comment";
8
+ task: "task";
9
+ project: "project";
10
+ section: "section";
11
+ }>;
12
+ id: z.ZodString;
13
+ };
14
+ outputSchema: {
15
+ type: z.ZodEnum<{
16
+ comment: "comment";
17
+ task: "task";
18
+ project: "project";
19
+ section: "section";
20
+ }>;
21
+ id: z.ZodString;
22
+ object: z.ZodUnion<readonly [z.ZodObject<{
23
+ id: z.ZodString;
24
+ content: z.ZodString;
25
+ description: z.ZodString;
26
+ dueDate: z.ZodOptional<z.ZodString>;
27
+ recurring: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>;
28
+ deadlineDate: z.ZodOptional<z.ZodString>;
29
+ priority: z.ZodEnum<{
30
+ p1: "p1";
31
+ p2: "p2";
32
+ p3: "p3";
33
+ p4: "p4";
34
+ }>;
35
+ projectId: z.ZodString;
36
+ sectionId: z.ZodOptional<z.ZodString>;
37
+ parentId: z.ZodOptional<z.ZodString>;
38
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ duration: z.ZodOptional<z.ZodString>;
40
+ responsibleUid: z.ZodOptional<z.ZodString>;
41
+ isUncompletable: z.ZodOptional<z.ZodBoolean>;
42
+ assignedByUid: z.ZodOptional<z.ZodString>;
43
+ checked: z.ZodBoolean;
44
+ completedAt: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ id: z.ZodString;
47
+ name: z.ZodString;
48
+ color: z.ZodString;
49
+ isFavorite: z.ZodBoolean;
50
+ isShared: z.ZodBoolean;
51
+ parentId: z.ZodOptional<z.ZodString>;
52
+ inboxProject: z.ZodBoolean;
53
+ viewStyle: z.ZodString;
54
+ }, z.core.$strip>, z.ZodObject<{
55
+ id: z.ZodString;
56
+ taskId: z.ZodOptional<z.ZodString>;
57
+ projectId: z.ZodOptional<z.ZodString>;
58
+ content: z.ZodString;
59
+ postedAt: z.ZodString;
60
+ postedUid: z.ZodOptional<z.ZodString>;
61
+ fileAttachment: z.ZodOptional<z.ZodObject<{
62
+ resourceType: z.ZodString;
63
+ fileName: z.ZodOptional<z.ZodString>;
64
+ fileSize: z.ZodOptional<z.ZodNumber>;
65
+ fileType: z.ZodOptional<z.ZodString>;
66
+ fileUrl: z.ZodOptional<z.ZodString>;
67
+ fileDuration: z.ZodOptional<z.ZodNumber>;
68
+ uploadState: z.ZodOptional<z.ZodEnum<{
69
+ pending: "pending";
70
+ completed: "completed";
71
+ }>>;
72
+ url: z.ZodOptional<z.ZodString>;
73
+ title: z.ZodOptional<z.ZodString>;
74
+ image: z.ZodOptional<z.ZodString>;
75
+ imageWidth: z.ZodOptional<z.ZodNumber>;
76
+ imageHeight: z.ZodOptional<z.ZodNumber>;
77
+ }, z.core.$strip>>;
78
+ }, z.core.$strip>, z.ZodObject<{
79
+ id: z.ZodString;
80
+ name: z.ZodString;
81
+ }, z.core.$strip>]>;
82
+ };
83
+ mutability: "readonly";
84
+ execute(args: {
85
+ type: "comment" | "task" | "project" | "section";
86
+ id: string;
87
+ }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
88
+ textContent: string;
89
+ structuredContent: {
90
+ type: "task";
91
+ id: string;
92
+ object: {
93
+ id: string;
94
+ content: string;
95
+ description: string;
96
+ dueDate: string | undefined;
97
+ recurring: string | boolean;
98
+ deadlineDate: string | undefined;
99
+ priority: "p1" | "p2" | "p3" | "p4";
100
+ projectId: string;
101
+ sectionId: string | undefined;
102
+ parentId: string | undefined;
103
+ labels: string[];
104
+ duration: string | undefined;
105
+ responsibleUid: string | undefined;
106
+ assignedByUid: string | undefined;
107
+ checked: boolean;
108
+ completedAt: string | undefined;
109
+ };
110
+ };
111
+ } | {
112
+ textContent: string;
113
+ structuredContent: {
114
+ type: "project";
115
+ id: string;
116
+ object: {
117
+ id: string;
118
+ name: string;
119
+ color: string;
120
+ isFavorite: boolean;
121
+ isShared: boolean;
122
+ parentId: string | undefined;
123
+ inboxProject: boolean;
124
+ viewStyle: string;
125
+ };
126
+ };
127
+ } | {
128
+ textContent: string;
129
+ structuredContent: {
130
+ type: "comment";
131
+ id: string;
132
+ object: {
133
+ id: string;
134
+ taskId: string | undefined;
135
+ projectId: string | undefined;
136
+ content: string;
137
+ postedAt: string;
138
+ postedUid: string;
139
+ fileAttachment: {
140
+ resourceType: string;
141
+ fileName: string | undefined;
142
+ fileSize: number | undefined;
143
+ fileType: string | undefined;
144
+ fileUrl: string | undefined;
145
+ fileDuration: number | undefined;
146
+ uploadState: "pending" | "completed" | undefined;
147
+ url: string | undefined;
148
+ title: string | undefined;
149
+ image: string | undefined;
150
+ imageWidth: number | undefined;
151
+ imageHeight: number | undefined;
152
+ } | undefined;
153
+ };
154
+ };
155
+ } | {
156
+ textContent: string;
157
+ structuredContent: {
158
+ type: "section";
159
+ id: string;
160
+ object: {
161
+ id: string;
162
+ name: string;
163
+ };
164
+ };
165
+ }>;
166
+ };
167
+ export { fetchObject };
168
+ //# sourceMappingURL=fetch-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-object.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAqBvB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+E8C,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,4 +1,11 @@
1
1
  import { z } from 'zod';
2
+ type FetchResult = {
3
+ id: string;
4
+ title: string;
5
+ text: string;
6
+ url: string;
7
+ metadata?: Record<string, unknown>;
8
+ };
2
9
  /**
3
10
  * OpenAI MCP fetch tool - retrieves the full contents of a task or project by ID.
4
11
  *
@@ -23,6 +30,7 @@ declare const fetch: {
23
30
  id: string;
24
31
  }, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
25
32
  textContent: string;
33
+ structuredContent: FetchResult;
26
34
  }>;
27
35
  };
28
36
  export { fetch };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/tools/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiCvB;;;;;GAKG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAwFoD,CAAA;AAE/D,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/tools/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAcvB,KAAK,WAAW,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,CAAA;AAaD;;;;;GAKG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CA2FoD,CAAA;AAE/D,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -4,8 +4,8 @@ declare const findActivity: {
4
4
  description: string;
5
5
  parameters: {
6
6
  objectType: z.ZodOptional<z.ZodEnum<{
7
- task: "task";
8
7
  comment: "comment";
8
+ task: "task";
9
9
  project: "project";
10
10
  }>>;
11
11
  objectId: z.ZodOptional<z.ZodString>;
@@ -46,7 +46,7 @@ declare const findActivity: {
46
46
  mutability: "readonly";
47
47
  execute(args: {
48
48
  limit: number;
49
- objectType?: "task" | "comment" | "project" | undefined;
49
+ objectType?: "comment" | "task" | "project" | undefined;
50
50
  objectId?: string | undefined;
51
51
  eventType?: "completed" | "added" | "updated" | "deleted" | "uncompleted" | "archived" | "unarchived" | "shared" | "left" | undefined;
52
52
  projectId?: string | undefined;
@@ -72,7 +72,7 @@ declare const findActivity: {
72
72
  hasMore: boolean;
73
73
  appliedFilters: {
74
74
  limit: number;
75
- objectType?: "task" | "comment" | "project" | undefined;
75
+ objectType?: "comment" | "task" | "project" | undefined;
76
76
  objectId?: string | undefined;
77
77
  eventType?: "completed" | "added" | "updated" | "deleted" | "uncompleted" | "archived" | "unarchived" | "shared" | "left" | undefined;
78
78
  projectId?: string | undefined;
@@ -35,6 +35,9 @@ declare const findComments: {
35
35
  imageHeight: z.ZodOptional<z.ZodNumber>;
36
36
  }, z.core.$strip>>;
37
37
  }, z.core.$strip>>;
38
+ searchType: z.ZodString;
39
+ searchId: z.ZodString;
40
+ hasMore: z.ZodBoolean;
38
41
  nextCursor: z.ZodOptional<z.ZodString>;
39
42
  totalCount: z.ZodNumber;
40
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"find-comments.d.ts","sourceRoot":"","sources":["../../src/tools/find-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiCvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8E6C,CAAA;AAmD/D,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"find-comments.d.ts","sourceRoot":"","sources":["../../src/tools/find-comments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAwCvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8E6C,CAAA;AAmD/D,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -26,6 +26,7 @@ export declare const ToolNames: {
26
26
  readonly FIND_ACTIVITY: "find-activity";
27
27
  readonly GET_OVERVIEW: "get-overview";
28
28
  readonly DELETE_OBJECT: "delete-object";
29
+ readonly FETCH_OBJECT: "fetch-object";
29
30
  readonly USER_INFO: "user-info";
30
31
  readonly SEARCH: "search";
31
32
  readonly FETCH: "fetch";
@@ -1 +1 @@
1
- {"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../src/utils/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;CAuCZ,CAAA;AAGV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../src/utils/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAwCZ,CAAA;AAGV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-ai",
3
- "version": "6.1.0",
3
+ "version": "7.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -51,20 +51,22 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@doist/todoist-api-typescript": "6.2.1",
54
- "@modelcontextprotocol/sdk": "1.24.3",
55
54
  "date-fns": "4.1.0",
56
55
  "dompurify": "3.3.1",
57
56
  "dotenv": "17.2.3",
58
57
  "zod": "4.1.13"
59
58
  },
59
+ "peerDependencies": {
60
+ "@modelcontextprotocol/sdk": "^1.25.0"
61
+ },
60
62
  "devDependencies": {
61
- "@biomejs/biome": "2.3.8",
62
- "@types/dompurify": "3.0.5",
63
+ "@biomejs/biome": "2.3.10",
64
+ "@types/dompurify": "3.2.0",
63
65
  "@types/express": "5.0.6",
64
66
  "@types/morgan": "1.9.10",
65
- "@types/node": "22.19.2",
66
- "@types/react": "19.2.2",
67
- "@types/react-dom": "19.2.2",
67
+ "@types/node": "22.19.3",
68
+ "@types/react": "19.2.7",
69
+ "@types/react-dom": "19.2.3",
68
70
  "concurrently": "9.2.1",
69
71
  "express": "5.2.1",
70
72
  "husky": "9.1.7",
@@ -72,12 +74,12 @@
72
74
  "morgan": "1.10.1",
73
75
  "nodemon": "3.1.11",
74
76
  "rimraf": "6.1.2",
75
- "react": "19.2.0",
76
- "react-dom": "19.2.0",
77
+ "react": "19.2.3",
78
+ "react-dom": "19.2.3",
77
79
  "snarkdown": "2.0.0",
78
- "tsx": "4.20.6",
80
+ "tsx": "4.21.0",
79
81
  "typescript": "5.9.3",
80
- "vite": "7.2.7",
82
+ "vite": "7.3.0",
81
83
  "vite-plugin-dts": "4.5.4",
82
84
  "vitest": "3.2.4"
83
85
  },