@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
package/dist/index.d.ts CHANGED
@@ -1,1528 +1,35 @@
1
- import { AnsiColorName, BufferSnapshot, Cell, Style, TERMINAL_RENDER_PLANES, Terminal, TerminalCommitEvent, TerminalEventMap, TerminalRenderPlane, TerminalRenderPlanes, TerminalResizeEvent, TerminalScrollOperation, ThemeModeId } from "./types-ClIV2h1o.js";
2
- import { TuiMarkdownTheme, TuiMarkdownThemeOverrides } from "./theme-Bsm65g8k.js";
3
- import * as vue15 from "vue";
4
- import * as vue16 from "vue";
5
- import { App, Component as Component$1, ComputedRef, InjectionKey, Ref, VNode } from "vue";
6
-
7
- //#region src/core/ansi/colors.d.ts
8
- type TerminalColorMode = "ansi8" | "ansi16" | "ansi256" | "truecolor";
9
- type TerminalColorLevel = 8 | 16 | 256;
10
- type AnsiRgb = Readonly<{
11
- r: number;
12
- g: number;
13
- b: number;
14
- }>;
15
- declare const SGR_RESET = "\u001B[0m";
16
- declare function truecolorFgOpen(rgb: AnsiRgb): string;
17
- declare function truecolorBgOpen(rgb: AnsiRgb): string;
18
- declare function rgbToAnsi256(rgb: AnsiRgb): number; //#endregion
19
- //#region src/ansi-styles.d.ts
20
- declare const ansiStyles: Readonly<{
21
- reset: Readonly<{
22
- open: string;
23
- close: string;
24
- }>;
25
- bold: Readonly<{
26
- open: string;
27
- close: string;
28
- }>;
29
- dim: Readonly<{
30
- open: string;
31
- close: string;
32
- }>;
33
- italic: Readonly<{
34
- open: string;
35
- close: string;
36
- }>;
37
- underline: Readonly<{
38
- open: string;
39
- close: string;
40
- }>;
41
- inverse: Readonly<{
42
- open: string;
43
- close: string;
44
- }>;
45
- black: Readonly<{
46
- open: string;
47
- close: string;
48
- }>;
49
- red: Readonly<{
50
- open: string;
51
- close: string;
52
- }>;
53
- green: Readonly<{
54
- open: string;
55
- close: string;
56
- }>;
57
- yellow: Readonly<{
58
- open: string;
59
- close: string;
60
- }>;
61
- blue: Readonly<{
62
- open: string;
63
- close: string;
64
- }>;
65
- magenta: Readonly<{
66
- open: string;
67
- close: string;
68
- }>;
69
- cyan: Readonly<{
70
- open: string;
71
- close: string;
72
- }>;
73
- white: Readonly<{
74
- open: string;
75
- close: string;
76
- }>;
77
- blackBright: Readonly<{
78
- open: string;
79
- close: string;
80
- }>;
81
- redBright: Readonly<{
82
- open: string;
83
- close: string;
84
- }>;
85
- greenBright: Readonly<{
86
- open: string;
87
- close: string;
88
- }>;
89
- yellowBright: Readonly<{
90
- open: string;
91
- close: string;
92
- }>;
93
- blueBright: Readonly<{
94
- open: string;
95
- close: string;
96
- }>;
97
- magentaBright: Readonly<{
98
- open: string;
99
- close: string;
100
- }>;
101
- cyanBright: Readonly<{
102
- open: string;
103
- close: string;
104
- }>;
105
- whiteBright: Readonly<{
106
- open: string;
107
- close: string;
108
- }>;
109
- bgBlack: Readonly<{
110
- open: string;
111
- close: string;
112
- }>;
113
- bgRed: Readonly<{
114
- open: string;
115
- close: string;
116
- }>;
117
- bgGreen: Readonly<{
118
- open: string;
119
- close: string;
120
- }>;
121
- bgYellow: Readonly<{
122
- open: string;
123
- close: string;
124
- }>;
125
- bgBlue: Readonly<{
126
- open: string;
127
- close: string;
128
- }>;
129
- bgMagenta: Readonly<{
130
- open: string;
131
- close: string;
132
- }>;
133
- bgCyan: Readonly<{
134
- open: string;
135
- close: string;
136
- }>;
137
- bgWhite: Readonly<{
138
- open: string;
139
- close: string;
140
- }>;
141
- bgBlackBright: Readonly<{
142
- open: string;
143
- close: string;
144
- }>;
145
- bgRedBright: Readonly<{
146
- open: string;
147
- close: string;
148
- }>;
149
- bgGreenBright: Readonly<{
150
- open: string;
151
- close: string;
152
- }>;
153
- bgYellowBright: Readonly<{
154
- open: string;
155
- close: string;
156
- }>;
157
- bgBlueBright: Readonly<{
158
- open: string;
159
- close: string;
160
- }>;
161
- bgMagentaBright: Readonly<{
162
- open: string;
163
- close: string;
164
- }>;
165
- bgCyanBright: Readonly<{
166
- open: string;
167
- close: string;
168
- }>;
169
- bgWhiteBright: Readonly<{
170
- open: string;
171
- close: string;
172
- }>;
173
- color: Readonly<{
174
- ansi256: (idx: number) => string;
175
- ansi16m: (r: number, g: number, b: number) => string;
176
- }>;
177
- bgColor: Readonly<{
178
- ansi256: (idx: number) => string;
179
- ansi16m: (r: number, g: number, b: number) => string;
180
- }>;
181
- }>;
182
- /**
183
- * Cached palettes for convenience.
184
- * Note: ANSI 0..15 are terminal-theme-dependent in many terminals; treat `rgb` as an approximation.
185
- */
186
- declare const ANSI8_COLORS: readonly Readonly<{
187
- level: TerminalColorLevel;
188
- index: number;
189
- name?: AnsiColorName;
190
- rgb: AnsiRgb;
191
- fgOpen: string;
192
- bgOpen: string;
193
- }>[];
194
- declare const ANSI16_COLORS: readonly Readonly<{
195
- level: TerminalColorLevel;
196
- index: number;
197
- name?: AnsiColorName;
198
- rgb: AnsiRgb;
199
- fgOpen: string;
200
- bgOpen: string;
201
- }>[];
202
- declare const ANSI256_COLORS: readonly Readonly<{
203
- level: TerminalColorLevel;
204
- index: number;
205
- name?: AnsiColorName;
206
- rgb: AnsiRgb;
207
- fgOpen: string;
208
- bgOpen: string;
209
- }>[];
210
- declare function ansiColors(level: 8 | 16 | 256): readonly Readonly<{
211
- level: TerminalColorLevel;
212
- index: number;
213
- name?: AnsiColorName;
214
- rgb: AnsiRgb;
215
- fgOpen: string;
216
- bgOpen: string;
217
- }>[]; //#endregion
218
- //#region src/events/recording.d.ts
219
- type TerminalEventRecord = Readonly<{
220
- type: "keydown" | "keyup";
221
- key: string;
222
- code?: string;
223
- ctrlKey?: boolean;
224
- shiftKey?: boolean;
225
- altKey?: boolean;
226
- metaKey?: boolean;
227
- repeat?: boolean;
228
- time?: number;
229
- }> | Readonly<{
230
- type: "pointerdown" | "pointerup" | "pointermove" | "click" | "dblclick" | "contextmenu";
231
- cellX: number;
232
- cellY: number;
233
- clientX?: number;
234
- clientY?: number;
235
- button?: number;
236
- buttons?: number;
237
- ctrlKey?: boolean;
238
- shiftKey?: boolean;
239
- altKey?: boolean;
240
- metaKey?: boolean;
241
- time?: number;
242
- }> | Readonly<{
243
- type: "wheel";
244
- cellX: number;
245
- cellY: number;
246
- clientX?: number;
247
- clientY?: number;
248
- deltaY: number;
249
- deltaMode?: number;
250
- ctrlKey?: boolean;
251
- shiftKey?: boolean;
252
- altKey?: boolean;
253
- metaKey?: boolean;
254
- time?: number;
255
- }> | Readonly<{
256
- type: "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste";
257
- data?: string;
258
- inputType?: string;
259
- isComposing?: boolean;
260
- text?: string;
261
- time?: number;
262
- }>;
263
-
264
- //#endregion
265
- //#region src/cli/input.d.ts
266
- type Stdin = NodeJS.ReadStream;
267
- type KeyboardProtocol = "auto" | "kitty" | "xterm" | "off";
268
- type StdinDriver = Readonly<{
269
- dispose: () => void;
270
- }>;
271
- declare function createStdinDriver(options: Readonly<{
272
- dispatch: (event: TerminalEventRecord) => boolean | void;
273
- stdin?: Stdin;
274
- stdout?: NodeJS.WriteStream;
275
- env?: Readonly<Record<string, unknown>>;
276
- enableMouse?: boolean;
277
- keyboardProtocol?: KeyboardProtocol;
278
- /**
279
- * Enable "any-motion" mouse tracking (xterm DECSET ?1003).
280
- * This is required for hover interactions in the CLI, but can increase event volume.
281
- */
282
- enableMouseMotion?: boolean;
283
- onTerminalFocusChange?: (focused: boolean) => void;
284
- onExit?: () => void;
285
- }>): StdinDriver;
286
-
287
- //#endregion
288
- //#region src/cli/path-suggest-core.d.ts
289
- type PathPickMode = "directory" | "file" | "any";
290
- type PathSuggestion = Readonly<{
291
- kind: "directory" | "file";
292
- display: string;
293
- completion: string;
294
- absPath: string;
295
- }>;
296
- type SuggestPathsResult = Readonly<{
297
- baseDirAbs: string;
298
- dirPrefix: string;
299
- query: string;
300
- suggestions: PathSuggestion[];
301
- }>;
302
-
303
- //#endregion
304
- //#region src/cli/path-provider.d.ts
305
- type FsEntryKind = "file" | "directory" | "other";
306
- type FsDirEntry = Readonly<{
307
- name: string;
308
- kind: FsEntryKind;
309
- }>;
310
- type FsStat = Readonly<{
311
- exists: boolean;
312
- kind: FsEntryKind;
313
- }>;
314
- type PathPickerProvider = Readonly<{
315
- listDir: (absDir: string) => Promise<FsDirEntry[]>;
316
- stat: (absPath: string) => Promise<FsStat>;
317
- suggest?: (info: Readonly<{
318
- workspaceAbs: string;
319
- input: string;
320
- mode: PathPickMode;
321
- max: number;
322
- showHidden?: boolean;
323
- maxDepth?: number;
324
- gitignore?: "blocking" | "nonBlocking";
325
- }>) => Promise<SuggestPathsResult>;
326
- resolvePath?: (workspaceAbs: string, input: string) => string | Promise<string>;
327
- }>;
328
- declare function createNodePathPickerProvider(): PathPickerProvider;
329
-
330
- //#endregion
331
- //#region src/cli/path-suggest.d.ts
332
- declare function suggestPaths(options: Readonly<{
333
- workspaceAbs: string;
334
- input: string;
335
- mode: PathPickMode;
336
- max: number;
337
- showHidden?: boolean;
338
- listDir: (absDir: string) => Promise<FsDirEntry[]>;
339
- maxDepth?: number;
340
- gitignore?: "blocking" | "nonBlocking";
341
- }>): Promise<SuggestPathsResult>;
342
- declare function resolveUserPath(workspaceAbs: string, input: string): string;
343
-
344
- //#endregion
345
- //#region src/cli/recording.d.ts
346
- declare function writeEventLog(path: string, events: readonly TerminalEventRecord[]): Promise<void>;
347
- declare function writeSnapshot(path: string, lines: readonly string[]): Promise<void>;
348
- declare function readEventLog(path: string): Promise<TerminalEventRecord[]>;
349
-
350
- //#endregion
351
- //#region src/core/ansi/capability.d.ts
352
- type TerminalColorCapability = Readonly<{
353
- mode: TerminalColorMode;
354
- level: TerminalColorLevel;
355
- }>;
356
- /**
357
- * Detect terminal output color capability.
358
- *
359
- * - `mode` is the best-effort actual output mode.
360
- * - `level` is the CLI theme tier (256/16/8). `truecolor` folds into `256`.
361
- * - Pass `platform` (e.g. `process.platform`) to improve Windows detection.
362
- *
363
- * Env overrides (prefer `DIMCODE_` but keep `VUE_TUI_*` for library consumers):
364
- * - `DIMCODE_COLOR_MODE` / `VUE_TUI_COLOR_MODE`
365
- */
366
- declare function detectTerminalColorCapability(opts?: Readonly<{
367
- env?: Record<string, unknown>;
368
- isTTY?: boolean;
369
- platform?: string;
370
- }>): TerminalColorCapability;
371
-
372
- //#endregion
373
- //#region src/core/ansi-palette.d.ts
374
- type ThemePalette = Partial<Record<AnsiColorName, string>>;
375
-
376
- //#endregion
377
- //#region src/core/ansi/sgr.d.ts
378
- interface AnsiSegment {
379
- text: string;
380
- style: Style;
381
- }
382
- declare function parseAnsiSgr(input: string, baseStyle?: Style): AnsiSegment[];
383
-
384
- //#endregion
385
- //#region src/core/buffer/width.d.ts
386
- declare function charCellWidth(text: string): 1 | 2;
387
-
388
- //#endregion
389
- //#region src/core/terminal/create-terminal.d.ts
390
- declare function createTerminal(opts: {
391
- cols: number;
392
- rows: number;
393
- }): Terminal;
394
-
395
- //#endregion
396
- //#region src/renderer/capabilities.d.ts
397
- type RendererCapabilities = Readonly<{
398
- syncFlush: boolean;
399
- scrollOperations: boolean;
400
- domRows: boolean;
401
- }>;
402
- type TerminalRendererLike = Readonly<{
403
- capabilities: RendererCapabilities;
404
- container?: HTMLElement;
405
- debugStats?: unknown;
406
- }>;
407
- declare const DOM_RENDERER_CAPABILITIES: RendererCapabilities;
408
- declare const HEADLESS_RENDERER_CAPABILITIES: RendererCapabilities;
409
-
410
- //#endregion
411
- //#region src/renderer/dom/dom-renderer.d.ts
412
- type CellMetrics = Readonly<{
413
- cellWidth: number;
414
- cellHeight: number;
415
- }>;
416
- type DomRendererSyncFlushDecision = Readonly<{
417
- performed: boolean;
418
- deferredReason?: "budget";
419
- rows: number;
420
- planes: number;
421
- cells: number;
422
- maxRows: number;
423
- maxCells: number;
424
- }>;
425
- type DomRendererSyncFlushStats = Readonly<{
426
- requested: number;
427
- performed: number;
428
- deferred: number;
429
- last: DomRendererSyncFlushDecision | null;
430
- }>;
431
- type DomRendererFlushSample = Readonly<{
432
- mode: "sync" | "deferred";
433
- startedAt: number;
434
- durationMs: number;
435
- planeRows: number;
436
- planes: number;
437
- }>;
438
- type DomRendererFlushStats = Readonly<{
439
- count: number;
440
- last: DomRendererFlushSample | null;
441
- }>;
442
- type DomRendererRowRenderStats = Readonly<{
443
- rows: number;
444
- cacheHits: number;
445
- rowKeyPrepassChecks: number;
446
- rowKeyPrepassHits: number;
447
- rowKeyPrepassMisses: number;
448
- transparentBlankRows: number;
449
- plainTextRows: number;
450
- singleStyledRows: number;
451
- segmentReuseRows: number;
452
- fragmentRows: number;
453
- spansCreated: number;
454
- spansReused: number;
455
- textNodeUpdates: number;
456
- replaceChildren: number;
457
- }>;
458
- type DomRendererRowRenderDebugStats = Readonly<{
459
- total: DomRendererRowRenderStats;
460
- lastFlush: DomRendererRowRenderStats | null;
461
- }>;
462
- type DomRendererRowKeyPrepassMode = boolean | "auto";
463
- type DomRendererRowKeyPrepassDecision = "forced-enabled" | "forced-disabled" | "sampling" | "enabled" | "disabled";
464
- type DomRendererRowKeyPrepassDebugStats = Readonly<{
465
- mode: DomRendererRowKeyPrepassMode;
466
- decision: DomRendererRowKeyPrepassDecision;
467
- sampleRows: number;
468
- sampleHits: number;
469
- sampleMisses: number;
470
- sampleHitRatio: number | null;
471
- lastSampleRows: number;
472
- lastSampleHitRatio: number | null;
473
- }>;
474
- type DomRendererDebugStats = Readonly<{
475
- syncFlush: DomRendererSyncFlushStats;
476
- flush: DomRendererFlushStats;
477
- rowRender: DomRendererRowRenderDebugStats;
478
- rowKeyPrepass: DomRendererRowKeyPrepassDebugStats;
479
- }>;
480
- interface DomRenderer {
481
- readonly container: HTMLElement;
482
- readonly capabilities: RendererCapabilities;
483
- readonly debugStats: DomRendererDebugStats;
484
- readonly metrics: CellMetrics;
485
- dispose: () => void;
486
- refresh: () => void;
487
- updateTheme: (next: Readonly<{
488
- palette?: ThemePalette | null;
489
- }>) => void;
490
- setPlaneOffset: (plane: TerminalRenderPlane, offsetPx: number) => void;
491
- setPlaneViewport: (plane: TerminalRenderPlane, viewport: Readonly<{
492
- topPx: number;
493
- heightPx: number;
494
- }> | null) => void;
495
- }
496
- interface DomRendererOptions {
497
- /**
498
- * Maximum dirty row count allowed for same-call DOM flush when commit({ sync: true }).
499
- * Larger updates are rAF-batched to avoid blocking the main thread.
500
- */
501
- syncFlushMaxRows?: number;
502
- /**
503
- * Maximum estimated cell work for sync DOM flush: dirtyRows * cols * activePlanes.
504
- */
505
- syncFlushCellBudget?: number;
506
- /**
507
- * Enables DOM line-node shifting for terminal scrollOperations.
508
- */
509
- enableScrollOperations?: boolean;
510
- /** Optional ANSI-name palette exposed as DOM CSS variables. */
511
- palette?: ThemePalette | null;
512
- /**
513
- * Controls a key-only early bailout before row segment allocation.
514
- * The normal row cache remains enabled regardless of this option.
515
- * Defaults to "auto": sample cached-row hit ratio and keep prepass enabled only
516
- * when it pays for itself.
517
- */
518
- enableRowKeyPrepass?: DomRendererRowKeyPrepassMode;
519
- }
520
- declare function createDomRenderer(terminal: Terminal, container: HTMLElement, options?: DomRendererOptions): DomRenderer;
521
-
522
- //#endregion
523
- //#region src/events/manager/types.d.ts
524
- type Rect = Readonly<{
525
- x: number;
526
- y: number;
527
- w: number;
528
- h: number;
529
- }>;
530
- type TerminalEventType = "click" | "dblclick" | "contextmenu" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerleave" | "wheel" | "keydown" | "keyup" | "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste" | "focus" | "blur";
531
- interface TerminalBaseEvent {
532
- type: TerminalEventType;
533
- target: TerminalNode | null;
534
- currentTarget: TerminalNode | null;
535
- eventPhase: 1 | 2 | 3;
536
- bubbles: boolean;
537
- cancelable: boolean;
538
- defaultPrevented: boolean;
539
- timeStamp: number;
540
- stopPropagation: () => void;
541
- preventDefault: () => void;
542
- composedPath: () => TerminalNode[];
543
- nativeEvent?: Event;
544
- }
545
- type TerminalPointerEvent = TerminalBaseEvent & {
546
- clientX: number;
547
- clientY: number;
548
- cellX: number;
549
- cellY: number;
550
- button?: number;
551
- buttons?: number;
552
- ctrlKey?: boolean;
553
- shiftKey?: boolean;
554
- altKey?: boolean;
555
- metaKey?: boolean;
556
- deltaY?: number;
557
- deltaMode?: number;
558
- };
559
- type TerminalKeyboardEvent = TerminalBaseEvent & {
560
- key: string;
561
- code: string;
562
- combo: string;
563
- ctrlKey?: boolean;
564
- shiftKey?: boolean;
565
- altKey?: boolean;
566
- metaKey?: boolean;
567
- repeat?: boolean;
568
- };
569
- type TerminalInputEvent = TerminalBaseEvent & {
570
- inputType?: string;
571
- data?: string;
572
- isComposing?: boolean;
573
- text?: string;
574
- };
575
- type TerminalEventHandlerMap = Partial<{
576
- clickCapture: (e: TerminalPointerEvent) => void;
577
- click: (e: TerminalPointerEvent) => void;
578
- dblclickCapture: (e: TerminalPointerEvent) => void;
579
- dblclick: (e: TerminalPointerEvent) => void;
580
- contextmenuCapture: (e: TerminalPointerEvent) => void;
581
- contextmenu: (e: TerminalPointerEvent) => void;
582
- pointerdownCapture: (e: TerminalPointerEvent) => void;
583
- pointerdown: (e: TerminalPointerEvent) => void;
584
- pointerupCapture: (e: TerminalPointerEvent) => void;
585
- pointerup: (e: TerminalPointerEvent) => void;
586
- pointermoveCapture: (e: TerminalPointerEvent) => void;
587
- pointermove: (e: TerminalPointerEvent) => void;
588
- pointerenterCapture: (e: TerminalPointerEvent) => void;
589
- pointerenter: (e: TerminalPointerEvent) => void;
590
- pointerleaveCapture: (e: TerminalPointerEvent) => void;
591
- pointerleave: (e: TerminalPointerEvent) => void;
592
- wheelCapture: (e: TerminalPointerEvent) => void;
593
- wheel: (e: TerminalPointerEvent) => void;
594
- keydownCapture: (e: TerminalKeyboardEvent) => void;
595
- keydown: (e: TerminalKeyboardEvent) => void;
596
- keyupCapture: (e: TerminalKeyboardEvent) => void;
597
- keyup: (e: TerminalKeyboardEvent) => void;
598
- beforeinputCapture: (e: TerminalInputEvent) => void;
599
- beforeinput: (e: TerminalInputEvent) => void;
600
- inputCapture: (e: TerminalInputEvent) => void;
601
- input: (e: TerminalInputEvent) => void;
602
- compositionstartCapture: (e: TerminalInputEvent) => void;
603
- compositionstart: (e: TerminalInputEvent) => void;
604
- compositionupdateCapture: (e: TerminalInputEvent) => void;
605
- compositionupdate: (e: TerminalInputEvent) => void;
606
- compositionendCapture: (e: TerminalInputEvent) => void;
607
- compositionend: (e: TerminalInputEvent) => void;
608
- pasteCapture: (e: TerminalInputEvent) => void;
609
- paste: (e: TerminalInputEvent) => void;
610
- focusCapture: (e: TerminalBaseEvent) => void;
611
- focus: (e: TerminalBaseEvent) => void;
612
- blurCapture: (e: TerminalBaseEvent) => void;
613
- blur: (e: TerminalBaseEvent) => void;
614
- }>;
615
- interface TerminalNode {
616
- id: string;
617
- rect: Rect;
618
- zIndex: number;
619
- visible?: boolean;
620
- focusable?: boolean;
621
- selectable?: boolean;
622
- handlers: TerminalEventHandlerMap;
623
- }
624
- type TerminalDebugNode = Readonly<{
625
- id: string;
626
- rect: Rect;
627
- zIndex: number;
628
- visible: boolean;
629
- focusable: boolean;
630
- }>;
631
-
632
- //#endregion
633
- //#region src/events/manager/cli-event-manager.d.ts
634
- interface CliEventManager {
635
- register: (node: Omit<TerminalNode, "id"> & {
636
- id?: string;
637
- }) => TerminalNode;
638
- update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
639
- unregister: (id: string) => void;
640
- setMetrics: (next: CellMetrics) => void;
641
- focus: (id: string | null) => void;
642
- getFocused: () => string | null;
643
- dispatch: (event: TerminalEventRecord) => boolean;
644
- debugNodes: () => TerminalDebugNode[];
645
- dispose: () => void;
646
- }
647
- declare function createCliEventManager(options?: Readonly<{
648
- record?: (event: TerminalEventRecord) => void;
649
- onFocusChange?: (prev: string | null, next: string | null) => void;
650
- }>): CliEventManager;
651
-
652
- //#endregion
653
- //#region src/events/manager/event-manager.d.ts
654
- interface EventManager {
655
- register: (node: Omit<TerminalNode, "id"> & {
656
- id?: string;
657
- }) => TerminalNode;
658
- update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
659
- unregister: (id: string) => void;
660
- setMetrics: (next: CellMetrics) => void;
661
- focus: (id: string | null) => void;
662
- getFocused: () => string | null;
663
- debugNodes: () => TerminalDebugNode[];
664
- dispose: () => void;
665
- }
666
- declare function createEventManager(container: HTMLElement, metrics: CellMetrics, options?: Readonly<{
667
- record?: (event: TerminalEventRecord) => void;
668
- textInputTarget?: HTMLElement | null;
669
- debugIme?: boolean;
670
- onFocusChange?: (prev: string | null, next: string | null) => void;
671
- }>): EventManager;
672
-
673
- //#endregion
674
- //#region src/renderer/cli/stdout-renderer.d.ts
675
- type CliOutput = Readonly<{
676
- write: (chunk: string) => unknown;
677
- isTTY?: boolean;
678
- }>;
679
- type StdoutRenderer = Readonly<{
680
- render: () => void;
681
- dispose: () => void;
682
- /** Move terminal cursor to specified cell position for IME input */
683
- setCursor: (x: number, y: number) => void;
684
- /** Show or hide the terminal cursor */
685
- showCursor: (visible: boolean) => void;
686
- /** Update default background without recreating the renderer. */
687
- updateTheme?: (next: Readonly<{
688
- defaultBg?: string | null;
689
- palette?: ThemePalette | null;
690
- }>) => void;
691
- }>;
692
- type StdoutColorMode = "auto" | "truecolor" | "ansi256" | "ansi16" | "ansi8";
693
- declare function createStdoutRenderer(terminal: Terminal, options?: Readonly<{
694
- output?: CliOutput;
695
- clear?: boolean;
696
- hideCursor?: boolean;
697
- altScreen?: boolean;
698
- /** Fallback background color when a cell has no explicit bg. `null` = transparent (terminal default). */
699
- defaultBg?: string | null;
700
- /** Optional ANSI-name palette used when emitting ansi256/truecolor sequences. */
701
- palette?: ThemePalette | null;
702
- /** Track TTY resize events (process.stdout 'resize') and call terminal.resize(). */
703
- trackResize?: boolean;
704
- /** Color mode for ANSI output (auto detects truecolor via env). */
705
- colorMode?: StdoutColorMode;
706
- /** Optional function to get IME cursor position, included in render output for atomic write */
707
- getImeAnchor?: () => {
708
- cellX: number;
709
- cellY: number;
710
- } | null;
711
- /** Use DEC 2026 synchronized output mode (default: false for compatibility) */
712
- useSyncOutput?: boolean;
713
- }>): StdoutRenderer;
714
-
715
- //#endregion
716
- //#region src/observability/trace.d.ts
717
- type TraceRecord = Readonly<{
718
- type: "event";
719
- at: number;
720
- event: TerminalEventRecord;
721
- }> | Readonly<{
722
- type: "focus";
723
- at: number;
724
- prev: string | null;
725
- next: string | null;
726
- }> | Readonly<{
727
- type: "commit";
728
- at: number;
729
- dirtyRows: readonly number[] | null;
730
- planes: TerminalRenderPlanes | null;
731
- sync?: boolean;
732
- rendererSyncFlush?: DomRendererSyncFlushDecision | null;
733
- focusedId: string | null;
734
- }>;
735
- type TraceStore = Readonly<{
736
- enabled: Ref<boolean>;
737
- records: TraceRecord[];
738
- push: (record: TraceRecord) => void;
739
- clear: () => void;
740
- snapshot: () => TraceRecord[];
741
- }>;
742
- declare function createTraceStore(opts?: Readonly<{
743
- enabled?: boolean;
744
- max?: number;
745
- }>): TraceStore;
746
-
747
- //#endregion
748
- //#region src/observability/frame-perf.d.ts
749
- type FramePerfReason = "scroll" | "input" | "stream" | "resize" | "data" | "manual" | "unknown";
750
- type FramePerfRowBucketFallback = Readonly<{
751
- plane: string;
752
- reason: "dirty-ratio" | "candidate-ratio";
753
- dirtyRows: number;
754
- planeNodes: number;
755
- candidates?: number;
756
- }>;
757
- type FramePerfMailboxFailure = Readonly<{
758
- id: string;
759
- queued: number;
760
- dropped: number;
761
- }>;
762
- type FramePerfSample = Readonly<{
763
- frameId: number;
764
- reason: FramePerfReason;
765
- startedAt: number;
766
- durationMs: number;
767
- renderManagerMs: number;
768
- commitMs: number;
769
- domFlushMs?: number;
770
- stdoutFlushMs?: number;
771
- dirtyRows: number | null;
772
- activePlanes: readonly string[] | null;
773
- scannedNodes: number;
774
- paintedNodes: number;
775
- rowBucketFallbacks?: readonly FramePerfRowBucketFallback[];
776
- coalescedInvalidates: number;
777
- frameTaskCount: number;
778
- coalescedFrameTasks: number;
779
- frameTaskQueueDepthBeforeRun: number;
780
- frameTaskQueueDepthAfterRun: number;
781
- remainingFrameTasks: number;
782
- droppedUpdates: number;
783
- mailboxFailure?: FramePerfMailboxFailure;
784
- queueDepth: number;
785
- liveReasons?: readonly string[];
786
- }>;
787
- declare function framePerfNow(): number;
788
-
789
- //#endregion
790
- //#region src/observability/frame-perf-store.d.ts
791
- type FramePerfStore = Readonly<{
792
- enabled: Ref<boolean>;
793
- acquire: (reason?: string) => () => void;
794
- push: (sample: FramePerfSample) => void;
795
- latest: () => FramePerfSample | null;
796
- list: () => FramePerfSample[];
797
- clear: () => void;
798
- }>;
799
- declare function createFramePerfStore(limit?: number, opts?: Readonly<{
800
- enabled?: boolean;
801
- }>): FramePerfStore;
802
-
803
- //#endregion
804
- //#region src/vue/render/render-manager.d.ts
805
- type RenderRect = Readonly<{
806
- x: number;
807
- y: number;
808
- w: number;
809
- h: number;
810
- }>;
811
- type RenderStack = Readonly<{
812
- id: string;
813
- parent: RenderStack | null;
814
- zIndex: number;
815
- order: number;
816
- }>;
817
- type RenderNode = Readonly<{
818
- id: string;
819
- stack: RenderStack;
820
- plane: TerminalRenderPlane;
821
- zIndex: number;
822
- order: number;
823
- rect: RenderRect | null;
824
- rectY0: number;
825
- rectY1: number;
826
- /**
827
- * dirtyRows are absolute terminal rows for this node's plane.
828
- * Components must ignore rows outside their rect.
829
- */
830
- paint: (dirtyRows?: readonly number[]) => void;
831
- }>;
832
- type RenderManager = Readonly<{
833
- rootStack: RenderStack;
834
- createStack: (parent: RenderStack, zIndex: number) => RenderStack;
835
- invalidatePlane: (plane: TerminalRenderPlane) => void;
836
- /**
837
- * Dangerous escape hatch: shifts whole terminal rows for the target plane, not a
838
- * component-local region. Only call when the active renderer consumes terminal
839
- * scrollOperations or when the caller repaints the whole affected viewport.
840
- */
841
- unsafeScrollPlaneRows: (plane: TerminalRenderPlane, startY: number, endY: number, delta: number) => void;
842
- register: (node: {
843
- stack: RenderStack;
844
- plane?: TerminalRenderPlane;
845
- zIndex?: number;
846
- rect?: RenderRect | null;
847
- paint: (dirtyRows?: readonly number[]) => void;
848
- }) => RenderNode;
849
- update: (id: string, next: Partial<{
850
- stack: RenderStack;
851
- plane: TerminalRenderPlane;
852
- zIndex: number;
853
- rect: RenderRect | null;
854
- /**
855
- * Consumed synchronously during update() and must not be retained.
856
- * Callers may pass scratch arrays for hot-path invalidation.
857
- * Rows are absolute terminal Y coordinates for the node's plane.
858
- */
859
- dirtyRowsHint: readonly number[];
860
- paint: (dirtyRows?: readonly number[]) => void;
861
- }>) => void;
862
- /**
863
- * Hot-path dirty row marker for stable nodes. Consumed synchronously and does
864
- * not replace the RenderNode object.
865
- *
866
- * rows are absolute terminal Y coordinates, not local component row offsets.
867
- * For rect-bound nodes, rows outside the node rect are ignored.
868
- */
869
- markDirtyRows: (id: string, rows: readonly number[]) => boolean;
870
- unregister: (id: string) => void;
871
- render: (options?: {
872
- activePlanes?: TerminalRenderPlanes | null;
873
- }) => RenderStats | null;
874
- }>;
875
- type RowBucketFallback = Readonly<{
876
- plane: TerminalRenderPlane;
877
- reason: "dirty-ratio" | "candidate-ratio";
878
- dirtyRows: number;
879
- planeNodes: number;
880
- candidates?: number;
881
- }>;
882
- type RenderStats = Readonly<{
883
- rows: number;
884
- scannedNodes: number;
885
- paintedNodes: number;
886
- candidatePlanes: readonly TerminalRenderPlane[];
887
- rowBucketFallbacks?: readonly RowBucketFallback[];
888
- }>;
889
-
890
- //#endregion
891
- //#region src/vue/context.d.ts
892
- interface LayoutContext {
893
- originX: number;
894
- originY: number;
895
- clipRect: Rect | null;
896
- }
897
- type TerminalSchedulerPriority = "high" | "normal" | "low";
898
- type TerminalSchedulerInvalidateOptions = Readonly<{
899
- priority?: TerminalSchedulerPriority;
900
- plane?: TerminalRenderPlane;
901
- reason?: FramePerfReason;
902
- }>;
903
- type TerminalFrameTaskPriority = "high" | "normal" | "low";
904
- type TerminalFrameContext = Readonly<{
905
- frameId: number;
906
- startedAt: number;
907
- now: () => number;
908
- budgetMs: number;
909
- remainingMs: () => number;
910
- requestMore: () => void;
911
- invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
912
- /**
913
- * Internal scheduler metric hook used by frame tasks/mailboxes to report
914
- * dropped producer updates that were intentionally coalesced before paint.
915
- *
916
- * Compatibility note:
917
- * TerminalFrameContext is an exported type, so additions here are public.
918
- */
919
- reportDroppedUpdates?: (count: number) => void;
920
- reportMailboxDeliveryAttempt?: (attempt: {
921
- id: string;
922
- queued: number;
923
- dropped: number;
924
- }) => void;
925
- }>;
926
- type TerminalFrameTask = Readonly<{
927
- id?: string;
928
- reason?: FramePerfReason;
929
- priority?: TerminalFrameTaskPriority;
930
- sync?: boolean;
931
- run: (ctx: TerminalFrameContext) => void;
932
- }>;
933
- type TerminalSchedulerConfig = Readonly<{
934
- targetFps?: number;
935
- maxFps?: number;
936
- frameBudgetMs?: number;
937
- }>;
938
- type TerminalScheduler = Readonly<{
939
- invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
940
- flush: () => void;
941
- /**
942
- * Flushes render-manager work and requests a sync terminal commit immediately.
943
- * DOM row updates may still defer to rAF when they exceed the renderer sync budget.
944
- */
945
- flushNow: () => void;
946
- configure: (options: TerminalSchedulerConfig) => void;
947
- /**
948
- * Queues a frame task for the next scheduler frame.
949
- * false means the scheduler explicitly rejected the task; producers must clear
950
- * local pending state. true or undefined means accepted so legacy schedulers
951
- * that do not return a value remain valid.
952
- */
953
- queueFrameTask: (task: TerminalFrameTask) => boolean | void;
954
- /**
955
- * Best-effort cancellation for a pending id task.
956
- * If the scheduler has already taken the task for the current frame,
957
- * the task run() still needs to guard its own stale state.
958
- */
959
- cancelFrameTask?: (id: string) => boolean | void;
960
- requestLive: (reason: string) => () => void;
961
- dropLive: (reason: string) => void;
962
- isInsideFrame: () => boolean;
963
- }>;
964
- type TerminalRuntimeHandle = Readonly<{
965
- update: (props: Record<string, unknown>) => void;
966
- move: (x: number, y: number) => void;
967
- unmount: () => void;
968
- }>;
969
- type TerminalRuntime = Readonly<{
970
- mount: (component: Component$1, props: Record<string, unknown>, options?: Readonly<{
971
- plane?: TerminalRenderPlane;
972
- }>) => TerminalRuntimeHandle;
973
- }>;
974
- type ImeAnchor = Readonly<{
975
- cellX: number;
976
- cellY: number;
977
- ownerId?: string;
978
- }>;
979
- type TerminalContext = Readonly<{
980
- terminal: Terminal;
981
- renderer: Ref<TerminalRendererLike | null>;
982
- rendererCapabilities: Ref<RendererCapabilities>;
983
- events: Ref<EventManager | null>;
984
- scheduler: TerminalScheduler;
985
- runtime: TerminalRuntime;
986
- observability: Readonly<{
987
- trace: TraceStore;
988
- framePerf: FramePerfStore;
989
- }>;
990
- defaultStyle: Ref<Style>;
991
- render: RenderManager;
992
- }>;
993
- declare const TInputPluginsContextKey: InjectionKey<Readonly<Ref<readonly TInputPlugin[]>>>;
994
-
995
- //#endregion
996
- //#region src/vue/components/input/host.d.ts
997
- type ResolveTInputPathInfo = Readonly<{
998
- workspace: string;
999
- input: string;
1000
- preserveBackslash?: boolean;
1001
- homeDir?: string;
1002
- }>;
1003
- type TInputHostAdapter = Readonly<{
1004
- isTerminalLike?: boolean;
1005
- resolvePath?: (info: ResolveTInputPathInfo) => string;
1006
- pathToHref?: (pathLike: string) => string | undefined;
1007
- readClipboardText?: () => Promise<string>;
1008
- writeClipboardText?: (text: string) => Promise<boolean>;
1009
- showToast?: (message: string) => void;
1010
- }>;
1011
-
1012
- //#endregion
1013
- //#region src/vue/components/input/plugins/types.d.ts
1014
- type PromptSuggestion = Readonly<{
1015
- value: string;
1016
- insert?: string;
1017
- label?: string;
1018
- detail?: string;
1019
- keywords?: readonly string[];
1020
- mentionValue?: string;
1021
- mentionBehavior?: "collect" | "inline";
1022
- onSelect?: (info: Readonly<{
1023
- value: string;
1024
- query: string;
1025
- }>) => void | boolean;
1026
- }>;
1027
- type TInputPluginContext = Readonly<{
1028
- getProps: () => Readonly<{
1029
- zIndex: number;
1030
- style?: Style;
1031
- promptSuggestions: readonly PromptSuggestion[];
1032
- promptTrigger: string;
1033
- promptTriggers?: readonly string[];
1034
- promptMaxItems: number;
1035
- promptAlign: "input" | "center";
1036
- promptSelectedStyle?: Style;
1037
- promptPopupStyle?: Style;
1038
- promptPopupBorderStyle?: Style;
1039
- promptPopupMatchStyle?: Style;
1040
- mentionTrigger: string;
1041
- mentionWorkspace: string;
1042
- mentionMode: PathPickMode;
1043
- mentionShowHidden: boolean;
1044
- mentionSuggestions: readonly PromptSuggestion[];
1045
- mentionMaxItems: number;
1046
- mentionChipStyle?: Style;
1047
- collectMentions: boolean;
1048
- mentions: readonly string[];
1049
- skillTrigger?: string;
1050
- skillSuggestions?: readonly PromptSuggestion[];
1051
- }>;
1052
- emit: (event: string, ...args: any[]) => void;
1053
- terminal: Terminal;
1054
- scheduler: TerminalScheduler;
1055
- defaultStyle: Ref<Style>;
1056
- render: Readonly<{
1057
- rootStack: any;
1058
- createStack: (parent: any, z: number) => any;
1059
- invalidatePlane: (plane: TerminalRenderPlane) => void;
1060
- }>;
1061
- visible: Ref<boolean>;
1062
- rawAbsRect: ComputedRef<Rect>;
1063
- eventZ: ComputedRef<number>;
1064
- focused: Ref<boolean>;
1065
- cursor: Ref<number>;
1066
- getValue: () => string;
1067
- insertText: (text: string) => void;
1068
- pushUndoSnapshot: (nextValue: string) => void;
1069
- applyEdit: (nextValue: string, nextCursor: number) => void;
1070
- registerKeydownInterceptor: (fn: (e: TerminalKeyboardEvent) => boolean) => void;
1071
- registerTextFilter: (fn: (info: Readonly<{
1072
- text: string;
1073
- value: string;
1074
- cursor: number;
1075
- selection: null | Readonly<{
1076
- start: number;
1077
- end: number;
1078
- }>;
1079
- }>) => string) => void;
1080
- registerChipStyleProvider: (provider: Readonly<{
1081
- getStyle: (baseStyle: Style, chip: Readonly<{
1082
- kind: "multiline" | "mention";
1083
- absPath?: string;
1084
- }>) => Style | null | undefined;
1085
- version: Ref<number>;
1086
- }> | null) => void;
1087
- registerHostAdapter: (adapter: TInputHostAdapter | null) => void;
1088
- resolvePath: (input: string, opts?: Readonly<{
1089
- preserveBackslash?: boolean;
1090
- }>) => string;
1091
- mentionToken: string;
1092
- }>;
1093
- type TInputPlugin = Readonly<{
1094
- name: string;
1095
- install: (ctx: TInputPluginContext) => void;
1096
- }>;
1097
-
1098
- //#endregion
1099
- //#region src/create-terminal-app.d.ts
1100
- type TerminalApp = Readonly<{
1101
- app: App;
1102
- terminal: Terminal;
1103
- events: CliEventManager;
1104
- scheduler: TerminalScheduler;
1105
- defaultStyle: Ref<Style>;
1106
- /** Returns the current IME anchor position (cursor position in cell coordinates), or null if no input is focused */
1107
- getImeAnchor: () => ImeAnchor | null;
1108
- mount: () => void;
1109
- dispose: () => void;
1110
- }>;
1111
- type CreateTerminalAppOptions = Readonly<{
1112
- cols: number;
1113
- rows: number;
1114
- component: Component$1;
1115
- props?: Record<string, unknown>;
1116
- defaultStyle?: Style;
1117
- inputPlugins?: readonly TInputPlugin[];
1118
- pathPickerProvider?: PathPickerProvider;
1119
- }>;
1120
- declare function createTerminalApp(options: CreateTerminalAppOptions): TerminalApp;
1121
-
1122
- //#endregion
1123
- //#region src/observability/cli-latency.d.ts
1124
- type StageEvent = Readonly<Record<string, unknown>> & {
1125
- type?: unknown;
1126
- key?: unknown;
1127
- code?: unknown;
1128
- };
1129
- type CliLatencyProfiler = Readonly<{
1130
- enabled: true;
1131
- recordRawInput: (info?: Readonly<{
1132
- bytes?: number;
1133
- }>) => void;
1134
- recordStdinDispatch: (event: StageEvent, info?: Readonly<{
1135
- parser?: string | null;
1136
- }>) => void;
1137
- recordEventDispatchStart: (event: StageEvent) => void;
1138
- recordEventDispatchEnd: (event: StageEvent, info: Readonly<{
1139
- defaultPrevented: boolean;
1140
- }>) => void;
1141
- recordSchedulerInvalidate: (info?: Readonly<{
1142
- priority?: string | null;
1143
- plane?: string | null;
1144
- }>) => void;
1145
- recordFlushStart: (info?: Readonly<{
1146
- sync?: boolean;
1147
- activePlanes?: readonly string[] | null;
1148
- }>) => void;
1149
- recordFlushEnd: () => void;
1150
- recordCommit: (info?: Readonly<{
1151
- sync?: boolean;
1152
- dirtyRows?: readonly number[] | null;
1153
- planes?: readonly string[] | null;
1154
- }>) => void;
1155
- recordStdoutQueued: (delayMs: number) => void;
1156
- recordStdoutRenderStart: () => void;
1157
- recordStdoutNoOutput: () => void;
1158
- recordStdoutWrite: (info: Readonly<{
1159
- durationMs: number;
1160
- bytes: number;
1161
- mode: string;
1162
- }>) => void;
1163
- markOperation: (operation: string) => void;
1164
- }>;
1165
- declare function getCliLatencyProfiler(): CliLatencyProfiler | null;
1166
-
1167
- //#endregion
1168
- //#region src/renderer/cli/stdout-metrics.d.ts
1169
- type StdoutRendererWriteMode = "stream" | "sync" | "chunked";
1170
- interface StdoutRendererMetrics {
1171
- lastFrameAt: number;
1172
- lastFrameBytes: number;
1173
- lastWriteMs: number;
1174
- writeEmaMs: number;
1175
- writeMode: StdoutRendererWriteMode;
1176
- fps: number;
1177
- bytesPerSec: number;
1178
- }
1179
- declare function getStdoutRendererMetrics(): StdoutRendererMetrics;
1180
-
1181
- //#endregion
1182
- //#region src/runtime/index.d.ts
1183
- type RuntimeEnv = "browser" | "terminal" | "unknown";
1184
- type TimerApi = Readonly<{
1185
- setTimeout: typeof setTimeout;
1186
- clearTimeout: typeof clearTimeout;
1187
- setInterval: typeof setInterval;
1188
- clearInterval: typeof clearInterval;
1189
- }>;
1190
- type RafApi = Readonly<{
1191
- request: (cb: FrameRequestCallback) => number;
1192
- cancel: (id: number) => void;
1193
- }>;
1194
- type ClipboardApi = Readonly<{
1195
- supported: boolean;
1196
- readText: () => Promise<string>;
1197
- writeText: (text: string) => Promise<void>;
1198
- }>;
1199
- type Runtime = Readonly<{
1200
- env: Readonly<{
1201
- kind: RuntimeEnv;
1202
- isBrowser: boolean;
1203
- isTerminal: boolean;
1204
- }>;
1205
- now: () => number;
1206
- timer: TimerApi;
1207
- raf: RafApi;
1208
- clipboard: ClipboardApi;
1209
- getWindow: () => Window | null;
1210
- getDocument: () => Document | null;
1211
- measureText: (text: string, opts?: Readonly<{
1212
- font?: string;
1213
- }>) => number | null;
1214
- }>;
1215
- declare function createRuntime(kind?: RuntimeEnv): Runtime;
1216
-
1217
- //#endregion
1218
- //#region src/utils/newlines.d.ts
1219
- declare function normalizeNewlines(text: string): string;
1220
-
1221
- //#endregion
1222
- //#region src/vue/components/input/plugins/hostPlugin.d.ts
1223
- declare function createTInputHostPlugin(adapterOrFactory: TInputHostAdapter | (() => TInputHostAdapter)): TInputPlugin;
1224
- declare function createDefaultTInputHostAdapter(): TInputHostAdapter;
1225
- declare const defaultTInputHostPlugin: Readonly<{
1226
- name: string;
1227
- install: (ctx: TInputPluginContext) => void;
1228
- }>;
1229
-
1230
- //#endregion
1231
- //#region src/vue/components/input/plugins/promptMentionState.d.ts
1232
- type PromptSuggestion$1 = Readonly<{
1233
- value: string;
1234
- insert?: string;
1235
- label?: string;
1236
- detail?: string;
1237
- keywords?: readonly string[];
1238
- mentionValue?: string;
1239
- mentionBehavior?: "collect" | "inline";
1240
- onSelect?: (info: Readonly<{
1241
- value: string;
1242
- query: string;
1243
- }>) => void | boolean;
1244
- }>;
1245
- type MentionSuggestionProvider = (info: Readonly<{
1246
- query: string;
1247
- tokenText: string;
1248
- trigger: string;
1249
- workspace: string;
1250
- maxItems: number;
1251
- }>) => readonly PromptSuggestion$1[] | Promise<readonly PromptSuggestion$1[]>;
1252
- type MentionPathProvider = Readonly<{
1253
- stat?: (absPath: string) => FsEntryKind | null | undefined | Promise<FsEntryKind | null | undefined>;
1254
- suggest?: (info: Readonly<{
1255
- workspaceAbs: string;
1256
- input: string;
1257
- mode: PathPickMode;
1258
- max: number;
1259
- showHidden: boolean;
1260
- maxDepth: number;
1261
- }>) => readonly PathSuggestion[] | Promise<readonly PathSuggestion[]>;
1262
- }>;
1263
-
1264
- //#endregion
1265
- //#region src/vue/components/input/plugins/nodeMentionPathProvider.d.ts
1266
- declare function createNodeMentionPathProvider(): MentionPathProvider;
1267
-
1268
- //#endregion
1269
- //#region src/vue/components/input/plugins/promptMentionPlugin.d.ts
1270
- type PromptMentionPluginOptions = Readonly<{
1271
- mentionSuggestionProviders?: readonly MentionSuggestionProvider[];
1272
- mentionPathProvider?: MentionPathProvider;
1273
- }>;
1274
- declare function createPromptMentionPlugin(options?: PromptMentionPluginOptions): TInputPlugin;
1275
-
1276
- //#endregion
1277
- //#region src/vue/components/input/plugins/restrictText.d.ts
1278
- type TextRestrictionRule = Readonly<{
1279
- allowChars: RegExp;
1280
- } | {
1281
- denyChars: RegExp;
1282
- } | {
1283
- replace: Readonly<{
1284
- from: RegExp;
1285
- to: string;
1286
- }>;
1287
- } | {
1288
- allow: RegExp;
1289
- } | {
1290
- filter: (info: Readonly<{
1291
- text: string;
1292
- value: string;
1293
- cursor: number;
1294
- selection: null | Readonly<{
1295
- start: number;
1296
- end: number;
1297
- }>;
1298
- }>) => string;
1299
- }>;
1300
- declare function createTextRestrictionPlugin(options: Readonly<{
1301
- name?: string;
1302
- rules: readonly TextRestrictionRule[];
1303
- }>): TInputPlugin;
1304
-
1305
- //#endregion
1306
- //#region src/vue/components/TAnchor.d.ts
1307
- declare const TAnchor: any;
1308
-
1309
- //#endregion
1310
- //#region src/vue/components/TBox.d.ts
1311
- declare const TBox: any;
1312
-
1313
- //#endregion
1314
- //#region src/vue/components/TDebugOverlay.d.ts
1315
- declare const TDebugOverlay: any;
1316
-
1317
- //#endregion
1318
- //#region src/vue/components/TDialog.d.ts
1319
- declare const TDialog: any;
1320
-
1321
- //#endregion
1322
- //#region src/vue/components/TerminalProvider.d.ts
1323
- declare const TerminalProvider: any;
1324
-
1325
- //#endregion
1326
- //#region src/vue/components/TFlow.d.ts
1327
- declare const TFlow: any;
1328
-
1329
- //#endregion
1330
- //#region src/vue/components/TInput.d.ts
1331
- declare const TInput: any;
1332
-
1333
- //#endregion
1334
- //#region src/vue/components/TInputBox.d.ts
1335
- declare const TInputBox: any;
1336
-
1337
- //#endregion
1338
- //#region src/vue/components/TJsonEditor.d.ts
1339
- type JsonLintStatus = Readonly<{
1340
- state: "idle" | "success" | "error";
1341
- message?: string;
1342
- line?: number;
1343
- column?: number;
1344
- }>;
1345
- declare function lintJsonText(input: string): JsonLintStatus;
1346
- declare const TJsonEditor: any;
1347
-
1348
- //#endregion
1349
- //#region src/vue/components/TList.d.ts
1350
- declare const TList: any;
1351
-
1352
- //#endregion
1353
- //#region src/vue/components/TMultilineModal.d.ts
1354
- declare const TMultilineModal: any;
1355
-
1356
- //#endregion
1357
- //#region src/vue/components/TPathPicker.d.ts
1358
- declare const TPathPicker: any;
1359
-
1360
- //#endregion
1361
- //#region src/vue/components/TRenderLayer.d.ts
1362
- declare const TRenderLayer: any;
1363
-
1364
- //#endregion
1365
- //#region src/vue/components/TRenderPlane.d.ts
1366
- declare const TRenderPlane: any;
1367
-
1368
- //#endregion
1369
- //#region src/vue/components/TSelect.d.ts
1370
- declare const TSelect: any;
1371
-
1372
- //#endregion
1373
- //#region src/vue/components/TText.d.ts
1374
- declare const TText: any;
1375
-
1376
- //#endregion
1377
- //#region src/vue/components/TTransition.d.ts
1378
- declare const TTransition: any;
1379
-
1380
- //#endregion
1381
- //#region src/vue/components/TView.d.ts
1382
- declare const TView: any;
1383
-
1384
- //#endregion
1385
- //#region src/vue/composables/use-layout.d.ts
1386
- declare function useLayout(): LayoutContext;
1387
-
1388
- //#endregion
1389
- //#region src/vue/composables/use-render-node.d.ts
1390
- interface RenderNodeOptions {
1391
- zIndex?: number;
1392
- stack?: RenderStack;
1393
- rect?: RenderRect | null;
1394
- /**
1395
- * One-shot absolute terminal rows for row-local content changes on this node's plane only.
1396
- * Omit this when geometry, z-order, style, data identity, or paint semantics changed.
1397
- */
1398
- dirtyRowsHint?: readonly number[];
1399
- priority?: TerminalSchedulerPriority;
1400
- deps?: unknown;
1401
- paint: (dirtyRows?: readonly number[]) => void;
1402
- }
1403
- declare function useRenderNode(getOptions: () => RenderNodeOptions): {
1404
- id: Ref<string | null>;
1405
- };
1406
-
1407
- //#endregion
1408
- //#region src/vue/composables/use-runtime.d.ts
1409
- declare function useTerminalRuntime(): Readonly<{
1410
- mount: (component: Component, props: Record<string, unknown>, options?: Readonly<{
1411
- plane?: TerminalRenderPlane;
1412
- }>) => TerminalRuntimeHandle;
1413
- }>;
1414
-
1415
- //#endregion
1416
- //#region src/vue/composables/use-terminal-node.d.ts
1417
- interface TerminalNodeOptions {
1418
- rect: Rect;
1419
- zIndex?: number;
1420
- visible?: boolean;
1421
- focusable?: boolean;
1422
- selectable?: boolean;
1423
- handlers?: TerminalEventHandlerMap;
1424
- }
1425
- declare function useTerminalNode(getOptions: () => TerminalNodeOptions): {
1426
- id: Ref<string | null>;
1427
- };
1428
-
1429
- //#endregion
1430
- //#region src/vue/composables/use-terminal.d.ts
1431
- declare function useTerminal(): TerminalContext;
1432
-
1433
- //#endregion
1434
- //#region src/vue/composables/use-visibility.d.ts
1435
- type VisibilityRootProps = Readonly<{
1436
- style: Readonly<Record<string, string | number>>;
1437
- onVnodeBeforeMount: (vnode: VNode) => void;
1438
- onVnodeBeforeUnmount: (vnode: VNode) => void;
1439
- }>;
1440
- declare function useVisibility(options?: {
1441
- provide?: boolean;
1442
- }): Readonly<{
1443
- visible: ComputedRef<boolean>;
1444
- rootProps: VisibilityRootProps;
1445
- }>;
1446
-
1447
- //#endregion
1448
- //#region src/vue/router/types.d.ts
1449
- type TerminalRoute = Readonly<{
1450
- name: string;
1451
- params?: Readonly<Record<string, string>>;
1452
- meta?: unknown;
1453
- }>;
1454
- type TerminalRouteRecord = Readonly<{
1455
- name: string;
1456
- component: Component$1;
1457
- meta?: unknown;
1458
- onEnter?: (to: TerminalRoute, from: TerminalRoute | null) => void | Promise<void>;
1459
- onLeave?: (to: TerminalRoute, from: TerminalRoute | null) => void | Promise<void>;
1460
- }>;
1461
- type TerminalRouteLocationRaw = string | Readonly<{
1462
- name: string;
1463
- params?: Record<string, string>;
1464
- }>;
1465
- type NavigationGuardReturn = void | boolean | TerminalRouteLocationRaw;
1466
- type NavigationGuard = (to: TerminalRoute, from: TerminalRoute | null) => NavigationGuardReturn | Promise<NavigationGuardReturn>;
1467
- type TerminalRouter = Readonly<{
1468
- currentRoute: vue15.Ref<TerminalRoute>;
1469
- push: (to: TerminalRouteLocationRaw) => Promise<void>;
1470
- replace: (to: TerminalRouteLocationRaw) => Promise<void>;
1471
- back: () => Promise<void>;
1472
- beforeEach: (guard: NavigationGuard) => () => void;
1473
- beforeResolve: (guard: NavigationGuard) => () => void;
1474
- afterEach: (guard: (to: TerminalRoute, from: TerminalRoute | null) => void) => () => void;
1475
- install: (app: vue16.App) => void;
1476
- }>;
1477
-
1478
- //#endregion
1479
- //#region src/vue/router/composables.d.ts
1480
- declare function useRouter(): TerminalRouter;
1481
- declare function useRoute(): ComputedRef<TerminalRoute>;
1482
-
1483
- //#endregion
1484
- //#region src/vue/router/router.d.ts
1485
- declare function createTerminalRouter(options: Readonly<{
1486
- routes: readonly TerminalRouteRecord[];
1487
- initialRoute: TerminalRouteLocationRaw;
1488
- }>): TerminalRouter;
1489
-
1490
- //#endregion
1491
- //#region src/vue/router/RouterView.d.ts
1492
- declare const TRouterView: any;
1493
-
1494
- //#endregion
1495
- //#region src/vue/utils/text.d.ts
1496
- declare function sanitizeInlineText(text: string): string;
1497
- declare function sanitizeTextBlock(text: string): string;
1498
- declare function textCellWidth(text: string): number;
1499
- declare function spaces(count: number): string;
1500
- declare function sliceByCells(text: string, maxCells: number): string;
1501
- declare function sliceByCellsRange(text: string, startCells: number, endCells: number): string;
1502
- declare function padEndByCells(text: string, width: number): string;
1503
- declare function formatInlineCellLine(text: string, width: number): string;
1504
- declare function clearTextCaches(): void;
1505
- declare function wrapByCells(text: string, width: number): readonly string[];
1506
-
1507
- //#endregion
1508
- //#region src/vue/utils/wheel-scroll.d.ts
1509
- interface WheelScrollState {
1510
- accumulator: number;
1511
- lastAt: number;
1512
- lastEdgeDir: number;
1513
- lastEdgeAt: number;
1514
- }
1515
- interface WheelScrollResult {
1516
- nextTop: number;
1517
- dir: -1 | 0 | 1;
1518
- lines: number;
1519
- }
1520
- type WheelDeltaMode = "auto" | "line" | "pixel";
1521
- interface WheelScrollOptions {
1522
- disableAcceleration?: boolean;
1523
- }
1524
- declare function createWheelScrollState(): WheelScrollState;
1525
- declare function applyWheelScroll(state: WheelScrollState, deltaY: number, scrollTop: number, maxTop: number, now?: number, deltaMode?: WheelDeltaMode, options?: WheelScrollOptions): WheelScrollResult;
1526
-
1527
- //#endregion
1528
- export { ANSI16_COLORS, ANSI256_COLORS, ANSI8_COLORS, AnsiColorName, BufferSnapshot, Cell, CellMetrics, CliEventManager, ClipboardApi, CreateTerminalAppOptions, DOM_RENDERER_CAPABILITIES, DomRenderer, DomRendererDebugStats, DomRendererFlushSample, DomRendererFlushStats, DomRendererOptions, DomRendererRowKeyPrepassDebugStats, DomRendererRowKeyPrepassDecision, DomRendererRowKeyPrepassMode, DomRendererRowRenderDebugStats, DomRendererRowRenderStats, DomRendererSyncFlushDecision, DomRendererSyncFlushStats, EventManager, FramePerfReason, FramePerfRowBucketFallback, FramePerfSample, FramePerfStore, FsDirEntry, FsEntryKind, FsStat, HEADLESS_RENDERER_CAPABILITIES, LayoutContext, MentionPathProvider, MentionSuggestionProvider, PathPickMode, PathPickerProvider, PathSuggestion, PromptMentionPluginOptions, PromptSuggestion, RafApi, Rect, RendererCapabilities, Runtime, RuntimeEnv, SGR_RESET, StdinDriver, StdoutRenderer, StdoutRendererMetrics, Style, SuggestPathsResult, TAnchor, TBox, TDebugOverlay, TDialog, TERMINAL_RENDER_PLANES, TFlow, TInput, TInputBox, TInputHostAdapter, TInputPlugin, TInputPluginContext, TInputPluginsContextKey, TJsonEditor, TList, TMultilineModal, TPathPicker, TRenderLayer, TRenderPlane, TRouterView, TSelect, TText, TTransition, TView, Terminal, TerminalApp, TerminalBaseEvent, TerminalColorCapability, TerminalColorLevel, TerminalColorMode, TerminalCommitEvent, TerminalContext, TerminalDebugNode, TerminalEventHandlerMap, TerminalEventMap, TerminalEventRecord, TerminalEventType, TerminalFrameContext, TerminalFrameTask, TerminalFrameTaskPriority, TerminalInputEvent, TerminalKeyboardEvent, TerminalNode, TerminalPointerEvent, TerminalProvider, TerminalRenderPlane, TerminalRenderPlanes, TerminalRendererLike, TerminalResizeEvent, TerminalRoute, TerminalRouteLocationRaw, TerminalRouteRecord, TerminalRouter, TerminalRuntime, TerminalRuntimeHandle, TerminalScheduler, TerminalSchedulerConfig, TerminalSchedulerInvalidateOptions, TerminalScrollOperation, ThemeModeId, ThemePalette, TimerApi, TraceRecord, TraceStore, TuiMarkdownTheme, TuiMarkdownThemeOverrides, ansiColors, ansiStyles, applyWheelScroll, charCellWidth, clearTextCaches, createCliEventManager, createDefaultTInputHostAdapter, createDomRenderer, createEventManager, createFramePerfStore, createNodeMentionPathProvider, createNodePathPickerProvider, createPromptMentionPlugin, createRuntime, createStdinDriver, createStdoutRenderer, createTInputHostPlugin, createTerminal, createTerminalApp, createTerminalRouter, createTextRestrictionPlugin, createTraceStore, createWheelScrollState, defaultTInputHostPlugin, detectTerminalColorCapability, formatInlineCellLine, framePerfNow, getCliLatencyProfiler, getStdoutRendererMetrics, lintJsonText, normalizeNewlines, padEndByCells, parseAnsiSgr, readEventLog, resolveUserPath, rgbToAnsi256, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, suggestPaths, textCellWidth, truecolorBgOpen, truecolorFgOpen, useLayout, useRenderNode, useRoute, useRouter, useTerminal, useTerminalNode, useTerminalRuntime, useVisibility, wrapByCells, writeEventLog, writeSnapshot };
1
+ export { createTerminal } from "./core/index.js";
2
+ export type { BuiltinWidthProvider, Cell, CellWidth, Style, Terminal, TerminalOptions, WidthProvider, } from "./core/index.js";
3
+ export { createDomRenderer } from "./renderer/dom/dom-renderer.js";
4
+ export { createTheme, tuiDefaultTheme } from "./vue/theme.js";
5
+ export type { TuiTheme, TuiThemeColorTokens, TuiThemeComponentTokens, TuiThemeOverrides, } from "./vue/theme.js";
6
+ export { TerminalProvider } from "./vue/components/TerminalProvider.js";
7
+ export { TBox } from "./vue/components/TBox.js";
8
+ export { computeCommandPaletteMatchRanges, TCommandPalette, } from "./vue/components/TCommandPalette.js";
9
+ export type { TCommandPaletteItem, TCommandPaletteItemsProvider, TCommandPaletteLoadErrorPayload, TCommandPaletteMatcher, TCommandPaletteMatcherResult, TCommandPaletteMatchRange, TCommandPaletteSelectPayload, } from "./vue/components/TCommandPalette.js";
10
+ export { TDataTable } from "./vue/components/TDataTable.js";
11
+ export type { TDataTableFilterPredicate, TDataTableSortChangePayload, TDataTableSortDirection, TDataTableRowSelectPayload, TDataTableSelectionMode, TDataTableSorter, } from "./vue/components/TDataTable.js";
12
+ export { TDialog } from "./vue/components/TDialog.js";
13
+ export type { DialogButton } from "./vue/components/TDialog.js";
14
+ export { TBadge, TCode, TDivider, TTag } from "./vue/components/TFeedback.js";
15
+ export type { TFeedbackTone } from "./vue/components/TFeedback.js";
16
+ export { TAutocompleteInput, TCheckbox, TFormField, TPasswordInput, TRadioGroup, TSlider, TSwitch, } from "./vue/components/TForm.js";
17
+ export type { TAutocompleteLoadErrorPayload, TAutocompleteOption, TAutocompleteSelectPayload, TAutocompleteSuggestionProvider, TRadioOption, } from "./vue/components/TForm.js";
18
+ export { TInput } from "./vue/components/TInput.js";
19
+ export type { TInputHostAdapter } from "./vue/components/input/host.js";
20
+ export { createTInputHostPlugin } from "./vue/components/input/plugins/hostPlugin.js";
21
+ export { TList } from "./vue/components/TList.js";
22
+ export { TLink } from "./vue/components/TLink.js";
23
+ export { TLinkifyText } from "./vue/components/TLinkifyText.js";
24
+ export type { TLinkActivatePayload, TLinkActivationSource, TLinkInvalidHrefPayload, TLinkModifierClick, TLinkOpenMode, TLinkOpenPayload, } from "./vue/components/TLink.js";
25
+ export type { TerminalLinkOpenContext, TerminalLinkOpener, TerminalLinkOpenerLike, TerminalLinkOpenSource, } from "./vue/components/link/host.js";
26
+ export { linkifyTextSegments } from "./vue/linkify.js";
27
+ export type { TLinkifyOptions, TLinkifyProtocol, TLinkifySegment } from "./vue/linkify.js";
28
+ export { TSelect } from "./vue/components/TSelect.js";
29
+ export type { SelectOption, SelectOptionWithStyle, TSelectMultipleChangePayload, TSelectMultipleEmitMode, TSelectModelValue, TSelectOptionProvider, TSelectValueMode, } from "./vue/components/TSelect.js";
30
+ export { TTable } from "./vue/components/TTable.js";
31
+ export type { TTableColumn, TTableHeaderClickPayload, TTableRow, TTableRowClickPayload, TTableRowKeydownPayload, } from "./vue/components/TTable.js";
32
+ export { TText } from "./vue/components/TText.js";
33
+ export { TTree } from "./vue/components/TTree.js";
34
+ export type { TTreeNode, TTreeSelectPayload, TTreeTogglePayload } from "./vue/components/TTree.js";
35
+ export { TView } from "./vue/components/TView.js";