@doist/todoist-ai 0.1.3 → 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.
- package/dist/index.d.ts.map +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/mcp-helpers.d.ts.map +1 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/todoist-tool.d.ts.map +1 -0
- package/dist/tools/account-overview.d.ts.map +1 -0
- package/dist/tools/project-overview.d.ts.map +1 -0
- package/dist/tools/projects-add-one.d.ts.map +1 -0
- package/dist/tools/projects-delete-one.d.ts.map +1 -0
- package/dist/tools/projects-list.d.ts.map +1 -0
- package/dist/tools/projects-search.d.ts.map +1 -0
- package/dist/tools/projects-update-one.d.ts.map +1 -0
- package/dist/tools/sections-add-one.d.ts.map +1 -0
- package/dist/tools/sections-delete-one.d.ts.map +1 -0
- package/dist/tools/sections-search.d.ts.map +1 -0
- package/dist/tools/sections-update-one.d.ts.map +1 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/subtasks-list-for-parent-task.d.ts.map +1 -0
- package/dist/tools/tasks-add-multiple.d.ts.map +1 -0
- package/dist/tools/tasks-by-date-range.d.ts.map +1 -0
- package/dist/tools/tasks-by-project.d.ts.map +1 -0
- package/dist/tools/tasks-complete-multiple.d.ts.map +1 -0
- package/dist/tools/tasks-delete-one.d.ts.map +1 -0
- package/dist/tools/tasks-list-for-section.d.ts.map +1 -0
- package/dist/tools/tasks-list-overdue.d.ts.map +1 -0
- package/dist/tools/tasks-organize-multiple.d.ts.map +1 -0
- package/dist/tools/tasks-search.d.ts.map +1 -0
- package/dist/tools/tasks-update-one.d.ts.map +1 -0
- package/package.json +7 -25
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -49
- package/dist/esm/main.d.ts.map +0 -1
- package/dist/esm/main.js +0 -23
- package/dist/esm/mcp-helpers.d.ts.map +0 -1
- package/dist/esm/mcp-helpers.js +0 -52
- package/dist/esm/mcp-server.d.ts.map +0 -1
- package/dist/esm/mcp-server.js +0 -66
- package/dist/esm/todoist-tool.d.ts.map +0 -1
- package/dist/esm/todoist-tool.js +0 -1
- package/dist/esm/tools/account-overview.d.ts.map +0 -1
- package/dist/esm/tools/account-overview.js +0 -94
- package/dist/esm/tools/project-overview.d.ts.map +0 -1
- package/dist/esm/tools/project-overview.js +0 -107
- package/dist/esm/tools/projects-add-one.d.ts.map +0 -1
- package/dist/esm/tools/projects-add-one.js +0 -15
- package/dist/esm/tools/projects-delete-one.d.ts.map +0 -1
- package/dist/esm/tools/projects-delete-one.js +0 -14
- package/dist/esm/tools/projects-list.d.ts.map +0 -1
- package/dist/esm/tools/projects-list.js +0 -30
- package/dist/esm/tools/projects-search.d.ts.map +0 -1
- package/dist/esm/tools/projects-search.js +0 -39
- package/dist/esm/tools/projects-update-one.d.ts.map +0 -1
- package/dist/esm/tools/projects-update-one.js +0 -16
- package/dist/esm/tools/sections-add-one.d.ts.map +0 -1
- package/dist/esm/tools/sections-add-one.js +0 -21
- package/dist/esm/tools/sections-delete-one.d.ts.map +0 -1
- package/dist/esm/tools/sections-delete-one.js +0 -14
- package/dist/esm/tools/sections-search.d.ts.map +0 -1
- package/dist/esm/tools/sections-search.js +0 -30
- package/dist/esm/tools/sections-update-one.d.ts.map +0 -1
- package/dist/esm/tools/sections-update-one.js +0 -16
- package/dist/esm/tools/shared.d.ts.map +0 -1
- package/dist/esm/tools/shared.js +0 -71
- package/dist/esm/tools/subtasks-list-for-parent-task.d.ts.map +0 -1
- package/dist/esm/tools/subtasks-list-for-parent-task.js +0 -37
- package/dist/esm/tools/tasks-add-multiple.d.ts.map +0 -1
- package/dist/esm/tools/tasks-add-multiple.js +0 -47
- package/dist/esm/tools/tasks-by-date-range.d.ts.map +0 -1
- package/dist/esm/tools/tasks-by-date-range.js +0 -47
- package/dist/esm/tools/tasks-by-project.d.ts.map +0 -1
- package/dist/esm/tools/tasks-by-project.js +0 -37
- package/dist/esm/tools/tasks-complete-multiple.d.ts.map +0 -1
- package/dist/esm/tools/tasks-complete-multiple.js +0 -26
- package/dist/esm/tools/tasks-delete-one.d.ts.map +0 -1
- package/dist/esm/tools/tasks-delete-one.js +0 -14
- package/dist/esm/tools/tasks-list-for-section.d.ts.map +0 -1
- package/dist/esm/tools/tasks-list-for-section.js +0 -37
- package/dist/esm/tools/tasks-list-overdue.d.ts.map +0 -1
- package/dist/esm/tools/tasks-list-overdue.js +0 -29
- package/dist/esm/tools/tasks-organize-multiple.d.ts.map +0 -1
- package/dist/esm/tools/tasks-organize-multiple.js +0 -40
- package/dist/esm/tools/tasks-search.d.ts.map +0 -1
- package/dist/esm/tools/tasks-search.js +0 -30
- package/dist/esm/tools/tasks-update-one.d.ts.map +0 -1
- package/dist/esm/tools/tasks-update-one.js +0 -42
- package/dist/types/index.d.ts +0 -476
- package/dist/types/main.d.ts +0 -1
- package/dist/types/mcp-helpers.d.ts +0 -12
- package/dist/types/mcp-server.d.ts +0 -10
- package/dist/types/todoist-tool.d.ts +0 -34
- package/dist/types/tools/account-overview.d.ts +0 -8
- package/dist/types/tools/project-overview.d.ts +0 -13
- package/dist/types/tools/projects-add-one.d.ts +0 -21
- package/dist/types/tools/projects-delete-one.d.ts +0 -14
- package/dist/types/tools/projects-list.d.ts +0 -17
- package/dist/types/tools/projects-search.d.ts +0 -28
- package/dist/types/tools/projects-update-one.d.ts +0 -14
- package/dist/types/tools/sections-add-one.d.ts +0 -14
- package/dist/types/tools/sections-delete-one.d.ts +0 -14
- package/dist/types/tools/sections-search.d.ts +0 -17
- package/dist/types/tools/sections-update-one.d.ts +0 -14
- package/dist/types/tools/shared.d.ts +0 -54
- package/dist/types/tools/subtasks-list-for-parent-task.d.ts +0 -30
- package/dist/types/tools/tasks-add-multiple.d.ts +0 -49
- package/dist/types/tools/tasks-by-date-range.d.ts +0 -32
- package/dist/types/tools/tasks-by-project.d.ts +0 -30
- package/dist/types/tools/tasks-complete-multiple.d.ts +0 -15
- package/dist/types/tools/tasks-delete-one.d.ts +0 -14
- package/dist/types/tools/tasks-list-for-section.d.ts +0 -30
- package/dist/types/tools/tasks-list-overdue.d.ts +0 -28
- package/dist/types/tools/tasks-organize-multiple.d.ts +0 -36
- package/dist/types/tools/tasks-search.d.ts +0 -30
- package/dist/types/tools/tasks-update-one.d.ts +0 -26
- /package/dist/{esm/index.d.ts → index.d.ts} +0 -0
- /package/dist/{cjs/index.js → index.js} +0 -0
- /package/dist/{esm/main.d.ts → main.d.ts} +0 -0
- /package/dist/{cjs/main.js → main.js} +0 -0
- /package/dist/{esm/mcp-helpers.d.ts → mcp-helpers.d.ts} +0 -0
- /package/dist/{cjs/mcp-helpers.js → mcp-helpers.js} +0 -0
- /package/dist/{esm/mcp-server.d.ts → mcp-server.d.ts} +0 -0
- /package/dist/{cjs/mcp-server.js → mcp-server.js} +0 -0
- /package/dist/{esm/todoist-tool.d.ts → todoist-tool.d.ts} +0 -0
- /package/dist/{cjs/todoist-tool.js → todoist-tool.js} +0 -0
- /package/dist/{esm/tools → tools}/account-overview.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/account-overview.js +0 -0
- /package/dist/{esm/tools → tools}/project-overview.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/project-overview.js +0 -0
- /package/dist/{esm/tools → tools}/projects-add-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/projects-add-one.js +0 -0
- /package/dist/{esm/tools → tools}/projects-delete-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/projects-delete-one.js +0 -0
- /package/dist/{esm/tools → tools}/projects-list.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/projects-list.js +0 -0
- /package/dist/{esm/tools → tools}/projects-search.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/projects-search.js +0 -0
- /package/dist/{esm/tools → tools}/projects-update-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/projects-update-one.js +0 -0
- /package/dist/{esm/tools → tools}/sections-add-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/sections-add-one.js +0 -0
- /package/dist/{esm/tools → tools}/sections-delete-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/sections-delete-one.js +0 -0
- /package/dist/{esm/tools → tools}/sections-search.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/sections-search.js +0 -0
- /package/dist/{esm/tools → tools}/sections-update-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/sections-update-one.js +0 -0
- /package/dist/{esm/tools → tools}/shared.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/shared.js +0 -0
- /package/dist/{esm/tools → tools}/subtasks-list-for-parent-task.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/subtasks-list-for-parent-task.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-add-multiple.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-add-multiple.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-by-date-range.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-by-date-range.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-by-project.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-by-project.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-complete-multiple.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-complete-multiple.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-delete-one.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-delete-one.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-list-for-section.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-list-for-section.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-list-overdue.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-list-overdue.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-organize-multiple.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-organize-multiple.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-search.d.ts +0 -0
- /package/dist/{cjs/tools → tools}/tasks-search.js +0 -0
- /package/dist/{esm/tools → tools}/tasks-update-one.d.ts +0 -0
- /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,29 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doist/todoist-ai",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
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
|
|
16
|
-
"dist/cjs",
|
|
17
|
-
"dist/types",
|
|
7
|
+
"dist",
|
|
18
8
|
"package.json",
|
|
19
9
|
"LICENSE.txt",
|
|
20
10
|
"README.md"
|
|
21
11
|
],
|
|
22
|
-
"typesVersions": {
|
|
23
|
-
"*": {
|
|
24
|
-
"*": ["dist/types/*"]
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
12
|
"license": "MIT",
|
|
28
13
|
"description": "A collection of tools for Todoist using AI",
|
|
29
14
|
"repository": {
|
|
@@ -33,13 +18,10 @@
|
|
|
33
18
|
"keywords": ["todoist", "ai", "tools"],
|
|
34
19
|
"scripts": {
|
|
35
20
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
36
|
-
"build
|
|
37
|
-
"
|
|
38
|
-
"build:types": "tsc --project tsconfig.types.json",
|
|
39
|
-
"build": "rimraf dist && npm run build:esm && npm run build:cjs && npm run build:types",
|
|
40
|
-
"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'\"",
|
|
41
23
|
"setup": "cp .env.example .env && npm install && npm run build",
|
|
42
|
-
"type-check": "tsc --noEmit",
|
|
24
|
+
"type-check": "npx tsc --noEmit",
|
|
43
25
|
"biome:sort-imports": "biome check --formatter-enabled=false --linter-enabled=false --organize-imports-enabled=true --write .",
|
|
44
26
|
"lint:check": "biome lint",
|
|
45
27
|
"lint:write": "biome lint --write",
|
package/dist/esm/index.d.ts.map
DELETED
|
@@ -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, };
|
package/dist/esm/main.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/esm/mcp-helpers.js
DELETED
|
@@ -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"}
|
package/dist/esm/mcp-server.js
DELETED
|
@@ -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"}
|
package/dist/esm/todoist-tool.js
DELETED
|
@@ -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"}
|