Skip to content
Open
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.101.0"
".": "0.102.0"
}
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## [0.102.0](https://github.com/kernel/kernel-python-sdk/compare/v0.101.0...v0.102.0) (2026-09-11)


### Features

* Allow replacing AgentCard cards after unknown creates ([22a8731](https://github.com/kernel/kernel-python-sdk/commit/22a87318e6ac2f1318a295b9d22de5b2306e66b2))
* Document punctuation key sequences ([e7850fd](https://github.com/kernel/kernel-python-sdk/commit/e7850fd5757934c731373c5cb09b4444a29d7e84))
* Reapply vendor guidance recommendations ([dfcc7ec](https://github.com/kernel/kernel-python-sdk/commit/dfcc7ecbaa087a07d11a5b0eb4738b41b8fadd8b))
* Report proxy-restricted targets from config registry lookup ([c276ebc](https://github.com/kernel/kernel-python-sdk/commit/c276ebc6fd266924894b300b13ff02f30d0c8527))

## [0.101.0](https://github.com/kernel/kernel-python-sdk/compare/v0.100.0...v0.101.0) (2026-09-11)


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.101.0"
version = "0.102.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.101.0" # x-release-please-version
__version__ = "0.102.0" # x-release-please-version
8 changes: 6 additions & 2 deletions src/kernel/resources/browsers/computer.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,9 @@ def press_key(
keys: List of key symbols to press. Each item should be a key symbol supported by
xdotool (see X11 keysym definitions). Examples include "Return", "Shift",
"Ctrl", "Alt", "F5". Items in this list could also be combinations, e.g.
"Ctrl+t" or "Ctrl+Shift+Tab".
"Ctrl+t" or "Ctrl+Shift+Tab". Use X11 names for punctuation in combinations,
such as "Ctrl+minus" or "Ctrl+plus". A literal hyphen is also accepted as an
alias, so "Ctrl+-" is normalized to "Ctrl+minus".

duration: Duration to hold the keys down in milliseconds. If omitted or 0, keys are
tapped.
Expand Down Expand Up @@ -1002,7 +1004,9 @@ async def press_key(
keys: List of key symbols to press. Each item should be a key symbol supported by
xdotool (see X11 keysym definitions). Examples include "Return", "Shift",
"Ctrl", "Alt", "F5". Items in this list could also be combinations, e.g.
"Ctrl+t" or "Ctrl+Shift+Tab".
"Ctrl+t" or "Ctrl+Shift+Tab". Use X11 names for punctuation in combinations,
such as "Ctrl+minus" or "Ctrl+plus". A literal hyphen is also accepted as an
alias, so "Ctrl+-" is normalized to "Ctrl+minus".

duration: Duration to hold the keys down in milliseconds. If omitted or 0, keys are
tapped.
Expand Down
16 changes: 10 additions & 6 deletions src/kernel/resources/vaults/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,11 @@ def delete(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
"""
Unresolved payment operations block deletion, including operations on child
cards of a wallet. Reconcile the original attempt with the provider or support
first; deleting or recreating an item is not proof that a payment did not occur.
Unresolved payment operations normally block deletion, including operations on
child cards of a wallet. An AgentCard checkout whose create response returned no
authorization ID may be explicitly abandoned by deleting that card directly;
deleting its wallet or vault remains blocked. Deleting or recreating an item is
not proof that a payment did not occur.

Args:
extra_headers: Send extra headers
Expand Down Expand Up @@ -625,9 +627,11 @@ async def delete(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
"""
Unresolved payment operations block deletion, including operations on child
cards of a wallet. Reconcile the original attempt with the provider or support
first; deleting or recreating an item is not proof that a payment did not occur.
Unresolved payment operations normally block deletion, including operations on
child cards of a wallet. An AgentCard checkout whose create response returned no
authorization ID may be explicitly abandoned by deleting that card directly;
deleting its wallet or vault remains blocked. Deleting or recreating an item is
not proof that a payment did not occur.

Args:
extra_headers: Send extra headers
Expand Down
5 changes: 4 additions & 1 deletion src/kernel/types/browsers/computer_batch_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,10 @@ class ActionPressKey(TypedDict, total=False):

Each item should be a key symbol supported by xdotool (see X11 keysym
definitions). Examples include "Return", "Shift", "Ctrl", "Alt", "F5". Items in
this list could also be combinations, e.g. "Ctrl+t" or "Ctrl+Shift+Tab".
this list could also be combinations, e.g. "Ctrl+t" or "Ctrl+Shift+Tab". Use X11
names for punctuation in combinations, such as "Ctrl+minus" or "Ctrl+plus". A
literal hyphen is also accepted as an alias, so "Ctrl+-" is normalized to
"Ctrl+minus".
"""

duration: int
Expand Down
5 changes: 4 additions & 1 deletion src/kernel/types/browsers/computer_press_key_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ class ComputerPressKeyParams(TypedDict, total=False):

Each item should be a key symbol supported by xdotool (see X11 keysym
definitions). Examples include "Return", "Shift", "Ctrl", "Alt", "F5". Items in
this list could also be combinations, e.g. "Ctrl+t" or "Ctrl+Shift+Tab".
this list could also be combinations, e.g. "Ctrl+t" or "Ctrl+Shift+Tab". Use X11
names for punctuation in combinations, such as "Ctrl+minus" or "Ctrl+plus". A
literal hyphen is also accepted as an alias, so "Ctrl+-" is normalized to
"Ctrl+minus".
"""

duration: int
Expand Down
8 changes: 8 additions & 0 deletions src/kernel/types/config_registry_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,11 @@ class ConfigRegistryResponse(BaseModel):
"""A recommendation or a structured no-recommendation result."""

target: Target

guidance: Optional[str] = None
"""Short advisory markdown to facilitate navigating this target.

Returned even when no configuration reached the target, since knowing what
prevented success is useful without a configuration. Not verified against this
target. Null when nothing applicable was observed or no notes exist.
"""
13 changes: 11 additions & 2 deletions src/kernel/types/lookup_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,21 @@

from .target import Target
from .._models import BaseModel
from .recommendation import Recommendation
from .recommendation_result import RecommendationResult

__all__ = ["LookupResponse"]


class LookupResponse(BaseModel):
recommendation: Optional[Recommendation] = None
recommendation: Optional[RecommendationResult] = None
"""A recommendation or a structured no-recommendation result."""

target: Target

guidance: Optional[str] = None
"""Short advisory markdown to facilitate navigating this target.

Returned even when no configuration reached the target, since knowing what
prevented success is useful without a configuration. Not verified against this
target. Null when nothing applicable was observed or no notes exist.
"""
8 changes: 5 additions & 3 deletions src/kernel/types/vaults/card_vault_item_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,11 @@ class AgentCardCardState(BaseModel):
status: Literal["requested", "ready", "pending_approval", "degraded", "recovery_required"]
"""recovery_required means the original checkout outcome is unresolved.

Do not retry, delete, or replace it. Known authorization IDs may be reconciled
through provider observations; otherwise contact the provider or support for
manual reconciliation. It does not mean declined or expired.
Automatic reuse is blocked. Known authorization IDs must be reconciled through
provider observations or support. When no authorization ID was returned, an
explicitly confirmed item deletion may abandon the unresolved attempt so the
caller can create a replacement; deletion does not prove that the original
attempt failed. It does not mean declined or expired.
"""

aliases: Optional[VaultCardAliases] = None
Expand Down
Loading