@@ -62,11 +62,8 @@ class InputObject:
6262 compression_model : str | None = (
6363 None # Compression model: agentic, claude, opencode, cursor, customer (gateway-internal)
6464 )
65- compression_rate : float | None = (
66- None # Compression rate 0.0-1.0 (gateway-internal, not sent to providers)
67- )
68- compression_semantic_preservation_threshold : int | None = (
69- None # Semantic preservation threshold 0-100 (gateway-internal)
65+ compression_configuration : dict | None = (
66+ None # Configuration for compression model: {"rate": 0.7, "semantic_preservation_threshold": 60}
7067 )
7168
7269
@@ -222,24 +219,21 @@ def send(
222219 tool_choice = None
223220 tags = None
224221 compression_model = None
225- compression_rate = None
226- compression_semantic_preservation_threshold = None
222+ compression_configuration = None
227223 elif isinstance (input , InputObject ):
228224 messages = input .messages
229225 tools = input .tools
230226 tool_choice = input .tool_choice
231227 tags = input .tags
232228 compression_model = input .compression_model
233- compression_rate = input .compression_rate
234- compression_semantic_preservation_threshold = input .compression_semantic_preservation_threshold
229+ compression_configuration = input .compression_configuration
235230 else :
236231 messages = input .get ("messages" , [])
237232 tools = input .get ("tools" )
238233 tool_choice = input .get ("tool_choice" )
239234 tags = input .get ("tags" )
240235 compression_model = input .get ("compression_model" )
241- compression_rate = input .get ("compression_rate" )
242- compression_semantic_preservation_threshold = input .get ("compression_semantic_preservation_threshold" )
236+ compression_configuration = input .get ("compression_configuration" )
243237
244238 body : dict = {"model" : model , "messages" : messages }
245239 if stream :
@@ -252,10 +246,8 @@ def send(
252246 body ["tags" ] = tags
253247 if compression_model is not None :
254248 body ["compression_model" ] = compression_model
255- if compression_rate is not None :
256- body ["compression_rate" ] = compression_rate
257- if compression_semantic_preservation_threshold is not None :
258- body ["compression_semantic_preservation_threshold" ] = compression_semantic_preservation_threshold
249+ if compression_configuration is not None :
250+ body ["compression_configuration" ] = compression_configuration
259251
260252 request = Request (
261253 f"{ self .base_url } { API_ENDPOINT } " ,
0 commit comments