Skip to content

Commit d499f4f

Browse files
fix(api): mark assistants as deprecated
1 parent f424d7b commit d499f4f

7 files changed

Lines changed: 408 additions & 284 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 137
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-51075c225b913785fbb988c5d94e2da629241bf0c414b67b6301ddfffb685a83.yml
3-
openapi_spec_hash: 43be3e1dc6823299a6db37d999aa6f11
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-a47fcdd0fd85e2910e56b34ab3239edbb50957af8dca11db4184d3ba2cae9ad8.yml
3+
openapi_spec_hash: ff61f44f41561b462da4a930c4eb84df
44
config_hash: ad7136f7366fddec432ec378939e58a7

src/openai/resources/beta/assistants.py

Lines changed: 91 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
import typing_extensions
56
from typing import Union, Iterable, Optional
67
from typing_extensions import Literal
78

@@ -51,6 +52,7 @@ def with_streaming_response(self) -> AssistantsWithStreamingResponse:
5152
"""
5253
return AssistantsWithStreamingResponse(self)
5354

55+
@typing_extensions.deprecated("deprecated")
5456
def create(
5557
self,
5658
*,
@@ -183,6 +185,7 @@ def create(
183185
cast_to=Assistant,
184186
)
185187

188+
@typing_extensions.deprecated("deprecated")
186189
def retrieve(
187190
self,
188191
assistant_id: str,
@@ -217,6 +220,7 @@ def retrieve(
217220
cast_to=Assistant,
218221
)
219222

223+
@typing_extensions.deprecated("deprecated")
220224
def update(
221225
self,
222226
assistant_id: str,
@@ -400,6 +404,7 @@ def update(
400404
cast_to=Assistant,
401405
)
402406

407+
@typing_extensions.deprecated("deprecated")
403408
def list(
404409
self,
405410
*,
@@ -465,6 +470,7 @@ def list(
465470
model=Assistant,
466471
)
467472

473+
@typing_extensions.deprecated("deprecated")
468474
def delete(
469475
self,
470476
assistant_id: str,
@@ -520,6 +526,7 @@ def with_streaming_response(self) -> AsyncAssistantsWithStreamingResponse:
520526
"""
521527
return AsyncAssistantsWithStreamingResponse(self)
522528

529+
@typing_extensions.deprecated("deprecated")
523530
async def create(
524531
self,
525532
*,
@@ -652,6 +659,7 @@ async def create(
652659
cast_to=Assistant,
653660
)
654661

662+
@typing_extensions.deprecated("deprecated")
655663
async def retrieve(
656664
self,
657665
assistant_id: str,
@@ -686,6 +694,7 @@ async def retrieve(
686694
cast_to=Assistant,
687695
)
688696

697+
@typing_extensions.deprecated("deprecated")
689698
async def update(
690699
self,
691700
assistant_id: str,
@@ -869,6 +878,7 @@ async def update(
869878
cast_to=Assistant,
870879
)
871880

881+
@typing_extensions.deprecated("deprecated")
872882
def list(
873883
self,
874884
*,
@@ -934,6 +944,7 @@ def list(
934944
model=Assistant,
935945
)
936946

947+
@typing_extensions.deprecated("deprecated")
937948
async def delete(
938949
self,
939950
assistant_id: str,
@@ -973,81 +984,121 @@ class AssistantsWithRawResponse:
973984
def __init__(self, assistants: Assistants) -> None:
974985
self._assistants = assistants
975986

976-
self.create = _legacy_response.to_raw_response_wrapper(
977-
assistants.create,
987+
self.create = ( # pyright: ignore[reportDeprecated]
988+
_legacy_response.to_raw_response_wrapper(
989+
assistants.create, # pyright: ignore[reportDeprecated],
990+
)
978991
)
979-
self.retrieve = _legacy_response.to_raw_response_wrapper(
980-
assistants.retrieve,
992+
self.retrieve = ( # pyright: ignore[reportDeprecated]
993+
_legacy_response.to_raw_response_wrapper(
994+
assistants.retrieve, # pyright: ignore[reportDeprecated],
995+
)
981996
)
982-
self.update = _legacy_response.to_raw_response_wrapper(
983-
assistants.update,
997+
self.update = ( # pyright: ignore[reportDeprecated]
998+
_legacy_response.to_raw_response_wrapper(
999+
assistants.update, # pyright: ignore[reportDeprecated],
1000+
)
9841001
)
985-
self.list = _legacy_response.to_raw_response_wrapper(
986-
assistants.list,
1002+
self.list = ( # pyright: ignore[reportDeprecated]
1003+
_legacy_response.to_raw_response_wrapper(
1004+
assistants.list, # pyright: ignore[reportDeprecated],
1005+
)
9871006
)
988-
self.delete = _legacy_response.to_raw_response_wrapper(
989-
assistants.delete,
1007+
self.delete = ( # pyright: ignore[reportDeprecated]
1008+
_legacy_response.to_raw_response_wrapper(
1009+
assistants.delete, # pyright: ignore[reportDeprecated],
1010+
)
9901011
)
9911012

9921013

9931014
class AsyncAssistantsWithRawResponse:
9941015
def __init__(self, assistants: AsyncAssistants) -> None:
9951016
self._assistants = assistants
9961017

997-
self.create = _legacy_response.async_to_raw_response_wrapper(
998-
assistants.create,
1018+
self.create = ( # pyright: ignore[reportDeprecated]
1019+
_legacy_response.async_to_raw_response_wrapper(
1020+
assistants.create, # pyright: ignore[reportDeprecated],
1021+
)
9991022
)
1000-
self.retrieve = _legacy_response.async_to_raw_response_wrapper(
1001-
assistants.retrieve,
1023+
self.retrieve = ( # pyright: ignore[reportDeprecated]
1024+
_legacy_response.async_to_raw_response_wrapper(
1025+
assistants.retrieve, # pyright: ignore[reportDeprecated],
1026+
)
10021027
)
1003-
self.update = _legacy_response.async_to_raw_response_wrapper(
1004-
assistants.update,
1028+
self.update = ( # pyright: ignore[reportDeprecated]
1029+
_legacy_response.async_to_raw_response_wrapper(
1030+
assistants.update, # pyright: ignore[reportDeprecated],
1031+
)
10051032
)
1006-
self.list = _legacy_response.async_to_raw_response_wrapper(
1007-
assistants.list,
1033+
self.list = ( # pyright: ignore[reportDeprecated]
1034+
_legacy_response.async_to_raw_response_wrapper(
1035+
assistants.list, # pyright: ignore[reportDeprecated],
1036+
)
10081037
)
1009-
self.delete = _legacy_response.async_to_raw_response_wrapper(
1010-
assistants.delete,
1038+
self.delete = ( # pyright: ignore[reportDeprecated]
1039+
_legacy_response.async_to_raw_response_wrapper(
1040+
assistants.delete, # pyright: ignore[reportDeprecated],
1041+
)
10111042
)
10121043

10131044

10141045
class AssistantsWithStreamingResponse:
10151046
def __init__(self, assistants: Assistants) -> None:
10161047
self._assistants = assistants
10171048

1018-
self.create = to_streamed_response_wrapper(
1019-
assistants.create,
1049+
self.create = ( # pyright: ignore[reportDeprecated]
1050+
to_streamed_response_wrapper(
1051+
assistants.create, # pyright: ignore[reportDeprecated],
1052+
)
10201053
)
1021-
self.retrieve = to_streamed_response_wrapper(
1022-
assistants.retrieve,
1054+
self.retrieve = ( # pyright: ignore[reportDeprecated]
1055+
to_streamed_response_wrapper(
1056+
assistants.retrieve, # pyright: ignore[reportDeprecated],
1057+
)
10231058
)
1024-
self.update = to_streamed_response_wrapper(
1025-
assistants.update,
1059+
self.update = ( # pyright: ignore[reportDeprecated]
1060+
to_streamed_response_wrapper(
1061+
assistants.update, # pyright: ignore[reportDeprecated],
1062+
)
10261063
)
1027-
self.list = to_streamed_response_wrapper(
1028-
assistants.list,
1064+
self.list = ( # pyright: ignore[reportDeprecated]
1065+
to_streamed_response_wrapper(
1066+
assistants.list, # pyright: ignore[reportDeprecated],
1067+
)
10291068
)
1030-
self.delete = to_streamed_response_wrapper(
1031-
assistants.delete,
1069+
self.delete = ( # pyright: ignore[reportDeprecated]
1070+
to_streamed_response_wrapper(
1071+
assistants.delete, # pyright: ignore[reportDeprecated],
1072+
)
10321073
)
10331074

10341075

10351076
class AsyncAssistantsWithStreamingResponse:
10361077
def __init__(self, assistants: AsyncAssistants) -> None:
10371078
self._assistants = assistants
10381079

1039-
self.create = async_to_streamed_response_wrapper(
1040-
assistants.create,
1080+
self.create = ( # pyright: ignore[reportDeprecated]
1081+
async_to_streamed_response_wrapper(
1082+
assistants.create, # pyright: ignore[reportDeprecated],
1083+
)
10411084
)
1042-
self.retrieve = async_to_streamed_response_wrapper(
1043-
assistants.retrieve,
1085+
self.retrieve = ( # pyright: ignore[reportDeprecated]
1086+
async_to_streamed_response_wrapper(
1087+
assistants.retrieve, # pyright: ignore[reportDeprecated],
1088+
)
10441089
)
1045-
self.update = async_to_streamed_response_wrapper(
1046-
assistants.update,
1090+
self.update = ( # pyright: ignore[reportDeprecated]
1091+
async_to_streamed_response_wrapper(
1092+
assistants.update, # pyright: ignore[reportDeprecated],
1093+
)
10471094
)
1048-
self.list = async_to_streamed_response_wrapper(
1049-
assistants.list,
1095+
self.list = ( # pyright: ignore[reportDeprecated]
1096+
async_to_streamed_response_wrapper(
1097+
assistants.list, # pyright: ignore[reportDeprecated],
1098+
)
10501099
)
1051-
self.delete = async_to_streamed_response_wrapper(
1052-
assistants.delete,
1100+
self.delete = ( # pyright: ignore[reportDeprecated]
1101+
async_to_streamed_response_wrapper(
1102+
assistants.delete, # pyright: ignore[reportDeprecated],
1103+
)
10531104
)

src/openai/resources/files.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ def create(
6868
"""Upload a file that can be used across various endpoints.
6969
7070
Individual files can be
71-
up to 512 MB, and the size of all files uploaded by one organization can be up
72-
to 1 TB.
71+
up to 512 MB, and each project can store up to 2.5 TB of files in total. There
72+
is no organization-wide storage limit.
7373
7474
- The Assistants API supports files up to 2 million tokens and of specific file
7575
types. See the
@@ -389,8 +389,8 @@ async def create(
389389
"""Upload a file that can be used across various endpoints.
390390
391391
Individual files can be
392-
up to 512 MB, and the size of all files uploaded by one organization can be up
393-
to 1 TB.
392+
up to 512 MB, and each project can store up to 2.5 TB of files in total. There
393+
is no organization-wide storage limit.
394394
395395
- The Assistants API supports files up to 2 million tokens and of specific file
396396
types. See the

src/openai/resources/videos.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
video_create_params,
1717
video_download_content_params,
1818
)
19-
from .._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
19+
from .._types import Body, Omit, Query, Headers, NotGiven, FileTypes, SequenceNotStr, omit, not_given
2020
from .._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
2121
from .._compat import cached_property
2222
from .._resource import SyncAPIResource, AsyncAPIResource
@@ -64,6 +64,7 @@ def create(
6464
self,
6565
*,
6666
prompt: str,
67+
character_ids: SequenceNotStr[str] | Omit = omit,
6768
input_reference: FileTypes | Omit = omit,
6869
model: VideoModelParam | Omit = omit,
6970
seconds: VideoSeconds | Omit = omit,
@@ -81,6 +82,8 @@ def create(
8182
Args:
8283
prompt: Text prompt that describes the video to generate.
8384
85+
character_ids: Character IDs to include in the generation.
86+
8487
input_reference: Optional image reference that guides generation.
8588
8689
model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
@@ -102,6 +105,7 @@ def create(
102105
body = deepcopy_minimal(
103106
{
104107
"prompt": prompt,
108+
"character_ids": character_ids,
105109
"input_reference": input_reference,
106110
"model": model,
107111
"seconds": seconds,
@@ -419,6 +423,7 @@ async def create(
419423
self,
420424
*,
421425
prompt: str,
426+
character_ids: SequenceNotStr[str] | Omit = omit,
422427
input_reference: FileTypes | Omit = omit,
423428
model: VideoModelParam | Omit = omit,
424429
seconds: VideoSeconds | Omit = omit,
@@ -436,6 +441,8 @@ async def create(
436441
Args:
437442
prompt: Text prompt that describes the video to generate.
438443
444+
character_ids: Character IDs to include in the generation.
445+
439446
input_reference: Optional image reference that guides generation.
440447
441448
model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
@@ -457,6 +464,7 @@ async def create(
457464
body = deepcopy_minimal(
458465
{
459466
"prompt": prompt,
467+
"character_ids": character_ids,
460468
"input_reference": input_reference,
461469
"model": model,
462470
"seconds": seconds,

src/openai/types/video_create_params.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from typing_extensions import Required, TypedDict
66

7-
from .._types import FileTypes
7+
from .._types import FileTypes, SequenceNotStr
88
from .video_size import VideoSize
99
from .video_seconds import VideoSeconds
1010
from .video_model_param import VideoModelParam
@@ -16,6 +16,9 @@ class VideoCreateParams(TypedDict, total=False):
1616
prompt: Required[str]
1717
"""Text prompt that describes the video to generate."""
1818

19+
character_ids: SequenceNotStr[str]
20+
"""Character IDs to include in the generation."""
21+
1922
input_reference: FileTypes
2023
"""Optional image reference that guides generation."""
2124

0 commit comments

Comments
 (0)