McpBundle class

A complete MCP Bundle containing all packaged resources.

Constructors

McpBundle({String schemaVersion = '1.0.0', required BundleManifest manifest, UiSection? ui, FlowSection? flow, SkillSection? skills, AssetSection? assets, KnowledgeSection? knowledge, BindingSection? bindings, TestSection? tests, PolicySection? policies, ProfilesSection? profiles, PhilosophySection? philosophy, AgentsSection? agents, FactsSection? facts, WorkflowsSection? workflows, PipelinesSection? pipelines, RunbooksSection? runbooks, BehaviorSection? behavior, ToolsSection? tools, RequiresSection? requires, FactGraphSchema? factGraphSchema, FactGraphSection? factGraphSection, CompatibilityConfig? compatibility, IntegrityConfig? integrity, ChatSection? chat, WiringSection? wiring, SettingsSection? settingsSection, Map<String, dynamic> extensions = const {}, String? directory})
const
McpBundle.fromJson(Map<String, dynamic> json)
Create from JSON.
factory

Properties

agentResources BundleResources
Agent definitions under <bundle>/agents/.
no setter
agents AgentsSection?
Agents section with agent definitions (4-axis bindings + runtime cfg).
final
assetResources BundleResources
Binary or text assets under <bundle>/assets/ (icons, splash, fonts).
no setter
assets AssetSection?
Assets section with static resources.
final
behavior BehaviorSection?
Behavior section — unified behavior definitions (the successor to flow/pipeline/runbook), carried inline under the behavior key.
final
bindings BindingSection?
Bindings section with data bindings.
final
chat ChatSection?
Chat-UI binding surface — slash commands + default agent (spec §06.5). Top-level per the wiring spec; loaders accept legacy manifest.chat as alias.
final
compatibility CompatibilityConfig?
Compatibility configuration.
final
directory String?
Filesystem path to the .mbd directory the bundle was loaded from, or null when the bundle came from an inline map or remote fetch. Consumers that need to read raw UI / asset files — the runtime's bundle adapter, a bundle-backed MCP server — resolve paths relative to this root.
final
extensions Map<String, dynamic>
Extensions for custom data.
final
factGraphSchema FactGraphSchema?
FactGraph schema definitions.
final
factGraphSection FactGraphSection?
FactGraph instance data (entities, facts, relations) — embedded inline or referenced externally per FactGraphSection.mode.
final
facts FactsSection?
Facts section — atomic subject-predicate-object triples carried inline in manifest.json under the facts key.
final
factsResources BundleResources
Atomic subject-predicate-object fact records under <bundle>/facts/. Companion to the inline manifest.facts[] carry.
no setter
flow FlowSection?
Flow section with flow definitions.
final
hasContent bool
Check if bundle has any content sections.
no setter
hasFactGraphSchema bool
Check if bundle has FactGraph schema.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasIntegrity bool
Check if bundle has integrity configuration.
no setter
hasPolicies bool
Check if bundle has policies.
no setter
integrity IntegrityConfig?
Integrity configuration.
final
knowledge KnowledgeSection?
Knowledge section with RAG sources.
final
knowledgeResources BundleResources
Knowledge sources / retriever configs under <bundle>/knowledge/.
no setter
manifest BundleManifest
Bundle manifest with metadata.
final
philosophy PhilosophySection?
Philosophy section with guiding principles + examples.
final
philosophyResources BundleResources
Philosophy / ethos definitions under <bundle>/philosophy/.
no setter
pipelines PipelinesSection?
Pipelines section — ordered stage sequences carried inline in manifest.json under the pipelines key.
final
pipelinesResources BundleResources
Pipeline definitions (ordered stage sequences) under <bundle>/pipelines/. Companion to the inline manifest.pipelines[] carry.
no setter
policies PolicySection?
Policy section with decision/validation rules.
final
presentSections List<String>
Get all section names that are present.
no setter
profileResources BundleResources
Profile definitions under <bundle>/profiles/.
no setter
profiles ProfilesSection?
Profiles section with profile definitions.
final
requires RequiresSection?
Portability contract — declares which host capabilities the bundle needs (atom categories + specific host-tool names). Carried inline in manifest.json under the requires key. Both Studio and AppPlayer enforce this gate at activation: bundles requiring atoms / tools the host doesn't advertise are refused. null = no declared requirements (fully portable).
final
runbooks RunbooksSection?
Runbooks section — ordered procedure sequences carried inline in manifest.json under the runbooks key.
final
runbooksResources BundleResources
Runbook definitions (ordered procedure sequences) under <bundle>/runbooks/. Companion to the inline manifest.runbooks[] carry.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
schemaVersion String
Schema version this bundle conforms to.
final
settingsSection SettingsSection?
User settings form schema — sections × fields. Distinct from WiringSection.settings[] which carries trigger actions. Top-level per the wiring spec; loaders accept legacy manifest.settings as alias.
final
skillResources BundleResources
Skill / capability module definitions under <bundle>/skills/.
no setter
skills SkillSection?
Skill section with skill modules.
final
tests TestSection?
Test section with test definitions.
final
tools ToolsSection?
Tools section — host-callable tool entries (host builtin / MCP / cloud / bundled JS) carried inline in manifest.json under the tools key. Studio · AppPlayer read this to discover what tools a bundle exposes and how to dispatch them.
final
toolsResources BundleResources
Tool definitions (host-callable tool entries) under <bundle>/tools/. Companion to the inline manifest.tools[] carry.
no setter
ui UiSection?
UI section with screens and widgets.
final
uiResources BundleResources
UI definition files (mcp_ui_dsl JSON) under <bundle>/ui/.
no setter
wiring WiringSection?
Chrome wiring surface — domainActions / lifecycle / settings (spec §06.2 – §06.4). Top-level per the wiring spec; loaders accept legacy manifest.wiring as alias.
final
workflows WorkflowsSection?
Workflows section — ordered step sequences carried inline in manifest.json under the workflows key.
final
workflowsResources BundleResources
Workflow definitions (ordered step sequences) under <bundle>/workflows/. Companion to the inline manifest.workflows[] carry.
no setter

Methods

copyWith({String? schemaVersion, BundleManifest? manifest, UiSection? ui, FlowSection? flow, SkillSection? skills, AssetSection? assets, KnowledgeSection? knowledge, BindingSection? bindings, TestSection? tests, PolicySection? policies, ProfilesSection? profiles, PhilosophySection? philosophy, AgentsSection? agents, FactsSection? facts, WorkflowsSection? workflows, PipelinesSection? pipelines, RunbooksSection? runbooks, BehaviorSection? behavior, ToolsSection? tools, RequiresSection? requires, FactGraphSchema? factGraphSchema, FactGraphSection? factGraphSection, CompatibilityConfig? compatibility, IntegrityConfig? integrity, ChatSection? chat, WiringSection? wiring, SettingsSection? settingsSection, Map<String, dynamic>? extensions, String? directory}) McpBundle
Create a copy with modifications.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resources(BundleFolder folder) BundleResources
Generic accessor — open the reserved sub-folder named folder (e.g. 'ui', 'assets', 'philosophy'). Throws StateError when the bundle has no directory (loaded from inline JSON or remote fetch — there is nowhere to read from).
toJson() Map<String, dynamic>
Convert to JSON.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited