tabby-ai-assistant 1.0.10 → 1.0.11
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/dist/index.js +1 -1
- package/package.json +3 -3
- package/src/components/chat/ai-sidebar.component.scss +43 -0
- package/src/components/chat/ai-sidebar.component.ts +43 -1
- package/src/components/settings/ai-settings-tab.component.html +13 -5
- package/src/components/settings/ai-settings-tab.component.scss +164 -33
- package/src/components/settings/ai-settings-tab.component.ts +1 -0
- package/src/components/settings/context-settings.component.html +87 -0
- package/src/components/settings/context-settings.component.scss +133 -0
- package/src/components/settings/context-settings.component.ts +91 -0
- package/src/components/settings/provider-config.component.ts +12 -6
- package/src/i18n/translations/en-US.ts +27 -1
- package/src/i18n/translations/ja-JP.ts +27 -1
- package/src/i18n/translations/zh-CN.ts +27 -1
- package/src/i18n/types.ts +28 -0
- package/src/index.ts +6 -0
- package/src/services/chat/chat-session.service.ts +91 -2
- package/src/services/context/manager.ts +33 -2
- package/src/services/core/ai-assistant.service.ts +35 -11
- package/src/services/core/config-provider.service.ts +66 -0
- package/src/services/providers/anthropic-provider.service.ts +12 -4
- package/src/services/providers/glm-provider.service.ts +12 -4
- package/src/services/providers/minimax-provider.service.ts +12 -4
- package/src/types/ai.types.ts +3 -3
- package/src/types/provider.types.ts +1 -0
- package/dist/components/chat/ai-sidebar.component.d.ts +0 -160
- package/dist/components/chat/chat-input.component.d.ts +0 -69
- package/dist/components/chat/chat-interface.component.d.ts +0 -124
- package/dist/components/chat/chat-message.component.d.ts +0 -53
- package/dist/components/chat/chat-settings.component.d.ts +0 -72
- package/dist/components/common/error-message.component.d.ts +0 -11
- package/dist/components/common/loading-spinner.component.d.ts +0 -4
- package/dist/components/security/consent-dialog.component.d.ts +0 -11
- package/dist/components/security/password-prompt.component.d.ts +0 -10
- package/dist/components/security/risk-confirm-dialog.component.d.ts +0 -36
- package/dist/components/settings/ai-settings-tab.component.d.ts +0 -82
- package/dist/components/settings/general-settings.component.d.ts +0 -94
- package/dist/components/settings/provider-config.component.d.ts +0 -300
- package/dist/components/settings/security-settings.component.d.ts +0 -33
- package/dist/components/terminal/ai-toolbar-button.component.d.ts +0 -10
- package/dist/components/terminal/command-preview.component.d.ts +0 -53
- package/dist/components/terminal/command-suggestion.component.d.ts +0 -16
- package/dist/i18n/index.d.ts +0 -48
- package/dist/i18n/translations/en-US.d.ts +0 -5
- package/dist/i18n/translations/ja-JP.d.ts +0 -5
- package/dist/i18n/translations/zh-CN.d.ts +0 -5
- package/dist/i18n/types.d.ts +0 -198
- package/dist/index-full.d.ts +0 -8
- package/dist/index-minimal.d.ts +0 -3
- package/dist/index.d.ts +0 -12
- package/dist/main.d.ts +0 -8
- package/dist/providers/tabby/ai-config.provider.d.ts +0 -70
- package/dist/providers/tabby/ai-hotkey.provider.d.ts +0 -15
- package/dist/providers/tabby/ai-settings-tab.provider.d.ts +0 -11
- package/dist/providers/tabby/ai-toolbar-button.provider.d.ts +0 -16
- package/dist/services/chat/ai-sidebar.service.d.ts +0 -111
- package/dist/services/chat/chat-history.service.d.ts +0 -145
- package/dist/services/chat/chat-session.service.d.ts +0 -113
- package/dist/services/chat/command-generator.service.d.ts +0 -49
- package/dist/services/context/compaction.d.ts +0 -90
- package/dist/services/context/manager.d.ts +0 -69
- package/dist/services/context/memory.d.ts +0 -116
- package/dist/services/context/token-budget.d.ts +0 -105
- package/dist/services/core/ai-assistant.service.d.ts +0 -127
- package/dist/services/core/ai-provider-manager.service.d.ts +0 -119
- package/dist/services/core/checkpoint.service.d.ts +0 -130
- package/dist/services/core/config-provider.service.d.ts +0 -137
- package/dist/services/core/logger.service.d.ts +0 -21
- package/dist/services/core/theme.service.d.ts +0 -53
- package/dist/services/core/toast.service.d.ts +0 -15
- package/dist/services/platform/escape-sequence.service.d.ts +0 -132
- package/dist/services/platform/platform-detection.service.d.ts +0 -146
- package/dist/services/providers/anthropic-provider.service.d.ts +0 -44
- package/dist/services/providers/base-provider.service.d.ts +0 -142
- package/dist/services/providers/glm-provider.service.d.ts +0 -96
- package/dist/services/providers/minimax-provider.service.d.ts +0 -102
- package/dist/services/providers/ollama-provider.service.d.ts +0 -76
- package/dist/services/providers/openai-compatible.service.d.ts +0 -44
- package/dist/services/providers/openai-provider.service.d.ts +0 -43
- package/dist/services/providers/vllm-provider.service.d.ts +0 -82
- package/dist/services/security/consent-manager.service.d.ts +0 -65
- package/dist/services/security/password-manager.service.d.ts +0 -67
- package/dist/services/security/risk-assessment.service.d.ts +0 -65
- package/dist/services/security/security-validator.service.d.ts +0 -36
- package/dist/services/terminal/buffer-analyzer.service.d.ts +0 -128
- package/dist/services/terminal/command-analyzer.service.d.ts +0 -20
- package/dist/services/terminal/context-menu.service.d.ts +0 -24
- package/dist/services/terminal/hotkey.service.d.ts +0 -28
- package/dist/services/terminal/terminal-context.service.d.ts +0 -100
- package/dist/services/terminal/terminal-manager.service.d.ts +0 -185
- package/dist/services/terminal/terminal-tools.service.d.ts +0 -79
- package/dist/types/ai.types.d.ts +0 -199
- package/dist/types/provider.types.d.ts +0 -105
- package/dist/types/security.types.d.ts +0 -85
- package/dist/types/terminal.types.d.ts +0 -150
- package/dist/utils/encryption.utils.d.ts +0 -83
- package/dist/utils/formatting.utils.d.ts +0 -106
- package/dist/utils/validation.utils.d.ts +0 -83
- package/jest.config.js +0 -47
- package/webpack-docker.config.js +0 -42
- package/webpack.config.js +0 -81
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { BaseAiProvider, ProviderManager, ProviderInfo, ProviderEvent } from '../../types/provider.types';
|
|
3
|
-
import { LoggerService } from './logger.service';
|
|
4
|
-
/**
|
|
5
|
-
* AI提供商管理器
|
|
6
|
-
* 负责注册、管理和切换不同的AI提供商
|
|
7
|
-
*/
|
|
8
|
-
export declare class AiProviderManagerService implements ProviderManager {
|
|
9
|
-
private logger;
|
|
10
|
-
private providers;
|
|
11
|
-
private activeProvider;
|
|
12
|
-
private eventSubject;
|
|
13
|
-
constructor(logger: LoggerService);
|
|
14
|
-
/**
|
|
15
|
-
* 注册AI提供商
|
|
16
|
-
*/
|
|
17
|
-
registerProvider(provider: BaseAiProvider): void;
|
|
18
|
-
/**
|
|
19
|
-
* 注销AI提供商
|
|
20
|
-
*/
|
|
21
|
-
unregisterProvider(name: string): void;
|
|
22
|
-
/**
|
|
23
|
-
* 获取指定提供商
|
|
24
|
-
*/
|
|
25
|
-
getProvider(name: string): BaseAiProvider | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* 获取所有提供商
|
|
28
|
-
*/
|
|
29
|
-
getAllProviders(): BaseAiProvider[];
|
|
30
|
-
/**
|
|
31
|
-
* 获取当前激活的提供商
|
|
32
|
-
*/
|
|
33
|
-
getActiveProvider(): BaseAiProvider | undefined;
|
|
34
|
-
/**
|
|
35
|
-
* 设置激活的提供商
|
|
36
|
-
*/
|
|
37
|
-
setActiveProvider(name: string): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 获取提供商信息
|
|
40
|
-
*/
|
|
41
|
-
getProviderInfo(name: string): ProviderInfo | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* 获取所有提供商信息
|
|
44
|
-
*/
|
|
45
|
-
getAllProviderInfo(): ProviderInfo[];
|
|
46
|
-
/**
|
|
47
|
-
* 检查提供商是否存在
|
|
48
|
-
*/
|
|
49
|
-
hasProvider(name: string): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* 获取提供商数量
|
|
52
|
-
*/
|
|
53
|
-
getProviderCount(): number;
|
|
54
|
-
/**
|
|
55
|
-
* 获取当前激活的提供商名称
|
|
56
|
-
*/
|
|
57
|
-
getActiveProviderName(): string | null;
|
|
58
|
-
/**
|
|
59
|
-
* 验证所有提供商配置
|
|
60
|
-
*/
|
|
61
|
-
validateAllProviders(): Promise<{
|
|
62
|
-
name: string;
|
|
63
|
-
valid: boolean;
|
|
64
|
-
errors: string[];
|
|
65
|
-
}[]>;
|
|
66
|
-
/**
|
|
67
|
-
* 检查所有提供商健康状态
|
|
68
|
-
*/
|
|
69
|
-
checkAllProvidersHealth(): Promise<{
|
|
70
|
-
provider: string;
|
|
71
|
-
status: string;
|
|
72
|
-
latency?: number;
|
|
73
|
-
}[]>;
|
|
74
|
-
/**
|
|
75
|
-
* 获取启用的提供商
|
|
76
|
-
*/
|
|
77
|
-
getEnabledProviders(): BaseAiProvider[];
|
|
78
|
-
/**
|
|
79
|
-
* 获取启用的提供商名称
|
|
80
|
-
*/
|
|
81
|
-
getEnabledProviderNames(): string[];
|
|
82
|
-
/**
|
|
83
|
-
* 切换到下一个启用的提供商
|
|
84
|
-
*/
|
|
85
|
-
switchToNextProvider(): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* 切换到上一个启用的提供商
|
|
88
|
-
*/
|
|
89
|
-
switchToPreviousProvider(): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* 订阅提供商事件
|
|
92
|
-
*/
|
|
93
|
-
onEvent(): Observable<ProviderEvent>;
|
|
94
|
-
/**
|
|
95
|
-
* 获取所有启用的提供商中性能最好的(延迟最低)
|
|
96
|
-
*/
|
|
97
|
-
getBestPerformingProvider(): Promise<BaseAiProvider | null>;
|
|
98
|
-
/**
|
|
99
|
-
* 发送事件
|
|
100
|
-
*/
|
|
101
|
-
private emitEvent;
|
|
102
|
-
/**
|
|
103
|
-
* 获取提供商统计信息
|
|
104
|
-
*/
|
|
105
|
-
getStats(): {
|
|
106
|
-
totalProviders: number;
|
|
107
|
-
enabledProviders: number;
|
|
108
|
-
activeProvider: string | null;
|
|
109
|
-
providers: {
|
|
110
|
-
name: string;
|
|
111
|
-
enabled: boolean;
|
|
112
|
-
healthy: boolean;
|
|
113
|
-
}[];
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* 重置所有提供商
|
|
117
|
-
*/
|
|
118
|
-
reset(): void;
|
|
119
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { LoggerService } from './logger.service';
|
|
3
|
-
import { ChatHistoryService } from '../chat/chat-history.service';
|
|
4
|
-
import { Checkpoint, ApiMessage } from '../../types/ai.types';
|
|
5
|
-
/**
|
|
6
|
-
* 检查点状态
|
|
7
|
-
*/
|
|
8
|
-
export declare enum CheckpointStatus {
|
|
9
|
-
ACTIVE = "active",
|
|
10
|
-
ARCHIVED = "archived",
|
|
11
|
-
COMPRESSED = "compressed",
|
|
12
|
-
CORRUPTED = "corrupted"
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 检查点过滤器
|
|
16
|
-
*/
|
|
17
|
-
export interface CheckpointFilter {
|
|
18
|
-
sessionId?: string;
|
|
19
|
-
status?: CheckpointStatus;
|
|
20
|
-
dateFrom?: Date;
|
|
21
|
-
dateTo?: Date;
|
|
22
|
-
tags?: string[];
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 检查点搜索结果
|
|
26
|
-
*/
|
|
27
|
-
export interface CheckpointSearchResult {
|
|
28
|
-
checkpoint: Checkpoint;
|
|
29
|
-
relevanceScore: number;
|
|
30
|
-
matchedFields: string[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* 检查点统计
|
|
34
|
-
*/
|
|
35
|
-
export interface CheckpointStatistics {
|
|
36
|
-
totalCheckpoints: number;
|
|
37
|
-
activeCheckpoints: number;
|
|
38
|
-
archivedCheckpoints: number;
|
|
39
|
-
compressedCheckpoints: number;
|
|
40
|
-
averageMessagesPerCheckpoint: number;
|
|
41
|
-
totalTokenUsage: number;
|
|
42
|
-
oldestCheckpoint?: Date;
|
|
43
|
-
newestCheckpoint?: Date;
|
|
44
|
-
mostActiveSession?: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* 检查点管理器
|
|
48
|
-
* 负责检查点的创建、恢复、归档和清理
|
|
49
|
-
*/
|
|
50
|
-
export declare class CheckpointManager {
|
|
51
|
-
private logger;
|
|
52
|
-
private chatHistoryService;
|
|
53
|
-
private checkpointsSubject;
|
|
54
|
-
checkpoints$: Observable<Checkpoint[]>;
|
|
55
|
-
private readonly MAX_CHECKPOINTS_PER_SESSION;
|
|
56
|
-
private readonly AUTO_CLEANUP_DAYS;
|
|
57
|
-
private readonly COMPRESSION_THRESHOLD;
|
|
58
|
-
constructor(logger: LoggerService, chatHistoryService: ChatHistoryService);
|
|
59
|
-
/**
|
|
60
|
-
* 创建检查点
|
|
61
|
-
*/
|
|
62
|
-
create(sessionId: string, messages: ApiMessage[], summary?: string, metadata?: Partial<Checkpoint>): Checkpoint;
|
|
63
|
-
/**
|
|
64
|
-
* 恢复检查点
|
|
65
|
-
*/
|
|
66
|
-
restore(checkpointId: string): ApiMessage[];
|
|
67
|
-
/**
|
|
68
|
-
* 获取检查点
|
|
69
|
-
*/
|
|
70
|
-
getCheckpoint(checkpointId: string): Checkpoint | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* 列出检查点
|
|
73
|
-
*/
|
|
74
|
-
listBySession(sessionId: string, filter?: CheckpointFilter): Checkpoint[];
|
|
75
|
-
/**
|
|
76
|
-
* 搜索检查点
|
|
77
|
-
*/
|
|
78
|
-
search(query: string, filter?: CheckpointFilter): CheckpointSearchResult[];
|
|
79
|
-
/**
|
|
80
|
-
* 归档检查点
|
|
81
|
-
*/
|
|
82
|
-
archive(checkpointId: string): void;
|
|
83
|
-
/**
|
|
84
|
-
* 删除检查点
|
|
85
|
-
*/
|
|
86
|
-
delete(checkpointId: string): void;
|
|
87
|
-
/**
|
|
88
|
-
* 压缩存储检查点
|
|
89
|
-
*/
|
|
90
|
-
compressForCheckpoint(checkpointId: string): Promise<Checkpoint>;
|
|
91
|
-
/**
|
|
92
|
-
* 清理孤儿检查点
|
|
93
|
-
*/
|
|
94
|
-
cleanupOrphaned(): number;
|
|
95
|
-
/**
|
|
96
|
-
* 自动清理过期检查点
|
|
97
|
-
*/
|
|
98
|
-
autoCleanup(): number;
|
|
99
|
-
/**
|
|
100
|
-
* 获取统计信息
|
|
101
|
-
*/
|
|
102
|
-
getStatistics(): CheckpointStatistics;
|
|
103
|
-
/**
|
|
104
|
-
* 导出检查点
|
|
105
|
-
*/
|
|
106
|
-
exportCheckpoint(checkpointId: string): string;
|
|
107
|
-
/**
|
|
108
|
-
* 导入检查点
|
|
109
|
-
*/
|
|
110
|
-
importCheckpoint(data: string): Checkpoint;
|
|
111
|
-
/**
|
|
112
|
-
* 比较检查点
|
|
113
|
-
*/
|
|
114
|
-
compare(checkpointId1: string, checkpointId2: string): {
|
|
115
|
-
messageDiff: number;
|
|
116
|
-
tokenDiff: number;
|
|
117
|
-
timeDiff: number;
|
|
118
|
-
summaryDiff: string;
|
|
119
|
-
};
|
|
120
|
-
private generateCheckpointId;
|
|
121
|
-
private calculateTokenUsage;
|
|
122
|
-
private generateSummary;
|
|
123
|
-
private applyFilter;
|
|
124
|
-
private validateCheckpoint;
|
|
125
|
-
private enforceSessionLimit;
|
|
126
|
-
private saveCheckpoint;
|
|
127
|
-
private removeFromStorage;
|
|
128
|
-
private updateCheckpoint;
|
|
129
|
-
private loadCheckpoints;
|
|
130
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { LoggerService } from './logger.service';
|
|
3
|
-
import { SecurityConfig } from '../../types/security.types';
|
|
4
|
-
import { ProviderConfig } from '../../types/provider.types';
|
|
5
|
-
/**
|
|
6
|
-
* AI助手配置
|
|
7
|
-
*/
|
|
8
|
-
export interface AiAssistantConfig {
|
|
9
|
-
enabled: boolean;
|
|
10
|
-
defaultProvider: string;
|
|
11
|
-
chatHistoryEnabled: boolean;
|
|
12
|
-
maxChatHistory: number;
|
|
13
|
-
autoSaveChat: boolean;
|
|
14
|
-
theme: 'light' | 'dark' | 'auto';
|
|
15
|
-
language: string;
|
|
16
|
-
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
17
|
-
security: SecurityConfig;
|
|
18
|
-
providers: {
|
|
19
|
-
[name: string]: ProviderConfig;
|
|
20
|
-
};
|
|
21
|
-
hotkeys: {
|
|
22
|
-
openChat: string;
|
|
23
|
-
generateCommand: string;
|
|
24
|
-
explainCommand: string;
|
|
25
|
-
};
|
|
26
|
-
ui: {
|
|
27
|
-
showTooltips: boolean;
|
|
28
|
-
compactMode: boolean;
|
|
29
|
-
fontSize: number;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export declare class ConfigProviderService {
|
|
33
|
-
private logger;
|
|
34
|
-
private config;
|
|
35
|
-
private configChange$;
|
|
36
|
-
constructor(logger: LoggerService);
|
|
37
|
-
/**
|
|
38
|
-
* 加载配置
|
|
39
|
-
*/
|
|
40
|
-
private loadConfig;
|
|
41
|
-
/**
|
|
42
|
-
* 保存配置
|
|
43
|
-
*/
|
|
44
|
-
private saveConfig;
|
|
45
|
-
/**
|
|
46
|
-
* 获取完整配置
|
|
47
|
-
*/
|
|
48
|
-
getConfig(): AiAssistantConfig;
|
|
49
|
-
/**
|
|
50
|
-
* 设置完整配置
|
|
51
|
-
*/
|
|
52
|
-
setConfig(config: Partial<AiAssistantConfig>): void;
|
|
53
|
-
/**
|
|
54
|
-
* 获取指定配置项
|
|
55
|
-
*/
|
|
56
|
-
get<T>(key: string, defaultValue?: T): T | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* 设置指定配置项
|
|
59
|
-
*/
|
|
60
|
-
set<T>(key: string, value: T): void;
|
|
61
|
-
/**
|
|
62
|
-
* 获取提供商配置
|
|
63
|
-
*/
|
|
64
|
-
getProviderConfig(name: string): ProviderConfig | null;
|
|
65
|
-
/**
|
|
66
|
-
* 设置提供商配置
|
|
67
|
-
*/
|
|
68
|
-
setProviderConfig(name: string, config: ProviderConfig): void;
|
|
69
|
-
/**
|
|
70
|
-
* 删除提供商配置
|
|
71
|
-
*/
|
|
72
|
-
deleteProviderConfig(name: string): void;
|
|
73
|
-
/**
|
|
74
|
-
* 获取所有提供商配置
|
|
75
|
-
*/
|
|
76
|
-
getAllProviderConfigs(): {
|
|
77
|
-
[name: string]: ProviderConfig;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* 获取默认提供商
|
|
81
|
-
*/
|
|
82
|
-
getDefaultProvider(): string;
|
|
83
|
-
/**
|
|
84
|
-
* 设置默认提供商
|
|
85
|
-
*/
|
|
86
|
-
setDefaultProvider(name: string): void;
|
|
87
|
-
/**
|
|
88
|
-
* 获取安全配置
|
|
89
|
-
*/
|
|
90
|
-
getSecurityConfig(): SecurityConfig;
|
|
91
|
-
/**
|
|
92
|
-
* 更新安全配置
|
|
93
|
-
*/
|
|
94
|
-
updateSecurityConfig(config: Partial<SecurityConfig>): void;
|
|
95
|
-
/**
|
|
96
|
-
* 获取启用状态
|
|
97
|
-
*/
|
|
98
|
-
isEnabled(): boolean;
|
|
99
|
-
/**
|
|
100
|
-
* 设置启用状态
|
|
101
|
-
*/
|
|
102
|
-
setEnabled(enabled: boolean): void;
|
|
103
|
-
/**
|
|
104
|
-
* 获取日志级别
|
|
105
|
-
*/
|
|
106
|
-
getLogLevel(): string;
|
|
107
|
-
/**
|
|
108
|
-
* 设置日志级别
|
|
109
|
-
*/
|
|
110
|
-
setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
|
|
111
|
-
/**
|
|
112
|
-
* 重置为默认配置
|
|
113
|
-
*/
|
|
114
|
-
reset(): void;
|
|
115
|
-
/**
|
|
116
|
-
* 订阅配置变化
|
|
117
|
-
*/
|
|
118
|
-
onConfigChange(): Observable<{
|
|
119
|
-
key: string;
|
|
120
|
-
value: any;
|
|
121
|
-
}>;
|
|
122
|
-
/**
|
|
123
|
-
* 导出配置
|
|
124
|
-
*/
|
|
125
|
-
exportConfig(): string;
|
|
126
|
-
/**
|
|
127
|
-
* 导入配置
|
|
128
|
-
*/
|
|
129
|
-
importConfig(configJson: string): void;
|
|
130
|
-
/**
|
|
131
|
-
* 验证配置
|
|
132
|
-
*/
|
|
133
|
-
validateConfig(): {
|
|
134
|
-
valid: boolean;
|
|
135
|
-
errors: string[];
|
|
136
|
-
};
|
|
137
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export declare class LoggerService {
|
|
2
|
-
private logLevel;
|
|
3
|
-
private logs;
|
|
4
|
-
constructor();
|
|
5
|
-
private loadLogLevel;
|
|
6
|
-
debug(message: string, data?: any): void;
|
|
7
|
-
info(message: string, data?: any): void;
|
|
8
|
-
warn(message: string, data?: any): void;
|
|
9
|
-
error(message: string, error?: any): void;
|
|
10
|
-
private shouldLog;
|
|
11
|
-
private log;
|
|
12
|
-
getLogs(): Array<{
|
|
13
|
-
level: string;
|
|
14
|
-
message: string;
|
|
15
|
-
timestamp: Date;
|
|
16
|
-
data?: any;
|
|
17
|
-
}>;
|
|
18
|
-
clearLogs(): void;
|
|
19
|
-
setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
|
|
20
|
-
getLogLevel(): string;
|
|
21
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 主题服务 - 统一管理所有 AI 助手主题
|
|
3
|
-
* 通过动态 <style> 注入实现主题切换
|
|
4
|
-
*/
|
|
5
|
-
import { OnDestroy } from '@angular/core';
|
|
6
|
-
import { ConfigService } from 'tabby-core';
|
|
7
|
-
import { ConfigProviderService } from './config-provider.service';
|
|
8
|
-
export type ThemeType = 'auto' | 'light' | 'dark' | 'pixel' | 'tech';
|
|
9
|
-
export declare class ThemeService implements OnDestroy {
|
|
10
|
-
private config;
|
|
11
|
-
private tabbyConfig;
|
|
12
|
-
private currentTheme$;
|
|
13
|
-
private tabbySubscription?;
|
|
14
|
-
private styleElement;
|
|
15
|
-
readonly theme$: import("rxjs").Observable<ThemeType>;
|
|
16
|
-
private readonly allThemeClasses;
|
|
17
|
-
private readonly containerSelectors;
|
|
18
|
-
constructor(config: ConfigProviderService, tabbyConfig: ConfigService);
|
|
19
|
-
private init;
|
|
20
|
-
/**
|
|
21
|
-
* 获取当前主题
|
|
22
|
-
*/
|
|
23
|
-
getCurrentTheme(): ThemeType;
|
|
24
|
-
/**
|
|
25
|
-
* 设置并应用主题
|
|
26
|
-
*/
|
|
27
|
-
setTheme(theme: ThemeType): void;
|
|
28
|
-
/**
|
|
29
|
-
* 核心方法:动态注入主题样式
|
|
30
|
-
*/
|
|
31
|
-
applyTheme(theme: ThemeType): void;
|
|
32
|
-
/**
|
|
33
|
-
* 生成 CSS 变量字符串
|
|
34
|
-
*/
|
|
35
|
-
private buildCssVariables;
|
|
36
|
-
/**
|
|
37
|
-
* 生成主题特定样式(像素风格、科技风格等)
|
|
38
|
-
*/
|
|
39
|
-
private buildThemeStyles;
|
|
40
|
-
/**
|
|
41
|
-
* 更新 body 和 html 的类名
|
|
42
|
-
*/
|
|
43
|
-
private updateBodyClasses;
|
|
44
|
-
/**
|
|
45
|
-
* 获取 Tabby 当前的有效主题
|
|
46
|
-
*/
|
|
47
|
-
private getTabbyEffectiveTheme;
|
|
48
|
-
/**
|
|
49
|
-
* 刷新所有容器的主题类
|
|
50
|
-
*/
|
|
51
|
-
refreshContainers(): void;
|
|
52
|
-
ngOnDestroy(): void;
|
|
53
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface ToastMessage {
|
|
2
|
-
id: string;
|
|
3
|
-
type: 'success' | 'error' | 'warning' | 'info';
|
|
4
|
-
message: string;
|
|
5
|
-
duration?: number;
|
|
6
|
-
}
|
|
7
|
-
export declare class ToastService {
|
|
8
|
-
private toastSubject;
|
|
9
|
-
toast$: import("rxjs").Observable<ToastMessage>;
|
|
10
|
-
show(type: ToastMessage['type'], message: string, duration?: number): void;
|
|
11
|
-
success(message: string, duration?: number): void;
|
|
12
|
-
error(message: string, duration?: number): void;
|
|
13
|
-
warning(message: string, duration?: number): void;
|
|
14
|
-
info(message: string, duration?: number): void;
|
|
15
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { LoggerService } from '../core/logger.service';
|
|
2
|
-
import { PlatformDetectionService, OSType } from './platform-detection.service';
|
|
3
|
-
/**
|
|
4
|
-
* 转义序列类型
|
|
5
|
-
*/
|
|
6
|
-
export declare enum EscapeSequenceType {
|
|
7
|
-
COLOR = "color",
|
|
8
|
-
CURSOR = "cursor",
|
|
9
|
-
CLEAR = "clear",
|
|
10
|
-
STYLE = "style",
|
|
11
|
-
SCROLL = "scroll",
|
|
12
|
-
TITLE = "title",
|
|
13
|
-
BELL = "bell"
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 颜色代码
|
|
17
|
-
*/
|
|
18
|
-
export interface ColorCode {
|
|
19
|
-
foreground?: string;
|
|
20
|
-
background?: string;
|
|
21
|
-
bright?: boolean;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 光标控制
|
|
25
|
-
*/
|
|
26
|
-
export interface CursorControl {
|
|
27
|
-
position?: {
|
|
28
|
-
x: number;
|
|
29
|
-
y: number;
|
|
30
|
-
};
|
|
31
|
-
visible?: boolean;
|
|
32
|
-
save?: boolean;
|
|
33
|
-
restore?: boolean;
|
|
34
|
-
up?: number;
|
|
35
|
-
down?: number;
|
|
36
|
-
forward?: number;
|
|
37
|
-
backward?: number;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 清屏选项
|
|
41
|
-
*/
|
|
42
|
-
export interface ClearOptions {
|
|
43
|
-
screen?: boolean;
|
|
44
|
-
line?: boolean;
|
|
45
|
-
fromCursor?: boolean;
|
|
46
|
-
toCursor?: boolean;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 转义序列映射
|
|
50
|
-
*/
|
|
51
|
-
export interface EscapeSequenceMapping {
|
|
52
|
-
linux: string;
|
|
53
|
-
windows: string;
|
|
54
|
-
macos: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* 转义序列服务
|
|
58
|
-
* 处理跨平台的ANSI转义序列和终端控制代码
|
|
59
|
-
*/
|
|
60
|
-
export declare class EscapeSequenceService {
|
|
61
|
-
private logger;
|
|
62
|
-
private platformDetection;
|
|
63
|
-
private platformInfo;
|
|
64
|
-
private readonly COLOR_CODES;
|
|
65
|
-
private readonly STYLE_CODES;
|
|
66
|
-
private readonly CURSOR_CODES;
|
|
67
|
-
private readonly CLEAR_CODES;
|
|
68
|
-
constructor(logger: LoggerService, platformDetection: PlatformDetectionService);
|
|
69
|
-
/**
|
|
70
|
-
* 映射颜色代码
|
|
71
|
-
*/
|
|
72
|
-
mapColorCode(color: string): string;
|
|
73
|
-
/**
|
|
74
|
-
* 映射光标控制
|
|
75
|
-
*/
|
|
76
|
-
mapCursorControl(control: string, value?: number): string;
|
|
77
|
-
/**
|
|
78
|
-
* 映射清屏序列
|
|
79
|
-
*/
|
|
80
|
-
mapClearSequence(options: ClearOptions): string;
|
|
81
|
-
/**
|
|
82
|
-
* 映射样式代码
|
|
83
|
-
*/
|
|
84
|
-
mapStyleCode(style: string): string;
|
|
85
|
-
/**
|
|
86
|
-
* 生成颜色文本
|
|
87
|
-
*/
|
|
88
|
-
colorize(text: string, color: ColorCode): string;
|
|
89
|
-
/**
|
|
90
|
-
* 生成样式文本
|
|
91
|
-
*/
|
|
92
|
-
stylize(text: string, styles: string[]): string;
|
|
93
|
-
/**
|
|
94
|
-
* 移动光标
|
|
95
|
-
*/
|
|
96
|
-
moveCursor(control: CursorControl): string;
|
|
97
|
-
/**
|
|
98
|
-
* 清屏
|
|
99
|
-
*/
|
|
100
|
-
clear(options?: ClearOptions): string;
|
|
101
|
-
/**
|
|
102
|
-
* 移除ANSI转义序列
|
|
103
|
-
*/
|
|
104
|
-
stripAnsi(text: string): string;
|
|
105
|
-
/**
|
|
106
|
-
* 检测终端能力
|
|
107
|
-
*/
|
|
108
|
-
checkTerminalCapabilities(): {
|
|
109
|
-
supportsColors: boolean;
|
|
110
|
-
supportsTrueColor: boolean;
|
|
111
|
-
supportsMouse: boolean;
|
|
112
|
-
supportsUnicode: boolean;
|
|
113
|
-
colorLevel: number;
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* 适配输出
|
|
117
|
-
*/
|
|
118
|
-
adaptOutput(output: string, targetPlatform?: OSType): string;
|
|
119
|
-
/**
|
|
120
|
-
* 创建进度条
|
|
121
|
-
*/
|
|
122
|
-
createProgressBar(current: number, total: number, width?: number, color?: string): string;
|
|
123
|
-
/**
|
|
124
|
-
* 创建表格
|
|
125
|
-
*/
|
|
126
|
-
createTable(headers: string[], rows: string[][], options?: {
|
|
127
|
-
colorizeHeaders?: boolean;
|
|
128
|
-
borderColor?: string;
|
|
129
|
-
}): string;
|
|
130
|
-
private getPlatformKey;
|
|
131
|
-
private adaptForWindows;
|
|
132
|
-
}
|