tododdle-mcp 3.2.7 → 3.2.8
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/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/dist/compatibility.d.ts +2 -2
- package/dist/compatibility.js +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
"url": "https://tododdle.com"
|
|
6
6
|
},
|
|
7
7
|
"description": "Agent workflow plugins for ToDoddle.",
|
|
8
|
-
"version": "3.2.
|
|
8
|
+
"version": "3.2.8",
|
|
9
9
|
"plugins": [
|
|
10
10
|
{
|
|
11
11
|
"name": "tododdle",
|
|
12
12
|
"displayName": "ToDoddle",
|
|
13
13
|
"description": "Use ToDoddle as the work ledger for project context and ticket execution.",
|
|
14
|
-
"version": "3.2.
|
|
14
|
+
"version": "3.2.8",
|
|
15
15
|
"source": {
|
|
16
16
|
"source": "npm",
|
|
17
17
|
"package": "tododdle-mcp",
|
|
18
|
-
"version": "3.2.
|
|
18
|
+
"version": "3.2.8"
|
|
19
19
|
},
|
|
20
20
|
"category": "productivity",
|
|
21
21
|
"tags": ["project-management", "tickets", "mcp"]
|
package/README.md
CHANGED
|
@@ -300,13 +300,13 @@ Uploading a project document requires `projects:read` and `documents:write`. Att
|
|
|
300
300
|
| --- | --- | --- | --- |
|
|
301
301
|
| `TODODDLE_CLIENT_ID` | Yes | None | Agent Connection identifier |
|
|
302
302
|
| `TODODDLE_CLIENT_SECRET` | Yes | None | Agent Connection secret |
|
|
303
|
-
| `TODODDLE_BASE_URL` | No | `https://
|
|
303
|
+
| `TODODDLE_BASE_URL` | No | `https://app.tododdle.com` | Application API origin; HTTPS is required except for loopback development |
|
|
304
304
|
| `TODODDLE_UPLOAD_ROOTS` | No | None | Optional platform path-delimited list of additional directories the MCP may read for uploads |
|
|
305
305
|
| `TODODDLE_MAX_UPLOAD_BYTES` | No | `1073741824` | Local safety ceiling; the hosted API may enforce a lower limit |
|
|
306
306
|
|
|
307
307
|
No upload-root configuration is needed for normal local use. Stage temporary files below `<system-temp>/tododdle-mcp-uploads`; do not use the full system temporary directory as an approved root. On macOS and Linux, separate optional roots with `:`; on Windows, use `;`. The server resolves symlinks and rejects files outside managed staging and approved roots. Add optional roots only for Docker, sandboxes, or directories whose contents you approve for upload. HTTPS sources reject embedded credentials, private-network destinations, unsafe redirects, oversized responses, and empty files.
|
|
308
308
|
|
|
309
|
-
Use the final API origin directly.
|
|
309
|
+
Use the final application API origin directly. The public `tododdle.com` and `www.tododdle.com` hosts serve the marketing site and are rejected. Legacy `trackingti.me` hosts are also rejected because cross-origin redirects must not forward bearer credentials.
|
|
310
310
|
|
|
311
311
|
Tokens are held in memory only and refreshed automatically. The client secret is sent only to ToDoddle's hosted token endpoint. Server diagnostics go to stderr so stdout remains reserved for MCP JSON-RPC.
|
|
312
312
|
|
package/dist/compatibility.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare const MCP_PACKAGE_VERSION = "3.2.
|
|
1
|
+
export declare const MCP_PACKAGE_VERSION = "3.2.8";
|
|
2
2
|
export declare const MCP_COMPATIBILITY_LEVEL = 3;
|
|
3
3
|
export declare const MCP_VERSION_HEADER = "x-tododdle-mcp-version";
|
|
4
4
|
export declare const MCP_COMPATIBILITY_HEADER = "x-tododdle-mcp-compatibility";
|
|
5
5
|
export declare const MCP_REQUEST_HEADERS: {
|
|
6
|
-
readonly "x-tododdle-mcp-version": "3.2.
|
|
6
|
+
readonly "x-tododdle-mcp-version": "3.2.8";
|
|
7
7
|
readonly "x-tododdle-mcp-compatibility": string;
|
|
8
8
|
};
|
|
9
9
|
export declare function formatMcpUpdateRequiredMessage(message: string, details: unknown): string;
|
package/dist/compatibility.js
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,kBAAmB,GAAG,MAAM,EAAE,CAKjG;AAED,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAW,EAC7B,QAAQ,kBAAmB,GAC1B,MAAM,CAGR;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,kBAAmB,GAAG,MAAM,EAAE,CAKjG;AAED,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAW,EAC7B,QAAQ,kBAAmB,GAC1B,MAAM,CAGR;AAsCD,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAM,CAAC,UAAwB,GAAG,SAAS,CAwBrF"}
|
package/dist/config.js
CHANGED
|
@@ -11,7 +11,7 @@ export function getDefaultManagedUploadRoot(temporaryDirectory = tmpdir(), platf
|
|
|
11
11
|
return paths.resolve(temporaryDirectory, 'tododdle-mcp-uploads');
|
|
12
12
|
}
|
|
13
13
|
function normalizeBaseUrl(value) {
|
|
14
|
-
const rawValue = value || 'https://
|
|
14
|
+
const rawValue = value || 'https://app.tododdle.com';
|
|
15
15
|
let url;
|
|
16
16
|
try {
|
|
17
17
|
url = new URL(rawValue);
|
|
@@ -20,8 +20,8 @@ function normalizeBaseUrl(value) {
|
|
|
20
20
|
throw new Error('TODODDLE_BASE_URL must be a valid absolute URL');
|
|
21
21
|
}
|
|
22
22
|
const isLoopback = ['localhost', '127.0.0.1', '::1'].includes(url.hostname);
|
|
23
|
-
if (['trackingti.me', 'www.trackingti.me'].includes(url.hostname)) {
|
|
24
|
-
throw new Error('TODODDLE_BASE_URL
|
|
23
|
+
if (['trackingti.me', 'www.trackingti.me', 'tododdle.com', 'www.tododdle.com'].includes(url.hostname)) {
|
|
24
|
+
throw new Error('TODODDLE_BASE_URL must use the application origin https://app.tododdle.com');
|
|
25
25
|
}
|
|
26
26
|
if (url.protocol !== 'https:' && !(isLoopback && url.protocol === 'http:')) {
|
|
27
27
|
throw new Error('TODODDLE_BASE_URL must use HTTPS except for loopback development');
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAWzC,MAAM,UAAU,gBAAgB,CAAC,KAAyB,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACrF,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,kBAAkB,GAAG,MAAM,EAAE,EAC7B,QAAQ,GAAG,OAAO,CAAC,QAAQ;IAE3B,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,QAAQ,GAAG,KAAK,IAAI,0BAA0B,CAAC;IACrD,IAAI,GAAQ,CAAC;IAEb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5E,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|