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
behaviorkey.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.chatas alias.final - compatibility → CompatibilityConfig?
-
Compatibility configuration.
final
- directory → String?
-
Filesystem path to the
.mbddirectory the bundle was loaded from, ornullwhen 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.jsonunder thefactskey.final - factsResources → BundleResources
-
Atomic subject-predicate-object fact records under
<bundle>/facts/. Companion to the inlinemanifest.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.jsonunder thepipelineskey.final - pipelinesResources → BundleResources
-
Pipeline definitions (ordered stage sequences) under
<bundle>/pipelines/. Companion to the inlinemanifest.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.jsonunder therequireskey. 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.jsonunder therunbookskey.final - runbooksResources → BundleResources
-
Runbook definitions (ordered procedure sequences) under
<bundle>/runbooks/. Companion to the inlinemanifest.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 legacymanifest.settingsas 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.jsonunder thetoolskey. 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 inlinemanifest.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.wiringas alias.final - workflows → WorkflowsSection?
-
Workflows section — ordered step sequences carried inline in
manifest.jsonunder theworkflowskey.final - workflowsResources → BundleResources
-
Workflow definitions (ordered step sequences) under
<bundle>/workflows/. Companion to the inlinemanifest.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