Documentation
¶
Overview ¶
Package assembly enumerates the compiled composition of the orb product — compiled extensions, first-party plugins, and MCP — as ordered rows with stable ids, resolves their enablement from settings, and loads the result. Enumeration and boot share this one implementation, so what a dump prints is exactly what boots (P3). The package holds no state: N assemblies with N settings managers coexist in one process.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Load ¶
func Load(cwd string, resolved []Resolved) (*extensions.Registry, []extensions.CompiledLoadError)
Load registers the enabled rows into a Registry, preserving extensions.LoadCompiled semantics: "<inline:id>" registration paths, a nil registry when nothing is enabled, and identical error text.
Types ¶
type Options ¶
type Options struct {
CWD string
AgentDir string
Settings *config.SettingsManager
// Compiled rows supplied by the assembly owner (cmd/orb's compiled
// extensions, or an embedder's own), first in boot order.
Compiled []extensions.CompiledExtension
// MCP includes settings-configured MCP servers as a hidden row. Leave it
// off for metadata-only runs so no configured server is eagerly spawned.
MCP bool
}
Options are the explicit inputs of one assembly; nothing is read from the environment.
type Resolved ¶
type Resolved struct {
Row
Enabled bool
DecidedBy string // "default", "goExtensions", "plugins", "always", "--no-extensions"
}
Resolved is a Row plus its effective enablement and the layer that decided it.
func Resolve ¶
func Resolve(rows []Row, settings *config.SettingsManager, disableAll bool) []Resolved
Resolve applies the settings gates: DefaultEnabled, then the goExtensions override, then — for plugin rows — the plugins gates (plugin-control is always on; every actual plugin is off unless settings.plugins says on). disableAll (--no-extensions) turns everything off.