@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,231 @@
1
+ import { z } from 'zod';
2
+ import { Tool } from './tools_base.js';
3
+ export { SUCCESS_RESULT } from './tools_base.js';
4
+ interface ReadFileInput {
5
+ relative_path: string;
6
+ start_line?: number;
7
+ end_line?: number | null;
8
+ max_answer_chars?: number;
9
+ }
10
+ interface CreateTextFileInput {
11
+ relative_path: string;
12
+ content: string;
13
+ }
14
+ interface ListDirInput {
15
+ relative_path: string;
16
+ recursive: boolean;
17
+ skip_ignored_files?: boolean;
18
+ max_answer_chars?: number;
19
+ }
20
+ interface FindFileInput {
21
+ file_mask: string;
22
+ relative_path: string;
23
+ }
24
+ interface ReplaceRegexInput {
25
+ relative_path: string;
26
+ regex: string;
27
+ repl: string;
28
+ allow_multiple_occurrences?: boolean;
29
+ }
30
+ interface DeleteLinesInput {
31
+ relative_path: string;
32
+ start_line: number;
33
+ end_line: number;
34
+ }
35
+ interface ReplaceLinesInput extends DeleteLinesInput {
36
+ content: string;
37
+ }
38
+ interface InsertAtLineInput {
39
+ relative_path: string;
40
+ line: number;
41
+ content: string;
42
+ }
43
+ interface SearchForPatternInput {
44
+ substring_pattern: string;
45
+ context_lines_before?: number;
46
+ context_lines_after?: number;
47
+ paths_include_glob?: string;
48
+ paths_exclude_glob?: string;
49
+ relative_path?: string;
50
+ restrict_search_to_code_files?: boolean;
51
+ max_answer_chars?: number;
52
+ }
53
+ export declare class ReadFileTool extends Tool {
54
+ static readonly description = "Reads a file within the project directory.";
55
+ static readonly inputSchema: z.ZodObject<{
56
+ relative_path: z.ZodString;
57
+ start_line: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
58
+ end_line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
59
+ max_answer_chars: z.ZodOptional<z.ZodNumber>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ start_line: number;
62
+ relative_path: string;
63
+ end_line?: number | null | undefined;
64
+ max_answer_chars?: number | undefined;
65
+ }, {
66
+ relative_path: string;
67
+ start_line?: number | undefined;
68
+ end_line?: number | null | undefined;
69
+ max_answer_chars?: number | undefined;
70
+ }>;
71
+ apply(args: ReadFileInput): Promise<string>;
72
+ }
73
+ export declare class CreateTextFileTool extends Tool {
74
+ static readonly markers: Set<"can-edit">;
75
+ static readonly description = "Creates or overwrites a text file in the project directory.";
76
+ static readonly inputSchema: z.ZodObject<{
77
+ relative_path: z.ZodString;
78
+ content: z.ZodString;
79
+ }, "strip", z.ZodTypeAny, {
80
+ relative_path: string;
81
+ content: string;
82
+ }, {
83
+ relative_path: string;
84
+ content: string;
85
+ }>;
86
+ apply(args: CreateTextFileInput): Promise<string>;
87
+ }
88
+ export declare class ListDirTool extends Tool {
89
+ static readonly description = "Lists files and directories for a given relative path. Honors gitignore rules when requested.";
90
+ static readonly inputSchema: z.ZodObject<{
91
+ relative_path: z.ZodString;
92
+ recursive: z.ZodBoolean;
93
+ skip_ignored_files: z.ZodOptional<z.ZodBoolean>;
94
+ max_answer_chars: z.ZodOptional<z.ZodNumber>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ recursive: boolean;
97
+ relative_path: string;
98
+ max_answer_chars?: number | undefined;
99
+ skip_ignored_files?: boolean | undefined;
100
+ }, {
101
+ recursive: boolean;
102
+ relative_path: string;
103
+ max_answer_chars?: number | undefined;
104
+ skip_ignored_files?: boolean | undefined;
105
+ }>;
106
+ apply(args: ListDirInput): Promise<string>;
107
+ }
108
+ export declare class FindFileTool extends Tool {
109
+ static readonly description = "Finds files within a directory tree that match a filename mask while respecting ignored paths.";
110
+ static readonly inputSchema: z.ZodObject<{
111
+ file_mask: z.ZodString;
112
+ relative_path: z.ZodString;
113
+ }, "strip", z.ZodTypeAny, {
114
+ relative_path: string;
115
+ file_mask: string;
116
+ }, {
117
+ relative_path: string;
118
+ file_mask: string;
119
+ }>;
120
+ apply(args: FindFileInput): Promise<string>;
121
+ }
122
+ export declare class ReplaceRegexTool extends Tool {
123
+ static readonly markers: Set<"can-edit">;
124
+ static readonly description = "Replaces one or more regex matches within a file. Falls back to Python-style DOTALL matching.";
125
+ static readonly inputSchema: z.ZodObject<{
126
+ relative_path: z.ZodString;
127
+ regex: z.ZodString;
128
+ repl: z.ZodString;
129
+ allow_multiple_occurrences: z.ZodOptional<z.ZodBoolean>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ relative_path: string;
132
+ regex: string;
133
+ repl: string;
134
+ allow_multiple_occurrences?: boolean | undefined;
135
+ }, {
136
+ relative_path: string;
137
+ regex: string;
138
+ repl: string;
139
+ allow_multiple_occurrences?: boolean | undefined;
140
+ }>;
141
+ apply(args: ReplaceRegexInput): Promise<string>;
142
+ }
143
+ export declare class DeleteLinesTool extends Tool {
144
+ static readonly markers: Set<"can-edit" | "optional">;
145
+ static readonly description = "Deletes a range of lines within a file. Requires the same lines to be read beforehand.";
146
+ static readonly inputSchema: z.ZodObject<{
147
+ relative_path: z.ZodString;
148
+ start_line: z.ZodNumber;
149
+ end_line: z.ZodNumber;
150
+ }, "strip", z.ZodTypeAny, {
151
+ start_line: number;
152
+ end_line: number;
153
+ relative_path: string;
154
+ }, {
155
+ start_line: number;
156
+ end_line: number;
157
+ relative_path: string;
158
+ }>;
159
+ apply(args: DeleteLinesInput): Promise<string>;
160
+ }
161
+ export declare class ReplaceLinesTool extends Tool {
162
+ static readonly markers: Set<"can-edit" | "optional">;
163
+ static readonly description = "Replaces a range of lines within a file. Requires the range to be read beforehand.";
164
+ static readonly inputSchema: z.ZodObject<{
165
+ relative_path: z.ZodString;
166
+ start_line: z.ZodNumber;
167
+ end_line: z.ZodNumber;
168
+ content: z.ZodString;
169
+ }, "strip", z.ZodTypeAny, {
170
+ start_line: number;
171
+ end_line: number;
172
+ relative_path: string;
173
+ content: string;
174
+ }, {
175
+ start_line: number;
176
+ end_line: number;
177
+ relative_path: string;
178
+ content: string;
179
+ }>;
180
+ apply(args: ReplaceLinesInput): Promise<string>;
181
+ }
182
+ export declare class InsertAtLineTool extends Tool {
183
+ static readonly markers: Set<"can-edit" | "optional">;
184
+ static readonly description = "Inserts content at a specific line. The insertion will push existing content down.";
185
+ static readonly inputSchema: z.ZodObject<{
186
+ relative_path: z.ZodString;
187
+ line: z.ZodNumber;
188
+ content: z.ZodString;
189
+ }, "strip", z.ZodTypeAny, {
190
+ line: number;
191
+ relative_path: string;
192
+ content: string;
193
+ }, {
194
+ line: number;
195
+ relative_path: string;
196
+ content: string;
197
+ }>;
198
+ apply(args: InsertAtLineInput): Promise<string>;
199
+ }
200
+ export declare class SearchForPatternTool extends Tool {
201
+ static readonly description = "Searches files for a substring/regex pattern, returning grouped matches with optional context.";
202
+ static readonly inputSchema: z.ZodObject<{
203
+ substring_pattern: z.ZodString;
204
+ context_lines_before: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
205
+ context_lines_after: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
206
+ paths_include_glob: z.ZodOptional<z.ZodString>;
207
+ paths_exclude_glob: z.ZodOptional<z.ZodString>;
208
+ relative_path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
209
+ restrict_search_to_code_files: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
210
+ max_answer_chars: z.ZodOptional<z.ZodNumber>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ relative_path: string;
213
+ context_lines_before: number;
214
+ context_lines_after: number;
215
+ substring_pattern: string;
216
+ restrict_search_to_code_files: boolean;
217
+ paths_include_glob?: string | undefined;
218
+ paths_exclude_glob?: string | undefined;
219
+ max_answer_chars?: number | undefined;
220
+ }, {
221
+ substring_pattern: string;
222
+ relative_path?: string | undefined;
223
+ context_lines_before?: number | undefined;
224
+ context_lines_after?: number | undefined;
225
+ paths_include_glob?: string | undefined;
226
+ paths_exclude_glob?: string | undefined;
227
+ max_answer_chars?: number | undefined;
228
+ restrict_search_to_code_files?: boolean | undefined;
229
+ }>;
230
+ apply(args: SearchForPatternInput): Promise<string>;
231
+ }