@defai.digital/ax-cli 3.7.1 → 3.8.1
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 +143 -56
- package/dist/agent/context-manager.d.ts +15 -1
- package/dist/agent/context-manager.js +50 -19
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/dependency-resolver.js +13 -7
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +35 -0
- package/dist/agent/llm-agent.js +137 -4
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/status-reporter.d.ts +114 -0
- package/dist/agent/status-reporter.js +335 -0
- package/dist/agent/status-reporter.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js +8 -2
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js.map +1 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js +3 -1
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js.map +1 -1
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js +9 -3
- package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js.map +1 -1
- package/dist/analyzers/git/churn-calculator.d.ts +1 -0
- package/dist/analyzers/git/churn-calculator.js +25 -6
- package/dist/analyzers/git/churn-calculator.js.map +1 -1
- package/dist/analyzers/git/hotspot-detector.js +2 -2
- package/dist/analyzers/git/hotspot-detector.js.map +1 -1
- package/dist/analyzers/metrics/metrics-analyzer.js +1 -1
- package/dist/analyzers/metrics/metrics-analyzer.js.map +1 -1
- package/dist/analyzers/security/security-analyzer.js +1 -1
- package/dist/analyzers/security/security-analyzer.js.map +1 -1
- package/dist/checkpoint/manager.d.ts +1 -0
- package/dist/checkpoint/manager.js +49 -9
- package/dist/checkpoint/manager.js.map +1 -1
- package/dist/checkpoint/storage.js +2 -2
- package/dist/checkpoint/storage.js.map +1 -1
- package/dist/commands/mcp-migrate.d.ts +9 -0
- package/dist/commands/mcp-migrate.js +172 -0
- package/dist/commands/mcp-migrate.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.js +211 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/vscode.d.ts +7 -0
- package/dist/commands/vscode.js +363 -0
- package/dist/commands/vscode.js.map +1 -0
- package/dist/index.js +79 -30
- package/dist/index.js.map +1 -1
- package/dist/llm/client.js +22 -4
- package/dist/llm/client.js.map +1 -1
- package/dist/mcp/automatosx-loader.d.ts +84 -0
- package/dist/mcp/automatosx-loader.js +238 -0
- package/dist/mcp/automatosx-loader.js.map +1 -0
- package/dist/mcp/client-mutex-patch.d.ts +36 -0
- package/dist/mcp/client-mutex-patch.js +75 -0
- package/dist/mcp/client-mutex-patch.js.map +1 -0
- package/dist/mcp/client-v2.d.ts +229 -0
- package/dist/mcp/client-v2.js +740 -0
- package/dist/mcp/client-v2.js.map +1 -0
- package/dist/mcp/client.d.ts +111 -13
- package/dist/mcp/client.js +168 -253
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config-detector-v2.d.ts +83 -0
- package/dist/mcp/config-detector-v2.js +328 -0
- package/dist/mcp/config-detector-v2.js.map +1 -0
- package/dist/mcp/config-detector.d.ts +90 -0
- package/dist/mcp/config-detector.js +242 -0
- package/dist/mcp/config-detector.js.map +1 -0
- package/dist/mcp/config-migrator-v2.d.ts +89 -0
- package/dist/mcp/config-migrator-v2.js +288 -0
- package/dist/mcp/config-migrator-v2.js.map +1 -0
- package/dist/mcp/config-migrator.d.ts +63 -0
- package/dist/mcp/config-migrator.js +269 -0
- package/dist/mcp/config-migrator.js.map +1 -0
- package/dist/mcp/config-v2.d.ts +106 -0
- package/dist/mcp/config-v2.js +417 -0
- package/dist/mcp/config-v2.js.map +1 -0
- package/dist/mcp/config.d.ts +12 -1
- package/dist/mcp/config.js +95 -10
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/error-formatter.d.ts +46 -0
- package/dist/mcp/error-formatter.js +244 -0
- package/dist/mcp/error-formatter.js.map +1 -0
- package/dist/mcp/health.d.ts +5 -0
- package/dist/mcp/health.js +22 -2
- package/dist/mcp/health.js.map +1 -1
- package/dist/mcp/invariants.d.ts +141 -0
- package/dist/mcp/invariants.js +243 -0
- package/dist/mcp/invariants.js.map +1 -0
- package/dist/mcp/mutex-safe.d.ts +153 -0
- package/dist/mcp/mutex-safe.js +260 -0
- package/dist/mcp/mutex-safe.js.map +1 -0
- package/dist/mcp/mutex.d.ts +73 -0
- package/dist/mcp/mutex.js +130 -0
- package/dist/mcp/mutex.js.map +1 -0
- package/dist/mcp/reconnection.d.ts +4 -0
- package/dist/mcp/reconnection.js +15 -0
- package/dist/mcp/reconnection.js.map +1 -1
- package/dist/mcp/transports-v2.d.ts +152 -0
- package/dist/mcp/transports-v2.js +481 -0
- package/dist/mcp/transports-v2.js.map +1 -0
- package/dist/mcp/type-safety.d.ts +231 -0
- package/dist/mcp/type-safety.js +273 -0
- package/dist/mcp/type-safety.js.map +1 -0
- package/dist/planner/task-planner.js +13 -0
- package/dist/planner/task-planner.js.map +1 -1
- package/dist/planner/types.d.ts +6 -6
- package/dist/schemas/confirmation-schemas.d.ts +2 -2
- package/dist/schemas/settings-schemas.d.ts +196 -0
- package/dist/schemas/settings-schemas.js +146 -5
- package/dist/schemas/settings-schemas.js.map +1 -1
- package/dist/sdk/index.d.ts +118 -2
- package/dist/sdk/index.js +146 -4
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +182 -0
- package/dist/sdk/testing.js +231 -0
- package/dist/sdk/testing.js.map +1 -1
- package/dist/sdk/version.d.ts +114 -15
- package/dist/sdk/version.js +137 -15
- package/dist/sdk/version.js.map +1 -1
- package/dist/tools/bash.js +54 -9
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/registry.d.ts +146 -0
- package/dist/tools/registry.js +170 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search.js +12 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/text-editor.js +84 -26
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/ui/components/chat-history.js +6 -1
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.d.ts +2 -1
- package/dist/ui/components/chat-input.js +5 -2
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/chat-interface.js +187 -5
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/context-breakdown.d.ts +23 -0
- package/dist/ui/components/context-breakdown.js +124 -0
- package/dist/ui/components/context-breakdown.js.map +1 -0
- package/dist/ui/components/keyboard-help.d.ts +17 -0
- package/dist/ui/components/keyboard-help.js +116 -0
- package/dist/ui/components/keyboard-help.js.map +1 -0
- package/dist/ui/components/keyboard-hints.js +2 -2
- package/dist/ui/components/keyboard-hints.js.map +1 -1
- package/dist/ui/components/quick-actions.js +43 -7
- package/dist/ui/components/quick-actions.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +3 -0
- package/dist/ui/components/status-bar.js +25 -16
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/components/toast-notification.d.ts +42 -0
- package/dist/ui/components/toast-notification.js +30 -2
- package/dist/ui/components/toast-notification.js.map +1 -1
- package/dist/ui/components/tool-group-display.js +34 -4
- package/dist/ui/components/tool-group-display.js.map +1 -1
- package/dist/ui/components/welcome-panel.js +2 -2
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +9 -1
- package/dist/ui/hooks/use-enhanced-input.js +486 -41
- package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
- package/dist/ui/hooks/use-input-handler.d.ts +11 -1
- package/dist/ui/hooks/use-input-handler.js +67 -3
- package/dist/ui/hooks/use-input-handler.js.map +1 -1
- package/dist/ui/hooks/use-input-history.d.ts +1 -1
- package/dist/ui/hooks/use-input-history.js +50 -14
- package/dist/ui/hooks/use-input-history.js.map +1 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +97 -0
- package/dist/ui/utils/bracketed-paste-handler.js +322 -0
- package/dist/ui/utils/bracketed-paste-handler.js.map +1 -0
- package/dist/ui/utils/change-summarizer.js +16 -6
- package/dist/ui/utils/change-summarizer.js.map +1 -1
- package/dist/ui/utils/tool-grouper.d.ts +10 -1
- package/dist/ui/utils/tool-grouper.js +143 -30
- package/dist/ui/utils/tool-grouper.js.map +1 -1
- package/dist/utils/auto-accept-logger.d.ts +173 -0
- package/dist/utils/auto-accept-logger.js +420 -0
- package/dist/utils/auto-accept-logger.js.map +1 -0
- package/dist/utils/background-task-manager.d.ts +11 -0
- package/dist/utils/background-task-manager.js +124 -38
- package/dist/utils/background-task-manager.js.map +1 -1
- package/dist/utils/confirmation-service.d.ts +1 -0
- package/dist/utils/confirmation-service.js +6 -1
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/encryption.d.ts +8 -0
- package/dist/utils/encryption.js +44 -27
- package/dist/utils/encryption.js.map +1 -1
- package/dist/utils/enhanced-error-messages.d.ts +33 -0
- package/dist/utils/enhanced-error-messages.js +420 -0
- package/dist/utils/enhanced-error-messages.js.map +1 -0
- package/dist/utils/error-handler.d.ts +13 -3
- package/dist/utils/error-handler.js +16 -4
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/external-editor.d.ts +47 -0
- package/dist/utils/external-editor.js +179 -0
- package/dist/utils/external-editor.js.map +1 -0
- package/dist/utils/history-migration.d.ts +9 -0
- package/dist/utils/history-migration.js +36 -0
- package/dist/utils/history-migration.js.map +1 -0
- package/dist/utils/paste-utils.js +12 -11
- package/dist/utils/paste-utils.js.map +1 -1
- package/dist/utils/rate-limiter.js +7 -0
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/safety-rules.d.ts +64 -0
- package/dist/utils/safety-rules.js +225 -0
- package/dist/utils/safety-rules.js.map +1 -0
- package/dist/utils/settings-manager.d.ts +89 -1
- package/dist/utils/settings-manager.js +359 -3
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/utils/token-counter.d.ts +2 -0
- package/dist/utils/token-counter.js +17 -4
- package/dist/utils/token-counter.js.map +1 -1
- package/dist/utils/version.d.ts +11 -2
- package/dist/utils/version.js +54 -21
- package/dist/utils/version.js.map +1 -1
- package/package.json +2 -1
|
@@ -9,6 +9,8 @@ import { StatusBar } from "./status-bar.js";
|
|
|
9
9
|
import { QuickActions } from "./quick-actions.js";
|
|
10
10
|
import { WelcomePanel } from "./welcome-panel.js";
|
|
11
11
|
import ConfirmationDialog from "./confirmation-dialog.js";
|
|
12
|
+
import { KeyboardHelp } from "./keyboard-help.js"; // P1.4
|
|
13
|
+
import { ContextBreakdown } from "./context-breakdown.js"; // P1.3
|
|
12
14
|
import { ToastContainer, useToasts, TOAST_MESSAGES } from "./toast-notification.js";
|
|
13
15
|
import { ConfirmationService, } from "../../utils/confirmation-service.js";
|
|
14
16
|
import ApiKeyInput from "./api-key-input.js";
|
|
@@ -17,12 +19,50 @@ import { getHistoryManager } from "../../utils/history-manager.js";
|
|
|
17
19
|
import { getMcpConnectionCount } from "../../llm/tools.js";
|
|
18
20
|
import { BackgroundTaskManager } from "../../utils/background-task-manager.js";
|
|
19
21
|
import { isAutomatosXAvailable } from "../../utils/automatosx-detector.js";
|
|
22
|
+
import { PhaseProgress } from "./phase-progress.js";
|
|
23
|
+
import { GLM_MODELS } from "../../constants.js"; // P1.3
|
|
24
|
+
import { getSettingsManager } from "../../utils/settings-manager.js"; // P1.3
|
|
20
25
|
import clipboardy from "clipboardy";
|
|
21
26
|
import path from "path";
|
|
22
27
|
// Get current project folder name
|
|
23
28
|
function getCurrentProjectName() {
|
|
24
29
|
return path.basename(process.cwd());
|
|
25
30
|
}
|
|
31
|
+
// P1.3: Calculate context breakdown by category
|
|
32
|
+
function calculateContextBreakdown(totalTokens) {
|
|
33
|
+
// Estimates based on typical usage patterns
|
|
34
|
+
// TODO: Get actual values from agent in future enhancement
|
|
35
|
+
const systemInstructions = Math.floor(totalTokens * 0.15); // ~15% for system prompts
|
|
36
|
+
const claudeMd = Math.floor(totalTokens * 0.05); // ~5% for CLAUDE.md if present
|
|
37
|
+
const toolDefinitions = Math.floor(totalTokens * 0.05); // ~5% for tool definitions
|
|
38
|
+
const conversationHistory = totalTokens - systemInstructions - claudeMd - toolDefinitions;
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
label: "System Instructions",
|
|
42
|
+
tokens: systemInstructions,
|
|
43
|
+
percentage: (systemInstructions / totalTokens) * 100,
|
|
44
|
+
color: "blue",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "CLAUDE.md",
|
|
48
|
+
tokens: claudeMd,
|
|
49
|
+
percentage: (claudeMd / totalTokens) * 100,
|
|
50
|
+
color: "magenta",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: "Conversation History",
|
|
54
|
+
tokens: conversationHistory,
|
|
55
|
+
percentage: (conversationHistory / totalTokens) * 100,
|
|
56
|
+
color: "cyan",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
label: "Tool Definitions",
|
|
60
|
+
tokens: toolDefinitions,
|
|
61
|
+
percentage: (toolDefinitions / totalTokens) * 100,
|
|
62
|
+
color: "yellow",
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
}
|
|
26
66
|
// Main chat component that handles input when agent is available
|
|
27
67
|
function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = false, }) {
|
|
28
68
|
// Memoize history manager to avoid unnecessary function calls on every render
|
|
@@ -40,11 +80,17 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
40
80
|
const [showAutoPrune, setShowAutoPrune] = useState(false);
|
|
41
81
|
const [confirmationOptions, setConfirmationOptions] = useState(null);
|
|
42
82
|
const [showQuickActions, setShowQuickActions] = useState(false);
|
|
83
|
+
const [showKeyboardHelp, setShowKeyboardHelp] = useState(false); // P1.4: Keyboard shortcuts help
|
|
84
|
+
const [showContextBreakdown, setShowContextBreakdown] = useState(false); // P1.3: Context window visualization
|
|
43
85
|
// Flash states for mode toggle visual feedback
|
|
44
86
|
const [flashAutoEdit, setFlashAutoEdit] = useState(false);
|
|
45
87
|
const [flashVerbose, setFlashVerbose] = useState(false);
|
|
46
88
|
const [flashBackground, setFlashBackground] = useState(false);
|
|
89
|
+
const [flashThinkingMode, _setFlashThinkingMode] = useState(false); // Phase 2: Thinking mode flash (P2.4: Used by handleThinkingModeChange)
|
|
90
|
+
const [isThinking, setIsThinking] = useState(false); // Phase 2: Currently processing with reasoning
|
|
47
91
|
const [axEnabled, setAxEnabled] = useState(false);
|
|
92
|
+
// NEW: Plan tracking for multi-phase execution
|
|
93
|
+
const [currentPlan, setCurrentPlan] = useState(null);
|
|
48
94
|
const scrollRef = useRef();
|
|
49
95
|
const processingStartTime = useRef(0);
|
|
50
96
|
const lastPercentageRef = useRef(0); // Store last percentage value
|
|
@@ -80,6 +126,85 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
80
126
|
flashTimersRef.current = [];
|
|
81
127
|
};
|
|
82
128
|
}, []);
|
|
129
|
+
// NEW: Listen for plan events from agent for real-time phase progress tracking
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
// BUG FIX: Track plan timeouts for cleanup to prevent setState on unmounted component
|
|
132
|
+
const planTimers = [];
|
|
133
|
+
const handlePlanCreated = (data) => {
|
|
134
|
+
setCurrentPlan(data.plan);
|
|
135
|
+
};
|
|
136
|
+
const handlePlanCompleted = () => {
|
|
137
|
+
// Keep plan visible briefly after completion to show success
|
|
138
|
+
// BUG FIX: Track timer for cleanup
|
|
139
|
+
const timer = setTimeout(() => setCurrentPlan(null), 3000);
|
|
140
|
+
planTimers.push(timer);
|
|
141
|
+
};
|
|
142
|
+
const handlePlanFailed = () => {
|
|
143
|
+
// Keep plan visible longer to show failure state
|
|
144
|
+
// BUG FIX: Track timer for cleanup
|
|
145
|
+
const timer = setTimeout(() => setCurrentPlan(null), 5000);
|
|
146
|
+
planTimers.push(timer);
|
|
147
|
+
};
|
|
148
|
+
const handlePhaseStarted = (data) => {
|
|
149
|
+
// Update current phase index for visual progress
|
|
150
|
+
setCurrentPlan((prevPlan) => {
|
|
151
|
+
if (!prevPlan || prevPlan.id !== data.planId)
|
|
152
|
+
return prevPlan;
|
|
153
|
+
return {
|
|
154
|
+
...prevPlan,
|
|
155
|
+
currentPhaseIndex: data.phase.index,
|
|
156
|
+
phases: prevPlan.phases.map(p => p.id === data.phase.id ? { ...p, status: data.phase.status } : p),
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
const handlePhaseCompleted = (data) => {
|
|
161
|
+
// Update phase status and duration
|
|
162
|
+
setCurrentPlan((prevPlan) => {
|
|
163
|
+
if (!prevPlan || prevPlan.id !== data.planId)
|
|
164
|
+
return prevPlan;
|
|
165
|
+
return {
|
|
166
|
+
...prevPlan,
|
|
167
|
+
phasesCompleted: prevPlan.phasesCompleted + 1,
|
|
168
|
+
phases: prevPlan.phases.map(p => p.id === data.phase.id
|
|
169
|
+
? { ...p, status: data.phase.status, duration: data.phase.duration }
|
|
170
|
+
: p),
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
const handlePhaseFailed = (data) => {
|
|
175
|
+
// Update phase status with error
|
|
176
|
+
setCurrentPlan((prevPlan) => {
|
|
177
|
+
if (!prevPlan || prevPlan.id !== data.planId)
|
|
178
|
+
return prevPlan;
|
|
179
|
+
return {
|
|
180
|
+
...prevPlan,
|
|
181
|
+
phasesFailed: prevPlan.phasesFailed + 1,
|
|
182
|
+
phases: prevPlan.phases.map(p => p.id === data.phase.id
|
|
183
|
+
? { ...p, status: data.phase.status, error: data.error }
|
|
184
|
+
: p),
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
// Register event listeners
|
|
189
|
+
agent.on('plan:created', handlePlanCreated);
|
|
190
|
+
agent.on('plan:completed', handlePlanCompleted);
|
|
191
|
+
agent.on('plan:failed', handlePlanFailed);
|
|
192
|
+
agent.on('phase:started', handlePhaseStarted);
|
|
193
|
+
agent.on('phase:completed', handlePhaseCompleted);
|
|
194
|
+
agent.on('phase:failed', handlePhaseFailed);
|
|
195
|
+
// Cleanup on unmount
|
|
196
|
+
return () => {
|
|
197
|
+
// BUG FIX: Clear all plan timers to prevent setState on unmounted component
|
|
198
|
+
planTimers.forEach(timer => clearTimeout(timer));
|
|
199
|
+
// Remove event listeners
|
|
200
|
+
agent.off('plan:created', handlePlanCreated);
|
|
201
|
+
agent.off('plan:completed', handlePlanCompleted);
|
|
202
|
+
agent.off('plan:failed', handlePlanFailed);
|
|
203
|
+
agent.off('phase:started', handlePhaseStarted);
|
|
204
|
+
agent.off('phase:completed', handlePhaseCompleted);
|
|
205
|
+
agent.off('phase:failed', handlePhaseFailed);
|
|
206
|
+
};
|
|
207
|
+
}, [agent]);
|
|
83
208
|
// Mode toggle handlers with toast feedback
|
|
84
209
|
const handleVerboseModeChange = useCallback((enabled) => {
|
|
85
210
|
triggerFlash(setFlashVerbose);
|
|
@@ -93,6 +218,24 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
93
218
|
triggerFlash(setFlashAutoEdit);
|
|
94
219
|
addToast(enabled ? TOAST_MESSAGES.autoEditOn : TOAST_MESSAGES.autoEditOff);
|
|
95
220
|
}, [triggerFlash, addToast]);
|
|
221
|
+
// P2.4: Thinking mode toggle handler
|
|
222
|
+
const handleThinkingModeChange = useCallback((enabled) => {
|
|
223
|
+
triggerFlash(_setFlashThinkingMode);
|
|
224
|
+
addToast(enabled ? TOAST_MESSAGES.thinkingOn : TOAST_MESSAGES.thinkingOff);
|
|
225
|
+
}, [triggerFlash, addToast]);
|
|
226
|
+
// P2.3: External editor handlers
|
|
227
|
+
const handleEditorOpening = useCallback((editorName) => {
|
|
228
|
+
addToast(TOAST_MESSAGES.editorOpening(editorName));
|
|
229
|
+
}, [addToast]);
|
|
230
|
+
const handleEditorSuccess = useCallback(() => {
|
|
231
|
+
addToast(TOAST_MESSAGES.editorSuccess);
|
|
232
|
+
}, [addToast]);
|
|
233
|
+
const handleEditorCancelled = useCallback(() => {
|
|
234
|
+
addToast(TOAST_MESSAGES.editorCancelled);
|
|
235
|
+
}, [addToast]);
|
|
236
|
+
const handleEditorError = useCallback((error) => {
|
|
237
|
+
addToast(TOAST_MESSAGES.editorError(error));
|
|
238
|
+
}, [addToast]);
|
|
96
239
|
const handleTaskMovedToBackground = useCallback((taskId) => {
|
|
97
240
|
addToast(TOAST_MESSAGES.taskMoved(taskId));
|
|
98
241
|
}, [addToast]);
|
|
@@ -102,6 +245,15 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
102
245
|
const handleChatCleared = useCallback(() => {
|
|
103
246
|
addToast(TOAST_MESSAGES.cleared);
|
|
104
247
|
}, [addToast]);
|
|
248
|
+
// Phase 3: Large paste handling
|
|
249
|
+
const handleLargePaste = useCallback((charCount) => {
|
|
250
|
+
// Only show warning toast if not truncating (allowLargePaste = true)
|
|
251
|
+
// Otherwise the truncation toast will be more informative
|
|
252
|
+
addToast(TOAST_MESSAGES.pasteTruncationDisabled(charCount));
|
|
253
|
+
}, [addToast]);
|
|
254
|
+
const handlePasteTruncated = useCallback((originalLength, truncatedLength) => {
|
|
255
|
+
addToast(TOAST_MESSAGES.pasteTruncated(originalLength, truncatedLength));
|
|
256
|
+
}, [addToast]);
|
|
105
257
|
// Keep chatHistoryRef in sync
|
|
106
258
|
useEffect(() => {
|
|
107
259
|
chatHistoryRef.current = chatHistory;
|
|
@@ -135,7 +287,9 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
135
287
|
const handleCheckpointRestored = useCallback(() => {
|
|
136
288
|
addToast(TOAST_MESSAGES.checkpointRestored);
|
|
137
289
|
}, [addToast]);
|
|
138
|
-
const { input, cursorPosition, showCommandSuggestions, selectedCommandIndex, commandSuggestions, autoEditEnabled, verboseMode, verbosityLevel, backgroundMode,
|
|
290
|
+
const { input, cursorPosition, showCommandSuggestions, selectedCommandIndex, commandSuggestions, autoEditEnabled, verboseMode, verbosityLevel, backgroundMode, thinkingModeEnabled, // P2.4: Thinking mode state
|
|
291
|
+
pastedBlocks, currentBlockAtCursor, isPasting, // v3.8.0: Track paste accumulation state
|
|
292
|
+
} = useInputHandler({
|
|
139
293
|
agent,
|
|
140
294
|
chatHistory,
|
|
141
295
|
setChatHistory,
|
|
@@ -151,6 +305,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
151
305
|
onVerboseModeChange: handleVerboseModeChange,
|
|
152
306
|
onBackgroundModeChange: handleBackgroundModeChange,
|
|
153
307
|
onAutoEditModeChange: handleAutoEditModeChange,
|
|
308
|
+
onThinkingModeChange: handleThinkingModeChange, // P2.4: Thinking mode toggle
|
|
154
309
|
onTaskMovedToBackground: handleTaskMovedToBackground,
|
|
155
310
|
onOperationInterrupted: handleOperationInterrupted,
|
|
156
311
|
onChatCleared: handleChatCleared,
|
|
@@ -159,6 +314,13 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
159
314
|
onMemoryRefreshed: handleMemoryRefreshed,
|
|
160
315
|
onCheckpointCreated: handleCheckpointCreated,
|
|
161
316
|
onCheckpointRestored: handleCheckpointRestored,
|
|
317
|
+
onLargePaste: handleLargePaste, // Phase 3: Large paste warning
|
|
318
|
+
onPasteTruncated: handlePasteTruncated, // Phase 3: Paste truncation notification
|
|
319
|
+
onKeyboardHelp: () => setShowKeyboardHelp((prev) => !prev), // P1.4: Toggle keyboard help
|
|
320
|
+
onEditorOpening: handleEditorOpening, // P2.3: External editor opening
|
|
321
|
+
onEditorSuccess: handleEditorSuccess, // P2.3: External editor success
|
|
322
|
+
onEditorCancelled: handleEditorCancelled, // P2.3: External editor cancelled
|
|
323
|
+
onEditorError: handleEditorError, // P2.3: External editor error
|
|
162
324
|
});
|
|
163
325
|
useEffect(() => {
|
|
164
326
|
// Only clear console on non-Windows platforms or if not PowerShell
|
|
@@ -196,6 +358,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
196
358
|
case "reasoning":
|
|
197
359
|
// Handle reasoning content from GLM-4.6 thinking mode
|
|
198
360
|
if (chunk.reasoningContent) {
|
|
361
|
+
setIsThinking(true); // Phase 2: Indicate active reasoning
|
|
199
362
|
if (!streamingEntry) {
|
|
200
363
|
const newStreamingEntry = {
|
|
201
364
|
type: "assistant",
|
|
@@ -293,6 +456,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
293
456
|
}
|
|
294
457
|
break;
|
|
295
458
|
case "done":
|
|
459
|
+
setIsThinking(false); // Phase 2: Clear thinking state when done
|
|
296
460
|
if (streamingEntry) {
|
|
297
461
|
setChatHistory((prev) => prev.map((entry) => entry.isStreaming ? { ...entry, isStreaming: false } : entry));
|
|
298
462
|
}
|
|
@@ -473,20 +637,38 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
473
637
|
if (command === "exit") {
|
|
474
638
|
process.exit(0);
|
|
475
639
|
}
|
|
640
|
+
// P1.3: Handle /context command
|
|
641
|
+
if (command === "/context") {
|
|
642
|
+
setShowContextBreakdown(true);
|
|
643
|
+
return;
|
|
644
|
+
}
|
|
476
645
|
// For slash commands, we'll need to trigger processing
|
|
477
646
|
// This can be done by directly calling the input handler or agent
|
|
478
647
|
};
|
|
479
648
|
return (React.createElement(Box, { flexDirection: "column", paddingX: 2 },
|
|
480
|
-
chatHistory.length === 0 && !confirmationOptions && !showQuickActions && (React.createElement(WelcomePanel, { projectName: projectName })),
|
|
649
|
+
chatHistory.length === 0 && !confirmationOptions && !showQuickActions && !showKeyboardHelp && !showContextBreakdown && (React.createElement(WelcomePanel, { projectName: projectName })),
|
|
650
|
+
currentPlan && !confirmationOptions && (React.createElement(Box, { marginBottom: 1 },
|
|
651
|
+
React.createElement(PhaseProgress, { plan: currentPlan, compact: true }))),
|
|
481
652
|
React.createElement(Box, { flexDirection: "column", ref: scrollRef },
|
|
482
653
|
React.createElement(ChatHistory, { entries: chatHistory, isConfirmationActive: !!confirmationOptions, verboseMode: verboseMode, verbosityLevel: verbosityLevel })),
|
|
483
654
|
showQuickActions && (React.createElement(QuickActions, { isVisible: showQuickActions, onSelect: handleQuickActionSelect, onClose: () => setShowQuickActions(false) })),
|
|
655
|
+
showKeyboardHelp && (React.createElement(KeyboardHelp, { onClose: () => setShowKeyboardHelp(false), verbosityLevel: verbosityLevel, backgroundMode: backgroundMode, autoEditEnabled: autoEditEnabled })),
|
|
656
|
+
showContextBreakdown && (() => {
|
|
657
|
+
// Calculate current and max tokens
|
|
658
|
+
const settingsManager = getSettingsManager();
|
|
659
|
+
const model = settingsManager.getCurrentModel();
|
|
660
|
+
const modelConfig = GLM_MODELS[model];
|
|
661
|
+
const maxTokens = modelConfig?.contextWindow || 200000;
|
|
662
|
+
const currentTokens = Math.floor(maxTokens * (1 - contextPercentage / 100));
|
|
663
|
+
const categories = calculateContextBreakdown(currentTokens);
|
|
664
|
+
return (React.createElement(ContextBreakdown, { onClose: () => setShowContextBreakdown(false), currentTokens: currentTokens, maxTokens: maxTokens, categories: categories }));
|
|
665
|
+
})(),
|
|
484
666
|
confirmationOptions && (React.createElement(ConfirmationDialog, { operation: confirmationOptions.operation, filename: confirmationOptions.filename, showVSCodeOpen: confirmationOptions.showVSCodeOpen, content: confirmationOptions.content, onConfirm: handleConfirmation, onReject: handleRejection })),
|
|
485
|
-
!confirmationOptions && !showQuickActions && (React.createElement(React.Fragment, null,
|
|
667
|
+
!confirmationOptions && !showQuickActions && !showKeyboardHelp && !showContextBreakdown && (React.createElement(React.Fragment, null,
|
|
486
668
|
React.createElement(LoadingSpinner, { isActive: isProcessing || isStreaming, processingTime: processingTime, tokenCount: tokenCount }),
|
|
487
|
-
React.createElement(ChatInput, { input: input, cursorPosition: cursorPosition, isProcessing: isProcessing, isStreaming: isStreaming, pastedBlocks: pastedBlocks, currentBlockAtCursor: currentBlockAtCursor }),
|
|
669
|
+
React.createElement(ChatInput, { input: input, cursorPosition: cursorPosition, isProcessing: isProcessing, isStreaming: isStreaming, pastedBlocks: pastedBlocks, currentBlockAtCursor: currentBlockAtCursor, isPasting: isPasting }),
|
|
488
670
|
toasts.length > 0 && (React.createElement(ToastContainer, { toasts: toasts, onDismiss: removeToast, maxVisible: 2 })),
|
|
489
|
-
React.createElement(StatusBar, { projectName: projectName, version: version, model: agent.getCurrentModel(), contextPercentage: contextPercentage, showAutoPrune: showAutoPrune, autoEditEnabled: autoEditEnabled, verboseMode: verboseMode, verbosityLevel: verbosityLevel, backgroundMode: backgroundMode, mcpServerCount: mcpServerCount, backgroundTaskCount: backgroundTaskCount, isProcessing: isProcessing || isStreaming, processingTime: processingTime, tokenCount: tokenCount, flashAutoEdit: flashAutoEdit, flashVerbose: flashVerbose, flashBackground: flashBackground, axEnabled: axEnabled }),
|
|
671
|
+
React.createElement(StatusBar, { projectName: projectName, version: version, model: agent.getCurrentModel(), contextPercentage: contextPercentage, showAutoPrune: showAutoPrune, autoEditEnabled: autoEditEnabled, verboseMode: verboseMode, verbosityLevel: verbosityLevel, backgroundMode: backgroundMode, mcpServerCount: mcpServerCount, backgroundTaskCount: backgroundTaskCount, isProcessing: isProcessing || isStreaming, processingTime: processingTime, tokenCount: tokenCount, flashAutoEdit: flashAutoEdit, flashVerbose: flashVerbose, flashBackground: flashBackground, axEnabled: axEnabled, thinkingModeEnabled: thinkingModeEnabled, flashThinkingMode: flashThinkingMode, isThinking: isThinking }),
|
|
490
672
|
React.createElement(CommandSuggestions, { suggestions: commandSuggestions, input: input, selectedIndex: selectedCommandIndex, isVisible: showCommandSuggestions })))));
|
|
491
673
|
}
|
|
492
674
|
// Main component that handles API key input or chat interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-interface.js","sourceRoot":"","sources":["../../../src/ui/components/chat-interface.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-interface.js","sourceRoot":"","sources":["../../../src/ui/components/chat-interface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC,CAAC,OAAO;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC,CAAC,OAAO;AAClE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EACL,mBAAmB,GAEpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC,CAAC,OAAO;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC,CAAC,OAAO;AAC7E,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,kCAAkC;AAClC,SAAS,qBAAqB;IAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,gDAAgD;AAChD,SAAS,yBAAyB,CAChC,WAAmB;IAEnB,4CAA4C;IAC5C,2DAA2D;IAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,0BAA0B;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,+BAA+B;IAChF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,2BAA2B;IACnF,MAAM,mBAAmB,GAAG,WAAW,GAAG,kBAAkB,GAAG,QAAQ,GAAG,eAAe,CAAC;IAE1F,OAAO;QACL;YACE,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,GAAG;YACpD,KAAK,EAAE,MAAM;SACd;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,GAAG;YAC1C,KAAK,EAAE,SAAS;SACjB;QACD;YACE,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,CAAC,mBAAmB,GAAG,WAAW,CAAC,GAAG,GAAG;YACrD,KAAK,EAAE,MAAM;SACd;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,GAAG;YACjD,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,SAAS,sBAAsB,CAAC,EAC9B,KAAK,EACL,cAAc,EACd,mBAAmB,GAAG,KAAK,GAK5B;IACC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE;QAC/D,oDAAoD;QACpD,OAAO,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,iFAAiF;IACjF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACjD,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAgC;IACjG,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,qCAAqC;IAC9G,+CAA+C;IAC/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,wEAAwE;IAC5I,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,+CAA+C;IACpG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,+CAA+C;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,EAAO,CAAC;IAChC,MAAM,mBAAmB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B;IAC3E,MAAM,wBAAwB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B;IAClF,MAAM,sBAAsB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC,CAAC,yCAAyC;IAChG,MAAM,cAAc,GAAG,MAAM,CAAmB,EAAE,CAAC,CAAC,CAAC,iCAAiC;IACtF,MAAM,cAAc,GAAG,MAAM,CAAc,WAAW,CAAC,CAAC,CAAC,6BAA6B;IAEtF,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEtD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAChD,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4DAA4D;IAE5D,+DAA+D;IAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,MAAqD,EAAE,EAAE;QACzF,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,qCAAqC;QACrC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,+EAA+E;IAC/E,SAAS,CAAC,GAAG,EAAE;QACb,sFAAsF;QACtF,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,MAAM,iBAAiB,GAAG,CAAC,IAAwB,EAAE,EAAE;YACrD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,6DAA6D;YAC7D,mCAAmC;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3D,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,iDAAiD;YACjD,mCAAmC;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3D,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,IAAoC,EAAE,EAAE;YAClE,iDAAiD;YACjD,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO,QAAQ,CAAC;gBAC9D,OAAO;oBACL,GAAG,QAAQ;oBACX,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;oBACnC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACjE;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,IAAoC,EAAE,EAAE;YACpE,mCAAmC;YACnC,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO,QAAQ,CAAC;gBAC9D,OAAO;oBACL,GAAG,QAAQ;oBACX,eAAe,EAAE,QAAQ,CAAC,eAAe,GAAG,CAAC;oBAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;wBACpB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;wBACpE,CAAC,CAAC,CAAC,CACN;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,IAAoD,EAAE,EAAE;YACjF,iCAAiC;YACjC,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO,QAAQ,CAAC;gBAC9D,OAAO;oBACL,GAAG,QAAQ;oBACX,YAAY,EAAE,QAAQ,CAAC,YAAY,GAAG,CAAC;oBACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;wBACpB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;wBACxD,CAAC,CAAC,CAAC,CACN;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,2BAA2B;QAC3B,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC1C,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;QAClD,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAE5C,qBAAqB;QACrB,OAAO,GAAG,EAAE;YACV,4EAA4E;YAC5E,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAEjD,yBAAyB;YACzB,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC7C,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;YACjD,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAC/C,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;YACnD,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,2CAA2C;IAC3C,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,OAAgB,EAAE,EAAE;QAC/D,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,MAAM,0BAA0B,GAAG,WAAW,CAAC,CAAC,OAAgB,EAAE,EAAE;QAClE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACjC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjF,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,OAAgB,EAAE,EAAE;QAChE,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,qCAAqC;IACrC,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,OAAgB,EAAE,EAAE;QAChE,YAAY,CAAC,qBAAqB,CAAC,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,iCAAiC;IACjC,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,UAAkB,EAAE,EAAE;QAC7D,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACtD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,2BAA2B,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACjE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE;QAClD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QACzD,qEAAqE;QACrE,0DAA0D;QAC1D,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,cAAsB,EAAE,eAAuB,EAAE,EAAE;QAC3F,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,8BAA8B;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,kBAAkB,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC3G,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACjD,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACxD,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,EAAE;QAChD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,EACJ,KAAK,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EAAG,4BAA4B;IAClD,YAAY,EACZ,oBAAoB,EACpB,SAAS,EAAE,yCAAyC;MACrD,GAAG,eAAe,CAAC;QAClB,KAAK;QACL,WAAW;QACX,cAAc;QACd,eAAe;QACf,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;QACZ,WAAW;QACX,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;QAC3C,oBAAoB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAChE,mBAAmB,EAAE,uBAAuB;QAC5C,sBAAsB,EAAE,0BAA0B;QAClD,oBAAoB,EAAE,wBAAwB;QAC9C,oBAAoB,EAAE,wBAAwB,EAAE,6BAA6B;QAC7E,uBAAuB,EAAE,2BAA2B;QACpD,sBAAsB,EAAE,0BAA0B;QAClD,aAAa,EAAE,iBAAiB;QAChC,kBAAkB,EAAE,sBAAsB;QAC1C,cAAc,EAAE,kBAAkB;QAClC,iBAAiB,EAAE,qBAAqB;QACxC,mBAAmB,EAAE,uBAAuB;QAC5C,oBAAoB,EAAE,wBAAwB;QAC9C,YAAY,EAAE,gBAAgB,EAAE,+BAA+B;QAC/D,gBAAgB,EAAE,oBAAoB,EAAE,yCAAyC;QACjF,cAAc,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,6BAA6B;QACzF,eAAe,EAAE,mBAAmB,EAAE,gCAAgC;QACtE,eAAe,EAAE,mBAAmB,EAAE,gCAAgC;QACtE,iBAAiB,EAAE,qBAAqB,EAAE,kCAAkC;QAC5E,aAAa,EAAE,iBAAiB,EAAE,8BAA8B;KACjE,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,mEAAmE;QACnE,6EAA6E;QAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC/C,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC;QAEzC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,0DAA0D;QAC1D,4DAA4D;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAc;YAC3B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAE5B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACrC,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,CAAC;YAErB,IAAI,CAAC;gBACH,IAAI,cAAc,GAAqB,IAAI,CAAC;gBAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,CAAC;oBACzE,IAAI,SAAS;wBAAE,MAAM;oBACrB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,WAAW;4BACd,sDAAsD;4BACtD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gCAC3B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;gCAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;oCACpB,MAAM,iBAAiB,GAAG;wCACxB,IAAI,EAAE,WAAoB;wCAC1B,OAAO,EAAE,EAAE;wCACX,SAAS,EAAE,IAAI,IAAI,EAAE;wCACrB,WAAW,EAAE,IAAI;wCACjB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;wCACxC,oBAAoB,EAAE,IAAI;qCAC3B,CAAC;oCACF,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;oCACvD,cAAc,GAAG,iBAAiB,CAAC;gCACrC,CAAC;qCAAM,CAAC;oCACN,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACtB,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW;wCAC1C,CAAC,CAAC;4CACE,GAAG,KAAK;4CACR,gBAAgB,EAAE,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB;4CACzE,oBAAoB,EAAE,IAAI;yCAC3B;wCACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,MAAM;wBACR,KAAK,SAAS;4BACZ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gCAClB,IAAI,CAAC,cAAc,EAAE,CAAC;oCACpB,MAAM,iBAAiB,GAAG;wCACxB,IAAI,EAAE,WAAoB;wCAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;wCACtB,SAAS,EAAE,IAAI,IAAI,EAAE;wCACrB,WAAW,EAAE,IAAI;qCAClB,CAAC;oCACF,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;oCACvD,cAAc,GAAG,iBAAiB,CAAC;gCACrC,CAAC;qCAAM,CAAC;oCACN,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACtB,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW;wCAC1C,CAAC,CAAC;4CACE,GAAG,KAAK;4CACR,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;4CACtC,oBAAoB,EAAE,KAAK,EAAE,+CAA+C;yCAC7E;wCACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,MAAM;wBACR,KAAK,aAAa;4BAChB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gCACnC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAClC,CAAC;4BACD,MAAM;wBACR,KAAK,YAAY;4BACf,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gCACpB,mDAAmD;gCACnD,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,WAAW;oCACf,CAAC,CAAC;wCACE,GAAG,KAAK;wCACR,WAAW,EAAE,KAAK;wCAClB,SAAS,EAAE,KAAK,CAAC,SAAS;qCAC3B;oCACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;gCACF,cAAc,GAAG,IAAI,CAAC;gCAEtB,oEAAoE;gCACpE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oCACnC,MAAM,aAAa,GAAc;wCAC/B,IAAI,EAAE,WAAW;wCACjB,OAAO,EAAE,cAAc;wCACvB,SAAS,EAAE,IAAI,IAAI,EAAE;wCACrB,QAAQ,EAAE,QAAQ;qCACnB,CAAC;oCACF,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gCACrD,CAAC,CAAC,CAAC;4BACL,CAAC;4BACD,MAAM;wBACR,KAAK,aAAa;4BAChB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACvC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oCACjB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wCACtB,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oCAC1C,CAAC;oCACD,IACE,KAAK,CAAC,IAAI,KAAK,WAAW;wCAC1B,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,EAAE,EACzC,CAAC;wCACD,OAAO;4CACL,GAAG,KAAK;4CACR,IAAI,EAAE,aAAa;4CACnB,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO;gDAChC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,SAAS;gDACvC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,gBAAgB;4CAC/C,UAAU,EAAE,KAAK,CAAC,UAAU;yCAC7B,CAAC;oCACJ,CAAC;oCACD,OAAO,KAAK,CAAC;gCACf,CAAC,CAAC,CACH,CAAC;gCACF,cAAc,GAAG,IAAI,CAAC;4BACxB,CAAC;4BACD,MAAM;wBACR,KAAK,MAAM;4BACT,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,0CAA0C;4BAChE,IAAI,cAAc,EAAE,CAAC;gCACnB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAC7D,CACF,CAAC;4BACJ,CAAC;4BACD,cAAc,CAAC,KAAK,CAAC,CAAC;4BACtB,MAAM;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAc;oBAC5B,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,UAAU,YAAY,EAAE;oBACjC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;gBACF,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBAChD,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC;QAEJ,qBAAqB,EAAE,CAAC;QAExB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,yBAAyB,GAAG,CAAC,OAA4B,EAAE,EAAE;YACjE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,mBAAmB,CAAC,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;QAE5E,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,GAAG,CACrB,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACtC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,iBAAiB,CACf,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAC9D,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,iEAAiE;IACjE,2DAA2D;IAC3D,iGAAiG;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,oDAAoD;QACpD,IAAI,WAAW;YAAE,OAAO;QAExB,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,mBAAmB,GAAG,GAAG,GAAG,wBAAwB,CAAC,OAAO,CAAC;QACnE,IAAI,mBAAmB,GAAG,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,sCAAsC;QAChD,CAAC;QAED,kFAAkF;QAClF,8DAA8D;QAC9D,oFAAoF;QACpF,MAAM,YAAY,GAAG,EAAE,kBAAkB,EAAE,IAA6B,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAE7F,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE;YACpC,qDAAqD;YACrD,IAAI,YAAY,CAAC,SAAS;gBAAE,OAAO;YAEnC,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAEhD,gFAAgF;YAChF,+FAA+F;YAC/F,IAAI,iBAAiB,CAAC,OAAO,GAAG,CAAC;gBAC7B,UAAU,GAAG,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;gBAChD,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,oCAAoC;gBACpC,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;gBAClF,yDAAyD;gBACzD,sBAAsB,CAAC,OAAO,GAAG,KAAK,CAAC;YACzC,CAAC;YAED,qDAAqD;YACrD,IAAI,UAAU,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;gBAC1F,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpC,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;YACxC,CAAC;YAED,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,yBAAyB;YACjE,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,kBAAkB;YAC1D,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;YAC9B,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,iEAAiE;YACjE,IAAI,YAAY,CAAC,kBAAkB;gBAAE,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACrF,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,6CAA6C;IAErG,+CAA+C;IAC/C,qFAAqF;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,+DAA+D;QAC/D,IAAI,WAAW;YAAE,OAAO;QAExB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,wDAAwD;QAElE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,qDAAqD;IAE5G,MAAM,kBAAkB,GAAG,CAAC,YAAsB,EAAE,EAAE;QACpD,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAiB,EAAE,EAAE;QAC5C,mBAAmB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE7B,sDAAsD;QACtD,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrB,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,8BAA8B;IAC9B,kDAAkD;IAClD,yEAAyE;IACzE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC;YACH,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;IAE9B,4CAA4C;IAC5C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElE,oCAAoC;IACpC,mDAAmD;IACnD,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAA+D,EAAE,EAAE;QACzH,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC;QAE5C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,uBAAuB;QACvB,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACpD,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACpD,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QAEpD,gBAAgB;QAChB,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAEvF,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAE3C,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9D,qCAAqC;IACrC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,EAAE;QAClD,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,+CAA+C;QAC/C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,gCAAgC;QAChC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,uDAAuD;QACvD,kEAAkE;IACpE,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC;QAEpC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,IAAI,CACtH,oBAAC,YAAY,IAAC,WAAW,EAAE,WAAW,GAAI,CAC3C;QAGA,WAAW,IAAI,CAAC,mBAAmB,IAAI,CACtC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,aAAa,IAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,GAAI,CAC/C,CACP;QAGD,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,SAAS;YACxC,oBAAC,WAAW,IACV,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,CAAC,CAAC,mBAAmB,EAC3C,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,GAC9B,CACE;QAGL,gBAAgB,IAAI,CACnB,oBAAC,YAAY,IACX,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,GACzC,CACH;QAGA,gBAAgB,IAAI,CACnB,oBAAC,YAAY,IACX,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EACzC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,GAChC,CACH;QAGA,oBAAoB,IAAI,CAAC,GAAG,EAAE;YAC7B,mCAAmC;YACnC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAgC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,WAAW,EAAE,aAAa,IAAI,MAAM,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAE5D,OAAO,CACL,oBAAC,gBAAgB,IACf,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;QACJ,CAAC,CAAC,EAAE;QAGH,mBAAmB,IAAI,CACtB,oBAAC,kBAAkB,IACjB,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EACtC,cAAc,EAAE,mBAAmB,CAAC,cAAc,EAClD,OAAO,EAAE,mBAAmB,CAAC,OAAO,EACpC,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,eAAe,GACzB,CACH;QAGA,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,IAAI,CAC1F;YACE,oBAAC,cAAc,IACb,QAAQ,EAAE,YAAY,IAAI,WAAW,EACrC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,GACtB;YAEF,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,EAAE,SAAS,GACpB;YAGD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,oBAAC,cAAc,IACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,CAAC,GACb,CACH;YAGD,oBAAC,SAAS,IACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,IAAI,WAAW,EACzC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,GACtB;YAEF,oBAAC,kBAAkB,IACjB,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,oBAAoB,EACnC,SAAS,EAAE,sBAAsB,GACjC,CACD,CACJ,CACG,CACP,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,KAAK,EACL,cAAc,EACd,mBAAmB,GAAG,KAAK,GACR;IACnB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,KAAK,IAAI,IAAI,CACd,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,EAAE;QAC7C,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,oBAAC,WAAW,IAAC,WAAW,EAAE,eAAe,GAAI,CAAC;IACvD,CAAC;IAED,OAAO,CACL,oBAAC,sBAAsB,IACrB,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,GACxC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Window Breakdown Component
|
|
3
|
+
*
|
|
4
|
+
* Displays detailed token usage breakdown by category.
|
|
5
|
+
* Triggered by `/context` command.
|
|
6
|
+
*
|
|
7
|
+
* P1.3: Priority 1 Feature - High Value / Low Risk
|
|
8
|
+
*/
|
|
9
|
+
import React from "react";
|
|
10
|
+
interface ContextCategory {
|
|
11
|
+
label: string;
|
|
12
|
+
tokens: number;
|
|
13
|
+
percentage: number;
|
|
14
|
+
color: string;
|
|
15
|
+
}
|
|
16
|
+
interface ContextBreakdownProps {
|
|
17
|
+
onClose: () => void;
|
|
18
|
+
currentTokens: number;
|
|
19
|
+
maxTokens: number;
|
|
20
|
+
categories: ContextCategory[];
|
|
21
|
+
}
|
|
22
|
+
export declare function ContextBreakdown({ onClose, currentTokens, maxTokens, categories, }: ContextBreakdownProps): React.JSX.Element;
|
|
23
|
+
export default ContextBreakdown;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Window Breakdown Component
|
|
3
|
+
*
|
|
4
|
+
* Displays detailed token usage breakdown by category.
|
|
5
|
+
* Triggered by `/context` command.
|
|
6
|
+
*
|
|
7
|
+
* P1.3: Priority 1 Feature - High Value / Low Risk
|
|
8
|
+
*/
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { Box, Text, useInput } from "ink";
|
|
11
|
+
/**
|
|
12
|
+
* Format token count for human-readable display
|
|
13
|
+
*/
|
|
14
|
+
function formatTokenCount(tokens) {
|
|
15
|
+
if (tokens >= 1000000)
|
|
16
|
+
return `${(tokens / 1000000).toFixed(1)}M`;
|
|
17
|
+
if (tokens >= 1000)
|
|
18
|
+
return `${(tokens / 1000).toFixed(1)}k`;
|
|
19
|
+
return tokens.toString();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Render a horizontal bar chart for a category
|
|
23
|
+
*/
|
|
24
|
+
function CategoryBar({ label, tokens, percentage, color, }) {
|
|
25
|
+
const barWidth = 10;
|
|
26
|
+
const filledWidth = Math.round((percentage / 100) * barWidth);
|
|
27
|
+
const emptyWidth = barWidth - filledWidth;
|
|
28
|
+
return (React.createElement(Box, { flexDirection: "row", marginY: 0 },
|
|
29
|
+
React.createElement(Box, { width: 25 },
|
|
30
|
+
React.createElement(Text, { color: "white" }, label)),
|
|
31
|
+
React.createElement(Box, { width: 15 },
|
|
32
|
+
React.createElement(Text, { color: color }, "█".repeat(filledWidth)),
|
|
33
|
+
React.createElement(Text, { color: "gray", dimColor: true }, "░".repeat(emptyWidth))),
|
|
34
|
+
React.createElement(Box, { width: 20, marginLeft: 1 },
|
|
35
|
+
React.createElement(Text, { color: color },
|
|
36
|
+
formatTokenCount(tokens),
|
|
37
|
+
" tokens"),
|
|
38
|
+
React.createElement(Text, { color: "gray" },
|
|
39
|
+
" (",
|
|
40
|
+
percentage.toFixed(1),
|
|
41
|
+
"%)"))));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get usage status and color based on percentage
|
|
45
|
+
*/
|
|
46
|
+
function getUsageStatus(percentageUsed) {
|
|
47
|
+
if (percentageUsed >= 95) {
|
|
48
|
+
return { status: "CRITICAL", color: "red", symbol: "🔴" };
|
|
49
|
+
}
|
|
50
|
+
if (percentageUsed >= 80) {
|
|
51
|
+
return { status: "High", color: "yellow", symbol: "⚠️" };
|
|
52
|
+
}
|
|
53
|
+
if (percentageUsed >= 50) {
|
|
54
|
+
return { status: "Moderate", color: "yellow", symbol: "📊" };
|
|
55
|
+
}
|
|
56
|
+
return { status: "Good", color: "green", symbol: "✅" };
|
|
57
|
+
}
|
|
58
|
+
export function ContextBreakdown({ onClose, currentTokens, maxTokens, categories, }) {
|
|
59
|
+
// Handle Escape key to close the breakdown
|
|
60
|
+
useInput((input, key) => {
|
|
61
|
+
if (key.escape || input === "q") {
|
|
62
|
+
onClose();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const percentageUsed = (currentTokens / maxTokens) * 100;
|
|
66
|
+
const availableTokens = maxTokens - currentTokens;
|
|
67
|
+
const { status, color, symbol } = getUsageStatus(percentageUsed);
|
|
68
|
+
return (React.createElement(Box, { flexDirection: "column", paddingX: 2, paddingY: 1 },
|
|
69
|
+
React.createElement(Box, { borderStyle: "double", borderColor: "cyan", paddingX: 2, marginBottom: 1 },
|
|
70
|
+
React.createElement(Text, { bold: true, color: "cyan" }, "\uD83D\uDCCA Context Window Breakdown"),
|
|
71
|
+
React.createElement(Text, { color: "gray" }, " (Press Esc or q to close)")),
|
|
72
|
+
React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
73
|
+
React.createElement(Text, { bold: true, color: "yellow" }, "Summary:"),
|
|
74
|
+
React.createElement(Box, { paddingLeft: 2, flexDirection: "column" },
|
|
75
|
+
React.createElement(Box, null,
|
|
76
|
+
React.createElement(Text, { color: "white" }, "Total Used: "),
|
|
77
|
+
React.createElement(Text, { color: "cyan", bold: true },
|
|
78
|
+
formatTokenCount(currentTokens),
|
|
79
|
+
" / ",
|
|
80
|
+
formatTokenCount(maxTokens),
|
|
81
|
+
" tokens"),
|
|
82
|
+
React.createElement(Text, { color: "gray" },
|
|
83
|
+
" (",
|
|
84
|
+
percentageUsed.toFixed(1),
|
|
85
|
+
"% used)")),
|
|
86
|
+
React.createElement(Box, null,
|
|
87
|
+
React.createElement(Text, { color: "white" }, "Available: "),
|
|
88
|
+
React.createElement(Text, { color: "green", bold: true },
|
|
89
|
+
formatTokenCount(availableTokens),
|
|
90
|
+
" tokens"),
|
|
91
|
+
React.createElement(Text, { color: "gray" },
|
|
92
|
+
" (",
|
|
93
|
+
(100 - percentageUsed).toFixed(1),
|
|
94
|
+
"% free)")),
|
|
95
|
+
React.createElement(Box, null,
|
|
96
|
+
React.createElement(Text, { color: "white" }, "Status: "),
|
|
97
|
+
React.createElement(Text, { color: color, bold: true },
|
|
98
|
+
symbol,
|
|
99
|
+
" ",
|
|
100
|
+
status)))),
|
|
101
|
+
React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
102
|
+
React.createElement(Text, { bold: true, color: "yellow" }, "Breakdown by Category:"),
|
|
103
|
+
React.createElement(Box, { paddingLeft: 2, flexDirection: "column" }, categories.map((category, index) => (React.createElement(CategoryBar, { key: index, label: category.label, tokens: category.tokens, percentage: category.percentage, color: category.color }))))),
|
|
104
|
+
percentageUsed >= 80 && (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
105
|
+
React.createElement(Text, { bold: true, color: "red" }, "\u26A0\uFE0F Context Usage Warning:"),
|
|
106
|
+
React.createElement(Box, { paddingLeft: 2, flexDirection: "column" },
|
|
107
|
+
percentageUsed >= 95 && (React.createElement(Text, { color: "red" }, "\u2022 CRITICAL: Context nearly full! Responses may fail soon.")),
|
|
108
|
+
percentageUsed >= 80 && percentageUsed < 95 && (React.createElement(Text, { color: "yellow" }, "\u2022 Context getting full. Consider freeing up space soon.")),
|
|
109
|
+
React.createElement(Text, { color: "gray" }, "\u2022 Use /clear to remove old messages"),
|
|
110
|
+
React.createElement(Text, { color: "gray" }, "\u2022 Start a new session if needed")))),
|
|
111
|
+
percentageUsed < 80 && (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
112
|
+
React.createElement(Text, { bold: true, color: "green" }, "\uD83D\uDCA1 Tips:"),
|
|
113
|
+
React.createElement(Box, { paddingLeft: 2, flexDirection: "column" },
|
|
114
|
+
React.createElement(Text, { color: "gray" },
|
|
115
|
+
"\u2022 You have plenty of context available (",
|
|
116
|
+
(100 - percentageUsed).toFixed(0),
|
|
117
|
+
"% free)"),
|
|
118
|
+
React.createElement(Text, { color: "gray" }, "\u2022 Context includes conversation history and system instructions"),
|
|
119
|
+
React.createElement(Text, { color: "gray" }, "\u2022 Use /clear to reset conversation if needed")))),
|
|
120
|
+
React.createElement(Box, { borderStyle: "single", borderColor: "gray", paddingX: 1, marginTop: 1 },
|
|
121
|
+
React.createElement(Text, { color: "gray", dimColor: true }, "\uD83D\uDCA1 Tip: Monitor context usage in the status bar \u2022 Press Ctrl+K for quick actions"))));
|
|
122
|
+
}
|
|
123
|
+
export default ContextBreakdown;
|
|
124
|
+
//# sourceMappingURL=context-breakdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-breakdown.js","sourceRoot":"","sources":["../../../src/ui/components/context-breakdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyboard Shortcuts Help Component
|
|
3
|
+
*
|
|
4
|
+
* Displays a comprehensive, context-aware keyboard shortcut reference.
|
|
5
|
+
* Triggered by pressing `?` key in the input field.
|
|
6
|
+
*
|
|
7
|
+
* P1.4: Priority 1 Feature - High Value / Low Risk
|
|
8
|
+
*/
|
|
9
|
+
import React from "react";
|
|
10
|
+
interface KeyboardHelpProps {
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
verbosityLevel?: number;
|
|
13
|
+
backgroundMode?: boolean;
|
|
14
|
+
autoEditEnabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function KeyboardHelp({ onClose, verbosityLevel, backgroundMode, autoEditEnabled, }: KeyboardHelpProps): React.JSX.Element;
|
|
17
|
+
export default KeyboardHelp;
|