taskstate

package
v0.7.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SchemaVersion     = 1
	FinalReviewPass   = "pass"
	FinalReviewFailed = "failed"
)
View Source
const (
	StepPending    = "pending"
	StepInProgress = "in_progress"
	StepCompleted  = "completed"
)

Variables

View Source
var ErrTaskNotFound = errors.New("task not found")

Functions

This section is empty.

Types

type Condition

type Condition struct {
	ID        string    `json:"id"`
	Text      string    `json:"text"`
	CreatedAt time.Time `json:"created_at"`
}

type Event

type Event struct {
	Type      string    `json:"type"`
	Summary   string    `json:"summary"`
	CreatedAt time.Time `json:"created_at"`
}

type FinalReview

type FinalReview struct {
	Status        string    `json:"status"`
	Summary       string    `json:"summary"`
	VerifiedFacts []string  `json:"verified_facts,omitempty"`
	OpenRisks     []string  `json:"open_risks,omitempty"`
	MissingChecks []string  `json:"missing_checks,omitempty"`
	ReviewedAt    time.Time `json:"reviewed_at"`
}

type FinalReviewInput

type FinalReviewInput struct {
	Status        string   `json:"status"`
	Summary       string   `json:"summary"`
	VerifiedFacts []string `json:"verified_facts,omitempty"`
	OpenRisks     []string `json:"open_risks,omitempty"`
	MissingChecks []string `json:"missing_checks,omitempty"`
}

type MatchRule

type MatchRule struct {
	Keywords []string `json:"keywords,omitempty"`
	Devices  []string `json:"devices,omitempty"`
	Type     string   `json:"type,omitempty"`
}

type Phase

type Phase string
const (
	PhaseCheck    Phase = "check"
	PhaseExecute  Phase = "execute"
	PhaseVerify   Phase = "verify"
	PhaseCloseout Phase = "closeout"
)

type Status

type Status string
const (
	StatusActive    Status = "active"
	StatusBlocked   Status = "blocked"
	StatusCompleted Status = "completed"
)

type Store

type Store struct {
	// contains filtered or unexported fields
}

func New

func New(root string) (*Store, error)

func (*Store) BatchCheckpoint

func (s *Store) BatchCheckpoint(id string, completedStepIDs []string, currentStepID, summary string) (Task, error)

func (*Store) Block

func (s *Store) Block(id, summary string) (Task, error)

func (*Store) Checkpoint

func (s *Store) Checkpoint(id, stepID, status, summary string) (Task, error)

func (*Store) Complete

func (s *Store) Complete(id string) (Task, error)

func (*Store) Create

func (s *Store) Create(title, goal string, conditionTexts []string, steps []TaskStepInput, sourceTemplates []TemplateReference) (Task, error)

func (*Store) Delete

func (s *Store) Delete(id string) (Task, error)

func (*Store) FinalReview

func (s *Store) FinalReview(id string, input FinalReviewInput) (Task, error)

func (*Store) Get

func (s *Store) Get(id string) (Task, error)

func (*Store) List

func (s *Store) List(status Status, limit int) ([]Task, error)

func (*Store) Resume

func (s *Store) Resume(id, summary string) (Task, error)

func (*Store) Root

func (s *Store) Root() string

type Task

type Task struct {
	SchemaVersion   int                 `json:"schema_version"`
	ID              string              `json:"id"`
	Title           string              `json:"title"`
	Goal            string              `json:"goal"`
	Status          Status              `json:"status"`
	Phase           Phase               `json:"phase"`
	Conditions      []Condition         `json:"conditions"`
	Template        *TemplateSelection  `json:"template,omitempty"` // 仅用于读取旧任务状态。
	SourceTemplates []TemplateReference `json:"source_templates,omitempty"`
	Steps           []TaskStep          `json:"steps,omitempty"`
	Events          []Event             `json:"events"`
	Blocker         string              `json:"blocker,omitempty"`
	Summary         string              `json:"summary,omitempty"`
	FinalReview     *FinalReview        `json:"final_review,omitempty"`
	CreatedAt       time.Time           `json:"created_at"`
	UpdatedAt       time.Time           `json:"updated_at"`
	CompletedAt     *time.Time          `json:"completed_at,omitempty"`
}

type TaskStep

type TaskStep struct {
	ID        string    `json:"id"`
	Title     string    `json:"title"`
	Phase     Phase     `json:"phase"`
	Status    string    `json:"status"`
	UpdatedAt time.Time `json:"updated_at"`
}

type TaskStepInput

type TaskStepInput struct {
	ID    string `json:"id"`
	Title string `json:"title"`
	Phase Phase  `json:"phase,omitempty"`
}

type Template

type Template struct {
	ID                   string         `json:"id"`
	Version              string         `json:"version"`
	Title                string         `json:"title"`
	Description          string         `json:"description,omitempty"`
	Status               TemplateStatus `json:"status"`
	Match                MatchRule      `json:"match,omitempty"`
	CompletionConditions []string       `json:"completion_conditions"`
	Steps                []TemplateStep `json:"steps"`
	AllowLongTemplate    bool           `json:"allow_long_template,omitempty"`
	LongTemplateReason   string         `json:"long_template_reason,omitempty"`
	Hash                 string         `json:"hash,omitempty"`
	PublishedAt          *time.Time     `json:"published_at,omitempty"`
	RetiredAt            *time.Time     `json:"retired_at,omitempty"`
}

type TemplateCandidate

type TemplateCandidate struct {
	ID      string `json:"id"`
	Version string `json:"version"`
	Score   int    `json:"score"`
	Reason  string `json:"reason"`
}

type TemplateReference

type TemplateReference struct {
	ID      string `json:"id"`
	Version string `json:"version"`
	Hash    string `json:"hash,omitempty"`
}

type TemplateSelection

type TemplateSelection struct {
	ID             string              `json:"id"`
	Version        string              `json:"version"`
	Hash           string              `json:"hash"`
	SelectedReason string              `json:"selected_reason"`
	Candidates     []TemplateCandidate `json:"candidates,omitempty"`
}

type TemplateStatus

type TemplateStatus string
const (
	TemplateDraft   TemplateStatus = "draft"
	TemplateActive  TemplateStatus = "active"
	TemplateRetired TemplateStatus = "retired"
)

type TemplateStep

type TemplateStep struct {
	ID    string `json:"id"`
	Title string `json:"title"`
	Phase Phase  `json:"phase"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL