@vybestack/llxprt-code 0.1.18-nightly.250808.f9b79d74 → 0.1.18-nightly.250812.12fa8ad2
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 +49 -2
- package/dist/package.json +5 -3
- package/dist/src/auth/anthropic-oauth-provider.d.ts +33 -0
- package/dist/src/auth/anthropic-oauth-provider.js +129 -0
- package/dist/src/auth/anthropic-oauth-provider.js.map +1 -0
- package/dist/src/auth/gemini-oauth-provider.d.ts +15 -0
- package/dist/src/auth/gemini-oauth-provider.js +33 -0
- package/dist/src/auth/gemini-oauth-provider.js.map +1 -0
- package/dist/src/auth/oauth-manager.d.ts +109 -0
- package/dist/src/auth/oauth-manager.js +334 -0
- package/dist/src/auth/oauth-manager.js.map +1 -0
- package/dist/src/auth/oauth-manager.spec.d.ts +6 -0
- package/dist/src/auth/oauth-manager.spec.js +523 -0
- package/dist/src/auth/oauth-manager.spec.js.map +1 -0
- package/dist/src/auth/qwen-oauth-provider.d.ts +14 -0
- package/dist/src/auth/qwen-oauth-provider.js +75 -0
- package/dist/src/auth/qwen-oauth-provider.js.map +1 -0
- package/dist/src/auth/types.d.ts +7 -0
- package/dist/src/auth/types.js +7 -0
- package/dist/src/auth/types.js.map +1 -0
- package/dist/src/config/auth.js +11 -0
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config.js +93 -43
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +66 -0
- package/dist/src/config/keyBindings.js +136 -0
- package/dist/src/config/keyBindings.js.map +1 -0
- package/dist/src/config/settings.d.ts +3 -59
- package/dist/src/config/settings.js +17 -1
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +587 -0
- package/dist/src/config/settingsSchema.js +565 -0
- package/dist/src/config/settingsSchema.js.map +1 -0
- package/dist/src/gemini.js +12 -109
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/nonInteractiveCli.js +0 -1
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/providers/logging/git-stats-service-impl.d.ts +19 -0
- package/dist/src/providers/logging/git-stats-service-impl.js +25 -0
- package/dist/src/providers/logging/git-stats-service-impl.js.map +1 -0
- package/dist/src/providers/logging/git-stats.d.ts +43 -0
- package/dist/src/providers/logging/git-stats.js +137 -0
- package/dist/src/providers/logging/git-stats.js.map +1 -0
- package/dist/src/providers/providerManagerInstance.d.ts +2 -0
- package/dist/src/providers/providerManagerInstance.js +49 -5
- package/dist/src/providers/providerManagerInstance.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +4 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/todo-continuation/todoContinuationService.d.ts +172 -0
- package/dist/src/services/todo-continuation/todoContinuationService.js +387 -0
- package/dist/src/services/todo-continuation/todoContinuationService.js.map +1 -0
- package/dist/src/services/todo-continuation/todoContinuationService.spec.d.ts +6 -0
- package/dist/src/services/todo-continuation/todoContinuationService.spec.js +385 -0
- package/dist/src/services/todo-continuation/todoContinuationService.spec.js.map +1 -0
- package/dist/src/ui/App.js +156 -35
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/colors.d.ts +5 -0
- package/dist/src/ui/colors.js +51 -0
- package/dist/src/ui/colors.js.map +1 -1
- package/dist/src/ui/commands/authCommand.d.ts +11 -1
- package/dist/src/ui/commands/authCommand.js +145 -48
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +16 -0
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/diagnosticsCommand.js +94 -10
- package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +67 -31
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/keyCommand.js +32 -2
- package/dist/src/ui/commands/keyCommand.js.map +1 -1
- package/dist/src/ui/commands/keyfileCommand.js +15 -12
- package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
- package/dist/src/ui/commands/loggingCommand.d.ts +15 -0
- package/dist/src/ui/commands/loggingCommand.js +421 -0
- package/dist/src/ui/commands/loggingCommand.js.map +1 -0
- package/dist/src/ui/commands/modelCommand.js +21 -3
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/privacyCommand.d.ts +3 -0
- package/dist/src/ui/commands/privacyCommand.js +6 -3
- package/dist/src/ui/commands/privacyCommand.js.map +1 -1
- package/dist/src/ui/commands/providerCommand.js +52 -14
- package/dist/src/ui/commands/providerCommand.js.map +1 -1
- package/dist/src/ui/commands/setCommand.js +17 -1
- package/dist/src/ui/commands/setCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
- package/dist/src/ui/commands/settingsCommand.js +16 -0
- package/dist/src/ui/commands/settingsCommand.js.map +1 -0
- package/dist/src/ui/commands/setupGithubCommand.js +21 -2
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/toolformatCommand.js +79 -23
- package/dist/src/ui/commands/toolformatCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +14 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +15 -54
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthInProgress.js +3 -3
- package/dist/src/ui/components/AuthInProgress.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +10 -0
- package/dist/src/ui/components/ContextUsageDisplay.js +27 -0
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
- package/dist/src/ui/components/FolderTrustDialog.js +38 -0
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
- package/dist/src/ui/components/Footer.js +132 -15
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +1 -0
- package/dist/src/ui/components/InputPrompt.js +87 -31
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoggingDialog.d.ts +37 -0
- package/dist/src/ui/components/LoggingDialog.js +155 -0
- package/dist/src/ui/components/LoggingDialog.js.map +1 -0
- package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/OAuthCodeDialog.d.ts +13 -0
- package/dist/src/ui/components/OAuthCodeDialog.js +54 -0
- package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -0
- package/dist/src/ui/components/ProviderDialog.js +100 -26
- package/dist/src/ui/components/ProviderDialog.js.map +1 -1
- package/dist/src/ui/components/ProviderModelDialog.js +99 -27
- package/dist/src/ui/components/ProviderModelDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
- package/dist/src/ui/components/SettingsDialog.js +247 -0
- package/dist/src/ui/components/SettingsDialog.js.map +1 -0
- package/dist/src/ui/components/ThemeDialog.js +4 -15
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/TodoPanel.js +93 -18
- package/dist/src/ui/components/TodoPanel.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +85 -7
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
- package/dist/src/ui/contexts/SettingsContext.js +15 -0
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +21 -0
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js +142 -113
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +1 -1
- package/dist/src/ui/hooks/useAuthCommand.js +48 -2
- package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.js +7 -0
- package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
- package/dist/src/ui/hooks/useFolderTrust.js +22 -0
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +35 -10
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useResponsive.d.ts +14 -0
- package/dist/src/ui/hooks/useResponsive.js +19 -0
- package/dist/src/ui/hooks/useResponsive.js.map +1 -0
- package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
- package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
- package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
- package/dist/src/ui/hooks/useTodoContinuation.d.ts +31 -0
- package/dist/src/ui/hooks/useTodoContinuation.js +148 -0
- package/dist/src/ui/hooks/useTodoContinuation.js.map +1 -0
- package/dist/src/ui/hooks/useTodoContinuation.spec.d.ts +6 -0
- package/dist/src/ui/hooks/useTodoContinuation.spec.js +378 -0
- package/dist/src/ui/hooks/useTodoContinuation.spec.js.map +1 -0
- package/dist/src/ui/keyMatchers.d.ts +26 -0
- package/dist/src/ui/keyMatchers.js +68 -0
- package/dist/src/ui/keyMatchers.js.map +1 -0
- package/dist/src/ui/privacy/PrivacyNotice.js +10 -4
- package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
- package/dist/src/ui/reducers/appReducer.d.ts +3 -2
- package/dist/src/ui/reducers/appReducer.js +1 -0
- package/dist/src/ui/reducers/appReducer.js.map +1 -1
- package/dist/src/ui/themes/semantic-resolver.d.ts +12 -0
- package/dist/src/ui/themes/semantic-resolver.js +32 -0
- package/dist/src/ui/themes/semantic-resolver.js.map +1 -0
- package/dist/src/ui/themes/semantic-tokens.d.ts +52 -0
- package/dist/src/ui/themes/semantic-tokens.js +7 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
- package/dist/src/ui/themes/theme-compat.d.ts +34 -0
- package/dist/src/ui/themes/theme-compat.js +65 -0
- package/dist/src/ui/themes/theme-compat.js.map +1 -0
- package/dist/src/ui/themes/theme-manager.d.ts +8 -0
- package/dist/src/ui/themes/theme-manager.js +18 -0
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
- package/dist/src/ui/utils/CodeColorizer.js +4 -3
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +1 -0
- package/dist/src/ui/utils/commandUtils.js +22 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/responsive.d.ts +16 -0
- package/dist/src/ui/utils/responsive.js +111 -0
- package/dist/src/ui/utils/responsive.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +2 -2
- package/dist/src/utils/cleanup.js +2 -2
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
- package/dist/src/utils/dialogScopeUtils.js +48 -0
- package/dist/src/utils/dialogScopeUtils.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +9 -0
- package/dist/src/utils/gitUtils.js +17 -0
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/privacy/ConversationDataRedactor.d.ts +75 -0
- package/dist/src/utils/privacy/ConversationDataRedactor.js +412 -0
- package/dist/src/utils/privacy/ConversationDataRedactor.js.map +1 -0
- package/dist/src/utils/privacy/PrivacyManager.d.ts +58 -0
- package/dist/src/utils/privacy/PrivacyManager.js +133 -0
- package/dist/src/utils/privacy/PrivacyManager.js.map +1 -0
- package/dist/src/utils/sandbox.js +10 -0
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +126 -0
- package/dist/src/utils/settingsUtils.js +327 -0
- package/dist/src/utils/settingsUtils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -17
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -0,0 +1,421 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Vybestack LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { CommandKind, } from './types.js';
|
7
|
+
import { SettingScope } from '../../config/settings.js';
|
8
|
+
import * as fs from 'fs/promises';
|
9
|
+
import * as path from 'path';
|
10
|
+
import * as os from 'os';
|
11
|
+
function isLogEntry(obj) {
|
12
|
+
return (typeof obj === 'object' &&
|
13
|
+
obj !== null &&
|
14
|
+
'timestamp' in obj &&
|
15
|
+
'type' in obj &&
|
16
|
+
'provider' in obj &&
|
17
|
+
typeof obj.timestamp === 'string' &&
|
18
|
+
typeof obj.type === 'string' &&
|
19
|
+
typeof obj.provider === 'string');
|
20
|
+
}
|
21
|
+
export async function handleLoggingCommand(args, context) {
|
22
|
+
const subcommand = args[0];
|
23
|
+
switch (subcommand) {
|
24
|
+
case 'status':
|
25
|
+
return handleLoggingStatus(context);
|
26
|
+
case 'enable':
|
27
|
+
return handleEnableLogging(args.slice(1), context);
|
28
|
+
case 'disable':
|
29
|
+
return handleDisableLogging(context);
|
30
|
+
case 'redaction':
|
31
|
+
return handleRedactionSettings(args.slice(1), context);
|
32
|
+
case 'show':
|
33
|
+
return handleShowLogs(args.slice(1), context);
|
34
|
+
default:
|
35
|
+
return {
|
36
|
+
type: 'message',
|
37
|
+
messageType: 'error',
|
38
|
+
content: `Unknown logging subcommand: ${subcommand}. Available: status, enable, disable, redaction, show`,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
async function handleLoggingStatus(context) {
|
43
|
+
// Read directly from settings, not from cached Config
|
44
|
+
const isLoggingEnabled = context.settings.merged.telemetry?.logConversations ?? false;
|
45
|
+
const status = `Conversation Logging: ${isLoggingEnabled ? 'Enabled' : 'Disabled'}`;
|
46
|
+
return {
|
47
|
+
type: 'message',
|
48
|
+
messageType: 'info',
|
49
|
+
content: status,
|
50
|
+
};
|
51
|
+
}
|
52
|
+
async function handleEnableLogging(_args, context) {
|
53
|
+
// Enable conversation logging through settings
|
54
|
+
const currentTelemetry = context.settings.merged.telemetry || {};
|
55
|
+
context.settings.setValue(SettingScope.User, 'telemetry', {
|
56
|
+
...currentTelemetry,
|
57
|
+
logConversations: true,
|
58
|
+
});
|
59
|
+
// Update the Config to reflect the new setting
|
60
|
+
context.config.updateTelemetrySettings({
|
61
|
+
...context.config.getTelemetrySettings(),
|
62
|
+
logConversations: true,
|
63
|
+
});
|
64
|
+
return {
|
65
|
+
type: 'message',
|
66
|
+
messageType: 'info',
|
67
|
+
content: 'Conversation logging enabled. Data stored locally only.',
|
68
|
+
};
|
69
|
+
}
|
70
|
+
async function handleDisableLogging(context) {
|
71
|
+
const currentTelemetry = context.settings.merged.telemetry || {};
|
72
|
+
context.settings.setValue(SettingScope.User, 'telemetry', {
|
73
|
+
...currentTelemetry,
|
74
|
+
logConversations: false,
|
75
|
+
});
|
76
|
+
// Update the Config to reflect the new setting
|
77
|
+
context.config.updateTelemetrySettings({
|
78
|
+
...context.config.getTelemetrySettings(),
|
79
|
+
logConversations: false,
|
80
|
+
});
|
81
|
+
return {
|
82
|
+
type: 'message',
|
83
|
+
messageType: 'info',
|
84
|
+
content: 'Conversation logging disabled. No conversation data will be collected.',
|
85
|
+
};
|
86
|
+
}
|
87
|
+
async function handleShowLogs(args, context) {
|
88
|
+
// Parse number of lines from args (default to 50)
|
89
|
+
const numLines = args[0] ? parseInt(args[0], 10) : 50;
|
90
|
+
if (isNaN(numLines) || numLines < 1) {
|
91
|
+
return {
|
92
|
+
type: 'message',
|
93
|
+
messageType: 'error',
|
94
|
+
content: 'Invalid number of lines. Please provide a positive number.',
|
95
|
+
};
|
96
|
+
}
|
97
|
+
// Get the log path from config
|
98
|
+
const logPath = context.config.getConversationLogPath();
|
99
|
+
const expandedPath = logPath.replace('~', os.homedir());
|
100
|
+
try {
|
101
|
+
// Find all log files
|
102
|
+
const files = await fs.readdir(expandedPath);
|
103
|
+
const logFiles = files
|
104
|
+
.filter((file) => file.endsWith('.jsonl'))
|
105
|
+
.sort()
|
106
|
+
.reverse();
|
107
|
+
if (logFiles.length === 0) {
|
108
|
+
return {
|
109
|
+
type: 'dialog',
|
110
|
+
dialog: 'logging',
|
111
|
+
dialogData: { entries: [] },
|
112
|
+
};
|
113
|
+
}
|
114
|
+
// Read and parse log entries from all recent files
|
115
|
+
const allEntries = [];
|
116
|
+
let remainingLines = numLines;
|
117
|
+
for (const logFile of logFiles) {
|
118
|
+
if (remainingLines <= 0)
|
119
|
+
break;
|
120
|
+
const filePath = path.join(expandedPath, logFile);
|
121
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
122
|
+
const lines = content.split('\n').filter((line) => line.trim());
|
123
|
+
// Read from the end of the file
|
124
|
+
const startIndex = Math.max(0, lines.length - remainingLines);
|
125
|
+
const fileLines = lines.slice(startIndex);
|
126
|
+
for (const line of fileLines) {
|
127
|
+
try {
|
128
|
+
const parsed = JSON.parse(line);
|
129
|
+
allEntries.push(parsed);
|
130
|
+
}
|
131
|
+
catch {
|
132
|
+
// Skip invalid JSON lines
|
133
|
+
}
|
134
|
+
}
|
135
|
+
remainingLines -= fileLines.length;
|
136
|
+
}
|
137
|
+
// Return dialog with entries
|
138
|
+
return {
|
139
|
+
type: 'dialog',
|
140
|
+
dialog: 'logging',
|
141
|
+
dialogData: { entries: allEntries.slice(-numLines) },
|
142
|
+
};
|
143
|
+
}
|
144
|
+
catch (error) {
|
145
|
+
if (error.code === 'ENOENT') {
|
146
|
+
return {
|
147
|
+
type: 'message',
|
148
|
+
messageType: 'error',
|
149
|
+
content: `Log directory not found: ${logPath}\nCreating directory and starting logging...`,
|
150
|
+
};
|
151
|
+
}
|
152
|
+
return {
|
153
|
+
type: 'message',
|
154
|
+
messageType: 'error',
|
155
|
+
content: `Error reading logs: ${error instanceof Error ? error.message : String(error)}`,
|
156
|
+
};
|
157
|
+
}
|
158
|
+
}
|
159
|
+
async function handleRedactionSettings(args, context) {
|
160
|
+
if (args.length === 0) {
|
161
|
+
// Show current redaction settings
|
162
|
+
const redactionConfig = context.config.getRedactionConfig();
|
163
|
+
const settings = [
|
164
|
+
'Current Redaction Settings:',
|
165
|
+
` • API Keys: ${redactionConfig.redactApiKeys ? 'Enabled' : 'Disabled'}`,
|
166
|
+
` • Credentials: ${redactionConfig.redactCredentials ? 'Enabled' : 'Disabled'}`,
|
167
|
+
` • File Paths: ${redactionConfig.redactFilePaths ? 'Enabled' : 'Disabled'}`,
|
168
|
+
` • URLs: ${redactionConfig.redactUrls ? 'Enabled' : 'Disabled'}`,
|
169
|
+
` • Email Addresses: ${redactionConfig.redactEmails ? 'Enabled' : 'Disabled'}`,
|
170
|
+
` • Personal Info: ${redactionConfig.redactPersonalInfo ? 'Enabled' : 'Disabled'}`,
|
171
|
+
'',
|
172
|
+
'To modify settings:',
|
173
|
+
' /logging redaction --api-keys=false',
|
174
|
+
' /logging redaction --file-paths=true',
|
175
|
+
].join('\n');
|
176
|
+
return {
|
177
|
+
type: 'message',
|
178
|
+
messageType: 'info',
|
179
|
+
content: settings,
|
180
|
+
};
|
181
|
+
}
|
182
|
+
// Parse redaction setting changes
|
183
|
+
const updates = {};
|
184
|
+
for (const arg of args) {
|
185
|
+
const [key, value] = arg.replace('--', '').split('=');
|
186
|
+
const boolValue = value === 'true';
|
187
|
+
switch (key) {
|
188
|
+
case 'api-keys':
|
189
|
+
updates.redactSensitiveData = boolValue; // Maps to existing setting
|
190
|
+
break;
|
191
|
+
case 'credentials':
|
192
|
+
updates.redactSensitiveData = boolValue; // Maps to existing setting
|
193
|
+
break;
|
194
|
+
case 'file-paths':
|
195
|
+
updates.redactFilePaths = boolValue;
|
196
|
+
break;
|
197
|
+
case 'urls':
|
198
|
+
updates.redactUrls = boolValue;
|
199
|
+
break;
|
200
|
+
case 'emails':
|
201
|
+
updates.redactEmails = boolValue;
|
202
|
+
break;
|
203
|
+
case 'personal-info':
|
204
|
+
updates.redactPersonalInfo = boolValue;
|
205
|
+
break;
|
206
|
+
default:
|
207
|
+
// Unknown key, ignore
|
208
|
+
break;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
if (Object.keys(updates).length === 0) {
|
212
|
+
return {
|
213
|
+
type: 'message',
|
214
|
+
messageType: 'error',
|
215
|
+
content: 'No valid redaction settings provided. Use format: --api-keys=true',
|
216
|
+
};
|
217
|
+
}
|
218
|
+
// Update telemetry settings
|
219
|
+
const currentTelemetry = context.settings.merged.telemetry || {};
|
220
|
+
context.settings.setValue(SettingScope.User, 'telemetry', {
|
221
|
+
...currentTelemetry,
|
222
|
+
...updates,
|
223
|
+
});
|
224
|
+
const changes = Object.entries(updates)
|
225
|
+
.map(([key, value]) => ` • ${key}: ${value ? 'enabled' : 'disabled'}`)
|
226
|
+
.join('\n');
|
227
|
+
return {
|
228
|
+
type: 'message',
|
229
|
+
messageType: 'info',
|
230
|
+
content: `Redaction settings updated:\n${changes}`,
|
231
|
+
};
|
232
|
+
}
|
233
|
+
// Subcommands for logging
|
234
|
+
const statusCommand = {
|
235
|
+
name: 'status',
|
236
|
+
description: 'show current logging status',
|
237
|
+
kind: CommandKind.BUILT_IN,
|
238
|
+
action: async (context) => {
|
239
|
+
if (!context.services.config) {
|
240
|
+
context.ui.addItem({
|
241
|
+
type: 'error',
|
242
|
+
text: 'Configuration not available',
|
243
|
+
}, Date.now());
|
244
|
+
return;
|
245
|
+
}
|
246
|
+
const result = await handleLoggingStatus({
|
247
|
+
config: context.services.config,
|
248
|
+
settings: context.services.settings,
|
249
|
+
});
|
250
|
+
if (result.type === 'message') {
|
251
|
+
context.ui.addItem({
|
252
|
+
type: result.messageType,
|
253
|
+
text: result.content,
|
254
|
+
}, Date.now());
|
255
|
+
}
|
256
|
+
},
|
257
|
+
};
|
258
|
+
const enableCommand = {
|
259
|
+
name: 'enable',
|
260
|
+
description: 'enable conversation logging',
|
261
|
+
kind: CommandKind.BUILT_IN,
|
262
|
+
action: async (context, args) => {
|
263
|
+
if (!context.services.config) {
|
264
|
+
context.ui.addItem({
|
265
|
+
type: 'error',
|
266
|
+
text: 'Configuration not available',
|
267
|
+
}, Date.now());
|
268
|
+
return;
|
269
|
+
}
|
270
|
+
const argsArray = args ? args.split(/\s+/) : [];
|
271
|
+
const result = await handleEnableLogging(argsArray, {
|
272
|
+
config: context.services.config,
|
273
|
+
settings: context.services.settings,
|
274
|
+
});
|
275
|
+
if (result.type === 'message') {
|
276
|
+
context.ui.addItem({
|
277
|
+
type: result.messageType,
|
278
|
+
text: result.content,
|
279
|
+
}, Date.now());
|
280
|
+
}
|
281
|
+
},
|
282
|
+
};
|
283
|
+
const disableCommand = {
|
284
|
+
name: 'disable',
|
285
|
+
description: 'disable conversation logging',
|
286
|
+
kind: CommandKind.BUILT_IN,
|
287
|
+
action: async (context) => {
|
288
|
+
if (!context.services.config) {
|
289
|
+
context.ui.addItem({
|
290
|
+
type: 'error',
|
291
|
+
text: 'Configuration not available',
|
292
|
+
}, Date.now());
|
293
|
+
return;
|
294
|
+
}
|
295
|
+
const result = await handleDisableLogging({
|
296
|
+
config: context.services.config,
|
297
|
+
settings: context.services.settings,
|
298
|
+
});
|
299
|
+
if (result.type === 'message') {
|
300
|
+
context.ui.addItem({
|
301
|
+
type: result.messageType,
|
302
|
+
text: result.content,
|
303
|
+
}, Date.now());
|
304
|
+
}
|
305
|
+
},
|
306
|
+
};
|
307
|
+
const redactionCommand = {
|
308
|
+
name: 'redaction',
|
309
|
+
description: 'configure data redaction settings',
|
310
|
+
kind: CommandKind.BUILT_IN,
|
311
|
+
action: async (context, args) => {
|
312
|
+
if (!context.services.config) {
|
313
|
+
context.ui.addItem({
|
314
|
+
type: 'error',
|
315
|
+
text: 'Configuration not available',
|
316
|
+
}, Date.now());
|
317
|
+
return;
|
318
|
+
}
|
319
|
+
const argsArray = args ? args.split(/\s+/) : [];
|
320
|
+
const result = await handleRedactionSettings(argsArray, {
|
321
|
+
config: context.services.config,
|
322
|
+
settings: context.services.settings,
|
323
|
+
});
|
324
|
+
if (result.type === 'message') {
|
325
|
+
context.ui.addItem({
|
326
|
+
type: result.messageType,
|
327
|
+
text: result.content,
|
328
|
+
}, Date.now());
|
329
|
+
}
|
330
|
+
},
|
331
|
+
};
|
332
|
+
const showCommand = {
|
333
|
+
name: 'show',
|
334
|
+
description: 'show last N lines from conversation log (default 50)',
|
335
|
+
kind: CommandKind.BUILT_IN,
|
336
|
+
action: async (context, args) => {
|
337
|
+
if (!context.services.config) {
|
338
|
+
context.ui.addItem({
|
339
|
+
type: 'error',
|
340
|
+
text: 'Configuration not available',
|
341
|
+
}, Date.now());
|
342
|
+
return;
|
343
|
+
}
|
344
|
+
const argsArray = args ? args.split(/\s+/) : [];
|
345
|
+
const result = await handleShowLogs(argsArray, {
|
346
|
+
config: context.services.config,
|
347
|
+
settings: context.services.settings,
|
348
|
+
});
|
349
|
+
if (result.type === 'message') {
|
350
|
+
context.ui.addItem({
|
351
|
+
type: result.messageType,
|
352
|
+
text: result.content,
|
353
|
+
}, Date.now());
|
354
|
+
}
|
355
|
+
else if (result.type === 'dialog') {
|
356
|
+
// Format the log entries as text for now until dialog system is implemented
|
357
|
+
const entries = result.dialogData?.entries || [];
|
358
|
+
if (entries.length === 0) {
|
359
|
+
context.ui.addItem({
|
360
|
+
type: 'info',
|
361
|
+
text: 'No log entries found',
|
362
|
+
}, Date.now());
|
363
|
+
}
|
364
|
+
else {
|
365
|
+
// Format entries for display
|
366
|
+
const formattedEntries = entries
|
367
|
+
.filter(isLogEntry)
|
368
|
+
.map((entry, index) => {
|
369
|
+
const timestamp = new Date(entry.timestamp).toLocaleTimeString();
|
370
|
+
const typeIcon = entry.type === 'request' ? '→' : '←';
|
371
|
+
let content = '';
|
372
|
+
if (entry.type === 'request' && entry.messages) {
|
373
|
+
const lastMessage = entry.messages[entry.messages.length - 1];
|
374
|
+
if (lastMessage) {
|
375
|
+
content = lastMessage.content.substring(0, 100);
|
376
|
+
if (lastMessage.content.length > 100)
|
377
|
+
content += '...';
|
378
|
+
}
|
379
|
+
}
|
380
|
+
else if (entry.type === 'response' && entry.response) {
|
381
|
+
content = entry.response.substring(0, 100);
|
382
|
+
if (entry.response.length > 100)
|
383
|
+
content += '...';
|
384
|
+
}
|
385
|
+
return `[${index + 1}] ${timestamp} ${typeIcon} ${entry.provider}: ${content}`;
|
386
|
+
})
|
387
|
+
.join('\n');
|
388
|
+
context.ui.addItem({
|
389
|
+
type: 'info',
|
390
|
+
text: `Conversation Logs (${entries.length} entries):\n${'─'.repeat(60)}\n${formattedEntries}\n${'─'.repeat(60)}`,
|
391
|
+
}, Date.now());
|
392
|
+
}
|
393
|
+
return;
|
394
|
+
}
|
395
|
+
},
|
396
|
+
};
|
397
|
+
// Main logging command with subcommands
|
398
|
+
export const loggingCommand = {
|
399
|
+
name: 'logging',
|
400
|
+
description: 'manage conversation logging settings',
|
401
|
+
kind: CommandKind.BUILT_IN,
|
402
|
+
subCommands: [
|
403
|
+
statusCommand,
|
404
|
+
enableCommand,
|
405
|
+
disableCommand,
|
406
|
+
redactionCommand,
|
407
|
+
showCommand,
|
408
|
+
],
|
409
|
+
action: async (context, args) => {
|
410
|
+
// Default action shows status when no subcommand provided
|
411
|
+
if (!args || args.trim() === '') {
|
412
|
+
return statusCommand.action(context, '');
|
413
|
+
}
|
414
|
+
// If args provided but no subcommand matched, show help
|
415
|
+
context.ui.addItem({
|
416
|
+
type: 'info',
|
417
|
+
text: 'Available logging commands:\n status - show current status\n enable - enable logging\n disable - disable logging\n redaction - configure redaction\n show [N] - show last N lines from log (default 50)',
|
418
|
+
}, Date.now());
|
419
|
+
},
|
420
|
+
};
|
421
|
+
//# sourceMappingURL=loggingCommand.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loggingCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/loggingCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,GAKZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AA8BzB,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,WAAW,IAAI,GAAG;QAClB,MAAM,IAAI,GAAG;QACb,UAAU,IAAI,GAAG;QACjB,OAAQ,GAAgB,CAAC,SAAS,KAAK,QAAQ;QAC/C,OAAQ,GAAgB,CAAC,IAAI,KAAK,QAAQ;QAC1C,OAAQ,GAAgB,CAAC,QAAQ,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAc,EACd,OAA8B;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEtC,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAErD,KAAK,SAAS;YACZ,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEvC,KAAK,WAAW;YACd,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEzD,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEhD;YACE,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,+BAA+B,UAAU,uDAAuD;aAC1G,CAAC;IACN,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAA8B;IAE9B,sDAAsD;IACtD,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,IAAI,KAAK,CAAC;IAE/D,MAAM,MAAM,GAAG,yBAAyB,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAEpF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,KAAe,EACf,OAA8B;IAE9B,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE;QACxD,GAAG,gBAAgB;QACnB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;QACrC,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE;QACxC,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,yDAAyD;KACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAA8B;IAE9B,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE;QACxD,GAAG,gBAAgB;QACnB,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;QACrC,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE;QACxC,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EACL,wEAAwE;KAC3E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAc,EACd,OAA8B;IAE9B,kDAAkD;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,4DAA4D;SACtE,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK;aACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzC,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;QAEb,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;aAC5B,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAc,EAAE,CAAC;QACjC,IAAI,cAAc,GAAG,QAAQ,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,cAAc,IAAI,CAAC;gBAAE,MAAM;YAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAEhE,gCAAgC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE1C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YAED,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,6BAA6B;QAC7B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE;SACrD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,4BAA4B,OAAO,8CAA8C;aAC3F,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAc,EACd,OAA8B;IAE9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,kCAAkC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG;YACf,6BAA6B;YAC7B,iBAAiB,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YACzE,oBAAoB,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YAChF,mBAAmB,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YAC7E,aAAa,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YAClE,wBAAwB,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YAC/E,sBAAsB,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YACnF,EAAE;YACF,qBAAqB;YACrB,uCAAuC;YACvC,wCAAwC;SACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC;QAEnC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,UAAU;gBACb,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,2BAA2B;gBACpE,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,2BAA2B;gBACpE,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;gBACpC,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC/B,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;gBACjC,MAAM;YACR,KAAK,eAAe;gBAClB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACvC,MAAM;YACR;gBACE,sBAAsB;gBACtB,MAAM;QACV,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,OAAO;YACpB,OAAO,EACL,mEAAmE;SACtE,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE;QACxD,GAAG,gBAAgB;QACnB,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,gCAAgC,OAAO,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,MAAM,aAAa,GAAiB;IAClC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B;aACpC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;YACvC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;aACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,IAAY,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B;aACpC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE;YAClD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;aACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,cAAc,GAAiB;IACnC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B;aACpC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;YACxC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;aACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAiB;IACrC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,mCAAmC;IAChD,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,IAAY,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B;aACpC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE;YACtD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;aACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,IAAY,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,6BAA6B;aACpC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE;YAC7C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;aACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,4EAA4E;YAC5E,MAAM,OAAO,GACV,MAAM,CAAC,UAAsC,EAAE,OAAO,IAAI,EAAE,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB;iBAC7B,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,MAAM,gBAAgB,GAAG,OAAO;qBAC7B,MAAM,CAAC,UAAU,CAAC;qBAClB,GAAG,CAAC,CAAC,KAAe,EAAE,KAAa,EAAE,EAAE;oBACtC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACtD,IAAI,OAAO,GAAG,EAAE,CAAC;oBAEjB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC9D,IAAI,WAAW,EAAE,CAAC;4BAChB,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;4BAChD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;gCAAE,OAAO,IAAI,KAAK,CAAC;wBACzD,CAAC;oBACH,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACvD,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;4BAAE,OAAO,IAAI,KAAK,CAAC;oBACpD,CAAC;oBAED,OAAO,IAAI,KAAK,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjF,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB,OAAO,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,gBAAgB,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;iBAClH,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;CACF,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE;QACX,aAAa;QACb,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,WAAW;KACZ;IACD,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,IAAY,EAAE,EAAE;QACtD,0DAA0D;QAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,OAAO,aAAa,CAAC,MAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,wDAAwD;QACxD,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,8MAA8M;SACrN,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACJ,CAAC;CACF,CAAC"}
|
@@ -26,10 +26,28 @@ export const modelCommand = {
|
|
26
26
|
? activeProvider.getCurrentModel()
|
27
27
|
: 'unknown';
|
28
28
|
if (activeProvider.setModel) {
|
29
|
+
const config = context.services.config;
|
30
|
+
const settingsService = config?.getSettingsService();
|
31
|
+
const useSettingsService = settingsService !== null;
|
29
32
|
activeProvider.setModel(modelName);
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
+
if (useSettingsService && settingsService && config) {
|
34
|
+
// Use SettingsService to update provider settings
|
35
|
+
try {
|
36
|
+
// Ensure activeProvider is set in SettingsService
|
37
|
+
settingsService.set('activeProvider', activeProvider.name);
|
38
|
+
await settingsService.updateSettings(activeProvider.name, {
|
39
|
+
model: modelName,
|
40
|
+
});
|
41
|
+
}
|
42
|
+
catch (error) {
|
43
|
+
console.error('SettingsService error, using fallback:', error);
|
44
|
+
// Keep config model in sync so /about shows correct model
|
45
|
+
config.setModel(modelName);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
else if (config) {
|
49
|
+
// Fallback to direct config update
|
50
|
+
config.setModel(modelName);
|
33
51
|
}
|
34
52
|
return {
|
35
53
|
type: 'message',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"modelCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/modelCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKL,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EACX,OAAuB,EACvB,IAAY,EACkD,EAAE;QAChE,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,yDAAyD;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe;gBACjD,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE;gBAClC,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC5B,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"modelCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/modelCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKL,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EACX,OAAuB,EACvB,IAAY,EACkD,EAAE;QAChE,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,yDAAyD;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe;gBACjD,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE;gBAClC,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvC,MAAM,eAAe,GAAG,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBACrD,MAAM,kBAAkB,GAAG,eAAe,KAAK,IAAI,CAAC;gBAEpD,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEnC,IAAI,kBAAkB,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;oBACpD,kDAAkD;oBAClD,IAAI,CAAC;wBACH,kDAAkD;wBAClD,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC3D,MAAM,eAAe,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE;4BACxD,KAAK,EAAE,SAAS;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;wBAC/D,0DAA0D;wBAC1D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBAClB,mCAAmC;oBACnC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,iBAAiB,YAAY,OAAO,SAAS,iBAAiB,cAAc,CAAC,IAAI,GAAG;iBAC9F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,OAAO;oBACpB,OAAO,EAAE,aAAa,cAAc,CAAC,IAAI,oCAAoC;iBAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7F,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
@@ -3,12 +3,15 @@
|
|
3
3
|
* Copyright 2025 Google LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
|
-
import { CommandKind } from './types.js';
|
6
|
+
import { CommandKind, } from './types.js';
|
7
|
+
/**
|
8
|
+
* Privacy command - shows Google's privacy disclosure for the Gemini API
|
9
|
+
*/
|
7
10
|
export const privacyCommand = {
|
8
11
|
name: 'privacy',
|
9
|
-
description: '
|
12
|
+
description: 'view Gemini API privacy disclosure and terms',
|
10
13
|
kind: CommandKind.BUILT_IN,
|
11
|
-
action: () => ({
|
14
|
+
action: async (_context) => ({
|
12
15
|
type: 'dialog',
|
13
16
|
dialog: 'privacy',
|
14
17
|
}),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"privacyCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/privacyCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
1
|
+
{"version":3,"file":"privacyCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/privacyCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,GAIZ,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EACX,QAAwB,EACS,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,SAAS;KAClB,CAAC;CACH,CAAC"}
|
@@ -7,6 +7,21 @@ import { CommandKind, } from './types.js';
|
|
7
7
|
import { getProviderManager } from '../../providers/providerManagerInstance.js';
|
8
8
|
import { MessageType } from '../types.js';
|
9
9
|
import { AuthType } from '@vybestack/llxprt-code-core';
|
10
|
+
/**
|
11
|
+
* Get SettingsService instance for provider switching
|
12
|
+
*/
|
13
|
+
async function getSettingsServiceForProvider() {
|
14
|
+
try {
|
15
|
+
const { getSettingsService } = await import('@vybestack/llxprt-code-core/src/settings/settingsServiceInstance.js');
|
16
|
+
return getSettingsService();
|
17
|
+
}
|
18
|
+
catch (error) {
|
19
|
+
if (process.env.DEBUG) {
|
20
|
+
console.warn('Failed to get SettingsService for provider switching:', error);
|
21
|
+
}
|
22
|
+
throw error;
|
23
|
+
}
|
24
|
+
}
|
10
25
|
export const providerCommand = {
|
11
26
|
name: 'provider',
|
12
27
|
description: 'switch between different AI providers (openai, anthropic, etc.)',
|
@@ -38,6 +53,27 @@ export const providerCommand = {
|
|
38
53
|
// };
|
39
54
|
// Switch provider first (this will clear state from ALL providers)
|
40
55
|
providerManager.setActiveProvider(providerName);
|
56
|
+
// Clear base-url ephemeral setting when switching providers
|
57
|
+
// This prevents the old provider's base-url from affecting the new provider
|
58
|
+
const config = context.services.config;
|
59
|
+
if (config) {
|
60
|
+
config.setEphemeralSetting('base-url', undefined);
|
61
|
+
}
|
62
|
+
// Use SettingsService for provider switching
|
63
|
+
try {
|
64
|
+
const settingsService = await getSettingsServiceForProvider();
|
65
|
+
await settingsService.switchProvider(providerName);
|
66
|
+
// Also set the default model for this provider
|
67
|
+
const activeProvider = providerManager.getActiveProvider();
|
68
|
+
const defaultModel = activeProvider.getDefaultModel();
|
69
|
+
settingsService.setProviderSetting(providerName, 'model', defaultModel);
|
70
|
+
// Don't return early - continue with the rest of the setup
|
71
|
+
}
|
72
|
+
catch (error) {
|
73
|
+
if (process.env.DEBUG) {
|
74
|
+
console.warn('SettingsService provider switch failed, falling back to legacy method:', error);
|
75
|
+
}
|
76
|
+
}
|
41
77
|
// Update config if available
|
42
78
|
if (context.services.config) {
|
43
79
|
// Clear ephemeral settings when switching providers
|
@@ -66,20 +102,22 @@ export const providerCommand = {
|
|
66
102
|
context.services.config.setProvider(providerName);
|
67
103
|
// Get the active provider and ensure it uses a valid default model
|
68
104
|
const activeProvider = providerManager.getActiveProvider();
|
69
|
-
//
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
105
|
+
// Get the default model from the provider
|
106
|
+
const defaultModel = activeProvider.getDefaultModel();
|
107
|
+
let baseUrl;
|
108
|
+
// Set base URL for specific providers
|
109
|
+
if (providerName === 'qwen') {
|
110
|
+
baseUrl = 'https://portal.qwen.ai/v1';
|
111
|
+
}
|
112
|
+
// Set the base URL if needed (for qwen)
|
113
|
+
if (baseUrl) {
|
114
|
+
context.services.config.setEphemeralSetting('base-url', baseUrl);
|
115
|
+
// Also set it directly on the provider if it has the method
|
116
|
+
if ('setBaseUrl' in activeProvider &&
|
117
|
+
typeof activeProvider.setBaseUrl === 'function') {
|
118
|
+
const providerWithSetBaseUrl = activeProvider;
|
119
|
+
providerWithSetBaseUrl.setBaseUrl(baseUrl);
|
120
|
+
}
|
83
121
|
}
|
84
122
|
// Set the model on both the provider and config
|
85
123
|
if (defaultModel) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"providerCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/providerCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKL,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"providerCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/providerCommand.ts"],"names":[],"mappings":"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"}
|