@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inputValidator = exports.InputValidator = void 0;
|
|
4
|
+
exports.validateInput = validateInput;
|
|
5
|
+
const ansi_sanitizer_1 = require("./ansi-sanitizer");
|
|
2
6
|
/**
|
|
3
7
|
* Input validator for markdown content
|
|
4
8
|
* Prevents buffer overflow, injection attacks, and validates content
|
|
5
9
|
*/
|
|
6
|
-
|
|
10
|
+
class InputValidator {
|
|
7
11
|
config;
|
|
8
12
|
constructor(config = {}) {
|
|
9
13
|
this.config = {
|
|
@@ -33,7 +37,7 @@ export class InputValidator {
|
|
|
33
37
|
// Sanitize ANSI codes if enabled
|
|
34
38
|
if (this.config.stripDangerousAnsi) {
|
|
35
39
|
const originalLength = sanitized.length;
|
|
36
|
-
sanitized = sanitizeForTerminal(sanitized);
|
|
40
|
+
sanitized = (0, ansi_sanitizer_1.sanitizeForTerminal)(sanitized);
|
|
37
41
|
if (sanitized.length !== originalLength) {
|
|
38
42
|
warnings.push('Dangerous ANSI escape sequences were removed');
|
|
39
43
|
}
|
|
@@ -74,7 +78,7 @@ export class InputValidator {
|
|
|
74
78
|
let match;
|
|
75
79
|
while ((match = linkRegex.exec(input)) !== null) {
|
|
76
80
|
const url = match[2];
|
|
77
|
-
const isAllowed = this.config.allowedLinkPrefixes.some(
|
|
81
|
+
const isAllowed = this.config.allowedLinkPrefixes.some(prefix => prefix === '*' || url.startsWith(prefix));
|
|
78
82
|
if (!isAllowed) {
|
|
79
83
|
warnings.push(`Link with prefix '${url.split(':')[0]}' is not in allowed list`);
|
|
80
84
|
}
|
|
@@ -95,7 +99,7 @@ export class InputValidator {
|
|
|
95
99
|
let match;
|
|
96
100
|
while ((match = imageRegex.exec(input)) !== null) {
|
|
97
101
|
const url = match[2];
|
|
98
|
-
const isAllowed = this.config.allowedImagePrefixes.some(
|
|
102
|
+
const isAllowed = this.config.allowedImagePrefixes.some(prefix => prefix === '*' || url.startsWith(prefix));
|
|
99
103
|
if (!isAllowed) {
|
|
100
104
|
warnings.push(`Image with prefix '${url.split(':')[0]}' is not in allowed list`);
|
|
101
105
|
}
|
|
@@ -179,18 +183,19 @@ export class InputValidator {
|
|
|
179
183
|
return { ...this.config };
|
|
180
184
|
}
|
|
181
185
|
}
|
|
186
|
+
exports.InputValidator = InputValidator;
|
|
182
187
|
/**
|
|
183
188
|
* Singleton instance
|
|
184
189
|
*/
|
|
185
|
-
|
|
190
|
+
exports.inputValidator = new InputValidator();
|
|
186
191
|
/**
|
|
187
192
|
* Validate input with default validator
|
|
188
193
|
*/
|
|
189
|
-
|
|
194
|
+
function validateInput(input, config) {
|
|
190
195
|
if (config) {
|
|
191
196
|
const validator = new InputValidator(config);
|
|
192
197
|
return validator.validate(input);
|
|
193
198
|
}
|
|
194
|
-
return inputValidator.validate(input);
|
|
199
|
+
return exports.inputValidator.validate(input);
|
|
195
200
|
}
|
|
196
201
|
//# sourceMappingURL=input-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-validator.js","sourceRoot":"","sources":["../../src/security/input-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input-validator.js","sourceRoot":"","sources":["../../src/security/input-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-protocol.d.ts","sourceRoot":"","sources":["../src/stream-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EAEX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,uBAAuB,CAAA;AAE9B,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAWvC;IAEF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW;IA8BtD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAMpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAIrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAYtD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IAWvF;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAYhB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,eAAe;IAWlB;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAWhB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAWhB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,EACvD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,WAAW;IAYd;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,UAAU;IAab;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO;IAUvF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"stream-protocol.d.ts","sourceRoot":"","sources":["../src/stream-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EAEX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,uBAAuB,CAAA;AAE9B,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAWvC;IAEF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,WAAW;IA8BtD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAMpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAIrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAYtD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc;IAWvF;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAYhB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,eAAe;IAWlB;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAWhB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,aAAa;IAWhB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,EACvD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,WAAW;IAYd;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,UAAU;IAab;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO;IAUvF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;CA4CpD"}
|
package/dist/stream-protocol.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Stream Protocol Implementation
|
|
3
4
|
*
|
|
4
5
|
* This module provides utilities for validating, transforming, and
|
|
5
6
|
* processing stream events according to the AI SDK protocol.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.StreamProtocol = void 0;
|
|
10
|
+
class StreamProtocol {
|
|
8
11
|
static VALID_EVENT_TYPES = new Set([
|
|
9
12
|
'text_delta',
|
|
10
13
|
'tool_call',
|
|
@@ -193,18 +196,42 @@ export class StreamProtocol {
|
|
|
193
196
|
*/
|
|
194
197
|
static getEventPriority(event) {
|
|
195
198
|
const priorities = {
|
|
199
|
+
// Error handling - highest priority
|
|
196
200
|
'error': 0,
|
|
201
|
+
// Stream lifecycle
|
|
197
202
|
'start': 1,
|
|
203
|
+
'stream-start': 1,
|
|
204
|
+
'message-start': 1,
|
|
198
205
|
'complete': 1,
|
|
206
|
+
'message-end': 1,
|
|
207
|
+
'finish': 1,
|
|
208
|
+
'done': 1,
|
|
209
|
+
// Status and steps
|
|
199
210
|
'status': 2,
|
|
200
211
|
'step': 2,
|
|
212
|
+
'step_start': 2,
|
|
213
|
+
'step-finish': 2,
|
|
214
|
+
// Tool execution
|
|
201
215
|
'tool_call': 3,
|
|
216
|
+
'tool-call': 3,
|
|
217
|
+
'tool_call_delta': 3,
|
|
218
|
+
'tool-call-delta': 3,
|
|
219
|
+
'tool_call_start': 3,
|
|
220
|
+
'tool-call-streaming-start': 3,
|
|
202
221
|
'tool_result': 3,
|
|
222
|
+
'tool-result': 3,
|
|
223
|
+
// Reasoning/thinking
|
|
203
224
|
'thinking': 4,
|
|
204
225
|
'reasoning': 4,
|
|
205
|
-
'
|
|
226
|
+
'reasoning_delta': 4,
|
|
227
|
+
'reasoning-delta': 4,
|
|
228
|
+
'redacted-reasoning': 4,
|
|
229
|
+
// Text output - lowest priority
|
|
230
|
+
'text_delta': 5,
|
|
231
|
+
'text-delta': 5,
|
|
206
232
|
};
|
|
207
|
-
return priorities[event.type]
|
|
233
|
+
return priorities[event.type] ?? 10;
|
|
208
234
|
}
|
|
209
235
|
}
|
|
236
|
+
exports.StreamProtocol = StreamProtocol;
|
|
210
237
|
//# sourceMappingURL=stream-protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-protocol.js","sourceRoot":"","sources":["../src/stream-protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"stream-protocol.js","sourceRoot":"","sources":["../src/stream-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
* This module provides a streamdown-inspired API for streamtty,
|
|
5
5
|
* offering familiar patterns for web developers transitioning to TTY.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { Widgets } from 'blessed';
|
|
8
|
+
import { StreamttyOptions } from './index';
|
|
9
|
+
import { StreamEvent, StreamEventType } from './types/stream-events';
|
|
10
|
+
import { MarkdownStyles } from './types';
|
|
10
11
|
export interface StreamRendererOptions extends StreamttyOptions {
|
|
12
|
+
screen?: Widgets.Screen;
|
|
11
13
|
parseIncompleteMarkdown?: boolean;
|
|
12
14
|
syntaxHighlight?: boolean;
|
|
15
|
+
autoScroll?: boolean;
|
|
13
16
|
styles?: Partial<MarkdownStyles>;
|
|
14
17
|
formatToolCalls?: boolean;
|
|
15
18
|
showThinking?: boolean;
|
|
@@ -34,7 +37,7 @@ export interface StreamRenderer {
|
|
|
34
37
|
getOptions: () => StreamRendererOptions;
|
|
35
38
|
}
|
|
36
39
|
export interface HookOptions {
|
|
37
|
-
|
|
40
|
+
screen?: Widgets.Screen;
|
|
38
41
|
autoDestroy?: boolean;
|
|
39
42
|
}
|
|
40
43
|
export interface StreamHook {
|
|
@@ -67,5 +70,5 @@ export declare function createAIStreamer(options?: StreamRendererOptions): Strea
|
|
|
67
70
|
*/
|
|
68
71
|
export declare function createDebugStreamer(options?: StreamRendererOptions): StreamRenderer;
|
|
69
72
|
export type { StreamEvent, StreamEventType };
|
|
70
|
-
export { StreamProtocol } from './stream-protocol
|
|
73
|
+
export { StreamProtocol } from './stream-protocol';
|
|
71
74
|
//# sourceMappingURL=streamdown-compat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamdown-compat.d.ts","sourceRoot":"","sources":["../src/streamdown-compat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAa,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"streamdown-compat.d.ts","sourceRoot":"","sources":["../src/streamdown-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Streamdown-Compatible API
|
|
3
4
|
*
|
|
4
5
|
* This module provides a streamdown-inspired API for streamtty,
|
|
5
6
|
* offering familiar patterns for web developers transitioning to TTY.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.StreamProtocol = void 0;
|
|
10
|
+
exports.createStreamRenderer = createStreamRenderer;
|
|
11
|
+
exports.useStreamRenderer = useStreamRenderer;
|
|
12
|
+
exports.createTextStreamer = createTextStreamer;
|
|
13
|
+
exports.createAIStreamer = createAIStreamer;
|
|
14
|
+
exports.createDebugStreamer = createDebugStreamer;
|
|
15
|
+
const events_1 = require("events");
|
|
16
|
+
const index_1 = require("./index");
|
|
9
17
|
/**
|
|
10
18
|
* Create a streamdown-compatible renderer
|
|
11
19
|
*/
|
|
12
|
-
|
|
13
|
-
const streamtty = new Streamtty(options);
|
|
14
|
-
const eventEmitter = new EventEmitter();
|
|
20
|
+
function createStreamRenderer(options = {}) {
|
|
21
|
+
const streamtty = new index_1.Streamtty(options);
|
|
22
|
+
const eventEmitter = new events_1.EventEmitter();
|
|
15
23
|
let isDestroyed = false;
|
|
16
24
|
const renderer = {
|
|
17
25
|
// Core streaming methods
|
|
@@ -107,16 +115,18 @@ export function createStreamRenderer(options = {}) {
|
|
|
107
115
|
updateOptions: (newOptions) => {
|
|
108
116
|
if (isDestroyed)
|
|
109
117
|
return;
|
|
118
|
+
// Update streamtty options
|
|
110
119
|
streamtty.updateAIOptions(newOptions);
|
|
111
120
|
eventEmitter.emit('optionsUpdated', newOptions);
|
|
112
121
|
},
|
|
113
122
|
getOptions: () => {
|
|
114
123
|
return {
|
|
115
124
|
...streamtty.getAIOptions(),
|
|
116
|
-
|
|
125
|
+
screen: streamtty.getScreen(),
|
|
117
126
|
parseIncompleteMarkdown: streamtty.getAIOptions().parseIncompleteMarkdown,
|
|
118
127
|
syntaxHighlight: streamtty.getAIOptions().syntaxHighlight,
|
|
119
|
-
|
|
128
|
+
autoScroll: true, // streamtty default
|
|
129
|
+
styles: {}, // Could be enhanced to expose streamtty styles
|
|
120
130
|
formatToolCalls: streamtty.getAIOptions().formatToolCalls,
|
|
121
131
|
showThinking: streamtty.getAIOptions().showThinking,
|
|
122
132
|
maxToolResultLength: streamtty.getAIOptions().maxToolResultLength,
|
|
@@ -129,14 +139,14 @@ export function createStreamRenderer(options = {}) {
|
|
|
129
139
|
/**
|
|
130
140
|
* Hook-style API for React-like patterns
|
|
131
141
|
*/
|
|
132
|
-
|
|
142
|
+
function useStreamRenderer(options = {}) {
|
|
133
143
|
let renderer = null;
|
|
134
144
|
let isActive = false;
|
|
135
145
|
const createRenderer = () => {
|
|
136
146
|
if (renderer)
|
|
137
147
|
return;
|
|
138
148
|
renderer = createStreamRenderer({
|
|
139
|
-
|
|
149
|
+
screen: options.screen
|
|
140
150
|
});
|
|
141
151
|
renderer.on('destroy', () => {
|
|
142
152
|
isActive = false;
|
|
@@ -190,10 +200,12 @@ export function useStreamRenderer(options = {}) {
|
|
|
190
200
|
/**
|
|
191
201
|
* Utility function to create a simple text streamer
|
|
192
202
|
*/
|
|
193
|
-
|
|
203
|
+
function createTextStreamer(options = {}) {
|
|
194
204
|
const renderer = createStreamRenderer(options);
|
|
205
|
+
// Enhanced append method for text streaming
|
|
195
206
|
const originalAppend = renderer.append;
|
|
196
207
|
renderer.append = (chunk) => {
|
|
208
|
+
// Add some basic formatting for text streams
|
|
197
209
|
const formattedChunk = chunk.replace(/\n/g, '\n\n');
|
|
198
210
|
originalAppend(formattedChunk);
|
|
199
211
|
};
|
|
@@ -202,7 +214,7 @@ export function createTextStreamer(options = {}) {
|
|
|
202
214
|
/**
|
|
203
215
|
* Utility function to create an AI SDK streamer
|
|
204
216
|
*/
|
|
205
|
-
|
|
217
|
+
function createAIStreamer(options = {}) {
|
|
206
218
|
const aiOptions = {
|
|
207
219
|
formatToolCalls: true,
|
|
208
220
|
showThinking: true,
|
|
@@ -215,7 +227,7 @@ export function createAIStreamer(options = {}) {
|
|
|
215
227
|
/**
|
|
216
228
|
* Utility function to create a debug streamer with timestamps
|
|
217
229
|
*/
|
|
218
|
-
|
|
230
|
+
function createDebugStreamer(options = {}) {
|
|
219
231
|
const debugOptions = {
|
|
220
232
|
renderTimestamps: true,
|
|
221
233
|
formatToolCalls: true,
|
|
@@ -224,5 +236,6 @@ export function createDebugStreamer(options = {}) {
|
|
|
224
236
|
};
|
|
225
237
|
return createStreamRenderer(debugOptions);
|
|
226
238
|
}
|
|
227
|
-
|
|
239
|
+
var stream_protocol_1 = require("./stream-protocol");
|
|
240
|
+
Object.defineProperty(exports, "StreamProtocol", { enumerable: true, get: function () { return stream_protocol_1.StreamProtocol; } });
|
|
228
241
|
//# sourceMappingURL=streamdown-compat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamdown-compat.js","sourceRoot":"","sources":["../src/streamdown-compat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"streamdown-compat.js","sourceRoot":"","sources":["../src/streamdown-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Stream Statistics Tracker
|
|
3
4
|
* Lightweight metrics for streaming progress
|
|
4
5
|
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.StreamProcessor = exports.StreamStatsTracker = void 0;
|
|
5
8
|
/**
|
|
6
9
|
* Track streaming statistics without overhead
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
class StreamStatsTracker {
|
|
9
12
|
startTime = 0;
|
|
10
13
|
stats;
|
|
11
14
|
lastUpdateTime = 0;
|
|
@@ -152,10 +155,11 @@ export class StreamStatsTracker {
|
|
|
152
155
|
return sum / this.sampleWindow.length;
|
|
153
156
|
}
|
|
154
157
|
}
|
|
158
|
+
exports.StreamStatsTracker = StreamStatsTracker;
|
|
155
159
|
/**
|
|
156
160
|
* Stream processor with stats
|
|
157
161
|
*/
|
|
158
|
-
|
|
162
|
+
class StreamProcessor {
|
|
159
163
|
tracker = new StreamStatsTracker();
|
|
160
164
|
reporter;
|
|
161
165
|
reportInterval = null;
|
|
@@ -209,4 +213,5 @@ export class StreamProcessor {
|
|
|
209
213
|
this.tracker.reset();
|
|
210
214
|
}
|
|
211
215
|
}
|
|
216
|
+
exports.StreamProcessor = StreamProcessor;
|
|
212
217
|
//# sourceMappingURL=stream-stats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-stats.js","sourceRoot":"","sources":["../../src/streaming/stream-stats.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"stream-stats.js","sourceRoot":"","sources":["../../src/streaming/stream-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Streaming integration layer
|
|
3
4
|
* Combines all inline renderers and security for seamless streaming
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.enhanceToken = enhanceToken;
|
|
8
|
+
exports.enhanceTokens = enhanceTokens;
|
|
9
|
+
exports.processStreamChunk = processStreamChunk;
|
|
10
|
+
exports.initializeStreamingState = initializeStreamingState;
|
|
11
|
+
exports.getStreamingStatus = getStreamingStatus;
|
|
12
|
+
exports.updateStreamingState = updateStreamingState;
|
|
13
|
+
exports.completeStreaming = completeStreaming;
|
|
14
|
+
exports.formatDuration = formatDuration;
|
|
15
|
+
exports.formatBytes = formatBytes;
|
|
16
|
+
exports.formatThroughput = formatThroughput;
|
|
17
|
+
const unicode_math_1 = require("./renderers/unicode-math");
|
|
18
|
+
const mermaid_ascii_1 = require("./renderers/mermaid-ascii");
|
|
19
|
+
const table_ascii_1 = require("./renderers/table-ascii");
|
|
20
|
+
const chunk_processor_1 = require("./security/chunk-processor");
|
|
9
21
|
/**
|
|
10
22
|
* Process token with all enhancements
|
|
11
23
|
* This is called during rendering to apply inline rendering
|
|
12
24
|
*/
|
|
13
|
-
|
|
25
|
+
function enhanceToken(token, context) {
|
|
14
26
|
// Math tokens: render to unicode
|
|
15
27
|
if (token.type === 'math-inline') {
|
|
16
28
|
return {
|
|
17
29
|
...token,
|
|
18
|
-
content: renderMathToUnicode(token.content || token.raw || '', true),
|
|
30
|
+
content: (0, unicode_math_1.renderMathToUnicode)(token.content || token.raw || '', true),
|
|
19
31
|
};
|
|
20
32
|
}
|
|
21
33
|
if (token.type === 'math-block') {
|
|
22
34
|
return {
|
|
23
35
|
...token,
|
|
24
|
-
content: renderMathBlock(token.content || token.raw || ''),
|
|
36
|
+
content: (0, unicode_math_1.renderMathBlock)(token.content || token.raw || ''),
|
|
25
37
|
};
|
|
26
38
|
}
|
|
27
39
|
// Mermaid tokens: render to ASCII
|
|
28
40
|
if (token.type === 'mermaid') {
|
|
29
41
|
return {
|
|
30
42
|
...token,
|
|
31
|
-
content: renderMermaidToASCII(token.content || token.raw || ''),
|
|
43
|
+
content: (0, mermaid_ascii_1.renderMermaidToASCII)(token.content || token.raw || ''),
|
|
32
44
|
};
|
|
33
45
|
}
|
|
34
46
|
// Table tokens: render to ASCII
|
|
35
47
|
if (token.type === 'table') {
|
|
36
48
|
const tableContent = token.content || token.raw || '';
|
|
37
|
-
if (isMarkdownTable(tableContent)) {
|
|
49
|
+
if ((0, table_ascii_1.isMarkdownTable)(tableContent)) {
|
|
38
50
|
return {
|
|
39
51
|
...token,
|
|
40
|
-
content: renderMarkdownTableToASCII(tableContent),
|
|
52
|
+
content: (0, table_ascii_1.renderMarkdownTableToASCII)(tableContent),
|
|
41
53
|
};
|
|
42
54
|
}
|
|
43
55
|
}
|
|
@@ -46,7 +58,7 @@ export function enhanceToken(token, context) {
|
|
|
46
58
|
if ((token.content || '').includes('$')) {
|
|
47
59
|
return {
|
|
48
60
|
...token,
|
|
49
|
-
content: processMathInText(token.content || ''),
|
|
61
|
+
content: (0, unicode_math_1.processMathInText)(token.content || ''),
|
|
50
62
|
};
|
|
51
63
|
}
|
|
52
64
|
}
|
|
@@ -55,26 +67,26 @@ export function enhanceToken(token, context) {
|
|
|
55
67
|
/**
|
|
56
68
|
* Process all tokens with enhancements
|
|
57
69
|
*/
|
|
58
|
-
|
|
70
|
+
function enhanceTokens(tokens, context) {
|
|
59
71
|
return tokens.map(token => enhanceToken(token, context));
|
|
60
72
|
}
|
|
61
73
|
/**
|
|
62
74
|
* Stream chunk processor with full pipeline
|
|
63
75
|
* Validates → Sanitizes → Returns processed chunk
|
|
64
76
|
*/
|
|
65
|
-
|
|
77
|
+
function processStreamChunk(chunk, enableSecurity = true) {
|
|
66
78
|
if (!chunk) {
|
|
67
79
|
return { valid: false, chunk: '', error: 'Empty chunk' };
|
|
68
80
|
}
|
|
69
81
|
if (enableSecurity) {
|
|
70
|
-
const result = processChunk(chunk);
|
|
82
|
+
const result = (0, chunk_processor_1.processChunk)(chunk);
|
|
71
83
|
if (!result.valid) {
|
|
72
84
|
return { valid: false, chunk: '', error: result.error };
|
|
73
85
|
}
|
|
74
86
|
return { valid: true, chunk: result.sanitized || chunk };
|
|
75
87
|
}
|
|
76
88
|
// Basic validation only
|
|
77
|
-
const validation = validateChunk(chunk);
|
|
89
|
+
const validation = (0, chunk_processor_1.validateChunk)(chunk);
|
|
78
90
|
if (!validation.valid) {
|
|
79
91
|
return { valid: false, chunk: '', error: validation.error };
|
|
80
92
|
}
|
|
@@ -83,7 +95,7 @@ export function processStreamChunk(chunk, enableSecurity = true) {
|
|
|
83
95
|
/**
|
|
84
96
|
* Initialize streaming state
|
|
85
97
|
*/
|
|
86
|
-
|
|
98
|
+
function initializeStreamingState() {
|
|
87
99
|
return {
|
|
88
100
|
isStreaming: false,
|
|
89
101
|
chunkCount: 0,
|
|
@@ -97,7 +109,7 @@ export function initializeStreamingState() {
|
|
|
97
109
|
/**
|
|
98
110
|
* Get streaming status string with spinner and stats
|
|
99
111
|
*/
|
|
100
|
-
|
|
112
|
+
function getStreamingStatus(state) {
|
|
101
113
|
if (!state.isStreaming) {
|
|
102
114
|
return '';
|
|
103
115
|
}
|
|
@@ -116,7 +128,7 @@ export function getStreamingStatus(state) {
|
|
|
116
128
|
/**
|
|
117
129
|
* Update streaming state with chunk
|
|
118
130
|
*/
|
|
119
|
-
|
|
131
|
+
function updateStreamingState(state, chunk) {
|
|
120
132
|
const newState = { ...state };
|
|
121
133
|
if (!newState.isStreaming) {
|
|
122
134
|
newState.isStreaming = true;
|
|
@@ -131,7 +143,7 @@ export function updateStreamingState(state, chunk) {
|
|
|
131
143
|
/**
|
|
132
144
|
* Mark streaming as complete
|
|
133
145
|
*/
|
|
134
|
-
|
|
146
|
+
function completeStreaming(state) {
|
|
135
147
|
const durationMs = Date.now() - state.startTime;
|
|
136
148
|
const durationSec = Math.max(0.1, durationMs / 1000);
|
|
137
149
|
const avgBytesPerSec = state.byteCount / durationSec;
|
|
@@ -153,7 +165,7 @@ export function completeStreaming(state) {
|
|
|
153
165
|
/**
|
|
154
166
|
* Format duration nicely
|
|
155
167
|
*/
|
|
156
|
-
|
|
168
|
+
function formatDuration(ms) {
|
|
157
169
|
if (ms < 1000) {
|
|
158
170
|
return `${ms}ms`;
|
|
159
171
|
}
|
|
@@ -165,7 +177,7 @@ export function formatDuration(ms) {
|
|
|
165
177
|
/**
|
|
166
178
|
* Format bytes nicely
|
|
167
179
|
*/
|
|
168
|
-
|
|
180
|
+
function formatBytes(bytes) {
|
|
169
181
|
if (bytes === 0)
|
|
170
182
|
return '0B';
|
|
171
183
|
const k = 1024;
|
|
@@ -176,7 +188,7 @@ export function formatBytes(bytes) {
|
|
|
176
188
|
/**
|
|
177
189
|
* Format throughput
|
|
178
190
|
*/
|
|
179
|
-
|
|
191
|
+
function formatThroughput(bytesPerSec) {
|
|
180
192
|
return `${formatBytes(bytesPerSec)}/s`;
|
|
181
193
|
}
|
|
182
194
|
//# sourceMappingURL=streaming-integration.js.map
|