Skip to content

Commit cb591f4

Browse files
committed
Sync updates from stainless branch: ashwinb/dev
1 parent 38cd91c commit cb591f4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2601
-598
lines changed

src/llama_stack_client/_base_client.py

Lines changed: 207 additions & 233 deletions
Large diffs are not rendered by default.

src/llama_stack_client/_client.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@
2020
ProxiesTypes,
2121
RequestOptions,
2222
)
23-
from ._utils import (
24-
is_given,
25-
get_async_library,
26-
)
23+
from ._utils import is_given, get_async_library
2724
from ._version import __version__
2825
from .resources import (
2926
tools,
@@ -41,6 +38,7 @@
4138
benchmarks,
4239
toolgroups,
4340
vector_dbs,
41+
completions,
4442
scoring_functions,
4543
synthetic_data_generation,
4644
)
@@ -51,6 +49,7 @@
5149
SyncAPIClient,
5250
AsyncAPIClient,
5351
)
52+
from .resources.chat import chat
5453
from .resources.eval import eval
5554
from .resources.agents import agents
5655
from .resources.tool_runtime import tool_runtime
@@ -77,6 +76,8 @@ class LlamaStackClient(SyncAPIClient):
7776
eval: eval.EvalResource
7877
inspect: inspect.InspectResource
7978
inference: inference.InferenceResource
79+
chat: chat.ChatResource
80+
completions: completions.CompletionsResource
8081
vector_io: vector_io.VectorIoResource
8182
vector_dbs: vector_dbs.VectorDBsResource
8283
models: models.ModelsResource
@@ -157,6 +158,8 @@ def __init__(
157158
self.eval = eval.EvalResource(self)
158159
self.inspect = inspect.InspectResource(self)
159160
self.inference = inference.InferenceResource(self)
161+
self.chat = chat.ChatResource(self)
162+
self.completions = completions.CompletionsResource(self)
160163
self.vector_io = vector_io.VectorIoResource(self)
161164
self.vector_dbs = vector_dbs.VectorDBsResource(self)
162165
self.models = models.ModelsResource(self)
@@ -289,6 +292,8 @@ class AsyncLlamaStackClient(AsyncAPIClient):
289292
eval: eval.AsyncEvalResource
290293
inspect: inspect.AsyncInspectResource
291294
inference: inference.AsyncInferenceResource
295+
chat: chat.AsyncChatResource
296+
completions: completions.AsyncCompletionsResource
292297
vector_io: vector_io.AsyncVectorIoResource
293298
vector_dbs: vector_dbs.AsyncVectorDBsResource
294299
models: models.AsyncModelsResource
@@ -369,6 +374,8 @@ def __init__(
369374
self.eval = eval.AsyncEvalResource(self)
370375
self.inspect = inspect.AsyncInspectResource(self)
371376
self.inference = inference.AsyncInferenceResource(self)
377+
self.chat = chat.AsyncChatResource(self)
378+
self.completions = completions.AsyncCompletionsResource(self)
372379
self.vector_io = vector_io.AsyncVectorIoResource(self)
373380
self.vector_dbs = vector_dbs.AsyncVectorDBsResource(self)
374381
self.models = models.AsyncModelsResource(self)
@@ -502,6 +509,8 @@ def __init__(self, client: LlamaStackClient) -> None:
502509
self.eval = eval.EvalResourceWithRawResponse(client.eval)
503510
self.inspect = inspect.InspectResourceWithRawResponse(client.inspect)
504511
self.inference = inference.InferenceResourceWithRawResponse(client.inference)
512+
self.chat = chat.ChatResourceWithRawResponse(client.chat)
513+
self.completions = completions.CompletionsResourceWithRawResponse(client.completions)
505514
self.vector_io = vector_io.VectorIoResourceWithRawResponse(client.vector_io)
506515
self.vector_dbs = vector_dbs.VectorDBsResourceWithRawResponse(client.vector_dbs)
507516
self.models = models.ModelsResourceWithRawResponse(client.models)
@@ -529,6 +538,8 @@ def __init__(self, client: AsyncLlamaStackClient) -> None:
529538
self.eval = eval.AsyncEvalResourceWithRawResponse(client.eval)
530539
self.inspect = inspect.AsyncInspectResourceWithRawResponse(client.inspect)
531540
self.inference = inference.AsyncInferenceResourceWithRawResponse(client.inference)
541+
self.chat = chat.AsyncChatResourceWithRawResponse(client.chat)
542+
self.completions = completions.AsyncCompletionsResourceWithRawResponse(client.completions)
532543
self.vector_io = vector_io.AsyncVectorIoResourceWithRawResponse(client.vector_io)
533544
self.vector_dbs = vector_dbs.AsyncVectorDBsResourceWithRawResponse(client.vector_dbs)
534545
self.models = models.AsyncModelsResourceWithRawResponse(client.models)
@@ -558,6 +569,8 @@ def __init__(self, client: LlamaStackClient) -> None:
558569
self.eval = eval.EvalResourceWithStreamingResponse(client.eval)
559570
self.inspect = inspect.InspectResourceWithStreamingResponse(client.inspect)
560571
self.inference = inference.InferenceResourceWithStreamingResponse(client.inference)
572+
self.chat = chat.ChatResourceWithStreamingResponse(client.chat)
573+
self.completions = completions.CompletionsResourceWithStreamingResponse(client.completions)
561574
self.vector_io = vector_io.VectorIoResourceWithStreamingResponse(client.vector_io)
562575
self.vector_dbs = vector_dbs.VectorDBsResourceWithStreamingResponse(client.vector_dbs)
563576
self.models = models.ModelsResourceWithStreamingResponse(client.models)
@@ -587,6 +600,8 @@ def __init__(self, client: AsyncLlamaStackClient) -> None:
587600
self.eval = eval.AsyncEvalResourceWithStreamingResponse(client.eval)
588601
self.inspect = inspect.AsyncInspectResourceWithStreamingResponse(client.inspect)
589602
self.inference = inference.AsyncInferenceResourceWithStreamingResponse(client.inference)
603+
self.chat = chat.AsyncChatResourceWithStreamingResponse(client.chat)
604+
self.completions = completions.AsyncCompletionsResourceWithStreamingResponse(client.completions)
590605
self.vector_io = vector_io.AsyncVectorIoResourceWithStreamingResponse(client.vector_io)
591606
self.vector_dbs = vector_dbs.AsyncVectorDBsResourceWithStreamingResponse(client.vector_dbs)
592607
self.models = models.AsyncModelsResourceWithStreamingResponse(client.models)

src/llama_stack_client/_models.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
)
2020

2121
import pydantic
22-
import pydantic.generics
2322
from pydantic.fields import FieldInfo
2423

2524
from ._types import (
@@ -627,8 +626,8 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
627626
# Note: if one variant defines an alias then they all should
628627
discriminator_alias = field_info.alias
629628

630-
if field_info.annotation and is_literal_type(field_info.annotation):
631-
for entry in get_args(field_info.annotation):
629+
if (annotation := getattr(field_info, "annotation", None)) and is_literal_type(annotation):
630+
for entry in get_args(annotation):
632631
if isinstance(entry, str):
633632
mapping[entry] = variant
634633

src/llama_stack_client/_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def _parse(self, *, to: type[_T] | None = None) -> R | _T:
235235
# split is required to handle cases where additional information is included
236236
# in the response, e.g. application/json; charset=utf-8
237237
content_type, *_ = response.headers.get("content-type", "*").split(";")
238-
if content_type != "application/json":
238+
if not content_type.endswith("json"):
239239
if is_basemodel(cast_to):
240240
try:
241241
data = response.json()

src/llama_stack_client/_utils/_typing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class MyResponse(Foo[_T]):
110110
```
111111
"""
112112
cls = cast(object, get_origin(typ) or typ)
113-
if cls in generic_bases:
113+
if cls in generic_bases: # pyright: ignore[reportUnnecessaryContains]
114114
# we're given the class directly
115115
return extract_type_arg(typ, index)
116116

src/llama_stack_client/_utils/_utils.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,16 @@ def _extract_items(
7272
from .._files import assert_is_file_content
7373

7474
# We have exhausted the path, return the entry we found.
75-
assert_is_file_content(obj, key=flattened_key)
7675
assert flattened_key is not None
76+
77+
if is_list(obj):
78+
files: list[tuple[str, FileTypes]] = []
79+
for entry in obj:
80+
assert_is_file_content(entry, key=flattened_key + "[]" if flattened_key else "")
81+
files.append((flattened_key + "[]", cast(FileTypes, entry)))
82+
return files
83+
84+
assert_is_file_content(obj, key=flattened_key)
7785
return [(flattened_key, cast(FileTypes, obj))]
7886

7987
index += 1

src/llama_stack_client/resources/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3+
from .chat import (
4+
ChatResource,
5+
AsyncChatResource,
6+
ChatResourceWithRawResponse,
7+
AsyncChatResourceWithRawResponse,
8+
ChatResourceWithStreamingResponse,
9+
AsyncChatResourceWithStreamingResponse,
10+
)
311
from .eval import (
412
EvalResource,
513
AsyncEvalResource,
@@ -136,6 +144,14 @@
136144
VectorDBsResourceWithStreamingResponse,
137145
AsyncVectorDBsResourceWithStreamingResponse,
138146
)
147+
from .completions import (
148+
CompletionsResource,
149+
AsyncCompletionsResource,
150+
CompletionsResourceWithRawResponse,
151+
AsyncCompletionsResourceWithRawResponse,
152+
CompletionsResourceWithStreamingResponse,
153+
AsyncCompletionsResourceWithStreamingResponse,
154+
)
139155
from .tool_runtime import (
140156
ToolRuntimeResource,
141157
AsyncToolRuntimeResource,
@@ -218,6 +234,18 @@
218234
"AsyncInferenceResourceWithRawResponse",
219235
"InferenceResourceWithStreamingResponse",
220236
"AsyncInferenceResourceWithStreamingResponse",
237+
"ChatResource",
238+
"AsyncChatResource",
239+
"ChatResourceWithRawResponse",
240+
"AsyncChatResourceWithRawResponse",
241+
"ChatResourceWithStreamingResponse",
242+
"AsyncChatResourceWithStreamingResponse",
243+
"CompletionsResource",
244+
"AsyncCompletionsResource",
245+
"CompletionsResourceWithRawResponse",
246+
"AsyncCompletionsResourceWithRawResponse",
247+
"CompletionsResourceWithStreamingResponse",
248+
"AsyncCompletionsResourceWithStreamingResponse",
221249
"VectorIoResource",
222250
"AsyncVectorIoResource",
223251
"VectorIoResourceWithRawResponse",

src/llama_stack_client/resources/agents/agents.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@
3030
AsyncSessionResourceWithStreamingResponse,
3131
)
3232
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
33-
from ..._utils import (
34-
maybe_transform,
35-
async_maybe_transform,
36-
)
33+
from ..._utils import maybe_transform, async_maybe_transform
3734
from ..._compat import cached_property
3835
from ..._resource import SyncAPIResource, AsyncAPIResource
3936
from ..._response import (

src/llama_stack_client/resources/agents/session.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
import httpx
88

99
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
10-
from ..._utils import (
11-
maybe_transform,
12-
async_maybe_transform,
13-
)
10+
from ..._utils import maybe_transform, async_maybe_transform
1411
from ..._compat import cached_property
1512
from ..._resource import SyncAPIResource, AsyncAPIResource
1613
from ..._response import (

src/llama_stack_client/resources/agents/turn.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,7 @@
88
import httpx
99

1010
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
11-
from ..._utils import (
12-
required_args,
13-
maybe_transform,
14-
async_maybe_transform,
15-
)
11+
from ..._utils import required_args, maybe_transform, async_maybe_transform
1612
from ..._compat import cached_property
1713
from ..._resource import SyncAPIResource, AsyncAPIResource
1814
from ..._response import (

0 commit comments

Comments
 (0)