coding-proxy 0.4.1a12__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/AGENTS.md +3 -2
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/CHANGELOG.md +23 -1
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/PKG-INFO +1 -1
- coding_proxy-0.5.0/assets/model-calling-v0.5.0.png +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/pyproject.toml +1 -1
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/uv.lock +1 -1
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/.github/workflows/ci.yml +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/.github/workflows/coverage.yml +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/.github/workflows/release.yml +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/.gitignore +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/.pre-commit-config.yaml +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/CLAUDE.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/LICENSE +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/README.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/assets/dashboard-v0.4.0.png +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/assets/session-v0.4.0.png +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/agents/browser-validation.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/agents/issue.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/agents/knowledge-map.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/agents/reference-specifications.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/config-reference.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/convert.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/design-patterns.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/routing.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/testing.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/arch/vendors.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/framework.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/api-reference.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/cli-reference.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/dashboard.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/monitoring.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/quickstart.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/guide/vendors.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/ops/ci-cd.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/user-guide.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/docs/zh-CN/README.md +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/__main__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/providers/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/providers/base.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/providers/github.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/providers/google.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/runtime.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/auth/store.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/cli/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/cli/auth_commands.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/cli/banner.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/compat/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/compat/canonical.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/compat/session_store.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/auth_schema.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/config.default.yaml +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/loader.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/resiliency.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/routing.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/schema.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/server.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/session_policy.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/config/vendors.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/anthropic_to_gemini.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/anthropic_to_openai.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/gemini_sse_adapter.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/gemini_to_anthropic.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/openai_to_anthropic.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/vendor_channels.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/logging/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/logging/db.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/logging/formatters.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/logging/stats.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/auth.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/compat.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/constants.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/pricing.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/token.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/model/vendor.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/config.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/anthropic.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/gemini.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/openai.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/handler.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/operation.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/routes.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/usage_registry.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/pricing.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/circuit_breaker.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/error_classifier.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/executor.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/model_mapper.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/quota_guard.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/rate_limit.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/retry.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/router.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/session_manager.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/session_policy.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/tier.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/usage_parser.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/routing/usage_recorder.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/app.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/dashboard.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/factory.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/responses.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/server/routes.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/streaming/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/streaming/anthropic_compat.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/alibaba.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/anthropic.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/antigravity.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/base.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/concurrency.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/copilot.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/copilot_models.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/copilot_token_manager.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/copilot_urls.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/doubao.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/kimi.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/minimax.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/mixins.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/native_anthropic.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/token_manager.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/xiaomi.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/zhipu.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/e2e/__init__.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/e2e/conftest.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/e2e/test_e2e_http.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/e2e/test_e2e_token.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/e2e/test_e2e_vendor.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_antigravity.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_app_routes.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_auto_login.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_banner.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_circuit_breaker.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_cli_usage.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_compat.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_config_init.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_config_loader.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_convert_request.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_convert_response.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_convert_sse.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_copilot.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_copilot_convert_request.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_copilot_convert_response.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_copilot_models.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_copilot_urls.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_currency.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_error_classifier.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_logging_dual_write.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_mixins.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_auth.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_compat.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_constants.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_mapper.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_pricing.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_token.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_model_vendor.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_api_base_url_override.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_api_extractors.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_api_handler.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_api_operation.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_api_routes.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_native_vendors.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_parse_usage.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_parse_usage_gemini.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_pricing.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_quota_guard.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_rate_limit.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_router_chain.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_router_executor.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_runtime_reauth.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_schema.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_session_aware.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_streaming_anthropic_compat.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_tier.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_tiers_config.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_time_range.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_token_logger.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_token_logger_native_columns.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_token_manager.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_types.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_vendor_channels.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_vendor_streaming.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_vendors.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_zhipu.py +0 -0
- {coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/tests/test_zhipu_concurrency.py +0 -0
|
@@ -44,14 +44,15 @@
|
|
|
44
44
|
1. **Python**: 严禁使用 pip/poetry,**必须**统一使用 `uv` 进行包管理与脚本执行(如 `uv run`);
|
|
45
45
|
2. **JavaScript/TypeScript**: 严禁使用 npm/yarn,**必须**统一使用 `pnpm` 进行包管理与脚本执行;
|
|
46
46
|
- **Database Management**: 谨慎操作,数据迁移、测试等操作严禁将现有数据删除,谨慎操作数据迁移的回滚,防止数据被清理。
|
|
47
|
+
- **In-depth and close to the facts**:系统且全面地进行问题的分析,深入贴近事实,如有疑问,需先发问,不要乱做决定。
|
|
47
48
|
- **Browser Validation Protocol (浏览器验证准则)**:Agent 不得自行完成、绕过或模拟任何 OAuth / SSO 认证流程,所有登录态均来源于用户已认证的 Chrome 主 profile(真实用户登录态)。完整协议(连通性自检、凭证管理、E2E 集成、实机回归等)详见 [浏览器验证协议](./docs/agents/browser-validation.md);
|
|
48
49
|
1. **安全红线**:禁止在 Sandbox 浏览器中跳转 Google 同意屏;禁止以模拟用户或第三方账号替代真实登录态;禁止要求用户在 chat 中粘贴密码、Cookie 或验证码;
|
|
49
50
|
- **Knowledge Map (知识索引)**:项目所有文档索引统一维护在 [知识索引](./docs/agents/knowledge-map.md),并在文档目录变更时即时同步跟新;
|
|
50
51
|
- **Documentation Standards (文档规范)**:
|
|
51
|
-
1. **Visual Documentation (图文并茂)**: 对于复杂逻辑,优先 **Mermaid Visualization Norms (Mermaid 可视化规范)
|
|
52
|
+
1. **Visual Documentation (图文并茂)**: 对于复杂逻辑,优先 **Mermaid Visualization Norms (Mermaid 可视化规范)**,构建”图文并茂”的直观文档;
|
|
52
53
|
- **色彩语义与兼容性**:为图表节点配置具备语义辨识度的色彩,并确保在深色模式(Dark Mode)下具有极高的对比度与清晰度;
|
|
53
54
|
- **逻辑模块化解构**:针对业务跨度较大的架构流程,强制采用 `subgraph` 容器进行层级解构与边界划分,以增强图表的自解说(Self-explaining)能力;
|
|
54
55
|
2. **语言叙事**:用语精准,叙事完备,行文专业,聚焦核心,篇幅精炼,形象具体,体现真实作用与用户吸引性,字数恰当;
|
|
55
|
-
3. **Direct Hyperlinking (直接跳转)**: 在文档中提及 Repo 内其他资源(文档/代码)时,**必须**构建可跳转的相对路径链接(如 `[Doc Name](./path.md)
|
|
56
|
+
3. **Direct Hyperlinking (直接跳转)**: 在文档中提及 Repo 内其他资源(文档/代码)时,**必须**构建可跳转的相对路径链接(如 `[Doc Name](./path.md)`),严禁使用”死文本”引用,以降低信息检索熵;
|
|
56
57
|
4. **实操截图**:文档需要引入必要的浏览器实操截图时,需自行通过默认浏览器打开相关页面,通过实操现场截图并保留到文档路径进行文档引用;
|
|
57
58
|
- **Reference Specifications (IEEE)**:为保障工程决策的可追溯性与学术严谨性,核心引用需遵循 [reference-specifications.md](docs/agents/reference-specifications.md)IEEE 标准引用格式;
|
|
@@ -4,7 +4,29 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## [v0.5.0](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.5.0) - 2026-05-27
|
|
8
|
+
|
|
9
|
+
> [!IMPORTANT]
|
|
10
|
+
>
|
|
11
|
+
> **🚀 Model Calling 实时状态!**
|
|
12
|
+
>
|
|
13
|
+
> 模型并发与排队深度一目了然,运行时动态调整每个模型并行度,预防 vendor 侧的 429 幺蛾子。
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
### ✨ 核心亮点
|
|
18
|
+
|
|
19
|
+
- feat(concurrency): 新增 Model Calling 实时状态模块,可视化每模型并发与排队深度,支持运行时动态修改每模型并行度 (#250) (#251)
|
|
20
|
+
- feat(zhipu): 新增每模型并发限制,默认 3 个并行请求 FIFO 排队 (#248)
|
|
21
|
+
- feat(zhipu): 为 429 Rate Limit 添加指数退避重试挽回机制 (#242)
|
|
22
|
+
|
|
23
|
+
### 🔧 更多特性
|
|
24
|
+
|
|
25
|
+
- fix(antigravity): 修复 v1internal 模式检测逻辑并新增 E2E 测试; (#234)
|
|
26
|
+
- fix(routes): 修复 count_tokens 路由对 target_vendor.name 的错误属性访问; (#235)
|
|
27
|
+
- fix(vendor-channels): 修复 zhipu→anthropic 通道 tool_use/tool_result 配对漏洞; (#236)
|
|
28
|
+
- fix(native-api): 修复 Gemini :verb 路径中 %3A URL 编码导致上游 400 的兼容问题; (#237)
|
|
29
|
+
- fix(zhipu): 诊断首选 tier 语义拒绝降级问题,增强可观测性并提取跨供应商清洗共享函数 (#243)
|
|
8
30
|
|
|
9
31
|
## [v0.4.0](https://github.com/ThreeFish-AI/coding-proxy/releases/tag/v0.4.0) — 2026-05-01
|
|
10
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coding-proxy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: A High-Availability, Transparent, and Smart Multi-Vendor Proxy for Claude Code. Support Claude Plans, GitHub Copilot, Google Antigravity, ZAI/GLM, MiniMax, Qwen, Xiaomi, Kimi, Doubao...
|
|
5
5
|
Project-URL: Source Code, https://github.com/ThreeFish-AI/coding-proxy
|
|
6
6
|
Project-URL: User Guide, https://github.com/ThreeFish-AI/coding-proxy/blob/master/docs/user-guide.md
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "coding-proxy"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.5.0"
|
|
4
4
|
description = "A High-Availability, Transparent, and Smart Multi-Vendor Proxy for Claude Code. Support Claude Plans, GitHub Copilot, Google Antigravity, ZAI/GLM, MiniMax, Qwen, Xiaomi, Kimi, Doubao..."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/anthropic_to_gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/anthropic_to_openai.py
RENAMED
|
File without changes
|
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/gemini_to_anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/convert/openai_to_anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/__init__.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/native_api/extractors/openai.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coding_proxy-0.4.1a12 → coding_proxy-0.5.0}/src/coding/proxy/vendors/copilot_token_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|