0.22: remove superseded plugin, client and environment APIs

Aberta
#3,759 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
8/100
Tipo de issue
Refatoração
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
nodejs, typescript
Domínio
api, cli, devtools

Direção de pesquisa

This is a tracking issue for the 0.22 removals and is blocked by #3748–#3757 and #3311, so wait for those before starting. The scope spans the v1 plugin loader and agentDevicePlugin manifest reading, the @agent-device/testmu entry, createAgentDeviceClient and its managed and daemonLifecycle paths, and the environment and provider wrappers. Done means the removals land, changesets exist for each affected package, and the changelog and docs carry the migration notes.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

backlog refactor

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 the agentDevicePlugin manifest declaration.
  • Migration note for plugin authors: v1 manifest → v2 AgentDevicePluginFactory.

2. Managed clients (est. 1,500–2,300 lines)

  • createAgentDeviceClient defaults to daemonLifecycle: 'attach'.
  • Remove managed and 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, or startAgentDevice (imported from agent-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.
  • resolveRemoteConfigProfile requires env, and createLocalArtifactAdapter requires cwd.
  • Review #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 #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 #3311.

Done in 0.21.x (non-breaking)

  • startAgentDevice from the main agent-device entry (#3843).
  • The embedded runtime's owner closes it: daemon stop refuses embedded runtimes (#3850).
  • TestMu's v2 plugin no longer reads capabilities from its v1 manifest (#3850).

Done when

  • The 0.22 docs and release notes carry migration notes for plugin authors (v1 → v2), library clients (ensureDaemon() or startAgentDevice from agent-device), and CLI/MCP users.
  • There are changesets for every affected package.
Linguagem predominante
TypeScript
Estrelas
5.3k
Forks
377
Merge médio
13h 49min
PRs com merge (30d)
650

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de callstack/agent-device

Todas as issues de callstack/agent-device

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.