Skip to content

Commit be1f9d8

Browse files
feat(api): api update
1 parent e27c59a commit be1f9d8

17 files changed

+426
-11
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 23
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-36685e6c811d5fcefdf3a2850a6c198417f6ae822ceddc77cac73625d2cc93ce.yml
3-
openapi_spec_hash: fb6cbcb766a009845ff5c10fbdea8e38
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-04eaffcca7fcec3eba3c34ba4e91ba830867173c552015a0abfd65e25084d9b5.yml
3+
openapi_spec_hash: 4dfbcc2ce25451592f610e372ecad0cb
44
config_hash: 0032a76356d31c6b4c218b39fff635bb

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,4 +145,4 @@ from opencode_ai.types import TuiPromptResponse
145145

146146
Methods:
147147

148-
- <code title="post /tui/prompt">client.tui.<a href="./src/opencode_ai/resources/tui.py">prompt</a>() -> <a href="./src/opencode_ai/types/tui_prompt_response.py">TuiPromptResponse</a></code>
148+
- <code title="post /tui/prompt">client.tui.<a href="./src/opencode_ai/resources/tui.py">prompt</a>(\*\*<a href="src/opencode_ai/types/tui_prompt_params.py">params</a>) -> <a href="./src/opencode_ai/types/tui_prompt_response.py">TuiPromptResponse</a></code>

src/opencode_ai/resources/tui.py

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
from __future__ import annotations
44

5+
from typing import Iterable
6+
57
import httpx
68

9+
from ..types import tui_prompt_params
710
from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
11+
from .._utils import maybe_transform, async_maybe_transform
812
from .._compat import cached_property
913
from .._resource import SyncAPIResource, AsyncAPIResource
1014
from .._response import (
@@ -14,6 +18,7 @@
1418
async_to_streamed_response_wrapper,
1519
)
1620
from .._base_client import make_request_options
21+
from ..types.part_param import PartParam
1722
from ..types.tui_prompt_response import TuiPromptResponse
1823

1924
__all__ = ["TuiResource", "AsyncTuiResource"]
@@ -42,16 +47,36 @@ def with_streaming_response(self) -> TuiResourceWithStreamingResponse:
4247
def prompt(
4348
self,
4449
*,
50+
parts: Iterable[PartParam],
51+
text: str,
4552
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4653
# The extra values given here take precedence over values defined on the client or passed to this method.
4754
extra_headers: Headers | None = None,
4855
extra_query: Query | None = None,
4956
extra_body: Body | None = None,
5057
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
5158
) -> TuiPromptResponse:
52-
"""Send a prompt to the TUI"""
59+
"""
60+
Send a prompt to the TUI
61+
62+
Args:
63+
extra_headers: Send extra headers
64+
65+
extra_query: Add additional query parameters to the request
66+
67+
extra_body: Add additional JSON properties to the request
68+
69+
timeout: Override the client-level default timeout for this request, in seconds
70+
"""
5371
return self._post(
5472
"/tui/prompt",
73+
body=maybe_transform(
74+
{
75+
"parts": parts,
76+
"text": text,
77+
},
78+
tui_prompt_params.TuiPromptParams,
79+
),
5580
options=make_request_options(
5681
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
5782
),
@@ -82,16 +107,36 @@ def with_streaming_response(self) -> AsyncTuiResourceWithStreamingResponse:
82107
async def prompt(
83108
self,
84109
*,
110+
parts: Iterable[PartParam],
111+
text: str,
85112
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
86113
# The extra values given here take precedence over values defined on the client or passed to this method.
87114
extra_headers: Headers | None = None,
88115
extra_query: Query | None = None,
89116
extra_body: Body | None = None,
90117
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
91118
) -> TuiPromptResponse:
92-
"""Send a prompt to the TUI"""
119+
"""
120+
Send a prompt to the TUI
121+
122+
Args:
123+
extra_headers: Send extra headers
124+
125+
extra_query: Add additional query parameters to the request
126+
127+
extra_body: Add additional JSON properties to the request
128+
129+
timeout: Override the client-level default timeout for this request, in seconds
130+
"""
93131
return await self._post(
94132
"/tui/prompt",
133+
body=await async_maybe_transform(
134+
{
135+
"parts": parts,
136+
"text": text,
137+
},
138+
tui_prompt_params.TuiPromptParams,
139+
),
95140
options=make_request_options(
96141
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
97142
),

src/opencode_ai/types/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,18 @@
2121
from .file_part import FilePart as FilePart
2222
from .text_part import TextPart as TextPart
2323
from .tool_part import ToolPart as ToolPart
24+
from .part_param import PartParam as PartParam
2425
from .file_source import FileSource as FileSource
2526
from .mode_config import ModeConfig as ModeConfig
2627
from .user_message import UserMessage as UserMessage
2728
from .snapshot_part import SnapshotPart as SnapshotPart
2829
from .symbol_source import SymbolSource as SymbolSource
2930
from .app_log_params import AppLogParams as AppLogParams
31+
from .file_part_param import FilePartParam as FilePartParam
3032
from .keybinds_config import KeybindsConfig as KeybindsConfig
3133
from .step_start_part import StepStartPart as StepStartPart
34+
from .text_part_param import TextPartParam as TextPartParam
35+
from .tool_part_param import ToolPartParam as ToolPartParam
3236
from .app_log_response import AppLogResponse as AppLogResponse
3337
from .file_part_source import FilePartSource as FilePartSource
3438
from .file_read_params import FileReadParams as FileReadParams
@@ -41,6 +45,7 @@
4145
from .file_source_param import FileSourceParam as FileSourceParam
4246
from .find_files_params import FindFilesParams as FindFilesParams
4347
from .mcp_remote_config import McpRemoteConfig as McpRemoteConfig
48+
from .tui_prompt_params import TuiPromptParams as TuiPromptParams
4449
from .app_modes_response import AppModesResponse as AppModesResponse
4550
from .file_read_response import FileReadResponse as FileReadResponse
4651
from .find_text_response import FindTextResponse as FindTextResponse
@@ -51,6 +56,7 @@
5156
from .find_symbols_params import FindSymbolsParams as FindSymbolsParams
5257
from .session_chat_params import SessionChatParams as SessionChatParams
5358
from .session_init_params import SessionInitParams as SessionInitParams
59+
from .snapshot_part_param import SnapshotPartParam as SnapshotPartParam
5460
from .symbol_source_param import SymbolSourceParam as SymbolSourceParam
5561
from .tui_prompt_response import TuiPromptResponse as TuiPromptResponse
5662
from .file_status_response import FileStatusResponse as FileStatusResponse
@@ -60,12 +66,18 @@
6066
from .find_symbols_response import FindSymbolsResponse as FindSymbolsResponse
6167
from .session_init_response import SessionInitResponse as SessionInitResponse
6268
from .session_list_response import SessionListResponse as SessionListResponse
69+
from .step_start_part_param import StepStartPartParam as StepStartPartParam
6370
from .text_part_input_param import TextPartInputParam as TextPartInputParam
6471
from .app_providers_response import AppProvidersResponse as AppProvidersResponse
6572
from .file_part_source_param import FilePartSourceParam as FilePartSourceParam
6673
from .session_abort_response import SessionAbortResponse as SessionAbortResponse
74+
from .step_finish_part_param import StepFinishPartParam as StepFinishPartParam
75+
from .tool_state_error_param import ToolStateErrorParam as ToolStateErrorParam
6776
from .session_delete_response import SessionDeleteResponse as SessionDeleteResponse
6877
from .session_summarize_params import SessionSummarizeParams as SessionSummarizeParams
78+
from .tool_state_pending_param import ToolStatePendingParam as ToolStatePendingParam
79+
from .tool_state_running_param import ToolStateRunningParam as ToolStateRunningParam
6980
from .session_messages_response import SessionMessagesResponse as SessionMessagesResponse
7081
from .session_summarize_response import SessionSummarizeResponse as SessionSummarizeResponse
82+
from .tool_state_completed_param import ToolStateCompletedParam as ToolStateCompletedParam
7183
from .file_part_source_text_param import FilePartSourceTextParam as FilePartSourceTextParam
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
8+
from .file_part_source_param import FilePartSourceParam
9+
10+
__all__ = ["FilePartParam"]
11+
12+
13+
class FilePartParam(TypedDict, total=False):
14+
id: Required[str]
15+
16+
message_id: Required[Annotated[str, PropertyInfo(alias="messageID")]]
17+
18+
mime: Required[str]
19+
20+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionID")]]
21+
22+
type: Required[Literal["file"]]
23+
24+
url: Required[str]
25+
26+
filename: str
27+
28+
source: FilePartSourceParam
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import Union
6+
from typing_extensions import TypeAlias
7+
8+
from .file_part_param import FilePartParam
9+
from .text_part_param import TextPartParam
10+
from .tool_part_param import ToolPartParam
11+
from .snapshot_part_param import SnapshotPartParam
12+
from .step_start_part_param import StepStartPartParam
13+
from .step_finish_part_param import StepFinishPartParam
14+
15+
__all__ = ["PartParam"]
16+
17+
PartParam: TypeAlias = Union[
18+
TextPartParam, FilePartParam, ToolPartParam, StepStartPartParam, StepFinishPartParam, SnapshotPartParam
19+
]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
8+
9+
__all__ = ["SnapshotPartParam"]
10+
11+
12+
class SnapshotPartParam(TypedDict, total=False):
13+
id: Required[str]
14+
15+
message_id: Required[Annotated[str, PropertyInfo(alias="messageID")]]
16+
17+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionID")]]
18+
19+
snapshot: Required[str]
20+
21+
type: Required[Literal["snapshot"]]
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
8+
9+
__all__ = ["StepFinishPartParam", "Tokens", "TokensCache"]
10+
11+
12+
class TokensCache(TypedDict, total=False):
13+
read: Required[float]
14+
15+
write: Required[float]
16+
17+
18+
class Tokens(TypedDict, total=False):
19+
cache: Required[TokensCache]
20+
21+
input: Required[float]
22+
23+
output: Required[float]
24+
25+
reasoning: Required[float]
26+
27+
28+
class StepFinishPartParam(TypedDict, total=False):
29+
id: Required[str]
30+
31+
cost: Required[float]
32+
33+
message_id: Required[Annotated[str, PropertyInfo(alias="messageID")]]
34+
35+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionID")]]
36+
37+
tokens: Required[Tokens]
38+
39+
type: Required[Literal["step-finish"]]
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
8+
9+
__all__ = ["StepStartPartParam"]
10+
11+
12+
class StepStartPartParam(TypedDict, total=False):
13+
id: Required[str]
14+
15+
message_id: Required[Annotated[str, PropertyInfo(alias="messageID")]]
16+
17+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionID")]]
18+
19+
type: Required[Literal["step-start"]]
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
8+
9+
__all__ = ["TextPartParam", "Time"]
10+
11+
12+
class Time(TypedDict, total=False):
13+
start: Required[float]
14+
15+
end: float
16+
17+
18+
class TextPartParam(TypedDict, total=False):
19+
id: Required[str]
20+
21+
message_id: Required[Annotated[str, PropertyInfo(alias="messageID")]]
22+
23+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionID")]]
24+
25+
text: Required[str]
26+
27+
type: Required[Literal["text"]]
28+
29+
synthetic: bool
30+
31+
time: Time

0 commit comments

Comments
 (0)