## Tooling The **Tooling** chapter lists all built‑in keywords and their one‑line descriptions. | Keyword | Description | |---------|-------------| | `TALK` | Send a message to the user. | | `HEAR` | Receive user input. | | `LLM` | Invoke the configured large‑language‑model. | | `ADD_TOOL` | Register a custom tool at runtime. | | `GET` | Retrieve a value from the session store. | | `SET` | Store a value in the session store. | | `FORMAT` | Format numbers, dates, or text. | | `ADD_KB` | Create a new knowledge‑base collection. | | `SET_KB` | Switch the active knowledge‑base. | | `ADD_WEBSITE` | Crawl and index a website. | | `CALL` | Invoke a registered tool synchronously. | | `CALL_ASYNC` | Invoke a tool asynchronously. | | `LIST_TOOLS` | List all available tools for the session. | | `REMOVE_TOOL` | Unregister a tool. | | `CLEAR_TOOLS` | Remove all custom tools. | | `FIRST` / `LAST` | Access first/last element of a collection. | | `FOR EACH` / `EXIT FOR` | Iterate over collections. | | `IF` / `ELSE` / `ENDIF` | Conditional execution. | | `WHILE` / `ENDWHILE` | Loop while a condition holds. | | `REPEAT` / `UNTIL` | Loop until a condition is met. | | `WAIT` | Pause execution for a given duration. | | `ON` | Register an event handler. | | `SET_SCHEDULE` | Define a scheduled task. | | `PRINT` | Output debugging information. | | `GET_BOT_MEMORY` / `SET_BOT_MEMORY` | Access bot‑wide memory store. | | `CREATE_SITE` | Create a new website entry in a knowledge base. | | `CREATE_DRAFT` | Generate a draft document. | | `WEBSITE OF` | Reference a website object. | | `FIND` | Search within collections. | | `GET` / `SET` | Generic getters/setters for variables. | | `...` | See the full keyword list in `chapter-05/keywords.md`. |