Skip to content

Shared concepts and capabilities

Tools, conversation history, and events work through the same core interfaces in both routes. Use these pages when you need to understand a component or choose how to connect it. You can start with your own Agent or the Bub application and return here as needed.

You want to understand Read
How the core and application fit together Design choices
Which extension point fits a task Choose an extension point
How to define an action or use generated Python Tools and CodeMode
What gets saved and what the model reads Conversation history and context
How to observe, change, or stop a call Events and call control

An Agent runs the model and tool loop. A run handles one prompt and may contain several model steps. A tool is a typed action the agent can execute.

A Tape holds conversation records. Its entries include messages, tool calls, results, and events. An anchor marks a starting point for building context; a handoff writes a new anchor. The run’s mutable state is a separate dictionary shared with tools and handlers.

The Bub application adds plugins, which provide Python hooks, skills, which provide reusable instructions, and channels, which carry messages in and out. Its turn pipeline connects those components around the agent.