@doist/todoist-ai 0.1.2 → 0.1.4

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 (169) hide show
  1. package/dist/index.d.ts.map +1 -0
  2. package/dist/main.d.ts.map +1 -0
  3. package/dist/mcp-helpers.d.ts.map +1 -0
  4. package/dist/mcp-server.d.ts.map +1 -0
  5. package/dist/todoist-tool.d.ts.map +1 -0
  6. package/dist/tools/account-overview.d.ts.map +1 -0
  7. package/dist/tools/project-overview.d.ts.map +1 -0
  8. package/dist/tools/projects-add-one.d.ts.map +1 -0
  9. package/dist/tools/projects-delete-one.d.ts.map +1 -0
  10. package/dist/tools/projects-list.d.ts.map +1 -0
  11. package/dist/tools/projects-search.d.ts.map +1 -0
  12. package/dist/tools/projects-update-one.d.ts.map +1 -0
  13. package/dist/tools/sections-add-one.d.ts.map +1 -0
  14. package/dist/tools/sections-delete-one.d.ts.map +1 -0
  15. package/dist/tools/sections-search.d.ts.map +1 -0
  16. package/dist/tools/sections-update-one.d.ts.map +1 -0
  17. package/dist/tools/shared.d.ts.map +1 -0
  18. package/dist/tools/subtasks-list-for-parent-task.d.ts.map +1 -0
  19. package/dist/tools/tasks-add-multiple.d.ts.map +1 -0
  20. package/dist/tools/tasks-by-date-range.d.ts.map +1 -0
  21. package/dist/tools/tasks-by-project.d.ts.map +1 -0
  22. package/dist/tools/tasks-complete-multiple.d.ts.map +1 -0
  23. package/dist/tools/tasks-delete-one.d.ts.map +1 -0
  24. package/dist/tools/tasks-list-for-section.d.ts.map +1 -0
  25. package/dist/tools/tasks-list-overdue.d.ts.map +1 -0
  26. package/dist/tools/tasks-organize-multiple.d.ts.map +1 -0
  27. package/dist/tools/tasks-search.d.ts.map +1 -0
  28. package/dist/tools/tasks-update-one.d.ts.map +1 -0
  29. package/package.json +7 -20
  30. package/dist/esm/index.d.ts.map +0 -1
  31. package/dist/esm/index.js +0 -49
  32. package/dist/esm/main.d.ts.map +0 -1
  33. package/dist/esm/main.js +0 -23
  34. package/dist/esm/mcp-helpers.d.ts.map +0 -1
  35. package/dist/esm/mcp-helpers.js +0 -52
  36. package/dist/esm/mcp-server.d.ts.map +0 -1
  37. package/dist/esm/mcp-server.js +0 -66
  38. package/dist/esm/todoist-tool.d.ts.map +0 -1
  39. package/dist/esm/todoist-tool.js +0 -1
  40. package/dist/esm/tools/account-overview.d.ts.map +0 -1
  41. package/dist/esm/tools/account-overview.js +0 -94
  42. package/dist/esm/tools/project-overview.d.ts.map +0 -1
  43. package/dist/esm/tools/project-overview.js +0 -107
  44. package/dist/esm/tools/projects-add-one.d.ts.map +0 -1
  45. package/dist/esm/tools/projects-add-one.js +0 -15
  46. package/dist/esm/tools/projects-delete-one.d.ts.map +0 -1
  47. package/dist/esm/tools/projects-delete-one.js +0 -14
  48. package/dist/esm/tools/projects-list.d.ts.map +0 -1
  49. package/dist/esm/tools/projects-list.js +0 -30
  50. package/dist/esm/tools/projects-search.d.ts.map +0 -1
  51. package/dist/esm/tools/projects-search.js +0 -39
  52. package/dist/esm/tools/projects-update-one.d.ts.map +0 -1
  53. package/dist/esm/tools/projects-update-one.js +0 -16
  54. package/dist/esm/tools/sections-add-one.d.ts.map +0 -1
  55. package/dist/esm/tools/sections-add-one.js +0 -21
  56. package/dist/esm/tools/sections-delete-one.d.ts.map +0 -1
  57. package/dist/esm/tools/sections-delete-one.js +0 -14
  58. package/dist/esm/tools/sections-search.d.ts.map +0 -1
  59. package/dist/esm/tools/sections-search.js +0 -30
  60. package/dist/esm/tools/sections-update-one.d.ts.map +0 -1
  61. package/dist/esm/tools/sections-update-one.js +0 -16
  62. package/dist/esm/tools/shared.d.ts.map +0 -1
  63. package/dist/esm/tools/shared.js +0 -71
  64. package/dist/esm/tools/subtasks-list-for-parent-task.d.ts.map +0 -1
  65. package/dist/esm/tools/subtasks-list-for-parent-task.js +0 -37
  66. package/dist/esm/tools/tasks-add-multiple.d.ts.map +0 -1
  67. package/dist/esm/tools/tasks-add-multiple.js +0 -47
  68. package/dist/esm/tools/tasks-by-date-range.d.ts.map +0 -1
  69. package/dist/esm/tools/tasks-by-date-range.js +0 -47
  70. package/dist/esm/tools/tasks-by-project.d.ts.map +0 -1
  71. package/dist/esm/tools/tasks-by-project.js +0 -37
  72. package/dist/esm/tools/tasks-complete-multiple.d.ts.map +0 -1
  73. package/dist/esm/tools/tasks-complete-multiple.js +0 -26
  74. package/dist/esm/tools/tasks-delete-one.d.ts.map +0 -1
  75. package/dist/esm/tools/tasks-delete-one.js +0 -14
  76. package/dist/esm/tools/tasks-list-for-section.d.ts.map +0 -1
  77. package/dist/esm/tools/tasks-list-for-section.js +0 -37
  78. package/dist/esm/tools/tasks-list-overdue.d.ts.map +0 -1
  79. package/dist/esm/tools/tasks-list-overdue.js +0 -29
  80. package/dist/esm/tools/tasks-organize-multiple.d.ts.map +0 -1
  81. package/dist/esm/tools/tasks-organize-multiple.js +0 -40
  82. package/dist/esm/tools/tasks-search.d.ts.map +0 -1
  83. package/dist/esm/tools/tasks-search.js +0 -30
  84. package/dist/esm/tools/tasks-update-one.d.ts.map +0 -1
  85. package/dist/esm/tools/tasks-update-one.js +0 -42
  86. package/dist/types/index.d.ts +0 -476
  87. package/dist/types/main.d.ts +0 -1
  88. package/dist/types/mcp-helpers.d.ts +0 -12
  89. package/dist/types/mcp-server.d.ts +0 -10
  90. package/dist/types/todoist-tool.d.ts +0 -34
  91. package/dist/types/tools/account-overview.d.ts +0 -8
  92. package/dist/types/tools/project-overview.d.ts +0 -13
  93. package/dist/types/tools/projects-add-one.d.ts +0 -21
  94. package/dist/types/tools/projects-delete-one.d.ts +0 -14
  95. package/dist/types/tools/projects-list.d.ts +0 -17
  96. package/dist/types/tools/projects-search.d.ts +0 -28
  97. package/dist/types/tools/projects-update-one.d.ts +0 -14
  98. package/dist/types/tools/sections-add-one.d.ts +0 -14
  99. package/dist/types/tools/sections-delete-one.d.ts +0 -14
  100. package/dist/types/tools/sections-search.d.ts +0 -17
  101. package/dist/types/tools/sections-update-one.d.ts +0 -14
  102. package/dist/types/tools/shared.d.ts +0 -54
  103. package/dist/types/tools/subtasks-list-for-parent-task.d.ts +0 -30
  104. package/dist/types/tools/tasks-add-multiple.d.ts +0 -49
  105. package/dist/types/tools/tasks-by-date-range.d.ts +0 -32
  106. package/dist/types/tools/tasks-by-project.d.ts +0 -30
  107. package/dist/types/tools/tasks-complete-multiple.d.ts +0 -15
  108. package/dist/types/tools/tasks-delete-one.d.ts +0 -14
  109. package/dist/types/tools/tasks-list-for-section.d.ts +0 -30
  110. package/dist/types/tools/tasks-list-overdue.d.ts +0 -28
  111. package/dist/types/tools/tasks-organize-multiple.d.ts +0 -36
  112. package/dist/types/tools/tasks-search.d.ts +0 -30
  113. package/dist/types/tools/tasks-update-one.d.ts +0 -26
  114. /package/dist/{esm/index.d.ts → index.d.ts} +0 -0
  115. /package/dist/{cjs/index.js → index.js} +0 -0
  116. /package/dist/{esm/main.d.ts → main.d.ts} +0 -0
  117. /package/dist/{cjs/main.js → main.js} +0 -0
  118. /package/dist/{esm/mcp-helpers.d.ts → mcp-helpers.d.ts} +0 -0
  119. /package/dist/{cjs/mcp-helpers.js → mcp-helpers.js} +0 -0
  120. /package/dist/{esm/mcp-server.d.ts → mcp-server.d.ts} +0 -0
  121. /package/dist/{cjs/mcp-server.js → mcp-server.js} +0 -0
  122. /package/dist/{esm/todoist-tool.d.ts → todoist-tool.d.ts} +0 -0
  123. /package/dist/{cjs/todoist-tool.js → todoist-tool.js} +0 -0
  124. /package/dist/{esm/tools → tools}/account-overview.d.ts +0 -0
  125. /package/dist/{cjs/tools → tools}/account-overview.js +0 -0
  126. /package/dist/{esm/tools → tools}/project-overview.d.ts +0 -0
  127. /package/dist/{cjs/tools → tools}/project-overview.js +0 -0
  128. /package/dist/{esm/tools → tools}/projects-add-one.d.ts +0 -0
  129. /package/dist/{cjs/tools → tools}/projects-add-one.js +0 -0
  130. /package/dist/{esm/tools → tools}/projects-delete-one.d.ts +0 -0
  131. /package/dist/{cjs/tools → tools}/projects-delete-one.js +0 -0
  132. /package/dist/{esm/tools → tools}/projects-list.d.ts +0 -0
  133. /package/dist/{cjs/tools → tools}/projects-list.js +0 -0
  134. /package/dist/{esm/tools → tools}/projects-search.d.ts +0 -0
  135. /package/dist/{cjs/tools → tools}/projects-search.js +0 -0
  136. /package/dist/{esm/tools → tools}/projects-update-one.d.ts +0 -0
  137. /package/dist/{cjs/tools → tools}/projects-update-one.js +0 -0
  138. /package/dist/{esm/tools → tools}/sections-add-one.d.ts +0 -0
  139. /package/dist/{cjs/tools → tools}/sections-add-one.js +0 -0
  140. /package/dist/{esm/tools → tools}/sections-delete-one.d.ts +0 -0
  141. /package/dist/{cjs/tools → tools}/sections-delete-one.js +0 -0
  142. /package/dist/{esm/tools → tools}/sections-search.d.ts +0 -0
  143. /package/dist/{cjs/tools → tools}/sections-search.js +0 -0
  144. /package/dist/{esm/tools → tools}/sections-update-one.d.ts +0 -0
  145. /package/dist/{cjs/tools → tools}/sections-update-one.js +0 -0
  146. /package/dist/{esm/tools → tools}/shared.d.ts +0 -0
  147. /package/dist/{cjs/tools → tools}/shared.js +0 -0
  148. /package/dist/{esm/tools → tools}/subtasks-list-for-parent-task.d.ts +0 -0
  149. /package/dist/{cjs/tools → tools}/subtasks-list-for-parent-task.js +0 -0
  150. /package/dist/{esm/tools → tools}/tasks-add-multiple.d.ts +0 -0
  151. /package/dist/{cjs/tools → tools}/tasks-add-multiple.js +0 -0
  152. /package/dist/{esm/tools → tools}/tasks-by-date-range.d.ts +0 -0
  153. /package/dist/{cjs/tools → tools}/tasks-by-date-range.js +0 -0
  154. /package/dist/{esm/tools → tools}/tasks-by-project.d.ts +0 -0
  155. /package/dist/{cjs/tools → tools}/tasks-by-project.js +0 -0
  156. /package/dist/{esm/tools → tools}/tasks-complete-multiple.d.ts +0 -0
  157. /package/dist/{cjs/tools → tools}/tasks-complete-multiple.js +0 -0
  158. /package/dist/{esm/tools → tools}/tasks-delete-one.d.ts +0 -0
  159. /package/dist/{cjs/tools → tools}/tasks-delete-one.js +0 -0
  160. /package/dist/{esm/tools → tools}/tasks-list-for-section.d.ts +0 -0
  161. /package/dist/{cjs/tools → tools}/tasks-list-for-section.js +0 -0
  162. /package/dist/{esm/tools → tools}/tasks-list-overdue.d.ts +0 -0
  163. /package/dist/{cjs/tools → tools}/tasks-list-overdue.js +0 -0
  164. /package/dist/{esm/tools → tools}/tasks-organize-multiple.d.ts +0 -0
  165. /package/dist/{cjs/tools → tools}/tasks-organize-multiple.js +0 -0
  166. /package/dist/{esm/tools → tools}/tasks-search.d.ts +0 -0
  167. /package/dist/{cjs/tools → tools}/tasks-search.js +0 -0
  168. /package/dist/{esm/tools → tools}/tasks-update-one.d.ts +0 -0
  169. /package/dist/{cjs/tools → tools}/tasks-update-one.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAE/B,OAAO,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,GACf,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-helpers.d.ts","sourceRoot":"","sources":["../src/mcp-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EACX,SAAS,EAET,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAc,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+BrD;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,EACjD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,QA2BlB;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiCpE;;;;GAIG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,aAqCjE;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todoist-tool.d.ts","sourceRoot":"","sources":["../src/todoist-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,IAAI;IAChD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,OAAO,EAAE,CACR,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAClC,MAAM,EAAE,UAAU,KACd,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-overview.d.ts","sourceRoot":"","sources":["../../src/tools/account-overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,UAAU,EACV,MAAM,+BAA+B,CAAC;AA8EvC,QAAA,MAAM,eAAe;;;;;CA6CqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-overview.d.ts","sourceRoot":"","sources":["../../src/tools/project-overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,UAAU,EACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8ExB,QAAA,MAAM,eAAe;;;;;;;;;CA4CqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-add-one.d.ts","sourceRoot":"","sources":["../../src/tools/projects-add-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAQsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-delete-one.d.ts","sourceRoot":"","sources":["../../src/tools/projects-delete-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;CAQmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-list.d.ts","sourceRoot":"","sources":["../../src/tools/projects-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;CAcwB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-search.d.ts","sourceRoot":"","sources":["../../src/tools/projects-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAoBsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-update-one.d.ts","sourceRoot":"","sources":["../../src/tools/projects-update-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;CASmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-add-one.d.ts","sourceRoot":"","sources":["../../src/tools/sections-add-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,QAAA,MAAM,cAAc;;;;;;;;;;;CAWsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-delete-one.d.ts","sourceRoot":"","sources":["../../src/tools/sections-delete-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;CAQmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-search.d.ts","sourceRoot":"","sources":["../../src/tools/sections-search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;CAmBsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sections-update-one.d.ts","sourceRoot":"","sources":["../../src/tools/sections-update-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;CASmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,UAAU,EAEf,MAAM,+BAA+B,CAAC;AAGvC;;;;GAIG;AACH,iBAAS,OAAO,CAAC,IAAI,EAAE,IAAI;;;;;;;;;;;EAc1B;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,OAAO,EAAE,OAAO;;;;;;;;;EAWnC;AAWD,iBAAe,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,GACN,EAAE;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;;;;;;;;;;;;;;GAyBA;AAED,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtasks-list-for-parent-task.d.ts","sourceRoot":"","sources":["../../src/tools/subtasks-list-for-parent-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBW,CAAC;AAE3C,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-add-multiple.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-add-multiple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAaoB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-by-date-range.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-by-date-range.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-by-project.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-by-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBiB,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-complete-multiple.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-complete-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;CAgBe,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-delete-one.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-delete-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,QAAA,MAAM,cAAc;;;;;;;;;;;CAQsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-list-for-section.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-list-for-section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBiB,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-list-overdue.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-list-overdue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAYoB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-organize-multiple.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-organize-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYe,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-search.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYyB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-update-one.d.ts","sourceRoot":"","sources":["../../src/tools/tasks-update-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;CAQsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,10 @@
1
1
  {
2
2
  "name": "@doist/todoist-ai",
3
- "version": "0.1.2",
4
- "type": "module",
5
- "main": "./dist/cjs/index.js",
6
- "module": "./dist/esm/index.js",
7
- "types": "./dist/types/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/esm/index.js",
11
- "require": "./dist/cjs/index.js"
12
- }
13
- },
3
+ "version": "0.1.4",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
14
6
  "files": [
15
- "dist/esm",
16
- "dist/cjs",
17
- "dist/types",
7
+ "dist",
18
8
  "package.json",
19
9
  "LICENSE.txt",
20
10
  "README.md"
@@ -28,13 +18,10 @@
28
18
  "keywords": ["todoist", "ai", "tools"],
29
19
  "scripts": {
30
20
  "test": "echo \"Error: no test specified\" && exit 1",
31
- "build:esm": "tsc --project tsconfig.esm.json",
32
- "build:cjs": "tsc --project tsconfig.cjs.json",
33
- "build:types": "tsc --project tsconfig.types.json",
34
- "build": "rimraf dist && npm run build:esm && npm run build:cjs && npm run build:types",
35
- "dev": "concurrently \"tsc --watch\" \"nodemon --watch dist --ext js --exec 'npx -y @modelcontextprotocol/inspector npx node dist/main.js'\"",
21
+ "build": "rimraf dist && npx tsc --project tsconfig.json",
22
+ "dev": "concurrently \"npx tsc --watch\" \"nodemon --watch dist --ext js --exec 'npx -y @modelcontextprotocol/inspector npx node dist/main.js'\"",
36
23
  "setup": "cp .env.example .env && npm install && npm run build",
37
- "type-check": "tsc --noEmit",
24
+ "type-check": "npx tsc --noEmit",
38
25
  "biome:sort-imports": "biome check --formatter-enabled=false --linter-enabled=false --organize-imports-enabled=true --write .",
39
26
  "lint:check": "biome lint",
40
27
  "lint:write": "biome lint --write",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAE/B,OAAO,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,GACf,CAAC"}
package/dist/esm/index.js DELETED
@@ -1,49 +0,0 @@
1
- import { getMcpServer } from "./mcp-server.js";
2
- import { projectsAddOne } from "./tools/projects-add-one.js";
3
- import { projectsDeleteOne } from "./tools/projects-delete-one.js";
4
- import { projectsList } from "./tools/projects-list.js";
5
- import { projectsSearch } from "./tools/projects-search.js";
6
- import { projectsUpdateOne } from "./tools/projects-update-one.js";
7
- import { sectionsAddOne } from "./tools/sections-add-one.js";
8
- import { sectionsDeleteOne } from "./tools/sections-delete-one.js";
9
- import { sectionsSearch } from "./tools/sections-search.js";
10
- import { sectionsUpdateOne } from "./tools/sections-update-one.js";
11
- import { tasksAddMultiple } from "./tools/tasks-add-multiple.js";
12
- import { tasksListByDate } from "./tools/tasks-by-date-range.js";
13
- import { tasksListForProject } from "./tools/tasks-by-project.js";
14
- import { tasksCompleteMultiple } from "./tools/tasks-complete-multiple.js";
15
- import { tasksDeleteOne } from "./tools/tasks-delete-one.js";
16
- import { tasksListForSection } from "./tools/tasks-list-for-section.js";
17
- import { tasksListOverdue } from "./tools/tasks-list-overdue.js";
18
- import { tasksOrganizeMultiple } from "./tools/tasks-organize-multiple.js";
19
- import { tasksSearch } from "./tools/tasks-search.js";
20
- import { tasksUpdateOne } from "./tools/tasks-update-one.js";
21
- import { subtasksListForParentTask } from "./tools/subtasks-list-for-parent-task.js";
22
- import { accountOverview } from "./tools/account-overview.js";
23
- import { projectOverview } from "./tools/project-overview.js";
24
- const tools = {
25
- projectsList,
26
- projectsSearch,
27
- projectsAddOne,
28
- projectsUpdateOne,
29
- projectsDeleteOne,
30
- sectionsSearch,
31
- sectionsAddOne,
32
- sectionsUpdateOne,
33
- sectionsDeleteOne,
34
- tasksListByDate,
35
- tasksDeleteOne,
36
- tasksCompleteMultiple,
37
- tasksListForProject,
38
- tasksListOverdue,
39
- tasksSearch,
40
- tasksAddMultiple,
41
- tasksUpdateOne,
42
- tasksOrganizeMultiple,
43
- tasksListForSection,
44
- subtasksListForParentTask,
45
- accountOverview,
46
- projectOverview,
47
- };
48
- export { tools, getMcpServer };
49
- export { projectsList, projectsSearch, projectsAddOne, projectsUpdateOne, projectsDeleteOne, sectionsSearch, sectionsAddOne, sectionsUpdateOne, sectionsDeleteOne, tasksListByDate, tasksDeleteOne, tasksCompleteMultiple, tasksListForProject, tasksListOverdue, tasksSearch, tasksAddMultiple, tasksUpdateOne, tasksOrganizeMultiple, tasksListForSection, subtasksListForParentTask, accountOverview, projectOverview, };
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":""}
package/dist/esm/main.js DELETED
@@ -1,23 +0,0 @@
1
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
- import dotenv from "dotenv";
3
- import { getMcpServer } from "./mcp-server.js";
4
- function main() {
5
- const todoistApiKey = process.env.TODOIST_API_KEY;
6
- if (!todoistApiKey) {
7
- throw new Error("TODOIST_API_KEY is not set");
8
- }
9
- const server = getMcpServer({ todoistApiKey });
10
- const transport = new StdioServerTransport();
11
- server
12
- .connect(transport)
13
- .then(() => {
14
- // We use console.error because standard I/O is being used for the MCP server communication.
15
- console.error("Server started");
16
- })
17
- .catch((error) => {
18
- console.error("Error starting the Todoist MCP server:", error);
19
- process.exit(1);
20
- });
21
- }
22
- dotenv.config();
23
- main();
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-helpers.d.ts","sourceRoot":"","sources":["../../src/mcp-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EACX,SAAS,EAET,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAc,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+BrD;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,EACjD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,QA2BlB;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,52 +0,0 @@
1
- function textContent(text) {
2
- return {
3
- content: [{ type: "text", text }],
4
- };
5
- }
6
- function jsonContent(data) {
7
- return {
8
- content: [
9
- {
10
- type: "text",
11
- mimeType: "application/json",
12
- text: JSON.stringify(data, null, 2),
13
- },
14
- ],
15
- };
16
- }
17
- function textOrJsonContent(data) {
18
- return typeof data === "string" ? textContent(data) : jsonContent(data);
19
- }
20
- function errorContent(error) {
21
- return {
22
- ...textContent(error),
23
- isError: true,
24
- };
25
- }
26
- /**
27
- * Register a Todoist tool in an MCP server.
28
- * @param tool - The tool to register.
29
- * @param server - The server to register the tool on.
30
- * @param client - The Todoist API client to use to execute the tool.
31
- */
32
- function registerTool(tool, server, client) {
33
- // @ts-ignore I give up
34
- const cb = async (args, _context) => {
35
- try {
36
- const result = await tool.execute(args, client);
37
- return textOrJsonContent(result);
38
- }
39
- catch (error) {
40
- console.error(`Error executing tool ${tool.name}:`, {
41
- args,
42
- error,
43
- });
44
- const message = error instanceof Error
45
- ? error.message
46
- : "An unknown error occurred";
47
- return errorContent(message);
48
- }
49
- };
50
- server.tool(tool.name, tool.description, tool.parameters, cb);
51
- }
52
- export { registerTool };
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiCpE;;;;GAIG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,aAqCjE;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,66 +0,0 @@
1
- import { TodoistApi } from "@doist/todoist-api-typescript";
2
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
- import { registerTool } from "./mcp-helpers.js";
4
- import { projectsAddOne } from "./tools/projects-add-one.js";
5
- import { projectsDeleteOne } from "./tools/projects-delete-one.js";
6
- import { projectsList } from "./tools/projects-list.js";
7
- import { projectsSearch } from "./tools/projects-search.js";
8
- import { projectsUpdateOne } from "./tools/projects-update-one.js";
9
- import { sectionsAddOne } from "./tools/sections-add-one.js";
10
- import { sectionsDeleteOne } from "./tools/sections-delete-one.js";
11
- import { sectionsSearch } from "./tools/sections-search.js";
12
- import { sectionsUpdateOne } from "./tools/sections-update-one.js";
13
- import { subtasksListForParentTask } from "./tools/subtasks-list-for-parent-task.js";
14
- import { accountOverview } from "./tools/account-overview.js";
15
- import { projectOverview } from "./tools/project-overview.js";
16
- import { tasksAddMultiple } from "./tools/tasks-add-multiple.js";
17
- import { tasksListByDate } from "./tools/tasks-by-date-range.js";
18
- import { tasksListForProject } from "./tools/tasks-by-project.js";
19
- import { tasksCompleteMultiple } from "./tools/tasks-complete-multiple.js";
20
- import { tasksDeleteOne } from "./tools/tasks-delete-one.js";
21
- import { tasksListForSection } from "./tools/tasks-list-for-section.js";
22
- import { tasksListOverdue } from "./tools/tasks-list-overdue.js";
23
- import { tasksOrganizeMultiple } from "./tools/tasks-organize-multiple.js";
24
- import { tasksSearch } from "./tools/tasks-search.js";
25
- import { tasksUpdateOne } from "./tools/tasks-update-one.js";
26
- const instructions = `
27
- Tools to help you manage your todoist tasks.
28
- `;
29
- /**
30
- * Create the MCP server.
31
- * @param todoistApiKey - The API key for the todoist account.
32
- * @returns the MCP server.
33
- */
34
- function getMcpServer({ todoistApiKey }) {
35
- const server = new McpServer({ name: "todoist-mcp-server", version: "0.1.0" }, {
36
- capabilities: {
37
- tools: { listChanged: true },
38
- },
39
- instructions,
40
- });
41
- const todoist = new TodoistApi(todoistApiKey);
42
- registerTool(tasksListByDate, server, todoist);
43
- registerTool(tasksListOverdue, server, todoist);
44
- registerTool(tasksListForProject, server, todoist);
45
- registerTool(tasksSearch, server, todoist);
46
- registerTool(projectsList, server, todoist);
47
- registerTool(tasksAddMultiple, server, todoist);
48
- registerTool(tasksUpdateOne, server, todoist);
49
- registerTool(tasksDeleteOne, server, todoist);
50
- registerTool(tasksCompleteMultiple, server, todoist);
51
- registerTool(projectsAddOne, server, todoist);
52
- registerTool(projectsUpdateOne, server, todoist);
53
- registerTool(sectionsAddOne, server, todoist);
54
- registerTool(sectionsUpdateOne, server, todoist);
55
- registerTool(tasksOrganizeMultiple, server, todoist);
56
- registerTool(subtasksListForParentTask, server, todoist);
57
- registerTool(tasksListForSection, server, todoist);
58
- registerTool(projectsDeleteOne, server, todoist);
59
- registerTool(projectsSearch, server, todoist);
60
- registerTool(sectionsDeleteOne, server, todoist);
61
- registerTool(sectionsSearch, server, todoist);
62
- registerTool(accountOverview, server, todoist);
63
- registerTool(projectOverview, server, todoist);
64
- return server;
65
- }
66
- export { getMcpServer };
@@ -1 +0,0 @@
1
- {"version":3,"file":"todoist-tool.d.ts","sourceRoot":"","sources":["../../src/todoist-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,IAAI;IAChD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,OAAO,EAAE,CACR,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAClC,MAAM,EAAE,UAAU,KACd,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"account-overview.d.ts","sourceRoot":"","sources":["../../../src/tools/account-overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,UAAU,EACV,MAAM,+BAA+B,CAAC;AA8EvC,QAAA,MAAM,eAAe;;;;;CA6CqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,94 +0,0 @@
1
- const ArgsSchema = {};
2
- function buildProjectTree(projects) {
3
- // Sort projects by childOrder, then build a tree
4
- const byId = {};
5
- for (const p of projects) {
6
- byId[p.id] = {
7
- ...p,
8
- children: [],
9
- childOrder: p.childOrder ?? 0,
10
- };
11
- }
12
- const roots = [];
13
- for (const p of projects) {
14
- const current = byId[p.id];
15
- if (!current)
16
- continue;
17
- if (p.parentId) {
18
- const parent = byId[p.parentId];
19
- if (parent) {
20
- parent.children.push(current);
21
- }
22
- else {
23
- roots.push(current);
24
- }
25
- }
26
- else {
27
- roots.push(current);
28
- }
29
- }
30
- function sortTree(nodes) {
31
- nodes.sort((a, b) => a.childOrder - b.childOrder);
32
- for (const n of nodes) {
33
- sortTree(n.children);
34
- }
35
- }
36
- sortTree(roots);
37
- return roots;
38
- }
39
- async function getSectionsByProject(client, projectIds) {
40
- const result = {};
41
- await Promise.all(projectIds.map(async (projectId) => {
42
- const { results } = await client.getSections({ projectId });
43
- result[projectId] = results;
44
- }));
45
- return result;
46
- }
47
- function renderProjectMarkdown(project, sectionsByProject, indent = "") {
48
- const lines = [];
49
- lines.push(`${indent}- Project: ${project.name} (id=${project.id})`);
50
- const sections = sectionsByProject[project.id] || [];
51
- for (const section of sections) {
52
- lines.push(`${indent} - Section: ${section.name} (id=${section.id})`);
53
- }
54
- for (const child of project.children) {
55
- lines.push(...renderProjectMarkdown(child, sectionsByProject, `${indent} `));
56
- }
57
- return lines;
58
- }
59
- const accountOverview = {
60
- name: "account-overview",
61
- description: "Get a Markdown overview of all projects (with hierarchy and sections) and the inbox project. Useful in almost any context before engaging with Todoist further.",
62
- parameters: ArgsSchema,
63
- async execute(_args, client) {
64
- const { results: projects } = await client.getProjects({});
65
- const inbox = projects.find((p) => p.isInboxProject === true);
66
- const nonInbox = projects.filter((p) => p.isInboxProject !== true);
67
- const tree = buildProjectTree(nonInbox);
68
- const allProjectIds = projects.map((p) => p.id);
69
- const sectionsByProject = await getSectionsByProject(client, allProjectIds);
70
- const lines = ["# Personal Projects", ""];
71
- if (inbox) {
72
- lines.push(`- Inbox Project: ${inbox.name} (id=${inbox.id})`);
73
- for (const section of sectionsByProject[inbox.id] || []) {
74
- lines.push(` - Section: ${section.name} (id=${section.id})`);
75
- }
76
- }
77
- if (tree.length) {
78
- for (const project of tree) {
79
- lines.push(...renderProjectMarkdown(project, sectionsByProject));
80
- }
81
- }
82
- else {
83
- lines.push("_No projects found._");
84
- }
85
- lines.push("");
86
- // Add explanation about nesting if there are nested projects
87
- const hasNested = tree.some((p) => p.children.length > 0);
88
- if (hasNested) {
89
- lines.push("_Note: Indentation indicates that a project is a sub-project of the one above it. This allows for organizing projects hierarchically, with parent projects containing related sub-projects._", "");
90
- }
91
- return lines.join("\n");
92
- },
93
- };
94
- export { accountOverview };
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-overview.d.ts","sourceRoot":"","sources":["../../../src/tools/project-overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,UAAU,EACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8ExB,QAAA,MAAM,eAAe;;;;;;;;;CA4CqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,107 +0,0 @@
1
- import { z } from "zod";
2
- import { mapTask } from "./shared.js";
3
- const ArgsSchema = {
4
- projectId: z
5
- .string()
6
- .min(1)
7
- .describe("The ID of the project to get an overview for."),
8
- };
9
- function buildTaskTree(tasks) {
10
- const byId = {};
11
- for (const task of tasks) {
12
- byId[task.id] = { ...task, children: [] };
13
- }
14
- const roots = [];
15
- for (const task of tasks) {
16
- const node = byId[task.id];
17
- if (!node)
18
- continue;
19
- if (!task.parentId) {
20
- roots.push(node);
21
- continue;
22
- }
23
- const parent = byId[task.parentId];
24
- if (parent) {
25
- parent.children.push(node);
26
- }
27
- else {
28
- roots.push(node);
29
- }
30
- }
31
- return roots;
32
- }
33
- function renderTaskTreeMarkdown(tasks, indent = "") {
34
- const lines = [];
35
- for (const task of tasks) {
36
- const idPart = `id=${task.id}`;
37
- const duePart = task.dueDate ? `; due=${task.dueDate}` : "";
38
- const contentPart = `; content=${task.content}`;
39
- lines.push(`${indent}- ${idPart}${duePart}${contentPart}`);
40
- if (task.children.length > 0) {
41
- lines.push(...renderTaskTreeMarkdown(task.children, `${indent} `));
42
- }
43
- }
44
- return lines;
45
- }
46
- async function getAllTasksForProject(client, projectId) {
47
- let allTasks = [];
48
- let cursor = undefined;
49
- do {
50
- const { results, nextCursor } = await client.getTasks({
51
- projectId,
52
- limit: 50,
53
- cursor: cursor ?? undefined,
54
- });
55
- allTasks = allTasks.concat(results.map(mapTask));
56
- cursor = nextCursor ?? undefined;
57
- } while (cursor);
58
- return allTasks;
59
- }
60
- async function getProjectSections(client, projectId) {
61
- const { results } = await client.getSections({ projectId });
62
- return results;
63
- }
64
- const projectOverview = {
65
- name: "project-overview",
66
- description: "Get a Markdown overview of a single project, including its sections and all tasks. Tasks are grouped by section, with tasks not in any section listed first. Each task is listed as '- id=TASKID; due=YYYY-MM-DD; content=TASK CONTENT' (omit due if not present). Subtasks are nested as indented list items.",
67
- parameters: ArgsSchema,
68
- async execute(args, client) {
69
- const { projectId } = args;
70
- const project = await client.getProject(projectId);
71
- const sections = await getProjectSections(client, projectId);
72
- const allTasks = await getAllTasksForProject(client, projectId);
73
- // Group tasks by sectionId
74
- const tasksBySection = {};
75
- for (const section of sections) {
76
- tasksBySection[section.id] = [];
77
- }
78
- const tasksWithoutSection = [];
79
- for (const task of allTasks) {
80
- if (task.sectionId && tasksBySection[task.sectionId]) {
81
- // biome-ignore lint/style/noNonNullAssertion: the "if" above ensures that it is defined
82
- tasksBySection[task.sectionId].push(task);
83
- }
84
- else {
85
- tasksWithoutSection.push(task);
86
- }
87
- }
88
- const lines = [`# ${project.name}`];
89
- if (tasksWithoutSection.length > 0) {
90
- lines.push("");
91
- const tree = buildTaskTree(tasksWithoutSection);
92
- lines.push(...renderTaskTreeMarkdown(tree));
93
- }
94
- for (const section of sections) {
95
- lines.push("");
96
- lines.push(`## ${section.name}`);
97
- const sectionTasks = tasksBySection[section.id];
98
- if (!sectionTasks?.length) {
99
- continue;
100
- }
101
- const tree = buildTaskTree(sectionTasks);
102
- lines.push(...renderTaskTreeMarkdown(tree));
103
- }
104
- return lines.join("\n");
105
- },
106
- };
107
- export { projectOverview };
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects-add-one.d.ts","sourceRoot":"","sources":["../../../src/tools/projects-add-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAQsB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- import { z } from "zod";
2
- import { mapProject } from "./shared.js";
3
- const ArgsSchema = {
4
- name: z.string().min(1).describe("The name of the project to add."),
5
- };
6
- const projectsAddOne = {
7
- name: "projects-add-one",
8
- description: "Add a new project.",
9
- parameters: ArgsSchema,
10
- async execute(args, client) {
11
- const project = await client.addProject({ name: args.name });
12
- return mapProject(project);
13
- },
14
- };
15
- export { projectsAddOne };
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects-delete-one.d.ts","sourceRoot":"","sources":["../../../src/tools/projects-delete-one.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;CAQmB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- const ArgsSchema = {
3
- id: z.string().min(1).describe("The ID of the project to delete."),
4
- };
5
- const projectsDeleteOne = {
6
- name: "projects-delete-one",
7
- description: "Delete a project by its ID.",
8
- parameters: ArgsSchema,
9
- async execute(args, client) {
10
- await client.deleteProject(args.id);
11
- return { success: true };
12
- },
13
- };
14
- export { projectsDeleteOne };
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects-list.d.ts","sourceRoot":"","sources":["../../../src/tools/projects-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;CAcwB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,CAAC"}