87 lines
3.3 KiB
Go
87 lines
3.3 KiB
Go
package work
|
|
|
|
import (
|
|
"time"
|
|
|
|
"git.cin.su/m/Assistant/contracts/authority"
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
)
|
|
|
|
type AgentLeaseID string
|
|
type AgentFencingToken uint64
|
|
type AgentLeaseState string
|
|
|
|
const (
|
|
AgentLeaseActive AgentLeaseState = "ACTIVE"
|
|
AgentLeaseExpired AgentLeaseState = "EXPIRED"
|
|
)
|
|
|
|
type AgentLease struct {
|
|
ID AgentLeaseID
|
|
RunID AgentRunID
|
|
WorkerID string
|
|
FencingToken AgentFencingToken
|
|
State AgentLeaseState
|
|
AcquiredAt time.Time
|
|
ExpiresAt time.Time
|
|
}
|
|
|
|
type AgentCallbackKind string
|
|
|
|
const (
|
|
AgentCallbackHeartbeat AgentCallbackKind = "HEARTBEAT"
|
|
AgentCallbackCheckpoint AgentCallbackKind = "CHECKPOINT"
|
|
AgentCallbackResult AgentCallbackKind = "RESULT"
|
|
AgentCallbackCancelAcknowledged AgentCallbackKind = "CANCEL_ACKNOWLEDGED"
|
|
)
|
|
|
|
type AgentCallback struct {
|
|
RunID AgentRunID
|
|
WorkerID string
|
|
FencingToken AgentFencingToken
|
|
Sequence uint64
|
|
Kind AgentCallbackKind
|
|
ObservedAt time.Time
|
|
}
|
|
|
|
type IndependentVerification struct {
|
|
ProducerRunID AgentRunID
|
|
VerifierRunID AgentRunID
|
|
VerifierIdentity string
|
|
ArtifactID string
|
|
TestEvidenceRef string
|
|
Verified bool
|
|
Summary string
|
|
}
|
|
|
|
type AgentDispatchIntent struct {
|
|
DispatchID string `json:"dispatch_id"`
|
|
IdempotencyKey string `json:"idempotency_key"`
|
|
DelegationID DelegationID `json:"delegation_id"`
|
|
RunID AgentRunID `json:"run_id"`
|
|
ImplementationID string `json:"implementation_id"`
|
|
ImplementationRevision int64 `json:"implementation_revision"`
|
|
SourceRevision string `json:"source_revision"`
|
|
WorktreeID string `json:"worktree_id"`
|
|
VerificationPlanRef string `json:"verification_plan_ref"`
|
|
CreatedAtUnixMillis int64 `json:"created_at_unix_millis"`
|
|
SpecialistPurpose string `json:"specialist_purpose,omitempty"`
|
|
TaskEvaluationProfileID capability.TaskEvaluationProfileID `json:"task_evaluation_profile_id,omitempty"`
|
|
TaskEvaluationBindingID capability.CapabilityBindingID `json:"task_evaluation_binding_id,omitempty"`
|
|
TaskEvaluationCaseIDs []string `json:"task_evaluation_case_ids,omitempty"`
|
|
TaskEvaluationProfile *capability.TaskEvaluationProfile `json:"task_evaluation_profile,omitempty"`
|
|
TaskEvaluationCases []capability.TaskEvaluationCase `json:"task_evaluation_cases,omitempty"`
|
|
TaskEvaluationExecution *TaskEvaluationDispatchContext `json:"task_evaluation_execution,omitempty"`
|
|
}
|
|
|
|
type TaskEvaluationDispatchContext struct {
|
|
GraphID string `json:"graph_id"`
|
|
GraphRevision int64 `json:"graph_revision"`
|
|
NodeID GraphNodeID `json:"node_id"`
|
|
BindingRevision int64 `json:"binding_revision"`
|
|
ActorID identity.ActorID `json:"actor_id"`
|
|
PrincipalID identity.PrincipalID `json:"principal_id"`
|
|
ScopeID authority.ScopeID `json:"scope_id"`
|
|
}
|