| … | … | @@ -578,10 +588,32 @@ export const AcpRegistryDriver: ProviderDriver<AcpRegistrySettings, AcpRegistryD | |
| 595 | + | // ACP exposes no quota data; Devin is the one registry agent whose own API | |
| 596 | + | // reports usage limits. | |
| 597 | + | const checkUsageLimits = | |
| 598 | + | effectiveConfig.source === "registry" && effectiveConfig.agentId === "devin" | |
🟡 Medium server/driver.ts:598
Disabled Devin instances still read local credentials and send an authenticated GetUserStatus request, because checkUsageLimits runs before its result is discarded for disabled providers. Gate creation of the probe on enabled so the read never executes for disabled instances.
| 1 | effectiveConfig.enabled && |
| 2 | effectiveConfig.source === "registry" && effectiveConfig.agentId === "devin" |
🤖 Copy this AI Prompt to have your agent fix this:
| 1 | In file @packages/provider-acp-registry/src/server/driver.ts around line 598: |
| 2 | |
| 3 | Disabled Devin instances still read local credentials and send an authenticated `GetUserStatus` request, because `checkUsageLimits` runs before its result is discarded for disabled providers. Gate creation of the probe on `enabled` so the read never executes for disabled instances. |
Note
🤖 Devin (Claude Opus 5.5) responding on behalf of screen-gd
Fixed in 108d0d52b3. checkUsageLimits in packages/provider-acp-registry/src/server/driver.ts is now built only when effectiveConfig.enabled is true. A disabled Devin instance no longer reads credentials.toml or sends its key to GetUserStatus. The existing provider.enabled && provider.installed check on the merged result is unchanged.
No test was added. driver.test.ts tests only the readiness and status helpers and never builds the full driver layer, where this check lives.
Checks on this head: vp run check:changed passed (format, lint, knip, typecheck of 34 packages, 79 tests).
Sorry, I'm unable to act on this request because you do not have permissions within this repository.