diff --git a/.stats.yml b/.stats.yml index 07e475c..ab6c4a2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 20 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-e2f67adede4455c3fe4507ac6f0b2ed1a91ee951ab30e01179555c18765750d4.yml -openapi_spec_hash: 6005bcfff58c025d61739be42030a339 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-945f9da9e9a4c4008834deef63e4346c0076e020eed3d3c98c249095033c1ac5.yml +openapi_spec_hash: 522a44f6cb0677435fe2ac7693848ad7 config_hash: 6c8822d278ba83456e5eed6d774ca230 diff --git a/src/opencode_ai/types/config.py b/src/opencode_ai/types/config.py index 8159f70..02aa810 100644 --- a/src/opencode_ai/types/config.py +++ b/src/opencode_ai/types/config.py @@ -119,6 +119,9 @@ class Config(BaseModel): experimental: Optional[Experimental] = None + instructions: Optional[List[str]] = None + """Additional instruction files or patterns to include""" + keybinds: Optional[Keybinds] = None """Custom keybind configurations""" diff --git a/src/opencode_ai/types/event_list_response.py b/src/opencode_ai/types/event_list_response.py index e824507..caecaad 100644 --- a/src/opencode_ai/types/event_list_response.py +++ b/src/opencode_ai/types/event_list_response.py @@ -28,6 +28,8 @@ __all__ = [ "EventInstallationUpdatedProperties", "EventMessageUpdated", "EventMessageUpdatedProperties", + "EventMessageRemoved", + "EventMessageRemovedProperties", "EventMessagePartUpdated", "EventMessagePartUpdatedProperties", "EventSessionUpdated", @@ -121,6 +123,18 @@ class EventMessageUpdated(BaseModel): type: Literal["message.updated"] +class EventMessageRemovedProperties(BaseModel): + message_id: str = FieldInfo(alias="messageID") + + session_id: str = FieldInfo(alias="sessionID") + + +class EventMessageRemoved(BaseModel): + properties: EventMessageRemovedProperties + + type: Literal["message.removed"] + + class EventMessagePartUpdatedProperties(BaseModel): message_id: str = FieldInfo(alias="messageID") @@ -207,6 +221,7 @@ EventListResponse: TypeAlias = Annotated[ EventStorageWrite, EventInstallationUpdated, EventMessageUpdated, + EventMessageRemoved, EventMessagePartUpdated, EventSessionUpdated, EventSessionDeleted, diff --git a/src/opencode_ai/types/file_status_response.py b/src/opencode_ai/types/file_status_response.py index af14843..2141366 100644 --- a/src/opencode_ai/types/file_status_response.py +++ b/src/opencode_ai/types/file_status_response.py @@ -9,11 +9,11 @@ __all__ = ["FileStatusResponse", "FileStatusResponseItem"] class FileStatusResponseItem(BaseModel): - added: float + added: int file: str - removed: float + removed: int status: Literal["added", "deleted", "modified"] diff --git a/src/opencode_ai/types/message.py b/src/opencode_ai/types/message.py index e1af6fb..d9810ff 100644 --- a/src/opencode_ai/types/message.py +++ b/src/opencode_ai/types/message.py @@ -23,7 +23,6 @@ __all__ = [ "MetadataAssistantTokensCache", "MetadataError", "MetadataErrorMessageOutputLengthError", - "MetadataUser", ] @@ -44,6 +43,8 @@ class MetadataTool(BaseModel): title: str + snapshot: Optional[str] = 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. @@ -100,10 +101,6 @@ MetadataError: TypeAlias = Annotated[ ] -class MetadataUser(BaseModel): - snapshot: Optional[str] = None - - class Metadata(BaseModel): session_id: str = FieldInfo(alias="sessionID") @@ -115,7 +112,7 @@ class Metadata(BaseModel): error: Optional[MetadataError] = None - user: Optional[MetadataUser] = None + snapshot: Optional[str] = None class Message(BaseModel): diff --git a/src/opencode_ai/types/session.py b/src/opencode_ai/types/session.py index b53fcce..e7c4967 100644 --- a/src/opencode_ai/types/session.py +++ b/src/opencode_ai/types/session.py @@ -6,7 +6,7 @@ from pydantic import Field as FieldInfo from .._models import BaseModel -__all__ = ["Session", "Time", "Share"] +__all__ = ["Session", "Time", "Revert", "Share"] class Time(BaseModel): @@ -15,6 +15,14 @@ class Time(BaseModel): updated: float +class Revert(BaseModel): + message_id: str = FieldInfo(alias="messageID") + + part: float + + snapshot: Optional[str] = None + + class Share(BaseModel): url: str @@ -30,4 +38,6 @@ class Session(BaseModel): parent_id: Optional[str] = FieldInfo(alias="parentID", default=None) + revert: Optional[Revert] = None + share: Optional[Share] = None