@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.
- package/README.md +180 -0
- package/dist/jsMain/typescript/agents/LLMService.d.ts +40 -0
- package/dist/jsMain/typescript/agents/LLMService.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/LLMService.js +156 -0
- package/dist/jsMain/typescript/agents/LLMService.js.map +1 -0
- package/dist/jsMain/typescript/agents/ServerAgentClient.d.ts +103 -0
- package/dist/jsMain/typescript/agents/ServerAgentClient.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/ServerAgentClient.js +142 -0
- package/dist/jsMain/typescript/agents/ServerAgentClient.js.map +1 -0
- package/dist/jsMain/typescript/agents/render/BaseRenderer.d.ts +87 -0
- package/dist/jsMain/typescript/agents/render/BaseRenderer.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/render/BaseRenderer.js +128 -0
- package/dist/jsMain/typescript/agents/render/BaseRenderer.js.map +1 -0
- package/dist/jsMain/typescript/agents/render/CliRenderer.d.ts +51 -0
- package/dist/jsMain/typescript/agents/render/CliRenderer.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/render/CliRenderer.js +564 -0
- package/dist/jsMain/typescript/agents/render/CliRenderer.js.map +1 -0
- package/dist/jsMain/typescript/agents/render/ServerRenderer.d.ts +55 -0
- package/dist/jsMain/typescript/agents/render/ServerRenderer.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/render/ServerRenderer.js +503 -0
- package/dist/jsMain/typescript/agents/render/ServerRenderer.js.map +1 -0
- package/dist/jsMain/typescript/agents/render/TuiRenderer.d.ts +104 -0
- package/dist/jsMain/typescript/agents/render/TuiRenderer.d.ts.map +1 -0
- package/dist/jsMain/typescript/agents/render/TuiRenderer.js +279 -0
- package/dist/jsMain/typescript/agents/render/TuiRenderer.js.map +1 -0
- package/dist/jsMain/typescript/config/ConfigManager.d.ts +146 -0
- package/dist/jsMain/typescript/config/ConfigManager.d.ts.map +1 -0
- package/dist/jsMain/typescript/config/ConfigManager.js +257 -0
- package/dist/jsMain/typescript/config/ConfigManager.js.map +1 -0
- package/dist/jsMain/typescript/constants/asciiArt.d.ts +9 -0
- package/dist/jsMain/typescript/constants/asciiArt.d.ts.map +1 -0
- package/dist/jsMain/typescript/constants/asciiArt.js +47 -0
- package/dist/jsMain/typescript/constants/asciiArt.js.map +1 -0
- package/dist/jsMain/typescript/design-system/colors.d.ts +492 -0
- package/dist/jsMain/typescript/design-system/colors.d.ts.map +1 -0
- package/dist/jsMain/typescript/design-system/colors.js +333 -0
- package/dist/jsMain/typescript/design-system/colors.js.map +1 -0
- package/dist/jsMain/typescript/design-system/index.d.ts +31 -0
- package/dist/jsMain/typescript/design-system/index.d.ts.map +1 -0
- package/dist/jsMain/typescript/design-system/index.js +195 -0
- package/dist/jsMain/typescript/design-system/index.js.map +1 -0
- package/dist/jsMain/typescript/design-system/theme-helpers.d.ts +161 -0
- package/dist/jsMain/typescript/design-system/theme-helpers.d.ts.map +1 -0
- package/dist/jsMain/typescript/design-system/theme-helpers.js +153 -0
- package/dist/jsMain/typescript/design-system/theme-helpers.js.map +1 -0
- package/dist/jsMain/typescript/i18n/index.d.ts +37 -0
- package/dist/jsMain/typescript/i18n/index.d.ts.map +1 -0
- package/dist/jsMain/typescript/i18n/index.js +139 -0
- package/dist/jsMain/typescript/i18n/index.js.map +1 -0
- package/dist/jsMain/typescript/i18n/locales/en.d.ts +6 -0
- package/dist/jsMain/typescript/i18n/locales/en.d.ts.map +1 -0
- package/dist/jsMain/typescript/i18n/locales/en.js +120 -0
- package/dist/jsMain/typescript/i18n/locales/en.js.map +1 -0
- package/dist/jsMain/typescript/i18n/locales/zh.d.ts +6 -0
- package/dist/jsMain/typescript/i18n/locales/zh.d.ts.map +1 -0
- package/dist/jsMain/typescript/i18n/locales/zh.js +120 -0
- package/dist/jsMain/typescript/i18n/locales/zh.js.map +1 -0
- package/dist/jsMain/typescript/i18n/types.d.ts +124 -0
- package/dist/jsMain/typescript/i18n/types.d.ts.map +1 -0
- package/dist/jsMain/typescript/i18n/types.js +7 -0
- package/dist/jsMain/typescript/i18n/types.js.map +1 -0
- package/dist/jsMain/typescript/index.d.ts +9 -0
- package/dist/jsMain/typescript/index.d.ts.map +1 -0
- package/dist/jsMain/typescript/index.js +380 -0
- package/dist/jsMain/typescript/index.js.map +1 -0
- package/dist/jsMain/typescript/modes/AgentMode.d.ts +33 -0
- package/dist/jsMain/typescript/modes/AgentMode.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/AgentMode.js +243 -0
- package/dist/jsMain/typescript/modes/AgentMode.js.map +1 -0
- package/dist/jsMain/typescript/modes/ChatMode.d.ts +30 -0
- package/dist/jsMain/typescript/modes/ChatMode.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/ChatMode.js +260 -0
- package/dist/jsMain/typescript/modes/ChatMode.js.map +1 -0
- package/dist/jsMain/typescript/modes/DocumentMode.d.ts +26 -0
- package/dist/jsMain/typescript/modes/DocumentMode.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/DocumentMode.js +217 -0
- package/dist/jsMain/typescript/modes/DocumentMode.js.map +1 -0
- package/dist/jsMain/typescript/modes/Mode.d.ts +72 -0
- package/dist/jsMain/typescript/modes/Mode.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/Mode.js +7 -0
- package/dist/jsMain/typescript/modes/Mode.js.map +1 -0
- package/dist/jsMain/typescript/modes/ModeManager.d.ts +76 -0
- package/dist/jsMain/typescript/modes/ModeManager.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/ModeManager.js +156 -0
- package/dist/jsMain/typescript/modes/ModeManager.js.map +1 -0
- package/dist/jsMain/typescript/modes/ReviewMode.d.ts +52 -0
- package/dist/jsMain/typescript/modes/ReviewMode.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/ReviewMode.js +435 -0
- package/dist/jsMain/typescript/modes/ReviewMode.js.map +1 -0
- package/dist/jsMain/typescript/modes/index.d.ts +9 -0
- package/dist/jsMain/typescript/modes/index.d.ts.map +1 -0
- package/dist/jsMain/typescript/modes/index.js +7 -0
- package/dist/jsMain/typescript/modes/index.js.map +1 -0
- package/dist/jsMain/typescript/processors/AtCommandProcessor.d.ts +34 -0
- package/dist/jsMain/typescript/processors/AtCommandProcessor.d.ts.map +1 -0
- package/dist/jsMain/typescript/processors/AtCommandProcessor.js +118 -0
- package/dist/jsMain/typescript/processors/AtCommandProcessor.js.map +1 -0
- package/dist/jsMain/typescript/processors/InputRouter.d.ts +84 -0
- package/dist/jsMain/typescript/processors/InputRouter.d.ts.map +1 -0
- package/dist/jsMain/typescript/processors/InputRouter.js +78 -0
- package/dist/jsMain/typescript/processors/InputRouter.js.map +1 -0
- package/dist/jsMain/typescript/processors/ModeCommandProcessor.d.ts +25 -0
- package/dist/jsMain/typescript/processors/ModeCommandProcessor.d.ts.map +1 -0
- package/dist/jsMain/typescript/processors/ModeCommandProcessor.js +127 -0
- package/dist/jsMain/typescript/processors/ModeCommandProcessor.js.map +1 -0
- package/dist/jsMain/typescript/processors/SlashCommandProcessor.d.ts +68 -0
- package/dist/jsMain/typescript/processors/SlashCommandProcessor.d.ts.map +1 -0
- package/dist/jsMain/typescript/processors/SlashCommandProcessor.js +391 -0
- package/dist/jsMain/typescript/processors/SlashCommandProcessor.js.map +1 -0
- package/dist/jsMain/typescript/processors/VariableProcessor.d.ts +44 -0
- package/dist/jsMain/typescript/processors/VariableProcessor.d.ts.map +1 -0
- package/dist/jsMain/typescript/processors/VariableProcessor.js +105 -0
- package/dist/jsMain/typescript/processors/VariableProcessor.js.map +1 -0
- package/dist/jsMain/typescript/ui/App.d.ts +16 -0
- package/dist/jsMain/typescript/ui/App.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/App.js +208 -0
- package/dist/jsMain/typescript/ui/App.js.map +1 -0
- package/dist/jsMain/typescript/ui/Banner.d.ts +6 -0
- package/dist/jsMain/typescript/ui/Banner.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/Banner.js +13 -0
- package/dist/jsMain/typescript/ui/Banner.js.map +1 -0
- package/dist/jsMain/typescript/ui/ChatInterface.d.ts +19 -0
- package/dist/jsMain/typescript/ui/ChatInterface.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/ChatInterface.js +223 -0
- package/dist/jsMain/typescript/ui/ChatInterface.js.map +1 -0
- package/dist/jsMain/typescript/ui/CommandSuggestions.d.ts +21 -0
- package/dist/jsMain/typescript/ui/CommandSuggestions.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/CommandSuggestions.js +43 -0
- package/dist/jsMain/typescript/ui/CommandSuggestions.js.map +1 -0
- package/dist/jsMain/typescript/ui/LanguageSwitcher.d.ts +11 -0
- package/dist/jsMain/typescript/ui/LanguageSwitcher.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/LanguageSwitcher.js +37 -0
- package/dist/jsMain/typescript/ui/LanguageSwitcher.js.map +1 -0
- package/dist/jsMain/typescript/ui/MessageRenderer.d.ts +70 -0
- package/dist/jsMain/typescript/ui/MessageRenderer.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/MessageRenderer.js +255 -0
- package/dist/jsMain/typescript/ui/MessageRenderer.js.map +1 -0
- package/dist/jsMain/typescript/ui/ModelConfigForm.d.ts +19 -0
- package/dist/jsMain/typescript/ui/ModelConfigForm.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/ModelConfigForm.js +257 -0
- package/dist/jsMain/typescript/ui/ModelConfigForm.js.map +1 -0
- package/dist/jsMain/typescript/ui/WelcomeScreen.d.ts +12 -0
- package/dist/jsMain/typescript/ui/WelcomeScreen.d.ts.map +1 -0
- package/dist/jsMain/typescript/ui/WelcomeScreen.js +93 -0
- package/dist/jsMain/typescript/ui/WelcomeScreen.js.map +1 -0
- package/dist/jsMain/typescript/utils/commandUtils.d.ts +64 -0
- package/dist/jsMain/typescript/utils/commandUtils.d.ts.map +1 -0
- package/dist/jsMain/typescript/utils/commandUtils.js +195 -0
- package/dist/jsMain/typescript/utils/commandUtils.js.map +1 -0
- package/dist/jsMain/typescript/utils/domainDictUtils.d.ts +53 -0
- package/dist/jsMain/typescript/utils/domainDictUtils.d.ts.map +1 -0
- package/dist/jsMain/typescript/utils/domainDictUtils.js +130 -0
- package/dist/jsMain/typescript/utils/domainDictUtils.js.map +1 -0
- package/dist/jsMain/typescript/utils/markdownSplitter.d.ts +23 -0
- package/dist/jsMain/typescript/utils/markdownSplitter.d.ts.map +1 -0
- package/dist/jsMain/typescript/utils/markdownSplitter.js +90 -0
- package/dist/jsMain/typescript/utils/markdownSplitter.js.map +1 -0
- package/dist/jsMain/typescript/utils/outputFormatter.d.ts +70 -0
- package/dist/jsMain/typescript/utils/outputFormatter.d.ts.map +1 -0
- package/dist/jsMain/typescript/utils/outputFormatter.js +140 -0
- package/dist/jsMain/typescript/utils/outputFormatter.js.map +1 -0
- package/dist/jsMain/typescript/utils/renderUtils.d.ts +17 -0
- package/dist/jsMain/typescript/utils/renderUtils.d.ts.map +1 -0
- package/dist/jsMain/typescript/utils/renderUtils.js +128 -0
- package/dist/jsMain/typescript/utils/renderUtils.js.map +1 -0
- package/dist/test/framework/analyzers/CodeChangeAnalyzer.d.ts +87 -0
- package/dist/test/framework/analyzers/CodeChangeAnalyzer.d.ts.map +1 -0
- package/dist/test/framework/analyzers/CodeChangeAnalyzer.js +412 -0
- package/dist/test/framework/analyzers/CodeChangeAnalyzer.js.map +1 -0
- package/dist/test/framework/analyzers/PromptAnalyzer.d.ts +46 -0
- package/dist/test/framework/analyzers/PromptAnalyzer.d.ts.map +1 -0
- package/dist/test/framework/analyzers/PromptAnalyzer.js +185 -0
- package/dist/test/framework/analyzers/PromptAnalyzer.js.map +1 -0
- package/dist/test/framework/analyzers/ToolCallAnalyzer.d.ts +45 -0
- package/dist/test/framework/analyzers/ToolCallAnalyzer.d.ts.map +1 -0
- package/dist/test/framework/analyzers/ToolCallAnalyzer.js +215 -0
- package/dist/test/framework/analyzers/ToolCallAnalyzer.js.map +1 -0
- package/dist/test/framework/cli.d.ts +8 -0
- package/dist/test/framework/cli.d.ts.map +1 -0
- package/dist/test/framework/cli.js +175 -0
- package/dist/test/framework/cli.js.map +1 -0
- package/dist/test/framework/core/TestCase.d.ts +100 -0
- package/dist/test/framework/core/TestCase.d.ts.map +1 -0
- package/dist/test/framework/core/TestCase.js +101 -0
- package/dist/test/framework/core/TestCase.js.map +1 -0
- package/dist/test/framework/core/TestEngine.d.ts +89 -0
- package/dist/test/framework/core/TestEngine.d.ts.map +1 -0
- package/dist/test/framework/core/TestEngine.js +552 -0
- package/dist/test/framework/core/TestEngine.js.map +1 -0
- package/dist/test/framework/core/TestResult.d.ts +143 -0
- package/dist/test/framework/core/TestResult.d.ts.map +1 -0
- package/dist/test/framework/core/TestResult.js +76 -0
- package/dist/test/framework/core/TestResult.js.map +1 -0
- package/dist/test/framework/examples/BasicRobustnessTest.d.ts +19 -0
- package/dist/test/framework/examples/BasicRobustnessTest.d.ts.map +1 -0
- package/dist/test/framework/examples/BasicRobustnessTest.js +116 -0
- package/dist/test/framework/examples/BasicRobustnessTest.js.map +1 -0
- package/dist/test/framework/index.d.ts +30 -0
- package/dist/test/framework/index.d.ts.map +1 -0
- package/dist/test/framework/index.js +38 -0
- package/dist/test/framework/index.js.map +1 -0
- package/dist/test/framework/loaders/JsonScenarioLoader.d.ts +99 -0
- package/dist/test/framework/loaders/JsonScenarioLoader.d.ts.map +1 -0
- package/dist/test/framework/loaders/JsonScenarioLoader.js +197 -0
- package/dist/test/framework/loaders/JsonScenarioLoader.js.map +1 -0
- package/dist/test/framework/reporters/ConsoleReporter.d.ts +25 -0
- package/dist/test/framework/reporters/ConsoleReporter.d.ts.map +1 -0
- package/dist/test/framework/reporters/ConsoleReporter.js +196 -0
- package/dist/test/framework/reporters/ConsoleReporter.js.map +1 -0
- package/dist/test/framework/scenarios/ScenarioBuilder.d.ts +62 -0
- package/dist/test/framework/scenarios/ScenarioBuilder.d.ts.map +1 -0
- package/dist/test/framework/scenarios/ScenarioBuilder.js +285 -0
- package/dist/test/framework/scenarios/ScenarioBuilder.js.map +1 -0
- package/dist/test/framework/validate-framework.d.ts +9 -0
- package/dist/test/framework/validate-framework.d.ts.map +1 -0
- package/dist/test/framework/validate-framework.js +187 -0
- package/dist/test/framework/validate-framework.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Helpers - 主题辅助工具
|
|
3
|
+
*
|
|
4
|
+
* 提供便捷的方法来访问当前主题的颜色和工具函数
|
|
5
|
+
* 基于「霓虹暗夜」视觉语言的语义化颜色系统
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
/**
|
|
9
|
+
* Chalk 颜色辅助类
|
|
10
|
+
* 使用设计系统中定义的语义化颜色
|
|
11
|
+
*/
|
|
12
|
+
export declare const semanticChalk: {
|
|
13
|
+
readonly primary: import("chalk").ChalkInstance;
|
|
14
|
+
readonly accent: import("chalk").ChalkInstance;
|
|
15
|
+
readonly success: import("chalk").ChalkInstance;
|
|
16
|
+
readonly warning: import("chalk").ChalkInstance;
|
|
17
|
+
readonly error: import("chalk").ChalkInstance;
|
|
18
|
+
readonly info: import("chalk").ChalkInstance;
|
|
19
|
+
readonly muted: import("chalk").ChalkInstance;
|
|
20
|
+
readonly dim: import("chalk").ChalkInstance;
|
|
21
|
+
readonly bold: import("chalk").ChalkInstance;
|
|
22
|
+
readonly successBold: import("chalk").ChalkInstance;
|
|
23
|
+
readonly errorBold: import("chalk").ChalkInstance;
|
|
24
|
+
readonly warningBold: import("chalk").ChalkInstance;
|
|
25
|
+
readonly infoBold: import("chalk").ChalkInstance;
|
|
26
|
+
readonly primaryBold: import("chalk").ChalkInstance;
|
|
27
|
+
readonly accentBold: import("chalk").ChalkInstance;
|
|
28
|
+
readonly user: import("chalk").ChalkInstance;
|
|
29
|
+
readonly ai: import("chalk").ChalkInstance;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Ink 颜色辅助 - 用于 <Text> 组件
|
|
33
|
+
* 返回 Ink 支持的颜色字符串
|
|
34
|
+
*/
|
|
35
|
+
export declare const semanticInk: {
|
|
36
|
+
readonly primary: "cyan";
|
|
37
|
+
readonly accent: "magenta";
|
|
38
|
+
readonly success: "green";
|
|
39
|
+
readonly warning: "yellow";
|
|
40
|
+
readonly error: "red";
|
|
41
|
+
readonly info: "blue";
|
|
42
|
+
readonly muted: "gray";
|
|
43
|
+
readonly user: "cyan";
|
|
44
|
+
readonly ai: "magenta";
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* 语义化颜色类型
|
|
48
|
+
*/
|
|
49
|
+
export type SemanticColor = 'primary' | 'accent' | 'success' | 'warning' | 'error' | 'info' | 'muted' | 'user' | 'ai';
|
|
50
|
+
/**
|
|
51
|
+
* 获取 Ink 颜色(用于 <Text color={...}> )
|
|
52
|
+
*/
|
|
53
|
+
export declare function getInkColor(semantic: SemanticColor): string;
|
|
54
|
+
/**
|
|
55
|
+
* 获取 Chalk 颜色函数
|
|
56
|
+
*/
|
|
57
|
+
export declare function getChalkColor(semantic: SemanticColor): typeof chalk;
|
|
58
|
+
/**
|
|
59
|
+
* 状态指示器
|
|
60
|
+
*/
|
|
61
|
+
export declare const statusIndicators: {
|
|
62
|
+
readonly success: "✓";
|
|
63
|
+
readonly error: "✗";
|
|
64
|
+
readonly warning: "⚠";
|
|
65
|
+
readonly info: "ℹ";
|
|
66
|
+
readonly loading: "⏳";
|
|
67
|
+
readonly processing: "⚡";
|
|
68
|
+
readonly user: "›";
|
|
69
|
+
readonly ai: "◆";
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* 带颜色的状态指示器
|
|
73
|
+
*/
|
|
74
|
+
export declare function coloredStatus(status: keyof typeof statusIndicators, message: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* 分隔线样式
|
|
77
|
+
*/
|
|
78
|
+
export declare const dividers: {
|
|
79
|
+
readonly solid: (length?: number) => string;
|
|
80
|
+
readonly double: (length?: number) => string;
|
|
81
|
+
readonly bold: (length?: number) => string;
|
|
82
|
+
readonly glow: (length?: number) => string;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* 高亮文本
|
|
86
|
+
*/
|
|
87
|
+
export declare function highlight(text: string, color?: SemanticColor): string;
|
|
88
|
+
/**
|
|
89
|
+
* 代码块样式
|
|
90
|
+
*/
|
|
91
|
+
export declare function codeBlock(code: string, language?: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* 人机边界样式 - 用于区分用户输入和 AI 输出
|
|
94
|
+
*/
|
|
95
|
+
export declare const boundary: {
|
|
96
|
+
readonly user: (text: string) => string;
|
|
97
|
+
readonly ai: (text: string) => string;
|
|
98
|
+
readonly userBold: (text: string) => string;
|
|
99
|
+
readonly aiBold: (text: string) => string;
|
|
100
|
+
};
|
|
101
|
+
declare const _default: {
|
|
102
|
+
semanticChalk: {
|
|
103
|
+
readonly primary: import("chalk").ChalkInstance;
|
|
104
|
+
readonly accent: import("chalk").ChalkInstance;
|
|
105
|
+
readonly success: import("chalk").ChalkInstance;
|
|
106
|
+
readonly warning: import("chalk").ChalkInstance;
|
|
107
|
+
readonly error: import("chalk").ChalkInstance;
|
|
108
|
+
readonly info: import("chalk").ChalkInstance;
|
|
109
|
+
readonly muted: import("chalk").ChalkInstance;
|
|
110
|
+
readonly dim: import("chalk").ChalkInstance;
|
|
111
|
+
readonly bold: import("chalk").ChalkInstance;
|
|
112
|
+
readonly successBold: import("chalk").ChalkInstance;
|
|
113
|
+
readonly errorBold: import("chalk").ChalkInstance;
|
|
114
|
+
readonly warningBold: import("chalk").ChalkInstance;
|
|
115
|
+
readonly infoBold: import("chalk").ChalkInstance;
|
|
116
|
+
readonly primaryBold: import("chalk").ChalkInstance;
|
|
117
|
+
readonly accentBold: import("chalk").ChalkInstance;
|
|
118
|
+
readonly user: import("chalk").ChalkInstance;
|
|
119
|
+
readonly ai: import("chalk").ChalkInstance;
|
|
120
|
+
};
|
|
121
|
+
semanticInk: {
|
|
122
|
+
readonly primary: "cyan";
|
|
123
|
+
readonly accent: "magenta";
|
|
124
|
+
readonly success: "green";
|
|
125
|
+
readonly warning: "yellow";
|
|
126
|
+
readonly error: "red";
|
|
127
|
+
readonly info: "blue";
|
|
128
|
+
readonly muted: "gray";
|
|
129
|
+
readonly user: "cyan";
|
|
130
|
+
readonly ai: "magenta";
|
|
131
|
+
};
|
|
132
|
+
getInkColor: typeof getInkColor;
|
|
133
|
+
getChalkColor: typeof getChalkColor;
|
|
134
|
+
statusIndicators: {
|
|
135
|
+
readonly success: "✓";
|
|
136
|
+
readonly error: "✗";
|
|
137
|
+
readonly warning: "⚠";
|
|
138
|
+
readonly info: "ℹ";
|
|
139
|
+
readonly loading: "⏳";
|
|
140
|
+
readonly processing: "⚡";
|
|
141
|
+
readonly user: "›";
|
|
142
|
+
readonly ai: "◆";
|
|
143
|
+
};
|
|
144
|
+
coloredStatus: typeof coloredStatus;
|
|
145
|
+
dividers: {
|
|
146
|
+
readonly solid: (length?: number) => string;
|
|
147
|
+
readonly double: (length?: number) => string;
|
|
148
|
+
readonly bold: (length?: number) => string;
|
|
149
|
+
readonly glow: (length?: number) => string;
|
|
150
|
+
};
|
|
151
|
+
highlight: typeof highlight;
|
|
152
|
+
codeBlock: typeof codeBlock;
|
|
153
|
+
boundary: {
|
|
154
|
+
readonly user: (text: string) => string;
|
|
155
|
+
readonly ai: (text: string) => string;
|
|
156
|
+
readonly userBold: (text: string) => string;
|
|
157
|
+
readonly aiBold: (text: string) => string;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
export default _default;
|
|
161
|
+
//# sourceMappingURL=theme-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-helpers.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/design-system/theme-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CA2BhB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;CAYd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtH;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,KAAK,CAEnE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC;AAEX;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,OAAO,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsB5F;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;8BACH,MAAM;+BACL,MAAM;6BACR,MAAM;6BACN,MAAM;CACb,CAAC;AAEX;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,aAAyB,GAAG,MAAM,CAGhF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAUjE;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;0BACN,MAAM;wBACR,MAAM;8BACA,MAAM;4BACR,MAAM;CACb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCArCO,MAAM;mCACL,MAAM;iCACR,MAAM;iCACN,MAAM;;;;;8BA8BR,MAAM;4BACR,MAAM;kCACA,MAAM;gCACR,MAAM;;;AAGvB,wBAWE"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Helpers - 主题辅助工具
|
|
3
|
+
*
|
|
4
|
+
* 提供便捷的方法来访问当前主题的颜色和工具函数
|
|
5
|
+
* 基于「霓虹暗夜」视觉语言的语义化颜色系统
|
|
6
|
+
*/
|
|
7
|
+
import { inkColorMap } from './colors.js';
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
/**
|
|
10
|
+
* Chalk 颜色辅助类
|
|
11
|
+
* 使用设计系统中定义的语义化颜色
|
|
12
|
+
*/
|
|
13
|
+
export const semanticChalk = {
|
|
14
|
+
// Primary and Accent - 能量色
|
|
15
|
+
primary: chalk.cyan, // 电光青 - 用户意图
|
|
16
|
+
accent: chalk.magenta, // 霓虹紫 - AI 生成
|
|
17
|
+
// Semantic colors - 信号色
|
|
18
|
+
success: chalk.green,
|
|
19
|
+
warning: chalk.yellow,
|
|
20
|
+
error: chalk.red,
|
|
21
|
+
info: chalk.blue,
|
|
22
|
+
// Text variants
|
|
23
|
+
muted: chalk.gray,
|
|
24
|
+
dim: chalk.dim,
|
|
25
|
+
bold: chalk.bold,
|
|
26
|
+
// Combined styles
|
|
27
|
+
successBold: chalk.green.bold,
|
|
28
|
+
errorBold: chalk.red.bold,
|
|
29
|
+
warningBold: chalk.yellow.bold,
|
|
30
|
+
infoBold: chalk.blue.bold,
|
|
31
|
+
primaryBold: chalk.cyan.bold,
|
|
32
|
+
accentBold: chalk.magenta.bold,
|
|
33
|
+
// 人机边界颜色
|
|
34
|
+
user: chalk.cyan, // 用户相关 - 电光青
|
|
35
|
+
ai: chalk.magenta, // AI 相关 - 霓虹紫
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Ink 颜色辅助 - 用于 <Text> 组件
|
|
39
|
+
* 返回 Ink 支持的颜色字符串
|
|
40
|
+
*/
|
|
41
|
+
export const semanticInk = {
|
|
42
|
+
primary: inkColorMap.primary,
|
|
43
|
+
accent: inkColorMap.accent,
|
|
44
|
+
success: inkColorMap.success,
|
|
45
|
+
warning: inkColorMap.warning,
|
|
46
|
+
error: inkColorMap.error,
|
|
47
|
+
info: inkColorMap.info,
|
|
48
|
+
muted: inkColorMap.muted,
|
|
49
|
+
// 人机边界颜色
|
|
50
|
+
user: 'cyan', // 用户相关 - 电光青
|
|
51
|
+
ai: 'magenta', // AI 相关 - 霓虹紫
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* 获取 Ink 颜色(用于 <Text color={...}> )
|
|
55
|
+
*/
|
|
56
|
+
export function getInkColor(semantic) {
|
|
57
|
+
return semanticInk[semantic] ?? semanticInk.muted;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 获取 Chalk 颜色函数
|
|
61
|
+
*/
|
|
62
|
+
export function getChalkColor(semantic) {
|
|
63
|
+
return semanticChalk[semantic] ?? semanticChalk.muted;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 状态指示器
|
|
67
|
+
*/
|
|
68
|
+
export const statusIndicators = {
|
|
69
|
+
success: '✓',
|
|
70
|
+
error: '✗',
|
|
71
|
+
warning: '⚠',
|
|
72
|
+
info: 'ℹ',
|
|
73
|
+
loading: '⏳',
|
|
74
|
+
processing: '⚡', // 使用闪电符号更符合「气韵流动」美学
|
|
75
|
+
user: '›', // 用户输入提示
|
|
76
|
+
ai: '◆', // AI 输出提示
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* 带颜色的状态指示器
|
|
80
|
+
*/
|
|
81
|
+
export function coloredStatus(status, message) {
|
|
82
|
+
const indicator = statusIndicators[status];
|
|
83
|
+
switch (status) {
|
|
84
|
+
case 'success':
|
|
85
|
+
return chalk.green(`${indicator} ${message}`);
|
|
86
|
+
case 'error':
|
|
87
|
+
return chalk.red(`${indicator} ${message}`);
|
|
88
|
+
case 'warning':
|
|
89
|
+
return chalk.yellow(`${indicator} ${message}`);
|
|
90
|
+
case 'info':
|
|
91
|
+
return chalk.blue(`${indicator} ${message}`);
|
|
92
|
+
case 'loading':
|
|
93
|
+
case 'processing':
|
|
94
|
+
return chalk.cyan(`${indicator} ${message}`);
|
|
95
|
+
case 'user':
|
|
96
|
+
return chalk.cyan(`${indicator} ${message}`);
|
|
97
|
+
case 'ai':
|
|
98
|
+
return chalk.magenta(`${indicator} ${message}`);
|
|
99
|
+
default:
|
|
100
|
+
return `${indicator} ${message}`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 分隔线样式
|
|
105
|
+
*/
|
|
106
|
+
export const dividers = {
|
|
107
|
+
solid: (length = 60) => chalk.gray('─'.repeat(length)),
|
|
108
|
+
double: (length = 60) => chalk.gray('═'.repeat(length)),
|
|
109
|
+
bold: (length = 60) => chalk.bold('─'.repeat(length)),
|
|
110
|
+
glow: (length = 60) => chalk.cyan('━'.repeat(length)), // 电光青发光分隔线
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* 高亮文本
|
|
114
|
+
*/
|
|
115
|
+
export function highlight(text, color = 'primary') {
|
|
116
|
+
const chalkFn = getChalkColor(color);
|
|
117
|
+
return chalkFn.bold(text);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* 代码块样式
|
|
121
|
+
*/
|
|
122
|
+
export function codeBlock(code, language) {
|
|
123
|
+
const header = language ? chalk.gray(`[${language}]`) : '';
|
|
124
|
+
const lines = code.split('\n').map(line => chalk.gray('│ ') + line);
|
|
125
|
+
return [
|
|
126
|
+
header,
|
|
127
|
+
chalk.gray('┌' + '─'.repeat(58) + '┐'),
|
|
128
|
+
...lines,
|
|
129
|
+
chalk.gray('└' + '─'.repeat(58) + '┘')
|
|
130
|
+
].filter(Boolean).join('\n');
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* 人机边界样式 - 用于区分用户输入和 AI 输出
|
|
134
|
+
*/
|
|
135
|
+
export const boundary = {
|
|
136
|
+
user: (text) => chalk.cyan(text),
|
|
137
|
+
ai: (text) => chalk.magenta(text),
|
|
138
|
+
userBold: (text) => chalk.cyan.bold(text),
|
|
139
|
+
aiBold: (text) => chalk.magenta.bold(text),
|
|
140
|
+
};
|
|
141
|
+
export default {
|
|
142
|
+
semanticChalk,
|
|
143
|
+
semanticInk,
|
|
144
|
+
getInkColor,
|
|
145
|
+
getChalkColor,
|
|
146
|
+
statusIndicators,
|
|
147
|
+
coloredStatus,
|
|
148
|
+
dividers,
|
|
149
|
+
highlight,
|
|
150
|
+
codeBlock,
|
|
151
|
+
boundary,
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=theme-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-helpers.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/design-system/theme-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* i18n - Internationalization Support
|
|
3
|
+
*
|
|
4
|
+
* Provides simple internationalization without external dependencies
|
|
5
|
+
* Supports English and Chinese (Simplified)
|
|
6
|
+
*/
|
|
7
|
+
import type { SupportedLanguage } from './types.js';
|
|
8
|
+
export type { SupportedLanguage, TranslationKeys } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Initialize i18n with user's language preference
|
|
11
|
+
*/
|
|
12
|
+
export declare function initI18n(): SupportedLanguage;
|
|
13
|
+
/**
|
|
14
|
+
* Set current language
|
|
15
|
+
*/
|
|
16
|
+
export declare function setLanguage(lang: SupportedLanguage): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get current language
|
|
19
|
+
*/
|
|
20
|
+
export declare function getLanguage(): SupportedLanguage;
|
|
21
|
+
/**
|
|
22
|
+
* Get translation for a key path
|
|
23
|
+
*
|
|
24
|
+
* @param keyPath - Dot-separated key path (e.g., 'common.save', 'welcome.title')
|
|
25
|
+
* @param params - Optional parameters for string interpolation
|
|
26
|
+
* @returns Translated string
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* t('common.save') // => 'Save' or '保存'
|
|
30
|
+
* t('modelConfig.defaultHint', { default: 'gpt-4' }) // => 'default: gpt-4'
|
|
31
|
+
*/
|
|
32
|
+
export declare function t(keyPath: string, params?: Record<string, any>): string;
|
|
33
|
+
/**
|
|
34
|
+
* Save language preference to config file
|
|
35
|
+
*/
|
|
36
|
+
export declare function saveLanguagePreference(lang: SupportedLanguage): Promise<void>;
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/jsMain/typescript/i18n/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAC;AAMrE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASrE;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CA0B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,CAE/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAmCvE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCnF"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* i18n - Internationalization Support
|
|
3
|
+
*
|
|
4
|
+
* Provides simple internationalization without external dependencies
|
|
5
|
+
* Supports English and Chinese (Simplified)
|
|
6
|
+
*/
|
|
7
|
+
import { en } from './locales/en.js';
|
|
8
|
+
import { zh } from './locales/zh.js';
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import * as os from 'os';
|
|
12
|
+
const translations = {
|
|
13
|
+
en,
|
|
14
|
+
zh,
|
|
15
|
+
};
|
|
16
|
+
let currentLanguage = 'en';
|
|
17
|
+
/**
|
|
18
|
+
* Initialize i18n with user's language preference
|
|
19
|
+
*/
|
|
20
|
+
export function initI18n() {
|
|
21
|
+
// Try to load language preference from config
|
|
22
|
+
const configPath = path.join(os.homedir(), '.autodev', 'config.yaml');
|
|
23
|
+
try {
|
|
24
|
+
if (fs.existsSync(configPath)) {
|
|
25
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
26
|
+
const match = content.match(/language:\s*['"]?(en|zh)['"]?/);
|
|
27
|
+
if (match) {
|
|
28
|
+
currentLanguage = match[1];
|
|
29
|
+
return currentLanguage;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
// Ignore errors, use default
|
|
35
|
+
}
|
|
36
|
+
// Fall back to system locale
|
|
37
|
+
const locale = process.env.LANG || process.env.LC_ALL || 'en';
|
|
38
|
+
if (locale.startsWith('zh')) {
|
|
39
|
+
currentLanguage = 'zh';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
currentLanguage = 'en';
|
|
43
|
+
}
|
|
44
|
+
return currentLanguage;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Set current language
|
|
48
|
+
*/
|
|
49
|
+
export function setLanguage(lang) {
|
|
50
|
+
currentLanguage = lang;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get current language
|
|
54
|
+
*/
|
|
55
|
+
export function getLanguage() {
|
|
56
|
+
return currentLanguage;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get translation for a key path
|
|
60
|
+
*
|
|
61
|
+
* @param keyPath - Dot-separated key path (e.g., 'common.save', 'welcome.title')
|
|
62
|
+
* @param params - Optional parameters for string interpolation
|
|
63
|
+
* @returns Translated string
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* t('common.save') // => 'Save' or '保存'
|
|
67
|
+
* t('modelConfig.defaultHint', { default: 'gpt-4' }) // => 'default: gpt-4'
|
|
68
|
+
*/
|
|
69
|
+
export function t(keyPath, params) {
|
|
70
|
+
const keys = keyPath.split('.');
|
|
71
|
+
const langData = translations[currentLanguage];
|
|
72
|
+
// Navigate through the nested object
|
|
73
|
+
let value = langData;
|
|
74
|
+
for (const key of keys) {
|
|
75
|
+
if (value && typeof value === 'object' && key in value) {
|
|
76
|
+
value = value[key];
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// Fallback to English if key not found
|
|
80
|
+
value = translations.en;
|
|
81
|
+
for (const k of keys) {
|
|
82
|
+
if (value && typeof value === 'object' && k in value) {
|
|
83
|
+
value = value[k];
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return keyPath; // Return key path if not found
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (typeof value !== 'string') {
|
|
93
|
+
return keyPath;
|
|
94
|
+
}
|
|
95
|
+
// Simple string interpolation
|
|
96
|
+
if (params) {
|
|
97
|
+
return value.replace(/\{\{(\w+)\}\}/g, (match, key) => {
|
|
98
|
+
return params[key]?.toString() || match;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return value;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Save language preference to config file
|
|
105
|
+
*/
|
|
106
|
+
export async function saveLanguagePreference(lang) {
|
|
107
|
+
const configDir = path.join(os.homedir(), '.autodev');
|
|
108
|
+
const configPath = path.join(configDir, 'config.yaml');
|
|
109
|
+
try {
|
|
110
|
+
// Ensure directory exists
|
|
111
|
+
if (!fs.existsSync(configDir)) {
|
|
112
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
113
|
+
}
|
|
114
|
+
let content = '';
|
|
115
|
+
// Read existing config if it exists
|
|
116
|
+
if (fs.existsSync(configPath)) {
|
|
117
|
+
content = fs.readFileSync(configPath, 'utf-8');
|
|
118
|
+
// Update or add language setting
|
|
119
|
+
if (content.includes('language:')) {
|
|
120
|
+
content = content.replace(/language:\s*['"]?\w+['"]?/, `language: ${lang}`);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
content = `language: ${lang}\n${content}`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
content = `language: ${lang}\n`;
|
|
128
|
+
}
|
|
129
|
+
fs.writeFileSync(configPath, content, 'utf-8');
|
|
130
|
+
setLanguage(lang);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error('Failed to save language preference:', error);
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Initialize on import
|
|
138
|
+
initI18n();
|
|
139
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/jsMain/typescript/i18n/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/jsMain/typescript/i18n/locales/en.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,EAAE,EAAE,eAwHhB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* English Translations
|
|
3
|
+
*/
|
|
4
|
+
export const en = {
|
|
5
|
+
common: {
|
|
6
|
+
save: 'Save',
|
|
7
|
+
cancel: 'Cancel',
|
|
8
|
+
back: 'Back',
|
|
9
|
+
confirm: 'Confirm',
|
|
10
|
+
error: 'Error',
|
|
11
|
+
success: 'Success',
|
|
12
|
+
loading: 'Loading',
|
|
13
|
+
yes: 'Yes',
|
|
14
|
+
no: 'No',
|
|
15
|
+
continue: 'Continue',
|
|
16
|
+
exit: 'Exit',
|
|
17
|
+
},
|
|
18
|
+
welcome: {
|
|
19
|
+
title: '🚀 Welcome to AutoDev CLI!',
|
|
20
|
+
subtitle: "Let's set up your AI configuration. You can add more later in ~/.autodev/config.yaml",
|
|
21
|
+
configPrompt: 'Configure your LLM model to get started',
|
|
22
|
+
exitHint: 'Press Ctrl+C to exit',
|
|
23
|
+
},
|
|
24
|
+
modelConfig: {
|
|
25
|
+
title: '🤖 Configure LLM Model',
|
|
26
|
+
stepInfo: 'Step 1/2',
|
|
27
|
+
nextStepInfo: "You'll name this configuration in the next step",
|
|
28
|
+
selectProvider: 'Select your LLM provider:',
|
|
29
|
+
enterModel: 'Enter model name',
|
|
30
|
+
defaultHint: 'default: {{default}}',
|
|
31
|
+
enterApiKey: 'Enter your API key:',
|
|
32
|
+
enterBaseUrl: 'Enter custom base URL (optional):',
|
|
33
|
+
customBaseUrl: 'Enter custom base URL',
|
|
34
|
+
ollamaUrl: 'Enter Ollama server URL:',
|
|
35
|
+
leaveEmpty: 'Leave empty to use default',
|
|
36
|
+
backHint: 'Press Ctrl+B to go back',
|
|
37
|
+
summary: 'Configuration Summary:',
|
|
38
|
+
nameConfig: '💾 Name Your Configuration',
|
|
39
|
+
namePrompt: 'Give this configuration a name (e.g., "work", "personal", "gpt4"):',
|
|
40
|
+
nameHint: 'Press Enter to save',
|
|
41
|
+
providers: {
|
|
42
|
+
openai: '🔹 OpenAI (GPT-4, GPT-3.5)',
|
|
43
|
+
anthropic: '🔹 Anthropic (Claude)',
|
|
44
|
+
google: '🔹 Google (Gemini)',
|
|
45
|
+
deepseek: '🔹 DeepSeek',
|
|
46
|
+
ollama: '🔹 Ollama (Local)',
|
|
47
|
+
openrouter: '🔹 OpenRouter',
|
|
48
|
+
glm: '🔹 智谱AI (GLM)',
|
|
49
|
+
qwen: '🔹 阿里通义千问 (Qwen)',
|
|
50
|
+
kimi: '🔹 月之暗面 (Kimi)',
|
|
51
|
+
customOpenAIBase: '🔹 Custom OpenAI-compatible',
|
|
52
|
+
},
|
|
53
|
+
fields: {
|
|
54
|
+
provider: 'Provider',
|
|
55
|
+
model: 'Model',
|
|
56
|
+
apiKey: 'API Key',
|
|
57
|
+
baseUrl: 'Base URL',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
chat: {
|
|
61
|
+
title: '🤖 AutoDev CLI - AI Coding Assistant',
|
|
62
|
+
emptyHint: '💬 Type your message to start coding',
|
|
63
|
+
startHint: '💡 Try /help or @code to get started',
|
|
64
|
+
inputPlaceholder: 'Type your message... (or /help for commands)',
|
|
65
|
+
exitHint: 'Press Ctrl+C to exit',
|
|
66
|
+
helpHint: 'Type /help for commands',
|
|
67
|
+
prefixes: {
|
|
68
|
+
you: '👤 You',
|
|
69
|
+
ai: '🤖 AI',
|
|
70
|
+
system: 'ℹ️ System',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
commands: {
|
|
74
|
+
help: {
|
|
75
|
+
description: 'Show help information',
|
|
76
|
+
},
|
|
77
|
+
clear: {
|
|
78
|
+
description: 'Clear chat history',
|
|
79
|
+
success: '✓ Chat history cleared',
|
|
80
|
+
},
|
|
81
|
+
exit: {
|
|
82
|
+
description: 'Exit the application',
|
|
83
|
+
},
|
|
84
|
+
config: {
|
|
85
|
+
description: 'Show configuration',
|
|
86
|
+
output: '📋 Configuration:\n • Model: {{model}}\n • Type /help for more commands',
|
|
87
|
+
},
|
|
88
|
+
model: {
|
|
89
|
+
description: 'Change AI model',
|
|
90
|
+
available: 'Available models: {{models}}',
|
|
91
|
+
current: 'Current: {{model}}',
|
|
92
|
+
usage: 'Usage: /model <name>',
|
|
93
|
+
},
|
|
94
|
+
init: {
|
|
95
|
+
description: 'Initialize project domain dictionary',
|
|
96
|
+
starting: '🚀 Starting domain dictionary generation...',
|
|
97
|
+
analyzing: '📊 Analyzing project code...',
|
|
98
|
+
generating: '🤖 Generating domain dictionary with AI...',
|
|
99
|
+
saving: '💾 Saving domain dictionary to prompts/domain.csv...',
|
|
100
|
+
success: '✅ Domain dictionary generated successfully! File saved to prompts/domain.csv',
|
|
101
|
+
error: '❌ Domain dictionary generation failed: {{error}}',
|
|
102
|
+
noCode: '⚠️ No analyzable code files found',
|
|
103
|
+
usage: 'Usage: /init [--force] - Generate project domain dictionary',
|
|
104
|
+
},
|
|
105
|
+
unknown: 'Unknown command: {{command}}. Type /help for available commands.',
|
|
106
|
+
usage: 'Command name is required. Usage: /command [args]',
|
|
107
|
+
executionError: 'Command execution failed: {{error}}',
|
|
108
|
+
},
|
|
109
|
+
messages: {
|
|
110
|
+
configSaving: '⏳ Saving configuration...',
|
|
111
|
+
configSaved: '✓ Configuration saved!',
|
|
112
|
+
configLoadError: 'Failed to load configuration: {{error}}',
|
|
113
|
+
configSaveError: 'Failed to save configuration: {{error}}',
|
|
114
|
+
starting: 'Starting AutoDev CLI...',
|
|
115
|
+
goodbye: '👋 Goodbye! Happy coding!',
|
|
116
|
+
inputError: 'Error processing input: {{error}}',
|
|
117
|
+
compilationError: 'DevIns compilation error: {{error}}',
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../../src/jsMain/typescript/i18n/locales/en.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../../../../src/jsMain/typescript/i18n/locales/zh.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,EAAE,EAAE,eAwHhB,CAAC"}
|