Skip to content

workstream cpbv3 3#263

Closed
KooshaPari wants to merge 91 commits intorouter-for-me:mainfrom
KooshaPari:workstream-cpbv3-3
Closed

workstream cpbv3 3#263
KooshaPari wants to merge 91 commits intorouter-for-me:mainfrom
KooshaPari:workstream-cpbv3-3

Conversation

@KooshaPari
Copy link
Copy Markdown

  • 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

KooshaPari and others added 30 commits February 16, 2026 04:29
- 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
@KooshaPari

This comment was marked as spam.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @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

  • Rebranding: The project has been officially rebranded from 'CLIProxyAPI Plus' to 'cliproxyapi++', reflecting a new direction and enhanced capabilities across various files and configurations.
  • CI/CD Pipeline Enhancement: A robust CI/CD pipeline has been introduced with new GitHub Actions policies, required checks, and custom scripts for external endpoint validation, critical path testing, secret scanning, and workflow token permission checks.
  • Architectural Shift to Library-First Design: Core proxy logic has been refactored from 'internal/' to 'pkg/llmproxy/', enabling reusability as a Go library and improving modularity, as reflected in numerous file renames and import path updates.
  • Comprehensive Documentation: Extensive new documentation has been added, covering feature guides, API references, operational runbooks, and planning boards, enhancing clarity and usability for various audiences.
  • Expanded Provider Login Options: New command-line flags have been introduced to support login flows for a wider array of LLM providers, including Roo, MiniMax, DeepSeek, Groq, Mistral, SiliconFlow, OpenRouter, Together, Fireworks, and Novita.
  • Improved Configuration Management: Enhanced logic for resolving default configuration paths ensures more flexible and robust startup behavior, particularly in cloud environments, and new code generation tools streamline provider configuration.

🧠 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
  • .github/ISSUE_TEMPLATE/bug_report.md
    • Updated the bug report template to reflect the new project name and gather more relevant configuration and environment information.
  • .github/policies/approved-external-endpoints.txt
    • Added a new policy file listing approved external endpoint hosts for security validation.
  • .github/release-required-checks.txt
    • Added a new file defining required CI checks for release workflows.
  • .github/required-checks.txt
    • Added a new file defining general required CI checks for pull requests.
  • .github/scripts/check-approved-external-endpoints.sh
    • Added a new script to enforce the approved external endpoints policy.
  • .github/scripts/check-distributed-critical-paths.sh
    • Added a new script to validate critical distributed paths within the codebase.
  • .github/scripts/check-docs-secret-samples.sh
    • Added a new script to scan documentation for potential secret samples.
  • .github/scripts/check-workflow-token-permissions.sh
    • Added a new script to verify GitHub Actions workflow token permissions.
  • .github/scripts/release-lint.sh
    • Added a new script for release-specific linting, including config example and markdown snippet parsing.
  • .gitignore
    • Updated ignored files to include new build artifacts and documentation-related directories.
  • .golangci.yml
    • Added a new configuration file for 'golangci-lint', enabling specific linters and defining exclusion rules.
  • .goreleaser.yml
    • Updated the build ID and binary name to reflect the 'cliproxyapi++' rebranding.
  • CONTRIBUTING.md
    • Added a new contributing guide with details on reporting bugs, suggesting enhancements, pull request guidelines, and project governance.
  • Dockerfile
    • Updated the Dockerfile to use the new binary name 'cliproxyapi++' and adjusted version flags.
  • LICENSE
    • Updated the license file to include a new copyright holder.
  • README.md
    • Revamped the main README to introduce 'cliproxyapi++', detail its advantages, feature comparison, technical differences, getting started guide, provider capabilities, contributing guidelines, and documentation links.
  • README_CN.md
    • Updated the Chinese README with the new branding and detailed feature comparison.
  • SECURITY.md
    • Added a new security policy document outlining supported versions, vulnerability reporting, and hardening measures.
  • Taskfile.yml
    • Added a new Taskfile for unified development experience, including build, test, quality, Docker, and health commands.
  • cmd/boardsync/main.go
    • Added a new Go program for syncing GitHub sources and generating planning board artifacts.
  • cmd/codegen/main.go
    • Added a new Go program for data-driven code generation of provider configurations and synthesizers.
  • cmd/server/config_path.go
    • Added a new file to resolve default configuration paths more robustly.
  • cmd/server/config_path_test.go
    • Added unit tests for the new config path resolution logic.
  • cmd/server/main.go
    • Modified the main server entry point to incorporate new login flags, config path resolution, and updated import paths.
  • cmd/server/main_kiro_flags_test.go
    • Added tests for Kiro incognito flags.
  • config.example.yaml
    • Updated the example configuration file with new default values, removed 'passthrough-headers', and added placeholders for new provider configurations.
  • docker-compose.yml
    • Updated the Docker Compose file to use the new image name and container name.
  • docs/.vitepress/config.ts
    • Added a new VitePress configuration file for the documentation site, defining navigation, sidebar, and build settings.
  • docs/FEATURE_CHANGES_PLUSPLUS.md
    • Added a new document detailing feature changes in 'cliproxyapi++' compared to the baseline.
  • docs/README.md
    • Added a new documentation map for the VitePress site.
  • docs/api/index.md
    • Added an API index document.
  • docs/api/management.md
    • Added documentation for the Management API.
  • docs/api/openai-compatible.md
    • Added documentation for the OpenAI-Compatible API.
  • docs/api/operations.md
    • Added documentation for the Operations API.
  • docs/docsets/agent/index.md
    • Added an agent operator docset index.
  • docs/docsets/agent/operating-model.md
    • Added a document describing the agent operating model.
  • docs/docsets/developer/external/index.md
    • Added an external developer docset index.
  • docs/docsets/developer/external/integration-quickstart.md
    • Added an integration quickstart guide for external developers.
  • docs/docsets/developer/internal/architecture.md
    • Added internal architecture documentation for developers.
  • docs/docsets/developer/internal/index.md
    • Added an internal developer docset index.
  • docs/docsets/index.md
    • Added a docsets index.
  • docs/docsets/user/index.md
    • Added a technical user docset index.
  • docs/docsets/user/quickstart.md
    • Added a quickstart guide for technical users.
  • docs/features/architecture/DEV.md
    • Added developer guide for extending architecture.
  • docs/features/architecture/SPEC.md
    • Added technical specification for architecture.
  • docs/features/architecture/USER.md
    • Added user guide for architecture.
  • docs/features/architecture/fragemented/.fragmented-candidates.txt
    • Added file for fragmented candidates.
  • docs/features/architecture/fragemented/.migration.log
    • Added migration log for fragmented docs.
  • docs/features/architecture/fragemented/DEV.md
    • Added fragmented developer guide for architecture.
  • docs/features/architecture/fragemented/README.md
    • Added fragmented README for architecture.
  • docs/features/architecture/fragemented/SPEC.md
    • Added fragmented technical specification for architecture.
  • docs/features/architecture/fragemented/USER.md
    • Added fragmented user guide for architecture.
  • docs/features/architecture/fragemented/explanation.md
    • Added explanation for fragmented docs.
  • docs/features/architecture/fragemented/index.md
    • Added fragmented index for architecture.
  • docs/features/architecture/fragemented/merged.md
    • Added merged fragmented markdown for architecture.
  • docs/features/auth/DEV.md
    • Added developer guide for authentication.
  • docs/features/auth/SPEC.md
    • Added technical specification for authentication.
  • docs/features/auth/USER.md
    • Added user guide for authentication.
  • docs/features/auth/index.md
    • Added authentication feature docs index.
  • docs/features/index.md
    • Added feature guides index.
  • docs/features/operations/SPEC.md
    • Added technical specification for operations.
  • docs/features/operations/USER.md
    • Added user guide for operations.
  • docs/features/operations/index.md
    • Added operations feature docs index.
  • docs/features/providers/SPEC.md
    • Added technical specification for providers.
  • docs/features/providers/USER.md
    • Added user guide for providers.
  • docs/features/providers/fragemented/.fragmented-candidates.txt
    • Added file for fragmented candidates.
  • docs/features/providers/fragemented/.migration.log
    • Added migration log for fragmented docs.
  • docs/features/providers/fragemented/README.md
    • Added fragmented README for providers.
  • docs/features/providers/fragemented/SPEC.md
    • Added fragmented technical specification for providers.
  • docs/features/providers/fragemented/USER.md
    • Added fragmented user guide for providers.
  • docs/features/providers/fragemented/explanation.md
    • Added explanation for fragmented docs.
  • docs/features/providers/fragemented/index.md
    • Added fragmented index for providers.
  • docs/features/providers/fragemented/merged.md
    • Added merged fragmented markdown for providers.
  • docs/features/security/SPEC.md
    • Added technical specification for security.
  • docs/features/security/USER.md
    • Added user guide for security.
  • docs/features/security/index.md
    • Added security feature docs index.
  • docs/getting-started.md
    • Added a new getting started guide.
  • docs/index.md
    • Added the main documentation index.
  • docs/install.md
    • Added an installation guide.
  • docs/operations/auth-refresh-failure-symptom-fix.md
    • Added a guide for troubleshooting auth refresh failures.
  • docs/operations/checks-owner-responder-map.md
    • Added a map for check ownership and incident response.
  • docs/operations/critical-endpoints-curl-pack.md
    • Added a curl pack for critical endpoints.
  • docs/operations/distributed-fs-compute-status.md
    • Added a document detailing distributed filesystem and compute status.
  • docs/operations/index.md
    • Added an operations response kit index.
  • docs/operations/provider-outage-triage-quick-guide.md
    • Added a quick guide for provider outage triage.
  • docs/operations/release-governance.md
    • Added a release governance and checklist document.
  • docs/operations/required-branch-check-ownership.md
    • Added a document detailing required branch check ownership.
  • docs/package-lock.json
    • Added a new package-lock.json for documentation dependencies.
  • docs/package.json
    • Added a new package.json for documentation dependencies.
  • pkg/llmproxy/access/config_access/provider.go
    • Renamed from 'internal/access/config_access/provider.go' to 'pkg/llmproxy/access/config_access/provider.go'.
  • pkg/llmproxy/access/reconcile.go
    • Renamed from 'internal/access/reconcile.go' to 'pkg/llmproxy/access/reconcile.go'.
  • pkg/llmproxy/api/handlers/management/api_tools.go
    • Renamed from 'internal/api/handlers/management/api_tools.go' to 'pkg/llmproxy/api/handlers/management/api_tools.go'.
  • pkg/llmproxy/api/handlers/management/api_tools_cbor_test.go
    • Renamed from 'internal/api/handlers/management/api_tools_cbor_test.go' to 'pkg/llmproxy/api/handlers/management/api_tools_cbor_test.go'.
  • pkg/llmproxy/api/handlers/management/api_tools_test.go
    • Renamed from 'internal/api/handlers/management/api_tools_test.go' to 'pkg/llmproxy/api/handlers/management/api_tools_test.go'.
  • pkg/llmproxy/api/handlers/management/auth_files.go
    • Renamed from 'internal/api/handlers/management/auth_files.go' to 'pkg/llmproxy/api/handlers/management/auth_files.go'.
  • pkg/llmproxy/api/handlers/management/config_basic.go
    • Renamed from 'internal/api/handlers/management/config_basic.go' to 'pkg/llmproxy/api/handlers/management/config_basic.go'.
  • pkg/llmproxy/api/handlers/management/config_lists.go
    • Renamed from 'internal/api/handlers/management/config_lists.go' to 'pkg/llmproxy/api/handlers/management/config_lists.go'.
  • pkg/llmproxy/api/handlers/management/handler.go
    • Renamed from 'internal/api/handlers/management/handler.go' to 'pkg/llmproxy/api/handlers/management/handler.go'.
  • pkg/llmproxy/api/handlers/management/logs.go
    • Renamed from 'internal/api/handlers/management/logs.go' to 'pkg/llmproxy/api/handlers/management/logs.go'.
  • pkg/llmproxy/api/handlers/management/model_definitions.go
    • Renamed from 'internal/api/handlers/management/model_definitions.go' to 'pkg/llmproxy/api/handlers/management/model_definitions.go'.
  • pkg/llmproxy/api/handlers/management/oauth_callback.go
    • Renamed from 'internal/api/handlers/management/oauth_callback.go' to 'pkg/llmproxy/api/handlers/management/oauth_callback.go'.
  • pkg/llmproxy/api/handlers/management/oauth_sessions.go
    • Renamed from 'internal/api/handlers/management/oauth_sessions.go' to 'pkg/llmproxy/api/handlers/management/oauth_sessions.go'.
  • pkg/llmproxy/api/handlers/management/quota.go
    • Renamed from 'internal/api/handlers/management/quota.go' to 'pkg/llmproxy/api/handlers/management/quota.go'.
  • pkg/llmproxy/api/handlers/management/usage.go
    • Renamed from 'internal/api/handlers/management/usage.go' to 'pkg/llmproxy/api/handlers/management/usage.go'.
  • pkg/llmproxy/api/handlers/management/vertex_import.go
    • Renamed from 'internal/api/handlers/management/vertex_import.go' to 'pkg/llmproxy/api/handlers/management/vertex_import.go'.
  • pkg/llmproxy/api/middleware/request_logging.go
    • Renamed from 'internal/api/middleware/request_logging.go' to 'pkg/llmproxy/api/middleware/request_logging.go'.
  • pkg/llmproxy/api/middleware/response_writer.go
    • Renamed from 'internal/api/middleware/response_writer.go' to 'pkg/llmproxy/api/middleware/response_writer.go'.
  • pkg/llmproxy/api/modules/amp/amp.go
    • Renamed from 'internal/api/modules/amp/amp.go' to 'pkg/llmproxy/api/modules/amp/amp.go'.
  • pkg/llmproxy/api/modules/amp/amp_test.go
    • Renamed from 'internal/api/modules/amp/amp_test.go' to 'pkg/llmproxy/api/modules/amp/amp_test.go'.
  • pkg/llmproxy/api/modules/amp/fallback_handlers.go
    • Renamed from 'internal/api/modules/amp/fallback_handlers.go' to 'pkg/llmproxy/api/modules/amp/fallback_handlers.go'.
  • pkg/llmproxy/api/modules/amp/fallback_handlers_test.go
    • Renamed from 'internal/api/modules/amp/fallback_handlers_test.go' to 'pkg/llmproxy/api/modules/amp/fallback_handlers_test.go'.
  • pkg/llmproxy/api/modules/amp/gemini_bridge.go
    • Renamed from 'internal/api/modules/amp/gemini_bridge.go' to 'pkg/llmproxy/api/modules/amp/gemini_bridge.go'.
  • pkg/llmproxy/api/modules/amp/gemini_bridge_test.go
    • Renamed from 'internal/api/modules/amp/gemini_bridge_test.go' to 'pkg/llmproxy/api/modules/amp/gemini_bridge_test.go'.
  • pkg/llmproxy/api/modules/amp/model_mapping.go
    • Renamed from 'internal/api/modules/amp/model_mapping.go' to 'pkg/llmproxy/api/modules/amp/model_mapping.go'.
  • pkg/llmproxy/api/modules/amp/model_mapping_test.go
    • Renamed from 'internal/api/modules/amp/model_mapping_test.go' to 'pkg/llmproxy/api/modules/amp/model_mapping_test.go'.
  • pkg/llmproxy/api/modules/amp/proxy.go
    • Renamed from 'internal/api/modules/amp/proxy.go' to 'pkg/llmproxy/api/modules/amp/proxy.go'.
  • pkg/llmproxy/api/modules/amp/proxy_test.go
    • Renamed from 'internal/api/modules/amp/proxy_test.go' to 'pkg/llmproxy/api/modules/amp/proxy_test.go'.
  • pkg/llmproxy/api/modules/amp/response_rewriter.go
    • Renamed from 'internal/api/modules/amp/response_rewriter.go' to 'pkg/llmproxy/api/modules/amp/response_rewriter.go'.
  • pkg/llmproxy/api/modules/amp/response_rewriter_test.go
    • Renamed from 'internal/api/modules/amp/response_rewriter_test.go' to 'pkg/llmproxy/api/modules/amp/response_rewriter_test.go'.
  • pkg/llmproxy/api/modules/amp/routes.go
    • Renamed from 'internal/api/modules/amp/routes.go' to 'pkg/llmproxy/api/modules/amp/routes.go'.
  • pkg/llmproxy/api/modules/amp/routes_test.go
    • Renamed from 'internal/api/modules/amp/routes_test.go' to 'pkg/llmproxy/api/modules/amp/routes_test.go'.
  • pkg/llmproxy/api/modules/amp/secret.go
    • Renamed from 'internal/api/modules/amp/secret.go' to 'pkg/llmproxy/api/modules/amp/secret.go'.
  • pkg/llmproxy/api/modules/amp/secret_test.go
    • Renamed from 'internal/api/modules/amp/secret_test.go' to 'pkg/llmproxy/api/modules/amp/secret_test.go'.
  • pkg/llmproxy/api/modules/modules.go
    • Renamed from 'internal/api/modules/modules.go' to 'pkg/llmproxy/api/modules/modules.go'.
  • pkg/llmproxy/api/server.go
    • Renamed from 'internal/api/server.go' to 'pkg/llmproxy/api/server.go'.
  • pkg/llmproxy/auth/antigravity/auth.go
    • Renamed from 'internal/auth/antigravity/auth.go' to 'pkg/llmproxy/auth/antigravity/auth.go'.
  • pkg/llmproxy/auth/antigravity/constants.go
    • Renamed from 'internal/auth/antigravity/constants.go' to 'pkg/llmproxy/auth/antigravity/constants.go'.
  • pkg/llmproxy/auth/antigravity/filename.go
    • Renamed from 'internal/auth/antigravity/filename.go' to 'pkg/llmproxy/auth/antigravity/filename.go'.
  • pkg/llmproxy/auth/claude/anthropic.go
    • Renamed from 'internal/auth/claude/anthropic.go' to 'pkg/llmproxy/auth/claude/anthropic.go'.
  • pkg/llmproxy/auth/claude/anthropic_auth.go
    • Renamed from 'internal/auth/claude/anthropic_auth.go' to 'pkg/llmproxy/auth/claude/anthropic_auth.go'.
  • pkg/llmproxy/auth/claude/errors.go
    • Renamed from 'internal/auth/claude/errors.go' to 'pkg/llmproxy/auth/claude/errors.go'.
  • pkg/llmproxy/auth/claude/html_templates.go
    • Renamed from 'internal/auth/claude/html_templates.go' to 'pkg/llmproxy/auth/claude/html_templates.go'.
  • pkg/llmproxy/auth/claude/oauth_server.go
    • Renamed from 'internal/auth/claude/oauth_server.go' to 'pkg/llmproxy/auth/claude/oauth_server.go'.
  • pkg/llmproxy/auth/claude/pkce.go
    • Renamed from 'internal/auth/claude/pkce.go' to 'pkg/llmproxy/auth/claude/pkce.go'.
  • pkg/llmproxy/auth/claude/token.go
    • Renamed from 'internal/auth/claude/token.go' to 'pkg/llmproxy/auth/claude/token.go'.
  • pkg/llmproxy/auth/claude/utls_transport.go
    • Renamed from 'internal/auth/claude/utls_transport.go' to 'pkg/llmproxy/auth/claude/utls_transport.go'.
  • pkg/llmproxy/auth/codex/errors.go
    • Renamed from 'internal/auth/codex/errors.go' to 'pkg/llmproxy/auth/codex/errors.go'.
  • pkg/llmproxy/auth/codex/filename.go
    • Renamed from 'internal/auth/codex/filename.go' to 'pkg/llmproxy/auth/codex/filename.go'.
  • pkg/llmproxy/auth/codex/html_templates.go
    • Renamed from 'internal/auth/codex/html_templates.go' to 'pkg/llmproxy/auth/codex/html_templates.go'.
  • pkg/llmproxy/auth/codex/jwt_parser.go
    • Renamed from 'internal/auth/codex/jwt_parser.go' to 'pkg/llmproxy/auth/codex/jwt_parser.go'.
  • pkg/llmproxy/auth/codex/oauth_server.go
    • Renamed from 'internal/auth/codex/oauth_server.go' to 'pkg/llmproxy/auth/codex/oauth_server.go'.
  • pkg/llmproxy/auth/codex/openai.go
    • Renamed from 'internal/auth/codex/openai.go' to 'pkg/llmproxy/auth/codex/openai.go'.
  • pkg/llmproxy/auth/codex/openai_auth.go
    • Renamed from 'internal/auth/codex/openai_auth.go' to 'pkg/llmproxy/auth/codex/openai_auth.go'.
  • pkg/llmproxy/auth/codex/pkce.go
    • Renamed from 'internal/auth/codex/pkce.go' to 'pkg/llmproxy/auth/codex/pkce.go'.
Ignored Files
  • Ignored by pattern: .github/workflows/** (8)
    • .github/workflows/ci-rerun-flaky.yml
    • .github/workflows/codeql.yml
    • .github/workflows/docker-image.yml
    • .github/workflows/pr-path-guard.yml
    • .github/workflows/pr-test-build.yml
    • .github/workflows/release.yaml
    • .github/workflows/required-check-names-guard.yml
    • .github/workflows/vitepress-pages.yml
Activity
  • The pull request has seen continuous development, with numerous commits reflecting ongoing work on various features.
  • Several 'wave' commits indicate structured progress on specific lanes of development, such as 'wave(lane1): codex variant fallback + lane report' and 'wave(v3-l3): cpb-0126..0135 triage + thinking diagnostics'.
  • Regular 'chore' commits like 'chore: checkpoint current worktree before 7-lane bug wave' and 'chore: preserve current cliproxy work state' suggest a diligent approach to saving progress and managing the worktree.
  • Documentation updates, linting fixes, and test improvements have been integrated throughout the development cycle.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@KooshaPari

This comment was marked as spam.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants