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,224 +0,0 @@
1
- import { i18n } from "@mariozechner/mini-lit";
2
- import { Type } from "@sinclair/typebox";
3
- import { html } from "lit";
4
- import { createRef, ref } from "lit/directives/ref.js";
5
- import { Code } from "lucide";
6
- import { SandboxIframe } from "../components/SandboxedIframe.js";
7
- import { JAVASCRIPT_REPL_TOOL_DESCRIPTION } from "../prompts/prompts.js";
8
- import { registerToolRenderer, renderCollapsibleHeader, renderHeader } from "./renderer-registry.js";
9
- // Execute JavaScript code with attachments using SandboxedIframe
10
- export async function executeJavaScript(code, runtimeProviders, signal, sandboxUrlProvider) {
11
- if (!code) {
12
- throw new Error("Code parameter is required");
13
- }
14
- // Check for abort before starting
15
- if (signal?.aborted) {
16
- throw new Error("Execution aborted");
17
- }
18
- // Create a SandboxedIframe instance for execution
19
- const sandbox = new SandboxIframe();
20
- if (sandboxUrlProvider) {
21
- sandbox.sandboxUrlProvider = sandboxUrlProvider;
22
- }
23
- sandbox.style.display = "none";
24
- document.body.appendChild(sandbox);
25
- try {
26
- const sandboxId = `repl-${Date.now()}-${Math.random().toString(36).substring(7)}`;
27
- // Pass providers to execute (router handles all message routing)
28
- // No additional consumers needed - execute() has its own internal consumer
29
- const result = await sandbox.execute(sandboxId, code, runtimeProviders, [], signal);
30
- // Remove the sandbox iframe after execution
31
- sandbox.remove();
32
- // Build plain text response
33
- let output = "";
34
- // Add console output - result.console contains { type: string, text: string } from sandbox.js
35
- if (result.console && result.console.length > 0) {
36
- for (const entry of result.console) {
37
- output += `${entry.text}\n`;
38
- }
39
- }
40
- // Add error if execution failed
41
- if (!result.success) {
42
- if (output)
43
- output += "\n";
44
- output += `Error: ${result.error?.message || "Unknown error"}\n${result.error?.stack || ""}`;
45
- // Throw error so tool call is marked as failed
46
- throw new Error(output.trim());
47
- }
48
- // Add return value if present
49
- if (result.returnValue !== undefined) {
50
- if (output)
51
- output += "\n";
52
- output += `=> ${typeof result.returnValue === "object" ? JSON.stringify(result.returnValue, null, 2) : result.returnValue}`;
53
- }
54
- // Add file notifications
55
- if (result.files && result.files.length > 0) {
56
- output += `\n[Files returned: ${result.files.length}]\n`;
57
- for (const file of result.files) {
58
- output += ` - ${file.fileName} (${file.mimeType})\n`;
59
- }
60
- }
61
- else {
62
- // Explicitly note when no files were returned (helpful for debugging)
63
- if (code.includes("returnFile")) {
64
- output += "\n[No files returned - check async operations]";
65
- }
66
- }
67
- return {
68
- output: output.trim() || "Code executed successfully (no output)",
69
- files: result.files,
70
- };
71
- }
72
- catch (error) {
73
- // Clean up on error
74
- sandbox.remove();
75
- throw new Error(error.message || "Execution failed");
76
- }
77
- }
78
- const javascriptReplSchema = Type.Object({
79
- title: Type.String({
80
- description: "Brief title describing what the code snippet tries to achieve in active form, e.g. 'Calculating sum'",
81
- }),
82
- code: Type.String({ description: "JavaScript code to execute" }),
83
- });
84
- export function createJavaScriptReplTool() {
85
- return {
86
- label: "JavaScript REPL",
87
- name: "javascript_repl",
88
- runtimeProvidersFactory: () => [], // default to empty array
89
- sandboxUrlProvider: undefined, // optional, for browser extensions
90
- get description() {
91
- const runtimeProviderDescriptions = this.runtimeProvidersFactory?.()
92
- .map((d) => d.getDescription())
93
- .filter((d) => d.trim().length > 0) || [];
94
- return JAVASCRIPT_REPL_TOOL_DESCRIPTION(runtimeProviderDescriptions);
95
- },
96
- parameters: javascriptReplSchema,
97
- execute: async function (_toolCallId, args, signal) {
98
- const result = await executeJavaScript(args.code, this.runtimeProvidersFactory?.() ?? [], signal, this.sandboxUrlProvider);
99
- // Convert files to JSON-serializable with base64 payloads
100
- const files = (result.files || []).map((f) => {
101
- const toBase64 = (input) => {
102
- if (input instanceof Uint8Array) {
103
- let binary = "";
104
- const chunk = 0x8000;
105
- for (let i = 0; i < input.length; i += chunk) {
106
- binary += String.fromCharCode(...input.subarray(i, i + chunk));
107
- }
108
- return { base64: btoa(binary), size: input.length };
109
- }
110
- else if (typeof input === "string") {
111
- const enc = new TextEncoder();
112
- const bytes = enc.encode(input);
113
- let binary = "";
114
- const chunk = 0x8000;
115
- for (let i = 0; i < bytes.length; i += chunk) {
116
- binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
117
- }
118
- return { base64: btoa(binary), size: bytes.length };
119
- }
120
- else {
121
- const s = String(input);
122
- const enc = new TextEncoder();
123
- const bytes = enc.encode(s);
124
- let binary = "";
125
- const chunk = 0x8000;
126
- for (let i = 0; i < bytes.length; i += chunk) {
127
- binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
128
- }
129
- return { base64: btoa(binary), size: bytes.length };
130
- }
131
- };
132
- const { base64, size } = toBase64(f.content);
133
- return {
134
- fileName: f.fileName || "file",
135
- mimeType: f.mimeType || "application/octet-stream",
136
- size,
137
- contentBase64: base64,
138
- };
139
- });
140
- return { content: [{ type: "text", text: result.output }], details: { files } };
141
- },
142
- };
143
- }
144
- // Export a default instance for backward compatibility
145
- export const javascriptReplTool = createJavaScriptReplTool();
146
- export const javascriptReplRenderer = {
147
- render(params, result, isStreaming) {
148
- // Determine status
149
- const state = result ? (result.isError ? "error" : "complete") : isStreaming ? "inprogress" : "complete";
150
- // Create refs for collapsible code section
151
- const codeContentRef = createRef();
152
- const codeChevronRef = createRef();
153
- // With result: show params + result
154
- if (result && params) {
155
- const output = result.content
156
- ?.filter((c) => c.type === "text")
157
- .map((c) => c.text)
158
- .join("\n") || "";
159
- const files = result.details?.files || [];
160
- const attachments = files.map((f, i) => {
161
- // Decode base64 content for text files to show in overlay
162
- let extractedText;
163
- const isTextBased = f.mimeType?.startsWith("text/") ||
164
- f.mimeType === "application/json" ||
165
- f.mimeType === "application/javascript" ||
166
- f.mimeType?.includes("xml");
167
- if (isTextBased && f.contentBase64) {
168
- try {
169
- extractedText = atob(f.contentBase64);
170
- }
171
- catch (_e) {
172
- console.warn("Failed to decode base64 content for", f.fileName);
173
- }
174
- }
175
- return {
176
- id: `repl-${Date.now()}-${i}`,
177
- type: f.mimeType?.startsWith("image/") ? "image" : "document",
178
- fileName: f.fileName || `file-${i}`,
179
- mimeType: f.mimeType || "application/octet-stream",
180
- size: f.size ?? 0,
181
- content: f.contentBase64,
182
- preview: f.mimeType?.startsWith("image/") ? f.contentBase64 : undefined,
183
- extractedText,
184
- };
185
- });
186
- return {
187
- content: html `
188
- <div>
189
- ${renderCollapsibleHeader(state, Code, params.title ? params.title : i18n("Executing JavaScript"), codeContentRef, codeChevronRef, false)}
190
- <div ${ref(codeContentRef)} class="max-h-0 overflow-hidden transition-all duration-300 space-y-3">
191
- <code-block .code=${params.code || ""} language="javascript"></code-block>
192
- ${output ? html `<console-block .content=${output} .variant=${result.isError ? "error" : "default"}></console-block>` : ""}
193
- </div>
194
- ${attachments.length
195
- ? html `<div class="flex flex-wrap gap-2 mt-3">
196
- ${attachments.map((att) => html `<attachment-tile .attachment=${att}></attachment-tile>`)}
197
- </div>`
198
- : ""}
199
- </div>
200
- `,
201
- isCustom: false,
202
- };
203
- }
204
- // Just params (streaming or waiting for result)
205
- if (params) {
206
- return {
207
- content: html `
208
- <div>
209
- ${renderCollapsibleHeader(state, Code, params.title ? params.title : i18n("Executing JavaScript"), codeContentRef, codeChevronRef, false)}
210
- <div ${ref(codeContentRef)} class="max-h-0 overflow-hidden transition-all duration-300">
211
- ${params.code ? html `<code-block .code=${params.code} language="javascript"></code-block>` : ""}
212
- </div>
213
- </div>
214
- `,
215
- isCustom: false,
216
- };
217
- }
218
- // No params or result yet
219
- return { content: renderHeader(state, Code, i18n("Preparing JavaScript...")), isCustom: false };
220
- },
221
- };
222
- // Auto-register the renderer
223
- registerToolRenderer(javascriptReplTool.name, javascriptReplRenderer);
224
- //# sourceMappingURL=javascript-repl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascript-repl.js","sourceRoot":"","sources":["../../../src/webui/tools/javascript-repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAoB,aAAa,EAAsB,MAAM,kCAAkC,CAAC;AAEvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGrG,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,IAAY,EACZ,gBAA0C,EAC1C,MAAoB,EACpB,kBAAiC;IAEjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAED,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,CAAC;QACJ,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAElF,iEAAiE;QACjE,2EAA2E;QAC3E,MAAM,MAAM,GAAkB,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAEnG,4CAA4C;QAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,4BAA4B;QAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,8FAA8F;QAC9F,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,MAAM;gBAAE,MAAM,IAAI,IAAI,CAAC;YAC3B,MAAM,IAAI,UAAU,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAE7F,+CAA+C;YAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,8BAA8B;QAC9B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,MAAM;gBAAE,MAAM,IAAI,IAAI,CAAC;YAC3B,MAAM,IAAI,MAAM,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7H,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,sBAAsB,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjC,MAAM,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,KAAK,CAAC;YACvD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,sEAAsE;YACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,gDAAgD,CAAC;YAC5D,CAAC;QACF,CAAC;QAED,OAAO;YACN,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,wCAAwC;YACjE,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,oBAAoB;QACpB,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAE,KAAe,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAYD,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EACV,sGAAsG;KACvG,CAAC;IACF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;CAChE,CAAC,CAAC;AAcH,MAAM,UAAU,wBAAwB;IAIvC,OAAO;QACN,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,iBAAiB;QACvB,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,yBAAyB;QAC5D,kBAAkB,EAAE,SAAS,EAAE,mCAAmC;QAClE,IAAI,WAAW;YACd,MAAM,2BAA2B,GAChC,IAAI,CAAC,uBAAuB,EAAE,EAAE;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,gCAAgC,CAAC,2BAA2B,CAAC,CAAC;QACtE,CAAC;QACD,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,KAAK,WAAW,WAAmB,EAAE,IAAyC,EAAE,MAAoB;YAC5G,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACrC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EACtC,MAAM,EACN,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACF,0DAA0D;YAC1D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAoC,EAAE;oBACjF,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;wBACjC,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,MAAM,CAAC;wBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;4BAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;wBAChE,CAAC;wBACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBACrD,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACtC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,MAAM,CAAC;wBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;4BAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;wBAChE,CAAC;wBACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBACxB,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,MAAM,CAAC;wBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;4BAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;wBAChE,CAAC;wBACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBACrD,CAAC;gBACF,CAAC,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO;oBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM;oBAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,0BAA0B;oBAClD,IAAI;oBACJ,aAAa,EAAE,MAAM;iBACrB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACjF,CAAC;KACD,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAA6D;IAC/F,MAAM,CACL,MAAwC,EACxC,MAA2D,EAC3D,WAAqB;QAErB,mBAAmB;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAEzG,2CAA2C;QAC3C,MAAM,cAAc,GAAG,SAAS,EAAkB,CAAC;QACnD,MAAM,cAAc,GAAG,SAAS,EAAmB,CAAC;QAEpD,oCAAoC;QACpC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,MAAM,GACX,MAAM,CAAC,OAAO;gBACb,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAE1C,MAAM,WAAW,GAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpD,0DAA0D;gBAC1D,IAAI,aAAiC,CAAC;gBACtC,MAAM,WAAW,GAChB,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC;oBAC/B,CAAC,CAAC,QAAQ,KAAK,kBAAkB;oBACjC,CAAC,CAAC,QAAQ,KAAK,wBAAwB;oBACvC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE7B,IAAI,WAAW,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACJ,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBACvC,CAAC;oBAAC,OAAO,EAAE,EAAE,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACjE,CAAC;gBACF,CAAC;gBAED,OAAO;oBACN,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;oBAC7B,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;oBAC7D,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE;oBACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,0BAA0B;oBAClD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;oBACjB,OAAO,EAAE,CAAC,CAAC,aAAa;oBACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;oBACvE,aAAa;iBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO;gBACN,OAAO,EAAE,IAAI,CAAA;;QAET,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC;aAClI,GAAG,CAAC,cAAc,CAAC;2BACL,MAAM,CAAC,IAAI,IAAI,EAAE;SACnC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,2BAA2B,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE;;QAGzH,WAAW,CAAC,MAAM;oBACjB,CAAC,CAAC,IAAI,CAAA;WACH,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAA,gCAAgC,GAAG,qBAAqB,CAAC;gBACjF;oBACR,CAAC,CAAC,EACJ;;KAED;gBACD,QAAQ,EAAE,KAAK;aACf,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO;gBACN,OAAO,EAAE,IAAI,CAAA;;QAET,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC;aAClI,GAAG,CAAC,cAAc,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,qBAAqB,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC,CAAC,EAAE;;;KAGjG;gBACD,QAAQ,EAAE,KAAK;aACf,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjG,CAAC;CACD,CAAC;AAEF,6BAA6B;AAC7B,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- import { type TemplateResult } from "lit";
2
- import type { Ref } from "lit/directives/ref.js";
3
- import type { ToolRenderer } from "./types.js";
4
- export declare const toolRenderers: Map<string, ToolRenderer<any, any>>;
5
- /**
6
- * Register a custom tool renderer
7
- */
8
- export declare function registerToolRenderer(toolName: string, renderer: ToolRenderer): void;
9
- /**
10
- * Get a tool renderer by name
11
- */
12
- export declare function getToolRenderer(toolName: string): ToolRenderer | undefined;
13
- /**
14
- * Helper to render a header for tool renderers
15
- * Shows icon on left when complete/error, spinner on right when in progress
16
- */
17
- export declare function renderHeader(state: "inprogress" | "complete" | "error", toolIcon: any, text: string | TemplateResult): TemplateResult;
18
- /**
19
- * Helper to render a collapsible header for tool renderers
20
- * Same as renderHeader but with a chevron button that toggles visibility of content
21
- */
22
- export declare function renderCollapsibleHeader(state: "inprogress" | "complete" | "error", toolIcon: any, text: string | TemplateResult, contentRef: Ref<HTMLElement>, chevronRef: Ref<HTMLElement>, defaultExpanded?: boolean): TemplateResult;
23
- //# sourceMappingURL=renderer-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer-registry.d.ts","sourceRoot":"","sources":["../../../src/webui/tools/renderer-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,eAAO,MAAM,aAAa,qCAAkC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,EAC1C,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,MAAM,GAAG,cAAc,GAC3B,cAAc,CA8BhB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,EAC1C,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,MAAM,GAAG,cAAc,EAC7B,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,EAC5B,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,EAC5B,eAAe,UAAQ,GACrB,cAAc,CAsDhB"}
@@ -1,107 +0,0 @@
1
- import { icon } from "@mariozechner/mini-lit";
2
- import { html } from "lit";
3
- import { ref } from "lit/directives/ref.js";
4
- import { ChevronsUpDown, ChevronUp, Loader } from "lucide";
5
- // Registry of tool renderers
6
- export const toolRenderers = new Map();
7
- /**
8
- * Register a custom tool renderer
9
- */
10
- export function registerToolRenderer(toolName, renderer) {
11
- toolRenderers.set(toolName, renderer);
12
- }
13
- /**
14
- * Get a tool renderer by name
15
- */
16
- export function getToolRenderer(toolName) {
17
- return toolRenderers.get(toolName);
18
- }
19
- /**
20
- * Helper to render a header for tool renderers
21
- * Shows icon on left when complete/error, spinner on right when in progress
22
- */
23
- export function renderHeader(state, toolIcon, text) {
24
- const statusIcon = (iconComponent, color) => html `<span class="inline-block ${color}">${icon(iconComponent, "sm")}</span>`;
25
- switch (state) {
26
- case "inprogress":
27
- return html `
28
- <div class="flex items-center justify-between gap-2 text-sm text-muted-foreground">
29
- <div class="flex items-center gap-2">
30
- ${statusIcon(toolIcon, "text-foreground")}
31
- ${text}
32
- </div>
33
- ${statusIcon(Loader, "text-foreground animate-spin")}
34
- </div>
35
- `;
36
- case "complete":
37
- return html `
38
- <div class="flex items-center gap-2 text-sm text-muted-foreground">
39
- ${statusIcon(toolIcon, "text-green-600 dark:text-green-500")}
40
- ${text}
41
- </div>
42
- `;
43
- case "error":
44
- return html `
45
- <div class="flex items-center gap-2 text-sm text-muted-foreground">
46
- ${statusIcon(toolIcon, "text-destructive")}
47
- ${text}
48
- </div>
49
- `;
50
- }
51
- }
52
- /**
53
- * Helper to render a collapsible header for tool renderers
54
- * Same as renderHeader but with a chevron button that toggles visibility of content
55
- */
56
- export function renderCollapsibleHeader(state, toolIcon, text, contentRef, chevronRef, defaultExpanded = false) {
57
- const statusIcon = (iconComponent, color) => html `<span class="inline-block ${color}">${icon(iconComponent, "sm")}</span>`;
58
- const toggleContent = (e) => {
59
- e.preventDefault();
60
- const content = contentRef.value;
61
- const chevron = chevronRef.value;
62
- if (content && chevron) {
63
- const isCollapsed = content.classList.contains("max-h-0");
64
- if (isCollapsed) {
65
- content.classList.remove("max-h-0");
66
- content.classList.add("max-h-[2000px]", "mt-3");
67
- // Show ChevronUp, hide ChevronsUpDown
68
- const upIcon = chevron.querySelector(".chevron-up");
69
- const downIcon = chevron.querySelector(".chevrons-up-down");
70
- if (upIcon && downIcon) {
71
- upIcon.classList.remove("hidden");
72
- downIcon.classList.add("hidden");
73
- }
74
- }
75
- else {
76
- content.classList.remove("max-h-[2000px]", "mt-3");
77
- content.classList.add("max-h-0");
78
- // Show ChevronsUpDown, hide ChevronUp
79
- const upIcon = chevron.querySelector(".chevron-up");
80
- const downIcon = chevron.querySelector(".chevrons-up-down");
81
- if (upIcon && downIcon) {
82
- upIcon.classList.add("hidden");
83
- downIcon.classList.remove("hidden");
84
- }
85
- }
86
- }
87
- };
88
- const toolIconColor = state === "complete"
89
- ? "text-green-600 dark:text-green-500"
90
- : state === "error"
91
- ? "text-destructive"
92
- : "text-foreground";
93
- return html `
94
- <button @click=${toggleContent} class="flex items-center justify-between gap-2 text-sm text-muted-foreground w-full text-left hover:text-foreground transition-colors cursor-pointer">
95
- <div class="flex items-center gap-2">
96
- ${state === "inprogress" ? statusIcon(Loader, "text-foreground animate-spin") : ""}
97
- ${statusIcon(toolIcon, toolIconColor)}
98
- ${text}
99
- </div>
100
- <span class="inline-block text-muted-foreground" ${ref(chevronRef)}>
101
- <span class="chevron-up ${defaultExpanded ? "" : "hidden"}">${icon(ChevronUp, "sm")}</span>
102
- <span class="chevrons-up-down ${defaultExpanded ? "hidden" : ""}">${icon(ChevronsUpDown, "sm")}</span>
103
- </span>
104
- </button>
105
- `;
106
- }
107
- //# sourceMappingURL=renderer-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer-registry.js","sourceRoot":"","sources":["../../../src/webui/tools/renderer-registry.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { ToolResultMessage } from "../../../ai/index.js";
2
- import type { ToolRenderer, ToolRenderResult } from "../types.js";
3
- interface BashParams {
4
- command: string;
5
- }
6
- export declare class BashRenderer implements ToolRenderer<BashParams, undefined> {
7
- render(params: BashParams | undefined, result: ToolResultMessage<undefined> | undefined): ToolRenderResult;
8
- }
9
- export {};
10
- //# sourceMappingURL=BashRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BashRenderer.d.ts","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/BashRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,UAAU,UAAU;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB;AAGD,qBAAa,YAAa,YAAW,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC;IACvE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,gBAAgB;CAsC1G"}
@@ -1,42 +0,0 @@
1
- import { html } from "lit";
2
- import { SquareTerminal } from "lucide";
3
- import { i18n } from "../../utils/i18n.js";
4
- import { renderHeader } from "../renderer-registry.js";
5
- // Bash tool has undefined details (only uses output)
6
- export class BashRenderer {
7
- render(params, result) {
8
- const state = result ? (result.isError ? "error" : "complete") : "inprogress";
9
- // With result: show command + output
10
- if (result && params?.command) {
11
- const output = result.content
12
- ?.filter((c) => c.type === "text")
13
- .map((c) => c.text)
14
- .join("\n") || "";
15
- const combined = output ? `> ${params.command}\n\n${output}` : `> ${params.command}`;
16
- return {
17
- content: html `
18
- <div class="space-y-3">
19
- ${renderHeader(state, SquareTerminal, i18n("Running command..."))}
20
- <console-block .content=${combined} .variant=${result.isError ? "error" : "default"}></console-block>
21
- </div>
22
- `,
23
- isCustom: false,
24
- };
25
- }
26
- // Just params (streaming or waiting)
27
- if (params?.command) {
28
- return {
29
- content: html `
30
- <div class="space-y-3">
31
- ${renderHeader(state, SquareTerminal, i18n("Running command..."))}
32
- <console-block .content=${`> ${params.command}`}></console-block>
33
- </div>
34
- `,
35
- isCustom: false,
36
- };
37
- }
38
- // No params yet
39
- return { content: renderHeader(state, SquareTerminal, i18n("Waiting for command...")), isCustom: false };
40
- }
41
- }
42
- //# sourceMappingURL=BashRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BashRenderer.js","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/BashRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,qDAAqD;AACrD,MAAM,OAAO,YAAY;IACxB,MAAM,CAAC,MAA8B,EAAE,MAAgD;QACtF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAE9E,qCAAqC;QACrC,IAAI,MAAM,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GACX,MAAM,CAAC,OAAO;gBACb,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACrF,OAAO;gBACN,OAAO,EAAE,IAAI,CAAA;;QAET,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gCACvC,QAAQ,aAAa,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;;KAEpF;gBACD,QAAQ,EAAE,KAAK;aACf,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO;gBACN,OAAO,EAAE,IAAI,CAAA;;QAET,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gCACvC,KAAK,MAAM,CAAC,OAAO,EAAE;;KAEhD;gBACD,QAAQ,EAAE,KAAK;aACf,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1G,CAAC;CACD"}
@@ -1,10 +0,0 @@
1
- import type { ToolResultMessage } from "../../../ai/index.js";
2
- import type { ToolRenderer, ToolRenderResult } from "../types.js";
3
- interface CalculateParams {
4
- expression: string;
5
- }
6
- export declare class CalculateRenderer implements ToolRenderer<CalculateParams, undefined> {
7
- render(params: CalculateParams | undefined, result: ToolResultMessage<undefined> | undefined): ToolRenderResult;
8
- }
9
- export {};
10
- //# sourceMappingURL=CalculateRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CalculateRenderer.d.ts","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/CalculateRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,UAAU,eAAe;IACxB,UAAU,EAAE,MAAM,CAAC;CACnB;AAGD,qBAAa,iBAAkB,YAAW,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC;IACjF,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,gBAAgB;CA4C/G"}
@@ -1,45 +0,0 @@
1
- import { html } from "lit";
2
- import { Calculator } from "lucide";
3
- import { i18n } from "../../utils/i18n.js";
4
- import { renderHeader } from "../renderer-registry.js";
5
- // Calculate tool has undefined details (only uses output)
6
- export class CalculateRenderer {
7
- render(params, result) {
8
- const state = result ? (result.isError ? "error" : "complete") : "inprogress";
9
- // Full params + full result
10
- if (result && params?.expression) {
11
- const output = result.content
12
- ?.filter((c) => c.type === "text")
13
- .map((c) => c.text)
14
- .join("\n") || "";
15
- // Error: show expression in header, error below
16
- if (result.isError) {
17
- return {
18
- content: html `
19
- <div class="space-y-3">
20
- ${renderHeader(state, Calculator, params.expression)}
21
- <div class="text-sm text-destructive">${output}</div>
22
- </div>
23
- `,
24
- isCustom: false,
25
- };
26
- }
27
- // Success: show expression = result in header
28
- return { content: renderHeader(state, Calculator, `${params.expression} = ${output}`), isCustom: false };
29
- }
30
- // Full params, no result: just show header with expression in it
31
- if (params?.expression) {
32
- return {
33
- content: renderHeader(state, Calculator, `${i18n("Calculating")} ${params.expression}`),
34
- isCustom: false,
35
- };
36
- }
37
- // Partial params (empty expression), no result
38
- if (params && !params.expression) {
39
- return { content: renderHeader(state, Calculator, i18n("Writing expression...")), isCustom: false };
40
- }
41
- // No params, no result
42
- return { content: renderHeader(state, Calculator, i18n("Waiting for expression...")), isCustom: false };
43
- }
44
- }
45
- //# sourceMappingURL=CalculateRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CalculateRenderer.js","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/CalculateRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,0DAA0D;AAC1D,MAAM,OAAO,iBAAiB;IAC7B,MAAM,CAAC,MAAmC,EAAE,MAAgD;QAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAE9E,4BAA4B;QAC5B,IAAI,MAAM,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YAClC,MAAM,MAAM,GACX,MAAM,CAAC,OAAO;gBACb,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEpB,gDAAgD;YAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;oBACN,OAAO,EAAE,IAAI,CAAA;;SAET,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;+CACZ,MAAM;;MAE/C;oBACD,QAAQ,EAAE,KAAK;iBACf,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,MAAM,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1G,CAAC;QAED,iEAAiE;QACjE,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACxB,OAAO;gBACN,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvF,QAAQ,EAAE,KAAK;aACf,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrG,CAAC;QAED,uBAAuB;QACvB,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzG,CAAC;CACD"}
@@ -1,6 +0,0 @@
1
- import type { ToolResultMessage } from "../../../ai/index.js";
2
- import type { ToolRenderer, ToolRenderResult } from "../types.js";
3
- export declare class DefaultRenderer implements ToolRenderer {
4
- render(params: any | undefined, result: ToolResultMessage | undefined, isStreaming?: boolean): ToolRenderResult;
5
- }
6
- //# sourceMappingURL=DefaultRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultRenderer.d.ts","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/DefaultRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,qBAAa,eAAgB,YAAW,YAAY;IACnD,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,iBAAiB,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,gBAAgB;CA8F/G"}
@@ -1,94 +0,0 @@
1
- import { html } from "lit";
2
- import { Code } from "lucide";
3
- import { i18n } from "../../utils/i18n.js";
4
- import { renderHeader } from "../renderer-registry.js";
5
- export class DefaultRenderer {
6
- render(params, result, isStreaming) {
7
- const state = result ? (result.isError ? "error" : "complete") : isStreaming ? "inprogress" : "complete";
8
- // Format params as JSON
9
- let paramsJson = "";
10
- if (params) {
11
- try {
12
- paramsJson = JSON.stringify(JSON.parse(params), null, 2);
13
- }
14
- catch {
15
- try {
16
- paramsJson = JSON.stringify(params, null, 2);
17
- }
18
- catch {
19
- paramsJson = String(params);
20
- }
21
- }
22
- }
23
- // With result: show header + params + result
24
- if (result) {
25
- let outputJson = result.content
26
- ?.filter((c) => c.type === "text")
27
- .map((c) => c.text)
28
- .join("\n") || i18n("(no output)");
29
- let outputLanguage = "text";
30
- // Try to parse and pretty-print if it's valid JSON
31
- try {
32
- const parsed = JSON.parse(outputJson);
33
- outputJson = JSON.stringify(parsed, null, 2);
34
- outputLanguage = "json";
35
- }
36
- catch {
37
- // Not valid JSON, leave as-is and use text highlighting
38
- }
39
- return {
40
- content: html `
41
- <div class="space-y-3">
42
- ${renderHeader(state, Code, "Tool Call")}
43
- ${paramsJson
44
- ? html `<div>
45
- <div class="text-xs font-medium mb-1 text-muted-foreground">${i18n("Input")}</div>
46
- <code-block .code=${paramsJson} language="json"></code-block>
47
- </div>`
48
- : ""}
49
- <div>
50
- <div class="text-xs font-medium mb-1 text-muted-foreground">${i18n("Output")}</div>
51
- <code-block .code=${outputJson} language="${outputLanguage}"></code-block>
52
- </div>
53
- </div>
54
- `,
55
- isCustom: false,
56
- };
57
- }
58
- // Just params (streaming or waiting for result)
59
- if (params) {
60
- if (isStreaming && (!paramsJson || paramsJson === "{}" || paramsJson === "null")) {
61
- return {
62
- content: html `
63
- <div>
64
- ${renderHeader(state, Code, "Preparing tool parameters...")}
65
- </div>
66
- `,
67
- isCustom: false,
68
- };
69
- }
70
- return {
71
- content: html `
72
- <div class="space-y-3">
73
- ${renderHeader(state, Code, "Tool Call")}
74
- <div>
75
- <div class="text-xs font-medium mb-1 text-muted-foreground">${i18n("Input")}</div>
76
- <code-block .code=${paramsJson} language="json"></code-block>
77
- </div>
78
- </div>
79
- `,
80
- isCustom: false,
81
- };
82
- }
83
- // No params or result yet
84
- return {
85
- content: html `
86
- <div>
87
- ${renderHeader(state, Code, "Preparing tool...")}
88
- </div>
89
- `,
90
- isCustom: false,
91
- };
92
- }
93
- }
94
- //# sourceMappingURL=DefaultRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultRenderer.js","sourceRoot":"","sources":["../../../../src/webui/tools/renderers/DefaultRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { ToolResultMessage } from "../../../ai/index.js";
2
- import type { ToolRenderer, ToolRenderResult } from "../types.js";
3
- interface GetCurrentTimeParams {
4
- timezone?: string;
5
- }
6
- export declare class GetCurrentTimeRenderer implements ToolRenderer<GetCurrentTimeParams, undefined> {
7
- render(params: GetCurrentTimeParams | undefined, result: ToolResultMessage<undefined> | undefined): ToolRenderResult;
8
- }
9
- export {};
10
- //# sourceMappingURL=GetCurrentTimeRenderer.d.ts.map