erosolar-cli 1.7.262 → 1.7.263
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 +148 -22
- package/dist/alpha-zero/agentWrapper.d.ts +84 -0
- package/dist/alpha-zero/agentWrapper.d.ts.map +1 -0
- package/dist/alpha-zero/agentWrapper.js +171 -0
- package/dist/alpha-zero/agentWrapper.js.map +1 -0
- package/dist/alpha-zero/codeEvaluator.d.ts +25 -0
- package/dist/alpha-zero/codeEvaluator.d.ts.map +1 -0
- package/dist/alpha-zero/codeEvaluator.js +273 -0
- package/dist/alpha-zero/codeEvaluator.js.map +1 -0
- package/dist/alpha-zero/competitiveRunner.d.ts +66 -0
- package/dist/alpha-zero/competitiveRunner.d.ts.map +1 -0
- package/dist/alpha-zero/competitiveRunner.js +224 -0
- package/dist/alpha-zero/competitiveRunner.js.map +1 -0
- package/dist/alpha-zero/index.d.ts +67 -0
- package/dist/alpha-zero/index.d.ts.map +1 -0
- package/dist/alpha-zero/index.js +99 -0
- package/dist/alpha-zero/index.js.map +1 -0
- package/dist/alpha-zero/introspection.d.ts +128 -0
- package/dist/alpha-zero/introspection.d.ts.map +1 -0
- package/dist/alpha-zero/introspection.js +300 -0
- package/dist/alpha-zero/introspection.js.map +1 -0
- package/dist/alpha-zero/metricsTracker.d.ts +71 -0
- package/dist/alpha-zero/metricsTracker.d.ts.map +1 -0
- package/dist/{core → alpha-zero}/metricsTracker.js +5 -2
- package/dist/alpha-zero/metricsTracker.js.map +1 -0
- package/dist/alpha-zero/security/core.d.ts +125 -0
- package/dist/alpha-zero/security/core.d.ts.map +1 -0
- package/dist/alpha-zero/security/core.js +271 -0
- package/dist/alpha-zero/security/core.js.map +1 -0
- package/dist/alpha-zero/security/google.d.ts +125 -0
- package/dist/alpha-zero/security/google.d.ts.map +1 -0
- package/dist/alpha-zero/security/google.js +311 -0
- package/dist/alpha-zero/security/google.js.map +1 -0
- package/dist/alpha-zero/security/googleLoader.d.ts +17 -0
- package/dist/alpha-zero/security/googleLoader.d.ts.map +1 -0
- package/dist/alpha-zero/security/googleLoader.js +41 -0
- package/dist/alpha-zero/security/googleLoader.js.map +1 -0
- package/dist/alpha-zero/security/index.d.ts +29 -0
- package/dist/alpha-zero/security/index.d.ts.map +1 -0
- package/dist/alpha-zero/security/index.js +32 -0
- package/dist/alpha-zero/security/index.js.map +1 -0
- package/dist/alpha-zero/security/simulation.d.ts +124 -0
- package/dist/alpha-zero/security/simulation.d.ts.map +1 -0
- package/dist/alpha-zero/security/simulation.js +277 -0
- package/dist/alpha-zero/security/simulation.js.map +1 -0
- package/dist/alpha-zero/selfModification.d.ts +109 -0
- package/dist/alpha-zero/selfModification.d.ts.map +1 -0
- package/dist/alpha-zero/selfModification.js +233 -0
- package/dist/alpha-zero/selfModification.js.map +1 -0
- package/dist/alpha-zero/types.d.ts +170 -0
- package/dist/alpha-zero/types.d.ts.map +1 -0
- package/dist/alpha-zero/types.js +31 -0
- package/dist/alpha-zero/types.js.map +1 -0
- package/dist/capabilities/securityTestingCapability.d.ts +13 -0
- package/dist/capabilities/securityTestingCapability.d.ts.map +1 -0
- package/dist/capabilities/securityTestingCapability.js +25 -0
- package/dist/capabilities/securityTestingCapability.js.map +1 -0
- package/dist/contracts/agent-schemas.json +15 -0
- package/dist/contracts/tools.schema.json +9 -0
- package/dist/core/aiFlowOptimizer.d.ts +26 -0
- package/dist/core/aiFlowOptimizer.d.ts.map +1 -0
- package/dist/core/aiFlowOptimizer.js +31 -0
- package/dist/core/aiFlowOptimizer.js.map +1 -0
- package/dist/core/aiOptimizationEngine.d.ts +158 -0
- package/dist/core/aiOptimizationEngine.d.ts.map +1 -0
- package/dist/core/aiOptimizationEngine.js +428 -0
- package/dist/core/aiOptimizationEngine.js.map +1 -0
- package/dist/core/aiOptimizationIntegration.d.ts +93 -0
- package/dist/core/aiOptimizationIntegration.d.ts.map +1 -0
- package/dist/core/aiOptimizationIntegration.js +250 -0
- package/dist/core/aiOptimizationIntegration.js.map +1 -0
- package/dist/core/customCommands.d.ts +0 -1
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +0 -3
- package/dist/core/customCommands.js.map +1 -1
- package/dist/core/enhancedErrorRecovery.d.ts +100 -0
- package/dist/core/enhancedErrorRecovery.d.ts.map +1 -0
- package/dist/core/enhancedErrorRecovery.js +345 -0
- package/dist/core/enhancedErrorRecovery.js.map +1 -0
- package/dist/core/hooksSystem.d.ts +65 -0
- package/dist/core/hooksSystem.d.ts.map +1 -0
- package/dist/core/hooksSystem.js +273 -0
- package/dist/core/hooksSystem.js.map +1 -0
- package/dist/core/memorySystem.d.ts +48 -0
- package/dist/core/memorySystem.d.ts.map +1 -0
- package/dist/core/memorySystem.js +271 -0
- package/dist/core/memorySystem.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +14 -0
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +5 -0
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +3 -14
- package/dist/core/toolValidation.js.map +1 -1
- package/dist/core/unified/errors.d.ts +189 -0
- package/dist/core/unified/errors.d.ts.map +1 -0
- package/dist/core/unified/errors.js +497 -0
- package/dist/core/unified/errors.js.map +1 -0
- package/dist/core/unified/index.d.ts +19 -0
- package/dist/core/unified/index.d.ts.map +1 -0
- package/dist/core/unified/index.js +68 -0
- package/dist/core/unified/index.js.map +1 -0
- package/dist/core/unified/schema.d.ts +101 -0
- package/dist/core/unified/schema.d.ts.map +1 -0
- package/dist/core/unified/schema.js +350 -0
- package/dist/core/unified/schema.js.map +1 -0
- package/dist/core/unified/toolRuntime.d.ts +179 -0
- package/dist/core/unified/toolRuntime.d.ts.map +1 -0
- package/dist/core/unified/toolRuntime.js +517 -0
- package/dist/core/unified/toolRuntime.js.map +1 -0
- package/dist/core/unified/tools.d.ts +127 -0
- package/dist/core/unified/tools.d.ts.map +1 -0
- package/dist/core/unified/tools.js +1333 -0
- package/dist/core/unified/tools.js.map +1 -0
- package/dist/core/unified/types.d.ts +352 -0
- package/dist/core/unified/types.d.ts.map +1 -0
- package/dist/core/unified/types.js +12 -0
- package/dist/core/unified/types.js.map +1 -0
- package/dist/core/unified/version.d.ts +209 -0
- package/dist/core/unified/version.d.ts.map +1 -0
- package/dist/core/unified/version.js +454 -0
- package/dist/core/unified/version.js.map +1 -0
- package/dist/core/validationRunner.d.ts +3 -1
- package/dist/core/validationRunner.d.ts.map +1 -1
- package/dist/core/validationRunner.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +18 -9
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +6 -0
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +10 -4
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/plugins/tools/security/securityPlugin.d.ts +3 -0
- package/dist/plugins/tools/security/securityPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/security/securityPlugin.js +12 -0
- package/dist/plugins/tools/security/securityPlugin.js.map +1 -0
- package/dist/security/active-stack-security.d.ts +112 -0
- package/dist/security/active-stack-security.d.ts.map +1 -0
- package/dist/security/active-stack-security.js +296 -0
- package/dist/security/active-stack-security.js.map +1 -0
- package/dist/security/advanced-persistence-research.d.ts +92 -0
- package/dist/security/advanced-persistence-research.d.ts.map +1 -0
- package/dist/security/advanced-persistence-research.js +195 -0
- package/dist/security/advanced-persistence-research.js.map +1 -0
- package/dist/security/advanced-targeting.d.ts +119 -0
- package/dist/security/advanced-targeting.d.ts.map +1 -0
- package/dist/security/advanced-targeting.js +233 -0
- package/dist/security/advanced-targeting.js.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
- package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
- package/dist/security/authorization/securityAuthorization.d.ts +88 -0
- package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
- package/dist/security/authorization/securityAuthorization.js +172 -0
- package/dist/security/authorization/securityAuthorization.js.map +1 -0
- package/dist/security/comprehensive-targeting.d.ts +85 -0
- package/dist/security/comprehensive-targeting.d.ts.map +1 -0
- package/dist/security/comprehensive-targeting.js +438 -0
- package/dist/security/comprehensive-targeting.js.map +1 -0
- package/dist/security/global-security-integration.d.ts +91 -0
- package/dist/security/global-security-integration.d.ts.map +1 -0
- package/dist/security/global-security-integration.js +218 -0
- package/dist/security/global-security-integration.js.map +1 -0
- package/dist/security/index.d.ts +38 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +47 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/persistence-analyzer.d.ts +56 -0
- package/dist/security/persistence-analyzer.d.ts.map +1 -0
- package/dist/security/persistence-analyzer.js +187 -0
- package/dist/security/persistence-analyzer.js.map +1 -0
- package/dist/security/persistence-cli.d.ts +36 -0
- package/dist/security/persistence-cli.d.ts.map +1 -0
- package/dist/security/persistence-cli.js +160 -0
- package/dist/security/persistence-cli.js.map +1 -0
- package/dist/security/persistence-research.d.ts +92 -0
- package/dist/security/persistence-research.d.ts.map +1 -0
- package/dist/security/persistence-research.js +364 -0
- package/dist/security/persistence-research.js.map +1 -0
- package/dist/security/research/persistenceResearch.d.ts +97 -0
- package/dist/security/research/persistenceResearch.d.ts.map +1 -0
- package/dist/security/research/persistenceResearch.js +282 -0
- package/dist/security/research/persistenceResearch.js.map +1 -0
- package/dist/security/security-integration.d.ts +74 -0
- package/dist/security/security-integration.d.ts.map +1 -0
- package/dist/security/security-integration.js +137 -0
- package/dist/security/security-integration.js.map +1 -0
- package/dist/security/security-testing-framework.d.ts +112 -0
- package/dist/security/security-testing-framework.d.ts.map +1 -0
- package/dist/security/security-testing-framework.js +364 -0
- package/dist/security/security-testing-framework.js.map +1 -0
- package/dist/security/simulation/attackSimulation.d.ts +93 -0
- package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
- package/dist/security/simulation/attackSimulation.js +341 -0
- package/dist/security/simulation/attackSimulation.js.map +1 -0
- package/dist/security/strategic-operations.d.ts +100 -0
- package/dist/security/strategic-operations.d.ts.map +1 -0
- package/dist/security/strategic-operations.js +276 -0
- package/dist/security/strategic-operations.js.map +1 -0
- package/dist/security/tool-security-wrapper.d.ts +58 -0
- package/dist/security/tool-security-wrapper.d.ts.map +1 -0
- package/dist/security/tool-security-wrapper.js +156 -0
- package/dist/security/tool-security-wrapper.js.map +1 -0
- package/dist/shell/claudeCodeStreamHandler.d.ts +145 -0
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -0
- package/dist/shell/claudeCodeStreamHandler.js +322 -0
- package/dist/shell/claudeCodeStreamHandler.js.map +1 -0
- package/dist/shell/inputQueueManager.d.ts +144 -0
- package/dist/shell/inputQueueManager.d.ts.map +1 -0
- package/dist/shell/inputQueueManager.js +290 -0
- package/dist/shell/inputQueueManager.js.map +1 -0
- package/dist/shell/interactiveShell.d.ts +7 -11
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +153 -190
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/metricsTracker.d.ts +60 -0
- package/dist/shell/metricsTracker.d.ts.map +1 -0
- package/dist/shell/metricsTracker.js +119 -0
- package/dist/shell/metricsTracker.js.map +1 -0
- package/dist/shell/shellApp.d.ts +0 -2
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +0 -16
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts +115 -0
- package/dist/shell/streamingOutputManager.d.ts.map +1 -0
- package/dist/shell/streamingOutputManager.js +225 -0
- package/dist/shell/streamingOutputManager.js.map +1 -0
- package/dist/shell/systemPrompt.d.ts.map +1 -1
- package/dist/shell/systemPrompt.js +4 -1
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +147 -68
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +689 -451
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +20 -20
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +29 -14
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/tools/securityTools.d.ts +22 -0
- package/dist/tools/securityTools.d.ts.map +1 -0
- package/dist/tools/securityTools.js +448 -0
- package/dist/tools/securityTools.js.map +1 -0
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +12 -13
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +0 -19
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +33 -131
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +50 -0
- package/dist/ui/persistentPrompt.d.ts.map +1 -0
- package/dist/ui/persistentPrompt.js +92 -0
- package/dist/ui/persistentPrompt.js.map +1 -0
- package/dist/ui/terminalUISchema.d.ts +195 -0
- package/dist/ui/terminalUISchema.d.ts.map +1 -0
- package/dist/ui/terminalUISchema.js +113 -0
- package/dist/ui/terminalUISchema.js.map +1 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +8 -6
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/toolDisplay.d.ts +158 -0
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +348 -0
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +0 -1
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +25 -15
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
- package/scripts/deploy-security-capabilities.js +178 -0
- package/dist/core/hooks.d.ts +0 -113
- package/dist/core/hooks.d.ts.map +0 -1
- package/dist/core/hooks.js +0 -267
- package/dist/core/hooks.js.map +0 -1
- package/dist/core/metricsTracker.d.ts +0 -122
- package/dist/core/metricsTracker.d.ts.map +0 -1
- package/dist/core/metricsTracker.js.map +0 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal UI Schema - Hard enforcement of UI structure and behavior
|
|
3
|
+
*
|
|
4
|
+
* This schema defines the correct structure for terminal UI components.
|
|
5
|
+
* Changes that violate these constraints should fail at compile time.
|
|
6
|
+
*/
|
|
7
|
+
/** Input mode - only these states are valid */
|
|
8
|
+
export type InputMode = 'idle' | 'streaming' | 'paste';
|
|
9
|
+
/** Edit guard mode for permission handling */
|
|
10
|
+
export type EditGuardMode = 'display-edits' | 'ask-permission';
|
|
11
|
+
/** Status tone for visual feedback */
|
|
12
|
+
export type StatusTone = 'info' | 'warn' | 'error' | 'success' | 'muted';
|
|
13
|
+
/**
|
|
14
|
+
* The terminal UI MUST have these components in this order (top to bottom):
|
|
15
|
+
* 1. Banner (session info) - ALWAYS at top
|
|
16
|
+
* 2. Content area - Scrollable, contains AI responses and tool outputs
|
|
17
|
+
* 3. Status bar - Shows streaming status, elapsed time
|
|
18
|
+
* 4. Top divider - Horizontal line above input
|
|
19
|
+
* 5. Input area - User input with prompt
|
|
20
|
+
* 6. Bottom divider - Horizontal line below input
|
|
21
|
+
* 7. Mode controls - Toggle states and context info
|
|
22
|
+
*/
|
|
23
|
+
export interface TerminalUILayout {
|
|
24
|
+
/** Banner is always pinned at top */
|
|
25
|
+
readonly banner: BannerConfig;
|
|
26
|
+
/** Content flows naturally between banner and input area */
|
|
27
|
+
readonly contentArea: ContentAreaConfig;
|
|
28
|
+
/** Input area is pinned at bottom */
|
|
29
|
+
readonly inputArea: InputAreaConfig;
|
|
30
|
+
}
|
|
31
|
+
export interface BannerConfig {
|
|
32
|
+
/** Minimum width for banner */
|
|
33
|
+
readonly minWidth: number;
|
|
34
|
+
/** Maximum width for banner */
|
|
35
|
+
readonly maxWidth: number;
|
|
36
|
+
/** Required elements in banner */
|
|
37
|
+
readonly requiredElements: readonly ['profile', 'model', 'workspace', 'commands'];
|
|
38
|
+
}
|
|
39
|
+
export interface ContentAreaConfig {
|
|
40
|
+
/** Content scrolls naturally - NO artificial gaps */
|
|
41
|
+
readonly scrollBehavior: 'natural';
|
|
42
|
+
/** Content starts immediately after banner */
|
|
43
|
+
readonly startsAfterBanner: true;
|
|
44
|
+
}
|
|
45
|
+
export interface InputAreaConfig {
|
|
46
|
+
/** Input is always at bottom */
|
|
47
|
+
readonly position: 'bottom';
|
|
48
|
+
/** Required components in order */
|
|
49
|
+
readonly components: readonly ['statusBar', 'topDivider', 'inputLines', 'bottomDivider', 'modeControls'];
|
|
50
|
+
/** Reserved lines for input area */
|
|
51
|
+
readonly reservedLines: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ModeControlsSchema {
|
|
54
|
+
/** Edit mode toggle - REQUIRED */
|
|
55
|
+
readonly editMode: {
|
|
56
|
+
readonly enabled: EditGuardMode;
|
|
57
|
+
readonly icons: {
|
|
58
|
+
readonly auto: '⏵⏵';
|
|
59
|
+
readonly ask: '⏸⏸';
|
|
60
|
+
};
|
|
61
|
+
readonly colors: {
|
|
62
|
+
readonly auto: 'green';
|
|
63
|
+
readonly ask: 'yellow';
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/** Thinking mode toggle - REQUIRED */
|
|
67
|
+
readonly thinkingMode: {
|
|
68
|
+
readonly enabled: boolean;
|
|
69
|
+
readonly icons: {
|
|
70
|
+
readonly on: '💭';
|
|
71
|
+
readonly off: '○';
|
|
72
|
+
};
|
|
73
|
+
readonly colors: {
|
|
74
|
+
readonly on: 'cyan';
|
|
75
|
+
readonly off: 'dim';
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/** Verification mode toggle - REQUIRED */
|
|
79
|
+
readonly verificationMode: {
|
|
80
|
+
readonly enabled: boolean;
|
|
81
|
+
readonly icons: {
|
|
82
|
+
readonly on: '✓';
|
|
83
|
+
readonly off: '○';
|
|
84
|
+
};
|
|
85
|
+
readonly colors: {
|
|
86
|
+
readonly on: 'green';
|
|
87
|
+
readonly off: 'dim';
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
/** Auto-continue mode toggle - REQUIRED */
|
|
91
|
+
readonly autoContinueMode: {
|
|
92
|
+
readonly enabled: boolean;
|
|
93
|
+
readonly icons: {
|
|
94
|
+
readonly on: '↻';
|
|
95
|
+
readonly off: '○';
|
|
96
|
+
};
|
|
97
|
+
readonly colors: {
|
|
98
|
+
readonly on: 'magenta';
|
|
99
|
+
readonly off: 'dim';
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
/** Context usage display - REQUIRED when available */
|
|
103
|
+
readonly contextUsage: {
|
|
104
|
+
readonly percentage: number | null;
|
|
105
|
+
readonly thresholds: {
|
|
106
|
+
readonly critical: 10;
|
|
107
|
+
readonly warning: 25;
|
|
108
|
+
};
|
|
109
|
+
readonly colors: {
|
|
110
|
+
readonly critical: 'red';
|
|
111
|
+
readonly warning: 'yellow';
|
|
112
|
+
readonly normal: 'dim';
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export interface StreamingBehaviorSchema {
|
|
117
|
+
/** During streaming, input area rendering is SKIPPED to avoid conflicts */
|
|
118
|
+
readonly duringStreaming: {
|
|
119
|
+
readonly renderInputArea: false;
|
|
120
|
+
readonly hideCursor: true;
|
|
121
|
+
readonly contentFlows: 'naturally';
|
|
122
|
+
};
|
|
123
|
+
/** After streaming ends */
|
|
124
|
+
readonly afterStreaming: {
|
|
125
|
+
readonly renderInputArea: true;
|
|
126
|
+
readonly showCursor: true;
|
|
127
|
+
readonly addNewlineBeforeInput: true;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export declare const UI_COLORS: {
|
|
131
|
+
readonly green: "\u001B[32m";
|
|
132
|
+
readonly yellow: "\u001B[33m";
|
|
133
|
+
readonly cyan: "\u001B[36m";
|
|
134
|
+
readonly magenta: "\u001B[35m";
|
|
135
|
+
readonly red: "\u001B[31m";
|
|
136
|
+
readonly dim: "\u001B[2m";
|
|
137
|
+
readonly reset: "\u001B[0m";
|
|
138
|
+
readonly bold: "\u001B[1m";
|
|
139
|
+
readonly reverse: "\u001B[7m";
|
|
140
|
+
};
|
|
141
|
+
export type UIColor = keyof typeof UI_COLORS;
|
|
142
|
+
/**
|
|
143
|
+
* Validate that mode controls have all required toggles
|
|
144
|
+
*/
|
|
145
|
+
export declare function validateModeControls(controls: {
|
|
146
|
+
editMode?: EditGuardMode;
|
|
147
|
+
thinkingEnabled?: boolean;
|
|
148
|
+
verificationEnabled?: boolean;
|
|
149
|
+
autoContinueEnabled?: boolean;
|
|
150
|
+
}): {
|
|
151
|
+
valid: boolean;
|
|
152
|
+
errors: string[];
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Validate streaming state transitions
|
|
156
|
+
*/
|
|
157
|
+
export declare function validateStreamingTransition(fromMode: InputMode, toMode: InputMode, actions: {
|
|
158
|
+
hideCursor?: boolean;
|
|
159
|
+
showCursor?: boolean;
|
|
160
|
+
addNewline?: boolean;
|
|
161
|
+
}): {
|
|
162
|
+
valid: boolean;
|
|
163
|
+
errors: string[];
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Validate input area has all required components
|
|
167
|
+
*/
|
|
168
|
+
export declare function validateInputAreaComponents(components: string[]): {
|
|
169
|
+
valid: boolean;
|
|
170
|
+
errors: string[];
|
|
171
|
+
};
|
|
172
|
+
export declare const DEFAULT_UI_CONFIG: {
|
|
173
|
+
readonly banner: {
|
|
174
|
+
readonly minWidth: 42;
|
|
175
|
+
readonly maxWidth: 110;
|
|
176
|
+
};
|
|
177
|
+
readonly inputArea: {
|
|
178
|
+
readonly maxLines: 15;
|
|
179
|
+
readonly maxLength: 10000;
|
|
180
|
+
readonly promptChar: "> ";
|
|
181
|
+
readonly continuationChar: "│ ";
|
|
182
|
+
readonly reservedLines: 5;
|
|
183
|
+
};
|
|
184
|
+
readonly modeControls: {
|
|
185
|
+
readonly separator: " · ";
|
|
186
|
+
readonly shortcut: "(⇧⇥)";
|
|
187
|
+
};
|
|
188
|
+
readonly divider: {
|
|
189
|
+
readonly char: "─";
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
export declare function isValidInputMode(mode: string): mode is InputMode;
|
|
193
|
+
export declare function isValidEditGuardMode(mode: string): mode is EditGuardMode;
|
|
194
|
+
export declare function isValidStatusTone(tone: string): tone is StatusTone;
|
|
195
|
+
//# sourceMappingURL=terminalUISchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalUISchema.d.ts","sourceRoot":"","sources":["../../src/ui/terminalUISchema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAEvD,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE/D,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAMzE;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACzG,oCAAoC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAMD,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAChC,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;SAAE,CAAC;QAC5D,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;SAAE,CAAC;KACrE,CAAC;IACF,sCAAsC;IACtC,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;SAAE,CAAC;QACzD,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SAAE,CAAC;KAC/D,CAAC;IACF,0CAA0C;IAC1C,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;SAAE,CAAC;QACxD,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SAAE,CAAC;KAChE,CAAC;IACF,2CAA2C;IAC3C,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;SAAE,CAAC;QACxD,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA;SAAE,CAAC;KAClE,CAAC;IACF,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,QAAQ,CAAC,UAAU,EAAE;YAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;SAAE,CAAC;QACrE,QAAQ,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAA;SAAE,CAAC;KACnG,CAAC;CACH;AAMD,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC;QAChC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;KACpC,CAAC;IACF,2BAA2B;IAC3B,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC;QAC/B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC;KACtC,CAAC;CACH;AAMD,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAM7C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAiBvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBtC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAWtG;AAMD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAmBpB,CAAC;AAMX,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAEhE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,CAExE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,UAAU,CAElE"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal UI Schema - Hard enforcement of UI structure and behavior
|
|
3
|
+
*
|
|
4
|
+
* This schema defines the correct structure for terminal UI components.
|
|
5
|
+
* Changes that violate these constraints should fail at compile time.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// COLOR SCHEMA - Defines the color palette
|
|
9
|
+
// =============================================================================
|
|
10
|
+
export const UI_COLORS = {
|
|
11
|
+
green: '\x1b[32m',
|
|
12
|
+
yellow: '\x1b[33m',
|
|
13
|
+
cyan: '\x1b[36m',
|
|
14
|
+
magenta: '\x1b[35m',
|
|
15
|
+
red: '\x1b[31m',
|
|
16
|
+
dim: '\x1b[2m',
|
|
17
|
+
reset: '\x1b[0m',
|
|
18
|
+
bold: '\x1b[1m',
|
|
19
|
+
reverse: '\x1b[7m',
|
|
20
|
+
};
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// VALIDATION FUNCTIONS - Runtime checks for UI correctness
|
|
23
|
+
// =============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Validate that mode controls have all required toggles
|
|
26
|
+
*/
|
|
27
|
+
export function validateModeControls(controls) {
|
|
28
|
+
const errors = [];
|
|
29
|
+
if (controls.editMode === undefined) {
|
|
30
|
+
errors.push('editMode is required');
|
|
31
|
+
}
|
|
32
|
+
if (controls.thinkingEnabled === undefined) {
|
|
33
|
+
errors.push('thinkingEnabled is required');
|
|
34
|
+
}
|
|
35
|
+
if (controls.verificationEnabled === undefined) {
|
|
36
|
+
errors.push('verificationEnabled is required');
|
|
37
|
+
}
|
|
38
|
+
if (controls.autoContinueEnabled === undefined) {
|
|
39
|
+
errors.push('autoContinueEnabled is required');
|
|
40
|
+
}
|
|
41
|
+
return { valid: errors.length === 0, errors };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Validate streaming state transitions
|
|
45
|
+
*/
|
|
46
|
+
export function validateStreamingTransition(fromMode, toMode, actions) {
|
|
47
|
+
const errors = [];
|
|
48
|
+
if (fromMode === 'idle' && toMode === 'streaming') {
|
|
49
|
+
// Entering streaming - cursor should be hidden
|
|
50
|
+
if (!actions.hideCursor) {
|
|
51
|
+
errors.push('Must hide cursor when entering streaming mode');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (fromMode === 'streaming' && toMode === 'idle') {
|
|
55
|
+
// Exiting streaming - cursor should be shown, newline added
|
|
56
|
+
if (!actions.showCursor) {
|
|
57
|
+
errors.push('Must show cursor when exiting streaming mode');
|
|
58
|
+
}
|
|
59
|
+
if (!actions.addNewline) {
|
|
60
|
+
errors.push('Must add newline after streaming content');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return { valid: errors.length === 0, errors };
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Validate input area has all required components
|
|
67
|
+
*/
|
|
68
|
+
export function validateInputAreaComponents(components) {
|
|
69
|
+
const required = ['statusBar', 'topDivider', 'inputLines', 'bottomDivider', 'modeControls'];
|
|
70
|
+
const errors = [];
|
|
71
|
+
for (const req of required) {
|
|
72
|
+
if (!components.includes(req)) {
|
|
73
|
+
errors.push(`Missing required component: ${req}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { valid: errors.length === 0, errors };
|
|
77
|
+
}
|
|
78
|
+
// =============================================================================
|
|
79
|
+
// DEFAULT CONFIGURATION - The correct defaults
|
|
80
|
+
// =============================================================================
|
|
81
|
+
export const DEFAULT_UI_CONFIG = {
|
|
82
|
+
banner: {
|
|
83
|
+
minWidth: 42,
|
|
84
|
+
maxWidth: 110,
|
|
85
|
+
},
|
|
86
|
+
inputArea: {
|
|
87
|
+
maxLines: 15,
|
|
88
|
+
maxLength: 10000,
|
|
89
|
+
promptChar: '> ',
|
|
90
|
+
continuationChar: '│ ',
|
|
91
|
+
reservedLines: 5, // status + divider + input + divider + controls
|
|
92
|
+
},
|
|
93
|
+
modeControls: {
|
|
94
|
+
separator: ' · ',
|
|
95
|
+
shortcut: '(⇧⇥)',
|
|
96
|
+
},
|
|
97
|
+
divider: {
|
|
98
|
+
char: '─',
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
// =============================================================================
|
|
102
|
+
// TYPE GUARDS - Ensure type safety at runtime
|
|
103
|
+
// =============================================================================
|
|
104
|
+
export function isValidInputMode(mode) {
|
|
105
|
+
return mode === 'idle' || mode === 'streaming' || mode === 'paste';
|
|
106
|
+
}
|
|
107
|
+
export function isValidEditGuardMode(mode) {
|
|
108
|
+
return mode === 'display-edits' || mode === 'ask-permission';
|
|
109
|
+
}
|
|
110
|
+
export function isValidStatusTone(tone) {
|
|
111
|
+
return ['info', 'warn', 'error', 'success', 'muted'].includes(tone);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=terminalUISchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalUISchema.js","sourceRoot":"","sources":["../../src/ui/terminalUISchema.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;CAejB,CAAC;AAEF,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;CAejB,CAAC;AAEF,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAQ5F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS5F"}
|
package/dist/ui/theme.js
CHANGED
|
@@ -100,20 +100,22 @@ export function formatBanner(profileLabel, model) {
|
|
|
100
100
|
return `\n${title}\n${subtitle}\n`;
|
|
101
101
|
}
|
|
102
102
|
export function formatUserPrompt(_profile) {
|
|
103
|
-
//
|
|
104
|
-
const
|
|
105
|
-
|
|
103
|
+
// Enhanced user prompt with visual indicator
|
|
104
|
+
const bullet = theme.accent('▸');
|
|
105
|
+
const label = theme.user('You');
|
|
106
|
+
return `${bullet} ${label}: `;
|
|
106
107
|
}
|
|
107
108
|
/**
|
|
108
109
|
* Get the raw '>' prompt character for display consistency
|
|
109
110
|
*/
|
|
110
111
|
export const USER_PROMPT_PREFIX = '> ';
|
|
111
112
|
export function formatToolCall(name, status) {
|
|
112
|
-
const statusIcon = status === 'running' ?
|
|
113
|
-
status === 'success' ?
|
|
113
|
+
const statusIcon = status === 'running' ? '◐' :
|
|
114
|
+
status === 'success' ? '●' : '○';
|
|
114
115
|
const statusColor = status === 'running' ? theme.info :
|
|
115
116
|
status === 'success' ? theme.success : theme.error;
|
|
116
|
-
|
|
117
|
+
const prefix = theme.ui.muted('⏺');
|
|
118
|
+
return `${prefix} ${theme.tool(name)}\n${theme.ui.muted('⎿')} ${statusColor(statusIcon)}`;
|
|
117
119
|
}
|
|
118
120
|
export function formatMessage(role, content) {
|
|
119
121
|
switch (role) {
|
package/dist/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/toolDisplay.d.ts
CHANGED
|
@@ -148,4 +148,162 @@ export interface ToolResultSummaryInput {
|
|
|
148
148
|
* @returns Formatted string to display, or null if no display needed
|
|
149
149
|
*/
|
|
150
150
|
export declare function formatToolResultSummary(input: ToolResultSummaryInput): string | null;
|
|
151
|
+
/**
|
|
152
|
+
* Box drawing characters for advanced UI
|
|
153
|
+
*/
|
|
154
|
+
export declare const BOX: {
|
|
155
|
+
readonly TOP_LEFT: "┌";
|
|
156
|
+
readonly TOP_RIGHT: "┐";
|
|
157
|
+
readonly BOTTOM_LEFT: "└";
|
|
158
|
+
readonly BOTTOM_RIGHT: "┘";
|
|
159
|
+
readonly HORIZONTAL: "─";
|
|
160
|
+
readonly VERTICAL: "│";
|
|
161
|
+
readonly T_RIGHT: "├";
|
|
162
|
+
readonly T_LEFT: "┤";
|
|
163
|
+
readonly T_DOWN: "┬";
|
|
164
|
+
readonly T_UP: "┴";
|
|
165
|
+
readonly CROSS: "┼";
|
|
166
|
+
readonly D_TOP_LEFT: "╔";
|
|
167
|
+
readonly D_TOP_RIGHT: "╗";
|
|
168
|
+
readonly D_BOTTOM_LEFT: "╚";
|
|
169
|
+
readonly D_BOTTOM_RIGHT: "╝";
|
|
170
|
+
readonly D_HORIZONTAL: "═";
|
|
171
|
+
readonly D_VERTICAL: "║";
|
|
172
|
+
readonly R_TOP_LEFT: "╭";
|
|
173
|
+
readonly R_TOP_RIGHT: "╮";
|
|
174
|
+
readonly R_BOTTOM_LEFT: "╰";
|
|
175
|
+
readonly R_BOTTOM_RIGHT: "╯";
|
|
176
|
+
readonly H_HORIZONTAL: "━";
|
|
177
|
+
readonly H_VERTICAL: "┃";
|
|
178
|
+
readonly H_TOP_LEFT: "┏";
|
|
179
|
+
readonly H_TOP_RIGHT: "┓";
|
|
180
|
+
readonly H_BOTTOM_LEFT: "┗";
|
|
181
|
+
readonly H_BOTTOM_RIGHT: "┛";
|
|
182
|
+
readonly TREE_BRANCH: "├";
|
|
183
|
+
readonly TREE_LAST: "└";
|
|
184
|
+
readonly TREE_VERTICAL: "│";
|
|
185
|
+
readonly TREE_BLANK: " ";
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Visual indicators and symbols
|
|
189
|
+
*/
|
|
190
|
+
export declare const SYMBOLS: {
|
|
191
|
+
readonly SUCCESS: "✓";
|
|
192
|
+
readonly ERROR: "✗";
|
|
193
|
+
readonly WARNING: "⚠";
|
|
194
|
+
readonly INFO: "ℹ";
|
|
195
|
+
readonly PENDING: "○";
|
|
196
|
+
readonly ACTIVE: "●";
|
|
197
|
+
readonly PROGRESS_FULL: "█";
|
|
198
|
+
readonly PROGRESS_HALF: "▌";
|
|
199
|
+
readonly PROGRESS_QUARTER: "▎";
|
|
200
|
+
readonly PROGRESS_EMPTY: "░";
|
|
201
|
+
readonly ARROW_RIGHT: "→";
|
|
202
|
+
readonly ARROW_LEFT: "←";
|
|
203
|
+
readonly ARROW_UP: "↑";
|
|
204
|
+
readonly ARROW_DOWN: "↓";
|
|
205
|
+
readonly DOUBLE_RIGHT: "»";
|
|
206
|
+
readonly DOUBLE_LEFT: "«";
|
|
207
|
+
readonly BULLET: "•";
|
|
208
|
+
readonly DIAMOND: "◆";
|
|
209
|
+
readonly CIRCLE: "○";
|
|
210
|
+
readonly FILLED_CIRCLE: "●";
|
|
211
|
+
readonly SQUARE: "□";
|
|
212
|
+
readonly FILLED_SQUARE: "■";
|
|
213
|
+
readonly TRIANGLE: "▶";
|
|
214
|
+
readonly PLAY: "▶";
|
|
215
|
+
readonly PAUSE: "⏸";
|
|
216
|
+
readonly STOP: "⏹";
|
|
217
|
+
readonly RECORD: "⏺";
|
|
218
|
+
readonly ELLIPSIS: "…";
|
|
219
|
+
readonly HOURGLASS: "⏳";
|
|
220
|
+
readonly CHECKMARK: "✔";
|
|
221
|
+
readonly CROSSMARK: "✘";
|
|
222
|
+
readonly STAR: "★";
|
|
223
|
+
readonly SPARKLE: "✨";
|
|
224
|
+
readonly LIGHTNING: "⚡";
|
|
225
|
+
readonly FIRE: "🔥";
|
|
226
|
+
readonly GEAR: "⚙";
|
|
227
|
+
readonly FOLDER: "📁";
|
|
228
|
+
readonly FILE: "📄";
|
|
229
|
+
readonly LINK: "🔗";
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Format a progress bar
|
|
233
|
+
*/
|
|
234
|
+
export declare function formatProgressBar(percentage: number, width?: number, options?: {
|
|
235
|
+
showPercentage?: boolean;
|
|
236
|
+
filled?: string;
|
|
237
|
+
empty?: string;
|
|
238
|
+
}): string;
|
|
239
|
+
/**
|
|
240
|
+
* Format a box with content
|
|
241
|
+
*/
|
|
242
|
+
export declare function formatBox(content: string | string[], options?: {
|
|
243
|
+
title?: string;
|
|
244
|
+
width?: number;
|
|
245
|
+
style?: 'single' | 'double' | 'rounded' | 'heavy';
|
|
246
|
+
padding?: number;
|
|
247
|
+
}): string;
|
|
248
|
+
/**
|
|
249
|
+
* Format a tree structure
|
|
250
|
+
*/
|
|
251
|
+
export declare function formatTree(items: Array<{
|
|
252
|
+
label: string;
|
|
253
|
+
children?: Array<{
|
|
254
|
+
label: string;
|
|
255
|
+
}>;
|
|
256
|
+
}>, options?: {
|
|
257
|
+
indent?: number;
|
|
258
|
+
}): string;
|
|
259
|
+
/**
|
|
260
|
+
* Format a horizontal separator
|
|
261
|
+
*/
|
|
262
|
+
export declare function formatSeparator(width?: number, options?: {
|
|
263
|
+
style?: 'single' | 'double' | 'heavy' | 'dotted' | 'dashed';
|
|
264
|
+
label?: string;
|
|
265
|
+
}): string;
|
|
266
|
+
/**
|
|
267
|
+
* Format a section header with visual emphasis
|
|
268
|
+
*/
|
|
269
|
+
export declare function formatSectionHeader(title: string, options?: {
|
|
270
|
+
width?: number;
|
|
271
|
+
style?: 'box' | 'underline' | 'bracket' | 'arrow';
|
|
272
|
+
icon?: string;
|
|
273
|
+
}): string;
|
|
274
|
+
/**
|
|
275
|
+
* Format a status indicator with icon and label
|
|
276
|
+
*/
|
|
277
|
+
export declare function formatStatus(status: 'success' | 'error' | 'warning' | 'info' | 'pending' | 'active', label: string, detail?: string): string;
|
|
278
|
+
/**
|
|
279
|
+
* Format a metric/stat display
|
|
280
|
+
*/
|
|
281
|
+
export declare function formatMetric(label: string, value: string | number, options?: {
|
|
282
|
+
unit?: string;
|
|
283
|
+
trend?: 'up' | 'down' | 'neutral';
|
|
284
|
+
color?: 'success' | 'warning' | 'error' | 'info';
|
|
285
|
+
}): string;
|
|
286
|
+
/**
|
|
287
|
+
* Format a table-like display with aligned columns
|
|
288
|
+
*/
|
|
289
|
+
export declare function formatTable(rows: Array<string[]>, options?: {
|
|
290
|
+
headers?: string[];
|
|
291
|
+
separator?: boolean;
|
|
292
|
+
align?: Array<'left' | 'right' | 'center'>;
|
|
293
|
+
}): string;
|
|
294
|
+
/**
|
|
295
|
+
* Format a compact stats line
|
|
296
|
+
*/
|
|
297
|
+
export declare function formatStatsLine(stats: Array<{
|
|
298
|
+
label: string;
|
|
299
|
+
value: string | number;
|
|
300
|
+
color?: 'success' | 'warning' | 'error' | 'info';
|
|
301
|
+
}>): string;
|
|
302
|
+
/**
|
|
303
|
+
* Format a tool execution block with full visual treatment
|
|
304
|
+
*/
|
|
305
|
+
export declare function formatToolExecutionBlock(call: ToolCallDisplay, result: ToolResultDisplay, options?: {
|
|
306
|
+
expanded?: boolean;
|
|
307
|
+
showDuration?: boolean;
|
|
308
|
+
}): string;
|
|
151
309
|
//# sourceMappingURL=toolDisplay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDisplay.d.ts","sourceRoot":"","sources":["../../src/ui/toolDisplay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolDisplay.d.ts","sourceRoot":"","sources":["../../src/ui/toolDisplay.ts"],"names":[],"mappings":"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"}
|