Skip to content
Merged
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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.103.0"
".": "0.104.0"
}
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [0.104.0](https://github.com/kernel/kernel-python-sdk/compare/v0.103.0...v0.104.0) (2026-09-15)


### Features

* Expose the WebMCP `awaiting_submission` status ([9b5cb34](https://github.com/kernel/kernel-python-sdk/commit/9b5cb34e8fb19c22a44c42aca9e1fc61bf7744a9))

## [0.103.0](https://github.com/kernel/kernel-python-sdk/compare/v0.102.0...v0.103.0) (2026-09-15)


Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "kernel"
version = "0.103.0"
version = "0.104.0"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/kernel/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "kernel"
__version__ = "0.103.0" # x-release-please-version
__version__ = "0.104.0" # x-release-please-version
30 changes: 20 additions & 10 deletions src/kernel/resources/browsers/webmcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,16 @@ def invoke_tool(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InvocationResult:
"""
Invokes the exact live registration identified by tool_ref and waits
synchronously for its result. Navigation during execution is allowed. If the tab
or embedded frame disappears, or the request times out after invocation begins,
the response reports outcome_unknown and the tool is not retried.
"""Invokes the exact live registration identified by tool_ref.

Non-autosubmit
declarative form tools return after their fields are populated with an
awaiting_submission status. Other tools wait for a terminal result, including
across navigation. Inspect a populated form, obtain any required confirmation,
then submit through Playwright or computer interaction without invoking the tool
again. If the tab or embedded frame disappears, or the request times out after
invocation begins, the response reports outcome_unknown and the tool is not
retried.

Args:
input: Tool input, limited to 1 MiB after JSON serialization.
Expand Down Expand Up @@ -168,11 +173,16 @@ async def invoke_tool(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InvocationResult:
"""
Invokes the exact live registration identified by tool_ref and waits
synchronously for its result. Navigation during execution is allowed. If the tab
or embedded frame disappears, or the request times out after invocation begins,
the response reports outcome_unknown and the tool is not retried.
"""Invokes the exact live registration identified by tool_ref.

Non-autosubmit
declarative form tools return after their fields are populated with an
awaiting_submission status. Other tools wait for a terminal result, including
across navigation. Inspect a populated form, obtain any required confirmation,
then submit through Playwright or computer interaction without invoking the tool
again. If the tab or embedded frame disappears, or the request times out after
invocation begins, the response reports outcome_unknown and the tool is not
retried.

Args:
input: Tool input, limited to 1 MiB after JSON serialization.
Expand Down
8 changes: 7 additions & 1 deletion src/kernel/types/browsers/invocation_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,13 @@
class InvocationResult(BaseModel):
invocation_id: str

status: Literal["completed", "canceled", "error"]
status: Literal["completed", "canceled", "error", "awaiting_submission"]
"""
awaiting_submission means a non-autosubmit declarative form was populated but
not submitted. Inspect the form, obtain any required confirmation, then submit
through Playwright or computer interaction without invoking the tool again. The
other statuses are terminal results.
"""

error_text: Optional[str] = None

Expand Down
Loading