@qduc/term2 0.3.1 → 0.4.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 (552) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +46 -6
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.test.d.ts +2 -0
  5. package/dist/agent.test.d.ts.map +1 -0
  6. package/dist/agent.test.js +198 -0
  7. package/dist/agent.test.js.map +1 -0
  8. package/dist/app.d.ts +5 -0
  9. package/dist/app.d.ts.map +1 -1
  10. package/dist/app.js +30 -14
  11. package/dist/app.js.map +1 -1
  12. package/dist/app.startup-banner.test.d.ts +2 -0
  13. package/dist/app.startup-banner.test.d.ts.map +1 -0
  14. package/dist/app.startup-banner.test.js +11 -0
  15. package/dist/app.startup-banner.test.js.map +1 -0
  16. package/dist/cli.d.ts +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +18 -3
  19. package/dist/cli.js.map +1 -1
  20. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  21. package/dist/components/ApprovalPrompt.js +10 -10
  22. package/dist/components/ApprovalPrompt.js.map +1 -1
  23. package/dist/components/Banner.js +1 -1
  24. package/dist/components/Banner.js.map +1 -1
  25. package/dist/components/BottomArea.d.ts.map +1 -1
  26. package/dist/components/BottomArea.js +3 -4
  27. package/dist/components/BottomArea.js.map +1 -1
  28. package/dist/components/ChatMessage.d.ts +1 -0
  29. package/dist/components/ChatMessage.d.ts.map +1 -1
  30. package/dist/components/ChatMessage.js +2 -2
  31. package/dist/components/ChatMessage.js.map +1 -1
  32. package/dist/components/CommandMessage.d.ts.map +1 -1
  33. package/dist/components/CommandMessage.js +48 -3
  34. package/dist/components/CommandMessage.js.map +1 -1
  35. package/dist/components/CommandMessage.test.js +90 -0
  36. package/dist/components/CommandMessage.test.js.map +1 -1
  37. package/dist/components/Input/PopupManager.d.ts +3 -0
  38. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  39. package/dist/components/Input/PopupManager.js +2 -2
  40. package/dist/components/Input/PopupManager.js.map +1 -1
  41. package/dist/components/Input/insertions.d.ts.map +1 -1
  42. package/dist/components/Input/insertions.js +2 -2
  43. package/dist/components/Input/insertions.js.map +1 -1
  44. package/dist/components/Input/popup-key-navigation.d.ts +18 -0
  45. package/dist/components/Input/popup-key-navigation.d.ts.map +1 -0
  46. package/dist/components/Input/popup-key-navigation.js +16 -0
  47. package/dist/components/Input/popup-key-navigation.js.map +1 -0
  48. package/dist/components/Input/popup-key-navigation.test.d.ts +2 -0
  49. package/dist/components/Input/popup-key-navigation.test.d.ts.map +1 -0
  50. package/dist/components/Input/popup-key-navigation.test.js +73 -0
  51. package/dist/components/Input/popup-key-navigation.test.js.map +1 -0
  52. package/dist/components/Input/popup-props.d.ts.map +1 -1
  53. package/dist/components/Input/popup-props.js +2 -0
  54. package/dist/components/Input/popup-props.js.map +1 -1
  55. package/dist/components/Input/triggers.d.ts +1 -0
  56. package/dist/components/Input/triggers.d.ts.map +1 -1
  57. package/dist/components/Input/triggers.js +1 -0
  58. package/dist/components/Input/triggers.js.map +1 -1
  59. package/dist/components/InputBox.d.ts.map +1 -1
  60. package/dist/components/InputBox.js +130 -6
  61. package/dist/components/InputBox.js.map +1 -1
  62. package/dist/components/InputBox.test.js +42 -1
  63. package/dist/components/InputBox.test.js.map +1 -1
  64. package/dist/components/LiveResponse.d.ts +1 -3
  65. package/dist/components/LiveResponse.d.ts.map +1 -1
  66. package/dist/components/LiveResponse.js +5 -6
  67. package/dist/components/LiveResponse.js.map +1 -1
  68. package/dist/components/MarkdownRenderer.d.ts +5 -2
  69. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  70. package/dist/components/MarkdownRenderer.js +66 -45
  71. package/dist/components/MarkdownRenderer.js.map +1 -1
  72. package/dist/components/MessageList.d.ts +7 -1
  73. package/dist/components/MessageList.d.ts.map +1 -1
  74. package/dist/components/MessageList.js +98 -23
  75. package/dist/components/MessageList.js.map +1 -1
  76. package/dist/components/MessageList.test.js +177 -4
  77. package/dist/components/MessageList.test.js.map +1 -1
  78. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  79. package/dist/components/ModelSelectionMenu.js +54 -14
  80. package/dist/components/ModelSelectionMenu.js.map +1 -1
  81. package/dist/components/PathSelectionMenu.d.ts +2 -0
  82. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  83. package/dist/components/PathSelectionMenu.js +31 -12
  84. package/dist/components/PathSelectionMenu.js.map +1 -1
  85. package/dist/components/SettingsSelectionMenu.d.ts +1 -0
  86. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  87. package/dist/components/SettingsSelectionMenu.js +32 -23
  88. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  89. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts +2 -0
  90. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts.map +1 -0
  91. package/dist/components/SettingsSelectionMenu.scroll.test.js +23 -0
  92. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -0
  93. package/dist/components/StatusBar.d.ts.map +1 -1
  94. package/dist/components/StatusBar.js +14 -14
  95. package/dist/components/StatusBar.js.map +1 -1
  96. package/dist/components/StatusBar.test.d.ts +2 -0
  97. package/dist/components/StatusBar.test.d.ts.map +1 -0
  98. package/dist/components/StatusBar.test.js +30 -0
  99. package/dist/components/StatusBar.test.js.map +1 -0
  100. package/dist/contracts/conversation.d.ts +1 -0
  101. package/dist/contracts/conversation.d.ts.map +1 -1
  102. package/dist/env-setup.d.ts +2 -0
  103. package/dist/env-setup.d.ts.map +1 -0
  104. package/dist/env-setup.js +7 -0
  105. package/dist/env-setup.js.map +1 -0
  106. package/dist/env-setup.test.d.ts +2 -0
  107. package/dist/env-setup.test.d.ts.map +1 -0
  108. package/dist/env-setup.test.js +6 -0
  109. package/dist/env-setup.test.js.map +1 -0
  110. package/dist/hooks/path-completion-filter.d.ts +4 -0
  111. package/dist/hooks/path-completion-filter.d.ts.map +1 -0
  112. package/dist/hooks/path-completion-filter.js +27 -0
  113. package/dist/hooks/path-completion-filter.js.map +1 -0
  114. package/dist/hooks/path-completion-filter.test.d.ts +2 -0
  115. package/dist/hooks/path-completion-filter.test.d.ts.map +1 -0
  116. package/dist/hooks/path-completion-filter.test.js +100 -0
  117. package/dist/hooks/path-completion-filter.test.js.map +1 -0
  118. package/dist/hooks/use-app-commands.d.ts +3 -1
  119. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  120. package/dist/hooks/use-app-commands.js +74 -6
  121. package/dist/hooks/use-app-commands.js.map +1 -1
  122. package/dist/hooks/use-app-commands.test.js +20 -3
  123. package/dist/hooks/use-app-commands.test.js.map +1 -1
  124. package/dist/hooks/use-conversation.d.ts +4 -9
  125. package/dist/hooks/use-conversation.d.ts.map +1 -1
  126. package/dist/hooks/use-conversation.js +32 -57
  127. package/dist/hooks/use-conversation.js.map +1 -1
  128. package/dist/hooks/use-mode-handlers.d.ts +3 -1
  129. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  130. package/dist/hooks/use-mode-handlers.js +8 -0
  131. package/dist/hooks/use-mode-handlers.js.map +1 -1
  132. package/dist/hooks/use-model-selection.d.ts +1 -1
  133. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  134. package/dist/hooks/use-model-selection.js +31 -16
  135. package/dist/hooks/use-model-selection.js.map +1 -1
  136. package/dist/hooks/use-model-selection.test.js +66 -1
  137. package/dist/hooks/use-model-selection.test.js.map +1 -1
  138. package/dist/hooks/use-path-completion.d.ts +1 -0
  139. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  140. package/dist/hooks/use-path-completion.js +22 -17
  141. package/dist/hooks/use-path-completion.js.map +1 -1
  142. package/dist/hooks/use-settings-completion.d.ts +2 -2
  143. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  144. package/dist/hooks/use-settings-completion.js +53 -18
  145. package/dist/hooks/use-settings-completion.js.map +1 -1
  146. package/dist/hooks/use-settings-completion.scroll.test.d.ts +2 -0
  147. package/dist/hooks/use-settings-completion.scroll.test.d.ts.map +1 -0
  148. package/dist/hooks/use-settings-completion.scroll.test.js +55 -0
  149. package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -0
  150. package/dist/hooks/use-settings-completion.test.js +69 -79
  151. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  152. package/dist/hooks/use-settings-value-completion.d.ts +1 -2
  153. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  154. package/dist/hooks/use-settings-value-completion.js +47 -19
  155. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  156. package/dist/hooks/use-settings-value-completion.test.js +5 -18
  157. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  158. package/dist/hooks/use-slash-commands.d.ts +7 -0
  159. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  160. package/dist/hooks/use-slash-commands.js +20 -13
  161. package/dist/hooks/use-slash-commands.js.map +1 -1
  162. package/dist/hooks/use-slash-commands.test.js +52 -1
  163. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  164. package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
  165. package/dist/hooks/use-trigger-detection.js +7 -3
  166. package/dist/hooks/use-trigger-detection.js.map +1 -1
  167. package/dist/hooks/use-trigger-detection.test.d.ts +2 -0
  168. package/dist/hooks/use-trigger-detection.test.d.ts.map +1 -0
  169. package/dist/hooks/use-trigger-detection.test.js +59 -0
  170. package/dist/hooks/use-trigger-detection.test.js.map +1 -0
  171. package/dist/lib/openai-agent-client.d.ts +21 -0
  172. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  173. package/dist/lib/openai-agent-client.js +52 -17
  174. package/dist/lib/openai-agent-client.js.map +1 -1
  175. package/dist/lib/openai-agent-client.test.js +63 -0
  176. package/dist/lib/openai-agent-client.test.js.map +1 -1
  177. package/dist/lib/tool-invoke.d.ts +3 -2
  178. package/dist/lib/tool-invoke.d.ts.map +1 -1
  179. package/dist/lib/tool-invoke.js +69 -4
  180. package/dist/lib/tool-invoke.js.map +1 -1
  181. package/dist/lib/tool-invoke.test.js +25 -0
  182. package/dist/lib/tool-invoke.test.js.map +1 -1
  183. package/dist/non-interactive.d.ts.map +1 -1
  184. package/dist/non-interactive.js +3 -0
  185. package/dist/non-interactive.js.map +1 -1
  186. package/dist/prompts/gpt-5-modern.md +66 -0
  187. package/dist/prompts/gpt-5.md +10 -0
  188. package/dist/prompts/lite.md +10 -27
  189. package/dist/prompts/prompt-selector.js +2 -2
  190. package/dist/prompts/prompt-selector.js.map +1 -1
  191. package/dist/prompts/prompt-selector.test.js +7 -2
  192. package/dist/prompts/prompt-selector.test.js.map +1 -1
  193. package/dist/prompts/prompt-selector.test.ts +22 -2
  194. package/dist/prompts/prompt-selector.ts +2 -2
  195. package/dist/prompts/search-via-shell.d.ts +7 -0
  196. package/dist/prompts/search-via-shell.d.ts.map +1 -0
  197. package/dist/prompts/search-via-shell.js +59 -0
  198. package/dist/prompts/search-via-shell.js.map +1 -0
  199. package/dist/prompts/search-via-shell.test.d.ts +2 -0
  200. package/dist/prompts/search-via-shell.test.d.ts.map +1 -0
  201. package/dist/prompts/search-via-shell.test.js +40 -0
  202. package/dist/prompts/search-via-shell.test.js.map +1 -0
  203. package/dist/prompts/search-via-shell.test.ts +47 -0
  204. package/dist/prompts/search-via-shell.ts +71 -0
  205. package/dist/prompts/simple.md +40 -186
  206. package/dist/providers/ai-sdk-agents-adapter.d.ts +7 -0
  207. package/dist/providers/ai-sdk-agents-adapter.d.ts.map +1 -0
  208. package/dist/providers/ai-sdk-agents-adapter.js +80 -0
  209. package/dist/providers/ai-sdk-agents-adapter.js.map +1 -0
  210. package/dist/providers/ai-sdk-agents-adapter.test.d.ts +2 -0
  211. package/dist/providers/ai-sdk-agents-adapter.test.d.ts.map +1 -0
  212. package/dist/providers/ai-sdk-agents-adapter.test.js +158 -0
  213. package/dist/providers/ai-sdk-agents-adapter.test.js.map +1 -0
  214. package/dist/providers/ai-sdk-anthropic.provider.d.ts +14 -0
  215. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -0
  216. package/dist/providers/ai-sdk-anthropic.provider.js +18 -0
  217. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -0
  218. package/dist/providers/ai-sdk-google.provider.d.ts +14 -0
  219. package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -0
  220. package/dist/providers/ai-sdk-google.provider.js +18 -0
  221. package/dist/providers/ai-sdk-google.provider.js.map +1 -0
  222. package/dist/providers/ai-sdk-logging-fetch.d.ts +11 -0
  223. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -0
  224. package/dist/providers/ai-sdk-logging-fetch.js +127 -0
  225. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -0
  226. package/dist/providers/ai-sdk-logging-fetch.test.d.ts +2 -0
  227. package/dist/providers/ai-sdk-logging-fetch.test.d.ts.map +1 -0
  228. package/dist/providers/ai-sdk-logging-fetch.test.js +107 -0
  229. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -0
  230. package/dist/providers/ai-sdk-message-normalizer.d.ts +2 -2
  231. package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
  232. package/dist/providers/ai-sdk-message-normalizer.js +92 -47
  233. package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
  234. package/dist/providers/ai-sdk-message-normalizer.test.js +256 -16
  235. package/dist/providers/ai-sdk-message-normalizer.test.js.map +1 -1
  236. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
  237. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  238. package/dist/providers/ai-sdk-openai-compatible.provider.js +3 -3
  239. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  240. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +25 -0
  241. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  242. package/dist/providers/ai-sdk-openrouter.provider.d.ts +1 -1
  243. package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
  244. package/dist/providers/ai-sdk-openrouter.provider.js +2 -3
  245. package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
  246. package/dist/providers/ai-sdk-openrouter.provider.test.js +23 -0
  247. package/dist/providers/ai-sdk-openrouter.provider.test.js.map +1 -1
  248. package/dist/providers/common/openai-compatible-messages.d.ts +1 -2
  249. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  250. package/dist/providers/common/openai-compatible-messages.js +22 -48
  251. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  252. package/dist/providers/common/openai-compatible-messages.test.js +93 -1
  253. package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
  254. package/dist/providers/custom-provider-adapter.test.d.ts +2 -0
  255. package/dist/providers/custom-provider-adapter.test.d.ts.map +1 -0
  256. package/dist/providers/custom-provider-adapter.test.js +52 -0
  257. package/dist/providers/custom-provider-adapter.test.js.map +1 -0
  258. package/dist/providers/openai-compatible-behavior-gate.test.d.ts +2 -0
  259. package/dist/providers/openai-compatible-behavior-gate.test.d.ts.map +1 -0
  260. package/dist/providers/openai-compatible-behavior-gate.test.js +216 -0
  261. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -0
  262. package/dist/providers/openai-compatible.provider.d.ts +10 -1
  263. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  264. package/dist/providers/openai-compatible.provider.js +341 -31
  265. package/dist/providers/openai-compatible.provider.js.map +1 -1
  266. package/dist/providers/openai-compatible.provider.test.d.ts +2 -0
  267. package/dist/providers/openai-compatible.provider.test.d.ts.map +1 -0
  268. package/dist/providers/openai-compatible.provider.test.js +462 -0
  269. package/dist/providers/openai-compatible.provider.test.js.map +1 -0
  270. package/dist/providers/openai.provider.js +2 -1
  271. package/dist/providers/openai.provider.js.map +1 -1
  272. package/dist/providers/openai.provider.test.d.ts +2 -0
  273. package/dist/providers/openai.provider.test.d.ts.map +1 -0
  274. package/dist/providers/openai.provider.test.js +22 -0
  275. package/dist/providers/openai.provider.test.js.map +1 -0
  276. package/dist/providers/openrouter.provider.js +28 -2
  277. package/dist/providers/openrouter.provider.js.map +1 -1
  278. package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
  279. package/dist/services/conversation-events.d.ts +3 -0
  280. package/dist/services/conversation-events.d.ts.map +1 -1
  281. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  282. package/dist/services/conversation-result-builder.js +11 -1
  283. package/dist/services/conversation-result-builder.js.map +1 -1
  284. package/dist/services/conversation-result-builder.test.js +72 -0
  285. package/dist/services/conversation-result-builder.test.js.map +1 -1
  286. package/dist/services/conversation-session.d.ts +2 -1
  287. package/dist/services/conversation-session.d.ts.map +1 -1
  288. package/dist/services/conversation-session.js +30 -1
  289. package/dist/services/conversation-session.js.map +1 -1
  290. package/dist/services/file-service.js +1 -1
  291. package/dist/services/file-service.js.map +1 -1
  292. package/dist/services/logging-contract.d.ts +3 -3
  293. package/dist/services/logging-service.d.ts.map +1 -1
  294. package/dist/services/logging-service.js +18 -1
  295. package/dist/services/logging-service.js.map +1 -1
  296. package/dist/services/model-service.d.ts.map +1 -1
  297. package/dist/services/model-service.js +16 -8
  298. package/dist/services/model-service.js.map +1 -1
  299. package/dist/services/model-service.test.js +67 -1
  300. package/dist/services/model-service.test.js.map +1 -1
  301. package/dist/services/rtk-service.d.ts +23 -0
  302. package/dist/services/rtk-service.d.ts.map +1 -0
  303. package/dist/services/rtk-service.js +165 -0
  304. package/dist/services/rtk-service.js.map +1 -0
  305. package/dist/services/rtk-service.test.d.ts +2 -0
  306. package/dist/services/rtk-service.test.d.ts.map +1 -0
  307. package/dist/services/rtk-service.test.js +239 -0
  308. package/dist/services/rtk-service.test.js.map +1 -0
  309. package/dist/services/settings-persistence.d.ts +1 -0
  310. package/dist/services/settings-persistence.d.ts.map +1 -1
  311. package/dist/services/settings-persistence.js +28 -5
  312. package/dist/services/settings-persistence.js.map +1 -1
  313. package/dist/services/settings-persistence.test.js +55 -3
  314. package/dist/services/settings-persistence.test.js.map +1 -1
  315. package/dist/services/settings-schema.d.ts +55 -16
  316. package/dist/services/settings-schema.d.ts.map +1 -1
  317. package/dist/services/settings-schema.js +35 -4
  318. package/dist/services/settings-schema.js.map +1 -1
  319. package/dist/services/settings-schema.test.d.ts +2 -0
  320. package/dist/services/settings-schema.test.d.ts.map +1 -0
  321. package/dist/services/settings-schema.test.js +77 -0
  322. package/dist/services/settings-schema.test.js.map +1 -0
  323. package/dist/services/settings-service.d.ts.map +1 -1
  324. package/dist/services/settings-service.js +7 -4
  325. package/dist/services/settings-service.js.map +1 -1
  326. package/dist/services/settings-sources.d.ts.map +1 -1
  327. package/dist/services/settings-sources.js +1 -0
  328. package/dist/services/settings-sources.js.map +1 -1
  329. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  330. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  331. package/dist/services/shell-auto-approval-evaluator.js +8 -2
  332. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  333. package/dist/services/stream-event-processor.d.ts.map +1 -1
  334. package/dist/services/stream-event-processor.js +10 -8
  335. package/dist/services/stream-event-processor.js.map +1 -1
  336. package/dist/services/stream-event-processor.test.js +32 -0
  337. package/dist/services/stream-event-processor.test.js.map +1 -1
  338. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  339. package/dist/services/terminal-result-collector.js +1 -0
  340. package/dist/services/terminal-result-collector.js.map +1 -1
  341. package/dist/services/terminal-result-collector.test.js +22 -0
  342. package/dist/services/terminal-result-collector.test.js.map +1 -1
  343. package/dist/tools/apply-patch.d.ts +12 -4
  344. package/dist/tools/apply-patch.d.ts.map +1 -1
  345. package/dist/tools/apply-patch.js +204 -208
  346. package/dist/tools/apply-patch.js.map +1 -1
  347. package/dist/tools/apply-patch.test.js +44 -0
  348. package/dist/tools/apply-patch.test.js.map +1 -1
  349. package/dist/tools/code-context.d.ts +27 -0
  350. package/dist/tools/code-context.d.ts.map +1 -0
  351. package/dist/tools/code-context.js +512 -0
  352. package/dist/tools/code-context.js.map +1 -0
  353. package/dist/tools/code-context.test.d.ts +2 -0
  354. package/dist/tools/code-context.test.d.ts.map +1 -0
  355. package/dist/tools/code-context.test.js +368 -0
  356. package/dist/tools/code-context.test.js.map +1 -0
  357. package/dist/tools/create-file.d.ts.map +1 -1
  358. package/dist/tools/create-file.js +3 -2
  359. package/dist/tools/create-file.js.map +1 -1
  360. package/dist/tools/edit-healing.d.ts +4 -3
  361. package/dist/tools/edit-healing.d.ts.map +1 -1
  362. package/dist/tools/edit-healing.js +50 -20
  363. package/dist/tools/edit-healing.js.map +1 -1
  364. package/dist/tools/edit-healing.test.js +62 -0
  365. package/dist/tools/edit-healing.test.js.map +1 -1
  366. package/dist/tools/file-locks.d.ts +2 -0
  367. package/dist/tools/file-locks.d.ts.map +1 -0
  368. package/dist/tools/file-locks.js +21 -0
  369. package/dist/tools/file-locks.js.map +1 -0
  370. package/dist/tools/find-files.d.ts +1 -0
  371. package/dist/tools/find-files.d.ts.map +1 -1
  372. package/dist/tools/find-files.js +59 -139
  373. package/dist/tools/find-files.js.map +1 -1
  374. package/dist/tools/find-files.test.js +5 -10
  375. package/dist/tools/find-files.test.js.map +1 -1
  376. package/dist/tools/grep.d.ts +1 -0
  377. package/dist/tools/grep.d.ts.map +1 -1
  378. package/dist/tools/grep.js +10 -46
  379. package/dist/tools/grep.js.map +1 -1
  380. package/dist/tools/language-providers.d.ts +48 -0
  381. package/dist/tools/language-providers.d.ts.map +1 -0
  382. package/dist/tools/language-providers.js +244 -0
  383. package/dist/tools/language-providers.js.map +1 -0
  384. package/dist/tools/search-replace.d.ts +5 -2
  385. package/dist/tools/search-replace.d.ts.map +1 -1
  386. package/dist/tools/search-replace.js +201 -106
  387. package/dist/tools/search-replace.js.map +1 -1
  388. package/dist/tools/search-replace.test.js +111 -1
  389. package/dist/tools/search-replace.test.js.map +1 -1
  390. package/dist/tools/search.d.ts.map +1 -1
  391. package/dist/tools/search.js +5 -15
  392. package/dist/tools/search.js.map +1 -1
  393. package/dist/tools/shell.d.ts +2 -0
  394. package/dist/tools/shell.d.ts.map +1 -1
  395. package/dist/tools/shell.js +15 -7
  396. package/dist/tools/shell.js.map +1 -1
  397. package/dist/tools/shell.test.js +28 -0
  398. package/dist/tools/shell.test.js.map +1 -1
  399. package/dist/tools/tool-names.d.ts +3 -0
  400. package/dist/tools/tool-names.d.ts.map +1 -1
  401. package/dist/tools/tool-names.js +3 -0
  402. package/dist/tools/tool-names.js.map +1 -1
  403. package/dist/tools/tool-names.test.js +4 -1
  404. package/dist/tools/tool-names.test.js.map +1 -1
  405. package/dist/tools/tool-parameter-schema.test.js +18 -0
  406. package/dist/tools/tool-parameter-schema.test.js.map +1 -1
  407. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  408. package/dist/utils/command-safety/constants.js +30 -5
  409. package/dist/utils/command-safety/constants.js.map +1 -1
  410. package/dist/utils/command-safety/index.d.ts.map +1 -1
  411. package/dist/utils/command-safety/index.js +3 -0
  412. package/dist/utils/command-safety/index.js.map +1 -1
  413. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  414. package/dist/utils/command-safety/path-analysis.js +8 -0
  415. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  416. package/dist/utils/command-safety.find.test.js +1 -1
  417. package/dist/utils/command-safety.find.test.js.map +1 -1
  418. package/dist/utils/command-safety.path.test.js +14 -0
  419. package/dist/utils/command-safety.path.test.js.map +1 -1
  420. package/dist/utils/command-safety.specialized-handlers.test.d.ts +2 -0
  421. package/dist/utils/command-safety.specialized-handlers.test.d.ts.map +1 -0
  422. package/dist/utils/command-safety.specialized-handlers.test.js +20 -0
  423. package/dist/utils/command-safety.specialized-handlers.test.js.map +1 -0
  424. package/dist/utils/conversation-event-handler.d.ts +8 -6
  425. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  426. package/dist/utils/conversation-event-handler.js +166 -46
  427. package/dist/utils/conversation-event-handler.js.map +1 -1
  428. package/dist/utils/conversation-event-handler.test.js +391 -12
  429. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  430. package/dist/utils/conversation-utils.d.ts +2 -0
  431. package/dist/utils/conversation-utils.d.ts.map +1 -1
  432. package/dist/utils/conversation-utils.js +2 -0
  433. package/dist/utils/conversation-utils.js.map +1 -1
  434. package/dist/utils/execute-shell.d.ts +5 -6
  435. package/dist/utils/execute-shell.d.ts.map +1 -1
  436. package/dist/utils/execute-shell.js +21 -11
  437. package/dist/utils/execute-shell.js.map +1 -1
  438. package/dist/utils/execute-shell.test.js +37 -6
  439. package/dist/utils/execute-shell.test.js.map +1 -1
  440. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  441. package/dist/utils/extract-command-messages.js +4 -1
  442. package/dist/utils/extract-command-messages.js.map +1 -1
  443. package/dist/utils/flex-service-tier.d.ts +2 -0
  444. package/dist/utils/flex-service-tier.d.ts.map +1 -0
  445. package/dist/utils/flex-service-tier.js +20 -0
  446. package/dist/utils/flex-service-tier.js.map +1 -0
  447. package/dist/utils/flex-service-tier.test.d.ts +2 -0
  448. package/dist/utils/flex-service-tier.test.d.ts.map +1 -0
  449. package/dist/utils/flex-service-tier.test.js +25 -0
  450. package/dist/utils/flex-service-tier.test.js.map +1 -0
  451. package/dist/utils/log-truncation.d.ts +4 -2
  452. package/dist/utils/log-truncation.d.ts.map +1 -1
  453. package/dist/utils/log-truncation.js +143 -41
  454. package/dist/utils/log-truncation.js.map +1 -1
  455. package/dist/utils/log-truncation.test.js +131 -1
  456. package/dist/utils/log-truncation.test.js.map +1 -1
  457. package/dist/utils/project-tree.d.ts +14 -0
  458. package/dist/utils/project-tree.d.ts.map +1 -0
  459. package/dist/utils/project-tree.js +111 -0
  460. package/dist/utils/project-tree.js.map +1 -0
  461. package/dist/utils/project-tree.test.d.ts +2 -0
  462. package/dist/utils/project-tree.test.d.ts.map +1 -0
  463. package/dist/utils/project-tree.test.js +149 -0
  464. package/dist/utils/project-tree.test.js.map +1 -0
  465. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
  466. package/dist/utils/provider-traffic-extractor.js +0 -1
  467. package/dist/utils/provider-traffic-extractor.js.map +1 -1
  468. package/dist/utils/streaming-session-factory.d.ts +1 -3
  469. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  470. package/dist/utils/streaming-session-factory.js +29 -10
  471. package/dist/utils/streaming-session-factory.js.map +1 -1
  472. package/dist/utils/streaming-session-factory.test.js +47 -15
  473. package/dist/utils/streaming-session-factory.test.js.map +1 -1
  474. package/dist/utils/subsequence-filter.d.ts +8 -0
  475. package/dist/utils/subsequence-filter.d.ts.map +1 -0
  476. package/dist/utils/subsequence-filter.js +47 -0
  477. package/dist/utils/subsequence-filter.js.map +1 -0
  478. package/dist/utils/terminal-clear.d.ts +7 -0
  479. package/dist/utils/terminal-clear.d.ts.map +1 -0
  480. package/dist/utils/terminal-clear.js +5 -0
  481. package/dist/utils/terminal-clear.js.map +1 -0
  482. package/dist/utils/terminal-clear.test.d.ts +2 -0
  483. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  484. package/dist/utils/terminal-clear.test.js +13 -0
  485. package/dist/utils/terminal-clear.test.js.map +1 -0
  486. package/dist/utils/token-usage.d.ts +13 -1
  487. package/dist/utils/token-usage.d.ts.map +1 -1
  488. package/dist/utils/token-usage.js +119 -28
  489. package/dist/utils/token-usage.js.map +1 -1
  490. package/dist/utils/token-usage.test.js +135 -3
  491. package/dist/utils/token-usage.test.js.map +1 -1
  492. package/package.json +4 -4
  493. package/dist/providers/openai-compatible/api.d.ts +0 -17
  494. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  495. package/dist/providers/openai-compatible/api.js +0 -58
  496. package/dist/providers/openai-compatible/api.js.map +0 -1
  497. package/dist/providers/openai-compatible/model.d.ts +0 -17
  498. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  499. package/dist/providers/openai-compatible/model.js +0 -473
  500. package/dist/providers/openai-compatible/model.js.map +0 -1
  501. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  502. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  503. package/dist/providers/openai-compatible/provider.js +0 -43
  504. package/dist/providers/openai-compatible/provider.js.map +0 -1
  505. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  506. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  507. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  508. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  509. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  510. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  511. package/dist/providers/openai-compatible/utils.js +0 -11
  512. package/dist/providers/openai-compatible/utils.js.map +0 -1
  513. package/dist/providers/openrouter/api.d.ts +0 -39
  514. package/dist/providers/openrouter/api.d.ts.map +0 -1
  515. package/dist/providers/openrouter/api.js +0 -164
  516. package/dist/providers/openrouter/api.js.map +0 -1
  517. package/dist/providers/openrouter/converters.d.ts +0 -8
  518. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  519. package/dist/providers/openrouter/converters.js +0 -391
  520. package/dist/providers/openrouter/converters.js.map +0 -1
  521. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  522. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  523. package/dist/providers/openrouter/converters.test.js +0 -179
  524. package/dist/providers/openrouter/converters.test.js.map +0 -1
  525. package/dist/providers/openrouter/index.d.ts +0 -4
  526. package/dist/providers/openrouter/index.d.ts.map +0 -1
  527. package/dist/providers/openrouter/index.js +0 -4
  528. package/dist/providers/openrouter/index.js.map +0 -1
  529. package/dist/providers/openrouter/model.d.ts +0 -14
  530. package/dist/providers/openrouter/model.d.ts.map +0 -1
  531. package/dist/providers/openrouter/model.js +0 -457
  532. package/dist/providers/openrouter/model.js.map +0 -1
  533. package/dist/providers/openrouter/provider.d.ts +0 -15
  534. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  535. package/dist/providers/openrouter/provider.js +0 -21
  536. package/dist/providers/openrouter/provider.js.map +0 -1
  537. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  538. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  539. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  540. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  541. package/dist/providers/openrouter/utils.d.ts +0 -11
  542. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  543. package/dist/providers/openrouter/utils.js +0 -29
  544. package/dist/providers/openrouter/utils.js.map +0 -1
  545. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  546. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  547. package/dist/providers/openrouter.api.retry.test.js +0 -148
  548. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  549. package/dist/providers/openrouter.test.d.ts +0 -2
  550. package/dist/providers/openrouter.test.d.ts.map +0 -1
  551. package/dist/providers/openrouter.test.js +0 -1449
  552. package/dist/providers/openrouter.test.js.map +0 -1
@@ -114,10 +114,10 @@ const getCellTextLines = (cell, width) => {
114
114
  return wrapCellText(cell?.text || '', contentWidth);
115
115
  };
116
116
  // Render cell content with inline formatting
117
- const renderCellContent = (content, width, align, isHeader = false) => {
117
+ const renderCellContent = (content, width, align, isHeader = false, options = {}) => {
118
118
  const contentWidth = Math.max(1, width - TABLE_CELL_PADDING * 2);
119
119
  const paddedContent = padContent(content, contentWidth, align);
120
- return (React.createElement(Text, { bold: isHeader },
120
+ return (React.createElement(Text, { bold: isHeader, color: options.defaultColor, dimColor: options.dimColor },
121
121
  ' '.repeat(TABLE_CELL_PADDING),
122
122
  paddedContent,
123
123
  ' '.repeat(TABLE_CELL_PADDING)));
@@ -148,14 +148,17 @@ const generateBorder = (widths, style) => {
148
148
  };
149
149
  }
150
150
  };
151
- const TableRenderer = ({ token, style = 'ascii' }) => {
151
+ const TableRenderer = ({ token, style = 'ascii', options = {}, maxWidth }) => {
152
152
  const { header, rows, align } = token;
153
153
  const numCols = header.length;
154
154
  const { stdout } = useStdout();
155
- // Respect the real terminal width so the table never wraps
155
+ // Respect the real terminal width so the table never wraps.
156
+ // If a maxWidth is provided (e.g. from a parent with padding), use it
157
+ // instead of the raw terminal width.
156
158
  const terminalColumns = stdout.columns || TABLE_MAX_WIDTH;
159
+ const containerWidth = maxWidth ?? terminalColumns;
157
160
  const minimumTableWidth = numCols * (TABLE_CELL_PADDING * 2 + 1) + numCols + 1;
158
- const effectiveMaxWidth = Math.max(minimumTableWidth, Math.min(TABLE_MAX_WIDTH, terminalColumns - TABLE_MARGIN_X * 2 - TABLE_TERMINAL_WRAP_SLACK));
161
+ const effectiveMaxWidth = Math.max(minimumTableWidth, Math.min(TABLE_MAX_WIDTH, containerWidth - TABLE_MARGIN_X * 2 - TABLE_TERMINAL_WRAP_SLACK));
159
162
  // Calculate column widths
160
163
  const columnWidths = calculateColumnWidths(header, rows, TABLE_CELL_PADDING, effectiveMaxWidth);
161
164
  // Generate borders
@@ -179,35 +182,35 @@ const TableRenderer = ({ token, style = 'ascii' }) => {
179
182
  const wrappedCells = columnWidths.map((width, index) => getCellTextLines(row[index], width));
180
183
  const lineCount = Math.max(...wrappedCells.map((lines) => lines.length));
181
184
  return Array.from({ length: lineCount }, (_, lineIndex) => (React.createElement(Box, { key: `${rowKey}-${lineIndex}`, flexDirection: "row" },
182
- vertical.left ? React.createElement(Text, { color: "#64748b" }, vertical.left) : null,
185
+ vertical.left ? (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.left)) : null,
183
186
  columnWidths.map((width, index) => {
184
187
  const content = wrappedCells[index][lineIndex] || '';
185
- const cell = (React.createElement(Box, { width: width }, renderCellContent(content, width, columnAlignment[index] || 'left', isHeader)));
188
+ const cell = (React.createElement(Box, { width: width }, renderCellContent(content, width, columnAlignment[index] || 'left', isHeader, options)));
186
189
  return (React.createElement(React.Fragment, { key: index },
187
190
  cell,
188
- index < numCols - 1 && React.createElement(Text, { color: "#64748b" }, vertical.middle)));
191
+ index < numCols - 1 && (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.middle))));
189
192
  }),
190
- vertical.right ? React.createElement(Text, { color: "#64748b" }, vertical.right) : null)));
193
+ vertical.right ? (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.right)) : null)));
191
194
  };
192
195
  // Separator between header and data (only for bordered styles)
193
196
  const renderSeparator = () => {
194
197
  return (React.createElement(Box, { marginX: TABLE_MARGIN_X },
195
- React.createElement(Text, { color: "#64748b" }, borders.middle)));
198
+ React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.middle)));
196
199
  };
197
- return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
200
+ return (React.createElement(Box, { flexDirection: "column" },
198
201
  React.createElement(Box, { marginX: TABLE_MARGIN_X },
199
- React.createElement(Text, { color: "#64748b" }, borders.top)),
202
+ React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.top)),
200
203
  React.createElement(Box, { flexDirection: "column", marginX: TABLE_MARGIN_X }, renderTableRow(header, 'header', true)),
201
204
  renderSeparator(),
202
205
  rows.map((row, rowIndex) => (React.createElement(React.Fragment, { key: rowIndex },
203
206
  React.createElement(Box, { flexDirection: "column", marginX: TABLE_MARGIN_X }, renderTableRow(row, `row-${rowIndex}`)),
204
207
  rowIndex < rows.length - 1 ? renderSeparator() : null))),
205
208
  React.createElement(Box, { marginX: TABLE_MARGIN_X },
206
- React.createElement(Text, { color: "#64748b" }, borders.bottom))));
209
+ React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.bottom))));
207
210
  };
208
211
  // --- Token Renderers ---
209
212
  // recursively render inline content (bold, italic, links, etc.)
210
- const InlineContent = ({ tokens }) => {
213
+ const InlineContent = ({ tokens, options = {} }) => {
211
214
  if (!tokens)
212
215
  return null;
213
216
  return (React.createElement(React.Fragment, null, tokens.map((token, index) => {
@@ -217,21 +220,21 @@ const InlineContent = ({ tokens }) => {
217
220
  case 'escape':
218
221
  // Handle nested formatting inside text tokens if marked provides them
219
222
  if (token.tokens) {
220
- return React.createElement(InlineContent, { key: key, tokens: token.tokens });
223
+ return React.createElement(InlineContent, { key: key, tokens: token.tokens, options: options });
221
224
  }
222
- return React.createElement(Text, { key: key }, token.text);
225
+ return (React.createElement(Text, { key: key, color: options.defaultColor, dimColor: options.dimColor }, token.text));
223
226
  case 'strong':
224
- return (React.createElement(Text, { key: key, bold: true },
225
- React.createElement(InlineContent, { tokens: token.tokens })));
227
+ return (React.createElement(Text, { key: key, bold: true, color: options.defaultColor, dimColor: options.dimColor },
228
+ React.createElement(InlineContent, { tokens: token.tokens, options: options })));
226
229
  case 'em':
227
- return (React.createElement(Text, { key: key, italic: true },
228
- React.createElement(InlineContent, { tokens: token.tokens })));
230
+ return (React.createElement(Text, { key: key, italic: true, color: options.defaultColor, dimColor: options.dimColor },
231
+ React.createElement(InlineContent, { tokens: token.tokens, options: options })));
229
232
  case 'codespan':
230
- return (React.createElement(Text, { key: key, color: "yellow", backgroundColor: "#333" }, ` ${token.text} `));
233
+ return (React.createElement(Text, { key: key, color: "yellow", backgroundColor: "#333", dimColor: options.dimColor }, `\u00A0${token.text}\u00A0`));
231
234
  case 'link':
232
- return (React.createElement(Text, { key: key, color: "#3b82f6", underline: true }, token.text));
235
+ return (React.createElement(Text, { key: key, color: "#3b82f6", underline: true, dimColor: options.dimColor }, token.text));
233
236
  case 'image':
234
- return (React.createElement(Text, { key: key, color: "#64748b" },
237
+ return (React.createElement(Text, { key: key, color: "#64748b", dimColor: options.dimColor },
235
238
  ' ',
236
239
  "[Image: ",
237
240
  token.text,
@@ -240,55 +243,72 @@ const InlineContent = ({ tokens }) => {
240
243
  case 'br':
241
244
  return React.createElement(Newline, { key: key });
242
245
  default:
243
- return React.createElement(Text, { key: key }, token.raw);
246
+ return (React.createElement(Text, { key: key, color: options.defaultColor, dimColor: options.dimColor }, token.raw));
244
247
  }
245
248
  })));
246
249
  };
247
250
  // Render Block elements (Headings, Paragraphs, Lists)
248
- const BlockRenderer = ({ token }) => {
251
+ const BlockRenderer = ({ token, options = {}, maxWidth, }) => {
249
252
  switch (token.type) {
250
253
  case 'heading':
251
254
  const isMain = token.depth === 1;
252
- return (React.createElement(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1 },
253
- React.createElement(Text, { bold: true, underline: isMain, color: isMain ? 'green' : 'cyan' },
255
+ return (React.createElement(Box, { flexDirection: "column" },
256
+ React.createElement(Text, { bold: true, underline: isMain, color: isMain ? 'green' : 'cyan', dimColor: options.dimColor },
254
257
  isMain ? '# ' : '## ',
255
- React.createElement(InlineContent, { tokens: token.tokens }))));
258
+ React.createElement(InlineContent, { tokens: token.tokens, options: options }))));
256
259
  case 'paragraph':
257
- return (React.createElement(Box, { marginBottom: 1 },
258
- React.createElement(Text, null,
259
- React.createElement(InlineContent, { tokens: token.tokens }))));
260
+ return (React.createElement(Box, null,
261
+ React.createElement(Text, { color: options.defaultColor, dimColor: options.dimColor },
262
+ React.createElement(InlineContent, { tokens: token.tokens, options: options }))));
260
263
  case 'list':
261
- return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, token.items.map((item, index) => (React.createElement(BlockRenderer, { key: index, token: item })))));
264
+ return (React.createElement(Box, { flexDirection: "column" }, token.items.map((item, index) => (React.createElement(BlockRenderer, { key: index, token: item, options: options })))));
262
265
  case 'list_item':
263
266
  return (React.createElement(Box, { flexDirection: "row" },
264
267
  React.createElement(Box, { marginRight: 1 },
265
- React.createElement(Text, { color: "green" }, "\u2022")),
268
+ React.createElement(Text, { color: "green", dimColor: options.dimColor }, "\u2022")),
266
269
  React.createElement(Box, { flexDirection: "column", flexGrow: 1 }, token.tokens.map((subToken, i) => {
267
270
  // If it's just text inside the list item, marked might wrap it in a generic block
268
271
  if (subToken.type === 'text') {
269
- return (React.createElement(Text, { key: i },
270
- React.createElement(InlineContent, { tokens: subToken.tokens })));
272
+ return (React.createElement(Text, { key: i, color: options.defaultColor, dimColor: options.dimColor },
273
+ React.createElement(InlineContent, { tokens: subToken.tokens, options: options })));
271
274
  }
272
- return React.createElement(BlockRenderer, { key: i, token: subToken });
275
+ return React.createElement(BlockRenderer, { key: i, token: subToken, options: options });
273
276
  }))));
274
277
  case 'code':
275
- return (React.createElement(Box, { borderStyle: "round", borderColor: "#64748b", paddingX: 1, marginBottom: 1, flexDirection: "column" },
276
- React.createElement(Text, { color: "yellow" }, token.text)));
278
+ if (!token.text || !token.text.trim())
279
+ return null;
280
+ return (React.createElement(Box, { borderStyle: "round", borderColor: "#64748b", paddingX: 1, flexDirection: "column" },
281
+ React.createElement(Text, { color: "yellow", dimColor: options.dimColor }, token.text)));
277
282
  case 'blockquote':
278
- return (React.createElement(Box, { paddingLeft: 2, borderStyle: "classic", borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, borderColor: "magenta", marginBottom: 1, flexDirection: "column" }, token.tokens.map((t, i) => (React.createElement(BlockRenderer, { key: i, token: t })))));
283
+ return (React.createElement(Box, { paddingLeft: 2, borderStyle: "classic", borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, borderColor: "magenta", flexDirection: "column" }, token.tokens.map((t, i) => (React.createElement(BlockRenderer, { key: i, token: t, options: options })))));
279
284
  case 'space':
280
285
  return null;
281
286
  case 'hr':
282
- return (React.createElement(Box, { marginY: 1 },
283
- React.createElement(Text, { color: "#64748b" }, "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")));
287
+ return (React.createElement(Box, null,
288
+ React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")));
284
289
  case 'table':
285
- return React.createElement(TableRenderer, { token: token });
290
+ return React.createElement(TableRenderer, { token: token, options: options, maxWidth: maxWidth });
286
291
  default:
287
292
  // Fallback for unknown blocks
288
293
  // console.log(`Unknown token type: ${token.type}`);
289
294
  return null;
290
295
  }
291
296
  };
297
+ // Re-renders only when raw token content or render options change.
298
+ // During streaming, only the trailing (in-progress) block will ever change, so all
299
+ // prior blocks keep their existing React subtrees without reconciliation.
300
+ const MemoBlock = React.memo(({ token, options, maxWidth }) => (React.createElement(BlockRenderer, { token: token, options: options, maxWidth: maxWidth })), (prev, next) => {
301
+ if (prev.options !== next.options) {
302
+ return false;
303
+ }
304
+ if (prev.maxWidth !== next.maxWidth) {
305
+ return false;
306
+ }
307
+ if (typeof prev.token.raw !== 'string' || typeof next.token.raw !== 'string') {
308
+ return false;
309
+ }
310
+ return prev.token.raw === next.token.raw;
311
+ });
292
312
  // Generate a stable key for a token based on its type and content
293
313
  // This prevents unnecessary re-renders when the AST structure changes during streaming
294
314
  const getTokenKey = (token, index) => {
@@ -300,10 +320,11 @@ const getTokenKey = (token, index) => {
300
320
  const rawPreview = token.raw ? token.raw.slice(0, 30).replace(/\s+/g, ' ') : '';
301
321
  return `${token.type}-${rawPreview}-${index}`;
302
322
  };
303
- const MarkdownRenderer = ({ children, tokens }) => {
323
+ const MarkdownRenderer = ({ children, tokens, defaultColor, dimColor, maxWidth }) => {
304
324
  // Allow passing raw text (which we parse) OR pre-parsed tokens
305
325
  const ast = useMemo(() => tokens || marked.lexer(String(children || '')), [tokens, children]);
306
- return (React.createElement(Box, { flexDirection: "column" }, ast.map((token, index) => (React.createElement(BlockRenderer, { key: getTokenKey(token, index), token: token })))));
326
+ const options = useMemo(() => ({ defaultColor, dimColor }), [defaultColor, dimColor]);
327
+ return (React.createElement(Box, { flexDirection: "column" }, ast.map((token, index) => (React.createElement(MemoBlock, { key: getTokenKey(token, index), token: token, options: options, maxWidth: maxWidth })))));
307
328
  };
308
- export default MarkdownRenderer;
329
+ export default React.memo(MarkdownRenderer);
309
330
  //# sourceMappingURL=MarkdownRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../source/components/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../source/components/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import React from 'react';
2
+ import type { SettingsService } from '../services/settings-service.js';
2
3
  type Props = {
3
4
  messages: any[];
5
+ bannerItems?: string[];
6
+ settingsService?: SettingsService;
7
+ isShellMode?: boolean;
4
8
  };
5
9
  type MessageLike = {
10
+ id: string;
6
11
  sender?: string;
7
12
  status?: string;
8
13
  };
9
- export declare const splitStaticHistory: <T extends MessageLike>(messages: T[], windowSize?: number) => {
14
+ export declare const MESSAGE_HORIZONTAL_PADDING = 2;
15
+ export declare const splitStaticHistory: <T extends MessageLike>(messages: T[]) => {
10
16
  history: T[];
11
17
  active: T[];
12
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB,CAAC;AAIF,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAcF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE,mBAAwB;;;CAehG,CAAC;;AA8CF,wBAAuC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAeF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAkB5C,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE;;;CAoBtE,CAAC;;AA6IF,wBAAuC"}
@@ -1,47 +1,122 @@
1
- import React, { useMemo } from 'react';
2
- import { Box, Static } from 'ink';
1
+ import React, { useMemo, useRef } from 'react';
2
+ import { Box, Static, useStdout } from 'ink';
3
3
  import CommandMessage from './CommandMessage.js';
4
4
  import ChatMessage from './ChatMessage.js';
5
- const WINDOW_SIZE = 20;
5
+ import Banner from './Banner.js';
6
+ export const MESSAGE_HORIZONTAL_PADDING = 2;
6
7
  const canRenderStatically = (message) => {
7
8
  if (message.sender === 'reasoning') {
8
- return false;
9
+ return message.status === 'finalized';
9
10
  }
10
11
  if (message.sender === 'command') {
11
12
  return message.status !== 'pending' && message.status !== 'running';
12
13
  }
14
+ if (message.sender === 'bot') {
15
+ return message.status !== 'streaming';
16
+ }
13
17
  return true;
14
18
  };
15
- export const splitStaticHistory = (messages, windowSize = WINDOW_SIZE) => {
16
- const activeStart = Math.max(0, messages.length - windowSize);
17
- const history = [];
18
- const active = [];
19
- messages.forEach((message, index) => {
20
- if (index >= activeStart || !canRenderStatically(message)) {
21
- active.push(message);
22
- return;
23
- }
24
- history.push(message);
25
- });
26
- return { history, active };
19
+ export const splitStaticHistory = (messages) => {
20
+ const activeStart = messages.findIndex((message) => !canRenderStatically(message));
21
+ if (activeStart === -1) {
22
+ return { history: messages, active: [] };
23
+ }
24
+ const firstActiveMessage = messages[activeStart];
25
+ const previousMessage = activeStart > 0 ? messages[activeStart - 1] : undefined;
26
+ const activeStartWithToolLeadIn = firstActiveMessage?.sender === 'command' &&
27
+ (firstActiveMessage.status === 'pending' || firstActiveMessage.status === 'running') &&
28
+ previousMessage?.sender === 'bot' &&
29
+ previousMessage.status === 'finalized'
30
+ ? activeStart - 1
31
+ : activeStart;
32
+ return {
33
+ history: messages.slice(0, activeStartWithToolLeadIn),
34
+ active: messages.slice(activeStartWithToolLeadIn),
35
+ };
36
+ };
37
+ const createStaticItems = (bannerItems, history) => [
38
+ ...bannerItems.map((id) => ({ kind: 'banner', id })),
39
+ ...history.map((message) => ({ kind: 'message', id: message.id, message })),
40
+ ];
41
+ const createMessageSignature = (message) => {
42
+ try {
43
+ return JSON.stringify(message);
44
+ }
45
+ catch {
46
+ return `${message.id}:${message.sender ?? ''}:${message.status ?? ''}`;
47
+ }
27
48
  };
28
- const MessageList = ({ messages }) => {
49
+ const MessageList = ({ messages, bannerItems = [], settingsService, isShellMode = false }) => {
50
+ const { stdout } = useStdout();
51
+ const terminalColumns = stdout.columns || 80;
52
+ const contentWidth = Math.max(1, terminalColumns - MESSAGE_HORIZONTAL_PADDING * 2);
29
53
  // Use useMemo to prevent array recreation on every render.
30
54
  // This stabilizes the references passed to Static and the active Box,
31
55
  // preventing unnecessary re-renders and fixing flickering in long sessions.
32
56
  const { history, active } = useMemo(() => {
33
57
  return splitStaticHistory(messages);
34
58
  }, [messages]);
35
- const renderMessage = (msg, idx, collection) => {
59
+ const staticItemsRef = useRef(createStaticItems(bannerItems, []));
60
+ const seenBannerIdsRef = useRef(new Set(bannerItems));
61
+ const committedMessageSignaturesRef = useRef(new Map());
62
+ const candidateMessageSignaturesRef = useRef(new Map());
63
+ const { staticItems, deferredHistory } = useMemo(() => {
64
+ const additions = [];
65
+ const deferred = [];
66
+ for (const bannerId of bannerItems) {
67
+ if (seenBannerIdsRef.current.has(bannerId)) {
68
+ continue;
69
+ }
70
+ seenBannerIdsRef.current.add(bannerId);
71
+ additions.push({ kind: 'banner', id: bannerId });
72
+ }
73
+ const historyIds = new Set(history.map((message) => message.id));
74
+ for (const messageId of candidateMessageSignaturesRef.current.keys()) {
75
+ if (!historyIds.has(messageId)) {
76
+ candidateMessageSignaturesRef.current.delete(messageId);
77
+ }
78
+ }
79
+ for (const message of history) {
80
+ const signature = createMessageSignature(message);
81
+ const committedSignature = committedMessageSignaturesRef.current.get(message.id);
82
+ if (committedSignature === signature) {
83
+ continue;
84
+ }
85
+ if (committedSignature !== undefined) {
86
+ candidateMessageSignaturesRef.current.set(message.id, signature);
87
+ deferred.push(message);
88
+ continue;
89
+ }
90
+ if (candidateMessageSignaturesRef.current.get(message.id) === signature) {
91
+ committedMessageSignaturesRef.current.set(message.id, signature);
92
+ additions.push({ kind: 'message', id: message.id, message });
93
+ continue;
94
+ }
95
+ candidateMessageSignaturesRef.current.set(message.id, signature);
96
+ deferred.push(message);
97
+ }
98
+ if (additions.length > 0) {
99
+ staticItemsRef.current = [...staticItemsRef.current, ...additions];
100
+ }
101
+ return { staticItems: staticItemsRef.current, deferredHistory: deferred };
102
+ }, [bannerItems, history]);
103
+ const dynamicItems = useMemo(() => [...deferredHistory, ...active], [deferredHistory, active]);
104
+ const renderMessage = (msg, idx, collection, maxWidth) => {
36
105
  // Use consistent marginTop to prevent layout reflow.
37
106
  // This ensures stable spacing regardless of message order or streaming updates.
38
107
  // The first message in each collection has no top margin to avoid extra space.
39
- const isFirst = idx === 0 && collection === active && history.length === 0;
40
- return (React.createElement(Box, { key: msg.id, marginTop: isFirst ? 0 : 1 }, msg.sender === 'command' ? (React.createElement(CommandMessage, { command: msg.command, output: msg.output, status: msg.status, success: msg.success, failureReason: msg.failureReason, toolName: msg.toolName, toolArgs: msg.toolArgs, isApprovalRejection: msg.isApprovalRejection, hadApproval: msg.hadApproval })) : (React.createElement(ChatMessage, { msg: msg }))));
108
+ const isFirst = idx === 0 && collection === dynamicItems && staticItems.length === 0;
109
+ return (React.createElement(Box, { key: msg.id, marginTop: isFirst ? 0 : 1, width: maxWidth }, msg.sender === 'command' ? (React.createElement(CommandMessage, { command: msg.command, output: msg.output, status: msg.status, success: msg.success, failureReason: msg.failureReason, toolName: msg.toolName, toolArgs: msg.toolArgs, isApprovalRejection: msg.isApprovalRejection, hadApproval: msg.hadApproval })) : (React.createElement(ChatMessage, { msg: msg, maxWidth: maxWidth }))));
110
+ };
111
+ const renderStaticItem = (item, idx) => {
112
+ if (item.kind === 'banner') {
113
+ return (React.createElement(Box, { key: item.id }, settingsService && React.createElement(Banner, { settingsService: settingsService, isShellMode: isShellMode })));
114
+ }
115
+ return renderMessage(item.message, idx, staticItems, contentWidth);
41
116
  };
42
- return (React.createElement(Box, { flexDirection: "column" },
43
- React.createElement(Static, { items: history }, (msg, idx) => renderMessage(msg, idx, history)),
44
- React.createElement(Box, { flexDirection: "column" }, active.map((msg, idx) => renderMessage(msg, idx, active)))));
117
+ return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
118
+ React.createElement(Static, { items: staticItems, style: { paddingLeft: MESSAGE_HORIZONTAL_PADDING, paddingRight: MESSAGE_HORIZONTAL_PADDING } }, renderStaticItem),
119
+ React.createElement(Box, { flexDirection: "column", paddingX: MESSAGE_HORIZONTAL_PADDING }, dynamicItems.map((msg, idx) => renderMessage(msg, idx, dynamicItems, contentWidth)))));
45
120
  };
46
121
  export default React.memo(MessageList);
47
122
  //# sourceMappingURL=MessageList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"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"}