Repository navigation
fix(picker): recognize credentials stored in DSH - #104
Open
TommrraraSnow wants to merge 1 commit into
Open
TommrraraSnow wants to merge 1 commit into
TommrraraSnow wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #103.
When an OpenCode API key is stored in DSH Credentials and referenced through
apiKeyEnv, the cold-start model picker treats the provider as keyless:hasPlaneCredentialonly checked fixed environment variables and previously captured request keys, so it removed configured paid models before the first request.Resolve credential presence on each listing through the host Credentials service, using the exact plane's configured
apiKeyEnvreference and its documented default. Credentials and Loader are captured through independent optional Cordis scopes, so late service availability, service removal, and stored key edits are reflected without restarting the plugin. Existing environment/captured-key paths and free-only behavior for missing or placeholder credentials are preserved.Validation
apply()→llm.listModels()path, covering Go/Zen defaults, custom references, plane isolation, invalid/missing credentials, live key changes, optional service lifecycle, and disposal.pnpm run test:coverage: 74 files, 1,176 tests passed; coverage thresholds passed (statements 96.34%, branches 92.06%, functions 96.37%, lines 96.33%).pnpm run check: passed; 23 existing warnings in unchanged files, no errors.pnpm run build: passed.node --experimental-strip-types scripts/check.ts: passed, including packed-tarball installation with plain npm and host/client loading.