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"` }