@vybestack/llxprt-code 0.1.19-alpha → 0.1.19-beta
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 +3 -3
- package/dist/src/config/auth.js +5 -0
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config.js +32 -24
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +64 -0
- package/dist/src/config/keyBindings.js +137 -0
- package/dist/src/config/keyBindings.js.map +1 -0
- package/dist/src/config/settings.d.ts +1 -0
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/gemini.js +9 -2
- 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/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 +4 -0
- package/dist/src/providers/providerManagerInstance.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +2 -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 +61 -25
- 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/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/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/types.d.ts +14 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +14 -2
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- 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.d.ts +0 -1
- package/dist/src/ui/components/Footer.js +136 -16
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +32 -28
- 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/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 +5 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +137 -112
- package/dist/src/ui/hooks/slashCommandProcessor.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/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/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/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/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -30
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -14,6 +14,7 @@ import { BuiltinCommandLoader } from '../../services/BuiltinCommandLoader.js';
|
|
14
14
|
import { FileCommandLoader } from '../../services/FileCommandLoader.js';
|
15
15
|
import { McpPromptLoader } from '../../services/McpPromptLoader.js';
|
16
16
|
import { secureInputHandler } from '../utils/secureInputHandler.js';
|
17
|
+
import { runExitCleanup } from '../../utils/cleanup.js';
|
17
18
|
/**
|
18
19
|
* Hook to define and process slash commands (e.g., /help, /clear).
|
19
20
|
*/
|
@@ -21,6 +22,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
21
22
|
const session = useSessionStats();
|
22
23
|
const [commands, setCommands] = useState([]);
|
23
24
|
const [shellConfirmationRequest, setShellConfirmationRequest] = useState(null);
|
25
|
+
const [confirmationRequest, setConfirmationRequest] = useState(null);
|
24
26
|
const [sessionShellAllowlist, setSessionShellAllowlist] = useState(new Set());
|
25
27
|
const gitService = useMemo(() => {
|
26
28
|
if (!config?.getProjectRoot()) {
|
@@ -155,7 +157,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
155
157
|
controller.abort();
|
156
158
|
};
|
157
159
|
}, [config, ideMode]);
|
158
|
-
const handleSlashCommand = useCallback(async (rawQuery, oneTimeShellAllowlist) => {
|
160
|
+
const handleSlashCommand = useCallback(async (rawQuery, oneTimeShellAllowlist, overwriteConfirmed) => {
|
159
161
|
setIsProcessing(true);
|
160
162
|
try {
|
161
163
|
if (typeof rawQuery !== 'string') {
|
@@ -221,6 +223,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
221
223
|
name: commandToExecute.name,
|
222
224
|
args,
|
223
225
|
},
|
226
|
+
overwriteConfirmed,
|
224
227
|
};
|
225
228
|
// If a one-time list is provided for a "Proceed" action, temporarily
|
226
229
|
// augment the session allowlist for this single execution.
|
@@ -233,127 +236,147 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
233
236
|
]),
|
234
237
|
};
|
235
238
|
}
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
239
|
+
const result = await commandToExecute.action(fullCommandContext, args);
|
240
|
+
if (result) {
|
241
|
+
switch (result.type) {
|
242
|
+
case 'tool':
|
243
|
+
return {
|
244
|
+
type: 'schedule_tool',
|
245
|
+
toolName: result.toolName,
|
246
|
+
toolArgs: result.toolArgs,
|
247
|
+
};
|
248
|
+
case 'message':
|
249
|
+
addItem({
|
250
|
+
type: result.messageType === 'error'
|
251
|
+
? MessageType.ERROR
|
252
|
+
: MessageType.INFO,
|
253
|
+
text: result.content,
|
254
|
+
}, Date.now());
|
255
|
+
return { type: 'handled' };
|
256
|
+
case 'dialog':
|
257
|
+
switch (result.dialog) {
|
258
|
+
case 'help':
|
259
|
+
setShowHelp(true);
|
260
|
+
return { type: 'handled' };
|
261
|
+
case 'auth':
|
262
|
+
openAuthDialog();
|
263
|
+
return { type: 'handled' };
|
264
|
+
case 'theme':
|
265
|
+
openThemeDialog();
|
266
|
+
return { type: 'handled' };
|
267
|
+
case 'editor':
|
268
|
+
openEditorDialog();
|
269
|
+
return { type: 'handled' };
|
270
|
+
case 'privacy':
|
271
|
+
openPrivacyNotice();
|
272
|
+
return { type: 'handled' };
|
273
|
+
case 'provider':
|
274
|
+
openProviderDialog();
|
275
|
+
return { type: 'handled' };
|
276
|
+
case 'providerModel':
|
277
|
+
openProviderModelDialog();
|
278
|
+
return { type: 'handled' };
|
279
|
+
case 'loadProfile':
|
280
|
+
openLoadProfileDialog();
|
281
|
+
return { type: 'handled' };
|
282
|
+
case 'tools': {
|
283
|
+
// Extract the subcommand from the original command
|
284
|
+
const originalCommand = rawQuery.trim();
|
285
|
+
const commandParts = originalCommand.split(/\s+/);
|
286
|
+
const subCommand = commandParts[1];
|
287
|
+
openToolsDialog(subCommand);
|
288
|
+
return { type: 'handled' };
|
289
|
+
}
|
290
|
+
case 'logging': {
|
291
|
+
// For now, show the log entries as text since dialog system is not fully implemented
|
292
|
+
const dialogData = result.dialogData;
|
293
|
+
if (dialogData && dialogData.entries) {
|
294
|
+
// This would open the LoggingDialog when the dialog system is ready
|
295
|
+
// For now, the command handles displaying the logs
|
291
296
|
}
|
297
|
+
return { type: 'handled' };
|
292
298
|
}
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
result.history.forEach((item, index) => {
|
297
|
-
fullCommandContext.ui.addItem(item, index);
|
298
|
-
});
|
299
|
-
// Set the client history - it will be stored for later use if not initialized
|
300
|
-
const client = config?.getGeminiClient();
|
301
|
-
if (client) {
|
302
|
-
await client.setHistory(result.clientHistory);
|
299
|
+
default: {
|
300
|
+
const unhandled = result.dialog;
|
301
|
+
throw new Error(`Unhandled slash command result: ${unhandled}`);
|
303
302
|
}
|
304
|
-
return { type: 'handled' };
|
305
303
|
}
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
304
|
+
case 'load_history': {
|
305
|
+
// Always load the UI history first
|
306
|
+
fullCommandContext.ui.clear();
|
307
|
+
result.history.forEach((item, index) => {
|
308
|
+
fullCommandContext.ui.addItem(item, index);
|
309
|
+
});
|
310
|
+
// Set the client history - it will be stored for later use if not initialized
|
311
|
+
const client = config?.getGeminiClient();
|
312
|
+
if (client) {
|
313
|
+
await client.setHistory(result.clientHistory);
|
314
|
+
}
|
315
|
+
return { type: 'handled' };
|
316
|
+
}
|
317
|
+
case 'quit':
|
318
|
+
setQuittingMessages(result.messages);
|
319
|
+
setTimeout(() => {
|
320
|
+
runExitCleanup();
|
321
|
+
process.exit(0);
|
322
|
+
}, 100);
|
323
|
+
return { type: 'handled' };
|
324
|
+
case 'submit_prompt':
|
325
|
+
return {
|
326
|
+
type: 'submit_prompt',
|
327
|
+
content: result.content,
|
328
|
+
};
|
329
|
+
case 'confirm_shell_commands': {
|
330
|
+
const { outcome, approvedCommands } = await new Promise((resolve) => {
|
331
|
+
setShellConfirmationRequest({
|
332
|
+
commands: result.commandsToConfirm,
|
333
|
+
onConfirm: (resolvedOutcome, resolvedApprovedCommands) => {
|
334
|
+
setShellConfirmationRequest(null); // Close the dialog
|
335
|
+
resolve({
|
336
|
+
outcome: resolvedOutcome,
|
337
|
+
approvedCommands: resolvedApprovedCommands,
|
338
|
+
});
|
339
|
+
},
|
329
340
|
});
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
}
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
return await handleSlashCommand(result.originalInvocation.raw,
|
339
|
-
// Pass the approved commands as a one-time grant for this execution.
|
340
|
-
new Set(approvedCommands));
|
341
|
+
});
|
342
|
+
if (outcome === ToolConfirmationOutcome.Cancel ||
|
343
|
+
!approvedCommands ||
|
344
|
+
approvedCommands.length === 0) {
|
345
|
+
return { type: 'handled' };
|
346
|
+
}
|
347
|
+
if (outcome === ToolConfirmationOutcome.ProceedAlways) {
|
348
|
+
setSessionShellAllowlist((prev) => new Set([...prev, ...approvedCommands]));
|
341
349
|
}
|
342
|
-
|
343
|
-
|
344
|
-
|
350
|
+
return await handleSlashCommand(result.originalInvocation.raw,
|
351
|
+
// Pass the approved commands as a one-time grant for this execution.
|
352
|
+
new Set(approvedCommands));
|
353
|
+
}
|
354
|
+
case 'confirm_action': {
|
355
|
+
const { confirmed } = await new Promise((resolve) => {
|
356
|
+
setConfirmationRequest({
|
357
|
+
prompt: result.prompt,
|
358
|
+
onConfirm: (resolvedConfirmed) => {
|
359
|
+
setConfirmationRequest(null);
|
360
|
+
resolve({ confirmed: resolvedConfirmed });
|
361
|
+
},
|
362
|
+
});
|
363
|
+
});
|
364
|
+
if (!confirmed) {
|
365
|
+
addItem({
|
366
|
+
type: MessageType.INFO,
|
367
|
+
text: 'Operation cancelled.',
|
368
|
+
}, Date.now());
|
369
|
+
return { type: 'handled' };
|
345
370
|
}
|
371
|
+
return await handleSlashCommand(result.originalInvocation.raw, undefined, true);
|
372
|
+
}
|
373
|
+
default: {
|
374
|
+
const unhandled = result;
|
375
|
+
throw new Error(`Unhandled slash command result: ${unhandled}`);
|
346
376
|
}
|
347
377
|
}
|
348
|
-
return { type: 'handled' };
|
349
|
-
}
|
350
|
-
catch (e) {
|
351
|
-
addItem({
|
352
|
-
type: MessageType.ERROR,
|
353
|
-
text: e instanceof Error ? e.message : String(e),
|
354
|
-
}, Date.now());
|
355
|
-
return { type: 'handled' };
|
356
378
|
}
|
379
|
+
return { type: 'handled' };
|
357
380
|
}
|
358
381
|
else if (commandToExecute.subCommands) {
|
359
382
|
const helpText = `Command '/${commandToExecute.name}' requires a subcommand. Available:\n${commandToExecute.subCommands
|
@@ -403,6 +426,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
403
426
|
setShellConfirmationRequest,
|
404
427
|
setSessionShellAllowlist,
|
405
428
|
setIsProcessing,
|
429
|
+
setConfirmationRequest,
|
406
430
|
]);
|
407
431
|
return {
|
408
432
|
handleSlashCommand,
|
@@ -410,6 +434,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
|
|
410
434
|
pendingHistoryItems,
|
411
435
|
commandContext,
|
412
436
|
shellConfirmationRequest,
|
437
|
+
confirmationRequest,
|
413
438
|
};
|
414
439
|
};
|
415
440
|
//# sourceMappingURL=slashCommandProcessor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,UAAU,EACV,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAEL,WAAW,GAIZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAqB,EACrB,QAAwB,EACxB,OAA2C,EAC3C,UAAiD,EACjD,WAAmD,EACnD,aAAyB,EACzB,WAA0D,EAC1D,cAAyC,EACzC,eAA2B,EAC3B,cAA0B,EAC1B,gBAA4B,EAC5B,kBAA8B,EAC9B,uBAAmC,EACnC,qBAAiC,EACjC,eAAuD,EACvD,eAA2B,EAC3B,mBAAqD,EACrD,iBAA6B,EAC7B,gBAAwC,EACxC,eAAgD,EAChD,oBAA6C,EAC7C,EAAE;IACF,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,QAAQ,CAML,IAAI,CAAC,CAAC;IACX,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAChE,IAAI,GAAG,EAAU,CAClB,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,mEAAmE;QACnE,qEAAqE;QACrE,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,GAC1D,cAAc,CAA8B,IAAI,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,yBAAyB,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,OAAgB,EAAE,EAAE;QACnB,0CAA0C;QAC1C,IAAI,kBAAwC,CAAC;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YACvC,kBAAkB,GAAG;gBACnB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YAC9C,kBAAkB,GAAG;gBACnB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YACpD,kBAAkB,GAAG;gBACnB,IAAI,EAAE,aAAa;aACpB,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,EAAE,CAAC;YACnD,kBAAkB,GAAG;gBACnB,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YAC7C,kBAAkB,GAAG;gBACnB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YACpD,kBAAkB,GAAG;gBACnB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAkB,GAAG;gBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAmB,EAAE,CAAC,CAAC;QACrB,QAAQ,EAAE;YACR,MAAM;YACN,QAAQ;YACR,GAAG,EAAE,UAAU;YACf,MAAM;SACP;QACD,EAAE,EAAE;YACF,OAAO;YACP,KAAK,EAAE,GAAG,EAAE;gBACV,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,WAAW;YACX,eAAe,EAAE,cAAc;YAC/B,WAAW,EAAE,yBAAyB,CAAC,OAAO;YAC9C,cAAc,EAAE,yBAAyB;YACzC,eAAe;YACf,gBAAgB;YAChB,oBAAoB;SACrB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,qBAAqB;SACtB;KACF,CAAC,EACF;QACE,MAAM;QACN,QAAQ;QACR,UAAU;QACV,MAAM;QACN,WAAW;QACX,OAAO;QACP,UAAU;QACV,aAAa;QACb,OAAO,CAAC,KAAK;QACb,cAAc;QACd,yBAAyB;QACzB,yBAAyB;QACzB,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;KACrB,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,OAAO,GAAG;gBACd,IAAI,eAAe,CAAC,MAAM,CAAC;gBAC3B,IAAI,oBAAoB,CAAC,MAAM,CAAC;gBAChC,IAAI,iBAAiB,CAAC,MAAM,CAAC;aAC9B,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,CAChD,OAAO,EACP,UAAU,CAAC,MAAM,CAClB,CAAC;YACF,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;QAEP,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,MAAM,kBAAkB,GAAG,WAAW,CACpC,KAAK,EACH,QAAuB,EACvB,qBAAmC,EACW,EAAE;QAChD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAExC,qDAAqD;YACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAClD,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,OAAO,CAAC;YAEZ,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAClD,oBAAoB,CACrB,CAAC;YAEF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,oDAAoD;YAEhG,IAAI,eAAe,GAAG,QAAQ,CAAC;YAC/B,IAAI,gBAA0C,CAAC;YAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,wEAAwE;gBACxE,gEAAgE;gBAChE,uEAAuE;gBACvE,qEAAqE;gBACrE,kEAAkE;gBAElE,oEAAoE;gBACpE,IAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAEpE,+DAA+D;gBAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;gBACJ,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,gBAAgB,GAAG,YAAY,CAAC;oBAChC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACtC,SAAS,EAAE,CAAC;oBACZ,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC7B,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,mBAAmB,GAAG,aAAa,CAAC;wBAC1C,MAAM,KAAK,GAAG,IAAI,iBAAiB,CACjC,mBAAmB,CAAC,CAAC,CAAC,EACtB,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BAC5B,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;4BACxC,CAAC,CAAC,SAAS,CACd,CAAC;wBACF,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjC,CAAC;oBAED,MAAM,kBAAkB,GAAmB;wBACzC,GAAG,cAAc;wBACjB,UAAU,EAAE;4BACV,GAAG,EAAE,OAAO;4BACZ,IAAI,EAAE,gBAAgB,CAAC,IAAI;4BAC3B,IAAI;yBACL;qBACF,CAAC;oBAEF,qEAAqE;oBACrE,2DAA2D;oBAC3D,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC5D,kBAAkB,CAAC,OAAO,GAAG;4BAC3B,GAAG,kBAAkB,CAAC,OAAO;4BAC7B,qBAAqB,EAAE,IAAI,GAAG,CAAC;gCAC7B,GAAG,kBAAkB,CAAC,OAAO,CAAC,qBAAqB;gCACnD,GAAG,qBAAqB;6BACzB,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAC1C,kBAAkB,EAClB,IAAI,CACL,CAAC;wBAEF,IAAI,MAAM,EAAE,CAAC;4BACX,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gCACpB,KAAK,MAAM;oCACT,OAAO;wCACL,IAAI,EAAE,eAAe;wCACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wCACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qCAC1B,CAAC;gCACJ,KAAK,SAAS;oCACZ,OAAO,CACL;wCACE,IAAI,EACF,MAAM,CAAC,WAAW,KAAK,OAAO;4CAC5B,CAAC,CAAC,WAAW,CAAC,KAAK;4CACnB,CAAC,CAAC,WAAW,CAAC,IAAI;wCACtB,IAAI,EAAE,MAAM,CAAC,OAAO;qCACrB,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;oCACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gCAC7B,KAAK,QAAQ;oCACX,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;wCACtB,KAAK,MAAM;4CACT,WAAW,CAAC,IAAI,CAAC,CAAC;4CAClB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,MAAM;4CACT,cAAc,EAAE,CAAC;4CACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,OAAO;4CACV,eAAe,EAAE,CAAC;4CAClB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,QAAQ;4CACX,gBAAgB,EAAE,CAAC;4CACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,SAAS;4CACZ,iBAAiB,EAAE,CAAC;4CACpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,UAAU;4CACb,kBAAkB,EAAE,CAAC;4CACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,eAAe;4CAClB,uBAAuB,EAAE,CAAC;4CAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,aAAa;4CAChB,qBAAqB,EAAE,CAAC;4CACxB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,KAAK,OAAO,CAAC,CAAC,CAAC;4CACb,mDAAmD;4CACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;4CACxC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4CAClD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAEpB,CAAC;4CACd,eAAe,CAAC,UAAU,CAAC,CAAC;4CAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCAC7B,CAAC;wCACD,OAAO,CAAC,CAAC,CAAC;4CACR,MAAM,SAAS,GAAU,MAAM,CAAC,MAAM,CAAC;4CACvC,MAAM,IAAI,KAAK,CACb,mCAAmC,SAAS,EAAE,CAC/C,CAAC;wCACJ,CAAC;oCACH,CAAC;gCACH,KAAK,cAAc,CAAC,CAAC,CAAC;oCACpB,mCAAmC;oCACnC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;oCAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wCACrC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oCAC7C,CAAC,CAAC,CAAC;oCAEH,8EAA8E;oCAC9E,MAAM,MAAM,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;oCACzC,IAAI,MAAM,EAAE,CAAC;wCACX,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oCAChD,CAAC;oCAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gCAC7B,CAAC;gCACD,KAAK,MAAM;oCACT,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oCACrC,UAAU,CAAC,GAAG,EAAE;wCACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCAClB,CAAC,EAAE,GAAG,CAAC,CAAC;oCACR,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gCAE7B,KAAK,eAAe;oCAClB,OAAO;wCACL,IAAI,EAAE,eAAe;wCACrB,OAAO,EAAE,MAAM,CAAC,OAAO;qCACxB,CAAC;gCACJ,KAAK,wBAAwB,CAAC,CAAC,CAAC;oCAC9B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,OAAO,CAGpD,CAAC,OAAO,EAAE,EAAE;wCACb,2BAA2B,CAAC;4CAC1B,QAAQ,EAAE,MAAM,CAAC,iBAAiB;4CAClC,SAAS,EAAE,CACT,eAAe,EACf,wBAAwB,EACxB,EAAE;gDACF,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;gDACtD,OAAO,CAAC;oDACN,OAAO,EAAE,eAAe;oDACxB,gBAAgB,EAAE,wBAAwB;iDAC3C,CAAC,CAAC;4CACL,CAAC;yCACF,CAAC,CAAC;oCACL,CAAC,CAAC,CAAC;oCAEH,IACE,OAAO,KAAK,uBAAuB,CAAC,MAAM;wCAC1C,CAAC,gBAAgB;wCACjB,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;wCACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCAC7B,CAAC;oCAED,IAAI,OAAO,KAAK,uBAAuB,CAAC,aAAa,EAAE,CAAC;wCACtD,wBAAwB,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAClD,CAAC;oCACJ,CAAC;oCAED,OAAO,MAAM,kBAAkB,CAC7B,MAAM,CAAC,kBAAkB,CAAC,GAAG;oCAC7B,qEAAqE;oCACrE,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAC1B,CAAC;gCACJ,CAAC;gCACD,OAAO,CAAC,CAAC,CAAC;oCACR,MAAM,SAAS,GAAU,MAAM,CAAC;oCAChC,MAAM,IAAI,KAAK,CACb,mCAAmC,SAAS,EAAE,CAC/C,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC7B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CACL;4BACE,IAAI,EAAE,WAAW,CAAC,KAAK;4BACvB,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;yBACjD,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;wBACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,aAAa,gBAAgB,CAAC,IAAI,wCAAwC,gBAAgB,CAAC,WAAW;yBACpH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;yBACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,UAAU,CAAC;wBACT,IAAI,EAAE,WAAW,CAAC,IAAI;wBACtB,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CAAC,CAAC;oBACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,UAAU,CAAC;gBACT,IAAI,EAAE,WAAW,CAAC,KAAK;gBACvB,OAAO,EAAE,oBAAoB,OAAO,EAAE;gBACtC,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CACL;gBACE,IAAI,EAAE,WAAW,CAAC,KAAK;gBACvB,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACjD,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD;QACE,MAAM;QACN,OAAO;QACP,WAAW;QACX,cAAc;QACd,QAAQ;QACR,cAAc;QACd,UAAU;QACV,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;QACvB,qBAAqB;QACrB,eAAe;QACf,mBAAmB;QACnB,2BAA2B;QAC3B,wBAAwB;QACxB,eAAe;KAChB,CACF,CAAC;IAEF,OAAO;QACL,kBAAkB;QAClB,aAAa,EAAE,QAAQ;QACvB,mBAAmB;QACnB,cAAc;QACd,wBAAwB;KACzB,CAAC;AACJ,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
|
@@ -4,6 +4,8 @@
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
6
|
import { useCallback, useEffect, useReducer, useRef, useTransition, } from 'react';
|
7
|
+
// Maximum console messages to keep in memory to prevent unbounded growth
|
8
|
+
const MAX_CONSOLE_MESSAGES = 1000;
|
7
9
|
function consoleMessagesReducer(state, action) {
|
8
10
|
switch (action.type) {
|
9
11
|
case 'ADD_MESSAGES': {
|
@@ -24,6 +26,11 @@ function consoleMessagesReducer(state, action) {
|
|
24
26
|
newMessages.push({ ...queuedMessage, count: 1 });
|
25
27
|
}
|
26
28
|
}
|
29
|
+
// Trim to max size to prevent unbounded memory growth
|
30
|
+
if (newMessages.length > MAX_CONSOLE_MESSAGES) {
|
31
|
+
// Keep the most recent messages
|
32
|
+
return newMessages.slice(-MAX_CONSOLE_MESSAGES);
|
33
|
+
}
|
27
34
|
return newMessages;
|
28
35
|
}
|
29
36
|
case 'CLEAR':
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useConsoleMessages.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useConsoleMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"useConsoleMessages.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useConsoleMessages.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { LoadedSettings } from '../../config/settings.js';
|
7
|
+
import { FolderTrustChoice } from '../components/FolderTrustDialog.js';
|
8
|
+
export declare const useFolderTrust: (settings: LoadedSettings) => {
|
9
|
+
isFolderTrustDialogOpen: boolean;
|
10
|
+
handleFolderTrustSelect: (_choice: FolderTrustChoice) => void;
|
11
|
+
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { useState, useCallback } from 'react';
|
7
|
+
import { SettingScope } from '../../config/settings.js';
|
8
|
+
export const useFolderTrust = (settings) => {
|
9
|
+
const [isFolderTrustDialogOpen, setIsFolderTrustDialogOpen] = useState(!!settings.merged.folderTrustFeature &&
|
10
|
+
// TODO: Update to avoid showing dialog for folders that are trusted.
|
11
|
+
settings.merged.folderTrust === undefined);
|
12
|
+
const handleFolderTrustSelect = useCallback((_choice) => {
|
13
|
+
// TODO: Store folderPath in the trusted folders config file based on the choice.
|
14
|
+
settings.setValue(SettingScope.User, 'folderTrust', true);
|
15
|
+
setIsFolderTrustDialogOpen(false);
|
16
|
+
}, [settings]);
|
17
|
+
return {
|
18
|
+
isFolderTrustDialogOpen,
|
19
|
+
handleFolderTrustSelect,
|
20
|
+
};
|
21
|
+
};
|
22
|
+
//# sourceMappingURL=useFolderTrust.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useFolderTrust.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useFolderTrust.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAwB,EAAE,EAAE;IACzD,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CACpE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB;QAClC,qEAAqE;QACrE,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAC5C,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CACzC,CAAC,OAA0B,EAAE,EAAE;QAC7B,iFAAiF;QACjF,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1D,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO;QACL,uBAAuB;QACvB,uBAAuB;KACxB,CAAC;AACJ,CAAC,CAAC"}
|
@@ -21,6 +21,7 @@ import { promises as fs } from 'fs';
|
|
21
21
|
import path from 'path';
|
22
22
|
import { useReactToolScheduler, mapToDisplay as mapTrackedToolCallsToDisplay, } from './useReactToolScheduler.js';
|
23
23
|
import { useSessionStats } from '../contexts/SessionContext.js';
|
24
|
+
import { useTodoContinuation } from './useTodoContinuation.js';
|
24
25
|
export function mergePartListUnions(list) {
|
25
26
|
const resultParts = [];
|
26
27
|
for (const item of list) {
|
@@ -73,6 +74,8 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
|
|
73
74
|
}, [history]);
|
74
75
|
const { startNewPrompt, getPromptCount } = useSessionStats();
|
75
76
|
const logger = useLogger();
|
77
|
+
// Todo continuation hook integration - stub implementation
|
78
|
+
const { handleStreamCompleted: _handleStreamCompleted } = useTodoContinuation(geminiClient, config, isResponding, onDebugMessage);
|
76
79
|
const gitService = useMemo(() => {
|
77
80
|
if (!config.getProjectRoot()) {
|
78
81
|
return;
|
@@ -455,7 +458,10 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
|
|
455
458
|
}
|
456
459
|
scheduleToolCalls(toolCallRequests, signal);
|
457
460
|
}
|
458
|
-
return
|
461
|
+
return {
|
462
|
+
status: StreamProcessingStatus.Completed,
|
463
|
+
hadToolCalls: toolCallRequests.length > 0,
|
464
|
+
};
|
459
465
|
}, [
|
460
466
|
handleContentEvent,
|
461
467
|
handleUserCancelledEvent,
|
@@ -496,8 +502,8 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
|
|
496
502
|
try {
|
497
503
|
onDebugMessage(`[Submit] Sending message to Gemini: ${typeof queryToSend === 'string' ? queryToSend : 'non-string content'}`);
|
498
504
|
const stream = geminiClient.sendMessageStream(queryToSend, abortSignal, prompt_id);
|
499
|
-
const
|
500
|
-
if (
|
505
|
+
const processingResult = await processGeminiStreamEvents(stream, userMessageTimestamp, abortSignal);
|
506
|
+
if (processingResult.status === StreamProcessingStatus.UserCancelled) {
|
501
507
|
return;
|
502
508
|
}
|
503
509
|
if (pendingHistoryItemRef.current) {
|
@@ -508,6 +514,10 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
|
|
508
514
|
loopDetectedRef.current = false;
|
509
515
|
handleLoopDetectedEvent();
|
510
516
|
}
|
517
|
+
// TODO: Continuation hook integration point - stub implementation
|
518
|
+
// This triggers todo continuation logic when stream completes
|
519
|
+
// without tool calls but with active todos
|
520
|
+
_handleStreamCompleted(processingResult.hadToolCalls);
|
511
521
|
}
|
512
522
|
catch (error) {
|
513
523
|
if (error instanceof UnauthorizedError) {
|
@@ -552,6 +562,7 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
|
|
552
562
|
getPromptCount,
|
553
563
|
handleLoopDetectedEvent,
|
554
564
|
onDebugMessage,
|
565
|
+
_handleStreamCompleted,
|
555
566
|
]);
|
556
567
|
const handleCompletedTools = useCallback(async (completedToolCallsFromScheduler) => {
|
557
568
|
if (isResponding) {
|