diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000000000000000000000000000000000000..18005887eb16db48b1ce8d39a6d414d8b1e919d7 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,25 @@ +{ + "permissions": { + "allow": [ + "Bash(uv run *)", + "Bash(python -c \"from api.app import create_app; app = create_app\\(\\); print\\([r.path for r in app.routes if 'admin' in r.path]\\)\")", + "Bash(python -m uvicorn server:app --host 0.0.0.0 --port 8082)", + "Bash(.\\\\.venv\\\\Scripts\\\\python -m uvicorn server:app --host 0.0.0.0 --port 8082)", + "Bash(git add *)", + "Bash(git commit -m ' *)", + "Bash(git push *)" + ] + }, + "enableAllProjectMcpServers": true, + "enabledMcpjsonServers": [ + "StitchMCP", + "figma-dev-mode-mcp-server", + "github", + "tavily", + "context7", + "archmind", + "office", + "llm_wiki", + "vercel" + ] +} diff --git a/.env b/.env new file mode 100644 index 0000000000000000000000000000000000000000..853baa0fdf05c0f87d99020beb4701278e1fdcdc --- /dev/null +++ b/.env @@ -0,0 +1,28 @@ +NVIDIA_NIM_API_KEY_QWEN="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" +NVIDIA_NIM_API_KEY_GLM="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" +NVIDIA_NIM_API_KEY_SEED_OSS="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" +NVIDIA_NIM_API_KEY_STEPFUN="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" +NVIDIA_NIM_API_KEY_MISTRAL_LARGE="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" +NVIDIA_NIM_API_KEY_DRACARYS="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" +NVIDIA_NIM_API_KEY_NEMOTRON="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" +MODEL="nvidia_nim/stepfun-ai/step-3.5-flash,nvidia_nim/qwen/qwen3-coder-480b-a35b-instruct,nvidia_nim/mistralai/mistral-large-3-675b-instruct-2512,nvidia_nim/abacusai/dracarys-llama-3.1-70b-instruct,nvidia_nim/z-ai/glm4.7,nvidia_nim/bytedance/seed-oss-36b-instruct,nvidia_nim/mistralai/mistral-nemotron" +ADVERTISE_ONLY_CONFIGURED_MODELS="true" + +# Additional NVIDIA NIM fallback models +NVIDIA_NIM_FALLBACK_MODELS="nvidia_nim/qwen/qwen3-coder-480b-a35b-instruct,nvidia_nim/z-ai/glm4.7,nvidia_nim/bytedance/seed-oss-36b-instruct" + +# Auto-routing priority: Fast/Efficient models first, then heavy reasoning models. +#AUTO_MODEL_PRIORITY="nvidia_nim/stepfun-ai/step-3.5-flash,nvidia_nim/bytedance/seed-oss-36b-instruct,nvidia_nim/z-ai/glm4.7,nvidia_nim/mistralai/mistral-nemotron,nvidia_nim/abacusai/dracarys-llama-3.1-70b-instruct,nvidia_nim/qwen/qwen3-coder-480b-a35b-instruct,nvidia_nim/mistralai/mistral-large-3-675b-instruct-2512" + +#GROQ_CLOUD_API_KEY="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" +#CEREBRAS_API_KEY="csk-2ewy2h26eeph4yex94kmjnfwwx35pdpyyxkv3j6wcj4cxc3t" + +LOG_RAW_API_PAYLOADS="true" +# Disable API key authentication (allow requests without auth) +ANTHROPIC_AUTH_TOKEN="" + +#Database +DATABASE_URL="postgresql+asyncpg://postgres:%40%23yash123%4023@db.tywafxkhdymjomvikkxw.supabase.co:6543/postgres" + + +LOG_API_ERROR_TRACEBACKS=" true\ diff --git a/__pycache__/server.cpython-312.pyc b/__pycache__/server.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a25be01e296f43bbdf07e40d417b4280c3505370 Binary files /dev/null and b/__pycache__/server.cpython-312.pyc differ diff --git a/__pycache__/server.cpython-314.pyc b/__pycache__/server.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4fc52c368d59d1d32c1df2f0127516b3d81f7788 Binary files /dev/null and b/__pycache__/server.cpython-314.pyc differ diff --git a/api/__pycache__/__init__.cpython-312.pyc b/api/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b301c9990a8151aab2f3f53e02c2cc3debe79fa6 Binary files /dev/null and b/api/__pycache__/__init__.cpython-312.pyc differ diff --git a/api/__pycache__/__init__.cpython-314.pyc b/api/__pycache__/__init__.cpython-314.pyc index 20e4ed826e3fadaf56416008be6d65689e75c0c9..66163ef1a722424dab2745c760d0d9ead181d2ee 100644 Binary files a/api/__pycache__/__init__.cpython-314.pyc and b/api/__pycache__/__init__.cpython-314.pyc differ diff --git a/api/__pycache__/admin.cpython-314.pyc b/api/__pycache__/admin.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fcd34b6ffae669382ea731aef14295dda4bf5061 Binary files /dev/null and b/api/__pycache__/admin.cpython-314.pyc differ diff --git a/api/__pycache__/app.cpython-312.pyc b/api/__pycache__/app.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9a8b4139fbc71f44ca954c7bd2b4e392ea95fd0d Binary files /dev/null and b/api/__pycache__/app.cpython-312.pyc differ diff --git a/api/__pycache__/app.cpython-314.pyc b/api/__pycache__/app.cpython-314.pyc index 19e2bffaa9cd1897e37e0022b97cfeae4f8daf87..5ecd881671b4bb2c2a75db830bc7fa464243be81 100644 Binary files a/api/__pycache__/app.cpython-314.pyc and b/api/__pycache__/app.cpython-314.pyc differ diff --git a/api/__pycache__/command_utils.cpython-314.pyc b/api/__pycache__/command_utils.cpython-314.pyc index 1ba8623e3ed6968452a272cd642fce870b875f5c..90365af0e6ebdd98d70bc9fe720c024cc5f01edb 100644 Binary files a/api/__pycache__/command_utils.cpython-314.pyc and b/api/__pycache__/command_utils.cpython-314.pyc differ diff --git a/api/__pycache__/dependencies.cpython-314.pyc b/api/__pycache__/dependencies.cpython-314.pyc index 9cb388e8eeaba1d207395a9b6beb1f56a93c8d2e..2017901c1b523e1c7510575adf47f57232fe08c2 100644 Binary files a/api/__pycache__/dependencies.cpython-314.pyc and b/api/__pycache__/dependencies.cpython-314.pyc differ diff --git a/api/__pycache__/detection.cpython-314.pyc b/api/__pycache__/detection.cpython-314.pyc index d5204cd8a6b046b6d94e31d3f22cbbc95955dfe7..259cce6a6e70862f8316d25c5a42f6db72f66449 100644 Binary files a/api/__pycache__/detection.cpython-314.pyc and b/api/__pycache__/detection.cpython-314.pyc differ diff --git a/api/__pycache__/gateway_model_ids.cpython-314.pyc b/api/__pycache__/gateway_model_ids.cpython-314.pyc index 4be55d02d961b2be9b2c668257f8dd5ccbef11f5..d541d87602cd349641dfae3b242c3c121d1da558 100644 Binary files a/api/__pycache__/gateway_model_ids.cpython-314.pyc and b/api/__pycache__/gateway_model_ids.cpython-314.pyc differ diff --git a/api/__pycache__/model_router.cpython-314.pyc b/api/__pycache__/model_router.cpython-314.pyc index b459dc19c3854037a83fc3db6ed8fb03e7972aaa..06339e705abfafdc8a2290adf7596b0b2654ee33 100644 Binary files a/api/__pycache__/model_router.cpython-314.pyc and b/api/__pycache__/model_router.cpython-314.pyc differ diff --git a/api/__pycache__/optimization_handlers.cpython-314.pyc b/api/__pycache__/optimization_handlers.cpython-314.pyc index 3414318aca778e4f8f4384d6cb3223c1eaa35903..77b9699f8b68e7383aab9187b7b2cafc09642585 100644 Binary files a/api/__pycache__/optimization_handlers.cpython-314.pyc and b/api/__pycache__/optimization_handlers.cpython-314.pyc differ diff --git a/api/__pycache__/routes.cpython-314.pyc b/api/__pycache__/routes.cpython-314.pyc index f0e71d6f3bd1557d734eea17c1efc6f8e3103883..84ebc85c3912ebcb32d6f83c7a9b7b9212754cba 100644 Binary files a/api/__pycache__/routes.cpython-314.pyc and b/api/__pycache__/routes.cpython-314.pyc differ diff --git a/api/__pycache__/runtime.cpython-314.pyc b/api/__pycache__/runtime.cpython-314.pyc index e2299acbc91263b97b02d41b52ca9673372b7f2c..c78d4a94def2478b07ee0d19f229ce6e2a6057e2 100644 Binary files a/api/__pycache__/runtime.cpython-314.pyc and b/api/__pycache__/runtime.cpython-314.pyc differ diff --git a/api/__pycache__/services.cpython-314.pyc b/api/__pycache__/services.cpython-314.pyc index 3b68a5d59b4332d0f667908d51ed80cfe7c6b602..99c657153b68955333800378d8ac23816f0ac3b2 100644 Binary files a/api/__pycache__/services.cpython-314.pyc and b/api/__pycache__/services.cpython-314.pyc differ diff --git a/api/__pycache__/validation_log.cpython-314.pyc b/api/__pycache__/validation_log.cpython-314.pyc index 5984cca231bb0ac818c980213d8d8f439613a956..33eac3eea91e55956fb42d34f10d6c6773d74eea 100644 Binary files a/api/__pycache__/validation_log.cpython-314.pyc and b/api/__pycache__/validation_log.cpython-314.pyc differ diff --git a/api/models/__pycache__/__init__.cpython-314.pyc b/api/models/__pycache__/__init__.cpython-314.pyc index 23acfbd898788ba04a4257018c51fc0321ec89cb..6a00a4430ec5402a4c787af98145a53633b7230f 100644 Binary files a/api/models/__pycache__/__init__.cpython-314.pyc and b/api/models/__pycache__/__init__.cpython-314.pyc differ diff --git a/api/models/__pycache__/anthropic.cpython-314.pyc b/api/models/__pycache__/anthropic.cpython-314.pyc index 854717d9d7f582e62968a49bf99c7047ae00cdea..5c187ac89cefd8b3215c42952d453875789e0c53 100644 Binary files a/api/models/__pycache__/anthropic.cpython-314.pyc and b/api/models/__pycache__/anthropic.cpython-314.pyc differ diff --git a/api/models/__pycache__/responses.cpython-314.pyc b/api/models/__pycache__/responses.cpython-314.pyc index 5dd4f58e3eb83e2bbf31449ced0dfadd9fe41b31..d88eb4653cf4628f7b9a903872a16d7a7b3e0ad6 100644 Binary files a/api/models/__pycache__/responses.cpython-314.pyc and b/api/models/__pycache__/responses.cpython-314.pyc differ diff --git a/api/routes.py b/api/routes.py index 9cd415307b242456cab766788983659f612f241f..c7e1afdd45d3cb5c533bac43fd0f6ddea6ee737b 100644 --- a/api/routes.py +++ b/api/routes.py @@ -5,6 +5,8 @@ from loguru import logger from config.settings import Settings from core.anthropic import get_token_count +from core.session_tracker import SessionTracker +from providers.nvidia_nim import metrics as nvidia_nim_metrics from providers.registry import ProviderRegistry from . import dependencies @@ -13,7 +15,6 @@ from .gateway_model_ids import gateway_model_id, no_thinking_gateway_model_id from .models.anthropic import MessagesRequest, TokenCountRequest from .models.responses import ModelResponse, ModelsListResponse from .services import ClaudeProxyService -from providers.nvidia_nim import metrics as nvidia_nim_metrics router = APIRouter() @@ -112,9 +113,15 @@ def _build_models_list_response( supports_thinking = None if provider_registry is not None: # model_id for registry lookups should be provider-prefixed - provider, model_id = ref.split("/", 1) if "/" in ref else ("nvidia_nim", ref) - supports_thinking = provider_registry.cached_model_supports_thinking(provider, model_id) - _append_provider_model_variants(models, seen, ref, supports_thinking=supports_thinking) + provider, model_id = ( + ref.split("/", 1) if "/" in ref else ("nvidia_nim", ref) + ) + supports_thinking = provider_registry.cached_model_supports_thinking( + provider, model_id + ) + _append_provider_model_variants( + models, seen, ref, supports_thinking=supports_thinking + ) # Add a virtual `auto` model that maps to the configured MODEL and enables # automatic fallback behavior when used by clients. @@ -133,7 +140,8 @@ def _build_models_list_response( filtered = [ m for m in models - if "claude" not in (m.id or "").lower() and "claude" not in (m.display_name or "").lower() + if "claude" not in (m.id or "").lower() + and "claude" not in (m.display_name or "").lower() ] # Ensure `auto` model remains available even if filtering removed others. if not any(m.id == gateway_model_id("auto") for m in filtered): @@ -153,7 +161,6 @@ def _build_models_list_response( ) - # ============================================================================= # Routes # ============================================================================= @@ -194,10 +201,10 @@ async def root( settings: Settings = Depends(get_settings), _auth=Depends(require_api_key) ): """Root endpoint.""" + tracker = SessionTracker.get_instance() return { "status": "ok", - "provider": settings.provider_type, - "model": settings.model, + "active_sessions": len(tracker._sessions), } diff --git a/api/services.py b/api/services.py index 4fcad065fade0ebbfad8170cec2b61dd56e10a98..427a20733959e7596618c4a5d93faa8300851a6c 100644 --- a/api/services.py +++ b/api/services.py @@ -187,6 +187,9 @@ class ClaudeProxyService: thinking_enabled=resolved.thinking_enabled, ) + session_id = self._get_session_id(request_data) + await self._session_tracker.track_request(session_id, resolved.provider_id) + request_id = f"req_{uuid.uuid4().hex[:12]}" logger.info( "API_REQUEST: request_id={} model={} messages={}", diff --git a/api/web_tools/__pycache__/__init__.cpython-314.pyc b/api/web_tools/__pycache__/__init__.cpython-314.pyc index 83f038107f3df9e631ea821279707e9157246b06..16b7e6bb0d1b27eea470578a4f01940a6fb1f5b9 100644 Binary files a/api/web_tools/__pycache__/__init__.cpython-314.pyc and b/api/web_tools/__pycache__/__init__.cpython-314.pyc differ diff --git a/api/web_tools/__pycache__/constants.cpython-314.pyc b/api/web_tools/__pycache__/constants.cpython-314.pyc index 1310586bc33adde607053bfaa0305a25a84c94ab..414ccce4ff9cdfd1e021adc0fbf51e65582cbff5 100644 Binary files a/api/web_tools/__pycache__/constants.cpython-314.pyc and b/api/web_tools/__pycache__/constants.cpython-314.pyc differ diff --git a/api/web_tools/__pycache__/egress.cpython-314.pyc b/api/web_tools/__pycache__/egress.cpython-314.pyc index 859ac45f3241641b17101be71bdccfc45622d012..a5db86af52a9f42c0acf823e19d5ca296731b907 100644 Binary files a/api/web_tools/__pycache__/egress.cpython-314.pyc and b/api/web_tools/__pycache__/egress.cpython-314.pyc differ diff --git a/api/web_tools/__pycache__/parsers.cpython-314.pyc b/api/web_tools/__pycache__/parsers.cpython-314.pyc index 6c880c56181aff718e15f7d24629af82adc2ca99..833cac8efb9eda6ddc19232f1dca361d9d72ee09 100644 Binary files a/api/web_tools/__pycache__/parsers.cpython-314.pyc and b/api/web_tools/__pycache__/parsers.cpython-314.pyc differ diff --git a/api/web_tools/__pycache__/request.cpython-314.pyc b/api/web_tools/__pycache__/request.cpython-314.pyc index db610523a382a655a90a4eb2fd9d529537d60531..2ec9c92dd52b50616a86ddd7799d8b2f97ceaf6d 100644 Binary files a/api/web_tools/__pycache__/request.cpython-314.pyc and b/api/web_tools/__pycache__/request.cpython-314.pyc differ diff --git a/api/web_tools/__pycache__/streaming.cpython-314.pyc b/api/web_tools/__pycache__/streaming.cpython-314.pyc index 292c1281d6fb13bd4f61c95d858db1b9a6a962ed..f64968ae45dc72a25a58d09eeab161479205e380 100644 Binary files a/api/web_tools/__pycache__/streaming.cpython-314.pyc and b/api/web_tools/__pycache__/streaming.cpython-314.pyc differ diff --git a/config/__pycache__/__init__.cpython-314.pyc b/config/__pycache__/__init__.cpython-314.pyc index 2165bcbb71c0dc3c3d168a7c57c4df2f54800598..29dccca8e13897190537b63da16283dbb833a34e 100644 Binary files a/config/__pycache__/__init__.cpython-314.pyc and b/config/__pycache__/__init__.cpython-314.pyc differ diff --git a/config/__pycache__/constants.cpython-314.pyc b/config/__pycache__/constants.cpython-314.pyc index 14f1baebde863da1b4a22b0133ab0b0ddf0e5cd7..f1ad8665be590ad691dc3b352a27f45041033ae7 100644 Binary files a/config/__pycache__/constants.cpython-314.pyc and b/config/__pycache__/constants.cpython-314.pyc differ diff --git a/config/__pycache__/logging_config.cpython-314.pyc b/config/__pycache__/logging_config.cpython-314.pyc index 79557f51d57b23be37875a37be7db3d9ebc39289..de51e267f58d5c04a3e1a11b6beeab4bc44e55eb 100644 Binary files a/config/__pycache__/logging_config.cpython-314.pyc and b/config/__pycache__/logging_config.cpython-314.pyc differ diff --git a/config/__pycache__/nim.cpython-314.pyc b/config/__pycache__/nim.cpython-314.pyc index 8677041ebf211c4f07bacaade49448229b5cdb10..c9cb5bccb2dbd29de83f150050e3bb4e09f9554e 100644 Binary files a/config/__pycache__/nim.cpython-314.pyc and b/config/__pycache__/nim.cpython-314.pyc differ diff --git a/config/__pycache__/provider_catalog.cpython-314.pyc b/config/__pycache__/provider_catalog.cpython-314.pyc index c48e7e512f8eaf09cc41e4c6016525307b1a0bf7..c098fd59271bfa6598069bc5a386716ab915236a 100644 Binary files a/config/__pycache__/provider_catalog.cpython-314.pyc and b/config/__pycache__/provider_catalog.cpython-314.pyc differ diff --git a/config/__pycache__/provider_ids.cpython-314.pyc b/config/__pycache__/provider_ids.cpython-314.pyc index 44d5a5ab94d505fdea327971008dfdac84c95eea..967495e1a9d446944a33b3c201494691eefedf93 100644 Binary files a/config/__pycache__/provider_ids.cpython-314.pyc and b/config/__pycache__/provider_ids.cpython-314.pyc differ diff --git a/config/__pycache__/settings.cpython-314.pyc b/config/__pycache__/settings.cpython-314.pyc index bd1610df6545cc2e0ad2a02889b475cbd60ae37b..433a86c6f3315b75adac4a2f4a5bab54090f5b74 100644 Binary files a/config/__pycache__/settings.cpython-314.pyc and b/config/__pycache__/settings.cpython-314.pyc differ diff --git a/core/__pycache__/__init__.cpython-314.pyc b/core/__pycache__/__init__.cpython-314.pyc index 0107022962f25c84912d9a8287597b3ed77ac7c3..83a4240d1c5b946b37b74f9eb9432f778d3ee0a4 100644 Binary files a/core/__pycache__/__init__.cpython-314.pyc and b/core/__pycache__/__init__.cpython-314.pyc differ diff --git a/core/__pycache__/model_capabilities.cpython-314.pyc b/core/__pycache__/model_capabilities.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3cf5079d21d888a7cbc7b2521b6e560be5a00e08 Binary files /dev/null and b/core/__pycache__/model_capabilities.cpython-314.pyc differ diff --git a/core/__pycache__/rate_limit.cpython-314.pyc b/core/__pycache__/rate_limit.cpython-314.pyc index d264ebcda56a9271acc85afa2b2f996535d35e44..0bcfb21808c40f490ce93dfa1751a2699d6691a5 100644 Binary files a/core/__pycache__/rate_limit.cpython-314.pyc and b/core/__pycache__/rate_limit.cpython-314.pyc differ diff --git a/core/__pycache__/session_tracker.cpython-314.pyc b/core/__pycache__/session_tracker.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b03dbf079c0a786af3aaf15d0a89d5401f22ead1 Binary files /dev/null and b/core/__pycache__/session_tracker.cpython-314.pyc differ diff --git a/core/__pycache__/task_detector.cpython-314.pyc b/core/__pycache__/task_detector.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6c0a298960ce55400bd494a5f94a9cfdc2071870 Binary files /dev/null and b/core/__pycache__/task_detector.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/__init__.cpython-314.pyc b/core/anthropic/__pycache__/__init__.cpython-314.pyc index 5e721def60fedd1b8f4359d9c6eda63bf507bce2..7da9dacda91273782c71a4b49eab3682258fa8d7 100644 Binary files a/core/anthropic/__pycache__/__init__.cpython-314.pyc and b/core/anthropic/__pycache__/__init__.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/content.cpython-314.pyc b/core/anthropic/__pycache__/content.cpython-314.pyc index 5d62f4036db93e810084f0a94ff99eef9844bef4..c968be2e521e3c7ce7109c05a527434e13109101 100644 Binary files a/core/anthropic/__pycache__/content.cpython-314.pyc and b/core/anthropic/__pycache__/content.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/conversion.cpython-314.pyc b/core/anthropic/__pycache__/conversion.cpython-314.pyc index 4c610cde83ffc66916fcfc687ce00dbd23474519..30e85357b814568c452be3e267be27ee41167cc4 100644 Binary files a/core/anthropic/__pycache__/conversion.cpython-314.pyc and b/core/anthropic/__pycache__/conversion.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/errors.cpython-314.pyc b/core/anthropic/__pycache__/errors.cpython-314.pyc index 73ec8e743599e4576b653383b9d835eb959e9e0d..5c432efe3935a83695905559760951ccce2e49fd 100644 Binary files a/core/anthropic/__pycache__/errors.cpython-314.pyc and b/core/anthropic/__pycache__/errors.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/native_messages_request.cpython-314.pyc b/core/anthropic/__pycache__/native_messages_request.cpython-314.pyc index c07f4e2c79431a33c1a56faa3b6cab5625ee704e..fe3037cfa7394ec3b24a7f83ca2e98caa5b93c3d 100644 Binary files a/core/anthropic/__pycache__/native_messages_request.cpython-314.pyc and b/core/anthropic/__pycache__/native_messages_request.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/provider_stream_error.cpython-314.pyc b/core/anthropic/__pycache__/provider_stream_error.cpython-314.pyc index 2e341036876a52e1a001fee74a10a49c69c1c742..9e89244bf05412d3ea563412eaabcefd47994cf7 100644 Binary files a/core/anthropic/__pycache__/provider_stream_error.cpython-314.pyc and b/core/anthropic/__pycache__/provider_stream_error.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/server_tool_sse.cpython-314.pyc b/core/anthropic/__pycache__/server_tool_sse.cpython-314.pyc index 4f79d1b3c42b8e826337cb23f924eca9fad272d7..8c354d4347af1a0ab1b784f627ff6b16107ad526 100644 Binary files a/core/anthropic/__pycache__/server_tool_sse.cpython-314.pyc and b/core/anthropic/__pycache__/server_tool_sse.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/sse.cpython-314.pyc b/core/anthropic/__pycache__/sse.cpython-314.pyc index 4d3a913557a16fefc2c97784aec48f10c2ffaa9b..868dcd0103b23ab53f12eaf3fd7787dd3ce9d176 100644 Binary files a/core/anthropic/__pycache__/sse.cpython-314.pyc and b/core/anthropic/__pycache__/sse.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/thinking.cpython-314.pyc b/core/anthropic/__pycache__/thinking.cpython-314.pyc index 7822b3f090b0e4e896473dbecc18491beed78d43..a99eed8f7c6977e813d62e8092a7adecc9be39cf 100644 Binary files a/core/anthropic/__pycache__/thinking.cpython-314.pyc and b/core/anthropic/__pycache__/thinking.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/tokens.cpython-314.pyc b/core/anthropic/__pycache__/tokens.cpython-314.pyc index bb3471caba93683a2559323b9f24746a2400f860..5b7304ee9ed99342b4d628c098663e3da273ace1 100644 Binary files a/core/anthropic/__pycache__/tokens.cpython-314.pyc and b/core/anthropic/__pycache__/tokens.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/tools.cpython-314.pyc b/core/anthropic/__pycache__/tools.cpython-314.pyc index 3546bfdbaa6dcbba044e90a56c03e8fb610882cf..7388c914d9fa4d16e52b6b65737ef9fa68228151 100644 Binary files a/core/anthropic/__pycache__/tools.cpython-314.pyc and b/core/anthropic/__pycache__/tools.cpython-314.pyc differ diff --git a/core/anthropic/__pycache__/utils.cpython-314.pyc b/core/anthropic/__pycache__/utils.cpython-314.pyc index cf5add15eca3e8eeb59e9277bb779c859e208052..03f04827b37ba284cb6037a3d297a9bb9a285185 100644 Binary files a/core/anthropic/__pycache__/utils.cpython-314.pyc and b/core/anthropic/__pycache__/utils.cpython-314.pyc differ diff --git a/messaging/__pycache__/__init__.cpython-314.pyc b/messaging/__pycache__/__init__.cpython-314.pyc index b0d9f02d3f87ecad686fade1eda578c88ed9eabc..fe5d41c20951349bde7fea3d811e4e9ea38ff082 100644 Binary files a/messaging/__pycache__/__init__.cpython-314.pyc and b/messaging/__pycache__/__init__.cpython-314.pyc differ diff --git a/messaging/__pycache__/cli_event_constants.cpython-314.pyc b/messaging/__pycache__/cli_event_constants.cpython-314.pyc index 5af10c1ca2aa3953e0201a9d7d234dc2b84625bb..57af3831f33d5dbdb109c5824bfc5cde11c97cfd 100644 Binary files a/messaging/__pycache__/cli_event_constants.cpython-314.pyc and b/messaging/__pycache__/cli_event_constants.cpython-314.pyc differ diff --git a/messaging/__pycache__/command_dispatcher.cpython-314.pyc b/messaging/__pycache__/command_dispatcher.cpython-314.pyc index 59df396e9082f9e912d9a519c5816328055834dd..7d3b38593ffc0b834015677b450030d5a9459f6b 100644 Binary files a/messaging/__pycache__/command_dispatcher.cpython-314.pyc and b/messaging/__pycache__/command_dispatcher.cpython-314.pyc differ diff --git a/messaging/__pycache__/commands.cpython-314.pyc b/messaging/__pycache__/commands.cpython-314.pyc index a11981bc6f9057df0fed791f7075909768b0fc5a..d5fe0c76695e4ff60a9b5cac92470df359223808 100644 Binary files a/messaging/__pycache__/commands.cpython-314.pyc and b/messaging/__pycache__/commands.cpython-314.pyc differ diff --git a/messaging/__pycache__/event_parser.cpython-314.pyc b/messaging/__pycache__/event_parser.cpython-314.pyc index 84c85485dd3fc6d990447a74ccd72da7d8d2bd69..a21e48fd56a7392868a9ab1111272caaca4c02e9 100644 Binary files a/messaging/__pycache__/event_parser.cpython-314.pyc and b/messaging/__pycache__/event_parser.cpython-314.pyc differ diff --git a/messaging/__pycache__/handler.cpython-314.pyc b/messaging/__pycache__/handler.cpython-314.pyc index 46df4e829bbdb0e90c2859f18afe99fbfff32319..ee948472f885057a27196bca6db11e0a67002e30 100644 Binary files a/messaging/__pycache__/handler.cpython-314.pyc and b/messaging/__pycache__/handler.cpython-314.pyc differ diff --git a/messaging/__pycache__/limiter.cpython-314.pyc b/messaging/__pycache__/limiter.cpython-314.pyc index 8c3a249d99971aaa9fb8ad69ff0ead0acc00d8d2..ba3a9c7029ec3fbcce7b03a1577db629a54e892b 100644 Binary files a/messaging/__pycache__/limiter.cpython-314.pyc and b/messaging/__pycache__/limiter.cpython-314.pyc differ diff --git a/messaging/__pycache__/models.cpython-314.pyc b/messaging/__pycache__/models.cpython-314.pyc index 708bd5e786a6f664106398e5bf45f369e2ad4cfa..dc0a6c58f2fede861f18271b12e4dfa4e6df0951 100644 Binary files a/messaging/__pycache__/models.cpython-314.pyc and b/messaging/__pycache__/models.cpython-314.pyc differ diff --git a/messaging/__pycache__/node_event_pipeline.cpython-314.pyc b/messaging/__pycache__/node_event_pipeline.cpython-314.pyc index 1ac3d632da3fb9c1bf324e973b59e35a3f105eb0..ac51dc02ee092d28be22707b35c84b3e0b9b92ea 100644 Binary files a/messaging/__pycache__/node_event_pipeline.cpython-314.pyc and b/messaging/__pycache__/node_event_pipeline.cpython-314.pyc differ diff --git a/messaging/__pycache__/safe_diagnostics.cpython-314.pyc b/messaging/__pycache__/safe_diagnostics.cpython-314.pyc index 9602f140a20fcb9d602e456412fd20808ad829bf..f9e3ac234d545922e38e4fdee942e53c0ea68fe5 100644 Binary files a/messaging/__pycache__/safe_diagnostics.cpython-314.pyc and b/messaging/__pycache__/safe_diagnostics.cpython-314.pyc differ diff --git a/messaging/__pycache__/session.cpython-314.pyc b/messaging/__pycache__/session.cpython-314.pyc index 6b3f632ed4b55f0c2bccd863fec119e8e3d79fc1..fbec4686c2b98d385cf35ecde87e3f496cd52c3d 100644 Binary files a/messaging/__pycache__/session.cpython-314.pyc and b/messaging/__pycache__/session.cpython-314.pyc differ diff --git a/messaging/__pycache__/transcript.cpython-314.pyc b/messaging/__pycache__/transcript.cpython-314.pyc index c906880516fcad3bdba0f410d1a94cfb13d7c345..7ed0d83d073e88a5db6e7c26c8b93dba5daecc77 100644 Binary files a/messaging/__pycache__/transcript.cpython-314.pyc and b/messaging/__pycache__/transcript.cpython-314.pyc differ diff --git a/messaging/__pycache__/ui_updates.cpython-314.pyc b/messaging/__pycache__/ui_updates.cpython-314.pyc index 45257be926c9775b859ea6c71111bf5c332335b8..1aba98e47ae1936bd3a66355a631059e38511d60 100644 Binary files a/messaging/__pycache__/ui_updates.cpython-314.pyc and b/messaging/__pycache__/ui_updates.cpython-314.pyc differ diff --git a/messaging/platforms/__pycache__/__init__.cpython-314.pyc b/messaging/platforms/__pycache__/__init__.cpython-314.pyc index 769e6370752c11dbd3c1649717ebeecc8e6394e1..bfe956eb372b9ca0c1180370fe240ff889ad01be 100644 Binary files a/messaging/platforms/__pycache__/__init__.cpython-314.pyc and b/messaging/platforms/__pycache__/__init__.cpython-314.pyc differ diff --git a/messaging/platforms/__pycache__/base.cpython-314.pyc b/messaging/platforms/__pycache__/base.cpython-314.pyc index 09e43e18c467de48c1c6c970536c94cf6cef1664..b30aab767b1e5f2cb33702a21b79ea10f84d793e 100644 Binary files a/messaging/platforms/__pycache__/base.cpython-314.pyc and b/messaging/platforms/__pycache__/base.cpython-314.pyc differ diff --git a/messaging/platforms/__pycache__/factory.cpython-314.pyc b/messaging/platforms/__pycache__/factory.cpython-314.pyc index 4286ac5ef0b06e4bd9f5173af4e1f9c72f66e0f3..b52705a823260671a34a4550edd38aaabc2b85fb 100644 Binary files a/messaging/platforms/__pycache__/factory.cpython-314.pyc and b/messaging/platforms/__pycache__/factory.cpython-314.pyc differ diff --git a/messaging/rendering/__pycache__/__init__.cpython-314.pyc b/messaging/rendering/__pycache__/__init__.cpython-314.pyc index 609932c757fa5543f9416da7d08e635bd90ea096..58def817ec7c3c83d0f3affa2bc376352edfb070 100644 Binary files a/messaging/rendering/__pycache__/__init__.cpython-314.pyc and b/messaging/rendering/__pycache__/__init__.cpython-314.pyc differ diff --git a/messaging/rendering/__pycache__/discord_markdown.cpython-314.pyc b/messaging/rendering/__pycache__/discord_markdown.cpython-314.pyc index 1ab379a8829d6bf28e36071e8a45a76213264832..9bfed359152b291d7d9d39b32081b3e1b8fc8503 100644 Binary files a/messaging/rendering/__pycache__/discord_markdown.cpython-314.pyc and b/messaging/rendering/__pycache__/discord_markdown.cpython-314.pyc differ diff --git a/messaging/rendering/__pycache__/markdown_tables.cpython-314.pyc b/messaging/rendering/__pycache__/markdown_tables.cpython-314.pyc index 519ba8b2867771ab7de490bb605630129dd1bab2..4f119f1a124330d7ffb38002ee8ef30339e2b26a 100644 Binary files a/messaging/rendering/__pycache__/markdown_tables.cpython-314.pyc and b/messaging/rendering/__pycache__/markdown_tables.cpython-314.pyc differ diff --git a/messaging/rendering/__pycache__/profiles.cpython-314.pyc b/messaging/rendering/__pycache__/profiles.cpython-314.pyc index a5771bf387467ef605c929365012a1f0d0c34c53..b324ff91d56d9d29e305323e48ad0037fbc3a9a6 100644 Binary files a/messaging/rendering/__pycache__/profiles.cpython-314.pyc and b/messaging/rendering/__pycache__/profiles.cpython-314.pyc differ diff --git a/messaging/rendering/__pycache__/telegram_markdown.cpython-314.pyc b/messaging/rendering/__pycache__/telegram_markdown.cpython-314.pyc index be603e5797aa8611250fa240cd5d7171fd003a4d..3bd1f22feac81754c62aaa6db892c10632ab0338 100644 Binary files a/messaging/rendering/__pycache__/telegram_markdown.cpython-314.pyc and b/messaging/rendering/__pycache__/telegram_markdown.cpython-314.pyc differ diff --git a/messaging/trees/__pycache__/__init__.cpython-314.pyc b/messaging/trees/__pycache__/__init__.cpython-314.pyc index 1c8f5ec35faeefbab50ed6bd4c256459a55e8361..96c0a99e6c1dd6ef7d6606d7d3a0305ac2f8a382 100644 Binary files a/messaging/trees/__pycache__/__init__.cpython-314.pyc and b/messaging/trees/__pycache__/__init__.cpython-314.pyc differ diff --git a/messaging/trees/__pycache__/data.cpython-314.pyc b/messaging/trees/__pycache__/data.cpython-314.pyc index 90623af8de6621e57f62a41fe6f2f54f1f211469..b9bcf96b1e14f66ca7b060fb71c4acb86af773ed 100644 Binary files a/messaging/trees/__pycache__/data.cpython-314.pyc and b/messaging/trees/__pycache__/data.cpython-314.pyc differ diff --git a/messaging/trees/__pycache__/queue_manager.cpython-314.pyc b/messaging/trees/__pycache__/queue_manager.cpython-314.pyc index fcc37444975473c5740da551448de48e4048d4bb..8d20bade2176f782bbc6f8cf4544299e5243f833 100644 Binary files a/messaging/trees/__pycache__/queue_manager.cpython-314.pyc and b/messaging/trees/__pycache__/queue_manager.cpython-314.pyc differ diff --git a/providers/__pycache__/__init__.cpython-314.pyc b/providers/__pycache__/__init__.cpython-314.pyc index 96fbdfd1aa45938497919705cd643fcef6bfe9ee..93c017e4e852bbb06a7acae300452646d1f27cc3 100644 Binary files a/providers/__pycache__/__init__.cpython-314.pyc and b/providers/__pycache__/__init__.cpython-314.pyc differ diff --git a/providers/__pycache__/base.cpython-314.pyc b/providers/__pycache__/base.cpython-314.pyc index 9e9d131fc36234f69f0356cf20153b72e7878831..69f32c3146808be8ba9da4f9cd99b0d333059d5e 100644 Binary files a/providers/__pycache__/base.cpython-314.pyc and b/providers/__pycache__/base.cpython-314.pyc differ diff --git a/providers/__pycache__/defaults.cpython-314.pyc b/providers/__pycache__/defaults.cpython-314.pyc index 8f57e025d35bd65634bed5963bbb889a2482af32..c6366f71eda8d1c97e032d62caf6f011895d1762 100644 Binary files a/providers/__pycache__/defaults.cpython-314.pyc and b/providers/__pycache__/defaults.cpython-314.pyc differ diff --git a/providers/__pycache__/error_mapping.cpython-314.pyc b/providers/__pycache__/error_mapping.cpython-314.pyc index efc9c02b65ee663ac9946188f402dcde2165dec1..b9b29c673f8bfb18aa7122271774a27a5748cff8 100644 Binary files a/providers/__pycache__/error_mapping.cpython-314.pyc and b/providers/__pycache__/error_mapping.cpython-314.pyc differ diff --git a/providers/__pycache__/exceptions.cpython-314.pyc b/providers/__pycache__/exceptions.cpython-314.pyc index 1588048c671957399703ea95e6bbd897f68cea6c..a70c92a8e074e8c1eb76d47dc72bde57c0607ff7 100644 Binary files a/providers/__pycache__/exceptions.cpython-314.pyc and b/providers/__pycache__/exceptions.cpython-314.pyc differ diff --git a/providers/__pycache__/model_listing.cpython-314.pyc b/providers/__pycache__/model_listing.cpython-314.pyc index c3db21fe0f3ccf2af1f3ab1f3eadf0b457f6dfd6..b78998f0106fd6c2d8bad0f0d5cf3796174cf666 100644 Binary files a/providers/__pycache__/model_listing.cpython-314.pyc and b/providers/__pycache__/model_listing.cpython-314.pyc differ diff --git a/providers/__pycache__/openai_compat.cpython-314.pyc b/providers/__pycache__/openai_compat.cpython-314.pyc index 96116a97fdae4eb383055d04b1ffbf20f7c80ec8..6b9b34f3f1f5c83be3c79fe27f3ebd282779d0ca 100644 Binary files a/providers/__pycache__/openai_compat.cpython-314.pyc and b/providers/__pycache__/openai_compat.cpython-314.pyc differ diff --git a/providers/__pycache__/rate_limit.cpython-314.pyc b/providers/__pycache__/rate_limit.cpython-314.pyc index 5576d928d5eb7851079f90890b457c83e3c29fa7..fe8bd1dc11ee9d6d553d0935d469557fab89b1c3 100644 Binary files a/providers/__pycache__/rate_limit.cpython-314.pyc and b/providers/__pycache__/rate_limit.cpython-314.pyc differ diff --git a/providers/__pycache__/registry.cpython-314.pyc b/providers/__pycache__/registry.cpython-314.pyc index ec8018ab552f6eb9a692ec53630a04a0de5be595..a52bd6b73297a290a36ca028b4e103622357511f 100644 Binary files a/providers/__pycache__/registry.cpython-314.pyc and b/providers/__pycache__/registry.cpython-314.pyc differ diff --git a/providers/nvidia_nim/__pycache__/__init__.cpython-314.pyc b/providers/nvidia_nim/__pycache__/__init__.cpython-314.pyc index 7e363b1cf263fc00e32e31fde0cbc1d2f49e0ac4..cbb6a1be5c710321f5b6bd413986d3ae9b20eab5 100644 Binary files a/providers/nvidia_nim/__pycache__/__init__.cpython-314.pyc and b/providers/nvidia_nim/__pycache__/__init__.cpython-314.pyc differ diff --git a/providers/nvidia_nim/__pycache__/client.cpython-314.pyc b/providers/nvidia_nim/__pycache__/client.cpython-314.pyc index b3d731355e8c71fa8634d0c449ef6db383c5bffc..0eb057346533dc33c84f49ab683d327eb17904b3 100644 Binary files a/providers/nvidia_nim/__pycache__/client.cpython-314.pyc and b/providers/nvidia_nim/__pycache__/client.cpython-314.pyc differ diff --git a/providers/nvidia_nim/__pycache__/metrics.cpython-314.pyc b/providers/nvidia_nim/__pycache__/metrics.cpython-314.pyc index aa9dbb001864795288a3762f927d2ebad7bf7072..e6f34b61962a028274a6a6a9d8296ad3c5a700bd 100644 Binary files a/providers/nvidia_nim/__pycache__/metrics.cpython-314.pyc and b/providers/nvidia_nim/__pycache__/metrics.cpython-314.pyc differ diff --git a/providers/nvidia_nim/__pycache__/request.cpython-314.pyc b/providers/nvidia_nim/__pycache__/request.cpython-314.pyc index 7ef94be2ec8105e4a2b5aceb4ed0f2d4e4a1bbb6..4a050a0b6e1e69908c3d4350afb25c6b35139f75 100644 Binary files a/providers/nvidia_nim/__pycache__/request.cpython-314.pyc and b/providers/nvidia_nim/__pycache__/request.cpython-314.pyc differ diff --git a/providers/zen/__pycache__/__init__.cpython-314.pyc b/providers/zen/__pycache__/__init__.cpython-314.pyc index f358e43a2d3a09bbbf2956e41e2f9f3e4e91d016..fb3702e0ed4da4338903b32b49048479a7b5c6a7 100644 Binary files a/providers/zen/__pycache__/__init__.cpython-314.pyc and b/providers/zen/__pycache__/__init__.cpython-314.pyc differ diff --git a/providers/zen/__pycache__/client.cpython-314.pyc b/providers/zen/__pycache__/client.cpython-314.pyc index b809ee1bd90df3e2b1f883e7627759d235d41b36..179e50c3b56183f421ec144a9e72a6e1820b1387 100644 Binary files a/providers/zen/__pycache__/client.cpython-314.pyc and b/providers/zen/__pycache__/client.cpython-314.pyc differ diff --git a/server.log b/server.log new file mode 100644 index 0000000000000000000000000000000000000000..e82d66bbe5ce3b94f4fc5ddf5863163179e70216 --- /dev/null +++ b/server.log @@ -0,0 +1,96 @@ +{"time": "2026-05-10 17:44:31.854027+05:30", "level": "INFO", "message": "Starting Claude Code Proxy...", "module": "api.runtime", "function": "startup", "line": 117} +{"time": "2026-05-10 17:44:31.855437+05:30", "level": "WARNING", "message": "python-dotenv could not parse statement starting at line 26", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:31.855688+05:30", "level": "INFO", "message": "GlobalRateLimiter (Provider) initialized (40 req / 60.0s, max_concurrency=5)", "module": "providers.rate_limit", "function": "__init__", "line": 63} +{"time": "2026-05-10 17:44:32.646405+05:30", "level": "DEBUG", "message": "Request options: {'method': 'get', 'url': '/models', 'post_parser': ._parser at 0x0000022DFA00DBC0>, 'json_data': None}", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.647020+05:30", "level": "DEBUG", "message": "Sending HTTP Request: GET https://integrate.api.nvidia.com/v1/models", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.651680+05:30", "level": "DEBUG", "message": "connect_tcp.started host='integrate.api.nvidia.com' port=443 local_address=None timeout=10.0 socket_options=None", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.731084+05:30", "level": "DEBUG", "message": "connect_tcp.complete return_value=", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.731446+05:30", "level": "DEBUG", "message": "start_tls.started ssl_context= server_hostname='integrate.api.nvidia.com' timeout=10.0", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.826818+05:30", "level": "DEBUG", "message": "start_tls.complete return_value=", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.827546+05:30", "level": "DEBUG", "message": "send_connection_init.started request=", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.828675+05:30", "level": "DEBUG", "message": "send_connection_init.complete", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.829700+05:30", "level": "DEBUG", "message": "send_request_headers.started request= stream_id=1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.829984+05:30", "level": "DEBUG", "message": "Adding (b':method', b'GET') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830104+05:30", "level": "DEBUG", "message": "Encoding 2 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830203+05:30", "level": "DEBUG", "message": "Adding (b':authority', b'integrate.api.nvidia.com') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830299+05:30", "level": "DEBUG", "message": "Encoding 1 with 6 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830389+05:30", "level": "DEBUG", "message": "Encoding 17 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830473+05:30", "level": "DEBUG", "message": "Adding (b':scheme', b'https') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830543+05:30", "level": "DEBUG", "message": "Encoding 7 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830613+05:30", "level": "DEBUG", "message": "Adding (b':path', b'/v1/models') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830750+05:30", "level": "DEBUG", "message": "Encoding 4 with 6 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830828+05:30", "level": "DEBUG", "message": "Encoding 8 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830906+05:30", "level": "DEBUG", "message": "Adding (b'accept-encoding', b'gzip, deflate') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.830981+05:30", "level": "DEBUG", "message": "Encoding 16 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831049+05:30", "level": "DEBUG", "message": "Adding (b'accept', b'application/json') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831121+05:30", "level": "DEBUG", "message": "Encoding 19 with 6 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831191+05:30", "level": "DEBUG", "message": "Encoding 11 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831256+05:30", "level": "DEBUG", "message": "Adding (b'user-agent', b'AsyncOpenAI/Python 2.32.0') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831319+05:30", "level": "DEBUG", "message": "Encoding 58 with 6 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831384+05:30", "level": "DEBUG", "message": "Encoding 19 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831447+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-lang', b'python') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831517+05:30", "level": "DEBUG", "message": "Encoding 12 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831571+05:30", "level": "DEBUG", "message": "Encoding 5 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831638+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-package-version', b'2.32.0') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831707+05:30", "level": "DEBUG", "message": "Encoding 19 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831760+05:30", "level": "DEBUG", "message": "Encoding 5 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831824+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-os', b'Windows') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.831895+05:30", "level": "DEBUG", "message": "Encoding 10 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832365+05:30", "level": "DEBUG", "message": "Encoding 6 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832453+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-arch', b'other:amd64') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832523+05:30", "level": "DEBUG", "message": "Encoding 11 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832580+05:30", "level": "DEBUG", "message": "Encoding 8 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832639+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-runtime', b'CPython') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832701+05:30", "level": "DEBUG", "message": "Encoding 14 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832748+05:30", "level": "DEBUG", "message": "Encoding 6 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832801+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-runtime-version', b'3.14.4') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832867+05:30", "level": "DEBUG", "message": "Encoding 19 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832914+05:30", "level": "DEBUG", "message": "Encoding 5 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.832978+05:30", "level": "DEBUG", "message": "Adding (b'authorization', b'Bearer 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') to the header table, sensitive:True, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833039+05:30", "level": "DEBUG", "message": "Encoding 23 with 4 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833113+05:30", "level": "DEBUG", "message": "Encoding 60 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833168+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-async', b'async:asyncio') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833232+05:30", "level": "DEBUG", "message": "Encoding 12 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833283+05:30", "level": "DEBUG", "message": "Encoding 10 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833338+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-retry-count', b'0') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833395+05:30", "level": "DEBUG", "message": "Encoding 16 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833442+05:30", "level": "DEBUG", "message": "Encoding 1 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833493+05:30", "level": "DEBUG", "message": "Adding (b'x-stainless-read-timeout', b'120.0') to the header table, sensitive:False, huffman:True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833554+05:30", "level": "DEBUG", "message": "Encoding 17 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833601+05:30", "level": "DEBUG", "message": "Encoding 4 with 7 bits", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.833741+05:30", "level": "DEBUG", "message": "Encoded header block to b'\\x82A\\x915I,\\xd6\\r%\\\\u\\x99z\\xbb\\x9aC\\rr\\x1e\\x9f\\x87D\\x88c\\xb8X\\xa4\\xf2\\x16\\x84\\x7f\\x90S\\x8b\\x1du\\xd0b\\r&=LtA\\xeaz\\x93\\x85\\x1e\\xaa&\\xaa\\xcbT9\\x18\\xd7\\xe93\\x9e\\xa5\\x04\\xbb\"\\\\\\x1f@\\x8c\\xf2\\xb2\\x123UAP\\x85\\xa8\\x1dS\\x7f\\x85\\xaf\\xd2g=_@\\x93\\xf2\\xb2\\x123UAP\\x85\\xab\\x19:\\x8eb\\xad\\xdc\\xb6 \\xc7\\xab\\x85\\x12\\xec\\x89p\\x7f@\\x8a\\xf2\\xb2\\x123UAP\\x85\\x8e\\x8f\\x86\\xe4j\\xa4?\\x84\\x7f@\\x8b\\xf2\\xb2\\x123UAP\\x85\\x87a\\'\\x88:g-\\x97\\x07L\\x8e5@\\x8e\\xf2\\xb2\\x123UAP\\x85\\xac\\xb6\\xa4\\x9a\\x92\\xff\\x86\\xbd\\xaf\\xd2g=_@\\x93\\xf2\\xb2\\x123UAP\\x85\\xac\\xb6\\xa4\\x9a\\x92\\xad\\xdc\\xb6 \\xc7\\xab\\x85ep\\xb4\\xbb_\\x1f\\x08\\xbc\\xbaQ\\xd8[\\x14\\xab\\xb8\\xeb2\\xcd\\xc7\\xbfFl9\\xe9q\\xd3\\xb2w(\\xdb\\x10V\\xa7bM\\xcb\\xf7\\x11\\xd9\\x97H\\xb8\\xc3]\\x84\\xf7\\xae\\x9b\\xee\\x93\\xaf\\x9dQc\\x93\\xf2\\xc9C\\x0b=\\xf99\\x16\\xfc5\\xb9\\x9fo@\\x8c\\xf2\\xb2\\x123UAP\\x85\\x86\\x8fU\\x13\\x8a\\x1a=TK\\x83G\\xaa\\x88c\\xff@\\x90\\xf2\\xb2\\x123UAP\\x85\\xac*l\\xf4\\xb1\\x0fmI\\x81\\x07@\\x91\\xf2\\xb2\\x123UAP\\x85\\xac(\\xe4Y&\\xa4\\xa7\\xb5?\\x84\\x08\\x80\\xb8?'", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.834050+05:30", "level": "DEBUG", "message": "send_request_headers.complete", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.834136+05:30", "level": "DEBUG", "message": "send_request_body.started request= stream_id=1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.834195+05:30", "level": "DEBUG", "message": "send_request_body.complete", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.834243+05:30", "level": "DEBUG", "message": "receive_response_headers.started request= stream_id=1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.887084+05:30", "level": "DEBUG", "message": "receive_remote_settings.started", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.887318+05:30", "level": "DEBUG", "message": "receive_remote_settings.complete return_value=", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.899658+05:30", "level": "DEBUG", "message": "Decoding b' \\x88a\\x96\\xddm_J\\x04\\nh\\x1f\\xa5\\x04\\x018\\xa0Ep-\\\\e\\xe51h\\xdf_\\x8b\\x1du\\xd0b\\r&=LtA\\xea\\x00\\x04vary\\x85\\xd5a\\xa65_'", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.899836+05:30", "level": "DEBUG", "message": "Decoded 0, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.899910+05:30", "level": "DEBUG", "message": "Resizing header table to 0 from 4096", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.899968+05:30", "level": "DEBUG", "message": "Decoded 8, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900021+05:30", "level": "DEBUG", "message": "Decoded (b':status', b'200'), consumed 1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900072+05:30", "level": "DEBUG", "message": "Decoded 33, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900114+05:30", "level": "DEBUG", "message": "Decoded 22, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900181+05:30", "level": "DEBUG", "message": "Decoded (b'date', b'Sun, 10 May 2026 12:14:38 GMT'), total consumed 24 bytes, indexed True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900241+05:30", "level": "DEBUG", "message": "Decoded 31, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900286+05:30", "level": "DEBUG", "message": "Decoded 11, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900385+05:30", "level": "DEBUG", "message": "Decoded (b'content-type', b'application/json'), total consumed 13 bytes, indexed True", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900442+05:30", "level": "DEBUG", "message": "Decoded 4, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900485+05:30", "level": "DEBUG", "message": "Decoded 5, consumed 1 bytes", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900533+05:30", "level": "DEBUG", "message": "Decoded (, b'Origin'), total consumed 12 bytes, indexed False", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.900754+05:30", "level": "DEBUG", "message": "receive_response_headers.complete return_value=(200, [(b'date', b'Sun, 10 May 2026 12:14:38 GMT'), (b'content-type', b'application/json'), (b'vary', b'Origin')])", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.901194+05:30", "level": "INFO", "message": "HTTP Request: GET https://integrate.api.nvidia.com/v1/models \"HTTP/2 200 OK\"", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.901526+05:30", "level": "DEBUG", "message": "receive_response_body.started request= stream_id=1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.902085+05:30", "level": "DEBUG", "message": "receive_response_body.complete", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.902257+05:30", "level": "DEBUG", "message": "response_closed.started stream_id=1", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.902375+05:30", "level": "DEBUG", "message": "response_closed.complete", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.902539+05:30", "level": "DEBUG", "message": "HTTP Response: GET https://integrate.api.nvidia.com/v1/models \"200 OK\" Headers({'date': 'Sun, 10 May 2026 12:14:38 GMT', 'content-type': 'application/json', 'vary': 'Origin'})", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.902618+05:30", "level": "DEBUG", "message": "request_id: None", "module": "logging", "function": "callHandlers", "line": 1737} +{"time": "2026-05-10 17:44:32.906325+05:30", "level": "INFO", "message": "Configured provider models validated: models=7 providers=1", "module": "providers.registry", "function": "validate_configured_models", "line": 386} +{"time": "2026-05-10 17:44:32.997599+05:30", "level": "INFO", "message": "No Discord bot token configured, skipping platform setup", "module": "messaging.platforms.factory", "function": "create_messaging_platform", "line": 80} +{"time": "2026-05-10 17:44:32.999565+05:30", "level": "INFO", "message": "GlobalRateLimiter (Provider) initialized (9999 req / 60.0s, max_concurrency=20)", "module": "providers.rate_limit", "function": "__init__", "line": 63} +{"time": "2026-05-10 17:44:33.013006+05:30", "level": "INFO", "message": "Starting model discovery for providers: zen", "module": "providers.registry", "function": "_refresh_model_ids", "line": 324} +{"time": "2026-05-10 17:44:33.018475+05:30", "level": "INFO", "message": "Shutdown requested, cleaning up...", "module": "api.runtime", "function": "shutdown", "line": 160} +{"time": "2026-05-10 17:44:33.018969+05:30", "level": "WARNING", "message": "Shutdown step failed: provider_registry.cleanup: exc_type=ExceptionGroup", "module": "api.runtime", "function": "best_effort", "line": 47} +{"time": "2026-05-10 17:44:33.024784+05:30", "level": "INFO", "message": "Server shut down cleanly", "module": "api.runtime", "function": "shutdown", "line": 180} diff --git a/uv.lock b/uv.lock index 688297ddc282ff128a1bd81a070b9f49fd13d7a7..326aea956b0eedb7586148a06ca386181e2ee2f2 100644 --- a/uv.lock +++ b/uv.lock @@ -801,6 +801,7 @@ dependencies = [ { name = "discord-py" }, { name = "fastapi", extra = ["standard"] }, { name = "httpx", extra = ["http2", "socks"] }, + { name = "jinja2" }, { name = "loguru" }, { name = "markdown-it-py" }, { name = "openai" }, @@ -847,6 +848,7 @@ requires-dist = [ { name = "grpcio", marker = "extra == 'voice'", specifier = ">=1.80.0" }, { name = "grpcio-tools", marker = "extra == 'voice'", specifier = ">=1.80.0" }, { name = "httpx", extras = ["http2", "socks"], specifier = ">=0.28.1" }, + { name = "jinja2", specifier = ">=3.1.0" }, { name = "librosa", marker = "extra == 'voice-local'", specifier = ">=0.10.0" }, { name = "loguru", specifier = ">=0.7.0" }, { name = "markdown-it-py", specifier = ">=3.0.0" }, @@ -1924,6 +1926,7 @@ dependencies = [ ] wheels = [ { url = "https://files.pythonhosted.org/packages/2e/f9/85f0bf863deed9078f3a25938a9f06206f98bcc39a6541a48cc97143db10/nvidia_riva_client-2.25.1-1-py3-none-any.whl", hash = "sha256:bde1232a8de3fe1561cccf49d3d0e6fe06190b1f0df4ad0ba118b9f5ae5a06aa", size = 55383, upload-time = "2026-04-30T10:27:58.381Z" }, + { url = "https://files.pythonhosted.org/packages/27/c6/eb4acc0cb884c06109ea123d1c7dbb28974c9dddd73a624b1765a89e023e/nvidia_riva_client-2.25.1-2-py3-none-any.whl", hash = "sha256:5657680ab238b5930c07ce9a4a50d642524f25bff4099c1f818baaa8baad94fe", size = 55462, upload-time = "2026-05-06T12:30:02.948Z" }, { url = "https://files.pythonhosted.org/packages/08/3b/b267af66a49c2e80e673b85ccd5484059b141be8031e4a4bb84ea4bcf31f/nvidia_riva_client-2.25.1-py3-none-any.whl", hash = "sha256:07c48c9cc7f3ca04cd988ad6d2205b0bcf3f6f25bb97d76b397e87cc696acc9f", size = 55371, upload-time = "2026-03-25T13:05:57.425Z" }, ]