It uses the same API keys as Anthropic's now-legacy APIs, but is implemented sufficiently differently to introduce breaking changes and require a new client implementation within Wingman. I left the legacy Anthropic API named simply "Anthropic" with the new one "ClaudeV3".
Since I have been having trouble modifying the Svelte, I am leaving one annoyance there unfixed, that being an assumption of a 1:1 correspondence between Providers and API keys makes it so adding a new provider automatically adds a new place to add API keys. This is kind of confusing because Anthropic's legacy and v3 models share API keys
To work around this, I had the ClaudeV3 API fall back to an Anthropic API key if we fail to read an explicitly-set ClaudeV3 key but an Anthropic key is present.
I am pretty inexperienced developing VScode extensions or frontend code in general, so I appreciate your patience and guidance in (hopefully!) getting this merged and released.
Claude v3 models require using Anthropic's new API: https://docs.anthropic.com/claude/reference/messages_post
It uses the same API keys as Anthropic's now-legacy APIs, but is implemented sufficiently differently to introduce breaking changes and require a new client implementation within Wingman. I left the legacy Anthropic API named simply "Anthropic" with the new one "ClaudeV3".
Since I have been having trouble modifying the Svelte, I am leaving one annoyance there unfixed, that being an assumption of a 1:1 correspondence between Providers and API keys makes it so adding a new provider automatically adds a new place to add API keys. This is kind of confusing because Anthropic's legacy and v3 models share API keys
To work around this, I had the ClaudeV3 API fall back to an Anthropic API key if we fail to read an explicitly-set ClaudeV3 key but an Anthropic key is present.
I am pretty inexperienced developing VScode extensions or frontend code in general, so I appreciate your patience and guidance in (hopefully!) getting this merged and released.