Tool Registry
El esquema de tools.json. El formato y contenido del tool registry que mapea nombres de herramientas a sus entry points.
Propósito
Esta página documenta el esquema de tools.json. El tool registry es el mecanismo que mapea nombres de herramientas a sus entry points, sus capacidades y sus tags. El registry es la lista autoritativa de herramientas disponibles para un agente.
Un ejemplo real está en {workspace-root}/movie-scraper-tools/tools.json.
Esquema
Campos
Top-level
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
version | string | R | Versión semántica del esquema. |
tools | array | R | Las entradas de herramientas. |
meta | object | O | Metadata opcional sobre el registry. |
Entrada de herramienta
| Campo | Tipo | Requerido | Constraints |
|---|---|---|---|
name | string | R | Nombre único de la herramienta. Lowercase, separado por guiones. |
description | string | R | Descripción de un párrafo. |
location | string | R | Ruta al entry point de la herramienta (relativa al registry). |
status | string | R | ready, planned o deprecated. |
capabilities | string[] | R | Lista de nombres de capacidades. |
languages | string[] | O | Lista de idiomas soportados (ISO 639-1). |
tags | string[] | R | Lista de tags para activación de skill. |
Ejemplo
Semántica de los campos
name
El nombre único de la herramienta. El nombre se usa en la tabla de routing del Coordinator y en el request journal. El nombre es también el nombre del directorio bajo tools/.
Convenciones:
- Lowercase.
- Separado por guiones.
- Sin espacios.
- Singular (p. ej.,
torrent-finder, notorrent-finders).
description
Una descripción de un párrafo de qué hace la herramienta. La descripción se muestra al usuario cuando el Coordinator explica qué herramienta está usando.
location
La ruta al entry point de la herramienta, relativa al fichero del registry. El entry point es típicamente main.py para una herramienta CLI. La ruta es relativa al directorio que contiene el fichero tools.json.
status
El status de lifecycle de la herramienta:
ready— la herramienta está implementada y lista para usar.planned— la herramienta está planeada pero no implementada.deprecated— la herramienta ya no se mantiene.
La entrada de una herramienta planned es un placeholder. El Coordinator puede mencionar la herramienta pero no puede invocarla.
La entrada de una herramienta deprecated se mantiene por compatibilidad hacia atrás. El Coordinator no debería invocarla.
capabilities
La lista de capacidades que provee la herramienta. Las capacidades son las operaciones de alto nivel que la herramienta puede realizar. Por ejemplo, las capabilities de una herramienta de torrents podrían ser search y open.
Las capacidades están documentadas en el TOOL.md de la herramienta. Las capacidades son el contrato entre la herramienta y el agente.
languages
La lista de idiomas que soporta la herramienta. Los idiomas son códigos ISO 639-1 (p. ej., en, es, fr). El campo es opcional; las herramientas que no tienen que ver con idioma pueden omitirlo.
tags
La lista de tags para activación de skill. Los tags los usa el skill loader del Coordinator para encontrar la herramienta. Los tags deben ser lowercase, separados por guiones y descriptivos.
Ejemplos de tags: torrent, movies, series, 4k, 1080p, subtitles, srt, español, dubbed, castellano, audio, ffprobe, codec, resolution.
Validación
El tool registry se valida cuando se carga. Las comprobaciones de validación:
- Todos los campos requeridos están presentes.
- El
namees único. - La
locationexiste y es un fichero. - El
statuses uno de los valores permitidos. - Las
capabilitiesno están vacías. - Los
tagsno están vacíos.
Una validación fallida se loguea, y la herramienta no se registra. El Coordinator puede ver la herramienta en el registry pero no puede invocarla.
Carga
El tool registry lo carga el Coordinator en el arranque. El orden de carga:
- Carga el
tools.jsondel proyecto. - Valida cada entrada.
- Indexa las entradas por
namey portag. - Registra las entradas válidas.
El registry se recarga cuando cambia la configuración. La recarga es atómica; el registry viejo se reemplaza por el nuevo en un único paso.