@simon_he/vue-tui 0.0.8 → 1.0.0

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 (249) hide show
  1. package/README.md +142 -30
  2. package/dist/TSelect-BwJJbuTt.js +6089 -0
  3. package/dist/TTree-DK_DQBYm.js +6480 -0
  4. package/dist/agent.cjs +39416 -0
  5. package/dist/agent.d.cts +44 -0
  6. package/dist/agent.d.ts +44 -0
  7. package/dist/agent.js +828 -0
  8. package/dist/ansi-palette-CNXqFciC.js +57 -0
  9. package/dist/ansi-styles.d.ts +200 -0
  10. package/dist/block-source-CKUOnkgT.js +1663 -0
  11. package/dist/cli/headless-renderer.d.ts +29 -0
  12. package/dist/cli/input.d.ts +49 -0
  13. package/dist/cli/node-file-writers.d.ts +13 -0
  14. package/dist/cli/node-module.d.ts +2 -0
  15. package/dist/cli/parse-kitty.d.ts +2 -0
  16. package/dist/cli/parse-mouse.d.ts +2 -0
  17. package/dist/cli/parse-utils.d.ts +14 -0
  18. package/dist/cli/parse-xterm.d.ts +2 -0
  19. package/dist/cli/path-provider-types.d.ts +1 -0
  20. package/dist/cli/path-provider.d.ts +4 -0
  21. package/dist/cli/path-suggest-core.d.ts +1 -0
  22. package/dist/cli/path-suggest.d.ts +15 -0
  23. package/dist/cli/recording.d.ts +4 -0
  24. package/dist/cli/stdin-buffer.d.ts +33 -0
  25. package/dist/cli.cjs +11061 -0
  26. package/dist/cli.d.cts +23 -0
  27. package/dist/cli.d.ts +23 -0
  28. package/dist/cli.js +9875 -0
  29. package/dist/core/ansi/capability.d.ts +20 -0
  30. package/dist/core/ansi/colors.d.ts +41 -0
  31. package/dist/core/ansi/sgr.d.ts +7 -0
  32. package/dist/core/ansi/theme.d.ts +6 -0
  33. package/dist/core/ansi-palette.d.ts +14 -0
  34. package/dist/core/buffer/buffer.d.ts +54 -0
  35. package/dist/core/buffer/width.d.ts +4 -0
  36. package/dist/core/debug-logger.d.ts +18 -0
  37. package/dist/core/hyperlink.d.ts +9 -0
  38. package/dist/core/index.d.ts +4 -0
  39. package/dist/core/path-provider-types.d.ts +24 -0
  40. package/dist/core/path-suggest.d.ts +35 -0
  41. package/dist/core/render-plane.d.ts +3 -0
  42. package/dist/core/terminal/create-terminal.d.ts +8 -0
  43. package/dist/core/terminal/emitter.d.ts +7 -0
  44. package/dist/core/types.d.ts +107 -0
  45. package/dist/core.cjs +3153 -0
  46. package/dist/core.d.cts +14 -0
  47. package/dist/core.d.ts +14 -0
  48. package/dist/core.js +424 -0
  49. package/dist/create-terminal-C2oiWFJU.js +1434 -0
  50. package/dist/create-terminal-app.d.ts +36 -0
  51. package/dist/dom-renderer-BqGijQID.js +1173 -0
  52. package/dist/env-Cl8qmNFN.js +19 -0
  53. package/dist/events/index.d.ts +6 -0
  54. package/dist/events/manager/cli-event-manager.d.ts +22 -0
  55. package/dist/events/manager/event-manager.d.ts +30 -0
  56. package/dist/events/manager/selection-suppression.d.ts +3 -0
  57. package/dist/events/manager/types.d.ts +108 -0
  58. package/dist/events/recording.d.ts +44 -0
  59. package/dist/experimental.cjs +4412 -1641
  60. package/dist/experimental.d.cts +42 -0
  61. package/dist/experimental.d.ts +42 -825
  62. package/dist/experimental.js +31 -7392
  63. package/dist/frame-perf-C6Xfg85O.js +24 -0
  64. package/dist/hyperlink-Bn02UXJb.js +419 -0
  65. package/dist/index.cjs +14765 -17582
  66. package/dist/index.d.cts +35 -0
  67. package/dist/index.d.ts +35 -1528
  68. package/dist/index.js +17 -20026
  69. package/dist/linkify-D_gzn9Xq.js +562 -0
  70. package/dist/markdown.cjs +9321 -7623
  71. package/dist/markdown.d.cts +11 -0
  72. package/dist/markdown.d.ts +11 -112
  73. package/dist/markdown.js +36 -1427
  74. package/dist/observability/cli-latency-node.d.ts +3 -0
  75. package/dist/observability/cli-latency-types.d.ts +41 -0
  76. package/dist/observability/cli-latency.d.ts +3 -0
  77. package/dist/observability/frame-perf-store.d.ts +18 -0
  78. package/dist/observability/frame-perf.d.ts +40 -0
  79. package/dist/observability/perf-sink.d.ts +56 -0
  80. package/dist/observability/trace.d.ts +40 -0
  81. package/dist/observability/tui-profiler.d.ts +33 -0
  82. package/dist/observability.cjs +221 -0
  83. package/dist/observability.d.cts +8 -0
  84. package/dist/observability.d.ts +8 -0
  85. package/dist/observability.js +4 -0
  86. package/dist/path-mnSgEpCm.js +81 -0
  87. package/dist/path-suggest-BNqcuE3-.js +274 -0
  88. package/dist/path-suggest-Dk9TRLh5.js +3 -0
  89. package/dist/{path-suggest-DmrmeueH.js → path-suggest-bvR9SY6Q.js} +86 -18
  90. package/dist/renderer/capabilities.d.ts +13 -0
  91. package/dist/renderer/cli/index.d.ts +2 -0
  92. package/dist/renderer/cli/stdout-metrics.d.ts +18 -0
  93. package/dist/renderer/cli/stdout-renderer.d.ts +48 -0
  94. package/dist/renderer/dom/dom-renderer.d.ts +157 -0
  95. package/dist/renderer/dom/index.d.ts +2 -0
  96. package/dist/renderer/index.d.ts +2 -0
  97. package/dist/renderer-dom.cjs +1505 -0
  98. package/dist/renderer-dom.d.cts +4 -0
  99. package/dist/renderer-dom.d.ts +4 -0
  100. package/dist/renderer-dom.js +7 -0
  101. package/dist/runtime/index.d.ts +36 -0
  102. package/dist/runtime/osc52.d.ts +9 -0
  103. package/dist/runtime-rfcZCyJq.js +1197 -0
  104. package/dist/runtime.cjs +1698 -0
  105. package/dist/runtime.d.cts +9 -0
  106. package/dist/runtime.d.ts +9 -0
  107. package/dist/runtime.js +4 -0
  108. package/dist/selection/terminal-selection.d.ts +123 -0
  109. package/dist/sgr-BmzxEjAO.js +304 -0
  110. package/dist/terminal-selection-DBinO6p5.js +330 -0
  111. package/dist/tlog-theme-qPBt5rge.js +9254 -0
  112. package/dist/trace-CjzYeIxN.js +182 -0
  113. package/dist/utils/env.d.ts +3 -0
  114. package/dist/utils/grapheme.d.ts +5 -0
  115. package/dist/utils/newlines.d.ts +1 -0
  116. package/dist/utils/path.d.ts +7 -0
  117. package/dist/utils/url-safety.d.ts +2 -0
  118. package/dist/vue/agent/view-models.d.ts +98 -0
  119. package/dist/vue/components/TAnchor.d.ts +108 -0
  120. package/dist/vue/components/TBox.d.ts +144 -0
  121. package/dist/vue/components/TCommandPalette.d.ts +587 -0
  122. package/dist/vue/components/TDataTable.d.ts +367 -0
  123. package/dist/vue/components/TDebugOverlay.d.ts +43 -0
  124. package/dist/vue/components/TDialog.d.ts +255 -0
  125. package/dist/vue/components/TFeedback.d.ts +635 -0
  126. package/dist/vue/components/TFlow.d.ts +85 -0
  127. package/dist/vue/components/TForm.d.ts +1230 -0
  128. package/dist/vue/components/TInput.d.ts +545 -0
  129. package/dist/vue/components/TInputBox.d.ts +158 -0
  130. package/dist/vue/components/TJsonEditor.d.ts +165 -0
  131. package/dist/vue/components/TLink.d.ts +239 -0
  132. package/dist/vue/components/TLinkifyText.d.ts +141 -0
  133. package/dist/vue/components/TList.d.ts +119 -0
  134. package/dist/vue/components/TLogLinksPanel.d.ts +238 -0
  135. package/dist/vue/components/TLogMinimap.d.ts +263 -0
  136. package/dist/vue/components/TLogScrollbar.d.ts +236 -0
  137. package/dist/vue/components/TLogSearchBar.d.ts +267 -0
  138. package/dist/vue/components/TLogSearchPager.d.ts +162 -0
  139. package/dist/vue/components/TLogSearchResults.d.ts +200 -0
  140. package/dist/vue/components/TLogView.d.ts +536 -0
  141. package/dist/vue/components/TLogVirtualLinksPanel.d.ts +141 -0
  142. package/dist/vue/components/TLogVirtualSearchResults.d.ts +146 -0
  143. package/dist/vue/components/TMarkdownText.d.ts +134 -0
  144. package/dist/vue/components/TMultilineModal.d.ts +62 -0
  145. package/dist/vue/components/TNavigation.d.ts +324 -0
  146. package/dist/vue/components/TOverlay.d.ts +366 -0
  147. package/dist/vue/components/TPanels.d.ts +244 -0
  148. package/dist/vue/components/TPathPicker.d.ts +213 -0
  149. package/dist/vue/components/TRenderLayer.d.ts +16 -0
  150. package/dist/vue/components/TRenderPlane.d.ts +17 -0
  151. package/dist/vue/components/TSelect.d.ts +335 -0
  152. package/dist/vue/components/TTable.d.ts +317 -0
  153. package/dist/vue/components/TText.d.ts +116 -0
  154. package/dist/vue/components/TThinkingView.d.ts +233 -0
  155. package/dist/vue/components/TToolCallView.d.ts +384 -0
  156. package/dist/vue/components/TTranscriptView.d.ts +221 -0
  157. package/dist/vue/components/TTransition.d.ts +83 -0
  158. package/dist/vue/components/TTree.d.ts +200 -0
  159. package/dist/vue/components/TUserMessageView.d.ts +344 -0
  160. package/dist/vue/components/TView.d.ts +127 -0
  161. package/dist/vue/components/TVirtualList.d.ts +182 -0
  162. package/dist/vue/components/TVirtualMarkdown.d.ts +168 -0
  163. package/dist/vue/components/TVirtualRows.d.ts +247 -0
  164. package/dist/vue/components/TerminalProvider.d.ts +218 -0
  165. package/dist/vue/components/input/host.d.ts +17 -0
  166. package/dist/vue/components/input/plugins/hostPlugin.d.ts +7 -0
  167. package/dist/vue/components/input/plugins/hostPlugin.node.d.ts +15 -0
  168. package/dist/vue/components/input/plugins/mentionUtils.d.ts +17 -0
  169. package/dist/vue/components/input/plugins/nodeMentionPathProvider.d.ts +2 -0
  170. package/dist/vue/components/input/plugins/promptMentionPlugin.d.ts +8 -0
  171. package/dist/vue/components/input/plugins/promptMentionState.d.ts +98 -0
  172. package/dist/vue/components/input/plugins/restrictText.d.ts +27 -0
  173. package/dist/vue/components/input/plugins/types.d.ts +90 -0
  174. package/dist/vue/components/input/utils/inlineText.d.ts +57 -0
  175. package/dist/vue/components/input/utils/inlineTextTokens.d.ts +34 -0
  176. package/dist/vue/components/input/utils/primitives.d.ts +3 -0
  177. package/dist/vue/components/input/utils/wordNavigation.d.ts +6 -0
  178. package/dist/vue/components/link/host.d.ts +15 -0
  179. package/dist/vue/components/list/list-geometry.d.ts +16 -0
  180. package/dist/vue/components/list/list-paint.d.ts +1 -0
  181. package/dist/vue/components/list/scroll-state.d.ts +25 -0
  182. package/dist/vue/components/list/selection-state.d.ts +6 -0
  183. package/dist/vue/components/simple-utils.d.ts +5 -0
  184. package/dist/vue/components/terminal-provider/copy-toast.d.ts +6 -0
  185. package/dist/vue/components/terminal-provider/portals.d.ts +17 -0
  186. package/dist/vue/components/terminal-provider/scheduler.d.ts +29 -0
  187. package/dist/vue/components/terminal-provider/selection-config.d.ts +15 -0
  188. package/dist/vue/components/terminal-provider/utils.d.ts +5 -0
  189. package/dist/vue/composables/use-layout.d.ts +2 -0
  190. package/dist/vue/composables/use-render-node.d.ts +19 -0
  191. package/dist/vue/composables/use-render-stack.d.ts +3 -0
  192. package/dist/vue/composables/use-runtime.d.ts +5 -0
  193. package/dist/vue/composables/use-terminal-node.d.ts +14 -0
  194. package/dist/vue/composables/use-terminal.d.ts +2 -0
  195. package/dist/vue/composables/use-visibility.d.ts +12 -0
  196. package/dist/vue/context.d.ts +153 -0
  197. package/dist/vue/index.d.ts +69 -0
  198. package/dist/vue/injection-key.d.ts +2 -0
  199. package/dist/vue/linkify.d.ts +11 -0
  200. package/dist/vue/log/append-only-log-store.d.ts +2 -0
  201. package/dist/vue/log/tlog-keymap.d.ts +28 -0
  202. package/dist/vue/log/tlog-plugins.d.ts +144 -0
  203. package/dist/vue/log/tlog-session.d.ts +81 -0
  204. package/dist/vue/log/tlog-theme.d.ts +68 -0
  205. package/dist/vue/log/types.d.ts +43 -0
  206. package/dist/vue/log/use-tlog-link-controller.d.ts +31 -0
  207. package/dist/vue/log/use-tlog-retained-index.d.ts +26 -0
  208. package/dist/vue/log/use-tlog-search-controller.d.ts +51 -0
  209. package/dist/vue/log/use-tlog-search-results-page.d.ts +31 -0
  210. package/dist/vue/log/use-tlog-virtual-search-results.d.ts +22 -0
  211. package/dist/vue/markdown/ast.d.ts +3 -0
  212. package/dist/vue/markdown/block-source.d.ts +22 -0
  213. package/dist/vue/markdown/document.d.ts +20 -0
  214. package/dist/vue/markdown/layout.d.ts +21 -0
  215. package/dist/vue/markdown/parser.d.ts +11 -0
  216. package/dist/vue/markdown/render.d.ts +10 -0
  217. package/dist/vue/markdown/theme.d.ts +186 -0
  218. package/dist/vue/markdown/types.d.ts +59 -0
  219. package/dist/vue/overlay.d.ts +27 -0
  220. package/dist/vue/render/context.d.ts +3 -0
  221. package/dist/vue/render/render-manager.d.ts +94 -0
  222. package/dist/vue/router/RouterView.d.ts +25 -0
  223. package/dist/vue/router/composables.d.ts +4 -0
  224. package/dist/vue/router/context.d.ts +4 -0
  225. package/dist/vue/router/router.d.ts +7 -0
  226. package/dist/vue/router/types.d.ts +29 -0
  227. package/dist/vue/scheduler/frame-mailbox.d.ts +55 -0
  228. package/dist/vue/scheduler/frame-scheduler.d.ts +51 -0
  229. package/dist/vue/theme.d.ts +48 -0
  230. package/dist/vue/transcript/hit-regions.d.ts +2 -0
  231. package/dist/vue/transcript/layout.d.ts +20 -0
  232. package/dist/vue/transcript/plain-text.d.ts +2 -0
  233. package/dist/vue/transcript/types.d.ts +122 -0
  234. package/dist/vue/utils/frame-task.d.ts +6 -0
  235. package/dist/vue/utils/rect.d.ts +4 -0
  236. package/dist/vue/utils/row-scroll.d.ts +25 -0
  237. package/dist/vue/utils/style-cache.d.ts +3 -0
  238. package/dist/vue/utils/text.d.ts +27 -0
  239. package/dist/vue/utils/wheel-scroll.d.ts +18 -0
  240. package/dist/vue.cjs +23668 -0
  241. package/dist/vue.d.cts +1 -0
  242. package/dist/vue.d.ts +1 -0
  243. package/dist/vue.js +3957 -0
  244. package/dist/{wheel-scroll-CiNsasLf.js → wheel-scroll-vBRaQ7p-.js} +404 -405
  245. package/package.json +185 -35
  246. package/dist/path-suggest-BeV6n7m-.js +0 -3
  247. package/dist/sgr-Tko2EQ0U.js +0 -484
  248. package/dist/theme-Bsm65g8k.d.ts +0 -32
  249. package/dist/types-ClIV2h1o.d.ts +0 -103
@@ -0,0 +1,25 @@
1
+ export type ScrollTopChange = Readonly<{
2
+ changed: boolean;
3
+ dirty: boolean;
4
+ top: number;
5
+ }>;
6
+ export type ActiveChange = Readonly<{
7
+ changedActive: boolean;
8
+ changedScroll: boolean;
9
+ dirty: boolean;
10
+ next: number;
11
+ }>;
12
+ export type SyncModelResult = Readonly<{
13
+ canceledPendingWheel: boolean;
14
+ reattached: boolean;
15
+ changedActive: boolean;
16
+ changedScroll: boolean;
17
+ dirty: boolean;
18
+ }>;
19
+ export declare function getWheelScrollInput(e: {
20
+ deltaY?: number;
21
+ deltaMode?: number;
22
+ }): {
23
+ deltaY: number;
24
+ mode: "auto" | "line" | "pixel";
25
+ };
@@ -0,0 +1,6 @@
1
+ import type { ListVisibleRange } from "./list-geometry.js";
2
+ export declare function normalizeListIndex(value: unknown, itemsLength: number): number;
3
+ export declare function isActiveVisible(active: number, range: ListVisibleRange): boolean;
4
+ export declare function anchorActiveToViewport(active: number, itemsLength: number, range: ListVisibleRange, direction: -1 | 1): number;
5
+ export declare function pageAnchor(active: number, itemsLength: number, range: ListVisibleRange, direction: -1 | 1): number;
6
+ export declare function nearestVisibleActive(active: number, itemsLength: number, range: ListVisibleRange): number;
@@ -0,0 +1,5 @@
1
+ import type { Style } from "../../core/types.js";
2
+ export declare function clamp(n: number, min: number, max: number): number;
3
+ export declare function mergeStyle(...styles: Array<Style | undefined>): Style;
4
+ export declare function fitCellText(value: unknown, width: number, align?: "left" | "right"): string;
5
+ export declare function repeatToCells(ch: string, width: number): string;
@@ -0,0 +1,6 @@
1
+ export declare function createCopyToastState(defaultText?: string): {
2
+ readonly visible: import("vue").Ref<boolean>;
3
+ readonly text: import("vue").Ref<string>;
4
+ readonly show: (message?: string) => void;
5
+ readonly dispose: () => void;
6
+ };
@@ -0,0 +1,17 @@
1
+ import type { Component } from "vue";
2
+ import type { TerminalRenderPlane } from "../../../core/render-plane.js";
3
+ import type { TerminalRuntimeHandle, TerminalSchedulerInvalidateOptions } from "../../context.js";
4
+ export interface Portal {
5
+ id: string;
6
+ component: Component;
7
+ plane: TerminalRenderPlane;
8
+ props: Record<string, unknown>;
9
+ }
10
+ export declare function createTerminalPortals(invalidate: (options?: TerminalSchedulerInvalidateOptions) => void): {
11
+ readonly portals: import("vue").ShallowReactive<Portal[]>;
12
+ readonly runtime: Readonly<{
13
+ mount: (component: Component, props: Record<string, unknown>, options?: Readonly<{
14
+ plane?: TerminalRenderPlane;
15
+ }>) => TerminalRuntimeHandle;
16
+ }>;
17
+ };
@@ -0,0 +1,29 @@
1
+ import type { ShallowRef } from "vue";
2
+ import type { Terminal } from "../../../core/types.js";
3
+ import type { FramePerfStore } from "../../../observability/frame-perf-store.js";
4
+ import type { TuiProfiler } from "../../../observability/tui-profiler.js";
5
+ import type { DomRenderer } from "../../../renderer/dom/dom-renderer.js";
6
+ import type { TerminalSchedulerInvalidateOptions } from "../../context.js";
7
+ import type { RenderManager } from "../../render/render-manager.js";
8
+ export declare function createTerminalProviderScheduler(options: {
9
+ terminal: Terminal;
10
+ renderer: ShallowRef<DomRenderer | null>;
11
+ render: RenderManager;
12
+ framePerf: FramePerfStore;
13
+ profiler: TuiProfiler | null;
14
+ isUnmounting: () => boolean;
15
+ afterFlush: () => void;
16
+ }): {
17
+ readonly api: Readonly<{
18
+ invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
19
+ flush: () => void;
20
+ flushNow: () => void;
21
+ configure: (options: import("../../context.js").TerminalSchedulerConfig) => void;
22
+ queueFrameTask: (task: import("../../context.js").TerminalFrameTask) => boolean | void;
23
+ cancelFrameTask?: (id: string) => boolean | void;
24
+ requestLive: (reason: string) => () => void;
25
+ dropLive: (reason: string) => void;
26
+ isInsideFrame: () => boolean;
27
+ }>;
28
+ readonly dispose: () => void;
29
+ };
@@ -0,0 +1,15 @@
1
+ import type { TerminalSelectionCopyPayload, TerminalSelectionOptions } from "../../../selection/terminal-selection.js";
2
+ import type { Style } from "../../../core/types.js";
3
+ export type ResolvedTerminalSelectionConfig = Readonly<{
4
+ enabled: boolean;
5
+ autoCopy: boolean;
6
+ copyOnMouseUp: boolean;
7
+ style: Style;
8
+ toast: boolean;
9
+ }>;
10
+ export type TerminalProviderSelectionOptions = TerminalSelectionOptions & Readonly<{
11
+ toast?: boolean;
12
+ }>;
13
+ export type TerminalProviderSelectionConfig = boolean | TerminalProviderSelectionOptions;
14
+ export declare function resolveSelectionConfig(config: TerminalProviderSelectionConfig): ResolvedTerminalSelectionConfig;
15
+ export declare function selectionCopyToastText(payload: TerminalSelectionCopyPayload): string;
@@ -0,0 +1,5 @@
1
+ import type { DomRendererOptions } from "../../../renderer/dom/dom-renderer.js";
2
+ export declare function isPlainObject(v: unknown): v is Record<string, unknown>;
3
+ export declare function shallowEqualRecord(a: Record<string, unknown>, b: Record<string, unknown>): boolean;
4
+ export declare function warnDev(message: string): void;
5
+ export declare function pickInitOnlyDomOptions(options: DomRendererOptions | undefined): Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import type { LayoutContext } from "../context.js";
2
+ export declare function useLayout(): LayoutContext;
@@ -0,0 +1,19 @@
1
+ import type { Ref } from "vue";
2
+ import type { TerminalSchedulerPriority } from "../context.js";
3
+ import type { RenderRect, RenderStack } from "../render/render-manager.js";
4
+ export interface RenderNodeOptions {
5
+ zIndex?: number;
6
+ stack?: RenderStack;
7
+ rect?: RenderRect | null;
8
+ /**
9
+ * One-shot absolute terminal rows for row-local content changes on this node's plane only.
10
+ * Omit this when geometry, z-order, style, data identity, or paint semantics changed.
11
+ */
12
+ dirtyRowsHint?: readonly number[];
13
+ priority?: TerminalSchedulerPriority;
14
+ deps?: unknown;
15
+ paint: (dirtyRows?: readonly number[]) => void;
16
+ }
17
+ export declare function useRenderNode(getOptions: () => RenderNodeOptions): {
18
+ id: Ref<string | null>;
19
+ };
@@ -0,0 +1,3 @@
1
+ import type { Ref } from "vue";
2
+ import type { RenderStack } from "../render/render-manager.js";
3
+ export declare function useRenderStack(): Ref<RenderStack>;
@@ -0,0 +1,5 @@
1
+ export declare function useTerminalRuntime(): Readonly<{
2
+ mount: (component: import("vue").Component, props: Record<string, unknown>, options?: Readonly<{
3
+ plane?: import("../../core.js").TerminalRenderPlane;
4
+ }>) => import("../context.js").TerminalRuntimeHandle;
5
+ }>;
@@ -0,0 +1,14 @@
1
+ import type { Ref } from "vue";
2
+ import type { Rect, TerminalEventHandlerMap } from "../../events/manager/types.js";
3
+ export interface TerminalNodeOptions {
4
+ rect: Rect;
5
+ zIndex?: number;
6
+ visible?: boolean;
7
+ focusable?: boolean;
8
+ selectable?: boolean;
9
+ selectionScrollBy?: (deltaRows: number) => boolean | void;
10
+ handlers?: TerminalEventHandlerMap;
11
+ }
12
+ export declare function useTerminalNode(getOptions: () => TerminalNodeOptions): {
13
+ id: Ref<string | null>;
14
+ };
@@ -0,0 +1,2 @@
1
+ import type { TerminalContext } from "../context.js";
2
+ export declare function useTerminal(): TerminalContext;
@@ -0,0 +1,12 @@
1
+ import type { ComputedRef, VNode } from "vue";
2
+ export type VisibilityRootProps = Readonly<{
3
+ style: Readonly<Record<string, string | number>>;
4
+ onVnodeBeforeMount: (vnode: VNode) => void;
5
+ onVnodeBeforeUnmount: (vnode: VNode) => void;
6
+ }>;
7
+ export declare function useVisibility(options?: {
8
+ provide?: boolean;
9
+ }): Readonly<{
10
+ visible: ComputedRef<boolean>;
11
+ rootProps: VisibilityRootProps;
12
+ }>;
@@ -0,0 +1,153 @@
1
+ import type { Component, InjectionKey, Ref, ShallowRef } from "vue";
2
+ import type { PathPickerProvider } from "../core/path-provider-types.js";
3
+ import type { TerminalRenderPlane } from "../core/render-plane.js";
4
+ import type { WidthProvider } from "../core/buffer/width.js";
5
+ import type { Style, Terminal } from "../core/types.js";
6
+ import type { EventManager } from "../events/manager/event-manager.js";
7
+ import type { Rect } from "../events/manager/types.js";
8
+ import type { SelectionTextProvider, TerminalSelectionCopyPayload, TerminalSelectionRefreshOptions } from "../selection/terminal-selection.js";
9
+ import type { RendererCapabilities, TerminalRendererLike } from "../renderer/capabilities.js";
10
+ import type { TraceStore } from "../observability/trace.js";
11
+ import type { FramePerfReason } from "../observability/frame-perf.js";
12
+ import type { FramePerfStore } from "../observability/frame-perf-store.js";
13
+ import type { RenderManager } from "./render/render-manager.js";
14
+ export interface LayoutContext {
15
+ originX: number;
16
+ originY: number;
17
+ clipRect: Rect | null;
18
+ }
19
+ export type TerminalSchedulerPriority = "high" | "normal" | "low";
20
+ export type TerminalSchedulerInvalidateOptions = Readonly<{
21
+ priority?: TerminalSchedulerPriority;
22
+ plane?: TerminalRenderPlane;
23
+ reason?: FramePerfReason;
24
+ }>;
25
+ export type TerminalFrameTaskPriority = "high" | "normal" | "low";
26
+ export type TerminalFrameContext = Readonly<{
27
+ frameId: number;
28
+ startedAt: number;
29
+ now: () => number;
30
+ budgetMs: number;
31
+ remainingMs: () => number;
32
+ requestMore: () => void;
33
+ invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
34
+ /**
35
+ * Internal scheduler metric hook used by frame tasks/mailboxes to report
36
+ * dropped producer updates that were intentionally coalesced before paint.
37
+ *
38
+ * Compatibility note:
39
+ * TerminalFrameContext is an exported type, so additions here are public.
40
+ */
41
+ reportDroppedUpdates?: (count: number) => void;
42
+ reportMailboxDeliveryAttempt?: (attempt: {
43
+ id: string;
44
+ queued: number;
45
+ dropped: number;
46
+ }) => void;
47
+ }>;
48
+ export type TerminalFrameTask = Readonly<{
49
+ id?: string;
50
+ reason?: FramePerfReason;
51
+ priority?: TerminalFrameTaskPriority;
52
+ sync?: boolean;
53
+ run: (ctx: TerminalFrameContext) => void;
54
+ }>;
55
+ export type TerminalSchedulerConfig = Readonly<{
56
+ targetFps?: number;
57
+ maxFps?: number;
58
+ frameBudgetMs?: number;
59
+ }>;
60
+ export type TerminalScheduler = Readonly<{
61
+ invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
62
+ flush: () => void;
63
+ /**
64
+ * Flushes render-manager work and requests a sync terminal commit immediately.
65
+ * DOM row updates may still defer to rAF when they exceed the renderer sync budget.
66
+ */
67
+ flushNow: () => void;
68
+ configure: (options: TerminalSchedulerConfig) => void;
69
+ /**
70
+ * Queues a frame task for the next scheduler frame.
71
+ * false means the scheduler explicitly rejected the task; producers must clear
72
+ * local pending state. true or undefined means accepted so legacy schedulers
73
+ * that do not return a value remain valid.
74
+ */
75
+ queueFrameTask: (task: TerminalFrameTask) => boolean | void;
76
+ /**
77
+ * Best-effort cancellation for a pending id task.
78
+ * If the scheduler has already taken the task for the current frame,
79
+ * the task run() still needs to guard its own stale state.
80
+ */
81
+ cancelFrameTask?: (id: string) => boolean | void;
82
+ requestLive: (reason: string) => () => void;
83
+ dropLive: (reason: string) => void;
84
+ isInsideFrame: () => boolean;
85
+ }>;
86
+ export type TerminalRuntimeHandle = Readonly<{
87
+ update: (props: Record<string, unknown>) => void;
88
+ move: (x: number, y: number) => void;
89
+ unmount: () => void;
90
+ }>;
91
+ export type TerminalRuntime = Readonly<{
92
+ mount: (component: Component, props: Record<string, unknown>, options?: Readonly<{
93
+ plane?: TerminalRenderPlane;
94
+ }>) => TerminalRuntimeHandle;
95
+ }>;
96
+ export type TerminalSelectionContext = Readonly<{
97
+ registerTextProvider: (provider: SelectionTextProvider) => () => void;
98
+ onCopy: (handler: (payload: TerminalSelectionCopyPayload) => void) => () => void;
99
+ refresh: (options?: TerminalSelectionRefreshOptions) => void;
100
+ clear: () => void;
101
+ }>;
102
+ export type ImeAnchor = Readonly<{
103
+ cellX: number;
104
+ cellY: number;
105
+ ownerId?: string;
106
+ }>;
107
+ export type TerminalContext = Readonly<{
108
+ terminal: Terminal;
109
+ renderer: Ref<TerminalRendererLike | null>;
110
+ rendererCapabilities: Ref<RendererCapabilities>;
111
+ events: Ref<EventManager | null>;
112
+ scheduler: TerminalScheduler;
113
+ runtime: TerminalRuntime;
114
+ observability: Readonly<{
115
+ trace: TraceStore;
116
+ framePerf: FramePerfStore;
117
+ }>;
118
+ selection: TerminalSelectionContext;
119
+ defaultStyle: Ref<Style>;
120
+ widthProvider: WidthProvider;
121
+ render: RenderManager;
122
+ }>;
123
+ export declare const TerminalContextKey: InjectionKey<Readonly<{
124
+ terminal: Terminal;
125
+ renderer: Ref<TerminalRendererLike | null>;
126
+ rendererCapabilities: Ref<RendererCapabilities>;
127
+ events: Ref<EventManager | null>;
128
+ scheduler: TerminalScheduler;
129
+ runtime: TerminalRuntime;
130
+ observability: Readonly<{
131
+ trace: TraceStore;
132
+ framePerf: FramePerfStore;
133
+ }>;
134
+ selection: TerminalSelectionContext;
135
+ defaultStyle: Ref<Style>;
136
+ widthProvider: WidthProvider;
137
+ render: RenderManager;
138
+ }>>;
139
+ export declare const LayoutContextKey: InjectionKey<LayoutContext>;
140
+ export declare const VisibilityContextKey: InjectionKey<Ref<boolean>>;
141
+ export declare const EventZIndexContextKey: InjectionKey<Ref<number>>;
142
+ export declare const RenderPlaneContextKey: InjectionKey<Ref<"default" | "transcript" | "chrome" | "overlay">>;
143
+ export declare const ImeAnchorContextKey: InjectionKey<ShallowRef<Readonly<{
144
+ cellX: number;
145
+ cellY: number;
146
+ ownerId?: string;
147
+ }> | null>>;
148
+ export declare const TInputPluginsContextKey: InjectionKey<Readonly<Ref<readonly Readonly<{
149
+ name: string;
150
+ install: (ctx: import("./index.js").TInputPluginContext) => void;
151
+ }>[]>>>;
152
+ export declare const TPathPickerProviderContextKey: InjectionKey<Readonly<Ref<PathPickerProvider | undefined>>>;
153
+ export declare const DialogContextKey: InjectionKey<boolean>;
@@ -0,0 +1,69 @@
1
+ export type { TInputHostAdapter } from "./components/input/host.js";
2
+ export { createTInputHostPlugin } from "./components/input/plugins/hostPlugin.js";
3
+ export { createPromptMentionPlugin } from "./components/input/plugins/promptMentionPlugin.js";
4
+ export type { MentionPathProvider, MentionSuggestionProvider, PromptMentionPluginOptions, } from "./components/input/plugins/promptMentionPlugin.js";
5
+ export { createTextRestrictionPlugin } from "./components/input/plugins/restrictText.js";
6
+ export type { PromptSuggestion, TInputPlugin, TInputPluginContext, } from "./components/input/plugins/types.js";
7
+ export { TAnchor } from "./components/TAnchor.js";
8
+ export { TBox } from "./components/TBox.js";
9
+ export { computeCommandPaletteMatchRanges, TCommandPalette } from "./components/TCommandPalette.js";
10
+ export type { TCommandPaletteItem, TCommandPaletteItemsProvider, TCommandPaletteLoadErrorPayload, TCommandPaletteMatcher, TCommandPaletteMatcherResult, TCommandPaletteMatchRange, TCommandPaletteSelectPayload, } from "./components/TCommandPalette.js";
11
+ export { TDataTable } from "./components/TDataTable.js";
12
+ export type { TDataTableFilterPredicate, TDataTableRowSelectPayload, TDataTableSortChangePayload, TDataTableSortDirection, TDataTableSelectionMode, TDataTableSorter, } from "./components/TDataTable.js";
13
+ export { TDebugOverlay } from "./components/TDebugOverlay.js";
14
+ export { TDialog } from "./components/TDialog.js";
15
+ export type { DialogButton } from "./components/TDialog.js";
16
+ export type { TerminalProviderSelectionConfig, TerminalProviderSelectionOptions, } from "./components/TerminalProvider.js";
17
+ export { TerminalProvider } from "./components/TerminalProvider.js";
18
+ export { TFlow } from "./components/TFlow.js";
19
+ export { TAutocompleteInput, TCheckbox, TForm, TFormContextKey, TFormField, TPasswordInput, TRadioGroup, TSlider, TSwitch, useTForm, } from "./components/TForm.js";
20
+ export type { TAutocompleteLoadErrorPayload, TAutocompleteOption, TAutocompleteSelectPayload, TAutocompleteSuggestionProvider, TFormContext, TFormHandle, TFormModel, TFormRule, TFormSubmitPayload, TRadioOption, } from "./components/TForm.js";
21
+ export { TBadge, TCode, TDivider, TProgress, TSpinner, TTag, TToastViewport, } from "./components/TFeedback.js";
22
+ export type { TFeedbackTone, TToastItem } from "./components/TFeedback.js";
23
+ export { TSplitPane, TTabs } from "./components/TPanels.js";
24
+ export type { TSplitPaneDirection, TSplitPaneRect, TTabsItem } from "./components/TPanels.js";
25
+ export { TInput } from "./components/TInput.js";
26
+ export { TInputBox } from "./components/TInputBox.js";
27
+ export { lintJsonText, TJsonEditor } from "./components/TJsonEditor.js";
28
+ export { TList } from "./components/TList.js";
29
+ export { TLink } from "./components/TLink.js";
30
+ export { TLinkifyText } from "./components/TLinkifyText.js";
31
+ export type { TLinkActivatePayload, TLinkActivationSource, TLinkInvalidHrefPayload, TLinkModifierClick, TLinkOpenMode, TLinkOpenPayload, } from "./components/TLink.js";
32
+ export type { TerminalLinkOpenContext, TerminalLinkOpener, TerminalLinkOpenerLike, TerminalLinkOpenSource, } from "./components/link/host.js";
33
+ export { linkifyTextSegments } from "./linkify.js";
34
+ export type { TLinkifyOptions, TLinkifyProtocol, TLinkifySegment } from "./linkify.js";
35
+ export { TMultilineModal } from "./components/TMultilineModal.js";
36
+ export { TBreadcrumb, TKeyHint, TStatusBar } from "./components/TNavigation.js";
37
+ export type { TBreadcrumbItem, TBreadcrumbSelectPayload } from "./components/TNavigation.js";
38
+ export { TContextMenu, TPopover, TTooltip } from "./components/TOverlay.js";
39
+ export type { TContextMenuItem, TContextMenuSelectPayload } from "./components/TOverlay.js";
40
+ export { TPathPicker } from "./components/TPathPicker.js";
41
+ export { TRenderLayer } from "./components/TRenderLayer.js";
42
+ export { TRenderPlane } from "./components/TRenderPlane.js";
43
+ export { TSelect } from "./components/TSelect.js";
44
+ export type { SelectOption, SelectOptionWithStyle, TSelectMultipleChangePayload, TSelectMultipleEmitMode, TSelectModelValue, TSelectOptionProvider, TSelectValueMode, } from "./components/TSelect.js";
45
+ export { TTable } from "./components/TTable.js";
46
+ export type { TTableColumn, TTableHeaderClickPayload, TTableRow, TTableRowClickPayload, TTableRowKeydownPayload, } from "./components/TTable.js";
47
+ export { TText } from "./components/TText.js";
48
+ export { TTransition } from "./components/TTransition.js";
49
+ export { TTree } from "./components/TTree.js";
50
+ export type { TTreeNode, TTreeSelectPayload, TTreeTogglePayload } from "./components/TTree.js";
51
+ export { TView } from "./components/TView.js";
52
+ export { padEndByCells, sliceByCells, sliceByCellsRange, spaces, textCellWidth, wrapByCells, } from "./utils/text.js";
53
+ export { useLayout } from "./composables/use-layout.js";
54
+ export { useRenderNode } from "./composables/use-render-node.js";
55
+ export { useTerminalRuntime } from "./composables/use-runtime.js";
56
+ export { useTerminalNode } from "./composables/use-terminal-node.js";
57
+ export { useTerminal } from "./composables/use-terminal.js";
58
+ export { useVisibility } from "./composables/use-visibility.js";
59
+ export type { TuiMarkdownTheme, TuiMarkdownThemeOverrides } from "./markdown/theme.js";
60
+ export { createTheme, tuiDefaultTheme } from "./theme.js";
61
+ export { createOverlayFocusStack, resolveOverlayPlacement } from "./overlay.js";
62
+ export type { TOverlayFocusStack, TOverlayPlacement, TOverlayPlacementOptions, TOverlayRect, } from "./overlay.js";
63
+ export type { TuiTheme, TuiThemeColorTokens, TuiThemeComponentTokens, TuiThemeOverrides, } from "./theme.js";
64
+ export type { LayoutContext, TerminalFrameContext, TerminalFrameTask, TerminalFrameTaskPriority, TerminalContext, TerminalSelectionContext, TerminalRuntime, TerminalRuntimeHandle, TerminalScheduler, TerminalSchedulerConfig, TerminalSchedulerInvalidateOptions, } from "./context.js";
65
+ export { TInputPluginsContextKey } from "./context.js";
66
+ export { useRoute, useRouter } from "./router/composables.js";
67
+ export { createTerminalRouter } from "./router/router.js";
68
+ export { TRouterView } from "./router/RouterView.js";
69
+ export type { TerminalRoute, TerminalRouteLocationRaw, TerminalRouter, TerminalRouteRecord, } from "./router/types.js";
@@ -0,0 +1,2 @@
1
+ import type { InjectionKey } from "vue";
2
+ export declare function injectionKey<T>(name: string): InjectionKey<T>;
@@ -0,0 +1,11 @@
1
+ export type TLinkifyProtocol = "http" | "https" | "mailto";
2
+ export type TLinkifyOptions = Readonly<{
3
+ protocols?: readonly TLinkifyProtocol[];
4
+ allowRelative?: boolean;
5
+ maxUrlLength?: number;
6
+ }>;
7
+ export type TLinkifySegment = Readonly<{
8
+ text: string;
9
+ href?: string;
10
+ }>;
11
+ export declare function linkifyTextSegments(text: string, options?: TLinkifyOptions): readonly TLinkifySegment[];
@@ -0,0 +1,2 @@
1
+ import type { AppendOnlyLogStore, CreateAppendOnlyLogStoreOptions } from "./types.js";
2
+ export declare function createAppendOnlyLogStore(options?: CreateAppendOnlyLogStoreOptions): AppendOnlyLogStore;
@@ -0,0 +1,28 @@
1
+ export type TLogKeymap = Readonly<{
2
+ searchNext?: readonly string[];
3
+ searchPrevious?: readonly string[];
4
+ clearSearch?: readonly string[];
5
+ nextLink?: readonly string[];
6
+ previousLink?: readonly string[];
7
+ activateLink?: readonly string[];
8
+ }>;
9
+ type KeyboardLike = Readonly<{
10
+ key: string;
11
+ ctrlKey?: boolean;
12
+ metaKey?: boolean;
13
+ altKey?: boolean;
14
+ shiftKey?: boolean;
15
+ preventDefault?: () => void;
16
+ }>;
17
+ export declare const tlogDefaultKeymap: TLogKeymap;
18
+ export declare const tlogHighContrastKeymap: TLogKeymap;
19
+ export declare function matchesTLogKeyBinding(event: KeyboardLike, bindings: readonly string[] | undefined): boolean;
20
+ export declare function handleTLogKeymapEvent(event: KeyboardLike, keymap: TLogKeymap, actions: Readonly<{
21
+ searchNext?: () => void;
22
+ searchPrevious?: () => void;
23
+ clearSearch?: () => void;
24
+ nextLink?: () => boolean;
25
+ previousLink?: () => boolean;
26
+ activateLink?: () => boolean;
27
+ }>): boolean;
28
+ export {};
@@ -0,0 +1,144 @@
1
+ import type { Style } from "../../core/types.js";
2
+ import type { TLogMinimapDensityBucket } from "../components/TLogMinimap.js";
3
+ import type { TLogViewVisibleLink } from "../components/TLogView.js";
4
+ import type { TLogLinkAction } from "./use-tlog-link-controller.js";
5
+ export type TLogPluginSeverity = "error" | "warning" | "info";
6
+ export type TLogPluginLinkSource = "osc8" | "url" | "plugin";
7
+ export type TLogPluginVisualSegment = Readonly<{
8
+ text: string;
9
+ cells: number;
10
+ style?: Style;
11
+ href?: string;
12
+ }>;
13
+ export type TLogViewExternalLink = Readonly<{
14
+ id: string;
15
+ href: string;
16
+ text: string;
17
+ absoluteLineIndex: number;
18
+ lineIndex: number;
19
+ startCell: number;
20
+ endCell: number;
21
+ source: TLogPluginLinkSource;
22
+ pluginName?: string;
23
+ data?: unknown;
24
+ }>;
25
+ export type TLogViewExternalMarker = Readonly<{
26
+ id: string;
27
+ absoluteLineIndex: number;
28
+ lineIndex: number;
29
+ visualRow: number;
30
+ estimated?: boolean;
31
+ current?: boolean;
32
+ label?: string;
33
+ severity?: TLogPluginSeverity;
34
+ source: string;
35
+ data?: unknown;
36
+ }>;
37
+ export type TLogViewPluginLineMarker = Readonly<{
38
+ id?: string | number;
39
+ label?: string;
40
+ severity?: TLogPluginSeverity;
41
+ estimated?: boolean;
42
+ data?: unknown;
43
+ }>;
44
+ export type TLogViewPluginLineLink = Readonly<{
45
+ id?: string | number;
46
+ href: string;
47
+ text: string;
48
+ startCell: number;
49
+ endCell: number;
50
+ source?: TLogPluginLinkSource;
51
+ data?: unknown;
52
+ }>;
53
+ export type TLogViewPluginLineMetadata = Readonly<{
54
+ level?: TLogPluginSeverity;
55
+ markers?: readonly TLogViewPluginLineMarker[];
56
+ externalLinks?: readonly TLogViewPluginLineLink[];
57
+ data?: unknown;
58
+ }>;
59
+ export type TLogParsedOsc8Link = Readonly<{
60
+ href: string;
61
+ text: string;
62
+ startCell: number;
63
+ endCell: number;
64
+ }>;
65
+ export type TLogViewPluginParseLineContext = Readonly<{
66
+ lineIndex: number;
67
+ absoluteLineIndex: number;
68
+ lineKey: string | number;
69
+ text: string;
70
+ plainText: string;
71
+ osc8Links: readonly TLogParsedOsc8Link[];
72
+ }>;
73
+ export type TLogViewPluginDecorateSegmentsContext = Readonly<{
74
+ lineIndex: number;
75
+ absoluteLineIndex: number;
76
+ text: string;
77
+ plainText: string;
78
+ metadata: TLogViewPluginLineMetadata | null;
79
+ segments: readonly TLogPluginVisualSegment[];
80
+ }>;
81
+ export type TLogViewPluginIndexedLine = Readonly<{
82
+ lineIndex: number;
83
+ absoluteLineIndex: number;
84
+ lineKey: string | number;
85
+ text: string;
86
+ plainText: string;
87
+ osc8Links: readonly TLogParsedOsc8Link[];
88
+ externalLinks: readonly TLogViewExternalLink[];
89
+ results: readonly Readonly<{
90
+ pluginName: string;
91
+ metadata: TLogViewPluginLineMetadata;
92
+ }>[];
93
+ }>;
94
+ export type TLogViewPluginMarkerContext = Readonly<{
95
+ lines: readonly TLogViewPluginIndexedLine[];
96
+ currentMatchLineIndex: number | null;
97
+ totalVisualRows: number;
98
+ estimateVisualRow: (lineIndex: number) => number;
99
+ getMetadata: (line: TLogViewPluginIndexedLine, pluginName: string) => TLogViewPluginLineMetadata | null;
100
+ }>;
101
+ export type TLogViewPluginDensityContext = TLogViewPluginMarkerContext;
102
+ export type TLogViewPlugin = Readonly<{
103
+ name: string;
104
+ parseLine?: (ctx: TLogViewPluginParseLineContext) => TLogViewPluginLineMetadata | void;
105
+ decorateSegments?: (ctx: TLogViewPluginDecorateSegmentsContext) => readonly TLogPluginVisualSegment[] | void;
106
+ getMarkers?: (ctx: TLogViewPluginMarkerContext) => readonly TLogViewExternalMarker[] | void;
107
+ getDensityBuckets?: (ctx: TLogViewPluginDensityContext) => readonly TLogMinimapDensityBucket[] | void;
108
+ onLinkAction?: (action: TLogLinkAction) => void;
109
+ }>;
110
+ export type TLogLevelPluginOptions = Readonly<{
111
+ errorPattern?: RegExp;
112
+ warningPattern?: RegExp;
113
+ infoPattern?: RegExp;
114
+ includeInfo?: boolean;
115
+ bucketCount?: number;
116
+ }>;
117
+ export type TLogUrlPluginOptions = Readonly<{
118
+ pattern?: RegExp;
119
+ allowFileUrls?: boolean;
120
+ }>;
121
+ export declare function stripTLogAnsiText(text: string): string;
122
+ export declare function parseTLogAnnotatedText(text: string): Readonly<{
123
+ plainText: string;
124
+ osc8Links: readonly TLogParsedOsc8Link[];
125
+ }>;
126
+ export declare function detectTLogUrls(text: string, options?: TLogUrlPluginOptions): readonly TLogViewPluginLineLink[];
127
+ export declare function detectTLogLevel(text: string, options?: TLogLevelPluginOptions): TLogPluginSeverity | null;
128
+ export declare function createTLogDensityBucketsFromMarkers(markers: readonly TLogViewExternalMarker[], totalVisualRows: number, bucketCount?: number): readonly TLogMinimapDensityBucket[];
129
+ export declare function getTLogPluginMetadata(line: TLogViewPluginIndexedLine, pluginName: string): TLogViewPluginLineMetadata | null;
130
+ export declare function dispatchTLogPluginLinkAction(plugins: readonly TLogViewPlugin[] | undefined, action: TLogLinkAction): void;
131
+ export declare function createTLogLevelPlugin(options?: TLogLevelPluginOptions): TLogViewPlugin;
132
+ export declare function createTLogOsc8LinkPlugin(): TLogViewPlugin;
133
+ export declare function createTLogUrlPlugin(options?: TLogUrlPluginOptions): TLogViewPlugin;
134
+ export declare function createTLogLinkActionPlugin(options: {
135
+ name: string;
136
+ onAction: (action: TLogLinkAction) => void;
137
+ }): TLogViewPlugin;
138
+ export declare function toTLogExternalLinkFromVisibleLink(link: Pick<TLogViewVisibleLink, "href" | "text" | "absoluteLineIndex" | "index" | "startCell" | "endCell">, idPrefix?: string): TLogViewExternalLink;
139
+ export declare function createTLogLineMatcherPlugin(options: {
140
+ name: string;
141
+ pattern: RegExp | string;
142
+ severity?: TLogPluginSeverity;
143
+ label?: string;
144
+ }): TLogViewPlugin;