@nogataka/smart-edit 0.0.14

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 (186) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +244 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +7 -0
  5. package/dist/devtools/generate_prompt_factory.d.ts +5 -0
  6. package/dist/devtools/generate_prompt_factory.js +114 -0
  7. package/dist/index.d.ts +34 -0
  8. package/dist/index.js +34 -0
  9. package/dist/interprompt/index.d.ts +2 -0
  10. package/dist/interprompt/index.js +1 -0
  11. package/dist/interprompt/jinja_template.d.ts +10 -0
  12. package/dist/interprompt/jinja_template.js +174 -0
  13. package/dist/interprompt/multilang_prompt.d.ts +54 -0
  14. package/dist/interprompt/multilang_prompt.js +302 -0
  15. package/dist/interprompt/prompt_factory.d.ts +16 -0
  16. package/dist/interprompt/prompt_factory.js +189 -0
  17. package/dist/interprompt/util/class_decorators.d.ts +1 -0
  18. package/dist/interprompt/util/class_decorators.js +1 -0
  19. package/dist/interprompt/util/index.d.ts +1 -0
  20. package/dist/interprompt/util/index.js +1 -0
  21. package/dist/serena/agent.d.ts +118 -0
  22. package/dist/serena/agent.js +675 -0
  23. package/dist/serena/agno.d.ts +111 -0
  24. package/dist/serena/agno.js +278 -0
  25. package/dist/serena/analytics.d.ts +24 -0
  26. package/dist/serena/analytics.js +119 -0
  27. package/dist/serena/cli.d.ts +9 -0
  28. package/dist/serena/cli.js +731 -0
  29. package/dist/serena/code_editor.d.ts +42 -0
  30. package/dist/serena/code_editor.js +239 -0
  31. package/dist/serena/config/context_mode.d.ts +41 -0
  32. package/dist/serena/config/context_mode.js +239 -0
  33. package/dist/serena/config/serena_config.d.ts +134 -0
  34. package/dist/serena/config/serena_config.js +718 -0
  35. package/dist/serena/constants.d.ts +18 -0
  36. package/dist/serena/constants.js +27 -0
  37. package/dist/serena/dashboard.d.ts +55 -0
  38. package/dist/serena/dashboard.js +472 -0
  39. package/dist/serena/generated/generated_prompt_factory.d.ts +27 -0
  40. package/dist/serena/generated/generated_prompt_factory.js +42 -0
  41. package/dist/serena/gui_log_viewer.d.ts +41 -0
  42. package/dist/serena/gui_log_viewer.js +436 -0
  43. package/dist/serena/mcp.d.ts +118 -0
  44. package/dist/serena/mcp.js +904 -0
  45. package/dist/serena/project.d.ts +62 -0
  46. package/dist/serena/project.js +321 -0
  47. package/dist/serena/prompt_factory.d.ts +20 -0
  48. package/dist/serena/prompt_factory.js +42 -0
  49. package/dist/serena/resources/config/contexts/agent.yml +8 -0
  50. package/dist/serena/resources/config/contexts/chatgpt.yml +28 -0
  51. package/dist/serena/resources/config/contexts/codex.yml +27 -0
  52. package/dist/serena/resources/config/contexts/context.template.yml +11 -0
  53. package/dist/serena/resources/config/contexts/desktop-app.yml +17 -0
  54. package/dist/serena/resources/config/contexts/ide-assistant.yml +26 -0
  55. package/dist/serena/resources/config/contexts/oaicompat-agent.yml +8 -0
  56. package/dist/serena/resources/config/internal_modes/jetbrains.yml +15 -0
  57. package/dist/serena/resources/config/modes/editing.yml +112 -0
  58. package/dist/serena/resources/config/modes/interactive.yml +11 -0
  59. package/dist/serena/resources/config/modes/mode.template.yml +7 -0
  60. package/dist/serena/resources/config/modes/no-onboarding.yml +8 -0
  61. package/dist/serena/resources/config/modes/onboarding.yml +16 -0
  62. package/dist/serena/resources/config/modes/one-shot.yml +15 -0
  63. package/dist/serena/resources/config/modes/planning.yml +15 -0
  64. package/dist/serena/resources/config/prompt_templates/simple_tool_outputs.yml +75 -0
  65. package/dist/serena/resources/config/prompt_templates/system_prompt.yml +66 -0
  66. package/dist/serena/resources/dashboard/dashboard.js +815 -0
  67. package/dist/serena/resources/dashboard/index.html +314 -0
  68. package/dist/serena/resources/dashboard/jquery.min.js +3 -0
  69. package/dist/serena/resources/dashboard/serena-icon-16.png +0 -0
  70. package/dist/serena/resources/dashboard/serena-icon-32.png +0 -0
  71. package/dist/serena/resources/dashboard/serena-icon-48.png +0 -0
  72. package/dist/serena/resources/dashboard/serena-logs-dark-mode.png +0 -0
  73. package/dist/serena/resources/dashboard/serena-logs.png +0 -0
  74. package/dist/serena/resources/project.template.yml +67 -0
  75. package/dist/serena/resources/serena_config.template.yml +85 -0
  76. package/dist/serena/symbol.d.ts +199 -0
  77. package/dist/serena/symbol.js +616 -0
  78. package/dist/serena/text_utils.d.ts +51 -0
  79. package/dist/serena/text_utils.js +267 -0
  80. package/dist/serena/tools/cmd_tools.d.ts +31 -0
  81. package/dist/serena/tools/cmd_tools.js +48 -0
  82. package/dist/serena/tools/config_tools.d.ts +53 -0
  83. package/dist/serena/tools/config_tools.js +176 -0
  84. package/dist/serena/tools/file_tools.d.ts +231 -0
  85. package/dist/serena/tools/file_tools.js +511 -0
  86. package/dist/serena/tools/index.d.ts +7 -0
  87. package/dist/serena/tools/index.js +7 -0
  88. package/dist/serena/tools/memory_tools.d.ts +60 -0
  89. package/dist/serena/tools/memory_tools.js +135 -0
  90. package/dist/serena/tools/symbol_tools.d.ts +165 -0
  91. package/dist/serena/tools/symbol_tools.js +362 -0
  92. package/dist/serena/tools/tools_base.d.ts +162 -0
  93. package/dist/serena/tools/tools_base.js +378 -0
  94. package/dist/serena/tools/workflow_tools.d.ts +35 -0
  95. package/dist/serena/tools/workflow_tools.js +161 -0
  96. package/dist/serena/util/class_decorators.d.ts +7 -0
  97. package/dist/serena/util/class_decorators.js +37 -0
  98. package/dist/serena/util/exception.d.ts +8 -0
  99. package/dist/serena/util/exception.js +53 -0
  100. package/dist/serena/util/file_system.d.ts +30 -0
  101. package/dist/serena/util/file_system.js +352 -0
  102. package/dist/serena/util/general.d.ts +11 -0
  103. package/dist/serena/util/general.js +42 -0
  104. package/dist/serena/util/git.d.ts +11 -0
  105. package/dist/serena/util/git.js +37 -0
  106. package/dist/serena/util/inspection.d.ts +45 -0
  107. package/dist/serena/util/inspection.js +221 -0
  108. package/dist/serena/util/logging.d.ts +46 -0
  109. package/dist/serena/util/logging.js +205 -0
  110. package/dist/serena/util/shell.d.ts +21 -0
  111. package/dist/serena/util/shell.js +95 -0
  112. package/dist/serena/util/thread.d.ts +23 -0
  113. package/dist/serena/util/thread.js +88 -0
  114. package/dist/serena/version.d.ts +1 -0
  115. package/dist/serena/version.js +23 -0
  116. package/dist/solidlsp/language_servers/autoload.d.ts +23 -0
  117. package/dist/solidlsp/language_servers/autoload.js +25 -0
  118. package/dist/solidlsp/language_servers/bash_language_server.d.ts +10 -0
  119. package/dist/solidlsp/language_servers/bash_language_server.js +64 -0
  120. package/dist/solidlsp/language_servers/clangd_language_server.d.ts +13 -0
  121. package/dist/solidlsp/language_servers/clangd_language_server.js +110 -0
  122. package/dist/solidlsp/language_servers/clojure_lsp.d.ts +13 -0
  123. package/dist/solidlsp/language_servers/clojure_lsp.js +137 -0
  124. package/dist/solidlsp/language_servers/common.d.ts +41 -0
  125. package/dist/solidlsp/language_servers/common.js +365 -0
  126. package/dist/solidlsp/language_servers/csharp_language_server.d.ts +21 -0
  127. package/dist/solidlsp/language_servers/csharp_language_server.js +694 -0
  128. package/dist/solidlsp/language_servers/dart_language_server.d.ts +10 -0
  129. package/dist/solidlsp/language_servers/dart_language_server.js +122 -0
  130. package/dist/solidlsp/language_servers/eclipse_jdtls.d.ts +24 -0
  131. package/dist/solidlsp/language_servers/eclipse_jdtls.js +671 -0
  132. package/dist/solidlsp/language_servers/erlang_language_server.d.ts +22 -0
  133. package/dist/solidlsp/language_servers/erlang_language_server.js +327 -0
  134. package/dist/solidlsp/language_servers/gopls.d.ts +12 -0
  135. package/dist/solidlsp/language_servers/gopls.js +59 -0
  136. package/dist/solidlsp/language_servers/intelephense.d.ts +13 -0
  137. package/dist/solidlsp/language_servers/intelephense.js +121 -0
  138. package/dist/solidlsp/language_servers/jedi_server.d.ts +18 -0
  139. package/dist/solidlsp/language_servers/jedi_server.js +234 -0
  140. package/dist/solidlsp/language_servers/kotlin_language_server.d.ts +19 -0
  141. package/dist/solidlsp/language_servers/kotlin_language_server.js +474 -0
  142. package/dist/solidlsp/language_servers/lua_ls.d.ts +18 -0
  143. package/dist/solidlsp/language_servers/lua_ls.js +319 -0
  144. package/dist/solidlsp/language_servers/nixd_language_server.d.ts +17 -0
  145. package/dist/solidlsp/language_servers/nixd_language_server.js +341 -0
  146. package/dist/solidlsp/language_servers/pyright_server.d.ts +19 -0
  147. package/dist/solidlsp/language_servers/pyright_server.js +180 -0
  148. package/dist/solidlsp/language_servers/r_language_server.d.ts +19 -0
  149. package/dist/solidlsp/language_servers/r_language_server.js +184 -0
  150. package/dist/solidlsp/language_servers/ruby_common.d.ts +10 -0
  151. package/dist/solidlsp/language_servers/ruby_common.js +136 -0
  152. package/dist/solidlsp/language_servers/ruby_lsp.d.ts +18 -0
  153. package/dist/solidlsp/language_servers/ruby_lsp.js +230 -0
  154. package/dist/solidlsp/language_servers/rust_analyzer.d.ts +13 -0
  155. package/dist/solidlsp/language_servers/rust_analyzer.js +96 -0
  156. package/dist/solidlsp/language_servers/solargraph.d.ts +18 -0
  157. package/dist/solidlsp/language_servers/solargraph.js +208 -0
  158. package/dist/solidlsp/language_servers/sourcekit_lsp.d.ts +24 -0
  159. package/dist/solidlsp/language_servers/sourcekit_lsp.js +449 -0
  160. package/dist/solidlsp/language_servers/terraform_ls.d.ts +13 -0
  161. package/dist/solidlsp/language_servers/terraform_ls.js +139 -0
  162. package/dist/solidlsp/language_servers/typescript_language_server.d.ts +20 -0
  163. package/dist/solidlsp/language_servers/typescript_language_server.js +237 -0
  164. package/dist/solidlsp/language_servers/vts_language_server.d.ts +13 -0
  165. package/dist/solidlsp/language_servers/vts_language_server.js +121 -0
  166. package/dist/solidlsp/language_servers/zls.d.ts +20 -0
  167. package/dist/solidlsp/language_servers/zls.js +254 -0
  168. package/dist/solidlsp/ls.d.ts +197 -0
  169. package/dist/solidlsp/ls.js +507 -0
  170. package/dist/solidlsp/ls_config.d.ts +43 -0
  171. package/dist/solidlsp/ls_config.js +157 -0
  172. package/dist/solidlsp/ls_exceptions.d.ts +5 -0
  173. package/dist/solidlsp/ls_exceptions.js +14 -0
  174. package/dist/solidlsp/ls_handler.d.ts +54 -0
  175. package/dist/solidlsp/ls_handler.js +406 -0
  176. package/dist/solidlsp/ls_request.d.ts +31 -0
  177. package/dist/solidlsp/ls_request.js +42 -0
  178. package/dist/solidlsp/ls_types.d.ts +7 -0
  179. package/dist/solidlsp/ls_types.js +8 -0
  180. package/dist/solidlsp/lsp_protocol_handler/server.d.ts +61 -0
  181. package/dist/solidlsp/lsp_protocol_handler/server.js +68 -0
  182. package/dist/solidlsp/util/subprocess_util.d.ts +6 -0
  183. package/dist/solidlsp/util/subprocess_util.js +11 -0
  184. package/dist/solidlsp/util/zip.d.ts +25 -0
  185. package/dist/solidlsp/util/zip.js +188 -0
  186. package/package.json +65 -0
@@ -0,0 +1,85 @@
1
+ gui_log_window: False
2
+ # whether to open a graphical window with Serena's logs.
3
+ # This is mainly supported on Windows and (partly) on Linux; not available on macOS.
4
+ # If you want to see the logs in a web browser, use the `web_dashboard` option instead.
5
+ # Limitations: doesn't seem to work with the community version of Claude Desktop for Linux
6
+ # Might also cause problems with some MCP clients - if you have any issues, try disabling this
7
+
8
+ # Being able to inspect logs is useful both for troubleshooting and for monitoring the tool calls,
9
+ # especially when using the agno playground, since the tool calls are not always shown,
10
+ # and the input params are never shown in the agno UI.
11
+ # When used as MCP server for Claude Desktop, the logs are primarily for troubleshooting.
12
+ # Note: unfortunately, the various entities starting the Serena server or agent do so in
13
+ # mysterious ways, often starting multiple instances of the process without shutting down
14
+ # previous instances. This can lead to multiple log windows being opened, and only the last
15
+ # window being updated. Since we can't control how agno or Claude Desktop start Serena,
16
+ # we have to live with this limitation for now.
17
+
18
+ web_dashboard: True
19
+ # whether to open the Serena web dashboard (which will be accessible through your web browser) that
20
+ # shows Serena's current session logs - as an alternative to the GUI log window which
21
+ # is supported on all platforms.
22
+
23
+ web_dashboard_open_on_launch: True
24
+ # whether to open a browser window with the web dashboard when Serena starts (provided that web_dashboard
25
+ # is enabled). If set to False, you can still open the dashboard manually by navigating to
26
+ # http://localhost:24282/dashboard/ in your web browser (24282 = 0x5EDA, SErena DAshboard).
27
+ # If you have multiple instances running, a higher port will be used; try port 24283, 24284, etc.
28
+
29
+ log_level: 20
30
+ # the minimum log level for the GUI log window and the dashboard (10 = debug, 20 = info, 30 = warning, 40 = error)
31
+
32
+ trace_lsp_communication: False
33
+ # whether to trace the communication between Serena and the language servers.
34
+ # This is useful for debugging language server issues.
35
+
36
+ ls_specific_settings: {}
37
+ # Added on 23.08.2025
38
+ # Advanced configuration option allowing to configure language server implementation specific options. Maps the language
39
+ # (same entry as in project.yml) to the options.
40
+ # Have a look at the docstring of the constructors of the LS implementations within solidlsp (e.g., for C# or PHP) to see which options are available.
41
+ # No documentation on options means no options are available.
42
+ #
43
+
44
+ tool_timeout: 240
45
+ # timeout, in seconds, after which tool executions are terminated
46
+
47
+ excluded_tools: []
48
+ # list of tools to be globally excluded
49
+
50
+ included_optional_tools: []
51
+ # list of optional tools (which are disabled by default) to be included
52
+
53
+ jetbrains: False
54
+ # whether to enable JetBrains mode and use tools based on the Serena JetBrains IDE plugin
55
+ # instead of language server-based tools
56
+ # NOTE: The plugin is yet unreleased. This is for Serena developers only.
57
+
58
+
59
+ default_max_tool_answer_chars: 150000
60
+ # Used as default for tools where the apply method has a default maximal answer length.
61
+ # Even though the value of the max_answer_chars can be changed when calling the tool, it may make sense to adjust this default
62
+ # through the global configuration.
63
+
64
+ record_tool_usage_stats: False
65
+ # whether to record tool usage statistics, they will be shown in the web dashboard if recording is active.
66
+
67
+ token_count_estimator: TIKTOKEN_GPT4O
68
+ # Only relevant if `record_tool_usage` is True; the name of the token count estimator to use for tool usage statistics.
69
+ # See the `RegisteredTokenCountEstimator` enum for available options.
70
+ #
71
+ # Note: some token estimators (like tiktoken) may require downloading data files
72
+ # on the first run, which can take some time and require internet access. Others, like the Anthropic ones, may require an API key
73
+ # and rate limits may apply.
74
+
75
+
76
+ # MANAGED BY SERENA, KEEP AT THE BOTTOM OF THE YAML AND DON'T EDIT WITHOUT NEED
77
+ # The list of registered projects.
78
+ # To add a project, within a chat, simply ask Serena to "activate the project /path/to/project" or,
79
+ # if the project was previously added, "activate the project <project name>".
80
+ # By default, the project's name will be the name of the directory containing the project, but you may change it
81
+ # by editing the (auto-generated) project configuration file `/path/project/project/.smart-edit/project.yml` file.
82
+ # If you want to maintain full control of the project configuration, create the project.yml file manually and then
83
+ # instruct Serena to activate the project by its path for first-time activation.
84
+ # NOTE: Make sure there are no name collisions in the names of registered projects.
85
+ projects: []
@@ -0,0 +1,199 @@
1
+ import type { SerenaAgent } from './agent.js';
2
+ import type { SolidLanguageServer, ReferenceInSymbol, UnifiedSymbolInformation } from '../solidlsp/ls.js';
3
+ export interface LspPosition {
4
+ line: number;
5
+ character: number;
6
+ }
7
+ export declare enum SymbolKind {
8
+ File = 1,
9
+ Module = 2,
10
+ Namespace = 3,
11
+ Package = 4,
12
+ Class = 5,
13
+ Method = 6,
14
+ Property = 7,
15
+ Field = 8,
16
+ Constructor = 9,
17
+ Enum = 10,
18
+ Interface = 11,
19
+ Function = 12,
20
+ Variable = 13,
21
+ Constant = 14,
22
+ String = 15,
23
+ Number = 16,
24
+ Boolean = 17,
25
+ Array = 18,
26
+ Object = 19,
27
+ Key = 20,
28
+ Null = 21,
29
+ EnumMember = 22,
30
+ Struct = 23,
31
+ Event = 24,
32
+ Operator = 25,
33
+ TypeParameter = 26
34
+ }
35
+ export interface LanguageServerSymbolLocationInit {
36
+ relativePath: string | null;
37
+ line: number | null;
38
+ column: number | null;
39
+ }
40
+ export declare class LanguageServerSymbolLocation {
41
+ readonly relativePath: string | null;
42
+ readonly line: number | null;
43
+ readonly column: number | null;
44
+ constructor(init: LanguageServerSymbolLocationInit);
45
+ toDict(options?: {
46
+ includeRelativePath?: boolean;
47
+ }): Record<string, unknown>;
48
+ to_dict(options?: {
49
+ include_relative_path?: boolean;
50
+ }): Record<string, unknown>;
51
+ hasPositionInFile(): boolean;
52
+ has_position_in_file(): boolean;
53
+ }
54
+ export interface PositionInFileInit {
55
+ line: number;
56
+ col: number;
57
+ }
58
+ export declare class PositionInFile {
59
+ readonly line: number;
60
+ readonly col: number;
61
+ constructor(init: PositionInFileInit);
62
+ toLspPosition(): LspPosition;
63
+ to_lsp_position(): LspPosition;
64
+ }
65
+ export declare abstract class Symbol {
66
+ abstract getBodyStartPosition(): PositionInFile | null;
67
+ abstract getBodyEndPosition(): PositionInFile | null;
68
+ abstract isNeighbouringDefinitionSeparatedByEmptyLine(): boolean;
69
+ getBodyStartPositionOrRaise(): PositionInFile;
70
+ getBodyEndPositionOrRaise(): PositionInFile;
71
+ get_body_start_position(): PositionInFile | null;
72
+ get_body_end_position(): PositionInFile | null;
73
+ get_body_start_position_or_raise(): PositionInFile;
74
+ get_body_end_position_or_raise(): PositionInFile;
75
+ is_neighbouring_definition_separated_by_empty_line(): boolean;
76
+ }
77
+ export interface SymbolRangeLike {
78
+ start?: {
79
+ line: number;
80
+ character: number;
81
+ };
82
+ end?: {
83
+ line: number;
84
+ character: number;
85
+ };
86
+ }
87
+ export interface SymbolLocationLike {
88
+ relativePath?: string | null;
89
+ range?: SymbolRangeLike;
90
+ }
91
+ export declare class LanguageServerSymbol extends Symbol {
92
+ private static readonly NAME_PATH_SEPARATOR;
93
+ private readonly symbolRoot;
94
+ constructor(symbolRoot: UnifiedSymbolInformation);
95
+ static matchNamePath(namePath: string, symbolNamePathParts: string[], substringMatching: boolean): boolean;
96
+ get name(): string;
97
+ get kind(): string;
98
+ get symbolKind(): SymbolKind;
99
+ get relativePath(): string | null;
100
+ get location(): LanguageServerSymbolLocation;
101
+ get body(): string | undefined;
102
+ get line(): number | null;
103
+ get column(): number | null;
104
+ isNeighbouringDefinitionSeparatedByEmptyLine(): boolean;
105
+ getBodyStartPosition(): PositionInFile | null;
106
+ getBodyEndPosition(): PositionInFile | null;
107
+ getBodyLineNumbers(): [number | null, number | null];
108
+ getBodyStartPositionOrRaise(): PositionInFile;
109
+ getBodyEndPositionOrRaise(): PositionInFile;
110
+ get_name_path(): string;
111
+ getNamePath(): string;
112
+ getNamePathParts(): string[];
113
+ get_name_path_parts(): string[];
114
+ iterChildren(): IterableIterator<LanguageServerSymbol>;
115
+ iter_children(): IterableIterator<LanguageServerSymbol>;
116
+ iterAncestors(upToSymbolKind?: SymbolKind): IterableIterator<LanguageServerSymbol>;
117
+ iter_ancestors(upToSymbolKind?: SymbolKind): IterableIterator<LanguageServerSymbol>;
118
+ getParent(): LanguageServerSymbol | null;
119
+ get_parent(): LanguageServerSymbol | null;
120
+ find(namePath: string, options?: {
121
+ substringMatching?: boolean;
122
+ includeKinds?: SymbolKind[] | number[];
123
+ excludeKinds?: SymbolKind[] | number[];
124
+ }): LanguageServerSymbol[];
125
+ find_symbols(namePath: string, substringMatching?: boolean, includeKinds?: SymbolKind[] | number[], excludeKinds?: SymbolKind[] | number[]): LanguageServerSymbol[];
126
+ toDict(options?: {
127
+ kind?: boolean;
128
+ location?: boolean;
129
+ depth?: number;
130
+ includeBody?: boolean;
131
+ includeChildrenBody?: boolean;
132
+ includeRelativePath?: boolean;
133
+ }): Record<string, unknown>;
134
+ to_dict(options?: {
135
+ kind?: boolean;
136
+ location?: boolean;
137
+ depth?: number;
138
+ include_body?: boolean;
139
+ include_children_body?: boolean;
140
+ include_relative_path?: boolean;
141
+ }): Record<string, unknown>;
142
+ private collectChildren;
143
+ }
144
+ export declare class ReferenceInLanguageServerSymbol {
145
+ readonly symbol: LanguageServerSymbol;
146
+ readonly line: number;
147
+ readonly character: number;
148
+ constructor(init: {
149
+ symbol: LanguageServerSymbol;
150
+ line: number;
151
+ character: number;
152
+ });
153
+ static fromLspReference(reference: ReferenceInSymbol): ReferenceInLanguageServerSymbol;
154
+ get_relative_path(): string | null;
155
+ }
156
+ export interface SymbolOverviewEntry {
157
+ name_path: string;
158
+ kind: number;
159
+ }
160
+ export interface FindSymbolOptions {
161
+ includeBody?: boolean;
162
+ includeKinds?: number[] | SymbolKind[];
163
+ excludeKinds?: number[] | SymbolKind[];
164
+ substringMatching?: boolean;
165
+ withinRelativePath?: string | null;
166
+ }
167
+ export declare class LanguageServerSymbolRetriever {
168
+ private _langServer;
169
+ private readonly agent;
170
+ constructor(langServer: SolidLanguageServer, agent?: SerenaAgent | null);
171
+ setLanguageServer(langServer: SolidLanguageServer): void;
172
+ set_language_server(langServer: SolidLanguageServer): void;
173
+ getLanguageServer(): SolidLanguageServer;
174
+ get_language_server(): SolidLanguageServer;
175
+ findByName(namePath: string, options?: FindSymbolOptions): LanguageServerSymbol[];
176
+ find_by_name(namePath: string, includeBody?: boolean, includeKinds?: number[] | SymbolKind[], excludeKinds?: number[] | SymbolKind[], substringMatching?: boolean, withinRelativePath?: string | null): LanguageServerSymbol[];
177
+ getDocumentSymbols(relativePath: string): LanguageServerSymbol[];
178
+ get_document_symbols(relativePath: string): LanguageServerSymbol[];
179
+ findByLocation(location: LanguageServerSymbolLocation): LanguageServerSymbol | null;
180
+ find_by_location(location: LanguageServerSymbolLocation): LanguageServerSymbol | null;
181
+ findReferencingSymbols(namePath: string, relativeFilePath: string, options?: FindSymbolOptions): ReferenceInLanguageServerSymbol[];
182
+ find_referencing_symbols(namePath: string, relativeFilePath: string, includeBody?: boolean, includeKinds?: number[] | SymbolKind[], excludeKinds?: number[] | SymbolKind[]): ReferenceInLanguageServerSymbol[];
183
+ findReferencingSymbolsByLocation(location: LanguageServerSymbolLocation, options?: FindSymbolOptions): ReferenceInLanguageServerSymbol[];
184
+ find_referencing_symbols_by_location(location: LanguageServerSymbolLocation, includeBody?: boolean, includeKinds?: number[] | SymbolKind[], excludeKinds?: number[] | SymbolKind[]): ReferenceInLanguageServerSymbol[];
185
+ private static symbolOverviewFromSymbol;
186
+ getSymbolOverview(relativePath: string): Record<string, SymbolOverviewEntry[]>;
187
+ get_symbol_overview(relativePath: string): Record<string, SymbolOverviewEntry[]>;
188
+ }
189
+ export declare class JetBrainsSymbol extends Symbol {
190
+ private readonly data;
191
+ constructor(symbolDict: Record<string, unknown>);
192
+ private ensureTextRange;
193
+ getBodyStartPosition(): PositionInFile | null;
194
+ getBodyEndPosition(): PositionInFile | null;
195
+ isNeighbouringDefinitionSeparatedByEmptyLine(): boolean;
196
+ }
197
+ export declare class JetBrainsCodeEditorNotAvailableError extends Error {
198
+ constructor();
199
+ }