erosolar-cli 2.1.97 → 2.1.98

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "2.1.97",
3
+ "version": "2.1.98",
4
4
  "description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
5
5
  "main": "dist/bin/erosolar.js",
6
6
  "type": "module",
@@ -1,32 +0,0 @@
1
- /**
2
- * StreamingResponseFormatter
3
- * Claude Code style: Format streaming content with ⏺ bullet prefix.
4
- * First line gets bullet, continuation lines are indented.
5
- */
6
- export declare class StreamingResponseFormatter {
7
- private lineOpen;
8
- private currentLine;
9
- private mode;
10
- private isFirstLine;
11
- private columns;
12
- constructor(columns?: number);
13
- header(): string;
14
- /**
15
- * Set the streaming mode (content vs reasoning)
16
- * Reasoning chunks are visually distinguished with muted styling
17
- */
18
- setMode(mode: 'content' | 'reasoning'): void;
19
- formatChunk(chunk: string): string;
20
- /**
21
- * Format reasoning chunk with visual indicator
22
- * Used for extended thinking mode - uses muted ○ prefix
23
- */
24
- formatReasoningChunk(chunk: string): string;
25
- finish(options?: string | {
26
- note?: string;
27
- mode?: 'update' | 'complete' | 'stop' | 'quit';
28
- }): string;
29
- private resetState;
30
- private modeIcon;
31
- }
32
- //# sourceMappingURL=streamingFormatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamingFormatter.d.ts","sourceRoot":"","sources":["../../src/ui/streamingFormatter.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAI5B,MAAM,IAAI,MAAM;IAMhB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI;IAI5C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA0ClC;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAqC3C,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAsBpG,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,QAAQ;CAajB"}
@@ -1,141 +0,0 @@
1
- import { theme } from './theme.js';
2
- const BULLET = '⏺';
3
- const INDENT = ' '; // 2 spaces for continuation lines
4
- /**
5
- * StreamingResponseFormatter
6
- * Claude Code style: Format streaming content with ⏺ bullet prefix.
7
- * First line gets bullet, continuation lines are indented.
8
- */
9
- export class StreamingResponseFormatter {
10
- lineOpen = false;
11
- currentLine = '';
12
- mode = 'content';
13
- isFirstLine = true; // Track if we've output the bullet yet
14
- columns;
15
- constructor(columns) {
16
- this.columns = clamp(columns ?? 80, 48, 110);
17
- }
18
- header() {
19
- // Start on a clean line before streaming content
20
- this.isFirstLine = true;
21
- return '\n';
22
- }
23
- /**
24
- * Set the streaming mode (content vs reasoning)
25
- * Reasoning chunks are visually distinguished with muted styling
26
- */
27
- setMode(mode) {
28
- this.mode = mode;
29
- }
30
- formatChunk(chunk) {
31
- if (!chunk) {
32
- return '';
33
- }
34
- const normalized = chunk.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
35
- // Build output with bullet formatting
36
- let output = '';
37
- const chars = normalized.split('');
38
- for (const char of chars) {
39
- // Add bullet prefix for first character of first line
40
- if (this.isFirstLine && !this.lineOpen) {
41
- output += `${BULLET} `;
42
- this.isFirstLine = false;
43
- this.lineOpen = true;
44
- }
45
- if (char === '\n') {
46
- output += char;
47
- this.lineOpen = false;
48
- this.currentLine = '';
49
- }
50
- else {
51
- // If starting a new line after newline, add indent
52
- if (!this.lineOpen) {
53
- output += INDENT;
54
- this.lineOpen = true;
55
- }
56
- output += char;
57
- this.currentLine += char;
58
- }
59
- }
60
- // Apply visual distinction for reasoning blocks
61
- const formatted = this.mode === 'reasoning'
62
- ? theme.ui.muted(output)
63
- : output;
64
- return formatted;
65
- }
66
- /**
67
- * Format reasoning chunk with visual indicator
68
- * Used for extended thinking mode - uses muted ○ prefix
69
- */
70
- formatReasoningChunk(chunk) {
71
- if (!chunk) {
72
- return '';
73
- }
74
- const normalized = chunk.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
75
- // Build output with muted bullet formatting for reasoning
76
- let output = '';
77
- const chars = normalized.split('');
78
- for (const char of chars) {
79
- // Add muted bullet prefix for first character of first line
80
- if (this.isFirstLine && !this.lineOpen) {
81
- output += '○ '; // Muted bullet for reasoning
82
- this.isFirstLine = false;
83
- this.lineOpen = true;
84
- }
85
- if (char === '\n') {
86
- output += char;
87
- this.lineOpen = false;
88
- this.currentLine = '';
89
- }
90
- else {
91
- // If starting a new line after newline, add indent
92
- if (!this.lineOpen) {
93
- output += INDENT;
94
- this.lineOpen = true;
95
- }
96
- output += char;
97
- this.currentLine += char;
98
- }
99
- }
100
- return theme.ui.muted(output);
101
- }
102
- finish(options) {
103
- const resolved = typeof options === 'string' ? { note: options } : options ?? {};
104
- const note = resolved.note?.trim();
105
- const mode = resolved.mode ?? 'complete';
106
- let output = '';
107
- // Close any open line so the status note lands on its own line
108
- if (this.lineOpen) {
109
- output += '\n';
110
- }
111
- if (note) {
112
- const icon = this.modeIcon(mode);
113
- const statusText = icon ? `${icon} ${note}` : note;
114
- output += `${statusText}\n`;
115
- }
116
- this.resetState();
117
- return output;
118
- }
119
- resetState() {
120
- this.lineOpen = false;
121
- this.currentLine = '';
122
- this.isFirstLine = true;
123
- }
124
- modeIcon(mode) {
125
- switch (mode) {
126
- case 'update':
127
- return theme.info('↺');
128
- case 'stop':
129
- return theme.warning('■');
130
- case 'quit':
131
- return theme.error('■');
132
- case 'complete':
133
- default:
134
- return null;
135
- }
136
- }
137
- }
138
- function clamp(value, min, max) {
139
- return Math.max(min, Math.min(max, value));
140
- }
141
- //# sourceMappingURL=streamingFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamingFormatter.js","sourceRoot":"","sources":["../../src/ui/streamingFormatter.ts"],"names":[],"mappings":"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"}