Skip to main content

Module components

Module components 

Source
Expand description

Component plumbing shared by the per-agent export and import paths: purging dangling component refs, resolving a bundle’s components to their backing rows, and splicing history/instructions/memory into a manifest.

Structs§

ResolvedComponents 🔒
A bundle’s components, resolved from the tables that are authoritative for them.

Constants§

MEMORY_NOT_EXPORTED_WARNING 🔒
Warning the agent-less bundle.export pushes when the bundle it is exporting is bound to an agent that actually has native memory.

Functions§

bind_imported_components 🔒
Bind an imported bundle’s skills into the ref table.
bound_agent_has_native_memory 🔒
Does any agent bound to bundle_id have mirrored native memory?
mcp_servers_not_imported_warning 🔒
The warning an import gives for the MCP servers an archive carries. A bundle carries no MCP servers, so none is imported; they’re named so the user can add them in Connectors (SPEC_BUNDLE_CONTENTS_MEMORY_NOT_MCP_2026_10_07.md §3.1). None when the archive has none.
purge_bundle_component_refs 🔒
Drop a deleted bundle’s component refs.
resolve_bundle_components 🔒
Resolve what a bundle actually contains, from db_bundle_skills_ref.
set_manifest_component 🔒
Register entries under components.<key> in the export’s manifest (bundle.json).
splice_history_component 🔒
Register the transcript files bundle.export_for_agent_with_history already wrote into the archive under components.history.
splice_memory_component 🔒
splice_project_instructions_component 🔒
Splice native-memory files into an already-built bundle export’s bundle.json manifest and files list, adding components.memory (ABF v0.2 §2.3). Kept OUTSIDE bundle_export.rs deliberately — that module’s export_bundle() is scoped to a bundle’s own components (instructions/skills/MCP/accounts) with no concept of “agent” or native memory at all; memory is agent-scoped, not bundle-scoped, so splicing it in here (the RPC-handler layer, which already resolves other agent-scoped data like skill rows) keeps that module’s documented scope intact rather than growing it a fifth, unrelated component category. A no-op when memory_files is empty — matches the existing omit-empty-components convention used elsewhere in the manifest. Carry the agent’s project instructions into the export as components.projectInstructions.