Repository navigation
0.22: remove superseded plugin, client and environment APIs #3759
Copy link
Copy link
Open
Labels
Milestone
Description
Part of #3747. The breaking removals for 0.22. The non-breaking preparation landed in 0.21.x (see "Done in 0.21.x" below).
Each section below is one PR, and each stays under 2,500 changed lines.
1. Plugin v1 (est. 900–1,500 lines)
- Remove the v1 loader adapter (
packages/plugins/src/legacy.ts), the v1 discovery and store branches, the manifest credential and capability fallbacks, and the install-time v1 collision checks. - Keep package-export resolution, entry containment checks and registry validation.
@agent-device/testmu: remove the v1 entry (src/plugin.ts), its build entry and theagentDevicePluginmanifest declaration.- Migration note for plugin authors: v1 manifest → v2
AgentDevicePluginFactory.
2. Managed clients (est. 1,500–2,300 lines)
createAgentDeviceClientdefaults todaemonLifecycle: 'attach'.- Remove
managedand the client transport's implicit start, replace and timeout-kill paths. - Keep explicit
ensureDaemon(), quiesce, CLI/MCP ensuring, remote attachment, and the shared startup helpers they still use. - Migration note for library clients: call
ensureDaemon()for a detached daemon, orstartAgentDevice(imported fromagent-device) to own one in-process.
3. Ambient SDK defaults (est. 900–1,600 lines)
- Remove the process captures in
src/sdk/host.ts. Released SDK functions then need an explicit host: Android adb, artifacts, Metro, remote-config and the public Limrun construction. resolveRemoteConfigProfilerequiresenv, andcreateLocalArtifactAdapterrequirescwd.- Review refactor: read host settings from HostEnvironment in root src and remaining packages #3751's waived factory boundaries one by one.
- Remove the SDK entries from R86
PROCESS_ENTRIES(scripts/layering/process-globals-policy.ts). - Keep the executable captures and
startAgentDevice's documented optional-host capture.
4. Built-in provider special cases
- After refactor(provider-limrun): ship Limrun as the
@agent-device/limrunplugin #3311 extracts Limrun, remove the built-in Limrun first-claim special case (src/builtin-provider-plugins.ts). Keep the registry's first-claim semantics. This is tracked in refactor(provider-limrun): ship Limrun as the@agent-device/limrunplugin #3311.
Done in 0.21.x (non-breaking)
startAgentDevicefrom the mainagent-deviceentry (feat(sdk): start an embedded runtime from the main entry #3843).- The embedded runtime's owner closes it:
daemon stoprefuses embedded runtimes (refactor(daemon): close embedded runtimes only from their host #3850). - TestMu's v2 plugin no longer reads capabilities from its v1 manifest (refactor(daemon): close embedded runtimes only from their host #3850).
Done when
- The 0.22 docs and release notes carry migration notes for plugin authors (v1 → v2), library clients (
ensureDaemon()orstartAgentDevicefromagent-device), and CLI/MCP users. - There are changesets for every affected package.
Reactions are currently unavailable
Activity