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/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/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 typing_extensions import Literal, Annotated, TypeAlias 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 @@ __all__ = [ "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