@j0hanz/todokit-mcp 1.0.5 → 1.0.7
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/README.md +48 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/db.d.ts +8 -0
- package/dist/lib/db.d.ts.map +1 -0
- package/dist/lib/db.js +177 -0
- package/dist/lib/db.js.map +1 -0
- package/dist/lib/errors.js +17 -12
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/resolve.js +1 -1
- package/dist/lib/resolve.js.map +1 -1
- package/dist/lib/storage.d.ts +7 -6
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +148 -71
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/storage_filters.d.ts +6 -6
- package/dist/lib/storage_filters.d.ts.map +1 -1
- package/dist/lib/storage_filters.js +26 -45
- package/dist/lib/storage_filters.js.map +1 -1
- package/dist/lib/storage_mutations.d.ts +8 -3
- package/dist/lib/storage_mutations.d.ts.map +1 -1
- package/dist/lib/storage_mutations.js +0 -58
- package/dist/lib/storage_mutations.js.map +1 -1
- package/dist/lib/storage_state.d.ts.map +1 -1
- package/dist/lib/storage_state.js +36 -2
- package/dist/lib/storage_state.js.map +1 -1
- package/dist/schemas/inputs.d.ts +74 -40
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +54 -66
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/tools/complete_todo.d.ts.map +1 -1
- package/dist/tools/complete_todo.js +2 -1
- package/dist/tools/complete_todo.js.map +1 -1
- package/dist/tools/delete_todo.d.ts.map +1 -1
- package/dist/tools/delete_todo.js +4 -2
- package/dist/tools/delete_todo.js.map +1 -1
- package/dist/tools/delete_todos.d.ts +3 -0
- package/dist/tools/delete_todos.d.ts.map +1 -0
- package/dist/tools/delete_todos.js +134 -0
- package/dist/tools/delete_todos.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list_todos.d.ts.map +1 -1
- package/dist/tools/list_todos.js +68 -45
- package/dist/tools/list_todos.js.map +1 -1
- package/dist/tools/update_todo.d.ts.map +1 -1
- package/dist/tools/update_todo.js +55 -50
- package/dist/tools/update_todo.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage_state.js","sourceRoot":"","sources":["../../src/lib/storage_state.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,EAAE,EACF,IAAI,GACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAC9D,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,aAAa,GAAG,OAAgB,CAAC;AACvC,MAAM,eAAe,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"storage_state.js","sourceRoot":"","sources":["../../src/lib/storage_state.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/inputs.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
1
|
+
import { z, type ZodNever, type ZodOptional, type ZodString } from 'zod';
|
|
2
2
|
export declare const AddTodoSchema: z.ZodObject<{
|
|
3
3
|
title: z.ZodString;
|
|
4
4
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -55,51 +55,64 @@ export declare const AddTodosSchema: z.ZodObject<{
|
|
|
55
55
|
tags?: string[] | undefined;
|
|
56
56
|
}[];
|
|
57
57
|
}>;
|
|
58
|
-
export declare const DeleteTodoSchema: z.
|
|
59
|
-
id:
|
|
60
|
-
query:
|
|
58
|
+
export declare const DeleteTodoSchema: z.ZodUnion<[z.ZodObject<{
|
|
59
|
+
id: ZodString;
|
|
60
|
+
query: ZodOptional<ZodNever>;
|
|
61
|
+
} & {
|
|
61
62
|
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
62
63
|
}, "strict", z.ZodTypeAny, {
|
|
63
|
-
id
|
|
64
|
-
query?:
|
|
64
|
+
id: string;
|
|
65
|
+
query?: undefined;
|
|
65
66
|
dryRun?: boolean | undefined;
|
|
66
67
|
}, {
|
|
67
|
-
id
|
|
68
|
-
query?:
|
|
68
|
+
id: string;
|
|
69
|
+
query?: undefined;
|
|
69
70
|
dryRun?: boolean | undefined;
|
|
70
|
-
}>, {
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
}>, z.ZodObject<{
|
|
72
|
+
query: ZodString;
|
|
73
|
+
id: ZodOptional<ZodNever>;
|
|
74
|
+
} & {
|
|
75
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
76
|
+
}, "strict", z.ZodTypeAny, {
|
|
77
|
+
query: string;
|
|
78
|
+
id?: undefined;
|
|
73
79
|
dryRun?: boolean | undefined;
|
|
74
80
|
}, {
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
query: string;
|
|
82
|
+
id?: undefined;
|
|
77
83
|
dryRun?: boolean | undefined;
|
|
78
|
-
}>;
|
|
79
|
-
export declare const CompleteTodoSchema: z.
|
|
80
|
-
id:
|
|
81
|
-
query:
|
|
84
|
+
}>]>;
|
|
85
|
+
export declare const CompleteTodoSchema: z.ZodUnion<[z.ZodObject<{
|
|
86
|
+
id: ZodString;
|
|
87
|
+
query: ZodOptional<ZodNever>;
|
|
88
|
+
} & {
|
|
82
89
|
completed: z.ZodOptional<z.ZodBoolean>;
|
|
83
90
|
}, "strict", z.ZodTypeAny, {
|
|
84
|
-
id
|
|
91
|
+
id: string;
|
|
85
92
|
completed?: boolean | undefined;
|
|
86
|
-
query?:
|
|
93
|
+
query?: undefined;
|
|
87
94
|
}, {
|
|
88
|
-
id
|
|
95
|
+
id: string;
|
|
89
96
|
completed?: boolean | undefined;
|
|
90
|
-
query?:
|
|
91
|
-
}>, {
|
|
92
|
-
|
|
97
|
+
query?: undefined;
|
|
98
|
+
}>, z.ZodObject<{
|
|
99
|
+
query: ZodString;
|
|
100
|
+
id: ZodOptional<ZodNever>;
|
|
101
|
+
} & {
|
|
102
|
+
completed: z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
}, "strict", z.ZodTypeAny, {
|
|
104
|
+
query: string;
|
|
105
|
+
id?: undefined;
|
|
93
106
|
completed?: boolean | undefined;
|
|
94
|
-
query?: string | undefined;
|
|
95
107
|
}, {
|
|
96
|
-
|
|
108
|
+
query: string;
|
|
109
|
+
id?: undefined;
|
|
97
110
|
completed?: boolean | undefined;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
111
|
+
}>]>;
|
|
112
|
+
export declare const UpdateTodoSchema: z.ZodUnion<[z.ZodObject<{
|
|
113
|
+
id: ZodString;
|
|
114
|
+
query: ZodOptional<ZodNever>;
|
|
115
|
+
} & {
|
|
103
116
|
title: z.ZodOptional<z.ZodString>;
|
|
104
117
|
description: z.ZodOptional<z.ZodString>;
|
|
105
118
|
completed: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -118,62 +131,83 @@ export declare const UpdateTodoSchema: z.ZodEffects<z.ZodObject<{
|
|
|
118
131
|
remove?: string[] | undefined;
|
|
119
132
|
}>>;
|
|
120
133
|
}, "strict", z.ZodTypeAny, {
|
|
134
|
+
id: string;
|
|
121
135
|
description?: string | undefined;
|
|
122
136
|
title?: string | undefined;
|
|
123
|
-
id?: string | undefined;
|
|
124
137
|
completed?: boolean | undefined;
|
|
125
138
|
priority?: "low" | "normal" | "high" | undefined;
|
|
126
139
|
dueDate?: string | undefined;
|
|
127
140
|
tags?: string[] | undefined;
|
|
128
|
-
query?:
|
|
141
|
+
query?: undefined;
|
|
129
142
|
clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
|
|
130
143
|
tagOps?: {
|
|
131
144
|
add?: string[] | undefined;
|
|
132
145
|
remove?: string[] | undefined;
|
|
133
146
|
} | undefined;
|
|
134
147
|
}, {
|
|
148
|
+
id: string;
|
|
135
149
|
description?: string | undefined;
|
|
136
150
|
title?: string | undefined;
|
|
137
|
-
id?: string | undefined;
|
|
138
151
|
completed?: boolean | undefined;
|
|
139
152
|
priority?: "low" | "normal" | "high" | undefined;
|
|
140
153
|
dueDate?: string | undefined;
|
|
141
154
|
tags?: string[] | undefined;
|
|
142
|
-
query?:
|
|
155
|
+
query?: undefined;
|
|
143
156
|
clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
|
|
144
157
|
tagOps?: {
|
|
145
158
|
add?: string[] | undefined;
|
|
146
159
|
remove?: string[] | undefined;
|
|
147
160
|
} | undefined;
|
|
148
|
-
}>, {
|
|
161
|
+
}>, z.ZodObject<{
|
|
162
|
+
query: ZodString;
|
|
163
|
+
id: ZodOptional<ZodNever>;
|
|
164
|
+
} & {
|
|
165
|
+
title: z.ZodOptional<z.ZodString>;
|
|
166
|
+
description: z.ZodOptional<z.ZodString>;
|
|
167
|
+
completed: z.ZodOptional<z.ZodBoolean>;
|
|
168
|
+
priority: z.ZodOptional<z.ZodEnum<["low", "normal", "high"]>>;
|
|
169
|
+
dueDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
170
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
171
|
+
clearFields: z.ZodOptional<z.ZodArray<z.ZodEnum<["description", "dueDate", "tags"]>, "many">>;
|
|
172
|
+
tagOps: z.ZodOptional<z.ZodObject<{
|
|
173
|
+
add: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
174
|
+
remove: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
175
|
+
}, "strict", z.ZodTypeAny, {
|
|
176
|
+
add?: string[] | undefined;
|
|
177
|
+
remove?: string[] | undefined;
|
|
178
|
+
}, {
|
|
179
|
+
add?: string[] | undefined;
|
|
180
|
+
remove?: string[] | undefined;
|
|
181
|
+
}>>;
|
|
182
|
+
}, "strict", z.ZodTypeAny, {
|
|
183
|
+
query: string;
|
|
149
184
|
description?: string | undefined;
|
|
150
185
|
title?: string | undefined;
|
|
151
|
-
id?:
|
|
186
|
+
id?: undefined;
|
|
152
187
|
completed?: boolean | undefined;
|
|
153
188
|
priority?: "low" | "normal" | "high" | undefined;
|
|
154
189
|
dueDate?: string | undefined;
|
|
155
190
|
tags?: string[] | undefined;
|
|
156
|
-
query?: string | undefined;
|
|
157
191
|
clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
|
|
158
192
|
tagOps?: {
|
|
159
193
|
add?: string[] | undefined;
|
|
160
194
|
remove?: string[] | undefined;
|
|
161
195
|
} | undefined;
|
|
162
196
|
}, {
|
|
197
|
+
query: string;
|
|
163
198
|
description?: string | undefined;
|
|
164
199
|
title?: string | undefined;
|
|
165
|
-
id?:
|
|
200
|
+
id?: undefined;
|
|
166
201
|
completed?: boolean | undefined;
|
|
167
202
|
priority?: "low" | "normal" | "high" | undefined;
|
|
168
203
|
dueDate?: string | undefined;
|
|
169
204
|
tags?: string[] | undefined;
|
|
170
|
-
query?: string | undefined;
|
|
171
205
|
clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
|
|
172
206
|
tagOps?: {
|
|
173
207
|
add?: string[] | undefined;
|
|
174
208
|
remove?: string[] | undefined;
|
|
175
209
|
} | undefined;
|
|
176
|
-
}>;
|
|
210
|
+
}>]>;
|
|
177
211
|
export declare const ListTodosFilterSchema: z.ZodObject<{
|
|
178
212
|
completed: z.ZodOptional<z.ZodBoolean>;
|
|
179
213
|
status: z.ZodOptional<z.ZodEnum<["pending", "completed", "all"]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,KAAK,QAAQ,EAEb,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,KAAK,CAAC;AAgEb,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAAkB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhB,CAAC;AAOZ,eAAO,MAAM,gBAAgB;QAxErB,SAAS;WAAS,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;;WAIpC,SAAS;QAAM,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;IAiF7C,CAAC;AAOH,eAAO,MAAM,kBAAkB;QA5FvB,SAAS;WAAS,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;;WAIpC,SAAS;QAAM,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;IAqG7C,CAAC;AAgCH,eAAO,MAAM,gBAAgB;QAzIrB,SAAS;WAAS,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAIpC,SAAS;QAAM,WAAW,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwI7C,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CvB,CAAC"}
|
package/dist/schemas/inputs.js
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
1
|
+
import { z, } from 'zod';
|
|
2
2
|
import { IsoDateSchema } from './iso_date.js';
|
|
3
3
|
const TagSchema = z.string().min(1).max(50);
|
|
4
4
|
const SortBySchema = z.enum(['dueDate', 'priority', 'createdAt', 'title']);
|
|
5
5
|
const SortOrderSchema = z.enum(['asc', 'desc']);
|
|
6
|
+
function buildSelectorSchemas(idDescription, queryDescription) {
|
|
7
|
+
return {
|
|
8
|
+
byId: z
|
|
9
|
+
.object({
|
|
10
|
+
id: z.string().min(1).max(100).describe(idDescription),
|
|
11
|
+
query: z.never().optional(),
|
|
12
|
+
})
|
|
13
|
+
.strict(),
|
|
14
|
+
byQuery: z
|
|
15
|
+
.object({
|
|
16
|
+
query: z.string().min(1).max(200).describe(queryDescription),
|
|
17
|
+
id: z.never().optional(),
|
|
18
|
+
})
|
|
19
|
+
.strict(),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
6
22
|
const TodoInputSchema = z
|
|
7
23
|
.object({
|
|
8
24
|
title: z.string().min(1).max(200).describe('The title of the todo'),
|
|
@@ -33,72 +49,44 @@ export const AddTodosSchema = z
|
|
|
33
49
|
.describe('Todos to add in a single batch'),
|
|
34
50
|
})
|
|
35
51
|
.strict();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.describe('The ID of the todo to complete'),
|
|
67
|
-
query: z
|
|
68
|
-
.string()
|
|
69
|
-
.min(1)
|
|
70
|
-
.max(200)
|
|
71
|
-
.optional()
|
|
72
|
-
.describe('Search text to find a single todo to complete'),
|
|
73
|
-
completed: z
|
|
74
|
-
.boolean()
|
|
75
|
-
.optional()
|
|
76
|
-
.describe('Set completion status (default: true)'),
|
|
77
|
-
})
|
|
78
|
-
.strict()
|
|
79
|
-
.refine((value) => Boolean(value.id ?? value.query), {
|
|
80
|
-
message: 'Provide id or query to identify the todo',
|
|
81
|
-
});
|
|
52
|
+
const deleteTodoSelector = buildSelectorSchemas('The ID of the todo to delete', 'Search text to find a single todo to delete');
|
|
53
|
+
export const DeleteTodoSchema = z.union([
|
|
54
|
+
deleteTodoSelector.byId.extend({
|
|
55
|
+
dryRun: z
|
|
56
|
+
.boolean()
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('Simulate the deletion without changing data'),
|
|
59
|
+
}),
|
|
60
|
+
deleteTodoSelector.byQuery.extend({
|
|
61
|
+
dryRun: z
|
|
62
|
+
.boolean()
|
|
63
|
+
.optional()
|
|
64
|
+
.describe('Simulate the deletion without changing data'),
|
|
65
|
+
}),
|
|
66
|
+
]);
|
|
67
|
+
const completeTodoSelector = buildSelectorSchemas('The ID of the todo to complete', 'Search text to find a single todo to complete');
|
|
68
|
+
export const CompleteTodoSchema = z.union([
|
|
69
|
+
completeTodoSelector.byId.extend({
|
|
70
|
+
completed: z
|
|
71
|
+
.boolean()
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('Set completion status (default: true)'),
|
|
74
|
+
}),
|
|
75
|
+
completeTodoSelector.byQuery.extend({
|
|
76
|
+
completed: z
|
|
77
|
+
.boolean()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe('Set completion status (default: true)'),
|
|
80
|
+
}),
|
|
81
|
+
]);
|
|
82
82
|
const TagOpsSchema = z
|
|
83
83
|
.object({
|
|
84
84
|
add: z.array(TagSchema).max(50).optional().describe('Tags to add'),
|
|
85
85
|
remove: z.array(TagSchema).max(50).optional().describe('Tags to remove'),
|
|
86
86
|
})
|
|
87
87
|
.strict();
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
id: z
|
|
91
|
-
.string()
|
|
92
|
-
.min(1)
|
|
93
|
-
.max(100)
|
|
94
|
-
.optional()
|
|
95
|
-
.describe('The ID of the todo to update'),
|
|
96
|
-
query: z
|
|
97
|
-
.string()
|
|
98
|
-
.min(1)
|
|
99
|
-
.max(200)
|
|
100
|
-
.optional()
|
|
101
|
-
.describe('Search text to find a single todo to update'),
|
|
88
|
+
const updateTodoSelector = buildSelectorSchemas('The ID of the todo to update', 'Search text to find a single todo to update');
|
|
89
|
+
const UpdateTodoFieldsSchema = {
|
|
102
90
|
title: z.string().min(1).max(200).optional().describe('New title'),
|
|
103
91
|
description: z.string().max(2000).optional().describe('New description'),
|
|
104
92
|
completed: z.boolean().optional().describe('Completion status'),
|
|
@@ -114,11 +102,11 @@ export const UpdateTodoSchema = z
|
|
|
114
102
|
.optional()
|
|
115
103
|
.describe('Fields to clear'),
|
|
116
104
|
tagOps: TagOpsSchema.optional().describe('Tag modifications to apply'),
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
};
|
|
106
|
+
export const UpdateTodoSchema = z.union([
|
|
107
|
+
updateTodoSelector.byId.extend(UpdateTodoFieldsSchema),
|
|
108
|
+
updateTodoSelector.byQuery.extend(UpdateTodoFieldsSchema),
|
|
109
|
+
]);
|
|
122
110
|
export const ListTodosFilterSchema = z
|
|
123
111
|
.object({
|
|
124
112
|
completed: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete_todo.d.ts","sourceRoot":"","sources":["../../src/tools/complete_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"complete_todo.d.ts","sourceRoot":"","sources":["../../src/tools/complete_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0EzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqB5D"}
|
|
@@ -32,7 +32,8 @@ function buildOutcomeResponse(outcome, targetCompleted) {
|
|
|
32
32
|
}
|
|
33
33
|
async function handleCompleteTodo(input) {
|
|
34
34
|
const targetCompleted = input.completed ?? true;
|
|
35
|
-
const
|
|
35
|
+
const selector = input.id !== undefined ? { id: input.id } : { query: input.query };
|
|
36
|
+
const outcome = await completeTodoBySelector(toResolveInput(selector), targetCompleted);
|
|
36
37
|
return buildOutcomeResponse(outcome, targetCompleted);
|
|
37
38
|
}
|
|
38
39
|
export function registerCompleteTodo(server) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete_todo.js","sourceRoot":"","sources":["../../src/tools/complete_todo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAAe;IACtD,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,OAAO;YACP,WAAW,EAAE,CAAC,YAAY,CAAC;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAU,EACV,SAAkB,EAClB,OAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,SAAS;YACd,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,wBAAwB;YAC7C,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,sBAAsB,CAAC;IAChD,CAAC;IACD,OAAO,SAAS;QACd,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,GAAG;QAClC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA4B,EAC5B,eAAwB;IAExB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,OAAO,mBAAmB,CACxB,OAAO,CAAC,IAAI,EACZ,sBAAsB,CACpB,OAAO,CAAC,IAAI,EACZ,eAAe,EACf,OAAO,CAAC,IAAI,KAAK,SAAS,CAC3B,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAwB;IAExB,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;IAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"complete_todo.js","sourceRoot":"","sources":["../../src/tools/complete_todo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAAe;IACtD,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,OAAO;YACP,WAAW,EAAE,CAAC,YAAY,CAAC;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAU,EACV,SAAkB,EAClB,OAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,SAAS;YACd,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,wBAAwB;YAC7C,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,sBAAsB,CAAC;IAChD,CAAC;IACD,OAAO,SAAS;QACd,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,GAAG;QAClC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA4B,EAC5B,eAAwB;IAExB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,OAAO,mBAAmB,CACxB,OAAO,CAAC,IAAI,EACZ,sBAAsB,CACpB,OAAO,CAAC,IAAI,EACZ,eAAe,EACf,OAAO,CAAC,IAAI,KAAK,SAAS,CAC3B,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAwB;IAExB,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;IAChD,MAAM,QAAQ,GACZ,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,cAAc,CAAC,QAAQ,CAAC,EACxB,eAAe,CAChB,CAAC;IACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,IAAI;SACrB;KACF,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete_todo.d.ts","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"delete_todo.d.ts","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsFzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB1D"}
|
|
@@ -30,7 +30,8 @@ function buildDeleteResponse(todo, dryRun) {
|
|
|
30
30
|
}
|
|
31
31
|
async function handleDeleteTodoDryRun(input) {
|
|
32
32
|
const todos = await getTodos();
|
|
33
|
-
const
|
|
33
|
+
const selector = input.id !== undefined ? { id: input.id } : { query: input.query };
|
|
34
|
+
const outcome = unwrapResolution(resolveTodoTargetFromTodos(todos, toResolveInput(selector)));
|
|
34
35
|
if (outcome.kind === 'error')
|
|
35
36
|
return outcome.response;
|
|
36
37
|
if (outcome.kind === 'ambiguous') {
|
|
@@ -39,7 +40,8 @@ async function handleDeleteTodoDryRun(input) {
|
|
|
39
40
|
return buildDeleteResponse(outcome.todo, true);
|
|
40
41
|
}
|
|
41
42
|
async function handleDeleteTodoLive(input) {
|
|
42
|
-
const
|
|
43
|
+
const selector = input.id !== undefined ? { id: input.id } : { query: input.query };
|
|
44
|
+
const outcome = await deleteTodoBySelector(toResolveInput(selector));
|
|
43
45
|
if (outcome.kind === 'error' || outcome.kind === 'ambiguous') {
|
|
44
46
|
return outcome.response;
|
|
45
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete_todo.js","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D,SAAS,mBAAmB,CAC1B,QAAmB,EACnB,KAAa;IAEb,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,YAAY,MAAM,CAAC,KAAK,CAAC,yBAAyB;YAC3D,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,IAAI;SACb;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,MAAe;IACtD,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM;gBACb,CAAC,CAAC,+BAA+B,IAAI,CAAC,KAAK,GAAG;gBAC9C,CAAC,CAAC,iBAAiB,IAAI,CAAC,KAAK,GAAG;YAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;SACjE;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"delete_todo.js","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_todos.d.ts","sourceRoot":"","sources":["../../src/tools/delete_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4JzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuB3D"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createErrorResponse, getErrorMessage } from '../lib/errors.js';
|
|
3
|
+
import { deleteTodosByIds, getTodos } from '../lib/storage.js';
|
|
4
|
+
import { createToolResponse } from '../lib/tool_response.js';
|
|
5
|
+
import { IsoDateSchema } from '../schemas/iso_date.js';
|
|
6
|
+
import { DefaultOutputSchema } from '../schemas/outputs.js';
|
|
7
|
+
const TagSchema = z.string().min(1).max(50);
|
|
8
|
+
const FILTER_KEYS = [
|
|
9
|
+
'status',
|
|
10
|
+
'priority',
|
|
11
|
+
'tag',
|
|
12
|
+
'dueBefore',
|
|
13
|
+
'dueAfter',
|
|
14
|
+
'query',
|
|
15
|
+
];
|
|
16
|
+
function hasAtLeastOneFilter(v) {
|
|
17
|
+
return FILTER_KEYS.some((key) => v[key] !== undefined);
|
|
18
|
+
}
|
|
19
|
+
const DeleteTodosSchema = z
|
|
20
|
+
.object({
|
|
21
|
+
status: z
|
|
22
|
+
.enum(['pending', 'completed', 'all'])
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Filter by status'),
|
|
25
|
+
priority: z
|
|
26
|
+
.enum(['low', 'normal', 'high'])
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('Filter by priority'),
|
|
29
|
+
tag: TagSchema.optional().describe('Filter by tag'),
|
|
30
|
+
dueBefore: IsoDateSchema.optional().describe('Delete todos due before this date (ISO format)'),
|
|
31
|
+
dueAfter: IsoDateSchema.optional().describe('Delete todos due after this date (ISO format)'),
|
|
32
|
+
query: z.string().min(1).max(200).optional().describe('Search text filter'),
|
|
33
|
+
dryRun: z
|
|
34
|
+
.boolean()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Preview deletion without removing data'),
|
|
37
|
+
limit: z
|
|
38
|
+
.number()
|
|
39
|
+
.int()
|
|
40
|
+
.min(1)
|
|
41
|
+
.max(100)
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Max items to delete (default: 10, safety limit)'),
|
|
44
|
+
})
|
|
45
|
+
.strict()
|
|
46
|
+
.refine(hasAtLeastOneFilter, {
|
|
47
|
+
message: 'At least one filter is required for bulk delete',
|
|
48
|
+
});
|
|
49
|
+
const DEFAULT_LIMIT = 10;
|
|
50
|
+
function resolveCompletedFilter(status) {
|
|
51
|
+
if (status === 'pending')
|
|
52
|
+
return false;
|
|
53
|
+
if (status === 'completed')
|
|
54
|
+
return true;
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
function buildPreview(todo) {
|
|
58
|
+
return { id: todo.id, title: todo.title };
|
|
59
|
+
}
|
|
60
|
+
function buildNoMatchResponse() {
|
|
61
|
+
return createToolResponse({
|
|
62
|
+
ok: true,
|
|
63
|
+
result: {
|
|
64
|
+
deletedIds: [],
|
|
65
|
+
summary: 'No todos matched the filters',
|
|
66
|
+
totalMatched: 0,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function buildDryRunResponse(toDelete, totalMatched) {
|
|
71
|
+
return createToolResponse({
|
|
72
|
+
ok: true,
|
|
73
|
+
result: {
|
|
74
|
+
deletedIds: [],
|
|
75
|
+
summary: `Dry run: ${String(toDelete.length)} of ${String(totalMatched)} matching todos would be deleted`,
|
|
76
|
+
matches: toDelete.map(buildPreview),
|
|
77
|
+
totalMatched,
|
|
78
|
+
dryRun: true,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function buildDeletedResponse(deletedIds, totalMatched) {
|
|
83
|
+
return createToolResponse({
|
|
84
|
+
ok: true,
|
|
85
|
+
result: {
|
|
86
|
+
deletedIds,
|
|
87
|
+
summary: `Deleted ${String(deletedIds.length)} todos`,
|
|
88
|
+
totalMatched,
|
|
89
|
+
nextActions: ['list_todos'],
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async function handleDeleteTodos(input) {
|
|
94
|
+
const limit = input.limit ?? DEFAULT_LIMIT;
|
|
95
|
+
const dryRun = input.dryRun ?? false;
|
|
96
|
+
const matches = await getTodos({
|
|
97
|
+
completed: resolveCompletedFilter(input.status),
|
|
98
|
+
priority: input.priority,
|
|
99
|
+
tag: input.tag,
|
|
100
|
+
dueBefore: input.dueBefore,
|
|
101
|
+
dueAfter: input.dueAfter,
|
|
102
|
+
query: input.query,
|
|
103
|
+
});
|
|
104
|
+
if (matches.length === 0) {
|
|
105
|
+
return buildNoMatchResponse();
|
|
106
|
+
}
|
|
107
|
+
const toDelete = matches.slice(0, limit);
|
|
108
|
+
if (dryRun) {
|
|
109
|
+
return buildDryRunResponse(toDelete, matches.length);
|
|
110
|
+
}
|
|
111
|
+
const deletedIds = await deleteTodosByIds(toDelete.map((t) => t.id));
|
|
112
|
+
return buildDeletedResponse(deletedIds, matches.length);
|
|
113
|
+
}
|
|
114
|
+
export function registerDeleteTodos(server) {
|
|
115
|
+
server.registerTool('delete_todos', {
|
|
116
|
+
title: 'Delete Todos (Bulk)',
|
|
117
|
+
description: 'Delete multiple todos matching filters (requires at least one filter, defaults to limit=10 for safety)',
|
|
118
|
+
inputSchema: DeleteTodosSchema,
|
|
119
|
+
outputSchema: DefaultOutputSchema,
|
|
120
|
+
annotations: {
|
|
121
|
+
readOnlyHint: false,
|
|
122
|
+
idempotentHint: false,
|
|
123
|
+
destructiveHint: true,
|
|
124
|
+
},
|
|
125
|
+
}, async (input) => {
|
|
126
|
+
try {
|
|
127
|
+
return await handleDeleteTodos(input);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
return createErrorResponse('E_DELETE_TODOS', getErrorMessage(err));
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=delete_todos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_todos.js","sourceRoot":"","sources":["../../src/tools/delete_todos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQxD"}
|