Repository navigation
feat(workspace): support per-plugin client install modes - #566
Merged
Merged
Conversation
Normalize plugin shorthand and objects, resolve per-client modes, and retain first-entry precedence through runtime selection and configuration edits. Update profiles, public schemas, documentation and behavioral coverage. Refs #565
Bumps the routine-updates group with 3 updates: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [js-yaml](https://github.com/nodeca/js-yaml). Updates `@modelcontextprotocol/sdk` from 1.31.0 to 1.32.1 - [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases) - [Commits](modelcontextprotocol/typescript-sdk@1.31.0...1.32.1) Updates `@types/node` from 22.20.4 to 22.20.5 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `js-yaml` from 5.4.2 to 5.4.3 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@5.4.2...5.4.3) --- updated-dependencies: - dependency-name: "@modelcontextprotocol/sdk" dependency-version: 1.32.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: routine-updates - dependency-name: "@types/node" dependency-version: 22.20.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: routine-updates - dependency-name: js-yaml dependency-version: 5.4.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: routine-updates ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christopher Tso <3115311+christso@users.noreply.github.com>
Deploying allagents with
|
| Latest commit: |
bb9d4d6
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7fd2850b.allagents.pages.dev |
| Branch Preview URL: | https://feat-workspace-per8-plugin-c.allagents.pages.dev |
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.
Plugin declarations now accept
clients: [pi:native, codex:file]and equivalent objects, so one plugin can use native installation for Pi and copied files for Codex. Bare names inherit workspace modes; a plugin-wideinstalloverride retains precedence. Profiles, narrowed native updates, configuration edits and generated schemas use the same contract.Preserves canonical aliases, project/user restrictions, first-entry precedence, source identity, owned-artifact boundaries and rejection of native skill/exclude filters. Reinstall keeps explicit modes for retained destinations without promoting ignored duplicates.
Closes #565. Paperclip coordination: PER-8. Separate from merged #561.
Validation
With declared Bun 1.4.0 and isolated HOME/project fixtures:
bun test tests/unit: 1,912 pass, 3 platform skips, 0 fail.bun test tests/e2e: 257 pass, 4 existing skips, 0 fail.bun run typecheck,bun run lint,bun run schema:check,bun run build: pass.update --scope project --offlineinstalled Pi and copied the Codex skill;pi listconfirmed inventory. After a source edit,plugin update ./package --scope project --jsonran Pi update and refreshed the copy. Object selectors produced the same results. Native filters failed before settings/file mutation.plugin uninstall ./package --scope project --jsonran Pi remove and removed owned files, preserving home/project theme settings. Fresh user-scope install/list/uninstall passed with unrelated project settings intact.Fixture scripts, execution records and review receipts are retained on the Paperclip task. Final-head board delivery approval is required before admin squash merge; no release or publication is included.
Merge reconciliation (2026-10-15)
Merged current main after #563 and #564. The only conflict was adjacent test additions in
tests/unit/core/sync-install-mode.test.ts; retained the destination-restriction regression and the upstream Pi example assertions.With Bun 1.4.0: focused sync suite 16 passed; build, typecheck, lint, schema check and diff whitespace checks passed. Built
./dist/index.js update --scope project --offlineagainst a temporary HOME/project with a local skill plugin andclients: [codex:file]: exited 0 and created.codex/skills/probe/SKILL.md; fixture removed. Full local unit suite: 1,911 passed, 3 skipped, 1 failed in unchangednative/typesprocess-creation test; isolated rerun of that file passed (3 passed, 1 skipped). Baseline confirmation on currentorigin/main(5f6cc2c): same process-creation test failed in the full suite (1,898 passed, 3 skipped), confirming the local failure predates this reconciliation. Final-head CI is the merge gate.