Support DeployAgentTools[All] for deploying to every supported client#177
Merged
Conversation
…ent. Skips clients with existing deployments and emits a warning when any are skipped, so a single call can populate fresh installs without erroring on already-deployed targets. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…d client. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cover the new All-target behavior: per-client `Automatic` toolset resolution, explicit server override, `OverwriteTarget` replacement, `Missing["DeploymentExists", ...]` entries, and the `DeploymentsExistWarning` message. Tests redirect `$HomeDirectory`, `$deploymentsPath`, and `$SupportedMCPClients` so real client configs are not touched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Convert `UnknownInstallLocation` failures into `Missing["Unsupported", ...]` results so `DeployAgentTools[All, ...]` skips clients that aren't available on the current operating system instead of failing the whole batch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`deployAgentToolsQuietly` already converts `UnknownInstallLocation` failures into `Missing["Unsupported", ...]`, but `deployAllAgentTools` rejected those with `ConfirmMatch` and triggered `DeploymentsExistWarning` whenever any `Missing` entry appeared. The pattern now permits unsupported entries and the warning fires only when at least one `Missing["DeploymentExists", _]` is present. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…entTools[All, ...]`. `DeployAgentTools[target, Automatic, opts]` calls `defaultToolsetForTarget[target, OptionValue["ApplicationName"]]`, which gives the explicit `ApplicationName` precedence over `target`. Under `All`, that silently rewrote every client's toolset to whatever `ApplicationName` resolved to. `deployAllAgentTools` now resolves the server per client up front via the new `resolveServerForClient` helper, so each client picks up its own `DefaultToolset` regardless of `ApplicationName`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`DeployAgentTools` accepts `All` since the bulk-deployment work landed, but the diagnostic still listed only the per-client target forms. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
DeployAgentTools[All, ...]to deploy to every client in$SupportedMCPClientsin a single callserverisAutomatic("WolframLanguage"for coding clients,"Wolfram"for chat clients); pass an explicit second argument to overrideMissing["DeploymentExists", target]) and aDeploymentsExistWarningis emitted; useOverwriteTarget -> Trueto replace themREADME.mdanddocs/deploy-agent-tools.mdwith the new syntax, behavior, and a "Deploying to All Clients" sectionTest plan
TestReportpasses forTests/DeployAgentTools.wlt, including the newAll-target tests covering:Automatictoolset resolutionOverwriteTarget -> Truereplacing existing deploymentsMissing["DeploymentExists", ...]entries for skipped clientsAgentTools::DeploymentsExistWarningemitted when at least one client is skippedCodeInspectorreports no new issues on changed files🤖 Generated with Claude Code