catalog
The ground truth about what an app can be built with. list_modules returns
every module you can add; describe_module returns one module's real tools,
every parameter (type, required, allowed values, default), a copy-ready example,
and the exact app.yaml lines to declare and grant it. Everything is read from
the live registry - the same source the compiler validates against - so it can
never be out of date.
This is the module a builder agent grants itself so it never guesses a module name or a parameter shape. Reach for it the moment you're unsure what exists.
Tools, at a glance: list_modules, describe_module.
Why it exists
Module and tool names change; a static list in a prompt or a docs page drifts.
catalog closes that gap: instead of recalling names, the agent asks the system
what is actually there, right now. If unknown module / unknown tool ever
appears, it means a name was guessed - list_modules has the real one.
A working app
A builder-style agent that looks modules up before wiring them. Compiles as-is The brain uses a Digitorn gateway model (the default - no API key of your own needed):
app:
app_id: builder_helper
name: Builder Helper
runtime:
entry_agent: main
agents:
- id: main
system_prompt: |
You help configure Digitorn apps. Before adding a module or granting a
tool, call catalog.list_modules to see what exists, then
catalog.describe_module for the exact tools, params and YAML. Never
recall module or param names from memory.
brain:
provider: openai
backend: openai_compat
model: mimo-v2.5-free # a model the Digitorn gateway serves
config:
api_key: placeholder # ignored in gateway mode
tools:
modules:
catalog: {}
capabilities:
grant:
- module: catalog
tools: [list_modules, describe_module]
Related
- Module index - the human-readable catalogue of modules