~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
57 lines · 706 B Raw History
package policy

import (
	"context"
	"encoding/json"
	"time"

	commonv1 "github.com/johnandersen777/socialweb-computer-kcp/api/common/v1alpha1"
)

type EvaluationInput struct {
	Perspective string

	Mode string

	SelfDid string

	SubjectDid string

	CounterpartyDid string

	RootRequesterDid string

	RFP *commonv1.StrongRef

	Bid *commonv1.StrongRef

	Accept *commonv1.StrongRef
}

type Evaluation struct {
	WorkflowRef string

	Workflow json.RawMessage

	Source string

	Input EvaluationInput

	Timeout time.Duration
}

type Verdict struct {
	Allow bool

	Violations []string

	Reason string

	Run string

	Completed bool
}

type Evaluator interface {
	Run(ctx context.Context, req Evaluation) Verdict
}