@nexus-cortex/tui 4.47.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 (409) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +13 -0
  4. package/bin/cli-full.js +23 -0
  5. package/bin/cortex-ui.js +26 -0
  6. package/bin/ink-ui.js +108 -0
  7. package/bin/launcher-dev.js +266 -0
  8. package/bin/launcher.js +516 -0
  9. package/dist/commands/agent/InteractiveAgentMenu.d.ts +100 -0
  10. package/dist/commands/agent/InteractiveAgentMenu.d.ts.map +1 -0
  11. package/dist/commands/agent/InteractiveAgentMenu.js +909 -0
  12. package/dist/commands/agent/InteractiveAgentMenu.js.map +1 -0
  13. package/dist/commands/agent/index.d.ts +55 -0
  14. package/dist/commands/agent/index.d.ts.map +1 -0
  15. package/dist/commands/agent/index.js +714 -0
  16. package/dist/commands/agent/index.js.map +1 -0
  17. package/dist/commands/chat/interactive.d.ts +13 -0
  18. package/dist/commands/chat/interactive.d.ts.map +1 -0
  19. package/dist/commands/chat/interactive.js +2055 -0
  20. package/dist/commands/chat/interactive.js.map +1 -0
  21. package/dist/commands/system-message/EditorLauncher.d.ts +65 -0
  22. package/dist/commands/system-message/EditorLauncher.d.ts.map +1 -0
  23. package/dist/commands/system-message/EditorLauncher.js +143 -0
  24. package/dist/commands/system-message/EditorLauncher.js.map +1 -0
  25. package/dist/commands/system-message/InlineEditor.d.ts +23 -0
  26. package/dist/commands/system-message/InlineEditor.d.ts.map +1 -0
  27. package/dist/commands/system-message/InlineEditor.js +225 -0
  28. package/dist/commands/system-message/InlineEditor.js.map +1 -0
  29. package/dist/commands/system-message/InteractiveMenu.d.ts +76 -0
  30. package/dist/commands/system-message/InteractiveMenu.d.ts.map +1 -0
  31. package/dist/commands/system-message/InteractiveMenu.js +979 -0
  32. package/dist/commands/system-message/InteractiveMenu.js.map +1 -0
  33. package/dist/commands/system-message/index.d.ts +56 -0
  34. package/dist/commands/system-message/index.d.ts.map +1 -0
  35. package/dist/commands/system-message/index.js +694 -0
  36. package/dist/commands/system-message/index.js.map +1 -0
  37. package/dist/commands/ui/artifacts.d.ts +14 -0
  38. package/dist/commands/ui/artifacts.d.ts.map +1 -0
  39. package/dist/commands/ui/artifacts.js +22 -0
  40. package/dist/commands/ui/artifacts.js.map +1 -0
  41. package/dist/commands/ui/config.d.ts +12 -0
  42. package/dist/commands/ui/config.d.ts.map +1 -0
  43. package/dist/commands/ui/config.js +26 -0
  44. package/dist/commands/ui/config.js.map +1 -0
  45. package/dist/commands/ui/context.d.ts +16 -0
  46. package/dist/commands/ui/context.d.ts.map +1 -0
  47. package/dist/commands/ui/context.js +28 -0
  48. package/dist/commands/ui/context.js.map +1 -0
  49. package/dist/commands/ui/middleware.d.ts +14 -0
  50. package/dist/commands/ui/middleware.d.ts.map +1 -0
  51. package/dist/commands/ui/middleware.js +22 -0
  52. package/dist/commands/ui/middleware.js.map +1 -0
  53. package/dist/commands/ui/models.d.ts +14 -0
  54. package/dist/commands/ui/models.d.ts.map +1 -0
  55. package/dist/commands/ui/models.js +50 -0
  56. package/dist/commands/ui/models.js.map +1 -0
  57. package/dist/commands/ui/permissions.d.ts +14 -0
  58. package/dist/commands/ui/permissions.d.ts.map +1 -0
  59. package/dist/commands/ui/permissions.js +22 -0
  60. package/dist/commands/ui/permissions.js.map +1 -0
  61. package/dist/commands/ui/sessions.d.ts +13 -0
  62. package/dist/commands/ui/sessions.d.ts.map +1 -0
  63. package/dist/commands/ui/sessions.js +45 -0
  64. package/dist/commands/ui/sessions.js.map +1 -0
  65. package/dist/commands/ui/system-messages.d.ts +5 -0
  66. package/dist/commands/ui/system-messages.d.ts.map +1 -0
  67. package/dist/commands/ui/system-messages.js +19 -0
  68. package/dist/commands/ui/system-messages.js.map +1 -0
  69. package/dist/commands/ui/themes.d.ts +12 -0
  70. package/dist/commands/ui/themes.d.ts.map +1 -0
  71. package/dist/commands/ui/themes.js +40 -0
  72. package/dist/commands/ui/themes.js.map +1 -0
  73. package/dist/commands/ui/tmux.d.ts +5 -0
  74. package/dist/commands/ui/tmux.d.ts.map +1 -0
  75. package/dist/commands/ui/tmux.js +19 -0
  76. package/dist/commands/ui/tmux.js.map +1 -0
  77. package/dist/cortex.d.ts +12 -0
  78. package/dist/cortex.d.ts.map +1 -0
  79. package/dist/cortex.js +320 -0
  80. package/dist/cortex.js.map +1 -0
  81. package/dist/index.d.ts +3 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +112 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/ink-ui/CortexApp.d.ts +28 -0
  86. package/dist/ink-ui/CortexApp.d.ts.map +1 -0
  87. package/dist/ink-ui/CortexApp.js +2291 -0
  88. package/dist/ink-ui/CortexApp.js.map +1 -0
  89. package/dist/ink-ui/SimpleInputBuffer.d.ts +63 -0
  90. package/dist/ink-ui/SimpleInputBuffer.d.ts.map +1 -0
  91. package/dist/ink-ui/SimpleInputBuffer.js +369 -0
  92. package/dist/ink-ui/SimpleInputBuffer.js.map +1 -0
  93. package/dist/ink-ui/commands/slashCommands.d.ts +40 -0
  94. package/dist/ink-ui/commands/slashCommands.d.ts.map +1 -0
  95. package/dist/ink-ui/commands/slashCommands.js +111 -0
  96. package/dist/ink-ui/commands/slashCommands.js.map +1 -0
  97. package/dist/ink-ui/commands/types.d.ts +161 -0
  98. package/dist/ink-ui/commands/types.d.ts.map +1 -0
  99. package/dist/ink-ui/commands/types.js +12 -0
  100. package/dist/ink-ui/commands/types.js.map +1 -0
  101. package/dist/ink-ui/components/ApprovalDialog.d.ts +21 -0
  102. package/dist/ink-ui/components/ApprovalDialog.d.ts.map +1 -0
  103. package/dist/ink-ui/components/ApprovalDialog.js +81 -0
  104. package/dist/ink-ui/components/ApprovalDialog.js.map +1 -0
  105. package/dist/ink-ui/components/CommandSuggestions.d.ts +19 -0
  106. package/dist/ink-ui/components/CommandSuggestions.d.ts.map +1 -0
  107. package/dist/ink-ui/components/CommandSuggestions.js +36 -0
  108. package/dist/ink-ui/components/CommandSuggestions.js.map +1 -0
  109. package/dist/ink-ui/components/DiffPreview.d.ts +60 -0
  110. package/dist/ink-ui/components/DiffPreview.d.ts.map +1 -0
  111. package/dist/ink-ui/components/DiffPreview.js +195 -0
  112. package/dist/ink-ui/components/DiffPreview.js.map +1 -0
  113. package/dist/ink-ui/components/DocumentPreview.d.ts +50 -0
  114. package/dist/ink-ui/components/DocumentPreview.d.ts.map +1 -0
  115. package/dist/ink-ui/components/DocumentPreview.js +92 -0
  116. package/dist/ink-ui/components/DocumentPreview.js.map +1 -0
  117. package/dist/ink-ui/components/MarkdownText.d.ts +27 -0
  118. package/dist/ink-ui/components/MarkdownText.d.ts.map +1 -0
  119. package/dist/ink-ui/components/MarkdownText.js +342 -0
  120. package/dist/ink-ui/components/MarkdownText.js.map +1 -0
  121. package/dist/ink-ui/components/MenuRenderer.d.ts +26 -0
  122. package/dist/ink-ui/components/MenuRenderer.d.ts.map +1 -0
  123. package/dist/ink-ui/components/MenuRenderer.js +264 -0
  124. package/dist/ink-ui/components/MenuRenderer.js.map +1 -0
  125. package/dist/ink-ui/components/ModelPickerDialog.d.ts +33 -0
  126. package/dist/ink-ui/components/ModelPickerDialog.d.ts.map +1 -0
  127. package/dist/ink-ui/components/ModelPickerDialog.js +98 -0
  128. package/dist/ink-ui/components/ModelPickerDialog.js.map +1 -0
  129. package/dist/ink-ui/components/StreamDisplay.d.ts +31 -0
  130. package/dist/ink-ui/components/StreamDisplay.d.ts.map +1 -0
  131. package/dist/ink-ui/components/StreamDisplay.js +573 -0
  132. package/dist/ink-ui/components/StreamDisplay.js.map +1 -0
  133. package/dist/ink-ui/components/SubAgentPanel.d.ts +98 -0
  134. package/dist/ink-ui/components/SubAgentPanel.d.ts.map +1 -0
  135. package/dist/ink-ui/components/SubAgentPanel.js +155 -0
  136. package/dist/ink-ui/components/SubAgentPanel.js.map +1 -0
  137. package/dist/ink-ui/components/ThinkingDisplay.d.ts +46 -0
  138. package/dist/ink-ui/components/ThinkingDisplay.d.ts.map +1 -0
  139. package/dist/ink-ui/components/ThinkingDisplay.js +176 -0
  140. package/dist/ink-ui/components/ThinkingDisplay.js.map +1 -0
  141. package/dist/ink-ui/components/ToolCallDisplay.d.ts +51 -0
  142. package/dist/ink-ui/components/ToolCallDisplay.d.ts.map +1 -0
  143. package/dist/ink-ui/components/ToolCallDisplay.js +378 -0
  144. package/dist/ink-ui/components/ToolCallDisplay.js.map +1 -0
  145. package/dist/ink-ui/components/WritePreview.d.ts +42 -0
  146. package/dist/ink-ui/components/WritePreview.d.ts.map +1 -0
  147. package/dist/ink-ui/components/WritePreview.js +100 -0
  148. package/dist/ink-ui/components/WritePreview.js.map +1 -0
  149. package/dist/ink-ui/contexts/KeypressContext.d.ts +32 -0
  150. package/dist/ink-ui/contexts/KeypressContext.d.ts.map +1 -0
  151. package/dist/ink-ui/contexts/KeypressContext.js +529 -0
  152. package/dist/ink-ui/contexts/KeypressContext.js.map +1 -0
  153. package/dist/ink-ui/contexts/SessionContext.d.ts +46 -0
  154. package/dist/ink-ui/contexts/SessionContext.d.ts.map +1 -0
  155. package/dist/ink-ui/contexts/SessionContext.js +162 -0
  156. package/dist/ink-ui/contexts/SessionContext.js.map +1 -0
  157. package/dist/ink-ui/core-stubs.d.ts +270 -0
  158. package/dist/ink-ui/core-stubs.d.ts.map +1 -0
  159. package/dist/ink-ui/core-stubs.js +276 -0
  160. package/dist/ink-ui/core-stubs.js.map +1 -0
  161. package/dist/ink-ui/cortex-types.d.ts +214 -0
  162. package/dist/ink-ui/cortex-types.d.ts.map +1 -0
  163. package/dist/ink-ui/cortex-types.js +52 -0
  164. package/dist/ink-ui/cortex-types.js.map +1 -0
  165. package/dist/ink-ui/hooks/useCortexStream.d.ts +75 -0
  166. package/dist/ink-ui/hooks/useCortexStream.d.ts.map +1 -0
  167. package/dist/ink-ui/hooks/useCortexStream.js +518 -0
  168. package/dist/ink-ui/hooks/useCortexStream.js.map +1 -0
  169. package/dist/ink-ui/hooks/useFocus.d.ts +11 -0
  170. package/dist/ink-ui/hooks/useFocus.d.ts.map +1 -0
  171. package/dist/ink-ui/hooks/useFocus.js +51 -0
  172. package/dist/ink-ui/hooks/useFocus.js.map +1 -0
  173. package/dist/ink-ui/hooks/useHistoryManager.d.ts +23 -0
  174. package/dist/ink-ui/hooks/useHistoryManager.d.ts.map +1 -0
  175. package/dist/ink-ui/hooks/useHistoryManager.js +63 -0
  176. package/dist/ink-ui/hooks/useHistoryManager.js.map +1 -0
  177. package/dist/ink-ui/hooks/useKeypress.d.ts +18 -0
  178. package/dist/ink-ui/hooks/useKeypress.d.ts.map +1 -0
  179. package/dist/ink-ui/hooks/useKeypress.js +27 -0
  180. package/dist/ink-ui/hooks/useKeypress.js.map +1 -0
  181. package/dist/ink-ui/hooks/useReactApprovalHandler.d.ts +74 -0
  182. package/dist/ink-ui/hooks/useReactApprovalHandler.d.ts.map +1 -0
  183. package/dist/ink-ui/hooks/useReactApprovalHandler.js +83 -0
  184. package/dist/ink-ui/hooks/useReactApprovalHandler.js.map +1 -0
  185. package/dist/ink-ui/hooks/useTerminalSize.d.ts +10 -0
  186. package/dist/ink-ui/hooks/useTerminalSize.d.ts.map +1 -0
  187. package/dist/ink-ui/hooks/useTerminalSize.js +28 -0
  188. package/dist/ink-ui/hooks/useTerminalSize.js.map +1 -0
  189. package/dist/ink-ui/semantic-colors.d.ts +8 -0
  190. package/dist/ink-ui/semantic-colors.d.ts.map +1 -0
  191. package/dist/ink-ui/semantic-colors.js +24 -0
  192. package/dist/ink-ui/semantic-colors.js.map +1 -0
  193. package/dist/ink-ui/state/extensions.d.ts +68 -0
  194. package/dist/ink-ui/state/extensions.d.ts.map +1 -0
  195. package/dist/ink-ui/state/extensions.js +97 -0
  196. package/dist/ink-ui/state/extensions.js.map +1 -0
  197. package/dist/ink-ui/themes/ansi-light.d.ts +8 -0
  198. package/dist/ink-ui/themes/ansi-light.d.ts.map +1 -0
  199. package/dist/ink-ui/themes/ansi-light.js +143 -0
  200. package/dist/ink-ui/themes/ansi-light.js.map +1 -0
  201. package/dist/ink-ui/themes/ansi.d.ts +8 -0
  202. package/dist/ink-ui/themes/ansi.d.ts.map +1 -0
  203. package/dist/ink-ui/themes/ansi.js +153 -0
  204. package/dist/ink-ui/themes/ansi.js.map +1 -0
  205. package/dist/ink-ui/themes/atom-one-dark.d.ts +8 -0
  206. package/dist/ink-ui/themes/atom-one-dark.d.ts.map +1 -0
  207. package/dist/ink-ui/themes/atom-one-dark.js +140 -0
  208. package/dist/ink-ui/themes/atom-one-dark.js.map +1 -0
  209. package/dist/ink-ui/themes/ayu-light.d.ts +8 -0
  210. package/dist/ink-ui/themes/ayu-light.d.ts.map +1 -0
  211. package/dist/ink-ui/themes/ayu-light.js +132 -0
  212. package/dist/ink-ui/themes/ayu-light.js.map +1 -0
  213. package/dist/ink-ui/themes/ayu.d.ts +8 -0
  214. package/dist/ink-ui/themes/ayu.d.ts.map +1 -0
  215. package/dist/ink-ui/themes/ayu.js +106 -0
  216. package/dist/ink-ui/themes/ayu.js.map +1 -0
  217. package/dist/ink-ui/themes/color-utils.d.ts +23 -0
  218. package/dist/ink-ui/themes/color-utils.d.ts.map +1 -0
  219. package/dist/ink-ui/themes/color-utils.js +237 -0
  220. package/dist/ink-ui/themes/color-utils.js.map +1 -0
  221. package/dist/ink-ui/themes/default-light.d.ts +8 -0
  222. package/dist/ink-ui/themes/default-light.d.ts.map +1 -0
  223. package/dist/ink-ui/themes/default-light.js +100 -0
  224. package/dist/ink-ui/themes/default-light.js.map +1 -0
  225. package/dist/ink-ui/themes/default.d.ts +8 -0
  226. package/dist/ink-ui/themes/default.d.ts.map +1 -0
  227. package/dist/ink-ui/themes/default.js +143 -0
  228. package/dist/ink-ui/themes/default.js.map +1 -0
  229. package/dist/ink-ui/themes/dracula.d.ts +8 -0
  230. package/dist/ink-ui/themes/dracula.d.ts.map +1 -0
  231. package/dist/ink-ui/themes/dracula.js +117 -0
  232. package/dist/ink-ui/themes/dracula.js.map +1 -0
  233. package/dist/ink-ui/themes/github-dark.d.ts +8 -0
  234. package/dist/ink-ui/themes/github-dark.d.ts.map +1 -0
  235. package/dist/ink-ui/themes/github-dark.js +140 -0
  236. package/dist/ink-ui/themes/github-dark.js.map +1 -0
  237. package/dist/ink-ui/themes/github-light.d.ts +8 -0
  238. package/dist/ink-ui/themes/github-light.d.ts.map +1 -0
  239. package/dist/ink-ui/themes/github-light.js +142 -0
  240. package/dist/ink-ui/themes/github-light.js.map +1 -0
  241. package/dist/ink-ui/themes/googlecode.d.ts +8 -0
  242. package/dist/ink-ui/themes/googlecode.d.ts.map +1 -0
  243. package/dist/ink-ui/themes/googlecode.js +139 -0
  244. package/dist/ink-ui/themes/googlecode.js.map +1 -0
  245. package/dist/ink-ui/themes/no-color.d.ts +8 -0
  246. package/dist/ink-ui/themes/no-color.d.ts.map +1 -0
  247. package/dist/ink-ui/themes/no-color.js +118 -0
  248. package/dist/ink-ui/themes/no-color.js.map +1 -0
  249. package/dist/ink-ui/themes/semantic-tokens.d.ts +40 -0
  250. package/dist/ink-ui/themes/semantic-tokens.d.ts.map +1 -0
  251. package/dist/ink-ui/themes/semantic-tokens.js +100 -0
  252. package/dist/ink-ui/themes/semantic-tokens.js.map +1 -0
  253. package/dist/ink-ui/themes/shades-of-purple.d.ts +12 -0
  254. package/dist/ink-ui/themes/shades-of-purple.d.ts.map +1 -0
  255. package/dist/ink-ui/themes/shades-of-purple.js +306 -0
  256. package/dist/ink-ui/themes/shades-of-purple.js.map +1 -0
  257. package/dist/ink-ui/themes/theme-manager.d.ts +67 -0
  258. package/dist/ink-ui/themes/theme-manager.d.ts.map +1 -0
  259. package/dist/ink-ui/themes/theme-manager.js +263 -0
  260. package/dist/ink-ui/themes/theme-manager.js.map +1 -0
  261. package/dist/ink-ui/themes/theme.d.ts +134 -0
  262. package/dist/ink-ui/themes/theme.d.ts.map +1 -0
  263. package/dist/ink-ui/themes/theme.js +390 -0
  264. package/dist/ink-ui/themes/theme.js.map +1 -0
  265. package/dist/ink-ui/themes/xcode.d.ts +8 -0
  266. package/dist/ink-ui/themes/xcode.d.ts.map +1 -0
  267. package/dist/ink-ui/themes/xcode.js +147 -0
  268. package/dist/ink-ui/themes/xcode.js.map +1 -0
  269. package/dist/ink-ui/types.d.ts +306 -0
  270. package/dist/ink-ui/types.d.ts.map +1 -0
  271. package/dist/ink-ui/types.js +65 -0
  272. package/dist/ink-ui/types.js.map +1 -0
  273. package/dist/ink-ui/utils/input.d.ts +18 -0
  274. package/dist/ink-ui/utils/input.d.ts.map +1 -0
  275. package/dist/ink-ui/utils/input.js +51 -0
  276. package/dist/ink-ui/utils/input.js.map +1 -0
  277. package/dist/ink-ui/utils/mouse.d.ts +33 -0
  278. package/dist/ink-ui/utils/mouse.d.ts.map +1 -0
  279. package/dist/ink-ui/utils/mouse.js +182 -0
  280. package/dist/ink-ui/utils/mouse.js.map +1 -0
  281. package/dist/services/BuiltinCommandLoader.d.ts +21 -0
  282. package/dist/services/BuiltinCommandLoader.d.ts.map +1 -0
  283. package/dist/services/BuiltinCommandLoader.js +182 -0
  284. package/dist/services/BuiltinCommandLoader.js.map +1 -0
  285. package/dist/services/CommandService.d.ts +39 -0
  286. package/dist/services/CommandService.d.ts.map +1 -0
  287. package/dist/services/CommandService.js +49 -0
  288. package/dist/services/CommandService.js.map +1 -0
  289. package/dist/services/FileCommandLoader.d.ts +16 -0
  290. package/dist/services/FileCommandLoader.d.ts.map +1 -0
  291. package/dist/services/FileCommandLoader.js +19 -0
  292. package/dist/services/FileCommandLoader.js.map +1 -0
  293. package/dist/services/McpPromptLoader.d.ts +16 -0
  294. package/dist/services/McpPromptLoader.d.ts.map +1 -0
  295. package/dist/services/McpPromptLoader.js +19 -0
  296. package/dist/services/McpPromptLoader.js.map +1 -0
  297. package/dist/services/index.d.ts +8 -0
  298. package/dist/services/index.d.ts.map +1 -0
  299. package/dist/services/index.js +8 -0
  300. package/dist/services/index.js.map +1 -0
  301. package/dist/ui/ChalkMenuRenderer.d.ts +22 -0
  302. package/dist/ui/ChalkMenuRenderer.d.ts.map +1 -0
  303. package/dist/ui/ChalkMenuRenderer.js +478 -0
  304. package/dist/ui/ChalkMenuRenderer.js.map +1 -0
  305. package/dist/ui/ChalkModelPicker.d.ts +20 -0
  306. package/dist/ui/ChalkModelPicker.d.ts.map +1 -0
  307. package/dist/ui/ChalkModelPicker.js +363 -0
  308. package/dist/ui/ChalkModelPicker.js.map +1 -0
  309. package/dist/ui/ChalkThemePicker.d.ts +20 -0
  310. package/dist/ui/ChalkThemePicker.d.ts.map +1 -0
  311. package/dist/ui/ChalkThemePicker.js +370 -0
  312. package/dist/ui/ChalkThemePicker.js.map +1 -0
  313. package/dist/ui/InkApprovalDialog.d.ts +8 -0
  314. package/dist/ui/InkApprovalDialog.d.ts.map +1 -0
  315. package/dist/ui/InkApprovalDialog.js +25 -0
  316. package/dist/ui/InkApprovalDialog.js.map +1 -0
  317. package/dist/ui/InkCommandPalette.d.ts +43 -0
  318. package/dist/ui/InkCommandPalette.d.ts.map +1 -0
  319. package/dist/ui/InkCommandPalette.js +105 -0
  320. package/dist/ui/InkCommandPalette.js.map +1 -0
  321. package/dist/ui/InkConfigMenu.d.ts +24 -0
  322. package/dist/ui/InkConfigMenu.d.ts.map +1 -0
  323. package/dist/ui/InkConfigMenu.js +259 -0
  324. package/dist/ui/InkConfigMenu.js.map +1 -0
  325. package/dist/ui/InkHelp.d.ts +25 -0
  326. package/dist/ui/InkHelp.d.ts.map +1 -0
  327. package/dist/ui/InkHelp.js +55 -0
  328. package/dist/ui/InkHelp.js.map +1 -0
  329. package/dist/ui/InkMenuPicker.d.ts +19 -0
  330. package/dist/ui/InkMenuPicker.d.ts.map +1 -0
  331. package/dist/ui/InkMenuPicker.js +33 -0
  332. package/dist/ui/InkMenuPicker.js.map +1 -0
  333. package/dist/ui/InkModelPicker.d.ts +23 -0
  334. package/dist/ui/InkModelPicker.d.ts.map +1 -0
  335. package/dist/ui/InkModelPicker.js +53 -0
  336. package/dist/ui/InkModelPicker.js.map +1 -0
  337. package/dist/ui/PersistentInput.d.ts +91 -0
  338. package/dist/ui/PersistentInput.d.ts.map +1 -0
  339. package/dist/ui/PersistentInput.js +283 -0
  340. package/dist/ui/PersistentInput.js.map +1 -0
  341. package/dist/ui/RawInput.d.ts +27 -0
  342. package/dist/ui/RawInput.d.ts.map +1 -0
  343. package/dist/ui/RawInput.js +731 -0
  344. package/dist/ui/RawInput.js.map +1 -0
  345. package/dist/ui/SlashCommandAutocomplete.d.ts +94 -0
  346. package/dist/ui/SlashCommandAutocomplete.d.ts.map +1 -0
  347. package/dist/ui/SlashCommandAutocomplete.js +274 -0
  348. package/dist/ui/SlashCommandAutocomplete.js.map +1 -0
  349. package/dist/ui/SplashScreen.d.ts +76 -0
  350. package/dist/ui/SplashScreen.d.ts.map +1 -0
  351. package/dist/ui/SplashScreen.js +316 -0
  352. package/dist/ui/SplashScreen.js.map +1 -0
  353. package/dist/ui/components/ArtifactDashboard.d.ts +16 -0
  354. package/dist/ui/components/ArtifactDashboard.d.ts.map +1 -0
  355. package/dist/ui/components/ArtifactDashboard.js +102 -0
  356. package/dist/ui/components/ArtifactDashboard.js.map +1 -0
  357. package/dist/ui/components/ChatInput.d.ts +36 -0
  358. package/dist/ui/components/ChatInput.d.ts.map +1 -0
  359. package/dist/ui/components/ChatInput.js +11 -0
  360. package/dist/ui/components/ChatInput.js.map +1 -0
  361. package/dist/ui/components/ConfigWizard.d.ts +17 -0
  362. package/dist/ui/components/ConfigWizard.d.ts.map +1 -0
  363. package/dist/ui/components/ConfigWizard.js +134 -0
  364. package/dist/ui/components/ConfigWizard.js.map +1 -0
  365. package/dist/ui/components/ContextViewer.d.ts +18 -0
  366. package/dist/ui/components/ContextViewer.d.ts.map +1 -0
  367. package/dist/ui/components/ContextViewer.js +85 -0
  368. package/dist/ui/components/ContextViewer.js.map +1 -0
  369. package/dist/ui/components/MiddlewareDashboard.d.ts +16 -0
  370. package/dist/ui/components/MiddlewareDashboard.d.ts.map +1 -0
  371. package/dist/ui/components/MiddlewareDashboard.js +98 -0
  372. package/dist/ui/components/MiddlewareDashboard.js.map +1 -0
  373. package/dist/ui/components/ModelPicker.d.ts +24 -0
  374. package/dist/ui/components/ModelPicker.d.ts.map +1 -0
  375. package/dist/ui/components/ModelPicker.js +96 -0
  376. package/dist/ui/components/ModelPicker.js.map +1 -0
  377. package/dist/ui/components/MultiLineInput.d.ts +27 -0
  378. package/dist/ui/components/MultiLineInput.d.ts.map +1 -0
  379. package/dist/ui/components/MultiLineInput.js +182 -0
  380. package/dist/ui/components/MultiLineInput.js.map +1 -0
  381. package/dist/ui/components/PermissionsBrowser.d.ts +16 -0
  382. package/dist/ui/components/PermissionsBrowser.d.ts.map +1 -0
  383. package/dist/ui/components/PermissionsBrowser.js +110 -0
  384. package/dist/ui/components/PermissionsBrowser.js.map +1 -0
  385. package/dist/ui/components/SessionBrowser.d.ts +19 -0
  386. package/dist/ui/components/SessionBrowser.d.ts.map +1 -0
  387. package/dist/ui/components/SessionBrowser.js +66 -0
  388. package/dist/ui/components/SessionBrowser.js.map +1 -0
  389. package/dist/ui/components/StatusBar.d.ts +32 -0
  390. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  391. package/dist/ui/components/StatusBar.js +27 -0
  392. package/dist/ui/components/StatusBar.js.map +1 -0
  393. package/dist/ui/components/SystemMessageBrowser.d.ts +11 -0
  394. package/dist/ui/components/SystemMessageBrowser.d.ts.map +1 -0
  395. package/dist/ui/components/SystemMessageBrowser.js +106 -0
  396. package/dist/ui/components/SystemMessageBrowser.js.map +1 -0
  397. package/dist/ui/components/ThemePicker.d.ts +11 -0
  398. package/dist/ui/components/ThemePicker.d.ts.map +1 -0
  399. package/dist/ui/components/ThemePicker.js +62 -0
  400. package/dist/ui/components/ThemePicker.js.map +1 -0
  401. package/dist/ui/components/TmuxBrowser.d.ts +11 -0
  402. package/dist/ui/components/TmuxBrowser.d.ts.map +1 -0
  403. package/dist/ui/components/TmuxBrowser.js +85 -0
  404. package/dist/ui/components/TmuxBrowser.js.map +1 -0
  405. package/dist/ui/components/index.d.ts +22 -0
  406. package/dist/ui/components/index.d.ts.map +1 -0
  407. package/dist/ui/components/index.js +21 -0
  408. package/dist/ui/components/index.js.map +1 -0
  409. package/package.json +70 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * useHistoryManager - Manages conversation history for the UI
3
+ *
4
+ * Simplified version for Cortex that doesn't depend on @google/gemini-cli-core.
5
+ */
6
+ import { useState, useRef, useCallback, useMemo } from 'react';
7
+ /**
8
+ * Custom hook to manage the chat history state.
9
+ *
10
+ * Encapsulates the history array, message ID generation, adding items,
11
+ * updating items, and clearing the history.
12
+ */
13
+ export function useHistory() {
14
+ const [history, setHistory] = useState([]);
15
+ const messageIdCounterRef = useRef(0);
16
+ // Generates a unique message ID based on a timestamp and a counter.
17
+ const getNextMessageId = useCallback((baseTimestamp) => {
18
+ messageIdCounterRef.current += 1;
19
+ return `msg-${baseTimestamp}-${messageIdCounterRef.current}`;
20
+ }, []);
21
+ const loadHistory = useCallback((newHistory) => {
22
+ setHistory(newHistory);
23
+ }, []);
24
+ // Adds a new item to the history state with a unique ID.
25
+ const addItem = useCallback((itemData, baseTimestamp, _isResuming = false) => {
26
+ const id = getNextMessageId(baseTimestamp);
27
+ const newItem = {
28
+ ...itemData,
29
+ id,
30
+ timestamp: baseTimestamp,
31
+ };
32
+ setHistory((prevHistory) => {
33
+ return [...prevHistory, newItem];
34
+ });
35
+ return id;
36
+ }, [getNextMessageId]);
37
+ /**
38
+ * Updates an existing history item identified by its ID.
39
+ */
40
+ const updateItem = useCallback((id, updates) => {
41
+ setHistory((prevHistory) => prevHistory.map((item) => {
42
+ if (item.id === id) {
43
+ // Apply updates based on whether it's an object or a function
44
+ const newUpdates = typeof updates === 'function' ? updates(item) : updates;
45
+ return { ...item, ...newUpdates };
46
+ }
47
+ return item;
48
+ }));
49
+ }, []);
50
+ // Clears the entire history state and resets the ID counter.
51
+ const clearHistory = useCallback(() => {
52
+ setHistory([]);
53
+ messageIdCounterRef.current = 0;
54
+ }, []);
55
+ return useMemo(() => ({
56
+ history,
57
+ addItem,
58
+ updateItem,
59
+ clearHistory,
60
+ loadHistory,
61
+ }), [history, addItem, updateItem, clearHistory, loadHistory]);
62
+ }
63
+ //# sourceMappingURL=useHistoryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHistoryManager.js","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useHistoryManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAuB/D;;;;;GAKG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtC,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,aAAqB,EAAU,EAAE;QACrE,mBAAmB,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,OAAO,OAAO,aAAa,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,UAAyB,EAAE,EAAE;QAC5D,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,yDAAyD;IACzD,MAAM,OAAO,GAAG,WAAW,CACzB,CACE,QAA8B,EAC9B,aAAqB,EACrB,cAAuB,KAAK,EACpB,EAAE;QACV,MAAM,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAgB;YAC3B,GAAG,QAAQ;YACX,EAAE;YACF,SAAS,EAAE,aAAa;SACV,CAAC;QAEjB,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,WAAW,CAC5B,CACE,EAAU,EACV,OAA8D,EAC9D,EAAE;QACF,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CACzB,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnB,8DAA8D;gBAC9D,MAAM,UAAU,GACd,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAiB,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,6DAA6D;IAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,UAAU,CAAC,EAAE,CAAC,CAAC;QACf,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO;QACP,OAAO;QACP,UAAU;QACV,YAAY;QACZ,WAAW;KACZ,CAAC,EACF,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAC1D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { KeypressHandler, Key } from '../contexts/KeypressContext.js';
7
+ export type { Key };
8
+ /**
9
+ * A hook that listens for keypress events from stdin.
10
+ *
11
+ * @param onKeypress - The callback function to execute on each keypress.
12
+ * @param options - Options to control the hook's behavior.
13
+ * @param options.isActive - Whether the hook should be actively listening for input.
14
+ */
15
+ export declare function useKeypress(onKeypress: KeypressHandler, { isActive }: {
16
+ isActive: boolean;
17
+ }): void;
18
+ //# sourceMappingURL=useKeypress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeypress.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useKeypress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAG3E,YAAY,EAAE,GAAG,EAAE,CAAC;AAEpB;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,eAAe,EAC3B,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,QAcpC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { useEffect } from 'react';
7
+ import { useKeypressContext } from '../contexts/KeypressContext.js';
8
+ /**
9
+ * A hook that listens for keypress events from stdin.
10
+ *
11
+ * @param onKeypress - The callback function to execute on each keypress.
12
+ * @param options - Options to control the hook's behavior.
13
+ * @param options.isActive - Whether the hook should be actively listening for input.
14
+ */
15
+ export function useKeypress(onKeypress, { isActive }) {
16
+ const { subscribe, unsubscribe } = useKeypressContext();
17
+ useEffect(() => {
18
+ if (!isActive) {
19
+ return;
20
+ }
21
+ subscribe(onKeypress);
22
+ return () => {
23
+ unsubscribe(onKeypress);
24
+ };
25
+ }, [isActive, onKeypress, subscribe, unsubscribe]);
26
+ }
27
+ //# sourceMappingURL=useKeypress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeypress.js","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useKeypress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,UAA2B,EAC3B,EAAE,QAAQ,EAAyB;IAEnC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * React/Ink-compatible Approval Handler
3
+ *
4
+ * This hook creates an ApprovalHandler that integrates with Ink's React-based UI
5
+ * instead of using raw stdin like CLIApprovalHandler.
6
+ *
7
+ * The handler uses a callback pattern:
8
+ * 1. When approval is needed, it sets pending approval state
9
+ * 2. The UI renders a confirmation dialog
10
+ * 3. When user responds, the handler resolves/rejects the pending promise
11
+ */
12
+ /**
13
+ * Request for tool approval (matches core's ApprovalRequest)
14
+ */
15
+ export interface ApprovalRequest {
16
+ toolName: string;
17
+ toolInput: any;
18
+ reason: string;
19
+ timestamp: Date;
20
+ }
21
+ /**
22
+ * Handler interface for tool approval (matches core's ApprovalHandler)
23
+ */
24
+ export interface ApprovalHandler {
25
+ requestApproval(request: ApprovalRequest): Promise<boolean>;
26
+ }
27
+ /**
28
+ * Pending approval request with resolve/reject callbacks
29
+ */
30
+ export interface PendingApproval {
31
+ request: ApprovalRequest;
32
+ resolve: (approved: boolean) => void;
33
+ }
34
+ /**
35
+ * Return type for the useReactApprovalHandler hook
36
+ */
37
+ export interface UseReactApprovalHandlerReturn {
38
+ /** The ApprovalHandler to pass to the orchestrator */
39
+ handler: ApprovalHandler;
40
+ /** Current pending approval request (null if none) */
41
+ pendingApproval: PendingApproval | null;
42
+ /** Call to approve the pending request */
43
+ approve: () => void;
44
+ /** Call to deny the pending request */
45
+ deny: () => void;
46
+ /** Call to approve and enable auto-approve for the session */
47
+ approveAndEnableYolo: () => void;
48
+ }
49
+ /**
50
+ * Hook that creates a React-compatible ApprovalHandler
51
+ *
52
+ * @param onYoloToggle - Callback when user wants to enable YOLO mode
53
+ * @returns Handler and UI state for rendering approval dialogs
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * const { handler, pendingApproval, approve, deny } = useReactApprovalHandler();
58
+ *
59
+ * // Pass handler to orchestrator
60
+ * orchestrator.setApprovalHandler(handler);
61
+ *
62
+ * // Render approval dialog when pendingApproval is not null
63
+ * {pendingApproval && (
64
+ * <ApprovalDialog
65
+ * request={pendingApproval.request}
66
+ * onApprove={approve}
67
+ * onDeny={deny}
68
+ * />
69
+ * )}
70
+ * ```
71
+ */
72
+ export declare function useReactApprovalHandler(onYoloToggle?: () => void): UseReactApprovalHandlerReturn;
73
+ export default useReactApprovalHandler;
74
+ //# sourceMappingURL=useReactApprovalHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactApprovalHandler.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useReactApprovalHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,sDAAsD;IACtD,OAAO,EAAE,eAAe,CAAC;IACzB,sDAAsD;IACtD,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,8DAA8D;IAC9D,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,CAAC,EAAE,MAAM,IAAI,GACxB,6BAA6B,CAmD/B;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * React/Ink-compatible Approval Handler
3
+ *
4
+ * This hook creates an ApprovalHandler that integrates with Ink's React-based UI
5
+ * instead of using raw stdin like CLIApprovalHandler.
6
+ *
7
+ * The handler uses a callback pattern:
8
+ * 1. When approval is needed, it sets pending approval state
9
+ * 2. The UI renders a confirmation dialog
10
+ * 3. When user responds, the handler resolves/rejects the pending promise
11
+ */
12
+ import { useState, useCallback, useRef } from 'react';
13
+ /**
14
+ * Hook that creates a React-compatible ApprovalHandler
15
+ *
16
+ * @param onYoloToggle - Callback when user wants to enable YOLO mode
17
+ * @returns Handler and UI state for rendering approval dialogs
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const { handler, pendingApproval, approve, deny } = useReactApprovalHandler();
22
+ *
23
+ * // Pass handler to orchestrator
24
+ * orchestrator.setApprovalHandler(handler);
25
+ *
26
+ * // Render approval dialog when pendingApproval is not null
27
+ * {pendingApproval && (
28
+ * <ApprovalDialog
29
+ * request={pendingApproval.request}
30
+ * onApprove={approve}
31
+ * onDeny={deny}
32
+ * />
33
+ * )}
34
+ * ```
35
+ */
36
+ export function useReactApprovalHandler(onYoloToggle) {
37
+ const [pendingApproval, setPendingApproval] = useState(null);
38
+ const pendingRef = useRef(null);
39
+ // Keep ref in sync for handler closure
40
+ const updatePending = useCallback((pending) => {
41
+ pendingRef.current = pending;
42
+ setPendingApproval(pending);
43
+ }, []);
44
+ // Approve the pending request
45
+ const approve = useCallback(() => {
46
+ if (pendingRef.current) {
47
+ pendingRef.current.resolve(true);
48
+ updatePending(null);
49
+ }
50
+ }, [updatePending]);
51
+ // Deny the pending request
52
+ const deny = useCallback(() => {
53
+ if (pendingRef.current) {
54
+ pendingRef.current.resolve(false);
55
+ updatePending(null);
56
+ }
57
+ }, [updatePending]);
58
+ // Approve and enable YOLO mode
59
+ const approveAndEnableYolo = useCallback(() => {
60
+ if (pendingRef.current) {
61
+ pendingRef.current.resolve(true);
62
+ updatePending(null);
63
+ onYoloToggle?.();
64
+ }
65
+ }, [updatePending, onYoloToggle]);
66
+ // Create the handler object (stable reference)
67
+ const handler = useRef({
68
+ requestApproval: async (request) => {
69
+ return new Promise((resolve) => {
70
+ updatePending({ request, resolve });
71
+ });
72
+ }
73
+ }).current;
74
+ return {
75
+ handler,
76
+ pendingApproval,
77
+ approve,
78
+ deny,
79
+ approveAndEnableYolo,
80
+ };
81
+ }
82
+ export default useReactApprovalHandler;
83
+ //# sourceMappingURL=useReactApprovalHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactApprovalHandler.js","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useReactApprovalHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AA2CtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAyB;IAEzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAExD,uCAAuC;IACvC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,OAA+B,EAAE,EAAE;QACpE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,8BAA8B;IAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,2BAA2B;IAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,+BAA+B;IAC/B,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,YAAY,EAAE,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,+CAA+C;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAkB;QACtC,eAAe,EAAE,KAAK,EAAE,OAAwB,EAAoB,EAAE;YACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC,OAAO,CAAC;IAEX,OAAO;QACL,OAAO;QACP,eAAe;QACf,OAAO;QACP,IAAI;QACJ,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * useTerminalSize - Hook to track terminal dimensions
3
+ */
4
+ export declare function useTerminalSize(): {
5
+ width: number;
6
+ height: number;
7
+ columns: number;
8
+ rows: number;
9
+ };
10
+ //# sourceMappingURL=useTerminalSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,eAAe,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAyBlG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * useTerminalSize - Hook to track terminal dimensions
3
+ */
4
+ import { useEffect, useState } from 'react';
5
+ export function useTerminalSize() {
6
+ const [size, setSize] = useState({
7
+ columns: process.stdout.columns || 80,
8
+ rows: process.stdout.rows || 24,
9
+ width: process.stdout.columns || 80,
10
+ height: process.stdout.rows || 24,
11
+ });
12
+ useEffect(() => {
13
+ function updateSize() {
14
+ setSize({
15
+ columns: process.stdout.columns || 80,
16
+ rows: process.stdout.rows || 24,
17
+ width: process.stdout.columns || 80,
18
+ height: process.stdout.rows || 24,
19
+ });
20
+ }
21
+ process.stdout.on('resize', updateSize);
22
+ return () => {
23
+ process.stdout.off('resize', updateSize);
24
+ };
25
+ }, []);
26
+ return size;
27
+ }
28
+ //# sourceMappingURL=useTerminalSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../src/ink-ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;QAC/B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAClC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,UAAU;YACjB,OAAO,CAAC;gBACN,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC/B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;gBACnC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { SemanticColors } from './themes/semantic-tokens.js';
7
+ export declare const theme: SemanticColors;
8
+ //# sourceMappingURL=semantic-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-colors.d.ts","sourceRoot":"","sources":["../../src/ink-ui/semantic-colors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,KAAK,EAAE,cAgBnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { themeManager } from './themes/theme-manager.js';
7
+ export const theme = {
8
+ get text() {
9
+ return themeManager.getSemanticColors().text;
10
+ },
11
+ get background() {
12
+ return themeManager.getSemanticColors().background;
13
+ },
14
+ get border() {
15
+ return themeManager.getSemanticColors().border;
16
+ },
17
+ get ui() {
18
+ return themeManager.getSemanticColors().ui;
19
+ },
20
+ get status() {
21
+ return themeManager.getSemanticColors().status;
22
+ },
23
+ };
24
+ //# sourceMappingURL=semantic-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-colors.js","sourceRoot":"","sources":["../../src/ink-ui/semantic-colors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,MAAM,KAAK,GAAmB;IACnC,IAAI,IAAI;QACN,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IACjD,CAAC;IACD,IAAI,EAAE;QACJ,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IACjD,CAAC;CACF,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ExtensionUpdateInfo } from '@nexus-cortex/cli/dist/config/extension.js';
7
+ export declare enum ExtensionUpdateState {
8
+ CHECKING_FOR_UPDATES = "checking for updates",
9
+ UPDATED_NEEDS_RESTART = "updated, needs restart",
10
+ UPDATED = "updated",
11
+ UPDATING = "updating",
12
+ UPDATE_AVAILABLE = "update available",
13
+ UP_TO_DATE = "up to date",
14
+ ERROR = "error",
15
+ NOT_UPDATABLE = "not updatable",
16
+ UNKNOWN = "unknown"
17
+ }
18
+ export interface ExtensionUpdateStatus {
19
+ status: ExtensionUpdateState;
20
+ notified: boolean;
21
+ }
22
+ export interface ExtensionUpdatesState {
23
+ extensionStatuses: Map<string, ExtensionUpdateStatus>;
24
+ batchChecksInProgress: number;
25
+ scheduledUpdate: ScheduledUpdate | null;
26
+ }
27
+ export interface ScheduledUpdate {
28
+ names: string[] | null;
29
+ all: boolean;
30
+ onCompleteCallbacks: OnCompleteUpdate[];
31
+ }
32
+ export interface ScheduleUpdateArgs {
33
+ names: string[] | null;
34
+ all: boolean;
35
+ onComplete: OnCompleteUpdate;
36
+ }
37
+ type OnCompleteUpdate = (updateInfos: ExtensionUpdateInfo[]) => void;
38
+ export declare const initialExtensionUpdatesState: ExtensionUpdatesState;
39
+ export type ExtensionUpdateAction = {
40
+ type: 'SET_STATE';
41
+ payload: {
42
+ name: string;
43
+ state: ExtensionUpdateState;
44
+ };
45
+ } | {
46
+ type: 'SET_NOTIFIED';
47
+ payload: {
48
+ name: string;
49
+ notified: boolean;
50
+ };
51
+ } | {
52
+ type: 'BATCH_CHECK_START';
53
+ } | {
54
+ type: 'BATCH_CHECK_END';
55
+ } | {
56
+ type: 'SCHEDULE_UPDATE';
57
+ payload: ScheduleUpdateArgs;
58
+ } | {
59
+ type: 'CLEAR_SCHEDULED_UPDATE';
60
+ } | {
61
+ type: 'RESTARTED';
62
+ payload: {
63
+ name: string;
64
+ };
65
+ };
66
+ export declare function extensionUpdatesReducer(state: ExtensionUpdatesState, action: ExtensionUpdateAction): ExtensionUpdatesState;
67
+ export {};
68
+ //# sourceMappingURL=extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/state/extensions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAGtF,oBAAY,oBAAoB;IAC9B,oBAAoB,yBAAyB;IAC7C,qBAAqB,2BAA2B;IAChD,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,KAAK,gBAAgB,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;AAErE,eAAO,MAAM,4BAA4B,EAAE,qBAI1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,oBAAoB,CAAA;KAAE,CAAC;CACxD,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9C,GACD;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,GAC5B,qBAAqB,CA0EvB"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { checkExhaustive } from '@nexus-cortex/cli/dist/utils/checks.js';
7
+ export var ExtensionUpdateState;
8
+ (function (ExtensionUpdateState) {
9
+ ExtensionUpdateState["CHECKING_FOR_UPDATES"] = "checking for updates";
10
+ ExtensionUpdateState["UPDATED_NEEDS_RESTART"] = "updated, needs restart";
11
+ ExtensionUpdateState["UPDATED"] = "updated";
12
+ ExtensionUpdateState["UPDATING"] = "updating";
13
+ ExtensionUpdateState["UPDATE_AVAILABLE"] = "update available";
14
+ ExtensionUpdateState["UP_TO_DATE"] = "up to date";
15
+ ExtensionUpdateState["ERROR"] = "error";
16
+ ExtensionUpdateState["NOT_UPDATABLE"] = "not updatable";
17
+ ExtensionUpdateState["UNKNOWN"] = "unknown";
18
+ })(ExtensionUpdateState || (ExtensionUpdateState = {}));
19
+ export const initialExtensionUpdatesState = {
20
+ extensionStatuses: new Map(),
21
+ batchChecksInProgress: 0,
22
+ scheduledUpdate: null,
23
+ };
24
+ export function extensionUpdatesReducer(state, action) {
25
+ switch (action.type) {
26
+ case 'SET_STATE': {
27
+ const existing = state.extensionStatuses.get(action.payload.name);
28
+ if (existing?.status === action.payload.state) {
29
+ return state;
30
+ }
31
+ const newStatuses = new Map(state.extensionStatuses);
32
+ newStatuses.set(action.payload.name, {
33
+ status: action.payload.state,
34
+ notified: false,
35
+ });
36
+ return { ...state, extensionStatuses: newStatuses };
37
+ }
38
+ case 'SET_NOTIFIED': {
39
+ const existing = state.extensionStatuses.get(action.payload.name);
40
+ if (!existing || existing.notified === action.payload.notified) {
41
+ return state;
42
+ }
43
+ const newStatuses = new Map(state.extensionStatuses);
44
+ newStatuses.set(action.payload.name, {
45
+ ...existing,
46
+ notified: action.payload.notified,
47
+ });
48
+ return { ...state, extensionStatuses: newStatuses };
49
+ }
50
+ case 'BATCH_CHECK_START':
51
+ return {
52
+ ...state,
53
+ batchChecksInProgress: state.batchChecksInProgress + 1,
54
+ };
55
+ case 'BATCH_CHECK_END':
56
+ return {
57
+ ...state,
58
+ batchChecksInProgress: state.batchChecksInProgress - 1,
59
+ };
60
+ case 'SCHEDULE_UPDATE':
61
+ return {
62
+ ...state,
63
+ // If there is a pre-existing scheduled update, we merge them.
64
+ scheduledUpdate: {
65
+ all: state.scheduledUpdate?.all || action.payload.all,
66
+ names: [
67
+ ...(state.scheduledUpdate?.names ?? []),
68
+ ...(action.payload.names ?? []),
69
+ ],
70
+ onCompleteCallbacks: [
71
+ ...(state.scheduledUpdate?.onCompleteCallbacks ?? []),
72
+ action.payload.onComplete,
73
+ ],
74
+ },
75
+ };
76
+ case 'CLEAR_SCHEDULED_UPDATE':
77
+ return {
78
+ ...state,
79
+ scheduledUpdate: null,
80
+ };
81
+ case 'RESTARTED': {
82
+ const existing = state.extensionStatuses.get(action.payload.name);
83
+ if (existing?.status !== ExtensionUpdateState.UPDATED_NEEDS_RESTART) {
84
+ return state;
85
+ }
86
+ const newStatuses = new Map(state.extensionStatuses);
87
+ newStatuses.set(action.payload.name, {
88
+ ...existing,
89
+ status: ExtensionUpdateState.UPDATED,
90
+ });
91
+ return { ...state, extensionStatuses: newStatuses };
92
+ }
93
+ default:
94
+ checkExhaustive(action);
95
+ }
96
+ }
97
+ //# sourceMappingURL=extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/ink-ui/state/extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Theme } from './theme.js';
7
+ export declare const ANSILight: Theme;
8
+ //# sourceMappingURL=ansi-light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi-light.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/themes/ansi-light.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AAsBrD,eAAO,MAAM,SAAS,EAAE,KA0HvB,CAAC"}