@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.
- package/LICENSE +21 -0
- package/README.md +471 -0
- package/dist/ai-sdk-adapter.d.ts +113 -0
- package/dist/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/ai-sdk-adapter.js +304 -0
- package/dist/ai-sdk-adapter.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +188 -0
- package/dist/cli.js.map +1 -0
- package/dist/errors.d.ts +131 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +346 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +185 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +350 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +117 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +323 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/streaming-parser.d.ts +81 -0
- package/dist/parser/streaming-parser.d.ts.map +1 -0
- package/dist/parser/streaming-parser.js +522 -0
- package/dist/parser/streaming-parser.js.map +1 -0
- package/dist/performance.d.ts +139 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +401 -0
- package/dist/performance.js.map +1 -0
- package/dist/plugins/index.d.ts +6 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +22 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/plugin-system-inline.d.ts +116 -0
- package/dist/plugins/plugin-system-inline.d.ts.map +1 -0
- package/dist/plugins/plugin-system-inline.js +289 -0
- package/dist/plugins/plugin-system-inline.js.map +1 -0
- package/dist/plugins/plugin-system.d.ts +65 -0
- package/dist/plugins/plugin-system.d.ts.map +1 -0
- package/dist/plugins/plugin-system.js +202 -0
- package/dist/plugins/plugin-system.js.map +1 -0
- package/dist/plugins/rehype/harden.d.ts +15 -0
- package/dist/plugins/rehype/harden.d.ts.map +1 -0
- package/dist/plugins/rehype/harden.js +71 -0
- package/dist/plugins/rehype/harden.js.map +1 -0
- package/dist/plugins/rehype/index.d.ts +5 -0
- package/dist/plugins/rehype/index.d.ts.map +1 -0
- package/dist/plugins/rehype/index.js +21 -0
- package/dist/plugins/rehype/index.js.map +1 -0
- package/dist/plugins/remark/index.d.ts +6 -0
- package/dist/plugins/remark/index.d.ts.map +1 -0
- package/dist/plugins/remark/index.js +22 -0
- package/dist/plugins/remark/index.js.map +1 -0
- package/dist/plugins/remark/math.d.ts +7 -0
- package/dist/plugins/remark/math.d.ts.map +1 -0
- package/dist/plugins/remark/math.js +22 -0
- package/dist/plugins/remark/math.js.map +1 -0
- package/dist/plugins/remark/mermaid.d.ts +7 -0
- package/dist/plugins/remark/mermaid.d.ts.map +1 -0
- package/dist/plugins/remark/mermaid.js +19 -0
- package/dist/plugins/remark/mermaid.js.map +1 -0
- package/dist/plugins/types.d.ts +72 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +3 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/renderer/blessed-renderer.d.ts +92 -0
- 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 +7 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +21 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/math-renderer.d.ts +49 -0
- package/dist/renderers/math-renderer.d.ts.map +1 -0
- package/dist/renderers/math-renderer.js +193 -0
- package/dist/renderers/math-renderer.js.map +1 -0
- package/dist/renderers/mermaid-ascii.d.ts +14 -0
- package/dist/renderers/mermaid-ascii.d.ts.map +1 -0
- package/dist/renderers/mermaid-ascii.js +260 -0
- package/dist/renderers/mermaid-ascii.js.map +1 -0
- package/dist/renderers/mermaid-renderer.d.ts +79 -0
- package/dist/renderers/mermaid-renderer.d.ts.map +1 -0
- package/dist/renderers/mermaid-renderer.js +298 -0
- package/dist/renderers/mermaid-renderer.js.map +1 -0
- package/dist/renderers/shiki-ansi.d.ts +48 -0
- package/dist/renderers/shiki-ansi.d.ts.map +1 -0
- package/dist/renderers/shiki-ansi.js +206 -0
- package/dist/renderers/shiki-ansi.js.map +1 -0
- package/dist/renderers/table-ascii.d.ts +30 -0
- package/dist/renderers/table-ascii.d.ts.map +1 -0
- package/dist/renderers/table-ascii.js +243 -0
- package/dist/renderers/table-ascii.js.map +1 -0
- 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.d.ts +29 -0
- package/dist/renderers/unicode-math.d.ts.map +1 -0
- package/dist/renderers/unicode-math.js +181 -0
- package/dist/renderers/unicode-math.js.map +1 -0
- package/dist/security/ansi-sanitizer.d.ts +71 -0
- package/dist/security/ansi-sanitizer.d.ts.map +1 -0
- package/dist/security/ansi-sanitizer.js +275 -0
- package/dist/security/ansi-sanitizer.js.map +1 -0
- package/dist/security/chunk-processor.d.ts +81 -0
- package/dist/security/chunk-processor.d.ts.map +1 -0
- package/dist/security/chunk-processor.js +297 -0
- package/dist/security/chunk-processor.js.map +1 -0
- package/dist/security/index.d.ts +6 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +22 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-validator.d.ts +55 -0
- package/dist/security/input-validator.d.ts.map +1 -0
- package/dist/security/input-validator.js +201 -0
- package/dist/security/input-validator.js.map +1 -0
- package/dist/stream-protocol.d.ts +61 -0
- package/dist/stream-protocol.d.ts.map +1 -0
- package/dist/stream-protocol.js +214 -0
- package/dist/stream-protocol.js.map +1 -0
- package/dist/streamdown-compat.d.ts +74 -0
- package/dist/streamdown-compat.d.ts.map +1 -0
- package/dist/streamdown-compat.js +241 -0
- package/dist/streamdown-compat.js.map +1 -0
- package/dist/streaming/stream-stats.d.ts +97 -0
- package/dist/streaming/stream-stats.d.ts.map +1 -0
- package/dist/streaming/stream-stats.js +217 -0
- package/dist/streaming/stream-stats.js.map +1 -0
- package/dist/streaming-integration.d.ts +71 -0
- package/dist/streaming-integration.d.ts.map +1 -0
- package/dist/streaming-integration.js +194 -0
- package/dist/streaming-integration.js.map +1 -0
- package/dist/themes/index.d.ts +59 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +122 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/types/index.d.ts +222 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/plugin-types.d.ts +5 -0
- package/dist/types/plugin-types.d.ts.map +1 -0
- package/dist/types/plugin-types.js +6 -0
- package/dist/types/plugin-types.js.map +1 -0
- package/dist/types/stream-events.d.ts +71 -0
- package/dist/types/stream-events.d.ts.map +1 -0
- package/dist/types/stream-events.js +10 -0
- package/dist/types/stream-events.js.map +1 -0
- package/dist/utils/blessed-syntax-highlighter.d.ts +124 -0
- package/dist/utils/blessed-syntax-highlighter.d.ts.map +1 -0
- package/dist/utils/blessed-syntax-highlighter.js +440 -0
- package/dist/utils/blessed-syntax-highlighter.js.map +1 -0
- package/dist/utils/enhanced-table-renderer.d.ts +77 -0
- package/dist/utils/enhanced-table-renderer.d.ts.map +1 -0
- package/dist/utils/enhanced-table-renderer.js +376 -0
- package/dist/utils/enhanced-table-renderer.js.map +1 -0
- package/dist/utils/formatting.d.ts +100 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +220 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/math-unicode-renderer.d.ts +38 -0
- package/dist/utils/math-unicode-renderer.d.ts.map +1 -0
- package/dist/utils/math-unicode-renderer.js +380 -0
- package/dist/utils/math-unicode-renderer.js.map +1 -0
- package/dist/utils/mermaid-ascii-renderer.d.ts +20 -0
- package/dist/utils/mermaid-ascii-renderer.d.ts.map +1 -0
- package/dist/utils/mermaid-ascii-renderer.js +325 -0
- package/dist/utils/mermaid-ascii-renderer.js.map +1 -0
- package/dist/utils/mermaid-ascii.d.ts +53 -0
- package/dist/utils/mermaid-ascii.d.ts.map +1 -0
- package/dist/utils/mermaid-ascii.js +181 -0
- package/dist/utils/mermaid-ascii.js.map +1 -0
- package/dist/utils/shiki-ansi-renderer.d.ts +29 -0
- package/dist/utils/shiki-ansi-renderer.d.ts.map +1 -0
- package/dist/utils/shiki-ansi-renderer.js +354 -0
- package/dist/utils/shiki-ansi-renderer.js.map +1 -0
- package/dist/utils/syntax-highlighter.d.ts +87 -0
- package/dist/utils/syntax-highlighter.d.ts.map +1 -0
- package/dist/utils/syntax-highlighter.js +265 -0
- package/dist/utils/syntax-highlighter.js.map +1 -0
- package/dist/utils/table-formatter-inline.d.ts +37 -0
- package/dist/utils/table-formatter-inline.d.ts.map +1 -0
- package/dist/utils/table-formatter-inline.js +337 -0
- package/dist/utils/table-formatter-inline.js.map +1 -0
- package/dist/utils/table.d.ts +35 -0
- package/dist/utils/table.d.ts.map +1 -0
- package/dist/utils/table.js +197 -0
- package/dist/utils/table.js.map +1 -0
- package/dist/widgets/stream-indicator.d.ts +130 -0
- package/dist/widgets/stream-indicator.d.ts.map +1 -0
- package/dist/widgets/stream-indicator.js +276 -0
- package/dist/widgets/stream-indicator.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.themes = exports.darkTheme = exports.lightTheme = void 0;
|
|
4
|
+
exports.getTheme = getTheme;
|
|
5
|
+
exports.detectTheme = detectTheme;
|
|
6
|
+
/**
|
|
7
|
+
* Light theme
|
|
8
|
+
*/
|
|
9
|
+
exports.lightTheme = {
|
|
10
|
+
name: 'light',
|
|
11
|
+
markdown: {
|
|
12
|
+
h1: { fg: 'black', bold: true },
|
|
13
|
+
h2: { fg: 'black', bold: true },
|
|
14
|
+
h3: { fg: 'black', bold: true },
|
|
15
|
+
h4: { fg: 'black', bold: true },
|
|
16
|
+
h5: { fg: 'black', bold: true },
|
|
17
|
+
h6: { fg: 'black', bold: true },
|
|
18
|
+
paragraph: { fg: 'black' },
|
|
19
|
+
strong: { fg: 'black', bold: true },
|
|
20
|
+
em: { fg: 'black', underline: true },
|
|
21
|
+
code: { fg: 'magenta', bold: true },
|
|
22
|
+
codeBlock: { fg: 'black', bg: 'white' },
|
|
23
|
+
blockquote: { fg: 'gray' },
|
|
24
|
+
link: { fg: 'blue', underline: true },
|
|
25
|
+
list: { fg: 'black' },
|
|
26
|
+
listItem: { fg: 'black' },
|
|
27
|
+
table: { fg: 'blue' },
|
|
28
|
+
tableHeader: { fg: 'blue', bold: true },
|
|
29
|
+
hr: { fg: 'gray' },
|
|
30
|
+
},
|
|
31
|
+
syntax: {
|
|
32
|
+
keyword: 'magenta',
|
|
33
|
+
string: 'green',
|
|
34
|
+
comment: 'gray',
|
|
35
|
+
number: 'cyan',
|
|
36
|
+
function: 'blue',
|
|
37
|
+
variable: 'black',
|
|
38
|
+
type: 'yellow',
|
|
39
|
+
operator: 'black',
|
|
40
|
+
},
|
|
41
|
+
ui: {
|
|
42
|
+
border: 'blue',
|
|
43
|
+
background: 'white',
|
|
44
|
+
foreground: 'black',
|
|
45
|
+
accent: 'blue',
|
|
46
|
+
error: 'red',
|
|
47
|
+
warning: 'yellow',
|
|
48
|
+
success: 'green',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Dark theme (default)
|
|
53
|
+
*/
|
|
54
|
+
exports.darkTheme = {
|
|
55
|
+
name: 'dark',
|
|
56
|
+
markdown: {
|
|
57
|
+
h1: { fg: 'white', bold: true },
|
|
58
|
+
h2: { fg: 'white', bold: true },
|
|
59
|
+
h3: { fg: 'white', bold: true },
|
|
60
|
+
h4: { fg: 'white', bold: true },
|
|
61
|
+
h5: { fg: 'white', bold: true },
|
|
62
|
+
h6: { fg: 'white', bold: true },
|
|
63
|
+
paragraph: { fg: 'white' },
|
|
64
|
+
strong: { fg: 'white', bold: true },
|
|
65
|
+
em: { fg: 'white', underline: true },
|
|
66
|
+
code: { fg: 'cyan', bold: true },
|
|
67
|
+
codeBlock: { fg: 'white', bg: 'black' },
|
|
68
|
+
blockquote: { fg: 'gray' },
|
|
69
|
+
link: { fg: 'blue', underline: true },
|
|
70
|
+
list: { fg: 'white' },
|
|
71
|
+
listItem: { fg: 'white' },
|
|
72
|
+
table: { fg: 'cyan' },
|
|
73
|
+
tableHeader: { fg: 'cyan', bold: true },
|
|
74
|
+
hr: { fg: 'gray' },
|
|
75
|
+
},
|
|
76
|
+
syntax: {
|
|
77
|
+
keyword: 'magenta',
|
|
78
|
+
string: 'green',
|
|
79
|
+
comment: 'gray',
|
|
80
|
+
number: 'cyan',
|
|
81
|
+
function: 'blue',
|
|
82
|
+
variable: 'white',
|
|
83
|
+
type: 'yellow',
|
|
84
|
+
operator: 'white',
|
|
85
|
+
},
|
|
86
|
+
ui: {
|
|
87
|
+
border: 'blue',
|
|
88
|
+
foreground: 'white',
|
|
89
|
+
accent: 'cyan',
|
|
90
|
+
error: 'red',
|
|
91
|
+
warning: 'yellow',
|
|
92
|
+
success: 'green',
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Get theme by name
|
|
97
|
+
*/
|
|
98
|
+
function getTheme(name) {
|
|
99
|
+
if (name === 'auto') {
|
|
100
|
+
// Auto-detect based on environment
|
|
101
|
+
return detectTheme();
|
|
102
|
+
}
|
|
103
|
+
return name === 'light' ? exports.lightTheme : exports.darkTheme;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Detect theme from environment
|
|
107
|
+
*/
|
|
108
|
+
function detectTheme() {
|
|
109
|
+
// Check environment variables
|
|
110
|
+
const colorTerm = process.env.COLORTERM;
|
|
111
|
+
const term = process.env.TERM;
|
|
112
|
+
// Default to dark theme
|
|
113
|
+
return exports.darkTheme;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Available themes
|
|
117
|
+
*/
|
|
118
|
+
exports.themes = {
|
|
119
|
+
light: exports.lightTheme,
|
|
120
|
+
dark: exports.darkTheme,
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { Widgets } from 'blessed';
|
|
2
|
+
import type { TTYPluggableList } from './plugin-types';
|
|
3
|
+
export interface StreamttyOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Parse and style unterminated Markdown blocks
|
|
6
|
+
*/
|
|
7
|
+
parseIncompleteMarkdown?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Custom style overrides for different markdown elements
|
|
10
|
+
*/
|
|
11
|
+
styles?: Partial<MarkdownStyles>;
|
|
12
|
+
/**
|
|
13
|
+
* Enable syntax highlighting for code blocks
|
|
14
|
+
*/
|
|
15
|
+
syntaxHighlight?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Show line numbers in code blocks
|
|
18
|
+
*/
|
|
19
|
+
showLineNumbers?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum width for the content (auto-wrap)
|
|
22
|
+
*/
|
|
23
|
+
maxWidth?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Enable GFM (GitHub Flavored Markdown) extensions
|
|
26
|
+
*/
|
|
27
|
+
gfm?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Custom blessed screen instance
|
|
30
|
+
*/
|
|
31
|
+
screen?: Widgets.Screen;
|
|
32
|
+
/**
|
|
33
|
+
* Custom blessed container element
|
|
34
|
+
*/
|
|
35
|
+
container?: Widgets.BoxElement;
|
|
36
|
+
/**
|
|
37
|
+
* Auto-scroll to bottom on updates
|
|
38
|
+
*/
|
|
39
|
+
autoScroll?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Remark plugins for markdown preprocessing
|
|
42
|
+
*/
|
|
43
|
+
remarkPlugins?: TTYPluggableList;
|
|
44
|
+
/**
|
|
45
|
+
* Rehype plugins for token post-processing
|
|
46
|
+
*/
|
|
47
|
+
rehypePlugins?: TTYPluggableList;
|
|
48
|
+
/**
|
|
49
|
+
* Theme for syntax highlighting and rendering
|
|
50
|
+
*/
|
|
51
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
52
|
+
/**
|
|
53
|
+
* Shiki syntax highlighting languages to load
|
|
54
|
+
*/
|
|
55
|
+
shikiLanguages?: string[];
|
|
56
|
+
/**
|
|
57
|
+
* Interactive controls (disabled in simplified version)
|
|
58
|
+
*/
|
|
59
|
+
controls?: false;
|
|
60
|
+
/**
|
|
61
|
+
* Mermaid diagram configuration
|
|
62
|
+
*/
|
|
63
|
+
mermaidConfig?: MermaidTTYConfig;
|
|
64
|
+
/**
|
|
65
|
+
* Math rendering configuration
|
|
66
|
+
*/
|
|
67
|
+
mathConfig?: MathRenderConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Security configuration
|
|
70
|
+
*/
|
|
71
|
+
security?: SecurityConfig;
|
|
72
|
+
/**
|
|
73
|
+
* Enhanced features toggle (opt-in)
|
|
74
|
+
*/
|
|
75
|
+
enhancedFeatures?: EnhancedFeaturesConfig;
|
|
76
|
+
/**
|
|
77
|
+
* Streaming animation state
|
|
78
|
+
*/
|
|
79
|
+
isStreaming?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Custom component overrides
|
|
82
|
+
*/
|
|
83
|
+
components?: ComponentOverrides;
|
|
84
|
+
}
|
|
85
|
+
export interface MarkdownStyles {
|
|
86
|
+
h1: BlessedStyle;
|
|
87
|
+
h2: BlessedStyle;
|
|
88
|
+
h3: BlessedStyle;
|
|
89
|
+
h4: BlessedStyle;
|
|
90
|
+
h5: BlessedStyle;
|
|
91
|
+
h6: BlessedStyle;
|
|
92
|
+
paragraph: BlessedStyle;
|
|
93
|
+
strong: BlessedStyle;
|
|
94
|
+
em: BlessedStyle;
|
|
95
|
+
code: BlessedStyle;
|
|
96
|
+
codeBlock: BlessedStyle;
|
|
97
|
+
blockquote: BlessedStyle;
|
|
98
|
+
link: BlessedStyle;
|
|
99
|
+
list: BlessedStyle;
|
|
100
|
+
listItem: BlessedStyle;
|
|
101
|
+
table: BlessedStyle;
|
|
102
|
+
tableHeader: BlessedStyle;
|
|
103
|
+
hr: BlessedStyle;
|
|
104
|
+
thinking?: BlessedStyle;
|
|
105
|
+
}
|
|
106
|
+
export interface BlessedStyle {
|
|
107
|
+
fg?: string;
|
|
108
|
+
bg?: string;
|
|
109
|
+
bold?: boolean;
|
|
110
|
+
underline?: boolean;
|
|
111
|
+
italic?: boolean;
|
|
112
|
+
inverse?: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface ParsedToken {
|
|
115
|
+
type: TokenType;
|
|
116
|
+
content: string;
|
|
117
|
+
depth?: number;
|
|
118
|
+
ordered?: boolean;
|
|
119
|
+
lang?: string;
|
|
120
|
+
style?: BlessedStyle;
|
|
121
|
+
incomplete?: boolean;
|
|
122
|
+
raw?: string;
|
|
123
|
+
}
|
|
124
|
+
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';
|
|
125
|
+
export interface StreamBuffer {
|
|
126
|
+
content: string;
|
|
127
|
+
tokens: ParsedToken[];
|
|
128
|
+
lastUpdate: number;
|
|
129
|
+
}
|
|
130
|
+
export interface RenderContext {
|
|
131
|
+
screen: Widgets.Screen;
|
|
132
|
+
container: Widgets.BoxElement;
|
|
133
|
+
options: Required<StreamttyOptions>;
|
|
134
|
+
buffer: StreamBuffer;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Enhanced features configuration
|
|
138
|
+
*/
|
|
139
|
+
export interface EnhancedFeaturesConfig {
|
|
140
|
+
math?: boolean;
|
|
141
|
+
mermaid?: boolean;
|
|
142
|
+
shiki?: boolean;
|
|
143
|
+
security?: boolean;
|
|
144
|
+
interactiveControls?: boolean;
|
|
145
|
+
advancedTables?: boolean;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Interactive controls configuration (deprecated - visual-only rendering)
|
|
149
|
+
* @deprecated Interactive controls have been removed for simplified visual-only rendering
|
|
150
|
+
*/
|
|
151
|
+
export interface TTYControlsConfig {
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Key bindings configuration (deprecated)
|
|
155
|
+
* @deprecated Key bindings removed for visual-only rendering
|
|
156
|
+
*/
|
|
157
|
+
export interface KeyBindings {
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Mermaid diagram configuration for TTY
|
|
161
|
+
*/
|
|
162
|
+
export interface MermaidTTYConfig {
|
|
163
|
+
theme?: 'default' | 'dark' | 'forest' | 'neutral';
|
|
164
|
+
flowchart?: {
|
|
165
|
+
useMaxWidth?: boolean;
|
|
166
|
+
htmlLabels?: boolean;
|
|
167
|
+
};
|
|
168
|
+
sequence?: {
|
|
169
|
+
showSequenceNumbers?: boolean;
|
|
170
|
+
};
|
|
171
|
+
gantt?: {
|
|
172
|
+
titleTopMargin?: number;
|
|
173
|
+
barHeight?: number;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Math rendering configuration
|
|
178
|
+
*/
|
|
179
|
+
export interface MathRenderConfig {
|
|
180
|
+
displayMode?: boolean;
|
|
181
|
+
throwOnError?: boolean;
|
|
182
|
+
errorColor?: string;
|
|
183
|
+
macros?: Record<string, string>;
|
|
184
|
+
trust?: boolean;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Security configuration
|
|
188
|
+
*/
|
|
189
|
+
export interface SecurityConfig {
|
|
190
|
+
enabled?: boolean;
|
|
191
|
+
allowedLinkPrefixes?: string[];
|
|
192
|
+
allowedImagePrefixes?: string[];
|
|
193
|
+
maxBufferSize?: number;
|
|
194
|
+
stripDangerousAnsi?: boolean;
|
|
195
|
+
sanitizeHtml?: boolean;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Component override configuration
|
|
199
|
+
*/
|
|
200
|
+
export interface ComponentOverrides {
|
|
201
|
+
heading?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
202
|
+
paragraph?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
203
|
+
code?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
204
|
+
codeblock?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
205
|
+
table?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
206
|
+
math?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
207
|
+
mermaid?: (token: ParsedToken, yOffset: number) => Widgets.BoxElement;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Render context for blessed renderer
|
|
211
|
+
*/
|
|
212
|
+
export interface RenderContext {
|
|
213
|
+
screen: Widgets.Screen;
|
|
214
|
+
container: Widgets.BoxElement;
|
|
215
|
+
options: Required<StreamttyOptions>;
|
|
216
|
+
buffer: {
|
|
217
|
+
content: string;
|
|
218
|
+
tokens: ParsedToken[];
|
|
219
|
+
lastUpdate: number;
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-types.js","sourceRoot":"","sources":["../../src/types/plugin-types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -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,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AI SDK Compatible Stream Event Types
|
|
4
|
+
*
|
|
5
|
+
* This module defines the stream event protocol that enables streamtty
|
|
6
|
+
* to handle AI SDK streaming events including tool calls, text deltas,
|
|
7
|
+
* and structured agent interactions.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=stream-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-events.js","sourceRoot":"","sources":["../../src/types/stream-events.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -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"}
|