@doist/todoist-ai 8.1.0 → 8.3.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.
- package/dist/index.d.ts +207 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -50
- package/dist/main-http.js +1 -1
- package/dist/main.js +1 -1
- package/dist/{mcp-server-Cp8MQfjN.js → mcp-server-CmK25-kD.js} +1182 -813
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/prompts/productivity-analysis.d.ts +58 -0
- package/dist/prompts/productivity-analysis.d.ts.map +1 -0
- package/dist/tools/get-productivity-stats.d.ts +160 -0
- package/dist/tools/get-productivity-stats.d.ts.map +1 -0
- package/dist/tools/reorder-objects.d.ts +50 -0
- package/dist/tools/reorder-objects.d.ts.map +1 -0
- package/dist/utils/tool-names.d.ts +2 -0
- package/dist/utils/tool-names.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/run-tool.ts +2 -0
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAgIzB;;;;;;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,aA4GA;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
declare const argsSchema: {
|
|
4
|
+
period: z.ZodDefault<z.ZodEnum<{
|
|
5
|
+
today: "today";
|
|
6
|
+
"7d": "7d";
|
|
7
|
+
"14d": "14d";
|
|
8
|
+
"30d": "30d";
|
|
9
|
+
"this-week": "this-week";
|
|
10
|
+
"this-month": "this-month";
|
|
11
|
+
}>>;
|
|
12
|
+
focus: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
overall: "overall";
|
|
14
|
+
goals: "goals";
|
|
15
|
+
projects: "projects";
|
|
16
|
+
trends: "trends";
|
|
17
|
+
recommendations: "recommendations";
|
|
18
|
+
}>>;
|
|
19
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
20
|
+
};
|
|
21
|
+
type PromptArgs = z.infer<z.ZodObject<typeof argsSchema>>;
|
|
22
|
+
/**
|
|
23
|
+
* Compute the date range (since/until as YYYY-MM-DD) for a given period.
|
|
24
|
+
* Uses UTC since the prompt instructs the LLM to call user-info for timezone.
|
|
25
|
+
*/
|
|
26
|
+
declare function computeDateRange(period: PromptArgs['period'], now?: Date): {
|
|
27
|
+
since: string;
|
|
28
|
+
until: string;
|
|
29
|
+
periodDescription: string;
|
|
30
|
+
};
|
|
31
|
+
declare function buildPromptText(args: PromptArgs): string;
|
|
32
|
+
declare function callback(args: PromptArgs): GetPromptResult;
|
|
33
|
+
declare const productivityAnalysis: {
|
|
34
|
+
name: string;
|
|
35
|
+
title: string;
|
|
36
|
+
description: string;
|
|
37
|
+
argsSchema: {
|
|
38
|
+
period: z.ZodDefault<z.ZodEnum<{
|
|
39
|
+
today: "today";
|
|
40
|
+
"7d": "7d";
|
|
41
|
+
"14d": "14d";
|
|
42
|
+
"30d": "30d";
|
|
43
|
+
"this-week": "this-week";
|
|
44
|
+
"this-month": "this-month";
|
|
45
|
+
}>>;
|
|
46
|
+
focus: z.ZodDefault<z.ZodEnum<{
|
|
47
|
+
overall: "overall";
|
|
48
|
+
goals: "goals";
|
|
49
|
+
projects: "projects";
|
|
50
|
+
trends: "trends";
|
|
51
|
+
recommendations: "recommendations";
|
|
52
|
+
}>>;
|
|
53
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
54
|
+
};
|
|
55
|
+
callback: typeof callback;
|
|
56
|
+
};
|
|
57
|
+
export { productivityAnalysis, computeDateRange, buildPromptText };
|
|
58
|
+
//# sourceMappingURL=productivity-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"productivity-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/productivity-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBf,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAEzD;;;GAGG;AACH,iBAAS,gBAAgB,CACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,GAAG,GAAE,IAAiB,GACvB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA0D7D;AAwCD,iBAAS,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkCjD;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAYnD;AAED,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const getProductivityStats: {
|
|
3
|
+
name: "get-productivity-stats";
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: {};
|
|
6
|
+
outputSchema: {
|
|
7
|
+
completedCount: z.ZodNumber;
|
|
8
|
+
daysItems: z.ZodArray<z.ZodObject<{
|
|
9
|
+
date: z.ZodString;
|
|
10
|
+
totalCompleted: z.ZodNumber;
|
|
11
|
+
items: z.ZodArray<z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
completed: z.ZodNumber;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
weekItems: z.ZodArray<z.ZodObject<{
|
|
17
|
+
from: z.ZodString;
|
|
18
|
+
to: z.ZodString;
|
|
19
|
+
totalCompleted: z.ZodNumber;
|
|
20
|
+
items: z.ZodArray<z.ZodObject<{
|
|
21
|
+
id: z.ZodString;
|
|
22
|
+
completed: z.ZodNumber;
|
|
23
|
+
}, z.core.$strip>>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
goals: z.ZodObject<{
|
|
26
|
+
dailyGoal: z.ZodNumber;
|
|
27
|
+
weeklyGoal: z.ZodNumber;
|
|
28
|
+
currentDailyStreak: z.ZodObject<{
|
|
29
|
+
count: z.ZodNumber;
|
|
30
|
+
start: z.ZodString;
|
|
31
|
+
end: z.ZodString;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
currentWeeklyStreak: z.ZodObject<{
|
|
34
|
+
count: z.ZodNumber;
|
|
35
|
+
start: z.ZodString;
|
|
36
|
+
end: z.ZodString;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
lastDailyStreak: z.ZodObject<{
|
|
39
|
+
count: z.ZodNumber;
|
|
40
|
+
start: z.ZodString;
|
|
41
|
+
end: z.ZodString;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
lastWeeklyStreak: z.ZodObject<{
|
|
44
|
+
count: z.ZodNumber;
|
|
45
|
+
start: z.ZodString;
|
|
46
|
+
end: z.ZodString;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
maxDailyStreak: z.ZodObject<{
|
|
49
|
+
count: z.ZodNumber;
|
|
50
|
+
start: z.ZodString;
|
|
51
|
+
end: z.ZodString;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
maxWeeklyStreak: z.ZodObject<{
|
|
54
|
+
count: z.ZodNumber;
|
|
55
|
+
start: z.ZodString;
|
|
56
|
+
end: z.ZodString;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
vacationMode: z.ZodNumber;
|
|
59
|
+
karmaDisabled: z.ZodNumber;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
karma: z.ZodNumber;
|
|
62
|
+
karmaTrend: z.ZodString;
|
|
63
|
+
karmaLastUpdate: z.ZodNumber;
|
|
64
|
+
karmaGraphData: z.ZodArray<z.ZodObject<{
|
|
65
|
+
date: z.ZodString;
|
|
66
|
+
karmaAvg: z.ZodNumber;
|
|
67
|
+
}, z.core.$strip>>;
|
|
68
|
+
karmaUpdateReasons: z.ZodArray<z.ZodObject<{
|
|
69
|
+
time: z.ZodString;
|
|
70
|
+
newKarma: z.ZodNumber;
|
|
71
|
+
positiveKarma: z.ZodNumber;
|
|
72
|
+
negativeKarma: z.ZodNumber;
|
|
73
|
+
positiveKarmaReasons: z.ZodArray<z.ZodAny>;
|
|
74
|
+
negativeKarmaReasons: z.ZodArray<z.ZodAny>;
|
|
75
|
+
}, z.core.$strip>>;
|
|
76
|
+
projectColors: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
77
|
+
};
|
|
78
|
+
annotations: {
|
|
79
|
+
readOnlyHint: true;
|
|
80
|
+
destructiveHint: false;
|
|
81
|
+
idempotentHint: true;
|
|
82
|
+
};
|
|
83
|
+
execute(_args: Record<string, never>, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
|
|
84
|
+
textContent: string;
|
|
85
|
+
structuredContent: {
|
|
86
|
+
completedCount: number;
|
|
87
|
+
daysItems: {
|
|
88
|
+
items: {
|
|
89
|
+
id: string;
|
|
90
|
+
completed: number;
|
|
91
|
+
}[];
|
|
92
|
+
totalCompleted: number;
|
|
93
|
+
date: string;
|
|
94
|
+
}[];
|
|
95
|
+
weekItems: {
|
|
96
|
+
items: {
|
|
97
|
+
id: string;
|
|
98
|
+
completed: number;
|
|
99
|
+
}[];
|
|
100
|
+
totalCompleted: number;
|
|
101
|
+
from: string;
|
|
102
|
+
to: string;
|
|
103
|
+
}[];
|
|
104
|
+
goals: {
|
|
105
|
+
dailyGoal: number;
|
|
106
|
+
weeklyGoal: number;
|
|
107
|
+
currentDailyStreak: {
|
|
108
|
+
count: number;
|
|
109
|
+
start: string;
|
|
110
|
+
end: string;
|
|
111
|
+
};
|
|
112
|
+
currentWeeklyStreak: {
|
|
113
|
+
count: number;
|
|
114
|
+
start: string;
|
|
115
|
+
end: string;
|
|
116
|
+
};
|
|
117
|
+
lastDailyStreak: {
|
|
118
|
+
count: number;
|
|
119
|
+
start: string;
|
|
120
|
+
end: string;
|
|
121
|
+
};
|
|
122
|
+
lastWeeklyStreak: {
|
|
123
|
+
count: number;
|
|
124
|
+
start: string;
|
|
125
|
+
end: string;
|
|
126
|
+
};
|
|
127
|
+
maxDailyStreak: {
|
|
128
|
+
count: number;
|
|
129
|
+
start: string;
|
|
130
|
+
end: string;
|
|
131
|
+
};
|
|
132
|
+
maxWeeklyStreak: {
|
|
133
|
+
count: number;
|
|
134
|
+
start: string;
|
|
135
|
+
end: string;
|
|
136
|
+
};
|
|
137
|
+
vacationMode: number;
|
|
138
|
+
karmaDisabled: number;
|
|
139
|
+
};
|
|
140
|
+
karma: number;
|
|
141
|
+
karmaTrend: string;
|
|
142
|
+
karmaLastUpdate: number;
|
|
143
|
+
karmaGraphData: {
|
|
144
|
+
date: string;
|
|
145
|
+
karmaAvg: number;
|
|
146
|
+
}[];
|
|
147
|
+
karmaUpdateReasons: {
|
|
148
|
+
time: string;
|
|
149
|
+
newKarma: number;
|
|
150
|
+
positiveKarma: number;
|
|
151
|
+
negativeKarma: number;
|
|
152
|
+
positiveKarmaReasons: any[];
|
|
153
|
+
negativeKarmaReasons: any[];
|
|
154
|
+
}[];
|
|
155
|
+
projectColors: Record<string, string>;
|
|
156
|
+
};
|
|
157
|
+
}>;
|
|
158
|
+
};
|
|
159
|
+
export { getProductivityStats };
|
|
160
|
+
//# sourceMappingURL=get-productivity-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-productivity-stats.d.ts","sourceRoot":"","sources":["../../src/tools/get-productivity-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkFvB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CqC,CAAA;AA2C/D,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const reorderObjects: {
|
|
3
|
+
name: "reorder-objects";
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: {
|
|
6
|
+
type: z.ZodEnum<{
|
|
7
|
+
project: "project";
|
|
8
|
+
section: "section";
|
|
9
|
+
}>;
|
|
10
|
+
items: z.ZodArray<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
};
|
|
16
|
+
outputSchema: {
|
|
17
|
+
type: z.ZodEnum<{
|
|
18
|
+
project: "project";
|
|
19
|
+
section: "section";
|
|
20
|
+
}>;
|
|
21
|
+
movedCount: z.ZodNumber;
|
|
22
|
+
reorderedCount: z.ZodNumber;
|
|
23
|
+
affectedIds: z.ZodArray<z.ZodString>;
|
|
24
|
+
success: z.ZodBoolean;
|
|
25
|
+
};
|
|
26
|
+
annotations: {
|
|
27
|
+
readOnlyHint: false;
|
|
28
|
+
destructiveHint: false;
|
|
29
|
+
idempotentHint: true;
|
|
30
|
+
};
|
|
31
|
+
execute(args: {
|
|
32
|
+
type: "project" | "section";
|
|
33
|
+
items: {
|
|
34
|
+
id: string;
|
|
35
|
+
order?: number | undefined;
|
|
36
|
+
parentId?: string | undefined;
|
|
37
|
+
}[];
|
|
38
|
+
}, client: import('@doist/todoist-api-typescript').TodoistApi): Promise<{
|
|
39
|
+
textContent: string;
|
|
40
|
+
structuredContent: {
|
|
41
|
+
type: "project" | "section";
|
|
42
|
+
movedCount: number;
|
|
43
|
+
reorderedCount: number;
|
|
44
|
+
affectedIds: string[];
|
|
45
|
+
success: true;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
};
|
|
49
|
+
export { reorderObjects };
|
|
50
|
+
//# sourceMappingURL=reorder-objects.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -28,9 +28,11 @@ export declare const ToolNames: {
|
|
|
28
28
|
readonly FIND_PROJECT_COLLABORATORS: "find-project-collaborators";
|
|
29
29
|
readonly MANAGE_ASSIGNMENTS: "manage-assignments";
|
|
30
30
|
readonly FIND_ACTIVITY: "find-activity";
|
|
31
|
+
readonly GET_PRODUCTIVITY_STATS: "get-productivity-stats";
|
|
31
32
|
readonly GET_OVERVIEW: "get-overview";
|
|
32
33
|
readonly DELETE_OBJECT: "delete-object";
|
|
33
34
|
readonly FETCH_OBJECT: "fetch-object";
|
|
35
|
+
readonly REORDER_OBJECTS: "reorder-objects";
|
|
34
36
|
readonly USER_INFO: "user-info";
|
|
35
37
|
readonly ADD_LABELS: "add-labels";
|
|
36
38
|
readonly FIND_LABELS: "find-labels";
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../src/utils/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DZ,CAAA;AAGV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
|
package/package.json
CHANGED
package/scripts/run-tool.ts
CHANGED
|
@@ -42,6 +42,7 @@ import { listWorkspaces } from '../src/tools/list-workspaces.js'
|
|
|
42
42
|
import { manageAssignments } from '../src/tools/manage-assignments.js'
|
|
43
43
|
import { projectManagement } from '../src/tools/project-management.js'
|
|
44
44
|
import { projectMove } from '../src/tools/project-move.js'
|
|
45
|
+
import { reorderObjects } from '../src/tools/reorder-objects.js'
|
|
45
46
|
import { rescheduleTasks } from '../src/tools/reschedule-tasks.js'
|
|
46
47
|
import { search } from '../src/tools/search.js'
|
|
47
48
|
import { uncompleteTasks } from '../src/tools/uncomplete-tasks.js'
|
|
@@ -92,6 +93,7 @@ const tools: Record<string, ExecutableTool> = {
|
|
|
92
93
|
'manage-assignments': manageAssignments,
|
|
93
94
|
'project-management': projectManagement,
|
|
94
95
|
'project-move': projectMove,
|
|
96
|
+
'reorder-objects': reorderObjects,
|
|
95
97
|
'reschedule-tasks': rescheduleTasks,
|
|
96
98
|
search: search,
|
|
97
99
|
'update-comments': updateComments,
|