@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,529 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { debugLogger } from '../core-stubs.js';
8
+ import { useStdin } from 'ink';
9
+ import { createContext, useCallback, useContext, useEffect, useRef, } from 'react';
10
+ import { ESC } from '../utils/input.js';
11
+ import { parseMouseEvent } from '../utils/mouse.js';
12
+ import { FOCUS_IN, FOCUS_OUT } from '../hooks/useFocus.js';
13
+ import { appEvents, AppEvent } from '@nexus-cortex/cli/dist/utils/events.js';
14
+ export const BACKSLASH_ENTER_TIMEOUT = 5;
15
+ export const ESC_TIMEOUT = 50;
16
+ export const PASTE_TIMEOUT = 30_000;
17
+ // Parse the key itself
18
+ const KEY_INFO_MAP = {
19
+ '[200~': { name: 'paste-start' },
20
+ '[201~': { name: 'paste-end' },
21
+ '[[A': { name: 'f1' },
22
+ '[[B': { name: 'f2' },
23
+ '[[C': { name: 'f3' },
24
+ '[[D': { name: 'f4' },
25
+ '[[E': { name: 'f5' },
26
+ '[1~': { name: 'home' },
27
+ '[2~': { name: 'insert' },
28
+ '[3~': { name: 'delete' },
29
+ '[4~': { name: 'end' },
30
+ '[5~': { name: 'pageup' },
31
+ '[6~': { name: 'pagedown' },
32
+ '[7~': { name: 'home' },
33
+ '[8~': { name: 'end' },
34
+ '[11~': { name: 'f1' },
35
+ '[12~': { name: 'f2' },
36
+ '[13~': { name: 'f3' },
37
+ '[14~': { name: 'f4' },
38
+ '[15~': { name: 'f5' },
39
+ '[17~': { name: 'f6' },
40
+ '[18~': { name: 'f7' },
41
+ '[19~': { name: 'f8' },
42
+ '[20~': { name: 'f9' },
43
+ '[21~': { name: 'f10' },
44
+ '[23~': { name: 'f11' },
45
+ '[24~': { name: 'f12' },
46
+ '[A': { name: 'up' },
47
+ '[B': { name: 'down' },
48
+ '[C': { name: 'right' },
49
+ '[D': { name: 'left' },
50
+ '[E': { name: 'clear' },
51
+ '[F': { name: 'end' },
52
+ '[H': { name: 'home' },
53
+ '[P': { name: 'f1' },
54
+ '[Q': { name: 'f2' },
55
+ '[R': { name: 'f3' },
56
+ '[S': { name: 'f4' },
57
+ OA: { name: 'up' },
58
+ OB: { name: 'down' },
59
+ OC: { name: 'right' },
60
+ OD: { name: 'left' },
61
+ OE: { name: 'clear' },
62
+ OF: { name: 'end' },
63
+ OH: { name: 'home' },
64
+ OP: { name: 'f1' },
65
+ OQ: { name: 'f2' },
66
+ OR: { name: 'f3' },
67
+ OS: { name: 'f4' },
68
+ '[[5~': { name: 'pageup' },
69
+ '[[6~': { name: 'pagedown' },
70
+ '[9u': { name: 'tab' },
71
+ '[13u': { name: 'return' },
72
+ '[27u': { name: 'escape' },
73
+ '[127u': { name: 'backspace' },
74
+ '[57414u': { name: 'return' }, // Numpad Enter
75
+ '[a': { name: 'up', shift: true },
76
+ '[b': { name: 'down', shift: true },
77
+ '[c': { name: 'right', shift: true },
78
+ '[d': { name: 'left', shift: true },
79
+ '[e': { name: 'clear', shift: true },
80
+ '[2$': { name: 'insert', shift: true },
81
+ '[3$': { name: 'delete', shift: true },
82
+ '[5$': { name: 'pageup', shift: true },
83
+ '[6$': { name: 'pagedown', shift: true },
84
+ '[7$': { name: 'home', shift: true },
85
+ '[8$': { name: 'end', shift: true },
86
+ '[Z': { name: 'tab', shift: true },
87
+ Oa: { name: 'up', ctrl: true },
88
+ Ob: { name: 'down', ctrl: true },
89
+ Oc: { name: 'right', ctrl: true },
90
+ Od: { name: 'left', ctrl: true },
91
+ Oe: { name: 'clear', ctrl: true },
92
+ '[2^': { name: 'insert', ctrl: true },
93
+ '[3^': { name: 'delete', ctrl: true },
94
+ '[5^': { name: 'pageup', ctrl: true },
95
+ '[6^': { name: 'pagedown', ctrl: true },
96
+ '[7^': { name: 'home', ctrl: true },
97
+ '[8^': { name: 'end', ctrl: true },
98
+ };
99
+ const kUTF16SurrogateThreshold = 0x10000; // 2 ** 16
100
+ function charLengthAt(str, i) {
101
+ if (str.length <= i) {
102
+ // Pretend to move to the right. This is necessary to autocomplete while
103
+ // moving to the right.
104
+ return 1;
105
+ }
106
+ const code = str.codePointAt(i);
107
+ return code !== undefined && code >= kUTF16SurrogateThreshold ? 2 : 1;
108
+ }
109
+ const MAC_ALT_KEY_CHARACTER_MAP = {
110
+ '\u222B': 'b', // "∫" back one word
111
+ '\u0192': 'f', // "ƒ" forward one word
112
+ '\u00B5': 'm', // "µ" toggle markup view
113
+ };
114
+ function nonKeyboardEventFilter(keypressHandler) {
115
+ return (key) => {
116
+ if (!parseMouseEvent(key.sequence) &&
117
+ key.sequence !== FOCUS_IN &&
118
+ key.sequence !== FOCUS_OUT) {
119
+ keypressHandler(key);
120
+ }
121
+ };
122
+ }
123
+ /**
124
+ * Buffers "/" keys to see if they are followed return.
125
+ * Will flush the buffer if no data is received for DRAG_COMPLETION_TIMEOUT_MS
126
+ * or when a null key is received.
127
+ */
128
+ function bufferBackslashEnter(keypressHandler) {
129
+ const bufferer = (function* () {
130
+ while (true) {
131
+ const key = yield;
132
+ if (key == null) {
133
+ continue;
134
+ }
135
+ else if (key.sequence !== '\\') {
136
+ keypressHandler(key);
137
+ continue;
138
+ }
139
+ const timeoutId = setTimeout(() => bufferer.next(null), BACKSLASH_ENTER_TIMEOUT);
140
+ const nextKey = yield;
141
+ clearTimeout(timeoutId);
142
+ if (nextKey === null) {
143
+ keypressHandler(key);
144
+ }
145
+ else if (nextKey.name === 'return') {
146
+ keypressHandler({
147
+ ...nextKey,
148
+ shift: true,
149
+ sequence: '\r', // Corrected escaping for newline
150
+ });
151
+ }
152
+ else {
153
+ keypressHandler(key);
154
+ keypressHandler(nextKey);
155
+ }
156
+ }
157
+ })();
158
+ bufferer.next(); // prime the generator so it starts listening.
159
+ return (key) => bufferer.next(key);
160
+ }
161
+ /**
162
+ * Buffers paste events between paste-start and paste-end sequences.
163
+ * Will flush the buffer if no data is received for PASTE_TIMEOUT ms or
164
+ * when a null key is received.
165
+ */
166
+ function bufferPaste(keypressHandler) {
167
+ const bufferer = (function* () {
168
+ while (true) {
169
+ let key = yield;
170
+ if (key === null) {
171
+ continue;
172
+ }
173
+ else if (key.name !== 'paste-start') {
174
+ keypressHandler(key);
175
+ continue;
176
+ }
177
+ let buffer = '';
178
+ while (true) {
179
+ const timeoutId = setTimeout(() => bufferer.next(null), PASTE_TIMEOUT);
180
+ key = yield;
181
+ clearTimeout(timeoutId);
182
+ if (key === null) {
183
+ appEvents.emit(AppEvent.PasteTimeout);
184
+ break;
185
+ }
186
+ if (key.name === 'paste-end') {
187
+ break;
188
+ }
189
+ buffer += key.sequence;
190
+ }
191
+ if (buffer.length > 0) {
192
+ keypressHandler({
193
+ name: '',
194
+ ctrl: false,
195
+ meta: false,
196
+ shift: false,
197
+ paste: true,
198
+ insertable: true,
199
+ sequence: buffer,
200
+ });
201
+ }
202
+ }
203
+ })();
204
+ bufferer.next(); // prime the generator so it starts listening.
205
+ return (key) => bufferer.next(key);
206
+ }
207
+ /**
208
+ * Turns raw data strings into keypress events sent to the provided handler.
209
+ * Buffers escape sequences until a full sequence is received or
210
+ * until a timeout occurs.
211
+ */
212
+ function createDataListener(keypressHandler) {
213
+ const parser = emitKeys(keypressHandler);
214
+ parser.next(); // prime the generator so it starts listening.
215
+ let timeoutId;
216
+ return (data) => {
217
+ clearTimeout(timeoutId);
218
+ for (const char of data) {
219
+ parser.next(char);
220
+ }
221
+ if (data.length !== 0) {
222
+ timeoutId = setTimeout(() => parser.next(''), ESC_TIMEOUT);
223
+ }
224
+ };
225
+ }
226
+ /**
227
+ * Translates raw keypress characters into key events.
228
+ * Buffers escape sequences until a full sequence is received or
229
+ * until an empty string is sent to indicate a timeout.
230
+ */
231
+ function* emitKeys(keypressHandler) {
232
+ while (true) {
233
+ let ch = yield;
234
+ let sequence = ch;
235
+ let escaped = false;
236
+ let name = undefined;
237
+ let ctrl = false;
238
+ let meta = false;
239
+ let shift = false;
240
+ let code = undefined;
241
+ let insertable = false;
242
+ if (ch === ESC) {
243
+ escaped = true;
244
+ ch = yield;
245
+ sequence += ch;
246
+ if (ch === ESC) {
247
+ ch = yield;
248
+ sequence += ch;
249
+ }
250
+ }
251
+ if (escaped && (ch === 'O' || ch === '[')) {
252
+ // ANSI escape sequence
253
+ code = ch;
254
+ let modifier = 0;
255
+ if (ch === 'O') {
256
+ // ESC O letter
257
+ // ESC O modifier letter
258
+ ch = yield;
259
+ sequence += ch;
260
+ if (ch >= '0' && ch <= '9') {
261
+ modifier = parseInt(ch, 10) - 1;
262
+ ch = yield;
263
+ sequence += ch;
264
+ }
265
+ code += ch;
266
+ }
267
+ else if (ch === '[') {
268
+ // ESC [ letter
269
+ // ESC [ modifier letter
270
+ // ESC [ [ modifier letter
271
+ // ESC [ [ num char
272
+ ch = yield;
273
+ sequence += ch;
274
+ if (ch === '[') {
275
+ // \x1b[[A
276
+ // ^--- escape codes might have a second bracket
277
+ code += ch;
278
+ ch = yield;
279
+ sequence += ch;
280
+ }
281
+ /*
282
+ * Here and later we try to buffer just enough data to get
283
+ * a complete ascii sequence.
284
+ *
285
+ * We have basically two classes of ascii characters to process:
286
+ *
287
+ *
288
+ * 1. `\x1b[24;5~` should be parsed as { code: '[24~', modifier: 5 }
289
+ *
290
+ * This particular example is featuring Ctrl+F12 in xterm.
291
+ *
292
+ * - `;5` part is optional, e.g. it could be `\x1b[24~`
293
+ * - first part can contain one or two digits
294
+ * - there is also special case when there can be 3 digits
295
+ * but without modifier. They are the case of paste bracket mode
296
+ *
297
+ * So the generic regexp is like /^(?:\d\d?(;\d)?[~^$]|\d{3}~)$/
298
+ *
299
+ *
300
+ * 2. `\x1b[1;5H` should be parsed as { code: '[H', modifier: 5 }
301
+ *
302
+ * This particular example is featuring Ctrl+Home in xterm.
303
+ *
304
+ * - `1;5` part is optional, e.g. it could be `\x1b[H`
305
+ * - `1;` part is optional, e.g. it could be `\x1b[5H`
306
+ *
307
+ * So the generic regexp is like /^((\d;)?\d)?[A-Za-z]$/
308
+ *
309
+ */
310
+ const cmdStart = sequence.length - 1;
311
+ // collect as many digits as possible
312
+ while (ch >= '0' && ch <= '9') {
313
+ ch = yield;
314
+ sequence += ch;
315
+ }
316
+ // skip modifier
317
+ if (ch === ';') {
318
+ while (ch === ';') {
319
+ ch = yield;
320
+ sequence += ch;
321
+ // collect as many digits as possible
322
+ while (ch >= '0' && ch <= '9') {
323
+ ch = yield;
324
+ sequence += ch;
325
+ }
326
+ }
327
+ }
328
+ else if (ch === '<') {
329
+ // SGR mouse mode
330
+ ch = yield;
331
+ sequence += ch;
332
+ // Don't skip on empty string here to avoid timeouts on slow events.
333
+ while (ch === '' || ch === ';' || (ch >= '0' && ch <= '9')) {
334
+ ch = yield;
335
+ sequence += ch;
336
+ }
337
+ }
338
+ else if (ch === 'M') {
339
+ // X11 mouse mode
340
+ // three characters after 'M'
341
+ ch = yield;
342
+ sequence += ch;
343
+ ch = yield;
344
+ sequence += ch;
345
+ ch = yield;
346
+ sequence += ch;
347
+ }
348
+ /*
349
+ * We buffered enough data, now trying to extract code
350
+ * and modifier from it
351
+ */
352
+ const cmd = sequence.slice(cmdStart);
353
+ let match;
354
+ if ((match = /^(\d+)(?:;(\d+))?(?:;(\d+))?([~^$u])$/.exec(cmd))) {
355
+ if (match[1] === '27' && match[3] && match[4] === '~') {
356
+ // modifyOtherKeys format: CSI 27 ; modifier ; key ~
357
+ // Treat as CSI u: key + 'u'
358
+ code += match[3] + 'u';
359
+ modifier = parseInt(match[2] ?? '1', 10) - 1;
360
+ }
361
+ else {
362
+ code += (match[1] ?? '') + (match[4] ?? '');
363
+ // Defaults to '1' if no modifier exists, resulting in a 0 modifier value
364
+ modifier = parseInt(match[2] ?? '1', 10) - 1;
365
+ }
366
+ }
367
+ else if ((match = /^(\d+)?(?:;(\d+))?([A-Za-z])$/.exec(cmd))) {
368
+ code += match[3];
369
+ modifier = parseInt(match[2] ?? match[1] ?? '1', 10) - 1;
370
+ }
371
+ else {
372
+ code += cmd;
373
+ }
374
+ }
375
+ // Parse the key modifier
376
+ ctrl = !!(modifier & 4);
377
+ meta = !!(modifier & 10); // use 10 to catch both alt (2) and meta (8).
378
+ shift = !!(modifier & 1);
379
+ const keyInfo = KEY_INFO_MAP[code];
380
+ if (keyInfo) {
381
+ name = keyInfo.name;
382
+ if (keyInfo.shift) {
383
+ shift = true;
384
+ }
385
+ if (keyInfo.ctrl) {
386
+ ctrl = true;
387
+ }
388
+ }
389
+ else {
390
+ name = 'undefined';
391
+ if ((ctrl || meta) && (code.endsWith('u') || code.endsWith('~'))) {
392
+ // CSI-u or tilde-coded functional keys: ESC [ <code> ; <mods> (u|~)
393
+ const codeNumber = parseInt(code.slice(1, -1), 10);
394
+ if (codeNumber >= 'a'.charCodeAt(0) &&
395
+ codeNumber <= 'z'.charCodeAt(0)) {
396
+ name = String.fromCharCode(codeNumber);
397
+ }
398
+ }
399
+ }
400
+ }
401
+ else if (ch === '\r') {
402
+ // carriage return
403
+ name = 'return';
404
+ meta = escaped;
405
+ }
406
+ else if (ch === '\n') {
407
+ // Enter, should have been called linefeed
408
+ name = 'enter';
409
+ meta = escaped;
410
+ }
411
+ else if (ch === '\t') {
412
+ // tab
413
+ name = 'tab';
414
+ meta = escaped;
415
+ }
416
+ else if (ch === '\b' || ch === '\x7f') {
417
+ // backspace or ctrl+h
418
+ name = 'backspace';
419
+ meta = escaped;
420
+ }
421
+ else if (ch === ESC) {
422
+ // escape key
423
+ name = 'escape';
424
+ meta = escaped;
425
+ }
426
+ else if (ch === ' ') {
427
+ name = 'space';
428
+ meta = escaped;
429
+ insertable = true;
430
+ }
431
+ else if (!escaped && ch <= '\x1a') {
432
+ // ctrl+letter
433
+ name = String.fromCharCode(ch.charCodeAt(0) + 'a'.charCodeAt(0) - 1);
434
+ ctrl = true;
435
+ }
436
+ else if (/^[0-9A-Za-z]$/.exec(ch) !== null) {
437
+ // Letter, number, shift+letter
438
+ name = ch.toLowerCase();
439
+ shift = /^[A-Z]$/.exec(ch) !== null;
440
+ meta = escaped;
441
+ insertable = true;
442
+ }
443
+ else if (MAC_ALT_KEY_CHARACTER_MAP[ch] && process.platform === 'darwin') {
444
+ name = MAC_ALT_KEY_CHARACTER_MAP[ch];
445
+ meta = true;
446
+ }
447
+ else if (sequence === `${ESC}${ESC}`) {
448
+ // Double escape
449
+ name = 'escape';
450
+ meta = true;
451
+ // Emit first escape key here, then continue processing
452
+ keypressHandler({
453
+ name: 'escape',
454
+ ctrl,
455
+ meta,
456
+ shift,
457
+ paste: false,
458
+ insertable: false,
459
+ sequence: ESC,
460
+ });
461
+ }
462
+ else if (escaped) {
463
+ // Escape sequence timeout
464
+ name = ch.length ? undefined : 'escape';
465
+ meta = true;
466
+ }
467
+ else {
468
+ // Any other character is considered printable.
469
+ insertable = true;
470
+ }
471
+ if ((sequence.length !== 0 && (name !== undefined || escaped)) ||
472
+ charLengthAt(sequence, 0) === sequence.length) {
473
+ keypressHandler({
474
+ name: name || '',
475
+ ctrl,
476
+ meta,
477
+ shift,
478
+ paste: false,
479
+ insertable,
480
+ sequence,
481
+ });
482
+ }
483
+ // Unrecognized or broken escape sequence, don't emit anything
484
+ }
485
+ }
486
+ const KeypressContext = createContext(undefined);
487
+ export function useKeypressContext() {
488
+ const context = useContext(KeypressContext);
489
+ if (!context) {
490
+ throw new Error('useKeypressContext must be used within a KeypressProvider');
491
+ }
492
+ return context;
493
+ }
494
+ export function KeypressProvider({ children, config, debugKeystrokeLogging, }) {
495
+ const { stdin, setRawMode } = useStdin();
496
+ const subscribers = useRef(new Set()).current;
497
+ const subscribe = useCallback((handler) => subscribers.add(handler), [subscribers]);
498
+ const unsubscribe = useCallback((handler) => subscribers.delete(handler), [subscribers]);
499
+ const broadcast = useCallback((key) => subscribers.forEach((handler) => handler(key)), [subscribers]);
500
+ useEffect(() => {
501
+ const wasRaw = stdin.isRaw;
502
+ if (wasRaw === false) {
503
+ setRawMode(true);
504
+ }
505
+ process.stdin.setEncoding('utf8'); // Make data events emit strings
506
+ const mouseFilterer = nonKeyboardEventFilter(broadcast);
507
+ const backslashBufferer = bufferBackslashEnter(mouseFilterer);
508
+ const pasteBufferer = bufferPaste(backslashBufferer);
509
+ let dataListener = createDataListener(pasteBufferer);
510
+ if (debugKeystrokeLogging) {
511
+ const old = dataListener;
512
+ dataListener = (data) => {
513
+ if (data.length > 0) {
514
+ debugLogger.log(`[DEBUG] Raw StdIn: ${JSON.stringify(data)}`);
515
+ }
516
+ old(data);
517
+ };
518
+ }
519
+ stdin.on('data', dataListener);
520
+ return () => {
521
+ stdin.removeListener('data', dataListener);
522
+ if (wasRaw === false) {
523
+ setRawMode(false);
524
+ }
525
+ };
526
+ }, [stdin, setRawMode, config, debugKeystrokeLogging, broadcast]);
527
+ return (_jsx(KeypressContext.Provider, { value: { subscribe, unsubscribe }, children: children }));
528
+ }
529
+ //# sourceMappingURL=KeypressContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../src/ink-ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import type { SessionMetrics, ModelMetrics } from '../core-stubs.js';
8
+ export declare enum ToolCallDecision {
9
+ ACCEPT = "accept",
10
+ REJECT = "reject",
11
+ MODIFY = "modify",
12
+ AUTO_ACCEPT = "auto_accept"
13
+ }
14
+ export type { SessionMetrics, ModelMetrics };
15
+ export interface SessionStatsState {
16
+ sessionId: string;
17
+ sessionStartTime: Date;
18
+ metrics: SessionMetrics;
19
+ lastPromptTokenCount: number;
20
+ promptCount: number;
21
+ }
22
+ export interface ComputedSessionStats {
23
+ totalApiTime: number;
24
+ totalToolTime: number;
25
+ agentActiveTime: number;
26
+ apiTimePercent: number;
27
+ toolTimePercent: number;
28
+ cacheEfficiency: number;
29
+ totalDecisions: number;
30
+ successRate: number;
31
+ agreementRate: number;
32
+ totalCachedTokens: number;
33
+ totalPromptTokens: number;
34
+ totalLinesAdded: number;
35
+ totalLinesRemoved: number;
36
+ }
37
+ interface SessionStatsContextValue {
38
+ stats: SessionStatsState;
39
+ startNewPrompt: () => void;
40
+ getPromptCount: () => number;
41
+ }
42
+ export declare const SessionStatsProvider: React.FC<{
43
+ children: React.ReactNode;
44
+ }>;
45
+ export declare const useSessionStats: () => SessionStatsContextValue;
46
+ //# sourceMappingURL=SessionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../../src/ink-ui/contexts/SessionContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAG1B,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAgHD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,IAAI,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAID,UAAU,wBAAwB;IAChC,KAAK,EAAE,iBAAiB,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAUD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAwExE,CAAC;AAIF,eAAO,MAAM,eAAe,gCAQ3B,CAAC"}