@xiuper/cli 0.0.1

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 (218) hide show
  1. package/README.md +180 -0
  2. package/dist/jsMain/typescript/agents/LLMService.d.ts +40 -0
  3. package/dist/jsMain/typescript/agents/LLMService.d.ts.map +1 -0
  4. package/dist/jsMain/typescript/agents/LLMService.js +156 -0
  5. package/dist/jsMain/typescript/agents/LLMService.js.map +1 -0
  6. package/dist/jsMain/typescript/agents/ServerAgentClient.d.ts +103 -0
  7. package/dist/jsMain/typescript/agents/ServerAgentClient.d.ts.map +1 -0
  8. package/dist/jsMain/typescript/agents/ServerAgentClient.js +142 -0
  9. package/dist/jsMain/typescript/agents/ServerAgentClient.js.map +1 -0
  10. package/dist/jsMain/typescript/agents/render/BaseRenderer.d.ts +87 -0
  11. package/dist/jsMain/typescript/agents/render/BaseRenderer.d.ts.map +1 -0
  12. package/dist/jsMain/typescript/agents/render/BaseRenderer.js +128 -0
  13. package/dist/jsMain/typescript/agents/render/BaseRenderer.js.map +1 -0
  14. package/dist/jsMain/typescript/agents/render/CliRenderer.d.ts +51 -0
  15. package/dist/jsMain/typescript/agents/render/CliRenderer.d.ts.map +1 -0
  16. package/dist/jsMain/typescript/agents/render/CliRenderer.js +564 -0
  17. package/dist/jsMain/typescript/agents/render/CliRenderer.js.map +1 -0
  18. package/dist/jsMain/typescript/agents/render/ServerRenderer.d.ts +55 -0
  19. package/dist/jsMain/typescript/agents/render/ServerRenderer.d.ts.map +1 -0
  20. package/dist/jsMain/typescript/agents/render/ServerRenderer.js +503 -0
  21. package/dist/jsMain/typescript/agents/render/ServerRenderer.js.map +1 -0
  22. package/dist/jsMain/typescript/agents/render/TuiRenderer.d.ts +104 -0
  23. package/dist/jsMain/typescript/agents/render/TuiRenderer.d.ts.map +1 -0
  24. package/dist/jsMain/typescript/agents/render/TuiRenderer.js +279 -0
  25. package/dist/jsMain/typescript/agents/render/TuiRenderer.js.map +1 -0
  26. package/dist/jsMain/typescript/config/ConfigManager.d.ts +146 -0
  27. package/dist/jsMain/typescript/config/ConfigManager.d.ts.map +1 -0
  28. package/dist/jsMain/typescript/config/ConfigManager.js +257 -0
  29. package/dist/jsMain/typescript/config/ConfigManager.js.map +1 -0
  30. package/dist/jsMain/typescript/constants/asciiArt.d.ts +9 -0
  31. package/dist/jsMain/typescript/constants/asciiArt.d.ts.map +1 -0
  32. package/dist/jsMain/typescript/constants/asciiArt.js +47 -0
  33. package/dist/jsMain/typescript/constants/asciiArt.js.map +1 -0
  34. package/dist/jsMain/typescript/design-system/colors.d.ts +492 -0
  35. package/dist/jsMain/typescript/design-system/colors.d.ts.map +1 -0
  36. package/dist/jsMain/typescript/design-system/colors.js +333 -0
  37. package/dist/jsMain/typescript/design-system/colors.js.map +1 -0
  38. package/dist/jsMain/typescript/design-system/index.d.ts +31 -0
  39. package/dist/jsMain/typescript/design-system/index.d.ts.map +1 -0
  40. package/dist/jsMain/typescript/design-system/index.js +195 -0
  41. package/dist/jsMain/typescript/design-system/index.js.map +1 -0
  42. package/dist/jsMain/typescript/design-system/theme-helpers.d.ts +161 -0
  43. package/dist/jsMain/typescript/design-system/theme-helpers.d.ts.map +1 -0
  44. package/dist/jsMain/typescript/design-system/theme-helpers.js +153 -0
  45. package/dist/jsMain/typescript/design-system/theme-helpers.js.map +1 -0
  46. package/dist/jsMain/typescript/i18n/index.d.ts +37 -0
  47. package/dist/jsMain/typescript/i18n/index.d.ts.map +1 -0
  48. package/dist/jsMain/typescript/i18n/index.js +139 -0
  49. package/dist/jsMain/typescript/i18n/index.js.map +1 -0
  50. package/dist/jsMain/typescript/i18n/locales/en.d.ts +6 -0
  51. package/dist/jsMain/typescript/i18n/locales/en.d.ts.map +1 -0
  52. package/dist/jsMain/typescript/i18n/locales/en.js +120 -0
  53. package/dist/jsMain/typescript/i18n/locales/en.js.map +1 -0
  54. package/dist/jsMain/typescript/i18n/locales/zh.d.ts +6 -0
  55. package/dist/jsMain/typescript/i18n/locales/zh.d.ts.map +1 -0
  56. package/dist/jsMain/typescript/i18n/locales/zh.js +120 -0
  57. package/dist/jsMain/typescript/i18n/locales/zh.js.map +1 -0
  58. package/dist/jsMain/typescript/i18n/types.d.ts +124 -0
  59. package/dist/jsMain/typescript/i18n/types.d.ts.map +1 -0
  60. package/dist/jsMain/typescript/i18n/types.js +7 -0
  61. package/dist/jsMain/typescript/i18n/types.js.map +1 -0
  62. package/dist/jsMain/typescript/index.d.ts +9 -0
  63. package/dist/jsMain/typescript/index.d.ts.map +1 -0
  64. package/dist/jsMain/typescript/index.js +380 -0
  65. package/dist/jsMain/typescript/index.js.map +1 -0
  66. package/dist/jsMain/typescript/modes/AgentMode.d.ts +33 -0
  67. package/dist/jsMain/typescript/modes/AgentMode.d.ts.map +1 -0
  68. package/dist/jsMain/typescript/modes/AgentMode.js +243 -0
  69. package/dist/jsMain/typescript/modes/AgentMode.js.map +1 -0
  70. package/dist/jsMain/typescript/modes/ChatMode.d.ts +30 -0
  71. package/dist/jsMain/typescript/modes/ChatMode.d.ts.map +1 -0
  72. package/dist/jsMain/typescript/modes/ChatMode.js +260 -0
  73. package/dist/jsMain/typescript/modes/ChatMode.js.map +1 -0
  74. package/dist/jsMain/typescript/modes/DocumentMode.d.ts +26 -0
  75. package/dist/jsMain/typescript/modes/DocumentMode.d.ts.map +1 -0
  76. package/dist/jsMain/typescript/modes/DocumentMode.js +217 -0
  77. package/dist/jsMain/typescript/modes/DocumentMode.js.map +1 -0
  78. package/dist/jsMain/typescript/modes/Mode.d.ts +72 -0
  79. package/dist/jsMain/typescript/modes/Mode.d.ts.map +1 -0
  80. package/dist/jsMain/typescript/modes/Mode.js +7 -0
  81. package/dist/jsMain/typescript/modes/Mode.js.map +1 -0
  82. package/dist/jsMain/typescript/modes/ModeManager.d.ts +76 -0
  83. package/dist/jsMain/typescript/modes/ModeManager.d.ts.map +1 -0
  84. package/dist/jsMain/typescript/modes/ModeManager.js +156 -0
  85. package/dist/jsMain/typescript/modes/ModeManager.js.map +1 -0
  86. package/dist/jsMain/typescript/modes/ReviewMode.d.ts +52 -0
  87. package/dist/jsMain/typescript/modes/ReviewMode.d.ts.map +1 -0
  88. package/dist/jsMain/typescript/modes/ReviewMode.js +435 -0
  89. package/dist/jsMain/typescript/modes/ReviewMode.js.map +1 -0
  90. package/dist/jsMain/typescript/modes/index.d.ts +9 -0
  91. package/dist/jsMain/typescript/modes/index.d.ts.map +1 -0
  92. package/dist/jsMain/typescript/modes/index.js +7 -0
  93. package/dist/jsMain/typescript/modes/index.js.map +1 -0
  94. package/dist/jsMain/typescript/processors/AtCommandProcessor.d.ts +34 -0
  95. package/dist/jsMain/typescript/processors/AtCommandProcessor.d.ts.map +1 -0
  96. package/dist/jsMain/typescript/processors/AtCommandProcessor.js +118 -0
  97. package/dist/jsMain/typescript/processors/AtCommandProcessor.js.map +1 -0
  98. package/dist/jsMain/typescript/processors/InputRouter.d.ts +84 -0
  99. package/dist/jsMain/typescript/processors/InputRouter.d.ts.map +1 -0
  100. package/dist/jsMain/typescript/processors/InputRouter.js +78 -0
  101. package/dist/jsMain/typescript/processors/InputRouter.js.map +1 -0
  102. package/dist/jsMain/typescript/processors/ModeCommandProcessor.d.ts +25 -0
  103. package/dist/jsMain/typescript/processors/ModeCommandProcessor.d.ts.map +1 -0
  104. package/dist/jsMain/typescript/processors/ModeCommandProcessor.js +127 -0
  105. package/dist/jsMain/typescript/processors/ModeCommandProcessor.js.map +1 -0
  106. package/dist/jsMain/typescript/processors/SlashCommandProcessor.d.ts +68 -0
  107. package/dist/jsMain/typescript/processors/SlashCommandProcessor.d.ts.map +1 -0
  108. package/dist/jsMain/typescript/processors/SlashCommandProcessor.js +391 -0
  109. package/dist/jsMain/typescript/processors/SlashCommandProcessor.js.map +1 -0
  110. package/dist/jsMain/typescript/processors/VariableProcessor.d.ts +44 -0
  111. package/dist/jsMain/typescript/processors/VariableProcessor.d.ts.map +1 -0
  112. package/dist/jsMain/typescript/processors/VariableProcessor.js +105 -0
  113. package/dist/jsMain/typescript/processors/VariableProcessor.js.map +1 -0
  114. package/dist/jsMain/typescript/ui/App.d.ts +16 -0
  115. package/dist/jsMain/typescript/ui/App.d.ts.map +1 -0
  116. package/dist/jsMain/typescript/ui/App.js +208 -0
  117. package/dist/jsMain/typescript/ui/App.js.map +1 -0
  118. package/dist/jsMain/typescript/ui/Banner.d.ts +6 -0
  119. package/dist/jsMain/typescript/ui/Banner.d.ts.map +1 -0
  120. package/dist/jsMain/typescript/ui/Banner.js +13 -0
  121. package/dist/jsMain/typescript/ui/Banner.js.map +1 -0
  122. package/dist/jsMain/typescript/ui/ChatInterface.d.ts +19 -0
  123. package/dist/jsMain/typescript/ui/ChatInterface.d.ts.map +1 -0
  124. package/dist/jsMain/typescript/ui/ChatInterface.js +223 -0
  125. package/dist/jsMain/typescript/ui/ChatInterface.js.map +1 -0
  126. package/dist/jsMain/typescript/ui/CommandSuggestions.d.ts +21 -0
  127. package/dist/jsMain/typescript/ui/CommandSuggestions.d.ts.map +1 -0
  128. package/dist/jsMain/typescript/ui/CommandSuggestions.js +43 -0
  129. package/dist/jsMain/typescript/ui/CommandSuggestions.js.map +1 -0
  130. package/dist/jsMain/typescript/ui/LanguageSwitcher.d.ts +11 -0
  131. package/dist/jsMain/typescript/ui/LanguageSwitcher.d.ts.map +1 -0
  132. package/dist/jsMain/typescript/ui/LanguageSwitcher.js +37 -0
  133. package/dist/jsMain/typescript/ui/LanguageSwitcher.js.map +1 -0
  134. package/dist/jsMain/typescript/ui/MessageRenderer.d.ts +70 -0
  135. package/dist/jsMain/typescript/ui/MessageRenderer.d.ts.map +1 -0
  136. package/dist/jsMain/typescript/ui/MessageRenderer.js +255 -0
  137. package/dist/jsMain/typescript/ui/MessageRenderer.js.map +1 -0
  138. package/dist/jsMain/typescript/ui/ModelConfigForm.d.ts +19 -0
  139. package/dist/jsMain/typescript/ui/ModelConfigForm.d.ts.map +1 -0
  140. package/dist/jsMain/typescript/ui/ModelConfigForm.js +257 -0
  141. package/dist/jsMain/typescript/ui/ModelConfigForm.js.map +1 -0
  142. package/dist/jsMain/typescript/ui/WelcomeScreen.d.ts +12 -0
  143. package/dist/jsMain/typescript/ui/WelcomeScreen.d.ts.map +1 -0
  144. package/dist/jsMain/typescript/ui/WelcomeScreen.js +93 -0
  145. package/dist/jsMain/typescript/ui/WelcomeScreen.js.map +1 -0
  146. package/dist/jsMain/typescript/utils/commandUtils.d.ts +64 -0
  147. package/dist/jsMain/typescript/utils/commandUtils.d.ts.map +1 -0
  148. package/dist/jsMain/typescript/utils/commandUtils.js +195 -0
  149. package/dist/jsMain/typescript/utils/commandUtils.js.map +1 -0
  150. package/dist/jsMain/typescript/utils/domainDictUtils.d.ts +53 -0
  151. package/dist/jsMain/typescript/utils/domainDictUtils.d.ts.map +1 -0
  152. package/dist/jsMain/typescript/utils/domainDictUtils.js +130 -0
  153. package/dist/jsMain/typescript/utils/domainDictUtils.js.map +1 -0
  154. package/dist/jsMain/typescript/utils/markdownSplitter.d.ts +23 -0
  155. package/dist/jsMain/typescript/utils/markdownSplitter.d.ts.map +1 -0
  156. package/dist/jsMain/typescript/utils/markdownSplitter.js +90 -0
  157. package/dist/jsMain/typescript/utils/markdownSplitter.js.map +1 -0
  158. package/dist/jsMain/typescript/utils/outputFormatter.d.ts +70 -0
  159. package/dist/jsMain/typescript/utils/outputFormatter.d.ts.map +1 -0
  160. package/dist/jsMain/typescript/utils/outputFormatter.js +140 -0
  161. package/dist/jsMain/typescript/utils/outputFormatter.js.map +1 -0
  162. package/dist/jsMain/typescript/utils/renderUtils.d.ts +17 -0
  163. package/dist/jsMain/typescript/utils/renderUtils.d.ts.map +1 -0
  164. package/dist/jsMain/typescript/utils/renderUtils.js +128 -0
  165. package/dist/jsMain/typescript/utils/renderUtils.js.map +1 -0
  166. package/dist/test/framework/analyzers/CodeChangeAnalyzer.d.ts +87 -0
  167. package/dist/test/framework/analyzers/CodeChangeAnalyzer.d.ts.map +1 -0
  168. package/dist/test/framework/analyzers/CodeChangeAnalyzer.js +412 -0
  169. package/dist/test/framework/analyzers/CodeChangeAnalyzer.js.map +1 -0
  170. package/dist/test/framework/analyzers/PromptAnalyzer.d.ts +46 -0
  171. package/dist/test/framework/analyzers/PromptAnalyzer.d.ts.map +1 -0
  172. package/dist/test/framework/analyzers/PromptAnalyzer.js +185 -0
  173. package/dist/test/framework/analyzers/PromptAnalyzer.js.map +1 -0
  174. package/dist/test/framework/analyzers/ToolCallAnalyzer.d.ts +45 -0
  175. package/dist/test/framework/analyzers/ToolCallAnalyzer.d.ts.map +1 -0
  176. package/dist/test/framework/analyzers/ToolCallAnalyzer.js +215 -0
  177. package/dist/test/framework/analyzers/ToolCallAnalyzer.js.map +1 -0
  178. package/dist/test/framework/cli.d.ts +8 -0
  179. package/dist/test/framework/cli.d.ts.map +1 -0
  180. package/dist/test/framework/cli.js +175 -0
  181. package/dist/test/framework/cli.js.map +1 -0
  182. package/dist/test/framework/core/TestCase.d.ts +100 -0
  183. package/dist/test/framework/core/TestCase.d.ts.map +1 -0
  184. package/dist/test/framework/core/TestCase.js +101 -0
  185. package/dist/test/framework/core/TestCase.js.map +1 -0
  186. package/dist/test/framework/core/TestEngine.d.ts +89 -0
  187. package/dist/test/framework/core/TestEngine.d.ts.map +1 -0
  188. package/dist/test/framework/core/TestEngine.js +552 -0
  189. package/dist/test/framework/core/TestEngine.js.map +1 -0
  190. package/dist/test/framework/core/TestResult.d.ts +143 -0
  191. package/dist/test/framework/core/TestResult.d.ts.map +1 -0
  192. package/dist/test/framework/core/TestResult.js +76 -0
  193. package/dist/test/framework/core/TestResult.js.map +1 -0
  194. package/dist/test/framework/examples/BasicRobustnessTest.d.ts +19 -0
  195. package/dist/test/framework/examples/BasicRobustnessTest.d.ts.map +1 -0
  196. package/dist/test/framework/examples/BasicRobustnessTest.js +116 -0
  197. package/dist/test/framework/examples/BasicRobustnessTest.js.map +1 -0
  198. package/dist/test/framework/index.d.ts +30 -0
  199. package/dist/test/framework/index.d.ts.map +1 -0
  200. package/dist/test/framework/index.js +38 -0
  201. package/dist/test/framework/index.js.map +1 -0
  202. package/dist/test/framework/loaders/JsonScenarioLoader.d.ts +99 -0
  203. package/dist/test/framework/loaders/JsonScenarioLoader.d.ts.map +1 -0
  204. package/dist/test/framework/loaders/JsonScenarioLoader.js +197 -0
  205. package/dist/test/framework/loaders/JsonScenarioLoader.js.map +1 -0
  206. package/dist/test/framework/reporters/ConsoleReporter.d.ts +25 -0
  207. package/dist/test/framework/reporters/ConsoleReporter.d.ts.map +1 -0
  208. package/dist/test/framework/reporters/ConsoleReporter.js +196 -0
  209. package/dist/test/framework/reporters/ConsoleReporter.js.map +1 -0
  210. package/dist/test/framework/scenarios/ScenarioBuilder.d.ts +62 -0
  211. package/dist/test/framework/scenarios/ScenarioBuilder.d.ts.map +1 -0
  212. package/dist/test/framework/scenarios/ScenarioBuilder.js +285 -0
  213. package/dist/test/framework/scenarios/ScenarioBuilder.js.map +1 -0
  214. package/dist/test/framework/validate-framework.d.ts +9 -0
  215. package/dist/test/framework/validate-framework.d.ts.map +1 -0
  216. package/dist/test/framework/validate-framework.js +187 -0
  217. package/dist/test/framework/validate-framework.js.map +1 -0
  218. package/package.json +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelConfigForm.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/ui/ModelConfigForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WelcomeScreen - Initial configuration screen
3
+ *
4
+ * Displayed when the CLI is run for the first time or when configuration is missing.
5
+ */
6
+ import React from 'react';
7
+ interface WelcomeScreenProps {
8
+ onConfigured: (config: any) => void;
9
+ }
10
+ export declare const WelcomeScreen: React.FC<WelcomeScreenProps>;
11
+ export {};
12
+ //# sourceMappingURL=WelcomeScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeScreen.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/ui/WelcomeScreen.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,kBAAkB;IAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuItD,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * WelcomeScreen - Initial configuration screen
3
+ *
4
+ * Displayed when the CLI is run for the first time or when configuration is missing.
5
+ */
6
+ import React, { useState } from 'react';
7
+ import { Box, Text } from 'ink';
8
+ import TextInput from 'ink-text-input';
9
+ import { ConfigManager } from '../config/ConfigManager.js';
10
+ import { ModelConfigForm } from './ModelConfigForm.js';
11
+ import { t } from '../i18n/index.js';
12
+ import { semanticInk } from '../design-system/theme-helpers.js';
13
+ export const WelcomeScreen = ({ onConfigured }) => {
14
+ const [saving, setSaving] = useState(false);
15
+ const [saved, setSaved] = useState(false);
16
+ const [showNameInput, setShowNameInput] = useState(false);
17
+ const [configName, setConfigName] = useState('');
18
+ const [pendingConfig, setPendingConfig] = useState(null);
19
+ const handleConfigSubmit = (config) => {
20
+ // First, ask for config name
21
+ setPendingConfig(config);
22
+ setShowNameInput(true);
23
+ };
24
+ const handleNameSubmit = async (name) => {
25
+ if (!name.trim() || !pendingConfig) {
26
+ return;
27
+ }
28
+ setSaving(true);
29
+ try {
30
+ const llmConfig = {
31
+ name: name.trim(),
32
+ provider: pendingConfig.provider,
33
+ apiKey: pendingConfig.apiKey,
34
+ model: pendingConfig.model,
35
+ baseUrl: pendingConfig.baseUrl,
36
+ };
37
+ await ConfigManager.saveConfig(llmConfig, true);
38
+ setSaved(true);
39
+ setTimeout(() => {
40
+ onConfigured(pendingConfig);
41
+ }, 1000);
42
+ }
43
+ catch (error) {
44
+ console.error('Failed to save configuration:', error);
45
+ setSaving(false);
46
+ }
47
+ };
48
+ if (saved) {
49
+ return (React.createElement(Box, { flexDirection: "column", padding: 2 },
50
+ React.createElement(Text, { color: semanticInk.success }, t('messages.configSaved')),
51
+ React.createElement(Text, { dimColor: true }, t('messages.starting'))));
52
+ }
53
+ if (saving) {
54
+ return (React.createElement(Box, { flexDirection: "column", padding: 2 },
55
+ React.createElement(Text, { color: semanticInk.warning }, t('messages.configSaving'))));
56
+ }
57
+ if (showNameInput && pendingConfig) {
58
+ return (React.createElement(Box, { flexDirection: "column", padding: 2 },
59
+ React.createElement(Box, { marginBottom: 1 },
60
+ React.createElement(Text, { bold: true, color: semanticInk.accent }, t('modelConfig.nameConfig'))),
61
+ React.createElement(Box, { marginBottom: 1 },
62
+ React.createElement(Text, { dimColor: true }, t('modelConfig.namePrompt'))),
63
+ React.createElement(Box, { marginBottom: 1 },
64
+ React.createElement(Text, null,
65
+ React.createElement(Text, { color: semanticInk.success }, "\u2713"),
66
+ " ",
67
+ t('modelConfig.fields.provider'),
68
+ ": ",
69
+ React.createElement(Text, { bold: true }, pendingConfig.provider)),
70
+ React.createElement(Text, null,
71
+ React.createElement(Text, { color: semanticInk.success }, "\u2713"),
72
+ " ",
73
+ t('modelConfig.fields.model'),
74
+ ": ",
75
+ React.createElement(Text, { bold: true }, pendingConfig.model))),
76
+ React.createElement(Box, null,
77
+ React.createElement(Text, { color: semanticInk.accent },
78
+ t('modelConfig.fields.provider'),
79
+ ": "),
80
+ React.createElement(TextInput, { value: configName, onChange: setConfigName, onSubmit: handleNameSubmit, placeholder: "default" })),
81
+ React.createElement(Box, { marginTop: 1 },
82
+ React.createElement(Text, { dimColor: true }, t('modelConfig.nameHint')))));
83
+ }
84
+ return (React.createElement(Box, { flexDirection: "column", padding: 1 },
85
+ React.createElement(Box, { marginBottom: 1 },
86
+ React.createElement(Text, { bold: true, color: semanticInk.accent }, t('welcome.title'))),
87
+ React.createElement(Box, { marginBottom: 1 },
88
+ React.createElement(Text, { dimColor: true }, t('welcome.subtitle'))),
89
+ React.createElement(ModelConfigForm, { onSubmit: handleConfigSubmit }),
90
+ React.createElement(Box, { marginTop: 1 },
91
+ React.createElement(Text, { dimColor: true }, t('welcome.exitHint')))));
92
+ };
93
+ //# sourceMappingURL=WelcomeScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeScreen.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/ui/WelcomeScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ export type JsCompletionItem = {
2
+ text: string;
3
+ displayText: string;
4
+ description: string | null;
5
+ icon: string | null;
6
+ triggerType: string;
7
+ index: number;
8
+ };
9
+ export type JsInsertResult = {
10
+ newText: string;
11
+ newCursorPosition: number;
12
+ shouldTriggerNextCompletion: boolean;
13
+ };
14
+ export type JsDevInsResult = {
15
+ success: boolean;
16
+ output: string;
17
+ errorMessage: string | null;
18
+ hasCommand: boolean;
19
+ };
20
+ /**
21
+ * Initialize the completion manager
22
+ * Will be loaded from Kotlin/JS build output
23
+ */
24
+ export declare function initCompletionManager(): Promise<any>;
25
+ /**
26
+ * Initialize the DevIns compiler
27
+ * Will be loaded from Kotlin/JS build output
28
+ */
29
+ export declare function initDevInsCompiler(): Promise<any>;
30
+ /**
31
+ * Compile DevIns source code
32
+ * This processes commands like /read-file:path, @agent, $variable, etc.
33
+ */
34
+ export declare function compileDevIns(source: string, variables?: Record<string, any>): Promise<JsDevInsResult | null>;
35
+ /**
36
+ * Check if text contains DevIns commands that need compilation
37
+ * Returns true if text contains /command or @agent syntax
38
+ */
39
+ export declare function hasDevInsCommands(text: string): boolean;
40
+ /**
41
+ * Get completion suggestions from Kotlin CompletionManager
42
+ */
43
+ export declare function getCompletionSuggestions(text: string, cursorPosition: number): Promise<JsCompletionItem[]>;
44
+ /**
45
+ * Apply a completion item using the Kotlin insert handler
46
+ * This properly handles special cases like adding ":" after commands
47
+ */
48
+ export declare function applyCompletionItem(text: string, cursorPosition: number, completionIndex: number): Promise<JsInsertResult | null>;
49
+ /**
50
+ * Check if a character should trigger completion
51
+ */
52
+ export declare function shouldTriggerCompletion(char: string): Promise<boolean>;
53
+ /**
54
+ * Get the trigger type from a character
55
+ */
56
+ export declare function getTriggerType(char: string): string | null;
57
+ /**
58
+ * Format completion item for display
59
+ */
60
+ export declare function formatCompletionItem(item: JsCompletionItem): string;
61
+ export declare function isAtCommand(text: string): boolean;
62
+ export declare function isSlashCommand(text: string): boolean;
63
+ export declare function extractCommand(text: string): string;
64
+ //# sourceMappingURL=commandUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandUtils.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/utils/commandUtils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAYF;;;GAGG;AACH,wBAAsB,qBAAqB,iBAgC1C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,iBAmBvC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAgBnH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWvD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAWhH;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAWhC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAKnE;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Completion manager instance (singleton)
3
+ */
4
+ let completionManager = null;
5
+ /**
6
+ * DevIns compiler instance (singleton)
7
+ */
8
+ let devinsCompiler = null;
9
+ /**
10
+ * Initialize the completion manager
11
+ * Will be loaded from Kotlin/JS build output
12
+ */
13
+ export async function initCompletionManager() {
14
+ if (!completionManager) {
15
+ try {
16
+ // Dynamic import from build output
17
+ // @ts-ignore - Runtime import, path is correct after build
18
+ const mppCore = await import('@autodev/mpp-core/autodev-mpp-core.js');
19
+ const exports = mppCore['module.exports'] || mppCore.default || mppCore;
20
+ if (exports?.cc?.unitmesh?.llm?.JsCompletionManager) {
21
+ completionManager = new exports.cc.unitmesh.llm.JsCompletionManager();
22
+ console.log('✅ CompletionManager initialized');
23
+ // Initialize workspace with current directory
24
+ try {
25
+ const workspacePath = process.cwd();
26
+ const success = await completionManager.initWorkspace(workspacePath);
27
+ if (success) {
28
+ console.log(`✅ Workspace initialized: ${workspacePath}`);
29
+ }
30
+ else {
31
+ console.warn('⚠️ Workspace initialization failed');
32
+ }
33
+ }
34
+ catch (error) {
35
+ console.warn('⚠️ Failed to initialize workspace:', error);
36
+ }
37
+ }
38
+ else {
39
+ console.error('❌ JsCompletionManager not found in exports');
40
+ }
41
+ }
42
+ catch (error) {
43
+ console.error('❌ Failed to initialize CompletionManager:', error);
44
+ console.log('💡 Make sure to build mpp-core first: npm run build:kotlin');
45
+ }
46
+ }
47
+ return completionManager;
48
+ }
49
+ /**
50
+ * Initialize the DevIns compiler
51
+ * Will be loaded from Kotlin/JS build output
52
+ */
53
+ export async function initDevInsCompiler() {
54
+ if (!devinsCompiler) {
55
+ try {
56
+ // Dynamic import from build output
57
+ // @ts-ignore - Runtime import, path is correct after build
58
+ const mppCore = await import('@autodev/mpp-core/autodev-mpp-core.js');
59
+ const exports = mppCore['module.exports'] || mppCore.default || mppCore;
60
+ if (exports?.cc?.unitmesh?.llm?.JsDevInsCompiler) {
61
+ devinsCompiler = new exports.cc.unitmesh.llm.JsDevInsCompiler();
62
+ console.log('✅ DevInsCompiler initialized');
63
+ }
64
+ else {
65
+ console.error('❌ JsDevInsCompiler not found in exports');
66
+ }
67
+ }
68
+ catch (error) {
69
+ console.error('❌ Failed to initialize DevInsCompiler:', error);
70
+ console.log('💡 Make sure to build mpp-core first: npm run build:kotlin');
71
+ }
72
+ }
73
+ return devinsCompiler;
74
+ }
75
+ /**
76
+ * Compile DevIns source code
77
+ * This processes commands like /read-file:path, @agent, $variable, etc.
78
+ */
79
+ export async function compileDevIns(source, variables) {
80
+ const compiler = await initDevInsCompiler();
81
+ if (!compiler)
82
+ return null;
83
+ try {
84
+ const result = await compiler.compile(source, variables);
85
+ return result;
86
+ }
87
+ catch (error) {
88
+ console.error('❌ Error compiling DevIns:', error);
89
+ return {
90
+ success: false,
91
+ output: '',
92
+ errorMessage: error instanceof Error ? error.message : 'Unknown error',
93
+ hasCommand: false
94
+ };
95
+ }
96
+ }
97
+ /**
98
+ * Check if text contains DevIns commands that need compilation
99
+ * Returns true if text contains /command or @agent syntax
100
+ */
101
+ export function hasDevInsCommands(text) {
102
+ // Check for /command: syntax (most common)
103
+ if (/\/[a-z-]+:/i.test(text))
104
+ return true;
105
+ // Check for @agent syntax
106
+ if (/@[a-z-]+/i.test(text))
107
+ return true;
108
+ // Check for $variable syntax
109
+ if (/\$[a-z_][a-z0-9_]*/i.test(text))
110
+ return true;
111
+ return false;
112
+ }
113
+ /**
114
+ * Get completion suggestions from Kotlin CompletionManager
115
+ */
116
+ export async function getCompletionSuggestions(text, cursorPosition) {
117
+ const manager = await initCompletionManager();
118
+ if (!manager)
119
+ return [];
120
+ try {
121
+ const items = manager.getCompletions(text, cursorPosition);
122
+ return Array.from(items || []);
123
+ }
124
+ catch (error) {
125
+ console.error('❌ Error getting completions:', error);
126
+ return [];
127
+ }
128
+ }
129
+ /**
130
+ * Apply a completion item using the Kotlin insert handler
131
+ * This properly handles special cases like adding ":" after commands
132
+ */
133
+ export async function applyCompletionItem(text, cursorPosition, completionIndex) {
134
+ const manager = await initCompletionManager();
135
+ if (!manager)
136
+ return null;
137
+ try {
138
+ const result = manager.applyCompletion(text, cursorPosition, completionIndex);
139
+ return result || null;
140
+ }
141
+ catch (error) {
142
+ console.error('❌ Error applying completion:', error);
143
+ return null;
144
+ }
145
+ }
146
+ /**
147
+ * Check if a character should trigger completion
148
+ */
149
+ export async function shouldTriggerCompletion(char) {
150
+ const manager = await initCompletionManager();
151
+ if (!manager)
152
+ return false;
153
+ try {
154
+ return manager.shouldTrigger(char);
155
+ }
156
+ catch (error) {
157
+ return false;
158
+ }
159
+ }
160
+ /**
161
+ * Get the trigger type from a character
162
+ */
163
+ export function getTriggerType(char) {
164
+ switch (char) {
165
+ case '@': return 'AGENT';
166
+ case '/': return 'COMMAND';
167
+ case '$': return 'VARIABLE';
168
+ case ':': return 'COMMAND_VALUE';
169
+ default: return null;
170
+ }
171
+ }
172
+ /**
173
+ * Format completion item for display
174
+ */
175
+ export function formatCompletionItem(item) {
176
+ const icon = item.icon || '';
177
+ const display = item.displayText || item.text;
178
+ const desc = item.description ? ` - ${item.description}` : '';
179
+ return `${icon} ${display}${desc}`.trim();
180
+ }
181
+ // Legacy functions (kept for backward compatibility but delegate to Kotlin)
182
+ export function isAtCommand(text) {
183
+ return text.trim().startsWith('@');
184
+ }
185
+ export function isSlashCommand(text) {
186
+ return text.trim().startsWith('/');
187
+ }
188
+ export function extractCommand(text) {
189
+ const trimmed = text.trim();
190
+ if (trimmed.startsWith('@') || trimmed.startsWith('/')) {
191
+ return trimmed.substring(1).split(/\s+/)[0];
192
+ }
193
+ return '';
194
+ }
195
+ //# sourceMappingURL=commandUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/utils/commandUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Domain Dictionary Utilities
3
+ *
4
+ * Provides TypeScript-friendly interface to the Kotlin domain dictionary generation functionality
5
+ */
6
+ import type { LegacyConfig } from '../config/ConfigManager.js';
7
+ /**
8
+ * Result of domain dictionary generation
9
+ */
10
+ export interface DomainDictResult {
11
+ success: boolean;
12
+ content: string;
13
+ errorMessage?: string;
14
+ }
15
+ /**
16
+ * Domain Dictionary Generator Service
17
+ */
18
+ export declare class DomainDictService {
19
+ private projectPath;
20
+ private config;
21
+ private maxTokenLength;
22
+ private generator;
23
+ constructor(projectPath: string, config: LegacyConfig, maxTokenLength?: number);
24
+ /**
25
+ * Generate domain dictionary and return complete result
26
+ */
27
+ generate(): Promise<string>;
28
+ /**
29
+ * Generate and save domain dictionary to file
30
+ */
31
+ generateAndSave(): Promise<DomainDictResult>;
32
+ /**
33
+ * Check if domain dictionary file exists
34
+ */
35
+ exists(): Promise<boolean>;
36
+ /**
37
+ * Load existing domain dictionary content
38
+ */
39
+ loadContent(): Promise<string | null>;
40
+ /**
41
+ * Create a domain dictionary service instance
42
+ */
43
+ static create(projectPath: string, config: LegacyConfig, maxTokenLength?: number): DomainDictService;
44
+ }
45
+ /**
46
+ * Utility function to get current working directory
47
+ */
48
+ export declare function getCurrentProjectPath(): string;
49
+ /**
50
+ * Utility function to validate if a path looks like a valid project directory
51
+ */
52
+ export declare function isValidProjectPath(projectPath: string): boolean;
53
+ //# sourceMappingURL=domainDictUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domainDictUtils.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/utils/domainDictUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAW/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,SAAS,CAAM;gBAGb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAa;IAoBvC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAQjC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiBlD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAQhC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ3C;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAa,GAC5B,iBAAiB;CAMrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA+B/D"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Domain Dictionary Utilities
3
+ *
4
+ * Provides TypeScript-friendly interface to the Kotlin domain dictionary generation functionality
5
+ */
6
+ import * as fs from 'fs';
7
+ import * as path from 'path';
8
+ // Import the compiled Kotlin/JS module
9
+ // @ts-ignore - Kotlin/JS generated module
10
+ import MppCore from '@xiuper/mpp-core';
11
+ // Access the exported Kotlin/JS classes
12
+ const { JsDomainDictGenerator, JsModelConfig } = MppCore.cc.unitmesh.llm;
13
+ /**
14
+ * Domain Dictionary Generator Service
15
+ */
16
+ export class DomainDictService {
17
+ projectPath;
18
+ config;
19
+ maxTokenLength;
20
+ generator;
21
+ constructor(projectPath, config, maxTokenLength = 8192) {
22
+ this.projectPath = projectPath;
23
+ this.config = config;
24
+ this.maxTokenLength = maxTokenLength;
25
+ // Create Kotlin model config
26
+ const modelConfig = new JsModelConfig(config.provider, config.model, config.apiKey || '', config.temperature || 0.7, config.maxTokens || 8192, config.baseUrl || '');
27
+ // Create domain dictionary generator
28
+ this.generator = new JsDomainDictGenerator(projectPath, modelConfig, maxTokenLength);
29
+ }
30
+ /**
31
+ * Generate domain dictionary and return complete result
32
+ */
33
+ async generate() {
34
+ try {
35
+ return await this.generator.generate();
36
+ }
37
+ catch (error) {
38
+ throw new Error(`Domain dictionary generation failed: ${error instanceof Error ? error.message : String(error)}`);
39
+ }
40
+ }
41
+ /**
42
+ * Generate and save domain dictionary to file
43
+ */
44
+ async generateAndSave() {
45
+ try {
46
+ const result = await this.generator.generateAndSave();
47
+ return {
48
+ success: result.success,
49
+ content: result.content,
50
+ errorMessage: result.errorMessage
51
+ };
52
+ }
53
+ catch (error) {
54
+ return {
55
+ success: false,
56
+ content: '',
57
+ errorMessage: error instanceof Error ? error.message : String(error)
58
+ };
59
+ }
60
+ }
61
+ /**
62
+ * Check if domain dictionary file exists
63
+ */
64
+ async exists() {
65
+ try {
66
+ return await this.generator.exists();
67
+ }
68
+ catch (error) {
69
+ return false;
70
+ }
71
+ }
72
+ /**
73
+ * Load existing domain dictionary content
74
+ */
75
+ async loadContent() {
76
+ try {
77
+ return await this.generator.loadContent();
78
+ }
79
+ catch (error) {
80
+ return null;
81
+ }
82
+ }
83
+ /**
84
+ * Create a domain dictionary service instance
85
+ */
86
+ static create(projectPath, config, maxTokenLength = 8192) {
87
+ if (!isValidProjectPath(projectPath)) {
88
+ throw new Error(`Invalid project path: ${projectPath}`);
89
+ }
90
+ return new DomainDictService(projectPath, config, maxTokenLength);
91
+ }
92
+ }
93
+ /**
94
+ * Utility function to get current working directory
95
+ */
96
+ export function getCurrentProjectPath() {
97
+ return process.cwd();
98
+ }
99
+ /**
100
+ * Utility function to validate if a path looks like a valid project directory
101
+ */
102
+ export function isValidProjectPath(projectPath) {
103
+ try {
104
+ // Check if directory exists
105
+ if (!fs.existsSync(projectPath)) {
106
+ return false;
107
+ }
108
+ // Check if it's a directory
109
+ const stat = fs.statSync(projectPath);
110
+ if (!stat.isDirectory()) {
111
+ return false;
112
+ }
113
+ // Check for common project indicators
114
+ const projectIndicators = [
115
+ 'package.json',
116
+ 'build.gradle',
117
+ 'build.gradle.kts',
118
+ 'pom.xml',
119
+ 'Cargo.toml',
120
+ 'pyproject.toml',
121
+ 'requirements.txt',
122
+ '.git'
123
+ ];
124
+ return projectIndicators.some(indicator => fs.existsSync(path.join(projectPath, indicator)));
125
+ }
126
+ catch (error) {
127
+ return false;
128
+ }
129
+ }
130
+ //# sourceMappingURL=domainDictUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domainDictUtils.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/utils/domainDictUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Markdown-aware message splitter for streaming performance optimization.
3
+ *
4
+ * This utility helps prevent flickering during streaming by intelligently
5
+ * splitting long messages at safe boundaries (paragraph breaks, code block edges).
6
+ * Completed portions can be moved to Static rendering while only the latest
7
+ * fragment continues to update.
8
+ */
9
+ /**
10
+ * Finds the last safe split point in the content.
11
+ *
12
+ * This function looks for natural boundaries (double newlines, code block edges)
13
+ * where a message can be safely split without breaking Markdown formatting.
14
+ *
15
+ * If a safe split point is found, content can be divided into:
16
+ * - Before split: Move to history (Static rendering)
17
+ * - After split: Keep in pending (dynamic rendering)
18
+ *
19
+ * @param content The markdown content to analyze
20
+ * @returns Index where content can be safely split, or content.length if no split needed
21
+ */
22
+ export declare const findLastSafeSplitPoint: (content: string) => number;
23
+ //# sourceMappingURL=markdownSplitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownSplitter.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/utils/markdownSplitter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmDH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAgCxD,CAAC"}