@j0hanz/todokit-mcp 1.0.1 → 1.0.3

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 (57) hide show
  1. package/README.md +309 -28
  2. package/dist/index.d.ts +4 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +38 -18
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/errors.d.ts.map +1 -1
  7. package/dist/lib/errors.js +14 -29
  8. package/dist/lib/errors.js.map +1 -1
  9. package/dist/lib/resolve.d.ts +52 -0
  10. package/dist/lib/resolve.d.ts.map +1 -0
  11. package/dist/lib/resolve.js +13 -12
  12. package/dist/lib/resolve.js.map +1 -1
  13. package/dist/lib/storage.d.ts +10 -1
  14. package/dist/lib/storage.d.ts.map +1 -1
  15. package/dist/lib/storage.js +11 -259
  16. package/dist/lib/storage.js.map +1 -1
  17. package/dist/lib/storage_filters.d.ts.map +1 -1
  18. package/dist/lib/storage_filters.js +0 -4
  19. package/dist/lib/storage_filters.js.map +1 -1
  20. package/dist/lib/storage_mutations.d.ts +11 -0
  21. package/dist/lib/storage_mutations.d.ts.map +1 -0
  22. package/dist/lib/storage_mutations.js +66 -0
  23. package/dist/lib/storage_mutations.js.map +1 -0
  24. package/dist/lib/storage_state.d.ts +6 -0
  25. package/dist/lib/storage_state.d.ts.map +1 -0
  26. package/dist/lib/storage_state.js +161 -0
  27. package/dist/lib/storage_state.js.map +1 -0
  28. package/dist/lib/types.d.ts +2 -2
  29. package/dist/lib/types.d.ts.map +1 -1
  30. package/dist/lib/types.js +4 -4
  31. package/dist/lib/types.js.map +1 -1
  32. package/dist/schemas/inputs.d.ts +47 -3
  33. package/dist/schemas/inputs.d.ts.map +1 -1
  34. package/dist/schemas/inputs.js.map +1 -1
  35. package/dist/schemas/iso_date.d.ts +4 -0
  36. package/dist/schemas/iso_date.d.ts.map +1 -0
  37. package/dist/schemas/iso_date.js +1 -0
  38. package/dist/schemas/iso_date.js.map +1 -1
  39. package/dist/tools/add_todo.d.ts.map +1 -1
  40. package/dist/tools/add_todo.js +2 -3
  41. package/dist/tools/add_todo.js.map +1 -1
  42. package/dist/tools/add_todos.d.ts.map +1 -1
  43. package/dist/tools/add_todos.js +2 -3
  44. package/dist/tools/add_todos.js.map +1 -1
  45. package/dist/tools/complete_todo.d.ts.map +1 -1
  46. package/dist/tools/complete_todo.js +20 -28
  47. package/dist/tools/complete_todo.js.map +1 -1
  48. package/dist/tools/delete_todo.d.ts.map +1 -1
  49. package/dist/tools/delete_todo.js +8 -28
  50. package/dist/tools/delete_todo.js.map +1 -1
  51. package/dist/tools/list_todos.d.ts.map +1 -1
  52. package/dist/tools/list_todos.js +4 -9
  53. package/dist/tools/list_todos.js.map +1 -1
  54. package/dist/tools/update_todo.d.ts.map +1 -1
  55. package/dist/tools/update_todo.js +24 -12
  56. package/dist/tools/update_todo.js.map +1 -1
  57. package/package.json +1 -2
@@ -0,0 +1,161 @@
1
+ import { mkdir, mkdtemp, open, readFile, rename, rm, stat, } from 'node:fs/promises';
2
+ import { basename, dirname, extname, join, resolve } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { TodosSchema } from './types.js';
5
+ const __dirname = dirname(fileURLToPath(import.meta.url));
6
+ const DEFAULT_TODO_FILE = join(__dirname, '../../todos.json');
7
+ const FILE_TIMEOUT_MS = 5000;
8
+ const FILE_ENCODING = 'utf-8';
9
+ const TEMP_DIR_PREFIX = '.tmp-';
10
+ let writeChain = Promise.resolve();
11
+ function withTimeout(promise, timeoutMs, label) {
12
+ let timer;
13
+ const timeout = new Promise((_, reject) => {
14
+ timer = setTimeout(() => {
15
+ reject(new Error(`${label} timed out after ${String(timeoutMs)}ms`));
16
+ }, timeoutMs);
17
+ });
18
+ return Promise.race([promise, timeout]).finally(() => {
19
+ if (timer) {
20
+ clearTimeout(timer);
21
+ }
22
+ });
23
+ }
24
+ function getErrorCode(error) {
25
+ if (!error || typeof error !== 'object')
26
+ return undefined;
27
+ if (!('code' in error))
28
+ return undefined;
29
+ const code = error.code;
30
+ return typeof code === 'string' ? code : undefined;
31
+ }
32
+ function isFileNotFound(error) {
33
+ return getErrorCode(error) === 'ENOENT';
34
+ }
35
+ function shouldIgnoreDirSyncError(error) {
36
+ const code = getErrorCode(error);
37
+ return (code === 'EINVAL' ||
38
+ code === 'EPERM' ||
39
+ code === 'ENOTSUP' ||
40
+ code === 'EISDIR');
41
+ }
42
+ function assertJsonFilePath(path) {
43
+ const extension = extname(path).toLowerCase();
44
+ if (extension !== '.json') {
45
+ throw new Error(`Todo storage path must end with .json: ${path}`);
46
+ }
47
+ }
48
+ function getTodoFilePath() {
49
+ const override = process.env.TODOKIT_TODO_FILE?.trim();
50
+ const resolved = override ? resolve(override) : DEFAULT_TODO_FILE;
51
+ assertJsonFilePath(resolved);
52
+ return resolved;
53
+ }
54
+ function parseTodos(rawJson) {
55
+ const raw = JSON.parse(rawJson);
56
+ const parsed = TodosSchema.safeParse(raw);
57
+ if (!parsed.success) {
58
+ throw new Error(`Invalid todos.json: ${parsed.error.message}`);
59
+ }
60
+ return parsed.data;
61
+ }
62
+ async function statTodoFile(path) {
63
+ try {
64
+ const stats = await withTimeout(stat(path), FILE_TIMEOUT_MS, 'stat todo file');
65
+ if (!stats.isFile()) {
66
+ throw new Error(`Todo storage path is not a file: ${path}`);
67
+ }
68
+ return stats;
69
+ }
70
+ catch (error) {
71
+ if (isFileNotFound(error)) {
72
+ return null;
73
+ }
74
+ throw error;
75
+ }
76
+ }
77
+ async function readTodosFile(path) {
78
+ const data = await readFile(path, {
79
+ encoding: FILE_ENCODING,
80
+ signal: AbortSignal.timeout(FILE_TIMEOUT_MS),
81
+ });
82
+ return parseTodos(data);
83
+ }
84
+ export async function readTodosFromDisk() {
85
+ const path = getTodoFilePath();
86
+ try {
87
+ const stats = await statTodoFile(path);
88
+ if (!stats) {
89
+ return [];
90
+ }
91
+ return await readTodosFile(path);
92
+ }
93
+ catch (error) {
94
+ if (isFileNotFound(error)) {
95
+ return [];
96
+ }
97
+ throw error;
98
+ }
99
+ }
100
+ async function writeAndSyncFile(path, data) {
101
+ const handle = await withTimeout(open(path, 'w'), FILE_TIMEOUT_MS, 'open temp todo file');
102
+ try {
103
+ await withTimeout(handle.writeFile(data, { encoding: FILE_ENCODING }), FILE_TIMEOUT_MS, 'write todo file');
104
+ await withTimeout(handle.sync(), FILE_TIMEOUT_MS, 'fsync todo file');
105
+ }
106
+ finally {
107
+ await handle.close();
108
+ }
109
+ }
110
+ async function syncDirectory(path) {
111
+ if (process.platform === 'win32') {
112
+ return;
113
+ }
114
+ try {
115
+ const handle = await withTimeout(open(path, 'r'), FILE_TIMEOUT_MS, 'open todo directory');
116
+ try {
117
+ await withTimeout(handle.sync(), FILE_TIMEOUT_MS, 'fsync todo directory');
118
+ }
119
+ finally {
120
+ await handle.close();
121
+ }
122
+ }
123
+ catch (error) {
124
+ if (shouldIgnoreDirSyncError(error)) {
125
+ return;
126
+ }
127
+ throw error;
128
+ }
129
+ }
130
+ async function writeFileAtomically(path, data) {
131
+ const targetDir = dirname(path);
132
+ await withTimeout(mkdir(targetDir, { recursive: true }), FILE_TIMEOUT_MS, 'mkdir todo directory');
133
+ const tempDir = await withTimeout(mkdtemp(join(targetDir, TEMP_DIR_PREFIX)), FILE_TIMEOUT_MS, 'mkdtemp todo directory');
134
+ const tempPath = join(tempDir, basename(path));
135
+ try {
136
+ await writeAndSyncFile(tempPath, data);
137
+ await withTimeout(rename(tempPath, path), FILE_TIMEOUT_MS, 'rename todo file');
138
+ await syncDirectory(targetDir);
139
+ }
140
+ finally {
141
+ try {
142
+ await withTimeout(rm(tempDir, { recursive: true, force: true }), FILE_TIMEOUT_MS, 'cleanup temp dir');
143
+ }
144
+ catch {
145
+ void 0;
146
+ }
147
+ }
148
+ }
149
+ export function queueWrite(task) {
150
+ const next = writeChain.then(task, task);
151
+ writeChain = next.then(() => undefined, () => undefined);
152
+ return next;
153
+ }
154
+ export async function waitForWrites() {
155
+ await writeChain;
156
+ }
157
+ export async function persistTodos(todos) {
158
+ const path = getTodoFilePath();
159
+ await writeFileAtomically(path, JSON.stringify(todos, null, 2));
160
+ }
161
+ //# sourceMappingURL=storage_state.js.map
@@ -0,0 +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;AAEhC,IAAI,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD,SAAS,WAAW,CAClB,OAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AAC1C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CACL,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,QAAQ,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAClE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,IAAI,CAAC,IAAI,CAAC,EACV,eAAe,EACf,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QAChC,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;KAC7C,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACxD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,WAAW,CACf,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EACnD,eAAe,EACf,iBAAiB,CAClB,CAAC;QACF,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,WAAW,CACf,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EACrC,eAAe,EACf,sBAAsB,CACvB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EACzC,eAAe,EACf,wBAAwB,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,CACf,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EACtB,eAAe,EACf,kBAAkB,CACnB,CAAC;QACF,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,WAAW,CACf,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAC7C,eAAe,EACf,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,CAAC;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,IAAsB;IAClD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,UAAU,GAAG,IAAI,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa;IAC9C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -5,7 +5,7 @@ declare const TodoSchema: z.ZodObject<{
5
5
  description: z.ZodOptional<z.ZodString>;
6
6
  completed: z.ZodBoolean;
7
7
  priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high"]>>;
8
- dueDate: z.ZodOptional<z.ZodString>;
8
+ dueDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
9
9
  tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
10
10
  createdAt: z.ZodString;
11
11
  updatedAt: z.ZodOptional<z.ZodString>;
@@ -39,7 +39,7 @@ export declare const TodosSchema: z.ZodArray<z.ZodObject<{
39
39
  description: z.ZodOptional<z.ZodString>;
40
40
  completed: z.ZodBoolean;
41
41
  priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high"]>>;
42
- dueDate: z.ZodOptional<z.ZodString>;
42
+ dueDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
43
43
  tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
44
44
  createdAt: z.ZodString;
45
45
  updatedAt: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAsB,CAAC;AAE/C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAsB,CAAC;AAE/C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
package/dist/lib/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { IsoDateSchema } from '../schemas/iso_date.js';
2
+ import { IsoDateSchema, IsoDateTimeSchema } from '../schemas/iso_date.js';
3
3
  const TodoSchema = z.object({
4
4
  id: z.string(),
5
5
  title: z.string(),
@@ -8,9 +8,9 @@ const TodoSchema = z.object({
8
8
  priority: z.enum(['low', 'normal', 'high']).default('normal'),
9
9
  dueDate: IsoDateSchema.optional(),
10
10
  tags: z.array(z.string()).default([]),
11
- createdAt: z.string(),
12
- updatedAt: z.string().optional(),
13
- completedAt: z.string().optional(),
11
+ createdAt: IsoDateTimeSchema,
12
+ updatedAt: IsoDateTimeSchema.optional(),
13
+ completedAt: IsoDateTimeSchema.optional(),
14
14
  });
15
15
  export const TodosSchema = z.array(TodoSchema);
16
16
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC7D,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC7D,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC"}
@@ -55,7 +55,7 @@ export declare const AddTodosSchema: z.ZodObject<{
55
55
  tags?: string[] | undefined;
56
56
  }[];
57
57
  }>;
58
- export declare const DeleteTodoSchema: z.ZodObject<{
58
+ export declare const DeleteTodoSchema: z.ZodEffects<z.ZodObject<{
59
59
  id: z.ZodOptional<z.ZodString>;
60
60
  query: z.ZodOptional<z.ZodString>;
61
61
  dryRun: z.ZodOptional<z.ZodBoolean>;
@@ -67,8 +67,16 @@ export declare const DeleteTodoSchema: z.ZodObject<{
67
67
  id?: string | undefined;
68
68
  query?: string | undefined;
69
69
  dryRun?: boolean | undefined;
70
+ }>, {
71
+ id?: string | undefined;
72
+ query?: string | undefined;
73
+ dryRun?: boolean | undefined;
74
+ }, {
75
+ id?: string | undefined;
76
+ query?: string | undefined;
77
+ dryRun?: boolean | undefined;
70
78
  }>;
71
- export declare const CompleteTodoSchema: z.ZodObject<{
79
+ export declare const CompleteTodoSchema: z.ZodEffects<z.ZodObject<{
72
80
  id: z.ZodOptional<z.ZodString>;
73
81
  query: z.ZodOptional<z.ZodString>;
74
82
  completed: z.ZodOptional<z.ZodBoolean>;
@@ -80,8 +88,16 @@ export declare const CompleteTodoSchema: z.ZodObject<{
80
88
  id?: string | undefined;
81
89
  completed?: boolean | undefined;
82
90
  query?: string | undefined;
91
+ }>, {
92
+ id?: string | undefined;
93
+ completed?: boolean | undefined;
94
+ query?: string | undefined;
95
+ }, {
96
+ id?: string | undefined;
97
+ completed?: boolean | undefined;
98
+ query?: string | undefined;
83
99
  }>;
84
- export declare const UpdateTodoSchema: z.ZodObject<{
100
+ export declare const UpdateTodoSchema: z.ZodEffects<z.ZodObject<{
85
101
  id: z.ZodOptional<z.ZodString>;
86
102
  query: z.ZodOptional<z.ZodString>;
87
103
  title: z.ZodOptional<z.ZodString>;
@@ -129,6 +145,34 @@ export declare const UpdateTodoSchema: z.ZodObject<{
129
145
  add?: string[] | undefined;
130
146
  remove?: string[] | undefined;
131
147
  } | undefined;
148
+ }>, {
149
+ description?: string | undefined;
150
+ title?: string | undefined;
151
+ id?: string | undefined;
152
+ completed?: boolean | undefined;
153
+ priority?: "low" | "normal" | "high" | undefined;
154
+ dueDate?: string | undefined;
155
+ tags?: string[] | undefined;
156
+ query?: string | undefined;
157
+ clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
158
+ tagOps?: {
159
+ add?: string[] | undefined;
160
+ remove?: string[] | undefined;
161
+ } | undefined;
162
+ }, {
163
+ description?: string | undefined;
164
+ title?: string | undefined;
165
+ id?: string | undefined;
166
+ completed?: boolean | undefined;
167
+ priority?: "low" | "normal" | "high" | undefined;
168
+ dueDate?: string | undefined;
169
+ tags?: string[] | undefined;
170
+ query?: string | undefined;
171
+ clearFields?: ("description" | "dueDate" | "tags")[] | undefined;
172
+ tagOps?: {
173
+ add?: string[] | undefined;
174
+ remove?: string[] | undefined;
175
+ } | undefined;
132
176
  }>;
133
177
  export declare const ListTodosFilterSchema: z.ZodObject<{
134
178
  completed: z.ZodOptional<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAAkB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhB,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAmBlB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAmBpB,CAAC;AASZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CvB,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAAkB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhB,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;EAsBzB,CAAC;AAEL,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;EAsB3B,CAAC;AASL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCzB,CAAC;AAEL,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const IsoDateSchema: z.ZodEffects<z.ZodString, string, string>;
3
+ export declare const IsoDateTimeSchema: z.ZodString;
4
+ //# sourceMappingURL=iso_date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso_date.d.ts","sourceRoot":"","sources":["../../src/schemas/iso_date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,aAAa,2CAItB,CAAC;AAEL,eAAO,MAAM,iBAAiB,aAAwC,CAAC"}
@@ -17,4 +17,5 @@ export const IsoDateSchema = z
17
17
  .refine((value) => isValidIsoDate(value), {
18
18
  message: 'Invalid date (YYYY-MM-DD)',
19
19
  });
20
+ export const IsoDateTimeSchema = z.string().datetime({ offset: true });
20
21
  //# sourceMappingURL=iso_date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iso_date.js","sourceRoot":"","sources":["../../src/schemas/iso_date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI;QAC9B,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;IACxC,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"iso_date.js","sourceRoot":"","sources":["../../src/schemas/iso_date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI;QAC9B,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;IACxC,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add_todo.d.ts","sourceRoot":"","sources":["../../src/tools/add_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BvD"}
1
+ {"version":3,"file":"add_todo.d.ts","sourceRoot":"","sources":["../../src/tools/add_todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BvD"}
@@ -16,15 +16,14 @@ export function registerAddTodo(server) {
16
16
  }, async ({ title, description, priority, dueDate, tags }) => {
17
17
  try {
18
18
  const todo = await addTodo(title, description, priority, dueDate, tags);
19
- const structured = {
19
+ return createToolResponse({
20
20
  ok: true,
21
21
  result: {
22
22
  item: todo,
23
23
  summary: `Added todo "${todo.title}"`,
24
24
  nextActions: ['list_todos', 'update_todo', 'complete_todo'],
25
25
  },
26
- };
27
- return createToolResponse(structured);
26
+ });
28
27
  }
29
28
  catch (err) {
30
29
  return createErrorResponse('E_ADD_TODO', getErrorMessage(err));
@@ -1 +1 @@
1
- {"version":3,"file":"add_todo.js","sourceRoot":"","sources":["../../src/tools/add_todo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,eAAe,IAAI,CAAC,KAAK,GAAG;oBACrC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC;iBAC5D;aACF,CAAC;YACF,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add_todo.js","sourceRoot":"","sources":["../../src/tools/add_todo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACxE,OAAO,kBAAkB,CAAC;gBACxB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,eAAe,IAAI,CAAC,KAAK,GAAG;oBACrC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC;iBAC5D;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add_todos.d.ts","sourceRoot":"","sources":["../../src/tools/add_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BxD"}
1
+ {"version":3,"file":"add_todos.d.ts","sourceRoot":"","sources":["../../src/tools/add_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BxD"}
@@ -16,15 +16,14 @@ export function registerAddTodos(server) {
16
16
  }, async ({ items }) => {
17
17
  try {
18
18
  const todos = await addTodos(items);
19
- const structured = {
19
+ return createToolResponse({
20
20
  ok: true,
21
21
  result: {
22
22
  items: todos,
23
23
  summary: `Added ${String(todos.length)} todos`,
24
24
  nextActions: ['list_todos', 'update_todo'],
25
25
  },
26
- };
27
- return createToolResponse(structured);
26
+ });
28
27
  }
29
28
  catch (err) {
30
29
  return createErrorResponse('E_ADD_TODOS', getErrorMessage(err));
@@ -1 +1 @@
1
- {"version":3,"file":"add_todos.js","sourceRoot":"","sources":["../../src/tools/add_todos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;oBAC9C,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;iBAC3C;aACF,CAAC;YACF,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"add_todos.js","sourceRoot":"","sources":["../../src/tools/add_todos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,kBAAkB,CAAC;gBACxB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;oBAC9C,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -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;AAwFzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqB5D"}
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;AAwEzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqB5D"}
@@ -1,47 +1,39 @@
1
1
  import { createErrorResponse, getErrorMessage } from '../lib/errors.js';
2
2
  import { toResolveInput } from '../lib/resolve.js';
3
- import { completeTodoBySelector } from '../lib/storage.js';
3
+ import { completeTodoBySelector, } from '../lib/storage.js';
4
4
  import { createToolResponse } from '../lib/tool_response.js';
5
5
  import { CompleteTodoSchema } from '../schemas/inputs.js';
6
6
  import { DefaultOutputSchema } from '../schemas/outputs.js';
7
- function resolveTargetCompleted(input) {
8
- return input.completed ?? true;
9
- }
10
- function buildAlreadyStatusResponse(todo, completed) {
7
+ function buildStatusResponse(todo, summary) {
11
8
  return createToolResponse({
12
9
  ok: true,
13
10
  result: {
14
11
  item: todo,
15
- summary: completed
16
- ? `Todo "${todo.title}" is already completed`
17
- : `Todo "${todo.title}" is already pending`,
12
+ summary,
18
13
  nextActions: ['list_todos'],
19
14
  },
20
15
  });
21
16
  }
22
- function buildCompletionResponse(todo, completed) {
23
- return createToolResponse({
24
- ok: true,
25
- result: {
26
- item: todo,
27
- summary: completed
28
- ? `Completed todo "${todo.title}"`
29
- : `Reopened todo "${todo.title}"`,
30
- nextActions: ['list_todos'],
31
- },
32
- });
17
+ function buildCompletionSummary(todo, completed, already) {
18
+ if (already) {
19
+ return completed
20
+ ? `Todo "${todo.title}" is already completed`
21
+ : `Todo "${todo.title}" is already pending`;
22
+ }
23
+ return completed
24
+ ? `Completed todo "${todo.title}"`
25
+ : `Reopened todo "${todo.title}"`;
33
26
  }
34
- async function handleCompleteTodo(input) {
35
- const targetCompleted = resolveTargetCompleted(input);
36
- const outcome = await completeTodoBySelector(toResolveInput({ id: input.id, query: input.query }), targetCompleted);
37
- if (outcome.kind === 'error')
38
- return outcome.response;
39
- if (outcome.kind === 'ambiguous')
27
+ function buildOutcomeResponse(outcome, targetCompleted) {
28
+ if (outcome.kind === 'error' || outcome.kind === 'ambiguous') {
40
29
  return outcome.response;
41
- if (outcome.kind === 'already') {
42
- return buildAlreadyStatusResponse(outcome.todo, targetCompleted);
43
30
  }
44
- return buildCompletionResponse(outcome.todo, targetCompleted);
31
+ return buildStatusResponse(outcome.todo, buildCompletionSummary(outcome.todo, targetCompleted, outcome.kind === 'already'));
32
+ }
33
+ async function handleCompleteTodo(input) {
34
+ const targetCompleted = input.completed ?? true;
35
+ const outcome = await completeTodoBySelector(toResolveInput({ id: input.id, query: input.query }), targetCompleted);
36
+ return buildOutcomeResponse(outcome, targetCompleted);
45
37
  }
46
38
  export function registerCompleteTodo(server) {
47
39
  server.registerTool('complete_todo', {
@@ -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,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,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,sBAAsB,CAAC,KAAwB;IACtD,OAAO,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAU,EACV,SAAkB;IAElB,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,SAAS;gBAChB,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,wBAAwB;gBAC7C,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,sBAAsB;YAC7C,WAAW,EAAE,CAAC,YAAY,CAAC;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAU,EACV,SAAkB;IAElB,OAAO,kBAAkB,CAAC;QACxB,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,SAAS;gBAChB,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,GAAG;gBAClC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,GAAG;YACnC,WAAW,EAAE,CAAC,YAAY,CAAC;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAwB;IAExB,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EACpD,eAAe,CAChB,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAChE,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
+ {"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,OAAO,GAAG,MAAM,sBAAsB,CAC1C,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EACpD,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;AAkGzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB1D"}
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;AAuFzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB1D"}
@@ -4,16 +4,6 @@ import { deleteTodoBySelector, getTodos } from '../lib/storage.js';
4
4
  import { createToolResponse } from '../lib/tool_response.js';
5
5
  import { DeleteTodoSchema } from '../schemas/inputs.js';
6
6
  import { DefaultOutputSchema } from '../schemas/outputs.js';
7
- function buildDryRunSingle(todo) {
8
- return createToolResponse({
9
- ok: true,
10
- result: {
11
- deletedIds: [todo.id],
12
- summary: `Dry run: would delete todo "${todo.title}"`,
13
- dryRun: true,
14
- },
15
- });
16
- }
17
7
  function buildDryRunMultiple(previews, total) {
18
8
  return createToolResponse({
19
9
  ok: true,
@@ -26,44 +16,34 @@ function buildDryRunMultiple(previews, total) {
26
16
  },
27
17
  });
28
18
  }
29
- function buildDeleteSuccess(todo) {
19
+ function buildDeleteResponse(todo, dryRun) {
30
20
  return createToolResponse({
31
21
  ok: true,
32
22
  result: {
33
23
  deletedIds: [todo.id],
34
- summary: `Deleted todo "${todo.title}"`,
35
- nextActions: ['list_todos'],
24
+ summary: dryRun
25
+ ? `Dry run: would delete todo "${todo.title}"`
26
+ : `Deleted todo "${todo.title}"`,
27
+ ...(dryRun ? { dryRun: true } : { nextActions: ['list_todos'] }),
36
28
  },
37
29
  });
38
30
  }
39
- function handleAmbiguousDelete(outcome, dryRun) {
40
- if (dryRun) {
41
- return buildDryRunMultiple(outcome.previews, outcome.matches.length);
42
- }
43
- return outcome.response;
44
- }
45
- function handleMatchDelete(todo, dryRun) {
46
- if (dryRun) {
47
- return buildDryRunSingle(todo);
48
- }
49
- return buildDeleteSuccess(todo);
50
- }
51
31
  async function handleDeleteTodoDryRun(input) {
52
32
  const todos = await getTodos();
53
33
  const outcome = unwrapResolution(resolveTodoTargetFromTodos(todos, toResolveInput({ id: input.id, query: input.query })));
54
34
  if (outcome.kind === 'error')
55
35
  return outcome.response;
56
36
  if (outcome.kind === 'ambiguous') {
57
- return handleAmbiguousDelete(outcome, true);
37
+ return buildDryRunMultiple(outcome.previews, outcome.matches.length);
58
38
  }
59
- return handleMatchDelete(outcome.todo, true);
39
+ return buildDeleteResponse(outcome.todo, true);
60
40
  }
61
41
  async function handleDeleteTodoLive(input) {
62
42
  const outcome = await deleteTodoBySelector(toResolveInput({ id: input.id, query: input.query }));
63
43
  if (outcome.kind === 'error' || outcome.kind === 'ambiguous') {
64
44
  return outcome.response;
65
45
  }
66
- return handleMatchDelete(outcome.todo, false);
46
+ return buildDeleteResponse(outcome.todo, false);
67
47
  }
68
48
  async function handleDeleteTodo(input) {
69
49
  const dryRun = input.dryRun ?? false;
@@ -1 +1 @@
1
- {"version":3,"file":"delete_todo.js","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete_todo.js","sourceRoot":"","sources":["../../src/tools/delete_todo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list_todos.d.ts","sourceRoot":"","sources":["../../src/tools/list_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4MzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBzD"}
1
+ {"version":3,"file":"list_todos.d.ts","sourceRoot":"","sources":["../../src/tools/list_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqMzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBzD"}