@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
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ /**
3
+ * Blessed tags syntax highlighting for terminal output
4
+ * Uses blessed tag syntax for highlighting paths, keywords, and other elements
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.blessedSyntaxColors = void 0;
8
+ exports.highlightPathsBlessed = highlightPathsBlessed;
9
+ exports.highlightFileRefsBlessed = highlightFileRefsBlessed;
10
+ exports.highlightLinksBlessed = highlightLinksBlessed;
11
+ exports.highlightKeywordsBlessed = highlightKeywordsBlessed;
12
+ exports.highlightCliFlagsBlessed = highlightCliFlagsBlessed;
13
+ exports.highlightTitlesBlessed = highlightTitlesBlessed;
14
+ exports.highlightJsonBlessed = highlightJsonBlessed;
15
+ exports.highlightStringsBlessed = highlightStringsBlessed;
16
+ exports.highlightNumbersBlessed = highlightNumbersBlessed;
17
+ exports.highlightCommentsBlessed = highlightCommentsBlessed;
18
+ exports.highlightShellCommandsBlessed = highlightShellCommandsBlessed;
19
+ exports.highlightLogLevelsBlessed = highlightLogLevelsBlessed;
20
+ exports.highlightHttpBlessed = highlightHttpBlessed;
21
+ exports.highlightEnvVarsBlessed = highlightEnvVarsBlessed;
22
+ exports.highlightIPsBlessed = highlightIPsBlessed;
23
+ exports.highlightGitShasBlessed = highlightGitShasBlessed;
24
+ exports.highlightCodeFramesBlessed = highlightCodeFramesBlessed;
25
+ exports.highlightDiffsBlessed = highlightDiffsBlessed;
26
+ exports.highlightPackagesBlessed = highlightPackagesBlessed;
27
+ exports.highlightCodeBlocksBlessed = highlightCodeBlocksBlessed;
28
+ exports.applySyntaxHighlightBlessed = applySyntaxHighlightBlessed;
29
+ exports.applyLightSyntaxHighlightBlessed = applyLightSyntaxHighlightBlessed;
30
+ exports.colorizeBlockBlessed = colorizeBlockBlessed;
31
+ /**
32
+ * Blessed color tags for syntax highlighting
33
+ */
34
+ exports.blessedSyntaxColors = {
35
+ path: 'cyan-fg',
36
+ lineNumber: 'yellow-fg',
37
+ keyword: 'magenta-fg',
38
+ string: 'green-fg',
39
+ number: 'yellow-fg',
40
+ comment: 'gray-fg',
41
+ title: 'bright-cyan-fg',
42
+ error: 'red-fg',
43
+ success: 'green-fg',
44
+ warning: 'yellow-fg',
45
+ darkGray: 'gray-fg',
46
+ // Extended palette
47
+ link: 'blue-fg',
48
+ info: 'bright-blue-fg',
49
+ debug: 'gray-fg',
50
+ httpMethod: 'bright-magenta-fg',
51
+ diffAdd: 'green-fg',
52
+ diffRemove: 'red-fg',
53
+ };
54
+ /**
55
+ * Common programming keywords to highlight
56
+ */
57
+ const KEYWORDS = [
58
+ 'async', 'await', 'function', 'const', 'let', 'var', 'class', 'interface',
59
+ 'type', 'import', 'export', 'from', 'return', 'if', 'else', 'for', 'while',
60
+ 'try', 'catch', 'throw', 'new', 'this', 'super', 'extends', 'implements',
61
+ 'public', 'private', 'protected', 'static', 'readonly', 'enum', 'namespace',
62
+ ];
63
+ /**
64
+ * Shell/bash commands to highlight
65
+ */
66
+ const SHELL_COMMANDS = [
67
+ 'git', 'npm', 'yarn', 'pnpm', 'docker', 'cd', 'ls', 'mkdir', 'rm', 'cp', 'mv',
68
+ 'cat', 'grep', 'find', 'sed', 'awk', 'chmod', 'chown', 'sudo', 'apt', 'brew',
69
+ 'curl', 'wget', 'tar', 'zip', 'unzip', 'ssh', 'scp', 'rsync', 'ps', 'kill',
70
+ ];
71
+ /**
72
+ * Highlight file paths in text using blessed tags
73
+ * Matches: /path/to/file.ts, ./relative/path.js, ~/home/path
74
+ */
75
+ function highlightPathsBlessed(text) {
76
+ // Avoid matching inside blessed tags
77
+ const pathRegex = /(?:^|[^{])((?:\/|\.\/|\.\.\/|~\/)[^\s:{]+)/g;
78
+ return text.replace(pathRegex, (match, path) => {
79
+ // Don't highlight if we're inside a blessed tag
80
+ if (match.startsWith('{'))
81
+ return match;
82
+ return match.replace(path, `{${exports.blessedSyntaxColors.path}}${path}{/${exports.blessedSyntaxColors.path}}`);
83
+ });
84
+ }
85
+ /**
86
+ * Highlight file references with line numbers using blessed tags
87
+ * Matches: file.ts:123, /path/to/file.js:45:10
88
+ */
89
+ function highlightFileRefsBlessed(text) {
90
+ // Avoid matching inside blessed tags
91
+ const fileRefRegex = /(?<!{[\w-]+})((?:\/|\.\/|\.\.\/)?[^\s:{]+\.\w+)(:\d+(?::\d+)?)/g;
92
+ return text.replace(fileRefRegex, (match, file, location) => {
93
+ return `{${exports.blessedSyntaxColors.path}}${file}{/${exports.blessedSyntaxColors.path}}{${exports.blessedSyntaxColors.lineNumber}}${location}{/${exports.blessedSyntaxColors.lineNumber}}`;
94
+ });
95
+ }
96
+ /**
97
+ * Highlight URLs and email addresses using blessed tags
98
+ */
99
+ function highlightLinksBlessed(text) {
100
+ let highlighted = text;
101
+ // URLs (http, https, ftp, and www.)
102
+ const urlRegex = /(https?:\/\/[^\s)]+|ftp:\/\/[^\s)]+|www\.[^\s)]+)/g;
103
+ highlighted = highlighted.replace(urlRegex, (m) => {
104
+ return `{${exports.blessedSyntaxColors.link}}{underline}${m}{/underline}{/${exports.blessedSyntaxColors.link}}`;
105
+ });
106
+ // Email addresses
107
+ const emailRegex = /\b[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}\b/g;
108
+ highlighted = highlighted.replace(emailRegex, (m) => {
109
+ return `{${exports.blessedSyntaxColors.link}}{underline}${m}{/underline}{/${exports.blessedSyntaxColors.link}}`;
110
+ });
111
+ return highlighted;
112
+ }
113
+ /**
114
+ * Highlight programming keywords using blessed tags
115
+ */
116
+ function highlightKeywordsBlessed(text) {
117
+ let highlighted = text;
118
+ for (const keyword of KEYWORDS) {
119
+ const regex = new RegExp(`\\b(${keyword})\\b`, 'g');
120
+ highlighted = highlighted.replace(regex, `{${exports.blessedSyntaxColors.keyword}}$1{/${exports.blessedSyntaxColors.keyword}}`);
121
+ }
122
+ return highlighted;
123
+ }
124
+ /**
125
+ * Highlight CLI flags like --option and -o
126
+ */
127
+ function highlightCliFlagsBlessed(text) {
128
+ let highlighted = text;
129
+ // Long flags --flag, --flag=value
130
+ highlighted = highlighted.replace(/\B--[A-Za-z0-9][\w-]*(?:=[^\s]+)?/g, (m) => {
131
+ return `{${exports.blessedSyntaxColors.lineNumber}}${m}{/${exports.blessedSyntaxColors.lineNumber}}`;
132
+ });
133
+ // Short flags -f or combined -abc
134
+ highlighted = highlighted.replace(/\B-[A-Za-z]+\b/g, (m) => {
135
+ return `{${exports.blessedSyntaxColors.lineNumber}}${m}{/${exports.blessedSyntaxColors.lineNumber}}`;
136
+ });
137
+ return highlighted;
138
+ }
139
+ /**
140
+ * Highlight markdown-style titles using blessed tags
141
+ * Matches: # Title, ## Subtitle, etc.
142
+ */
143
+ function highlightTitlesBlessed(text) {
144
+ const titleRegex = /^(#{1,6})\s+(.+)$/gm;
145
+ return text.replace(titleRegex, (match, hashes, title) => {
146
+ return `{${exports.blessedSyntaxColors.title}}${hashes} ${title}{/${exports.blessedSyntaxColors.title}}`;
147
+ });
148
+ }
149
+ /**
150
+ * Highlight JSON keys and literals (true/false/null)
151
+ */
152
+ function highlightJsonBlessed(text) {
153
+ let highlighted = text;
154
+ // JSON keys: "key": value
155
+ highlighted = highlighted.replace(/("[A-Za-z_][\w-]*")\s*:/g, (_m, key) => {
156
+ return `{${exports.blessedSyntaxColors.keyword}}${key}{/${exports.blessedSyntaxColors.keyword}}:`;
157
+ });
158
+ // true / false / null (naive, may catch outside JSON)
159
+ highlighted = highlighted.replace(/\b(true|false|null)\b/g, (_m, v) => {
160
+ return `{${exports.blessedSyntaxColors.keyword}}${v}{/${exports.blessedSyntaxColors.keyword}}`;
161
+ });
162
+ return highlighted;
163
+ }
164
+ /**
165
+ * Highlight string literals in quotes using blessed tags
166
+ */
167
+ function highlightStringsBlessed(text) {
168
+ // Use more reliable regex without nested lookahead
169
+ const stringRegex = /(["'])((?:\\.|(?!\1)[^\\])*)\1/g;
170
+ return text.replace(stringRegex, (match) => {
171
+ return `{${exports.blessedSyntaxColors.string}}${match}{/${exports.blessedSyntaxColors.string}}`;
172
+ });
173
+ }
174
+ /**
175
+ * Highlight numbers using blessed tags
176
+ */
177
+ function highlightNumbersBlessed(text) {
178
+ const numberRegex = /\b(\d+\.?\d*)\b/g;
179
+ return text.replace(numberRegex, `{${exports.blessedSyntaxColors.number}}$1{/${exports.blessedSyntaxColors.number}}`);
180
+ }
181
+ /**
182
+ * Highlight code comments using blessed tags
183
+ * Matches single-line and multi-line comments, bash comments
184
+ */
185
+ function highlightCommentsBlessed(text) {
186
+ let highlighted = text;
187
+ // Multi-line comments first (to avoid conflicts with // in comments)
188
+ highlighted = highlighted.replace(/(\/\*[\s\S]*?\*\/)/g, `{${exports.blessedSyntaxColors.comment}}$1{/${exports.blessedSyntaxColors.comment}}`);
189
+ // Single-line comments
190
+ highlighted = highlighted.replace(/(\/\/.*)$/gm, `{${exports.blessedSyntaxColors.comment}}$1{/${exports.blessedSyntaxColors.comment}}`);
191
+ // Bash comments (# comment) - process last to avoid markdown headers
192
+ highlighted = highlighted.replace(/(?:^|\s)(#(?!#{0,5}\s)[^\n]*)$/gm, (match, comment) => {
193
+ return match.replace(comment, `{${exports.blessedSyntaxColors.comment}}${comment}{/${exports.blessedSyntaxColors.comment}}`);
194
+ });
195
+ return highlighted;
196
+ }
197
+ /**
198
+ * Highlight shell/bash commands using blessed tags
199
+ */
200
+ function highlightShellCommandsBlessed(text) {
201
+ let highlighted = text;
202
+ for (const cmd of SHELL_COMMANDS) {
203
+ const regex = new RegExp(`\\b(${cmd})\\b`, 'g');
204
+ highlighted = highlighted.replace(regex, `{${exports.blessedSyntaxColors.keyword}}$1{/${exports.blessedSyntaxColors.keyword}}`);
205
+ }
206
+ return highlighted;
207
+ }
208
+ /**
209
+ * Highlight common log levels and status tags
210
+ */
211
+ function highlightLogLevelsBlessed(text) {
212
+ let highlighted = text;
213
+ // Bracketed levels like [INFO], [ERROR], [OK]
214
+ highlighted = highlighted.replace(/\[(INFO|DEBUG|TRACE|WARN|WARNING|ERROR|FATAL|SUCCESS|OK)\]/g, (_m, lvl) => {
215
+ const level = lvl.toUpperCase();
216
+ const color = level === 'ERROR' || level === 'FATAL' ? exports.blessedSyntaxColors.error :
217
+ level === 'WARN' || level === 'WARNING' ? exports.blessedSyntaxColors.warning :
218
+ level === 'SUCCESS' || level === 'OK' ? exports.blessedSyntaxColors.success :
219
+ level === 'DEBUG' || level === 'TRACE' ? exports.blessedSyntaxColors.debug :
220
+ exports.blessedSyntaxColors.info;
221
+ return `{${color}}[${level}]{/${color}}`;
222
+ });
223
+ // Bare levels as whole words
224
+ highlighted = highlighted.replace(/\b(INFO|DEBUG|TRACE|WARN|WARNING|ERROR|FATAL|SUCCESS|OK)\b/g, (_m, lvl) => {
225
+ const level = lvl.toUpperCase();
226
+ const color = level === 'ERROR' || level === 'FATAL' ? exports.blessedSyntaxColors.error :
227
+ level === 'WARN' || level === 'WARNING' ? exports.blessedSyntaxColors.warning :
228
+ level === 'SUCCESS' || level === 'OK' ? exports.blessedSyntaxColors.success :
229
+ level === 'DEBUG' || level === 'TRACE' ? exports.blessedSyntaxColors.debug :
230
+ exports.blessedSyntaxColors.info;
231
+ return `{${color}}${level}{/${color}}`;
232
+ });
233
+ return highlighted;
234
+ }
235
+ /**
236
+ * Highlight HTTP methods and status codes
237
+ */
238
+ function highlightHttpBlessed(text) {
239
+ let highlighted = text;
240
+ // Methods (prefer start-of-line or before space + /)
241
+ highlighted = highlighted.replace(/\b(GET|POST|PUT|PATCH|DELETE|OPTIONS|HEAD)\b(?![\w-])/g, (_m, method) => {
242
+ return `{${exports.blessedSyntaxColors.httpMethod}}{bold}${method}{/bold}{/${exports.blessedSyntaxColors.httpMethod}}`;
243
+ });
244
+ // HTTP/x.y 200 or 404 following HTTP marker
245
+ highlighted = highlighted.replace(/HTTP\/((?:1\.[01]|2))\s(\d{3})/g, (_m, ver, code) => {
246
+ const n = parseInt(code, 10);
247
+ const color = n >= 500 ? exports.blessedSyntaxColors.error : n >= 400 ? exports.blessedSyntaxColors.error : n >= 300 ? exports.blessedSyntaxColors.warning : exports.blessedSyntaxColors.success;
248
+ return `HTTP/${ver} ${`{${color}}${code}{/${color}}`}`;
249
+ });
250
+ // Trailing status like "200 OK" or "404 Not Found"
251
+ highlighted = highlighted.replace(/\b(\d{3})\b\s+(OK|Created|Accepted|No\s+Content|Moved\s+Permanently|Found|See\s+Other|Not\s+Modified|Temporary\s+Redirect|Permanent\s+Redirect|Bad\s+Request|Unauthorized|Forbidden|Not\s+Found|Method\s+Not\s+Allowed|Conflict|Gone|Too\s+Many\s+Requests|Internal\s+Server\s+Error|Not\s+Implemented|Bad\s+Gateway|Service\s+Unavailable)/gi, (_m, code, msg) => {
252
+ const n = parseInt(code, 10);
253
+ const color = n >= 500 ? exports.blessedSyntaxColors.error : n >= 400 ? exports.blessedSyntaxColors.error : n >= 300 ? exports.blessedSyntaxColors.warning : exports.blessedSyntaxColors.success;
254
+ return `{${color}}${code} ${msg}{/${color}}`;
255
+ });
256
+ return highlighted;
257
+ }
258
+ /**
259
+ * Highlight environment variables like $VAR and ${VAR}
260
+ */
261
+ function highlightEnvVarsBlessed(text) {
262
+ return text
263
+ .replace(/\$[A-Z_][A-Z0-9_]*/g, (m) => `{${exports.blessedSyntaxColors.path}}${m}{/${exports.blessedSyntaxColors.path}}`)
264
+ .replace(/\$\{[A-Z_][A-Z0-9_]*\}/g, (m) => `{${exports.blessedSyntaxColors.path}}${m}{/${exports.blessedSyntaxColors.path}}`);
265
+ }
266
+ /**
267
+ * Highlight IP addresses and ports
268
+ */
269
+ function highlightIPsBlessed(text) {
270
+ let highlighted = text;
271
+ highlighted = highlighted.replace(/\b(?:\d{1,3}\.){3}\d{1,3}\b(?::\d+)?/g, (m) => {
272
+ return `{${exports.blessedSyntaxColors.path}}${m}{/${exports.blessedSyntaxColors.path}}`;
273
+ });
274
+ return highlighted;
275
+ }
276
+ /**
277
+ * Highlight Git commit SHAs (7-40 hex chars)
278
+ */
279
+ function highlightGitShasBlessed(text) {
280
+ return text.replace(/\b[a-f0-9]{7,40}\b/g, (m) => {
281
+ return `{${exports.blessedSyntaxColors.keyword}}${m}{/${exports.blessedSyntaxColors.keyword}}`;
282
+ });
283
+ }
284
+ /**
285
+ * Highlight code-frame style lines: 12 | code
286
+ */
287
+ function highlightCodeFramesBlessed(text) {
288
+ return text.replace(/^(\s*)(>\s*)?(\d+)\s*\|/gm, (_m, lead, arrow, ln) => {
289
+ const arrowPart = arrow ? `{${exports.blessedSyntaxColors.comment}}${arrow}{/${exports.blessedSyntaxColors.comment}}` : '';
290
+ const num = `{${exports.blessedSyntaxColors.lineNumber}}${ln}{/${exports.blessedSyntaxColors.lineNumber}}`;
291
+ const pipe = `{${exports.blessedSyntaxColors.comment}}|{/${exports.blessedSyntaxColors.comment}}`;
292
+ return `${lead}${arrowPart}${num} ${pipe}`;
293
+ });
294
+ }
295
+ /**
296
+ * Highlight diff lines starting with + or -
297
+ */
298
+ function highlightDiffsBlessed(text) {
299
+ return text
300
+ .replace(/^(\+.*)$/gm, (_m, line) => `{${exports.blessedSyntaxColors.diffAdd}}${line}{/${exports.blessedSyntaxColors.diffAdd}}`)
301
+ .replace(/^(\-.*)$/gm, (_m, line) => `{${exports.blessedSyntaxColors.diffRemove}}${line}{/${exports.blessedSyntaxColors.diffRemove}}`);
302
+ }
303
+ /**
304
+ * Highlight package names like @scope/package using blessed tags
305
+ */
306
+ function highlightPackagesBlessed(text) {
307
+ // Match npm package names: @scope/package or package-name
308
+ const packageRegex = /(@[\w-]+\/[\w-]+|[\w-]+\/[\w-]+|\b[\w-]+@[\d.]+)/g;
309
+ return text.replace(packageRegex, (match) => {
310
+ return `{${exports.blessedSyntaxColors.path}}${match}{/${exports.blessedSyntaxColors.path}}`;
311
+ });
312
+ }
313
+ /**
314
+ * Highlight markdown code blocks with syntax highlighting (blessed tags)
315
+ */
316
+ function highlightCodeBlocksBlessed(text) {
317
+ // Match ```lang\ncode\n``` blocks (non-greedy, handles incomplete blocks)
318
+ const codeBlockRegex = /```(\w+)?\n([\s\S]*?)(?:```|$)/g;
319
+ return text.replace(codeBlockRegex, (match, lang, code) => {
320
+ // Highlight the opening fence
321
+ let result = `{${exports.blessedSyntaxColors.path}}\`\`\`${lang || ''}{/${exports.blessedSyntaxColors.path}}\n`;
322
+ // Apply language-specific highlighting
323
+ const highlightedCode = highlightCodeBlockContentBlessed(code, lang);
324
+ result += highlightedCode;
325
+ // Highlight the closing fence if present
326
+ if (match.endsWith('```')) {
327
+ result += `{${exports.blessedSyntaxColors.path}}\`\`\`{/${exports.blessedSyntaxColors.path}}`;
328
+ }
329
+ return result;
330
+ });
331
+ }
332
+ /**
333
+ * Highlight code block content based on language (blessed tags)
334
+ */
335
+ function highlightCodeBlockContentBlessed(code, lang) {
336
+ let highlighted = code;
337
+ // Bash/shell highlighting
338
+ if (lang === 'bash' || lang === 'sh' || lang === 'shell') {
339
+ highlighted = highlightShellCommandsBlessed(highlighted);
340
+ highlighted = highlightCommentsBlessed(highlighted);
341
+ highlighted = highlightStringsBlessed(highlighted);
342
+ return highlighted;
343
+ }
344
+ // JavaScript/TypeScript highlighting
345
+ if (lang === 'javascript' || lang === 'js' || lang === 'typescript' || lang === 'ts') {
346
+ highlighted = highlightCommentsBlessed(highlighted);
347
+ highlighted = highlightStringsBlessed(highlighted);
348
+ highlighted = highlightKeywordsBlessed(highlighted);
349
+ highlighted = highlightNumbersBlessed(highlighted);
350
+ return highlighted;
351
+ }
352
+ // Generic highlighting for other languages
353
+ highlighted = highlightCommentsBlessed(highlighted);
354
+ highlighted = highlightStringsBlessed(highlighted);
355
+ highlighted = highlightKeywordsBlessed(highlighted);
356
+ highlighted = highlightNumbersBlessed(highlighted);
357
+ return highlighted;
358
+ }
359
+ /**
360
+ * Apply comprehensive syntax highlighting using blessed tags
361
+ * Applies all highlighting rules in the correct order
362
+ */
363
+ function applySyntaxHighlightBlessed(text) {
364
+ if (!text)
365
+ return text;
366
+ let highlighted = text;
367
+ // Order matters: highlight specific patterns first, then broader patterns
368
+ // Process code blocks separately to avoid interference
369
+ // 0. Extract code blocks to process them separately
370
+ const codeBlocks = [];
371
+ let blockIndex = 0;
372
+ highlighted = highlighted.replace(/```(\w+)?\n([\s\S]*?)(?:```|$)/g, (match, lang, code) => {
373
+ const placeholder = `__CODEBLOCK_${blockIndex}__`;
374
+ const processedBlock = highlightCodeBlockContentBlessed(code, lang);
375
+ codeBlocks.push({
376
+ placeholder,
377
+ content: `{${exports.blessedSyntaxColors.path}}\`\`\`${lang || ''}{/${exports.blessedSyntaxColors.path}}\n${processedBlock}${match.endsWith('```') ? `{${exports.blessedSyntaxColors.path}}\`\`\`{/${exports.blessedSyntaxColors.path}}` : ''}`
378
+ });
379
+ blockIndex++;
380
+ return placeholder;
381
+ });
382
+ // 1. File references (must be before paths to handle file.ts:123)
383
+ highlighted = highlightFileRefsBlessed(highlighted);
384
+ // 1.5 URLs and emails
385
+ highlighted = highlightLinksBlessed(highlighted);
386
+ // 2. Paths
387
+ highlighted = highlightPathsBlessed(highlighted);
388
+ // 3. Packages (npm packages)
389
+ highlighted = highlightPackagesBlessed(highlighted);
390
+ // 4. Titles
391
+ highlighted = highlightTitlesBlessed(highlighted);
392
+ // 4.5 Code frames and diffs (line-oriented)
393
+ highlighted = highlightCodeFramesBlessed(highlighted);
394
+ highlighted = highlightDiffsBlessed(highlighted);
395
+ // 4.8 Env vars, CLI flags, IPs, SHAs
396
+ highlighted = highlightEnvVarsBlessed(highlighted);
397
+ highlighted = highlightCliFlagsBlessed(highlighted);
398
+ highlighted = highlightIPsBlessed(highlighted);
399
+ highlighted = highlightGitShasBlessed(highlighted);
400
+ // 5. Log levels and HTTP
401
+ highlighted = highlightLogLevelsBlessed(highlighted);
402
+ highlighted = highlightHttpBlessed(highlighted);
403
+ // 5. Comments (before keywords to avoid highlighting keywords in comments)
404
+ highlighted = highlightCommentsBlessed(highlighted);
405
+ // 6. Strings
406
+ highlighted = highlightStringsBlessed(highlighted);
407
+ // 6.5 JSON keys and literals
408
+ highlighted = highlightJsonBlessed(highlighted);
409
+ // 7. Shell commands
410
+ highlighted = highlightShellCommandsBlessed(highlighted);
411
+ // 8. Keywords
412
+ highlighted = highlightKeywordsBlessed(highlighted);
413
+ // 9. Numbers
414
+ highlighted = highlightNumbersBlessed(highlighted);
415
+ // Restore code blocks
416
+ for (const block of codeBlocks) {
417
+ highlighted = highlighted.replace(block.placeholder, block.content);
418
+ }
419
+ return highlighted;
420
+ }
421
+ /**
422
+ * Apply light syntax highlighting using blessed tags (conservative)
423
+ */
424
+ function applyLightSyntaxHighlightBlessed(text) {
425
+ if (!text)
426
+ return text;
427
+ let highlighted = text;
428
+ // Only highlight paths and file references
429
+ highlighted = highlightFileRefsBlessed(highlighted);
430
+ highlighted = highlightPathsBlessed(highlighted);
431
+ highlighted = highlightLinksBlessed(highlighted);
432
+ return highlighted;
433
+ }
434
+ /**
435
+ * Colorize entire text block with blessed tag
436
+ */
437
+ function colorizeBlockBlessed(text, color) {
438
+ return `{${color}}${text}{/${color}}`;
439
+ }
440
+ //# sourceMappingURL=blessed-syntax-highlighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blessed-syntax-highlighter.js","sourceRoot":"","sources":["../../src/utils/blessed-syntax-highlighter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ export interface TableData {
2
+ headers: string[];
3
+ rows: string[][];
4
+ align?: ('left' | 'center' | 'right')[];
5
+ }
6
+ export interface ChartData {
7
+ values: number[];
8
+ labels?: string[];
9
+ config?: {
10
+ height?: number;
11
+ width?: number;
12
+ colors?: string[];
13
+ format?: (x: number, i: number) => string;
14
+ };
15
+ }
16
+ /**
17
+ * Enhanced table and chart renderer using tty-table and asciichart
18
+ */
19
+ export declare class EnhancedTableRenderer {
20
+ /**
21
+ * Render a table using tty-table
22
+ */
23
+ static renderTable(data: TableData, options?: {
24
+ borderStyle?: 'solid' | 'dashed' | 'none';
25
+ headerAlign?: 'left' | 'center' | 'right';
26
+ compact?: boolean;
27
+ width?: number;
28
+ }): string;
29
+ /**
30
+ * Render a line chart using asciichart
31
+ */
32
+ static renderChart(data: ChartData): string;
33
+ /**
34
+ * Render multiple data series as a chart
35
+ */
36
+ static renderMultiChart(datasets: {
37
+ label: string;
38
+ values: number[];
39
+ color?: string;
40
+ }[]): string;
41
+ /**
42
+ * Auto-detect if data looks like chart data
43
+ */
44
+ static isChartData(content: string): boolean;
45
+ /**
46
+ * Auto-detect if content is table data
47
+ */
48
+ static isTableData(content: string): boolean;
49
+ /**
50
+ * Parse markdown table to TableData
51
+ */
52
+ static parseMarkdownTable(markdown: string): TableData | null;
53
+ /**
54
+ * Parse CSV data to chart data
55
+ */
56
+ static parseCSVToChart(csv: string): ChartData | null;
57
+ /**
58
+ * Convert table corners to rounded Unicode characters
59
+ */
60
+ private static convertToRoundedCorners;
61
+ /**
62
+ * Fallback table renderer
63
+ */
64
+ private static renderFallbackTable;
65
+ /**
66
+ * Fallback chart renderer
67
+ */
68
+ private static renderFallbackChart;
69
+ }
70
+ /**
71
+ * Convenience functions
72
+ */
73
+ export declare function renderTable(data: TableData, options?: any): string;
74
+ export declare function renderChart(data: ChartData): string;
75
+ export declare function parseMarkdownTable(markdown: string): TableData | null;
76
+ export declare function parseCSVToChart(csv: string): ChartData | null;
77
+ //# sourceMappingURL=enhanced-table-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-table-renderer.d.ts","sourceRoot":"","sources":["../../src/utils/enhanced-table-renderer.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;KAC3C,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE;QAC3C,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC1C,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,MAAM;IA+Cf;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAyB3C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM;IAuChG;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAgB5C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAqB5C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAiE7D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAoDrD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAatC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA2ClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CA2BnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAElE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7D"}