mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-06-10 01:15:58 +00:00
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""Application command DTOs for run use cases."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Any, Literal
|
|
|
|
from ..domain import AssistantId, CancelAction, DisconnectMode, MultitaskStrategy, RunId, RunScope, ThreadId
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class CreateRunCommand:
|
|
thread_id: ThreadId
|
|
assistant_id: AssistantId | None = None
|
|
input: dict[str, Any] | None = None
|
|
command: dict[str, Any] | None = None
|
|
metadata: dict[str, Any] = field(default_factory=dict)
|
|
config: dict[str, Any] = field(default_factory=dict)
|
|
context: dict[str, Any] = field(default_factory=dict)
|
|
scope: RunScope = RunScope.stateful
|
|
on_disconnect: DisconnectMode = DisconnectMode.cancel
|
|
multitask_strategy: MultitaskStrategy = MultitaskStrategy.reject
|
|
stream_mode: list[str] | str | None = None
|
|
stream_subgraphs: bool = False
|
|
interrupt_before: list[str] | Literal["*"] | None = None
|
|
interrupt_after: list[str] | Literal["*"] | None = None
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class CancelRunCommand:
|
|
run_id: RunId
|
|
action: CancelAction = CancelAction.interrupt
|
|
wait: bool = False
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class JoinRunStreamCommand:
|
|
run_id: RunId
|
|
last_event_id: str | None = None
|
|
|
|
|
|
__all__ = [
|
|
"CancelRunCommand",
|
|
"CreateRunCommand",
|
|
"JoinRunStreamCommand",
|
|
]
|