74 lines
1.9 KiB
Go
74 lines
1.9 KiB
Go
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
|
|
}
|