@simon_he/vue-tui 1.1.6 → 1.1.7
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 +8 -8
- package/dist/cli.js +15 -5
- 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.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
package/dist/agent.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import "./create-terminal-Db_-UGVQ.js";
|
|
2
2
|
import "./hyperlink-clbb_ha_.js";
|
|
3
3
|
import { forEachTextCellSegment, recordTerminalGraphicTrace, sanitizeInlineText, sanitizeTextBlock, sliceByCells, spaces, textCellWidth$1 as textCellWidth, useTerminal, withTextWidthProvider } from "./rect-JzWMJxxc.js";
|
|
4
|
-
import
|
|
4
|
+
import "./linkify-CklfA1vp.js";
|
|
5
5
|
import "./frame-perf-CHpWhbC4.js";
|
|
6
6
|
import "./env-Cl8qmNFN.js";
|
|
7
7
|
import "./terminal-selection-4W1SJj4c.js";
|
|
8
8
|
import "./debug-logger-CmsGI4of.js";
|
|
9
|
-
import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, computeCommandPaletteMatchRanges } from "./TSelect-
|
|
10
|
-
import "./
|
|
11
|
-
import "./
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import "./
|
|
16
|
-
import
|
|
9
|
+
import { TBox, TCommandPalette, TDialog, TInput, TRenderPlane, TSelect, computeCommandPaletteMatchRanges } from "./TSelect-CCsjjCOr.js";
|
|
10
|
+
import { TText, TView } from "./frame-mailbox-DaTrfyaF.js";
|
|
11
|
+
import "./path-BI9W15Zt.js";
|
|
12
|
+
import "./wheel-scroll-CQ22Hcyj.js";
|
|
13
|
+
import { TMermaid$1 as TMermaid, TMermaidText$1 as TMermaidText, isSimpleMermaidFlowchartSource, markMermaidRenderErrorFatal } from "./TMermaidText-C1akgJPU.js";
|
|
14
|
+
import { createIterm2InlineImageSequence, createKittyDeleteGraphicsSequence, createKittyGraphicsSequence, createKittyPlacementSequence, createTerminalGraphicPngSequence, detectTerminalGraphicsCapabilities, getTerminalGraphicsOutput, getTerminalGraphicsOutputVersion, hashTerminalGraphicsString, isSafeTerminalGraphicsSequence, normalizeTerminalGraphicSize, sanitizeTerminalFallbackText, subscribeTerminalGraphicsOutput } from "./terminal-graphics-DpSL29OQ.js";
|
|
15
|
+
import { TVirtualMarkdown, createMarkdownBlockSource } from "./block-source-BhvdZomx.js";
|
|
16
|
+
import "./math-image-CcUpBnW0.js";
|
|
17
|
+
import { TLogLinksPanel, TLogMinimap, TLogScrollbar, TLogSearchBar, TLogSearchPager, TLogSearchResults, TLogView, TLogVirtualLinksPanel, TLogVirtualSearchResults, TTranscriptView, TVirtualList, createAppendOnlyLogStore, createTLogDensityBucketsFromMarkers, createTLogLevelPlugin, createTLogLineMatcherPlugin, createTLogLinkActionPlugin, createTLogOsc8LinkPlugin, createTLogUrlPlugin, detectTLogUrls, dispatchTLogPluginLinkAction, getTLogPluginMetadata, parseTLogAnnotatedText, resolveTLogLinksPanelTheme, resolveTLogMinimapTheme, resolveTLogScrollbarTheme, resolveTLogSearchBarTheme, resolveTLogSearchPagerTheme, resolveTLogSearchResultsTheme, resolveTLogViewTheme, stripTLogAnsiText, tlogDarkPreset, tlogDarkTheme, tlogDefaultPreset, tlogDefaultTheme, tlogHighContrastPreset, tlogHighContrastTheme, toTLogExternalLinkFromVisibleLink, useTLogLinkController, useTLogRetainedIndex, useTLogSearchController, useTLogSearchResultsPage, useTLogVirtualSearchResults } from "./tlog-theme-BnILsD3n.js";
|
|
18
|
+
import { TAgentTerminalGraphic } from "./TAgentTerminalGraphic-B8-YZfuP.js";
|
|
17
19
|
import { computed, defineComponent, h } from "vue";
|
|
18
20
|
|
|
19
21
|
//#region src/vue/agent/view-models.ts
|
|
@@ -2,9 +2,9 @@ import { hasEncodedControl, sanitizeDomHref } from "./hyperlink-clbb_ha_.js";
|
|
|
2
2
|
import { EventZIndexContextKey, RenderPlaneContextKey, currentTextWidthProvider, forEachTextCellSegment, intersectRect, normalizeCellRect, repeatChar, sanitizeInlineText, sanitizeTextBlock, sliceByCellsRange, spaces, textCellWidth$1 as textCellWidth, translateRect, useLayout, useRenderNode, useTerminal, useTerminalNode, useVisibility, withTextWidthProvider } from "./rect-JzWMJxxc.js";
|
|
3
3
|
import { terminalSelectionRowSpans, terminalSelectionVisibleRowSpans } from "./terminal-selection-4W1SJj4c.js";
|
|
4
4
|
import { createDebugLogger, isDebugEnabled } from "./debug-logger-CmsGI4of.js";
|
|
5
|
-
import { applyWheelScroll, createWheelScrollState, resetWheelScrollState } from "./wheel-scroll-
|
|
6
|
-
import { createIterm2InlineImageSequence, createKittyDeleteGraphicsSequence, createKittyGraphicsSequence, createKittyPlacementSequence, getTerminalGraphicsOutput, getTerminalGraphicsOutputVersion, isTerminalGraphicsProtocol, stableTerminalGraphicNumericId, subscribeTerminalGraphicsOutput } from "./terminal-graphics-
|
|
7
|
-
import { enqueueMarkdownMathImages, getCachedMarkdownMathImage, isMarkdownMathImageRendererReady, loadMarkdownMathImageRenderer, resolveMarkdownMathColor, subscribeMarkdownMathImage } from "./math-image-
|
|
5
|
+
import { applyWheelScroll, createWheelScrollState, resetWheelScrollState } from "./wheel-scroll-CQ22Hcyj.js";
|
|
6
|
+
import { createIterm2InlineImageSequence, createKittyDeleteGraphicsSequence, createKittyGraphicsSequence, createKittyPlacementSequence, getTerminalGraphicsOutput, getTerminalGraphicsOutputVersion, isTerminalGraphicsProtocol, stableTerminalGraphicNumericId, subscribeTerminalGraphicsOutput } from "./terminal-graphics-DpSL29OQ.js";
|
|
7
|
+
import { enqueueMarkdownMathImages, getCachedMarkdownMathImage, isMarkdownMathImageRendererReady, loadMarkdownMathImageRenderer, resolveMarkdownMathColor, subscribeMarkdownMathImage } from "./math-image-CcUpBnW0.js";
|
|
8
8
|
import { computed, defineComponent, getCurrentInstance, h, inject, markRaw, onBeforeUnmount, ref, shallowRef, watch, watchEffect } from "vue";
|
|
9
9
|
import { getMarkdown, parseMarkdownToStructure } from "stream-markdown-parser";
|
|
10
10
|
|
package/dist/cli.cjs
CHANGED
|
@@ -7299,7 +7299,7 @@ var TERMINAL_GRAPHICS_PROTOCOL_PRIORITY = [
|
|
|
7299
7299
|
"kitty",
|
|
7300
7300
|
"iterm2",
|
|
7301
7301
|
"sixel"
|
|
7302
|
-
], ESC4 = "\x1B", BEL = "\x07", ST = `${ESC4}\\`, ESC_RE = "\\u001B", BEL_RE = "\\u0007", CSI_RE = new RegExp(`${ESC_RE}\\[[0-?]*[ -/]*[@-~]`, "g"), OSC_RE = new RegExp(`${ESC_RE}\\][\\s\\S]*?(?:${BEL_RE}|${ESC_RE}\\\\)`, "g"), DCS_RE = new RegExp(`${ESC_RE}P[\\s\\S]*?${ESC_RE}\\\\`, "g"), APC_RE = new RegExp(`${ESC_RE}_[\\s\\S]*?${ESC_RE}\\\\`, "g"), C1_CSI_RE = new RegExp("\\u009B[0-?]*[ -/]*[@-~]", "g"), C1_OSC_RE = new RegExp(`\\u009D[\\s\\S]*?(?:${BEL_RE}|\\u009C)`, "g"), C1_DCS_RE = new RegExp("\\u0090[\\s\\S]*?\\u009C", "g"), C1_APC_RE = new RegExp("\\u009F[\\s\\S]*?\\u009C", "g"), MAX_TERMINAL_GRAPHICS_SEQUENCE_CHARS = 16 * 1024 * 1024, MAX_TERMINAL_GRAPHICS_FALLBACK_CHARS = 16384, MAX_TERMINAL_GRAPHIC_CELLS =
|
|
7302
|
+
], ESC4 = "\x1B", BEL = "\x07", ST = `${ESC4}\\`, ESC_RE = "\\u001B", BEL_RE = "\\u0007", CSI_RE = new RegExp(`${ESC_RE}\\[[0-?]*[ -/]*[@-~]`, "g"), OSC_RE = new RegExp(`${ESC_RE}\\][\\s\\S]*?(?:${BEL_RE}|${ESC_RE}\\\\)`, "g"), DCS_RE = new RegExp(`${ESC_RE}P[\\s\\S]*?${ESC_RE}\\\\`, "g"), APC_RE = new RegExp(`${ESC_RE}_[\\s\\S]*?${ESC_RE}\\\\`, "g"), C1_CSI_RE = new RegExp("\\u009B[0-?]*[ -/]*[@-~]", "g"), C1_OSC_RE = new RegExp(`\\u009D[\\s\\S]*?(?:${BEL_RE}|\\u009C)`, "g"), C1_DCS_RE = new RegExp("\\u0090[\\s\\S]*?\\u009C", "g"), C1_APC_RE = new RegExp("\\u009F[\\s\\S]*?\\u009C", "g"), MAX_TERMINAL_GRAPHICS_SEQUENCE_CHARS = 16 * 1024 * 1024, MAX_TERMINAL_GRAPHICS_FALLBACK_CHARS = 16384, MAX_TERMINAL_GRAPHIC_CELLS = 1e5, TERMINAL_GRAPHICS_REGISTRY = Symbol.for("@simon_he/vue-tui:v1:terminal-graphics"), terminalGraphicsGlobal = globalThis, terminalGraphicsRegistry = terminalGraphicsGlobal[TERMINAL_GRAPHICS_REGISTRY] ?? {
|
|
7303
7303
|
outputs: /* @__PURE__ */ new WeakMap(),
|
|
7304
7304
|
outputVersions: /* @__PURE__ */ new WeakMap(),
|
|
7305
7305
|
outputListeners: /* @__PURE__ */ new WeakMap()
|
|
@@ -9105,7 +9105,7 @@ function createStdoutRenderer(terminal, options) {
|
|
|
9105
9105
|
}
|
|
9106
9106
|
return end > start ? end : codePointEnd(data, start);
|
|
9107
9107
|
};
|
|
9108
|
-
function writeChunked(data) {
|
|
9108
|
+
function writeChunked(data, pin) {
|
|
9109
9109
|
if (import_node_buffer3.Buffer.byteLength(data, "utf8") <= chunkSize) {
|
|
9110
9110
|
out.write(data);
|
|
9111
9111
|
return;
|
|
@@ -9115,8 +9115,8 @@ function createStdoutRenderer(terminal, options) {
|
|
|
9115
9115
|
);
|
|
9116
9116
|
try {
|
|
9117
9117
|
for (let start = 0; start < data.length; ) {
|
|
9118
|
-
let end = safeChunkEnd(data, start, chunkSize);
|
|
9119
|
-
out.write(data.
|
|
9118
|
+
let end = safeChunkEnd(data, start, chunkSize), chunk = data.slice(start, end);
|
|
9119
|
+
out.write(end >= data.length || !pin ? chunk : `${chunk}${pin}`), start = end;
|
|
9120
9120
|
}
|
|
9121
9121
|
isDebugEnabled() && getDebugLog().render("writeChunked: chunked write completed");
|
|
9122
9122
|
} catch (e) {
|
|
@@ -9904,12 +9904,12 @@ function createStdoutRenderer(terminal, options) {
|
|
|
9904
9904
|
`terminal graphics frame: draws=${terminalGraphicsDraws}, clears=${terminalGraphicsClears}, bytes=${terminalGraphicsBytes}, activeNext=${nextActiveGraphics.size}`
|
|
9905
9905
|
);
|
|
9906
9906
|
}
|
|
9907
|
-
let emittedCursorPos = null;
|
|
9907
|
+
let emittedCursorPos = null, frameCursorPin = null;
|
|
9908
9908
|
if (getImeAnchor) {
|
|
9909
9909
|
let anchor = getImeAnchor();
|
|
9910
9910
|
if (anchor) {
|
|
9911
|
-
let { x, y } = clampCellToViewport(anchor, size)
|
|
9912
|
-
(hasFrameOutput || x !== lastCursorX || y !== lastCursorY) && (hasFrameOutput = !0, emittedCursorPos = { x, y }, closeActiveHrefBeforeCursorMove(), frameParts.push(
|
|
9911
|
+
let { x, y } = clampCellToViewport(anchor, size), cursorSequence = `\x1B[${y + 1 + rowOffset};${x + 1}H`;
|
|
9912
|
+
frameCursorPin = cursorSequence, (hasFrameOutput || x !== lastCursorX || y !== lastCursorY) && (hasFrameOutput = !0, emittedCursorPos = { x, y }, closeActiveHrefBeforeCursorMove(), frameParts.push(cursorSequence));
|
|
9913
9913
|
}
|
|
9914
9914
|
}
|
|
9915
9915
|
if (!hasFrameOutput) {
|
|
@@ -9972,7 +9972,7 @@ function createStdoutRenderer(terminal, options) {
|
|
|
9972
9972
|
if (writeMode === "chunked")
|
|
9973
9973
|
isDebugEnabled() && getDebugLog().render(
|
|
9974
9974
|
` Using chunked write (chunkSize=${chunkSize}, threshold=${chunkThresholdBytes}, emaMs=${writeEmaMs.toFixed(2)})`
|
|
9975
|
-
), writeChunked(frame);
|
|
9975
|
+
), writeChunked(frame, frameCursorPin);
|
|
9976
9976
|
else if (writeMode === "sync" && canUseSyncStdout) {
|
|
9977
9977
|
isDebugEnabled() && getDebugLog().render(" Using writeSync");
|
|
9978
9978
|
try {
|
package/dist/cli.js
CHANGED
|
@@ -9267,7 +9267,7 @@ const C1_DCS_RE = new RegExp("\\u0090[\\s\\S]*?\\u009C", "g");
|
|
|
9267
9267
|
const C1_APC_RE = new RegExp("\\u009F[\\s\\S]*?\\u009C", "g");
|
|
9268
9268
|
const MAX_TERMINAL_GRAPHICS_SEQUENCE_CHARS = 16 * 1024 * 1024;
|
|
9269
9269
|
const MAX_TERMINAL_GRAPHICS_FALLBACK_CHARS = 16384;
|
|
9270
|
-
const MAX_TERMINAL_GRAPHIC_CELLS =
|
|
9270
|
+
const MAX_TERMINAL_GRAPHIC_CELLS = 1e5;
|
|
9271
9271
|
const TERMINAL_GRAPHICS_REGISTRY = Symbol.for("@simon_he/vue-tui:v1:terminal-graphics");
|
|
9272
9272
|
const terminalGraphicsGlobal = globalThis;
|
|
9273
9273
|
const terminalGraphicsRegistry = terminalGraphicsGlobal[TERMINAL_GRAPHICS_REGISTRY] ?? {
|
|
@@ -11546,8 +11546,14 @@ function createStdoutRenderer(terminal, options) {
|
|
|
11546
11546
|
/**
|
|
11547
11547
|
* Write data in chunks to avoid overwhelming terminal buffers.
|
|
11548
11548
|
* This is especially important for ghostty which can hang on large writes.
|
|
11549
|
+
*
|
|
11550
|
+
* `pin` is appended after every chunk but the last. A host may observe the
|
|
11551
|
+
* terminal between two writes (macOS asks for the IME rect when the marked text
|
|
11552
|
+
* changes), and a chunk boundary would otherwise expose the cell of the last
|
|
11553
|
+
* painted row instead of the frame's IME cursor, while the preedit — rendered
|
|
11554
|
+
* only when the frame's synchronized output ends — stays on that cursor.
|
|
11549
11555
|
*/
|
|
11550
|
-
function writeChunked(data) {
|
|
11556
|
+
function writeChunked(data, pin) {
|
|
11551
11557
|
if (Buffer.byteLength(data, "utf8") <= chunkSize) {
|
|
11552
11558
|
out.write(data);
|
|
11553
11559
|
return;
|
|
@@ -11556,7 +11562,8 @@ function createStdoutRenderer(terminal, options) {
|
|
|
11556
11562
|
try {
|
|
11557
11563
|
for (let start = 0; start < data.length;) {
|
|
11558
11564
|
const end = safeChunkEnd(data, start, chunkSize);
|
|
11559
|
-
|
|
11565
|
+
const chunk = data.slice(start, end);
|
|
11566
|
+
out.write(end >= data.length || !pin ? chunk : `${chunk}${pin}`);
|
|
11560
11567
|
start = end;
|
|
11561
11568
|
}
|
|
11562
11569
|
if (isDebugEnabled()) getDebugLog().render(`writeChunked: chunked write completed`);
|
|
@@ -12666,10 +12673,13 @@ function createStdoutRenderer(terminal, options) {
|
|
|
12666
12673
|
if (isDebugEnabled()) getDebugLog().render(`terminal graphics frame: draws=${terminalGraphicsDraws}, clears=${terminalGraphicsClears}, bytes=${terminalGraphicsBytes}, activeNext=${nextActiveGraphics.size}`);
|
|
12667
12674
|
}
|
|
12668
12675
|
let emittedCursorPos = null;
|
|
12676
|
+
let frameCursorPin = null;
|
|
12669
12677
|
if (getImeAnchor) {
|
|
12670
12678
|
const anchor = getImeAnchor();
|
|
12671
12679
|
if (anchor) {
|
|
12672
12680
|
const { x, y } = clampCellToViewport(anchor, size);
|
|
12681
|
+
const cursorSequence = `\u001B[${y + 1 + rowOffset};${x + 1}H`;
|
|
12682
|
+
frameCursorPin = cursorSequence;
|
|
12673
12683
|
if (hasFrameOutput || x !== lastCursorX || y !== lastCursorY) {
|
|
12674
12684
|
hasFrameOutput = true;
|
|
12675
12685
|
emittedCursorPos = {
|
|
@@ -12677,7 +12687,7 @@ function createStdoutRenderer(terminal, options) {
|
|
|
12677
12687
|
y
|
|
12678
12688
|
};
|
|
12679
12689
|
closeActiveHrefBeforeCursorMove();
|
|
12680
|
-
frameParts.push(
|
|
12690
|
+
frameParts.push(cursorSequence);
|
|
12681
12691
|
}
|
|
12682
12692
|
}
|
|
12683
12693
|
}
|
|
@@ -12768,7 +12778,7 @@ function createStdoutRenderer(terminal, options) {
|
|
|
12768
12778
|
try {
|
|
12769
12779
|
if (writeMode === "chunked") {
|
|
12770
12780
|
if (isDebugEnabled()) getDebugLog().render(` Using chunked write (chunkSize=${chunkSize}, threshold=${chunkThresholdBytes}, emaMs=${writeEmaMs.toFixed(2)})`);
|
|
12771
|
-
writeChunked(frame);
|
|
12781
|
+
writeChunked(frame, frameCursorPin);
|
|
12772
12782
|
} else if (writeMode === "sync" && canUseSyncStdout) {
|
|
12773
12783
|
if (isDebugEnabled()) getDebugLog().render(` Using writeSync`);
|
|
12774
12784
|
try {
|
package/dist/core.js
CHANGED
|
@@ -2,8 +2,8 @@ import { TERMINAL_RENDER_PLANES, charCellWidth, createTerminal, parseAnsiSgr } f
|
|
|
2
2
|
import { ansiColorRgb } from "./ansi-palette-BHF1rN7R.js";
|
|
3
3
|
import { isSafeRelativeHref, sanitizeDomHref, sanitizeTerminalHref } from "./hyperlink-clbb_ha_.js";
|
|
4
4
|
import { firstNonEmptyEnv } from "./env-Cl8qmNFN.js";
|
|
5
|
-
import { normalizeNewlines } from "./path-
|
|
6
|
-
import { parsePathQuery, resolveUserPath, suggestParentHint, suggestPaths } from "./path-suggest-
|
|
5
|
+
import { normalizeNewlines } from "./path-BI9W15Zt.js";
|
|
6
|
+
import { parsePathQuery, resolveUserPath, suggestParentHint, suggestPaths } from "./path-suggest-fPzRsgPv.js";
|
|
7
7
|
|
|
8
8
|
//#region src/core/ansi/colors.ts
|
|
9
9
|
const ANSI8_COLOR_NAMES = Object.freeze([
|