From 95cb22ab14711e3c4220dcf9a83bc87ea2436efe Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 17 Dec 2025 19:34:10 +0000
Subject: [PATCH 01/28] chore: update uv.lock
From 9dc1025c4679f82a9528e859ce2332b9bc8dfb9d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 28 Nov 2025 03:40:52 +0000
Subject: [PATCH 02/28] fix: ensure streams are always closed
---
src/llama_stack_client/_streaming.py | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/llama_stack_client/_streaming.py b/src/llama_stack_client/_streaming.py
index e732cb57..a2210688 100644
--- a/src/llama_stack_client/_streaming.py
+++ b/src/llama_stack_client/_streaming.py
@@ -60,11 +60,12 @@ def __stream__(self) -> Iterator[_T]:
process_data = self._client._process_response_data
iterator = self._iter_events()
- for sse in iterator:
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
-
- # As we might not fully consume the response stream, we need to close it explicitly
- response.close()
+ try:
+ for sse in iterator:
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
+ finally:
+ # Ensure the response is closed even if the consumer doesn't read all data
+ response.close()
def __enter__(self) -> Self:
return self
@@ -123,11 +124,12 @@ async def __stream__(self) -> AsyncIterator[_T]:
process_data = self._client._process_response_data
iterator = self._iter_events()
- async for sse in iterator:
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
-
- # As we might not fully consume the response stream, we need to close it explicitly
- await response.aclose()
+ try:
+ async for sse in iterator:
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
+ finally:
+ # Ensure the response is closed even if the consumer doesn't read all data
+ await response.aclose()
async def __aenter__(self) -> Self:
return self
From a90016741193156e589525c874dff32459be2a6d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 28 Nov 2025 03:42:03 +0000
Subject: [PATCH 03/28] chore(deps): mypy 1.18.1 has a regression, pin to 1.17
---
pyproject.toml | 2 +-
requirements-dev.lock | 16 +++---
uv.lock | 115 ++++++++++++++++++++----------------------
3 files changed, 65 insertions(+), 68 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 8ee53846..667d3b66 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -58,7 +58,7 @@ conflicts = [
# version pins are in uv.lock
dev = [
"pyright==1.1.399",
- "mypy",
+ "mypy==1.17",
"respx",
"pytest>=7.1.1",
"pytest-asyncio",
diff --git a/requirements-dev.lock b/requirements-dev.lock
index 9603ecb4..534bd7df 100644
--- a/requirements-dev.lock
+++ b/requirements-dev.lock
@@ -7,7 +7,7 @@ anyio==4.11.0
# via
# httpx
# llama-stack-client
-black==25.11.0
+black==25.12.0
certifi==2025.11.12
# via
# httpcore
@@ -33,7 +33,7 @@ distro==1.9.0
# via llama-stack-client
execnet==2.1.2
# via pytest-xdist
-filelock==3.20.0
+filelock==3.20.1
# via virtualenv
fire==0.7.1
# via llama-stack-client
@@ -59,7 +59,7 @@ markdown-it-py==4.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
-mypy==1.18.2
+mypy==1.17.0
mypy-extensions==1.1.0
# via
# black
@@ -80,18 +80,18 @@ pathspec==0.12.1
# via
# black
# mypy
-platformdirs==4.5.0
+platformdirs==4.5.1
# via
# black
# virtualenv
pluggy==1.6.0
# via pytest
-pre-commit==4.5.0
+pre-commit==4.5.1
prompt-toolkit==3.0.52
# via llama-stack-client
pyaml==25.7.0
# via llama-stack-client
-pydantic==2.12.4
+pydantic==2.12.5
# via llama-stack-client
pydantic-core==2.41.5
# via pydantic
@@ -147,9 +147,9 @@ typing-extensions==4.15.0
# typing-inspection
typing-inspection==0.4.2
# via pydantic
-tzdata==2025.2
+tzdata==2025.3
# via pandas
-urllib3==2.5.0
+urllib3==2.6.2
# via requests
virtualenv==20.35.4
# via pre-commit
diff --git a/uv.lock b/uv.lock
index 847d6c52..3c205e14 100644
--- a/uv.lock
+++ b/uv.lock
@@ -153,7 +153,7 @@ wheels = [
[[package]]
name = "black"
-version = "25.11.0"
+version = "25.12.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "click" },
@@ -163,21 +163,24 @@ dependencies = [
{ name = "platformdirs" },
{ name = "pytokens" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/8c/ad/33adf4708633d047950ff2dfdea2e215d84ac50ef95aff14a614e4b6e9b2/black-25.11.0.tar.gz", hash = "sha256:9a323ac32f5dc75ce7470501b887250be5005a01602e931a15e45593f70f6e08", size = 655669, upload-time = "2025-11-10T01:53:50.558Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c4/d9/07b458a3f1c525ac392b5edc6b191ff140b596f9d77092429417a54e249d/black-25.12.0.tar.gz", hash = "sha256:8d3dd9cea14bff7ddc0eb243c811cdb1a011ebb4800a5f0335a01a68654796a7", size = 659264, upload-time = "2025-12-08T01:40:52.501Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/7f/12/5c35e600b515f35ffd737da7febdb2ab66bb8c24d88560d5e3ef3d28c3fd/black-25.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:80e7486ad3535636657aa180ad32a7d67d7c273a80e12f1b4bfa0823d54e8fac", size = 1772831, upload-time = "2025-11-10T02:03:47Z" },
- { url = "https://files.pythonhosted.org/packages/1a/75/b3896bec5a2bb9ed2f989a970ea40e7062f8936f95425879bbe162746fe5/black-25.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cced12b747c4c76bc09b4db057c319d8545307266f41aaee665540bc0e04e96", size = 1608520, upload-time = "2025-11-10T01:58:46.895Z" },
- { url = "https://files.pythonhosted.org/packages/f3/b5/2bfc18330eddbcfb5aab8d2d720663cd410f51b2ed01375f5be3751595b0/black-25.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cb2d54a39e0ef021d6c5eef442e10fd71fcb491be6413d083a320ee768329dd", size = 1682719, upload-time = "2025-11-10T01:56:55.24Z" },
- { url = "https://files.pythonhosted.org/packages/96/fb/f7dc2793a22cdf74a72114b5ed77fe3349a2e09ef34565857a2f917abdf2/black-25.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae263af2f496940438e5be1a0c1020e13b09154f3af4df0835ea7f9fe7bfa409", size = 1362684, upload-time = "2025-11-10T01:57:07.639Z" },
- { url = "https://files.pythonhosted.org/packages/ad/47/3378d6a2ddefe18553d1115e36aea98f4a90de53b6a3017ed861ba1bd3bc/black-25.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0a1d40348b6621cc20d3d7530a5b8d67e9714906dfd7346338249ad9c6cedf2b", size = 1772446, upload-time = "2025-11-10T02:02:16.181Z" },
- { url = "https://files.pythonhosted.org/packages/ba/4b/0f00bfb3d1f7e05e25bfc7c363f54dc523bb6ba502f98f4ad3acf01ab2e4/black-25.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:51c65d7d60bb25429ea2bf0731c32b2a2442eb4bd3b2afcb47830f0b13e58bfd", size = 1607983, upload-time = "2025-11-10T02:02:52.502Z" },
- { url = "https://files.pythonhosted.org/packages/99/fe/49b0768f8c9ae57eb74cc10a1f87b4c70453551d8ad498959721cc345cb7/black-25.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:936c4dd07669269f40b497440159a221ee435e3fddcf668e0c05244a9be71993", size = 1682481, upload-time = "2025-11-10T01:57:12.35Z" },
- { url = "https://files.pythonhosted.org/packages/55/17/7e10ff1267bfa950cc16f0a411d457cdff79678fbb77a6c73b73a5317904/black-25.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:f42c0ea7f59994490f4dccd64e6b2dd49ac57c7c84f38b8faab50f8759db245c", size = 1363869, upload-time = "2025-11-10T01:58:24.608Z" },
- { url = "https://files.pythonhosted.org/packages/67/c0/cc865ce594d09e4cd4dfca5e11994ebb51604328489f3ca3ae7bb38a7db5/black-25.11.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:35690a383f22dd3e468c85dc4b915217f87667ad9cce781d7b42678ce63c4170", size = 1771358, upload-time = "2025-11-10T02:03:33.331Z" },
- { url = "https://files.pythonhosted.org/packages/37/77/4297114d9e2fd2fc8ab0ab87192643cd49409eb059e2940391e7d2340e57/black-25.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:dae49ef7369c6caa1a1833fd5efb7c3024bb7e4499bf64833f65ad27791b1545", size = 1612902, upload-time = "2025-11-10T01:59:33.382Z" },
- { url = "https://files.pythonhosted.org/packages/de/63/d45ef97ada84111e330b2b2d45e1dd163e90bd116f00ac55927fb6bf8adb/black-25.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bd4a22a0b37401c8e492e994bce79e614f91b14d9ea911f44f36e262195fdda", size = 1680571, upload-time = "2025-11-10T01:57:04.239Z" },
- { url = "https://files.pythonhosted.org/packages/ff/4b/5604710d61cdff613584028b4cb4607e56e148801ed9b38ee7970799dab6/black-25.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:aa211411e94fdf86519996b7f5f05e71ba34835d8f0c0f03c00a26271da02664", size = 1382599, upload-time = "2025-11-10T01:57:57.427Z" },
- { url = "https://files.pythonhosted.org/packages/00/5d/aed32636ed30a6e7f9efd6ad14e2a0b0d687ae7c8c7ec4e4a557174b895c/black-25.11.0-py3-none-any.whl", hash = "sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b", size = 204918, upload-time = "2025-11-10T01:53:48.917Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/bd/26083f805115db17fda9877b3c7321d08c647df39d0df4c4ca8f8450593e/black-25.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:31f96b7c98c1ddaeb07dc0f56c652e25bdedaac76d5b68a059d998b57c55594a", size = 1924178, upload-time = "2025-12-08T01:49:51.048Z" },
+ { url = "https://files.pythonhosted.org/packages/89/6b/ea00d6651561e2bdd9231c4177f4f2ae19cc13a0b0574f47602a7519b6ca/black-25.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:05dd459a19e218078a1f98178c13f861fe6a9a5f88fc969ca4d9b49eb1809783", size = 1742643, upload-time = "2025-12-08T01:49:59.09Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/f3/360fa4182e36e9875fabcf3a9717db9d27a8d11870f21cff97725c54f35b/black-25.12.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1f68c5eff61f226934be6b5b80296cf6939e5d2f0c2f7d543ea08b204bfaf59", size = 1800158, upload-time = "2025-12-08T01:44:27.301Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/08/2c64830cb6616278067e040acca21d4f79727b23077633953081c9445d61/black-25.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:274f940c147ddab4442d316b27f9e332ca586d39c85ecf59ebdea82cc9ee8892", size = 1426197, upload-time = "2025-12-08T01:45:51.198Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/60/a93f55fd9b9816b7432cf6842f0e3000fdd5b7869492a04b9011a133ee37/black-25.12.0-cp312-cp312-win_arm64.whl", hash = "sha256:169506ba91ef21e2e0591563deda7f00030cb466e747c4b09cb0a9dae5db2f43", size = 1237266, upload-time = "2025-12-08T01:45:10.556Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/52/c551e36bc95495d2aa1a37d50566267aa47608c81a53f91daa809e03293f/black-25.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a05ddeb656534c3e27a05a29196c962877c83fa5503db89e68857d1161ad08a5", size = 1923809, upload-time = "2025-12-08T01:46:55.126Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/f7/aac9b014140ee56d247e707af8db0aae2e9efc28d4a8aba92d0abd7ae9d1/black-25.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9ec77439ef3e34896995503865a85732c94396edcc739f302c5673a2315e1e7f", size = 1742384, upload-time = "2025-12-08T01:49:37.022Z" },
+ { url = "https://files.pythonhosted.org/packages/74/98/38aaa018b2ab06a863974c12b14a6266badc192b20603a81b738c47e902e/black-25.12.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e509c858adf63aa61d908061b52e580c40eae0dfa72415fa47ac01b12e29baf", size = 1798761, upload-time = "2025-12-08T01:46:05.386Z" },
+ { url = "https://files.pythonhosted.org/packages/16/3a/a8ac542125f61574a3f015b521ca83b47321ed19bb63fe6d7560f348bfe1/black-25.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:252678f07f5bac4ff0d0e9b261fbb029fa530cfa206d0a636a34ab445ef8ca9d", size = 1429180, upload-time = "2025-12-08T01:45:34.903Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/2d/bdc466a3db9145e946762d52cd55b1385509d9f9004fec1c97bdc8debbfb/black-25.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:bc5b1c09fe3c931ddd20ee548511c64ebf964ada7e6f0763d443947fd1c603ce", size = 1239350, upload-time = "2025-12-08T01:46:09.458Z" },
+ { url = "https://files.pythonhosted.org/packages/35/46/1d8f2542210c502e2ae1060b2e09e47af6a5e5963cb78e22ec1a11170b28/black-25.12.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:0a0953b134f9335c2434864a643c842c44fba562155c738a2a37a4d61f00cad5", size = 1917015, upload-time = "2025-12-08T01:53:27.987Z" },
+ { url = "https://files.pythonhosted.org/packages/41/37/68accadf977672beb8e2c64e080f568c74159c1aaa6414b4cd2aef2d7906/black-25.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2355bbb6c3b76062870942d8cc450d4f8ac71f9c93c40122762c8784df49543f", size = 1741830, upload-time = "2025-12-08T01:54:36.861Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/76/03608a9d8f0faad47a3af3a3c8c53af3367f6c0dd2d23a84710456c7ac56/black-25.12.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9678bd991cc793e81d19aeeae57966ee02909877cb65838ccffef24c3ebac08f", size = 1791450, upload-time = "2025-12-08T01:44:52.581Z" },
+ { url = "https://files.pythonhosted.org/packages/06/99/b2a4bd7dfaea7964974f947e1c76d6886d65fe5d24f687df2d85406b2609/black-25.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:97596189949a8aad13ad12fcbb4ae89330039b96ad6742e6f6b45e75ad5cfd83", size = 1452042, upload-time = "2025-12-08T01:46:13.188Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/7c/d9825de75ae5dd7795d007681b752275ea85a1c5d83269b4b9c754c2aaab/black-25.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:778285d9ea197f34704e3791ea9404cd6d07595745907dd2ce3da7a13627b29b", size = 1267446, upload-time = "2025-12-08T01:46:14.497Z" },
+ { url = "https://files.pythonhosted.org/packages/68/11/21331aed19145a952ad28fca2756a1433ee9308079bd03bd898e903a2e53/black-25.12.0-py3-none-any.whl", hash = "sha256:48ceb36c16dbc84062740049eef990bb2ce07598272e673c17d1a7720c71c828", size = 206191, upload-time = "2025-12-08T01:40:50.963Z" },
]
[[package]]
@@ -314,11 +317,11 @@ wheels = [
[[package]]
name = "filelock"
-version = "3.20.0"
+version = "3.20.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4", size = 18922, upload-time = "2025-10-08T18:03:50.056Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz", hash = "sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size = 19476, upload-time = "2025-12-15T23:54:28.027Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/76/91/7216b27286936c16f5b4d0c530087e4a54eead683e6b0b73dd0c64844af6/filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2", size = 16054, upload-time = "2025-10-08T18:03:48.35Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl", hash = "sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size = 16666, upload-time = "2025-12-15T23:54:26.874Z" },
]
[[package]]
@@ -513,7 +516,7 @@ wheels = [
[[package]]
name = "llama-stack-client"
-version = "0.4.0a12"
+version = "0.4.0a13"
source = { editable = "." }
dependencies = [
{ name = "anyio" },
@@ -525,7 +528,7 @@ dependencies = [
{ name = "prompt-toolkit" },
{ name = "pyaml" },
{ name = "pydantic", version = "1.10.24", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-18-llama-stack-client-pydantic-v1'" },
- { name = "pydantic", version = "2.12.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-18-llama-stack-client-pydantic-v2' or extra != 'group-18-llama-stack-client-pydantic-v1'" },
+ { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-18-llama-stack-client-pydantic-v2' or extra != 'group-18-llama-stack-client-pydantic-v1'" },
{ name = "requests" },
{ name = "rich" },
{ name = "sniffio" },
@@ -560,7 +563,7 @@ pydantic-v1 = [
{ name = "pydantic", version = "1.10.24", source = { registry = "https://pypi.org/simple" } },
]
pydantic-v2 = [
- { name = "pydantic", version = "2.12.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } },
]
[package.metadata]
@@ -590,7 +593,7 @@ dev = [
{ name = "black" },
{ name = "dirty-equals", specifier = ">=0.6.0" },
{ name = "importlib-metadata", specifier = ">=6.7.0" },
- { name = "mypy" },
+ { name = "mypy", specifier = "==1.17" },
{ name = "pre-commit" },
{ name = "pyright", specifier = "==1.1.399" },
{ name = "pytest", specifier = ">=7.1.1" },
@@ -729,34 +732,28 @@ wheels = [
[[package]]
name = "mypy"
-version = "1.18.2"
+version = "1.17.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mypy-extensions" },
{ name = "pathspec" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c0/77/8f0d0001ffad290cef2f7f216f96c814866248a0b92a722365ed54648e7e/mypy-1.18.2.tar.gz", hash = "sha256:06a398102a5f203d7477b2923dda3634c36727fa5c237d8f859ef90c42a9924b", size = 3448846, upload-time = "2025-09-19T00:11:10.519Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/07/06/dfdd2bc60c66611dd8335f463818514733bc763e4760dee289dcc33df709/mypy-1.18.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:33eca32dd124b29400c31d7cf784e795b050ace0e1f91b8dc035672725617e34", size = 12908273, upload-time = "2025-09-19T00:10:58.321Z" },
- { url = "https://files.pythonhosted.org/packages/81/14/6a9de6d13a122d5608e1a04130724caf9170333ac5a924e10f670687d3eb/mypy-1.18.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3c47adf30d65e89b2dcd2fa32f3aeb5e94ca970d2c15fcb25e297871c8e4764", size = 11920910, upload-time = "2025-09-19T00:10:20.043Z" },
- { url = "https://files.pythonhosted.org/packages/5f/a9/b29de53e42f18e8cc547e38daa9dfa132ffdc64f7250e353f5c8cdd44bee/mypy-1.18.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d6c838e831a062f5f29d11c9057c6009f60cb294fea33a98422688181fe2893", size = 12465585, upload-time = "2025-09-19T00:10:33.005Z" },
- { url = "https://files.pythonhosted.org/packages/77/ae/6c3d2c7c61ff21f2bee938c917616c92ebf852f015fb55917fd6e2811db2/mypy-1.18.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01199871b6110a2ce984bde85acd481232d17413868c9807e95c1b0739a58914", size = 13348562, upload-time = "2025-09-19T00:10:11.51Z" },
- { url = "https://files.pythonhosted.org/packages/4d/31/aec68ab3b4aebdf8f36d191b0685d99faa899ab990753ca0fee60fb99511/mypy-1.18.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a2afc0fa0b0e91b4599ddfe0f91e2c26c2b5a5ab263737e998d6817874c5f7c8", size = 13533296, upload-time = "2025-09-19T00:10:06.568Z" },
- { url = "https://files.pythonhosted.org/packages/9f/83/abcb3ad9478fca3ebeb6a5358bb0b22c95ea42b43b7789c7fb1297ca44f4/mypy-1.18.2-cp312-cp312-win_amd64.whl", hash = "sha256:d8068d0afe682c7c4897c0f7ce84ea77f6de953262b12d07038f4d296d547074", size = 9828828, upload-time = "2025-09-19T00:10:28.203Z" },
- { url = "https://files.pythonhosted.org/packages/5f/04/7f462e6fbba87a72bc8097b93f6842499c428a6ff0c81dd46948d175afe8/mypy-1.18.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:07b8b0f580ca6d289e69209ec9d3911b4a26e5abfde32228a288eb79df129fcc", size = 12898728, upload-time = "2025-09-19T00:10:01.33Z" },
- { url = "https://files.pythonhosted.org/packages/99/5b/61ed4efb64f1871b41fd0b82d29a64640f3516078f6c7905b68ab1ad8b13/mypy-1.18.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ed4482847168439651d3feee5833ccedbf6657e964572706a2adb1f7fa4dfe2e", size = 11910758, upload-time = "2025-09-19T00:10:42.607Z" },
- { url = "https://files.pythonhosted.org/packages/3c/46/d297d4b683cc89a6e4108c4250a6a6b717f5fa96e1a30a7944a6da44da35/mypy-1.18.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3ad2afadd1e9fea5cf99a45a822346971ede8685cc581ed9cd4d42eaf940986", size = 12475342, upload-time = "2025-09-19T00:11:00.371Z" },
- { url = "https://files.pythonhosted.org/packages/83/45/4798f4d00df13eae3bfdf726c9244bcb495ab5bd588c0eed93a2f2dd67f3/mypy-1.18.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a431a6f1ef14cf8c144c6b14793a23ec4eae3db28277c358136e79d7d062f62d", size = 13338709, upload-time = "2025-09-19T00:11:03.358Z" },
- { url = "https://files.pythonhosted.org/packages/d7/09/479f7358d9625172521a87a9271ddd2441e1dab16a09708f056e97007207/mypy-1.18.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7ab28cc197f1dd77a67e1c6f35cd1f8e8b73ed2217e4fc005f9e6a504e46e7ba", size = 13529806, upload-time = "2025-09-19T00:10:26.073Z" },
- { url = "https://files.pythonhosted.org/packages/71/cf/ac0f2c7e9d0ea3c75cd99dff7aec1c9df4a1376537cb90e4c882267ee7e9/mypy-1.18.2-cp313-cp313-win_amd64.whl", hash = "sha256:0e2785a84b34a72ba55fb5daf079a1003a34c05b22238da94fcae2bbe46f3544", size = 9833262, upload-time = "2025-09-19T00:10:40.035Z" },
- { url = "https://files.pythonhosted.org/packages/5a/0c/7d5300883da16f0063ae53996358758b2a2df2a09c72a5061fa79a1f5006/mypy-1.18.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:62f0e1e988ad41c2a110edde6c398383a889d95b36b3e60bcf155f5164c4fdce", size = 12893775, upload-time = "2025-09-19T00:10:03.814Z" },
- { url = "https://files.pythonhosted.org/packages/50/df/2cffbf25737bdb236f60c973edf62e3e7b4ee1c25b6878629e88e2cde967/mypy-1.18.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8795a039bab805ff0c1dfdb8cd3344642c2b99b8e439d057aba30850b8d3423d", size = 11936852, upload-time = "2025-09-19T00:10:51.631Z" },
- { url = "https://files.pythonhosted.org/packages/be/50/34059de13dd269227fb4a03be1faee6e2a4b04a2051c82ac0a0b5a773c9a/mypy-1.18.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ca1e64b24a700ab5ce10133f7ccd956a04715463d30498e64ea8715236f9c9c", size = 12480242, upload-time = "2025-09-19T00:11:07.955Z" },
- { url = "https://files.pythonhosted.org/packages/5b/11/040983fad5132d85914c874a2836252bbc57832065548885b5bb5b0d4359/mypy-1.18.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d924eef3795cc89fecf6bedc6ed32b33ac13e8321344f6ddbf8ee89f706c05cb", size = 13326683, upload-time = "2025-09-19T00:09:55.572Z" },
- { url = "https://files.pythonhosted.org/packages/e9/ba/89b2901dd77414dd7a8c8729985832a5735053be15b744c18e4586e506ef/mypy-1.18.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20c02215a080e3a2be3aa50506c67242df1c151eaba0dcbc1e4e557922a26075", size = 13514749, upload-time = "2025-09-19T00:10:44.827Z" },
- { url = "https://files.pythonhosted.org/packages/25/bc/cc98767cffd6b2928ba680f3e5bc969c4152bf7c2d83f92f5a504b92b0eb/mypy-1.18.2-cp314-cp314-win_amd64.whl", hash = "sha256:749b5f83198f1ca64345603118a6f01a4e99ad4bf9d103ddc5a3200cc4614adf", size = 9982959, upload-time = "2025-09-19T00:10:37.344Z" },
- { url = "https://files.pythonhosted.org/packages/87/e3/be76d87158ebafa0309946c4a73831974d4d6ab4f4ef40c3b53a385a66fd/mypy-1.18.2-py3-none-any.whl", hash = "sha256:22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e", size = 2352367, upload-time = "2025-09-19T00:10:15.489Z" },
+sdist = { url = "https://files.pythonhosted.org/packages/1e/e3/034322d5a779685218ed69286c32faa505247f1f096251ef66c8fd203b08/mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03", size = 3352114, upload-time = "2025-07-14T20:34:30.181Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/12/e9/e6824ed620bbf51d3bf4d6cbbe4953e83eaf31a448d1b3cfb3620ccb641c/mypy-1.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f986f1cab8dbec39ba6e0eaa42d4d3ac6686516a5d3dccd64be095db05ebc6bb", size = 11086395, upload-time = "2025-07-14T20:34:11.452Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/51/a4afd1ae279707953be175d303f04a5a7bd7e28dc62463ad29c1c857927e/mypy-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:51e455a54d199dd6e931cd7ea987d061c2afbaf0960f7f66deef47c90d1b304d", size = 10120052, upload-time = "2025-07-14T20:33:09.897Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/71/19adfeac926ba8205f1d1466d0d360d07b46486bf64360c54cb5a2bd86a8/mypy-1.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3204d773bab5ff4ebbd1f8efa11b498027cd57017c003ae970f310e5b96be8d8", size = 11861806, upload-time = "2025-07-14T20:32:16.028Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/64/d6120eca3835baf7179e6797a0b61d6c47e0bc2324b1f6819d8428d5b9ba/mypy-1.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1051df7ec0886fa246a530ae917c473491e9a0ba6938cfd0ec2abc1076495c3e", size = 12744371, upload-time = "2025-07-14T20:33:33.503Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/dc/56f53b5255a166f5bd0f137eed960e5065f2744509dfe69474ff0ba772a5/mypy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f773c6d14dcc108a5b141b4456b0871df638eb411a89cd1c0c001fc4a9d08fc8", size = 12914558, upload-time = "2025-07-14T20:33:56.961Z" },
+ { url = "https://files.pythonhosted.org/packages/69/ac/070bad311171badc9add2910e7f89271695a25c136de24bbafc7eded56d5/mypy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:1619a485fd0e9c959b943c7b519ed26b712de3002d7de43154a489a2d0fd817d", size = 9585447, upload-time = "2025-07-14T20:32:20.594Z" },
+ { url = "https://files.pythonhosted.org/packages/be/7b/5f8ab461369b9e62157072156935cec9d272196556bdc7c2ff5f4c7c0f9b/mypy-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c41aa59211e49d717d92b3bb1238c06d387c9325d3122085113c79118bebb06", size = 11070019, upload-time = "2025-07-14T20:32:07.99Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/f8/c49c9e5a2ac0badcc54beb24e774d2499748302c9568f7f09e8730e953fa/mypy-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e69db1fb65b3114f98c753e3930a00514f5b68794ba80590eb02090d54a5d4a", size = 10114457, upload-time = "2025-07-14T20:33:47.285Z" },
+ { url = "https://files.pythonhosted.org/packages/89/0c/fb3f9c939ad9beed3e328008b3fb90b20fda2cddc0f7e4c20dbefefc3b33/mypy-1.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03ba330b76710f83d6ac500053f7727270b6b8553b0423348ffb3af6f2f7b889", size = 11857838, upload-time = "2025-07-14T20:33:14.462Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/66/85607ab5137d65e4f54d9797b77d5a038ef34f714929cf8ad30b03f628df/mypy-1.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037bc0f0b124ce46bfde955c647f3e395c6174476a968c0f22c95a8d2f589bba", size = 12731358, upload-time = "2025-07-14T20:32:25.579Z" },
+ { url = "https://files.pythonhosted.org/packages/73/d0/341dbbfb35ce53d01f8f2969facbb66486cee9804048bf6c01b048127501/mypy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c38876106cb6132259683632b287238858bd58de267d80defb6f418e9ee50658", size = 12917480, upload-time = "2025-07-14T20:34:21.868Z" },
+ { url = "https://files.pythonhosted.org/packages/64/63/70c8b7dbfc520089ac48d01367a97e8acd734f65bd07813081f508a8c94c/mypy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:d30ba01c0f151998f367506fab31c2ac4527e6a7b2690107c7a7f9e3cb419a9c", size = 9589666, upload-time = "2025-07-14T20:34:16.841Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/fc/ee058cc4316f219078464555873e99d170bde1d9569abd833300dbeb484a/mypy-1.17.0-py3-none-any.whl", hash = "sha256:15d9d0018237ab058e5de3d8fce61b6fa72cc59cc78fd91f1b474bce12abf496", size = 2283195, upload-time = "2025-07-14T20:31:54.753Z" },
]
[[package]]
@@ -907,11 +904,11 @@ wheels = [
[[package]]
name = "platformdirs"
-version = "4.5.0"
+version = "4.5.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" },
]
[[package]]
@@ -925,7 +922,7 @@ wheels = [
[[package]]
name = "pre-commit"
-version = "4.5.0"
+version = "4.5.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cfgv" },
@@ -934,9 +931,9 @@ dependencies = [
{ name = "pyyaml" },
{ name = "virtualenv" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f4/9b/6a4ffb4ed980519da959e1cf3122fc6cb41211daa58dbae1c73c0e519a37/pre_commit-4.5.0.tar.gz", hash = "sha256:dc5a065e932b19fc1d4c653c6939068fe54325af8e741e74e88db4d28a4dd66b", size = 198428, upload-time = "2025-11-22T21:02:42.304Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/40/f1/6d86a29246dfd2e9b6237f0b5823717f60cad94d47ddc26afa916d21f525/pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61", size = 198232, upload-time = "2025-12-16T21:14:33.552Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/5d/c4/b2d28e9d2edf4f1713eb3c29307f1a63f3d67cf09bdda29715a36a68921a/pre_commit-4.5.0-py2.py3-none-any.whl", hash = "sha256:25e2ce09595174d9c97860a95609f9f852c0614ba602de3561e267547f2335e1", size = 226429, upload-time = "2025-11-22T21:02:40.836Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77", size = 226437, upload-time = "2025-12-16T21:14:32.409Z" },
]
[[package]]
@@ -1075,7 +1072,7 @@ wheels = [
[[package]]
name = "pydantic"
-version = "2.12.4"
+version = "2.12.5"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
"python_full_version >= '3.14' and extra != 'group-18-llama-stack-client-pydantic-v1' and extra == 'group-18-llama-stack-client-pydantic-v2'",
@@ -1088,9 +1085,9 @@ dependencies = [
{ name = "typing-extensions" },
{ name = "typing-inspection" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/96/ad/a17bc283d7d81837c061c49e3eaa27a45991759a1b7eae1031921c6bd924/pydantic-2.12.4.tar.gz", hash = "sha256:0f8cb9555000a4b5b617f66bfd2566264c4984b27589d3b845685983e8ea85ac", size = 821038, upload-time = "2025-11-05T10:50:08.59Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl", hash = "sha256:92d3d202a745d46f9be6df459ac5a064fdaa3c1c4cd8adcfa332ccf3c05f871e", size = 463400, upload-time = "2025-11-05T10:50:06.732Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" },
]
[[package]]
@@ -1495,20 +1492,20 @@ wheels = [
[[package]]
name = "tzdata"
-version = "2025.2"
+version = "2025.3"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" },
]
[[package]]
name = "urllib3"
-version = "2.5.0"
+version = "2.6.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" },
]
[[package]]
From 288fa132a342b23143d40b3720630b522a3ac78f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 1 Dec 2025 18:34:15 +0000
Subject: [PATCH 04/28] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 4be566fc..b61b97d4 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-73fc7f59a69be032d1b18e2fff3ed7509e175703332723b27aac50e2514ca854.yml
-openapi_spec_hash: a22051c017a4822ef689585896659675
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4faa59941f5c5148c27e55107a476897728c7df5031cedb4b4a779b9de83d16f.yml
+openapi_spec_hash: 978d812a4c31ac79af45e0fc029ec647
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
From a83a98e73429e9c12fc679e429cd350498276f2f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 1 Dec 2025 18:49:47 +0000
Subject: [PATCH 05/28] feat: Add metadata field to request and response
---
.stats.yml | 4 ++--
.../resources/responses/responses.py | 12 +++++++++++-
.../types/response_create_params.py | 2 ++
.../types/response_list_response.py | 2 ++
src/llama_stack_client/types/response_object.py | 2 ++
tests/api_resources/test_responses.py | 4 ++++
6 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index b61b97d4..e4f07462 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4faa59941f5c5148c27e55107a476897728c7df5031cedb4b4a779b9de83d16f.yml
-openapi_spec_hash: 978d812a4c31ac79af45e0fc029ec647
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4ea81517e66f9dffe1f552b1d56fd745fd24dbf5523d2306fee7e19b96a86885.yml
+openapi_spec_hash: a30ec4b7a5399cb164fb818152a41b58
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/responses/responses.py b/src/llama_stack_client/resources/responses/responses.py
index a008ea0f..43307540 100644
--- a/src/llama_stack_client/resources/responses/responses.py
+++ b/src/llama_stack_client/resources/responses/responses.py
@@ -8,7 +8,7 @@
from __future__ import annotations
-from typing import Union, Iterable, Optional
+from typing import Dict, Union, Iterable, Optional
from typing_extensions import Literal, overload
import httpx
@@ -83,6 +83,7 @@ def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -133,6 +134,7 @@ def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -182,6 +184,7 @@ def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -230,6 +233,7 @@ def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -256,6 +260,7 @@ def create(
"instructions": instructions,
"max_infer_iters": max_infer_iters,
"max_tool_calls": max_tool_calls,
+ "metadata": metadata,
"parallel_tool_calls": parallel_tool_calls,
"previous_response_id": previous_response_id,
"prompt": prompt,
@@ -433,6 +438,7 @@ async def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -483,6 +489,7 @@ async def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -532,6 +539,7 @@ async def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -580,6 +588,7 @@ async def create(
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
+ metadata: Optional[Dict[str, str]] | Omit = omit,
parallel_tool_calls: Optional[bool] | Omit = omit,
previous_response_id: Optional[str] | Omit = omit,
prompt: Optional[response_create_params.Prompt] | Omit = omit,
@@ -606,6 +615,7 @@ async def create(
"instructions": instructions,
"max_infer_iters": max_infer_iters,
"max_tool_calls": max_tool_calls,
+ "metadata": metadata,
"parallel_tool_calls": parallel_tool_calls,
"previous_response_id": previous_response_id,
"prompt": prompt,
diff --git a/src/llama_stack_client/types/response_create_params.py b/src/llama_stack_client/types/response_create_params.py
index b9adbffe..b4d14fda 100644
--- a/src/llama_stack_client/types/response_create_params.py
+++ b/src/llama_stack_client/types/response_create_params.py
@@ -76,6 +76,8 @@ class ResponseCreateParamsBase(TypedDict, total=False):
max_tool_calls: Optional[int]
+ metadata: Optional[Dict[str, str]]
+
parallel_tool_calls: Optional[bool]
previous_response_id: Optional[str]
diff --git a/src/llama_stack_client/types/response_list_response.py b/src/llama_stack_client/types/response_list_response.py
index 13317264..88508576 100644
--- a/src/llama_stack_client/types/response_list_response.py
+++ b/src/llama_stack_client/types/response_list_response.py
@@ -812,6 +812,8 @@ class ResponseListResponse(BaseModel):
max_tool_calls: Optional[int] = None
+ metadata: Optional[Dict[str, str]] = None
+
object: Optional[Literal["response"]] = None
parallel_tool_calls: Optional[bool] = None
diff --git a/src/llama_stack_client/types/response_object.py b/src/llama_stack_client/types/response_object.py
index 3f189577..38b6f0f3 100644
--- a/src/llama_stack_client/types/response_object.py
+++ b/src/llama_stack_client/types/response_object.py
@@ -508,6 +508,8 @@ def output_text(self) -> str:
max_tool_calls: Optional[int] = None
+ metadata: Optional[Dict[str, str]] = None
+
object: Optional[Literal["response"]] = None
parallel_tool_calls: Optional[bool] = None
diff --git a/tests/api_resources/test_responses.py b/tests/api_resources/test_responses.py
index 53ad1282..b2a832db 100644
--- a/tests/api_resources/test_responses.py
+++ b/tests/api_resources/test_responses.py
@@ -46,6 +46,7 @@ def test_method_create_with_all_params_overload_1(self, client: LlamaStackClient
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
+ metadata={"foo": "string"},
parallel_tool_calls=True,
previous_response_id="previous_response_id",
prompt={
@@ -125,6 +126,7 @@ def test_method_create_with_all_params_overload_2(self, client: LlamaStackClient
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
+ metadata={"foo": "string"},
parallel_tool_calls=True,
previous_response_id="previous_response_id",
prompt={
@@ -319,6 +321,7 @@ async def test_method_create_with_all_params_overload_1(self, async_client: Asyn
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
+ metadata={"foo": "string"},
parallel_tool_calls=True,
previous_response_id="previous_response_id",
prompt={
@@ -398,6 +401,7 @@ async def test_method_create_with_all_params_overload_2(self, async_client: Asyn
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
+ metadata={"foo": "string"},
parallel_tool_calls=True,
previous_response_id="previous_response_id",
prompt={
From d5cef5ae52db0f4d4ccffb36d4c69e39182af91b Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 1 Dec 2025 19:45:28 +0000
Subject: [PATCH 06/28] feat(api): deprecate `toolgroup` and `tool_runtime`
apis
---
.stats.yml | 4 +-
.../resources/tool_runtime.py | 53 ++++--
.../resources/toolgroups.py | 52 ++++--
src/llama_stack_client/resources/tools.py | 53 ++++--
tests/api_resources/test_tool_runtime.py | 158 ++++++++++--------
tests/api_resources/test_toolgroups.py | 114 +++++++------
tests/api_resources/test_tools.py | 132 +++++++++------
7 files changed, 348 insertions(+), 218 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index e4f07462..a2a4cecf 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4ea81517e66f9dffe1f552b1d56fd745fd24dbf5523d2306fee7e19b96a86885.yml
-openapi_spec_hash: a30ec4b7a5399cb164fb818152a41b58
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-c53a119bf22adab585059b5426b8e4a5d9582783bce071ad600c22ab0ebc6578.yml
+openapi_spec_hash: c55f186ff8688e7ccca399cc7b4a87a0
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/tool_runtime.py b/src/llama_stack_client/resources/tool_runtime.py
index cd510071..9f78ed23 100644
--- a/src/llama_stack_client/resources/tool_runtime.py
+++ b/src/llama_stack_client/resources/tool_runtime.py
@@ -8,6 +8,7 @@
from __future__ import annotations
+import typing_extensions
from typing import Dict, Type, Optional, cast
import httpx
@@ -51,6 +52,7 @@ def with_streaming_response(self) -> ToolRuntimeResourceWithStreamingResponse:
"""
return ToolRuntimeResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
def invoke_tool(
self,
*,
@@ -92,6 +94,7 @@ def invoke_tool(
cast_to=ToolInvocationResult,
)
+ @typing_extensions.deprecated("deprecated")
def list_tools(
self,
*,
@@ -160,6 +163,7 @@ def with_streaming_response(self) -> AsyncToolRuntimeResourceWithStreamingRespon
"""
return AsyncToolRuntimeResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
async def invoke_tool(
self,
*,
@@ -201,6 +205,7 @@ async def invoke_tool(
cast_to=ToolInvocationResult,
)
+ @typing_extensions.deprecated("deprecated")
async def list_tools(
self,
*,
@@ -253,11 +258,15 @@ class ToolRuntimeResourceWithRawResponse:
def __init__(self, tool_runtime: ToolRuntimeResource) -> None:
self._tool_runtime = tool_runtime
- self.invoke_tool = to_raw_response_wrapper(
- tool_runtime.invoke_tool,
+ self.invoke_tool = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ tool_runtime.invoke_tool, # pyright: ignore[reportDeprecated],
+ )
)
- self.list_tools = to_raw_response_wrapper(
- tool_runtime.list_tools,
+ self.list_tools = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ tool_runtime.list_tools, # pyright: ignore[reportDeprecated],
+ )
)
@@ -265,11 +274,15 @@ class AsyncToolRuntimeResourceWithRawResponse:
def __init__(self, tool_runtime: AsyncToolRuntimeResource) -> None:
self._tool_runtime = tool_runtime
- self.invoke_tool = async_to_raw_response_wrapper(
- tool_runtime.invoke_tool,
+ self.invoke_tool = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ tool_runtime.invoke_tool, # pyright: ignore[reportDeprecated],
+ )
)
- self.list_tools = async_to_raw_response_wrapper(
- tool_runtime.list_tools,
+ self.list_tools = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ tool_runtime.list_tools, # pyright: ignore[reportDeprecated],
+ )
)
@@ -277,11 +290,15 @@ class ToolRuntimeResourceWithStreamingResponse:
def __init__(self, tool_runtime: ToolRuntimeResource) -> None:
self._tool_runtime = tool_runtime
- self.invoke_tool = to_streamed_response_wrapper(
- tool_runtime.invoke_tool,
+ self.invoke_tool = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ tool_runtime.invoke_tool, # pyright: ignore[reportDeprecated],
+ )
)
- self.list_tools = to_streamed_response_wrapper(
- tool_runtime.list_tools,
+ self.list_tools = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ tool_runtime.list_tools, # pyright: ignore[reportDeprecated],
+ )
)
@@ -289,9 +306,13 @@ class AsyncToolRuntimeResourceWithStreamingResponse:
def __init__(self, tool_runtime: AsyncToolRuntimeResource) -> None:
self._tool_runtime = tool_runtime
- self.invoke_tool = async_to_streamed_response_wrapper(
- tool_runtime.invoke_tool,
+ self.invoke_tool = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ tool_runtime.invoke_tool, # pyright: ignore[reportDeprecated],
+ )
)
- self.list_tools = async_to_streamed_response_wrapper(
- tool_runtime.list_tools,
+ self.list_tools = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ tool_runtime.list_tools, # pyright: ignore[reportDeprecated],
+ )
)
diff --git a/src/llama_stack_client/resources/toolgroups.py b/src/llama_stack_client/resources/toolgroups.py
index 14a7a0bd..1f399cf7 100644
--- a/src/llama_stack_client/resources/toolgroups.py
+++ b/src/llama_stack_client/resources/toolgroups.py
@@ -52,6 +52,7 @@ def with_streaming_response(self) -> ToolgroupsResourceWithStreamingResponse:
"""
return ToolgroupsResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
def list(
self,
*,
@@ -75,6 +76,7 @@ def list(
cast_to=cast(Type[ToolgroupListResponse], DataWrapper[ToolgroupListResponse]),
)
+ @typing_extensions.deprecated("deprecated")
def get(
self,
toolgroup_id: str,
@@ -211,6 +213,7 @@ def with_streaming_response(self) -> AsyncToolgroupsResourceWithStreamingRespons
"""
return AsyncToolgroupsResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
async def list(
self,
*,
@@ -234,6 +237,7 @@ async def list(
cast_to=cast(Type[ToolgroupListResponse], DataWrapper[ToolgroupListResponse]),
)
+ @typing_extensions.deprecated("deprecated")
async def get(
self,
toolgroup_id: str,
@@ -354,11 +358,15 @@ class ToolgroupsResourceWithRawResponse:
def __init__(self, toolgroups: ToolgroupsResource) -> None:
self._toolgroups = toolgroups
- self.list = to_raw_response_wrapper(
- toolgroups.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ toolgroups.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = to_raw_response_wrapper(
- toolgroups.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ toolgroups.get, # pyright: ignore[reportDeprecated],
+ )
)
self.register = ( # pyright: ignore[reportDeprecated]
to_raw_response_wrapper(
@@ -376,11 +384,15 @@ class AsyncToolgroupsResourceWithRawResponse:
def __init__(self, toolgroups: AsyncToolgroupsResource) -> None:
self._toolgroups = toolgroups
- self.list = async_to_raw_response_wrapper(
- toolgroups.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ toolgroups.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = async_to_raw_response_wrapper(
- toolgroups.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ toolgroups.get, # pyright: ignore[reportDeprecated],
+ )
)
self.register = ( # pyright: ignore[reportDeprecated]
async_to_raw_response_wrapper(
@@ -398,11 +410,15 @@ class ToolgroupsResourceWithStreamingResponse:
def __init__(self, toolgroups: ToolgroupsResource) -> None:
self._toolgroups = toolgroups
- self.list = to_streamed_response_wrapper(
- toolgroups.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ toolgroups.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = to_streamed_response_wrapper(
- toolgroups.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ toolgroups.get, # pyright: ignore[reportDeprecated],
+ )
)
self.register = ( # pyright: ignore[reportDeprecated]
to_streamed_response_wrapper(
@@ -420,11 +436,15 @@ class AsyncToolgroupsResourceWithStreamingResponse:
def __init__(self, toolgroups: AsyncToolgroupsResource) -> None:
self._toolgroups = toolgroups
- self.list = async_to_streamed_response_wrapper(
- toolgroups.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ toolgroups.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = async_to_streamed_response_wrapper(
- toolgroups.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ toolgroups.get, # pyright: ignore[reportDeprecated],
+ )
)
self.register = ( # pyright: ignore[reportDeprecated]
async_to_streamed_response_wrapper(
diff --git a/src/llama_stack_client/resources/tools.py b/src/llama_stack_client/resources/tools.py
index 9da425b7..00a3be6b 100644
--- a/src/llama_stack_client/resources/tools.py
+++ b/src/llama_stack_client/resources/tools.py
@@ -8,6 +8,7 @@
from __future__ import annotations
+import typing_extensions
from typing import Type, Optional, cast
import httpx
@@ -51,6 +52,7 @@ def with_streaming_response(self) -> ToolsResourceWithStreamingResponse:
"""
return ToolsResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
def list(
self,
*,
@@ -87,6 +89,7 @@ def list(
cast_to=cast(Type[ToolListResponse], DataWrapper[ToolListResponse]),
)
+ @typing_extensions.deprecated("deprecated")
def get(
self,
tool_name: str,
@@ -141,6 +144,7 @@ def with_streaming_response(self) -> AsyncToolsResourceWithStreamingResponse:
"""
return AsyncToolsResourceWithStreamingResponse(self)
+ @typing_extensions.deprecated("deprecated")
async def list(
self,
*,
@@ -177,6 +181,7 @@ async def list(
cast_to=cast(Type[ToolListResponse], DataWrapper[ToolListResponse]),
)
+ @typing_extensions.deprecated("deprecated")
async def get(
self,
tool_name: str,
@@ -215,11 +220,15 @@ class ToolsResourceWithRawResponse:
def __init__(self, tools: ToolsResource) -> None:
self._tools = tools
- self.list = to_raw_response_wrapper(
- tools.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ tools.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = to_raw_response_wrapper(
- tools.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ to_raw_response_wrapper(
+ tools.get, # pyright: ignore[reportDeprecated],
+ )
)
@@ -227,11 +236,15 @@ class AsyncToolsResourceWithRawResponse:
def __init__(self, tools: AsyncToolsResource) -> None:
self._tools = tools
- self.list = async_to_raw_response_wrapper(
- tools.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ tools.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = async_to_raw_response_wrapper(
- tools.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ async_to_raw_response_wrapper(
+ tools.get, # pyright: ignore[reportDeprecated],
+ )
)
@@ -239,11 +252,15 @@ class ToolsResourceWithStreamingResponse:
def __init__(self, tools: ToolsResource) -> None:
self._tools = tools
- self.list = to_streamed_response_wrapper(
- tools.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ tools.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = to_streamed_response_wrapper(
- tools.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ to_streamed_response_wrapper(
+ tools.get, # pyright: ignore[reportDeprecated],
+ )
)
@@ -251,9 +268,13 @@ class AsyncToolsResourceWithStreamingResponse:
def __init__(self, tools: AsyncToolsResource) -> None:
self._tools = tools
- self.list = async_to_streamed_response_wrapper(
- tools.list,
+ self.list = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ tools.list, # pyright: ignore[reportDeprecated],
+ )
)
- self.get = async_to_streamed_response_wrapper(
- tools.get,
+ self.get = ( # pyright: ignore[reportDeprecated]
+ async_to_streamed_response_wrapper(
+ tools.get, # pyright: ignore[reportDeprecated],
+ )
)
diff --git a/tests/api_resources/test_tool_runtime.py b/tests/api_resources/test_tool_runtime.py
index a30c46e3..0e8be87b 100644
--- a/tests/api_resources/test_tool_runtime.py
+++ b/tests/api_resources/test_tool_runtime.py
@@ -20,6 +20,8 @@
ToolRuntimeListToolsResponse,
)
+# pyright: reportDeprecated=false
+
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -28,27 +30,32 @@ class TestToolRuntime:
@parametrize
def test_method_invoke_tool(self, client: LlamaStackClient) -> None:
- tool_runtime = client.tool_runtime.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = client.tool_runtime.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ )
+
assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
@parametrize
def test_method_invoke_tool_with_all_params(self, client: LlamaStackClient) -> None:
- tool_runtime = client.tool_runtime.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- authorization="authorization",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = client.tool_runtime.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ authorization="authorization",
+ )
+
assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
@parametrize
def test_raw_response_invoke_tool(self, client: LlamaStackClient) -> None:
- response = client.tool_runtime.with_raw_response.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ response = client.tool_runtime.with_raw_response.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -57,35 +64,41 @@ def test_raw_response_invoke_tool(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_invoke_tool(self, client: LlamaStackClient) -> None:
- with client.tool_runtime.with_streaming_response.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.tool_runtime.with_streaming_response.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool_runtime = response.parse()
- assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
+ tool_runtime = response.parse()
+ assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
def test_method_list_tools(self, client: LlamaStackClient) -> None:
- tool_runtime = client.tool_runtime.list_tools()
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = client.tool_runtime.list_tools()
+
assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
@parametrize
def test_method_list_tools_with_all_params(self, client: LlamaStackClient) -> None:
- tool_runtime = client.tool_runtime.list_tools(
- authorization="authorization",
- mcp_endpoint={"uri": "uri"},
- tool_group_id="tool_group_id",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = client.tool_runtime.list_tools(
+ authorization="authorization",
+ mcp_endpoint={"uri": "uri"},
+ tool_group_id="tool_group_id",
+ )
+
assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
@parametrize
def test_raw_response_list_tools(self, client: LlamaStackClient) -> None:
- response = client.tool_runtime.with_raw_response.list_tools()
+ with pytest.warns(DeprecationWarning):
+ response = client.tool_runtime.with_raw_response.list_tools()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -94,12 +107,13 @@ def test_raw_response_list_tools(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_list_tools(self, client: LlamaStackClient) -> None:
- with client.tool_runtime.with_streaming_response.list_tools() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.tool_runtime.with_streaming_response.list_tools() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool_runtime = response.parse()
- assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
+ tool_runtime = response.parse()
+ assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -111,27 +125,32 @@ class TestAsyncToolRuntime:
@parametrize
async def test_method_invoke_tool(self, async_client: AsyncLlamaStackClient) -> None:
- tool_runtime = await async_client.tool_runtime.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = await async_client.tool_runtime.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ )
+
assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
@parametrize
async def test_method_invoke_tool_with_all_params(self, async_client: AsyncLlamaStackClient) -> None:
- tool_runtime = await async_client.tool_runtime.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- authorization="authorization",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = await async_client.tool_runtime.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ authorization="authorization",
+ )
+
assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
@parametrize
async def test_raw_response_invoke_tool(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.tool_runtime.with_raw_response.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.tool_runtime.with_raw_response.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -140,35 +159,41 @@ async def test_raw_response_invoke_tool(self, async_client: AsyncLlamaStackClien
@parametrize
async def test_streaming_response_invoke_tool(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.tool_runtime.with_streaming_response.invoke_tool(
- kwargs={"foo": "bar"},
- tool_name="tool_name",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.tool_runtime.with_streaming_response.invoke_tool(
+ kwargs={"foo": "bar"},
+ tool_name="tool_name",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool_runtime = await response.parse()
- assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
+ tool_runtime = await response.parse()
+ assert_matches_type(ToolInvocationResult, tool_runtime, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
async def test_method_list_tools(self, async_client: AsyncLlamaStackClient) -> None:
- tool_runtime = await async_client.tool_runtime.list_tools()
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = await async_client.tool_runtime.list_tools()
+
assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
@parametrize
async def test_method_list_tools_with_all_params(self, async_client: AsyncLlamaStackClient) -> None:
- tool_runtime = await async_client.tool_runtime.list_tools(
- authorization="authorization",
- mcp_endpoint={"uri": "uri"},
- tool_group_id="tool_group_id",
- )
+ with pytest.warns(DeprecationWarning):
+ tool_runtime = await async_client.tool_runtime.list_tools(
+ authorization="authorization",
+ mcp_endpoint={"uri": "uri"},
+ tool_group_id="tool_group_id",
+ )
+
assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
@parametrize
async def test_raw_response_list_tools(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.tool_runtime.with_raw_response.list_tools()
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.tool_runtime.with_raw_response.list_tools()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -177,11 +202,12 @@ async def test_raw_response_list_tools(self, async_client: AsyncLlamaStackClient
@parametrize
async def test_streaming_response_list_tools(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.tool_runtime.with_streaming_response.list_tools() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.tool_runtime.with_streaming_response.list_tools() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool_runtime = await response.parse()
- assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
+ tool_runtime = await response.parse()
+ assert_matches_type(ToolRuntimeListToolsResponse, tool_runtime, path=["response"])
assert cast(Any, response.is_closed) is True
diff --git a/tests/api_resources/test_toolgroups.py b/tests/api_resources/test_toolgroups.py
index 3b0ddad9..f5a3eafd 100644
--- a/tests/api_resources/test_toolgroups.py
+++ b/tests/api_resources/test_toolgroups.py
@@ -27,12 +27,15 @@ class TestToolgroups:
@parametrize
def test_method_list(self, client: LlamaStackClient) -> None:
- toolgroup = client.toolgroups.list()
+ with pytest.warns(DeprecationWarning):
+ toolgroup = client.toolgroups.list()
+
assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
@parametrize
def test_raw_response_list(self, client: LlamaStackClient) -> None:
- response = client.toolgroups.with_raw_response.list()
+ with pytest.warns(DeprecationWarning):
+ response = client.toolgroups.with_raw_response.list()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -41,27 +44,31 @@ def test_raw_response_list(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_list(self, client: LlamaStackClient) -> None:
- with client.toolgroups.with_streaming_response.list() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.toolgroups.with_streaming_response.list() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- toolgroup = response.parse()
- assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
+ toolgroup = response.parse()
+ assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
def test_method_get(self, client: LlamaStackClient) -> None:
- toolgroup = client.toolgroups.get(
- "toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ toolgroup = client.toolgroups.get(
+ "toolgroup_id",
+ )
+
assert_matches_type(ToolGroup, toolgroup, path=["response"])
@parametrize
def test_raw_response_get(self, client: LlamaStackClient) -> None:
- response = client.toolgroups.with_raw_response.get(
- "toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ response = client.toolgroups.with_raw_response.get(
+ "toolgroup_id",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -70,23 +77,25 @@ def test_raw_response_get(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_get(self, client: LlamaStackClient) -> None:
- with client.toolgroups.with_streaming_response.get(
- "toolgroup_id",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.toolgroups.with_streaming_response.get(
+ "toolgroup_id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- toolgroup = response.parse()
- assert_matches_type(ToolGroup, toolgroup, path=["response"])
+ toolgroup = response.parse()
+ assert_matches_type(ToolGroup, toolgroup, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
def test_path_params_get(self, client: LlamaStackClient) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `toolgroup_id` but received ''"):
- client.toolgroups.with_raw_response.get(
- "",
- )
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `toolgroup_id` but received ''"):
+ client.toolgroups.with_raw_response.get(
+ "",
+ )
@parametrize
def test_method_register(self, client: LlamaStackClient) -> None:
@@ -189,12 +198,15 @@ class TestAsyncToolgroups:
@parametrize
async def test_method_list(self, async_client: AsyncLlamaStackClient) -> None:
- toolgroup = await async_client.toolgroups.list()
+ with pytest.warns(DeprecationWarning):
+ toolgroup = await async_client.toolgroups.list()
+
assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
@parametrize
async def test_raw_response_list(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.toolgroups.with_raw_response.list()
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.toolgroups.with_raw_response.list()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -203,27 +215,31 @@ async def test_raw_response_list(self, async_client: AsyncLlamaStackClient) -> N
@parametrize
async def test_streaming_response_list(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.toolgroups.with_streaming_response.list() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.toolgroups.with_streaming_response.list() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- toolgroup = await response.parse()
- assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
+ toolgroup = await response.parse()
+ assert_matches_type(ToolgroupListResponse, toolgroup, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
async def test_method_get(self, async_client: AsyncLlamaStackClient) -> None:
- toolgroup = await async_client.toolgroups.get(
- "toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ toolgroup = await async_client.toolgroups.get(
+ "toolgroup_id",
+ )
+
assert_matches_type(ToolGroup, toolgroup, path=["response"])
@parametrize
async def test_raw_response_get(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.toolgroups.with_raw_response.get(
- "toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.toolgroups.with_raw_response.get(
+ "toolgroup_id",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -232,23 +248,25 @@ async def test_raw_response_get(self, async_client: AsyncLlamaStackClient) -> No
@parametrize
async def test_streaming_response_get(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.toolgroups.with_streaming_response.get(
- "toolgroup_id",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.toolgroups.with_streaming_response.get(
+ "toolgroup_id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- toolgroup = await response.parse()
- assert_matches_type(ToolGroup, toolgroup, path=["response"])
+ toolgroup = await response.parse()
+ assert_matches_type(ToolGroup, toolgroup, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
async def test_path_params_get(self, async_client: AsyncLlamaStackClient) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `toolgroup_id` but received ''"):
- await async_client.toolgroups.with_raw_response.get(
- "",
- )
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `toolgroup_id` but received ''"):
+ await async_client.toolgroups.with_raw_response.get(
+ "",
+ )
@parametrize
async def test_method_register(self, async_client: AsyncLlamaStackClient) -> None:
diff --git a/tests/api_resources/test_tools.py b/tests/api_resources/test_tools.py
index 3a8497cf..5a8dfdc2 100644
--- a/tests/api_resources/test_tools.py
+++ b/tests/api_resources/test_tools.py
@@ -17,6 +17,8 @@
from llama_stack_client import LlamaStackClient, AsyncLlamaStackClient
from llama_stack_client.types import ToolDef, ToolListResponse
+# pyright: reportDeprecated=false
+
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -25,19 +27,24 @@ class TestTools:
@parametrize
def test_method_list(self, client: LlamaStackClient) -> None:
- tool = client.tools.list()
+ with pytest.warns(DeprecationWarning):
+ tool = client.tools.list()
+
assert_matches_type(ToolListResponse, tool, path=["response"])
@parametrize
def test_method_list_with_all_params(self, client: LlamaStackClient) -> None:
- tool = client.tools.list(
- toolgroup_id="toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ tool = client.tools.list(
+ toolgroup_id="toolgroup_id",
+ )
+
assert_matches_type(ToolListResponse, tool, path=["response"])
@parametrize
def test_raw_response_list(self, client: LlamaStackClient) -> None:
- response = client.tools.with_raw_response.list()
+ with pytest.warns(DeprecationWarning):
+ response = client.tools.with_raw_response.list()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -46,27 +53,31 @@ def test_raw_response_list(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_list(self, client: LlamaStackClient) -> None:
- with client.tools.with_streaming_response.list() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.tools.with_streaming_response.list() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool = response.parse()
- assert_matches_type(ToolListResponse, tool, path=["response"])
+ tool = response.parse()
+ assert_matches_type(ToolListResponse, tool, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
def test_method_get(self, client: LlamaStackClient) -> None:
- tool = client.tools.get(
- "tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ tool = client.tools.get(
+ "tool_name",
+ )
+
assert_matches_type(ToolDef, tool, path=["response"])
@parametrize
def test_raw_response_get(self, client: LlamaStackClient) -> None:
- response = client.tools.with_raw_response.get(
- "tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ response = client.tools.with_raw_response.get(
+ "tool_name",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -75,23 +86,25 @@ def test_raw_response_get(self, client: LlamaStackClient) -> None:
@parametrize
def test_streaming_response_get(self, client: LlamaStackClient) -> None:
- with client.tools.with_streaming_response.get(
- "tool_name",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ with client.tools.with_streaming_response.get(
+ "tool_name",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool = response.parse()
- assert_matches_type(ToolDef, tool, path=["response"])
+ tool = response.parse()
+ assert_matches_type(ToolDef, tool, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
def test_path_params_get(self, client: LlamaStackClient) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tool_name` but received ''"):
- client.tools.with_raw_response.get(
- "",
- )
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `tool_name` but received ''"):
+ client.tools.with_raw_response.get(
+ "",
+ )
class TestAsyncTools:
@@ -101,19 +114,24 @@ class TestAsyncTools:
@parametrize
async def test_method_list(self, async_client: AsyncLlamaStackClient) -> None:
- tool = await async_client.tools.list()
+ with pytest.warns(DeprecationWarning):
+ tool = await async_client.tools.list()
+
assert_matches_type(ToolListResponse, tool, path=["response"])
@parametrize
async def test_method_list_with_all_params(self, async_client: AsyncLlamaStackClient) -> None:
- tool = await async_client.tools.list(
- toolgroup_id="toolgroup_id",
- )
+ with pytest.warns(DeprecationWarning):
+ tool = await async_client.tools.list(
+ toolgroup_id="toolgroup_id",
+ )
+
assert_matches_type(ToolListResponse, tool, path=["response"])
@parametrize
async def test_raw_response_list(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.tools.with_raw_response.list()
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.tools.with_raw_response.list()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -122,27 +140,31 @@ async def test_raw_response_list(self, async_client: AsyncLlamaStackClient) -> N
@parametrize
async def test_streaming_response_list(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.tools.with_streaming_response.list() as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.tools.with_streaming_response.list() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool = await response.parse()
- assert_matches_type(ToolListResponse, tool, path=["response"])
+ tool = await response.parse()
+ assert_matches_type(ToolListResponse, tool, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
async def test_method_get(self, async_client: AsyncLlamaStackClient) -> None:
- tool = await async_client.tools.get(
- "tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ tool = await async_client.tools.get(
+ "tool_name",
+ )
+
assert_matches_type(ToolDef, tool, path=["response"])
@parametrize
async def test_raw_response_get(self, async_client: AsyncLlamaStackClient) -> None:
- response = await async_client.tools.with_raw_response.get(
- "tool_name",
- )
+ with pytest.warns(DeprecationWarning):
+ response = await async_client.tools.with_raw_response.get(
+ "tool_name",
+ )
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -151,20 +173,22 @@ async def test_raw_response_get(self, async_client: AsyncLlamaStackClient) -> No
@parametrize
async def test_streaming_response_get(self, async_client: AsyncLlamaStackClient) -> None:
- async with async_client.tools.with_streaming_response.get(
- "tool_name",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ with pytest.warns(DeprecationWarning):
+ async with async_client.tools.with_streaming_response.get(
+ "tool_name",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- tool = await response.parse()
- assert_matches_type(ToolDef, tool, path=["response"])
+ tool = await response.parse()
+ assert_matches_type(ToolDef, tool, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
async def test_path_params_get(self, async_client: AsyncLlamaStackClient) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `tool_name` but received ''"):
- await async_client.tools.with_raw_response.get(
- "",
- )
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `tool_name` but received ''"):
+ await async_client.tools.with_raw_response.get(
+ "",
+ )
From 2a1523b450a8e66ce2e16f20a5b73f821144748a Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 2 Dec 2025 07:23:08 +0000
Subject: [PATCH 07/28] chore: bump required `uv` version
---
.github/workflows/ci.yml | 6 +++---
.github/workflows/publish-pypi.yml | 2 +-
pyproject.toml | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 925bade2..25182722 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -25,7 +25,7 @@ jobs:
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
- version: '0.8.11'
+ version: '0.9.13'
- name: Install dependencies
run: uv sync --all-extras
@@ -47,7 +47,7 @@ jobs:
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
- version: '0.8.11'
+ version: '0.9.13'
- name: Install dependencies
run: uv sync --all-extras
@@ -81,7 +81,7 @@ jobs:
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
- version: '0.8.11'
+ version: '0.9.13'
- name: Bootstrap
run: ./scripts/bootstrap
diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml
index ae87025b..37916c7b 100644
--- a/.github/workflows/publish-pypi.yml
+++ b/.github/workflows/publish-pypi.yml
@@ -19,7 +19,7 @@ jobs:
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
- version: '0.8.11'
+ version: '0.9.13'
- name: Publish to PyPI
run: |
diff --git a/pyproject.toml b/pyproject.toml
index 667d3b66..4055b7e9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -46,7 +46,7 @@ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
[tool.uv]
managed = true
-required-version = ">=0.5.0"
+required-version = ">=0.9"
conflicts = [
[
{ group = "pydantic-v1" },
From de67c1ebd3abbdc111dfbd979e1ecb655cff25e7 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 3 Dec 2025 07:08:08 +0000
Subject: [PATCH 08/28] chore: update lockfile
---
pyproject.toml | 12 +++++-----
requirements-dev.lock | 8 +++----
uv.lock | 51 +++++++++++++++++++++----------------------
3 files changed, 35 insertions(+), 36 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 4055b7e9..20d4d99d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -5,13 +5,14 @@ description = "The official Python library for the llama-stack-client API"
dynamic = ["readme"]
license = "MIT"
authors = [{ name = "Meta Llama", email = "llama-oss@meta.com" }]
+
dependencies = [
- "httpx>=0.23.0, <1",
- "pydantic>=1.9.0, <3",
+ "httpx>=0.23.0, <1",
+ "pydantic>=1.9.0, <3",
"typing-extensions>=4.7, <5",
- "anyio>=3.5.0, <5",
- "distro>=1.7.0, <2",
- "sniffio",
+ "anyio>=3.5.0, <5",
+ "distro>=1.7.0, <2",
+ "sniffio",
"tqdm",
"rich",
"click",
@@ -22,6 +23,7 @@ dependencies = [
"fire",
"requests",
]
+
requires-python = ">= 3.12"
classifiers = [
"Typing :: Typed",
diff --git a/requirements-dev.lock b/requirements-dev.lock
index 534bd7df..0efcf0cb 100644
--- a/requirements-dev.lock
+++ b/requirements-dev.lock
@@ -3,7 +3,7 @@
-e .
annotated-types==0.7.0
# via pydantic
-anyio==4.11.0
+anyio==4.12.0
# via
# httpx
# llama-stack-client
@@ -121,13 +121,11 @@ requests==2.32.5
respx==0.22.0
rich==14.2.0
# via llama-stack-client
-ruff==0.14.6
+ruff==0.14.7
six==1.17.0
# via python-dateutil
sniffio==1.3.1
- # via
- # anyio
- # llama-stack-client
+ # via llama-stack-client
termcolor==3.2.0
# via
# fire
diff --git a/uv.lock b/uv.lock
index 3c205e14..5d6855c5 100644
--- a/uv.lock
+++ b/uv.lock
@@ -130,16 +130,15 @@ wheels = [
[[package]]
name = "anyio"
-version = "4.11.0"
+version = "4.12.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "idna" },
- { name = "sniffio" },
{ name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-18-llama-stack-client-pydantic-v1' and extra == 'group-18-llama-stack-client-pydantic-v2')" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", size = 113362, upload-time = "2025-11-28T23:36:57.897Z" },
]
[[package]]
@@ -1343,28 +1342,28 @@ wheels = [
[[package]]
name = "ruff"
-version = "0.14.6"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/52/f0/62b5a1a723fe183650109407fa56abb433b00aa1c0b9ba555f9c4efec2c6/ruff-0.14.6.tar.gz", hash = "sha256:6f0c742ca6a7783a736b867a263b9a7a80a45ce9bee391eeda296895f1b4e1cc", size = 5669501, upload-time = "2025-11-21T14:26:17.903Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/67/d2/7dd544116d107fffb24a0064d41a5d2ed1c9d6372d142f9ba108c8e39207/ruff-0.14.6-py3-none-linux_armv6l.whl", hash = "sha256:d724ac2f1c240dbd01a2ae98db5d1d9a5e1d9e96eba999d1c48e30062df578a3", size = 13326119, upload-time = "2025-11-21T14:25:24.2Z" },
- { url = "https://files.pythonhosted.org/packages/36/6a/ad66d0a3315d6327ed6b01f759d83df3c4d5f86c30462121024361137b6a/ruff-0.14.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9f7539ea257aa4d07b7ce87aed580e485c40143f2473ff2f2b75aee003186004", size = 13526007, upload-time = "2025-11-21T14:25:26.906Z" },
- { url = "https://files.pythonhosted.org/packages/a3/9d/dae6db96df28e0a15dea8e986ee393af70fc97fd57669808728080529c37/ruff-0.14.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7f6007e55b90a2a7e93083ba48a9f23c3158c433591c33ee2e99a49b889c6332", size = 12676572, upload-time = "2025-11-21T14:25:29.826Z" },
- { url = "https://files.pythonhosted.org/packages/76/a4/f319e87759949062cfee1b26245048e92e2acce900ad3a909285f9db1859/ruff-0.14.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a8e7b9d73d8728b68f632aa8e824ef041d068d231d8dbc7808532d3629a6bef", size = 13140745, upload-time = "2025-11-21T14:25:32.788Z" },
- { url = "https://files.pythonhosted.org/packages/95/d3/248c1efc71a0a8ed4e8e10b4b2266845d7dfc7a0ab64354afe049eaa1310/ruff-0.14.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d50d45d4553a3ebcbd33e7c5e0fe6ca4aafd9a9122492de357205c2c48f00775", size = 13076486, upload-time = "2025-11-21T14:25:35.601Z" },
- { url = "https://files.pythonhosted.org/packages/a5/19/b68d4563fe50eba4b8c92aa842149bb56dd24d198389c0ed12e7faff4f7d/ruff-0.14.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:118548dd121f8a21bfa8ab2c5b80e5b4aed67ead4b7567790962554f38e598ce", size = 13727563, upload-time = "2025-11-21T14:25:38.514Z" },
- { url = "https://files.pythonhosted.org/packages/47/ac/943169436832d4b0e867235abbdb57ce3a82367b47e0280fa7b4eabb7593/ruff-0.14.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:57256efafbfefcb8748df9d1d766062f62b20150691021f8ab79e2d919f7c11f", size = 15199755, upload-time = "2025-11-21T14:25:41.516Z" },
- { url = "https://files.pythonhosted.org/packages/c9/b9/288bb2399860a36d4bb0541cb66cce3c0f4156aaff009dc8499be0c24bf2/ruff-0.14.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff18134841e5c68f8e5df1999a64429a02d5549036b394fafbe410f886e1989d", size = 14850608, upload-time = "2025-11-21T14:25:44.428Z" },
- { url = "https://files.pythonhosted.org/packages/ee/b1/a0d549dd4364e240f37e7d2907e97ee80587480d98c7799d2d8dc7a2f605/ruff-0.14.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29c4b7ec1e66a105d5c27bd57fa93203637d66a26d10ca9809dc7fc18ec58440", size = 14118754, upload-time = "2025-11-21T14:25:47.214Z" },
- { url = "https://files.pythonhosted.org/packages/13/ac/9b9fe63716af8bdfddfacd0882bc1586f29985d3b988b3c62ddce2e202c3/ruff-0.14.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:167843a6f78680746d7e226f255d920aeed5e4ad9c03258094a2d49d3028b105", size = 13949214, upload-time = "2025-11-21T14:25:50.002Z" },
- { url = "https://files.pythonhosted.org/packages/12/27/4dad6c6a77fede9560b7df6802b1b697e97e49ceabe1f12baf3ea20862e9/ruff-0.14.6-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:16a33af621c9c523b1ae006b1b99b159bf5ac7e4b1f20b85b2572455018e0821", size = 14106112, upload-time = "2025-11-21T14:25:52.841Z" },
- { url = "https://files.pythonhosted.org/packages/6a/db/23e322d7177873eaedea59a7932ca5084ec5b7e20cb30f341ab594130a71/ruff-0.14.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1432ab6e1ae2dc565a7eea707d3b03a0c234ef401482a6f1621bc1f427c2ff55", size = 13035010, upload-time = "2025-11-21T14:25:55.536Z" },
- { url = "https://files.pythonhosted.org/packages/a8/9c/20e21d4d69dbb35e6a1df7691e02f363423658a20a2afacf2a2c011800dc/ruff-0.14.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4c55cfbbe7abb61eb914bfd20683d14cdfb38a6d56c6c66efa55ec6570ee4e71", size = 13054082, upload-time = "2025-11-21T14:25:58.625Z" },
- { url = "https://files.pythonhosted.org/packages/66/25/906ee6a0464c3125c8d673c589771a974965c2be1a1e28b5c3b96cb6ef88/ruff-0.14.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:efea3c0f21901a685fff4befda6d61a1bf4cb43de16da87e8226a281d614350b", size = 13303354, upload-time = "2025-11-21T14:26:01.816Z" },
- { url = "https://files.pythonhosted.org/packages/4c/58/60577569e198d56922b7ead07b465f559002b7b11d53f40937e95067ca1c/ruff-0.14.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:344d97172576d75dc6afc0e9243376dbe1668559c72de1864439c4fc95f78185", size = 14054487, upload-time = "2025-11-21T14:26:05.058Z" },
- { url = "https://files.pythonhosted.org/packages/67/0b/8e4e0639e4cc12547f41cb771b0b44ec8225b6b6a93393176d75fe6f7d40/ruff-0.14.6-py3-none-win32.whl", hash = "sha256:00169c0c8b85396516fdd9ce3446c7ca20c2a8f90a77aa945ba6b8f2bfe99e85", size = 13013361, upload-time = "2025-11-21T14:26:08.152Z" },
- { url = "https://files.pythonhosted.org/packages/fb/02/82240553b77fd1341f80ebb3eaae43ba011c7a91b4224a9f317d8e6591af/ruff-0.14.6-py3-none-win_amd64.whl", hash = "sha256:390e6480c5e3659f8a4c8d6a0373027820419ac14fa0d2713bd8e6c3e125b8b9", size = 14432087, upload-time = "2025-11-21T14:26:10.891Z" },
- { url = "https://files.pythonhosted.org/packages/a5/1f/93f9b0fad9470e4c829a5bb678da4012f0c710d09331b860ee555216f4ea/ruff-0.14.6-py3-none-win_arm64.whl", hash = "sha256:d43c81fbeae52cfa8728d8766bbf46ee4298c888072105815b392da70ca836b2", size = 13520930, upload-time = "2025-11-21T14:26:13.951Z" },
+version = "0.14.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b7/5b/dd7406afa6c95e3d8fa9d652b6d6dd17dd4a6bf63cb477014e8ccd3dcd46/ruff-0.14.7.tar.gz", hash = "sha256:3417deb75d23bd14a722b57b0a1435561db65f0ad97435b4cf9f85ffcef34ae5", size = 5727324, upload-time = "2025-11-28T20:55:10.525Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8c/b1/7ea5647aaf90106f6d102230e5df874613da43d1089864da1553b899ba5e/ruff-0.14.7-py3-none-linux_armv6l.whl", hash = "sha256:b9d5cb5a176c7236892ad7224bc1e63902e4842c460a0b5210701b13e3de4fca", size = 13414475, upload-time = "2025-11-28T20:54:54.569Z" },
+ { url = "https://files.pythonhosted.org/packages/af/19/fddb4cd532299db9cdaf0efdc20f5c573ce9952a11cb532d3b859d6d9871/ruff-0.14.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3f64fe375aefaf36ca7d7250292141e39b4cea8250427482ae779a2aa5d90015", size = 13634613, upload-time = "2025-11-28T20:55:17.54Z" },
+ { url = "https://files.pythonhosted.org/packages/40/2b/469a66e821d4f3de0440676ed3e04b8e2a1dc7575cf6fa3ba6d55e3c8557/ruff-0.14.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:93e83bd3a9e1a3bda64cb771c0d47cda0e0d148165013ae2d3554d718632d554", size = 12765458, upload-time = "2025-11-28T20:55:26.128Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/05/0b001f734fe550bcfde4ce845948ac620ff908ab7241a39a1b39bb3c5f49/ruff-0.14.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3838948e3facc59a6070795de2ae16e5786861850f78d5914a03f12659e88f94", size = 13236412, upload-time = "2025-11-28T20:55:28.602Z" },
+ { url = "https://files.pythonhosted.org/packages/11/36/8ed15d243f011b4e5da75cd56d6131c6766f55334d14ba31cce5461f28aa/ruff-0.14.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24c8487194d38b6d71cd0fd17a5b6715cda29f59baca1defe1e3a03240f851d1", size = 13182949, upload-time = "2025-11-28T20:55:33.265Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/cf/fcb0b5a195455729834f2a6eadfe2e4519d8ca08c74f6d2b564a4f18f553/ruff-0.14.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79c73db6833f058a4be8ffe4a0913b6d4ad41f6324745179bd2aa09275b01d0b", size = 13816470, upload-time = "2025-11-28T20:55:08.203Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/5d/34a4748577ff7a5ed2f2471456740f02e86d1568a18c9faccfc73bd9ca3f/ruff-0.14.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:12eb7014fccff10fc62d15c79d8a6be4d0c2d60fe3f8e4d169a0d2def75f5dad", size = 15289621, upload-time = "2025-11-28T20:55:30.837Z" },
+ { url = "https://files.pythonhosted.org/packages/53/53/0a9385f047a858ba133d96f3f8e3c9c66a31cc7c4b445368ef88ebeac209/ruff-0.14.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c623bbdc902de7ff715a93fa3bb377a4e42dd696937bf95669118773dbf0c50", size = 14975817, upload-time = "2025-11-28T20:55:24.107Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/d7/2f1c32af54c3b46e7fadbf8006d8b9bcfbea535c316b0bd8813d6fb25e5d/ruff-0.14.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f53accc02ed2d200fa621593cdb3c1ae06aa9b2c3cae70bc96f72f0000ae97a9", size = 14284549, upload-time = "2025-11-28T20:55:06.08Z" },
+ { url = "https://files.pythonhosted.org/packages/92/05/434ddd86becd64629c25fb6b4ce7637dd52a45cc4a4415a3008fe61c27b9/ruff-0.14.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:281f0e61a23fcdcffca210591f0f53aafaa15f9025b5b3f9706879aaa8683bc4", size = 14071389, upload-time = "2025-11-28T20:55:35.617Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/50/fdf89d4d80f7f9d4f420d26089a79b3bb1538fe44586b148451bc2ba8d9c/ruff-0.14.7-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:dbbaa5e14148965b91cb090236931182ee522a5fac9bc5575bafc5c07b9f9682", size = 14202679, upload-time = "2025-11-28T20:55:01.472Z" },
+ { url = "https://files.pythonhosted.org/packages/77/54/87b34988984555425ce967f08a36df0ebd339bb5d9d0e92a47e41151eafc/ruff-0.14.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1464b6e54880c0fe2f2d6eaefb6db15373331414eddf89d6b903767ae2458143", size = 13147677, upload-time = "2025-11-28T20:55:19.933Z" },
+ { url = "https://files.pythonhosted.org/packages/67/29/f55e4d44edfe053918a16a3299e758e1c18eef216b7a7092550d7a9ec51c/ruff-0.14.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f217ed871e4621ea6128460df57b19ce0580606c23aeab50f5de425d05226784", size = 13151392, upload-time = "2025-11-28T20:55:21.967Z" },
+ { url = "https://files.pythonhosted.org/packages/36/69/47aae6dbd4f1d9b4f7085f4d9dcc84e04561ee7ad067bf52e0f9b02e3209/ruff-0.14.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6be02e849440ed3602d2eb478ff7ff07d53e3758f7948a2a598829660988619e", size = 13412230, upload-time = "2025-11-28T20:55:12.749Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/4b/6e96cb6ba297f2ba502a231cd732ed7c3de98b1a896671b932a5eefa3804/ruff-0.14.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:19a0f116ee5e2b468dfe80c41c84e2bbd6b74f7b719bee86c2ecde0a34563bcc", size = 14195397, upload-time = "2025-11-28T20:54:56.896Z" },
+ { url = "https://files.pythonhosted.org/packages/69/82/251d5f1aa4dcad30aed491b4657cecd9fb4274214da6960ffec144c260f7/ruff-0.14.7-py3-none-win32.whl", hash = "sha256:e33052c9199b347c8937937163b9b149ef6ab2e4bb37b042e593da2e6f6cccfa", size = 13126751, upload-time = "2025-11-28T20:55:03.47Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/b5/d0b7d145963136b564806f6584647af45ab98946660d399ec4da79cae036/ruff-0.14.7-py3-none-win_amd64.whl", hash = "sha256:e17a20ad0d3fad47a326d773a042b924d3ac31c6ca6deb6c72e9e6b5f661a7c6", size = 14531726, upload-time = "2025-11-28T20:54:59.121Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/d2/1637f4360ada6a368d3265bf39f2cf737a0aaab15ab520fc005903e883f8/ruff-0.14.7-py3-none-win_arm64.whl", hash = "sha256:be4d653d3bea1b19742fcc6502354e32f65cd61ff2fbdb365803ef2c2aec6228", size = 13609215, upload-time = "2025-11-28T20:55:15.375Z" },
]
[[package]]
From 2ca44854928f4360911439690461fa0cfa2db8f9 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 3 Dec 2025 11:26:50 +0000
Subject: [PATCH 09/28] feat: Implement FastAPI router system
---
.stats.yml | 4 +--
src/llama_stack_client/resources/batches.py | 36 +++++++++++++++++++
.../types/batch_create_params.py | 5 +++
.../types/batch_list_params.py | 2 ++
4 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a2a4cecf..e3a47a6f 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-c53a119bf22adab585059b5426b8e4a5d9582783bce071ad600c22ab0ebc6578.yml
-openapi_spec_hash: c55f186ff8688e7ccca399cc7b4a87a0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-418ccf3126ab086a66c822c60204b95ef3192ffa64340bd3a1537ae46b830892.yml
+openapi_spec_hash: 885b75e847506a930b709eb630535912
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/batches.py b/src/llama_stack_client/resources/batches.py
index 0f0a46ae..288a00f7 100644
--- a/src/llama_stack_client/resources/batches.py
+++ b/src/llama_stack_client/resources/batches.py
@@ -73,6 +73,16 @@ def create(
Create a new batch for processing multiple API requests.
Args:
+ completion_window: The time window within which the batch should be processed.
+
+ endpoint: The endpoint to be used for all requests in the batch.
+
+ input_file_id: The ID of an uploaded file containing requests for the batch.
+
+ idempotency_key: Optional idempotency key. When provided, enables idempotent behavior.
+
+ metadata: Optional metadata for the batch.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -114,6 +124,8 @@ def retrieve(
Retrieve information about a specific batch.
Args:
+ batch_id: The ID of the batch to retrieve.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -148,6 +160,10 @@ def list(
List all batches for the current user.
Args:
+ after: Optional cursor for pagination. Returns batches after this ID.
+
+ limit: Maximum number of batches to return. Defaults to 20.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -190,6 +206,8 @@ def cancel(
Cancel a batch that is in progress.
Args:
+ batch_id: The ID of the batch to cancel.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -248,6 +266,16 @@ async def create(
Create a new batch for processing multiple API requests.
Args:
+ completion_window: The time window within which the batch should be processed.
+
+ endpoint: The endpoint to be used for all requests in the batch.
+
+ input_file_id: The ID of an uploaded file containing requests for the batch.
+
+ idempotency_key: Optional idempotency key. When provided, enables idempotent behavior.
+
+ metadata: Optional metadata for the batch.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -289,6 +317,8 @@ async def retrieve(
Retrieve information about a specific batch.
Args:
+ batch_id: The ID of the batch to retrieve.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -323,6 +353,10 @@ def list(
List all batches for the current user.
Args:
+ after: Optional cursor for pagination. Returns batches after this ID.
+
+ limit: Maximum number of batches to return. Defaults to 20.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -365,6 +399,8 @@ async def cancel(
Cancel a batch that is in progress.
Args:
+ batch_id: The ID of the batch to cancel.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/llama_stack_client/types/batch_create_params.py b/src/llama_stack_client/types/batch_create_params.py
index 64ebc841..1e9d0c06 100644
--- a/src/llama_stack_client/types/batch_create_params.py
+++ b/src/llama_stack_client/types/batch_create_params.py
@@ -16,11 +16,16 @@
class BatchCreateParams(TypedDict, total=False):
completion_window: Required[Literal["24h"]]
+ """The time window within which the batch should be processed."""
endpoint: Required[str]
+ """The endpoint to be used for all requests in the batch."""
input_file_id: Required[str]
+ """The ID of an uploaded file containing requests for the batch."""
idempotency_key: Optional[str]
+ """Optional idempotency key. When provided, enables idempotent behavior."""
metadata: Optional[Dict[str, str]]
+ """Optional metadata for the batch."""
diff --git a/src/llama_stack_client/types/batch_list_params.py b/src/llama_stack_client/types/batch_list_params.py
index 78b78ff0..e29a12c1 100644
--- a/src/llama_stack_client/types/batch_list_params.py
+++ b/src/llama_stack_client/types/batch_list_params.py
@@ -16,5 +16,7 @@
class BatchListParams(TypedDict, total=False):
after: Optional[str]
+ """Optional cursor for pagination. Returns batches after this ID."""
limit: int
+ """Maximum number of batches to return. Defaults to 20."""
From dd9455390a84c918ef517a2d1488598c44a9fb40 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 3 Dec 2025 16:49:21 +0000
Subject: [PATCH 10/28] fix(client): fix issue with duplicate definitions in Go
---
.stats.yml | 2 +-
api.md | 7 ++-----
src/llama_stack_client/types/alpha/__init__.py | 1 -
.../types/alpha/post_training/__init__.py | 1 +
.../list_post_training_jobs_response.py | 4 ++--
5 files changed, 6 insertions(+), 9 deletions(-)
rename src/llama_stack_client/types/alpha/{ => post_training}/list_post_training_jobs_response.py (81%)
diff --git a/.stats.yml b/.stats.yml
index e3a47a6f..cf94343b 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-418ccf3126ab086a66c822c60204b95ef3192ffa64340bd3a1537ae46b830892.yml
openapi_spec_hash: 885b75e847506a930b709eb630535912
-config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
+config_hash: 96aa17ff0395152d8d548b1d1e58b613
diff --git a/api.md b/api.md
index c613cdb8..759b2ee8 100644
--- a/api.md
+++ b/api.md
@@ -459,11 +459,7 @@ Methods:
Types:
```python
-from llama_stack_client.types.alpha import (
- AlgorithmConfig,
- ListPostTrainingJobsResponse,
- PostTrainingJob,
-)
+from llama_stack_client.types.alpha import AlgorithmConfig, PostTrainingJob
```
Methods:
@@ -477,6 +473,7 @@ Types:
```python
from llama_stack_client.types.alpha.post_training import (
+ ListPostTrainingJobsResponse,
JobListResponse,
JobArtifactsResponse,
JobStatusResponse,
diff --git a/src/llama_stack_client/types/alpha/__init__.py b/src/llama_stack_client/types/alpha/__init__.py
index 42e0ba8e..e1e0833d 100644
--- a/src/llama_stack_client/types/alpha/__init__.py
+++ b/src/llama_stack_client/types/alpha/__init__.py
@@ -22,7 +22,6 @@
from .inference_rerank_response import InferenceRerankResponse as InferenceRerankResponse
from .eval_run_eval_alpha_params import EvalRunEvalAlphaParams as EvalRunEvalAlphaParams
from .eval_evaluate_rows_alpha_params import EvalEvaluateRowsAlphaParams as EvalEvaluateRowsAlphaParams
-from .list_post_training_jobs_response import ListPostTrainingJobsResponse as ListPostTrainingJobsResponse
from .post_training_preference_optimize_params import (
PostTrainingPreferenceOptimizeParams as PostTrainingPreferenceOptimizeParams,
)
diff --git a/src/llama_stack_client/types/alpha/post_training/__init__.py b/src/llama_stack_client/types/alpha/post_training/__init__.py
index 8b609eaa..f522ffdf 100644
--- a/src/llama_stack_client/types/alpha/post_training/__init__.py
+++ b/src/llama_stack_client/types/alpha/post_training/__init__.py
@@ -14,3 +14,4 @@
from .job_status_response import JobStatusResponse as JobStatusResponse
from .job_artifacts_params import JobArtifactsParams as JobArtifactsParams
from .job_artifacts_response import JobArtifactsResponse as JobArtifactsResponse
+from .list_post_training_jobs_response import ListPostTrainingJobsResponse as ListPostTrainingJobsResponse
diff --git a/src/llama_stack_client/types/alpha/list_post_training_jobs_response.py b/src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py
similarity index 81%
rename from src/llama_stack_client/types/alpha/list_post_training_jobs_response.py
rename to src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py
index 6c87bcd7..cf389748 100644
--- a/src/llama_stack_client/types/alpha/list_post_training_jobs_response.py
+++ b/src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py
@@ -6,8 +6,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from ..._models import BaseModel
-from .post_training.job_list_response import JobListResponse
+from ...._models import BaseModel
+from .job_list_response import JobListResponse
__all__ = ["ListPostTrainingJobsResponse"]
From 36336dd67f3dcaa355b3b4bb99d4e1f6d73b9779 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 22 Dec 2025 17:11:31 +0000
Subject: [PATCH 11/28] chore(internal): avoid using unstable Python versions
in tests
---
scripts/test | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/scripts/test b/scripts/test
index 77ecb8f4..c7925a63 100755
--- a/scripts/test
+++ b/scripts/test
@@ -58,6 +58,11 @@ fi
export DEFER_PYDANTIC_BUILD=false
+# Note that we need to specify the patch version here so that uv
+# won't use unstable (alpha, beta, rc) releases for the tests
+PY_VERSION_MIN=">=3.9.0"
+PY_VERSION_MAX=">=3.14.0"
+
function run_tests() {
echo "==> Running tests with Pydantic v2"
uv run --isolated --all-extras pytest -W ignore::DeprecationWarning "$@"
From 93be5160a0dd1260b728959c29a931b5d7f42fdb Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 9 Dec 2025 05:19:30 +0000
Subject: [PATCH 12/28] fix(types): allow pyright to infer TypedDict types
within SequenceNotStr
---
src/llama_stack_client/_types.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/llama_stack_client/_types.py b/src/llama_stack_client/_types.py
index 1059615e..0dddabb8 100644
--- a/src/llama_stack_client/_types.py
+++ b/src/llama_stack_client/_types.py
@@ -249,6 +249,9 @@ class HttpxSendArgs(TypedDict, total=False):
if TYPE_CHECKING:
# This works because str.__contains__ does not accept object (either in typeshed or at runtime)
# https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
+ #
+ # Note: index() and count() methods are intentionally omitted to allow pyright to properly
+ # infer TypedDict types when dict literals are used in lists assigned to SequenceNotStr.
class SequenceNotStr(Protocol[_T_co]):
@overload
def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
@@ -257,8 +260,6 @@ def __getitem__(self, index: slice, /) -> Sequence[_T_co]: ...
def __contains__(self, value: object, /) -> bool: ...
def __len__(self) -> int: ...
def __iter__(self) -> Iterator[_T_co]: ...
- def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
- def count(self, value: Any, /) -> int: ...
def __reversed__(self) -> Iterator[_T_co]: ...
else:
# just point this to a normal `Sequence` at runtime to avoid having to special case
From 18c54f3ca59edc71633a937914762129856a8950 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 22 Dec 2025 17:15:14 +0000
Subject: [PATCH 13/28] chore: add missing docstrings
---
.../types/alpha/benchmark.py | 2 +
.../types/alpha/benchmark_config_param.py | 10 ++
.../types/alpha/evaluate_response.py | 2 +
.../types/alpha/inference_rerank_params.py | 12 ++
.../types/alpha/inference_rerank_response.py | 2 +
src/llama_stack_client/types/alpha/job.py | 2 +
.../post_training/job_artifacts_response.py | 6 +
.../post_training/job_status_response.py | 6 +
...ost_training_preference_optimize_params.py | 10 ++
...st_training_supervised_fine_tune_params.py | 12 ++
.../types/beta/dataset_iterrows_response.py | 2 +
.../types/beta/dataset_list_response.py | 6 +
.../types/beta/dataset_register_params.py | 4 +
.../types/beta/dataset_register_response.py | 6 +
.../types/beta/dataset_retrieve_response.py | 6 +
.../types/beta/list_datasets_response.py | 2 +
.../types/chat/completion_create_params.py | 40 +++++
.../types/chat/completion_create_response.py | 80 +++++++++
.../types/chat/completion_list_response.py | 112 +++++++++++++
.../chat/completion_retrieve_response.py | 110 ++++++++++++
.../types/chat_completion_chunk.py | 56 +++++++
.../types/completion_create_response.py | 55 ++++++
.../types/conversation_create_params.py | 41 +++++
.../types/conversation_delete_response.py | 2 +
.../types/conversation_object.py | 2 +
.../types/conversations/item_create_params.py | 41 +++++
.../conversations/item_create_response.py | 43 +++++
.../conversations/item_delete_response.py | 2 +
.../types/conversations/item_get_response.py | 19 +++
.../types/conversations/item_list_response.py | 41 +++++
.../types/create_embeddings_response.py | 6 +
.../types/create_response.py | 4 +
.../types/delete_file_response.py | 2 +
src/llama_stack_client/types/file.py | 2 +
.../types/file_create_params.py | 7 +
src/llama_stack_client/types/health_info.py | 2 +
.../types/list_files_response.py | 2 +
.../types/list_prompts_response.py | 2 +
.../types/list_providers_response.py | 2 +
.../types/list_routes_response.py | 2 +
.../types/list_tool_groups_response.py | 2 +
.../types/list_vector_stores_response.py | 2 +
src/llama_stack_client/types/model.py | 9 +
.../types/model_register_response.py | 2 +
.../types/model_retrieve_response.py | 2 +
src/llama_stack_client/types/prompt.py | 4 +
src/llama_stack_client/types/provider_info.py | 4 +
.../types/query_chunks_response.py | 27 +++
.../types/response_create_params.py | 67 ++++++++
.../types/response_delete_response.py | 2 +
.../types/response_list_response.py | 110 ++++++++++++
.../types/response_object.py | 67 ++++++++
.../types/response_object_stream.py | 158 ++++++++++++++++++
.../responses/input_item_list_response.py | 43 +++++
src/llama_stack_client/types/route_info.py | 4 +
.../types/run_shield_response.py | 2 +
.../types/safety_run_shield_params.py | 32 ++++
src/llama_stack_client/types/scoring_fn.py | 8 +
.../types/scoring_function_register_params.py | 6 +
.../types/scoring_score_batch_params.py | 6 +
.../types/scoring_score_batch_response.py | 2 +
.../types/scoring_score_params.py | 6 +
.../types/scoring_score_response.py | 2 +
.../types/shared/interleaved_content.py | 16 ++
.../types/shared/interleaved_content_item.py | 8 +
.../types/shared/param_type.py | 18 ++
.../types/shared/safety_violation.py | 2 +
.../types/shared/sampling_params.py | 12 ++
.../types/shared/scoring_result.py | 2 +
.../types/shared/system_message.py | 18 ++
.../types/shared_params/sampling_params.py | 12 ++
.../types/shared_params/system_message.py | 18 ++
src/llama_stack_client/types/shield.py | 2 +
src/llama_stack_client/types/tool_def.py | 2 +
src/llama_stack_client/types/tool_group.py | 4 +
.../types/tool_invocation_result.py | 18 ++
.../types/tool_runtime_list_tools_params.py | 2 +
.../types/toolgroup_register_params.py | 2 +
.../types/vector_io_insert_params.py | 25 +++
.../types/vector_io_query_params.py | 16 ++
src/llama_stack_client/types/vector_store.py | 4 +
.../types/vector_store_create_params.py | 6 +
.../types/vector_store_delete_response.py | 2 +
.../types/vector_store_search_params.py | 2 +
.../types/vector_store_search_response.py | 13 ++
.../vector_stores/file_batch_create_params.py | 6 +
.../vector_stores/file_content_response.py | 11 ++
.../types/vector_stores/file_create_params.py | 6 +
.../vector_stores/file_delete_response.py | 2 +
...st_vector_store_files_in_batch_response.py | 2 +
.../types/vector_stores/vector_store_file.py | 10 ++
.../vector_store_file_batches.py | 4 +
src/llama_stack_client/types/version_info.py | 2 +
93 files changed, 1579 insertions(+)
diff --git a/src/llama_stack_client/types/alpha/benchmark.py b/src/llama_stack_client/types/alpha/benchmark.py
index 6bd5e222..4c15dbd4 100644
--- a/src/llama_stack_client/types/alpha/benchmark.py
+++ b/src/llama_stack_client/types/alpha/benchmark.py
@@ -15,6 +15,8 @@
class Benchmark(BaseModel):
+ """A benchmark resource for evaluating model performance."""
+
dataset_id: str
identifier: str
diff --git a/src/llama_stack_client/types/alpha/benchmark_config_param.py b/src/llama_stack_client/types/alpha/benchmark_config_param.py
index 3de48d88..6b6bd3e4 100644
--- a/src/llama_stack_client/types/alpha/benchmark_config_param.py
+++ b/src/llama_stack_client/types/alpha/benchmark_config_param.py
@@ -26,6 +26,8 @@
class EvalCandidate(TypedDict, total=False):
+ """A model candidate for evaluation."""
+
model: Required[str]
sampling_params: Required[SamplingParams]
@@ -38,6 +40,8 @@ class EvalCandidate(TypedDict, total=False):
class ScoringParamsLlmAsJudgeScoringFnParams(TypedDict, total=False):
+ """Parameters for LLM-as-judge scoring function configuration."""
+
judge_model: Required[str]
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
@@ -52,6 +56,8 @@ class ScoringParamsLlmAsJudgeScoringFnParams(TypedDict, total=False):
class ScoringParamsRegexParserScoringFnParams(TypedDict, total=False):
+ """Parameters for regex parser scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
@@ -62,6 +68,8 @@ class ScoringParamsRegexParserScoringFnParams(TypedDict, total=False):
class ScoringParamsBasicScoringFnParams(TypedDict, total=False):
+ """Parameters for basic scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
@@ -74,6 +82,8 @@ class ScoringParamsBasicScoringFnParams(TypedDict, total=False):
class BenchmarkConfigParam(TypedDict, total=False):
+ """A benchmark configuration for evaluation."""
+
eval_candidate: Required[EvalCandidate]
"""A model candidate for evaluation."""
diff --git a/src/llama_stack_client/types/alpha/evaluate_response.py b/src/llama_stack_client/types/alpha/evaluate_response.py
index 4e4c453c..b680ee72 100644
--- a/src/llama_stack_client/types/alpha/evaluate_response.py
+++ b/src/llama_stack_client/types/alpha/evaluate_response.py
@@ -15,6 +15,8 @@
class EvaluateResponse(BaseModel):
+ """The response from an evaluation."""
+
generations: List[Dict[str, object]]
scores: Dict[str, ScoringResult]
diff --git a/src/llama_stack_client/types/alpha/inference_rerank_params.py b/src/llama_stack_client/types/alpha/inference_rerank_params.py
index d668c2b7..b6a12b3b 100644
--- a/src/llama_stack_client/types/alpha/inference_rerank_params.py
+++ b/src/llama_stack_client/types/alpha/inference_rerank_params.py
@@ -38,18 +38,24 @@ class InferenceRerankParams(TypedDict, total=False):
class ItemOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class ItemOpenAIChatCompletionContentPartImageParamImageURL(TypedDict, total=False):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: Required[str]
detail: Optional[str]
class ItemOpenAIChatCompletionContentPartImageParam(TypedDict, total=False):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: Required[ItemOpenAIChatCompletionContentPartImageParamImageURL]
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -62,18 +68,24 @@ class ItemOpenAIChatCompletionContentPartImageParam(TypedDict, total=False):
class QueryOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class QueryOpenAIChatCompletionContentPartImageParamImageURL(TypedDict, total=False):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: Required[str]
detail: Optional[str]
class QueryOpenAIChatCompletionContentPartImageParam(TypedDict, total=False):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: Required[QueryOpenAIChatCompletionContentPartImageParamImageURL]
"""Image URL specification for OpenAI-compatible chat completion messages."""
diff --git a/src/llama_stack_client/types/alpha/inference_rerank_response.py b/src/llama_stack_client/types/alpha/inference_rerank_response.py
index c1221c2e..a1af8814 100644
--- a/src/llama_stack_client/types/alpha/inference_rerank_response.py
+++ b/src/llama_stack_client/types/alpha/inference_rerank_response.py
@@ -15,6 +15,8 @@
class InferenceRerankResponseItem(BaseModel):
+ """A single rerank result from a reranking response."""
+
index: int
relevance_score: float
diff --git a/src/llama_stack_client/types/alpha/job.py b/src/llama_stack_client/types/alpha/job.py
index 8aace3cc..6234f1f0 100644
--- a/src/llama_stack_client/types/alpha/job.py
+++ b/src/llama_stack_client/types/alpha/job.py
@@ -14,6 +14,8 @@
class Job(BaseModel):
+ """A job execution instance with status tracking."""
+
job_id: str
status: Literal["completed", "in_progress", "failed", "scheduled", "cancelled"]
diff --git a/src/llama_stack_client/types/alpha/post_training/job_artifacts_response.py b/src/llama_stack_client/types/alpha/post_training/job_artifacts_response.py
index 3f6b8296..235ec773 100644
--- a/src/llama_stack_client/types/alpha/post_training/job_artifacts_response.py
+++ b/src/llama_stack_client/types/alpha/post_training/job_artifacts_response.py
@@ -15,6 +15,8 @@
class CheckpointTrainingMetrics(BaseModel):
+ """Training metrics captured during post-training jobs."""
+
epoch: int
perplexity: float
@@ -25,6 +27,8 @@ class CheckpointTrainingMetrics(BaseModel):
class Checkpoint(BaseModel):
+ """Checkpoint created during training runs."""
+
created_at: datetime
epoch: int
@@ -40,6 +44,8 @@ class Checkpoint(BaseModel):
class JobArtifactsResponse(BaseModel):
+ """Artifacts of a finetuning job."""
+
job_uuid: str
checkpoints: Optional[List[Checkpoint]] = None
diff --git a/src/llama_stack_client/types/alpha/post_training/job_status_response.py b/src/llama_stack_client/types/alpha/post_training/job_status_response.py
index 816a9bf1..dbafbaa4 100644
--- a/src/llama_stack_client/types/alpha/post_training/job_status_response.py
+++ b/src/llama_stack_client/types/alpha/post_training/job_status_response.py
@@ -16,6 +16,8 @@
class CheckpointTrainingMetrics(BaseModel):
+ """Training metrics captured during post-training jobs."""
+
epoch: int
perplexity: float
@@ -26,6 +28,8 @@ class CheckpointTrainingMetrics(BaseModel):
class Checkpoint(BaseModel):
+ """Checkpoint created during training runs."""
+
created_at: datetime
epoch: int
@@ -41,6 +45,8 @@ class Checkpoint(BaseModel):
class JobStatusResponse(BaseModel):
+ """Status of a finetuning job."""
+
job_uuid: str
status: Literal["completed", "in_progress", "failed", "scheduled", "cancelled"]
diff --git a/src/llama_stack_client/types/alpha/post_training_preference_optimize_params.py b/src/llama_stack_client/types/alpha/post_training_preference_optimize_params.py
index 2fbebaa2..7a9f1837 100644
--- a/src/llama_stack_client/types/alpha/post_training_preference_optimize_params.py
+++ b/src/llama_stack_client/types/alpha/post_training_preference_optimize_params.py
@@ -38,12 +38,16 @@ class PostTrainingPreferenceOptimizeParams(TypedDict, total=False):
class AlgorithmConfig(TypedDict, total=False):
+ """Configuration for Direct Preference Optimization (DPO) alignment."""
+
beta: Required[float]
loss_type: Literal["sigmoid", "hinge", "ipo", "kto_pair"]
class TrainingConfigDataConfig(TypedDict, total=False):
+ """Configuration for training data and data loading."""
+
batch_size: Required[int]
data_format: Required[Literal["instruct", "dialog"]]
@@ -61,6 +65,8 @@ class TrainingConfigDataConfig(TypedDict, total=False):
class TrainingConfigEfficiencyConfig(TypedDict, total=False):
+ """Configuration for memory and compute efficiency optimizations."""
+
enable_activation_checkpointing: Optional[bool]
enable_activation_offloading: Optional[bool]
@@ -71,6 +77,8 @@ class TrainingConfigEfficiencyConfig(TypedDict, total=False):
class TrainingConfigOptimizerConfig(TypedDict, total=False):
+ """Configuration parameters for the optimization algorithm."""
+
lr: Required[float]
num_warmup_steps: Required[int]
@@ -82,6 +90,8 @@ class TrainingConfigOptimizerConfig(TypedDict, total=False):
class TrainingConfig(TypedDict, total=False):
+ """Comprehensive configuration for the training process."""
+
n_epochs: Required[int]
data_config: Optional[TrainingConfigDataConfig]
diff --git a/src/llama_stack_client/types/alpha/post_training_supervised_fine_tune_params.py b/src/llama_stack_client/types/alpha/post_training_supervised_fine_tune_params.py
index dacc50aa..892676d9 100644
--- a/src/llama_stack_client/types/alpha/post_training_supervised_fine_tune_params.py
+++ b/src/llama_stack_client/types/alpha/post_training_supervised_fine_tune_params.py
@@ -45,6 +45,8 @@ class PostTrainingSupervisedFineTuneParams(TypedDict, total=False):
class TrainingConfigDataConfig(TypedDict, total=False):
+ """Configuration for training data and data loading."""
+
batch_size: Required[int]
data_format: Required[Literal["instruct", "dialog"]]
@@ -62,6 +64,8 @@ class TrainingConfigDataConfig(TypedDict, total=False):
class TrainingConfigEfficiencyConfig(TypedDict, total=False):
+ """Configuration for memory and compute efficiency optimizations."""
+
enable_activation_checkpointing: Optional[bool]
enable_activation_offloading: Optional[bool]
@@ -72,6 +76,8 @@ class TrainingConfigEfficiencyConfig(TypedDict, total=False):
class TrainingConfigOptimizerConfig(TypedDict, total=False):
+ """Configuration parameters for the optimization algorithm."""
+
lr: Required[float]
num_warmup_steps: Required[int]
@@ -83,6 +89,8 @@ class TrainingConfigOptimizerConfig(TypedDict, total=False):
class TrainingConfig(TypedDict, total=False):
+ """Comprehensive configuration for the training process."""
+
n_epochs: Required[int]
data_config: Optional[TrainingConfigDataConfig]
@@ -104,6 +112,8 @@ class TrainingConfig(TypedDict, total=False):
class AlgorithmConfigLoraFinetuningConfig(TypedDict, total=False):
+ """Configuration for Low-Rank Adaptation (LoRA) fine-tuning."""
+
alpha: Required[int]
apply_lora_to_mlp: Required[bool]
@@ -122,6 +132,8 @@ class AlgorithmConfigLoraFinetuningConfig(TypedDict, total=False):
class AlgorithmConfigQatFinetuningConfig(TypedDict, total=False):
+ """Configuration for Quantization-Aware Training (QAT) fine-tuning."""
+
group_size: Required[int]
quantizer_name: Required[str]
diff --git a/src/llama_stack_client/types/beta/dataset_iterrows_response.py b/src/llama_stack_client/types/beta/dataset_iterrows_response.py
index 72ae28ed..ea7e1d6d 100644
--- a/src/llama_stack_client/types/beta/dataset_iterrows_response.py
+++ b/src/llama_stack_client/types/beta/dataset_iterrows_response.py
@@ -14,6 +14,8 @@
class DatasetIterrowsResponse(BaseModel):
+ """A generic paginated response that follows a simple format."""
+
data: List[Dict[str, object]]
has_more: bool
diff --git a/src/llama_stack_client/types/beta/dataset_list_response.py b/src/llama_stack_client/types/beta/dataset_list_response.py
index 13669ca1..de23d012 100644
--- a/src/llama_stack_client/types/beta/dataset_list_response.py
+++ b/src/llama_stack_client/types/beta/dataset_list_response.py
@@ -22,12 +22,16 @@
class DatasetListResponseItemSourceUriDataSource(BaseModel):
+ """A dataset that can be obtained from a URI."""
+
uri: str
type: Optional[Literal["uri"]] = None
class DatasetListResponseItemSourceRowsDataSource(BaseModel):
+ """A dataset stored in rows."""
+
rows: List[Dict[str, object]]
type: Optional[Literal["rows"]] = None
@@ -40,6 +44,8 @@ class DatasetListResponseItemSourceRowsDataSource(BaseModel):
class DatasetListResponseItem(BaseModel):
+ """Dataset resource for storing and accessing training or evaluation data."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/beta/dataset_register_params.py b/src/llama_stack_client/types/beta/dataset_register_params.py
index 639f260d..dd01cbd1 100644
--- a/src/llama_stack_client/types/beta/dataset_register_params.py
+++ b/src/llama_stack_client/types/beta/dataset_register_params.py
@@ -27,12 +27,16 @@ class DatasetRegisterParams(TypedDict, total=False):
class SourceUriDataSource(TypedDict, total=False):
+ """A dataset that can be obtained from a URI."""
+
uri: Required[str]
type: Literal["uri"]
class SourceRowsDataSource(TypedDict, total=False):
+ """A dataset stored in rows."""
+
rows: Required[Iterable[Dict[str, object]]]
type: Literal["rows"]
diff --git a/src/llama_stack_client/types/beta/dataset_register_response.py b/src/llama_stack_client/types/beta/dataset_register_response.py
index 92b64afe..7d2fb351 100644
--- a/src/llama_stack_client/types/beta/dataset_register_response.py
+++ b/src/llama_stack_client/types/beta/dataset_register_response.py
@@ -16,12 +16,16 @@
class SourceUriDataSource(BaseModel):
+ """A dataset that can be obtained from a URI."""
+
uri: str
type: Optional[Literal["uri"]] = None
class SourceRowsDataSource(BaseModel):
+ """A dataset stored in rows."""
+
rows: List[Dict[str, object]]
type: Optional[Literal["rows"]] = None
@@ -31,6 +35,8 @@ class SourceRowsDataSource(BaseModel):
class DatasetRegisterResponse(BaseModel):
+ """Dataset resource for storing and accessing training or evaluation data."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/beta/dataset_retrieve_response.py b/src/llama_stack_client/types/beta/dataset_retrieve_response.py
index 452042d2..ad774ad9 100644
--- a/src/llama_stack_client/types/beta/dataset_retrieve_response.py
+++ b/src/llama_stack_client/types/beta/dataset_retrieve_response.py
@@ -16,12 +16,16 @@
class SourceUriDataSource(BaseModel):
+ """A dataset that can be obtained from a URI."""
+
uri: str
type: Optional[Literal["uri"]] = None
class SourceRowsDataSource(BaseModel):
+ """A dataset stored in rows."""
+
rows: List[Dict[str, object]]
type: Optional[Literal["rows"]] = None
@@ -31,6 +35,8 @@ class SourceRowsDataSource(BaseModel):
class DatasetRetrieveResponse(BaseModel):
+ """Dataset resource for storing and accessing training or evaluation data."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/beta/list_datasets_response.py b/src/llama_stack_client/types/beta/list_datasets_response.py
index a5f09b69..32bdffea 100644
--- a/src/llama_stack_client/types/beta/list_datasets_response.py
+++ b/src/llama_stack_client/types/beta/list_datasets_response.py
@@ -13,4 +13,6 @@
class ListDatasetsResponse(BaseModel):
+ """Response from listing datasets."""
+
data: DatasetListResponse
diff --git a/src/llama_stack_client/types/chat/completion_create_params.py b/src/llama_stack_client/types/chat/completion_create_params.py
index 21f63f3c..57eb2907 100644
--- a/src/llama_stack_client/types/chat/completion_create_params.py
+++ b/src/llama_stack_client/types/chat/completion_create_params.py
@@ -93,6 +93,8 @@ class CompletionCreateParamsBase(TypedDict, total=False):
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
TypedDict, total=False
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
@@ -101,6 +103,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
TypedDict, total=False
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: Required[str]
detail: Optional[str]
@@ -109,6 +113,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
TypedDict, total=False
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: Required[
MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
]
@@ -145,6 +151,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInput(TypedDict, total=False):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Required[
Union[
str,
@@ -160,12 +168,16 @@ class MessageOpenAIUserMessageParamInput(TypedDict, total=False):
class MessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAISystemMessageParam(TypedDict, total=False):
+ """A system message providing instructions or context to the model."""
+
content: Required[
Union[str, Iterable[MessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
@@ -178,18 +190,24 @@ class MessageOpenAISystemMessageParam(TypedDict, total=False):
class MessageOpenAIAssistantMessageParamInputContentListOpenAIChatCompletionContentPartTextParam(
TypedDict, total=False
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIAssistantMessageParamInputToolCallFunction(TypedDict, total=False):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str]
name: Optional[str]
class MessageOpenAIAssistantMessageParamInputToolCall(TypedDict, total=False):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str]
function: Optional[MessageOpenAIAssistantMessageParamInputToolCallFunction]
@@ -201,6 +219,10 @@ class MessageOpenAIAssistantMessageParamInputToolCall(TypedDict, total=False):
class MessageOpenAIAssistantMessageParamInput(TypedDict, total=False):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str, Iterable[MessageOpenAIAssistantMessageParamInputContentListOpenAIChatCompletionContentPartTextParam], None
]
@@ -213,12 +235,18 @@ class MessageOpenAIAssistantMessageParamInput(TypedDict, total=False):
class MessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIToolMessageParam(TypedDict, total=False):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Required[
Union[str, Iterable[MessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
@@ -229,12 +257,16 @@ class MessageOpenAIToolMessageParam(TypedDict, total=False):
class MessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIDeveloperMessageParam(TypedDict, total=False):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Required[
Union[str, Iterable[MessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
@@ -254,10 +286,14 @@ class MessageOpenAIDeveloperMessageParam(TypedDict, total=False):
class ResponseFormatOpenAIResponseFormatText(TypedDict, total=False):
+ """Text response format for OpenAI-compatible chat completion requests."""
+
type: Literal["text"]
class ResponseFormatOpenAIResponseFormatJsonSchemaJsonSchema(TypedDict, total=False):
+ """JSON schema specification for OpenAI-compatible structured response format."""
+
description: Optional[str]
name: str
@@ -268,6 +304,8 @@ class ResponseFormatOpenAIResponseFormatJsonSchemaJsonSchema(TypedDict, total=Fa
class ResponseFormatOpenAIResponseFormatJsonSchema(TypedDict, total=False):
+ """JSON schema response format for OpenAI-compatible chat completion requests."""
+
json_schema: Required[ResponseFormatOpenAIResponseFormatJsonSchemaJsonSchema]
"""JSON schema specification for OpenAI-compatible structured response format."""
@@ -275,6 +313,8 @@ class ResponseFormatOpenAIResponseFormatJsonSchema(TypedDict, total=False):
class ResponseFormatOpenAIResponseFormatJsonObject(TypedDict, total=False):
+ """JSON object response format for OpenAI-compatible chat completion requests."""
+
type: Literal["json_object"]
diff --git a/src/llama_stack_client/types/chat/completion_create_response.py b/src/llama_stack_client/types/chat/completion_create_response.py
index 0a56bfb0..a1cbbcf0 100644
--- a/src/llama_stack_client/types/chat/completion_create_response.py
+++ b/src/llama_stack_client/types/chat/completion_create_response.py
@@ -47,6 +47,8 @@
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
BaseModel
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
@@ -55,6 +57,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
BaseModel
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: str
detail: Optional[str] = None
@@ -63,6 +67,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
BaseModel
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -98,6 +104,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Union[
str,
List[
@@ -111,12 +119,16 @@ class ChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
class ChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAISystemMessageParam(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Union[str, List[ChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
name: Optional[str] = None
@@ -125,18 +137,24 @@ class ChoiceMessageOpenAISystemMessageParam(BaseModel):
class ChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class ChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[ChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction] = None
@@ -148,6 +166,10 @@ class ChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
class ChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str,
List[ChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam],
@@ -162,12 +184,18 @@ class ChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
class ChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIToolMessageParam(BaseModel):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Union[str, List[ChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
tool_call_id: str
@@ -176,12 +204,16 @@ class ChoiceMessageOpenAIToolMessageParam(BaseModel):
class ChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Union[
str, List[ChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -204,6 +236,14 @@ class ChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
class ChoiceLogprobsContentTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -212,6 +252,15 @@ class ChoiceLogprobsContentTopLogprob(BaseModel):
class ChoiceLogprobsContent(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -222,6 +271,14 @@ class ChoiceLogprobsContent(BaseModel):
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -230,6 +287,15 @@ class ChoiceLogprobsRefusalTopLogprob(BaseModel):
class ChoiceLogprobsRefusal(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -240,12 +306,18 @@ class ChoiceLogprobsRefusal(BaseModel):
class ChoiceLogprobs(BaseModel):
+ """
+ The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ """
+
content: Optional[List[ChoiceLogprobsContent]] = None
refusal: Optional[List[ChoiceLogprobsRefusal]] = None
class Choice(BaseModel):
+ """A choice from an OpenAI-compatible chat completion response."""
+
finish_reason: str
index: int
@@ -261,14 +333,20 @@ class Choice(BaseModel):
class UsageCompletionTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI chat completion usage."""
+
reasoning_tokens: Optional[int] = None
class UsagePromptTokensDetails(BaseModel):
+ """Token details for prompt tokens in OpenAI chat completion usage."""
+
cached_tokens: Optional[int] = None
class Usage(BaseModel):
+ """Usage information for OpenAI chat completion."""
+
completion_tokens: int
prompt_tokens: int
@@ -283,6 +361,8 @@ class Usage(BaseModel):
class CompletionCreateResponse(BaseModel):
+ """Response from an OpenAI-compatible chat completion request."""
+
id: str
choices: List[Choice]
diff --git a/src/llama_stack_client/types/chat/completion_list_response.py b/src/llama_stack_client/types/chat/completion_list_response.py
index ba9cd127..4c8bf3d1 100644
--- a/src/llama_stack_client/types/chat/completion_list_response.py
+++ b/src/llama_stack_client/types/chat/completion_list_response.py
@@ -66,6 +66,8 @@
class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
BaseModel
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
@@ -74,6 +76,8 @@ class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompleti
class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
BaseModel
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: str
detail: Optional[str] = None
@@ -82,6 +86,8 @@ class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompleti
class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
BaseModel
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -117,6 +123,8 @@ class DataChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompleti
class DataChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Union[
str,
List[
@@ -130,12 +138,16 @@ class DataChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
class DataChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataChoiceMessageOpenAISystemMessageParam(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Union[
str, List[DataChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -146,18 +158,24 @@ class DataChoiceMessageOpenAISystemMessageParam(BaseModel):
class DataChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class DataChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[DataChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction] = None
@@ -169,6 +187,10 @@ class DataChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
class DataChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str,
List[DataChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam],
@@ -183,12 +205,18 @@ class DataChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
class DataChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataChoiceMessageOpenAIToolMessageParam(BaseModel):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str, List[DataChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -199,12 +227,16 @@ class DataChoiceMessageOpenAIToolMessageParam(BaseModel):
class DataChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Union[
str, List[DataChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -227,6 +259,14 @@ class DataChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
class DataChoiceLogprobsContentTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -235,6 +275,15 @@ class DataChoiceLogprobsContentTopLogprob(BaseModel):
class DataChoiceLogprobsContent(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -245,6 +294,14 @@ class DataChoiceLogprobsContent(BaseModel):
class DataChoiceLogprobsRefusalTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -253,6 +310,15 @@ class DataChoiceLogprobsRefusalTopLogprob(BaseModel):
class DataChoiceLogprobsRefusal(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -263,12 +329,18 @@ class DataChoiceLogprobsRefusal(BaseModel):
class DataChoiceLogprobs(BaseModel):
+ """
+ The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ """
+
content: Optional[List[DataChoiceLogprobsContent]] = None
refusal: Optional[List[DataChoiceLogprobsRefusal]] = None
class DataChoice(BaseModel):
+ """A choice from an OpenAI-compatible chat completion response."""
+
finish_reason: str
index: int
@@ -286,6 +358,8 @@ class DataChoice(BaseModel):
class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
BaseModel
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
@@ -294,6 +368,8 @@ class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletio
class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
BaseModel
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: str
detail: Optional[str] = None
@@ -302,6 +378,8 @@ class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletio
class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
BaseModel
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -337,6 +415,8 @@ class DataInputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletio
class DataInputMessageOpenAIUserMessageParamOutput(BaseModel):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Union[
str,
List[
@@ -350,12 +430,16 @@ class DataInputMessageOpenAIUserMessageParamOutput(BaseModel):
class DataInputMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataInputMessageOpenAISystemMessageParam(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Union[
str, List[DataInputMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -366,18 +450,24 @@ class DataInputMessageOpenAISystemMessageParam(BaseModel):
class DataInputMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataInputMessageOpenAIAssistantMessageParamOutputToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class DataInputMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[DataInputMessageOpenAIAssistantMessageParamOutputToolCallFunction] = None
@@ -389,6 +479,10 @@ class DataInputMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
class DataInputMessageOpenAIAssistantMessageParamOutput(BaseModel):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str,
List[DataInputMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam],
@@ -403,12 +497,18 @@ class DataInputMessageOpenAIAssistantMessageParamOutput(BaseModel):
class DataInputMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataInputMessageOpenAIToolMessageParam(BaseModel):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Union[str, List[DataInputMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
tool_call_id: str
@@ -417,12 +517,16 @@ class DataInputMessageOpenAIToolMessageParam(BaseModel):
class DataInputMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class DataInputMessageOpenAIDeveloperMessageParam(BaseModel):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Union[
str, List[DataInputMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -445,14 +549,20 @@ class DataInputMessageOpenAIDeveloperMessageParam(BaseModel):
class DataUsageCompletionTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI chat completion usage."""
+
reasoning_tokens: Optional[int] = None
class DataUsagePromptTokensDetails(BaseModel):
+ """Token details for prompt tokens in OpenAI chat completion usage."""
+
cached_tokens: Optional[int] = None
class DataUsage(BaseModel):
+ """Usage information for OpenAI chat completion."""
+
completion_tokens: int
prompt_tokens: int
@@ -484,6 +594,8 @@ class Data(BaseModel):
class CompletionListResponse(BaseModel):
+ """Response from listing OpenAI-compatible chat completions."""
+
data: List[Data]
first_id: str
diff --git a/src/llama_stack_client/types/chat/completion_retrieve_response.py b/src/llama_stack_client/types/chat/completion_retrieve_response.py
index 92de61bd..d4d61af3 100644
--- a/src/llama_stack_client/types/chat/completion_retrieve_response.py
+++ b/src/llama_stack_client/types/chat/completion_retrieve_response.py
@@ -65,6 +65,8 @@
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
BaseModel
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
@@ -73,6 +75,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
BaseModel
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: str
detail: Optional[str] = None
@@ -81,6 +85,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
BaseModel
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -116,6 +122,8 @@ class ChoiceMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCo
class ChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Union[
str,
List[
@@ -129,12 +137,16 @@ class ChoiceMessageOpenAIUserMessageParamOutput(BaseModel):
class ChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAISystemMessageParam(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Union[str, List[ChoiceMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
name: Optional[str] = None
@@ -143,18 +155,24 @@ class ChoiceMessageOpenAISystemMessageParam(BaseModel):
class ChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class ChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[ChoiceMessageOpenAIAssistantMessageParamOutputToolCallFunction] = None
@@ -166,6 +184,10 @@ class ChoiceMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
class ChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str,
List[ChoiceMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam],
@@ -180,12 +202,18 @@ class ChoiceMessageOpenAIAssistantMessageParamOutput(BaseModel):
class ChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIToolMessageParam(BaseModel):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Union[str, List[ChoiceMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
tool_call_id: str
@@ -194,12 +222,16 @@ class ChoiceMessageOpenAIToolMessageParam(BaseModel):
class ChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class ChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Union[
str, List[ChoiceMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -222,6 +254,14 @@ class ChoiceMessageOpenAIDeveloperMessageParam(BaseModel):
class ChoiceLogprobsContentTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -230,6 +270,15 @@ class ChoiceLogprobsContentTopLogprob(BaseModel):
class ChoiceLogprobsContent(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -240,6 +289,14 @@ class ChoiceLogprobsContent(BaseModel):
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -248,6 +305,15 @@ class ChoiceLogprobsRefusalTopLogprob(BaseModel):
class ChoiceLogprobsRefusal(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -258,12 +324,18 @@ class ChoiceLogprobsRefusal(BaseModel):
class ChoiceLogprobs(BaseModel):
+ """
+ The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ """
+
content: Optional[List[ChoiceLogprobsContent]] = None
refusal: Optional[List[ChoiceLogprobsRefusal]] = None
class Choice(BaseModel):
+ """A choice from an OpenAI-compatible chat completion response."""
+
finish_reason: str
index: int
@@ -281,6 +353,8 @@ class Choice(BaseModel):
class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
BaseModel
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
@@ -289,6 +363,8 @@ class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCon
class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
BaseModel
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: str
detail: Optional[str] = None
@@ -297,6 +373,8 @@ class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCon
class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
BaseModel
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
"""Image URL specification for OpenAI-compatible chat completion messages."""
@@ -332,6 +410,8 @@ class InputMessageOpenAIUserMessageParamOutputContentListOpenAIChatCompletionCon
class InputMessageOpenAIUserMessageParamOutput(BaseModel):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Union[
str,
List[
@@ -345,12 +425,16 @@ class InputMessageOpenAIUserMessageParamOutput(BaseModel):
class InputMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class InputMessageOpenAISystemMessageParam(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Union[str, List[InputMessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
name: Optional[str] = None
@@ -359,18 +443,24 @@ class InputMessageOpenAISystemMessageParam(BaseModel):
class InputMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class InputMessageOpenAIAssistantMessageParamOutputToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class InputMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[InputMessageOpenAIAssistantMessageParamOutputToolCallFunction] = None
@@ -382,6 +472,10 @@ class InputMessageOpenAIAssistantMessageParamOutputToolCall(BaseModel):
class InputMessageOpenAIAssistantMessageParamOutput(BaseModel):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str,
List[InputMessageOpenAIAssistantMessageParamOutputContentListOpenAIChatCompletionContentPartTextParam],
@@ -396,12 +490,18 @@ class InputMessageOpenAIAssistantMessageParamOutput(BaseModel):
class InputMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class InputMessageOpenAIToolMessageParam(BaseModel):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Union[str, List[InputMessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
tool_call_id: str
@@ -410,12 +510,16 @@ class InputMessageOpenAIToolMessageParam(BaseModel):
class InputMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(BaseModel):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: str
type: Optional[Literal["text"]] = None
class InputMessageOpenAIDeveloperMessageParam(BaseModel):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Union[
str, List[InputMessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]
]
@@ -438,14 +542,20 @@ class InputMessageOpenAIDeveloperMessageParam(BaseModel):
class UsageCompletionTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI chat completion usage."""
+
reasoning_tokens: Optional[int] = None
class UsagePromptTokensDetails(BaseModel):
+ """Token details for prompt tokens in OpenAI chat completion usage."""
+
cached_tokens: Optional[int] = None
class Usage(BaseModel):
+ """Usage information for OpenAI chat completion."""
+
completion_tokens: int
prompt_tokens: int
diff --git a/src/llama_stack_client/types/chat_completion_chunk.py b/src/llama_stack_client/types/chat_completion_chunk.py
index 90c10da2..27469cf5 100644
--- a/src/llama_stack_client/types/chat_completion_chunk.py
+++ b/src/llama_stack_client/types/chat_completion_chunk.py
@@ -29,12 +29,16 @@
class ChoiceDeltaToolCallFunction(BaseModel):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str] = None
name: Optional[str] = None
class ChoiceDeltaToolCall(BaseModel):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str] = None
function: Optional[ChoiceDeltaToolCallFunction] = None
@@ -46,6 +50,8 @@ class ChoiceDeltaToolCall(BaseModel):
class ChoiceDelta(BaseModel):
+ """A delta from an OpenAI-compatible chat completion streaming response."""
+
content: Optional[str] = None
reasoning_content: Optional[str] = None
@@ -58,6 +64,14 @@ class ChoiceDelta(BaseModel):
class ChoiceLogprobsContentTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -66,6 +80,15 @@ class ChoiceLogprobsContentTopLogprob(BaseModel):
class ChoiceLogprobsContent(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -76,6 +99,14 @@ class ChoiceLogprobsContent(BaseModel):
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -84,6 +115,15 @@ class ChoiceLogprobsRefusalTopLogprob(BaseModel):
class ChoiceLogprobsRefusal(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -94,12 +134,18 @@ class ChoiceLogprobsRefusal(BaseModel):
class ChoiceLogprobs(BaseModel):
+ """
+ The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ """
+
content: Optional[List[ChoiceLogprobsContent]] = None
refusal: Optional[List[ChoiceLogprobsRefusal]] = None
class Choice(BaseModel):
+ """A chunk choice from an OpenAI-compatible chat completion streaming response."""
+
delta: ChoiceDelta
"""A delta from an OpenAI-compatible chat completion streaming response."""
@@ -115,14 +161,20 @@ class Choice(BaseModel):
class UsageCompletionTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI chat completion usage."""
+
reasoning_tokens: Optional[int] = None
class UsagePromptTokensDetails(BaseModel):
+ """Token details for prompt tokens in OpenAI chat completion usage."""
+
cached_tokens: Optional[int] = None
class Usage(BaseModel):
+ """Usage information for OpenAI chat completion."""
+
completion_tokens: int
prompt_tokens: int
@@ -137,6 +189,10 @@ class Usage(BaseModel):
class ChatCompletionChunk(BaseModel):
+ """
+ Chunk from a streaming response to an OpenAI-compatible chat completion request.
+ """
+
id: str
choices: List[Choice]
diff --git a/src/llama_stack_client/types/completion_create_response.py b/src/llama_stack_client/types/completion_create_response.py
index 76ee47ba..70e53a0e 100644
--- a/src/llama_stack_client/types/completion_create_response.py
+++ b/src/llama_stack_client/types/completion_create_response.py
@@ -23,6 +23,14 @@
class ChoiceLogprobsContentTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -31,6 +39,15 @@ class ChoiceLogprobsContentTopLogprob(BaseModel):
class ChoiceLogprobsContent(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -41,6 +58,14 @@ class ChoiceLogprobsContent(BaseModel):
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
token: str
logprob: float
@@ -49,6 +74,15 @@ class ChoiceLogprobsRefusalTopLogprob(BaseModel):
class ChoiceLogprobsRefusal(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
token: str
logprob: float
@@ -59,12 +93,24 @@ class ChoiceLogprobsRefusal(BaseModel):
class ChoiceLogprobs(BaseModel):
+ """
+ The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ """
+
content: Optional[List[ChoiceLogprobsContent]] = None
refusal: Optional[List[ChoiceLogprobsRefusal]] = None
class Choice(BaseModel):
+ """A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
+ """
+
finish_reason: str
index: int
@@ -79,6 +125,15 @@ class Choice(BaseModel):
class CompletionCreateResponse(BaseModel):
+ """Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
+ """
+
id: str
choices: List[Choice]
diff --git a/src/llama_stack_client/types/conversation_create_params.py b/src/llama_stack_client/types/conversation_create_params.py
index 5d3da45b..e1238a94 100644
--- a/src/llama_stack_client/types/conversation_create_params.py
+++ b/src/llama_stack_client/types/conversation_create_params.py
@@ -51,6 +51,8 @@ class ConversationCreateParams(TypedDict, total=False):
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
TypedDict, total=False
):
+ """Text content for input messages in OpenAI response format."""
+
text: Required[str]
type: Literal["input_text"]
@@ -59,6 +61,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
TypedDict, total=False
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Literal["low", "high", "auto"]
file_id: Optional[str]
@@ -71,6 +75,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
TypedDict, total=False
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str]
file_id: Optional[str]
@@ -92,6 +98,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: Required[str]
filename: Required[str]
@@ -104,6 +112,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: Required[int]
start_index: Required[int]
@@ -164,6 +174,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
+ """Refusal content within a streamed response part."""
+
refusal: Required[str]
type: Literal["refusal"]
@@ -176,6 +188,13 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInput(TypedDict, total=False):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Required[
Union[
str,
@@ -198,6 +217,8 @@ class ItemOpenAIResponseMessageInput(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageWebSearchToolCall(TypedDict, total=False):
+ """Web search tool call output message for OpenAI responses."""
+
id: Required[str]
status: Required[str]
@@ -206,6 +227,8 @@ class ItemOpenAIResponseOutputMessageWebSearchToolCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageFileSearchToolCallResult(TypedDict, total=False):
+ """Search results returned by the file search operation."""
+
attributes: Required[Dict[str, object]]
file_id: Required[str]
@@ -218,6 +241,8 @@ class ItemOpenAIResponseOutputMessageFileSearchToolCallResult(TypedDict, total=F
class ItemOpenAIResponseOutputMessageFileSearchToolCall(TypedDict, total=False):
+ """File search tool call output message for OpenAI responses."""
+
id: Required[str]
queries: Required[SequenceNotStr[str]]
@@ -230,6 +255,8 @@ class ItemOpenAIResponseOutputMessageFileSearchToolCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageFunctionToolCall(TypedDict, total=False):
+ """Function tool call output message for OpenAI responses."""
+
arguments: Required[str]
call_id: Required[str]
@@ -244,6 +271,10 @@ class ItemOpenAIResponseOutputMessageFunctionToolCall(TypedDict, total=False):
class ItemOpenAIResponseInputFunctionToolCallOutput(TypedDict, total=False):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: Required[str]
output: Required[str]
@@ -256,6 +287,8 @@ class ItemOpenAIResponseInputFunctionToolCallOutput(TypedDict, total=False):
class ItemOpenAIResponseMcpApprovalRequest(TypedDict, total=False):
+ """A request for human approval of a tool invocation."""
+
id: Required[str]
arguments: Required[str]
@@ -268,6 +301,8 @@ class ItemOpenAIResponseMcpApprovalRequest(TypedDict, total=False):
class ItemOpenAIResponseMcpApprovalResponse(TypedDict, total=False):
+ """A response to an MCP approval request."""
+
approval_request_id: Required[str]
approve: Required[bool]
@@ -280,6 +315,8 @@ class ItemOpenAIResponseMcpApprovalResponse(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpCall(TypedDict, total=False):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: Required[str]
arguments: Required[str]
@@ -296,6 +333,8 @@ class ItemOpenAIResponseOutputMessageMcpCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpListToolsTool(TypedDict, total=False):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Required[Dict[str, object]]
name: Required[str]
@@ -304,6 +343,8 @@ class ItemOpenAIResponseOutputMessageMcpListToolsTool(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpListTools(TypedDict, total=False):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: Required[str]
server_label: Required[str]
diff --git a/src/llama_stack_client/types/conversation_delete_response.py b/src/llama_stack_client/types/conversation_delete_response.py
index abf5b7c0..270ce38b 100644
--- a/src/llama_stack_client/types/conversation_delete_response.py
+++ b/src/llama_stack_client/types/conversation_delete_response.py
@@ -14,6 +14,8 @@
class ConversationDeleteResponse(BaseModel):
+ """Response for deleted conversation."""
+
id: str
"""The deleted conversation identifier"""
diff --git a/src/llama_stack_client/types/conversation_object.py b/src/llama_stack_client/types/conversation_object.py
index 27a55d23..1498ef03 100644
--- a/src/llama_stack_client/types/conversation_object.py
+++ b/src/llama_stack_client/types/conversation_object.py
@@ -15,6 +15,8 @@
class ConversationObject(BaseModel):
+ """OpenAI-compatible conversation object."""
+
id: str
"""The unique ID of the conversation."""
diff --git a/src/llama_stack_client/types/conversations/item_create_params.py b/src/llama_stack_client/types/conversations/item_create_params.py
index 7d3e9de9..dc8d2a98 100644
--- a/src/llama_stack_client/types/conversations/item_create_params.py
+++ b/src/llama_stack_client/types/conversations/item_create_params.py
@@ -49,6 +49,8 @@ class ItemCreateParams(TypedDict, total=False):
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
TypedDict, total=False
):
+ """Text content for input messages in OpenAI response format."""
+
text: Required[str]
type: Literal["input_text"]
@@ -57,6 +59,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
TypedDict, total=False
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Literal["low", "high", "auto"]
file_id: Optional[str]
@@ -69,6 +73,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
TypedDict, total=False
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str]
file_id: Optional[str]
@@ -90,6 +96,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: Required[str]
filename: Required[str]
@@ -102,6 +110,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: Required[int]
start_index: Required[int]
@@ -162,6 +172,8 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
+ """Refusal content within a streamed response part."""
+
refusal: Required[str]
type: Literal["refusal"]
@@ -174,6 +186,13 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
class ItemOpenAIResponseMessageInput(TypedDict, total=False):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Required[
Union[
str,
@@ -196,6 +215,8 @@ class ItemOpenAIResponseMessageInput(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageWebSearchToolCall(TypedDict, total=False):
+ """Web search tool call output message for OpenAI responses."""
+
id: Required[str]
status: Required[str]
@@ -204,6 +225,8 @@ class ItemOpenAIResponseOutputMessageWebSearchToolCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageFileSearchToolCallResult(TypedDict, total=False):
+ """Search results returned by the file search operation."""
+
attributes: Required[Dict[str, object]]
file_id: Required[str]
@@ -216,6 +239,8 @@ class ItemOpenAIResponseOutputMessageFileSearchToolCallResult(TypedDict, total=F
class ItemOpenAIResponseOutputMessageFileSearchToolCall(TypedDict, total=False):
+ """File search tool call output message for OpenAI responses."""
+
id: Required[str]
queries: Required[SequenceNotStr[str]]
@@ -228,6 +253,8 @@ class ItemOpenAIResponseOutputMessageFileSearchToolCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageFunctionToolCall(TypedDict, total=False):
+ """Function tool call output message for OpenAI responses."""
+
arguments: Required[str]
call_id: Required[str]
@@ -242,6 +269,10 @@ class ItemOpenAIResponseOutputMessageFunctionToolCall(TypedDict, total=False):
class ItemOpenAIResponseInputFunctionToolCallOutput(TypedDict, total=False):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: Required[str]
output: Required[str]
@@ -254,6 +285,8 @@ class ItemOpenAIResponseInputFunctionToolCallOutput(TypedDict, total=False):
class ItemOpenAIResponseMcpApprovalRequest(TypedDict, total=False):
+ """A request for human approval of a tool invocation."""
+
id: Required[str]
arguments: Required[str]
@@ -266,6 +299,8 @@ class ItemOpenAIResponseMcpApprovalRequest(TypedDict, total=False):
class ItemOpenAIResponseMcpApprovalResponse(TypedDict, total=False):
+ """A response to an MCP approval request."""
+
approval_request_id: Required[str]
approve: Required[bool]
@@ -278,6 +313,8 @@ class ItemOpenAIResponseMcpApprovalResponse(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpCall(TypedDict, total=False):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: Required[str]
arguments: Required[str]
@@ -294,6 +331,8 @@ class ItemOpenAIResponseOutputMessageMcpCall(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpListToolsTool(TypedDict, total=False):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Required[Dict[str, object]]
name: Required[str]
@@ -302,6 +341,8 @@ class ItemOpenAIResponseOutputMessageMcpListToolsTool(TypedDict, total=False):
class ItemOpenAIResponseOutputMessageMcpListTools(TypedDict, total=False):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: Required[str]
server_label: Required[str]
diff --git a/src/llama_stack_client/types/conversations/item_create_response.py b/src/llama_stack_client/types/conversations/item_create_response.py
index 182277b5..c9386fe5 100644
--- a/src/llama_stack_client/types/conversations/item_create_response.py
+++ b/src/llama_stack_client/types/conversations/item_create_response.py
@@ -44,6 +44,8 @@
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -52,6 +54,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -64,6 +68,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -88,6 +94,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -100,6 +108,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -165,6 +175,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -180,6 +192,13 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -200,6 +219,8 @@ class DataOpenAIResponseMessageOutput(BaseModel):
class DataOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -208,6 +229,8 @@ class DataOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class DataOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -220,6 +243,8 @@ class DataOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class DataOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -232,6 +257,8 @@ class DataOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class DataOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -246,6 +273,10 @@ class DataOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class DataOpenAIResponseInputFunctionToolCallOutput(BaseModel):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: str
output: str
@@ -258,6 +289,8 @@ class DataOpenAIResponseInputFunctionToolCallOutput(BaseModel):
class DataOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -270,6 +303,8 @@ class DataOpenAIResponseMcpApprovalRequest(BaseModel):
class DataOpenAIResponseMcpApprovalResponse(BaseModel):
+ """A response to an MCP approval request."""
+
approval_request_id: str
approve: bool
@@ -282,6 +317,8 @@ class DataOpenAIResponseMcpApprovalResponse(BaseModel):
class DataOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -298,6 +335,8 @@ class DataOpenAIResponseOutputMessageMcpCall(BaseModel):
class DataOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -306,6 +345,8 @@ class DataOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class DataOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -332,6 +373,8 @@ class DataOpenAIResponseOutputMessageMcpListTools(BaseModel):
class ItemCreateResponse(BaseModel):
+ """List of conversation items with pagination."""
+
data: List[Data]
"""List of conversation items"""
diff --git a/src/llama_stack_client/types/conversations/item_delete_response.py b/src/llama_stack_client/types/conversations/item_delete_response.py
index 2eac4e67..2521ff8a 100644
--- a/src/llama_stack_client/types/conversations/item_delete_response.py
+++ b/src/llama_stack_client/types/conversations/item_delete_response.py
@@ -14,6 +14,8 @@
class ItemDeleteResponse(BaseModel):
+ """Response for deleted conversation item."""
+
id: str
"""The deleted item identifier"""
diff --git a/src/llama_stack_client/types/conversations/item_get_response.py b/src/llama_stack_client/types/conversations/item_get_response.py
index 90d406d2..8995d2ad 100644
--- a/src/llama_stack_client/types/conversations/item_get_response.py
+++ b/src/llama_stack_client/types/conversations/item_get_response.py
@@ -32,6 +32,8 @@
class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -40,6 +42,8 @@ class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessage
class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -52,6 +56,8 @@ class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessage
class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -76,6 +82,8 @@ class ContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessage
class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -88,6 +96,8 @@ class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseConte
class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -153,6 +163,8 @@ class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseConte
class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -168,6 +180,13 @@ class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseConte
class ItemGetResponse(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
diff --git a/src/llama_stack_client/types/conversations/item_list_response.py b/src/llama_stack_client/types/conversations/item_list_response.py
index 59b8a85f..1ec9ba41 100644
--- a/src/llama_stack_client/types/conversations/item_list_response.py
+++ b/src/llama_stack_client/types/conversations/item_list_response.py
@@ -43,6 +43,8 @@
class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -51,6 +53,8 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTex
class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -63,6 +67,8 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTex
class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -87,6 +93,8 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTex
class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -99,6 +107,8 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -164,6 +174,8 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -179,6 +191,13 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
class OpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -199,6 +218,8 @@ class OpenAIResponseMessageOutput(BaseModel):
class OpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -207,6 +228,8 @@ class OpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class OpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -219,6 +242,8 @@ class OpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class OpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -231,6 +256,8 @@ class OpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class OpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -245,6 +272,10 @@ class OpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class OpenAIResponseInputFunctionToolCallOutput(BaseModel):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: str
output: str
@@ -257,6 +288,8 @@ class OpenAIResponseInputFunctionToolCallOutput(BaseModel):
class OpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -269,6 +302,8 @@ class OpenAIResponseMcpApprovalRequest(BaseModel):
class OpenAIResponseMcpApprovalResponse(BaseModel):
+ """A response to an MCP approval request."""
+
approval_request_id: str
approve: bool
@@ -281,6 +316,8 @@ class OpenAIResponseMcpApprovalResponse(BaseModel):
class OpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -297,6 +334,8 @@ class OpenAIResponseOutputMessageMcpCall(BaseModel):
class OpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -305,6 +344,8 @@ class OpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class OpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
diff --git a/src/llama_stack_client/types/create_embeddings_response.py b/src/llama_stack_client/types/create_embeddings_response.py
index c688ffcd..9d57cc39 100644
--- a/src/llama_stack_client/types/create_embeddings_response.py
+++ b/src/llama_stack_client/types/create_embeddings_response.py
@@ -15,6 +15,8 @@
class Data(BaseModel):
+ """A single embedding data object from an OpenAI-compatible embeddings response."""
+
embedding: Union[List[float], str]
index: int
@@ -23,12 +25,16 @@ class Data(BaseModel):
class Usage(BaseModel):
+ """Usage information for an OpenAI-compatible embeddings response."""
+
prompt_tokens: int
total_tokens: int
class CreateEmbeddingsResponse(BaseModel):
+ """Response from an OpenAI-compatible embeddings request."""
+
data: List[Data]
model: str
diff --git a/src/llama_stack_client/types/create_response.py b/src/llama_stack_client/types/create_response.py
index fa32d48c..bb87742e 100644
--- a/src/llama_stack_client/types/create_response.py
+++ b/src/llama_stack_client/types/create_response.py
@@ -14,6 +14,8 @@
class Result(BaseModel):
+ """A moderation object."""
+
flagged: bool
categories: Optional[Dict[str, bool]] = None
@@ -28,6 +30,8 @@ class Result(BaseModel):
class CreateResponse(BaseModel):
+ """A moderation object."""
+
id: str
model: str
diff --git a/src/llama_stack_client/types/delete_file_response.py b/src/llama_stack_client/types/delete_file_response.py
index 674b8031..7fd67597 100644
--- a/src/llama_stack_client/types/delete_file_response.py
+++ b/src/llama_stack_client/types/delete_file_response.py
@@ -15,6 +15,8 @@
class DeleteFileResponse(BaseModel):
+ """Response for deleting a file in OpenAI Files API."""
+
id: str
deleted: bool
diff --git a/src/llama_stack_client/types/file.py b/src/llama_stack_client/types/file.py
index c3fad6ec..14fe0293 100644
--- a/src/llama_stack_client/types/file.py
+++ b/src/llama_stack_client/types/file.py
@@ -15,6 +15,8 @@
class File(BaseModel):
+ """OpenAI File object as defined in the OpenAI Files API."""
+
id: str
bytes: int
diff --git a/src/llama_stack_client/types/file_create_params.py b/src/llama_stack_client/types/file_create_params.py
index 54587dd5..006c7832 100644
--- a/src/llama_stack_client/types/file_create_params.py
+++ b/src/llama_stack_client/types/file_create_params.py
@@ -33,6 +33,13 @@ class FileCreateParams(TypedDict, total=False):
class ExpiresAfter(TypedDict, total=False):
+ """Control expiration of uploaded files.
+
+ Params:
+ - anchor, must be "created_at"
+ - seconds, must be int between 3600 and 2592000 (1 hour to 30 days)
+ """
+
anchor: Required[Literal["created_at"]]
seconds: Required[int]
diff --git a/src/llama_stack_client/types/health_info.py b/src/llama_stack_client/types/health_info.py
index 3ce69fc0..6eabea28 100644
--- a/src/llama_stack_client/types/health_info.py
+++ b/src/llama_stack_client/types/health_info.py
@@ -14,4 +14,6 @@
class HealthInfo(BaseModel):
+ """Health status information for the service."""
+
status: Literal["OK", "Error", "Not Implemented"]
diff --git a/src/llama_stack_client/types/list_files_response.py b/src/llama_stack_client/types/list_files_response.py
index 501a3dd2..94fdc61c 100644
--- a/src/llama_stack_client/types/list_files_response.py
+++ b/src/llama_stack_client/types/list_files_response.py
@@ -16,6 +16,8 @@
class ListFilesResponse(BaseModel):
+ """Response for listing files in OpenAI Files API."""
+
data: List[File]
first_id: str
diff --git a/src/llama_stack_client/types/list_prompts_response.py b/src/llama_stack_client/types/list_prompts_response.py
index 6e564602..d357a77d 100644
--- a/src/llama_stack_client/types/list_prompts_response.py
+++ b/src/llama_stack_client/types/list_prompts_response.py
@@ -13,4 +13,6 @@
class ListPromptsResponse(BaseModel):
+ """Response model to list prompts."""
+
data: PromptListResponse
diff --git a/src/llama_stack_client/types/list_providers_response.py b/src/llama_stack_client/types/list_providers_response.py
index b7b51def..fc3db155 100644
--- a/src/llama_stack_client/types/list_providers_response.py
+++ b/src/llama_stack_client/types/list_providers_response.py
@@ -13,4 +13,6 @@
class ListProvidersResponse(BaseModel):
+ """Response containing a list of all available providers."""
+
data: ProviderListResponse
diff --git a/src/llama_stack_client/types/list_routes_response.py b/src/llama_stack_client/types/list_routes_response.py
index dca4db45..6b3544b5 100644
--- a/src/llama_stack_client/types/list_routes_response.py
+++ b/src/llama_stack_client/types/list_routes_response.py
@@ -13,4 +13,6 @@
class ListRoutesResponse(BaseModel):
+ """Response containing a list of all available API routes."""
+
data: RouteListResponse
diff --git a/src/llama_stack_client/types/list_tool_groups_response.py b/src/llama_stack_client/types/list_tool_groups_response.py
index 7dceef99..1484d78d 100644
--- a/src/llama_stack_client/types/list_tool_groups_response.py
+++ b/src/llama_stack_client/types/list_tool_groups_response.py
@@ -13,4 +13,6 @@
class ListToolGroupsResponse(BaseModel):
+ """Response containing a list of tool groups."""
+
data: ToolgroupListResponse
diff --git a/src/llama_stack_client/types/list_vector_stores_response.py b/src/llama_stack_client/types/list_vector_stores_response.py
index 471787c6..590321e7 100644
--- a/src/llama_stack_client/types/list_vector_stores_response.py
+++ b/src/llama_stack_client/types/list_vector_stores_response.py
@@ -15,6 +15,8 @@
class ListVectorStoresResponse(BaseModel):
+ """Response from listing vector stores."""
+
data: List[VectorStore]
first_id: Optional[str] = None
diff --git a/src/llama_stack_client/types/model.py b/src/llama_stack_client/types/model.py
index 178b2b22..89f52172 100644
--- a/src/llama_stack_client/types/model.py
+++ b/src/llama_stack_client/types/model.py
@@ -15,6 +15,15 @@
class Model(BaseModel):
+ """A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
+ """
+
id: str
created: int
diff --git a/src/llama_stack_client/types/model_register_response.py b/src/llama_stack_client/types/model_register_response.py
index 13bee478..d5cec998 100644
--- a/src/llama_stack_client/types/model_register_response.py
+++ b/src/llama_stack_client/types/model_register_response.py
@@ -17,6 +17,8 @@
class ModelRegisterResponse(BaseModel):
+ """A model resource representing an AI model registered in Llama Stack."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/model_retrieve_response.py b/src/llama_stack_client/types/model_retrieve_response.py
index 2aae408f..27a08263 100644
--- a/src/llama_stack_client/types/model_retrieve_response.py
+++ b/src/llama_stack_client/types/model_retrieve_response.py
@@ -17,6 +17,8 @@
class ModelRetrieveResponse(BaseModel):
+ """A model resource representing an AI model registered in Llama Stack."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/prompt.py b/src/llama_stack_client/types/prompt.py
index 7a151824..b3da67f8 100644
--- a/src/llama_stack_client/types/prompt.py
+++ b/src/llama_stack_client/types/prompt.py
@@ -14,6 +14,10 @@
class Prompt(BaseModel):
+ """
+ A prompt resource representing a stored OpenAI Compatible prompt template in Llama Stack.
+ """
+
prompt_id: str
"""Unique identifier in format 'pmpt\\__<48-digit-hash>'"""
diff --git a/src/llama_stack_client/types/provider_info.py b/src/llama_stack_client/types/provider_info.py
index ad46c6f9..c1f06eba 100644
--- a/src/llama_stack_client/types/provider_info.py
+++ b/src/llama_stack_client/types/provider_info.py
@@ -14,6 +14,10 @@
class ProviderInfo(BaseModel):
+ """
+ Information about a registered provider including its configuration and health status.
+ """
+
api: str
config: Dict[str, object]
diff --git a/src/llama_stack_client/types/query_chunks_response.py b/src/llama_stack_client/types/query_chunks_response.py
index f676c291..06612009 100644
--- a/src/llama_stack_client/types/query_chunks_response.py
+++ b/src/llama_stack_client/types/query_chunks_response.py
@@ -30,10 +30,14 @@
class ChunkContentImageContentItemOutputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ChunkContentImageContentItemOutputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ChunkContentImageContentItemOutputImageURL] = None
@@ -41,6 +45,8 @@ class ChunkContentImageContentItemOutputImage(BaseModel):
class ChunkContentImageContentItemOutput(BaseModel):
+ """A image content item"""
+
image: ChunkContentImageContentItemOutputImage
"""A URL or a base64 encoded string"""
@@ -48,16 +54,22 @@ class ChunkContentImageContentItemOutput(BaseModel):
class ChunkContentTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
class ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutputImageURL] = None
@@ -65,6 +77,8 @@ class ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutpu
class ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutput(BaseModel):
+ """A image content item"""
+
image: ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutputImage
"""A URL or a base64 encoded string"""
@@ -72,6 +86,8 @@ class ChunkContentListImageContentItemOutputTextContentItemImageContentItemOutpu
class ChunkContentListImageContentItemOutputTextContentItemTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
@@ -94,6 +110,13 @@ class ChunkContentListImageContentItemOutputTextContentItemTextContentItem(BaseM
class ChunkChunkMetadata(BaseModel):
+ """
+ `ChunkMetadata` is backend metadata for a `Chunk` that is used to store additional information about the chunk that
+ will not be used in the context during inference, but is required for backend functionality. The `ChunkMetadata`
+ is set during chunk creation in `MemoryToolRuntimeImpl().insert()`and is not expected to change after.
+ Use `Chunk.metadata` for metadata that will be used in the context during inference.
+ """
+
chunk_embedding_dimension: Optional[int] = None
chunk_embedding_model: Optional[str] = None
@@ -118,6 +141,8 @@ class ChunkChunkMetadata(BaseModel):
class Chunk(BaseModel):
+ """A chunk of content that can be inserted into a vector database."""
+
chunk_id: str
content: ChunkContent
@@ -139,6 +164,8 @@ class Chunk(BaseModel):
class QueryChunksResponse(BaseModel):
+ """Response from querying chunks in a vector database."""
+
chunks: List[Chunk]
scores: List[float]
diff --git a/src/llama_stack_client/types/response_create_params.py b/src/llama_stack_client/types/response_create_params.py
index b4d14fda..904b2486 100644
--- a/src/llama_stack_client/types/response_create_params.py
+++ b/src/llama_stack_client/types/response_create_params.py
@@ -98,6 +98,8 @@ class ResponseCreateParamsBase(TypedDict, total=False):
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
TypedDict, total=False
):
+ """Text content for input messages in OpenAI response format."""
+
text: Required[str]
type: Literal["input_text"]
@@ -106,6 +108,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
TypedDict, total=False
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Literal["low", "high", "auto"]
file_id: Optional[str]
@@ -118,6 +122,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
TypedDict, total=False
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str]
file_id: Optional[str]
@@ -139,6 +145,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: Required[str]
filename: Required[str]
@@ -151,6 +159,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: Required[int]
start_index: Required[int]
@@ -211,6 +221,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
+ """Refusal content within a streamed response part."""
+
refusal: Required[str]
type: Literal["refusal"]
@@ -225,6 +237,13 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInput(
TypedDict, total=False
):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Required[
Union[
str,
@@ -249,6 +268,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageWebSearchToolCall(
TypedDict, total=False
):
+ """Web search tool call output message for OpenAI responses."""
+
id: Required[str]
status: Required[str]
@@ -259,6 +280,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageFileSearchToolCallResult(
TypedDict, total=False
):
+ """Search results returned by the file search operation."""
+
attributes: Required[Dict[str, object]]
file_id: Required[str]
@@ -273,6 +296,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageFileSearchToolCall(
TypedDict, total=False
):
+ """File search tool call output message for OpenAI responses."""
+
id: Required[str]
queries: Required[SequenceNotStr[str]]
@@ -291,6 +316,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageFunctionToolCall(
TypedDict, total=False
):
+ """Function tool call output message for OpenAI responses."""
+
arguments: Required[str]
call_id: Required[str]
@@ -307,6 +334,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageMcpCall(
TypedDict, total=False
):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: Required[str]
arguments: Required[str]
@@ -325,6 +354,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageMcpListToolsTool(
TypedDict, total=False
):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Required[Dict[str, object]]
name: Required[str]
@@ -335,6 +366,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageMcpListTools(
TypedDict, total=False
):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: Required[str]
server_label: Required[str]
@@ -351,6 +384,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMcpApprovalRequest(
TypedDict, total=False
):
+ """A request for human approval of a tool invocation."""
+
id: Required[str]
arguments: Required[str]
@@ -365,6 +400,10 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseInputFunctionToolCallOutput(
TypedDict, total=False
):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: Required[str]
output: Required[str]
@@ -379,6 +418,8 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMcpApprovalResponse(
TypedDict, total=False
):
+ """A response to an MCP approval request."""
+
approval_request_id: Required[str]
approve: Required[bool]
@@ -405,12 +446,16 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
class PromptVariablesOpenAIResponseInputMessageContentText(TypedDict, total=False):
+ """Text content for input messages in OpenAI response format."""
+
text: Required[str]
type: Literal["input_text"]
class PromptVariablesOpenAIResponseInputMessageContentImage(TypedDict, total=False):
+ """Image content for input messages in OpenAI response format."""
+
detail: Literal["low", "high", "auto"]
file_id: Optional[str]
@@ -421,6 +466,8 @@ class PromptVariablesOpenAIResponseInputMessageContentImage(TypedDict, total=Fal
class PromptVariablesOpenAIResponseInputMessageContentFile(TypedDict, total=False):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str]
file_id: Optional[str]
@@ -440,6 +487,8 @@ class PromptVariablesOpenAIResponseInputMessageContentFile(TypedDict, total=Fals
class Prompt(TypedDict, total=False):
+ """OpenAI compatible Prompt object that is used in OpenAI responses."""
+
id: Required[str]
variables: Optional[Dict[str, PromptVariables]]
@@ -448,6 +497,8 @@ class Prompt(TypedDict, total=False):
class TextFormat(TypedDict, total=False):
+ """Configuration for Responses API text format."""
+
description: Optional[str]
name: Optional[str]
@@ -460,23 +511,31 @@ class TextFormat(TypedDict, total=False):
class Text(TypedDict, total=False):
+ """Text response configuration for OpenAI responses."""
+
format: Optional[TextFormat]
"""Configuration for Responses API text format."""
class ToolOpenAIResponseInputToolWebSearch(TypedDict, total=False):
+ """Web search tool configuration for OpenAI response inputs."""
+
search_context_size: Optional[str]
type: Literal["web_search", "web_search_preview", "web_search_preview_2025_03_11", "web_search_2025_08_26"]
class ToolOpenAIResponseInputToolFileSearchRankingOptions(TypedDict, total=False):
+ """Options for ranking and filtering search results."""
+
ranker: Optional[str]
score_threshold: Optional[float]
class ToolOpenAIResponseInputToolFileSearch(TypedDict, total=False):
+ """File search tool configuration for OpenAI response inputs."""
+
vector_store_ids: Required[SequenceNotStr[str]]
filters: Optional[Dict[str, object]]
@@ -490,6 +549,8 @@ class ToolOpenAIResponseInputToolFileSearch(TypedDict, total=False):
class ToolOpenAIResponseInputToolFunction(TypedDict, total=False):
+ """Function tool configuration for OpenAI response inputs."""
+
name: Required[str]
parameters: Required[Optional[Dict[str, object]]]
@@ -502,6 +563,8 @@ class ToolOpenAIResponseInputToolFunction(TypedDict, total=False):
class ToolOpenAIResponseInputToolMcpAllowedToolsAllowedToolsFilter(TypedDict, total=False):
+ """Filter configuration for restricting which MCP tools can be used."""
+
tool_names: Optional[SequenceNotStr[str]]
@@ -511,6 +574,8 @@ class ToolOpenAIResponseInputToolMcpAllowedToolsAllowedToolsFilter(TypedDict, to
class ToolOpenAIResponseInputToolMcpRequireApprovalApprovalFilter(TypedDict, total=False):
+ """Filter configuration for MCP tool approval requirements."""
+
always: Optional[SequenceNotStr[str]]
never: Optional[SequenceNotStr[str]]
@@ -522,6 +587,8 @@ class ToolOpenAIResponseInputToolMcpRequireApprovalApprovalFilter(TypedDict, tot
class ToolOpenAIResponseInputToolMcp(TypedDict, total=False):
+ """Model Context Protocol (MCP) tool configuration for OpenAI response inputs."""
+
server_label: Required[str]
server_url: Required[str]
diff --git a/src/llama_stack_client/types/response_delete_response.py b/src/llama_stack_client/types/response_delete_response.py
index 75515977..ca3c55ad 100644
--- a/src/llama_stack_client/types/response_delete_response.py
+++ b/src/llama_stack_client/types/response_delete_response.py
@@ -15,6 +15,8 @@
class ResponseDeleteResponse(BaseModel):
+ """Response object confirming deletion of an OpenAI response."""
+
id: str
deleted: Optional[bool] = None
diff --git a/src/llama_stack_client/types/response_list_response.py b/src/llama_stack_client/types/response_list_response.py
index 88508576..6e38dbfb 100644
--- a/src/llama_stack_client/types/response_list_response.py
+++ b/src/llama_stack_client/types/response_list_response.py
@@ -87,6 +87,8 @@
class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -95,6 +97,8 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConte
class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -107,6 +111,8 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConte
class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -131,6 +137,8 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConte
class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -143,6 +151,8 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -208,6 +218,8 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -223,6 +235,13 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
class InputOpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -243,6 +262,8 @@ class InputOpenAIResponseMessageOutput(BaseModel):
class InputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -251,6 +272,8 @@ class InputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class InputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -263,6 +286,8 @@ class InputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class InputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -275,6 +300,8 @@ class InputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class InputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -289,6 +316,8 @@ class InputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class InputOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -305,6 +334,8 @@ class InputOpenAIResponseOutputMessageMcpCall(BaseModel):
class InputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -313,6 +344,8 @@ class InputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class InputOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -323,6 +356,8 @@ class InputOpenAIResponseOutputMessageMcpListTools(BaseModel):
class InputOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -335,6 +370,10 @@ class InputOpenAIResponseMcpApprovalRequest(BaseModel):
class InputOpenAIResponseInputFunctionToolCallOutput(BaseModel):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: str
output: str
@@ -347,6 +386,8 @@ class InputOpenAIResponseInputFunctionToolCallOutput(BaseModel):
class InputOpenAIResponseMcpApprovalResponse(BaseModel):
+ """A response to an MCP approval request."""
+
approval_request_id: str
approve: bool
@@ -375,6 +416,8 @@ class InputOpenAIResponseMcpApprovalResponse(BaseModel):
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -383,6 +426,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -395,6 +440,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -419,6 +466,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -431,6 +480,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -496,6 +547,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -511,6 +564,13 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -531,6 +591,8 @@ class OutputOpenAIResponseMessageOutput(BaseModel):
class OutputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -539,6 +601,8 @@ class OutputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -551,6 +615,8 @@ class OutputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class OutputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -563,6 +629,8 @@ class OutputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -577,6 +645,8 @@ class OutputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -593,6 +663,8 @@ class OutputOpenAIResponseOutputMessageMcpCall(BaseModel):
class OutputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -601,6 +673,8 @@ class OutputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class OutputOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -611,6 +685,8 @@ class OutputOpenAIResponseOutputMessageMcpListTools(BaseModel):
class OutputOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -637,18 +713,24 @@ class OutputOpenAIResponseMcpApprovalRequest(BaseModel):
class Error(BaseModel):
+ """Error details for failed OpenAI response requests."""
+
code: str
message: str
class PromptVariablesOpenAIResponseInputMessageContentText(BaseModel):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
class PromptVariablesOpenAIResponseInputMessageContentImage(BaseModel):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -659,6 +741,8 @@ class PromptVariablesOpenAIResponseInputMessageContentImage(BaseModel):
class PromptVariablesOpenAIResponseInputMessageContentFile(BaseModel):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -681,6 +765,8 @@ class PromptVariablesOpenAIResponseInputMessageContentFile(BaseModel):
class Prompt(BaseModel):
+ """OpenAI compatible Prompt object that is used in OpenAI responses."""
+
id: str
variables: Optional[Dict[str, PromptVariables]] = None
@@ -689,6 +775,8 @@ class Prompt(BaseModel):
class TextFormat(BaseModel):
+ """Configuration for Responses API text format."""
+
description: Optional[str] = None
name: Optional[str] = None
@@ -701,11 +789,15 @@ class TextFormat(BaseModel):
class Text(BaseModel):
+ """Text response configuration for OpenAI responses."""
+
format: Optional[TextFormat] = None
"""Configuration for Responses API text format."""
class ToolOpenAIResponseInputToolWebSearch(BaseModel):
+ """Web search tool configuration for OpenAI response inputs."""
+
search_context_size: Optional[str] = None
type: Optional[
@@ -714,12 +806,16 @@ class ToolOpenAIResponseInputToolWebSearch(BaseModel):
class ToolOpenAIResponseInputToolFileSearchRankingOptions(BaseModel):
+ """Options for ranking and filtering search results."""
+
ranker: Optional[str] = None
score_threshold: Optional[float] = None
class ToolOpenAIResponseInputToolFileSearch(BaseModel):
+ """File search tool configuration for OpenAI response inputs."""
+
vector_store_ids: List[str]
filters: Optional[Dict[str, object]] = None
@@ -733,6 +829,8 @@ class ToolOpenAIResponseInputToolFileSearch(BaseModel):
class ToolOpenAIResponseInputToolFunction(BaseModel):
+ """Function tool configuration for OpenAI response inputs."""
+
name: str
parameters: Optional[Dict[str, object]] = None
@@ -745,6 +843,8 @@ class ToolOpenAIResponseInputToolFunction(BaseModel):
class ToolOpenAIResponseToolMcpAllowedToolsAllowedToolsFilter(BaseModel):
+ """Filter configuration for restricting which MCP tools can be used."""
+
tool_names: Optional[List[str]] = None
@@ -754,6 +854,8 @@ class ToolOpenAIResponseToolMcpAllowedToolsAllowedToolsFilter(BaseModel):
class ToolOpenAIResponseToolMcp(BaseModel):
+ """Model Context Protocol (MCP) tool configuration for OpenAI response object."""
+
server_label: str
allowed_tools: Optional[ToolOpenAIResponseToolMcpAllowedTools] = None
@@ -771,14 +873,20 @@ class ToolOpenAIResponseToolMcp(BaseModel):
class UsageInputTokensDetails(BaseModel):
+ """Token details for input tokens in OpenAI response usage."""
+
cached_tokens: Optional[int] = None
class UsageOutputTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI response usage."""
+
reasoning_tokens: Optional[int] = None
class Usage(BaseModel):
+ """Usage information for OpenAI response."""
+
input_tokens: int
output_tokens: int
@@ -793,6 +901,8 @@ class Usage(BaseModel):
class ResponseListResponse(BaseModel):
+ """OpenAI response object extended with input context information."""
+
id: str
created_at: int
diff --git a/src/llama_stack_client/types/response_object.py b/src/llama_stack_client/types/response_object.py
index 38b6f0f3..c69df040 100644
--- a/src/llama_stack_client/types/response_object.py
+++ b/src/llama_stack_client/types/response_object.py
@@ -63,6 +63,8 @@
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -71,6 +73,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -83,6 +87,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -107,6 +113,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -119,6 +127,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -184,6 +194,8 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -199,6 +211,13 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
class OutputOpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -219,6 +238,8 @@ class OutputOpenAIResponseMessageOutput(BaseModel):
class OutputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -227,6 +248,8 @@ class OutputOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -239,6 +262,8 @@ class OutputOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class OutputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -251,6 +276,8 @@ class OutputOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -265,6 +292,8 @@ class OutputOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class OutputOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -281,6 +310,8 @@ class OutputOpenAIResponseOutputMessageMcpCall(BaseModel):
class OutputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -289,6 +320,8 @@ class OutputOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class OutputOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -299,6 +332,8 @@ class OutputOpenAIResponseOutputMessageMcpListTools(BaseModel):
class OutputOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -325,18 +360,24 @@ class OutputOpenAIResponseMcpApprovalRequest(BaseModel):
class Error(BaseModel):
+ """Error details for failed OpenAI response requests."""
+
code: str
message: str
class PromptVariablesOpenAIResponseInputMessageContentText(BaseModel):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
class PromptVariablesOpenAIResponseInputMessageContentImage(BaseModel):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -347,6 +388,8 @@ class PromptVariablesOpenAIResponseInputMessageContentImage(BaseModel):
class PromptVariablesOpenAIResponseInputMessageContentFile(BaseModel):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -369,6 +412,8 @@ class PromptVariablesOpenAIResponseInputMessageContentFile(BaseModel):
class Prompt(BaseModel):
+ """OpenAI compatible Prompt object that is used in OpenAI responses."""
+
id: str
variables: Optional[Dict[str, PromptVariables]] = None
@@ -377,6 +422,8 @@ class Prompt(BaseModel):
class TextFormat(BaseModel):
+ """Configuration for Responses API text format."""
+
description: Optional[str] = None
name: Optional[str] = None
@@ -389,11 +436,15 @@ class TextFormat(BaseModel):
class Text(BaseModel):
+ """Text response configuration for OpenAI responses."""
+
format: Optional[TextFormat] = None
"""Configuration for Responses API text format."""
class ToolOpenAIResponseInputToolWebSearch(BaseModel):
+ """Web search tool configuration for OpenAI response inputs."""
+
search_context_size: Optional[str] = None
type: Optional[
@@ -402,12 +453,16 @@ class ToolOpenAIResponseInputToolWebSearch(BaseModel):
class ToolOpenAIResponseInputToolFileSearchRankingOptions(BaseModel):
+ """Options for ranking and filtering search results."""
+
ranker: Optional[str] = None
score_threshold: Optional[float] = None
class ToolOpenAIResponseInputToolFileSearch(BaseModel):
+ """File search tool configuration for OpenAI response inputs."""
+
vector_store_ids: List[str]
filters: Optional[Dict[str, object]] = None
@@ -421,6 +476,8 @@ class ToolOpenAIResponseInputToolFileSearch(BaseModel):
class ToolOpenAIResponseInputToolFunction(BaseModel):
+ """Function tool configuration for OpenAI response inputs."""
+
name: str
parameters: Optional[Dict[str, object]] = None
@@ -433,6 +490,8 @@ class ToolOpenAIResponseInputToolFunction(BaseModel):
class ToolOpenAIResponseToolMcpAllowedToolsAllowedToolsFilter(BaseModel):
+ """Filter configuration for restricting which MCP tools can be used."""
+
tool_names: Optional[List[str]] = None
@@ -442,6 +501,8 @@ class ToolOpenAIResponseToolMcpAllowedToolsAllowedToolsFilter(BaseModel):
class ToolOpenAIResponseToolMcp(BaseModel):
+ """Model Context Protocol (MCP) tool configuration for OpenAI response object."""
+
server_label: str
allowed_tools: Optional[ToolOpenAIResponseToolMcpAllowedTools] = None
@@ -459,14 +520,20 @@ class ToolOpenAIResponseToolMcp(BaseModel):
class UsageInputTokensDetails(BaseModel):
+ """Token details for input tokens in OpenAI response usage."""
+
cached_tokens: Optional[int] = None
class UsageOutputTokensDetails(BaseModel):
+ """Token details for output tokens in OpenAI response usage."""
+
reasoning_tokens: Optional[int] = None
class Usage(BaseModel):
+ """Usage information for OpenAI response."""
+
input_tokens: int
output_tokens: int
diff --git a/src/llama_stack_client/types/response_object_stream.py b/src/llama_stack_client/types/response_object_stream.py
index 7cda237f..a0932048 100644
--- a/src/llama_stack_client/types/response_object_stream.py
+++ b/src/llama_stack_client/types/response_object_stream.py
@@ -124,6 +124,8 @@
class OpenAIResponseObjectStreamResponseCreated(BaseModel):
+ """Streaming event indicating a new response has been created."""
+
response: ResponseObject
"""Complete OpenAI response object containing generation results and metadata."""
@@ -131,6 +133,8 @@ class OpenAIResponseObjectStreamResponseCreated(BaseModel):
class OpenAIResponseObjectStreamResponseInProgress(BaseModel):
+ """Streaming event indicating the response remains in progress."""
+
response: ResponseObject
"""Complete OpenAI response object containing generation results and metadata."""
@@ -142,6 +146,8 @@ class OpenAIResponseObjectStreamResponseInProgress(BaseModel):
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -150,6 +156,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -162,6 +170,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -186,6 +196,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -198,6 +210,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -263,6 +277,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -278,6 +294,13 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -298,6 +321,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -308,6 +333,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageFileSearchToolCallResult(
BaseModel
):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -320,6 +347,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -334,6 +363,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -348,6 +379,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -364,6 +397,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -372,6 +407,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -382,6 +419,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputM
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -408,6 +447,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMcpAppr
class OpenAIResponseObjectStreamResponseOutputItemAdded(BaseModel):
+ """Streaming event for when a new output item is added to the response."""
+
item: OpenAIResponseObjectStreamResponseOutputItemAddedItem
"""
Corresponds to the various Message types in the Responses API. They are all
@@ -427,6 +468,8 @@ class OpenAIResponseObjectStreamResponseOutputItemAdded(BaseModel):
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -435,6 +478,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -447,6 +492,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -471,6 +518,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -483,6 +532,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -548,6 +599,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -563,6 +616,13 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessage(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -583,6 +643,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessage(
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -593,6 +655,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageFileSearchToolCallResult(
BaseModel
):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -605,6 +669,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -619,6 +685,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -633,6 +701,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -649,6 +719,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -657,6 +729,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -667,6 +741,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMe
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -693,6 +769,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMcpAppro
class OpenAIResponseObjectStreamResponseOutputItemDone(BaseModel):
+ """Streaming event for when an output item is completed."""
+
item: OpenAIResponseObjectStreamResponseOutputItemDoneItem
"""
Corresponds to the various Message types in the Responses API. They are all
@@ -710,6 +788,8 @@ class OpenAIResponseObjectStreamResponseOutputItemDone(BaseModel):
class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
+ """Streaming event for incremental text content updates."""
+
content_index: int
delta: str
@@ -724,6 +804,8 @@ class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
class OpenAIResponseObjectStreamResponseOutputTextDone(BaseModel):
+ """Streaming event for when text output is completed."""
+
content_index: int
item_id: str
@@ -738,6 +820,8 @@ class OpenAIResponseObjectStreamResponseOutputTextDone(BaseModel):
class OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta(BaseModel):
+ """Streaming event for incremental function call argument updates."""
+
delta: str
item_id: str
@@ -750,6 +834,8 @@ class OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta(BaseModel):
class OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone(BaseModel):
+ """Streaming event for when function call arguments are completed."""
+
arguments: str
item_id: str
@@ -762,6 +848,8 @@ class OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone(BaseModel):
class OpenAIResponseObjectStreamResponseWebSearchCallInProgress(BaseModel):
+ """Streaming event for web search calls in progress."""
+
item_id: str
output_index: int
@@ -782,6 +870,8 @@ class OpenAIResponseObjectStreamResponseWebSearchCallSearching(BaseModel):
class OpenAIResponseObjectStreamResponseWebSearchCallCompleted(BaseModel):
+ """Streaming event for completed web search calls."""
+
item_id: str
output_index: int
@@ -834,6 +924,8 @@ class OpenAIResponseObjectStreamResponseMcpCallArgumentsDone(BaseModel):
class OpenAIResponseObjectStreamResponseMcpCallInProgress(BaseModel):
+ """Streaming event for MCP calls in progress."""
+
item_id: str
output_index: int
@@ -844,12 +936,16 @@ class OpenAIResponseObjectStreamResponseMcpCallInProgress(BaseModel):
class OpenAIResponseObjectStreamResponseMcpCallFailed(BaseModel):
+ """Streaming event for failed MCP calls."""
+
sequence_number: int
type: Optional[Literal["response.mcp_call.failed"]] = None
class OpenAIResponseObjectStreamResponseMcpCallCompleted(BaseModel):
+ """Streaming event for completed MCP calls."""
+
sequence_number: int
type: Optional[Literal["response.mcp_call.completed"]] = None
@@ -858,6 +954,8 @@ class OpenAIResponseObjectStreamResponseMcpCallCompleted(BaseModel):
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -870,6 +968,8 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -919,6 +1019,8 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputText(BaseModel):
+ """Text content within a streamed response part."""
+
text: str
annotations: Optional[
@@ -931,12 +1033,16 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartRefusal(BaseModel):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartReasoningText(BaseModel):
+ """Reasoning text emitted as part of a streamed response."""
+
text: str
type: Optional[Literal["reasoning_text"]] = None
@@ -953,6 +1059,8 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
class OpenAIResponseObjectStreamResponseContentPartAdded(BaseModel):
+ """Streaming event for when a new content part is added to a response item."""
+
content_index: int
item_id: str
@@ -972,6 +1080,8 @@ class OpenAIResponseObjectStreamResponseContentPartAdded(BaseModel):
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -984,6 +1094,8 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -1033,6 +1145,8 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputText(BaseModel):
+ """Text content within a streamed response part."""
+
text: str
annotations: Optional[
@@ -1045,12 +1159,16 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartRefusal(BaseModel):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartReasoningText(BaseModel):
+ """Reasoning text emitted as part of a streamed response."""
+
text: str
type: Optional[Literal["reasoning_text"]] = None
@@ -1067,6 +1185,8 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
class OpenAIResponseObjectStreamResponseContentPartDone(BaseModel):
+ """Streaming event for when a content part is completed."""
+
content_index: int
item_id: str
@@ -1084,6 +1204,8 @@ class OpenAIResponseObjectStreamResponseContentPartDone(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningTextDelta(BaseModel):
+ """Streaming event for incremental reasoning text updates."""
+
content_index: int
delta: str
@@ -1098,6 +1220,8 @@ class OpenAIResponseObjectStreamResponseReasoningTextDelta(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningTextDone(BaseModel):
+ """Streaming event for when reasoning text is completed."""
+
content_index: int
item_id: str
@@ -1112,12 +1236,16 @@ class OpenAIResponseObjectStreamResponseReasoningTextDone(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningSummaryPartAddedPart(BaseModel):
+ """Reasoning summary part in a streamed response."""
+
text: str
type: Optional[Literal["summary_text"]] = None
class OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded(BaseModel):
+ """Streaming event for when a new reasoning summary part is added."""
+
item_id: str
output_index: int
@@ -1133,12 +1261,16 @@ class OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningSummaryPartDonePart(BaseModel):
+ """Reasoning summary part in a streamed response."""
+
text: str
type: Optional[Literal["summary_text"]] = None
class OpenAIResponseObjectStreamResponseReasoningSummaryPartDone(BaseModel):
+ """Streaming event for when a reasoning summary part is completed."""
+
item_id: str
output_index: int
@@ -1154,6 +1286,8 @@ class OpenAIResponseObjectStreamResponseReasoningSummaryPartDone(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta(BaseModel):
+ """Streaming event for incremental reasoning summary text updates."""
+
delta: str
item_id: str
@@ -1168,6 +1302,8 @@ class OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta(BaseModel):
class OpenAIResponseObjectStreamResponseReasoningSummaryTextDone(BaseModel):
+ """Streaming event for when reasoning summary text is completed."""
+
item_id: str
output_index: int
@@ -1182,6 +1318,8 @@ class OpenAIResponseObjectStreamResponseReasoningSummaryTextDone(BaseModel):
class OpenAIResponseObjectStreamResponseRefusalDelta(BaseModel):
+ """Streaming event for incremental refusal text updates."""
+
content_index: int
delta: str
@@ -1196,6 +1334,8 @@ class OpenAIResponseObjectStreamResponseRefusalDelta(BaseModel):
class OpenAIResponseObjectStreamResponseRefusalDone(BaseModel):
+ """Streaming event for when refusal text is completed."""
+
content_index: int
item_id: str
@@ -1212,6 +1352,8 @@ class OpenAIResponseObjectStreamResponseRefusalDone(BaseModel):
class OpenAIResponseObjectStreamResponseOutputTextAnnotationAddedAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -1222,6 +1364,8 @@ class OpenAIResponseObjectStreamResponseOutputTextAnnotationAddedAnnotationOpenA
class OpenAIResponseObjectStreamResponseOutputTextAnnotationAddedAnnotationOpenAIResponseAnnotationCitation(BaseModel):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -1269,6 +1413,8 @@ class OpenAIResponseObjectStreamResponseOutputTextAnnotationAddedAnnotationOpenA
class OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded(BaseModel):
+ """Streaming event for when an annotation is added to output text."""
+
annotation: OpenAIResponseObjectStreamResponseOutputTextAnnotationAddedAnnotation
"""File citation annotation for referencing specific files in response content."""
@@ -1286,6 +1432,8 @@ class OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded(BaseModel):
class OpenAIResponseObjectStreamResponseFileSearchCallInProgress(BaseModel):
+ """Streaming event for file search calls in progress."""
+
item_id: str
output_index: int
@@ -1296,6 +1444,8 @@ class OpenAIResponseObjectStreamResponseFileSearchCallInProgress(BaseModel):
class OpenAIResponseObjectStreamResponseFileSearchCallSearching(BaseModel):
+ """Streaming event for file search currently searching."""
+
item_id: str
output_index: int
@@ -1306,6 +1456,8 @@ class OpenAIResponseObjectStreamResponseFileSearchCallSearching(BaseModel):
class OpenAIResponseObjectStreamResponseFileSearchCallCompleted(BaseModel):
+ """Streaming event for completed file search calls."""
+
item_id: str
output_index: int
@@ -1316,6 +1468,8 @@ class OpenAIResponseObjectStreamResponseFileSearchCallCompleted(BaseModel):
class OpenAIResponseObjectStreamResponseIncomplete(BaseModel):
+ """Streaming event emitted when a response ends in an incomplete state."""
+
response: ResponseObject
"""Complete OpenAI response object containing generation results and metadata."""
@@ -1325,6 +1479,8 @@ class OpenAIResponseObjectStreamResponseIncomplete(BaseModel):
class OpenAIResponseObjectStreamResponseFailed(BaseModel):
+ """Streaming event emitted when a response fails."""
+
response: ResponseObject
"""Complete OpenAI response object containing generation results and metadata."""
@@ -1334,6 +1490,8 @@ class OpenAIResponseObjectStreamResponseFailed(BaseModel):
class OpenAIResponseObjectStreamResponseCompleted(BaseModel):
+ """Streaming event indicating a response has been completed."""
+
response: ResponseObject
"""Complete OpenAI response object containing generation results and metadata."""
diff --git a/src/llama_stack_client/types/responses/input_item_list_response.py b/src/llama_stack_client/types/responses/input_item_list_response.py
index 02addf1b..54680d6b 100644
--- a/src/llama_stack_client/types/responses/input_item_list_response.py
+++ b/src/llama_stack_client/types/responses/input_item_list_response.py
@@ -44,6 +44,8 @@
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText(
BaseModel
):
+ """Text content for input messages in OpenAI response format."""
+
text: str
type: Optional[Literal["input_text"]] = None
@@ -52,6 +54,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage(
BaseModel
):
+ """Image content for input messages in OpenAI response format."""
+
detail: Optional[Literal["low", "high", "auto"]] = None
file_id: Optional[str] = None
@@ -64,6 +68,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile(
BaseModel
):
+ """File content for input messages in OpenAI response format."""
+
file_data: Optional[str] = None
file_id: Optional[str] = None
@@ -88,6 +94,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
+ """File citation annotation for referencing specific files in response content."""
+
file_id: str
filename: str
@@ -100,6 +108,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
+ """URL citation annotation for referencing external web resources."""
+
end_index: int
start_index: int
@@ -165,6 +175,8 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
+ """Refusal content within a streamed response part."""
+
refusal: str
type: Optional[Literal["refusal"]] = None
@@ -180,6 +192,13 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
class DataOpenAIResponseMessageOutput(BaseModel):
+ """
+ Corresponds to the various Message types in the Responses API.
+ They are all under one type because the Responses API gives them all
+ the same "type" value, and there is no way to tell them apart in certain
+ scenarios.
+ """
+
content: Union[
str,
List[
@@ -200,6 +219,8 @@ class DataOpenAIResponseMessageOutput(BaseModel):
class DataOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
+ """Web search tool call output message for OpenAI responses."""
+
id: str
status: str
@@ -208,6 +229,8 @@ class DataOpenAIResponseOutputMessageWebSearchToolCall(BaseModel):
class DataOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
+ """Search results returned by the file search operation."""
+
attributes: Dict[str, object]
file_id: str
@@ -220,6 +243,8 @@ class DataOpenAIResponseOutputMessageFileSearchToolCallResult(BaseModel):
class DataOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
+ """File search tool call output message for OpenAI responses."""
+
id: str
queries: List[str]
@@ -232,6 +257,8 @@ class DataOpenAIResponseOutputMessageFileSearchToolCall(BaseModel):
class DataOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
+ """Function tool call output message for OpenAI responses."""
+
arguments: str
call_id: str
@@ -246,6 +273,8 @@ class DataOpenAIResponseOutputMessageFunctionToolCall(BaseModel):
class DataOpenAIResponseOutputMessageMcpCall(BaseModel):
+ """Model Context Protocol (MCP) call output message for OpenAI responses."""
+
id: str
arguments: str
@@ -262,6 +291,8 @@ class DataOpenAIResponseOutputMessageMcpCall(BaseModel):
class DataOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
+ """Tool definition returned by MCP list tools operation."""
+
input_schema: Dict[str, object]
name: str
@@ -270,6 +301,8 @@ class DataOpenAIResponseOutputMessageMcpListToolsTool(BaseModel):
class DataOpenAIResponseOutputMessageMcpListTools(BaseModel):
+ """MCP list tools output message containing available tools from an MCP server."""
+
id: str
server_label: str
@@ -280,6 +313,8 @@ class DataOpenAIResponseOutputMessageMcpListTools(BaseModel):
class DataOpenAIResponseMcpApprovalRequest(BaseModel):
+ """A request for human approval of a tool invocation."""
+
id: str
arguments: str
@@ -292,6 +327,10 @@ class DataOpenAIResponseMcpApprovalRequest(BaseModel):
class DataOpenAIResponseInputFunctionToolCallOutput(BaseModel):
+ """
+ This represents the output of a function call that gets passed back to the model.
+ """
+
call_id: str
output: str
@@ -304,6 +343,8 @@ class DataOpenAIResponseInputFunctionToolCallOutput(BaseModel):
class DataOpenAIResponseMcpApprovalResponse(BaseModel):
+ """A response to an MCP approval request."""
+
approval_request_id: str
approve: bool
@@ -330,6 +371,8 @@ class DataOpenAIResponseMcpApprovalResponse(BaseModel):
class InputItemListResponse(BaseModel):
+ """List container for OpenAI response input items."""
+
data: List[Data]
object: Optional[Literal["list"]] = None
diff --git a/src/llama_stack_client/types/route_info.py b/src/llama_stack_client/types/route_info.py
index 4ecaa2e5..a80f7b8d 100644
--- a/src/llama_stack_client/types/route_info.py
+++ b/src/llama_stack_client/types/route_info.py
@@ -14,6 +14,10 @@
class RouteInfo(BaseModel):
+ """
+ Information about an API route including its path, method, and implementing providers.
+ """
+
method: str
provider_types: List[str]
diff --git a/src/llama_stack_client/types/run_shield_response.py b/src/llama_stack_client/types/run_shield_response.py
index 5306993a..7e73ab16 100644
--- a/src/llama_stack_client/types/run_shield_response.py
+++ b/src/llama_stack_client/types/run_shield_response.py
@@ -15,5 +15,7 @@
class RunShieldResponse(BaseModel):
+ """Response from running a safety shield."""
+
violation: Optional[SafetyViolation] = None
"""Details of a safety violation detected by content moderation."""
diff --git a/src/llama_stack_client/types/safety_run_shield_params.py b/src/llama_stack_client/types/safety_run_shield_params.py
index eb0ac7ae..821b9951 100644
--- a/src/llama_stack_client/types/safety_run_shield_params.py
+++ b/src/llama_stack_client/types/safety_run_shield_params.py
@@ -45,6 +45,8 @@ class SafetyRunShieldParams(TypedDict, total=False):
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartTextParam(
TypedDict, total=False
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
@@ -53,6 +55,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL(
TypedDict, total=False
):
+ """Image URL specification for OpenAI-compatible chat completion messages."""
+
url: Required[str]
detail: Optional[str]
@@ -61,6 +65,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParam(
TypedDict, total=False
):
+ """Image content part for OpenAI-compatible chat completion messages."""
+
image_url: Required[
MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPartTextParamOpenAIChatCompletionContentPartImageParamOpenAIFileOpenAIChatCompletionContentPartImageParamImageURL
]
@@ -97,6 +103,8 @@ class MessageOpenAIUserMessageParamInputContentListOpenAIChatCompletionContentPa
class MessageOpenAIUserMessageParamInput(TypedDict, total=False):
+ """A message from the user in an OpenAI-compatible chat completion request."""
+
content: Required[
Union[
str,
@@ -112,12 +120,16 @@ class MessageOpenAIUserMessageParamInput(TypedDict, total=False):
class MessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAISystemMessageParam(TypedDict, total=False):
+ """A system message providing instructions or context to the model."""
+
content: Required[
Union[str, Iterable[MessageOpenAISystemMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
@@ -130,18 +142,24 @@ class MessageOpenAISystemMessageParam(TypedDict, total=False):
class MessageOpenAIAssistantMessageParamInputContentListOpenAIChatCompletionContentPartTextParam(
TypedDict, total=False
):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIAssistantMessageParamInputToolCallFunction(TypedDict, total=False):
+ """Function call details for OpenAI-compatible tool calls."""
+
arguments: Optional[str]
name: Optional[str]
class MessageOpenAIAssistantMessageParamInputToolCall(TypedDict, total=False):
+ """Tool call specification for OpenAI-compatible chat completion responses."""
+
id: Optional[str]
function: Optional[MessageOpenAIAssistantMessageParamInputToolCallFunction]
@@ -153,6 +171,10 @@ class MessageOpenAIAssistantMessageParamInputToolCall(TypedDict, total=False):
class MessageOpenAIAssistantMessageParamInput(TypedDict, total=False):
+ """
+ A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ """
+
content: Union[
str, Iterable[MessageOpenAIAssistantMessageParamInputContentListOpenAIChatCompletionContentPartTextParam], None
]
@@ -165,12 +187,18 @@ class MessageOpenAIAssistantMessageParamInput(TypedDict, total=False):
class MessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIToolMessageParam(TypedDict, total=False):
+ """
+ A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ """
+
content: Required[
Union[str, Iterable[MessageOpenAIToolMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
@@ -181,12 +209,16 @@ class MessageOpenAIToolMessageParam(TypedDict, total=False):
class MessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam(TypedDict, total=False):
+ """Text content part for OpenAI-compatible chat completion messages."""
+
text: Required[str]
type: Literal["text"]
class MessageOpenAIDeveloperMessageParam(TypedDict, total=False):
+ """A message from the developer in an OpenAI-compatible chat completion request."""
+
content: Required[
Union[str, Iterable[MessageOpenAIDeveloperMessageParamContentListOpenAIChatCompletionContentPartTextParam]]
]
diff --git a/src/llama_stack_client/types/scoring_fn.py b/src/llama_stack_client/types/scoring_fn.py
index 4e77e331..19998174 100644
--- a/src/llama_stack_client/types/scoring_fn.py
+++ b/src/llama_stack_client/types/scoring_fn.py
@@ -38,6 +38,8 @@ class ReturnType(BaseModel):
class ParamsLlmAsJudgeScoringFnParams(BaseModel):
+ """Parameters for LLM-as-judge scoring function configuration."""
+
judge_model: str
aggregation_functions: Optional[
@@ -54,6 +56,8 @@ class ParamsLlmAsJudgeScoringFnParams(BaseModel):
class ParamsRegexParserScoringFnParams(BaseModel):
+ """Parameters for regex parser scoring function configuration."""
+
aggregation_functions: Optional[
List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
] = None
@@ -66,6 +70,8 @@ class ParamsRegexParserScoringFnParams(BaseModel):
class ParamsBasicScoringFnParams(BaseModel):
+ """Parameters for basic scoring function configuration."""
+
aggregation_functions: Optional[
List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
] = None
@@ -81,6 +87,8 @@ class ParamsBasicScoringFnParams(BaseModel):
class ScoringFn(BaseModel):
+ """A scoring function resource for evaluating model outputs."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/scoring_function_register_params.py b/src/llama_stack_client/types/scoring_function_register_params.py
index ca0419cd..fde1ea4a 100644
--- a/src/llama_stack_client/types/scoring_function_register_params.py
+++ b/src/llama_stack_client/types/scoring_function_register_params.py
@@ -56,6 +56,8 @@ class ReturnType(TypedDict, total=False):
class ParamsLlmAsJudgeScoringFnParams(TypedDict, total=False):
+ """Parameters for LLM-as-judge scoring function configuration."""
+
judge_model: Required[str]
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
@@ -70,6 +72,8 @@ class ParamsLlmAsJudgeScoringFnParams(TypedDict, total=False):
class ParamsRegexParserScoringFnParams(TypedDict, total=False):
+ """Parameters for regex parser scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
@@ -80,6 +84,8 @@ class ParamsRegexParserScoringFnParams(TypedDict, total=False):
class ParamsBasicScoringFnParams(TypedDict, total=False):
+ """Parameters for basic scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
diff --git a/src/llama_stack_client/types/scoring_score_batch_params.py b/src/llama_stack_client/types/scoring_score_batch_params.py
index b8d258c8..2bf7a4db 100644
--- a/src/llama_stack_client/types/scoring_score_batch_params.py
+++ b/src/llama_stack_client/types/scoring_score_batch_params.py
@@ -31,6 +31,8 @@ class ScoringScoreBatchParams(TypedDict, total=False):
class ScoringFunctionsLlmAsJudgeScoringFnParams(TypedDict, total=False):
+ """Parameters for LLM-as-judge scoring function configuration."""
+
judge_model: Required[str]
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
@@ -45,6 +47,8 @@ class ScoringFunctionsLlmAsJudgeScoringFnParams(TypedDict, total=False):
class ScoringFunctionsRegexParserScoringFnParams(TypedDict, total=False):
+ """Parameters for regex parser scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
@@ -55,6 +59,8 @@ class ScoringFunctionsRegexParserScoringFnParams(TypedDict, total=False):
class ScoringFunctionsBasicScoringFnParams(TypedDict, total=False):
+ """Parameters for basic scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
diff --git a/src/llama_stack_client/types/scoring_score_batch_response.py b/src/llama_stack_client/types/scoring_score_batch_response.py
index ea46721b..1e8c05f8 100644
--- a/src/llama_stack_client/types/scoring_score_batch_response.py
+++ b/src/llama_stack_client/types/scoring_score_batch_response.py
@@ -15,6 +15,8 @@
class ScoringScoreBatchResponse(BaseModel):
+ """Response from batch scoring operations on datasets."""
+
results: Dict[str, ScoringResult]
dataset_id: Optional[str] = None
diff --git a/src/llama_stack_client/types/scoring_score_params.py b/src/llama_stack_client/types/scoring_score_params.py
index 407c8bba..7853f808 100644
--- a/src/llama_stack_client/types/scoring_score_params.py
+++ b/src/llama_stack_client/types/scoring_score_params.py
@@ -29,6 +29,8 @@ class ScoringScoreParams(TypedDict, total=False):
class ScoringFunctionsLlmAsJudgeScoringFnParams(TypedDict, total=False):
+ """Parameters for LLM-as-judge scoring function configuration."""
+
judge_model: Required[str]
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
@@ -43,6 +45,8 @@ class ScoringFunctionsLlmAsJudgeScoringFnParams(TypedDict, total=False):
class ScoringFunctionsRegexParserScoringFnParams(TypedDict, total=False):
+ """Parameters for regex parser scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
@@ -53,6 +57,8 @@ class ScoringFunctionsRegexParserScoringFnParams(TypedDict, total=False):
class ScoringFunctionsBasicScoringFnParams(TypedDict, total=False):
+ """Parameters for basic scoring function configuration."""
+
aggregation_functions: List[Literal["average", "weighted_average", "median", "categorical_count", "accuracy"]]
"""Aggregation functions to apply to the scores of each row"""
diff --git a/src/llama_stack_client/types/scoring_score_response.py b/src/llama_stack_client/types/scoring_score_response.py
index 27d7e2e1..267e1022 100644
--- a/src/llama_stack_client/types/scoring_score_response.py
+++ b/src/llama_stack_client/types/scoring_score_response.py
@@ -15,4 +15,6 @@
class ScoringScoreResponse(BaseModel):
+ """The response from scoring."""
+
results: Dict[str, ScoringResult]
diff --git a/src/llama_stack_client/types/shared/interleaved_content.py b/src/llama_stack_client/types/shared/interleaved_content.py
index f5a6a7ee..7b7e1c26 100644
--- a/src/llama_stack_client/types/shared/interleaved_content.py
+++ b/src/llama_stack_client/types/shared/interleaved_content.py
@@ -27,10 +27,14 @@
class ImageContentItemImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ImageContentItemImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ImageContentItemImageURL] = None
@@ -38,6 +42,8 @@ class ImageContentItemImage(BaseModel):
class ImageContentItem(BaseModel):
+ """A image content item"""
+
image: ImageContentItemImage
"""A URL or a base64 encoded string"""
@@ -45,16 +51,22 @@ class ImageContentItem(BaseModel):
class TextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
class ListImageContentItemTextContentItemImageContentItemImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ListImageContentItemTextContentItemImageContentItemImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ListImageContentItemTextContentItemImageContentItemImageURL] = None
@@ -62,6 +74,8 @@ class ListImageContentItemTextContentItemImageContentItemImage(BaseModel):
class ListImageContentItemTextContentItemImageContentItem(BaseModel):
+ """A image content item"""
+
image: ListImageContentItemTextContentItemImageContentItemImage
"""A URL or a base64 encoded string"""
@@ -69,6 +83,8 @@ class ListImageContentItemTextContentItemImageContentItem(BaseModel):
class ListImageContentItemTextContentItemTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
diff --git a/src/llama_stack_client/types/shared/interleaved_content_item.py b/src/llama_stack_client/types/shared/interleaved_content_item.py
index a841f5f1..d8f128e6 100644
--- a/src/llama_stack_client/types/shared/interleaved_content_item.py
+++ b/src/llama_stack_client/types/shared/interleaved_content_item.py
@@ -22,10 +22,14 @@
class ImageContentItemImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ImageContentItemImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ImageContentItemImageURL] = None
@@ -33,6 +37,8 @@ class ImageContentItemImage(BaseModel):
class ImageContentItem(BaseModel):
+ """A image content item"""
+
image: ImageContentItemImage
"""A URL or a base64 encoded string"""
@@ -40,6 +46,8 @@ class ImageContentItem(BaseModel):
class TextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
diff --git a/src/llama_stack_client/types/shared/param_type.py b/src/llama_stack_client/types/shared/param_type.py
index 8bec2b4d..01613f44 100644
--- a/src/llama_stack_client/types/shared/param_type.py
+++ b/src/llama_stack_client/types/shared/param_type.py
@@ -27,38 +27,56 @@
class StringType(BaseModel):
+ """Parameter type for string values."""
+
type: Optional[Literal["string"]] = None
class NumberType(BaseModel):
+ """Parameter type for numeric values."""
+
type: Optional[Literal["number"]] = None
class BooleanType(BaseModel):
+ """Parameter type for boolean values."""
+
type: Optional[Literal["boolean"]] = None
class ArrayType(BaseModel):
+ """Parameter type for array values."""
+
type: Optional[Literal["array"]] = None
class ObjectType(BaseModel):
+ """Parameter type for object values."""
+
type: Optional[Literal["object"]] = None
class JsonType(BaseModel):
+ """Parameter type for JSON values."""
+
type: Optional[Literal["json"]] = None
class UnionType(BaseModel):
+ """Parameter type for union values."""
+
type: Optional[Literal["union"]] = None
class ChatCompletionInputType(BaseModel):
+ """Parameter type for chat completion input."""
+
type: Optional[Literal["chat_completion_input"]] = None
class CompletionInputType(BaseModel):
+ """Parameter type for completion input."""
+
type: Optional[Literal["completion_input"]] = None
diff --git a/src/llama_stack_client/types/shared/safety_violation.py b/src/llama_stack_client/types/shared/safety_violation.py
index a8797bf7..36bf2b62 100644
--- a/src/llama_stack_client/types/shared/safety_violation.py
+++ b/src/llama_stack_client/types/shared/safety_violation.py
@@ -15,6 +15,8 @@
class SafetyViolation(BaseModel):
+ """Details of a safety violation detected by content moderation."""
+
violation_level: Literal["info", "warn", "error"]
"""Severity level of a safety violation."""
diff --git a/src/llama_stack_client/types/shared/sampling_params.py b/src/llama_stack_client/types/shared/sampling_params.py
index fbe697c5..044f1fde 100644
--- a/src/llama_stack_client/types/shared/sampling_params.py
+++ b/src/llama_stack_client/types/shared/sampling_params.py
@@ -22,10 +22,18 @@
class StrategyGreedySamplingStrategy(BaseModel):
+ """
+ Greedy sampling strategy that selects the highest probability token at each step.
+ """
+
type: Optional[Literal["greedy"]] = None
class StrategyTopPSamplingStrategy(BaseModel):
+ """
+ Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
+ """
+
temperature: Optional[float] = None
top_p: Optional[float] = None
@@ -34,6 +42,8 @@ class StrategyTopPSamplingStrategy(BaseModel):
class StrategyTopKSamplingStrategy(BaseModel):
+ """Top-k sampling strategy that restricts sampling to the k most likely tokens."""
+
top_k: int
type: Optional[Literal["top_k"]] = None
@@ -46,6 +56,8 @@ class StrategyTopKSamplingStrategy(BaseModel):
class SamplingParams(BaseModel):
+ """Sampling parameters."""
+
max_tokens: Optional[int] = None
repetition_penalty: Optional[float] = None
diff --git a/src/llama_stack_client/types/shared/scoring_result.py b/src/llama_stack_client/types/shared/scoring_result.py
index 4343e36c..a3567cd7 100644
--- a/src/llama_stack_client/types/shared/scoring_result.py
+++ b/src/llama_stack_client/types/shared/scoring_result.py
@@ -14,6 +14,8 @@
class ScoringResult(BaseModel):
+ """A scoring result for a single row."""
+
aggregated_results: Dict[str, object]
score_rows: List[Dict[str, object]]
diff --git a/src/llama_stack_client/types/shared/system_message.py b/src/llama_stack_client/types/shared/system_message.py
index 2d5b8cef..7b2f63b0 100644
--- a/src/llama_stack_client/types/shared/system_message.py
+++ b/src/llama_stack_client/types/shared/system_message.py
@@ -28,10 +28,14 @@
class ContentImageContentItemInputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ContentImageContentItemInputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ContentImageContentItemInputImageURL] = None
@@ -39,6 +43,8 @@ class ContentImageContentItemInputImage(BaseModel):
class ContentImageContentItemInput(BaseModel):
+ """A image content item"""
+
image: ContentImageContentItemInputImage
"""A URL or a base64 encoded string"""
@@ -46,16 +52,22 @@ class ContentImageContentItemInput(BaseModel):
class ContentTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
class ContentListImageContentItemInputTextContentItemImageContentItemInputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ContentListImageContentItemInputTextContentItemImageContentItemInputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ContentListImageContentItemInputTextContentItemImageContentItemInputImageURL] = None
@@ -63,6 +75,8 @@ class ContentListImageContentItemInputTextContentItemImageContentItemInputImage(
class ContentListImageContentItemInputTextContentItemImageContentItemInput(BaseModel):
+ """A image content item"""
+
image: ContentListImageContentItemInputTextContentItemImageContentItemInputImage
"""A URL or a base64 encoded string"""
@@ -70,6 +84,8 @@ class ContentListImageContentItemInputTextContentItemImageContentItemInput(BaseM
class ContentListImageContentItemInputTextContentItemTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
@@ -89,6 +105,8 @@ class ContentListImageContentItemInputTextContentItemTextContentItem(BaseModel):
class SystemMessage(BaseModel):
+ """A system message providing instructions or context to the model."""
+
content: Content
"""A image content item"""
diff --git a/src/llama_stack_client/types/shared_params/sampling_params.py b/src/llama_stack_client/types/shared_params/sampling_params.py
index 206e8a22..79003f3f 100644
--- a/src/llama_stack_client/types/shared_params/sampling_params.py
+++ b/src/llama_stack_client/types/shared_params/sampling_params.py
@@ -23,10 +23,18 @@
class StrategyGreedySamplingStrategy(TypedDict, total=False):
+ """
+ Greedy sampling strategy that selects the highest probability token at each step.
+ """
+
type: Literal["greedy"]
class StrategyTopPSamplingStrategy(TypedDict, total=False):
+ """
+ Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
+ """
+
temperature: Required[Optional[float]]
top_p: Optional[float]
@@ -35,6 +43,8 @@ class StrategyTopPSamplingStrategy(TypedDict, total=False):
class StrategyTopKSamplingStrategy(TypedDict, total=False):
+ """Top-k sampling strategy that restricts sampling to the k most likely tokens."""
+
top_k: Required[int]
type: Literal["top_k"]
@@ -44,6 +54,8 @@ class StrategyTopKSamplingStrategy(TypedDict, total=False):
class SamplingParams(TypedDict, total=False):
+ """Sampling parameters."""
+
max_tokens: Optional[int]
repetition_penalty: Optional[float]
diff --git a/src/llama_stack_client/types/shared_params/system_message.py b/src/llama_stack_client/types/shared_params/system_message.py
index d62c334a..d80168dd 100644
--- a/src/llama_stack_client/types/shared_params/system_message.py
+++ b/src/llama_stack_client/types/shared_params/system_message.py
@@ -27,10 +27,14 @@
class ContentImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class ContentImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[ContentImageContentItemInputImageURL]
@@ -38,6 +42,8 @@ class ContentImageContentItemInputImage(TypedDict, total=False):
class ContentImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[ContentImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -45,16 +51,22 @@ class ContentImageContentItemInput(TypedDict, total=False):
class ContentTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
class ContentListImageContentItemInputTextContentItemImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class ContentListImageContentItemInputTextContentItemImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[ContentListImageContentItemInputTextContentItemImageContentItemInputImageURL]
@@ -62,6 +74,8 @@ class ContentListImageContentItemInputTextContentItemImageContentItemInputImage(
class ContentListImageContentItemInputTextContentItemImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[ContentListImageContentItemInputTextContentItemImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -69,6 +83,8 @@ class ContentListImageContentItemInputTextContentItemImageContentItemInput(Typed
class ContentListImageContentItemInputTextContentItemTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
@@ -85,6 +101,8 @@ class ContentListImageContentItemInputTextContentItemTextContentItem(TypedDict,
class SystemMessage(TypedDict, total=False):
+ """A system message providing instructions or context to the model."""
+
content: Required[Content]
"""A image content item"""
diff --git a/src/llama_stack_client/types/shield.py b/src/llama_stack_client/types/shield.py
index 1383e737..12a1530b 100644
--- a/src/llama_stack_client/types/shield.py
+++ b/src/llama_stack_client/types/shield.py
@@ -15,6 +15,8 @@
class Shield(BaseModel):
+ """A safety shield resource that can be used to check content."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/tool_def.py b/src/llama_stack_client/types/tool_def.py
index ff0ede99..1866f3ac 100644
--- a/src/llama_stack_client/types/tool_def.py
+++ b/src/llama_stack_client/types/tool_def.py
@@ -14,6 +14,8 @@
class ToolDef(BaseModel):
+ """Tool definition used in runtime contexts."""
+
name: str
description: Optional[str] = None
diff --git a/src/llama_stack_client/types/tool_group.py b/src/llama_stack_client/types/tool_group.py
index 83b36cbb..70f1f91c 100644
--- a/src/llama_stack_client/types/tool_group.py
+++ b/src/llama_stack_client/types/tool_group.py
@@ -15,10 +15,14 @@
class McpEndpoint(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ToolGroup(BaseModel):
+ """A group of related tools managed together."""
+
identifier: str
"""Unique identifier for this resource in llama stack"""
diff --git a/src/llama_stack_client/types/tool_invocation_result.py b/src/llama_stack_client/types/tool_invocation_result.py
index 727ca68a..e97f9d7f 100644
--- a/src/llama_stack_client/types/tool_invocation_result.py
+++ b/src/llama_stack_client/types/tool_invocation_result.py
@@ -28,10 +28,14 @@
class ContentImageContentItemOutputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ContentImageContentItemOutputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ContentImageContentItemOutputImageURL] = None
@@ -39,6 +43,8 @@ class ContentImageContentItemOutputImage(BaseModel):
class ContentImageContentItemOutput(BaseModel):
+ """A image content item"""
+
image: ContentImageContentItemOutputImage
"""A URL or a base64 encoded string"""
@@ -46,16 +52,22 @@ class ContentImageContentItemOutput(BaseModel):
class ContentTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
class ContentListImageContentItemOutputTextContentItemImageContentItemOutputImageURL(BaseModel):
+ """A URL reference to external content."""
+
uri: str
class ContentListImageContentItemOutputTextContentItemImageContentItemOutputImage(BaseModel):
+ """A URL or a base64 encoded string"""
+
data: Optional[str] = None
url: Optional[ContentListImageContentItemOutputTextContentItemImageContentItemOutputImageURL] = None
@@ -63,6 +75,8 @@ class ContentListImageContentItemOutputTextContentItemImageContentItemOutputImag
class ContentListImageContentItemOutputTextContentItemImageContentItemOutput(BaseModel):
+ """A image content item"""
+
image: ContentListImageContentItemOutputTextContentItemImageContentItemOutputImage
"""A URL or a base64 encoded string"""
@@ -70,6 +84,8 @@ class ContentListImageContentItemOutputTextContentItemImageContentItemOutput(Bas
class ContentListImageContentItemOutputTextContentItemTextContentItem(BaseModel):
+ """A text content item"""
+
text: str
type: Optional[Literal["text"]] = None
@@ -93,6 +109,8 @@ class ContentListImageContentItemOutputTextContentItemTextContentItem(BaseModel)
class ToolInvocationResult(BaseModel):
+ """Result of a tool invocation."""
+
content: Optional[Content] = None
"""A image content item"""
diff --git a/src/llama_stack_client/types/tool_runtime_list_tools_params.py b/src/llama_stack_client/types/tool_runtime_list_tools_params.py
index 33adce40..d2ee9188 100644
--- a/src/llama_stack_client/types/tool_runtime_list_tools_params.py
+++ b/src/llama_stack_client/types/tool_runtime_list_tools_params.py
@@ -24,4 +24,6 @@ class ToolRuntimeListToolsParams(TypedDict, total=False):
class McpEndpoint(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
diff --git a/src/llama_stack_client/types/toolgroup_register_params.py b/src/llama_stack_client/types/toolgroup_register_params.py
index 23205f0c..6754c80f 100644
--- a/src/llama_stack_client/types/toolgroup_register_params.py
+++ b/src/llama_stack_client/types/toolgroup_register_params.py
@@ -26,4 +26,6 @@ class ToolgroupRegisterParams(TypedDict, total=False):
class McpEndpoint(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
diff --git a/src/llama_stack_client/types/vector_io_insert_params.py b/src/llama_stack_client/types/vector_io_insert_params.py
index 15ba21e5..7992e95c 100644
--- a/src/llama_stack_client/types/vector_io_insert_params.py
+++ b/src/llama_stack_client/types/vector_io_insert_params.py
@@ -37,10 +37,14 @@ class VectorIoInsertParams(TypedDict, total=False):
class ChunkContentImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class ChunkContentImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[ChunkContentImageContentItemInputImageURL]
@@ -48,6 +52,8 @@ class ChunkContentImageContentItemInputImage(TypedDict, total=False):
class ChunkContentImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[ChunkContentImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -55,16 +61,22 @@ class ChunkContentImageContentItemInput(TypedDict, total=False):
class ChunkContentTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
class ChunkContentListImageContentItemInputTextContentItemImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class ChunkContentListImageContentItemInputTextContentItemImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[ChunkContentListImageContentItemInputTextContentItemImageContentItemInputImageURL]
@@ -72,6 +84,8 @@ class ChunkContentListImageContentItemInputTextContentItemImageContentItemInputI
class ChunkContentListImageContentItemInputTextContentItemImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[ChunkContentListImageContentItemInputTextContentItemImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -79,6 +93,8 @@ class ChunkContentListImageContentItemInputTextContentItemImageContentItemInput(
class ChunkContentListImageContentItemInputTextContentItemTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
@@ -98,6 +114,13 @@ class ChunkContentListImageContentItemInputTextContentItemTextContentItem(TypedD
class ChunkChunkMetadata(TypedDict, total=False):
+ """
+ `ChunkMetadata` is backend metadata for a `Chunk` that is used to store additional information about the chunk that
+ will not be used in the context during inference, but is required for backend functionality. The `ChunkMetadata`
+ is set during chunk creation in `MemoryToolRuntimeImpl().insert()`and is not expected to change after.
+ Use `Chunk.metadata` for metadata that will be used in the context during inference.
+ """
+
chunk_embedding_dimension: Optional[int]
chunk_embedding_model: Optional[str]
@@ -122,6 +145,8 @@ class ChunkChunkMetadata(TypedDict, total=False):
class Chunk(TypedDict, total=False):
+ """A chunk of content that can be inserted into a vector database."""
+
chunk_id: Required[str]
content: Required[ChunkContent]
diff --git a/src/llama_stack_client/types/vector_io_query_params.py b/src/llama_stack_client/types/vector_io_query_params.py
index 5427a553..2e1a50a9 100644
--- a/src/llama_stack_client/types/vector_io_query_params.py
+++ b/src/llama_stack_client/types/vector_io_query_params.py
@@ -36,10 +36,14 @@ class VectorIoQueryParams(TypedDict, total=False):
class QueryImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class QueryImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[QueryImageContentItemInputImageURL]
@@ -47,6 +51,8 @@ class QueryImageContentItemInputImage(TypedDict, total=False):
class QueryImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[QueryImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -54,16 +60,22 @@ class QueryImageContentItemInput(TypedDict, total=False):
class QueryTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
class QueryListImageContentItemInputTextContentItemImageContentItemInputImageURL(TypedDict, total=False):
+ """A URL reference to external content."""
+
uri: Required[str]
class QueryListImageContentItemInputTextContentItemImageContentItemInputImage(TypedDict, total=False):
+ """A URL or a base64 encoded string"""
+
data: Optional[str]
url: Optional[QueryListImageContentItemInputTextContentItemImageContentItemInputImageURL]
@@ -71,6 +83,8 @@ class QueryListImageContentItemInputTextContentItemImageContentItemInputImage(Ty
class QueryListImageContentItemInputTextContentItemImageContentItemInput(TypedDict, total=False):
+ """A image content item"""
+
image: Required[QueryListImageContentItemInputTextContentItemImageContentItemInputImage]
"""A URL or a base64 encoded string"""
@@ -78,6 +92,8 @@ class QueryListImageContentItemInputTextContentItemImageContentItemInput(TypedDi
class QueryListImageContentItemInputTextContentItemTextContentItem(TypedDict, total=False):
+ """A text content item"""
+
text: Required[str]
type: Literal["text"]
diff --git a/src/llama_stack_client/types/vector_store.py b/src/llama_stack_client/types/vector_store.py
index d07fe6e1..18404114 100644
--- a/src/llama_stack_client/types/vector_store.py
+++ b/src/llama_stack_client/types/vector_store.py
@@ -14,6 +14,8 @@
class FileCounts(BaseModel):
+ """File processing status counts for a vector store."""
+
cancelled: int
completed: int
@@ -26,6 +28,8 @@ class FileCounts(BaseModel):
class VectorStore(BaseModel):
+ """OpenAI Vector Store object."""
+
id: str
created_at: int
diff --git a/src/llama_stack_client/types/vector_store_create_params.py b/src/llama_stack_client/types/vector_store_create_params.py
index d9438385..3303e36f 100644
--- a/src/llama_stack_client/types/vector_store_create_params.py
+++ b/src/llama_stack_client/types/vector_store_create_params.py
@@ -36,16 +36,22 @@ class VectorStoreCreateParams(TypedDict, total=False):
class ChunkingStrategyVectorStoreChunkingStrategyAuto(TypedDict, total=False):
+ """Automatic chunking strategy for vector store files."""
+
type: Literal["auto"]
class ChunkingStrategyVectorStoreChunkingStrategyStaticStatic(TypedDict, total=False):
+ """Configuration for static chunking strategy."""
+
chunk_overlap_tokens: int
max_chunk_size_tokens: int
class ChunkingStrategyVectorStoreChunkingStrategyStatic(TypedDict, total=False):
+ """Static chunking strategy with configurable parameters."""
+
static: Required[ChunkingStrategyVectorStoreChunkingStrategyStaticStatic]
"""Configuration for static chunking strategy."""
diff --git a/src/llama_stack_client/types/vector_store_delete_response.py b/src/llama_stack_client/types/vector_store_delete_response.py
index 09df003f..6c68b2e2 100644
--- a/src/llama_stack_client/types/vector_store_delete_response.py
+++ b/src/llama_stack_client/types/vector_store_delete_response.py
@@ -14,6 +14,8 @@
class VectorStoreDeleteResponse(BaseModel):
+ """Response from deleting a vector store."""
+
id: str
deleted: Optional[bool] = None
diff --git a/src/llama_stack_client/types/vector_store_search_params.py b/src/llama_stack_client/types/vector_store_search_params.py
index ab4e7e7b..0760ac35 100644
--- a/src/llama_stack_client/types/vector_store_search_params.py
+++ b/src/llama_stack_client/types/vector_store_search_params.py
@@ -32,6 +32,8 @@ class VectorStoreSearchParams(TypedDict, total=False):
class RankingOptions(TypedDict, total=False):
+ """Options for ranking and filtering search results."""
+
ranker: Optional[str]
score_threshold: Optional[float]
diff --git a/src/llama_stack_client/types/vector_store_search_response.py b/src/llama_stack_client/types/vector_store_search_response.py
index 97549ffe..aa10ad1a 100644
--- a/src/llama_stack_client/types/vector_store_search_response.py
+++ b/src/llama_stack_client/types/vector_store_search_response.py
@@ -15,6 +15,13 @@
class DataContentChunkMetadata(BaseModel):
+ """
+ `ChunkMetadata` is backend metadata for a `Chunk` that is used to store additional information about the chunk that
+ will not be used in the context during inference, but is required for backend functionality. The `ChunkMetadata`
+ is set during chunk creation in `MemoryToolRuntimeImpl().insert()`and is not expected to change after.
+ Use `Chunk.metadata` for metadata that will be used in the context during inference.
+ """
+
chunk_embedding_dimension: Optional[int] = None
chunk_embedding_model: Optional[str] = None
@@ -39,6 +46,8 @@ class DataContentChunkMetadata(BaseModel):
class DataContent(BaseModel):
+ """Content item from a vector store file or search result."""
+
text: str
type: Literal["text"]
@@ -59,6 +68,8 @@ class DataContent(BaseModel):
class Data(BaseModel):
+ """Response from searching a vector store."""
+
content: List[DataContent]
file_id: str
@@ -71,6 +82,8 @@ class Data(BaseModel):
class VectorStoreSearchResponse(BaseModel):
+ """Paginated response from searching a vector store."""
+
data: List[Data]
search_query: List[str]
diff --git a/src/llama_stack_client/types/vector_stores/file_batch_create_params.py b/src/llama_stack_client/types/vector_stores/file_batch_create_params.py
index c350f827..b0eaa921 100644
--- a/src/llama_stack_client/types/vector_stores/file_batch_create_params.py
+++ b/src/llama_stack_client/types/vector_stores/file_batch_create_params.py
@@ -32,16 +32,22 @@ class FileBatchCreateParams(TypedDict, total=False):
class ChunkingStrategyVectorStoreChunkingStrategyAuto(TypedDict, total=False):
+ """Automatic chunking strategy for vector store files."""
+
type: Literal["auto"]
class ChunkingStrategyVectorStoreChunkingStrategyStaticStatic(TypedDict, total=False):
+ """Configuration for static chunking strategy."""
+
chunk_overlap_tokens: int
max_chunk_size_tokens: int
class ChunkingStrategyVectorStoreChunkingStrategyStatic(TypedDict, total=False):
+ """Static chunking strategy with configurable parameters."""
+
static: Required[ChunkingStrategyVectorStoreChunkingStrategyStaticStatic]
"""Configuration for static chunking strategy."""
diff --git a/src/llama_stack_client/types/vector_stores/file_content_response.py b/src/llama_stack_client/types/vector_stores/file_content_response.py
index 70f67aa1..47cce9f6 100644
--- a/src/llama_stack_client/types/vector_stores/file_content_response.py
+++ b/src/llama_stack_client/types/vector_stores/file_content_response.py
@@ -15,6 +15,13 @@
class DataChunkMetadata(BaseModel):
+ """
+ `ChunkMetadata` is backend metadata for a `Chunk` that is used to store additional information about the chunk that
+ will not be used in the context during inference, but is required for backend functionality. The `ChunkMetadata`
+ is set during chunk creation in `MemoryToolRuntimeImpl().insert()`and is not expected to change after.
+ Use `Chunk.metadata` for metadata that will be used in the context during inference.
+ """
+
chunk_embedding_dimension: Optional[int] = None
chunk_embedding_model: Optional[str] = None
@@ -39,6 +46,8 @@ class DataChunkMetadata(BaseModel):
class Data(BaseModel):
+ """Content item from a vector store file or search result."""
+
text: str
type: Literal["text"]
@@ -59,6 +68,8 @@ class Data(BaseModel):
class FileContentResponse(BaseModel):
+ """Represents the parsed content of a vector store file."""
+
data: List[Data]
has_more: Optional[bool] = None
diff --git a/src/llama_stack_client/types/vector_stores/file_create_params.py b/src/llama_stack_client/types/vector_stores/file_create_params.py
index 7f81f880..00223ea0 100644
--- a/src/llama_stack_client/types/vector_stores/file_create_params.py
+++ b/src/llama_stack_client/types/vector_stores/file_create_params.py
@@ -30,16 +30,22 @@ class FileCreateParams(TypedDict, total=False):
class ChunkingStrategyVectorStoreChunkingStrategyAuto(TypedDict, total=False):
+ """Automatic chunking strategy for vector store files."""
+
type: Literal["auto"]
class ChunkingStrategyVectorStoreChunkingStrategyStaticStatic(TypedDict, total=False):
+ """Configuration for static chunking strategy."""
+
chunk_overlap_tokens: int
max_chunk_size_tokens: int
class ChunkingStrategyVectorStoreChunkingStrategyStatic(TypedDict, total=False):
+ """Static chunking strategy with configurable parameters."""
+
static: Required[ChunkingStrategyVectorStoreChunkingStrategyStaticStatic]
"""Configuration for static chunking strategy."""
diff --git a/src/llama_stack_client/types/vector_stores/file_delete_response.py b/src/llama_stack_client/types/vector_stores/file_delete_response.py
index 96e84afb..7e5ad372 100644
--- a/src/llama_stack_client/types/vector_stores/file_delete_response.py
+++ b/src/llama_stack_client/types/vector_stores/file_delete_response.py
@@ -14,6 +14,8 @@
class FileDeleteResponse(BaseModel):
+ """Response from deleting a vector store file."""
+
id: str
deleted: Optional[bool] = None
diff --git a/src/llama_stack_client/types/vector_stores/list_vector_store_files_in_batch_response.py b/src/llama_stack_client/types/vector_stores/list_vector_store_files_in_batch_response.py
index fe068361..2b9b8de1 100644
--- a/src/llama_stack_client/types/vector_stores/list_vector_store_files_in_batch_response.py
+++ b/src/llama_stack_client/types/vector_stores/list_vector_store_files_in_batch_response.py
@@ -15,6 +15,8 @@
class ListVectorStoreFilesInBatchResponse(BaseModel):
+ """Response from listing files in a vector store file batch."""
+
data: List[VectorStoreFile]
first_id: Optional[str] = None
diff --git a/src/llama_stack_client/types/vector_stores/vector_store_file.py b/src/llama_stack_client/types/vector_stores/vector_store_file.py
index bbf5f398..05e7804d 100644
--- a/src/llama_stack_client/types/vector_stores/vector_store_file.py
+++ b/src/llama_stack_client/types/vector_stores/vector_store_file.py
@@ -23,16 +23,22 @@
class ChunkingStrategyVectorStoreChunkingStrategyAuto(BaseModel):
+ """Automatic chunking strategy for vector store files."""
+
type: Optional[Literal["auto"]] = None
class ChunkingStrategyVectorStoreChunkingStrategyStaticStatic(BaseModel):
+ """Configuration for static chunking strategy."""
+
chunk_overlap_tokens: Optional[int] = None
max_chunk_size_tokens: Optional[int] = None
class ChunkingStrategyVectorStoreChunkingStrategyStatic(BaseModel):
+ """Static chunking strategy with configurable parameters."""
+
static: ChunkingStrategyVectorStoreChunkingStrategyStaticStatic
"""Configuration for static chunking strategy."""
@@ -46,12 +52,16 @@ class ChunkingStrategyVectorStoreChunkingStrategyStatic(BaseModel):
class LastError(BaseModel):
+ """Error information for failed vector store file processing."""
+
code: Literal["server_error", "rate_limit_exceeded"]
message: str
class VectorStoreFile(BaseModel):
+ """OpenAI Vector Store File object."""
+
id: str
chunking_strategy: ChunkingStrategy
diff --git a/src/llama_stack_client/types/vector_stores/vector_store_file_batches.py b/src/llama_stack_client/types/vector_stores/vector_store_file_batches.py
index ba7ac1c7..b599f629 100644
--- a/src/llama_stack_client/types/vector_stores/vector_store_file_batches.py
+++ b/src/llama_stack_client/types/vector_stores/vector_store_file_batches.py
@@ -15,6 +15,8 @@
class FileCounts(BaseModel):
+ """File processing status counts for a vector store."""
+
cancelled: int
completed: int
@@ -27,6 +29,8 @@ class FileCounts(BaseModel):
class VectorStoreFileBatches(BaseModel):
+ """OpenAI Vector Store File Batch object."""
+
id: str
created_at: int
diff --git a/src/llama_stack_client/types/version_info.py b/src/llama_stack_client/types/version_info.py
index 36cfcbbd..3edeacab 100644
--- a/src/llama_stack_client/types/version_info.py
+++ b/src/llama_stack_client/types/version_info.py
@@ -12,4 +12,6 @@
class VersionInfo(BaseModel):
+ """Version information for the service."""
+
version: str
From c784ae1fd823e70fef91793125fadd44d33ba0ce Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 10 Dec 2025 14:05:19 +0000
Subject: [PATCH 14/28] feat: convert Benchmarks API to use FastAPI router
---
.stats.yml | 4 +--
.../resources/alpha/benchmarks.py | 32 +++++++++++++++++++
.../types/alpha/benchmark.py | 5 ++-
.../types/alpha/benchmark_register_params.py | 6 ++++
.../types/alpha/list_benchmarks_response.py | 3 ++
5 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index cf94343b..0daf19e3 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-418ccf3126ab086a66c822c60204b95ef3192ffa64340bd3a1537ae46b830892.yml
-openapi_spec_hash: 885b75e847506a930b709eb630535912
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-04657ade6bdb9c2a493a086f2607e98c97da7d04c0b0e7d5a53fd60eff062bd2.yml
+openapi_spec_hash: 56d411cdfeec6daae5ac7ea0e74c6217
config_hash: 96aa17ff0395152d8d548b1d1e58b613
diff --git a/src/llama_stack_client/resources/alpha/benchmarks.py b/src/llama_stack_client/resources/alpha/benchmarks.py
index b737258a..8cfb3a1b 100644
--- a/src/llama_stack_client/resources/alpha/benchmarks.py
+++ b/src/llama_stack_client/resources/alpha/benchmarks.py
@@ -67,6 +67,8 @@ def retrieve(
Get a benchmark by its ID.
Args:
+ benchmark_id: The ID of the benchmark to get.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -129,6 +131,18 @@ def register(
Register a benchmark.
Args:
+ benchmark_id: The ID of the benchmark to register.
+
+ dataset_id: The ID of the dataset to use for the benchmark.
+
+ scoring_functions: The scoring functions to use for the benchmark.
+
+ metadata: The metadata to use for the benchmark.
+
+ provider_benchmark_id: The ID of the provider benchmark to use for the benchmark.
+
+ provider_id: The ID of the provider to use for the benchmark.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -173,6 +187,8 @@ def unregister(
Unregister a benchmark.
Args:
+ benchmark_id: The ID of the benchmark to unregister.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -228,6 +244,8 @@ async def retrieve(
Get a benchmark by its ID.
Args:
+ benchmark_id: The ID of the benchmark to get.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -290,6 +308,18 @@ async def register(
Register a benchmark.
Args:
+ benchmark_id: The ID of the benchmark to register.
+
+ dataset_id: The ID of the dataset to use for the benchmark.
+
+ scoring_functions: The scoring functions to use for the benchmark.
+
+ metadata: The metadata to use for the benchmark.
+
+ provider_benchmark_id: The ID of the provider benchmark to use for the benchmark.
+
+ provider_id: The ID of the provider to use for the benchmark.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -334,6 +364,8 @@ async def unregister(
Unregister a benchmark.
Args:
+ benchmark_id: The ID of the benchmark to unregister.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/llama_stack_client/types/alpha/benchmark.py b/src/llama_stack_client/types/alpha/benchmark.py
index 4c15dbd4..ff555036 100644
--- a/src/llama_stack_client/types/alpha/benchmark.py
+++ b/src/llama_stack_client/types/alpha/benchmark.py
@@ -18,6 +18,7 @@ class Benchmark(BaseModel):
"""A benchmark resource for evaluating model performance."""
dataset_id: str
+ """Identifier of the dataset to use for the benchmark evaluation."""
identifier: str
"""Unique identifier for this resource in llama stack"""
@@ -26,11 +27,13 @@ class Benchmark(BaseModel):
"""ID of the provider that owns this resource"""
scoring_functions: List[str]
+ """List of scoring function identifiers to apply during evaluation."""
metadata: Optional[Dict[str, object]] = None
- """Metadata for this evaluation task"""
+ """Metadata for this evaluation task."""
provider_resource_id: Optional[str] = None
"""Unique identifier for this resource in the provider"""
type: Optional[Literal["benchmark"]] = None
+ """The resource type, always benchmark."""
diff --git a/src/llama_stack_client/types/alpha/benchmark_register_params.py b/src/llama_stack_client/types/alpha/benchmark_register_params.py
index 344570d7..b3e09526 100644
--- a/src/llama_stack_client/types/alpha/benchmark_register_params.py
+++ b/src/llama_stack_client/types/alpha/benchmark_register_params.py
@@ -18,13 +18,19 @@
class BenchmarkRegisterParams(TypedDict, total=False):
benchmark_id: Required[str]
+ """The ID of the benchmark to register."""
dataset_id: Required[str]
+ """The ID of the dataset to use for the benchmark."""
scoring_functions: Required[SequenceNotStr[str]]
+ """The scoring functions to use for the benchmark."""
metadata: Optional[Dict[str, object]]
+ """The metadata to use for the benchmark."""
provider_benchmark_id: Optional[str]
+ """The ID of the provider benchmark to use for the benchmark."""
provider_id: Optional[str]
+ """The ID of the provider to use for the benchmark."""
diff --git a/src/llama_stack_client/types/alpha/list_benchmarks_response.py b/src/llama_stack_client/types/alpha/list_benchmarks_response.py
index 8ea3b963..671b1b1d 100644
--- a/src/llama_stack_client/types/alpha/list_benchmarks_response.py
+++ b/src/llama_stack_client/types/alpha/list_benchmarks_response.py
@@ -13,4 +13,7 @@
class ListBenchmarksResponse(BaseModel):
+ """Response containing a list of benchmark objects."""
+
data: BenchmarkListResponse
+ """List of benchmark objects."""
From 05f867b82f03b4ece33c52b68a06b5e68c345ccc Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 11 Dec 2025 18:20:45 +0000
Subject: [PATCH 15/28] feat(api): add readonly connectors API
---
.stats.yml | 6 +++---
api.md | 7 +++++--
src/llama_stack_client/types/alpha/__init__.py | 1 +
.../list_post_training_jobs_response.py | 4 ++--
.../types/alpha/post_training/__init__.py | 1 -
5 files changed, 11 insertions(+), 8 deletions(-)
rename src/llama_stack_client/types/alpha/{post_training => }/list_post_training_jobs_response.py (81%)
diff --git a/.stats.yml b/.stats.yml
index 0daf19e3..a1df9da7 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-04657ade6bdb9c2a493a086f2607e98c97da7d04c0b0e7d5a53fd60eff062bd2.yml
-openapi_spec_hash: 56d411cdfeec6daae5ac7ea0e74c6217
-config_hash: 96aa17ff0395152d8d548b1d1e58b613
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-798a94e418defb2b9c8e7432a9f8a76635439b07e8fd3cc4a158a2b26dd60b90.yml
+openapi_spec_hash: 93b1520629590a9ecaa74d726c006a49
+config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/api.md b/api.md
index 759b2ee8..c613cdb8 100644
--- a/api.md
+++ b/api.md
@@ -459,7 +459,11 @@ Methods:
Types:
```python
-from llama_stack_client.types.alpha import AlgorithmConfig, PostTrainingJob
+from llama_stack_client.types.alpha import (
+ AlgorithmConfig,
+ ListPostTrainingJobsResponse,
+ PostTrainingJob,
+)
```
Methods:
@@ -473,7 +477,6 @@ Types:
```python
from llama_stack_client.types.alpha.post_training import (
- ListPostTrainingJobsResponse,
JobListResponse,
JobArtifactsResponse,
JobStatusResponse,
diff --git a/src/llama_stack_client/types/alpha/__init__.py b/src/llama_stack_client/types/alpha/__init__.py
index e1e0833d..42e0ba8e 100644
--- a/src/llama_stack_client/types/alpha/__init__.py
+++ b/src/llama_stack_client/types/alpha/__init__.py
@@ -22,6 +22,7 @@
from .inference_rerank_response import InferenceRerankResponse as InferenceRerankResponse
from .eval_run_eval_alpha_params import EvalRunEvalAlphaParams as EvalRunEvalAlphaParams
from .eval_evaluate_rows_alpha_params import EvalEvaluateRowsAlphaParams as EvalEvaluateRowsAlphaParams
+from .list_post_training_jobs_response import ListPostTrainingJobsResponse as ListPostTrainingJobsResponse
from .post_training_preference_optimize_params import (
PostTrainingPreferenceOptimizeParams as PostTrainingPreferenceOptimizeParams,
)
diff --git a/src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py b/src/llama_stack_client/types/alpha/list_post_training_jobs_response.py
similarity index 81%
rename from src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py
rename to src/llama_stack_client/types/alpha/list_post_training_jobs_response.py
index cf389748..6c87bcd7 100644
--- a/src/llama_stack_client/types/alpha/post_training/list_post_training_jobs_response.py
+++ b/src/llama_stack_client/types/alpha/list_post_training_jobs_response.py
@@ -6,8 +6,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from ...._models import BaseModel
-from .job_list_response import JobListResponse
+from ..._models import BaseModel
+from .post_training.job_list_response import JobListResponse
__all__ = ["ListPostTrainingJobsResponse"]
diff --git a/src/llama_stack_client/types/alpha/post_training/__init__.py b/src/llama_stack_client/types/alpha/post_training/__init__.py
index f522ffdf..8b609eaa 100644
--- a/src/llama_stack_client/types/alpha/post_training/__init__.py
+++ b/src/llama_stack_client/types/alpha/post_training/__init__.py
@@ -14,4 +14,3 @@
from .job_status_response import JobStatusResponse as JobStatusResponse
from .job_artifacts_params import JobArtifactsParams as JobArtifactsParams
from .job_artifacts_response import JobArtifactsResponse as JobArtifactsResponse
-from .list_post_training_jobs_response import ListPostTrainingJobsResponse as ListPostTrainingJobsResponse
From 05a0330bb08ca21980d79ffdd66cdd2e3af21d51 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 11 Dec 2025 19:12:21 +0000
Subject: [PATCH 16/28] feat: Implement include parameter specifically for
adding logprobs in the output message
---
.stats.yml | 4 +-
.../resources/responses/responses.py | 124 +++++++++-
.../types/chat/completion_create_response.py | 8 +-
.../types/chat/completion_list_response.py | 8 +-
.../chat/completion_retrieve_response.py | 8 +-
.../types/chat_completion_chunk.py | 8 +-
.../types/completion_create_response.py | 8 +-
.../types/conversation_create_params.py | 99 ++++++--
.../types/conversations/item_create_params.py | 99 ++++++--
.../conversations/item_create_response.py | 99 ++++++--
.../types/conversations/item_get_response.py | 51 ++++
.../types/conversations/item_list_response.py | 99 ++++++--
.../types/response_create_params.py | 115 +++++++--
.../types/response_list_response.py | 198 +++++++++++----
.../types/response_object.py | 99 ++++++--
.../types/response_object_stream.py | 231 +++++++++++++++++-
.../responses/input_item_list_response.py | 99 ++++++--
tests/api_resources/test_responses.py | 8 +-
18 files changed, 1109 insertions(+), 256 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a1df9da7..4baa6ddc 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-798a94e418defb2b9c8e7432a9f8a76635439b07e8fd3cc4a158a2b26dd60b90.yml
-openapi_spec_hash: 93b1520629590a9ecaa74d726c006a49
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4cdfb92312df3e349a702847ffb5a464d108247790eec659fb4597712ca37653.yml
+openapi_spec_hash: 0888e1be36cd34c77dd131dc8cc21765
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/responses/responses.py b/src/llama_stack_client/resources/responses/responses.py
index 43307540..bd434a7c 100644
--- a/src/llama_stack_client/resources/responses/responses.py
+++ b/src/llama_stack_client/resources/responses/responses.py
@@ -8,13 +8,13 @@
from __future__ import annotations
-from typing import Dict, Union, Iterable, Optional
+from typing import Dict, List, Union, Iterable, Optional
from typing_extensions import Literal, overload
import httpx
from ...types import response_list_params, response_create_params
-from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
+from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from ..._utils import required_args, maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -79,7 +79,20 @@ def create(
],
model: str,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -130,7 +143,20 @@ def create(
model: str,
stream: Literal[True],
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -180,7 +206,20 @@ def create(
model: str,
stream: bool,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -229,7 +268,20 @@ def create(
],
model: str,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -434,7 +486,20 @@ async def create(
],
model: str,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -485,7 +550,20 @@ async def create(
model: str,
stream: Literal[True],
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -535,7 +613,20 @@ async def create(
model: str,
stream: bool,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
@@ -584,7 +675,20 @@ async def create(
],
model: str,
conversation: Optional[str] | Omit = omit,
- include: Optional[SequenceNotStr[str]] | Omit = omit,
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
+ | Omit = omit,
instructions: Optional[str] | Omit = omit,
max_infer_iters: Optional[int] | Omit = omit,
max_tool_calls: Optional[int] | Omit = omit,
diff --git a/src/llama_stack_client/types/chat/completion_create_response.py b/src/llama_stack_client/types/chat/completion_create_response.py
index a1cbbcf0..c63b4e8f 100644
--- a/src/llama_stack_client/types/chat/completion_create_response.py
+++ b/src/llama_stack_client/types/chat/completion_create_response.py
@@ -265,10 +265,10 @@ class ChoiceLogprobsContent(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsContentTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsContentTopLogprob]] = None
+
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
"""
@@ -300,10 +300,10 @@ class ChoiceLogprobsRefusal(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsRefusalTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsRefusalTopLogprob]] = None
+
class ChoiceLogprobs(BaseModel):
"""
diff --git a/src/llama_stack_client/types/chat/completion_list_response.py b/src/llama_stack_client/types/chat/completion_list_response.py
index 4c8bf3d1..c1f46150 100644
--- a/src/llama_stack_client/types/chat/completion_list_response.py
+++ b/src/llama_stack_client/types/chat/completion_list_response.py
@@ -288,10 +288,10 @@ class DataChoiceLogprobsContent(BaseModel):
logprob: float
- top_logprobs: List[DataChoiceLogprobsContentTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[DataChoiceLogprobsContentTopLogprob]] = None
+
class DataChoiceLogprobsRefusalTopLogprob(BaseModel):
"""
@@ -323,10 +323,10 @@ class DataChoiceLogprobsRefusal(BaseModel):
logprob: float
- top_logprobs: List[DataChoiceLogprobsRefusalTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[DataChoiceLogprobsRefusalTopLogprob]] = None
+
class DataChoiceLogprobs(BaseModel):
"""
diff --git a/src/llama_stack_client/types/chat/completion_retrieve_response.py b/src/llama_stack_client/types/chat/completion_retrieve_response.py
index d4d61af3..f174ddf6 100644
--- a/src/llama_stack_client/types/chat/completion_retrieve_response.py
+++ b/src/llama_stack_client/types/chat/completion_retrieve_response.py
@@ -283,10 +283,10 @@ class ChoiceLogprobsContent(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsContentTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsContentTopLogprob]] = None
+
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
"""
@@ -318,10 +318,10 @@ class ChoiceLogprobsRefusal(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsRefusalTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsRefusalTopLogprob]] = None
+
class ChoiceLogprobs(BaseModel):
"""
diff --git a/src/llama_stack_client/types/chat_completion_chunk.py b/src/llama_stack_client/types/chat_completion_chunk.py
index 27469cf5..c22cb749 100644
--- a/src/llama_stack_client/types/chat_completion_chunk.py
+++ b/src/llama_stack_client/types/chat_completion_chunk.py
@@ -93,10 +93,10 @@ class ChoiceLogprobsContent(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsContentTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsContentTopLogprob]] = None
+
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
"""
@@ -128,10 +128,10 @@ class ChoiceLogprobsRefusal(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsRefusalTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsRefusalTopLogprob]] = None
+
class ChoiceLogprobs(BaseModel):
"""
diff --git a/src/llama_stack_client/types/completion_create_response.py b/src/llama_stack_client/types/completion_create_response.py
index 70e53a0e..e19a33d3 100644
--- a/src/llama_stack_client/types/completion_create_response.py
+++ b/src/llama_stack_client/types/completion_create_response.py
@@ -52,10 +52,10 @@ class ChoiceLogprobsContent(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsContentTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsContentTopLogprob]] = None
+
class ChoiceLogprobsRefusalTopLogprob(BaseModel):
"""
@@ -87,10 +87,10 @@ class ChoiceLogprobsRefusal(BaseModel):
logprob: float
- top_logprobs: List[ChoiceLogprobsRefusalTopLogprob]
-
bytes: Optional[List[int]] = None
+ top_logprobs: Optional[List[ChoiceLogprobsRefusalTopLogprob]] = None
+
class ChoiceLogprobs(BaseModel):
"""
diff --git a/src/llama_stack_client/types/conversation_create_params.py b/src/llama_stack_client/types/conversation_create_params.py
index e1238a94..6a6cce63 100644
--- a/src/llama_stack_client/types/conversation_create_params.py
+++ b/src/llama_stack_client/types/conversation_create_params.py
@@ -21,14 +21,16 @@
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"ItemOpenAIResponseOutputMessageWebSearchToolCall",
"ItemOpenAIResponseOutputMessageFileSearchToolCall",
"ItemOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -95,7 +97,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
"""File citation annotation for referencing specific files in response content."""
@@ -109,7 +111,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["file_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
"""URL citation annotation for referencing external web resources."""
@@ -125,7 +127,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["url_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation(
TypedDict, total=False
):
container_id: Required[str]
@@ -141,7 +143,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["container_file_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath(
TypedDict, total=False
):
file_id: Required[str]
@@ -151,27 +153,76 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["file_path"]
-ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Union[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation: TypeAlias = Union[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath,
]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob(
+ TypedDict, total=False
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob(
+ TypedDict, total=False
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+ top_logprobs: Optional[
+ Iterable[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob
+ ]
+ ]
+
+
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput(
TypedDict, total=False
):
text: Required[str]
annotations: Iterable[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation
+ ]
+
+ logprobs: Optional[
+ Iterable[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob
+ ]
]
type: Literal["output_text"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
"""Refusal content within a streamed response part."""
@@ -181,9 +232,9 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["refusal"]
-ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Union[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal: TypeAlias = Union[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
]
@@ -202,7 +253,7 @@ class ItemOpenAIResponseMessageInput(TypedDict, total=False):
ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
Iterable[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal
],
]
]
diff --git a/src/llama_stack_client/types/conversations/item_create_params.py b/src/llama_stack_client/types/conversations/item_create_params.py
index dc8d2a98..583030b7 100644
--- a/src/llama_stack_client/types/conversations/item_create_params.py
+++ b/src/llama_stack_client/types/conversations/item_create_params.py
@@ -21,14 +21,16 @@
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob",
+ "ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"ItemOpenAIResponseOutputMessageWebSearchToolCall",
"ItemOpenAIResponseOutputMessageFileSearchToolCall",
"ItemOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -93,7 +95,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContent
]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
"""File citation annotation for referencing specific files in response content."""
@@ -107,7 +109,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["file_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
"""URL citation annotation for referencing external web resources."""
@@ -123,7 +125,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["url_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation(
TypedDict, total=False
):
container_id: Required[str]
@@ -139,7 +141,7 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["container_file_citation"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath(
TypedDict, total=False
):
file_id: Required[str]
@@ -149,27 +151,76 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["file_path"]
-ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Union[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation: TypeAlias = Union[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath,
]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob(
+ TypedDict, total=False
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob(
+ TypedDict, total=False
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+ top_logprobs: Optional[
+ Iterable[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob
+ ]
+ ]
+
+
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput(
TypedDict, total=False
):
text: Required[str]
annotations: Iterable[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation
+ ]
+
+ logprobs: Optional[
+ Iterable[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob
+ ]
]
type: Literal["output_text"]
-class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
"""Refusal content within a streamed response part."""
@@ -179,9 +230,9 @@ class ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageConten
type: Literal["refusal"]
-ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Union[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal: TypeAlias = Union[
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput,
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
]
@@ -200,7 +251,7 @@ class ItemOpenAIResponseMessageInput(TypedDict, total=False):
ItemOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
Iterable[
- ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ ItemOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal
],
]
]
diff --git a/src/llama_stack_client/types/conversations/item_create_response.py b/src/llama_stack_client/types/conversations/item_create_response.py
index c9386fe5..9e4fc7f9 100644
--- a/src/llama_stack_client/types/conversations/item_create_response.py
+++ b/src/llama_stack_client/types/conversations/item_create_response.py
@@ -20,14 +20,16 @@
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"DataOpenAIResponseOutputMessageWebSearchToolCall",
"DataOpenAIResponseOutputMessageFileSearchToolCall",
"DataOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -91,7 +93,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
]
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -105,7 +107,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["file_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -121,7 +123,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["url_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -137,7 +139,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["container_file_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -147,32 +149,81 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["file_path"]] = None
-DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -182,10 +233,10 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["refusal"]] = None
-DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -205,7 +256,7 @@ class DataOpenAIResponseMessageOutput(BaseModel):
DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
diff --git a/src/llama_stack_client/types/conversations/item_get_response.py b/src/llama_stack_client/types/conversations/item_get_response.py
index 8995d2ad..b3574579 100644
--- a/src/llama_stack_client/types/conversations/item_get_response.py
+++ b/src/llama_stack_client/types/conversations/item_get_response.py
@@ -25,6 +25,8 @@
"ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
"ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
"ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
+ "ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob",
+ "ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob",
"ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
]
@@ -146,6 +148,49 @@ class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseConte
]
+class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob
+ ]
+ ] = None
+
+
class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
BaseModel
):
@@ -157,6 +202,12 @@ class ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseConte
]
] = None
+ logprobs: Optional[
+ List[
+ ContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob
+ ]
+ ] = None
+
type: Optional[Literal["output_text"]] = None
diff --git a/src/llama_stack_client/types/conversations/item_list_response.py b/src/llama_stack_client/types/conversations/item_list_response.py
index 1ec9ba41..e8cb7812 100644
--- a/src/llama_stack_client/types/conversations/item_list_response.py
+++ b/src/llama_stack_client/types/conversations/item_list_response.py
@@ -19,14 +19,16 @@
"OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"OpenAIResponseOutputMessageWebSearchToolCall",
"OpenAIResponseOutputMessageFileSearchToolCall",
"OpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -90,7 +92,7 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTex
]
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -104,7 +106,7 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
type: Optional[Literal["file_citation"]] = None
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -120,7 +122,7 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
type: Optional[Literal["url_citation"]] = None
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -136,7 +138,7 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
type: Optional[Literal["container_file_citation"]] = None
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -146,32 +148,81 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
type: Optional[Literal["file_path"]] = None
-OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -181,10 +232,10 @@ class OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOu
type: Optional[Literal["refusal"]] = None
-OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -204,7 +255,7 @@ class OpenAIResponseMessageOutput(BaseModel):
OpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ OpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
diff --git a/src/llama_stack_client/types/response_create_params.py b/src/llama_stack_client/types/response_create_params.py
index 904b2486..99215d48 100644
--- a/src/llama_stack_client/types/response_create_params.py
+++ b/src/llama_stack_client/types/response_create_params.py
@@ -8,7 +8,7 @@
from __future__ import annotations
-from typing import Dict, Union, Iterable, Optional
+from typing import Dict, List, Union, Iterable, Optional
from typing_extensions import Literal, Required, TypeAlias, TypedDict
from .._types import SequenceNotStr
@@ -21,14 +21,16 @@
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob",
+ "InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageWebSearchToolCall",
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageFileSearchToolCall",
"InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -68,7 +70,19 @@ class ResponseCreateParamsBase(TypedDict, total=False):
conversation: Optional[str]
- include: Optional[SequenceNotStr[str]]
+ include: Optional[
+ List[
+ Literal[
+ "web_search_call.action.sources",
+ "code_interpreter_call.outputs",
+ "computer_call_output.output.image_url",
+ "file_search_call.results",
+ "message.input_image.image_url",
+ "message.output_text.logprobs",
+ "reasoning.encrypted_content",
+ ]
+ ]
+ ]
instructions: Optional[str]
@@ -142,7 +156,7 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation(
TypedDict, total=False
):
"""File citation annotation for referencing specific files in response content."""
@@ -156,7 +170,7 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
type: Literal["file_citation"]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation(
TypedDict, total=False
):
"""URL citation annotation for referencing external web resources."""
@@ -172,7 +186,7 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
type: Literal["url_citation"]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation(
TypedDict, total=False
):
container_id: Required[str]
@@ -188,7 +202,7 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
type: Literal["container_file_citation"]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath(
TypedDict, total=False
):
file_id: Required[str]
@@ -198,27 +212,76 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
type: Literal["file_path"]
-InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Union[
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation: TypeAlias = Union[
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFileCitation,
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationCitation,
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotationOpenAIResponseAnnotationFilePath,
]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob(
+ TypedDict, total=False
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob(
+ TypedDict, total=False
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: Required[str]
+
+ logprob: Required[float]
+
+ bytes: Optional[Iterable[int]]
+
+ top_logprobs: Optional[
+ Iterable[
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprobTopLogprob
+ ]
+ ]
+
+
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput(
TypedDict, total=False
):
text: Required[str]
annotations: Iterable[
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputAnnotation
+ ]
+
+ logprobs: Optional[
+ Iterable[
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInputLogprob
+ ]
]
type: Literal["output_text"]
-class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
TypedDict, total=False
):
"""Refusal content within a streamed response part."""
@@ -228,9 +291,9 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
type: Literal["refusal"]
-InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Union[
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal: TypeAlias = Union[
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextInput,
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
]
@@ -251,7 +314,7 @@ class InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutp
InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
Iterable[
- InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ InputListOpenAIResponseMessageUnionOpenAIResponseInputFunctionToolCallOutputOpenAIResponseMessageInputContentListOpenAIResponseOutputMessageContentOutputTextInputOpenAIResponseContentPartRefusal
],
]
]
diff --git a/src/llama_stack_client/types/response_list_response.py b/src/llama_stack_client/types/response_list_response.py
index 6e38dbfb..e84b75b8 100644
--- a/src/llama_stack_client/types/response_list_response.py
+++ b/src/llama_stack_client/types/response_list_response.py
@@ -22,14 +22,16 @@
"InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"InputOpenAIResponseOutputMessageWebSearchToolCall",
"InputOpenAIResponseOutputMessageFileSearchToolCall",
"InputOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -46,14 +48,16 @@
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"OutputOpenAIResponseOutputMessageWebSearchToolCall",
"OutputOpenAIResponseOutputMessageFileSearchToolCall",
"OutputOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -134,7 +138,7 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConte
]
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -148,7 +152,7 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
type: Optional[Literal["file_citation"]] = None
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -164,7 +168,7 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
type: Optional[Literal["url_citation"]] = None
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -180,7 +184,7 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
type: Optional[Literal["container_file_citation"]] = None
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -190,32 +194,81 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
type: Optional[Literal["file_path"]] = None
-InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -225,10 +278,10 @@ class InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCont
type: Optional[Literal["refusal"]] = None
-InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -248,7 +301,7 @@ class InputOpenAIResponseMessageOutput(BaseModel):
InputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ InputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
@@ -463,7 +516,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
]
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -477,7 +530,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["file_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -493,7 +546,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["url_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -509,7 +562,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["container_file_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -519,32 +572,81 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["file_path"]] = None
-OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -554,10 +656,10 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["refusal"]] = None
-OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -577,7 +679,7 @@ class OutputOpenAIResponseMessageOutput(BaseModel):
OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
diff --git a/src/llama_stack_client/types/response_object.py b/src/llama_stack_client/types/response_object.py
index c69df040..16b262f4 100644
--- a/src/llama_stack_client/types/response_object.py
+++ b/src/llama_stack_client/types/response_object.py
@@ -22,14 +22,16 @@
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"OutputOpenAIResponseOutputMessageWebSearchToolCall",
"OutputOpenAIResponseOutputMessageFileSearchToolCall",
"OutputOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -110,7 +112,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageCont
]
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -124,7 +126,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["file_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -140,7 +142,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["url_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -156,7 +158,7 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["container_file_citation"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -166,32 +168,81 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["file_path"]] = None
-OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -201,10 +252,10 @@ class OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageCon
type: Optional[Literal["refusal"]] = None
-OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -224,7 +275,7 @@ class OutputOpenAIResponseMessageOutput(BaseModel):
OutputOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ OutputOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
diff --git a/src/llama_stack_client/types/response_object_stream.py b/src/llama_stack_client/types/response_object_stream.py
index a0932048..fea7e92d 100644
--- a/src/llama_stack_client/types/response_object_stream.py
+++ b/src/llama_stack_client/types/response_object_stream.py
@@ -31,6 +31,8 @@
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
+ "OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob",
+ "OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob",
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageWebSearchToolCall",
"OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseOutputMessageFileSearchToolCall",
@@ -54,6 +56,8 @@
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
+ "OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob",
+ "OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageWebSearchToolCall",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageFileSearchToolCall",
@@ -64,6 +68,8 @@
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseOutputMessageMcpListToolsTool",
"OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMcpApprovalRequest",
"OpenAIResponseObjectStreamResponseOutputTextDelta",
+ "OpenAIResponseObjectStreamResponseOutputTextDeltaLogprob",
+ "OpenAIResponseObjectStreamResponseOutputTextDeltaLogprobTopLogprob",
"OpenAIResponseObjectStreamResponseOutputTextDone",
"OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta",
"OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone",
@@ -86,6 +92,8 @@
"OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationCitation",
"OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
"OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationFilePath",
+ "OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprob",
+ "OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprobTopLogprob",
"OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartRefusal",
"OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartReasoningText",
"OpenAIResponseObjectStreamResponseContentPartDone",
@@ -96,6 +104,8 @@
"OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationCitation",
"OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
"OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotationOpenAIResponseAnnotationFilePath",
+ "OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprob",
+ "OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprobTopLogprob",
"OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartRefusal",
"OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartReasoningText",
"OpenAIResponseObjectStreamResponseReasoningTextDelta",
@@ -260,6 +270,49 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
]
+class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob
+ ]
+ ] = None
+
+
class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
BaseModel
):
@@ -271,6 +324,12 @@ class OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessage
]
] = None
+ logprobs: Optional[
+ List[
+ OpenAIResponseObjectStreamResponseOutputItemAddedItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob
+ ]
+ ] = None
+
type: Optional[Literal["output_text"]] = None
@@ -582,6 +641,49 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
]
+class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprobTopLogprob
+ ]
+ ] = None
+
+
class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
BaseModel
):
@@ -593,6 +695,12 @@ class OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageC
]
] = None
+ logprobs: Optional[
+ List[
+ OpenAIResponseObjectStreamResponseOutputItemDoneItemOpenAIResponseMessageContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextLogprob
+ ]
+ ] = None
+
type: Optional[Literal["output_text"]] = None
@@ -787,6 +895,41 @@ class OpenAIResponseObjectStreamResponseOutputItemDone(BaseModel):
type: Optional[Literal["response.output_item.done"]] = None
+class OpenAIResponseObjectStreamResponseOutputTextDeltaLogprobTopLogprob(BaseModel):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseObjectStreamResponseOutputTextDeltaLogprob(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[List[OpenAIResponseObjectStreamResponseOutputTextDeltaLogprobTopLogprob]] = None
+
+
class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
"""Streaming event for incremental text content updates."""
@@ -800,6 +943,8 @@ class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
sequence_number: int
+ logprobs: Optional[List[OpenAIResponseObjectStreamResponseOutputTextDeltaLogprob]] = None
+
type: Optional[Literal["response.output_text.delta"]] = None
@@ -1018,6 +1163,45 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
]
+class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprob(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprobTopLogprob]
+ ] = None
+
+
class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputText(BaseModel):
"""Text content within a streamed response part."""
@@ -1027,7 +1211,9 @@ class OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseConten
List[OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextAnnotation]
] = None
- logprobs: Optional[List[Dict[str, object]]] = None
+ logprobs: Optional[
+ List[OpenAIResponseObjectStreamResponseContentPartAddedPartOpenAIResponseContentPartOutputTextLogprob]
+ ] = None
type: Optional[Literal["output_text"]] = None
@@ -1144,6 +1330,45 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
]
+class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprob(BaseModel):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprobTopLogprob]
+ ] = None
+
+
class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputText(BaseModel):
"""Text content within a streamed response part."""
@@ -1153,7 +1378,9 @@ class OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContent
List[OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextAnnotation]
] = None
- logprobs: Optional[List[Dict[str, object]]] = None
+ logprobs: Optional[
+ List[OpenAIResponseObjectStreamResponseContentPartDonePartOpenAIResponseContentPartOutputTextLogprob]
+ ] = None
type: Optional[Literal["output_text"]] = None
diff --git a/src/llama_stack_client/types/responses/input_item_list_response.py b/src/llama_stack_client/types/responses/input_item_list_response.py
index 54680d6b..e0aebd6a 100644
--- a/src/llama_stack_client/types/responses/input_item_list_response.py
+++ b/src/llama_stack_client/types/responses/input_item_list_response.py
@@ -20,14 +20,16 @@
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentText",
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentImage",
"DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFileOpenAIResponseInputMessageContentFile",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath",
- "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob",
+ "DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal",
"DataOpenAIResponseOutputMessageWebSearchToolCall",
"DataOpenAIResponseOutputMessageFileSearchToolCall",
"DataOpenAIResponseOutputMessageFileSearchToolCallResult",
@@ -91,7 +93,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageConten
]
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation(
BaseModel
):
"""File citation annotation for referencing specific files in response content."""
@@ -105,7 +107,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["file_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation(
BaseModel
):
"""URL citation annotation for referencing external web resources."""
@@ -121,7 +123,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["url_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation(
BaseModel
):
container_id: str
@@ -137,7 +139,7 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["container_file_citation"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath(
BaseModel
):
file_id: str
@@ -147,32 +149,81 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["file_path"]] = None
-DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation: TypeAlias = Annotated[
+DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation: TypeAlias = Annotated[
Union[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFileCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationContainerFileCitation,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotationOpenAIResponseAnnotationFilePath,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFileCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationContainerFileCitation,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotationOpenAIResponseAnnotationFilePath,
],
PropertyInfo(discriminator="type"),
]
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob(
+ BaseModel
+):
+ """
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob(
+ BaseModel
+):
+ """
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ """
+
+ token: str
+
+ logprob: float
+
+ bytes: Optional[List[int]] = None
+
+ top_logprobs: Optional[
+ List[
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprobTopLogprob
+ ]
+ ] = None
+
+
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput(
BaseModel
):
text: str
annotations: Optional[
List[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextAnnotation
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputAnnotation
+ ]
+ ] = None
+
+ logprobs: Optional[
+ List[
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutputLogprob
]
] = None
type: Optional[Literal["output_text"]] = None
-class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
+class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal(
BaseModel
):
"""Refusal content within a streamed response part."""
@@ -182,10 +233,10 @@ class DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageConte
type: Optional[Literal["refusal"]] = None
-DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
+DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal: TypeAlias = Annotated[
Union[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputText,
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseOutputMessageContentOutputTextOutput,
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusalOpenAIResponseContentPartRefusal,
],
PropertyInfo(discriminator="type"),
]
@@ -205,7 +256,7 @@ class DataOpenAIResponseMessageOutput(BaseModel):
DataOpenAIResponseMessageOutputContentListOpenAIResponseInputMessageContentTextOpenAIResponseInputMessageContentImageOpenAIResponseInputMessageContentFile
],
List[
- DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOpenAIResponseContentPartRefusal
+ DataOpenAIResponseMessageOutputContentListOpenAIResponseOutputMessageContentOutputTextOutputOpenAIResponseContentPartRefusal
],
]
diff --git a/tests/api_resources/test_responses.py b/tests/api_resources/test_responses.py
index b2a832db..3025b119 100644
--- a/tests/api_resources/test_responses.py
+++ b/tests/api_resources/test_responses.py
@@ -42,7 +42,7 @@ def test_method_create_with_all_params_overload_1(self, client: LlamaStackClient
input="string",
model="model",
conversation="conversation",
- include=["string"],
+ include=["web_search_call.action.sources"],
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
@@ -122,7 +122,7 @@ def test_method_create_with_all_params_overload_2(self, client: LlamaStackClient
model="model",
stream=True,
conversation="conversation",
- include=["string"],
+ include=["web_search_call.action.sources"],
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
@@ -317,7 +317,7 @@ async def test_method_create_with_all_params_overload_1(self, async_client: Asyn
input="string",
model="model",
conversation="conversation",
- include=["string"],
+ include=["web_search_call.action.sources"],
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
@@ -397,7 +397,7 @@ async def test_method_create_with_all_params_overload_2(self, async_client: Asyn
model="model",
stream=True,
conversation="conversation",
- include=["string"],
+ include=["web_search_call.action.sources"],
instructions="instructions",
max_infer_iters=0,
max_tool_calls=0,
From aaa0ebed355c638ed3adc75bfca6605b51ce73d1 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 14 Dec 2025 12:51:56 +0000
Subject: [PATCH 17/28] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 4baa6ddc..beb66d59 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-4cdfb92312df3e349a702847ffb5a464d108247790eec659fb4597712ca37653.yml
-openapi_spec_hash: 0888e1be36cd34c77dd131dc8cc21765
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-2ab91951d2e9eb5826722654cbd60469dd4c97d61001fd3447f1b76a8a968a05.yml
+openapi_spec_hash: 74a8bcd7a79e69299b452d63e20ddf46
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
From 32c453f2c2ba39e65830d36f92b11d7ea6bf98f5 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 15 Dec 2025 19:23:10 +0000
Subject: [PATCH 18/28] feat: add support for tool_choice to repsponses api
---
.stats.yml | 4 +-
.../resources/responses/responses.py | 22 ++++++
.../types/response_create_params.py | 69 ++++++++++++++++++
.../types/response_list_response.py | 72 +++++++++++++++++++
.../types/response_object.py | 72 +++++++++++++++++++
tests/api_resources/test_responses.py | 4 ++
6 files changed, 241 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index beb66d59..dc614508 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-2ab91951d2e9eb5826722654cbd60469dd4c97d61001fd3447f1b76a8a968a05.yml
-openapi_spec_hash: 74a8bcd7a79e69299b452d63e20ddf46
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-0ee7c2f0b6a30d3cd938f7508fa72003432f69bf8881f03817486510b8e2c7ab.yml
+openapi_spec_hash: a84bb7c34c365485bdf243ce1d960817
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/responses/responses.py b/src/llama_stack_client/resources/responses/responses.py
index bd434a7c..f2df1b4f 100644
--- a/src/llama_stack_client/resources/responses/responses.py
+++ b/src/llama_stack_client/resources/responses/responses.py
@@ -104,6 +104,7 @@ def create(
stream: Optional[Literal[False]] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -120,6 +121,8 @@ def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -167,6 +170,7 @@ def create(
store: Optional[bool] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -183,6 +187,8 @@ def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -230,6 +236,7 @@ def create(
store: Optional[bool] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -246,6 +253,8 @@ def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -293,6 +302,7 @@ def create(
stream: Optional[Literal[False]] | Literal[True] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -320,6 +330,7 @@ def create(
"stream": stream,
"temperature": temperature,
"text": text,
+ "tool_choice": tool_choice,
"tools": tools,
},
response_create_params.ResponseCreateParamsStreaming
@@ -511,6 +522,7 @@ async def create(
stream: Optional[Literal[False]] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -527,6 +539,8 @@ async def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -574,6 +588,7 @@ async def create(
store: Optional[bool] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -590,6 +605,8 @@ async def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -637,6 +654,7 @@ async def create(
store: Optional[bool] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -653,6 +671,8 @@ async def create(
text: Text response configuration for OpenAI responses.
+ tool_choice: Constrains the tools available to the model to a pre-defined set.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -700,6 +720,7 @@ async def create(
stream: Optional[Literal[False]] | Literal[True] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: Optional[response_create_params.Text] | Omit = omit,
+ tool_choice: Optional[response_create_params.ToolChoice] | Omit = omit,
tools: Optional[Iterable[response_create_params.Tool]] | Omit = omit,
# 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.
@@ -727,6 +748,7 @@ async def create(
"stream": stream,
"temperature": temperature,
"text": text,
+ "tool_choice": tool_choice,
"tools": tools,
},
response_create_params.ResponseCreateParamsStreaming
diff --git a/src/llama_stack_client/types/response_create_params.py b/src/llama_stack_client/types/response_create_params.py
index 99215d48..c0f87286 100644
--- a/src/llama_stack_client/types/response_create_params.py
+++ b/src/llama_stack_client/types/response_create_params.py
@@ -48,6 +48,13 @@
"PromptVariablesOpenAIResponseInputMessageContentFile",
"Text",
"TextFormat",
+ "ToolChoice",
+ "ToolChoiceOpenAIResponseInputToolChoiceAllowedTools",
+ "ToolChoiceOpenAIResponseInputToolChoiceFileSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceWebSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceFunctionTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceMcpTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceCustomTool",
"Tool",
"ToolOpenAIResponseInputToolWebSearch",
"ToolOpenAIResponseInputToolFileSearch",
@@ -106,6 +113,9 @@ class ResponseCreateParamsBase(TypedDict, total=False):
text: Optional[Text]
"""Text response configuration for OpenAI responses."""
+ tool_choice: Optional[ToolChoice]
+ """Constrains the tools available to the model to a pre-defined set."""
+
tools: Optional[Iterable[Tool]]
@@ -580,6 +590,65 @@ class Text(TypedDict, total=False):
"""Configuration for Responses API text format."""
+class ToolChoiceOpenAIResponseInputToolChoiceAllowedTools(TypedDict, total=False):
+ """Constrains the tools available to the model to a pre-defined set."""
+
+ tools: Required[Iterable[Dict[str, str]]]
+
+ mode: Literal["auto", "required"]
+
+ type: Literal["allowed_tools"]
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFileSearch(TypedDict, total=False):
+ """Indicates that the model should use file search to generate a response."""
+
+ type: Literal["file_search"]
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceWebSearch(TypedDict, total=False):
+ """Indicates that the model should use web search to generate a response"""
+
+ type: Literal["web_search", "web_search_preview", "web_search_preview_2025_03_11", "web_search_2025_08_26"]
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFunctionTool(TypedDict, total=False):
+ """Forces the model to call a specific function."""
+
+ name: Required[str]
+
+ type: Literal["function"]
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceMcpTool(TypedDict, total=False):
+ """Forces the model to call a specific tool on a remote MCP server"""
+
+ server_label: Required[str]
+
+ name: Optional[str]
+
+ type: Literal["mcp"]
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceCustomTool(TypedDict, total=False):
+ """Forces the model to call a custom tool."""
+
+ name: Required[str]
+
+ type: Literal["custom"]
+
+
+ToolChoice: TypeAlias = Union[
+ Literal["auto", "required", "none"],
+ ToolChoiceOpenAIResponseInputToolChoiceAllowedTools,
+ ToolChoiceOpenAIResponseInputToolChoiceFileSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceWebSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceFunctionTool,
+ ToolChoiceOpenAIResponseInputToolChoiceMcpTool,
+ ToolChoiceOpenAIResponseInputToolChoiceCustomTool,
+]
+
+
class ToolOpenAIResponseInputToolWebSearch(TypedDict, total=False):
"""Web search tool configuration for OpenAI response inputs."""
diff --git a/src/llama_stack_client/types/response_list_response.py b/src/llama_stack_client/types/response_list_response.py
index e84b75b8..517badaf 100644
--- a/src/llama_stack_client/types/response_list_response.py
+++ b/src/llama_stack_client/types/response_list_response.py
@@ -74,6 +74,13 @@
"PromptVariablesOpenAIResponseInputMessageContentFile",
"Text",
"TextFormat",
+ "ToolChoice",
+ "ToolChoiceOpenAIResponseInputToolChoiceAllowedTools",
+ "ToolChoiceOpenAIResponseInputToolChoiceFileSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceWebSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceFunctionTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceMcpTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceCustomTool",
"Tool",
"ToolOpenAIResponseInputToolWebSearch",
"ToolOpenAIResponseInputToolFileSearch",
@@ -897,6 +904,68 @@ class Text(BaseModel):
"""Configuration for Responses API text format."""
+class ToolChoiceOpenAIResponseInputToolChoiceAllowedTools(BaseModel):
+ """Constrains the tools available to the model to a pre-defined set."""
+
+ tools: List[Dict[str, str]]
+
+ mode: Optional[Literal["auto", "required"]] = None
+
+ type: Optional[Literal["allowed_tools"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFileSearch(BaseModel):
+ """Indicates that the model should use file search to generate a response."""
+
+ type: Optional[Literal["file_search"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceWebSearch(BaseModel):
+ """Indicates that the model should use web search to generate a response"""
+
+ type: Optional[
+ Literal["web_search", "web_search_preview", "web_search_preview_2025_03_11", "web_search_2025_08_26"]
+ ] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFunctionTool(BaseModel):
+ """Forces the model to call a specific function."""
+
+ name: str
+
+ type: Optional[Literal["function"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceMcpTool(BaseModel):
+ """Forces the model to call a specific tool on a remote MCP server"""
+
+ server_label: str
+
+ name: Optional[str] = None
+
+ type: Optional[Literal["mcp"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceCustomTool(BaseModel):
+ """Forces the model to call a custom tool."""
+
+ name: str
+
+ type: Optional[Literal["custom"]] = None
+
+
+ToolChoice: TypeAlias = Union[
+ Literal["auto", "required", "none"],
+ ToolChoiceOpenAIResponseInputToolChoiceAllowedTools,
+ ToolChoiceOpenAIResponseInputToolChoiceFileSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceWebSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceFunctionTool,
+ ToolChoiceOpenAIResponseInputToolChoiceMcpTool,
+ ToolChoiceOpenAIResponseInputToolChoiceCustomTool,
+ None,
+]
+
+
class ToolOpenAIResponseInputToolWebSearch(BaseModel):
"""Web search tool configuration for OpenAI response inputs."""
@@ -1040,6 +1109,9 @@ class ResponseListResponse(BaseModel):
text: Optional[Text] = None
"""Text response configuration for OpenAI responses."""
+ tool_choice: Optional[ToolChoice] = None
+ """Constrains the tools available to the model to a pre-defined set."""
+
tools: Optional[List[Tool]] = None
top_p: Optional[float] = None
diff --git a/src/llama_stack_client/types/response_object.py b/src/llama_stack_client/types/response_object.py
index 16b262f4..41e0e963 100644
--- a/src/llama_stack_client/types/response_object.py
+++ b/src/llama_stack_client/types/response_object.py
@@ -48,6 +48,13 @@
"PromptVariablesOpenAIResponseInputMessageContentFile",
"Text",
"TextFormat",
+ "ToolChoice",
+ "ToolChoiceOpenAIResponseInputToolChoiceAllowedTools",
+ "ToolChoiceOpenAIResponseInputToolChoiceFileSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceWebSearch",
+ "ToolChoiceOpenAIResponseInputToolChoiceFunctionTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceMcpTool",
+ "ToolChoiceOpenAIResponseInputToolChoiceCustomTool",
"Tool",
"ToolOpenAIResponseInputToolWebSearch",
"ToolOpenAIResponseInputToolFileSearch",
@@ -493,6 +500,68 @@ class Text(BaseModel):
"""Configuration for Responses API text format."""
+class ToolChoiceOpenAIResponseInputToolChoiceAllowedTools(BaseModel):
+ """Constrains the tools available to the model to a pre-defined set."""
+
+ tools: List[Dict[str, str]]
+
+ mode: Optional[Literal["auto", "required"]] = None
+
+ type: Optional[Literal["allowed_tools"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFileSearch(BaseModel):
+ """Indicates that the model should use file search to generate a response."""
+
+ type: Optional[Literal["file_search"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceWebSearch(BaseModel):
+ """Indicates that the model should use web search to generate a response"""
+
+ type: Optional[
+ Literal["web_search", "web_search_preview", "web_search_preview_2025_03_11", "web_search_2025_08_26"]
+ ] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceFunctionTool(BaseModel):
+ """Forces the model to call a specific function."""
+
+ name: str
+
+ type: Optional[Literal["function"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceMcpTool(BaseModel):
+ """Forces the model to call a specific tool on a remote MCP server"""
+
+ server_label: str
+
+ name: Optional[str] = None
+
+ type: Optional[Literal["mcp"]] = None
+
+
+class ToolChoiceOpenAIResponseInputToolChoiceCustomTool(BaseModel):
+ """Forces the model to call a custom tool."""
+
+ name: str
+
+ type: Optional[Literal["custom"]] = None
+
+
+ToolChoice: TypeAlias = Union[
+ Literal["auto", "required", "none"],
+ ToolChoiceOpenAIResponseInputToolChoiceAllowedTools,
+ ToolChoiceOpenAIResponseInputToolChoiceFileSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceWebSearch,
+ ToolChoiceOpenAIResponseInputToolChoiceFunctionTool,
+ ToolChoiceOpenAIResponseInputToolChoiceMcpTool,
+ ToolChoiceOpenAIResponseInputToolChoiceCustomTool,
+ None,
+]
+
+
class ToolOpenAIResponseInputToolWebSearch(BaseModel):
"""Web search tool configuration for OpenAI response inputs."""
@@ -642,6 +711,9 @@ def output_text(self) -> str:
text: Optional[Text] = None
"""Text response configuration for OpenAI responses."""
+ tool_choice: Optional[ToolChoice] = None
+ """Constrains the tools available to the model to a pre-defined set."""
+
tools: Optional[List[Tool]] = None
top_p: Optional[float] = None
diff --git a/tests/api_resources/test_responses.py b/tests/api_resources/test_responses.py
index 3025b119..8d030e30 100644
--- a/tests/api_resources/test_responses.py
+++ b/tests/api_resources/test_responses.py
@@ -71,6 +71,7 @@ def test_method_create_with_all_params_overload_1(self, client: LlamaStackClient
"type": "text",
}
},
+ tool_choice="auto",
tools=[
{
"search_context_size": 'S?oC"high',
@@ -150,6 +151,7 @@ def test_method_create_with_all_params_overload_2(self, client: LlamaStackClient
"type": "text",
}
},
+ tool_choice="auto",
tools=[
{
"search_context_size": 'S?oC"high',
@@ -346,6 +348,7 @@ async def test_method_create_with_all_params_overload_1(self, async_client: Asyn
"type": "text",
}
},
+ tool_choice="auto",
tools=[
{
"search_context_size": 'S?oC"high',
@@ -425,6 +428,7 @@ async def test_method_create_with_all_params_overload_2(self, async_client: Asyn
"type": "text",
}
},
+ tool_choice="auto",
tools=[
{
"search_context_size": 'S?oC"high',
From 2f53a3f60fb7da474e2e8d3839d6c58d6a6d2c89 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 15 Dec 2025 19:23:57 +0000
Subject: [PATCH 19/28] feat: convert Datasets API to use FastAPI router
---
.stats.yml | 4 +--
.../resources/beta/datasets.py | 30 ++++++++++++++-----
.../types/beta/dataset_list_response.py | 17 +++++++++--
.../types/beta/dataset_register_params.py | 18 +++++++++--
.../types/beta/dataset_register_response.py | 17 +++++++++--
.../types/beta/dataset_retrieve_response.py | 17 +++++++++--
.../types/beta/list_datasets_response.py | 1 +
tests/api_resources/beta/test_datasets.py | 30 +++++++++++++++----
8 files changed, 110 insertions(+), 24 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index dc614508..3eb6712e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-0ee7c2f0b6a30d3cd938f7508fa72003432f69bf8881f03817486510b8e2c7ab.yml
-openapi_spec_hash: a84bb7c34c365485bdf243ce1d960817
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-00b875a79e05a6b0af1115082977fcb29da1efbc553e3a2aa7b34d0c2bce0dee.yml
+openapi_spec_hash: 4e7110460ea24b382d51dc1911431df3
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/beta/datasets.py b/src/llama_stack_client/resources/beta/datasets.py
index 439c91f8..d929350f 100644
--- a/src/llama_stack_client/resources/beta/datasets.py
+++ b/src/llama_stack_client/resources/beta/datasets.py
@@ -70,6 +70,8 @@ def retrieve(
Get a dataset by its ID.
Args:
+ dataset_id: The ID of the dataset to get.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -217,14 +219,17 @@ def register(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> DatasetRegisterResponse:
- """Register a new dataset.
+ """
+ Register a new dataset.
Args:
- purpose: Purpose of the dataset.
+ purpose: The purpose of the dataset.
- Each purpose has a required input data schema.
+ source: The data source of the dataset.
- source: A dataset that can be obtained from a URI.
+ dataset_id: The ID of the dataset. If not provided, an ID will be generated.
+
+ metadata: The metadata for the dataset.
extra_headers: Send extra headers
@@ -267,6 +272,8 @@ def unregister(
Unregister a dataset by its ID.
Args:
+ dataset_id: The ID of the dataset to unregister.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -322,6 +329,8 @@ async def retrieve(
Get a dataset by its ID.
Args:
+ dataset_id: The ID of the dataset to get.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -469,14 +478,17 @@ async def register(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> DatasetRegisterResponse:
- """Register a new dataset.
+ """
+ Register a new dataset.
Args:
- purpose: Purpose of the dataset.
+ purpose: The purpose of the dataset.
- Each purpose has a required input data schema.
+ source: The data source of the dataset.
- source: A dataset that can be obtained from a URI.
+ dataset_id: The ID of the dataset. If not provided, an ID will be generated.
+
+ metadata: The metadata for the dataset.
extra_headers: Send extra headers
@@ -519,6 +531,8 @@ async def unregister(
Unregister a dataset by its ID.
Args:
+ dataset_id: The ID of the dataset to unregister.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/llama_stack_client/types/beta/dataset_list_response.py b/src/llama_stack_client/types/beta/dataset_list_response.py
index de23d012..56c8a177 100644
--- a/src/llama_stack_client/types/beta/dataset_list_response.py
+++ b/src/llama_stack_client/types/beta/dataset_list_response.py
@@ -25,16 +25,28 @@ class DatasetListResponseItemSourceUriDataSource(BaseModel):
"""A dataset that can be obtained from a URI."""
uri: str
+ """The dataset can be obtained from a URI.
+
+ E.g. "https://mywebsite.com/mydata.jsonl", "lsfs://mydata.jsonl",
+ "data:csv;base64,{base64_content}"
+ """
type: Optional[Literal["uri"]] = None
+ """The type of data source."""
class DatasetListResponseItemSourceRowsDataSource(BaseModel):
"""A dataset stored in rows."""
rows: List[Dict[str, object]]
+ """The dataset is stored in rows.
+
+ E.g. [{"messages": [{"role": "user", "content": "Hello, world!"}, {"role":
+ "assistant", "content": "Hello, world!"}]}]
+ """
type: Optional[Literal["rows"]] = None
+ """The type of data source."""
DatasetListResponseItemSource: TypeAlias = Annotated[
@@ -53,10 +65,10 @@ class DatasetListResponseItem(BaseModel):
"""ID of the provider that owns this resource"""
purpose: Literal["post-training/messages", "eval/question-answer", "eval/messages-answer"]
- """Purpose of the dataset. Each purpose has a required input data schema."""
+ """Purpose of the dataset indicating its intended use"""
source: DatasetListResponseItemSource
- """A dataset that can be obtained from a URI."""
+ """Data source configuration for the dataset"""
metadata: Optional[Dict[str, object]] = None
"""Any additional metadata for this dataset"""
@@ -65,6 +77,7 @@ class DatasetListResponseItem(BaseModel):
"""Unique identifier for this resource in the provider"""
type: Optional[Literal["dataset"]] = None
+ """Type of resource, always 'dataset' for datasets"""
DatasetListResponse: TypeAlias = List[DatasetListResponseItem]
diff --git a/src/llama_stack_client/types/beta/dataset_register_params.py b/src/llama_stack_client/types/beta/dataset_register_params.py
index dd01cbd1..8891285d 100644
--- a/src/llama_stack_client/types/beta/dataset_register_params.py
+++ b/src/llama_stack_client/types/beta/dataset_register_params.py
@@ -16,30 +16,44 @@
class DatasetRegisterParams(TypedDict, total=False):
purpose: Required[Literal["post-training/messages", "eval/question-answer", "eval/messages-answer"]]
- """Purpose of the dataset. Each purpose has a required input data schema."""
+ """The purpose of the dataset."""
source: Required[Source]
- """A dataset that can be obtained from a URI."""
+ """The data source of the dataset."""
dataset_id: Optional[str]
+ """The ID of the dataset. If not provided, an ID will be generated."""
metadata: Optional[Dict[str, object]]
+ """The metadata for the dataset."""
class SourceUriDataSource(TypedDict, total=False):
"""A dataset that can be obtained from a URI."""
uri: Required[str]
+ """The dataset can be obtained from a URI.
+
+ E.g. "https://mywebsite.com/mydata.jsonl", "lsfs://mydata.jsonl",
+ "data:csv;base64,{base64_content}"
+ """
type: Literal["uri"]
+ """The type of data source."""
class SourceRowsDataSource(TypedDict, total=False):
"""A dataset stored in rows."""
rows: Required[Iterable[Dict[str, object]]]
+ """The dataset is stored in rows.
+
+ E.g. [{"messages": [{"role": "user", "content": "Hello, world!"}, {"role":
+ "assistant", "content": "Hello, world!"}]}]
+ """
type: Literal["rows"]
+ """The type of data source."""
Source: TypeAlias = Union[SourceUriDataSource, SourceRowsDataSource]
diff --git a/src/llama_stack_client/types/beta/dataset_register_response.py b/src/llama_stack_client/types/beta/dataset_register_response.py
index 7d2fb351..d662f682 100644
--- a/src/llama_stack_client/types/beta/dataset_register_response.py
+++ b/src/llama_stack_client/types/beta/dataset_register_response.py
@@ -19,16 +19,28 @@ class SourceUriDataSource(BaseModel):
"""A dataset that can be obtained from a URI."""
uri: str
+ """The dataset can be obtained from a URI.
+
+ E.g. "https://mywebsite.com/mydata.jsonl", "lsfs://mydata.jsonl",
+ "data:csv;base64,{base64_content}"
+ """
type: Optional[Literal["uri"]] = None
+ """The type of data source."""
class SourceRowsDataSource(BaseModel):
"""A dataset stored in rows."""
rows: List[Dict[str, object]]
+ """The dataset is stored in rows.
+
+ E.g. [{"messages": [{"role": "user", "content": "Hello, world!"}, {"role":
+ "assistant", "content": "Hello, world!"}]}]
+ """
type: Optional[Literal["rows"]] = None
+ """The type of data source."""
Source: TypeAlias = Annotated[Union[SourceUriDataSource, SourceRowsDataSource], PropertyInfo(discriminator="type")]
@@ -44,10 +56,10 @@ class DatasetRegisterResponse(BaseModel):
"""ID of the provider that owns this resource"""
purpose: Literal["post-training/messages", "eval/question-answer", "eval/messages-answer"]
- """Purpose of the dataset. Each purpose has a required input data schema."""
+ """Purpose of the dataset indicating its intended use"""
source: Source
- """A dataset that can be obtained from a URI."""
+ """Data source configuration for the dataset"""
metadata: Optional[Dict[str, object]] = None
"""Any additional metadata for this dataset"""
@@ -56,3 +68,4 @@ class DatasetRegisterResponse(BaseModel):
"""Unique identifier for this resource in the provider"""
type: Optional[Literal["dataset"]] = None
+ """Type of resource, always 'dataset' for datasets"""
diff --git a/src/llama_stack_client/types/beta/dataset_retrieve_response.py b/src/llama_stack_client/types/beta/dataset_retrieve_response.py
index ad774ad9..5349e2fb 100644
--- a/src/llama_stack_client/types/beta/dataset_retrieve_response.py
+++ b/src/llama_stack_client/types/beta/dataset_retrieve_response.py
@@ -19,16 +19,28 @@ class SourceUriDataSource(BaseModel):
"""A dataset that can be obtained from a URI."""
uri: str
+ """The dataset can be obtained from a URI.
+
+ E.g. "https://mywebsite.com/mydata.jsonl", "lsfs://mydata.jsonl",
+ "data:csv;base64,{base64_content}"
+ """
type: Optional[Literal["uri"]] = None
+ """The type of data source."""
class SourceRowsDataSource(BaseModel):
"""A dataset stored in rows."""
rows: List[Dict[str, object]]
+ """The dataset is stored in rows.
+
+ E.g. [{"messages": [{"role": "user", "content": "Hello, world!"}, {"role":
+ "assistant", "content": "Hello, world!"}]}]
+ """
type: Optional[Literal["rows"]] = None
+ """The type of data source."""
Source: TypeAlias = Annotated[Union[SourceUriDataSource, SourceRowsDataSource], PropertyInfo(discriminator="type")]
@@ -44,10 +56,10 @@ class DatasetRetrieveResponse(BaseModel):
"""ID of the provider that owns this resource"""
purpose: Literal["post-training/messages", "eval/question-answer", "eval/messages-answer"]
- """Purpose of the dataset. Each purpose has a required input data schema."""
+ """Purpose of the dataset indicating its intended use"""
source: Source
- """A dataset that can be obtained from a URI."""
+ """Data source configuration for the dataset"""
metadata: Optional[Dict[str, object]] = None
"""Any additional metadata for this dataset"""
@@ -56,3 +68,4 @@ class DatasetRetrieveResponse(BaseModel):
"""Unique identifier for this resource in the provider"""
type: Optional[Literal["dataset"]] = None
+ """Type of resource, always 'dataset' for datasets"""
diff --git a/src/llama_stack_client/types/beta/list_datasets_response.py b/src/llama_stack_client/types/beta/list_datasets_response.py
index 32bdffea..54d79396 100644
--- a/src/llama_stack_client/types/beta/list_datasets_response.py
+++ b/src/llama_stack_client/types/beta/list_datasets_response.py
@@ -16,3 +16,4 @@ class ListDatasetsResponse(BaseModel):
"""Response from listing datasets."""
data: DatasetListResponse
+ """List of datasets"""
diff --git a/tests/api_resources/beta/test_datasets.py b/tests/api_resources/beta/test_datasets.py
index b40b34de..6fb845a5 100644
--- a/tests/api_resources/beta/test_datasets.py
+++ b/tests/api_resources/beta/test_datasets.py
@@ -187,7 +187,10 @@ def test_method_register(self, client: LlamaStackClient) -> None:
with pytest.warns(DeprecationWarning):
dataset = client.beta.datasets.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
)
assert_matches_type(DatasetRegisterResponse, dataset, path=["response"])
@@ -212,7 +215,10 @@ def test_raw_response_register(self, client: LlamaStackClient) -> None:
with pytest.warns(DeprecationWarning):
response = client.beta.datasets.with_raw_response.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
)
assert response.is_closed is True
@@ -225,7 +231,10 @@ def test_streaming_response_register(self, client: LlamaStackClient) -> None:
with pytest.warns(DeprecationWarning):
with client.beta.datasets.with_streaming_response.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -441,7 +450,10 @@ async def test_method_register(self, async_client: AsyncLlamaStackClient) -> Non
with pytest.warns(DeprecationWarning):
dataset = await async_client.beta.datasets.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
)
assert_matches_type(DatasetRegisterResponse, dataset, path=["response"])
@@ -466,7 +478,10 @@ async def test_raw_response_register(self, async_client: AsyncLlamaStackClient)
with pytest.warns(DeprecationWarning):
response = await async_client.beta.datasets.with_raw_response.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
)
assert response.is_closed is True
@@ -479,7 +494,10 @@ async def test_streaming_response_register(self, async_client: AsyncLlamaStackCl
with pytest.warns(DeprecationWarning):
async with async_client.beta.datasets.with_streaming_response.register(
purpose="post-training/messages",
- source={"uri": "uri"},
+ source={
+ "uri": "uri",
+ "type": "uri",
+ },
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
From 9cae3df5c115b176be5515fb47ed3d2d69cd0bb8 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 16 Dec 2025 05:06:57 +0000
Subject: [PATCH 20/28] chore(internal): add missing files argument to base
client
---
src/llama_stack_client/_base_client.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/llama_stack_client/_base_client.py b/src/llama_stack_client/_base_client.py
index f2c5cb77..ad87864c 100644
--- a/src/llama_stack_client/_base_client.py
+++ b/src/llama_stack_client/_base_client.py
@@ -1257,9 +1257,12 @@ def patch(
*,
cast_to: Type[ResponseT],
body: Body | None = None,
+ files: RequestFiles | None = None,
options: RequestOptions = {},
) -> ResponseT:
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
+ opts = FinalRequestOptions.construct(
+ method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
+ )
return self.request(cast_to, opts)
def put(
@@ -1777,9 +1780,12 @@ async def patch(
*,
cast_to: Type[ResponseT],
body: Body | None = None,
+ files: RequestFiles | None = None,
options: RequestOptions = {},
) -> ResponseT:
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
+ opts = FinalRequestOptions.construct(
+ method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
+ )
return await self.request(cast_to, opts)
async def put(
From 597c7c6156b28bcb7f3c59d742532c1204dd2647 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 16 Dec 2025 20:41:24 +0000
Subject: [PATCH 21/28] chore(internal): version bump
---
src/llama_stack_client/_version.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/llama_stack_client/_version.py b/src/llama_stack_client/_version.py
index 60351ec2..ac2faf7d 100644
--- a/src/llama_stack_client/_version.py
+++ b/src/llama_stack_client/_version.py
@@ -7,4 +7,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "llama_stack_client"
-__version__ = "0.4.0-alpha.1"
+__version__ = "0.4.0-alpha.13" # x-release-please-version
From f8c84cd0fb2ba351366c3a68c9836dd8112b09d0 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 17 Dec 2025 15:56:41 +0000
Subject: [PATCH 22/28] feat: migrate Providers API to FastAPI router pattern
---
.stats.yml | 4 ++--
src/llama_stack_client/resources/providers.py | 20 ++++++-------------
.../types/list_providers_response.py | 1 +
src/llama_stack_client/types/provider_info.py | 5 +++++
4 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 3eb6712e..046acf1d 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-00b875a79e05a6b0af1115082977fcb29da1efbc553e3a2aa7b34d0c2bce0dee.yml
-openapi_spec_hash: 4e7110460ea24b382d51dc1911431df3
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-bdf3c2981b842ce626fe8a12940f4f3bb980354deba41266d28452e6b747b80c.yml
+openapi_spec_hash: 5f7b9d12b24b56e38897bbe360471407
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/providers.py b/src/llama_stack_client/resources/providers.py
index 0a538c8c..5bbf0964 100644
--- a/src/llama_stack_client/resources/providers.py
+++ b/src/llama_stack_client/resources/providers.py
@@ -61,11 +61,11 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProviderInfo:
"""
- Get provider.
-
Get detailed information about a specific provider.
Args:
+ provider_id: The ID of the provider to inspect.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -94,11 +94,7 @@ def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProviderListResponse:
- """
- List providers.
-
- List all available providers.
- """
+ """List all available providers."""
return self._get(
"/v1/providers",
options=make_request_options(
@@ -144,11 +140,11 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProviderInfo:
"""
- Get provider.
-
Get detailed information about a specific provider.
Args:
+ provider_id: The ID of the provider to inspect.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -177,11 +173,7 @@ async def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ProviderListResponse:
- """
- List providers.
-
- List all available providers.
- """
+ """List all available providers."""
return await self._get(
"/v1/providers",
options=make_request_options(
diff --git a/src/llama_stack_client/types/list_providers_response.py b/src/llama_stack_client/types/list_providers_response.py
index fc3db155..bf0661d5 100644
--- a/src/llama_stack_client/types/list_providers_response.py
+++ b/src/llama_stack_client/types/list_providers_response.py
@@ -16,3 +16,4 @@ class ListProvidersResponse(BaseModel):
"""Response containing a list of all available providers."""
data: ProviderListResponse
+ """List of provider information objects"""
diff --git a/src/llama_stack_client/types/provider_info.py b/src/llama_stack_client/types/provider_info.py
index c1f06eba..760b8098 100644
--- a/src/llama_stack_client/types/provider_info.py
+++ b/src/llama_stack_client/types/provider_info.py
@@ -19,11 +19,16 @@ class ProviderInfo(BaseModel):
"""
api: str
+ """The API name this provider implements"""
config: Dict[str, object]
+ """Configuration parameters for the provider"""
health: Dict[str, object]
+ """Current health status of the provider"""
provider_id: str
+ """Unique identifier for the provider"""
provider_type: str
+ """The type of provider implementation"""
From 7774bec492608a78eedb804fd6ab7997fdabdc60 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 17 Dec 2025 16:35:14 +0000
Subject: [PATCH 23/28] feat: migrate Inspect API to FastAPI router
---
.stats.yml | 4 ++--
src/llama_stack_client/resources/inspect.py | 24 ++++---------------
src/llama_stack_client/resources/routes.py | 14 +++++++----
src/llama_stack_client/types/health_info.py | 1 +
.../types/list_routes_response.py | 1 +
src/llama_stack_client/types/route_info.py | 3 +++
.../types/route_list_params.py | 6 +++++
src/llama_stack_client/types/version_info.py | 1 +
8 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 046acf1d..447c7b68 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-bdf3c2981b842ce626fe8a12940f4f3bb980354deba41266d28452e6b747b80c.yml
-openapi_spec_hash: 5f7b9d12b24b56e38897bbe360471407
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-8e37e023855aa0a93d09eb2b5365aae5203273d01db0532ba0dc58d2a1f94692.yml
+openapi_spec_hash: a2f9d306a6594d5ff915ce30da498892
config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
diff --git a/src/llama_stack_client/resources/inspect.py b/src/llama_stack_client/resources/inspect.py
index 73e7c972..4b635fd8 100644
--- a/src/llama_stack_client/resources/inspect.py
+++ b/src/llama_stack_client/resources/inspect.py
@@ -56,11 +56,7 @@ def health(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> HealthInfo:
- """
- Get health status.
-
- Get the current health status of the service.
- """
+ """Get the current health status of the service."""
return self._get(
"/v1/health",
options=make_request_options(
@@ -79,11 +75,7 @@ def version(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> VersionInfo:
- """
- Get version.
-
- Get the version of the service.
- """
+ """Get the version of the service."""
return self._get(
"/v1/version",
options=make_request_options(
@@ -123,11 +115,7 @@ async def health(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> HealthInfo:
- """
- Get health status.
-
- Get the current health status of the service.
- """
+ """Get the current health status of the service."""
return await self._get(
"/v1/health",
options=make_request_options(
@@ -146,11 +134,7 @@ async def version(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> VersionInfo:
- """
- Get version.
-
- Get the version of the service.
- """
+ """Get the version of the service."""
return await self._get(
"/v1/version",
options=make_request_options(
diff --git a/src/llama_stack_client/resources/routes.py b/src/llama_stack_client/resources/routes.py
index c8e93cfd..7c906f5b 100644
--- a/src/llama_stack_client/resources/routes.py
+++ b/src/llama_stack_client/resources/routes.py
@@ -63,11 +63,14 @@ def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> RouteListResponse:
"""
- List routes.
-
List all available API routes with their methods and implementing providers.
Args:
+ api_filter: Optional filter to control which routes are returned. Can be an API level ('v1',
+ 'v1alpha', 'v1beta') to show non-deprecated routes at that level, or
+ 'deprecated' to show deprecated routes across all levels. If not specified,
+ returns all non-deprecated routes.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -122,11 +125,14 @@ async def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> RouteListResponse:
"""
- List routes.
-
List all available API routes with their methods and implementing providers.
Args:
+ api_filter: Optional filter to control which routes are returned. Can be an API level ('v1',
+ 'v1alpha', 'v1beta') to show non-deprecated routes at that level, or
+ 'deprecated' to show deprecated routes across all levels. If not specified,
+ returns all non-deprecated routes.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/llama_stack_client/types/health_info.py b/src/llama_stack_client/types/health_info.py
index 6eabea28..21579208 100644
--- a/src/llama_stack_client/types/health_info.py
+++ b/src/llama_stack_client/types/health_info.py
@@ -17,3 +17,4 @@ class HealthInfo(BaseModel):
"""Health status information for the service."""
status: Literal["OK", "Error", "Not Implemented"]
+ """The health status of the service"""
diff --git a/src/llama_stack_client/types/list_routes_response.py b/src/llama_stack_client/types/list_routes_response.py
index 6b3544b5..8f224b39 100644
--- a/src/llama_stack_client/types/list_routes_response.py
+++ b/src/llama_stack_client/types/list_routes_response.py
@@ -16,3 +16,4 @@ class ListRoutesResponse(BaseModel):
"""Response containing a list of all available API routes."""
data: RouteListResponse
+ """List of available API routes"""
diff --git a/src/llama_stack_client/types/route_info.py b/src/llama_stack_client/types/route_info.py
index a80f7b8d..6819959f 100644
--- a/src/llama_stack_client/types/route_info.py
+++ b/src/llama_stack_client/types/route_info.py
@@ -19,7 +19,10 @@ class RouteInfo(BaseModel):
"""
method: str
+ """The HTTP method for the route"""
provider_types: List[str]
+ """List of provider types implementing this route"""
route: str
+ """The API route path"""
diff --git a/src/llama_stack_client/types/route_list_params.py b/src/llama_stack_client/types/route_list_params.py
index 8517e4a6..2140181d 100644
--- a/src/llama_stack_client/types/route_list_params.py
+++ b/src/llama_stack_client/types/route_list_params.py
@@ -16,3 +16,9 @@
class RouteListParams(TypedDict, total=False):
api_filter: Optional[Literal["v1", "v1alpha", "v1beta", "deprecated"]]
+ """Optional filter to control which routes are returned.
+
+ Can be an API level ('v1', 'v1alpha', 'v1beta') to show non-deprecated routes at
+ that level, or 'deprecated' to show deprecated routes across all levels. If not
+ specified, returns all non-deprecated routes.
+ """
diff --git a/src/llama_stack_client/types/version_info.py b/src/llama_stack_client/types/version_info.py
index 3edeacab..cecdf55a 100644
--- a/src/llama_stack_client/types/version_info.py
+++ b/src/llama_stack_client/types/version_info.py
@@ -15,3 +15,4 @@ class VersionInfo(BaseModel):
"""Version information for the service."""
version: str
+ """The version string of the service"""
From 77df10d1c6635984f5f9b48e4479872c88fbb91b Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 18 Dec 2025 08:47:17 +0000
Subject: [PATCH 24/28] fix: use async_to_httpx_files in patch method
---
src/llama_stack_client/_base_client.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/llama_stack_client/_base_client.py b/src/llama_stack_client/_base_client.py
index ad87864c..ddf454c0 100644
--- a/src/llama_stack_client/_base_client.py
+++ b/src/llama_stack_client/_base_client.py
@@ -1784,7 +1784,7 @@ async def patch(
options: RequestOptions = {},
) -> ResponseT:
opts = FinalRequestOptions.construct(
- method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
+ method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
)
return await self.request(cast_to, opts)
From 89e14ad88db7e5ac1dc088c6affec85e749ff4e8 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 19 Dec 2025 07:25:51 +0000
Subject: [PATCH 25/28] chore(internal): add `--fix` argument to lint script
---
scripts/lint | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/scripts/lint b/scripts/lint
index f10a5eb7..842b1a48 100755
--- a/scripts/lint
+++ b/scripts/lint
@@ -4,8 +4,13 @@ set -e
cd "$(dirname "$0")/.."
-echo "==> Running ruff"
-uv run ruff check .
+if [ "$1" = "--fix" ]; then
+ echo "==> Running ruff with --fix"
+ uv run ruff check . --fix
+else
+ echo "==> Running ruff"
+ uv run ruff check .
+fi
# echo "==> Running mypy"
# uv run mypy .
From d24dff6000019c0091f13fecf63ac90e02122cae Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 20 Dec 2025 06:30:54 +0000
Subject: [PATCH 26/28] docs: add more examples
---
README.md | 83 ++++++++++++++++++++++++++++++++++---------------------
1 file changed, 51 insertions(+), 32 deletions(-)
diff --git a/README.md b/README.md
index 634a892b..455348f8 100644
--- a/README.md
+++ b/README.md
@@ -127,58 +127,77 @@ async def main() -> None:
asyncio.run(main())
```
-## Streaming responses
+## Using types
+
+Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
-We provide support for streaming responses using Server Side Events (SSE).
+- Serializing back into JSON, `model.to_json()`
+- Converting to a dictionary, `model.to_dict()`
+
+Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
+
+## Pagination
+
+List methods in the Llama Stack Client API are paginated.
+
+This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
```python
from llama_stack_client import LlamaStackClient
client = LlamaStackClient()
-stream = client.chat.completions.create(
- messages=[
- {
- "content": "string",
- "role": "user",
- }
- ],
- model="model",
- stream=True,
-)
-for completion in stream:
- print(completion.id)
+all_responses = []
+# Automatically fetches more pages as needed.
+for response in client.responses.list():
+ # Do something with response here
+ all_responses.append(response)
+print(all_responses)
```
-The async client uses the exact same interface.
+Or, asynchronously:
```python
+import asyncio
from llama_stack_client import AsyncLlamaStackClient
client = AsyncLlamaStackClient()
-stream = await client.chat.completions.create(
- messages=[
- {
- "content": "string",
- "role": "user",
- }
- ],
- model="model",
- stream=True,
-)
-async for completion in stream:
- print(completion.id)
+
+async def main() -> None:
+ all_responses = []
+ # Iterate through items across all pages, issuing requests as needed.
+ async for response in client.responses.list():
+ all_responses.append(response)
+ print(all_responses)
+
+
+asyncio.run(main())
```
-## Using types
+Alternatively, you can use the `.has_next_page()`, `.next_page_info()`, or `.get_next_page()` methods for more granular control working with pages:
-Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
+```python
+first_page = await client.responses.list()
+if first_page.has_next_page():
+ print(f"will fetch next page using these details: {first_page.next_page_info()}")
+ next_page = await first_page.get_next_page()
+ print(f"number of items we just fetched: {len(next_page.data)}")
-- Serializing back into JSON, `model.to_json()`
-- Converting to a dictionary, `model.to_dict()`
+# Remove `await` for non-async usage.
+```
-Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
+Or just work directly with the returned data:
+
+```python
+first_page = await client.responses.list()
+
+print(f"next page cursor: {first_page.last_id}") # => "next page cursor: ..."
+for response in first_page.data:
+ print(response.id)
+
+# Remove `await` for non-async usage.
+```
## Nested params
From 3279ec9799e21595b7410f0cc784a4b0c854ade5 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 22 Dec 2025 17:12:42 +0000
Subject: [PATCH 27/28] feat: introduce /admin API for stack administration and
operations
---
.stats.yml | 8 +-
api.md | 32 +-
.../resources/alpha/__init__.py | 14 +
.../resources/alpha/admin.py | 431 ++++++++++++++++++
.../resources/alpha/alpha.py | 32 ++
src/llama_stack_client/resources/inspect.py | 4 +-
src/llama_stack_client/resources/providers.py | 2 +-
src/llama_stack_client/types/__init__.py | 12 +-
.../types/alpha/__init__.py | 1 +
.../types/alpha/admin_list_routes_params.py | 18 +
.../types/provider_list_response.py | 2 +-
.../types/route_list_response.py | 2 +-
.../types/shared/__init__.py | 6 +
.../types/{ => shared}/health_info.py | 2 +-
.../{ => shared}/list_providers_response.py | 4 +-
.../{ => shared}/list_routes_response.py | 4 +-
.../types/{ => shared}/provider_info.py | 2 +-
.../types/{ => shared}/route_info.py | 2 +-
.../types/{ => shared}/version_info.py | 2 +-
tests/api_resources/alpha/test_admin.py | 315 +++++++++++++
tests/api_resources/test_inspect.py | 2 +-
tests/api_resources/test_providers.py | 3 +-
22 files changed, 864 insertions(+), 36 deletions(-)
create mode 100644 src/llama_stack_client/resources/alpha/admin.py
create mode 100644 src/llama_stack_client/types/alpha/admin_list_routes_params.py
rename src/llama_stack_client/types/{ => shared}/health_info.py (94%)
rename src/llama_stack_client/types/{ => shared}/list_providers_response.py (84%)
rename src/llama_stack_client/types/{ => shared}/list_routes_response.py (85%)
rename src/llama_stack_client/types/{ => shared}/provider_info.py (96%)
rename src/llama_stack_client/types/{ => shared}/route_info.py (95%)
rename src/llama_stack_client/types/{ => shared}/version_info.py (93%)
create mode 100644 tests/api_resources/alpha/test_admin.py
diff --git a/.stats.yml b/.stats.yml
index 447c7b68..437fe8eb 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-8e37e023855aa0a93d09eb2b5365aae5203273d01db0532ba0dc58d2a1f94692.yml
-openapi_spec_hash: a2f9d306a6594d5ff915ce30da498892
-config_hash: 39578cfdeb4a10121f2cb3fa3e4d5e20
+configured_endpoints: 108
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-5b5c7384ecc87cd37cdcfef47628d88ae84c366452114e8891d5d9cf4fde810c.yml
+openapi_spec_hash: 9774340e22da2895556cf845f044a69a
+config_hash: aa28e451064c13a38ddc44df99ebf52a
diff --git a/api.md b/api.md
index c613cdb8..8af103fe 100644
--- a/api.md
+++ b/api.md
@@ -2,13 +2,19 @@
```python
from llama_stack_client.types import (
+ HealthInfo,
InterleavedContent,
InterleavedContentItem,
+ ListProvidersResponse,
+ ListRoutesResponse,
ParamType,
+ ProviderInfo,
+ RouteInfo,
SafetyViolation,
SamplingParams,
ScoringResult,
SystemMessage,
+ VersionInfo,
)
```
@@ -145,16 +151,10 @@ Methods:
# Inspect
-Types:
-
-```python
-from llama_stack_client.types import HealthInfo, ProviderInfo, RouteInfo, VersionInfo
-```
-
Methods:
-- client.inspect.health() -> HealthInfo
-- client.inspect.version() -> VersionInfo
+- client.inspect.health() -> HealthInfo
+- client.inspect.version() -> VersionInfo
# Embeddings
@@ -312,12 +312,12 @@ Methods:
Types:
```python
-from llama_stack_client.types import ListProvidersResponse, ProviderListResponse
+from llama_stack_client.types import ProviderListResponse
```
Methods:
-- client.providers.retrieve(provider_id) -> ProviderInfo
+- client.providers.retrieve(provider_id) -> ProviderInfo
- client.providers.list() -> ProviderListResponse
# Routes
@@ -325,7 +325,7 @@ Methods:
Types:
```python
-from llama_stack_client.types import ListRoutesResponse, RouteListResponse
+from llama_stack_client.types import RouteListResponse
```
Methods:
@@ -528,6 +528,16 @@ Methods:
- client.alpha.eval.jobs.cancel(job_id, \*, benchmark_id) -> None
- client.alpha.eval.jobs.status(job_id, \*, benchmark_id) -> Job
+## Admin
+
+Methods:
+
+- client.alpha.admin.health() -> HealthInfo
+- client.alpha.admin.inspect_provider(provider_id) -> ProviderInfo
+- client.alpha.admin.list_providers() -> ProviderListResponse
+- client.alpha.admin.list_routes(\*\*params) -> RouteListResponse
+- client.alpha.admin.version() -> VersionInfo
+
# Beta
## Datasets
diff --git a/src/llama_stack_client/resources/alpha/__init__.py b/src/llama_stack_client/resources/alpha/__init__.py
index 8f9653d5..8cdbaa83 100644
--- a/src/llama_stack_client/resources/alpha/__init__.py
+++ b/src/llama_stack_client/resources/alpha/__init__.py
@@ -14,6 +14,14 @@
EvalResourceWithStreamingResponse,
AsyncEvalResourceWithStreamingResponse,
)
+from .admin import (
+ AdminResource,
+ AsyncAdminResource,
+ AdminResourceWithRawResponse,
+ AsyncAdminResourceWithRawResponse,
+ AdminResourceWithStreamingResponse,
+ AsyncAdminResourceWithStreamingResponse,
+)
from .alpha import (
AlphaResource,
AsyncAlphaResource,
@@ -72,6 +80,12 @@
"AsyncEvalResourceWithRawResponse",
"EvalResourceWithStreamingResponse",
"AsyncEvalResourceWithStreamingResponse",
+ "AdminResource",
+ "AsyncAdminResource",
+ "AdminResourceWithRawResponse",
+ "AsyncAdminResourceWithRawResponse",
+ "AdminResourceWithStreamingResponse",
+ "AsyncAdminResourceWithStreamingResponse",
"AlphaResource",
"AsyncAlphaResource",
"AlphaResourceWithRawResponse",
diff --git a/src/llama_stack_client/resources/alpha/admin.py b/src/llama_stack_client/resources/alpha/admin.py
new file mode 100644
index 00000000..d47f01c6
--- /dev/null
+++ b/src/llama_stack_client/resources/alpha/admin.py
@@ -0,0 +1,431 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import Type, Optional, cast
+from typing_extensions import Literal
+
+import httpx
+
+from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
+from ..._utils import maybe_transform, async_maybe_transform
+from ..._compat import cached_property
+from ..._resource import SyncAPIResource, AsyncAPIResource
+from ..._response import (
+ to_raw_response_wrapper,
+ to_streamed_response_wrapper,
+ async_to_raw_response_wrapper,
+ async_to_streamed_response_wrapper,
+)
+from ..._wrappers import DataWrapper
+from ...types.alpha import admin_list_routes_params
+from ..._base_client import make_request_options
+from ...types.shared.health_info import HealthInfo
+from ...types.route_list_response import RouteListResponse
+from ...types.shared.version_info import VersionInfo
+from ...types.shared.provider_info import ProviderInfo
+from ...types.provider_list_response import ProviderListResponse
+
+__all__ = ["AdminResource", "AsyncAdminResource"]
+
+
+class AdminResource(SyncAPIResource):
+ @cached_property
+ def with_raw_response(self) -> AdminResourceWithRawResponse:
+ """
+ This property can be used as a prefix for any HTTP method call to return
+ the raw response object instead of the parsed content.
+
+ For more information, see https://www.github.com/llamastack/llama-stack-client-python#accessing-raw-response-data-eg-headers
+ """
+ return AdminResourceWithRawResponse(self)
+
+ @cached_property
+ def with_streaming_response(self) -> AdminResourceWithStreamingResponse:
+ """
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
+
+ For more information, see https://www.github.com/llamastack/llama-stack-client-python#with_streaming_response
+ """
+ return AdminResourceWithStreamingResponse(self)
+
+ def health(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> HealthInfo:
+ """Get the current health status of the service."""
+ return self._get(
+ "/v1alpha/admin/health",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=HealthInfo,
+ )
+
+ def inspect_provider(
+ self,
+ provider_id: 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> ProviderInfo:
+ """
+ Get detailed information about a specific provider.
+
+ Args:
+ provider_id: The ID of the provider to inspect.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not provider_id:
+ raise ValueError(f"Expected a non-empty value for `provider_id` but received {provider_id!r}")
+ return self._get(
+ f"/v1alpha/admin/providers/{provider_id}",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=ProviderInfo,
+ )
+
+ def list_providers(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> ProviderListResponse:
+ """List all available providers with their configuration and health status."""
+ return self._get(
+ "/v1alpha/admin/providers",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=DataWrapper[ProviderListResponse]._unwrapper,
+ ),
+ cast_to=cast(Type[ProviderListResponse], DataWrapper[ProviderListResponse]),
+ )
+
+ def list_routes(
+ self,
+ *,
+ api_filter: Optional[Literal["v1", "v1alpha", "v1beta", "deprecated"]] | Omit = omit,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> RouteListResponse:
+ """
+ List all available API routes with their methods and implementing providers.
+
+ Args:
+ api_filter: Filter to control which routes are returned. Can be an API level ('v1',
+ 'v1alpha', 'v1beta') to show non-deprecated routes at that level, or
+ 'deprecated' to show deprecated routes across all levels. If not specified,
+ returns all non-deprecated routes.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ return self._get(
+ "/v1alpha/admin/inspect/routes",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform({"api_filter": api_filter}, admin_list_routes_params.AdminListRoutesParams),
+ post_parser=DataWrapper[RouteListResponse]._unwrapper,
+ ),
+ cast_to=cast(Type[RouteListResponse], DataWrapper[RouteListResponse]),
+ )
+
+ def version(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> VersionInfo:
+ """Get the version of the service."""
+ return self._get(
+ "/v1alpha/admin/version",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=VersionInfo,
+ )
+
+
+class AsyncAdminResource(AsyncAPIResource):
+ @cached_property
+ def with_raw_response(self) -> AsyncAdminResourceWithRawResponse:
+ """
+ This property can be used as a prefix for any HTTP method call to return
+ the raw response object instead of the parsed content.
+
+ For more information, see https://www.github.com/llamastack/llama-stack-client-python#accessing-raw-response-data-eg-headers
+ """
+ return AsyncAdminResourceWithRawResponse(self)
+
+ @cached_property
+ def with_streaming_response(self) -> AsyncAdminResourceWithStreamingResponse:
+ """
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
+
+ For more information, see https://www.github.com/llamastack/llama-stack-client-python#with_streaming_response
+ """
+ return AsyncAdminResourceWithStreamingResponse(self)
+
+ async def health(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> HealthInfo:
+ """Get the current health status of the service."""
+ return await self._get(
+ "/v1alpha/admin/health",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=HealthInfo,
+ )
+
+ async def inspect_provider(
+ self,
+ provider_id: 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> ProviderInfo:
+ """
+ Get detailed information about a specific provider.
+
+ Args:
+ provider_id: The ID of the provider to inspect.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not provider_id:
+ raise ValueError(f"Expected a non-empty value for `provider_id` but received {provider_id!r}")
+ return await self._get(
+ f"/v1alpha/admin/providers/{provider_id}",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=ProviderInfo,
+ )
+
+ async def list_providers(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> ProviderListResponse:
+ """List all available providers with their configuration and health status."""
+ return await self._get(
+ "/v1alpha/admin/providers",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ post_parser=DataWrapper[ProviderListResponse]._unwrapper,
+ ),
+ cast_to=cast(Type[ProviderListResponse], DataWrapper[ProviderListResponse]),
+ )
+
+ async def list_routes(
+ self,
+ *,
+ api_filter: Optional[Literal["v1", "v1alpha", "v1beta", "deprecated"]] | Omit = omit,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> RouteListResponse:
+ """
+ List all available API routes with their methods and implementing providers.
+
+ Args:
+ api_filter: Filter to control which routes are returned. Can be an API level ('v1',
+ 'v1alpha', 'v1beta') to show non-deprecated routes at that level, or
+ 'deprecated' to show deprecated routes across all levels. If not specified,
+ returns all non-deprecated routes.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ return await self._get(
+ "/v1alpha/admin/inspect/routes",
+ options=make_request_options(
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=await async_maybe_transform(
+ {"api_filter": api_filter}, admin_list_routes_params.AdminListRoutesParams
+ ),
+ post_parser=DataWrapper[RouteListResponse]._unwrapper,
+ ),
+ cast_to=cast(Type[RouteListResponse], DataWrapper[RouteListResponse]),
+ )
+
+ async def version(
+ self,
+ *,
+ # 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.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> VersionInfo:
+ """Get the version of the service."""
+ return await self._get(
+ "/v1alpha/admin/version",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=VersionInfo,
+ )
+
+
+class AdminResourceWithRawResponse:
+ def __init__(self, admin: AdminResource) -> None:
+ self._admin = admin
+
+ self.health = to_raw_response_wrapper(
+ admin.health,
+ )
+ self.inspect_provider = to_raw_response_wrapper(
+ admin.inspect_provider,
+ )
+ self.list_providers = to_raw_response_wrapper(
+ admin.list_providers,
+ )
+ self.list_routes = to_raw_response_wrapper(
+ admin.list_routes,
+ )
+ self.version = to_raw_response_wrapper(
+ admin.version,
+ )
+
+
+class AsyncAdminResourceWithRawResponse:
+ def __init__(self, admin: AsyncAdminResource) -> None:
+ self._admin = admin
+
+ self.health = async_to_raw_response_wrapper(
+ admin.health,
+ )
+ self.inspect_provider = async_to_raw_response_wrapper(
+ admin.inspect_provider,
+ )
+ self.list_providers = async_to_raw_response_wrapper(
+ admin.list_providers,
+ )
+ self.list_routes = async_to_raw_response_wrapper(
+ admin.list_routes,
+ )
+ self.version = async_to_raw_response_wrapper(
+ admin.version,
+ )
+
+
+class AdminResourceWithStreamingResponse:
+ def __init__(self, admin: AdminResource) -> None:
+ self._admin = admin
+
+ self.health = to_streamed_response_wrapper(
+ admin.health,
+ )
+ self.inspect_provider = to_streamed_response_wrapper(
+ admin.inspect_provider,
+ )
+ self.list_providers = to_streamed_response_wrapper(
+ admin.list_providers,
+ )
+ self.list_routes = to_streamed_response_wrapper(
+ admin.list_routes,
+ )
+ self.version = to_streamed_response_wrapper(
+ admin.version,
+ )
+
+
+class AsyncAdminResourceWithStreamingResponse:
+ def __init__(self, admin: AsyncAdminResource) -> None:
+ self._admin = admin
+
+ self.health = async_to_streamed_response_wrapper(
+ admin.health,
+ )
+ self.inspect_provider = async_to_streamed_response_wrapper(
+ admin.inspect_provider,
+ )
+ self.list_providers = async_to_streamed_response_wrapper(
+ admin.list_providers,
+ )
+ self.list_routes = async_to_streamed_response_wrapper(
+ admin.list_routes,
+ )
+ self.version = async_to_streamed_response_wrapper(
+ admin.version,
+ )
diff --git a/src/llama_stack_client/resources/alpha/alpha.py b/src/llama_stack_client/resources/alpha/alpha.py
index 52560942..9fc269f5 100644
--- a/src/llama_stack_client/resources/alpha/alpha.py
+++ b/src/llama_stack_client/resources/alpha/alpha.py
@@ -8,6 +8,14 @@
from __future__ import annotations
+from .admin import (
+ AdminResource,
+ AsyncAdminResource,
+ AdminResourceWithRawResponse,
+ AsyncAdminResourceWithRawResponse,
+ AdminResourceWithStreamingResponse,
+ AsyncAdminResourceWithStreamingResponse,
+)
from ..._compat import cached_property
from .eval.eval import (
EvalResource,
@@ -63,6 +71,10 @@ def benchmarks(self) -> BenchmarksResource:
def eval(self) -> EvalResource:
return EvalResource(self._client)
+ @cached_property
+ def admin(self) -> AdminResource:
+ return AdminResource(self._client)
+
@cached_property
def with_raw_response(self) -> AlphaResourceWithRawResponse:
"""
@@ -100,6 +112,10 @@ def benchmarks(self) -> AsyncBenchmarksResource:
def eval(self) -> AsyncEvalResource:
return AsyncEvalResource(self._client)
+ @cached_property
+ def admin(self) -> AsyncAdminResource:
+ return AsyncAdminResource(self._client)
+
@cached_property
def with_raw_response(self) -> AsyncAlphaResourceWithRawResponse:
"""
@@ -140,6 +156,10 @@ def benchmarks(self) -> BenchmarksResourceWithRawResponse:
def eval(self) -> EvalResourceWithRawResponse:
return EvalResourceWithRawResponse(self._alpha.eval)
+ @cached_property
+ def admin(self) -> AdminResourceWithRawResponse:
+ return AdminResourceWithRawResponse(self._alpha.admin)
+
class AsyncAlphaResourceWithRawResponse:
def __init__(self, alpha: AsyncAlphaResource) -> None:
@@ -161,6 +181,10 @@ def benchmarks(self) -> AsyncBenchmarksResourceWithRawResponse:
def eval(self) -> AsyncEvalResourceWithRawResponse:
return AsyncEvalResourceWithRawResponse(self._alpha.eval)
+ @cached_property
+ def admin(self) -> AsyncAdminResourceWithRawResponse:
+ return AsyncAdminResourceWithRawResponse(self._alpha.admin)
+
class AlphaResourceWithStreamingResponse:
def __init__(self, alpha: AlphaResource) -> None:
@@ -182,6 +206,10 @@ def benchmarks(self) -> BenchmarksResourceWithStreamingResponse:
def eval(self) -> EvalResourceWithStreamingResponse:
return EvalResourceWithStreamingResponse(self._alpha.eval)
+ @cached_property
+ def admin(self) -> AdminResourceWithStreamingResponse:
+ return AdminResourceWithStreamingResponse(self._alpha.admin)
+
class AsyncAlphaResourceWithStreamingResponse:
def __init__(self, alpha: AsyncAlphaResource) -> None:
@@ -202,3 +230,7 @@ def benchmarks(self) -> AsyncBenchmarksResourceWithStreamingResponse:
@cached_property
def eval(self) -> AsyncEvalResourceWithStreamingResponse:
return AsyncEvalResourceWithStreamingResponse(self._alpha.eval)
+
+ @cached_property
+ def admin(self) -> AsyncAdminResourceWithStreamingResponse:
+ return AsyncAdminResourceWithStreamingResponse(self._alpha.admin)
diff --git a/src/llama_stack_client/resources/inspect.py b/src/llama_stack_client/resources/inspect.py
index 4b635fd8..d79aef7a 100644
--- a/src/llama_stack_client/resources/inspect.py
+++ b/src/llama_stack_client/resources/inspect.py
@@ -20,8 +20,8 @@
async_to_streamed_response_wrapper,
)
from .._base_client import make_request_options
-from ..types.health_info import HealthInfo
-from ..types.version_info import VersionInfo
+from ..types.shared.health_info import HealthInfo
+from ..types.shared.version_info import VersionInfo
__all__ = ["InspectResource", "AsyncInspectResource"]
diff --git a/src/llama_stack_client/resources/providers.py b/src/llama_stack_client/resources/providers.py
index 5bbf0964..23f6cc1d 100644
--- a/src/llama_stack_client/resources/providers.py
+++ b/src/llama_stack_client/resources/providers.py
@@ -23,7 +23,7 @@
)
from .._wrappers import DataWrapper
from .._base_client import make_request_options
-from ..types.provider_info import ProviderInfo
+from ..types.shared.provider_info import ProviderInfo
from ..types.provider_list_response import ProviderListResponse
__all__ = ["ProvidersResource", "AsyncProvidersResource"]
diff --git a/src/llama_stack_client/types/__init__.py b/src/llama_stack_client/types/__init__.py
index 8cad8216..e8b23d5e 100644
--- a/src/llama_stack_client/types/__init__.py
+++ b/src/llama_stack_client/types/__init__.py
@@ -13,22 +13,24 @@
from .prompt import Prompt as Prompt
from .shared import (
ParamType as ParamType,
+ RouteInfo as RouteInfo,
+ HealthInfo as HealthInfo,
+ VersionInfo as VersionInfo,
+ ProviderInfo as ProviderInfo,
ScoringResult as ScoringResult,
SystemMessage as SystemMessage,
SamplingParams as SamplingParams,
SafetyViolation as SafetyViolation,
InterleavedContent as InterleavedContent,
+ ListRoutesResponse as ListRoutesResponse,
+ ListProvidersResponse as ListProvidersResponse,
InterleavedContentItem as InterleavedContentItem,
)
from .shield import Shield as Shield
from .tool_def import ToolDef as ToolDef
-from .route_info import RouteInfo as RouteInfo
from .scoring_fn import ScoringFn as ScoringFn
from .tool_group import ToolGroup as ToolGroup
-from .health_info import HealthInfo as HealthInfo
from .vector_store import VectorStore as VectorStore
-from .version_info import VersionInfo as VersionInfo
-from .provider_info import ProviderInfo as ProviderInfo
from .create_response import CreateResponse as CreateResponse
from .response_object import ResponseObject as ResponseObject
from .file_list_params import FileListParams as FileListParams
@@ -46,7 +48,6 @@
from .run_shield_response import RunShieldResponse as RunShieldResponse
from .delete_file_response import DeleteFileResponse as DeleteFileResponse
from .list_models_response import ListModelsResponse as ListModelsResponse
-from .list_routes_response import ListRoutesResponse as ListRoutesResponse
from .prompt_create_params import PromptCreateParams as PromptCreateParams
from .prompt_list_response import PromptListResponse as PromptListResponse
from .prompt_update_params import PromptUpdateParams as PromptUpdateParams
@@ -71,7 +72,6 @@
from .vector_io_query_params import VectorIoQueryParams as VectorIoQueryParams
from .batch_retrieve_response import BatchRetrieveResponse as BatchRetrieveResponse
from .embedding_create_params import EmbeddingCreateParams as EmbeddingCreateParams
-from .list_providers_response import ListProvidersResponse as ListProvidersResponse
from .model_register_response import ModelRegisterResponse as ModelRegisterResponse
from .model_retrieve_response import ModelRetrieveResponse as ModelRetrieveResponse
from .toolgroup_list_response import ToolgroupListResponse as ToolgroupListResponse
diff --git a/src/llama_stack_client/types/alpha/__init__.py b/src/llama_stack_client/types/alpha/__init__.py
index 42e0ba8e..f9423b58 100644
--- a/src/llama_stack_client/types/alpha/__init__.py
+++ b/src/llama_stack_client/types/alpha/__init__.py
@@ -16,6 +16,7 @@
from .benchmark_config_param import BenchmarkConfigParam as BenchmarkConfigParam
from .benchmark_list_response import BenchmarkListResponse as BenchmarkListResponse
from .inference_rerank_params import InferenceRerankParams as InferenceRerankParams
+from .admin_list_routes_params import AdminListRoutesParams as AdminListRoutesParams
from .list_benchmarks_response import ListBenchmarksResponse as ListBenchmarksResponse
from .benchmark_register_params import BenchmarkRegisterParams as BenchmarkRegisterParams
from .eval_evaluate_rows_params import EvalEvaluateRowsParams as EvalEvaluateRowsParams
diff --git a/src/llama_stack_client/types/alpha/admin_list_routes_params.py b/src/llama_stack_client/types/alpha/admin_list_routes_params.py
new file mode 100644
index 00000000..44bfb8cd
--- /dev/null
+++ b/src/llama_stack_client/types/alpha/admin_list_routes_params.py
@@ -0,0 +1,18 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import Optional
+from typing_extensions import Literal, TypedDict
+
+__all__ = ["AdminListRoutesParams"]
+
+
+class AdminListRoutesParams(TypedDict, total=False):
+ api_filter: Optional[Literal["v1", "v1alpha", "v1beta", "deprecated"]]
+ """Filter to control which routes are returned.
+
+ Can be an API level ('v1', 'v1alpha', 'v1beta') to show non-deprecated routes at
+ that level, or 'deprecated' to show deprecated routes across all levels. If not
+ specified, returns all non-deprecated routes.
+ """
diff --git a/src/llama_stack_client/types/provider_list_response.py b/src/llama_stack_client/types/provider_list_response.py
index 56f36ce5..6f9c1832 100644
--- a/src/llama_stack_client/types/provider_list_response.py
+++ b/src/llama_stack_client/types/provider_list_response.py
@@ -9,7 +9,7 @@
from typing import List
from typing_extensions import TypeAlias
-from .provider_info import ProviderInfo
+from .shared.provider_info import ProviderInfo
__all__ = ["ProviderListResponse"]
diff --git a/src/llama_stack_client/types/route_list_response.py b/src/llama_stack_client/types/route_list_response.py
index 5eded63b..8241a4ca 100644
--- a/src/llama_stack_client/types/route_list_response.py
+++ b/src/llama_stack_client/types/route_list_response.py
@@ -9,7 +9,7 @@
from typing import List
from typing_extensions import TypeAlias
-from .route_info import RouteInfo
+from .shared.route_info import RouteInfo
__all__ = ["RouteListResponse"]
diff --git a/src/llama_stack_client/types/shared/__init__.py b/src/llama_stack_client/types/shared/__init__.py
index fdeee5aa..c8fb8fd0 100644
--- a/src/llama_stack_client/types/shared/__init__.py
+++ b/src/llama_stack_client/types/shared/__init__.py
@@ -7,9 +7,15 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from .param_type import ParamType as ParamType
+from .route_info import RouteInfo as RouteInfo
+from .health_info import HealthInfo as HealthInfo
+from .version_info import VersionInfo as VersionInfo
+from .provider_info import ProviderInfo as ProviderInfo
from .scoring_result import ScoringResult as ScoringResult
from .system_message import SystemMessage as SystemMessage
from .sampling_params import SamplingParams as SamplingParams
from .safety_violation import SafetyViolation as SafetyViolation
from .interleaved_content import InterleavedContent as InterleavedContent
+from .list_routes_response import ListRoutesResponse as ListRoutesResponse
+from .list_providers_response import ListProvidersResponse as ListProvidersResponse
from .interleaved_content_item import InterleavedContentItem as InterleavedContentItem
diff --git a/src/llama_stack_client/types/health_info.py b/src/llama_stack_client/types/shared/health_info.py
similarity index 94%
rename from src/llama_stack_client/types/health_info.py
rename to src/llama_stack_client/types/shared/health_info.py
index 21579208..f541c5ba 100644
--- a/src/llama_stack_client/types/health_info.py
+++ b/src/llama_stack_client/types/shared/health_info.py
@@ -8,7 +8,7 @@
from typing_extensions import Literal
-from .._models import BaseModel
+from ..._models import BaseModel
__all__ = ["HealthInfo"]
diff --git a/src/llama_stack_client/types/list_providers_response.py b/src/llama_stack_client/types/shared/list_providers_response.py
similarity index 84%
rename from src/llama_stack_client/types/list_providers_response.py
rename to src/llama_stack_client/types/shared/list_providers_response.py
index bf0661d5..d27e3f9c 100644
--- a/src/llama_stack_client/types/list_providers_response.py
+++ b/src/llama_stack_client/types/shared/list_providers_response.py
@@ -6,8 +6,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from .._models import BaseModel
-from .provider_list_response import ProviderListResponse
+from ..._models import BaseModel
+from ..provider_list_response import ProviderListResponse
__all__ = ["ListProvidersResponse"]
diff --git a/src/llama_stack_client/types/list_routes_response.py b/src/llama_stack_client/types/shared/list_routes_response.py
similarity index 85%
rename from src/llama_stack_client/types/list_routes_response.py
rename to src/llama_stack_client/types/shared/list_routes_response.py
index 8f224b39..7a31d557 100644
--- a/src/llama_stack_client/types/list_routes_response.py
+++ b/src/llama_stack_client/types/shared/list_routes_response.py
@@ -6,8 +6,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from .._models import BaseModel
-from .route_list_response import RouteListResponse
+from ..._models import BaseModel
+from ..route_list_response import RouteListResponse
__all__ = ["ListRoutesResponse"]
diff --git a/src/llama_stack_client/types/provider_info.py b/src/llama_stack_client/types/shared/provider_info.py
similarity index 96%
rename from src/llama_stack_client/types/provider_info.py
rename to src/llama_stack_client/types/shared/provider_info.py
index 760b8098..d6544fcb 100644
--- a/src/llama_stack_client/types/provider_info.py
+++ b/src/llama_stack_client/types/shared/provider_info.py
@@ -8,7 +8,7 @@
from typing import Dict
-from .._models import BaseModel
+from ..._models import BaseModel
__all__ = ["ProviderInfo"]
diff --git a/src/llama_stack_client/types/route_info.py b/src/llama_stack_client/types/shared/route_info.py
similarity index 95%
rename from src/llama_stack_client/types/route_info.py
rename to src/llama_stack_client/types/shared/route_info.py
index 6819959f..63d9019b 100644
--- a/src/llama_stack_client/types/route_info.py
+++ b/src/llama_stack_client/types/shared/route_info.py
@@ -8,7 +8,7 @@
from typing import List
-from .._models import BaseModel
+from ..._models import BaseModel
__all__ = ["RouteInfo"]
diff --git a/src/llama_stack_client/types/version_info.py b/src/llama_stack_client/types/shared/version_info.py
similarity index 93%
rename from src/llama_stack_client/types/version_info.py
rename to src/llama_stack_client/types/shared/version_info.py
index cecdf55a..cbb77039 100644
--- a/src/llama_stack_client/types/version_info.py
+++ b/src/llama_stack_client/types/shared/version_info.py
@@ -6,7 +6,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from .._models import BaseModel
+from ..._models import BaseModel
__all__ = ["VersionInfo"]
diff --git a/tests/api_resources/alpha/test_admin.py b/tests/api_resources/alpha/test_admin.py
new file mode 100644
index 00000000..bb7f0f44
--- /dev/null
+++ b/tests/api_resources/alpha/test_admin.py
@@ -0,0 +1,315 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+import os
+from typing import Any, cast
+
+import pytest
+
+from tests.utils import assert_matches_type
+from llama_stack_client import LlamaStackClient, AsyncLlamaStackClient
+from llama_stack_client.types import RouteListResponse, ProviderListResponse
+from llama_stack_client.types.shared import HealthInfo, VersionInfo, ProviderInfo
+
+base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
+
+
+class TestAdmin:
+ parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
+
+ @parametrize
+ def test_method_health(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.health()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ @parametrize
+ def test_raw_response_health(self, client: LlamaStackClient) -> None:
+ response = client.alpha.admin.with_raw_response.health()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = response.parse()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ @parametrize
+ def test_streaming_response_health(self, client: LlamaStackClient) -> None:
+ with client.alpha.admin.with_streaming_response.health() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = response.parse()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_method_inspect_provider(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.inspect_provider(
+ "provider_id",
+ )
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ @parametrize
+ def test_raw_response_inspect_provider(self, client: LlamaStackClient) -> None:
+ response = client.alpha.admin.with_raw_response.inspect_provider(
+ "provider_id",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = response.parse()
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ @parametrize
+ def test_streaming_response_inspect_provider(self, client: LlamaStackClient) -> None:
+ with client.alpha.admin.with_streaming_response.inspect_provider(
+ "provider_id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = response.parse()
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_path_params_inspect_provider(self, client: LlamaStackClient) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `provider_id` but received ''"):
+ client.alpha.admin.with_raw_response.inspect_provider(
+ "",
+ )
+
+ @parametrize
+ def test_method_list_providers(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.list_providers()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ @parametrize
+ def test_raw_response_list_providers(self, client: LlamaStackClient) -> None:
+ response = client.alpha.admin.with_raw_response.list_providers()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = response.parse()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ @parametrize
+ def test_streaming_response_list_providers(self, client: LlamaStackClient) -> None:
+ with client.alpha.admin.with_streaming_response.list_providers() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = response.parse()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_method_list_routes(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.list_routes()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ def test_method_list_routes_with_all_params(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.list_routes(
+ api_filter="v1",
+ )
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ def test_raw_response_list_routes(self, client: LlamaStackClient) -> None:
+ response = client.alpha.admin.with_raw_response.list_routes()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = response.parse()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ def test_streaming_response_list_routes(self, client: LlamaStackClient) -> None:
+ with client.alpha.admin.with_streaming_response.list_routes() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = response.parse()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ def test_method_version(self, client: LlamaStackClient) -> None:
+ admin = client.alpha.admin.version()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ @parametrize
+ def test_raw_response_version(self, client: LlamaStackClient) -> None:
+ response = client.alpha.admin.with_raw_response.version()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = response.parse()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ @parametrize
+ def test_streaming_response_version(self, client: LlamaStackClient) -> None:
+ with client.alpha.admin.with_streaming_response.version() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = response.parse()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+
+class TestAsyncAdmin:
+ parametrize = pytest.mark.parametrize(
+ "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
+ )
+
+ @parametrize
+ async def test_method_health(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.health()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_raw_response_health(self, async_client: AsyncLlamaStackClient) -> None:
+ response = await async_client.alpha.admin.with_raw_response.health()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = await response.parse()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_health(self, async_client: AsyncLlamaStackClient) -> None:
+ async with async_client.alpha.admin.with_streaming_response.health() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = await response.parse()
+ assert_matches_type(HealthInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_method_inspect_provider(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.inspect_provider(
+ "provider_id",
+ )
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_raw_response_inspect_provider(self, async_client: AsyncLlamaStackClient) -> None:
+ response = await async_client.alpha.admin.with_raw_response.inspect_provider(
+ "provider_id",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = await response.parse()
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_inspect_provider(self, async_client: AsyncLlamaStackClient) -> None:
+ async with async_client.alpha.admin.with_streaming_response.inspect_provider(
+ "provider_id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = await response.parse()
+ assert_matches_type(ProviderInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_inspect_provider(self, async_client: AsyncLlamaStackClient) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `provider_id` but received ''"):
+ await async_client.alpha.admin.with_raw_response.inspect_provider(
+ "",
+ )
+
+ @parametrize
+ async def test_method_list_providers(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.list_providers()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ @parametrize
+ async def test_raw_response_list_providers(self, async_client: AsyncLlamaStackClient) -> None:
+ response = await async_client.alpha.admin.with_raw_response.list_providers()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = await response.parse()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_list_providers(self, async_client: AsyncLlamaStackClient) -> None:
+ async with async_client.alpha.admin.with_streaming_response.list_providers() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = await response.parse()
+ assert_matches_type(ProviderListResponse, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_method_list_routes(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.list_routes()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ async def test_method_list_routes_with_all_params(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.list_routes(
+ api_filter="v1",
+ )
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ async def test_raw_response_list_routes(self, async_client: AsyncLlamaStackClient) -> None:
+ response = await async_client.alpha.admin.with_raw_response.list_routes()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = await response.parse()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_list_routes(self, async_client: AsyncLlamaStackClient) -> None:
+ async with async_client.alpha.admin.with_streaming_response.list_routes() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = await response.parse()
+ assert_matches_type(RouteListResponse, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_method_version(self, async_client: AsyncLlamaStackClient) -> None:
+ admin = await async_client.alpha.admin.version()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_raw_response_version(self, async_client: AsyncLlamaStackClient) -> None:
+ response = await async_client.alpha.admin.with_raw_response.version()
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ admin = await response.parse()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ @parametrize
+ async def test_streaming_response_version(self, async_client: AsyncLlamaStackClient) -> None:
+ async with async_client.alpha.admin.with_streaming_response.version() as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ admin = await response.parse()
+ assert_matches_type(VersionInfo, admin, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
diff --git a/tests/api_resources/test_inspect.py b/tests/api_resources/test_inspect.py
index be117b12..67896956 100644
--- a/tests/api_resources/test_inspect.py
+++ b/tests/api_resources/test_inspect.py
@@ -15,7 +15,7 @@
from tests.utils import assert_matches_type
from llama_stack_client import LlamaStackClient, AsyncLlamaStackClient
-from llama_stack_client.types import HealthInfo, VersionInfo
+from llama_stack_client.types.shared import HealthInfo, VersionInfo
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
diff --git a/tests/api_resources/test_providers.py b/tests/api_resources/test_providers.py
index 2e8da2f5..80301144 100644
--- a/tests/api_resources/test_providers.py
+++ b/tests/api_resources/test_providers.py
@@ -15,7 +15,8 @@
from tests.utils import assert_matches_type
from llama_stack_client import LlamaStackClient, AsyncLlamaStackClient
-from llama_stack_client.types import ProviderInfo, ProviderListResponse
+from llama_stack_client.types import ProviderListResponse
+from llama_stack_client.types.shared import ProviderInfo
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
From 63c9ff8efe0dca1af66cf1a8e576ec0df109978c Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 22 Dec 2025 17:20:25 +0000
Subject: [PATCH 28/28] release: 0.4.0-alpha.14
Signed-off-by: Charlie Doern
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 44 +++++++++++++++++++
pyproject.toml | 2 +-
src/llama_stack_client/_version.py | 2 +-
.../resources/alpha/admin.py | 6 +++
.../types/alpha/admin_list_routes_params.py | 6 +++
tests/api_resources/alpha/test_admin.py | 6 +++
7 files changed, 65 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c204528e..8c8a3092 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.4.0-alpha.13"
+ ".": "0.4.0-alpha.14"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d2576d59..844b70c3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,49 @@
# Changelog
+## 0.4.0-alpha.14 (2025-12-22)
+
+Full Changelog: [v0.4.0-alpha.13...v0.4.0-alpha.14](https://github.com/llamastack/llama-stack-client-python/compare/v0.4.0-alpha.13...v0.4.0-alpha.14)
+
+### Features
+
+* Add metadata field to request and response ([a83a98e](https://github.com/llamastack/llama-stack-client-python/commit/a83a98e73429e9c12fc679e429cd350498276f2f))
+* add support for tool_choice to repsponses api ([32c453f](https://github.com/llamastack/llama-stack-client-python/commit/32c453f2c2ba39e65830d36f92b11d7ea6bf98f5))
+* **api:** add readonly connectors API ([05f867b](https://github.com/llamastack/llama-stack-client-python/commit/05f867b82f03b4ece33c52b68a06b5e68c345ccc))
+* **api:** deprecate `toolgroup` and `tool_runtime` apis ([d5cef5a](https://github.com/llamastack/llama-stack-client-python/commit/d5cef5ae52db0f4d4ccffb36d4c69e39182af91b))
+* convert Benchmarks API to use FastAPI router ([c784ae1](https://github.com/llamastack/llama-stack-client-python/commit/c784ae1fd823e70fef91793125fadd44d33ba0ce))
+* convert Datasets API to use FastAPI router ([2f53a3f](https://github.com/llamastack/llama-stack-client-python/commit/2f53a3f60fb7da474e2e8d3839d6c58d6a6d2c89))
+* Implement FastAPI router system ([2ca4485](https://github.com/llamastack/llama-stack-client-python/commit/2ca44854928f4360911439690461fa0cfa2db8f9))
+* Implement include parameter specifically for adding logprobs in the output message ([05a0330](https://github.com/llamastack/llama-stack-client-python/commit/05a0330bb08ca21980d79ffdd66cdd2e3af21d51))
+* introduce /admin API for stack administration and operations ([3279ec9](https://github.com/llamastack/llama-stack-client-python/commit/3279ec9799e21595b7410f0cc784a4b0c854ade5))
+* migrate Inspect API to FastAPI router ([7774bec](https://github.com/llamastack/llama-stack-client-python/commit/7774bec492608a78eedb804fd6ab7997fdabdc60))
+* migrate Providers API to FastAPI router pattern ([f8c84cd](https://github.com/llamastack/llama-stack-client-python/commit/f8c84cd0fb2ba351366c3a68c9836dd8112b09d0))
+
+
+### Bug Fixes
+
+* **client:** fix issue with duplicate definitions in Go ([dd94553](https://github.com/llamastack/llama-stack-client-python/commit/dd9455390a84c918ef517a2d1488598c44a9fb40))
+* ensure streams are always closed ([9dc1025](https://github.com/llamastack/llama-stack-client-python/commit/9dc1025c4679f82a9528e859ce2332b9bc8dfb9d))
+* **types:** allow pyright to infer TypedDict types within SequenceNotStr ([93be516](https://github.com/llamastack/llama-stack-client-python/commit/93be5160a0dd1260b728959c29a931b5d7f42fdb))
+* use async_to_httpx_files in patch method ([77df10d](https://github.com/llamastack/llama-stack-client-python/commit/77df10d1c6635984f5f9b48e4479872c88fbb91b))
+
+
+### Chores
+
+* add missing docstrings ([18c54f3](https://github.com/llamastack/llama-stack-client-python/commit/18c54f3ca59edc71633a937914762129856a8950))
+* bump required `uv` version ([2a1523b](https://github.com/llamastack/llama-stack-client-python/commit/2a1523b450a8e66ce2e16f20a5b73f821144748a))
+* **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([a900167](https://github.com/llamastack/llama-stack-client-python/commit/a90016741193156e589525c874dff32459be2a6d))
+* **internal:** add `--fix` argument to lint script ([89e14ad](https://github.com/llamastack/llama-stack-client-python/commit/89e14ad88db7e5ac1dc088c6affec85e749ff4e8))
+* **internal:** add missing files argument to base client ([9cae3df](https://github.com/llamastack/llama-stack-client-python/commit/9cae3df5c115b176be5515fb47ed3d2d69cd0bb8))
+* **internal:** avoid using unstable Python versions in tests ([36336dd](https://github.com/llamastack/llama-stack-client-python/commit/36336dd67f3dcaa355b3b4bb99d4e1f6d73b9779))
+* **internal:** version bump ([597c7c6](https://github.com/llamastack/llama-stack-client-python/commit/597c7c6156b28bcb7f3c59d742532c1204dd2647))
+* update lockfile ([de67c1e](https://github.com/llamastack/llama-stack-client-python/commit/de67c1ebd3abbdc111dfbd979e1ecb655cff25e7))
+* update uv.lock ([95cb22a](https://github.com/llamastack/llama-stack-client-python/commit/95cb22ab14711e3c4220dcf9a83bc87ea2436efe))
+
+
+### Documentation
+
+* add more examples ([d24dff6](https://github.com/llamastack/llama-stack-client-python/commit/d24dff6000019c0091f13fecf63ac90e02122cae))
+
## 0.4.0-alpha.13 (2025-12-15)
Full Changelog: [v0.4.0-alpha.12...v0.4.0-alpha.13](https://github.com/llamastack/llama-stack-client-python/compare/v0.4.0-alpha.12...v0.4.0-alpha.13)
diff --git a/pyproject.toml b/pyproject.toml
index 20d4d99d..a33ff511 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "llama_stack_client"
-version = "0.4.0-alpha.13"
+version = "0.4.0-alpha.14"
description = "The official Python library for the llama-stack-client API"
dynamic = ["readme"]
license = "MIT"
diff --git a/src/llama_stack_client/_version.py b/src/llama_stack_client/_version.py
index ac2faf7d..540aa35b 100644
--- a/src/llama_stack_client/_version.py
+++ b/src/llama_stack_client/_version.py
@@ -7,4 +7,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "llama_stack_client"
-__version__ = "0.4.0-alpha.13" # x-release-please-version
+__version__ = "0.4.0-alpha.14" # x-release-please-version
diff --git a/src/llama_stack_client/resources/alpha/admin.py b/src/llama_stack_client/resources/alpha/admin.py
index d47f01c6..f84fa640 100644
--- a/src/llama_stack_client/resources/alpha/admin.py
+++ b/src/llama_stack_client/resources/alpha/admin.py
@@ -1,3 +1,9 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
diff --git a/src/llama_stack_client/types/alpha/admin_list_routes_params.py b/src/llama_stack_client/types/alpha/admin_list_routes_params.py
index 44bfb8cd..7dd6b6d4 100644
--- a/src/llama_stack_client/types/alpha/admin_list_routes_params.py
+++ b/src/llama_stack_client/types/alpha/admin_list_routes_params.py
@@ -1,3 +1,9 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
diff --git a/tests/api_resources/alpha/test_admin.py b/tests/api_resources/alpha/test_admin.py
index bb7f0f44..c43ea2c1 100644
--- a/tests/api_resources/alpha/test_admin.py
+++ b/tests/api_resources/alpha/test_admin.py
@@ -1,3 +1,9 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations