@@ -49,11 +49,8 @@ class InputObject:
4949 compression_model : str | None = (
5050 None # Compression model: agentic, claude, opencode, cursor, customer (gateway-internal)
5151 )
52- compression_rate : float | None = (
53- None # Compression rate 0.0-1.0 (gateway-internal, not sent to providers)
54- )
55- compression_semantic_preservation_threshold : int | None = (
56- None # Semantic preservation threshold 0-100 (gateway-internal)
52+ compression_configuration : dict | None = (
53+ None # Configuration for compression model: {"rate": 0.7, "semantic_preservation_threshold": 60}
5754 )
5855
5956
@@ -208,24 +205,21 @@ def send(
208205 tool_choice = None
209206 tags = None
210207 compression_model = None
211- compression_rate = None
212- compression_semantic_preservation_threshold = None
208+ compression_configuration = None
213209 elif isinstance (input , InputObject ):
214210 messages = input .messages
215211 tools = input .tools
216212 tool_choice = input .tool_choice
217213 tags = input .tags
218214 compression_model = input .compression_model
219- compression_rate = input .compression_rate
220- compression_semantic_preservation_threshold = input .compression_semantic_preservation_threshold
215+ compression_configuration = input .compression_configuration
221216 else :
222217 messages = input .get ("messages" , [])
223218 tools = input .get ("tools" )
224219 tool_choice = input .get ("tool_choice" )
225220 tags = input .get ("tags" )
226221 compression_model = input .get ("compression_model" )
227- compression_rate = input .get ("compression_rate" )
228- compression_semantic_preservation_threshold = input .get ("compression_semantic_preservation_threshold" )
222+ compression_configuration = input .get ("compression_configuration" )
229223
230224 body : dict = {"model" : model , "messages" : messages }
231225 if stream :
@@ -238,10 +232,8 @@ def send(
238232 body ["tags" ] = tags
239233 if compression_model is not None :
240234 body ["compression_model" ] = compression_model
241- if compression_rate is not None :
242- body ["compression_rate" ] = compression_rate
243- if compression_semantic_preservation_threshold is not None :
244- body ["compression_semantic_preservation_threshold" ] = compression_semantic_preservation_threshold
235+ if compression_configuration is not None :
236+ body ["compression_configuration" ] = compression_configuration
245237
246238 request = Request (
247239 f"{ self .base_url } { API_ENDPOINT } " ,
0 commit comments