diff --git a/src/llama_stack_client/_client.py b/src/llama_stack_client/_client.py index 53d28006..bbd2dcfa 100644 --- a/src/llama_stack_client/_client.py +++ b/src/llama_stack_client/_client.py @@ -1,23 +1,37 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. from __future__ import annotations - import json import os -from typing import Any, Mapping, Union +from typing import Any, Union, Mapping +from typing_extensions import Self, override import httpx -from typing_extensions import override, Self -from . import _exceptions, resources -from ._base_client import AsyncAPIClient, DEFAULT_MAX_RETRIES, SyncAPIClient -from ._exceptions import APIStatusError +from . import resources, _exceptions from ._qs import Querystring -from ._streaming import AsyncStream as AsyncStream, Stream as Stream -from ._types import NOT_GIVEN, NotGiven, Omit, ProxiesTypes, RequestOptions, Timeout, Transport -from ._utils import get_async_library, is_given +from ._types import ( + NOT_GIVEN, + Omit, + Timeout, + NotGiven, + Transport, + ProxiesTypes, + RequestOptions, +) +from ._utils import ( + is_given, + get_async_library, +) from ._version import __version__ +from ._streaming import Stream as Stream, AsyncStream as AsyncStream +from ._exceptions import APIStatusError +from ._base_client import ( + DEFAULT_MAX_RETRIES, + SyncAPIClient, + AsyncAPIClient, +) __all__ = [ "Timeout", @@ -86,11 +100,11 @@ def __init__( base_url = os.environ.get("LLAMA_STACK_CLIENT_BASE_URL") if base_url is None: base_url = f"http://any-hosted-llama-stack.com" - if provider_data: + + if provider_data is not None: if default_headers is None: default_headers = {} default_headers["X-LlamaStack-ProviderData"] = json.dumps(provider_data) - super().__init__( version=__version__, base_url=base_url, @@ -277,11 +291,10 @@ def __init__( if base_url is None: base_url = f"http://any-hosted-llama-stack.com" - if provider_data: + if provider_data is not None: if default_headers is None: default_headers = {} default_headers["X-LlamaStack-ProviderData"] = json.dumps(provider_data) - super().__init__( version=__version__, base_url=base_url, diff --git a/src/llama_stack_client/lib/agents/custom_tool.py b/src/llama_stack_client/lib/agents/custom_tool.py index b1c783d6..6c15642a 100644 --- a/src/llama_stack_client/lib/agents/custom_tool.py +++ b/src/llama_stack_client/lib/agents/custom_tool.py @@ -10,7 +10,8 @@ from typing import Dict, List, Union from llama_stack_client.types import ToolResponseMessage, UserMessage -from llama_stack_client.types.agent_create_params import AgentConfigToolFunctionCallToolDefinition +from llama_stack_client.types.shared_params.function_call_tool_definition import FunctionCallToolDefinition + from llama_stack_client.types.tool_param_definition_param import ToolParamDefinitionParam @@ -53,8 +54,8 @@ def parameters_for_system_prompt(self) -> str: } ) - def get_tool_definition(self) -> AgentConfigToolFunctionCallToolDefinition: - return AgentConfigToolFunctionCallToolDefinition( + def get_tool_definition(self) -> FunctionCallToolDefinition: + return FunctionCallToolDefinition( type="function_call", function_name=self.get_name(), description=self.get_description(), diff --git a/src/llama_stack_client/resources/inference.py b/src/llama_stack_client/resources/inference.py index e32aaf0e..98cdc359 100644 --- a/src/llama_stack_client/resources/inference.py +++ b/src/llama_stack_client/resources/inference.py @@ -154,6 +154,7 @@ def completion( timeout: Override the client-level default timeout for this request, in seconds """ + extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), @@ -344,6 +345,7 @@ async def completion( timeout: Override the client-level default timeout for this request, in seconds """ + extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), diff --git a/src/llama_stack_client/resources/memory_banks.py b/src/llama_stack_client/resources/memory_banks.py index 5ecbb71f..78de27f8 100644 --- a/src/llama_stack_client/resources/memory_banks.py +++ b/src/llama_stack_client/resources/memory_banks.py @@ -6,7 +6,11 @@ import httpx -from ..types import memory_bank_register_params, memory_bank_retrieve_params +from ..types import ( + memory_bank_register_params, + memory_bank_retrieve_params, + memory_bank_unregister_params, +) from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven from .._utils import ( maybe_transform, @@ -179,6 +183,44 @@ def register( cast_to=NoneType, ) + def unregister( + self, + *, + memory_bank_id: str, + x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, + # 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, + ) -> None: + """ + Args: + 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 + """ + extra_headers = {"Accept": "*/*", **(extra_headers or {})} + extra_headers = { + **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), + **(extra_headers or {}), + } + return self._post( + "/memory_banks/unregister", + body=maybe_transform( + {"memory_bank_id": memory_bank_id}, memory_bank_unregister_params.MemoryBankUnregisterParams + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=NoneType, + ) + class AsyncMemoryBanksResource(AsyncAPIResource): @cached_property @@ -331,6 +373,44 @@ async def register( cast_to=NoneType, ) + async def unregister( + self, + *, + memory_bank_id: str, + x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, + # 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, + ) -> None: + """ + Args: + 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 + """ + extra_headers = {"Accept": "*/*", **(extra_headers or {})} + extra_headers = { + **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), + **(extra_headers or {}), + } + return await self._post( + "/memory_banks/unregister", + body=await async_maybe_transform( + {"memory_bank_id": memory_bank_id}, memory_bank_unregister_params.MemoryBankUnregisterParams + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=NoneType, + ) + class MemoryBanksResourceWithRawResponse: def __init__(self, memory_banks: MemoryBanksResource) -> None: @@ -345,6 +425,9 @@ def __init__(self, memory_banks: MemoryBanksResource) -> None: self.register = to_raw_response_wrapper( memory_banks.register, ) + self.unregister = to_raw_response_wrapper( + memory_banks.unregister, + ) class AsyncMemoryBanksResourceWithRawResponse: @@ -360,6 +443,9 @@ def __init__(self, memory_banks: AsyncMemoryBanksResource) -> None: self.register = async_to_raw_response_wrapper( memory_banks.register, ) + self.unregister = async_to_raw_response_wrapper( + memory_banks.unregister, + ) class MemoryBanksResourceWithStreamingResponse: @@ -375,6 +461,9 @@ def __init__(self, memory_banks: MemoryBanksResource) -> None: self.register = to_streamed_response_wrapper( memory_banks.register, ) + self.unregister = to_streamed_response_wrapper( + memory_banks.unregister, + ) class AsyncMemoryBanksResourceWithStreamingResponse: @@ -390,3 +479,6 @@ def __init__(self, memory_banks: AsyncMemoryBanksResource) -> None: self.register = async_to_streamed_response_wrapper( memory_banks.register, ) + self.unregister = async_to_streamed_response_wrapper( + memory_banks.unregister, + ) diff --git a/src/llama_stack_client/resources/models.py b/src/llama_stack_client/resources/models.py index 7dcd9354..1a7e8ecc 100644 --- a/src/llama_stack_client/resources/models.py +++ b/src/llama_stack_client/resources/models.py @@ -6,12 +6,7 @@ import httpx -from ..types import ( - model_delete_params, - model_update_params, - model_register_params, - model_retrieve_params, -) +from ..types import model_register_params, model_retrieve_params, model_unregister_params from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven from .._utils import ( maybe_transform, @@ -90,52 +85,6 @@ def retrieve( cast_to=Model, ) - def update( - self, - *, - model_id: str, - metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, - provider_id: str | NotGiven = NOT_GIVEN, - provider_model_id: str | NotGiven = NOT_GIVEN, - x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, - # 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, - ) -> Model: - """ - Args: - 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 - """ - extra_headers = { - **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), - **(extra_headers or {}), - } - return self._post( - "/models/update", - body=maybe_transform( - { - "model_id": model_id, - "metadata": metadata, - "provider_id": provider_id, - "provider_model_id": provider_model_id, - }, - model_update_params.ModelUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - cast_to=Model, - ) - def list( self, *, @@ -170,10 +119,13 @@ def list( cast_to=Model, ) - def delete( + def register( self, *, model_id: str, + metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, + provider_id: str | NotGiven = NOT_GIVEN, + provider_model_id: str | NotGiven = NOT_GIVEN, x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, # 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. @@ -181,7 +133,7 @@ def delete( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> None: + ) -> Model: """ Args: extra_headers: Send extra headers @@ -192,27 +144,31 @@ def delete( timeout: Override the client-level default timeout for this request, in seconds """ - extra_headers = {"Accept": "*/*", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), } return self._post( - "/models/delete", - body=maybe_transform({"model_id": model_id}, model_delete_params.ModelDeleteParams), + "/models/register", + body=maybe_transform( + { + "model_id": model_id, + "metadata": metadata, + "provider_id": provider_id, + "provider_model_id": provider_model_id, + }, + model_register_params.ModelRegisterParams, + ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=NoneType, + cast_to=Model, ) - def register( + def unregister( self, *, model_id: str, - metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, - provider_id: str | NotGiven = NOT_GIVEN, - provider_model_id: str | NotGiven = NOT_GIVEN, x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, # 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. @@ -220,7 +176,7 @@ def register( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> Model: + ) -> None: """ Args: extra_headers: Send extra headers @@ -231,25 +187,18 @@ def register( timeout: Override the client-level default timeout for this request, in seconds """ + extra_headers = {"Accept": "*/*", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), } return self._post( - "/models/register", - body=maybe_transform( - { - "model_id": model_id, - "metadata": metadata, - "provider_id": provider_id, - "provider_model_id": provider_model_id, - }, - model_register_params.ModelRegisterParams, - ), + "/models/unregister", + body=maybe_transform({"model_id": model_id}, model_unregister_params.ModelUnregisterParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=Model, + cast_to=NoneType, ) @@ -313,52 +262,6 @@ async def retrieve( cast_to=Model, ) - async def update( - self, - *, - model_id: str, - metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, - provider_id: str | NotGiven = NOT_GIVEN, - provider_model_id: str | NotGiven = NOT_GIVEN, - x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, - # 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, - ) -> Model: - """ - Args: - 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 - """ - extra_headers = { - **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), - **(extra_headers or {}), - } - return await self._post( - "/models/update", - body=await async_maybe_transform( - { - "model_id": model_id, - "metadata": metadata, - "provider_id": provider_id, - "provider_model_id": provider_model_id, - }, - model_update_params.ModelUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - cast_to=Model, - ) - async def list( self, *, @@ -393,10 +296,13 @@ async def list( cast_to=Model, ) - async def delete( + async def register( self, *, model_id: str, + metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, + provider_id: str | NotGiven = NOT_GIVEN, + provider_model_id: str | NotGiven = NOT_GIVEN, x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, # 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. @@ -404,7 +310,7 @@ async def delete( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> None: + ) -> Model: """ Args: extra_headers: Send extra headers @@ -415,27 +321,31 @@ async def delete( timeout: Override the client-level default timeout for this request, in seconds """ - extra_headers = {"Accept": "*/*", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), } return await self._post( - "/models/delete", - body=await async_maybe_transform({"model_id": model_id}, model_delete_params.ModelDeleteParams), + "/models/register", + body=await async_maybe_transform( + { + "model_id": model_id, + "metadata": metadata, + "provider_id": provider_id, + "provider_model_id": provider_model_id, + }, + model_register_params.ModelRegisterParams, + ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=NoneType, + cast_to=Model, ) - async def register( + async def unregister( self, *, model_id: str, - metadata: Dict[str, Union[bool, float, str, Iterable[object], object, None]] | NotGiven = NOT_GIVEN, - provider_id: str | NotGiven = NOT_GIVEN, - provider_model_id: str | NotGiven = NOT_GIVEN, x_llama_stack_provider_data: str | NotGiven = NOT_GIVEN, # 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. @@ -443,7 +353,7 @@ async def register( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> Model: + ) -> None: """ Args: extra_headers: Send extra headers @@ -454,25 +364,18 @@ async def register( timeout: Override the client-level default timeout for this request, in seconds """ + extra_headers = {"Accept": "*/*", **(extra_headers or {})} extra_headers = { **strip_not_given({"X-LlamaStack-ProviderData": x_llama_stack_provider_data}), **(extra_headers or {}), } return await self._post( - "/models/register", - body=await async_maybe_transform( - { - "model_id": model_id, - "metadata": metadata, - "provider_id": provider_id, - "provider_model_id": provider_model_id, - }, - model_register_params.ModelRegisterParams, - ), + "/models/unregister", + body=await async_maybe_transform({"model_id": model_id}, model_unregister_params.ModelUnregisterParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=Model, + cast_to=NoneType, ) @@ -483,18 +386,15 @@ def __init__(self, models: ModelsResource) -> None: self.retrieve = to_raw_response_wrapper( models.retrieve, ) - self.update = to_raw_response_wrapper( - models.update, - ) self.list = to_raw_response_wrapper( models.list, ) - self.delete = to_raw_response_wrapper( - models.delete, - ) self.register = to_raw_response_wrapper( models.register, ) + self.unregister = to_raw_response_wrapper( + models.unregister, + ) class AsyncModelsResourceWithRawResponse: @@ -504,18 +404,15 @@ def __init__(self, models: AsyncModelsResource) -> None: self.retrieve = async_to_raw_response_wrapper( models.retrieve, ) - self.update = async_to_raw_response_wrapper( - models.update, - ) self.list = async_to_raw_response_wrapper( models.list, ) - self.delete = async_to_raw_response_wrapper( - models.delete, - ) self.register = async_to_raw_response_wrapper( models.register, ) + self.unregister = async_to_raw_response_wrapper( + models.unregister, + ) class ModelsResourceWithStreamingResponse: @@ -525,18 +422,15 @@ def __init__(self, models: ModelsResource) -> None: self.retrieve = to_streamed_response_wrapper( models.retrieve, ) - self.update = to_streamed_response_wrapper( - models.update, - ) self.list = to_streamed_response_wrapper( models.list, ) - self.delete = to_streamed_response_wrapper( - models.delete, - ) self.register = to_streamed_response_wrapper( models.register, ) + self.unregister = to_streamed_response_wrapper( + models.unregister, + ) class AsyncModelsResourceWithStreamingResponse: @@ -546,15 +440,12 @@ def __init__(self, models: AsyncModelsResource) -> None: self.retrieve = async_to_streamed_response_wrapper( models.retrieve, ) - self.update = async_to_streamed_response_wrapper( - models.update, - ) self.list = async_to_streamed_response_wrapper( models.list, ) - self.delete = async_to_streamed_response_wrapper( - models.delete, - ) self.register = async_to_streamed_response_wrapper( models.register, ) + self.unregister = async_to_streamed_response_wrapper( + models.unregister, + ) diff --git a/src/llama_stack_client/types/__init__.py b/src/llama_stack_client/types/__init__.py index d238a4d3..5df0db59 100644 --- a/src/llama_stack_client/types/__init__.py +++ b/src/llama_stack_client/types/__init__.py @@ -43,8 +43,6 @@ from .completion_response import CompletionResponse as CompletionResponse from .embeddings_response import EmbeddingsResponse as EmbeddingsResponse from .memory_query_params import MemoryQueryParams as MemoryQueryParams -from .model_delete_params import ModelDeleteParams as ModelDeleteParams -from .model_update_params import ModelUpdateParams as ModelUpdateParams from .route_list_response import RouteListResponse as RouteListResponse from .run_shield_response import RunShieldResponse as RunShieldResponse from .tool_execution_step import ToolExecutionStep as ToolExecutionStep @@ -63,6 +61,7 @@ from .shield_retrieve_params import ShieldRetrieveParams as ShieldRetrieveParams from .dataset_register_params import DatasetRegisterParams as DatasetRegisterParams from .dataset_retrieve_params import DatasetRetrieveParams as DatasetRetrieveParams +from .model_unregister_params import ModelUnregisterParams as ModelUnregisterParams from .query_documents_response import QueryDocumentsResponse as QueryDocumentsResponse from .safety_run_shield_params import SafetyRunShieldParams as SafetyRunShieldParams from .dataset_retrieve_response import DatasetRetrieveResponse as DatasetRetrieveResponse @@ -80,6 +79,7 @@ from .scoring_score_batch_response import ScoringScoreBatchResponse as ScoringScoreBatchResponse from .inference_completion_response import InferenceCompletionResponse as InferenceCompletionResponse from .memory_bank_retrieve_response import MemoryBankRetrieveResponse as MemoryBankRetrieveResponse +from .memory_bank_unregister_params import MemoryBankUnregisterParams as MemoryBankUnregisterParams from .rest_api_execution_config_param import RestAPIExecutionConfigParam as RestAPIExecutionConfigParam from .inference_chat_completion_params import InferenceChatCompletionParams as InferenceChatCompletionParams from .scoring_function_register_params import ScoringFunctionRegisterParams as ScoringFunctionRegisterParams diff --git a/src/llama_stack_client/types/memory_bank_unregister_params.py b/src/llama_stack_client/types/memory_bank_unregister_params.py new file mode 100644 index 00000000..ecf07220 --- /dev/null +++ b/src/llama_stack_client/types/memory_bank_unregister_params.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Required, Annotated, TypedDict + +from .._utils import PropertyInfo + +__all__ = ["MemoryBankUnregisterParams"] + + +class MemoryBankUnregisterParams(TypedDict, total=False): + memory_bank_id: Required[str] + + x_llama_stack_provider_data: Annotated[str, PropertyInfo(alias="X-LlamaStack-ProviderData")] diff --git a/src/llama_stack_client/types/model_unregister_params.py b/src/llama_stack_client/types/model_unregister_params.py new file mode 100644 index 00000000..5c6b440c --- /dev/null +++ b/src/llama_stack_client/types/model_unregister_params.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Required, Annotated, TypedDict + +from .._utils import PropertyInfo + +__all__ = ["ModelUnregisterParams"] + + +class ModelUnregisterParams(TypedDict, total=False): + model_id: Required[str] + + x_llama_stack_provider_data: Annotated[str, PropertyInfo(alias="X-LlamaStack-ProviderData")] diff --git a/tests/api_resources/test_inference.py b/tests/api_resources/test_inference.py index 9a20683e..3a811f36 100644 --- a/tests/api_resources/test_inference.py +++ b/tests/api_resources/test_inference.py @@ -185,6 +185,9 @@ def test_streaming_response_chat_completion(self, client: LlamaStackClient) -> N assert cast(Any, response.is_closed) is True + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize def test_method_completion(self, client: LlamaStackClient) -> None: inference = client.inference.completion( @@ -193,6 +196,9 @@ def test_method_completion(self, client: LlamaStackClient) -> None: ) assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize def test_method_completion_with_all_params(self, client: LlamaStackClient) -> None: inference = client.inference.completion( @@ -216,6 +222,9 @@ def test_method_completion_with_all_params(self, client: LlamaStackClient) -> No ) assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize def test_raw_response_completion(self, client: LlamaStackClient) -> None: response = client.inference.with_raw_response.completion( @@ -228,6 +237,9 @@ def test_raw_response_completion(self, client: LlamaStackClient) -> None: inference = response.parse() assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize def test_streaming_response_completion(self, client: LlamaStackClient) -> None: with client.inference.with_streaming_response.completion( @@ -453,6 +465,9 @@ async def test_streaming_response_chat_completion(self, async_client: AsyncLlama assert cast(Any, response.is_closed) is True + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize async def test_method_completion(self, async_client: AsyncLlamaStackClient) -> None: inference = await async_client.inference.completion( @@ -461,6 +476,9 @@ async def test_method_completion(self, async_client: AsyncLlamaStackClient) -> N ) assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize async def test_method_completion_with_all_params(self, async_client: AsyncLlamaStackClient) -> None: inference = await async_client.inference.completion( @@ -484,6 +502,9 @@ async def test_method_completion_with_all_params(self, async_client: AsyncLlamaS ) assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize async def test_raw_response_completion(self, async_client: AsyncLlamaStackClient) -> None: response = await async_client.inference.with_raw_response.completion( @@ -496,6 +517,9 @@ async def test_raw_response_completion(self, async_client: AsyncLlamaStackClient inference = await response.parse() assert_matches_type(InferenceCompletionResponse, inference, path=["response"]) + @pytest.mark.skip( + reason="currently no good way to test endpoints with content type text/event-stream, Prism mock server will fail" + ) @parametrize async def test_streaming_response_completion(self, async_client: AsyncLlamaStackClient) -> None: async with async_client.inference.with_streaming_response.completion( diff --git a/tests/api_resources/test_memory_banks.py b/tests/api_resources/test_memory_banks.py index 21438290..4fc1d23f 100644 --- a/tests/api_resources/test_memory_banks.py +++ b/tests/api_resources/test_memory_banks.py @@ -165,6 +165,45 @@ def test_streaming_response_register(self, client: LlamaStackClient) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_method_unregister(self, client: LlamaStackClient) -> None: + memory_bank = client.memory_banks.unregister( + memory_bank_id="memory_bank_id", + ) + assert memory_bank is None + + @parametrize + def test_method_unregister_with_all_params(self, client: LlamaStackClient) -> None: + memory_bank = client.memory_banks.unregister( + memory_bank_id="memory_bank_id", + x_llama_stack_provider_data="X-LlamaStack-ProviderData", + ) + assert memory_bank is None + + @parametrize + def test_raw_response_unregister(self, client: LlamaStackClient) -> None: + response = client.memory_banks.with_raw_response.unregister( + memory_bank_id="memory_bank_id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + memory_bank = response.parse() + assert memory_bank is None + + @parametrize + def test_streaming_response_unregister(self, client: LlamaStackClient) -> None: + with client.memory_banks.with_streaming_response.unregister( + memory_bank_id="memory_bank_id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + memory_bank = response.parse() + assert memory_bank is None + + assert cast(Any, response.is_closed) is True + class TestAsyncMemoryBanks: parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) @@ -313,3 +352,42 @@ async def test_streaming_response_register(self, async_client: AsyncLlamaStackCl assert memory_bank is None assert cast(Any, response.is_closed) is True + + @parametrize + async def test_method_unregister(self, async_client: AsyncLlamaStackClient) -> None: + memory_bank = await async_client.memory_banks.unregister( + memory_bank_id="memory_bank_id", + ) + assert memory_bank is None + + @parametrize + async def test_method_unregister_with_all_params(self, async_client: AsyncLlamaStackClient) -> None: + memory_bank = await async_client.memory_banks.unregister( + memory_bank_id="memory_bank_id", + x_llama_stack_provider_data="X-LlamaStack-ProviderData", + ) + assert memory_bank is None + + @parametrize + async def test_raw_response_unregister(self, async_client: AsyncLlamaStackClient) -> None: + response = await async_client.memory_banks.with_raw_response.unregister( + memory_bank_id="memory_bank_id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + memory_bank = await response.parse() + assert memory_bank is None + + @parametrize + async def test_streaming_response_unregister(self, async_client: AsyncLlamaStackClient) -> None: + async with async_client.memory_banks.with_streaming_response.unregister( + memory_bank_id="memory_bank_id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + memory_bank = await response.parse() + assert memory_bank is None + + assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/test_models.py b/tests/api_resources/test_models.py index 6c22be8d..13afe314 100644 --- a/tests/api_resources/test_models.py +++ b/tests/api_resources/test_models.py @@ -142,6 +142,45 @@ def test_streaming_response_register(self, client: LlamaStackClient) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_method_unregister(self, client: LlamaStackClient) -> None: + model = client.models.unregister( + model_id="model_id", + ) + assert model is None + + @parametrize + def test_method_unregister_with_all_params(self, client: LlamaStackClient) -> None: + model = client.models.unregister( + model_id="model_id", + x_llama_stack_provider_data="X-LlamaStack-ProviderData", + ) + assert model is None + + @parametrize + def test_raw_response_unregister(self, client: LlamaStackClient) -> None: + response = client.models.with_raw_response.unregister( + model_id="model_id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + model = response.parse() + assert model is None + + @parametrize + def test_streaming_response_unregister(self, client: LlamaStackClient) -> None: + with client.models.with_streaming_response.unregister( + model_id="model_id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + model = response.parse() + assert model is None + + assert cast(Any, response.is_closed) is True + class TestAsyncModels: parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) @@ -270,3 +309,42 @@ async def test_streaming_response_register(self, async_client: AsyncLlamaStackCl assert_matches_type(Model, model, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_method_unregister(self, async_client: AsyncLlamaStackClient) -> None: + model = await async_client.models.unregister( + model_id="model_id", + ) + assert model is None + + @parametrize + async def test_method_unregister_with_all_params(self, async_client: AsyncLlamaStackClient) -> None: + model = await async_client.models.unregister( + model_id="model_id", + x_llama_stack_provider_data="X-LlamaStack-ProviderData", + ) + assert model is None + + @parametrize + async def test_raw_response_unregister(self, async_client: AsyncLlamaStackClient) -> None: + response = await async_client.models.with_raw_response.unregister( + model_id="model_id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + model = await response.parse() + assert model is None + + @parametrize + async def test_streaming_response_unregister(self, async_client: AsyncLlamaStackClient) -> None: + async with async_client.models.with_streaming_response.unregister( + model_id="model_id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + model = await response.parse() + assert model is None + + assert cast(Any, response.is_closed) is True