whatsapp-docs-mcp 1.0.0 → 1.0.2

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompts.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.test.d.ts","sourceRoot":"","sources":["../src/prompts.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const vitest_1 = require("vitest");
37
+ const prompts_1 = require("./prompts");
38
+ const fs = __importStar(require("fs"));
39
+ // Mock do fileLoader
40
+ vitest_1.vi.mock('./utils/fileLoader');
41
+ // Mock do fs
42
+ vitest_1.vi.mock('fs', async () => {
43
+ const actual = await vitest_1.vi.importActual('fs');
44
+ return {
45
+ ...actual,
46
+ default: {
47
+ ...actual,
48
+ existsSync: vitest_1.vi.fn(),
49
+ },
50
+ existsSync: vitest_1.vi.fn(),
51
+ };
52
+ });
53
+ // Mock do fileLoader
54
+ vitest_1.vi.mock('./utils/fileLoader', () => {
55
+ return {
56
+ getDocsPath: vitest_1.vi.fn(() => '/mock/docs'),
57
+ loadMarkdownFile: vitest_1.vi.fn((filePath) => {
58
+ const mockFiles = {
59
+ '/mock/docs/QUICK_REFERENCE.md': `## 📤 Enviar Mensagens
60
+
61
+ Como enviar mensagens via API.
62
+
63
+ ## 📥 Webhooks
64
+
65
+ Como configurar webhooks.`,
66
+ '/mock/docs/mensagens/visao_geral/send_messages.md': '# Como Enviar Mensagens\n\nGuia completo.',
67
+ '/mock/docs/mensagens/tipos_de_mensagens/audio_messages.md': '# Mensagens de áudio\n\nComo enviar áudio.',
68
+ '/mock/docs/webhooks/visao_geral/overview.md': '# Visão Geral de Webhooks\n\nComo configurar.',
69
+ '/mock/docs/webhooks/referencia/messages/messages.md': `# Webhook Messages
70
+
71
+ ## JavaScript Example
72
+ \`\`\`javascript
73
+ // Exemplo em JavaScript
74
+ \`\`\`
75
+
76
+ ## Python Example
77
+ \`\`\`python
78
+ # Exemplo em Python
79
+ \`\`\``,
80
+ '/mock/docs/modelos/visao_geral/overview.md': '# Visão Geral de Templates\n\nComo criar templates.',
81
+ '/mock/docs/modelos/gerenciamento_de_modelos/template_management.md': '# Gerenciamento de Templates\n\nComo gerenciar.',
82
+ '/mock/docs/modelos/modelos_de_utilidade/utility_templates.md': '# Templates de Utilidade\n\nTemplates úteis.',
83
+ '/mock/docs/suporte/error_codes.md': '100 - Rate limit exceeded\n200 - Invalid token',
84
+ };
85
+ return mockFiles[filePath] || '';
86
+ }),
87
+ };
88
+ });
89
+ (0, vitest_1.describe)('listPrompts', () => {
90
+ (0, vitest_1.it)('deve retornar lista de prompts disponíveis', async () => {
91
+ const prompts = await (0, prompts_1.listPrompts)();
92
+ (0, vitest_1.expect)(Array.isArray(prompts)).toBe(true);
93
+ (0, vitest_1.expect)(prompts.length).toBeGreaterThan(0);
94
+ // Verifica estrutura dos prompts
95
+ prompts.forEach(prompt => {
96
+ (0, vitest_1.expect)(prompt.name).toBeDefined();
97
+ (0, vitest_1.expect)(prompt.description).toBeDefined();
98
+ });
99
+ });
100
+ (0, vitest_1.it)('deve incluir prompts principais', async () => {
101
+ const prompts = await (0, prompts_1.listPrompts)();
102
+ const names = prompts.map(p => p.name);
103
+ (0, vitest_1.expect)(names).toContain('send_message_guide');
104
+ (0, vitest_1.expect)(names).toContain('webhook_setup');
105
+ (0, vitest_1.expect)(names).toContain('template_creation');
106
+ });
107
+ });
108
+ (0, vitest_1.describe)('getPrompt - send_message_guide', () => {
109
+ (0, vitest_1.beforeEach)(() => {
110
+ vitest_1.vi.clearAllMocks();
111
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
112
+ });
113
+ (0, vitest_1.it)('deve retornar guia de envio de mensagens', async () => {
114
+ const content = await (0, prompts_1.getPrompt)('send_message_guide', {});
115
+ // Verifica que retorna conteúdo não vazio (comportamento, não conteúdo específico)
116
+ (0, vitest_1.expect)(content).toBeDefined();
117
+ (0, vitest_1.expect)(typeof content).toBe('string');
118
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
119
+ // Verifica estrutura básica (markdown válido ou instruções)
120
+ (0, vitest_1.expect)(content.trim().length).toBeGreaterThan(0);
121
+ });
122
+ (0, vitest_1.it)('deve incluir tipo específico quando especificado', async () => {
123
+ const content = await (0, prompts_1.getPrompt)('send_message_guide', { message_type: 'audio' });
124
+ // Verifica que retorna conteúdo (comportamento)
125
+ (0, vitest_1.expect)(content).toBeDefined();
126
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
127
+ // Verifica que conteúdo é diferente quando tipo especificado (comportamento)
128
+ const defaultContent = await (0, prompts_1.getPrompt)('send_message_guide', {});
129
+ // Pode ser igual ou diferente, mas ambos devem ser válidos
130
+ (0, vitest_1.expect)(typeof content).toBe('string');
131
+ });
132
+ (0, vitest_1.it)('deve usar fallback quando arquivos não existem', async () => {
133
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(false);
134
+ const content = await (0, prompts_1.getPrompt)('send_message_guide', {});
135
+ (0, vitest_1.expect)(content).toContain('get_document_by_path');
136
+ });
137
+ });
138
+ (0, vitest_1.describe)('getPrompt - webhook_setup', () => {
139
+ (0, vitest_1.beforeEach)(() => {
140
+ vitest_1.vi.clearAllMocks();
141
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
142
+ });
143
+ (0, vitest_1.it)('deve retornar guia de configuração de webhooks', async () => {
144
+ const content = await (0, prompts_1.getPrompt)('webhook_setup', {});
145
+ // Verifica comportamento: retorna conteúdo válido
146
+ (0, vitest_1.expect)(content).toBeDefined();
147
+ (0, vitest_1.expect)(typeof content).toBe('string');
148
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
149
+ });
150
+ (0, vitest_1.it)('deve incluir exemplos na linguagem especificada', async () => {
151
+ const content = await (0, prompts_1.getPrompt)('webhook_setup', { language: 'javascript' });
152
+ // Verifica comportamento: retorna conteúdo quando linguagem especificada
153
+ (0, vitest_1.expect)(content).toBeDefined();
154
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
155
+ // Verifica que conteúdo pode variar com linguagem (comportamento)
156
+ const contentWithoutLang = await (0, prompts_1.getPrompt)('webhook_setup', {});
157
+ (0, vitest_1.expect)(typeof content).toBe('string');
158
+ (0, vitest_1.expect)(typeof contentWithoutLang).toBe('string');
159
+ });
160
+ (0, vitest_1.it)('deve incluir exemplos em Python quando especificado', async () => {
161
+ const content = await (0, prompts_1.getPrompt)('webhook_setup', { language: 'python' });
162
+ // Verifica comportamento: retorna conteúdo válido
163
+ (0, vitest_1.expect)(content).toBeDefined();
164
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
165
+ });
166
+ });
167
+ (0, vitest_1.describe)('getPrompt - template_creation', () => {
168
+ (0, vitest_1.beforeEach)(() => {
169
+ vitest_1.vi.clearAllMocks();
170
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
171
+ });
172
+ (0, vitest_1.it)('deve retornar guia de criação de templates', async () => {
173
+ const content = await (0, prompts_1.getPrompt)('template_creation', {});
174
+ // Verifica comportamento: retorna conteúdo válido
175
+ (0, vitest_1.expect)(content).toBeDefined();
176
+ (0, vitest_1.expect)(typeof content).toBe('string');
177
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
178
+ });
179
+ (0, vitest_1.it)('deve incluir categoria específica quando especificada', async () => {
180
+ const content = await (0, prompts_1.getPrompt)('template_creation', { template_category: 'utility' });
181
+ // Verifica comportamento: retorna conteúdo quando categoria especificada
182
+ (0, vitest_1.expect)(content).toBeDefined();
183
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
184
+ // Verifica que diferentes categorias podem retornar conteúdo diferente
185
+ const contentDefault = await (0, prompts_1.getPrompt)('template_creation', {});
186
+ (0, vitest_1.expect)(typeof content).toBe('string');
187
+ (0, vitest_1.expect)(typeof contentDefault).toBe('string');
188
+ });
189
+ (0, vitest_1.it)('deve usar categoria padrão quando não especificada', async () => {
190
+ const content = await (0, prompts_1.getPrompt)('template_creation', {});
191
+ (0, vitest_1.expect)(content).toBeDefined();
192
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
193
+ });
194
+ });
195
+ (0, vitest_1.describe)('getPrompt - error_troubleshooting', () => {
196
+ (0, vitest_1.beforeEach)(() => {
197
+ vitest_1.vi.clearAllMocks();
198
+ vitest_1.vi.mocked(fs.existsSync).mockReturnValue(true);
199
+ });
200
+ (0, vitest_1.it)('deve retornar guia de resolução de problemas', async () => {
201
+ const content = await (0, prompts_1.getPrompt)('error_troubleshooting', {});
202
+ // Verifica comportamento: retorna conteúdo válido
203
+ (0, vitest_1.expect)(content).toBeDefined();
204
+ (0, vitest_1.expect)(typeof content).toBe('string');
205
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
206
+ });
207
+ (0, vitest_1.it)('deve incluir código de erro específico quando fornecido', async () => {
208
+ const content = await (0, prompts_1.getPrompt)('error_troubleshooting', { error_code: 100 });
209
+ // Verifica comportamento: retorna conteúdo quando código especificado
210
+ (0, vitest_1.expect)(content).toBeDefined();
211
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
212
+ // Verifica que conteúdo contém o código (comportamento esperado)
213
+ (0, vitest_1.expect)(content).toContain('100');
214
+ // Verifica que é diferente quando código não especificado
215
+ const contentWithoutCode = await (0, prompts_1.getPrompt)('error_troubleshooting', {});
216
+ (0, vitest_1.expect)(content).not.toBe(contentWithoutCode);
217
+ });
218
+ (0, vitest_1.it)('deve retornar conteúdo completo quando código não especificado', async () => {
219
+ const content = await (0, prompts_1.getPrompt)('error_troubleshooting', {});
220
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
221
+ });
222
+ });
223
+ (0, vitest_1.describe)('getPrompt - casos de erro', () => {
224
+ (0, vitest_1.it)('deve lançar erro para prompt inexistente', async () => {
225
+ await (0, vitest_1.expect)((0, prompts_1.getPrompt)('nonexistent_prompt', {})).rejects.toThrow();
226
+ });
227
+ });
228
+ //# sourceMappingURL=prompts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.test.js","sourceRoot":"","sources":["../src/prompts.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resources.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.test.d.ts","sourceRoot":"","sources":["../src/resources.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const resources_1 = require("./resources");
5
+ const fileLoader_1 = require("./utils/fileLoader");
6
+ // Mock do fileLoader
7
+ vitest_1.vi.mock('./utils/fileLoader', () => {
8
+ return {
9
+ getDocsPath: vitest_1.vi.fn(() => '/mock/docs'),
10
+ findAllMarkdownFiles: vitest_1.vi.fn(() => [
11
+ '/mock/docs/mensagens/tipos_de_mensagens/audio_messages.md',
12
+ '/mock/docs/mensagens/tipos_de_mensagens/text_messages.md',
13
+ ]),
14
+ loadMarkdownFile: vitest_1.vi.fn((filePath) => {
15
+ const mockFiles = {
16
+ '/mock/docs/mensagens/tipos_de_mensagens/audio_messages.md': `# Mensagens de áudio
17
+
18
+ É possível usar a API para enviar mensagens de voz.`,
19
+ '/mock/docs/mensagens/tipos_de_mensagens/text_messages.md': `# Mensagens de texto
20
+
21
+ Os SMS contêm somente um corpo de texto.`,
22
+ };
23
+ return mockFiles[filePath] || '';
24
+ }),
25
+ };
26
+ });
27
+ (0, vitest_1.describe)('scanDocuments', () => {
28
+ (0, vitest_1.beforeEach)(() => {
29
+ vitest_1.vi.clearAllMocks();
30
+ });
31
+ (0, vitest_1.it)('deve escanear e retornar todos os documentos', () => {
32
+ const resources = (0, resources_1.scanDocuments)();
33
+ (0, vitest_1.expect)(resources.length).toBe(2);
34
+ (0, vitest_1.expect)(resources[0].uri).toContain('whatsapp-docs://docs/');
35
+ (0, vitest_1.expect)(resources[0].mimeType).toBe('text/markdown');
36
+ });
37
+ (0, vitest_1.it)('deve extrair título e descrição dos documentos', () => {
38
+ const resources = (0, resources_1.scanDocuments)();
39
+ const audioResource = resources.find(r => r.uri.includes('audio'));
40
+ (0, vitest_1.expect)(audioResource).toBeDefined();
41
+ // Verifica estrutura, não conteúdo específico
42
+ (0, vitest_1.expect)(audioResource?.name).toBeDefined();
43
+ (0, vitest_1.expect)(typeof audioResource?.name).toBe('string');
44
+ (0, vitest_1.expect)(audioResource?.name.length).toBeGreaterThan(0);
45
+ (0, vitest_1.expect)(audioResource?.description).toBeDefined();
46
+ (0, vitest_1.expect)(typeof audioResource?.description).toBe('string');
47
+ });
48
+ (0, vitest_1.it)('deve usar cache na segunda chamada', () => {
49
+ vitest_1.vi.clearAllMocks();
50
+ const firstCall = (0, resources_1.scanDocuments)();
51
+ const callCount1 = vitest_1.vi.mocked(fileLoader_1.findAllMarkdownFiles).mock.calls.length;
52
+ const secondCall = (0, resources_1.scanDocuments)();
53
+ const callCount2 = vitest_1.vi.mocked(fileLoader_1.findAllMarkdownFiles).mock.calls.length;
54
+ // Segunda chamada não deve aumentar o número de chamadas (usa cache)
55
+ (0, vitest_1.expect)(callCount2).toBe(callCount1);
56
+ (0, vitest_1.expect)(firstCall).toBe(secondCall); // Mesma referência (cache)
57
+ });
58
+ (0, vitest_1.it)('deve criar URIs corretas', () => {
59
+ const resources = (0, resources_1.scanDocuments)();
60
+ resources.forEach(resource => {
61
+ (0, vitest_1.expect)(resource.uri).toMatch(/^whatsapp-docs:\/\/docs\//);
62
+ (0, vitest_1.expect)(resource.uri).not.toContain('\\'); // Sem barras invertidas
63
+ });
64
+ });
65
+ });
66
+ (0, vitest_1.describe)('listResources', () => {
67
+ (0, vitest_1.it)('deve retornar lista de recursos', async () => {
68
+ const resources = await (0, resources_1.listResources)();
69
+ (0, vitest_1.expect)(Array.isArray(resources)).toBe(true);
70
+ (0, vitest_1.expect)(resources.length).toBeGreaterThan(0);
71
+ });
72
+ });
73
+ (0, vitest_1.describe)('readResource', () => {
74
+ (0, vitest_1.beforeEach)(() => {
75
+ vitest_1.vi.clearAllMocks();
76
+ });
77
+ (0, vitest_1.it)('deve ler conteúdo de recurso válido', async () => {
78
+ const uri = 'whatsapp-docs://docs/mensagens/tipos_de_mensagens/audio_messages.md';
79
+ const content = await (0, resources_1.readResource)(uri);
80
+ // Verifica comportamento: retorna conteúdo válido
81
+ (0, vitest_1.expect)(content).toBeDefined();
82
+ (0, vitest_1.expect)(typeof content).toBe('string');
83
+ (0, vitest_1.expect)(content.length).toBeGreaterThan(0);
84
+ (0, vitest_1.expect)(fileLoader_1.loadMarkdownFile).toHaveBeenCalled();
85
+ });
86
+ (0, vitest_1.it)('deve lançar erro para URI inválida', async () => {
87
+ const invalidUri = 'invalid://path/to/file.md';
88
+ await (0, vitest_1.expect)((0, resources_1.readResource)(invalidUri)).rejects.toThrow('Invalid URI format');
89
+ });
90
+ (0, vitest_1.it)('deve validar que caminho está dentro de docs/', async () => {
91
+ // Mock para simular path traversal
92
+ vitest_1.vi.mocked(fileLoader_1.getDocsPath).mockReturnValueOnce('/mock/docs');
93
+ const maliciousUri = 'whatsapp-docs://docs/../../../etc/passwd';
94
+ await (0, vitest_1.expect)((0, resources_1.readResource)(maliciousUri)).rejects.toThrow('Invalid path');
95
+ });
96
+ (0, vitest_1.it)('deve lançar erro quando arquivo não existe', async () => {
97
+ vitest_1.vi.mocked(fileLoader_1.loadMarkdownFile).mockImplementation(() => {
98
+ throw new Error('File not found');
99
+ });
100
+ const uri = 'whatsapp-docs://docs/nonexistent.md';
101
+ await (0, vitest_1.expect)((0, resources_1.readResource)(uri)).rejects.toThrow('Failed to read resource');
102
+ });
103
+ });
104
+ //# sourceMappingURL=resources.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.test.js","sourceRoot":"","sources":["../src/resources.test.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,4 +1,41 @@
1
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { SearchResult } from './utils/search';
3
+ /**
4
+ * Busca textual em todos os documentos
5
+ */
6
+ export declare function searchDocumentation(query: string, section?: string): Promise<SearchResult[]>;
7
+ /**
8
+ * Obtém documento por caminho
9
+ */
10
+ export declare function getDocumentByPath(docPath: string): Promise<string>;
11
+ /**
12
+ * Lista seções da documentação
13
+ */
14
+ export declare function listDocumentationSections(filterSection?: string): Promise<{
15
+ sections: Array<{
16
+ name: string;
17
+ path: string;
18
+ documentCount: number;
19
+ }>;
20
+ }>;
21
+ /**
22
+ * Busca referência de endpoint
23
+ */
24
+ export declare function getEndpointReference(endpoint: string): Promise<string>;
25
+ /**
26
+ * Busca informações sobre código de erro
27
+ */
28
+ export declare function getErrorCodeInfo(errorCode: number): Promise<{
29
+ code: number;
30
+ message: string;
31
+ description: string;
32
+ solution: string;
33
+ relatedDocs: string[];
34
+ }>;
35
+ /**
36
+ * Obtém referência rápida para operação comum
37
+ */
38
+ export declare function getQuickReference(operation: string): Promise<string>;
2
39
  /**
3
40
  * Registra handlers de ferramentas no servidor MCP
4
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA4MnE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAoMzD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAKL,YAAY,EACb,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAoClG;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/E,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC,CAyBD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B5E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC,CA2BD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAoMzD"}
package/dist/tools.js CHANGED
@@ -33,6 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.searchDocumentation = searchDocumentation;
37
+ exports.getDocumentByPath = getDocumentByPath;
38
+ exports.listDocumentationSections = listDocumentationSections;
39
+ exports.getEndpointReference = getEndpointReference;
40
+ exports.getErrorCodeInfo = getErrorCodeInfo;
41
+ exports.getQuickReference = getQuickReference;
36
42
  exports.registerToolHandlers = registerToolHandlers;
37
43
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
38
44
  const fileLoader_1 = require("./utils/fileLoader");
@@ -52,11 +58,12 @@ async function searchDocumentation(query, section) {
52
58
  const results = [];
53
59
  for (const filePath of markdownFiles) {
54
60
  const content = (0, fileLoader_1.loadMarkdownFile)(filePath);
55
- if ((0, search_1.searchInContent)(content, query)) {
56
- const relativePath = path.relative(docsPath, filePath).replace(/\\/g, '/');
61
+ const relativePath = path.relative(docsPath, filePath).replace(/\\/g, '/');
62
+ // Passa filePath para busca melhorada
63
+ if ((0, search_1.searchInContent)(content, query, relativePath)) {
57
64
  const title = (0, search_1.extractTitle)(content, relativePath);
58
65
  const excerpt = (0, search_1.extractExcerpt)(content, query);
59
- const relevance = (0, search_1.calculateRelevance)(content, query);
66
+ const relevance = (0, search_1.calculateRelevance)(content, query, relativePath);
60
67
  results.push({
61
68
  path: relativePath,
62
69
  title,
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,kDAoCC;AAKD,8CAUC;AAKD,8DA2BC;AAKD,oDA2BC;AAKD,4CAiCC;AAKD,8CA6BC;AAKD,oDAoMC;AAnZD,iEAAmG;AACnG,mDAAyF;AACzF,2CAMwB;AACxB,2CAA6B;AAC7B,uCAAyB;AAEzB;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAgB;IACvE,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,IAAI,aAAa,GAAG,IAAA,iCAAoB,EAAC,QAAQ,CAAC,CAAC;IAEnD,mCAAmC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE3E,sCAAsC;QACtC,IAAI,IAAA,wBAAe,EAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAA,2BAAkB,EAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YAEnE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK;gBACL,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;AACxD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9C,mBAAmB;IACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,yBAAyB,CAAC,aAAsB;IAGpE,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAA,iCAAoB,EAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;QACJ,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,kCAAkC;IAClC,MAAM,aAAa,GAAG,IAAA,iCAAoB,EAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEhD,uCAAuC;QACvC,IACE,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9C,iBAAiB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,EAAE,CAAC;YACpD,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EACvE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAOtD,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAExE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,cAAc,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAErC,uCAAuC;IACvC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,YAAY,OAAO,4BAA4B,EAAE,IAAI,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,6BAA6B;IAC7B,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe;QACpC,WAAW,EAAE,cAAc,SAAS,6BAA6B;QACjE,QAAQ,EAAE,uEAAuE;QACjF,WAAW,EAAE,CAAC,wBAAwB,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE7C,qCAAqC;QACrC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,yBAAyB;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjD,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,yCAAyC;IACzC,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,sDAAsD;oBACnE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,gBAAgB;6BAC9B;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,yCAAyC;6BACvD;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;iBACF;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,oDAAoD;oBACjE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,wEAAwE;6BACtF;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,6BAA6B;oBACnC,WAAW,EAAE,kDAAkD;oBAC/D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0CAA0C;6BACxD;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EAAE,gDAAgD;oBAC7D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,4DAA4D;6BAC1E;yBACF;wBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;qBACvB;iBACF;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,mDAAmD;oBAChE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,yBAAyB;6BACvC;yBACF;wBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;qBACzB;iBACF;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,6CAA6C;oBAC1D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,qEAAqE;6BACnF;yBACF;wBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;qBACxB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,sBAAsB,CAAC,CAAC,CAAC;oBAC5B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;oBACpC,MAAM,OAAO,GAAG,IAAI,EAAE,OAA6B,CAAC;oBACpD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC1D,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;6BACvC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,EAAE,IAAc,CAAC;oBACrC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,OAAO;6BACd;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,6BAA6B,CAAC,CAAC,CAAC;oBACnC,MAAM,aAAa,GAAG,IAAI,EAAE,OAA6B,CAAC;oBAC1D,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,aAAa,CAAC,CAAC;oBAChE,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;6BACxC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;oBAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;oBAC1C,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACxD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,SAAS,GAAG,IAAI,EAAE,UAAoB,CAAC;oBAC7C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;6BACzC;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAmB,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,QAAQ;6BACf;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../src/tools.test.ts"],"names":[],"mappings":""}