package work type GraphNodeID string type GraphState string type GraphNodeState string const ( GraphDraft GraphState = "DRAFT" GraphAdmitted GraphState = "ADMITTED" GraphRunning GraphState = "RUNNING" GraphPartial GraphState = "PARTIAL" GraphVerifying GraphState = "VERIFYING" GraphCompleted GraphState = "COMPLETED" GraphFailed GraphState = "FAILED" GraphUnknown GraphState = "UNKNOWN" GraphNodeBlocked GraphNodeState = "BLOCKED_PREREQUISITE" GraphNodeReady GraphNodeState = "READY" GraphNodeLeased GraphNodeState = "LEASED" GraphNodeRunning GraphNodeState = "RUNNING" GraphNodeSuccess GraphNodeState = "SUCCEEDED" GraphNodeFailed GraphNodeState = "FAILED" GraphNodeCancel GraphNodeState = "CANCELLED" GraphNodeUnknown GraphNodeState = "UNKNOWN" ) type GraphBudget struct { MaxParallel int `json:"max_parallel"` MaxAttempts int `json:"max_attempts"` } type GraphNode struct { ID GraphNodeID `json:"id"` DispatchID string `json:"dispatch_id"` IdempotencyKey string `json:"idempotency_key"` State GraphNodeState `json:"state"` Attempts int `json:"attempts"` } type GraphEdge struct { From GraphNodeID `json:"from"` To GraphNodeID `json:"to"` } type WorkGraph struct { ID string `json:"id"` Revision int64 `json:"revision"` State GraphState `json:"state"` Nodes []GraphNode `json:"nodes"` Edges []GraphEdge `json:"edges"` Budget GraphBudget `json:"budget"` } type ResultCandidate struct { ID string GraphID string GraphRevision int64 NodeID GraphNodeID AuthorRunID AgentRunID ArtifactRefs []EvidenceRef EvidenceSummary string Summary string } type ConflictSet struct { ID string GraphID string GraphRevision int64 NodeID GraphNodeID CandidateIDs []string Resolved bool }