indusagi 0.12.7 → 0.12.8

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 (667) hide show
  1. package/dist/agent/agent-loop.d.ts.map +1 -1
  2. package/dist/agent/agent-loop.js +10 -1
  3. package/dist/agent/agent-loop.js.map +1 -1
  4. package/dist/agent/agent.d.ts +2 -1
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +30 -38
  7. package/dist/agent/agent.js.map +1 -1
  8. package/dist/agent/error-handler.d.ts +8 -0
  9. package/dist/agent/error-handler.d.ts.map +1 -0
  10. package/dist/agent/error-handler.js +8 -0
  11. package/dist/agent/error-handler.js.map +1 -0
  12. package/dist/agent/event-bus.d.ts +9 -0
  13. package/dist/agent/event-bus.d.ts.map +1 -0
  14. package/dist/agent/event-bus.js +17 -0
  15. package/dist/agent/event-bus.js.map +1 -0
  16. package/dist/agent/proxy.d.ts +13 -19
  17. package/dist/agent/proxy.d.ts.map +1 -1
  18. package/dist/agent/proxy.js +45 -4
  19. package/dist/agent/proxy.js.map +1 -1
  20. package/dist/agent/state-manager.d.ts +22 -0
  21. package/dist/agent/state-manager.d.ts.map +1 -0
  22. package/dist/agent/state-manager.js +59 -0
  23. package/dist/agent/state-manager.js.map +1 -0
  24. package/dist/agent/telemetry.d.ts +7 -0
  25. package/dist/agent/telemetry.d.ts.map +1 -0
  26. package/dist/agent/telemetry.js +20 -0
  27. package/dist/agent/telemetry.js.map +1 -0
  28. package/dist/agent/tools/bash.d.ts +11 -0
  29. package/dist/agent/tools/bash.d.ts.map +1 -1
  30. package/dist/agent/tools/bash.js +27 -4
  31. package/dist/agent/tools/bash.js.map +1 -1
  32. package/dist/agent/tools/edit.d.ts +5 -0
  33. package/dist/agent/tools/edit.d.ts.map +1 -1
  34. package/dist/agent/tools/edit.js +16 -2
  35. package/dist/agent/tools/edit.js.map +1 -1
  36. package/dist/agent/tools/find.d.ts +2 -0
  37. package/dist/agent/tools/find.d.ts.map +1 -1
  38. package/dist/agent/tools/find.js +4 -1
  39. package/dist/agent/tools/find.js.map +1 -1
  40. package/dist/agent/tools/grep.d.ts.map +1 -1
  41. package/dist/agent/tools/grep.js +15 -4
  42. package/dist/agent/tools/grep.js.map +1 -1
  43. package/dist/agent/tools/index.d.ts +18 -2
  44. package/dist/agent/tools/index.d.ts.map +1 -1
  45. package/dist/agent/tools/index.js +64 -50
  46. package/dist/agent/tools/index.js.map +1 -1
  47. package/dist/agent/tools/ls.d.ts +2 -0
  48. package/dist/agent/tools/ls.d.ts.map +1 -1
  49. package/dist/agent/tools/ls.js +5 -0
  50. package/dist/agent/tools/ls.js.map +1 -1
  51. package/dist/agent/tools/path-utils.d.ts.map +1 -1
  52. package/dist/agent/tools/path-utils.js +3 -0
  53. package/dist/agent/tools/path-utils.js.map +1 -1
  54. package/dist/agent/tools/registry.d.ts +21 -0
  55. package/dist/agent/tools/registry.d.ts.map +1 -0
  56. package/dist/agent/tools/registry.js +25 -0
  57. package/dist/agent/tools/registry.js.map +1 -0
  58. package/dist/agent/tools/task.d.ts.map +1 -1
  59. package/dist/agent/tools/task.js +12 -6
  60. package/dist/agent/tools/task.js.map +1 -1
  61. package/dist/agent/tools/todo-store.d.ts +4 -0
  62. package/dist/agent/tools/todo-store.d.ts.map +1 -1
  63. package/dist/agent/tools/todo-store.js +12 -0
  64. package/dist/agent/tools/todo-store.js.map +1 -1
  65. package/dist/agent/tools/todo.d.ts +4 -0
  66. package/dist/agent/tools/todo.d.ts.map +1 -1
  67. package/dist/agent/tools/todo.js +14 -4
  68. package/dist/agent/tools/todo.js.map +1 -1
  69. package/dist/agent/tools/truncate.d.ts +3 -0
  70. package/dist/agent/tools/truncate.d.ts.map +1 -1
  71. package/dist/agent/tools/truncate.js.map +1 -1
  72. package/dist/agent/tools/utils/hook-runner.d.ts +8 -3
  73. package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
  74. package/dist/agent/tools/utils/hook-runner.js +22 -5
  75. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  76. package/dist/agent/tools/utils/image-resize.d.ts +1 -0
  77. package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
  78. package/dist/agent/tools/utils/image-resize.js +5 -0
  79. package/dist/agent/tools/utils/image-resize.js.map +1 -1
  80. package/dist/agent/tools/utils/mime.d.ts.map +1 -1
  81. package/dist/agent/tools/utils/mime.js +6 -0
  82. package/dist/agent/tools/utils/mime.js.map +1 -1
  83. package/dist/agent/tools/utils/shell.d.ts +5 -0
  84. package/dist/agent/tools/utils/shell.d.ts.map +1 -1
  85. package/dist/agent/tools/utils/shell.js +9 -0
  86. package/dist/agent/tools/utils/shell.js.map +1 -1
  87. package/dist/agent/tools/webfetch.d.ts +2 -0
  88. package/dist/agent/tools/webfetch.d.ts.map +1 -1
  89. package/dist/agent/tools/webfetch.js +4 -1
  90. package/dist/agent/tools/webfetch.js.map +1 -1
  91. package/dist/agent/tools/websearch.d.ts +6 -0
  92. package/dist/agent/tools/websearch.d.ts.map +1 -1
  93. package/dist/agent/tools/websearch.js +22 -2
  94. package/dist/agent/tools/websearch.js.map +1 -1
  95. package/dist/agent/tools/write.d.ts +4 -0
  96. package/dist/agent/tools/write.d.ts.map +1 -1
  97. package/dist/agent/tools/write.js +19 -1
  98. package/dist/agent/tools/write.js.map +1 -1
  99. package/dist/agent/types.d.ts +22 -1
  100. package/dist/agent/types.d.ts.map +1 -1
  101. package/dist/agent/types.js +44 -1
  102. package/dist/agent/types.js.map +1 -1
  103. package/dist/ai/api-registry.d.ts +34 -4
  104. package/dist/ai/api-registry.d.ts.map +1 -1
  105. package/dist/ai/api-registry.js +97 -19
  106. package/dist/ai/api-registry.js.map +1 -1
  107. package/dist/ai/cli.js +24 -3
  108. package/dist/ai/cli.js.map +1 -1
  109. package/dist/ai/env-api-keys.d.ts +9 -0
  110. package/dist/ai/env-api-keys.d.ts.map +1 -1
  111. package/dist/ai/env-api-keys.js +23 -0
  112. package/dist/ai/env-api-keys.js.map +1 -1
  113. package/dist/ai/index.d.ts +4 -2
  114. package/dist/ai/index.d.ts.map +1 -1
  115. package/dist/ai/index.js +4 -2
  116. package/dist/ai/index.js.map +1 -1
  117. package/dist/ai/models.d.ts +30 -0
  118. package/dist/ai/models.d.ts.map +1 -1
  119. package/dist/ai/models.generated.d.ts +1 -0
  120. package/dist/ai/models.generated.d.ts.map +1 -1
  121. package/dist/ai/models.js +90 -18
  122. package/dist/ai/models.js.map +1 -1
  123. package/dist/ai/providers/amazon-bedrock.d.ts +19 -1
  124. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  125. package/dist/ai/providers/amazon-bedrock.js +68 -40
  126. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  127. package/dist/ai/providers/anthropic.d.ts +50 -1
  128. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  129. package/dist/ai/providers/anthropic.js +204 -161
  130. package/dist/ai/providers/anthropic.js.map +1 -1
  131. package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
  132. package/dist/ai/providers/azure-openai-responses.js +36 -28
  133. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  134. package/dist/ai/providers/google-shared.d.ts +9 -0
  135. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  136. package/dist/ai/providers/google-shared.js +16 -0
  137. package/dist/ai/providers/google-shared.js.map +1 -1
  138. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  139. package/dist/ai/providers/google-vertex.js +33 -26
  140. package/dist/ai/providers/google-vertex.js.map +1 -1
  141. package/dist/ai/providers/google.d.ts.map +1 -1
  142. package/dist/ai/providers/google.js +33 -26
  143. package/dist/ai/providers/google.js.map +1 -1
  144. package/dist/ai/providers/kimi.d.ts.map +1 -1
  145. package/dist/ai/providers/kimi.js +34 -24
  146. package/dist/ai/providers/kimi.js.map +1 -1
  147. package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
  148. package/dist/ai/providers/openai-codex-responses.js +33 -25
  149. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  150. package/dist/ai/providers/openai-completions.d.ts +10 -0
  151. package/dist/ai/providers/openai-completions.d.ts.map +1 -1
  152. package/dist/ai/providers/openai-completions.js +51 -26
  153. package/dist/ai/providers/openai-completions.js.map +1 -1
  154. package/dist/ai/providers/openai-responses-shared.d.ts +9 -0
  155. package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
  156. package/dist/ai/providers/openai-responses-shared.js +18 -2
  157. package/dist/ai/providers/openai-responses-shared.js.map +1 -1
  158. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  159. package/dist/ai/providers/openai-responses.js +35 -32
  160. package/dist/ai/providers/openai-responses.js.map +1 -1
  161. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  162. package/dist/ai/providers/register-builtins.js +17 -8
  163. package/dist/ai/providers/register-builtins.js.map +1 -1
  164. package/dist/ai/providers/simple-options.d.ts +19 -0
  165. package/dist/ai/providers/simple-options.d.ts.map +1 -1
  166. package/dist/ai/providers/simple-options.js +62 -0
  167. package/dist/ai/providers/simple-options.js.map +1 -1
  168. package/dist/ai/providers/transform-messages.d.ts +14 -0
  169. package/dist/ai/providers/transform-messages.d.ts.map +1 -1
  170. package/dist/ai/providers/transform-messages.js +99 -96
  171. package/dist/ai/providers/transform-messages.js.map +1 -1
  172. package/dist/ai/stream.d.ts +17 -3
  173. package/dist/ai/stream.d.ts.map +1 -1
  174. package/dist/ai/stream.js +61 -6
  175. package/dist/ai/stream.js.map +1 -1
  176. package/dist/ai/types.d.ts +17 -0
  177. package/dist/ai/types.d.ts.map +1 -1
  178. package/dist/ai/types.js +87 -1
  179. package/dist/ai/types.js.map +1 -1
  180. package/dist/ai/types.test.d.ts +8 -0
  181. package/dist/ai/types.test.d.ts.map +1 -0
  182. package/dist/ai/types.test.js +389 -0
  183. package/dist/ai/types.test.js.map +1 -0
  184. package/dist/ai/utils/base-stream-handler.d.ts +16 -0
  185. package/dist/ai/utils/base-stream-handler.d.ts.map +1 -0
  186. package/dist/ai/utils/base-stream-handler.js +24 -0
  187. package/dist/ai/utils/base-stream-handler.js.map +1 -0
  188. package/dist/ai/utils/event-stream.d.ts +26 -4
  189. package/dist/ai/utils/event-stream.d.ts.map +1 -1
  190. package/dist/ai/utils/event-stream.js +89 -5
  191. package/dist/ai/utils/event-stream.js.map +1 -1
  192. package/dist/ai/utils/index.d.ts +15 -0
  193. package/dist/ai/utils/index.d.ts.map +1 -0
  194. package/dist/ai/utils/index.js +15 -0
  195. package/dist/ai/utils/index.js.map +1 -0
  196. package/dist/ai/utils/json-parse.d.ts +13 -4
  197. package/dist/ai/utils/json-parse.d.ts.map +1 -1
  198. package/dist/ai/utils/json-parse.js +31 -19
  199. package/dist/ai/utils/json-parse.js.map +1 -1
  200. package/dist/ai/utils/message-transform.d.ts +29 -0
  201. package/dist/ai/utils/message-transform.d.ts.map +1 -0
  202. package/dist/ai/utils/message-transform.js +55 -0
  203. package/dist/ai/utils/message-transform.js.map +1 -0
  204. package/dist/ai/utils/oauth/anthropic.d.ts +1 -0
  205. package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
  206. package/dist/ai/utils/oauth/anthropic.js +3 -0
  207. package/dist/ai/utils/oauth/anthropic.js.map +1 -1
  208. package/dist/ai/utils/oauth/github-copilot.d.ts +1 -0
  209. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  210. package/dist/ai/utils/oauth/github-copilot.js +3 -0
  211. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  212. package/dist/ai/utils/oauth/index.d.ts +2 -1
  213. package/dist/ai/utils/oauth/index.d.ts.map +1 -1
  214. package/dist/ai/utils/oauth/index.js +10 -0
  215. package/dist/ai/utils/oauth/index.js.map +1 -1
  216. package/dist/ai/utils/oauth/kimi.d.ts +1 -0
  217. package/dist/ai/utils/oauth/kimi.d.ts.map +1 -1
  218. package/dist/ai/utils/oauth/kimi.js +3 -0
  219. package/dist/ai/utils/oauth/kimi.js.map +1 -1
  220. package/dist/ai/utils/oauth/openai-codex.d.ts +1 -0
  221. package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
  222. package/dist/ai/utils/oauth/openai-codex.js +3 -0
  223. package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
  224. package/dist/ai/utils/oauth/pkce.d.ts +1 -0
  225. package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
  226. package/dist/ai/utils/oauth/pkce.js +5 -0
  227. package/dist/ai/utils/oauth/pkce.js.map +1 -1
  228. package/dist/ai/utils/oauth/types.d.ts +6 -0
  229. package/dist/ai/utils/oauth/types.d.ts.map +1 -1
  230. package/dist/ai/utils/output-factory.d.ts +3 -0
  231. package/dist/ai/utils/output-factory.d.ts.map +1 -0
  232. package/dist/ai/utils/output-factory.js +23 -0
  233. package/dist/ai/utils/output-factory.js.map +1 -0
  234. package/dist/ai/utils/overflow.d.ts +6 -47
  235. package/dist/ai/utils/overflow.d.ts.map +1 -1
  236. package/dist/ai/utils/overflow.js +28 -92
  237. package/dist/ai/utils/overflow.js.map +1 -1
  238. package/dist/ai/utils/provider-adapter.d.ts +57 -0
  239. package/dist/ai/utils/provider-adapter.d.ts.map +1 -0
  240. package/dist/ai/utils/provider-adapter.js +28 -0
  241. package/dist/ai/utils/provider-adapter.js.map +1 -0
  242. package/dist/ai/utils/provider-client-builder.d.ts +37 -0
  243. package/dist/ai/utils/provider-client-builder.d.ts.map +1 -0
  244. package/dist/ai/utils/provider-client-builder.js +50 -0
  245. package/dist/ai/utils/provider-client-builder.js.map +1 -0
  246. package/dist/ai/utils/provider-consolidation.d.ts +4 -0
  247. package/dist/ai/utils/provider-consolidation.d.ts.map +1 -0
  248. package/dist/ai/utils/provider-consolidation.js +33 -0
  249. package/dist/ai/utils/provider-consolidation.js.map +1 -0
  250. package/dist/ai/utils/provider-constants.d.ts +35 -0
  251. package/dist/ai/utils/provider-constants.d.ts.map +1 -0
  252. package/dist/ai/utils/provider-constants.js +35 -0
  253. package/dist/ai/utils/provider-constants.js.map +1 -0
  254. package/dist/ai/utils/provider-errors.d.ts +46 -0
  255. package/dist/ai/utils/provider-errors.d.ts.map +1 -0
  256. package/dist/ai/utils/provider-errors.js +101 -0
  257. package/dist/ai/utils/provider-errors.js.map +1 -0
  258. package/dist/ai/utils/sanitize-unicode.d.ts +1 -0
  259. package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
  260. package/dist/ai/utils/sanitize-unicode.js +16 -0
  261. package/dist/ai/utils/sanitize-unicode.js.map +1 -1
  262. package/dist/ai/utils/stream-event-helper.d.ts +28 -0
  263. package/dist/ai/utils/stream-event-helper.d.ts.map +1 -0
  264. package/dist/ai/utils/stream-event-helper.js +49 -0
  265. package/dist/ai/utils/stream-event-helper.js.map +1 -0
  266. package/dist/ai/utils/stream-handler-types.d.ts +43 -0
  267. package/dist/ai/utils/stream-handler-types.d.ts.map +1 -0
  268. package/dist/ai/utils/stream-handler-types.js +18 -0
  269. package/dist/ai/utils/stream-handler-types.js.map +1 -0
  270. package/dist/ai/utils/streaming-state-manager.d.ts +50 -0
  271. package/dist/ai/utils/streaming-state-manager.d.ts.map +1 -0
  272. package/dist/ai/utils/streaming-state-manager.js +65 -0
  273. package/dist/ai/utils/streaming-state-manager.js.map +1 -0
  274. package/dist/ai/utils/tool-converter.d.ts +50 -0
  275. package/dist/ai/utils/tool-converter.d.ts.map +1 -0
  276. package/dist/ai/utils/tool-converter.js +54 -0
  277. package/dist/ai/utils/tool-converter.js.map +1 -0
  278. package/dist/ai/utils/typebox-helpers.d.ts +6 -1
  279. package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
  280. package/dist/ai/utils/typebox-helpers.js +7 -0
  281. package/dist/ai/utils/typebox-helpers.js.map +1 -1
  282. package/dist/ai/utils/validation.d.ts +6 -0
  283. package/dist/ai/utils/validation.d.ts.map +1 -1
  284. package/dist/ai/utils/validation.js +23 -9
  285. package/dist/ai/utils/validation.js.map +1 -1
  286. package/dist/index.d.ts +0 -1
  287. package/dist/index.d.ts.map +1 -1
  288. package/dist/index.js +0 -1
  289. package/dist/index.js.map +1 -1
  290. package/dist/tui/autocomplete.d.ts +17 -0
  291. package/dist/tui/autocomplete.d.ts.map +1 -1
  292. package/dist/tui/autocomplete.js +33 -3
  293. package/dist/tui/autocomplete.js.map +1 -1
  294. package/dist/tui/components/box.d.ts +2 -2
  295. package/dist/tui/components/box.d.ts.map +1 -1
  296. package/dist/tui/components/box.js +7 -5
  297. package/dist/tui/components/box.js.map +1 -1
  298. package/dist/tui/components/cancellable-loader.d.ts +1 -0
  299. package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
  300. package/dist/tui/components/cancellable-loader.js +4 -0
  301. package/dist/tui/components/cancellable-loader.js.map +1 -1
  302. package/dist/tui/components/editor.d.ts +2 -2
  303. package/dist/tui/components/editor.d.ts.map +1 -1
  304. package/dist/tui/components/editor.js +6 -3
  305. package/dist/tui/components/editor.js.map +1 -1
  306. package/dist/tui/components/image.d.ts +2 -2
  307. package/dist/tui/components/image.d.ts.map +1 -1
  308. package/dist/tui/components/image.js +35 -33
  309. package/dist/tui/components/image.js.map +1 -1
  310. package/dist/tui/components/input.d.ts +2 -2
  311. package/dist/tui/components/input.d.ts.map +1 -1
  312. package/dist/tui/components/input.js +6 -3
  313. package/dist/tui/components/input.js.map +1 -1
  314. package/dist/tui/components/loader.d.ts +2 -0
  315. package/dist/tui/components/loader.d.ts.map +1 -1
  316. package/dist/tui/components/loader.js +8 -0
  317. package/dist/tui/components/loader.js.map +1 -1
  318. package/dist/tui/components/markdown.d.ts +2 -2
  319. package/dist/tui/components/markdown.d.ts.map +1 -1
  320. package/dist/tui/components/markdown.js +61 -57
  321. package/dist/tui/components/markdown.js.map +1 -1
  322. package/dist/tui/components/select-list.d.ts +2 -2
  323. package/dist/tui/components/select-list.d.ts.map +1 -1
  324. package/dist/tui/components/select-list.js +79 -71
  325. package/dist/tui/components/select-list.js.map +1 -1
  326. package/dist/tui/components/settings-list.d.ts +2 -2
  327. package/dist/tui/components/settings-list.d.ts.map +1 -1
  328. package/dist/tui/components/settings-list.js +12 -1
  329. package/dist/tui/components/settings-list.js.map +1 -1
  330. package/dist/tui/components/spacer.d.ts +3 -3
  331. package/dist/tui/components/spacer.d.ts.map +1 -1
  332. package/dist/tui/components/spacer.js +13 -8
  333. package/dist/tui/components/spacer.js.map +1 -1
  334. package/dist/tui/components/text-renderer.d.ts +7 -0
  335. package/dist/tui/components/text-renderer.d.ts.map +1 -0
  336. package/dist/tui/components/text-renderer.js +25 -0
  337. package/dist/tui/components/text-renderer.js.map +1 -0
  338. package/dist/tui/components/text.d.ts +2 -4
  339. package/dist/tui/components/text.d.ts.map +1 -1
  340. package/dist/tui/components/text.js +35 -54
  341. package/dist/tui/components/text.js.map +1 -1
  342. package/dist/tui/components/truncated-text.d.ts +2 -2
  343. package/dist/tui/components/truncated-text.d.ts.map +1 -1
  344. package/dist/tui/components/truncated-text.js +7 -4
  345. package/dist/tui/components/truncated-text.js.map +1 -1
  346. package/dist/tui/editor-component.d.ts +2 -0
  347. package/dist/tui/editor-component.d.ts.map +1 -1
  348. package/dist/tui/fuzzy.d.ts +10 -0
  349. package/dist/tui/fuzzy.d.ts.map +1 -1
  350. package/dist/tui/fuzzy.js +75 -56
  351. package/dist/tui/fuzzy.js.map +1 -1
  352. package/dist/tui/keybindings.d.ts +16 -3
  353. package/dist/tui/keybindings.d.ts.map +1 -1
  354. package/dist/tui/keybindings.js +68 -12
  355. package/dist/tui/keybindings.js.map +1 -1
  356. package/dist/tui/keys.d.ts +5 -0
  357. package/dist/tui/keys.d.ts.map +1 -1
  358. package/dist/tui/keys.js +72 -1
  359. package/dist/tui/keys.js.map +1 -1
  360. package/dist/tui/stdin-buffer.d.ts +5 -0
  361. package/dist/tui/stdin-buffer.d.ts.map +1 -1
  362. package/dist/tui/stdin-buffer.js +20 -7
  363. package/dist/tui/stdin-buffer.js.map +1 -1
  364. package/dist/tui/terminal-image.d.ts.map +1 -1
  365. package/dist/tui/terminal-image.js +17 -6
  366. package/dist/tui/terminal-image.js.map +1 -1
  367. package/dist/tui/terminal.d.ts +15 -0
  368. package/dist/tui/terminal.d.ts.map +1 -1
  369. package/dist/tui/terminal.js +39 -6
  370. package/dist/tui/terminal.js.map +1 -1
  371. package/dist/tui/tui.d.ts +50 -4
  372. package/dist/tui/tui.d.ts.map +1 -1
  373. package/dist/tui/tui.js +201 -186
  374. package/dist/tui/tui.js.map +1 -1
  375. package/dist/tui/utils.d.ts +19 -0
  376. package/dist/tui/utils.d.ts.map +1 -1
  377. package/dist/tui/utils.js +39 -0
  378. package/dist/tui/utils.js.map +1 -1
  379. package/package.json +7 -9
  380. package/dist/webui/ChatPanel.d.ts +0 -28
  381. package/dist/webui/ChatPanel.d.ts.map +0 -1
  382. package/dist/webui/ChatPanel.js +0 -193
  383. package/dist/webui/ChatPanel.js.map +0 -1
  384. package/dist/webui/components/AgentInterface.d.ts +0 -39
  385. package/dist/webui/components/AgentInterface.d.ts.map +0 -1
  386. package/dist/webui/components/AgentInterface.js +0 -371
  387. package/dist/webui/components/AgentInterface.js.map +0 -1
  388. package/dist/webui/components/AttachmentTile.d.ts +0 -12
  389. package/dist/webui/components/AttachmentTile.d.ts.map +0 -1
  390. package/dist/webui/components/AttachmentTile.js +0 -111
  391. package/dist/webui/components/AttachmentTile.js.map +0 -1
  392. package/dist/webui/components/ConsoleBlock.d.ts +0 -12
  393. package/dist/webui/components/ConsoleBlock.d.ts.map +0 -1
  394. package/dist/webui/components/ConsoleBlock.js +0 -84
  395. package/dist/webui/components/ConsoleBlock.js.map +0 -1
  396. package/dist/webui/components/CustomProviderCard.d.ts +0 -17
  397. package/dist/webui/components/CustomProviderCard.d.ts.map +0 -1
  398. package/dist/webui/components/CustomProviderCard.js +0 -110
  399. package/dist/webui/components/CustomProviderCard.js.map +0 -1
  400. package/dist/webui/components/ExpandableSection.d.ts +0 -15
  401. package/dist/webui/components/ExpandableSection.d.ts.map +0 -1
  402. package/dist/webui/components/ExpandableSection.js +0 -63
  403. package/dist/webui/components/ExpandableSection.js.map +0 -1
  404. package/dist/webui/components/Input.d.ts +0 -26
  405. package/dist/webui/components/Input.d.ts.map +0 -1
  406. package/dist/webui/components/Input.js +0 -57
  407. package/dist/webui/components/Input.js.map +0 -1
  408. package/dist/webui/components/MessageEditor.d.ts +0 -44
  409. package/dist/webui/components/MessageEditor.d.ts.map +0 -1
  410. package/dist/webui/components/MessageEditor.js +0 -414
  411. package/dist/webui/components/MessageEditor.js.map +0 -1
  412. package/dist/webui/components/MessageList.d.ts +0 -14
  413. package/dist/webui/components/MessageList.d.ts.map +0 -1
  414. package/dist/webui/components/MessageList.js +0 -104
  415. package/dist/webui/components/MessageList.js.map +0 -1
  416. package/dist/webui/components/Messages.d.ts +0 -94
  417. package/dist/webui/components/Messages.d.ts.map +0 -1
  418. package/dist/webui/components/Messages.js +0 -352
  419. package/dist/webui/components/Messages.js.map +0 -1
  420. package/dist/webui/components/ProviderKeyInput.d.ts +0 -16
  421. package/dist/webui/components/ProviderKeyInput.d.ts.map +0 -1
  422. package/dist/webui/components/ProviderKeyInput.js +0 -171
  423. package/dist/webui/components/ProviderKeyInput.js.map +0 -1
  424. package/dist/webui/components/SandboxedIframe.d.ts +0 -85
  425. package/dist/webui/components/SandboxedIframe.d.ts.map +0 -1
  426. package/dist/webui/components/SandboxedIframe.js +0 -511
  427. package/dist/webui/components/SandboxedIframe.js.map +0 -1
  428. package/dist/webui/components/StreamingMessageContainer.d.ts +0 -19
  429. package/dist/webui/components/StreamingMessageContainer.d.ts.map +0 -1
  430. package/dist/webui/components/StreamingMessageContainer.js +0 -117
  431. package/dist/webui/components/StreamingMessageContainer.js.map +0 -1
  432. package/dist/webui/components/ThinkingBlock.d.ts +0 -11
  433. package/dist/webui/components/ThinkingBlock.d.ts.map +0 -1
  434. package/dist/webui/components/ThinkingBlock.js +0 -58
  435. package/dist/webui/components/ThinkingBlock.js.map +0 -1
  436. package/dist/webui/components/message-renderer-registry.d.ts +0 -12
  437. package/dist/webui/components/message-renderer-registry.d.ts.map +0 -1
  438. package/dist/webui/components/message-renderer-registry.js +0 -12
  439. package/dist/webui/components/message-renderer-registry.js.map +0 -1
  440. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts +0 -35
  441. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +0 -1
  442. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js +0 -189
  443. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js.map +0 -1
  444. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts +0 -17
  445. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +0 -1
  446. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js +0 -64
  447. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js.map +0 -1
  448. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts +0 -42
  449. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts.map +0 -1
  450. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js +0 -161
  451. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js.map +0 -1
  452. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts +0 -30
  453. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +0 -1
  454. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js +0 -97
  455. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js.map +0 -1
  456. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts +0 -19
  457. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts.map +0 -1
  458. package/dist/webui/components/sandbox/RuntimeMessageBridge.js +0 -74
  459. package/dist/webui/components/sandbox/RuntimeMessageBridge.js.map +0 -1
  460. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts +0 -65
  461. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts.map +0 -1
  462. package/dist/webui/components/sandbox/RuntimeMessageRouter.js +0 -168
  463. package/dist/webui/components/sandbox/RuntimeMessageRouter.js.map +0 -1
  464. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts +0 -48
  465. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts.map +0 -1
  466. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js +0 -2
  467. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js.map +0 -1
  468. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts +0 -15
  469. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts.map +0 -1
  470. package/dist/webui/dialogs/ApiKeyPromptDialog.js +0 -79
  471. package/dist/webui/dialogs/ApiKeyPromptDialog.js.map +0 -1
  472. package/dist/webui/dialogs/AttachmentOverlay.d.ts +0 -32
  473. package/dist/webui/dialogs/AttachmentOverlay.d.ts.map +0 -1
  474. package/dist/webui/dialogs/AttachmentOverlay.js +0 -576
  475. package/dist/webui/dialogs/AttachmentOverlay.js.map +0 -1
  476. package/dist/webui/dialogs/CustomProviderDialog.d.ts +0 -25
  477. package/dist/webui/dialogs/CustomProviderDialog.d.ts.map +0 -1
  478. package/dist/webui/dialogs/CustomProviderDialog.js +0 -270
  479. package/dist/webui/dialogs/CustomProviderDialog.js.map +0 -1
  480. package/dist/webui/dialogs/ModelSelector.d.ts +0 -27
  481. package/dist/webui/dialogs/ModelSelector.d.ts.map +0 -1
  482. package/dist/webui/dialogs/ModelSelector.js +0 -320
  483. package/dist/webui/dialogs/ModelSelector.js.map +0 -1
  484. package/dist/webui/dialogs/PersistentStorageDialog.d.ts +0 -17
  485. package/dist/webui/dialogs/PersistentStorageDialog.d.ts.map +0 -1
  486. package/dist/webui/dialogs/PersistentStorageDialog.js +0 -147
  487. package/dist/webui/dialogs/PersistentStorageDialog.js.map +0 -1
  488. package/dist/webui/dialogs/ProvidersModelsTab.d.ts +0 -20
  489. package/dist/webui/dialogs/ProvidersModelsTab.d.ts.map +0 -1
  490. package/dist/webui/dialogs/ProvidersModelsTab.js +0 -191
  491. package/dist/webui/dialogs/ProvidersModelsTab.js.map +0 -1
  492. package/dist/webui/dialogs/SessionListDialog.d.ts +0 -19
  493. package/dist/webui/dialogs/SessionListDialog.d.ts.map +0 -1
  494. package/dist/webui/dialogs/SessionListDialog.js +0 -154
  495. package/dist/webui/dialogs/SessionListDialog.js.map +0 -1
  496. package/dist/webui/dialogs/SettingsDialog.d.ts +0 -30
  497. package/dist/webui/dialogs/SettingsDialog.d.ts.map +0 -1
  498. package/dist/webui/dialogs/SettingsDialog.js +0 -229
  499. package/dist/webui/dialogs/SettingsDialog.js.map +0 -1
  500. package/dist/webui/index.d.ts +0 -65
  501. package/dist/webui/index.d.ts.map +0 -1
  502. package/dist/webui/index.js +0 -68
  503. package/dist/webui/index.js.map +0 -1
  504. package/dist/webui/prompts/prompts.d.ts +0 -11
  505. package/dist/webui/prompts/prompts.d.ts.map +0 -1
  506. package/dist/webui/prompts/prompts.js +0 -272
  507. package/dist/webui/prompts/prompts.js.map +0 -1
  508. package/dist/webui/storage/app-storage.d.ts +0 -33
  509. package/dist/webui/storage/app-storage.d.ts.map +0 -1
  510. package/dist/webui/storage/app-storage.js +0 -38
  511. package/dist/webui/storage/app-storage.js.map +0 -1
  512. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts +0 -27
  513. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts.map +0 -1
  514. package/dist/webui/storage/backends/indexeddb-storage-backend.js +0 -166
  515. package/dist/webui/storage/backends/indexeddb-storage-backend.js.map +0 -1
  516. package/dist/webui/storage/store.d.ts +0 -23
  517. package/dist/webui/storage/store.d.ts.map +0 -1
  518. package/dist/webui/storage/store.js +0 -26
  519. package/dist/webui/storage/store.js.map +0 -1
  520. package/dist/webui/storage/stores/custom-providers-store.d.ts +0 -25
  521. package/dist/webui/storage/stores/custom-providers-store.d.ts.map +0 -1
  522. package/dist/webui/storage/stores/custom-providers-store.js +0 -35
  523. package/dist/webui/storage/stores/custom-providers-store.js.map +0 -1
  524. package/dist/webui/storage/stores/provider-keys-store.d.ts +0 -14
  525. package/dist/webui/storage/stores/provider-keys-store.d.ts.map +0 -1
  526. package/dist/webui/storage/stores/provider-keys-store.js +0 -27
  527. package/dist/webui/storage/stores/provider-keys-store.js.map +0 -1
  528. package/dist/webui/storage/stores/sessions-store.d.ts +0 -32
  529. package/dist/webui/storage/stores/sessions-store.d.ts.map +0 -1
  530. package/dist/webui/storage/stores/sessions-store.js +0 -113
  531. package/dist/webui/storage/stores/sessions-store.js.map +0 -1
  532. package/dist/webui/storage/stores/settings-store.d.ts +0 -14
  533. package/dist/webui/storage/stores/settings-store.d.ts.map +0 -1
  534. package/dist/webui/storage/stores/settings-store.js +0 -28
  535. package/dist/webui/storage/stores/settings-store.js.map +0 -1
  536. package/dist/webui/storage/types.d.ts +0 -176
  537. package/dist/webui/storage/types.d.ts.map +0 -1
  538. package/dist/webui/storage/types.js +0 -2
  539. package/dist/webui/storage/types.js.map +0 -1
  540. package/dist/webui/tools/artifacts/ArtifactElement.d.ts +0 -9
  541. package/dist/webui/tools/artifacts/ArtifactElement.d.ts.map +0 -1
  542. package/dist/webui/tools/artifacts/ArtifactElement.js +0 -11
  543. package/dist/webui/tools/artifacts/ArtifactElement.js.map +0 -1
  544. package/dist/webui/tools/artifacts/ArtifactPill.d.ts +0 -4
  545. package/dist/webui/tools/artifacts/ArtifactPill.d.ts.map +0 -1
  546. package/dist/webui/tools/artifacts/ArtifactPill.js +0 -23
  547. package/dist/webui/tools/artifacts/ArtifactPill.js.map +0 -1
  548. package/dist/webui/tools/artifacts/Console.d.ts +0 -18
  549. package/dist/webui/tools/artifacts/Console.d.ts.map +0 -1
  550. package/dist/webui/tools/artifacts/Console.js +0 -95
  551. package/dist/webui/tools/artifacts/Console.js.map +0 -1
  552. package/dist/webui/tools/artifacts/DocxArtifact.d.ts +0 -22
  553. package/dist/webui/tools/artifacts/DocxArtifact.d.ts.map +0 -1
  554. package/dist/webui/tools/artifacts/DocxArtifact.js +0 -208
  555. package/dist/webui/tools/artifacts/DocxArtifact.js.map +0 -1
  556. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts +0 -24
  557. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts.map +0 -1
  558. package/dist/webui/tools/artifacts/ExcelArtifact.js +0 -216
  559. package/dist/webui/tools/artifacts/ExcelArtifact.js.map +0 -1
  560. package/dist/webui/tools/artifacts/GenericArtifact.d.ts +0 -19
  561. package/dist/webui/tools/artifacts/GenericArtifact.d.ts.map +0 -1
  562. package/dist/webui/tools/artifacts/GenericArtifact.js +0 -117
  563. package/dist/webui/tools/artifacts/GenericArtifact.js.map +0 -1
  564. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts +0 -27
  565. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts.map +0 -1
  566. package/dist/webui/tools/artifacts/HtmlArtifact.js +0 -189
  567. package/dist/webui/tools/artifacts/HtmlArtifact.js.map +0 -1
  568. package/dist/webui/tools/artifacts/ImageArtifact.d.ts +0 -20
  569. package/dist/webui/tools/artifacts/ImageArtifact.d.ts.map +0 -1
  570. package/dist/webui/tools/artifacts/ImageArtifact.js +0 -120
  571. package/dist/webui/tools/artifacts/ImageArtifact.js.map +0 -1
  572. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts +0 -19
  573. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts.map +0 -1
  574. package/dist/webui/tools/artifacts/MarkdownArtifact.js +0 -82
  575. package/dist/webui/tools/artifacts/MarkdownArtifact.js.map +0 -1
  576. package/dist/webui/tools/artifacts/PdfArtifact.d.ts +0 -25
  577. package/dist/webui/tools/artifacts/PdfArtifact.d.ts.map +0 -1
  578. package/dist/webui/tools/artifacts/PdfArtifact.js +0 -184
  579. package/dist/webui/tools/artifacts/PdfArtifact.js.map +0 -1
  580. package/dist/webui/tools/artifacts/SvgArtifact.d.ts +0 -18
  581. package/dist/webui/tools/artifacts/SvgArtifact.d.ts.map +0 -1
  582. package/dist/webui/tools/artifacts/SvgArtifact.js +0 -78
  583. package/dist/webui/tools/artifacts/SvgArtifact.js.map +0 -1
  584. package/dist/webui/tools/artifacts/TextArtifact.d.ts +0 -19
  585. package/dist/webui/tools/artifacts/TextArtifact.d.ts.map +0 -1
  586. package/dist/webui/tools/artifacts/TextArtifact.js +0 -144
  587. package/dist/webui/tools/artifacts/TextArtifact.js.map +0 -1
  588. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts +0 -11
  589. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts.map +0 -1
  590. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js +0 -272
  591. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js.map +0 -1
  592. package/dist/webui/tools/artifacts/artifacts.d.ts +0 -63
  593. package/dist/webui/tools/artifacts/artifacts.d.ts.map +0 -1
  594. package/dist/webui/tools/artifacts/artifacts.js +0 -659
  595. package/dist/webui/tools/artifacts/artifacts.js.map +0 -1
  596. package/dist/webui/tools/artifacts/index.d.ts +0 -8
  597. package/dist/webui/tools/artifacts/index.d.ts.map +0 -1
  598. package/dist/webui/tools/artifacts/index.js +0 -8
  599. package/dist/webui/tools/artifacts/index.js.map +0 -1
  600. package/dist/webui/tools/extract-document.d.ts +0 -24
  601. package/dist/webui/tools/extract-document.d.ts.map +0 -1
  602. package/dist/webui/tools/extract-document.js +0 -216
  603. package/dist/webui/tools/extract-document.js.map +0 -1
  604. package/dist/webui/tools/index.d.ts +0 -16
  605. package/dist/webui/tools/index.d.ts.map +0 -1
  606. package/dist/webui/tools/index.js +0 -33
  607. package/dist/webui/tools/index.js.map +0 -1
  608. package/dist/webui/tools/javascript-repl.d.ts +0 -44
  609. package/dist/webui/tools/javascript-repl.d.ts.map +0 -1
  610. package/dist/webui/tools/javascript-repl.js +0 -224
  611. package/dist/webui/tools/javascript-repl.js.map +0 -1
  612. package/dist/webui/tools/renderer-registry.d.ts +0 -23
  613. package/dist/webui/tools/renderer-registry.d.ts.map +0 -1
  614. package/dist/webui/tools/renderer-registry.js +0 -107
  615. package/dist/webui/tools/renderer-registry.js.map +0 -1
  616. package/dist/webui/tools/renderers/BashRenderer.d.ts +0 -10
  617. package/dist/webui/tools/renderers/BashRenderer.d.ts.map +0 -1
  618. package/dist/webui/tools/renderers/BashRenderer.js +0 -42
  619. package/dist/webui/tools/renderers/BashRenderer.js.map +0 -1
  620. package/dist/webui/tools/renderers/CalculateRenderer.d.ts +0 -10
  621. package/dist/webui/tools/renderers/CalculateRenderer.d.ts.map +0 -1
  622. package/dist/webui/tools/renderers/CalculateRenderer.js +0 -45
  623. package/dist/webui/tools/renderers/CalculateRenderer.js.map +0 -1
  624. package/dist/webui/tools/renderers/DefaultRenderer.d.ts +0 -6
  625. package/dist/webui/tools/renderers/DefaultRenderer.d.ts.map +0 -1
  626. package/dist/webui/tools/renderers/DefaultRenderer.js +0 -94
  627. package/dist/webui/tools/renderers/DefaultRenderer.js.map +0 -1
  628. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts +0 -10
  629. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts.map +0 -1
  630. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js +0 -72
  631. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js.map +0 -1
  632. package/dist/webui/tools/types.d.ts +0 -10
  633. package/dist/webui/tools/types.d.ts.map +0 -1
  634. package/dist/webui/tools/types.js +0 -2
  635. package/dist/webui/tools/types.js.map +0 -1
  636. package/dist/webui/utils/attachment-utils.d.ts +0 -19
  637. package/dist/webui/utils/attachment-utils.d.ts.map +0 -1
  638. package/dist/webui/utils/attachment-utils.js +0 -415
  639. package/dist/webui/utils/attachment-utils.js.map +0 -1
  640. package/dist/webui/utils/auth-token.d.ts +0 -3
  641. package/dist/webui/utils/auth-token.d.ts.map +0 -1
  642. package/dist/webui/utils/auth-token.js +0 -19
  643. package/dist/webui/utils/auth-token.js.map +0 -1
  644. package/dist/webui/utils/format.d.ts +0 -6
  645. package/dist/webui/utils/format.d.ts.map +0 -1
  646. package/dist/webui/utils/format.js +0 -47
  647. package/dist/webui/utils/format.js.map +0 -1
  648. package/dist/webui/utils/i18n.d.ts +0 -636
  649. package/dist/webui/utils/i18n.d.ts.map +0 -1
  650. package/dist/webui/utils/i18n.js +0 -418
  651. package/dist/webui/utils/i18n.js.map +0 -1
  652. package/dist/webui/utils/model-discovery.d.ts +0 -38
  653. package/dist/webui/utils/model-discovery.d.ts.map +0 -1
  654. package/dist/webui/utils/model-discovery.js +0 -243
  655. package/dist/webui/utils/model-discovery.js.map +0 -1
  656. package/dist/webui/utils/proxy-utils.d.ts +0 -45
  657. package/dist/webui/utils/proxy-utils.d.ts.map +0 -1
  658. package/dist/webui/utils/proxy-utils.js +0 -116
  659. package/dist/webui/utils/proxy-utils.js.map +0 -1
  660. package/dist/webui/utils/test-sessions.d.ts +0 -359
  661. package/dist/webui/utils/test-sessions.d.ts.map +0 -1
  662. package/dist/webui/utils/test-sessions.js +0 -2325
  663. package/dist/webui/utils/test-sessions.js.map +0 -1
  664. package/dist/webui.d.ts +0 -2
  665. package/dist/webui.d.ts.map +0 -1
  666. package/dist/webui.js +0 -2
  667. package/dist/webui.js.map +0 -1
@@ -1,7 +1,9 @@
1
1
  import { marked } from "marked";
2
+ import { ComponentBase } from "../tui.js";
2
3
  import { applyBackgroundToLine, visibleWidth, wrapTextWithAnsi } from "../utils.js";
3
- export class Markdown {
4
+ export class Markdown extends ComponentBase {
4
5
  constructor(text, paddingX, paddingY, theme, defaultTextStyle) {
6
+ super();
5
7
  this.text = text;
6
8
  this.paddingX = paddingX;
7
9
  this.paddingY = paddingY;
@@ -13,74 +15,76 @@ export class Markdown {
13
15
  this.invalidate();
14
16
  }
15
17
  invalidate() {
18
+ super.invalidate();
16
19
  this.cachedText = undefined;
17
20
  this.cachedWidth = undefined;
18
21
  this.cachedLines = undefined;
19
22
  }
20
23
  render(width) {
21
- // Check cache
22
24
  if (this.cachedLines && this.cachedText === this.text && this.cachedWidth === width) {
23
25
  return this.cachedLines;
24
26
  }
25
- // Calculate available width for content (subtract horizontal padding)
26
- const contentWidth = Math.max(1, width - this.paddingX * 2);
27
- // Don't render anything if there's no actual text
28
- if (!this.text || this.text.trim() === "") {
29
- const result = [];
27
+ return this.renderCached(width, () => {
28
+ // Calculate available width for content (subtract horizontal padding)
29
+ const contentWidth = Math.max(1, width - this.paddingX * 2);
30
+ // Don't render anything if there's no actual text
31
+ if (!this.text || this.text.trim() === "") {
32
+ const result = [];
33
+ // Update cache
34
+ this.cachedText = this.text;
35
+ this.cachedWidth = width;
36
+ this.cachedLines = result;
37
+ return result;
38
+ }
39
+ // Replace tabs with 3 spaces for consistent rendering
40
+ const normalizedText = this.text.replace(/\t/g, " ");
41
+ // Parse markdown to HTML-like tokens
42
+ const tokens = marked.lexer(normalizedText);
43
+ // Convert tokens to styled terminal output
44
+ const renderedLines = [];
45
+ for (let i = 0; i < tokens.length; i++) {
46
+ const token = tokens[i];
47
+ const nextToken = tokens[i + 1];
48
+ const tokenLines = this.renderToken(token, contentWidth, nextToken?.type);
49
+ renderedLines.push(...tokenLines);
50
+ }
51
+ // Wrap lines (NO padding, NO background yet)
52
+ const wrappedLines = [];
53
+ for (const line of renderedLines) {
54
+ wrappedLines.push(...wrapTextWithAnsi(line, contentWidth));
55
+ }
56
+ // Add margins and background to each wrapped line
57
+ const leftMargin = " ".repeat(this.paddingX);
58
+ const rightMargin = " ".repeat(this.paddingX);
59
+ const bgFn = this.defaultTextStyle?.bgColor;
60
+ const contentLines = [];
61
+ for (const line of wrappedLines) {
62
+ const lineWithMargins = leftMargin + line + rightMargin;
63
+ if (bgFn) {
64
+ contentLines.push(applyBackgroundToLine(lineWithMargins, width, bgFn));
65
+ }
66
+ else {
67
+ // No background - just pad to width
68
+ const visibleLen = visibleWidth(lineWithMargins);
69
+ const paddingNeeded = Math.max(0, width - visibleLen);
70
+ contentLines.push(lineWithMargins + " ".repeat(paddingNeeded));
71
+ }
72
+ }
73
+ // Add top/bottom padding (empty lines)
74
+ const emptyLine = " ".repeat(width);
75
+ const emptyLines = [];
76
+ for (let i = 0; i < this.paddingY; i++) {
77
+ const line = bgFn ? applyBackgroundToLine(emptyLine, width, bgFn) : emptyLine;
78
+ emptyLines.push(line);
79
+ }
80
+ // Combine top padding, content, and bottom padding
81
+ const result = [...emptyLines, ...contentLines, ...emptyLines];
30
82
  // Update cache
31
83
  this.cachedText = this.text;
32
84
  this.cachedWidth = width;
33
85
  this.cachedLines = result;
34
- return result;
35
- }
36
- // Replace tabs with 3 spaces for consistent rendering
37
- const normalizedText = this.text.replace(/\t/g, " ");
38
- // Parse markdown to HTML-like tokens
39
- const tokens = marked.lexer(normalizedText);
40
- // Convert tokens to styled terminal output
41
- const renderedLines = [];
42
- for (let i = 0; i < tokens.length; i++) {
43
- const token = tokens[i];
44
- const nextToken = tokens[i + 1];
45
- const tokenLines = this.renderToken(token, contentWidth, nextToken?.type);
46
- renderedLines.push(...tokenLines);
47
- }
48
- // Wrap lines (NO padding, NO background yet)
49
- const wrappedLines = [];
50
- for (const line of renderedLines) {
51
- wrappedLines.push(...wrapTextWithAnsi(line, contentWidth));
52
- }
53
- // Add margins and background to each wrapped line
54
- const leftMargin = " ".repeat(this.paddingX);
55
- const rightMargin = " ".repeat(this.paddingX);
56
- const bgFn = this.defaultTextStyle?.bgColor;
57
- const contentLines = [];
58
- for (const line of wrappedLines) {
59
- const lineWithMargins = leftMargin + line + rightMargin;
60
- if (bgFn) {
61
- contentLines.push(applyBackgroundToLine(lineWithMargins, width, bgFn));
62
- }
63
- else {
64
- // No background - just pad to width
65
- const visibleLen = visibleWidth(lineWithMargins);
66
- const paddingNeeded = Math.max(0, width - visibleLen);
67
- contentLines.push(lineWithMargins + " ".repeat(paddingNeeded));
68
- }
69
- }
70
- // Add top/bottom padding (empty lines)
71
- const emptyLine = " ".repeat(width);
72
- const emptyLines = [];
73
- for (let i = 0; i < this.paddingY; i++) {
74
- const line = bgFn ? applyBackgroundToLine(emptyLine, width, bgFn) : emptyLine;
75
- emptyLines.push(line);
76
- }
77
- // Combine top padding, content, and bottom padding
78
- const result = [...emptyLines, ...contentLines, ...emptyLines];
79
- // Update cache
80
- this.cachedText = this.text;
81
- this.cachedWidth = width;
82
- this.cachedLines = result;
83
- return result.length > 0 ? result : [""];
86
+ return result.length > 0 ? result : [""];
87
+ });
84
88
  }
85
89
  /**
86
90
  * Apply default text style to a string.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/tui/components/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/tui/components/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Component } from "../tui.js";
1
+ import { ComponentBase } from "../tui.js";
2
2
  export interface SelectItem {
3
3
  value: string;
4
4
  label: string;
@@ -11,7 +11,7 @@ export interface SelectListTheme {
11
11
  scrollInfo: (text: string) => string;
12
12
  noMatch: (text: string) => string;
13
13
  }
14
- export declare class SelectList implements Component {
14
+ export declare class SelectList extends ComponentBase {
15
15
  private items;
16
16
  private filteredItems;
17
17
  private selectedIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"select-list.d.ts","sourceRoot":"","sources":["../../../src/tui/components/select-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK3C,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC;AAED,qBAAa,UAAW,YAAW,SAAS;IAC3C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAkB;IAExB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;gBAE1C,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAO3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM/B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiG/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA2BlC,OAAO,CAAC,qBAAqB;IAO7B,eAAe,IAAI,UAAU,GAAG,IAAI;CAIpC"}
1
+ {"version":3,"file":"select-list.d.ts","sourceRoot":"","sources":["../../../src/tui/components/select-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAK1C,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC;AAED,qBAAa,UAAW,SAAQ,aAAa;IAC5C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAkB;IAExB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;gBAE1C,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAQ3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,UAAU,IAAI,IAAI;IAI3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAmG/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA6BlC,OAAO,CAAC,qBAAqB;IAO7B,eAAe,IAAI,UAAU,GAAG,IAAI;CAIpC"}
@@ -1,8 +1,10 @@
1
1
  import { getEditorKeybindings } from "../keybindings.js";
2
+ import { ComponentBase } from "../tui.js";
2
3
  import { truncateToWidth } from "../utils.js";
3
4
  const normalizeToSingleLine = (text) => text.replace(/[\r\n]+/g, " ").trim();
4
- export class SelectList {
5
+ export class SelectList extends ComponentBase {
5
6
  constructor(items, maxVisible, theme) {
7
+ super();
6
8
  this.items = [];
7
9
  this.filteredItems = [];
8
10
  this.selectedIndex = 0;
@@ -16,108 +18,114 @@ export class SelectList {
16
18
  this.filteredItems = this.items.filter((item) => item.value.toLowerCase().startsWith(filter.toLowerCase()));
17
19
  // Reset selection when filter changes
18
20
  this.selectedIndex = 0;
21
+ this.invalidate();
19
22
  }
20
23
  setSelectedIndex(index) {
21
24
  this.selectedIndex = Math.max(0, Math.min(index, this.filteredItems.length - 1));
25
+ this.invalidate();
22
26
  }
23
27
  invalidate() {
24
- // No cached state to invalidate currently
28
+ super.invalidate();
25
29
  }
26
30
  render(width) {
27
- const lines = [];
28
- // If no items match filter, show message
29
- if (this.filteredItems.length === 0) {
30
- lines.push(this.theme.noMatch(" No matching commands"));
31
- return lines;
32
- }
33
- // Calculate visible range with scrolling
34
- const startIndex = Math.max(0, Math.min(this.selectedIndex - Math.floor(this.maxVisible / 2), this.filteredItems.length - this.maxVisible));
35
- const endIndex = Math.min(startIndex + this.maxVisible, this.filteredItems.length);
36
- // Render visible items
37
- for (let i = startIndex; i < endIndex; i++) {
38
- const item = this.filteredItems[i];
39
- if (!item)
40
- continue;
41
- const isSelected = i === this.selectedIndex;
42
- const descriptionSingleLine = item.description ? normalizeToSingleLine(item.description) : undefined;
43
- let line = "";
44
- if (isSelected) {
45
- // Use arrow indicator for selection - entire line uses selectedText color
46
- const prefixWidth = 2; // "→ " is 2 characters visually
47
- const displayValue = item.label || item.value;
48
- if (descriptionSingleLine && width > 40) {
49
- // Calculate how much space we have for value + description
50
- const maxValueWidth = Math.min(30, width - prefixWidth - 4);
51
- const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
52
- const spacing = " ".repeat(Math.max(1, 32 - truncatedValue.length));
53
- // Calculate remaining space for description using visible widths
54
- const descriptionStart = prefixWidth + truncatedValue.length + spacing.length;
55
- const remainingWidth = width - descriptionStart - 2; // -2 for safety
56
- if (remainingWidth > 10) {
57
- const truncatedDesc = truncateToWidth(descriptionSingleLine, remainingWidth, "");
58
- // Apply selectedText to entire line content
59
- line = this.theme.selectedText(`→ ${truncatedValue}${spacing}${truncatedDesc}`);
31
+ return this.renderCached(width, () => {
32
+ const lines = [];
33
+ // If no items match filter, show message
34
+ if (this.filteredItems.length === 0) {
35
+ lines.push(this.theme.noMatch(" No matching commands"));
36
+ return lines;
37
+ }
38
+ // Calculate visible range with scrolling
39
+ const startIndex = Math.max(0, Math.min(this.selectedIndex - Math.floor(this.maxVisible / 2), this.filteredItems.length - this.maxVisible));
40
+ const endIndex = Math.min(startIndex + this.maxVisible, this.filteredItems.length);
41
+ // Render visible items
42
+ for (let i = startIndex; i < endIndex; i++) {
43
+ const item = this.filteredItems[i];
44
+ if (!item)
45
+ continue;
46
+ const isSelected = i === this.selectedIndex;
47
+ const descriptionSingleLine = item.description ? normalizeToSingleLine(item.description) : undefined;
48
+ let line = "";
49
+ if (isSelected) {
50
+ // Use arrow indicator for selection - entire line uses selectedText color
51
+ const prefixWidth = 2; // "→ " is 2 characters visually
52
+ const displayValue = item.label || item.value;
53
+ if (descriptionSingleLine && width > 40) {
54
+ // Calculate how much space we have for value + description
55
+ const maxValueWidth = Math.min(30, width - prefixWidth - 4);
56
+ const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
57
+ const spacing = " ".repeat(Math.max(1, 32 - truncatedValue.length));
58
+ // Calculate remaining space for description using visible widths
59
+ const descriptionStart = prefixWidth + truncatedValue.length + spacing.length;
60
+ const remainingWidth = width - descriptionStart - 2; // -2 for safety
61
+ if (remainingWidth > 10) {
62
+ const truncatedDesc = truncateToWidth(descriptionSingleLine, remainingWidth, "");
63
+ // Apply selectedText to entire line content
64
+ line = this.theme.selectedText(`→ ${truncatedValue}${spacing}${truncatedDesc}`);
65
+ }
66
+ else {
67
+ // Not enough space for description
68
+ const maxWidth = width - prefixWidth - 2;
69
+ line = this.theme.selectedText(`→ ${truncateToWidth(displayValue, maxWidth, "")}`);
70
+ }
60
71
  }
61
72
  else {
62
- // Not enough space for description
73
+ // No description or not enough width
63
74
  const maxWidth = width - prefixWidth - 2;
64
75
  line = this.theme.selectedText(`→ ${truncateToWidth(displayValue, maxWidth, "")}`);
65
76
  }
66
77
  }
67
78
  else {
68
- // No description or not enough width
69
- const maxWidth = width - prefixWidth - 2;
70
- line = this.theme.selectedText(`→ ${truncateToWidth(displayValue, maxWidth, "")}`);
71
- }
72
- }
73
- else {
74
- const displayValue = item.label || item.value;
75
- const prefix = " ";
76
- if (descriptionSingleLine && width > 40) {
77
- // Calculate how much space we have for value + description
78
- const maxValueWidth = Math.min(30, width - prefix.length - 4);
79
- const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
80
- const spacing = " ".repeat(Math.max(1, 32 - truncatedValue.length));
81
- // Calculate remaining space for description
82
- const descriptionStart = prefix.length + truncatedValue.length + spacing.length;
83
- const remainingWidth = width - descriptionStart - 2; // -2 for safety
84
- if (remainingWidth > 10) {
85
- const truncatedDesc = truncateToWidth(descriptionSingleLine, remainingWidth, "");
86
- const descText = this.theme.description(spacing + truncatedDesc);
87
- line = prefix + truncatedValue + descText;
79
+ const displayValue = item.label || item.value;
80
+ const prefix = " ";
81
+ if (descriptionSingleLine && width > 40) {
82
+ // Calculate how much space we have for value + description
83
+ const maxValueWidth = Math.min(30, width - prefix.length - 4);
84
+ const truncatedValue = truncateToWidth(displayValue, maxValueWidth, "");
85
+ const spacing = " ".repeat(Math.max(1, 32 - truncatedValue.length));
86
+ // Calculate remaining space for description
87
+ const descriptionStart = prefix.length + truncatedValue.length + spacing.length;
88
+ const remainingWidth = width - descriptionStart - 2; // -2 for safety
89
+ if (remainingWidth > 10) {
90
+ const truncatedDesc = truncateToWidth(descriptionSingleLine, remainingWidth, "");
91
+ const descText = this.theme.description(spacing + truncatedDesc);
92
+ line = prefix + truncatedValue + descText;
93
+ }
94
+ else {
95
+ // Not enough space for description
96
+ const maxWidth = width - prefix.length - 2;
97
+ line = prefix + truncateToWidth(displayValue, maxWidth, "");
98
+ }
88
99
  }
89
100
  else {
90
- // Not enough space for description
101
+ // No description or not enough width
91
102
  const maxWidth = width - prefix.length - 2;
92
103
  line = prefix + truncateToWidth(displayValue, maxWidth, "");
93
104
  }
94
105
  }
95
- else {
96
- // No description or not enough width
97
- const maxWidth = width - prefix.length - 2;
98
- line = prefix + truncateToWidth(displayValue, maxWidth, "");
99
- }
106
+ lines.push(line);
100
107
  }
101
- lines.push(line);
102
- }
103
- // Add scroll indicators if needed
104
- if (startIndex > 0 || endIndex < this.filteredItems.length) {
105
- const scrollText = ` (${this.selectedIndex + 1}/${this.filteredItems.length})`;
106
- // Truncate if too long for terminal
107
- lines.push(this.theme.scrollInfo(truncateToWidth(scrollText, width - 2, "")));
108
- }
109
- return lines;
108
+ // Add scroll indicators if needed
109
+ if (startIndex > 0 || endIndex < this.filteredItems.length) {
110
+ const scrollText = ` (${this.selectedIndex + 1}/${this.filteredItems.length})`;
111
+ // Truncate if too long for terminal
112
+ lines.push(this.theme.scrollInfo(truncateToWidth(scrollText, width - 2, "")));
113
+ }
114
+ return lines;
115
+ });
110
116
  }
111
117
  handleInput(keyData) {
112
118
  const kb = getEditorKeybindings();
113
119
  // Up arrow - wrap to bottom when at top
114
120
  if (kb.matches(keyData, "selectUp")) {
115
121
  this.selectedIndex = this.selectedIndex === 0 ? this.filteredItems.length - 1 : this.selectedIndex - 1;
122
+ this.invalidate();
116
123
  this.notifySelectionChange();
117
124
  }
118
125
  // Down arrow - wrap to top when at bottom
119
126
  else if (kb.matches(keyData, "selectDown")) {
120
127
  this.selectedIndex = this.selectedIndex === this.filteredItems.length - 1 ? 0 : this.selectedIndex + 1;
128
+ this.invalidate();
121
129
  this.notifySelectionChange();
122
130
  }
123
131
  // Enter
@@ -1 +1 @@
1
- {"version":3,"file":"select-list.js","sourceRoot":"","sources":["../../../src/tui/components/select-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-list.js","sourceRoot":"","sources":["../../../src/tui/components/select-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAgB7F,MAAM,OAAO,UAAW,SAAQ,aAAa;IAW5C,YAAY,KAAmB,EAAE,UAAkB,EAAE,KAAsB;QAC1E,KAAK,EAAE,CAAC;QAXD,UAAK,GAAiB,EAAE,CAAC;QACzB,kBAAa,GAAiB,EAAE,CAAC;QACjC,kBAAa,GAAW,CAAC,CAAC;QAC1B,eAAU,GAAW,CAAC,CAAC;QAS9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,MAAc;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5G,sCAAsC;QACtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEQ,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE;YACpC,MAAM,KAAK,GAAa,EAAE,CAAC;YAE5B,yCAAyC;YACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACzD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAC1B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAC3G,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEnF,uBAAuB;YACvB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;gBAC5C,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAErG,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,UAAU,EAAE,CAAC;oBAChB,0EAA0E;oBAC1E,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,gCAAgC;oBACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;oBAE9C,IAAI,qBAAqB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;wBACzC,2DAA2D;wBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;wBAC5D,MAAM,cAAc,GAAG,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;wBACxE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;wBAEpE,iEAAiE;wBACjE,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;wBAC9E,MAAM,cAAc,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,gBAAgB;wBAErE,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;4BACzB,MAAM,aAAa,GAAG,eAAe,CAAC,qBAAqB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;4BACjF,4CAA4C;4BAC5C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,cAAc,GAAG,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC;wBACjF,CAAC;6BAAM,CAAC;4BACP,mCAAmC;4BACnC,MAAM,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;4BACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBACpF,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;wBACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;oBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC;oBAEpB,IAAI,qBAAqB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;wBACzC,2DAA2D;wBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC9D,MAAM,cAAc,GAAG,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;wBACxE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;wBAEpE,4CAA4C;wBAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;wBAChF,MAAM,cAAc,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,gBAAgB;wBAErE,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;4BACzB,MAAM,aAAa,GAAG,eAAe,CAAC,qBAAqB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;4BACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;4BACjE,IAAI,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACP,mCAAmC;4BACnC,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC3C,IAAI,GAAG,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC7D,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC3C,IAAI,GAAG,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC7D,CAAC;gBACF,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAED,kCAAkC;YAClC,IAAI,UAAU,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAChF,oCAAoC;gBACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;YAEA,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAe;QAC1B,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAClC,wCAAwC;QACxC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;QACD,0CAA0C;aACrC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;QACD,QAAQ;aACH,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QACD,mBAAmB;aACd,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC;QACF,CAAC;IACF,CAAC;IAEO,qBAAqB;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,eAAe;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,IAAI,IAAI,IAAI,CAAC;IACrB,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import type { Component } from "../tui.js";
1
+ import { ComponentBase, type Component } from "../tui.js";
2
2
  export interface SettingItem {
3
3
  /** Unique identifier for this setting */
4
4
  id: string;
@@ -23,7 +23,7 @@ export interface SettingsListTheme {
23
23
  export interface SettingsListOptions {
24
24
  enableSearch?: boolean;
25
25
  }
26
- export declare class SettingsList implements Component {
26
+ export declare class SettingsList extends ComponentBase {
27
27
  private items;
28
28
  private filteredItems;
29
29
  private theme;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-list.d.ts","sourceRoot":"","sources":["../../../src/tui/components/settings-list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,WAAW,WAAW;IAC3B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,SAAS,CAAC;CACtF;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,YAAa,YAAW,SAAS;IAC7C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B,OAAO,CAAC,aAAa,CAAU;IAG/B,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAuB;gBAG9C,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAChD,QAAQ,EAAE,MAAM,IAAI,EACpB,OAAO,GAAE,mBAAwB;IAclC,oCAAoC;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO/C,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAS/B,OAAO,CAAC,cAAc;IA8EtB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA+B/B,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;CAUnB"}
1
+ {"version":3,"file":"settings-list.d.ts","sourceRoot":"","sources":["../../../src/tui/components/settings-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI1D,MAAM,WAAW,WAAW;IAC3B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,SAAS,CAAC;CACtF;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC9C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B,OAAO,CAAC,aAAa,CAAU;IAG/B,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAuB;gBAG9C,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAChD,QAAQ,EAAE,MAAM,IAAI,EACpB,OAAO,GAAE,mBAAwB;IAelC,oCAAoC;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQtC,UAAU,IAAI,IAAI;IAK3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAS/B,OAAO,CAAC,cAAc;IA8EtB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkC/B,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAUnB"}
@@ -1,9 +1,11 @@
1
1
  import { fuzzyFilter } from "../fuzzy.js";
2
2
  import { getEditorKeybindings } from "../keybindings.js";
3
+ import { ComponentBase } from "../tui.js";
3
4
  import { truncateToWidth, visibleWidth, wrapTextWithAnsi } from "../utils.js";
4
5
  import { Input } from "./input.js";
5
- export class SettingsList {
6
+ export class SettingsList extends ComponentBase {
6
7
  constructor(items, maxVisible, theme, onChange, onCancel, options = {}) {
8
+ super();
7
9
  this.selectedIndex = 0;
8
10
  // Submenu state
9
11
  this.submenuComponent = null;
@@ -24,9 +26,11 @@ export class SettingsList {
24
26
  const item = this.items.find((i) => i.id === id);
25
27
  if (item) {
26
28
  item.currentValue = newValue;
29
+ this.invalidate();
27
30
  }
28
31
  }
29
32
  invalidate() {
33
+ super.invalidate();
30
34
  this.submenuComponent?.invalidate?.();
31
35
  }
32
36
  render(width) {
@@ -110,11 +114,13 @@ export class SettingsList {
110
114
  if (displayItems.length === 0)
111
115
  return;
112
116
  this.selectedIndex = this.selectedIndex === 0 ? displayItems.length - 1 : this.selectedIndex - 1;
117
+ this.invalidate();
113
118
  }
114
119
  else if (kb.matches(data, "selectDown")) {
115
120
  if (displayItems.length === 0)
116
121
  return;
117
122
  this.selectedIndex = this.selectedIndex === displayItems.length - 1 ? 0 : this.selectedIndex + 1;
123
+ this.invalidate();
118
124
  }
119
125
  else if (kb.matches(data, "selectConfirm") || data === " ") {
120
126
  this.activateItem();
@@ -129,6 +135,7 @@ export class SettingsList {
129
135
  }
130
136
  this.searchInput.handleInput(sanitized);
131
137
  this.applyFilter(this.searchInput.getValue());
138
+ this.invalidate();
132
139
  }
133
140
  }
134
141
  activateItem() {
@@ -145,6 +152,7 @@ export class SettingsList {
145
152
  }
146
153
  this.closeSubmenu();
147
154
  });
155
+ this.invalidate();
148
156
  }
149
157
  else if (item.values && item.values.length > 0) {
150
158
  // Cycle through values
@@ -153,6 +161,7 @@ export class SettingsList {
153
161
  const newValue = item.values[nextIndex];
154
162
  item.currentValue = newValue;
155
163
  this.onChange(item.id, newValue);
164
+ this.invalidate();
156
165
  }
157
166
  }
158
167
  closeSubmenu() {
@@ -162,10 +171,12 @@ export class SettingsList {
162
171
  this.selectedIndex = this.submenuItemIndex;
163
172
  this.submenuItemIndex = null;
164
173
  }
174
+ this.invalidate();
165
175
  }
166
176
  applyFilter(query) {
167
177
  this.filteredItems = fuzzyFilter(this.items, query, (item) => item.label);
168
178
  this.selectedIndex = 0;
179
+ this.invalidate();
169
180
  }
170
181
  addHintLine(lines) {
171
182
  lines.push("");