indusagi 0.12.7 → 0.12.9

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 (668) hide show
  1. package/README.md +2 -0
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +10 -1
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/agent.d.ts +2 -1
  6. package/dist/agent/agent.d.ts.map +1 -1
  7. package/dist/agent/agent.js +30 -38
  8. package/dist/agent/agent.js.map +1 -1
  9. package/dist/agent/error-handler.d.ts +8 -0
  10. package/dist/agent/error-handler.d.ts.map +1 -0
  11. package/dist/agent/error-handler.js +8 -0
  12. package/dist/agent/error-handler.js.map +1 -0
  13. package/dist/agent/event-bus.d.ts +9 -0
  14. package/dist/agent/event-bus.d.ts.map +1 -0
  15. package/dist/agent/event-bus.js +17 -0
  16. package/dist/agent/event-bus.js.map +1 -0
  17. package/dist/agent/proxy.d.ts +13 -19
  18. package/dist/agent/proxy.d.ts.map +1 -1
  19. package/dist/agent/proxy.js +45 -4
  20. package/dist/agent/proxy.js.map +1 -1
  21. package/dist/agent/state-manager.d.ts +22 -0
  22. package/dist/agent/state-manager.d.ts.map +1 -0
  23. package/dist/agent/state-manager.js +59 -0
  24. package/dist/agent/state-manager.js.map +1 -0
  25. package/dist/agent/telemetry.d.ts +7 -0
  26. package/dist/agent/telemetry.d.ts.map +1 -0
  27. package/dist/agent/telemetry.js +20 -0
  28. package/dist/agent/telemetry.js.map +1 -0
  29. package/dist/agent/tools/bash.d.ts +11 -0
  30. package/dist/agent/tools/bash.d.ts.map +1 -1
  31. package/dist/agent/tools/bash.js +27 -4
  32. package/dist/agent/tools/bash.js.map +1 -1
  33. package/dist/agent/tools/edit.d.ts +5 -0
  34. package/dist/agent/tools/edit.d.ts.map +1 -1
  35. package/dist/agent/tools/edit.js +16 -2
  36. package/dist/agent/tools/edit.js.map +1 -1
  37. package/dist/agent/tools/find.d.ts +2 -0
  38. package/dist/agent/tools/find.d.ts.map +1 -1
  39. package/dist/agent/tools/find.js +4 -1
  40. package/dist/agent/tools/find.js.map +1 -1
  41. package/dist/agent/tools/grep.d.ts.map +1 -1
  42. package/dist/agent/tools/grep.js +15 -4
  43. package/dist/agent/tools/grep.js.map +1 -1
  44. package/dist/agent/tools/index.d.ts +18 -2
  45. package/dist/agent/tools/index.d.ts.map +1 -1
  46. package/dist/agent/tools/index.js +64 -50
  47. package/dist/agent/tools/index.js.map +1 -1
  48. package/dist/agent/tools/ls.d.ts +2 -0
  49. package/dist/agent/tools/ls.d.ts.map +1 -1
  50. package/dist/agent/tools/ls.js +5 -0
  51. package/dist/agent/tools/ls.js.map +1 -1
  52. package/dist/agent/tools/path-utils.d.ts.map +1 -1
  53. package/dist/agent/tools/path-utils.js +3 -0
  54. package/dist/agent/tools/path-utils.js.map +1 -1
  55. package/dist/agent/tools/registry.d.ts +21 -0
  56. package/dist/agent/tools/registry.d.ts.map +1 -0
  57. package/dist/agent/tools/registry.js +25 -0
  58. package/dist/agent/tools/registry.js.map +1 -0
  59. package/dist/agent/tools/task.d.ts.map +1 -1
  60. package/dist/agent/tools/task.js +12 -6
  61. package/dist/agent/tools/task.js.map +1 -1
  62. package/dist/agent/tools/todo-store.d.ts +4 -0
  63. package/dist/agent/tools/todo-store.d.ts.map +1 -1
  64. package/dist/agent/tools/todo-store.js +12 -0
  65. package/dist/agent/tools/todo-store.js.map +1 -1
  66. package/dist/agent/tools/todo.d.ts +4 -0
  67. package/dist/agent/tools/todo.d.ts.map +1 -1
  68. package/dist/agent/tools/todo.js +14 -4
  69. package/dist/agent/tools/todo.js.map +1 -1
  70. package/dist/agent/tools/truncate.d.ts +3 -0
  71. package/dist/agent/tools/truncate.d.ts.map +1 -1
  72. package/dist/agent/tools/truncate.js.map +1 -1
  73. package/dist/agent/tools/utils/hook-runner.d.ts +8 -3
  74. package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
  75. package/dist/agent/tools/utils/hook-runner.js +22 -5
  76. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  77. package/dist/agent/tools/utils/image-resize.d.ts +1 -0
  78. package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
  79. package/dist/agent/tools/utils/image-resize.js +5 -0
  80. package/dist/agent/tools/utils/image-resize.js.map +1 -1
  81. package/dist/agent/tools/utils/mime.d.ts.map +1 -1
  82. package/dist/agent/tools/utils/mime.js +6 -0
  83. package/dist/agent/tools/utils/mime.js.map +1 -1
  84. package/dist/agent/tools/utils/shell.d.ts +5 -0
  85. package/dist/agent/tools/utils/shell.d.ts.map +1 -1
  86. package/dist/agent/tools/utils/shell.js +9 -0
  87. package/dist/agent/tools/utils/shell.js.map +1 -1
  88. package/dist/agent/tools/webfetch.d.ts +2 -0
  89. package/dist/agent/tools/webfetch.d.ts.map +1 -1
  90. package/dist/agent/tools/webfetch.js +4 -1
  91. package/dist/agent/tools/webfetch.js.map +1 -1
  92. package/dist/agent/tools/websearch.d.ts +7 -1
  93. package/dist/agent/tools/websearch.d.ts.map +1 -1
  94. package/dist/agent/tools/websearch.js +71 -8
  95. package/dist/agent/tools/websearch.js.map +1 -1
  96. package/dist/agent/tools/write.d.ts +4 -0
  97. package/dist/agent/tools/write.d.ts.map +1 -1
  98. package/dist/agent/tools/write.js +19 -1
  99. package/dist/agent/tools/write.js.map +1 -1
  100. package/dist/agent/types.d.ts +22 -1
  101. package/dist/agent/types.d.ts.map +1 -1
  102. package/dist/agent/types.js +44 -1
  103. package/dist/agent/types.js.map +1 -1
  104. package/dist/ai/api-registry.d.ts +34 -4
  105. package/dist/ai/api-registry.d.ts.map +1 -1
  106. package/dist/ai/api-registry.js +97 -19
  107. package/dist/ai/api-registry.js.map +1 -1
  108. package/dist/ai/cli.js +24 -3
  109. package/dist/ai/cli.js.map +1 -1
  110. package/dist/ai/env-api-keys.d.ts +9 -0
  111. package/dist/ai/env-api-keys.d.ts.map +1 -1
  112. package/dist/ai/env-api-keys.js +23 -0
  113. package/dist/ai/env-api-keys.js.map +1 -1
  114. package/dist/ai/index.d.ts +4 -2
  115. package/dist/ai/index.d.ts.map +1 -1
  116. package/dist/ai/index.js +4 -2
  117. package/dist/ai/index.js.map +1 -1
  118. package/dist/ai/models.d.ts +30 -0
  119. package/dist/ai/models.d.ts.map +1 -1
  120. package/dist/ai/models.generated.d.ts +1 -0
  121. package/dist/ai/models.generated.d.ts.map +1 -1
  122. package/dist/ai/models.js +90 -18
  123. package/dist/ai/models.js.map +1 -1
  124. package/dist/ai/providers/amazon-bedrock.d.ts +19 -1
  125. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  126. package/dist/ai/providers/amazon-bedrock.js +68 -40
  127. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  128. package/dist/ai/providers/anthropic.d.ts +50 -1
  129. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  130. package/dist/ai/providers/anthropic.js +204 -161
  131. package/dist/ai/providers/anthropic.js.map +1 -1
  132. package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
  133. package/dist/ai/providers/azure-openai-responses.js +36 -28
  134. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  135. package/dist/ai/providers/google-shared.d.ts +9 -0
  136. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  137. package/dist/ai/providers/google-shared.js +16 -0
  138. package/dist/ai/providers/google-shared.js.map +1 -1
  139. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  140. package/dist/ai/providers/google-vertex.js +33 -26
  141. package/dist/ai/providers/google-vertex.js.map +1 -1
  142. package/dist/ai/providers/google.d.ts.map +1 -1
  143. package/dist/ai/providers/google.js +33 -26
  144. package/dist/ai/providers/google.js.map +1 -1
  145. package/dist/ai/providers/kimi.d.ts.map +1 -1
  146. package/dist/ai/providers/kimi.js +34 -24
  147. package/dist/ai/providers/kimi.js.map +1 -1
  148. package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
  149. package/dist/ai/providers/openai-codex-responses.js +33 -25
  150. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  151. package/dist/ai/providers/openai-completions.d.ts +10 -0
  152. package/dist/ai/providers/openai-completions.d.ts.map +1 -1
  153. package/dist/ai/providers/openai-completions.js +51 -26
  154. package/dist/ai/providers/openai-completions.js.map +1 -1
  155. package/dist/ai/providers/openai-responses-shared.d.ts +9 -0
  156. package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
  157. package/dist/ai/providers/openai-responses-shared.js +18 -2
  158. package/dist/ai/providers/openai-responses-shared.js.map +1 -1
  159. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  160. package/dist/ai/providers/openai-responses.js +35 -32
  161. package/dist/ai/providers/openai-responses.js.map +1 -1
  162. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  163. package/dist/ai/providers/register-builtins.js +17 -8
  164. package/dist/ai/providers/register-builtins.js.map +1 -1
  165. package/dist/ai/providers/simple-options.d.ts +19 -0
  166. package/dist/ai/providers/simple-options.d.ts.map +1 -1
  167. package/dist/ai/providers/simple-options.js +62 -0
  168. package/dist/ai/providers/simple-options.js.map +1 -1
  169. package/dist/ai/providers/transform-messages.d.ts +14 -0
  170. package/dist/ai/providers/transform-messages.d.ts.map +1 -1
  171. package/dist/ai/providers/transform-messages.js +99 -96
  172. package/dist/ai/providers/transform-messages.js.map +1 -1
  173. package/dist/ai/stream.d.ts +17 -3
  174. package/dist/ai/stream.d.ts.map +1 -1
  175. package/dist/ai/stream.js +61 -6
  176. package/dist/ai/stream.js.map +1 -1
  177. package/dist/ai/types.d.ts +17 -0
  178. package/dist/ai/types.d.ts.map +1 -1
  179. package/dist/ai/types.js +87 -1
  180. package/dist/ai/types.js.map +1 -1
  181. package/dist/ai/types.test.d.ts +8 -0
  182. package/dist/ai/types.test.d.ts.map +1 -0
  183. package/dist/ai/types.test.js +389 -0
  184. package/dist/ai/types.test.js.map +1 -0
  185. package/dist/ai/utils/base-stream-handler.d.ts +16 -0
  186. package/dist/ai/utils/base-stream-handler.d.ts.map +1 -0
  187. package/dist/ai/utils/base-stream-handler.js +24 -0
  188. package/dist/ai/utils/base-stream-handler.js.map +1 -0
  189. package/dist/ai/utils/event-stream.d.ts +26 -4
  190. package/dist/ai/utils/event-stream.d.ts.map +1 -1
  191. package/dist/ai/utils/event-stream.js +89 -5
  192. package/dist/ai/utils/event-stream.js.map +1 -1
  193. package/dist/ai/utils/index.d.ts +15 -0
  194. package/dist/ai/utils/index.d.ts.map +1 -0
  195. package/dist/ai/utils/index.js +15 -0
  196. package/dist/ai/utils/index.js.map +1 -0
  197. package/dist/ai/utils/json-parse.d.ts +13 -4
  198. package/dist/ai/utils/json-parse.d.ts.map +1 -1
  199. package/dist/ai/utils/json-parse.js +31 -19
  200. package/dist/ai/utils/json-parse.js.map +1 -1
  201. package/dist/ai/utils/message-transform.d.ts +29 -0
  202. package/dist/ai/utils/message-transform.d.ts.map +1 -0
  203. package/dist/ai/utils/message-transform.js +55 -0
  204. package/dist/ai/utils/message-transform.js.map +1 -0
  205. package/dist/ai/utils/oauth/anthropic.d.ts +1 -0
  206. package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
  207. package/dist/ai/utils/oauth/anthropic.js +3 -0
  208. package/dist/ai/utils/oauth/anthropic.js.map +1 -1
  209. package/dist/ai/utils/oauth/github-copilot.d.ts +1 -0
  210. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  211. package/dist/ai/utils/oauth/github-copilot.js +3 -0
  212. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  213. package/dist/ai/utils/oauth/index.d.ts +2 -1
  214. package/dist/ai/utils/oauth/index.d.ts.map +1 -1
  215. package/dist/ai/utils/oauth/index.js +10 -0
  216. package/dist/ai/utils/oauth/index.js.map +1 -1
  217. package/dist/ai/utils/oauth/kimi.d.ts +1 -0
  218. package/dist/ai/utils/oauth/kimi.d.ts.map +1 -1
  219. package/dist/ai/utils/oauth/kimi.js +3 -0
  220. package/dist/ai/utils/oauth/kimi.js.map +1 -1
  221. package/dist/ai/utils/oauth/openai-codex.d.ts +1 -0
  222. package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
  223. package/dist/ai/utils/oauth/openai-codex.js +3 -0
  224. package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
  225. package/dist/ai/utils/oauth/pkce.d.ts +1 -0
  226. package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
  227. package/dist/ai/utils/oauth/pkce.js +5 -0
  228. package/dist/ai/utils/oauth/pkce.js.map +1 -1
  229. package/dist/ai/utils/oauth/types.d.ts +6 -0
  230. package/dist/ai/utils/oauth/types.d.ts.map +1 -1
  231. package/dist/ai/utils/output-factory.d.ts +3 -0
  232. package/dist/ai/utils/output-factory.d.ts.map +1 -0
  233. package/dist/ai/utils/output-factory.js +23 -0
  234. package/dist/ai/utils/output-factory.js.map +1 -0
  235. package/dist/ai/utils/overflow.d.ts +6 -47
  236. package/dist/ai/utils/overflow.d.ts.map +1 -1
  237. package/dist/ai/utils/overflow.js +28 -92
  238. package/dist/ai/utils/overflow.js.map +1 -1
  239. package/dist/ai/utils/provider-adapter.d.ts +57 -0
  240. package/dist/ai/utils/provider-adapter.d.ts.map +1 -0
  241. package/dist/ai/utils/provider-adapter.js +28 -0
  242. package/dist/ai/utils/provider-adapter.js.map +1 -0
  243. package/dist/ai/utils/provider-client-builder.d.ts +37 -0
  244. package/dist/ai/utils/provider-client-builder.d.ts.map +1 -0
  245. package/dist/ai/utils/provider-client-builder.js +50 -0
  246. package/dist/ai/utils/provider-client-builder.js.map +1 -0
  247. package/dist/ai/utils/provider-consolidation.d.ts +4 -0
  248. package/dist/ai/utils/provider-consolidation.d.ts.map +1 -0
  249. package/dist/ai/utils/provider-consolidation.js +33 -0
  250. package/dist/ai/utils/provider-consolidation.js.map +1 -0
  251. package/dist/ai/utils/provider-constants.d.ts +35 -0
  252. package/dist/ai/utils/provider-constants.d.ts.map +1 -0
  253. package/dist/ai/utils/provider-constants.js +35 -0
  254. package/dist/ai/utils/provider-constants.js.map +1 -0
  255. package/dist/ai/utils/provider-errors.d.ts +46 -0
  256. package/dist/ai/utils/provider-errors.d.ts.map +1 -0
  257. package/dist/ai/utils/provider-errors.js +101 -0
  258. package/dist/ai/utils/provider-errors.js.map +1 -0
  259. package/dist/ai/utils/sanitize-unicode.d.ts +1 -0
  260. package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
  261. package/dist/ai/utils/sanitize-unicode.js +16 -0
  262. package/dist/ai/utils/sanitize-unicode.js.map +1 -1
  263. package/dist/ai/utils/stream-event-helper.d.ts +28 -0
  264. package/dist/ai/utils/stream-event-helper.d.ts.map +1 -0
  265. package/dist/ai/utils/stream-event-helper.js +49 -0
  266. package/dist/ai/utils/stream-event-helper.js.map +1 -0
  267. package/dist/ai/utils/stream-handler-types.d.ts +43 -0
  268. package/dist/ai/utils/stream-handler-types.d.ts.map +1 -0
  269. package/dist/ai/utils/stream-handler-types.js +18 -0
  270. package/dist/ai/utils/stream-handler-types.js.map +1 -0
  271. package/dist/ai/utils/streaming-state-manager.d.ts +50 -0
  272. package/dist/ai/utils/streaming-state-manager.d.ts.map +1 -0
  273. package/dist/ai/utils/streaming-state-manager.js +65 -0
  274. package/dist/ai/utils/streaming-state-manager.js.map +1 -0
  275. package/dist/ai/utils/tool-converter.d.ts +50 -0
  276. package/dist/ai/utils/tool-converter.d.ts.map +1 -0
  277. package/dist/ai/utils/tool-converter.js +54 -0
  278. package/dist/ai/utils/tool-converter.js.map +1 -0
  279. package/dist/ai/utils/typebox-helpers.d.ts +6 -1
  280. package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
  281. package/dist/ai/utils/typebox-helpers.js +7 -0
  282. package/dist/ai/utils/typebox-helpers.js.map +1 -1
  283. package/dist/ai/utils/validation.d.ts +6 -0
  284. package/dist/ai/utils/validation.d.ts.map +1 -1
  285. package/dist/ai/utils/validation.js +23 -9
  286. package/dist/ai/utils/validation.js.map +1 -1
  287. package/dist/index.d.ts +0 -1
  288. package/dist/index.d.ts.map +1 -1
  289. package/dist/index.js +0 -1
  290. package/dist/index.js.map +1 -1
  291. package/dist/tui/autocomplete.d.ts +17 -0
  292. package/dist/tui/autocomplete.d.ts.map +1 -1
  293. package/dist/tui/autocomplete.js +33 -3
  294. package/dist/tui/autocomplete.js.map +1 -1
  295. package/dist/tui/components/box.d.ts +2 -2
  296. package/dist/tui/components/box.d.ts.map +1 -1
  297. package/dist/tui/components/box.js +7 -5
  298. package/dist/tui/components/box.js.map +1 -1
  299. package/dist/tui/components/cancellable-loader.d.ts +1 -0
  300. package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
  301. package/dist/tui/components/cancellable-loader.js +4 -0
  302. package/dist/tui/components/cancellable-loader.js.map +1 -1
  303. package/dist/tui/components/editor.d.ts +2 -2
  304. package/dist/tui/components/editor.d.ts.map +1 -1
  305. package/dist/tui/components/editor.js +6 -3
  306. package/dist/tui/components/editor.js.map +1 -1
  307. package/dist/tui/components/image.d.ts +2 -2
  308. package/dist/tui/components/image.d.ts.map +1 -1
  309. package/dist/tui/components/image.js +35 -33
  310. package/dist/tui/components/image.js.map +1 -1
  311. package/dist/tui/components/input.d.ts +2 -2
  312. package/dist/tui/components/input.d.ts.map +1 -1
  313. package/dist/tui/components/input.js +6 -3
  314. package/dist/tui/components/input.js.map +1 -1
  315. package/dist/tui/components/loader.d.ts +2 -0
  316. package/dist/tui/components/loader.d.ts.map +1 -1
  317. package/dist/tui/components/loader.js +8 -0
  318. package/dist/tui/components/loader.js.map +1 -1
  319. package/dist/tui/components/markdown.d.ts +2 -2
  320. package/dist/tui/components/markdown.d.ts.map +1 -1
  321. package/dist/tui/components/markdown.js +61 -57
  322. package/dist/tui/components/markdown.js.map +1 -1
  323. package/dist/tui/components/select-list.d.ts +2 -2
  324. package/dist/tui/components/select-list.d.ts.map +1 -1
  325. package/dist/tui/components/select-list.js +79 -71
  326. package/dist/tui/components/select-list.js.map +1 -1
  327. package/dist/tui/components/settings-list.d.ts +2 -2
  328. package/dist/tui/components/settings-list.d.ts.map +1 -1
  329. package/dist/tui/components/settings-list.js +12 -1
  330. package/dist/tui/components/settings-list.js.map +1 -1
  331. package/dist/tui/components/spacer.d.ts +3 -3
  332. package/dist/tui/components/spacer.d.ts.map +1 -1
  333. package/dist/tui/components/spacer.js +13 -8
  334. package/dist/tui/components/spacer.js.map +1 -1
  335. package/dist/tui/components/text-renderer.d.ts +7 -0
  336. package/dist/tui/components/text-renderer.d.ts.map +1 -0
  337. package/dist/tui/components/text-renderer.js +25 -0
  338. package/dist/tui/components/text-renderer.js.map +1 -0
  339. package/dist/tui/components/text.d.ts +2 -4
  340. package/dist/tui/components/text.d.ts.map +1 -1
  341. package/dist/tui/components/text.js +35 -54
  342. package/dist/tui/components/text.js.map +1 -1
  343. package/dist/tui/components/truncated-text.d.ts +2 -2
  344. package/dist/tui/components/truncated-text.d.ts.map +1 -1
  345. package/dist/tui/components/truncated-text.js +7 -4
  346. package/dist/tui/components/truncated-text.js.map +1 -1
  347. package/dist/tui/editor-component.d.ts +2 -0
  348. package/dist/tui/editor-component.d.ts.map +1 -1
  349. package/dist/tui/fuzzy.d.ts +10 -0
  350. package/dist/tui/fuzzy.d.ts.map +1 -1
  351. package/dist/tui/fuzzy.js +75 -56
  352. package/dist/tui/fuzzy.js.map +1 -1
  353. package/dist/tui/keybindings.d.ts +16 -3
  354. package/dist/tui/keybindings.d.ts.map +1 -1
  355. package/dist/tui/keybindings.js +68 -12
  356. package/dist/tui/keybindings.js.map +1 -1
  357. package/dist/tui/keys.d.ts +5 -0
  358. package/dist/tui/keys.d.ts.map +1 -1
  359. package/dist/tui/keys.js +72 -1
  360. package/dist/tui/keys.js.map +1 -1
  361. package/dist/tui/stdin-buffer.d.ts +5 -0
  362. package/dist/tui/stdin-buffer.d.ts.map +1 -1
  363. package/dist/tui/stdin-buffer.js +20 -7
  364. package/dist/tui/stdin-buffer.js.map +1 -1
  365. package/dist/tui/terminal-image.d.ts.map +1 -1
  366. package/dist/tui/terminal-image.js +17 -6
  367. package/dist/tui/terminal-image.js.map +1 -1
  368. package/dist/tui/terminal.d.ts +15 -0
  369. package/dist/tui/terminal.d.ts.map +1 -1
  370. package/dist/tui/terminal.js +39 -6
  371. package/dist/tui/terminal.js.map +1 -1
  372. package/dist/tui/tui.d.ts +50 -4
  373. package/dist/tui/tui.d.ts.map +1 -1
  374. package/dist/tui/tui.js +201 -186
  375. package/dist/tui/tui.js.map +1 -1
  376. package/dist/tui/utils.d.ts +19 -0
  377. package/dist/tui/utils.d.ts.map +1 -1
  378. package/dist/tui/utils.js +39 -0
  379. package/dist/tui/utils.js.map +1 -1
  380. package/package.json +7 -9
  381. package/dist/webui/ChatPanel.d.ts +0 -28
  382. package/dist/webui/ChatPanel.d.ts.map +0 -1
  383. package/dist/webui/ChatPanel.js +0 -193
  384. package/dist/webui/ChatPanel.js.map +0 -1
  385. package/dist/webui/components/AgentInterface.d.ts +0 -39
  386. package/dist/webui/components/AgentInterface.d.ts.map +0 -1
  387. package/dist/webui/components/AgentInterface.js +0 -371
  388. package/dist/webui/components/AgentInterface.js.map +0 -1
  389. package/dist/webui/components/AttachmentTile.d.ts +0 -12
  390. package/dist/webui/components/AttachmentTile.d.ts.map +0 -1
  391. package/dist/webui/components/AttachmentTile.js +0 -111
  392. package/dist/webui/components/AttachmentTile.js.map +0 -1
  393. package/dist/webui/components/ConsoleBlock.d.ts +0 -12
  394. package/dist/webui/components/ConsoleBlock.d.ts.map +0 -1
  395. package/dist/webui/components/ConsoleBlock.js +0 -84
  396. package/dist/webui/components/ConsoleBlock.js.map +0 -1
  397. package/dist/webui/components/CustomProviderCard.d.ts +0 -17
  398. package/dist/webui/components/CustomProviderCard.d.ts.map +0 -1
  399. package/dist/webui/components/CustomProviderCard.js +0 -110
  400. package/dist/webui/components/CustomProviderCard.js.map +0 -1
  401. package/dist/webui/components/ExpandableSection.d.ts +0 -15
  402. package/dist/webui/components/ExpandableSection.d.ts.map +0 -1
  403. package/dist/webui/components/ExpandableSection.js +0 -63
  404. package/dist/webui/components/ExpandableSection.js.map +0 -1
  405. package/dist/webui/components/Input.d.ts +0 -26
  406. package/dist/webui/components/Input.d.ts.map +0 -1
  407. package/dist/webui/components/Input.js +0 -57
  408. package/dist/webui/components/Input.js.map +0 -1
  409. package/dist/webui/components/MessageEditor.d.ts +0 -44
  410. package/dist/webui/components/MessageEditor.d.ts.map +0 -1
  411. package/dist/webui/components/MessageEditor.js +0 -414
  412. package/dist/webui/components/MessageEditor.js.map +0 -1
  413. package/dist/webui/components/MessageList.d.ts +0 -14
  414. package/dist/webui/components/MessageList.d.ts.map +0 -1
  415. package/dist/webui/components/MessageList.js +0 -104
  416. package/dist/webui/components/MessageList.js.map +0 -1
  417. package/dist/webui/components/Messages.d.ts +0 -94
  418. package/dist/webui/components/Messages.d.ts.map +0 -1
  419. package/dist/webui/components/Messages.js +0 -352
  420. package/dist/webui/components/Messages.js.map +0 -1
  421. package/dist/webui/components/ProviderKeyInput.d.ts +0 -16
  422. package/dist/webui/components/ProviderKeyInput.d.ts.map +0 -1
  423. package/dist/webui/components/ProviderKeyInput.js +0 -171
  424. package/dist/webui/components/ProviderKeyInput.js.map +0 -1
  425. package/dist/webui/components/SandboxedIframe.d.ts +0 -85
  426. package/dist/webui/components/SandboxedIframe.d.ts.map +0 -1
  427. package/dist/webui/components/SandboxedIframe.js +0 -511
  428. package/dist/webui/components/SandboxedIframe.js.map +0 -1
  429. package/dist/webui/components/StreamingMessageContainer.d.ts +0 -19
  430. package/dist/webui/components/StreamingMessageContainer.d.ts.map +0 -1
  431. package/dist/webui/components/StreamingMessageContainer.js +0 -117
  432. package/dist/webui/components/StreamingMessageContainer.js.map +0 -1
  433. package/dist/webui/components/ThinkingBlock.d.ts +0 -11
  434. package/dist/webui/components/ThinkingBlock.d.ts.map +0 -1
  435. package/dist/webui/components/ThinkingBlock.js +0 -58
  436. package/dist/webui/components/ThinkingBlock.js.map +0 -1
  437. package/dist/webui/components/message-renderer-registry.d.ts +0 -12
  438. package/dist/webui/components/message-renderer-registry.d.ts.map +0 -1
  439. package/dist/webui/components/message-renderer-registry.js +0 -12
  440. package/dist/webui/components/message-renderer-registry.js.map +0 -1
  441. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts +0 -35
  442. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +0 -1
  443. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js +0 -189
  444. package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js.map +0 -1
  445. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts +0 -17
  446. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +0 -1
  447. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js +0 -64
  448. package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js.map +0 -1
  449. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts +0 -42
  450. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts.map +0 -1
  451. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js +0 -161
  452. package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js.map +0 -1
  453. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts +0 -30
  454. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +0 -1
  455. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js +0 -97
  456. package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js.map +0 -1
  457. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts +0 -19
  458. package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts.map +0 -1
  459. package/dist/webui/components/sandbox/RuntimeMessageBridge.js +0 -74
  460. package/dist/webui/components/sandbox/RuntimeMessageBridge.js.map +0 -1
  461. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts +0 -65
  462. package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts.map +0 -1
  463. package/dist/webui/components/sandbox/RuntimeMessageRouter.js +0 -168
  464. package/dist/webui/components/sandbox/RuntimeMessageRouter.js.map +0 -1
  465. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts +0 -48
  466. package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts.map +0 -1
  467. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js +0 -2
  468. package/dist/webui/components/sandbox/SandboxRuntimeProvider.js.map +0 -1
  469. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts +0 -15
  470. package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts.map +0 -1
  471. package/dist/webui/dialogs/ApiKeyPromptDialog.js +0 -79
  472. package/dist/webui/dialogs/ApiKeyPromptDialog.js.map +0 -1
  473. package/dist/webui/dialogs/AttachmentOverlay.d.ts +0 -32
  474. package/dist/webui/dialogs/AttachmentOverlay.d.ts.map +0 -1
  475. package/dist/webui/dialogs/AttachmentOverlay.js +0 -576
  476. package/dist/webui/dialogs/AttachmentOverlay.js.map +0 -1
  477. package/dist/webui/dialogs/CustomProviderDialog.d.ts +0 -25
  478. package/dist/webui/dialogs/CustomProviderDialog.d.ts.map +0 -1
  479. package/dist/webui/dialogs/CustomProviderDialog.js +0 -270
  480. package/dist/webui/dialogs/CustomProviderDialog.js.map +0 -1
  481. package/dist/webui/dialogs/ModelSelector.d.ts +0 -27
  482. package/dist/webui/dialogs/ModelSelector.d.ts.map +0 -1
  483. package/dist/webui/dialogs/ModelSelector.js +0 -320
  484. package/dist/webui/dialogs/ModelSelector.js.map +0 -1
  485. package/dist/webui/dialogs/PersistentStorageDialog.d.ts +0 -17
  486. package/dist/webui/dialogs/PersistentStorageDialog.d.ts.map +0 -1
  487. package/dist/webui/dialogs/PersistentStorageDialog.js +0 -147
  488. package/dist/webui/dialogs/PersistentStorageDialog.js.map +0 -1
  489. package/dist/webui/dialogs/ProvidersModelsTab.d.ts +0 -20
  490. package/dist/webui/dialogs/ProvidersModelsTab.d.ts.map +0 -1
  491. package/dist/webui/dialogs/ProvidersModelsTab.js +0 -191
  492. package/dist/webui/dialogs/ProvidersModelsTab.js.map +0 -1
  493. package/dist/webui/dialogs/SessionListDialog.d.ts +0 -19
  494. package/dist/webui/dialogs/SessionListDialog.d.ts.map +0 -1
  495. package/dist/webui/dialogs/SessionListDialog.js +0 -154
  496. package/dist/webui/dialogs/SessionListDialog.js.map +0 -1
  497. package/dist/webui/dialogs/SettingsDialog.d.ts +0 -30
  498. package/dist/webui/dialogs/SettingsDialog.d.ts.map +0 -1
  499. package/dist/webui/dialogs/SettingsDialog.js +0 -229
  500. package/dist/webui/dialogs/SettingsDialog.js.map +0 -1
  501. package/dist/webui/index.d.ts +0 -65
  502. package/dist/webui/index.d.ts.map +0 -1
  503. package/dist/webui/index.js +0 -68
  504. package/dist/webui/index.js.map +0 -1
  505. package/dist/webui/prompts/prompts.d.ts +0 -11
  506. package/dist/webui/prompts/prompts.d.ts.map +0 -1
  507. package/dist/webui/prompts/prompts.js +0 -272
  508. package/dist/webui/prompts/prompts.js.map +0 -1
  509. package/dist/webui/storage/app-storage.d.ts +0 -33
  510. package/dist/webui/storage/app-storage.d.ts.map +0 -1
  511. package/dist/webui/storage/app-storage.js +0 -38
  512. package/dist/webui/storage/app-storage.js.map +0 -1
  513. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts +0 -27
  514. package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts.map +0 -1
  515. package/dist/webui/storage/backends/indexeddb-storage-backend.js +0 -166
  516. package/dist/webui/storage/backends/indexeddb-storage-backend.js.map +0 -1
  517. package/dist/webui/storage/store.d.ts +0 -23
  518. package/dist/webui/storage/store.d.ts.map +0 -1
  519. package/dist/webui/storage/store.js +0 -26
  520. package/dist/webui/storage/store.js.map +0 -1
  521. package/dist/webui/storage/stores/custom-providers-store.d.ts +0 -25
  522. package/dist/webui/storage/stores/custom-providers-store.d.ts.map +0 -1
  523. package/dist/webui/storage/stores/custom-providers-store.js +0 -35
  524. package/dist/webui/storage/stores/custom-providers-store.js.map +0 -1
  525. package/dist/webui/storage/stores/provider-keys-store.d.ts +0 -14
  526. package/dist/webui/storage/stores/provider-keys-store.d.ts.map +0 -1
  527. package/dist/webui/storage/stores/provider-keys-store.js +0 -27
  528. package/dist/webui/storage/stores/provider-keys-store.js.map +0 -1
  529. package/dist/webui/storage/stores/sessions-store.d.ts +0 -32
  530. package/dist/webui/storage/stores/sessions-store.d.ts.map +0 -1
  531. package/dist/webui/storage/stores/sessions-store.js +0 -113
  532. package/dist/webui/storage/stores/sessions-store.js.map +0 -1
  533. package/dist/webui/storage/stores/settings-store.d.ts +0 -14
  534. package/dist/webui/storage/stores/settings-store.d.ts.map +0 -1
  535. package/dist/webui/storage/stores/settings-store.js +0 -28
  536. package/dist/webui/storage/stores/settings-store.js.map +0 -1
  537. package/dist/webui/storage/types.d.ts +0 -176
  538. package/dist/webui/storage/types.d.ts.map +0 -1
  539. package/dist/webui/storage/types.js +0 -2
  540. package/dist/webui/storage/types.js.map +0 -1
  541. package/dist/webui/tools/artifacts/ArtifactElement.d.ts +0 -9
  542. package/dist/webui/tools/artifacts/ArtifactElement.d.ts.map +0 -1
  543. package/dist/webui/tools/artifacts/ArtifactElement.js +0 -11
  544. package/dist/webui/tools/artifacts/ArtifactElement.js.map +0 -1
  545. package/dist/webui/tools/artifacts/ArtifactPill.d.ts +0 -4
  546. package/dist/webui/tools/artifacts/ArtifactPill.d.ts.map +0 -1
  547. package/dist/webui/tools/artifacts/ArtifactPill.js +0 -23
  548. package/dist/webui/tools/artifacts/ArtifactPill.js.map +0 -1
  549. package/dist/webui/tools/artifacts/Console.d.ts +0 -18
  550. package/dist/webui/tools/artifacts/Console.d.ts.map +0 -1
  551. package/dist/webui/tools/artifacts/Console.js +0 -95
  552. package/dist/webui/tools/artifacts/Console.js.map +0 -1
  553. package/dist/webui/tools/artifacts/DocxArtifact.d.ts +0 -22
  554. package/dist/webui/tools/artifacts/DocxArtifact.d.ts.map +0 -1
  555. package/dist/webui/tools/artifacts/DocxArtifact.js +0 -208
  556. package/dist/webui/tools/artifacts/DocxArtifact.js.map +0 -1
  557. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts +0 -24
  558. package/dist/webui/tools/artifacts/ExcelArtifact.d.ts.map +0 -1
  559. package/dist/webui/tools/artifacts/ExcelArtifact.js +0 -216
  560. package/dist/webui/tools/artifacts/ExcelArtifact.js.map +0 -1
  561. package/dist/webui/tools/artifacts/GenericArtifact.d.ts +0 -19
  562. package/dist/webui/tools/artifacts/GenericArtifact.d.ts.map +0 -1
  563. package/dist/webui/tools/artifacts/GenericArtifact.js +0 -117
  564. package/dist/webui/tools/artifacts/GenericArtifact.js.map +0 -1
  565. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts +0 -27
  566. package/dist/webui/tools/artifacts/HtmlArtifact.d.ts.map +0 -1
  567. package/dist/webui/tools/artifacts/HtmlArtifact.js +0 -189
  568. package/dist/webui/tools/artifacts/HtmlArtifact.js.map +0 -1
  569. package/dist/webui/tools/artifacts/ImageArtifact.d.ts +0 -20
  570. package/dist/webui/tools/artifacts/ImageArtifact.d.ts.map +0 -1
  571. package/dist/webui/tools/artifacts/ImageArtifact.js +0 -120
  572. package/dist/webui/tools/artifacts/ImageArtifact.js.map +0 -1
  573. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts +0 -19
  574. package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts.map +0 -1
  575. package/dist/webui/tools/artifacts/MarkdownArtifact.js +0 -82
  576. package/dist/webui/tools/artifacts/MarkdownArtifact.js.map +0 -1
  577. package/dist/webui/tools/artifacts/PdfArtifact.d.ts +0 -25
  578. package/dist/webui/tools/artifacts/PdfArtifact.d.ts.map +0 -1
  579. package/dist/webui/tools/artifacts/PdfArtifact.js +0 -184
  580. package/dist/webui/tools/artifacts/PdfArtifact.js.map +0 -1
  581. package/dist/webui/tools/artifacts/SvgArtifact.d.ts +0 -18
  582. package/dist/webui/tools/artifacts/SvgArtifact.d.ts.map +0 -1
  583. package/dist/webui/tools/artifacts/SvgArtifact.js +0 -78
  584. package/dist/webui/tools/artifacts/SvgArtifact.js.map +0 -1
  585. package/dist/webui/tools/artifacts/TextArtifact.d.ts +0 -19
  586. package/dist/webui/tools/artifacts/TextArtifact.d.ts.map +0 -1
  587. package/dist/webui/tools/artifacts/TextArtifact.js +0 -144
  588. package/dist/webui/tools/artifacts/TextArtifact.js.map +0 -1
  589. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts +0 -11
  590. package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts.map +0 -1
  591. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js +0 -272
  592. package/dist/webui/tools/artifacts/artifacts-tool-renderer.js.map +0 -1
  593. package/dist/webui/tools/artifacts/artifacts.d.ts +0 -63
  594. package/dist/webui/tools/artifacts/artifacts.d.ts.map +0 -1
  595. package/dist/webui/tools/artifacts/artifacts.js +0 -659
  596. package/dist/webui/tools/artifacts/artifacts.js.map +0 -1
  597. package/dist/webui/tools/artifacts/index.d.ts +0 -8
  598. package/dist/webui/tools/artifacts/index.d.ts.map +0 -1
  599. package/dist/webui/tools/artifacts/index.js +0 -8
  600. package/dist/webui/tools/artifacts/index.js.map +0 -1
  601. package/dist/webui/tools/extract-document.d.ts +0 -24
  602. package/dist/webui/tools/extract-document.d.ts.map +0 -1
  603. package/dist/webui/tools/extract-document.js +0 -216
  604. package/dist/webui/tools/extract-document.js.map +0 -1
  605. package/dist/webui/tools/index.d.ts +0 -16
  606. package/dist/webui/tools/index.d.ts.map +0 -1
  607. package/dist/webui/tools/index.js +0 -33
  608. package/dist/webui/tools/index.js.map +0 -1
  609. package/dist/webui/tools/javascript-repl.d.ts +0 -44
  610. package/dist/webui/tools/javascript-repl.d.ts.map +0 -1
  611. package/dist/webui/tools/javascript-repl.js +0 -224
  612. package/dist/webui/tools/javascript-repl.js.map +0 -1
  613. package/dist/webui/tools/renderer-registry.d.ts +0 -23
  614. package/dist/webui/tools/renderer-registry.d.ts.map +0 -1
  615. package/dist/webui/tools/renderer-registry.js +0 -107
  616. package/dist/webui/tools/renderer-registry.js.map +0 -1
  617. package/dist/webui/tools/renderers/BashRenderer.d.ts +0 -10
  618. package/dist/webui/tools/renderers/BashRenderer.d.ts.map +0 -1
  619. package/dist/webui/tools/renderers/BashRenderer.js +0 -42
  620. package/dist/webui/tools/renderers/BashRenderer.js.map +0 -1
  621. package/dist/webui/tools/renderers/CalculateRenderer.d.ts +0 -10
  622. package/dist/webui/tools/renderers/CalculateRenderer.d.ts.map +0 -1
  623. package/dist/webui/tools/renderers/CalculateRenderer.js +0 -45
  624. package/dist/webui/tools/renderers/CalculateRenderer.js.map +0 -1
  625. package/dist/webui/tools/renderers/DefaultRenderer.d.ts +0 -6
  626. package/dist/webui/tools/renderers/DefaultRenderer.d.ts.map +0 -1
  627. package/dist/webui/tools/renderers/DefaultRenderer.js +0 -94
  628. package/dist/webui/tools/renderers/DefaultRenderer.js.map +0 -1
  629. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts +0 -10
  630. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts.map +0 -1
  631. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js +0 -72
  632. package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js.map +0 -1
  633. package/dist/webui/tools/types.d.ts +0 -10
  634. package/dist/webui/tools/types.d.ts.map +0 -1
  635. package/dist/webui/tools/types.js +0 -2
  636. package/dist/webui/tools/types.js.map +0 -1
  637. package/dist/webui/utils/attachment-utils.d.ts +0 -19
  638. package/dist/webui/utils/attachment-utils.d.ts.map +0 -1
  639. package/dist/webui/utils/attachment-utils.js +0 -415
  640. package/dist/webui/utils/attachment-utils.js.map +0 -1
  641. package/dist/webui/utils/auth-token.d.ts +0 -3
  642. package/dist/webui/utils/auth-token.d.ts.map +0 -1
  643. package/dist/webui/utils/auth-token.js +0 -19
  644. package/dist/webui/utils/auth-token.js.map +0 -1
  645. package/dist/webui/utils/format.d.ts +0 -6
  646. package/dist/webui/utils/format.d.ts.map +0 -1
  647. package/dist/webui/utils/format.js +0 -47
  648. package/dist/webui/utils/format.js.map +0 -1
  649. package/dist/webui/utils/i18n.d.ts +0 -636
  650. package/dist/webui/utils/i18n.d.ts.map +0 -1
  651. package/dist/webui/utils/i18n.js +0 -418
  652. package/dist/webui/utils/i18n.js.map +0 -1
  653. package/dist/webui/utils/model-discovery.d.ts +0 -38
  654. package/dist/webui/utils/model-discovery.d.ts.map +0 -1
  655. package/dist/webui/utils/model-discovery.js +0 -243
  656. package/dist/webui/utils/model-discovery.js.map +0 -1
  657. package/dist/webui/utils/proxy-utils.d.ts +0 -45
  658. package/dist/webui/utils/proxy-utils.d.ts.map +0 -1
  659. package/dist/webui/utils/proxy-utils.js +0 -116
  660. package/dist/webui/utils/proxy-utils.js.map +0 -1
  661. package/dist/webui/utils/test-sessions.d.ts +0 -359
  662. package/dist/webui/utils/test-sessions.d.ts.map +0 -1
  663. package/dist/webui/utils/test-sessions.js +0 -2325
  664. package/dist/webui/utils/test-sessions.js.map +0 -1
  665. package/dist/webui.d.ts +0 -2
  666. package/dist/webui.d.ts.map +0 -1
  667. package/dist/webui.js +0 -2
  668. package/dist/webui.js.map +0 -1
@@ -1,4 +1,9 @@
1
1
  import type { Tool, ToolCall } from "../types.js";
2
+ export interface ValidationDiagnostics {
3
+ cacheSize: number;
4
+ ajvEnabled: boolean;
5
+ isBrowserExtension: boolean;
6
+ }
2
7
  /**
3
8
  * Finds a tool by name and validates the tool call arguments against its TypeBox schema
4
9
  * @param tools Array of tool definitions
@@ -15,4 +20,5 @@ export declare function validateToolCall(tools: Tool[], toolCall: ToolCall): any
15
20
  * @throws Error with formatted message if validation fails
16
21
  */
17
22
  export declare function validateToolArguments(tool: Tool, toolCall: ToolCall): any;
23
+ export declare function getValidationDiagnostics(): ValidationDiagnostics;
18
24
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/validation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuBlD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CA+BzE"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/validation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4BlD,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAkCzE;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAMhE"}
@@ -3,6 +3,8 @@ import addFormatsModule from "ajv-formats";
3
3
  // Handle both default and named exports
4
4
  const Ajv = AjvModule.default || AjvModule;
5
5
  const addFormats = addFormatsModule.default || addFormatsModule;
6
+ import { sanitizeUnknownUnicode } from "./sanitize-unicode.js";
7
+ import { normalizeSchemaForValidation } from "./typebox-helpers.js";
6
8
  // Detect if we're in a browser extension environment with strict CSP
7
9
  // Chrome extensions with Manifest V3 don't allow eval/Function constructor
8
10
  const isBrowserExtension = typeof globalThis !== "undefined" && globalThis.chrome?.runtime?.id !== undefined;
@@ -23,6 +25,8 @@ if (!isBrowserExtension) {
23
25
  console.warn("AJV validation disabled due to CSP restrictions");
24
26
  }
25
27
  }
28
+ const validatorCache = new WeakMap();
29
+ let validatorCacheEntries = 0;
26
30
  /**
27
31
  * Finds a tool by name and validates the tool call arguments against its TypeBox schema
28
32
  * @param tools Array of tool definitions
@@ -47,26 +51,36 @@ export function validateToolCall(tools, toolCall) {
47
51
  export function validateToolArguments(tool, toolCall) {
48
52
  // Skip validation in browser extension environment (CSP restrictions prevent AJV from working)
49
53
  if (!ajv || isBrowserExtension) {
50
- // Trust the LLM's output without validation
51
- // Browser extensions can't use AJV due to Manifest V3 CSP restrictions
52
54
  return toolCall.arguments;
53
55
  }
54
- // Compile the schema
55
- const validate = ajv.compile(tool.parameters);
56
- // Clone arguments so AJV can safely mutate for type coercion
57
- const args = structuredClone(toolCall.arguments);
58
- // Validate the arguments (AJV mutates args in-place for type coercion)
56
+ const schemaObj = tool.parameters;
57
+ let validate = validatorCache.get(schemaObj);
58
+ if (!validate) {
59
+ const normalizedSchema = normalizeSchemaForValidation(tool.parameters);
60
+ validate = ajv.compile(normalizedSchema);
61
+ validatorCache.set(schemaObj, validate);
62
+ validatorCacheEntries += 1;
63
+ }
64
+ // Clone + sanitize arguments so AJV can safely mutate for type coercion
65
+ const args = sanitizeUnknownUnicode(structuredClone(toolCall.arguments));
59
66
  if (validate(args)) {
60
67
  return args;
61
68
  }
62
- // Format validation errors nicely
63
69
  const errors = validate.errors
64
70
  ?.map((err) => {
65
71
  const path = err.instancePath ? err.instancePath.substring(1) : err.params.missingProperty || "root";
66
- return ` - ${path}: ${err.message}`;
72
+ const keyword = err.keyword ? ` (${err.keyword})` : "";
73
+ return ` - ${path}: ${err.message}${keyword}`;
67
74
  })
68
75
  .join("\n") || "Unknown validation error";
69
76
  const errorMessage = `Validation failed for tool "${toolCall.name}":\n${errors}\n\nReceived arguments:\n${JSON.stringify(toolCall.arguments, null, 2)}`;
70
77
  throw new Error(errorMessage);
71
78
  }
79
+ export function getValidationDiagnostics() {
80
+ return {
81
+ cacheSize: validatorCacheEntries,
82
+ ajvEnabled: !!ajv,
83
+ isBrowserExtension,
84
+ };
85
+ }
72
86
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/ai/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,KAAK,CAAC;AAC5B,OAAO,gBAAgB,MAAM,aAAa,CAAC;AAE3C,wCAAwC;AACxC,MAAM,GAAG,GAAI,SAAiB,CAAC,OAAO,IAAI,SAAS,CAAC;AACpD,MAAM,UAAU,GAAI,gBAAwB,CAAC,OAAO,IAAI,gBAAgB,CAAC;AAIzE,qEAAqE;AACrE,2EAA2E;AAC3E,MAAM,kBAAkB,GAAG,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,SAAS,CAAC;AAEtH,kFAAkF;AAClF,qEAAqE;AACrE,IAAI,GAAG,GAAQ,IAAI,CAAC;AACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACzB,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,GAAG,CAAC;YACb,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,qDAAqD;QACrD,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,QAAkB;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAU,EAAE,QAAkB;IACnE,+FAA+F;IAC/F,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAChC,4CAA4C;QAC5C,uEAAuE;QACvE,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9C,6DAA6D;IAC7D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjD,uEAAuE;IACvE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,kCAAkC;IAClC,MAAM,MAAM,GACX,QAAQ,CAAC,MAAM;QACd,EAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC;QACrG,OAAO,OAAO,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;IAE5C,MAAM,YAAY,GAAG,+BAA+B,QAAQ,CAAC,IAAI,OAAO,MAAM,4BAA4B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAExJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/ai/utils/validation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * as ai from "./ai.js";
2
2
  export * as agent from "./agent.js";
3
3
  export * as tui from "./tui.js";
4
- export * as webui from "./webui.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * as ai from "./ai.js";
2
2
  export * as agent from "./agent.js";
3
3
  export * as tui from "./tui.js";
4
- export * as webui from "./webui.js";
5
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC"}
@@ -23,6 +23,7 @@ export declare class CombinedAutocompleteProvider implements AutocompleteProvide
23
23
  private commands;
24
24
  private basePath;
25
25
  private fdPath;
26
+ private suggestionCache;
26
27
  constructor(commands?: (SlashCommand | AutocompleteItem)[], basePath?: string, fdPath?: string | null);
27
28
  getSuggestions(lines: string[], cursorLine: number, cursorCol: number): {
28
29
  items: AutocompleteItem[];
@@ -33,6 +34,8 @@ export declare class CombinedAutocompleteProvider implements AutocompleteProvide
33
34
  cursorLine: number;
34
35
  cursorCol: number;
35
36
  };
37
+ private getCachedSuggestions;
38
+ clearCache(): void;
36
39
  private extractPathPrefix;
37
40
  private expandHomePath;
38
41
  private getFileSuggestions;
@@ -44,4 +47,18 @@ export declare class CombinedAutocompleteProvider implements AutocompleteProvide
44
47
  } | null;
45
48
  shouldTriggerFileCompletion(lines: string[], cursorLine: number, cursorCol: number): boolean;
46
49
  }
50
+ export interface AsyncAutocompleteProvider {
51
+ getSuggestionsAsync(lines: string[], cursorLine: number, cursorCol: number): Promise<{
52
+ items: AutocompleteItem[];
53
+ prefix: string;
54
+ } | null>;
55
+ }
56
+ export declare class AsyncAutocompleteChain implements AsyncAutocompleteProvider {
57
+ private readonly providers;
58
+ constructor(providers: AsyncAutocompleteProvider[]);
59
+ getSuggestionsAsync(lines: string[], cursorLine: number, cursorCol: number): Promise<{
60
+ items: AutocompleteItem[];
61
+ prefix: string;
62
+ } | null>;
63
+ }
47
64
  //# sourceMappingURL=autocomplete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/tui/autocomplete.ts"],"names":[],"mappings":"AAuDA,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,sBAAsB,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,oBAAoB;IAGpC,cAAc,CACb,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf;QACF,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IAIT,eAAe,CACd,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,GACZ;QACF,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAGD,qBAAa,4BAA6B,YAAW,oBAAoB;IACxE,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAgB;gBAG7B,QAAQ,GAAE,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAO,EAClD,QAAQ,GAAE,MAAsB,EAChC,MAAM,GAAE,MAAM,GAAG,IAAW;IAO7B,cAAc,CACb,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf;QAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAgGvD,eAAe,CACd,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,GACZ;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAkE7D,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,kBAAkB;IAqJ1B,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,uBAAuB;IA0C/B,uBAAuB,CACtB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GACf;QAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAyBvD,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAW5F"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../src/tui/autocomplete.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ function walkDirectoryWithFd(baseDir, fdPath, query, maxResults) {
43
43
  // Combined provider that handles both slash commands and file paths
44
44
  export class CombinedAutocompleteProvider {
45
45
  constructor(commands = [], basePath = process.cwd(), fdPath = null) {
46
+ this.suggestionCache = new Map();
46
47
  this.commands = commands;
47
48
  this.basePath = basePath;
48
49
  this.fdPath = fdPath;
@@ -55,7 +56,7 @@ export class CombinedAutocompleteProvider {
55
56
  if (atMatch) {
56
57
  const prefix = atMatch[1] ?? "@"; // The @... part
57
58
  const query = prefix.slice(1); // Remove the @
58
- const suggestions = this.getFuzzyFileSuggestions(query);
59
+ const suggestions = this.getCachedSuggestions(`fuzzy:${query}`, () => this.getFuzzyFileSuggestions(query));
59
60
  if (suggestions.length === 0)
60
61
  return null;
61
62
  return {
@@ -110,7 +111,7 @@ export class CombinedAutocompleteProvider {
110
111
  // Check for file paths - triggered by Tab or if we detect a path pattern
111
112
  const pathMatch = this.extractPathPrefix(textBeforeCursor, false);
112
113
  if (pathMatch !== null) {
113
- const suggestions = this.getFileSuggestions(pathMatch);
114
+ const suggestions = this.getCachedSuggestions(`path:${pathMatch}`, () => this.getFileSuggestions(pathMatch));
114
115
  if (suggestions.length === 0)
115
116
  return null;
116
117
  // Check if we have an exact match that is a directory
@@ -187,6 +188,22 @@ export class CombinedAutocompleteProvider {
187
188
  cursorCol: beforePrefix.length + item.value.length,
188
189
  };
189
190
  }
191
+ getCachedSuggestions(key, loader) {
192
+ const cached = this.suggestionCache.get(key);
193
+ if (cached)
194
+ return cached;
195
+ const items = loader();
196
+ if (this.suggestionCache.size > 200) {
197
+ const oldest = this.suggestionCache.keys().next().value;
198
+ if (oldest)
199
+ this.suggestionCache.delete(oldest);
200
+ }
201
+ this.suggestionCache.set(key, items);
202
+ return items;
203
+ }
204
+ clearCache() {
205
+ this.suggestionCache.clear();
206
+ }
190
207
  // Extract a path-like prefix from the text before cursor
191
208
  extractPathPrefix(text, forceExtract = false) {
192
209
  // Check for @ file attachment syntax first
@@ -451,7 +468,7 @@ export class CombinedAutocompleteProvider {
451
468
  // Force extract path prefix - this will always return something
452
469
  const pathMatch = this.extractPathPrefix(textBeforeCursor, true);
453
470
  if (pathMatch !== null) {
454
- const suggestions = this.getFileSuggestions(pathMatch);
471
+ const suggestions = this.getCachedSuggestions(`path:${pathMatch}`, () => this.getFileSuggestions(pathMatch));
455
472
  if (suggestions.length === 0)
456
473
  return null;
457
474
  return {
@@ -472,4 +489,17 @@ export class CombinedAutocompleteProvider {
472
489
  return true;
473
490
  }
474
491
  }
492
+ export class AsyncAutocompleteChain {
493
+ constructor(providers) {
494
+ this.providers = providers;
495
+ }
496
+ async getSuggestionsAsync(lines, cursorLine, cursorCol) {
497
+ for (const provider of this.providers) {
498
+ const result = await provider.getSuggestionsAsync(lines, cursorLine, cursorCol);
499
+ if (result && result.items.length > 0)
500
+ return result;
501
+ }
502
+ return null;
503
+ }
504
+ }
475
505
  //# sourceMappingURL=autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/tui/autocomplete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../src/tui/autocomplete.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { Component } from "../tui.js";
1
+ import { ComponentBase, type Component } from "../tui.js";
2
2
  /**
3
3
  * Box component - a container that applies padding and background to all children
4
4
  */
5
- export declare class Box implements Component {
5
+ export declare class Box extends ComponentBase {
6
6
  children: Component[];
7
7
  private paddingX;
8
8
  private paddingY;
@@ -1 +1 @@
1
- {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../src/tui/components/box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C;;GAEG;AACH,qBAAa,GAAI,YAAW,SAAS;IACpC,QAAQ,EAAE,SAAS,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAC,CAA2B;IAGxC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAW;gBAEnB,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;IAMvE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKpC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQvC,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAK9C,OAAO,CAAC,eAAe;IAOvB,UAAU,IAAI,IAAI;IAOlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA8D/B,OAAO,CAAC,OAAO;CAUf"}
1
+ {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../src/tui/components/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI1D;;GAEG;AACH,qBAAa,GAAI,SAAQ,aAAa;IACrC,QAAQ,EAAE,SAAS,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAC,CAA2B;IAGxC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAW;gBAEnB,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;IAOvE,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKpC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQvC,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAK9C,OAAO,CAAC,eAAe;IAOd,UAAU,IAAI,IAAI;IAQ3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA8D/B,OAAO,CAAC,OAAO;CAOf"}
@@ -1,9 +1,12 @@
1
- import { applyBackgroundToLine, visibleWidth } from "../utils.js";
1
+ import { ComponentBase } from "../tui.js";
2
+ import { applyBackgroundToLine } from "../utils.js";
3
+ import { textRenderer } from "./text-renderer.js";
2
4
  /**
3
5
  * Box component - a container that applies padding and background to all children
4
6
  */
5
- export class Box {
7
+ export class Box extends ComponentBase {
6
8
  constructor(paddingX = 1, paddingY = 1, bgFn) {
9
+ super();
7
10
  this.children = [];
8
11
  this.paddingX = paddingX;
9
12
  this.paddingY = paddingY;
@@ -35,6 +38,7 @@ export class Box {
35
38
  this.cachedLines = undefined;
36
39
  }
37
40
  invalidate() {
41
+ super.invalidate();
38
42
  this.invalidateCache();
39
43
  for (const child of this.children) {
40
44
  child.invalidate?.();
@@ -89,9 +93,7 @@ export class Box {
89
93
  return result;
90
94
  }
91
95
  applyBg(line, width) {
92
- const visLen = visibleWidth(line);
93
- const padNeeded = Math.max(0, width - visLen);
94
- const padded = line + " ".repeat(padNeeded);
96
+ const padded = textRenderer.padToWidth(line, width);
95
97
  if (this.bgFn) {
96
98
  return applyBackgroundToLine(padded, width, this.bgFn);
97
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"box.js","sourceRoot":"","sources":["../../../src/tui/components/box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"box.js","sourceRoot":"","sources":["../../../src/tui/components/box.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class CancellableLoader extends Loader {
17
17
  /** Whether the loader was aborted */
18
18
  get aborted(): boolean;
19
19
  handleInput(data: string): void;
20
+ onUnmount(): void;
20
21
  dispose(): void;
21
22
  }
22
23
  //# sourceMappingURL=cancellable-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellable-loader.d.ts","sourceRoot":"","sources":["../../../src/tui/components/cancellable-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC5C,OAAO,CAAC,eAAe,CAAyB;IAEhD,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,2DAA2D;IAC3D,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,qCAAqC;IACrC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ/B,OAAO,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"cancellable-loader.d.ts","sourceRoot":"","sources":["../../../src/tui/components/cancellable-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC5C,OAAO,CAAC,eAAe,CAAyB;IAEhD,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,2DAA2D;IAC3D,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,qCAAqC;IACrC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQtB,SAAS,IAAI,IAAI;IAK1B,OAAO,IAAI,IAAI;CAGf"}
@@ -29,6 +29,10 @@ export class CancellableLoader extends Loader {
29
29
  this.onAbort?.();
30
30
  }
31
31
  }
32
+ onUnmount() {
33
+ super.onUnmount();
34
+ this.dispose();
35
+ }
32
36
  dispose() {
33
37
  this.stop();
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cancellable-loader.js","sourceRoot":"","sources":["../../../src/tui/components/cancellable-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IAA7C;;QACS,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IA0BjD,CAAC;IArBA,2DAA2D;IAC3D,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"cancellable-loader.js","sourceRoot":"","sources":["../../../src/tui/components/cancellable-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IAA7C;;QACS,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IA+BjD,CAAC;IA1BA,2DAA2D;IAC3D,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAEQ,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
1
  import type { AutocompleteProvider } from "../autocomplete.js";
2
- import { type Component, type Focusable, type TUI } from "../tui.js";
2
+ import { ComponentBase, type Focusable, type TUI } from "../tui.js";
3
3
  import { type SelectListTheme } from "./select-list.js";
4
4
  /**
5
5
  * Represents a chunk of text for word-wrap layout.
@@ -27,7 +27,7 @@ export interface EditorTheme {
27
27
  export interface EditorOptions {
28
28
  paddingX?: number;
29
29
  }
30
- export declare class Editor implements Component, Focusable {
30
+ export declare class Editor extends ComponentBase implements Focusable {
31
31
  private state;
32
32
  /** Focusable interface - set by TUI when focus changes */
33
33
  focused: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/tui/components/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../src/tui/components/editor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { getEditorKeybindings } from "../keybindings.js";
2
2
  import { matchesKey } from "../keys.js";
3
- import { CURSOR_MARKER } from "../tui.js";
3
+ import { ComponentBase, CURSOR_MARKER } from "../tui.js";
4
4
  import { getSegmenter, isPunctuationChar, isWhitespaceChar, visibleWidth } from "../utils.js";
5
5
  import { SelectList } from "./select-list.js";
6
6
  const segmenter = getSegmenter();
@@ -102,8 +102,9 @@ function decodeKittyPrintable(data) {
102
102
  return undefined;
103
103
  }
104
104
  }
105
- export class Editor {
105
+ export class Editor extends ComponentBase {
106
106
  constructor(tui, theme, options = {}) {
107
+ super();
107
108
  this.state = {
108
109
  lines: [""],
109
110
  cursorLine: 0,
@@ -153,6 +154,7 @@ export class Editor {
153
154
  }
154
155
  setAutocompleteProvider(provider) {
155
156
  this.autocompleteProvider = provider;
157
+ this.invalidate();
156
158
  }
157
159
  /**
158
160
  * Add a prompt to history for up/down arrow navigation.
@@ -217,7 +219,8 @@ export class Editor {
217
219
  }
218
220
  }
219
221
  invalidate() {
220
- // No cached state to invalidate currently
222
+ super.invalidate();
223
+ this.autocompleteList?.invalidate?.();
221
224
  }
222
225
  render(width) {
223
226
  const maxPadding = Math.max(0, Math.floor((width - 1) / 2));