Skip to content

Commit 848a73e

Browse files
committed
feat: add enable_claude_compression and enable_opencode_compression fields
Add per-request compression override fields to InputObject and send(). Ref: EDGEE-1185
1 parent a49a457 commit 848a73e

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

edgee/__init__.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ class InputObject:
6565
compression_rate: float | None = (
6666
None # Compression rate 0.0-1.0 (gateway-internal, not sent to providers)
6767
)
68+
enable_claude_compression: bool | None = (
69+
None # Enable Claude-specific tool compression (gateway-internal, not sent to providers)
70+
)
71+
enable_opencode_compression: bool | None = (
72+
None # Enable OpenCode-specific tool compression (gateway-internal, not sent to providers)
73+
)
6874

6975

7076
@dataclass
@@ -220,20 +226,26 @@ def send(
220226
tags = None
221227
enable_compression = None
222228
compression_rate = None
229+
enable_claude_compression = None
230+
enable_opencode_compression = None
223231
elif isinstance(input, InputObject):
224232
messages = input.messages
225233
tools = input.tools
226234
tool_choice = input.tool_choice
227235
tags = input.tags
228236
enable_compression = input.enable_compression
229237
compression_rate = input.compression_rate
238+
enable_claude_compression = input.enable_claude_compression
239+
enable_opencode_compression = input.enable_opencode_compression
230240
else:
231241
messages = input.get("messages", [])
232242
tools = input.get("tools")
233243
tool_choice = input.get("tool_choice")
234244
tags = input.get("tags")
235245
enable_compression = input.get("enable_compression")
236246
compression_rate = input.get("compression_rate")
247+
enable_claude_compression = input.get("enable_claude_compression")
248+
enable_opencode_compression = input.get("enable_opencode_compression")
237249

238250
body: dict = {"model": model, "messages": messages}
239251
if stream:
@@ -248,6 +260,10 @@ def send(
248260
body["enable_compression"] = enable_compression
249261
if compression_rate is not None:
250262
body["compression_rate"] = compression_rate
263+
if enable_claude_compression is not None:
264+
body["enable_claude_compression"] = enable_claude_compression
265+
if enable_opencode_compression is not None:
266+
body["enable_opencode_compression"] = enable_opencode_compression
251267

252268
request = Request(
253269
f"{self.base_url}{API_ENDPOINT}",

0 commit comments

Comments
 (0)