erosolar-cli 1.7.13 → 1.7.15

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.
Files changed (65) hide show
  1. package/dist/core/responseVerifier.d.ts +79 -0
  2. package/dist/core/responseVerifier.d.ts.map +1 -0
  3. package/dist/core/responseVerifier.js +443 -0
  4. package/dist/core/responseVerifier.js.map +1 -0
  5. package/dist/shell/interactiveShell.d.ts +5 -0
  6. package/dist/shell/interactiveShell.d.ts.map +1 -1
  7. package/dist/shell/interactiveShell.js +45 -14
  8. package/dist/shell/interactiveShell.js.map +1 -1
  9. package/dist/ui/ShellUIAdapter.d.ts +3 -0
  10. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  11. package/dist/ui/ShellUIAdapter.js +4 -10
  12. package/dist/ui/ShellUIAdapter.js.map +1 -1
  13. package/dist/ui/display.d.ts +15 -0
  14. package/dist/ui/display.d.ts.map +1 -1
  15. package/dist/ui/display.js +57 -0
  16. package/dist/ui/display.js.map +1 -1
  17. package/dist/ui/persistentPrompt.d.ts +4 -0
  18. package/dist/ui/persistentPrompt.d.ts.map +1 -1
  19. package/dist/ui/persistentPrompt.js +10 -11
  20. package/dist/ui/persistentPrompt.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/bin/core/agent.js +0 -362
  23. package/dist/bin/core/agentProfileManifest.js +0 -187
  24. package/dist/bin/core/agentProfiles.js +0 -34
  25. package/dist/bin/core/agentRulebook.js +0 -135
  26. package/dist/bin/core/agentSchemaLoader.js +0 -233
  27. package/dist/bin/core/contextManager.js +0 -412
  28. package/dist/bin/core/contextWindow.js +0 -122
  29. package/dist/bin/core/customCommands.js +0 -80
  30. package/dist/bin/core/errors/apiKeyErrors.js +0 -114
  31. package/dist/bin/core/errors/errorTypes.js +0 -340
  32. package/dist/bin/core/errors/safetyValidator.js +0 -304
  33. package/dist/bin/core/errors.js +0 -32
  34. package/dist/bin/core/modelDiscovery.js +0 -755
  35. package/dist/bin/core/preferences.js +0 -224
  36. package/dist/bin/core/schemaValidator.js +0 -92
  37. package/dist/bin/core/secretStore.js +0 -199
  38. package/dist/bin/core/sessionStore.js +0 -187
  39. package/dist/bin/core/toolRuntime.js +0 -290
  40. package/dist/bin/core/types.js +0 -1
  41. package/dist/bin/shell/bracketedPasteManager.js +0 -350
  42. package/dist/bin/shell/fileChangeTracker.js +0 -65
  43. package/dist/bin/shell/interactiveShell.js +0 -2908
  44. package/dist/bin/shell/liveStatus.js +0 -78
  45. package/dist/bin/shell/shellApp.js +0 -290
  46. package/dist/bin/shell/systemPrompt.js +0 -60
  47. package/dist/bin/shell/updateManager.js +0 -108
  48. package/dist/bin/ui/ShellUIAdapter.js +0 -459
  49. package/dist/bin/ui/UnifiedUIController.js +0 -183
  50. package/dist/bin/ui/animation/AnimationScheduler.js +0 -430
  51. package/dist/bin/ui/codeHighlighter.js +0 -854
  52. package/dist/bin/ui/designSystem.js +0 -121
  53. package/dist/bin/ui/display.js +0 -1222
  54. package/dist/bin/ui/interrupts/InterruptManager.js +0 -437
  55. package/dist/bin/ui/layout.js +0 -139
  56. package/dist/bin/ui/orchestration/StatusOrchestrator.js +0 -403
  57. package/dist/bin/ui/outputMode.js +0 -38
  58. package/dist/bin/ui/persistentPrompt.js +0 -183
  59. package/dist/bin/ui/richText.js +0 -338
  60. package/dist/bin/ui/shortcutsHelp.js +0 -87
  61. package/dist/bin/ui/telemetry/UITelemetry.js +0 -443
  62. package/dist/bin/ui/textHighlighter.js +0 -210
  63. package/dist/bin/ui/theme.js +0 -116
  64. package/dist/bin/ui/toolDisplay.js +0 -423
  65. package/dist/bin/ui/toolDisplayAdapter.js +0 -357
@@ -1,121 +0,0 @@
1
- import { icons, theme } from './theme.js';
2
- import { getContentWidth, normalizePanelWidth, renderPanel, wrapParagraph, measure, } from './layout.js';
3
- import { isPlainOutputMode } from './outputMode.js';
4
- const toneColors = {
5
- neutral: theme.ui.text,
6
- info: theme.info,
7
- success: theme.success,
8
- warning: theme.warning,
9
- danger: theme.error,
10
- accent: theme.secondary,
11
- };
12
- export function renderStatusBar(segments, options = {}) {
13
- if (!segments.length) {
14
- return '';
15
- }
16
- const width = clampWidth(options.width ?? getContentWidth());
17
- const divider = theme.ui.muted(` ${icons.bullet} `);
18
- const chunks = segments
19
- .filter((segment) => Boolean(segment.label?.trim() && segment.value?.trim()))
20
- .map((segment) => formatStatusChunk(segment));
21
- if (!chunks.length) {
22
- return '';
23
- }
24
- const lines = [];
25
- let current = '';
26
- const pushChunk = (chunk) => {
27
- if (!current) {
28
- current = chunk;
29
- return;
30
- }
31
- const candidate = `${current}${divider}${chunk}`;
32
- if (measure(candidate) > width) {
33
- lines.push(padLine(current, width));
34
- current = chunk;
35
- }
36
- else {
37
- current = candidate;
38
- }
39
- };
40
- chunks.forEach(pushChunk);
41
- if (current) {
42
- lines.push(padLine(current, width));
43
- }
44
- return lines.join('\n');
45
- }
46
- export function renderCallout(message, options = {}) {
47
- const width = options.width ?? getContentWidth();
48
- const tone = options.tone ?? 'info';
49
- const icon = options.icon ?? icons.info;
50
- const title = options.title ?? capitalize(tone);
51
- const accent = toneColors[tone] ?? toneColors.info;
52
- const contentWidth = Math.max(24, normalizePanelWidth(width) - 4);
53
- // Split by newlines to preserve intentional line breaks
54
- const rawLines = message.split('\n');
55
- const paragraphs = [];
56
- for (const line of rawLines) {
57
- const trimmed = line.trim();
58
- if (!trimmed) {
59
- // Empty line - add a blank line to preserve spacing
60
- paragraphs.push('');
61
- }
62
- else {
63
- // Wrap this line
64
- const wrapped = wrapParagraph(trimmed, contentWidth);
65
- paragraphs.push(...wrapped);
66
- }
67
- }
68
- return renderPanel(paragraphs, {
69
- icon,
70
- title,
71
- accentColor: accent,
72
- borderColor: accent,
73
- width,
74
- });
75
- }
76
- export function renderSectionHeading(title, options = {}) {
77
- const width = clampWidth(options.width ?? getContentWidth());
78
- const accent = toneColors[options.tone ?? 'accent'] ?? toneColors.accent;
79
- const icon = options.icon ? `${options.icon} ` : '';
80
- const label = `${icon}${title}`.toUpperCase();
81
- // Plain output mode for clipboard-friendly text
82
- if (isPlainOutputMode()) {
83
- const subtitle = options.subtitle?.trim()
84
- ? `: ${theme.ui.muted(options.subtitle.trim())}`
85
- : '';
86
- return accent(`${label}${subtitle}`);
87
- }
88
- const underline = accent('━'.repeat(width));
89
- const subtitle = options.subtitle?.trim()
90
- ? `${theme.ui.muted(options.subtitle.trim())}`
91
- : '';
92
- const lines = [underline, accent(padLine(label, width))];
93
- if (subtitle) {
94
- lines.push(padLine(subtitle, width));
95
- }
96
- return lines.join('\n');
97
- }
98
- function formatStatusChunk(segment) {
99
- const tone = toneColors[segment.tone ?? 'neutral'] ?? toneColors.neutral;
100
- const icon = segment.icon ? `${tone(segment.icon)} ` : '';
101
- const label = theme.ui.muted(segment.label.trim().toUpperCase());
102
- const value = tone(segment.value.trim());
103
- return `${icon}${label} ${value}`;
104
- }
105
- function padLine(text, width) {
106
- const visible = measure(text);
107
- if (visible >= width) {
108
- return text;
109
- }
110
- return `${text}${' '.repeat(width - visible)}`;
111
- }
112
- function clampWidth(value) {
113
- const normalized = Math.max(32, Math.floor(value));
114
- return Math.min(120, normalized);
115
- }
116
- function capitalize(value) {
117
- if (!value) {
118
- return '';
119
- }
120
- return value.slice(0, 1).toUpperCase() + value.slice(1);
121
- }