Documentation
¶
Overview ¶
Package runtime composes operator-owned resource providers, authorization, immutable source snapshots and native window delivery for a workspace host.
Index ¶
- func BindNativeWindowRuntime(options Options, runtime *executor.Runtime) error
- func ConfigureAuthorization(options Options, workspaceRoot string, workspaceConfig *wscfg.Root, ...) (func(context.Context, *executor.Builder) error, error)
- func DefaultFrameworkWindows(metadata *embed.FS) ([]resources.NativeFrameworkWindowBinding, error)
- func NewFrameworkLegacyTargetSupport(ctx context.Context, metadata *embed.FS, ...) (forgeservice.WindowLegacyTargetSupport, error)
- func NewFrameworkWindowBundleSource(metadata *embed.FS, bindings []windowloader.ResourceBinding) (identity.ResourceSource, error)
- func NewFrameworkWindowResourceSource(metadata *embed.FS, bindings []windowloader.ResourceBinding) (identity.ResourceSource, error)
- func ValidateHostAuthorizationConfiguration(options Options) error
- type AuthorizationProviderFactory
- type AuthorizationProviders
- type HostAuthoredSource
- type HostNavigationSource
- type HostResourceAccess
- type HostToolfeedSource
- type NativeWindowExecutionBinding
- type NativeWindowHostConfig
- type Options
- type Registration
- func (r *Registration) Bind(ctx context.Context, rt *executor.Runtime) error
- func (r *Registration) HostedAppReader(rt *executor.Runtime, backend sdk.Backend) (sdk.MCPUIResourceReader, sdk.MCPUIResourceContextBinder, error)
- func (r *Registration) MenuReader(rt *executor.Runtime) (workspaceui.LayoutMenuReader, error)
- type ReportResourceProviderFactory
- type ReportResourceProviders
- type ResourceSelectionProviderFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BindNativeWindowRuntime ¶
BindNativeWindowRuntime binds delivery to the actual constructed runtime.
func ConfigureAuthorization ¶
func ConfigureAuthorization(options Options, workspaceRoot string, workspaceConfig *wscfg.Root, enrich windowloader.WorkspaceWindowEnricher, internal ...*Registration) (func(context.Context, *executor.Builder) error, error)
func DefaultFrameworkWindows ¶
func DefaultFrameworkWindows(metadata *embed.FS) ([]resources.NativeFrameworkWindowBinding, error)
DefaultFrameworkWindows declares only linked window entry points. It supplies the same trusted loader already used by explicit framework registrations.
func NewFrameworkLegacyTargetSupport ¶
func NewFrameworkLegacyTargetSupport(ctx context.Context, metadata *embed.FS, bindings []windowloader.ResourceBinding, targets []types.WindowTarget) (forgeservice.WindowLegacyTargetSupport, error)
NewFrameworkLegacyTargetSupport establishes byte equivalence from the linked framework artifact, only for explicit host declarations. A match applies to that exact URI+content fingerprint, never another historical/default body. No runtime request reads a source directory or substitutes current metadata.
func NewFrameworkWindowBundleSource ¶
func NewFrameworkWindowBundleSource(metadata *embed.FS, bindings []windowloader.ResourceBinding) (identity.ResourceSource, error)
NewFrameworkWindowBundleSource captures every declared linked target as one immutable parent definition. Existing singleton stamps retain their bytes.
func NewFrameworkWindowResourceSource ¶
func NewFrameworkWindowResourceSource(metadata *embed.FS, bindings []windowloader.ResourceBinding) (identity.ResourceSource, error)
NewFrameworkWindowResourceSource exposes declared linked framework metadata for explicit resource imports. It grants no visibility or execution rights.
func ValidateHostAuthorizationConfiguration ¶
ValidateHostAuthorizationConfiguration validates operator-owned registration without execution services, schema/data writes or starting listeners. JWKS discovery uses the configured identity endpoint; no user token is sent.
Types ¶
type AuthorizationProviderFactory ¶
type AuthorizationProviderFactory = host.ProviderFactory
type AuthorizationProviders ¶
AuthorizationProviders and AuthorizationProviderFactory preserve the embedding API.
type HostAuthoredSource ¶
type HostAuthoredSource = host.DirectorySource
Preserve embedding names while sharing one Core source declaration.
type HostNavigationSource ¶
type HostNavigationSource struct {
}
HostNavigationSource is explicit trusted publication/consumption configuration. An external source has an owner and no local path. Local paths publish only through the explicitly configured internal provider; authoring alone is inert.
type HostResourceAccess ¶
type HostResourceAccess struct {
// ProviderIdentity enables explicit native snapshot/provider construction.
// It is supplied by the embedding host, never resource request data.
ProviderIdentity string
Resolver func(context.Context, string, identity.ResourceSource) (*identity.ResourceResolver, error)
Actor func(context.Context) (identity.VerifiedActor, error)
Authority identity.ResourceAuthority
}
ReportResourceProviders supplies storage, never authorization. Source receives the current verified actor so a SQL implementation can bind tenant/account. Each canonical URI must have one configured source, including after imports.
type HostToolfeedSource ¶
type HostToolfeedSource = host.DirectorySource
type NativeWindowExecutionBinding ¶
type NativeWindowExecutionBinding struct {
URI string `json:"uri"`
DataSource string `json:"dataSource"`
IdentitySelectors []string `json:"identitySelectors"`
ParentSelectors map[string]string `json:"parentSelectors,omitempty"`
}
NativeWindowExecutionBinding is a legacy declaration retained for config decoding. The managing MCP endpoint owns argument and entity authorization.
type NativeWindowHostConfig ¶
type NativeWindowHostConfig struct {
SchemaVersion int `json:"schemaVersion"`
ProviderIdentity string `json:"providerIdentity"`
Identity oauth.HTTPIdentityConfig `json:"identity"`
Windows []windowloader.ResourceBinding `json:"windows"`
FrameworkWindows []windowloader.ResourceBinding `json:"frameworkWindows,omitempty"`
ToolCapabilities map[string]string `json:"toolCapabilities"`
ExecutionBindings []NativeWindowExecutionBinding `json:"executionBindings"`
// contains filtered or unexported fields
}
NativeWindowHostConfig binds operator-installed templates without replacing the workspace's explicitly configured MCP permission provider. ToolCapabilities and ExecutionBindings are retained for config compatibility only. Managing MCP owns data authorization; no UI business grant is consulted.
type Options ¶
type Options struct {
LinkedMetadata *embed.FS
NativeWindowRuntimeBinder func(*executor.Runtime) error
InternalResourceProviderIdentity string
NativeWindowConfigPath string
WindowTargetProof forgetypes.WindowTargetProof
WindowLegacyTargetSupport forgeservice.WindowLegacyTargetSupport
ConfigureBuilder func(context.Context, *executor.Builder) error
AuthorizationProviderFactory AuthorizationProviderFactory
ReportResourceProviderFactory ReportResourceProviderFactory
ResourceSelectionProviderFactory ResourceSelectionProviderFactory
AuthzConfigPath string
WorkspacePath string
}
Options supplies trusted host configuration and application-owned artifacts. LinkedMetadata is the framework bundle linked by the embedding application.
func ConfigureNativeWindows ¶
type Registration ¶
type Registration struct {
// contains filtered or unexported fields
}
Registration holds prepared host readers and binds their immutable sources after the executor runtime has been constructed. Its zero value is ready to use.
func (*Registration) HostedAppReader ¶
func (r *Registration) HostedAppReader(rt *executor.Runtime, backend sdk.Backend) (sdk.MCPUIResourceReader, sdk.MCPUIResourceContextBinder, error)
HostedAppReader binds configured hosted applications to the runtime backend.
func (*Registration) MenuReader ¶
func (r *Registration) MenuReader(rt *executor.Runtime) (workspaceui.LayoutMenuReader, error)
MenuReader returns the configured native navigation reader, if any.
type ReportResourceProviderFactory ¶
type ReportResourceProviderFactory func(context.Context, json.RawMessage, string, HostResourceAccess) (ReportResourceProviders, error)
ReportResourceProviderFactory interprets only operator-owned storage settings. Construction must not migrate stores or import definitions. Those are explicit administrative operations, separate from validating/starting an HTTP host.
type ReportResourceProviders ¶
type ReportResourceProviders struct {
LocalBindings []resourcesvc.LocalResourceBinding
WindowSource func(context.Context, identity.VerifiedActor) (identity.ResourceSource, error)
BuilderWindows map[string]string
Writer primitive.ResourceAuthoringFactory
Source func(context.Context, identity.VerifiedActor) (identity.ResourceSource, error)
Inventories []catalog.ReportInventory
}
type ResourceSelectionProviderFactory ¶
type ResourceSelectionProviderFactory func(context.Context, json.RawMessage, string, HostResourceAccess) (authz.SelectionStore, error)
ResourceSelectionProviderFactory binds persistent main/exposure revision mappings. It supplies selection only: ACL and requirements remain mandatory.
Source Files
¶
- authorization.go
- framework_defaults.go
- framework_sources.go
- hosted_apps.go
- internal_provider.go
- native_authority.go
- navigation.go
- options.go
- presentation.go
- read_scope.go
- reports.go
- revision_mapping.go
- selection.go
- snapshot.go
- visibility.go
- window_catalog.go
- window_delivery.go
- window_host.go
- window_selection.go
- workspace_reports.go
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
testmetadata
Package testmetadata holds a frozen framework artifact used to verify host source composition independently of any embedding application's UI bundle.
|
Package testmetadata holds a frozen framework artifact used to verify host source composition independently of any embedding application's UI bundle. |