src-mcp 1.0.1 → 1.0.3

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 (250) hide show
  1. package/README.md +8 -18
  2. package/dist/bin.d.mts +1 -0
  3. package/dist/bin.mjs +205 -0
  4. package/dist/bin.mjs.map +1 -0
  5. package/dist/index.d.mts +1 -0
  6. package/dist/index.mjs +8 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/server-DL8hfycz.mjs +3791 -0
  9. package/dist/server-DL8hfycz.mjs.map +1 -0
  10. package/package.json +10 -9
  11. package/dist/bin.d.ts +0 -3
  12. package/dist/bin.d.ts.map +0 -1
  13. package/dist/bin.js +0 -4
  14. package/dist/bin.js.map +0 -1
  15. package/dist/cli/adapter.d.ts +0 -7
  16. package/dist/cli/adapter.d.ts.map +0 -1
  17. package/dist/cli/adapter.js +0 -39
  18. package/dist/cli/adapter.js.map +0 -1
  19. package/dist/cli/commands/index.d.ts +0 -24
  20. package/dist/cli/commands/index.d.ts.map +0 -1
  21. package/dist/cli/commands/index.js +0 -13
  22. package/dist/cli/commands/index.js.map +0 -1
  23. package/dist/cli/commands/serve.command.d.ts +0 -21
  24. package/dist/cli/commands/serve.command.d.ts.map +0 -1
  25. package/dist/cli/commands/serve.command.js +0 -62
  26. package/dist/cli/commands/serve.command.js.map +0 -1
  27. package/dist/cli/commands/version.command.d.ts +0 -2
  28. package/dist/cli/commands/version.command.d.ts.map +0 -1
  29. package/dist/cli/commands/version.command.js +0 -12
  30. package/dist/cli/commands/version.command.js.map +0 -1
  31. package/dist/cli/index.d.ts +0 -2
  32. package/dist/cli/index.d.ts.map +0 -1
  33. package/dist/cli/index.js +0 -15
  34. package/dist/cli/index.js.map +0 -1
  35. package/dist/cli/parser.d.ts +0 -7
  36. package/dist/cli/parser.d.ts.map +0 -1
  37. package/dist/cli/parser.js +0 -99
  38. package/dist/cli/parser.js.map +0 -1
  39. package/dist/config/index.d.ts +0 -24
  40. package/dist/config/index.d.ts.map +0 -1
  41. package/dist/config/index.js +0 -38
  42. package/dist/config/index.js.map +0 -1
  43. package/dist/core/ast/index.d.ts +0 -82
  44. package/dist/core/ast/index.d.ts.map +0 -1
  45. package/dist/core/ast/index.js +0 -204
  46. package/dist/core/ast/index.js.map +0 -1
  47. package/dist/core/ast/types.d.ts +0 -152
  48. package/dist/core/ast/types.d.ts.map +0 -1
  49. package/dist/core/ast/types.js +0 -5
  50. package/dist/core/ast/types.js.map +0 -1
  51. package/dist/core/constants.d.ts +0 -17
  52. package/dist/core/constants.d.ts.map +0 -1
  53. package/dist/core/constants.js +0 -49
  54. package/dist/core/constants.js.map +0 -1
  55. package/dist/core/embeddings/callgraph.d.ts +0 -98
  56. package/dist/core/embeddings/callgraph.d.ts.map +0 -1
  57. package/dist/core/embeddings/callgraph.js +0 -415
  58. package/dist/core/embeddings/callgraph.js.map +0 -1
  59. package/dist/core/embeddings/chunker.d.ts +0 -37
  60. package/dist/core/embeddings/chunker.d.ts.map +0 -1
  61. package/dist/core/embeddings/chunker.js +0 -298
  62. package/dist/core/embeddings/chunker.js.map +0 -1
  63. package/dist/core/embeddings/client.d.ts +0 -30
  64. package/dist/core/embeddings/client.d.ts.map +0 -1
  65. package/dist/core/embeddings/client.js +0 -65
  66. package/dist/core/embeddings/client.js.map +0 -1
  67. package/dist/core/embeddings/crossfile.d.ts +0 -58
  68. package/dist/core/embeddings/crossfile.d.ts.map +0 -1
  69. package/dist/core/embeddings/crossfile.js +0 -202
  70. package/dist/core/embeddings/crossfile.js.map +0 -1
  71. package/dist/core/embeddings/enricher.d.ts +0 -53
  72. package/dist/core/embeddings/enricher.d.ts.map +0 -1
  73. package/dist/core/embeddings/enricher.js +0 -308
  74. package/dist/core/embeddings/enricher.js.map +0 -1
  75. package/dist/core/embeddings/index.d.ts +0 -13
  76. package/dist/core/embeddings/index.d.ts.map +0 -1
  77. package/dist/core/embeddings/index.js +0 -20
  78. package/dist/core/embeddings/index.js.map +0 -1
  79. package/dist/core/embeddings/reranker.d.ts +0 -41
  80. package/dist/core/embeddings/reranker.d.ts.map +0 -1
  81. package/dist/core/embeddings/reranker.js +0 -117
  82. package/dist/core/embeddings/reranker.js.map +0 -1
  83. package/dist/core/embeddings/store.d.ts +0 -93
  84. package/dist/core/embeddings/store.d.ts.map +0 -1
  85. package/dist/core/embeddings/store.js +0 -304
  86. package/dist/core/embeddings/store.js.map +0 -1
  87. package/dist/core/embeddings/types.d.ts +0 -77
  88. package/dist/core/embeddings/types.d.ts.map +0 -1
  89. package/dist/core/embeddings/types.js +0 -5
  90. package/dist/core/embeddings/types.js.map +0 -1
  91. package/dist/core/embeddings/watcher.d.ts +0 -130
  92. package/dist/core/embeddings/watcher.d.ts.map +0 -1
  93. package/dist/core/embeddings/watcher.js +0 -448
  94. package/dist/core/embeddings/watcher.js.map +0 -1
  95. package/dist/core/fallback/index.d.ts +0 -26
  96. package/dist/core/fallback/index.d.ts.map +0 -1
  97. package/dist/core/fallback/index.js +0 -76
  98. package/dist/core/fallback/index.js.map +0 -1
  99. package/dist/core/parser/index.d.ts +0 -64
  100. package/dist/core/parser/index.d.ts.map +0 -1
  101. package/dist/core/parser/index.js +0 -205
  102. package/dist/core/parser/index.js.map +0 -1
  103. package/dist/core/parser/languages.d.ts +0 -26
  104. package/dist/core/parser/languages.d.ts.map +0 -1
  105. package/dist/core/parser/languages.js +0 -101
  106. package/dist/core/parser/languages.js.map +0 -1
  107. package/dist/core/queries/helpers.d.ts +0 -72
  108. package/dist/core/queries/helpers.d.ts.map +0 -1
  109. package/dist/core/queries/helpers.js +0 -101
  110. package/dist/core/queries/helpers.js.map +0 -1
  111. package/dist/core/queries/index.d.ts +0 -144
  112. package/dist/core/queries/index.d.ts.map +0 -1
  113. package/dist/core/queries/index.js +0 -396
  114. package/dist/core/queries/index.js.map +0 -1
  115. package/dist/core/queries/loader.d.ts +0 -46
  116. package/dist/core/queries/loader.d.ts.map +0 -1
  117. package/dist/core/queries/loader.js +0 -216
  118. package/dist/core/queries/loader.js.map +0 -1
  119. package/dist/core/queries/patterns.d.ts +0 -10
  120. package/dist/core/queries/patterns.d.ts.map +0 -1
  121. package/dist/core/queries/patterns.js +0 -112
  122. package/dist/core/queries/patterns.js.map +0 -1
  123. package/dist/core/symbols/index.d.ts +0 -70
  124. package/dist/core/symbols/index.d.ts.map +0 -1
  125. package/dist/core/symbols/index.js +0 -359
  126. package/dist/core/symbols/index.js.map +0 -1
  127. package/dist/core/unified/index.d.ts +0 -118
  128. package/dist/core/unified/index.d.ts.map +0 -1
  129. package/dist/core/unified/index.js +0 -428
  130. package/dist/core/unified/index.js.map +0 -1
  131. package/dist/core/utils/assets.d.ts +0 -34
  132. package/dist/core/utils/assets.d.ts.map +0 -1
  133. package/dist/core/utils/assets.js +0 -85
  134. package/dist/core/utils/assets.js.map +0 -1
  135. package/dist/core/utils/cache.d.ts +0 -43
  136. package/dist/core/utils/cache.d.ts.map +0 -1
  137. package/dist/core/utils/cache.js +0 -60
  138. package/dist/core/utils/cache.js.map +0 -1
  139. package/dist/core/utils/index.d.ts +0 -7
  140. package/dist/core/utils/index.d.ts.map +0 -1
  141. package/dist/core/utils/index.js +0 -10
  142. package/dist/core/utils/index.js.map +0 -1
  143. package/dist/core/utils/tsconfig.d.ts +0 -34
  144. package/dist/core/utils/tsconfig.d.ts.map +0 -1
  145. package/dist/core/utils/tsconfig.js +0 -173
  146. package/dist/core/utils/tsconfig.js.map +0 -1
  147. package/dist/features/analyze-file/index.d.ts +0 -15
  148. package/dist/features/analyze-file/index.d.ts.map +0 -1
  149. package/dist/features/analyze-file/index.js +0 -164
  150. package/dist/features/analyze-file/index.js.map +0 -1
  151. package/dist/features/get-call-graph/index.d.ts +0 -24
  152. package/dist/features/get-call-graph/index.d.ts.map +0 -1
  153. package/dist/features/get-call-graph/index.js +0 -246
  154. package/dist/features/get-call-graph/index.js.map +0 -1
  155. package/dist/features/get-index-status/index.d.ts +0 -20
  156. package/dist/features/get-index-status/index.d.ts.map +0 -1
  157. package/dist/features/get-index-status/index.js +0 -90
  158. package/dist/features/get-index-status/index.js.map +0 -1
  159. package/dist/features/index-codebase/index.d.ts +0 -24
  160. package/dist/features/index-codebase/index.d.ts.map +0 -1
  161. package/dist/features/index-codebase/index.js +0 -283
  162. package/dist/features/index-codebase/index.js.map +0 -1
  163. package/dist/features/index.d.ts +0 -15
  164. package/dist/features/index.d.ts.map +0 -1
  165. package/dist/features/index.js +0 -28
  166. package/dist/features/index.js.map +0 -1
  167. package/dist/features/info/index.d.ts +0 -19
  168. package/dist/features/info/index.d.ts.map +0 -1
  169. package/dist/features/info/index.js +0 -41
  170. package/dist/features/info/index.js.map +0 -1
  171. package/dist/features/list-symbols/index.d.ts +0 -22
  172. package/dist/features/list-symbols/index.d.ts.map +0 -1
  173. package/dist/features/list-symbols/index.js +0 -74
  174. package/dist/features/list-symbols/index.js.map +0 -1
  175. package/dist/features/parse-ast/index.d.ts +0 -12
  176. package/dist/features/parse-ast/index.d.ts.map +0 -1
  177. package/dist/features/parse-ast/index.js +0 -71
  178. package/dist/features/parse-ast/index.js.map +0 -1
  179. package/dist/features/query-code/index.d.ts +0 -23
  180. package/dist/features/query-code/index.d.ts.map +0 -1
  181. package/dist/features/query-code/index.js +0 -96
  182. package/dist/features/query-code/index.js.map +0 -1
  183. package/dist/features/search-code/index.d.ts +0 -39
  184. package/dist/features/search-code/index.d.ts.map +0 -1
  185. package/dist/features/search-code/index.js +0 -258
  186. package/dist/features/search-code/index.js.map +0 -1
  187. package/dist/features/types.d.ts +0 -14
  188. package/dist/features/types.d.ts.map +0 -1
  189. package/dist/features/types.js +0 -2
  190. package/dist/features/types.js.map +0 -1
  191. package/dist/features/update-index/index.d.ts +0 -24
  192. package/dist/features/update-index/index.d.ts.map +0 -1
  193. package/dist/features/update-index/index.js +0 -358
  194. package/dist/features/update-index/index.js.map +0 -1
  195. package/dist/features/utils/content.d.ts +0 -30
  196. package/dist/features/utils/content.d.ts.map +0 -1
  197. package/dist/features/utils/content.js +0 -49
  198. package/dist/features/utils/content.js.map +0 -1
  199. package/dist/features/utils/index.d.ts +0 -6
  200. package/dist/features/utils/index.d.ts.map +0 -1
  201. package/dist/features/utils/index.js +0 -8
  202. package/dist/features/utils/index.js.map +0 -1
  203. package/dist/features/utils/result.d.ts +0 -37
  204. package/dist/features/utils/result.d.ts.map +0 -1
  205. package/dist/features/utils/result.js +0 -53
  206. package/dist/features/utils/result.js.map +0 -1
  207. package/dist/index.d.ts +0 -2
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/index.js +0 -4
  210. package/dist/index.js.map +0 -1
  211. package/dist/prompts/index.d.ts +0 -9
  212. package/dist/prompts/index.d.ts.map +0 -1
  213. package/dist/prompts/index.js +0 -188
  214. package/dist/prompts/index.js.map +0 -1
  215. package/dist/resources/index.d.ts +0 -3
  216. package/dist/resources/index.d.ts.map +0 -1
  217. package/dist/resources/index.js +0 -17
  218. package/dist/resources/index.js.map +0 -1
  219. package/dist/server.d.ts +0 -4
  220. package/dist/server.d.ts.map +0 -1
  221. package/dist/server.js +0 -24
  222. package/dist/server.js.map +0 -1
  223. package/dist/tools/adapter.d.ts +0 -4
  224. package/dist/tools/adapter.d.ts.map +0 -1
  225. package/dist/tools/adapter.js +0 -28
  226. package/dist/tools/adapter.js.map +0 -1
  227. package/dist/tools/index.d.ts +0 -5
  228. package/dist/tools/index.d.ts.map +0 -1
  229. package/dist/tools/index.js +0 -9
  230. package/dist/tools/index.js.map +0 -1
  231. package/dist/types/index.d.ts +0 -20
  232. package/dist/types/index.d.ts.map +0 -1
  233. package/dist/types/index.js +0 -2
  234. package/dist/types/index.js.map +0 -1
  235. package/dist/utils/colors.d.ts +0 -24
  236. package/dist/utils/colors.d.ts.map +0 -1
  237. package/dist/utils/colors.js +0 -30
  238. package/dist/utils/colors.js.map +0 -1
  239. package/dist/utils/index.d.ts +0 -4
  240. package/dist/utils/index.d.ts.map +0 -1
  241. package/dist/utils/index.js +0 -4
  242. package/dist/utils/index.js.map +0 -1
  243. package/dist/utils/logger.d.ts +0 -8
  244. package/dist/utils/logger.d.ts.map +0 -1
  245. package/dist/utils/logger.js +0 -57
  246. package/dist/utils/logger.js.map +0 -1
  247. package/dist/utils/spinner.d.ts +0 -11
  248. package/dist/utils/spinner.d.ts.map +0 -1
  249. package/dist/utils/spinner.js +0 -36
  250. package/dist/utils/spinner.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/queries/loader.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Fallback SCM query patterns for languages without official tags.scm
3
- */
4
- export type QueryPreset = "functions" | "classes" | "imports" | "exports" | "comments" | "strings" | "variables" | "types";
5
- export declare const FALLBACK_PATTERNS: Record<string, Partial<Record<QueryPreset, string>>>;
6
- export declare function getQueryPattern(language: string, preset: QueryPreset): string | undefined;
7
- export declare function isPresetAvailable(language: string, preset: QueryPreset): boolean;
8
- export declare function getAvailablePresets(language: string, hasOfficialTagsFile?: boolean): QueryPreset[];
9
- export declare function getQuerySupportedLanguages(): string[];
10
- //# sourceMappingURL=patterns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/core/queries/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,OAAO,CAAC;AAiBZ,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAgErC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAET;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,UAAQ,GAC1B,WAAW,EAAE,CAqBf;AAED,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Fallback SCM query patterns for languages without official tags.scm
3
- */
4
- const GENERIC_PATTERNS = {
5
- comments: `[(comment) @comment]`,
6
- strings: `[(string) @string (template_string) @string]`,
7
- imports: `(import_statement) @import.statement`,
8
- exports: `(export_statement) @export.statement`,
9
- variables: `[
10
- (variable_declaration (variable_declarator name: (identifier) @variable.name) @variable.declaration)
11
- (lexical_declaration (variable_declarator name: (identifier) @variable.name) @variable.declaration)
12
- ]`,
13
- types: `[
14
- (type_alias_declaration name: (type_identifier) @type.alias) @type.definition
15
- (enum_declaration name: (identifier) @enum.name) @enum.definition
16
- ]`,
17
- };
18
- export const FALLBACK_PATTERNS = {
19
- typescript: {
20
- functions: `[
21
- (function_declaration name: (identifier) @function.name) @function.definition
22
- (method_definition name: (property_identifier) @function.name) @function.definition
23
- (lexical_declaration (variable_declarator name: (identifier) @function.name value: [(arrow_function) (function_expression)]) @function.definition)
24
- ]`,
25
- },
26
- json: { strings: `[(string) @string]` },
27
- yaml: {
28
- strings: `[(string_scalar) @string (double_quote_scalar) @string (single_quote_scalar) @string]`,
29
- comments: `[(comment) @comment]`,
30
- },
31
- toml: { strings: `[(string) @string]`, comments: `[(comment) @comment]` },
32
- bash: {
33
- functions: `(function_definition name: (word) @function.name) @function.definition`,
34
- comments: `[(comment) @comment]`,
35
- strings: `[(string) @string (raw_string) @string]`,
36
- variables: `(variable_assignment name: (variable_name) @variable.name) @variable.declaration`,
37
- },
38
- html: {
39
- strings: `[(attribute_value) @string (quoted_attribute_value) @string]`,
40
- comments: `[(comment) @comment]`,
41
- },
42
- css: {
43
- comments: `[(comment) @comment]`,
44
- strings: `[(string_value) @string]`,
45
- },
46
- scala: {
47
- functions: `(function_definition (identifier) @function.name) @function.definition`,
48
- classes: `[
49
- (class_definition (identifier) @class.name) @class.definition
50
- (object_definition (identifier) @class.name) @class.definition
51
- (trait_definition (identifier) @class.name) @class.definition
52
- ]`,
53
- comments: `[(comment) @comment]`,
54
- strings: `[(string) @string]`,
55
- },
56
- swift: {
57
- functions: `[
58
- (function_declaration (simple_identifier) @function.name) @function.definition
59
- (init_declaration) @function.definition
60
- ]`,
61
- classes: `[
62
- (class_declaration (type_identifier) @class.name) @class.definition
63
- (protocol_declaration (type_identifier) @class.name) @class.definition
64
- ]`,
65
- comments: `[(comment) @comment (multiline_comment) @comment]`,
66
- strings: `[(line_string_literal) @string]`,
67
- },
68
- ocaml: {
69
- functions: `(value_definition (let_binding (value_name) @function.name)) @function.definition`,
70
- classes: `[
71
- (type_definition (type_binding (type_constructor) @class.name)) @class.definition
72
- (module_definition (module_binding (module_name) @class.name)) @class.definition
73
- ]`,
74
- comments: `[(comment) @comment]`,
75
- strings: `[(string) @string]`,
76
- },
77
- svelte: {
78
- comments: `[(comment) @comment]`,
79
- strings: `[(attribute_value) @string (quoted_attribute_value) @string]`,
80
- },
81
- };
82
- export function getQueryPattern(language, preset) {
83
- return FALLBACK_PATTERNS[language]?.[preset] ?? GENERIC_PATTERNS[preset];
84
- }
85
- export function isPresetAvailable(language, preset) {
86
- return getQueryPattern(language, preset) !== undefined;
87
- }
88
- export function getAvailablePresets(language, hasOfficialTagsFile = false) {
89
- const presets = hasOfficialTagsFile
90
- ? ["functions", "classes"]
91
- : [];
92
- const allPresets = [
93
- "functions",
94
- "classes",
95
- "imports",
96
- "exports",
97
- "comments",
98
- "strings",
99
- "variables",
100
- "types",
101
- ];
102
- for (const preset of allPresets) {
103
- if (!presets.includes(preset) && isPresetAvailable(language, preset)) {
104
- presets.push(preset);
105
- }
106
- }
107
- return presets;
108
- }
109
- export function getQuerySupportedLanguages() {
110
- return Object.keys(FALLBACK_PATTERNS);
111
- }
112
- //# sourceMappingURL=patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/core/queries/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,gBAAgB,GAAyC;IAC7D,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,8CAA8C;IACvD,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,SAAS,EAAE;;;IAGT;IACF,KAAK,EAAE;;;IAGL;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,UAAU,EAAE;QACV,SAAS,EAAE;;;;MAIT;KACH;IACD,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;IACvC,IAAI,EAAE;QACJ,OAAO,EAAE,uFAAuF;QAChG,QAAQ,EAAE,sBAAsB;KACjC;IACD,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACzE,IAAI,EAAE;QACJ,SAAS,EAAE,wEAAwE;QACnF,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,yCAAyC;QAClD,SAAS,EAAE,kFAAkF;KAC9F;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,8DAA8D;QACvE,QAAQ,EAAE,sBAAsB;KACjC;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,0BAA0B;KACpC;IACD,KAAK,EAAE;QACL,SAAS,EAAE,wEAAwE;QACnF,OAAO,EAAE;;;;MAIP;QACF,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,oBAAoB;KAC9B;IACD,KAAK,EAAE;QACL,SAAS,EAAE;;;MAGT;QACF,OAAO,EAAE;;;MAGP;QACF,QAAQ,EAAE,mDAAmD;QAC7D,OAAO,EAAE,iCAAiC;KAC3C;IACD,KAAK,EAAE;QACL,SAAS,EAAE,mFAAmF;QAC9F,OAAO,EAAE;;;MAGP;QACF,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,oBAAoB;KAC9B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,8DAA8D;KACxE;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,MAAmB;IAEnB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,MAAmB;IAEnB,OAAO,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,mBAAmB,GAAG,KAAK;IAE3B,MAAM,OAAO,GAAkB,mBAAmB;QAChD,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAkB;QAChC,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,OAAO;KACR,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Symbol extraction from parsed code
3
- */
4
- import type { Language, Tree } from "web-tree-sitter";
5
- import type { Export, Import, Symbol, SymbolType } from "@core/ast/types";
6
- /**
7
- * Symbol filter options
8
- */
9
- export interface SymbolFilter {
10
- /** Include only specific types */
11
- types?: SymbolType[];
12
- /** Exclude specific types */
13
- excludeTypes?: SymbolType[];
14
- /** Include only exported symbols */
15
- exportedOnly?: boolean;
16
- }
17
- /**
18
- * Symbol extraction result
19
- */
20
- export interface SymbolsResult {
21
- /** Extracted symbols */
22
- symbols: Symbol[];
23
- /** Summary counts */
24
- summary: {
25
- functions: number;
26
- classes: number;
27
- variables: number;
28
- constants: number;
29
- interfaces: number;
30
- types: number;
31
- enums: number;
32
- methods: number;
33
- properties: number;
34
- total: number;
35
- };
36
- }
37
- /**
38
- * Extract symbols from parsed code
39
- */
40
- export declare function extractSymbols(tree: Tree, languageInstance: Language, language: string, filter?: SymbolFilter): SymbolsResult;
41
- /**
42
- * Extract imports from parsed code
43
- */
44
- export declare function extractImports(tree: Tree, languageInstance: Language, language: string): Import[];
45
- /**
46
- * Extract exports from parsed code
47
- */
48
- export declare function extractExports(tree: Tree, languageInstance: Language, language: string): Export[];
49
- /**
50
- * Get symbols by type
51
- */
52
- export declare function getSymbolsByType(symbols: Symbol[], type: SymbolType): Symbol[];
53
- /**
54
- * Find symbol by name
55
- */
56
- export declare function findSymbolByName(symbols: Symbol[], name: string): Symbol | undefined;
57
- /**
58
- * Get symbol at position
59
- */
60
- export declare function getSymbolAtPosition(symbols: Symbol[], line: number, column: number): Symbol | undefined;
61
- /**
62
- * Extract all code information
63
- */
64
- export interface CodeInfo {
65
- symbols: SymbolsResult;
66
- imports: Import[];
67
- exports: Export[];
68
- }
69
- export declare function extractCodeInfo(tree: Tree, languageInstance: Language, language: string, filter?: SymbolFilter): CodeInfo;
70
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/symbols/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EAEN,MAAM,EACN,UAAU,EACX,MAAM,iBAAiB,CAAC;AAUzB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB;IACrB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,YAAiB,GACxB,aAAa,CAkNf;AAkFD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CA6DV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAwDV;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,UAAU,GACf,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAEpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CASpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,QAAQ,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,YAAiB,GACxB,QAAQ,CAMV"}
@@ -1,359 +0,0 @@
1
- import { createOffsetTracker, executePresetQuery, findCapture, findCaptureByNames, getClassName, getFunctionName, } from "@core/queries";
2
- /**
3
- * Extract symbols from parsed code
4
- */
5
- export function extractSymbols(tree, languageInstance, language, filter = {}) {
6
- const symbols = [];
7
- const { types, excludeTypes } = filter;
8
- const shouldInclude = (type) => {
9
- if (types && !types.includes(type)) {
10
- return false;
11
- }
12
- if (excludeTypes?.includes(type)) {
13
- return false;
14
- }
15
- return true;
16
- };
17
- // Extract functions and classes using official tags.scm when available
18
- if (shouldInclude("function") ||
19
- shouldInclude("method") ||
20
- shouldInclude("class") ||
21
- shouldInclude("interface")) {
22
- const tagsResult = executePresetQuery(tree, languageInstance, language, "functions");
23
- // Process function definitions
24
- if (shouldInclude("function") || shouldInclude("method")) {
25
- for (const match of tagsResult.matches) {
26
- const defCapture = findCapture(match.captures, "function.definition");
27
- const nameCapture = findCapture(match.captures, "function.name");
28
- if (defCapture) {
29
- const name = nameCapture?.node.text ?? getFunctionName(defCapture.node);
30
- if (name) {
31
- const isMethod = defCapture.node.type.includes("method") ||
32
- defCapture.node.type === "method_definition";
33
- const type = isMethod ? "method" : "function";
34
- if (shouldInclude(type)) {
35
- symbols.push({
36
- name,
37
- type,
38
- start: defCapture.node.start,
39
- end: defCapture.node.end,
40
- signature: extractFunctionSignature(defCapture.node),
41
- modifiers: extractModifiers(defCapture.node),
42
- });
43
- }
44
- }
45
- }
46
- }
47
- }
48
- }
49
- // Extract classes
50
- if (shouldInclude("class") || shouldInclude("interface")) {
51
- const classResult = executePresetQuery(tree, languageInstance, language, "classes");
52
- for (const match of classResult.matches) {
53
- const defCapture = findCapture(match.captures, "class.definition");
54
- const nameCapture = findCapture(match.captures, "class.name");
55
- if (defCapture) {
56
- const name = nameCapture?.node.text ?? getClassName(defCapture.node);
57
- if (name) {
58
- // Determine type based on AST node type
59
- const nodeType = defCapture.node.type;
60
- let symbolType = "class";
61
- if (nodeType.includes("interface") ||
62
- nodeType === "interface_declaration") {
63
- symbolType = "interface";
64
- }
65
- else if (nodeType.includes("struct")) {
66
- symbolType = "interface";
67
- }
68
- if (shouldInclude(symbolType)) {
69
- symbols.push({
70
- name,
71
- type: symbolType,
72
- start: defCapture.node.start,
73
- end: defCapture.node.end,
74
- modifiers: extractModifiers(defCapture.node),
75
- });
76
- }
77
- }
78
- }
79
- }
80
- }
81
- // Extract variables and constants
82
- if (shouldInclude("variable") || shouldInclude("constant")) {
83
- try {
84
- const varResult = executePresetQuery(tree, languageInstance, language, "variables");
85
- for (const match of varResult.matches) {
86
- const nameCapture = findCaptureByNames(match.captures, [
87
- "variable.name",
88
- "constant.name",
89
- "field.name",
90
- ]);
91
- const declCapture = findCaptureByNames(match.captures, [
92
- "variable.declaration",
93
- "constant.declaration",
94
- "field.declaration",
95
- ]);
96
- if (nameCapture && declCapture) {
97
- const isConstant = declCapture.node.text.startsWith("const ") ||
98
- findCapture(match.captures, "constant.name") !== undefined;
99
- const type = isConstant ? "constant" : "variable";
100
- if (shouldInclude(type)) {
101
- symbols.push({
102
- name: nameCapture.node.text,
103
- type,
104
- start: declCapture.node.start,
105
- end: declCapture.node.end,
106
- modifiers: extractModifiers(declCapture.node),
107
- });
108
- }
109
- }
110
- }
111
- }
112
- catch {
113
- // Query not available for this language
114
- }
115
- }
116
- // Extract types (interfaces, type aliases, enums)
117
- if (shouldInclude("interface") ||
118
- shouldInclude("type") ||
119
- shouldInclude("enum")) {
120
- try {
121
- const typeResult = executePresetQuery(tree, languageInstance, language, "types");
122
- for (const match of typeResult.matches) {
123
- const nameCapture = findCaptureByNames(match.captures, [
124
- "type.name",
125
- "interface.name",
126
- "enum.name",
127
- "type.alias",
128
- ]);
129
- const defCapture = findCaptureByNames(match.captures, [
130
- "type.definition",
131
- "interface.definition",
132
- "enum.definition",
133
- ]);
134
- if (nameCapture && defCapture) {
135
- let type = "type";
136
- if (nameCapture.name === "interface.name") {
137
- type = "interface";
138
- }
139
- else if (nameCapture.name === "enum.name") {
140
- type = "enum";
141
- }
142
- if (shouldInclude(type)) {
143
- symbols.push({
144
- name: nameCapture.node.text,
145
- type,
146
- start: defCapture.node.start,
147
- end: defCapture.node.end,
148
- modifiers: extractModifiers(defCapture.node),
149
- });
150
- }
151
- }
152
- }
153
- }
154
- catch {
155
- // Query not available for this language
156
- }
157
- }
158
- // Calculate summary
159
- const summary = {
160
- functions: symbols.filter((s) => s.type === "function").length,
161
- classes: symbols.filter((s) => s.type === "class").length,
162
- variables: symbols.filter((s) => s.type === "variable").length,
163
- constants: symbols.filter((s) => s.type === "constant").length,
164
- interfaces: symbols.filter((s) => s.type === "interface").length,
165
- types: symbols.filter((s) => s.type === "type").length,
166
- enums: symbols.filter((s) => s.type === "enum").length,
167
- methods: symbols.filter((s) => s.type === "method").length,
168
- properties: symbols.filter((s) => s.type === "property").length,
169
- total: symbols.length,
170
- };
171
- return { symbols, summary };
172
- }
173
- /**
174
- * Extract function signature from AST node
175
- */
176
- function extractFunctionSignature(node) {
177
- // Try to extract just the signature (function name + params)
178
- const text = node.text;
179
- // For JavaScript/TypeScript-like syntax
180
- const jsMatch = /^(async\s+)?function\s*\*?\s*(\w*)\s*(<[^>]*>)?\s*\([^)]*\)(\s*:\s*[^{]+)?/.exec(text);
181
- if (jsMatch) {
182
- return jsMatch[0].trim();
183
- }
184
- // For arrow functions
185
- const arrowMatch = /^\([^)]*\)\s*(:\s*[^=]+)?\s*=>/.exec(text);
186
- if (arrowMatch) {
187
- return arrowMatch[0].trim();
188
- }
189
- // For Python
190
- const pyMatch = /^def\s+(\w+)\s*\([^)]*\)(\s*->\s*[^:]+)?:/.exec(text);
191
- if (pyMatch) {
192
- return pyMatch[0].replace(/:$/, "").trim();
193
- }
194
- // For Go
195
- const goMatch = /^func\s*(\([^)]*\)\s*)?(\w+)\s*\([^)]*\)/.exec(text);
196
- if (goMatch) {
197
- return goMatch[0].trim();
198
- }
199
- // Fallback: return first line up to opening brace
200
- const firstLine = text.split(/[{:]/)[0];
201
- return firstLine ? firstLine.trim() : undefined;
202
- }
203
- /**
204
- * Extract modifiers from AST node
205
- */
206
- function extractModifiers(node) {
207
- const modifiers = [];
208
- const text = node.text;
209
- // Common modifiers
210
- const modifierPatterns = [
211
- "export",
212
- "default",
213
- "async",
214
- "static",
215
- "public",
216
- "private",
217
- "protected",
218
- "readonly",
219
- "abstract",
220
- "const",
221
- "let",
222
- "var",
223
- "final",
224
- "override",
225
- "pub",
226
- "mut",
227
- ];
228
- for (const mod of modifierPatterns) {
229
- const pattern = new RegExp(`\\b${mod}\\b`);
230
- if (pattern.test(text.slice(0, 100))) {
231
- // Only check start of node
232
- modifiers.push(mod);
233
- }
234
- }
235
- return modifiers.length > 0 ? modifiers : undefined;
236
- }
237
- /**
238
- * Extract imports from parsed code
239
- */
240
- export function extractImports(tree, languageInstance, language) {
241
- const imports = [];
242
- try {
243
- const result = executePresetQuery(tree, languageInstance, language, "imports");
244
- const tracker = createOffsetTracker();
245
- for (const match of result.matches) {
246
- const stmtCapture = findCaptureByNames(match.captures, [
247
- "import.statement",
248
- "include.statement",
249
- ]);
250
- if (!stmtCapture || tracker.has(stmtCapture.node)) {
251
- continue;
252
- }
253
- tracker.add(stmtCapture.node);
254
- const sourceCapture = findCaptureByNames(match.captures, [
255
- "import.source",
256
- "import.path",
257
- "include.path",
258
- ]);
259
- const defaultCapture = findCapture(match.captures, "import.default");
260
- const nameCaptures = match.captures.filter((c) => c.name === "import.name");
261
- const source = sourceCapture
262
- ? sourceCapture.node.text.replace(/['"]/g, "")
263
- : "";
264
- const names = [];
265
- if (defaultCapture) {
266
- names.push({ name: defaultCapture.node.text });
267
- }
268
- for (const nameCapture of nameCaptures) {
269
- names.push({ name: nameCapture.node.text });
270
- }
271
- imports.push({
272
- source,
273
- names,
274
- isDefault: !!defaultCapture && nameCaptures.length === 0,
275
- start: stmtCapture.node.start,
276
- end: stmtCapture.node.end,
277
- });
278
- }
279
- }
280
- catch {
281
- // Query not available
282
- }
283
- return imports;
284
- }
285
- /**
286
- * Extract exports from parsed code
287
- */
288
- export function extractExports(tree, languageInstance, language) {
289
- const exportList = [];
290
- try {
291
- const result = executePresetQuery(tree, languageInstance, language, "exports");
292
- const tracker = createOffsetTracker();
293
- for (const match of result.matches) {
294
- const stmtCapture = findCaptureByNames(match.captures, [
295
- "export.statement",
296
- "export.function",
297
- "export.class",
298
- "export.type",
299
- ]);
300
- if (!stmtCapture || tracker.has(stmtCapture.node)) {
301
- continue;
302
- }
303
- tracker.add(stmtCapture.node);
304
- const nameCapture = findCapture(match.captures, "export.name");
305
- const text = stmtCapture.node.text;
306
- const isDefault = text.includes("export default");
307
- // Try to extract name from declaration if not captured
308
- let name = nameCapture?.node.text;
309
- if (!name) {
310
- // Try to extract from export statement
311
- const nameMatch = /export\s+(?:default\s+)?(?:function|class|const|let|var|interface|type|enum)\s+(\w+)/.exec(text);
312
- if (nameMatch?.[1]) {
313
- name = nameMatch[1];
314
- }
315
- }
316
- exportList.push({
317
- name: name ?? "default",
318
- isDefault,
319
- start: stmtCapture.node.start,
320
- end: stmtCapture.node.end,
321
- });
322
- }
323
- }
324
- catch {
325
- // Query not available
326
- }
327
- return exportList;
328
- }
329
- /**
330
- * Get symbols by type
331
- */
332
- export function getSymbolsByType(symbols, type) {
333
- return symbols.filter((s) => s.type === type);
334
- }
335
- /**
336
- * Find symbol by name
337
- */
338
- export function findSymbolByName(symbols, name) {
339
- return symbols.find((s) => s.name === name);
340
- }
341
- /**
342
- * Get symbol at position
343
- */
344
- export function getSymbolAtPosition(symbols, line, column) {
345
- return symbols.find((s) => {
346
- const afterStart = line > s.start.line ||
347
- (line === s.start.line && column >= s.start.column);
348
- const beforeEnd = line < s.end.line || (line === s.end.line && column <= s.end.column);
349
- return afterStart && beforeEnd;
350
- });
351
- }
352
- export function extractCodeInfo(tree, languageInstance, language, filter = {}) {
353
- return {
354
- symbols: extractSymbols(tree, languageInstance, language, filter),
355
- imports: extractImports(tree, languageInstance, language),
356
- exports: extractExports(tree, languageInstance, language),
357
- };
358
- }
359
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/symbols/index.ts"],"names":[],"mappings":"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"}