@nicomatt69/streamtty 0.0.1

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 (199) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +471 -0
  3. package/dist/ai-sdk-adapter.d.ts +113 -0
  4. package/dist/ai-sdk-adapter.d.ts.map +1 -0
  5. package/dist/ai-sdk-adapter.js +304 -0
  6. package/dist/ai-sdk-adapter.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +188 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/errors.d.ts +131 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +346 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/events.d.ts +185 -0
  16. package/dist/events.d.ts.map +1 -0
  17. package/dist/events.js +350 -0
  18. package/dist/events.js.map +1 -0
  19. package/dist/index.d.ts +117 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +323 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/parser/streaming-parser.d.ts +81 -0
  24. package/dist/parser/streaming-parser.d.ts.map +1 -0
  25. package/dist/parser/streaming-parser.js +522 -0
  26. package/dist/parser/streaming-parser.js.map +1 -0
  27. package/dist/performance.d.ts +139 -0
  28. package/dist/performance.d.ts.map +1 -0
  29. package/dist/performance.js +401 -0
  30. package/dist/performance.js.map +1 -0
  31. package/dist/plugins/index.d.ts +6 -0
  32. package/dist/plugins/index.d.ts.map +1 -0
  33. package/dist/plugins/index.js +22 -0
  34. package/dist/plugins/index.js.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-inline.js +289 -0
  38. package/dist/plugins/plugin-system-inline.js.map +1 -0
  39. package/dist/plugins/plugin-system.d.ts +65 -0
  40. package/dist/plugins/plugin-system.d.ts.map +1 -0
  41. package/dist/plugins/plugin-system.js +202 -0
  42. package/dist/plugins/plugin-system.js.map +1 -0
  43. package/dist/plugins/rehype/harden.d.ts +15 -0
  44. package/dist/plugins/rehype/harden.d.ts.map +1 -0
  45. package/dist/plugins/rehype/harden.js +71 -0
  46. package/dist/plugins/rehype/harden.js.map +1 -0
  47. package/dist/plugins/rehype/index.d.ts +5 -0
  48. package/dist/plugins/rehype/index.d.ts.map +1 -0
  49. package/dist/plugins/rehype/index.js +21 -0
  50. package/dist/plugins/rehype/index.js.map +1 -0
  51. package/dist/plugins/remark/index.d.ts +6 -0
  52. package/dist/plugins/remark/index.d.ts.map +1 -0
  53. package/dist/plugins/remark/index.js +22 -0
  54. package/dist/plugins/remark/index.js.map +1 -0
  55. package/dist/plugins/remark/math.d.ts +7 -0
  56. package/dist/plugins/remark/math.d.ts.map +1 -0
  57. package/dist/plugins/remark/math.js +22 -0
  58. package/dist/plugins/remark/math.js.map +1 -0
  59. package/dist/plugins/remark/mermaid.d.ts +7 -0
  60. package/dist/plugins/remark/mermaid.d.ts.map +1 -0
  61. package/dist/plugins/remark/mermaid.js +19 -0
  62. package/dist/plugins/remark/mermaid.js.map +1 -0
  63. package/dist/plugins/types.d.ts +72 -0
  64. package/dist/plugins/types.d.ts.map +1 -0
  65. package/dist/plugins/types.js +3 -0
  66. package/dist/plugins/types.js.map +1 -0
  67. package/dist/renderer/blessed-renderer.d.ts +92 -0
  68. package/dist/renderer/blessed-renderer.d.ts.map +1 -0
  69. package/dist/renderer/blessed-renderer.js +610 -0
  70. package/dist/renderer/blessed-renderer.js.map +1 -0
  71. package/dist/renderers/index.d.ts +7 -0
  72. package/dist/renderers/index.d.ts.map +1 -0
  73. package/dist/renderers/index.js +21 -0
  74. package/dist/renderers/index.js.map +1 -0
  75. package/dist/renderers/math-renderer.d.ts +49 -0
  76. package/dist/renderers/math-renderer.d.ts.map +1 -0
  77. package/dist/renderers/math-renderer.js +193 -0
  78. package/dist/renderers/math-renderer.js.map +1 -0
  79. package/dist/renderers/mermaid-ascii.d.ts +14 -0
  80. package/dist/renderers/mermaid-ascii.d.ts.map +1 -0
  81. package/dist/renderers/mermaid-ascii.js +260 -0
  82. package/dist/renderers/mermaid-ascii.js.map +1 -0
  83. package/dist/renderers/mermaid-renderer.d.ts +79 -0
  84. package/dist/renderers/mermaid-renderer.d.ts.map +1 -0
  85. package/dist/renderers/mermaid-renderer.js +298 -0
  86. package/dist/renderers/mermaid-renderer.js.map +1 -0
  87. package/dist/renderers/shiki-ansi.d.ts +48 -0
  88. package/dist/renderers/shiki-ansi.d.ts.map +1 -0
  89. package/dist/renderers/shiki-ansi.js +206 -0
  90. package/dist/renderers/shiki-ansi.js.map +1 -0
  91. package/dist/renderers/table-ascii.d.ts +30 -0
  92. package/dist/renderers/table-ascii.d.ts.map +1 -0
  93. package/dist/renderers/table-ascii.js +243 -0
  94. package/dist/renderers/table-ascii.js.map +1 -0
  95. package/dist/renderers/table-renderer.d.ts +49 -0
  96. package/dist/renderers/table-renderer.d.ts.map +1 -0
  97. package/dist/renderers/table-renderer.js +224 -0
  98. package/dist/renderers/table-renderer.js.map +1 -0
  99. package/dist/renderers/unicode-math.d.ts +29 -0
  100. package/dist/renderers/unicode-math.d.ts.map +1 -0
  101. package/dist/renderers/unicode-math.js +181 -0
  102. package/dist/renderers/unicode-math.js.map +1 -0
  103. package/dist/security/ansi-sanitizer.d.ts +71 -0
  104. package/dist/security/ansi-sanitizer.d.ts.map +1 -0
  105. package/dist/security/ansi-sanitizer.js +275 -0
  106. package/dist/security/ansi-sanitizer.js.map +1 -0
  107. package/dist/security/chunk-processor.d.ts +81 -0
  108. package/dist/security/chunk-processor.d.ts.map +1 -0
  109. package/dist/security/chunk-processor.js +297 -0
  110. package/dist/security/chunk-processor.js.map +1 -0
  111. package/dist/security/index.d.ts +6 -0
  112. package/dist/security/index.d.ts.map +1 -0
  113. package/dist/security/index.js +22 -0
  114. package/dist/security/index.js.map +1 -0
  115. package/dist/security/input-validator.d.ts +55 -0
  116. package/dist/security/input-validator.d.ts.map +1 -0
  117. package/dist/security/input-validator.js +201 -0
  118. package/dist/security/input-validator.js.map +1 -0
  119. package/dist/stream-protocol.d.ts +61 -0
  120. package/dist/stream-protocol.d.ts.map +1 -0
  121. package/dist/stream-protocol.js +214 -0
  122. package/dist/stream-protocol.js.map +1 -0
  123. package/dist/streamdown-compat.d.ts +74 -0
  124. package/dist/streamdown-compat.d.ts.map +1 -0
  125. package/dist/streamdown-compat.js +241 -0
  126. package/dist/streamdown-compat.js.map +1 -0
  127. package/dist/streaming/stream-stats.d.ts +97 -0
  128. package/dist/streaming/stream-stats.d.ts.map +1 -0
  129. package/dist/streaming/stream-stats.js +217 -0
  130. package/dist/streaming/stream-stats.js.map +1 -0
  131. package/dist/streaming-integration.d.ts +71 -0
  132. package/dist/streaming-integration.d.ts.map +1 -0
  133. package/dist/streaming-integration.js +194 -0
  134. package/dist/streaming-integration.js.map +1 -0
  135. package/dist/themes/index.d.ts +59 -0
  136. package/dist/themes/index.d.ts.map +1 -0
  137. package/dist/themes/index.js +122 -0
  138. package/dist/themes/index.js.map +1 -0
  139. package/dist/types/index.d.ts +222 -0
  140. package/dist/types/index.d.ts.map +1 -0
  141. package/dist/types/index.js +3 -0
  142. package/dist/types/index.js.map +1 -0
  143. package/dist/types/plugin-types.d.ts +5 -0
  144. package/dist/types/plugin-types.d.ts.map +1 -0
  145. package/dist/types/plugin-types.js +6 -0
  146. package/dist/types/plugin-types.js.map +1 -0
  147. package/dist/types/stream-events.d.ts +71 -0
  148. package/dist/types/stream-events.d.ts.map +1 -0
  149. package/dist/types/stream-events.js +10 -0
  150. package/dist/types/stream-events.js.map +1 -0
  151. package/dist/utils/blessed-syntax-highlighter.d.ts +124 -0
  152. package/dist/utils/blessed-syntax-highlighter.d.ts.map +1 -0
  153. package/dist/utils/blessed-syntax-highlighter.js +440 -0
  154. package/dist/utils/blessed-syntax-highlighter.js.map +1 -0
  155. package/dist/utils/enhanced-table-renderer.d.ts +77 -0
  156. package/dist/utils/enhanced-table-renderer.d.ts.map +1 -0
  157. package/dist/utils/enhanced-table-renderer.js +376 -0
  158. package/dist/utils/enhanced-table-renderer.js.map +1 -0
  159. package/dist/utils/formatting.d.ts +100 -0
  160. package/dist/utils/formatting.d.ts.map +1 -0
  161. package/dist/utils/formatting.js +220 -0
  162. package/dist/utils/formatting.js.map +1 -0
  163. package/dist/utils/index.d.ts +5 -0
  164. package/dist/utils/index.d.ts.map +1 -0
  165. package/dist/utils/index.js +21 -0
  166. package/dist/utils/index.js.map +1 -0
  167. package/dist/utils/math-unicode-renderer.d.ts +38 -0
  168. package/dist/utils/math-unicode-renderer.d.ts.map +1 -0
  169. package/dist/utils/math-unicode-renderer.js +380 -0
  170. package/dist/utils/math-unicode-renderer.js.map +1 -0
  171. package/dist/utils/mermaid-ascii-renderer.d.ts +20 -0
  172. package/dist/utils/mermaid-ascii-renderer.d.ts.map +1 -0
  173. package/dist/utils/mermaid-ascii-renderer.js +325 -0
  174. package/dist/utils/mermaid-ascii-renderer.js.map +1 -0
  175. package/dist/utils/mermaid-ascii.d.ts +53 -0
  176. package/dist/utils/mermaid-ascii.d.ts.map +1 -0
  177. package/dist/utils/mermaid-ascii.js +181 -0
  178. package/dist/utils/mermaid-ascii.js.map +1 -0
  179. package/dist/utils/shiki-ansi-renderer.d.ts +29 -0
  180. package/dist/utils/shiki-ansi-renderer.d.ts.map +1 -0
  181. package/dist/utils/shiki-ansi-renderer.js +354 -0
  182. package/dist/utils/shiki-ansi-renderer.js.map +1 -0
  183. package/dist/utils/syntax-highlighter.d.ts +87 -0
  184. package/dist/utils/syntax-highlighter.d.ts.map +1 -0
  185. package/dist/utils/syntax-highlighter.js +265 -0
  186. package/dist/utils/syntax-highlighter.js.map +1 -0
  187. package/dist/utils/table-formatter-inline.d.ts +37 -0
  188. package/dist/utils/table-formatter-inline.d.ts.map +1 -0
  189. package/dist/utils/table-formatter-inline.js +337 -0
  190. package/dist/utils/table-formatter-inline.js.map +1 -0
  191. package/dist/utils/table.d.ts +35 -0
  192. package/dist/utils/table.d.ts.map +1 -0
  193. package/dist/utils/table.js +197 -0
  194. package/dist/utils/table.js.map +1 -0
  195. package/dist/widgets/stream-indicator.d.ts +130 -0
  196. package/dist/widgets/stream-indicator.d.ts.map +1 -0
  197. package/dist/widgets/stream-indicator.js +276 -0
  198. package/dist/widgets/stream-indicator.js.map +1 -0
  199. package/package.json +75 -0
package/dist/events.js ADDED
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ /**
3
+ * Event-Driven Architecture
4
+ *
5
+ * This module provides a comprehensive event system for streamtty,
6
+ * enabling lifecycle hooks, custom event handling, and inter-component communication.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.globalEventBus = exports.EventUtils = exports.StreamttyLifecycle = exports.StreamttyEventBus = exports.StreamttyEventEmitter = void 0;
10
+ exports.setupEventErrorHandling = setupEventErrorHandling;
11
+ const events_1 = require("events");
12
+ /**
13
+ * Enhanced EventEmitter for Streamtty
14
+ */
15
+ class StreamttyEventEmitter extends events_1.EventEmitter {
16
+ eventHistory = [];
17
+ maxHistorySize = 100;
18
+ filters = new Map();
19
+ constructor(maxHistorySize = 100) {
20
+ super();
21
+ this.maxHistorySize = maxHistorySize;
22
+ this.setMaxListeners(50); // Increase default limit
23
+ }
24
+ /**
25
+ * Emit an event with automatic timestamp and history tracking
26
+ */
27
+ emit(event, data) {
28
+ const timestamp = Date.now();
29
+ const eventData = {
30
+ ...data,
31
+ timestamp,
32
+ source: this.constructor.name
33
+ };
34
+ // Apply filters
35
+ if (this.shouldFilterEvent(event, eventData)) {
36
+ return false;
37
+ }
38
+ // Add to history
39
+ this.addToHistory(event, eventData, timestamp);
40
+ // Emit the event
41
+ const result = super.emit(event, eventData);
42
+ // Emit wildcard event for global listeners
43
+ super.emit('*', event, eventData);
44
+ return result;
45
+ }
46
+ /**
47
+ * Add event listener with optional filter
48
+ */
49
+ on(event, handler, filter) {
50
+ const wrappedHandler = (data) => {
51
+ if (!filter || filter(data)) {
52
+ handler(data);
53
+ }
54
+ };
55
+ super.on(event, wrappedHandler);
56
+ return this;
57
+ }
58
+ /**
59
+ * Add one-time event listener
60
+ */
61
+ once(event, handler, filter) {
62
+ const wrappedHandler = (data) => {
63
+ if (!filter || filter(data)) {
64
+ handler(data);
65
+ this.off(event, wrappedHandler);
66
+ }
67
+ };
68
+ super.once(event, wrappedHandler);
69
+ return this;
70
+ }
71
+ /**
72
+ * Add event filter
73
+ */
74
+ addFilter(event, filter) {
75
+ if (!this.filters.has(event)) {
76
+ this.filters.set(event, []);
77
+ }
78
+ this.filters.get(event).push(filter);
79
+ return this;
80
+ }
81
+ /**
82
+ * Remove event filter
83
+ */
84
+ removeFilter(event, filter) {
85
+ if (!this.filters.has(event)) {
86
+ return this;
87
+ }
88
+ if (filter) {
89
+ const filters = this.filters.get(event);
90
+ const index = filters.indexOf(filter);
91
+ if (index > -1) {
92
+ filters.splice(index, 1);
93
+ }
94
+ }
95
+ else {
96
+ this.filters.delete(event);
97
+ }
98
+ return this;
99
+ }
100
+ /**
101
+ * Get event history
102
+ */
103
+ getHistory(event, limit) {
104
+ let history = this.eventHistory;
105
+ if (event) {
106
+ history = history.filter(item => item.type === event);
107
+ }
108
+ if (limit && limit > 0) {
109
+ history = history.slice(-limit);
110
+ }
111
+ return history;
112
+ }
113
+ /**
114
+ * Clear event history
115
+ */
116
+ clearHistory() {
117
+ this.eventHistory = [];
118
+ return this;
119
+ }
120
+ /**
121
+ * Get event statistics
122
+ */
123
+ getEventStats() {
124
+ const stats = {};
125
+ for (const event of this.eventHistory) {
126
+ stats[event.type] = (stats[event.type] || 0) + 1;
127
+ }
128
+ return stats;
129
+ }
130
+ shouldFilterEvent(event, data) {
131
+ const filters = this.filters.get(event);
132
+ if (!filters) {
133
+ return false;
134
+ }
135
+ return filters.some(filter => !filter(data));
136
+ }
137
+ addToHistory(event, data, timestamp) {
138
+ this.eventHistory.push({ type: event, data, timestamp });
139
+ // Trim history if it exceeds max size
140
+ if (this.eventHistory.length > this.maxHistorySize) {
141
+ this.eventHistory = this.eventHistory.slice(-this.maxHistorySize);
142
+ }
143
+ }
144
+ }
145
+ exports.StreamttyEventEmitter = StreamttyEventEmitter;
146
+ /**
147
+ * Event Bus for inter-component communication
148
+ */
149
+ class StreamttyEventBus extends StreamttyEventEmitter {
150
+ components = new Map();
151
+ /**
152
+ * Register a component
153
+ */
154
+ registerComponent(name, component) {
155
+ this.components.set(name, component);
156
+ // Forward component events to the bus (if wildcard supported)
157
+ if (typeof component.on === 'function') {
158
+ const handler = (event, data) => {
159
+ this.emit(`${name}:${event}`, data);
160
+ };
161
+ // Some EventEmitters don't support wildcard, skip if not available
162
+ try {
163
+ component.on('*', handler);
164
+ }
165
+ catch {
166
+ // Wildcard not supported, skip
167
+ }
168
+ }
169
+ return this;
170
+ }
171
+ /**
172
+ * Unregister a component
173
+ */
174
+ unregisterComponent(name) {
175
+ const component = this.components.get(name);
176
+ if (component) {
177
+ component.removeAllListeners();
178
+ this.components.delete(name);
179
+ }
180
+ return this;
181
+ }
182
+ /**
183
+ * Get a registered component
184
+ */
185
+ getComponent(name) {
186
+ return this.components.get(name);
187
+ }
188
+ /**
189
+ * Broadcast event to all components
190
+ */
191
+ broadcast(event, data) {
192
+ for (const component of this.components.values()) {
193
+ component.emit(event, data);
194
+ }
195
+ return this;
196
+ }
197
+ }
198
+ exports.StreamttyEventBus = StreamttyEventBus;
199
+ /**
200
+ * Lifecycle event manager
201
+ */
202
+ class StreamttyLifecycle {
203
+ eventBus;
204
+ hooks = new Map();
205
+ constructor(eventBus) {
206
+ this.eventBus = eventBus;
207
+ }
208
+ /**
209
+ * Register a lifecycle hook
210
+ */
211
+ on(event, handler) {
212
+ if (!this.hooks.has(event)) {
213
+ this.hooks.set(event, []);
214
+ }
215
+ this.hooks.get(event).push(handler);
216
+ return this;
217
+ }
218
+ /**
219
+ * Remove a lifecycle hook
220
+ */
221
+ off(event, handler) {
222
+ const hooks = this.hooks.get(event);
223
+ if (hooks) {
224
+ const index = hooks.indexOf(handler);
225
+ if (index > -1) {
226
+ hooks.splice(index, 1);
227
+ }
228
+ }
229
+ return this;
230
+ }
231
+ /**
232
+ * Trigger a lifecycle event
233
+ */
234
+ async trigger(event, data) {
235
+ const hooks = this.hooks.get(event);
236
+ if (hooks) {
237
+ for (const hook of hooks) {
238
+ try {
239
+ await hook(data);
240
+ }
241
+ catch (error) {
242
+ this.eventBus.emit('streamtty:error', {
243
+ type: 'lifecycle_hook_error',
244
+ event,
245
+ error: error instanceof Error ? error : new Error(String(error))
246
+ });
247
+ }
248
+ }
249
+ }
250
+ this.eventBus.emit(event, data);
251
+ }
252
+ /**
253
+ * Trigger multiple lifecycle events
254
+ */
255
+ async triggerMultiple(events) {
256
+ for (const { event, data } of events) {
257
+ await this.trigger(event, data);
258
+ }
259
+ }
260
+ }
261
+ exports.StreamttyLifecycle = StreamttyLifecycle;
262
+ /**
263
+ * Event utilities
264
+ */
265
+ class EventUtils {
266
+ /**
267
+ * Create a debounced event handler
268
+ */
269
+ static debounce(handler, delay) {
270
+ let timeoutId;
271
+ return (data) => {
272
+ clearTimeout(timeoutId);
273
+ timeoutId = setTimeout(() => handler(data), delay);
274
+ };
275
+ }
276
+ /**
277
+ * Create a throttled event handler
278
+ */
279
+ static throttle(handler, delay) {
280
+ let lastCall = 0;
281
+ return (data) => {
282
+ const now = Date.now();
283
+ if (now - lastCall >= delay) {
284
+ lastCall = now;
285
+ handler(data);
286
+ }
287
+ };
288
+ }
289
+ /**
290
+ * Create a retry event handler
291
+ */
292
+ static retry(handler, maxRetries = 3, delay = 1000) {
293
+ return async (data) => {
294
+ let attempts = 0;
295
+ while (attempts < maxRetries) {
296
+ try {
297
+ await handler(data);
298
+ return;
299
+ }
300
+ catch (error) {
301
+ attempts++;
302
+ if (attempts >= maxRetries) {
303
+ throw error;
304
+ }
305
+ await new Promise(resolve => setTimeout(resolve, delay * Math.pow(2, attempts - 1)));
306
+ }
307
+ }
308
+ };
309
+ }
310
+ /**
311
+ * Create a conditional event handler
312
+ */
313
+ static conditional(condition, handler) {
314
+ return (data) => {
315
+ if (condition(data)) {
316
+ handler(data);
317
+ }
318
+ };
319
+ }
320
+ /**
321
+ * Create a chain of event handlers
322
+ */
323
+ static chain(...handlers) {
324
+ return async (data) => {
325
+ for (const handler of handlers) {
326
+ await handler(data);
327
+ }
328
+ };
329
+ }
330
+ }
331
+ exports.EventUtils = EventUtils;
332
+ /**
333
+ * Global event bus instance
334
+ */
335
+ exports.globalEventBus = new StreamttyEventBus();
336
+ /**
337
+ * Setup global error handling for events
338
+ */
339
+ function setupEventErrorHandling() {
340
+ exports.globalEventBus.on('error', (error) => {
341
+ console.error('Streamtty Event Error:', error);
342
+ });
343
+ // Use EventEmitter's native on for wildcard since it has different signature
344
+ exports.globalEventBus.on('*', (event, data) => {
345
+ if (data?.error) {
346
+ console.error(`Streamtty Event Error [${event}]:`, data.error);
347
+ }
348
+ });
349
+ }
350
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { Widgets } from 'blessed';
2
+ import { PluginRegistry } from './plugins/plugin-system-inline';
3
+ import { StreamttyOptions } from './types';
4
+ import { StreamEvent } from './types/stream-events';
5
+ import { AISDKStreamAdapterOptions } from './ai-sdk-adapter';
6
+ export declare class Streamtty {
7
+ private parser;
8
+ private renderer;
9
+ private context;
10
+ private updateInterval;
11
+ private pendingUpdate;
12
+ private aiAdapter;
13
+ private pluginRegistry;
14
+ constructor(options?: StreamttyOptions);
15
+ /**
16
+ * Initialize enhanced features with new plugin system
17
+ */
18
+ private initializeEnhancedFeatures;
19
+ /**
20
+ * Create default blessed screen
21
+ */
22
+ private createDefaultScreen;
23
+ /**
24
+ * Create scrollable container
25
+ */
26
+ private createContainer;
27
+ /**
28
+ * Stream a chunk of markdown
29
+ */
30
+ stream(chunk: string): Promise<void>;
31
+ /**
32
+ * Set complete markdown content
33
+ */
34
+ setContent(markdown: string): void;
35
+ /**
36
+ * Schedule a render (debounced)
37
+ */
38
+ private scheduleRender;
39
+ /**
40
+ * Render current tokens
41
+ */
42
+ render(): Promise<void>;
43
+ /**
44
+ * Clear all content
45
+ */
46
+ clear(): void;
47
+ /**
48
+ * Start auto-rendering
49
+ */
50
+ startAutoRender(intervalMs?: number): void;
51
+ /**
52
+ * Stop auto-rendering
53
+ */
54
+ stopAutoRender(): void;
55
+ /**
56
+ * Get blessed screen instance
57
+ */
58
+ getScreen(): Widgets.Screen;
59
+ /**
60
+ * Get container box
61
+ */
62
+ getContainer(): Widgets.BoxElement;
63
+ /**
64
+ * Get current buffer content
65
+ */
66
+ getContent(): string;
67
+ /**
68
+ * Get plugin registry for advanced usage
69
+ */
70
+ getPluginRegistry(): PluginRegistry | null;
71
+ /**
72
+ * Stream a structured AI SDK event
73
+ */
74
+ streamEvent(event: StreamEvent): Promise<void>;
75
+ /**
76
+ * Stream multiple AI SDK events
77
+ */
78
+ streamEvents(events: AsyncGenerator<StreamEvent>): Promise<void>;
79
+ /**
80
+ * Handle AI SDK stream with adapter
81
+ */
82
+ handleAISDKStream(stream: AsyncGenerator<StreamEvent>): AsyncGenerator<void>;
83
+ /**
84
+ * Update AI SDK adapter options
85
+ */
86
+ updateAIOptions(options: Partial<AISDKStreamAdapterOptions>): void;
87
+ /**
88
+ * Get AI SDK adapter options
89
+ */
90
+ getAIOptions(): AISDKStreamAdapterOptions;
91
+ /**
92
+ * Destroy and cleanup
93
+ */
94
+ destroy(): Promise<void>;
95
+ }
96
+ export * from './types';
97
+ export * from './types/stream-events';
98
+ export { StreamingMarkdownParser } from './parser/streaming-parser';
99
+ export { BlessedRenderer } from './renderer/blessed-renderer';
100
+ export { AISDKStreamAdapter } from './ai-sdk-adapter';
101
+ export { StreamProtocol } from './stream-protocol';
102
+ export * from './streamdown-compat';
103
+ export * from './errors';
104
+ export * from './events';
105
+ export * from './performance';
106
+ export * from './themes';
107
+ export * from './utils/shiki-ansi-renderer';
108
+ export * from './utils/math-unicode-renderer';
109
+ export * from './utils/mermaid-ascii-renderer';
110
+ export * from './utils/table-formatter-inline';
111
+ export * from './utils/syntax-highlighter';
112
+ export * from './streaming/stream-stats';
113
+ export * from './widgets/stream-indicator';
114
+ export * from './plugins/plugin-system-inline';
115
+ export * from './security/ansi-sanitizer';
116
+ export type { EnhancedFeaturesConfig, TTYControlsConfig, MermaidTTYConfig, MathRenderConfig, SecurityConfig, KeyBindings, ComponentOverrides } from './types';
117
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}