summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/python/src/opencode_ai/errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sdk/python/src/opencode_ai/errors.py')
-rw-r--r--packages/sdk/python/src/opencode_ai/errors.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/sdk/python/src/opencode_ai/errors.py b/packages/sdk/python/src/opencode_ai/errors.py
new file mode 100644
index 000000000..5f92e76ac
--- /dev/null
+++ b/packages/sdk/python/src/opencode_ai/errors.py
@@ -0,0 +1,16 @@
+"""Contains shared errors types that can be raised from API functions"""
+
+
+class UnexpectedStatus(Exception):
+ """Raised by api functions when the response status an undocumented status and Client.raise_on_unexpected_status is True"""
+
+ def __init__(self, status_code: int, content: bytes):
+ self.status_code = status_code
+ self.content = content
+
+ super().__init__(
+ f"Unexpected status code: {status_code}\n\nResponse content:\n{content.decode(errors='ignore')}"
+ )
+
+
+__all__ = ["UnexpectedStatus"]