Repository navigation
refactor(plugins): extract the provider plugins into a private package - #3712
Conversation
Move manifest, store, host, load and connection into @agent-device/plugins. ProviderPluginHost is owned by the package and re-exported by agent-device/plugins. RemoteConfigProfile is declared once in contracts and re-exported by the remote schema; the webdriver plugin options come from provider-webdriver.
Expose the five production subpaths, reference the package from the typecheck and SDK example projects, update the fallow loader-path comment, and accept the type re-export form in the installed-package host declaration assertion.
Size Report
Startup median (7 runs, lower is better):
|
|
|
This PR is ready at 03f44c4. The provider plugin extraction looks correct, and I found no code problems. Not blocking, and fine to take or leave: the lockfile diff adds 24 unrelated |
Summary
Extract
src/plugins(manifest, store, host, load, connection) into the private@agent-device/pluginspackage. 30 files, +172/−66.ProviderPluginHostis owned by the package;agent-device/pluginsre-exports it unchanged.RemoteConfigProfileis declared once incontracts/remote-config-fieldsand re-exported bysrc/remote/remote-config-schema.ts.CloudWebDriverProviderOptionsfromprovider-webdriver/plugin; dynamic imports and cleanup are unchanged.pluginslayering zone stays rank 4. No allowlist or baseline change.provider-device-runtimestest, which owns that composition.Remote overlap: #3711 (unmerged) edits
src/remote. This PR touches onlyremote-config-schema.tsandplugins/connection.tstype imports; reconcile on whichever lands second.Validation
Head
03f44c4f11onb7c93e3a37. Pinned pnpm 11.17.0, under the shared extraction lock.AGENT_DEVICE_VITEST_MAX_WORKERS=1 pnpm check:affected --run: exit 0 (1852 files, 15581 tests passed, 1 skipped).pnpm typecheck,pnpm depgraph,pnpm check:layering,pnpm check:production-exports,pnpm check:fallow, focused plugin tests.platform-android/fill-verification.test.ts:144. That file is untouched by this PR, and the same failure reproduces on main at6e0844ff. It did not recur at one worker; I did not fix it here.