@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,451 @@
1
+ import React, { useCallback, useEffect, useState } from "react";
2
+ import { History, LogOut, Maximize2, Minimize2, Minus, PanelRight, Plus, Sparkles, Trash2, WifiOff, X } from "lucide-react";
3
+ import styles from "./SolidAgent.module.css";
4
+ import { agentModeChanged, agentPrefillConsumed } from "../../../redux/features/agentSlice";
5
+ import { deleteSession, fetchAgentConfigVersionStatus, fetchAgentModelAssignments, fetchSessionList, type AgentSessionSummary } from "./client/agentRest";
6
+ import { AgentThread } from "./thread/AgentThread";
7
+ import { AgentComposer } from "./composer/AgentComposer";
8
+ import type { AgentAttachment, AgentMode, AgentRuntimeType } from "./types";
9
+ import type { AgentInputContext } from "./useAdminInputContext";
10
+ import { useAgentChat } from "./useAgentChat";
11
+ import { useAgentAuth } from "./useAgentAuth";
12
+ import { AgentSignIn } from "./AgentSignIn";
13
+ import { signOutOfAgent } from "./client/agentAuth";
14
+ import { AgentModelIndicator } from "./AgentModelIndicator";
15
+ import type { AgentModelAssignments } from "./types";
16
+ import type { AgentInputDefinition } from "./embed/agentEmbedProtocol";
17
+ import { SolidButton } from "../../shad-cn-ui/SolidButton";
18
+ import { SolidDialog, SolidDialogBody } from "../../shad-cn-ui/SolidDialog";
19
+ import { SolidInput } from "../../shad-cn-ui/SolidInput";
20
+
21
+ type Props = {
22
+ agentUrl: string;
23
+ title?: string;
24
+ /** Which agent backend `agentUrl` belongs to (default "solidx", shared with the launcher). */
25
+ agentRuntime?: AgentRuntimeType;
26
+ inputContext?: AgentInputContext;
27
+ inputs?: Record<string, unknown>;
28
+ requiredInputs?: AgentInputDefinition[];
29
+ externalEmbed?: boolean;
30
+ onInputsLocked?: (locked: boolean) => void;
31
+ /** Rendered inside a page (tab/form widget) instead of the floating window: no window controls. */
32
+ embedded?: boolean;
33
+ /** Only one mounted chat should act on SDK prefill requests; the floating window does by default. */
34
+ handlesPrefill?: boolean;
35
+ suggestions?: string[];
36
+ /** Controlled window actions for an embedded chat rendered in a modal. */
37
+ windowControls?: {
38
+ mode: "docked" | "maximized";
39
+ onDock: () => void;
40
+ onMaximize: () => void;
41
+ onRestore: () => void;
42
+ onClose: () => void;
43
+ };
44
+ };
45
+
46
+ const DEFAULT_SUGGESTIONS = [
47
+ "What can you help me with in this app?",
48
+ "Show me the models in this module",
49
+ "Explain what this screen does",
50
+ ];
51
+
52
+ const AGENT_HUB_DEFAULT_SUGGESTIONS = [
53
+ "What can you help me with?",
54
+ "What tools can you use?",
55
+ "Summarize your capabilities",
56
+ ];
57
+
58
+ function formatDate(iso: string | null) {
59
+ if (!iso) return "";
60
+ const date = new Date(iso);
61
+ const days = Math.floor((Date.now() - date.getTime()) / 86_400_000);
62
+ if (days === 0) return date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
63
+ if (days === 1) return "Yesterday";
64
+ if (days < 7) return date.toLocaleDateString([], { weekday: "short" });
65
+ return date.toLocaleDateString([], { month: "short", day: "numeric" });
66
+ }
67
+
68
+ function parseInputValues(fields: AgentInputDefinition[], rawValues: Record<string, string>): { values?: Record<string, unknown>; error?: string } {
69
+ const values: Record<string, unknown> = {};
70
+ for (const field of fields) {
71
+ const raw = rawValues[field.name] ?? "";
72
+ if (field.dataType === "boolean") {
73
+ if (raw !== "true" && raw !== "false") return { error: `Choose true or false for “${field.name}”.` };
74
+ values[field.name] = raw === "true";
75
+ continue;
76
+ }
77
+ if (!raw.trim()) return { error: `Enter a value for “${field.name}”.` };
78
+ if (field.dataType === "number" || field.dataType === "integer") {
79
+ const value = Number(raw);
80
+ if (!Number.isFinite(value) || (field.dataType === "integer" && !Number.isSafeInteger(value))) {
81
+ return { error: `Enter a valid ${field.dataType} for “${field.name}”.` };
82
+ }
83
+ values[field.name] = value;
84
+ continue;
85
+ }
86
+ if (field.dataType === "object" || field.dataType === "array") {
87
+ try {
88
+ const value: unknown = JSON.parse(raw);
89
+ if (field.dataType === "object" && (!value || typeof value !== "object" || Array.isArray(value))) throw new Error();
90
+ if (field.dataType === "array" && !Array.isArray(value)) throw new Error();
91
+ values[field.name] = value;
92
+ } catch {
93
+ return { error: `Enter valid JSON ${field.dataType === "array" ? "array" : "object"} for “${field.name}”.` };
94
+ }
95
+ continue;
96
+ }
97
+ if (field.dataType === "date" && (Number.isNaN(Date.parse(raw)) || new Date(raw).toISOString().slice(0, 10) !== raw)) {
98
+ return { error: `Enter a valid date for “${field.name}”.` };
99
+ }
100
+ if (field.dataType === "datetime" && Number.isNaN(Date.parse(raw))) {
101
+ return { error: `Enter a valid date and time for “${field.name}”.` };
102
+ }
103
+ values[field.name] = raw;
104
+ }
105
+ return { values };
106
+ }
107
+
108
+ export function SolidAgentChat({
109
+ agentUrl,
110
+ title = "SolidX Agent",
111
+ agentRuntime = "solidx",
112
+ inputContext = {},
113
+ inputs,
114
+ requiredInputs = [],
115
+ externalEmbed = false,
116
+ onInputsLocked,
117
+ embedded = false,
118
+ // SDK prefill goes through the shared "solidx" conversation only.
119
+ handlesPrefill = !embedded && agentRuntime === "solidx",
120
+ suggestions,
121
+ windowControls,
122
+ }: Props) {
123
+ const { agent, dispatch, runtime } = useAgentChat(agentRuntime, agentUrl, externalEmbed);
124
+ // Agent login (API key → agentToken in sessionStorage); the chat is usable once signed in.
125
+ const agentAuth = useAgentAuth(agentUrl, agentRuntime === "agentHub");
126
+ const signedIn = agentAuth.status === "signedIn";
127
+ const signedInAs = agentAuth.auth?.user?.email ?? agentAuth.auth?.user?.username;
128
+ const emptyStateSuggestions = suggestions ?? (agentRuntime === "agentHub" ? AGENT_HUB_DEFAULT_SUGGESTIONS : DEFAULT_SUGGESTIONS);
129
+
130
+ const [showHistory, setShowHistory] = useState(false);
131
+ const [sessions, setSessions] = useState<AgentSessionSummary[]>([]);
132
+ const [seed, setSeed] = useState<{ text: string; key: number } | null>(null);
133
+ const [staleAgentConfig, setStaleAgentConfig] = useState(false);
134
+ const [modelAssignments, setModelAssignments] = useState<AgentModelAssignments | null>(null);
135
+ const [collectedInputs, setCollectedInputs] = useState<Record<string, unknown> | null>(null);
136
+ const [rawInputValues, setRawInputValues] = useState<Record<string, string>>({});
137
+ const [inputError, setInputError] = useState("");
138
+ const shouldPromptForInputs = !externalEmbed && agentRuntime === "agentHub" && signedIn
139
+ && requiredInputs.length > 0 && inputs === undefined && collectedInputs === null;
140
+ const messageInputs = inputs ?? collectedInputs ?? undefined;
141
+
142
+ const submitRequiredInputs = (event: React.FormEvent<HTMLFormElement>) => {
143
+ event.preventDefault();
144
+ const result = parseInputValues(requiredInputs, rawInputValues);
145
+ if (!result.values) {
146
+ setInputError(result.error ?? "Check the input values and try again.");
147
+ return;
148
+ }
149
+ setCollectedInputs(result.values);
150
+ };
151
+
152
+ useEffect(() => {
153
+ if (!signedIn) {
154
+ setModelAssignments(null);
155
+ return;
156
+ }
157
+ let alive = true;
158
+ fetchAgentModelAssignments(agentUrl).then((models) => {
159
+ if (alive) setModelAssignments(models);
160
+ });
161
+ return () => { alive = false; };
162
+ }, [agentUrl, signedIn]);
163
+
164
+ useEffect(() => {
165
+ if (agentRuntime !== "agentHub" || !signedIn) {
166
+ setStaleAgentConfig(false);
167
+ return;
168
+ }
169
+
170
+ let alive = true;
171
+ const refreshConfigStatus = async () => {
172
+ try {
173
+ const status = await fetchAgentConfigVersionStatus(agentUrl);
174
+ if (alive && status) setStaleAgentConfig(status.stale);
175
+ } catch {
176
+ // Keep the last known status when the agent is temporarily unreachable.
177
+ }
178
+ };
179
+ void refreshConfigStatus();
180
+ const timer = window.setInterval(() => void refreshConfigStatus(), 30_000);
181
+ return () => {
182
+ alive = false;
183
+ window.clearInterval(timer);
184
+ };
185
+ }, [agentRuntime, agentUrl, signedIn]);
186
+
187
+ // SDK requests: solidAgent.open({ prompt, autoSend, context }).
188
+ useEffect(() => {
189
+ if (!handlesPrefill || !agent.prefill || !runtime) return;
190
+ const { prompt, autoSend, context, nonce } = agent.prefill;
191
+ dispatch(agentPrefillConsumed());
192
+ setShowHistory(false);
193
+ if (autoSend) runtime.sendMessage(prompt, { ...inputContext, ...(context ?? {}) });
194
+ else setSeed({ text: prompt, key: nonce });
195
+ }, [agent.prefill, handlesPrefill, dispatch, runtime, inputContext]);
196
+
197
+ useEffect(() => {
198
+ if (!showHistory || !signedIn) return;
199
+ let alive = true;
200
+ fetchSessionList(agentUrl).then((list) => alive && setSessions(list ?? []));
201
+ return () => {
202
+ alive = false;
203
+ };
204
+ }, [showHistory, agentUrl, signedIn]);
205
+
206
+ const setMode = (mode: AgentMode) => dispatch(agentModeChanged(mode));
207
+ const windowMode = windowControls?.mode ?? agent.mode;
208
+ const send = useCallback((text: string) => {
209
+ if (!text.trim() || !runtime) return;
210
+ onInputsLocked?.(true);
211
+ return runtime.sendMessage(text, inputContext, [], messageInputs);
212
+ }, [runtime, inputContext, messageInputs, onInputsLocked]);
213
+ const sendWithAttachments = useCallback(
214
+ (text: string, attachments: AgentAttachment[]) => {
215
+ if ((!text.trim() && !attachments.length) || !runtime) return;
216
+ onInputsLocked?.(true);
217
+ return runtime.sendMessage(text, inputContext, attachments, messageInputs);
218
+ },
219
+ [runtime, inputContext, messageInputs, onInputsLocked],
220
+ );
221
+ const offline = agent.connection === "reconnecting" || agent.connection === "offline";
222
+ const statusColor = agent.connection === "open" ? (agent.working ? "#eab308" : "#22c55e") : offline ? "#dc2626" : "#94a3b8";
223
+ const statusText =
224
+ agentAuth.status === "signedOut" ? "Sign in required"
225
+ : agent.connection === "open" ? (agent.working ? "Working…" : "Ready")
226
+ : agent.connection === "connecting" ? "Connecting…"
227
+ : offline ? "Reconnecting…" : "Idle";
228
+
229
+ const empty = (
230
+ <div className={styles.empty}>
231
+ <div className={styles.emptyMark}><Sparkles size={24} /></div>
232
+ <div>
233
+ <h2 className={styles.emptyTitle}>{agentRuntime === "agentHub" ? `Start a conversation with ${title}` : "How can I help?"}</h2>
234
+ <p className={styles.emptyText}>{agentRuntime === "agentHub"
235
+ ? "Ask this agent for help with its configured capabilities. It can use the tools and knowledge available to it."
236
+ : "Ask in plain English. I can read this app's metadata and data, and run the agent's tools for you."}</p>
237
+ </div>
238
+ <div className={styles.suggestions}>
239
+ {emptyStateSuggestions.map((text) => (
240
+ <button key={text} type="button" className={styles.suggestion} onClick={() => send(text)}>
241
+ {text}
242
+ </button>
243
+ ))}
244
+ </div>
245
+ </div>
246
+ );
247
+
248
+ return (
249
+ <>
250
+ {shouldPromptForInputs && <SolidDialog
251
+ open
252
+ dismissible={!!windowControls}
253
+ onOpenChange={(open) => { if (!open) windowControls?.onClose(); }}
254
+ className={styles.inputDialog}
255
+ overlayClassName={styles.inputDialogOverlay}
256
+ header="Set up this test run"
257
+ ariaLabel={`Enter required inputs for ${title}`}
258
+ style={{ width: "min(34rem, 94vw)" }}
259
+ >
260
+ <SolidDialogBody className={styles.inputDialogBody}>
261
+ <form className={styles.inputForm} autoComplete="off" onSubmit={submitRequiredInputs}>
262
+ <p>Sign-in is complete. Enter the values this agent needs before starting the conversation.</p>
263
+ <div className={styles.inputFields}>
264
+ {requiredInputs.map((field, index) => {
265
+ const id = `solid-agent-test-input-${index}`;
266
+ const value = rawInputValues[field.name] ?? "";
267
+ const update = (next: string) => {
268
+ setRawInputValues((current) => ({ ...current, [field.name]: next }));
269
+ setInputError("");
270
+ };
271
+ const inputType = field.dataType === "integer" || field.dataType === "number" ? "number"
272
+ : field.dataType === "datetime" ? "datetime-local"
273
+ : field.dataType === "date" ? "date" : "text";
274
+ return <label className={styles.inputField} htmlFor={id} key={`${field.name}-${index}`}>
275
+ <span>{field.name}<small>{field.description || field.dataType}</small></span>
276
+ {field.dataType === "boolean" ? (
277
+ <select id={id} autoComplete="off" value={value} onChange={(event) => update(event.target.value)}>
278
+ <option value="">Choose a value</option><option value="true">True</option><option value="false">False</option>
279
+ </select>
280
+ ) : field.dataType === "object" || field.dataType === "array" ? (
281
+ <textarea id={id} autoComplete="off" value={value} onChange={(event) => update(event.target.value)} placeholder={field.dataType === "array" ? "[ ]" : "{ }"} rows={3} />
282
+ ) : (
283
+ <SolidInput id={id} type={inputType} step={field.dataType === "number" ? "any" : field.dataType === "integer" ? "1" : undefined}
284
+ autoComplete="off" value={value} onChange={(event) => update(event.target.value)} />
285
+ )}
286
+ </label>;
287
+ })}
288
+ </div>
289
+ {inputError && <p className={styles.inputError} role="alert">{inputError}</p>}
290
+ <div className={styles.inputActions}>
291
+ {windowControls && <SolidButton type="button" variant="secondary" onClick={() => windowControls.onClose()}>Cancel</SolidButton>}
292
+ <SolidButton type="submit">Start test</SolidButton>
293
+ </div>
294
+ </form>
295
+ </SolidDialogBody>
296
+ </SolidDialog>}
297
+ <div className={`${styles.header} ${externalEmbed ? styles.externalEmbedHeader : ""}`}>
298
+ <div className={styles.headerMark}>
299
+ <Sparkles size={15} />
300
+ <span className={styles.statusDot} style={{ background: statusColor }} />
301
+ </div>
302
+ <div className={styles.headerTitle}>
303
+ <strong>{title}</strong>
304
+ <span className={styles.headerSub}>{statusText}</span>
305
+ </div>
306
+ {signedIn && (
307
+ <>
308
+ <button type="button" className={styles.iconBtn} title="New chat" aria-label="New chat" disabled={agent.working} onClick={() => { runtime?.newChat(); setShowHistory(false); onInputsLocked?.(false); if (!externalEmbed && agentRuntime === "agentHub" && requiredInputs.length && inputs === undefined) { setCollectedInputs(null); setInputError(""); } }}>
309
+ <Plus size={16} />
310
+ </button>
311
+ {!externalEmbed && <button
312
+ type="button"
313
+ className={styles.iconBtn}
314
+ title="History"
315
+ aria-label="Chat history"
316
+ aria-pressed={showHistory}
317
+ onClick={() => setShowHistory((v) => !v)}
318
+ >
319
+ <History size={16} />
320
+ </button>}
321
+ {!externalEmbed && <button
322
+ type="button"
323
+ className={styles.iconBtn}
324
+ title={signedInAs ? `Sign out of the agent (${String(signedInAs)})` : "Sign out of the agent"}
325
+ aria-label="Sign out of the agent"
326
+ onClick={() => { setShowHistory(false); void signOutOfAgent(agentUrl); }}
327
+ >
328
+ <LogOut size={15} />
329
+ </button>}
330
+ </>
331
+ )}
332
+ {(!embedded || windowControls) && (
333
+ <>
334
+ {windowMode !== "docked" && (
335
+ <button type="button" className={styles.iconBtn} title="Dock to the side" aria-label="Dock to the side" onClick={() => windowControls ? windowControls.onDock() : setMode("docked")}>
336
+ <PanelRight size={16} />
337
+ </button>
338
+ )}
339
+ {windowMode === "maximized" ? (
340
+ <button type="button" className={styles.iconBtn} title="Restore" aria-label="Restore size" onClick={() => windowControls ? windowControls.onRestore() : setMode("compact")}>
341
+ <Minimize2 size={15} />
342
+ </button>
343
+ ) : (
344
+ <button type="button" className={styles.iconBtn} title="Maximize" aria-label="Maximize" onClick={() => windowControls ? windowControls.onMaximize() : setMode("maximized")}>
345
+ <Maximize2 size={15} />
346
+ </button>
347
+ )}
348
+ <button type="button" className={styles.iconBtn} title={windowControls ? "Close test agent" : "Minimize (Esc)"} aria-label={windowControls ? "Close test agent" : "Minimize"} onClick={() => windowControls ? windowControls.onClose() : setMode("bubble")}>
349
+ {windowControls || windowMode !== "compact" ? <X size={16} /> : <Minus size={16} />}
350
+ </button>
351
+ </>
352
+ )}
353
+ </div>
354
+
355
+ {agentAuth.status === "checking" ? (
356
+ externalEmbed
357
+ ? <div className={styles.embedWait} role="status" aria-live="polite"><div className={styles.embedWaitCard}><span className={styles.embedSpinner} aria-hidden="true" /><strong>Please wait</strong><span>Checking your connection</span></div></div>
358
+ : <div style={{ flex: "1 1 auto" }} />
359
+ ) : agentAuth.status === "signedOut" ? (
360
+ // The agent forgot the token (expired/restarted) if it already reported an auth error.
361
+ externalEmbed ? <div className={styles.embedWait} role="status" aria-live="polite"><div className={styles.embedWaitCard}><span className={styles.embedSpinner} aria-hidden="true" /><strong>Please wait</strong><span>Connecting to your agent</span></div></div>
362
+ : <AgentSignIn agentUrl={agentUrl} expired={!!agent.authError} />
363
+ ) : (
364
+ <>
365
+ {externalEmbed && agent.connection !== "open" && (
366
+ <div className={styles.embedWait} role="status" aria-live="polite">
367
+ <div className={styles.embedWaitCard}>
368
+ <span className={styles.embedSpinner} aria-hidden="true" />
369
+ <strong>Please wait</strong>
370
+ <span>{offline ? "Reconnecting to your agent" : "Connecting to your agent"}</span>
371
+ </div>
372
+ </div>
373
+ )}
374
+ {offline && (
375
+ <div className={styles.banner} role="status">
376
+ <WifiOff size={14} /> Reconnecting to the agent… Your messages will be sent once it is back.
377
+ </div>
378
+ )}
379
+ {agentRuntime === "agentHub" && staleAgentConfig && (
380
+ <div className={styles.banner} role="status">
381
+ This session is using an older agent configuration. Ask an administrator to restart the agent, then sign in again to load the latest version.
382
+ </div>
383
+ )}
384
+ {agent.authError && (
385
+ <div className={`${styles.banner} ${styles.bannerError}`} role="alert">
386
+ {agent.authError}
387
+ </div>
388
+ )}
389
+
390
+ {showHistory ? (
391
+ <div className={styles.historyPanel} aria-label="Past conversations">
392
+ {sessions.length === 0 && <div className={styles.notice}>No past conversations.</div>}
393
+ {sessions.map((session) => (
394
+ <div key={session.session_id} style={{ display: "flex", alignItems: "center" }}>
395
+ <button
396
+ type="button"
397
+ className={`${styles.historyItem} ${session.session_id === agent.historySessionId ? styles.historyItemActive : ""}`}
398
+ onClick={() => {
399
+ runtime?.resume(session.session_id);
400
+ setShowHistory(false);
401
+ }}
402
+ >
403
+ <span className={styles.historyPreview}>{session.preview || "New conversation"}</span>
404
+ <span className={styles.historyDate}>{formatDate(session.created_at)}</span>
405
+ </button>
406
+ <button
407
+ type="button"
408
+ className={styles.iconBtn}
409
+ aria-label="Delete conversation"
410
+ title="Delete"
411
+ onClick={async () => {
412
+ if (!window.confirm("Delete this conversation?")) return;
413
+ await deleteSession(agentUrl, session.session_id);
414
+ setSessions((prev) => prev.filter((s) => s.session_id !== session.session_id));
415
+ if (session.session_id === agent.historySessionId) runtime?.newChat();
416
+ }}
417
+ >
418
+ <Trash2 size={14} />
419
+ </button>
420
+ </div>
421
+ ))}
422
+ </div>
423
+ ) : (
424
+ <AgentThread
425
+ items={agent.items}
426
+ thinking={agent.working && agent.thinking}
427
+ working={agent.working}
428
+ hasMore={agent.hasMoreHistory}
429
+ context={agent.context ?? undefined}
430
+ emptyState={empty}
431
+ onLoadOlder={() => void runtime?.loadOlder()}
432
+ onReply={(widgetId, widget, value) => runtime?.replyToWidget(widgetId, widget, value)}
433
+ onPrompt={send}
434
+ />
435
+ )}
436
+
437
+ <AgentComposer
438
+ working={agent.working}
439
+ disabled={!!agent.authError}
440
+ commands={agent.commands}
441
+ seed={seed?.text}
442
+ seedKey={seed?.key}
443
+ onSend={sendWithAttachments}
444
+ onStop={() => runtime?.cancel()}
445
+ modelIndicator={<AgentModelIndicator assignments={modelAssignments} />}
446
+ />
447
+ </>
448
+ )}
449
+ </>
450
+ );
451
+ }
@@ -0,0 +1,44 @@
1
+ import { type AgentInputContext } from "./useAdminInputContext";
2
+ import type { AgentInputDefinition } from "./embed/agentEmbedProtocol";
3
+ type SharedProps = {
4
+ title?: string;
5
+ /** Additional key/value context sent with each message to the agent. */
6
+ inputContext?: AgentInputContext;
7
+ /** Values for the AgentHub agent's declared requiredInputs. */
8
+ inputs?: Record<string, unknown>;
9
+ /** AgentHub input schema; used by the admin test surface when no values were supplied. */
10
+ requiredInputs?: AgentInputDefinition[];
11
+ /** External bootstrap: the standalone route registers credentials for this private URL. */
12
+ externalEmbed?: {
13
+ agentUrl: string;
14
+ onInputsLocked?: (locked: boolean) => void;
15
+ };
16
+ /** Container height; the chat fills it. */
17
+ height?: number | string;
18
+ suggestions?: string[];
19
+ className?: string;
20
+ /** Adds the standard chat window controls with actions managed by the embedding surface. */
21
+ windowControls?: {
22
+ mode: "docked" | "maximized";
23
+ onDock: () => void;
24
+ onMaximize: () => void;
25
+ onRestore: () => void;
26
+ onClose: () => void;
27
+ };
28
+ };
29
+ type Props = SharedProps & ({
30
+ /** SolidX runtime (setting solidxAgentBackendUrl); agent ID is optional. */
31
+ agentRuntime?: "solidx";
32
+ agentId?: number;
33
+ } | {
34
+ /** AgentHub runtime (setting solidxAgentHubBackendUrl); an agent ID is required. */
35
+ agentRuntime: "agentHub";
36
+ agentId: number;
37
+ });
38
+ /**
39
+ * The agent chat rendered inside a page (a tab or form widget) instead of the floating window.
40
+ * With agentRuntime "solidx" it shares the same connection and thread as the launcher.
41
+ */
42
+ export declare function SolidAgentEmbedded(props: Props): import("react/jsx-runtime").JSX.Element | null;
43
+ export {};
44
+ //# sourceMappingURL=SolidAgentEmbedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidAgentEmbedded.d.ts","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentEmbedded.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,KAAK,WAAW,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,2FAA2F;IAC3F,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IACjF,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,KAAK,KAAK,GAAG,WAAW,GAAG,CACrB;IACE,4EAA4E;IAC5E,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GACC;IACE,oFAAoF;IACpF,YAAY,EAAE,UAAU,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACnB,CACJ,CAAC;AAIF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,kDAkC9C"}
@@ -0,0 +1,46 @@
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 { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
+ import styles from "./SolidAgent.module.css";
14
+ import { SolidAgentChat } from "./SolidAgentChat";
15
+ import { useAgentAvailability } from "./useAgentAvailability";
16
+ import { withAgentId } from "./client/agentUrls";
17
+ import { useAdminInputContext } from "./useAdminInputContext";
18
+ var AGENT_LABEL = { solidx: "SolidX Agent", agentHub: "AgentHub Agent" };
19
+ /**
20
+ * The agent chat rendered inside a page (a tab or form widget) instead of the floating window.
21
+ * With agentRuntime "solidx" it shares the same connection and thread as the launcher.
22
+ */
23
+ export function SolidAgentEmbedded(props) {
24
+ var _a, _b, _c, _d, _e;
25
+ var _f = props.agentRuntime, agentRuntime = _f === void 0 ? "solidx" : _f, agentId = props.agentId, suppliedInputContext = props.inputContext, _g = props.height, height = _g === void 0 ? 560 : _g, suggestions = props.suggestions, className = props.className, windowControls = props.windowControls;
26
+ var title = (_a = props.title) !== null && _a !== void 0 ? _a : AGENT_LABEL[agentRuntime];
27
+ var _h = useAgentAvailability(!props.externalEmbed), ready = _h.ready, enabled = _h.enabled, agentUrls = _h.agentUrls, canUse = _h.canUse;
28
+ var inferredInputContext = useAdminInputContext();
29
+ var inputContext = props.externalEmbed ? (suppliedInputContext !== null && suppliedInputContext !== void 0 ? suppliedInputContext : {}) : __assign(__assign({}, inferredInputContext), (suppliedInputContext !== null && suppliedInputContext !== void 0 ? suppliedInputContext : {}));
30
+ if (!props.externalEmbed && !ready)
31
+ return null;
32
+ var backendUrl = (_b = agentUrls[agentRuntime]) !== null && _b !== void 0 ? _b : null;
33
+ // The chat URL names the agent, so each agent has its own login.
34
+ var agentUrl = (_d = (_c = props.externalEmbed) === null || _c === void 0 ? void 0 : _c.agentUrl) !== null && _d !== void 0 ? _d : (backendUrl ? withAgentId(backendUrl, agentId) : null);
35
+ if (!props.externalEmbed && (!enabled || !canUse)) {
36
+ return _jsxs("div", { className: styles.root, style: { padding: 16, color: "var(--solid-agent-muted)" }, children: [title, " is not available for your account."] });
37
+ }
38
+ if (agentRuntime === "agentHub" && agentId === undefined) {
39
+ return _jsxs("div", { className: styles.root, style: { padding: 16, color: "var(--solid-agent-muted)" }, children: ["No agent is selected for the ", AGENT_LABEL[agentRuntime], "."] });
40
+ }
41
+ if (!agentUrl) {
42
+ return (_jsxs("div", { className: styles.root, style: { padding: 16, color: "var(--solid-agent-muted)" }, children: ["No backend URL is configured for the ", AGENT_LABEL[agentRuntime], "."] }));
43
+ }
44
+ return (_jsx("div", { className: "".concat(styles.root, " ").concat(className !== null && className !== void 0 ? className : ""), style: { height: height, display: "flex", flexDirection: "column", border: "1px solid var(--solid-agent-border)", borderRadius: 12, overflow: "hidden", background: "var(--solid-agent-bg)" }, children: _jsx(SolidAgentChat, { agentUrl: agentUrl, agentRuntime: agentRuntime, title: title, inputContext: inputContext, inputs: props.inputs, requiredInputs: props.requiredInputs, externalEmbed: !!props.externalEmbed, onInputsLocked: (_e = props.externalEmbed) === null || _e === void 0 ? void 0 : _e.onInputsLocked, embedded: true, suggestions: suggestions, windowControls: windowControls }, agentUrl) }));
45
+ }
46
+ //# sourceMappingURL=SolidAgentEmbedded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidAgentEmbedded.js","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentEmbedded.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,wBAAwB,CAAC;AAwCtF,IAAM,WAAW,GAAqC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAE7G;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAY;;IACnC,IAAA,KAA+H,KAAK,aAA7G,EAAvB,YAAY,mBAAG,QAAQ,KAAA,EAAE,OAAO,GAA+F,KAAK,QAApG,EAAgB,oBAAoB,GAA2D,KAAK,aAAhE,EAAE,KAAyD,KAAK,OAAlD,EAAZ,MAAM,mBAAG,GAAG,KAAA,EAAE,WAAW,GAAgC,KAAK,YAArC,EAAE,SAAS,GAAqB,KAAK,UAA1B,EAAE,cAAc,GAAK,KAAK,eAAV,CAAW;IAC7I,IAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,WAAW,CAAC,YAAY,CAAC,CAAC;IACjD,IAAA,KAAwC,oBAAoB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAhF,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,MAAM,YAA+C,CAAC;IACzF,IAAM,oBAAoB,GAAG,oBAAoB,EAAE,CAAC;IACpD,IAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,CAAC,CAAC,CAAC,uBAAM,oBAAoB,GAAK,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,CAAC,CAAE,CAAC;IACvI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAChD,IAAM,UAAU,GAAG,MAAA,SAAS,CAAC,YAAY,CAAC,mCAAI,IAAI,CAAC;IACnD,iEAAiE;IACjE,IAAM,QAAQ,GAAG,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,QAAQ,mCAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;QAC/C,OAAO,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,aAAG,KAAK,2CAA0C,CAAC;KACnJ;IACD,IAAI,YAAY,KAAK,UAAU,IAAI,OAAO,KAAK,SAAS,EAAE;QACtD,OAAO,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,8CAAgC,WAAW,CAAC,YAAY,CAAC,SAAQ,CAAC;KAClK;IACD,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,sDAC5C,WAAW,CAAC,YAAY,CAAC,SAC7D,CACT,CAAC;KACL;IACD,OAAO,CACH,cACI,SAAS,EAAE,UAAG,MAAM,CAAC,IAAI,cAAI,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAE,EAC9C,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,qCAAqC,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAGrL,KAAC,cAAc,IAAgB,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EACnH,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,EAAE,MAAA,KAAK,CAAC,aAAa,0CAAE,cAAc,EACrJ,QAAQ,QAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,IAFhD,QAAQ,CAE4C,GACvE,CACT,CAAC;AACN,CAAC","sourcesContent":["import React from \"react\";\nimport styles from \"./SolidAgent.module.css\";\nimport { SolidAgentChat } from \"./SolidAgentChat\";\nimport { useAgentAvailability } from \"./useAgentAvailability\";\nimport type { AgentRuntimeType } from \"./types\";\nimport { withAgentId } from \"./client/agentUrls\";\nimport { useAdminInputContext, type AgentInputContext } from \"./useAdminInputContext\";\nimport type { AgentInputDefinition } from \"./embed/agentEmbedProtocol\";\n\ntype SharedProps = {\n title?: string;\n /** Additional key/value context sent with each message to the agent. */\n inputContext?: AgentInputContext;\n /** Values for the AgentHub agent's declared requiredInputs. */\n inputs?: Record<string, unknown>;\n /** AgentHub input schema; used by the admin test surface when no values were supplied. */\n requiredInputs?: AgentInputDefinition[];\n /** External bootstrap: the standalone route registers credentials for this private URL. */\n externalEmbed?: { agentUrl: string; onInputsLocked?: (locked: boolean) => void };\n /** Container height; the chat fills it. */\n height?: number | string;\n suggestions?: string[];\n className?: string;\n /** Adds the standard chat window controls with actions managed by the embedding surface. */\n windowControls?: {\n mode: \"docked\" | \"maximized\";\n onDock: () => void;\n onMaximize: () => void;\n onRestore: () => void;\n onClose: () => void;\n };\n};\n\ntype Props = SharedProps & (\n | {\n /** SolidX runtime (setting solidxAgentBackendUrl); agent ID is optional. */\n agentRuntime?: \"solidx\";\n agentId?: number;\n }\n | {\n /** AgentHub runtime (setting solidxAgentHubBackendUrl); an agent ID is required. */\n agentRuntime: \"agentHub\";\n agentId: number;\n }\n);\n\nconst AGENT_LABEL: Record<AgentRuntimeType, string> = { solidx: \"SolidX Agent\", agentHub: \"AgentHub Agent\" };\n\n/**\n * The agent chat rendered inside a page (a tab or form widget) instead of the floating window.\n * With agentRuntime \"solidx\" it shares the same connection and thread as the launcher.\n */\nexport function SolidAgentEmbedded(props: Props) {\n const { agentRuntime = \"solidx\", agentId, inputContext: suppliedInputContext, height = 560, suggestions, className, windowControls } = props;\n const title = props.title ?? AGENT_LABEL[agentRuntime];\n const { ready, enabled, agentUrls, canUse } = useAgentAvailability(!props.externalEmbed);\n const inferredInputContext = useAdminInputContext();\n const inputContext = props.externalEmbed ? (suppliedInputContext ?? {}) : { ...inferredInputContext, ...(suppliedInputContext ?? {}) };\n if (!props.externalEmbed && !ready) return null;\n const backendUrl = agentUrls[agentRuntime] ?? null;\n // The chat URL names the agent, so each agent has its own login.\n const agentUrl = props.externalEmbed?.agentUrl ?? (backendUrl ? withAgentId(backendUrl, agentId) : null);\n if (!props.externalEmbed && (!enabled || !canUse)) {\n return <div className={styles.root} style={{ padding: 16, color: \"var(--solid-agent-muted)\" }}>{title} is not available for your account.</div>;\n }\n if (agentRuntime === \"agentHub\" && agentId === undefined) {\n return <div className={styles.root} style={{ padding: 16, color: \"var(--solid-agent-muted)\" }}>No agent is selected for the {AGENT_LABEL[agentRuntime]}.</div>;\n }\n if (!agentUrl) {\n return (\n <div className={styles.root} style={{ padding: 16, color: \"var(--solid-agent-muted)\" }}>\n No backend URL is configured for the {AGENT_LABEL[agentRuntime]}.\n </div>\n );\n }\n return (\n <div\n className={`${styles.root} ${className ?? \"\"}`}\n style={{ height, display: \"flex\", flexDirection: \"column\", border: \"1px solid var(--solid-agent-border)\", borderRadius: 12, overflow: \"hidden\", background: \"var(--solid-agent-bg)\" }}\n >\n {/* key: switching type remounts the chat onto the other backend's conversation. */}\n <SolidAgentChat key={agentUrl} agentUrl={agentUrl} agentRuntime={agentRuntime} title={title} inputContext={inputContext}\n inputs={props.inputs} requiredInputs={props.requiredInputs} externalEmbed={!!props.externalEmbed} onInputsLocked={props.externalEmbed?.onInputsLocked}\n embedded suggestions={suggestions} windowControls={windowControls} />\n </div>\n );\n}\n"]}
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ import styles from "./SolidAgent.module.css";
3
+ import { SolidAgentChat } from "./SolidAgentChat";
4
+ import { useAgentAvailability } from "./useAgentAvailability";
5
+ import type { AgentRuntimeType } from "./types";
6
+ import { withAgentId } from "./client/agentUrls";
7
+ import { useAdminInputContext, type AgentInputContext } from "./useAdminInputContext";
8
+ import type { AgentInputDefinition } from "./embed/agentEmbedProtocol";
9
+
10
+ type SharedProps = {
11
+ title?: string;
12
+ /** Additional key/value context sent with each message to the agent. */
13
+ inputContext?: AgentInputContext;
14
+ /** Values for the AgentHub agent's declared requiredInputs. */
15
+ inputs?: Record<string, unknown>;
16
+ /** AgentHub input schema; used by the admin test surface when no values were supplied. */
17
+ requiredInputs?: AgentInputDefinition[];
18
+ /** External bootstrap: the standalone route registers credentials for this private URL. */
19
+ externalEmbed?: { agentUrl: string; onInputsLocked?: (locked: boolean) => void };
20
+ /** Container height; the chat fills it. */
21
+ height?: number | string;
22
+ suggestions?: string[];
23
+ className?: string;
24
+ /** Adds the standard chat window controls with actions managed by the embedding surface. */
25
+ windowControls?: {
26
+ mode: "docked" | "maximized";
27
+ onDock: () => void;
28
+ onMaximize: () => void;
29
+ onRestore: () => void;
30
+ onClose: () => void;
31
+ };
32
+ };
33
+
34
+ type Props = SharedProps & (
35
+ | {
36
+ /** SolidX runtime (setting solidxAgentBackendUrl); agent ID is optional. */
37
+ agentRuntime?: "solidx";
38
+ agentId?: number;
39
+ }
40
+ | {
41
+ /** AgentHub runtime (setting solidxAgentHubBackendUrl); an agent ID is required. */
42
+ agentRuntime: "agentHub";
43
+ agentId: number;
44
+ }
45
+ );
46
+
47
+ const AGENT_LABEL: Record<AgentRuntimeType, string> = { solidx: "SolidX Agent", agentHub: "AgentHub Agent" };
48
+
49
+ /**
50
+ * The agent chat rendered inside a page (a tab or form widget) instead of the floating window.
51
+ * With agentRuntime "solidx" it shares the same connection and thread as the launcher.
52
+ */
53
+ export function SolidAgentEmbedded(props: Props) {
54
+ const { agentRuntime = "solidx", agentId, inputContext: suppliedInputContext, height = 560, suggestions, className, windowControls } = props;
55
+ const title = props.title ?? AGENT_LABEL[agentRuntime];
56
+ const { ready, enabled, agentUrls, canUse } = useAgentAvailability(!props.externalEmbed);
57
+ const inferredInputContext = useAdminInputContext();
58
+ const inputContext = props.externalEmbed ? (suppliedInputContext ?? {}) : { ...inferredInputContext, ...(suppliedInputContext ?? {}) };
59
+ if (!props.externalEmbed && !ready) return null;
60
+ const backendUrl = agentUrls[agentRuntime] ?? null;
61
+ // The chat URL names the agent, so each agent has its own login.
62
+ const agentUrl = props.externalEmbed?.agentUrl ?? (backendUrl ? withAgentId(backendUrl, agentId) : null);
63
+ if (!props.externalEmbed && (!enabled || !canUse)) {
64
+ return <div className={styles.root} style={{ padding: 16, color: "var(--solid-agent-muted)" }}>{title} is not available for your account.</div>;
65
+ }
66
+ if (agentRuntime === "agentHub" && agentId === undefined) {
67
+ return <div className={styles.root} style={{ padding: 16, color: "var(--solid-agent-muted)" }}>No agent is selected for the {AGENT_LABEL[agentRuntime]}.</div>;
68
+ }
69
+ if (!agentUrl) {
70
+ return (
71
+ <div className={styles.root} style={{ padding: 16, color: "var(--solid-agent-muted)" }}>
72
+ No backend URL is configured for the {AGENT_LABEL[agentRuntime]}.
73
+ </div>
74
+ );
75
+ }
76
+ return (
77
+ <div
78
+ className={`${styles.root} ${className ?? ""}`}
79
+ style={{ height, display: "flex", flexDirection: "column", border: "1px solid var(--solid-agent-border)", borderRadius: 12, overflow: "hidden", background: "var(--solid-agent-bg)" }}
80
+ >
81
+ {/* key: switching type remounts the chat onto the other backend's conversation. */}
82
+ <SolidAgentChat key={agentUrl} agentUrl={agentUrl} agentRuntime={agentRuntime} title={title} inputContext={inputContext}
83
+ inputs={props.inputs} requiredInputs={props.requiredInputs} externalEmbed={!!props.externalEmbed} onInputsLocked={props.externalEmbed?.onInputsLocked}
84
+ embedded suggestions={suggestions} windowControls={windowControls} />
85
+ </div>
86
+ );
87
+ }