diff --git a/VERSION b/VERSION index 0ea3a94..0d91a54 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.0 +0.3.0 diff --git a/pyproject.toml b/pyproject.toml index 4231281..b0afd6b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "arkruntime" -version = "0.2.0" +version = "0.3.0" description = "Ark runtime SDK for Python" readme = "README.md" requires-python = ">=3.8" diff --git a/src/arkruntime/types/messages/__init__.py b/src/arkruntime/types/messages/__init__.py new file mode 100644 index 0000000..33238c8 --- /dev/null +++ b/src/arkruntime/types/messages/__init__.py @@ -0,0 +1,206 @@ +# 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 .content import Content +from .content_block_start import ContentBlockStart +from .content_block_start_content_block import ContentBlockStartContentBlock +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_image import MessagesContentPartImage +from .messages_content_part_image_source import MessagesContentPartImageSource +from .messages_content_part_server_tool_use import MessagesContentPartServerToolUse +from .messages_content_part_text import MessagesContentPartText +from .messages_content_part_thinking import MessagesContentPartThinking +from .messages_content_part_tool_reference import MessagesContentPartToolReference +from .messages_content_part_tool_result import MessagesContentPartToolResult +from .messages_content_part_tool_use import MessagesContentPartToolUse +from .messages_content_part_web_search_tool_result import ( + 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, +) +from .messages_context_management_edit import MessagesContextManagementEdit +from .messages_context_management_keep import MessagesContextManagementKeep +from .messages_context_management_keep_all import MessagesContextManagementKeepAll +from .messages_context_management_keep_thinking_turns import ( + MessagesContextManagementKeepThinkingTurns, +) +from .messages_context_management_keep_tool_uses import ( + MessagesContextManagementKeepToolUses, +) +from .messages_document_source_type import MessagesDocumentSourceType +from .messages_error_response import MessagesErrorResponse +from .messages_image_source_type import MessagesImageSourceType +from .messages_iteration_usage import MessagesIterationUsage +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_request import MessagesRequest +from .messages_request_message import MessagesRequestMessage +from .messages_request_service_tier import MessagesRequestServiceTier +from .messages_response import MessagesResponse +from .messages_response_content_block import MessagesResponseContentBlock +from .messages_response_content_block_delta import MessagesResponseContentBlockDelta +from .messages_response_content_block_delta_signature import ( + MessagesResponseContentBlockDeltaSignature, +) +from .messages_response_content_block_delta_text import ( + MessagesResponseContentBlockDeltaText, +) +from .messages_response_content_block_delta_thinking import ( + MessagesResponseContentBlockDeltaThinking, +) +from .messages_response_content_block_delta_tool_use import ( + MessagesResponseContentBlockDeltaToolUse, +) +from .messages_response_content_block_stop import MessagesResponseContentBlockStop +from .messages_response_content_part import MessagesResponseContentPart +from .messages_response_content_part_server_tool_use import ( + MessagesResponseContentPartServerToolUse, +) +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 .messages_response_stop_reason import MessagesResponseStopReason +from .messages_response_stream_message_delta import MessagesResponseStreamMessageDelta +from .messages_response_stream_message_delta_delta import ( + MessagesResponseStreamMessageDeltaDelta, +) +from .messages_response_stream_message_start import MessagesResponseStreamMessageStart +from .messages_response_stream_message_start_message import ( + MessagesResponseStreamMessageStartMessage, +) +from .messages_response_stream_message_stop import MessagesResponseStreamMessageStop +from .messages_role import MessagesRole +from .messages_server_tool_caller import MessagesServerToolCaller +from .messages_server_tool_usage import MessagesServerToolUsage +from .messages_service_status import MessagesServiceStatus +from .messages_stop_sequences import MessagesStopSequences +from .messages_stream_event import MessagesStreamEvent +from .messages_stream_options import MessagesStreamOptions +from .messages_system import MessagesSystem +from .messages_system_text_part import MessagesSystemTextPart +from .messages_thinking import MessagesThinking +from .messages_tool import MessagesTool +from .messages_tool_choice import MessagesToolChoice +from .messages_tool_choice_any import MessagesToolChoiceAny +from .messages_tool_choice_auto import MessagesToolChoiceAuto +from .messages_tool_choice_none import MessagesToolChoiceNone +from .messages_tool_choice_tool import MessagesToolChoiceTool +from .messages_tool_result_content import MessagesToolResultContent +from .messages_tool_result_content_part import MessagesToolResultContentPart +from .messages_tool_user_location import MessagesToolUserLocation +from .messages_usage import MessagesUsage +from .messages_web_search_result import MessagesWebSearchResult +from .messages_web_search_tool_result_content import MessagesWebSearchToolResultContent +from .messages_web_search_tool_result_error import MessagesWebSearchToolResultError +from .model_fallback_status import ModelFallbackStatus + +__all__ = [ + "Content", + "ContentBlockStart", + "ContentBlockStartContentBlock", + "CountTokensResponse", + "Error", + "MessagesContentPart", + "MessagesContentPartDocument", + "MessagesContentPartDocumentSource", + "MessagesContentPartImage", + "MessagesContentPartImageSource", + "MessagesContentPartServerToolUse", + "MessagesContentPartText", + "MessagesContentPartThinking", + "MessagesContentPartToolReference", + "MessagesContentPartToolResult", + "MessagesContentPartToolUse", + "MessagesContentPartWebSearchToolResult", + "MessagesContextManagement", + "MessagesContextManagementClearThinking", + "MessagesContextManagementClearToolUses", + "MessagesContextManagementClearToolUsesTrigger", + "MessagesContextManagementEdit", + "MessagesContextManagementKeep", + "MessagesContextManagementKeepAll", + "MessagesContextManagementKeepThinkingTurns", + "MessagesContextManagementKeepToolUses", + "MessagesDocumentSourceType", + "MessagesErrorResponse", + "MessagesImageSourceType", + "MessagesIterationUsage", + "MessagesMessageContent", + "MessagesMetadata", + "MessagesOutputConfig", + "MessagesOutputFormat", + "MessagesOutputFormatType", + "MessagesRequest", + "MessagesRequestMessage", + "MessagesRequestServiceTier", + "MessagesResponse", + "MessagesResponseContentBlock", + "MessagesResponseContentBlockDelta", + "MessagesResponseContentBlockDeltaSignature", + "MessagesResponseContentBlockDeltaText", + "MessagesResponseContentBlockDeltaThinking", + "MessagesResponseContentBlockDeltaToolUse", + "MessagesResponseContentBlockStop", + "MessagesResponseContentPart", + "MessagesResponseContentPartServerToolUse", + "MessagesResponseContentPartText", + "MessagesResponseContentPartThinking", + "MessagesResponseContentPartToolUse", + "MessagesResponseContentPartWebSearchToolResult", + "MessagesResponseStopReason", + "MessagesResponseStreamMessageDelta", + "MessagesResponseStreamMessageDeltaDelta", + "MessagesResponseStreamMessageStart", + "MessagesResponseStreamMessageStartMessage", + "MessagesResponseStreamMessageStop", + "MessagesRole", + "MessagesServerToolCaller", + "MessagesServerToolUsage", + "MessagesServiceStatus", + "MessagesStopSequences", + "MessagesStreamEvent", + "MessagesStreamOptions", + "MessagesSystem", + "MessagesSystemTextPart", + "MessagesThinking", + "MessagesTool", + "MessagesToolChoice", + "MessagesToolChoiceAny", + "MessagesToolChoiceAuto", + "MessagesToolChoiceNone", + "MessagesToolChoiceTool", + "MessagesToolResultContent", + "MessagesToolResultContentPart", + "MessagesToolUserLocation", + "MessagesUsage", + "MessagesWebSearchResult", + "MessagesWebSearchToolResultContent", + "MessagesWebSearchToolResultError", + "ModelFallbackStatus", +] + +# Hand-written extras (preserved across regen via Makefile rsync --exclude=*_shim.py). +from ._init_extras_shim import * # noqa: F401,F403 diff --git a/src/arkruntime/types/messages/_init_extras_shim.py b/src/arkruntime/types/messages/_init_extras_shim.py new file mode 100644 index 0000000..fa0dd34 --- /dev/null +++ b/src/arkruntime/types/messages/_init_extras_shim.py @@ -0,0 +1,12 @@ +# Copyright (c) 2026 ByteDance Ltd. and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 + +"""Hand-written extras shim for the messages API (empty stub). + +Preserved across regen via the Makefile rsync --exclude=*_shim.py rule. +Add re-exports here as needed. +""" + +from __future__ import annotations + +__all__: list[str] = [] diff --git a/src/arkruntime/types/messages/content.py b/src/arkruntime/types/messages/content.py new file mode 100644 index 0000000..09a4847 --- /dev/null +++ b/src/arkruntime/types/messages/content.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 arkruntime._models import BaseModel + + +class Content(BaseModel): + """ + Inline document content when `type` is `content`. + """ diff --git a/src/arkruntime/types/messages/content_block_start.py b/src/arkruntime/types/messages/content_block_start.py new file mode 100644 index 0000000..c1744e9 --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start.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 arkruntime._models import BaseModel + +from .content_block_start_content_block import ContentBlockStartContentBlock + + +class ContentBlockStart(BaseModel): + type: Literal["content_block_start"] + index: int + content_block: ContentBlockStartContentBlock diff --git a/src/arkruntime/types/messages/content_block_start_content_block.py b/src/arkruntime/types/messages/content_block_start_content_block.py new file mode 100644 index 0000000..50b75a3 --- /dev/null +++ b/src/arkruntime/types/messages/content_block_start_content_block.py @@ -0,0 +1,36 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_response_content_part_server_tool_use import ( + MessagesResponseContentPartServerToolUse, +) +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, +) + +ContentBlockStartContentBlock = TypeAliasType( + "ContentBlockStartContentBlock", + Annotated[ + Union[ + MessagesResponseContentPartText, + MessagesResponseContentPartThinking, + MessagesResponseContentPartToolUse, + MessagesResponseContentPartServerToolUse, + MessagesResponseContentPartWebSearchToolResult, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/count_tokens_response.py b/src/arkruntime/types/messages/count_tokens_response.py new file mode 100644 index 0000000..2a64719 --- /dev/null +++ b/src/arkruntime/types/messages/count_tokens_response.py @@ -0,0 +1,17 @@ +# 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 arkruntime._models import BaseModel + + +class CountTokensResponse(BaseModel): + """ + Token count for a Messages request. + """ + + input_tokens: int diff --git a/src/arkruntime/types/messages/error.py b/src/arkruntime/types/messages/error.py new file mode 100644 index 0000000..0ef5153 --- /dev/null +++ b/src/arkruntime/types/messages/error.py @@ -0,0 +1,28 @@ +# 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 arkruntime._models import BaseModel + + +class Error(BaseModel): + code: str + """ + A machine-readable error code. + """ + message: str + """ + A human-readable description of the error. + """ + param: str + """ + The parameter that caused the error, if applicable. + """ + type: str + """ + The error type. + """ diff --git a/src/arkruntime/types/messages/messages_content_part.py b/src/arkruntime/types/messages/messages_content_part.py new file mode 100644 index 0000000..ed8965b --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part.py @@ -0,0 +1,40 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_content_part_document import MessagesContentPartDocument +from .messages_content_part_image import MessagesContentPartImage +from .messages_content_part_server_tool_use import MessagesContentPartServerToolUse +from .messages_content_part_text import MessagesContentPartText +from .messages_content_part_thinking import MessagesContentPartThinking +from .messages_content_part_tool_result import MessagesContentPartToolResult +from .messages_content_part_tool_use import MessagesContentPartToolUse +from .messages_content_part_web_search_tool_result import ( + MessagesContentPartWebSearchToolResult, +) + +MessagesContentPart = TypeAliasType( + "MessagesContentPart", + Annotated[ + Union[ + MessagesContentPartText, + MessagesContentPartThinking, + MessagesContentPartImage, + MessagesContentPartDocument, + MessagesContentPartToolUse, + MessagesContentPartToolResult, + MessagesContentPartServerToolUse, + MessagesContentPartWebSearchToolResult, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_content_part_document.py b/src/arkruntime/types/messages/messages_content_part_document.py new file mode 100644 index 0000000..3ddaf12 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document.py @@ -0,0 +1,21 @@ +# 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_content_part_document_source import MessagesContentPartDocumentSource + + +class MessagesContentPartDocument(BaseModel): + type: Literal["document"] + """ + The type of the content part. Always `document`. + """ + source: MessagesContentPartDocumentSource diff --git a/src/arkruntime/types/messages/messages_content_part_document_source.py b/src/arkruntime/types/messages/messages_content_part_document_source.py new file mode 100644 index 0000000..4d2dd7f --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_document_source.py @@ -0,0 +1,33 @@ +# 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 .content import Content +from .messages_document_source_type import MessagesDocumentSourceType + + +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`. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_image.py b/src/arkruntime/types/messages/messages_content_part_image.py new file mode 100644 index 0000000..a8abb28 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_image.py @@ -0,0 +1,21 @@ +# 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_content_part_image_source import MessagesContentPartImageSource + + +class MessagesContentPartImage(BaseModel): + type: Literal["image"] + """ + The type of the content part. Always `image`. + """ + source: MessagesContentPartImageSource diff --git a/src/arkruntime/types/messages/messages_content_part_image_source.py b/src/arkruntime/types/messages/messages_content_part_image_source.py new file mode 100644 index 0000000..145df86 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_image_source.py @@ -0,0 +1,40 @@ +# 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 .messages_image_source_type import MessagesImageSourceType + + +class MessagesContentPartImageSource(BaseModel): + type: MessagesImageSourceType + """ + How the image is supplied. + """ + url: Optional[str] = None + """ + A URL of the image when `type` is `url`. + """ + media_type: Optional[str] = None + """ + The media type of base64-encoded image data. + """ + data: Optional[str] = None + """ + Base64-encoded image data when `type` is `base64`. + """ + file_id: Optional[str] = None + """ + The blob id of an image uploaded out-of-band. + """ + is_frame: Optional[bool] = None + """ + Whether this image was extracted from a document or video. + """ 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 new file mode 100644 index 0000000..eac2b24 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_server_tool_use.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 Dict, Literal + +from arkruntime._models import BaseModel + + +class MessagesContentPartServerToolUse(BaseModel): + type: Literal["server_tool_use"] + """ + The type of the content part. Always `server_tool_use`. + """ + id: str + """ + The public id of the server-managed tool invocation. + """ + name: str + """ + The name of the invoked server-managed tool. + """ + input: Dict[str, object] + """ + The input generated for the tool. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_text.py b/src/arkruntime/types/messages/messages_content_part_text.py new file mode 100644 index 0000000..5cac726 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_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 arkruntime._models import BaseModel + + +class MessagesContentPartText(BaseModel): + type: Literal["text"] + """ + The type of the content part. Always `text`. + """ + text: str + """ + The text content. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_thinking.py b/src/arkruntime/types/messages/messages_content_part_thinking.py new file mode 100644 index 0000000..1d0fb6a --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_thinking.py @@ -0,0 +1,26 @@ +# 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 MessagesContentPartThinking(BaseModel): + type: Literal["thinking"] + """ + The type of the content part. Always `thinking`. + """ + thinking: Optional[str] = None + """ + The model's thinking content. + """ + signature: Optional[str] = None + """ + An opaque signature used to replay thinking content. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_tool_reference.py b/src/arkruntime/types/messages/messages_content_part_tool_reference.py new file mode 100644 index 0000000..bee082c --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_tool_reference.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 arkruntime._models import BaseModel + + +class MessagesContentPartToolReference(BaseModel): + type: Literal["tool_reference"] + """ + The type of the content part. Always `tool_reference`. + """ + tool_name: str + """ + The referenced tool name. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_tool_result.py b/src/arkruntime/types/messages/messages_content_part_tool_result.py new file mode 100644 index 0000000..117cb0f --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_tool_result.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 Literal, Optional + +from arkruntime._models import BaseModel + +from .messages_tool_result_content import MessagesToolResultContent + + +class MessagesContentPartToolResult(BaseModel): + type: Literal["tool_result"] + """ + The type of the content part. Always `tool_result`. + """ + tool_use_id: str + """ + The tool invocation this result answers. + """ + content: MessagesToolResultContent + """ + The content returned by the tool. + """ + is_error: Optional[bool] = None + """ + Whether the tool execution failed. + """ diff --git a/src/arkruntime/types/messages/messages_content_part_tool_use.py b/src/arkruntime/types/messages/messages_content_part_tool_use.py new file mode 100644 index 0000000..a64e47b --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_tool_use.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 Dict, Literal + +from arkruntime._models import BaseModel + + +class MessagesContentPartToolUse(BaseModel): + type: Literal["tool_use"] + """ + The type of the content part. Always `tool_use`. + """ + id: str + """ + The id of the tool invocation. + """ + name: str + """ + The name of the invoked tool. + """ + input: Dict[str, object] + """ + The input generated for the tool. + """ 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 new file mode 100644 index 0000000..fa2d5d8 --- /dev/null +++ b/src/arkruntime/types/messages/messages_content_part_web_search_tool_result.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 arkruntime._models import BaseModel + +from .messages_server_tool_caller import MessagesServerToolCaller +from .messages_web_search_tool_result_content import MessagesWebSearchToolResultContent + + +class MessagesContentPartWebSearchToolResult(BaseModel): + type: Literal["web_search_tool_result"] + """ + The type of the content part. Always `web_search_tool_result`. + """ + tool_use_id: str + """ + The server-tool invocation this result answers. + """ + content: MessagesWebSearchToolResultContent + caller: Optional[MessagesServerToolCaller] = None diff --git a/src/arkruntime/types/messages/messages_context_management.py b/src/arkruntime/types/messages/messages_context_management.py new file mode 100644 index 0000000..809b0f2 --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management.py @@ -0,0 +1,17 @@ +# 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, Optional + +from arkruntime._models import BaseModel + +from .messages_context_management_edit import MessagesContextManagementEdit + + +class MessagesContextManagement(BaseModel): + edits: Optional[List[MessagesContextManagementEdit]] = None diff --git a/src/arkruntime/types/messages/messages_context_management_clear_thinking.py b/src/arkruntime/types/messages/messages_context_management_clear_thinking.py new file mode 100644 index 0000000..e097fc4 --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_clear_thinking.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, Optional + +from arkruntime._models import BaseModel + +from .messages_context_management_keep import MessagesContextManagementKeep + + +class MessagesContextManagementClearThinking(BaseModel): + type: Literal["clear_thinking"] + keep: Optional[MessagesContextManagementKeep] = 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 new file mode 100644 index 0000000..6a9835d --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_clear_tool_uses.py @@ -0,0 +1,24 @@ +# 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 new file mode 100644 index 0000000..d95fbdc --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_clear_tool_uses_trigger.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 + +from arkruntime._models import BaseModel + + +class MessagesContextManagementClearToolUsesTrigger(BaseModel): + type: Literal["tool_uses"] + value: int diff --git a/src/arkruntime/types/messages/messages_context_management_edit.py b/src/arkruntime/types/messages/messages_context_management_edit.py new file mode 100644 index 0000000..a048290 --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_edit.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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_context_management_clear_thinking import ( + MessagesContextManagementClearThinking, +) +from .messages_context_management_clear_tool_uses import ( + MessagesContextManagementClearToolUses, +) + +MessagesContextManagementEdit = TypeAliasType( + "MessagesContextManagementEdit", + Annotated[ + Union[ + MessagesContextManagementClearThinking, + MessagesContextManagementClearToolUses, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_context_management_keep.py b/src/arkruntime/types/messages/messages_context_management_keep.py new file mode 100644 index 0000000..176771f --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_keep.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 Literal, Union + +from typing_extensions import TypeAliasType + +from .messages_context_management_keep_all import MessagesContextManagementKeepAll +from .messages_context_management_keep_thinking_turns import ( + MessagesContextManagementKeepThinkingTurns, +) +from .messages_context_management_keep_tool_uses import ( + MessagesContextManagementKeepToolUses, +) + +MessagesContextManagementKeep = TypeAliasType( + "MessagesContextManagementKeep", + Union[ + Literal["all"], + MessagesContextManagementKeepAll, + MessagesContextManagementKeepThinkingTurns, + MessagesContextManagementKeepToolUses, + ], +) +""" +What context to retain while applying a context-management edit. +""" diff --git a/src/arkruntime/types/messages/messages_context_management_keep_all.py b/src/arkruntime/types/messages/messages_context_management_keep_all.py new file mode 100644 index 0000000..4f25557 --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_keep_all.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 typing import Literal + +from arkruntime._models import BaseModel + + +class MessagesContextManagementKeepAll(BaseModel): + type: Literal["all"] 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 new file mode 100644 index 0000000..07c416e --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_keep_thinking_turns.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 + +from arkruntime._models import BaseModel + + +class MessagesContextManagementKeepThinkingTurns(BaseModel): + type: Literal["thinking_turns"] + value: 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 new file mode 100644 index 0000000..e38130d --- /dev/null +++ b/src/arkruntime/types/messages/messages_context_management_keep_tool_uses.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 + +from arkruntime._models import BaseModel + + +class MessagesContextManagementKeepToolUses(BaseModel): + type: Literal["tool_uses"] + value: int diff --git a/src/arkruntime/types/messages/messages_document_source_type.py b/src/arkruntime/types/messages/messages_document_source_type.py new file mode 100644 index 0000000..3dbd158 --- /dev/null +++ b/src/arkruntime/types/messages/messages_document_source_type.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 enum import Enum + + +class MessagesDocumentSourceType(str, Enum): + base64 = "base64" + text = "text" + url = "url" + content = "content" diff --git a/src/arkruntime/types/messages/messages_error_response.py b/src/arkruntime/types/messages/messages_error_response.py new file mode 100644 index 0000000..f651c70 --- /dev/null +++ b/src/arkruntime/types/messages/messages_error_response.py @@ -0,0 +1,21 @@ +# 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 .error import Error + + +class MessagesErrorResponse(BaseModel): + type: Literal["error"] + """ + The event type. Always `error`. + """ + error: Error diff --git a/src/arkruntime/types/messages/messages_image_source_type.py b/src/arkruntime/types/messages/messages_image_source_type.py new file mode 100644 index 0000000..f0320ae --- /dev/null +++ b/src/arkruntime/types/messages/messages_image_source_type.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 enum import Enum + + +class MessagesImageSourceType(str, Enum): + url = "url" + base64 = "base64" diff --git a/src/arkruntime/types/messages/messages_iteration_usage.py b/src/arkruntime/types/messages/messages_iteration_usage.py new file mode 100644 index 0000000..091de77 --- /dev/null +++ b/src/arkruntime/types/messages/messages_iteration_usage.py @@ -0,0 +1,28 @@ +# 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 arkruntime._models import BaseModel + + +class MessagesIterationUsage(BaseModel): + type: str + """ + The iteration usage record type. + """ + input_tokens: int + """ + Number of input tokens consumed by this model iteration. + """ + output_tokens: int + """ + Number of output tokens generated by this model iteration. + """ + cache_read_input_tokens: int + """ + Number of cached input tokens read by this model iteration. + """ diff --git a/src/arkruntime/types/messages/messages_message_content.py b/src/arkruntime/types/messages/messages_message_content.py new file mode 100644 index 0000000..47abd0a --- /dev/null +++ b/src/arkruntime/types/messages/messages_message_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 List, Union + +from typing_extensions import TypeAliasType + +from .messages_content_part import MessagesContentPart + +MessagesMessageContent = TypeAliasType( + "MessagesMessageContent", Union[str, List[MessagesContentPart]] +) +""" +Message content can be a bare string or an array of typed content parts. +""" diff --git a/src/arkruntime/types/messages/messages_metadata.py b/src/arkruntime/types/messages/messages_metadata.py new file mode 100644 index 0000000..bb65428 --- /dev/null +++ b/src/arkruntime/types/messages/messages_metadata.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 Optional + +from arkruntime._models import BaseModel + + +class MessagesMetadata(BaseModel): + user_id: Optional[str] = None + """ + An external identifier for the user associated with the request. + """ diff --git a/src/arkruntime/types/messages/messages_output_config.py b/src/arkruntime/types/messages/messages_output_config.py new file mode 100644 index 0000000..9cd038d --- /dev/null +++ b/src/arkruntime/types/messages/messages_output_config.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 Optional + +from arkruntime._models import BaseModel + + +class MessagesOutputConfig(BaseModel): + effort: Optional[str] = None + """ + Requested reasoning effort. + """ diff --git a/src/arkruntime/types/messages/messages_output_format.py b/src/arkruntime/types/messages/messages_output_format.py new file mode 100644 index 0000000..470652e --- /dev/null +++ b/src/arkruntime/types/messages/messages_output_format.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 Annotated, Dict, Optional + +from arkruntime._models import BaseModel +from pydantic import Field + +from .messages_output_format_type import MessagesOutputFormatType + + +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`. + """ diff --git a/src/arkruntime/types/messages/messages_output_format_type.py b/src/arkruntime/types/messages/messages_output_format_type.py new file mode 100644 index 0000000..ee284c9 --- /dev/null +++ b/src/arkruntime/types/messages/messages_output_format_type.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 enum import Enum + + +class MessagesOutputFormatType(str, Enum): + text = "text" + json_object = "json_object" + json_schema = "json_schema" diff --git a/src/arkruntime/types/messages/messages_request.py b/src/arkruntime/types/messages/messages_request.py new file mode 100644 index 0000000..25b299c --- /dev/null +++ b/src/arkruntime/types/messages/messages_request.py @@ -0,0 +1,126 @@ +# 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, List, Optional + +from arkruntime._models import BaseModel + +from .messages_context_management import MessagesContextManagement +from .messages_metadata import MessagesMetadata +from .messages_output_config import MessagesOutputConfig +from .messages_output_format import MessagesOutputFormat +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_thinking import MessagesThinking +from .messages_tool import MessagesTool +from .messages_tool_choice import MessagesToolChoice + + +class MessagesRequest(BaseModel): + """ + Creates a model response for the supplied conversation. + """ + + messages: List[MessagesRequestMessage] + """ + A list of messages comprising the conversation so far. + """ + model: str + """ + Endpoint ID of the model to use. + """ + system: Optional[MessagesSystem] = None + """ + A system prompt supplied separately from the conversation messages. + """ + frequency_penalty: Optional[float] = 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 + """ + Modify the likelihood of token IDs appearing in the response. Values + range from -100 to 100. + """ + logprobs: Optional[bool] = None + """ + Whether to return log probabilities of output tokens. + """ + max_tokens: Optional[int] = None + """ + Maximum number of tokens that may be generated. + """ + presence_penalty: Optional[float] = 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 + """ + Number between 0.0 and 2.0 that penalizes repetition. + """ + output_format: Optional[MessagesOutputFormat] = None + """ + The format the model must produce. + """ + stop_sequences: Optional[MessagesStopSequences] = None + """ + Sequences that stop generation when produced. + """ + stream: Optional[bool] = None + """ + Whether to stream the response as server-sent events. + """ + stream_options: Optional[MessagesStreamOptions] = None + """ + Options for streaming responses. + """ + temperature: Optional[float] = None + """ + Sampling temperature between 0 and 2. + """ + tool_choice: Optional[MessagesToolChoice] = None + """ + Controls which tool, if any, the model calls. + """ + tools: Optional[List[MessagesTool]] = None + """ + Tools the model may call. + """ + top_logprobs: Optional[int] = None + """ + Number of most-likely tokens returned at each position. Range 0-20. + """ + top_p: Optional[float] = None + """ + Nucleus sampling probability between 0 and 1. + """ + service_tier: Optional[MessagesRequestServiceTier] = None + """ + Latency tier used to process the request. + """ + thinking: Optional[MessagesThinking] = None + """ + Thinking-mode configuration. + """ + output_config: Optional[MessagesOutputConfig] = None + """ + Output configuration for reasoning models. + """ + metadata: Optional[MessagesMetadata] = None + """ + Metadata associated with the request. + """ + context_management: Optional[MessagesContextManagement] = None + """ + Context-editing rules applied before inference. + """ diff --git a/src/arkruntime/types/messages/messages_request_message.py b/src/arkruntime/types/messages/messages_request_message.py new file mode 100644 index 0000000..a592627 --- /dev/null +++ b/src/arkruntime/types/messages/messages_request_message.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 arkruntime._models import BaseModel + +from .messages_message_content import MessagesMessageContent +from .messages_role import MessagesRole + + +class MessagesRequestMessage(BaseModel): + role: MessagesRole + """ + The role of the message author. + """ + content: MessagesMessageContent + """ + The contents of the message. + """ diff --git a/src/arkruntime/types/messages/messages_request_service_tier.py b/src/arkruntime/types/messages/messages_request_service_tier.py new file mode 100644 index 0000000..e11d4ea --- /dev/null +++ b/src/arkruntime/types/messages/messages_request_service_tier.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 enum import Enum + + +class MessagesRequestServiceTier(str, Enum): + auto = "auto" + default = "default" diff --git a/src/arkruntime/types/messages/messages_response.py b/src/arkruntime/types/messages/messages_response.py new file mode 100644 index 0000000..ae391f8 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response.py @@ -0,0 +1,59 @@ +# 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_response_content_part import MessagesResponseContentPart +from .messages_response_stop_reason import MessagesResponseStopReason +from .messages_service_status import MessagesServiceStatus +from .messages_usage import MessagesUsage + + +class MessagesResponse(BaseModel): + """ + A Messages API response. + """ + + id: str + """ + A unique identifier for the response. + """ + type: Literal["message"] + """ + The response object type. Always `message`. + """ + role: Literal["assistant"] + """ + The response role. Always `assistant`. + """ + model: str + """ + The model used to generate the response. + """ + service_status: Optional[MessagesServiceStatus] = None + """ + Service status such as model fallback information. + """ + content: List[MessagesResponseContentPart] + """ + Content generated by the model. + """ + stop_reason: Optional[MessagesResponseStopReason] = None + """ + The reason the model stopped generating tokens. + """ + stop_sequence: Optional[str] = None + """ + The custom stop sequence that was generated, if any. + """ + usage: Optional[MessagesUsage] = None + """ + Usage statistics for this request. + """ diff --git a/src/arkruntime/types/messages/messages_response_content_block.py b/src/arkruntime/types/messages/messages_response_content_block.py new file mode 100644 index 0000000..6458fb6 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block.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 arkruntime._models import BaseModel + +from .messages_response_content_block_delta import MessagesResponseContentBlockDelta + + +class MessagesResponseContentBlock(BaseModel): + type: Literal["content_block_delta"] + index: int + delta: MessagesResponseContentBlockDelta diff --git a/src/arkruntime/types/messages/messages_response_content_block_delta.py b/src/arkruntime/types/messages/messages_response_content_block_delta.py new file mode 100644 index 0000000..216185a --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_delta.py @@ -0,0 +1,38 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_response_content_block_delta_signature import ( + MessagesResponseContentBlockDeltaSignature, +) +from .messages_response_content_block_delta_text import ( + MessagesResponseContentBlockDeltaText, +) +from .messages_response_content_block_delta_thinking import ( + MessagesResponseContentBlockDeltaThinking, +) +from .messages_response_content_block_delta_tool_use import ( + MessagesResponseContentBlockDeltaToolUse, +) + +MessagesResponseContentBlockDelta = TypeAliasType( + "MessagesResponseContentBlockDelta", + Annotated[ + Union[ + MessagesResponseContentBlockDeltaText, + MessagesResponseContentBlockDeltaThinking, + MessagesResponseContentBlockDeltaSignature, + MessagesResponseContentBlockDeltaToolUse, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_response_content_block_delta_signature.py b/src/arkruntime/types/messages/messages_response_content_block_delta_signature.py new file mode 100644 index 0000000..e0933c6 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_delta_signature.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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentBlockDeltaSignature(BaseModel): + type: Literal["signature_delta"] + signature: str diff --git a/src/arkruntime/types/messages/messages_response_content_block_delta_text.py b/src/arkruntime/types/messages/messages_response_content_block_delta_text.py new file mode 100644 index 0000000..5c59196 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_delta_text.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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentBlockDeltaText(BaseModel): + type: Literal["text_delta"] + text: str diff --git a/src/arkruntime/types/messages/messages_response_content_block_delta_thinking.py b/src/arkruntime/types/messages/messages_response_content_block_delta_thinking.py new file mode 100644 index 0000000..bb5db06 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_delta_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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentBlockDeltaThinking(BaseModel): + type: Literal["thinking_delta"] + thinking: str diff --git a/src/arkruntime/types/messages/messages_response_content_block_delta_tool_use.py b/src/arkruntime/types/messages/messages_response_content_block_delta_tool_use.py new file mode 100644 index 0000000..f5d9275 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_delta_tool_use.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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentBlockDeltaToolUse(BaseModel): + type: Literal["input_json_delta"] + partial_json: str diff --git a/src/arkruntime/types/messages/messages_response_content_block_stop.py b/src/arkruntime/types/messages/messages_response_content_block_stop.py new file mode 100644 index 0000000..ffcc602 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_block_stop.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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentBlockStop(BaseModel): + type: Literal["content_block_stop"] + index: int diff --git a/src/arkruntime/types/messages/messages_response_content_part.py b/src/arkruntime/types/messages/messages_response_content_part.py new file mode 100644 index 0000000..2e3def2 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part.py @@ -0,0 +1,36 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_response_content_part_server_tool_use import ( + MessagesResponseContentPartServerToolUse, +) +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, +) + +MessagesResponseContentPart = TypeAliasType( + "MessagesResponseContentPart", + Annotated[ + Union[ + MessagesResponseContentPartText, + MessagesResponseContentPartThinking, + MessagesResponseContentPartToolUse, + MessagesResponseContentPartServerToolUse, + MessagesResponseContentPartWebSearchToolResult, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_response_content_part_server_tool_use.py b/src/arkruntime/types/messages/messages_response_content_part_server_tool_use.py new file mode 100644 index 0000000..b751849 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part_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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentPartServerToolUse(BaseModel): + type: Literal["server_tool_use"] + id: str + name: str + input: Dict[str, object] diff --git a/src/arkruntime/types/messages/messages_response_content_part_text.py b/src/arkruntime/types/messages/messages_response_content_part_text.py new file mode 100644 index 0000000..f2af86b --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part_text.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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentPartText(BaseModel): + type: Literal["text"] + text: str diff --git a/src/arkruntime/types/messages/messages_response_content_part_thinking.py b/src/arkruntime/types/messages/messages_response_content_part_thinking.py new file mode 100644 index 0000000..9deb1e6 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part_thinking.py @@ -0,0 +1,17 @@ +# 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 MessagesResponseContentPartThinking(BaseModel): + type: Literal["thinking"] + thinking: str + signature: Optional[str] = None diff --git a/src/arkruntime/types/messages/messages_response_content_part_tool_use.py b/src/arkruntime/types/messages/messages_response_content_part_tool_use.py new file mode 100644 index 0000000..11b1363 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part_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 + +from arkruntime._models import BaseModel + + +class MessagesResponseContentPartToolUse(BaseModel): + type: Literal["tool_use"] + id: str + name: str + input: Dict[str, object] diff --git a/src/arkruntime/types/messages/messages_response_content_part_web_search_tool_result.py b/src/arkruntime/types/messages/messages_response_content_part_web_search_tool_result.py new file mode 100644 index 0000000..f66faa8 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_content_part_web_search_tool_result.py @@ -0,0 +1,21 @@ +# 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 MessagesResponseContentPartWebSearchToolResult(BaseModel): + type: Literal["web_search_tool_result"] + tool_use_id: str + content: MessagesWebSearchToolResultContent + caller: Optional[MessagesServerToolCaller] = None diff --git a/src/arkruntime/types/messages/messages_response_stop_reason.py b/src/arkruntime/types/messages/messages_response_stop_reason.py new file mode 100644 index 0000000..78e3531 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stop_reason.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 enum import Enum + + +class MessagesResponseStopReason(str, Enum): + """ + The reason the model stopped generating tokens. + """ + + end_turn = "end_turn" + max_tokens = "max_tokens" + stop_sequence = "stop_sequence" + tool_use = "tool_use" + pause_turn = "pause_turn" + refusal = "refusal" diff --git a/src/arkruntime/types/messages/messages_response_stream_message_delta.py b/src/arkruntime/types/messages/messages_response_stream_message_delta.py new file mode 100644 index 0000000..d7c6bb9 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stream_message_delta.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, Optional + +from arkruntime._models import BaseModel + +from .messages_response_stream_message_delta_delta import ( + MessagesResponseStreamMessageDeltaDelta, +) +from .messages_usage import MessagesUsage + + +class MessagesResponseStreamMessageDelta(BaseModel): + type: Literal["message_delta"] + delta: MessagesResponseStreamMessageDeltaDelta + usage: Optional[MessagesUsage] diff --git a/src/arkruntime/types/messages/messages_response_stream_message_delta_delta.py b/src/arkruntime/types/messages/messages_response_stream_message_delta_delta.py new file mode 100644 index 0000000..ebcf340 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stream_message_delta_delta.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 Optional + +from arkruntime._models import BaseModel + +from .messages_response_stop_reason import MessagesResponseStopReason + + +class MessagesResponseStreamMessageDeltaDelta(BaseModel): + stop_reason: MessagesResponseStopReason + stop_sequence: Optional[str] diff --git a/src/arkruntime/types/messages/messages_response_stream_message_start.py b/src/arkruntime/types/messages/messages_response_stream_message_start.py new file mode 100644 index 0000000..895e4a7 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stream_message_start.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 Literal + +from arkruntime._models import BaseModel + +from .messages_response_stream_message_start_message import ( + MessagesResponseStreamMessageStartMessage, +) + + +class MessagesResponseStreamMessageStart(BaseModel): + type: Literal["message_start"] + message: MessagesResponseStreamMessageStartMessage 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 new file mode 100644 index 0000000..af6bf5f --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stream_message_start_message.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 List, Literal, Optional + +from arkruntime._models import BaseModel + +from .messages_response_stop_reason import MessagesResponseStopReason +from .messages_service_status import MessagesServiceStatus +from .messages_usage import MessagesUsage + + +class MessagesResponseStreamMessageStartMessage(BaseModel): + type: Literal["message"] + id: str + role: Literal["assistant"] + content: List[object] + model: str + service_status: Optional[MessagesServiceStatus] = None + stop_reason: Optional[MessagesResponseStopReason] + stop_sequence: Optional[str] + usage: Optional[MessagesUsage] diff --git a/src/arkruntime/types/messages/messages_response_stream_message_stop.py b/src/arkruntime/types/messages/messages_response_stream_message_stop.py new file mode 100644 index 0000000..2ebc420 --- /dev/null +++ b/src/arkruntime/types/messages/messages_response_stream_message_stop.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 typing import Literal + +from arkruntime._models import BaseModel + + +class MessagesResponseStreamMessageStop(BaseModel): + type: Literal["message_stop"] diff --git a/src/arkruntime/types/messages/messages_role.py b/src/arkruntime/types/messages/messages_role.py new file mode 100644 index 0000000..89639dd --- /dev/null +++ b/src/arkruntime/types/messages/messages_role.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 enum import Enum + + +class MessagesRole(str, Enum): + assistant = "assistant" + user = "user" + system = "system" diff --git a/src/arkruntime/types/messages/messages_server_tool_caller.py b/src/arkruntime/types/messages/messages_server_tool_caller.py new file mode 100644 index 0000000..db042f4 --- /dev/null +++ b/src/arkruntime/types/messages/messages_server_tool_caller.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 arkruntime._models import BaseModel + + +class MessagesServerToolCaller(BaseModel): + type: str + """ + Identifies the server-side caller that produced this result. + """ diff --git a/src/arkruntime/types/messages/messages_server_tool_usage.py b/src/arkruntime/types/messages/messages_server_tool_usage.py new file mode 100644 index 0000000..9bc4139 --- /dev/null +++ b/src/arkruntime/types/messages/messages_server_tool_usage.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 arkruntime._models import BaseModel + + +class MessagesServerToolUsage(BaseModel): + web_search_requests: int + """ + Number of web-search requests dispatched by server-managed tools. + """ + web_fetch_requests: int + """ + Number of web-fetch requests dispatched by server-managed tools. + """ diff --git a/src/arkruntime/types/messages/messages_service_status.py b/src/arkruntime/types/messages/messages_service_status.py new file mode 100644 index 0000000..039629e --- /dev/null +++ b/src/arkruntime/types/messages/messages_service_status.py @@ -0,0 +1,17 @@ +# 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 .model_fallback_status import ModelFallbackStatus + + +class MessagesServiceStatus(BaseModel): + model_fallback: Optional[ModelFallbackStatus] = None diff --git a/src/arkruntime/types/messages/messages_stop_sequences.py b/src/arkruntime/types/messages/messages_stop_sequences.py new file mode 100644 index 0000000..2c6ec5b --- /dev/null +++ b/src/arkruntime/types/messages/messages_stop_sequences.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 List, Union + +from typing_extensions import TypeAliasType + +MessagesStopSequences = TypeAliasType("MessagesStopSequences", Union[str, List[str]]) +""" +One stop sequence or up to four stop sequences. +""" diff --git a/src/arkruntime/types/messages/messages_stream_event.py b/src/arkruntime/types/messages/messages_stream_event.py new file mode 100644 index 0000000..ed997fd --- /dev/null +++ b/src/arkruntime/types/messages/messages_stream_event.py @@ -0,0 +1,36 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .content_block_start import ContentBlockStart +from .messages_error_response import MessagesErrorResponse +from .messages_response_content_block import MessagesResponseContentBlock +from .messages_response_content_block_stop import MessagesResponseContentBlockStop +from .messages_response_stream_message_delta import MessagesResponseStreamMessageDelta +from .messages_response_stream_message_start import MessagesResponseStreamMessageStart +from .messages_response_stream_message_stop import MessagesResponseStreamMessageStop + +MessagesStreamEvent = TypeAliasType( + "MessagesStreamEvent", + Annotated[ + Union[ + MessagesResponseStreamMessageStart, + ContentBlockStart, + MessagesResponseContentBlock, + MessagesResponseContentBlockStop, + MessagesResponseStreamMessageDelta, + MessagesResponseStreamMessageStop, + MessagesErrorResponse, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_stream_options.py b/src/arkruntime/types/messages/messages_stream_options.py new file mode 100644 index 0000000..ed65e74 --- /dev/null +++ b/src/arkruntime/types/messages/messages_stream_options.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 Optional + +from arkruntime._models import BaseModel + + +class MessagesStreamOptions(BaseModel): + include_usage: Optional[bool] = None + """ + Whether to include usage in the final stream event. + """ + chunk_include_usage: Optional[bool] = None + """ + Whether to include usage in every stream event. + """ diff --git a/src/arkruntime/types/messages/messages_system.py b/src/arkruntime/types/messages/messages_system.py new file mode 100644 index 0000000..5faeb91 --- /dev/null +++ b/src/arkruntime/types/messages/messages_system.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 List, Union + +from typing_extensions import TypeAliasType + +from .messages_system_text_part import MessagesSystemTextPart + +MessagesSystem = TypeAliasType( + "MessagesSystem", Union[str, List[MessagesSystemTextPart]] +) +""" +A system prompt can be a bare string or an array of text parts. +""" diff --git a/src/arkruntime/types/messages/messages_system_text_part.py b/src/arkruntime/types/messages/messages_system_text_part.py new file mode 100644 index 0000000..adf7ed1 --- /dev/null +++ b/src/arkruntime/types/messages/messages_system_text_part.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 arkruntime._models import BaseModel + + +class MessagesSystemTextPart(BaseModel): + type: Literal["text"] + """ + The type of the system content part. Always `text`. + """ + text: str diff --git a/src/arkruntime/types/messages/messages_thinking.py b/src/arkruntime/types/messages/messages_thinking.py new file mode 100644 index 0000000..2350318 --- /dev/null +++ b/src/arkruntime/types/messages/messages_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 arkruntime._models import BaseModel + + +class MessagesThinking(BaseModel): + type: str + """ + Thinking mode requested from the model. + """ diff --git a/src/arkruntime/types/messages/messages_tool.py b/src/arkruntime/types/messages/messages_tool.py new file mode 100644 index 0000000..8e45297 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool.py @@ -0,0 +1,52 @@ +# 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, List, Optional + +from arkruntime._models import BaseModel + +from .messages_tool_user_location import MessagesToolUserLocation + + +class MessagesTool(BaseModel): + description: Optional[str] = None + """ + A description of what the tool does and when the model should use it. + """ + name: str + """ + The tool name. + """ + input_schema: Optional[Dict[str, object]] = None + """ + The tool input, described as a JSON Schema object. + """ + strict: Optional[bool] = None + """ + Whether strict schema adherence is enabled for this tool. + """ + type: Optional[str] = None + """ + A server-managed tool version, such as `web_search_20250305`. + """ + max_uses: Optional[int] = 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. + """ + blocked_domains: Optional[List[str]] = None + """ + Domains that a server-managed web tool must not access. + """ + user_location: Optional[MessagesToolUserLocation] = None + """ + Optional user location supplied to a server-managed web tool. + """ diff --git a/src/arkruntime/types/messages/messages_tool_choice.py b/src/arkruntime/types/messages/messages_tool_choice.py new file mode 100644 index 0000000..a175688 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_choice.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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_tool_choice_any import MessagesToolChoiceAny +from .messages_tool_choice_auto import MessagesToolChoiceAuto +from .messages_tool_choice_none import MessagesToolChoiceNone +from .messages_tool_choice_tool import MessagesToolChoiceTool + +MessagesToolChoice = TypeAliasType( + "MessagesToolChoice", + Annotated[ + Union[ + MessagesToolChoiceAuto, + MessagesToolChoiceAny, + MessagesToolChoiceNone, + MessagesToolChoiceTool, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_tool_choice_any.py b/src/arkruntime/types/messages/messages_tool_choice_any.py new file mode 100644 index 0000000..d2eaaa2 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_choice_any.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 MessagesToolChoiceAny(BaseModel): + type: Literal["any"] + disable_parallel_tool_use: Optional[bool] = None diff --git a/src/arkruntime/types/messages/messages_tool_choice_auto.py b/src/arkruntime/types/messages/messages_tool_choice_auto.py new file mode 100644 index 0000000..255a9da --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_choice_auto.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 MessagesToolChoiceAuto(BaseModel): + type: Literal["auto"] + disable_parallel_tool_use: Optional[bool] = None diff --git a/src/arkruntime/types/messages/messages_tool_choice_none.py b/src/arkruntime/types/messages/messages_tool_choice_none.py new file mode 100644 index 0000000..3bd6029 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_choice_none.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 MessagesToolChoiceNone(BaseModel): + type: Literal["none"] + disable_parallel_tool_use: Optional[bool] = None diff --git a/src/arkruntime/types/messages/messages_tool_choice_tool.py b/src/arkruntime/types/messages/messages_tool_choice_tool.py new file mode 100644 index 0000000..6189b06 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_choice_tool.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 Literal, Optional + +from arkruntime._models import BaseModel + + +class MessagesToolChoiceTool(BaseModel): + type: Literal["tool"] + disable_parallel_tool_use: Optional[bool] = None + name: str + """ + The name of the tool the model must invoke. + """ diff --git a/src/arkruntime/types/messages/messages_tool_result_content.py b/src/arkruntime/types/messages/messages_tool_result_content.py new file mode 100644 index 0000000..f63cd76 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_result_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 List, Union + +from typing_extensions import TypeAliasType + +from .messages_tool_result_content_part import MessagesToolResultContentPart + +MessagesToolResultContent = TypeAliasType( + "MessagesToolResultContent", Union[str, List[MessagesToolResultContentPart]] +) +""" +A tool result can be plain text or an array of typed content parts. +""" diff --git a/src/arkruntime/types/messages/messages_tool_result_content_part.py b/src/arkruntime/types/messages/messages_tool_result_content_part.py new file mode 100644 index 0000000..a212696 --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_result_content_part.py @@ -0,0 +1,28 @@ +# 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 Annotated, Union + +from pydantic import Field +from typing_extensions import TypeAliasType + +from .messages_content_part_image import MessagesContentPartImage +from .messages_content_part_text import MessagesContentPartText +from .messages_content_part_tool_reference import MessagesContentPartToolReference + +MessagesToolResultContentPart = TypeAliasType( + "MessagesToolResultContentPart", + Annotated[ + Union[ + MessagesContentPartText, + MessagesContentPartImage, + MessagesContentPartToolReference, + ], + Field(discriminator="type"), + ], +) diff --git a/src/arkruntime/types/messages/messages_tool_user_location.py b/src/arkruntime/types/messages/messages_tool_user_location.py new file mode 100644 index 0000000..99d3ceb --- /dev/null +++ b/src/arkruntime/types/messages/messages_tool_user_location.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 Optional + +from arkruntime._models import BaseModel + + +class MessagesToolUserLocation(BaseModel): + type: Optional[str] = None + city: Optional[str] = None + region: Optional[str] = None + country: Optional[str] = None + timezone: Optional[str] = None diff --git a/src/arkruntime/types/messages/messages_usage.py b/src/arkruntime/types/messages/messages_usage.py new file mode 100644 index 0000000..8f4fbaf --- /dev/null +++ b/src/arkruntime/types/messages/messages_usage.py @@ -0,0 +1,41 @@ +# 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, Optional + +from arkruntime._models import BaseModel + +from .messages_iteration_usage import MessagesIterationUsage +from .messages_server_tool_usage import MessagesServerToolUsage + + +class MessagesUsage(BaseModel): + """ + Usage statistics for the Messages API. + """ + + input_tokens: Optional[int] = None + """ + Number of tokens in the prompt. + """ + output_tokens: Optional[int] = None + """ + Number of tokens in the generated completion. + """ + cache_read_input_tokens: Optional[int] = None + """ + Number of prompt tokens read from the prefill cache. + """ + server_tool_use: Optional[MessagesServerToolUsage] = None + """ + Counts of requests dispatched by server-managed tools. + """ + iterations: Optional[List[MessagesIterationUsage]] = None + """ + One token-usage record for each model iteration. + """ diff --git a/src/arkruntime/types/messages/messages_web_search_result.py b/src/arkruntime/types/messages/messages_web_search_result.py new file mode 100644 index 0000000..9297a31 --- /dev/null +++ b/src/arkruntime/types/messages/messages_web_search_result.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, Optional + +from arkruntime._models import BaseModel + + +class MessagesWebSearchResult(BaseModel): + type: Literal["web_search_result"] + """ + The type of the result. Always `web_search_result`. + """ + title: str + url: str + encrypted_content: str + page_age: Optional[str] = None diff --git a/src/arkruntime/types/messages/messages_web_search_tool_result_content.py b/src/arkruntime/types/messages/messages_web_search_tool_result_content.py new file mode 100644 index 0000000..4602369 --- /dev/null +++ b/src/arkruntime/types/messages/messages_web_search_tool_result_content.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 List, Union + +from typing_extensions import TypeAliasType + +from .messages_web_search_result import MessagesWebSearchResult +from .messages_web_search_tool_result_error import MessagesWebSearchToolResultError + +MessagesWebSearchToolResultContent = TypeAliasType( + "MessagesWebSearchToolResultContent", + Union[List[MessagesWebSearchResult], MessagesWebSearchToolResultError], +) +""" +Successful web-search results or one model-visible server-tool error. +""" 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 new file mode 100644 index 0000000..123ae54 --- /dev/null +++ b/src/arkruntime/types/messages/messages_web_search_tool_result_error.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 arkruntime._models import BaseModel + + +class MessagesWebSearchToolResultError(BaseModel): + type: Literal["web_search_tool_result_error"] + """ + The type of the result. Always `web_search_tool_result_error`. + """ + error_code: str diff --git a/src/arkruntime/types/messages/model_fallback_status.py b/src/arkruntime/types/messages/model_fallback_status.py new file mode 100644 index 0000000..9fd6b1d --- /dev/null +++ b/src/arkruntime/types/messages/model_fallback_status.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 arkruntime._models import BaseModel + + +class ModelFallbackStatus(BaseModel): + fallback_triggered: bool + """ + Whether a model fallback was triggered for this request. + """ + original_model: str + """ + The model originally requested before fallback. + """ diff --git a/uv.lock b/uv.lock index cb674d3..77659ef 100644 --- a/uv.lock +++ b/uv.lock @@ -73,7 +73,7 @@ wheels = [ [[package]] name = "arkruntime" -version = "0.2.0" +version = "0.3.0" source = { editable = "." } dependencies = [ { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },