feat(api): api update

This commit is contained in:
stainless-app[bot] 2025-07-15 13:16:13 +00:00
parent 730f1be142
commit d63c6f6f73
43 changed files with 974 additions and 241 deletions

View file

@ -9,7 +9,7 @@ import pytest
from opencode_ai import Opencode, AsyncOpencode
from tests.utils import assert_matches_type
from opencode_ai.types import App, AppInitResponse
from opencode_ai.types import App, AppLogResponse, AppInitResponse, AppModesResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@ -73,6 +73,85 @@ class TestApp:
assert cast(Any, response.is_closed) is True
@pytest.mark.skip()
@parametrize
def test_method_log(self, client: Opencode) -> None:
app = client.app.log(
level="debug",
message="message",
service="service",
)
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
def test_method_log_with_all_params(self, client: Opencode) -> None:
app = client.app.log(
level="debug",
message="message",
service="service",
extra={"foo": "bar"},
)
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
def test_raw_response_log(self, client: Opencode) -> None:
response = client.app.with_raw_response.log(
level="debug",
message="message",
service="service",
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = response.parse()
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
def test_streaming_response_log(self, client: Opencode) -> None:
with client.app.with_streaming_response.log(
level="debug",
message="message",
service="service",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = response.parse()
assert_matches_type(AppLogResponse, app, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip()
@parametrize
def test_method_modes(self, client: Opencode) -> None:
app = client.app.modes()
assert_matches_type(AppModesResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
def test_raw_response_modes(self, client: Opencode) -> None:
response = client.app.with_raw_response.modes()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = response.parse()
assert_matches_type(AppModesResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
def test_streaming_response_modes(self, client: Opencode) -> None:
with client.app.with_streaming_response.modes() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = response.parse()
assert_matches_type(AppModesResponse, app, path=["response"])
assert cast(Any, response.is_closed) is True
class TestAsyncApp:
parametrize = pytest.mark.parametrize(
@ -134,3 +213,82 @@ class TestAsyncApp:
assert_matches_type(AppInitResponse, app, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip()
@parametrize
async def test_method_log(self, async_client: AsyncOpencode) -> None:
app = await async_client.app.log(
level="debug",
message="message",
service="service",
)
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
async def test_method_log_with_all_params(self, async_client: AsyncOpencode) -> None:
app = await async_client.app.log(
level="debug",
message="message",
service="service",
extra={"foo": "bar"},
)
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
async def test_raw_response_log(self, async_client: AsyncOpencode) -> None:
response = await async_client.app.with_raw_response.log(
level="debug",
message="message",
service="service",
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = await response.parse()
assert_matches_type(AppLogResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
async def test_streaming_response_log(self, async_client: AsyncOpencode) -> None:
async with async_client.app.with_streaming_response.log(
level="debug",
message="message",
service="service",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = await response.parse()
assert_matches_type(AppLogResponse, app, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip()
@parametrize
async def test_method_modes(self, async_client: AsyncOpencode) -> None:
app = await async_client.app.modes()
assert_matches_type(AppModesResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
async def test_raw_response_modes(self, async_client: AsyncOpencode) -> None:
response = await async_client.app.with_raw_response.modes()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = await response.parse()
assert_matches_type(AppModesResponse, app, path=["response"])
@pytest.mark.skip()
@parametrize
async def test_streaming_response_modes(self, async_client: AsyncOpencode) -> None:
async with async_client.app.with_streaming_response.modes() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
app = await response.parse()
assert_matches_type(AppModesResponse, app, path=["response"])
assert cast(Any, response.is_closed) is True

View file

@ -171,11 +171,17 @@ class TestSession:
def test_method_chat(self, client: Opencode) -> None:
session = client.session.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -187,11 +193,17 @@ class TestSession:
def test_raw_response_chat(self, client: Opencode) -> None:
response = client.session.with_raw_response.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -207,11 +219,17 @@ class TestSession:
def test_streaming_response_chat(self, client: Opencode) -> None:
with client.session.with_streaming_response.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -230,11 +248,17 @@ class TestSession:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
client.session.with_raw_response.chat(
id="",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -245,6 +269,7 @@ class TestSession:
def test_method_init(self, client: Opencode) -> None:
session = client.session.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)
@ -255,6 +280,7 @@ class TestSession:
def test_raw_response_init(self, client: Opencode) -> None:
response = client.session.with_raw_response.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)
@ -269,6 +295,7 @@ class TestSession:
def test_streaming_response_init(self, client: Opencode) -> None:
with client.session.with_streaming_response.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
) as response:
@ -286,6 +313,7 @@ class TestSession:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
client.session.with_raw_response.init(
id="",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)
@ -617,11 +645,17 @@ class TestAsyncSession:
async def test_method_chat(self, async_client: AsyncOpencode) -> None:
session = await async_client.session.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -633,11 +667,17 @@ class TestAsyncSession:
async def test_raw_response_chat(self, async_client: AsyncOpencode) -> None:
response = await async_client.session.with_raw_response.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -653,11 +693,17 @@ class TestAsyncSession:
async def test_streaming_response_chat(self, async_client: AsyncOpencode) -> None:
async with async_client.session.with_streaming_response.chat(
id="id",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -676,11 +722,17 @@ class TestAsyncSession:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
await async_client.session.with_raw_response.chat(
id="",
message_id="messageID",
mode="mode",
model_id="modelID",
parts=[
{
"text": "text",
"type": "text",
"id": "id",
"message_id": "messageID",
"mime": "mime",
"session_id": "sessionID",
"type": "file",
"url": "url",
}
],
provider_id="providerID",
@ -691,6 +743,7 @@ class TestAsyncSession:
async def test_method_init(self, async_client: AsyncOpencode) -> None:
session = await async_client.session.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)
@ -701,6 +754,7 @@ class TestAsyncSession:
async def test_raw_response_init(self, async_client: AsyncOpencode) -> None:
response = await async_client.session.with_raw_response.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)
@ -715,6 +769,7 @@ class TestAsyncSession:
async def test_streaming_response_init(self, async_client: AsyncOpencode) -> None:
async with async_client.session.with_streaming_response.init(
id="id",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
) as response:
@ -732,6 +787,7 @@ class TestAsyncSession:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
await async_client.session.with_raw_response.init(
id="",
message_id="messageID",
model_id="modelID",
provider_id="providerID",
)