Documentation
¶
Index ¶
- Variables
- func BuildDispatchText(action Action) (string, error)
- func NextRunAt(from time.Time, schedule Schedule) time.Time
- func ValidateTask(task Task) error
- type Action
- type ActionType
- type Actor
- type Engine
- type LLMRunner
- type ManageMode
- type Route
- type Schedule
- type ScheduleType
- type Scope
- type ScopeKind
- type Snapshot
- type Store
- func (s *Store) ClaimDueTasks(at time.Time, limit int) ([]Task, error)
- func (s *Store) CreateTask(task Task) (Task, error)
- func (s *Store) GetTask(taskID string) (Task, error)
- func (s *Store) ListTasks(scope Scope, statusFilter string, limit int) ([]Task, error)
- func (s *Store) PatchTask(taskID string, mutate func(task *Task) error) (Task, error)
- func (s *Store) Path() string
- func (s *Store) RecordTaskResult(taskID string, at time.Time, runErr error) error
- func (s *Store) ResetRunningTasks() error
- type SystemTaskFunc
- type Task
- type TaskStatus
- type TextSender
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrTaskNotFound = errors.New("automation task not found")
)
Functions ¶
func BuildDispatchText ¶
func ValidateTask ¶
Types ¶
type ActionType ¶
type ActionType string
const ( ActionTypeSendText ActionType = "send_text" ActionTypeRunLLM ActionType = "run_llm" )
type Actor ¶
type Actor struct {
UserID string `json:"user_id,omitempty"`
OpenID string `json:"open_id,omitempty"`
Name string `json:"name,omitempty"`
}
func (Actor) PreferredID ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
func NewEngine ¶
func NewEngine(store *Store, sender TextSender) *Engine
func (*Engine) RegisterSystemTask ¶
func (*Engine) SetLLMRunner ¶
func (*Engine) SetUserTaskTimeout ¶
type ManageMode ¶
type ManageMode string
const ( ManageModeCreatorOnly ManageMode = "creator_only" ManageModeScopeAll ManageMode = "scope_all" )
type Schedule ¶
type Schedule struct {
Type ScheduleType `json:"type"`
EverySeconds int `json:"every_seconds"`
CronExpr string `json:"cron_expr,omitempty"`
}
type ScheduleType ¶
type ScheduleType string
const ( ScheduleTypeInterval ScheduleType = "interval" ScheduleTypeCron ScheduleType = "cron" )
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) ClaimDueTasks ¶
func (*Store) RecordTaskResult ¶
func (*Store) ResetRunningTasks ¶
type SystemTaskFunc ¶
type Task ¶
type Task struct {
ID string `json:"id"`
Title string `json:"title,omitempty"`
Scope Scope `json:"scope"`
Route Route `json:"route"`
Creator Actor `json:"creator"`
ManageMode ManageMode `json:"manage_mode"`
Schedule Schedule `json:"schedule"`
Action Action `json:"action"`
Status TaskStatus `json:"status"`
MaxRuns int `json:"max_runs,omitempty"`
RunCount int `json:"run_count,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
NextRunAt time.Time `json:"next_run_at"`
LastRunAt time.Time `json:"last_run_at,omitempty"`
Running bool `json:"running,omitempty"`
LastResult string `json:"last_result,omitempty"`
ConsecutiveFailures int `json:"consecutive_failures,omitempty"`
Revision int64 `json:"revision"`
}
func NormalizeTask ¶
type TaskStatus ¶
type TaskStatus string
const ( TaskStatusActive TaskStatus = "active" TaskStatusPaused TaskStatus = "paused" TaskStatusDeleted TaskStatus = "deleted" )
func ParseStatusFilter ¶
func ParseStatusFilter(raw string) (TaskStatus, bool, error)
Click to show internal directories.
Click to hide internal directories.