From 457e6c14bd10df055044c2b48704b64d90ca8aff Mon Sep 17 00:00:00 2001 From: "kernel-internal[bot]" <260533166+kernel-internal[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:06:51 +0000 Subject: [PATCH 1/2] feat: chore(stlc): seal custom-code tracking files Stainless-Generated-From: f9646cbea73c1147aefb46dce6e811b9683125e0 --- api.md | 8 +- src/kernel/resources/proxies.py | 86 ++++++++++--------- .../types/vaults/card_vault_item_spec.py | 7 +- .../vaults/card_vault_item_spec_param.py | 7 +- tests/api_resources/test_proxies.py | 76 ++++++++-------- 5 files changed, 88 insertions(+), 96 deletions(-) diff --git a/api.md b/api.md index 33b17d60..882ac3a8 100644 --- a/api.md +++ b/api.md @@ -484,11 +484,11 @@ from kernel.types import ( Methods: - client.proxies.create(\*\*params) -> ProxyCreateResponse -- client.proxies.retrieve(id) -> ProxyRetrieveResponse -- client.proxies.update(id, \*\*params) -> ProxyUpdateResponse +- client.proxies.retrieve(id_or_name) -> ProxyRetrieveResponse +- client.proxies.update(id_or_name, \*\*params) -> ProxyUpdateResponse - client.proxies.list(\*\*params) -> SyncOffsetPagination[ProxyListResponse] -- client.proxies.delete(id) -> None -- client.proxies.check(id, \*\*params) -> ProxyCheckResponse +- client.proxies.delete(id_or_name) -> None +- client.proxies.check(id_or_name, \*\*params) -> ProxyCheckResponse # Extensions diff --git a/src/kernel/resources/proxies.py b/src/kernel/resources/proxies.py index 240d18d1..4b0d3458 100644 --- a/src/kernel/resources/proxies.py +++ b/src/kernel/resources/proxies.py @@ -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. @@ -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 @@ -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 ), @@ -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. @@ -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 @@ -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 @@ -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. @@ -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 ), @@ -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. @@ -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 @@ -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. @@ -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 @@ -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 ), @@ -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. @@ -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 @@ -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 @@ -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. @@ -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 ), @@ -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. @@ -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 diff --git a/src/kernel/types/vaults/card_vault_item_spec.py b/src/kernel/types/vaults/card_vault_item_spec.py index f6b471f8..749bf1d4 100644 --- a/src/kernel/types/vaults/card_vault_item_spec.py +++ b/src/kernel/types/vaults/card_vault_item_spec.py @@ -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 diff --git a/src/kernel/types/vaults/card_vault_item_spec_param.py b/src/kernel/types/vaults/card_vault_item_spec_param.py index 6e3ad521..c888247f 100644 --- a/src/kernel/types/vaults/card_vault_item_spec_param.py +++ b/src/kernel/types/vaults/card_vault_item_spec_param.py @@ -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] diff --git a/tests/api_resources/test_proxies.py b/tests/api_resources/test_proxies.py index 7fc6412c..a8737804 100644 --- a/tests/api_resources/test_proxies.py +++ b/tests/api_resources/test_proxies.py @@ -74,7 +74,7 @@ def test_streaming_response_create(self, client: Kernel) -> None: @parametrize def test_method_retrieve(self, client: Kernel) -> None: proxy = client.proxies.retrieve( - "id", + "id_or_name", ) assert_matches_type(ProxyRetrieveResponse, proxy, path=["response"]) @@ -82,7 +82,7 @@ def test_method_retrieve(self, client: Kernel) -> None: @parametrize def test_raw_response_retrieve(self, client: Kernel) -> None: response = client.proxies.with_raw_response.retrieve( - "id", + "id_or_name", ) assert response.is_closed is True @@ -94,7 +94,7 @@ def test_raw_response_retrieve(self, client: Kernel) -> None: @parametrize def test_streaming_response_retrieve(self, client: Kernel) -> None: with client.proxies.with_streaming_response.retrieve( - "id", + "id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -107,7 +107,7 @@ def test_streaming_response_retrieve(self, client: Kernel) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_path_params_retrieve(self, client: Kernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): client.proxies.with_raw_response.retrieve( "", ) @@ -116,7 +116,7 @@ def test_path_params_retrieve(self, client: Kernel) -> None: @parametrize def test_method_update(self, client: Kernel) -> None: proxy = client.proxies.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) assert_matches_type(ProxyUpdateResponse, proxy, path=["response"]) @@ -125,7 +125,7 @@ def test_method_update(self, client: Kernel) -> None: @parametrize def test_raw_response_update(self, client: Kernel) -> None: response = client.proxies.with_raw_response.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) @@ -138,7 +138,7 @@ def test_raw_response_update(self, client: Kernel) -> None: @parametrize def test_streaming_response_update(self, client: Kernel) -> None: with client.proxies.with_streaming_response.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) as response: assert not response.is_closed @@ -152,9 +152,9 @@ def test_streaming_response_update(self, client: Kernel) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_path_params_update(self, client: Kernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): client.proxies.with_raw_response.update( - id="", + id_or_name="", name="my-renamed-proxy", ) @@ -201,7 +201,7 @@ def test_streaming_response_list(self, client: Kernel) -> None: @parametrize def test_method_delete(self, client: Kernel) -> None: proxy = client.proxies.delete( - "id", + "id_or_name", ) assert proxy is None @@ -209,7 +209,7 @@ def test_method_delete(self, client: Kernel) -> None: @parametrize def test_raw_response_delete(self, client: Kernel) -> None: response = client.proxies.with_raw_response.delete( - "id", + "id_or_name", ) assert response.is_closed is True @@ -221,7 +221,7 @@ def test_raw_response_delete(self, client: Kernel) -> None: @parametrize def test_streaming_response_delete(self, client: Kernel) -> None: with client.proxies.with_streaming_response.delete( - "id", + "id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -234,7 +234,7 @@ def test_streaming_response_delete(self, client: Kernel) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_path_params_delete(self, client: Kernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): client.proxies.with_raw_response.delete( "", ) @@ -243,7 +243,7 @@ def test_path_params_delete(self, client: Kernel) -> None: @parametrize def test_method_check(self, client: Kernel) -> None: proxy = client.proxies.check( - id="id", + id_or_name="id_or_name", ) assert_matches_type(ProxyCheckResponse, proxy, path=["response"]) @@ -251,7 +251,7 @@ def test_method_check(self, client: Kernel) -> None: @parametrize def test_method_check_with_all_params(self, client: Kernel) -> None: proxy = client.proxies.check( - id="id", + id_or_name="id_or_name", url="https://example.com", ) assert_matches_type(ProxyCheckResponse, proxy, path=["response"]) @@ -260,7 +260,7 @@ def test_method_check_with_all_params(self, client: Kernel) -> None: @parametrize def test_raw_response_check(self, client: Kernel) -> None: response = client.proxies.with_raw_response.check( - id="id", + id_or_name="id_or_name", ) assert response.is_closed is True @@ -272,7 +272,7 @@ def test_raw_response_check(self, client: Kernel) -> None: @parametrize def test_streaming_response_check(self, client: Kernel) -> None: with client.proxies.with_streaming_response.check( - id="id", + id_or_name="id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -285,9 +285,9 @@ def test_streaming_response_check(self, client: Kernel) -> None: @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_path_params_check(self, client: Kernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): client.proxies.with_raw_response.check( - id="", + id_or_name="", ) @@ -346,7 +346,7 @@ async def test_streaming_response_create(self, async_client: AsyncKernel) -> Non @parametrize async def test_method_retrieve(self, async_client: AsyncKernel) -> None: proxy = await async_client.proxies.retrieve( - "id", + "id_or_name", ) assert_matches_type(ProxyRetrieveResponse, proxy, path=["response"]) @@ -354,7 +354,7 @@ async def test_method_retrieve(self, async_client: AsyncKernel) -> None: @parametrize async def test_raw_response_retrieve(self, async_client: AsyncKernel) -> None: response = await async_client.proxies.with_raw_response.retrieve( - "id", + "id_or_name", ) assert response.is_closed is True @@ -366,7 +366,7 @@ async def test_raw_response_retrieve(self, async_client: AsyncKernel) -> None: @parametrize async def test_streaming_response_retrieve(self, async_client: AsyncKernel) -> None: async with async_client.proxies.with_streaming_response.retrieve( - "id", + "id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -379,7 +379,7 @@ async def test_streaming_response_retrieve(self, async_client: AsyncKernel) -> N @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_path_params_retrieve(self, async_client: AsyncKernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): await async_client.proxies.with_raw_response.retrieve( "", ) @@ -388,7 +388,7 @@ async def test_path_params_retrieve(self, async_client: AsyncKernel) -> None: @parametrize async def test_method_update(self, async_client: AsyncKernel) -> None: proxy = await async_client.proxies.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) assert_matches_type(ProxyUpdateResponse, proxy, path=["response"]) @@ -397,7 +397,7 @@ async def test_method_update(self, async_client: AsyncKernel) -> None: @parametrize async def test_raw_response_update(self, async_client: AsyncKernel) -> None: response = await async_client.proxies.with_raw_response.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) @@ -410,7 +410,7 @@ async def test_raw_response_update(self, async_client: AsyncKernel) -> None: @parametrize async def test_streaming_response_update(self, async_client: AsyncKernel) -> None: async with async_client.proxies.with_streaming_response.update( - id="id", + id_or_name="id_or_name", name="my-renamed-proxy", ) as response: assert not response.is_closed @@ -424,9 +424,9 @@ async def test_streaming_response_update(self, async_client: AsyncKernel) -> Non @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_path_params_update(self, async_client: AsyncKernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): await async_client.proxies.with_raw_response.update( - id="", + id_or_name="", name="my-renamed-proxy", ) @@ -473,7 +473,7 @@ async def test_streaming_response_list(self, async_client: AsyncKernel) -> None: @parametrize async def test_method_delete(self, async_client: AsyncKernel) -> None: proxy = await async_client.proxies.delete( - "id", + "id_or_name", ) assert proxy is None @@ -481,7 +481,7 @@ async def test_method_delete(self, async_client: AsyncKernel) -> None: @parametrize async def test_raw_response_delete(self, async_client: AsyncKernel) -> None: response = await async_client.proxies.with_raw_response.delete( - "id", + "id_or_name", ) assert response.is_closed is True @@ -493,7 +493,7 @@ async def test_raw_response_delete(self, async_client: AsyncKernel) -> None: @parametrize async def test_streaming_response_delete(self, async_client: AsyncKernel) -> None: async with async_client.proxies.with_streaming_response.delete( - "id", + "id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -506,7 +506,7 @@ async def test_streaming_response_delete(self, async_client: AsyncKernel) -> Non @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_path_params_delete(self, async_client: AsyncKernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): await async_client.proxies.with_raw_response.delete( "", ) @@ -515,7 +515,7 @@ async def test_path_params_delete(self, async_client: AsyncKernel) -> None: @parametrize async def test_method_check(self, async_client: AsyncKernel) -> None: proxy = await async_client.proxies.check( - id="id", + id_or_name="id_or_name", ) assert_matches_type(ProxyCheckResponse, proxy, path=["response"]) @@ -523,7 +523,7 @@ async def test_method_check(self, async_client: AsyncKernel) -> None: @parametrize async def test_method_check_with_all_params(self, async_client: AsyncKernel) -> None: proxy = await async_client.proxies.check( - id="id", + id_or_name="id_or_name", url="https://example.com", ) assert_matches_type(ProxyCheckResponse, proxy, path=["response"]) @@ -532,7 +532,7 @@ async def test_method_check_with_all_params(self, async_client: AsyncKernel) -> @parametrize async def test_raw_response_check(self, async_client: AsyncKernel) -> None: response = await async_client.proxies.with_raw_response.check( - id="id", + id_or_name="id_or_name", ) assert response.is_closed is True @@ -544,7 +544,7 @@ async def test_raw_response_check(self, async_client: AsyncKernel) -> None: @parametrize async def test_streaming_response_check(self, async_client: AsyncKernel) -> None: async with async_client.proxies.with_streaming_response.check( - id="id", + id_or_name="id_or_name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -557,7 +557,7 @@ async def test_streaming_response_check(self, async_client: AsyncKernel) -> None @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_path_params_check(self, async_client: AsyncKernel) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"): await async_client.proxies.with_raw_response.check( - id="", + id_or_name="", ) From 5281a586e2c2e6f073fde233ac5eb675e854f73d Mon Sep 17 00:00:00 2001 From: "kernel-internal[bot]" <260533166+kernel-internal[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 20:11:27 +0000 Subject: [PATCH 2/2] release: 0.128.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- src/kernel/_version.py | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 47775e91..f118d043 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.127.0" + ".": "0.128.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index dcd39316..9c22eabc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/pyproject.toml b/pyproject.toml index d2de2e3b..eca42025 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" diff --git a/src/kernel/_version.py b/src/kernel/_version.py index d351e0a2..ba7941bc 100644 --- a/src/kernel/_version.py +++ b/src/kernel/_version.py @@ -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