Documentation
¶
Index ¶
- Constants
- Variables
- func AsValidatedCapabilityBusinessError(err error) (capability.BusinessError, bool)
- func HasUnattestedRPCStructuredError(err error) bool
- func ImportLocalPackageBytes(ctx context.Context, h *Host, pluginInstanceID string, data []byte) (registry.PluginRecord, error)
- func MarshalRuntimeDescriptorJSON(descriptor RuntimeDescriptor) ([]byte, error)
- type ActionDeniedError
- type AuditEvent
- type AuditSink
- type AuthorizationAdapter
- type AuthorizationRequest
- type AuthorizationTarget
- type BindRetainedDataRequest
- type CallMethodRequest
- type CallMethodResult
- type CapabilityModule
- type CleanupExpiredRetainedDataRequest
- type CloseAuthenticatedSessionScopeRequest
- type Config
- type ConnectivityModule
- type CoreActionAdapter
- type CoreActionModule
- type CoreAdapters
- type DeleteExportDataRequest
- type DeleteRetainedDataRequest
- type DeleteSecurityPolicyRequest
- type DiagnosticDetails
- type DiagnosticEvent
- type DiagnosticLister
- type DiagnosticsSink
- type DisableRequest
- type DisposeSurfaceRequest
- type DowngradeRequest
- type EnableRequest
- type ExportDataRequest
- type ExportDataResult
- type ExternalPackageCancelSummary
- type ExternalPackageCapabilityContractSummary
- type ExternalPackageConfirmationSummary
- type ExternalPackageCoreActionSummary
- type ExternalPackageExecutionApproval
- type ExternalPackageInspection
- type ExternalPackageIntent
- type ExternalPackageIntentSummary
- type ExternalPackageMethodRouteSummary
- type ExternalPackageMethodSummary
- type ExternalPackageModule
- type ExternalPackageNetworkMethodAccessSummary
- type ExternalPackageNetworkSummary
- type ExternalPackagePermissionSummary
- type ExternalPackageRedirectHop
- type ExternalPackageSecretRefSummary
- type ExternalPackageSecuritySummary
- type ExternalPackageSignatureAssessment
- type ExternalPackageSignatureAssessmentRequest
- type ExternalPackageSignatureAssessor
- type ExternalPackageSignatureFreshnessAssessor
- type ExternalPackageSignatureFreshnessRequest
- type ExternalPackageSizeSummary
- type ExternalPackageSource
- type ExternalPackageSourceProvenance
- type ExternalPackageStorageMethodAccessSummary
- type ExternalPackageStorageSummary
- type ExternalPackageSurfaceSummary
- type ExternalPackageUpdateEligibility
- type ExternalPackageWorkerSummary
- type Feature
- type FeatureNotConfiguredError
- type FinalizeClosedSessionScopeRequest
- type FinalizeSessionScopeRequest
- type GetPermissionRequirementsRequest
- type GetSecurityPolicyRequest
- type GetSettingsRequest
- type GrantPermissionRequest
- type Host
- func (h *Host) BindRetainedData(ctx context.Context, req BindRetainedDataRequest) (result plugindata.Binding, retErr error)
- func (h *Host) BindSecretRef(ctx context.Context, req SecretBindRequest) (retErr error)
- func (h *Host) CallPluginMethod(ctx context.Context, req CallMethodRequest) (result CallMethodResult, resultErr error)
- func (h *Host) CancelExecution(ctx context.Context, id, reason string) (execution.Execution, error)
- func (h *Host) Capabilities() *capability.Registry
- func (h *Host) CleanupExpiredRetainedData(ctx context.Context, req CleanupExpiredRetainedDataRequest) (RetainedDataCleanupResult, error)
- func (h *Host) Close() error
- func (h *Host) CloseAuthenticatedSessionScope(ctx context.Context, req CloseAuthenticatedSessionScopeRequest) (SessionScopeTeardownMaintenanceResult, error)
- func (h *Host) DeleteExportedPluginData(ctx context.Context, req DeleteExportDataRequest) error
- func (h *Host) DeleteRetainedData(ctx context.Context, req DeleteRetainedDataRequest) (result plugindata.Binding, retErr error)
- func (h *Host) DeleteSecretRef(ctx context.Context, req SecretDeleteRequest) (retErr error)
- func (h *Host) DeleteSecurityPolicy(ctx context.Context, req DeleteSecurityPolicyRequest) (result registry.AuthorizationRevisions, retErr error)
- func (h *Host) DisablePlugin(ctx context.Context, req DisableRequest) (result registry.PluginRecord, retErr error)
- func (h *Host) DisposeSurface(ctx context.Context, req DisposeSurfaceRequest) error
- func (h *Host) DowngradePlugin(ctx context.Context, req DowngradeRequest) (result registry.PluginRecord, retErr error)
- func (h *Host) EnablePlugin(ctx context.Context, req EnableRequest) (result registry.PluginRecord, retErr error)
- func (h *Host) EventsAfter(ctx context.Context, id string, cursor uint64, limit int) ([]execution.Event, error)
- func (h *Host) ExportPluginData(ctx context.Context, req ExportDataRequest) (result ExportDataResult, retErr error)
- func (h *Host) Features(ctx context.Context) ([]Feature, error)
- func (h *Host) FinalizeClosedSessionScope(ctx context.Context, req FinalizeClosedSessionScopeRequest) (SessionScopeFinalizationResult, error)
- func (h *Host) FinalizeSessionScope(ctx context.Context, req FinalizeSessionScopeRequest) error
- func (h *Host) GetCompatibility(ctx context.Context) (version.CompatibilityManifest, error)
- func (h *Host) GetExecution(ctx context.Context, id string) (execution.Execution, error)
- func (h *Host) GetPermissionRequirements(ctx context.Context, req GetPermissionRequirementsRequest) (PermissionRequirementsResult, error)
- func (h *Host) GetPluginSettings(ctx context.Context, req GetSettingsRequest) (SettingsResult, error)
- func (h *Host) GetSecurityPolicy(ctx context.Context, req GetSecurityPolicyRequest) (SecurityPolicyResult, error)
- func (h *Host) GetSettingsSchema(ctx context.Context, req GetSettingsRequest) (SettingsSchemaResult, error)
- func (h *Host) GrantPermission(ctx context.Context, req GrantPermissionRequest) (result PermissionMutationResult, retErr error)
- func (h *Host) ImportLocalPackage(ctx context.Context, req ImportLocalPackageRequest) (registry.PluginRecord, error)
- func (h *Host) ImportPluginData(ctx context.Context, req ImportDataRequest) (result registry.PluginRecord, retErr error)
- func (h *Host) InspectExternalPackage(ctx context.Context, req InspectExternalPackageRequest) (result ExternalPackageInspection, retErr error)
- func (h *Host) InspectPluginData(ctx context.Context, req InspectPluginDataRequest) (PluginDataInspection, error)
- func (h *Host) InspectUploadedExternalPackage(ctx context.Context, req InspectUploadedExternalPackageRequest) (ExternalPackageInspection, error)
- func (h *Host) InstallInspectedPackage(ctx context.Context, req InstallInspectedPackageRequest) (result InstalledExternalPackage, retErr error)
- func (h *Host) InstallReleaseRef(ctx context.Context, req InstallReleaseRefRequest) (registry.PluginRecord, error)
- func (h *Host) InvokeIntent(ctx context.Context, req InvokeIntentRequest) (response CallMethodResult, resultErr error)
- func (h *Host) ListDiagnosticEvents(ctx context.Context, req ListDiagnosticEventsRequest) ([]DiagnosticEvent, error)
- func (h *Host) ListExecutions(ctx context.Context, pluginInstanceID string, cursor uint64, limit int) ([]execution.Execution, uint64, error)
- func (h *Host) ListIntents(ctx context.Context, req ListIntentsRequest) ([]IntentRecord, error)
- func (h *Host) ListPermissionGrants(ctx context.Context, req ListPermissionGrantsRequest) ([]permissions.Record, error)
- func (h *Host) ListPluginInventory(ctx context.Context) ([]PluginInventoryRecord, error)
- func (h *Host) ListPlugins(ctx context.Context) ([]registry.PluginRecord, error)
- func (h *Host) ListRetainedData(ctx context.Context, req ListRetainedDataRequest) ([]plugindata.Binding, error)
- func (h *Host) ListSecurityPolicies(ctx context.Context) ([]SecurityPolicyResult, error)
- func (h *Host) MintBridgeToken(ctx context.Context, req MintBridgeTokenRequest) (result bridge.GatewayTokenResult, retErr error)
- func (h *Host) MintConnectionGrant(ctx context.Context, req MintConnectionGrantRequest) (result connectivity.ConnectionGrant, retErr error)
- func (h *Host) MintNetworkHandleGrant(ctx context.Context, req MintConnectionGrantRequest) (result NetworkHandleGrantResult, retErr error)
- func (h *Host) MintStorageHandleGrant(ctx context.Context, req MintStorageHandleGrantRequest) (result StorageHandleGrantResult, retErr error)
- func (h *Host) OpenSurface(ctx context.Context, req OpenSurfaceRequest) (result bridge.SurfaceBootstrap, retErr error)
- func (h *Host) PatchPluginSettings(ctx context.Context, req PatchSettingsRequest) (result SettingsResult, retErr error)
- func (h *Host) PrepareMethodConfirmation(ctx context.Context, req PrepareMethodConfirmationRequest) (response PrepareMethodConfirmationResult, resultErr error)
- func (h *Host) PrepareSurface(ctx context.Context, req PrepareSurfaceRequest) (result PrepareSurfaceResult, err error)
- func (h *Host) PutSecurityPolicy(ctx context.Context, req PutSecurityPolicyRequest) (result SecurityPolicyResult, retErr error)
- func (h *Host) ReadPluginDataFile(ctx context.Context, req ReadPluginDataFileRequest) (storage.FileReadResult, error)
- func (h *Host) ReadPluginIcon(ctx context.Context, req ReadPluginIconRequest) (ReadPluginIconResult, error)
- func (h *Host) ReadSurfaceAsset(ctx context.Context, req ReadSurfaceAssetRequest) (ReadSurfaceAssetResult, error)
- func (h *Host) ReconcileSurfaceRevocation(ctx context.Context, req DisposeSurfaceRequest) (ReconcileSurfaceRevocationResult, error)
- func (h *Host) RecoverEnabled(ctx context.Context) (RecoverySnapshot, error)
- func (h *Host) RejectMethodConfirmation(ctx context.Context, req RejectMethodConfirmationRequest) (response RejectMethodConfirmationResult, resultErr error)
- func (h *Host) ReportHTTPAdapterFailure(ctx context.Context, operation string, code security.ErrorCode, err error)
- func (h *Host) ResumeClosedSessionScopeTeardown(ctx context.Context, req ResumeClosedSessionScopeTeardownRequest) (SessionScopeTeardownMaintenanceResult, error)
- func (h *Host) RetryPluginRecovery(ctx context.Context, pluginInstanceID string) (PluginRecoveryResult, error)
- func (h *Host) RevokePermission(ctx context.Context, req RevokePermissionRequest) (result PermissionMutationResult, retErr error)
- func (h *Host) RevokeSessionScope(ctx context.Context, req RevokeSessionScopeRequest) (RevokeSessionScopeResult, error)
- func (h *Host) RuntimeHealth(ctx context.Context) (RuntimeHealth, error)
- func (h *Host) StartReleaseInstallExecution(ctx context.Context, req StartReleaseInstallExecutionRequest) (execution.Execution, error)
- func (h *Host) StartRuntime(ctx context.Context, req StartRuntimeRequest) (result RuntimeHealth, retErr error)
- func (h *Host) StopRuntime(ctx context.Context) (retErr error)
- func (h *Host) TestSecretRef(ctx context.Context, req SecretTestRequest) (retErr error)
- func (h *Host) UninstallPlugin(ctx context.Context, req UninstallRequest) (result registry.PluginRecord, retErr error)
- func (h *Host) UpdateLocalPackage(ctx context.Context, req UpdateLocalPackageRequest) (registry.PluginRecord, error)
- func (h *Host) UpdateReleaseRef(ctx context.Context, req UpdateReleaseRefRequest) (registry.PluginRecord, error)
- func (h *Host) WritePluginDataFile(ctx context.Context, req WritePluginDataFileRequest) (storage.FileWriteResult, error)
- type HostCapabilityRequirement
- type HostConfigError
- type HostRequirement
- type HostRequirementPolicy
- type HostRequirementSelection
- type HostRequirementSelectionRequest
- type ImportDataRequest
- type ImportLocalPackageRequest
- type InspectExternalPackageRequest
- type InspectPluginDataRequest
- type InspectUploadedExternalPackageRequest
- type InstallInspectedPackageRequest
- type InstallReleaseRefRequest
- type InstalledExternalPackage
- type IntentRecord
- type InvokeIntentRequest
- type ListDiagnosticEventsRequest
- type ListIntentsRequest
- type ListPermissionGrantsRequest
- type ListRetainedDataRequest
- type ManagementAction
- type ManagementRevisionMismatchError
- type MintBridgeTokenRequest
- type MintConnectionGrantRequest
- type MintStorageHandleGrantRequest
- type MutationOutcome
- type NetworkHandleGrantResult
- type OpenSurfaceRequest
- type PackageDistribution
- type PackageDistributionRef
- type PackageHashSet
- type PackageReleaseSignature
- type PackageTrustAction
- type PackageTrustVerificationRequest
- type PackageTrustVerificationResult
- type PackageTrustVerifier
- type PatchSettingsRequest
- type PermissionMutationResult
- type PermissionRequirementContract
- type PermissionRequirementMethod
- type PermissionRequirementsResult
- type PluginActionBlockedReason
- type PluginActionState
- type PluginData
- type PluginDataInspection
- type PluginDataObjectInspection
- type PluginInventoryRecord
- type PluginPackageRelease
- type PluginRecoveryResult
- type PluginRef
- type PluginReleaseRef
- type PolicyAdapter
- type PolicyDecision
- type PrepareMethodConfirmationRequest
- type PrepareMethodConfirmationResult
- type PrepareSurfaceRequest
- type PrepareSurfaceResult
- type PutSecurityPolicyRequest
- type ReadPluginDataFileRequest
- type ReadPluginIconRequest
- type ReadPluginIconResult
- type ReadSurfaceAssetRequest
- type ReadSurfaceAssetResult
- type ReconcileSurfaceRevocationResult
- type RecoverySnapshot
- type RejectMethodConfirmationRequest
- type RejectMethodConfirmationResult
- type ReleaseArtifactFailure
- type ReleaseArtifactFailureProvider
- type ReleaseArtifactProgress
- type ReleaseArtifactResolveRequest
- type ReleaseArtifactResolver
- type ReleaseCompatibility
- type ReleaseEvidence
- type ReleaseMetadataSignature
- type ReleaseModule
- type ResolvedPackageArtifact
- type ResourceRef
- type ResumeClosedSessionScopeTeardownRequest
- type RetainedDataCleanupResult
- type RevokePermissionRequest
- type RevokeSessionScopeRequest
- type RevokeSessionScopeResult
- type RuntimeAdmissionTarget
- type RuntimeBinaryName
- type RuntimeDescriptor
- func (descriptor RuntimeDescriptor) BinarySHA256() SHA256Digest
- func (descriptor RuntimeDescriptor) CompatibleWithPlatform() error
- func (descriptor RuntimeDescriptor) ContractSetSHA256() SHA256Digest
- func (descriptor RuntimeDescriptor) PlatformVersion() platformversion.SemVer
- func (descriptor RuntimeDescriptor) RustIPCVersion() RustIPCVersion
- func (descriptor RuntimeDescriptor) Target() RuntimeAdmissionTarget
- func (descriptor RuntimeDescriptor) WASMABIVersion() WASMABIVersion
- type RuntimeDescriptorOptions
- type RuntimeHealth
- type RuntimeLimits
- type RuntimeModule
- type RuntimeModuleCacheMetrics
- type RuntimeModuleCloseResult
- type RuntimeModuleDisposition
- type RuntimeModuleOptions
- type RuntimeProcessHealth
- type RuntimeShardHealth
- type RustIPCVersion
- type SHA256Digest
- type SecretBindRequest
- type SecretDeleteRequest
- type SecretStoreAdapter
- type SecretTestRequest
- type SecretsModule
- type SecurityPolicyResult
- type SessionScopeFinalizationResult
- type SessionScopeFinalizationStatus
- type SessionScopeTeardownMaintenanceResult
- type SessionScopeTeardownMaintenanceStatus
- type SettingsResult
- type SettingsSchemaResult
- type SettingsSecretMetadata
- type StartReleaseInstallExecutionRequest
- type StartRuntimeRequest
- type StorageHandleGrantResult
- type SurfaceCatalogSink
- type SurfaceSnapshot
- type UninstallRequest
- type UpdateLocalPackageRequest
- type UpdateReleaseRefRequest
- type VerifiedExecutable
- type VerifiedExecutableOptions
- type WASMABIVersion
- type WorkerErrorOrigin
- type WorkerExecutionError
- type WritePluginDataFileRequest
Constants ¶
const ( PluginRecoveryReady = "ready" PluginRecoveryFailed = "failed" )
const ( MutationOutcomeCommitted = mutation.OutcomeCommitted MutationOutcomeNotCommitted = mutation.OutcomeNotCommitted MutationOutcomeUnknown = mutation.OutcomeUnknown )
const ( WorkerErrorOriginRuntime = runtimeclient.WorkerErrorOriginRuntime WorkerErrorOriginHostcall = runtimeclient.WorkerErrorOriginHostcall WorkerErrorOriginPlugin = runtimeclient.WorkerErrorOriginPlugin )
const ( DefaultRuntimeStartupTimeout = 10 * time.Second DefaultRuntimeShutdownTimeout = 5 * time.Second MinimumRuntimeTimeout = 100 * time.Millisecond MaximumRuntimeTimeout = 2 * time.Minute )
Variables ¶
var ( ErrExternalPackageInspectionNotFound = errors.New("external package inspection not found") ErrExternalPackageInspectionExpired = errors.New("external package inspection expired") ErrExternalPackageConfirmation = errors.New("external package hash does not match inspection") ErrExternalPackageInstallBlocked = errors.New("external package install is blocked by integrity assessment") ErrExternalPackageInstallInProgress = errors.New("external package install is in progress") ErrExternalPackageInspectionStale = errors.New("external package signature assessment changed after inspection") ErrExternalPackageRequestInvalid = errors.New("external package request is invalid") )
var ( ErrPluginDataNotDeclared = errors.New("plugin does not declare exportable data") ErrPluginStorageNotDeclared = errors.New("target plugin does not declare storage") ErrPluginSettingsNotDeclared = errors.New("target plugin does not declare settings") ErrPluginDataContractChanged = errors.New("plugin data contract changed") ErrExecutionDeleteBlocked = errors.New("execution blocks data deletion") ErrPluginRecoveryNotEnabled = errors.New("plugin runtime recovery requires an enabled plugin") ErrExecutionCancelDispatchFailed = errors.New("execution cancel dispatch failed") ErrMethodRequestContract = errors.New("plugin method request contract validation failed") ErrMethodResponseContract = errors.New("plugin method response contract validation failed") ErrMethodAdapterPanic = errors.New("plugin method adapter panicked") ErrConfirmationInvalid = errors.New("plugin confirmation is invalid") ErrConfirmationRejected = errors.New("plugin confirmation was rejected") ErrManagementRevisionMismatch = errors.New("management revision mismatch") ErrPluginAlreadyInstalled = errors.New("plugin instance is already installed") ErrPluginTrustDenied = errors.New("plugin trust does not allow execution") ErrPluginUIProtocolUnsupported = errors.New("plugin UI protocol is unsupported") ErrPluginRuntimeNotConfigured = errors.New("plugin runtime is not configured") ErrPluginRuntimeIncompatible = errors.New("plugin runtime is incompatible") ErrSecurityEventPersistence = errors.New("plugin security event persistence failed") ErrAdapterFailure = errors.New("plugin host adapter failed") ErrOwnerScopeMismatch = errors.New("plugin owner scope mismatch") ErrSecretScopeMismatch = errors.New("plugin secret scope mismatch") ErrStorageScopeMismatch = errors.New("plugin storage scope mismatch") ErrHostClosed = errors.New("plugin host is closed") ErrHostConfig = errors.New("plugin host configuration is invalid") ErrFeatureNotConfigured = errors.New("plugin feature is not configured") ErrReleaseModuleRequired = errors.New("release module is required") ErrRuntimeModuleRequired = errors.New("runtime module is required") ErrCapabilityModuleRequired = errors.New("capability module is required") ErrConnectivityModuleRequired = errors.New("connectivity module is required") ErrSecretsModuleRequired = errors.New("secrets module is required") ErrCoreActionModuleRequired = errors.New("core action module is required") ErrExternalPackageModuleRequired = errors.New("external package module is required") ErrDurableSessionScopeRequired = errors.New("durable session scope coordinator is required") ErrSessionTeardownIncomplete = errors.New("plugin session teardown is incomplete") ErrSessionMaintenanceState = errors.New("session lifecycle maintenance state is invalid") )
var ( ErrSecretStoreRequired = errors.New("secret store adapter is required") ErrInvalidSecretRef = secrets.ErrInvalidSecretRef ErrPackageTrustVerifierRequired = errors.New("package trust verifier is required for requested trust state") ErrPackageTrustVerificationInvalid = errors.New("package trust verifier returned invalid trust state") ErrReleaseArtifactResolverRequired = errors.New("release artifact resolver is required") ErrReleaseRefVerificationFailed = errors.New("release ref verification failed") ErrReleaseRefPolicyDenied = errors.New("release ref source policy denied") )
var ( ErrRuntimeAdmissionUnsupported = errors.New("runtime admission is unsupported on this platform") ErrRuntimeAdmissionInvalid = errors.New("runtime executable admission failed") ErrVerifiedExecutableClosed = errors.New("verified runtime executable is closed") )
var ( ErrRuntimeNotReady = runtimeclient.ErrRuntimeNotReady ErrRuntimeRequestFailed = runtimeclient.ErrRuntimeRequestFailed ErrRuntimeHandshake = runtimeclient.ErrRuntimeHandshake )
var ( ErrRuntimeDescriptorInvalid = errors.New("runtime descriptor is invalid") ErrRuntimeDescriptorMismatch = errors.New("runtime descriptor does not match the platform") ErrRuntimeAdmissionTargetInvalid = errors.New("runtime admission target is invalid") ErrRuntimeProtocolVersionInvalid = errors.New("runtime protocol version is invalid") ErrSHA256DigestInvalid = errors.New("sha256 digest is invalid") ErrRuntimeBinaryNameInvalid = errors.New("runtime binary name is invalid") )
var ( RuntimeAdmissionLinuxAMD64 = RuntimeAdmissionTarget{/* contains filtered or unexported fields */} RuntimeAdmissionLinuxARM64 = RuntimeAdmissionTarget{/* contains filtered or unexported fields */} )
var ( ErrVerifiedExecutableRequired = errors.New("verified runtime executable is required") ErrRuntimeModuleOptionsInvalid = errors.New("runtime module options are invalid") ErrRuntimeModuleClosed = errors.New("runtime module is closed") ErrRuntimeModuleConsumed = errors.New("runtime module ownership was transferred to a host") )
var ErrActionDenied = errors.New("host platform action is denied")
var ErrConfirmationRequired = errors.New("plugin method confirmation required")
var ErrControlStoreRequired = errors.New("Host control store is required")
Functions ¶
func AsValidatedCapabilityBusinessError ¶ added in v0.5.0
func AsValidatedCapabilityBusinessError(err error) (capability.BusinessError, bool)
AsValidatedCapabilityBusinessError returns a copy of a published business error attested by Host.
func HasUnattestedRPCStructuredError ¶ added in v0.5.0
HasUnattestedRPCStructuredError reports whether an unprojected error graph contains a business- or worker-error claim that did not pass its Host-owned attestation boundary.
func ImportLocalPackageBytes ¶
func MarshalRuntimeDescriptorJSON ¶ added in v0.6.0
func MarshalRuntimeDescriptorJSON(descriptor RuntimeDescriptor) ([]byte, error)
Types ¶
type ActionDeniedError ¶ added in v0.5.0
type ActionDeniedError struct {
Action ManagementAction
Target AuthorizationTarget
}
func (ActionDeniedError) Error ¶ added in v0.5.0
func (e ActionDeniedError) Error() string
func (ActionDeniedError) Unwrap ¶ added in v0.5.0
func (e ActionDeniedError) Unwrap() error
type AuditEvent ¶
type AuditEvent = observability.AuditEvent
type AuditSink ¶
type AuditSink = observability.AuditSink
type AuthorizationAdapter ¶ added in v0.5.0
type AuthorizationAdapter interface {
// Authorize returns ErrActionDenied only for an explicit policy denial.
// Any other error is treated as an operational adapter failure.
Authorize(ctx context.Context, req AuthorizationRequest) error
}
type AuthorizationRequest ¶ added in v0.5.0
type AuthorizationRequest struct {
// Session is derived from the authenticated context by Host and is never
// accepted from a command, HTTP payload, or plugin IPC request.
Session sessionctx.Context `json:"-"`
Action ManagementAction `json:"action"`
Target AuthorizationTarget `json:"target"`
RelatedTargets []AuthorizationTarget `json:"related_targets,omitempty"`
}
type AuthorizationTarget ¶ added in v0.5.0
type AuthorizationTarget struct {
Kind ResourceRef `json:"kind"`
ID string `json:"id,omitempty"`
Collection bool `json:"collection,omitempty"`
Scope *sessionctx.ResourceScope `json:"-"`
}
AuthorizationTarget is one canonical resource presented to an embedding product's authorization policy. ResourceScope is always derived by Host from the authenticated session and is never accepted from wire or plugin input.
type BindRetainedDataRequest ¶
type BindRetainedDataRequest struct {
SourcePluginInstanceID string `json:"source_plugin_instance_id"`
ExpectedSourceBindingRevision uint64 `json:"expected_source_binding_revision"`
TargetPluginInstanceID string `json:"target_plugin_instance_id"`
TargetExpectedManagementRevision uint64 `json:"target_expected_management_revision"`
Now time.Time `json:"-"`
}
type CallMethodRequest ¶
type CallMethodRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
SurfaceInstanceID string `json:"surface_instance_id"`
BridgeChannelID string `json:"bridge_channel_id"`
GatewayToken string `json:"plugin_gateway_token"`
ConfirmationID string `json:"confirmation_id,omitempty"`
Method string `json:"method"`
Params map[string]any `json:"params,omitempty"`
Now time.Time `json:"-"`
// contains filtered or unexported fields
}
type CallMethodResult ¶
type CallMethodResult struct {
Data any `json:"data"`
ExecutionID string `json:"execution_id,omitempty"`
ConfirmationRequired bool `json:"confirmation_required,omitempty"`
ConfirmationTokenID string `json:"confirmation_token_id,omitempty"`
RequestHash string `json:"request_hash,omitempty"`
PlanHash string `json:"plan_hash,omitempty"`
}
type CapabilityModule ¶ added in v0.5.0
type CapabilityModule struct {
Registry *capability.Registry
}
type CloseAuthenticatedSessionScopeRequest ¶ added in v0.6.18
type CloseAuthenticatedSessionScopeRequest struct {
Session sessionctx.Context `json:"-"`
Now time.Time `json:"-"`
}
CloseAuthenticatedSessionScopeRequest starts Host-owned teardown for one exact authenticated session.
type Config ¶ added in v0.5.0
type Config struct {
// StateRoot is the Host-owned persistent control-plane root. When set, Open
// creates, migrates, verifies, retains, and closes exactly one control DB at
// StateRoot/control.sqlite.
StateRoot string
Core CoreAdapters
Release *ReleaseModule
Runtime *RuntimeModule
Capability *CapabilityModule
Connectivity *ConnectivityModule
Secrets *SecretsModule
CoreAction *CoreActionModule
ExternalPackage *ExternalPackageModule
}
type ConnectivityModule ¶ added in v0.5.0
type ConnectivityModule struct {
Broker connectivity.Broker
NetworkExecutor connectivity.NetworkExecutor
}
type CoreActionAdapter ¶
type CoreActionAdapter interface {
ResolveCoreActionTarget(ctx context.Context, req capability.TargetResolutionRequest) (capability.TargetDescriptor, error)
InvokeCoreAction(ctx context.Context, req capability.Invocation) (capability.Result, error)
}
type CoreActionModule ¶ added in v0.5.0
type CoreActionModule struct {
Adapter CoreActionAdapter
}
type CoreAdapters ¶ added in v0.5.0
type CoreAdapters struct {
Policy PolicyAdapter
Authorization AuthorizationAdapter
PackageTrustVerifier PackageTrustVerifier
Audit AuditSink
SecurityAudit observability.SecurityAuditJournal
Diagnostics DiagnosticsSink
SurfaceCatalog SurfaceCatalogSink
Assets pluginpkg.AssetStore
// contains filtered or unexported fields
}
CoreAdapters contains the dependencies required by every Host instance. Optional capabilities are intentionally kept out of this structure so a host can expose only the integrations it actually provides. Package trust is core because every package mutation crosses the same trust boundary.
type DeleteExportDataRequest ¶ added in v0.5.0
type DeleteSecurityPolicyRequest ¶
type DeleteSecurityPolicyRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
ExpectedPolicyRevision uint64 `json:"expected_policy_revision"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
ExpectedRevokeEpoch uint64 `json:"expected_revoke_epoch"`
Now time.Time `json:"-"`
}
type DiagnosticDetails ¶ added in v0.5.0
type DiagnosticDetails struct {
ExecutionsDeleted int64 `json:"executions_deleted,omitempty"`
InvocationID string `json:"invocation_id,omitempty"`
Method string `json:"method,omitempty"`
FailureCode string `json:"failure_code,omitempty"`
RuntimeProcessFailureCode observability.RuntimeProcessFailureCode `json:"runtime_process_failure_code,omitempty"`
ExecutionID string `json:"execution_id,omitempty"`
RuntimeInstanceID string `json:"runtime_instance_id,omitempty"`
RuntimeGenerationID string `json:"runtime_generation_id,omitempty"`
RuntimeVersion string `json:"runtime_version,omitempty"`
RustIPCVersion string `json:"rust_ipc_version,omitempty"`
WASMABIVersion string `json:"wasm_abi_version,omitempty"`
ContractSetSHA256 string `json:"contract_set_sha256,omitempty"`
RuntimeTargetOS string `json:"runtime_target_os,omitempty"`
RuntimeTargetArch string `json:"runtime_target_arch,omitempty"`
RuntimeBinarySHA256 string `json:"runtime_binary_sha256,omitempty"`
OS string `json:"os,omitempty"`
Arch string `json:"arch,omitempty"`
Stream string `json:"stream,omitempty"`
PackageHash string `json:"package_hash,omitempty"`
Artifact string `json:"artifact,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
StoreID string `json:"store_id,omitempty"`
Operation string `json:"operation,omitempty"`
Hostcall string `json:"hostcall,omitempty"`
Code string `json:"code,omitempty"`
ConnectorID string `json:"connector_id,omitempty"`
Transport string `json:"transport,omitempty"`
RevokeEpoch uint64 `json:"revoke_epoch,omitempty"`
StageID string `json:"stage_id,omitempty"`
Reason string `json:"reason,omitempty"`
SurfaceInstanceID string `json:"surface_instance_id,omitempty"`
}
type DiagnosticEvent ¶
type DiagnosticEvent struct {
EventID string `json:"event_id,omitempty"`
Type string `json:"type"`
Severity observability.DiagnosticSeverity `json:"severity"`
Message string `json:"message"`
PluginID string `json:"plugin_id,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
SurfaceID string `json:"surface_id,omitempty"`
SurfaceInstanceID string `json:"surface_instance_id,omitempty"`
ActiveFingerprint string `json:"active_fingerprint,omitempty"`
RequestID string `json:"request_id,omitempty"`
CorrelationID string `json:"correlation_id,omitempty"`
MutationOutcome mutation.Outcome `json:"mutation_outcome,omitempty"`
OccurredAt time.Time `json:"occurred_at,omitempty"`
Details DiagnosticDetails `json:"details,omitzero"`
}
type DiagnosticLister ¶
type DiagnosticLister = observability.DiagnosticLister
type DiagnosticsSink ¶
type DiagnosticsSink = observability.DiagnosticsSink
type DisableRequest ¶
type DisposeSurfaceRequest ¶
type DowngradeRequest ¶
type EnableRequest ¶
type ExportDataRequest ¶
type ExportDataRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
}
type ExportDataResult ¶
type ExternalPackageCancelSummary ¶ added in v0.6.8
type ExternalPackageCapabilityContractSummary ¶ added in v0.6.8
type ExternalPackageConfirmationSummary ¶ added in v0.6.8
type ExternalPackageCoreActionSummary ¶ added in v0.6.8
type ExternalPackageExecutionApproval ¶ added in v0.6.8
type ExternalPackageInspection ¶ added in v0.6.8
type ExternalPackageInspection struct {
InspectionID string `json:"inspection_id"`
ExpiresAt time.Time `json:"expires_at"`
Intent ExternalPackageIntent `json:"intent"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Version string `json:"version"`
Presentation manifest.PresentationCatalog `json:"presentation"`
PresentationSHA256 string `json:"presentation_sha256"`
InspectedHashes PackageHashSet `json:"inspected_hashes"`
SignatureAssessment ExternalPackageSignatureAssessment `json:"signature_assessment"`
SourceProvenance ExternalPackageSourceProvenance `json:"source_provenance"`
ExecutionApproval ExternalPackageExecutionApproval `json:"execution_approval"`
UpdateEligibility ExternalPackageUpdateEligibility `json:"update_eligibility"`
SecuritySummary ExternalPackageSecuritySummary `json:"security_summary"`
}
type ExternalPackageIntent ¶ added in v0.6.8
type ExternalPackageIntentSummary ¶ added in v0.6.8
type ExternalPackageMethodRouteSummary ¶ added in v0.6.8
type ExternalPackageMethodSummary ¶ added in v0.6.8
type ExternalPackageMethodSummary struct {
Method string `json:"method"`
Route ExternalPackageMethodRouteSummary `json:"route"`
Effect string `json:"effect"`
Execution string `json:"execution"`
Dangerous bool `json:"dangerous"`
PreflightOnly bool `json:"preflight_only"`
RequiredPermissions []string `json:"required_permissions"`
Confirmation ExternalPackageConfirmationSummary `json:"confirmation"`
Cancel *ExternalPackageCancelSummary `json:"cancel,omitempty"`
}
type ExternalPackageModule ¶ added in v0.6.8
type ExternalPackageModule struct {
SignatureAssessor ExternalPackageSignatureAssessor
AddressResolver externalsource.AddressResolver
Credentials externalsource.CredentialProvider
SourceID string
TotalTimeout time.Duration
GitHub externalsource.GitHubRESTReleaseClientOptions
// contains filtered or unexported fields
}
ExternalPackageModule configures the host-neutral public HTTPS and GitHub Release admission pipeline. Pending inspections are process-local and expire on Host restart; only installed plugin facts become durable.
type ExternalPackageNetworkMethodAccessSummary ¶ added in v0.6.8
type ExternalPackageNetworkSummary ¶ added in v0.6.8
type ExternalPackageNetworkSummary struct {
ConnectorID string `json:"connector_id"`
Transport string `json:"transport"`
Scope string `json:"scope"`
Destinations []string `json:"destinations"`
AuthDeclared bool `json:"auth_declared"`
TLSDeclared bool `json:"tls_declared"`
MethodAccess []ExternalPackageNetworkMethodAccessSummary `json:"method_access"`
}
type ExternalPackagePermissionSummary ¶ added in v0.6.8
type ExternalPackageRedirectHop ¶ added in v0.6.8
type ExternalPackageSecretRefSummary ¶ added in v0.6.8
type ExternalPackageSecuritySummary ¶ added in v0.6.8
type ExternalPackageSecuritySummary struct {
SummarySHA256 string `json:"summary_sha256"`
Permissions []ExternalPackagePermissionSummary `json:"permissions"`
Methods []ExternalPackageMethodSummary `json:"methods"`
CapabilityContracts []ExternalPackageCapabilityContractSummary `json:"capability_contracts"`
Workers []ExternalPackageWorkerSummary `json:"workers"`
Network []ExternalPackageNetworkSummary `json:"network"`
Storage []ExternalPackageStorageSummary `json:"storage"`
SecretRefs []ExternalPackageSecretRefSummary `json:"secret_refs"`
CoreActions []ExternalPackageCoreActionSummary `json:"core_actions"`
Intents []ExternalPackageIntentSummary `json:"intents"`
Surfaces []ExternalPackageSurfaceSummary `json:"surfaces"`
}
type ExternalPackageSignatureAssessment ¶ added in v0.6.8
type ExternalPackageSignatureAssessment struct {
State string `json:"state"`
ReasonCodes []string `json:"reason_codes"`
AssessedHashes PackageHashSet `json:"assessed_hashes"`
Algorithm string `json:"algorithm,omitempty"`
KeyID string `json:"key_id,omitempty"`
AssessedAt time.Time `json:"assessed_at"`
AssessmentEpoch string `json:"assessment_epoch,omitempty"`
}
type ExternalPackageSignatureAssessmentRequest ¶ added in v0.6.8
type ExternalPackageSignatureAssessor ¶ added in v0.6.8
type ExternalPackageSignatureAssessor interface {
AssessExternalPackageSignature(context.Context, ExternalPackageSignatureAssessmentRequest) (registry.SignatureAssessment, error)
}
ExternalPackageSignatureAssessor returns a closed signature fact. Expected outcomes such as unknown signer, invalid signature, and revocation belong in the result; errors are reserved for unavailable assessment dependencies.
type ExternalPackageSignatureFreshnessAssessor ¶ added in v0.6.8
type ExternalPackageSignatureFreshnessAssessor interface {
AssessExternalPackageSignatureFreshness(context.Context, ExternalPackageSignatureFreshnessRequest) (registry.SignatureAssessment, error)
}
ExternalPackageSignatureFreshnessAssessor checks mutable keyring and revocation facts without requiring the package payload again.
type ExternalPackageSignatureFreshnessRequest ¶ added in v0.6.8
type ExternalPackageSignatureFreshnessRequest struct {
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
PackageSHA256 string `json:"package_sha256"`
ManifestSHA256 string `json:"manifest_sha256"`
EntriesSHA256 string `json:"entries_sha256"`
Assessment registry.SignatureAssessment `json:"assessment"`
Now time.Time `json:"-"`
}
type ExternalPackageSizeSummary ¶ added in v0.6.8
type ExternalPackageSource ¶ added in v0.6.8
type ExternalPackageSourceProvenance ¶ added in v0.6.8
type ExternalPackageSourceProvenance struct {
Kind string `json:"kind"`
UploadID string `json:"upload_id,omitempty"`
SourceOrigin string `json:"source_origin,omitempty"`
SourcePath string `json:"source_path,omitempty"`
RedirectChain []ExternalPackageRedirectHop `json:"redirect_chain,omitempty"`
RepositoryID string `json:"repository_id,omitempty"`
ReleaseID string `json:"release_id,omitempty"`
AssetID string `json:"asset_id,omitempty"`
RepositoryURL string `json:"repository_url,omitempty"`
Owner string `json:"owner,omitempty"`
Repository string `json:"repository,omitempty"`
ResolvedCommitSHA string `json:"resolved_commit_sha,omitempty"`
ReleaseTag string `json:"release_tag,omitempty"`
AssetName string `json:"asset_name,omitempty"`
PackageSHA256 string `json:"package_sha256"`
ResolvedAt time.Time `json:"resolved_at"`
}
func (ExternalPackageSourceProvenance) MarshalJSON ¶ added in v0.6.11
func (provenance ExternalPackageSourceProvenance) MarshalJSON() ([]byte, error)
type ExternalPackageStorageMethodAccessSummary ¶ added in v0.6.8
type ExternalPackageStorageSummary ¶ added in v0.6.8
type ExternalPackageStorageSummary struct {
StoreID string `json:"store_id"`
Kind string `json:"kind"`
Scope string `json:"scope"`
QuotaBytes int64 `json:"quota_bytes"`
QuotaFiles *int64 `json:"quota_files,omitempty"`
SchemaVersion int `json:"schema_version"`
MethodAccess []ExternalPackageStorageMethodAccessSummary `json:"method_access"`
}
type ExternalPackageSurfaceSummary ¶ added in v0.6.8
type ExternalPackageSurfaceSummary struct {
SurfaceID string `json:"surface_id"`
Kind string `json:"kind"`
Intent string `json:"intent"`
Label string `json:"label"`
Entry string `json:"entry"`
Icon string `json:"icon,omitempty"`
DefaultSize *ExternalPackageSizeSummary `json:"default_size,omitempty"`
}
type ExternalPackageUpdateEligibility ¶ added in v0.6.8
type ExternalPackageWorkerSummary ¶ added in v0.6.8
type Feature ¶ added in v0.5.0
type Feature string
Feature identifies an optional host integration module. The values are part of the host contract and must remain a closed, sorted set.
type FeatureNotConfiguredError ¶ added in v0.5.0
type FeatureNotConfiguredError struct {
Features []Feature
}
FeatureNotConfiguredError identifies an optional module that was not installed in the host configuration.
func (FeatureNotConfiguredError) Error ¶ added in v0.5.0
func (e FeatureNotConfiguredError) Error() string
func (FeatureNotConfiguredError) MissingFeatures ¶ added in v0.5.0
func (e FeatureNotConfiguredError) MissingFeatures() []Feature
func (FeatureNotConfiguredError) Unwrap ¶ added in v0.5.0
func (e FeatureNotConfiguredError) Unwrap() error
type FinalizeClosedSessionScopeRequest ¶ added in v0.6.18
type FinalizeClosedSessionScopeRequest struct {
Session sessionctx.Context `json:"-"`
Identity sessionscope.TeardownIdentity `json:"-"`
}
FinalizeClosedSessionScopeRequest finalizes a complete exact teardown after the adapter independently validates durable terminal evidence.
type FinalizeSessionScopeRequest ¶ added in v0.6.0
type FinalizeSessionScopeRequest struct {
Identity sessionscope.TeardownIdentity `json:"-"`
}
type GetPermissionRequirementsRequest ¶ added in v0.6.9
type GetPermissionRequirementsRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
}
type GetSecurityPolicyRequest ¶
type GetSecurityPolicyRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
}
type GetSettingsRequest ¶
type GetSettingsRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
Scope sessionctx.ScopeKind `json:"scope"`
}
type GrantPermissionRequest ¶
type GrantPermissionRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
PermissionID string `json:"permission_id"`
ExpectedPolicyRevision uint64 `json:"expected_policy_revision"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
ExpectedRevokeEpoch uint64 `json:"expected_revoke_epoch"`
Now time.Time `json:"-"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
}
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
func (*Host) BindRetainedData ¶
func (h *Host) BindRetainedData(ctx context.Context, req BindRetainedDataRequest) (result plugindata.Binding, retErr error)
func (*Host) BindSecretRef ¶
func (h *Host) BindSecretRef(ctx context.Context, req SecretBindRequest) (retErr error)
func (*Host) CallPluginMethod ¶
func (h *Host) CallPluginMethod(ctx context.Context, req CallMethodRequest) (result CallMethodResult, resultErr error)
func (*Host) CancelExecution ¶ added in v1.0.0
CancelExecution idempotently requests cancellation through the sole Execution state machine. reason is accepted for the command/audit boundary; it does not create a second durable status field.
func (*Host) Capabilities ¶
func (h *Host) Capabilities() *capability.Registry
func (*Host) CleanupExpiredRetainedData ¶
func (h *Host) CleanupExpiredRetainedData(ctx context.Context, req CleanupExpiredRetainedDataRequest) (RetainedDataCleanupResult, error)
func (*Host) CloseAuthenticatedSessionScope ¶ added in v0.6.18
func (h *Host) CloseAuthenticatedSessionScope( ctx context.Context, req CloseAuthenticatedSessionScopeRequest, ) (SessionScopeTeardownMaintenanceResult, error)
CloseAuthenticatedSessionScope starts Host-owned teardown for one exact authenticated session scope. It is a Go maintenance API and never consults browser authorization state.
func (*Host) DeleteExportedPluginData ¶ added in v0.5.0
func (h *Host) DeleteExportedPluginData(ctx context.Context, req DeleteExportDataRequest) error
func (*Host) DeleteRetainedData ¶
func (h *Host) DeleteRetainedData(ctx context.Context, req DeleteRetainedDataRequest) (result plugindata.Binding, retErr error)
func (*Host) DeleteSecretRef ¶
func (h *Host) DeleteSecretRef(ctx context.Context, req SecretDeleteRequest) (retErr error)
func (*Host) DeleteSecurityPolicy ¶
func (h *Host) DeleteSecurityPolicy(ctx context.Context, req DeleteSecurityPolicyRequest) (result registry.AuthorizationRevisions, retErr error)
func (*Host) DisablePlugin ¶
func (h *Host) DisablePlugin(ctx context.Context, req DisableRequest) (result registry.PluginRecord, retErr error)
func (*Host) DisposeSurface ¶
func (h *Host) DisposeSurface(ctx context.Context, req DisposeSurfaceRequest) error
func (*Host) DowngradePlugin ¶
func (h *Host) DowngradePlugin(ctx context.Context, req DowngradeRequest) (result registry.PluginRecord, retErr error)
func (*Host) EnablePlugin ¶
func (h *Host) EnablePlugin(ctx context.Context, req EnableRequest) (result registry.PluginRecord, retErr error)
func (*Host) EventsAfter ¶ added in v1.0.0
func (h *Host) EventsAfter(ctx context.Context, id string, cursor uint64, limit int) ([]execution.Event, error)
EventsAfter returns the unified event envelope for one exact owner-bound execution and cursor.
func (*Host) ExportPluginData ¶
func (h *Host) ExportPluginData(ctx context.Context, req ExportDataRequest) (result ExportDataResult, retErr error)
func (*Host) Features ¶ added in v0.5.0
Features returns the configured platform modules after host authorization.
func (*Host) FinalizeClosedSessionScope ¶ added in v0.6.18
func (h *Host) FinalizeClosedSessionScope( ctx context.Context, req FinalizeClosedSessionScopeRequest, ) (SessionScopeFinalizationResult, error)
FinalizeClosedSessionScope validates the Host-owned identity and deletes the complete platform fence as the finalization commit point.
func (*Host) FinalizeSessionScope ¶ added in v0.6.0
func (h *Host) FinalizeSessionScope(ctx context.Context, req FinalizeSessionScopeRequest) error
func (*Host) GetCompatibility ¶ added in v0.5.0
GetCompatibility returns the current platform contract after host authorization.
func (*Host) GetExecution ¶ added in v1.0.0
GetExecution returns one execution only when it belongs to the exact authenticated session owner. Cross-owner identities are indistinguishable from absent records.
func (*Host) GetPermissionRequirements ¶ added in v0.6.9
func (h *Host) GetPermissionRequirements(ctx context.Context, req GetPermissionRequirementsRequest) (PermissionRequirementsResult, error)
func (*Host) GetPluginSettings ¶
func (h *Host) GetPluginSettings(ctx context.Context, req GetSettingsRequest) (SettingsResult, error)
func (*Host) GetSecurityPolicy ¶
func (h *Host) GetSecurityPolicy(ctx context.Context, req GetSecurityPolicyRequest) (SecurityPolicyResult, error)
func (*Host) GetSettingsSchema ¶
func (h *Host) GetSettingsSchema(ctx context.Context, req GetSettingsRequest) (SettingsSchemaResult, error)
func (*Host) GrantPermission ¶
func (h *Host) GrantPermission(ctx context.Context, req GrantPermissionRequest) (result PermissionMutationResult, retErr error)
func (*Host) ImportLocalPackage ¶
func (h *Host) ImportLocalPackage(ctx context.Context, req ImportLocalPackageRequest) (registry.PluginRecord, error)
func (*Host) ImportPluginData ¶
func (h *Host) ImportPluginData(ctx context.Context, req ImportDataRequest) (result registry.PluginRecord, retErr error)
func (*Host) InspectExternalPackage ¶ added in v0.6.8
func (h *Host) InspectExternalPackage(ctx context.Context, req InspectExternalPackageRequest) (result ExternalPackageInspection, retErr error)
func (*Host) InspectPluginData ¶ added in v1.0.0
func (h *Host) InspectPluginData(ctx context.Context, req InspectPluginDataRequest) (PluginDataInspection, error)
func (*Host) InspectUploadedExternalPackage ¶ added in v0.6.8
func (h *Host) InspectUploadedExternalPackage(ctx context.Context, req InspectUploadedExternalPackageRequest) (ExternalPackageInspection, error)
func (*Host) InstallInspectedPackage ¶ added in v1.0.0
func (h *Host) InstallInspectedPackage(ctx context.Context, req InstallInspectedPackageRequest) (result InstalledExternalPackage, retErr error)
func (*Host) InstallReleaseRef ¶
func (h *Host) InstallReleaseRef(ctx context.Context, req InstallReleaseRefRequest) (registry.PluginRecord, error)
func (*Host) InvokeIntent ¶
func (h *Host) InvokeIntent(ctx context.Context, req InvokeIntentRequest) (response CallMethodResult, resultErr error)
func (*Host) ListDiagnosticEvents ¶
func (h *Host) ListDiagnosticEvents(ctx context.Context, req ListDiagnosticEventsRequest) ([]DiagnosticEvent, error)
func (*Host) ListExecutions ¶ added in v1.0.0
func (h *Host) ListExecutions(ctx context.Context, pluginInstanceID string, cursor uint64, limit int) ([]execution.Execution, uint64, error)
ListExecutions returns one owner-scoped page ordered by the control store's durable execution identity. A zero next cursor means the page is terminal.
func (*Host) ListIntents ¶
func (h *Host) ListIntents(ctx context.Context, req ListIntentsRequest) ([]IntentRecord, error)
func (*Host) ListPermissionGrants ¶
func (h *Host) ListPermissionGrants(ctx context.Context, req ListPermissionGrantsRequest) ([]permissions.Record, error)
func (*Host) ListPluginInventory ¶ added in v1.0.0
func (h *Host) ListPluginInventory(ctx context.Context) ([]PluginInventoryRecord, error)
func (*Host) ListPlugins ¶
func (*Host) ListRetainedData ¶
func (h *Host) ListRetainedData(ctx context.Context, req ListRetainedDataRequest) ([]plugindata.Binding, error)
func (*Host) ListSecurityPolicies ¶
func (h *Host) ListSecurityPolicies(ctx context.Context) ([]SecurityPolicyResult, error)
func (*Host) MintBridgeToken ¶
func (h *Host) MintBridgeToken(ctx context.Context, req MintBridgeTokenRequest) (result bridge.GatewayTokenResult, retErr error)
func (*Host) MintConnectionGrant ¶
func (h *Host) MintConnectionGrant(ctx context.Context, req MintConnectionGrantRequest) (result connectivity.ConnectionGrant, retErr error)
func (*Host) MintNetworkHandleGrant ¶
func (h *Host) MintNetworkHandleGrant(ctx context.Context, req MintConnectionGrantRequest) (result NetworkHandleGrantResult, retErr error)
func (*Host) MintStorageHandleGrant ¶
func (h *Host) MintStorageHandleGrant(ctx context.Context, req MintStorageHandleGrantRequest) (result StorageHandleGrantResult, retErr error)
func (*Host) OpenSurface ¶
func (h *Host) OpenSurface(ctx context.Context, req OpenSurfaceRequest) (result bridge.SurfaceBootstrap, retErr error)
func (*Host) PatchPluginSettings ¶
func (h *Host) PatchPluginSettings(ctx context.Context, req PatchSettingsRequest) (result SettingsResult, retErr error)
func (*Host) PrepareMethodConfirmation ¶
func (h *Host) PrepareMethodConfirmation(ctx context.Context, req PrepareMethodConfirmationRequest) (response PrepareMethodConfirmationResult, resultErr error)
func (*Host) PrepareSurface ¶
func (h *Host) PrepareSurface(ctx context.Context, req PrepareSurfaceRequest) (result PrepareSurfaceResult, err error)
func (*Host) PutSecurityPolicy ¶
func (h *Host) PutSecurityPolicy(ctx context.Context, req PutSecurityPolicyRequest) (result SecurityPolicyResult, retErr error)
func (*Host) ReadPluginDataFile ¶ added in v1.0.0
func (h *Host) ReadPluginDataFile(ctx context.Context, req ReadPluginDataFileRequest) (storage.FileReadResult, error)
func (*Host) ReadPluginIcon ¶ added in v0.7.27
func (h *Host) ReadPluginIcon(ctx context.Context, req ReadPluginIconRequest) (ReadPluginIconResult, error)
ReadPluginIcon returns the content-addressed presentation icon from an installed package. Hosts may expose the verified bytes through their local authenticated asset transport without depending on a marketplace service.
func (*Host) ReadSurfaceAsset ¶
func (h *Host) ReadSurfaceAsset(ctx context.Context, req ReadSurfaceAssetRequest) (ReadSurfaceAssetResult, error)
func (*Host) ReconcileSurfaceRevocation ¶ added in v0.6.9
func (h *Host) ReconcileSurfaceRevocation(ctx context.Context, req DisposeSurfaceRequest) (ReconcileSurfaceRevocationResult, error)
func (*Host) RecoverEnabled ¶ added in v1.0.0
func (h *Host) RecoverEnabled(ctx context.Context) (RecoverySnapshot, error)
RecoverEnabled reconciles enabled plugin runtime state once per Host startup revision. Repeated calls return the same immutable snapshot.
func (*Host) RejectMethodConfirmation ¶ added in v0.3.0
func (h *Host) RejectMethodConfirmation(ctx context.Context, req RejectMethodConfirmationRequest) (response RejectMethodConfirmationResult, resultErr error)
func (*Host) ReportHTTPAdapterFailure ¶ added in v0.5.0
func (*Host) ResumeClosedSessionScopeTeardown ¶ added in v0.6.18
func (h *Host) ResumeClosedSessionScopeTeardown( ctx context.Context, req ResumeClosedSessionScopeTeardownRequest, ) (SessionScopeTeardownMaintenanceResult, error)
ResumeClosedSessionScopeTeardown continues an exact prepared, draining, or incomplete teardown without consulting browser authorization state.
func (*Host) RetryPluginRecovery ¶ added in v1.0.0
func (*Host) RevokePermission ¶
func (h *Host) RevokePermission(ctx context.Context, req RevokePermissionRequest) (result PermissionMutationResult, retErr error)
func (*Host) RevokeSessionScope ¶ added in v0.6.0
func (h *Host) RevokeSessionScope(ctx context.Context, req RevokeSessionScopeRequest) (RevokeSessionScopeResult, error)
func (*Host) RuntimeHealth ¶
func (h *Host) RuntimeHealth(ctx context.Context) (RuntimeHealth, error)
func (*Host) StartReleaseInstallExecution ¶ added in v1.0.0
func (*Host) StartRuntime ¶
func (h *Host) StartRuntime(ctx context.Context, req StartRuntimeRequest) (result RuntimeHealth, retErr error)
func (*Host) TestSecretRef ¶
func (h *Host) TestSecretRef(ctx context.Context, req SecretTestRequest) (retErr error)
func (*Host) UninstallPlugin ¶
func (h *Host) UninstallPlugin(ctx context.Context, req UninstallRequest) (result registry.PluginRecord, retErr error)
func (*Host) UpdateLocalPackage ¶
func (h *Host) UpdateLocalPackage(ctx context.Context, req UpdateLocalPackageRequest) (registry.PluginRecord, error)
func (*Host) UpdateReleaseRef ¶
func (h *Host) UpdateReleaseRef(ctx context.Context, req UpdateReleaseRefRequest) (registry.PluginRecord, error)
func (*Host) WritePluginDataFile ¶ added in v1.0.0
func (h *Host) WritePluginDataFile(ctx context.Context, req WritePluginDataFileRequest) (storage.FileWriteResult, error)
type HostConfigError ¶ added in v0.5.0
type HostConfigError struct {
Module string
Adapter string
Cause error
// contains filtered or unexported fields
}
HostConfigError identifies the module and adapter that made a host configuration invalid. Cause preserves legacy module-required sentinels.
func (*HostConfigError) Error ¶ added in v0.5.0
func (e *HostConfigError) Error() string
func (*HostConfigError) Is ¶ added in v0.5.0
func (e *HostConfigError) Is(target error) bool
func (*HostConfigError) RuntimeModuleDisposition ¶ added in v0.6.0
func (e *HostConfigError) RuntimeModuleDisposition() RuntimeModuleDisposition
func (*HostConfigError) Unwrap ¶ added in v0.5.0
func (e *HostConfigError) Unwrap() error
type HostRequirement ¶
type HostRequirement struct {
HostID string `json:"host_id"`
MinHostVersion string `json:"min_host_version,omitempty"`
RequiredCapabilityContracts []HostCapabilityRequirement `json:"required_capability_contracts,omitempty"`
}
type HostRequirementPolicy ¶ added in v0.3.0
type HostRequirementPolicy interface {
SelectHostRequirement(ctx context.Context, req HostRequirementSelectionRequest) (HostRequirementSelection, error)
}
type HostRequirementSelection ¶ added in v0.3.0
type HostRequirementSelection struct {
HostID string `json:"host_id"`
}
type HostRequirementSelectionRequest ¶ added in v0.3.0
type HostRequirementSelectionRequest struct {
SourceID string `json:"source_id"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
PluginVersion string `json:"plugin_version"`
Requirements []HostRequirement `json:"requirements"`
}
type ImportDataRequest ¶
type InspectExternalPackageRequest ¶ added in v0.6.8
type InspectExternalPackageRequest struct {
Intent ExternalPackageIntent `json:"intent"`
Source ExternalPackageSource `json:"source"`
Now time.Time `json:"-"`
}
type InspectPluginDataRequest ¶ added in v1.0.0
type InspectPluginDataRequest struct {
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
}
type InspectUploadedExternalPackageRequest ¶ added in v0.6.8
type InstallInspectedPackageRequest ¶ added in v1.0.0
type InstallReleaseRefRequest ¶
type InstallReleaseRefRequest struct {
ReleaseRef PluginReleaseRef `json:"release_ref"`
PluginInstanceID string `json:"plugin_instance_id"`
Now time.Time `json:"-"`
}
type InstalledExternalPackage ¶ added in v1.0.0
type InstalledExternalPackage struct {
Plugin *registry.PluginRecord `json:"plugin"`
SignatureAssessment *ExternalPackageSignatureAssessment `json:"signature_assessment,omitempty"`
SourceProvenance *ExternalPackageSourceProvenance `json:"source_provenance,omitempty"`
ExecutionApproval *ExternalPackageExecutionApproval `json:"execution_approval,omitempty"`
UpdateEligibility *ExternalPackageUpdateEligibility `json:"update_eligibility,omitempty"`
SecuritySummary *ExternalPackageSecuritySummary `json:"security_summary,omitempty"`
}
type IntentRecord ¶
type IntentRecord struct {
PluginID string `json:"plugin_id"`
PluginInstanceID string `json:"plugin_instance_id"`
PublisherID string `json:"publisher_id"`
DisplayName string `json:"display_name"`
Version string `json:"version"`
ActiveFingerprint string `json:"active_fingerprint"`
IntentID string `json:"intent_id"`
Method string `json:"method"`
Effect manifest.MethodEffect `json:"effect"`
Execution manifest.MethodExecutionMode `json:"execution"`
PayloadSchema map[string]any `json:"payload_schema,omitempty"`
}
type InvokeIntentRequest ¶
type ListDiagnosticEventsRequest ¶
type ListDiagnosticEventsRequest struct {
PluginID string `json:"plugin_id,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
SurfaceInstanceID string `json:"surface_instance_id,omitempty"`
Type string `json:"type,omitempty"`
Severity observability.DiagnosticSeverity `json:"severity,omitempty"`
Limit int `json:"limit,omitempty"`
}
type ListIntentsRequest ¶
type ListRetainedDataRequest ¶
type ListRetainedDataRequest struct {
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
}
type ManagementAction ¶ added in v0.5.0
type ManagementAction string
ManagementAction identifies one direct Host platform operation. The set is closed so embedding products can implement exhaustive authorization policy.
const ( ManagementActionOpenSurface ManagementAction = "surface.open" ManagementActionPrepareSurface ManagementAction = "surface.prepare" ManagementActionMintBridgeToken ManagementAction = "surface.mint_bridge_token" ManagementActionReadSurfaceAsset ManagementAction = "surface.read_asset" ManagementActionRejectSurfaceConfirmation ManagementAction = "surface.reject_confirmation" ManagementActionDisposeSurface ManagementAction = "surface.dispose" ManagementActionRevokeSessionScope ManagementAction = "session.revoke_scope" ManagementActionFinalizeSessionScope ManagementAction = "session.finalize_scope" ManagementActionCallPluginMethod ManagementAction = "plugin.call_method" ManagementActionPrepareMethodConfirmation ManagementAction = "plugin.prepare_method_confirmation" ManagementActionListIntents ManagementAction = "intent.list" ManagementActionInvokeIntent ManagementAction = "intent.invoke" ManagementActionImportLocalPackage ManagementAction = "plugin.import_local_package" ManagementActionInstallReleaseRef ManagementAction = "plugin.install_release_ref" ManagementActionInspectExternalPackage ManagementAction = "plugin.inspect_external_package" ManagementActionInstallInspectedPackage ManagementAction = "plugin.install_inspected_package" ManagementActionUpdateLocalPackage ManagementAction = "plugin.update_local_package" ManagementActionUpdateReleaseRef ManagementAction = "plugin.update_release_ref" ManagementActionDowngradePlugin ManagementAction = "plugin.downgrade" ManagementActionListPlugins ManagementAction = "plugin.list" ManagementActionListFeatures ManagementAction = "platform.list_features" ManagementActionGetCompatibility ManagementAction = "platform.get_compatibility" ManagementActionRecoverEnabledPlugins ManagementAction = "runtime.recover_enabled" ManagementActionGrantPermission ManagementAction = "permission.grant" ManagementActionRevokePermission ManagementAction = "permission.revoke" ManagementActionListPermissionGrants ManagementAction = "permission.list" ManagementActionGetPermissionRequirements ManagementAction = "permission.requirements.get" ManagementActionPutSecurityPolicy ManagementAction = "security_policy.put" ManagementActionGetSecurityPolicy ManagementAction = "security_policy.get" ManagementActionListSecurityPolicies ManagementAction = "security_policy.list" ManagementActionDeleteSecurityPolicy ManagementAction = "security_policy.delete" ManagementActionListDiagnosticEvents ManagementAction = "diagnostic.list" ManagementActionListExecutions ManagementAction = "execution.list" ManagementActionGetExecution ManagementAction = "execution.get" ManagementActionCancelExecution ManagementAction = "execution.cancel" ManagementActionListExecutionEvents ManagementAction = "execution.events" ManagementActionStartRuntime ManagementAction = "runtime.start" ManagementActionStopRuntime ManagementAction = "runtime.stop" ManagementActionGetRuntimeHealth ManagementAction = "runtime.get_health" ManagementActionMintConnectionGrant ManagementAction = "connectivity.mint_grant" ManagementActionMintNetworkHandleGrant ManagementAction = "connectivity.mint_handle_grant" ManagementActionMintStorageHandleGrant ManagementAction = "storage.mint_handle_grant" ManagementActionEnablePlugin ManagementAction = "plugin.enable" ManagementActionDisablePlugin ManagementAction = "plugin.disable" ManagementActionUninstallPlugin ManagementAction = "plugin.uninstall" ManagementActionListRetainedData ManagementAction = "retained_data.list" ManagementActionDeleteRetainedData ManagementAction = "retained_data.delete" ManagementActionBindRetainedData ManagementAction = "retained_data.bind" ManagementActionCleanupExpiredRetainedData ManagementAction = "retained_data.cleanup_expired" ManagementActionExportPluginData ManagementAction = "data.export" ManagementActionDeleteExportedPluginData ManagementAction = "data.delete_export" ManagementActionImportPluginData ManagementAction = "data.import" ManagementActionInspectPluginData ManagementAction = "data.inspect" ManagementActionReadPluginDataFile ManagementAction = "data.file.read" ManagementActionWritePluginDataFile ManagementAction = "data.file.write" ManagementActionGetSettingsSchema ManagementAction = "settings.get_schema" ManagementActionGetPluginSettings ManagementAction = "settings.get" ManagementActionPatchPluginSettings ManagementAction = "settings.patch" ManagementActionBindSecretRef ManagementAction = "secret.bind" ManagementActionTestSecretRef ManagementAction = "secret.test" ManagementActionDeleteSecretRef ManagementAction = "secret.delete" )
func (ManagementAction) Resource ¶ added in v0.5.0
func (action ManagementAction) Resource() ResourceRef
func (ManagementAction) Valid ¶ added in v0.5.0
func (action ManagementAction) Valid() bool
type ManagementRevisionMismatchError ¶ added in v0.5.0
type ManagementRevisionMismatchError struct {
PluginInstanceID string `json:"plugin_instance_id"`
Expected uint64 `json:"expected_management_revision"`
Actual uint64 `json:"actual_management_revision"`
}
func (*ManagementRevisionMismatchError) Error ¶ added in v0.5.0
func (e *ManagementRevisionMismatchError) Error() string
func (*ManagementRevisionMismatchError) Unwrap ¶ added in v0.5.0
func (e *ManagementRevisionMismatchError) Unwrap() error
type MintBridgeTokenRequest ¶
type MintBridgeTokenRequest struct {
Handshake bridge.Handshake `json:"handshake"`
BridgeChannelID string `json:"bridge_channel_id"`
HandshakeTranscriptSHA256 string `json:"handshake_transcript_sha256"`
PreviousGatewayToken string `json:"previous_plugin_gateway_token,omitempty"`
Now time.Time `json:"-"`
}
type MintConnectionGrantRequest ¶
type MintConnectionGrantRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
ConnectorID string `json:"connector_id"`
Transport connectivity.Transport `json:"transport"`
Destination string `json:"destination"`
RuntimeInstanceID string `json:"runtime_instance_id,omitempty"`
RuntimeGenerationID string `json:"runtime_generation_id,omitempty"`
RuntimeShardID string `json:"runtime_shard_id,omitempty"`
Now time.Time `json:"-"`
TTL time.Duration `json:"-"`
}
type MintStorageHandleGrantRequest ¶
type MintStorageHandleGrantRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
StoreID string `json:"store_id"`
RuntimeInstanceID string `json:"runtime_instance_id,omitempty"`
RuntimeGenerationID string `json:"runtime_generation_id"`
RuntimeShardID string `json:"runtime_shard_id,omitempty"`
Now time.Time `json:"-"`
TTL time.Duration `json:"-"`
}
type MutationOutcome ¶ added in v0.6.0
type NetworkHandleGrantResult ¶
type NetworkHandleGrantResult struct {
ConnectionGrant connectivity.ConnectionGrant `json:"connection_grant"`
HandleGrant bridge.HandleGrantResult `json:"handle_grant"`
}
type OpenSurfaceRequest ¶
type PackageDistribution ¶
type PackageDistribution string
const ( PackageDistributionRegistryRef PackageDistribution = "registry_ref" PackageDistributionHostArtifactRef PackageDistribution = "host_artifact_ref" PackageDistributionLocalImport PackageDistribution = "local_import" )
type PackageDistributionRef ¶
type PackageDistributionRef struct {
Distribution PackageDistribution `json:"distribution"`
ArtifactRef string `json:"artifact_ref,omitempty"`
ImportID string `json:"import_id,omitempty"`
}
type PackageHashSet ¶
type PackageReleaseSignature ¶
type PackageTrustAction ¶
type PackageTrustAction string
const ( PackageTrustActionInstall PackageTrustAction = "install" PackageTrustActionUpdate PackageTrustAction = "update" )
type PackageTrustVerificationRequest ¶
type PackageTrustVerificationRequest struct {
Action PackageTrustAction `json:"action"`
Package pluginpkg.Package `json:"package"`
LocalImport bool `json:"local_import,omitempty"`
ReleaseRef *PluginReleaseRef `json:"release_ref,omitempty"`
Release *PluginPackageRelease `json:"release,omitempty"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"-"`
}
type PackageTrustVerificationResult ¶
type PackageTrustVerificationResult = registry.TrustAssessment
type PackageTrustVerifier ¶
type PackageTrustVerifier interface {
VerifyPackageTrust(ctx context.Context, req PackageTrustVerificationRequest) (PackageTrustVerificationResult, error)
}
PackageTrustVerifier is the install/update trust decision boundary. Runnable trust states must come from this verifier or the release/local import provenance handled by Host core.
type PatchSettingsRequest ¶
type PermissionMutationResult ¶ added in v0.5.0
type PermissionMutationResult struct {
Permission permissions.Record `json:"permission"`
Revisions registry.AuthorizationRevisions `json:"revisions"`
}
type PermissionRequirementContract ¶ added in v0.6.9
type PermissionRequirementContract struct {
ContractID string `json:"contract_id"`
ContractVersion string `json:"contract_version"`
ContractSHA256 string `json:"contract_sha256"`
CapabilityID string `json:"capability_id"`
CapabilityVersion string `json:"capability_version"`
Methods []PermissionRequirementMethod `json:"methods"`
}
type PermissionRequirementMethod ¶ added in v0.6.9
type PermissionRequirementsResult ¶ added in v0.6.9
type PermissionRequirementsResult struct {
PluginInstanceID string `json:"plugin_instance_id"`
PluginVersion string `json:"plugin_version"`
ActiveFingerprint string `json:"active_fingerprint"`
ManagementRevision uint64 `json:"management_revision"`
Contracts []PermissionRequirementContract `json:"contracts"`
RequiredPermissions []string `json:"required_permissions"`
}
type PluginActionBlockedReason ¶ added in v1.0.0
type PluginActionBlockedReason string
PluginActionBlockedReason is the closed set of reasons an installed plugin cannot be opened. The Host computes this once from authoritative state.
const ( PluginActionBlockedDisabled PluginActionBlockedReason = "disabled" PluginActionBlockedPermission PluginActionBlockedReason = "permission_required" PluginActionBlockedPolicy PluginActionBlockedReason = "policy_restricted" PluginActionBlockedPackageInvalid PluginActionBlockedReason = "package_invalid" PluginActionBlockedSignatureInvalid PluginActionBlockedReason = "signature_invalid" PluginActionBlockedSignatureRevoked PluginActionBlockedReason = "signature_revoked" PluginActionBlockedIncompatible PluginActionBlockedReason = "incompatible" )
type PluginActionState ¶ added in v1.0.0
type PluginActionState struct {
CanOpen bool `json:"can_open"`
CanEnable bool `json:"can_enable"`
CanDisable bool `json:"can_disable"`
CanUninstall bool `json:"can_uninstall"`
BlockedReason PluginActionBlockedReason `json:"blocked_reason,omitempty"`
RecoveryAction string `json:"recovery_action,omitempty"`
}
PluginActionState is the only Host-owned action projection consumed by host products. UI clients may present it, but must not recompute it.
type PluginData ¶ added in v0.5.0
type PluginData interface {
plugindata.Store
storage.FilesBroker
storage.KVBroker
storage.SQLiteBroker
storage.Inspector
Close() error
}
type PluginDataInspection ¶ added in v1.0.0
type PluginDataInspection struct {
Bindings []plugindata.Binding `json:"bindings"`
Objects []PluginDataObjectInspection `json:"objects"`
Namespaces []storage.NamespaceRecord `json:"namespaces"`
TotalUsageBytes int64 `json:"total_usage_bytes"`
TotalUsageFiles int64 `json:"total_usage_files"`
}
type PluginDataObjectInspection ¶ added in v1.0.0
type PluginDataObjectInspection struct {
Scope sessionctx.ScopeKind `json:"scope"`
Object plugindata.Object `json:"object"`
}
type PluginInventoryRecord ¶ added in v1.0.0
type PluginInventoryRecord struct {
Plugin registry.PluginRecord `json:"plugin"`
ActionState PluginActionState `json:"action_state"`
}
type PluginPackageRelease ¶
type PluginPackageRelease struct {
SourceID string `json:"source_id"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Version string `json:"version"`
DistributionRef PackageDistributionRef `json:"distribution_ref"`
ReleaseMetadataSHA256 string `json:"release_metadata_sha256"`
ReleaseMetadataSignature *ReleaseMetadataSignature `json:"release_metadata_signature,omitempty"`
Hashes PackageHashSet `json:"hashes"`
PackageSignature *PackageReleaseSignature `json:"package_signature,omitempty"`
Compatibility *ReleaseCompatibility `json:"compatibility,omitempty"`
HostRequirements []HostRequirement `json:"host_requirements,omitempty"`
ReleaseEvidence *ReleaseEvidence `json:"release_evidence,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type PluginRecoveryResult ¶ added in v1.0.0
type PluginReleaseRef ¶
type PluginReleaseRef struct {
SourceID string `json:"source_id"`
Channel string `json:"channel"`
ReleaseMetadataRef string `json:"release_metadata_ref"`
ReleaseMetadataSHA256 string `json:"release_metadata_sha256"`
PublisherID string `json:"publisher_id"`
PluginID string `json:"plugin_id"`
Version string `json:"version"`
ExpectedHashes PackageHashSet `json:"expected_hashes"`
}
type PolicyAdapter ¶
type PolicyAdapter interface {
EvaluateLocalPolicy(ctx context.Context, session sessionctx.Context, plugin PluginRef, method manifest.MethodSpec) (PolicyDecision, error)
DeveloperModeEnabled(ctx context.Context, session sessionctx.Context) (bool, error)
LocalGeneratedPluginsEnabled(ctx context.Context, session sessionctx.Context) (bool, error)
}
type PolicyDecision ¶
type PolicyDecision string
const ( PolicyAllow PolicyDecision = "allow" PolicyDeny PolicyDecision = "deny" )
type PrepareMethodConfirmationRequest ¶ added in v0.5.0
type PrepareMethodConfirmationRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
SurfaceInstanceID string `json:"surface_instance_id"`
BridgeChannelID string `json:"bridge_channel_id"`
GatewayToken string `json:"plugin_gateway_token"`
Method string `json:"method"`
Params map[string]any `json:"params,omitempty"`
Now time.Time `json:"-"`
}
type PrepareMethodConfirmationResult ¶ added in v0.5.0
type PrepareMethodConfirmationResult struct {
ConfirmationID string `json:"confirmation_id"`
ConfirmationTokenID string `json:"confirmation_token_id"`
RequestHash string `json:"request_hash"`
PlanHash string `json:"plan_hash"`
Plan any `json:"plan,omitempty"`
ExpiresAt time.Time `json:"expires_at"`
}
type PrepareSurfaceRequest ¶ added in v0.5.0
type PrepareSurfaceResult ¶
type PrepareSurfaceResult struct {
bridge.AssetSessionResult
Document pluginpkg.OpaqueSurfaceDocument `json:"document"`
}
type PutSecurityPolicyRequest ¶
type PutSecurityPolicyRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
ExpectedPolicyRevision uint64 `json:"expected_policy_revision"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
ExpectedRevokeEpoch uint64 `json:"expected_revoke_epoch"`
AllowedPermissions []string `json:"allowed_permissions,omitempty"`
DeniedMethods []string `json:"denied_methods,omitempty"`
Now time.Time `json:"-"`
}
type ReadPluginDataFileRequest ¶ added in v1.0.0
type ReadPluginIconRequest ¶ added in v0.7.27
type ReadPluginIconResult ¶ added in v0.7.27
type ReadSurfaceAssetRequest ¶
type ReadSurfaceAssetResult ¶
type ReadSurfaceAssetResult struct {
Entry pluginpkg.Entry
Content []byte
Session bridge.SurfaceSession
}
type ReconcileSurfaceRevocationResult ¶ added in v0.6.9
type ReconcileSurfaceRevocationResult = bridge.ReconcileSurfaceRevocationResult
type RecoverySnapshot ¶ added in v1.0.0
type RecoverySnapshot struct {
Revision int64 `json:"revision"`
Complete bool `json:"complete"`
Results []PluginRecoveryResult `json:"results"`
}
type RejectMethodConfirmationRequest ¶ added in v0.3.0
type RejectMethodConfirmationRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
SurfaceInstanceID string `json:"surface_instance_id"`
BridgeChannelID string `json:"bridge_channel_id"`
GatewayToken string `json:"plugin_gateway_token"`
ConfirmationID string `json:"confirmation_id"`
Now time.Time `json:"-"`
}
type RejectMethodConfirmationResult ¶ added in v0.3.0
type RejectMethodConfirmationResult struct {
Rejected bool `json:"rejected"`
}
type ReleaseArtifactFailure ¶ added in v0.7.2
type ReleaseArtifactFailureProvider ¶ added in v0.7.2
type ReleaseArtifactFailureProvider interface {
ReleaseArtifactFailure() ReleaseArtifactFailure
}
type ReleaseArtifactProgress ¶ added in v0.7.2
type ReleaseArtifactResolveRequest ¶
type ReleaseArtifactResolveRequest struct {
Action PackageTrustAction `json:"action"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
SourcePolicy releasecontract.SourcePolicyV2 `json:"source_policy"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"-"`
Observe func(ReleaseArtifactProgress) `json:"-"`
}
type ReleaseArtifactResolver ¶
type ReleaseArtifactResolver interface {
ResolveReleaseArtifact(ctx context.Context, req ReleaseArtifactResolveRequest) (ResolvedPackageArtifact, error)
}
type ReleaseCompatibility ¶
type ReleaseCompatibility struct {
MinReDevPluginVersion string `json:"min_redevplugin_version,omitempty"`
MinRuntimeVersion string `json:"min_runtime_version,omitempty"`
UIProtocolVersion string `json:"ui_protocol_version,omitempty"`
SupportedTargets []runtimetarget.Target `json:"supported_targets,omitempty"`
}
type ReleaseEvidence ¶
type ReleaseModule ¶ added in v0.5.0
type ReleaseModule struct {
Trust *releasetrust.ServiceSet
ReleaseArtifactResolver ReleaseArtifactResolver
HostRequirements HostRequirementPolicy
}
type ResolvedPackageArtifact ¶
type ResourceRef ¶ added in v0.5.0
type ResourceRef string
ResourceRef identifies one closed host-neutral resource family.
const ( ResourcePlugin ResourceRef = "plugin" ResourcePlatform ResourceRef = "platform" ResourceSurface ResourceRef = "surface" ResourceSurfaceDefinition ResourceRef = "surface_definition" ResourceSurfaceAsset ResourceRef = "surface_asset" ResourceAssetSession ResourceRef = "asset_session" ResourceBridgeChannel ResourceRef = "bridge_channel" ResourceConfirmation ResourceRef = "confirmation" ResourceMethod ResourceRef = "method" ResourceIntent ResourceRef = "intent" ResourcePermission ResourceRef = "permission" ResourceSecurityPolicy ResourceRef = "security_policy" ResourceDiagnostic ResourceRef = "diagnostic" ResourceExecution ResourceRef = "execution" ResourceRuntime ResourceRef = "runtime" ResourceConnector ResourceRef = "connector" ResourceStore ResourceRef = "store" ResourceRetainedData ResourceRef = "retained_data" ResourcePluginData ResourceRef = "plugin_data" ResourceDataExport ResourceRef = "data_export" ResourceSettings ResourceRef = "settings" ResourceSecret ResourceRef = "secret" ResourceSessionScope ResourceRef = "session_scope" )
func (ResourceRef) Valid ¶ added in v0.5.0
func (resource ResourceRef) Valid() bool
type ResumeClosedSessionScopeTeardownRequest ¶ added in v0.6.18
type ResumeClosedSessionScopeTeardownRequest struct {
Session sessionctx.Context `json:"-"`
Identity sessionscope.TeardownIdentity `json:"-"`
Now time.Time `json:"-"`
}
ResumeClosedSessionScopeTeardownRequest continues an existing exact teardown without requiring an active browser authorization context.
type RetainedDataCleanupResult ¶
type RetainedDataCleanupResult struct {
Deleted []plugindata.Binding `json:"deleted,omitempty"`
}
type RevokePermissionRequest ¶
type RevokePermissionRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
PermissionID string `json:"permission_id"`
ExpectedPolicyRevision uint64 `json:"expected_policy_revision"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
ExpectedRevokeEpoch uint64 `json:"expected_revoke_epoch"`
Reason string `json:"reason,omitempty"`
Now time.Time `json:"-"`
}
type RevokeSessionScopeRequest ¶ added in v0.6.0
type RevokeSessionScopeRequest struct {
Identity sessionscope.TeardownIdentity `json:"-"`
Now time.Time `json:"-"`
}
type RevokeSessionScopeResult ¶ added in v0.6.0
type RevokeSessionScopeResult struct {
State sessionscope.State `json:"state"`
Fenced bool `json:"fenced"`
Complete bool `json:"complete"`
Counts sessionscope.Counts `json:"counts"`
}
type RuntimeAdmissionTarget ¶ added in v0.6.0
type RuntimeAdmissionTarget struct {
// contains filtered or unexported fields
}
RuntimeAdmissionTarget is the closed runtime target set supported by the fd-backed v0.6 runtime admission path.
func ParseRuntimeAdmissionTarget ¶ added in v0.6.0
func ParseRuntimeAdmissionTarget(value string) (RuntimeAdmissionTarget, error)
func (RuntimeAdmissionTarget) String ¶ added in v0.6.0
func (target RuntimeAdmissionTarget) String() string
type RuntimeBinaryName ¶ added in v0.6.0
type RuntimeBinaryName struct {
// contains filtered or unexported fields
}
RuntimeBinaryName is the closed executable basename accepted by v0.6.
func NewRuntimeBinaryName ¶ added in v0.6.0
func NewRuntimeBinaryName(value string) (RuntimeBinaryName, error)
func (RuntimeBinaryName) String ¶ added in v0.6.0
func (name RuntimeBinaryName) String() string
type RuntimeDescriptor ¶ added in v0.6.0
type RuntimeDescriptor struct {
// contains filtered or unexported fields
}
RuntimeDescriptor is immutable and intentionally does not implement json.Marshaler or json.Unmarshaler. Wire boundaries use the explicit mapper below so domain values cannot silently accept alternate JSON shapes.
func NewRuntimeDescriptor ¶ added in v0.6.0
func NewRuntimeDescriptor(options RuntimeDescriptorOptions) (RuntimeDescriptor, error)
func UnmarshalRuntimeDescriptorJSON ¶ added in v0.6.0
func UnmarshalRuntimeDescriptorJSON(raw []byte) (RuntimeDescriptor, error)
func (RuntimeDescriptor) BinarySHA256 ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) BinarySHA256() SHA256Digest
func (RuntimeDescriptor) CompatibleWithPlatform ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) CompatibleWithPlatform() error
func (RuntimeDescriptor) ContractSetSHA256 ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) ContractSetSHA256() SHA256Digest
func (RuntimeDescriptor) PlatformVersion ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) PlatformVersion() platformversion.SemVer
func (RuntimeDescriptor) RustIPCVersion ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) RustIPCVersion() RustIPCVersion
func (RuntimeDescriptor) Target ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) Target() RuntimeAdmissionTarget
func (RuntimeDescriptor) WASMABIVersion ¶ added in v0.6.0
func (descriptor RuntimeDescriptor) WASMABIVersion() WASMABIVersion
type RuntimeDescriptorOptions ¶ added in v0.6.0
type RuntimeDescriptorOptions struct {
PlatformVersion platformversion.SemVer
Target RuntimeAdmissionTarget
RustIPCVersion RustIPCVersion
WASMABIVersion WASMABIVersion
ContractSetSHA256 SHA256Digest
BinarySHA256 SHA256Digest
}
RuntimeDescriptorOptions is the only constructor input for the public v2 runtime identity.
type RuntimeHealth ¶ added in v0.6.0
type RuntimeHealth struct {
Ready bool `json:"ready"`
Descriptor RuntimeDescriptor `json:"descriptor"`
Shards []RuntimeShardHealth `json:"shards"`
}
RuntimeHealth is the Host-owned public runtime health response.
type RuntimeLimits ¶ added in v0.6.0
type RuntimeLimits = runtimeclient.RuntimeLimits
type RuntimeModule ¶ added in v0.5.0
type RuntimeModule struct {
// contains filtered or unexported fields
}
func NewRuntimeModule ¶ added in v0.6.0
func NewRuntimeModule(executable *VerifiedExecutable, options RuntimeModuleOptions) (*RuntimeModule, error)
func (*RuntimeModule) Close ¶ added in v0.6.0
func (module *RuntimeModule) Close(ctx context.Context) (RuntimeModuleCloseResult, error)
func (*RuntimeModule) Descriptor ¶ added in v0.6.0
func (module *RuntimeModule) Descriptor() RuntimeDescriptor
type RuntimeModuleCacheMetrics ¶ added in v0.6.0
type RuntimeModuleCacheMetrics struct {
Hits uint64 `json:"hits"`
Misses uint64 `json:"misses"`
Compiles uint64 `json:"compiles"`
Entries int `json:"entries"`
SourceBytes int64 `json:"source_bytes"`
}
RuntimeModuleCacheMetrics reports the bounded runtime module cache state.
type RuntimeModuleCloseResult ¶ added in v0.6.0
type RuntimeModuleCloseResult struct {
Disposition RuntimeModuleDisposition
Outcome MutationOutcome
}
type RuntimeModuleDisposition ¶ added in v0.6.0
type RuntimeModuleDisposition string
const ( RuntimeModuleCallerOwned RuntimeModuleDisposition = "caller_owned" RuntimeModuleAlreadyClosed RuntimeModuleDisposition = "already_closed" RuntimeModuleConsumedAndClosed RuntimeModuleDisposition = "consumed_and_closed" )
type RuntimeModuleOptions ¶ added in v0.6.0
type RuntimeModuleOptions struct {
Limits RuntimeLimits
StartupTimeout time.Duration
ShutdownTimeout time.Duration
}
type RuntimeProcessHealth ¶ added in v0.6.0
type RuntimeProcessHealth struct {
RuntimeInstanceID string `json:"runtime_instance_id"`
RuntimeGenerationID string `json:"runtime_generation_id"`
IPCChannelID string `json:"ipc_channel_id,omitempty"`
ConnectionNonce string `json:"connection_nonce,omitempty"`
Descriptor RuntimeDescriptor `json:"descriptor"`
Ready bool `json:"ready"`
ActiveInvocations int `json:"active_invocations"`
QueuedInvocations int `json:"queued_invocations"`
Limits RuntimeLimits `json:"limits"`
ModuleCache RuntimeModuleCacheMetrics `json:"module_cache"`
}
RuntimeProcessHealth is the observable state of one admitted runtime process.
type RuntimeShardHealth ¶ added in v0.6.0
type RuntimeShardHealth struct {
RuntimeShardID string `json:"runtime_shard_id"`
RuntimeProcessHealth
}
RuntimeShardHealth identifies one process within the Host-owned runtime module.
type RustIPCVersion ¶ added in v0.6.0
type RustIPCVersion struct {
// contains filtered or unexported fields
}
RustIPCVersion and WASMABIVersion are generated-version-bound newtypes. A host cannot construct an unconstrained protocol string.
func ParseRustIPCVersion ¶ added in v0.6.0
func ParseRustIPCVersion(value string) (RustIPCVersion, error)
func (RustIPCVersion) String ¶ added in v0.6.0
func (version RustIPCVersion) String() string
type SHA256Digest ¶ added in v0.6.0
type SHA256Digest struct {
// contains filtered or unexported fields
}
SHA256Digest is a validated lowercase SHA-256 digest without an algorithm prefix. Its zero value is invalid.
func ParseSHA256Digest ¶ added in v0.6.0
func ParseSHA256Digest(value string) (SHA256Digest, error)
func (SHA256Digest) String ¶ added in v0.6.0
func (digest SHA256Digest) String() string
type SecretBindRequest ¶
type SecretBindRequest = secrets.BindRequest
type SecretDeleteRequest ¶
type SecretDeleteRequest = secrets.DeleteRequest
type SecretStoreAdapter ¶
type SecretTestRequest ¶
type SecretTestRequest = secrets.TestRequest
type SecretsModule ¶ added in v0.5.0
type SecretsModule struct {
Store SecretStoreAdapter
}
type SecurityPolicyResult ¶ added in v0.5.0
type SecurityPolicyResult struct {
Policy security.PolicyRecord `json:"policy"`
Revisions registry.AuthorizationRevisions `json:"revisions"`
}
type SessionScopeFinalizationResult ¶ added in v0.6.18
type SessionScopeFinalizationResult struct {
Status SessionScopeFinalizationStatus `json:"status"`
}
SessionScopeFinalizationResult distinguishes a newly finalized scope from a scope for which both durable evidence stores were already absent.
type SessionScopeFinalizationStatus ¶ added in v0.6.18
type SessionScopeFinalizationStatus string
SessionScopeFinalizationStatus reports whether this call finalized an exact scope or found no Host-owned platform fence.
const ( SessionScopeFinalized SessionScopeFinalizationStatus = "finalized" SessionScopeFinalizationAbsent SessionScopeFinalizationStatus = "absent" )
type SessionScopeTeardownMaintenanceResult ¶ added in v0.6.18
type SessionScopeTeardownMaintenanceResult struct {
Status SessionScopeTeardownMaintenanceStatus `json:"status"`
Identity sessionscope.TeardownIdentity `json:"-"`
Teardown RevokeSessionScopeResult `json:"teardown"`
}
SessionScopeTeardownMaintenanceResult contains the opaque identity required for host-side continuation. Identity is never part of a JSON projection.
type SessionScopeTeardownMaintenanceStatus ¶ added in v0.6.18
type SessionScopeTeardownMaintenanceStatus string
SessionScopeTeardownMaintenanceStatus reports whether teardown is pending, complete, or has no remaining durable evidence.
const ( SessionScopeTeardownIncomplete SessionScopeTeardownMaintenanceStatus = "incomplete" SessionScopeTeardownComplete SessionScopeTeardownMaintenanceStatus = "complete" SessionScopeTeardownAbsent SessionScopeTeardownMaintenanceStatus = "absent" )
type SettingsResult ¶
type SettingsResult struct {
PluginInstanceID string `json:"plugin_instance_id"`
Scope sessionctx.ScopeKind `json:"scope"`
SchemaVersion int `json:"schema_version"`
ValuesRevision uint64 `json:"values_revision"`
Values map[string]any `json:"values"`
SecretMetadata []SettingsSecretMetadata `json:"secret_metadata"`
}
type SettingsSchemaResult ¶
type SettingsSchemaResult struct {
PluginInstanceID string `json:"plugin_instance_id"`
Scope sessionctx.ScopeKind `json:"scope"`
SchemaVersion int `json:"schema_version"`
Fields []manifest.SettingFieldSpec `json:"fields"`
ValuesRevision uint64 `json:"values_revision"`
}
type SettingsSecretMetadata ¶ added in v0.5.0
type SettingsSecretMetadata struct {
Key string `json:"key"`
SecretRef string `json:"secret_ref"`
Scope string `json:"scope"`
Bound bool `json:"bound"`
LastTestStatus string `json:"last_test_status,omitempty"`
BoundAt *time.Time `json:"bound_at,omitempty"`
TestedAt *time.Time `json:"tested_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
}
type StartReleaseInstallExecutionRequest ¶ added in v1.0.0
type StartReleaseInstallExecutionRequest struct {
RequestID string `json:"request_id"`
PluginInstanceID string `json:"plugin_instance_id"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
ActivateAfterInstall *bool `json:"activate_after_install,omitempty"`
ApprovedPermissionIDs []string `json:"approved_permission_ids,omitempty"`
Now time.Time `json:"-"`
}
type StartRuntimeRequest ¶
type StartRuntimeRequest struct {
Target runtimetarget.Target `json:"-"`
}
type StorageHandleGrantResult ¶
type StorageHandleGrantResult struct {
Namespace storage.Namespace `json:"namespace"`
HandleGrant bridge.HandleGrantResult `json:"handle_grant"`
}
type SurfaceCatalogSink ¶
type SurfaceCatalogSink interface {
PublishSurfaces(ctx context.Context, snapshot SurfaceSnapshot) error
}
type SurfaceSnapshot ¶
type SurfaceSnapshot struct {
PluginInstanceID string `json:"plugin_instance_id"`
ActiveFingerprint string `json:"active_fingerprint"`
Surfaces []manifest.SurfaceSpec `json:"surfaces"`
}
type UninstallRequest ¶
type UpdateReleaseRefRequest ¶
type UpdateReleaseRefRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
ExpectedManagementRevision uint64 `json:"expected_management_revision"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
Now time.Time `json:"-"`
}
type VerifiedExecutable ¶ added in v0.6.0
type VerifiedExecutable struct {
// contains filtered or unexported fields
}
VerifiedExecutable is an owned, sealed runtime executable capability. The underlying file descriptors are never exposed to callers.
func OpenVerifiedExecutable ¶ added in v0.6.0
func OpenVerifiedExecutable(ctx context.Context, options VerifiedExecutableOptions) (*VerifiedExecutable, error)
func (*VerifiedExecutable) Close ¶ added in v0.6.0
func (executable *VerifiedExecutable) Close() (MutationOutcome, error)
func (*VerifiedExecutable) Descriptor ¶ added in v0.6.0
func (executable *VerifiedExecutable) Descriptor() RuntimeDescriptor
type VerifiedExecutableOptions ¶ added in v0.6.0
type VerifiedExecutableOptions struct {
RootDir *os.File
ExecutionRoot *os.File
RelativeName RuntimeBinaryName
ExpectedDescriptor RuntimeDescriptor
}
type WASMABIVersion ¶ added in v0.6.0
type WASMABIVersion struct {
// contains filtered or unexported fields
}
func ParseWASMABIVersion ¶ added in v0.6.0
func ParseWASMABIVersion(value string) (WASMABIVersion, error)
func (WASMABIVersion) String ¶ added in v0.6.0
func (version WASMABIVersion) String() string
type WorkerErrorOrigin ¶ added in v0.6.0
type WorkerErrorOrigin = runtimeclient.WorkerErrorOrigin
type WorkerExecutionError ¶ added in v0.6.0
type WorkerExecutionError = runtimeclient.WorkerExecutionError
func AsValidatedWorkerExecutionError ¶ added in v0.5.0
func AsValidatedWorkerExecutionError(err error) (WorkerExecutionError, bool)
AsValidatedWorkerExecutionError returns a copy of a worker failure attested by Host.
type WritePluginDataFileRequest ¶ added in v1.0.0
Source Files
¶
- authorization.go
- capability_business_error.go
- capability_execution.go
- execution_facade.go
- external_package.go
- external_package_projection.go
- host.go
- method_schema_cache.go
- plugin_data_facade.go
- plugin_inventory.go
- plugin_lifecycle_lock.go
- release_install_operation.go
- release_trust.go
- runtime_exec_journal.go
- runtime_exec_journal_linux.go
- runtime_executable.go
- runtime_executable_linux.go
- runtime_health.go
- runtime_identity.go
- runtime_module.go
- security_audit.go
- session_scope_maintenance.go
- surface_cache.go