diff --git a/.gitignore b/.gitignore index 8779740..95ceb18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ .prism.log -.vscode _dev __pycache__ diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2ce25fe..ff4f9a5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.32" + ".": "0.1.0-alpha.33" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 59e6768..e9e292b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 26 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-fb4caa8d0381531c44dd2d3c8c0b930b8c15a7bdde474d15bf7aeeb3b27aef56.yml -openapi_spec_hash: 3a263e46f2369eeb2410430001c60d15 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-5748199af356c3243a46a466e73b5d0bab7eaa0c56895e1d0f903d637f61d0bb.yml +openapi_spec_hash: c04f6b6be54b05d9b1283c24e870163b config_hash: 1ae82c93499b9f0b9ba828b8919f9cb3 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5b01030 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.analysis.importFormat": "relative", +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 5088d68..df97c95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.1.0-alpha.33 (2025-07-25) + +Full Changelog: [v0.1.0-alpha.32...v0.1.0-alpha.33](https://github.com/sst/opencode-sdk-python/compare/v0.1.0-alpha.32...v0.1.0-alpha.33) + +### Features + +* **api:** api update ([9002768](https://github.com/sst/opencode-sdk-python/commit/9002768edd617a44d4d686dd9e88f41fe6a56f2f)) + + +### Chores + +* **project:** add settings file for vscode ([7fff9af](https://github.com/sst/opencode-sdk-python/commit/7fff9af8fd66865dc933dce74f0385250377af87)) + ## 0.1.0-alpha.32 (2025-07-24) Full Changelog: [v0.1.0-alpha.31...v0.1.0-alpha.32](https://github.com/sst/opencode-sdk-python/compare/v0.1.0-alpha.31...v0.1.0-alpha.32) diff --git a/api.md b/api.md index c5eafcf..1758023 100644 --- a/api.md +++ b/api.md @@ -23,7 +23,6 @@ Types: ```python from opencode_ai.types import ( App, - LogLevel, Mode, Model, Provider, diff --git a/pyproject.toml b/pyproject.toml index 7b258db..770518f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "opencode-ai" -version = "0.1.0-alpha.32" +version = "0.1.0-alpha.33" description = "The official Python library for the opencode API" dynamic = ["readme"] license = "MIT" diff --git a/src/opencode_ai/_version.py b/src/opencode_ai/_version.py index 21fbe42..eb5009a 100644 --- a/src/opencode_ai/_version.py +++ b/src/opencode_ai/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "opencode_ai" -__version__ = "0.1.0-alpha.32" # x-release-please-version +__version__ = "0.1.0-alpha.33" # x-release-please-version diff --git a/src/opencode_ai/resources/app.py b/src/opencode_ai/resources/app.py index 44fe939..e9505ce 100644 --- a/src/opencode_ai/resources/app.py +++ b/src/opencode_ai/resources/app.py @@ -3,10 +3,11 @@ from __future__ import annotations from typing import Dict +from typing_extensions import Literal import httpx -from ..types import LogLevel, app_log_params +from ..types import app_log_params from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven from .._utils import maybe_transform, async_maybe_transform from .._compat import cached_property @@ -19,7 +20,6 @@ ) from ..types.app import App from .._base_client import make_request_options -from ..types.log_level import LogLevel from ..types.app_log_response import AppLogResponse from ..types.app_init_response import AppInitResponse from ..types.app_modes_response import AppModesResponse @@ -89,7 +89,7 @@ def init( def log( self, *, - level: LogLevel, + level: Literal["debug", "info", "error", "warn"], message: str, service: str, extra: Dict[str, object] | NotGiven = NOT_GIVEN, @@ -237,7 +237,7 @@ async def init( async def log( self, *, - level: LogLevel, + level: Literal["debug", "info", "error", "warn"], message: str, service: str, extra: Dict[str, object] | NotGiven = NOT_GIVEN, diff --git a/src/opencode_ai/types/__init__.py b/src/opencode_ai/types/__init__.py index e7b46d8..2dc9b99 100644 --- a/src/opencode_ai/types/__init__.py +++ b/src/opencode_ai/types/__init__.py @@ -19,7 +19,6 @@ from .session import Session as Session from .provider import Provider as Provider from .file_part import FilePart as FilePart -from .log_level import LogLevel as LogLevel from .text_part import TextPart as TextPart from .tool_part import ToolPart as ToolPart from .file_source import FileSource as FileSource diff --git a/src/opencode_ai/types/app_log_params.py b/src/opencode_ai/types/app_log_params.py index 105b5a4..8b24c11 100644 --- a/src/opencode_ai/types/app_log_params.py +++ b/src/opencode_ai/types/app_log_params.py @@ -3,15 +3,13 @@ from __future__ import annotations from typing import Dict -from typing_extensions import Required, TypedDict - -from .log_level import LogLevel +from typing_extensions import Literal, Required, TypedDict __all__ = ["AppLogParams"] class AppLogParams(TypedDict, total=False): - level: Required[LogLevel] + level: Required[Literal["debug", "info", "error", "warn"]] """Log level""" message: Required[str] diff --git a/src/opencode_ai/types/log_level.py b/src/opencode_ai/types/log_level.py deleted file mode 100644 index c5138ea..0000000 --- a/src/opencode_ai/types/log_level.py +++ /dev/null @@ -1,7 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing_extensions import Literal, TypeAlias - -__all__ = ["LogLevel"] - -LogLevel: TypeAlias = Literal["debug", "info", "error", "warn"] diff --git a/src/opencode_ai/types/part.py b/src/opencode_ai/types/part.py index 198ea9e..5a74aa5 100644 --- a/src/opencode_ai/types/part.py +++ b/src/opencode_ai/types/part.py @@ -1,9 +1,12 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import Union -from typing_extensions import Annotated, TypeAlias +from typing import List, Union +from typing_extensions import Literal, Annotated, TypeAlias + +from pydantic import Field as FieldInfo from .._utils import PropertyInfo +from .._models import BaseModel from .file_part import FilePart from .text_part import TextPart from .tool_part import ToolPart @@ -11,8 +14,24 @@ from .step_start_part import StepStartPart from .step_finish_part import StepFinishPart -__all__ = ["Part"] +__all__ = ["Part", "PatchPart"] + + +class PatchPart(BaseModel): + id: str + + files: List[str] + + hash: str + + message_id: str = FieldInfo(alias="messageID") + + session_id: str = FieldInfo(alias="sessionID") + + type: Literal["patch"] + Part: TypeAlias = Annotated[ - Union[TextPart, FilePart, ToolPart, StepStartPart, StepFinishPart, SnapshotPart], PropertyInfo(discriminator="type") + Union[TextPart, FilePart, ToolPart, StepStartPart, StepFinishPart, SnapshotPart, PatchPart], + PropertyInfo(discriminator="type"), ]