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 |
A few terms
Section titled “A few terms”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.