@solidxai/core-ui 0.1.18 → 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 (571) 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/common/SolidThemeLink.d.ts.map +1 -1
  11. package/dist/components/common/SolidThemeLink.js +2 -2
  12. package/dist/components/common/SolidThemeLink.js.map +1 -1
  13. package/dist/components/common/SolidThemeLink.tsx +5 -2
  14. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  15. package/dist/components/core/chatter/SolidChatter.js +2 -1
  16. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  17. package/dist/components/core/chatter/SolidChatter.tsx +2 -0
  18. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  19. package/dist/components/core/chatter/SolidChatterHeader.js +2 -1
  20. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  21. package/dist/components/core/chatter/SolidChatterHeader.tsx +6 -4
  22. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +2 -0
  23. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  24. package/dist/components/core/chatter/SolidChatterMessageBox.js +7 -4
  25. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  26. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +8 -3
  27. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts +5 -0
  28. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts.map +1 -0
  29. package/dist/components/core/chatter/SolidChatterMessageWidget.js +85 -0
  30. package/dist/components/core/chatter/SolidChatterMessageWidget.js.map +1 -0
  31. package/dist/components/core/chatter/SolidChatterMessageWidget.tsx +59 -0
  32. package/dist/components/core/common/SolidCollectionRowActionMenuItems.d.ts +2 -1
  33. package/dist/components/core/common/SolidCollectionRowActionMenuItems.d.ts.map +1 -1
  34. package/dist/components/core/common/SolidCollectionRowActionMenuItems.js +3 -2
  35. package/dist/components/core/common/SolidCollectionRowActionMenuItems.js.map +1 -1
  36. package/dist/components/core/common/SolidCollectionRowActionMenuItems.tsx +5 -3
  37. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  38. package/dist/components/core/common/SolidGlobalSearchElement.js +35 -18
  39. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  40. package/dist/components/core/common/SolidGlobalSearchElement.tsx +40 -15
  41. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -1
  42. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +2 -2
  43. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -1
  44. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +6 -6
  45. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts +11 -0
  46. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts.map +1 -0
  47. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js +102 -0
  48. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js.map +1 -0
  49. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.tsx +129 -0
  50. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts +4 -0
  51. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts.map +1 -0
  52. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js +29 -0
  53. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js.map +1 -0
  54. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.module.css +226 -0
  55. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.tsx +57 -0
  56. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts +4 -0
  57. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts.map +1 -0
  58. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js +33 -0
  59. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js.map +1 -0
  60. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx +47 -0
  61. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts +5 -0
  62. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts.map +1 -0
  63. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js +59 -0
  64. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js.map +1 -0
  65. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx +82 -0
  66. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts +17 -0
  67. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts.map +1 -0
  68. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js +258 -0
  69. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js.map +1 -0
  70. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx +286 -0
  71. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  72. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +102 -62
  73. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  74. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +116 -106
  75. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts +6 -0
  76. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts.map +1 -0
  77. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js +37 -0
  78. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js.map +1 -0
  79. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.tsx +89 -0
  80. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts +3 -0
  81. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts.map +1 -0
  82. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js +18 -0
  83. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js.map +1 -0
  84. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.tsx +51 -0
  85. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts +10 -0
  86. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts.map +1 -0
  87. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js +63 -0
  88. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js.map +1 -0
  89. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.tsx +111 -0
  90. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  91. package/dist/components/core/field/FieldListViewData.js +29 -9
  92. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  93. package/dist/components/core/field/FieldListViewData.tsx +7 -6
  94. package/dist/components/core/form/SolidFormView.d.ts +1 -0
  95. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  96. package/dist/components/core/form/SolidFormView.js +49 -48
  97. package/dist/components/core/form/SolidFormView.js.map +1 -1
  98. package/dist/components/core/form/SolidFormView.tsx +4 -3
  99. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  100. package/dist/components/core/form/fields/SolidDecimalField.js +12 -9
  101. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  102. package/dist/components/core/form/fields/SolidDecimalField.tsx +11 -8
  103. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  104. package/dist/components/core/form/fields/SolidIntegerField.js +16 -14
  105. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  106. package/dist/components/core/form/fields/SolidIntegerField.tsx +13 -10
  107. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  108. package/dist/components/core/form/fields/SolidPasswordField.js +13 -1
  109. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  110. package/dist/components/core/form/fields/SolidPasswordField.tsx +14 -3
  111. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  112. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  113. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  114. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  115. package/dist/components/core/kanban/KanbanBoard.tsx +5 -1
  116. package/dist/components/core/kanban/KanbanCard.d.ts +3 -0
  117. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  118. package/dist/components/core/kanban/KanbanCard.js +5 -4
  119. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  120. package/dist/components/core/kanban/KanbanCard.tsx +31 -11
  121. package/dist/components/core/kanban/KanbanColumn.d.ts +5 -1
  122. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  123. package/dist/components/core/kanban/KanbanColumn.js +14 -3
  124. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  125. package/dist/components/core/kanban/KanbanColumn.tsx +43 -3
  126. package/dist/components/core/kanban/SolidKanbanView.d.ts +2 -0
  127. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  128. package/dist/components/core/kanban/SolidKanbanView.js +90 -52
  129. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  130. package/dist/components/core/kanban/SolidKanbanView.tsx +93 -13
  131. package/dist/components/core/list/SolidDataTable.d.ts +2 -1
  132. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  133. package/dist/components/core/list/SolidDataTable.js +4 -2
  134. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  135. package/dist/components/core/list/SolidDataTable.tsx +4 -0
  136. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  137. package/dist/components/core/list/SolidListView.js +197 -96
  138. package/dist/components/core/list/SolidListView.js.map +1 -1
  139. package/dist/components/core/list/SolidListView.tsx +96 -37
  140. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  141. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +14 -0
  142. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  143. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +13 -0
  144. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  145. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  146. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +2 -1
  147. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  148. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +1 -0
  149. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  150. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +1 -0
  151. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts +3 -0
  152. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts.map +1 -0
  153. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js +51 -0
  154. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js.map +1 -0
  155. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx +60 -0
  156. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts +4 -0
  157. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts.map +1 -0
  158. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js +24 -0
  159. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js.map +1 -0
  160. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.tsx +32 -0
  161. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  162. package/dist/components/core/model/ModelListViewData.js +6 -23
  163. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  164. package/dist/components/core/model/ModelListViewData.tsx +1 -48
  165. package/dist/components/core/module/CreateModule.css +42 -0
  166. package/dist/components/core/module/CreateModule.js +1 -1
  167. package/dist/components/core/module/CreateModule.js.map +1 -1
  168. package/dist/components/core/module/CreateModule.tsx +5 -5
  169. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts +5 -0
  170. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts.map +1 -0
  171. package/dist/components/core/solid-agent/AgentModelIndicator.js +14 -0
  172. package/dist/components/core/solid-agent/AgentModelIndicator.js.map +1 -0
  173. package/dist/components/core/solid-agent/AgentModelIndicator.tsx +40 -0
  174. package/dist/components/core/solid-agent/AgentSignIn.d.ts +12 -0
  175. package/dist/components/core/solid-agent/AgentSignIn.d.ts.map +1 -0
  176. package/dist/components/core/solid-agent/AgentSignIn.js +82 -0
  177. package/dist/components/core/solid-agent/AgentSignIn.js.map +1 -0
  178. package/dist/components/core/solid-agent/AgentSignIn.tsx +91 -0
  179. package/dist/components/core/solid-agent/SolidAgent.module.css +596 -0
  180. package/dist/components/core/solid-agent/SolidAgentChat.d.ts +30 -0
  181. package/dist/components/core/solid-agent/SolidAgentChat.d.ts.map +1 -0
  182. package/dist/components/core/solid-agent/SolidAgentChat.js +300 -0
  183. package/dist/components/core/solid-agent/SolidAgentChat.js.map +1 -0
  184. package/dist/components/core/solid-agent/SolidAgentChat.tsx +451 -0
  185. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts +44 -0
  186. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts.map +1 -0
  187. package/dist/components/core/solid-agent/SolidAgentEmbedded.js +46 -0
  188. package/dist/components/core/solid-agent/SolidAgentEmbedded.js.map +1 -0
  189. package/dist/components/core/solid-agent/SolidAgentEmbedded.tsx +87 -0
  190. package/dist/components/core/solid-agent/SolidAgentHost.d.ts +8 -0
  191. package/dist/components/core/solid-agent/SolidAgentHost.d.ts.map +1 -0
  192. package/dist/components/core/solid-agent/SolidAgentHost.js +152 -0
  193. package/dist/components/core/solid-agent/SolidAgentHost.js.map +1 -0
  194. package/dist/components/core/solid-agent/SolidAgentHost.tsx +164 -0
  195. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts +16 -0
  196. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts.map +1 -0
  197. package/dist/components/core/solid-agent/SolidAgentMarkdown.js +161 -0
  198. package/dist/components/core/solid-agent/SolidAgentMarkdown.js.map +1 -0
  199. package/dist/components/core/solid-agent/SolidAgentMarkdown.tsx +133 -0
  200. package/dist/components/core/solid-agent/SolidAgentMount.d.ts +3 -0
  201. package/dist/components/core/solid-agent/SolidAgentMount.d.ts.map +1 -0
  202. package/dist/components/core/solid-agent/SolidAgentMount.js +62 -0
  203. package/dist/components/core/solid-agent/SolidAgentMount.js.map +1 -0
  204. package/dist/components/core/solid-agent/SolidAgentMount.tsx +31 -0
  205. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts +5 -0
  206. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts.map +1 -0
  207. package/dist/components/core/solid-agent/SolidXAIIcon.js +7 -0
  208. package/dist/components/core/solid-agent/SolidXAIIcon.js.map +1 -0
  209. package/dist/components/core/solid-agent/SolidXAIIcon.tsx +6 -0
  210. package/dist/components/core/solid-agent/agentAttachments.d.ts +20 -0
  211. package/dist/components/core/solid-agent/agentAttachments.d.ts.map +1 -0
  212. package/dist/components/core/solid-agent/agentAttachments.js +184 -0
  213. package/dist/components/core/solid-agent/agentAttachments.js.map +1 -0
  214. package/dist/components/core/solid-agent/agentAttachments.ts +119 -0
  215. package/dist/components/core/solid-agent/agentEvents.d.ts +34 -0
  216. package/dist/components/core/solid-agent/agentEvents.d.ts.map +1 -0
  217. package/dist/components/core/solid-agent/agentEvents.js +282 -0
  218. package/dist/components/core/solid-agent/agentEvents.js.map +1 -0
  219. package/dist/components/core/solid-agent/agentEvents.ts +292 -0
  220. package/dist/components/core/solid-agent/agentFormat.d.ts +18 -0
  221. package/dist/components/core/solid-agent/agentFormat.d.ts.map +1 -0
  222. package/dist/components/core/solid-agent/agentFormat.js +179 -0
  223. package/dist/components/core/solid-agent/agentFormat.js.map +1 -0
  224. package/dist/components/core/solid-agent/agentFormat.ts +160 -0
  225. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts +9 -0
  226. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts.map +1 -0
  227. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js +129 -0
  228. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js.map +1 -0
  229. package/dist/components/core/solid-agent/client/agentAttachmentMedia.ts +69 -0
  230. package/dist/components/core/solid-agent/client/agentAuth.d.ts +63 -0
  231. package/dist/components/core/solid-agent/client/agentAuth.d.ts.map +1 -0
  232. package/dist/components/core/solid-agent/client/agentAuth.js +307 -0
  233. package/dist/components/core/solid-agent/client/agentAuth.js.map +1 -0
  234. package/dist/components/core/solid-agent/client/agentAuth.ts +222 -0
  235. package/dist/components/core/solid-agent/client/agentRest.d.ts +30 -0
  236. package/dist/components/core/solid-agent/client/agentRest.d.ts.map +1 -0
  237. package/dist/components/core/solid-agent/client/agentRest.js +178 -0
  238. package/dist/components/core/solid-agent/client/agentRest.js.map +1 -0
  239. package/dist/components/core/solid-agent/client/agentRest.ts +100 -0
  240. package/dist/components/core/solid-agent/client/agentRuntime.d.ts +48 -0
  241. package/dist/components/core/solid-agent/client/agentRuntime.d.ts.map +1 -0
  242. package/dist/components/core/solid-agent/client/agentRuntime.js +406 -0
  243. package/dist/components/core/solid-agent/client/agentRuntime.js.map +1 -0
  244. package/dist/components/core/solid-agent/client/agentRuntime.ts +226 -0
  245. package/dist/components/core/solid-agent/client/agentSocket.d.ts +46 -0
  246. package/dist/components/core/solid-agent/client/agentSocket.d.ts.map +1 -0
  247. package/dist/components/core/solid-agent/client/agentSocket.js +535 -0
  248. package/dist/components/core/solid-agent/client/agentSocket.js.map +1 -0
  249. package/dist/components/core/solid-agent/client/agentSocket.ts +276 -0
  250. package/dist/components/core/solid-agent/client/agentUrls.d.ts +11 -0
  251. package/dist/components/core/solid-agent/client/agentUrls.d.ts.map +1 -0
  252. package/dist/components/core/solid-agent/client/agentUrls.js +18 -0
  253. package/dist/components/core/solid-agent/client/agentUrls.js.map +1 -0
  254. package/dist/components/core/solid-agent/client/agentUrls.ts +19 -0
  255. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts +21 -0
  256. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts.map +1 -0
  257. package/dist/components/core/solid-agent/composer/AgentComposer.js +219 -0
  258. package/dist/components/core/solid-agent/composer/AgentComposer.js.map +1 -0
  259. package/dist/components/core/solid-agent/composer/AgentComposer.tsx +241 -0
  260. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts +8 -0
  261. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts.map +1 -0
  262. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js +87 -0
  263. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js.map +1 -0
  264. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.tsx +58 -0
  265. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts +20 -0
  266. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts.map +1 -0
  267. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js +103 -0
  268. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js.map +1 -0
  269. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.ts +60 -0
  270. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts +11 -0
  271. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts.map +1 -0
  272. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js +21 -0
  273. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js.map +1 -0
  274. package/dist/components/core/solid-agent/embed/agentEmbedSamples.ts +266 -0
  275. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts +15 -0
  276. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts.map +1 -0
  277. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js +122 -0
  278. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js.map +1 -0
  279. package/dist/components/core/solid-agent/processes/agentHubProcessApi.ts +64 -0
  280. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts +39 -0
  281. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts.map +1 -0
  282. package/dist/components/core/solid-agent/sdk/solidAgent.js +44 -0
  283. package/dist/components/core/solid-agent/sdk/solidAgent.js.map +1 -0
  284. package/dist/components/core/solid-agent/sdk/solidAgent.ts +56 -0
  285. package/dist/components/core/solid-agent/thread/AgentThread.d.ts +17 -0
  286. package/dist/components/core/solid-agent/thread/AgentThread.d.ts.map +1 -0
  287. package/dist/components/core/solid-agent/thread/AgentThread.js +166 -0
  288. package/dist/components/core/solid-agent/thread/AgentThread.js.map +1 -0
  289. package/dist/components/core/solid-agent/thread/AgentThread.tsx +248 -0
  290. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts +36 -0
  291. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts.map +1 -0
  292. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js +148 -0
  293. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js.map +1 -0
  294. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.tsx +116 -0
  295. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts +8 -0
  296. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts.map +1 -0
  297. package/dist/components/core/solid-agent/thread/inlineWidget.js +30 -0
  298. package/dist/components/core/solid-agent/thread/inlineWidget.js.map +1 -0
  299. package/dist/components/core/solid-agent/thread/inlineWidget.ts +27 -0
  300. package/dist/components/core/solid-agent/types.d.ts +155 -0
  301. package/dist/components/core/solid-agent/types.d.ts.map +1 -0
  302. package/dist/components/core/solid-agent/types.js +31 -0
  303. package/dist/components/core/solid-agent/types.js.map +1 -0
  304. package/dist/components/core/solid-agent/types.ts +148 -0
  305. package/dist/components/core/solid-agent/useAdminInputContext.d.ts +4 -0
  306. package/dist/components/core/solid-agent/useAdminInputContext.d.ts.map +1 -0
  307. package/dist/components/core/solid-agent/useAdminInputContext.js +49 -0
  308. package/dist/components/core/solid-agent/useAdminInputContext.js.map +1 -0
  309. package/dist/components/core/solid-agent/useAdminInputContext.ts +52 -0
  310. package/dist/components/core/solid-agent/useAgentAuth.d.ts +14 -0
  311. package/dist/components/core/solid-agent/useAgentAuth.d.ts.map +1 -0
  312. package/dist/components/core/solid-agent/useAgentAuth.js +88 -0
  313. package/dist/components/core/solid-agent/useAgentAuth.js.map +1 -0
  314. package/dist/components/core/solid-agent/useAgentAuth.ts +40 -0
  315. package/dist/components/core/solid-agent/useAgentAvailability.d.ts +19 -0
  316. package/dist/components/core/solid-agent/useAgentAvailability.d.ts.map +1 -0
  317. package/dist/components/core/solid-agent/useAgentAvailability.js +109 -0
  318. package/dist/components/core/solid-agent/useAgentAvailability.js.map +1 -0
  319. package/dist/components/core/solid-agent/useAgentAvailability.ts +80 -0
  320. package/dist/components/core/solid-agent/useAgentChat.d.ts +22 -0
  321. package/dist/components/core/solid-agent/useAgentChat.d.ts.map +1 -0
  322. package/dist/components/core/solid-agent/useAgentChat.js +45 -0
  323. package/dist/components/core/solid-agent/useAgentChat.js.map +1 -0
  324. package/dist/components/core/solid-agent/useAgentChat.ts +57 -0
  325. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts +7 -0
  326. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts.map +1 -0
  327. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js +15 -0
  328. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js.map +1 -0
  329. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.tsx +24 -0
  330. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts +7 -0
  331. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts.map +1 -0
  332. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js +15 -0
  333. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js.map +1 -0
  334. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.tsx +28 -0
  335. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts +4 -0
  336. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts.map +1 -0
  337. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js +20 -0
  338. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js.map +1 -0
  339. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.tsx +8 -0
  340. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts +7 -0
  341. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts.map +1 -0
  342. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js +11 -0
  343. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js.map +1 -0
  344. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.tsx +16 -0
  345. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts +7 -0
  346. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts.map +1 -0
  347. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js +67 -0
  348. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js.map +1 -0
  349. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx +135 -0
  350. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts +7 -0
  351. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts.map +1 -0
  352. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js +24 -0
  353. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js.map +1 -0
  354. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx +17 -0
  355. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts +8 -0
  356. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts.map +1 -0
  357. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js +30 -0
  358. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js.map +1 -0
  359. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx +77 -0
  360. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts +7 -0
  361. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts.map +1 -0
  362. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js +40 -0
  363. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js.map +1 -0
  364. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx +57 -0
  365. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts +4 -0
  366. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts.map +1 -0
  367. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js +13 -0
  368. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js.map +1 -0
  369. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx +19 -0
  370. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts +7 -0
  371. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts.map +1 -0
  372. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js +55 -0
  373. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js.map +1 -0
  374. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.tsx +81 -0
  375. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts +4 -0
  376. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts.map +1 -0
  377. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js +15 -0
  378. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js.map +1 -0
  379. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.tsx +30 -0
  380. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts +4 -0
  381. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts.map +1 -0
  382. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js +15 -0
  383. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js.map +1 -0
  384. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.tsx +21 -0
  385. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts +7 -0
  386. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts.map +1 -0
  387. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js +21 -0
  388. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js.map +1 -0
  389. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.tsx +33 -0
  390. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts +4 -0
  391. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts.map +1 -0
  392. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js +11 -0
  393. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js.map +1 -0
  394. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.tsx +9 -0
  395. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts +15 -0
  396. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts.map +1 -0
  397. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js +26 -0
  398. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js.map +1 -0
  399. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.tsx +42 -0
  400. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts +7 -0
  401. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts.map +1 -0
  402. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js +41 -0
  403. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js.map +1 -0
  404. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.tsx +69 -0
  405. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts +7 -0
  406. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts.map +1 -0
  407. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js +23 -0
  408. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js.map +1 -0
  409. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.tsx +40 -0
  410. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts +4 -0
  411. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts.map +1 -0
  412. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js +32 -0
  413. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js.map +1 -0
  414. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.tsx +55 -0
  415. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts +7 -0
  416. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts.map +1 -0
  417. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js +17 -0
  418. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js.map +1 -0
  419. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.tsx +31 -0
  420. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts +12 -0
  421. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts.map +1 -0
  422. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js +17 -0
  423. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js.map +1 -0
  424. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.ts +19 -0
  425. package/dist/components/core/solid-agent/widgets/solidChatWidgets.module.css +909 -0
  426. package/dist/components/core/solid-ai/SolidAiChat.js +1 -1
  427. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
  428. package/dist/components/core/solid-ai/SolidAiChat.tsx +2 -2
  429. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  430. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  431. package/dist/components/core/tree/SolidTreeView.tsx +3 -2
  432. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  433. package/dist/components/layout/AdminLayout.js +2 -1
  434. package/dist/components/layout/AdminLayout.js.map +1 -1
  435. package/dist/components/layout/AdminLayout.tsx +2 -0
  436. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  437. package/dist/components/layout/AdminTopHeader.js +7 -3
  438. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  439. package/dist/components/layout/AdminTopHeader.tsx +8 -3
  440. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  441. package/dist/components/shad-cn-ui/SolidAutocomplete.js +2 -2
  442. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  443. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +19 -15
  444. package/dist/components/shad-cn-ui/SolidDialog.d.ts +2 -1
  445. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  446. package/dist/components/shad-cn-ui/SolidDialog.js +2 -2
  447. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  448. package/dist/components/shad-cn-ui/SolidDialog.tsx +3 -0
  449. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts +7 -0
  450. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts.map +1 -0
  451. package/dist/components/shad-cn-ui/SolidIconPicker.js +43 -0
  452. package/dist/components/shad-cn-ui/SolidIconPicker.js.map +1 -0
  453. package/dist/components/shad-cn-ui/SolidIconPicker.tsx +73 -0
  454. package/dist/components/shad-cn-ui/index.d.ts +1 -0
  455. package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
  456. package/dist/components/shad-cn-ui/index.js +1 -0
  457. package/dist/components/shad-cn-ui/index.js.map +1 -1
  458. package/dist/components/shad-cn-ui/index.ts +1 -0
  459. package/dist/constants/allowed-ai-models.d.ts +8 -0
  460. package/dist/constants/allowed-ai-models.d.ts.map +1 -0
  461. package/dist/constants/allowed-ai-models.js +33 -0
  462. package/dist/constants/allowed-ai-models.js.map +1 -0
  463. package/dist/constants/allowed-ai-models.ts +39 -0
  464. package/dist/constants/error-messages.d.ts +2 -0
  465. package/dist/constants/error-messages.d.ts.map +1 -1
  466. package/dist/constants/error-messages.js +3 -0
  467. package/dist/constants/error-messages.js.map +1 -1
  468. package/dist/constants/error-messages.ts +4 -0
  469. package/dist/helpers/hydrateRelationRules.d.ts.map +1 -1
  470. package/dist/helpers/hydrateRelationRules.js +3 -1
  471. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  472. package/dist/helpers/hydrateRelationRules.ts +5 -1
  473. package/dist/helpers/registry.d.ts +4 -2
  474. package/dist/helpers/registry.d.ts.map +1 -1
  475. package/dist/helpers/registry.js +75 -12
  476. package/dist/helpers/registry.js.map +1 -1
  477. package/dist/helpers/registry.ts +73 -16
  478. package/dist/helpers/updatePasswordField.d.ts.map +1 -1
  479. package/dist/helpers/updatePasswordField.js +21 -15
  480. package/dist/helpers/updatePasswordField.js.map +1 -1
  481. package/dist/helpers/updatePasswordField.ts +6 -1
  482. package/dist/index.d.ts +21 -4
  483. package/dist/index.d.ts.map +1 -1
  484. package/dist/index.js +16 -3
  485. package/dist/index.js.map +1 -1
  486. package/dist/index.ts +38 -3
  487. package/dist/redux/api/fieldApi.js +1 -1
  488. package/dist/redux/api/fieldApi.js.map +1 -1
  489. package/dist/redux/api/fieldApi.ts +2 -2
  490. package/dist/redux/api/modelApi.d.ts +13 -13
  491. package/dist/redux/api/modelApi.d.ts.map +1 -1
  492. package/dist/redux/api/modelApi.js +15 -15
  493. package/dist/redux/api/modelApi.js.map +1 -1
  494. package/dist/redux/api/modelApi.ts +12 -15
  495. package/dist/redux/features/agentSlice.d.ts +34 -0
  496. package/dist/redux/features/agentSlice.d.ts.map +1 -0
  497. package/dist/redux/features/agentSlice.js +92 -0
  498. package/dist/redux/features/agentSlice.js.map +1 -0
  499. package/dist/redux/features/agentSlice.ts +119 -0
  500. package/dist/redux/store/defaultStoreConfig.d.ts +11 -10
  501. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  502. package/dist/redux/store/defaultStoreConfig.js +2 -0
  503. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  504. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  505. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  506. package/dist/redux/store/solidEntityApiPool.js +7 -0
  507. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  508. package/dist/redux/store/solidEntityApiPool.ts +6 -0
  509. package/dist/resources/globals.css +109 -1
  510. package/dist/resources/solid-custom.css +331 -12
  511. package/dist/resources/solid-tailwind-generated.css +1 -1
  512. package/dist/resources/themes/solid-light-modern/theme.css +2 -4
  513. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.css +47 -0
  514. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts +12 -0
  515. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts.map +1 -0
  516. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js +80 -0
  517. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js.map +1 -0
  518. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.tsx +123 -0
  519. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.css +110 -0
  520. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts +3 -0
  521. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts.map +1 -0
  522. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js +702 -0
  523. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js.map +1 -0
  524. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.tsx +630 -0
  525. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.css +303 -0
  526. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts +3 -0
  527. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts.map +1 -0
  528. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js +330 -0
  529. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js.map +1 -0
  530. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.tsx +460 -0
  531. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.css +125 -0
  532. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts +3 -0
  533. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts.map +1 -0
  534. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js +295 -0
  535. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js.map +1 -0
  536. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.tsx +275 -0
  537. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +41 -0
  538. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  539. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
  540. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  541. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +3 -1
  542. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +11 -11
  543. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +1 -1
  544. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +15 -15
  545. package/dist/routes/pages/embed/AgentEmbedPage.d.ts +3 -0
  546. package/dist/routes/pages/embed/AgentEmbedPage.d.ts.map +1 -0
  547. package/dist/routes/pages/embed/AgentEmbedPage.js +170 -0
  548. package/dist/routes/pages/embed/AgentEmbedPage.js.map +1 -0
  549. package/dist/routes/pages/embed/AgentEmbedPage.module.css +195 -0
  550. package/dist/routes/pages/embed/AgentEmbedPage.tsx +169 -0
  551. package/dist/routes/solidRoutes.d.ts.map +1 -1
  552. package/dist/routes/solidRoutes.js +8 -0
  553. package/dist/routes/solidRoutes.js.map +1 -1
  554. package/dist/routes/solidRoutes.tsx +8 -0
  555. package/dist/types/dashboard.d.ts +4 -0
  556. package/dist/types/dashboard.d.ts.map +1 -1
  557. package/dist/types/dashboard.js.map +1 -1
  558. package/dist/types/dashboard.ts +5 -0
  559. package/dist/types/extension-registry.d.ts +4 -0
  560. package/dist/types/extension-registry.d.ts.map +1 -1
  561. package/dist/types/extension-registry.js +7 -0
  562. package/dist/types/extension-registry.js.map +1 -1
  563. package/dist/types/extension-registry.ts +7 -0
  564. package/dist/types/index.d.ts +4 -0
  565. package/dist/types/list-row-action.d.ts +20 -0
  566. package/dist/types/list-row-action.d.ts.map +1 -0
  567. package/dist/types/list-row-action.js +2 -0
  568. package/dist/types/list-row-action.js.map +1 -0
  569. package/dist/types/list-row-action.ts +21 -0
  570. package/dist/types/solid-core.d.ts +36 -0
  571. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ import { type AgentChatEvent, type AgentChatItem, type AgentCommand, type AgentWireFrame } from "./types";
2
+ /**
3
+ * Turns agent events into thread items. Used by agentSlice for live socket frames and by the
4
+ * history loader for stored events, so both render identically.
5
+ *
6
+ * Rule: if `event_data.widget` is present the event becomes (or updates) a widget item rendered
7
+ * by that registered widget; otherwise the `event_type` switch below decides what, if anything,
8
+ * to add, and the thread renders it with the default widget for its type.
9
+ */
10
+ /** The slice of chat state this reducer reads and writes (agentSlice state satisfies it). */
11
+ export type AgentThreadState = {
12
+ items: AgentChatItem[];
13
+ sessionId: string | null;
14
+ historySessionId: string | null;
15
+ commands: AgentCommand[];
16
+ working: boolean;
17
+ thinking: boolean;
18
+ authError: string | null;
19
+ liveToolId: string | null;
20
+ streamingId: string | null;
21
+ turnStreamed: boolean;
22
+ };
23
+ export declare function createThreadState(): AgentThreadState;
24
+ /** Accepts `{ event_type, event_data }` (current) and `{ type, data }` (legacy) frames. */
25
+ export declare function normalizeAgentFrame(frame: AgentWireFrame): AgentChatEvent;
26
+ export declare const nextItemId: (prefix: string) => string;
27
+ /**
28
+ * Applies one event. `replay` is true when rebuilding from stored history: user messages then
29
+ * come from the event stream (live ones are added locally when the user sends them).
30
+ */
31
+ export declare function applyAgentEvent(state: AgentThreadState, event: AgentChatEvent, replay?: boolean, at?: number): void;
32
+ /** Rebuilds thread items from stored session events (`/api/agent/sessions/{id}/messages`). */
33
+ export declare function historyToItems(rows: any[]): AgentChatItem[];
34
+ //# sourceMappingURL=agentEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvents.d.ts","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/agentEvents.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3H;;;;;;;GAOG;AAEH,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,gBAAgB,CAapD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAKzE;AAGD,eAAO,MAAM,UAAU,WAAY,MAAM,WAAuC,CAAC;AA0DjF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,UAAQ,EAAE,EAAE,SAAa,QAsK9G;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAU3D"}
@@ -0,0 +1,282 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { describeToolArgs, isLlmMetadata, parseToolResult } from "./agentFormat";
22
+ import { AgentEventTypes } from "./types";
23
+ export function createThreadState() {
24
+ return {
25
+ items: [],
26
+ sessionId: null,
27
+ historySessionId: null,
28
+ commands: [],
29
+ working: false,
30
+ thinking: false,
31
+ authError: null,
32
+ liveToolId: null,
33
+ streamingId: null,
34
+ turnStreamed: false,
35
+ };
36
+ }
37
+ /** Accepts `{ event_type, event_data }` (current) and `{ type, data }` (legacy) frames. */
38
+ export function normalizeAgentFrame(frame) {
39
+ var _a, _b, _c, _d;
40
+ var eventType = (_b = (_a = frame.event_type) !== null && _a !== void 0 ? _a : frame.type) !== null && _b !== void 0 ? _b : "";
41
+ var raw = (_d = (_c = frame.event_data) !== null && _c !== void 0 ? _c : frame.data) !== null && _d !== void 0 ? _d : {};
42
+ var eventData = typeof raw === "object" && raw !== null ? raw : { value: raw };
43
+ return { eventType: eventType, eventData: eventData, frame: frame };
44
+ }
45
+ var seq = 0;
46
+ export var nextItemId = function (prefix) { return "".concat(prefix, "-").concat(Date.now(), "-").concat(++seq); };
47
+ function findItem(state, id) {
48
+ var _a;
49
+ return id ? (_a = state.items.find(function (item) { return item.id === id; })) !== null && _a !== void 0 ? _a : null : null;
50
+ }
51
+ function freezeLiveTool(state) {
52
+ var tool = findItem(state, state.liveToolId);
53
+ if (tool)
54
+ tool.live = false;
55
+ state.liveToolId = null;
56
+ }
57
+ function stopStreaming(state) {
58
+ var streaming = findItem(state, state.streamingId);
59
+ if (streaming)
60
+ streaming.live = false;
61
+ state.streamingId = null;
62
+ }
63
+ function endTurn(state) {
64
+ freezeLiveTool(state);
65
+ stopStreaming(state);
66
+ state.working = false;
67
+ state.thinking = false;
68
+ }
69
+ function lastAssistantText(state) {
70
+ for (var i = state.items.length - 1; i >= 0; i--) {
71
+ var item = state.items[i];
72
+ if (item.eventType === AgentEventTypes.llmComplete && !item.widget)
73
+ return item.eventData.content;
74
+ if (item.eventType === AgentEventTypes.userMessage)
75
+ return undefined;
76
+ }
77
+ return undefined;
78
+ }
79
+ function pushAssistantText(state, content, at) {
80
+ freezeLiveTool(state);
81
+ state.items.push({ id: nextItemId("llm"), at: at, eventType: AgentEventTypes.llmComplete, eventData: { content: content } });
82
+ }
83
+ /** Adds or updates the widget item named by `event_data.widget`. */
84
+ function applyWidgetEvent(state, event, at) {
85
+ var _a, _b;
86
+ var eventType = event.eventType, eventData = event.eventData;
87
+ var widgetId = (_b = (_a = eventData.widgetId) !== null && _a !== void 0 ? _a : eventData.widget_id) !== null && _b !== void 0 ? _b : nextItemId(eventType || "widget");
88
+ var existing = state.items.find(function (item) { return item.widgetId === widgetId; });
89
+ if (existing) {
90
+ if (existing.final)
91
+ return;
92
+ existing.eventType = eventType;
93
+ existing.eventData = eventData;
94
+ existing.widget = eventData.widget;
95
+ existing.final = !!eventData.final;
96
+ return;
97
+ }
98
+ freezeLiveTool(state);
99
+ stopStreaming(state);
100
+ state.items.push({ id: nextItemId("w"), at: at, eventType: eventType, eventData: eventData, widget: eventData.widget, widgetId: widgetId, final: !!eventData.final });
101
+ state.thinking = false;
102
+ }
103
+ /**
104
+ * Applies one event. `replay` is true when rebuilding from stored history: user messages then
105
+ * come from the event stream (live ones are added locally when the user sends them).
106
+ */
107
+ export function applyAgentEvent(state, event, replay, at) {
108
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
109
+ if (replay === void 0) { replay = false; }
110
+ if (at === void 0) { at = Date.now(); }
111
+ var eventType = event.eventType, eventData = event.eventData, frame = event.frame;
112
+ var hasWidget = typeof eventData.widget === "string" && eventData.widget.length > 0;
113
+ if (hasWidget) {
114
+ applyWidgetEvent(state, event, at);
115
+ // Widget events still close the turn when they are end-of-turn events.
116
+ switch (eventType) {
117
+ case AgentEventTypes.turnComplete:
118
+ case AgentEventTypes.turnCompleteLegacy:
119
+ case AgentEventTypes.executionCancelled:
120
+ case AgentEventTypes.executionCancelledLegacy:
121
+ case AgentEventTypes.agentError:
122
+ case AgentEventTypes.error:
123
+ endTurn(state);
124
+ break;
125
+ }
126
+ return;
127
+ }
128
+ switch (eventType) {
129
+ case AgentEventTypes.sessionStarted: {
130
+ var sessionId = (_b = (_a = frame.session_id) !== null && _a !== void 0 ? _a : eventData.session_id) !== null && _b !== void 0 ? _b : null;
131
+ state.sessionId = sessionId;
132
+ state.historySessionId = (_d = (_c = frame.history_session_id) !== null && _c !== void 0 ? _c : eventData.history_session_id) !== null && _d !== void 0 ? _d : sessionId;
133
+ var commands = (_e = frame.commands) !== null && _e !== void 0 ? _e : eventData.commands;
134
+ if (Array.isArray(commands))
135
+ state.commands = commands;
136
+ state.authError = null;
137
+ break;
138
+ }
139
+ case AgentEventTypes.sessionEnded:
140
+ state.sessionId = null;
141
+ break;
142
+ case AgentEventTypes.userMessage:
143
+ if (replay) {
144
+ var content = (_g = (_f = eventData.content) !== null && _f !== void 0 ? _f : frame.content) !== null && _g !== void 0 ? _g : "";
145
+ var attachments = Array.isArray(eventData.attachments) ? eventData.attachments : [];
146
+ if (content || attachments.length) {
147
+ // agentEventId lets the UI fetch the stored attachment files (agentEvent media) later.
148
+ var replayEventData = attachments.length
149
+ ? { content: content, attachments: attachments, agentEventId: (_h = eventData.agentEventId) !== null && _h !== void 0 ? _h : frame.id }
150
+ : { content: content };
151
+ state.items.push({ id: nextItemId("u"), at: at, eventType: eventType, eventData: replayEventData });
152
+ }
153
+ state.liveToolId = null;
154
+ }
155
+ break;
156
+ case AgentEventTypes.agentStarted:
157
+ case AgentEventTypes.stepStarted:
158
+ if (!replay) {
159
+ state.working = true;
160
+ if (!state.liveToolId)
161
+ state.thinking = true;
162
+ }
163
+ break;
164
+ case AgentEventTypes.stepComplete:
165
+ case AgentEventTypes.agentComplete:
166
+ freezeLiveTool(state);
167
+ break;
168
+ case AgentEventTypes.toolCalling: {
169
+ freezeLiveTool(state);
170
+ stopStreaming(state);
171
+ var toolName = (_k = (_j = eventData.tool_name) !== null && _j !== void 0 ? _j : frame.tool_name) !== null && _k !== void 0 ? _k : "tool";
172
+ var args = (_l = eventData.arguments) !== null && _l !== void 0 ? _l : {};
173
+ var id = nextItemId("tool");
174
+ state.items.push({
175
+ id: id,
176
+ at: at,
177
+ eventType: eventType,
178
+ eventData: { tool_name: toolName, arguments: args, summary: describeToolArgs(args, toolName) },
179
+ live: !replay,
180
+ });
181
+ state.liveToolId = id;
182
+ state.thinking = false;
183
+ break;
184
+ }
185
+ case AgentEventTypes.toolProgress: {
186
+ var tool = findItem(state, state.liveToolId);
187
+ if (!tool)
188
+ break;
189
+ var label_1 = (_m = eventData.label) !== null && _m !== void 0 ? _m : "";
190
+ var status_1 = eventData.status === "success" || eventData.status === "done" ? "done" : "running";
191
+ var progress = (_o = tool.eventData.progress) !== null && _o !== void 0 ? _o : [];
192
+ var index_1 = progress.findIndex(function (step) { return step.label === label_1; });
193
+ var step_1 = { label: label_1, status: status_1, duration_ms: (_p = eventData.duration_ms) !== null && _p !== void 0 ? _p : (_q = progress[index_1]) === null || _q === void 0 ? void 0 : _q.duration_ms };
194
+ tool.eventData = __assign(__assign({}, tool.eventData), { progress: index_1 >= 0 ? progress.map(function (entry, i) { return (i === index_1 ? step_1 : entry); }) : __spreadArray(__spreadArray([], progress, true), [step_1], false) });
195
+ break;
196
+ }
197
+ case AgentEventTypes.toolResult: {
198
+ var tool = findItem(state, state.liveToolId);
199
+ if (tool) {
200
+ var output = (_s = (_r = eventData.output) !== null && _r !== void 0 ? _r : frame.content) !== null && _s !== void 0 ? _s : "";
201
+ var parsed = output ? parseToolResult(String(output)) : null;
202
+ tool.eventData = __assign(__assign(__assign({}, tool.eventData), { duration_ms: (_t = eventData.duration_ms) !== null && _t !== void 0 ? _t : frame.duration_ms }), (parsed ? { status: parsed.status, output: parsed.text, output_raw: String(output) } : {}));
203
+ }
204
+ freezeLiveTool(state);
205
+ if (!replay)
206
+ state.thinking = true;
207
+ break;
208
+ }
209
+ case AgentEventTypes.llmToken: {
210
+ var delta = (_u = eventData.delta) !== null && _u !== void 0 ? _u : "";
211
+ if (!delta)
212
+ break;
213
+ freezeLiveTool(state);
214
+ state.thinking = false;
215
+ state.turnStreamed = true;
216
+ var streaming = findItem(state, state.streamingId);
217
+ if (streaming) {
218
+ streaming.eventData = __assign(__assign({}, streaming.eventData), { content: "".concat((_v = streaming.eventData.content) !== null && _v !== void 0 ? _v : "").concat(delta) });
219
+ }
220
+ else {
221
+ var id = nextItemId("stream");
222
+ state.items.push({ id: id, at: at, eventType: AgentEventTypes.llmComplete, eventData: { content: delta }, live: true });
223
+ state.streamingId = id;
224
+ }
225
+ break;
226
+ }
227
+ case AgentEventTypes.llmComplete: {
228
+ var content = (_x = (_w = eventData.content) !== null && _w !== void 0 ? _w : frame.content) !== null && _x !== void 0 ? _x : "";
229
+ var streamed = findItem(state, state.streamingId);
230
+ stopStreaming(state);
231
+ if (!content || isLlmMetadata(content))
232
+ break;
233
+ if (streamed)
234
+ streamed.eventData = __assign(__assign({}, streamed.eventData), { content: content }); // authoritative final text
235
+ else if (lastAssistantText(state) !== content)
236
+ pushAssistantText(state, content, at);
237
+ break;
238
+ }
239
+ case AgentEventTypes.turnComplete:
240
+ case AgentEventTypes.turnCompleteLegacy: {
241
+ var content = (_z = (_y = eventData.content) !== null && _y !== void 0 ? _y : frame.content) !== null && _z !== void 0 ? _z : "";
242
+ if (content && !state.turnStreamed && !isLlmMetadata(content) && lastAssistantText(state) !== content) {
243
+ pushAssistantText(state, content, at);
244
+ }
245
+ endTurn(state);
246
+ state.turnStreamed = false;
247
+ break;
248
+ }
249
+ case AgentEventTypes.executionCancelled:
250
+ case AgentEventTypes.executionCancelledLegacy:
251
+ endTurn(state);
252
+ state.items.push({ id: nextItemId("cancel"), at: at, eventType: AgentEventTypes.executionCancelled, eventData: { message: (_0 = eventData.message) !== null && _0 !== void 0 ? _0 : "Stopped." } });
253
+ break;
254
+ case AgentEventTypes.agentError:
255
+ case AgentEventTypes.error: {
256
+ var message = (_2 = (_1 = eventData.error) !== null && _1 !== void 0 ? _1 : frame.content) !== null && _2 !== void 0 ? _2 : "Unknown error";
257
+ endTurn(state);
258
+ if (!replay && /unauthori[sz]ed|access token|lacks required permission/i.test(message))
259
+ state.authError = message;
260
+ state.items.push({ id: nextItemId("err"), at: at, eventType: AgentEventTypes.agentError, eventData: { error: message } });
261
+ break;
262
+ }
263
+ default:
264
+ // Bookkeeping events (LlmRequest, SkillActivation, ...) are not rendered without a widget.
265
+ break;
266
+ }
267
+ }
268
+ /** Rebuilds thread items from stored session events (`/api/agent/sessions/{id}/messages`). */
269
+ export function historyToItems(rows) {
270
+ var _a;
271
+ var state = createThreadState();
272
+ for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
273
+ var row = rows_1[_i];
274
+ var frame = __assign(__assign({}, row), { event_type: (_a = row.event_type) !== null && _a !== void 0 ? _a : (row.role === "user" ? AgentEventTypes.userMessage : row.role === "assistant" ? AgentEventTypes.llmComplete : "") });
275
+ var at = row.timestamp ? new Date(row.timestamp).getTime() : Date.now();
276
+ applyAgentEvent(state, normalizeAgentFrame(frame), true, at);
277
+ }
278
+ freezeLiveTool(state);
279
+ stopStreaming(state);
280
+ return state.items;
281
+ }
282
+ //# sourceMappingURL=agentEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvents.js","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/agentEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { describeToolArgs, isLlmMetadata, parseToolResult } from \"./agentFormat\";\nimport { AgentEventTypes, type AgentChatEvent, type AgentChatItem, type AgentCommand, type AgentWireFrame } from \"./types\";\n\n/**\n * Turns agent events into thread items. Used by agentSlice for live socket frames and by the\n * history loader for stored events, so both render identically.\n *\n * Rule: if `event_data.widget` is present the event becomes (or updates) a widget item rendered\n * by that registered widget; otherwise the `event_type` switch below decides what, if anything,\n * to add, and the thread renders it with the default widget for its type.\n */\n\n/** The slice of chat state this reducer reads and writes (agentSlice state satisfies it). */\nexport type AgentThreadState = {\n items: AgentChatItem[];\n sessionId: string | null;\n historySessionId: string | null;\n commands: AgentCommand[];\n working: boolean;\n thinking: boolean;\n authError: string | null;\n liveToolId: string | null;\n streamingId: string | null;\n turnStreamed: boolean;\n};\n\nexport function createThreadState(): AgentThreadState {\n return {\n items: [],\n sessionId: null,\n historySessionId: null,\n commands: [],\n working: false,\n thinking: false,\n authError: null,\n liveToolId: null,\n streamingId: null,\n turnStreamed: false,\n };\n}\n\n/** Accepts `{ event_type, event_data }` (current) and `{ type, data }` (legacy) frames. */\nexport function normalizeAgentFrame(frame: AgentWireFrame): AgentChatEvent {\n const eventType = frame.event_type ?? frame.type ?? \"\";\n const raw = frame.event_data ?? frame.data ?? {};\n const eventData = typeof raw === \"object\" && raw !== null ? raw : { value: raw };\n return { eventType, eventData, frame };\n}\n\nlet seq = 0;\nexport const nextItemId = (prefix: string) => `${prefix}-${Date.now()}-${++seq}`;\n\nfunction findItem(state: AgentThreadState, id: string | null) {\n return id ? state.items.find((item) => item.id === id) ?? null : null;\n}\n\nfunction freezeLiveTool(state: AgentThreadState) {\n const tool = findItem(state, state.liveToolId);\n if (tool) tool.live = false;\n state.liveToolId = null;\n}\n\nfunction stopStreaming(state: AgentThreadState) {\n const streaming = findItem(state, state.streamingId);\n if (streaming) streaming.live = false;\n state.streamingId = null;\n}\n\nfunction endTurn(state: AgentThreadState) {\n freezeLiveTool(state);\n stopStreaming(state);\n state.working = false;\n state.thinking = false;\n}\n\nfunction lastAssistantText(state: AgentThreadState): string | undefined {\n for (let i = state.items.length - 1; i >= 0; i--) {\n const item = state.items[i];\n if (item.eventType === AgentEventTypes.llmComplete && !item.widget) return item.eventData.content;\n if (item.eventType === AgentEventTypes.userMessage) return undefined;\n }\n return undefined;\n}\n\nfunction pushAssistantText(state: AgentThreadState, content: string, at: number) {\n freezeLiveTool(state);\n state.items.push({ id: nextItemId(\"llm\"), at, eventType: AgentEventTypes.llmComplete, eventData: { content } });\n}\n\n/** Adds or updates the widget item named by `event_data.widget`. */\nfunction applyWidgetEvent(state: AgentThreadState, event: AgentChatEvent, at: number) {\n const { eventType, eventData } = event;\n const widgetId: string = eventData.widgetId ?? eventData.widget_id ?? nextItemId(eventType || \"widget\");\n const existing = state.items.find((item) => item.widgetId === widgetId);\n if (existing) {\n if (existing.final) return;\n existing.eventType = eventType;\n existing.eventData = eventData;\n existing.widget = eventData.widget;\n existing.final = !!eventData.final;\n return;\n }\n freezeLiveTool(state);\n stopStreaming(state);\n state.items.push({ id: nextItemId(\"w\"), at, eventType, eventData, widget: eventData.widget, widgetId, final: !!eventData.final });\n state.thinking = false;\n}\n\n/**\n * Applies one event. `replay` is true when rebuilding from stored history: user messages then\n * come from the event stream (live ones are added locally when the user sends them).\n */\nexport function applyAgentEvent(state: AgentThreadState, event: AgentChatEvent, replay = false, at = Date.now()) {\n const { eventType, eventData, frame } = event;\n const hasWidget = typeof eventData.widget === \"string\" && eventData.widget.length > 0;\n\n if (hasWidget) {\n applyWidgetEvent(state, event, at);\n // Widget events still close the turn when they are end-of-turn events.\n switch (eventType) {\n case AgentEventTypes.turnComplete:\n case AgentEventTypes.turnCompleteLegacy:\n case AgentEventTypes.executionCancelled:\n case AgentEventTypes.executionCancelledLegacy:\n case AgentEventTypes.agentError:\n case AgentEventTypes.error:\n endTurn(state);\n break;\n }\n return;\n }\n\n switch (eventType) {\n case AgentEventTypes.sessionStarted: {\n const sessionId = frame.session_id ?? eventData.session_id ?? null;\n state.sessionId = sessionId;\n state.historySessionId = frame.history_session_id ?? eventData.history_session_id ?? sessionId;\n const commands = frame.commands ?? eventData.commands;\n if (Array.isArray(commands)) state.commands = commands;\n state.authError = null;\n break;\n }\n\n case AgentEventTypes.sessionEnded:\n state.sessionId = null;\n break;\n\n case AgentEventTypes.userMessage:\n if (replay) {\n const content = eventData.content ?? frame.content ?? \"\";\n const attachments = Array.isArray(eventData.attachments) ? eventData.attachments : [];\n if (content || attachments.length) {\n // agentEventId lets the UI fetch the stored attachment files (agentEvent media) later.\n const replayEventData = attachments.length\n ? { content, attachments, agentEventId: eventData.agentEventId ?? frame.id }\n : { content };\n state.items.push({ id: nextItemId(\"u\"), at, eventType, eventData: replayEventData });\n }\n state.liveToolId = null;\n }\n break;\n\n case AgentEventTypes.agentStarted:\n case AgentEventTypes.stepStarted:\n if (!replay) {\n state.working = true;\n if (!state.liveToolId) state.thinking = true;\n }\n break;\n\n case AgentEventTypes.stepComplete:\n case AgentEventTypes.agentComplete:\n freezeLiveTool(state);\n break;\n\n case AgentEventTypes.toolCalling: {\n freezeLiveTool(state);\n stopStreaming(state);\n const toolName = eventData.tool_name ?? frame.tool_name ?? \"tool\";\n const args = eventData.arguments ?? {};\n const id = nextItemId(\"tool\");\n state.items.push({\n id,\n at,\n eventType,\n eventData: { tool_name: toolName, arguments: args, summary: describeToolArgs(args, toolName) },\n live: !replay,\n });\n state.liveToolId = id;\n state.thinking = false;\n break;\n }\n\n case AgentEventTypes.toolProgress: {\n const tool = findItem(state, state.liveToolId);\n if (!tool) break;\n const label = eventData.label ?? \"\";\n const status = eventData.status === \"success\" || eventData.status === \"done\" ? \"done\" : \"running\";\n const progress: any[] = tool.eventData.progress ?? [];\n const index = progress.findIndex((step) => step.label === label);\n const step = { label, status, duration_ms: eventData.duration_ms ?? progress[index]?.duration_ms };\n tool.eventData = { ...tool.eventData, progress: index >= 0 ? progress.map((entry, i) => (i === index ? step : entry)) : [...progress, step] };\n break;\n }\n\n case AgentEventTypes.toolResult: {\n const tool = findItem(state, state.liveToolId);\n if (tool) {\n const output = eventData.output ?? frame.content ?? \"\";\n const parsed = output ? parseToolResult(String(output)) : null;\n tool.eventData = {\n ...tool.eventData,\n duration_ms: eventData.duration_ms ?? frame.duration_ms,\n ...(parsed ? { status: parsed.status, output: parsed.text, output_raw: String(output) } : {}),\n };\n }\n freezeLiveTool(state);\n if (!replay) state.thinking = true;\n break;\n }\n\n case AgentEventTypes.llmToken: {\n const delta: string = eventData.delta ?? \"\";\n if (!delta) break;\n freezeLiveTool(state);\n state.thinking = false;\n state.turnStreamed = true;\n const streaming = findItem(state, state.streamingId);\n if (streaming) {\n streaming.eventData = { ...streaming.eventData, content: `${streaming.eventData.content ?? \"\"}${delta}` };\n } else {\n const id = nextItemId(\"stream\");\n state.items.push({ id, at, eventType: AgentEventTypes.llmComplete, eventData: { content: delta }, live: true });\n state.streamingId = id;\n }\n break;\n }\n\n case AgentEventTypes.llmComplete: {\n const content: string = eventData.content ?? frame.content ?? \"\";\n const streamed = findItem(state, state.streamingId);\n stopStreaming(state);\n if (!content || isLlmMetadata(content)) break;\n if (streamed) streamed.eventData = { ...streamed.eventData, content }; // authoritative final text\n else if (lastAssistantText(state) !== content) pushAssistantText(state, content, at);\n break;\n }\n\n case AgentEventTypes.turnComplete:\n case AgentEventTypes.turnCompleteLegacy: {\n const content: string = eventData.content ?? frame.content ?? \"\";\n if (content && !state.turnStreamed && !isLlmMetadata(content) && lastAssistantText(state) !== content) {\n pushAssistantText(state, content, at);\n }\n endTurn(state);\n state.turnStreamed = false;\n break;\n }\n\n case AgentEventTypes.executionCancelled:\n case AgentEventTypes.executionCancelledLegacy:\n endTurn(state);\n state.items.push({ id: nextItemId(\"cancel\"), at, eventType: AgentEventTypes.executionCancelled, eventData: { message: eventData.message ?? \"Stopped.\" } });\n break;\n\n case AgentEventTypes.agentError:\n case AgentEventTypes.error: {\n const message: string = eventData.error ?? frame.content ?? \"Unknown error\";\n endTurn(state);\n if (!replay && /unauthori[sz]ed|access token|lacks required permission/i.test(message)) state.authError = message;\n state.items.push({ id: nextItemId(\"err\"), at, eventType: AgentEventTypes.agentError, eventData: { error: message } });\n break;\n }\n\n default:\n // Bookkeeping events (LlmRequest, SkillActivation, ...) are not rendered without a widget.\n break;\n }\n}\n\n/** Rebuilds thread items from stored session events (`/api/agent/sessions/{id}/messages`). */\nexport function historyToItems(rows: any[]): AgentChatItem[] {\n const state = createThreadState();\n for (const row of rows) {\n const frame: AgentWireFrame = { ...row, event_type: row.event_type ?? (row.role === \"user\" ? AgentEventTypes.userMessage : row.role === \"assistant\" ? AgentEventTypes.llmComplete : \"\") };\n const at = row.timestamp ? new Date(row.timestamp).getTime() : Date.now();\n applyAgentEvent(state, normalizeAgentFrame(frame), true, at);\n }\n freezeLiveTool(state);\n stopStreaming(state);\n return state.items;\n}\n"]}
@@ -0,0 +1,292 @@
1
+ import { describeToolArgs, isLlmMetadata, parseToolResult } from "./agentFormat";
2
+ import { AgentEventTypes, type AgentChatEvent, type AgentChatItem, type AgentCommand, type AgentWireFrame } from "./types";
3
+
4
+ /**
5
+ * Turns agent events into thread items. Used by agentSlice for live socket frames and by the
6
+ * history loader for stored events, so both render identically.
7
+ *
8
+ * Rule: if `event_data.widget` is present the event becomes (or updates) a widget item rendered
9
+ * by that registered widget; otherwise the `event_type` switch below decides what, if anything,
10
+ * to add, and the thread renders it with the default widget for its type.
11
+ */
12
+
13
+ /** The slice of chat state this reducer reads and writes (agentSlice state satisfies it). */
14
+ export type AgentThreadState = {
15
+ items: AgentChatItem[];
16
+ sessionId: string | null;
17
+ historySessionId: string | null;
18
+ commands: AgentCommand[];
19
+ working: boolean;
20
+ thinking: boolean;
21
+ authError: string | null;
22
+ liveToolId: string | null;
23
+ streamingId: string | null;
24
+ turnStreamed: boolean;
25
+ };
26
+
27
+ export function createThreadState(): AgentThreadState {
28
+ return {
29
+ items: [],
30
+ sessionId: null,
31
+ historySessionId: null,
32
+ commands: [],
33
+ working: false,
34
+ thinking: false,
35
+ authError: null,
36
+ liveToolId: null,
37
+ streamingId: null,
38
+ turnStreamed: false,
39
+ };
40
+ }
41
+
42
+ /** Accepts `{ event_type, event_data }` (current) and `{ type, data }` (legacy) frames. */
43
+ export function normalizeAgentFrame(frame: AgentWireFrame): AgentChatEvent {
44
+ const eventType = frame.event_type ?? frame.type ?? "";
45
+ const raw = frame.event_data ?? frame.data ?? {};
46
+ const eventData = typeof raw === "object" && raw !== null ? raw : { value: raw };
47
+ return { eventType, eventData, frame };
48
+ }
49
+
50
+ let seq = 0;
51
+ export const nextItemId = (prefix: string) => `${prefix}-${Date.now()}-${++seq}`;
52
+
53
+ function findItem(state: AgentThreadState, id: string | null) {
54
+ return id ? state.items.find((item) => item.id === id) ?? null : null;
55
+ }
56
+
57
+ function freezeLiveTool(state: AgentThreadState) {
58
+ const tool = findItem(state, state.liveToolId);
59
+ if (tool) tool.live = false;
60
+ state.liveToolId = null;
61
+ }
62
+
63
+ function stopStreaming(state: AgentThreadState) {
64
+ const streaming = findItem(state, state.streamingId);
65
+ if (streaming) streaming.live = false;
66
+ state.streamingId = null;
67
+ }
68
+
69
+ function endTurn(state: AgentThreadState) {
70
+ freezeLiveTool(state);
71
+ stopStreaming(state);
72
+ state.working = false;
73
+ state.thinking = false;
74
+ }
75
+
76
+ function lastAssistantText(state: AgentThreadState): string | undefined {
77
+ for (let i = state.items.length - 1; i >= 0; i--) {
78
+ const item = state.items[i];
79
+ if (item.eventType === AgentEventTypes.llmComplete && !item.widget) return item.eventData.content;
80
+ if (item.eventType === AgentEventTypes.userMessage) return undefined;
81
+ }
82
+ return undefined;
83
+ }
84
+
85
+ function pushAssistantText(state: AgentThreadState, content: string, at: number) {
86
+ freezeLiveTool(state);
87
+ state.items.push({ id: nextItemId("llm"), at, eventType: AgentEventTypes.llmComplete, eventData: { content } });
88
+ }
89
+
90
+ /** Adds or updates the widget item named by `event_data.widget`. */
91
+ function applyWidgetEvent(state: AgentThreadState, event: AgentChatEvent, at: number) {
92
+ const { eventType, eventData } = event;
93
+ const widgetId: string = eventData.widgetId ?? eventData.widget_id ?? nextItemId(eventType || "widget");
94
+ const existing = state.items.find((item) => item.widgetId === widgetId);
95
+ if (existing) {
96
+ if (existing.final) return;
97
+ existing.eventType = eventType;
98
+ existing.eventData = eventData;
99
+ existing.widget = eventData.widget;
100
+ existing.final = !!eventData.final;
101
+ return;
102
+ }
103
+ freezeLiveTool(state);
104
+ stopStreaming(state);
105
+ state.items.push({ id: nextItemId("w"), at, eventType, eventData, widget: eventData.widget, widgetId, final: !!eventData.final });
106
+ state.thinking = false;
107
+ }
108
+
109
+ /**
110
+ * Applies one event. `replay` is true when rebuilding from stored history: user messages then
111
+ * come from the event stream (live ones are added locally when the user sends them).
112
+ */
113
+ export function applyAgentEvent(state: AgentThreadState, event: AgentChatEvent, replay = false, at = Date.now()) {
114
+ const { eventType, eventData, frame } = event;
115
+ const hasWidget = typeof eventData.widget === "string" && eventData.widget.length > 0;
116
+
117
+ if (hasWidget) {
118
+ applyWidgetEvent(state, event, at);
119
+ // Widget events still close the turn when they are end-of-turn events.
120
+ switch (eventType) {
121
+ case AgentEventTypes.turnComplete:
122
+ case AgentEventTypes.turnCompleteLegacy:
123
+ case AgentEventTypes.executionCancelled:
124
+ case AgentEventTypes.executionCancelledLegacy:
125
+ case AgentEventTypes.agentError:
126
+ case AgentEventTypes.error:
127
+ endTurn(state);
128
+ break;
129
+ }
130
+ return;
131
+ }
132
+
133
+ switch (eventType) {
134
+ case AgentEventTypes.sessionStarted: {
135
+ const sessionId = frame.session_id ?? eventData.session_id ?? null;
136
+ state.sessionId = sessionId;
137
+ state.historySessionId = frame.history_session_id ?? eventData.history_session_id ?? sessionId;
138
+ const commands = frame.commands ?? eventData.commands;
139
+ if (Array.isArray(commands)) state.commands = commands;
140
+ state.authError = null;
141
+ break;
142
+ }
143
+
144
+ case AgentEventTypes.sessionEnded:
145
+ state.sessionId = null;
146
+ break;
147
+
148
+ case AgentEventTypes.userMessage:
149
+ if (replay) {
150
+ const content = eventData.content ?? frame.content ?? "";
151
+ const attachments = Array.isArray(eventData.attachments) ? eventData.attachments : [];
152
+ if (content || attachments.length) {
153
+ // agentEventId lets the UI fetch the stored attachment files (agentEvent media) later.
154
+ const replayEventData = attachments.length
155
+ ? { content, attachments, agentEventId: eventData.agentEventId ?? frame.id }
156
+ : { content };
157
+ state.items.push({ id: nextItemId("u"), at, eventType, eventData: replayEventData });
158
+ }
159
+ state.liveToolId = null;
160
+ }
161
+ break;
162
+
163
+ case AgentEventTypes.agentStarted:
164
+ case AgentEventTypes.stepStarted:
165
+ if (!replay) {
166
+ state.working = true;
167
+ if (!state.liveToolId) state.thinking = true;
168
+ }
169
+ break;
170
+
171
+ case AgentEventTypes.stepComplete:
172
+ case AgentEventTypes.agentComplete:
173
+ freezeLiveTool(state);
174
+ break;
175
+
176
+ case AgentEventTypes.toolCalling: {
177
+ freezeLiveTool(state);
178
+ stopStreaming(state);
179
+ const toolName = eventData.tool_name ?? frame.tool_name ?? "tool";
180
+ const args = eventData.arguments ?? {};
181
+ const id = nextItemId("tool");
182
+ state.items.push({
183
+ id,
184
+ at,
185
+ eventType,
186
+ eventData: { tool_name: toolName, arguments: args, summary: describeToolArgs(args, toolName) },
187
+ live: !replay,
188
+ });
189
+ state.liveToolId = id;
190
+ state.thinking = false;
191
+ break;
192
+ }
193
+
194
+ case AgentEventTypes.toolProgress: {
195
+ const tool = findItem(state, state.liveToolId);
196
+ if (!tool) break;
197
+ const label = eventData.label ?? "";
198
+ const status = eventData.status === "success" || eventData.status === "done" ? "done" : "running";
199
+ const progress: any[] = tool.eventData.progress ?? [];
200
+ const index = progress.findIndex((step) => step.label === label);
201
+ const step = { label, status, duration_ms: eventData.duration_ms ?? progress[index]?.duration_ms };
202
+ tool.eventData = { ...tool.eventData, progress: index >= 0 ? progress.map((entry, i) => (i === index ? step : entry)) : [...progress, step] };
203
+ break;
204
+ }
205
+
206
+ case AgentEventTypes.toolResult: {
207
+ const tool = findItem(state, state.liveToolId);
208
+ if (tool) {
209
+ const output = eventData.output ?? frame.content ?? "";
210
+ const parsed = output ? parseToolResult(String(output)) : null;
211
+ tool.eventData = {
212
+ ...tool.eventData,
213
+ duration_ms: eventData.duration_ms ?? frame.duration_ms,
214
+ ...(parsed ? { status: parsed.status, output: parsed.text, output_raw: String(output) } : {}),
215
+ };
216
+ }
217
+ freezeLiveTool(state);
218
+ if (!replay) state.thinking = true;
219
+ break;
220
+ }
221
+
222
+ case AgentEventTypes.llmToken: {
223
+ const delta: string = eventData.delta ?? "";
224
+ if (!delta) break;
225
+ freezeLiveTool(state);
226
+ state.thinking = false;
227
+ state.turnStreamed = true;
228
+ const streaming = findItem(state, state.streamingId);
229
+ if (streaming) {
230
+ streaming.eventData = { ...streaming.eventData, content: `${streaming.eventData.content ?? ""}${delta}` };
231
+ } else {
232
+ const id = nextItemId("stream");
233
+ state.items.push({ id, at, eventType: AgentEventTypes.llmComplete, eventData: { content: delta }, live: true });
234
+ state.streamingId = id;
235
+ }
236
+ break;
237
+ }
238
+
239
+ case AgentEventTypes.llmComplete: {
240
+ const content: string = eventData.content ?? frame.content ?? "";
241
+ const streamed = findItem(state, state.streamingId);
242
+ stopStreaming(state);
243
+ if (!content || isLlmMetadata(content)) break;
244
+ if (streamed) streamed.eventData = { ...streamed.eventData, content }; // authoritative final text
245
+ else if (lastAssistantText(state) !== content) pushAssistantText(state, content, at);
246
+ break;
247
+ }
248
+
249
+ case AgentEventTypes.turnComplete:
250
+ case AgentEventTypes.turnCompleteLegacy: {
251
+ const content: string = eventData.content ?? frame.content ?? "";
252
+ if (content && !state.turnStreamed && !isLlmMetadata(content) && lastAssistantText(state) !== content) {
253
+ pushAssistantText(state, content, at);
254
+ }
255
+ endTurn(state);
256
+ state.turnStreamed = false;
257
+ break;
258
+ }
259
+
260
+ case AgentEventTypes.executionCancelled:
261
+ case AgentEventTypes.executionCancelledLegacy:
262
+ endTurn(state);
263
+ state.items.push({ id: nextItemId("cancel"), at, eventType: AgentEventTypes.executionCancelled, eventData: { message: eventData.message ?? "Stopped." } });
264
+ break;
265
+
266
+ case AgentEventTypes.agentError:
267
+ case AgentEventTypes.error: {
268
+ const message: string = eventData.error ?? frame.content ?? "Unknown error";
269
+ endTurn(state);
270
+ if (!replay && /unauthori[sz]ed|access token|lacks required permission/i.test(message)) state.authError = message;
271
+ state.items.push({ id: nextItemId("err"), at, eventType: AgentEventTypes.agentError, eventData: { error: message } });
272
+ break;
273
+ }
274
+
275
+ default:
276
+ // Bookkeeping events (LlmRequest, SkillActivation, ...) are not rendered without a widget.
277
+ break;
278
+ }
279
+ }
280
+
281
+ /** Rebuilds thread items from stored session events (`/api/agent/sessions/{id}/messages`). */
282
+ export function historyToItems(rows: any[]): AgentChatItem[] {
283
+ const state = createThreadState();
284
+ for (const row of rows) {
285
+ const frame: AgentWireFrame = { ...row, event_type: row.event_type ?? (row.role === "user" ? AgentEventTypes.userMessage : row.role === "assistant" ? AgentEventTypes.llmComplete : "") };
286
+ const at = row.timestamp ? new Date(row.timestamp).getTime() : Date.now();
287
+ applyAgentEvent(state, normalizeAgentFrame(frame), true, at);
288
+ }
289
+ freezeLiveTool(state);
290
+ stopStreaming(state);
291
+ return state.items;
292
+ }