@solidxai/core-ui 0.1.19-beta.0 → 0.1.19-beta.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 (512) hide show
  1. package/README.md +19 -0
  2. package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
  3. package/dist/components/common/SolidPopupContainer.js +3 -2
  4. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  5. package/dist/components/common/SolidPopupContainer.tsx +3 -2
  6. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
  7. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +4 -1
  8. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  9. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +11 -5
  10. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  11. package/dist/components/core/chatter/SolidChatter.js +2 -1
  12. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  13. package/dist/components/core/chatter/SolidChatter.tsx +2 -0
  14. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +2 -0
  15. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  16. package/dist/components/core/chatter/SolidChatterMessageBox.js +7 -4
  17. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  18. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +8 -3
  19. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts +5 -0
  20. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts.map +1 -0
  21. package/dist/components/core/chatter/SolidChatterMessageWidget.js +85 -0
  22. package/dist/components/core/chatter/SolidChatterMessageWidget.js.map +1 -0
  23. package/dist/components/core/chatter/SolidChatterMessageWidget.tsx +59 -0
  24. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  25. package/dist/components/core/common/SolidGlobalSearchElement.js +6 -5
  26. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  27. package/dist/components/core/common/SolidGlobalSearchElement.tsx +6 -5
  28. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts +11 -0
  29. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts.map +1 -0
  30. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js +102 -0
  31. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js.map +1 -0
  32. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.tsx +129 -0
  33. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts +4 -0
  34. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts.map +1 -0
  35. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js +29 -0
  36. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js.map +1 -0
  37. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.module.css +226 -0
  38. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.tsx +57 -0
  39. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts +4 -0
  40. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts.map +1 -0
  41. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js +33 -0
  42. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js.map +1 -0
  43. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx +47 -0
  44. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts +5 -0
  45. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts.map +1 -0
  46. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js +59 -0
  47. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js.map +1 -0
  48. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx +82 -0
  49. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts +17 -0
  50. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts.map +1 -0
  51. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js +258 -0
  52. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js.map +1 -0
  53. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx +286 -0
  54. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  55. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +102 -62
  56. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  57. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +116 -106
  58. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts +6 -0
  59. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts.map +1 -0
  60. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js +37 -0
  61. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js.map +1 -0
  62. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.tsx +89 -0
  63. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts +3 -0
  64. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts.map +1 -0
  65. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js +18 -0
  66. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js.map +1 -0
  67. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.tsx +51 -0
  68. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts +10 -0
  69. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts.map +1 -0
  70. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js +63 -0
  71. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js.map +1 -0
  72. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.tsx +111 -0
  73. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  74. package/dist/components/core/field/FieldListViewData.js +29 -9
  75. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  76. package/dist/components/core/field/FieldListViewData.tsx +7 -6
  77. package/dist/components/core/form/SolidFormView.d.ts +1 -0
  78. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  79. package/dist/components/core/form/SolidFormView.js +49 -48
  80. package/dist/components/core/form/SolidFormView.js.map +1 -1
  81. package/dist/components/core/form/SolidFormView.tsx +4 -3
  82. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  83. package/dist/components/core/form/fields/SolidPasswordField.js +13 -1
  84. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  85. package/dist/components/core/form/fields/SolidPasswordField.tsx +14 -3
  86. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  87. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  88. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  89. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  90. package/dist/components/core/kanban/KanbanBoard.tsx +5 -1
  91. package/dist/components/core/kanban/KanbanCard.d.ts +3 -0
  92. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  93. package/dist/components/core/kanban/KanbanCard.js +5 -4
  94. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  95. package/dist/components/core/kanban/KanbanCard.tsx +31 -11
  96. package/dist/components/core/kanban/KanbanColumn.d.ts +5 -1
  97. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  98. package/dist/components/core/kanban/KanbanColumn.js +14 -3
  99. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  100. package/dist/components/core/kanban/KanbanColumn.tsx +43 -3
  101. package/dist/components/core/kanban/SolidKanbanView.d.ts +2 -0
  102. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  103. package/dist/components/core/kanban/SolidKanbanView.js +90 -52
  104. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  105. package/dist/components/core/kanban/SolidKanbanView.tsx +93 -13
  106. package/dist/components/core/list/SolidDataTable.d.ts +2 -1
  107. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  108. package/dist/components/core/list/SolidDataTable.js +2 -2
  109. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  110. package/dist/components/core/list/SolidDataTable.tsx +3 -0
  111. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  112. package/dist/components/core/list/SolidListView.js +114 -57
  113. package/dist/components/core/list/SolidListView.js.map +1 -1
  114. package/dist/components/core/list/SolidListView.tsx +71 -7
  115. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +14 -0
  117. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  118. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +13 -0
  119. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts +3 -0
  120. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts.map +1 -0
  121. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js +51 -0
  122. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js.map +1 -0
  123. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx +60 -0
  124. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts +4 -0
  125. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts.map +1 -0
  126. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js +24 -0
  127. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js.map +1 -0
  128. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.tsx +32 -0
  129. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  130. package/dist/components/core/model/ModelListViewData.js +6 -23
  131. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  132. package/dist/components/core/model/ModelListViewData.tsx +1 -48
  133. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts +5 -0
  134. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts.map +1 -0
  135. package/dist/components/core/solid-agent/AgentModelIndicator.js +14 -0
  136. package/dist/components/core/solid-agent/AgentModelIndicator.js.map +1 -0
  137. package/dist/components/core/solid-agent/AgentModelIndicator.tsx +40 -0
  138. package/dist/components/core/solid-agent/AgentSignIn.d.ts +12 -0
  139. package/dist/components/core/solid-agent/AgentSignIn.d.ts.map +1 -0
  140. package/dist/components/core/solid-agent/AgentSignIn.js +82 -0
  141. package/dist/components/core/solid-agent/AgentSignIn.js.map +1 -0
  142. package/dist/components/core/solid-agent/AgentSignIn.tsx +91 -0
  143. package/dist/components/core/solid-agent/SolidAgent.module.css +596 -0
  144. package/dist/components/core/solid-agent/SolidAgentChat.d.ts +30 -0
  145. package/dist/components/core/solid-agent/SolidAgentChat.d.ts.map +1 -0
  146. package/dist/components/core/solid-agent/SolidAgentChat.js +300 -0
  147. package/dist/components/core/solid-agent/SolidAgentChat.js.map +1 -0
  148. package/dist/components/core/solid-agent/SolidAgentChat.tsx +451 -0
  149. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts +44 -0
  150. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts.map +1 -0
  151. package/dist/components/core/solid-agent/SolidAgentEmbedded.js +46 -0
  152. package/dist/components/core/solid-agent/SolidAgentEmbedded.js.map +1 -0
  153. package/dist/components/core/solid-agent/SolidAgentEmbedded.tsx +87 -0
  154. package/dist/components/core/solid-agent/SolidAgentHost.d.ts +8 -0
  155. package/dist/components/core/solid-agent/SolidAgentHost.d.ts.map +1 -0
  156. package/dist/components/core/solid-agent/SolidAgentHost.js +152 -0
  157. package/dist/components/core/solid-agent/SolidAgentHost.js.map +1 -0
  158. package/dist/components/core/solid-agent/SolidAgentHost.tsx +164 -0
  159. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts +16 -0
  160. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts.map +1 -0
  161. package/dist/components/core/solid-agent/SolidAgentMarkdown.js +161 -0
  162. package/dist/components/core/solid-agent/SolidAgentMarkdown.js.map +1 -0
  163. package/dist/components/core/solid-agent/SolidAgentMarkdown.tsx +133 -0
  164. package/dist/components/core/solid-agent/SolidAgentMount.d.ts +3 -0
  165. package/dist/components/core/solid-agent/SolidAgentMount.d.ts.map +1 -0
  166. package/dist/components/core/solid-agent/SolidAgentMount.js +62 -0
  167. package/dist/components/core/solid-agent/SolidAgentMount.js.map +1 -0
  168. package/dist/components/core/solid-agent/SolidAgentMount.tsx +31 -0
  169. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts +5 -0
  170. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts.map +1 -0
  171. package/dist/components/core/solid-agent/SolidXAIIcon.js +7 -0
  172. package/dist/components/core/solid-agent/SolidXAIIcon.js.map +1 -0
  173. package/dist/components/core/solid-agent/SolidXAIIcon.tsx +6 -0
  174. package/dist/components/core/solid-agent/agentAttachments.d.ts +20 -0
  175. package/dist/components/core/solid-agent/agentAttachments.d.ts.map +1 -0
  176. package/dist/components/core/solid-agent/agentAttachments.js +184 -0
  177. package/dist/components/core/solid-agent/agentAttachments.js.map +1 -0
  178. package/dist/components/core/solid-agent/agentAttachments.ts +119 -0
  179. package/dist/components/core/solid-agent/agentEvents.d.ts +34 -0
  180. package/dist/components/core/solid-agent/agentEvents.d.ts.map +1 -0
  181. package/dist/components/core/solid-agent/agentEvents.js +282 -0
  182. package/dist/components/core/solid-agent/agentEvents.js.map +1 -0
  183. package/dist/components/core/solid-agent/agentEvents.ts +292 -0
  184. package/dist/components/core/solid-agent/agentFormat.d.ts +18 -0
  185. package/dist/components/core/solid-agent/agentFormat.d.ts.map +1 -0
  186. package/dist/components/core/solid-agent/agentFormat.js +179 -0
  187. package/dist/components/core/solid-agent/agentFormat.js.map +1 -0
  188. package/dist/components/core/solid-agent/agentFormat.ts +160 -0
  189. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts +9 -0
  190. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts.map +1 -0
  191. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js +129 -0
  192. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js.map +1 -0
  193. package/dist/components/core/solid-agent/client/agentAttachmentMedia.ts +69 -0
  194. package/dist/components/core/solid-agent/client/agentAuth.d.ts +63 -0
  195. package/dist/components/core/solid-agent/client/agentAuth.d.ts.map +1 -0
  196. package/dist/components/core/solid-agent/client/agentAuth.js +307 -0
  197. package/dist/components/core/solid-agent/client/agentAuth.js.map +1 -0
  198. package/dist/components/core/solid-agent/client/agentAuth.ts +222 -0
  199. package/dist/components/core/solid-agent/client/agentRest.d.ts +30 -0
  200. package/dist/components/core/solid-agent/client/agentRest.d.ts.map +1 -0
  201. package/dist/components/core/solid-agent/client/agentRest.js +178 -0
  202. package/dist/components/core/solid-agent/client/agentRest.js.map +1 -0
  203. package/dist/components/core/solid-agent/client/agentRest.ts +100 -0
  204. package/dist/components/core/solid-agent/client/agentRuntime.d.ts +48 -0
  205. package/dist/components/core/solid-agent/client/agentRuntime.d.ts.map +1 -0
  206. package/dist/components/core/solid-agent/client/agentRuntime.js +406 -0
  207. package/dist/components/core/solid-agent/client/agentRuntime.js.map +1 -0
  208. package/dist/components/core/solid-agent/client/agentRuntime.ts +226 -0
  209. package/dist/components/core/solid-agent/client/agentSocket.d.ts +46 -0
  210. package/dist/components/core/solid-agent/client/agentSocket.d.ts.map +1 -0
  211. package/dist/components/core/solid-agent/client/agentSocket.js +535 -0
  212. package/dist/components/core/solid-agent/client/agentSocket.js.map +1 -0
  213. package/dist/components/core/solid-agent/client/agentSocket.ts +276 -0
  214. package/dist/components/core/solid-agent/client/agentUrls.d.ts +11 -0
  215. package/dist/components/core/solid-agent/client/agentUrls.d.ts.map +1 -0
  216. package/dist/components/core/solid-agent/client/agentUrls.js +18 -0
  217. package/dist/components/core/solid-agent/client/agentUrls.js.map +1 -0
  218. package/dist/components/core/solid-agent/client/agentUrls.ts +19 -0
  219. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts +21 -0
  220. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts.map +1 -0
  221. package/dist/components/core/solid-agent/composer/AgentComposer.js +219 -0
  222. package/dist/components/core/solid-agent/composer/AgentComposer.js.map +1 -0
  223. package/dist/components/core/solid-agent/composer/AgentComposer.tsx +241 -0
  224. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts +8 -0
  225. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts.map +1 -0
  226. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js +87 -0
  227. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js.map +1 -0
  228. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.tsx +58 -0
  229. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts +20 -0
  230. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts.map +1 -0
  231. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js +103 -0
  232. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js.map +1 -0
  233. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.ts +60 -0
  234. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts +11 -0
  235. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts.map +1 -0
  236. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js +21 -0
  237. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js.map +1 -0
  238. package/dist/components/core/solid-agent/embed/agentEmbedSamples.ts +266 -0
  239. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts +15 -0
  240. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts.map +1 -0
  241. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js +122 -0
  242. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js.map +1 -0
  243. package/dist/components/core/solid-agent/processes/agentHubProcessApi.ts +64 -0
  244. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts +39 -0
  245. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts.map +1 -0
  246. package/dist/components/core/solid-agent/sdk/solidAgent.js +44 -0
  247. package/dist/components/core/solid-agent/sdk/solidAgent.js.map +1 -0
  248. package/dist/components/core/solid-agent/sdk/solidAgent.ts +56 -0
  249. package/dist/components/core/solid-agent/thread/AgentThread.d.ts +17 -0
  250. package/dist/components/core/solid-agent/thread/AgentThread.d.ts.map +1 -0
  251. package/dist/components/core/solid-agent/thread/AgentThread.js +166 -0
  252. package/dist/components/core/solid-agent/thread/AgentThread.js.map +1 -0
  253. package/dist/components/core/solid-agent/thread/AgentThread.tsx +248 -0
  254. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts +36 -0
  255. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts.map +1 -0
  256. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js +148 -0
  257. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js.map +1 -0
  258. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.tsx +116 -0
  259. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts +8 -0
  260. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts.map +1 -0
  261. package/dist/components/core/solid-agent/thread/inlineWidget.js +30 -0
  262. package/dist/components/core/solid-agent/thread/inlineWidget.js.map +1 -0
  263. package/dist/components/core/solid-agent/thread/inlineWidget.ts +27 -0
  264. package/dist/components/core/solid-agent/types.d.ts +155 -0
  265. package/dist/components/core/solid-agent/types.d.ts.map +1 -0
  266. package/dist/components/core/solid-agent/types.js +31 -0
  267. package/dist/components/core/solid-agent/types.js.map +1 -0
  268. package/dist/components/core/solid-agent/types.ts +148 -0
  269. package/dist/components/core/solid-agent/useAdminInputContext.d.ts +4 -0
  270. package/dist/components/core/solid-agent/useAdminInputContext.d.ts.map +1 -0
  271. package/dist/components/core/solid-agent/useAdminInputContext.js +49 -0
  272. package/dist/components/core/solid-agent/useAdminInputContext.js.map +1 -0
  273. package/dist/components/core/solid-agent/useAdminInputContext.ts +52 -0
  274. package/dist/components/core/solid-agent/useAgentAuth.d.ts +14 -0
  275. package/dist/components/core/solid-agent/useAgentAuth.d.ts.map +1 -0
  276. package/dist/components/core/solid-agent/useAgentAuth.js +88 -0
  277. package/dist/components/core/solid-agent/useAgentAuth.js.map +1 -0
  278. package/dist/components/core/solid-agent/useAgentAuth.ts +40 -0
  279. package/dist/components/core/solid-agent/useAgentAvailability.d.ts +19 -0
  280. package/dist/components/core/solid-agent/useAgentAvailability.d.ts.map +1 -0
  281. package/dist/components/core/solid-agent/useAgentAvailability.js +109 -0
  282. package/dist/components/core/solid-agent/useAgentAvailability.js.map +1 -0
  283. package/dist/components/core/solid-agent/useAgentAvailability.ts +80 -0
  284. package/dist/components/core/solid-agent/useAgentChat.d.ts +22 -0
  285. package/dist/components/core/solid-agent/useAgentChat.d.ts.map +1 -0
  286. package/dist/components/core/solid-agent/useAgentChat.js +45 -0
  287. package/dist/components/core/solid-agent/useAgentChat.js.map +1 -0
  288. package/dist/components/core/solid-agent/useAgentChat.ts +57 -0
  289. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts +7 -0
  290. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts.map +1 -0
  291. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js +15 -0
  292. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js.map +1 -0
  293. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.tsx +24 -0
  294. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts +7 -0
  295. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts.map +1 -0
  296. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js +15 -0
  297. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js.map +1 -0
  298. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.tsx +28 -0
  299. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts +4 -0
  300. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts.map +1 -0
  301. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js +20 -0
  302. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js.map +1 -0
  303. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.tsx +8 -0
  304. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts +7 -0
  305. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts.map +1 -0
  306. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js +11 -0
  307. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js.map +1 -0
  308. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.tsx +16 -0
  309. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts +7 -0
  310. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts.map +1 -0
  311. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js +67 -0
  312. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js.map +1 -0
  313. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx +135 -0
  314. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts +7 -0
  315. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts.map +1 -0
  316. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js +24 -0
  317. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js.map +1 -0
  318. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx +17 -0
  319. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts +8 -0
  320. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts.map +1 -0
  321. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js +30 -0
  322. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js.map +1 -0
  323. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx +77 -0
  324. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts +7 -0
  325. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts.map +1 -0
  326. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js +40 -0
  327. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js.map +1 -0
  328. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx +57 -0
  329. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts +4 -0
  330. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts.map +1 -0
  331. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js +13 -0
  332. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js.map +1 -0
  333. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx +19 -0
  334. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts +7 -0
  335. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts.map +1 -0
  336. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js +55 -0
  337. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js.map +1 -0
  338. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.tsx +81 -0
  339. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts +4 -0
  340. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts.map +1 -0
  341. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js +15 -0
  342. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js.map +1 -0
  343. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.tsx +30 -0
  344. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts +4 -0
  345. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts.map +1 -0
  346. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js +15 -0
  347. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js.map +1 -0
  348. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.tsx +21 -0
  349. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts +7 -0
  350. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts.map +1 -0
  351. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js +21 -0
  352. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js.map +1 -0
  353. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.tsx +33 -0
  354. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts +4 -0
  355. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts.map +1 -0
  356. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js +11 -0
  357. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js.map +1 -0
  358. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.tsx +9 -0
  359. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts +15 -0
  360. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts.map +1 -0
  361. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js +26 -0
  362. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js.map +1 -0
  363. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.tsx +42 -0
  364. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts +7 -0
  365. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts.map +1 -0
  366. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js +41 -0
  367. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js.map +1 -0
  368. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.tsx +69 -0
  369. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts +7 -0
  370. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts.map +1 -0
  371. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js +23 -0
  372. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js.map +1 -0
  373. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.tsx +40 -0
  374. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts +4 -0
  375. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts.map +1 -0
  376. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js +32 -0
  377. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js.map +1 -0
  378. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.tsx +55 -0
  379. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts +7 -0
  380. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts.map +1 -0
  381. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js +17 -0
  382. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js.map +1 -0
  383. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.tsx +31 -0
  384. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts +12 -0
  385. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts.map +1 -0
  386. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js +17 -0
  387. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js.map +1 -0
  388. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.ts +19 -0
  389. package/dist/components/core/solid-agent/widgets/solidChatWidgets.module.css +909 -0
  390. package/dist/components/core/solid-ai/SolidAiChat.js +1 -1
  391. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
  392. package/dist/components/core/solid-ai/SolidAiChat.tsx +2 -2
  393. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  394. package/dist/components/layout/AdminLayout.js +2 -1
  395. package/dist/components/layout/AdminLayout.js.map +1 -1
  396. package/dist/components/layout/AdminLayout.tsx +2 -0
  397. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  398. package/dist/components/shad-cn-ui/SolidAutocomplete.js +2 -2
  399. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  400. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +19 -15
  401. package/dist/components/shad-cn-ui/SolidDialog.d.ts +2 -1
  402. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  403. package/dist/components/shad-cn-ui/SolidDialog.js +2 -2
  404. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  405. package/dist/components/shad-cn-ui/SolidDialog.tsx +3 -0
  406. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts +7 -0
  407. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts.map +1 -0
  408. package/dist/components/shad-cn-ui/SolidIconPicker.js +43 -0
  409. package/dist/components/shad-cn-ui/SolidIconPicker.js.map +1 -0
  410. package/dist/components/shad-cn-ui/SolidIconPicker.tsx +73 -0
  411. package/dist/components/shad-cn-ui/index.d.ts +1 -0
  412. package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
  413. package/dist/components/shad-cn-ui/index.js +1 -0
  414. package/dist/components/shad-cn-ui/index.js.map +1 -1
  415. package/dist/components/shad-cn-ui/index.ts +1 -0
  416. package/dist/constants/allowed-ai-models.d.ts +8 -0
  417. package/dist/constants/allowed-ai-models.d.ts.map +1 -0
  418. package/dist/constants/allowed-ai-models.js +33 -0
  419. package/dist/constants/allowed-ai-models.js.map +1 -0
  420. package/dist/constants/allowed-ai-models.ts +39 -0
  421. package/dist/helpers/hydrateRelationRules.d.ts.map +1 -1
  422. package/dist/helpers/hydrateRelationRules.js +3 -1
  423. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  424. package/dist/helpers/hydrateRelationRules.ts +5 -1
  425. package/dist/helpers/registry.d.ts +4 -2
  426. package/dist/helpers/registry.d.ts.map +1 -1
  427. package/dist/helpers/registry.js +75 -12
  428. package/dist/helpers/registry.js.map +1 -1
  429. package/dist/helpers/registry.ts +73 -16
  430. package/dist/helpers/updatePasswordField.d.ts.map +1 -1
  431. package/dist/helpers/updatePasswordField.js +21 -15
  432. package/dist/helpers/updatePasswordField.js.map +1 -1
  433. package/dist/helpers/updatePasswordField.ts +6 -1
  434. package/dist/index.d.ts +21 -5
  435. package/dist/index.d.ts.map +1 -1
  436. package/dist/index.js +16 -3
  437. package/dist/index.js.map +1 -1
  438. package/dist/index.ts +34 -3
  439. package/dist/redux/api/fieldApi.js +1 -1
  440. package/dist/redux/api/fieldApi.js.map +1 -1
  441. package/dist/redux/api/fieldApi.ts +2 -2
  442. package/dist/redux/api/modelApi.d.ts +13 -13
  443. package/dist/redux/api/modelApi.d.ts.map +1 -1
  444. package/dist/redux/api/modelApi.js +15 -15
  445. package/dist/redux/api/modelApi.js.map +1 -1
  446. package/dist/redux/api/modelApi.ts +12 -15
  447. package/dist/redux/features/agentSlice.d.ts +34 -0
  448. package/dist/redux/features/agentSlice.d.ts.map +1 -0
  449. package/dist/redux/features/agentSlice.js +92 -0
  450. package/dist/redux/features/agentSlice.js.map +1 -0
  451. package/dist/redux/features/agentSlice.ts +119 -0
  452. package/dist/redux/store/defaultStoreConfig.d.ts +11 -10
  453. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  454. package/dist/redux/store/defaultStoreConfig.js +2 -0
  455. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  456. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  457. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  458. package/dist/redux/store/solidEntityApiPool.js +7 -0
  459. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  460. package/dist/redux/store/solidEntityApiPool.ts +6 -0
  461. package/dist/resources/globals.css +109 -1
  462. package/dist/resources/solid-custom.css +295 -0
  463. package/dist/resources/solid-tailwind-generated.css +1 -1
  464. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.css +47 -0
  465. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts +12 -0
  466. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts.map +1 -0
  467. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js +80 -0
  468. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js.map +1 -0
  469. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.tsx +123 -0
  470. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.css +110 -0
  471. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts +3 -0
  472. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts.map +1 -0
  473. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js +702 -0
  474. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js.map +1 -0
  475. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.tsx +630 -0
  476. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.css +303 -0
  477. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts +3 -0
  478. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts.map +1 -0
  479. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js +330 -0
  480. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js.map +1 -0
  481. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.tsx +460 -0
  482. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.css +125 -0
  483. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts +3 -0
  484. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts.map +1 -0
  485. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js +295 -0
  486. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js.map +1 -0
  487. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.tsx +275 -0
  488. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +11 -11
  489. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +1 -1
  490. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +15 -15
  491. package/dist/routes/pages/embed/AgentEmbedPage.d.ts +3 -0
  492. package/dist/routes/pages/embed/AgentEmbedPage.d.ts.map +1 -0
  493. package/dist/routes/pages/embed/AgentEmbedPage.js +170 -0
  494. package/dist/routes/pages/embed/AgentEmbedPage.js.map +1 -0
  495. package/dist/routes/pages/embed/AgentEmbedPage.module.css +195 -0
  496. package/dist/routes/pages/embed/AgentEmbedPage.tsx +169 -0
  497. package/dist/routes/solidRoutes.d.ts.map +1 -1
  498. package/dist/routes/solidRoutes.js +8 -0
  499. package/dist/routes/solidRoutes.js.map +1 -1
  500. package/dist/routes/solidRoutes.tsx +8 -0
  501. package/dist/types/extension-registry.d.ts +4 -0
  502. package/dist/types/extension-registry.d.ts.map +1 -1
  503. package/dist/types/extension-registry.js +7 -0
  504. package/dist/types/extension-registry.js.map +1 -1
  505. package/dist/types/extension-registry.ts +7 -0
  506. package/dist/types/index.d.ts +4 -0
  507. package/dist/types/list-row-action.d.ts +2 -0
  508. package/dist/types/list-row-action.d.ts.map +1 -1
  509. package/dist/types/list-row-action.js.map +1 -1
  510. package/dist/types/list-row-action.ts +3 -0
  511. package/dist/types/solid-core.d.ts +36 -0
  512. package/package.json +1 -1
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { AlertTriangle, CheckCircle2, ChevronRight, CloudUpload, Cog, File, FilePen, FilePlus, Folder, Loader2, Pencil, Search, Terminal, XCircle, } from "lucide-react";
4
+ import styles from "./solidChatWidgets.module.css";
5
+ import { formatDuration, toolCategory, toolDisplayName } from "../agentFormat";
6
+ /** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */
7
+ function getToolIcon(name, args) {
8
+ if (name === "bash")
9
+ return Terminal;
10
+ if (name === "filesystem_tool" && typeof (args === null || args === void 0 ? void 0 : args.action) === "string") {
11
+ if (args.action === "read")
12
+ return File;
13
+ if (args.action === "search")
14
+ return Search;
15
+ if (args.action === "edit")
16
+ return Pencil;
17
+ if (args.action === "write")
18
+ return FilePlus;
19
+ }
20
+ switch (toolCategory(name)) {
21
+ case "Context":
22
+ return Search;
23
+ case "Build":
24
+ return FilePen;
25
+ case "Deploy":
26
+ return CloudUpload;
27
+ case "Files":
28
+ return Folder;
29
+ default:
30
+ return Cog;
31
+ }
32
+ }
33
+ var CARD_CLASS = {
34
+ running: styles.ToolCardRunning,
35
+ success: styles.ToolCardDone,
36
+ warning: styles.ToolCardWarning,
37
+ error: styles.ToolCardError,
38
+ };
39
+ function StatusIcon(_a) {
40
+ var status = _a.status;
41
+ if (status === "running")
42
+ return _jsx(Loader2, { size: 13, className: "".concat(styles.ToolCardStatusIcon, " ").concat(styles.Spin) });
43
+ if (status === "warning")
44
+ return _jsx(AlertTriangle, { size: 13, className: styles.ToolCardStatusWarning });
45
+ if (status === "error")
46
+ return _jsx(XCircle, { size: 13, className: styles.ToolCardStatusError });
47
+ return _jsx(CheckCircle2, { size: 13, className: styles.ToolCardStatusDone });
48
+ }
49
+ /**
50
+ * Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the
51
+ * header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.
52
+ */
53
+ export var DefaultToolCallChatWidget = function (_a) {
54
+ var _b, _c, _d, _e;
55
+ var eventData = _a.eventData, live = _a.live;
56
+ var _f = useState(false), expanded = _f[0], setExpanded = _f[1];
57
+ var toolName = (_b = eventData.tool_name) !== null && _b !== void 0 ? _b : "tool";
58
+ var args = eventData.arguments;
59
+ var progress = Array.isArray(eventData.progress) ? eventData.progress : [];
60
+ var status = live ? "running" : (_c = eventData.status) !== null && _c !== void 0 ? _c : "success";
61
+ var output = (_d = eventData.output_raw) !== null && _d !== void 0 ? _d : eventData.output;
62
+ var hasArgs = !!args && Object.keys(args).length > 0;
63
+ var expandable = (hasArgs || !!output) && status !== "running";
64
+ var ToolIcon = getToolIcon(toolName, args);
65
+ return (_jsxs("div", { className: "".concat(styles.ToolCard, " ").concat((_e = CARD_CLASS[status]) !== null && _e !== void 0 ? _e : styles.ToolCardDone), children: [_jsxs("button", { type: "button", className: styles.ToolCardHeaderBtn, onClick: expandable ? function () { return setExpanded(function (value) { return !value; }); } : undefined, "data-expandable": expandable ? "true" : undefined, "aria-expanded": expandable ? expanded : undefined, children: [_jsx(StatusIcon, { status: status }), _jsx(ToolIcon, { size: 12, className: styles.ToolCardToolIcon }), _jsx("span", { className: styles.ToolCardName, children: live ? "Invoking ".concat(toolDisplayName(toolName, args), "\u2026") : toolDisplayName(toolName, args) }), eventData.summary && _jsx("span", { className: styles.ToolCardDesc, title: eventData.summary, children: eventData.summary }), _jsx("span", { className: styles.ToolCardBadge, children: toolCategory(toolName) }), eventData.duration_ms != null && _jsx("span", { className: styles.ToolCardDuration, children: formatDuration(eventData.duration_ms) }), expandable && _jsx(ChevronRight, { size: 11, className: "".concat(styles.ToolCardChevron, " ").concat(expanded ? styles.ToolCardChevronOpen : "") })] }), progress.length > 0 && (_jsx("div", { className: styles.ToolCardProgress, children: progress.map(function (step, index) { return (_jsxs("div", { className: "".concat(styles.ToolProgressItem, " ").concat(step.status === "running" ? styles.ToolProgressRunning : styles.ToolProgressDone), children: [step.status === "running" ? _jsx(Loader2, { size: 10, className: styles.Spin }) : _jsx(CheckCircle2, { size: 10 }), _jsx("span", { className: styles.ToolProgressLabel, children: step.label }), step.duration_ms != null && step.status === "done" && (_jsx("span", { className: styles.ToolProgressDuration, children: formatDuration(step.duration_ms) }))] }, index)); }) })), expanded && (_jsxs("div", { className: styles.ToolCardExpandable, children: [hasArgs && (_jsxs("div", { className: styles.ToolCardOutput, children: [_jsx("div", { className: styles.ToolOutputHeader, children: _jsx("span", { children: "Arguments" }) }), _jsx("pre", { className: styles.ToolOutputText, children: JSON.stringify(args, null, 2) })] })), output && (_jsxs("div", { className: styles.ToolCardOutput, children: [_jsx("div", { className: styles.ToolOutputHeader, children: _jsx("span", { children: "Result" }) }), _jsx("pre", { className: "".concat(styles.ToolOutputText, " ").concat(status === "warning" ? styles.ToolOutputWarning : status === "error" ? styles.ToolOutputError : ""), children: output })] }))] }))] }));
66
+ };
67
+ //# sourceMappingURL=DefaultToolCallChatWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultToolCallChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport {\n AlertTriangle,\n CheckCircle2,\n ChevronRight,\n CloudUpload,\n Cog,\n File,\n FilePen,\n FilePlus,\n Folder,\n Loader2,\n Pencil,\n Search,\n Terminal,\n XCircle,\n type LucideIcon,\n} from \"lucide-react\";\nimport styles from \"./solidChatWidgets.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { formatDuration, toolCategory, toolDisplayName } from \"../agentFormat\";\n\ntype ToolStatus = \"running\" | \"success\" | \"warning\" | \"error\";\ntype ToolProgressStep = { label: string; status: \"running\" | \"done\"; duration_ms?: number };\n\n/** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */\nfunction getToolIcon(name: string, args?: Record<string, unknown>): LucideIcon {\n if (name === \"bash\") return Terminal;\n if (name === \"filesystem_tool\" && typeof args?.action === \"string\") {\n if (args.action === \"read\") return File;\n if (args.action === \"search\") return Search;\n if (args.action === \"edit\") return Pencil;\n if (args.action === \"write\") return FilePlus;\n }\n switch (toolCategory(name)) {\n case \"Context\":\n return Search;\n case \"Build\":\n return FilePen;\n case \"Deploy\":\n return CloudUpload;\n case \"Files\":\n return Folder;\n default:\n return Cog;\n }\n}\n\nconst CARD_CLASS: Record<ToolStatus, string> = {\n running: styles.ToolCardRunning,\n success: styles.ToolCardDone,\n warning: styles.ToolCardWarning,\n error: styles.ToolCardError,\n};\n\nfunction StatusIcon({ status }: { status: ToolStatus }) {\n if (status === \"running\") return <Loader2 size={13} className={`${styles.ToolCardStatusIcon} ${styles.Spin}`} />;\n if (status === \"warning\") return <AlertTriangle size={13} className={styles.ToolCardStatusWarning} />;\n if (status === \"error\") return <XCircle size={13} className={styles.ToolCardStatusError} />;\n return <CheckCircle2 size={13} className={styles.ToolCardStatusDone} />;\n}\n\n/**\n * Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the\n * header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.\n */\nexport const DefaultToolCallChatWidget = ({ eventData, live }: SolidChatWidgetProps) => {\n const [expanded, setExpanded] = useState(false);\n const toolName: string = eventData.tool_name ?? \"tool\";\n const args: Record<string, unknown> | undefined = eventData.arguments;\n const progress: ToolProgressStep[] = Array.isArray(eventData.progress) ? eventData.progress : [];\n const status: ToolStatus = live ? \"running\" : (eventData.status as ToolStatus) ?? \"success\";\n const output: string | undefined = eventData.output_raw ?? eventData.output;\n const hasArgs = !!args && Object.keys(args).length > 0;\n const expandable = (hasArgs || !!output) && status !== \"running\";\n const ToolIcon = getToolIcon(toolName, args);\n\n return (\n <div className={`${styles.ToolCard} ${CARD_CLASS[status] ?? styles.ToolCardDone}`}>\n <button\n type=\"button\"\n className={styles.ToolCardHeaderBtn}\n onClick={expandable ? () => setExpanded((value) => !value) : undefined}\n data-expandable={expandable ? \"true\" : undefined}\n aria-expanded={expandable ? expanded : undefined}\n >\n <StatusIcon status={status} />\n <ToolIcon size={12} className={styles.ToolCardToolIcon} />\n <span className={styles.ToolCardName}>{live ? `Invoking ${toolDisplayName(toolName, args)}…` : toolDisplayName(toolName, args)}</span>\n {eventData.summary && <span className={styles.ToolCardDesc} title={eventData.summary}>{eventData.summary}</span>}\n <span className={styles.ToolCardBadge}>{toolCategory(toolName)}</span>\n {eventData.duration_ms != null && <span className={styles.ToolCardDuration}>{formatDuration(eventData.duration_ms)}</span>}\n {expandable && <ChevronRight size={11} className={`${styles.ToolCardChevron} ${expanded ? styles.ToolCardChevronOpen : \"\"}`} />}\n </button>\n\n {/* Progress sub-steps: always visible */}\n {progress.length > 0 && (\n <div className={styles.ToolCardProgress}>\n {progress.map((step, index) => (\n <div key={index} className={`${styles.ToolProgressItem} ${step.status === \"running\" ? styles.ToolProgressRunning : styles.ToolProgressDone}`}>\n {step.status === \"running\" ? <Loader2 size={10} className={styles.Spin} /> : <CheckCircle2 size={10} />}\n <span className={styles.ToolProgressLabel}>{step.label}</span>\n {step.duration_ms != null && step.status === \"done\" && (\n <span className={styles.ToolProgressDuration}>{formatDuration(step.duration_ms)}</span>\n )}\n </div>\n ))}\n </div>\n )}\n\n {expanded && (\n <div className={styles.ToolCardExpandable}>\n {hasArgs && (\n <div className={styles.ToolCardOutput}>\n <div className={styles.ToolOutputHeader}>\n <span>Arguments</span>\n </div>\n <pre className={styles.ToolOutputText}>{JSON.stringify(args, null, 2)}</pre>\n </div>\n )}\n {output && (\n <div className={styles.ToolCardOutput}>\n <div className={styles.ToolOutputHeader}>\n <span>Result</span>\n </div>\n <pre className={`${styles.ToolOutputText} ${status === \"warning\" ? styles.ToolOutputWarning : status === \"error\" ? styles.ToolOutputError : \"\"}`}>\n {output}\n </pre>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -0,0 +1,135 @@
1
+ import { useState } from "react";
2
+ import {
3
+ AlertTriangle,
4
+ CheckCircle2,
5
+ ChevronRight,
6
+ CloudUpload,
7
+ Cog,
8
+ File,
9
+ FilePen,
10
+ FilePlus,
11
+ Folder,
12
+ Loader2,
13
+ Pencil,
14
+ Search,
15
+ Terminal,
16
+ XCircle,
17
+ type LucideIcon,
18
+ } from "lucide-react";
19
+ import styles from "./solidChatWidgets.module.css";
20
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
21
+ import { formatDuration, toolCategory, toolDisplayName } from "../agentFormat";
22
+
23
+ type ToolStatus = "running" | "success" | "warning" | "error";
24
+ type ToolProgressStep = { label: string; status: "running" | "done"; duration_ms?: number };
25
+
26
+ /** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */
27
+ function getToolIcon(name: string, args?: Record<string, unknown>): LucideIcon {
28
+ if (name === "bash") return Terminal;
29
+ if (name === "filesystem_tool" && typeof args?.action === "string") {
30
+ if (args.action === "read") return File;
31
+ if (args.action === "search") return Search;
32
+ if (args.action === "edit") return Pencil;
33
+ if (args.action === "write") return FilePlus;
34
+ }
35
+ switch (toolCategory(name)) {
36
+ case "Context":
37
+ return Search;
38
+ case "Build":
39
+ return FilePen;
40
+ case "Deploy":
41
+ return CloudUpload;
42
+ case "Files":
43
+ return Folder;
44
+ default:
45
+ return Cog;
46
+ }
47
+ }
48
+
49
+ const CARD_CLASS: Record<ToolStatus, string> = {
50
+ running: styles.ToolCardRunning,
51
+ success: styles.ToolCardDone,
52
+ warning: styles.ToolCardWarning,
53
+ error: styles.ToolCardError,
54
+ };
55
+
56
+ function StatusIcon({ status }: { status: ToolStatus }) {
57
+ if (status === "running") return <Loader2 size={13} className={`${styles.ToolCardStatusIcon} ${styles.Spin}`} />;
58
+ if (status === "warning") return <AlertTriangle size={13} className={styles.ToolCardStatusWarning} />;
59
+ if (status === "error") return <XCircle size={13} className={styles.ToolCardStatusError} />;
60
+ return <CheckCircle2 size={13} className={styles.ToolCardStatusDone} />;
61
+ }
62
+
63
+ /**
64
+ * Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the
65
+ * header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.
66
+ */
67
+ export const DefaultToolCallChatWidget = ({ eventData, live }: SolidChatWidgetProps) => {
68
+ const [expanded, setExpanded] = useState(false);
69
+ const toolName: string = eventData.tool_name ?? "tool";
70
+ const args: Record<string, unknown> | undefined = eventData.arguments;
71
+ const progress: ToolProgressStep[] = Array.isArray(eventData.progress) ? eventData.progress : [];
72
+ const status: ToolStatus = live ? "running" : (eventData.status as ToolStatus) ?? "success";
73
+ const output: string | undefined = eventData.output_raw ?? eventData.output;
74
+ const hasArgs = !!args && Object.keys(args).length > 0;
75
+ const expandable = (hasArgs || !!output) && status !== "running";
76
+ const ToolIcon = getToolIcon(toolName, args);
77
+
78
+ return (
79
+ <div className={`${styles.ToolCard} ${CARD_CLASS[status] ?? styles.ToolCardDone}`}>
80
+ <button
81
+ type="button"
82
+ className={styles.ToolCardHeaderBtn}
83
+ onClick={expandable ? () => setExpanded((value) => !value) : undefined}
84
+ data-expandable={expandable ? "true" : undefined}
85
+ aria-expanded={expandable ? expanded : undefined}
86
+ >
87
+ <StatusIcon status={status} />
88
+ <ToolIcon size={12} className={styles.ToolCardToolIcon} />
89
+ <span className={styles.ToolCardName}>{live ? `Invoking ${toolDisplayName(toolName, args)}…` : toolDisplayName(toolName, args)}</span>
90
+ {eventData.summary && <span className={styles.ToolCardDesc} title={eventData.summary}>{eventData.summary}</span>}
91
+ <span className={styles.ToolCardBadge}>{toolCategory(toolName)}</span>
92
+ {eventData.duration_ms != null && <span className={styles.ToolCardDuration}>{formatDuration(eventData.duration_ms)}</span>}
93
+ {expandable && <ChevronRight size={11} className={`${styles.ToolCardChevron} ${expanded ? styles.ToolCardChevronOpen : ""}`} />}
94
+ </button>
95
+
96
+ {/* Progress sub-steps: always visible */}
97
+ {progress.length > 0 && (
98
+ <div className={styles.ToolCardProgress}>
99
+ {progress.map((step, index) => (
100
+ <div key={index} className={`${styles.ToolProgressItem} ${step.status === "running" ? styles.ToolProgressRunning : styles.ToolProgressDone}`}>
101
+ {step.status === "running" ? <Loader2 size={10} className={styles.Spin} /> : <CheckCircle2 size={10} />}
102
+ <span className={styles.ToolProgressLabel}>{step.label}</span>
103
+ {step.duration_ms != null && step.status === "done" && (
104
+ <span className={styles.ToolProgressDuration}>{formatDuration(step.duration_ms)}</span>
105
+ )}
106
+ </div>
107
+ ))}
108
+ </div>
109
+ )}
110
+
111
+ {expanded && (
112
+ <div className={styles.ToolCardExpandable}>
113
+ {hasArgs && (
114
+ <div className={styles.ToolCardOutput}>
115
+ <div className={styles.ToolOutputHeader}>
116
+ <span>Arguments</span>
117
+ </div>
118
+ <pre className={styles.ToolOutputText}>{JSON.stringify(args, null, 2)}</pre>
119
+ </div>
120
+ )}
121
+ {output && (
122
+ <div className={styles.ToolCardOutput}>
123
+ <div className={styles.ToolOutputHeader}>
124
+ <span>Result</span>
125
+ </div>
126
+ <pre className={`${styles.ToolOutputText} ${status === "warning" ? styles.ToolOutputWarning : status === "error" ? styles.ToolOutputError : ""}`}>
127
+ {output}
128
+ </pre>
129
+ </div>
130
+ )}
131
+ </div>
132
+ )}
133
+ </div>
134
+ );
135
+ };
@@ -0,0 +1,7 @@
1
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
2
+ /**
3
+ * Fallback when `event_data.widget` names a widget that is not registered, or an event type has
4
+ * no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
5
+ */
6
+ export declare const DefaultUnknownChatWidget: (props: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=DefaultUnknownChatWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUnknownChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAAW,oBAAoB,4CAQnE,CAAC"}
@@ -0,0 +1,24 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import styles from "../SolidAgent.module.css";
14
+ import { SolidJsonChatWidget } from "./SolidJsonChatWidget";
15
+ /**
16
+ * Fallback when `event_data.widget` names a widget that is not registered, or an event type has
17
+ * no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
18
+ */
19
+ export var DefaultUnknownChatWidget = function (props) {
20
+ var _a;
21
+ var label = ((_a = props.eventData) === null || _a === void 0 ? void 0 : _a.widget) ? "Unknown widget: ".concat(props.eventData.widget) : "Unhandled event: ".concat(props.eventType);
22
+ return (_jsxs("div", { className: styles.widgetFallback, children: [_jsx("span", { children: label }), _jsx(SolidJsonChatWidget, __assign({}, props, { eventData: { title: "Event data", data: props.eventData } }))] }));
23
+ };
24
+ //# sourceMappingURL=DefaultUnknownChatWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUnknownChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,KAA2B;;IAChE,IAAM,KAAK,GAAG,CAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,MAAM,EAAC,CAAC,CAAC,0BAAmB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,2BAAoB,KAAK,CAAC,SAAS,CAAE,CAAC;IAC5H,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,cAAc,aACjC,yBAAO,KAAK,GAAQ,EACpB,KAAC,mBAAmB,eAAK,KAAK,IAAE,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,IAC3F,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidJsonChatWidget } from \"./SolidJsonChatWidget\";\n\n/**\n * Fallback when `event_data.widget` names a widget that is not registered, or an event type has\n * no default widget: the payload is shown as collapsible JSON so nothing silently disappears.\n */\nexport const DefaultUnknownChatWidget = (props: SolidChatWidgetProps) => {\n const label = props.eventData?.widget ? `Unknown widget: ${props.eventData.widget}` : `Unhandled event: ${props.eventType}`;\n return (\n <div className={styles.widgetFallback}>\n <span>{label}</span>\n <SolidJsonChatWidget {...props} eventData={{ title: \"Event data\", data: props.eventData }} />\n </div>\n );\n};\n"]}
@@ -0,0 +1,17 @@
1
+ import styles from "../SolidAgent.module.css";
2
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
3
+ import { SolidJsonChatWidget } from "./SolidJsonChatWidget";
4
+
5
+ /**
6
+ * Fallback when `event_data.widget` names a widget that is not registered, or an event type has
7
+ * no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
8
+ */
9
+ export const DefaultUnknownChatWidget = (props: SolidChatWidgetProps) => {
10
+ const label = props.eventData?.widget ? `Unknown widget: ${props.eventData.widget}` : `Unhandled event: ${props.eventType}`;
11
+ return (
12
+ <div className={styles.widgetFallback}>
13
+ <span>{label}</span>
14
+ <SolidJsonChatWidget {...props} eventData={{ title: "Event data", data: props.eventData }} />
15
+ </div>
16
+ );
17
+ };
@@ -0,0 +1,8 @@
1
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
2
+ /**
3
+ * Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
4
+ * Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
5
+ * History only carries attachment metadata, so reloaded images show as chips.
6
+ */
7
+ export declare const DefaultUserMessageChatWidget: ({ eventData, timestamp }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=DefaultUserMessageChatWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUserMessageChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,6BAA8B,oBAAoB,4CA8D1F,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { FileText, ImageIcon, User } from "lucide-react";
4
+ import styles from "./solidChatWidgets.module.css";
5
+ import { SolidAgentMessageCopyButton } from "../SolidAgentMarkdown";
6
+ import { formatFileSize } from "../agentAttachments";
7
+ import { asArray, formatChatTime } from "./chatWidgetUtils";
8
+ /**
9
+ * Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
10
+ * Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
11
+ * History only carries attachment metadata, so reloaded images show as chips.
12
+ */
13
+ export var DefaultUserMessageChatWidget = function (_a) {
14
+ var _b;
15
+ var eventData = _a.eventData, timestamp = _a.timestamp;
16
+ var content = String((_b = eventData.content) !== null && _b !== void 0 ? _b : "");
17
+ var attachments = asArray(eventData.attachments);
18
+ var _c = useState(null), zoom = _c[0], setZoom = _c[1];
19
+ return (_jsxs("div", { className: "".concat(styles.Row, " ").concat(styles.RowUser), children: [_jsx("div", { className: "".concat(styles.Avatar, " ").concat(styles.AvatarUser), children: _jsx(User, { size: 12 }) }), _jsxs("div", { className: styles.BubbleGroup, children: [attachments.length > 0 && (_jsx("ul", { className: styles.MessageAttachments, "aria-label": "Attachments", children: attachments.map(function (file, index) {
20
+ var _a, _b, _c, _d;
21
+ // previewUrl: attached in this browser session; url: stored copy (history).
22
+ var imageSrc = ((_a = file.mimeType) === null || _a === void 0 ? void 0 : _a.startsWith("image/")) ? (_b = file.previewUrl) !== null && _b !== void 0 ? _b : file.url : undefined;
23
+ if (imageSrc) {
24
+ return (_jsx("li", { children: _jsx("button", { type: "button", className: styles.MessageAttachmentImageBtn, onClick: function () { return setZoom(imageSrc); }, title: file.name, children: _jsx("img", { className: styles.MessageAttachmentImage, src: imageSrc, alt: file.name }) }) }, index));
25
+ }
26
+ var chip = (_jsxs(_Fragment, { children: [((_c = file.mimeType) === null || _c === void 0 ? void 0 : _c.startsWith("image/")) ? _jsx(ImageIcon, { size: 13 }) : _jsx(FileText, { size: 13 }), _jsx("span", { className: styles.MessageAttachmentName, children: file.name }), _jsx("span", { className: styles.MessageAttachmentSize, children: formatFileSize((_d = file.size) !== null && _d !== void 0 ? _d : 0) })] }));
27
+ return (_jsx("li", { title: file.name, children: file.url ? (_jsx("a", { className: styles.MessageAttachmentFile, href: file.url, target: "_blank", rel: "noopener noreferrer", children: chip })) : (_jsx("span", { className: styles.MessageAttachmentFile, children: chip })) }, index));
28
+ }) })), content && (_jsx("div", { className: "".concat(styles.Bubble, " ").concat(styles.BubbleUser), children: _jsx("p", { className: styles.UserText, children: content }) })), _jsxs("div", { className: "".concat(styles.BubbleMeta, " ").concat(styles.BubbleMetaUser), children: [_jsx("span", { className: styles.Timestamp, children: formatChatTime(timestamp) }), content && _jsx(SolidAgentMessageCopyButton, { text: content })] })] }), zoom && (_jsx("div", { className: styles.AttachmentLightbox, role: "dialog", "aria-label": "Image preview", onClick: function () { return setZoom(null); }, children: _jsx("img", { src: zoom, alt: "" }) }))] }));
29
+ };
30
+ //# sourceMappingURL=DefaultUserMessageChatWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultUserMessageChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport { FileText, ImageIcon, User } from \"lucide-react\";\nimport styles from \"./solidChatWidgets.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidAgentMessageCopyButton } from \"../SolidAgentMarkdown\";\nimport { formatFileSize } from \"../agentAttachments\";\nimport type { AgentAttachmentMeta } from \"../types\";\nimport { asArray, formatChatTime } from \"./chatWidgetUtils\";\n\n/**\n * Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.\n * Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.\n * History only carries attachment metadata, so reloaded images show as chips.\n */\nexport const DefaultUserMessageChatWidget = ({ eventData, timestamp }: SolidChatWidgetProps) => {\n const content = String(eventData.content ?? \"\");\n const attachments = asArray<AgentAttachmentMeta>(eventData.attachments);\n const [zoom, setZoom] = useState<string | null>(null);\n\n return (\n <div className={`${styles.Row} ${styles.RowUser}`}>\n {/* Avatar first in DOM → rightmost with row-reverse */}\n <div className={`${styles.Avatar} ${styles.AvatarUser}`}>\n <User size={12} />\n </div>\n <div className={styles.BubbleGroup}>\n {attachments.length > 0 && (\n <ul className={styles.MessageAttachments} aria-label=\"Attachments\">\n {attachments.map((file, index) => {\n // previewUrl: attached in this browser session; url: stored copy (history).\n const imageSrc = file.mimeType?.startsWith(\"image/\") ? file.previewUrl ?? file.url : undefined;\n if (imageSrc) {\n return (\n <li key={index}>\n <button type=\"button\" className={styles.MessageAttachmentImageBtn} onClick={() => setZoom(imageSrc)} title={file.name}>\n <img className={styles.MessageAttachmentImage} src={imageSrc} alt={file.name} />\n </button>\n </li>\n );\n }\n const chip = (\n <>\n {file.mimeType?.startsWith(\"image/\") ? <ImageIcon size={13} /> : <FileText size={13} />}\n <span className={styles.MessageAttachmentName}>{file.name}</span>\n <span className={styles.MessageAttachmentSize}>{formatFileSize(file.size ?? 0)}</span>\n </>\n );\n return (\n <li key={index} title={file.name}>\n {file.url ? (\n <a className={styles.MessageAttachmentFile} href={file.url} target=\"_blank\" rel=\"noopener noreferrer\">{chip}</a>\n ) : (\n <span className={styles.MessageAttachmentFile}>{chip}</span>\n )}\n </li>\n );\n })}\n </ul>\n )}\n {content && (\n <div className={`${styles.Bubble} ${styles.BubbleUser}`}>\n <p className={styles.UserText}>{content}</p>\n </div>\n )}\n <div className={`${styles.BubbleMeta} ${styles.BubbleMetaUser}`}>\n <span className={styles.Timestamp}>{formatChatTime(timestamp)}</span>\n {content && <SolidAgentMessageCopyButton text={content} />}\n </div>\n </div>\n {zoom && (\n <div className={styles.AttachmentLightbox} role=\"dialog\" aria-label=\"Image preview\" onClick={() => setZoom(null)}>\n <img src={zoom} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -0,0 +1,77 @@
1
+ import { useState } from "react";
2
+ import { FileText, ImageIcon, User } from "lucide-react";
3
+ import styles from "./solidChatWidgets.module.css";
4
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
5
+ import { SolidAgentMessageCopyButton } from "../SolidAgentMarkdown";
6
+ import { formatFileSize } from "../agentAttachments";
7
+ import type { AgentAttachmentMeta } from "../types";
8
+ import { asArray, formatChatTime } from "./chatWidgetUtils";
9
+
10
+ /**
11
+ * Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
12
+ * Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
13
+ * History only carries attachment metadata, so reloaded images show as chips.
14
+ */
15
+ export const DefaultUserMessageChatWidget = ({ eventData, timestamp }: SolidChatWidgetProps) => {
16
+ const content = String(eventData.content ?? "");
17
+ const attachments = asArray<AgentAttachmentMeta>(eventData.attachments);
18
+ const [zoom, setZoom] = useState<string | null>(null);
19
+
20
+ return (
21
+ <div className={`${styles.Row} ${styles.RowUser}`}>
22
+ {/* Avatar first in DOM → rightmost with row-reverse */}
23
+ <div className={`${styles.Avatar} ${styles.AvatarUser}`}>
24
+ <User size={12} />
25
+ </div>
26
+ <div className={styles.BubbleGroup}>
27
+ {attachments.length > 0 && (
28
+ <ul className={styles.MessageAttachments} aria-label="Attachments">
29
+ {attachments.map((file, index) => {
30
+ // previewUrl: attached in this browser session; url: stored copy (history).
31
+ const imageSrc = file.mimeType?.startsWith("image/") ? file.previewUrl ?? file.url : undefined;
32
+ if (imageSrc) {
33
+ return (
34
+ <li key={index}>
35
+ <button type="button" className={styles.MessageAttachmentImageBtn} onClick={() => setZoom(imageSrc)} title={file.name}>
36
+ <img className={styles.MessageAttachmentImage} src={imageSrc} alt={file.name} />
37
+ </button>
38
+ </li>
39
+ );
40
+ }
41
+ const chip = (
42
+ <>
43
+ {file.mimeType?.startsWith("image/") ? <ImageIcon size={13} /> : <FileText size={13} />}
44
+ <span className={styles.MessageAttachmentName}>{file.name}</span>
45
+ <span className={styles.MessageAttachmentSize}>{formatFileSize(file.size ?? 0)}</span>
46
+ </>
47
+ );
48
+ return (
49
+ <li key={index} title={file.name}>
50
+ {file.url ? (
51
+ <a className={styles.MessageAttachmentFile} href={file.url} target="_blank" rel="noopener noreferrer">{chip}</a>
52
+ ) : (
53
+ <span className={styles.MessageAttachmentFile}>{chip}</span>
54
+ )}
55
+ </li>
56
+ );
57
+ })}
58
+ </ul>
59
+ )}
60
+ {content && (
61
+ <div className={`${styles.Bubble} ${styles.BubbleUser}`}>
62
+ <p className={styles.UserText}>{content}</p>
63
+ </div>
64
+ )}
65
+ <div className={`${styles.BubbleMeta} ${styles.BubbleMetaUser}`}>
66
+ <span className={styles.Timestamp}>{formatChatTime(timestamp)}</span>
67
+ {content && <SolidAgentMessageCopyButton text={content} />}
68
+ </div>
69
+ </div>
70
+ {zoom && (
71
+ <div className={styles.AttachmentLightbox} role="dialog" aria-label="Image preview" onClick={() => setZoom(null)}>
72
+ <img src={zoom} alt="" />
73
+ </div>
74
+ )}
75
+ </div>
76
+ );
77
+ };
@@ -0,0 +1,7 @@
1
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
2
+ /**
3
+ * `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
4
+ * Replies with the ids of the ticked items.
5
+ */
6
+ export declare const SolidChecklistChatWidget: ({ eventData, final, reply }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SolidChecklistChatWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidChecklistChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,gCAAiC,oBAAoB,4CA4CzF,CAAC"}
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useState } from "react";
14
+ import styles from "../SolidAgent.module.css";
15
+ import { asArray, getChatWidgetData } from "./chatWidgetUtils";
16
+ /**
17
+ * `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
18
+ * Replies with the ids of the ticked items.
19
+ */
20
+ export var SolidChecklistChatWidget = function (_a) {
21
+ var _b;
22
+ var eventData = _a.eventData, final = _a.final, reply = _a.reply;
23
+ var data = getChatWidgetData(eventData);
24
+ var items = asArray(data.items).map(function (item, index) { var _a; return (__assign(__assign({}, item), { id: (_a = item.id) !== null && _a !== void 0 ? _a : String(index) })); });
25
+ var _c = useState(function () { return new Set(items.filter(function (item) { return item.checked; }).map(function (item) { return item.id; })); }), checked = _c[0], setChecked = _c[1];
26
+ var _d = useState(false), sent = _d[0], setSent = _d[1];
27
+ var locked = final || sent;
28
+ var toggle = function (id) {
29
+ return setChecked(function (prev) {
30
+ var next = new Set(prev);
31
+ next.has(id) ? next.delete(id) : next.add(id);
32
+ return next;
33
+ });
34
+ };
35
+ return (_jsxs("div", { className: styles.card, children: [data.title && _jsx("div", { className: styles.cardHead, children: data.title }), _jsx("div", { className: styles.cardBody, children: items.map(function (item) { return (_jsxs("label", { className: styles.checkRow, children: [_jsx("input", { type: "checkbox", checked: checked.has(item.id), disabled: locked, onChange: function () { return toggle(item.id); } }), _jsxs("span", { children: [item.label, item.description && _jsx("span", { style: { display: "block", fontSize: 12, color: "var(--agent-muted)" }, children: item.description })] })] }, item.id)); }) }), !locked && (_jsx("div", { className: styles.cardFoot, children: _jsx("button", { type: "button", className: "".concat(styles.btn, " ").concat(styles.btnPrimary), onClick: function () {
36
+ setSent(true);
37
+ reply(Array.from(checked));
38
+ }, children: (_b = data.submitLabel) !== null && _b !== void 0 ? _b : "Continue" }) }))] }));
39
+ };
40
+ //# sourceMappingURL=SolidChecklistChatWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidChecklistChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { asArray, getChatWidgetData } from \"./chatWidgetUtils\";\n\ntype ChecklistItem = { id?: string; label: string; checked?: boolean; description?: string };\ntype ChecklistData = { title?: string; items?: ChecklistItem[]; submitLabel?: string };\n\n/**\n * `event_data: { widget: \"checklist\", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.\n * Replies with the ids of the ticked items.\n */\nexport const SolidChecklistChatWidget = ({ eventData, final, reply }: SolidChatWidgetProps) => {\n const data = getChatWidgetData<ChecklistData>(eventData);\n const items = asArray<ChecklistItem>(data.items).map((item, index) => ({ ...item, id: item.id ?? String(index) }));\n const [checked, setChecked] = useState<Set<string>>(() => new Set(items.filter((item) => item.checked).map((item) => item.id)));\n const [sent, setSent] = useState(false);\n const locked = final || sent;\n\n const toggle = (id: string) =>\n setChecked((prev) => {\n const next = new Set(prev);\n next.has(id) ? next.delete(id) : next.add(id);\n return next;\n });\n\n return (\n <div className={styles.card}>\n {data.title && <div className={styles.cardHead}>{data.title}</div>}\n <div className={styles.cardBody}>\n {items.map((item) => (\n <label key={item.id} className={styles.checkRow}>\n <input type=\"checkbox\" checked={checked.has(item.id)} disabled={locked} onChange={() => toggle(item.id)} />\n <span>\n {item.label}\n {item.description && <span style={{ display: \"block\", fontSize: 12, color: \"var(--agent-muted)\" }}>{item.description}</span>}\n </span>\n </label>\n ))}\n </div>\n {!locked && (\n <div className={styles.cardFoot}>\n <button\n type=\"button\"\n className={`${styles.btn} ${styles.btnPrimary}`}\n onClick={() => {\n setSent(true);\n reply(Array.from(checked));\n }}\n >\n {data.submitLabel ?? \"Continue\"}\n </button>\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -0,0 +1,57 @@
1
+ import { useState } from "react";
2
+ import styles from "../SolidAgent.module.css";
3
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
4
+ import { asArray, getChatWidgetData } from "./chatWidgetUtils";
5
+
6
+ type ChecklistItem = { id?: string; label: string; checked?: boolean; description?: string };
7
+ type ChecklistData = { title?: string; items?: ChecklistItem[]; submitLabel?: string };
8
+
9
+ /**
10
+ * `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
11
+ * Replies with the ids of the ticked items.
12
+ */
13
+ export const SolidChecklistChatWidget = ({ eventData, final, reply }: SolidChatWidgetProps) => {
14
+ const data = getChatWidgetData<ChecklistData>(eventData);
15
+ const items = asArray<ChecklistItem>(data.items).map((item, index) => ({ ...item, id: item.id ?? String(index) }));
16
+ const [checked, setChecked] = useState<Set<string>>(() => new Set(items.filter((item) => item.checked).map((item) => item.id)));
17
+ const [sent, setSent] = useState(false);
18
+ const locked = final || sent;
19
+
20
+ const toggle = (id: string) =>
21
+ setChecked((prev) => {
22
+ const next = new Set(prev);
23
+ next.has(id) ? next.delete(id) : next.add(id);
24
+ return next;
25
+ });
26
+
27
+ return (
28
+ <div className={styles.card}>
29
+ {data.title && <div className={styles.cardHead}>{data.title}</div>}
30
+ <div className={styles.cardBody}>
31
+ {items.map((item) => (
32
+ <label key={item.id} className={styles.checkRow}>
33
+ <input type="checkbox" checked={checked.has(item.id)} disabled={locked} onChange={() => toggle(item.id)} />
34
+ <span>
35
+ {item.label}
36
+ {item.description && <span style={{ display: "block", fontSize: 12, color: "var(--agent-muted)" }}>{item.description}</span>}
37
+ </span>
38
+ </label>
39
+ ))}
40
+ </div>
41
+ {!locked && (
42
+ <div className={styles.cardFoot}>
43
+ <button
44
+ type="button"
45
+ className={`${styles.btn} ${styles.btnPrimary}`}
46
+ onClick={() => {
47
+ setSent(true);
48
+ reply(Array.from(checked));
49
+ }}
50
+ >
51
+ {data.submitLabel ?? "Continue"}
52
+ </button>
53
+ </div>
54
+ )}
55
+ </div>
56
+ );
57
+ };
@@ -0,0 +1,4 @@
1
+ import { SolidChatWidgetProps } from "../../../../types/solid-core";
2
+ /** `event_data: { widget: "code", code, language?, filename? }` — a code block with copy. */
3
+ export declare const SolidCodeChatWidget: ({ eventData }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SolidCodeChatWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidCodeChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,kBAAmB,oBAAoB,4CAYtE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from "../SolidAgent.module.css";
3
+ import { SolidAgentCopyButton } from "../SolidAgentMarkdown";
4
+ import { getChatWidgetData } from "./chatWidgetUtils";
5
+ /** `event_data: { widget: "code", code, language?, filename? }` — a code block with copy. */
6
+ export var SolidCodeChatWidget = function (_a) {
7
+ var _b, _c, _d;
8
+ var eventData = _a.eventData;
9
+ var data = getChatWidgetData(eventData);
10
+ var code = String((_b = data.code) !== null && _b !== void 0 ? _b : "");
11
+ return (_jsxs("div", { className: styles.card, children: [_jsxs("div", { className: styles.cardHead, children: [_jsx("span", { className: styles.mono, style: { flex: 1 }, children: (_d = (_c = data.filename) !== null && _c !== void 0 ? _c : data.language) !== null && _d !== void 0 ? _d : "code" }), _jsx(SolidAgentCopyButton, { text: code, label: "Copy code" })] }), _jsx("pre", { className: styles.pre, style: { borderRadius: 0 }, children: code })] }));
12
+ };
13
+ //# sourceMappingURL=SolidCodeChatWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidCodeChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,6FAA6F;AAC7F,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAmC;;QAAjC,SAAS,eAAA;IAC3C,IAAM,IAAI,GAAG,iBAAiB,CAA0D,SAAS,CAAC,CAAC;IACnG,IAAM,IAAI,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IACrC,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACvB,eAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,aAC3B,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,mCAAI,MAAM,GAAQ,EACnG,KAAC,oBAAoB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW,GAAG,IACpD,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAG,IAAI,GAAO,IAClE,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidAgentCopyButton } from \"../SolidAgentMarkdown\";\nimport { getChatWidgetData } from \"./chatWidgetUtils\";\n\n/** `event_data: { widget: \"code\", code, language?, filename? }` — a code block with copy. */\nexport const SolidCodeChatWidget = ({ eventData }: SolidChatWidgetProps) => {\n const data = getChatWidgetData<{ code?: string; language?: string; filename?: string }>(eventData);\n const code = String(data.code ?? \"\");\n return (\n <div className={styles.card}>\n <div className={styles.cardHead}>\n <span className={styles.mono} style={{ flex: 1 }}>{data.filename ?? data.language ?? \"code\"}</span>\n <SolidAgentCopyButton text={code} label=\"Copy code\" />\n </div>\n <pre className={styles.pre} style={{ borderRadius: 0 }}>{code}</pre>\n </div>\n );\n};\n"]}