workers

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package workers coordinates local worker registrations and heartbeats.

Index

Constants

View Source
const (
	StartupTrustRequired           = "trust_required"
	StartupPromptMisdelivery       = "prompt_misdelivery"
	StartupPromptAcceptanceTimeout = "prompt_acceptance_timeout"
	StartupTransportDead           = "transport_dead"
	StartupWorkerCrashed           = "worker_crashed"
	StartupUnknown                 = "unknown"
)

Variables

This section is empty.

Functions

func ClassifyStartupNoEvidence

func ClassifyStartupNoEvidence(evidence StartupEvidence) string

func StartupRecoveryActions

func StartupRecoveryActions(classification string, evidence StartupEvidence) []string

Types

type Event

type Event = laneevents.Event

type ReadySnapshot

type ReadySnapshot struct {
	WorkerID       string `json:"worker_id"`
	Status         string `json:"status"`
	ReadyForPrompt bool   `json:"ready_for_prompt"`
	TaskID         string `json:"task_id,omitempty"`
	TaskStatus     string `json:"task_status,omitempty"`
	LastError      string `json:"last_error,omitempty"`
}

type StartupEvidence

type StartupEvidence struct {
	LastLifecycleState    string        `json:"last_lifecycle_state"`
	LastLifecycleAt       time.Time     `json:"last_lifecycle_at"`
	PaneCommand           string        `json:"pane_command,omitempty"`
	PaneObservedAt        time.Time     `json:"pane_observed_at"`
	CommandStartedAt      time.Time     `json:"command_started_at"`
	PromptSentAt          *time.Time    `json:"prompt_sent_at,omitempty"`
	PromptAcceptanceState string        `json:"prompt_acceptance_state"`
	TrustPromptDetected   bool          `json:"trust_prompt_detected"`
	TransportHealthy      *bool         `json:"transport_healthy,omitempty"`
	TransportHealth       string        `json:"transport_health"`
	Transport             StartupHealth `json:"transport"`
	MCPHealthy            *bool         `json:"mcp_healthy,omitempty"`
	MCPHealth             string        `json:"mcp_health"`
	MCP                   StartupHealth `json:"mcp"`
	ElapsedSeconds        int64         `json:"elapsed_seconds"`
}

type StartupHealth

type StartupHealth struct {
	Name    string `json:"name"`
	Checked bool   `json:"checked"`
	Healthy *bool  `json:"healthy,omitempty"`
	Status  string `json:"status"`
	Source  string `json:"source"`
	Summary string `json:"summary"`
}

type StartupNoEvidenceReport

type StartupNoEvidenceReport struct {
	Kind           string          `json:"kind"`
	Classification string          `json:"classification"`
	Evidence       StartupEvidence `json:"evidence"`
	NextActions    []string        `json:"next_actions,omitempty"`
	CreatedAt      time.Time       `json:"created_at"`
}

type Store

type Store struct {
	ConfigHome string
}

func NewStore

func NewStore(configHome string) Store

func (Store) AwaitReady

func (s Store) AwaitReady(id string) (ReadySnapshot, error)

func (Store) Complete

func (s Store) Complete(id string, finishReason string, tokensOutput int64) (Worker, error)

func (Store) Create

func (s Store) Create(cwd string, trustedRoots []string, autoRecover bool) (Worker, error)

func (Store) Get

func (s Store) Get(id string) (Worker, error)

func (Store) List

func (s Store) List() ([]Worker, error)

func (Store) Observe

func (s Store) Observe(id string, screenText string) (Worker, error)

func (Store) ObserveStartupTimeout

func (s Store) ObserveStartupTimeout(id string, evidence StartupEvidence) (Worker, error)

func (Store) ResolveTrust

func (s Store) ResolveTrust(id string) (Worker, error)

func (Store) Restart

func (s Store) Restart(id string, taskID string) (Worker, error)

func (Store) Save

func (s Store) Save(worker Worker) error

func (Store) SendPrompt

func (s Store) SendPrompt(id string, prompt string, receipt *TaskReceipt, taskID string) (Worker, error)

func (Store) Terminate

func (s Store) Terminate(id string) (Worker, error)

type TaskReceipt

type TaskReceipt struct {
	Repo              string   `json:"repo"`
	TaskKind          string   `json:"task_kind"`
	SourceSurface     string   `json:"source_surface"`
	ExpectedArtifacts []string `json:"expected_artifacts,omitempty"`
	ObjectivePreview  string   `json:"objective_preview"`
}

type TerminalOutcome

type TerminalOutcome struct {
	Fingerprint             string    `json:"fingerprint"`
	LaneEvent               string    `json:"lane_event"`
	Type                    string    `json:"type"`
	Status                  string    `json:"status"`
	FinishReason            string    `json:"finish_reason,omitempty"`
	Sequence                int64     `json:"sequence"`
	DuplicateCount          int       `json:"duplicate_count"`
	MaterialDifferenceCount int       `json:"material_difference_count"`
	UpdatedAt               time.Time `json:"updated_at"`
}

type Worker

type Worker struct {
	ID                           string                   `json:"worker_id"`
	CWD                          string                   `json:"cwd"`
	TrustedRoots                 []string                 `json:"trusted_roots,omitempty"`
	AutoRecoverPromptMisdelivery bool                     `json:"auto_recover_prompt_misdelivery"`
	Status                       string                   `json:"status"`
	ReadyForPrompt               bool                     `json:"ready_for_prompt"`
	TrustResolved                bool                     `json:"trust_resolved"`
	TaskID                       string                   `json:"task_id,omitempty"`
	TaskStatus                   string                   `json:"task_status,omitempty"`
	TaskReceipt                  *TaskReceipt             `json:"task_receipt,omitempty"`
	LastError                    string                   `json:"last_error,omitempty"`
	StartupNoEvidence            *StartupNoEvidenceReport `json:"startup_no_evidence,omitempty"`
	Events                       []Event                  `json:"events,omitempty"`
	Terminal                     *TerminalOutcome         `json:"terminal,omitempty"`
	CreatedAt                    time.Time                `json:"created_at"`
	UpdatedAt                    time.Time                `json:"updated_at"`
}

Jump to

Keyboard shortcuts

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