Skip to content

fix(plugins): explain optional provider installation - #3872

Merged
thymikee merged 2 commits into
mainfrom
t3/replay-plugin-install-guidance
Oct 21, 2026
Merged

thymikee merged 2 commits into
mainfrom
t3/replay-plugin-install-guidance

Conversation

@thymikee

@thymikee thymikee commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Summary

Known optional providers stay discoverable in help connect and help remote, marked plugin, install separately. Calling connect testmu without its plugin gives the exact installation command and instructions to retry the original invocation. JSON distinguishes plugin-not-installed from a selected but unavailable plugin. Unknown names retain their argument error.

agent-device plugins add @agent-device/testmu

Seven files changed. The lightweight provider catalog loads when rendering help or resolving providers, preserving the CLI startup import budget. Replay stays bundled. Refs #3871 (0.22 extraction).

Validation

  • Head: 9b4e34738599700e0dfbca7f301bc62afafbf7b1.
  • pnpm check:affected --run --head 9b4e34738599700e0dfbca7f301bc62afafbf7b1: all nine runnable checks passed; receipt run-x6JEvf, exactCommit: true; 888 related tests passed in 85 files.
  • Startup-budget, CLI help, and plugin-guidance suites: 887 tests passed. The previous Coverage failure at 7bae905913 was the startup-budget assertion (273 eager modules versus 272), before coverage thresholds ran. Help rendering no longer imports the catalog during schema construction.
  • Original regression proof: base 6ac6611ae7 plus new tests had five failures/one pass; fixed code passed all six. Disposable checkout removed.
  • Rebuilt help connect retains plugin discovery and installation guidance. Independent follow-up review: no findings.
  • CI coverage/integration/device results for this head remain pending. No live device behavior changed.

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.51 MB 5.50 MB -4.3 kB
Package (unpacked) 5.51 MB 5.50 MB -4.3 kB
Package (download) 1.67 MB 1.67 MB -1.2 kB

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.7 ms 28.6 ms +0.9 ms
CLI --help 55.6 ms 56.4 ms +0.8 ms

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-21 18:17 UTC

@thymikee

Copy link
Copy Markdown
Member Author

The PR is ready from the code side at 7bae905. The change fits the connect scope in the issue.

Not blocking: the help text hard-codes the "plugin, install separately" marker and the TestMu install line, so it keeps a second copy of what PROVIDER_PLUGIN_CATALOG declares; a catalog-derived marker or a test over every catalog provider would pin it. Also, no test checks that the catalog's testmu provider and @agent-device/testmu package match the plugin's own declaration. Last, in provider-policy.ts, a third-party plugin that claims testmu and fails to load would get a hint to update @agent-device/testmu, so the hint could use the selected entry's package. You can take or leave all three.

I did not run the new tests. The claim that five tests fail on base comes from reading the base code path. I also did not trace non-connect routes for a missing testmu plugin, such as the JS client or opening persisted state, since the issue scopes this PR to connect.

The Coverage job log is cut off while several workers build the macOS helper. That looks like a job timeout, and this diff does not touch that build path, so the failure is likely unrelated. Please re-run Coverage and get it green before merge.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 21, 2026
@thymikee
thymikee merged commit 642393c into main Oct 21, 2026
19 checks passed
@thymikee
thymikee deleted the t3/replay-plugin-install-guidance branch October 21, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant