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.127.0"
".": "0.128.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.128.0](https://github.com/kernel/kernel-python-sdk/compare/v0.127.0...v0.128.0) (2026-10-16)


### Features

* chore(stlc): seal custom-code tracking files ([457e6c1](https://github.com/kernel/kernel-python-sdk/commit/457e6c14bd10df055044c2b48704b64d90ca8aff))

## [0.127.0](https://github.com/kernel/kernel-python-sdk/compare/v0.126.0...v0.127.0) (2026-10-16)


Expand Down
8 changes: 4 additions & 4 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -484,11 +484,11 @@ from kernel.types import (
Methods:

- <code title="post /proxies">client.proxies.<a href="./src/kernel/resources/proxies.py">create</a>(\*\*<a href="src/kernel/types/proxy_create_params.py">params</a>) -> <a href="./src/kernel/types/proxy_create_response.py">ProxyCreateResponse</a></code>
- <code title="get /proxies/{id}">client.proxies.<a href="./src/kernel/resources/proxies.py">retrieve</a>(id) -> <a href="./src/kernel/types/proxy_retrieve_response.py">ProxyRetrieveResponse</a></code>
- <code title="patch /proxies/{id}">client.proxies.<a href="./src/kernel/resources/proxies.py">update</a>(id, \*\*<a href="src/kernel/types/proxy_update_params.py">params</a>) -> <a href="./src/kernel/types/proxy_update_response.py">ProxyUpdateResponse</a></code>
- <code title="get /proxies/{id_or_name}">client.proxies.<a href="./src/kernel/resources/proxies.py">retrieve</a>(id_or_name) -> <a href="./src/kernel/types/proxy_retrieve_response.py">ProxyRetrieveResponse</a></code>
- <code title="patch /proxies/{id_or_name}">client.proxies.<a href="./src/kernel/resources/proxies.py">update</a>(id_or_name, \*\*<a href="src/kernel/types/proxy_update_params.py">params</a>) -> <a href="./src/kernel/types/proxy_update_response.py">ProxyUpdateResponse</a></code>
- <code title="get /proxies">client.proxies.<a href="./src/kernel/resources/proxies.py">list</a>(\*\*<a href="src/kernel/types/proxy_list_params.py">params</a>) -> <a href="./src/kernel/types/proxy_list_response.py">SyncOffsetPagination[ProxyListResponse]</a></code>
- <code title="delete /proxies/{id}">client.proxies.<a href="./src/kernel/resources/proxies.py">delete</a>(id) -> None</code>
- <code title="post /proxies/{id}/check">client.proxies.<a href="./src/kernel/resources/proxies.py">check</a>(id, \*\*<a href="src/kernel/types/proxy_check_params.py">params</a>) -> <a href="./src/kernel/types/proxy_check_response.py">ProxyCheckResponse</a></code>
- <code title="delete /proxies/{id_or_name}">client.proxies.<a href="./src/kernel/resources/proxies.py">delete</a>(id_or_name) -> None</code>
- <code title="post /proxies/{id_or_name}/check">client.proxies.<a href="./src/kernel/resources/proxies.py">check</a>(id_or_name, \*\*<a href="src/kernel/types/proxy_check_params.py">params</a>) -> <a href="./src/kernel/types/proxy_check_response.py">ProxyCheckResponse</a></code>

# Extensions

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.127.0"
version = "0.128.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.127.0" # x-release-please-version
__version__ = "0.128.0" # x-release-please-version
86 changes: 44 additions & 42 deletions src/kernel/resources/proxies.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def create(

def retrieve(
self,
id: str,
id_or_name: 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.
Expand All @@ -115,7 +115,10 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProxyRetrieveResponse:
"""
Retrieve a proxy in the resolved project by ID.
Retrieve a proxy in the resolved project by ID or exact name using the database
collation. IDs take precedence when a value matches both an ID and a name. Proxy
names are not unique; an ambiguous name returns a 400 response with code
ambiguous_proxy_name.

Args:
extra_headers: Send extra headers
Expand All @@ -126,10 +129,10 @@ def retrieve(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return self._get(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand All @@ -138,7 +141,7 @@ def retrieve(

def update(
self,
id: str,
id_or_name: str,
*,
name: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -150,10 +153,8 @@ def update(
) -> ProxyUpdateResponse:
"""Update a proxy's name.

Proxy names are not unique and are not ID-or-name
addressable on this endpoint; duplicate names are allowed. Name-based
session-create lookups can remain ambiguous until callers resolve proxies by ID
or the API adds a stronger uniqueness contract.
Proxy names are not unique and duplicate names are
allowed.

Args:
name: New proxy name. Proxy names are trimmed and length-checked only; duplicates are
Expand All @@ -167,10 +168,10 @@ def update(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return self._patch(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
body=maybe_transform({"name": name}, proxy_update_params.ProxyUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
Expand Down Expand Up @@ -238,7 +239,7 @@ def list(

def delete(
self,
id: str,
id_or_name: 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.
Expand All @@ -263,11 +264,11 @@ def delete(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._delete(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand All @@ -276,7 +277,7 @@ def delete(

def check(
self,
id: str,
id_or_name: str,
*,
url: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -317,10 +318,10 @@ def check(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return self._post(
path_template("/proxies/{id}/check", id=id),
path_template("/proxies/{id_or_name}/check", id_or_name=id_or_name),
body=maybe_transform({"url": url}, proxy_check_params.ProxyCheckParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
Expand Down Expand Up @@ -406,7 +407,7 @@ async def create(

async def retrieve(
self,
id: str,
id_or_name: 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.
Expand All @@ -416,7 +417,10 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProxyRetrieveResponse:
"""
Retrieve a proxy in the resolved project by ID.
Retrieve a proxy in the resolved project by ID or exact name using the database
collation. IDs take precedence when a value matches both an ID and a name. Proxy
names are not unique; an ambiguous name returns a 400 response with code
ambiguous_proxy_name.

Args:
extra_headers: Send extra headers
Expand All @@ -427,10 +431,10 @@ async def retrieve(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return await self._get(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand All @@ -439,7 +443,7 @@ async def retrieve(

async def update(
self,
id: str,
id_or_name: str,
*,
name: str,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -451,10 +455,8 @@ async def update(
) -> ProxyUpdateResponse:
"""Update a proxy's name.

Proxy names are not unique and are not ID-or-name
addressable on this endpoint; duplicate names are allowed. Name-based
session-create lookups can remain ambiguous until callers resolve proxies by ID
or the API adds a stronger uniqueness contract.
Proxy names are not unique and duplicate names are
allowed.

Args:
name: New proxy name. Proxy names are trimmed and length-checked only; duplicates are
Expand All @@ -468,10 +470,10 @@ async def update(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return await self._patch(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
body=await async_maybe_transform({"name": name}, proxy_update_params.ProxyUpdateParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
Expand Down Expand Up @@ -539,7 +541,7 @@ def list(

async def delete(
self,
id: str,
id_or_name: 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.
Expand All @@ -564,11 +566,11 @@ async def delete(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._delete(
path_template("/proxies/{id}", id=id),
path_template("/proxies/{id_or_name}", id_or_name=id_or_name),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
Expand All @@ -577,7 +579,7 @@ async def delete(

async def check(
self,
id: str,
id_or_name: str,
*,
url: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -618,10 +620,10 @@ async def check(

timeout: Override the client-level default timeout for this request, in seconds
"""
if not id:
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
if not id_or_name:
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
return await self._post(
path_template("/proxies/{id}/check", id=id),
path_template("/proxies/{id_or_name}/check", id_or_name=id_or_name),
body=await async_maybe_transform({"url": url}, proxy_check_params.ProxyCheckParams),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
Expand Down
7 changes: 1 addition & 6 deletions src/kernel/types/vaults/card_vault_item_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,7 @@ class LinkCardVaultItemSpec(BaseModel):
"""

amount: int
"""Integer amount in minor currency units.

Link Pay Token execution permits at most 500000; virtual-card execution permits
at most 50000. Authorization rejects a larger amount when the checkout requires
a virtual card.
"""
"""Integer amount in minor currency units, at most 50000."""

context: str

Expand Down
7 changes: 1 addition & 6 deletions src/kernel/types/vaults/card_vault_item_spec_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,7 @@ class LinkCardVaultItemSpec(TypedDict, total=False):
"""

amount: Required[int]
"""Integer amount in minor currency units.

Link Pay Token execution permits at most 500000; virtual-card execution permits
at most 50000. Authorization rejects a larger amount when the checkout requires
a virtual card.
"""
"""Integer amount in minor currency units, at most 50000."""

context: Required[str]

Expand Down
Loading
Loading