30 lines
1.4 KiB
JavaScript
30 lines
1.4 KiB
JavaScript
import { handleToolError } from "../helpers/errorHandler.js";
|
|
import { listDocs } from "./_docsReader.js";
|
|
|
|
export function registerListDocsTool(server) {
|
|
server.tool(
|
|
"list_docs",
|
|
`Lista todos los docs disponibles en el knowledge base con su id, título y un summary corto. Útil cuando necesitas saber qué documentación existe antes de llamar a 'read_doc'. El system prompt y el knowledge_base ya cargan los docs más relevantes a tu tarea — usa 'list_docs' / 'read_doc' solo si necesitas un doc que no apareció completo en el contexto o quieres una sección específica con detalle.`,
|
|
{},
|
|
{ readOnlyHint: true, destructiveHint: false },
|
|
async () => {
|
|
try {
|
|
const docs = await listDocs();
|
|
return {
|
|
content: [{
|
|
type: "text",
|
|
text: JSON.stringify({
|
|
success: true,
|
|
count: docs.length,
|
|
documents: docs,
|
|
note: "Usa 'read_doc' con el 'id' (e.g. '05-tables-and-fields') para leer el doc completo o pasa 'section' para una sección concreta.",
|
|
}, null, 2),
|
|
}],
|
|
};
|
|
} catch (error) {
|
|
return handleToolError(error, "list_docs", {});
|
|
}
|
|
}
|
|
);
|
|
}
|