From 39b65c8d94f201b3bee52062b08bb658389de45e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 28 May 2026 20:25:40 +0000 Subject: [PATCH 1/2] Add Claude Opus 4.8 to TEE_LLM enum Register anthropic/claude-opus-4-8 (model ID claude-opus-4-8) as a supported model. Also lists Opus 4.7/4.8 in the README model overview. --- README.md | 2 ++ src/opengradient/types.py | 1 + 2 files changed, 3 insertions(+) diff --git a/README.md b/README.md index 551b552..4937b64 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,8 @@ The SDK provides access to models from multiple providers via the `og.TEE_LLM` e - Claude Haiku 4.5 - Claude Opus 4.5 - Claude Opus 4.6 +- Claude Opus 4.7 +- Claude Opus 4.8 #### Google - Gemini 2.5 Flash diff --git a/src/opengradient/types.py b/src/opengradient/types.py index 7e4c18b..38e54e1 100644 --- a/src/opengradient/types.py +++ b/src/opengradient/types.py @@ -537,6 +537,7 @@ class TEE_LLM(str, Enum): CLAUDE_OPUS_4_5 = "anthropic/claude-opus-4-5" CLAUDE_OPUS_4_6 = "anthropic/claude-opus-4-6" CLAUDE_OPUS_4_7 = "anthropic/claude-opus-4-7" + CLAUDE_OPUS_4_8 = "anthropic/claude-opus-4-8" # Google models via TEE # Note: gemini-2.5-flash, gemini-2.5-pro, and gemini-2.5-flash-lite are scheduled From bc538c87ea93edaf7563a01e80a1e36c65929524 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 28 May 2026 20:28:46 +0000 Subject: [PATCH 2/2] Regenerate SDK docs for Claude Opus 4.8 Regenerate pdoc API reference (now lists CLAUDE_OPUS_4_8 and other models that had drifted from source) and add the new Opus entries to the SDK users' Claude Code guide. --- docs/CLAUDE_SDK_USERS.md | 2 ++ docs/opengradient/client/llm.md | 15 +++++++++- docs/opengradient/client/tee_connection.md | 32 ++++++++++++++++++++++ docs/opengradient/index.md | 2 +- docs/opengradient/types.md | 17 ++++++++++++ 5 files changed, 66 insertions(+), 2 deletions(-) diff --git a/docs/CLAUDE_SDK_USERS.md b/docs/CLAUDE_SDK_USERS.md index 2d049cd..676d762 100644 --- a/docs/CLAUDE_SDK_USERS.md +++ b/docs/CLAUDE_SDK_USERS.md @@ -127,6 +127,8 @@ og.TEE_LLM.CLAUDE_SONNET_4_6 og.TEE_LLM.CLAUDE_HAIKU_4_5 og.TEE_LLM.CLAUDE_OPUS_4_5 og.TEE_LLM.CLAUDE_OPUS_4_6 +og.TEE_LLM.CLAUDE_OPUS_4_7 +og.TEE_LLM.CLAUDE_OPUS_4_8 # Google og.TEE_LLM.GEMINI_2_5_FLASH diff --git a/docs/opengradient/client/llm.md b/docs/opengradient/client/llm.md index f9440ea..6c4bad7 100644 --- a/docs/opengradient/client/llm.md +++ b/docs/opengradient/client/llm.md @@ -241,4 +241,17 @@ Permit2ApprovalResult: Contains ``allowance_before``, * **`ValueError`**: If ``min_allowance`` is less than 0.1 or ``approve_amount`` is less than ``min_allowance``. -* **`RuntimeError`**: If the approval transaction fails. \ No newline at end of file +* **`RuntimeError`**: If the approval transaction fails. + +--- + +#### `resolve_tee_connection()` + +```python +def resolve_tee_connection(self, tee_id: Optional[str] = None) ‑> `ActiveTEE` +``` +Resolve the current TEE or a specific active registry TEE. + +This is primarily for backend relays that need SDK-managed TEE routing, +TLS pinning, and x402 clients without using the chat/completion helpers +directly, for example when forwarding OHTTP ciphertext. \ No newline at end of file diff --git a/docs/opengradient/client/tee_connection.md b/docs/opengradient/client/tee_connection.md index 3bea4d6..f29f06f 100644 --- a/docs/opengradient/client/tee_connection.md +++ b/docs/opengradient/client/tee_connection.md @@ -101,6 +101,18 @@ async def reconnect(self) ‑> None ``` Connect to a new TEE from the registry and rebuild the HTTP client. +--- + +#### `resolve()` + +```python +def resolve(self, tee_id: Optional[str] = None) ‑> `ActiveTEE` +``` +Resolve a TEE connection, optionally pinned to an active TEE id. + +Backend OHTTP relays can use this when the browser encrypted to a +specific on-chain TEE config, while the backend still owns x402 payment. + ### `StaticTEEConnection` TEE connection with a hardcoded endpoint URL. @@ -157,6 +169,18 @@ async def reconnect(self) ‑> None ``` Rebuild the HTTP client (same endpoint). +--- + +#### `resolve()` + +```python +def resolve(self, tee_id: Optional[str] = None) ‑> `ActiveTEE` +``` +Return the static connection. + +Static/dev connections do not have a registry to validate selected +TEE ids against, so they always resolve to the configured endpoint. + ### `TEEConnectionInterface` Interface for TEE connection implementations. @@ -199,4 +223,12 @@ def get(self) ‑> `ActiveTEE` ```python async def reconnect(self) ‑> None +``` + +--- + +#### `resolve()` + +```python +def resolve(self, tee_id: Optional[str] = None) ‑> `ActiveTEE` ``` \ No newline at end of file diff --git a/docs/opengradient/index.md b/docs/opengradient/index.md index 27062b6..00710e6 100644 --- a/docs/opengradient/index.md +++ b/docs/opengradient/index.md @@ -6,7 +6,7 @@ opengradient # Package opengradient -**Version: 1.0.1** +**Version: 1.0.4** OpenGradient Python SDK for decentralized AI inference with end-to-end verification. diff --git a/docs/opengradient/types.md b/docs/opengradient/types.md index 92847fd..3ebfa95 100644 --- a/docs/opengradient/types.md +++ b/docs/opengradient/types.md @@ -468,21 +468,38 @@ auditability and tamper-proof AI inference. * static `CLAUDE_HAIKU_4_5` * static `CLAUDE_OPUS_4_5` * static `CLAUDE_OPUS_4_6` +* static `CLAUDE_OPUS_4_7` +* static `CLAUDE_OPUS_4_8` * static `CLAUDE_SONNET_4_5` * static `CLAUDE_SONNET_4_6` * static `GEMINI_2_5_FLASH` * static `GEMINI_2_5_FLASH_LITE` * static `GEMINI_2_5_PRO` +* static `GEMINI_3_1_FLASH_LITE_PREVIEW` +* static `GEMINI_3_1_PRO_PREVIEW` * static `GEMINI_3_FLASH` * static `GPT_4_1_2025_04_14` +* static `GPT_4_1_MINI` +* static `GPT_4_1_NANO` * static `GPT_5` * static `GPT_5_2` +* static `GPT_5_4` +* static `GPT_5_4_MINI` +* static `GPT_5_4_NANO` +* static `GPT_5_5` * static `GPT_5_MINI` * static `GROK_4` * static `GROK_4_1_FAST` * static `GROK_4_1_FAST_NON_REASONING` +* static `GROK_4_20_NON_REASONING` +* static `GROK_4_20_REASONING` * static `GROK_4_FAST` +* static `GROK_CODE_FAST_1` +* static `O3` * static `O4_MINI` +* static `SEED_1_6` +* static `SEED_1_8` +* static `SEED_2_0_LITE` ### `TextGenerationOutput`