Runtime dispatcher for optional cache adapters, cache-key generation, and cache writes.
Summary
Functions
@spec enabled?(LLMProxy.Protocol.Request.t(), LLMProxy.Cache.context()) :: boolean()
@spec get(String.t(), LLMProxy.Cache.context()) :: {:hit, LLMProxy.Response.t()} | :miss
@spec key(LLMProxy.Protocol.Request.t(), [LLMProxy.Providers.Attempt.t()]) :: String.t()
@spec policy(LLMProxy.Protocol.Request.t(), LLMProxy.Cache.context()) :: LLMProxy.Cache.Policy.t()
@spec put( String.t(), LLMProxy.Protocol.Request.t(), LLMProxy.Response.t(), LLMProxy.Cache.context() ) :: :ok