@doist/todoist-mcp 13.10.1 → 13.11.0

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
@@ -106,6 +106,18 @@ claude mcp add --transport http todoist https://ai.todoist.net/mcp
106
106
 
107
107
  Then launch `claude`, execute `/mcp`, and select the `todoist` MCP server to authenticate.
108
108
 
109
+ #### Gemini CLI
110
+
111
+ Install the official Todoist extension with [Gemini CLI](https://geminicli.com/docs/get-started/installation/) 0.67.0 or later:
112
+
113
+ ```bash
114
+ gemini extensions install https://github.com/Doist/todoist-mcp
115
+ ```
116
+
117
+ Start or restart Gemini CLI, then run `/mcp auth todoist` and sign in with your Todoist account. Todoist hosts the server; no API key or local server is needed.
118
+
119
+ The assistant can read and change your Todoist tasks and projects. Revoke access at any time in Todoist under Settings → Integrations.
120
+
109
121
  #### Visual Studio Code
110
122
 
111
123
  1. Open Command Palette → MCP: Add Server
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as s } from "./mcp-server-Dk7rBod1.js";
2
- import { F as r, a as d, b as i, c as n, d as c, e as l, f as m, h as p, i as f, j as T, k as j, l as u, m as g, n as k, o as v, p as P, q as S, r as h, s as b, u as y, v as A, w as C, x as R, y as x, z as F, g as M, A as O, B as E, C as L, D as U, E as w, G as H, H as I, I as W, J as q, K as z, L as B, M as D, N, O as V, P as _, Q as G, R as J, S as K, T as Q, U as X, V as Y, W as Z, X as $, Y as ss, Z as as, _ as es } from "./mcp-server-Dk7rBod1.js";
3
- import { r as os, v as rs } from "./require-valid-todoist-token-C43pfSGR.js";
1
+ import { t as s } from "./mcp-server-zsdPZLt2.js";
2
+ import { F as r, a as d, b as i, c as n, d as c, e as l, f as m, h as p, i as f, j as T, k as j, l as u, m as g, n as k, o as v, p as P, q as S, r as h, s as b, u as y, v as A, w as C, x as R, y as x, z as F, g as M, A as O, B as E, C as L, D as U, E as w, G as H, H as I, I as W, J as q, K as z, L as B, M as D, N, O as V, P as _, Q as G, R as J, S as K, T as Q, U as X, V as Y, W as Z, X as $, Y as ss, Z as as, _ as es } from "./mcp-server-zsdPZLt2.js";
3
+ import { r as os, v as rs } from "./require-valid-todoist-token-ClKraU9q.js";
4
4
  const e = s;
5
5
  export {
6
6
  r as FEATURE_NAMES,
package/dist/main-http.js CHANGED
@@ -4,8 +4,8 @@ import S from "dotenv";
4
4
  import { toNodeHandler as w } from "@modelcontextprotocol/node";
5
5
  import { createMcpHandler as v } from "@modelcontextprotocol/server";
6
6
  import h from "express";
7
- import { g as I } from "./mcp-server-Dk7rBod1.js";
8
- import { r as g } from "./require-valid-todoist-token-C43pfSGR.js";
7
+ import { g as I } from "./mcp-server-zsdPZLt2.js";
8
+ import { r as g } from "./require-valid-todoist-token-ClKraU9q.js";
9
9
  function p(e) {
10
10
  return e.startsWith("[") && e.endsWith("]") ? e.slice(1, -1) : e;
11
11
  }
package/dist/main.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { serveStdio as t } from "@modelcontextprotocol/server/stdio";
3
3
  import s from "dotenv";
4
- import { g as n } from "./mcp-server-Dk7rBod1.js";
4
+ import { g as n } from "./mcp-server-zsdPZLt2.js";
5
5
  function i() {
6
6
  const o = process.env.TODOIST_BASE_URL, r = process.env.TODOIST_API_KEY;
7
7
  if (!r)
@@ -434,7 +434,7 @@ function lr(e) {
434
434
  const t = ut(e);
435
435
  return t ? cr(t) : As(e);
436
436
  }
437
- const ur = "13.10.1", pr = {
437
+ const ur = "13.11.0", pr = {
438
438
  version: ur
439
439
  };
440
440
  function Pt(e, { queueTimeoutMs: t = Ve.QUEUE_WAIT_MS } = {}) {
@@ -1,4 +1,4 @@
1
- import { $ as A, a0 as v, a1 as T } from "./mcp-server-Dk7rBod1.js";
1
+ import { $ as A, a0 as v, a1 as T } from "./mcp-server-zsdPZLt2.js";
2
2
  const y = /* @__PURE__ */ new Set([401, 403]);
3
3
  function C(e) {
4
4
  const t = T(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-mcp",
3
- "version": "13.10.1",
3
+ "version": "13.11.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -41,6 +41,8 @@
41
41
  "test": "vitest run",
42
42
  "test:watch": "vitest",
43
43
  "test:coverage": "vitest run --coverage",
44
+ "verify": "node .agents/scripts/verify.ts",
45
+ "review:worktree": "node .agents/scripts/review-worktree.ts",
44
46
  "build": "npm run build:lib && npm run build:apps",
45
47
  "build:lib": "vite build",
46
48
  "build:apps": "vite build --config src/mcp-apps/vite.config.ts",
@@ -56,13 +58,13 @@
56
58
  "tool:list": "tsx scripts/run-tool.ts --list",
57
59
  "eval": "tsx scripts/eval-instructions.ts",
58
60
  "test:executable": "npm run build && node scripts/test-executable.cjs",
59
- "type-check": "npx tsc --noEmit",
60
- "format:check": "oxlint src scripts && oxfmt --check",
61
- "format:fix": "oxlint src scripts --fix && oxfmt",
61
+ "type-check": "npx tsc --noEmit && npx tsc --noEmit -p .agents/scripts",
62
+ "format:check": "oxlint src scripts .agents/scripts && oxfmt --check",
63
+ "format:fix": "oxlint src scripts .agents/scripts --fix && oxfmt",
62
64
  "lint:schemas": "npm run build && npx tsx scripts/validate-schemas.ts",
63
- "check": "oxlint src scripts && oxfmt --check && npm run lint:schemas",
65
+ "check": "oxlint src scripts .agents/scripts && oxfmt --check && npm run lint:schemas",
64
66
  "prepublishOnly": "npm run build && npm test",
65
- "prepare": "husky"
67
+ "prepare": "lefthook install --reset-hooks-path"
66
68
  },
67
69
  "dependencies": {
68
70
  "@doist/todoist-sdk": "16.0.0",
@@ -95,8 +97,7 @@
95
97
  "concurrently": "9.2.5",
96
98
  "conventional-changelog-conventionalcommits": "9.3.1",
97
99
  "gpt-tokenizer": "3.4.0",
98
- "husky": "9.1.7",
99
- "lint-staged": "16.4.0",
100
+ "lefthook": "2.2.2",
100
101
  "morgan": "1.11.0",
101
102
  "nodemon": "3.1.14",
102
103
  "oxfmt": "0.55.0",
@@ -112,23 +113,5 @@
112
113
  "vite-plugin-dts": "4.5.4",
113
114
  "vite-plugin-singlefile": "2.3.4",
114
115
  "vitest": "4.1.12"
115
- },
116
- "lint-staged": {
117
- "*.{ts,tsx,js,jsx}": [
118
- "oxlint --fix",
119
- "oxfmt --no-error-on-unmatched-pattern"
120
- ],
121
- "*.{md,yml,yaml,css,json}": [
122
- "oxfmt --no-error-on-unmatched-pattern"
123
- ],
124
- "src/tools/!(*.test).ts": [
125
- "npm run lint:schemas"
126
- ],
127
- "src/index.ts": [
128
- "npm run lint:schemas"
129
- ],
130
- "scripts/validate-schemas.ts": [
131
- "npm run lint:schemas"
132
- ]
133
116
  }
134
117
  }
@@ -1,14 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import { readFileSync, writeFileSync } from 'node:fs'
3
3
 
4
- const [version, manifestPath = '.claude-plugin/plugin.json'] = process.argv.slice(2)
4
+ const [version, manifestPath] = process.argv.slice(2)
5
5
 
6
6
  if (!version) {
7
7
  console.error('Usage: bump-plugin-version.mjs <version> [manifestPath]')
8
8
  process.exit(1)
9
9
  }
10
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}`)
11
+ const paths = manifestPath
12
+ ? [manifestPath]
13
+ : [
14
+ '.claude-plugin/plugin.json',
15
+ 'plugins/todoist/.claude-plugin/plugin.json',
16
+ 'gemini-extension.json',
17
+ ]
18
+
19
+ for (const path of paths) {
20
+ const manifest = JSON.parse(readFileSync(path, 'utf8'))
21
+ manifest.version = version
22
+ writeFileSync(path, `${JSON.stringify(manifest, null, 4)}\n`)
23
+ console.log(`Updated ${path} to ${version}`)
24
+ }