Skip to content

Commit 83866db

Browse files
feat(api): api update
1 parent e6b356d commit 83866db

12 files changed

Lines changed: 167 additions & 31 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 166
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/droidrun/droidrun-cloud-4e32174d9764ddeec31db33c46c772c4ac06eb72aa399445f79283b35c57e37d.yml
3-
openapi_spec_hash: b2b7096b8e12f79a52ad303aa9b21dea
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/droidrun/droidrun-cloud-08c35138343ffe8ed3696fce216c3bfcc41dd7fafbf0a3e4d72065035bc21c5a.yml
3+
openapi_spec_hash: ec1907fc7698acbb27a0c702e5531605
44
config_hash: 7eee71321886b0cd05bdbd017f9d06ec

api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Methods:
3434
- <code title="post /agents/chat/permission">client.agents.chat.<a href="./src/mobilerun_sdk/resources/agents/chat/chat.py">deliver_permission</a>(\*\*<a href="src/mobilerun_sdk/types/agents/chat_deliver_permission_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/agents/chat_deliver_permission_response.py">ChatDeliverPermissionResponse</a></code>
3535
- <code title="get /agents/chat/state">client.agents.chat.<a href="./src/mobilerun_sdk/resources/agents/chat/chat.py">get_chat_state</a>() -> <a href="./src/mobilerun_sdk/types/agents/chat_get_chat_state_response.py">ChatGetChatStateResponse</a></code>
3636
- <code title="get /agents/chat/slash-commands">client.agents.chat.<a href="./src/mobilerun_sdk/resources/agents/chat/chat.py">list_slash_commands</a>() -> <a href="./src/mobilerun_sdk/types/agents/chat_list_slash_commands_response.py">ChatListSlashCommandsResponse</a></code>
37-
- <code title="get /agents/chat/messages">client.agents.chat.<a href="./src/mobilerun_sdk/resources/agents/chat/chat.py">rehydrate_chat</a>() -> <a href="./src/mobilerun_sdk/types/agents/chat_rehydrate_chat_response.py">ChatRehydrateChatResponse</a></code>
37+
- <code title="get /agents/chat/messages">client.agents.chat.<a href="./src/mobilerun_sdk/resources/agents/chat/chat.py">rehydrate_chat</a>(\*\*<a href="src/mobilerun_sdk/types/agents/chat_rehydrate_chat_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/agents/chat_rehydrate_chat_response.py">ChatRehydrateChatResponse</a></code>
3838

3939
### Abort
4040

@@ -47,7 +47,7 @@ from mobilerun_sdk.types.agents.chat import AbortForceClearResponse, AbortPerfor
4747
Methods:
4848

4949
- <code title="post /agents/chat/abort/force">client.agents.chat.abort.<a href="./src/mobilerun_sdk/resources/agents/chat/abort.py">force_clear</a>() -> <a href="./src/mobilerun_sdk/types/agents/chat/abort_force_clear_response.py">AbortForceClearResponse</a></code>
50-
- <code title="post /agents/chat/abort">client.agents.chat.abort.<a href="./src/mobilerun_sdk/resources/agents/chat/abort.py">perform</a>() -> <a href="./src/mobilerun_sdk/types/agents/chat/abort_perform_response.py">AbortPerformResponse</a></code>
50+
- <code title="post /agents/chat/abort">client.agents.chat.abort.<a href="./src/mobilerun_sdk/resources/agents/chat/abort.py">perform</a>(\*\*<a href="src/mobilerun_sdk/types/agents/chat/abort_perform_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/agents/chat/abort_perform_response.py">AbortPerformResponse</a></code>
5151

5252
### Question
5353

src/mobilerun_sdk/resources/agents/chat/abort.py

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import httpx
66

77
from ...._types import Body, Query, Headers, NotGiven, not_given
8+
from ...._utils import maybe_transform, async_maybe_transform
89
from ...._compat import cached_property
910
from ...._resource import SyncAPIResource, AsyncAPIResource
1011
from ...._response import (
@@ -14,6 +15,7 @@
1415
async_to_streamed_response_wrapper,
1516
)
1617
from ...._base_client import make_request_options
18+
from ....types.agents.chat import abort_perform_params
1719
from ....types.agents.chat.abort_perform_response import AbortPerformResponse
1820
from ....types.agents.chat.abort_force_clear_response import AbortForceClearResponse
1921

@@ -66,16 +68,31 @@ def force_clear(
6668
def perform(
6769
self,
6870
*,
71+
session_id: str,
6972
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
7073
# The extra values given here take precedence over values defined on the client or passed to this method.
7174
extra_headers: Headers | None = None,
7275
extra_query: Query | None = None,
7376
extra_body: Body | None = None,
7477
timeout: float | httpx.Timeout | None | NotGiven = not_given,
7578
) -> AbortPerformResponse:
76-
"""Abort the in-flight chat turn. Idempotent."""
79+
"""Abort the in-flight chat turn owned by `sessionId`.
80+
81+
Idempotent. A turn owned by
82+
a different session is left untouched (204).
83+
84+
Args:
85+
extra_headers: Send extra headers
86+
87+
extra_query: Add additional query parameters to the request
88+
89+
extra_body: Add additional JSON properties to the request
90+
91+
timeout: Override the client-level default timeout for this request, in seconds
92+
"""
7793
return self._post(
7894
"/agents/chat/abort",
95+
body=maybe_transform({"session_id": session_id}, abort_perform_params.AbortPerformParams),
7996
options=make_request_options(
8097
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
8198
),
@@ -129,16 +146,31 @@ async def force_clear(
129146
async def perform(
130147
self,
131148
*,
149+
session_id: str,
132150
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
133151
# The extra values given here take precedence over values defined on the client or passed to this method.
134152
extra_headers: Headers | None = None,
135153
extra_query: Query | None = None,
136154
extra_body: Body | None = None,
137155
timeout: float | httpx.Timeout | None | NotGiven = not_given,
138156
) -> AbortPerformResponse:
139-
"""Abort the in-flight chat turn. Idempotent."""
157+
"""Abort the in-flight chat turn owned by `sessionId`.
158+
159+
Idempotent. A turn owned by
160+
a different session is left untouched (204).
161+
162+
Args:
163+
extra_headers: Send extra headers
164+
165+
extra_query: Add additional query parameters to the request
166+
167+
extra_body: Add additional JSON properties to the request
168+
169+
timeout: Override the client-level default timeout for this request, in seconds
170+
"""
140171
return await self._post(
141172
"/agents/chat/abort",
173+
body=await async_maybe_transform({"session_id": session_id}, abort_perform_params.AbortPerformParams),
142174
options=make_request_options(
143175
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
144176
),

src/mobilerun_sdk/resources/agents/chat/chat.py

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
QuestionResourceWithStreamingResponse,
2323
AsyncQuestionResourceWithStreamingResponse,
2424
)
25-
from ...._types import Body, Query, Headers, NotGiven, not_given
25+
from ...._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
2626
from ...._utils import maybe_transform, async_maybe_transform
2727
from ...._compat import cached_property
2828
from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -33,7 +33,7 @@
3333
async_to_streamed_response_wrapper,
3434
)
3535
from ...._base_client import make_request_options
36-
from ....types.agents import chat_deliver_permission_params
36+
from ....types.agents import chat_rehydrate_chat_params, chat_deliver_permission_params
3737
from ....types.agents.chat_get_chat_state_response import ChatGetChatStateResponse
3838
from ....types.agents.chat_rehydrate_chat_response import ChatRehydrateChatResponse
3939
from ....types.agents.chat_deliver_permission_response import ChatDeliverPermissionResponse
@@ -155,18 +155,35 @@ def list_slash_commands(
155155
def rehydrate_chat(
156156
self,
157157
*,
158+
session_id: str | Omit = omit,
158159
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
159160
# The extra values given here take precedence over values defined on the client or passed to this method.
160161
extra_headers: Headers | None = None,
161162
extra_query: Query | None = None,
162163
extra_body: Body | None = None,
163164
timeout: float | httpx.Timeout | None | NotGiven = not_given,
164165
) -> ChatRehydrateChatResponse:
165-
"""Rehydrate the user's chat history. Does not wake a hibernated machine."""
166+
"""Rehydrate the user's chat history.
167+
168+
Does not wake a hibernated machine.
169+
170+
Args:
171+
extra_headers: Send extra headers
172+
173+
extra_query: Add additional query parameters to the request
174+
175+
extra_body: Add additional JSON properties to the request
176+
177+
timeout: Override the client-level default timeout for this request, in seconds
178+
"""
166179
return self._get(
167180
"/agents/chat/messages",
168181
options=make_request_options(
169-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
182+
extra_headers=extra_headers,
183+
extra_query=extra_query,
184+
extra_body=extra_body,
185+
timeout=timeout,
186+
query=maybe_transform({"session_id": session_id}, chat_rehydrate_chat_params.ChatRehydrateChatParams),
170187
),
171188
cast_to=ChatRehydrateChatResponse,
172189
)
@@ -285,18 +302,37 @@ async def list_slash_commands(
285302
async def rehydrate_chat(
286303
self,
287304
*,
305+
session_id: str | Omit = omit,
288306
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
289307
# The extra values given here take precedence over values defined on the client or passed to this method.
290308
extra_headers: Headers | None = None,
291309
extra_query: Query | None = None,
292310
extra_body: Body | None = None,
293311
timeout: float | httpx.Timeout | None | NotGiven = not_given,
294312
) -> ChatRehydrateChatResponse:
295-
"""Rehydrate the user's chat history. Does not wake a hibernated machine."""
313+
"""Rehydrate the user's chat history.
314+
315+
Does not wake a hibernated machine.
316+
317+
Args:
318+
extra_headers: Send extra headers
319+
320+
extra_query: Add additional query parameters to the request
321+
322+
extra_body: Add additional JSON properties to the request
323+
324+
timeout: Override the client-level default timeout for this request, in seconds
325+
"""
296326
return await self._get(
297327
"/agents/chat/messages",
298328
options=make_request_options(
299-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
329+
extra_headers=extra_headers,
330+
extra_query=extra_query,
331+
extra_body=extra_body,
332+
timeout=timeout,
333+
query=await async_maybe_transform(
334+
{"session_id": session_id}, chat_rehydrate_chat_params.ChatRehydrateChatParams
335+
),
300336
),
301337
cast_to=ChatRehydrateChatResponse,
302338
)

src/mobilerun_sdk/resources/agents/chat/question.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@ def deliver_answer(
5656
extra_body: Body | None = None,
5757
timeout: float | httpx.Timeout | None | NotGiven = not_given,
5858
) -> QuestionDeliverAnswerResponse:
59-
"""
60-
Forward the user's answers to kilo's `/question/{id}/reply` for an in-flight
61-
turn. Idempotent via the `idempotency-key` header.
59+
"""Deliver the user's answers to the agent's pending question for an in-flight
60+
turn.
61+
62+
Idempotent via the `idempotency-key` header.
6263
6364
Args:
6465
extra_headers: Send extra headers
@@ -95,10 +96,10 @@ def dismiss(
9596
extra_body: Body | None = None,
9697
timeout: float | httpx.Timeout | None | NotGiven = not_given,
9798
) -> QuestionDismissResponse:
98-
"""Forward a reject to kilo's `/question/{id}/reject`.
99+
"""Dismiss the agent's pending question.
99100
100-
Already-resolved questions
101-
return 200 (no-op) so multi-tab dismiss stays idempotent.
101+
Already-resolved questions return 200
102+
(no-op) so multi-tab dismiss stays idempotent.
102103
103104
Args:
104105
extra_headers: Send extra headers
@@ -151,9 +152,10 @@ async def deliver_answer(
151152
extra_body: Body | None = None,
152153
timeout: float | httpx.Timeout | None | NotGiven = not_given,
153154
) -> QuestionDeliverAnswerResponse:
154-
"""
155-
Forward the user's answers to kilo's `/question/{id}/reply` for an in-flight
156-
turn. Idempotent via the `idempotency-key` header.
155+
"""Deliver the user's answers to the agent's pending question for an in-flight
156+
turn.
157+
158+
Idempotent via the `idempotency-key` header.
157159
158160
Args:
159161
extra_headers: Send extra headers
@@ -190,10 +192,10 @@ async def dismiss(
190192
extra_body: Body | None = None,
191193
timeout: float | httpx.Timeout | None | NotGiven = not_given,
192194
) -> QuestionDismissResponse:
193-
"""Forward a reject to kilo's `/question/{id}/reject`.
195+
"""Dismiss the agent's pending question.
194196
195-
Already-resolved questions
196-
return 200 (no-op) so multi-tab dismiss stays idempotent.
197+
Already-resolved questions return 200
198+
(no-op) so multi-tab dismiss stays idempotent.
197199
198200
Args:
199201
extra_headers: Send extra headers

src/mobilerun_sdk/types/agents/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from .file_list_files_params import FileListFilesParams as FileListFilesParams
66
from .file_list_files_response import FileListFilesResponse as FileListFilesResponse
7+
from .chat_rehydrate_chat_params import ChatRehydrateChatParams as ChatRehydrateChatParams
78
from .file_mint_upload_url_params import FileMintUploadURLParams as FileMintUploadURLParams
89
from .chat_get_chat_state_response import ChatGetChatStateResponse as ChatGetChatStateResponse
910
from .chat_rehydrate_chat_response import ChatRehydrateChatResponse as ChatRehydrateChatResponse

src/mobilerun_sdk/types/agents/chat/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
from .abort_perform_params import AbortPerformParams as AbortPerformParams
56
from .abort_perform_response import AbortPerformResponse as AbortPerformResponse
67
from .question_dismiss_params import QuestionDismissParams as QuestionDismissParams
78
from .question_dismiss_response import QuestionDismissResponse as QuestionDismissResponse
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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 Required, Annotated, TypedDict
6+
7+
from ...._utils import PropertyInfo
8+
9+
__all__ = ["AbortPerformParams"]
10+
11+
12+
class AbortPerformParams(TypedDict, total=False):
13+
session_id: Required[Annotated[str, PropertyInfo(alias="sessionId")]]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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 Annotated, TypedDict
6+
7+
from ..._utils import PropertyInfo
8+
9+
__all__ = ["ChatRehydrateChatParams"]
10+
11+
12+
class ChatRehydrateChatParams(TypedDict, total=False):
13+
session_id: Annotated[str, PropertyInfo(alias="sessionId")]

src/mobilerun_sdk/types/agents/chat_rehydrate_chat_response.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from ..._models import BaseModel
99

10-
__all__ = ["ChatRehydrateChatResponse", "Message", "MessagePart"]
10+
__all__ = ["ChatRehydrateChatResponse", "Message", "MessagePart", "MessageMetadata"]
1111

1212

1313
class MessagePart(BaseModel):
@@ -26,13 +26,23 @@ def __getattr__(self, attr: str) -> Optional[object]: ...
2626
__pydantic_extra__: Dict[str, Optional[object]]
2727

2828

29+
class MessageMetadata(BaseModel):
30+
agent: Optional[str] = None
31+
32+
agent_message_id: Optional[str] = FieldInfo(alias="agentMessageId", default=None)
33+
34+
agent_session_id: Optional[str] = FieldInfo(alias="agentSessionId", default=None)
35+
36+
2937
class Message(BaseModel):
3038
id: str
3139

3240
parts: List[MessagePart]
3341

3442
role: Literal["user", "assistant", "system"]
3543

44+
metadata: Optional[MessageMetadata] = None
45+
3646
source: Optional[Literal["cloud", "telegram", "api", "workflow"]] = None
3747

3848
synthetic: Optional[bool] = None

0 commit comments

Comments
 (0)