tabby-ai-assistant 1.0.10 → 1.0.12

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 (104) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +3 -3
  3. package/src/components/chat/ai-sidebar.component.scss +43 -0
  4. package/src/components/chat/ai-sidebar.component.ts +43 -1
  5. package/src/components/settings/ai-settings-tab.component.html +13 -5
  6. package/src/components/settings/ai-settings-tab.component.scss +164 -33
  7. package/src/components/settings/ai-settings-tab.component.ts +1 -0
  8. package/src/components/settings/context-settings.component.html +87 -0
  9. package/src/components/settings/context-settings.component.scss +133 -0
  10. package/src/components/settings/context-settings.component.ts +91 -0
  11. package/src/components/settings/provider-config.component.ts +12 -6
  12. package/src/i18n/translations/en-US.ts +27 -1
  13. package/src/i18n/translations/ja-JP.ts +27 -1
  14. package/src/i18n/translations/zh-CN.ts +27 -1
  15. package/src/i18n/types.ts +28 -0
  16. package/src/index.ts +6 -0
  17. package/src/services/chat/ai-sidebar.service.ts +1 -1
  18. package/src/services/chat/chat-session.service.ts +91 -2
  19. package/src/services/context/manager.ts +33 -2
  20. package/src/services/core/ai-assistant.service.ts +35 -11
  21. package/src/services/core/config-provider.service.ts +66 -0
  22. package/src/services/core/toast.service.ts +70 -0
  23. package/src/services/providers/anthropic-provider.service.ts +12 -4
  24. package/src/services/providers/glm-provider.service.ts +12 -4
  25. package/src/services/providers/minimax-provider.service.ts +12 -4
  26. package/src/styles/ai-assistant.scss +23 -0
  27. package/src/types/ai.types.ts +3 -3
  28. package/src/types/provider.types.ts +1 -0
  29. package/dist/components/chat/ai-sidebar.component.d.ts +0 -160
  30. package/dist/components/chat/chat-input.component.d.ts +0 -69
  31. package/dist/components/chat/chat-interface.component.d.ts +0 -124
  32. package/dist/components/chat/chat-message.component.d.ts +0 -53
  33. package/dist/components/chat/chat-settings.component.d.ts +0 -72
  34. package/dist/components/common/error-message.component.d.ts +0 -11
  35. package/dist/components/common/loading-spinner.component.d.ts +0 -4
  36. package/dist/components/security/consent-dialog.component.d.ts +0 -11
  37. package/dist/components/security/password-prompt.component.d.ts +0 -10
  38. package/dist/components/security/risk-confirm-dialog.component.d.ts +0 -36
  39. package/dist/components/settings/ai-settings-tab.component.d.ts +0 -82
  40. package/dist/components/settings/general-settings.component.d.ts +0 -94
  41. package/dist/components/settings/provider-config.component.d.ts +0 -300
  42. package/dist/components/settings/security-settings.component.d.ts +0 -33
  43. package/dist/components/terminal/ai-toolbar-button.component.d.ts +0 -10
  44. package/dist/components/terminal/command-preview.component.d.ts +0 -53
  45. package/dist/components/terminal/command-suggestion.component.d.ts +0 -16
  46. package/dist/i18n/index.d.ts +0 -48
  47. package/dist/i18n/translations/en-US.d.ts +0 -5
  48. package/dist/i18n/translations/ja-JP.d.ts +0 -5
  49. package/dist/i18n/translations/zh-CN.d.ts +0 -5
  50. package/dist/i18n/types.d.ts +0 -198
  51. package/dist/index-full.d.ts +0 -8
  52. package/dist/index-minimal.d.ts +0 -3
  53. package/dist/index.d.ts +0 -12
  54. package/dist/main.d.ts +0 -8
  55. package/dist/providers/tabby/ai-config.provider.d.ts +0 -70
  56. package/dist/providers/tabby/ai-hotkey.provider.d.ts +0 -15
  57. package/dist/providers/tabby/ai-settings-tab.provider.d.ts +0 -11
  58. package/dist/providers/tabby/ai-toolbar-button.provider.d.ts +0 -16
  59. package/dist/services/chat/ai-sidebar.service.d.ts +0 -111
  60. package/dist/services/chat/chat-history.service.d.ts +0 -145
  61. package/dist/services/chat/chat-session.service.d.ts +0 -113
  62. package/dist/services/chat/command-generator.service.d.ts +0 -49
  63. package/dist/services/context/compaction.d.ts +0 -90
  64. package/dist/services/context/manager.d.ts +0 -69
  65. package/dist/services/context/memory.d.ts +0 -116
  66. package/dist/services/context/token-budget.d.ts +0 -105
  67. package/dist/services/core/ai-assistant.service.d.ts +0 -127
  68. package/dist/services/core/ai-provider-manager.service.d.ts +0 -119
  69. package/dist/services/core/checkpoint.service.d.ts +0 -130
  70. package/dist/services/core/config-provider.service.d.ts +0 -137
  71. package/dist/services/core/logger.service.d.ts +0 -21
  72. package/dist/services/core/theme.service.d.ts +0 -53
  73. package/dist/services/core/toast.service.d.ts +0 -15
  74. package/dist/services/platform/escape-sequence.service.d.ts +0 -132
  75. package/dist/services/platform/platform-detection.service.d.ts +0 -146
  76. package/dist/services/providers/anthropic-provider.service.d.ts +0 -44
  77. package/dist/services/providers/base-provider.service.d.ts +0 -142
  78. package/dist/services/providers/glm-provider.service.d.ts +0 -96
  79. package/dist/services/providers/minimax-provider.service.d.ts +0 -102
  80. package/dist/services/providers/ollama-provider.service.d.ts +0 -76
  81. package/dist/services/providers/openai-compatible.service.d.ts +0 -44
  82. package/dist/services/providers/openai-provider.service.d.ts +0 -43
  83. package/dist/services/providers/vllm-provider.service.d.ts +0 -82
  84. package/dist/services/security/consent-manager.service.d.ts +0 -65
  85. package/dist/services/security/password-manager.service.d.ts +0 -67
  86. package/dist/services/security/risk-assessment.service.d.ts +0 -65
  87. package/dist/services/security/security-validator.service.d.ts +0 -36
  88. package/dist/services/terminal/buffer-analyzer.service.d.ts +0 -128
  89. package/dist/services/terminal/command-analyzer.service.d.ts +0 -20
  90. package/dist/services/terminal/context-menu.service.d.ts +0 -24
  91. package/dist/services/terminal/hotkey.service.d.ts +0 -28
  92. package/dist/services/terminal/terminal-context.service.d.ts +0 -100
  93. package/dist/services/terminal/terminal-manager.service.d.ts +0 -185
  94. package/dist/services/terminal/terminal-tools.service.d.ts +0 -79
  95. package/dist/types/ai.types.d.ts +0 -199
  96. package/dist/types/provider.types.d.ts +0 -105
  97. package/dist/types/security.types.d.ts +0 -85
  98. package/dist/types/terminal.types.d.ts +0 -150
  99. package/dist/utils/encryption.utils.d.ts +0 -83
  100. package/dist/utils/formatting.utils.d.ts +0 -106
  101. package/dist/utils/validation.utils.d.ts +0 -83
  102. package/jest.config.js +0 -47
  103. package/webpack-docker.config.js +0 -42
  104. package/webpack.config.js +0 -81
@@ -1,76 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BaseAiProvider } from './base-provider.service';
3
- import { ProviderCapability, HealthStatus, ValidationResult } from '../../types/provider.types';
4
- import { ChatRequest, ChatResponse, StreamEvent, CommandRequest, CommandResponse, ExplainRequest, ExplainResponse, AnalysisRequest, AnalysisResponse } from '../../types/ai.types';
5
- import { LoggerService } from '../core/logger.service';
6
- /**
7
- * Ollama 本地 AI 提供商
8
- * 兼容 OpenAI API 格式,默认端口 11434
9
- */
10
- export declare class OllamaProviderService extends BaseAiProvider {
11
- readonly name = "ollama";
12
- readonly displayName = "Ollama (\u672C\u5730)";
13
- readonly capabilities: ProviderCapability[];
14
- readonly authConfig: {
15
- type: "none";
16
- credentials: {};
17
- };
18
- constructor(logger: LoggerService);
19
- protected getDefaultBaseURL(): string;
20
- /**
21
- * 非流式聊天
22
- */
23
- chat(request: ChatRequest): Promise<ChatResponse>;
24
- /**
25
- * 流式聊天
26
- */
27
- chatStream(request: ChatRequest): Observable<StreamEvent>;
28
- /**
29
- * 健康检查 - 检测 Ollama 服务是否运行
30
- */
31
- healthCheck(): Promise<HealthStatus>;
32
- /**
33
- * 验证配置 - 本地服务无需 API Key
34
- */
35
- validateConfig(): ValidationResult;
36
- /**
37
- * 生成命令
38
- */
39
- generateCommand(request: CommandRequest): Promise<CommandResponse>;
40
- /**
41
- * 解释命令
42
- */
43
- explainCommand(request: ExplainRequest): Promise<ExplainResponse>;
44
- /**
45
- * 分析结果
46
- */
47
- analyzeResult(request: AnalysisRequest): Promise<AnalysisResponse>;
48
- /**
49
- * 转换消息格式
50
- */
51
- protected transformMessages(messages: any[]): any[];
52
- /**
53
- * 构建命令生成提示
54
- */
55
- private buildCommandPrompt;
56
- /**
57
- * 构建命令解释提示
58
- */
59
- private buildExplainPrompt;
60
- /**
61
- * 构建结果分析提示
62
- */
63
- private buildAnalysisPrompt;
64
- /**
65
- * 解析命令响应
66
- */
67
- private parseCommandResponse;
68
- /**
69
- * 解析解释响应
70
- */
71
- private parseExplainResponse;
72
- /**
73
- * 解析分析响应
74
- */
75
- private parseAnalysisResponse;
76
- }
@@ -1,44 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BaseAiProvider } from './base-provider.service';
3
- import { ProviderCapability, HealthStatus, ValidationResult } from '../../types/provider.types';
4
- import { ChatRequest, ChatResponse, CommandRequest, CommandResponse, ExplainRequest, ExplainResponse, AnalysisRequest, AnalysisResponse } from '../../types/ai.types';
5
- import { LoggerService } from '../core/logger.service';
6
- /**
7
- * OpenAI兼容AI提供商
8
- * 支持LocalAI、Ollama、OpenRouter等OpenAI API兼容服务
9
- */
10
- export declare class OpenAiCompatibleProviderService extends BaseAiProvider {
11
- readonly name = "openai-compatible";
12
- readonly displayName = "OpenAI Compatible";
13
- readonly capabilities: ProviderCapability[];
14
- readonly authConfig: {
15
- type: "bearer";
16
- credentials: {
17
- apiKey: string;
18
- };
19
- };
20
- private client;
21
- private supportedModels;
22
- constructor(logger: LoggerService);
23
- configure(config: any): void;
24
- private initializeClient;
25
- chat(request: ChatRequest): Promise<ChatResponse>;
26
- /**
27
- * 流式聊天功能 - 暂未实现,回退到非流式
28
- */
29
- chatStream(request: ChatRequest): Observable<any>;
30
- generateCommand(request: CommandRequest): Promise<CommandResponse>;
31
- explainCommand(request: ExplainRequest): Promise<ExplainResponse>;
32
- analyzeResult(request: AnalysisRequest): Promise<AnalysisResponse>;
33
- healthCheck(): Promise<HealthStatus>;
34
- validateConfig(): ValidationResult;
35
- protected getDefaultBaseURL(): string;
36
- protected transformMessages(messages: any[]): any[];
37
- private transformChatResponse;
38
- private buildCommandPrompt;
39
- private buildExplainPrompt;
40
- private buildAnalysisPrompt;
41
- private parseCommandResponse;
42
- private parseExplainResponse;
43
- private parseAnalysisResponse;
44
- }
@@ -1,43 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BaseAiProvider } from './base-provider.service';
3
- import { ProviderCapability, HealthStatus, ValidationResult } from '../../types/provider.types';
4
- import { ChatRequest, ChatResponse, CommandRequest, CommandResponse, ExplainRequest, ExplainResponse, AnalysisRequest, AnalysisResponse } from '../../types/ai.types';
5
- import { LoggerService } from '../core/logger.service';
6
- /**
7
- * OpenAI AI提供商
8
- * 基于OpenAI API格式
9
- */
10
- export declare class OpenAiProviderService extends BaseAiProvider {
11
- readonly name = "openai";
12
- readonly displayName = "OpenAI (GPT-4)";
13
- readonly capabilities: ProviderCapability[];
14
- readonly authConfig: {
15
- type: "bearer";
16
- credentials: {
17
- apiKey: string;
18
- };
19
- };
20
- private client;
21
- constructor(logger: LoggerService);
22
- configure(config: any): void;
23
- private initializeClient;
24
- chat(request: ChatRequest): Promise<ChatResponse>;
25
- /**
26
- * 流式聊天功能 - 暂未实现,回退到非流式
27
- */
28
- chatStream(request: ChatRequest): Observable<any>;
29
- generateCommand(request: CommandRequest): Promise<CommandResponse>;
30
- explainCommand(request: ExplainRequest): Promise<ExplainResponse>;
31
- analyzeResult(request: AnalysisRequest): Promise<AnalysisResponse>;
32
- healthCheck(): Promise<HealthStatus>;
33
- validateConfig(): ValidationResult;
34
- protected getDefaultBaseURL(): string;
35
- protected transformMessages(messages: any[]): any[];
36
- private transformChatResponse;
37
- private buildCommandPrompt;
38
- private buildExplainPrompt;
39
- private buildAnalysisPrompt;
40
- private parseCommandResponse;
41
- private parseExplainResponse;
42
- private parseAnalysisResponse;
43
- }
@@ -1,82 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BaseAiProvider } from './base-provider.service';
3
- import { ProviderCapability, HealthStatus, ValidationResult } from '../../types/provider.types';
4
- import { ChatRequest, ChatResponse, StreamEvent, CommandRequest, CommandResponse, ExplainRequest, ExplainResponse, AnalysisRequest, AnalysisResponse } from '../../types/ai.types';
5
- import { LoggerService } from '../core/logger.service';
6
- /**
7
- * vLLM 本地 AI 提供商
8
- * 兼容 OpenAI API 格式,默认端口 8000
9
- */
10
- export declare class VllmProviderService extends BaseAiProvider {
11
- readonly name = "vllm";
12
- readonly displayName = "vLLM (\u672C\u5730)";
13
- readonly capabilities: ProviderCapability[];
14
- readonly authConfig: {
15
- type: "bearer";
16
- credentials: {
17
- apiKey: string;
18
- };
19
- };
20
- constructor(logger: LoggerService);
21
- protected getDefaultBaseURL(): string;
22
- /**
23
- * 获取认证头
24
- */
25
- protected getAuthHeaders(): Record<string, string>;
26
- /**
27
- * 非流式聊天
28
- */
29
- chat(request: ChatRequest): Promise<ChatResponse>;
30
- /**
31
- * 流式聊天
32
- */
33
- chatStream(request: ChatRequest): Observable<StreamEvent>;
34
- /**
35
- * 健康检查 - 检测 vLLM 服务是否运行
36
- */
37
- healthCheck(): Promise<HealthStatus>;
38
- /**
39
- * 验证配置
40
- */
41
- validateConfig(): ValidationResult;
42
- /**
43
- * 生成命令
44
- */
45
- generateCommand(request: CommandRequest): Promise<CommandResponse>;
46
- /**
47
- * 解释命令
48
- */
49
- explainCommand(request: ExplainRequest): Promise<ExplainResponse>;
50
- /**
51
- * 分析结果
52
- */
53
- analyzeResult(request: AnalysisRequest): Promise<AnalysisResponse>;
54
- /**
55
- * 转换消息格式
56
- */
57
- protected transformMessages(messages: any[]): any[];
58
- /**
59
- * 构建命令生成提示
60
- */
61
- private buildCommandPrompt;
62
- /**
63
- * 构建命令解释提示
64
- */
65
- private buildExplainPrompt;
66
- /**
67
- * 构建结果分析提示
68
- */
69
- private buildAnalysisPrompt;
70
- /**
71
- * 解析命令响应
72
- */
73
- private parseCommandResponse;
74
- /**
75
- * 解析解释响应
76
- */
77
- private parseExplainResponse;
78
- /**
79
- * 解析分析响应
80
- */
81
- private parseAnalysisResponse;
82
- }
@@ -1,65 +0,0 @@
1
- import { RiskLevel } from '../../types/security.types';
2
- import { LoggerService } from '../core/logger.service';
3
- export declare class ConsentManagerService {
4
- private logger;
5
- private readonly CONSENT_KEY_PREFIX;
6
- private readonly DEFAULT_EXPIRY;
7
- constructor(logger: LoggerService);
8
- /**
9
- * 存储用户同意
10
- */
11
- storeConsent(command: string, riskLevel: RiskLevel): Promise<void>;
12
- /**
13
- * 检查是否有用户同意
14
- */
15
- hasConsent(command: string, riskLevel: RiskLevel): Promise<boolean>;
16
- /**
17
- * 请求用户同意
18
- */
19
- requestConsent(command: string, explanation: string, riskLevel: RiskLevel): Promise<boolean>;
20
- /**
21
- * 清除所有同意
22
- */
23
- clearAllConsents(): Promise<void>;
24
- /**
25
- * 获取所有同意数量
26
- */
27
- getActiveConsentsCount(): Promise<number>;
28
- /**
29
- * 获取总验证次数
30
- */
31
- getTotalValidations(): Promise<number>;
32
- /**
33
- * 获取同意统计
34
- */
35
- getConsentStats(): Promise<{
36
- total: number;
37
- byLevel: {
38
- [key in RiskLevel]: number;
39
- };
40
- expired: number;
41
- }>;
42
- /**
43
- * 清理过期的同意
44
- */
45
- cleanupExpiredConsents(): Promise<number>;
46
- /**
47
- * 获取风险级别文本
48
- */
49
- private getRiskLevelText;
50
- /**
51
- * 对命令进行哈希
52
- */
53
- private hashCommand;
54
- /**
55
- * 导出同意数据
56
- */
57
- exportConsents(): string;
58
- /**
59
- * 导入同意数据
60
- */
61
- importConsents(data: string): Promise<{
62
- imported: number;
63
- skipped: number;
64
- }>;
65
- }
@@ -1,67 +0,0 @@
1
- import { PasswordValidationResult } from '../../types/security.types';
2
- import { LoggerService } from '../core/logger.service';
3
- export declare class PasswordManagerService {
4
- private logger;
5
- private readonly STORAGE_KEY;
6
- private readonly MAX_ATTEMPTS;
7
- private readonly LOCKOUT_TIME;
8
- private attempts;
9
- private lockoutUntil;
10
- constructor(logger: LoggerService);
11
- /**
12
- * 设置密码
13
- */
14
- setPassword(password: string): void;
15
- /**
16
- * 验证密码
17
- */
18
- requestPassword(): Promise<boolean>;
19
- /**
20
- * 检查是否有密码保护
21
- */
22
- hasPassword(): boolean;
23
- /**
24
- * 清除密码
25
- */
26
- clearPassword(): void;
27
- /**
28
- * 验证密码是否正确
29
- */
30
- private verifyPassword;
31
- /**
32
- * 哈希密码
33
- */
34
- private hashPassword;
35
- /**
36
- * 检查是否被锁定
37
- */
38
- private isLocked;
39
- /**
40
- * 获取剩余锁定时间
41
- */
42
- private getRemainingLockoutTime;
43
- /**
44
- * 重置尝试次数
45
- */
46
- private resetAttempts;
47
- /**
48
- * 保存状态
49
- */
50
- private saveState;
51
- /**
52
- * 加载状态
53
- */
54
- private loadState;
55
- /**
56
- * 获取验证结果
57
- */
58
- getValidationResult(): PasswordValidationResult;
59
- /**
60
- * 获取总尝试次数
61
- */
62
- getTotalAttempts(): number;
63
- /**
64
- * 获取失败次数
65
- */
66
- getFailedAttempts(): number;
67
- }
@@ -1,65 +0,0 @@
1
- import { RiskLevel, RiskAssessment } from '../../types/security.types';
2
- import { LoggerService } from '../core/logger.service';
3
- /**
4
- * 风险评估服务
5
- * 负责评估终端命令的安全风险级别
6
- */
7
- export declare class RiskAssessmentService {
8
- private logger;
9
- private readonly DANGEROUS_PATTERNS;
10
- private readonly SYSTEM_COMMANDS;
11
- private readonly NETWORK_COMMANDS;
12
- private readonly READONLY_COMMANDS;
13
- constructor(logger: LoggerService);
14
- /**
15
- * 评估命令风险
16
- */
17
- assessRisk(command: string): Promise<RiskLevel>;
18
- /**
19
- * 执行详细的风险评估
20
- */
21
- performAssessment(command: string): Promise<RiskAssessment>;
22
- /**
23
- * 检查命令中是否包含指定命令
24
- */
25
- private hasCommand;
26
- /**
27
- * 检查是否仅包含只读命令
28
- */
29
- private hasOnlyReadonlyCommands;
30
- /**
31
- * 检查是否是参数或路径
32
- */
33
- private isArgumentOrPath;
34
- /**
35
- * 计算风险分数
36
- */
37
- private calculateRiskScore;
38
- /**
39
- * 生成安全建议
40
- */
41
- private generateSuggestions;
42
- /**
43
- * 获取风险级别对应的数值
44
- */
45
- private getSeverityLevel;
46
- /**
47
- * 检查是否为危险命令
48
- */
49
- isDangerous(command: string): Promise<boolean>;
50
- /**
51
- * 获取风险级别描述
52
- */
53
- getRiskLevelDescription(level: RiskLevel): string;
54
- /**
55
- * 获取风险级别颜色
56
- */
57
- getRiskLevelColor(level: RiskLevel): string;
58
- /**
59
- * 批量评估多个命令
60
- */
61
- assessMultiple(commands: string[]): Promise<{
62
- command: string;
63
- level: RiskLevel;
64
- }[]>;
65
- }
@@ -1,36 +0,0 @@
1
- import { RiskLevel, ValidationResult } from '../../types/security.types';
2
- import { RiskAssessmentService } from './risk-assessment.service';
3
- import { ConsentManagerService } from './consent-manager.service';
4
- import { PasswordManagerService } from './password-manager.service';
5
- import { LoggerService } from '../core/logger.service';
6
- export declare class SecurityValidatorService {
7
- private riskAssessment;
8
- private consentManager;
9
- private passwordManager;
10
- private logger;
11
- constructor(riskAssessment: RiskAssessmentService, consentManager: ConsentManagerService, passwordManager: PasswordManagerService, logger: LoggerService);
12
- /**
13
- * 验证并确认命令执行
14
- */
15
- validateAndConfirm(command: string, explanation: string, _context?: any): Promise<ValidationResult>;
16
- /**
17
- * 检查命令是否安全
18
- */
19
- isCommandSafe(command: string): Promise<boolean>;
20
- /**
21
- * 获取风险级别
22
- */
23
- getRiskLevel(command: string): Promise<RiskLevel>;
24
- /**
25
- * 检查是否需要确认
26
- */
27
- requiresConfirmation(command: string): Promise<boolean>;
28
- /**
29
- * 清除所有用户同意
30
- */
31
- clearAllConsents(): Promise<void>;
32
- /**
33
- * 获取安全统计
34
- */
35
- getSecurityStats(): Promise<any>;
36
- }
@@ -1,128 +0,0 @@
1
- import { LoggerService } from '../core/logger.service';
2
- /**
3
- * 缓冲区分析结果
4
- */
5
- export interface BufferAnalysis {
6
- totalLines: number;
7
- totalCharacters: number;
8
- commandCount: number;
9
- errorCount: number;
10
- warningCount: number;
11
- filePaths: string[];
12
- urls: string[];
13
- commands: string[];
14
- errors: string[];
15
- warnings: string[];
16
- outputType: 'command' | 'error' | 'success' | 'mixed';
17
- complexity: 'low' | 'medium' | 'high';
18
- language?: string;
19
- }
20
- /**
21
- * 命令提取结果
22
- */
23
- export interface CommandExtraction {
24
- commands: Array<{
25
- command: string;
26
- fullCommand: string;
27
- arguments: string[];
28
- lineNumber: number;
29
- timestamp?: number;
30
- success?: boolean;
31
- output?: string;
32
- }>;
33
- lastCommand?: string;
34
- commandHistory: string[];
35
- }
36
- /**
37
- * 输出解析结果
38
- */
39
- export interface OutputParsing {
40
- structuredData: any[];
41
- keyValuePairs: Record<string, string>;
42
- tables: Array<{
43
- headers: string[];
44
- rows: string[][];
45
- }>;
46
- lists: string[];
47
- codeBlocks: Array<{
48
- language?: string;
49
- code: string;
50
- }>;
51
- }
52
- /**
53
- * 错误检测结果
54
- */
55
- export interface ErrorDetection {
56
- errors: Array<{
57
- type: 'syntax' | 'runtime' | 'permission' | 'network' | 'unknown';
58
- message: string;
59
- lineNumber?: number;
60
- severity: 'low' | 'medium' | 'high' | 'critical';
61
- suggestion?: string;
62
- stackTrace?: string[];
63
- }>;
64
- warnings: Array<{
65
- message: string;
66
- lineNumber?: number;
67
- severity: 'low' | 'medium' | 'high';
68
- suggestion?: string;
69
- }>;
70
- overallStatus: 'success' | 'warning' | 'error' | 'unknown';
71
- errorCount: number;
72
- warningCount: number;
73
- }
74
- /**
75
- * 缓冲区分析器
76
- * 分析终端缓冲区内容,提取命令、错误、文件路径等信息
77
- */
78
- export declare class BufferAnalyzerService {
79
- private logger;
80
- private readonly COMMON_FILE_EXTENSIONS;
81
- private readonly COMMON_COMMANDS;
82
- private readonly ERROR_PATTERNS;
83
- private readonly WARNING_PATTERNS;
84
- constructor(logger: LoggerService);
85
- /**
86
- * 分析缓冲区内容
87
- */
88
- analyzeBuffer(buffer: string): BufferAnalysis;
89
- /**
90
- * 提取命令
91
- */
92
- extractCommand(buffer: string): CommandExtraction;
93
- /**
94
- * 解析输出
95
- */
96
- parseOutput(buffer: string): OutputParsing;
97
- /**
98
- * 检测错误
99
- */
100
- detectErrors(buffer: string | string[]): ErrorDetection;
101
- /**
102
- * 提取文件路径
103
- */
104
- extractFilePaths(buffer: string): string[];
105
- /**
106
- * 提取URL
107
- */
108
- extractUrls(buffer: string): string[];
109
- /**
110
- * 分析命令执行结果
111
- */
112
- analyzeCommandResult(command: string, output: string): {
113
- success: boolean;
114
- error?: string;
115
- result?: any;
116
- suggestions?: string[];
117
- };
118
- private parseCommand;
119
- private extractCommands;
120
- private calculateComplexity;
121
- private detectLanguage;
122
- private classifyError;
123
- private determineSeverity;
124
- private generateErrorSuggestion;
125
- private generateWarningSuggestion;
126
- private generateCommandSuggestions;
127
- private isValidFilePath;
128
- }
@@ -1,20 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- /**
3
- * 命令分析服务
4
- * 分析终端命令并提供智能建议
5
- */
6
- export declare class CommandAnalyzerService {
7
- constructor();
8
- /**
9
- * 分析命令
10
- */
11
- analyzeCommand(command: string): Observable<any>;
12
- /**
13
- * 获取命令历史
14
- */
15
- getCommandHistory(): string[];
16
- /**
17
- * 解析命令参数
18
- */
19
- parseCommand(command: string): any;
20
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * 上下文菜单服务
3
- * 管理终端上下文菜单
4
- */
5
- export declare class ContextMenuService {
6
- private menuItemSelected$;
7
- constructor();
8
- /**
9
- * 显示上下文菜单
10
- */
11
- showMenu(x: number, y: number, items: any[]): void;
12
- /**
13
- * 隐藏上下文菜单
14
- */
15
- hideMenu(): void;
16
- /**
17
- * 订阅菜单项选择事件
18
- */
19
- onMenuItemSelected(): any;
20
- /**
21
- * 触发菜单项选择
22
- */
23
- selectMenuItem(item: any): void;
24
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * 热键服务
3
- * 管理全局热键注册和处理
4
- */
5
- export declare class HotkeyService {
6
- private hotkeyPressed$;
7
- constructor();
8
- /**
9
- * 注册热键
10
- */
11
- registerHotkey(key: string, callback: () => void): void;
12
- /**
13
- * 取消注册热键
14
- */
15
- unregisterHotkey(key: string): void;
16
- /**
17
- * 订阅热键按下事件
18
- */
19
- onHotkeyPressed(): any;
20
- /**
21
- * 触发热键事件
22
- */
23
- triggerHotkey(key: string): void;
24
- /**
25
- * 检查热键是否已注册
26
- */
27
- isHotkeyRegistered(key: string): boolean;
28
- }