@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,25 @@
1
+ /**
2
+ * Pixel-whale animation frames for the startup splash, converted from
3
+ * the hand-drawn Excel art in `whale_frames.zip` (25x40 cells, palette
4
+ * alphabet shared with Whale.tsx: D outline, B body, L belly, W mouth,
5
+ * `.` transparent). `OPENING_SEQUENCE` plays once at startup: blink,
6
+ * water-spout bloom, tail wag, then the header settles static.
7
+ */
8
+ /** One animation frame: 25 sprite rows of 40 palette characters. */
9
+ export interface WhaleFrame {
10
+ /** Frame label from the source art (Chinese names kept for traceability). */
11
+ readonly name: string;
12
+ readonly rows: readonly string[];
13
+ }
14
+ /** The 13 hand-drawn frames. */
15
+ export declare const WHALE_FRAMES: readonly WhaleFrame[];
16
+ /** One step of the opening animation: frame index + dwell time. */
17
+ export interface OpeningStep {
18
+ /** Index into WHALE_FRAMES. */
19
+ readonly frame: number;
20
+ /** How long the frame stays on screen, in milliseconds. */
21
+ readonly ms: number;
22
+ }
23
+ /** Startup sequence (~3.4s), ending on the standard pose. */
24
+ export declare const OPENING_SEQUENCE: readonly OpeningStep[];
25
+ //# sourceMappingURL=whaleFrames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whaleFrames.d.ts","sourceRoot":"","sources":["../../../src/components/whaleFrames.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,gCAAgC;AAChC,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAuY7C,CAAA;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EAiBlD,CAAA"}
@@ -0,0 +1,419 @@
1
+ /**
2
+ * Pixel-whale animation frames for the startup splash, converted from
3
+ * the hand-drawn Excel art in `whale_frames.zip` (25x40 cells, palette
4
+ * alphabet shared with Whale.tsx: D outline, B body, L belly, W mouth,
5
+ * `.` transparent). `OPENING_SEQUENCE` plays once at startup: blink,
6
+ * water-spout bloom, tail wag, then the header settles static.
7
+ */
8
+ /** The 13 hand-drawn frames. */
9
+ export const WHALE_FRAMES = [
10
+ {
11
+ name: 'standard',
12
+ rows: [
13
+ '........................................',
14
+ '........................................',
15
+ '........................D...............',
16
+ '.......................DBD.......D......',
17
+ '.......................DBBD.....DBD.....',
18
+ '.......................DBBBD..DDBBD.....',
19
+ '.......................DBBBBDDBBBBD.....',
20
+ '.......DDDDDDDDD........DBBBBBBBBD......',
21
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
22
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
23
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
24
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
25
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
26
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
27
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
28
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
29
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
30
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
31
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
32
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
33
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
34
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
35
+ '.........DDDDDDDDDDD..DDDDDDD...........',
36
+ '........................................',
37
+ '........................................',
38
+ ],
39
+ },
40
+ {
41
+ name: 'blink',
42
+ rows: [
43
+ '........................................',
44
+ '........................................',
45
+ '........................D...............',
46
+ '.......................DBD.......D......',
47
+ '.......................DBBD.....DBD.....',
48
+ '.......................DBBBD..DDBBD.....',
49
+ '.......................DBBBBDDBBBBD.....',
50
+ '.......DDDDDDDDD........DBBBBBBBBD......',
51
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
52
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
53
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
54
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
55
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
56
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
57
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
58
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
59
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
60
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
61
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
62
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
63
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
64
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
65
+ '.........DDDDDDDDDDD..DDDDDDD...........',
66
+ '........................................',
67
+ '........................................',
68
+ ],
69
+ },
70
+ {
71
+ name: 'fin1',
72
+ rows: [
73
+ '........................................',
74
+ '........................................',
75
+ '........................D...............',
76
+ '.......................DBD.......D......',
77
+ '.......................DBBD.....DBD.....',
78
+ '.......................DBBBD..DDBBD.....',
79
+ '.......................DBBBBDDBBBBD.....',
80
+ '.......DDDDDDDDD........DBBBBBBBBD......',
81
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
82
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
83
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
84
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
85
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
86
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
87
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
88
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
89
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
90
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
91
+ '....DLLWWWWWWWWWWWWDBBBBBDBD............',
92
+ '.....DLLLWWWWWWWWWWDBBBBBBD.............',
93
+ '......DDLLLWWWWWWLLLDBBBBBBDD...........',
94
+ '........DLLLLLLLLLLLLDDBBBBBBD..........',
95
+ '.........DDDDDDDDDDDD..DDDDDD...........',
96
+ '........................................',
97
+ '........................................',
98
+ ],
99
+ },
100
+ {
101
+ name: 'fin2',
102
+ rows: [
103
+ '........................................',
104
+ '........................................',
105
+ '........................D...............',
106
+ '.......................DBD.......D......',
107
+ '.......................DBBD.....DBD.....',
108
+ '.......................DBBBD..DDBBD.....',
109
+ '.......................DBBBBDDBBBBD.....',
110
+ '.......DDDDDDDDD........DBBBBBBBBD......',
111
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
112
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
113
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
114
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
115
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
116
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
117
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
118
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
119
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
120
+ '...DDBWWWWWWWWWWWWBBBBBBDDBBD...........',
121
+ '....DLLWWWWWWWWWWWWDBBBBBBDD............',
122
+ '.....DLLLWWWWWWWWWWDBBBBBBBBDD..........',
123
+ '......DDLLLWWWWWWLLLDBBBBBBBBBD.........',
124
+ '........DLLLLLLLLLLLLDDDBBBBBD..........',
125
+ '.........DDDDDDDDDDDD...DDDDD...........',
126
+ '........................................',
127
+ '........................................',
128
+ ],
129
+ },
130
+ {
131
+ name: 'spout1',
132
+ rows: [
133
+ '........................................',
134
+ '........................................',
135
+ '........................D...............',
136
+ '.......................DBD.......D......',
137
+ '.......................DBBD.....DBD.....',
138
+ '..........LLL..........DBBBD..DDBBD.....',
139
+ '...........L...........DBBBBDDBBBBD.....',
140
+ '.......DDDDDDDDD........DBBBBBBBBD......',
141
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
142
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
143
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
144
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
145
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
146
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
147
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
148
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
149
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
150
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
151
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
152
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
153
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
154
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
155
+ '.........DDDDDDDDDDD..DDDDDDD...........',
156
+ '........................................',
157
+ '........................................',
158
+ ],
159
+ },
160
+ {
161
+ name: 'spout2',
162
+ rows: [
163
+ '........................................',
164
+ '........................................',
165
+ '........................D...............',
166
+ '...........L...........DBD.......D......',
167
+ '.........LLLLL.........DBBD.....DBD.....',
168
+ '..........LLL..........DBBBD..DDBBD.....',
169
+ '...........L...........DBBBBDDBBBBD.....',
170
+ '.......DDDDDDDDD........DBBBBBBBBD......',
171
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
172
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
173
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
174
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
175
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
176
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
177
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
178
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
179
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
180
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
181
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
182
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
183
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
184
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
185
+ '.........DDDDDDDDDDD..DDDDDDD...........',
186
+ '........................................',
187
+ '........................................',
188
+ ],
189
+ },
190
+ {
191
+ name: 'spout3',
192
+ rows: [
193
+ '........................................',
194
+ '........................................',
195
+ '...........L............D...............',
196
+ '.........LLLLL.........DBD.......D......',
197
+ '.......LLLLLLLLL.......DBBD.....DBD.....',
198
+ '..........LLL..........DBBBD..DDBBD.....',
199
+ '...........L...........DBBBBDDBBBBD.....',
200
+ '.......DDDDDDDDD........DBBBBBBBBD......',
201
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
202
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
203
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
204
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
205
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
206
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
207
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
208
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
209
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
210
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
211
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
212
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
213
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
214
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
215
+ '.........DDDDDDDDDDD..DDDDDDD...........',
216
+ '........................................',
217
+ '........................................',
218
+ ],
219
+ },
220
+ {
221
+ name: 'spout4',
222
+ rows: [
223
+ '........................................',
224
+ '...........L............................',
225
+ '........LLLLLLL.........D...............',
226
+ '......LLLLLLLLLLL......DBD.......D......',
227
+ '......L...LLL...L......DBBD.....DBD.....',
228
+ '...........L...........DBBBD..DDBBD.....',
229
+ '.......................DBBBBDDBBBBD.....',
230
+ '.......DDDDDDDDD........DBBBBBBBBD......',
231
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
232
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
233
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
234
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
235
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
236
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
237
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
238
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
239
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
240
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
241
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
242
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
243
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
244
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
245
+ '.........DDDDDDDDDDD..DDDDDDD...........',
246
+ '........................................',
247
+ '........................................',
248
+ ],
249
+ },
250
+ {
251
+ name: 'spout5',
252
+ rows: [
253
+ '........................................',
254
+ '.......LL..L..LL........................',
255
+ '......LLLL.L.LLLL.......D...............',
256
+ '.....L....LLL....L.....DBD.......D......',
257
+ '....L......L......L....DBBD.....DBD.....',
258
+ '.......................DBBBD..DDBBD.....',
259
+ '.......................DBBBBDDBBBBD.....',
260
+ '.......DDDDDDDDD........DBBBBBBBBD......',
261
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
262
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
263
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
264
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
265
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
266
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
267
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
268
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
269
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
270
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
271
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
272
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
273
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
274
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
275
+ '.........DDDDDDDDDDD..DDDDDDD...........',
276
+ '........................................',
277
+ '........................................',
278
+ ],
279
+ },
280
+ {
281
+ name: 'spout6',
282
+ rows: [
283
+ '........................................',
284
+ '......LL...L...LL.......................',
285
+ '.....L..LL.L.LL..L......D...............',
286
+ '....L.....LLL.....L....DBD.......D......',
287
+ '...L.......L.......L...DBBD.....DBD.....',
288
+ '.......................DBBBD..DDBBD.....',
289
+ '.......................DBBBBDDBBBBD.....',
290
+ '.......DDDDDDDDD........DBBBBBBBBD......',
291
+ '......DBBBBBBBBBDD.......DBBBBBBBD......',
292
+ '.....DBBBBBBBBBBBBDD.....DBBBBBDD.......',
293
+ '....DBBBBBBBBBBBBBBBDD....DBBBD.........',
294
+ '...DDBBBBBBBBBBBBBBBBBD..DBBBBD.........',
295
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBD.........',
296
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
297
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBD..........',
298
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
299
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBD...........',
300
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
301
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
302
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
303
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
304
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
305
+ '.........DDDDDDDDDDD..DDDDDDD...........',
306
+ '........................................',
307
+ '........................................',
308
+ ],
309
+ },
310
+ {
311
+ name: 'tail1',
312
+ rows: [
313
+ '........................................',
314
+ '........................................',
315
+ '.........................D..............',
316
+ '........................DBD.......D.....',
317
+ '........................DBBD.....DBD....',
318
+ '........................DBBBD..DDBBD....',
319
+ '.........................DBBBDDBBBBD....',
320
+ '.......DDDDDDDDD.........DBBBBBBBBD.....',
321
+ '......DBBBBBBBBBDD........DBBBBBBBD.....',
322
+ '.....DBBBBBBBBBBBBDD......DBBBBBDD......',
323
+ '....DBBBBBBBBBBBBBBBDD.....DBBBD........',
324
+ '...DDBBBBBBBBBBBBBBBBBD...DBBBBD........',
325
+ '...DBBBBBBBBBBBBBBBBBBBDDDBBBBBD........',
326
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
327
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
328
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBD..........',
329
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBBD..........',
330
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
331
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
332
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
333
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
334
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
335
+ '.........DDDDDDDDDDD..DDDDDDD...........',
336
+ '........................................',
337
+ '........................................',
338
+ ],
339
+ },
340
+ {
341
+ name: 'tail2',
342
+ rows: [
343
+ '........................................',
344
+ '........................................',
345
+ '..........................D.............',
346
+ '.........................DBD........DD..',
347
+ '.........................DBBD......DBD..',
348
+ '.........................DBBBD....DBBD..',
349
+ '..........................DBBBD.DDBBD...',
350
+ '.......DDDDDDDDD...........DBBBDBBBBD...',
351
+ '......DBBBBBBBBBDD.........DBBBBBBBD....',
352
+ '.....DBBBBBBBBBBBBDD........DBBBBBD.....',
353
+ '....DBBBBBBBBBBBBBBBDD......DBBBBBD.....',
354
+ '...DDBBBBBBBBBBBBBBBBBD..DDDBBBBDD......',
355
+ '...DBBBBBBBBBBBBBBBBBBBDDBBBBBBBD.......',
356
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBBD........',
357
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBD.........',
358
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBBD.........',
359
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBBD..........',
360
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBD...........',
361
+ '....DLLWWWWWWWWWWWWDBBBBDDBD............',
362
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
363
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
364
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
365
+ '.........DDDDDDDDDDD..DDDDDDD...........',
366
+ '........................................',
367
+ '........................................',
368
+ ],
369
+ },
370
+ {
371
+ name: 'tail3',
372
+ rows: [
373
+ '........................................',
374
+ '........................................',
375
+ '........................................',
376
+ '.............................D..........',
377
+ '............................DBD.........',
378
+ '............................DBD.........',
379
+ '...........................DBBD.....DD..',
380
+ '.......DDDDDDDDD...........DBBBD...DBBD.',
381
+ '......DBBBBBBBBBDD.........DBBBD.DDBBD..',
382
+ '.....DBBBBBBBBBBBBDD.......DBBBBDBBBBD..',
383
+ '....DBBBBBBBBBBBBBBBDD......DBBBBBBBD...',
384
+ '...DDBBBBBBBBBBBBBBBBBD...DDBBBBBBBD....',
385
+ '...DBBBBBBBBBBBBBBBBBBBDDDBBBBBBBBD.....',
386
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBBBDD......',
387
+ '...DBBBDBBBBBBDBBBBBBBBBBBBBBBBD........',
388
+ '...DBBBBBBBBBBBBBBBBBBBBBBBBBBBD........',
389
+ '...DBBBBWWWWWWWBBBBBBBBDBBBBBBD.........',
390
+ '...DDBWWWWWWWWWWWWBBBBBBDBBBDD..........',
391
+ '....DLLWWWWWWWWWWWWDBBBBDDBDD...........',
392
+ '.....DLLLWWWWWWWWWWDBBBBBDD.............',
393
+ '......DDLLLWWWWWWLLLDBBBBBDD............',
394
+ '........DLLLLLLLLLLLDDBBBBBBD...........',
395
+ '.........DDDDDDDDDDD..DDDDDDD...........',
396
+ '........................................',
397
+ '........................................',
398
+ ],
399
+ },
400
+ ];
401
+ /** Startup sequence (~3.4s), ending on the standard pose. */
402
+ export const OPENING_SEQUENCE = [
403
+ { frame: 0, ms: 400 }, // standard
404
+ { frame: 1, ms: 250 }, // blink
405
+ { frame: 0, ms: 300 }, // standard
406
+ { frame: 4, ms: 150 }, // spout1
407
+ { frame: 5, ms: 150 }, // spout2
408
+ { frame: 6, ms: 150 }, // spout3
409
+ { frame: 7, ms: 150 }, // spout4
410
+ { frame: 8, ms: 150 }, // spout5
411
+ { frame: 9, ms: 150 }, // spout6
412
+ { frame: 0, ms: 250 }, // standard
413
+ { frame: 10, ms: 170 }, // tail1
414
+ { frame: 11, ms: 170 }, // tail2
415
+ { frame: 12, ms: 260 }, // tail3
416
+ { frame: 11, ms: 170 }, // tail2
417
+ { frame: 10, ms: 170 }, // tail1
418
+ { frame: 0, ms: 300 }, // standard
419
+ ];
@@ -0,0 +1,104 @@
1
+ /**
2
+ * User-defined color themes for dsh-tui.
3
+ *
4
+ * A theme is a JSON file in `~/.dsh-cc/themes/<name>.json`:
5
+ *
6
+ * ```json
7
+ * { "name": "sakura", "displayName": "Sakura Pink", "base": "dark",
8
+ * "colors": { "claude": "#FF9EC7", "text": "#E8E6E0" } }
9
+ * ```
10
+ *
11
+ * `base` is required (`light`/`dark`/`dark-ansi`) and selects the built-in
12
+ * palette the file overlays; `colors` holds a subset of Theme keys. `name`
13
+ * defaults to the file name; `displayName` defaults to `name`.
14
+ *
15
+ * Validation is best-effort per key: unknown keys and invalid color values
16
+ * are skipped with a warning on stderr, never fatal; a file whose JSON is
17
+ * malformed or whose `base` is invalid is skipped entirely (also warned).
18
+ * Accepted color value forms (the same forms the built-in palettes and the
19
+ * Ink color engine use): `#rgb`, `#rrggbb`, `#rrggbbaa`, `rgb(r,g,b)`,
20
+ * `ansi256(n)` and the 16 `ansi:` names.
21
+ */
22
+ import { type Theme } from './theme.js';
23
+ /** The base palettes a user theme may overlay. */
24
+ export declare const THEME_BASE_NAMES: readonly ["light", "dark", "dark-ansi"];
25
+ export type ThemeBase = (typeof THEME_BASE_NAMES)[number];
26
+ /** The directory user theme files live in (~/.dsh-cc/themes). */
27
+ export declare const CUSTOM_THEME_DIR: string;
28
+ /** A validated user theme file. `colors` only carries accepted overrides. */
29
+ export type CustomThemeSpec = {
30
+ /** Stable id: the file's `name` field, or the file name (minus .json) when omitted. */
31
+ name: string;
32
+ /** Human-readable label for pickers; defaults to `name`. */
33
+ displayName: string;
34
+ /** The built-in palette this theme overlays. */
35
+ base: ThemeBase;
36
+ /** Validated Theme-key overrides (a subset of the base palette). */
37
+ colors: Partial<Theme>;
38
+ /** The underlying file name without .json — the on-disk load key. */
39
+ file: string;
40
+ };
41
+ /**
42
+ * Whether a name is safe to use as a file name (no path separators or dot
43
+ * traversal). Theme names are user input from CC_TUI_THEME and /theme, so
44
+ * they must never escape the themes directory.
45
+ */
46
+ export declare function isSafeThemeName(name: string): boolean;
47
+ /**
48
+ * Whether a value is an accepted color string: #rgb/#rrggbb/#rrggbbaa,
49
+ * rgb(r,g,b), ansi256(n) or one of the 16 ansi: names — the same forms the
50
+ * built-in palettes and the Ink color engine accept.
51
+ * @param value - Candidate color value.
52
+ * @returns True when the value is a well-formed color string.
53
+ */
54
+ export declare function isValidThemeColor(value: unknown): value is string;
55
+ /**
56
+ * Parse and validate a theme file's contents. Unknown keys and invalid
57
+ * color values are skipped (each warned); a file that is not an object,
58
+ * has an invalid `base`, or has a non-object `colors` is rejected entirely.
59
+ * @param text - Raw file contents.
60
+ * @param fileName - File name (with or without the .json extension); the
61
+ * load key and the default theme name when the file omits `name`.
62
+ * @returns The validated spec, or undefined when the file is unusable.
63
+ */
64
+ export declare function parseCustomTheme(text: string, fileName: string): CustomThemeSpec | undefined;
65
+ /**
66
+ * Load and validate one user theme by name.
67
+ * @param name - Theme name (file name without .json).
68
+ * @param dir - Themes directory (injectable for tests).
69
+ * @returns The validated spec, or undefined when missing/invalid.
70
+ */
71
+ export declare function loadCustomTheme(name: string, dir?: string): CustomThemeSpec | undefined;
72
+ /**
73
+ * Discover every usable user theme in the themes directory, sorted by name.
74
+ * Invalid files are skipped (each warned by parseCustomTheme).
75
+ * @param dir - Themes directory (injectable for tests).
76
+ * @returns The validated specs found.
77
+ */
78
+ export declare function listCustomThemes(dir?: string): CustomThemeSpec[];
79
+ /**
80
+ * Overlay a spec's overrides onto its base palette.
81
+ * @param spec - Validated theme spec.
82
+ * @returns The full concrete palette.
83
+ */
84
+ export declare function buildTheme(spec: CustomThemeSpec): Theme;
85
+ /**
86
+ * Resolve a user theme name to its full palette, cached after first load.
87
+ * A `name` field that differs from the file name is indexed on the first
88
+ * miss, so display names resolve everywhere. Failures are not cached, so a
89
+ * file fixed while the TUI runs can be picked up on the next attempt.
90
+ * @param name - User theme name.
91
+ * @returns The built palette, or undefined when unknown/invalid.
92
+ */
93
+ export declare function resolveCustomTheme(name: string): Theme | undefined;
94
+ /**
95
+ * Whether a name selects a usable theme: a built-in palette or a valid user
96
+ * theme file. Used for CC_TUI_THEME / persisted-preference validation and
97
+ * the runtime /theme switch.
98
+ * @param name - Candidate theme name.
99
+ * @returns True when the theme resolves.
100
+ */
101
+ export declare function isThemeAvailable(name: string): boolean;
102
+ /** Drop the resolved-theme cache and name index (tests, or after themes change on disk). */
103
+ export declare function clearCustomThemeCache(): void;
104
+ //# sourceMappingURL=customTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customTheme.d.ts","sourceRoot":"","sources":["../../src/customTheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAE9D,kDAAkD;AAClD,eAAO,MAAM,gBAAgB,yCAA0C,CAAA;AACvE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,QAAuC,CAAA;AAEpE,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG;IAC5B,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,IAAI,EAAE,SAAS,CAAA;IACf,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACtB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AA2CD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUjE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CAkE7B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAyB,GAC7B,eAAe,GAAG,SAAS,CAQ7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAyB,GAAG,eAAe,EAAE,CAclF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAWlE;AAcD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}