You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lookup tables for the hub: subsystems, launcher fields, duplication strategies, dock categories, the hub UI protocol, the namespace routes, the client runtime, the client context, and dock entry types.
Lookup tables for @devframes/hub: its node-side subsystems and its browser-side client runtime. Each section links the guide page that teaches the concept.
Hub subsystems
What DevframeHubContext adds to DevframeNodeContext: Hub.
Subsystem
API
Purpose
ctx.docks
register / update / values / activate
Dock entries (iframes, launchers, custom-render) and groups; activate(dockId, params?) sets the active dock (Cross-iframe dock activation).
dock client-script import map for hub UI providers
__mcp
aggregate MCP endpoint over the tool registry (mcp: 'auto' default: mounted once agent tools exist)
buildHub options
The options of buildHub() from @devframes/hub/build: Static builds. devframes, services, rpcDeclarations, configure, ui, renderers, name, version, cwd, and getStorageDir carry the same contracts as their initHub counterparts.
Option
Purpose
outDir
Output directory for the hub subtree; corresponds to base at serve time (build base: '/__devframes/' into dist/__devframes). A mount served outside the hub base (a devframe SPA or asset dir kept as a sibling of it) is written to this directory's parent (the deploy root) by its absolute path.
base
Mount base baked into every absolute URL the build emits. Default /__devframes/.
context
An already-mounted DevframeHubContext to bake instead of devframes (the build counterpart of initHub({ context })); reads ctx.frames and ctx.views.buildStaticDirs. Mutually exclusive with devframes.
clean
Remove outDir before writing. Default true; set false to bake beside an app's own build output.
Current state, local events, session, position, size, and drag/resize state for the dock panel.
commands
Command palette: register(), execute(), getKeybindings(), paletteOpen, paletteScopeId, openPalette(atCommandId?). Passing an id opens the palette drilled into that command's children (Activating a group).
renderers
Dock-renderer registry: register(), get(), has(), mount(entry, container). Routes a dock type to a renderer (local boot or the hub's manifest; local wins). mount() resolves a status: mounted (with dispose), missing-renderer, or load-error (with error).
show a view ({ tabId, navTarget }); the SPA routes client-side
navigated
iframe → host page
the SPA navigated internally; the hub UI provider highlights the dock
Dock entry types
The built-in variants of the open dock union (DevframeDockEntryRegistry, @devframes/hub/types) a hub UI provider renders: Build Your Own Hub UI.
Type
The hub UI provider renders
iframe
the entry's url in a kept-alive iframe (per frameId when shared); honor subTabs soft nav; show the existing address bar with addressBar: true, or configure Back, Reload, and Open externally by passing an addressBar object
action
a dock-rail button; activating runs its client script
custom-render
a container its client script mounts into
launcher
a launch call-to-action reflecting launcher.status
group
one dock-rail button collapsing its member entries
~builtin
your native views (settings, feeds) for reserved ids