eebusraw

package
v0.1.35 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package eebusraw defines public raw eeBUS data contracts.

Index

Constants

View Source
const (
	MaximumReadTargetsV1   = 16
	MaximumReadTimeoutMSV1 = 30000
)
View Source
const MutationLabProfileContractV1 = "helianthus.eebus.raw-mutation-lab-profile.v1"

Variables

View Source
var ErrSecretDetected = errors.New("secret-classified raw value rejected")

Functions

This section is empty.

Types

type ApplyVerificationV1 added in v0.1.18

type ApplyVerificationV1 struct {
	Relation       string    `json:"relation"`
	Verified       bool      `json:"verified"`
	EqualValueHash HashV1    `json:"equal_value_hash"`
	VerifiedAt     time.Time `json:"verified_at"`
}

type AuditTransitionV1 added in v0.1.18

type AuditTransitionV1 struct {
	Sequence       uint64          `json:"sequence"`
	State          MutationStateV1 `json:"state"`
	TransitionedAt time.Time       `json:"transitioned_at"`
	Classification string          `json:"classification,omitempty"`
	PreviousHash   *HashV1         `json:"previous_hash"`
	TransitionHash HashV1          `json:"transition_hash"`
}

type AuthScopeV1 added in v0.1.17

type AuthScopeV1 string
const (
	AuthScopeV1RawRead  AuthScopeV1 = "eebus.raw.read"
	AuthScopeV1RawWrite AuthScopeV1 = "eebus.raw.write"
)

type ChangeabilityV1 added in v0.1.17

type ChangeabilityV1 string
const (
	ChangeabilityV1Unknown ChangeabilityV1 = "unknown"
	ChangeabilityV1False   ChangeabilityV1 = "false"
	ChangeabilityV1True    ChangeabilityV1 = "true"
)

type ConflictEvidenceV1 added in v0.1.18

type ConflictEvidenceV1 struct {
	Relation          string    `json:"relation"`
	Verified          bool      `json:"verified"`
	BeforeHash        HashV1    `json:"before_hash"`
	RequestedHash     HashV1    `json:"requested_hash"`
	ObservedAfterHash HashV1    `json:"observed_after_hash"`
	VerifiedAt        time.Time `json:"verified_at"`
}

type ConstraintOverrideV1 added in v0.1.18

type ConstraintOverrideV1 struct {
	ProfileID     string    `json:"profile_id"`
	Justification string    `json:"justification"`
	ExpiresAt     time.Time `json:"expires_at"`
}

type ConstraintSetV1 added in v0.1.17

type ConstraintSetV1 struct {
	Status          ConstraintStatusV1 `json:"status"`
	EnumValues      []TypedValueV1     `json:"enum_values,omitempty"`
	Minimum         *TypedValueV1      `json:"minimum,omitempty"`
	Maximum         *TypedValueV1      `json:"maximum,omitempty"`
	Step            *TypedValueV1      `json:"step,omitempty"`
	Unit            string             `json:"unit,omitempty"`
	MinCardinality  *uint64            `json:"min_cardinality,omitempty"`
	MaxCardinality  *uint64            `json:"max_cardinality,omitempty"`
	CrossFieldRules []string           `json:"cross_field_rules,omitempty"`
}

func (ConstraintSetV1) Clone added in v0.1.17

func (constraints ConstraintSetV1) Clone() ConstraintSetV1

type ConstraintStatusV1 added in v0.1.17

type ConstraintStatusV1 string
const (
	ConstraintStatusV1Unknown ConstraintStatusV1 = "unknown"
	ConstraintStatusV1Known   ConstraintStatusV1 = "known"
)

type ContractVersion

type ContractVersion string
const IdentityContractV1 ContractVersion = "helianthus.eebus.raw.identity.v1"
const IdentityContractV1Alpha1 ContractVersion = "helianthus.eebus.raw.identity.v1alpha1"

type EndpointIdentity

type EndpointIdentity struct {
	Role    EndpointRole       `json:"role"`
	ID      RedactedID         `json:"id"`
	Pairing PairingObservation `json:"pairing,omitempty"`
	Unknown []UnknownField     `json:"unknown,omitempty"`
}

func (EndpointIdentity) Validate

func (e EndpointIdentity) Validate() error

type EndpointIdentityV1

type EndpointIdentityV1 struct {
	Role    EndpointRoleV1 `json:"role"`
	ID      RedactedID     `json:"id"`
	Unknown []UnknownField `json:"unknown,omitempty"`
}

func (EndpointIdentityV1) Format

func (e EndpointIdentityV1) Format(s fmt.State, verb rune)

func (EndpointIdentityV1) GoString

func (e EndpointIdentityV1) GoString() string

func (EndpointIdentityV1) MarshalJSON

func (e EndpointIdentityV1) MarshalJSON() ([]byte, error)

func (EndpointIdentityV1) String

func (e EndpointIdentityV1) String() string

func (EndpointIdentityV1) Validate

func (e EndpointIdentityV1) Validate() error

type EndpointRole

type EndpointRole string
const (
	EndpointRoleLocal  EndpointRole = "local"
	EndpointRoleRemote EndpointRole = "remote"
)

type EndpointRoleV1

type EndpointRoleV1 string
const (
	EndpointRoleV1Local  EndpointRoleV1 = "local"
	EndpointRoleV1Remote EndpointRoleV1 = "remote"
)

func (EndpointRoleV1) Format

func (r EndpointRoleV1) Format(s fmt.State, verb rune)

func (EndpointRoleV1) GoString

func (r EndpointRoleV1) GoString() string

func (EndpointRoleV1) MarshalJSON

func (r EndpointRoleV1) MarshalJSON() ([]byte, error)

func (EndpointRoleV1) String

func (r EndpointRoleV1) String() string

func (EndpointRoleV1) Validate

func (r EndpointRoleV1) Validate() error

type ErrorCodeV1 added in v0.1.17

type ErrorCodeV1 string
const (
	ErrorCodeV1PermissionDenied             ErrorCodeV1 = "permission_denied"
	ErrorCodeV1InvalidArgument              ErrorCodeV1 = "invalid_argument"
	ErrorCodeV1UnsupportedOperation         ErrorCodeV1 = "unsupported_operation"
	ErrorCodeV1PartialOperationForbidden    ErrorCodeV1 = "partial_operation_forbidden"
	ErrorCodeV1ConstraintsUnknown           ErrorCodeV1 = "constraints_unknown"
	ErrorCodeV1ConstraintFailure            ErrorCodeV1 = "constraint_failure"
	ErrorCodeV1StaleReadToken               ErrorCodeV1 = "stale_read_token"
	ErrorCodeV1CASMismatch                  ErrorCodeV1 = "cas_mismatch"
	ErrorCodeV1RuntimeEpochMismatch         ErrorCodeV1 = "runtime_epoch_mismatch"
	ErrorCodeV1ConnectionGenerationMismatch ErrorCodeV1 = "connection_generation_mismatch"
	ErrorCodeV1IdempotencyConflict          ErrorCodeV1 = "idempotency_conflict"
	ErrorCodeV1WriterBusy                   ErrorCodeV1 = "writer_busy"
	ErrorCodeV1Disconnected                 ErrorCodeV1 = "disconnected"
	ErrorCodeV1Timeout                      ErrorCodeV1 = "timeout"
	ErrorCodeV1Cancelled                    ErrorCodeV1 = "cancelled"
	ErrorCodeV1RemoteError                  ErrorCodeV1 = "remote_error"
	ErrorCodeV1TypedEmpty                   ErrorCodeV1 = "typed_empty"
	ErrorCodeV1DecodeError                  ErrorCodeV1 = "decode_error"
	ErrorCodeV1PartialResult                ErrorCodeV1 = "partial_result"
	ErrorCodeV1OutcomeUnknown               ErrorCodeV1 = "outcome_unknown"
	ErrorCodeV1Conflict                     ErrorCodeV1 = "conflict"
	ErrorCodeV1RollbackFailed               ErrorCodeV1 = "rollback_failed"
	ErrorCodeV1NoEffect                     ErrorCodeV1 = "no_effect"
	ErrorCodeV1NotFound                     ErrorCodeV1 = "not_found"
	ErrorCodeV1SecretDetected               ErrorCodeV1 = "secret_detected"
	ErrorCodeV1Internal                     ErrorCodeV1 = "internal"
)

type ErrorDetailsV1 added in v0.1.17

type ErrorDetailsV1 struct {
	TargetIndex    *uint64               `json:"target_index,omitempty"`
	Classification string                `json:"classification,omitempty"`
	Unknown        []OpaqueObservationV1 `json:"unknown,omitempty"`
}

func (ErrorDetailsV1) Clone added in v0.1.17

func (details ErrorDetailsV1) Clone() ErrorDetailsV1

type ErrorV1 added in v0.1.17

type ErrorV1 struct {
	Code        ErrorCodeV1     `json:"code"`
	Message     string          `json:"message"`
	Retriable   bool            `json:"retriable"`
	SourceLayer SourceLayerV1   `json:"source_layer"`
	Details     *ErrorDetailsV1 `json:"details,omitempty"`
}

func NewErrorV1 added in v0.1.17

func NewErrorV1(code ErrorCodeV1, message string, retriable bool, layer SourceLayerV1) *ErrorV1

func ValidateFeatureDataGetDataV1 added in v0.1.19

func ValidateFeatureDataGetDataV1(
	request FeatureDataGetRequestV1,
	data FeatureDataGetDataV1,
	terminal *ErrorV1,
) *ErrorV1

func ValidateFeatureDataGetRequestV1 added in v0.1.17

func ValidateFeatureDataGetRequestV1(request FeatureDataGetRequestV1) *ErrorV1

func ValidateFeatureDataSetRequestV1 added in v0.1.19

func ValidateFeatureDataSetRequestV1(request FeatureDataSetRequestV1) *ErrorV1

func ValidateFeaturesGetDataV1 added in v0.1.19

func ValidateFeaturesGetDataV1(
	request FeaturesGetRequestV1,
	data FeaturesGetDataV1,
) *ErrorV1

func ValidateFeaturesGetRequestV1 added in v0.1.17

func ValidateFeaturesGetRequestV1(request FeaturesGetRequestV1) *ErrorV1

func ValidateMutationGetRequestV1 added in v0.1.19

func ValidateMutationGetRequestV1(request MutationGetRequestV1) *ErrorV1

func ValidateMutationLabProfileV1 added in v0.1.22

func ValidateMutationLabProfileV1(profile MutationLabProfileV1) *ErrorV1

func ValidateMutationRollbackRequestV1 added in v0.1.19

func ValidateMutationRollbackRequestV1(request MutationRollbackRequestV1) *ErrorV1

func ValidateMutationV1 added in v0.1.19

func ValidateMutationV1(mutation MutationV1) *ErrorV1

func ValidateReadAuthorizationV1 added in v0.1.17

func ValidateReadAuthorizationV1(auth ReadAuthorizationV1, tool ToolV1) *ErrorV1

func ValidateWriteAuthorizationV1 added in v0.1.18

func ValidateWriteAuthorizationV1(auth WriteAuthorizationV1, tool ToolV1) *ErrorV1

func (ErrorV1) Clone added in v0.1.17

func (value ErrorV1) Clone() ErrorV1

func (ErrorV1) Error added in v0.1.17

func (value ErrorV1) Error() string

type FeatureDataGetDataV1 added in v0.1.17

type FeatureDataGetDataV1 struct {
	Results  []ReadObservationV1 `json:"results"`
	Failures []ReadFailureV1     `json:"failures"`
	Complete bool                `json:"complete"`
}

func (FeatureDataGetDataV1) Clone added in v0.1.17

func (FeatureDataGetDataV1) Format added in v0.1.17

func (data FeatureDataGetDataV1) Format(state fmt.State, _ rune)

func (FeatureDataGetDataV1) GoString added in v0.1.17

func (data FeatureDataGetDataV1) GoString() string

func (FeatureDataGetDataV1) String added in v0.1.17

func (data FeatureDataGetDataV1) String() string

type FeatureDataGetRequestV1 added in v0.1.17

type FeatureDataGetRequestV1 struct {
	Targets   []FeatureTargetV1 `json:"targets"`
	TimeoutMS uint64            `json:"timeout_ms,omitempty"`
}

func (FeatureDataGetRequestV1) Clone added in v0.1.17

type FeatureDataSetRequestV1 added in v0.1.18

type FeatureDataSetRequestV1 struct {
	Target              FeatureTargetV1       `json:"target"`
	Value               TypedValueV1          `json:"value"`
	ReadToken           string                `json:"read_token"`
	ExpectedCurrent     *TypedValueV1         `json:"expected_current,omitempty"`
	IdempotencyKey      string                `json:"idempotency_key"`
	Mode                ModeV1                `json:"mode"`
	ProbeTTLSeconds     uint64                `json:"probe_ttl_seconds,omitempty"`
	ConstraintsOverride *ConstraintOverrideV1 `json:"constraints_override,omitempty"`
}

func (FeatureDataSetRequestV1) Format added in v0.1.18

func (request FeatureDataSetRequestV1) Format(state fmt.State, _ rune)

func (FeatureDataSetRequestV1) GoString added in v0.1.18

func (request FeatureDataSetRequestV1) GoString() string

func (FeatureDataSetRequestV1) String added in v0.1.18

type FeatureLocatorV1 added in v0.1.17

type FeatureLocatorV1 struct {
	RemoteSKI      string        `json:"remote_ski"`
	SHIPID         string        `json:"ship_id"`
	DeviceAddress  string        `json:"device_address"`
	EntityAddress  []uint64      `json:"entity_address"`
	FeatureAddress uint64        `json:"feature_address"`
	FeatureType    string        `json:"feature_type"`
	FeatureRole    FeatureRoleV1 `json:"feature_role"`
}

func (FeatureLocatorV1) Clone added in v0.1.17

func (locator FeatureLocatorV1) Clone() FeatureLocatorV1

func (FeatureLocatorV1) Format added in v0.1.17

func (locator FeatureLocatorV1) Format(state fmt.State, _ rune)

func (FeatureLocatorV1) GoString added in v0.1.17

func (locator FeatureLocatorV1) GoString() string

func (FeatureLocatorV1) String added in v0.1.17

func (locator FeatureLocatorV1) String() string

type FeatureRoleV1 added in v0.1.17

type FeatureRoleV1 string
const (
	FeatureRoleV1Client  FeatureRoleV1 = "client"
	FeatureRoleV1Server  FeatureRoleV1 = "server"
	FeatureRoleV1Special FeatureRoleV1 = "special"
)

type FeatureTargetV1 added in v0.1.17

type FeatureTargetV1 struct {
	RemoteSKI      string        `json:"remote_ski"`
	SHIPID         string        `json:"ship_id"`
	DeviceAddress  string        `json:"device_address"`
	EntityAddress  []uint64      `json:"entity_address"`
	FeatureAddress uint64        `json:"feature_address"`
	FeatureType    string        `json:"feature_type"`
	FeatureRole    FeatureRoleV1 `json:"feature_role"`
	Function       string        `json:"function"`
	Operation      OperationV1   `json:"operation"`
}

func (FeatureTargetV1) Clone added in v0.1.17

func (target FeatureTargetV1) Clone() FeatureTargetV1

func (FeatureTargetV1) Format added in v0.1.17

func (target FeatureTargetV1) Format(state fmt.State, _ rune)

func (FeatureTargetV1) GoString added in v0.1.17

func (target FeatureTargetV1) GoString() string

func (FeatureTargetV1) Locator added in v0.1.17

func (target FeatureTargetV1) Locator() FeatureLocatorV1

func (FeatureTargetV1) String added in v0.1.17

func (target FeatureTargetV1) String() string

type FeaturesGetDataV1 added in v0.1.17

type FeaturesGetDataV1 struct {
	Feature       FeatureLocatorV1       `json:"feature"`
	Description   string                 `json:"description,omitempty"`
	Functions     []FunctionDescriptorV1 `json:"functions"`
	Runtime       RuntimeBindingV1       `json:"runtime"`
	DataTimestamp time.Time              `json:"data_timestamp"`
	Source        ObservationSourceV1    `json:"source"`
	DataHash      HashV1                 `json:"data_hash"`
}

func (FeaturesGetDataV1) Clone added in v0.1.17

func (data FeaturesGetDataV1) Clone() FeaturesGetDataV1

func (FeaturesGetDataV1) ComputeDataHash added in v0.1.17

func (data FeaturesGetDataV1) ComputeDataHash() (HashV1, error)

func (FeaturesGetDataV1) Format added in v0.1.17

func (data FeaturesGetDataV1) Format(state fmt.State, _ rune)

func (FeaturesGetDataV1) GoString added in v0.1.17

func (data FeaturesGetDataV1) GoString() string

func (FeaturesGetDataV1) String added in v0.1.17

func (data FeaturesGetDataV1) String() string

type FeaturesGetRequestV1 added in v0.1.17

type FeaturesGetRequestV1 struct {
	Target FeatureLocatorV1 `json:"target"`
}

func (FeaturesGetRequestV1) Clone added in v0.1.17

type FullOperationsV1 added in v0.1.17

type FullOperationsV1 struct {
	Read  bool `json:"read"`
	Write bool `json:"write"`
}

type FunctionDescriptorV1 added in v0.1.17

type FunctionDescriptorV1 struct {
	Function           string           `json:"function"`
	Description        string           `json:"description,omitempty"`
	PossibleOperations FullOperationsV1 `json:"possible_operations"`
	Changeable         ChangeabilityV1  `json:"changeable"`
	Constraints        ConstraintSetV1  `json:"constraints"`
}

func (FunctionDescriptorV1) Clone added in v0.1.17

func (descriptor FunctionDescriptorV1) Clone() FunctionDescriptorV1

type HashV1 added in v0.1.17

type HashV1 string

func CanonicalSHA256V1 added in v0.1.17

func CanonicalSHA256V1(value any) (HashV1, error)

type IDKind

type IDKind string
const (
	IDKindLocalSKI               IDKind = "local-ski"
	IDKindRemoteSKI              IDKind = "remote-ski"
	IDKindCertificateFingerprint IDKind = "certificate-fingerprint"
	IDKindPeer                   IDKind = "peer"
	IDKindSession                IDKind = "session"
)

func (IDKind) Format

func (k IDKind) Format(s fmt.State, verb rune)

func (IDKind) GoString

func (k IDKind) GoString() string

func (IDKind) MarshalJSON

func (k IDKind) MarshalJSON() ([]byte, error)

func (IDKind) String

func (k IDKind) String() string

func (IDKind) Validate

func (k IDKind) Validate() error

type IdentityDocument

type IdentityDocument struct {
	Contract   ContractVersion    `json:"contract"`
	MaskTier   MaskTier           `json:"mask_tier"`
	CapturedAt time.Time          `json:"captured_at"`
	Local      EndpointIdentity   `json:"local"`
	Remotes    []EndpointIdentity `json:"remotes,omitempty"`
	Sessions   []SessionIdentity  `json:"sessions,omitempty"`
	Unknown    []UnknownField     `json:"unknown,omitempty"`
}

func NewIdentityDocument

func NewIdentityDocument(capturedAt time.Time, local EndpointIdentity) IdentityDocument

func (IdentityDocument) Format

func (d IdentityDocument) Format(s fmt.State, verb rune)

func (IdentityDocument) GoString

func (d IdentityDocument) GoString() string

func (IdentityDocument) MarshalJSON

func (d IdentityDocument) MarshalJSON() ([]byte, error)

func (IdentityDocument) String

func (d IdentityDocument) String() string

func (IdentityDocument) Validate

func (d IdentityDocument) Validate() error

type IdentityDocumentV1

type IdentityDocumentV1 struct {
	Contract   ContractVersion      `json:"contract"`
	MaskTier   MaskTier             `json:"mask_tier"`
	CapturedAt time.Time            `json:"captured_at"`
	Local      EndpointIdentityV1   `json:"local"`
	Remotes    []EndpointIdentityV1 `json:"remotes,omitempty"`
	Sessions   []SessionIdentityV1  `json:"sessions,omitempty"`
	Unknown    []UnknownField       `json:"unknown,omitempty"`
}

func NewIdentityDocumentV1

func NewIdentityDocumentV1(capturedAt time.Time, local EndpointIdentityV1) IdentityDocumentV1

func (IdentityDocumentV1) Format

func (d IdentityDocumentV1) Format(s fmt.State, verb rune)

func (IdentityDocumentV1) GoString

func (d IdentityDocumentV1) GoString() string

func (IdentityDocumentV1) MarshalJSON

func (d IdentityDocumentV1) MarshalJSON() ([]byte, error)

func (IdentityDocumentV1) String

func (d IdentityDocumentV1) String() string

func (IdentityDocumentV1) Validate

func (d IdentityDocumentV1) Validate() error

type MaskTier

type MaskTier string
const MaskTierRaw MaskTier = "raw"
const (
	MaskTierRedacted MaskTier = "redacted"
)

type ModeV1 added in v0.1.18

type ModeV1 string
const (
	ModeV1Apply ModeV1 = "apply"
	ModeV1Probe ModeV1 = "probe"
)

type MutationGetRequestV1 added in v0.1.18

type MutationGetRequestV1 struct {
	MutationRef string `json:"mutation_ref"`
}

type MutationLabProfileV1 added in v0.1.22

type MutationLabProfileV1 struct {
	Contract               string          `json:"contract"`
	ProfileID              string          `json:"profile_id"`
	Target                 FeatureTargetV1 `json:"target"`
	AllowedValueHashes     []HashV1        `json:"allowed_value_hashes"`
	RollbackValueHash      HashV1          `json:"rollback_value_hash"`
	MaximumProbeTTLSeconds uint64          `json:"maximum_probe_ttl_seconds"`
	SafetyPredicates       []string        `json:"safety_predicates"`
	EvidenceHashes         []HashV1        `json:"evidence_hashes"`
	ExpiresAt              time.Time       `json:"expires_at"`
}

func (MutationLabProfileV1) Clone added in v0.1.22

func (MutationLabProfileV1) Format added in v0.1.22

func (profile MutationLabProfileV1) Format(state fmt.State, _ rune)

func (MutationLabProfileV1) GoString added in v0.1.22

func (profile MutationLabProfileV1) GoString() string

func (MutationLabProfileV1) String added in v0.1.22

func (MutationLabProfileV1) String() string

type MutationRollbackRequestV1 added in v0.1.18

type MutationRollbackRequestV1 struct {
	MutationRef    string `json:"mutation_ref"`
	IdempotencyKey string `json:"idempotency_key"`
}

func (MutationRollbackRequestV1) Format added in v0.1.18

func (request MutationRollbackRequestV1) Format(state fmt.State, _ rune)

func (MutationRollbackRequestV1) GoString added in v0.1.18

func (request MutationRollbackRequestV1) GoString() string

func (MutationRollbackRequestV1) String added in v0.1.18

type MutationStateV1 added in v0.1.18

type MutationStateV1 string
const (
	MutationStateV1Prepared               MutationStateV1 = "prepared"
	MutationStateV1DispatchIntent         MutationStateV1 = "dispatch_intent"
	MutationStateV1ReplyObserved          MutationStateV1 = "reply_observed"
	MutationStateV1VerifyPending          MutationStateV1 = "verify_pending"
	MutationStateV1Applied                MutationStateV1 = "applied"
	MutationStateV1ProbeActive            MutationStateV1 = "probe_active"
	MutationStateV1RollbackIntent         MutationStateV1 = "rollback_intent"
	MutationStateV1RollbackDispatchIntent MutationStateV1 = "rollback_dispatch_intent"
	MutationStateV1RollbackReplyObserved  MutationStateV1 = "rollback_reply_observed"
	MutationStateV1RollbackVerifyPending  MutationStateV1 = "rollback_verify_pending"
	MutationStateV1RolledBack             MutationStateV1 = "rolled_back"
	MutationStateV1OutcomeUnknown         MutationStateV1 = "outcome_unknown"
	MutationStateV1Conflict               MutationStateV1 = "conflict"
	MutationStateV1FailedNoContact        MutationStateV1 = "failed_no_contact"
	MutationStateV1Rejected               MutationStateV1 = "rejected"
	MutationStateV1NoEffect               MutationStateV1 = "no_effect"
)

type MutationV1 added in v0.1.18

type MutationV1 struct {
	MutationRef           string                   `json:"mutation_ref"`
	State                 MutationStateV1          `json:"state"`
	Mode                  ModeV1                   `json:"mode"`
	Target                FeatureTargetV1          `json:"target"`
	Runtime               RuntimeBindingV1         `json:"runtime"`
	Before                TypedValueV1             `json:"before"`
	Requested             TypedValueV1             `json:"requested"`
	ProtocolAccepted      *bool                    `json:"protocol_accepted"`
	ObservedAfter         *TypedValueV1            `json:"observed_after"`
	Rollback              *RollbackV1              `json:"rollback,omitempty"`
	ProbeDeadline         *time.Time               `json:"probe_deadline,omitempty"`
	CreatedAt             time.Time                `json:"created_at"`
	UpdatedAt             time.Time                `json:"updated_at"`
	Error                 *ErrorV1                 `json:"error,omitempty"`
	ApplyVerification     *ApplyVerificationV1     `json:"apply_verification,omitempty"`
	ConflictEvidence      *ConflictEvidenceV1      `json:"conflict_evidence,omitempty"`
	NoContactEvidence     *NoContactEvidenceV1     `json:"no_contact_evidence,omitempty"`
	RejectionVerification *RejectionVerificationV1 `json:"rejection_verification,omitempty"`
	NoEffectVerification  *NoEffectVerificationV1  `json:"no_effect_verification,omitempty"`
	OutcomeEvidence       *OutcomeEvidenceV1       `json:"outcome_evidence,omitempty"`
	Audit                 []AuditTransitionV1      `json:"audit"`
}

type NoContactEvidenceV1 added in v0.1.18

type NoContactEvidenceV1 struct {
	RemoteFramesSent   uint64    `json:"remote_frames_sent"`
	LastCompletedPhase string    `json:"last_completed_phase"`
	VerifiedAt         time.Time `json:"verified_at"`
}

type NoEffectVerificationV1 added in v0.1.18

type NoEffectVerificationV1 struct {
	Relation       string    `json:"relation"`
	Verified       bool      `json:"verified"`
	EqualValueHash HashV1    `json:"equal_value_hash"`
	VerifiedAt     time.Time `json:"verified_at"`
}

type ObservationSourceV1 added in v0.1.17

type ObservationSourceV1 string
const (
	ObservationSourceV1Live  ObservationSourceV1 = "live"
	ObservationSourceV1Cache ObservationSourceV1 = "cache"
)

type OpaqueObservationV1 added in v0.1.17

type OpaqueObservationV1 struct {
	Path   string       `json:"path"`
	Source string       `json:"source"`
	Value  TypedValueV1 `json:"value"`
}

func (OpaqueObservationV1) Clone added in v0.1.17

func (observation OpaqueObservationV1) Clone() OpaqueObservationV1

func (OpaqueObservationV1) Format added in v0.1.17

func (observation OpaqueObservationV1) Format(state fmt.State, _ rune)

func (OpaqueObservationV1) GoString added in v0.1.17

func (observation OpaqueObservationV1) GoString() string

func (OpaqueObservationV1) String added in v0.1.17

func (observation OpaqueObservationV1) String() string

type OpaqueValue

type OpaqueValue struct {
	Masked string `json:"masked"`
	Digest string `json:"digest,omitempty"`
	Size   int    `json:"size,omitempty"`
}

func OpaqueBytes

func OpaqueBytes(raw []byte) OpaqueValue

func (OpaqueValue) Format

func (o OpaqueValue) Format(s fmt.State, verb rune)

func (OpaqueValue) GoString

func (o OpaqueValue) GoString() string

func (OpaqueValue) MarshalJSON

func (o OpaqueValue) MarshalJSON() ([]byte, error)

func (OpaqueValue) String

func (o OpaqueValue) String() string

func (OpaqueValue) Validate

func (o OpaqueValue) Validate() error

type OperationV1 added in v0.1.17

type OperationV1 string
const (
	OperationV1Read  OperationV1 = "READ"
	OperationV1Write OperationV1 = "WRITE"
)

type OutcomeEvidenceV1 added in v0.1.18

type OutcomeEvidenceV1 struct {
	PossibleSideEffect  bool            `json:"possible_side_effect"`
	BlindRetryForbidden bool            `json:"blind_retry_forbidden"`
	LastDurableState    MutationStateV1 `json:"last_durable_state"`
	RecordedAt          time.Time       `json:"recorded_at"`
}

type PairingObservation

type PairingObservation struct {
	State PairingState `json:"state,omitempty"`
}

func (PairingObservation) Validate

func (p PairingObservation) Validate() error

type PairingState

type PairingState string
const (
	PairingStateUnknown  PairingState = "unknown"
	PairingStateUnpaired PairingState = "unpaired"
	PairingStatePaired   PairingState = "paired"
	PairingStateDenied   PairingState = "denied"
)

type ProtocolMessageV1 added in v0.1.17

type ProtocolMessageV1 struct {
	Classifier     string                `json:"classifier"`
	CorrelationKey uint64                `json:"correlation_key"`
	Function       string                `json:"function"`
	Data           *TypedValueV1         `json:"data,omitempty"`
	ErrorNumber    *uint64               `json:"error_number,omitempty"`
	Unknown        []OpaqueObservationV1 `json:"unknown,omitempty"`
}

func (ProtocolMessageV1) Clone added in v0.1.17

func (message ProtocolMessageV1) Clone() ProtocolMessageV1

func (ProtocolMessageV1) Format added in v0.1.17

func (message ProtocolMessageV1) Format(state fmt.State, _ rune)

func (ProtocolMessageV1) GoString added in v0.1.17

func (message ProtocolMessageV1) GoString() string

func (ProtocolMessageV1) String added in v0.1.17

func (message ProtocolMessageV1) String() string

type ReadAuthorizationV1 added in v0.1.17

type ReadAuthorizationV1 struct {
	PrincipalClass string      `json:"principal_class"`
	Scope          AuthScopeV1 `json:"scope"`
	Tool           ToolV1      `json:"tool"`
	MaskTier       MaskTier    `json:"mask_tier"`
}

func (ReadAuthorizationV1) Format added in v0.1.17

func (auth ReadAuthorizationV1) Format(state fmt.State, _ rune)

func (ReadAuthorizationV1) GoString added in v0.1.17

func (auth ReadAuthorizationV1) GoString() string

func (ReadAuthorizationV1) String added in v0.1.17

func (auth ReadAuthorizationV1) String() string

type ReadFailureV1 added in v0.1.17

type ReadFailureV1 struct {
	TargetIndex uint64          `json:"target_index"`
	Target      FeatureTargetV1 `json:"target"`
	Error       ErrorV1         `json:"error"`
}

func (ReadFailureV1) Clone added in v0.1.17

func (failure ReadFailureV1) Clone() ReadFailureV1

func (ReadFailureV1) Format added in v0.1.17

func (failure ReadFailureV1) Format(state fmt.State, _ rune)

func (ReadFailureV1) GoString added in v0.1.17

func (failure ReadFailureV1) GoString() string

func (ReadFailureV1) String added in v0.1.17

func (failure ReadFailureV1) String() string

type ReadObservationV1 added in v0.1.17

type ReadObservationV1 struct {
	Target        FeatureTargetV1       `json:"target"`
	Runtime       RuntimeBindingV1      `json:"runtime"`
	RawRequest    ProtocolMessageV1     `json:"raw_request"`
	RawResponse   ProtocolMessageV1     `json:"raw_response"`
	Value         TypedValueV1          `json:"value"`
	Unknown       []OpaqueObservationV1 `json:"unknown,omitempty"`
	RequestedAt   time.Time             `json:"requested_at"`
	ReceivedAt    time.Time             `json:"received_at"`
	DataTimestamp time.Time             `json:"data_timestamp"`
	Source        ObservationSourceV1   `json:"source"`
	ReadToken     ReadTokenV1           `json:"read_token"`
	DataHash      HashV1                `json:"data_hash"`
}

func (ReadObservationV1) Clone added in v0.1.17

func (observation ReadObservationV1) Clone() ReadObservationV1

func (ReadObservationV1) ComputeDataHash added in v0.1.17

func (observation ReadObservationV1) ComputeDataHash() (HashV1, error)

func (ReadObservationV1) Format added in v0.1.17

func (observation ReadObservationV1) Format(state fmt.State, _ rune)

func (ReadObservationV1) GoString added in v0.1.17

func (observation ReadObservationV1) GoString() string

func (ReadObservationV1) String added in v0.1.17

func (observation ReadObservationV1) String() string

type ReadTokenV1 added in v0.1.17

type ReadTokenV1 struct {
	ReadToken   string    `json:"read_token"`
	Reusable    bool      `json:"reusable"`
	ExpiresAt   time.Time `json:"expires_at"`
	BindingHash HashV1    `json:"binding_hash"`
}

func (ReadTokenV1) Format added in v0.1.17

func (token ReadTokenV1) Format(state fmt.State, _ rune)

func (ReadTokenV1) GoString added in v0.1.17

func (token ReadTokenV1) GoString() string

func (ReadTokenV1) String added in v0.1.17

func (token ReadTokenV1) String() string

type RedactedID

type RedactedID struct {
	Kind   IDKind `json:"kind"`
	Masked string `json:"masked"`
	Digest string `json:"digest,omitempty"`
}

func RedactID

func RedactID(kind IDKind, raw string) (RedactedID, error)

func (RedactedID) Format

func (r RedactedID) Format(s fmt.State, verb rune)

func (RedactedID) GoString

func (r RedactedID) GoString() string

func (RedactedID) MarshalJSON

func (r RedactedID) MarshalJSON() ([]byte, error)

func (RedactedID) String

func (r RedactedID) String() string

func (RedactedID) Validate

func (r RedactedID) Validate() error

type RejectionVerificationV1 added in v0.1.18

type RejectionVerificationV1 struct {
	Relation            string    `json:"relation"`
	Verified            bool      `json:"verified"`
	CorrelatedRejection bool      `json:"correlated_rejection"`
	EqualValueHash      HashV1    `json:"equal_value_hash"`
	VerifiedAt          time.Time `json:"verified_at"`
}

type RollbackV1 added in v0.1.18

type RollbackV1 struct {
	State            MutationStateV1         `json:"state"`
	Before           TypedValueV1            `json:"before"`
	ProtocolAccepted *bool                   `json:"protocol_accepted"`
	ObservedAfter    *TypedValueV1           `json:"observed_after"`
	Error            *ErrorV1                `json:"error,omitempty"`
	Verification     *RollbackVerificationV1 `json:"verification,omitempty"`
}

type RollbackVerificationV1 added in v0.1.18

type RollbackVerificationV1 struct {
	Relation       string    `json:"relation"`
	Verified       bool      `json:"verified"`
	EqualValueHash HashV1    `json:"equal_value_hash"`
	VerifiedAt     time.Time `json:"verified_at"`
}

type RuntimeBindingV1 added in v0.1.17

type RuntimeBindingV1 struct {
	RuntimeEpoch         uint64 `json:"runtime_epoch"`
	ConnectionGeneration uint64 `json:"connection_generation"`
}

type SessionIdentity

type SessionIdentity struct {
	ID       RedactedID     `json:"id"`
	RemoteID RedactedID     `json:"remote_id"`
	State    SessionState   `json:"state"`
	Unknown  []UnknownField `json:"unknown,omitempty"`
}

func (SessionIdentity) Validate

func (s SessionIdentity) Validate() error

type SessionIdentityV1

type SessionIdentityV1 struct {
	ID       RedactedID     `json:"id"`
	RemoteID RedactedID     `json:"remote_id"`
	Unknown  []UnknownField `json:"unknown,omitempty"`
}

func (SessionIdentityV1) Format

func (s SessionIdentityV1) Format(state fmt.State, verb rune)

func (SessionIdentityV1) GoString

func (s SessionIdentityV1) GoString() string

func (SessionIdentityV1) MarshalJSON

func (s SessionIdentityV1) MarshalJSON() ([]byte, error)

func (SessionIdentityV1) String

func (s SessionIdentityV1) String() string

func (SessionIdentityV1) Validate

func (s SessionIdentityV1) Validate() error

type SessionState

type SessionState string
const (
	SessionStateUnknown      SessionState = "unknown"
	SessionStateObserved     SessionState = "observed"
	SessionStateDisconnected SessionState = "disconnected"
	SessionStateDegraded     SessionState = "degraded"
)

type SourceLayerV1 added in v0.1.17

type SourceLayerV1 string
const (
	SourceLayerV1Authorization  SourceLayerV1 = "eebusreg-runtime"
	SourceLayerV1Validation     SourceLayerV1 = "eebusreg-runtime"
	SourceLayerV1Runtime        SourceLayerV1 = "eebusreg-runtime"
	SourceLayerV1Executor       SourceLayerV1 = "eebus-go-executor"
	SourceLayerV1SpineRoundTrip SourceLayerV1 = "spine-go-round-trip"
	SourceLayerV1Decode         SourceLayerV1 = "eebusreg-runtime"
	SourceLayerV1Remote         SourceLayerV1 = "remote"
)

type ToolV1 added in v0.1.17

type ToolV1 string
const (
	ToolV1FeaturesGet       ToolV1 = "eebus.v1.features.get"
	ToolV1FeaturesDataGet   ToolV1 = "eebus.v1.features.data.get"
	ToolV1FeaturesDataSet   ToolV1 = "eebus.v1.features.data.set"
	ToolV1MutationsGet      ToolV1 = "eebus.v1.mutations.get"
	ToolV1MutationsRollback ToolV1 = "eebus.v1.mutations.rollback"
)

type TypedValueV1 added in v0.1.17

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

func DecodeTypedValueV1 added in v0.1.17

func DecodeTypedValueV1(data []byte) (TypedValueV1, error)

func NewTypedValueV1 added in v0.1.17

func NewTypedValueV1(value any) (TypedValueV1, error)

func (TypedValueV1) Clone added in v0.1.17

func (value TypedValueV1) Clone() TypedValueV1

func (TypedValueV1) ComputeHash added in v0.1.17

func (value TypedValueV1) ComputeHash() (HashV1, error)

func (TypedValueV1) Format added in v0.1.17

func (value TypedValueV1) Format(state fmt.State, _ rune)

func (TypedValueV1) GoString added in v0.1.17

func (value TypedValueV1) GoString() string

func (TypedValueV1) MarshalJSON added in v0.1.17

func (value TypedValueV1) MarshalJSON() ([]byte, error)

func (TypedValueV1) String added in v0.1.17

func (value TypedValueV1) String() string

func (*TypedValueV1) UnmarshalJSON added in v0.1.17

func (value *TypedValueV1) UnmarshalJSON(data []byte) error

func (TypedValueV1) Validate added in v0.1.17

func (value TypedValueV1) Validate() error

func (TypedValueV1) Value added in v0.1.17

func (value TypedValueV1) Value() any

type UnknownField

type UnknownField struct {
	Path  UnknownPath `json:"path"`
	Value OpaqueValue `json:"value"`
}

func (UnknownField) Format

func (u UnknownField) Format(s fmt.State, verb rune)

func (UnknownField) GoString

func (u UnknownField) GoString() string

func (UnknownField) MarshalJSON

func (u UnknownField) MarshalJSON() ([]byte, error)

func (UnknownField) String

func (u UnknownField) String() string

func (UnknownField) Validate

func (u UnknownField) Validate() error

type UnknownPath

type UnknownPath string
const (
	UnknownPathDocument UnknownPath = "/document/unknown"
	UnknownPathDevice   UnknownPath = "/device/unknown"
	UnknownPathLocal    UnknownPath = "/local/unknown"
	UnknownPathRemote   UnknownPath = "/remote/unknown"
	UnknownPathSession  UnknownPath = "/session/unknown"
)

func (UnknownPath) Format

func (p UnknownPath) Format(s fmt.State, verb rune)

func (UnknownPath) GoString

func (p UnknownPath) GoString() string

func (UnknownPath) MarshalJSON

func (p UnknownPath) MarshalJSON() ([]byte, error)

func (UnknownPath) String

func (p UnknownPath) String() string

func (UnknownPath) Validate

func (p UnknownPath) Validate() error

type WriteAuthorizationV1 added in v0.1.18

type WriteAuthorizationV1 struct {
	PrincipalClass string      `json:"principal_class"`
	Scope          AuthScopeV1 `json:"scope"`
	Tool           ToolV1      `json:"tool"`
	MaskTier       MaskTier    `json:"mask_tier"`
}

Jump to

Keyboard shortcuts

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