New#2
Open
Ironboxplus wants to merge 1234 commits into
Open
Conversation
dae9fcf to
c55780c
Compare
1c05e6a to
08e2429
Compare
82e53c6 to
982b813
Compare
f53e4cc to
ab55e95
Compare
2293a13 to
06dff20
Compare
ed8b239 to
4888395
Compare
9582f7c to
6b7618e
Compare
309a7d4 to
ba191cd
Compare
- Added trimming for stream input lines to prevent processing of unnecessary whitespace. - Improved handling of unsupported prefixes and malformed JSON responses, ensuring errors are recorded and propagated appropriately. Fixed: router-for-me#2690
…e-per-request-map fix(amp): smart-mode tool name fixes + deep-mode response repair
…protocol-parity Align Codex websocket protocol semantics
- Introduced a Go-based plugin `codex-service-tier` for normalizing requests to Codex. - Added functionality to set `service_tier` to `priority` for `gpt-5.5` requests when `fast` mode is enabled. - Enhanced plugin capabilities with lifecycle configuration and request transformation support. - Updated documentation with configuration examples and usage instructions in multiple languages.
…request parsing - Added fallback to handle cases where `system_instruction.parts` is absent by checking for `systemInstruction.parts`.
…cies - Updated `Dockerfile` base images from `golang:1.26-alpine` and `alpine:3.23` to `golang:1.26-bookworm` and `debian:bookworm`. - Replaced `apk` with `apt-get` for dependency installation. - Added `buildvcs=false` flag to Go build command for enhanced reproducibility.
…k processing in Gemini and Antigravity translators - Added support for processing `signature-only` chunks without opening empty text blocks. - Refactored chunk handling logic to include `signature_delta` events for improved fidelity. - Unified logic for emitting final message states, including `message_delta` and `message_stop`, to ensure consistent behavior across different scenarios. - Enhanced caching mechanism for thought signatures.
… notes handling - Introduced `build-linux-glibc` and `build-linux-no-plugin` workflows for creating Linux release assets with and without plugin support. - Enhanced release workflow with dynamic update of release notes for Linux assets. - Improved checksum generation and validation for Linux binaries. - Updated workflow matrix for better platform coverage and asset handling.
- Updated `README.md`, `README_JA.md`, and `README_CN.md` with information about RunAPI as a sponsor. - Included descriptions of RunAPI's features, benefits, and discounts. - Added `runapi.png` asset to the project.
…ningHandler` - Added handling for `/management.html` in `ExampleAPIKeyWarningHandler`. - Updated tests to validate correct behavior for the new route.
- Eliminated redundant checksum generation steps in release workflows. - Updated asset validation checks to exclude checksum files and focus solely on archive assets. - Simplified workflow logic for packaging and uploading release artifacts.
…d images The OpenAI images path (/v1/images/*) previously called patchCodexCompletedOutput to concatenate collected output_item.done items back into the completed event and then re-parsed that rebuilt JSON to pull out the image results. For multi-megabyte base64 image payloads this produced two extra full-size copies per request (the concatenated output array plus the rebuilt completed event), inflating peak memory under concurrent image generation. Add codexExtractImageResults, which extracts image_generation_call results directly from either the completed event's response.output or the collected items, without the concatenate-and-reparse step. Semantics are preserved: completed output is preferred and collected items are used only when it is empty, matching the original patchCodexCompletedOutput behaviour. patchCodexCompletedOutput remains in use by the text/responses path, which still forwards the patched event downstream. Adds unit tests covering the completed-output path, the ordered fallback to collected items, output preference, fallback list, and the wrong-event-type guard.
Apply review feedback on codexExtractImageResults: preallocate the results slice to its known maximum capacity to avoid growth reallocations, and guard the itemsByIndex index-build/sort with a length check so no empty slice is allocated or sorted when only the fallback items are present.
- Implemented `RequestInterceptor`, `ResponseInterceptor`, and `StreamChunkInterceptor` capabilities. - Added `sanitizePluginMetadata` to clean metadata for RPC compatibility. - Enhanced interceptor chaining, error handling, and test coverage. - Updated plugin configuration to register and dispatch interceptor methods.
…eaming-memory perf(codex): avoid rebuilding completed JSON when extracting generated images
…rs and capabilities - Implemented `RequestInterceptor`, `ResponseInterceptor`, and `StreamChunkInterceptor` using embedded JavaScript. - Added support for configuring script paths, built-in script resolution, and safe execution. - Introduced ABI lifecycle management, plugin registration, and execution monitoring. - Enhanced with extensive test coverage for both plugin behavior and configuration logic.
…viders - Introduced `FrontendAuthProviderExclusive` capability to restrict authentication to a single selected provider. - Added `SetExclusiveProvider` and `ClearExclusiveProvider` methods for managing exclusive providers in the access registry. - Updated `pluginhost` to prioritize and enforce exclusive providers based on plugin priority and ID. - Enhanced RPC capabilities schema to include `FrontendAuthProviderExclusive` field. - Added example plugin and tests for exclusive frontend auth behavior.
…stream-error-upstream-dev fix: translate codex stream errors for claude
…ersion-upstream-dev fix: update antigravity version lookup
… capabilities - Added a Go scheduler plugin demonstrating CLIProxyAPI capabilities, such as `plugin.register`, `plugin.reconfigure`, and `scheduler.pick`. - Implemented methods for plugin configuration, built-in scheduler delegation (`fill-first`, `round-robin`), dynamic candidate selection, and error handling. - Extended `pluginhost` with scheduler handling, candidate normalization, and fallback mechanisms. - Included examples, tests, and detailed documentation for scheduler usage and implementation.
…fast-path tests - Added `pluginSchedulerState` interface with `HasScheduler` method for improved plugin scheduler state checks. - Updated `Manager.hasPluginScheduler` to handle `HasScheduler` logic. - Implemented and tested fast-path handling for inactive plugin schedulers, including mixed provider scenarios. - Expanded unit test coverage to ensure correct behavior in various scheduler states.
…original request support - Added `opts.OriginalRequest` handling to `applyResponseInterceptors` for improved context passing. - Introduced new test `TestApplyJSBeforeRequestUsesReturnedCtxBody` to validate JavaScript interceptor behavior. - Updated JavaScript-based handler to safely rewrite sensitive content and headers in requests. - Refined interceptor logic to ensure consistent state retention across request processing.
… and removing `RoundRobinSelector` - Removed `pluginDelegateRoundRobin` and related logic to streamline plugin scheduler management. - Consolidated scheduler strategies under `builtinSchedulerStrategy` with `pickViaBuiltinScheduler`. - Introduced new methods `pickSingleWithStrategy` and `pickMixedWithStrategy` for strategy-specific behavior. - Updated tests to reflect changes, including added coverage for round-robin and mixed-provider scenarios. - Improved maintainability by unifying scheduling logic and reducing redundant structures.
…rs and JS engine logging - Added `HostCallbackID` to request, response, and stream chunk interceptors for enhanced context tracking. - Updated JavaScript engine to support custom console logging with `HostCallbackID` forwarding. - Introduced tests verifying proper integration of `HostCallbackID` in all interceptor flows and engine logging. - Enhanced logging and error handling for consistent callback-related logic implementation.
…agement API - Added `resources` field in `management.register` for defining browser-accessible resources. - Updated examples and documentation to reflect resource-based paths under `/v0/resource/plugins/<pluginID>/...`. - Replaced legacy `GET` menu routes with resource-based implementations for consistent plugin behavior. - Enhanced request handling for resource paths, including proper response headers and streamlined test coverage.
Notable upstream changes: - Plugin system: new pluginhost/jshandler/interceptor architecture - Build: migrate from Alpine to Debian, refactor release workflows - Codex: identity obfuscation, reasoning replay cache, orphan tool fix - Auth: Cloudflare challenge retry/backoff, runtime auth removal - Perf: codex image extraction optimization, preallocate results - Signature: delta handling for Gemini/Antigravity translators - Models: grok-composer-2.5-fast, remove legacy GPT 5.2/5.3 - Safemode: management.html route, example API key warning Conflict resolution: - internal/logging/request_logger.go: kept our writeLog closure + error log support, added upstream's new apiRequestSource/apiResponseSource params to writeNonStreamingLog call
Same config as Opus 4.8: 1M context, 128K max completion, thinking with levels low/medium/high/xhigh/max.
- Add fable to embedded models.json - Change model updater from full-replace to incremental merge: remote models update/add, local-only models are preserved. Once remote adds fable, remote version takes precedence. - Add WithClaudeBuiltins for fable injection after remote refresh - TDD: 3 merge tests + 2 builtin tests
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.
No description provided.