tododdle-mcp 3.0.0 → 3.0.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tododdle",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Disciplined agent workflows for projects managed in ToDoddle.",
5
5
  "author": {
6
6
  "name": "ToDoddle",
package/README.md CHANGED
@@ -205,8 +205,12 @@ Notes are organization-scoped and unavailable to project-only connections.
205
205
 
206
206
  Each tool accepts either an approved local `filePath` or an HTTPS `sourceUrl`. Local paths are disabled until `TODODDLE_UPLOAD_ROOTS` is configured. Files stream directly from this local MCP process to ToDoddle's short-lived Bunny upload URL; file bodies are never placed in MCP JSON messages.
207
207
 
208
+ If an agent copies a source file into a dedicated ToDoddle upload directory only to satisfy the local path restriction, it should remove that temporary copy after the tool confirms success. It should retain the copy after a failed or uncertain upload so the upload can be retried. It must never remove the original source or a pre-existing file. Temporary files that the MCP creates for HTTPS sources are removed automatically.
209
+
208
210
  Use `get_document_download_url` with a `projectId` and `documentId` returned by `list_project_documents` to obtain a five-minute tokenized URL. The URL grants access only to that ready document and should not be stored in comments or other durable project context. Video documents return a protected stream URL when the workspace subscription permits playback.
209
211
 
212
+ For attachment review, request a fresh URL, download the asset into a private `mktemp -d` directory without printing or persisting the URL, and inspect the local file with the appropriate tool. Use a browser only when local download or rendering is unavailable. Remove only the agent-created temporary files and directory after successful inspection; never remove an original or pre-existing user file.
213
+
210
214
  The server also provides ticket, project, and project-artifact resource templates plus `triage_work` and `daily_status` prompts.
211
215
 
212
216
  ## Permissions
@@ -1,9 +1,9 @@
1
- export declare const MCP_PACKAGE_VERSION = "3.0.0";
1
+ export declare const MCP_PACKAGE_VERSION = "3.0.1";
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.0.0";
6
+ readonly "x-tododdle-mcp-version": "3.0.1";
7
7
  readonly "x-tododdle-mcp-compatibility": string;
8
8
  };
9
9
  export declare function formatMcpUpdateRequiredMessage(message: string, details: unknown): string;
@@ -1,4 +1,4 @@
1
- export const MCP_PACKAGE_VERSION = '3.0.0';
1
+ export const MCP_PACKAGE_VERSION = '3.0.1';
2
2
  export const MCP_COMPATIBILITY_LEVEL = 3;
3
3
  export const MCP_VERSION_HEADER = 'x-tododdle-mcp-version';
4
4
  export const MCP_COMPATIBILITY_HEADER = 'x-tododdle-mcp-compatibility';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tododdle-mcp",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Agent-first task, project context, and time tracking for ToDoddle",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -45,6 +45,22 @@ Keep list requests bounded and paginate rather than requesting an entire organiz
45
45
 
46
46
  Do not create bookkeeping churn for tiny exploratory actions. Prefer one useful checkpoint over a stream of narration.
47
47
 
48
+ ## Upload Files Safely
49
+
50
+ - Use `upload_project_document` or `attach_file_to_ticket` for approved files.
51
+ - If a source file is outside `TODODDLE_UPLOAD_ROOTS`, copy it to a temporary staging file inside the dedicated ToDoddle upload directory. Do not move or alter the original.
52
+ - After the upload tool confirms success, delete only the temporary staging file that the agent created. Remove an empty staging directory when it was also created for that upload.
53
+ - Keep the staging file when the upload fails or the result is uncertain so it remains available for retry and diagnosis. Report the retained path without exposing private content.
54
+ - Never delete the user's original source file, a pre-existing file, or any file outside the managed staging location.
55
+
56
+ ## Review Attachments Safely
57
+
58
+ - Request a fresh tokenized URL with `get_document_download_url` for each attachment review.
59
+ - Create a private temporary directory with `mktemp -d`, download the asset there without printing, logging, or persisting the URL, and inspect the local file with the appropriate image or document tool.
60
+ - Use a browser only when local download or rendering is unavailable.
61
+ - After successful inspection, delete only the temporary files and directory that the agent created. Never delete an original or pre-existing user file.
62
+ - Never persist an expiring download URL in comments, Context, logs, handoffs, or repository files.
63
+
48
64
  ## Finish Work
49
65
 
50
66
  1. Run the verification appropriate to the work.