Version 6.1.0 built the distributed proxy. Today, Version 6.1.1 hardens it for extreme production concurrency. We completely ripped out scaling bottlenecks so the proxy never freezes during heavy swarm traffic.
--- NEW: Zero-Blocking Concurrency (Threadpool Offloading) ---
Waiting for a human to click "Approve" on Slack should never bottleneck your other agents.
- Starlette Native Offloading: We stripped the
asynckeyword from the Webhook routes (/approve,/deny), forcing FastAPI to safely dump synchronous Redis polling into Starlette's advanced background threadpool. - Unblockable Main Loop: The FastAPI event-loop is now mathematically shielded from hanging during Human-in-the-Loop Slack approvals.
--- NEW: Enterprise Redis Resilience ---
Deploying across distributed load-balancers exposes you to transient network blips.
- Transient Network Recovery: Wrapped the
RedisStorageBackendin a strict@_retry_on_transientdecorator. Network drops dynamically retry up to 3 times with exponential backoff (0.1s -> 0.2s -> 0.4s). - Configuration Fast-Fail: Fatal config mistakes (like
AuthenticationError) instantly bypass the retry loop and fail fast to prevent deadlocks.
--- REFACTOR: Execution Layer Cleanup ---
- Terminated Dead RateLimiter: Completely purged the legacy, locally-bound
RateLimiterclass. All sliding-window limits are now atomically enforced by theStorageBackend.
The speed of an agent with the unblockable safety of an enterprise firewall.
Repository: https://github.com/Harshit-J004/toolguard
Deployment: docker run -d -p 8080:8080 -e TOOLGUARD_API_KEY="my_secret_key" ghcr.io/harshit-j004/toolguard-proxy:latest