@nicomatt69/streamtty 0.0.1 → 0.0.3
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 +1 -1
- package/dist/ai-sdk-adapter.d.ts.map +1 -1
- package/dist/ai-sdk-adapter.js +5 -9
- package/dist/ai-sdk-adapter.js.map +1 -1
- package/dist/cli.js +5 -46
- package/dist/cli.js.map +1 -1
- package/dist/errors.js +11 -25
- package/dist/errors.js.map +1 -1
- package/dist/events.js +9 -17
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +27 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -127
- package/dist/index.js.map +1 -1
- package/dist/parser/streaming-parser.js +4 -8
- package/dist/parser/streaming-parser.js.map +1 -1
- package/dist/performance.js +9 -15
- 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 +1 -17
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/plugin-system-inline.js +24 -29
- package/dist/plugins/plugin-system-inline.js.map +1 -1
- package/dist/plugins/plugin-system.js +2 -6
- package/dist/plugins/plugin-system.js.map +1 -1
- package/dist/plugins/rehype/harden.js +3 -6
- 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 +1 -17
- 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 +2 -18
- package/dist/plugins/remark/index.js.map +1 -1
- package/dist/plugins/remark/math.js +1 -4
- package/dist/plugins/remark/math.js.map +1 -1
- package/dist/plugins/remark/mermaid.js +1 -4
- package/dist/plugins/remark/mermaid.js.map +1 -1
- package/dist/plugins/types.js +1 -2
- package/dist/renderer/{blessed-renderer.d.ts → ansi-renderer.d.ts} +20 -36
- package/dist/renderer/ansi-renderer.d.ts.map +1 -0
- package/dist/renderer/ansi-renderer.js +391 -0
- package/dist/renderer/ansi-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 +3 -17
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/math-renderer.js +4 -11
- package/dist/renderers/math-renderer.js.map +1 -1
- package/dist/renderers/mermaid-ascii.js +2 -6
- package/dist/renderers/mermaid-ascii.js.map +1 -1
- package/dist/renderers/mermaid-renderer.js +6 -11
- package/dist/renderers/mermaid-renderer.js.map +1 -1
- package/dist/renderers/shiki-ansi.js +4 -8
- package/dist/renderers/shiki-ansi.js.map +1 -1
- package/dist/renderers/table-ascii.js +4 -10
- package/dist/renderers/table-ascii.js.map +1 -1
- package/dist/renderers/unicode-math.js +5 -12
- package/dist/renderers/unicode-math.js.map +1 -1
- package/dist/security/ansi-sanitizer.js +8 -18
- package/dist/security/ansi-sanitizer.js.map +1 -1
- package/dist/security/chunk-processor.js +14 -30
- 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 +1 -17
- package/dist/security/index.js.map +1 -1
- package/dist/security/input-validator.js +8 -13
- package/dist/security/input-validator.js.map +1 -1
- package/dist/stream-protocol.js +1 -5
- package/dist/stream-protocol.js.map +1 -1
- package/dist/streamdown-compat.d.ts +5 -8
- package/dist/streamdown-compat.d.ts.map +1 -1
- package/dist/streamdown-compat.js +13 -26
- package/dist/streamdown-compat.js.map +1 -1
- package/dist/streaming/stream-stats.js +2 -7
- package/dist/streaming/stream-stats.js.map +1 -1
- package/dist/streaming-integration.js +22 -34
- package/dist/streaming-integration.js.map +1 -1
- package/dist/themes/index.js +9 -14
- package/dist/themes/index.js.map +1 -1
- package/dist/types/index.d.ts +27 -81
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -2
- package/dist/types/plugin-types.js +1 -2
- package/dist/types/plugin-types.js.map +1 -1
- package/dist/types/stream-events.js +1 -2
- package/dist/types/stream-events.js.map +1 -1
- package/dist/utils/blessed-syntax-highlighter.js +66 -92
- package/dist/utils/blessed-syntax-highlighter.js.map +1 -1
- package/dist/utils/enhanced-table-renderer.js +8 -52
- package/dist/utils/enhanced-table-renderer.js.map +1 -1
- package/dist/utils/formatting.js +17 -33
- 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 +4 -20
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/math-unicode-renderer.js +6 -14
- package/dist/utils/math-unicode-renderer.js.map +1 -1
- package/dist/utils/mermaid-ascii-renderer.js +3 -8
- package/dist/utils/mermaid-ascii-renderer.js.map +1 -1
- package/dist/utils/mermaid-ascii.js +17 -23
- package/dist/utils/mermaid-ascii.js.map +1 -1
- package/dist/utils/shiki-ansi-renderer.js +7 -14
- package/dist/utils/shiki-ansi-renderer.js.map +1 -1
- package/dist/utils/syntax-highlighter.js +27 -44
- package/dist/utils/syntax-highlighter.js.map +1 -1
- package/dist/utils/table-formatter-inline.js +5 -12
- package/dist/utils/table-formatter-inline.js.map +1 -1
- package/dist/utils/table.js +9 -15
- package/dist/utils/table.js.map +1 -1
- package/dist/widgets/stream-indicator.js +6 -15
- package/dist/widgets/stream-indicator.js.map +1 -1
- package/package.json +12 -14
- package/dist/renderer/blessed-renderer.d.ts.map +0 -1
- package/dist/renderer/blessed-renderer.js +0 -610
- package/dist/renderer/blessed-renderer.js.map +0 -1
- package/dist/renderers/table-renderer.d.ts +0 -49
- package/dist/renderers/table-renderer.d.ts.map +0 -1
- package/dist/renderers/table-renderer.js +0 -224
- package/dist/renderers/table-renderer.js.map +0 -1
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mermaidRenderer = exports.MermaidRenderer = void 0;
|
|
4
|
-
exports.renderMermaidDiagram = renderMermaidDiagram;
|
|
5
|
-
const mermaid_ascii_1 = require("../utils/mermaid-ascii");
|
|
1
|
+
import { mermaidASCII } from '../utils/mermaid-ascii';
|
|
6
2
|
/**
|
|
7
3
|
* Mermaid diagram renderer for TTY
|
|
8
4
|
* Converts Mermaid diagrams to ASCII art using mermaid-ascii when available
|
|
9
5
|
*/
|
|
10
|
-
class MermaidRenderer {
|
|
6
|
+
export class MermaidRenderer {
|
|
11
7
|
config;
|
|
12
8
|
useExternalTool = true;
|
|
13
9
|
constructor(config = {}) {
|
|
@@ -26,7 +22,7 @@ class MermaidRenderer {
|
|
|
26
22
|
// Try external mermaid-ascii tool first if enabled
|
|
27
23
|
if (this.useExternalTool) {
|
|
28
24
|
try {
|
|
29
|
-
const result = await
|
|
25
|
+
const result = await mermaidASCII.convertToASCII(trimmed, {
|
|
30
26
|
paddingX: 2,
|
|
31
27
|
paddingY: 1,
|
|
32
28
|
borderPadding: 1,
|
|
@@ -280,19 +276,18 @@ class MermaidRenderer {
|
|
|
280
276
|
this.config = { ...this.config, ...config };
|
|
281
277
|
}
|
|
282
278
|
}
|
|
283
|
-
exports.MermaidRenderer = MermaidRenderer;
|
|
284
279
|
/**
|
|
285
280
|
* Singleton instance
|
|
286
281
|
*/
|
|
287
|
-
|
|
282
|
+
export const mermaidRenderer = new MermaidRenderer();
|
|
288
283
|
/**
|
|
289
284
|
* Convenience function for rendering mermaid diagrams
|
|
290
285
|
*/
|
|
291
|
-
async function renderMermaidDiagram(mermaidCode, config) {
|
|
286
|
+
export async function renderMermaidDiagram(mermaidCode, config) {
|
|
292
287
|
if (config) {
|
|
293
288
|
const renderer = new MermaidRenderer(config);
|
|
294
289
|
return renderer.render(mermaidCode);
|
|
295
290
|
}
|
|
296
|
-
return
|
|
291
|
+
return mermaidRenderer.render(mermaidCode);
|
|
297
292
|
}
|
|
298
293
|
//# sourceMappingURL=mermaid-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid-renderer.js","sourceRoot":"","sources":["../../src/renderers/mermaid-renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mermaid-renderer.js","sourceRoot":"","sources":["../../src/renderers/mermaid-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shikiRenderer = exports.ShikiANSIRenderer = void 0;
|
|
4
|
-
const shiki_1 = require("shiki");
|
|
1
|
+
import { createHighlighter } from 'shiki';
|
|
5
2
|
/**
|
|
6
3
|
* Shiki to ANSI color converter
|
|
7
4
|
* Converts Shiki syntax highlighting to ANSI terminal codes
|
|
8
5
|
*/
|
|
9
|
-
class ShikiANSIRenderer {
|
|
6
|
+
export class ShikiANSIRenderer {
|
|
10
7
|
highlighter = null;
|
|
11
8
|
initialized = false;
|
|
12
9
|
theme = 'dark';
|
|
@@ -49,7 +46,7 @@ class ShikiANSIRenderer {
|
|
|
49
46
|
dark: 'github-dark',
|
|
50
47
|
};
|
|
51
48
|
this.theme = theme;
|
|
52
|
-
this.highlighter = await
|
|
49
|
+
this.highlighter = await createHighlighter({
|
|
53
50
|
themes: [themeMap[theme]],
|
|
54
51
|
langs: languages,
|
|
55
52
|
});
|
|
@@ -198,9 +195,8 @@ class ShikiANSIRenderer {
|
|
|
198
195
|
return this.initialized;
|
|
199
196
|
}
|
|
200
197
|
}
|
|
201
|
-
exports.ShikiANSIRenderer = ShikiANSIRenderer;
|
|
202
198
|
/**
|
|
203
199
|
* Singleton instance
|
|
204
200
|
*/
|
|
205
|
-
|
|
201
|
+
export const shikiRenderer = new ShikiANSIRenderer();
|
|
206
202
|
//# sourceMappingURL=shiki-ansi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shiki-ansi.js","sourceRoot":"","sources":["../../src/renderers/shiki-ansi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shiki-ansi.js","sourceRoot":"","sources":["../../src/renderers/shiki-ansi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Table rendering to ASCII art
|
|
4
3
|
* Handles markdown table parsing and ASCII box generation
|
|
5
4
|
* Inline rendering, no dependencies
|
|
6
5
|
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.renderTableToASCII = renderTableToASCII;
|
|
9
|
-
exports.renderMarkdownTableToASCII = renderMarkdownTableToASCII;
|
|
10
|
-
exports.isMarkdownTable = isMarkdownTable;
|
|
11
|
-
exports.extractTable = extractTable;
|
|
12
6
|
/**
|
|
13
7
|
* Parse markdown table format
|
|
14
8
|
* | Header 1 | Header 2 |
|
|
@@ -134,7 +128,7 @@ function getBorderChars(style = 'simple') {
|
|
|
134
128
|
/**
|
|
135
129
|
* Render table to ASCII art
|
|
136
130
|
*/
|
|
137
|
-
function renderTableToASCII(headers, rows, options = {}) {
|
|
131
|
+
export function renderTableToASCII(headers, rows, options = {}) {
|
|
138
132
|
if (!headers || headers.length === 0) {
|
|
139
133
|
return '[Empty table]';
|
|
140
134
|
}
|
|
@@ -187,7 +181,7 @@ function renderTableToASCII(headers, rows, options = {}) {
|
|
|
187
181
|
/**
|
|
188
182
|
* Parse and render markdown table in one go
|
|
189
183
|
*/
|
|
190
|
-
function renderMarkdownTableToASCII(content, options = {}) {
|
|
184
|
+
export function renderMarkdownTableToASCII(content, options = {}) {
|
|
191
185
|
const parsed = parseMarkdownTable(content);
|
|
192
186
|
if (!parsed) {
|
|
193
187
|
return '[Invalid table format]';
|
|
@@ -202,7 +196,7 @@ function renderMarkdownTableToASCII(content, options = {}) {
|
|
|
202
196
|
/**
|
|
203
197
|
* Check if content looks like a markdown table
|
|
204
198
|
*/
|
|
205
|
-
function isMarkdownTable(content) {
|
|
199
|
+
export function isMarkdownTable(content) {
|
|
206
200
|
const lines = content.split('\n').filter(l => l.trim().length > 0);
|
|
207
201
|
if (lines.length < 2) {
|
|
208
202
|
return false;
|
|
@@ -218,7 +212,7 @@ function isMarkdownTable(content) {
|
|
|
218
212
|
/**
|
|
219
213
|
* Extract table from markdown content
|
|
220
214
|
*/
|
|
221
|
-
function extractTable(content) {
|
|
215
|
+
export function extractTable(content) {
|
|
222
216
|
const lines = content.split('\n');
|
|
223
217
|
let tableStart = -1;
|
|
224
218
|
let tableEnd = -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-ascii.js","sourceRoot":"","sources":["../../src/renderers/table-ascii.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-ascii.js","sourceRoot":"","sources":["../../src/renderers/table-ascii.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* KaTeX/LaTeX → Unicode inline rendering
|
|
4
3
|
* Semplice, niente HTML/blessed, output string puro
|
|
5
4
|
* Compatibile con streaming chunks
|
|
6
5
|
*/
|
|
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;
|
|
13
6
|
// Symbol mapping: LaTeX → Unicode
|
|
14
7
|
const SYMBOL_MAP = {
|
|
15
8
|
// Greek letters
|
|
@@ -57,7 +50,7 @@ const SYMBOL_MAP = {
|
|
|
57
50
|
* @param inline Whether it's inline (true) or display (false) mode
|
|
58
51
|
* @returns Rendered Unicode string
|
|
59
52
|
*/
|
|
60
|
-
function renderMathToUnicode(latex, inline = true) {
|
|
53
|
+
export function renderMathToUnicode(latex, inline = true) {
|
|
61
54
|
if (!latex || latex.trim().length === 0) {
|
|
62
55
|
return '';
|
|
63
56
|
}
|
|
@@ -135,7 +128,7 @@ function renderMathToUnicode(latex, inline = true) {
|
|
|
135
128
|
/**
|
|
136
129
|
* Render display mode math (block, possibly multi-line)
|
|
137
130
|
*/
|
|
138
|
-
function renderMathBlock(latex) {
|
|
131
|
+
export function renderMathBlock(latex) {
|
|
139
132
|
const content = renderMathToUnicode(latex, false);
|
|
140
133
|
// Box the content for visual separation
|
|
141
134
|
const lines = content.split('\n').map(l => l.trim()).filter(Boolean);
|
|
@@ -155,19 +148,19 @@ function renderMathBlock(latex) {
|
|
|
155
148
|
/**
|
|
156
149
|
* Render inline math (no newlines)
|
|
157
150
|
*/
|
|
158
|
-
function renderMathInline(latex) {
|
|
151
|
+
export function renderMathInline(latex) {
|
|
159
152
|
return renderMathToUnicode(latex, true);
|
|
160
153
|
}
|
|
161
154
|
/**
|
|
162
155
|
* Detect if text contains math expressions
|
|
163
156
|
*/
|
|
164
|
-
function containsMath(text) {
|
|
157
|
+
export function containsMath(text) {
|
|
165
158
|
return /(\$\$[^\$]+\$\$|\$[^\$]+\$|\\(.+?)(?=\s|$))/g.test(text);
|
|
166
159
|
}
|
|
167
160
|
/**
|
|
168
161
|
* Extract and process all math expressions in text
|
|
169
162
|
*/
|
|
170
|
-
function processMathInText(text) {
|
|
163
|
+
export function processMathInText(text) {
|
|
171
164
|
return text
|
|
172
165
|
// Display math: $$ ... $$
|
|
173
166
|
.replace(/\$\$([^\$]+)\$\$/g, (match, latex) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unicode-math.js","sourceRoot":"","sources":["../../src/renderers/unicode-math.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unicode-math.js","sourceRoot":"","sources":["../../src/renderers/unicode-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* ANSI Code Sanitizer
|
|
4
3
|
* Prevents ANSI injection attacks while preserving safe color codes
|
|
5
4
|
*/
|
|
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;
|
|
14
5
|
/**
|
|
15
6
|
* Safe ANSI escape codes that are allowed
|
|
16
7
|
*/
|
|
@@ -68,7 +59,7 @@ const DANGEROUS_CONTROL_CHARS = [
|
|
|
68
59
|
* Sanitize input for terminal output
|
|
69
60
|
* Removes dangerous sequences while preserving safe ANSI color codes
|
|
70
61
|
*/
|
|
71
|
-
function sanitizeForTerminal(input, options) {
|
|
62
|
+
export function sanitizeForTerminal(input, options) {
|
|
72
63
|
if (!input)
|
|
73
64
|
return input;
|
|
74
65
|
const { stripAnsi = false, maxLength = 1000000, allowUnicode = true, stripControlChars = true, } = options || {};
|
|
@@ -128,7 +119,7 @@ function sanitizeForTerminal(input, options) {
|
|
|
128
119
|
result = result.replace(/\x00+/g, '');
|
|
129
120
|
return result;
|
|
130
121
|
}
|
|
131
|
-
function validateInput(input, maxLength = 1000000) {
|
|
122
|
+
export function validateInput(input, maxLength = 1000000) {
|
|
132
123
|
const errors = [];
|
|
133
124
|
const warnings = [];
|
|
134
125
|
let sanitized = input;
|
|
@@ -167,25 +158,25 @@ function validateInput(input, maxLength = 1000000) {
|
|
|
167
158
|
/**
|
|
168
159
|
* Strip all ANSI codes (for logging, etc.)
|
|
169
160
|
*/
|
|
170
|
-
function stripAnsiCodes(text) {
|
|
161
|
+
export function stripAnsiCodes(text) {
|
|
171
162
|
return text.replace(/\x1b\[[0-9;]*[a-zA-Z]/g, '');
|
|
172
163
|
}
|
|
173
164
|
/**
|
|
174
165
|
* Check if text contains ANSI codes
|
|
175
166
|
*/
|
|
176
|
-
function hasAnsiCodes(text) {
|
|
167
|
+
export function hasAnsiCodes(text) {
|
|
177
168
|
return /\x1b\[[0-9;]*[a-zA-Z]/.test(text);
|
|
178
169
|
}
|
|
179
170
|
/**
|
|
180
171
|
* Count visible characters (excluding ANSI codes)
|
|
181
172
|
*/
|
|
182
|
-
function getVisibleLength(text) {
|
|
173
|
+
export function getVisibleLength(text) {
|
|
183
174
|
return stripAnsiCodes(text).length;
|
|
184
175
|
}
|
|
185
176
|
/**
|
|
186
177
|
* Truncate text to visible length, preserving ANSI codes
|
|
187
178
|
*/
|
|
188
|
-
function truncatePreservingAnsi(text, maxVisible) {
|
|
179
|
+
export function truncatePreservingAnsi(text, maxVisible) {
|
|
189
180
|
let visibleCount = 0;
|
|
190
181
|
let result = '';
|
|
191
182
|
let i = 0;
|
|
@@ -209,7 +200,7 @@ function truncatePreservingAnsi(text, maxVisible) {
|
|
|
209
200
|
/**
|
|
210
201
|
* Create a content security policy validator
|
|
211
202
|
*/
|
|
212
|
-
class ContentValidator {
|
|
203
|
+
export class ContentValidator {
|
|
213
204
|
maxLength;
|
|
214
205
|
maxLines;
|
|
215
206
|
allowedPatterns = [];
|
|
@@ -267,9 +258,8 @@ class ContentValidator {
|
|
|
267
258
|
return result;
|
|
268
259
|
}
|
|
269
260
|
}
|
|
270
|
-
exports.ContentValidator = ContentValidator;
|
|
271
261
|
/**
|
|
272
262
|
* Export validator instance
|
|
273
263
|
*/
|
|
274
|
-
|
|
264
|
+
export const defaultValidator = new ContentValidator();
|
|
275
265
|
//# sourceMappingURL=ansi-sanitizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi-sanitizer.js","sourceRoot":"","sources":["../../src/security/ansi-sanitizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ansi-sanitizer.js","sourceRoot":"","sources":["../../src/security/ansi-sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Inline security validation and sanitization for streaming chunks
|
|
4
3
|
* Handles all 10 edge cases for robust streaming
|
|
5
4
|
*/
|
|
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;
|
|
21
5
|
/**
|
|
22
6
|
* Edge Case 1: Validate empty chunks
|
|
23
7
|
*/
|
|
24
|
-
function isEmptyChunk(chunk) {
|
|
8
|
+
export function isEmptyChunk(chunk) {
|
|
25
9
|
return !chunk || chunk.trim().length === 0;
|
|
26
10
|
}
|
|
27
11
|
/**
|
|
28
12
|
* Edge Case 2: Handle very large chunks (> 50KB)
|
|
29
13
|
*/
|
|
30
|
-
function handleLargeChunk(chunk, maxSize = 50 * 1024) {
|
|
14
|
+
export function handleLargeChunk(chunk, maxSize = 50 * 1024) {
|
|
31
15
|
const byteLength = Buffer.byteLength(chunk, 'utf-8');
|
|
32
16
|
if (byteLength > maxSize) {
|
|
33
17
|
// Split at line boundary to preserve structure
|
|
@@ -50,7 +34,7 @@ function handleLargeChunk(chunk, maxSize = 50 * 1024) {
|
|
|
50
34
|
* Edge Case 3: Normalize mixed line endings
|
|
51
35
|
* Handles \r\n, \r, and \n
|
|
52
36
|
*/
|
|
53
|
-
function normalizeLineEndings(chunk) {
|
|
37
|
+
export function normalizeLineEndings(chunk) {
|
|
54
38
|
return chunk
|
|
55
39
|
.replace(/\r\n/g, '\n') // Windows to Unix
|
|
56
40
|
.replace(/\r/g, '\n'); // Old Mac to Unix
|
|
@@ -58,7 +42,7 @@ function normalizeLineEndings(chunk) {
|
|
|
58
42
|
/**
|
|
59
43
|
* Edge Case 4: Decode HTML entities comprehensively
|
|
60
44
|
*/
|
|
61
|
-
function decodeHtmlEntities(chunk) {
|
|
45
|
+
export function decodeHtmlEntities(chunk) {
|
|
62
46
|
let result = chunk;
|
|
63
47
|
// Named entities
|
|
64
48
|
const entities = {
|
|
@@ -99,7 +83,7 @@ function decodeHtmlEntities(chunk) {
|
|
|
99
83
|
/**
|
|
100
84
|
* Edge Case 5: Unicode normalization NFC
|
|
101
85
|
*/
|
|
102
|
-
function normalizeUnicode(chunk) {
|
|
86
|
+
export function normalizeUnicode(chunk) {
|
|
103
87
|
try {
|
|
104
88
|
return chunk.normalize('NFC');
|
|
105
89
|
}
|
|
@@ -111,7 +95,7 @@ function normalizeUnicode(chunk) {
|
|
|
111
95
|
/**
|
|
112
96
|
* Edge Case 6: Validate UTF-8 encoding
|
|
113
97
|
*/
|
|
114
|
-
function validateUTF8(chunk) {
|
|
98
|
+
export function validateUTF8(chunk) {
|
|
115
99
|
try {
|
|
116
100
|
// Try to encode and decode - this validates UTF-8
|
|
117
101
|
const encoded = Buffer.from(chunk, 'utf-8');
|
|
@@ -133,7 +117,7 @@ function validateUTF8(chunk) {
|
|
|
133
117
|
* Edge Case 7: Strip dangerous ANSI escape sequences
|
|
134
118
|
* Keep safe ones for terminal colors
|
|
135
119
|
*/
|
|
136
|
-
function stripDangerousAnsiCodes(chunk) {
|
|
120
|
+
export function stripDangerousAnsiCodes(chunk) {
|
|
137
121
|
// Dangerous patterns: cursor movement, clear screen, title setting
|
|
138
122
|
return chunk
|
|
139
123
|
// Clear screen / clear line
|
|
@@ -154,7 +138,7 @@ function stripDangerousAnsiCodes(chunk) {
|
|
|
154
138
|
/**
|
|
155
139
|
* Edge Case 8: Remove control characters (but keep safe ones)
|
|
156
140
|
*/
|
|
157
|
-
function stripControlChars(chunk) {
|
|
141
|
+
export function stripControlChars(chunk) {
|
|
158
142
|
// Keep common safe ones: \n, \t, \r (normalized earlier)
|
|
159
143
|
return chunk
|
|
160
144
|
.split('')
|
|
@@ -177,14 +161,14 @@ function stripControlChars(chunk) {
|
|
|
177
161
|
/**
|
|
178
162
|
* Edge Case 9: Remove null bytes
|
|
179
163
|
*/
|
|
180
|
-
function stripNullBytes(chunk) {
|
|
164
|
+
export function stripNullBytes(chunk) {
|
|
181
165
|
return chunk.replace(/\0/g, '');
|
|
182
166
|
}
|
|
183
167
|
/**
|
|
184
168
|
* Edge Case 10: Validate bracket/brace nesting depth
|
|
185
169
|
* Prevents stack overflow attacks
|
|
186
170
|
*/
|
|
187
|
-
function validateNestingDepth(chunk, maxDepth = 100) {
|
|
171
|
+
export function validateNestingDepth(chunk, maxDepth = 100) {
|
|
188
172
|
let depth = 0;
|
|
189
173
|
let maxReached = 0;
|
|
190
174
|
for (const char of chunk) {
|
|
@@ -204,7 +188,7 @@ function validateNestingDepth(chunk, maxDepth = 100) {
|
|
|
204
188
|
/**
|
|
205
189
|
* Comprehensive chunk validation
|
|
206
190
|
*/
|
|
207
|
-
function validateChunk(chunk) {
|
|
191
|
+
export function validateChunk(chunk) {
|
|
208
192
|
// Check 1: Empty
|
|
209
193
|
if (isEmptyChunk(chunk)) {
|
|
210
194
|
return { valid: false, error: 'Empty chunk' };
|
|
@@ -224,7 +208,7 @@ function validateChunk(chunk) {
|
|
|
224
208
|
/**
|
|
225
209
|
* Comprehensive chunk sanitization (handles all edge cases)
|
|
226
210
|
*/
|
|
227
|
-
function sanitizeChunk(chunk, options = {}) {
|
|
211
|
+
export function sanitizeChunk(chunk, options = {}) {
|
|
228
212
|
const { mode = 'balanced', maxBufferSize = 1024 * 100, // 100KB
|
|
229
213
|
stripControlChars: strip = true, stripDangerousAnsi: stripAnsi = true, } = options;
|
|
230
214
|
let result = chunk;
|
|
@@ -257,7 +241,7 @@ function sanitizeChunk(chunk, options = {}) {
|
|
|
257
241
|
/**
|
|
258
242
|
* Full validation + sanitization pipeline
|
|
259
243
|
*/
|
|
260
|
-
function processChunk(chunk, options = {}) {
|
|
244
|
+
export function processChunk(chunk, options = {}) {
|
|
261
245
|
// Validate
|
|
262
246
|
const validation = validateChunk(chunk);
|
|
263
247
|
if (!validation.valid) {
|
|
@@ -273,7 +257,7 @@ function processChunk(chunk, options = {}) {
|
|
|
273
257
|
/**
|
|
274
258
|
* Detect suspicious patterns
|
|
275
259
|
*/
|
|
276
|
-
function detectSuspiciousPatterns(chunk) {
|
|
260
|
+
export function detectSuspiciousPatterns(chunk) {
|
|
277
261
|
const warnings = [];
|
|
278
262
|
// Check for potential XSS
|
|
279
263
|
if (/<script|javascript:/i.test(chunk)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-processor.js","sourceRoot":"","sources":["../../src/security/chunk-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chunk-processor.js","sourceRoot":"","sources":["../../src/security/chunk-processor.ts"],"names":[],"mappings":"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"}
|