protocol

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SoftwareAgentSignaturePrefix   = "software-agent:"
	SoftwareRouterSignaturePrefix  = "software-router:"
	CredentialProofSignaturePrefix = "credential-hmac-sha256:"
)
View Source
const MaxRuntimeResultPreviewBytes = 16 * 1024
View Source
const NetworkAuditMaxLabels = 32
View Source
const NetworkAuditProtocolVersion = Version
View Source
const NetworkAuditRefKeyEpoch = "network-audit-ref-v1"
View Source
const Version = "compute.v1alpha1"

Variables

This section is empty.

Functions

func CanonicalHash

func CanonicalHash(value any) string

func CredentialEdgeSignature

func CredentialEdgeSignature(receipt EdgeRequestReceipt, tokenProofKey string) string

func CredentialProofSignature

func CredentialProofSignature(receipt ProofReceipt, tokenProofKey string) string

func CredentialServiceSignature

func CredentialServiceSignature(receipt ServiceReceipt, tokenProofKey string) string

func ExecutionTierSupportsResourceLimits

func ExecutionTierSupportsResourceLimits(tier ExecutionSecurityTier) bool

func ExecutorCapabilitiesHaveResourceConstrainedMatch

func ExecutorCapabilitiesHaveResourceConstrainedMatch(req PlacementRequirements, caps ExecutorCapabilities) bool

func ExecutorCapabilitiesHaveSupportedMatch

func ExecutorCapabilitiesHaveSupportedMatch(req PlacementRequirements, caps PlacementRequirementCapabilities) bool

func ExecutorMatchesPlacementRequirements

func ExecutorMatchesPlacementRequirements(executor ExecutorRef, req PlacementRequirements) bool

func HardwareCapabilitiesSatisfyPlacementRequirements

func HardwareCapabilitiesSatisfyPlacementRequirements(req PlacementRequirements, caps HardwarePlacementCapabilities) bool

func NetworkAuditDescriptorDigest added in v0.2.0

func NetworkAuditDescriptorDigest() string

func NetworkAuditDescriptorSet added in v0.2.0

func NetworkAuditDescriptorSet() *descriptorpb.FileDescriptorSet

func PlacementRequiresVerifiedHardwareAttestation

func PlacementRequiresVerifiedHardwareAttestation(req PlacementRequirements) bool

func ProjectNetworkAuditDestination added in v0.2.0

func ProjectNetworkAuditDestination(raw string) (NetworkAuditDestination, []NetworkAuditValidationIssue)

func ProjectNetworkAuditID added in v0.2.0

func ProjectNetworkAuditID(components ...string) (string, error)

func ProjectNetworkAuditLifecycle added in v0.2.0

func ProjectNetworkAuditLifecycle(leaseID, event string) (NetworkAuditDestination, []NetworkAuditValidationIssue)

func ProjectNetworkAuditProvider added in v0.2.0

func ProjectNetworkAuditProvider(providerID, pluginName, pluginVersion, contractID, contractVersion, descriptorDigest string) (NetworkAuditProviderEvidence, []NetworkAuditValidationIssue)

func ProviderPluginRequiresUpstreamClientConformance

func ProviderPluginRequiresUpstreamClientConformance(pluginID string) bool

func RequiredHardwareClass

func RequiredHardwareClass(req PlacementRequirements) string

func ResourceLimitsRequireResourceConstrainedExecutor

func ResourceLimitsRequireResourceConstrainedExecutor(limits ResourceLimits) bool

func SoftwareAgentProofSignature

func SoftwareAgentProofSignature(receipt ProofReceipt) string

func SoftwareAgentServiceSignature

func SoftwareAgentServiceSignature(receipt ServiceReceipt) string

func SoftwareRouterEdgeSignature

func SoftwareRouterEdgeSignature(receipt EdgeRequestReceipt) string

func TokenProofKey

func TokenProofKey(token string) string

func UnmarshalNetworkAuditRecordProtoStrict added in v0.2.0

func UnmarshalNetworkAuditRecordProtoStrict(data []byte) (*pb.NetworkAuditRecord, error)

func ValidateAttestedProofBinding

func ValidateAttestedProofBinding(binding AttestedProofBinding) error

func ValidateAttestedServiceBinding

func ValidateAttestedServiceBinding(binding AttestedServiceBinding) error

func ValidatePlacementRequirementsAgainstCapabilities

func ValidatePlacementRequirementsAgainstCapabilities(req PlacementRequirements, caps PlacementRequirementCapabilities) error

func ValidateProofPolicy

func ValidateProofPolicy(proofTier ProofTier, policy ProofPolicy) error

func ValidateResourceLimitsAgainstCapacity

func ValidateResourceLimitsAgainstCapacity(limits ResourceLimits, capacity ResourceCapacity) error

func ValidateRuntimeResultPreview

func ValidateRuntimeResultPreview(preview map[string]any) error

func VerifyCredentialEdgeSignature

func VerifyCredentialEdgeSignature(receipt EdgeRequestReceipt, tokenProofKey string) bool

func VerifyCredentialProofSignature

func VerifyCredentialProofSignature(receipt ProofReceipt, tokenProofKey string) bool

func VerifyCredentialServiceSignature

func VerifyCredentialServiceSignature(receipt ServiceReceipt, tokenProofKey string) bool

Types

type AccessPolicy

type AccessPolicy struct {
	ProviderUsageVisibility AccessVisibility `json:"provider_usage_visibility,omitempty"`
	WorkloadVisibility      AccessVisibility `json:"workload_visibility,omitempty"`
	ArtifactVisibility      AccessVisibility `json:"artifact_visibility,omitempty"`
}

func (AccessPolicy) Validate

func (p AccessPolicy) Validate() error

type AccessVisibility

type AccessVisibility string
const (
	AccessVisibilityPrivate AccessVisibility = "private"
	AccessVisibilityNetwork AccessVisibility = "network"
	AccessVisibilityPublic  AccessVisibility = "public"
)

type AttestationDecision

type AttestationDecision struct {
	Provider             string            `json:"provider,omitempty"`
	VerifierID           string            `json:"verifier_id,omitempty"`
	DecisionID           string            `json:"decision_id,omitempty"`
	HardwareClass        string            `json:"hardware_class,omitempty"`
	ExecutorImageDigest  string            `json:"executor_image_digest,omitempty"`
	ExecutorRootFSDigest string            `json:"executor_rootfs_digest,omitempty"`
	PolicyID             string            `json:"policy_id,omitempty"`
	Nonce                string            `json:"nonce,omitempty"`
	IssuedAt             time.Time         `json:"issued_at,omitzero"`
	ExpiresAt            time.Time         `json:"expires_at,omitzero"`
	SignatureVerified    bool              `json:"signature_verified,omitempty"`
	ConfidentialGPU      bool              `json:"confidential_gpu,omitempty"`
	Signature            SignatureEnvelope `json:"signature,omitzero"`
}

func (AttestationDecision) BindingDigest

func (a AttestationDecision) BindingDigest() string

type AttestedProofBinding

type AttestedProofBinding struct {
	Executor              ExecutorRef    `json:"executor"`
	PolicyID              string         `json:"policy_id"`
	TaskID                string         `json:"task_id"`
	TaskHash              string         `json:"task_hash"`
	InputHash             string         `json:"input_hash"`
	DependencyClosureHash string         `json:"dependency_closure_hash"`
	WorkerID              string         `json:"worker_id"`
	PoolID                string         `json:"pool_id"`
	StartedAt             time.Time      `json:"started_at"`
	FinishedAt            time.Time      `json:"finished_at"`
	Verifier              VerifierResult `json:"verifier"`
}

type AttestedServiceBinding

type AttestedServiceBinding struct {
	Executor       ExecutorRef    `json:"executor"`
	PolicyID       string         `json:"policy_id"`
	TaskID         string         `json:"task_id"`
	DeploymentHash string         `json:"deployment_hash"`
	WorkerID       string         `json:"worker_id"`
	PoolID         string         `json:"pool_id"`
	StartedAt      time.Time      `json:"started_at"`
	FinishedAt     time.Time      `json:"finished_at"`
	Verifier       VerifierResult `json:"verifier"`
}

type ContainerRuntimeTool

type ContainerRuntimeTool string
const (
	ContainerRuntimePodman         ContainerRuntimeTool = "podman"
	ContainerRuntimeDocker         ContainerRuntimeTool = "docker"
	ContainerRuntimeNerdctl        ContainerRuntimeTool = "nerdctl"
	ContainerRuntimeAppleContainer ContainerRuntimeTool = "apple-container"
)

type ContributionAuthority

type ContributionAuthority string
const (
	ContributionAuthorityWFCompute ContributionAuthority = "wfcompute"
	ContributionAuthorityUpstream  ContributionAuthority = "upstream"
)

type ContributionPolicy

type ContributionPolicy struct {
	ValidationAuthority ContributionAuthority `json:"validation_authority,omitempty"`
	CreditAuthority     ContributionAuthority `json:"credit_authority,omitempty"`
	MonetaryPayouts     bool                  `json:"monetary_payouts,omitempty"`
}

func (ContributionPolicy) ValidateForRewardPolicy

func (p ContributionPolicy) ValidateForRewardPolicy(rewardPolicy string, target SettlementTarget) error

type CryptoRewardCustodyMode

type CryptoRewardCustodyMode string
const CryptoRewardCustodyTreasuryThenDistribute CryptoRewardCustodyMode = "treasury_then_distribute"

type CryptoRewardDistributionMode

type CryptoRewardDistributionMode string
const CryptoRewardDistributionContributionShare CryptoRewardDistributionMode = "contribution_share"

type CryptoRewardParticipantWalletSource

type CryptoRewardParticipantWalletSource string
const CryptoRewardParticipantAccountWallet CryptoRewardParticipantWalletSource = "account_wallet"

type CryptoRewardRoutingPolicy

type CryptoRewardRoutingPolicy struct {
	Network                 string                              `json:"network,omitempty"`
	TreasuryAccountID       string                              `json:"treasury_account_id,omitempty"`
	TreasuryWalletRef       string                              `json:"treasury_wallet_ref,omitempty"`
	CustodyMode             CryptoRewardCustodyMode             `json:"custody_mode,omitempty"`
	DistributionMode        CryptoRewardDistributionMode        `json:"distribution_mode,omitempty"`
	ParticipantWalletSource CryptoRewardParticipantWalletSource `json:"participant_wallet_source,omitempty"`
	ManagementFeeBps        int                                 `json:"management_fee_bps,omitempty"`
}

func (CryptoRewardRoutingPolicy) Validate

type EdgeRequestReceipt

type EdgeRequestReceipt struct {
	ProtocolVersion     string         `json:"protocol_version,omitempty"`
	ID                  string         `json:"id"`
	OrgID               string         `json:"org_id"`
	PoolID              string         `json:"pool_id"`
	ProductID           string         `json:"product_id"`
	Hostname            string         `json:"hostname"`
	RouteTarget         string         `json:"route_target"`
	ServiceLeaseID      string         `json:"service_lease_id,omitempty"`
	TaskID              string         `json:"task_id,omitempty"`
	WorkerID            string         `json:"worker_id,omitempty"`
	ContentRef          string         `json:"content_ref,omitempty"`
	RequestID           string         `json:"request_id"`
	TraceID             string         `json:"trace_id"`
	Method              string         `json:"method"`
	RequestClass        string         `json:"request_class"`
	RequestHash         string         `json:"request_hash"`
	ResponseHash        string         `json:"response_hash"`
	RequestBytes        int64          `json:"request_bytes,omitempty"`
	ResponseBytes       int64          `json:"response_bytes,omitempty"`
	StartedAt           time.Time      `json:"started_at"`
	FinishedAt          time.Time      `json:"finished_at"`
	ResourceUsage       ResourceUsage  `json:"resource_usage"`
	ServiceReceiptIDs   []string       `json:"service_receipt_ids,omitempty"`
	IngressEvidenceID   string         `json:"ingress_evidence_id,omitempty"`
	IngressEvidenceHash string         `json:"ingress_evidence_hash,omitempty"`
	Verifier            VerifierResult `json:"verifier"`
	RouterSignature     string         `json:"router_signature"`
}

func (EdgeRequestReceipt) Validate

func (r EdgeRequestReceipt) Validate() error

type ExecutionSecurityTier

type ExecutionSecurityTier string
const (
	ExecutionTrustedNative      ExecutionSecurityTier = "trusted-native"
	ExecutionHardenedContainer  ExecutionSecurityTier = "hardened-container"
	ExecutionSandboxedContainer ExecutionSecurityTier = "sandboxed-container"
	ExecutionMicroVM            ExecutionSecurityTier = "microvm"
	ExecutionConfidentialCPU    ExecutionSecurityTier = "confidential-cpu"
	ExecutionConfidentialGPU    ExecutionSecurityTier = "confidential-gpu"
	ExecutionWASMCapability     ExecutionSecurityTier = "wasm-capability"
)

type ExecutorCapabilities

type ExecutorCapabilities struct {
	Executors      []ExecutorRef           `json:"executors,omitempty"`
	ExecutionTiers []ExecutionSecurityTier `json:"execution_tiers,omitempty"`
}

type ExecutorRef

type ExecutorRef struct {
	Provider              string                `json:"provider"`
	Version               string                `json:"version"`
	ExecutionSecurityTier ExecutionSecurityTier `json:"execution_security_tier,omitempty"`
	ProofTier             ProofTier             `json:"proof_tier,omitempty"`
	ImageDigest           string                `json:"image_digest,omitempty"`
	RootFSDigest          string                `json:"rootfs_digest,omitempty"`
}

func (ExecutorRef) RequiresAttestation

func (e ExecutorRef) RequiresAttestation() bool

func (ExecutorRef) ValidateForProof

func (e ExecutorRef) ValidateForProof() error

type HardwareAttestation

type HardwareAttestation struct {
	Class      string    `json:"class"`
	Provider   string    `json:"provider"`
	VerifierID string    `json:"verifier_id"`
	KeyID      string    `json:"key_id"`
	Verified   bool      `json:"verified"`
	ExpiresAt  time.Time `json:"expires_at,omitzero"`
}

type HardwarePlacementCapabilities

type HardwarePlacementCapabilities struct {
	GPUCount int                          `json:"gpu_count,omitempty"`
	Security HardwareSecurityCapabilities `json:"security,omitzero"`
	Now      time.Time                    `json:"now,omitzero"`
}

type HardwareSecurityCapabilities

type HardwareSecurityCapabilities struct {
	TEE                  []string              `json:"tee,omitempty"`
	HardwareClasses      []string              `json:"hardware_classes,omitempty"`
	HardwareAttestations []HardwareAttestation `json:"hardware_attestations,omitempty"`
}

type KeyReleaseDecision

type KeyReleaseDecision struct {
	Provider              string            `json:"provider,omitempty"`
	DecisionID            string            `json:"decision_id,omitempty"`
	AttestationDecisionID string            `json:"attestation_decision_id,omitempty"`
	AttestationDigest     string            `json:"attestation_digest,omitempty"`
	AttestationProvider   string            `json:"attestation_provider,omitempty"`
	AttestationVerifierID string            `json:"attestation_verifier_id,omitempty"`
	AttestationKeyID      string            `json:"attestation_key_id,omitempty"`
	PolicyID              string            `json:"policy_id,omitempty"`
	TaskID                string            `json:"task_id,omitempty"`
	TaskHash              string            `json:"task_hash,omitempty"`
	InputHash             string            `json:"input_hash,omitempty"`
	DependencyClosureHash string            `json:"dependency_closure_hash,omitempty"`
	WorkerID              string            `json:"worker_id,omitempty"`
	PoolID                string            `json:"pool_id,omitempty"`
	KeyRefHash            string            `json:"key_ref_hash,omitempty"`
	Released              bool              `json:"released,omitempty"`
	ExpiresAt             time.Time         `json:"expires_at,omitzero"`
	Signature             SignatureEnvelope `json:"signature,omitzero"`
}

type NetworkAuditDestination added in v0.2.0

type NetworkAuditDestination struct {
	Kind  NetworkAuditDestinationKind `json:"kind"`
	Value string                      `json:"value"`
}

func NewNetworkAuditLifecycleDestination added in v0.2.0

func NewNetworkAuditLifecycleDestination(leaseID, event string) (NetworkAuditDestination, error)

type NetworkAuditDestinationKind added in v0.2.0

type NetworkAuditDestinationKind string
const (
	NetworkAuditDestinationEndpoint  NetworkAuditDestinationKind = "endpoint"
	NetworkAuditDestinationSHA256    NetworkAuditDestinationKind = "sha256"
	NetworkAuditDestinationArtifact  NetworkAuditDestinationKind = "artifact"
	NetworkAuditDestinationLifecycle NetworkAuditDestinationKind = "network-lifecycle"
)

type NetworkAuditProviderEvidence added in v0.2.0

type NetworkAuditProviderEvidence struct {
	ProviderID       string `json:"provider_id,omitempty"`
	PluginName       string `json:"plugin_name,omitempty"`
	PluginVersion    string `json:"plugin_version,omitempty"`
	ContractID       string `json:"contract_id,omitempty"`
	ContractVersion  string `json:"contract_version,omitempty"`
	DescriptorDigest string `json:"descriptor_digest,omitempty"`
}

type NetworkAuditRecord added in v0.2.0

type NetworkAuditRecord struct {
	ProtocolVersion string                       `json:"protocol_version"`
	RecordID        string                       `json:"record_id"`
	TaskID          string                       `json:"task_id,omitempty"`
	LeaseID         string                       `json:"lease_id,omitempty"`
	WorkerID        string                       `json:"worker_id,omitempty"`
	Provider        NetworkAuditProviderEvidence `json:"provider,omitempty"`
	Destination     NetworkAuditDestination      `json:"destination"`
	ResourceUsage   ResourceUsage                `json:"resource_usage,omitempty"`
	Labels          map[string]string            `json:"labels,omitempty"`
	StartedAt       time.Time                    `json:"started_at,omitempty"`
	FinishedAt      time.Time                    `json:"finished_at,omitempty"`
	ObservedAt      time.Time                    `json:"observed_at,omitempty"`
}

func NetworkAuditRecordFromProto added in v0.2.0

func NetworkAuditRecordFromProto(message *pb.NetworkAuditRecord) (NetworkAuditRecord, error)

func (NetworkAuditRecord) ToProto added in v0.2.0

func (NetworkAuditRecord) Validate added in v0.2.0

func (r NetworkAuditRecord) Validate() error

func (NetworkAuditRecord) ValidateNetworkAudit added in v0.2.0

func (r NetworkAuditRecord) ValidateNetworkAudit() []NetworkAuditValidationIssue

type NetworkAuditRefOptions added in v0.2.0

type NetworkAuditRefOptions struct {
	Stability NetworkAuditRefStability
	Timestamp time.Time
}

type NetworkAuditRefProjection added in v0.2.0

type NetworkAuditRefProjection struct {
	Ref       string                   `json:"ref"`
	Epoch     string                   `json:"epoch"`
	Stability NetworkAuditRefStability `json:"stability"`
	Timestamp string                   `json:"timestamp"`
}

type NetworkAuditRefProjector added in v0.2.0

type NetworkAuditRefProjector struct {
	// contains filtered or unexported fields
}

func NewNetworkAuditRefProjector added in v0.2.0

func NewNetworkAuditRefProjector(key []byte) (NetworkAuditRefProjector, error)

func (NetworkAuditRefProjector) Project added in v0.2.0

type NetworkAuditRefStability added in v0.2.0

type NetworkAuditRefStability string
const (
	NetworkAuditRefStable    NetworkAuditRefStability = "stable"
	NetworkAuditRefEphemeral NetworkAuditRefStability = "ephemeral"
)

type NetworkAuditValidationCode added in v0.2.0

type NetworkAuditValidationCode string
const (
	NetworkAuditValidationProtocolVersionInvalid NetworkAuditValidationCode = "protocol_version_invalid"
	NetworkAuditValidationRecordIDRequired       NetworkAuditValidationCode = "record_id_required"
	NetworkAuditValidationDestinationRequired    NetworkAuditValidationCode = "destination_required"
	NetworkAuditValidationDestinationInvalid     NetworkAuditValidationCode = "destination_invalid"
	NetworkAuditValidationResourceUsageInvalid   NetworkAuditValidationCode = "resource_usage_invalid"
	NetworkAuditValidationLabelInvalid           NetworkAuditValidationCode = "label_invalid"
	NetworkAuditValidationLabelCountExceeded     NetworkAuditValidationCode = "label_count_exceeded"
	NetworkAuditValidationTimeRangeInvalid       NetworkAuditValidationCode = "time_range_invalid"
	NetworkAuditValidationProviderInvalid        NetworkAuditValidationCode = "provider_invalid"
)

type NetworkAuditValidationError added in v0.2.0

type NetworkAuditValidationError struct {
	Issues []NetworkAuditValidationIssue
}

func (NetworkAuditValidationError) Error added in v0.2.0

type NetworkAuditValidationIssue added in v0.2.0

type NetworkAuditValidationIssue struct {
	Code    NetworkAuditValidationCode `json:"code"`
	Field   string                     `json:"field"`
	Message string                     `json:"message"`
}

func ClassifyLegacyNetworkAuditRecord added in v0.2.0

func ClassifyLegacyNetworkAuditRecord(record map[string]any) []NetworkAuditValidationIssue

func ProjectNetworkAuditLabels added in v0.2.0

func ProjectNetworkAuditLabels(labels map[string]string) (map[string]string, []NetworkAuditValidationIssue)

type NetworkMode

type NetworkMode string
const (
	NetworkModeDirect  NetworkMode = "direct"
	NetworkModeRelay   NetworkMode = "relay"
	NetworkModeTailnet NetworkMode = "tailnet"
	NetworkModeTor     NetworkMode = "tor"
	NetworkModeP2P     NetworkMode = "p2p"
	NetworkModeOffline NetworkMode = "offline"
)

type NetworkOperatingMode

type NetworkOperatingMode string
const (
	NetworkModeBatch        NetworkOperatingMode = "batch"
	NetworkModeWarmService  NetworkOperatingMode = "warm-service"
	NetworkModeNodeService  NetworkOperatingMode = "node-service"
	NetworkModeInferenceAPI NetworkOperatingMode = "inference-api"
)

type NetworkProduct

type NetworkProduct struct {
	ProtocolVersion      string                    `json:"protocol_version"`
	ID                   string                    `json:"id"`
	DisplayName          string                    `json:"display_name,omitempty"`
	Purpose              string                    `json:"purpose,omitempty"`
	OperatingMode        NetworkOperatingMode      `json:"operating_mode"`
	OrgID                string                    `json:"org_id"`
	PoolID               string                    `json:"pool_id"`
	WorkloadKinds        []string                  `json:"workload_kinds"`
	SecurityFloor        PlacementRequirements     `json:"security_floor"`
	ProofPolicy          ProofPolicy               `json:"proof_policy,omitzero"`
	SessionPolicy        SessionPolicy             `json:"session_policy,omitzero"`
	ProviderConfig       ProviderConfig            `json:"provider_config,omitzero"`
	NetworkModes         []NetworkMode             `json:"network_modes"`
	PlacementConstraints PlacementConstraints      `json:"placement_constraints,omitzero"`
	RewardPolicy         string                    `json:"reward_policy"`
	AbusePolicy          string                    `json:"abuse_policy"`
	SettlementAccountID  string                    `json:"settlement_account_id,omitempty"`
	SettlementTarget     SettlementTarget          `json:"settlement_target,omitzero"`
	CryptoRewardRouting  CryptoRewardRoutingPolicy `json:"crypto_reward_routing,omitzero"`
	ContributionPolicy   ContributionPolicy        `json:"contribution_policy,omitzero"`
	AccessPolicy         AccessPolicy              `json:"access_policy,omitzero"`
	ResiduePolicy        ResiduePolicy             `json:"residue_policy,omitzero"`
	AdmissionMode        string                    `json:"admission_mode,omitempty"`
	AllowPublic          bool                      `json:"allow_public,omitempty"`
	CreatedAt            time.Time                 `json:"created_at,omitempty"`
}

func (NetworkProduct) Validate

func (p NetworkProduct) Validate() error

type PlacementCapabilities

type PlacementCapabilities struct {
	DiskBytes      int64    `json:"disk_bytes,omitempty"`
	MemoryBytes    int64    `json:"memory_bytes,omitempty"`
	BandwidthMbps  int64    `json:"bandwidth_mbps,omitempty"`
	IngressCapable bool     `json:"ingress_capable,omitempty"`
	CapabilityTags []string `json:"capability_tags,omitempty"`
}

type PlacementConstraints

type PlacementConstraints struct {
	Chain                string          `json:"chain,omitempty"`
	Role                 string          `json:"role,omitempty"`
	MinDiskBytes         int64           `json:"min_disk_bytes,omitempty"`
	MinMemoryBytes       int64           `json:"min_memory_bytes,omitempty"`
	MinBandwidthMbps     int64           `json:"min_bandwidth_mbps,omitempty"`
	RequiresIngress      bool            `json:"requires_ingress,omitempty"`
	RequiredCapabilities []string        `json:"required_capabilities,omitempty"`
	WalletRef            string          `json:"wallet_ref,omitempty"`
	StorageGuidance      StorageGuidance `json:"storage_guidance,omitzero"`
}

func (PlacementConstraints) IsZero

func (c PlacementConstraints) IsZero() bool

func (PlacementConstraints) Validate

func (c PlacementConstraints) Validate(required bool, target SettlementTarget) error

type PlacementNetworkPolicy

type PlacementNetworkPolicy struct {
	AllowIngress bool `json:"allow_ingress,omitempty"`
}

type PlacementRequirementCapabilities

type PlacementRequirementCapabilities struct {
	CapabilityTags    []string                   `json:"capability_tags,omitempty"`
	ExecutorProviders []string                   `json:"executor_providers,omitempty"`
	ExecutionTiers    []ExecutionSecurityTier    `json:"execution_tiers,omitempty"`
	ProofTiers        []ProofTier                `json:"proof_tiers,omitempty"`
	CapabilityReports []ProviderCapabilityReport `json:"capability_reports,omitempty"`
	Executors         []ExecutorRef              `json:"executors,omitempty"`
}

type PlacementRequirements

type PlacementRequirements struct {
	ExecutorProvider      string                `json:"executor_provider,omitempty"`
	ExecutionSecurityTier ExecutionSecurityTier `json:"execution_security_tier,omitempty"`
	ProofTier             ProofTier             `json:"proof_tier,omitempty"`
	HardwareClass         string                `json:"hardware_class,omitempty"`
	RequiredCapabilities  []string              `json:"required_capabilities,omitempty"`
}

type ProofPolicy

type ProofPolicy struct {
	Quorum      int `json:"quorum,omitempty"`
	MaxAttempts int `json:"max_attempts,omitempty"`
}

type ProofReceipt

type ProofReceipt struct {
	ID                    string         `json:"id"`
	OrgID                 string         `json:"org_id"`
	TaskID                string         `json:"task_id"`
	TaskHash              string         `json:"task_hash"`
	InputHash             string         `json:"input_hash"`
	DependencyClosureHash string         `json:"dependency_closure_hash"`
	Executor              ExecutorRef    `json:"executor"`
	WorkerID              string         `json:"worker_id"`
	PoolID                string         `json:"pool_id"`
	PolicyID              string         `json:"policy_id"`
	StartedAt             time.Time      `json:"started_at"`
	FinishedAt            time.Time      `json:"finished_at"`
	ExitCode              int            `json:"exit_code,omitempty"`
	ResourceUsage         ResourceUsage  `json:"resource_usage"`
	ArtifactHash          string         `json:"artifact_hash"`
	ResultPreview         map[string]any `json:"result_preview,omitempty"`
	Verifier              VerifierResult `json:"verifier"`
	AgentSignature        string         `json:"agent_signature"`
}

func (ProofReceipt) Validate

func (r ProofReceipt) Validate() error

type ProofTier

type ProofTier string
const (
	ProofReceiptOnly      ProofTier = "receipt-only"
	ProofArtifactHash     ProofTier = "artifact-hash"
	ProofReplicatedQuorum ProofTier = "replicated-quorum"
	ProofAttestedReceipt  ProofTier = "attested-receipt"
	ProofAttestedQuorum   ProofTier = "attested-quorum"
	ProofZKReplay         ProofTier = "zk-replay"
)

type ProviderArtifactSpec

type ProviderArtifactSpec struct {
	Name             string `json:"name"`
	Required         bool   `json:"required,omitempty"`
	ContentType      string `json:"content_type,omitempty"`
	MaxBytes         int64  `json:"max_bytes,omitempty"`
	RetentionSeconds int    `json:"retention_seconds,omitempty"`
	Forwardable      bool   `json:"forwardable,omitempty"`
}

type ProviderCapabilityReport

type ProviderCapabilityReport struct {
	Provider string                   `json:"provider"`
	Status   ProviderCapabilityStatus `json:"status"`
	Reason   string                   `json:"reason,omitempty"`
}

type ProviderCapabilityStatus

type ProviderCapabilityStatus string
const (
	ProviderCapabilitySupported   ProviderCapabilityStatus = "supported"
	ProviderCapabilityDegraded    ProviderCapabilityStatus = "degraded"
	ProviderCapabilityUnsupported ProviderCapabilityStatus = "unsupported"
)

type ProviderConfig

type ProviderConfig struct {
	PluginID     string `json:"plugin_id,omitempty"`
	ProviderID   string `json:"provider_id,omitempty"`
	ContractID   string `json:"contract_id,omitempty"`
	Version      string `json:"version,omitempty"`
	ConfigRef    string `json:"config_ref,omitempty"`
	ConfigDigest string `json:"config_digest,omitempty"`
}

func (ProviderConfig) Validate

func (p ProviderConfig) Validate() error

type ProviderConformanceEvidence

type ProviderConformanceEvidence struct {
	ProtocolVersion       string    `json:"protocol_version"`
	ID                    string    `json:"id"`
	PluginID              string    `json:"plugin_id"`
	ProviderID            string    `json:"provider_id"`
	ContractID            string    `json:"contract_id"`
	Version               string    `json:"version"`
	RuntimeProfileID      string    `json:"runtime_profile_id"`
	ConformanceProfile    string    `json:"conformance_profile"`
	UpstreamClientName    string    `json:"upstream_client_name"`
	UpstreamClientVersion string    `json:"upstream_client_version"`
	EvidenceRef           string    `json:"evidence_ref"`
	EvidenceDigest        string    `json:"evidence_digest"`
	ObservedAt            time.Time `json:"observed_at"`
	CreatedAt             time.Time `json:"created_at,omitempty"`
}

func (ProviderConformanceEvidence) Validate

func (e ProviderConformanceEvidence) Validate() error

type ProviderContract

type ProviderContract struct {
	ProtocolVersion        string                  `json:"protocol_version"`
	ID                     string                  `json:"id"`
	PluginID               string                  `json:"plugin_id"`
	ProviderID             string                  `json:"provider_id"`
	ContractID             string                  `json:"contract_id"`
	Version                string                  `json:"version"`
	DisplayName            string                  `json:"display_name,omitempty"`
	OrgID                  string                  `json:"org_id,omitempty"`
	PoolID                 string                  `json:"pool_id,omitempty"`
	AccessPolicy           AccessPolicy            `json:"access_policy,omitzero"`
	ConfigSchemaRef        string                  `json:"config_schema_ref"`
	ConfigSchemaDigest     string                  `json:"config_schema_digest"`
	OperatingModes         []NetworkOperatingMode  `json:"operating_modes"`
	WorkloadKinds          []string                `json:"workload_kinds"`
	ExecutorProviders      []string                `json:"executor_providers"`
	ExecutionSecurityTiers []ExecutionSecurityTier `json:"execution_security_tiers"`
	ProofTiers             []ProofTier             `json:"proof_tiers"`
	NetworkModes           []NetworkMode           `json:"network_modes"`
	Operations             []ProviderOperation     `json:"operations,omitempty"`
	RuntimeContract        ProviderRuntimeContract `json:"runtime_contract"`
	CreatedAt              time.Time               `json:"created_at,omitempty"`
}

func (*ProviderContract) ApplyProviderConformanceEvidence

func (c *ProviderContract) ApplyProviderConformanceEvidence(evidence ProviderConformanceEvidence) error

func (ProviderContract) Matches

func (c ProviderContract) Matches(config ProviderConfig) bool

func (ProviderContract) SupportsOperation

func (c ProviderContract) SupportsOperation(operation string) bool

func (ProviderContract) SupportsProduct

func (c ProviderContract) SupportsProduct(product NetworkProduct) error

func (ProviderContract) Validate

func (c ProviderContract) Validate() error

type ProviderOperation

type ProviderOperation struct {
	ID                 string                 `json:"id"`
	InputSchemaRef     string                 `json:"input_schema_ref"`
	InputSchemaDigest  string                 `json:"input_schema_digest"`
	OutputSchemaRef    string                 `json:"output_schema_ref"`
	OutputSchemaDigest string                 `json:"output_schema_digest"`
	Artifacts          []string               `json:"artifacts,omitempty"`
	ArtifactSpecs      []ProviderArtifactSpec `json:"artifact_specs,omitempty"`
}

func (ProviderOperation) NormalizedArtifactSpecs

func (o ProviderOperation) NormalizedArtifactSpecs() []ProviderArtifactSpec

func (ProviderOperation) Validate

func (o ProviderOperation) Validate() error

type ProviderRuntimeContract

type ProviderRuntimeContract struct {
	Profiles []ProviderRuntimeProfile `json:"profiles"`
}

func DefaultProviderRuntimeContract

func DefaultProviderRuntimeContract(executors []string, tiers []ExecutionSecurityTier, proofs []ProofTier, options ProviderRuntimeContractOptions) ProviderRuntimeContract

func (ProviderRuntimeContract) RuntimeProfileForRequirements

func (c ProviderRuntimeContract) RuntimeProfileForRequirements(req PlacementRequirements) (ProviderRuntimeProfile, bool)

func (ProviderRuntimeContract) SupportsProduct

func (c ProviderRuntimeContract) SupportsProduct(product NetworkProduct) bool

func (ProviderRuntimeContract) Validate

func (c ProviderRuntimeContract) Validate() error

type ProviderRuntimeContractOptions

type ProviderRuntimeContractOptions struct {
	ConformanceProfiles          []string
	UpstreamClientConformance    UpstreamClientConformance
	UpstreamClientEvidenceRef    string
	UpstreamClientEvidenceDigest string
}

type ProviderRuntimeProfile

type ProviderRuntimeProfile struct {
	ID                           string                    `json:"id"`
	RuntimeProfile               RuntimeProfile            `json:"runtime_profile"`
	ExecutorProvider             string                    `json:"executor_provider"`
	ExecutionSecurityTier        ExecutionSecurityTier     `json:"execution_security_tier"`
	ProofTier                    ProofTier                 `json:"proof_tier"`
	AllowedRuntimeTools          []ContainerRuntimeTool    `json:"allowed_runtime_tools,omitempty"`
	ImageDigestRequired          bool                      `json:"image_digest_required"`
	RootFSDigestRequired         bool                      `json:"rootfs_digest_required"`
	AllowedMountRefs             []string                  `json:"allowed_mount_refs,omitempty"`
	WritablePaths                []string                  `json:"writable_paths,omitempty"`
	WritableRootFS               RuntimePermission         `json:"writable_rootfs"`
	Privileged                   RuntimePermission         `json:"privileged"`
	HostNamespaces               RuntimePermission         `json:"host_namespaces"`
	HostSocket                   RuntimePermission         `json:"host_socket"`
	SeccompDisable               RuntimePermission         `json:"seccomp_disable"`
	NoNewPrivilegesDisable       RuntimePermission         `json:"no_new_privileges_disable"`
	AllowedCapabilities          []string                  `json:"allowed_capabilities,omitempty"`
	ConformanceProfiles          []string                  `json:"conformance_profiles,omitempty"`
	UpstreamClientConformance    UpstreamClientConformance `json:"upstream_client_conformance,omitempty"`
	UpstreamClientEvidenceRef    string                    `json:"upstream_client_evidence_ref,omitempty"`
	UpstreamClientEvidenceDigest string                    `json:"upstream_client_evidence_digest,omitempty"`
	HostWorkspaceSupported       bool                      `json:"host_workspace_supported,omitempty"`
	ResiduePolicy                ResiduePolicy             `json:"residue_policy,omitzero"`
	WASM                         WASMRuntimeContract       `json:"wasm,omitzero"`
}

func DefaultProviderRuntimeProfile

func DefaultProviderRuntimeProfile(executorProvider string, tier ExecutionSecurityTier, proof ProofTier) ProviderRuntimeProfile

func (ProviderRuntimeProfile) Validate

func (p ProviderRuntimeProfile) Validate() error

type ProviderUpstreamClientRequirement

type ProviderUpstreamClientRequirement struct {
	ProtocolVersion       string                      `json:"protocol_version"`
	PluginID              string                      `json:"plugin_id"`
	ProviderID            string                      `json:"provider_id"`
	ContractID            string                      `json:"contract_id"`
	Version               string                      `json:"version"`
	RuntimeProfileID      string                      `json:"runtime_profile_id"`
	ConformanceProfile    string                      `json:"conformance_profile"`
	DefaultConformance    UpstreamClientConformance   `json:"default_conformance"`
	RealClientConformance UpstreamClientConformance   `json:"real_client_conformance"`
	UpstreamClientName    string                      `json:"upstream_client_name"`
	VersionProbeCommand   []string                    `json:"version_probe_command,omitempty"`
	ImagePolicy           ProviderUpstreamImagePolicy `json:"image_policy"`
	RequiredEvidence      []string                    `json:"required_evidence,omitempty"`
	Notes                 []string                    `json:"notes,omitempty"`
}

func (ProviderUpstreamClientRequirement) Validate

type ProviderUpstreamImagePolicy

type ProviderUpstreamImagePolicy struct {
	DigestPinnedImageRequired     bool     `json:"digest_pinned_image_required"`
	OperatorSuppliedImageRequired bool     `json:"operator_supplied_image_required,omitempty"`
	RecommendedImageRef           string   `json:"recommended_image_ref,omitempty"`
	KnownImageRefs                []string `json:"known_image_refs,omitempty"`
}

func (ProviderUpstreamImagePolicy) Validate

func (p ProviderUpstreamImagePolicy) Validate() error

type ReceiptVerificationOptions

type ReceiptVerificationOptions struct {
	CredentialTokenProofKey string
	AllowSoftwareFallback   bool
	VerifierProvider        string
	VerifierMessage         string
}

type ResidueMode

type ResidueMode string
const (
	ResidueModeIsolated      ResidueMode = "isolated"
	ResidueModeNone          ResidueMode = "none"
	ResidueModeProviderBound ResidueMode = "provider-bound"
	ResidueModeWorkerBound   ResidueMode = "worker-bound"
	ResidueModeSessionBound  ResidueMode = "session-bound"
)

type ResiduePolicy

type ResiduePolicy struct {
	Mode                ResidueMode   `json:"mode,omitempty"`
	AllowedModes        []ResidueMode `json:"allowed_modes,omitempty"`
	SessionKey          string        `json:"session_key,omitempty"`
	PolicyHash          string        `json:"policy_hash,omitempty"`
	MaxAgeSeconds       int           `json:"max_age_seconds,omitempty"`
	MaxReuseCount       int           `json:"max_reuse_count,omitempty"`
	WipeOnFailure       bool          `json:"wipe_on_failure,omitempty"`
	ExplicitWorkerBound bool          `json:"explicit_worker_bound,omitempty"`
}

func (ResiduePolicy) IsZero

func (p ResiduePolicy) IsZero() bool

func (ResiduePolicy) UsesReusableWorkspace

func (p ResiduePolicy) UsesReusableWorkspace() bool

func (ResiduePolicy) Validate

type ResiduePolicyValidation

type ResiduePolicyValidation struct {
	NoWorkspaceAllowed         bool
	RequireSessionKey          bool
	RequireExplicitWorkerBound bool
	RequirePolicyHash          bool
}

type ResourceCapacity

type ResourceCapacity struct {
	CPUCount    int   `json:"cpu_count,omitempty"`
	MemoryBytes int64 `json:"memory_bytes,omitempty"`
	DiskBytes   int64 `json:"disk_bytes,omitempty"`
}

type ResourceLimits

type ResourceLimits struct {
	CPUPercent         int   `json:"cpu_percent,omitempty"`
	MemoryBytes        int64 `json:"memory_bytes,omitempty"`
	WorkspaceBytes     int64 `json:"workspace_bytes,omitempty"`
	RuntimeSeconds     int   `json:"runtime_seconds,omitempty"`
	NetworkEgressBytes int64 `json:"network_egress_bytes,omitempty"`
	OutputBytes        int64 `json:"output_bytes,omitempty"`
}

func (ResourceLimits) Validate

func (l ResourceLimits) Validate() error

type ResourceUsage

type ResourceUsage struct {
	CPUMillis      int64  `json:"cpu_millis,omitempty"`
	GPUMillis      int64  `json:"gpu_millis,omitempty"`
	MaxMemoryBytes int64  `json:"max_memory_bytes,omitempty"`
	NetworkRxBytes int64  `json:"network_rx_bytes,omitempty"`
	NetworkTxBytes int64  `json:"network_tx_bytes,omitempty"`
	WorkspaceBytes int64  `json:"workspace_bytes,omitempty"`
	OutputBytes    int64  `json:"output_bytes,omitempty"`
	LimitHit       string `json:"limit_hit,omitempty"`
}

type RuntimeAdapterContract

type RuntimeAdapterContract struct {
	ProtocolVersion     string                 `json:"protocol_version"`
	AdapterID           string                 `json:"adapter_id"`
	Descriptor          RuntimeDescriptor      `json:"descriptor,omitzero"`
	Kinds               []RuntimeAdapterKind   `json:"kinds"`
	WorkloadKinds       []WorkloadKind         `json:"workload_kinds"`
	RuntimeProfiles     []RuntimeProfile       `json:"runtime_profiles,omitempty"`
	WorkspacePolicy     RuntimeWorkspacePolicy `json:"workspace_policy"`
	ConformanceProfiles []string               `json:"conformance_profiles"`
	ResiduePolicy       ResiduePolicy          `json:"residue_policy,omitzero"`
	ProviderConfig      ProviderConfig         `json:"provider_config,omitzero"`
	Metadata            map[string]string      `json:"metadata,omitempty"`
}

func (RuntimeAdapterContract) Supports

func (c RuntimeAdapterContract) Supports(kind WorkloadKind) bool

func (RuntimeAdapterContract) SupportsAdapterKind

func (c RuntimeAdapterContract) SupportsAdapterKind(kind RuntimeAdapterKind) bool

func (RuntimeAdapterContract) Validate

func (c RuntimeAdapterContract) Validate() error

type RuntimeAdapterKind

type RuntimeAdapterKind string
const (
	RuntimeAdapterExecution      RuntimeAdapterKind = "execution"
	RuntimeAdapterServiceRun     RuntimeAdapterKind = "service-run"
	RuntimeAdapterServiceSession RuntimeAdapterKind = "service-session"
)

type RuntimeDescriptor

type RuntimeDescriptor struct {
	Name                  string                `json:"name"`
	Version               string                `json:"version"`
	ExecutionSecurityTier ExecutionSecurityTier `json:"execution_security_tier,omitempty"`
	ProofTier             ProofTier             `json:"proof_tier,omitempty"`
	ImageDigest           string                `json:"image_digest,omitempty"`
	RootFSDigest          string                `json:"rootfs_digest,omitempty"`
}

func (RuntimeDescriptor) ExecutorRef

func (d RuntimeDescriptor) ExecutorRef(defaultProvider string) ExecutorRef

func (RuntimeDescriptor) Validate

func (d RuntimeDescriptor) Validate() error

type RuntimeExecutionRequest

type RuntimeExecutionRequest struct {
	ProtocolVersion string            `json:"protocol_version"`
	TaskID          string            `json:"task_id"`
	LeaseID         string            `json:"lease_id"`
	WorkloadKind    WorkloadKind      `json:"workload_kind"`
	ProviderConfig  ProviderConfig    `json:"provider_config,omitzero"`
	Operation       string            `json:"operation,omitempty"`
	Input           json.RawMessage   `json:"input,omitempty"`
	Env             map[string]string `json:"env,omitempty"`
	Limits          ResourceLimits    `json:"limits,omitzero"`
}

func (RuntimeExecutionRequest) Validate

func (r RuntimeExecutionRequest) Validate() error

type RuntimeExecutionResult

type RuntimeExecutionResult struct {
	StartedAt     time.Time      `json:"started_at,omitempty"`
	FinishedAt    time.Time      `json:"finished_at,omitempty"`
	ExitCode      int            `json:"exit_code,omitempty"`
	Stdout        []byte         `json:"stdout,omitempty"`
	Stderr        []byte         `json:"stderr,omitempty"`
	ArtifactHash  string         `json:"artifact_hash,omitempty"`
	Artifacts     []string       `json:"artifacts,omitempty"`
	ResultPreview map[string]any `json:"result_preview,omitempty"`
	ResourceUsage ResourceUsage  `json:"resource_usage,omitzero"`
}

func (RuntimeExecutionResult) Validate

func (r RuntimeExecutionResult) Validate() error

type RuntimePermission

type RuntimePermission string
const (
	RuntimePermissionForbidden RuntimePermission = "forbidden"
	RuntimePermissionExplicit  RuntimePermission = "explicit"
	RuntimePermissionAllowed   RuntimePermission = "allowed"
)

type RuntimeProfile

type RuntimeProfile string
const (
	RuntimeProfileSandboxedOCI   RuntimeProfile = "sandboxed-oci-v1"
	RuntimeProfileContainerBuild RuntimeProfile = "container-build-v1"
	RuntimeProfileServiceOCI     RuntimeProfile = "service-oci-v1"
	RuntimeProfileWASMComponent  RuntimeProfile = "wasm-component-v1"
	RuntimeProfileBrowserWorker  RuntimeProfile = "browser-worker-wasm-v1"
)

type RuntimeServiceResult

type RuntimeServiceResult struct {
	StartedAt      time.Time             `json:"started_at,omitempty"`
	FinishedAt     time.Time             `json:"finished_at,omitempty"`
	RequestHash    string                `json:"request_hash,omitempty"`
	ResponseHash   string                `json:"response_hash,omitempty"`
	ResourceUsage  ResourceUsage         `json:"resource_usage,omitzero"`
	SLOEvidence    SLOEvidence           `json:"slo_evidence,omitzero"`
	StatusEvidence ServiceStatusEvidence `json:"status_evidence,omitzero"`
}

func (RuntimeServiceResult) Validate

func (r RuntimeServiceResult) Validate() error

type RuntimeWorkspacePolicy

type RuntimeWorkspacePolicy string
const (
	RuntimeWorkspaceUnavailable RuntimeWorkspacePolicy = "unavailable"
	RuntimeWorkspaceOptional    RuntimeWorkspacePolicy = "optional"
	RuntimeWorkspaceRequired    RuntimeWorkspacePolicy = "required"
)

type SLOEvidence

type SLOEvidence struct {
	LatencyMillis int64 `json:"latency_millis,omitempty"`
	StatusCode    int   `json:"status_code,omitempty"`
	DeadlineMS    int64 `json:"deadline_ms,omitempty"`
	Healthy       bool  `json:"healthy,omitempty"`
}

func (SLOEvidence) Validate

func (e SLOEvidence) Validate() error

type ServiceIngressEvidence

type ServiceIngressEvidence struct {
	ID                         string                       `json:"id"`
	OrgID                      string                       `json:"org_id"`
	PoolID                     string                       `json:"pool_id"`
	ProductID                  string                       `json:"product_id"`
	Hostname                   string                       `json:"hostname"`
	RouteTarget                string                       `json:"route_target"`
	ServiceLeaseID             string                       `json:"service_lease_id"`
	TaskID                     string                       `json:"task_id"`
	WorkerID                   string                       `json:"worker_id"`
	LeaseLeasedAt              time.Time                    `json:"lease_leased_at"`
	LeaseRenewBy               time.Time                    `json:"lease_renew_by"`
	SelectedAt                 time.Time                    `json:"selected_at"`
	LastHealthAt               time.Time                    `json:"last_health_at"`
	HealthValidUntil           time.Time                    `json:"health_valid_until"`
	LastHealthResponseHash     string                       `json:"last_health_response_hash"`
	LastHealthSLOEvidenceHash  string                       `json:"last_health_slo_evidence_hash"`
	AuthDecisionHash           string                       `json:"auth_decision_hash"`
	IdempotencyKey             string                       `json:"idempotency_key"`
	RequestMethod              string                       `json:"request_method"`
	RequestPath                string                       `json:"request_path"`
	RequestBodyHash            string                       `json:"request_body_hash"`
	RequestHeaderNames         []string                     `json:"request_header_names,omitempty"`
	HelperImage                string                       `json:"helper_image"`
	HelperScheme               string                       `json:"helper_scheme"`
	HelperHost                 string                       `json:"helper_host"`
	HelperPort                 int                          `json:"helper_port"`
	HelperPortName             string                       `json:"helper_port_name,omitempty"`
	HelperTimeoutMS            int                          `json:"helper_timeout_ms"`
	HelperContainerNetNSTarget string                       `json:"helper_container_netns_target"`
	HelperOutputHash           string                       `json:"helper_output_hash,omitempty"`
	HelperErrorHash            string                       `json:"helper_error_hash,omitempty"`
	FailureClass               string                       `json:"failure_class,omitempty"`
	FailureMessage             string                       `json:"failure_message,omitempty"`
	ResponseStatus             int                          `json:"response_status,omitempty"`
	ResponseHeaderNames        []string                     `json:"response_header_names,omitempty"`
	ResponseHash               string                       `json:"response_hash,omitempty"`
	ResponseBytes              int64                        `json:"response_bytes,omitempty"`
	TerminalStatus             ServiceIngressTerminalStatus `json:"terminal_status"`
	StartedAt                  time.Time                    `json:"started_at"`
	FinishedAt                 time.Time                    `json:"finished_at"`
}

func (ServiceIngressEvidence) Validate

func (e ServiceIngressEvidence) Validate() error

type ServiceIngressTerminalStatus

type ServiceIngressTerminalStatus string
const (
	ServiceIngressTerminalCompleted ServiceIngressTerminalStatus = "completed"
	ServiceIngressTerminalFailed    ServiceIngressTerminalStatus = "failed"
)

type ServiceReceipt

type ServiceReceipt struct {
	ID             string                `json:"id"`
	OrgID          string                `json:"org_id"`
	TaskID         string                `json:"task_id"`
	ServiceLeaseID string                `json:"service_lease_id"`
	WorkerID       string                `json:"worker_id"`
	PoolID         string                `json:"pool_id"`
	PolicyID       string                `json:"policy_id"`
	Executor       ExecutorRef           `json:"executor"`
	DeploymentHash string                `json:"deployment_hash"`
	RequestID      string                `json:"request_id"`
	TraceID        string                `json:"trace_id"`
	RequestHash    string                `json:"request_hash"`
	ResponseHash   string                `json:"response_hash"`
	StartedAt      time.Time             `json:"started_at"`
	FinishedAt     time.Time             `json:"finished_at"`
	ResourceUsage  ResourceUsage         `json:"resource_usage"`
	ResourceLimits ResourceLimits        `json:"resource_limits,omitzero"`
	SLOEvidence    SLOEvidence           `json:"slo_evidence"`
	StatusEvidence ServiceStatusEvidence `json:"status_evidence,omitzero"`
	Verifier       VerifierResult        `json:"verifier"`
	AgentSignature string                `json:"agent_signature"`
}

func VerifyServiceReceipt

func VerifyServiceReceipt(receipt ServiceReceipt, opts ReceiptVerificationOptions) (ServiceReceipt, error)

func (ServiceReceipt) Validate

func (r ServiceReceipt) Validate() error

type ServiceStatusEvidence

type ServiceStatusEvidence struct {
	CommandHash string `json:"command_hash,omitempty"`
	OutputHash  string `json:"output_hash,omitempty"`
	Preview     string `json:"preview,omitempty"`
	Truncated   bool   `json:"truncated,omitempty"`
}

func (ServiceStatusEvidence) Validate

func (e ServiceStatusEvidence) Validate() error

type SessionPolicy

type SessionPolicy struct {
	WarmSeconds      int `json:"warm_seconds,omitempty"`
	MinRenewals      int `json:"min_renewals,omitempty"`
	MaxBatchRequests int `json:"max_batch_requests,omitempty"`
}

func (SessionPolicy) ValidateForOperatingMode

func (p SessionPolicy) ValidateForOperatingMode(mode NetworkOperatingMode) error

type SettlementTarget

type SettlementTarget struct {
	Kind      SettlementTargetKind `json:"kind,omitempty"`
	AccountID string               `json:"account_id,omitempty"`
	Network   string               `json:"network,omitempty"`
	WalletRef string               `json:"wallet_ref,omitempty"`
}

func (SettlementTarget) Validate

func (t SettlementTarget) Validate(settlementAccountID string) error

type SettlementTargetKind

type SettlementTargetKind string
const (
	SettlementTargetPointsLedger        SettlementTargetKind = "points_ledger"
	SettlementTargetPayrollAccount      SettlementTargetKind = "payroll_account"
	SettlementTargetBadgeLedger         SettlementTargetKind = "badge_ledger"
	SettlementTargetFiatTokenTreasury   SettlementTargetKind = "fiat_token_treasury"
	SettlementTargetTreasuryWallet      SettlementTargetKind = "treasury_wallet"
	SettlementTargetParticipantWallet   SettlementTargetKind = "participant_wallet"
	SettlementTargetExternalDestination SettlementTargetKind = "external_destination"
)

type SignatureEnvelope

type SignatureEnvelope struct {
	Algorithm string `json:"algorithm,omitempty"`
	KeyID     string `json:"key_id,omitempty"`
	Value     string `json:"value,omitempty"`
	Verified  bool   `json:"verified,omitempty"`
}

type StorageGuidance

type StorageGuidance struct {
	Mode                         string `json:"mode,omitempty"`
	MinDiskBytes                 int64  `json:"min_disk_bytes,omitempty"`
	MinDiskDisplay               string `json:"min_disk_display,omitempty"`
	RecommendedDiskBytes         int64  `json:"recommended_disk_bytes,omitempty"`
	RecommendedDiskDisplay       string `json:"recommended_disk_display,omitempty"`
	GrowthMarginBytes            int64  `json:"growth_margin_bytes,omitempty"`
	GrowthMarginDisplay          string `json:"growth_margin_display,omitempty"`
	DurableVolumeRequired        bool   `json:"durable_volume_required,omitempty"`
	PreserveOnUpdate             bool   `json:"preserve_on_update,omitempty"`
	PreserveOnUninstall          bool   `json:"preserve_on_uninstall,omitempty"`
	PruningSupported             bool   `json:"pruning_supported,omitempty"`
	SnapshotVerificationRequired bool   `json:"snapshot_verification_required,omitempty"`
}

func (StorageGuidance) Validate

func (g StorageGuidance) Validate() error

type UpstreamClientConformance

type UpstreamClientConformance string
const (
	UpstreamClientConformanceShapeOnly  UpstreamClientConformance = "shape-only"
	UpstreamClientConformanceRealClient UpstreamClientConformance = "real-client"
)

type VerificationStatus

type VerificationStatus string
const (
	VerificationUnknown    VerificationStatus = ""
	VerificationPending    VerificationStatus = "pending"
	VerificationAccepted   VerificationStatus = "accepted"
	VerificationRejected   VerificationStatus = "rejected"
	VerificationConflicted VerificationStatus = "conflicted"
)

type VerifierResult

type VerifierResult struct {
	Provider    string              `json:"provider"`
	Status      VerificationStatus  `json:"status"`
	Message     string              `json:"message,omitempty"`
	Attestation AttestationDecision `json:"attestation,omitzero"`
	KeyRelease  KeyReleaseDecision  `json:"key_release,omitzero"`
}

type WASMRuntimeContract

type WASMRuntimeContract struct {
	ABI               string            `json:"abi"`
	ComponentRef      string            `json:"component_ref"`
	ComponentDigest   string            `json:"component_digest"`
	Features          []string          `json:"features,omitempty"`
	MaxMemoryBytes    int64             `json:"max_memory_bytes,omitempty"`
	MaxRuntimeSeconds int               `json:"max_runtime_seconds,omitempty"`
	Filesystem        RuntimePermission `json:"filesystem"`
	Network           RuntimePermission `json:"network"`
	NativeHostUpdates RuntimePermission `json:"native_host_updates,omitempty"`
	BrowserWorker     bool              `json:"browser_worker,omitempty"`
}

func (WASMRuntimeContract) Validate

func (w WASMRuntimeContract) Validate(profile RuntimeProfile) error

type WorkloadKind

type WorkloadKind string
const (
	WorkloadCommand            WorkloadKind = "command"
	WorkloadContainerBuild     WorkloadKind = "container-build"
	WorkloadDockerComposeBuild WorkloadKind = "docker-compose-build"
	WorkloadBenchmark          WorkloadKind = "benchmark"
	WorkloadTraining           WorkloadKind = "training"
	WorkloadService            WorkloadKind = "service"
	WorkloadNodeService        WorkloadKind = "node-service"
	WorkloadContentCache       WorkloadKind = "content-cache"
	WorkloadSupervisor         WorkloadKind = "supervisor"
	WorkloadProductCapture     WorkloadKind = "product-capture"
	WorkloadProvider           WorkloadKind = "provider"
	WorkloadWASMComponent      WorkloadKind = "wasm-component"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL