@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,117 @@
1
+ /**
2
+ * Tipos compartilhados do deps-consult MCP.
3
+ * Todos os tipos são rigorosamente tipados -- NUNCA usar `any`.
4
+ */
5
+ export type SymbolKind = 'function' | 'class' | 'interface' | 'type' | 'enum' | 'variable' | 'constant';
6
+ export declare const SYMBOL_KINDS: readonly SymbolKind[];
7
+ export interface JSDocData {
8
+ description?: string;
9
+ params?: ReadonlyArray<{
10
+ name: string;
11
+ description: string;
12
+ type?: string;
13
+ }>;
14
+ returns?: string;
15
+ examples?: ReadonlyArray<string>;
16
+ since?: string;
17
+ deprecated?: string | true;
18
+ sees?: ReadonlyArray<string>;
19
+ throws?: ReadonlyArray<string>;
20
+ defaultValue?: string;
21
+ }
22
+ export interface ExtractedSymbol {
23
+ /** Nome do símbolo exportado */
24
+ name: string;
25
+ /** Tipo do símbolo (function, class, interface, etc.) */
26
+ kind: SymbolKind;
27
+ /** Assinatura completa em TypeScript */
28
+ signature: string;
29
+ /** Caminho do arquivo onde foi declarado */
30
+ file: string;
31
+ /** Linha no arquivo fonte (1-indexed) */
32
+ line: number;
33
+ /** Entry point (subpath) onde está disponível */
34
+ entrypoint: string;
35
+ /** JSDoc associado */
36
+ jsdoc?: JSDocData;
37
+ /** Se é um re-export de outro módulo */
38
+ isReExport: boolean;
39
+ /** Módulo original (se re-export) */
40
+ originalModule?: string;
41
+ }
42
+ export interface ResolvedEntrypoint {
43
+ /** Subpath (ex: ".", "./hooks", "./utils") */
44
+ subpath: string;
45
+ /** Caminho do arquivo JS resolvido */
46
+ jsPath?: string;
47
+ /** Caminho do arquivo de tipos (.d.ts) resolvido */
48
+ typesPath?: string;
49
+ /** Se tem tipos disponíveis */
50
+ hasTypes: boolean;
51
+ }
52
+ export interface ReadmeSection {
53
+ title: string;
54
+ content: string;
55
+ }
56
+ export interface ReadmeData {
57
+ /** Seção de descrição/overview */
58
+ description?: string;
59
+ /** Seções de uso/exemplos */
60
+ usageSections: ReadonlyArray<ReadmeSection>;
61
+ /** Exemplos de código extraídos */
62
+ codeBlocks: ReadonlyArray<{
63
+ code: string;
64
+ language?: string;
65
+ context?: string;
66
+ }>;
67
+ }
68
+ export interface PackageMeta {
69
+ /** Nome do pacote */
70
+ name: string;
71
+ /** Versão instalada */
72
+ version?: string;
73
+ /** Descrição */
74
+ description?: string;
75
+ /** Licença */
76
+ license?: string;
77
+ /** Entry points resolvidos */
78
+ entrypoints: ReadonlyArray<ResolvedEntrypoint>;
79
+ /** Dependências diretas */
80
+ dependencies?: Readonly<Record<string, string>>;
81
+ /** Peer dependencies */
82
+ peerDependencies?: Readonly<Record<string, string>>;
83
+ /** Se tem tipos disponíveis */
84
+ hasTypes: boolean;
85
+ /** Diretório raiz do pacote no node_modules */
86
+ packageDir: string;
87
+ /** Tamanho no disco (bytes) */
88
+ diskSize?: number;
89
+ /** Campo "files" do package.json */
90
+ includedFiles?: ReadonlyArray<string>;
91
+ /** Side effects */
92
+ sideEffects?: boolean | ReadonlyArray<string>;
93
+ }
94
+ export interface CachedPackage {
95
+ /** Metadados do pacote */
96
+ meta: PackageMeta;
97
+ /** Símbolos extraídos por entry point */
98
+ symbols: ReadonlyMap<string, ReadonlyArray<ExtractedSymbol>>;
99
+ /** README parseado */
100
+ readme: ReadmeData | null;
101
+ /** Timestamp da extração */
102
+ extractedAt: number;
103
+ /** Hash do package.json para invalidação */
104
+ packageJsonHash: string;
105
+ }
106
+ export interface ToolContext {
107
+ /** Diretório do projeto (onde está o node_modules) */
108
+ projectDir: string;
109
+ }
110
+ export interface SearchResult {
111
+ symbol: ExtractedSymbol;
112
+ /** Score de relevância (0-1) */
113
+ score: number;
114
+ /** Tipo de match */
115
+ matchType: 'exact' | 'prefix' | 'contains' | 'fuzzy';
116
+ }
117
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Tipos compartilhados do deps-consult MCP.
3
+ * Todos os tipos são rigorosamente tipados -- NUNCA usar `any`.
4
+ */
5
+ export const SYMBOL_KINDS = [
6
+ 'function',
7
+ 'class',
8
+ 'interface',
9
+ 'type',
10
+ 'enum',
11
+ 'variable',
12
+ 'constant',
13
+ ];
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,UAAU;IACV,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,UAAU;IACV,UAAU;CACF,CAAC"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@justmpm/deps-consult",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for querying installed npm packages in node_modules - extract API surfaces, types, documentation and usage examples",
5
+ "type": "module",
6
+ "main": "./build/index.js",
7
+ "bin": {
8
+ "deps-consult": "./build/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "start": "node build/index.js",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "lint": "eslint src",
17
+ "type-check": "tsc --noEmit"
18
+ },
19
+ "files": [
20
+ "build"
21
+ ],
22
+ "keywords": [
23
+ "mcp",
24
+ "node_modules",
25
+ "npm",
26
+ "typescript",
27
+ "api-documentation",
28
+ "package-explorer"
29
+ ],
30
+ "author": "Koda AI Studio",
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "@modelcontextprotocol/sdk": "^1.12.1",
34
+ "es-toolkit": "^1.40.0",
35
+ "lru-cache": "^11.1.0",
36
+ "resolve.exports": "^2.0.3",
37
+ "ts-morph": "^25.0.1",
38
+ "zod": "^4.0.5"
39
+ },
40
+ "devDependencies": {
41
+ "@types/node": "^24.0.10",
42
+ "typescript": "^5.9.2",
43
+ "vitest": "^4.1.2"
44
+ },
45
+ "engines": {
46
+ "node": ">=22.0.0"
47
+ }
48
+ }