@j0hanz/todokit-mcp 1.0.8 → 1.0.9

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 (65) hide show
  1. package/README.md +36 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +65 -18
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/cli.d.ts +8 -0
  6. package/dist/lib/cli.d.ts.map +1 -0
  7. package/dist/lib/cli.js +41 -0
  8. package/dist/lib/cli.js.map +1 -0
  9. package/dist/lib/db.d.ts +1 -1
  10. package/dist/lib/db.d.ts.map +1 -1
  11. package/dist/lib/db.js +62 -14
  12. package/dist/lib/db.js.map +1 -1
  13. package/dist/lib/diagnostics.d.ts +48 -0
  14. package/dist/lib/diagnostics.d.ts.map +1 -0
  15. package/dist/lib/diagnostics.js +92 -0
  16. package/dist/lib/diagnostics.js.map +1 -0
  17. package/dist/lib/errors.d.ts.map +1 -1
  18. package/dist/lib/errors.js +4 -1
  19. package/dist/lib/errors.js.map +1 -1
  20. package/dist/lib/log.d.ts +9 -0
  21. package/dist/lib/log.d.ts.map +1 -0
  22. package/dist/lib/log.js +37 -0
  23. package/dist/lib/log.js.map +1 -0
  24. package/dist/lib/resolve.d.ts +5 -5
  25. package/dist/lib/resolve.d.ts.map +1 -1
  26. package/dist/lib/resolve.js.map +1 -1
  27. package/dist/lib/storage.d.ts +1 -3
  28. package/dist/lib/storage.d.ts.map +1 -1
  29. package/dist/lib/storage.js +14 -35
  30. package/dist/lib/storage.js.map +1 -1
  31. package/dist/lib/storage_filters.d.ts +1 -1
  32. package/dist/lib/storage_filters.d.ts.map +1 -1
  33. package/dist/lib/storage_filters.js +5 -2
  34. package/dist/lib/storage_filters.js.map +1 -1
  35. package/dist/lib/tool_response.d.ts +4 -2
  36. package/dist/lib/tool_response.d.ts.map +1 -1
  37. package/dist/lib/tool_response.js.map +1 -1
  38. package/dist/lib/types.js +1 -1
  39. package/dist/lib/types.js.map +1 -1
  40. package/dist/tools/add_todo.d.ts.map +1 -1
  41. package/dist/tools/add_todo.js +2 -1
  42. package/dist/tools/add_todo.js.map +1 -1
  43. package/dist/tools/add_todos.d.ts.map +1 -1
  44. package/dist/tools/add_todos.js +2 -1
  45. package/dist/tools/add_todos.js.map +1 -1
  46. package/dist/tools/complete_todo.d.ts.map +1 -1
  47. package/dist/tools/complete_todo.js +2 -1
  48. package/dist/tools/complete_todo.js.map +1 -1
  49. package/dist/tools/delete_todo.d.ts.map +1 -1
  50. package/dist/tools/delete_todo.js +2 -1
  51. package/dist/tools/delete_todo.js.map +1 -1
  52. package/dist/tools/delete_todos.d.ts.map +1 -1
  53. package/dist/tools/delete_todos.js +2 -1
  54. package/dist/tools/delete_todos.js.map +1 -1
  55. package/dist/tools/list_todos.d.ts.map +1 -1
  56. package/dist/tools/list_todos.js +30 -25
  57. package/dist/tools/list_todos.js.map +1 -1
  58. package/dist/tools/register_tool.d.ts +14 -0
  59. package/dist/tools/register_tool.d.ts.map +1 -0
  60. package/dist/tools/register_tool.js +73 -0
  61. package/dist/tools/register_tool.js.map +1 -0
  62. package/dist/tools/update_todo.d.ts.map +1 -1
  63. package/dist/tools/update_todo.js +2 -1
  64. package/dist/tools/update_todo.js.map +1 -1
  65. package/package.json +4 -4
@@ -0,0 +1,37 @@
1
+ const LEVEL_RANKS = {
2
+ debug: 10,
3
+ info: 20,
4
+ warn: 30,
5
+ error: 40,
6
+ };
7
+ function levelRank(level) {
8
+ return LEVEL_RANKS[level];
9
+ }
10
+ function shouldLog(current, target) {
11
+ return levelRank(target) >= levelRank(current);
12
+ }
13
+ export function createStderrLogger(level) {
14
+ return {
15
+ debug(message) {
16
+ if (!shouldLog(level, 'debug'))
17
+ return;
18
+ console.error(message);
19
+ },
20
+ info(message) {
21
+ if (!shouldLog(level, 'info'))
22
+ return;
23
+ console.error(message);
24
+ },
25
+ warn(message) {
26
+ if (!shouldLog(level, 'warn'))
27
+ return;
28
+ console.error(message);
29
+ },
30
+ error(message) {
31
+ if (!shouldLog(level, 'error'))
32
+ return;
33
+ console.error(message);
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/lib/log.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;CACD,CAAC;AAEX,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,SAAS,CAAC,OAAiB,EAAE,MAAgB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,OAAO;QACL,KAAK,CAAC,OAAe;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;gBAAE,OAAO;YACvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAe;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;gBAAE,OAAO;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAe;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;gBAAE,OAAO;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,OAAe;YACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;gBAAE,OAAO;YACvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -30,8 +30,8 @@ export type ResolveTodoResult = {
30
30
  } | {
31
31
  kind: 'ambiguous';
32
32
  response: ErrorResponse;
33
- matches: Todo[];
34
- previews: TodoMatchPreview[];
33
+ matches: readonly Todo[];
34
+ previews: readonly TodoMatchPreview[];
35
35
  query: string;
36
36
  };
37
37
  export type MatchOutcome = {
@@ -40,13 +40,13 @@ export type MatchOutcome = {
40
40
  } | {
41
41
  kind: 'ambiguous';
42
42
  response: ErrorResponse;
43
- matches: Todo[];
44
- previews: TodoMatchPreview[];
43
+ matches: readonly Todo[];
44
+ previews: readonly TodoMatchPreview[];
45
45
  query: string;
46
46
  } | {
47
47
  kind: 'error';
48
48
  response: ErrorResponse;
49
49
  };
50
50
  export declare function unwrapResolution(result: ResolveTodoResult): MatchOutcome;
51
- export declare function resolveTodoTargetFromTodos(todos: Todo[], input: ResolveTodoInput): ResolveTodoResult;
51
+ export declare function resolveTodoTargetFromTodos(todos: readonly Todo[], input: ResolveTodoInput): ResolveTodoResult;
52
52
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAiBD,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAElC,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,gBAAgB,CAQnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAC9C;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAQxE;AAuED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,gBAAgB,GACtB,iBAAiB,CAKnB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAiBD,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAElC,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,gBAAgB,CAQnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAC9C;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IACzB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IACzB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAQxE;AA0ED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,KAAK,EAAE,gBAAgB,GACtB,iBAAiB,CAKnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,9 @@ interface NewTodoInput {
11
11
  dueDate?: string | undefined;
12
12
  tags?: string[] | undefined;
13
13
  }
14
- export declare function getTodos(filters?: TodoFilters): Promise<Todo[]>;
14
+ export declare function getTodos(filters?: TodoFilters): Promise<readonly Todo[]>;
15
15
  export declare function addTodo(title: string, description?: string, priority?: 'low' | 'normal' | 'high', dueDate?: string, tags?: string[]): Promise<Todo>;
16
16
  export declare function addTodos(items: NewTodoInput[]): Promise<Todo[]>;
17
- export declare function updateTodo(id: string, updates: TodoUpdate): Promise<Todo | null>;
18
- export declare function deleteTodo(id: string): Promise<boolean>;
19
17
  export type UpdateTodoOutcome = MatchOutcome | {
20
18
  kind: 'no_updates';
21
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,aAAa,EACb,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC7B;AAsCD,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAGrE;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAiB,EAC9C,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAiBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAM/D;AA2CD,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAEtB;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvD;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAEtE,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,GAAG,IAAI,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CAyB5B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAwB9B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAcjE"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,aAAa,EACb,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC7B;AAsCD,wBAAsB,QAAQ,CAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAG1B;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAiB,EAC9C,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAiBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAM/D;AAyCD,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAEtE,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,GAAG,IAAI,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CAyB5B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAwB9B;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASjE"}
@@ -11,17 +11,15 @@ function normalizeUpdates(updates) {
11
11
  return { ...updates, tags: normalizeTags(updates.tags) };
12
12
  }
13
13
  function areStringArraysEqual(left, right) {
14
- if (left.length !== right.length)
15
- return false;
16
- for (let i = 0; i < left.length; i += 1) {
17
- if (left[i] !== right[i])
18
- return false;
19
- }
20
- return true;
14
+ return (left.length === right.length &&
15
+ left.every((value, index) => value === right[index]));
21
16
  }
22
17
  function isStringArray(value) {
23
18
  return (Array.isArray(value) && value.every((item) => typeof item === 'string'));
24
19
  }
20
+ function hasOwnKey(obj, key) {
21
+ return Object.prototype.hasOwnProperty.call(obj, key);
22
+ }
25
23
  function valuesEqual(current, update) {
26
24
  if (isStringArray(update) && isStringArray(current)) {
27
25
  return areStringArraysEqual(update, current);
@@ -29,13 +27,11 @@ function valuesEqual(current, update) {
29
27
  return Object.is(current, update);
30
28
  }
31
29
  function hasChanges(current, updates) {
32
- for (const [key, value] of Object.entries(updates)) {
33
- const currentValue = current[key];
34
- if (!valuesEqual(currentValue, value)) {
30
+ return Object.entries(updates).some(([key, value]) => {
31
+ if (!hasOwnKey(current, key))
35
32
  return true;
36
- }
37
- }
38
- return false;
33
+ return !valuesEqual(current[key], value);
34
+ });
39
35
  }
40
36
  export async function getTodos(filters) {
41
37
  const todos = await readTodos();
@@ -99,18 +95,7 @@ function applyUpdateToTodos(todos, id, updates) {
99
95
  return { todos, result: current };
100
96
  }
101
97
  const updatedTodo = calculateUpdatedTodo(current, normalizedUpdates);
102
- const nextTodos = [...todos];
103
- nextTodos[index] = updatedTodo;
104
- return { todos: nextTodos, result: updatedTodo };
105
- }
106
- export function updateTodo(id, updates) {
107
- return withTodos((todos) => applyUpdateToTodos(todos, id, updates));
108
- }
109
- export function deleteTodo(id) {
110
- return withTodos((todos) => {
111
- const remaining = todos.filter((todo) => todo.id !== id);
112
- return { todos: remaining, result: remaining.length !== todos.length };
113
- });
98
+ return { todos: todos.with(index, updatedTodo), result: updatedTodo };
114
99
  }
115
100
  export async function updateTodoBySelector(input, buildUpdates) {
116
101
  return withTodos((todos) => {
@@ -176,16 +161,10 @@ export async function completeTodoBySelector(input, completed) {
176
161
  export function deleteTodosByIds(ids) {
177
162
  const idsToDelete = new Set(ids);
178
163
  return withTodos((todos) => {
179
- const deletedIds = [];
180
- const remaining = [];
181
- for (const todo of todos) {
182
- if (idsToDelete.has(todo.id)) {
183
- deletedIds.push(todo.id);
184
- }
185
- else {
186
- remaining.push(todo);
187
- }
188
- }
164
+ const remaining = todos.filter((todo) => !idsToDelete.has(todo.id));
165
+ const deletedIds = todos
166
+ .filter((todo) => idsToDelete.has(todo.id))
167
+ .map((todo) => todo.id);
189
168
  return { todos: remaining, result: deletedIds };
190
169
  });
191
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAGL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,aAAa,GAEd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAa,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,CAAC;AAWzB,SAAS,gBAAgB,CAAC,OAAmB;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAClC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAc,EAAE,KAAe;IAC3D,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAmB,GAAM,EAAE,GAAgB;IAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB,EAAE,MAAe;IACpD,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,OAAa,EAAE,OAAmB;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACnD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAqB;IAErB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,WAAoB,EACpB,WAAsC,QAAQ,EAC9C,OAAgB,EAChB,OAAiB,EAAE;IAEnB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC;QAC5B,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAkB,EAAE,SAAiB;IAC1D,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAa,EAAE,OAAmB;IAC9D,MAAM,WAAW,GAAG;QAClB,GAAG,OAAO;QACV,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,IACE,OAAO,CAAC,SAAS,KAAK,SAAS;QAC/B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACvC,CAAC;QACD,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS;YACzC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC1B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAa,EACb,EAAU,EACV,OAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACxE,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAuB,EACvB,YAA+C;IAE/C,OAAO,SAAS,CAAoB,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAuB;IAEvB,OAAO,SAAS,CAAe,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAuB,EACvB,SAAkB;IAElB,OAAO,SAAS,CAAsB,CAAC,KAAK,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAa;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,KAAK;aACrB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,5 +8,5 @@ export interface TodoFilters {
8
8
  query?: string | undefined;
9
9
  }
10
10
  export declare function normalizeTags(tags: string[]): string[];
11
- export declare function filterTodos(todos: Todo[], filters: TodoFilters): Todo[];
11
+ export declare function filterTodos(todos: readonly Todo[], filters: TodoFilters): readonly Todo[];
12
12
  //# sourceMappingURL=storage_filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage_filters.d.ts","sourceRoot":"","sources":["../../src/lib/storage_filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKtD;AA6CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,CAUvE"}
1
+ {"version":3,"file":"storage_filters.d.ts","sourceRoot":"","sources":["../../src/lib/storage_filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKtD;AA6CD,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,OAAO,EAAE,WAAW,GACnB,SAAS,IAAI,EAAE,CAUjB"}
@@ -34,8 +34,11 @@ function matchesDate(todo, filters) {
34
34
  function matchesQuery(todo, query) {
35
35
  if (!query)
36
36
  return true;
37
- const haystack = `${todo.title} ${todo.description ?? ''} ${todo.tags.join(' ')}`.toLowerCase();
38
- return haystack.includes(query);
37
+ if (todo.title.toLowerCase().includes(query))
38
+ return true;
39
+ if (todo.description?.toLowerCase().includes(query))
40
+ return true;
41
+ return todo.tags.some((tag) => tag.toLowerCase().includes(query));
39
42
  }
40
43
  export function filterTodos(todos, filters) {
41
44
  const query = filters.query?.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"storage_filters.js","sourceRoot":"","sources":["../../src/lib/storage_filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage_filters.js","sourceRoot":"","sources":["../../src/lib/storage_filters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
- export declare function createToolResponse<T extends Record<string, unknown>>(structuredContent: T): CallToolResult & {
2
+ interface ToolResponse<T extends Record<string, unknown>> extends CallToolResult {
3
3
  structuredContent: T;
4
- };
4
+ }
5
+ export declare function createToolResponse<T extends Record<string, unknown>>(structuredContent: T): ToolResponse<T>;
6
+ export {};
5
7
  //# sourceMappingURL=tool_response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool_response.d.ts","sourceRoot":"","sources":["../../src/lib/tool_response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,iBAAiB,EAAE,CAAC,GACnB,cAAc,GAAG;IAAE,iBAAiB,EAAE,CAAC,CAAA;CAAE,CAK3C"}
1
+ {"version":3,"file":"tool_response.d.ts","sourceRoot":"","sources":["../../src/lib/tool_response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,UAAU,YAAY,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACjC,SAAQ,cAAc;IACtB,iBAAiB,EAAE,CAAC,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,iBAAiB,EAAE,CAAC,GACnB,YAAY,CAAC,CAAC,CAAC,CAKjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool_response.js","sourceRoot":"","sources":["../../src/lib/tool_response.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,iBAAoB;IAEpB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tool_response.js","sourceRoot":"","sources":["../../src/lib/tool_response.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,kBAAkB,CAChC,iBAAoB;IAEpB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
package/dist/lib/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { IsoDateSchema, IsoDateTimeSchema } from '../schemas/iso_date.js';
3
- const TodoSchema = z.object({
3
+ const TodoSchema = z.strictObject({
4
4
  id: z.string(),
5
5
  title: z.string(),
6
6
  description: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAgB,MAAM,KAAK,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAe1E,MAAM,UAAU,GAAkB,CAAC,CAAC,MAAM,CAAC;IACzC,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,GAAoB,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,EAAgB,MAAM,KAAK,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAe1E,MAAM,UAAU,GAAkB,CAAC,CAAC,YAAY,CAAC;IAC/C,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,GAAoB,CAAC,CAAC,KAAK,CAAC,UAAU,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,CA6BvD"}
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;AASzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BvD"}
@@ -3,8 +3,9 @@ import { addTodo } from '../lib/storage.js';
3
3
  import { createToolResponse } from '../lib/tool_response.js';
4
4
  import { AddTodoSchema } from '../schemas/inputs.js';
5
5
  import { DefaultOutputSchema } from '../schemas/outputs.js';
6
+ import { registerToolWithDiagnostics } from './register_tool.js';
6
7
  export function registerAddTodo(server) {
7
- server.registerTool('add_todo', {
8
+ registerToolWithDiagnostics(server, 'add_todo', {
8
9
  title: 'Add Todo',
9
10
  description: 'Add a new todo item',
10
11
  inputSchema: AddTodoSchema,
@@ -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,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
+ {"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;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,2BAA2B,CACzB,MAAM,EACN,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,CA6BxD"}
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;AASzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BxD"}
@@ -3,8 +3,9 @@ import { addTodos } from '../lib/storage.js';
3
3
  import { createToolResponse } from '../lib/tool_response.js';
4
4
  import { AddTodosSchema } from '../schemas/inputs.js';
5
5
  import { DefaultOutputSchema } from '../schemas/outputs.js';
6
+ import { registerToolWithDiagnostics } from './register_tool.js';
6
7
  export function registerAddTodos(server) {
7
- server.registerTool('add_todos', {
8
+ registerToolWithDiagnostics(server, 'add_todos', {
8
9
  title: 'Add Todos (Batch)',
9
10
  description: 'Add multiple todo items in one call',
10
11
  inputSchema: AddTodosSchema,
@@ -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,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
+ {"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;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,2BAA2B,CACzB,MAAM,EACN,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;AA0EzE,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;AA2EzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB5D"}
@@ -4,6 +4,7 @@ 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
+ import { registerToolWithDiagnostics } from './register_tool.js';
7
8
  function buildStatusResponse(todo, summary) {
8
9
  return createToolResponse({
9
10
  ok: true,
@@ -37,7 +38,7 @@ async function handleCompleteTodo(input) {
37
38
  return buildOutcomeResponse(outcome, targetCompleted);
38
39
  }
39
40
  export function registerCompleteTodo(server) {
40
- server.registerTool('complete_todo', {
41
+ registerToolWithDiagnostics(server, 'complete_todo', {
41
42
  title: 'Complete Todo',
42
43
  description: 'Set completion status for a todo item',
43
44
  inputSchema: CompleteTodoSchema,
@@ -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,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
+ {"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;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAIjE,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,2BAA2B,CACzB,MAAM,EACN,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;AAsFzE,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,CAuB1D"}
@@ -4,6 +4,7 @@ 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
+ import { registerToolWithDiagnostics } from './register_tool.js';
7
8
  function buildDryRunMultiple(previews, total) {
8
9
  return createToolResponse({
9
10
  ok: true,
@@ -55,7 +56,7 @@ async function handleDeleteTodo(input) {
55
56
  return handleDeleteTodoLive(input);
56
57
  }
57
58
  export function registerDeleteTodo(server) {
58
- server.registerTool('delete_todo', {
59
+ registerToolWithDiagnostics(server, 'delete_todo', {
59
60
  title: 'Delete Todo',
60
61
  description: 'Delete a todo item (supports dry-run)',
61
62
  inputSchema: DeleteTodoSchema,
@@ -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":"delete_todos.d.ts","sourceRoot":"","sources":["../../src/tools/delete_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2JzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuB3D"}
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,CAwB3D"}
@@ -4,6 +4,7 @@ import { deleteTodosByIds, getTodos } from '../lib/storage.js';
4
4
  import { createToolResponse } from '../lib/tool_response.js';
5
5
  import { IsoDateSchema } from '../schemas/iso_date.js';
6
6
  import { DefaultOutputSchema } from '../schemas/outputs.js';
7
+ import { registerToolWithDiagnostics } from './register_tool.js';
7
8
  const TagSchema = z.string().min(1).max(50);
8
9
  const FILTER_KEYS = [
9
10
  'status',
@@ -111,7 +112,7 @@ async function handleDeleteTodos(input) {
111
112
  return buildDeletedResponse(deletedIds, matches.length);
112
113
  }
113
114
  export function registerDeleteTodos(server) {
114
- server.registerTool('delete_todos', {
115
+ registerToolWithDiagnostics(server, 'delete_todos', {
115
116
  title: 'Delete Todos (Bulk)',
116
117
  description: 'Delete multiple todos matching filters (requires at least one filter, defaults to limit=10 for safety)',
117
118
  inputSchema: DeleteTodosSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"delete_todos.js","sourceRoot":"","sources":["../../src/tools/delete_todos.ts"],"names":[],"mappings":"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"}
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":"list_todos.d.ts","sourceRoot":"","sources":["../../src/tools/list_todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmOzE,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;AAqPzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBzD"}
@@ -3,6 +3,7 @@ import { getTodos } from '../lib/storage.js';
3
3
  import { createToolResponse } from '../lib/tool_response.js';
4
4
  import { ListTodosFilterSchema } from '../schemas/inputs.js';
5
5
  import { DefaultOutputSchema } from '../schemas/outputs.js';
6
+ import { registerToolWithDiagnostics } from './register_tool.js';
6
7
  const DEFAULT_LIMIT = 50;
7
8
  const DEFAULT_OFFSET = 0;
8
9
  const PRIORITY_WEIGHT = {
@@ -37,7 +38,7 @@ const COMPARATORS = {
37
38
  function sortTodos(todos, sortBy, order) {
38
39
  const direction = order === 'desc' ? -1 : 1;
39
40
  const comparator = COMPARATORS[sortBy];
40
- return [...todos].sort((a, b) => {
41
+ return todos.toSorted((a, b) => {
41
42
  const diff = comparator(a, b);
42
43
  if (diff !== 0)
43
44
  return diff * direction;
@@ -66,39 +67,43 @@ function normalizeFilters(filters) {
66
67
  };
67
68
  }
68
69
  function computeCounts(todos, todayIso) {
69
- let completed = 0;
70
- let overdue = 0;
71
- let previousCreatedAt = null;
72
- const orderState = { isCreatedAtAsc: true, isCreatedAtDesc: true };
73
- for (const todo of todos) {
74
- if (todo.completed) {
75
- completed += 1;
76
- }
77
- if (isOverdue(todo, todayIso)) {
78
- overdue += 1;
79
- }
80
- previousCreatedAt = updateCreatedAtOrder(previousCreatedAt, todo.createdAt, orderState);
81
- }
70
+ const orderState = createOrderState();
71
+ const totals = todos.reduce((current, todo) => {
72
+ current.completed += Number(todo.completed);
73
+ current.overdue += Number(isOverdue(todo, todayIso));
74
+ updateOrderState(orderState, todo.createdAt);
75
+ return current;
76
+ }, { completed: 0, overdue: 0 });
82
77
  const total = todos.length;
83
78
  return {
84
79
  total,
85
- completed,
86
- pending: total - completed,
87
- overdue,
88
- ...orderState,
80
+ completed: totals.completed,
81
+ pending: total - totals.completed,
82
+ overdue: totals.overdue,
83
+ isCreatedAtAsc: orderState.isCreatedAtAsc,
84
+ isCreatedAtDesc: orderState.isCreatedAtDesc,
89
85
  };
90
86
  }
91
- function updateCreatedAtOrder(previous, current, orderState) {
87
+ function createOrderState() {
88
+ return {
89
+ previousCreatedAt: null,
90
+ isCreatedAtAsc: true,
91
+ isCreatedAtDesc: true,
92
+ };
93
+ }
94
+ function updateOrderState(state, current) {
95
+ const previous = state.previousCreatedAt;
92
96
  if (previous === null) {
93
- return current;
97
+ state.previousCreatedAt = current;
98
+ return;
94
99
  }
95
100
  if (current < previous) {
96
- orderState.isCreatedAtAsc = false;
101
+ state.isCreatedAtAsc = false;
97
102
  }
98
- if (current > previous) {
99
- orderState.isCreatedAtDesc = false;
103
+ else if (current > previous) {
104
+ state.isCreatedAtDesc = false;
100
105
  }
101
- return current;
106
+ state.previousCreatedAt = current;
102
107
  }
103
108
  function buildSummary(counts, pageCount) {
104
109
  if (counts.total === 0) {
@@ -154,7 +159,7 @@ async function handleListTodos(filters) {
154
159
  return buildListResponse(paged, counts, normalized);
155
160
  }
156
161
  export function registerListTodos(server) {
157
- server.registerTool('list_todos', {
162
+ registerToolWithDiagnostics(server, 'list_todos', {
158
163
  title: 'List Todos',
159
164
  description: 'List todos with filtering, search, sorting, and pagination',
160
165
  inputSchema: ListTodosFilterSchema,