@simon_he/vue-tui 1.1.1 → 1.1.3

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 (70) hide show
  1. package/README.md +68 -28
  2. package/dist/{TMermaidText-CXm_L969.js → TMermaidText-frVr8Ysb.js} +1 -1
  3. package/dist/{TSelect-CiyMvwl-.js → TSelect-Dx34M1pF.js} +6 -168
  4. package/dist/{TTree-DKGiuIcM.js → TTree-DdAjCPHu.js} +12 -13
  5. package/dist/agent.cjs +3405 -13393
  6. package/dist/agent.js +15 -1197
  7. package/dist/{block-source-5CQp4tF8.js → block-source-Crro3mxi.js} +191 -724
  8. package/dist/cli/input.d.ts +8 -0
  9. package/dist/cli/video/ffmpeg-frame-source.d.ts +10 -0
  10. package/dist/cli/video/png-frame-parser.d.ts +4 -0
  11. package/dist/cli/video/raw-frame-parser.d.ts +1 -0
  12. package/dist/cli/video/yt-dlp-frame-source.d.ts +11 -0
  13. package/dist/cli.cjs +142 -33
  14. package/dist/cli.d.cts +1 -1
  15. package/dist/cli.d.ts +1 -1
  16. package/dist/cli.js +167 -37
  17. package/dist/core.js +5 -6
  18. package/dist/create-terminal-app.d.ts +24 -1
  19. package/dist/{debug-logger-ChY_PXVk.js → debug-logger-CmsGI4of.js} +1 -1
  20. package/dist/{dom-renderer-DNzmg2As.js → dom-renderer-DXx8fWzD.js} +2 -3
  21. package/dist/experimental/3d/bun/contributor-avatar-atlas.d.ts +12 -0
  22. package/dist/experimental/3d/bun/png.d.ts +1 -0
  23. package/dist/experimental/3d/bun/terminal-badge-scene.d.ts +11 -0
  24. package/dist/experimental/3d/bun/terminal-badge.wgsl.d.ts +1 -0
  25. package/dist/experimental/3d/bun/webgpu-renderer.d.ts +26 -0
  26. package/dist/experimental/3d/bun.cjs +7271 -0
  27. package/dist/experimental/3d/bun.d.cts +4 -0
  28. package/dist/experimental/3d/bun.d.ts +4 -0
  29. package/dist/experimental/3d/bun.js +7390 -0
  30. package/dist/experimental/video/node.cjs +497 -0
  31. package/dist/experimental/video/node.d.cts +4 -0
  32. package/dist/experimental/video/node.d.ts +4 -0
  33. package/dist/experimental/video/node.js +610 -0
  34. package/dist/experimental.cjs +3064 -567
  35. package/dist/experimental.d.cts +5 -0
  36. package/dist/experimental.d.ts +5 -0
  37. package/dist/experimental.js +1524 -9
  38. package/dist/{create-terminal-DXuZ2fci.js → hyperlink-_1FAj7Wq.js} +403 -2
  39. package/dist/index.js +15 -16
  40. package/dist/{linkify-CuuquMQT.js → linkify-BjI4zVfY.js} +164 -3
  41. package/dist/markdown.cjs +2929 -12918
  42. package/dist/markdown.d.cts +1 -0
  43. package/dist/markdown.d.ts +1 -0
  44. package/dist/markdown.js +13 -9
  45. package/dist/{mermaid-CWto52Wk.js → mermaid-BNhM1jAZ.js} +1 -1
  46. package/dist/mermaid.js +3 -3
  47. package/dist/observability.js +2 -2
  48. package/dist/{path-suggest-fPzRsgPv.js → path-suggest-Dndu4dTi.js} +1 -1
  49. package/dist/renderer/terminal-graphics.d.ts +1 -0
  50. package/dist/renderer-dom.js +3 -4
  51. package/dist/runtime.js +2 -2
  52. package/dist/terminal-graphics-Bbe83wSr.js +597 -0
  53. package/dist/{tlog-theme-CopRt9SC.js → tlog-theme-i6S_Oftd.js} +1206 -12
  54. package/dist/{trace-CYHDKM1m.js → trace-Bh8WnoMo.js} +1 -1
  55. package/dist/vue/components/T3DViewport.d.ts +473 -0
  56. package/dist/vue/components/TAgentTerminalGraphic.d.ts +13 -0
  57. package/dist/vue/components/TVideo.d.ts +291 -0
  58. package/dist/vue/markdown/math.d.ts +2 -0
  59. package/dist/vue/video/types.d.ts +39 -0
  60. package/dist/vue.js +17 -18
  61. package/package.json +44 -3
  62. package/dist/hyperlink-B35-O-cW.js +0 -403
  63. /package/dist/{ansi-palette-CNXqFciC.js → ansi-palette-CH6jc2Z7.js} +0 -0
  64. /package/dist/{env-DNCzvX8b.js → env-Cl8qmNFN.js} +0 -0
  65. /package/dist/{frame-perf-BBhE-iuS.js → frame-perf-CHpWhbC4.js} +0 -0
  66. /package/dist/{path-BI9W15Zt.js → path-mnSgEpCm.js} +0 -0
  67. /package/dist/{rect-Ng-3eKzF.js → rect-DUpeDfBg.js} +0 -0
  68. /package/dist/{runtime-D77C03RM.js → runtime-Byf8XXOT.js} +0 -0
  69. /package/dist/{terminal-selection-CQYr--26.js → terminal-selection-4W1SJj4c.js} +0 -0
  70. /package/dist/{wheel-scroll-CQ22Hcyj.js → wheel-scroll-DASkEZr-.js} +0 -0
@@ -0,0 +1,291 @@
1
+ import type { ExtractPublicPropTypes, PropType } from "vue";
2
+ import type { Style } from "../../core/types.js";
3
+ import type { TVideoFrameEvent, TVideoFrameSource, TVideoPlaybackRate } from "../video/types.js";
4
+ export declare const tVideoProps: {
5
+ readonly x: {
6
+ readonly type: NumberConstructor;
7
+ readonly required: true;
8
+ };
9
+ readonly y: {
10
+ readonly type: NumberConstructor;
11
+ readonly required: true;
12
+ };
13
+ readonly w: {
14
+ readonly type: NumberConstructor;
15
+ readonly required: true;
16
+ };
17
+ readonly h: {
18
+ readonly type: NumberConstructor;
19
+ readonly required: true;
20
+ };
21
+ readonly zIndex: {
22
+ readonly type: NumberConstructor;
23
+ readonly default: 0;
24
+ };
25
+ readonly src: {
26
+ readonly type: StringConstructor;
27
+ readonly required: true;
28
+ };
29
+ readonly frameSource: {
30
+ readonly type: PropType<TVideoFrameSource>;
31
+ readonly required: true;
32
+ };
33
+ readonly paused: {
34
+ readonly type: BooleanConstructor;
35
+ readonly default: undefined;
36
+ };
37
+ readonly playbackRate: {
38
+ readonly type: PropType<TVideoPlaybackRate>;
39
+ readonly default: undefined;
40
+ };
41
+ readonly controls: {
42
+ readonly type: BooleanConstructor;
43
+ readonly default: false;
44
+ };
45
+ readonly controlsLayout: {
46
+ readonly type: PropType<TVideoControlsLayout>;
47
+ readonly default: "compact";
48
+ };
49
+ readonly durationMs: {
50
+ readonly type: NumberConstructor;
51
+ readonly default: undefined;
52
+ };
53
+ readonly loop: {
54
+ readonly type: BooleanConstructor;
55
+ readonly default: false;
56
+ };
57
+ readonly maxFps: {
58
+ readonly type: NumberConstructor;
59
+ readonly default: 12;
60
+ };
61
+ readonly pixelWidth: {
62
+ readonly type: NumberConstructor;
63
+ readonly default: undefined;
64
+ };
65
+ readonly pixelHeight: {
66
+ readonly type: NumberConstructor;
67
+ readonly default: undefined;
68
+ };
69
+ readonly fallback: {
70
+ readonly type: StringConstructor;
71
+ readonly default: "[video]";
72
+ };
73
+ readonly style: {
74
+ readonly type: PropType<Style>;
75
+ readonly default: undefined;
76
+ };
77
+ readonly clear: {
78
+ readonly type: BooleanConstructor;
79
+ readonly default: true;
80
+ };
81
+ };
82
+ export type TVideoControlsLayout = "compact" | "cinema";
83
+ export type TVideoProps = ExtractPublicPropTypes<typeof tVideoProps>;
84
+ export type TVideoSeekEvent = Readonly<{
85
+ timestampMs: number;
86
+ durationMs?: number;
87
+ }>;
88
+ export declare const TVideo: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
89
+ readonly x: {
90
+ readonly type: NumberConstructor;
91
+ readonly required: true;
92
+ };
93
+ readonly y: {
94
+ readonly type: NumberConstructor;
95
+ readonly required: true;
96
+ };
97
+ readonly w: {
98
+ readonly type: NumberConstructor;
99
+ readonly required: true;
100
+ };
101
+ readonly h: {
102
+ readonly type: NumberConstructor;
103
+ readonly required: true;
104
+ };
105
+ readonly zIndex: {
106
+ readonly type: NumberConstructor;
107
+ readonly default: 0;
108
+ };
109
+ readonly src: {
110
+ readonly type: StringConstructor;
111
+ readonly required: true;
112
+ };
113
+ readonly frameSource: {
114
+ readonly type: PropType<TVideoFrameSource>;
115
+ readonly required: true;
116
+ };
117
+ readonly paused: {
118
+ readonly type: BooleanConstructor;
119
+ readonly default: undefined;
120
+ };
121
+ readonly playbackRate: {
122
+ readonly type: PropType<TVideoPlaybackRate>;
123
+ readonly default: undefined;
124
+ };
125
+ readonly controls: {
126
+ readonly type: BooleanConstructor;
127
+ readonly default: false;
128
+ };
129
+ readonly controlsLayout: {
130
+ readonly type: PropType<TVideoControlsLayout>;
131
+ readonly default: "compact";
132
+ };
133
+ readonly durationMs: {
134
+ readonly type: NumberConstructor;
135
+ readonly default: undefined;
136
+ };
137
+ readonly loop: {
138
+ readonly type: BooleanConstructor;
139
+ readonly default: false;
140
+ };
141
+ readonly maxFps: {
142
+ readonly type: NumberConstructor;
143
+ readonly default: 12;
144
+ };
145
+ readonly pixelWidth: {
146
+ readonly type: NumberConstructor;
147
+ readonly default: undefined;
148
+ };
149
+ readonly pixelHeight: {
150
+ readonly type: NumberConstructor;
151
+ readonly default: undefined;
152
+ };
153
+ readonly fallback: {
154
+ readonly type: StringConstructor;
155
+ readonly default: "[video]";
156
+ };
157
+ readonly style: {
158
+ readonly type: PropType<Style>;
159
+ readonly default: undefined;
160
+ };
161
+ readonly clear: {
162
+ readonly type: BooleanConstructor;
163
+ readonly default: true;
164
+ };
165
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
166
+ [key: string]: any;
167
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
168
+ frame: (_event: TVideoFrameEvent) => true;
169
+ ended: () => true;
170
+ error: (_error: unknown) => true;
171
+ seek: (_event: TVideoSeekEvent) => true;
172
+ "update:paused": (_paused: boolean) => true;
173
+ "update:playbackRate": (_rate: TVideoPlaybackRate) => true;
174
+ }, string, (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps), Readonly<import("vue").ExtractPropTypes<{
175
+ readonly x: {
176
+ readonly type: NumberConstructor;
177
+ readonly required: true;
178
+ };
179
+ readonly y: {
180
+ readonly type: NumberConstructor;
181
+ readonly required: true;
182
+ };
183
+ readonly w: {
184
+ readonly type: NumberConstructor;
185
+ readonly required: true;
186
+ };
187
+ readonly h: {
188
+ readonly type: NumberConstructor;
189
+ readonly required: true;
190
+ };
191
+ readonly zIndex: {
192
+ readonly type: NumberConstructor;
193
+ readonly default: 0;
194
+ };
195
+ readonly src: {
196
+ readonly type: StringConstructor;
197
+ readonly required: true;
198
+ };
199
+ readonly frameSource: {
200
+ readonly type: PropType<TVideoFrameSource>;
201
+ readonly required: true;
202
+ };
203
+ readonly paused: {
204
+ readonly type: BooleanConstructor;
205
+ readonly default: undefined;
206
+ };
207
+ readonly playbackRate: {
208
+ readonly type: PropType<TVideoPlaybackRate>;
209
+ readonly default: undefined;
210
+ };
211
+ readonly controls: {
212
+ readonly type: BooleanConstructor;
213
+ readonly default: false;
214
+ };
215
+ readonly controlsLayout: {
216
+ readonly type: PropType<TVideoControlsLayout>;
217
+ readonly default: "compact";
218
+ };
219
+ readonly durationMs: {
220
+ readonly type: NumberConstructor;
221
+ readonly default: undefined;
222
+ };
223
+ readonly loop: {
224
+ readonly type: BooleanConstructor;
225
+ readonly default: false;
226
+ };
227
+ readonly maxFps: {
228
+ readonly type: NumberConstructor;
229
+ readonly default: 12;
230
+ };
231
+ readonly pixelWidth: {
232
+ readonly type: NumberConstructor;
233
+ readonly default: undefined;
234
+ };
235
+ readonly pixelHeight: {
236
+ readonly type: NumberConstructor;
237
+ readonly default: undefined;
238
+ };
239
+ readonly fallback: {
240
+ readonly type: StringConstructor;
241
+ readonly default: "[video]";
242
+ };
243
+ readonly style: {
244
+ readonly type: PropType<Style>;
245
+ readonly default: undefined;
246
+ };
247
+ readonly clear: {
248
+ readonly type: BooleanConstructor;
249
+ readonly default: true;
250
+ };
251
+ }>> & Readonly<{
252
+ onEnded?: (() => any) | undefined;
253
+ onError?: ((_error: unknown) => any) | undefined;
254
+ onFrame?: ((_event: Readonly<{
255
+ timestampMs: number;
256
+ pixelWidth: number;
257
+ pixelHeight: number;
258
+ droppedFrames: number;
259
+ durationMs?: number;
260
+ playbackRate?: TVideoPlaybackRate;
261
+ }>) => any) | undefined;
262
+ onSeek?: ((_event: Readonly<{
263
+ timestampMs: number;
264
+ durationMs?: number;
265
+ }>) => any) | undefined;
266
+ "onUpdate:paused"?: ((_paused: boolean) => any) | undefined;
267
+ "onUpdate:playbackRate"?: ((_rate: TVideoPlaybackRate) => any) | undefined;
268
+ }>, {
269
+ readonly style: Readonly<{
270
+ fg?: string;
271
+ bg?: string;
272
+ bold?: boolean;
273
+ dim?: boolean;
274
+ italic?: boolean;
275
+ underline?: boolean;
276
+ inverse?: boolean;
277
+ href?: string;
278
+ }>;
279
+ readonly durationMs: number;
280
+ readonly zIndex: number;
281
+ readonly clear: boolean;
282
+ readonly controls: boolean;
283
+ readonly fallback: string;
284
+ readonly maxFps: number;
285
+ readonly pixelWidth: number;
286
+ readonly pixelHeight: number;
287
+ readonly paused: boolean;
288
+ readonly playbackRate: TVideoPlaybackRate;
289
+ readonly controlsLayout: TVideoControlsLayout;
290
+ readonly loop: boolean;
291
+ }, {}>;
@@ -2,5 +2,7 @@ export type TuiMarkdownInlineMathRender = Readonly<{
2
2
  text: string;
3
3
  supported: boolean;
4
4
  }>;
5
+ export declare function subscribeMarkdownMathRenderer(listener: () => void): () => void;
6
+ export declare function loadMarkdownMathRenderer(): Promise<boolean>;
5
7
  export declare function renderMarkdownInlineMathSegment(tex: string): TuiMarkdownInlineMathRender;
6
8
  export declare function renderMarkdownInlineMath(tex: string): string;
@@ -0,0 +1,39 @@
1
+ export type TVideoFrameFormat = "png" | "gray8";
2
+ export type TVideoPlaybackRate = 1 | 2 | 3;
3
+ export type TVideoFrame = Readonly<{
4
+ format?: "png";
5
+ png: Uint8Array;
6
+ timestampMs?: number;
7
+ durationMs?: number;
8
+ pixelWidth?: number;
9
+ pixelHeight?: number;
10
+ fingerprint?: string | number;
11
+ }> | Readonly<{
12
+ format: "gray8";
13
+ pixels: Uint8Array;
14
+ pixelWidth: number;
15
+ pixelHeight: number;
16
+ timestampMs?: number;
17
+ durationMs?: number;
18
+ fingerprint?: string | number;
19
+ }>;
20
+ export type TVideoFrameSourceContext = Readonly<{
21
+ src: string;
22
+ signal: AbortSignal;
23
+ maxFps: number;
24
+ pixelWidth: number;
25
+ pixelHeight: number;
26
+ startAtMs: number;
27
+ playbackRate: TVideoPlaybackRate;
28
+ loop: boolean;
29
+ preferredFormat: TVideoFrameFormat;
30
+ }>;
31
+ export type TVideoFrameSource = (context: TVideoFrameSourceContext) => AsyncIterable<TVideoFrame> | Promise<AsyncIterable<TVideoFrame>>;
32
+ export type TVideoFrameEvent = Readonly<{
33
+ timestampMs: number;
34
+ pixelWidth: number;
35
+ pixelHeight: number;
36
+ droppedFrames: number;
37
+ durationMs?: number;
38
+ playbackRate?: TVideoPlaybackRate;
39
+ }>;
package/dist/vue.js CHANGED
@@ -1,22 +1,21 @@
1
- import "./create-terminal-DXuZ2fci.js";
1
+ import "./hyperlink-_1FAj7Wq.js";
2
2
  import { charCellWidth } from "./width-GqllnV8C.js";
3
- import "./hyperlink-B35-O-cW.js";
4
- import "./ansi-palette-CNXqFciC.js";
5
- import "./dom-renderer-DNzmg2As.js";
6
- import { EventZIndexContextKey, LayoutContextKey, RenderStackKey, TInputPluginsContextKey, TPathPickerProviderContextKey, VisibilityContextKey, injectionKey, intersectRect, padEndByCells$1 as padEndByCells, repeatChar, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, textCellWidth$1 as textCellWidth, translateRect, useLayout, useRenderNode, useRenderStack, useTerminal, useTerminalNode, useVisibility, wrapByCells } from "./rect-Ng-3eKzF.js";
7
- import { TView, clamp, createTheme, fitCellText, linkifyTextSegments, mergeStyle, tuiDefaultTheme } from "./linkify-CuuquMQT.js";
8
- import "./runtime-D77C03RM.js";
9
- import "./frame-perf-BBhE-iuS.js";
10
- import "./trace-CYHDKM1m.js";
11
- import "./env-DNCzvX8b.js";
12
- import { TAutocompleteInput, TBadge, TCheckbox, TCode, TDataTable, TDivider, TForm, TFormContextKey, TFormField, TLink, TLinkifyText, TList, TPasswordInput, TProgress, TRadioGroup, TSlider, TSpinner, TSwitch, TTable, TTag, TToastViewport, TTree, TerminalProvider, createTInputHostPlugin, useTForm } from "./TTree-DKGiuIcM.js";
13
- import "./terminal-selection-CQYr--26.js";
14
- import "./debug-logger-ChY_PXVk.js";
15
- import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, TText, clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-CiyMvwl-.js";
16
- import { normalizePath, stripTrailingSlash } from "./path-BI9W15Zt.js";
17
- import { applyWheelScroll, createWheelScrollState } from "./wheel-scroll-CQ22Hcyj.js";
18
- import { parsePathQuery, resolveUserPath, suggestPaths } from "./path-suggest-fPzRsgPv.js";
19
- import { TMermaid$1 as TMermaid, TMermaidText$1 as TMermaidText, isSimpleMermaidFlowchartSource, markMermaidRenderErrorFatal } from "./TMermaidText-CXm_L969.js";
3
+ import "./ansi-palette-CH6jc2Z7.js";
4
+ import "./dom-renderer-DXx8fWzD.js";
5
+ import { EventZIndexContextKey, LayoutContextKey, RenderStackKey, TInputPluginsContextKey, TPathPickerProviderContextKey, VisibilityContextKey, injectionKey, intersectRect, padEndByCells$1 as padEndByCells, repeatChar, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, textCellWidth$1 as textCellWidth, translateRect, useLayout, useRenderNode, useRenderStack, useTerminal, useTerminalNode, useVisibility, wrapByCells } from "./rect-DUpeDfBg.js";
6
+ import { TText, TView, clamp$1 as clamp, createTheme, fitCellText, linkifyTextSegments, mergeStyle, tuiDefaultTheme } from "./linkify-BjI4zVfY.js";
7
+ import "./runtime-Byf8XXOT.js";
8
+ import "./frame-perf-CHpWhbC4.js";
9
+ import "./trace-Bh8WnoMo.js";
10
+ import "./env-Cl8qmNFN.js";
11
+ import { TAutocompleteInput, TBadge, TCheckbox, TCode, TDataTable, TDivider, TForm, TFormContextKey, TFormField, TLink, TLinkifyText, TList, TPasswordInput, TProgress, TRadioGroup, TSlider, TSpinner, TSwitch, TTable, TTag, TToastViewport, TTree, TerminalProvider, createTInputHostPlugin, useTForm } from "./TTree-DdAjCPHu.js";
12
+ import "./terminal-selection-4W1SJj4c.js";
13
+ import "./debug-logger-CmsGI4of.js";
14
+ import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, clamp as clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-Dx34M1pF.js";
15
+ import { normalizePath, stripTrailingSlash } from "./path-mnSgEpCm.js";
16
+ import { applyWheelScroll, createWheelScrollState } from "./wheel-scroll-DASkEZr-.js";
17
+ import { parsePathQuery, resolveUserPath, suggestPaths } from "./path-suggest-Dndu4dTi.js";
18
+ import { TMermaid$1 as TMermaid, TMermaidText$1 as TMermaidText, isSimpleMermaidFlowchartSource, markMermaidRenderErrorFatal } from "./TMermaidText-frVr8Ysb.js";
20
19
  import { Comment, Fragment, computed, defineComponent, h, inject, onBeforeUnmount, onMounted, onUnmounted, provide, reactive, ref, shallowReactive, shallowRef, watch, watchEffect } from "vue";
21
20
 
22
21
  //#region src/observability/cli-latency.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simon_he/vue-tui",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Vue 3 terminal UI components and renderers for browser DOM, CLI stdout, logs, markdown transcripts, and agent consoles",
5
5
  "keywords": [
6
6
  "agent-console",
@@ -85,6 +85,12 @@
85
85
  "experimental": [
86
86
  "./dist/experimental.d.ts"
87
87
  ],
88
+ "experimental/video/node": [
89
+ "./dist/experimental/video/node.d.ts"
90
+ ],
91
+ "experimental/3d/bun": [
92
+ "./dist/experimental/3d/bun.d.ts"
93
+ ],
88
94
  "agent": [
89
95
  "./dist/agent.d.ts"
90
96
  ],
@@ -184,6 +190,26 @@
184
190
  "default": "./dist/experimental.cjs"
185
191
  }
186
192
  },
193
+ "./experimental/video/node": {
194
+ "import": {
195
+ "types": "./dist/experimental/video/node.d.ts",
196
+ "default": "./dist/experimental/video/node.js"
197
+ },
198
+ "require": {
199
+ "types": "./dist/experimental/video/node.d.cts",
200
+ "default": "./dist/experimental/video/node.cjs"
201
+ }
202
+ },
203
+ "./experimental/3d/bun": {
204
+ "import": {
205
+ "types": "./dist/experimental/3d/bun.d.ts",
206
+ "default": "./dist/experimental/3d/bun.js"
207
+ },
208
+ "require": {
209
+ "types": "./dist/experimental/3d/bun.d.cts",
210
+ "default": "./dist/experimental/3d/bun.cjs"
211
+ }
212
+ },
187
213
  "./agent": {
188
214
  "import": {
189
215
  "types": "./dist/agent.d.ts",
@@ -220,8 +246,7 @@
220
246
  "access": "public"
221
247
  },
222
248
  "dependencies": {
223
- "katex": "^0.16.47",
224
- "stream-markdown-parser": "1.0.7"
249
+ "stream-markdown-parser": "1.1.9"
225
250
  },
226
251
  "devDependencies": {
227
252
  "@arethetypeswrong/core": "^0.18.3",
@@ -230,8 +255,10 @@
230
255
  "@vitest/coverage-v8": "^4.1.9",
231
256
  "beautiful-mermaid": "^1.1.3",
232
257
  "bumpp": "^8.2.1",
258
+ "bun-webgpu": "0.1.7",
233
259
  "esbuild": "^0.20.2",
234
260
  "happy-dom": "^17.6.3",
261
+ "katex": "^0.16.47",
235
262
  "lint-staged": "^13.3.0",
236
263
  "oxfmt": "^0.47.0",
237
264
  "oxlint": "^1.70.0",
@@ -249,11 +276,19 @@
249
276
  },
250
277
  "peerDependencies": {
251
278
  "beautiful-mermaid": "^1.1.3",
279
+ "bun-webgpu": "^0.1.7",
280
+ "katex": "^0.16.47",
252
281
  "vue": ">=3.3.0 <4"
253
282
  },
254
283
  "peerDependenciesMeta": {
255
284
  "beautiful-mermaid": {
256
285
  "optional": true
286
+ },
287
+ "bun-webgpu": {
288
+ "optional": true
289
+ },
290
+ "katex": {
291
+ "optional": true
257
292
  }
258
293
  },
259
294
  "lint-staged": {
@@ -294,6 +329,12 @@
294
329
  "run:component:terminal:list": "tsx scripts/run-component-terminal.ts --list",
295
330
  "run:github-contribution-card": "pnpm -C apps/simon-terminal-card dev",
296
331
  "run:logo:terminal": "tsx examples/vue-tui-logo-terminal.ts",
332
+ "run:3d:terminal": "bun examples/t3d-terminal-badge.ts",
333
+ "run:repo-3d-badge": "bun repo-3d-badge/src/cli.ts",
334
+ "example:3d:smoke": "VT_SMOKE=1 bun examples/t3d-terminal-badge.ts",
335
+ "run:flappy:terminal": "tsx examples/flappy-bird-terminal.ts",
336
+ "example:flappy:smoke": "VT_SMOKE=1 tsx examples/flappy-bird-terminal.ts",
337
+ "test:3d:bun": "bun scripts/smoke-bun-3d.ts",
297
338
  "run:image-showcase:terminal": "tsx examples/image-showcase.ts",
298
339
  "run:katex-showcase:terminal": "tsx examples/katex-showcase.ts",
299
340
  "trace:terminal-resize": "node scripts/trace-terminal-resize.mjs",