Conversation
KooshaPari
commented
Feb 23, 2026
- fix(lint): resolve multiple linting issues in internal packages
- feat: comprehensive test coverage and fixes for CLIProxyAPI Plus
- refactor(config): registry-based premade provider injection
- refactor(config): switch to data-driven codegen for dedicated providers and fix kiro_websearch functions
- chore: rename repository to cliproxyapi-plusplus
- refactor(pkg): update internal config imports to pkg/llmproxy/config
- refactor: update imports to point to pkg/llmproxy
- refactor: global import updates to pkg/llmproxy
- chore: rebranding to cliproxyapi++ (throwback to notepad++)
- docs: deep-dive optimization of READMEs and final branding updates
- docs: add ++ feature reference, docsets, and pages workflow
- ci: enable github pages setup in vitepress workflow
- tmp
- tmp
- docs: expand provider-first docs and README
- wip: snapshot local CLIProxyAPIPlus working state
- chore: snapshot current local working state
- fix(responses): prevent JSON tree corruption from literal control chars in function output
- chore: checkpoint current worktree before 7-lane bug wave
- fix: resolve build/test failures and improve CI
- chore: preserve current cliproxy work state
- chore: remove generated fragmented docs and logs
- feat: preserve ongoing cliproxy work
- chore: checkpoint tui edits before branch consolidation
- chore: checkpoint pending tracked edits before main consolidation
- docs: assign issue lanes for first 30 CPB items
- chore: align cli proxy main and stage issue wave lanes
- test(api): relax claude-cli smoke assertion for /v1/models
- feat(tui): add fa locale support and parity tests
- fix(codex): support variant fallback for reasoning effort
- fix(codex): map responses variant to reasoning effort
- fix(codex): parse variant as codex thinking fallback
- wave(lane1): codex variant fallback + lane report
- wave(lane2): copilot/kiro alias fixes + lane report
- wave(lane3): nullable schema + mgmt/fs fixes + lane report
- wave(lane4): kiro token fallback + amp model route + lane report
- wave(lane5): dedupe kiro tool_calls + lane report
- wave(lane6): kiro refresh hardening + docs + lane report
- fix(kiro): accept Bash cmd alias to prevent amp truncation loops ([Bug] Kiro 与 Ampcode 的 Bash 工具参数不兼容 #210)
- wave(lane7): config/routing/auth diagnostics + lane report
- fix(registry): normalize github-copilot context windows to 128k (context length for models registered from github-copilot should always be 128K #241)
- feat(tui): add Farsi locale parity with Mandarin/English
- feat(tui): add Farsi locale parity with Mandarin/English
- feat(tui): add Farsi locale parity with Mandarin/English
- feat(amp): add kiro-compatible amp auth flow and tests (Add AMP auth as Kiro #232)
- fix(gemini): sanitize nullable tool schema types in responses translator (bug: Nullable type arrays in tool schemas cause 400 error on Antigravity/Droid Factory #206)
- test(auth/kiro): avoid roundTripper helper redeclaration
- docs(planning): add v6.6.19 #35 integration summary
- docs: stage CPB-0001..0035 lane manifest and lane-1 execution
- chore(main): checkpoint current local state before integration merge
- fix(docs): resolve dead link to agents page in planning docs
- docs(validation): audit open upstream items against implemented state
- wave(v2-l1): cpb-0036..0045 triage + docs quick wins
- wave(v2-l2): cpb-0046..0055 triage + openai compat endpoint
- wave(v2-l3): cpb-0056..0065 triage + kiro/config hardening
- wave(v2-l4): cpb-0066..0075 triage + docs/test quick wins
- wave(v2-l5): cpb-0076..0085 triage + compact/translator coverage
- wave(v2-l6): cpb-0086..0095 triage + log/codex hardening
- wave(v2-l7): cpb-0096..0105 triage + docs/runtime checks
- chore(main): checkpoint wave-v2 working state before branch merges
- fix(merge): remove conflict markers from cpbv2-3 docs
- docs(troubleshooting): normalize API key placeholder examples
- chore(main): checkpoint pre-wave-v3 state
- wave(v3-l3): cpb-0126..0135 triage + thinking diagnostics
- Replace manual prefix/suffix checks with strings.TrimPrefix/TrimSuffix - Remove unused functions and variables in kiro_executor.go and request_logger.go - Move default case to the end of switch statement in kiro_executor.go - Fix function signatures and call sites in kiro_executor.go where arguments were immediately overwritten Co-authored-by: Cursor <cursoragent@cursor.com>
- Added unit tests for internal/auth packages (codex, copilot, gemini, kiro). - Added unit tests for internal/runtime/executor, specifically for Kiro executor. - Added unit tests for various internal translators. - Improved internal/api and sdk test coverage. - Fixed a race condition in Kiro social authentication callback server. - Updated .gitignore to exclude build artifacts and coverage files. - Cleaned up go.mod and go.sum with go mod tidy. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…rs and fix kiro_websearch functions This commit: - Updates cmd/codegen/main.go to support multiple templates and directories. - Embeds GeneratedConfig in internal/config/Config. - Restores SSE and message ID functions in internal/translator/kiro/claude/kiro_websearch.go. - Adds pkg/llmproxy/ directory structure for shared components. - Fixes missing strings import in generated config files. Co-authored-by: Cursor <cursoragent@cursor.com>
Renamed references to CLIProxyAPIPlus to cliproxyapi++ (display) and cliproxyapi-plusplus (technical). Updated GitHub remote and internal URLs. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts: # pkg/llmproxy/translator/codex/claude/codex_claude_response.go # pkg/llmproxy/translator/kiro/openai/kiro_openai_request.go
…rs in function output When function_call_output contains double-encoded JSON (e.g. file content with \n and \" inside a JSON string), gjson .Str decodes the outer escape sequences, producing raw values with literal newlines. Passing these directly to sjson.SetRaw corrupts the surrounding JSON tree because sjson mis-parses string boundaries on literal control characters. Add containsLiteralControlChars guard: when the parsed output.Raw contains literal newlines/CR (0x00-0x1F except tab), fall back to sjson.Set which safely escapes the value as a JSON string. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Critical fixes: - Fix duplicate route registration panic (/v1/responses -> /v1/responses/ws) - Add missing RunKiloLoginWithRunner and kiloInstallHint for tests - Add Manager.Executor() method and fix RegisterExecutor cleanup - Add CloseExecutionSession to test mock executors - Fix config_test.go to use embedded GeneratedConfig struct - Fix Codex response finish_reason for tool_calls CI improvements: - Add golangci-lint configuration (.golangci.yml) - Update release.yaml to setup-go@v5 - Add test and lint steps to PR workflow Cleanup: - Remove obsolete service_codex_executor_binding_test.go Cherry-picked from upstream: - PR router-for-me#1672: Prevent JSON tree corruption from literal control chars
This comment was marked as spam.
This comment was marked as spam.
Summary of ChangesHello @KooshaPari, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request represents a significant evolution of the project, marked by a strategic rebranding to 'cliproxyapi++' and a fundamental architectural shift towards a library-first design. The changes aim to enhance the project's stability, security, and extensibility, particularly for high-scale production environments. A major focus has been placed on fortifying the CI/CD pipeline with advanced quality gates and security checks, alongside a comprehensive overhaul of the documentation to provide clear guidance for users, developers, and operators. Furthermore, the update expands support for a broader ecosystem of LLM providers through new login mechanisms and refines configuration management for improved operational resilience. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
This comment was marked as spam.
This comment was marked as spam.
There was a problem hiding this comment.
Code Review
This is a substantial pull request that significantly refactors and enhances the project. The key changes include a major architectural shift to a "library-first" approach by moving core logic from internal to a public pkg/llmproxy package, a rebranding to cliproxyapi++, and a massive expansion of documentation using VitePress. The PR also introduces comprehensive CI/CD improvements with new scripts for security, quality, and release governance, and adds support for a wide range of new LLM providers. The overall quality of the changes is high, and they greatly improve the project's structure, maintainability, and operational maturity. I have not found any issues that meet the severity threshold of medium or higher.