mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-08-28 15:49:24 +00:00
The inner ring of the schedule slice, added on its own so it can be read as domain modelling rather than as a diff against the old implementation: two aggregates with their state machines, the policy value object, the output ports the service depends on, and the errors it raises. Nothing wires it up yet -- no existing code path changes. The service is exercised end to end against in-memory fakes, which is what makes the rules (overlap policy, lease handling, which write owns which timestamp) assertable without a database at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
84 lines
2.0 KiB
Python
84 lines
2.0 KiB
Python
"""Schedule bounded context: standing instructions to run a prompt on time.
|
|
|
|
Public API of the context. Import domain objects, commands, errors, and the
|
|
service from here; import ports from `deerflow.domain.schedule.ports` -- they
|
|
are contracts consumed by adapters and tests, not everyday call-site symbols.
|
|
"""
|
|
|
|
from deerflow.domain.schedule.commands import (
|
|
UNSET,
|
|
ContextChange,
|
|
CreateScheduledTask,
|
|
DeleteTask,
|
|
PauseTask,
|
|
ResumeTask,
|
|
TriggerTask,
|
|
UnsetType,
|
|
UpdateScheduledTask,
|
|
)
|
|
from deerflow.domain.schedule.exceptions import (
|
|
ActiveRunConflictError,
|
|
CorruptStoredScheduleError,
|
|
InvalidContextModeError,
|
|
InvalidScheduleError,
|
|
LaunchFailedError,
|
|
ScheduleError,
|
|
TaskNotFoundError,
|
|
TaskNotMutableError,
|
|
ThreadBusyError,
|
|
ThreadNotFoundError,
|
|
)
|
|
from deerflow.domain.schedule.model import (
|
|
ACTIVE_RUN_STATUSES,
|
|
TERMINAL_RUN_STATUSES,
|
|
TERMINAL_TASK_STATUSES,
|
|
ContextMode,
|
|
DispatchOutcome,
|
|
RunStatus,
|
|
ScheduledRun,
|
|
ScheduledTask,
|
|
SchedulePolicy,
|
|
ScheduleSpec,
|
|
ScheduleType,
|
|
TaskStatus,
|
|
TriggerKind,
|
|
)
|
|
from deerflow.domain.schedule.service import DispatchResult, ScheduleService
|
|
|
|
__all__ = [
|
|
"ACTIVE_RUN_STATUSES",
|
|
"TERMINAL_RUN_STATUSES",
|
|
"TERMINAL_TASK_STATUSES",
|
|
"UNSET",
|
|
"ActiveRunConflictError",
|
|
"ContextChange",
|
|
"ContextMode",
|
|
"CorruptStoredScheduleError",
|
|
"CreateScheduledTask",
|
|
"DeleteTask",
|
|
"DispatchOutcome",
|
|
"DispatchResult",
|
|
"InvalidContextModeError",
|
|
"InvalidScheduleError",
|
|
"LaunchFailedError",
|
|
"PauseTask",
|
|
"ResumeTask",
|
|
"RunStatus",
|
|
"ScheduleError",
|
|
"SchedulePolicy",
|
|
"ScheduleService",
|
|
"ScheduleSpec",
|
|
"ScheduleType",
|
|
"ScheduledRun",
|
|
"ScheduledTask",
|
|
"TaskNotFoundError",
|
|
"TaskNotMutableError",
|
|
"TaskStatus",
|
|
"ThreadBusyError",
|
|
"ThreadNotFoundError",
|
|
"TriggerKind",
|
|
"TriggerTask",
|
|
"UnsetType",
|
|
"UpdateScheduledTask",
|
|
]
|