@mariozechner/pi-web-ui 0.30.2 → 0.31.1

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 +90 -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,90 @@
1
+ # Changelog
2
+
3
+ ## [0.31.1] - 2026-01-02
4
+
5
+ ## [0.31.0] - 2026-01-02
6
+
7
+ ### Breaking Changes
8
+
9
+ - **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.
10
+
11
+ - **Transport abstraction removed**: `ProviderTransport`, `AppTransport`, `AgentTransport` interface, and related types have been removed. The `Agent` class now uses `streamFn` for custom streaming.
12
+
13
+ - **`AppMessage` renamed to `AgentMessage`**: Now imported from `@mariozechner/pi-agent-core`. Custom message types use declaration merging on `CustomAgentMessages` interface.
14
+
15
+ - **`UserMessageWithAttachments` is now a custom message type**: Has `role: "user-with-attachments"` instead of `role: "user"`. Use `isUserMessageWithAttachments()` type guard.
16
+
17
+ - **`CustomMessages` interface removed**: Use declaration merging on `CustomAgentMessages` from `@mariozechner/pi-agent-core` instead.
18
+
19
+ - **`agent.appendMessage()` removed**: Use `agent.queueMessage()` instead.
20
+
21
+ - **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`.
22
+
23
+ ### Added
24
+
25
+ - **`defaultConvertToLlm`**: Default message transformer that handles `UserMessageWithAttachments` and `ArtifactMessage`. Apps can extend this for custom message types.
26
+
27
+ - **`convertAttachments`**: Utility to convert `Attachment[]` to LLM content blocks (images and extracted document text).
28
+
29
+ - **`isUserMessageWithAttachments` / `isArtifactMessage`**: Type guard functions for custom message types.
30
+
31
+ - **`createStreamFn`**: Creates a stream function with CORS proxy support. Reads proxy settings on each call for dynamic configuration.
32
+
33
+ - **Default `streamFn` and `getApiKey`**: `AgentInterface` now sets sensible defaults if not provided:
34
+ - `streamFn`: Uses `createStreamFn` with proxy settings from storage
35
+ - `getApiKey`: Reads from `providerKeys` storage
36
+
37
+ - **Proxy utilities exported**: `applyProxyIfNeeded`, `shouldUseProxyForProvider`, `isCorsError`, `createStreamFn`
38
+
39
+ ### Removed
40
+
41
+ - `Agent` class (moved to `@mariozechner/pi-agent-core`)
42
+ - `ProviderTransport` class
43
+ - `AppTransport` class
44
+ - `AgentTransport` interface
45
+ - `AgentRunConfig` type
46
+ - `ProxyAssistantMessageEvent` type
47
+ - `test-sessions.ts` example file
48
+
49
+ ### Migration Guide
50
+
51
+ **Before (0.30.x):**
52
+ ```typescript
53
+ import { Agent, ProviderTransport, type AppMessage } from '@mariozechner/pi-web-ui';
54
+
55
+ const agent = new Agent({
56
+ transport: new ProviderTransport(),
57
+ messageTransformer: (messages: AppMessage[]) => messages.filter(...)
58
+ });
59
+ ```
60
+
61
+ **After:**
62
+ ```typescript
63
+ import { Agent, type AgentMessage } from '@mariozechner/pi-agent-core';
64
+ import { defaultConvertToLlm } from '@mariozechner/pi-web-ui';
65
+
66
+ const agent = new Agent({
67
+ convertToLlm: (messages: AgentMessage[]) => {
68
+ // Extend defaultConvertToLlm for custom types
69
+ return defaultConvertToLlm(messages);
70
+ }
71
+ });
72
+ // AgentInterface will set streamFn and getApiKey defaults automatically
73
+ ```
74
+
75
+ **Custom message types:**
76
+ ```typescript
77
+ // Before: declaration merging on CustomMessages
78
+ declare module "@mariozechner/pi-web-ui" {
79
+ interface CustomMessages {
80
+ "my-message": MyMessage;
81
+ }
82
+ }
83
+
84
+ // After: declaration merging on CustomAgentMessages
85
+ declare module "@mariozechner/pi-agent-core" {
86
+ interface CustomAgentMessages {
87
+ "my-message": MyMessage;
88
+ }
89
+ }
90
+ ```