@draht/web-ui 2026.3.2-2

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 (372) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/README.md +601 -0
  3. package/dist/ChatPanel.d.ts +28 -0
  4. package/dist/ChatPanel.d.ts.map +1 -0
  5. package/dist/ChatPanel.js +193 -0
  6. package/dist/ChatPanel.js.map +1 -0
  7. package/dist/app.css +2 -0
  8. package/dist/components/AgentInterface.d.ts +39 -0
  9. package/dist/components/AgentInterface.d.ts.map +1 -0
  10. package/dist/components/AgentInterface.js +384 -0
  11. package/dist/components/AgentInterface.js.map +1 -0
  12. package/dist/components/AttachmentTile.d.ts +12 -0
  13. package/dist/components/AttachmentTile.d.ts.map +1 -0
  14. package/dist/components/AttachmentTile.js +110 -0
  15. package/dist/components/AttachmentTile.js.map +1 -0
  16. package/dist/components/ConsoleBlock.d.ts +12 -0
  17. package/dist/components/ConsoleBlock.d.ts.map +1 -0
  18. package/dist/components/ConsoleBlock.js +81 -0
  19. package/dist/components/ConsoleBlock.js.map +1 -0
  20. package/dist/components/CustomProviderCard.d.ts +17 -0
  21. package/dist/components/CustomProviderCard.d.ts.map +1 -0
  22. package/dist/components/CustomProviderCard.js +112 -0
  23. package/dist/components/CustomProviderCard.js.map +1 -0
  24. package/dist/components/ExpandableSection.d.ts +15 -0
  25. package/dist/components/ExpandableSection.d.ts.map +1 -0
  26. package/dist/components/ExpandableSection.js +61 -0
  27. package/dist/components/ExpandableSection.js.map +1 -0
  28. package/dist/components/Input.d.ts +26 -0
  29. package/dist/components/Input.d.ts.map +1 -0
  30. package/dist/components/Input.js +57 -0
  31. package/dist/components/Input.js.map +1 -0
  32. package/dist/components/MessageEditor.d.ts +44 -0
  33. package/dist/components/MessageEditor.d.ts.map +1 -0
  34. package/dist/components/MessageEditor.js +418 -0
  35. package/dist/components/MessageEditor.js.map +1 -0
  36. package/dist/components/MessageList.d.ts +14 -0
  37. package/dist/components/MessageList.d.ts.map +1 -0
  38. package/dist/components/MessageList.js +104 -0
  39. package/dist/components/MessageList.js.map +1 -0
  40. package/dist/components/Messages.d.ts +95 -0
  41. package/dist/components/Messages.d.ts.map +1 -0
  42. package/dist/components/Messages.js +363 -0
  43. package/dist/components/Messages.js.map +1 -0
  44. package/dist/components/ProviderKeyInput.d.ts +16 -0
  45. package/dist/components/ProviderKeyInput.d.ts.map +1 -0
  46. package/dist/components/ProviderKeyInput.js +168 -0
  47. package/dist/components/ProviderKeyInput.js.map +1 -0
  48. package/dist/components/SandboxedIframe.d.ts +85 -0
  49. package/dist/components/SandboxedIframe.d.ts.map +1 -0
  50. package/dist/components/SandboxedIframe.js +518 -0
  51. package/dist/components/SandboxedIframe.js.map +1 -0
  52. package/dist/components/StreamingMessageContainer.d.ts +19 -0
  53. package/dist/components/StreamingMessageContainer.d.ts.map +1 -0
  54. package/dist/components/StreamingMessageContainer.js +117 -0
  55. package/dist/components/StreamingMessageContainer.js.map +1 -0
  56. package/dist/components/ThinkingBlock.d.ts +11 -0
  57. package/dist/components/ThinkingBlock.d.ts.map +1 -0
  58. package/dist/components/ThinkingBlock.js +56 -0
  59. package/dist/components/ThinkingBlock.js.map +1 -0
  60. package/dist/components/message-renderer-registry.d.ts +12 -0
  61. package/dist/components/message-renderer-registry.d.ts.map +1 -0
  62. package/dist/components/message-renderer-registry.js +12 -0
  63. package/dist/components/message-renderer-registry.js.map +1 -0
  64. package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts +35 -0
  65. package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +1 -0
  66. package/dist/components/sandbox/ArtifactsRuntimeProvider.js +192 -0
  67. package/dist/components/sandbox/ArtifactsRuntimeProvider.js.map +1 -0
  68. package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts +17 -0
  69. package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +1 -0
  70. package/dist/components/sandbox/AttachmentsRuntimeProvider.js +65 -0
  71. package/dist/components/sandbox/AttachmentsRuntimeProvider.js.map +1 -0
  72. package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts +42 -0
  73. package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map +1 -0
  74. package/dist/components/sandbox/ConsoleRuntimeProvider.js +159 -0
  75. package/dist/components/sandbox/ConsoleRuntimeProvider.js.map +1 -0
  76. package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts +30 -0
  77. package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +1 -0
  78. package/dist/components/sandbox/FileDownloadRuntimeProvider.js +95 -0
  79. package/dist/components/sandbox/FileDownloadRuntimeProvider.js.map +1 -0
  80. package/dist/components/sandbox/RuntimeMessageBridge.d.ts +19 -0
  81. package/dist/components/sandbox/RuntimeMessageBridge.d.ts.map +1 -0
  82. package/dist/components/sandbox/RuntimeMessageBridge.js +74 -0
  83. package/dist/components/sandbox/RuntimeMessageBridge.js.map +1 -0
  84. package/dist/components/sandbox/RuntimeMessageRouter.d.ts +65 -0
  85. package/dist/components/sandbox/RuntimeMessageRouter.d.ts.map +1 -0
  86. package/dist/components/sandbox/RuntimeMessageRouter.js +166 -0
  87. package/dist/components/sandbox/RuntimeMessageRouter.js.map +1 -0
  88. package/dist/components/sandbox/SandboxRuntimeProvider.d.ts +48 -0
  89. package/dist/components/sandbox/SandboxRuntimeProvider.d.ts.map +1 -0
  90. package/dist/components/sandbox/SandboxRuntimeProvider.js +2 -0
  91. package/dist/components/sandbox/SandboxRuntimeProvider.js.map +1 -0
  92. package/dist/dialogs/ApiKeyPromptDialog.d.ts +15 -0
  93. package/dist/dialogs/ApiKeyPromptDialog.d.ts.map +1 -0
  94. package/dist/dialogs/ApiKeyPromptDialog.js +77 -0
  95. package/dist/dialogs/ApiKeyPromptDialog.js.map +1 -0
  96. package/dist/dialogs/AttachmentOverlay.d.ts +32 -0
  97. package/dist/dialogs/AttachmentOverlay.d.ts.map +1 -0
  98. package/dist/dialogs/AttachmentOverlay.js +576 -0
  99. package/dist/dialogs/AttachmentOverlay.js.map +1 -0
  100. package/dist/dialogs/CustomProviderDialog.d.ts +25 -0
  101. package/dist/dialogs/CustomProviderDialog.d.ts.map +1 -0
  102. package/dist/dialogs/CustomProviderDialog.js +270 -0
  103. package/dist/dialogs/CustomProviderDialog.js.map +1 -0
  104. package/dist/dialogs/ModelSelector.d.ts +27 -0
  105. package/dist/dialogs/ModelSelector.d.ts.map +1 -0
  106. package/dist/dialogs/ModelSelector.js +320 -0
  107. package/dist/dialogs/ModelSelector.js.map +1 -0
  108. package/dist/dialogs/PersistentStorageDialog.d.ts +17 -0
  109. package/dist/dialogs/PersistentStorageDialog.d.ts.map +1 -0
  110. package/dist/dialogs/PersistentStorageDialog.js +144 -0
  111. package/dist/dialogs/PersistentStorageDialog.js.map +1 -0
  112. package/dist/dialogs/ProvidersModelsTab.d.ts +20 -0
  113. package/dist/dialogs/ProvidersModelsTab.d.ts.map +1 -0
  114. package/dist/dialogs/ProvidersModelsTab.js +188 -0
  115. package/dist/dialogs/ProvidersModelsTab.js.map +1 -0
  116. package/dist/dialogs/SessionListDialog.d.ts +19 -0
  117. package/dist/dialogs/SessionListDialog.d.ts.map +1 -0
  118. package/dist/dialogs/SessionListDialog.js +152 -0
  119. package/dist/dialogs/SessionListDialog.js.map +1 -0
  120. package/dist/dialogs/SettingsDialog.d.ts +30 -0
  121. package/dist/dialogs/SettingsDialog.d.ts.map +1 -0
  122. package/dist/dialogs/SettingsDialog.js +222 -0
  123. package/dist/dialogs/SettingsDialog.js.map +1 -0
  124. package/dist/index.d.ts +67 -0
  125. package/dist/index.d.ts.map +1 -0
  126. package/dist/index.js +70 -0
  127. package/dist/index.js.map +1 -0
  128. package/dist/prompts/prompts.d.ts +11 -0
  129. package/dist/prompts/prompts.d.ts.map +1 -0
  130. package/dist/prompts/prompts.js +272 -0
  131. package/dist/prompts/prompts.js.map +1 -0
  132. package/dist/storage/app-storage.d.ts +33 -0
  133. package/dist/storage/app-storage.d.ts.map +1 -0
  134. package/dist/storage/app-storage.js +43 -0
  135. package/dist/storage/app-storage.js.map +1 -0
  136. package/dist/storage/backends/indexeddb-storage-backend.d.ts +27 -0
  137. package/dist/storage/backends/indexeddb-storage-backend.d.ts.map +1 -0
  138. package/dist/storage/backends/indexeddb-storage-backend.js +167 -0
  139. package/dist/storage/backends/indexeddb-storage-backend.js.map +1 -0
  140. package/dist/storage/store.d.ts +23 -0
  141. package/dist/storage/store.d.ts.map +1 -0
  142. package/dist/storage/store.js +24 -0
  143. package/dist/storage/store.js.map +1 -0
  144. package/dist/storage/stores/custom-providers-store.d.ts +25 -0
  145. package/dist/storage/stores/custom-providers-store.d.ts.map +1 -0
  146. package/dist/storage/stores/custom-providers-store.js +35 -0
  147. package/dist/storage/stores/custom-providers-store.js.map +1 -0
  148. package/dist/storage/stores/provider-keys-store.d.ts +14 -0
  149. package/dist/storage/stores/provider-keys-store.d.ts.map +1 -0
  150. package/dist/storage/stores/provider-keys-store.js +27 -0
  151. package/dist/storage/stores/provider-keys-store.js.map +1 -0
  152. package/dist/storage/stores/sessions-store.d.ts +32 -0
  153. package/dist/storage/stores/sessions-store.d.ts.map +1 -0
  154. package/dist/storage/stores/sessions-store.js +113 -0
  155. package/dist/storage/stores/sessions-store.js.map +1 -0
  156. package/dist/storage/stores/settings-store.d.ts +14 -0
  157. package/dist/storage/stores/settings-store.d.ts.map +1 -0
  158. package/dist/storage/stores/settings-store.js +28 -0
  159. package/dist/storage/stores/settings-store.js.map +1 -0
  160. package/dist/storage/types.d.ts +176 -0
  161. package/dist/storage/types.d.ts.map +1 -0
  162. package/dist/storage/types.js +2 -0
  163. package/dist/storage/types.js.map +1 -0
  164. package/dist/tools/artifacts/ArtifactElement.d.ts +9 -0
  165. package/dist/tools/artifacts/ArtifactElement.d.ts.map +1 -0
  166. package/dist/tools/artifacts/ArtifactElement.js +8 -0
  167. package/dist/tools/artifacts/ArtifactElement.js.map +1 -0
  168. package/dist/tools/artifacts/ArtifactPill.d.ts +4 -0
  169. package/dist/tools/artifacts/ArtifactPill.d.ts.map +1 -0
  170. package/dist/tools/artifacts/ArtifactPill.js +23 -0
  171. package/dist/tools/artifacts/ArtifactPill.js.map +1 -0
  172. package/dist/tools/artifacts/Console.d.ts +18 -0
  173. package/dist/tools/artifacts/Console.d.ts.map +1 -0
  174. package/dist/tools/artifacts/Console.js +92 -0
  175. package/dist/tools/artifacts/Console.js.map +1 -0
  176. package/dist/tools/artifacts/DocxArtifact.d.ts +22 -0
  177. package/dist/tools/artifacts/DocxArtifact.d.ts.map +1 -0
  178. package/dist/tools/artifacts/DocxArtifact.js +205 -0
  179. package/dist/tools/artifacts/DocxArtifact.js.map +1 -0
  180. package/dist/tools/artifacts/ExcelArtifact.d.ts +24 -0
  181. package/dist/tools/artifacts/ExcelArtifact.d.ts.map +1 -0
  182. package/dist/tools/artifacts/ExcelArtifact.js +213 -0
  183. package/dist/tools/artifacts/ExcelArtifact.js.map +1 -0
  184. package/dist/tools/artifacts/GenericArtifact.d.ts +19 -0
  185. package/dist/tools/artifacts/GenericArtifact.d.ts.map +1 -0
  186. package/dist/tools/artifacts/GenericArtifact.js +114 -0
  187. package/dist/tools/artifacts/GenericArtifact.js.map +1 -0
  188. package/dist/tools/artifacts/HtmlArtifact.d.ts +27 -0
  189. package/dist/tools/artifacts/HtmlArtifact.d.ts.map +1 -0
  190. package/dist/tools/artifacts/HtmlArtifact.js +187 -0
  191. package/dist/tools/artifacts/HtmlArtifact.js.map +1 -0
  192. package/dist/tools/artifacts/ImageArtifact.d.ts +20 -0
  193. package/dist/tools/artifacts/ImageArtifact.d.ts.map +1 -0
  194. package/dist/tools/artifacts/ImageArtifact.js +117 -0
  195. package/dist/tools/artifacts/ImageArtifact.js.map +1 -0
  196. package/dist/tools/artifacts/MarkdownArtifact.d.ts +19 -0
  197. package/dist/tools/artifacts/MarkdownArtifact.d.ts.map +1 -0
  198. package/dist/tools/artifacts/MarkdownArtifact.js +79 -0
  199. package/dist/tools/artifacts/MarkdownArtifact.js.map +1 -0
  200. package/dist/tools/artifacts/PdfArtifact.d.ts +25 -0
  201. package/dist/tools/artifacts/PdfArtifact.d.ts.map +1 -0
  202. package/dist/tools/artifacts/PdfArtifact.js +181 -0
  203. package/dist/tools/artifacts/PdfArtifact.js.map +1 -0
  204. package/dist/tools/artifacts/SvgArtifact.d.ts +18 -0
  205. package/dist/tools/artifacts/SvgArtifact.d.ts.map +1 -0
  206. package/dist/tools/artifacts/SvgArtifact.js +75 -0
  207. package/dist/tools/artifacts/SvgArtifact.js.map +1 -0
  208. package/dist/tools/artifacts/TextArtifact.d.ts +19 -0
  209. package/dist/tools/artifacts/TextArtifact.d.ts.map +1 -0
  210. package/dist/tools/artifacts/TextArtifact.js +141 -0
  211. package/dist/tools/artifacts/TextArtifact.js.map +1 -0
  212. package/dist/tools/artifacts/artifacts-tool-renderer.d.ts +11 -0
  213. package/dist/tools/artifacts/artifacts-tool-renderer.d.ts.map +1 -0
  214. package/dist/tools/artifacts/artifacts-tool-renderer.js +273 -0
  215. package/dist/tools/artifacts/artifacts-tool-renderer.js.map +1 -0
  216. package/dist/tools/artifacts/artifacts.d.ts +63 -0
  217. package/dist/tools/artifacts/artifacts.d.ts.map +1 -0
  218. package/dist/tools/artifacts/artifacts.js +664 -0
  219. package/dist/tools/artifacts/artifacts.js.map +1 -0
  220. package/dist/tools/artifacts/index.d.ts +8 -0
  221. package/dist/tools/artifacts/index.d.ts.map +1 -0
  222. package/dist/tools/artifacts/index.js +8 -0
  223. package/dist/tools/artifacts/index.js.map +1 -0
  224. package/dist/tools/extract-document.d.ts +24 -0
  225. package/dist/tools/extract-document.d.ts.map +1 -0
  226. package/dist/tools/extract-document.js +216 -0
  227. package/dist/tools/extract-document.js.map +1 -0
  228. package/dist/tools/index.d.ts +16 -0
  229. package/dist/tools/index.d.ts.map +1 -0
  230. package/dist/tools/index.js +33 -0
  231. package/dist/tools/index.js.map +1 -0
  232. package/dist/tools/javascript-repl.d.ts +44 -0
  233. package/dist/tools/javascript-repl.d.ts.map +1 -0
  234. package/dist/tools/javascript-repl.js +224 -0
  235. package/dist/tools/javascript-repl.js.map +1 -0
  236. package/dist/tools/renderer-registry.d.ts +23 -0
  237. package/dist/tools/renderer-registry.d.ts.map +1 -0
  238. package/dist/tools/renderer-registry.js +107 -0
  239. package/dist/tools/renderer-registry.js.map +1 -0
  240. package/dist/tools/renderers/BashRenderer.d.ts +10 -0
  241. package/dist/tools/renderers/BashRenderer.d.ts.map +1 -0
  242. package/dist/tools/renderers/BashRenderer.js +42 -0
  243. package/dist/tools/renderers/BashRenderer.js.map +1 -0
  244. package/dist/tools/renderers/CalculateRenderer.d.ts +10 -0
  245. package/dist/tools/renderers/CalculateRenderer.d.ts.map +1 -0
  246. package/dist/tools/renderers/CalculateRenderer.js +45 -0
  247. package/dist/tools/renderers/CalculateRenderer.js.map +1 -0
  248. package/dist/tools/renderers/DefaultRenderer.d.ts +6 -0
  249. package/dist/tools/renderers/DefaultRenderer.d.ts.map +1 -0
  250. package/dist/tools/renderers/DefaultRenderer.js +94 -0
  251. package/dist/tools/renderers/DefaultRenderer.js.map +1 -0
  252. package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts +10 -0
  253. package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map +1 -0
  254. package/dist/tools/renderers/GetCurrentTimeRenderer.js +72 -0
  255. package/dist/tools/renderers/GetCurrentTimeRenderer.js.map +1 -0
  256. package/dist/tools/types.d.ts +10 -0
  257. package/dist/tools/types.d.ts.map +1 -0
  258. package/dist/tools/types.js +2 -0
  259. package/dist/tools/types.js.map +1 -0
  260. package/dist/utils/attachment-utils.d.ts +19 -0
  261. package/dist/utils/attachment-utils.d.ts.map +1 -0
  262. package/dist/utils/attachment-utils.js +415 -0
  263. package/dist/utils/attachment-utils.js.map +1 -0
  264. package/dist/utils/auth-token.d.ts +3 -0
  265. package/dist/utils/auth-token.d.ts.map +1 -0
  266. package/dist/utils/auth-token.js +19 -0
  267. package/dist/utils/auth-token.js.map +1 -0
  268. package/dist/utils/format.d.ts +6 -0
  269. package/dist/utils/format.d.ts.map +1 -0
  270. package/dist/utils/format.js +47 -0
  271. package/dist/utils/format.js.map +1 -0
  272. package/dist/utils/i18n.d.ts +636 -0
  273. package/dist/utils/i18n.d.ts.map +1 -0
  274. package/dist/utils/i18n.js +418 -0
  275. package/dist/utils/i18n.js.map +1 -0
  276. package/dist/utils/model-discovery.d.ts +38 -0
  277. package/dist/utils/model-discovery.d.ts.map +1 -0
  278. package/dist/utils/model-discovery.js +243 -0
  279. package/dist/utils/model-discovery.js.map +1 -0
  280. package/dist/utils/proxy-utils.d.ts +45 -0
  281. package/dist/utils/proxy-utils.d.ts.map +1 -0
  282. package/dist/utils/proxy-utils.js +116 -0
  283. package/dist/utils/proxy-utils.js.map +1 -0
  284. package/dist/utils/test-sessions.d.ts +359 -0
  285. package/dist/utils/test-sessions.d.ts.map +1 -0
  286. package/dist/utils/test-sessions.js +2325 -0
  287. package/dist/utils/test-sessions.js.map +1 -0
  288. package/example/README.md +61 -0
  289. package/example/index.html +13 -0
  290. package/example/package.json +25 -0
  291. package/example/src/app.css +1 -0
  292. package/example/src/custom-messages.ts +99 -0
  293. package/example/src/env.d.ts +1 -0
  294. package/example/src/main.ts +421 -0
  295. package/example/tsconfig.json +23 -0
  296. package/example/vite.config.ts +6 -0
  297. package/package.json +53 -0
  298. package/scripts/count-prompt-tokens.ts +88 -0
  299. package/src/ChatPanel.ts +207 -0
  300. package/src/app.css +68 -0
  301. package/src/components/AgentInterface.ts +388 -0
  302. package/src/components/AttachmentTile.ts +107 -0
  303. package/src/components/ConsoleBlock.ts +72 -0
  304. package/src/components/CustomProviderCard.ts +100 -0
  305. package/src/components/ExpandableSection.ts +46 -0
  306. package/src/components/Input.ts +113 -0
  307. package/src/components/MessageEditor.ts +400 -0
  308. package/src/components/MessageList.ts +95 -0
  309. package/src/components/Messages.ts +383 -0
  310. package/src/components/ProviderKeyInput.ts +153 -0
  311. package/src/components/SandboxedIframe.ts +626 -0
  312. package/src/components/StreamingMessageContainer.ts +103 -0
  313. package/src/components/ThinkingBlock.ts +43 -0
  314. package/src/components/message-renderer-registry.ts +28 -0
  315. package/src/components/sandbox/ArtifactsRuntimeProvider.ts +219 -0
  316. package/src/components/sandbox/AttachmentsRuntimeProvider.ts +66 -0
  317. package/src/components/sandbox/ConsoleRuntimeProvider.ts +186 -0
  318. package/src/components/sandbox/FileDownloadRuntimeProvider.ts +110 -0
  319. package/src/components/sandbox/RuntimeMessageBridge.ts +82 -0
  320. package/src/components/sandbox/RuntimeMessageRouter.ts +216 -0
  321. package/src/components/sandbox/SandboxRuntimeProvider.ts +52 -0
  322. package/src/dialogs/ApiKeyPromptDialog.ts +75 -0
  323. package/src/dialogs/AttachmentOverlay.ts +636 -0
  324. package/src/dialogs/CustomProviderDialog.ts +274 -0
  325. package/src/dialogs/ModelSelector.ts +313 -0
  326. package/src/dialogs/PersistentStorageDialog.ts +144 -0
  327. package/src/dialogs/ProvidersModelsTab.ts +212 -0
  328. package/src/dialogs/SessionListDialog.ts +150 -0
  329. package/src/dialogs/SettingsDialog.ts +214 -0
  330. package/src/index.ts +119 -0
  331. package/src/prompts/prompts.ts +282 -0
  332. package/src/storage/app-storage.ts +60 -0
  333. package/src/storage/backends/indexeddb-storage-backend.ts +193 -0
  334. package/src/storage/store.ts +33 -0
  335. package/src/storage/stores/custom-providers-store.ts +62 -0
  336. package/src/storage/stores/provider-keys-store.ts +33 -0
  337. package/src/storage/stores/sessions-store.ts +136 -0
  338. package/src/storage/stores/settings-store.ts +34 -0
  339. package/src/storage/types.ts +206 -0
  340. package/src/tools/artifacts/ArtifactElement.ts +14 -0
  341. package/src/tools/artifacts/ArtifactPill.ts +26 -0
  342. package/src/tools/artifacts/Console.ts +93 -0
  343. package/src/tools/artifacts/DocxArtifact.ts +213 -0
  344. package/src/tools/artifacts/ExcelArtifact.ts +231 -0
  345. package/src/tools/artifacts/GenericArtifact.ts +117 -0
  346. package/src/tools/artifacts/HtmlArtifact.ts +195 -0
  347. package/src/tools/artifacts/ImageArtifact.ts +116 -0
  348. package/src/tools/artifacts/MarkdownArtifact.ts +82 -0
  349. package/src/tools/artifacts/PdfArtifact.ts +201 -0
  350. package/src/tools/artifacts/SvgArtifact.ts +78 -0
  351. package/src/tools/artifacts/TextArtifact.ts +148 -0
  352. package/src/tools/artifacts/artifacts-tool-renderer.ts +310 -0
  353. package/src/tools/artifacts/artifacts.ts +713 -0
  354. package/src/tools/artifacts/index.ts +7 -0
  355. package/src/tools/extract-document.ts +275 -0
  356. package/src/tools/index.ts +46 -0
  357. package/src/tools/javascript-repl.ts +293 -0
  358. package/src/tools/renderer-registry.ts +130 -0
  359. package/src/tools/renderers/BashRenderer.ts +52 -0
  360. package/src/tools/renderers/CalculateRenderer.ts +58 -0
  361. package/src/tools/renderers/DefaultRenderer.ts +103 -0
  362. package/src/tools/renderers/GetCurrentTimeRenderer.ts +92 -0
  363. package/src/tools/types.ts +15 -0
  364. package/src/utils/attachment-utils.ts +472 -0
  365. package/src/utils/auth-token.ts +22 -0
  366. package/src/utils/format.ts +42 -0
  367. package/src/utils/i18n.ts +653 -0
  368. package/src/utils/model-discovery.ts +277 -0
  369. package/src/utils/proxy-utils.ts +134 -0
  370. package/src/utils/test-sessions.ts +2357 -0
  371. package/tsconfig.build.json +20 -0
  372. package/tsconfig.json +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/tools/artifacts/artifacts.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAY,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAEpG,OAAO,EACN,yCAAyC,EACzC,0BAA0B,EAC1B,+BAA+B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD,sDAAsD;AACtD,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QAC7E,WAAW,EAAE,0BAA0B;KACvC,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IACxG,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAC9F,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC,CAAC;CAC/F,CAAC,CAAC;AAII,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAC5B,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,eAAe,GAAkB,IAAI,CAAC;IAEvD,6CAA6C;IACrC,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtD,UAAU,GAAwB,SAAS,EAAE,CAAC;IAEtD,iEAAiE;IACjC,KAAK,CAAS;IAC9C,yDAAyD;IACzB,kBAAkB,CAAgB;IAClE,YAAY;IACoB,iBAAiB,CAAc;IAC/B,OAAO,CAAc;IACrB,MAAM,CAAc;IACpD,0EAA0E;IAC7C,SAAS,GAAG,KAAK,CAAC;IAC/C,sEAAsE;IACzC,OAAO,GAAG,KAAK,CAAC;IAE7C,8BAA8B;IAC9B,IAAI,SAAS,GAAG;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAAA,CACvB;IAED,gFAAgF;IACxE,+BAA+B,GAA6B;QACnE,MAAM,SAAS,GAA6B,EAAE,CAAC;QAE/C,sCAAsC;QACtC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,WAAW,GAAiB,EAAE,CAAC;YACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACrE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;QAED,mCAAmC;QACnC,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAEtE,OAAO,SAAS,CAAC;IAAA,CACjB;IAEkB,gBAAgB,GAAmC;QACrE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAA/B,CACZ;IAEQ,iBAAiB,GAAS;QAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,6EAA6E;QAC7E,qBAAqB,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,aAAa;oBAAE,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3D,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAAA,CACzE,CAAC,CAAC;QAAA,CACH,CAAC,CAAC;IAAA,CACH;IAEQ,oBAAoB,GAAG;QAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,yEAAyE;IAD5C,CAE7B;IAED,+CAA+C;IACvC,WAAW,CAClB,QAAgB,EACwE;QACxF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QACrD,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC1D,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,OAAO,CAAC;QACpD,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAClC,IACC,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YAEb,OAAO,OAAO,CAAC;QAChB,aAAa;QACb,IACC,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,IAAI;YACZ,GAAG,KAAK,IAAI;YACZ,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,IAAI;YACZ,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,GAAG;YACX,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,GAAG;YACX,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,IAAI;YAEZ,OAAO,MAAM,CAAC;QACf,wCAAwC;QACxC,OAAO,SAAS,CAAC;IAAA,CACjB;IAED,iCAAiC;IACzB,0BAA0B,CAAC,QAAgB,EAAE,OAAe,EAAmB;QACtF,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC5B,OAAwB,CAAC,gBAAgB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACpF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,OAAwB,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACxE,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAC7B,CAAC;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAC7B,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YAC9B,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAE9B,gBAAgB;YAChB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE7C,uEAAuE;YACvE,MAAM,UAAU,GAAG,OAAO,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACP,qBAAqB,CAAC,GAAG,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;wBACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC/C,CAAC;gBAAA,CACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;aAAM,CAAC;YACP,sBAAsB;YACtB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,IAAI,OAAO,YAAY,YAAY,EAAE,CAAC;gBACrC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACnE,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAAA,CACf;IAED,8BAA8B;IACtB,YAAY,CAAC,QAAgB,EAAE;QACtC,0CAA0C;QAC1C,qBAAqB,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBACrD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAAA,CAC7D,CAAC,CAAC;QAAA,CACH,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,0BAA0B;QAEhD,+CAA+C;QAC/C,qBAAqB,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAC;YAC/E,IAAI,YAAY,EAAE,CAAC;gBAClB,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzF,CAAC;QAAA,CACD,CAAC,CAAC;IAAA,CACH;IAED,mDAAmD;IAC5C,YAAY,CAAC,QAAgB,EAAE;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,iEAAiE;YACjE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACjB,CAAC;IAAA,CACD;IAED,uEAAuE;IACvE,IAAW,IAAI,GAAuD;QACrE,OAAO;YACN,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW;YACjB,IAAI,WAAW,GAAG;gBACjB,oEAAoE;gBACpE,MAAM,2BAA2B,GAAG;oBACnC,+BAA+B;oBAC/B,yCAAyC;iBACzC,CAAC;gBACF,OAAO,0BAA0B,CAAC,2BAA2B,CAAC,CAAC;YAAA,CAC/D;YACD,UAAU,EAAE,qBAAqB;YACjC,6DAA6D;YAC7D,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,IAA0C,EAAE,OAAqB,EAAE,EAAE,CAAC;gBAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAAA,CACzE;SACD,CAAC;IAAA,CACF;IAED,mEAAmE;IAC5D,KAAK,CAAC,uBAAuB,CACnC,QAA0E,EAC1D;QAChB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,MAAM,gBAAgB,GAAG,WAAW,CAAC;QAErC,gDAAgD;QAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBAClE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAChC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,6DAA6D;QAC7D,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAK,CAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,CAAoB,CAAC;gBACzC,QAAQ,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC5B,KAAK,QAAQ;wBACZ,UAAU,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;yBAC5B,CAAC,CAAC;wBACH,MAAM;oBACP,KAAK,QAAQ;wBACZ,UAAU,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,SAAS;4BAClB,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;yBAC5B,CAAC,CAAC;wBACH,MAAM;oBACP,KAAK,QAAQ;wBACZ,UAAU,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,QAAQ;4BACjB,QAAQ,EAAE,WAAW,CAAC,QAAQ;yBAC9B,CAAC,CAAC;wBACH,MAAM;gBACR,CAAC;YACF,CAAC;YACD,0DAA0D;iBACrD,IAAK,CAAS,CAAC,IAAI,KAAK,YAAY,IAAK,CAAS,CAAC,QAAQ,KAAK,gBAAgB,IAAI,CAAE,CAAS,CAAC,OAAO,EAAE,CAAC;gBAC9G,MAAM,UAAU,GAAI,CAAS,CAAC,UAAoB,CAAC;gBACnD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAA4B,CAAC;gBACjD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;oBAAE,SAAS,CAAC,kBAAkB;gBACvF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;QAED,yEAAyE;QACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;YAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,QAAQ,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;wBAChB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,SAAS,EAAE,CAAC;oBAChB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;wBAChB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACf,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,CAAC,QAAQ;wBAAE,MAAM,CAAC,gEAAgE;oBACtF,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;wBACpD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACxC,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACf,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChC,MAAM;gBACP,CAAC;gBACD,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACV,uCAAuC;oBACvC,MAAM;YACR,CAAC;QACF,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YACrC,EAAE,CAAC,MAAM,EAAE,CAAC;QAAA,CACZ,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,6FAA6F;QAC7F,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAoB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAW,CAAC;YACxF,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACR,wCAAwC;YACzC,CAAC;QACF,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IAAA,CACrB;IAED,wBAAwB;IAChB,KAAK,CAAC,cAAc,CAC3B,MAAuB,EACvB,OAAO,GAA6C,EAAE,EACpC;QAClB,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,QAAQ;gBACZ,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,QAAQ;gBACZ,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,SAAS;gBACb,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,KAAK,KAAK;gBACT,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,KAAK,MAAM;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B;gBACC,8CAA8C;gBAC9C,OAAO,0BAA2B,MAAc,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;IAAA,CACD;IAED,gDAAgD;IACxC,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAmB;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,OAAO,YAAY,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,mEAAmE;YACnE,UAAU,CAAC,GAAG,EAAE,CAAC;gBAChB,4BAA4B;gBAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;YAAA,CACd,EAAE,IAAI,CAAC,CAAC;QAAA,CACT,CAAC,CAAC;IAAA,CACH;IAED,+DAA+D;IACvD,sBAAsB,GAAG;QAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,YAAY,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACvE,sDAAsD;gBACtD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBAClE,8BAA8B;gBAC9B,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QAAA,CACD,CAAC,CAAC;IAAA,CACH;IAEO,KAAK,CAAC,cAAc,CAC3B,MAAuB,EACvB,OAAO,GAA6C,EAAE,EACpC;QAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,qDAAqD,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,eAAe,MAAM,CAAC,QAAQ,iBAAiB,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAa;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,qCAAqC;QACrC,IAAI,MAAM,GAAG,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAAA,CACd;IAEO,KAAK,CAAC,cAAc,CAC3B,MAAuB,EACvB,OAAO,GAA6C,EAAE,EACpC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,eAAe,MAAM,CAAC,QAAQ,6CAA6C,CAAC;YAC3G,OAAO,eAAe,MAAM,CAAC,QAAQ,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,oDAAoD,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO,iEAAiE,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5F,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/C,iBAAiB;QACjB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnC,6EAA6E;QAC7E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,qCAAqC;QACrC,IAAI,MAAM,GAAG,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAAA,CACd;IAEO,KAAK,CAAC,eAAe,CAC5B,MAAuB,EACvB,OAAO,GAA6C,EAAE,EACpC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,eAAe,MAAM,CAAC,QAAQ,6CAA6C,CAAC;YAC3G,OAAO,eAAe,MAAM,CAAC,QAAQ,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,yCAAyC,CAAC;QAClD,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/C,iBAAiB;QACjB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnC,+EAA+E;QAC/E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,qCAAqC;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAAA,CACd;IAEO,WAAW,CAAC,MAAuB,EAAU;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,eAAe,MAAM,CAAC,QAAQ,6CAA6C,CAAC;YAC3G,OAAO,eAAe,MAAM,CAAC,QAAQ,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAAA,CACxB;IAEO,cAAc,CAAC,MAAuB,EAAU;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,eAAe,MAAM,CAAC,QAAQ,6CAA6C,CAAC;YAC3G,OAAO,eAAe,MAAM,CAAC,QAAQ,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,oFAAoF;QACpF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,OAAO,gBAAgB,MAAM,CAAC,QAAQ,EAAE,CAAC;IAAA,CACzC;IAEO,OAAO,CAAC,MAAuB,EAAU;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,eAAe,MAAM,CAAC,QAAQ,6CAA6C,CAAC;YAC3G,OAAO,eAAe,MAAM,CAAC,QAAQ,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,YAAY,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,eAAe,MAAM,CAAC,QAAQ,+DAA+D,CAAC;QACtG,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAAA,CACzB;IAEQ,MAAM,GAAmB;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,gEAAgE;QAChE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAE1D,OAAO,IAAI,CAAA;;aAEA,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0EAA0E,CAAC,CAAC,CAAC,UAC7F,4DACC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAC5C;;;;;QAKI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC;YACrD,MAAM,WAAW,GAAG,QAAQ;gBAC3B,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,gEAAgE,CAAC;YACpE,OAAO,IAAI,CAAA;;yDAEuC,WAAW;0BAC1C,CAAC,CAAC,QAAQ;kBAClB,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;;2CAEV,CAAC,CAAC,QAAQ;;QAE7C,CAAC;QAAA,CACF,CAAC;;;QAGA,CAAC,GAAG,EAAE,CAAC;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAAA,CAC/C,CAAC,EAAE;QACF,MAAM,CAAC;YACR,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;SACvB,CAAC;;;;;0CAKkC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;;GAE3D,CAAC;IAAA,CACF;CACD,CAAA;AA5oBiB;IAAhB,KAAK,EAAE;kDAAkD;AACzC;IAAhB,KAAK,EAAE;uDAA+C;AAOvB;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;6CAAe;AAEd;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;0DAAmC;AAElC;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;yDAAgC;AAC/B;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+CAAsB;AACrB;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8CAAqB;AAEvB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDAAmB;AAElB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CAAiB;AAnBjC,cAAc;IAD1B,aAAa,CAAC,iBAAiB,CAAC;GACpB,cAAc,CA6oB1B"}
@@ -0,0 +1,8 @@
1
+ export { ArtifactElement } from "./ArtifactElement.js";
2
+ export { type Artifact, ArtifactsPanel, type ArtifactsParams } from "./artifacts.js";
3
+ export { ArtifactsToolRenderer } from "./artifacts-tool-renderer.js";
4
+ export { HtmlArtifact } from "./HtmlArtifact.js";
5
+ export { MarkdownArtifact } from "./MarkdownArtifact.js";
6
+ export { SvgArtifact } from "./SvgArtifact.js";
7
+ export { TextArtifact } from "./TextArtifact.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,QAAQ,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { ArtifactElement } from "./ArtifactElement.js";
2
+ export { ArtifactsPanel } from "./artifacts.js";
3
+ export { ArtifactsToolRenderer } from "./artifacts-tool-renderer.js";
4
+ export { HtmlArtifact } from "./HtmlArtifact.js";
5
+ export { MarkdownArtifact } from "./MarkdownArtifact.js";
6
+ export { SvgArtifact } from "./SvgArtifact.js";
7
+ export { TextArtifact } from "./TextArtifact.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/artifacts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAiB,cAAc,EAAwB,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { AgentTool } from "@draht/agent-core";
2
+ import { type Static } from "@sinclair/typebox";
3
+ import type { ToolRenderer } from "./types.js";
4
+ declare const extractDocumentSchema: import("@sinclair/typebox").TObject<{
5
+ url: import("@sinclair/typebox").TString;
6
+ }>;
7
+ export type ExtractDocumentParams = Static<typeof extractDocumentSchema>;
8
+ export interface ExtractDocumentResult {
9
+ extractedText: string;
10
+ format: string;
11
+ fileName: string;
12
+ size: number;
13
+ }
14
+ export declare function createExtractDocumentTool(): AgentTool<typeof extractDocumentSchema, ExtractDocumentResult> & {
15
+ corsProxyUrl?: string;
16
+ };
17
+ export declare const extractDocumentTool: AgentTool<import("@sinclair/typebox").TObject<{
18
+ url: import("@sinclair/typebox").TString;
19
+ }>, ExtractDocumentResult> & {
20
+ corsProxyUrl?: string | undefined;
21
+ };
22
+ export declare const extractDocumentRenderer: ToolRenderer<ExtractDocumentParams, ExtractDocumentResult>;
23
+ export {};
24
+ //# sourceMappingURL=extract-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-document.d.ts","sourceRoot":"","sources":["../../src/tools/extract-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAQtD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAMjE,QAAA,MAAM,qBAAqB;;EAIzB,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,MAAM,WAAW,qBAAqB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAMD,wBAAgB,yBAAyB,IAAI,SAAS,CAAC,OAAO,qBAAqB,EAAE,qBAAqB,CAAC,GAAG;IAC7G,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CA+IA;AAGD,eAAO,MAAM,mBAAmB;;;;CAA8B,CAAC;AAM/D,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,qBAAqB,EAAE,qBAAqB,CAkF9F,CAAC"}
@@ -0,0 +1,216 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { html } from "lit";
3
+ import { createRef, ref } from "lit/directives/ref.js";
4
+ import { FileText } from "lucide";
5
+ import { EXTRACT_DOCUMENT_DESCRIPTION } from "../prompts/prompts.js";
6
+ import { loadAttachment } from "../utils/attachment-utils.js";
7
+ import { isCorsError } from "../utils/proxy-utils.js";
8
+ import { registerToolRenderer, renderCollapsibleHeader, renderHeader } from "./renderer-registry.js";
9
+ // ============================================================================
10
+ // TYPES
11
+ // ============================================================================
12
+ const extractDocumentSchema = Type.Object({
13
+ url: Type.String({
14
+ description: "URL of the document to extract text from (PDF, DOCX, XLSX, or PPTX)",
15
+ }),
16
+ });
17
+ // ============================================================================
18
+ // TOOL
19
+ // ============================================================================
20
+ export function createExtractDocumentTool() {
21
+ const tool = {
22
+ label: "Extract Document",
23
+ name: "extract_document",
24
+ corsProxyUrl: undefined, // Can be set by consumer (e.g., from user settings)
25
+ description: EXTRACT_DOCUMENT_DESCRIPTION,
26
+ parameters: extractDocumentSchema,
27
+ execute: async (_toolCallId, args, signal) => {
28
+ if (signal?.aborted) {
29
+ throw new Error("Extract document aborted");
30
+ }
31
+ const url = args.url.trim();
32
+ if (!url) {
33
+ throw new Error("URL is required");
34
+ }
35
+ // Validate URL format
36
+ try {
37
+ new URL(url);
38
+ }
39
+ catch {
40
+ throw new Error(`Invalid URL: ${url}`);
41
+ }
42
+ // Size limit: 50MB
43
+ const MAX_SIZE = 50 * 1024 * 1024;
44
+ // Helper function to fetch and process document
45
+ const fetchAndProcess = async (fetchUrl) => {
46
+ const response = await fetch(fetchUrl, { signal });
47
+ if (!response.ok) {
48
+ throw new Error(`TELL USER: Unable to download the document (${response.status} ${response.statusText}). The site likely blocks automated downloads.\n\n` +
49
+ `INSTRUCT USER: Please download the file manually and attach it to your message using the attachment button (paperclip icon) in the message input area. I can then extract the text from the attached file.`);
50
+ }
51
+ // Check size before downloading
52
+ const contentLength = response.headers.get("content-length");
53
+ if (contentLength) {
54
+ const size = Number.parseInt(contentLength, 10);
55
+ if (size > MAX_SIZE) {
56
+ throw new Error(`Document is too large (${(size / 1024 / 1024).toFixed(1)}MB). Maximum supported size is 50MB.`);
57
+ }
58
+ }
59
+ // Download the document
60
+ const arrayBuffer = await response.arrayBuffer();
61
+ const size = arrayBuffer.byteLength;
62
+ if (size > MAX_SIZE) {
63
+ throw new Error(`Document is too large (${(size / 1024 / 1024).toFixed(1)}MB). Maximum supported size is 50MB.`);
64
+ }
65
+ return arrayBuffer;
66
+ };
67
+ // Try without proxy first, fallback to proxy on CORS error
68
+ let arrayBuffer;
69
+ try {
70
+ // Attempt direct fetch first
71
+ arrayBuffer = await fetchAndProcess(url);
72
+ }
73
+ catch (directError) {
74
+ // If CORS error and proxy is available, retry with proxy
75
+ if (isCorsError(directError) && tool.corsProxyUrl) {
76
+ try {
77
+ const proxiedUrl = tool.corsProxyUrl + encodeURIComponent(url);
78
+ arrayBuffer = await fetchAndProcess(proxiedUrl);
79
+ }
80
+ catch (proxyError) {
81
+ // Proxy fetch also failed - throw helpful message
82
+ throw new Error(`TELL USER: Unable to fetch the document due to CORS restrictions.\n\n` +
83
+ `Tried with proxy but it also failed: ${proxyError.message}\n\n` +
84
+ `INSTRUCT USER: Please download the file manually and attach it to your message using the attachment button (paperclip icon) in the message input area. I can then extract the text from the attached file.`);
85
+ }
86
+ }
87
+ else if (isCorsError(directError) && !tool.corsProxyUrl) {
88
+ // CORS error but no proxy configured
89
+ throw new Error(`TELL USER: Unable to fetch the document due to CORS restrictions (the server blocks requests from browser extensions).\n\n` +
90
+ `To fix this, you need to configure a CORS proxy in Sitegeist settings:\n` +
91
+ `1. Open Sitegeist settings\n` +
92
+ `2. Find "CORS Proxy URL" setting\n` +
93
+ `3. Enter a proxy URL like: https://corsproxy.io/?\n` +
94
+ `4. Save and try again\n\n` +
95
+ `Alternatively, download the file manually and attach it to your message using the attachment button (paperclip icon).`);
96
+ }
97
+ else {
98
+ // Not a CORS error - re-throw
99
+ throw directError;
100
+ }
101
+ }
102
+ // Extract filename from URL
103
+ const urlParts = url.split("/");
104
+ let fileName = urlParts[urlParts.length - 1]?.split("?")[0] || "document";
105
+ if (url.startsWith("https://arxiv.org/")) {
106
+ fileName = `${fileName}.pdf`;
107
+ }
108
+ // Use loadAttachment to process the document
109
+ const attachment = await loadAttachment(arrayBuffer, fileName);
110
+ if (!attachment.extractedText) {
111
+ throw new Error(`Document format not supported. Supported formats:\n` +
112
+ `- PDF (.pdf)\n` +
113
+ `- Word (.docx)\n` +
114
+ `- Excel (.xlsx, .xls)\n` +
115
+ `- PowerPoint (.pptx)`);
116
+ }
117
+ // Determine format from attachment
118
+ let format = "unknown";
119
+ if (attachment.mimeType.includes("pdf")) {
120
+ format = "pdf";
121
+ }
122
+ else if (attachment.mimeType.includes("wordprocessingml")) {
123
+ format = "docx";
124
+ }
125
+ else if (attachment.mimeType.includes("spreadsheetml") || attachment.mimeType.includes("ms-excel")) {
126
+ format = "xlsx";
127
+ }
128
+ else if (attachment.mimeType.includes("presentationml")) {
129
+ format = "pptx";
130
+ }
131
+ return {
132
+ content: [{ type: "text", text: attachment.extractedText }],
133
+ details: {
134
+ extractedText: attachment.extractedText,
135
+ format,
136
+ fileName: attachment.fileName,
137
+ size: attachment.size,
138
+ },
139
+ };
140
+ },
141
+ };
142
+ return tool;
143
+ }
144
+ // Export a default instance
145
+ export const extractDocumentTool = createExtractDocumentTool();
146
+ // ============================================================================
147
+ // RENDERER
148
+ // ============================================================================
149
+ export const extractDocumentRenderer = {
150
+ render(params, result, isStreaming) {
151
+ // Determine status
152
+ const state = result ? (result.isError ? "error" : "complete") : isStreaming ? "inprogress" : "complete";
153
+ // Create refs for collapsible sections
154
+ const contentRef = createRef();
155
+ const chevronRef = createRef();
156
+ // With result: show params + result
157
+ if (result && params) {
158
+ const details = result.details;
159
+ const title = details
160
+ ? result.isError
161
+ ? `Failed to extract ${details.fileName || "document"}`
162
+ : `Extracted text from ${details.fileName} (${details.format.toUpperCase()}, ${(details.size / 1024).toFixed(1)}KB)`
163
+ : result.isError
164
+ ? "Failed to extract document"
165
+ : "Extracted text from document";
166
+ const output = result.content
167
+ ?.filter((c) => c.type === "text")
168
+ .map((c) => c.text)
169
+ .join("\n") || "";
170
+ return {
171
+ content: html `
172
+ <div>
173
+ ${renderCollapsibleHeader(state, FileText, title, contentRef, chevronRef, false)}
174
+ <div ${ref(contentRef)} class="max-h-0 overflow-hidden transition-all duration-300 space-y-3">
175
+ ${params.url
176
+ ? html `<div class="text-sm text-gray-600 dark:text-gray-400">
177
+ <strong>URL:</strong> ${params.url}
178
+ </div>`
179
+ : ""}
180
+ ${output && !result.isError
181
+ ? html `<code-block .code=${output} language="plaintext"></code-block>`
182
+ : ""}
183
+ ${result.isError && output
184
+ ? html `<console-block .content=${output} .variant=${"error"}></console-block>`
185
+ : ""}
186
+ </div>
187
+ </div>
188
+ `,
189
+ isCustom: false,
190
+ };
191
+ }
192
+ // Just params (streaming or waiting for result)
193
+ if (params) {
194
+ const title = "Extracting document...";
195
+ return {
196
+ content: html `
197
+ <div>
198
+ ${renderCollapsibleHeader(state, FileText, title, contentRef, chevronRef, false)}
199
+ <div ${ref(contentRef)} class="max-h-0 overflow-hidden transition-all duration-300">
200
+ <div class="text-sm text-gray-600 dark:text-gray-400"><strong>URL:</strong> ${params.url}</div>
201
+ </div>
202
+ </div>
203
+ `,
204
+ isCustom: false,
205
+ };
206
+ }
207
+ // No params or result yet
208
+ return {
209
+ content: renderHeader(state, FileText, "Preparing extraction..."),
210
+ isCustom: false,
211
+ };
212
+ },
213
+ };
214
+ // Auto-register the renderer
215
+ registerToolRenderer("extract_document", extractDocumentRenderer);
216
+ //# sourceMappingURL=extract-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-document.js","sourceRoot":"","sources":["../../src/tools/extract-document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ToolResultMessage } from "@draht/ai";
2
+ import "./javascript-repl.js";
3
+ import "./extract-document.js";
4
+ import { getToolRenderer, registerToolRenderer } from "./renderer-registry.js";
5
+ import type { ToolRenderResult } from "./types.js";
6
+ /**
7
+ * Enable or disable show JSON mode
8
+ * When enabled, all tool renderers will use the default JSON renderer
9
+ */
10
+ export declare function setShowJsonMode(enabled: boolean): void;
11
+ /**
12
+ * Render tool - unified function that handles params, result, and streaming state
13
+ */
14
+ export declare function renderTool(toolName: string, params: any | undefined, result: ToolResultMessage | undefined, isStreaming?: boolean): ToolRenderResult;
15
+ export { getToolRenderer, registerToolRenderer };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GAAG,SAAS,EACvB,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,WAAW,CAAC,EAAE,OAAO,GACnB,gBAAgB,CAWlB;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import "./javascript-repl.js"; // Auto-registers the renderer
2
+ import "./extract-document.js"; // Auto-registers the renderer
3
+ import { getToolRenderer, registerToolRenderer } from "./renderer-registry.js";
4
+ import { BashRenderer } from "./renderers/BashRenderer.js";
5
+ import { DefaultRenderer } from "./renderers/DefaultRenderer.js";
6
+ // Register all built-in tool renderers
7
+ registerToolRenderer("bash", new BashRenderer());
8
+ const defaultRenderer = new DefaultRenderer();
9
+ // Global flag to force default JSON rendering for all tools
10
+ let showJsonMode = false;
11
+ /**
12
+ * Enable or disable show JSON mode
13
+ * When enabled, all tool renderers will use the default JSON renderer
14
+ */
15
+ export function setShowJsonMode(enabled) {
16
+ showJsonMode = enabled;
17
+ }
18
+ /**
19
+ * Render tool - unified function that handles params, result, and streaming state
20
+ */
21
+ export function renderTool(toolName, params, result, isStreaming) {
22
+ // If showJsonMode is enabled, always use the default renderer
23
+ if (showJsonMode) {
24
+ return defaultRenderer.render(params, result, isStreaming);
25
+ }
26
+ const renderer = getToolRenderer(toolName);
27
+ if (renderer) {
28
+ return renderer.render(params, result, isStreaming);
29
+ }
30
+ return defaultRenderer.render(params, result, isStreaming);
31
+ }
32
+ export { getToolRenderer, registerToolRenderer };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC,CAAC,8BAA8B;AAC7D,OAAO,uBAAuB,CAAC,CAAC,8BAA8B;AAC9D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,uCAAuC;AACvC,oBAAoB,CAAC,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;AAEjD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,4DAA4D;AAC5D,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAQ;IACvD,YAAY,GAAG,OAAO,CAAC;AAAA,CACvB;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACzB,QAAgB,EAChB,MAAuB,EACvB,MAAqC,EACrC,WAAqB,EACF;IACnB,8DAA8D;IAC9D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAAA,CAC3D;AAED,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AgentTool } from "@draht/agent-core";
2
+ import { type Static } from "@sinclair/typebox";
3
+ import { type SandboxFile } from "../components/SandboxedIframe.js";
4
+ import type { SandboxRuntimeProvider } from "../components/sandbox/SandboxRuntimeProvider.js";
5
+ import type { ToolRenderer } from "./types.js";
6
+ export declare function executeJavaScript(code: string, runtimeProviders: SandboxRuntimeProvider[], signal?: AbortSignal, sandboxUrlProvider?: () => string): Promise<{
7
+ output: string;
8
+ files?: SandboxFile[];
9
+ }>;
10
+ export type JavaScriptReplToolResult = {
11
+ files?: {
12
+ fileName: string;
13
+ contentBase64: string;
14
+ mimeType: string;
15
+ }[] | undefined;
16
+ };
17
+ declare const javascriptReplSchema: import("@sinclair/typebox").TObject<{
18
+ title: import("@sinclair/typebox").TString;
19
+ code: import("@sinclair/typebox").TString;
20
+ }>;
21
+ export type JavaScriptReplParams = Static<typeof javascriptReplSchema>;
22
+ interface JavaScriptReplResult {
23
+ output?: string;
24
+ files?: Array<{
25
+ fileName: string;
26
+ mimeType: string;
27
+ size: number;
28
+ contentBase64: string;
29
+ }>;
30
+ }
31
+ export declare function createJavaScriptReplTool(): AgentTool<typeof javascriptReplSchema, JavaScriptReplToolResult> & {
32
+ runtimeProvidersFactory?: () => SandboxRuntimeProvider[];
33
+ sandboxUrlProvider?: () => string;
34
+ };
35
+ export declare const javascriptReplTool: AgentTool<import("@sinclair/typebox").TObject<{
36
+ title: import("@sinclair/typebox").TString;
37
+ code: import("@sinclair/typebox").TString;
38
+ }>, JavaScriptReplToolResult> & {
39
+ runtimeProvidersFactory?: (() => SandboxRuntimeProvider[]) | undefined;
40
+ sandboxUrlProvider?: (() => string) | undefined;
41
+ };
42
+ export declare const javascriptReplRenderer: ToolRenderer<JavaScriptReplParams, JavaScriptReplResult>;
43
+ export {};
44
+ //# sourceMappingURL=javascript-repl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-repl.d.ts","sourceRoot":"","sources":["../../src/tools/javascript-repl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAItD,OAAO,EAAE,KAAK,WAAW,EAAqC,MAAM,kCAAkC,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAI9F,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAGjE,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,sBAAsB,EAAE,EAC1C,MAAM,CAAC,EAAE,WAAW,EACpB,kBAAkB,CAAC,EAAE,MAAM,MAAM,GAC/B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CA2EpD;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,KAAK,CAAC,EACH;QACA,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAChB,EAAE,GACH,SAAS,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,oBAAoB;;;EAMxB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,UAAU,oBAAoB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACH;AAED,wBAAgB,wBAAwB,IAAI,SAAS,CAAC,OAAO,oBAAoB,EAAE,wBAAwB,CAAC,GAAG;IAC9G,uBAAuB,CAAC,EAAE,MAAM,sBAAsB,EAAE,CAAC;IACzD,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC,CAgEA;AAGD,eAAO,MAAM,kBAAkB;;;;;;CAA6B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,oBAAoB,EAAE,oBAAoB,CA0F3F,CAAC"}