@deepseek-harness-tui/dsh-tui 0.5.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 (638) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/bin/dsh-tui.js +95 -0
  4. package/cordis.patch.yml +218 -0
  5. package/cordis.yml +185 -0
  6. package/lib/invariant.js +28 -0
  7. package/lib/types/activityPrefs.d.ts +29 -0
  8. package/lib/types/activityPrefs.d.ts.map +1 -0
  9. package/lib/types/activityPrefs.js +60 -0
  10. package/lib/types/bootstrap/state.d.ts +13 -0
  11. package/lib/types/bootstrap/state.d.ts.map +1 -0
  12. package/lib/types/bootstrap/state.js +12 -0
  13. package/lib/types/cc/cliHighlight.d.ts +20 -0
  14. package/lib/types/cc/cliHighlight.d.ts.map +1 -0
  15. package/lib/types/cc/cliHighlight.js +53 -0
  16. package/lib/types/cc/figures.d.ts +59 -0
  17. package/lib/types/cc/figures.d.ts.map +1 -0
  18. package/lib/types/cc/figures.js +69 -0
  19. package/lib/types/cc/format.d.ts +26 -0
  20. package/lib/types/cc/format.d.ts.map +1 -0
  21. package/lib/types/cc/format.js +55 -0
  22. package/lib/types/cc/hash.d.ts +25 -0
  23. package/lib/types/cc/hash.d.ts.map +1 -0
  24. package/lib/types/cc/hash.js +41 -0
  25. package/lib/types/cc/hyperlink.d.ts +21 -0
  26. package/lib/types/cc/hyperlink.d.ts.map +1 -0
  27. package/lib/types/cc/hyperlink.js +31 -0
  28. package/lib/types/cc/markdown.d.ts +43 -0
  29. package/lib/types/cc/markdown.d.ts.map +1 -0
  30. package/lib/types/cc/markdown.js +345 -0
  31. package/lib/types/cc/spinnerVerbs.d.ts +3 -0
  32. package/lib/types/cc/spinnerVerbs.d.ts.map +1 -0
  33. package/lib/types/cc/spinnerVerbs.js +190 -0
  34. package/lib/types/cc/terminal.d.ts +15 -0
  35. package/lib/types/cc/terminal.d.ts.map +1 -0
  36. package/lib/types/cc/terminal.js +84 -0
  37. package/lib/types/channel.d.ts +672 -0
  38. package/lib/types/channel.d.ts.map +1 -0
  39. package/lib/types/channel.js +2427 -0
  40. package/lib/types/childStderr.d.ts +63 -0
  41. package/lib/types/childStderr.d.ts.map +1 -0
  42. package/lib/types/childStderr.js +161 -0
  43. package/lib/types/commands.d.ts +55 -0
  44. package/lib/types/commands.d.ts.map +1 -0
  45. package/lib/types/commands.js +101 -0
  46. package/lib/types/components/ActivityLine.d.ts +29 -0
  47. package/lib/types/components/ActivityLine.d.ts.map +1 -0
  48. package/lib/types/components/ActivityLine.js +47 -0
  49. package/lib/types/components/ActivityPicker.d.ts +13 -0
  50. package/lib/types/components/ActivityPicker.d.ts.map +1 -0
  51. package/lib/types/components/ActivityPicker.js +24 -0
  52. package/lib/types/components/CommandSuggestions.d.ts +14 -0
  53. package/lib/types/components/CommandSuggestions.d.ts.map +1 -0
  54. package/lib/types/components/CommandSuggestions.js +33 -0
  55. package/lib/types/components/FileSuggestions.d.ts +12 -0
  56. package/lib/types/components/FileSuggestions.d.ts.map +1 -0
  57. package/lib/types/components/FileSuggestions.js +26 -0
  58. package/lib/types/components/GoalTodoPanel.d.ts +13 -0
  59. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -0
  60. package/lib/types/components/GoalTodoPanel.js +57 -0
  61. package/lib/types/components/HelpMenu.d.ts +12 -0
  62. package/lib/types/components/HelpMenu.d.ts.map +1 -0
  63. package/lib/types/components/HelpMenu.js +12 -0
  64. package/lib/types/components/HistorySearchDialog.d.ts +16 -0
  65. package/lib/types/components/HistorySearchDialog.d.ts.map +1 -0
  66. package/lib/types/components/HistorySearchDialog.js +31 -0
  67. package/lib/types/components/InterruptedByUser.d.ts +7 -0
  68. package/lib/types/components/InterruptedByUser.d.ts.map +1 -0
  69. package/lib/types/components/InterruptedByUser.js +9 -0
  70. package/lib/types/components/LoadedContextPanel.d.ts +20 -0
  71. package/lib/types/components/LoadedContextPanel.d.ts.map +1 -0
  72. package/lib/types/components/LoadedContextPanel.js +30 -0
  73. package/lib/types/components/LogoV2.d.ts +23 -0
  74. package/lib/types/components/LogoV2.d.ts.map +1 -0
  75. package/lib/types/components/LogoV2.js +95 -0
  76. package/lib/types/components/Markdown.d.ts +24 -0
  77. package/lib/types/components/Markdown.d.ts.map +1 -0
  78. package/lib/types/components/Markdown.js +106 -0
  79. package/lib/types/components/MarkdownTable.d.ts +17 -0
  80. package/lib/types/components/MarkdownTable.d.ts.map +1 -0
  81. package/lib/types/components/MarkdownTable.js +272 -0
  82. package/lib/types/components/MessageList.d.ts +41 -0
  83. package/lib/types/components/MessageList.d.ts.map +1 -0
  84. package/lib/types/components/MessageList.js +303 -0
  85. package/lib/types/components/ModelPicker.d.ts +14 -0
  86. package/lib/types/components/ModelPicker.d.ts.map +1 -0
  87. package/lib/types/components/ModelPicker.js +15 -0
  88. package/lib/types/components/PresetPicker.d.ts +17 -0
  89. package/lib/types/components/PresetPicker.d.ts.map +1 -0
  90. package/lib/types/components/PresetPicker.js +25 -0
  91. package/lib/types/components/PromptInput.d.ts +67 -0
  92. package/lib/types/components/PromptInput.d.ts.map +1 -0
  93. package/lib/types/components/PromptInput.js +778 -0
  94. package/lib/types/components/ResumePicker.d.ts +15 -0
  95. package/lib/types/components/ResumePicker.d.ts.map +1 -0
  96. package/lib/types/components/ResumePicker.js +34 -0
  97. package/lib/types/components/RewindPicker.d.ts +14 -0
  98. package/lib/types/components/RewindPicker.d.ts.map +1 -0
  99. package/lib/types/components/RewindPicker.js +23 -0
  100. package/lib/types/components/SearchBox.d.ts +20 -0
  101. package/lib/types/components/SearchBox.d.ts.map +1 -0
  102. package/lib/types/components/SearchBox.js +33 -0
  103. package/lib/types/components/Select.d.ts +22 -0
  104. package/lib/types/components/Select.d.ts.map +1 -0
  105. package/lib/types/components/Select.js +19 -0
  106. package/lib/types/components/Spinner/GlimmerMessage.d.ts +19 -0
  107. package/lib/types/components/Spinner/GlimmerMessage.d.ts.map +1 -0
  108. package/lib/types/components/Spinner/GlimmerMessage.js +78 -0
  109. package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts +31 -0
  110. package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts.map +1 -0
  111. package/lib/types/components/Spinner/SpinnerAnimationRow.js +162 -0
  112. package/lib/types/components/Spinner/SpinnerGlyph.d.ts +16 -0
  113. package/lib/types/components/Spinner/SpinnerGlyph.d.ts.map +1 -0
  114. package/lib/types/components/Spinner/SpinnerGlyph.js +36 -0
  115. package/lib/types/components/Spinner/spinnerMode.d.ts +6 -0
  116. package/lib/types/components/Spinner/spinnerMode.d.ts.map +1 -0
  117. package/lib/types/components/Spinner/spinnerMode.js +1 -0
  118. package/lib/types/components/Spinner/spinnerUtils.d.ts +41 -0
  119. package/lib/types/components/Spinner/spinnerUtils.d.ts.map +1 -0
  120. package/lib/types/components/Spinner/spinnerUtils.js +104 -0
  121. package/lib/types/components/Spinner/useStalledAnimation.d.ts +16 -0
  122. package/lib/types/components/Spinner/useStalledAnimation.d.ts.map +1 -0
  123. package/lib/types/components/Spinner/useStalledAnimation.js +71 -0
  124. package/lib/types/components/StreamingMarkdown.d.ts +12 -0
  125. package/lib/types/components/StreamingMarkdown.d.ts.map +1 -0
  126. package/lib/types/components/StreamingMarkdown.js +39 -0
  127. package/lib/types/components/ThemePicker.d.ts +22 -0
  128. package/lib/types/components/ThemePicker.d.ts.map +1 -0
  129. package/lib/types/components/ThemePicker.js +51 -0
  130. package/lib/types/components/ThinkingToggle.d.ts +17 -0
  131. package/lib/types/components/ThinkingToggle.d.ts.map +1 -0
  132. package/lib/types/components/ThinkingToggle.js +30 -0
  133. package/lib/types/components/ToolUseLoader.d.ts +13 -0
  134. package/lib/types/components/ToolUseLoader.d.ts.map +1 -0
  135. package/lib/types/components/ToolUseLoader.js +17 -0
  136. package/lib/types/components/Whale.d.ts +22 -0
  137. package/lib/types/components/Whale.d.ts.map +1 -0
  138. package/lib/types/components/Whale.js +78 -0
  139. package/lib/types/components/WorkingSpinner.d.ts +26 -0
  140. package/lib/types/components/WorkingSpinner.d.ts.map +1 -0
  141. package/lib/types/components/WorkingSpinner.js +68 -0
  142. package/lib/types/components/activityFrames.d.ts +31 -0
  143. package/lib/types/components/activityFrames.d.ts.map +1 -0
  144. package/lib/types/components/activityFrames.js +83 -0
  145. package/lib/types/components/bigfont.d.ts +28 -0
  146. package/lib/types/components/bigfont.d.ts.map +1 -0
  147. package/lib/types/components/bigfont.js +91 -0
  148. package/lib/types/components/design-system/Byline.d.ts +14 -0
  149. package/lib/types/components/design-system/Byline.d.ts.map +1 -0
  150. package/lib/types/components/design-system/Byline.js +17 -0
  151. package/lib/types/components/design-system/Divider.d.ts +40 -0
  152. package/lib/types/components/design-system/Divider.d.ts.map +1 -0
  153. package/lib/types/components/design-system/Divider.js +24 -0
  154. package/lib/types/components/design-system/KeyboardShortcutHint.d.ts +19 -0
  155. package/lib/types/components/design-system/KeyboardShortcutHint.d.ts.map +1 -0
  156. package/lib/types/components/design-system/KeyboardShortcutHint.js +14 -0
  157. package/lib/types/components/design-system/ListItem.d.ts +36 -0
  158. package/lib/types/components/design-system/ListItem.d.ts.map +1 -0
  159. package/lib/types/components/design-system/ListItem.js +48 -0
  160. package/lib/types/components/design-system/LoadingState.d.ts +19 -0
  161. package/lib/types/components/design-system/LoadingState.d.ts.map +1 -0
  162. package/lib/types/components/design-system/LoadingState.js +22 -0
  163. package/lib/types/components/design-system/Pane.d.ts +17 -0
  164. package/lib/types/components/design-system/Pane.d.ts.map +1 -0
  165. package/lib/types/components/design-system/Pane.js +15 -0
  166. package/lib/types/components/design-system/ProgressBar.d.ts +22 -0
  167. package/lib/types/components/design-system/ProgressBar.d.ts.map +1 -0
  168. package/lib/types/components/design-system/ProgressBar.js +27 -0
  169. package/lib/types/components/design-system/StatusIcon.d.ts +15 -0
  170. package/lib/types/components/design-system/StatusIcon.d.ts.map +1 -0
  171. package/lib/types/components/design-system/StatusIcon.js +20 -0
  172. package/lib/types/components/design-system/ThemeProvider.d.ts +11 -0
  173. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -0
  174. package/lib/types/components/design-system/ThemeProvider.js +135 -0
  175. package/lib/types/components/design-system/ThemedBox.d.ts +37 -0
  176. package/lib/types/components/design-system/ThemedBox.d.ts.map +1 -0
  177. package/lib/types/components/design-system/ThemedBox.js +26 -0
  178. package/lib/types/components/design-system/ThemedText.d.ts +56 -0
  179. package/lib/types/components/design-system/ThemedText.d.ts.map +1 -0
  180. package/lib/types/components/design-system/ThemedText.js +45 -0
  181. package/lib/types/components/messages/AssistantTextMessage.d.ts +18 -0
  182. package/lib/types/components/messages/AssistantTextMessage.d.ts.map +1 -0
  183. package/lib/types/components/messages/AssistantTextMessage.js +15 -0
  184. package/lib/types/components/messages/AssistantThinkingMessage.d.ts +23 -0
  185. package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -0
  186. package/lib/types/components/messages/AssistantThinkingMessage.js +23 -0
  187. package/lib/types/components/messages/AssistantToolUseMessage.d.ts +23 -0
  188. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -0
  189. package/lib/types/components/messages/AssistantToolUseMessage.js +220 -0
  190. package/lib/types/components/messages/MessageMetadata.d.ts +15 -0
  191. package/lib/types/components/messages/MessageMetadata.d.ts.map +1 -0
  192. package/lib/types/components/messages/MessageMetadata.js +20 -0
  193. package/lib/types/components/messages/UserPromptMessage.d.ts +19 -0
  194. package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -0
  195. package/lib/types/components/messages/UserPromptMessage.js +15 -0
  196. package/lib/types/components/questions/AskUserQuestionPanel.d.ts +39 -0
  197. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -0
  198. package/lib/types/components/questions/AskUserQuestionPanel.js +228 -0
  199. package/lib/types/components/shimmer.d.ts +35 -0
  200. package/lib/types/components/shimmer.d.ts.map +1 -0
  201. package/lib/types/components/shimmer.js +43 -0
  202. package/lib/types/components/whaleFrames.d.ts +25 -0
  203. package/lib/types/components/whaleFrames.d.ts.map +1 -0
  204. package/lib/types/components/whaleFrames.js +419 -0
  205. package/lib/types/customTheme.d.ts +104 -0
  206. package/lib/types/customTheme.d.ts.map +1 -0
  207. package/lib/types/customTheme.js +268 -0
  208. package/lib/types/effortPrefs.d.ts +22 -0
  209. package/lib/types/effortPrefs.d.ts.map +1 -0
  210. package/lib/types/effortPrefs.js +45 -0
  211. package/lib/types/history.d.ts +24 -0
  212. package/lib/types/history.d.ts.map +1 -0
  213. package/lib/types/history.js +75 -0
  214. package/lib/types/hooks/useBlink.d.ts +11 -0
  215. package/lib/types/hooks/useBlink.d.ts.map +1 -0
  216. package/lib/types/hooks/useBlink.js +20 -0
  217. package/lib/types/i18n.d.ts +926 -0
  218. package/lib/types/i18n.d.ts.map +1 -0
  219. package/lib/types/i18n.js +356 -0
  220. package/lib/types/index.d.ts +70 -0
  221. package/lib/types/index.d.ts.map +1 -0
  222. package/lib/types/index.js +31 -0
  223. package/lib/types/ink/Ansi.d.ts +11 -0
  224. package/lib/types/ink/Ansi.d.ts.map +1 -0
  225. package/lib/types/ink/Ansi.js +269 -0
  226. package/lib/types/ink/bidi.d.ts +18 -0
  227. package/lib/types/ink/bidi.d.ts.map +1 -0
  228. package/lib/types/ink/bidi.js +119 -0
  229. package/lib/types/ink/clearTerminal.d.ts +22 -0
  230. package/lib/types/ink/clearTerminal.d.ts.map +1 -0
  231. package/lib/types/ink/clearTerminal.js +72 -0
  232. package/lib/types/ink/colorize.d.ts +33 -0
  233. package/lib/types/ink/colorize.d.ts.map +1 -0
  234. package/lib/types/ink/colorize.js +213 -0
  235. package/lib/types/ink/components/AlternateScreen.d.ts +22 -0
  236. package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -0
  237. package/lib/types/ink/components/AlternateScreen.js +74 -0
  238. package/lib/types/ink/components/App.d.ts +73 -0
  239. package/lib/types/ink/components/App.d.ts.map +1 -0
  240. package/lib/types/ink/components/App.js +597 -0
  241. package/lib/types/ink/components/AppContext.d.ts +15 -0
  242. package/lib/types/ink/components/AppContext.d.ts.map +1 -0
  243. package/lib/types/ink/components/AppContext.js +11 -0
  244. package/lib/types/ink/components/Box.d.ts +49 -0
  245. package/lib/types/ink/components/Box.d.ts.map +1 -0
  246. package/lib/types/ink/components/Box.js +153 -0
  247. package/lib/types/ink/components/Button.d.ts +37 -0
  248. package/lib/types/ink/components/Button.d.ts.map +1 -0
  249. package/lib/types/ink/components/Button.js +166 -0
  250. package/lib/types/ink/components/ClockContext.d.ts +10 -0
  251. package/lib/types/ink/components/ClockContext.d.ts.map +1 -0
  252. package/lib/types/ink/components/ClockContext.js +108 -0
  253. package/lib/types/ink/components/CursorDeclarationContext.d.ts +30 -0
  254. package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -0
  255. package/lib/types/ink/components/CursorDeclarationContext.js +6 -0
  256. package/lib/types/ink/components/ErrorOverview.d.ts +7 -0
  257. package/lib/types/ink/components/ErrorOverview.d.ts.map +1 -0
  258. package/lib/types/ink/components/ErrorOverview.js +49 -0
  259. package/lib/types/ink/components/Link.d.ts +8 -0
  260. package/lib/types/ink/components/Link.d.ts.map +1 -0
  261. package/lib/types/ink/components/Link.js +33 -0
  262. package/lib/types/ink/components/Newline.d.ts +13 -0
  263. package/lib/types/ink/components/Newline.d.ts.map +1 -0
  264. package/lib/types/ink/components/Newline.js +29 -0
  265. package/lib/types/ink/components/NoSelect.d.ts +20 -0
  266. package/lib/types/ink/components/NoSelect.d.ts.map +1 -0
  267. package/lib/types/ink/components/NoSelect.js +56 -0
  268. package/lib/types/ink/components/RawAnsi.d.ts +17 -0
  269. package/lib/types/ink/components/RawAnsi.d.ts.map +1 -0
  270. package/lib/types/ink/components/RawAnsi.js +45 -0
  271. package/lib/types/ink/components/ScrollBox.d.ts +78 -0
  272. package/lib/types/ink/components/ScrollBox.d.ts.map +1 -0
  273. package/lib/types/ink/components/ScrollBox.js +174 -0
  274. package/lib/types/ink/components/Spacer.d.ts +6 -0
  275. package/lib/types/ink/components/Spacer.d.ts.map +1 -0
  276. package/lib/types/ink/components/Spacer.js +19 -0
  277. package/lib/types/ink/components/StdinContext.d.ts +32 -0
  278. package/lib/types/ink/components/StdinContext.d.ts.map +1 -0
  279. package/lib/types/ink/components/StdinContext.js +16 -0
  280. package/lib/types/ink/components/TerminalFocusContext.d.ts +11 -0
  281. package/lib/types/ink/components/TerminalFocusContext.d.ts.map +1 -0
  282. package/lib/types/ink/components/TerminalFocusContext.js +45 -0
  283. package/lib/types/ink/components/TerminalSizeContext.d.ts +6 -0
  284. package/lib/types/ink/components/TerminalSizeContext.d.ts.map +1 -0
  285. package/lib/types/ink/components/TerminalSizeContext.js +3 -0
  286. package/lib/types/ink/components/Text.d.ts +56 -0
  287. package/lib/types/ink/components/Text.d.ts.map +1 -0
  288. package/lib/types/ink/components/Text.js +194 -0
  289. package/lib/types/ink/constants.d.ts +3 -0
  290. package/lib/types/ink/constants.d.ts.map +1 -0
  291. package/lib/types/ink/constants.js +2 -0
  292. package/lib/types/ink/cursor.d.ts +11 -0
  293. package/lib/types/ink/cursor.d.ts.map +1 -0
  294. package/lib/types/ink/cursor.js +1 -0
  295. package/lib/types/ink/devtools.d.ts +7 -0
  296. package/lib/types/ink/devtools.d.ts.map +1 -0
  297. package/lib/types/ink/devtools.js +1 -0
  298. package/lib/types/ink/dom.d.ts +178 -0
  299. package/lib/types/ink/dom.d.ts.map +1 -0
  300. package/lib/types/ink/dom.js +424 -0
  301. package/lib/types/ink/events/click-event.d.ts +32 -0
  302. package/lib/types/ink/events/click-event.d.ts.map +1 -0
  303. package/lib/types/ink/events/click-event.js +36 -0
  304. package/lib/types/ink/events/dispatcher.d.ts +63 -0
  305. package/lib/types/ink/events/dispatcher.d.ts.map +1 -0
  306. package/lib/types/ink/events/dispatcher.js +194 -0
  307. package/lib/types/ink/events/emitter.d.ts +20 -0
  308. package/lib/types/ink/events/emitter.d.ts.map +1 -0
  309. package/lib/types/ink/events/emitter.js +43 -0
  310. package/lib/types/ink/events/event-handlers.d.ts +47 -0
  311. package/lib/types/ink/events/event-handlers.d.ts.map +1 -0
  312. package/lib/types/ink/events/event-handlers.js +30 -0
  313. package/lib/types/ink/events/event.d.ts +19 -0
  314. package/lib/types/ink/events/event.d.ts.map +1 -0
  315. package/lib/types/ink/events/event.js +22 -0
  316. package/lib/types/ink/events/focus-event.d.ts +19 -0
  317. package/lib/types/ink/events/focus-event.d.ts.map +1 -0
  318. package/lib/types/ink/events/focus-event.js +21 -0
  319. package/lib/types/ink/events/input-event.d.ts +53 -0
  320. package/lib/types/ink/events/input-event.d.ts.map +1 -0
  321. package/lib/types/ink/events/input-event.js +180 -0
  322. package/lib/types/ink/events/keyboard-event.d.ts +40 -0
  323. package/lib/types/ink/events/keyboard-event.d.ts.map +1 -0
  324. package/lib/types/ink/events/keyboard-event.js +65 -0
  325. package/lib/types/ink/events/paste-event.d.ts +11 -0
  326. package/lib/types/ink/events/paste-event.d.ts.map +1 -0
  327. package/lib/types/ink/events/paste-event.js +13 -0
  328. package/lib/types/ink/events/resize-event.d.ts +13 -0
  329. package/lib/types/ink/events/resize-event.d.ts.map +1 -0
  330. package/lib/types/ink/events/resize-event.js +16 -0
  331. package/lib/types/ink/events/terminal-event.d.ts +112 -0
  332. package/lib/types/ink/events/terminal-event.d.ts.map +1 -0
  333. package/lib/types/ink/events/terminal-event.js +131 -0
  334. package/lib/types/ink/events/terminal-focus-event.d.ts +21 -0
  335. package/lib/types/ink/events/terminal-focus-event.d.ts.map +1 -0
  336. package/lib/types/ink/events/terminal-focus-event.js +18 -0
  337. package/lib/types/ink/focus.d.ts +74 -0
  338. package/lib/types/ink/focus.d.ts.map +1 -0
  339. package/lib/types/ink/focus.js +188 -0
  340. package/lib/types/ink/frame.d.ts +119 -0
  341. package/lib/types/ink/frame.d.ts.map +1 -0
  342. package/lib/types/ink/frame.js +43 -0
  343. package/lib/types/ink/get-max-width.d.ts +20 -0
  344. package/lib/types/ink/get-max-width.d.ts.map +1 -0
  345. package/lib/types/ink/get-max-width.js +25 -0
  346. package/lib/types/ink/hit-test.d.ts +47 -0
  347. package/lib/types/ink/hit-test.d.ts.map +1 -0
  348. package/lib/types/ink/hit-test.js +126 -0
  349. package/lib/types/ink/hooks/use-animation-frame.d.ts +27 -0
  350. package/lib/types/ink/hooks/use-animation-frame.d.ts.map +1 -0
  351. package/lib/types/ink/hooks/use-animation-frame.js +48 -0
  352. package/lib/types/ink/hooks/use-app.d.ts +8 -0
  353. package/lib/types/ink/hooks/use-app.d.ts.map +1 -0
  354. package/lib/types/ink/hooks/use-app.js +8 -0
  355. package/lib/types/ink/hooks/use-copy-on-select.d.ts +22 -0
  356. package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -0
  357. package/lib/types/ink/hooks/use-copy-on-select.js +40 -0
  358. package/lib/types/ink/hooks/use-declared-cursor.d.ts +31 -0
  359. package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -0
  360. package/lib/types/ink/hooks/use-declared-cursor.js +65 -0
  361. package/lib/types/ink/hooks/use-input.d.ts +41 -0
  362. package/lib/types/ink/hooks/use-input.d.ts.map +1 -0
  363. package/lib/types/ink/hooks/use-input.js +73 -0
  364. package/lib/types/ink/hooks/use-interval.d.ts +23 -0
  365. package/lib/types/ink/hooks/use-interval.d.ts.map +1 -0
  366. package/lib/types/ink/hooks/use-interval.js +58 -0
  367. package/lib/types/ink/hooks/use-search-highlight.d.ts +34 -0
  368. package/lib/types/ink/hooks/use-search-highlight.d.ts.map +1 -0
  369. package/lib/types/ink/hooks/use-search-highlight.js +35 -0
  370. package/lib/types/ink/hooks/use-selection.d.ts +44 -0
  371. package/lib/types/ink/hooks/use-selection.d.ts.map +1 -0
  372. package/lib/types/ink/hooks/use-selection.js +64 -0
  373. package/lib/types/ink/hooks/use-stdin.d.ts +8 -0
  374. package/lib/types/ink/hooks/use-stdin.d.ts.map +1 -0
  375. package/lib/types/ink/hooks/use-stdin.js +8 -0
  376. package/lib/types/ink/hooks/use-tab-status.d.ts +18 -0
  377. package/lib/types/ink/hooks/use-tab-status.d.ts.map +1 -0
  378. package/lib/types/ink/hooks/use-tab-status.js +58 -0
  379. package/lib/types/ink/hooks/use-terminal-focus.d.ts +11 -0
  380. package/lib/types/ink/hooks/use-terminal-focus.d.ts.map +1 -0
  381. package/lib/types/ink/hooks/use-terminal-focus.js +15 -0
  382. package/lib/types/ink/hooks/use-terminal-size.d.ts +6 -0
  383. package/lib/types/ink/hooks/use-terminal-size.d.ts.map +1 -0
  384. package/lib/types/ink/hooks/use-terminal-size.js +12 -0
  385. package/lib/types/ink/hooks/use-terminal-title.d.ts +14 -0
  386. package/lib/types/ink/hooks/use-terminal-title.d.ts.map +1 -0
  387. package/lib/types/ink/hooks/use-terminal-title.js +30 -0
  388. package/lib/types/ink/hooks/use-terminal-viewport.d.ts +32 -0
  389. package/lib/types/ink/hooks/use-terminal-viewport.d.ts.map +1 -0
  390. package/lib/types/ink/hooks/use-terminal-viewport.js +79 -0
  391. package/lib/types/ink/ink.d.ts +370 -0
  392. package/lib/types/ink/ink.d.ts.map +1 -0
  393. package/lib/types/ink/ink.js +1665 -0
  394. package/lib/types/ink/instances.d.ts +10 -0
  395. package/lib/types/ink/instances.d.ts.map +1 -0
  396. package/lib/types/ink/instances.js +13 -0
  397. package/lib/types/ink/layout/engine.d.ts +7 -0
  398. package/lib/types/ink/layout/engine.d.ts.map +1 -0
  399. package/lib/types/ink/layout/engine.js +8 -0
  400. package/lib/types/ink/layout/geometry.d.ts +86 -0
  401. package/lib/types/ink/layout/geometry.d.ts.map +1 -0
  402. package/lib/types/ink/layout/geometry.js +95 -0
  403. package/lib/types/ink/layout/node.d.ts +151 -0
  404. package/lib/types/ink/layout/node.d.ts.map +1 -0
  405. package/lib/types/ink/layout/node.js +72 -0
  406. package/lib/types/ink/layout/yoga.d.ts +69 -0
  407. package/lib/types/ink/layout/yoga.d.ts.map +1 -0
  408. package/lib/types/ink/layout/yoga.js +249 -0
  409. package/lib/types/ink/line-width-cache.d.ts +9 -0
  410. package/lib/types/ink/line-width-cache.d.ts.map +1 -0
  411. package/lib/types/ink/line-width-cache.js +45 -0
  412. package/lib/types/ink/log-update.d.ts +57 -0
  413. package/lib/types/ink/log-update.d.ts.map +1 -0
  414. package/lib/types/ink/log-update.js +710 -0
  415. package/lib/types/ink/measure-element.d.ts +19 -0
  416. package/lib/types/ink/measure-element.d.ts.map +1 -0
  417. package/lib/types/ink/measure-element.js +10 -0
  418. package/lib/types/ink/measure-text.d.ts +13 -0
  419. package/lib/types/ink/measure-text.d.ts.map +1 -0
  420. package/lib/types/ink/measure-text.js +38 -0
  421. package/lib/types/ink/node-cache.d.ts +33 -0
  422. package/lib/types/ink/node-cache.d.ts.map +1 -0
  423. package/lib/types/ink/node-cache.js +42 -0
  424. package/lib/types/ink/optimizer.d.ts +18 -0
  425. package/lib/types/ink/optimizer.d.ts.map +1 -0
  426. package/lib/types/ink/optimizer.js +83 -0
  427. package/lib/types/ink/output.d.ts +200 -0
  428. package/lib/types/ink/output.d.ts.map +1 -0
  429. package/lib/types/ink/output.js +663 -0
  430. package/lib/types/ink/parse-keypress.d.ts +132 -0
  431. package/lib/types/ink/parse-keypress.d.ts.map +1 -0
  432. package/lib/types/ink/parse-keypress.js +707 -0
  433. package/lib/types/ink/reconciler.d.ts +43 -0
  434. package/lib/types/ink/reconciler.d.ts.map +1 -0
  435. package/lib/types/ink/reconciler.js +413 -0
  436. package/lib/types/ink/render-border.d.ts +36 -0
  437. package/lib/types/ink/render-border.d.ts.map +1 -0
  438. package/lib/types/ink/render-border.js +143 -0
  439. package/lib/types/ink/render-node-to-output.d.ts +93 -0
  440. package/lib/types/ink/render-node-to-output.d.ts.map +1 -0
  441. package/lib/types/ink/render-node-to-output.js +1290 -0
  442. package/lib/types/ink/render-to-screen.d.ts +65 -0
  443. package/lib/types/ink/render-to-screen.d.ts.map +1 -0
  444. package/lib/types/ink/render-to-screen.js +189 -0
  445. package/lib/types/ink/renderer.d.ts +24 -0
  446. package/lib/types/ink/renderer.d.ts.map +1 -0
  447. package/lib/types/ink/renderer.js +136 -0
  448. package/lib/types/ink/root.d.ts +91 -0
  449. package/lib/types/ink/root.d.ts.map +1 -0
  450. package/lib/types/ink/root.js +93 -0
  451. package/lib/types/ink/screen.d.ts +443 -0
  452. package/lib/types/ink/screen.d.ts.map +1 -0
  453. package/lib/types/ink/screen.js +1295 -0
  454. package/lib/types/ink/searchHighlight.d.ts +25 -0
  455. package/lib/types/ink/searchHighlight.d.ts.map +1 -0
  456. package/lib/types/ink/searchHighlight.js +82 -0
  457. package/lib/types/ink/selection.d.ts +323 -0
  458. package/lib/types/ink/selection.d.ts.map +1 -0
  459. package/lib/types/ink/selection.js +881 -0
  460. package/lib/types/ink/squash-text-nodes.d.ts +30 -0
  461. package/lib/types/ink/squash-text-nodes.d.ts.map +1 -0
  462. package/lib/types/ink/squash-text-nodes.js +63 -0
  463. package/lib/types/ink/stringWidth.d.ts +11 -0
  464. package/lib/types/ink/stringWidth.d.ts.map +1 -0
  465. package/lib/types/ink/stringWidth.js +209 -0
  466. package/lib/types/ink/styles.d.ts +324 -0
  467. package/lib/types/ink/styles.d.ts.map +1 -0
  468. package/lib/types/ink/styles.js +307 -0
  469. package/lib/types/ink/supports-hyperlinks.d.ts +20 -0
  470. package/lib/types/ink/supports-hyperlinks.d.ts.map +1 -0
  471. package/lib/types/ink/supports-hyperlinks.js +44 -0
  472. package/lib/types/ink/tabstops.d.ts +9 -0
  473. package/lib/types/ink/tabstops.d.ts.map +1 -0
  474. package/lib/types/ink/tabstops.js +46 -0
  475. package/lib/types/ink/terminal-focus-state.d.ts +35 -0
  476. package/lib/types/ink/terminal-focus-state.d.ts.map +1 -0
  477. package/lib/types/ink/terminal-focus-state.js +57 -0
  478. package/lib/types/ink/terminal-querier.d.ts +161 -0
  479. package/lib/types/ink/terminal-querier.d.ts.map +1 -0
  480. package/lib/types/ink/terminal-querier.js +204 -0
  481. package/lib/types/ink/terminal.d.ts +80 -0
  482. package/lib/types/ink/terminal.d.ts.map +1 -0
  483. package/lib/types/ink/terminal.js +268 -0
  484. package/lib/types/ink/termio/ansi.d.ts +75 -0
  485. package/lib/types/ink/termio/ansi.d.ts.map +1 -0
  486. package/lib/types/ink/termio/ansi.js +79 -0
  487. package/lib/types/ink/termio/csi.d.ts +253 -0
  488. package/lib/types/ink/termio/csi.d.ts.map +1 -0
  489. package/lib/types/ink/termio/csi.js +347 -0
  490. package/lib/types/ink/termio/dec.d.ts +61 -0
  491. package/lib/types/ink/termio/dec.d.ts.map +1 -0
  492. package/lib/types/ink/termio/dec.js +76 -0
  493. package/lib/types/ink/termio/esc.d.ts +15 -0
  494. package/lib/types/ink/termio/esc.d.ts.map +1 -0
  495. package/lib/types/ink/termio/esc.js +57 -0
  496. package/lib/types/ink/termio/osc.d.ts +208 -0
  497. package/lib/types/ink/termio/osc.d.ts.map +1 -0
  498. package/lib/types/ink/termio/osc.js +466 -0
  499. package/lib/types/ink/termio/parser.d.ts +46 -0
  500. package/lib/types/ink/termio/parser.d.ts.map +1 -0
  501. package/lib/types/ink/termio/parser.js +366 -0
  502. package/lib/types/ink/termio/sgr.d.ts +17 -0
  503. package/lib/types/ink/termio/sgr.d.ts.map +1 -0
  504. package/lib/types/ink/termio/sgr.js +300 -0
  505. package/lib/types/ink/termio/tokenize.d.ts +50 -0
  506. package/lib/types/ink/termio/tokenize.d.ts.map +1 -0
  507. package/lib/types/ink/termio/tokenize.js +266 -0
  508. package/lib/types/ink/termio/types.d.ts +211 -0
  509. package/lib/types/ink/termio/types.d.ts.map +1 -0
  510. package/lib/types/ink/termio/types.js +68 -0
  511. package/lib/types/ink/termio.d.ts +25 -0
  512. package/lib/types/ink/termio.d.ts.map +1 -0
  513. package/lib/types/ink/termio.js +24 -0
  514. package/lib/types/ink/truncateToWidth.d.ts +7 -0
  515. package/lib/types/ink/truncateToWidth.d.ts.map +1 -0
  516. package/lib/types/ink/truncateToWidth.js +18 -0
  517. package/lib/types/ink/useTerminalNotification.d.ts +45 -0
  518. package/lib/types/ink/useTerminalNotification.d.ts.map +1 -0
  519. package/lib/types/ink/useTerminalNotification.js +70 -0
  520. package/lib/types/ink/warn.d.ts +7 -0
  521. package/lib/types/ink/warn.d.ts.map +1 -0
  522. package/lib/types/ink/warn.js +15 -0
  523. package/lib/types/ink/widest-line.d.ts +7 -0
  524. package/lib/types/ink/widest-line.d.ts.map +1 -0
  525. package/lib/types/ink/widest-line.js +19 -0
  526. package/lib/types/ink/wrap-text.d.ts +10 -0
  527. package/lib/types/ink/wrap-text.d.ts.map +1 -0
  528. package/lib/types/ink/wrap-text.js +61 -0
  529. package/lib/types/ink/wrapAnsi.d.ts +18 -0
  530. package/lib/types/ink/wrapAnsi.d.ts.map +1 -0
  531. package/lib/types/ink/wrapAnsi.js +16 -0
  532. package/lib/types/invariant.d.ts +20 -0
  533. package/lib/types/invariant.d.ts.map +1 -0
  534. package/lib/types/invariant.js +26 -0
  535. package/lib/types/modelPrefs.d.ts +37 -0
  536. package/lib/types/modelPrefs.d.ts.map +1 -0
  537. package/lib/types/modelPrefs.js +66 -0
  538. package/lib/types/modelRoute.d.ts +79 -0
  539. package/lib/types/modelRoute.d.ts.map +1 -0
  540. package/lib/types/modelRoute.js +96 -0
  541. package/lib/types/native-ts/yoga-layout/enums.d.ts +183 -0
  542. package/lib/types/native-ts/yoga-layout/enums.d.ts.map +1 -0
  543. package/lib/types/native-ts/yoga-layout/enums.js +150 -0
  544. package/lib/types/native-ts/yoga-layout/index.d.ts +788 -0
  545. package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -0
  546. package/lib/types/native-ts/yoga-layout/index.js +2571 -0
  547. package/lib/types/packaged-skills.d.ts +10 -0
  548. package/lib/types/packaged-skills.d.ts.map +1 -0
  549. package/lib/types/packaged-skills.js +63 -0
  550. package/lib/types/plugin.d.ts +33 -0
  551. package/lib/types/plugin.d.ts.map +1 -0
  552. package/lib/types/plugin.js +454 -0
  553. package/lib/types/presetPrefs.d.ts +29 -0
  554. package/lib/types/presetPrefs.d.ts.map +1 -0
  555. package/lib/types/presetPrefs.js +61 -0
  556. package/lib/types/presets.d.ts +110 -0
  557. package/lib/types/presets.d.ts.map +1 -0
  558. package/lib/types/presets.js +114 -0
  559. package/lib/types/questions.d.ts +97 -0
  560. package/lib/types/questions.d.ts.map +1 -0
  561. package/lib/types/questions.js +201 -0
  562. package/lib/types/screens/Chat.d.ts +23 -0
  563. package/lib/types/screens/Chat.d.ts.map +1 -0
  564. package/lib/types/screens/Chat.js +1263 -0
  565. package/lib/types/screens/StatusLine.d.ts +16 -0
  566. package/lib/types/screens/StatusLine.d.ts.map +1 -0
  567. package/lib/types/screens/StatusLine.js +105 -0
  568. package/lib/types/screens/StatusMetrics.d.ts +87 -0
  569. package/lib/types/screens/StatusMetrics.d.ts.map +1 -0
  570. package/lib/types/screens/StatusMetrics.js +252 -0
  571. package/lib/types/sessionHistory.d.ts +32 -0
  572. package/lib/types/sessionHistory.d.ts.map +1 -0
  573. package/lib/types/sessionHistory.js +87 -0
  574. package/lib/types/theme.d.ts +115 -0
  575. package/lib/types/theme.d.ts.map +1 -0
  576. package/lib/types/theme.js +300 -0
  577. package/lib/types/themePrefs.d.ts +28 -0
  578. package/lib/types/themePrefs.d.ts.map +1 -0
  579. package/lib/types/themePrefs.js +59 -0
  580. package/lib/types/ui.d.ts +28 -0
  581. package/lib/types/ui.d.ts.map +1 -0
  582. package/lib/types/ui.js +25 -0
  583. package/lib/types/update.d.ts +76 -0
  584. package/lib/types/update.d.ts.map +1 -0
  585. package/lib/types/update.js +203 -0
  586. package/lib/types/utils/clipboard.d.ts +43 -0
  587. package/lib/types/utils/clipboard.d.ts.map +1 -0
  588. package/lib/types/utils/clipboard.js +82 -0
  589. package/lib/types/utils/debug.d.ts +8 -0
  590. package/lib/types/utils/debug.d.ts.map +1 -0
  591. package/lib/types/utils/debug.js +12 -0
  592. package/lib/types/utils/earlyInput.d.ts +7 -0
  593. package/lib/types/utils/earlyInput.d.ts.map +1 -0
  594. package/lib/types/utils/earlyInput.js +6 -0
  595. package/lib/types/utils/env.d.ts +10 -0
  596. package/lib/types/utils/env.d.ts.map +1 -0
  597. package/lib/types/utils/env.js +9 -0
  598. package/lib/types/utils/envUtils.d.ts +8 -0
  599. package/lib/types/utils/envUtils.d.ts.map +1 -0
  600. package/lib/types/utils/envUtils.js +13 -0
  601. package/lib/types/utils/execFileNoThrow.d.ts +34 -0
  602. package/lib/types/utils/execFileNoThrow.d.ts.map +1 -0
  603. package/lib/types/utils/execFileNoThrow.js +31 -0
  604. package/lib/types/utils/fullscreen.d.ts +8 -0
  605. package/lib/types/utils/fullscreen.d.ts.map +1 -0
  606. package/lib/types/utils/fullscreen.js +10 -0
  607. package/lib/types/utils/intl.d.ts +7 -0
  608. package/lib/types/utils/intl.d.ts.map +1 -0
  609. package/lib/types/utils/intl.js +9 -0
  610. package/lib/types/utils/loaded-context.d.ts +20 -0
  611. package/lib/types/utils/loaded-context.d.ts.map +1 -0
  612. package/lib/types/utils/loaded-context.js +36 -0
  613. package/lib/types/utils/log.d.ts +7 -0
  614. package/lib/types/utils/log.d.ts.map +1 -0
  615. package/lib/types/utils/log.js +9 -0
  616. package/lib/types/utils/mentions.d.ts +30 -0
  617. package/lib/types/utils/mentions.d.ts.map +1 -0
  618. package/lib/types/utils/mentions.js +72 -0
  619. package/lib/types/utils/narration.d.ts +11 -0
  620. package/lib/types/utils/narration.d.ts.map +1 -0
  621. package/lib/types/utils/narration.js +16 -0
  622. package/lib/types/utils/semver.d.ts +9 -0
  623. package/lib/types/utils/semver.d.ts.map +1 -0
  624. package/lib/types/utils/semver.js +24 -0
  625. package/lib/types/utils/sliceAnsi.d.ts +12 -0
  626. package/lib/types/utils/sliceAnsi.d.ts.map +1 -0
  627. package/lib/types/utils/sliceAnsi.js +79 -0
  628. package/lib/types/working-activity.d.ts +19 -0
  629. package/lib/types/working-activity.d.ts.map +1 -0
  630. package/lib/types/working-activity.js +18 -0
  631. package/package.json +141 -0
  632. package/skills/audit/SKILL.md +24 -0
  633. package/skills/bug/SKILL.md +27 -0
  634. package/skills/pr-comments/SKILL.md +20 -0
  635. package/skills/practice/SKILL.md +22 -0
  636. package/skills/release-notes/SKILL.md +25 -0
  637. package/skills/review/SKILL.md +25 -0
  638. package/skills/vuln-check/SKILL.md +25 -0
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ import { supportsHyperlinks } from '../supports-hyperlinks.js';
4
+ import Text from './Text.js';
5
+ export default function Link(t0) {
6
+ const $ = _c(5);
7
+ const { children, url, fallback } = t0;
8
+ const content = children ?? url;
9
+ if (supportsHyperlinks()) {
10
+ let t1;
11
+ if ($[0] !== content || $[1] !== url) {
12
+ t1 = _jsx(Text, { children: _jsx("ink-link", { href: url, children: content }) });
13
+ $[0] = content;
14
+ $[1] = url;
15
+ $[2] = t1;
16
+ }
17
+ else {
18
+ t1 = $[2];
19
+ }
20
+ return t1;
21
+ }
22
+ const t1 = fallback ?? content;
23
+ let t2;
24
+ if ($[3] !== t1) {
25
+ t2 = _jsx(Text, { children: t1 });
26
+ $[3] = t1;
27
+ $[4] = t2;
28
+ }
29
+ else {
30
+ t2 = $[4];
31
+ }
32
+ return t2;
33
+ }
@@ -0,0 +1,13 @@
1
+ export type Props = {
2
+ /**
3
+ * Number of newlines to insert.
4
+ *
5
+ * @default 1
6
+ */
7
+ readonly count?: number;
8
+ };
9
+ /**
10
+ * Adds one or more newline (\n) characters. Must be used within <Text> components.
11
+ */
12
+ export default function Newline(t0: any): any;
13
+ //# sourceMappingURL=Newline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Newline.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/Newline.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG;IAClB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,KAAA,OAuBjC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ /**
4
+ * Adds one or more newline (\n) characters. Must be used within <Text> components.
5
+ */
6
+ export default function Newline(t0) {
7
+ const $ = _c(4);
8
+ const { count: t1 } = t0;
9
+ const count = t1 === undefined ? 1 : t1;
10
+ let t2;
11
+ if ($[0] !== count) {
12
+ t2 = "\n".repeat(count);
13
+ $[0] = count;
14
+ $[1] = t2;
15
+ }
16
+ else {
17
+ t2 = $[1];
18
+ }
19
+ let t3;
20
+ if ($[2] !== t2) {
21
+ t3 = _jsx("ink-text", { children: t2 });
22
+ $[2] = t2;
23
+ $[3] = t3;
24
+ }
25
+ else {
26
+ t3 = $[3];
27
+ }
28
+ return t3;
29
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Marks its contents as non-selectable in fullscreen text selection.
3
+ * Cells inside this box are skipped by both the selection highlight and
4
+ * the copied text — the gutter stays visually unchanged while the user
5
+ * drags, making it clear what will be copied.
6
+ *
7
+ * Use to fence off gutters (line numbers, diff +/- sigils, list bullets)
8
+ * so click-drag over rendered code yields clean pasteable content:
9
+ *
10
+ * <Box flexDirection="row">
11
+ * <NoSelect fromLeftEdge><Text dimColor> 42 +</Text></NoSelect>
12
+ * <Text>const x = 1</Text>
13
+ * </Box>
14
+ *
15
+ * Only affects alt-screen text selection (<AlternateScreen> with mouse
16
+ * tracking). No-op in the main-screen scrollback render where the
17
+ * terminal's native selection is used instead.
18
+ */
19
+ export declare function NoSelect(t0: any): any;
20
+ //# sourceMappingURL=NoSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoSelect.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/NoSelect.tsx"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAA,OAgC1B"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ import Box from './Box.js';
4
+ /**
5
+ * Marks its contents as non-selectable in fullscreen text selection.
6
+ * Cells inside this box are skipped by both the selection highlight and
7
+ * the copied text — the gutter stays visually unchanged while the user
8
+ * drags, making it clear what will be copied.
9
+ *
10
+ * Use to fence off gutters (line numbers, diff +/- sigils, list bullets)
11
+ * so click-drag over rendered code yields clean pasteable content:
12
+ *
13
+ * <Box flexDirection="row">
14
+ * <NoSelect fromLeftEdge><Text dimColor> 42 +</Text></NoSelect>
15
+ * <Text>const x = 1</Text>
16
+ * </Box>
17
+ *
18
+ * Only affects alt-screen text selection (<AlternateScreen> with mouse
19
+ * tracking). No-op in the main-screen scrollback render where the
20
+ * terminal's native selection is used instead.
21
+ */
22
+ export function NoSelect(t0) {
23
+ const $ = _c(8);
24
+ let boxProps;
25
+ let children;
26
+ let fromLeftEdge;
27
+ if ($[0] !== t0) {
28
+ ({
29
+ children,
30
+ fromLeftEdge,
31
+ ...boxProps
32
+ } = t0);
33
+ $[0] = t0;
34
+ $[1] = boxProps;
35
+ $[2] = children;
36
+ $[3] = fromLeftEdge;
37
+ }
38
+ else {
39
+ boxProps = $[1];
40
+ children = $[2];
41
+ fromLeftEdge = $[3];
42
+ }
43
+ const t1 = fromLeftEdge ? "from-left-edge" : true;
44
+ let t2;
45
+ if ($[4] !== boxProps || $[5] !== children || $[6] !== t1) {
46
+ t2 = _jsx(Box, { ...boxProps, noSelect: t1, children: children });
47
+ $[4] = boxProps;
48
+ $[5] = children;
49
+ $[6] = t1;
50
+ $[7] = t2;
51
+ }
52
+ else {
53
+ t2 = $[7];
54
+ }
55
+ return t2;
56
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Bypass the <Ansi> → React tree → Yoga → squash → re-serialize roundtrip for
3
+ * content that is already terminal-ready.
4
+ *
5
+ * Use this when an external renderer (e.g. the ColorDiff NAPI module) has
6
+ * already produced ANSI-escaped, width-wrapped output. A normal <Ansi> mount
7
+ * reparses that output into one React <Text> per style span, lays out each
8
+ * span as a Yoga flex child, then walks the tree to re-emit the same escape
9
+ * codes it was given. For a long transcript full of syntax-highlighted diffs
10
+ * that roundtrip is the dominant cost of the render.
11
+ *
12
+ * This component emits a single Yoga leaf with a constant-time measure func
13
+ * (width × lines.length) and hands the joined string straight to output.write(),
14
+ * which already splits on '\n' and parses ANSI into the screen buffer.
15
+ */
16
+ export declare function RawAnsi(t0: any): any;
17
+ //# sourceMappingURL=RawAnsi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawAnsi.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/RawAnsi.tsx"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAA,OA4BzB"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ /**
4
+ * Bypass the <Ansi> → React tree → Yoga → squash → re-serialize roundtrip for
5
+ * content that is already terminal-ready.
6
+ *
7
+ * Use this when an external renderer (e.g. the ColorDiff NAPI module) has
8
+ * already produced ANSI-escaped, width-wrapped output. A normal <Ansi> mount
9
+ * reparses that output into one React <Text> per style span, lays out each
10
+ * span as a Yoga flex child, then walks the tree to re-emit the same escape
11
+ * codes it was given. For a long transcript full of syntax-highlighted diffs
12
+ * that roundtrip is the dominant cost of the render.
13
+ *
14
+ * This component emits a single Yoga leaf with a constant-time measure func
15
+ * (width × lines.length) and hands the joined string straight to output.write(),
16
+ * which already splits on '\n' and parses ANSI into the screen buffer.
17
+ */
18
+ export function RawAnsi(t0) {
19
+ const $ = _c(6);
20
+ const { lines, width } = t0;
21
+ if (lines.length === 0) {
22
+ return null;
23
+ }
24
+ let t1;
25
+ if ($[0] !== lines) {
26
+ t1 = lines.join("\n");
27
+ $[0] = lines;
28
+ $[1] = t1;
29
+ }
30
+ else {
31
+ t1 = $[1];
32
+ }
33
+ let t2;
34
+ if ($[2] !== lines.length || $[3] !== t1 || $[4] !== width) {
35
+ t2 = _jsx("ink-raw-ansi", { rawText: t1, rawWidth: width, rawHeight: lines.length });
36
+ $[2] = lines.length;
37
+ $[3] = t1;
38
+ $[4] = width;
39
+ $[5] = t2;
40
+ }
41
+ else {
42
+ t2 = $[5];
43
+ }
44
+ return t2;
45
+ }
@@ -0,0 +1,78 @@
1
+ import React, { type PropsWithChildren, type Ref } from 'react';
2
+ import type { Except } from 'type-fest';
3
+ import type { DOMElement } from '../dom.js';
4
+ import type { Styles } from '../styles.js';
5
+ export type ScrollBoxHandle = {
6
+ scrollTo: (y: number) => void;
7
+ scrollBy: (dy: number) => void;
8
+ /**
9
+ * Scroll so `el`'s top is at the viewport top (plus `offset`). Unlike
10
+ * scrollTo which bakes a number that's stale by the time the throttled
11
+ * render fires, this defers the position read to render time —
12
+ * render-node-to-output reads `el.yogaNode.getComputedTop()` in the
13
+ * SAME Yoga pass that computes scrollHeight. Deterministic. One-shot.
14
+ */
15
+ scrollToElement: (el: DOMElement, offset?: number) => void;
16
+ scrollToBottom: () => void;
17
+ getScrollTop: () => number;
18
+ getPendingDelta: () => number;
19
+ getScrollHeight: () => number;
20
+ /**
21
+ * Like getScrollHeight, but reads Yoga directly instead of the cached
22
+ * value written by render-node-to-output (throttled, up to 16ms stale).
23
+ * Use when you need a fresh value in useLayoutEffect after a React commit
24
+ * that grew content. Slightly more expensive (native Yoga call).
25
+ */
26
+ getFreshScrollHeight: () => number;
27
+ getViewportHeight: () => number;
28
+ /**
29
+ * Absolute screen-buffer row of the first visible content line (inside
30
+ * padding). Used for drag-to-scroll edge detection.
31
+ */
32
+ getViewportTop: () => number;
33
+ /**
34
+ * True when scroll is pinned to the bottom. Set by scrollToBottom, the
35
+ * initial stickyScroll attribute, and by the renderer when positional
36
+ * follow fires (scrollTop at prevMax, content grows). Cleared by
37
+ * scrollTo/scrollBy. Stable signal for "at bottom" that doesn't depend on
38
+ * layout values (unlike scrollTop+viewportH >= scrollHeight).
39
+ */
40
+ isSticky: () => boolean;
41
+ /**
42
+ * Subscribe to imperative scroll changes (scrollTo/scrollBy/scrollToBottom).
43
+ * Does NOT fire for stickyScroll updates done by the Ink renderer — those
44
+ * happen during Ink's render phase after React has committed. Callers that
45
+ * care about the sticky case should treat "at bottom" as a fallback.
46
+ */
47
+ subscribe: (listener: () => void) => () => void;
48
+ /**
49
+ * Set the render-time scrollTop clamp to the currently-mounted children's
50
+ * coverage span. Called by useVirtualScroll after computing its range;
51
+ * render-node-to-output clamps scrollTop to [min, max] so burst scrollTo
52
+ * calls that race past React's async re-render show the edge of mounted
53
+ * content instead of blank spacer. Pass undefined to disable (sticky,
54
+ * cold start).
55
+ */
56
+ setClampBounds: (min: number | undefined, max: number | undefined) => void;
57
+ };
58
+ export type ScrollBoxProps = Except<Styles, 'textWrap' | 'overflow' | 'overflowX' | 'overflowY'> & {
59
+ ref?: Ref<ScrollBoxHandle>;
60
+ /**
61
+ * When true, automatically pins scroll position to the bottom when content
62
+ * grows. Unset manually via scrollTo/scrollBy to break the stickiness.
63
+ */
64
+ stickyScroll?: boolean;
65
+ };
66
+ /**
67
+ * A Box with `overflow: scroll` and an imperative scroll API.
68
+ *
69
+ * Children are laid out at their full Yoga-computed height inside a
70
+ * constrained container. At render time, only children intersecting the
71
+ * visible window (scrollTop..scrollTop+height) are rendered (viewport
72
+ * culling). Content is translated by -scrollTop and clipped to the box bounds.
73
+ *
74
+ * Works best inside a fullscreen (constrained-height root) Ink tree.
75
+ */
76
+ declare function ScrollBox({ children, ref, stickyScroll, ...style }: PropsWithChildren<ScrollBoxProps>): React.ReactNode;
77
+ export default ScrollBox;
78
+ //# sourceMappingURL=ScrollBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollBox.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/ScrollBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,GAAG,EAAyC,MAAM,OAAO,CAAC;AACvG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,MAAM,CAAC;IACnC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC;;;OAGG;IACH,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB;;;;;OAKG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC5E,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG;IACjG,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;GASG;AACH,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,GAAG,EACH,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,SAAS,CAyJrD;AACD,eAAe,SAAS,CAAC"}
@@ -0,0 +1,174 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useImperativeHandle, useRef, useState } from 'react';
3
+ import { markScrollActivity } from '../../bootstrap/state.js';
4
+ import { markDirty, scheduleRenderFrom } from '../dom.js';
5
+ import { markCommitStart } from '../reconciler.js';
6
+ import Box from './Box.js';
7
+ /**
8
+ * A Box with `overflow: scroll` and an imperative scroll API.
9
+ *
10
+ * Children are laid out at their full Yoga-computed height inside a
11
+ * constrained container. At render time, only children intersecting the
12
+ * visible window (scrollTop..scrollTop+height) are rendered (viewport
13
+ * culling). Content is translated by -scrollTop and clipped to the box bounds.
14
+ *
15
+ * Works best inside a fullscreen (constrained-height root) Ink tree.
16
+ */
17
+ function ScrollBox({ children, ref, stickyScroll, ...style }) {
18
+ const domRef = useRef(null);
19
+ // scrollTo/scrollBy bypass React: they mutate scrollTop on the DOM node,
20
+ // mark it dirty, and call the root's throttled scheduleRender directly.
21
+ // The Ink renderer reads scrollTop from the node — no React state needed,
22
+ // no reconciler overhead per wheel event. The microtask defer coalesces
23
+ // multiple scrollBy calls in one input batch (discreteUpdates) into one
24
+ // render — otherwise scheduleRender's leading edge fires on the FIRST
25
+ // event before subsequent events mutate scrollTop. scrollToBottom still
26
+ // forces a React render: sticky is attribute-observed, no DOM-only path.
27
+ const [, forceRender] = useState(0);
28
+ const listenersRef = useRef(new Set());
29
+ const renderQueuedRef = useRef(false);
30
+ const notify = () => {
31
+ for (const l of listenersRef.current)
32
+ l();
33
+ };
34
+ function scrollMutated(el) {
35
+ // Signal background intervals (IDE poll, LSP poll, GCS fetch, orphan
36
+ // check) to skip their next tick — they compete for the event loop and
37
+ // contributed to 1402ms max frame gaps during scroll drain.
38
+ markScrollActivity();
39
+ markDirty(el);
40
+ markCommitStart();
41
+ notify();
42
+ if (renderQueuedRef.current)
43
+ return;
44
+ renderQueuedRef.current = true;
45
+ queueMicrotask(() => {
46
+ renderQueuedRef.current = false;
47
+ scheduleRenderFrom(el);
48
+ });
49
+ }
50
+ useImperativeHandle(ref, () => ({
51
+ scrollTo(y) {
52
+ const el = domRef.current;
53
+ if (!el)
54
+ return;
55
+ // Explicit false overrides the DOM attribute so manual scroll
56
+ // breaks stickiness. Render code checks ?? precedence.
57
+ el.stickyScroll = false;
58
+ el.pendingScrollDelta = undefined;
59
+ el.scrollAnchor = undefined;
60
+ el.scrollTop = Math.max(0, Math.floor(y));
61
+ scrollMutated(el);
62
+ },
63
+ scrollToElement(el, offset = 0) {
64
+ const box = domRef.current;
65
+ if (!box)
66
+ return;
67
+ box.stickyScroll = false;
68
+ box.pendingScrollDelta = undefined;
69
+ box.scrollAnchor = {
70
+ el,
71
+ offset
72
+ };
73
+ scrollMutated(box);
74
+ },
75
+ scrollBy(dy) {
76
+ const el = domRef.current;
77
+ if (!el)
78
+ return;
79
+ el.stickyScroll = false;
80
+ // Wheel input cancels any in-flight anchor seek — user override.
81
+ el.scrollAnchor = undefined;
82
+ // Accumulate in pendingScrollDelta; renderer drains it at a capped
83
+ // rate so fast flicks show intermediate frames. Pure accumulator:
84
+ // scroll-up followed by scroll-down naturally cancels.
85
+ el.pendingScrollDelta = (el.pendingScrollDelta ?? 0) + Math.floor(dy);
86
+ scrollMutated(el);
87
+ },
88
+ scrollToBottom() {
89
+ const el = domRef.current;
90
+ if (!el)
91
+ return;
92
+ el.pendingScrollDelta = undefined;
93
+ el.stickyScroll = true;
94
+ markDirty(el);
95
+ notify();
96
+ forceRender(n => n + 1);
97
+ },
98
+ getScrollTop() {
99
+ return domRef.current?.scrollTop ?? 0;
100
+ },
101
+ getPendingDelta() {
102
+ // Accumulated-but-not-yet-drained delta. useVirtualScroll needs
103
+ // this to mount the union [committed, committed+pending] range —
104
+ // otherwise intermediate drain frames find no children (blank).
105
+ return domRef.current?.pendingScrollDelta ?? 0;
106
+ },
107
+ getScrollHeight() {
108
+ return domRef.current?.scrollHeight ?? 0;
109
+ },
110
+ getFreshScrollHeight() {
111
+ const content = domRef.current?.childNodes[0];
112
+ return content?.yogaNode?.getComputedHeight() ?? domRef.current?.scrollHeight ?? 0;
113
+ },
114
+ getViewportHeight() {
115
+ return domRef.current?.scrollViewportHeight ?? 0;
116
+ },
117
+ getViewportTop() {
118
+ return domRef.current?.scrollViewportTop ?? 0;
119
+ },
120
+ isSticky() {
121
+ const el = domRef.current;
122
+ if (!el)
123
+ return false;
124
+ return el.stickyScroll ?? Boolean(el.attributes['stickyScroll']);
125
+ },
126
+ subscribe(listener) {
127
+ listenersRef.current.add(listener);
128
+ return () => listenersRef.current.delete(listener);
129
+ },
130
+ setClampBounds(min, max) {
131
+ const el = domRef.current;
132
+ if (!el)
133
+ return;
134
+ el.scrollClampMin = min;
135
+ el.scrollClampMax = max;
136
+ }
137
+ }),
138
+ // notify/scrollMutated are inline (no useCallback) but only close over
139
+ // refs + imports — stable. Empty deps avoids rebuilding the handle on
140
+ // every render (which re-registers the ref = churn).
141
+ // eslint-disable-next-line react-hooks/exhaustive-deps
142
+ []);
143
+ // Structure: outer viewport (overflow:scroll, constrained height) >
144
+ // inner content (flexGrow:1, flexShrink:0 — fills at least the viewport
145
+ // but grows beyond it for tall content). flexGrow:1 lets children use
146
+ // spacers to pin elements to the bottom of the scroll area. Yoga's
147
+ // Overflow.Scroll prevents the viewport from growing to fit the content.
148
+ // The renderer computes scrollHeight from the content box and culls
149
+ // content's children based on scrollTop.
150
+ //
151
+ // stickyScroll is passed as a DOM attribute (via ink-box directly) so it's
152
+ // available on the first render — ref callbacks fire after the initial
153
+ // commit, which is too late for the first frame.
154
+ return _jsx("ink-box", { ref: el => {
155
+ domRef.current = el;
156
+ if (el) {
157
+ el.scrollTop ??= 0;
158
+ // Renderer-side sticky restores (positional re-pin at the bottom)
159
+ // must reach React subscribers too — see dom.ts onStickyRestore.
160
+ el.onStickyRestore = notify;
161
+ }
162
+ }, style: {
163
+ flexWrap: 'nowrap',
164
+ flexDirection: style.flexDirection ?? 'row',
165
+ flexGrow: style.flexGrow ?? 0,
166
+ flexShrink: style.flexShrink ?? 1,
167
+ ...style,
168
+ overflowX: 'scroll',
169
+ overflowY: 'scroll'
170
+ }, ...stickyScroll ? {
171
+ stickyScroll: true
172
+ } : {}, children: _jsx(Box, { flexDirection: "column", flexGrow: 1, flexShrink: 0, width: "100%", children: children }) });
173
+ }
174
+ export default ScrollBox;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A flexible space that expands along the major axis of its containing layout.
3
+ * It's useful as a shortcut for filling all the available spaces between elements.
4
+ */
5
+ export default function Spacer(): any;
6
+ //# sourceMappingURL=Spacer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/Spacer.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,QAU7B"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ import Box from './Box.js';
4
+ /**
5
+ * A flexible space that expands along the major axis of its containing layout.
6
+ * It's useful as a shortcut for filling all the available spaces between elements.
7
+ */
8
+ export default function Spacer() {
9
+ const $ = _c(1);
10
+ let t0;
11
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
12
+ t0 = _jsx(Box, { flexGrow: 1 });
13
+ $[0] = t0;
14
+ }
15
+ else {
16
+ t0 = $[0];
17
+ }
18
+ return t0;
19
+ }
@@ -0,0 +1,32 @@
1
+ import { EventEmitter } from '../events/emitter.js';
2
+ import type { TerminalQuerier } from '../terminal-querier.js';
3
+ /**
4
+ * The `StdinContext` value: the stdin stream plus the raw-mode and Ctrl+C
5
+ * handling helpers Ink provides around it.
6
+ */
7
+ export type Props = {
8
+ /**
9
+ * Stdin stream passed to `render()` in `options.stdin` or `process.stdin` by default. Useful if your app needs to handle user input.
10
+ */
11
+ readonly stdin: NodeJS.ReadStream;
12
+ /**
13
+ * Ink exposes this function via own `<StdinContext>` to be able to handle Ctrl+C, that's why you should use Ink's `setRawMode` instead of `process.stdin.setRawMode`.
14
+ * If the `stdin` stream passed to Ink does not support setRawMode, this function does nothing.
15
+ */
16
+ readonly setRawMode: (value: boolean) => void;
17
+ /**
18
+ * A boolean flag determining if the current `stdin` supports `setRawMode`. A component using `setRawMode` might want to use `isRawModeSupported` to nicely fall back in environments where raw mode is not supported.
19
+ */
20
+ readonly isRawModeSupported: boolean;
21
+ readonly internal_exitOnCtrlC: boolean;
22
+ readonly internal_eventEmitter: EventEmitter;
23
+ /** Query the terminal and await responses (DECRQM, OSC 11, etc.).
24
+ * Null only in the never-reached default context value. */
25
+ readonly internal_querier: TerminalQuerier | null;
26
+ };
27
+ /**
28
+ * `StdinContext` is a React context, which exposes input stream.
29
+ */
30
+ declare const StdinContext: import("react").Context<Props>;
31
+ export default StdinContext;
32
+ //# sourceMappingURL=StdinContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StdinContext.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/StdinContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAA;IAEjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAE7C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IAEpC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IAEtC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAA;IAE5C;gEAC4D;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAA;CAClD,CAAA;AAED;;GAEG;AAEH,QAAA,MAAM,YAAY,gCAShB,CAAA;AAKF,eAAe,YAAY,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { createContext } from 'react';
2
+ import { EventEmitter } from '../events/emitter.js';
3
+ /**
4
+ * `StdinContext` is a React context, which exposes input stream.
5
+ */
6
+ const StdinContext = createContext({
7
+ stdin: process.stdin,
8
+ internal_eventEmitter: new EventEmitter(),
9
+ setRawMode() { },
10
+ isRawModeSupported: false,
11
+ internal_exitOnCtrlC: true,
12
+ internal_querier: null,
13
+ });
14
+ // eslint-disable-next-line custom-rules/no-top-level-side-effects
15
+ StdinContext.displayName = 'InternalStdinContext';
16
+ export default StdinContext;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { type TerminalFocusState } from '../terminal-focus-state.js';
3
+ export type { TerminalFocusState };
4
+ export type TerminalFocusContextProps = {
5
+ readonly isTerminalFocused: boolean;
6
+ readonly terminalFocusState: TerminalFocusState;
7
+ };
8
+ declare const TerminalFocusContext: React.Context<TerminalFocusContextProps>;
9
+ export declare function TerminalFocusProvider(t0: any): any;
10
+ export default TerminalFocusContext;
11
+ //# sourceMappingURL=TerminalFocusContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalFocusContext.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/TerminalFocusContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAqE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACxI,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CACjD,CAAC;AACF,QAAA,MAAM,oBAAoB,0CAGxB,CAAC;AAQH,wBAAgB,qBAAqB,CAAC,EAAE,KAAA,OA8BvC;AACD,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { c as _c } from "react/compiler-runtime";
3
+ import { createContext, useSyncExternalStore } from 'react';
4
+ import { getTerminalFocused, getTerminalFocusState, subscribeTerminalFocus } from '../terminal-focus-state.js';
5
+ const TerminalFocusContext = createContext({
6
+ isTerminalFocused: true,
7
+ terminalFocusState: 'unknown'
8
+ });
9
+ // eslint-disable-next-line custom-rules/no-top-level-side-effects
10
+ TerminalFocusContext.displayName = 'TerminalFocusContext';
11
+ // Separate component so App.tsx doesn't re-render on focus changes.
12
+ // Children are a stable prop reference, so they don't re-render either —
13
+ // only components that consume the context will re-render.
14
+ export function TerminalFocusProvider(t0) {
15
+ const $ = _c(6);
16
+ const { children } = t0;
17
+ const isTerminalFocused = useSyncExternalStore(subscribeTerminalFocus, getTerminalFocused);
18
+ const terminalFocusState = useSyncExternalStore(subscribeTerminalFocus, getTerminalFocusState);
19
+ let t1;
20
+ if ($[0] !== isTerminalFocused || $[1] !== terminalFocusState) {
21
+ t1 = {
22
+ isTerminalFocused,
23
+ terminalFocusState
24
+ };
25
+ $[0] = isTerminalFocused;
26
+ $[1] = terminalFocusState;
27
+ $[2] = t1;
28
+ }
29
+ else {
30
+ t1 = $[2];
31
+ }
32
+ const value = t1;
33
+ let t2;
34
+ if ($[3] !== children || $[4] !== value) {
35
+ t2 = _jsx(TerminalFocusContext.Provider, { value: value, children: children });
36
+ $[3] = children;
37
+ $[4] = value;
38
+ $[5] = t2;
39
+ }
40
+ else {
41
+ t2 = $[5];
42
+ }
43
+ return t2;
44
+ }
45
+ export default TerminalFocusContext;
@@ -0,0 +1,6 @@
1
+ export type TerminalSize = {
2
+ columns: number;
3
+ rows: number;
4
+ };
5
+ export declare const TerminalSizeContext: import("react").Context<TerminalSize | null>;
6
+ //# sourceMappingURL=TerminalSizeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalSizeContext.d.ts","sourceRoot":"","sources":["../../../../src/ink/components/TerminalSizeContext.tsx"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,eAAO,MAAM,mBAAmB,8CAA2C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ export const TerminalSizeContext = createContext(null);
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwiVGVybWluYWxTaXplIiwiY29sdW1ucyIsInJvd3MiLCJUZXJtaW5hbFNpemVDb250ZXh0Il0sInNvdXJjZXMiOlsiVGVybWluYWxTaXplQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgdHlwZSBUZXJtaW5hbFNpemUgPSB7XG4gIGNvbHVtbnM6IG51bWJlclxuICByb3dzOiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IFRlcm1pbmFsU2l6ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFRlcm1pbmFsU2l6ZSB8IG51bGw+KG51bGwpXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBUSxPQUFPO0FBRXJDLE9BQU8sS0FBS0MsWUFBWSxHQUFHO0VBQ3pCQyxPQUFPLEVBQUUsTUFBTTtFQUNmQyxJQUFJLEVBQUUsTUFBTTtBQUNkLENBQUM7QUFFRCxPQUFPLE1BQU1DLG1CQUFtQixHQUFHSixhQUFhLENBQUNDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=