@doist/todoist-ai 8.12.1 → 8.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -89,15 +89,22 @@ Then enable the server in Cursor settings if prompted.
89
89
 
90
90
  #### Claude Code (CLI)
91
91
 
92
- Firstly configure Claude so it has a new MCP available using this command:
92
+ The fastest setup is the official Todoist plugin, which wires up the MCP server for you:
93
93
 
94
94
  ```bash
95
- claude mcp add --transport http todoist https://ai.todoist.net/mcp
95
+ /plugin marketplace add doist/todoist-ai
96
+ /plugin install todoist@doist
96
97
  ```
97
98
 
98
- Then launch `claude`, execute `/mcp`, then select the `todoist` MCP server.
99
+ OAuth runs in your browser the first time you use a Todoist tool. See [Anthropic's plugin docs](https://code.claude.com/docs/en/plugins-reference) for more.
100
+
101
+ If you'd rather configure the MCP server manually, run:
102
+
103
+ ```bash
104
+ claude mcp add --transport http todoist https://ai.todoist.net/mcp
105
+ ```
99
106
 
100
- This will take you through a wizard to authenticate using your browser with Todoist. Once complete you will be able to use todoist in `claude`.
107
+ Then launch `claude`, execute `/mcp`, and select the `todoist` MCP server to authenticate.
101
108
 
102
109
  #### Visual Studio Code
103
110
 
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { f as s, s as a, l as e, m as t, a as o, u as d, r, d as i, b as n, c, e as l, h as m, i as p, j as f, k, n as T, o as u, p as g, q as j, t as v, v as h, w as P, x as b, y as A, z as S, A as y, B as C, C as F, D as x, E, F as L, G as O, H as w, I as H, J as I, K as M, L as q, M as z, N as B } from "./mcp-server-CGkBXiYS.js";
2
- import { O as J, g as K } from "./mcp-server-CGkBXiYS.js";
3
- import { r as U, v as V } from "./require-valid-todoist-token-BigWf49_.js";
1
+ import { f as s, s as a, l as e, m as t, a as o, u as d, r, d as i, b as n, c, e as l, h as m, i as p, j as f, k, n as T, o as u, p as g, q as j, t as v, v as h, w as P, x as b, y as A, z as S, A as y, B as C, C as F, D as x, E, F as L, G as O, H as w, I as H, J as I, K as M, L as q, M as z, N as B } from "./mcp-server-B-6X4t3u.js";
2
+ import { O as J, g as K } from "./mcp-server-B-6X4t3u.js";
3
+ import { r as U, v as V } from "./require-valid-todoist-token-CUTCSVRV.js";
4
4
  const N = {
5
5
  // Task management tools
6
6
  addTasks: B,
package/dist/main-http.js CHANGED
@@ -2,8 +2,8 @@
2
2
  import { StreamableHTTPServerTransport as i } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
3
3
  import p from "dotenv";
4
4
  import c from "express";
5
- import { g as l } from "./mcp-server-CGkBXiYS.js";
6
- import { r as d } from "./require-valid-todoist-token-BigWf49_.js";
5
+ import { g as l } from "./mcp-server-B-6X4t3u.js";
6
+ import { r as d } from "./require-valid-todoist-token-CUTCSVRV.js";
7
7
  p.config({ quiet: !0 });
8
8
  const s = Number.parseInt(process.env.PORT || "3000", 10);
9
9
  function m() {
package/dist/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { StdioServerTransport as s } from "@modelcontextprotocol/sdk/server/stdio.js";
3
3
  import c from "dotenv";
4
- import { g as i } from "./mcp-server-CGkBXiYS.js";
4
+ import { g as i } from "./mcp-server-B-6X4t3u.js";
5
5
  function p() {
6
6
  const e = process.env.TODOIST_BASE_URL, r = process.env.TODOIST_API_KEY;
7
7
  if (!r)
@@ -297,7 +297,7 @@ function Ss(e) {
297
297
  const t = Is(e);
298
298
  return t ? vs(t) : js(e);
299
299
  }
300
- const Cs = "8.12.1", $s = {
300
+ const Cs = "8.12.3", $s = {
301
301
  version: Cs
302
302
  }, Ds = "todoist-ai", He = $s.version, jt = new os(), nt = ns(import.meta.url);
303
303
  let fe;
@@ -325,9 +325,9 @@ function Us({
325
325
  "User-Agent": Es(),
326
326
  "doist-platform": t,
327
327
  "doist-version": He,
328
- "X-TD-Request-Id": Ee(),
329
- "X-TD-Session-Id": r,
330
- "X-TD-MCP-Tool": o ?? "unknown"
328
+ "request-id": Ee(),
329
+ "session-id": r,
330
+ "mcp-tool": o ?? "unknown"
331
331
  };
332
332
  }
333
333
  function Ps(e, t) {
@@ -397,7 +397,8 @@ function Ms(e) {
397
397
  statusText: e.statusText,
398
398
  headers: Object.fromEntries(e.headers.entries()),
399
399
  text: () => e.text(),
400
- json: () => e.json()
400
+ json: () => e.json(),
401
+ arrayBuffer: () => e.arrayBuffer()
401
402
  };
402
403
  }
403
404
  function Fs(e = globalThis.fetch, t = {}) {
@@ -1,4 +1,4 @@
1
- import { P as A, Q as v, R as T } from "./mcp-server-CGkBXiYS.js";
1
+ import { P as A, Q as v, R as T } from "./mcp-server-B-6X4t3u.js";
2
2
  const y = /* @__PURE__ */ new Set([401, 403]);
3
3
  function C(e) {
4
4
  const t = T(e);
@@ -1 +1 @@
1
- {"version":3,"file":"usage-tracking.d.ts","sourceRoot":"","sources":["../src/usage-tracking.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAA4B,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI3F,QAAA,MAAM,kBAAkB,QAAsB,CAAA;AAI9C,KAAK,mBAAmB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;CAC3D,CAAA;AAcD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE5E;AAED,wBAAgB,yBAAyB,CAAC,EACtC,KAAK,EACL,QAAgB,EAChB,SAAwB,GAC3B,GAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAW9B;AAkGD,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAYpE;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE/F;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAqBD,wBAAgB,kBAAkB,CAC9B,SAAS,GAAE,OAAO,KAAwB,EAC1C,QAAQ,GAAE,mBAAwB,GACnC,WAAW,CA+Bb;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,EACI,OAAO,EACP,QAAQ,GACX,GAAE;IACC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC5B,GACP,UAAU,CAKZ;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"usage-tracking.d.ts","sourceRoot":"","sources":["../src/usage-tracking.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAA4B,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI3F,QAAA,MAAM,kBAAkB,QAAsB,CAAA;AAI9C,KAAK,mBAAmB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;CAC3D,CAAA;AAcD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE5E;AAED,wBAAgB,yBAAyB,CAAC,EACtC,KAAK,EACL,QAAgB,EAChB,SAAwB,GAC3B,GAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAW9B;AAkGD,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAYpE;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE/F;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAsBD,wBAAgB,kBAAkB,CAC9B,SAAS,GAAE,OAAO,KAAwB,EAC1C,QAAQ,GAAE,mBAAwB,GACnC,WAAW,CA+Bb;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,EACI,OAAO,EACP,QAAQ,GACX,GAAE;IACC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC5B,GACP,UAAU,CAKZ;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-ai",
3
- "version": "8.12.1",
3
+ "version": "8.12.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -59,7 +59,7 @@
59
59
  "prepare": "husky"
60
60
  },
61
61
  "dependencies": {
62
- "@doist/todoist-sdk": "10.1.0",
62
+ "@doist/todoist-sdk": "10.1.5",
63
63
  "@modelcontextprotocol/ext-apps": "1.2.2",
64
64
  "date-fns": "4.1.0",
65
65
  "dompurify": "3.3.3",
@@ -73,6 +73,7 @@
73
73
  "devDependencies": {
74
74
  "@modelcontextprotocol/inspector": "0.21.2",
75
75
  "@semantic-release/changelog": "6.0.3",
76
+ "@semantic-release/exec": "7.1.0",
76
77
  "@semantic-release/git": "10.0.1",
77
78
  "@types/dompurify": "3.2.0",
78
79
  "@types/express": "5.0.6",
@@ -87,7 +88,7 @@
87
88
  "lint-staged": "16.4.0",
88
89
  "morgan": "1.10.1",
89
90
  "nodemon": "3.1.14",
90
- "oxfmt": "0.47.0",
91
+ "oxfmt": "0.48.0",
91
92
  "oxlint": "1.58.0",
92
93
  "react": "19.2.5",
93
94
  "react-dom": "19.2.5",
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync, writeFileSync } from 'node:fs'
3
+
4
+ const [version, manifestPath = '.claude-plugin/plugin.json'] = process.argv.slice(2)
5
+
6
+ if (!version) {
7
+ console.error('Usage: bump-plugin-version.mjs <version> [manifestPath]')
8
+ process.exit(1)
9
+ }
10
+
11
+ const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'))
12
+ manifest.version = version
13
+ writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 4)}\n`)
14
+ console.log(`Updated ${manifestPath} to ${version}`)