@colbymchenry/codegraph 0.3.1 → 0.5.1

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 (126) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +681 -641
  3. package/dist/bin/codegraph.d.ts +7 -2
  4. package/dist/bin/codegraph.d.ts.map +1 -1
  5. package/dist/bin/codegraph.js +360 -140
  6. package/dist/bin/codegraph.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +43 -10
  9. package/dist/config.js.map +1 -1
  10. package/dist/context/index.d.ts +17 -4
  11. package/dist/context/index.d.ts.map +1 -1
  12. package/dist/context/index.js +182 -15
  13. package/dist/context/index.js.map +1 -1
  14. package/dist/db/index.d.ts.map +1 -1
  15. package/dist/db/index.js +21 -0
  16. package/dist/db/index.js.map +1 -1
  17. package/dist/db/migrations.d.ts +1 -1
  18. package/dist/db/migrations.d.ts.map +1 -1
  19. package/dist/db/migrations.js +19 -12
  20. package/dist/db/migrations.js.map +1 -1
  21. package/dist/db/queries.d.ts +32 -1
  22. package/dist/db/queries.d.ts.map +1 -1
  23. package/dist/db/queries.js +271 -118
  24. package/dist/db/queries.js.map +1 -1
  25. package/dist/db/schema.sql +163 -149
  26. package/dist/directory.d.ts +13 -1
  27. package/dist/directory.d.ts.map +1 -1
  28. package/dist/directory.js +85 -19
  29. package/dist/directory.js.map +1 -1
  30. package/dist/errors.d.ts +1 -1
  31. package/dist/errors.d.ts.map +1 -1
  32. package/dist/errors.js +7 -1
  33. package/dist/errors.js.map +1 -1
  34. package/dist/extraction/grammars.d.ts +9 -4
  35. package/dist/extraction/grammars.d.ts.map +1 -1
  36. package/dist/extraction/grammars.js +133 -65
  37. package/dist/extraction/grammars.js.map +1 -1
  38. package/dist/extraction/index.d.ts +6 -0
  39. package/dist/extraction/index.d.ts.map +1 -1
  40. package/dist/extraction/index.js +209 -44
  41. package/dist/extraction/index.js.map +1 -1
  42. package/dist/extraction/tree-sitter.d.ts +67 -0
  43. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  44. package/dist/extraction/tree-sitter.js +980 -38
  45. package/dist/extraction/tree-sitter.js.map +1 -1
  46. package/dist/graph/traversal.d.ts.map +1 -1
  47. package/dist/graph/traversal.js +6 -2
  48. package/dist/graph/traversal.js.map +1 -1
  49. package/dist/index.d.ts +6 -38
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +91 -73
  52. package/dist/index.js.map +1 -1
  53. package/dist/installer/banner.js +7 -7
  54. package/dist/installer/claude-md-template.js +32 -32
  55. package/dist/installer/config-writer.d.ts +9 -0
  56. package/dist/installer/config-writer.d.ts.map +1 -1
  57. package/dist/installer/config-writer.js +126 -17
  58. package/dist/installer/config-writer.js.map +1 -1
  59. package/dist/installer/index.d.ts.map +1 -1
  60. package/dist/installer/index.js +11 -9
  61. package/dist/installer/index.js.map +1 -1
  62. package/dist/mcp/index.d.ts +14 -3
  63. package/dist/mcp/index.d.ts.map +1 -1
  64. package/dist/mcp/index.js +109 -29
  65. package/dist/mcp/index.js.map +1 -1
  66. package/dist/mcp/tools.d.ts +66 -1
  67. package/dist/mcp/tools.d.ts.map +1 -1
  68. package/dist/mcp/tools.js +442 -49
  69. package/dist/mcp/tools.js.map +1 -1
  70. package/dist/mcp/transport.d.ts.map +1 -1
  71. package/dist/mcp/transport.js +2 -0
  72. package/dist/mcp/transport.js.map +1 -1
  73. package/dist/resolution/frameworks/index.d.ts +1 -0
  74. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  75. package/dist/resolution/frameworks/index.js +5 -1
  76. package/dist/resolution/frameworks/index.js.map +1 -1
  77. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  78. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  79. package/dist/resolution/frameworks/svelte.js +268 -0
  80. package/dist/resolution/frameworks/svelte.js.map +1 -0
  81. package/dist/resolution/import-resolver.d.ts.map +1 -1
  82. package/dist/resolution/import-resolver.js +3 -4
  83. package/dist/resolution/import-resolver.js.map +1 -1
  84. package/dist/resolution/index.d.ts +15 -2
  85. package/dist/resolution/index.d.ts.map +1 -1
  86. package/dist/resolution/index.js +153 -13
  87. package/dist/resolution/index.js.map +1 -1
  88. package/dist/resolution/name-matcher.d.ts.map +1 -1
  89. package/dist/resolution/name-matcher.js +7 -20
  90. package/dist/resolution/name-matcher.js.map +1 -1
  91. package/dist/resolution/types.d.ts +4 -0
  92. package/dist/resolution/types.d.ts.map +1 -1
  93. package/dist/search/query-utils.d.ts +25 -0
  94. package/dist/search/query-utils.d.ts.map +1 -0
  95. package/dist/search/query-utils.js +124 -0
  96. package/dist/search/query-utils.js.map +1 -0
  97. package/dist/sentry.d.ts +22 -0
  98. package/dist/sentry.d.ts.map +1 -0
  99. package/dist/sentry.js +159 -0
  100. package/dist/sentry.js.map +1 -0
  101. package/dist/sync/index.d.ts +4 -2
  102. package/dist/sync/index.d.ts.map +1 -1
  103. package/dist/sync/index.js +3 -5
  104. package/dist/sync/index.js.map +1 -1
  105. package/dist/types.d.ts +7 -1
  106. package/dist/types.d.ts.map +1 -1
  107. package/dist/types.js +13 -0
  108. package/dist/types.js.map +1 -1
  109. package/dist/utils.d.ts +89 -2
  110. package/dist/utils.d.ts.map +1 -1
  111. package/dist/utils.js +252 -3
  112. package/dist/utils.js.map +1 -1
  113. package/dist/vectors/embedder.d.ts +1 -1
  114. package/dist/vectors/embedder.d.ts.map +1 -1
  115. package/dist/vectors/embedder.js +2 -2
  116. package/dist/vectors/embedder.js.map +1 -1
  117. package/dist/vectors/search.d.ts.map +1 -1
  118. package/dist/vectors/search.js +33 -32
  119. package/dist/vectors/search.js.map +1 -1
  120. package/package.json +74 -67
  121. package/scripts/patch-tree-sitter-dart.js +112 -0
  122. package/scripts/postinstall.js +71 -68
  123. package/dist/sync/git-hooks.d.ts +0 -66
  124. package/dist/sync/git-hooks.d.ts.map +0 -1
  125. package/dist/sync/git-hooks.js +0 -281
  126. package/dist/sync/git-hooks.js.map +0 -1
@@ -37,14 +37,46 @@ export interface ToolResult {
37
37
  *
38
38
  * Designed for minimal context usage - use codegraph_context as the primary tool,
39
39
  * and only use other tools for targeted follow-up queries.
40
+ *
41
+ * All tools support cross-project queries via the optional `projectPath` parameter.
40
42
  */
41
43
  export declare const tools: ToolDefinition[];
42
44
  /**
43
45
  * Tool handler that executes tools against a CodeGraph instance
46
+ *
47
+ * Supports cross-project queries via the projectPath parameter.
48
+ * Other projects are opened on-demand and cached for performance.
44
49
  */
45
50
  export declare class ToolHandler {
46
51
  private cg;
47
- constructor(cg: CodeGraph);
52
+ private projectCache;
53
+ constructor(cg: CodeGraph | null);
54
+ /**
55
+ * Update the default CodeGraph instance (e.g. after lazy initialization)
56
+ */
57
+ setDefaultCodeGraph(cg: CodeGraph): void;
58
+ /**
59
+ * Whether a default CodeGraph instance is available
60
+ */
61
+ hasDefaultCodeGraph(): boolean;
62
+ /**
63
+ * Get CodeGraph instance for a project
64
+ *
65
+ * If projectPath is provided, opens that project's CodeGraph (cached).
66
+ * Otherwise returns the default CodeGraph instance.
67
+ *
68
+ * Walks up parent directories to find the nearest .codegraph/ folder,
69
+ * similar to how git finds .git/ directories.
70
+ */
71
+ private getCodeGraph;
72
+ /**
73
+ * Close all cached project connections
74
+ */
75
+ closeAll(): void;
76
+ /**
77
+ * Validate that a value is a non-empty string
78
+ */
79
+ private validateString;
48
80
  /**
49
81
  * Execute a tool by name
50
82
  */
@@ -81,6 +113,39 @@ export declare class ToolHandler {
81
113
  * Handle codegraph_status
82
114
  */
83
115
  private handleStatus;
116
+ /**
117
+ * Handle codegraph_files - get project file structure from the index
118
+ */
119
+ private handleFiles;
120
+ /**
121
+ * Convert glob pattern to regex
122
+ */
123
+ private globToRegex;
124
+ /**
125
+ * Format files as a flat list
126
+ */
127
+ private formatFilesFlat;
128
+ /**
129
+ * Format files grouped by language
130
+ */
131
+ private formatFilesGrouped;
132
+ /**
133
+ * Format files as a tree structure
134
+ */
135
+ private formatFilesTree;
136
+ /**
137
+ * Find a symbol by name, handling disambiguation when multiple matches exist.
138
+ * Returns the best match and a note about alternatives if any.
139
+ */
140
+ private findSymbol;
141
+ /**
142
+ * Maximum output length to prevent context bloat (characters)
143
+ */
144
+ private readonly MAX_OUTPUT_LENGTH;
145
+ /**
146
+ * Truncate output if it exceeds the maximum length
147
+ */
148
+ private truncateOutput;
84
149
  private formatSearchResults;
85
150
  private formatNodeList;
86
151
  private formatImpact;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAS,MAAM,UAAU,CAAC;AAGjC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,cAAc,EAqIjC,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,SAAS;IAEjC;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBnF;;OAEG;YACW,YAAY;IAkB1B;;OAEG;YACW,aAAa;IA0B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;YACW,aAAa;IAuB3B;;OAEG;YACW,aAAa;IAuB3B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,UAAU;IAsBxB;;OAEG;YACW,YAAY;IAkC1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAuC,MAAM,UAAU,CAAC;AAsB/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,cAAc,EA8KjC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,YAAY,CAAqC;gBAErC,EAAE,EAAE,SAAS,GAAG,IAAI;IAExC;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAOhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BnF;;OAEG;YACW,YAAY;IAsB1B;;OAEG;YACW,aAAa;IAmC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;YACW,aAAa;IAuB3B;;OAEG;YACW,aAAa;IAuB3B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;YACW,UAAU;IAuBxB;;OAEG;YACW,YAAY;IA+B1B;;OAEG;YACW,WAAW;IAgDzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4EvB;;;OAGG;IACH,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;CAMpB"}