Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
configured_endpoints: 233
configured_endpoints: 239
62 changes: 59 additions & 3 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,13 @@ Types:
```python
from mobilerun_sdk.types.credentials.packages import (
CredentialCreateResponse,
CredentialRetrieveResponse,
CredentialDeleteResponse,
)
```

Methods:

- <code title="post /credentials/packages/{packageName}">client.credentials.packages.credentials.<a href="./src/mobilerun_sdk/resources/credentials/packages/credentials/credentials.py">create</a>(package_name, \*\*<a href="src/mobilerun_sdk/types/credentials/packages/credential_create_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/credentials/packages/credential_create_response.py">CredentialCreateResponse</a></code>
- <code title="get /credentials/packages/{packageName}/credentials/{credentialName}">client.credentials.packages.credentials.<a href="./src/mobilerun_sdk/resources/credentials/packages/credentials/credentials.py">retrieve</a>(credential_name, \*, package_name) -> <a href="./src/mobilerun_sdk/types/credentials/packages/credential_retrieve_response.py">CredentialRetrieveResponse</a></code>
- <code title="delete /credentials/packages/{packageName}/credentials/{credentialName}">client.credentials.packages.credentials.<a href="./src/mobilerun_sdk/resources/credentials/packages/credentials/credentials.py">delete</a>(credential_name, \*, package_name) -> <a href="./src/mobilerun_sdk/types/credentials/packages/credential_delete_response.py">CredentialDeleteResponse</a></code>

#### Fields
Expand All @@ -108,6 +106,62 @@ Methods:
- <code title="patch /credentials/packages/{packageName}/credentials/{credentialName}/fields/{fieldType}">client.credentials.packages.credentials.fields.<a href="./src/mobilerun_sdk/resources/credentials/packages/credentials/fields.py">update</a>(field_type, \*, package_name, credential_name, \*\*<a href="src/mobilerun_sdk/types/credentials/packages/credentials/field_update_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/credentials/packages/credentials/field_update_response.py">FieldUpdateResponse</a></code>
- <code title="delete /credentials/packages/{packageName}/credentials/{credentialName}/fields/{fieldType}">client.credentials.packages.credentials.fields.<a href="./src/mobilerun_sdk/resources/credentials/packages/credentials/fields.py">delete</a>(field_type, \*, package_name, credential_name) -> <a href="./src/mobilerun_sdk/types/credentials/packages/credentials/field_delete_response.py">FieldDeleteResponse</a></code>

### Links

Types:

```python
from mobilerun_sdk.types.credentials.packages import LinkCreateResponse
```

Methods:

- <code title="post /credentials/packages/{packageName}/links">client.credentials.packages.links.<a href="./src/mobilerun_sdk/resources/credentials/packages/links.py">create</a>(package_name, \*\*<a href="src/mobilerun_sdk/types/credentials/packages/link_create_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/credentials/packages/link_create_response.py">LinkCreateResponse</a></code>

## Onepassword

Types:

```python
from mobilerun_sdk.types.credentials import (
OnepasswordRetrieveResponse,
OnepasswordConnectResponse,
OnepasswordDisconnectResponse,
)
```

Methods:

- <code title="get /credentials/onepassword">client.credentials.onepassword.<a href="./src/mobilerun_sdk/resources/credentials/onepassword/onepassword.py">retrieve</a>() -> <a href="./src/mobilerun_sdk/types/credentials/onepassword_retrieve_response.py">OnepasswordRetrieveResponse</a></code>
- <code title="put /credentials/onepassword">client.credentials.onepassword.<a href="./src/mobilerun_sdk/resources/credentials/onepassword/onepassword.py">connect</a>(\*\*<a href="src/mobilerun_sdk/types/credentials/onepassword_connect_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/credentials/onepassword_connect_response.py">OnepasswordConnectResponse</a></code>
- <code title="delete /credentials/onepassword">client.credentials.onepassword.<a href="./src/mobilerun_sdk/resources/credentials/onepassword/onepassword.py">disconnect</a>() -> <a href="./src/mobilerun_sdk/types/credentials/onepassword_disconnect_response.py">OnepasswordDisconnectResponse</a></code>

### Vaults

#### Items

Types:

```python
from mobilerun_sdk.types.credentials.onepassword.vaults import ItemListResponse
```

Methods:

- <code title="get /credentials/onepassword/vaults/{vaultId}/items">client.credentials.onepassword.vaults.items.<a href="./src/mobilerun_sdk/resources/credentials/onepassword/vaults/items/items.py">list</a>(vault_id) -> <a href="./src/mobilerun_sdk/types/credentials/onepassword/vaults/item_list_response.py">ItemListResponse</a></code>

##### Fields

Types:

```python
from mobilerun_sdk.types.credentials.onepassword.vaults.items import FieldListResponse
```

Methods:

- <code title="get /credentials/onepassword/vaults/{vaultId}/items/{itemId}/fields">client.credentials.onepassword.vaults.items.fields.<a href="./src/mobilerun_sdk/resources/credentials/onepassword/vaults/items/fields.py">list</a>(item_id, \*, vault_id) -> <a href="./src/mobilerun_sdk/types/credentials/onepassword/vaults/items/field_list_response.py">FieldListResponse</a></code>

# Devices

Types:
Expand Down Expand Up @@ -485,6 +539,7 @@ from mobilerun_sdk.types.connect import (
ProxyUpdateResponse,
ProxyListResponse,
ProxyBuyResponse,
ProxyCheckoutResponse,
ProxyEnsureHealthyResponse,
ProxyListConnectionsResponse,
ProxyPingResponse,
Expand All @@ -498,6 +553,7 @@ Methods:
- <code title="get /connect/proxies">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">list</a>(\*\*<a href="src/mobilerun_sdk/types/connect/proxy_list_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/connect/proxy_list_response.py">ProxyListResponse</a></code>
- <code title="post /connect/proxies">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">buy</a>(\*\*<a href="src/mobilerun_sdk/types/connect/proxy_buy_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/connect/proxy_buy_response.py">ProxyBuyResponse</a></code>
- <code title="delete /connect/proxies/{id}">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">cancel</a>(id) -> None</code>
- <code title="post /connect/proxies/{id}/checkout">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">checkout</a>(id) -> <a href="./src/mobilerun_sdk/types/connect/proxy_checkout_response.py">ProxyCheckoutResponse</a></code>
- <code title="post /connect/proxies/{id}/ensure-healthy">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">ensure_healthy</a>(id) -> <a href="./src/mobilerun_sdk/types/connect/proxy_ensure_healthy_response.py">ProxyEnsureHealthyResponse</a></code>
- <code title="get /connect/proxies/{id}/connections">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">list_connections</a>(id, \*\*<a href="src/mobilerun_sdk/types/connect/proxy_list_connections_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/connect/proxy_list_connections_response.py">ProxyListConnectionsResponse</a></code>
- <code title="get /connect/proxies/{id}/ping">client.connect.proxies.<a href="./src/mobilerun_sdk/resources/connect/proxies.py">ping</a>(id) -> <a href="./src/mobilerun_sdk/types/connect/proxy_ping_response.py">ProxyPingResponse</a></code>
Expand Down Expand Up @@ -881,7 +937,7 @@ from mobilerun_sdk.types.mailboxes import MessageRetrieveResponse, MessageListRe

Methods:

- <code title="get /mailboxes/{mailboxId}/messages/{messageId}">client.mailboxes.messages.<a href="./src/mobilerun_sdk/resources/mailboxes/messages.py">retrieve</a>(message_id, \*, mailbox_id) -> <a href="./src/mobilerun_sdk/types/mailboxes/message_retrieve_response.py">MessageRetrieveResponse</a></code>
- <code title="get /mailboxes/{mailboxId}/messages/{messageId}">client.mailboxes.messages.<a href="./src/mobilerun_sdk/resources/mailboxes/messages.py">retrieve</a>(message_id, \*, mailbox_id, \*\*<a href="src/mobilerun_sdk/types/mailboxes/message_retrieve_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/mailboxes/message_retrieve_response.py">MessageRetrieveResponse</a></code>
- <code title="get /mailboxes/{mailboxId}/messages">client.mailboxes.messages.<a href="./src/mobilerun_sdk/resources/mailboxes/messages.py">list</a>(mailbox_id, \*\*<a href="src/mobilerun_sdk/types/mailboxes/message_list_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/mailboxes/message_list_response.py">MessageListResponse</a></code>

# Files
Expand Down
4 changes: 4 additions & 0 deletions src/mobilerun_sdk/resources/assistant/conversations.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ def send(
message: str,
session_id: str,
agent: str | Omit = omit,
model: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -504,6 +505,7 @@ def send(
"message": message,
"session_id": session_id,
"agent": agent,
"model": model,
},
conversation_send_params.ConversationSendParams,
),
Expand Down Expand Up @@ -983,6 +985,7 @@ async def send(
message: str,
session_id: str,
agent: str | Omit = omit,
model: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
Expand Down Expand Up @@ -1020,6 +1023,7 @@ async def send(
"message": message,
"session_id": session_id,
"agent": agent,
"model": model,
},
conversation_send_params.ConversationSendParams,
),
Expand Down
97 changes: 97 additions & 0 deletions src/mobilerun_sdk/resources/connect/proxies.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from ...types.connect.proxy_list_response import ProxyListResponse
from ...types.connect.proxy_ping_response import ProxyPingResponse
from ...types.connect.proxy_update_response import ProxyUpdateResponse
from ...types.connect.proxy_checkout_response import ProxyCheckoutResponse
from ...types.connect.proxy_retrieve_response import ProxyRetrieveResponse
from ...types.connect.proxy_ensure_healthy_response import ProxyEnsureHealthyResponse
from ...types.connect.proxy_list_connections_response import ProxyListConnectionsResponse
Expand Down Expand Up @@ -282,6 +283,48 @@ def cancel(
cast_to=NoneType,
)

def checkout(
self,
id: str,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
idempotency_key: str | None = None,
) -> ProxyCheckoutResponse:
"""
Refreshes a pending dedicated proxy's checkout on explicit payment intent.
Already-paid proxies (provisioning, active, or cancelling) return their current
status without a payment URL. An expired checkout requires a new purchase.

Args:
extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds

idempotency_key: Specify a custom idempotency key for this request
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
return self._post(
path_template("/connect/proxies/{id}/checkout", id=id),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
idempotency_key=idempotency_key,
),
cast_to=ProxyCheckoutResponse,
)

def ensure_healthy(
self,
id: str,
Expand Down Expand Up @@ -763,6 +806,48 @@ async def cancel(
cast_to=NoneType,
)

async def checkout(
self,
id: str,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
idempotency_key: str | None = None,
) -> ProxyCheckoutResponse:
"""
Refreshes a pending dedicated proxy's checkout on explicit payment intent.
Already-paid proxies (provisioning, active, or cancelling) return their current
status without a payment URL. An expired checkout requires a new purchase.

Args:
extra_headers: Send extra headers

extra_query: Add additional query parameters to the request

extra_body: Add additional JSON properties to the request

timeout: Override the client-level default timeout for this request, in seconds

idempotency_key: Specify a custom idempotency key for this request
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
return await self._post(
path_template("/connect/proxies/{id}/checkout", id=id),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
idempotency_key=idempotency_key,
),
cast_to=ProxyCheckoutResponse,
)

async def ensure_healthy(
self,
id: str,
Expand Down Expand Up @@ -1012,6 +1097,9 @@ def __init__(self, proxies: ProxiesResource) -> None:
self.cancel = to_raw_response_wrapper(
proxies.cancel,
)
self.checkout = to_raw_response_wrapper(
proxies.checkout,
)
self.ensure_healthy = to_raw_response_wrapper(
proxies.ensure_healthy,
)
Expand Down Expand Up @@ -1042,6 +1130,9 @@ def __init__(self, proxies: AsyncProxiesResource) -> None:
self.cancel = async_to_raw_response_wrapper(
proxies.cancel,
)
self.checkout = async_to_raw_response_wrapper(
proxies.checkout,
)
self.ensure_healthy = async_to_raw_response_wrapper(
proxies.ensure_healthy,
)
Expand Down Expand Up @@ -1072,6 +1163,9 @@ def __init__(self, proxies: ProxiesResource) -> None:
self.cancel = to_streamed_response_wrapper(
proxies.cancel,
)
self.checkout = to_streamed_response_wrapper(
proxies.checkout,
)
self.ensure_healthy = to_streamed_response_wrapper(
proxies.ensure_healthy,
)
Expand Down Expand Up @@ -1102,6 +1196,9 @@ def __init__(self, proxies: AsyncProxiesResource) -> None:
self.cancel = async_to_streamed_response_wrapper(
proxies.cancel,
)
self.checkout = async_to_streamed_response_wrapper(
proxies.checkout,
)
self.ensure_healthy = async_to_streamed_response_wrapper(
proxies.ensure_healthy,
)
Expand Down
14 changes: 14 additions & 0 deletions src/mobilerun_sdk/resources/credentials/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@
CredentialsResourceWithStreamingResponse,
AsyncCredentialsResourceWithStreamingResponse,
)
from .onepassword import (
OnepasswordResource,
AsyncOnepasswordResource,
OnepasswordResourceWithRawResponse,
AsyncOnepasswordResourceWithRawResponse,
OnepasswordResourceWithStreamingResponse,
AsyncOnepasswordResourceWithStreamingResponse,
)

__all__ = [
"PackagesResource",
Expand All @@ -24,6 +32,12 @@
"AsyncPackagesResourceWithRawResponse",
"PackagesResourceWithStreamingResponse",
"AsyncPackagesResourceWithStreamingResponse",
"OnepasswordResource",
"AsyncOnepasswordResource",
"OnepasswordResourceWithRawResponse",
"AsyncOnepasswordResourceWithRawResponse",
"OnepasswordResourceWithStreamingResponse",
"AsyncOnepasswordResourceWithStreamingResponse",
"CredentialsResource",
"AsyncCredentialsResource",
"CredentialsResourceWithRawResponse",
Expand Down
32 changes: 32 additions & 0 deletions src/mobilerun_sdk/resources/credentials/credentials.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
PackagesResourceWithStreamingResponse,
AsyncPackagesResourceWithStreamingResponse,
)
from .onepassword.onepassword import (
OnepasswordResource,
AsyncOnepasswordResource,
OnepasswordResourceWithRawResponse,
AsyncOnepasswordResourceWithRawResponse,
OnepasswordResourceWithStreamingResponse,
AsyncOnepasswordResourceWithStreamingResponse,
)
from ...types.credential_list_response import CredentialListResponse

__all__ = ["CredentialsResource", "AsyncCredentialsResource"]
Expand All @@ -34,6 +42,10 @@ class CredentialsResource(SyncAPIResource):
def packages(self) -> PackagesResource:
return PackagesResource(self._client)

@cached_property
def onepassword(self) -> OnepasswordResource:
return OnepasswordResource(self._client)

@cached_property
def with_raw_response(self) -> CredentialsResourceWithRawResponse:
"""
Expand Down Expand Up @@ -103,6 +115,10 @@ class AsyncCredentialsResource(AsyncAPIResource):
def packages(self) -> AsyncPackagesResource:
return AsyncPackagesResource(self._client)

@cached_property
def onepassword(self) -> AsyncOnepasswordResource:
return AsyncOnepasswordResource(self._client)

@cached_property
def with_raw_response(self) -> AsyncCredentialsResourceWithRawResponse:
"""
Expand Down Expand Up @@ -179,6 +195,10 @@ def __init__(self, credentials: CredentialsResource) -> None:
def packages(self) -> PackagesResourceWithRawResponse:
return PackagesResourceWithRawResponse(self._credentials.packages)

@cached_property
def onepassword(self) -> OnepasswordResourceWithRawResponse:
return OnepasswordResourceWithRawResponse(self._credentials.onepassword)


class AsyncCredentialsResourceWithRawResponse:
def __init__(self, credentials: AsyncCredentialsResource) -> None:
Expand All @@ -192,6 +212,10 @@ def __init__(self, credentials: AsyncCredentialsResource) -> None:
def packages(self) -> AsyncPackagesResourceWithRawResponse:
return AsyncPackagesResourceWithRawResponse(self._credentials.packages)

@cached_property
def onepassword(self) -> AsyncOnepasswordResourceWithRawResponse:
return AsyncOnepasswordResourceWithRawResponse(self._credentials.onepassword)


class CredentialsResourceWithStreamingResponse:
def __init__(self, credentials: CredentialsResource) -> None:
Expand All @@ -205,6 +229,10 @@ def __init__(self, credentials: CredentialsResource) -> None:
def packages(self) -> PackagesResourceWithStreamingResponse:
return PackagesResourceWithStreamingResponse(self._credentials.packages)

@cached_property
def onepassword(self) -> OnepasswordResourceWithStreamingResponse:
return OnepasswordResourceWithStreamingResponse(self._credentials.onepassword)


class AsyncCredentialsResourceWithStreamingResponse:
def __init__(self, credentials: AsyncCredentialsResource) -> None:
Expand All @@ -217,3 +245,7 @@ def __init__(self, credentials: AsyncCredentialsResource) -> None:
@cached_property
def packages(self) -> AsyncPackagesResourceWithStreamingResponse:
return AsyncPackagesResourceWithStreamingResponse(self._credentials.packages)

@cached_property
def onepassword(self) -> AsyncOnepasswordResourceWithStreamingResponse:
return AsyncOnepasswordResourceWithStreamingResponse(self._credentials.onepassword)
Loading
Loading