@vybestack/llxprt-code 0.1.18-nightly.250808.f9b79d74 → 0.1.18-nightly.250811.b0db22c6
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/package.json +5 -3
- 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 +103 -0
- package/dist/src/auth/oauth-manager.js +326 -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 +9 -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.js +39 -4
- 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 +76 -26
- 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 +143 -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/ideCommand.js +67 -31
- package/dist/src/ui/commands/ideCommand.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/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/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/types.d.ts +14 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +13 -56
- 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/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 +14 -0
- 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.js +14 -3
- 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/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":"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"}
|
@@ -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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { CommandKind } from './types.js';
|
7
|
+
export const settingsCommand = {
|
8
|
+
name: 'settings',
|
9
|
+
description: 'View and edit LLxprt Code settings',
|
10
|
+
kind: CommandKind.BUILT_IN,
|
11
|
+
action: (_context, _args) => ({
|
12
|
+
type: 'dialog',
|
13
|
+
dialog: 'settings',
|
14
|
+
}),
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=settingsCommand.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"settingsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/settingsCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAwC,MAAM,YAAY,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAA0B,EAAE,CAAC,CAAC;QACpD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,UAAU;KACnB,CAAC;CACH,CAAC"}
|
@@ -12,6 +12,22 @@
|
|
12
12
|
// isGitHubRepository,
|
13
13
|
// } from '../../utils/gitUtils.js';
|
14
14
|
import { CommandKind, } from './types.js';
|
15
|
+
import { getUrlOpenCommand } from '../../ui/utils/commandUtils.js';
|
16
|
+
import { getGitHubRepoInfo } from '../../utils/gitUtils.js';
|
17
|
+
// Generate OS-specific commands to open the GitHub pages needed for setup.
|
18
|
+
function _getOpenUrlsCommands(readmeUrl) {
|
19
|
+
// Determine the OS-specific command to open URLs, ex: 'open', 'xdg-open', etc
|
20
|
+
const openCmd = getUrlOpenCommand();
|
21
|
+
// Build a list of URLs to open
|
22
|
+
const urlsToOpen = [readmeUrl];
|
23
|
+
const repoInfo = getGitHubRepoInfo();
|
24
|
+
if (repoInfo) {
|
25
|
+
urlsToOpen.push(`https://github.com/${repoInfo.owner}/${repoInfo.repo}/settings/secrets/actions`);
|
26
|
+
}
|
27
|
+
// Create and join the individual commands
|
28
|
+
const commands = urlsToOpen.map((url) => `${openCmd} "${url}"`);
|
29
|
+
return commands;
|
30
|
+
}
|
15
31
|
export const setupGithubCommand = {
|
16
32
|
name: 'setup-github',
|
17
33
|
description: 'Set up GitHub Actions (currently disabled - needs adaptation for llxprt)',
|
@@ -95,11 +111,14 @@ For now, you can manually set up GitHub Actions by creating workflows that use l
|
|
95
111
|
commands.push(curlCommand);
|
96
112
|
}
|
97
113
|
|
114
|
+
const readmeUrl = `https://github.com/google-github-actions/run-gemini-cli/blob/${releaseTag}/README.md#quick-start`;
|
115
|
+
|
98
116
|
commands.push(
|
99
|
-
`echo "Successfully downloaded ${workflows.length} workflows. Follow the steps in
|
100
|
-
`open https://github.com/acoliver/run-llxprt-code/blob/${releaseTag}/README.md#quick-start`,
|
117
|
+
`echo "Successfully downloaded ${workflows.length} workflows. Follow the steps in ${readmeUrl} (skipping the /setup-github step) to complete setup."`
|
101
118
|
);
|
102
119
|
|
120
|
+
commands.push(...getOpenUrlsCommands(readmeUrl));
|
121
|
+
|
103
122
|
const command = `(${commands.join(' && ')})`;
|
104
123
|
return {
|
105
124
|
type: 'tool',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setupGithubCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/setupGithubCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8DAA8D;AAC9D,2BAA2B;AAC3B,+DAA+D;AAC/D,WAAW;AACX,oBAAoB;AACpB,4BAA4B;AAC5B,wBAAwB;AACxB,oCAAoC;AAEpC,OAAO,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;
|
1
|
+
{"version":3,"file":"setupGithubCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/setupGithubCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8DAA8D;AAC9D,2BAA2B;AAC3B,+DAA+D;AAC/D,WAAW;AACX,oBAAoB;AACpB,4BAA4B;AAC5B,wBAAwB;AACxB,oCAAoC;AAEpC,OAAO,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,2EAA2E;AAC3E,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,8EAA8E;IAC9E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CACb,sBAAsB,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,2BAA2B,CACjF,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0EAA0E;IAC5E,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,GAA6B,EAAE;IACrC,2CAA2C;IAC3C,WAAW;IACX,4GAA4G;IAC5G,yDAAyD;IACzD,2DAA2D;IAC3D,sDAAsD;IACtD,wEAAwE;IAExE,yCAAyC;IACzC,CAAC;QACC,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE;;;;;;;;;;;;;4FAa6E;KACvF,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuEE;CACH,CAAC;AAEF,2EAA2E;AAC3E,gDAAgD;AAChD,4EAA4E;AAC5E,qBAAqB;AACrB,yBAAyB;AACzB,6BAA6B;AAC7B,+BAA+B;AAC/B,2BAA2B;AAC3B,EAAE;AACF,8CAA8C;AAC9C,sBAAsB;AACtB,MAAM;AACN,EAAE;AACF,iBAAiB;AACjB,EAAE;AACF,4CAA4C;AAC5C,IAAI"}
|
@@ -3,6 +3,7 @@
|
|
3
3
|
* Copyright 2025 Google LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
|
+
import { type ReactNode } from 'react';
|
6
7
|
import { Content } from '@google/genai';
|
7
8
|
import { HistoryItemWithoutId } from '../types.js';
|
8
9
|
import { Config, GitService, Logger } from '@vybestack/llxprt-code-core';
|
@@ -64,6 +65,7 @@ export interface CommandContext {
|
|
64
65
|
/** A transient list of shell commands the user has approved for this session. */
|
65
66
|
sessionShellAllowlist: Set<string>;
|
66
67
|
};
|
68
|
+
overwriteConfirmed?: boolean;
|
67
69
|
}
|
68
70
|
/**
|
69
71
|
* The return type for a command action that results in scheduling a tool call.
|
@@ -92,7 +94,8 @@ export interface MessageActionReturn {
|
|
92
94
|
*/
|
93
95
|
export interface OpenDialogActionReturn {
|
94
96
|
type: 'dialog';
|
95
|
-
dialog: 'help' | 'auth' | 'theme' | 'loadProfile' | 'editor' | 'privacy' | 'provider' | 'providerModel' | 'tools';
|
97
|
+
dialog: 'help' | 'auth' | 'theme' | 'loadProfile' | 'editor' | 'privacy' | 'provider' | 'providerModel' | 'tools' | 'logging' | 'settings';
|
98
|
+
dialogData?: unknown;
|
96
99
|
}
|
97
100
|
/**
|
98
101
|
* The return type for a command action that results in replacing
|
@@ -124,7 +127,16 @@ export interface ConfirmShellCommandsActionReturn {
|
|
124
127
|
raw: string;
|
125
128
|
};
|
126
129
|
}
|
127
|
-
export
|
130
|
+
export interface ConfirmActionReturn {
|
131
|
+
type: 'confirm_action';
|
132
|
+
/** The React node to display as the confirmation prompt. */
|
133
|
+
prompt: ReactNode;
|
134
|
+
/** The original invocation context to be re-run after confirmation. */
|
135
|
+
originalInvocation: {
|
136
|
+
raw: string;
|
137
|
+
};
|
138
|
+
}
|
139
|
+
export type SlashCommandActionReturn = ToolActionReturn | MessageActionReturn | QuitActionReturn | OpenDialogActionReturn | LoadHistoryActionReturn | SubmitPromptActionReturn | ConfirmShellCommandsActionReturn | ConfirmActionReturn;
|
128
140
|
export declare enum CommandKind {
|
129
141
|
BUILT_IN = "built-in",
|
130
142
|
FILE = "file",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/commands/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/commands/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6KH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4BAAa,CAAA;IACb,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
|