Documentation
¶
Index ¶
- Constants
- func ApplyToolConstraints(names []string, policy NormalizedToolPolicy) []string
- func ApplyToolPolicy(base []string, policy NormalizedToolPolicy) []string
- func BuildTaskPrompt(task BoardTask, projectID string, profile WorkerProfile) string
- func BuiltinWorkerProfiles() map[string]WorkerProfile
- func CronPromptContext(workspaceDir string, item Project) string
- func KnownToolGroups(known map[string]struct{}) map[string][]string
- func ProjectPromptContext(item Project) string
- func RenderPromptContext(item Project, opts PromptContextOptions) string
- type Activity
- type ActivityAppendInput
- type AutopilotManager
- func (m *AutopilotManager) Advance(ctx context.Context, projectID string) (PhaseSnapshot, error)
- func (m *AutopilotManager) Current(projectID string) (PhaseSnapshot, bool)
- func (m *AutopilotManager) EnsureActiveRuns(ctx context.Context) (int, error)
- func (m *AutopilotManager) Escalate(projectID string, reason string) error
- func (m *AutopilotManager) IsRunning(projectID string) bool
- func (m *AutopilotManager) RestorePersistedRuns() error
- func (m *AutopilotManager) Start(_ context.Context, projectID string) (AutopilotRun, error)
- func (m *AutopilotManager) Status(projectID string) (AutopilotRun, bool)
- type AutopilotRun
- type AutopilotRunStatus
- type Board
- type BoardTask
- type BoardUpdateInput
- type Brief
- type BriefUpdateInput
- type CreateInput
- type DispatchReport
- type GitHubAuthChecker
- type NormalizedToolPolicy
- type Orchestrator
- type PhaseEngine
- type PhaseName
- type PhaseSnapshot
- type PhaseStatus
- type Project
- type ProjectState
- type ProjectStateUpdateInput
- type PromptContextOptions
- type Store
- func (s *Store) ActivityPath(projectID string) string
- func (s *Store) AppendActivity(projectID string, input ActivityAppendInput) (Activity, error)
- func (s *Store) Archive(id string) (Project, error)
- func (s *Store) BoardPath(projectID string) string
- func (s *Store) BriefPath(id string) string
- func (s *Store) Create(input CreateInput) (Project, error)
- func (s *Store) Delete(id string) error
- func (s *Store) DeleteAll() (int, error)
- func (s *Store) FinalizeBrief(id string, sessionStore *session.Store) (Project, Brief, error)
- func (s *Store) Get(id string) (Project, error)
- func (s *Store) GetBoard(projectID string) (Board, error)
- func (s *Store) GetBrief(id string) (Brief, error)
- func (s *Store) GetState(projectID string) (ProjectState, error)
- func (s *Store) List() ([]Project, error)
- func (s *Store) ListActivity(projectID string, limit int) ([]Activity, error)
- func (s *Store) ListRecentActivity(projectID string) ([]Activity, error)
- func (s *Store) ProjectFilePath(projectID, name string) string
- func (s *Store) StatePath(projectID string) string
- func (s *Store) Update(id string, input UpdateInput) (Project, error)
- func (s *Store) UpdateBoard(projectID string, input BoardUpdateInput) (Board, error)
- func (s *Store) UpdateBrief(id string, input BriefUpdateInput) (Brief, error)
- func (s *Store) UpdateState(projectID string, input ProjectStateUpdateInput) (ProjectState, error)
- type TaskReport
- type TaskRun
- type TaskRunRequest
- type TaskRunStatus
- type TaskRunner
- type ToolPolicyOptions
- type ToolPolicySpec
- type UpdateInput
- type UpdatePayload
- type WorkerProfile
- type WorkflowExecutionPolicy
- type WorkflowPolicy
- func (WorkflowPolicy) AllBoardTasksDone(board Board) bool
- func (WorkflowPolicy) AutopilotBlockedState(message string, nextAction string) workflowStateUpdate
- func (WorkflowPolicy) AutopilotCompletedState(message string) workflowStateUpdate
- func (WorkflowPolicy) AutopilotDispatchState(stage string) (workflowStateUpdate, bool)
- func (WorkflowPolicy) AutopilotFailedState(message string) workflowStateUpdate
- func (WorkflowPolicy) AutopilotPlanningRequiredState(message string, nextAction string) workflowStateUpdate
- func (WorkflowPolicy) AutopilotRecoveredState(message string) workflowStateUpdate
- func (WorkflowPolicy) BoardHasStatus(board Board, status string) bool
- func (p WorkflowPolicy) DefaultProjectNextAction(brief Brief) string
- func (p WorkflowPolicy) DefaultProjectState(projectID string) ProjectState
- func (WorkflowPolicy) FilterDispatchableTasks(status string, tasks []BoardTask) []BoardTask
- func (WorkflowPolicy) FirstTaskByStatus(board Board, status string) (BoardTask, bool)
- func (p WorkflowPolicy) HasActiveBriefStatus(status string) bool
- func (p WorkflowPolicy) InitialProjectState(brief Brief) workflowStateUpdate
- func (WorkflowPolicy) IsKickoffMessage(message string) bool
- func (WorkflowPolicy) NormalizeBriefStatus(raw string) string
- func (WorkflowPolicy) NormalizeDispatchStage(raw string) (string, bool)
- func (WorkflowPolicy) NormalizeProjectStatePhase(raw string) string
- func (WorkflowPolicy) NormalizeProjectStateStatus(raw string) string
- func (p WorkflowPolicy) ProjectStateSummary(item Project, state *ProjectState) (status, phase, nextAction string)
- func (WorkflowPolicy) RecoverStalledTasks(tasks []BoardTask) ([]BoardTask, []string, bool)
- func (p WorkflowPolicy) ShouldAutopilotRun(item Project, board Board, state *ProjectState) bool
- type WorkflowRule
- type WorkflowRuntimePolicy
Constants ¶
View Source
const ( ActivitySourceSystem = "system" ActivitySourcePM = "pm" ActivitySourceAgent = "agent" )
View Source
const ( ActivityKindAssignment = "assignment" ActivityKindAgentReport = "agent_report" ActivityKindBlocker = "blocker" ActivityKindDecision = "decision" ActivityKindReplan = "replan" ActivityKindTaskStatus = "task_status" ActivityKindProjectCreated = "project_created" ActivityKindProjectUpdated = "project_updated" ActivityKindProjectArchived = "project_archived" ActivityKindStateChanged = "state_changed" ActivityKindBoardTaskCreated = "board_task_created" ActivityKindBoardTaskUpdated = "board_task_updated" ActivityKindBranchStatus = "branch_status" ActivityKindReviewStatus = "review_status" ActivityKindTestStatus = "test_status" ActivityKindBuildStatus = "build_status" ActivityKindIssueStatus = "issue_status" ActivityKindPRStatus = "pr_status" )
View Source
const ( WorkerKindDefault = "default" WorkerKindCodexCLI = "codex-cli" WorkerKindClaudeCode = "claude-code" )
Variables ¶
This section is empty.
Functions ¶
func ApplyToolConstraints ¶
func ApplyToolConstraints(names []string, policy NormalizedToolPolicy) []string
func ApplyToolPolicy ¶
func ApplyToolPolicy(base []string, policy NormalizedToolPolicy) []string
func BuildTaskPrompt ¶ added in v0.3.0
func BuildTaskPrompt(task BoardTask, projectID string, profile WorkerProfile) string
func BuiltinWorkerProfiles ¶ added in v0.3.0
func BuiltinWorkerProfiles() map[string]WorkerProfile
func CronPromptContext ¶
func KnownToolGroups ¶
func ProjectPromptContext ¶
func RenderPromptContext ¶
func RenderPromptContext(item Project, opts PromptContextOptions) string
Types ¶
type Activity ¶ added in v0.3.0
type Activity struct {
ID string `json:"id"`
ProjectID string `json:"project_id"`
TaskID string `json:"task_id,omitempty"`
Source string `json:"source"`
Agent string `json:"agent,omitempty"`
Kind string `json:"kind"`
Status string `json:"status,omitempty"`
Message string `json:"message,omitempty"`
Timestamp string `json:"timestamp"`
Meta map[string]string `json:"meta,omitempty"`
}
type ActivityAppendInput ¶ added in v0.3.0
type AutopilotManager ¶ added in v0.4.0
type AutopilotManager struct {
// contains filtered or unexported fields
}
func NewAutopilotManager ¶ added in v0.4.0
func NewAutopilotManager( store *Store, runner TaskRunner, checker GitHubAuthChecker, notify func(projectID string, kind string), ) *AutopilotManager
func (*AutopilotManager) Advance ¶ added in v0.12.0
func (m *AutopilotManager) Advance(ctx context.Context, projectID string) (PhaseSnapshot, error)
func (*AutopilotManager) Current ¶ added in v0.12.0
func (m *AutopilotManager) Current(projectID string) (PhaseSnapshot, bool)
func (*AutopilotManager) EnsureActiveRuns ¶ added in v0.5.11
func (m *AutopilotManager) EnsureActiveRuns(ctx context.Context) (int, error)
func (*AutopilotManager) Escalate ¶ added in v0.12.0
func (m *AutopilotManager) Escalate(projectID string, reason string) error
func (*AutopilotManager) IsRunning ¶ added in v0.5.11
func (m *AutopilotManager) IsRunning(projectID string) bool
func (*AutopilotManager) RestorePersistedRuns ¶ added in v0.5.7
func (m *AutopilotManager) RestorePersistedRuns() error
func (*AutopilotManager) Start ¶ added in v0.4.0
func (m *AutopilotManager) Start(_ context.Context, projectID string) (AutopilotRun, error)
func (*AutopilotManager) Status ¶ added in v0.4.0
func (m *AutopilotManager) Status(projectID string) (AutopilotRun, bool)
type AutopilotRun ¶ added in v0.4.0
type AutopilotRun struct {
ProjectID string `json:"project_id"`
RunID string `json:"run_id"`
Status AutopilotRunStatus `json:"status"`
Message string `json:"message,omitempty"`
Iterations int `json:"iterations"`
StartedAt string `json:"started_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
FinishedAt string `json:"finished_at,omitempty"`
}
type AutopilotRunStatus ¶ added in v0.4.0
type AutopilotRunStatus string
const ( AutopilotStatusRunning AutopilotRunStatus = "running" AutopilotStatusDone AutopilotRunStatus = "done" AutopilotStatusBlocked AutopilotRunStatus = "blocked" AutopilotStatusFailed AutopilotRunStatus = "failed" )
type Board ¶ added in v0.3.0
type Board struct {
ProjectID string `json:"project_id" yaml:"project_id"`
UpdatedAt string `json:"updated_at,omitempty" yaml:"updated_at,omitempty"`
Columns []string `json:"columns" yaml:"columns"`
Tasks []BoardTask `json:"tasks,omitempty" yaml:"tasks,omitempty"`
Path string `json:"path,omitempty" yaml:"-"`
}
type BoardTask ¶ added in v0.3.0
type BoardTask struct {
ID string `json:"id" yaml:"id"`
Title string `json:"title" yaml:"title"`
Status string `json:"status" yaml:"status"`
Assignee string `json:"assignee,omitempty" yaml:"assignee,omitempty"`
Role string `json:"role,omitempty" yaml:"role,omitempty"`
WorkerKind string `json:"worker_kind,omitempty" yaml:"worker_kind,omitempty"`
Issue string `json:"issue,omitempty" yaml:"issue,omitempty"`
Branch string `json:"branch,omitempty" yaml:"branch,omitempty"`
PR string `json:"pr,omitempty" yaml:"pr,omitempty"`
ReviewApprovedBy string `json:"review_approved_by,omitempty" yaml:"review_approved_by,omitempty"`
ReviewRequired bool `json:"review_required,omitempty" yaml:"review_required,omitempty"`
TestCommand string `json:"test_command,omitempty" yaml:"test_command,omitempty"`
BuildCommand string `json:"build_command,omitempty" yaml:"build_command,omitempty"`
}
type BoardUpdateInput ¶ added in v0.3.0
type Brief ¶
type Brief struct {
ID string `json:"id"`
Title string `json:"title,omitempty"`
Goal string `json:"goal,omitempty"`
Kind string `json:"kind,omitempty"`
Genre string `json:"genre,omitempty"`
TargetLength string `json:"target_length,omitempty"`
Cadence string `json:"cadence,omitempty"`
TargetInstallments string `json:"target_installments,omitempty"`
Premise string `json:"premise,omitempty"`
PlotSeed string `json:"plot_seed,omitempty"`
StylePreferences string `json:"style_preferences,omitempty"`
Constraints []string `json:"constraints,omitempty"`
MustHave []string `json:"must_have,omitempty"`
MustAvoid []string `json:"must_avoid,omitempty"`
OpenQuestions []string `json:"open_questions,omitempty"`
Decisions []string `json:"decisions,omitempty"`
Status string `json:"status,omitempty"`
Summary string `json:"summary,omitempty"`
Body string `json:"body,omitempty"`
Path string `json:"path,omitempty"`
}
type BriefUpdateInput ¶
type BriefUpdateInput struct {
Title *string
Goal *string
Kind *string
Genre *string
TargetLength *string
Cadence *string
TargetInstallments *string
Premise *string
PlotSeed *string
StylePreferences *string
Constraints []string
MustHave []string
MustAvoid []string
OpenQuestions []string
Decisions []string
Status *string
Summary *string
Body *string
}
type CreateInput ¶
type DispatchReport ¶ added in v0.3.0
type GitHubAuthChecker ¶ added in v0.3.0
func DefaultGitHubAuthChecker ¶ added in v0.4.0
func DefaultGitHubAuthChecker() GitHubAuthChecker
type NormalizedToolPolicy ¶
type NormalizedToolPolicy struct {
ToolsAllow []string
ToolsAllowGroups []string
ToolsAllowPatterns []string
ToolsDeny []string
ToolsRiskMax string
AllowedTools []string
UnknownTools []string
UnknownGroups []string
InvalidPatterns []string
UnknownDeny []string
InvalidRiskMax bool
HasAllowSource bool
HasPolicy bool
}
func NormalizeToolPolicy ¶
func NormalizeToolPolicy(spec ToolPolicySpec, known map[string]struct{}, opts ToolPolicyOptions) NormalizedToolPolicy
type Orchestrator ¶ added in v0.3.0
type Orchestrator struct {
// contains filtered or unexported fields
}
func NewOrchestrator ¶ added in v0.3.0
func NewOrchestrator(store *Store, runner TaskRunner) *Orchestrator
func NewOrchestratorWithGitHubAuthChecker ¶ added in v0.3.0
func NewOrchestratorWithGitHubAuthChecker(store *Store, runner TaskRunner, checker GitHubAuthChecker) *Orchestrator
func (*Orchestrator) DispatchReview ¶ added in v0.3.0
func (o *Orchestrator) DispatchReview(ctx context.Context, projectID string) (DispatchReport, error)
func (*Orchestrator) DispatchTodo ¶ added in v0.3.0
func (o *Orchestrator) DispatchTodo(ctx context.Context, projectID string) (DispatchReport, error)
type PhaseEngine ¶ added in v0.12.0
type PhaseSnapshot ¶ added in v0.12.0
type PhaseSnapshot struct {
ProjectID string `json:"project_id"`
Name PhaseName `json:"name"`
Status PhaseStatus `json:"status"`
NextAction string `json:"next_action,omitempty"`
Summary string `json:"summary,omitempty"`
Message string `json:"message,omitempty"`
RunStatus AutopilotRunStatus `json:"run_status,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
type PhaseStatus ¶ added in v0.12.0
type PhaseStatus string
const ( PhaseStatusActive PhaseStatus = "active" PhaseStatusPaused PhaseStatus = "paused" PhaseStatusBlocked PhaseStatus = "blocked" PhaseStatusDone PhaseStatus = "done" )
type Project ¶
type Project struct {
ID string `json:"id" yaml:"id"`
Name string `json:"name" yaml:"name"`
Type string `json:"type" yaml:"type"`
Status string `json:"status" yaml:"status"`
GitRepo string `json:"git_repo,omitempty" yaml:"git_repo,omitempty"`
CreatedAt string `json:"created_at" yaml:"created_at"`
UpdatedAt string `json:"updated_at" yaml:"updated_at"`
Objective string `json:"objective,omitempty" yaml:"objective,omitempty"`
ToolsAllow []string `json:"tools_allow,omitempty" yaml:"tools_allow,omitempty"`
ToolsAllowGroups []string `json:"tools_allow_groups,omitempty" yaml:"tools_allow_groups,omitempty"`
ToolsAllowPatterns []string `json:"tools_allow_patterns,omitempty" yaml:"tools_allow_patterns,omitempty"`
ToolsDeny []string `json:"tools_deny,omitempty" yaml:"tools_deny,omitempty"`
ToolsRiskMax string `json:"tools_risk_max,omitempty" yaml:"tools_risk_max,omitempty"`
SkillsAllow []string `json:"skills_allow,omitempty" yaml:"skills_allow,omitempty"`
WorkflowProfile string `json:"workflow_profile,omitempty" yaml:"workflow_profile,omitempty"`
WorkflowRules []WorkflowRule `json:"workflow_rules,omitempty" yaml:"workflow_rules,omitempty"`
MCPServers []string `json:"mcp_servers,omitempty" yaml:"mcp_servers,omitempty"`
SecretsRefs []string `json:"secrets_refs,omitempty" yaml:"secrets_refs,omitempty"`
Body string `json:"body,omitempty" yaml:"-"`
Path string `json:"path,omitempty" yaml:"-"`
}
type ProjectState ¶
type ProjectState struct {
ProjectID string `json:"project_id"`
Goal string `json:"goal,omitempty"`
Phase string `json:"phase,omitempty"`
Status string `json:"status,omitempty"`
NextAction string `json:"next_action,omitempty"`
RemainingTasks []string `json:"remaining_tasks,omitempty"`
CompletionSummary string `json:"completion_summary,omitempty"`
LastRunSummary string `json:"last_run_summary,omitempty"`
LastRunAt string `json:"last_run_at,omitempty"`
StopReason string `json:"stop_reason,omitempty"`
Body string `json:"body,omitempty"`
Path string `json:"path,omitempty"`
}
type ProjectStateUpdateInput ¶
type PromptContextOptions ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) ActivityPath ¶ added in v0.3.0
func (*Store) AppendActivity ¶ added in v0.3.0
func (s *Store) AppendActivity(projectID string, input ActivityAppendInput) (Activity, error)
func (*Store) DeleteAll ¶ added in v0.14.0
DeleteAll permanently removes all project directories from disk.
func (*Store) FinalizeBrief ¶
func (*Store) ListActivity ¶ added in v0.3.0
func (*Store) ListRecentActivity ¶ added in v0.3.0
func (*Store) ProjectFilePath ¶
func (*Store) UpdateBoard ¶ added in v0.3.0
func (s *Store) UpdateBoard(projectID string, input BoardUpdateInput) (Board, error)
func (*Store) UpdateBrief ¶
func (s *Store) UpdateBrief(id string, input BriefUpdateInput) (Brief, error)
func (*Store) UpdateState ¶
func (s *Store) UpdateState(projectID string, input ProjectStateUpdateInput) (ProjectState, error)
type TaskReport ¶ added in v0.3.0
type TaskReport struct {
Status string
Summary string
Tests string
Build string
Issue string
Branch string
PR string
Notes string
}
func ParseTaskReport ¶ added in v0.3.0
func ParseTaskReport(raw string) TaskReport
type TaskRunRequest ¶ added in v0.3.0
type TaskRunStatus ¶ added in v0.3.0
type TaskRunStatus string
const ( TaskRunStatusAccepted TaskRunStatus = "accepted" TaskRunStatusRunning TaskRunStatus = "running" TaskRunStatusCompleted TaskRunStatus = "completed" TaskRunStatusFailed TaskRunStatus = "failed" TaskRunStatusCanceled TaskRunStatus = "canceled" )
type TaskRunner ¶ added in v0.3.0
type ToolPolicyOptions ¶
type ToolPolicyOptions struct {
ExpandAllKnownWhenPolicyWithoutAllowSource bool
}
type ToolPolicySpec ¶
type ToolPolicySpec struct {
ToolsAllow []string
ToolsAllowExists bool
ToolsAllowGroups []string
ToolsAllowGroupsExists bool
ToolsAllowPatterns []string
ToolsAllowPatternsExists bool
ToolsDeny []string
ToolsDenyExists bool
ToolsRiskMax string
ToolsRiskMaxExists bool
}
func (ToolPolicySpec) HasAllowSource ¶
func (s ToolPolicySpec) HasAllowSource() bool
func (ToolPolicySpec) HasPolicy ¶
func (s ToolPolicySpec) HasPolicy() bool
type UpdateInput ¶
type UpdateInput struct {
Name *string
Type *string
Status *string
GitRepo *string
Objective *string
Instructions *string
ToolsAllow []string
ToolsAllowGroups []string
ToolsAllowPatterns []string
ToolsDeny []string
ToolsRiskMax *string
SkillsAllow []string
WorkflowProfile *string
WorkflowRules []WorkflowRule
MCPServers []string
SecretsRefs []string
}
type UpdatePayload ¶
type UpdatePayload struct {
ProjectID string `json:"project_id,omitempty"`
Name *string `json:"name,omitempty"`
Type *string `json:"type,omitempty"`
Status *string `json:"status,omitempty"`
GitRepo *string `json:"git_repo,omitempty"`
Objective *string `json:"objective,omitempty"`
Instructions *string `json:"instructions,omitempty"`
ToolsAllow []string `json:"tools_allow,omitempty"`
ToolsAllowGroups []string `json:"tools_allow_groups,omitempty"`
ToolsAllowPatterns []string `json:"tools_allow_patterns,omitempty"`
ToolsDeny []string `json:"tools_deny,omitempty"`
ToolsRiskMax *string `json:"tools_risk_max,omitempty"`
SkillsAllow []string `json:"skills_allow,omitempty"`
WorkflowProfile *string `json:"workflow_profile,omitempty"`
WorkflowRules []WorkflowRule `json:"workflow_rules,omitempty"`
MCPServers []string `json:"mcp_servers,omitempty"`
SecretsRefs []string `json:"secrets_refs,omitempty"`
}
func (UpdatePayload) ToUpdateInput ¶
func (p UpdatePayload) ToUpdateInput() UpdateInput
type WorkerProfile ¶ added in v0.3.0
type WorkerProfile struct {
Kind string
ExecutorName string
Command string
Args []string
Description string
}
func ResolveWorkerProfile ¶ added in v0.3.0
func ResolveWorkerProfile(task BoardTask) (WorkerProfile, error)
func ResolveWorkerProfileForProject ¶ added in v0.12.0
func ResolveWorkerProfileForProject(project Project, task BoardTask) (WorkerProfile, error)
type WorkflowExecutionPolicy ¶ added in v0.12.0
type WorkflowExecutionPolicy struct {
Profile string
DefaultWorkerKind string
ReviewWorkerKind string
RequireGitHubAuth bool
RequireTests bool
RequireBuild bool
RequireIssue bool
RequireBranch bool
RequirePR bool
}
func ResolveWorkflowExecutionPolicy ¶ added in v0.12.0
func ResolveWorkflowExecutionPolicy(project Project) WorkflowExecutionPolicy
type WorkflowPolicy ¶ added in v0.6.0
type WorkflowPolicy struct{}
var DefaultWorkflowPolicy WorkflowPolicy
func (WorkflowPolicy) AllBoardTasksDone ¶ added in v0.6.0
func (WorkflowPolicy) AllBoardTasksDone(board Board) bool
func (WorkflowPolicy) AutopilotBlockedState ¶ added in v0.6.0
func (WorkflowPolicy) AutopilotBlockedState(message string, nextAction string) workflowStateUpdate
func (WorkflowPolicy) AutopilotCompletedState ¶ added in v0.6.0
func (WorkflowPolicy) AutopilotCompletedState(message string) workflowStateUpdate
func (WorkflowPolicy) AutopilotDispatchState ¶ added in v0.6.0
func (WorkflowPolicy) AutopilotDispatchState(stage string) (workflowStateUpdate, bool)
func (WorkflowPolicy) AutopilotFailedState ¶ added in v0.6.0
func (WorkflowPolicy) AutopilotFailedState(message string) workflowStateUpdate
func (WorkflowPolicy) AutopilotPlanningRequiredState ¶ added in v0.12.0
func (WorkflowPolicy) AutopilotPlanningRequiredState(message string, nextAction string) workflowStateUpdate
func (WorkflowPolicy) AutopilotRecoveredState ¶ added in v0.6.0
func (WorkflowPolicy) AutopilotRecoveredState(message string) workflowStateUpdate
func (WorkflowPolicy) BoardHasStatus ¶ added in v0.6.0
func (WorkflowPolicy) BoardHasStatus(board Board, status string) bool
func (WorkflowPolicy) DefaultProjectNextAction ¶ added in v0.6.0
func (p WorkflowPolicy) DefaultProjectNextAction(brief Brief) string
func (WorkflowPolicy) DefaultProjectState ¶ added in v0.6.0
func (p WorkflowPolicy) DefaultProjectState(projectID string) ProjectState
func (WorkflowPolicy) FilterDispatchableTasks ¶ added in v0.6.0
func (WorkflowPolicy) FilterDispatchableTasks(status string, tasks []BoardTask) []BoardTask
func (WorkflowPolicy) FirstTaskByStatus ¶ added in v0.6.0
func (WorkflowPolicy) FirstTaskByStatus(board Board, status string) (BoardTask, bool)
func (WorkflowPolicy) HasActiveBriefStatus ¶ added in v0.6.0
func (p WorkflowPolicy) HasActiveBriefStatus(status string) bool
func (WorkflowPolicy) InitialProjectState ¶ added in v0.6.0
func (p WorkflowPolicy) InitialProjectState(brief Brief) workflowStateUpdate
func (WorkflowPolicy) IsKickoffMessage ¶ added in v0.6.0
func (WorkflowPolicy) IsKickoffMessage(message string) bool
func (WorkflowPolicy) NormalizeBriefStatus ¶ added in v0.6.0
func (WorkflowPolicy) NormalizeBriefStatus(raw string) string
func (WorkflowPolicy) NormalizeDispatchStage ¶ added in v0.6.0
func (WorkflowPolicy) NormalizeDispatchStage(raw string) (string, bool)
func (WorkflowPolicy) NormalizeProjectStatePhase ¶ added in v0.6.0
func (WorkflowPolicy) NormalizeProjectStatePhase(raw string) string
func (WorkflowPolicy) NormalizeProjectStateStatus ¶ added in v0.6.0
func (WorkflowPolicy) NormalizeProjectStateStatus(raw string) string
func (WorkflowPolicy) ProjectStateSummary ¶ added in v0.6.0
func (p WorkflowPolicy) ProjectStateSummary(item Project, state *ProjectState) (status, phase, nextAction string)
func (WorkflowPolicy) RecoverStalledTasks ¶ added in v0.6.0
func (WorkflowPolicy) RecoverStalledTasks(tasks []BoardTask) ([]BoardTask, []string, bool)
func (WorkflowPolicy) ShouldAutopilotRun ¶ added in v0.6.0
func (p WorkflowPolicy) ShouldAutopilotRun(item Project, board Board, state *ProjectState) bool
type WorkflowRule ¶ added in v0.12.0
type WorkflowRuntimePolicy ¶ added in v0.13.0
func ResolveWorkflowRuntimePolicy ¶ added in v0.13.0
func ResolveWorkflowRuntimePolicy(project Project) WorkflowRuntimePolicy
Source Files
¶
Click to show internal directories.
Click to hide internal directories.