mirror of
https://github.com/cline/cline.git
synced 2026-09-19 10:13:34 +08:00
* fix: openai native provider token usage mapping - Add `store` parameter support to OpenAI native provider options to allow persisting completions. - Fix incorrect mapping of `cached_tokens` and `reasoning_tokens` in usage statistics. - Include `thoughtsTokenCount` in the final usage report to track reasoning model performance and costs. * feat: add websocket support for OpenAI Responses API This commit introduces WebSocket support for the OpenAI Native provider's Responses API, providing an alternative to the standard HTTP streaming. - Implement `createResponseStreamWebsocket` in `OpenAiNativeHandler` with a fallback to HTTP on failure. - Refactor `OpenAiNativeHandler` to modularize tool mapping and parameter construction for the Responses API. - Update `OcaHandler` to explicitly disable `previousResponseId` when using the Responses API and add validation for model information. - Integrate `undici` WebSocket for better compatibility in the extension environment. * disablePreviousResponseId * feat: add timestamp to conversation messages for response chaining Add `ts` field to `ClineStorageMessage` to track when messages were created. Use this timestamp to enforce a 23-hour validity window when chaining OpenAI responses via `previousResponseId`, since the API only retains responses for 24 hours. Also fix non-null assertion operators in tests to use optional chaining for safer access. * add OpenAI Responses Websocket Mode ApiFormat support - Add `OPENAI_RESPONSES_WEBSOCKET_MODE` to the `ApiFormat` enum in proto definitions. - Update `OpenAiNativeHandler` to use the new API format for determining when to use websocket mode, replacing previous environment-based logic. - Refactor tool mapping for OpenAI Responses to support strict mode and correctly handle null parameters. - Ensure the `store` option is disabled when `previous_response_id` is present in websocket mode. - Bump version to 2.4.1 and update package dependencies. * use abortController * add support for websocket mode to openai-codex * set behind feature flag