Skip to content

Commit 3a675f7

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 2fc1900 commit 3a675f7

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
@@ -52,6 +52,12 @@ class InputObject:
5252
compression_rate: float | None = (
5353
None # Compression rate 0.0-1.0 (gateway-internal, not sent to providers)
5454
)
55+
enable_claude_compression: bool | None = (
56+
None # Enable Claude-specific tool compression (gateway-internal, not sent to providers)
57+
)
58+
enable_opencode_compression: bool | None = (
59+
None # Enable OpenCode-specific tool compression (gateway-internal, not sent to providers)
60+
)
5561

5662

5763
@dataclass
@@ -206,20 +212,26 @@ def send(
206212
tags = None
207213
enable_compression = None
208214
compression_rate = None
215+
enable_claude_compression = None
216+
enable_opencode_compression = None
209217
elif isinstance(input, InputObject):
210218
messages = input.messages
211219
tools = input.tools
212220
tool_choice = input.tool_choice
213221
tags = input.tags
214222
enable_compression = input.enable_compression
215223
compression_rate = input.compression_rate
224+
enable_claude_compression = input.enable_claude_compression
225+
enable_opencode_compression = input.enable_opencode_compression
216226
else:
217227
messages = input.get("messages", [])
218228
tools = input.get("tools")
219229
tool_choice = input.get("tool_choice")
220230
tags = input.get("tags")
221231
enable_compression = input.get("enable_compression")
222232
compression_rate = input.get("compression_rate")
233+
enable_claude_compression = input.get("enable_claude_compression")
234+
enable_opencode_compression = input.get("enable_opencode_compression")
223235

224236
body: dict = {"model": model, "messages": messages}
225237
if stream:
@@ -234,6 +246,10 @@ def send(
234246
body["enable_compression"] = enable_compression
235247
if compression_rate is not None:
236248
body["compression_rate"] = compression_rate
249+
if enable_claude_compression is not None:
250+
body["enable_claude_compression"] = enable_claude_compression
251+
if enable_opencode_compression is not None:
252+
body["enable_opencode_compression"] = enable_opencode_compression
237253

238254
request = Request(
239255
f"{self.base_url}{API_ENDPOINT}",

0 commit comments

Comments
 (0)