@justmpm/deps-consult 1.0.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.
Files changed (57) hide show
  1. package/README.md +227 -0
  2. package/build/cache/package-cache.d.ts +39 -0
  3. package/build/cache/package-cache.d.ts.map +1 -0
  4. package/build/cache/package-cache.js +90 -0
  5. package/build/cache/package-cache.js.map +1 -0
  6. package/build/extractors/api-extractor.d.ts +6 -0
  7. package/build/extractors/api-extractor.d.ts.map +1 -0
  8. package/build/extractors/api-extractor.js +191 -0
  9. package/build/extractors/api-extractor.js.map +1 -0
  10. package/build/extractors/examples-extractor.d.ts +16 -0
  11. package/build/extractors/examples-extractor.d.ts.map +1 -0
  12. package/build/extractors/examples-extractor.js +224 -0
  13. package/build/extractors/examples-extractor.js.map +1 -0
  14. package/build/extractors/jsdoc-extractor.d.ts +11 -0
  15. package/build/extractors/jsdoc-extractor.d.ts.map +1 -0
  16. package/build/extractors/jsdoc-extractor.js +115 -0
  17. package/build/extractors/jsdoc-extractor.js.map +1 -0
  18. package/build/extractors/readme-extractor.d.ts +6 -0
  19. package/build/extractors/readme-extractor.d.ts.map +1 -0
  20. package/build/extractors/readme-extractor.js +138 -0
  21. package/build/extractors/readme-extractor.js.map +1 -0
  22. package/build/formatters/markdown-formatter.d.ts +12 -0
  23. package/build/formatters/markdown-formatter.d.ts.map +1 -0
  24. package/build/formatters/markdown-formatter.js +251 -0
  25. package/build/formatters/markdown-formatter.js.map +1 -0
  26. package/build/index.d.ts +12 -0
  27. package/build/index.d.ts.map +1 -0
  28. package/build/index.js +226 -0
  29. package/build/index.js.map +1 -0
  30. package/build/pipeline.d.ts +31 -0
  31. package/build/pipeline.d.ts.map +1 -0
  32. package/build/pipeline.js +203 -0
  33. package/build/pipeline.js.map +1 -0
  34. package/build/resolvers/exports-resolver.d.ts +12 -0
  35. package/build/resolvers/exports-resolver.d.ts.map +1 -0
  36. package/build/resolvers/exports-resolver.js +235 -0
  37. package/build/resolvers/exports-resolver.js.map +1 -0
  38. package/build/resolvers/package-resolver.d.ts +25 -0
  39. package/build/resolvers/package-resolver.d.ts.map +1 -0
  40. package/build/resolvers/package-resolver.js +189 -0
  41. package/build/resolvers/package-resolver.js.map +1 -0
  42. package/build/resolvers/types-resolver.d.ts +19 -0
  43. package/build/resolvers/types-resolver.d.ts.map +1 -0
  44. package/build/resolvers/types-resolver.js +155 -0
  45. package/build/resolvers/types-resolver.js.map +1 -0
  46. package/build/schemas/package-json.schema.d.ts +81 -0
  47. package/build/schemas/package-json.schema.d.ts.map +1 -0
  48. package/build/schemas/package-json.schema.js +91 -0
  49. package/build/schemas/package-json.schema.js.map +1 -0
  50. package/build/test.d.ts +6 -0
  51. package/build/test.d.ts.map +1 -0
  52. package/build/test.js.map +1 -0
  53. package/build/types/index.d.ts +117 -0
  54. package/build/types/index.d.ts.map +1 -0
  55. package/build/types/index.js +14 -0
  56. package/build/types/index.js.map +1 -0
  57. package/package.json +48 -0
@@ -0,0 +1,251 @@
1
+ // ─────────────────────────────────────────
2
+ // deps info
3
+ // ─────────────────────────────────────────
4
+ export function formatPackageInfo(meta) {
5
+ const lines = [];
6
+ lines.push(`# ${meta.name}${meta.version ? `@${meta.version}` : ''}`);
7
+ if (meta.description)
8
+ lines.push(`> ${meta.description}`);
9
+ lines.push('');
10
+ const infoLines = [];
11
+ if (meta.license)
12
+ infoLines.push(`- License: ${meta.license}`);
13
+ if (meta.hasTypes)
14
+ infoLines.push('- Types: Available');
15
+ else
16
+ infoLines.push('- Types: Not found');
17
+ if (meta.diskSize !== undefined) {
18
+ infoLines.push(`- Size: ${formatBytes(meta.diskSize)}`);
19
+ }
20
+ lines.push(infoLines.join('\n'));
21
+ lines.push('');
22
+ if (meta.entrypoints.length > 0) {
23
+ lines.push('## Entry Points');
24
+ for (const ep of meta.entrypoints) {
25
+ const hasTypes = ep.hasTypes ? ' (typed)' : '';
26
+ const subpath = ep.subpath === '.' ? 'main' : ep.subpath;
27
+ lines.push(`- \`${subpath}\`${hasTypes}`);
28
+ }
29
+ lines.push('');
30
+ }
31
+ if (meta.dependencies && Object.keys(meta.dependencies).length > 0) {
32
+ lines.push('## Dependencies');
33
+ const deps = Object.entries(meta.dependencies);
34
+ const shown = deps.slice(0, 20);
35
+ for (const [name, version] of shown) {
36
+ lines.push(`- ${name}: ${version}`);
37
+ }
38
+ if (deps.length > 20) {
39
+ lines.push(`- ... and ${deps.length - 20} more`);
40
+ }
41
+ lines.push('');
42
+ }
43
+ if (meta.peerDependencies && Object.keys(meta.peerDependencies).length > 0) {
44
+ lines.push('## Peer Dependencies');
45
+ for (const [name, version] of Object.entries(meta.peerDependencies)) {
46
+ lines.push(`- ${name}: ${version}`);
47
+ }
48
+ lines.push('');
49
+ }
50
+ return lines.join('\n');
51
+ }
52
+ // ─────────────────────────────────────────
53
+ // deps api
54
+ // ─────────────────────────────────────────
55
+ export function formatApiSurface(symbols, kind, limit) {
56
+ const lines = [];
57
+ const grouped = groupByKind(symbols);
58
+ if (kind === 'all') {
59
+ for (const [k, syms] of Object.entries(grouped)) {
60
+ lines.push(`## ${pluralize(k)} (${syms.length})`);
61
+ lines.push('');
62
+ const shown = syms.slice(0, limit);
63
+ for (const sym of shown) {
64
+ lines.push(formatSymbolCompact(sym));
65
+ }
66
+ if (syms.length > limit) {
67
+ lines.push(`... and ${syms.length - limit} more. Use \`limit\` param or \`deps search\` to find specific symbols.`);
68
+ }
69
+ lines.push('');
70
+ }
71
+ }
72
+ else {
73
+ const syms = grouped[kind] ?? [];
74
+ lines.push(`## ${pluralize(kind)} (${syms.length})`);
75
+ lines.push('');
76
+ const shown = syms.slice(0, limit);
77
+ for (const sym of shown) {
78
+ lines.push(formatSymbolCompact(sym));
79
+ }
80
+ if (syms.length > limit) {
81
+ lines.push(`... and ${syms.length - limit} more. Use \`limit\` param to see more.`);
82
+ }
83
+ lines.push('');
84
+ }
85
+ lines.push(`Total: ${symbols.length} exported symbols`);
86
+ return lines.join('\n');
87
+ }
88
+ // ─────────────────────────────────────────
89
+ // deps search
90
+ // ─────────────────────────────────────────
91
+ export function formatSearchResults(results) {
92
+ if (results.length === 0) {
93
+ return 'No symbols found matching your query.';
94
+ }
95
+ const lines = [];
96
+ lines.push(`Found ${results.length} symbols:\n`);
97
+ for (const result of results) {
98
+ const matchIndicator = result.matchType === 'exact' ? '(exact)' :
99
+ result.matchType === 'prefix' ? '(prefix)' :
100
+ result.matchType === 'contains' ? '(contains)' : '(fuzzy)';
101
+ lines.push(`### ${result.symbol.name} ${matchIndicator}`);
102
+ lines.push(`- Kind: \`${result.symbol.kind}\``);
103
+ lines.push(`- Signature: \`${result.symbol.signature}\``);
104
+ if (result.symbol.jsdoc?.description) {
105
+ lines.push(`- ${truncate(result.symbol.jsdoc.description, 150)}`);
106
+ }
107
+ lines.push(`- File: ${result.symbol.file}:${result.symbol.line}`);
108
+ lines.push('');
109
+ }
110
+ return lines.join('\n');
111
+ }
112
+ // ─────────────────────────────────────────
113
+ // deps usage
114
+ // ─────────────────────────────────────────
115
+ export function formatSymbolUsage(symbol, importPaths) {
116
+ const lines = [];
117
+ lines.push(`# ${symbol.name}`);
118
+ lines.push('');
119
+ lines.push('## Signature');
120
+ lines.push('```typescript');
121
+ lines.push(symbol.signature);
122
+ lines.push('```');
123
+ lines.push('');
124
+ lines.push(`- **Kind**: ${symbol.kind}`);
125
+ lines.push(`- **File**: ${symbol.file}:${symbol.line}`);
126
+ lines.push(`- **Entry point**: ${symbol.entrypoint}`);
127
+ lines.push('');
128
+ if (importPaths.length > 0) {
129
+ lines.push('## Import');
130
+ for (const path of importPaths) {
131
+ lines.push('```typescript');
132
+ lines.push(`import { ${symbol.name} } from '${path}';`);
133
+ lines.push('```');
134
+ }
135
+ lines.push('');
136
+ }
137
+ if (symbol.jsdoc) {
138
+ if (symbol.jsdoc.description) {
139
+ lines.push('## Description');
140
+ lines.push(symbol.jsdoc.description);
141
+ lines.push('');
142
+ }
143
+ if (symbol.jsdoc.params && symbol.jsdoc.params.length > 0) {
144
+ lines.push('## Parameters');
145
+ for (const param of symbol.jsdoc.params) {
146
+ const desc = param.description ? ` - ${param.description}` : '';
147
+ lines.push(`- \`${param.name}\`${desc}`);
148
+ }
149
+ lines.push('');
150
+ }
151
+ if (symbol.jsdoc.returns) {
152
+ lines.push('## Returns');
153
+ lines.push(symbol.jsdoc.returns);
154
+ lines.push('');
155
+ }
156
+ if (symbol.jsdoc.deprecated) {
157
+ const msg = typeof symbol.jsdoc.deprecated === 'string'
158
+ ? `: ${symbol.jsdoc.deprecated}`
159
+ : '';
160
+ lines.push(`> **DEPRECATED**${msg}`);
161
+ lines.push('');
162
+ }
163
+ if (symbol.jsdoc.throws && symbol.jsdoc.throws.length > 0) {
164
+ lines.push('## Throws');
165
+ for (const t of symbol.jsdoc.throws) {
166
+ lines.push(`- ${t}`);
167
+ }
168
+ lines.push('');
169
+ }
170
+ if (symbol.jsdoc.examples && symbol.jsdoc.examples.length > 0) {
171
+ lines.push('## Examples');
172
+ for (const example of symbol.jsdoc.examples) {
173
+ lines.push('```typescript');
174
+ lines.push(example);
175
+ lines.push('```');
176
+ lines.push('');
177
+ }
178
+ }
179
+ }
180
+ return lines.join('\n');
181
+ }
182
+ // ─────────────────────────────────────────
183
+ // deps examples
184
+ // ─────────────────────────────────────────
185
+ export function formatExamples(examples) {
186
+ if (examples.length === 0) {
187
+ return 'No examples found.';
188
+ }
189
+ const lines = [];
190
+ lines.push(`# Examples (${examples.length} found)\n`);
191
+ for (let i = 0; i < examples.length; i++) {
192
+ const ex = examples[i];
193
+ const lang = ex.language ?? '';
194
+ const context = ex.context ? ` (${ex.context})` : '';
195
+ const source = ex.source === 'jsdoc' ? 'JSDoc' :
196
+ ex.source === 'readme' ? 'README' :
197
+ ex.source === 'examples-dir' ? 'examples/' : 'docs/';
198
+ lines.push(`## Example ${i + 1}${context} [${source}]`);
199
+ lines.push(`\`\`\`${lang}`);
200
+ lines.push(ex.code);
201
+ lines.push('```\n');
202
+ }
203
+ return lines.join('\n');
204
+ }
205
+ // ─────────────────────────────────────────
206
+ // Helpers
207
+ // ─────────────────────────────────────────
208
+ function formatSymbolCompact(sym) {
209
+ const jsdocHint = sym.jsdoc?.description
210
+ ? ` // ${truncate(sym.jsdoc.description, 80)}`
211
+ : '';
212
+ const deprecated = sym.jsdoc?.deprecated ? ' [DEPRECATED]' : '';
213
+ return `- \`${sym.name}\` (\`${sym.kind}\`)${deprecated}${jsdocHint}`;
214
+ }
215
+ function groupByKind(symbols) {
216
+ const groups = {};
217
+ for (const sym of symbols) {
218
+ if (!groups[sym.kind])
219
+ groups[sym.kind] = [];
220
+ groups[sym.kind].push(sym);
221
+ }
222
+ for (const key of Object.keys(groups)) {
223
+ groups[key].sort((a, b) => a.name.localeCompare(b.name));
224
+ }
225
+ return groups;
226
+ }
227
+ function pluralize(kind) {
228
+ const map = {
229
+ function: 'Functions',
230
+ class: 'Classes',
231
+ interface: 'Interfaces',
232
+ type: 'Types',
233
+ enum: 'Enums',
234
+ variable: 'Variables',
235
+ constant: 'Constants',
236
+ };
237
+ return map[kind] ?? `${kind}s`;
238
+ }
239
+ function formatBytes(bytes) {
240
+ if (bytes < 1024)
241
+ return `${bytes} B`;
242
+ if (bytes < 1024 * 1024)
243
+ return `${(bytes / 1024).toFixed(1)} KB`;
244
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
245
+ }
246
+ function truncate(str, maxLength) {
247
+ if (str.length <= maxLength)
248
+ return str;
249
+ return str.substring(0, maxLength - 3) + '...';
250
+ }
251
+ //# sourceMappingURL=markdown-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-formatter.js","sourceRoot":"","sources":["../../src/formatters/markdown-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @justmpm/deps-consult -- MCP Server
4
+ *
5
+ * Consulta pacotes instalados no node_modules.
6
+ * Extrai API surfaces, tipos, documentação e exemplos de uso.
7
+ * Zero config, offline, funciona com qualquer pacote npm.
8
+ *
9
+ * Tools: deps_info, deps_api, deps_search, deps_usage, deps_examples
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
package/build/index.js ADDED
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @justmpm/deps-consult -- MCP Server
4
+ *
5
+ * Consulta pacotes instalados no node_modules.
6
+ * Extrai API surfaces, tipos, documentação e exemplos de uso.
7
+ * Zero config, offline, funciona com qualquer pacote npm.
8
+ *
9
+ * Tools: deps_info, deps_api, deps_search, deps_usage, deps_examples
10
+ */
11
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
13
+ import { resolve } from 'node:path';
14
+ import { DepsInfoInputSchema, DepsApiInputSchema, DepsSearchInputSchema, DepsUsageInputSchema, DepsExamplesInputSchema, } from './schemas/package-json.schema.js';
15
+ import { getOrExtractPackage, searchSymbols, findSymbol, getExamples, resolveImportPaths, } from './pipeline.js';
16
+ import { formatPackageInfo, formatApiSurface, formatSearchResults, formatSymbolUsage, formatExamples, } from './formatters/markdown-formatter.js';
17
+ // ─────────────────────────────────────────
18
+ // Helpers
19
+ // ─────────────────────────────────────────
20
+ /** Normaliza kind do usuario (plural) para SymbolKind (singular) */
21
+ const KIND_ALIASES = {
22
+ function: 'function',
23
+ functions: 'function',
24
+ class: 'class',
25
+ classes: 'class',
26
+ interface: 'interface',
27
+ interfaces: 'interface',
28
+ type: 'type',
29
+ types: 'type',
30
+ enum: 'enum',
31
+ enums: 'enum',
32
+ variable: 'variable',
33
+ variables: 'variable',
34
+ constant: 'constant',
35
+ constants: 'constant',
36
+ };
37
+ function normalizeKind(kind) {
38
+ return KIND_ALIASES[kind];
39
+ }
40
+ // ─────────────────────────────────────────
41
+ // MCP Server Setup
42
+ // ─────────────────────────────────────────
43
+ const server = new McpServer({
44
+ name: 'deps-consult',
45
+ version: '1.0.0',
46
+ });
47
+ // ─────────────────────────────────────────
48
+ // Tool: deps_info
49
+ // ─────────────────────────────────────────
50
+ server.tool('deps_info', 'Get overview of an installed npm package: version, description, entry points, dependencies, types availability, and disk size.', DepsInfoInputSchema, async ({ package: packageName, projectDir: rawProjectDir }) => {
51
+ try {
52
+ const projectDir = resolve(rawProjectDir ?? process.cwd());
53
+ const cached = await getOrExtractPackage(packageName, projectDir);
54
+ const output = formatPackageInfo(cached.meta);
55
+ return {
56
+ content: [{ type: 'text', text: output }],
57
+ };
58
+ }
59
+ catch (error) {
60
+ return {
61
+ content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
62
+ isError: true,
63
+ };
64
+ }
65
+ });
66
+ // ─────────────────────────────────────────
67
+ // Tool: deps_api
68
+ // ─────────────────────────────────────────
69
+ server.tool('deps_api', 'Get the full API surface of an installed package: all exported functions, classes, interfaces, types, enums and variables with signatures.', DepsApiInputSchema, async ({ package: packageName, entrypoint, kind, limit: rawLimit }) => {
70
+ try {
71
+ const projectDir = resolve(process.cwd());
72
+ const cached = await getOrExtractPackage(packageName, projectDir);
73
+ let symbols = [];
74
+ if (entrypoint) {
75
+ const normalized = entrypoint.startsWith('.') ? entrypoint : `./${entrypoint}`;
76
+ const epSymbols = cached.symbols.get(normalized);
77
+ if (epSymbols) {
78
+ symbols = [...epSymbols];
79
+ }
80
+ else {
81
+ for (const syms of cached.symbols.values()) {
82
+ symbols.push(...syms);
83
+ }
84
+ }
85
+ }
86
+ else {
87
+ const seen = new Set();
88
+ for (const syms of cached.symbols.values()) {
89
+ for (const sym of syms) {
90
+ if (!seen.has(sym.name)) {
91
+ seen.add(sym.name);
92
+ symbols.push(sym);
93
+ }
94
+ }
95
+ }
96
+ }
97
+ // Filtrar por kind
98
+ if (kind && kind !== 'all') {
99
+ const normalizedKind = normalizeKind(kind);
100
+ if (normalizedKind) {
101
+ symbols = symbols.filter(s => s.kind === normalizedKind);
102
+ }
103
+ }
104
+ const limit = rawLimit ?? 50;
105
+ const normalizedKindForFormat = kind && kind !== 'all' ? (normalizeKind(kind) ?? kind) : 'all';
106
+ const output = formatApiSurface(symbols, normalizedKindForFormat, limit);
107
+ return {
108
+ content: [{ type: 'text', text: output }],
109
+ };
110
+ }
111
+ catch (error) {
112
+ return {
113
+ content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
114
+ isError: true,
115
+ };
116
+ }
117
+ });
118
+ // ─────────────────────────────────────────
119
+ // Tool: deps_search
120
+ // ─────────────────────────────────────────
121
+ server.tool('deps_search', 'Search for symbols in an installed package by name. Supports exact match, prefix (*), suffix (*), contains (*) and fuzzy matching.', DepsSearchInputSchema, async ({ package: packageName, query, entrypoint, kind }) => {
122
+ try {
123
+ const projectDir = resolve(process.cwd());
124
+ const cached = await getOrExtractPackage(packageName, projectDir);
125
+ const results = searchSymbols(cached, query, {
126
+ entrypoint,
127
+ kind: kind && kind !== 'all' ? normalizeKind(kind) : undefined,
128
+ });
129
+ const limited = results.slice(0, 30);
130
+ const output = formatSearchResults(limited);
131
+ return {
132
+ content: [{ type: 'text', text: output }],
133
+ };
134
+ }
135
+ catch (error) {
136
+ return {
137
+ content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
138
+ isError: true,
139
+ };
140
+ }
141
+ });
142
+ // ─────────────────────────────────────────
143
+ // Tool: deps_usage
144
+ // ─────────────────────────────────────────
145
+ server.tool('deps_usage', 'Get detailed usage information for a specific symbol: full signature with types, JSDoc documentation, parameters, return type, examples, import paths, and related types.', DepsUsageInputSchema, async ({ package: packageName, symbol: symbolName, entrypoint }) => {
146
+ try {
147
+ const projectDir = resolve(process.cwd());
148
+ const cached = await getOrExtractPackage(packageName, projectDir);
149
+ const symbol = findSymbol(cached, symbolName, entrypoint);
150
+ if (!symbol) {
151
+ const results = searchSymbols(cached, symbolName, { entrypoint });
152
+ const best = results[0];
153
+ if (best && best.score > 0.5) {
154
+ const importPaths = resolveImportPaths(cached, best.symbol);
155
+ const output = formatSymbolUsage(best.symbol, importPaths);
156
+ return {
157
+ content: [{
158
+ type: 'text',
159
+ text: `Exact symbol '${symbolName}' not found. Showing best match:\n\n${output}`,
160
+ }],
161
+ };
162
+ }
163
+ return {
164
+ content: [{
165
+ type: 'text',
166
+ text: `Symbol '${symbolName}' not found in '${packageName}'. Use deps_search to find the correct name.`,
167
+ }],
168
+ isError: true,
169
+ };
170
+ }
171
+ const importPaths = resolveImportPaths(cached, symbol);
172
+ const output = formatSymbolUsage(symbol, importPaths);
173
+ return {
174
+ content: [{ type: 'text', text: output }],
175
+ };
176
+ }
177
+ catch (error) {
178
+ return {
179
+ content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
180
+ isError: true,
181
+ };
182
+ }
183
+ });
184
+ // ─────────────────────────────────────────
185
+ // Tool: deps_examples
186
+ // ─────────────────────────────────────────
187
+ server.tool('deps_examples', 'Extract code examples from an installed package: JSDoc @example tags, /examples directory files, README code blocks, and /docs content.', DepsExamplesInputSchema, async ({ package: packageName, symbol: symbolName }) => {
188
+ try {
189
+ const projectDir = resolve(process.cwd());
190
+ const cached = await getOrExtractPackage(packageName, projectDir);
191
+ const examples = await getExamples(cached, symbolName);
192
+ if (examples.length === 0) {
193
+ return {
194
+ content: [{
195
+ type: 'text',
196
+ text: symbolName
197
+ ? `No examples found for '${symbolName}' in '${packageName}'.`
198
+ : `No examples found in '${packageName}'.`,
199
+ }],
200
+ };
201
+ }
202
+ const output = formatExamples(examples);
203
+ return {
204
+ content: [{ type: 'text', text: output }],
205
+ };
206
+ }
207
+ catch (error) {
208
+ return {
209
+ content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
210
+ isError: true,
211
+ };
212
+ }
213
+ });
214
+ // ─────────────────────────────────────────
215
+ // Start
216
+ // ─────────────────────────────────────────
217
+ async function main() {
218
+ const transport = new StdioServerTransport();
219
+ await server.connect(transport);
220
+ console.error('[deps-consult] MCP server started (stdio)');
221
+ }
222
+ main().catch((error) => {
223
+ console.error('[deps-consult] Fatal error:', error);
224
+ process.exit(1);
225
+ });
226
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Pipeline de orquestração: conecta resolvers, extractors e cache.
3
+ * Uma função por tool que faz todo o fluxo end-to-end.
4
+ */
5
+ import type { CachedPackage, ExtractedSymbol, SearchResult } from './types/index.js';
6
+ import type { CodeExample } from './extractors/examples-extractor.js';
7
+ /**
8
+ * Extrai e cacheia o pacote completo.
9
+ * Este é o ponto de entrada para todas as tools.
10
+ */
11
+ export declare function getOrExtractPackage(packageName: string, projectDir: string): Promise<CachedPackage>;
12
+ /**
13
+ * Busca símbolos em um pacote com scoring.
14
+ */
15
+ export declare function searchSymbols(cached: CachedPackage, query: string, options?: {
16
+ entrypoint?: string;
17
+ kind?: string;
18
+ }): SearchResult[];
19
+ /**
20
+ * Encontra um símbolo exato pelo nome.
21
+ */
22
+ export declare function findSymbol(cached: CachedPackage, symbolName: string, entrypoint?: string): ExtractedSymbol | undefined;
23
+ /**
24
+ * Extrai exemplos para um pacote/símbolo.
25
+ */
26
+ export declare function getExamples(cached: CachedPackage, symbolName?: string): Promise<ReadonlyArray<CodeExample>>;
27
+ /**
28
+ * Resolve os import paths possíveis para um símbolo.
29
+ */
30
+ export declare function resolveImportPaths(cached: CachedPackage, symbol: ExtractedSymbol): string[];
31
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAEf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAStE;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CA6DxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,YAAY,EAAE,CAmEhB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,GAAG,SAAS,CAG7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAQrC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,eAAe,GACtB,MAAM,EAAE,CAyBV"}