@mariozechner/pi-web-ui 0.30.2 → 0.31.0

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 (242) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +420 -150
  3. package/dist/ChatPanel.d.ts +1 -2
  4. package/dist/ChatPanel.d.ts.map +1 -1
  5. package/dist/ChatPanel.js +22 -45
  6. package/dist/ChatPanel.js.map +1 -1
  7. package/dist/components/AgentInterface.d.ts +1 -1
  8. package/dist/components/AgentInterface.d.ts.map +1 -1
  9. package/dist/components/AgentInterface.js +113 -91
  10. package/dist/components/AgentInterface.js.map +1 -1
  11. package/dist/components/AttachmentTile.d.ts.map +1 -1
  12. package/dist/components/AttachmentTile.js +12 -28
  13. package/dist/components/AttachmentTile.js.map +1 -1
  14. package/dist/components/ConsoleBlock.d.ts.map +1 -1
  15. package/dist/components/ConsoleBlock.js +6 -21
  16. package/dist/components/ConsoleBlock.js.map +1 -1
  17. package/dist/components/CustomProviderCard.d.ts.map +1 -1
  18. package/dist/components/CustomProviderCard.js +15 -34
  19. package/dist/components/CustomProviderCard.js.map +1 -1
  20. package/dist/components/ExpandableSection.d.ts.map +1 -1
  21. package/dist/components/ExpandableSection.js +10 -27
  22. package/dist/components/ExpandableSection.js.map +1 -1
  23. package/dist/components/Input.js.map +1 -1
  24. package/dist/components/MessageEditor.d.ts +2 -1
  25. package/dist/components/MessageEditor.d.ts.map +1 -1
  26. package/dist/components/MessageEditor.js +147 -190
  27. package/dist/components/MessageEditor.js.map +1 -1
  28. package/dist/components/MessageList.d.ts +2 -3
  29. package/dist/components/MessageList.d.ts.map +1 -1
  30. package/dist/components/MessageList.js +11 -28
  31. package/dist/components/MessageList.js.map +1 -1
  32. package/dist/components/Messages.d.ts +37 -7
  33. package/dist/components/Messages.d.ts.map +1 -1
  34. package/dist/components/Messages.js +127 -103
  35. package/dist/components/Messages.js.map +1 -1
  36. package/dist/components/ProviderKeyInput.d.ts.map +1 -1
  37. package/dist/components/ProviderKeyInput.js +15 -39
  38. package/dist/components/ProviderKeyInput.js.map +1 -1
  39. package/dist/components/SandboxedIframe.d.ts.map +1 -1
  40. package/dist/components/SandboxedIframe.js +11 -15
  41. package/dist/components/SandboxedIframe.js.map +1 -1
  42. package/dist/components/StreamingMessageContainer.d.ts +3 -2
  43. package/dist/components/StreamingMessageContainer.d.ts.map +1 -1
  44. package/dist/components/StreamingMessageContainer.js +16 -34
  45. package/dist/components/StreamingMessageContainer.js.map +1 -1
  46. package/dist/components/ThinkingBlock.d.ts.map +1 -1
  47. package/dist/components/ThinkingBlock.js +9 -26
  48. package/dist/components/ThinkingBlock.js.map +1 -1
  49. package/dist/components/message-renderer-registry.d.ts +5 -5
  50. package/dist/components/message-renderer-registry.d.ts.map +1 -1
  51. package/dist/components/message-renderer-registry.js.map +1 -1
  52. package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +1 -1
  53. package/dist/components/sandbox/ArtifactsRuntimeProvider.js +3 -0
  54. package/dist/components/sandbox/ArtifactsRuntimeProvider.js.map +1 -1
  55. package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +1 -1
  56. package/dist/components/sandbox/AttachmentsRuntimeProvider.js +1 -0
  57. package/dist/components/sandbox/AttachmentsRuntimeProvider.js.map +1 -1
  58. package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map +1 -1
  59. package/dist/components/sandbox/ConsoleRuntimeProvider.js +3 -5
  60. package/dist/components/sandbox/ConsoleRuntimeProvider.js.map +1 -1
  61. package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +1 -1
  62. package/dist/components/sandbox/FileDownloadRuntimeProvider.js +1 -3
  63. package/dist/components/sandbox/FileDownloadRuntimeProvider.js.map +1 -1
  64. package/dist/components/sandbox/RuntimeMessageBridge.d.ts.map +1 -1
  65. package/dist/components/sandbox/RuntimeMessageBridge.js.map +1 -1
  66. package/dist/components/sandbox/RuntimeMessageRouter.d.ts.map +1 -1
  67. package/dist/components/sandbox/RuntimeMessageRouter.js +3 -5
  68. package/dist/components/sandbox/RuntimeMessageRouter.js.map +1 -1
  69. package/dist/dialogs/ApiKeyPromptDialog.d.ts.map +1 -1
  70. package/dist/dialogs/ApiKeyPromptDialog.js +10 -23
  71. package/dist/dialogs/ApiKeyPromptDialog.js.map +1 -1
  72. package/dist/dialogs/AttachmentOverlay.d.ts.map +1 -1
  73. package/dist/dialogs/AttachmentOverlay.js +34 -46
  74. package/dist/dialogs/AttachmentOverlay.js.map +1 -1
  75. package/dist/dialogs/CustomProviderDialog.d.ts.map +1 -1
  76. package/dist/dialogs/CustomProviderDialog.js +19 -39
  77. package/dist/dialogs/CustomProviderDialog.js.map +1 -1
  78. package/dist/dialogs/ModelSelector.d.ts.map +1 -1
  79. package/dist/dialogs/ModelSelector.js +25 -53
  80. package/dist/dialogs/ModelSelector.js.map +1 -1
  81. package/dist/dialogs/PersistentStorageDialog.d.ts.map +1 -1
  82. package/dist/dialogs/PersistentStorageDialog.js +9 -23
  83. package/dist/dialogs/PersistentStorageDialog.js.map +1 -1
  84. package/dist/dialogs/ProvidersModelsTab.d.ts.map +1 -1
  85. package/dist/dialogs/ProvidersModelsTab.js +7 -23
  86. package/dist/dialogs/ProvidersModelsTab.js.map +1 -1
  87. package/dist/dialogs/SessionListDialog.d.ts.map +1 -1
  88. package/dist/dialogs/SessionListDialog.js +14 -29
  89. package/dist/dialogs/SessionListDialog.js.map +1 -1
  90. package/dist/dialogs/SettingsDialog.d.ts.map +1 -1
  91. package/dist/dialogs/SettingsDialog.js +20 -52
  92. package/dist/dialogs/SettingsDialog.js.map +1 -1
  93. package/dist/index.d.ts +5 -8
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +2 -6
  96. package/dist/index.js.map +1 -1
  97. package/dist/prompts/prompts.d.ts.map +1 -1
  98. package/dist/storage/app-storage.d.ts.map +1 -1
  99. package/dist/storage/app-storage.js +5 -0
  100. package/dist/storage/app-storage.js.map +1 -1
  101. package/dist/storage/backends/indexeddb-storage-backend.d.ts.map +1 -1
  102. package/dist/storage/backends/indexeddb-storage-backend.js +2 -1
  103. package/dist/storage/backends/indexeddb-storage-backend.js.map +1 -1
  104. package/dist/storage/store.d.ts.map +1 -1
  105. package/dist/storage/store.js +1 -3
  106. package/dist/storage/store.js.map +1 -1
  107. package/dist/storage/stores/custom-providers-store.d.ts.map +1 -1
  108. package/dist/storage/stores/custom-providers-store.js.map +1 -1
  109. package/dist/storage/stores/provider-keys-store.d.ts.map +1 -1
  110. package/dist/storage/stores/provider-keys-store.js.map +1 -1
  111. package/dist/storage/stores/sessions-store.d.ts +1 -1
  112. package/dist/storage/stores/sessions-store.d.ts.map +1 -1
  113. package/dist/storage/stores/sessions-store.js.map +1 -1
  114. package/dist/storage/stores/settings-store.d.ts.map +1 -1
  115. package/dist/storage/stores/settings-store.js.map +1 -1
  116. package/dist/storage/types.d.ts +2 -3
  117. package/dist/storage/types.d.ts.map +1 -1
  118. package/dist/tools/artifacts/ArtifactElement.d.ts.map +1 -1
  119. package/dist/tools/artifacts/ArtifactElement.js +1 -4
  120. package/dist/tools/artifacts/ArtifactElement.js.map +1 -1
  121. package/dist/tools/artifacts/ArtifactPill.js.map +1 -1
  122. package/dist/tools/artifacts/Console.d.ts.map +1 -1
  123. package/dist/tools/artifacts/Console.js +10 -28
  124. package/dist/tools/artifacts/Console.js.map +1 -1
  125. package/dist/tools/artifacts/DocxArtifact.d.ts.map +1 -1
  126. package/dist/tools/artifacts/DocxArtifact.js +7 -23
  127. package/dist/tools/artifacts/DocxArtifact.js.map +1 -1
  128. package/dist/tools/artifacts/ExcelArtifact.d.ts.map +1 -1
  129. package/dist/tools/artifacts/ExcelArtifact.js +7 -23
  130. package/dist/tools/artifacts/ExcelArtifact.js.map +1 -1
  131. package/dist/tools/artifacts/GenericArtifact.d.ts.map +1 -1
  132. package/dist/tools/artifacts/GenericArtifact.js +5 -19
  133. package/dist/tools/artifacts/GenericArtifact.js.map +1 -1
  134. package/dist/tools/artifacts/HtmlArtifact.d.ts.map +1 -1
  135. package/dist/tools/artifacts/HtmlArtifact.js +16 -35
  136. package/dist/tools/artifacts/HtmlArtifact.js.map +1 -1
  137. package/dist/tools/artifacts/ImageArtifact.d.ts.map +1 -1
  138. package/dist/tools/artifacts/ImageArtifact.js +5 -19
  139. package/dist/tools/artifacts/ImageArtifact.js.map +1 -1
  140. package/dist/tools/artifacts/MarkdownArtifact.d.ts.map +1 -1
  141. package/dist/tools/artifacts/MarkdownArtifact.js +8 -24
  142. package/dist/tools/artifacts/MarkdownArtifact.js.map +1 -1
  143. package/dist/tools/artifacts/PdfArtifact.d.ts.map +1 -1
  144. package/dist/tools/artifacts/PdfArtifact.js +8 -24
  145. package/dist/tools/artifacts/PdfArtifact.js.map +1 -1
  146. package/dist/tools/artifacts/SvgArtifact.d.ts.map +1 -1
  147. package/dist/tools/artifacts/SvgArtifact.js +8 -24
  148. package/dist/tools/artifacts/SvgArtifact.js.map +1 -1
  149. package/dist/tools/artifacts/TextArtifact.d.ts.map +1 -1
  150. package/dist/tools/artifacts/TextArtifact.js +6 -20
  151. package/dist/tools/artifacts/TextArtifact.js.map +1 -1
  152. package/dist/tools/artifacts/artifacts-tool-renderer.d.ts.map +1 -1
  153. package/dist/tools/artifacts/artifacts-tool-renderer.js +1 -0
  154. package/dist/tools/artifacts/artifacts-tool-renderer.js.map +1 -1
  155. package/dist/tools/artifacts/artifacts.d.ts +2 -3
  156. package/dist/tools/artifacts/artifacts.d.ts.map +1 -1
  157. package/dist/tools/artifacts/artifacts.js +30 -52
  158. package/dist/tools/artifacts/artifacts.js.map +1 -1
  159. package/dist/tools/extract-document.d.ts +2 -2
  160. package/dist/tools/extract-document.d.ts.map +1 -1
  161. package/dist/tools/extract-document.js.map +1 -1
  162. package/dist/tools/index.js.map +1 -1
  163. package/dist/tools/javascript-repl.d.ts +3 -3
  164. package/dist/tools/javascript-repl.d.ts.map +1 -1
  165. package/dist/tools/javascript-repl.js.map +1 -1
  166. package/dist/tools/renderer-registry.js.map +1 -1
  167. package/dist/tools/renderers/BashRenderer.d.ts.map +1 -1
  168. package/dist/tools/renderers/BashRenderer.js.map +1 -1
  169. package/dist/tools/renderers/CalculateRenderer.d.ts.map +1 -1
  170. package/dist/tools/renderers/CalculateRenderer.js.map +1 -1
  171. package/dist/tools/renderers/DefaultRenderer.d.ts.map +1 -1
  172. package/dist/tools/renderers/DefaultRenderer.js.map +1 -1
  173. package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map +1 -1
  174. package/dist/tools/renderers/GetCurrentTimeRenderer.js.map +1 -1
  175. package/dist/utils/attachment-utils.js.map +1 -1
  176. package/dist/utils/auth-token.js.map +1 -1
  177. package/dist/utils/format.js.map +1 -1
  178. package/dist/utils/i18n.d.ts +14 -14
  179. package/dist/utils/i18n.d.ts.map +1 -1
  180. package/dist/utils/i18n.js.map +1 -1
  181. package/dist/utils/model-discovery.js.map +1 -1
  182. package/dist/utils/proxy-utils.d.ts +9 -1
  183. package/dist/utils/proxy-utils.d.ts.map +1 -1
  184. package/dist/utils/proxy-utils.js +19 -0
  185. package/dist/utils/proxy-utils.js.map +1 -1
  186. package/dist/utils/test-sessions.d.ts +47 -47
  187. package/dist/utils/test-sessions.js.map +1 -1
  188. package/example/package.json +1 -1
  189. package/example/src/custom-messages.ts +26 -36
  190. package/example/src/main.ts +11 -20
  191. package/example/tsconfig.json +1 -0
  192. package/package.json +4 -4
  193. package/src/ChatPanel.ts +2 -3
  194. package/src/components/AgentInterface.ts +57 -13
  195. package/src/components/MessageEditor.ts +2 -1
  196. package/src/components/MessageList.ts +3 -4
  197. package/src/components/Messages.ts +108 -19
  198. package/src/components/StreamingMessageContainer.ts +6 -5
  199. package/src/components/message-renderer-registry.ts +5 -5
  200. package/src/index.ts +13 -10
  201. package/src/storage/stores/sessions-store.ts +1 -1
  202. package/src/storage/types.ts +2 -3
  203. package/src/tools/artifacts/artifacts.ts +4 -4
  204. package/src/tools/extract-document.ts +2 -1
  205. package/src/tools/javascript-repl.ts +2 -1
  206. package/src/utils/proxy-utils.ts +23 -1
  207. package/dist/agent/agent.d.ts +0 -62
  208. package/dist/agent/agent.d.ts.map +0 -1
  209. package/dist/agent/agent.js +0 -274
  210. package/dist/agent/agent.js.map +0 -1
  211. package/dist/agent/transports/AppTransport.d.ts +0 -15
  212. package/dist/agent/transports/AppTransport.d.ts.map +0 -1
  213. package/dist/agent/transports/AppTransport.js +0 -327
  214. package/dist/agent/transports/AppTransport.js.map +0 -1
  215. package/dist/agent/transports/ProviderTransport.d.ts +0 -14
  216. package/dist/agent/transports/ProviderTransport.d.ts.map +0 -1
  217. package/dist/agent/transports/ProviderTransport.js +0 -55
  218. package/dist/agent/transports/ProviderTransport.js.map +0 -1
  219. package/dist/agent/transports/index.d.ts +0 -4
  220. package/dist/agent/transports/index.d.ts.map +0 -1
  221. package/dist/agent/transports/index.js +0 -4
  222. package/dist/agent/transports/index.js.map +0 -1
  223. package/dist/agent/transports/proxy-types.d.ts +0 -48
  224. package/dist/agent/transports/proxy-types.d.ts.map +0 -1
  225. package/dist/agent/transports/proxy-types.js +0 -2
  226. package/dist/agent/transports/proxy-types.js.map +0 -1
  227. package/dist/agent/transports/types.d.ts +0 -15
  228. package/dist/agent/transports/types.d.ts.map +0 -1
  229. package/dist/agent/transports/types.js +0 -2
  230. package/dist/agent/transports/types.js.map +0 -1
  231. package/dist/agent/types.d.ts +0 -15
  232. package/dist/agent/types.d.ts.map +0 -1
  233. package/dist/agent/types.js +0 -2
  234. package/dist/agent/types.js.map +0 -1
  235. package/example/src/test-sessions.ts +0 -104
  236. package/src/agent/agent.ts +0 -341
  237. package/src/agent/transports/AppTransport.ts +0 -371
  238. package/src/agent/transports/ProviderTransport.ts +0 -71
  239. package/src/agent/transports/index.ts +0 -3
  240. package/src/agent/transports/proxy-types.ts +0 -15
  241. package/src/agent/transports/types.ts +0 -26
  242. package/src/agent/types.ts +0 -11
package/CHANGELOG.md ADDED
@@ -0,0 +1,88 @@
1
+ # Changelog
2
+
3
+ ## [0.31.0] - 2026-01-02
4
+
5
+ ### Breaking Changes
6
+
7
+ - **Agent class moved to `@mariozechner/pi-agent-core`**: The `Agent` class, `AgentState`, and related types are no longer exported from this package. Import them from `@mariozechner/pi-agent-core` instead.
8
+
9
+ - **Transport abstraction removed**: `ProviderTransport`, `AppTransport`, `AgentTransport` interface, and related types have been removed. The `Agent` class now uses `streamFn` for custom streaming.
10
+
11
+ - **`AppMessage` renamed to `AgentMessage`**: Now imported from `@mariozechner/pi-agent-core`. Custom message types use declaration merging on `CustomAgentMessages` interface.
12
+
13
+ - **`UserMessageWithAttachments` is now a custom message type**: Has `role: "user-with-attachments"` instead of `role: "user"`. Use `isUserMessageWithAttachments()` type guard.
14
+
15
+ - **`CustomMessages` interface removed**: Use declaration merging on `CustomAgentMessages` from `@mariozechner/pi-agent-core` instead.
16
+
17
+ - **`agent.appendMessage()` removed**: Use `agent.queueMessage()` instead.
18
+
19
+ - **Agent event types changed**: `AgentInterface` now handles new event types from `@mariozechner/pi-agent-core`: `message_start`, `message_end`, `message_update`, `turn_start`, `turn_end`, `agent_start`, `agent_end`.
20
+
21
+ ### Added
22
+
23
+ - **`defaultConvertToLlm`**: Default message transformer that handles `UserMessageWithAttachments` and `ArtifactMessage`. Apps can extend this for custom message types.
24
+
25
+ - **`convertAttachments`**: Utility to convert `Attachment[]` to LLM content blocks (images and extracted document text).
26
+
27
+ - **`isUserMessageWithAttachments` / `isArtifactMessage`**: Type guard functions for custom message types.
28
+
29
+ - **`createStreamFn`**: Creates a stream function with CORS proxy support. Reads proxy settings on each call for dynamic configuration.
30
+
31
+ - **Default `streamFn` and `getApiKey`**: `AgentInterface` now sets sensible defaults if not provided:
32
+ - `streamFn`: Uses `createStreamFn` with proxy settings from storage
33
+ - `getApiKey`: Reads from `providerKeys` storage
34
+
35
+ - **Proxy utilities exported**: `applyProxyIfNeeded`, `shouldUseProxyForProvider`, `isCorsError`, `createStreamFn`
36
+
37
+ ### Removed
38
+
39
+ - `Agent` class (moved to `@mariozechner/pi-agent-core`)
40
+ - `ProviderTransport` class
41
+ - `AppTransport` class
42
+ - `AgentTransport` interface
43
+ - `AgentRunConfig` type
44
+ - `ProxyAssistantMessageEvent` type
45
+ - `test-sessions.ts` example file
46
+
47
+ ### Migration Guide
48
+
49
+ **Before (0.30.x):**
50
+ ```typescript
51
+ import { Agent, ProviderTransport, type AppMessage } from '@mariozechner/pi-web-ui';
52
+
53
+ const agent = new Agent({
54
+ transport: new ProviderTransport(),
55
+ messageTransformer: (messages: AppMessage[]) => messages.filter(...)
56
+ });
57
+ ```
58
+
59
+ **After:**
60
+ ```typescript
61
+ import { Agent, type AgentMessage } from '@mariozechner/pi-agent-core';
62
+ import { defaultConvertToLlm } from '@mariozechner/pi-web-ui';
63
+
64
+ const agent = new Agent({
65
+ convertToLlm: (messages: AgentMessage[]) => {
66
+ // Extend defaultConvertToLlm for custom types
67
+ return defaultConvertToLlm(messages);
68
+ }
69
+ });
70
+ // AgentInterface will set streamFn and getApiKey defaults automatically
71
+ ```
72
+
73
+ **Custom message types:**
74
+ ```typescript
75
+ // Before: declaration merging on CustomMessages
76
+ declare module "@mariozechner/pi-web-ui" {
77
+ interface CustomMessages {
78
+ "my-message": MyMessage;
79
+ }
80
+ }
81
+
82
+ // After: declaration merging on CustomAgentMessages
83
+ declare module "@mariozechner/pi-agent-core" {
84
+ interface CustomAgentMessages {
85
+ "my-message": MyMessage;
86
+ }
87
+ }
88
+ ```