@opensumi/ide-ai-native 3.8.1-next-1741232004.0 → 3.8.1-next-1741250387.0

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 (325) hide show
  1. package/lib/browser/ai-core.contextkeys.d.ts +1 -1
  2. package/lib/browser/ai-core.contextkeys.d.ts.map +1 -1
  3. package/lib/browser/ai-core.contextkeys.js +1 -1
  4. package/lib/browser/ai-core.contextkeys.js.map +1 -1
  5. package/lib/browser/ai-core.contribution.d.ts +0 -5
  6. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  7. package/lib/browser/ai-core.contribution.js +9 -71
  8. package/lib/browser/ai-core.contribution.js.map +1 -1
  9. package/lib/browser/chat/chat-agent.service.d.ts +3 -11
  10. package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
  11. package/lib/browser/chat/chat-agent.service.js +5 -43
  12. package/lib/browser/chat/chat-agent.service.js.map +1 -1
  13. package/lib/browser/chat/chat-manager.service.d.ts +0 -1
  14. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  15. package/lib/browser/chat/chat-manager.service.js +8 -6
  16. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  17. package/lib/browser/chat/chat-model.d.ts +1 -4
  18. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  19. package/lib/browser/chat/chat-model.js +2 -57
  20. package/lib/browser/chat/chat-model.js.map +1 -1
  21. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  22. package/lib/browser/chat/chat-proxy.service.js +6 -13
  23. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  24. package/lib/browser/chat/chat.api.service.d.ts +2 -1
  25. package/lib/browser/chat/chat.api.service.d.ts.map +1 -1
  26. package/lib/browser/chat/chat.api.service.js +4 -0
  27. package/lib/browser/chat/chat.api.service.js.map +1 -1
  28. package/lib/browser/chat/chat.internal.service.d.ts +0 -2
  29. package/lib/browser/chat/chat.internal.service.d.ts.map +1 -1
  30. package/lib/browser/chat/chat.internal.service.js +0 -3
  31. package/lib/browser/chat/chat.internal.service.js.map +1 -1
  32. package/lib/browser/chat/chat.module.less +2 -1
  33. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  34. package/lib/browser/chat/chat.view.js +29 -46
  35. package/lib/browser/chat/chat.view.js.map +1 -1
  36. package/lib/browser/components/ChatContext/index.js +2 -2
  37. package/lib/browser/components/ChatContext/index.js.map +1 -1
  38. package/lib/browser/components/ChatInput.d.ts.map +1 -1
  39. package/lib/browser/components/ChatInput.js +1 -29
  40. package/lib/browser/components/ChatInput.js.map +1 -1
  41. package/lib/browser/components/ChatReply.js +1 -6
  42. package/lib/browser/components/ChatReply.js.map +1 -1
  43. package/lib/browser/components/ChatThinking.d.ts +2 -0
  44. package/lib/browser/components/ChatThinking.d.ts.map +1 -1
  45. package/lib/browser/components/ChatThinking.js +10 -2
  46. package/lib/browser/components/ChatThinking.js.map +1 -1
  47. package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
  48. package/lib/browser/components/ChatToolRender.js +3 -2
  49. package/lib/browser/components/ChatToolRender.js.map +1 -1
  50. package/lib/browser/components/WelcomeMsg.js +1 -1
  51. package/lib/browser/components/WelcomeMsg.js.map +1 -1
  52. package/lib/browser/components/chat-history.module.less +1 -2
  53. package/lib/browser/components/components.module.less +0 -22
  54. package/lib/browser/context/llm-context.service.d.ts +5 -18
  55. package/lib/browser/context/llm-context.service.d.ts.map +1 -1
  56. package/lib/browser/context/llm-context.service.js +47 -81
  57. package/lib/browser/context/llm-context.service.js.map +1 -1
  58. package/lib/browser/contrib/inline-completions/inline-completions.controller.js +1 -1
  59. package/lib/browser/contrib/inline-completions/inline-completions.controller.js.map +1 -1
  60. package/lib/browser/contrib/inline-completions/prompt/matcher.js +2 -2
  61. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.d.ts +1 -1
  62. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.js +2 -2
  63. package/lib/browser/contrib/intelligent-completions/index.d.ts +1 -2
  64. package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
  65. package/lib/browser/contrib/intelligent-completions/index.js +1 -4
  66. package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
  67. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +2 -2
  68. package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -1
  69. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
  70. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +5 -6
  71. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
  72. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.d.ts.map +1 -1
  73. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js +2 -4
  74. package/lib/browser/contrib/intelligent-completions/view/code-edits-previewer.js.map +1 -1
  75. package/lib/browser/contrib/intelligent-completions/view/default.d.ts.map +1 -1
  76. package/lib/browser/contrib/intelligent-completions/view/default.js +11 -23
  77. package/lib/browser/contrib/intelligent-completions/view/default.js.map +1 -1
  78. package/lib/browser/index.d.ts.map +1 -1
  79. package/lib/browser/index.js +0 -4
  80. package/lib/browser/index.js.map +1 -1
  81. package/lib/browser/layout/layout.module.less +4 -4
  82. package/lib/browser/mcp/base-apply.service.d.ts +11 -26
  83. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  84. package/lib/browser/mcp/base-apply.service.js +103 -255
  85. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  86. package/lib/browser/mcp/mcp-server-proxy.service.d.ts +0 -6
  87. package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +1 -1
  88. package/lib/browser/mcp/mcp-server-proxy.service.js +1 -10
  89. package/lib/browser/mcp/mcp-server-proxy.service.js.map +1 -1
  90. package/lib/browser/mcp/mcp-server.feature.registry.d.ts +0 -8
  91. package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
  92. package/lib/browser/mcp/mcp-server.feature.registry.js +3 -28
  93. package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
  94. package/lib/browser/mcp/tools/components/EditFile.d.ts.map +1 -1
  95. package/lib/browser/mcp/tools/components/EditFile.js +9 -15
  96. package/lib/browser/mcp/tools/components/EditFile.js.map +1 -1
  97. package/lib/browser/mcp/tools/components/SearchResult.d.ts +11 -0
  98. package/lib/browser/mcp/tools/components/SearchResult.d.ts.map +1 -0
  99. package/lib/browser/mcp/tools/components/{ExpandableFileList.js → SearchResult.js} +19 -29
  100. package/lib/browser/mcp/tools/components/SearchResult.js.map +1 -0
  101. package/lib/browser/mcp/tools/components/Terminal.d.ts.map +1 -1
  102. package/lib/browser/mcp/tools/components/Terminal.js +2 -10
  103. package/lib/browser/mcp/tools/components/Terminal.js.map +1 -1
  104. package/lib/browser/mcp/tools/components/index.module.less +0 -4
  105. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +0 -1
  106. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  107. package/lib/browser/mcp/tools/createNewFileWithText.js +11 -19
  108. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  109. package/lib/browser/mcp/tools/fileSearch.d.ts +0 -1
  110. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  111. package/lib/browser/mcp/tools/fileSearch.js +5 -14
  112. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  113. package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +1 -1
  114. package/lib/browser/mcp/tools/getDiagnosticsByPath.js +0 -1
  115. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
  116. package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
  117. package/lib/browser/mcp/tools/grepSearch.js +3 -6
  118. package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
  119. package/lib/browser/mcp/tools/handlers/EditFile.js +1 -1
  120. package/lib/browser/mcp/tools/handlers/EditFile.js.map +1 -1
  121. package/lib/browser/mcp/tools/handlers/ListDir.d.ts +0 -1
  122. package/lib/browser/mcp/tools/handlers/ListDir.d.ts.map +1 -1
  123. package/lib/browser/mcp/tools/handlers/ListDir.js +0 -3
  124. package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
  125. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
  126. package/lib/browser/mcp/tools/handlers/RunCommand.js +0 -2
  127. package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
  128. package/lib/browser/mcp/tools/listDir.d.ts +0 -1
  129. package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
  130. package/lib/browser/mcp/tools/listDir.js +4 -35
  131. package/lib/browser/mcp/tools/listDir.js.map +1 -1
  132. package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +1 -1
  133. package/lib/browser/mcp/tools/runTerminalCmd.js +0 -1
  134. package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
  135. package/lib/browser/model/msg-history-manager.d.ts +2 -2
  136. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  137. package/lib/browser/model/msg-history-manager.js +10 -4
  138. package/lib/browser/model/msg-history-manager.js.map +1 -1
  139. package/lib/browser/preferences/schema.d.ts.map +1 -1
  140. package/lib/browser/preferences/schema.js +2 -22
  141. package/lib/browser/preferences/schema.js.map +1 -1
  142. package/lib/browser/types.d.ts +0 -4
  143. package/lib/browser/types.d.ts.map +1 -1
  144. package/lib/browser/widget/inline-chat/inline-chat-controller.d.ts.map +1 -1
  145. package/lib/browser/widget/inline-chat/inline-chat-controller.js +1 -6
  146. package/lib/browser/widget/inline-chat/inline-chat-controller.js.map +1 -1
  147. package/lib/browser/widget/inline-diff/inline-diff-manager.d.ts.map +1 -1
  148. package/lib/browser/widget/inline-diff/inline-diff-manager.js +8 -68
  149. package/lib/browser/widget/inline-diff/inline-diff-manager.js.map +1 -1
  150. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +4 -10
  151. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  152. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +3 -14
  153. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  154. package/lib/browser/widget/inline-diff/inline-diff-widget.module.less +4 -25
  155. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +3 -3
  156. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  157. package/lib/browser/widget/inline-diff/inline-diff.controller.js +5 -10
  158. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  159. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +17 -46
  160. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  161. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +53 -110
  162. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  163. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +0 -4
  164. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  165. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +1 -26
  166. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  167. package/lib/common/index.d.ts +4 -13
  168. package/lib/common/index.d.ts.map +1 -1
  169. package/lib/common/index.js +1 -5
  170. package/lib/common/index.js.map +1 -1
  171. package/lib/common/llm-context.d.ts +9 -13
  172. package/lib/common/llm-context.d.ts.map +1 -1
  173. package/lib/common/llm-context.js.map +1 -1
  174. package/lib/common/mcp-server-manager.d.ts +1 -17
  175. package/lib/common/mcp-server-manager.d.ts.map +1 -1
  176. package/lib/common/mcp-server-manager.js.map +1 -1
  177. package/lib/common/prompts/context-prompt-provider.d.ts +3 -4
  178. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  179. package/lib/common/prompts/context-prompt-provider.js +22 -33
  180. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  181. package/lib/common/tool-invocation-registry.d.ts +2 -2
  182. package/lib/common/tool-invocation-registry.d.ts.map +1 -1
  183. package/lib/common/tool-invocation-registry.js +1 -1
  184. package/lib/common/tool-invocation-registry.js.map +1 -1
  185. package/lib/common/types.d.ts +0 -8
  186. package/lib/common/types.d.ts.map +1 -1
  187. package/lib/common/utils.d.ts.map +1 -1
  188. package/lib/common/utils.js +1 -2
  189. package/lib/common/utils.js.map +1 -1
  190. package/lib/node/anthropic/anthropic-language-model.d.ts +1 -3
  191. package/lib/node/anthropic/anthropic-language-model.d.ts.map +1 -1
  192. package/lib/node/anthropic/anthropic-language-model.js +2 -6
  193. package/lib/node/anthropic/anthropic-language-model.js.map +1 -1
  194. package/lib/node/base-language-model.d.ts +3 -6
  195. package/lib/node/base-language-model.d.ts.map +1 -1
  196. package/lib/node/base-language-model.js +31 -14
  197. package/lib/node/base-language-model.js.map +1 -1
  198. package/lib/node/deepseek/deepseek-language-model.d.ts +1 -3
  199. package/lib/node/deepseek/deepseek-language-model.d.ts.map +1 -1
  200. package/lib/node/deepseek/deepseek-language-model.js +2 -6
  201. package/lib/node/deepseek/deepseek-language-model.js.map +1 -1
  202. package/lib/node/mcp/sumi-mcp-server.d.ts +3 -17
  203. package/lib/node/mcp/sumi-mcp-server.d.ts.map +1 -1
  204. package/lib/node/mcp/sumi-mcp-server.js +6 -59
  205. package/lib/node/mcp/sumi-mcp-server.js.map +1 -1
  206. package/lib/node/mcp-server-manager-impl.d.ts +3 -4
  207. package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
  208. package/lib/node/mcp-server-manager-impl.js +6 -26
  209. package/lib/node/mcp-server-manager-impl.js.map +1 -1
  210. package/lib/node/mcp-server.d.ts +16 -5
  211. package/lib/node/mcp-server.d.ts.map +1 -1
  212. package/lib/node/mcp-server.js +6 -12
  213. package/lib/node/mcp-server.js.map +1 -1
  214. package/lib/node/openai/openai-language-model.d.ts +2 -4
  215. package/lib/node/openai/openai-language-model.d.ts.map +1 -1
  216. package/lib/node/openai/openai-language-model.js +4 -6
  217. package/lib/node/openai/openai-language-model.js.map +1 -1
  218. package/package.json +26 -27
  219. package/src/browser/ai-core.contextkeys.ts +3 -3
  220. package/src/browser/ai-core.contribution.ts +12 -89
  221. package/src/browser/chat/chat-agent.service.ts +9 -53
  222. package/src/browser/chat/chat-manager.service.ts +8 -10
  223. package/src/browser/chat/chat-model.ts +5 -63
  224. package/src/browser/chat/chat-proxy.service.ts +8 -16
  225. package/src/browser/chat/chat.api.service.ts +5 -1
  226. package/src/browser/chat/chat.internal.service.ts +0 -4
  227. package/src/browser/chat/chat.module.less +2 -1
  228. package/src/browser/chat/chat.view.tsx +69 -63
  229. package/src/browser/components/ChatContext/index.tsx +2 -2
  230. package/src/browser/components/ChatInput.tsx +6 -81
  231. package/src/browser/components/ChatReply.tsx +6 -6
  232. package/src/browser/components/ChatThinking.tsx +9 -3
  233. package/src/browser/components/ChatToolRender.tsx +2 -1
  234. package/src/browser/components/WelcomeMsg.tsx +1 -1
  235. package/src/browser/components/chat-history.module.less +1 -2
  236. package/src/browser/components/components.module.less +0 -22
  237. package/src/browser/context/llm-context.service.ts +54 -100
  238. package/src/browser/contrib/inline-completions/inline-completions.controller.ts +1 -1
  239. package/src/browser/contrib/inline-completions/prompt/matcher.ts +2 -2
  240. package/src/browser/contrib/inline-completions/prompt/similarSnippets.ts +2 -2
  241. package/src/browser/contrib/intelligent-completions/index.ts +1 -5
  242. package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +3 -3
  243. package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +6 -7
  244. package/src/browser/contrib/intelligent-completions/view/code-edits-previewer.ts +2 -4
  245. package/src/browser/contrib/intelligent-completions/view/default.ts +19 -34
  246. package/src/browser/index.ts +0 -4
  247. package/src/browser/layout/layout.module.less +4 -4
  248. package/src/browser/mcp/base-apply.service.ts +109 -306
  249. package/src/browser/mcp/mcp-server-proxy.service.ts +2 -14
  250. package/src/browser/mcp/mcp-server.feature.registry.ts +4 -35
  251. package/src/browser/mcp/tools/components/EditFile.tsx +9 -16
  252. package/src/browser/mcp/tools/components/SearchResult.tsx +92 -0
  253. package/src/browser/mcp/tools/components/Terminal.tsx +2 -13
  254. package/src/browser/mcp/tools/components/index.module.less +0 -4
  255. package/src/browser/mcp/tools/createNewFileWithText.ts +12 -21
  256. package/src/browser/mcp/tools/fileSearch.ts +4 -14
  257. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +0 -1
  258. package/src/browser/mcp/tools/grepSearch.ts +3 -6
  259. package/src/browser/mcp/tools/handlers/EditFile.ts +1 -1
  260. package/src/browser/mcp/tools/handlers/ListDir.ts +0 -4
  261. package/src/browser/mcp/tools/handlers/RunCommand.ts +0 -2
  262. package/src/browser/mcp/tools/listDir.ts +5 -36
  263. package/src/browser/mcp/tools/runTerminalCmd.ts +0 -1
  264. package/src/browser/model/msg-history-manager.ts +11 -5
  265. package/src/browser/preferences/schema.ts +2 -22
  266. package/src/browser/types.ts +0 -1
  267. package/src/browser/widget/inline-chat/inline-chat-controller.ts +1 -5
  268. package/src/browser/widget/inline-diff/inline-diff-manager.tsx +21 -143
  269. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +7 -25
  270. package/src/browser/widget/inline-diff/inline-diff-widget.module.less +4 -25
  271. package/src/browser/widget/inline-diff/inline-diff.controller.ts +8 -16
  272. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +68 -139
  273. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +1 -30
  274. package/src/common/index.ts +4 -15
  275. package/src/common/llm-context.ts +4 -10
  276. package/src/common/mcp-server-manager.ts +1 -17
  277. package/src/common/prompts/context-prompt-provider.ts +29 -38
  278. package/src/common/tool-invocation-registry.ts +2 -2
  279. package/src/common/types.ts +0 -8
  280. package/src/common/utils.ts +1 -3
  281. package/src/node/anthropic/anthropic-language-model.ts +2 -7
  282. package/src/node/base-language-model.ts +38 -25
  283. package/src/node/deepseek/deepseek-language-model.ts +2 -7
  284. package/src/node/mcp/sumi-mcp-server.ts +9 -67
  285. package/src/node/mcp-server-manager-impl.ts +9 -30
  286. package/src/node/mcp-server.ts +14 -11
  287. package/src/node/openai/openai-language-model.ts +4 -8
  288. package/lib/browser/mcp/config/components/mcp-config.module.less +0 -178
  289. package/lib/browser/mcp/config/components/mcp-config.view.d.ts +0 -3
  290. package/lib/browser/mcp/config/components/mcp-config.view.d.ts.map +0 -1
  291. package/lib/browser/mcp/config/components/mcp-config.view.js +0 -150
  292. package/lib/browser/mcp/config/components/mcp-config.view.js.map +0 -1
  293. package/lib/browser/mcp/config/components/mcp-server-form.d.ts +0 -16
  294. package/lib/browser/mcp/config/components/mcp-server-form.d.ts.map +0 -1
  295. package/lib/browser/mcp/config/components/mcp-server-form.js +0 -84
  296. package/lib/browser/mcp/config/components/mcp-server-form.js.map +0 -1
  297. package/lib/browser/mcp/config/components/mcp-server-form.module.less +0 -78
  298. package/lib/browser/mcp/config/mcp-config.commands.d.ts +0 -10
  299. package/lib/browser/mcp/config/mcp-config.commands.d.ts.map +0 -1
  300. package/lib/browser/mcp/config/mcp-config.commands.js +0 -35
  301. package/lib/browser/mcp/config/mcp-config.commands.js.map +0 -1
  302. package/lib/browser/mcp/config/mcp-config.contribution.d.ts +0 -16
  303. package/lib/browser/mcp/config/mcp-config.contribution.d.ts.map +0 -1
  304. package/lib/browser/mcp/config/mcp-config.contribution.js +0 -62
  305. package/lib/browser/mcp/config/mcp-config.contribution.js.map +0 -1
  306. package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts +0 -13
  307. package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts.map +0 -1
  308. package/lib/browser/mcp/tools/components/ExpandableFileList.js.map +0 -1
  309. package/lib/common/model.d.ts +0 -12
  310. package/lib/common/model.d.ts.map +0 -1
  311. package/lib/common/model.js +0 -83
  312. package/lib/common/model.js.map +0 -1
  313. package/lib/node/openai-compatible/openai-compatible-language-model.d.ts +0 -10
  314. package/lib/node/openai-compatible/openai-compatible-language-model.d.ts.map +0 -1
  315. package/lib/node/openai-compatible/openai-compatible-language-model.js +0 -32
  316. package/lib/node/openai-compatible/openai-compatible-language-model.js.map +0 -1
  317. package/src/browser/mcp/config/components/mcp-config.module.less +0 -178
  318. package/src/browser/mcp/config/components/mcp-config.view.tsx +0 -215
  319. package/src/browser/mcp/config/components/mcp-server-form.module.less +0 -78
  320. package/src/browser/mcp/config/components/mcp-server-form.tsx +0 -144
  321. package/src/browser/mcp/config/mcp-config.commands.ts +0 -29
  322. package/src/browser/mcp/config/mcp-config.contribution.ts +0 -65
  323. package/src/browser/mcp/tools/components/ExpandableFileList.tsx +0 -133
  324. package/src/common/model.ts +0 -90
  325. package/src/node/openai-compatible/openai-compatible-language-model.ts +0 -30
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openAiNativeModels = exports.anthropicModels = exports.deepSeekModels = void 0;
4
- exports.deepSeekModels = {
5
- 'deepseek-chat': {
6
- maxTokens: 8000,
7
- contextWindow: 64000,
8
- supportsImages: false,
9
- },
10
- 'deepseek-reasoner': {
11
- maxTokens: 8000,
12
- contextWindow: 64000,
13
- supportsImages: false,
14
- temperature: 0.7,
15
- topP: 0.95,
16
- },
17
- };
18
- exports.anthropicModels = {
19
- 'claude-3-7-sonnet-20250219': {
20
- maxTokens: 8192,
21
- contextWindow: 200000,
22
- supportsImages: true,
23
- },
24
- 'claude-3-5-sonnet-20241022': {
25
- maxTokens: 8192,
26
- contextWindow: 200000,
27
- supportsImages: true,
28
- },
29
- 'claude-3-5-haiku-20241022': {
30
- maxTokens: 8192,
31
- contextWindow: 200000,
32
- supportsImages: false,
33
- },
34
- 'claude-3-opus-20240229': {
35
- maxTokens: 4096,
36
- contextWindow: 200000,
37
- supportsImages: true,
38
- },
39
- 'claude-3-haiku-20240307': {
40
- maxTokens: 4096,
41
- contextWindow: 200000,
42
- supportsImages: true,
43
- },
44
- }; // as const assertion makes the object deeply readonly
45
- exports.openAiNativeModels = {
46
- 'o3-mini': {
47
- maxTokens: 100000,
48
- contextWindow: 200000,
49
- supportsImages: false,
50
- },
51
- // don't support tool use yet
52
- o1: {
53
- maxTokens: 100000,
54
- contextWindow: 200000,
55
- supportsImages: true,
56
- },
57
- 'o1-preview': {
58
- maxTokens: 32768,
59
- contextWindow: 128000,
60
- supportsImages: true,
61
- },
62
- 'o1-mini': {
63
- maxTokens: 65536,
64
- contextWindow: 128000,
65
- supportsImages: true,
66
- },
67
- 'gpt-4o': {
68
- maxTokens: 4096,
69
- contextWindow: 128000,
70
- supportsImages: true,
71
- },
72
- 'gpt-4o-mini': {
73
- maxTokens: 16384,
74
- contextWindow: 128000,
75
- supportsImages: true,
76
- },
77
- 'gpt-4.5-preview': {
78
- maxTokens: 16384,
79
- contextWindow: 128000,
80
- supportsImages: true,
81
- },
82
- };
83
- //# sourceMappingURL=model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/common/model.ts"],"names":[],"mappings":";;;AASa,QAAA,cAAc,GAAG;IAC5B,eAAe,EAAE;QACf,SAAS,EAAE,IAAK;QAChB,aAAa,EAAE,KAAM;QACrB,cAAc,EAAE,KAAK;KACtB;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAK;QAChB,aAAa,EAAE,KAAM;QACrB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,IAAI;KACX;CAC2B,CAAC;AAElB,QAAA,eAAe,GAAG;IAC7B,4BAA4B,EAAE;QAC5B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,4BAA4B,EAAE;QAC5B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,2BAA2B,EAAE;QAC3B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,wBAAwB,EAAE;QACxB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,yBAAyB,EAAE;QACzB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;CAC2B,CAAC,CAAC,sDAAsD;AAEzE,QAAA,kBAAkB,GAAG;IAChC,SAAS,EAAE;QACT,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,6BAA6B;IAC7B,EAAE,EAAE;QACF,SAAS,EAAE,MAAO;QAClB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,IAAK;QAChB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,aAAa,EAAE;QACb,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,KAAM;QACjB,aAAa,EAAE,MAAO;QACtB,cAAc,EAAE,IAAI;KACrB;CAC2B,CAAC"}
@@ -1,10 +0,0 @@
1
- import { OpenAICompatibleProvider } from '@ai-sdk/openai-compatible';
2
- import { LanguageModelV1 } from 'ai';
3
- import { IAIBackServiceOption } from '@opensumi/ide-core-common';
4
- import { BaseLanguageModel } from '../base-language-model';
5
- export declare class OpenAICompatibleModel extends BaseLanguageModel {
6
- protected initializeProvider(options: IAIBackServiceOption): OpenAICompatibleProvider;
7
- protected getModelIdentifier(provider: OpenAICompatibleProvider, modelId?: string): LanguageModelV1;
8
- protected getModelInfo(): undefined;
9
- }
10
- //# sourceMappingURL=openai-compatible-language-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compatible-language-model.d.ts","sourceRoot":"","sources":["../../../src/node/openai-compatible/openai-compatible-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA0B,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,OAAO,EAA6B,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,qBACa,qBAAsB,SAAQ,iBAAiB;IAC1D,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,wBAAwB;IAYrF,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,OAAO,SAAa,GAAG,eAAe;IAIvG,SAAS,CAAC,YAAY;CAGvB"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAICompatibleModel = void 0;
4
- const tslib_1 = require("tslib");
5
- const openai_compatible_1 = require("@ai-sdk/openai-compatible");
6
- const di_1 = require("@opensumi/di");
7
- const ide_core_common_1 = require("@opensumi/ide-core-common");
8
- const base_language_model_1 = require("../base-language-model");
9
- let OpenAICompatibleModel = class OpenAICompatibleModel extends base_language_model_1.BaseLanguageModel {
10
- initializeProvider(options) {
11
- const apiKey = options.apiKey;
12
- if (!apiKey) {
13
- throw new Error(`Please provide OpenAI API Key in preferences (${ide_core_common_1.AINativeSettingSectionsId.OpenaiApiKey})`);
14
- }
15
- return (0, openai_compatible_1.createOpenAICompatible)({
16
- apiKey,
17
- baseURL: options.baseURL || 'https://dashscope.aliyuncs.com/compatible-mode/v1',
18
- name: 'openai',
19
- });
20
- }
21
- getModelIdentifier(provider, modelId = 'qwen-max') {
22
- return provider(modelId);
23
- }
24
- getModelInfo() {
25
- return undefined;
26
- }
27
- };
28
- exports.OpenAICompatibleModel = OpenAICompatibleModel;
29
- exports.OpenAICompatibleModel = OpenAICompatibleModel = tslib_1.__decorate([
30
- (0, di_1.Injectable)()
31
- ], OpenAICompatibleModel);
32
- //# sourceMappingURL=openai-compatible-language-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compatible-language-model.js","sourceRoot":"","sources":["../../../src/node/openai-compatible/openai-compatible-language-model.ts"],"names":[],"mappings":";;;;AAAA,iEAA6F;AAG7F,qCAA0C;AAC1C,+DAA4F;AAE5F,gEAA2D;AAGpD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,uCAAiB;IAChD,kBAAkB,CAAC,OAA6B;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,2CAAyB,CAAC,YAAY,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,IAAA,0CAAsB,EAAC;YAC5B,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,mDAAmD;YAC/E,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,QAAkC,EAAE,OAAO,GAAG,UAAU;QACnF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAES,YAAY;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AApBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAU,GAAE;GACA,qBAAqB,CAoBjC"}
@@ -1,178 +0,0 @@
1
- .container {
2
- padding: 20px;
3
- color: var(--foreground);
4
- }
5
-
6
- .header {
7
- display: flex;
8
- justify-content: space-between;
9
- align-items: flex-start;
10
- margin-bottom: 24px;
11
- }
12
-
13
- .title {
14
- margin: 0 0 8px 0;
15
- font-size: 24px;
16
- font-weight: 600;
17
- }
18
-
19
- .description {
20
- margin: 0;
21
- color: var(--descriptionForeground);
22
- font-size: 14px;
23
- }
24
-
25
- .addButton {
26
- padding: 8px 16px;
27
- border-radius: 4px;
28
- background-color: var(--button-primary-background);
29
- color: var(--button-primary-foreground);
30
- border: none;
31
- cursor: pointer;
32
- font-size: 13px;
33
-
34
- &:hover {
35
- background-color: var(--button-primary-hover-background);
36
- }
37
- }
38
-
39
- .serversList {
40
- display: flex;
41
- flex-direction: column;
42
- gap: 12px;
43
- }
44
-
45
- .serverItem {
46
- padding: 16px;
47
- border-radius: 8px;
48
- background-color: var(--editorWidget-background);
49
- border: 1px solid var(--border-color);
50
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
51
- transition: all 0.2s ease;
52
-
53
- &:hover {
54
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
55
- border-color: var(--focusBorder);
56
- }
57
- }
58
-
59
- .serverHeader {
60
- display: flex;
61
- justify-content: space-between;
62
- align-items: center;
63
- margin-bottom: 12px;
64
- }
65
-
66
- .serverTitleRow {
67
- display: flex;
68
- align-items: center;
69
- gap: 8px;
70
- }
71
-
72
- .serverName {
73
- margin: 0;
74
- font-size: 14px;
75
- font-weight: 500;
76
- }
77
-
78
- .serverStatus,
79
- .serverType {
80
- font-size: 12px;
81
- padding: 2px 8px;
82
- border-radius: 12px;
83
- font-weight: 500;
84
- display: inline-flex;
85
- align-items: center;
86
- }
87
-
88
- .serverType {
89
- background-color: var(--editor-background);
90
- color: var(--descriptionForeground);
91
- }
92
-
93
- .running {
94
- background-color: var(--notification-info-background);
95
- color: var(--notification-info-foreground);
96
- }
97
-
98
- .stopped {
99
- background-color: var(--notification-error-background);
100
- color: var(--notification-error-foreground);
101
- }
102
-
103
- .serverActions {
104
- display: flex;
105
- gap: 4px;
106
- }
107
-
108
- .iconButton {
109
- padding: 4px;
110
- border: none;
111
- background: none;
112
- color: var(--icon-foreground);
113
- cursor: pointer;
114
- border-radius: 4px;
115
-
116
- &:hover {
117
- background-color: var(--list-hover-background);
118
- }
119
- }
120
-
121
- .serverDetail {
122
- margin-top: 12px;
123
- padding: 12px;
124
- border-radius: 6px;
125
- background-color: var(--editor-background);
126
- font-size: 13px;
127
-
128
- &:not(:last-child) {
129
- margin-bottom: 8px;
130
- }
131
- }
132
-
133
- .detailRow {
134
- display: flex;
135
- gap: 8px;
136
- margin-bottom: 4px;
137
- align-items: center;
138
-
139
- &:last-child {
140
- margin-bottom: 0;
141
- }
142
- }
143
-
144
- .detailLabel {
145
- color: var(--descriptionForeground);
146
- min-width: 70px;
147
- height: 24px;
148
- display: flex;
149
- align-items: center;
150
- }
151
-
152
- .detailContent {
153
- color: var(--foreground);
154
- word-break: break-all;
155
- flex: 1;
156
- background-color: var(--editor-background);
157
- padding: 4px 8px;
158
- border-radius: 4px;
159
- font-family: var(--monaco-monospace-font);
160
- min-height: 24px;
161
- display: flex;
162
- align-items: center;
163
- gap: 8px;
164
- flex-wrap: wrap;
165
- }
166
-
167
- .toolTag {
168
- display: inline-flex;
169
- align-items: center;
170
- padding: 2px 8px;
171
- background-color: var(--editorWidget-background);
172
- color: var(--button-secondary-foreground);
173
- border-radius: 12px;
174
- font-size: 12px;
175
- font-weight: 500;
176
- transition: all 0.2s ease;
177
- border: 1px solid var(--border-color);
178
- }
@@ -1,215 +0,0 @@
1
- import React from 'react';
2
-
3
- import { AINativeSettingSectionsId, ILogger, useInjectable } from '@opensumi/ide-core-browser';
4
- import { PreferenceService } from '@opensumi/ide-core-browser/lib/preferences';
5
-
6
- import { BUILTIN_MCP_SERVER_NAME } from '../../../../common';
7
- import { MCPServerDescription } from '../../../../common/mcp-server-manager';
8
- import { MCPServerProxyService } from '../../mcp-server-proxy.service';
9
-
10
- import styles from './mcp-config.module.less';
11
- import { MCPServerForm, MCPServerFormData } from './mcp-server-form';
12
-
13
- interface MCPServer {
14
- name: string;
15
- isStarted: boolean;
16
- tools?: string[];
17
- command?: string;
18
- type?: string;
19
- }
20
-
21
- export const MCPConfigView: React.FC = () => {
22
- const mcpServerProxyService = useInjectable<MCPServerProxyService>(MCPServerProxyService);
23
- const preferenceService = useInjectable<PreferenceService>(PreferenceService);
24
- const logger = useInjectable<ILogger>(ILogger);
25
- const [servers, setServers] = React.useState<MCPServer[]>([]);
26
- const [formVisible, setFormVisible] = React.useState(false);
27
- const [editingServer, setEditingServer] = React.useState<MCPServerFormData | undefined>();
28
-
29
- const loadServers = React.useCallback(async () => {
30
- const allServers = await mcpServerProxyService.$getServers();
31
- setServers(allServers);
32
- }, [mcpServerProxyService]);
33
-
34
- React.useEffect(() => {
35
- loadServers();
36
- const disposer = mcpServerProxyService.onChangeMCPServers(() => {
37
- loadServers();
38
- });
39
-
40
- return () => {
41
- disposer.dispose();
42
- };
43
- }, [mcpServerProxyService, loadServers]);
44
-
45
- const handleServerControl = async (serverName: string, start: boolean) => {
46
- try {
47
- if (start) {
48
- await mcpServerProxyService.$startServer(serverName);
49
- } else {
50
- await mcpServerProxyService.$stopServer(serverName);
51
- }
52
-
53
- // Update enabled state in preferences
54
- const servers = preferenceService.get<MCPServerDescription[]>(AINativeSettingSectionsId.MCPServers, []);
55
- let updatedServers = servers;
56
-
57
- // 处理内置服务器的特殊情况
58
- if (serverName === BUILTIN_MCP_SERVER_NAME) {
59
- const builtinServerExists = servers.some((server) => server.name === BUILTIN_MCP_SERVER_NAME);
60
- if (!builtinServerExists && !start) {
61
- // 如果是停止内置服务器且之前没有配置,添加一个新的配置项
62
- // 内置服务器不需要 command,因为它是直接集成在 IDE 中的
63
- updatedServers = [
64
- ...servers,
65
- {
66
- name: BUILTIN_MCP_SERVER_NAME,
67
- enabled: false,
68
- command: '', // 内置服务器的 command 为空字符串
69
- },
70
- ];
71
- } else {
72
- // 如果已经存在配置,更新 enabled 状态
73
- updatedServers = servers.map((server) => {
74
- if (server.name === BUILTIN_MCP_SERVER_NAME) {
75
- return { ...server, enabled: start };
76
- }
77
- return server;
78
- });
79
- }
80
- } else {
81
- // 处理其他外部服务器
82
- updatedServers = servers.map((server) => {
83
- if (server.name === serverName) {
84
- return { ...server, enabled: start };
85
- }
86
- return server;
87
- });
88
- }
89
-
90
- await preferenceService.set(AINativeSettingSectionsId.MCPServers, updatedServers);
91
- await loadServers();
92
- } catch (error) {
93
- logger.error(`Failed to ${start ? 'start' : 'stop'} server ${serverName}:`, error);
94
- }
95
- };
96
-
97
- const handleAddServer = () => {
98
- setEditingServer(undefined);
99
- setFormVisible(true);
100
- };
101
-
102
- const handleEditServer = (server: MCPServer) => {
103
- const servers = preferenceService.get<MCPServerFormData[]>(AINativeSettingSectionsId.MCPServers, []);
104
- const serverConfig = servers.find((s) => s.name === server.name);
105
-
106
- if (serverConfig) {
107
- setEditingServer(serverConfig);
108
- setFormVisible(true);
109
- }
110
- };
111
-
112
- const handleDeleteServer = async (serverName: string) => {
113
- const servers = preferenceService.get<MCPServerFormData[]>(AINativeSettingSectionsId.MCPServers, []);
114
- const updatedServers = servers.filter((s) => s.name !== serverName);
115
- await preferenceService.set(AINativeSettingSectionsId.MCPServers, updatedServers);
116
- await loadServers();
117
- };
118
-
119
- const handleSaveServer = async (data: MCPServerFormData) => {
120
- const servers = preferenceService.get<MCPServerFormData[]>(AINativeSettingSectionsId.MCPServers, []);
121
- const existingIndex = servers.findIndex((s) => s.name === data.name);
122
-
123
- if (existingIndex >= 0) {
124
- servers[existingIndex] = data;
125
- } else {
126
- servers.push(data);
127
- }
128
-
129
- await preferenceService.set(AINativeSettingSectionsId.MCPServers, servers);
130
- setFormVisible(false);
131
- await loadServers();
132
- };
133
-
134
- return (
135
- <div className={styles.container}>
136
- <div className={styles.header}>
137
- <div>
138
- <h2 className={styles.title}>MCP Servers</h2>
139
- <p className={styles.description}>Manage your MCP server connections.</p>
140
- </div>
141
- <button className={styles.addButton} onClick={handleAddServer}>
142
- + Add new MCP server
143
- </button>
144
- </div>
145
- <div className={styles.serversList}>
146
- {servers.map((server) => (
147
- <div key={server.name} className={styles.serverItem}>
148
- <div className={styles.serverHeader}>
149
- <div className={styles.serverTitleRow}>
150
- <h3 className={styles.serverName}>{server.name}</h3>
151
- </div>
152
- <div className={styles.serverActions}>
153
- <button className={styles.iconButton} title='Edit' onClick={() => handleEditServer(server)}>
154
- <i className='codicon codicon-edit' />
155
- </button>
156
- <button
157
- className={styles.iconButton}
158
- title={server.isStarted ? 'Stop' : 'Start'}
159
- onClick={() => handleServerControl(server.name, !server.isStarted)}
160
- >
161
- <i className={`codicon ${server.isStarted ? 'codicon-debug-stop' : 'codicon-debug-start'}`} />
162
- </button>
163
- <button className={styles.iconButton} title='Delete' onClick={() => handleDeleteServer(server.name)}>
164
- <i className='codicon codicon-trash' />
165
- </button>
166
- </div>
167
- </div>
168
- <div className={styles.serverDetail}>
169
- <div className={styles.detailRow}>
170
- <span className={styles.detailLabel}>Status:</span>
171
- <span className={`${styles.serverStatus} ${server.isStarted ? styles.running : styles.stopped}`}>
172
- {server.isStarted ? 'Running' : 'Stopped'}
173
- </span>
174
- </div>
175
- {server.type && (
176
- <div className={styles.detailRow}>
177
- <span className={styles.detailLabel}>Type:</span>
178
- <span className={styles.serverType}>{server.type}</span>
179
- </div>
180
- )}
181
- </div>
182
- {server.tools && server.tools.length > 0 && (
183
- <div className={styles.serverDetail}>
184
- <div className={styles.detailRow}>
185
- <span className={styles.detailLabel}>Tools:</span>
186
- <span className={styles.detailContent}>
187
- {server.tools.map((tool, index) => (
188
- <span key={index} className={styles.toolTag}>
189
- {tool}
190
- </span>
191
- ))}
192
- </span>
193
- </div>
194
- </div>
195
- )}
196
- {server.command && (
197
- <div className={styles.serverDetail}>
198
- <div className={styles.detailRow}>
199
- <span className={styles.detailLabel}>Command:</span>
200
- <span className={styles.detailContent}>{server.command}</span>
201
- </div>
202
- </div>
203
- )}
204
- </div>
205
- ))}
206
- </div>
207
- <MCPServerForm
208
- visible={formVisible}
209
- initialData={editingServer}
210
- onSave={handleSaveServer}
211
- onCancel={() => setFormVisible(false)}
212
- />
213
- </div>
214
- );
215
- };
@@ -1,78 +0,0 @@
1
- .form {
2
- padding: 16px;
3
- }
4
-
5
- .formItem {
6
- margin-bottom: 16px;
7
-
8
- label {
9
- display: block;
10
- margin-bottom: 8px;
11
- color: var(--foreground);
12
- font-size: 13px;
13
- }
14
-
15
- input,
16
- textarea {
17
- width: 100%;
18
- padding: 8px;
19
- border: 1px solid var(--input-border);
20
- border-radius: 4px;
21
- background-color: var(--input-background);
22
- color: var(--input-foreground);
23
- font-size: 13px;
24
- font-family: var(--monaco-monospace-font);
25
-
26
- &:focus {
27
- border-color: var(--focusBorder);
28
- outline: none;
29
- }
30
-
31
- &::placeholder {
32
- color: var(--descriptionForeground);
33
- opacity: 0.6;
34
- }
35
- }
36
-
37
- textarea {
38
- resize: vertical;
39
- min-height: 60px;
40
- }
41
- }
42
-
43
- .formActions {
44
- display: flex;
45
- justify-content: flex-end;
46
- gap: 8px;
47
- margin-top: 24px;
48
- padding-top: 16px;
49
- border-top: 1px solid var(--border-color);
50
- }
51
-
52
- .cancelButton {
53
- padding: 6px 12px;
54
- border: 1px solid var(--button-border);
55
- border-radius: 4px;
56
- background-color: var(--button-secondary-background);
57
- color: var(--button-secondary-foreground);
58
- cursor: pointer;
59
- font-size: 13px;
60
-
61
- &:hover {
62
- background-color: var(--button-secondary-hover-background);
63
- }
64
- }
65
-
66
- .submitButton {
67
- padding: 6px 12px;
68
- border: none;
69
- border-radius: 4px;
70
- background-color: var(--button-primary-background);
71
- color: var(--button-primary-foreground);
72
- cursor: pointer;
73
- font-size: 13px;
74
-
75
- &:hover {
76
- background-color: var(--button-primary-hover-background);
77
- }
78
- }