erosolar-cli 1.7.14 → 1.7.16

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 (61) 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 +10 -0
  6. package/dist/shell/interactiveShell.d.ts.map +1 -1
  7. package/dist/shell/interactiveShell.js +80 -0
  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/persistentPrompt.d.ts +4 -0
  14. package/dist/ui/persistentPrompt.d.ts.map +1 -1
  15. package/dist/ui/persistentPrompt.js +10 -11
  16. package/dist/ui/persistentPrompt.js.map +1 -1
  17. package/package.json +1 -1
  18. package/dist/bin/core/agent.js +0 -362
  19. package/dist/bin/core/agentProfileManifest.js +0 -187
  20. package/dist/bin/core/agentProfiles.js +0 -34
  21. package/dist/bin/core/agentRulebook.js +0 -135
  22. package/dist/bin/core/agentSchemaLoader.js +0 -233
  23. package/dist/bin/core/contextManager.js +0 -412
  24. package/dist/bin/core/contextWindow.js +0 -122
  25. package/dist/bin/core/customCommands.js +0 -80
  26. package/dist/bin/core/errors/apiKeyErrors.js +0 -114
  27. package/dist/bin/core/errors/errorTypes.js +0 -340
  28. package/dist/bin/core/errors/safetyValidator.js +0 -304
  29. package/dist/bin/core/errors.js +0 -32
  30. package/dist/bin/core/modelDiscovery.js +0 -755
  31. package/dist/bin/core/preferences.js +0 -224
  32. package/dist/bin/core/schemaValidator.js +0 -92
  33. package/dist/bin/core/secretStore.js +0 -199
  34. package/dist/bin/core/sessionStore.js +0 -187
  35. package/dist/bin/core/toolRuntime.js +0 -290
  36. package/dist/bin/core/types.js +0 -1
  37. package/dist/bin/shell/bracketedPasteManager.js +0 -350
  38. package/dist/bin/shell/fileChangeTracker.js +0 -65
  39. package/dist/bin/shell/interactiveShell.js +0 -2908
  40. package/dist/bin/shell/liveStatus.js +0 -78
  41. package/dist/bin/shell/shellApp.js +0 -290
  42. package/dist/bin/shell/systemPrompt.js +0 -60
  43. package/dist/bin/shell/updateManager.js +0 -108
  44. package/dist/bin/ui/ShellUIAdapter.js +0 -459
  45. package/dist/bin/ui/UnifiedUIController.js +0 -183
  46. package/dist/bin/ui/animation/AnimationScheduler.js +0 -430
  47. package/dist/bin/ui/codeHighlighter.js +0 -854
  48. package/dist/bin/ui/designSystem.js +0 -121
  49. package/dist/bin/ui/display.js +0 -1222
  50. package/dist/bin/ui/interrupts/InterruptManager.js +0 -437
  51. package/dist/bin/ui/layout.js +0 -139
  52. package/dist/bin/ui/orchestration/StatusOrchestrator.js +0 -403
  53. package/dist/bin/ui/outputMode.js +0 -38
  54. package/dist/bin/ui/persistentPrompt.js +0 -183
  55. package/dist/bin/ui/richText.js +0 -338
  56. package/dist/bin/ui/shortcutsHelp.js +0 -87
  57. package/dist/bin/ui/telemetry/UITelemetry.js +0 -443
  58. package/dist/bin/ui/textHighlighter.js +0 -210
  59. package/dist/bin/ui/theme.js +0 -116
  60. package/dist/bin/ui/toolDisplay.js +0 -423
  61. 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
- }