@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,10 @@
1
+ import { type LogLevel } from '../../serena/util/logging.js';
2
+ import { SolidLanguageServer, type LanguageServerConfigLike, type SolidLanguageServerOptions } from '../ls.js';
3
+ import { NodeLanguageServerHandler } from '../ls_handler.js';
4
+ export declare class DartLanguageServer extends SolidLanguageServer {
5
+ protected readonly handler: NodeLanguageServerHandler;
6
+ constructor(config: LanguageServerConfigLike, loggerLike: {
7
+ level?: number | LogLevel;
8
+ } | null, repositoryRootPath: string, options?: SolidLanguageServerOptions);
9
+ private registerHandlers;
10
+ }
@@ -0,0 +1,122 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { createSerenaLogger } from '../../serena/util/logging.js';
4
+ import { Language } from '../ls_config.js';
5
+ import { SolidLanguageServer, SolidLspSettings, coerceLogLevel, registerLanguageServer } from '../ls.js';
6
+ import { NodeLanguageServerHandler } from '../ls_handler.js';
7
+ import { RuntimeDependencyCollection, quoteWindowsPath } from './common.js';
8
+ const DART_DEPENDENCIES = [
9
+ {
10
+ id: 'dart-sdk',
11
+ description: 'Dart SDK for Linux (x64)',
12
+ url: 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.7.1/sdk/dartsdk-linux-x64-release.zip',
13
+ platformId: 'linux-x64',
14
+ archiveType: 'zip',
15
+ binaryName: 'dart-sdk/bin/dart'
16
+ },
17
+ {
18
+ id: 'dart-sdk',
19
+ description: 'Dart SDK for Windows (x64)',
20
+ url: 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.7.1/sdk/dartsdk-windows-x64-release.zip',
21
+ platformId: 'win-x64',
22
+ archiveType: 'zip',
23
+ binaryName: 'dart-sdk/bin/dart.exe'
24
+ },
25
+ {
26
+ id: 'dart-sdk',
27
+ description: 'Dart SDK for Windows (arm64)',
28
+ url: 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.7.1/sdk/dartsdk-windows-arm64-release.zip',
29
+ platformId: 'win-arm64',
30
+ archiveType: 'zip',
31
+ binaryName: 'dart-sdk/bin/dart.exe'
32
+ },
33
+ {
34
+ id: 'dart-sdk',
35
+ description: 'Dart SDK for macOS (x64)',
36
+ url: 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.7.1/sdk/dartsdk-macos-x64-release.zip',
37
+ platformId: 'osx-x64',
38
+ archiveType: 'zip',
39
+ binaryName: 'dart-sdk/bin/dart'
40
+ },
41
+ {
42
+ id: 'dart-sdk',
43
+ description: 'Dart SDK for macOS (arm64)',
44
+ url: 'https://storage.googleapis.com/dart-archive/channels/stable/release/3.7.1/sdk/dartsdk-macos-arm64-release.zip',
45
+ platformId: 'osx-arm64',
46
+ archiveType: 'zip',
47
+ binaryName: 'dart-sdk/bin/dart'
48
+ }
49
+ ];
50
+ function resolveRuntimeDirectory(settings) {
51
+ const dir = path.join(settings.languageServersStaticDir, 'dart-sdk');
52
+ fs.mkdirSync(dir, { recursive: true });
53
+ return dir;
54
+ }
55
+ function ensureDartBinary(runtimeDir, dependencies, loggerLevel) {
56
+ const { logger } = createSerenaLogger({
57
+ name: 'solidlsp.language_servers.dart',
58
+ emitToConsole: false,
59
+ level: loggerLevel === undefined ? undefined : coerceLogLevel(loggerLevel)
60
+ });
61
+ const binaryPath = dependencies.binaryPath(runtimeDir);
62
+ if (!fs.existsSync(binaryPath)) {
63
+ if (process.env.SERENA_SKIP_RUNTIME_INSTALL === '1') {
64
+ throw new Error(`Dart SDK binary not found at ${binaryPath}. Allow runtime downloads or install Dart manually.`);
65
+ }
66
+ logger.info('Downloading Dart SDK runtime dependency.');
67
+ dependencies.install(logger, runtimeDir);
68
+ if (!fs.existsSync(binaryPath)) {
69
+ throw new Error(`Failed to install Dart SDK runtime dependency (expected binary at ${binaryPath}).`);
70
+ }
71
+ }
72
+ if (process.platform !== 'win32') {
73
+ try {
74
+ fs.chmodSync(binaryPath, 0o755);
75
+ }
76
+ catch {
77
+ // ignore
78
+ }
79
+ }
80
+ return binaryPath;
81
+ }
82
+ export class DartLanguageServer extends SolidLanguageServer {
83
+ handler;
84
+ constructor(config, loggerLike, repositoryRootPath, options = {}) {
85
+ const solidSettings = new SolidLspSettings(options?.solidlspSettings);
86
+ const runtimeDir = resolveRuntimeDirectory(solidSettings);
87
+ const dependencies = new RuntimeDependencyCollection(DART_DEPENDENCIES);
88
+ const binaryPath = ensureDartBinary(runtimeDir, dependencies, loggerLike?.level);
89
+ const command = `${quoteWindowsPath(binaryPath)} language-server --client-id multilspy.dart --client-version 1.2`;
90
+ const providedHandler = options.handler;
91
+ if (providedHandler && !(providedHandler instanceof NodeLanguageServerHandler)) {
92
+ throw new TypeError('DartLanguageServer requires a NodeLanguageServerHandler when supplying a custom handler.');
93
+ }
94
+ const handler = providedHandler ?? new NodeLanguageServerHandler({
95
+ cmd: command,
96
+ cwd: repositoryRootPath
97
+ });
98
+ super(config, loggerLike, repositoryRootPath, {
99
+ ...options,
100
+ handler,
101
+ solidlspSettings: options?.solidlspSettings
102
+ });
103
+ this.handler = handler;
104
+ this.registerHandlers();
105
+ }
106
+ registerHandlers() {
107
+ const noop = () => undefined;
108
+ this.handler.onNotification('window/logMessage', (payload) => {
109
+ if (payload && typeof payload === 'object' && 'message' in payload) {
110
+ this.logger.info(`dart-language-server: ${payload.message ?? ''}`);
111
+ }
112
+ });
113
+ this.handler.onNotification('$/progress', noop);
114
+ this.handler.onNotification('textDocument/publishDiagnostics', noop);
115
+ this.handler.onNotification('language/status', noop);
116
+ this.handler.onNotification('language/actionableNotification', noop);
117
+ this.handler.onNotification('experimental/serverStatus', noop);
118
+ this.handler.onRequest('client/registerCapability', noop);
119
+ this.handler.onRequest('workspace/executeClientCommand', () => []);
120
+ }
121
+ }
122
+ registerLanguageServer(Language.DART, DartLanguageServer);
@@ -0,0 +1,24 @@
1
+ import { type LogLevel } from '../../serena/util/logging.js';
2
+ import { SolidLanguageServer, type LanguageServerConfigLike, type SolidLspSettingsInit } from '../ls.js';
3
+ import { NodeLanguageServerHandler } from '../ls_handler.js';
4
+ export declare class EclipseJdtLanguageServer extends SolidLanguageServer {
5
+ protected readonly handler: NodeLanguageServerHandler;
6
+ private readonly runtimePaths;
7
+ private initialized;
8
+ private sentIntellicodeCommand;
9
+ constructor(config: LanguageServerConfigLike, loggerLike: {
10
+ level?: number | LogLevel;
11
+ } | null, repositoryRootPath: string, options?: {
12
+ timeout?: number | null;
13
+ solidlspSettings?: SolidLspSettingsInit;
14
+ });
15
+ start(): this;
16
+ stop(shutdownTimeout?: number): void;
17
+ private registerHandlers;
18
+ private initializeLanguageServer;
19
+ private sendWorkspaceConfiguration;
20
+ private buildInitializeParams;
21
+ private verifyCapabilities;
22
+ private handleRegisterCapability;
23
+ private enableIntellicode;
24
+ }