@mariozechner/pi-web-ui 0.5.44 → 0.5.46

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 (346) hide show
  1. package/README.md +178 -99
  2. package/dist/ChatPanel.d.ts +15 -10
  3. package/dist/ChatPanel.d.ts.map +1 -1
  4. package/dist/ChatPanel.js +68 -100
  5. package/dist/ChatPanel.js.map +1 -1
  6. package/dist/{state/agent-session.d.ts → agent/agent.d.ts} +23 -19
  7. package/dist/agent/agent.d.ts.map +1 -0
  8. package/dist/{state/agent-session.js → agent/agent.js} +50 -32
  9. package/dist/agent/agent.js.map +1 -0
  10. package/dist/{state → agent}/transports/AppTransport.d.ts +1 -3
  11. package/dist/agent/transports/AppTransport.d.ts.map +1 -0
  12. package/dist/{state → agent}/transports/AppTransport.js +5 -4
  13. package/dist/{state → agent}/transports/AppTransport.js.map +1 -1
  14. package/dist/{state → agent}/transports/ProviderTransport.d.ts +1 -3
  15. package/dist/agent/transports/ProviderTransport.d.ts.map +1 -0
  16. package/dist/{state → agent}/transports/ProviderTransport.js +6 -7
  17. package/dist/agent/transports/ProviderTransport.js.map +1 -0
  18. package/dist/{state → agent}/transports/index.d.ts.map +1 -1
  19. package/dist/agent/transports/index.js.map +1 -0
  20. package/dist/{state → agent}/transports/proxy-types.d.ts.map +1 -1
  21. package/dist/agent/transports/proxy-types.js.map +1 -0
  22. package/dist/agent/transports/types.d.ts +12 -0
  23. package/dist/agent/transports/types.d.ts.map +1 -0
  24. package/dist/{state → agent}/transports/types.js.map +1 -1
  25. package/dist/{state → agent}/types.d.ts.map +1 -1
  26. package/dist/{state → agent}/types.js.map +1 -1
  27. package/dist/app.css +1 -1
  28. package/dist/components/AgentInterface.d.ts +7 -4
  29. package/dist/components/AgentInterface.d.ts.map +1 -1
  30. package/dist/components/AgentInterface.js +29 -17
  31. package/dist/components/AgentInterface.js.map +1 -1
  32. package/dist/components/ConsoleBlock.d.ts +1 -0
  33. package/dist/components/ConsoleBlock.d.ts.map +1 -1
  34. package/dist/components/ConsoleBlock.js +7 -1
  35. package/dist/components/ConsoleBlock.js.map +1 -1
  36. package/dist/components/ExpandableSection.d.ts +15 -0
  37. package/dist/components/ExpandableSection.d.ts.map +1 -0
  38. package/dist/components/ExpandableSection.js +63 -0
  39. package/dist/components/ExpandableSection.js.map +1 -0
  40. package/dist/components/MessageEditor.d.ts +8 -1
  41. package/dist/components/MessageEditor.d.ts.map +1 -1
  42. package/dist/components/MessageEditor.js +149 -6
  43. package/dist/components/MessageEditor.js.map +1 -1
  44. package/dist/components/MessageList.d.ts +3 -2
  45. package/dist/components/MessageList.d.ts.map +1 -1
  46. package/dist/components/MessageList.js +14 -1
  47. package/dist/components/MessageList.js.map +1 -1
  48. package/dist/components/Messages.d.ts +15 -6
  49. package/dist/components/Messages.d.ts.map +1 -1
  50. package/dist/components/Messages.js +17 -83
  51. package/dist/components/Messages.js.map +1 -1
  52. package/dist/components/ProviderKeyInput.d.ts.map +1 -1
  53. package/dist/components/ProviderKeyInput.js +6 -5
  54. package/dist/components/ProviderKeyInput.js.map +1 -1
  55. package/dist/components/SandboxedIframe.d.ts +29 -7
  56. package/dist/components/SandboxedIframe.d.ts.map +1 -1
  57. package/dist/components/SandboxedIframe.js +350 -282
  58. package/dist/components/SandboxedIframe.js.map +1 -1
  59. package/dist/components/message-renderer-registry.d.ts +12 -0
  60. package/dist/components/message-renderer-registry.d.ts.map +1 -0
  61. package/dist/components/message-renderer-registry.js +12 -0
  62. package/dist/components/message-renderer-registry.js.map +1 -0
  63. package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts +35 -0
  64. package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +1 -0
  65. package/dist/components/sandbox/ArtifactsRuntimeProvider.js +189 -0
  66. package/dist/components/sandbox/ArtifactsRuntimeProvider.js.map +1 -0
  67. package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts +17 -0
  68. package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +1 -0
  69. package/dist/components/sandbox/AttachmentsRuntimeProvider.js +64 -0
  70. package/dist/components/sandbox/AttachmentsRuntimeProvider.js.map +1 -0
  71. package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts +42 -0
  72. package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map +1 -0
  73. package/dist/components/sandbox/ConsoleRuntimeProvider.js +161 -0
  74. package/dist/components/sandbox/ConsoleRuntimeProvider.js.map +1 -0
  75. package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts +30 -0
  76. package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +1 -0
  77. package/dist/components/sandbox/FileDownloadRuntimeProvider.js +97 -0
  78. package/dist/components/sandbox/FileDownloadRuntimeProvider.js.map +1 -0
  79. package/dist/components/sandbox/RuntimeMessageBridge.d.ts +19 -0
  80. package/dist/components/sandbox/RuntimeMessageBridge.d.ts.map +1 -0
  81. package/dist/components/sandbox/RuntimeMessageBridge.js +74 -0
  82. package/dist/components/sandbox/RuntimeMessageBridge.js.map +1 -0
  83. package/dist/components/sandbox/RuntimeMessageRouter.d.ts +65 -0
  84. package/dist/components/sandbox/RuntimeMessageRouter.d.ts.map +1 -0
  85. package/dist/components/sandbox/RuntimeMessageRouter.js +168 -0
  86. package/dist/components/sandbox/RuntimeMessageRouter.js.map +1 -0
  87. package/dist/components/sandbox/SandboxRuntimeProvider.d.ts +33 -0
  88. package/dist/components/sandbox/SandboxRuntimeProvider.d.ts.map +1 -0
  89. package/dist/components/sandbox/SandboxRuntimeProvider.js +2 -0
  90. package/dist/components/sandbox/SandboxRuntimeProvider.js.map +1 -0
  91. package/dist/dialogs/ApiKeyPromptDialog.d.ts.map +1 -1
  92. package/dist/dialogs/ApiKeyPromptDialog.js +2 -5
  93. package/dist/dialogs/ApiKeyPromptDialog.js.map +1 -1
  94. package/dist/dialogs/ModelSelector.js.map +1 -1
  95. package/dist/dialogs/PersistentStorageDialog.d.ts +17 -0
  96. package/dist/dialogs/PersistentStorageDialog.d.ts.map +1 -0
  97. package/dist/dialogs/PersistentStorageDialog.js +144 -0
  98. package/dist/dialogs/PersistentStorageDialog.js.map +1 -0
  99. package/dist/dialogs/SessionListDialog.d.ts +19 -0
  100. package/dist/dialogs/SessionListDialog.d.ts.map +1 -0
  101. package/dist/dialogs/SessionListDialog.js +152 -0
  102. package/dist/dialogs/SessionListDialog.js.map +1 -0
  103. package/dist/dialogs/SettingsDialog.d.ts.map +1 -1
  104. package/dist/dialogs/SettingsDialog.js +1 -0
  105. package/dist/dialogs/SettingsDialog.js.map +1 -1
  106. package/dist/index.d.ts +34 -16
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +32 -14
  109. package/dist/index.js.map +1 -1
  110. package/dist/prompts/prompts.d.ts +11 -0
  111. package/dist/prompts/prompts.d.ts.map +1 -0
  112. package/dist/prompts/prompts.js +272 -0
  113. package/dist/prompts/prompts.js.map +1 -0
  114. package/dist/storage/app-storage.d.ts +17 -12
  115. package/dist/storage/app-storage.d.ts.map +1 -1
  116. package/dist/storage/app-storage.js +13 -20
  117. package/dist/storage/app-storage.js.map +1 -1
  118. package/dist/storage/backends/indexeddb-storage-backend.d.ts +27 -0
  119. package/dist/storage/backends/indexeddb-storage-backend.d.ts.map +1 -0
  120. package/dist/storage/backends/indexeddb-storage-backend.js +166 -0
  121. package/dist/storage/backends/indexeddb-storage-backend.js.map +1 -0
  122. package/dist/storage/store.d.ts +23 -0
  123. package/dist/storage/store.d.ts.map +1 -0
  124. package/dist/storage/store.js +26 -0
  125. package/dist/storage/store.js.map +1 -0
  126. package/dist/storage/stores/provider-keys-store.d.ts +14 -0
  127. package/dist/storage/stores/provider-keys-store.d.ts.map +1 -0
  128. package/dist/storage/stores/provider-keys-store.js +27 -0
  129. package/dist/storage/stores/provider-keys-store.js.map +1 -0
  130. package/dist/storage/stores/sessions-store.d.ts +31 -0
  131. package/dist/storage/stores/sessions-store.d.ts.map +1 -0
  132. package/dist/storage/stores/sessions-store.js +113 -0
  133. package/dist/storage/stores/sessions-store.js.map +1 -0
  134. package/dist/storage/stores/settings-store.d.ts +14 -0
  135. package/dist/storage/stores/settings-store.d.ts.map +1 -0
  136. package/dist/storage/stores/settings-store.js +28 -0
  137. package/dist/storage/stores/settings-store.js.map +1 -0
  138. package/dist/storage/types.d.ts +156 -22
  139. package/dist/storage/types.d.ts.map +1 -1
  140. package/dist/tools/artifacts/ArtifactElement.d.ts +0 -1
  141. package/dist/tools/artifacts/ArtifactElement.d.ts.map +1 -1
  142. package/dist/tools/artifacts/ArtifactElement.js +0 -1
  143. package/dist/tools/artifacts/ArtifactElement.js.map +1 -1
  144. package/dist/tools/artifacts/ArtifactPill.d.ts +4 -0
  145. package/dist/tools/artifacts/ArtifactPill.d.ts.map +1 -0
  146. package/dist/tools/artifacts/ArtifactPill.js +22 -0
  147. package/dist/tools/artifacts/ArtifactPill.js.map +1 -0
  148. package/dist/tools/artifacts/Console.d.ts +18 -0
  149. package/dist/tools/artifacts/Console.d.ts.map +1 -0
  150. package/dist/tools/artifacts/Console.js +95 -0
  151. package/dist/tools/artifacts/Console.js.map +1 -0
  152. package/dist/tools/artifacts/DocxArtifact.d.ts +22 -0
  153. package/dist/tools/artifacts/DocxArtifact.d.ts.map +1 -0
  154. package/dist/tools/artifacts/DocxArtifact.js +208 -0
  155. package/dist/tools/artifacts/DocxArtifact.js.map +1 -0
  156. package/dist/tools/artifacts/ExcelArtifact.d.ts +24 -0
  157. package/dist/tools/artifacts/ExcelArtifact.d.ts.map +1 -0
  158. package/dist/tools/artifacts/ExcelArtifact.js +216 -0
  159. package/dist/tools/artifacts/ExcelArtifact.js.map +1 -0
  160. package/dist/tools/artifacts/GenericArtifact.d.ts +19 -0
  161. package/dist/tools/artifacts/GenericArtifact.d.ts.map +1 -0
  162. package/dist/tools/artifacts/GenericArtifact.js +117 -0
  163. package/dist/tools/artifacts/GenericArtifact.js.map +1 -0
  164. package/dist/tools/artifacts/HtmlArtifact.d.ts +8 -11
  165. package/dist/tools/artifacts/HtmlArtifact.d.ts.map +1 -1
  166. package/dist/tools/artifacts/HtmlArtifact.js +56 -88
  167. package/dist/tools/artifacts/HtmlArtifact.js.map +1 -1
  168. package/dist/tools/artifacts/ImageArtifact.d.ts +20 -0
  169. package/dist/tools/artifacts/ImageArtifact.d.ts.map +1 -0
  170. package/dist/tools/artifacts/ImageArtifact.js +120 -0
  171. package/dist/tools/artifacts/ImageArtifact.js.map +1 -0
  172. package/dist/tools/artifacts/MarkdownArtifact.d.ts +0 -1
  173. package/dist/tools/artifacts/MarkdownArtifact.d.ts.map +1 -1
  174. package/dist/tools/artifacts/MarkdownArtifact.js +0 -4
  175. package/dist/tools/artifacts/MarkdownArtifact.js.map +1 -1
  176. package/dist/tools/artifacts/PdfArtifact.d.ts +25 -0
  177. package/dist/tools/artifacts/PdfArtifact.d.ts.map +1 -0
  178. package/dist/tools/artifacts/PdfArtifact.js +184 -0
  179. package/dist/tools/artifacts/PdfArtifact.js.map +1 -0
  180. package/dist/tools/artifacts/SvgArtifact.d.ts +0 -1
  181. package/dist/tools/artifacts/SvgArtifact.d.ts.map +1 -1
  182. package/dist/tools/artifacts/SvgArtifact.js +0 -4
  183. package/dist/tools/artifacts/SvgArtifact.js.map +1 -1
  184. package/dist/tools/artifacts/TextArtifact.d.ts +0 -1
  185. package/dist/tools/artifacts/TextArtifact.d.ts.map +1 -1
  186. package/dist/tools/artifacts/TextArtifact.js +0 -4
  187. package/dist/tools/artifacts/TextArtifact.js.map +1 -1
  188. package/dist/tools/artifacts/artifacts-tool-renderer.d.ts +11 -0
  189. package/dist/tools/artifacts/artifacts-tool-renderer.d.ts.map +1 -0
  190. package/dist/tools/artifacts/artifacts-tool-renderer.js +262 -0
  191. package/dist/tools/artifacts/artifacts-tool-renderer.js.map +1 -0
  192. package/dist/tools/artifacts/artifacts.d.ts +10 -13
  193. package/dist/tools/artifacts/artifacts.d.ts.map +1 -1
  194. package/dist/tools/artifacts/artifacts.js +166 -344
  195. package/dist/tools/artifacts/artifacts.js.map +1 -1
  196. package/dist/tools/artifacts/index.d.ts +1 -0
  197. package/dist/tools/artifacts/index.d.ts.map +1 -1
  198. package/dist/tools/artifacts/index.js +1 -0
  199. package/dist/tools/artifacts/index.js.map +1 -1
  200. package/dist/tools/extract-document.d.ts +24 -0
  201. package/dist/tools/extract-document.d.ts.map +1 -0
  202. package/dist/tools/extract-document.js +193 -0
  203. package/dist/tools/extract-document.js.map +1 -0
  204. package/dist/tools/index.d.ts +9 -7
  205. package/dist/tools/index.d.ts.map +1 -1
  206. package/dist/tools/index.js +17 -13
  207. package/dist/tools/index.js.map +1 -1
  208. package/dist/tools/javascript-repl.d.ts +16 -15
  209. package/dist/tools/javascript-repl.d.ts.map +1 -1
  210. package/dist/tools/javascript-repl.js +101 -133
  211. package/dist/tools/javascript-repl.js.map +1 -1
  212. package/dist/tools/renderer-registry.d.ts +12 -0
  213. package/dist/tools/renderer-registry.d.ts.map +1 -1
  214. package/dist/tools/renderer-registry.js +78 -0
  215. package/dist/tools/renderer-registry.js.map +1 -1
  216. package/dist/tools/renderers/BashRenderer.d.ts +2 -4
  217. package/dist/tools/renderers/BashRenderer.d.ts.map +1 -1
  218. package/dist/tools/renderers/BashRenderer.js +30 -26
  219. package/dist/tools/renderers/BashRenderer.js.map +1 -1
  220. package/dist/tools/renderers/CalculateRenderer.d.ts +2 -4
  221. package/dist/tools/renderers/CalculateRenderer.d.ts.map +1 -1
  222. package/dist/tools/renderers/CalculateRenderer.js +32 -28
  223. package/dist/tools/renderers/CalculateRenderer.js.map +1 -1
  224. package/dist/tools/renderers/DefaultRenderer.d.ts +2 -4
  225. package/dist/tools/renderers/DefaultRenderer.d.ts.map +1 -1
  226. package/dist/tools/renderers/DefaultRenderer.js +78 -18
  227. package/dist/tools/renderers/DefaultRenderer.js.map +1 -1
  228. package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts +2 -4
  229. package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map +1 -1
  230. package/dist/tools/renderers/GetCurrentTimeRenderer.js +57 -21
  231. package/dist/tools/renderers/GetCurrentTimeRenderer.js.map +1 -1
  232. package/dist/tools/types.d.ts +5 -2
  233. package/dist/tools/types.d.ts.map +1 -1
  234. package/dist/utils/i18n.d.ts +424 -1
  235. package/dist/utils/i18n.d.ts.map +1 -1
  236. package/dist/utils/i18n.js +131 -7
  237. package/dist/utils/i18n.js.map +1 -1
  238. package/example/package.json +2 -1
  239. package/example/src/custom-messages.ts +112 -0
  240. package/example/src/main.ts +391 -38
  241. package/package.json +48 -43
  242. package/scripts/count-prompt-tokens.ts +88 -0
  243. package/src/ChatPanel.ts +93 -101
  244. package/src/{state/agent-session.ts → agent/agent.ts} +80 -55
  245. package/src/{state → agent}/transports/AppTransport.ts +6 -6
  246. package/src/{state → agent}/transports/ProviderTransport.ts +13 -7
  247. package/src/{state → agent}/transports/types.ts +8 -2
  248. package/src/components/AgentInterface.ts +32 -16
  249. package/src/components/ConsoleBlock.ts +5 -1
  250. package/src/components/ExpandableSection.ts +46 -0
  251. package/src/components/MessageEditor.ts +159 -5
  252. package/src/components/MessageList.ts +18 -3
  253. package/src/components/Messages.ts +48 -89
  254. package/src/components/ProviderKeyInput.ts +6 -5
  255. package/src/components/SandboxedIframe.ts +412 -321
  256. package/src/components/message-renderer-registry.ts +28 -0
  257. package/src/components/sandbox/ArtifactsRuntimeProvider.ts +219 -0
  258. package/src/components/sandbox/AttachmentsRuntimeProvider.ts +66 -0
  259. package/src/components/sandbox/ConsoleRuntimeProvider.ts +187 -0
  260. package/src/components/sandbox/FileDownloadRuntimeProvider.ts +110 -0
  261. package/src/components/sandbox/RuntimeMessageBridge.ts +82 -0
  262. package/src/components/sandbox/RuntimeMessageRouter.ts +216 -0
  263. package/src/components/sandbox/SandboxRuntimeProvider.ts +35 -0
  264. package/src/dialogs/ApiKeyPromptDialog.ts +2 -5
  265. package/src/dialogs/ModelSelector.ts +2 -2
  266. package/src/dialogs/PersistentStorageDialog.ts +141 -0
  267. package/src/dialogs/SessionListDialog.ts +148 -0
  268. package/src/dialogs/SettingsDialog.ts +1 -0
  269. package/src/index.ts +61 -20
  270. package/src/prompts/prompts.ts +282 -0
  271. package/src/storage/app-storage.ts +27 -24
  272. package/src/storage/backends/indexeddb-storage-backend.ts +193 -0
  273. package/src/storage/store.ts +33 -0
  274. package/src/storage/stores/provider-keys-store.ts +33 -0
  275. package/src/storage/stores/sessions-store.ts +130 -0
  276. package/src/storage/stores/settings-store.ts +34 -0
  277. package/src/storage/types.ts +182 -22
  278. package/src/tools/artifacts/ArtifactElement.ts +0 -1
  279. package/src/tools/artifacts/ArtifactPill.ts +25 -0
  280. package/src/tools/artifacts/Console.ts +93 -0
  281. package/src/tools/artifacts/DocxArtifact.ts +213 -0
  282. package/src/tools/artifacts/ExcelArtifact.ts +231 -0
  283. package/src/tools/artifacts/GenericArtifact.ts +117 -0
  284. package/src/tools/artifacts/HtmlArtifact.ts +64 -94
  285. package/src/tools/artifacts/ImageArtifact.ts +116 -0
  286. package/src/tools/artifacts/MarkdownArtifact.ts +0 -1
  287. package/src/tools/artifacts/PdfArtifact.ts +201 -0
  288. package/src/tools/artifacts/SvgArtifact.ts +0 -1
  289. package/src/tools/artifacts/TextArtifact.ts +0 -1
  290. package/src/tools/artifacts/artifacts-tool-renderer.ts +298 -0
  291. package/src/tools/artifacts/artifacts.ts +190 -366
  292. package/src/tools/artifacts/index.ts +1 -0
  293. package/src/tools/extract-document.ts +250 -0
  294. package/src/tools/index.ts +25 -14
  295. package/src/tools/javascript-repl.ts +138 -160
  296. package/src/tools/renderer-registry.ts +98 -0
  297. package/src/tools/renderers/BashRenderer.ts +33 -30
  298. package/src/tools/renderers/CalculateRenderer.ts +36 -31
  299. package/src/tools/renderers/DefaultRenderer.ts +84 -21
  300. package/src/tools/renderers/GetCurrentTimeRenderer.ts +68 -23
  301. package/src/tools/types.ts +10 -2
  302. package/src/utils/i18n.ts +203 -8
  303. package/dist/state/agent-session.d.ts.map +0 -1
  304. package/dist/state/agent-session.js.map +0 -1
  305. package/dist/state/transports/AppTransport.d.ts.map +0 -1
  306. package/dist/state/transports/ProviderTransport.d.ts.map +0 -1
  307. package/dist/state/transports/ProviderTransport.js.map +0 -1
  308. package/dist/state/transports/index.js.map +0 -1
  309. package/dist/state/transports/proxy-types.js.map +0 -1
  310. package/dist/state/transports/types.d.ts +0 -11
  311. package/dist/state/transports/types.d.ts.map +0 -1
  312. package/dist/storage/backends/chrome-storage-backend.d.ts +0 -18
  313. package/dist/storage/backends/chrome-storage-backend.d.ts.map +0 -1
  314. package/dist/storage/backends/chrome-storage-backend.js +0 -67
  315. package/dist/storage/backends/chrome-storage-backend.js.map +0 -1
  316. package/dist/storage/backends/indexeddb-backend.d.ts +0 -20
  317. package/dist/storage/backends/indexeddb-backend.d.ts.map +0 -1
  318. package/dist/storage/backends/indexeddb-backend.js +0 -89
  319. package/dist/storage/backends/indexeddb-backend.js.map +0 -1
  320. package/dist/storage/backends/local-storage-backend.d.ts +0 -18
  321. package/dist/storage/backends/local-storage-backend.d.ts.map +0 -1
  322. package/dist/storage/backends/local-storage-backend.js +0 -69
  323. package/dist/storage/backends/local-storage-backend.js.map +0 -1
  324. package/dist/storage/repositories/provider-keys-repository.d.ts +0 -34
  325. package/dist/storage/repositories/provider-keys-repository.d.ts.map +0 -1
  326. package/dist/storage/repositories/provider-keys-repository.js +0 -50
  327. package/dist/storage/repositories/provider-keys-repository.js.map +0 -1
  328. package/dist/storage/repositories/settings-repository.d.ts +0 -34
  329. package/dist/storage/repositories/settings-repository.d.ts.map +0 -1
  330. package/dist/storage/repositories/settings-repository.js +0 -46
  331. package/dist/storage/repositories/settings-repository.js.map +0 -1
  332. package/src/storage/backends/chrome-storage-backend.ts +0 -82
  333. package/src/storage/backends/indexeddb-backend.ts +0 -107
  334. package/src/storage/backends/local-storage-backend.ts +0 -74
  335. package/src/storage/repositories/provider-keys-repository.ts +0 -55
  336. package/src/storage/repositories/settings-repository.ts +0 -51
  337. /package/dist/{state → agent}/transports/index.d.ts +0 -0
  338. /package/dist/{state → agent}/transports/index.js +0 -0
  339. /package/dist/{state → agent}/transports/proxy-types.d.ts +0 -0
  340. /package/dist/{state → agent}/transports/proxy-types.js +0 -0
  341. /package/dist/{state → agent}/transports/types.js +0 -0
  342. /package/dist/{state → agent}/types.d.ts +0 -0
  343. /package/dist/{state → agent}/types.js +0 -0
  344. /package/src/{state → agent}/transports/index.ts +0 -0
  345. /package/src/{state → agent}/transports/proxy-types.ts +0 -0
  346. /package/src/{state → agent}/types.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { defaultEnglish, defaultGerman, setTranslations } from "@mariozechner/mini-lit";
2
- const translations = {
2
+ export const translations = {
3
3
  en: {
4
4
  ...defaultEnglish,
5
5
  Free: "Free",
@@ -41,6 +41,11 @@ const translations = {
41
41
  "Failed to load PDF": "Failed to load PDF",
42
42
  "Failed to load document": "Failed to load document",
43
43
  "Failed to load spreadsheet": "Failed to load spreadsheet",
44
+ "Error loading PDF": "Error loading PDF",
45
+ "Error loading document": "Error loading document",
46
+ "Error loading spreadsheet": "Error loading spreadsheet",
47
+ "Preview not available for this file type.": "Preview not available for this file type.",
48
+ "Click the download button above to view it on your computer.": "Click the download button above to view it on your computer.",
44
49
  "No content available": "No content available",
45
50
  "Failed to display text content": "Failed to display text content",
46
51
  "API keys are required to use AI models. Get your keys from the provider's website.": "API keys are required to use AI models. Get your keys from the provider's website.",
@@ -58,13 +63,17 @@ const translations = {
58
63
  "No session set": "No session set",
59
64
  "Preparing tool parameters...": "Preparing tool parameters...",
60
65
  "(no output)": "(no output)",
66
+ Input: "Input",
67
+ Output: "Output",
68
+ "Waiting for expression...": "Waiting for expression...",
61
69
  "Writing expression...": "Writing expression...",
62
70
  Calculating: "Calculating",
63
71
  "Getting current time in": "Getting current time in",
64
72
  "Getting current date and time": "Getting current date and time",
73
+ "Waiting for command...": "Waiting for command...",
65
74
  "Writing command...": "Writing command...",
66
- "Running command:": "Running command:",
67
- "Command failed:": "Command failed:",
75
+ "Running command...": "Running command...",
76
+ "Command failed": "Command failed",
68
77
  "Enter Auth Token": "Enter Auth Token",
69
78
  "Please enter your auth token.": "Please enter your auth token.",
70
79
  "Auth token is required for proxy transport": "Auth token is required for proxy transport",
@@ -78,19 +87,43 @@ const translations = {
78
87
  "JavaScript code to execute": "JavaScript code to execute",
79
88
  "Writing JavaScript code...": "Writing JavaScript code...",
80
89
  "Executing JavaScript": "Executing JavaScript",
90
+ "Preparing JavaScript...": "Preparing JavaScript...",
91
+ "Preparing command...": "Preparing command...",
92
+ "Preparing calculation...": "Preparing calculation...",
93
+ "Preparing tool...": "Preparing tool...",
94
+ "Getting time...": "Getting time...",
81
95
  // Artifacts strings
82
96
  "Processing artifact...": "Processing artifact...",
97
+ "Preparing artifact...": "Preparing artifact...",
98
+ "Processing artifact": "Processing artifact",
99
+ "Processed artifact": "Processed artifact",
100
+ "Creating artifact": "Creating artifact",
101
+ "Created artifact": "Created artifact",
102
+ "Updating artifact": "Updating artifact",
103
+ "Updated artifact": "Updated artifact",
104
+ "Rewriting artifact": "Rewriting artifact",
105
+ "Rewrote artifact": "Rewrote artifact",
106
+ "Getting artifact": "Getting artifact",
107
+ "Got artifact": "Got artifact",
108
+ "Deleting artifact": "Deleting artifact",
109
+ "Deleted artifact": "Deleted artifact",
110
+ "Getting logs": "Getting logs",
111
+ "Got logs": "Got logs",
112
+ "An error occurred": "An error occurred",
113
+ "Copy logs": "Copy logs",
114
+ "Autoscroll enabled": "Autoscroll enabled",
115
+ "Autoscroll disabled": "Autoscroll disabled",
83
116
  Processing: "Processing",
84
117
  Create: "Create",
85
118
  Rewrite: "Rewrite",
86
119
  Get: "Get",
87
- Delete: "Delete",
88
120
  "Get logs": "Get logs",
89
121
  "Show artifacts": "Show artifacts",
90
122
  "Close artifacts": "Close artifacts",
91
123
  Artifacts: "Artifacts",
92
124
  "Copy HTML": "Copy HTML",
93
125
  "Download HTML": "Download HTML",
126
+ "Reload HTML": "Reload HTML",
94
127
  "Copy SVG": "Copy SVG",
95
128
  "Download SVG": "Download SVG",
96
129
  "Copy Markdown": "Copy Markdown",
@@ -108,6 +141,35 @@ const translations = {
108
141
  "API Key Required": "API Key Required",
109
142
  "Enter your API key for {provider}": "Enter your API key for {provider}",
110
143
  "The CORS proxy strips CORS headers from API responses, allowing browser-based apps to make direct calls to LLM providers without CORS restrictions. It forwards requests to providers while removing headers that would otherwise block cross-origin requests.": "The CORS proxy strips CORS headers from API responses, allowing browser-based apps to make direct calls to LLM providers without CORS restrictions. It forwards requests to providers while removing headers that would otherwise block cross-origin requests.",
144
+ Off: "Off",
145
+ Minimal: "Minimal",
146
+ Low: "Low",
147
+ Medium: "Medium",
148
+ High: "High",
149
+ "Storage Permission Required": "Storage Permission Required",
150
+ "This app needs persistent storage to save your conversations": "This app needs persistent storage to save your conversations",
151
+ "Why is this needed?": "Why is this needed?",
152
+ "Without persistent storage, your browser may delete saved conversations when it needs disk space. Granting this permission ensures your chat history is preserved.": "Without persistent storage, your browser may delete saved conversations when it needs disk space. Granting this permission ensures your chat history is preserved.",
153
+ "What this means:": "What this means:",
154
+ "Your conversations will be saved locally in your browser": "Your conversations will be saved locally in your browser",
155
+ "Data will not be deleted automatically to free up space": "Data will not be deleted automatically to free up space",
156
+ "You can still manually clear data at any time": "You can still manually clear data at any time",
157
+ "No data is sent to external servers": "No data is sent to external servers",
158
+ "Continue Anyway": "Continue Anyway",
159
+ "Requesting...": "Requesting...",
160
+ "Grant Permission": "Grant Permission",
161
+ Sessions: "Sessions",
162
+ "Load a previous conversation": "Load a previous conversation",
163
+ "No sessions yet": "No sessions yet",
164
+ "Delete this session?": "Delete this session?",
165
+ Today: "Today",
166
+ Yesterday: "Yesterday",
167
+ "{days} days ago": "{days} days ago",
168
+ messages: "messages",
169
+ tokens: "tokens",
170
+ Delete: "Delete",
171
+ "Drop files here": "Drop files here",
172
+ "Command failed:": "Command failed:",
111
173
  },
112
174
  de: {
113
175
  ...defaultGerman,
@@ -150,6 +212,11 @@ const translations = {
150
212
  "Failed to load PDF": "PDF konnte nicht geladen werden",
151
213
  "Failed to load document": "Dokument konnte nicht geladen werden",
152
214
  "Failed to load spreadsheet": "Tabelle konnte nicht geladen werden",
215
+ "Error loading PDF": "Fehler beim Laden des PDFs",
216
+ "Error loading document": "Fehler beim Laden des Dokuments",
217
+ "Error loading spreadsheet": "Fehler beim Laden der Tabelle",
218
+ "Preview not available for this file type.": "Vorschau für diesen Dateityp nicht verfügbar.",
219
+ "Click the download button above to view it on your computer.": "Klicken Sie oben auf die Download-Schaltfläche, um die Datei auf Ihrem Computer anzuzeigen.",
153
220
  "No content available": "Kein Inhalt verfügbar",
154
221
  "Failed to display text content": "Textinhalt konnte nicht angezeigt werden",
155
222
  "API keys are required to use AI models. Get your keys from the provider's website.": "API-Schlüssel sind erforderlich, um KI-Modelle zu verwenden. Holen Sie sich Ihre Schlüssel von der Website des Anbieters.",
@@ -167,13 +234,17 @@ const translations = {
167
234
  "No session set": "Keine Sitzung gesetzt",
168
235
  "Preparing tool parameters...": "Bereite Tool-Parameter vor...",
169
236
  "(no output)": "(keine Ausgabe)",
237
+ Input: "Eingabe",
238
+ Output: "Ausgabe",
239
+ "Waiting for expression...": "Warte auf Ausdruck",
170
240
  "Writing expression...": "Schreibe Ausdruck...",
171
241
  Calculating: "Berechne",
172
242
  "Getting current time in": "Hole aktuelle Zeit in",
173
243
  "Getting current date and time": "Hole aktuelles Datum und Uhrzeit",
244
+ "Waiting for command...": "Warte auf Befehl...",
174
245
  "Writing command...": "Schreibe Befehl...",
175
- "Running command:": "Führe Befehl aus:",
176
- "Command failed:": "Befehl fehlgeschlagen:",
246
+ "Running command...": "Führe Befehl aus...",
247
+ "Command failed": "Befehl fehlgeschlagen",
177
248
  "Enter Auth Token": "Auth-Token eingeben",
178
249
  "Please enter your auth token.": "Bitte geben Sie Ihr Auth-Token ein.",
179
250
  "Auth token is required for proxy transport": "Auth-Token ist für Proxy-Transport erforderlich",
@@ -187,19 +258,43 @@ const translations = {
187
258
  "JavaScript code to execute": "Auszuführender JavaScript-Code",
188
259
  "Writing JavaScript code...": "Schreibe JavaScript-Code...",
189
260
  "Executing JavaScript": "Führe JavaScript aus",
261
+ "Preparing JavaScript...": "Bereite JavaScript vor...",
262
+ "Preparing command...": "Bereite Befehl vor...",
263
+ "Preparing calculation...": "Bereite Berechnung vor...",
264
+ "Preparing tool...": "Bereite Tool vor...",
265
+ "Getting time...": "Hole Zeit...",
190
266
  // Artifacts strings
191
267
  "Processing artifact...": "Verarbeite Artefakt...",
268
+ "Preparing artifact...": "Bereite Artefakt vor...",
269
+ "Processing artifact": "Verarbeite Artefakt",
270
+ "Processed artifact": "Artefakt verarbeitet",
271
+ "Creating artifact": "Erstelle Artefakt",
272
+ "Created artifact": "Artefakt erstellt",
273
+ "Updating artifact": "Aktualisiere Artefakt",
274
+ "Updated artifact": "Artefakt aktualisiert",
275
+ "Rewriting artifact": "Überschreibe Artefakt",
276
+ "Rewrote artifact": "Artefakt überschrieben",
277
+ "Getting artifact": "Hole Artefakt",
278
+ "Got artifact": "Artefakt geholt",
279
+ "Deleting artifact": "Lösche Artefakt",
280
+ "Deleted artifact": "Artefakt gelöscht",
281
+ "Getting logs": "Hole Logs",
282
+ "Got logs": "Logs geholt",
283
+ "An error occurred": "Ein Fehler ist aufgetreten",
284
+ "Copy logs": "Logs kopieren",
285
+ "Autoscroll enabled": "Automatisches Scrollen aktiviert",
286
+ "Autoscroll disabled": "Automatisches Scrollen deaktiviert",
192
287
  Processing: "Verarbeitung",
193
288
  Create: "Erstellen",
194
289
  Rewrite: "Überschreiben",
195
290
  Get: "Abrufen",
196
- Delete: "Löschen",
197
291
  "Get logs": "Logs abrufen",
198
292
  "Show artifacts": "Artefakte anzeigen",
199
293
  "Close artifacts": "Artefakte schließen",
200
294
  Artifacts: "Artefakte",
201
295
  "Copy HTML": "HTML kopieren",
202
296
  "Download HTML": "HTML herunterladen",
297
+ "Reload HTML": "HTML neu laden",
203
298
  "Copy SVG": "SVG kopieren",
204
299
  "Download SVG": "SVG herunterladen",
205
300
  "Copy Markdown": "Markdown kopieren",
@@ -217,6 +312,35 @@ const translations = {
217
312
  "API Key Required": "API-Schlüssel erforderlich",
218
313
  "Enter your API key for {provider}": "Geben Sie Ihren API-Schlüssel für {provider} ein",
219
314
  "The CORS proxy strips CORS headers from API responses, allowing browser-based apps to make direct calls to LLM providers without CORS restrictions. It forwards requests to providers while removing headers that would otherwise block cross-origin requests.": "Der CORS-Proxy entfernt CORS-Header aus API-Antworten und ermöglicht browserbasierte Anwendungen, direkte Aufrufe an LLM-Anbieter ohne CORS-Einschränkungen durchzuführen. Er leitet Anfragen an Anbieter weiter und entfernt Header, die sonst Cross-Origin-Anfragen blockieren würden.",
315
+ Off: "Aus",
316
+ Minimal: "Minimal",
317
+ Low: "Niedrig",
318
+ Medium: "Mittel",
319
+ High: "Hoch",
320
+ "Storage Permission Required": "Speicherberechtigung erforderlich",
321
+ "This app needs persistent storage to save your conversations": "Diese App benötigt dauerhaften Speicher, um Ihre Konversationen zu speichern",
322
+ "Why is this needed?": "Warum wird das benötigt?",
323
+ "Without persistent storage, your browser may delete saved conversations when it needs disk space. Granting this permission ensures your chat history is preserved.": "Ohne dauerhaften Speicher kann Ihr Browser gespeicherte Konversationen löschen, wenn Speicherplatz benötigt wird. Diese Berechtigung stellt sicher, dass Ihr Chatverlauf erhalten bleibt.",
324
+ "What this means:": "Was das bedeutet:",
325
+ "Your conversations will be saved locally in your browser": "Ihre Konversationen werden lokal in Ihrem Browser gespeichert",
326
+ "Data will not be deleted automatically to free up space": "Daten werden nicht automatisch gelöscht, um Speicherplatz freizugeben",
327
+ "You can still manually clear data at any time": "Sie können Daten jederzeit manuell löschen",
328
+ "No data is sent to external servers": "Keine Daten werden an externe Server gesendet",
329
+ "Continue Anyway": "Trotzdem fortfahren",
330
+ "Requesting...": "Anfrage läuft...",
331
+ "Grant Permission": "Berechtigung erteilen",
332
+ Sessions: "Sitzungen",
333
+ "Load a previous conversation": "Frühere Konversation laden",
334
+ "No sessions yet": "Noch keine Sitzungen",
335
+ "Delete this session?": "Diese Sitzung löschen?",
336
+ Today: "Heute",
337
+ Yesterday: "Gestern",
338
+ "{days} days ago": "vor {days} Tagen",
339
+ messages: "Nachrichten",
340
+ tokens: "Tokens",
341
+ Delete: "Löschen",
342
+ "Drop files here": "Dateien hier ablegen",
343
+ "Command failed:": "Befehl fehlgeschlagen:",
220
344
  },
221
345
  };
222
346
  setTranslations(translations);
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/utils/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/utils/i18n.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@
5
5
  "scripts": {
6
6
  "dev": "vite",
7
7
  "build": "vite build",
8
- "preview": "vite preview"
8
+ "preview": "vite preview",
9
+ "check": "tsc --noEmit"
9
10
  },
10
11
  "dependencies": {
11
12
  "@mariozechner/mini-lit": "^0.1.7",
@@ -0,0 +1,112 @@
1
+ import { Alert } from "@mariozechner/mini-lit";
2
+ import type { Message } from "@mariozechner/pi-ai";
3
+ import { html } from "lit";
4
+ import { registerMessageRenderer } from "@mariozechner/pi-web-ui";
5
+ import type { AppMessage, MessageRenderer } from "@mariozechner/pi-web-ui";
6
+
7
+ // ============================================================================
8
+ // 1. EXTEND AppMessage TYPE VIA DECLARATION MERGING
9
+ // ============================================================================
10
+
11
+ // Define custom message types
12
+ export interface SystemNotificationMessage {
13
+ role: "system-notification";
14
+ message: string;
15
+ variant: "default" | "destructive";
16
+ timestamp: string;
17
+ }
18
+
19
+ // Extend CustomMessages interface via declaration merging
20
+ declare module "@mariozechner/pi-web-ui" {
21
+ interface CustomMessages {
22
+ "system-notification": SystemNotificationMessage;
23
+ }
24
+ }
25
+
26
+ // ============================================================================
27
+ // 2. CREATE CUSTOM RENDERER (TYPED TO SystemNotificationMessage)
28
+ // ============================================================================
29
+
30
+ const systemNotificationRenderer: MessageRenderer<SystemNotificationMessage> = {
31
+ render: (notification) => {
32
+ // notification is fully typed as SystemNotificationMessage!
33
+ return html`
34
+ <div class="px-4">
35
+ ${Alert({
36
+ variant: notification.variant,
37
+ children: html`
38
+ <div class="flex flex-col gap-1">
39
+ <div>${notification.message}</div>
40
+ <div class="text-xs opacity-70">${new Date(notification.timestamp).toLocaleTimeString()}</div>
41
+ </div>
42
+ `,
43
+ })}
44
+ </div>
45
+ `;
46
+ },
47
+ };
48
+
49
+ // ============================================================================
50
+ // 3. REGISTER RENDERER
51
+ // ============================================================================
52
+
53
+ export function registerCustomMessageRenderers() {
54
+ registerMessageRenderer("system-notification", systemNotificationRenderer);
55
+ }
56
+
57
+ // ============================================================================
58
+ // 4. HELPER TO CREATE CUSTOM MESSAGES
59
+ // ============================================================================
60
+
61
+ export function createSystemNotification(
62
+ message: string,
63
+ variant: "default" | "destructive" = "default",
64
+ ): SystemNotificationMessage {
65
+ return {
66
+ role: "system-notification",
67
+ message,
68
+ variant,
69
+ timestamp: new Date().toISOString(),
70
+ };
71
+ }
72
+
73
+ // ============================================================================
74
+ // 5. CUSTOM MESSAGE TRANSFORMER
75
+ // ============================================================================
76
+
77
+ // Transform custom messages to user messages with <system> tags so LLM can see them
78
+ export function customMessageTransformer(messages: AppMessage[]): Message[] {
79
+ return messages
80
+ .filter((m) => {
81
+ // Filter out artifact messages - they're for session reconstruction only
82
+ if (m.role === "artifact") {
83
+ return false;
84
+ }
85
+
86
+ // Keep LLM-compatible messages + custom messages
87
+ return (
88
+ m.role === "user" ||
89
+ m.role === "assistant" ||
90
+ m.role === "toolResult" ||
91
+ m.role === "system-notification"
92
+ );
93
+ })
94
+ .map((m) => {
95
+ // Transform system notifications to user messages
96
+ if (m.role === "system-notification") {
97
+ const notification = m as SystemNotificationMessage;
98
+ return {
99
+ role: "user",
100
+ content: `<system>${notification.message}</system>`,
101
+ } as Message;
102
+ }
103
+
104
+ // Strip attachments from user messages
105
+ if (m.role === "user") {
106
+ const { attachments, ...rest } = m as any;
107
+ return rest as Message;
108
+ }
109
+
110
+ return m as Message;
111
+ });
112
+ }