types
StreamingReq
module-attribute
StreamingReq = (
ThreadsCreateReq
| ThreadsAddUserMessageReq
| ThreadsAddClientToolOutputReq
| ThreadsRetryAfterItemReq
| ThreadsCustomActionReq
)
Union of request types that produce streaming responses.
NonStreamingReq
module-attribute
NonStreamingReq = (
ThreadsGetByIdReq
| ThreadsListReq
| ItemsListReq
| ItemsFeedbackReq
| AttachmentsCreateReq
| AttachmentsDeleteReq
| ThreadsUpdateReq
| ThreadsDeleteReq
| InputTranscribeReq
)
Union of request types that yield immediate responses.
ThreadStreamEvent
module-attribute
ThreadStreamEvent = Annotated[
ThreadCreatedEvent
| ThreadUpdatedEvent
| ThreadItemDoneEvent
| ThreadItemAddedEvent
| ThreadItemUpdated
| ThreadItemRemovedEvent
| ThreadItemReplacedEvent
| StreamOptionsEvent
| ProgressUpdateEvent
| ClientEffectEvent
| ErrorEvent
| NoticeEvent,
Field(discriminator="type"),
]
Union of all streaming events emitted to clients.
ThreadItemUpdate
module-attribute
ThreadItemUpdate = (
AssistantMessageContentPartAdded
| AssistantMessageContentPartTextDelta
| AssistantMessageContentPartAnnotationAdded
| AssistantMessageContentPartDone
| WidgetStreamingTextValueDelta
| WidgetComponentUpdated
| WidgetRootUpdated
| WorkflowTaskAdded
| WorkflowTaskUpdated
| GeneratedImageUpdated
)
Union of possible updates applied to thread items.
ThreadStatus
module-attribute
ThreadStatus = Annotated[
ActiveStatus | LockedStatus | ClosedStatus,
Field(discriminator="type"),
]
Union of lifecycle states for a thread.
ThreadItem
module-attribute
ThreadItem = Annotated[
UserMessageItem
| AssistantMessageItem
| ClientToolCallItem
| WidgetItem
| GeneratedImageItem
| WorkflowItem
| TaskItem
| HiddenContextItem
| SDKHiddenContextItem
| EndOfTurnItem,
Field(discriminator="type"),
]
Union of all thread item variants.
UserMessageContent
module-attribute
UserMessageContent = Annotated[
UserMessageTextContent | UserMessageTagContent,
Field(discriminator="type"),
]
Union of allowed user message content payloads.
Attachment
module-attribute
Attachment = Annotated[
FileAttachment | ImageAttachment,
Field(discriminator="type"),
]
Union of supported attachment types.
WorkflowSummary
module-attribute
WorkflowSummary = CustomSummary | DurationSummary
Summary variants available for workflows.
Task
module-attribute
Task = Annotated[
CustomTask
| SearchTask
| ThoughtTask
| FileTask
| ImageTask,
Field(discriminator="type"),
]
Union of workflow task variants.
Source
module-attribute
Source = Annotated[
URLSource | FileSource | EntitySource,
Field(discriminator="type"),
]
Union of supported source types.
FeedbackKind
module-attribute
FeedbackKind = Literal['positive', 'negative']
Literal type for feedback sentiment.
Page
Bases: BaseModel, Generic[T]
Paginated collection of records returned from the API.
Source code in chatkit/types.py
24 25 26 27 28 29 | |
BaseReq
Bases: BaseModel
Base class for all request payloads.
Source code in chatkit/types.py
35 36 37 38 39 | |
metadata
class-attribute
instance-attribute
metadata: dict[str, Any] = Field(default_factory=dict)
Arbitrary integration-specific metadata.
ThreadsGetByIdReq
Bases: BaseReq
Request to fetch a single thread by its identifier.
Source code in chatkit/types.py
42 43 44 45 46 | |
ThreadGetByIdParams
Bases: BaseModel
Parameters for retrieving a thread by id.
Source code in chatkit/types.py
49 50 51 52 | |
ThreadsCreateReq
Bases: BaseReq
Request to create a new thread from a user message.
Source code in chatkit/types.py
55 56 57 58 59 | |
ThreadCreateParams
Bases: BaseModel
User input required to create a thread.
Source code in chatkit/types.py
62 63 64 65 | |
ThreadListParams
Bases: BaseModel
Pagination parameters for listing threads.
Source code in chatkit/types.py
68 69 70 71 72 73 | |
ThreadsListReq
Bases: BaseReq
Request to list threads.
Source code in chatkit/types.py
76 77 78 79 80 | |
ThreadsAddUserMessageReq
Bases: BaseReq
Request to append a user message to a thread.
Source code in chatkit/types.py
83 84 85 86 87 | |
ThreadAddUserMessageParams
Bases: BaseModel
Parameters for adding a user message to a thread.
Source code in chatkit/types.py
90 91 92 93 94 | |
ThreadsAddClientToolOutputReq
Bases: BaseReq
Request to add a client tool's output to a thread.
Source code in chatkit/types.py
97 98 99 100 101 | |
ThreadAddClientToolOutputParams
Bases: BaseModel
Parameters for recording tool output in a thread.
Source code in chatkit/types.py
104 105 106 107 108 | |
ThreadsCustomActionReq
Bases: BaseReq
Request to execute a custom action within a thread.
Source code in chatkit/types.py
111 112 113 114 115 | |
ThreadCustomActionParams
Bases: BaseModel
Parameters describing the custom action to execute.
Source code in chatkit/types.py
118 119 120 121 122 123 | |
ThreadsRetryAfterItemReq
Bases: BaseReq
Request to retry processing after a specific thread item.
Source code in chatkit/types.py
126 127 128 129 130 | |
ThreadRetryAfterItemParams
Bases: BaseModel
Parameters specifying which item to retry.
Source code in chatkit/types.py
133 134 135 136 137 | |
ItemsFeedbackReq
Bases: BaseReq
Request to submit feedback on specific items.
Source code in chatkit/types.py
140 141 142 143 144 | |
ItemFeedbackParams
Bases: BaseModel
Parameters describing feedback targets and sentiment.
Source code in chatkit/types.py
147 148 149 150 151 152 | |
AttachmentsDeleteReq
Bases: BaseReq
Request to remove an attachment.
Source code in chatkit/types.py
155 156 157 158 159 | |
AttachmentDeleteParams
Bases: BaseModel
Parameters identifying an attachment to delete.
Source code in chatkit/types.py
162 163 164 165 | |
AttachmentsCreateReq
Bases: BaseReq
Request to register a new attachment.
Source code in chatkit/types.py
168 169 170 171 172 | |
AttachmentCreateParams
Bases: BaseModel
Metadata needed to initialize an attachment.
Source code in chatkit/types.py
175 176 177 178 179 180 | |
InputTranscribeReq
Bases: BaseReq
Request to transcribe an audio payload into text.
Source code in chatkit/types.py
183 184 185 186 187 | |
InputTranscribeParams
Bases: BaseModel
Parameters for speech transcription.
Source code in chatkit/types.py
190 191 192 193 194 195 196 197 | |
audio_base64
instance-attribute
audio_base64: str
Base64-encoded audio bytes.
mime_type
instance-attribute
mime_type: str
Raw MIME type for the audio payload, e.g. "audio/webm;codecs=opus".
AudioInput
Bases: BaseModel
Audio input data for transcription.
Source code in chatkit/types.py
200 201 202 203 204 205 206 207 208 209 210 211 212 | |
data
instance-attribute
data: bytes
Audio data bytes.
mime_type
instance-attribute
mime_type: str
Raw MIME type for the audio payload, e.g. "audio/webm;codecs=opus".
media_type
property
media_type: str
Media type for the audio payload, e.g. "audio/webm".
TranscriptionResult
Bases: BaseModel
Input speech transcription result.
Source code in chatkit/types.py
215 216 217 218 | |
ItemsListReq
Bases: BaseReq
Request to list items inside a thread.
Source code in chatkit/types.py
221 222 223 224 225 | |
ItemsListParams
Bases: BaseModel
Pagination parameters for listing thread items.
Source code in chatkit/types.py
228 229 230 231 232 233 234 | |
ThreadsUpdateReq
Bases: BaseReq
Request to update thread metadata.
Source code in chatkit/types.py
237 238 239 240 241 | |
ThreadUpdateParams
Bases: BaseModel
Parameters for updating a thread's properties.
Source code in chatkit/types.py
244 245 246 247 248 | |
ThreadsDeleteReq
Bases: BaseReq
Request to delete a thread.
Source code in chatkit/types.py
251 252 253 254 255 | |
ThreadDeleteParams
Bases: BaseModel
Parameters identifying a thread to delete.
Source code in chatkit/types.py
258 259 260 261 | |
ThreadCreatedEvent
Bases: BaseModel
Event emitted when a thread is created.
Source code in chatkit/types.py
311 312 313 314 315 | |
ThreadUpdatedEvent
Bases: BaseModel
Event emitted when a thread is updated.
Source code in chatkit/types.py
318 319 320 321 322 | |
ThreadItemAddedEvent
Bases: BaseModel
Event emitted when a new item is added to a thread.
Source code in chatkit/types.py
325 326 327 328 329 | |
ThreadItemUpdatedEvent
Bases: BaseModel
Event describing an update to an existing thread item.
Source code in chatkit/types.py
332 333 334 335 336 337 | |
ThreadItemDoneEvent
Bases: BaseModel
Event emitted when a thread item is marked complete.
Source code in chatkit/types.py
344 345 346 347 348 | |
ThreadItemRemovedEvent
Bases: BaseModel
Event emitted when a thread item is removed.
Source code in chatkit/types.py
351 352 353 354 355 | |
ThreadItemReplacedEvent
Bases: BaseModel
Event emitted when a thread item is replaced.
Source code in chatkit/types.py
358 359 360 361 362 | |
StreamOptions
Bases: BaseModel
Settings that control runtime stream behavior.
Source code in chatkit/types.py
365 366 367 368 369 | |
allow_cancel
instance-attribute
allow_cancel: bool
Allow the client to request cancellation mid-stream.
StreamOptionsEvent
Bases: BaseModel
Event emitted to set stream options at runtime.
Source code in chatkit/types.py
372 373 374 375 376 | |
ProgressUpdateEvent
Bases: BaseModel
Event providing incremental progress from the assistant.
Source code in chatkit/types.py
379 380 381 382 383 384 | |
ClientEffectEvent
Bases: BaseModel
Event emitted to trigger a client side-effect.
Source code in chatkit/types.py
387 388 389 390 391 392 | |
ErrorEvent
Bases: BaseModel
Event indicating an error occurred while processing a thread.
Source code in chatkit/types.py
395 396 397 398 399 400 401 | |
NoticeEvent
Bases: BaseModel
Event conveying a user-facing notice.
Source code in chatkit/types.py
404 405 406 407 408 409 410 411 412 413 | |
message
instance-attribute
message: str
Supports markdown e.g. "You've reached your limit of 100 messages. Upgrade to a paid plan."
AssistantMessageContentPartAdded
Bases: BaseModel
Event emitted when new assistant content is appended.
Source code in chatkit/types.py
436 437 438 439 440 441 442 443 | |
AssistantMessageContentPartTextDelta
Bases: BaseModel
Event carrying incremental assistant text output.
Source code in chatkit/types.py
446 447 448 449 450 451 452 453 | |
AssistantMessageContentPartAnnotationAdded
Bases: BaseModel
Event announcing a new annotation on assistant content.
Source code in chatkit/types.py
456 457 458 459 460 461 462 463 464 | |
AssistantMessageContentPartDone
Bases: BaseModel
Event indicating an assistant content part is finalized.
Source code in chatkit/types.py
467 468 469 470 471 472 473 474 | |
WidgetStreamingTextValueDelta
Bases: BaseModel
Event streaming widget text deltas.
Source code in chatkit/types.py
477 478 479 480 481 482 483 484 485 | |
WidgetRootUpdated
Bases: BaseModel
Event published when the widget root changes.
Source code in chatkit/types.py
488 489 490 491 492 | |
WidgetComponentUpdated
Bases: BaseModel
Event emitted when a widget component updates.
Source code in chatkit/types.py
495 496 497 498 499 500 | |
WorkflowTaskAdded
Bases: BaseModel
Event emitted when a workflow task is added.
Source code in chatkit/types.py
503 504 505 506 507 508 | |
WorkflowTaskUpdated
Bases: BaseModel
Event emitted when a workflow task is updated.
Source code in chatkit/types.py
511 512 513 514 515 516 | |
GeneratedImageUpdated
Bases: BaseModel
Event emitted when a generated image is updated.
Source code in chatkit/types.py
519 520 521 522 523 524 | |
ThreadMetadata
Bases: BaseModel
Metadata describing a thread without its items.
Source code in chatkit/types.py
545 546 547 548 549 550 551 552 553 | |
ActiveStatus
Bases: BaseModel
Status indicating the thread is active.
Source code in chatkit/types.py
556 557 558 559 | |
LockedStatus
Bases: BaseModel
Status indicating the thread is locked.
Source code in chatkit/types.py
562 563 564 565 566 | |
ClosedStatus
Bases: BaseModel
Status indicating the thread is closed.
Source code in chatkit/types.py
569 570 571 572 573 | |
Thread
Bases: ThreadMetadata
Thread with its paginated items.
Source code in chatkit/types.py
583 584 585 586 | |
ThreadItemBase
Bases: BaseModel
Base fields shared by all thread items.
Source code in chatkit/types.py
592 593 594 595 596 597 | |
UserMessageItem
Bases: ThreadItemBase
Thread item representing a user message.
Source code in chatkit/types.py
600 601 602 603 604 605 606 607 | |
AssistantMessageItem
Bases: ThreadItemBase
Thread item representing an assistant message.
Source code in chatkit/types.py
610 611 612 613 614 | |
ClientToolCallItem
Bases: ThreadItemBase
Thread item capturing a client tool call.
Source code in chatkit/types.py
617 618 619 620 621 622 623 624 625 | |
WidgetItem
Bases: ThreadItemBase
Thread item containing widget content.
Source code in chatkit/types.py
628 629 630 631 632 633 | |
GeneratedImage
Bases: BaseModel
Generated image.
Source code in chatkit/types.py
636 637 638 639 640 | |
GeneratedImageItem
Bases: ThreadItemBase
Thread item containing a generated image.
Source code in chatkit/types.py
643 644 645 646 647 | |
TaskItem
Bases: ThreadItemBase
Thread item containing a task.
Source code in chatkit/types.py
650 651 652 653 654 | |
WorkflowItem
Bases: ThreadItemBase
Thread item representing a workflow.
Source code in chatkit/types.py
657 658 659 660 661 | |
EndOfTurnItem
Bases: ThreadItemBase
Marker item indicating the assistant ends its turn.
Source code in chatkit/types.py
664 665 666 667 | |
HiddenContextItem
Bases: ThreadItemBase
HiddenContext is never sent to the client. It's not officially part of ChatKit.js. It is only used internally to store additional context in a specific place in the thread.
Source code in chatkit/types.py
670 671 672 673 674 675 676 677 | |
SDKHiddenContextItem
Bases: ThreadItemBase
Hidden context that is used by the ChatKit Python SDK for storing additional context for internal operations.
Source code in chatkit/types.py
680 681 682 683 684 685 686 687 | |
AssistantMessageContent
Bases: BaseModel
Assistant message content consisting of text and annotations.
Source code in chatkit/types.py
709 710 711 712 713 714 | |
Annotation
Bases: BaseModel
Reference to supporting context attached to assistant output.
Source code in chatkit/types.py
717 718 719 720 721 722 | |
UserMessageInput
Bases: BaseModel
Payload describing a user message submission.
Source code in chatkit/types.py
728 729 730 731 732 733 734 | |
UserMessageTextContent
Bases: BaseModel
User message content containing plaintext.
Source code in chatkit/types.py
737 738 739 740 741 | |
UserMessageTagContent
Bases: BaseModel
User message content representing an interactive tag.
Source code in chatkit/types.py
744 745 746 747 748 749 750 751 752 | |
InferenceOptions
Bases: BaseModel
Model and tool configuration for message processing.
Source code in chatkit/types.py
761 762 763 764 765 | |
ToolChoice
Bases: BaseModel
Explicit tool selection for the assistant to invoke.
Source code in chatkit/types.py
768 769 770 771 | |
AttachmentUploadDescriptor
Bases: BaseModel
Two-phase upload instructions.
Source code in chatkit/types.py
774 775 776 777 778 779 780 781 | |
method
instance-attribute
method: Literal['POST', 'PUT']
The HTTP method to use when uploading the file for two-phase upload.
headers
class-attribute
instance-attribute
headers: dict[str, str] = Field(default_factory=dict)
Optional headers to include in the upload request.
AttachmentBase
Bases: BaseModel
Base metadata shared by all attachments.
Source code in chatkit/types.py
784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 | |
upload_descriptor
class-attribute
instance-attribute
upload_descriptor: AttachmentUploadDescriptor | None = None
Two-phase upload instructions. Should be set to None after upload is complete or when using direct upload where uploading happens when creating the attachment object.
thread_id
class-attribute
instance-attribute
thread_id: str | None = None
The thread the attachment belongs to, if any. Added when the user message that contains the attachment is saved to store.
metadata
class-attribute
instance-attribute
metadata: dict[str, Any] | None = None
Integration-only metadata stored with the attachment. Ignored by ChatKit and not returned in ChatKitServer responses. If you serialize attachments from a custom direct-upload endpoint and want to omit this field, pass context={"exclude_metadata": True}.
FileAttachment
Bases: AttachmentBase
Attachment representing a generic file.
Source code in chatkit/types.py
816 817 818 819 | |
ImageAttachment
Bases: AttachmentBase
Attachment representing an image resource.
Source code in chatkit/types.py
822 823 824 825 826 | |
Workflow
Bases: BaseModel
Workflow attached to a thread with optional summary.
Source code in chatkit/types.py
839 840 841 842 843 844 845 | |
CustomSummary
Bases: BaseModel
Custom summary for a workflow.
Source code in chatkit/types.py
848 849 850 851 852 | |
DurationSummary
Bases: BaseModel
Summary providing total workflow duration.
Source code in chatkit/types.py
855 856 857 858 859 | |
duration
instance-attribute
duration: int
The duration of the workflow in seconds
BaseTask
Bases: BaseModel
Base fields common to all workflow tasks.
Source code in chatkit/types.py
868 869 870 871 872 | |
status_indicator
class-attribute
instance-attribute
status_indicator: Literal["none", "loading", "complete"] = (
"none"
)
Only used when rendering the task as part of a workflow. Indicates the status of the task.
CustomTask
Bases: BaseTask
Workflow task displaying custom content.
Source code in chatkit/types.py
875 876 877 878 879 880 881 | |
SearchTask
Bases: BaseTask
Workflow task representing a web search.
Source code in chatkit/types.py
884 885 886 887 888 889 890 891 | |
ThoughtTask
Bases: BaseTask
Workflow task capturing assistant reasoning.
Source code in chatkit/types.py
894 895 896 897 898 899 | |
FileTask
Bases: BaseTask
Workflow task referencing file sources.
Source code in chatkit/types.py
902 903 904 905 906 907 | |
ImageTask
Bases: BaseTask
Workflow task rendering image content.
Source code in chatkit/types.py
910 911 912 913 914 | |
SourceBase
Bases: BaseModel
Base class for sources displayed to users.
Source code in chatkit/types.py
927 928 929 930 931 932 933 | |
FileSource
Bases: SourceBase
Source metadata for file-based references.
Source code in chatkit/types.py
936 937 938 939 940 | |
URLSource
Bases: SourceBase
Source metadata for external URLs.
Source code in chatkit/types.py
943 944 945 946 947 948 | |
EntitySource
Bases: SourceBase
Source metadata for entity references.
Source code in chatkit/types.py
951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 | |
label
class-attribute
instance-attribute
label: str | None = None
Optional label shown with the icon in the default entity hover header when no preview callback is provided.
inline_label
class-attribute
instance-attribute
inline_label: str | None = None
Optional label for the inline annotation view. When not provided, the icon is used instead.
interactive
class-attribute
instance-attribute
interactive: bool = False
Per-entity toggle to wire client callbacks and render this entity as interactive.
data
class-attribute
instance-attribute
data: dict[str, Any] = Field(default_factory=dict)
Additional data for the entity source that is passed to client entity callbacks.
is_streaming_req
is_streaming_req(
request: ChatKitReq,
) -> TypeIs[StreamingReq]
Return True if the given request should be processed as streaming.
Source code in chatkit/types.py
294 295 296 297 298 299 300 301 302 303 304 305 | |