coding-proxy 0.5.1a1__tar.gz → 0.5.1a2__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.5.1a1 → coding_proxy-0.5.1a2}/PKG-INFO +1 -1
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/pyproject.toml +1 -1
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/dashboard.py +10 -6
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/uv.lock +1 -1
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/.github/workflows/ci.yml +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/.github/workflows/coverage.yml +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/.github/workflows/release.yml +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/.gitignore +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/.pre-commit-config.yaml +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/AGENTS.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/CHANGELOG.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/CLAUDE.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/LICENSE +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/README.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/assets/dashboard-v0.4.0.png +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/assets/model-calling-v0.5.0.png +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/assets/session-v0.4.0.png +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/agents/browser-validation.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/agents/issue.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/agents/knowledge-map.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/agents/reference-specifications.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/config-reference.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/convert.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/design-patterns.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/routing.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/testing.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/arch/vendors.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/framework.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/api-reference.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/cli-reference.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/dashboard.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/monitoring.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/quickstart.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/guide/vendors.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/ops/ci-cd.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/user-guide.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/docs/zh-CN/README.md +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/__main__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/providers/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/providers/base.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/providers/github.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/providers/google.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/runtime.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/auth/store.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/cli/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/cli/auth_commands.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/cli/banner.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/compat/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/compat/canonical.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/compat/session_store.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/auth_schema.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/config.default.yaml +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/loader.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/resiliency.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/routing.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/schema.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/server.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/session_policy.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/config/vendors.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/anthropic_to_gemini.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/anthropic_to_openai.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/gemini_sse_adapter.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/gemini_to_anthropic.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/openai_to_anthropic.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/vendor_channels.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/logging/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/logging/db.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/logging/formatters.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/logging/stats.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/auth.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/compat.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/constants.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/pricing.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/token.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/model/vendor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/config.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/anthropic.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/gemini.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/openai.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/handler.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/operation.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/routes.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/usage_registry.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/pricing.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/circuit_breaker.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/error_classifier.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/executor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/model_mapper.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/quota_guard.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/rate_limit.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/retry.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/router.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/session_manager.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/session_policy.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/tier.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/usage_parser.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/routing/usage_recorder.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/app.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/factory.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/responses.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/server/routes.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/streaming/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/streaming/anthropic_compat.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/alibaba.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/anthropic.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/antigravity.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/base.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/concurrency.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/copilot.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/copilot_models.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/copilot_token_manager.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/copilot_urls.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/doubao.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/kimi.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/minimax.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/mixins.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/native_anthropic.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/token_manager.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/xiaomi.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/vendors/zhipu.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/e2e/__init__.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/e2e/conftest.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/e2e/test_e2e_http.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/e2e/test_e2e_token.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/e2e/test_e2e_vendor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_antigravity.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_app_routes.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_auto_login.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_banner.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_circuit_breaker.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_cli_usage.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_compat.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_concurrency_monitor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_config_init.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_config_loader.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_convert_request.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_convert_response.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_convert_sse.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_copilot.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_copilot_convert_request.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_copilot_convert_response.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_copilot_models.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_copilot_urls.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_currency.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_error_classifier.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_executor_in_flight_tracking.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_logging_dual_write.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_mixins.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_auth.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_compat.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_constants.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_mapper.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_pricing.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_token.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_model_vendor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_api_base_url_override.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_api_extractors.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_api_handler.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_api_operation.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_api_routes.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_native_vendors.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_parse_usage.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_parse_usage_gemini.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_pricing.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_quota_guard.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_rate_limit.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_router_chain.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_router_executor.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_runtime_reauth.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_schema.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_session_aware.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_streaming_anthropic_compat.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_tier.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_tiers_config.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_time_range.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_token_logger.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_token_logger_native_columns.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_token_manager.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_types.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_vendor_channels.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_vendor_streaming.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_vendors.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_zhipu.py +0 -0
- {coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/tests/test_zhipu_concurrency.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coding-proxy
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1a2
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "coding-proxy"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.1a2"
|
|
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"
|
|
@@ -89,6 +89,7 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
89
89
|
--shadow-md: 0 8px 24px rgba(0,0,0,.3);
|
|
90
90
|
--glow-blue: 0 0 0 1px rgba(88,166,255,.1), 0 8px 32px rgba(88,166,255,.04);
|
|
91
91
|
--gradient-primary: linear-gradient(135deg, #667eea, #764ba2);
|
|
92
|
+
--gap-section: 12px;
|
|
92
93
|
}
|
|
93
94
|
@keyframes fadeInUp {
|
|
94
95
|
from { opacity: 0; transform: translateY(10px); }
|
|
@@ -160,7 +161,7 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
160
161
|
display: grid;
|
|
161
162
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
162
163
|
gap: 5px;
|
|
163
|
-
margin-bottom:
|
|
164
|
+
margin-bottom: var(--gap-section);
|
|
164
165
|
}
|
|
165
166
|
.kpi-card {
|
|
166
167
|
background: rgba(18,22,30,.7);
|
|
@@ -214,13 +215,13 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
214
215
|
display: grid;
|
|
215
216
|
grid-template-columns: 1fr 2fr;
|
|
216
217
|
gap: 16px;
|
|
217
|
-
margin-bottom:
|
|
218
|
+
margin-bottom: var(--gap-section);
|
|
218
219
|
}
|
|
219
220
|
.charts-grid-2 {
|
|
220
221
|
display: grid;
|
|
221
222
|
grid-template-columns: 1fr 2fr;
|
|
222
223
|
gap: 16px;
|
|
223
|
-
margin-bottom:
|
|
224
|
+
margin-bottom: var(--gap-section);
|
|
224
225
|
}
|
|
225
226
|
.charts-grid > .card,
|
|
226
227
|
.charts-grid-2 > .card {
|
|
@@ -356,7 +357,7 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
356
357
|
/* ── 时间区间选择栏 ── */
|
|
357
358
|
.time-range-bar {
|
|
358
359
|
display: flex; align-items: center; gap: 8px;
|
|
359
|
-
margin-bottom:
|
|
360
|
+
margin-bottom: var(--gap-section); flex-wrap: wrap;
|
|
360
361
|
padding: 8px 16px;
|
|
361
362
|
background: rgba(18,22,30,.5);
|
|
362
363
|
border: 1px solid rgba(255,255,255,.04);
|
|
@@ -560,7 +561,10 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
560
561
|
|
|
561
562
|
/* ── Model Calling 实时状态 ────────────────────────── */
|
|
562
563
|
.model-calling-card {
|
|
563
|
-
margin-bottom:
|
|
564
|
+
margin-bottom: var(--gap-section);
|
|
565
|
+
}
|
|
566
|
+
.model-token-card {
|
|
567
|
+
margin-bottom: var(--gap-section);
|
|
564
568
|
}
|
|
565
569
|
.mc-empty {
|
|
566
570
|
text-align: center;
|
|
@@ -791,7 +795,7 @@ _DASHBOARD_HTML = """<!DOCTYPE html>
|
|
|
791
795
|
</div>
|
|
792
796
|
|
|
793
797
|
<!-- Token 用量(按 Vendor / 模型)堆叠图 -->
|
|
794
|
-
<div class="card
|
|
798
|
+
<div class="card model-token-card">
|
|
795
799
|
<div class="card-title" id="title-model-token-timeline">近 7 天 Token 用量(按 Vendor / 模型)</div>
|
|
796
800
|
<div class="chart-with-legend">
|
|
797
801
|
<div class="chart-wrap-xl">
|
|
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
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/anthropic_to_gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/anthropic_to_openai.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/gemini_sse_adapter.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/convert/gemini_to_anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/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.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/__init__.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/native_api/extractors/gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/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
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/src/coding/proxy/streaming/anthropic_compat.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
|
{coding_proxy-0.5.1a1 → coding_proxy-0.5.1a2}/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
|
|
File without changes
|
|
File without changes
|