availablePluginsPartial so clients keep cached marketplace rows; successful remote refreshes must not.onlyIfEpoch are dropped; invalidate-during-refresh queues a follow-up refresh at the new epoch.internal_error and never emit a clearing plugins_catalog.validation_failed; remote fallback only when local catalog misses without a workspace scope.setModel, blank/unknown auth method ids, OpenCode-only API-key copy sibling gate, and persist-after-apply failure reporting.test/session/pluginCatalogService.test.ts (new)test/session/providerAuthManager.test.ts (new)src/server/session/PluginCatalogService.ts — tiny optional-deps seam (default wiring unchanged) so epoch/error paths are injectable, matching the MCP validation flow patternThese two extracted session collaborators sit on high-blast-radius paths (plugin marketplace UX and provider credential/model changes) and previously lacked dedicated fail-closed unit coverage. Prior coverage runs claimed the gaps; main has been unchanged at e2d5f95e, so this run fills them without duplicating open PRs #331–#346.
pluginCatalogService, providerAuthManager, platform-boundary — 24 passbun run typecheck — cleanSign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 4 months ago
test: cover plugin catalog epoch skip and provider auth gates
#347 main ← cursor/missing-test-coverage-a6ab
Updated 6 days ago