You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c7aeab8
Browse filesBrowse the repository at this point in the historyBrowse files
DX-3022: mcp-toolkit: isError fails the task, keep failure details from the model (#62)
* DX-3022: mcp-toolkit: isError fails the task, keep failure details from the model; README matches the docs
- A handler returning { isError: true } now settles the task failed (no retry); task_status returns its content with isError, as the synchronous tool would
- structuredContent carries only error.code and error.message: error.data (DLQ id, the failing response, Workflow's failResponse) stays in the store
- A dispatch failure is logged and answered with a generic tool error instead of rethrowing the transport's message
- README: lib/auth.ts with verifyToken + principal, mcp-handler withMcpAuth route, QSTASH_URL; changeset mentions the failure behavior
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gtucop3k8CNVLjgvoDTC8n
* DX-3022: mcp-toolkit: task_cancel cancels the Workflow run; never store what the handler threw
- Client.trigger turns workflowRunId into wfr_<id> but Client.cancel takes the id as is, so cancel sent the bare task id and matched no run: the run kept executing. Cancel now sends runIdOf(taskId).
- Tested against the real @upstash/workflow client with fetch stubbed (fails on the old code), not a stubbed client.
- failureFunction logs failResponse (the thrown error's message) instead of storing it in error.data, so it reaches neither Redis nor, via task_status, the task's owner.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gtucop3k8CNVLjgvoDTC8n
* DX-3022: mcp-toolkit: fix lint (no RequestInit global in tests)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gtucop3k8CNVLjgvoDTC8n
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments