Documentation
¶
Index ¶
- Constants
- 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
- func (e *Engine) RegisterSystemTask(name string, interval time.Duration, run SystemTaskFunc) error
- func (e *Engine) Run(ctx context.Context)
- func (e *Engine) SetLLMRunner(runner LLMRunner)
- func (e *Engine) SetRunEnv(env map[string]string)
- func (e *Engine) SetUserTaskCompletionHook(hook UserTaskCompletionHook)
- func (e *Engine) SetUserTaskTimeout(timeout time.Duration)
- func (e *Engine) SetWorkflowRunner(runner WorkflowRunner)
- type LLMRunner
- type ManageMode
- type PromptWorkflowRunner
- type Route
- type Schedule
- type ScheduleType
- type Scope
- type ScopeKind
- type Sender
- 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) RecordTaskSignal(taskID string, at time.Time, kind, message string, pause bool) error
- func (s *Store) ResetRunningTasks() error
- type SystemTaskFunc
- type Task
- type TaskStatus
- type UserTaskCompletionHook
- type WorkflowCommand
- type WorkflowRunRequest
- type WorkflowRunResult
- type WorkflowRunner
Constants ¶
View Source
const ( EnvWorkflowName = "ALICE_AUTOMATION_WORKFLOW" EnvWorkflowStateKey = "ALICE_AUTOMATION_STATE_KEY" EnvWorkflowTaskID = "ALICE_AUTOMATION_TASK_ID" EnvWorkflowSessionKey = "ALICE_AUTOMATION_SESSION_KEY" )
Variables ¶
View Source
var (
ErrTaskNotFound = errors.New("automation task not found")
)
Functions ¶
func BuildDispatchText ¶
func ValidateTask ¶
Types ¶
type Action ¶
type Action struct {
Type ActionType `json:"type"`
Text string `json:"text"`
Prompt string `json:"prompt,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
Profile string `json:"profile,omitempty"`
Workflow string `json:"workflow,omitempty"`
StateKey string `json:"state_key,omitempty"`
SessionKey string `json:"session_key,omitempty"`
ReasoningEffort string `json:"reasoning_effort,omitempty"`
Personality string `json:"personality,omitempty"`
MentionUserIDs []string `json:"mention_user_ids,omitempty"`
}
type ActionType ¶
type ActionType string
const ( ActionTypeSendText ActionType = "send_text" ActionTypeRunLLM ActionType = "run_llm" ActionTypeRunWorkflow ActionType = "run_workflow" )
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 (*Engine) RegisterSystemTask ¶
func (*Engine) SetLLMRunner ¶
func (*Engine) SetUserTaskCompletionHook ¶ added in v0.6.0
func (e *Engine) SetUserTaskCompletionHook(hook UserTaskCompletionHook)
func (*Engine) SetUserTaskTimeout ¶
func (*Engine) SetWorkflowRunner ¶
func (e *Engine) SetWorkflowRunner(runner WorkflowRunner)
type ManageMode ¶
type ManageMode string
const ( ManageModeCreatorOnly ManageMode = "creator_only" ManageModeScopeAll ManageMode = "scope_all" )
type PromptWorkflowRunner ¶ added in v0.3.18
type PromptWorkflowRunner struct {
// contains filtered or unexported fields
}
func NewPromptWorkflowRunner ¶ added in v0.3.18
func NewPromptWorkflowRunner(backend llm.Backend) *PromptWorkflowRunner
func (*PromptWorkflowRunner) Run ¶ added in v0.3.18
func (r *PromptWorkflowRunner) Run(ctx context.Context, req WorkflowRunRequest) (WorkflowRunResult, error)
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 Sender ¶ added in v0.3.20
type Sender = messaging.AutomationSender
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) ClaimDueTasks ¶
func (*Store) RecordTaskResult ¶
func (*Store) RecordTaskSignal ¶ added in v0.5.23
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"`
DeletedAt time.Time `json:"deleted_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)
type UserTaskCompletionHook ¶ added in v0.6.0
type WorkflowCommand ¶ added in v0.5.23
type WorkflowCommand struct {
Text string
}
type WorkflowRunRequest ¶
type WorkflowRunResult ¶
type WorkflowRunResult struct {
Message string
Commands []WorkflowCommand
}
type WorkflowRunner ¶
type WorkflowRunner interface {
Run(ctx context.Context, req WorkflowRunRequest) (WorkflowRunResult, error)
}
Click to show internal directories.
Click to hide internal directories.