@simon_he/vue-tui 1.1.6 → 1.1.9
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/README.md +1 -0
- package/dist/TAgentTerminalGraphic-B8-YZfuP.js +1198 -0
- package/dist/{TSelect-CMBOOFwK.js → TSelect-CCsjjCOr.js} +41 -12
- package/dist/{TTree-kk8ntrpg.js → TTree-3W5A2_EH.js} +4 -3
- package/dist/TVideo-D9AOiyq2.js +948 -0
- package/dist/agent.cjs +4926 -4364
- package/dist/agent.js +11 -9
- package/dist/{block-source-DByORvKG.js → block-source-BhvdZomx.js} +3 -3
- package/dist/cli.cjs +1 -1
- package/dist/cli.js +8 -1
- package/dist/core.js +2 -2
- package/dist/experimental/browser.cjs +3705 -0
- package/dist/experimental/browser.d.cts +3 -0
- package/dist/experimental/browser.d.ts +3 -0
- package/dist/experimental/browser.js +413 -0
- package/dist/experimental.cjs +1 -1
- package/dist/experimental.js +9 -947
- package/dist/{linkify-CL9wwnZN.js → frame-mailbox-DaTrfyaF.js} +2 -297
- package/dist/index.cjs +25 -8
- package/dist/index.js +6 -5
- package/dist/linkify-CklfA1vp.js +298 -0
- package/dist/markdown.cjs +4907 -4362
- package/dist/markdown.js +4 -4
- package/dist/{mermaid-CWy4wtCL.js → mermaid-D0ov4_A1.js} +3 -3
- package/dist/mermaid.cjs +1 -1
- package/dist/mermaid.js +4 -4
- package/dist/{path-suggest-Dndu4dTi.js → path-suggest-fPzRsgPv.js} +1 -1
- package/dist/renderer/terminal-graphics.d.ts +1 -1
- package/dist/{terminal-graphics-D6KErRBY.js → terminal-graphics-DpSL29OQ.js} +1 -1
- package/dist/{tlog-theme-DIrlCw6m.js → tlog-theme-BnILsD3n.js} +10 -1203
- package/dist/vue/browser/types.d.ts +52 -0
- package/dist/vue/components/TBrowser.d.ts +231 -0
- package/dist/vue/components/input/plugins/promptMentionPlugin.d.ts +3 -0
- package/dist/vue.cjs +25 -8
- package/dist/vue.js +8 -7
- package/package.json +16 -2
- /package/dist/{TMermaidText-wLnMMvVS.js → TMermaidText-C1akgJPU.js} +0 -0
- /package/dist/{math-image-BZhmfUeu.js → math-image-CcUpBnW0.js} +0 -0
- /package/dist/{path-mnSgEpCm.js → path-BI9W15Zt.js} +0 -0
- /package/dist/{wheel-scroll-DASkEZr-.js → wheel-scroll-CQ22Hcyj.js} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { TVideoFrame, TVideoFrameFormat } from "../video/types.js";
|
|
2
|
+
export type TBrowserModifiers = Readonly<{
|
|
3
|
+
ctrl: boolean;
|
|
4
|
+
shift: boolean;
|
|
5
|
+
alt: boolean;
|
|
6
|
+
meta: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export type TBrowserInputEvent = Readonly<{
|
|
9
|
+
type: "pointermove" | "pointerdown" | "pointerup";
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
button?: number;
|
|
13
|
+
buttons?: number;
|
|
14
|
+
modifiers: TBrowserModifiers;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
type: "wheel";
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
deltaY: number;
|
|
20
|
+
modifiers: TBrowserModifiers;
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
type: "keydown" | "keyup";
|
|
23
|
+
key: string;
|
|
24
|
+
code: string;
|
|
25
|
+
repeat: boolean;
|
|
26
|
+
modifiers: TBrowserModifiers;
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
type: "text" | "paste";
|
|
29
|
+
text: string;
|
|
30
|
+
}>;
|
|
31
|
+
export type TBrowserSessionContext = Readonly<{
|
|
32
|
+
url: string;
|
|
33
|
+
signal: AbortSignal;
|
|
34
|
+
maxFps: number;
|
|
35
|
+
pixelWidth: number;
|
|
36
|
+
pixelHeight: number;
|
|
37
|
+
preferredFormat: TVideoFrameFormat;
|
|
38
|
+
onNavigate: (url: string) => void;
|
|
39
|
+
onTitleChange: (title: string) => void;
|
|
40
|
+
}>;
|
|
41
|
+
export type TBrowserSession = Readonly<{
|
|
42
|
+
frames: AsyncIterable<TVideoFrame>;
|
|
43
|
+
dispatch: (event: TBrowserInputEvent) => void | Promise<void>;
|
|
44
|
+
navigate?: (url: string) => void | Promise<void>;
|
|
45
|
+
back?: () => void | Promise<void>;
|
|
46
|
+
forward?: () => void | Promise<void>;
|
|
47
|
+
reload?: () => void | Promise<void>;
|
|
48
|
+
newPage?: () => void | Promise<void>;
|
|
49
|
+
closePage?: () => boolean | void | Promise<boolean | void>;
|
|
50
|
+
close: () => void | Promise<void>;
|
|
51
|
+
}>;
|
|
52
|
+
export type TBrowserSessionFactory = (context: TBrowserSessionContext) => TBrowserSession | Promise<TBrowserSession>;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import type { ExtractPublicPropTypes, PropType } from "vue";
|
|
2
|
+
import type { Style } from "../../core/types.js";
|
|
3
|
+
import type { TBrowserInputEvent, TBrowserSession, TBrowserSessionFactory } from "../browser/types.js";
|
|
4
|
+
import type { TVideoFrameEvent } from "../video/types.js";
|
|
5
|
+
export declare const tBrowserProps: {
|
|
6
|
+
readonly x: {
|
|
7
|
+
readonly type: NumberConstructor;
|
|
8
|
+
readonly required: true;
|
|
9
|
+
};
|
|
10
|
+
readonly y: {
|
|
11
|
+
readonly type: NumberConstructor;
|
|
12
|
+
readonly required: true;
|
|
13
|
+
};
|
|
14
|
+
readonly w: {
|
|
15
|
+
readonly type: NumberConstructor;
|
|
16
|
+
readonly required: true;
|
|
17
|
+
};
|
|
18
|
+
readonly h: {
|
|
19
|
+
readonly type: NumberConstructor;
|
|
20
|
+
readonly required: true;
|
|
21
|
+
};
|
|
22
|
+
readonly zIndex: {
|
|
23
|
+
readonly type: NumberConstructor;
|
|
24
|
+
readonly default: 0;
|
|
25
|
+
};
|
|
26
|
+
readonly url: {
|
|
27
|
+
readonly type: StringConstructor;
|
|
28
|
+
readonly required: true;
|
|
29
|
+
};
|
|
30
|
+
readonly sessionFactory: {
|
|
31
|
+
readonly type: PropType<TBrowserSessionFactory>;
|
|
32
|
+
readonly required: true;
|
|
33
|
+
};
|
|
34
|
+
readonly autoFocus: {
|
|
35
|
+
readonly type: BooleanConstructor;
|
|
36
|
+
readonly default: false;
|
|
37
|
+
};
|
|
38
|
+
readonly maxFps: {
|
|
39
|
+
readonly type: NumberConstructor;
|
|
40
|
+
readonly default: 60;
|
|
41
|
+
};
|
|
42
|
+
readonly pixelWidth: {
|
|
43
|
+
readonly type: NumberConstructor;
|
|
44
|
+
readonly default: undefined;
|
|
45
|
+
};
|
|
46
|
+
readonly pixelHeight: {
|
|
47
|
+
readonly type: NumberConstructor;
|
|
48
|
+
readonly default: undefined;
|
|
49
|
+
};
|
|
50
|
+
readonly fallback: {
|
|
51
|
+
readonly type: StringConstructor;
|
|
52
|
+
readonly default: "[browser requires terminal graphics]";
|
|
53
|
+
};
|
|
54
|
+
readonly style: {
|
|
55
|
+
readonly type: PropType<Style>;
|
|
56
|
+
readonly default: undefined;
|
|
57
|
+
};
|
|
58
|
+
readonly clear: {
|
|
59
|
+
readonly type: BooleanConstructor;
|
|
60
|
+
readonly default: true;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export type TBrowserProps = ExtractPublicPropTypes<typeof tBrowserProps>;
|
|
64
|
+
export declare const TBrowser: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
65
|
+
readonly x: {
|
|
66
|
+
readonly type: NumberConstructor;
|
|
67
|
+
readonly required: true;
|
|
68
|
+
};
|
|
69
|
+
readonly y: {
|
|
70
|
+
readonly type: NumberConstructor;
|
|
71
|
+
readonly required: true;
|
|
72
|
+
};
|
|
73
|
+
readonly w: {
|
|
74
|
+
readonly type: NumberConstructor;
|
|
75
|
+
readonly required: true;
|
|
76
|
+
};
|
|
77
|
+
readonly h: {
|
|
78
|
+
readonly type: NumberConstructor;
|
|
79
|
+
readonly required: true;
|
|
80
|
+
};
|
|
81
|
+
readonly zIndex: {
|
|
82
|
+
readonly type: NumberConstructor;
|
|
83
|
+
readonly default: 0;
|
|
84
|
+
};
|
|
85
|
+
readonly url: {
|
|
86
|
+
readonly type: StringConstructor;
|
|
87
|
+
readonly required: true;
|
|
88
|
+
};
|
|
89
|
+
readonly sessionFactory: {
|
|
90
|
+
readonly type: PropType<TBrowserSessionFactory>;
|
|
91
|
+
readonly required: true;
|
|
92
|
+
};
|
|
93
|
+
readonly autoFocus: {
|
|
94
|
+
readonly type: BooleanConstructor;
|
|
95
|
+
readonly default: false;
|
|
96
|
+
};
|
|
97
|
+
readonly maxFps: {
|
|
98
|
+
readonly type: NumberConstructor;
|
|
99
|
+
readonly default: 60;
|
|
100
|
+
};
|
|
101
|
+
readonly pixelWidth: {
|
|
102
|
+
readonly type: NumberConstructor;
|
|
103
|
+
readonly default: undefined;
|
|
104
|
+
};
|
|
105
|
+
readonly pixelHeight: {
|
|
106
|
+
readonly type: NumberConstructor;
|
|
107
|
+
readonly default: undefined;
|
|
108
|
+
};
|
|
109
|
+
readonly fallback: {
|
|
110
|
+
readonly type: StringConstructor;
|
|
111
|
+
readonly default: "[browser requires terminal graphics]";
|
|
112
|
+
};
|
|
113
|
+
readonly style: {
|
|
114
|
+
readonly type: PropType<Style>;
|
|
115
|
+
readonly default: undefined;
|
|
116
|
+
};
|
|
117
|
+
readonly clear: {
|
|
118
|
+
readonly type: BooleanConstructor;
|
|
119
|
+
readonly default: true;
|
|
120
|
+
};
|
|
121
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
122
|
+
[key: string]: any;
|
|
123
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
124
|
+
ready: (_session: TBrowserSession) => true;
|
|
125
|
+
frame: (_event: TVideoFrameEvent) => true;
|
|
126
|
+
navigate: (_url: string) => true;
|
|
127
|
+
titleChange: (_title: string) => true;
|
|
128
|
+
requestAddress: () => true;
|
|
129
|
+
close: () => true;
|
|
130
|
+
error: (_error: unknown) => true;
|
|
131
|
+
}, string, (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps), Readonly<import("vue").ExtractPropTypes<{
|
|
132
|
+
readonly x: {
|
|
133
|
+
readonly type: NumberConstructor;
|
|
134
|
+
readonly required: true;
|
|
135
|
+
};
|
|
136
|
+
readonly y: {
|
|
137
|
+
readonly type: NumberConstructor;
|
|
138
|
+
readonly required: true;
|
|
139
|
+
};
|
|
140
|
+
readonly w: {
|
|
141
|
+
readonly type: NumberConstructor;
|
|
142
|
+
readonly required: true;
|
|
143
|
+
};
|
|
144
|
+
readonly h: {
|
|
145
|
+
readonly type: NumberConstructor;
|
|
146
|
+
readonly required: true;
|
|
147
|
+
};
|
|
148
|
+
readonly zIndex: {
|
|
149
|
+
readonly type: NumberConstructor;
|
|
150
|
+
readonly default: 0;
|
|
151
|
+
};
|
|
152
|
+
readonly url: {
|
|
153
|
+
readonly type: StringConstructor;
|
|
154
|
+
readonly required: true;
|
|
155
|
+
};
|
|
156
|
+
readonly sessionFactory: {
|
|
157
|
+
readonly type: PropType<TBrowserSessionFactory>;
|
|
158
|
+
readonly required: true;
|
|
159
|
+
};
|
|
160
|
+
readonly autoFocus: {
|
|
161
|
+
readonly type: BooleanConstructor;
|
|
162
|
+
readonly default: false;
|
|
163
|
+
};
|
|
164
|
+
readonly maxFps: {
|
|
165
|
+
readonly type: NumberConstructor;
|
|
166
|
+
readonly default: 60;
|
|
167
|
+
};
|
|
168
|
+
readonly pixelWidth: {
|
|
169
|
+
readonly type: NumberConstructor;
|
|
170
|
+
readonly default: undefined;
|
|
171
|
+
};
|
|
172
|
+
readonly pixelHeight: {
|
|
173
|
+
readonly type: NumberConstructor;
|
|
174
|
+
readonly default: undefined;
|
|
175
|
+
};
|
|
176
|
+
readonly fallback: {
|
|
177
|
+
readonly type: StringConstructor;
|
|
178
|
+
readonly default: "[browser requires terminal graphics]";
|
|
179
|
+
};
|
|
180
|
+
readonly style: {
|
|
181
|
+
readonly type: PropType<Style>;
|
|
182
|
+
readonly default: undefined;
|
|
183
|
+
};
|
|
184
|
+
readonly clear: {
|
|
185
|
+
readonly type: BooleanConstructor;
|
|
186
|
+
readonly default: true;
|
|
187
|
+
};
|
|
188
|
+
}>> & Readonly<{
|
|
189
|
+
onClose?: (() => any) | undefined;
|
|
190
|
+
onError?: ((_error: unknown) => any) | undefined;
|
|
191
|
+
onFrame?: ((_event: Readonly<{
|
|
192
|
+
timestampMs: number;
|
|
193
|
+
pixelWidth: number;
|
|
194
|
+
pixelHeight: number;
|
|
195
|
+
droppedFrames: number;
|
|
196
|
+
durationMs?: number;
|
|
197
|
+
playbackRate?: import("../video/types.js").TVideoPlaybackRate;
|
|
198
|
+
}>) => any) | undefined;
|
|
199
|
+
onReady?: ((_session: Readonly<{
|
|
200
|
+
frames: AsyncIterable<import("../video/types.js").TVideoFrame>;
|
|
201
|
+
dispatch: (event: TBrowserInputEvent) => void | Promise<void>;
|
|
202
|
+
navigate?: (url: string) => void | Promise<void>;
|
|
203
|
+
back?: () => void | Promise<void>;
|
|
204
|
+
forward?: () => void | Promise<void>;
|
|
205
|
+
reload?: () => void | Promise<void>;
|
|
206
|
+
newPage?: () => void | Promise<void>;
|
|
207
|
+
closePage?: () => boolean | void | Promise<boolean | void>;
|
|
208
|
+
close: () => void | Promise<void>;
|
|
209
|
+
}>) => any) | undefined;
|
|
210
|
+
onNavigate?: ((_url: string) => any) | undefined;
|
|
211
|
+
onTitleChange?: ((_title: string) => any) | undefined;
|
|
212
|
+
onRequestAddress?: (() => any) | undefined;
|
|
213
|
+
}>, {
|
|
214
|
+
readonly style: Readonly<{
|
|
215
|
+
fg?: string;
|
|
216
|
+
bg?: string;
|
|
217
|
+
bold?: boolean;
|
|
218
|
+
dim?: boolean;
|
|
219
|
+
italic?: boolean;
|
|
220
|
+
underline?: boolean;
|
|
221
|
+
inverse?: boolean;
|
|
222
|
+
href?: string;
|
|
223
|
+
}>;
|
|
224
|
+
readonly zIndex: number;
|
|
225
|
+
readonly clear: boolean;
|
|
226
|
+
readonly fallback: string;
|
|
227
|
+
readonly autoFocus: boolean;
|
|
228
|
+
readonly maxFps: number;
|
|
229
|
+
readonly pixelWidth: number;
|
|
230
|
+
readonly pixelHeight: number;
|
|
231
|
+
}, {}>;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { Style } from "../../../../core/types.js";
|
|
1
2
|
import type { MentionPathProvider, MentionSuggestionProvider } from "./promptMentionState.js";
|
|
2
3
|
import type { TInputPlugin } from "./types.js";
|
|
3
4
|
export type { MentionPathProvider, MentionSuggestionProvider } from "./promptMentionState.js";
|
|
4
5
|
export type PromptMentionPluginOptions = Readonly<{
|
|
6
|
+
/** Bisect-only type shim: the 1.1.7 consumer patch declares this option; this release ignores it at runtime. */
|
|
7
|
+
selectedMarkerStyle?: () => Style;
|
|
5
8
|
mentionSuggestionProviders?: readonly MentionSuggestionProvider[];
|
|
6
9
|
mentionPathProvider?: MentionPathProvider;
|
|
7
10
|
}>;
|
package/dist/vue.cjs
CHANGED
|
@@ -4481,21 +4481,32 @@ var nextImeOwnerId = 0, nextPasteImageId = 0, TInput = (0, import_vue15.defineCo
|
|
|
4481
4481
|
let hasValue = getValue().length > 0, hasMentions = (props.mentions?.length ?? 0) > 0, hasMultiline = (props.multilineTexts?.length ?? 0) > 0;
|
|
4482
4482
|
!hasValue && !hasMentions && !hasMultiline || (anchor.value = null, hasMentions && emitMentions([]), hasMultiline && emit("update:multilineTexts", []), hasValue || cursor.value !== 0 ? (pushUndoSnapshot(""), applyEdit("", 0)) : (ensureCursorVisible(), syncImeAnchorNow(), scheduler.invalidate()));
|
|
4483
4483
|
}
|
|
4484
|
-
function
|
|
4485
|
-
let
|
|
4486
|
-
if (
|
|
4484
|
+
function deleteRangeIfAny(value, start, end) {
|
|
4485
|
+
let from = clamp2(Math.min(start, end), 0, value.length), to = clamp2(Math.max(start, end), 0, value.length);
|
|
4486
|
+
if (to <= from)
|
|
4487
4487
|
return { value, cursor: cursor.value, deleted: !1 };
|
|
4488
|
-
let tokenStart = countMultilineTokens2(value,
|
|
4488
|
+
let tokenStart = countMultilineTokens2(value, from), tokenEnd = countMultilineTokens2(value, to);
|
|
4489
4489
|
if (tokenEnd > tokenStart) {
|
|
4490
4490
|
let current = props.multilineTexts ?? [], nextMultiline = [...current.slice(0, tokenStart), ...current.slice(tokenEnd)];
|
|
4491
4491
|
emit("update:multilineTexts", nextMultiline);
|
|
4492
4492
|
}
|
|
4493
|
-
let mentionStart = countMentionTokens3(value,
|
|
4493
|
+
let mentionStart = countMentionTokens3(value, from), mentionEnd = countMentionTokens3(value, to);
|
|
4494
4494
|
if (mentionEnd > mentionStart) {
|
|
4495
4495
|
let current = pendingMentions.value ?? props.mentions ?? [], nextMentions = [...current.slice(0, mentionStart), ...current.slice(mentionEnd)];
|
|
4496
4496
|
emitMentions(nextMentions);
|
|
4497
4497
|
}
|
|
4498
|
-
return { value: value.slice(0,
|
|
4498
|
+
return { value: value.slice(0, from) + value.slice(to), cursor: from, deleted: !0 };
|
|
4499
|
+
}
|
|
4500
|
+
function deleteSelectionIfAny(value) {
|
|
4501
|
+
let sel = selection.value;
|
|
4502
|
+
return sel ? deleteRangeIfAny(value, sel.start, sel.end) : { value, cursor: cursor.value, deleted: !1 };
|
|
4503
|
+
}
|
|
4504
|
+
function deleteToLineBoundary(value, direction) {
|
|
4505
|
+
let sel = selection.value;
|
|
4506
|
+
if (sel)
|
|
4507
|
+
return deleteRangeIfAny(value, sel.start, sel.end);
|
|
4508
|
+
let { line, lines } = indexToLineCellCol(value, cursor.value), target = direction === "start" ? lines[line].start : lines[line].end;
|
|
4509
|
+
return deleteRangeIfAny(value, cursor.value, target);
|
|
4499
4510
|
}
|
|
4500
4511
|
function insertText(rawText) {
|
|
4501
4512
|
let text = rawText || "";
|
|
@@ -5051,7 +5062,13 @@ var nextImeOwnerId = 0, nextPasteImageId = 0, TInput = (0, import_vue15.defineCo
|
|
|
5051
5062
|
}
|
|
5052
5063
|
return;
|
|
5053
5064
|
}
|
|
5054
|
-
let clearWithDeleteOrBackspace = !!(!e.altKey &&
|
|
5065
|
+
let clearWithDeleteOrBackspace = !!(!e.altKey && e.ctrlKey && !e.metaKey);
|
|
5066
|
+
if (e.metaKey && !e.ctrlKey && !e.altKey && (e.key === "Backspace" || e.key === "Delete")) {
|
|
5067
|
+
e.preventDefault(), e.stopPropagation();
|
|
5068
|
+
let next = deleteToLineBoundary(value, e.key === "Backspace" ? "start" : "end");
|
|
5069
|
+
next.deleted && (pushUndoSnapshot(next.value), applyEdit(next.value, next.cursor));
|
|
5070
|
+
return;
|
|
5071
|
+
}
|
|
5055
5072
|
if (e.key === "Delete" && clearWithDeleteOrBackspace) {
|
|
5056
5073
|
e.preventDefault(), e.stopPropagation(), clearAll();
|
|
5057
5074
|
return;
|
|
@@ -5509,7 +5526,7 @@ var nextImeOwnerId = 0, nextPasteImageId = 0, TInput = (0, import_vue15.defineCo
|
|
|
5509
5526
|
}
|
|
5510
5527
|
}
|
|
5511
5528
|
})), (0, import_vue15.onBeforeUnmount)(() => {
|
|
5512
|
-
stopBlink();
|
|
5529
|
+
stopBlink(), imeAnchor?.value?.ownerId === imeOwnerId && (imeAnchor.value = null);
|
|
5513
5530
|
}), () => (0, import_vue15.h)("span", rootProps);
|
|
5514
5531
|
}
|
|
5515
5532
|
});
|
package/dist/vue.js
CHANGED
|
@@ -3,19 +3,20 @@ import "./ansi-palette-BHF1rN7R.js";
|
|
|
3
3
|
import "./hyperlink-clbb_ha_.js";
|
|
4
4
|
import "./dom-renderer-BfwAEQMf.js";
|
|
5
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-JzWMJxxc.js";
|
|
6
|
-
import {
|
|
6
|
+
import { clamp, createTheme, fitCellText, linkifyTextSegments, mergeStyle, tuiDefaultTheme } from "./linkify-CklfA1vp.js";
|
|
7
7
|
import "./runtime-Byf8XXOT.js";
|
|
8
8
|
import "./frame-perf-CHpWhbC4.js";
|
|
9
9
|
import "./trace-Bh8WnoMo.js";
|
|
10
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-
|
|
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-3W5A2_EH.js";
|
|
12
12
|
import "./terminal-selection-4W1SJj4c.js";
|
|
13
13
|
import "./debug-logger-CmsGI4of.js";
|
|
14
|
-
import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
14
|
+
import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, clamp$1, computeCommandPaletteMatchRanges, createOverlayFocusStack, isCommitMention, isWhitespace, mentionChipStyle, padEndByCells as padEndByCells$1, resolveOverlayPlacement, sliceByCellsWindow, textCellWidth as textCellWidth$1 } from "./TSelect-CCsjjCOr.js";
|
|
15
|
+
import { TText, TView } from "./frame-mailbox-DaTrfyaF.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-C1akgJPU.js";
|
|
19
20
|
import { Comment, Fragment, computed, defineComponent, h, inject, onBeforeUnmount, onMounted, onUnmounted, provide, reactive, ref, shallowReactive, shallowRef, watch, watchEffect } from "vue";
|
|
20
21
|
|
|
21
22
|
//#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.
|
|
3
|
+
"version": "1.1.9",
|
|
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,9 @@
|
|
|
85
85
|
"experimental": [
|
|
86
86
|
"./dist/experimental.d.ts"
|
|
87
87
|
],
|
|
88
|
+
"experimental/browser": [
|
|
89
|
+
"./dist/experimental/browser.d.ts"
|
|
90
|
+
],
|
|
88
91
|
"experimental/video/node": [
|
|
89
92
|
"./dist/experimental/video/node.d.ts"
|
|
90
93
|
],
|
|
@@ -190,6 +193,16 @@
|
|
|
190
193
|
"default": "./dist/experimental.cjs"
|
|
191
194
|
}
|
|
192
195
|
},
|
|
196
|
+
"./experimental/browser": {
|
|
197
|
+
"import": {
|
|
198
|
+
"types": "./dist/experimental/browser.d.ts",
|
|
199
|
+
"default": "./dist/experimental/browser.js"
|
|
200
|
+
},
|
|
201
|
+
"require": {
|
|
202
|
+
"types": "./dist/experimental/browser.d.cts",
|
|
203
|
+
"default": "./dist/experimental/browser.cjs"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
193
206
|
"./experimental/video/node": {
|
|
194
207
|
"import": {
|
|
195
208
|
"types": "./dist/experimental/video/node.d.ts",
|
|
@@ -246,7 +259,7 @@
|
|
|
246
259
|
"access": "public"
|
|
247
260
|
},
|
|
248
261
|
"dependencies": {
|
|
249
|
-
"stream-markdown-parser": "1.2.
|
|
262
|
+
"stream-markdown-parser": "1.2.12"
|
|
250
263
|
},
|
|
251
264
|
"devDependencies": {
|
|
252
265
|
"@arethetypeswrong/core": "^0.18.5",
|
|
@@ -351,6 +364,7 @@
|
|
|
351
364
|
"run:contra-text:terminal": "tsx examples/contra-terminal.ts",
|
|
352
365
|
"example:contra-text:smoke": "VT_SMOKE=1 tsx examples/contra-terminal.ts",
|
|
353
366
|
"run:nes:terminal": "tsx examples/nes-terminal.ts",
|
|
367
|
+
"run:browser:terminal": "tsx examples/browser-component-demo.ts",
|
|
354
368
|
"example:nes:smoke": "VT_SMOKE=1 tsx examples/nes-terminal.ts",
|
|
355
369
|
"check:nes:rom": "tsx examples/nes/check-rom.ts",
|
|
356
370
|
"check:nes:input": "tsx examples/nes/input-flip-check.ts",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|