Documentation
¶
Index ¶
- Variables
- func ImportLocalPackageBytes(ctx context.Context, h *Host, data []byte) (registry.PluginRecord, error)
- type Adapters
- type AuditEvent
- type AuditLister
- type AuditSink
- type BindRetainedDataRequest
- type CallMethodRequest
- type CallMethodResult
- type CancelOperationRequest
- type CancelSurfaceOperationRequest
- type CapabilityArtifactFetchHop
- type CapabilityContractArtifactResolver
- type CapabilityContractArtifactSet
- type CapabilityContractKeyRequest
- type CapabilityContractKeyResolver
- type CapabilityContractResolveRequest
- type CleanupExpiredRetainedDataRequest
- type ConfirmMethodRequest
- type ConfirmMethodResult
- type CoreActionAdapter
- type DeleteRetainedDataRequest
- type DeleteSecurityPolicyRequest
- type DiagnosticEvent
- type DiagnosticLister
- type DiagnosticsSink
- type DisableRequest
- type DisposeSurfaceRequest
- type DowngradeRequest
- type EnableRequest
- type ExchangeAssetTicketRequest
- type ExportDataRequest
- type ExportDataResult
- type GetSecurityPolicyRequest
- type GetSettingsRequest
- type GrantPermissionRequest
- type Host
- func (h *Host) BindRetainedData(ctx context.Context, req BindRetainedDataRequest) (retaineddata.Record, error)
- func (h *Host) BindSecretRef(ctx context.Context, req SecretBindRequest) error
- func (h *Host) CallPluginMethod(ctx context.Context, req CallMethodRequest) (result CallMethodResult, resultErr error)
- func (h *Host) CancelOperation(ctx context.Context, req CancelOperationRequest) (operation.Record, error)
- func (h *Host) CancelSurfaceOperation(ctx context.Context, req CancelSurfaceOperationRequest) (operation.Record, error)
- func (h *Host) Capabilities() *capability.Registry
- func (h *Host) CleanupExpiredRetainedData(ctx context.Context, req CleanupExpiredRetainedDataRequest) (RetainedDataCleanupResult, error)
- func (h *Host) DeleteRetainedData(ctx context.Context, req DeleteRetainedDataRequest) (retaineddata.Record, error)
- func (h *Host) DeleteSecretRef(ctx context.Context, req SecretDeleteRequest) error
- func (h *Host) DeleteSecurityPolicy(ctx context.Context, req DeleteSecurityPolicyRequest) error
- func (h *Host) DisablePlugin(ctx context.Context, req DisableRequest) (registry.PluginRecord, error)
- func (h *Host) DisposeSurface(_ context.Context, req DisposeSurfaceRequest) error
- func (h *Host) DowngradePlugin(ctx context.Context, req DowngradeRequest) (registry.PluginRecord, error)
- func (h *Host) EnablePlugin(ctx context.Context, req EnableRequest) (registry.PluginRecord, error)
- func (h *Host) ExchangeAssetTicket(ctx context.Context, req ExchangeAssetTicketRequest) (bridge.AssetSessionResult, error)
- func (h *Host) ExportPluginData(ctx context.Context, req ExportDataRequest) (ExportDataResult, error)
- func (h *Host) GetOperation(ctx context.Context, operationID string) (operation.Record, error)
- func (h *Host) GetPluginSettings(ctx context.Context, req GetSettingsRequest) (SettingsResult, error)
- func (h *Host) GetSecurityPolicy(ctx context.Context, req GetSecurityPolicyRequest) (security.PolicyRecord, error)
- func (h *Host) GetSettingsSchema(ctx context.Context, req GetSettingsRequest) (SettingsSchemaResult, error)
- func (h *Host) GrantPermission(ctx context.Context, req GrantPermissionRequest) (permissions.Record, error)
- func (h *Host) ImportLocalPackage(ctx context.Context, req ImportLocalPackageRequest) (registry.PluginRecord, error)
- func (h *Host) ImportPluginData(ctx context.Context, req ImportDataRequest) error
- func (h *Host) InstallReleaseRef(ctx context.Context, req InstallReleaseRefRequest) (registry.PluginRecord, error)
- func (h *Host) InvokeIntent(ctx context.Context, req InvokeIntentRequest) (CallMethodResult, error)
- func (h *Host) ListAuditEvents(ctx context.Context, req ListAuditEventsRequest) ([]AuditEvent, error)
- func (h *Host) ListDiagnosticEvents(ctx context.Context, req ListDiagnosticEventsRequest) ([]DiagnosticEvent, error)
- func (h *Host) ListIntents(ctx context.Context, req ListIntentsRequest) ([]IntentRecord, error)
- func (h *Host) ListOperations(ctx context.Context, req ListOperationsRequest) ([]operation.Record, error)
- func (h *Host) ListPermissionGrants(ctx context.Context, req ListPermissionGrantsRequest) ([]permissions.Record, error)
- func (h *Host) ListPlugins(ctx context.Context) ([]registry.PluginRecord, error)
- func (h *Host) ListRetainedData(ctx context.Context, req ListRetainedDataRequest) ([]retaineddata.Record, error)
- func (h *Host) ListSecurityPolicies(ctx context.Context) ([]security.PolicyRecord, error)
- func (h *Host) MintBridgeToken(ctx context.Context, req MintBridgeTokenRequest) (bridge.GatewayTokenResult, error)
- func (h *Host) MintConnectionGrant(ctx context.Context, req MintConnectionGrantRequest) (connectivity.ConnectionGrant, error)
- func (h *Host) MintNetworkHandleGrant(ctx context.Context, req MintConnectionGrantRequest) (NetworkHandleGrantResult, error)
- func (h *Host) MintStorageHandleGrant(ctx context.Context, req MintStorageHandleGrantRequest) (StorageHandleGrantResult, error)
- func (h *Host) OpenSurface(ctx context.Context, req OpenSurfaceRequest) (bridge.SurfaceBootstrap, error)
- func (h *Host) PatchPluginSettings(ctx context.Context, req PatchSettingsRequest) (SettingsResult, error)
- func (h *Host) PrepareMethodConfirmation(ctx context.Context, req ConfirmMethodRequest) (ConfirmMethodResult, error)
- func (h *Host) PrepareSurface(ctx context.Context, req ExchangeAssetTicketRequest) (result PrepareSurfaceResult, err error)
- func (h *Host) PutSecurityPolicy(ctx context.Context, req PutSecurityPolicyRequest) (security.PolicyRecord, error)
- func (h *Host) ReadStream(ctx context.Context, req ReadStreamRequest) (ReadStreamResult, error)
- func (h *Host) ReadSurfaceAsset(ctx context.Context, req ReadSurfaceAssetRequest) (ReadSurfaceAssetResult, error)
- func (h *Host) RefreshEnabledPlugins(ctx context.Context) ([]registry.PluginRecord, error)
- func (h *Host) RejectMethodConfirmation(ctx context.Context, req RejectMethodConfirmationRequest) (RejectMethodConfirmationResult, error)
- func (h *Host) RevokePermission(ctx context.Context, req RevokePermissionRequest) (permissions.Record, error)
- func (h *Host) RevokeSurfaceScope(ctx context.Context, req RevokeSurfaceScopeRequest) (int, error)
- func (h *Host) RuntimeHealth(ctx context.Context) (runtimeclient.Health, error)
- func (h *Host) StartRuntime(ctx context.Context, req StartRuntimeRequest) (runtimeclient.Health, error)
- func (h *Host) StopRuntime(ctx context.Context) error
- func (h *Host) TestSecretRef(ctx context.Context, req SecretTestRequest) error
- func (h *Host) UninstallPlugin(ctx context.Context, req UninstallRequest) (registry.PluginRecord, 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)
- type HostCapabilityContractRef
- type HostCapabilityRequirement
- type HostRequirement
- type HostRequirementPolicy
- type HostRequirementSelection
- type HostRequirementSelectionRequest
- type ImportDataRequest
- type ImportLocalPackageRequest
- type InstallReleaseRefRequest
- type IntentRecord
- type InvokeIntentRequest
- type ListAuditEventsRequest
- type ListDiagnosticEventsRequest
- type ListIntentsRequest
- type ListOperationsRequest
- type ListPermissionGrantsRequest
- type ListRetainedDataRequest
- type MintBridgeTokenRequest
- type MintConnectionGrantRequest
- type MintStorageHandleGrantRequest
- type NetworkHandleGrantResult
- type OpenSurfaceRequest
- type PackageDistribution
- type PackageDistributionRef
- type PackageDowngradePolicy
- type PackageHashSet
- type PackageInstallPolicy
- type PackageReleaseSignature
- type PackageSourceClass
- type PackageSourceType
- type PackageTrustAction
- type PackageTrustVerificationRequest
- type PackageTrustVerificationResult
- type PackageTrustVerifier
- type PackageUnsignedPolicy
- type PatchSettingsRequest
- type PluginPackageRelease
- type PluginRef
- type PluginReleaseRef
- type PolicyAdapter
- type PolicyDecision
- type PrepareSurfaceResult
- type PutSecurityPolicyRequest
- type ReadStreamRequest
- type ReadStreamResult
- type ReadSurfaceAssetRequest
- type ReadSurfaceAssetResult
- type RejectMethodConfirmationRequest
- type RejectMethodConfirmationResult
- type ReleaseArtifactResolveRequest
- type ReleaseArtifactResolver
- type ReleaseCompatibility
- type ReleaseEvidence
- type ReleaseMetadataSignature
- type ReleaseMetadataVerificationRequest
- type ReleaseMetadataVerificationResult
- type ReleaseMetadataVerifier
- type ReleaseSourcePolicyRequest
- type ReleaseSourcePolicyResolver
- type ResolvedCapabilityContractArtifact
- type ResolvedCapabilityContractFile
- type ResolvedPackageArtifact
- type RetainedDataCleanupResult
- type RevokePermissionRequest
- type RevokeSurfaceScopeRequest
- type RuntimeArtifactResolver
- type RuntimeTarget
- type SecretBindRequest
- type SecretDeleteRequest
- type SecretStoreAdapter
- type SecretTestRequest
- type SettingsResult
- type SettingsSchemaResult
- type SourcePolicyRevocationEvidence
- type SourcePolicySnapshot
- type SourcePolicyTrustedKey
- type SourceRevocationEvidenceVerificationRequest
- type SourceRevocationEvidenceVerificationResult
- type SourceRevocationEvidenceVerifier
- type SourceRevocationMetadata
- type StartRuntimeRequest
- type StorageHandleGrantResult
- type SurfaceCatalogSink
- type SurfaceSnapshot
- type UninstallRequest
- type UpdateLocalPackageRequest
- type UpdateReleaseRefRequest
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrStreamTicketRequired = errors.New("stream ticket is required") ErrPluginDataNotDeclared = errors.New("plugin does not declare exportable data") ErrPluginDataArchiveRequired = errors.New("archive_ref or settings_archive_ref is required") ErrPluginStorageNotDeclared = errors.New("target plugin does not declare storage") ErrPluginSettingsNotDeclared = errors.New("target plugin does not declare settings") ErrPluginMigrationPreflight = errors.New("plugin migration preflight failed") ErrOperationCancelDispatchFailed = errors.New("operation cancel dispatch failed") ErrRetainedDataCleanupFailed = errors.New("retained data cleanup failed") ErrRetainedDataBindFailed = errors.New("retained data bind failed") ErrRetainedDataUnsafePayload = errors.New("retained data payload is not safe to delete") 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") ErrPluginStateVersionMismatch = errors.New("plugin state version mismatch") ErrPluginTrustDenied = errors.New("plugin trust does not allow execution") ErrSecurityEventPersistence = errors.New("plugin security event persistence failed") )
View Source
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") ErrReleaseMetadataVerifierRequired = errors.New("release metadata verifier is required") ErrSourceRevocationVerifierRequired = errors.New("source revocation evidence verifier is required") ErrReleaseSourcePolicyRequired = errors.New("release source policy resolver is required") ErrReleaseArtifactResolverRequired = errors.New("release artifact resolver is required") ErrReleaseRefVerificationFailed = errors.New("release ref verification failed") ErrReleaseRefPolicyDenied = errors.New("release ref source policy denied") )
View Source
var ErrConfirmationRequired = errors.New("plugin method confirmation required")
Functions ¶
func ImportLocalPackageBytes ¶
Types ¶
type Adapters ¶
type Adapters struct {
SessionResolver sessionctx.Resolver
Policy PolicyAdapter
PackageTrustVerifier PackageTrustVerifier
ReleaseMetadataVerifier ReleaseMetadataVerifier
RevocationVerifier SourceRevocationEvidenceVerifier
ReleaseSourcePolicy ReleaseSourcePolicyResolver
ReleaseArtifactResolver ReleaseArtifactResolver
HostRequirements HostRequirementPolicy
CapabilityContractArtifacts CapabilityContractArtifactResolver
CapabilityContractKeys CapabilityContractKeyResolver
Registry registry.Store
Audit AuditSink
Diagnostics DiagnosticsSink
Secrets SecretStoreAdapter
RuntimeArtifactResolver RuntimeArtifactResolver
RuntimeSupervisor runtimeclient.Supervisor
SurfaceCatalog SurfaceCatalogSink
Assets pluginpkg.AssetStore
InstallStages installstage.Store
Capabilities *capability.Registry
CoreActions CoreActionAdapter
SurfaceTokens *bridge.SurfaceTokenService
Storage storage.Broker
Connectivity connectivity.Broker
NetworkExecutor connectivity.NetworkExecutor
Operations operation.Store
Permissions permissions.Store
SecurityPolicy security.PolicyStore
ConfirmationIntents security.ConfirmationIntentStore
Cleanup cleanup.Orchestrator
RetainedData retaineddata.Store
Settings settings.Store
Streams stream.Store
}
type AuditEvent ¶
type AuditEvent = observability.AuditEvent
type AuditLister ¶
type AuditLister = observability.AuditLister
type AuditSink ¶
type AuditSink = observability.AuditSink
type BindRetainedDataRequest ¶
type CallMethodRequest ¶
type CallMethodRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
SurfaceInstanceID string `json:"surface_instance_id"`
SessionChannelIDHash string `json:"session_channel_id_hash,omitempty"`
OwnerSessionHash string `json:"owner_session_hash,omitempty"`
OwnerUserHash string `json:"owner_user_hash,omitempty"`
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:"now,omitempty"`
// contains filtered or unexported fields
}
type CallMethodResult ¶
type CallMethodResult struct {
Data any `json:"data"`
OperationID string `json:"operation_id,omitempty"`
StreamID string `json:"stream_id,omitempty"`
StreamTicket string `json:"stream_ticket,omitempty"`
StreamTicketID string `json:"stream_ticket_id,omitempty"`
StreamExpiresAt *time.Time `json:"stream_expires_at,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 CancelOperationRequest ¶
type CancelSurfaceOperationRequest ¶ added in v0.3.0
type CapabilityArtifactFetchHop ¶ added in v0.3.0
type CapabilityContractArtifactResolver ¶ added in v0.3.0
type CapabilityContractArtifactResolver interface {
ResolveCapabilityContract(ctx context.Context, req CapabilityContractResolveRequest) (ResolvedCapabilityContractArtifact, error)
}
type CapabilityContractArtifactSet ¶ added in v0.3.0
type CapabilityContractArtifactSet interface {
OpenCapabilityContractArtifact(ctx context.Context, ref string) (ResolvedCapabilityContractFile, error)
}
type CapabilityContractKeyRequest ¶ added in v0.3.0
type CapabilityContractKeyRequest struct {
SourceID string `json:"source_id"`
PublisherID string `json:"publisher_id"`
KeyID string `json:"key_id"`
SourcePolicySnapshot SourcePolicySnapshot `json:"source_policy_snapshot"`
}
type CapabilityContractKeyResolver ¶ added in v0.3.0
type CapabilityContractKeyResolver interface {
ResolveCapabilityContractKey(ctx context.Context, req CapabilityContractKeyRequest) ([]byte, error)
}
type CapabilityContractResolveRequest ¶ added in v0.3.0
type CapabilityContractResolveRequest struct {
SourceID string `json:"source_id"`
PluginPublisherID string `json:"plugin_publisher_id"`
Pin capabilitycontract.Pin `json:"pin"`
SourcePolicySnapshot SourcePolicySnapshot `json:"source_policy_snapshot"`
}
type ConfirmMethodRequest ¶
type ConfirmMethodRequest = CallMethodRequest
type ConfirmMethodResult ¶
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 DiagnosticEvent ¶
type DiagnosticEvent = observability.DiagnosticEvent
type DiagnosticLister ¶
type DiagnosticLister = observability.DiagnosticLister
type DiagnosticsSink ¶
type DiagnosticsSink = observability.DiagnosticsSink
type DisableRequest ¶
type DisposeSurfaceRequest ¶
type DowngradeRequest ¶
type EnableRequest ¶
type ExportDataRequest ¶
type ExportDataResult ¶
type GetSecurityPolicyRequest ¶
type GetSecurityPolicyRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
}
type GetSettingsRequest ¶
type GetSettingsRequest struct {
PluginInstanceID string `json:"plugin_instance_id"`
}
type GrantPermissionRequest ¶
type Host ¶
type Host struct {
// contains filtered or unexported fields
}
func (*Host) BindRetainedData ¶
func (h *Host) BindRetainedData(ctx context.Context, req BindRetainedDataRequest) (retaineddata.Record, error)
func (*Host) BindSecretRef ¶
func (h *Host) BindSecretRef(ctx context.Context, req SecretBindRequest) error
func (*Host) CallPluginMethod ¶
func (h *Host) CallPluginMethod(ctx context.Context, req CallMethodRequest) (result CallMethodResult, resultErr error)
func (*Host) CancelOperation ¶
func (*Host) CancelSurfaceOperation ¶ added in v0.3.0
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) DeleteRetainedData ¶
func (h *Host) DeleteRetainedData(ctx context.Context, req DeleteRetainedDataRequest) (retaineddata.Record, error)
func (*Host) DeleteSecretRef ¶
func (h *Host) DeleteSecretRef(ctx context.Context, req SecretDeleteRequest) error
func (*Host) DeleteSecurityPolicy ¶
func (h *Host) DeleteSecurityPolicy(ctx context.Context, req DeleteSecurityPolicyRequest) error
func (*Host) DisablePlugin ¶
func (h *Host) DisablePlugin(ctx context.Context, req DisableRequest) (registry.PluginRecord, error)
func (*Host) DisposeSurface ¶
func (h *Host) DisposeSurface(_ context.Context, req DisposeSurfaceRequest) error
func (*Host) DowngradePlugin ¶
func (h *Host) DowngradePlugin(ctx context.Context, req DowngradeRequest) (registry.PluginRecord, error)
func (*Host) EnablePlugin ¶
func (h *Host) EnablePlugin(ctx context.Context, req EnableRequest) (registry.PluginRecord, error)
func (*Host) ExchangeAssetTicket ¶
func (h *Host) ExchangeAssetTicket(ctx context.Context, req ExchangeAssetTicketRequest) (bridge.AssetSessionResult, error)
func (*Host) ExportPluginData ¶
func (h *Host) ExportPluginData(ctx context.Context, req ExportDataRequest) (ExportDataResult, error)
func (*Host) GetOperation ¶
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) (security.PolicyRecord, 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) (permissions.Record, 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) 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) (CallMethodResult, error)
func (*Host) ListAuditEvents ¶
func (h *Host) ListAuditEvents(ctx context.Context, req ListAuditEventsRequest) ([]AuditEvent, error)
func (*Host) ListDiagnosticEvents ¶
func (h *Host) ListDiagnosticEvents(ctx context.Context, req ListDiagnosticEventsRequest) ([]DiagnosticEvent, error)
func (*Host) ListIntents ¶
func (h *Host) ListIntents(ctx context.Context, req ListIntentsRequest) ([]IntentRecord, error)
func (*Host) ListOperations ¶
func (*Host) ListPermissionGrants ¶
func (h *Host) ListPermissionGrants(ctx context.Context, req ListPermissionGrantsRequest) ([]permissions.Record, error)
func (*Host) ListPlugins ¶
func (*Host) ListRetainedData ¶
func (h *Host) ListRetainedData(ctx context.Context, req ListRetainedDataRequest) ([]retaineddata.Record, error)
func (*Host) ListSecurityPolicies ¶
func (*Host) MintBridgeToken ¶
func (h *Host) MintBridgeToken(ctx context.Context, req MintBridgeTokenRequest) (bridge.GatewayTokenResult, error)
func (*Host) MintConnectionGrant ¶
func (h *Host) MintConnectionGrant(ctx context.Context, req MintConnectionGrantRequest) (connectivity.ConnectionGrant, error)
func (*Host) MintNetworkHandleGrant ¶
func (h *Host) MintNetworkHandleGrant(ctx context.Context, req MintConnectionGrantRequest) (NetworkHandleGrantResult, error)
func (*Host) MintStorageHandleGrant ¶
func (h *Host) MintStorageHandleGrant(ctx context.Context, req MintStorageHandleGrantRequest) (StorageHandleGrantResult, error)
func (*Host) OpenSurface ¶
func (h *Host) OpenSurface(ctx context.Context, req OpenSurfaceRequest) (bridge.SurfaceBootstrap, error)
func (*Host) PatchPluginSettings ¶
func (h *Host) PatchPluginSettings(ctx context.Context, req PatchSettingsRequest) (SettingsResult, error)
func (*Host) PrepareMethodConfirmation ¶
func (h *Host) PrepareMethodConfirmation(ctx context.Context, req ConfirmMethodRequest) (ConfirmMethodResult, error)
func (*Host) PrepareSurface ¶
func (h *Host) PrepareSurface(ctx context.Context, req ExchangeAssetTicketRequest) (result PrepareSurfaceResult, err error)
func (*Host) PutSecurityPolicy ¶
func (h *Host) PutSecurityPolicy(ctx context.Context, req PutSecurityPolicyRequest) (security.PolicyRecord, error)
func (*Host) ReadStream ¶
func (h *Host) ReadStream(ctx context.Context, req ReadStreamRequest) (ReadStreamResult, error)
func (*Host) ReadSurfaceAsset ¶
func (h *Host) ReadSurfaceAsset(ctx context.Context, req ReadSurfaceAssetRequest) (ReadSurfaceAssetResult, error)
func (*Host) RefreshEnabledPlugins ¶
func (*Host) RejectMethodConfirmation ¶ added in v0.3.0
func (h *Host) RejectMethodConfirmation(ctx context.Context, req RejectMethodConfirmationRequest) (RejectMethodConfirmationResult, error)
func (*Host) RevokePermission ¶
func (h *Host) RevokePermission(ctx context.Context, req RevokePermissionRequest) (permissions.Record, error)
func (*Host) RevokeSurfaceScope ¶
func (*Host) RuntimeHealth ¶
func (*Host) StartRuntime ¶
func (h *Host) StartRuntime(ctx context.Context, req StartRuntimeRequest) (runtimeclient.Health, error)
func (*Host) TestSecretRef ¶
func (h *Host) TestSecretRef(ctx context.Context, req SecretTestRequest) error
func (*Host) UninstallPlugin ¶
func (h *Host) UninstallPlugin(ctx context.Context, req UninstallRequest) (registry.PluginRecord, 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)
type HostCapabilityContractRef ¶
type HostCapabilityContractRef = capabilitycontract.Pin
type HostCapabilityRequirement ¶
type HostCapabilityRequirement struct {
CapabilityID string `json:"capability_id"`
CapabilityVersion string `json:"capability_version"`
Contract HostCapabilityContractRef `json:"contract"`
}
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 InstallReleaseRefRequest ¶
type InstallReleaseRefRequest struct {
ReleaseRef PluginReleaseRef
PluginInstanceID string
PluginStateVersion uint64
Now time.Time
}
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 string `json:"effect"`
Execution string `json:"execution"`
PayloadSchema map[string]any `json:"payload_schema,omitempty"`
}
type InvokeIntentRequest ¶
type InvokeIntentRequest struct {
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
IntentID string `json:"intent_id"`
Params map[string]any `json:"params,omitempty"`
OwnerSessionHash string `json:"owner_session_hash,omitempty"`
OwnerUserHash string `json:"owner_user_hash,omitempty"`
SessionChannelIDHash string `json:"session_channel_id_hash,omitempty"`
Now time.Time `json:"now,omitempty"`
}
type ListAuditEventsRequest ¶
type ListAuditEventsRequest = observability.ListAuditRequest
type ListDiagnosticEventsRequest ¶
type ListDiagnosticEventsRequest = observability.ListDiagnosticRequest
type ListIntentsRequest ¶
type ListOperationsRequest ¶
type ListOperationsRequest struct {
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
}
type ListRetainedDataRequest ¶
type ListRetainedDataRequest = retaineddata.ListRequest
type MintBridgeTokenRequest ¶
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:"now,omitempty"`
TTL time.Duration `json:"ttl,omitempty"`
}
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:"now,omitempty"`
TTL time.Duration `json:"ttl,omitempty"`
}
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 PackageDowngradePolicy ¶
type PackageDowngradePolicy string
const ( PackageDowngradeBlock PackageDowngradePolicy = "block" PackageDowngradeReviewRequired PackageDowngradePolicy = "review_required" )
type PackageHashSet ¶
type PackageInstallPolicy ¶
type PackageInstallPolicy string
const ( PackageInstallAllow PackageInstallPolicy = "allow" PackageInstallReviewRequired PackageInstallPolicy = "review_required" PackageInstallBlock PackageInstallPolicy = "block" )
type PackageReleaseSignature ¶
type PackageSourceClass ¶
type PackageSourceClass string
const ( PackageSourceClassOfficial PackageSourceClass = "official" PackageSourceClassCurated PackageSourceClass = "curated" PackageSourceClassCommunity PackageSourceClass = "community" PackageSourceClassPrivate PackageSourceClass = "private" )
type PackageSourceType ¶
type PackageSourceType string
const ( PackageSourceRegistry PackageSourceType = "registry" PackageSourceHostArtifact PackageSourceType = "host_artifact" )
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"`
SourcePolicySnapshot *SourcePolicySnapshot `json:"source_policy_snapshot,omitempty"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"now,omitempty"`
}
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 PackageUnsignedPolicy ¶
type PackageUnsignedPolicy string
const ( PackageUnsignedDevOnly PackageUnsignedPolicy = "dev_only" PackageUnsignedReviewRequired PackageUnsignedPolicy = "review_required" PackageUnsignedBlock PackageUnsignedPolicy = "block" )
type PatchSettingsRequest ¶
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 PluginReleaseRef ¶
type PluginReleaseRef struct {
SourceID string `json:"source_id"`
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 PrepareSurfaceResult ¶
type PrepareSurfaceResult struct {
bridge.AssetSessionResult
Document pluginpkg.OpaqueSurfaceDocument `json:"document"`
}
type ReadStreamRequest ¶
type ReadStreamRequest struct {
StreamID string `json:"stream_id"`
StreamTicket string `json:"stream_ticket,omitempty"`
SurfaceInstanceID string `json:"surface_instance_id,omitempty"`
OwnerSessionHash string `json:"owner_session_hash,omitempty"`
OwnerUserHash string `json:"owner_user_hash,omitempty"`
SessionChannelIDHash string `json:"session_channel_id_hash,omitempty"`
MaxEvents int `json:"max_events,omitempty"`
MaxBytes int64 `json:"max_bytes,omitempty"`
WaitTimeout time.Duration `json:"-"`
Now time.Time
}
type ReadStreamResult ¶
type ReadStreamResult struct {
Record stream.Record `json:"record"`
Events []stream.Event `json:"events,omitempty"`
Done bool `json:"done"`
TerminalStatus stream.Status `json:"terminal_status,omitempty"`
NextStreamTicket string `json:"next_stream_ticket,omitempty"`
NextStreamTicketID string `json:"next_stream_ticket_id,omitempty"`
NextStreamExpiresAt *time.Time `json:"next_stream_expires_at,omitempty"`
}
type ReadSurfaceAssetRequest ¶
type ReadSurfaceAssetResult ¶
type ReadSurfaceAssetResult struct {
Entry pluginpkg.Entry
Content []byte
Session bridge.SurfaceSession
}
type RejectMethodConfirmationRequest ¶ added in v0.3.0
type RejectMethodConfirmationResult ¶ added in v0.3.0
type RejectMethodConfirmationResult struct {
Rejected bool `json:"rejected"`
}
type ReleaseArtifactResolveRequest ¶
type ReleaseArtifactResolveRequest struct {
Action PackageTrustAction `json:"action"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
SourcePolicySnapshot SourcePolicySnapshot `json:"source_policy_snapshot"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"now,omitempty"`
}
type ReleaseArtifactResolver ¶
type ReleaseArtifactResolver interface {
ResolveReleaseArtifact(ctx context.Context, req ReleaseArtifactResolveRequest) (ResolvedPackageArtifact, error)
}
type ReleaseCompatibility ¶
type ReleaseEvidence ¶
type ReleaseMetadataVerificationRequest ¶
type ReleaseMetadataVerificationRequest struct {
Action PackageTrustAction `json:"action"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
Release PluginPackageRelease `json:"release"`
SourcePolicySnapshot SourcePolicySnapshot `json:"source_policy_snapshot"`
ReleaseMetadataBytes []byte `json:"-"`
ReleaseMetadataSignature []byte `json:"-"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"now,omitempty"`
}
type ReleaseMetadataVerifier ¶
type ReleaseMetadataVerifier interface {
VerifyReleaseMetadata(ctx context.Context, req ReleaseMetadataVerificationRequest) (ReleaseMetadataVerificationResult, error)
}
type ReleaseSourcePolicyRequest ¶
type ReleaseSourcePolicyRequest struct {
Action PackageTrustAction `json:"action"`
ReleaseRef PluginReleaseRef `json:"release_ref"`
CurrentRecord *registry.PluginRecord `json:"current_record,omitempty"`
PluginInstanceID string `json:"plugin_instance_id,omitempty"`
Now time.Time `json:"now,omitempty"`
}
type ReleaseSourcePolicyResolver ¶
type ReleaseSourcePolicyResolver interface {
ResolveReleaseSourcePolicy(ctx context.Context, req ReleaseSourcePolicyRequest) (SourcePolicySnapshot, error)
}
type ResolvedCapabilityContractArtifact ¶ added in v0.3.0
type ResolvedCapabilityContractArtifact struct {
Artifacts CapabilityContractArtifactSet `json:"-"`
}
type ResolvedCapabilityContractFile ¶ added in v0.3.0
type ResolvedCapabilityContractFile struct {
Reader io.ReadCloser `json:"-"`
Size int64 `json:"size"`
MediaType string `json:"media_type"`
FetchChain []CapabilityArtifactFetchHop `json:"fetch_chain"`
}
type ResolvedPackageArtifact ¶
type RetainedDataCleanupResult ¶
type RetainedDataCleanupResult struct {
Deleted []retaineddata.Record `json:"deleted,omitempty"`
Failed []retaineddata.Record `json:"failed,omitempty"`
}
type RevokePermissionRequest ¶
type RuntimeArtifactResolver ¶
type RuntimeArtifactResolver interface {
RuntimePath(ctx context.Context, target RuntimeTarget) (string, error)
}
type RuntimeTarget ¶
type SecretBindRequest ¶
type SecretBindRequest = secrets.BindRequest
type SecretDeleteRequest ¶
type SecretDeleteRequest = secrets.DeleteRequest
type SecretStoreAdapter ¶
type SecretTestRequest ¶
type SecretTestRequest = secrets.TestRequest
type SettingsResult ¶
type SettingsSchemaResult ¶
type SettingsSchemaResult struct {
PluginInstanceID string `json:"plugin_instance_id"`
SchemaVersion int `json:"schema_version"`
Migration manifest.MigrationSpec `json:"migration"`
Fields []manifest.SettingFieldSpec `json:"fields"`
SettingsRevision uint64 `json:"settings_revision"`
}
type SourcePolicyRevocationEvidence ¶
type SourcePolicyRevocationEvidence struct {
MetadataRef string `json:"metadata_ref"`
MetadataSHA256 string `json:"metadata_sha256"`
SignatureRef string `json:"signature_ref"`
SignatureKeyID string `json:"signature_key_id"`
VerifiedAt string `json:"verified_at"`
ExpiresAt string `json:"expires_at"`
HighestSeenEpoch string `json:"highest_seen_epoch"`
MetadataBytes []byte `json:"-"`
SignatureBytes []byte `json:"-"`
}
type SourcePolicySnapshot ¶
type SourcePolicySnapshot struct {
SchemaVersion string `json:"schema_version"`
SourceID string `json:"source_id"`
SourceType PackageSourceType `json:"source_type"`
SourceClass PackageSourceClass `json:"source_class,omitempty"`
AllowedPublishers []string `json:"allowed_publishers,omitempty"`
AllowedArtifactHosts []string `json:"allowed_artifact_hosts,omitempty"`
TrustedKeyIDs []string `json:"trusted_key_ids,omitempty"`
TrustedKeys []SourcePolicyTrustedKey `json:"trusted_keys,omitempty"`
RevocationEvidence *SourcePolicyRevocationEvidence `json:"revocation_evidence,omitempty"`
RequireSignature bool `json:"require_signature,omitempty"`
InstallPolicy PackageInstallPolicy `json:"install_policy,omitempty"`
UnsignedPolicy PackageUnsignedPolicy `json:"unsigned_policy,omitempty"`
DowngradePolicy PackageDowngradePolicy `json:"downgrade_policy,omitempty"`
PolicyEpoch string `json:"policy_epoch,omitempty"`
KeyRotationEpoch string `json:"key_rotation_epoch,omitempty"`
RevocationEpoch string `json:"revocation_epoch,omitempty"`
AssessedAt string `json:"assessed_at,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type SourcePolicyTrustedKey ¶
type SourcePolicyTrustedKey struct {
Algorithm string `json:"algorithm"`
KeyID string `json:"key_id"`
PublicKeySHA256 string `json:"public_key_sha256"`
Usage []string `json:"usage"`
AllowedCapabilityPublishers []string `json:"allowed_capability_publishers,omitempty"`
ValidFrom string `json:"valid_from,omitempty"`
ValidUntil string `json:"valid_until,omitempty"`
RevocationEpoch string `json:"revocation_epoch,omitempty"`
}
type SourceRevocationEvidenceVerificationRequest ¶
type SourceRevocationEvidenceVerificationRequest struct {
ReleaseRef PluginReleaseRef `json:"release_ref"`
SourcePolicySnapshot SourcePolicySnapshot `json:"source_policy_snapshot"`
RevocationEvidence SourcePolicyRevocationEvidence `json:"revocation_evidence"`
RevocationMetadata SourceRevocationMetadata `json:"revocation_metadata"`
RevocationMetadataBytes []byte `json:"-"`
RevocationMetadataSignature []byte `json:"-"`
Now time.Time `json:"now,omitempty"`
}
type SourceRevocationEvidenceVerifier ¶
type SourceRevocationEvidenceVerifier interface {
VerifySourceRevocationEvidence(ctx context.Context, req SourceRevocationEvidenceVerificationRequest) (SourceRevocationEvidenceVerificationResult, error)
}
type SourceRevocationMetadata ¶
type SourceRevocationMetadata struct {
SchemaVersion string `json:"schema_version"`
SourceID string `json:"source_id"`
HighestSeenEpoch string `json:"highest_seen_epoch"`
GeneratedAt string `json:"generated_at"`
ExpiresAt string `json:"expires_at"`
RevokedKeyIDs []string `json:"revoked_key_ids,omitempty"`
}
type StartRuntimeRequest ¶
type StartRuntimeRequest struct {
Target RuntimeTarget `json:"target,omitempty"`
}
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
PluginStateVersion uint64
ReleaseRef PluginReleaseRef
Now time.Time
}
Click to show internal directories.
Click to hide internal directories.