@nicomatt69/streamtty 0.0.4 → 0.2.0
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/dist/ai-sdk-adapter.d.ts +10 -1
- package/dist/ai-sdk-adapter.d.ts.map +1 -1
- package/dist/ai-sdk-adapter.js +53 -6
- package/dist/ai-sdk-adapter.js.map +1 -1
- package/dist/cli.js +46 -5
- package/dist/cli.js.map +1 -1
- package/dist/errors.js +25 -11
- package/dist/errors.js.map +1 -1
- package/dist/events.js +17 -9
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +40 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +127 -43
- package/dist/index.js.map +1 -1
- package/dist/parser/streaming-parser.js +8 -4
- package/dist/parser/streaming-parser.js.map +1 -1
- package/dist/performance.js +15 -9
- package/dist/performance.js.map +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +17 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/plugin-system-inline.js +29 -24
- package/dist/plugins/plugin-system-inline.js.map +1 -1
- package/dist/plugins/plugin-system.js +6 -2
- package/dist/plugins/plugin-system.js.map +1 -1
- package/dist/plugins/rehype/harden.js +6 -3
- package/dist/plugins/rehype/harden.js.map +1 -1
- package/dist/plugins/rehype/index.d.ts +1 -1
- package/dist/plugins/rehype/index.d.ts.map +1 -1
- package/dist/plugins/rehype/index.js +17 -1
- package/dist/plugins/rehype/index.js.map +1 -1
- package/dist/plugins/remark/index.d.ts +2 -2
- package/dist/plugins/remark/index.d.ts.map +1 -1
- package/dist/plugins/remark/index.js +18 -2
- package/dist/plugins/remark/index.js.map +1 -1
- package/dist/plugins/remark/math.js +4 -1
- package/dist/plugins/remark/math.js.map +1 -1
- package/dist/plugins/remark/mermaid.js +4 -1
- package/dist/plugins/remark/mermaid.js.map +1 -1
- package/dist/plugins/types.js +2 -1
- package/dist/renderer/{ansi-renderer.d.ts → blessed-renderer.d.ts} +36 -20
- package/dist/renderer/blessed-renderer.d.ts.map +1 -0
- package/dist/renderer/blessed-renderer.js +610 -0
- package/dist/renderer/blessed-renderer.js.map +1 -0
- package/dist/renderers/index.d.ts +3 -3
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +17 -3
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/math-renderer.js +11 -4
- package/dist/renderers/math-renderer.js.map +1 -1
- package/dist/renderers/mermaid-ascii.js +6 -2
- package/dist/renderers/mermaid-ascii.js.map +1 -1
- package/dist/renderers/mermaid-renderer.js +11 -6
- package/dist/renderers/mermaid-renderer.js.map +1 -1
- package/dist/renderers/shiki-ansi.js +8 -4
- package/dist/renderers/shiki-ansi.js.map +1 -1
- package/dist/renderers/table-ascii.js +10 -4
- package/dist/renderers/table-ascii.js.map +1 -1
- package/dist/renderers/table-renderer.d.ts +49 -0
- package/dist/renderers/table-renderer.d.ts.map +1 -0
- package/dist/renderers/table-renderer.js +224 -0
- package/dist/renderers/table-renderer.js.map +1 -0
- package/dist/renderers/unicode-math.js +12 -5
- package/dist/renderers/unicode-math.js.map +1 -1
- package/dist/security/ansi-sanitizer.js +18 -8
- package/dist/security/ansi-sanitizer.js.map +1 -1
- package/dist/security/chunk-processor.js +30 -14
- package/dist/security/chunk-processor.js.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +17 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/input-validator.js +13 -8
- package/dist/security/input-validator.js.map +1 -1
- package/dist/stream-protocol.d.ts.map +1 -1
- package/dist/stream-protocol.js +30 -3
- package/dist/stream-protocol.js.map +1 -1
- package/dist/streamdown-compat.d.ts +8 -5
- package/dist/streamdown-compat.d.ts.map +1 -1
- package/dist/streamdown-compat.js +26 -13
- package/dist/streamdown-compat.js.map +1 -1
- package/dist/streaming/stream-stats.js +7 -2
- package/dist/streaming/stream-stats.js.map +1 -1
- package/dist/streaming-integration.js +34 -22
- package/dist/streaming-integration.js.map +1 -1
- package/dist/themes/index.js +14 -9
- package/dist/themes/index.js.map +1 -1
- package/dist/types/index.d.ts +81 -27
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/plugin-types.js +2 -1
- package/dist/types/plugin-types.js.map +1 -1
- package/dist/types/stream-events.d.ts +1 -1
- package/dist/types/stream-events.d.ts.map +1 -1
- package/dist/types/stream-events.js +2 -1
- package/dist/types/stream-events.js.map +1 -1
- package/dist/utils/blessed-syntax-highlighter.js +92 -66
- package/dist/utils/blessed-syntax-highlighter.js.map +1 -1
- package/dist/utils/enhanced-table-renderer.js +52 -8
- package/dist/utils/enhanced-table-renderer.js.map +1 -1
- package/dist/utils/formatting.js +33 -17
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +20 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/math-unicode-renderer.js +14 -6
- package/dist/utils/math-unicode-renderer.js.map +1 -1
- package/dist/utils/mermaid-ascii-renderer.js +8 -3
- package/dist/utils/mermaid-ascii-renderer.js.map +1 -1
- package/dist/utils/mermaid-ascii.js +23 -17
- package/dist/utils/mermaid-ascii.js.map +1 -1
- package/dist/utils/shiki-ansi-renderer.js +14 -7
- package/dist/utils/shiki-ansi-renderer.js.map +1 -1
- package/dist/utils/syntax-highlighter.js +44 -27
- package/dist/utils/syntax-highlighter.js.map +1 -1
- package/dist/utils/table-formatter-inline.js +12 -5
- package/dist/utils/table-formatter-inline.js.map +1 -1
- package/dist/utils/table.js +15 -9
- package/dist/utils/table.js.map +1 -1
- package/dist/widgets/stream-indicator.js +15 -6
- package/dist/widgets/stream-indicator.js.map +1 -1
- package/package.json +14 -13
- package/dist/renderer/ansi-renderer.d.ts.map +0 -1
- package/dist/renderer/ansi-renderer.js +0 -391
- package/dist/renderer/ansi-renderer.js.map +0 -1
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.tableRenderer = exports.TableRenderer = void 0;
|
|
7
|
+
const blessed_1 = __importDefault(require("blessed"));
|
|
8
|
+
/**
|
|
9
|
+
* Advanced table renderer for TTY
|
|
10
|
+
* Renders markdown tables with proper alignment and formatting
|
|
11
|
+
*/
|
|
12
|
+
class TableRenderer {
|
|
13
|
+
/**
|
|
14
|
+
* Render a table token to a blessed table widget
|
|
15
|
+
*/
|
|
16
|
+
render(token, yOffset, parent, interactive = false) {
|
|
17
|
+
try {
|
|
18
|
+
// Parse table data from token
|
|
19
|
+
const tableData = this.parseTableToken(token);
|
|
20
|
+
if (!tableData) {
|
|
21
|
+
return this.renderFallback(token, yOffset, parent);
|
|
22
|
+
}
|
|
23
|
+
return this.renderTable(tableData, yOffset, parent, interactive);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.warn('Failed to render table:', error);
|
|
27
|
+
return this.renderFallback(token, yOffset, parent);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse table token to structured data
|
|
32
|
+
*/
|
|
33
|
+
parseTableToken(token) {
|
|
34
|
+
try {
|
|
35
|
+
// Token content should be JSON stringified table data
|
|
36
|
+
const parsed = JSON.parse(token.content);
|
|
37
|
+
if (!parsed.header || !parsed.rows) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
headers: parsed.header.map((h) => h.text || String(h)),
|
|
42
|
+
rows: parsed.rows.map((row) => row.map((cell) => cell.text || String(cell))),
|
|
43
|
+
align: parsed.align || [],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
// Try to parse from raw markdown table
|
|
48
|
+
return this.parseMarkdownTable(token.raw || token.content);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse raw markdown table
|
|
53
|
+
*/
|
|
54
|
+
parseMarkdownTable(markdown) {
|
|
55
|
+
const lines = markdown.trim().split('\n');
|
|
56
|
+
if (lines.length < 3)
|
|
57
|
+
return null;
|
|
58
|
+
// Parse header
|
|
59
|
+
const headers = lines[0]
|
|
60
|
+
.split('|')
|
|
61
|
+
.map(h => h.trim())
|
|
62
|
+
.filter(h => h);
|
|
63
|
+
// Parse alignment from separator line
|
|
64
|
+
const alignLine = lines[1];
|
|
65
|
+
const align = alignLine
|
|
66
|
+
.split('|')
|
|
67
|
+
.map(a => a.trim())
|
|
68
|
+
.filter(a => a)
|
|
69
|
+
.map(a => {
|
|
70
|
+
if (a.startsWith(':') && a.endsWith(':'))
|
|
71
|
+
return 'center';
|
|
72
|
+
if (a.endsWith(':'))
|
|
73
|
+
return 'right';
|
|
74
|
+
return 'left';
|
|
75
|
+
});
|
|
76
|
+
// Parse rows
|
|
77
|
+
const rows = lines.slice(2).map(line => line
|
|
78
|
+
.split('|')
|
|
79
|
+
.map(c => c.trim())
|
|
80
|
+
.filter(c => c));
|
|
81
|
+
return { headers, rows, align };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Render table with blessed
|
|
85
|
+
*/
|
|
86
|
+
renderTable(data, yOffset, parent, interactive) {
|
|
87
|
+
const { headers, rows, align } = data;
|
|
88
|
+
// Calculate column widths
|
|
89
|
+
const colWidths = this.calculateColumnWidths(headers, rows);
|
|
90
|
+
// Build table content
|
|
91
|
+
const content = this.buildTableContent(headers, rows, colWidths, align);
|
|
92
|
+
// Create box with table content
|
|
93
|
+
const tableBox = blessed_1.default.box({
|
|
94
|
+
parent,
|
|
95
|
+
top: yOffset,
|
|
96
|
+
left: 0,
|
|
97
|
+
width: '100%-4',
|
|
98
|
+
height: 'shrink',
|
|
99
|
+
content,
|
|
100
|
+
tags: true,
|
|
101
|
+
border: {
|
|
102
|
+
type: 'line',
|
|
103
|
+
},
|
|
104
|
+
style: {
|
|
105
|
+
border: {
|
|
106
|
+
fg: 'cyan',
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
padding: {
|
|
110
|
+
left: 1,
|
|
111
|
+
right: 1,
|
|
112
|
+
},
|
|
113
|
+
scrollable: true,
|
|
114
|
+
keys: interactive,
|
|
115
|
+
vi: interactive,
|
|
116
|
+
mouse: interactive,
|
|
117
|
+
});
|
|
118
|
+
if (interactive) {
|
|
119
|
+
this.setupTableControls(tableBox);
|
|
120
|
+
}
|
|
121
|
+
return tableBox;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Calculate column widths
|
|
125
|
+
*/
|
|
126
|
+
calculateColumnWidths(headers, rows) {
|
|
127
|
+
const widths = headers.map(h => h.length);
|
|
128
|
+
for (const row of rows) {
|
|
129
|
+
row.forEach((cell, i) => {
|
|
130
|
+
widths[i] = Math.max(widths[i] || 0, cell.length);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return widths.map(w => Math.min(w + 2, 30)); // Cap at 30 chars
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Build table content string
|
|
137
|
+
*/
|
|
138
|
+
buildTableContent(headers, rows, widths, align) {
|
|
139
|
+
const lines = [];
|
|
140
|
+
// Header row
|
|
141
|
+
const headerLine = headers
|
|
142
|
+
.map((h, i) => this.alignText(h, widths[i], align[i] || 'left'))
|
|
143
|
+
.join(' │ ');
|
|
144
|
+
lines.push(`{bold}${headerLine}{/bold}`);
|
|
145
|
+
// Separator
|
|
146
|
+
const separator = widths.map(w => '─'.repeat(w)).join('─┼─');
|
|
147
|
+
lines.push(separator);
|
|
148
|
+
// Data rows
|
|
149
|
+
for (const row of rows) {
|
|
150
|
+
const rowLine = row
|
|
151
|
+
.map((cell, i) => this.alignText(cell, widths[i], align[i] || 'left'))
|
|
152
|
+
.join(' │ ');
|
|
153
|
+
lines.push(rowLine);
|
|
154
|
+
}
|
|
155
|
+
return lines.join('\n');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Align text within column width
|
|
159
|
+
*/
|
|
160
|
+
alignText(text, width, align) {
|
|
161
|
+
const trimmed = text.substring(0, width);
|
|
162
|
+
switch (align) {
|
|
163
|
+
case 'center':
|
|
164
|
+
const totalPadding = width - trimmed.length;
|
|
165
|
+
const leftPad = Math.floor(totalPadding / 2);
|
|
166
|
+
const rightPad = totalPadding - leftPad;
|
|
167
|
+
return ' '.repeat(leftPad) + trimmed + ' '.repeat(rightPad);
|
|
168
|
+
case 'right':
|
|
169
|
+
return trimmed.padStart(width);
|
|
170
|
+
default: // left
|
|
171
|
+
return trimmed.padEnd(width);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Setup interactive table controls
|
|
176
|
+
*/
|
|
177
|
+
setupTableControls(box) {
|
|
178
|
+
// Scroll with arrow keys
|
|
179
|
+
box.key(['up', 'k'], () => {
|
|
180
|
+
box.scroll(-1);
|
|
181
|
+
box.screen.render();
|
|
182
|
+
});
|
|
183
|
+
box.key(['down', 'j'], () => {
|
|
184
|
+
box.scroll(1);
|
|
185
|
+
box.screen.render();
|
|
186
|
+
});
|
|
187
|
+
box.key(['pageup'], () => {
|
|
188
|
+
box.scroll(-(box.height || 10));
|
|
189
|
+
box.screen.render();
|
|
190
|
+
});
|
|
191
|
+
box.key(['pagedown'], () => {
|
|
192
|
+
box.scroll(box.height || 10);
|
|
193
|
+
box.screen.render();
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Fallback renderer for invalid tables
|
|
198
|
+
*/
|
|
199
|
+
renderFallback(token, yOffset, parent) {
|
|
200
|
+
return blessed_1.default.box({
|
|
201
|
+
parent,
|
|
202
|
+
top: yOffset,
|
|
203
|
+
left: 0,
|
|
204
|
+
width: '100%',
|
|
205
|
+
height: 'shrink',
|
|
206
|
+
content: '{cyan-fg}[Table]{/cyan-fg}',
|
|
207
|
+
tags: true,
|
|
208
|
+
border: {
|
|
209
|
+
type: 'line',
|
|
210
|
+
},
|
|
211
|
+
style: {
|
|
212
|
+
border: {
|
|
213
|
+
fg: 'cyan',
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.TableRenderer = TableRenderer;
|
|
220
|
+
/**
|
|
221
|
+
* Singleton instance
|
|
222
|
+
*/
|
|
223
|
+
exports.tableRenderer = new TableRenderer();
|
|
224
|
+
//# sourceMappingURL=table-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-renderer.js","sourceRoot":"","sources":["../../src/renderers/table-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* KaTeX/LaTeX → Unicode inline rendering
|
|
3
4
|
* Semplice, niente HTML/blessed, output string puro
|
|
4
5
|
* Compatibile con streaming chunks
|
|
5
6
|
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.renderMathToUnicode = renderMathToUnicode;
|
|
9
|
+
exports.renderMathBlock = renderMathBlock;
|
|
10
|
+
exports.renderMathInline = renderMathInline;
|
|
11
|
+
exports.containsMath = containsMath;
|
|
12
|
+
exports.processMathInText = processMathInText;
|
|
6
13
|
// Symbol mapping: LaTeX → Unicode
|
|
7
14
|
const SYMBOL_MAP = {
|
|
8
15
|
// Greek letters
|
|
@@ -50,7 +57,7 @@ const SYMBOL_MAP = {
|
|
|
50
57
|
* @param inline Whether it's inline (true) or display (false) mode
|
|
51
58
|
* @returns Rendered Unicode string
|
|
52
59
|
*/
|
|
53
|
-
|
|
60
|
+
function renderMathToUnicode(latex, inline = true) {
|
|
54
61
|
if (!latex || latex.trim().length === 0) {
|
|
55
62
|
return '';
|
|
56
63
|
}
|
|
@@ -128,7 +135,7 @@ export function renderMathToUnicode(latex, inline = true) {
|
|
|
128
135
|
/**
|
|
129
136
|
* Render display mode math (block, possibly multi-line)
|
|
130
137
|
*/
|
|
131
|
-
|
|
138
|
+
function renderMathBlock(latex) {
|
|
132
139
|
const content = renderMathToUnicode(latex, false);
|
|
133
140
|
// Box the content for visual separation
|
|
134
141
|
const lines = content.split('\n').map(l => l.trim()).filter(Boolean);
|
|
@@ -148,19 +155,19 @@ export function renderMathBlock(latex) {
|
|
|
148
155
|
/**
|
|
149
156
|
* Render inline math (no newlines)
|
|
150
157
|
*/
|
|
151
|
-
|
|
158
|
+
function renderMathInline(latex) {
|
|
152
159
|
return renderMathToUnicode(latex, true);
|
|
153
160
|
}
|
|
154
161
|
/**
|
|
155
162
|
* Detect if text contains math expressions
|
|
156
163
|
*/
|
|
157
|
-
|
|
164
|
+
function containsMath(text) {
|
|
158
165
|
return /(\$\$[^\$]+\$\$|\$[^\$]+\$|\\(.+?)(?=\s|$))/g.test(text);
|
|
159
166
|
}
|
|
160
167
|
/**
|
|
161
168
|
* Extract and process all math expressions in text
|
|
162
169
|
*/
|
|
163
|
-
|
|
170
|
+
function processMathInText(text) {
|
|
164
171
|
return text
|
|
165
172
|
// Display math: $$ ... $$
|
|
166
173
|
.replace(/\$\$([^\$]+)\$\$/g, (match, latex) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unicode-math.js","sourceRoot":"","sources":["../../src/renderers/unicode-math.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"unicode-math.js","sourceRoot":"","sources":["../../src/renderers/unicode-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* ANSI Code Sanitizer
|
|
3
4
|
* Prevents ANSI injection attacks while preserving safe color codes
|
|
4
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.defaultValidator = exports.ContentValidator = void 0;
|
|
8
|
+
exports.sanitizeForTerminal = sanitizeForTerminal;
|
|
9
|
+
exports.validateInput = validateInput;
|
|
10
|
+
exports.stripAnsiCodes = stripAnsiCodes;
|
|
11
|
+
exports.hasAnsiCodes = hasAnsiCodes;
|
|
12
|
+
exports.getVisibleLength = getVisibleLength;
|
|
13
|
+
exports.truncatePreservingAnsi = truncatePreservingAnsi;
|
|
5
14
|
/**
|
|
6
15
|
* Safe ANSI escape codes that are allowed
|
|
7
16
|
*/
|
|
@@ -59,7 +68,7 @@ const DANGEROUS_CONTROL_CHARS = [
|
|
|
59
68
|
* Sanitize input for terminal output
|
|
60
69
|
* Removes dangerous sequences while preserving safe ANSI color codes
|
|
61
70
|
*/
|
|
62
|
-
|
|
71
|
+
function sanitizeForTerminal(input, options) {
|
|
63
72
|
if (!input)
|
|
64
73
|
return input;
|
|
65
74
|
const { stripAnsi = false, maxLength = 1000000, allowUnicode = true, stripControlChars = true, } = options || {};
|
|
@@ -119,7 +128,7 @@ export function sanitizeForTerminal(input, options) {
|
|
|
119
128
|
result = result.replace(/\x00+/g, '');
|
|
120
129
|
return result;
|
|
121
130
|
}
|
|
122
|
-
|
|
131
|
+
function validateInput(input, maxLength = 1000000) {
|
|
123
132
|
const errors = [];
|
|
124
133
|
const warnings = [];
|
|
125
134
|
let sanitized = input;
|
|
@@ -158,25 +167,25 @@ export function validateInput(input, maxLength = 1000000) {
|
|
|
158
167
|
/**
|
|
159
168
|
* Strip all ANSI codes (for logging, etc.)
|
|
160
169
|
*/
|
|
161
|
-
|
|
170
|
+
function stripAnsiCodes(text) {
|
|
162
171
|
return text.replace(/\x1b\[[0-9;]*[a-zA-Z]/g, '');
|
|
163
172
|
}
|
|
164
173
|
/**
|
|
165
174
|
* Check if text contains ANSI codes
|
|
166
175
|
*/
|
|
167
|
-
|
|
176
|
+
function hasAnsiCodes(text) {
|
|
168
177
|
return /\x1b\[[0-9;]*[a-zA-Z]/.test(text);
|
|
169
178
|
}
|
|
170
179
|
/**
|
|
171
180
|
* Count visible characters (excluding ANSI codes)
|
|
172
181
|
*/
|
|
173
|
-
|
|
182
|
+
function getVisibleLength(text) {
|
|
174
183
|
return stripAnsiCodes(text).length;
|
|
175
184
|
}
|
|
176
185
|
/**
|
|
177
186
|
* Truncate text to visible length, preserving ANSI codes
|
|
178
187
|
*/
|
|
179
|
-
|
|
188
|
+
function truncatePreservingAnsi(text, maxVisible) {
|
|
180
189
|
let visibleCount = 0;
|
|
181
190
|
let result = '';
|
|
182
191
|
let i = 0;
|
|
@@ -200,7 +209,7 @@ export function truncatePreservingAnsi(text, maxVisible) {
|
|
|
200
209
|
/**
|
|
201
210
|
* Create a content security policy validator
|
|
202
211
|
*/
|
|
203
|
-
|
|
212
|
+
class ContentValidator {
|
|
204
213
|
maxLength;
|
|
205
214
|
maxLines;
|
|
206
215
|
allowedPatterns = [];
|
|
@@ -258,8 +267,9 @@ export class ContentValidator {
|
|
|
258
267
|
return result;
|
|
259
268
|
}
|
|
260
269
|
}
|
|
270
|
+
exports.ContentValidator = ContentValidator;
|
|
261
271
|
/**
|
|
262
272
|
* Export validator instance
|
|
263
273
|
*/
|
|
264
|
-
|
|
274
|
+
exports.defaultValidator = new ContentValidator();
|
|
265
275
|
//# sourceMappingURL=ansi-sanitizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi-sanitizer.js","sourceRoot":"","sources":["../../src/security/ansi-sanitizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"ansi-sanitizer.js","sourceRoot":"","sources":["../../src/security/ansi-sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Inline security validation and sanitization for streaming chunks
|
|
3
4
|
* Handles all 10 edge cases for robust streaming
|
|
4
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isEmptyChunk = isEmptyChunk;
|
|
8
|
+
exports.handleLargeChunk = handleLargeChunk;
|
|
9
|
+
exports.normalizeLineEndings = normalizeLineEndings;
|
|
10
|
+
exports.decodeHtmlEntities = decodeHtmlEntities;
|
|
11
|
+
exports.normalizeUnicode = normalizeUnicode;
|
|
12
|
+
exports.validateUTF8 = validateUTF8;
|
|
13
|
+
exports.stripDangerousAnsiCodes = stripDangerousAnsiCodes;
|
|
14
|
+
exports.stripControlChars = stripControlChars;
|
|
15
|
+
exports.stripNullBytes = stripNullBytes;
|
|
16
|
+
exports.validateNestingDepth = validateNestingDepth;
|
|
17
|
+
exports.validateChunk = validateChunk;
|
|
18
|
+
exports.sanitizeChunk = sanitizeChunk;
|
|
19
|
+
exports.processChunk = processChunk;
|
|
20
|
+
exports.detectSuspiciousPatterns = detectSuspiciousPatterns;
|
|
5
21
|
/**
|
|
6
22
|
* Edge Case 1: Validate empty chunks
|
|
7
23
|
*/
|
|
8
|
-
|
|
24
|
+
function isEmptyChunk(chunk) {
|
|
9
25
|
return !chunk || chunk.trim().length === 0;
|
|
10
26
|
}
|
|
11
27
|
/**
|
|
12
28
|
* Edge Case 2: Handle very large chunks (> 50KB)
|
|
13
29
|
*/
|
|
14
|
-
|
|
30
|
+
function handleLargeChunk(chunk, maxSize = 50 * 1024) {
|
|
15
31
|
const byteLength = Buffer.byteLength(chunk, 'utf-8');
|
|
16
32
|
if (byteLength > maxSize) {
|
|
17
33
|
// Split at line boundary to preserve structure
|
|
@@ -34,7 +50,7 @@ export function handleLargeChunk(chunk, maxSize = 50 * 1024) {
|
|
|
34
50
|
* Edge Case 3: Normalize mixed line endings
|
|
35
51
|
* Handles \r\n, \r, and \n
|
|
36
52
|
*/
|
|
37
|
-
|
|
53
|
+
function normalizeLineEndings(chunk) {
|
|
38
54
|
return chunk
|
|
39
55
|
.replace(/\r\n/g, '\n') // Windows to Unix
|
|
40
56
|
.replace(/\r/g, '\n'); // Old Mac to Unix
|
|
@@ -42,7 +58,7 @@ export function normalizeLineEndings(chunk) {
|
|
|
42
58
|
/**
|
|
43
59
|
* Edge Case 4: Decode HTML entities comprehensively
|
|
44
60
|
*/
|
|
45
|
-
|
|
61
|
+
function decodeHtmlEntities(chunk) {
|
|
46
62
|
let result = chunk;
|
|
47
63
|
// Named entities
|
|
48
64
|
const entities = {
|
|
@@ -83,7 +99,7 @@ export function decodeHtmlEntities(chunk) {
|
|
|
83
99
|
/**
|
|
84
100
|
* Edge Case 5: Unicode normalization NFC
|
|
85
101
|
*/
|
|
86
|
-
|
|
102
|
+
function normalizeUnicode(chunk) {
|
|
87
103
|
try {
|
|
88
104
|
return chunk.normalize('NFC');
|
|
89
105
|
}
|
|
@@ -95,7 +111,7 @@ export function normalizeUnicode(chunk) {
|
|
|
95
111
|
/**
|
|
96
112
|
* Edge Case 6: Validate UTF-8 encoding
|
|
97
113
|
*/
|
|
98
|
-
|
|
114
|
+
function validateUTF8(chunk) {
|
|
99
115
|
try {
|
|
100
116
|
// Try to encode and decode - this validates UTF-8
|
|
101
117
|
const encoded = Buffer.from(chunk, 'utf-8');
|
|
@@ -117,7 +133,7 @@ export function validateUTF8(chunk) {
|
|
|
117
133
|
* Edge Case 7: Strip dangerous ANSI escape sequences
|
|
118
134
|
* Keep safe ones for terminal colors
|
|
119
135
|
*/
|
|
120
|
-
|
|
136
|
+
function stripDangerousAnsiCodes(chunk) {
|
|
121
137
|
// Dangerous patterns: cursor movement, clear screen, title setting
|
|
122
138
|
return chunk
|
|
123
139
|
// Clear screen / clear line
|
|
@@ -138,7 +154,7 @@ export function stripDangerousAnsiCodes(chunk) {
|
|
|
138
154
|
/**
|
|
139
155
|
* Edge Case 8: Remove control characters (but keep safe ones)
|
|
140
156
|
*/
|
|
141
|
-
|
|
157
|
+
function stripControlChars(chunk) {
|
|
142
158
|
// Keep common safe ones: \n, \t, \r (normalized earlier)
|
|
143
159
|
return chunk
|
|
144
160
|
.split('')
|
|
@@ -161,14 +177,14 @@ export function stripControlChars(chunk) {
|
|
|
161
177
|
/**
|
|
162
178
|
* Edge Case 9: Remove null bytes
|
|
163
179
|
*/
|
|
164
|
-
|
|
180
|
+
function stripNullBytes(chunk) {
|
|
165
181
|
return chunk.replace(/\0/g, '');
|
|
166
182
|
}
|
|
167
183
|
/**
|
|
168
184
|
* Edge Case 10: Validate bracket/brace nesting depth
|
|
169
185
|
* Prevents stack overflow attacks
|
|
170
186
|
*/
|
|
171
|
-
|
|
187
|
+
function validateNestingDepth(chunk, maxDepth = 100) {
|
|
172
188
|
let depth = 0;
|
|
173
189
|
let maxReached = 0;
|
|
174
190
|
for (const char of chunk) {
|
|
@@ -188,7 +204,7 @@ export function validateNestingDepth(chunk, maxDepth = 100) {
|
|
|
188
204
|
/**
|
|
189
205
|
* Comprehensive chunk validation
|
|
190
206
|
*/
|
|
191
|
-
|
|
207
|
+
function validateChunk(chunk) {
|
|
192
208
|
// Check 1: Empty
|
|
193
209
|
if (isEmptyChunk(chunk)) {
|
|
194
210
|
return { valid: false, error: 'Empty chunk' };
|
|
@@ -208,7 +224,7 @@ export function validateChunk(chunk) {
|
|
|
208
224
|
/**
|
|
209
225
|
* Comprehensive chunk sanitization (handles all edge cases)
|
|
210
226
|
*/
|
|
211
|
-
|
|
227
|
+
function sanitizeChunk(chunk, options = {}) {
|
|
212
228
|
const { mode = 'balanced', maxBufferSize = 1024 * 100, // 100KB
|
|
213
229
|
stripControlChars: strip = true, stripDangerousAnsi: stripAnsi = true, } = options;
|
|
214
230
|
let result = chunk;
|
|
@@ -241,7 +257,7 @@ export function sanitizeChunk(chunk, options = {}) {
|
|
|
241
257
|
/**
|
|
242
258
|
* Full validation + sanitization pipeline
|
|
243
259
|
*/
|
|
244
|
-
|
|
260
|
+
function processChunk(chunk, options = {}) {
|
|
245
261
|
// Validate
|
|
246
262
|
const validation = validateChunk(chunk);
|
|
247
263
|
if (!validation.valid) {
|
|
@@ -257,7 +273,7 @@ export function processChunk(chunk, options = {}) {
|
|
|
257
273
|
/**
|
|
258
274
|
* Detect suspicious patterns
|
|
259
275
|
*/
|
|
260
|
-
|
|
276
|
+
function detectSuspiciousPatterns(chunk) {
|
|
261
277
|
const warnings = [];
|
|
262
278
|
// Check for potential XSS
|
|
263
279
|
if (/<script|javascript:/i.test(chunk)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-processor.js","sourceRoot":"","sources":["../../src/security/chunk-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"chunk-processor.js","sourceRoot":"","sources":["../../src/security/chunk-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/security/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,kBAAkB,CAAC"}
|
package/dist/security/index.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Security - Clean Exports
|
|
3
4
|
* Only exports the new ANSI sanitizer
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./ansi-sanitizer"), exports);
|
|
6
22
|
//# sourceMappingURL=index.js.map
|