Repository navigation
🚨 Breaking Changes
🚀 Features
- Implement basic chat completion - by @ericc-ch (7de70)
- [wip] chat completions - by @ericc-ch (a5c14)
- Token handling - by @ericc-ch (943dd)
- Non streaming completion - by @ericc-ch (f2255)
- Implement chat completions and caching - by @ericc-ch (a153f)
- [wip] change to oauth - by @ericc-ch (917df)
- Use vscode client id - by @ericc-ch (70f1d)
- Error handlings - by @ericc-ch (a3753)
- Update caching duration - by @ericc-ch (9084e)
- Cors middleware - by @ericc-ch (f9dcc)
- Implement streaming chat completions - by @ericc-ch (5088d)
- Change default port - by @ericc-ch (1fbd1)
- Add initialization module and refactor main.ts - by @ericc-ch (55579)
- Add model routes to server - by @ericc-ch (dd7a8)
- Add citty for command-line argument parsing - by @ericc-ch (b4b02)
- Add knip config for entry point - by @ericc-ch (1e5b5)
- Add CLI argument parsing and refactor main entry point - by @ericc-ch (1c3ad)
- Update consola to 3.4.0 and add build scripts - by @ericc-ch (34030)
- Add build scripts for debug and production - by @ericc-ch (b6c93)
- Add api config and refactor api-instance - by @ericc-ch (94086)
- Add fetch-event-stream dependency - by @ericc-ch (cd17f)
- Add ENABLE_STREAMING config and cli option - by @ericc-ch (ec7f8)
- Enable streaming by default for chat completions - by @ericc-ch (465ef)
- Add streaming and non-streaming chat completion handlers - by @ericc-ch (3cf4b)
- Streamline SSE message handling in chat completions - by @ericc-ch (6c77b)
- Rename ENABLE_STREAMING to EMULATE_STREAMING in config and CLI - by @ericc-ch (4db1e)
- Add streaming emulation log to initialization process - by @ericc-ch (63040)
- Add GitHub token retrieval and user fetching services - by @ericc-ch (932ad)
- Implement initialization steps for improved setup process - by @ericc-ch (b3db6)
- Add initializeApp function to handle application initialization - by @ericc-ch (24ae8)
- Limit logged message content length to 100 characters - by @ericc-ch (100c9)
- Improve chat completions route with async handling and error logging - by @ericc-ch (4d6cd)
- Remove newline in models logging - by @ericc-ch (2c9db)
- Update cache path - by @ericc-ch (f4a3e)
- Add configuration and logging functionality to the app - by @ericc-ch (da494)
- Enhance logging functionality and update CLI description - by @ericc-ch (bf98f)
- Add srvx dependency and update main.ts to use srvx for serving - by @ericc-ch (81f80)
- Add configuration and refactor token imports to lib directory - by @ericc-ch (74743)
- Update fs import to use promises and refactor initSteps to async - by @ericc-ch (4f399)
- Log server URL upon initialization completion - by @ericc-ch (ea33b)
- V1 compat routes - by @ericc-ch (d5de3)
- Remove verbose logging - by @ericc-ch (66ccb)
- Enable experimental vision - by @ericc-ch (e1f27)
- Implement streaming responses and dynamic port configuration - by @ericc-ch (acb8e)
- Warn user if default port is in use and a different port is used. - by @ericc-ch (c825e)
- Implement token service for managing GitHub and Copilot tokens - by @ericc-ch (5bf17)
- Add verbose logging option to CLI - by @ericc-ch (db94f)
- Add request/response logging and remove config manager - by @ericc-ch (f3343)
- Log condensed streaming responses for chat completions - by @ericc-ch (b1d43)
- Implement centralized error handling for chat completions route - by @ericc-ch (88b19)
- Forward headers from error responses in chat completions route - by @ericc-ch (7f67c)
- Log request and response headers in logger - by @ericc-ch (6e565)
- Initialization msg formatting - by @ericc-ch (f4c90)
- Add model cache and auto max_tokens based on model selection - by @ericc-ch (3c446)
- Add vitest tests and zod validation for streaming responses - by @ericc-ch (19ba3)
- Improve initialization and update build config - by @ericc-ch (ac721)
- Migrate to flat config and add prettier plugin for package.json - by @ericc-ch (e488f)
- Cache VSCode version on startup - by @ericc-ch (b24db)
- Support GitHub Copilot Business accounts - by @ericc-ch (7f4f4)
- Add docker file - by @Nyamort (a89c1)
- Refactor Dockerfile for multi-stage builds and update package.json prepare script - by @Nyamort (03d90)
- Add token estimation and manual approval to state - by @ericc-ch (fdd94)
- Token counting and manual approval - by @ericc-ch (9a09b)
- Implement manual approval and rate limiting features - by @ericc-ch (9380a)
- Implement rate limiting functionality - by @ericc-ch (396cb)
- Allow disabling rate limit and fix parsing - by @ericc-ch (d4964)
- Implement rate limit waiting instead of erroring - by @ericc-ch (4b4e5)
- Add auth command to handle GitHub token setup - by @ericc-ch (121e6)
- Allow providing GitHub token via command line argument - by @ericc-ch (7c289)
- Mark manual authentication flow as completed - by @ericc-ch (1abca)
- Add force option to auth command and rename main command - by @ericc-ch (13f72)
- Vision flag - by @ericc-ch (7d842)
- Add GH_TOKEN argument to dockerfile - by Filip Trplan (0fdb8)
- Add business account support to auth - by @ericc-ch (b3647)
- Add business account support to auth" - by @ericc-ch (49c26)
- Allow use of GitHub enterprise account type endpoint - by @Luminger (37293)
- Actually log stuff when --verbose - by @ericc-ch (059d3)
- 5 seconds timeout on get vscode ver - by @ericc-ch (544d0)
- Better openai types - by @ericc-ch (3aeaa)
- Add Anthropic API documentation and OpenAI mapping - by @ericc-ch (a8f5f)
- Add Anthropic API translation and streaming support - by @ericc-ch (d3d07)
- Add support for "none" tool choice in Anthropic translation - by @ericc-ch (95a41)
- Update Anthropic API documentation and types - by @ericc-ch (6fb9c)
- Improve Anthropic message type handling and mapping - by @ericc-ch (44f73)
- Add streaming support and examples for Anthropic messages API - by @ericc-ch (b9447)
- Translate OpenAI stream to Anthropic stream events - by @ericc-ch (7c175)
- Add message route and handler - by @ericc-ch (101f4)
- Add Anthropic compatible endpoints - by @ericc-ch (2aab7)
- Return available models from state - by @ericc-ch (f8d16)
- Add Claude Code launch option and dependencies - by @ericc-ch (7ddb9)
- Command generation, bc I cant spawn - by @ericc-ch (bb390)
- Actual command gen - by @ericc-ch (6840e)
- Add Claude Code integration and documentation - by @ericc-ch (4d358)
- Log http error - by @ericc-ch (76b0c)
- Limit logging length - by @ericc-ch (a80ce)
- Improve non-streaming translation and token usage mapping - by @ericc-ch (1bd8a)
- Add show-token flag to display tokens on auth and refresh - by @ericc-ch (0c8ff)
- Add Copilot API Usage Dashboard documentation - by @ericc-ch (cbb91)
- Add agent/user X-Initiator header to chat completions and tests. fixes ericc-ch#68 - by @ericc-ch and opencode in https://github.com/antoncuranz/copilot-api/issues/68 (b2473)
- Fallback to output command if clipboardy fails with Claude Code flag - by @ericc-ch and opencode (289f1)
- Add support for Anthropic thinking blocks - by @lanej (0d3c7)
- Check-usage subcommand - by @ericc-ch (c69dd)
- Add debug subcommand with version, runtime, paths, and auth status info - by @ericc-ch and opencode (b8603)
- More compact usage info - by @ericc-ch (c6816)
- Update usage structure in message events and chat completion types - by @cuipengfei (6a37a)
- Add cache token details to usage and completion token structures - by @cuipengfei (1b8c9)
- Add static site dashboard with GitHub Pages deployment - by @ericc-ch (91729)
- start: Add option to generate Claude Code environment variables - by @caozhiyuan (8b7d8)
🐞 Bug Fixes
- Openai compatible completion endpoint - by @ericc-ch (d5f42)
- Aider litellm exception - by @ericc-ch (f9b62)
- Correct copilot token refresh interval to seconds - by @ericc-ch (450a7)
- Correct description for streaming response flag - by @ericc-ch (6d127)
- Correctly infer streaming option from payload - by @ericc-ch (63051)
- Await logger initialization in app setup process - by @ericc-ch (09388)
- Update initialization to use writeFile for GitHub token path - by @ericc-ch (e667e)
- Update argument parsing to use process.argv instead of Bun.argv - by @ericc-ch (82bf3)
- Add node shebang - by @ericc-ch (358b0)
- Remove commented-out copilot-vision-request header and improve error logging - by @ericc-ch (33a40)
- Enable copilot vision request and improve error logging - by @ericc-ch (56451)
- Improve SSE chunk handling and logging in chat completions - by @ericc-ch (50df7)
- Use bunx eslint and fix log-file arg in main.ts - by @ericc-ch (5177a)
- Improve error handling and logging in chat completions route - by @ericc-ch (59d1f)
- Ensure GitHub token file exists and has correct permissions - by @ericc-ch (107c5)
- Remove JSON.stringify from user login consola output - by @ericc-ch (3ff32)
- Use Bearer token for copilot authorization and remove logger. - by @ericc-ch (adcbf)
- Handle errors and cache models correctly - by @ericc-ch (20c50)
- Request device code with scopes - by @ericc-ch (2f293)
- Rate-limit-wait argument to wait - by @ericc-ch (5df5d)
- Return message in error responses and set status to 403 for approval - by @ericc-ch (2ed06)
- Prevent countTokens from counting images - by Filip Trplan (41af4)
- Ensure models are cached before serving requests - by @ericc-ch (43dc7)
- Corrected type definitions for ChatCompletion responses - by @ericc-ch (e5072)
- Double use of response body - by @ericc-ch and opencode (fab72)
- Replace .loose() with .passthrough() in Zod schema - by @lanej and Claude (b4d77)
- Remove bun.lock from .dockerignore to fix docker build error - by @longnz (072b4)
- Ensure tool results precede user content to comply with Anthropic protocol - by @ericc-ch and opencode (7776a)
- Claude code sub-agent models - by @garethknowles (f2cd3)
- Ensure loading spinner displays as proper rotating circle - by @ericc-ch (40866)
- Map content in handleUserMessage for tool call responses - by TinyCoder (2868d)
- Optional proxy env - by @ericc-ch (7c913)
- proxy: Type errors - by @ericc-ch (08bf6)