@nicomatt69/streamdown-tty 2.1.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.
Files changed (115) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/LICENSE +21 -0
  3. package/README.md +287 -0
  4. package/dist/adapters/index.d.ts +185 -0
  5. package/dist/adapters/index.d.ts.map +1 -0
  6. package/dist/ai-sdk-adapter.d.ts +113 -0
  7. package/dist/ai-sdk-adapter.d.ts.map +1 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/core/index.d.ts +209 -0
  11. package/dist/core/index.d.ts.map +1 -0
  12. package/dist/core/math-renderer.d.ts +40 -0
  13. package/dist/core/math-renderer.d.ts.map +1 -0
  14. package/dist/core/parser.d.ts +139 -0
  15. package/dist/core/parser.d.ts.map +1 -0
  16. package/dist/core/protocol.d.ts +319 -0
  17. package/dist/core/protocol.d.ts.map +1 -0
  18. package/dist/core/remend-tty.d.ts +68 -0
  19. package/dist/core/remend-tty.d.ts.map +1 -0
  20. package/dist/core/renderer.d.ts +286 -0
  21. package/dist/core/renderer.d.ts.map +1 -0
  22. package/dist/errors.d.ts +131 -0
  23. package/dist/errors.d.ts.map +1 -0
  24. package/dist/events.d.ts +185 -0
  25. package/dist/events.d.ts.map +1 -0
  26. package/dist/index.d.ts +39 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +12921 -0
  29. package/dist/parser/streaming-parser.d.ts +81 -0
  30. package/dist/parser/streaming-parser.d.ts.map +1 -0
  31. package/dist/performance.d.ts +139 -0
  32. package/dist/performance.d.ts.map +1 -0
  33. package/dist/plugins/index.d.ts +6 -0
  34. package/dist/plugins/index.d.ts.map +1 -0
  35. package/dist/plugins/plugin-system-inline.d.ts +116 -0
  36. package/dist/plugins/plugin-system-inline.d.ts.map +1 -0
  37. package/dist/plugins/plugin-system.d.ts +65 -0
  38. package/dist/plugins/plugin-system.d.ts.map +1 -0
  39. package/dist/plugins/rehype/harden.d.ts +15 -0
  40. package/dist/plugins/rehype/harden.d.ts.map +1 -0
  41. package/dist/plugins/rehype/index.d.ts +5 -0
  42. package/dist/plugins/rehype/index.d.ts.map +1 -0
  43. package/dist/plugins/remark/index.d.ts +6 -0
  44. package/dist/plugins/remark/index.d.ts.map +1 -0
  45. package/dist/plugins/remark/math.d.ts +7 -0
  46. package/dist/plugins/remark/math.d.ts.map +1 -0
  47. package/dist/plugins/remark/mermaid.d.ts +7 -0
  48. package/dist/plugins/remark/mermaid.d.ts.map +1 -0
  49. package/dist/plugins/types.d.ts +72 -0
  50. package/dist/plugins/types.d.ts.map +1 -0
  51. package/dist/renderer/ansi-renderer.d.ts +76 -0
  52. package/dist/renderer/ansi-renderer.d.ts.map +1 -0
  53. package/dist/renderers/index.d.ts +7 -0
  54. package/dist/renderers/index.d.ts.map +1 -0
  55. package/dist/renderers/math-renderer.d.ts +49 -0
  56. package/dist/renderers/math-renderer.d.ts.map +1 -0
  57. package/dist/renderers/mermaid-ascii.d.ts +14 -0
  58. package/dist/renderers/mermaid-ascii.d.ts.map +1 -0
  59. package/dist/renderers/mermaid-renderer.d.ts +79 -0
  60. package/dist/renderers/mermaid-renderer.d.ts.map +1 -0
  61. package/dist/renderers/shiki-ansi.d.ts +48 -0
  62. package/dist/renderers/shiki-ansi.d.ts.map +1 -0
  63. package/dist/renderers/table-ascii.d.ts +30 -0
  64. package/dist/renderers/table-ascii.d.ts.map +1 -0
  65. package/dist/renderers/unicode-math.d.ts +29 -0
  66. package/dist/renderers/unicode-math.d.ts.map +1 -0
  67. package/dist/security/ansi-sanitizer.d.ts +71 -0
  68. package/dist/security/ansi-sanitizer.d.ts.map +1 -0
  69. package/dist/security/chunk-processor.d.ts +81 -0
  70. package/dist/security/chunk-processor.d.ts.map +1 -0
  71. package/dist/security/index.d.ts +6 -0
  72. package/dist/security/index.d.ts.map +1 -0
  73. package/dist/security/input-validator.d.ts +55 -0
  74. package/dist/security/input-validator.d.ts.map +1 -0
  75. package/dist/stream-protocol.d.ts +61 -0
  76. package/dist/stream-protocol.d.ts.map +1 -0
  77. package/dist/streamdown-compat.d.ts +72 -0
  78. package/dist/streamdown-compat.d.ts.map +1 -0
  79. package/dist/streaming/stream-stats.d.ts +97 -0
  80. package/dist/streaming/stream-stats.d.ts.map +1 -0
  81. package/dist/streaming-integration.d.ts +71 -0
  82. package/dist/streaming-integration.d.ts.map +1 -0
  83. package/dist/themes/index.d.ts +59 -0
  84. package/dist/themes/index.d.ts.map +1 -0
  85. package/dist/types/index.d.ts +168 -0
  86. package/dist/types/index.d.ts.map +1 -0
  87. package/dist/types/plugin-types.d.ts +5 -0
  88. package/dist/types/plugin-types.d.ts.map +1 -0
  89. package/dist/types/stream-events.d.ts +71 -0
  90. package/dist/types/stream-events.d.ts.map +1 -0
  91. package/dist/utils/blessed-syntax-highlighter.d.ts +124 -0
  92. package/dist/utils/blessed-syntax-highlighter.d.ts.map +1 -0
  93. package/dist/utils/enhanced-table-renderer.d.ts +77 -0
  94. package/dist/utils/enhanced-table-renderer.d.ts.map +1 -0
  95. package/dist/utils/formatting.d.ts +100 -0
  96. package/dist/utils/formatting.d.ts.map +1 -0
  97. package/dist/utils/index.d.ts +5 -0
  98. package/dist/utils/index.d.ts.map +1 -0
  99. package/dist/utils/math-unicode-renderer.d.ts +38 -0
  100. package/dist/utils/math-unicode-renderer.d.ts.map +1 -0
  101. package/dist/utils/mermaid-ascii-renderer.d.ts +20 -0
  102. package/dist/utils/mermaid-ascii-renderer.d.ts.map +1 -0
  103. package/dist/utils/mermaid-ascii.d.ts +53 -0
  104. package/dist/utils/mermaid-ascii.d.ts.map +1 -0
  105. package/dist/utils/shiki-ansi-renderer.d.ts +29 -0
  106. package/dist/utils/shiki-ansi-renderer.d.ts.map +1 -0
  107. package/dist/utils/syntax-highlighter.d.ts +87 -0
  108. package/dist/utils/syntax-highlighter.d.ts.map +1 -0
  109. package/dist/utils/table-formatter-inline.d.ts +37 -0
  110. package/dist/utils/table-formatter-inline.d.ts.map +1 -0
  111. package/dist/utils/table.d.ts +35 -0
  112. package/dist/utils/table.d.ts.map +1 -0
  113. package/dist/widgets/stream-indicator.d.ts +130 -0
  114. package/dist/widgets/stream-indicator.d.ts.map +1 -0
  115. package/package.json +129 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Stream Statistics Tracker
3
+ * Lightweight metrics for streaming progress
4
+ */
5
+ export interface StreamStats {
6
+ chunksReceived: number;
7
+ bytesReceived: number;
8
+ tokensGenerated: number;
9
+ elapsedMs: number;
10
+ throughputBytesPerSec: number;
11
+ parseErrors: number;
12
+ }
13
+ /**
14
+ * Track streaming statistics without overhead
15
+ */
16
+ export declare class StreamStatsTracker {
17
+ private startTime;
18
+ private stats;
19
+ private lastUpdateTime;
20
+ private sampleWindow;
21
+ constructor();
22
+ /**
23
+ * Record a processed chunk
24
+ */
25
+ recordChunk(bytes: number, tokens?: number): void;
26
+ /**
27
+ * Record parse error
28
+ */
29
+ recordError(): void;
30
+ /**
31
+ * Update calculated metrics
32
+ */
33
+ private updateMetrics;
34
+ /**
35
+ * Get current stats
36
+ */
37
+ getStats(): StreamStats;
38
+ /**
39
+ * Get formatted progress string
40
+ */
41
+ getProgressString(total?: number): string;
42
+ /**
43
+ * Get compact progress bar
44
+ */
45
+ getProgressBar(width?: number, total?: number): string;
46
+ /**
47
+ * Format bytes to human readable
48
+ */
49
+ private formatBytes;
50
+ /**
51
+ * Reset tracker
52
+ */
53
+ reset(): void;
54
+ /**
55
+ * Get estimated time remaining
56
+ */
57
+ getETA(total: number): string;
58
+ /**
59
+ * Get average throughput
60
+ */
61
+ getAverageThroughput(): number;
62
+ }
63
+ /**
64
+ * Simple progress reporter
65
+ */
66
+ export interface ProgressReporter {
67
+ onProgress?(stats: StreamStats, message?: string): void;
68
+ onComplete?(stats: StreamStats): void;
69
+ onError?(error: Error): void;
70
+ }
71
+ /**
72
+ * Stream processor with stats
73
+ */
74
+ export declare class StreamProcessor {
75
+ private tracker;
76
+ private reporter?;
77
+ private reportInterval;
78
+ private totalBytes?;
79
+ constructor(reporter?: ProgressReporter, totalBytes?: number);
80
+ /**
81
+ * Process chunk with tracking
82
+ */
83
+ processChunk(chunk: string, processor: (c: string) => Promise<void>): Promise<void>;
84
+ /**
85
+ * Get stats
86
+ */
87
+ getStats(): StreamStats;
88
+ /**
89
+ * Complete processing
90
+ */
91
+ complete(): void;
92
+ /**
93
+ * Reset
94
+ */
95
+ reset(): void;
96
+ }
97
+ //# sourceMappingURL=stream-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-stats.d.ts","sourceRoot":"","sources":["../../src/streaming/stream-stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,YAAY,CAAgB;;IAcpC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAOpD;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,QAAQ,IAAI,WAAW;IAKvB;;OAEG;IACH,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAkBzC;;OAEG;IACH,cAAc,CAAC,KAAK,GAAE,MAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAS1D;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAmB7B;;OAEG;IACH,oBAAoB,IAAI,MAAM;CAK/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,CAAmB;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;IAK5D;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzF;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Streaming integration layer
3
+ * Combines all inline renderers and security for seamless streaming
4
+ */
5
+ import { ParsedToken, RenderContext } from './types';
6
+ /**
7
+ * Process token with all enhancements
8
+ * This is called during rendering to apply inline rendering
9
+ */
10
+ export declare function enhanceToken(token: ParsedToken, _context: RenderContext): ParsedToken;
11
+ /**
12
+ * Process all tokens with enhancements
13
+ */
14
+ export declare function enhanceTokens(tokens: ParsedToken[], context: RenderContext): ParsedToken[];
15
+ /**
16
+ * Stream chunk processor with full pipeline
17
+ * Validates → Sanitizes → Returns processed chunk
18
+ */
19
+ export declare function processStreamChunk(chunk: string, enableSecurity?: boolean): {
20
+ valid: boolean;
21
+ chunk: string;
22
+ error?: string;
23
+ };
24
+ /**
25
+ * Streaming state tracker (inline in main class)
26
+ */
27
+ export interface StreamingState {
28
+ isStreaming: boolean;
29
+ chunkCount: number;
30
+ byteCount: number;
31
+ startTime: number;
32
+ lastChunkTime: number;
33
+ errorCount: number;
34
+ spinnerIndex: number;
35
+ }
36
+ /**
37
+ * Initialize streaming state
38
+ */
39
+ export declare function initializeStreamingState(): StreamingState;
40
+ /**
41
+ * Get streaming status string with spinner and stats
42
+ */
43
+ export declare function getStreamingStatus(state: StreamingState): string;
44
+ /**
45
+ * Update streaming state with chunk
46
+ */
47
+ export declare function updateStreamingState(state: StreamingState, chunk: string): StreamingState;
48
+ /**
49
+ * Mark streaming as complete
50
+ */
51
+ export declare function completeStreaming(state: StreamingState): {
52
+ isStreaming: boolean;
53
+ totalBytes: number;
54
+ totalChunks: number;
55
+ durationMs: number;
56
+ avgBytesPerSec: number;
57
+ message: string;
58
+ };
59
+ /**
60
+ * Format duration nicely
61
+ */
62
+ export declare function formatDuration(ms: number): string;
63
+ /**
64
+ * Format bytes nicely
65
+ */
66
+ export declare function formatBytes(bytes: number): string;
67
+ /**
68
+ * Format throughput
69
+ */
70
+ export declare function formatThroughput(bytesPerSec: number): string;
71
+ //# sourceMappingURL=streaming-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-integration.d.ts","sourceRoot":"","sources":["../src/streaming-integration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEpD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,WAAW,CA8CrF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,EAAE,aAAa,GACrB,WAAW,EAAE,CAEf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG;IACjF,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAoBA;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAUzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoBhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAczF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG;IACxD,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,CAsBA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -0,0 +1,59 @@
1
+ import { MarkdownStyles } from '../types';
2
+ /**
3
+ * TTY Theme configuration
4
+ */
5
+ export interface TTYTheme {
6
+ name: string;
7
+ markdown: MarkdownStyles;
8
+ syntax: SyntaxTheme;
9
+ ui: UITheme;
10
+ }
11
+ /**
12
+ * Syntax highlighting theme colors
13
+ */
14
+ export interface SyntaxTheme {
15
+ keyword: string;
16
+ string: string;
17
+ comment: string;
18
+ number: string;
19
+ function: string;
20
+ variable: string;
21
+ type: string;
22
+ operator: string;
23
+ }
24
+ /**
25
+ * UI theme colors
26
+ */
27
+ export interface UITheme {
28
+ border: string;
29
+ background?: string;
30
+ foreground: string;
31
+ accent: string;
32
+ error: string;
33
+ warning: string;
34
+ success: string;
35
+ }
36
+ /**
37
+ * Light theme
38
+ */
39
+ export declare const lightTheme: TTYTheme;
40
+ /**
41
+ * Dark theme (default)
42
+ */
43
+ export declare const darkTheme: TTYTheme;
44
+ /**
45
+ * Get theme by name
46
+ */
47
+ export declare function getTheme(name: 'light' | 'dark' | 'auto'): TTYTheme;
48
+ /**
49
+ * Detect theme from environment
50
+ */
51
+ export declare function detectTheme(): TTYTheme;
52
+ /**
53
+ * Available themes
54
+ */
55
+ export declare const themes: {
56
+ light: TTYTheme;
57
+ dark: TTYTheme;
58
+ };
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,QAyCxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,QAwCvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAMlE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAOtC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
@@ -0,0 +1,168 @@
1
+ import type { TTYPluggableList } from './plugin-types.js';
2
+ export interface StreamttyOptions {
3
+ /**
4
+ * Parse and style unterminated Markdown blocks
5
+ */
6
+ parseIncompleteMarkdown?: boolean;
7
+ /**
8
+ * Custom style overrides for different markdown elements
9
+ */
10
+ styles?: Partial<MarkdownStyles>;
11
+ /**
12
+ * Enable syntax highlighting for code blocks
13
+ */
14
+ syntaxHighlight?: boolean;
15
+ /**
16
+ * Show line numbers in code blocks
17
+ */
18
+ showLineNumbers?: boolean;
19
+ /**
20
+ * Maximum width for the content (auto-wrap)
21
+ */
22
+ maxWidth?: number;
23
+ /**
24
+ * Enable GFM (GitHub Flavored Markdown) extensions
25
+ */
26
+ gfm?: boolean;
27
+ /**
28
+ * Output stream (defaults to process.stdout)
29
+ */
30
+ output?: NodeJS.WriteStream;
31
+ /**
32
+ * Remark plugins for markdown preprocessing
33
+ */
34
+ remarkPlugins?: TTYPluggableList;
35
+ /**
36
+ * Rehype plugins for token post-processing
37
+ */
38
+ rehypePlugins?: TTYPluggableList;
39
+ /**
40
+ * Theme for syntax highlighting and rendering
41
+ */
42
+ theme?: 'light' | 'dark' | 'auto';
43
+ /**
44
+ * Shiki syntax highlighting languages to load
45
+ */
46
+ shikiLanguages?: string[];
47
+ /**
48
+ * Mermaid diagram configuration
49
+ */
50
+ mermaidConfig?: MermaidTTYConfig;
51
+ /**
52
+ * Math rendering configuration
53
+ */
54
+ mathConfig?: MathRenderConfig;
55
+ /**
56
+ * Security configuration
57
+ */
58
+ security?: SecurityConfig;
59
+ /**
60
+ * Enhanced features toggle (opt-in)
61
+ */
62
+ enhancedFeatures?: EnhancedFeaturesConfig;
63
+ /**
64
+ * Streaming animation state
65
+ */
66
+ isStreaming?: boolean;
67
+ }
68
+ export interface MarkdownStyles {
69
+ h1: ANSIStyle;
70
+ h2: ANSIStyle;
71
+ h3: ANSIStyle;
72
+ h4: ANSIStyle;
73
+ h5: ANSIStyle;
74
+ h6: ANSIStyle;
75
+ paragraph: ANSIStyle;
76
+ strong: ANSIStyle;
77
+ em: ANSIStyle;
78
+ code: ANSIStyle;
79
+ codeBlock: ANSIStyle;
80
+ blockquote: ANSIStyle;
81
+ link: ANSIStyle;
82
+ list: ANSIStyle;
83
+ listItem: ANSIStyle;
84
+ table: ANSIStyle;
85
+ tableHeader: ANSIStyle;
86
+ hr: ANSIStyle;
87
+ thinking?: ANSIStyle;
88
+ }
89
+ export interface ANSIStyle {
90
+ fg?: string;
91
+ bg?: string;
92
+ bold?: boolean;
93
+ underline?: boolean;
94
+ italic?: boolean;
95
+ inverse?: boolean;
96
+ }
97
+ /** @deprecated Use ANSIStyle instead */
98
+ export type BlessedStyle = ANSIStyle;
99
+ export interface ParsedToken {
100
+ type: TokenType;
101
+ content: string;
102
+ depth?: number;
103
+ ordered?: boolean;
104
+ lang?: string;
105
+ style?: ANSIStyle;
106
+ incomplete?: boolean;
107
+ raw?: string;
108
+ }
109
+ export type TokenType = 'heading' | 'paragraph' | 'text' | 'strong' | 'em' | 'code' | 'codeblock' | 'blockquote' | 'list' | 'listitem' | 'link' | 'image' | 'table' | 'hr' | 'br' | 'del' | 'task' | 'incomplete' | 'math-inline' | 'math-block' | 'mermaid' | 'diagram';
110
+ export interface StreamBuffer {
111
+ content: string;
112
+ tokens: ParsedToken[];
113
+ lastUpdate: number;
114
+ }
115
+ export interface RenderContext {
116
+ output: NodeJS.WriteStream;
117
+ options: Required<StreamttyOptions>;
118
+ buffer: StreamBuffer;
119
+ }
120
+ /**
121
+ * Enhanced features configuration
122
+ */
123
+ export interface EnhancedFeaturesConfig {
124
+ math?: boolean;
125
+ mermaid?: boolean;
126
+ shiki?: boolean;
127
+ security?: boolean;
128
+ advancedTables?: boolean;
129
+ }
130
+ /**
131
+ * Mermaid diagram configuration for TTY
132
+ */
133
+ export interface MermaidTTYConfig {
134
+ theme?: 'default' | 'dark' | 'forest' | 'neutral';
135
+ flowchart?: {
136
+ useMaxWidth?: boolean;
137
+ htmlLabels?: boolean;
138
+ };
139
+ sequence?: {
140
+ showSequenceNumbers?: boolean;
141
+ };
142
+ gantt?: {
143
+ titleTopMargin?: number;
144
+ barHeight?: number;
145
+ };
146
+ }
147
+ /**
148
+ * Math rendering configuration
149
+ */
150
+ export interface MathRenderConfig {
151
+ displayMode?: boolean;
152
+ throwOnError?: boolean;
153
+ errorColor?: string;
154
+ macros?: Record<string, string>;
155
+ trust?: boolean;
156
+ }
157
+ /**
158
+ * Security configuration
159
+ */
160
+ export interface SecurityConfig {
161
+ enabled?: boolean;
162
+ allowedLinkPrefixes?: string[];
163
+ allowedImagePrefixes?: string[];
164
+ maxBufferSize?: number;
165
+ stripDangerousAnsi?: boolean;
166
+ sanitizeHtml?: boolean;
167
+ }
168
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Plugin types for type imports (avoiding circular dependencies)
3
+ */
4
+ export type TTYPluggableList = Array<any>;
5
+ //# sourceMappingURL=plugin-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-types.d.ts","sourceRoot":"","sources":["../../src/types/plugin-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * AI SDK Compatible Stream Event Types
3
+ *
4
+ * This module defines the stream event protocol that enables streamtty
5
+ * to handle AI SDK streaming events including tool calls, text deltas,
6
+ * and structured agent interactions.
7
+ */
8
+ export type StreamEventType = 'text_delta' | 'tool_call' | 'tool_result' | 'thinking' | 'start' | 'complete' | 'error' | 'reasoning' | 'step' | 'status';
9
+ export interface StreamEvent {
10
+ type: StreamEventType;
11
+ content?: string;
12
+ toolName?: string;
13
+ toolArgs?: Record<string, any>;
14
+ toolResult?: any;
15
+ metadata?: {
16
+ timestamp?: number;
17
+ duration?: number;
18
+ agentId?: string;
19
+ taskId?: string;
20
+ [key: string]: any;
21
+ };
22
+ }
23
+ export interface ToolCallEvent extends StreamEvent {
24
+ type: 'tool_call';
25
+ toolName: string;
26
+ toolArgs: Record<string, any>;
27
+ }
28
+ export interface ToolResultEvent extends StreamEvent {
29
+ type: 'tool_result';
30
+ toolResult: any;
31
+ }
32
+ export interface TextDeltaEvent extends StreamEvent {
33
+ type: 'text_delta';
34
+ content: string;
35
+ }
36
+ export interface ThinkingEvent extends StreamEvent {
37
+ type: 'thinking' | 'reasoning';
38
+ content: string;
39
+ }
40
+ export interface StatusEvent extends StreamEvent {
41
+ type: 'status' | 'step';
42
+ content: string;
43
+ metadata: {
44
+ status?: 'pending' | 'running' | 'completed' | 'failed';
45
+ progress?: number;
46
+ [key: string]: any;
47
+ };
48
+ }
49
+ export interface ErrorEvent extends StreamEvent {
50
+ type: 'error';
51
+ content: string;
52
+ metadata: {
53
+ error?: Error;
54
+ code?: string;
55
+ [key: string]: any;
56
+ };
57
+ }
58
+ export interface StreamEventOptions {
59
+ parseIncompleteMarkdown?: boolean;
60
+ syntaxHighlight?: boolean;
61
+ formatToolCalls?: boolean;
62
+ showThinking?: boolean;
63
+ maxToolResultLength?: number;
64
+ }
65
+ export type StreamEventHandler = (event: StreamEvent) => void | Promise<void>;
66
+ export interface StreamEventEmitter {
67
+ on(event: StreamEventType | 'all', handler: StreamEventHandler): void;
68
+ off(event: StreamEventType | 'all', handler: StreamEventHandler): void;
69
+ emit(event: StreamEvent): void;
70
+ }
71
+ //# sourceMappingURL=stream-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-events.d.ts","sourceRoot":"","sources":["../../src/types/stream-events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,WAAW,GACX,aAAa,GACb,UAAU,GACV,OAAO,GACP,UAAU,GACV,OAAO,GACP,WAAW,GACX,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,GAAG,CAAA;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,UAAU,GAAG,WAAW,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE;QACR,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;QACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE7E,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACrE,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACtE,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;CAC/B"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Blessed tags syntax highlighting for terminal output
3
+ * Uses blessed tag syntax for highlighting paths, keywords, and other elements
4
+ */
5
+ /**
6
+ * Blessed color tags for syntax highlighting
7
+ */
8
+ export declare const blessedSyntaxColors: {
9
+ path: string;
10
+ lineNumber: string;
11
+ keyword: string;
12
+ string: string;
13
+ number: string;
14
+ comment: string;
15
+ title: string;
16
+ error: string;
17
+ success: string;
18
+ warning: string;
19
+ darkGray: string;
20
+ link: string;
21
+ info: string;
22
+ debug: string;
23
+ httpMethod: string;
24
+ diffAdd: string;
25
+ diffRemove: string;
26
+ };
27
+ /**
28
+ * Highlight file paths in text using blessed tags
29
+ * Matches: /path/to/file.ts, ./relative/path.js, ~/home/path
30
+ */
31
+ export declare function highlightPathsBlessed(text: string): string;
32
+ /**
33
+ * Highlight file references with line numbers using blessed tags
34
+ * Matches: file.ts:123, /path/to/file.js:45:10
35
+ */
36
+ export declare function highlightFileRefsBlessed(text: string): string;
37
+ /**
38
+ * Highlight URLs and email addresses using blessed tags
39
+ */
40
+ export declare function highlightLinksBlessed(text: string): string;
41
+ /**
42
+ * Highlight programming keywords using blessed tags
43
+ */
44
+ export declare function highlightKeywordsBlessed(text: string): string;
45
+ /**
46
+ * Highlight CLI flags like --option and -o
47
+ */
48
+ export declare function highlightCliFlagsBlessed(text: string): string;
49
+ /**
50
+ * Highlight markdown-style titles using blessed tags
51
+ * Matches: # Title, ## Subtitle, etc.
52
+ */
53
+ export declare function highlightTitlesBlessed(text: string): string;
54
+ /**
55
+ * Highlight JSON keys and literals (true/false/null)
56
+ */
57
+ export declare function highlightJsonBlessed(text: string): string;
58
+ /**
59
+ * Highlight string literals in quotes using blessed tags
60
+ */
61
+ export declare function highlightStringsBlessed(text: string): string;
62
+ /**
63
+ * Highlight numbers using blessed tags
64
+ */
65
+ export declare function highlightNumbersBlessed(text: string): string;
66
+ /**
67
+ * Highlight code comments using blessed tags
68
+ * Matches single-line and multi-line comments, bash comments
69
+ */
70
+ export declare function highlightCommentsBlessed(text: string): string;
71
+ /**
72
+ * Highlight shell/bash commands using blessed tags
73
+ */
74
+ export declare function highlightShellCommandsBlessed(text: string): string;
75
+ /**
76
+ * Highlight common log levels and status tags
77
+ */
78
+ export declare function highlightLogLevelsBlessed(text: string): string;
79
+ /**
80
+ * Highlight HTTP methods and status codes
81
+ */
82
+ export declare function highlightHttpBlessed(text: string): string;
83
+ /**
84
+ * Highlight environment variables like $VAR and ${VAR}
85
+ */
86
+ export declare function highlightEnvVarsBlessed(text: string): string;
87
+ /**
88
+ * Highlight IP addresses and ports
89
+ */
90
+ export declare function highlightIPsBlessed(text: string): string;
91
+ /**
92
+ * Highlight Git commit SHAs (7-40 hex chars)
93
+ */
94
+ export declare function highlightGitShasBlessed(text: string): string;
95
+ /**
96
+ * Highlight code-frame style lines: 12 | code
97
+ */
98
+ export declare function highlightCodeFramesBlessed(text: string): string;
99
+ /**
100
+ * Highlight diff lines starting with + or -
101
+ */
102
+ export declare function highlightDiffsBlessed(text: string): string;
103
+ /**
104
+ * Highlight package names like @scope/package using blessed tags
105
+ */
106
+ export declare function highlightPackagesBlessed(text: string): string;
107
+ /**
108
+ * Highlight markdown code blocks with syntax highlighting (blessed tags)
109
+ */
110
+ export declare function highlightCodeBlocksBlessed(text: string): string;
111
+ /**
112
+ * Apply comprehensive syntax highlighting using blessed tags
113
+ * Applies all highlighting rules in the correct order
114
+ */
115
+ export declare function applySyntaxHighlightBlessed(text: string): string;
116
+ /**
117
+ * Apply light syntax highlighting using blessed tags (conservative)
118
+ */
119
+ export declare function applyLightSyntaxHighlightBlessed(text: string): string;
120
+ /**
121
+ * Colorize entire text block with blessed tag
122
+ */
123
+ export declare function colorizeBlockBlessed(text: string, color: string): string;
124
+ //# sourceMappingURL=blessed-syntax-highlighter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blessed-syntax-highlighter.d.ts","sourceRoot":"","sources":["../../src/utils/blessed-syntax-highlighter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAmB/B,CAAA;AAqBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASlE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4B9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB/D;AAkCD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4EhE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE"}