diff --git a/packages/sdk-python/src/qwen_code_sdk/protocol.py b/packages/sdk-python/src/qwen_code_sdk/protocol.py index 7e5e50b701f..0a5b5b47d77 100644 --- a/packages/sdk-python/src/qwen_code_sdk/protocol.py +++ b/packages/sdk-python/src/qwen_code_sdk/protocol.py @@ -238,6 +238,11 @@ class CLIControlSupportedCommandsRequest(TypedDict): subtype: Literal["supported_commands"] +class CLIControlGetContextUsageRequest(TypedDict): + subtype: Literal["get_context_usage"] + show_details: NotRequired[bool] + + ControlRequestPayload: TypeAlias = ( CLIControlInterruptRequest | CLIControlPermissionRequest @@ -246,6 +251,7 @@ class CLIControlSupportedCommandsRequest(TypedDict): | CLIControlSetModelRequest | CLIControlMcpStatusRequest | CLIControlSupportedCommandsRequest + | CLIControlGetContextUsageRequest | dict[str, Any] ) diff --git a/packages/sdk-python/src/qwen_code_sdk/query.py b/packages/sdk-python/src/qwen_code_sdk/query.py index 9bef8578145..14064af78dd 100644 --- a/packages/sdk-python/src/qwen_code_sdk/query.py +++ b/packages/sdk-python/src/qwen_code_sdk/query.py @@ -482,6 +482,14 @@ async def mcp_server_status(self) -> dict[str, Any] | None: await self._ensure_started() return await self._send_control_request("mcp_server_status") + async def get_context_usage( + self, show_details: bool = False + ) -> dict[str, Any] | None: + await self._ensure_started() + return await self._send_control_request( + "get_context_usage", {"show_details": show_details} + ) + @property def control_request_timeout(self) -> float: return self._options.timeout.control_request