refactor(provider-webdriver): ship AWS Device Farm as the `@agent-device/aws-device-farm` plugin
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 54/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- aws, node.js, typescript
Línea de trabajo
Start with the existing AWS Device Farm provider and connection files in packages/provider-webdriver, plus the TestMu plugin package as the packaging template; this work is blocked on #3312 and the BrowserStack extraction. Move the named AWS files and tests into packages/provider-aws-device-farm, expose the host command runner through the plugin SDK, and update core, help, docs, and README as specified. Run the named provider-scenario tests and pnpm check:affected --run; completion also requires the plugin checker and live-session verification or a documented blocker.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Purpose and evidence
0.22 stops bundling hosted device providers with the default installation. AWS Device Farm already presents the plugin factory shape inside core (packages/provider-webdriver/src/aws-device-farm-provider.ts plus aws-device-farm-connection.ts, PR #3312). The one capability it needs that ProviderPluginHost does not expose is a host-command runner: the provider drives aws devicefarm ... through runHostCommand, which core currently supplies in src/provider-webdriver.ts.
Required behavior and boundary
- Extend the experimental plugin SDK:
ProviderPluginHostgainsrunHostCommand(command, args): Promise<{ stdout }>backed byrunCmdwith the bounds core uses today (10 MiB buffer, 30 s). Keep the SDK declaration small; the packed declaration-size guard from #3121 stays green. - New workspace package
packages/provider-aws-device-farmpublishing@agent-device/aws-device-farm, built and released like TestMu. The default export returns{ webDriver, connection }; the manifest declaresprovider: "aws-device-farm"and theconnectioncapabilities fromCLOUD_WEBDRIVER_PROVIDER_DECLARATIONS(nocredentialVariables: the AWS CLI credential chain has no environment fingerprint, and the fingerprint tests pin that). - Move
aws-device-farm.ts,aws-device-farm-artifacts.ts,aws-device-farm-provider.ts,aws-device-farm-connection.ts,aws-device-farm-connection-verification.tsand their tests out ofprovider-webdriver. Therequires --aws-project-arn <arn> or AWS_DEVICE_FARM_PROJECT_ARNmessages and the flag-then-AGENT_DEVICE_*-then-AWS_*selector order stay as they are. - Core drops
aws-device-farmfromBUNDLED_CLOUD_WEBDRIVER_PROVIDERSandRESERVED_PLUGIN_PROVIDERS;connectionProviderCapabilitiesand therequiresAppAttachmentreconnect hint inconnection-presentation.tskeep working from the manifest. - Help,
website/docs/docs/aws-device-farm.md,device-clouds.md,plugins.md, and the README move the provider to the plugin install flow.
agent-device plugins add @agent-device/aws-device-farm
agent-device connect aws-device-farm --platform android --aws-project-arn <arn> --aws-device-arn <arn> --aws-app-arn <arn>
Completion and validation
node scripts/check-provider-plugin.mjs packages/provider-aws-device-farmpasses with a fixtureawsonPATH.- The AWS provider-scenario tests (
cloud-webdriver-provider-adapters,cloud-webdriver-provider-regressions,stale-provider-runtime-admission) build the runtime from the plugin factory with the fake host command. pnpm check:affected --runpasses; Size report shows the default install shrinking.- One live Device Farm remote-access session with the packed plugin, recorded in the PR, or the exact blocker named.
Dependencies and readiness
Blocked by: #3312 landing on main; do the BrowserStack extraction first so the packaging template is proven twice before the SDK change here.
Effort: M. Risk: medium (SDK surface grows by one method; AWS live verification needs an account).
- Lenguaje dominante
- TypeScript
- Estrellas
- 4.9k
- Forks
- 328
- Merge medio
- 11 h 49 min
- PR fusionados (30 d)
- 585
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstack/agent-device
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
callstack/agent-device#3407 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
callstack/agent-device#3353 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/agent-device#1869 ·
Los mantenedores suelen responder en 1 día
-
Client stop paths treat EPERM as a confirmed exit and drop state for a live companionPosiblemente ocupada @thymikee la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
callstack/agent-device#3540 ·
Los mantenedores suelen responder en 1 día
-
enhancement needs-triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
callstack/agent-device#3531 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstack/agent-device
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
better-auth/better-auth#11723 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
area: docs difficulty: easy documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Worker-Erstellung bricht langsame Git-Worktree-Checkouts nach 20 Sekunden abPosiblemente ocupada @KajoVanBuyten la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
AgentSystemLabs/agent-office#367 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pierrecomputer/pierre#1187 ·
Los mantenedores suelen responder en 1 día
-
area: frontend bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
snapotter-hq/SnapOtter#2425 ·
Los mantenedores suelen responder en 1 día