diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7e56fe2..e2f2c07 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.16" + ".": "0.1.0-alpha.17" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 805d028..281be3a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 22 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-7270b9e4859010d6680bcc92afcd6f7c679d80a2645f65d7097d19ce2e8cdc5a.yml -openapi_spec_hash: 5fcbfaedebfea62c17c74437a9728b04 -config_hash: 38041c37df28a1c4383718e6d148dd0a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-dc00ba583508f76d4bda268d13d363a20df52f9dfd92dfd49d51c26d1fa07b17.yml +openapi_spec_hash: ce12e8bf326729776ad289e5af554dc3 +config_hash: 2a888f284ea87b2dfdb7e548938a55ea diff --git a/CHANGELOG.md b/CHANGELOG.md index 82f3445..eb8ad6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.1.0-alpha.17 (2025-07-16) + +Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/sst/opencode-sdk-python/compare/v0.1.0-alpha.16...v0.1.0-alpha.17) + +### Features + +* **api:** api update ([e76b574](https://github.com/sst/opencode-sdk-python/commit/e76b57439c37c0d3514e1497a4d1a78279844bdc)) + ## 0.1.0-alpha.16 (2025-07-15) Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/sst/opencode-sdk-python/compare/v0.1.0-alpha.15...v0.1.0-alpha.16) diff --git a/api.md b/api.md index 9444712..f9f46d2 100644 --- a/api.md +++ b/api.md @@ -74,6 +74,7 @@ from opencode_ai.types import ( Keybinds, McpLocal, McpRemote, + Mode, Model, Provider, ConfigProvidersResponse, diff --git a/pyproject.toml b/pyproject.toml index 3adf481..af23aac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "opencode-ai" -version = "0.1.0-alpha.16" +version = "0.1.0-alpha.17" description = "The official Python library for the opencode API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/opencode_ai/_version.py b/src/opencode_ai/_version.py index 28c06a3..59c6acb 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.16" # x-release-please-version +__version__ = "0.1.0-alpha.17" # x-release-please-version diff --git a/src/opencode_ai/types/config.py b/src/opencode_ai/types/config.py index 51faa46..5a8f95f 100644 --- a/src/opencode_ai/types/config.py +++ b/src/opencode_ai/types/config.py @@ -5,7 +5,7 @@ from pydantic import Field as FieldInfo -from .config import ModeUnnamedTypeWithobjectParent0ModeUnnamedTypeWithobjectParent0Item +from . import mode from .._utils import PropertyInfo from .._models import BaseModel from .keybinds import Keybinds @@ -21,8 +21,6 @@ "ExperimentalHookSessionCompleted", "Mcp", "Mode", - "ModeBuild", - "ModePlan", "Provider", "ProviderModels", "ProviderModelsCost", @@ -55,32 +53,16 @@ class Experimental(BaseModel): Mcp: TypeAlias = Annotated[Union[McpLocal, McpRemote], PropertyInfo(discriminator="type")] -class ModeBuild(BaseModel): - model: Optional[str] = None - - prompt: Optional[str] = None - - tools: Optional[Dict[str, bool]] = None - - -class ModePlan(BaseModel): - model: Optional[str] = None - - prompt: Optional[str] = None - - tools: Optional[Dict[str, bool]] = None - - class Mode(BaseModel): - build: Optional[ModeBuild] = None + build: Optional[mode.Mode] = None - plan: Optional[ModePlan] = None + plan: Optional[mode.Mode] = None if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. # `getattr(obj, '$type')` - def __getattr__(self, attr: str) -> ModeUnnamedTypeWithobjectParent0ModeUnnamedTypeWithobjectParent0Item: ... + def __getattr__(self, attr: str) -> mode.Mode: ... class ProviderModelsCost(BaseModel): @@ -161,6 +143,9 @@ class Config(BaseModel): keybinds: Optional[Keybinds] = None """Custom keybind configurations""" + layout: Optional[Literal["auto", "stretch"]] = None + """Layout to use for the TUI""" + log_level: Optional[LogLevel] = None """Minimum log level to write to log files""" diff --git a/src/opencode_ai/types/keybinds.py b/src/opencode_ai/types/keybinds.py index a0b376f..843a093 100644 --- a/src/opencode_ai/types/keybinds.py +++ b/src/opencode_ai/types/keybinds.py @@ -86,6 +86,9 @@ class Keybinds(BaseModel): session_compact: str """Compact the session""" + session_export: str + """Export session to editor""" + session_interrupt: str """Interrupt current session""" diff --git a/src/opencode_ai/types/mode1.py b/src/opencode_ai/types/mode1.py new file mode 100644 index 0000000..9bccdc5 --- /dev/null +++ b/src/opencode_ai/types/mode1.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, Optional + +from .._models import BaseModel + +__all__ = ["Mode"] + + +class Mode(BaseModel): + model: Optional[str] = None + + prompt: Optional[str] = None + + tools: Optional[Dict[str, bool]] = None