diff --git a/README.md b/README.md index 32181e9..74b1a68 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ from arkruntime import AsyncArk client = AsyncArk.volc() + async def main(): response = await client.responses.create( model=os.environ.get("ARK_MODEL", "doubao-seed-2-1-pro-260628"), @@ -138,6 +139,7 @@ async def main(): if content.type == "output_text": print(content.text) + asyncio.run(main()) ``` diff --git a/VERSION b/VERSION index faef31a..a3df0a6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.7.0 +0.8.0 diff --git a/pyproject.toml b/pyproject.toml index ca809c6..8fbfec9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "arkruntime" -version = "0.7.0" +version = "0.8.0" description = "Ark runtime SDK for Python" readme = "README.md" requires-python = ">=3.8" diff --git a/src/arkruntime/resources/files/files.py b/src/arkruntime/resources/files/files.py index 1cdd4f7..79ee43b 100644 --- a/src/arkruntime/resources/files/files.py +++ b/src/arkruntime/resources/files/files.py @@ -28,6 +28,7 @@ from ...pagination import AsyncCursorPage, SyncCursorPage # AUTOGEN-START create-imports +from ...types.file.description_param import DescriptionParam from ...types.file.file_create_request_param import FileCreateRequestParam from ...types.file.file_deleted import FileDeleted from ...types.file.file_object import FileObject @@ -61,6 +62,8 @@ def create( file: Optional[FileTypes] = None, # AUTOGEN-START create-kwargs purpose: Purpose, + model: Optional[str] = None, + description: Optional[DescriptionParam] = None, preprocess_configs: Optional[PreprocessConfigsParam] = None, expire_at: Optional[int] = None, url: Optional[str] = None, @@ -91,6 +94,8 @@ def create( { # AUTOGEN-START create-body "purpose": purpose, + "model": model, + "description": description, "preprocess_configs": preprocess_configs, "expire_at": expire_at, "url": url, @@ -141,7 +146,7 @@ def list( self, *, # AUTOGEN-START list-kwargs - purpose: Optional[Literal["user_data", "agent"]] = None, + purpose: Optional[Literal["user_data", "agent", "voice"]] = None, after: Optional[str] = None, limit: Optional[int] = None, order: Optional[Literal["asc", "desc"]] = None, @@ -232,6 +237,8 @@ async def create( file: Optional[FileTypes] = None, # AUTOGEN-START create-kwargs purpose: Purpose, + model: Optional[str] = None, + description: Optional[DescriptionParam] = None, preprocess_configs: Optional[PreprocessConfigsParam] = None, expire_at: Optional[int] = None, url: Optional[str] = None, @@ -249,6 +256,8 @@ async def create( { # AUTOGEN-START create-body "purpose": purpose, + "model": model, + "description": description, "preprocess_configs": preprocess_configs, "expire_at": expire_at, "url": url, @@ -299,7 +308,7 @@ def list( self, *, # AUTOGEN-START list-kwargs - purpose: Optional[Literal["user_data", "agent"]] = None, + purpose: Optional[Literal["user_data", "agent", "voice"]] = None, after: Optional[str] = None, limit: Optional[int] = None, order: Optional[Literal["asc", "desc"]] = None, diff --git a/src/arkruntime/types/agent/agent.py b/src/arkruntime/types/agent/agent.py index aec62f7..2f5a4f0 100644 --- a/src/arkruntime/types/agent/agent.py +++ b/src/arkruntime/types/agent/agent.py @@ -26,7 +26,7 @@ class Agent(BaseModel): id: str """ - Agent ID,格式 `agent_`。对外暴露给 session 引用。 + Agent ID,形如 `agent-...`。对外暴露给 session 引用。 """ type: Literal["agent"] """ diff --git a/src/arkruntime/types/agent/agent_skill_ref.py b/src/arkruntime/types/agent/agent_skill_ref.py index f5747fe..a275514 100644 --- a/src/arkruntime/types/agent/agent_skill_ref.py +++ b/src/arkruntime/types/agent/agent_skill_ref.py @@ -24,7 +24,7 @@ class AgentSkillRef(BaseModel): """ skill_id: Optional[str] = None """ - Skill ID,形如 `skill_01XJ5...`。 + Skill ID,形如 `skill-...`。 """ version: Optional[str] = None """ diff --git a/src/arkruntime/types/agent/model_config.py b/src/arkruntime/types/agent/model_config.py index 43c768a..f03f00d 100644 --- a/src/arkruntime/types/agent/model_config.py +++ b/src/arkruntime/types/agent/model_config.py @@ -21,7 +21,7 @@ class ModelConfig(BaseModel): id: str """ - 模型 ID,例如 `claude-opus-4-7` / `claude-sonnet-4-6` / `claude-haiku-4-5`。 + 模型 ID,例如 `doubao-seed-2-1`。 """ speed: Optional[ModelSpeed] = None """ diff --git a/src/arkruntime/types/agent/skill_ref_type.py b/src/arkruntime/types/agent/skill_ref_type.py index bb80422..3a1cda3 100644 --- a/src/arkruntime/types/agent/skill_ref_type.py +++ b/src/arkruntime/types/agent/skill_ref_type.py @@ -14,6 +14,6 @@ class SkillRefType(str, Enum): Skill 引用类型。 """ - anthropic = "anthropic" custom = "custom" skill_hub = "skill_hub" + ark = "ark" diff --git a/src/arkruntime/types/chat/__init__.py b/src/arkruntime/types/chat/__init__.py index 0fd3132..3666552 100644 --- a/src/arkruntime/types/chat/__init__.py +++ b/src/arkruntime/types/chat/__init__.py @@ -37,7 +37,16 @@ from .chat_completion_request_assistant_message import ( ChatCompletionRequestAssistantMessage, ) +from .chat_completion_request_developer_message import ( + ChatCompletionRequestDeveloperMessage, +) from .chat_completion_request_message import ChatCompletionRequestMessage +from .chat_completion_request_message_tool_call import ( + ChatCompletionRequestMessageToolCall, +) +from .chat_completion_request_message_tool_call_function import ( + ChatCompletionRequestMessageToolCallFunction, +) from .chat_completion_request_system_message import ChatCompletionRequestSystemMessage from .chat_completion_request_tool_message import ChatCompletionRequestToolMessage from .chat_completion_request_user_message import ChatCompletionRequestUserMessage @@ -104,7 +113,10 @@ "ChatCompletionNamedToolChoice", "ChatCompletionRequest", "ChatCompletionRequestAssistantMessage", + "ChatCompletionRequestDeveloperMessage", "ChatCompletionRequestMessage", + "ChatCompletionRequestMessageToolCall", + "ChatCompletionRequestMessageToolCallFunction", "ChatCompletionRequestSystemMessage", "ChatCompletionRequestToolMessage", "ChatCompletionRequestUserMessage", @@ -172,15 +184,20 @@ ChatCompletionContentPartVideoVideoUrlParam, ) from .chat_completion_message_content_param import ChatCompletionMessageContentParam -from .chat_completion_message_tool_call_function_param import ( - ChatCompletionMessageToolCallFunctionParam, -) -from .chat_completion_message_tool_call_param import ChatCompletionMessageToolCallParam from .chat_completion_named_tool_choice_param import ChatCompletionNamedToolChoiceParam from .chat_completion_request_assistant_message_param import ( ChatCompletionRequestAssistantMessageParam, ) +from .chat_completion_request_developer_message_param import ( + ChatCompletionRequestDeveloperMessageParam, +) from .chat_completion_request_message_param import ChatCompletionRequestMessageParam +from .chat_completion_request_message_tool_call_function_param import ( + ChatCompletionRequestMessageToolCallFunctionParam, +) +from .chat_completion_request_message_tool_call_param import ( + ChatCompletionRequestMessageToolCallParam, +) from .chat_completion_request_param import ChatCompletionRequestParam from .chat_completion_request_system_message_param import ( ChatCompletionRequestSystemMessageParam, diff --git a/src/arkruntime/types/chat/chat_completion_content_part_image.py b/src/arkruntime/types/chat/chat_completion_content_part_image.py index a174308..2e90c67 100644 --- a/src/arkruntime/types/chat/chat_completion_content_part_image.py +++ b/src/arkruntime/types/chat/chat_completion_content_part_image.py @@ -6,7 +6,7 @@ from __future__ import annotations -from typing import Literal +from typing import Literal, Union from arkruntime._models import BaseModel @@ -20,4 +20,7 @@ class ChatCompletionContentPartImage(BaseModel): """ The type of the content part. Always `image_url`. """ - image_url: ChatCompletionContentPartImageImageUrl + image_url: Union[str, ChatCompletionContentPartImageImageUrl] + """ + An image URL or base64 data string, or an object with image options. + """ diff --git a/src/arkruntime/types/chat/chat_completion_content_part_image_param.py b/src/arkruntime/types/chat/chat_completion_content_part_image_param.py index e80b948..f1c9d79 100644 --- a/src/arkruntime/types/chat/chat_completion_content_part_image_param.py +++ b/src/arkruntime/types/chat/chat_completion_content_part_image_param.py @@ -6,7 +6,7 @@ from __future__ import annotations -from typing import Literal +from typing import Literal, Union from typing_extensions import Required, TypedDict @@ -19,4 +19,5 @@ class ChatCompletionContentPartImageParam(TypedDict, total=False): type: Required[Literal["image_url"]] """The type of the content part. Always `image_url`.""" - image_url: Required[ChatCompletionContentPartImageImageUrlParam] + image_url: Required[Union[str, ChatCompletionContentPartImageImageUrlParam]] + """An image URL or base64 data string, or an object with image options.""" diff --git a/src/arkruntime/types/chat/chat_completion_message_tool_call_param.py b/src/arkruntime/types/chat/chat_completion_message_tool_call_param.py deleted file mode 100644 index 2faa82f..0000000 --- a/src/arkruntime/types/chat/chat_completion_message_tool_call_param.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by datamodel-code-generator from ark-apis typespec/openapi. -# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. -# -# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. -# SPDX-License-Identifier: Apache-2.0 - -from __future__ import annotations - -from typing_extensions import Required, TypedDict - - -from .chat_completion_message_tool_call_function_param import ( - ChatCompletionMessageToolCallFunctionParam, -) -from .tool_type_param import ToolTypeParam - - -class ChatCompletionMessageToolCallParam(TypedDict, total=False): - id: Required[str] - """The ID of the tool call.""" - - type: Required[ToolTypeParam] - """The type of the tool. Currently, only `function` is supported.""" - - function: Required[ChatCompletionMessageToolCallFunctionParam] - """The function that the model called.""" diff --git a/src/arkruntime/types/chat/chat_completion_request.py b/src/arkruntime/types/chat/chat_completion_request.py index de71320..43193c9 100644 --- a/src/arkruntime/types/chat/chat_completion_request.py +++ b/src/arkruntime/types/chat/chat_completion_request.py @@ -24,7 +24,7 @@ class ChatCompletionRequest(BaseModel): messages: List[ChatCompletionRequestMessage] """ - A list of messages comprising the conversation so far. + A non-empty list of messages comprising the conversation so far. """ model: str """ @@ -57,16 +57,16 @@ class ChatCompletionRequest(BaseModel): top_logprobs: Optional[int] = None """ Number of most-likely tokens to return at each position when - `logprobs` is true. Range 0-20. + `logprobs` is true. The allowed range is model-dependent (default 0-20). """ max_tokens: Optional[int] = None """ - The maximum number of tokens that can be generated in the - completion. + The non-negative maximum number of tokens that can be generated in + the completion. """ max_completion_tokens: Optional[int] = None """ - Upper bound on completion tokens, including reasoning tokens. + Non-negative upper bound on completion tokens, including reasoning tokens. """ n: Optional[int] = None """ @@ -79,8 +79,8 @@ class ChatCompletionRequest(BaseModel): """ stop: Optional[ChatCompletionStop] = None """ - Up to 4 sequences where the API will stop generating further - tokens. + Sequences where the API will stop generating further tokens. The + count limit is model-dependent (default 4). Null means no stop sequences. """ stream: Optional[bool] = None """ diff --git a/src/arkruntime/types/chat/chat_completion_request_assistant_message.py b/src/arkruntime/types/chat/chat_completion_request_assistant_message.py index 9a0b7cf..b2303d4 100644 --- a/src/arkruntime/types/chat/chat_completion_request_assistant_message.py +++ b/src/arkruntime/types/chat/chat_completion_request_assistant_message.py @@ -11,7 +11,9 @@ from arkruntime._models import BaseModel from .chat_completion_message_content import ChatCompletionMessageContent -from .chat_completion_message_tool_call import ChatCompletionMessageToolCall +from .chat_completion_request_message_tool_call import ( + ChatCompletionRequestMessageToolCall, +) class ChatCompletionRequestAssistantMessage(BaseModel): @@ -21,8 +23,8 @@ class ChatCompletionRequestAssistantMessage(BaseModel): """ content: Optional[ChatCompletionMessageContent] = None """ - The contents of the assistant message. Required unless `tool_calls` - is specified. + The contents of the assistant message. Missing, null, or empty content + is normalized to an empty string, including when no tools are called. """ reasoning_content: Optional[ChatCompletionMessageContent] = None """ @@ -32,7 +34,7 @@ class ChatCompletionRequestAssistantMessage(BaseModel): """ Encrypted form of the reasoning content, when redaction is enabled. """ - tool_calls: Optional[List[ChatCompletionMessageToolCall]] = None + tool_calls: Optional[List[ChatCompletionRequestMessageToolCall]] = None """ The tool calls generated by the model, such as function calls. """ diff --git a/src/arkruntime/types/chat/chat_completion_request_assistant_message_param.py b/src/arkruntime/types/chat/chat_completion_request_assistant_message_param.py index 0c48d72..2fa5dea 100644 --- a/src/arkruntime/types/chat/chat_completion_request_assistant_message_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_assistant_message_param.py @@ -11,26 +11,28 @@ from typing_extensions import Required, TypedDict from .chat_completion_message_content_param import ChatCompletionMessageContentParam -from .chat_completion_message_tool_call_param import ChatCompletionMessageToolCallParam +from .chat_completion_request_message_tool_call_param import ( + ChatCompletionRequestMessageToolCallParam, +) class ChatCompletionRequestAssistantMessageParam(TypedDict, total=False): role: Required[Literal["assistant"]] """The role of the messages author. Always `assistant`.""" - content: Optional[ChatCompletionMessageContentParam] + content: Optional[Optional[ChatCompletionMessageContentParam]] """ - The contents of the assistant message. Required unless `tool_calls` - is specified. + The contents of the assistant message. Missing, null, or empty content + is normalized to an empty string, including when no tools are called. """ - reasoning_content: Optional[ChatCompletionMessageContentParam] + reasoning_content: Optional[Optional[ChatCompletionMessageContentParam]] """The reasoning content emitted by the assistant alongside `content`.""" encrypted_content: Optional[str] """Encrypted form of the reasoning content, when redaction is enabled.""" - tool_calls: Optional[List[ChatCompletionMessageToolCallParam]] + tool_calls: Optional[List[ChatCompletionRequestMessageToolCallParam]] """The tool calls generated by the model, such as function calls.""" name: Optional[str] diff --git a/src/arkruntime/types/chat/chat_completion_request_developer_message.py b/src/arkruntime/types/chat/chat_completion_request_developer_message.py new file mode 100644 index 0000000..420e92c --- /dev/null +++ b/src/arkruntime/types/chat/chat_completion_request_developer_message.py @@ -0,0 +1,29 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal, Optional + +from arkruntime._models import BaseModel + +from .chat_completion_message_content import ChatCompletionMessageContent + + +class ChatCompletionRequestDeveloperMessage(BaseModel): + """ + Developer instructions are treated as system messages. + """ + + role: Literal["developer"] + """ + The role of the message author. Always `developer`. + """ + content: ChatCompletionMessageContent + """ + The contents of the developer message. + """ + name: Optional[str] = None diff --git a/src/arkruntime/types/chat/chat_completion_request_developer_message_param.py b/src/arkruntime/types/chat/chat_completion_request_developer_message_param.py new file mode 100644 index 0000000..0192762 --- /dev/null +++ b/src/arkruntime/types/chat/chat_completion_request_developer_message_param.py @@ -0,0 +1,27 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal, Optional + +from typing_extensions import Required, TypedDict + +from .chat_completion_message_content_param import ChatCompletionMessageContentParam + + +class ChatCompletionRequestDeveloperMessageParam(TypedDict, total=False): + """ + Developer instructions are treated as system messages. + """ + + role: Required[Literal["developer"]] + """The role of the message author. Always `developer`.""" + + content: Required[ChatCompletionMessageContentParam] + """The contents of the developer message.""" + + name: Optional[str] diff --git a/src/arkruntime/types/chat/chat_completion_request_message.py b/src/arkruntime/types/chat/chat_completion_request_message.py index 178b891..d3f2615 100644 --- a/src/arkruntime/types/chat/chat_completion_request_message.py +++ b/src/arkruntime/types/chat/chat_completion_request_message.py @@ -14,6 +14,9 @@ from .chat_completion_request_assistant_message import ( ChatCompletionRequestAssistantMessage, ) +from .chat_completion_request_developer_message import ( + ChatCompletionRequestDeveloperMessage, +) from .chat_completion_request_system_message import ChatCompletionRequestSystemMessage from .chat_completion_request_tool_message import ChatCompletionRequestToolMessage from .chat_completion_request_user_message import ChatCompletionRequestUserMessage @@ -24,6 +27,7 @@ Union[ ChatCompletionRequestUserMessage, ChatCompletionRequestSystemMessage, + ChatCompletionRequestDeveloperMessage, ChatCompletionRequestAssistantMessage, ChatCompletionRequestToolMessage, ], diff --git a/src/arkruntime/types/chat/chat_completion_request_message_param.py b/src/arkruntime/types/chat/chat_completion_request_message_param.py index 82705bc..421facf 100644 --- a/src/arkruntime/types/chat/chat_completion_request_message_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_message_param.py @@ -13,6 +13,9 @@ from .chat_completion_request_assistant_message_param import ( ChatCompletionRequestAssistantMessageParam, ) +from .chat_completion_request_developer_message_param import ( + ChatCompletionRequestDeveloperMessageParam, +) from .chat_completion_request_system_message_param import ( ChatCompletionRequestSystemMessageParam, ) @@ -26,6 +29,7 @@ ChatCompletionRequestMessageParam: TypeAlias = Union[ ChatCompletionRequestUserMessageParam, ChatCompletionRequestSystemMessageParam, + ChatCompletionRequestDeveloperMessageParam, ChatCompletionRequestAssistantMessageParam, ChatCompletionRequestToolMessageParam, ] diff --git a/src/arkruntime/types/chat/chat_completion_request_message_tool_call.py b/src/arkruntime/types/chat/chat_completion_request_message_tool_call.py new file mode 100644 index 0000000..fb1d401 --- /dev/null +++ b/src/arkruntime/types/chat/chat_completion_request_message_tool_call.py @@ -0,0 +1,32 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Optional + +from arkruntime._models import BaseModel + +from .chat_completion_request_message_tool_call_function import ( + ChatCompletionRequestMessageToolCallFunction, +) +from .tool_type import ToolType + + +class ChatCompletionRequestMessageToolCall(BaseModel): + id: Optional[str] = None + """ + The ID of the tool call. Missing or null IDs are normalized to an + empty string. + """ + type: ToolType + """ + The type of the tool. Currently, only `function` is supported. + """ + function: ChatCompletionRequestMessageToolCallFunction + """ + The function called in a previous assistant message. + """ diff --git a/src/arkruntime/types/chat/chat_completion_request_message_tool_call_function.py b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_function.py new file mode 100644 index 0000000..a3a56de --- /dev/null +++ b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_function.py @@ -0,0 +1,23 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Optional + +from arkruntime._models import BaseModel + + +class ChatCompletionRequestMessageToolCallFunction(BaseModel): + name: str + """ + The name of the function to call. + """ + arguments: Optional[str] = None + """ + The JSON-encoded function arguments. When omitted, the backend uses + an empty string. + """ diff --git a/src/arkruntime/types/chat/chat_completion_message_tool_call_function_param.py b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_function_param.py similarity index 51% rename from src/arkruntime/types/chat/chat_completion_message_tool_call_function_param.py rename to src/arkruntime/types/chat/chat_completion_request_message_tool_call_function_param.py index 587bf6f..9969857 100644 --- a/src/arkruntime/types/chat/chat_completion_message_tool_call_function_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_function_param.py @@ -6,17 +6,17 @@ from __future__ import annotations +from typing import Optional + from typing_extensions import Required, TypedDict -class ChatCompletionMessageToolCallFunctionParam(TypedDict, total=False): +class ChatCompletionRequestMessageToolCallFunctionParam(TypedDict, total=False): name: Required[str] """The name of the function to call.""" - arguments: Required[str] + arguments: Optional[str] """ - The arguments to call the function with, as generated by the model in - JSON format. Note that the model does not always generate valid JSON, - and may hallucinate parameters not defined by your function schema. - Validate the arguments in your code before calling your function. + The JSON-encoded function arguments. When omitted, the backend uses + an empty string. """ diff --git a/src/arkruntime/types/chat/chat_completion_request_message_tool_call_param.py b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_param.py new file mode 100644 index 0000000..9c8247b --- /dev/null +++ b/src/arkruntime/types/chat/chat_completion_request_message_tool_call_param.py @@ -0,0 +1,30 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Optional + +from typing_extensions import Required, TypedDict + +from .chat_completion_request_message_tool_call_function_param import ( + ChatCompletionRequestMessageToolCallFunctionParam, +) +from .tool_type_param import ToolTypeParam + + +class ChatCompletionRequestMessageToolCallParam(TypedDict, total=False): + id: Optional[Optional[str]] + """ + The ID of the tool call. Missing or null IDs are normalized to an + empty string. + """ + + type: Required[ToolTypeParam] + """The type of the tool. Currently, only `function` is supported.""" + + function: Required[ChatCompletionRequestMessageToolCallFunctionParam] + """The function called in a previous assistant message.""" diff --git a/src/arkruntime/types/chat/chat_completion_request_param.py b/src/arkruntime/types/chat/chat_completion_request_param.py index 527cde4..4181aad 100644 --- a/src/arkruntime/types/chat/chat_completion_request_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_param.py @@ -23,7 +23,7 @@ class ChatCompletionRequestParam(TypedDict, total=False): messages: Required[List[ChatCompletionRequestMessageParam]] - """A list of messages comprising the conversation so far.""" + """A non-empty list of messages comprising the conversation so far.""" model: Required[str] """ID of the model to use.""" @@ -58,17 +58,17 @@ class ChatCompletionRequestParam(TypedDict, total=False): top_logprobs: Optional[int] """ Number of most-likely tokens to return at each position when - `logprobs` is true. Range 0-20. + `logprobs` is true. The allowed range is model-dependent (default 0-20). """ max_tokens: Optional[int] """ - The maximum number of tokens that can be generated in the - completion. + The non-negative maximum number of tokens that can be generated in + the completion. """ max_completion_tokens: Optional[int] - """Upper bound on completion tokens, including reasoning tokens.""" + """Non-negative upper bound on completion tokens, including reasoning tokens.""" n: Optional[int] """ @@ -81,8 +81,8 @@ class ChatCompletionRequestParam(TypedDict, total=False): stop: Optional[ChatCompletionStopParam] """ - Up to 4 sequences where the API will stop generating further - tokens. + Sequences where the API will stop generating further tokens. The + count limit is model-dependent (default 4). Null means no stop sequences. """ stream: Optional[bool] diff --git a/src/arkruntime/types/chat/chat_completion_request_tool_message.py b/src/arkruntime/types/chat/chat_completion_request_tool_message.py index 0d6b50e..d5b1202 100644 --- a/src/arkruntime/types/chat/chat_completion_request_tool_message.py +++ b/src/arkruntime/types/chat/chat_completion_request_tool_message.py @@ -18,12 +18,14 @@ class ChatCompletionRequestToolMessage(BaseModel): """ The role of the messages author. Always `tool`. """ - content: ChatCompletionMessageContent + content: Optional[ChatCompletionMessageContent] = None """ - The contents of the tool message. + The contents of the tool message. Missing or null content is + normalized to an empty string. """ - tool_call_id: str + tool_call_id: Optional[str] = None """ - Tool call that this message is responding to. + Tool call that this message is responding to. Missing or null IDs + are normalized to an empty string. """ name: Optional[str] = None diff --git a/src/arkruntime/types/chat/chat_completion_request_tool_message_param.py b/src/arkruntime/types/chat/chat_completion_request_tool_message_param.py index 85093a0..4f0bf2e 100644 --- a/src/arkruntime/types/chat/chat_completion_request_tool_message_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_tool_message_param.py @@ -17,10 +17,16 @@ class ChatCompletionRequestToolMessageParam(TypedDict, total=False): role: Required[Literal["tool"]] """The role of the messages author. Always `tool`.""" - content: Required[ChatCompletionMessageContentParam] - """The contents of the tool message.""" - - tool_call_id: Required[str] - """Tool call that this message is responding to.""" + content: Optional[Optional[ChatCompletionMessageContentParam]] + """ + The contents of the tool message. Missing or null content is + normalized to an empty string. + """ + + tool_call_id: Optional[Optional[str]] + """ + Tool call that this message is responding to. Missing or null IDs + are normalized to an empty string. + """ name: Optional[str] diff --git a/src/arkruntime/types/chat/chat_completion_request_user_message.py b/src/arkruntime/types/chat/chat_completion_request_user_message.py index d5eee78..aaf3132 100644 --- a/src/arkruntime/types/chat/chat_completion_request_user_message.py +++ b/src/arkruntime/types/chat/chat_completion_request_user_message.py @@ -18,9 +18,10 @@ class ChatCompletionRequestUserMessage(BaseModel): """ The role of the messages author. Always `user`. """ - content: ChatCompletionMessageContent + content: Optional[ChatCompletionMessageContent] = None """ - The contents of the user message. + The contents of the user message. Missing, null, or empty content is + normalized to an empty string. """ name: Optional[str] = None """ diff --git a/src/arkruntime/types/chat/chat_completion_request_user_message_param.py b/src/arkruntime/types/chat/chat_completion_request_user_message_param.py index dfe5161..fe36ef4 100644 --- a/src/arkruntime/types/chat/chat_completion_request_user_message_param.py +++ b/src/arkruntime/types/chat/chat_completion_request_user_message_param.py @@ -17,8 +17,11 @@ class ChatCompletionRequestUserMessageParam(TypedDict, total=False): role: Required[Literal["user"]] """The role of the messages author. Always `user`.""" - content: Required[ChatCompletionMessageContentParam] - """The contents of the user message.""" + content: Optional[Optional[ChatCompletionMessageContentParam]] + """ + The contents of the user message. Missing, null, or empty content is + normalized to an empty string. + """ name: Optional[str] """ diff --git a/src/arkruntime/types/chat/chat_completion_response_format.py b/src/arkruntime/types/chat/chat_completion_response_format.py index 57fdf7f..850ec9d 100644 --- a/src/arkruntime/types/chat/chat_completion_response_format.py +++ b/src/arkruntime/types/chat/chat_completion_response_format.py @@ -23,6 +23,5 @@ class ChatCompletionResponseFormat(BaseModel): """ json_schema: Optional[ChatCompletionResponseFormatJsonSchema] = None """ - Structured Outputs configuration; required when `type` is - `json_schema`. + Structured Outputs configuration for `json_schema` responses. """ diff --git a/src/arkruntime/types/chat/chat_completion_response_format_json_schema.py b/src/arkruntime/types/chat/chat_completion_response_format_json_schema.py index 710db2b..386948e 100644 --- a/src/arkruntime/types/chat/chat_completion_response_format_json_schema.py +++ b/src/arkruntime/types/chat/chat_completion_response_format_json_schema.py @@ -6,7 +6,7 @@ from __future__ import annotations -from typing import Dict, Optional +from typing import Optional from typing_extensions import Annotated @@ -17,16 +17,15 @@ class ChatCompletionResponseFormatJsonSchema(BaseModel): name: str """ - The name of the response format. + The non-empty name of the response format. """ description: Optional[str] = None """ A description of what the response format is for. """ - schema_: Annotated[Optional[Dict[str, object]], Field(alias="schema")] = None + schema_: Annotated[Optional[object], Field(alias="schema")] = None """ - The schema for the response format, described as a JSON Schema - object. + The JSON Schema value for the response format, preserved as raw JSON. """ strict: Optional[bool] = None """ diff --git a/src/arkruntime/types/chat/chat_completion_response_format_json_schema_param.py b/src/arkruntime/types/chat/chat_completion_response_format_json_schema_param.py index 45b959c..b69d7ac 100644 --- a/src/arkruntime/types/chat/chat_completion_response_format_json_schema_param.py +++ b/src/arkruntime/types/chat/chat_completion_response_format_json_schema_param.py @@ -6,23 +6,20 @@ from __future__ import annotations -from typing import Dict, Optional +from typing import Optional from typing_extensions import Required, TypedDict class ChatCompletionResponseFormatJsonSchemaParam(TypedDict, total=False): name: Required[str] - """The name of the response format.""" + """The non-empty name of the response format.""" description: Optional[str] """A description of what the response format is for.""" - schema: Optional[Dict[str, object]] - """ - The schema for the response format, described as a JSON Schema - object. - """ + schema: Optional[object] + """The JSON Schema value for the response format, preserved as raw JSON.""" strict: Optional[bool] """ diff --git a/src/arkruntime/types/chat/chat_completion_response_format_param.py b/src/arkruntime/types/chat/chat_completion_response_format_param.py index f5657c7..fb1d0de 100644 --- a/src/arkruntime/types/chat/chat_completion_response_format_param.py +++ b/src/arkruntime/types/chat/chat_completion_response_format_param.py @@ -21,7 +21,4 @@ class ChatCompletionResponseFormatParam(TypedDict, total=False): """The type of the response format.""" json_schema: Optional[ChatCompletionResponseFormatJsonSchemaParam] - """ - Structured Outputs configuration; required when `type` is - `json_schema`. - """ + """Structured Outputs configuration for `json_schema` responses.""" diff --git a/src/arkruntime/types/chat/chat_completion_stop.py b/src/arkruntime/types/chat/chat_completion_stop.py index bc0c666..eebd87a 100644 --- a/src/arkruntime/types/chat/chat_completion_stop.py +++ b/src/arkruntime/types/chat/chat_completion_stop.py @@ -6,8 +6,10 @@ from __future__ import annotations -from typing import List, Union +from typing import List, Optional, Union from typing_extensions import TypeAliasType -ChatCompletionStop = TypeAliasType("ChatCompletionStop", Union[str, List[str]]) +ChatCompletionStop = TypeAliasType( + "ChatCompletionStop", Optional[Union[str, List[str]]] +) diff --git a/src/arkruntime/types/chat/chat_completion_stop_param.py b/src/arkruntime/types/chat/chat_completion_stop_param.py index adf0a0c..217ea79 100644 --- a/src/arkruntime/types/chat/chat_completion_stop_param.py +++ b/src/arkruntime/types/chat/chat_completion_stop_param.py @@ -6,8 +6,8 @@ from __future__ import annotations -from typing import List, Union +from typing import List, Optional, Union from typing_extensions import TypeAlias -ChatCompletionStopParam: TypeAlias = Union[str, List[str]] +ChatCompletionStopParam: TypeAlias = Optional[Union[str, List[str]]] diff --git a/src/arkruntime/types/chat/chat_completion_token_logprob.py b/src/arkruntime/types/chat/chat_completion_token_logprob.py index ddbdb77..0722f94 100644 --- a/src/arkruntime/types/chat/chat_completion_token_logprob.py +++ b/src/arkruntime/types/chat/chat_completion_token_logprob.py @@ -23,4 +23,7 @@ class ChatCompletionTokenLogprob(BaseModel): A list of integers representing the UTF-8 bytes representation of the token. May be `null` if there is no bytes representation. """ - top_logprobs: List[ChatCompletionTokenLogprobTopLogprob] + top_logprobs: Optional[List[ChatCompletionTokenLogprobTopLogprob]] + """ + The most likely tokens at this position, or `null` when none are returned. + """ diff --git a/src/arkruntime/types/chat/chat_completion_token_logprob_top_logprob.py b/src/arkruntime/types/chat/chat_completion_token_logprob_top_logprob.py index 8cc3df1..979ffd1 100644 --- a/src/arkruntime/types/chat/chat_completion_token_logprob_top_logprob.py +++ b/src/arkruntime/types/chat/chat_completion_token_logprob_top_logprob.py @@ -6,7 +6,7 @@ from __future__ import annotations -from typing import List +from typing import List, Optional from arkruntime._models import BaseModel @@ -14,4 +14,7 @@ class ChatCompletionTokenLogprobTopLogprob(BaseModel): token: str logprob: float - bytes: List[int] + bytes: Optional[List[int]] + """ + UTF-8 bytes for the token, or `null` when no byte representation exists. + """ diff --git a/src/arkruntime/types/chat/completion_tokens_details.py b/src/arkruntime/types/chat/completion_tokens_details.py index dd864e2..72cc576 100644 --- a/src/arkruntime/types/chat/completion_tokens_details.py +++ b/src/arkruntime/types/chat/completion_tokens_details.py @@ -6,6 +6,8 @@ from __future__ import annotations +from typing import Optional + from arkruntime._models import BaseModel @@ -14,3 +16,7 @@ class CompletionTokensDetails(BaseModel): """ Reasoning tokens emitted by the model. """ + provisioned_tokens: Optional[int] = None + """ + Completion tokens charged against provisioned throughput after conversion. + """ diff --git a/src/arkruntime/types/chat/prompt_tokens_details.py b/src/arkruntime/types/chat/prompt_tokens_details.py index 9b5b748..b59ea77 100644 --- a/src/arkruntime/types/chat/prompt_tokens_details.py +++ b/src/arkruntime/types/chat/prompt_tokens_details.py @@ -24,6 +24,10 @@ class PromptTokensDetails(BaseModel): """ Prompt tokens consumed by image inputs. """ + provisioned_tokens: Optional[int] = None + """ + Prompt tokens charged against provisioned throughput after conversion. + """ audio_tokens: Optional[int] = None """ Prompt tokens consumed by audio inputs. diff --git a/src/arkruntime/types/chat/request_service_tier.py b/src/arkruntime/types/chat/request_service_tier.py index 7039050..ae79adb 100644 --- a/src/arkruntime/types/chat/request_service_tier.py +++ b/src/arkruntime/types/chat/request_service_tier.py @@ -13,3 +13,4 @@ class RequestServiceTier(str, Enum): auto = "auto" default = "default" fast = "fast" + flex = "flex" diff --git a/src/arkruntime/types/chat/response_service_tier.py b/src/arkruntime/types/chat/response_service_tier.py index 5762d9e..a87acb0 100644 --- a/src/arkruntime/types/chat/response_service_tier.py +++ b/src/arkruntime/types/chat/response_service_tier.py @@ -13,3 +13,4 @@ class ResponseServiceTier(str, Enum): default = "default" scale = "scale" fast = "fast" + flex = "flex" diff --git a/src/arkruntime/types/environment/environment.py b/src/arkruntime/types/environment/environment.py index 27d7f91..71c7179 100644 --- a/src/arkruntime/types/environment/environment.py +++ b/src/arkruntime/types/environment/environment.py @@ -21,7 +21,7 @@ class Environment(BaseModel): id: str """ - Environment ID。 + Environment ID,形如 `env-...`。 """ type: Literal["environment"] """ diff --git a/src/arkruntime/types/file/__init__.py b/src/arkruntime/types/file/__init__.py index 5fdd5a3..7f47997 100644 --- a/src/arkruntime/types/file/__init__.py +++ b/src/arkruntime/types/file/__init__.py @@ -6,6 +6,7 @@ from __future__ import annotations +from .description import Description from .file_create_request import FileCreateRequest from .file_deleted import FileDeleted from .file_error import FileError @@ -19,6 +20,7 @@ from .video import Video __all__ = [ + "Description", "FileCreateRequest", "FileDeleted", "FileError", @@ -31,6 +33,7 @@ "TosStorage", "Video", ] +from .description_param import DescriptionParam from .file_create_request_param import FileCreateRequestParam from .preprocess_configs_param import PreprocessConfigsParam from .tos_storage_param import TosStorageParam diff --git a/src/arkruntime/types/file/description.py b/src/arkruntime/types/file/description.py new file mode 100644 index 0000000..155333d --- /dev/null +++ b/src/arkruntime/types/file/description.py @@ -0,0 +1,15 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +Description = TypeAliasType("Description", Annotated[str, Field(max_length=500)]) +""" +A user-provided file description, limited to 500 characters. +""" diff --git a/src/arkruntime/types/messages/messages_output_format_type.py b/src/arkruntime/types/file/description_param.py similarity index 65% rename from src/arkruntime/types/messages/messages_output_format_type.py rename to src/arkruntime/types/file/description_param.py index ee284c9..013c575 100644 --- a/src/arkruntime/types/messages/messages_output_format_type.py +++ b/src/arkruntime/types/file/description_param.py @@ -6,10 +6,10 @@ from __future__ import annotations -from enum import Enum +from typing_extensions import TypeAlias -class MessagesOutputFormatType(str, Enum): - text = "text" - json_object = "json_object" - json_schema = "json_schema" +DescriptionParam: TypeAlias = str +""" +A user-provided file description, limited to 500 characters. +""" diff --git a/src/arkruntime/types/file/file_create_request.py b/src/arkruntime/types/file/file_create_request.py index be4d66c..1fd0c4e 100644 --- a/src/arkruntime/types/file/file_create_request.py +++ b/src/arkruntime/types/file/file_create_request.py @@ -10,6 +10,7 @@ from arkruntime._models import BaseModel +from .description import Description from .preprocess_configs import PreprocessConfigs from .purpose import Purpose from .tos_storage import TosStorage @@ -20,14 +21,24 @@ class FileCreateRequest(BaseModel): """ The intended purpose of the uploaded file. """ + model: Optional[str] = None + """ + Model identifier used to preprocess the file. This top-level field is + required and only takes effect when `purpose` is `voice`. + """ + description: Optional[Description] = None + """ + Human-readable file description, limited to 500 characters. + """ preprocess_configs: Optional[PreprocessConfigs] = None """ Preprocessing configuration to apply at upload time. """ expire_at: Optional[int] = None """ - Unix timestamp (seconds) after which the file should be purged. - Defaults to 7 days from upload when omitted. + Unix timestamp (seconds) after which the file should be purged. A value + of `-1` keeps the file permanently. Defaults to 7 days from upload when + omitted. """ url: Optional[str] = None """ diff --git a/src/arkruntime/types/file/file_create_request_param.py b/src/arkruntime/types/file/file_create_request_param.py index ad29849..d731f2b 100644 --- a/src/arkruntime/types/file/file_create_request_param.py +++ b/src/arkruntime/types/file/file_create_request_param.py @@ -10,6 +10,7 @@ from typing_extensions import Required, TypedDict +from .description_param import DescriptionParam from .preprocess_configs_param import PreprocessConfigsParam from .purpose import Purpose from .tos_storage_param import TosStorageParam @@ -19,13 +20,23 @@ class FileCreateRequestParam(TypedDict, total=False): purpose: Required[Purpose] """The intended purpose of the uploaded file.""" + model: Optional[str] + """ + Model identifier used to preprocess the file. This top-level field is + required and only takes effect when `purpose` is `voice`. + """ + + description: Optional[DescriptionParam] + """Human-readable file description, limited to 500 characters.""" + preprocess_configs: Optional[PreprocessConfigsParam] """Preprocessing configuration to apply at upload time.""" expire_at: Optional[int] """ - Unix timestamp (seconds) after which the file should be purged. - Defaults to 7 days from upload when omitted. + Unix timestamp (seconds) after which the file should be purged. A value + of `-1` keeps the file permanently. Defaults to 7 days from upload when + omitted. """ url: Optional[str] diff --git a/src/arkruntime/types/file/file_object.py b/src/arkruntime/types/file/file_object.py index 40bd4b0..1430c7f 100644 --- a/src/arkruntime/types/file/file_object.py +++ b/src/arkruntime/types/file/file_object.py @@ -10,6 +10,7 @@ from arkruntime._models import BaseModel +from .description import Description from .file_error import FileError from .preprocess_configs import PreprocessConfigs from .purpose import Purpose @@ -33,6 +34,14 @@ class FileObject(BaseModel): """ The intended purpose of the uploaded file. """ + model: Optional[str] = None + """ + Model identifier used to preprocess the file, when one was provided. + """ + description: Optional[Description] = None + """ + User-provided description for the file, when one was provided. + """ filename: str """ Original filename of the uploaded file. @@ -51,7 +60,7 @@ class FileObject(BaseModel): """ expire_at: int """ - Unix timestamp (seconds) after which the file is purged. + Unix timestamp (seconds) after which the file is purged; `-1` means permanent. """ status: Status """ diff --git a/src/arkruntime/types/file/purpose.py b/src/arkruntime/types/file/purpose.py index 19598d8..407184b 100644 --- a/src/arkruntime/types/file/purpose.py +++ b/src/arkruntime/types/file/purpose.py @@ -16,3 +16,4 @@ class Purpose(str, Enum): user_data = "user_data" agent = "agent" + voice = "voice" diff --git a/src/arkruntime/types/memory/memory.py b/src/arkruntime/types/memory/memory.py index 9ad8a2b..cf0cc9a 100644 --- a/src/arkruntime/types/memory/memory.py +++ b/src/arkruntime/types/memory/memory.py @@ -20,7 +20,7 @@ class Memory(BaseModel): id: str """ - Memory ID。 + Memory ID,形如 `mem-...`。 """ type: Literal["memory"] """ diff --git a/src/arkruntime/types/memory/memory_store.py b/src/arkruntime/types/memory/memory_store.py index e0369af..032f3e1 100644 --- a/src/arkruntime/types/memory/memory_store.py +++ b/src/arkruntime/types/memory/memory_store.py @@ -20,7 +20,7 @@ class MemoryStore(BaseModel): id: str """ - MemoryStore ID。 + MemoryStore ID,形如 `memstore-...`。 """ type: Literal["memory_store"] """ diff --git a/src/arkruntime/types/messages/__init__.py b/src/arkruntime/types/messages/__init__.py index b88ee83..abde132 100644 --- a/src/arkruntime/types/messages/__init__.py +++ b/src/arkruntime/types/messages/__init__.py @@ -6,14 +6,38 @@ from __future__ import annotations -from .content import Content from .content_block_start import ContentBlockStart from .content_block_start_content_block import ContentBlockStartContentBlock +from .content_block_start_content_block_server_tool_use import ( + ContentBlockStartContentBlockServerToolUse, +) +from .content_block_start_content_block_text import ContentBlockStartContentBlockText +from .content_block_start_content_block_thinking import ( + ContentBlockStartContentBlockThinking, +) +from .content_block_start_content_block_tool_use import ( + ContentBlockStartContentBlockToolUse, +) +from .content_block_start_content_block_web_search_tool_result import ( + ContentBlockStartContentBlockWebSearchToolResult, +) from .count_tokens_response import CountTokensResponse from .error import Error from .messages_content_part import MessagesContentPart from .messages_content_part_document import MessagesContentPartDocument from .messages_content_part_document_source import MessagesContentPartDocumentSource +from .messages_content_part_document_source_base64 import ( + MessagesContentPartDocumentSourceBase64, +) +from .messages_content_part_document_source_content import ( + MessagesContentPartDocumentSourceContent, +) +from .messages_content_part_document_source_text import ( + MessagesContentPartDocumentSourceText, +) +from .messages_content_part_document_source_url import ( + MessagesContentPartDocumentSourceUrl, +) from .messages_content_part_image import MessagesContentPartImage from .messages_content_part_image_source import MessagesContentPartImageSource from .messages_content_part_server_tool_use import MessagesContentPartServerToolUse @@ -26,12 +50,6 @@ MessagesContentPartWebSearchToolResult, ) from .messages_context_management import MessagesContextManagement -from .messages_context_management_clear_thinking import ( - MessagesContextManagementClearThinking, -) -from .messages_context_management_clear_tool_uses import ( - MessagesContextManagementClearToolUses, -) from .messages_context_management_clear_tool_uses_trigger import ( MessagesContextManagementClearToolUsesTrigger, ) @@ -47,15 +65,25 @@ from .messages_context_management_keep_tool_uses import ( MessagesContextManagementKeepToolUses, ) -from .messages_document_source_type import MessagesDocumentSourceType +from .messages_document_content import MessagesDocumentContent +from .messages_document_content_parts import MessagesDocumentContentParts +from .messages_document_content_text import MessagesDocumentContentText from .messages_error_response import MessagesErrorResponse +from .messages_frequency_penalty import MessagesFrequencyPenalty from .messages_image_source_type import MessagesImageSourceType from .messages_iteration_usage import MessagesIterationUsage +from .messages_logit_bias_value import MessagesLogitBiasValue +from .messages_max_tokens import MessagesMaxTokens +from .messages_max_uses import MessagesMaxUses from .messages_message_content import MessagesMessageContent from .messages_metadata import MessagesMetadata from .messages_output_config import MessagesOutputConfig from .messages_output_format import MessagesOutputFormat -from .messages_output_format_type import MessagesOutputFormatType +from .messages_output_format_json_object import MessagesOutputFormatJsonObject +from .messages_output_format_json_schema import MessagesOutputFormatJsonSchema +from .messages_output_format_text import MessagesOutputFormatText +from .messages_presence_penalty import MessagesPresencePenalty +from .messages_repetition_penalty import MessagesRepetitionPenalty from .messages_request import MessagesRequest from .messages_request_message import MessagesRequestMessage from .messages_request_service_tier import MessagesRequestServiceTier @@ -104,6 +132,7 @@ from .messages_stream_options import MessagesStreamOptions from .messages_system import MessagesSystem from .messages_system_text_part import MessagesSystemTextPart +from .messages_temperature import MessagesTemperature from .messages_thinking import MessagesThinking from .messages_tool import MessagesTool from .messages_tool_choice import MessagesToolChoice @@ -114,6 +143,8 @@ from .messages_tool_result_content import MessagesToolResultContent from .messages_tool_result_content_part import MessagesToolResultContentPart from .messages_tool_user_location import MessagesToolUserLocation +from .messages_top_logprobs import MessagesTopLogprobs +from .messages_top_p import MessagesTopP from .messages_usage import MessagesUsage from .messages_web_search_result import MessagesWebSearchResult from .messages_web_search_tool_result_content import MessagesWebSearchToolResultContent @@ -121,14 +152,22 @@ from .model_fallback_status import ModelFallbackStatus __all__ = [ - "Content", "ContentBlockStart", "ContentBlockStartContentBlock", + "ContentBlockStartContentBlockServerToolUse", + "ContentBlockStartContentBlockText", + "ContentBlockStartContentBlockThinking", + "ContentBlockStartContentBlockToolUse", + "ContentBlockStartContentBlockWebSearchToolResult", "CountTokensResponse", "Error", "MessagesContentPart", "MessagesContentPartDocument", "MessagesContentPartDocumentSource", + "MessagesContentPartDocumentSourceBase64", + "MessagesContentPartDocumentSourceContent", + "MessagesContentPartDocumentSourceText", + "MessagesContentPartDocumentSourceUrl", "MessagesContentPartImage", "MessagesContentPartImageSource", "MessagesContentPartServerToolUse", @@ -139,8 +178,6 @@ "MessagesContentPartToolUse", "MessagesContentPartWebSearchToolResult", "MessagesContextManagement", - "MessagesContextManagementClearThinking", - "MessagesContextManagementClearToolUses", "MessagesContextManagementClearToolUsesTrigger", "MessagesContextManagementEdit", "MessagesContextManagementKeep", @@ -148,15 +185,25 @@ "MessagesContextManagementKeepParameter", "MessagesContextManagementKeepThinkingTurns", "MessagesContextManagementKeepToolUses", - "MessagesDocumentSourceType", + "MessagesDocumentContent", + "MessagesDocumentContentParts", + "MessagesDocumentContentText", "MessagesErrorResponse", + "MessagesFrequencyPenalty", "MessagesImageSourceType", "MessagesIterationUsage", + "MessagesLogitBiasValue", + "MessagesMaxTokens", + "MessagesMaxUses", "MessagesMessageContent", "MessagesMetadata", "MessagesOutputConfig", "MessagesOutputFormat", - "MessagesOutputFormatType", + "MessagesOutputFormatJsonObject", + "MessagesOutputFormatJsonSchema", + "MessagesOutputFormatText", + "MessagesPresencePenalty", + "MessagesRepetitionPenalty", "MessagesRequest", "MessagesRequestMessage", "MessagesRequestServiceTier", @@ -189,6 +236,7 @@ "MessagesStreamOptions", "MessagesSystem", "MessagesSystemTextPart", + "MessagesTemperature", "MessagesThinking", "MessagesTool", "MessagesToolChoice", @@ -199,6 +247,8 @@ "MessagesToolResultContent", "MessagesToolResultContentPart", "MessagesToolUserLocation", + "MessagesTopLogprobs", + "MessagesTopP", "MessagesUsage", "MessagesWebSearchResult", "MessagesWebSearchToolResultContent", diff --git a/src/arkruntime/types/messages/content_block_start_content_block.py b/src/arkruntime/types/messages/content_block_start_content_block.py index 2e27ff3..72bf72c 100644 --- a/src/arkruntime/types/messages/content_block_start_content_block.py +++ b/src/arkruntime/types/messages/content_block_start_content_block.py @@ -11,25 +11,29 @@ from pydantic import Field from typing_extensions import Annotated, TypeAliasType -from .messages_response_content_part_server_tool_use import ( - MessagesResponseContentPartServerToolUse, +from .content_block_start_content_block_server_tool_use import ( + ContentBlockStartContentBlockServerToolUse, ) -from .messages_response_content_part_text import MessagesResponseContentPartText -from .messages_response_content_part_thinking import MessagesResponseContentPartThinking -from .messages_response_content_part_tool_use import MessagesResponseContentPartToolUse -from .messages_response_content_part_web_search_tool_result import ( - MessagesResponseContentPartWebSearchToolResult, +from .content_block_start_content_block_text import ContentBlockStartContentBlockText +from .content_block_start_content_block_thinking import ( + ContentBlockStartContentBlockThinking, +) +from .content_block_start_content_block_tool_use import ( + ContentBlockStartContentBlockToolUse, +) +from .content_block_start_content_block_web_search_tool_result import ( + ContentBlockStartContentBlockWebSearchToolResult, ) ContentBlockStartContentBlock = TypeAliasType( "ContentBlockStartContentBlock", Annotated[ Union[ - MessagesResponseContentPartText, - MessagesResponseContentPartThinking, - MessagesResponseContentPartToolUse, - MessagesResponseContentPartServerToolUse, - MessagesResponseContentPartWebSearchToolResult, + ContentBlockStartContentBlockText, + ContentBlockStartContentBlockThinking, + ContentBlockStartContentBlockToolUse, + ContentBlockStartContentBlockServerToolUse, + ContentBlockStartContentBlockWebSearchToolResult, ], Field(discriminator="type"), ], diff --git a/src/arkruntime/types/messages/content_block_start_content_block_server_tool_use.py b/src/arkruntime/types/messages/content_block_start_content_block_server_tool_use.py new file mode 100644 index 0000000..c69cb10 --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start_content_block_server_tool_use.py @@ -0,0 +1,18 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Dict, Literal, Optional + +from arkruntime._models import BaseModel + + +class ContentBlockStartContentBlockServerToolUse(BaseModel): + type: Literal["server_tool_use"] + id: Optional[str] = None + name: Optional[str] = None + input: Optional[Dict[str, object]] = None diff --git a/src/arkruntime/types/messages/content.py b/src/arkruntime/types/messages/content_block_start_content_block_text.py similarity index 68% rename from src/arkruntime/types/messages/content.py rename to src/arkruntime/types/messages/content_block_start_content_block_text.py index 09a4847..d58ef0a 100644 --- a/src/arkruntime/types/messages/content.py +++ b/src/arkruntime/types/messages/content_block_start_content_block_text.py @@ -6,10 +6,11 @@ from __future__ import annotations +from typing import Literal, Optional + from arkruntime._models import BaseModel -class Content(BaseModel): - """ - Inline document content when `type` is `content`. - """ +class ContentBlockStartContentBlockText(BaseModel): + type: Literal["text"] + text: Optional[str] = None diff --git a/src/arkruntime/types/messages/content_block_start_content_block_thinking.py b/src/arkruntime/types/messages/content_block_start_content_block_thinking.py new file mode 100644 index 0000000..101ec6c --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start_content_block_thinking.py @@ -0,0 +1,16 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal, Optional + +from arkruntime._models import BaseModel + + +class ContentBlockStartContentBlockThinking(BaseModel): + type: Literal["thinking"] + thinking: Optional[str] = None diff --git a/src/arkruntime/types/messages/content_block_start_content_block_tool_use.py b/src/arkruntime/types/messages/content_block_start_content_block_tool_use.py new file mode 100644 index 0000000..579af04 --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start_content_block_tool_use.py @@ -0,0 +1,18 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Dict, Literal, Optional + +from arkruntime._models import BaseModel + + +class ContentBlockStartContentBlockToolUse(BaseModel): + type: Literal["tool_use"] + id: Optional[str] = None + name: Optional[str] = None + input: Optional[Dict[str, object]] = None diff --git a/src/arkruntime/types/messages/content_block_start_content_block_web_search_tool_result.py b/src/arkruntime/types/messages/content_block_start_content_block_web_search_tool_result.py new file mode 100644 index 0000000..5dcb0ef --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start_content_block_web_search_tool_result.py @@ -0,0 +1,25 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal, Optional + +from arkruntime._models import BaseModel + +from .messages_server_tool_caller import MessagesServerToolCaller +from .messages_web_search_tool_result_content import MessagesWebSearchToolResultContent + + +class ContentBlockStartContentBlockWebSearchToolResult(BaseModel): + """ + A web-search result is emitted atomically in the start event, without deltas. + """ + + type: Literal["web_search_tool_result"] + tool_use_id: Optional[str] = None + content: Optional[MessagesWebSearchToolResultContent] = None + caller: Optional[MessagesServerToolCaller] = None diff --git a/src/arkruntime/types/messages/messages_content_part_document_source.py b/src/arkruntime/types/messages/messages_content_part_document_source.py index 4d2dd7f..fb05880 100644 --- a/src/arkruntime/types/messages/messages_content_part_document_source.py +++ b/src/arkruntime/types/messages/messages_content_part_document_source.py @@ -6,28 +6,33 @@ from __future__ import annotations -from typing import Optional +from typing import Union -from arkruntime._models import BaseModel +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType -from .content import Content -from .messages_document_source_type import MessagesDocumentSourceType +from .messages_content_part_document_source_base64 import ( + MessagesContentPartDocumentSourceBase64, +) +from .messages_content_part_document_source_content import ( + MessagesContentPartDocumentSourceContent, +) +from .messages_content_part_document_source_text import ( + MessagesContentPartDocumentSourceText, +) +from .messages_content_part_document_source_url import ( + MessagesContentPartDocumentSourceUrl, +) - -class MessagesContentPartDocumentSource(BaseModel): - type: MessagesDocumentSourceType - """ - How the document is supplied. - """ - url: Optional[str] = None - """ - A URL of the document when `type` is `url`. - """ - data: Optional[str] = None - """ - Document data for `base64` and `text` sources. - """ - content: Optional[Content] = None - """ - Inline document content when `type` is `content`. - """ +MessagesContentPartDocumentSource = TypeAliasType( + "MessagesContentPartDocumentSource", + Annotated[ + Union[ + MessagesContentPartDocumentSourceBase64, + MessagesContentPartDocumentSourceText, + MessagesContentPartDocumentSourceUrl, + MessagesContentPartDocumentSourceContent, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_content_part_document_source_base64.py b/src/arkruntime/types/messages/messages_content_part_document_source_base64.py new file mode 100644 index 0000000..6364e7f --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document_source_base64.py @@ -0,0 +1,22 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal + +from typing_extensions import Annotated + +from arkruntime._models import BaseModel +from pydantic import Field + + +class MessagesContentPartDocumentSourceBase64(BaseModel): + type: Literal["base64"] + data: Annotated[str, Field(min_length=1)] + """ + Base64-encoded document data. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_document_source_content.py b/src/arkruntime/types/messages/messages_content_part_document_source_content.py new file mode 100644 index 0000000..1e1c3e4 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document_source_content.py @@ -0,0 +1,18 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal + +from arkruntime._models import BaseModel + +from .messages_document_content import MessagesDocumentContent + + +class MessagesContentPartDocumentSourceContent(BaseModel): + type: Literal["content"] + content: MessagesDocumentContent diff --git a/src/arkruntime/types/messages/messages_content_part_document_source_text.py b/src/arkruntime/types/messages/messages_content_part_document_source_text.py new file mode 100644 index 0000000..c8aa76a --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document_source_text.py @@ -0,0 +1,22 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal + +from typing_extensions import Annotated + +from arkruntime._models import BaseModel +from pydantic import Field + + +class MessagesContentPartDocumentSourceText(BaseModel): + type: Literal["text"] + data: Annotated[str, Field(min_length=1)] + """ + Plain-text document data. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_document_source_url.py b/src/arkruntime/types/messages/messages_content_part_document_source_url.py new file mode 100644 index 0000000..1ab8d5d --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document_source_url.py @@ -0,0 +1,19 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal + +from typing_extensions import Annotated + +from arkruntime._models import BaseModel +from pydantic import Field + + +class MessagesContentPartDocumentSourceUrl(BaseModel): + type: Literal["url"] + url: Annotated[str, Field(min_length=1)] diff --git a/src/arkruntime/types/messages/messages_content_part_server_tool_use.py b/src/arkruntime/types/messages/messages_content_part_server_tool_use.py index eac2b24..cd97456 100644 --- a/src/arkruntime/types/messages/messages_content_part_server_tool_use.py +++ b/src/arkruntime/types/messages/messages_content_part_server_tool_use.py @@ -8,17 +8,24 @@ from typing import Dict, Literal +from typing_extensions import Annotated + from arkruntime._models import BaseModel +from pydantic import Field class MessagesContentPartServerToolUse(BaseModel): + """ + Replays a server-managed tool invocation in an assistant message. + """ + type: Literal["server_tool_use"] """ The type of the content part. Always `server_tool_use`. """ - id: str + id: Annotated[str, Field(min_length=1)] """ - The public id of the server-managed tool invocation. + The non-empty public id of the server-managed tool invocation. """ name: str """ diff --git a/src/arkruntime/types/messages/messages_content_part_thinking.py b/src/arkruntime/types/messages/messages_content_part_thinking.py index 1d0fb6a..262c416 100644 --- a/src/arkruntime/types/messages/messages_content_part_thinking.py +++ b/src/arkruntime/types/messages/messages_content_part_thinking.py @@ -18,7 +18,7 @@ class MessagesContentPartThinking(BaseModel): """ thinking: Optional[str] = None """ - The model's thinking content. + The model's thinking content. At least one of `thinking` or `signature` is required. """ signature: Optional[str] = None """ diff --git a/src/arkruntime/types/messages/messages_content_part_tool_result.py b/src/arkruntime/types/messages/messages_content_part_tool_result.py index 117cb0f..41f2118 100644 --- a/src/arkruntime/types/messages/messages_content_part_tool_result.py +++ b/src/arkruntime/types/messages/messages_content_part_tool_result.py @@ -18,13 +18,13 @@ class MessagesContentPartToolResult(BaseModel): """ The type of the content part. Always `tool_result`. """ - tool_use_id: str + tool_use_id: Optional[str] = None """ - The tool invocation this result answers. + The tool invocation id. Missing, null, and empty ids are accepted for compatibility. """ - content: MessagesToolResultContent + content: Optional[MessagesToolResultContent] = None """ - The content returned by the tool. + The content returned by the tool. Missing or null content becomes an empty string. """ is_error: Optional[bool] = None """ diff --git a/src/arkruntime/types/messages/messages_content_part_tool_use.py b/src/arkruntime/types/messages/messages_content_part_tool_use.py index a64e47b..fe39cf7 100644 --- a/src/arkruntime/types/messages/messages_content_part_tool_use.py +++ b/src/arkruntime/types/messages/messages_content_part_tool_use.py @@ -6,7 +6,7 @@ from __future__ import annotations -from typing import Dict, Literal +from typing import Dict, Literal, Optional from arkruntime._models import BaseModel @@ -16,9 +16,9 @@ class MessagesContentPartToolUse(BaseModel): """ The type of the content part. Always `tool_use`. """ - id: str + id: Optional[str] = None """ - The id of the tool invocation. + The tool invocation id. Missing, null, and empty ids are accepted for compatibility. """ name: str """ diff --git a/src/arkruntime/types/messages/messages_content_part_web_search_tool_result.py b/src/arkruntime/types/messages/messages_content_part_web_search_tool_result.py index fa2d5d8..27f52a9 100644 --- a/src/arkruntime/types/messages/messages_content_part_web_search_tool_result.py +++ b/src/arkruntime/types/messages/messages_content_part_web_search_tool_result.py @@ -15,6 +15,10 @@ class MessagesContentPartWebSearchToolResult(BaseModel): + """ + Replays a public search result in an assistant message after its `server_tool_use`. + """ + type: Literal["web_search_tool_result"] """ The type of the content part. Always `web_search_tool_result`. @@ -23,5 +27,8 @@ class MessagesContentPartWebSearchToolResult(BaseModel): """ The server-tool invocation this result answers. """ - content: MessagesWebSearchToolResultContent + content: Optional[MessagesWebSearchToolResultContent] + """ + Null is accepted on replay and normalized to an empty results array. + """ caller: Optional[MessagesServerToolCaller] = None diff --git a/src/arkruntime/types/messages/messages_context_management_clear_tool_uses.py b/src/arkruntime/types/messages/messages_context_management_clear_tool_uses.py deleted file mode 100644 index 6a9835d..0000000 --- a/src/arkruntime/types/messages/messages_context_management_clear_tool_uses.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by datamodel-code-generator from ark-apis typespec/openapi. -# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. -# -# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. -# SPDX-License-Identifier: Apache-2.0 - -from __future__ import annotations - -from typing import List, Literal, Optional - -from arkruntime._models import BaseModel - -from .messages_context_management_clear_tool_uses_trigger import ( - MessagesContextManagementClearToolUsesTrigger, -) -from .messages_context_management_keep import MessagesContextManagementKeep - - -class MessagesContextManagementClearToolUses(BaseModel): - type: Literal["clear_tool_uses"] - keep: Optional[MessagesContextManagementKeep] = None - exclude_tools: Optional[List[str]] = None - clear_tool_inputs: Optional[bool] = None - trigger: Optional[MessagesContextManagementClearToolUsesTrigger] = None diff --git a/src/arkruntime/types/messages/messages_context_management_clear_tool_uses_trigger.py b/src/arkruntime/types/messages/messages_context_management_clear_tool_uses_trigger.py index d95fbdc..f54f2a0 100644 --- a/src/arkruntime/types/messages/messages_context_management_clear_tool_uses_trigger.py +++ b/src/arkruntime/types/messages/messages_context_management_clear_tool_uses_trigger.py @@ -6,11 +6,20 @@ from __future__ import annotations -from typing import Literal +from typing import Optional from arkruntime._models import BaseModel class MessagesContextManagementClearToolUsesTrigger(BaseModel): - type: Literal["tool_uses"] - value: int + type: str + """ + The trigger type. `tool_uses` and other values such as `input_tokens` + are accepted. + """ + value: Optional[int] = None + """ + For `tool_uses`, the server requires a value of at least 1. Other + trigger types accept an omitted value or any uint32 value, including 0. + This type-specific constraint is validated by the server. + """ diff --git a/src/arkruntime/types/messages/messages_context_management_edit.py b/src/arkruntime/types/messages/messages_context_management_edit.py index a26757b..dd49668 100644 --- a/src/arkruntime/types/messages/messages_context_management_edit.py +++ b/src/arkruntime/types/messages/messages_context_management_edit.py @@ -6,25 +6,34 @@ from __future__ import annotations -from typing import Union +from typing import List, Optional +from typing_extensions import Annotated + +from arkruntime._models import BaseModel from pydantic import Field -from typing_extensions import Annotated, TypeAliasType -from .messages_context_management_clear_thinking import ( - MessagesContextManagementClearThinking, -) -from .messages_context_management_clear_tool_uses import ( - MessagesContextManagementClearToolUses, +from .messages_context_management_clear_tool_uses_trigger import ( + MessagesContextManagementClearToolUsesTrigger, ) +from .messages_context_management_keep import MessagesContextManagementKeep -MessagesContextManagementEdit = TypeAliasType( - "MessagesContextManagementEdit", - Annotated[ - Union[ - MessagesContextManagementClearThinking, - MessagesContextManagementClearToolUses, - ], - Field(discriminator="type"), - ], -) + +class MessagesContextManagementEdit(BaseModel): + type: Annotated[str, Field(pattern="^(clear_thinking|clear_tool_uses)")] + """ + Supports `clear_thinking`, `clear_tool_uses`, and version-suffixed forms. + """ + keep: Optional[MessagesContextManagementKeep] = None + exclude_tools: Optional[List[str]] = None + """ + Applies to clear_tool_uses edits. + """ + clear_tool_inputs: Optional[bool] = None + """ + Applies to clear_tool_uses edits. + """ + trigger: Optional[MessagesContextManagementClearToolUsesTrigger] = None + """ + Applies to clear_tool_uses edits. + """ diff --git a/src/arkruntime/types/messages/messages_context_management_keep_all.py b/src/arkruntime/types/messages/messages_context_management_keep_all.py index 4f25557..7c5d099 100644 --- a/src/arkruntime/types/messages/messages_context_management_keep_all.py +++ b/src/arkruntime/types/messages/messages_context_management_keep_all.py @@ -6,10 +6,11 @@ from __future__ import annotations -from typing import Literal +from typing import Literal, Optional from arkruntime._models import BaseModel class MessagesContextManagementKeepAll(BaseModel): type: Literal["all"] + value: Optional[int] = None diff --git a/src/arkruntime/types/messages/messages_context_management_keep_thinking_turns.py b/src/arkruntime/types/messages/messages_context_management_keep_thinking_turns.py index 07c416e..2f7dc87 100644 --- a/src/arkruntime/types/messages/messages_context_management_keep_thinking_turns.py +++ b/src/arkruntime/types/messages/messages_context_management_keep_thinking_turns.py @@ -6,11 +6,11 @@ from __future__ import annotations -from typing import Literal +from typing import Literal, Optional from arkruntime._models import BaseModel class MessagesContextManagementKeepThinkingTurns(BaseModel): type: Literal["thinking_turns"] - value: int + value: Optional[int] diff --git a/src/arkruntime/types/messages/messages_context_management_keep_tool_uses.py b/src/arkruntime/types/messages/messages_context_management_keep_tool_uses.py index e38130d..5c249a9 100644 --- a/src/arkruntime/types/messages/messages_context_management_keep_tool_uses.py +++ b/src/arkruntime/types/messages/messages_context_management_keep_tool_uses.py @@ -6,11 +6,11 @@ from __future__ import annotations -from typing import Literal +from typing import Literal, Optional from arkruntime._models import BaseModel class MessagesContextManagementKeepToolUses(BaseModel): type: Literal["tool_uses"] - value: int + value: Optional[int] diff --git a/src/arkruntime/types/messages/messages_document_content.py b/src/arkruntime/types/messages/messages_document_content.py new file mode 100644 index 0000000..63e77bf --- /dev/null +++ b/src/arkruntime/types/messages/messages_document_content.py @@ -0,0 +1,20 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Dict, Union + +from typing_extensions import TypeAliasType + +from .messages_document_content_text import MessagesDocumentContentText + +MessagesDocumentContent = TypeAliasType( + "MessagesDocumentContent", Union[MessagesDocumentContentText, Dict[str, object]] +) +""" +Inline document content must be a non-empty string or array. +""" diff --git a/src/arkruntime/types/messages/messages_document_content_parts.py b/src/arkruntime/types/messages/messages_document_content_parts.py new file mode 100644 index 0000000..d665cde --- /dev/null +++ b/src/arkruntime/types/messages/messages_document_content_parts.py @@ -0,0 +1,19 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import List + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +from .messages_content_part import MessagesContentPart + +MessagesDocumentContentParts = TypeAliasType( + "MessagesDocumentContentParts", + Annotated[List[MessagesContentPart], Field(min_length=1)], +) diff --git a/src/arkruntime/types/messages/messages_document_content_text.py b/src/arkruntime/types/messages/messages_document_content_text.py new file mode 100644 index 0000000..6e76751 --- /dev/null +++ b/src/arkruntime/types/messages/messages_document_content_text.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesDocumentContentText = TypeAliasType( + "MessagesDocumentContentText", Annotated[str, Field(min_length=1)] +) diff --git a/src/arkruntime/types/messages/messages_frequency_penalty.py b/src/arkruntime/types/messages/messages_frequency_penalty.py new file mode 100644 index 0000000..8baca0f --- /dev/null +++ b/src/arkruntime/types/messages/messages_frequency_penalty.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesFrequencyPenalty = TypeAliasType( + "MessagesFrequencyPenalty", Annotated[float, Field(ge=-2.0, le=2.0)] +) diff --git a/src/arkruntime/types/messages/messages_iteration_usage.py b/src/arkruntime/types/messages/messages_iteration_usage.py index 091de77..d74c692 100644 --- a/src/arkruntime/types/messages/messages_iteration_usage.py +++ b/src/arkruntime/types/messages/messages_iteration_usage.py @@ -12,11 +12,11 @@ class MessagesIterationUsage(BaseModel): type: str """ - The iteration usage record type. + The iteration usage record type, currently `message`. """ input_tokens: int """ - Number of input tokens consumed by this model iteration. + Number of input tokens consumed by this iteration, excluding cache reads. """ output_tokens: int """ diff --git a/src/arkruntime/types/messages/messages_logit_bias_value.py b/src/arkruntime/types/messages/messages_logit_bias_value.py new file mode 100644 index 0000000..ee63900 --- /dev/null +++ b/src/arkruntime/types/messages/messages_logit_bias_value.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesLogitBiasValue = TypeAliasType( + "MessagesLogitBiasValue", Annotated[float, Field(ge=-100.0, le=100.0)] +) diff --git a/src/arkruntime/types/messages/messages_max_tokens.py b/src/arkruntime/types/messages/messages_max_tokens.py new file mode 100644 index 0000000..8fd9c40 --- /dev/null +++ b/src/arkruntime/types/messages/messages_max_tokens.py @@ -0,0 +1,12 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesMaxTokens = TypeAliasType("MessagesMaxTokens", Annotated[int, Field(ge=0)]) diff --git a/src/arkruntime/types/messages/messages_document_source_type.py b/src/arkruntime/types/messages/messages_max_uses.py similarity index 63% rename from src/arkruntime/types/messages/messages_document_source_type.py rename to src/arkruntime/types/messages/messages_max_uses.py index 3dbd158..17a88e7 100644 --- a/src/arkruntime/types/messages/messages_document_source_type.py +++ b/src/arkruntime/types/messages/messages_max_uses.py @@ -6,11 +6,7 @@ from __future__ import annotations -from enum import Enum +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType - -class MessagesDocumentSourceType(str, Enum): - base64 = "base64" - text = "text" - url = "url" - content = "content" +MessagesMaxUses = TypeAliasType("MessagesMaxUses", Annotated[int, Field(ge=1)]) diff --git a/src/arkruntime/types/messages/messages_output_format.py b/src/arkruntime/types/messages/messages_output_format.py index e001500..cb92b08 100644 --- a/src/arkruntime/types/messages/messages_output_format.py +++ b/src/arkruntime/types/messages/messages_output_format.py @@ -6,22 +6,23 @@ from __future__ import annotations -from typing import Dict, Optional +from typing import Union -from typing_extensions import Annotated - -from arkruntime._models import BaseModel from pydantic import Field +from typing_extensions import Annotated, TypeAliasType -from .messages_output_format_type import MessagesOutputFormatType - +from .messages_output_format_json_object import MessagesOutputFormatJsonObject +from .messages_output_format_json_schema import MessagesOutputFormatJsonSchema +from .messages_output_format_text import MessagesOutputFormatText -class MessagesOutputFormat(BaseModel): - type: MessagesOutputFormatType - """ - The requested output format. - """ - schema_: Annotated[Optional[Dict[str, object]], Field(alias="schema")] = None - """ - JSON Schema used when `type` is `json_schema`. - """ +MessagesOutputFormat = TypeAliasType( + "MessagesOutputFormat", + Annotated[ + Union[ + MessagesOutputFormatText, + MessagesOutputFormatJsonObject, + MessagesOutputFormatJsonSchema, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_context_management_clear_thinking.py b/src/arkruntime/types/messages/messages_output_format_json_object.py similarity index 61% rename from src/arkruntime/types/messages/messages_context_management_clear_thinking.py rename to src/arkruntime/types/messages/messages_output_format_json_object.py index e097fc4..3738a13 100644 --- a/src/arkruntime/types/messages/messages_context_management_clear_thinking.py +++ b/src/arkruntime/types/messages/messages_output_format_json_object.py @@ -8,11 +8,12 @@ from typing import Literal, Optional -from arkruntime._models import BaseModel +from typing_extensions import Annotated -from .messages_context_management_keep import MessagesContextManagementKeep +from arkruntime._models import BaseModel +from pydantic import Field -class MessagesContextManagementClearThinking(BaseModel): - type: Literal["clear_thinking"] - keep: Optional[MessagesContextManagementKeep] = None +class MessagesOutputFormatJsonObject(BaseModel): + type: Literal["json_object"] + schema_: Annotated[Optional[object], Field(alias="schema")] = None diff --git a/src/arkruntime/types/messages/messages_output_format_json_schema.py b/src/arkruntime/types/messages/messages_output_format_json_schema.py new file mode 100644 index 0000000..185dee1 --- /dev/null +++ b/src/arkruntime/types/messages/messages_output_format_json_schema.py @@ -0,0 +1,22 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal + +from typing_extensions import Annotated + +from arkruntime._models import BaseModel +from pydantic import Field + + +class MessagesOutputFormatJsonSchema(BaseModel): + type: Literal["json_schema"] + schema_: Annotated[object, Field(alias="schema")] + """ + The JSON Schema value, preserved as raw JSON by the request decoder. + """ diff --git a/src/arkruntime/types/messages/messages_output_format_text.py b/src/arkruntime/types/messages/messages_output_format_text.py new file mode 100644 index 0000000..2620f80 --- /dev/null +++ b/src/arkruntime/types/messages/messages_output_format_text.py @@ -0,0 +1,19 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from typing import Literal, Optional + +from typing_extensions import Annotated + +from arkruntime._models import BaseModel +from pydantic import Field + + +class MessagesOutputFormatText(BaseModel): + type: Literal["text"] + schema_: Annotated[Optional[object], Field(alias="schema")] = None diff --git a/src/arkruntime/types/messages/messages_presence_penalty.py b/src/arkruntime/types/messages/messages_presence_penalty.py new file mode 100644 index 0000000..e9f2012 --- /dev/null +++ b/src/arkruntime/types/messages/messages_presence_penalty.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesPresencePenalty = TypeAliasType( + "MessagesPresencePenalty", Annotated[float, Field(ge=-2.0, le=2.0)] +) diff --git a/src/arkruntime/types/messages/messages_repetition_penalty.py b/src/arkruntime/types/messages/messages_repetition_penalty.py new file mode 100644 index 0000000..96cf109 --- /dev/null +++ b/src/arkruntime/types/messages/messages_repetition_penalty.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesRepetitionPenalty = TypeAliasType( + "MessagesRepetitionPenalty", Annotated[float, Field(ge=0.0, le=2.0)] +) diff --git a/src/arkruntime/types/messages/messages_request.py b/src/arkruntime/types/messages/messages_request.py index 25b299c..efc81e7 100644 --- a/src/arkruntime/types/messages/messages_request.py +++ b/src/arkruntime/types/messages/messages_request.py @@ -8,20 +8,31 @@ from typing import Dict, List, Optional +from typing_extensions import Annotated + from arkruntime._models import BaseModel +from pydantic import Field from .messages_context_management import MessagesContextManagement +from .messages_frequency_penalty import MessagesFrequencyPenalty +from .messages_logit_bias_value import MessagesLogitBiasValue +from .messages_max_tokens import MessagesMaxTokens from .messages_metadata import MessagesMetadata from .messages_output_config import MessagesOutputConfig from .messages_output_format import MessagesOutputFormat +from .messages_presence_penalty import MessagesPresencePenalty +from .messages_repetition_penalty import MessagesRepetitionPenalty from .messages_request_message import MessagesRequestMessage from .messages_request_service_tier import MessagesRequestServiceTier from .messages_stop_sequences import MessagesStopSequences from .messages_stream_options import MessagesStreamOptions from .messages_system import MessagesSystem +from .messages_temperature import MessagesTemperature from .messages_thinking import MessagesThinking from .messages_tool import MessagesTool from .messages_tool_choice import MessagesToolChoice +from .messages_top_logprobs import MessagesTopLogprobs +from .messages_top_p import MessagesTopP class MessagesRequest(BaseModel): @@ -29,7 +40,7 @@ class MessagesRequest(BaseModel): Creates a model response for the supplied conversation. """ - messages: List[MessagesRequestMessage] + messages: Annotated[List[MessagesRequestMessage], Field(min_length=1)] """ A list of messages comprising the conversation so far. """ @@ -41,30 +52,30 @@ class MessagesRequest(BaseModel): """ A system prompt supplied separately from the conversation messages. """ - frequency_penalty: Optional[float] = None + frequency_penalty: Optional[MessagesFrequencyPenalty] = None """ Number between -2.0 and 2.0. Positive values penalize tokens based on their existing frequency in the generated text. """ - logit_bias: Optional[Dict[str, float]] = None + logit_bias: Optional[Dict[str, MessagesLogitBiasValue]] = None """ - Modify the likelihood of token IDs appearing in the response. Values - range from -100 to 100. + Modify the likelihood of token IDs appearing in the response. + Keys must be integer token IDs; values range from -100 to 100. """ logprobs: Optional[bool] = None """ Whether to return log probabilities of output tokens. """ - max_tokens: Optional[int] = None + max_tokens: Optional[MessagesMaxTokens] = None """ Maximum number of tokens that may be generated. """ - presence_penalty: Optional[float] = None + presence_penalty: Optional[MessagesPresencePenalty] = None """ Number between -2.0 and 2.0. Positive values penalize tokens based on whether they have appeared in the generated text. """ - repetition_penalty: Optional[float] = None + repetition_penalty: Optional[MessagesRepetitionPenalty] = None """ Number between 0.0 and 2.0 that penalizes repetition. """ @@ -84,7 +95,7 @@ class MessagesRequest(BaseModel): """ Options for streaming responses. """ - temperature: Optional[float] = None + temperature: Optional[MessagesTemperature] = None """ Sampling temperature between 0 and 2. """ @@ -94,19 +105,19 @@ class MessagesRequest(BaseModel): """ tools: Optional[List[MessagesTool]] = None """ - Tools the model may call. + Tools the model may call. Tool names must be unique. """ - top_logprobs: Optional[int] = None + top_logprobs: Optional[MessagesTopLogprobs] = None """ Number of most-likely tokens returned at each position. Range 0-20. """ - top_p: Optional[float] = None + top_p: Optional[MessagesTopP] = None """ Nucleus sampling probability between 0 and 1. """ service_tier: Optional[MessagesRequestServiceTier] = None """ - Latency tier used to process the request. + Latency tier used to process the request. Empty or null uses the default behavior. """ thinking: Optional[MessagesThinking] = None """ diff --git a/src/arkruntime/types/messages/messages_request_message.py b/src/arkruntime/types/messages/messages_request_message.py index a592627..b5dc05f 100644 --- a/src/arkruntime/types/messages/messages_request_message.py +++ b/src/arkruntime/types/messages/messages_request_message.py @@ -6,6 +6,8 @@ from __future__ import annotations +from typing import Optional + from arkruntime._models import BaseModel from .messages_message_content import MessagesMessageContent @@ -15,9 +17,13 @@ class MessagesRequestMessage(BaseModel): role: MessagesRole """ - The role of the message author. + object non-empty role. Roles other than `user` and `assistant` are + interpreted as system messages. """ - content: MessagesMessageContent + content: Optional[MessagesMessageContent] = None """ - The contents of the message. + The message content. For user and assistant messages, missing, null, + and empty-array content is normalized to an empty string. For all other + roles, the server requires this field to be present (null is accepted). + This conditional requirement is validated by the server. """ diff --git a/src/arkruntime/types/messages/messages_request_service_tier.py b/src/arkruntime/types/messages/messages_request_service_tier.py index e11d4ea..e260b7d 100644 --- a/src/arkruntime/types/messages/messages_request_service_tier.py +++ b/src/arkruntime/types/messages/messages_request_service_tier.py @@ -10,5 +10,7 @@ class MessagesRequestServiceTier(str, Enum): + field_ = "" auto = "auto" default = "default" + flex = "flex" diff --git a/src/arkruntime/types/messages/messages_response.py b/src/arkruntime/types/messages/messages_response.py index ae391f8..f9f64db 100644 --- a/src/arkruntime/types/messages/messages_response.py +++ b/src/arkruntime/types/messages/messages_response.py @@ -49,7 +49,7 @@ class MessagesResponse(BaseModel): """ The reason the model stopped generating tokens. """ - stop_sequence: Optional[str] = None + stop_sequence: Optional[str] """ The custom stop sequence that was generated, if any. """ diff --git a/src/arkruntime/types/messages/messages_response_stream_message_start_message.py b/src/arkruntime/types/messages/messages_response_stream_message_start_message.py index af6bf5f..f062893 100644 --- a/src/arkruntime/types/messages/messages_response_stream_message_start_message.py +++ b/src/arkruntime/types/messages/messages_response_stream_message_start_message.py @@ -20,6 +20,9 @@ class MessagesResponseStreamMessageStartMessage(BaseModel): id: str role: Literal["assistant"] content: List[object] + """ + Content is initially empty; blocks arrive in subsequent stream events. + """ model: str service_status: Optional[MessagesServiceStatus] = None stop_reason: Optional[MessagesResponseStopReason] diff --git a/src/arkruntime/types/messages/messages_role.py b/src/arkruntime/types/messages/messages_role.py index 89639dd..567a44f 100644 --- a/src/arkruntime/types/messages/messages_role.py +++ b/src/arkruntime/types/messages/messages_role.py @@ -6,10 +6,11 @@ from __future__ import annotations -from enum import Enum +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType - -class MessagesRole(str, Enum): - assistant = "assistant" - user = "user" - system = "system" +MessagesRole = TypeAliasType("MessagesRole", Annotated[str, Field(min_length=1)]) +""" +object non-empty role is accepted; roles other than `user` and `assistant` +are interpreted as `system`. +""" diff --git a/src/arkruntime/types/messages/messages_stop_sequences.py b/src/arkruntime/types/messages/messages_stop_sequences.py index 2c6ec5b..3d2b027 100644 --- a/src/arkruntime/types/messages/messages_stop_sequences.py +++ b/src/arkruntime/types/messages/messages_stop_sequences.py @@ -6,11 +6,14 @@ from __future__ import annotations -from typing import List, Union +from typing import List, Optional, Union from typing_extensions import TypeAliasType -MessagesStopSequences = TypeAliasType("MessagesStopSequences", Union[str, List[str]]) +MessagesStopSequences = TypeAliasType( + "MessagesStopSequences", Optional[Union[str, List[str]]] +) """ -One stop sequence or up to four stop sequences. +One stop sequence or an array of stop sequences. The count limit is +model-dependent (default four); null is treated as an empty list. """ diff --git a/src/arkruntime/types/messages/messages_temperature.py b/src/arkruntime/types/messages/messages_temperature.py new file mode 100644 index 0000000..1e55389 --- /dev/null +++ b/src/arkruntime/types/messages/messages_temperature.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesTemperature = TypeAliasType( + "MessagesTemperature", Annotated[float, Field(ge=0.0, le=2.0)] +) diff --git a/src/arkruntime/types/messages/messages_tool.py b/src/arkruntime/types/messages/messages_tool.py index 8e45297..9c74be6 100644 --- a/src/arkruntime/types/messages/messages_tool.py +++ b/src/arkruntime/types/messages/messages_tool.py @@ -8,8 +8,12 @@ from typing import Dict, List, Optional +from typing_extensions import Annotated + from arkruntime._models import BaseModel +from pydantic import Field +from .messages_max_uses import MessagesMaxUses from .messages_tool_user_location import MessagesToolUserLocation @@ -18,7 +22,7 @@ class MessagesTool(BaseModel): """ A description of what the tool does and when the model should use it. """ - name: str + name: Annotated[str, Field(min_length=1)] """ The tool name. """ @@ -32,19 +36,20 @@ class MessagesTool(BaseModel): """ type: Optional[str] = None """ - A server-managed tool version, such as `web_search_20250305`. + A tool type. A non-empty type without a description denotes a server-managed + tool; web search uses the name `web_search` and a `web_search_` type prefix. """ - max_uses: Optional[int] = None + max_uses: Optional[MessagesMaxUses] = None """ Maximum number of times a server-managed tool may be dispatched. """ allowed_domains: Optional[List[str]] = None """ - Domains that a server-managed web tool is allowed to access. + Allowed domains. Cannot be non-empty together with `blocked_domains`. """ blocked_domains: Optional[List[str]] = None """ - Domains that a server-managed web tool must not access. + Blocked domains. Cannot be non-empty together with `allowed_domains`. """ user_location: Optional[MessagesToolUserLocation] = None """ diff --git a/src/arkruntime/types/messages/messages_tool_choice_tool.py b/src/arkruntime/types/messages/messages_tool_choice_tool.py index 6189b06..b4c5f21 100644 --- a/src/arkruntime/types/messages/messages_tool_choice_tool.py +++ b/src/arkruntime/types/messages/messages_tool_choice_tool.py @@ -14,7 +14,7 @@ class MessagesToolChoiceTool(BaseModel): type: Literal["tool"] disable_parallel_tool_use: Optional[bool] = None - name: str + name: Optional[str] """ The name of the tool the model must invoke. """ diff --git a/src/arkruntime/types/messages/messages_tool_user_location.py b/src/arkruntime/types/messages/messages_tool_user_location.py index 99d3ceb..a64081a 100644 --- a/src/arkruntime/types/messages/messages_tool_user_location.py +++ b/src/arkruntime/types/messages/messages_tool_user_location.py @@ -12,6 +12,10 @@ class MessagesToolUserLocation(BaseModel): + """ + Accepted for web-search compatibility; not currently forwarded to the search provider. + """ + type: Optional[str] = None city: Optional[str] = None region: Optional[str] = None diff --git a/src/arkruntime/types/messages/messages_top_logprobs.py b/src/arkruntime/types/messages/messages_top_logprobs.py new file mode 100644 index 0000000..ce90b85 --- /dev/null +++ b/src/arkruntime/types/messages/messages_top_logprobs.py @@ -0,0 +1,14 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesTopLogprobs = TypeAliasType( + "MessagesTopLogprobs", Annotated[int, Field(ge=0, le=20)] +) diff --git a/src/arkruntime/types/messages/messages_top_p.py b/src/arkruntime/types/messages/messages_top_p.py new file mode 100644 index 0000000..eac26d8 --- /dev/null +++ b/src/arkruntime/types/messages/messages_top_p.py @@ -0,0 +1,12 @@ +# Generated by datamodel-code-generator from ark-apis typespec/openapi. +# DO NOT EDIT — regenerate with `make gen-py-` in ark-apis. +# +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +from pydantic import Field +from typing_extensions import Annotated, TypeAliasType + +MessagesTopP = TypeAliasType("MessagesTopP", Annotated[float, Field(ge=0.0, le=1.0)]) diff --git a/src/arkruntime/types/messages/messages_usage.py b/src/arkruntime/types/messages/messages_usage.py index 8f4fbaf..864c260 100644 --- a/src/arkruntime/types/messages/messages_usage.py +++ b/src/arkruntime/types/messages/messages_usage.py @@ -21,12 +21,16 @@ class MessagesUsage(BaseModel): input_tokens: Optional[int] = None """ - Number of tokens in the prompt. + Number of prompt tokens excluding tokens read from the prefill cache. """ output_tokens: Optional[int] = None """ Number of tokens in the generated completion. """ + cache_creation_input_tokens: int + """ + Cache-creation tokens are not currently supported; this field is returned as zero. + """ cache_read_input_tokens: Optional[int] = None """ Number of prompt tokens read from the prefill cache. @@ -37,5 +41,5 @@ class MessagesUsage(BaseModel): """ iterations: Optional[List[MessagesIterationUsage]] = None """ - One token-usage record for each model iteration. + One token-usage record per model iteration, included for multi-round requests. """ diff --git a/src/arkruntime/types/messages/messages_web_search_result.py b/src/arkruntime/types/messages/messages_web_search_result.py index 9297a31..8c41c6b 100644 --- a/src/arkruntime/types/messages/messages_web_search_result.py +++ b/src/arkruntime/types/messages/messages_web_search_result.py @@ -19,4 +19,7 @@ class MessagesWebSearchResult(BaseModel): title: str url: str encrypted_content: str + """ + Opaque signed search content. Replay this value unchanged. + """ page_age: Optional[str] = None diff --git a/src/arkruntime/types/messages/messages_web_search_tool_result_error.py b/src/arkruntime/types/messages/messages_web_search_tool_result_error.py index 123ae54..89677e0 100644 --- a/src/arkruntime/types/messages/messages_web_search_tool_result_error.py +++ b/src/arkruntime/types/messages/messages_web_search_tool_result_error.py @@ -8,7 +8,10 @@ from typing import Literal +from typing_extensions import Annotated + from arkruntime._models import BaseModel +from pydantic import Field class MessagesWebSearchToolResultError(BaseModel): @@ -16,4 +19,4 @@ class MessagesWebSearchToolResultError(BaseModel): """ The type of the result. Always `web_search_tool_result_error`. """ - error_code: str + error_code: Annotated[str, Field(min_length=1)] diff --git a/src/arkruntime/types/session/managed_agents_session_event.py b/src/arkruntime/types/session/managed_agents_session_event.py index 824cba5..58ee7d3 100644 --- a/src/arkruntime/types/session/managed_agents_session_event.py +++ b/src/arkruntime/types/session/managed_agents_session_event.py @@ -26,7 +26,7 @@ class ManagedAgentsSessionEvent(BaseModel): """ id: Optional[str] = None """ - 事件 id(服务端在 ingest 阶段 stamp,形如 `sevt--`)。 + 事件 id(服务端在 ingest 阶段 stamp,形如 `sevt-...`)。 """ processed_at: Optional[str] = None """ diff --git a/src/arkruntime/types/session/managed_agents_user_define_outcome_event_params.py b/src/arkruntime/types/session/managed_agents_user_define_outcome_event_params.py index a20f50c..fd1f31d 100644 --- a/src/arkruntime/types/session/managed_agents_user_define_outcome_event_params.py +++ b/src/arkruntime/types/session/managed_agents_user_define_outcome_event_params.py @@ -26,9 +26,7 @@ class ManagedAgentsUserDefineOutcomeEventParams(BaseModel): outcome_id: Optional[str] = None """ outcome id(客户端自定义 unique key);缺省时由服务端在事件入库前 stamp - 一个 `outc--` 形态的 id 出来(见 ark-agent-event - eventservice.go::ensureUserEventID 的 envelope-level mint 逻辑), - 因此 wire 上此字段是 optional,不是 required。 + 一个 `outc-...` 形态的 id,因此 wire 上此字段是 optional,不是 required。 """ rubric: ManagedAgentsRubric """ diff --git a/src/arkruntime/types/session/session.py b/src/arkruntime/types/session/session.py index 93a24af..2c9f58c 100644 --- a/src/arkruntime/types/session/session.py +++ b/src/arkruntime/types/session/session.py @@ -27,7 +27,7 @@ class Session(BaseModel): id: str """ - Session ID。 + Session ID,形如 `sesn-...`。 """ type: Literal["session"] """ diff --git a/src/arkruntime/types/session/session_resource.py b/src/arkruntime/types/session/session_resource.py index f4f7269..d37416c 100644 --- a/src/arkruntime/types/session/session_resource.py +++ b/src/arkruntime/types/session/session_resource.py @@ -26,7 +26,7 @@ class SessionResource(BaseModel): id: Optional[str] = None """ - SessionResource ID。 + SessionResource ID,形如 `sesrsc-...`。 """ type: SessionResourceType """ diff --git a/src/arkruntime/types/skill/create_skill_request.py b/src/arkruntime/types/skill/create_skill_request.py index d19d8e0..31ea2fd 100644 --- a/src/arkruntime/types/skill/create_skill_request.py +++ b/src/arkruntime/types/skill/create_skill_request.py @@ -6,9 +6,12 @@ from __future__ import annotations -from typing import Optional +from typing import List, Optional + +from typing_extensions import Annotated from arkruntime._models import BaseModel +from pydantic import Field class CreateSkillRequest(BaseModel): @@ -20,3 +23,16 @@ class CreateSkillRequest(BaseModel): """ 是否启用 Skill 内容保护。 """ + files: Optional[List[object]] = None + """ + 技能包内容。可以是单个 `.zip`,也可以是一组带相对路径的松散文件; + 该字段名允许在同一次请求中重复出现以传多个文件。 + + 与 `files[]` 语义等价,两者至少提供其一;同时提供时会被服务端合并。 + """ + files__: Annotated[Optional[List[object]], Field(alias="files[]")] = None + """ + `files` 的可重复字段名别名,语义完全等价;便于用 + `-F 'files[]=@a' -F 'files[]=@b'` 这种 jQuery/PHP 风格的 + multipart 客户端直接使用。 + """ diff --git a/src/arkruntime/types/skill/skill.py b/src/arkruntime/types/skill/skill.py index c220038..f99d215 100644 --- a/src/arkruntime/types/skill/skill.py +++ b/src/arkruntime/types/skill/skill.py @@ -22,7 +22,7 @@ class Skill(BaseModel): id: str """ - Skill ID,形如 `skill_01XJ5...`。 + Skill ID,形如 `skill-...`。 """ object: Literal["skill"] """ diff --git a/src/arkruntime/types/vault/credential.py b/src/arkruntime/types/vault/credential.py index 8ea0668..d76f4b9 100644 --- a/src/arkruntime/types/vault/credential.py +++ b/src/arkruntime/types/vault/credential.py @@ -20,7 +20,7 @@ class Credential(BaseModel): id: str """ - Credential ID。 + Credential ID,形如 `vcrd-...`。 """ type: Literal["vault_credential"] """ diff --git a/src/arkruntime/types/vault/vault.py b/src/arkruntime/types/vault/vault.py index b8e2070..fe71441 100644 --- a/src/arkruntime/types/vault/vault.py +++ b/src/arkruntime/types/vault/vault.py @@ -18,7 +18,7 @@ class Vault(BaseModel): id: str """ - Vault ID。 + Vault ID,形如 `vlt-...`。 """ type: Literal["vault"] """ diff --git a/uv.lock b/uv.lock index aa0e7bc..601cd1e 100644 --- a/uv.lock +++ b/uv.lock @@ -79,7 +79,7 @@ wheels = [ [[package]] name = "arkruntime" -version = "0.7.0" +version = "0.8.0" source = { editable = "." } dependencies = [ { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },