Repository navigation
fix(mcp): dry runs honour tags, single flow files bring their subflows, failed starts say what to check - #278
Merged
Merged
Conversation
…s, failed starts say what to check - dcd_run_cloud_test with dryRun listed every flow in the folder, because it read the metadata of all flows rather than the ones that would run. It now lists the flows after includeTags, excludeTags and excludeFlows, as `dcd cloud --dry-run` does. Real runs already submitted only those flows. - `run` with path set to one flow file sent it as yaml on its own, so a flow that uses other files (runFlow, runScript, addMedia and the like) failed on the device with an invalid file path. Such a file is now uploaded with its folder as a bundle, with flow set to the file. A file that uses no other files is still sent as yaml. - A start_device call that fails without an answer may still have started a session, which is billed while it runs. The error now says so and lists the open sessions started in the last two minutes, so an agent checks list_devices instead of starting a second device. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three fixes to the MCP server.
Dry runs honour tags
dcd_run_cloud_testwithdryRun: truelisted every flow in the folder. It read the metadata of all flows instead of the ones that would run. Now it lists the flows left afterincludeTags,excludeTagsandexcludeFlows, the same listdcd cloud --dry-runprints.Real runs were not affected: they already submitted only the filtered flows.
A single flow file brings the files it uses
runwithpathset to one flow file sent it asyamlon its own. A flow that uses other files (runFlow,runScript,addMediaand the like) then failed on the device with "Invalid File Path", naming a renamed file.Now such a file is uploaded with its folder as a bundle, with
flowset to the file. If it uses a file in a parent folder, the bundle starts at the folder that holds both. A missing file is reported before anything is sent. A file that uses no other files is still sent asyaml.A failed start says what to check
A
start_devicecall that fails without an answer may still have started a session, and a session is billed while it runs. An agent that just retried would end up with two devices.The error now says so, and lists the open sessions started in the last two minutes (id, state, client label, created at). It tells the agent to use one of them or stop it, and to check
list_devicesbefore starting again. If none started, it says a retry is safe. A tool's own refusal (bad input, say) is passed through as before.Testing
pnpm typecheckpasses.pnpm lint: 0 errors. The 24 warnings are already ondev; none are in these files.pnpm test:unit: 514 passing. New tests cover:🤖 Generated with Claude Code