coding-proxy 0.4.1a2__tar.gz → 0.4.1a3__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.1a2 → coding_proxy-0.4.1a3}/.gitignore +1 -1
- coding_proxy-0.4.1a3/AGENTS.md +55 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/PKG-INFO +1 -1
- coding_proxy-0.4.1a3/docs/agents/knowledge-map.md +3 -0
- coding_proxy-0.4.1a3/docs/agents/reference-specifications.md +16 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/monitoring.md +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/user-guide.md +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/pyproject.toml +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/cli/__init__.py +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/config.default.yaml +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/server.py +1 -1
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/uv.lock +1 -1
- coding_proxy-0.4.1a2/AGENTS.md +0 -85
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/.github/workflows/ci.yml +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/.github/workflows/coverage.yml +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/.github/workflows/release.yml +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/.pre-commit-config.yaml +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/CHANGELOG.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/CLAUDE.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/LICENSE +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/README.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/assets/dashboard-v0.4.0.png +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/assets/session-v0.4.0.png +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/config-reference.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/convert.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/design-patterns.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/routing.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/testing.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/arch/vendors.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/ci-cd.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/framework.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/api-reference.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/cli-reference.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/dashboard.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/quickstart.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/guide/vendors.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/issue.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/docs/zh-CN/README.md +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/__main__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/providers/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/providers/base.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/providers/github.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/providers/google.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/runtime.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/auth/store.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/cli/auth_commands.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/cli/banner.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/compat/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/compat/canonical.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/compat/session_store.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/auth_schema.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/loader.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/resiliency.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/routing.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/schema.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/session_policy.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/config/vendors.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/anthropic_to_gemini.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/anthropic_to_openai.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/gemini_sse_adapter.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/gemini_to_anthropic.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/openai_to_anthropic.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/vendor_channels.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/logging/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/logging/db.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/logging/formatters.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/logging/stats.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/auth.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/compat.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/constants.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/pricing.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/token.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/model/vendor.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/config.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/anthropic.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/gemini.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/openai.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/handler.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/operation.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/routes.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/usage_registry.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/pricing.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/circuit_breaker.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/error_classifier.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/executor.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/model_mapper.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/quota_guard.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/rate_limit.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/retry.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/router.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/session_manager.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/session_policy.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/tier.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/usage_parser.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/routing/usage_recorder.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/app.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/dashboard.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/factory.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/responses.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/server/routes.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/streaming/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/streaming/anthropic_compat.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/alibaba.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/anthropic.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/antigravity.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/base.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/copilot.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/copilot_models.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/copilot_token_manager.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/copilot_urls.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/doubao.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/kimi.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/minimax.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/mixins.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/native_anthropic.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/token_manager.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/xiaomi.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/vendors/zhipu.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/e2e/__init__.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/e2e/conftest.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/e2e/test_e2e_http.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/e2e/test_e2e_token.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/e2e/test_e2e_vendor.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_antigravity.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_app_routes.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_auto_login.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_banner.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_circuit_breaker.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_cli_usage.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_compat.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_config_init.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_config_loader.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_convert_request.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_convert_response.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_convert_sse.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_copilot.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_copilot_convert_request.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_copilot_convert_response.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_copilot_models.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_copilot_urls.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_currency.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_error_classifier.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_logging_dual_write.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_mixins.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_auth.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_compat.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_constants.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_mapper.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_pricing.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_token.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_model_vendor.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_api_base_url_override.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_api_extractors.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_api_handler.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_api_operation.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_api_routes.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_native_vendors.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_parse_usage.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_parse_usage_gemini.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_pricing.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_quota_guard.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_rate_limit.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_router_chain.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_router_executor.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_runtime_reauth.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_schema.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_session_aware.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_streaming_anthropic_compat.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_tier.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_tiers_config.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_time_range.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_token_logger.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_token_logger_native_columns.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_token_manager.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_types.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_vendor_channels.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_vendor_streaming.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_vendors.py +0 -0
- {coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/tests/test_zhipu.py +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
## Collaboration Protocol (协作协议)
|
|
4
|
+
|
|
5
|
+
本文件旨在规范 AI Agent(Claude Code、Antigravity 等)在本项目中的代码与文档协作行为。项目定位详见 [README.md](./README.md)。
|
|
6
|
+
|
|
7
|
+
- **Core Language**: Output MUST be in **Chinese (Simplified)** unless serving code/technical constraints.
|
|
8
|
+
- **Tone**: Professional, precise, and evidence-based.
|
|
9
|
+
|
|
10
|
+
## Engineering Code of Conduct (工程行为准则)
|
|
11
|
+
|
|
12
|
+
**Core Philosophy**: **Entropy Reduction (熵减)**. 通过上下文锚定、复用驱动与标准化流水线,对抗软件系统的无序熵增。
|
|
13
|
+
|
|
14
|
+
### 道 (Mindset - 认知心法)
|
|
15
|
+
|
|
16
|
+
- **Context-Driven (上下文驱动)**: 上下文是第一性要素 (Context Quality First)。任何变更需建立在深度理解之上(CDD),拒绝基于关键字匹配的机械式修改。
|
|
17
|
+
- **Minimal Intervention (最小干预)**: 遵循奥卡姆剃刀与 YAGNI 原则,仅实施必要的变更,推崇演进式设计 (Evolutionary Design) 而非过度设计。
|
|
18
|
+
- **Evidence-Based (循证工程)**: 杜绝主观臆断,核心决策需以**最新**且**权威**的文献(IEEE 格式)为佐证,构建“设计-实现-验证”的完整反馈闭环,确保每一项工程行动都能产生可观测的反馈信号(测试、日志、监控),以验证假设并指导迭代。
|
|
19
|
+
- **Systemic Integrity (系统完整性)**: 具备全局视角与二阶思维 (Second-Order Thinking),评估变更对上下游依赖及整个生态(Engine, Adapter, Agent, UI)的“涟漪效应”,不只关注变更的直接结果,更要预测“结果的结果”(如引入缓存导致的陈旧数据、重试机制引发的雪崩),优先保障整体稳定性与逻辑自洽。
|
|
20
|
+
- **Knowledge Crystallization (知识结晶)**: 将系统视为有机体,通过将工程错误与 AI 失败案例转化为经验约束 (Negative Prompts) 和持久化知识,驱动系统的自我进化与持续熵减。
|
|
21
|
+
- **Proactive Navigation (主动导航)**: 智能体不应止步于被动响应,需即时转化为“领航者”。在交付任务结果的同时,**必须**基于上下文预判并提出**下一步最佳行动建议 (Next Best Action)**,不仅交付“答案”,更要交付“路径”,消除用户决策的认知摩擦。
|
|
22
|
+
|
|
23
|
+
### 法 (Strategy - 架构原则)
|
|
24
|
+
|
|
25
|
+
- **Plan-First Default (规划先行)**: 面对任何非琐碎任务(预估步骤 > 3 或涉及架构级决策),**必须**率先进入 Plan 模式。规划产物需明确界定:功能边界、边缘 Case 应对策略、与现有逻辑的交互锚点以及预计改动的爆炸半径。
|
|
26
|
+
- **Subagent Strategy (子代理并发策略)**: 面对高复杂度命题,严禁主 Agent 单点统揽。应贯彻“算力换空间”思路,果断编排 Subagent 进行任务拆解与并行攻坚,主 Agent 的职责需严格收敛于上下文协同与最终成果的组装整合。
|
|
27
|
+
- **Verification Before Done (交付前验证定式)**: 严禁在缺乏确凿运行证据的情况下标记任务为“已完成”。交付阶段**强制要求**提供客观自证材料:Diff 变更分析、测试用例覆盖、实施日志截图及核心链路边缘 Case 验证结果,并时刻以“方案是否能通过 Staff Engineer 严格审查”的视角自检。
|
|
28
|
+
- **Reuse-Driven (复用驱动)**: Compose over Reinvent。系统变更**必须**主动参考业界经典设计模式与最佳实践。在进入实质性编码前,需率先对相关领域的成熟范式进行深度调研,并结合当前项目上下文输出充分的关联分析与方案梳理。坚决贯彻“拿来主义”,优先通过组合与集成来构建系统,防范闭门造车与重复造轮子。
|
|
29
|
+
- **Boundary Management (边界管理)**: 严控模块/Agent 间的职责边界与契约,确保高内聚低耦合,防范隐式依赖穿透。
|
|
30
|
+
- **Orthogonal Decomposition (正交分解)**: 坚持“正交地提取概念主体”。识别系统中独立变化的维度并进行解耦(如机制与策略分离),确保单一概念主体的变更具备局部性,避免逻辑纠缠。
|
|
31
|
+
- **Single Source of Truth (单一事实源)**:严格维护唯一的权威定义源。引用时**必须**使用轻量级指针 (Link/ID) 而非数据副本 (Copy-Paste),从根源消除断裂 (Split-Brain) 风险。
|
|
32
|
+
|
|
33
|
+
### 术 (Tactics - 执行规范)
|
|
34
|
+
|
|
35
|
+
- **Structured AI-Pair Pipeline (规范化 AI 结对流水线)**: 遵循 **Specification-Driven (规约驱动)** + **Context-Anchored (上下文锚定)** + **AI-Pair (AI 结对)** 模式,将开发固化为可审计的流水线,避免代码腐化为无法维护的“大泥球 (Big Ball of Mud)”。
|
|
36
|
+
- **Visual Documentation (图文并茂)**: 对于复杂逻辑,优先使用 Mermaid 图表(Sequence/Flowchart/Class)辅助说明,构建“图文并茂”的直观文档。
|
|
37
|
+
- **Direct Hyperlinking (直接跳转)**: 在文档中提及 Repo 内其他资源(文档/代码)时,**必须**构建可跳转的相对路径链接(如 `[Doc Name](./path.md)`),严禁使用“死文本”引用,以降低信息检索熵。
|
|
38
|
+
- **Operational Excellence (卓越运营)**:
|
|
39
|
+
1. **Git Discipline**: 默认严禁调用 git commit;当用户显式要求提交时,一律使用 Claude Code 的自定义 Slash Command: `/commit-no-push` 进行操作(若非 Claude Code 运行环境,则读取 /commit-no-push 命令中的规则执行)。严禁执行 Rebase;
|
|
40
|
+
2. **Temp Management**: 临时产物(执行计划等)一律收敛至 `.temp/` 并及时清理;
|
|
41
|
+
3. **Link Validity**: 确保所有引用的 URL 可访问且具备明确的上下文价值;
|
|
42
|
+
4. **Testing**: 统一在 tests/ 下维护测试用例,区分单元测试(unit)和集成测试(integration),所有测试的本地运行总时间控制在 3 min 以内;
|
|
43
|
+
5. **Pre-commit Hooks**: 首次克隆仓库使用 `uv run pre-commit install` 激活本地 Git hooks,使 Ruff lint(含 auto-fix)、Ruff format 及通用代码卫生检查在每次 commit 前自动运行。若 hooks 自动修复了问题,提交会被中断,执行 `git add -p` 审阅修复内容后重新提交即可;
|
|
44
|
+
6. **Issue**: 在 docs/issue.md 中维护你处理过的 Issue 摘要(问题描述、表因根因、处理方式、后续防范、同类问题影响与处理注意事项等),便于同类问题的跨上下文处理;注意识别相同 Issue,不要同 Issue 多处维护;
|
|
45
|
+
- **Package Management Standardization (包管理规范)**:
|
|
46
|
+
1. **Python**: 严禁使用 pip/poetry,**必须**统一使用 `uv` 进行包管理与脚本执行(如 `uv run`);
|
|
47
|
+
2. **JavaScript/TypeScript**: 严禁使用 npm/yarn,**必须**统一使用 `pnpm` 进行包管理与脚本执行;
|
|
48
|
+
- **Database Management**: 谨慎操作,数据迁移、测试等操作严禁将现有数据删除,谨慎操作数据迁移的回滚,防止数据被清理。
|
|
49
|
+
- **Browser Validation Protocol (浏览器验证准则)**:Agent 不得自行完成、绕过或模拟任何 OAuth / SSO 认证流程,所有登录态均来源于用户已认证的 Chrome 主 profile(真实用户登录态)。完整协议(连通性自检、凭证管理、E2E 集成、实机回归等)详见 [浏览器验证协议](./docs/agents/browser-validation.md);
|
|
50
|
+
1. **安全红线**:禁止在 Sandbox 浏览器中跳转 Google 同意屏;禁止以模拟用户或第三方账号替代真实登录态;禁止要求用户在 chat 中粘贴密码、Cookie 或验证码;
|
|
51
|
+
- **Knowledge Map (知识索引)**:项目所有文档索引统一维护在 [知识索引](./docs/agents/knowledge-map.md),并在文档目录变更时即时同步跟新;
|
|
52
|
+
- **Documentation Standards (文档规范)**:采用**Mermaid Visualization Norms (Mermaid 可视化规范)**;
|
|
53
|
+
1. **色彩语义与兼容性**:为图表节点配置具备语义辨识度的色彩,并确保在深色模式(Dark Mode)下具有极高的对比度与清晰度;
|
|
54
|
+
2. **逻辑模块化解构**:针对业务跨度较大的架构流程,强制采用 `subgraph` 容器进行层级解构与边界划分,以增强图表的自解说(Self-explaining)能力;
|
|
55
|
+
- **Reference Specifications (IEEE)**:为保障工程决策的可追溯性与学术严谨性,核心引用需遵循 [reference-specifications.md](docs/agents/reference-specifications.md)IEEE 标准引用格式;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coding-proxy
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1a3
|
|
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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Reference Specifications (IEEE)
|
|
2
|
+
|
|
3
|
+
> **模版准则**:[编号] 作者缩写. 姓, "文章标题," _刊名/会议名缩写 (斜体)_, 卷号, 期数, 页码, 年份.
|
|
4
|
+
|
|
5
|
+
```latex
|
|
6
|
+
[1] A. Author, B. Author, and C. Author, "Title of paper," *Abbrev. Title of Journal*, vol. X, no. Y, pp. XX–XX, Year.
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**引用实践**
|
|
10
|
+
|
|
11
|
+
- **文内锚定**:采用标准上标链接形式:`描述内容<sup>[[1]](#ref1)</sup>`。
|
|
12
|
+
- **文献索引**:底层采用 HTML 锚点 `id` 实现跳转稳定性。
|
|
13
|
+
|
|
14
|
+
```latex
|
|
15
|
+
<a id="ref1"></a>[1] A. Vaswani et al., "Attention is all you need," Adv. Neural Inf. Process. Syst., vol. 30, pp. 5998–6008, 2017.
|
|
16
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "coding-proxy"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.1a3"
|
|
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"
|
|
@@ -109,7 +109,7 @@ def start(
|
|
|
109
109
|
print_banner(console, host=cfg.server.host, port=cfg.server.port)
|
|
110
110
|
|
|
111
111
|
# 解析文件日志路径:未显式配置时使用默认值
|
|
112
|
-
_file_path: str | None = cfg.logging.file or "coding-proxy.log"
|
|
112
|
+
_file_path: str | None = cfg.logging.file or ".logs/coding-proxy.log"
|
|
113
113
|
uvicorn.run(
|
|
114
114
|
fastapi_app,
|
|
115
115
|
host=cfg.server.host,
|
|
@@ -21,7 +21,7 @@ class LoggingConfig(BaseModel):
|
|
|
21
21
|
|
|
22
22
|
Attributes:
|
|
23
23
|
level: 控制台日志级别(INFO / WARNING / DEBUG 等)。
|
|
24
|
-
file: 文件日志路径。为 ``None`` 时使用默认值
|
|
24
|
+
file: 文件日志路径。为 ``None`` 时使用默认值 ``.logs/coding-proxy.log``;
|
|
25
25
|
设为空字符串可禁用文件日志。
|
|
26
26
|
max_bytes: 单个日志文件最大字节数(触发轮转)。默认 5 MB。
|
|
27
27
|
backup_count: 保留的已压缩备份文件数。默认 5。
|
coding_proxy-0.4.1a2/AGENTS.md
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# AGENTS.md
|
|
2
|
-
|
|
3
|
-
## Collaboration Protocol (协作协议)
|
|
4
|
-
|
|
5
|
-
本文件旨在规范 AI Agent(Claude Code、Antigravity 等)在本项目中的代码与文档协作行为。
|
|
6
|
-
|
|
7
|
-
- **Core Language**: Output MUST be in **Chinese (Simplified)** unless serving code/technical constraints.
|
|
8
|
-
- **Tone**: Professional, precise, and evidence-based.
|
|
9
|
-
|
|
10
|
-
## Project Positioning (项目定位)
|
|
11
|
-
|
|
12
|
-
参考 README.md
|
|
13
|
-
|
|
14
|
-
## Engineering Code of Conduct (工程行为准则)
|
|
15
|
-
|
|
16
|
-
**Core Philosophy**: **Entropy Reduction (熵减)**. 通过上下文锚定、复用驱动与标准化流水线,对抗软件系统的无序熵增。
|
|
17
|
-
|
|
18
|
-
### 道 (Mindset - 认知心法)
|
|
19
|
-
|
|
20
|
-
- **Context-Driven (上下文驱动)**: 上下文是第一性要素 (Context Quality First)。任何变更需建立在深度理解之上(CDD),拒绝基于关键字匹配的机械式修改。
|
|
21
|
-
- **Minimal Intervention (最小干预)**: 遵循奥卡姆剃刀与 YAGNI 原则,仅实施必要的变更,推崇演进式设计 (Evolutionary Design) 而非过度设计。
|
|
22
|
-
- **Evidence-Based (循证工程)**: 杜绝主观臆断,核心决策需以权威文献(IEEE 格式)为佐证,构建 Feedback Loops 以验证假设。
|
|
23
|
-
- **Systemic Integrity (系统完整性)**: 具备全局视角与二阶思维 (Second-Order Thinking),评估变更对上下游依赖及整个生态(Engine, Adapter, Agent, UI)的“涟漪效应”,优先保障整体稳定性与逻辑自洽。
|
|
24
|
-
|
|
25
|
-
### 法 (Strategy - 架构原则)
|
|
26
|
-
|
|
27
|
-
- **Plan Node Default (默认规划模式)**: 面对任何非琐碎任务(预估步骤 > 3 或涉及架构级决策),**必须**率先进入 Plan 模式。规划产物需明确界定:功能边界、边缘 Case 应对策略、与现有逻辑的交互锚点以及预计改动的爆炸半径。
|
|
28
|
-
- **Subagent Strategy (子代理并发策略)**: 面对高复杂度命题,严禁主 Agent 单点统揽。应贯彻“算力换空间”思路,果断编排 Subagent 进行任务拆解与并行攻坚,主 Agent 的职责需严格收敛于上下文协同与最终成果的组装整合。
|
|
29
|
-
- **Verification Before Done (交付前验证定式)**: 严禁在缺乏确凿运行证据的情况下标记任务为“已完成”。交付阶段**强制要求**提供客观自证材料:Diff 变更分析、测试用例覆盖、实施日志截图及核心链路边缘 Case 验证结果,并时刻以“方案是否能通过 Staff Engineer 严格审查”的视角自检。
|
|
30
|
-
- **Reuse-Driven (复用驱动)**: Composition over Construction。系统变更**必须**主动参考业界经典设计模式与最佳实践。在进入实质性编码前,需率先对相关领域的成熟范式进行深度调研,并结合当前项目上下文输出充分的关联分析与方案梳理。坚决贯彻“拿来主义”,优先通过组合与集成来构建系统,防范闭门造车与重复造轮子。
|
|
31
|
-
- **Boundary Management (边界管理)**: 严控模块/Agent 间的职责边界与契约,确保高内聚低耦合,防范隐式依赖穿透。
|
|
32
|
-
- **Orthogonal Decomposition (正交分解)**: 坚持“正交地提取概念主体”。识别系统中独立变化的维度并进行解耦(如机制与策略分离),确保单一概念主体的变更具备局部性,避免逻辑纠缠。
|
|
33
|
-
- **Feedback Loops (反馈闭环)**:构建“设计-实现-验证”的完整闭环,确保每一项工程行动都能产生可观测的反馈信号(测试、日志、监控),以验证假设并指导迭代。
|
|
34
|
-
- **Evolutionary Design (演进式设计)**: 将系统视为有机体,通过将 AI 错误转化为经验约束 (Negative Prompts) 和持久化知识,实现系统的自我进化与熵减。
|
|
35
|
-
- **Second-Order Thinking (二阶思维)**:不只关注变更的直接结果,更要预测“结果的结果”(如引入缓存导致的陈旧数据、重试机制引发的雪崩),未雨绸缪防范隐性风险。
|
|
36
|
-
- **Single Source of Truth (单一事实源)**:严格维护唯一的权威定义源。引用时**必须**使用轻量级指针 (Link/ID) 而非数据副本 (Copy-Paste),从根源消除断裂 (Split-Brain) 风险。
|
|
37
|
-
- **Proactive Navigation (主动导航)**: 智能体不应止步于被动响应,需即时转化为“领航者”。在交付任务结果的同时,**必须**基于上下文预判并提出**下一步最佳行动建议 (Next Best Action)**。不仅交付“答案”,更要交付“路径”,消除用户决策的认知摩擦,确保持续的熵减动量。
|
|
38
|
-
|
|
39
|
-
### 术 (Tactics - 执行规范)
|
|
40
|
-
|
|
41
|
-
- **Vibe Coding Pipeline**: 遵循 **Specification-Driven (规划驱动)** + **Context-Anchored (上下文锚定)** + **AI-Pair (AI 结对)** 模式,将开发固化为可审计的流水线,避免代码腐化为无法维护的“大泥球 (Big Ball of Mud)”。
|
|
42
|
-
- **Visual Documentation (图文并茂)**: 对于复杂逻辑,优先使用 Mermaid 图表(Sequence/Flowchart/Class)辅助说明,构建“图文并茂”的直观文档。
|
|
43
|
-
- **Direct Hyperlinking (直接跳转)**: 在文档中提及 Repo 内其他资源(文档/代码)时,**必须**构建可跳转的相对路径链接(如 `[Doc Name](./path.md)`),严禁使用“死文本”引用,以降低信息检索熵。
|
|
44
|
-
- **Operational Excellence (卓越运营)**:
|
|
45
|
-
1. **Git Hygiene**: 如非显性要求,严禁调用 git commit;
|
|
46
|
-
2. **Temp Management**: 临时产物(执行计划等)一律收敛至 `.temp/` 并及时清理;
|
|
47
|
-
3. **Link Validity**: 确保所有引用的 URL 可访问且具备明确的上下文价值;
|
|
48
|
-
4. **Git Commit**: 在需要提交变更到 Git 时,一律使用 Shell 调用 Claude Code 的自定义 Slash Command: `/commit` 进行 git commit 操作(若环境中未安装 Claude Code,则直接读取 `~/.claude/commands/commit.md`,按照其中的规则进行 git commit 操作)。不要执行 Rebase。
|
|
49
|
-
5. **Pre-commit Hooks**: 克隆仓库后执行 `uv run pre-commit install` 激活本地 Git hooks,使 Ruff lint(含 auto-fix)、Ruff format 及通用代码卫生检查在每次 commit 前自动运行。若 hooks 自动修复了问题,提交会被中断,执行 `git add -p` 审阅修复内容后重新提交即可。
|
|
50
|
-
6. **Issue**: 在 docs/issue.md 中维护你处理过的 Issue 摘要(问题描述、表因根因、处理方式、后续防范、同类问题影响与处理注意实现等),便于同类问题的跨上下文处理;注意识别相同 Issue,不要同 Issue 多处维护。
|
|
51
|
-
- **Package Management Standardization (包管理规范)**:
|
|
52
|
-
1. **Python**: 严禁使用 pip/poetry,**必须**统一使用 `uv` 进行包管理与脚本执行(如 `uv run`);
|
|
53
|
-
2. **JavaScript/TypeScript**: 严禁使用 npm/yarn,**必须**统一使用 `pnpm` 进行包管理与脚本执行。
|
|
54
|
-
- **Database Management**: 谨慎操作,数据迁移、测试等操作严禁将现有数据删除,谨慎操作数据迁移的回滚,防止数据被清理。
|
|
55
|
-
- **In-depth and close to the facts**:系统且全面地进行问题的分析,深入贴近事实,如有疑问,需先发问,不要乱做决定。
|
|
56
|
-
|
|
57
|
-
## Documentation Standards (文档规范)
|
|
58
|
-
|
|
59
|
-
### Mermaid Visualization Norms (Mermaid 可视化规范)
|
|
60
|
-
|
|
61
|
-
- **色彩语义与兼容性**:为图表节点配置具备语义辨识度的色彩,并确保在深色模式(Dark Mode)下具有极高的对比度与清晰度。
|
|
62
|
-
- **逻辑模块化解构**:针对业务跨度较大的架构流程,强制采用 `subgraph` 容器进行层级解构与边界划分,以增强图表的自解说(Self-explaining)能力。
|
|
63
|
-
|
|
64
|
-
### Reference Specifications (IEEE)
|
|
65
|
-
|
|
66
|
-
为保障工程决策的可追溯性与学术严谨性,核心引用需遵循 **IEEE 标准引用格式**。
|
|
67
|
-
|
|
68
|
-
> **模版准则**:[编号] 作者缩写. 姓, "文章标题," _刊名/会议名缩写 (斜体)_, 卷号, 期数, 页码, 年份.
|
|
69
|
-
|
|
70
|
-
```latex
|
|
71
|
-
[1] A. Author, B. Author, and C. Author, "Title of paper," *Abbrev. Title of Journal*, vol. X, no. Y, pp. XX–XX, Year.
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**引用实践**
|
|
75
|
-
|
|
76
|
-
- **文内锚定**:采用标准上标链接形式:`描述内容<sup>[[1]](#ref1)</sup>`。
|
|
77
|
-
- **文献索引**:底层采用 HTML 锚点 `id` 实现跳转稳定性。
|
|
78
|
-
|
|
79
|
-
```latex
|
|
80
|
-
<a id="ref1"></a>[1] A. Vaswani et al., "Attention is all you need," Adv. Neural Inf. Process. Syst., vol. 30, pp. 5998–6008, 2017.
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Knowledge Map (知识索引)
|
|
84
|
-
|
|
85
|
-
(WIP)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/anthropic_to_gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/anthropic_to_openai.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/gemini_sse_adapter.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/convert/gemini_to_anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/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.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/__init__.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/anthropic.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/src/coding/proxy/native_api/extractors/gemini.py
RENAMED
|
File without changes
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/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
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/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
|
{coding_proxy-0.4.1a2 → coding_proxy-0.4.1a3}/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
|