Skip to main content

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):

yaml
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]