Files
Assistant/contracts/work/bridge.go
T
m e935aadc94
CI / test (push) Failing after 20s
CI / test (pull_request) Failing after 18s
feat: connect agent worker to execution bridge
2026-08-22 15:53:44 +03:00

33 lines
1.3 KiB
Go

package work
import "time"
// AgentExecutionRequest is the serializable hand-off from the durable worker
// to an executor. The bridge receives the already-authorized dispatch context;
// it does not receive database credentials or ambient authority.
type AgentExecutionRequest struct {
Intent AgentDispatchIntent `json:"intent"`
WorkerID string `json:"worker_id"`
FencingToken AgentFencingToken `json:"fencing_token"`
LeaseExpiresAt time.Time `json:"lease_expires_at"`
}
type AgentExecutionState string
const (
AgentExecutionCompleted AgentExecutionState = "COMPLETED"
AgentExecutionWaiting AgentExecutionState = "WAITING"
AgentExecutionFailed AgentExecutionState = "FAILED"
)
// AgentExecutionResult is an acknowledgement of the external execution
// attempt. The worker persists it through the work owner before completing a
// dispatch, so a bridge timeout never becomes an unrecorded success.
type AgentExecutionResult struct {
State AgentExecutionState `json:"state"`
Summary string `json:"summary"`
OutcomeRef string `json:"outcome_ref"`
ArtifactRefs []string `json:"artifact_refs"`
ObservedAtUnixMillis int64 `json:"observed_at_unix_millis"`
}