feat: add GitHub Copilot model provider with OAuth device flow
Add a new 'github' model provider backed by the Copilot API (api.githubcopilot.com), with OAuth device flow for authentication. - New src/auth/github.ts: device flow login, token storage at ~/.config/flynn/auth.json with 0600 permissions - New src/models/github.ts: OpenAI-compatible client with streaming, tool calling, and Copilot-specific headers - Add 'github' to provider enum in config schema - Register provider in daemon factory and TUI client factory - Refactor TUI to use provider-agnostic client factory (was hardcoded to AnthropicClient for all tiers) - Add /login command to TUI for interactive OAuth authorization - Add Copilot model cost tracking entries
This commit is contained in:
@@ -14,6 +14,11 @@ export const MODEL_COSTS_PER_MILLION: Record<string, { input: number; output: nu
|
||||
'gemini-2.5-flash': { input: 0.15, output: 0.60 },
|
||||
'gemini-1.5-pro': { input: 1.25, output: 5 },
|
||||
'gemini-1.5-flash': { input: 0.075, output: 0.30 },
|
||||
// GitHub Copilot (included in subscription, tracked at $0)
|
||||
'gpt-4.1': { input: 0, output: 0 },
|
||||
'gpt-4.1-mini': { input: 0, output: 0 },
|
||||
'claude-sonnet-4': { input: 0, output: 0 },
|
||||
'claude-haiku-4': { input: 0, output: 0 },
|
||||
// Local / unknown models
|
||||
'default': { input: 0, output: 0 },
|
||||
// Bedrock (Meta Llama)
|
||||
|
||||
Reference in New Issue
Block a user