docviz-builder 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +371 -0
- package/LICENSE +21 -0
- package/README.md +837 -0
- package/bin/docviz-mcp.mjs +10 -0
- package/bin/docviz.mjs +11 -0
- package/dist/build/builder.d.ts +62 -0
- package/dist/build/builder.d.ts.map +1 -0
- package/dist/build/builder.js +337 -0
- package/dist/build/builder.js.map +1 -0
- package/dist/build/diff.d.ts +64 -0
- package/dist/build/diff.d.ts.map +1 -0
- package/dist/build/diff.js +156 -0
- package/dist/build/diff.js.map +1 -0
- package/dist/build/doctor.d.ts +39 -0
- package/dist/build/doctor.d.ts.map +1 -0
- package/dist/build/doctor.js +190 -0
- package/dist/build/doctor.js.map +1 -0
- package/dist/build/init.d.ts +28 -0
- package/dist/build/init.d.ts.map +1 -0
- package/dist/build/init.js +274 -0
- package/dist/build/init.js.map +1 -0
- package/dist/build/preview.d.ts +13 -0
- package/dist/build/preview.d.ts.map +1 -0
- package/dist/build/preview.js +277 -0
- package/dist/build/preview.js.map +1 -0
- package/dist/build/skill.d.ts +41 -0
- package/dist/build/skill.d.ts.map +1 -0
- package/dist/build/skill.js +63 -0
- package/dist/build/skill.js.map +1 -0
- package/dist/build/verify.d.ts +26 -0
- package/dist/build/verify.d.ts.map +1 -0
- package/dist/build/verify.js +99 -0
- package/dist/build/verify.js.map +1 -0
- package/dist/cli.d.ts +20 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +427 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/load.d.ts +32 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +279 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/types.d.ts +89 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/cache.d.ts +32 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +69 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/errors.d.ts +115 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +164 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/hash.d.ts +57 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +0 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/package-version.d.ts +9 -0
- package/dist/core/package-version.d.ts.map +1 -0
- package/dist/core/package-version.js +44 -0
- package/dist/core/package-version.js.map +1 -0
- package/dist/core/paths.d.ts +46 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +105 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/registry.d.ts +24 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +72 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/types.d.ts +78 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +11 -0
- package/dist/core/types.js.map +1 -0
- package/dist/dsl/architecture.d.ts +15 -0
- package/dist/dsl/architecture.d.ts.map +1 -0
- package/dist/dsl/architecture.js +242 -0
- package/dist/dsl/architecture.js.map +1 -0
- package/dist/dsl/catalog.d.ts +62 -0
- package/dist/dsl/catalog.d.ts.map +1 -0
- package/dist/dsl/catalog.en.d.ts +18 -0
- package/dist/dsl/catalog.en.d.ts.map +1 -0
- package/dist/dsl/catalog.en.js +299 -0
- package/dist/dsl/catalog.en.js.map +1 -0
- package/dist/dsl/catalog.js +1082 -0
- package/dist/dsl/catalog.js.map +1 -0
- package/dist/dsl/chart.d.ts +14 -0
- package/dist/dsl/chart.d.ts.map +1 -0
- package/dist/dsl/chart.js +435 -0
- package/dist/dsl/chart.js.map +1 -0
- package/dist/dsl/compile.d.ts +31 -0
- package/dist/dsl/compile.d.ts.map +1 -0
- package/dist/dsl/compile.js +120 -0
- package/dist/dsl/compile.js.map +1 -0
- package/dist/dsl/diagram-bpmn.d.ts +13 -0
- package/dist/dsl/diagram-bpmn.d.ts.map +1 -0
- package/dist/dsl/diagram-bpmn.js +215 -0
- package/dist/dsl/diagram-bpmn.js.map +1 -0
- package/dist/dsl/diagram-product.d.ts +15 -0
- package/dist/dsl/diagram-product.d.ts.map +1 -0
- package/dist/dsl/diagram-product.js +291 -0
- package/dist/dsl/diagram-product.js.map +1 -0
- package/dist/dsl/diagram-technical.d.ts +28 -0
- package/dist/dsl/diagram-technical.d.ts.map +1 -0
- package/dist/dsl/diagram-technical.js +365 -0
- package/dist/dsl/diagram-technical.js.map +1 -0
- package/dist/dsl/diagram.d.ts +22 -0
- package/dist/dsl/diagram.d.ts.map +1 -0
- package/dist/dsl/diagram.js +542 -0
- package/dist/dsl/diagram.js.map +1 -0
- package/dist/dsl/fallbacks-d2.d.ts +27 -0
- package/dist/dsl/fallbacks-d2.d.ts.map +1 -0
- package/dist/dsl/fallbacks-d2.js +265 -0
- package/dist/dsl/fallbacks-d2.js.map +1 -0
- package/dist/dsl/fallbacks.d.ts +25 -0
- package/dist/dsl/fallbacks.d.ts.map +1 -0
- package/dist/dsl/fallbacks.js +264 -0
- package/dist/dsl/fallbacks.js.map +1 -0
- package/dist/dsl/fields.d.ts +93 -0
- package/dist/dsl/fields.d.ts.map +1 -0
- package/dist/dsl/fields.js +233 -0
- package/dist/dsl/fields.js.map +1 -0
- package/dist/dsl/index.d.ts +50 -0
- package/dist/dsl/index.d.ts.map +1 -0
- package/dist/dsl/index.js +114 -0
- package/dist/dsl/index.js.map +1 -0
- package/dist/dsl/util.d.ts +105 -0
- package/dist/dsl/util.d.ts.map +1 -0
- package/dist/dsl/util.js +261 -0
- package/dist/dsl/util.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown/scan.d.ts +73 -0
- package/dist/markdown/scan.d.ts.map +1 -0
- package/dist/markdown/scan.js +150 -0
- package/dist/markdown/scan.js.map +1 -0
- package/dist/markdown/transform.d.ts +28 -0
- package/dist/markdown/transform.d.ts.map +1 -0
- package/dist/markdown/transform.js +38 -0
- package/dist/markdown/transform.js.map +1 -0
- package/dist/mcp/server.d.ts +18 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +118 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +118 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +573 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/renderers/base.d.ts +18 -0
- package/dist/renderers/base.d.ts.map +1 -0
- package/dist/renderers/base.js +59 -0
- package/dist/renderers/base.js.map +1 -0
- package/dist/renderers/bpmn.d.ts +68 -0
- package/dist/renderers/bpmn.d.ts.map +1 -0
- package/dist/renderers/bpmn.js +158 -0
- package/dist/renderers/bpmn.js.map +1 -0
- package/dist/renderers/browser.d.ts +30 -0
- package/dist/renderers/browser.d.ts.map +1 -0
- package/dist/renderers/browser.js +143 -0
- package/dist/renderers/browser.js.map +1 -0
- package/dist/renderers/color-scheme.d.ts +40 -0
- package/dist/renderers/color-scheme.d.ts.map +1 -0
- package/dist/renderers/color-scheme.js +122 -0
- package/dist/renderers/color-scheme.js.map +1 -0
- package/dist/renderers/d2.d.ts +37 -0
- package/dist/renderers/d2.d.ts.map +1 -0
- package/dist/renderers/d2.js +108 -0
- package/dist/renderers/d2.js.map +1 -0
- package/dist/renderers/graphviz.d.ts +33 -0
- package/dist/renderers/graphviz.d.ts.map +1 -0
- package/dist/renderers/graphviz.js +88 -0
- package/dist/renderers/graphviz.js.map +1 -0
- package/dist/renderers/in-page.d.ts +33 -0
- package/dist/renderers/in-page.d.ts.map +1 -0
- package/dist/renderers/in-page.js +76 -0
- package/dist/renderers/in-page.js.map +1 -0
- package/dist/renderers/index.d.ts +20 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +94 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/kroki.d.ts +38 -0
- package/dist/renderers/kroki.d.ts.map +1 -0
- package/dist/renderers/kroki.js +151 -0
- package/dist/renderers/kroki.js.map +1 -0
- package/dist/renderers/likec4-svg.d.ts +82 -0
- package/dist/renderers/likec4-svg.d.ts.map +1 -0
- package/dist/renderers/likec4-svg.js +435 -0
- package/dist/renderers/likec4-svg.js.map +1 -0
- package/dist/renderers/likec4.d.ts +22 -0
- package/dist/renderers/likec4.d.ts.map +1 -0
- package/dist/renderers/likec4.js +77 -0
- package/dist/renderers/likec4.js.map +1 -0
- package/dist/renderers/mermaid.d.ts +64 -0
- package/dist/renderers/mermaid.d.ts.map +1 -0
- package/dist/renderers/mermaid.js +196 -0
- package/dist/renderers/mermaid.js.map +1 -0
- package/dist/renderers/plantuml.d.ts +56 -0
- package/dist/renderers/plantuml.d.ts.map +1 -0
- package/dist/renderers/plantuml.js +195 -0
- package/dist/renderers/plantuml.js.map +1 -0
- package/dist/renderers/svg-utils.d.ts +46 -0
- package/dist/renderers/svg-utils.d.ts.map +1 -0
- package/dist/renderers/svg-utils.js +439 -0
- package/dist/renderers/svg-utils.js.map +1 -0
- package/dist/renderers/svgbob.d.ts +26 -0
- package/dist/renderers/svgbob.d.ts.map +1 -0
- package/dist/renderers/svgbob.js +70 -0
- package/dist/renderers/svgbob.js.map +1 -0
- package/dist/renderers/vega-lite.d.ts +18 -0
- package/dist/renderers/vega-lite.d.ts.map +1 -0
- package/dist/renderers/vega-lite.js +94 -0
- package/dist/renderers/vega-lite.js.map +1 -0
- package/dist/themes/index.d.ts +17 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +419 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/types.d.ts +99 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +9 -0
- package/dist/themes/types.js.map +1 -0
- package/eval/casos.json +513 -0
- package/package.json +114 -0
- package/scripts/capture-preview.mjs +101 -0
- package/scripts/check-github.mjs +128 -0
- package/scripts/eval.d.mts +8 -0
- package/scripts/eval.mjs +284 -0
- package/scripts/fetch-plantuml.mjs +122 -0
- package/scripts/generate-catalog-doc.mjs +106 -0
- package/scripts/rasterize.mjs +68 -0
- package/scripts/sync-docs.mjs +158 -0
- package/skills/docviz/SKILL.md +111 -0
- package/vendor/.gitkeep +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Servidor MCP de DocViz.
|
|
3
|
+
*
|
|
4
|
+
* Expone la compilacion de diagramas como herramientas, de modo que un agente
|
|
5
|
+
* no tenga que ejecutar comandos de shell ni conocer los motores:
|
|
6
|
+
*
|
|
7
|
+
* docviz_types catalogo de tipos y temas
|
|
8
|
+
* docviz_validate_document valida bloques sin renderizar
|
|
9
|
+
* docviz_render_diagram renderiza un diagrama suelto
|
|
10
|
+
* docviz_build_document compila docs-src -> docs
|
|
11
|
+
* docviz_diff que diagramas cambiaron entre dos versiones
|
|
12
|
+
* docviz_fix devuelve corregido un bloque que no compila
|
|
13
|
+
* docviz_preview devuelve el Markdown compilado y sus incidencias
|
|
14
|
+
*/
|
|
15
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
16
|
+
export declare function createServer(): McpServer;
|
|
17
|
+
export declare function main(): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBpE,wBAAgB,YAAY,IAAI,SAAS,CA0IxC;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1C"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Servidor MCP de DocViz.
|
|
3
|
+
*
|
|
4
|
+
* Expone la compilacion de diagramas como herramientas, de modo que un agente
|
|
5
|
+
* no tenga que ejecutar comandos de shell ni conocer los motores:
|
|
6
|
+
*
|
|
7
|
+
* docviz_types catalogo de tipos y temas
|
|
8
|
+
* docviz_validate_document valida bloques sin renderizar
|
|
9
|
+
* docviz_render_diagram renderiza un diagrama suelto
|
|
10
|
+
* docviz_build_document compila docs-src -> docs
|
|
11
|
+
* docviz_diff que diagramas cambiaron entre dos versiones
|
|
12
|
+
* docviz_fix devuelve corregido un bloque que no compila
|
|
13
|
+
* docviz_preview devuelve el Markdown compilado y sus incidencias
|
|
14
|
+
*/
|
|
15
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
16
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { buildDocuments, diffDocuments, fixBlock, listTypes, suggestType, previewDocument, renderDiagram, renderableTypes, validateDocument, } from './tools.js';
|
|
19
|
+
import { themeNames } from '../themes/index.js';
|
|
20
|
+
function asContent(result) {
|
|
21
|
+
const payload = { type: 'text', text: JSON.stringify(result, null, 2) };
|
|
22
|
+
return result.ok ? { content: [payload] } : { content: [payload], isError: true };
|
|
23
|
+
}
|
|
24
|
+
export function createServer() {
|
|
25
|
+
const server = new McpServer({ name: 'docviz', version: '0.1.0' });
|
|
26
|
+
server.registerTool('docviz_types', {
|
|
27
|
+
title: 'Tipos de visualizacion disponibles',
|
|
28
|
+
description: 'Catalogo completo de tipos de visualizacion, con su proposito, cuando usarlos, cuando no y un ' +
|
|
29
|
+
'ejemplo minimo. Consultalo antes de escribir un bloque si no recuerdas el nombre exacto o dudas del tipo.',
|
|
30
|
+
inputSchema: {
|
|
31
|
+
detailed: z
|
|
32
|
+
.boolean()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('false devuelve solo los nombres; por defecto incluye los metadatos'),
|
|
35
|
+
},
|
|
36
|
+
}, async (args) => asContent(listTypes(args)));
|
|
37
|
+
server.registerTool('docviz_suggest', {
|
|
38
|
+
title: 'Recomendar un tipo de visualizacion',
|
|
39
|
+
description: 'Describe en una frase que quieres explicar y devuelve los tipos mas adecuados con el bloque ' +
|
|
40
|
+
'listo para rellenar. Usalo cuando dudes entre varias formas de representar algo.',
|
|
41
|
+
inputSchema: {
|
|
42
|
+
need: z.string().describe('que quieres explicar, en una frase'),
|
|
43
|
+
limit: z.number().optional().describe('numero maximo de sugerencias (1-8, por defecto 3)'),
|
|
44
|
+
},
|
|
45
|
+
}, async (args) => asContent(suggestType(args)));
|
|
46
|
+
server.registerTool('docviz_validate_document', {
|
|
47
|
+
title: 'Validar documentacion',
|
|
48
|
+
description: 'Comprueba que todos los bloques declarativos de un documento sean interpretables, sin renderizar. ' +
|
|
49
|
+
'Pasa `content` para validar un texto que acabas de escribir, o `source` para validar un directorio.',
|
|
50
|
+
inputSchema: {
|
|
51
|
+
content: z.string().optional().describe('Markdown a validar en memoria'),
|
|
52
|
+
source: z.string().optional().describe('directorio de documentos fuente'),
|
|
53
|
+
cwd: z.string().optional().describe('raiz del proyecto'),
|
|
54
|
+
},
|
|
55
|
+
}, async (args) => asContent(await validateDocument(args)));
|
|
56
|
+
server.registerTool('docviz_render_diagram', {
|
|
57
|
+
title: 'Renderizar un diagrama',
|
|
58
|
+
description: 'Renderiza un unico diagrama declarativo y devuelve el recurso generado. ' +
|
|
59
|
+
'Describe la intencion en `type` (por ejemplo uml-sequence, strategy-tree o bar); DocViz elige el motor.',
|
|
60
|
+
inputSchema: {
|
|
61
|
+
type: z.string().describe(`tipo de visualizacion: ${renderableTypes().join(', ')}`),
|
|
62
|
+
source: z.string().describe('cuerpo declarativo del diagrama, en el DSL de DocViz'),
|
|
63
|
+
title: z.string().optional().describe('titulo del diagrama'),
|
|
64
|
+
theme: z.enum(themeNames()).optional(),
|
|
65
|
+
outputDir: z.string().optional().describe('directorio donde escribir el recurso'),
|
|
66
|
+
cwd: z.string().optional(),
|
|
67
|
+
},
|
|
68
|
+
}, async (args) => asContent(await renderDiagram(args)));
|
|
69
|
+
server.registerTool('docviz_build_document', {
|
|
70
|
+
title: 'Compilar la documentacion',
|
|
71
|
+
description: 'Compila el directorio de documentos fuente a Markdown estandar con las imagenes ya generadas, ' +
|
|
72
|
+
'y verifica que no queden imagenes rotas.',
|
|
73
|
+
inputSchema: {
|
|
74
|
+
source: z.string().optional(),
|
|
75
|
+
output: z.string().optional(),
|
|
76
|
+
theme: z.enum(themeNames()).optional(),
|
|
77
|
+
clean: z.boolean().optional(),
|
|
78
|
+
cwd: z.string().optional(),
|
|
79
|
+
},
|
|
80
|
+
}, async (args) => asContent(await buildDocuments(args)));
|
|
81
|
+
server.registerTool('docviz_diff', {
|
|
82
|
+
title: 'Que diagramas cambiaron',
|
|
83
|
+
description: 'Compara los diagramas de dos versiones de la documentacion y devuelve cuales son nuevos, cuales ' +
|
|
84
|
+
'desaparecieron y cuales cambiaron. No renderiza nada. Usalo tras reescribir documentacion para ' +
|
|
85
|
+
'comprobar que no tocaste diagramas que no querias tocar.',
|
|
86
|
+
inputSchema: {
|
|
87
|
+
base: z.string().describe('directorio de la version anterior'),
|
|
88
|
+
head: z.string().describe('directorio de la version nueva'),
|
|
89
|
+
cwd: z.string().optional(),
|
|
90
|
+
},
|
|
91
|
+
}, async (args) => asContent(await diffDocuments(args)));
|
|
92
|
+
server.registerTool('docviz_fix', {
|
|
93
|
+
title: 'Corregir un bloque que no compila',
|
|
94
|
+
description: 'Pasale un bloque que fallo y devuelve el bloque corregido. Solo aplica correcciones deducibles del ' +
|
|
95
|
+
'catalogo —renombrar un campo cuya errata es inequivoca— y vuelve a compilar para decir si basta. ' +
|
|
96
|
+
'Si no basta, devuelve el diagnostico y el esqueleto del tipo. Usalo antes de reescribir el bloque a mano.',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
source: z.string().describe('contenido del bloque, sin las vallas'),
|
|
99
|
+
lang: z.enum(['diagram', 'chart', 'architecture']).optional(),
|
|
100
|
+
},
|
|
101
|
+
}, async (args) => asContent(fixBlock(args)));
|
|
102
|
+
server.registerTool('docviz_preview', {
|
|
103
|
+
title: 'Revisar el resultado compilado',
|
|
104
|
+
description: 'Devuelve el Markdown compilado y las incidencias detectadas (imagenes rotas, rutas absolutas, ' +
|
|
105
|
+
'bloques sin compilar). Sin `document` devuelve el resumen de todo el directorio.',
|
|
106
|
+
inputSchema: {
|
|
107
|
+
document: z.string().optional().describe('ruta del documento dentro del directorio de salida'),
|
|
108
|
+
output: z.string().optional(),
|
|
109
|
+
cwd: z.string().optional(),
|
|
110
|
+
},
|
|
111
|
+
}, async (args) => asContent(await previewDocument(args)));
|
|
112
|
+
return server;
|
|
113
|
+
}
|
|
114
|
+
export async function main() {
|
|
115
|
+
const server = createServer();
|
|
116
|
+
await server.connect(new StdioServerTransport());
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logica de las herramientas MCP, independiente del transporte.
|
|
3
|
+
*
|
|
4
|
+
* Se separa del servidor para poder probarla sin levantar stdio, y para que la
|
|
5
|
+
* misma implementacion sirva a cualquier otro adaptador.
|
|
6
|
+
*/
|
|
7
|
+
export interface ToolResult {
|
|
8
|
+
ok: boolean;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
/** Tipos que el agente puede pedir a `docviz_render_diagram`. */
|
|
12
|
+
export declare function renderableTypes(): string[];
|
|
13
|
+
/**
|
|
14
|
+
* `docviz_validate_document`
|
|
15
|
+
*
|
|
16
|
+
* Valida los bloques de un documento (o de todo el directorio fuente) sin
|
|
17
|
+
* renderizar. Es la herramienta que un agente debe llamar antes de dar por
|
|
18
|
+
* escrita la documentacion.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateDocument(args: {
|
|
21
|
+
cwd?: string;
|
|
22
|
+
source?: string;
|
|
23
|
+
content?: string;
|
|
24
|
+
}): Promise<ToolResult>;
|
|
25
|
+
/**
|
|
26
|
+
* `docviz_build_document`
|
|
27
|
+
*
|
|
28
|
+
* Compila el directorio fuente y devuelve el resumen: documentos escritos,
|
|
29
|
+
* diagramas generados y aciertos de cache.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildDocuments(args: {
|
|
32
|
+
cwd?: string;
|
|
33
|
+
source?: string;
|
|
34
|
+
output?: string;
|
|
35
|
+
theme?: string;
|
|
36
|
+
clean?: boolean;
|
|
37
|
+
}): Promise<ToolResult>;
|
|
38
|
+
/**
|
|
39
|
+
* `docviz_diff`
|
|
40
|
+
*
|
|
41
|
+
* Compara los diagramas de dos versiones de la documentacion. El agente que
|
|
42
|
+
* acaba de reescribir un documento puede comprobar asi que no toco de mas.
|
|
43
|
+
*/
|
|
44
|
+
export declare function diffDocuments(args: {
|
|
45
|
+
cwd?: string;
|
|
46
|
+
base: string;
|
|
47
|
+
head: string;
|
|
48
|
+
}): Promise<ToolResult>;
|
|
49
|
+
/**
|
|
50
|
+
* `docviz_fix`
|
|
51
|
+
*
|
|
52
|
+
* Recibe un bloque que no compila y devuelve el bloque corregido.
|
|
53
|
+
*
|
|
54
|
+
* No adivina: solo aplica las correcciones que se deducen del propio catalogo
|
|
55
|
+
* —renombrar un campo cuya errata es inequivoca— y vuelve a compilar para decir
|
|
56
|
+
* si con eso basta. Cuando no basta, devuelve el diagnostico y el esqueleto
|
|
57
|
+
* canonico del tipo, que es lo que el agente necesita para reescribirlo.
|
|
58
|
+
*
|
|
59
|
+
* Existe porque el ciclo "falla, lee el error, reintenta" cuesta una llamada al
|
|
60
|
+
* modelo cada vuelta, y la mitad de las vueltas son una letra cambiada de sitio.
|
|
61
|
+
*/
|
|
62
|
+
export declare function fixBlock(args: {
|
|
63
|
+
lang?: string;
|
|
64
|
+
source: string;
|
|
65
|
+
}): ToolResult;
|
|
66
|
+
/**
|
|
67
|
+
* `docviz_render_diagram`
|
|
68
|
+
*
|
|
69
|
+
* Renderiza un unico diagrama declarativo y devuelve el recurso. El agente
|
|
70
|
+
* describe la intencion (`uml-sequence`, `strategy-tree`, `bar`...) y DocViz
|
|
71
|
+
* elige el motor.
|
|
72
|
+
*/
|
|
73
|
+
export declare function renderDiagram(args: {
|
|
74
|
+
type: string;
|
|
75
|
+
source: string;
|
|
76
|
+
theme?: string;
|
|
77
|
+
cwd?: string;
|
|
78
|
+
/** Directorio donde escribir el recurso. Si se omite, se devuelve en linea. */
|
|
79
|
+
outputDir?: string;
|
|
80
|
+
title?: string;
|
|
81
|
+
}): Promise<ToolResult>;
|
|
82
|
+
/**
|
|
83
|
+
* `docviz_preview`
|
|
84
|
+
*
|
|
85
|
+
* Devuelve el Markdown compilado y la lista de recursos referenciados, para que
|
|
86
|
+
* el agente pueda comprobar el resultado sin abrir un navegador.
|
|
87
|
+
*/
|
|
88
|
+
export declare function previewDocument(args: {
|
|
89
|
+
cwd?: string;
|
|
90
|
+
output?: string;
|
|
91
|
+
document?: string;
|
|
92
|
+
}): Promise<ToolResult>;
|
|
93
|
+
/**
|
|
94
|
+
* `docviz_types`: catalogo de tipos y temas.
|
|
95
|
+
*
|
|
96
|
+
* Devuelve el proposito y el cuando usar de cada tipo, no solo su nombre: un
|
|
97
|
+
* listado de nombres obliga a adivinar, y adivinar es justo lo que se quiere
|
|
98
|
+
* evitar.
|
|
99
|
+
*/
|
|
100
|
+
export declare function listTypes(args?: {
|
|
101
|
+
detailed?: boolean;
|
|
102
|
+
}): ToolResult;
|
|
103
|
+
/**
|
|
104
|
+
* `docviz_suggest`
|
|
105
|
+
*
|
|
106
|
+
* Recibe una frase con lo que se quiere explicar y devuelve los tipos mas
|
|
107
|
+
* adecuados, con su esqueleto listo para rellenar.
|
|
108
|
+
*
|
|
109
|
+
* Existe porque recordar cuarenta y tantos tipos no es razonable, ni para una
|
|
110
|
+
* persona ni para un modelo. Consultar es mas fiable que recordar, y el
|
|
111
|
+
* esqueleto evita el segundo error habitual: acertar el tipo y equivocarse en
|
|
112
|
+
* la forma.
|
|
113
|
+
*/
|
|
114
|
+
export declare function suggestType(args: {
|
|
115
|
+
need: string;
|
|
116
|
+
limit?: number;
|
|
117
|
+
}): ToolResult;
|
|
118
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,iEAAiE;AACjE,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAG1C;AA+BD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2CtB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBtB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,UAAU,CAAC,CAmBtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAyC5E;AAqDD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2EtB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCtB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,UAAU,CAmBvE;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAwC9E"}
|