@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,258 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
58
+ import React from "react";
59
+ import qs from "qs";
60
+ import { AlertCircle, Clock3, RefreshCw, Search } from "lucide-react";
61
+ import { createSolidEntityApi } from "../../../../../redux/api/solidEntityApi";
62
+ import { SolidAutocomplete, SolidDialog, SolidDialogDescription, SolidDialogHeader, SolidDialogTitle, SolidInput, SolidSelect } from "../../../../shad-cn-ui";
63
+ import { AgentEventOutcomeListWidget, getAgentEventFailure } from "../agentEvent/list/AgentEventOutcomeListWidget";
64
+ import "../../../../../routes/pages/admin/core/AgentToolRegistryEditorPage.css";
65
+ function unwrapRecords(result) {
66
+ return Array.isArray(result === null || result === void 0 ? void 0 : result.records) ? result.records : [];
67
+ }
68
+ function ago(value) {
69
+ if (!value)
70
+ return "Start time unknown";
71
+ var date = new Date(value);
72
+ if (Number.isNaN(date.getTime()))
73
+ return "Start time unknown";
74
+ var seconds = Math.max(0, Math.floor((Date.now() - date.getTime()) / 1000));
75
+ if (seconds < 60)
76
+ return "Started just now";
77
+ if (seconds < 3600)
78
+ return "Started ".concat(Math.floor(seconds / 60), "m ago");
79
+ if (seconds < 86400)
80
+ return "Started ".concat(Math.floor(seconds / 3600), "h ago");
81
+ var days = Math.floor(seconds / 86400);
82
+ return days < 30 ? "Started ".concat(days, "d ago") : "Started ".concat(date.toLocaleDateString());
83
+ }
84
+ function agentName(session, agents) {
85
+ var _a, _b, _c, _d;
86
+ var relation = session.agent;
87
+ var id = relation && typeof relation === "object" ? relation.id : relation;
88
+ var agent = agents.find(function (item) { return String(item.id) === String(id); });
89
+ if (agent)
90
+ return (_b = (_a = agent.name) !== null && _a !== void 0 ? _a : agent.title) !== null && _b !== void 0 ? _b : "Unnamed agent";
91
+ if (relation && typeof relation === "object")
92
+ return (_d = (_c = relation.name) !== null && _c !== void 0 ? _c : relation.title) !== null && _d !== void 0 ? _d : "Unnamed agent";
93
+ return "Unknown agent";
94
+ }
95
+ function sessionQuery(agentId, processId) {
96
+ var processFilter = processId == null ? "" : "&filters[process][id][$eq]=".concat(encodeURIComponent(String(processId)));
97
+ return "offset=0&limit=1000&populate[0]=agent&sort[0]=startedAt%3Adesc&filters[agent][id][$eq]=".concat(encodeURIComponent(String(agentId))).concat(processFilter);
98
+ }
99
+ function eventsQuery(sessionId, offset, limit, eventType, search) {
100
+ var conditions = [{ session: { $eq: sessionId } }];
101
+ if (eventType !== "all")
102
+ conditions.push({ eventType: { $eq: eventType } });
103
+ if (search.trim())
104
+ conditions.push({ $or: ["eventType", "toolName", "content", "toolOutput", "eventData"]
105
+ .map(function (field) {
106
+ var _a;
107
+ return (_a = {}, _a[field] = { $containsi: search.trim() }, _a);
108
+ }) });
109
+ return qs.stringify({
110
+ offset: offset,
111
+ limit: limit,
112
+ sort: ["createdAt:asc", "id:asc"], filters: { $and: conditions },
113
+ fields: ["id", "createdAt", "eventType", "toolName", "cost", "inputTokens", "outputTokens", "toolReturncode", "toolOutput", "eventData"],
114
+ });
115
+ }
116
+ var EMPTY_AGENTS = [];
117
+ var EVENT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
118
+ var EventFormView = React.lazy(function () { return import("../../../form/SolidFormView"); });
119
+ export function AgentSessionsPanel(_a) {
120
+ var _this = this;
121
+ var _b, _c, _d, _e, _f, _g;
122
+ var agents = _a.agents, agentId = _a.agentId, agentLabel = _a.agentLabel, processId = _a.processId, processLabel = _a.processLabel;
123
+ var linkedAgents = agents !== null && agents !== void 0 ? agents : EMPTY_AGENTS;
124
+ var scopedAgents = React.useMemo(function () { return agentId != null
125
+ ? [{ id: agentId, name: agentLabel !== null && agentLabel !== void 0 ? agentLabel : "Agent" }]
126
+ : linkedAgents; }, [agentId, agentLabel, linkedAgents]);
127
+ var sessionApi = React.useMemo(function () { return createSolidEntityApi("agentSession"); }, []);
128
+ var eventApi = React.useMemo(function () { return createSolidEntityApi("agentEvent"); }, []);
129
+ var fetchSessions = sessionApi.useLazyGetSolidEntitiesQuery()[0];
130
+ var _h = React.useState([]), sessions = _h[0], setSessions = _h[1];
131
+ var _j = React.useState(null), selectedAgent = _j[0], setSelectedAgent = _j[1];
132
+ var _k = React.useState(null), selectedSessionId = _k[0], setSelectedSessionId = _k[1];
133
+ var _l = React.useState(null), selectedEventId = _l[0], setSelectedEventId = _l[1];
134
+ var eventsTableRef = React.useRef(null);
135
+ var _m = React.useState(false), isLoadingSessions = _m[0], setIsLoadingSessions = _m[1];
136
+ var _o = React.useState(false), sessionsError = _o[0], setSessionsError = _o[1];
137
+ var _p = React.useState("all"), eventTypeFilter = _p[0], setEventTypeFilter = _p[1];
138
+ var _q = React.useState("all"), outcomeFilter = _q[0], setOutcomeFilter = _q[1];
139
+ var _r = React.useState(""), eventSearch = _r[0], setEventSearch = _r[1];
140
+ var _s = React.useState(""), eventSearchQuery = _s[0], setEventSearchQuery = _s[1];
141
+ var _t = React.useState({ scope: "", page: 1 }), eventPagination = _t[0], setEventPagination = _t[1];
142
+ var _u = React.useState(25), eventPageSize = _u[0], setEventPageSize = _u[1];
143
+ var eventPageSizeId = React.useId();
144
+ var _v = React.useState(""), sessionSearch = _v[0], setSessionSearch = _v[1];
145
+ var _w = React.useState(0), sessionRefreshVersion = _w[0], setSessionRefreshVersion = _w[1];
146
+ var eventScope = JSON.stringify([selectedSessionId, eventTypeFilter, eventSearchQuery]);
147
+ var currentEventPage = eventPagination.scope === eventScope ? eventPagination.page : 1;
148
+ var eventFirst = (currentEventPage - 1) * eventPageSize;
149
+ var eventResult = eventApi.useGetSolidEntitiesQuery(selectedSessionId == null ? "" : eventsQuery(selectedSessionId, eventFirst, eventPageSize, eventTypeFilter, eventSearchQuery), { skip: selectedSessionId == null });
150
+ var eventTypesResult = eventApi.useGetSolidEntitiesQuery(qs.stringify({
151
+ groupBy: ["eventType"], sort: ["eventType:asc"], filters: { session: { $eq: selectedSessionId } },
152
+ }), { skip: selectedSessionId == null });
153
+ var events = unwrapRecords(eventResult.currentData);
154
+ var totalEvents = Number((_d = (_c = (_b = eventResult.currentData) === null || _b === void 0 ? void 0 : _b.meta) === null || _c === void 0 ? void 0 : _c.totalRecords) !== null && _d !== void 0 ? _d : 0);
155
+ var eventPageCount = Math.max(1, Math.ceil(totalEvents / eventPageSize));
156
+ var isLoadingEvents = eventResult.isFetching || eventSearch.trim() !== eventSearchQuery;
157
+ var eventsError = eventResult.isError;
158
+ var agentOptions = React.useMemo(function () { return linkedAgents.map(function (agent) {
159
+ var _a, _b;
160
+ return ({
161
+ id: String(agent.id),
162
+ label: (_b = (_a = agent.name) !== null && _a !== void 0 ? _a : agent.title) !== null && _b !== void 0 ? _b : "Agent ".concat(agent.id),
163
+ });
164
+ }); }, [linkedAgents]);
165
+ var linkedAgentKey = agentOptions.map(function (agent) { return agent.id; }).join(",");
166
+ React.useEffect(function () {
167
+ var alive = true;
168
+ var requestedAgents = agentId != null ? scopedAgents : selectedAgent ? scopedAgents.filter(function (agent) { return String(agent.id) === selectedAgent.id; }) : scopedAgents;
169
+ if (!requestedAgents.length) {
170
+ setSessions([]);
171
+ setSelectedSessionId(null);
172
+ return;
173
+ }
174
+ setIsLoadingSessions(true);
175
+ setSessionsError(false);
176
+ void Promise.all(requestedAgents.map(function (agent) { return __awaiter(_this, void 0, void 0, function () {
177
+ var result;
178
+ return __generator(this, function (_a) {
179
+ switch (_a.label) {
180
+ case 0: return [4 /*yield*/, fetchSessions(sessionQuery(agent.id, processId), false).unwrap()];
181
+ case 1:
182
+ result = _a.sent();
183
+ return [2 /*return*/, unwrapRecords(result).map(function (item) { return (__assign(__assign({}, item), { agent: item.agent && typeof item.agent === "object" ? item.agent : agent })); })];
184
+ }
185
+ });
186
+ }); })).then(function (groups) {
187
+ if (!alive)
188
+ return;
189
+ var unique = new Map();
190
+ groups.flat().forEach(function (session) { return unique.set(String(session.id), session); });
191
+ var ordered = Array.from(unique.values()).sort(function (a, b) { var _a, _b; return new Date((_a = b.startedAt) !== null && _a !== void 0 ? _a : 0).getTime() - new Date((_b = a.startedAt) !== null && _b !== void 0 ? _b : 0).getTime(); });
192
+ setSessions(ordered);
193
+ setSelectedSessionId(function (current) { var _a, _b; return ordered.some(function (session) { return session.id === current; }) ? current : (_b = (_a = ordered[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null; });
194
+ }).catch(function () {
195
+ if (alive) {
196
+ setSessions([]);
197
+ setSelectedSessionId(null);
198
+ setSessionsError(true);
199
+ }
200
+ }).finally(function () { return alive && setIsLoadingSessions(false); });
201
+ return function () { alive = false; };
202
+ }, [agentId, fetchSessions, linkedAgentKey, processId, scopedAgents, selectedAgent, sessionRefreshVersion]);
203
+ React.useEffect(function () {
204
+ var timer = window.setTimeout(function () { return setEventSearchQuery(eventSearch.trim()); }, 300);
205
+ return function () { return window.clearTimeout(timer); };
206
+ }, [eventSearch]);
207
+ var eventTypes = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], ((_f = (_e = eventTypesResult.currentData) === null || _e === void 0 ? void 0 : _e.groupMeta) !== null && _f !== void 0 ? _f : []).map(function (group) { var _a; return String((_a = group.groupValue) !== null && _a !== void 0 ? _a : ""); }), true), events.map(function (event) { var _a; return String((_a = event.eventType) !== null && _a !== void 0 ? _a : ""); }), true), [
208
+ eventTypeFilter === "all" ? "" : eventTypeFilter,
209
+ ], false).filter(Boolean))).sort();
210
+ var visibleEvents = events.filter(function (event) { return outcomeFilter === "all"
211
+ || Boolean(getAgentEventFailure(event)) === (outcomeFilter === "failure"); });
212
+ React.useEffect(function () {
213
+ if (!isLoadingEvents && eventResult.currentData && currentEventPage > eventPageCount) {
214
+ setEventPagination({ scope: eventScope, page: eventPageCount });
215
+ }
216
+ }, [isLoadingEvents, eventResult.currentData, currentEventPage, eventPageCount, eventScope]);
217
+ React.useEffect(function () {
218
+ if (eventsTableRef.current)
219
+ eventsTableRef.current.scrollTop = 0;
220
+ }, [currentEventPage, eventPageSize, selectedSessionId, eventSearch, eventTypeFilter, outcomeFilter]);
221
+ var selectedSession = sessions.find(function (session) { return session.id === selectedSessionId; });
222
+ var visibleSessions = React.useMemo(function () {
223
+ var query = sessionSearch.trim().toLowerCase();
224
+ if (!query)
225
+ return sessions;
226
+ return sessions.filter(function (session) { return [session.sessionId, session.id, session.status, agentName(session, scopedAgents)]
227
+ .some(function (value) { return String(value !== null && value !== void 0 ? value : "").toLowerCase().includes(query); }); });
228
+ }, [scopedAgents, sessionSearch, sessions]);
229
+ return (_jsxs("section", { className: "agent-tool-editor__sessions", "aria-label": "Sessions and events", children: [_jsxs("aside", { className: "agent-tool-editor__sessions-sidebar", children: [_jsxs("header", { className: "agent-tool-editor__sessions-sidebar-head", children: [_jsx("div", { children: _jsxs("div", { className: "agent-tool-editor__sessions-heading", children: [_jsx("h2", { children: "Sessions" }), _jsx("button", { type: "button", className: "agent-tool-editor__refresh".concat(isLoadingSessions ? " is-loading" : ""), "aria-label": "Refresh sessions", title: "Refresh sessions", disabled: isLoadingSessions, onClick: function () { return setSessionRefreshVersion(function (version) { return version + 1; }); }, children: _jsx(RefreshCw, { size: 13 }) }), _jsxs("span", { children: [visibleSessions.length, visibleSessions.length !== sessions.length ? " / ".concat(sessions.length) : ""] })] }) }), _jsx("p", { children: processId != null ? "In ".concat(processLabel !== null && processLabel !== void 0 ? processLabel : "process #".concat(processId), ".") : agentId != null ? "Browse activity for this agent." : "Browse activity across linked agents." }), agentId == null && linkedAgents.length > 1 && _jsxs("label", { className: "agent-tool-editor__sessions-agent-filter", children: [_jsx("span", { children: "Agent" }), _jsx(SolidAutocomplete, { value: selectedAgent ? [selectedAgent] : [], suggestions: agentOptions, field: "label", multiple: true, maxVisibleChips: 1, dropdown: true, forceSelection: true, portal: true, placeholder: "All linked agents", onChange: function (event) { var _a; return setSelectedAgent(Array.isArray(event.value) ? (_a = event.value[0]) !== null && _a !== void 0 ? _a : null : null); } })] }), _jsxs("label", { className: "agent-tool-editor__session-search", children: [_jsx("span", { className: "sr-only", children: "Find a session" }), _jsx(Search, { size: 14 }), _jsx(SolidInput, { value: sessionSearch, placeholder: "Find session or agent\u2026", onChange: function (event) { return setSessionSearch(event.target.value); } })] })] }), _jsx("div", { className: "agent-tool-editor__session-list", role: "listbox", "aria-label": "Sessions", children: isLoadingSessions ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "Loading sessions\u2026" })
230
+ : sessionsError ? _jsxs("p", { className: "agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error", children: [_jsx(AlertCircle, { size: 15 }), " Could not load sessions."] })
231
+ : sessions.length === 0 ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: processId != null ? "No sessions assigned to this process. Older unassigned sessions remain in the Sessions tab." : "No sessions found for linked agents." })
232
+ : visibleSessions.length === 0 ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "No sessions match this search." })
233
+ : visibleSessions.map(function (session) {
234
+ var _a, _b;
235
+ var sessionLabel = (_a = session.sessionId) !== null && _a !== void 0 ? _a : String(session.id);
236
+ var rawStatus = String((_b = session.status) !== null && _b !== void 0 ? _b : "").toLowerCase();
237
+ var statusLabel = rawStatus === "active" ? "Idle"
238
+ : rawStatus === "awaiting_input" ? "Awaiting input"
239
+ : rawStatus === "awaiting_approval" ? "Awaiting approval"
240
+ : rawStatus ? rawStatus.replace(/[_-]+/g, " ") : session.endedAt ? "Ended" : "Open";
241
+ return _jsxs("button", { type: "button", role: "option", "aria-selected": session.id === selectedSessionId, className: "agent-tool-editor__session-item".concat(session.id === selectedSessionId ? " is-selected" : ""), onClick: function () { return setSelectedSessionId(session.id); }, title: sessionLabel, children: [_jsx("span", { className: "agent-tool-editor__session-item-id", title: sessionLabel, children: sessionLabel }), _jsxs("span", { className: "agent-tool-editor__session-item-meta", children: [_jsxs("span", { children: [_jsx(Clock3, { size: 12 }), " ", ago(session.startedAt)] }), _jsx("span", { className: "agent-tool-editor__session-status".concat(rawStatus === "running" ? " is-running" : rawStatus === "active" ? " is-idle" : ""), children: statusLabel })] }), agentId == null && _jsx("small", { children: agentName(session, scopedAgents) })] }, session.id);
242
+ }) })] }), _jsxs("div", { className: "agent-tool-editor__session-events", children: [_jsxs("header", { className: "agent-tool-editor__events-head", children: [_jsxs("div", { className: "agent-tool-editor__events-title", children: [_jsxs("div", { children: [_jsxs("div", { className: "agent-tool-editor__heading-with-refresh", children: [_jsx("h2", { children: "Events" }), _jsx("button", { type: "button", className: "agent-tool-editor__refresh".concat(isLoadingEvents ? " is-loading" : ""), "aria-label": "Refresh events", title: "Refresh events", disabled: !selectedSessionId || isLoadingEvents, onClick: function () { void eventResult.refetch(); void eventTypesResult.refetch(); }, children: _jsx(RefreshCw, { size: 13 }) })] }), _jsx("p", { children: selectedSession ? "".concat((_g = selectedSession.sessionId) !== null && _g !== void 0 ? _g : selectedSession.id, " \u00B7 ").concat(agentName(selectedSession, scopedAgents)) : "Select a session to inspect its events." })] }), _jsx("span", { children: outcomeFilter === "all" ? totalEvents : "".concat(visibleEvents.length, " / ").concat(events.length, " on page") })] }), _jsxs("div", { className: "agent-tool-editor__event-filters", children: [_jsxs("label", { children: [_jsx("span", { children: "Event type" }), _jsxs("select", { value: eventTypeFilter, onChange: function (event) { return setEventTypeFilter(event.target.value); }, children: [_jsx("option", { value: "all", children: "All types" }), eventTypes.map(function (eventType) { return _jsx("option", { value: eventType, children: eventType }, eventType); })] })] }), _jsxs("label", { children: [_jsx("span", { children: "Outcome (current page)" }), _jsxs("select", { value: outcomeFilter, onChange: function (event) { return setOutcomeFilter(event.target.value); }, children: [_jsx("option", { value: "all", children: "All outcomes" }), _jsx("option", { value: "success", children: "Success" }), _jsx("option", { value: "failure", children: "Failure" })] })] }), _jsxs("label", { className: "agent-tool-editor__event-search", children: [_jsx("span", { children: "Search events" }), _jsxs("span", { className: "agent-tool-editor__event-search-control", children: [_jsx(Search, { size: 15 }), _jsx(SolidInput, { value: eventSearch, placeholder: "Search events\u2026", onChange: function (event) { return setEventSearch(event.target.value); } })] })] }), _jsxs("nav", { className: "agent-tool-editor__event-pagination", "aria-label": "Event pagination", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2", children: [_jsx("label", { className: "solid-paginator-label", htmlFor: eventPageSizeId, children: "Rows" }), _jsx(SolidSelect, { id: eventPageSizeId, value: eventPageSize, className: "solid-paginator-select", options: EVENT_PAGE_SIZE_OPTIONS.map(function (value) { return ({ label: String(value), value: value }); }), native: false, menuPlacement: "bottom", disabled: isLoadingEvents || eventsError, onChange: function (_a) {
243
+ var value = _a.value;
244
+ setEventPageSize(Number(value));
245
+ setEventPagination({ scope: eventScope, page: 1 });
246
+ } }), _jsx("span", { className: "solid-paginator-report", "aria-live": "polite", children: isLoadingEvents ? "Loading…" : "".concat(events.length ? eventFirst + 1 : 0, " - ").concat(events.length ? Math.min(eventFirst + events.length, totalEvents) : 0, " of ").concat(totalEvents) })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", "aria-label": "Previous event page", disabled: isLoadingEvents || eventsError || currentEventPage === 1, onClick: function () { return setEventPagination({ scope: eventScope, page: currentEventPage - 1 }); }, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", "aria-label": "Next event page", disabled: isLoadingEvents || eventsError || currentEventPage >= eventPageCount, onClick: function () { return setEventPagination({ scope: eventScope, page: currentEventPage + 1 }); }, children: "Next" })] })] })] })] }), _jsx("div", { className: "agent-tool-editor__events-table-wrap", ref: eventsTableRef, children: isLoadingEvents ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "Loading events\u2026" })
247
+ : eventsError ? _jsxs("p", { className: "agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error", children: [_jsx(AlertCircle, { size: 15 }), " Could not load events for this session."] })
248
+ : !selectedSession ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "Choose a session from the left to view its events." })
249
+ : visibleEvents.length === 0 ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: events.length ? "No events on this page match the outcome filter." : "No events match these filters." })
250
+ : _jsxs("table", { className: "agent-tool-editor__events-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Time" }), _jsx("th", { children: "Event type" }), _jsx("th", { children: "Tool" }), _jsx("th", { children: "Cost" }), _jsx("th", { children: "Tokens" })] }) }), _jsx("tbody", { children: visibleEvents.map(function (event) {
251
+ var _a, _b;
252
+ return _jsxs("tr", { className: "agent-tool-editor__event-row", onClick: function (click) { if (!click.target.closest("button, a"))
253
+ setSelectedEventId(event.id); }, children: [_jsx("td", { children: _jsx("button", { type: "button", className: "agent-tool-editor__event-open", "aria-label": "View ".concat(event.eventType || "event", " #").concat(event.id), onClick: function () { return setSelectedEventId(event.id); }, children: event.createdAt ? new Date(event.createdAt).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", second: "2-digit" }) : "—" }) }), _jsx("td", { children: _jsx(AgentEventOutcomeListWidget, { rowData: event, fieldMetadata: { name: "eventType" }, solidListViewMetaData: {}, column: { attrs: {} } }) }), _jsx("td", { children: event.toolName || "—" }), _jsx("td", { children: event.cost == null ? "—" : Number(event.cost).toLocaleString(undefined, { maximumFractionDigits: 6 }) }), _jsx("td", { children: event.inputTokens || event.outputTokens ? "".concat((_a = event.inputTokens) !== null && _a !== void 0 ? _a : 0, " / ").concat((_b = event.outputTokens) !== null && _b !== void 0 ? _b : 0) : "—" })] }, event.id);
254
+ }) })] }) })] }), _jsxs(SolidDialog, { open: selectedEventId != null, onOpenChange: function (open) { if (!open)
255
+ setSelectedEventId(null); }, className: "solid-dialog solid-inline-relation-dialog", style: { width: "min(70rem, 95vw)" }, showHeader: false, children: [_jsxs(SolidDialogHeader, { className: "solid-sr-only", children: [_jsxs(SolidDialogTitle, { children: ["Event #", selectedEventId] }), _jsx(SolidDialogDescription, { children: "View the selected event's details and data." })] }), selectedEventId != null && _jsx(React.Suspense, { fallback: _jsx("p", { className: "agent-tool-editor__sessions-message", children: "Loading event\u2026" }), children: _jsx(EventFormView, { moduleName: "solid-core", modelName: "agentEvent", id: String(selectedEventId), embeded: true, viewMode: "view", handlePopupClose: function () { return setSelectedEventId(null); } }, selectedEventId) })] })] }));
256
+ }
257
+ export var AgentToolSessionsPanel = AgentSessionsPanel;
258
+ //# sourceMappingURL=AgentToolSessionsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentToolSessionsPanel.js","sourceRoot":"","sources":["../../../../../../src/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport qs from \"qs\";\nimport { AlertCircle, Clock3, RefreshCw, Search } from \"lucide-react\";\nimport { createSolidEntityApi } from \"../../../../../redux/api/solidEntityApi\";\nimport { SolidAutocomplete, SolidDialog, SolidDialogDescription, SolidDialogHeader, SolidDialogTitle, SolidInput, SolidSelect } from \"../../../../shad-cn-ui\";\nimport { AgentEventOutcomeListWidget, getAgentEventFailure } from \"../agentEvent/list/AgentEventOutcomeListWidget\";\nimport \"../../../../../routes/pages/admin/core/AgentToolRegistryEditorPage.css\";\n\ntype AgentOption = { id: number | string; name?: string; title?: string };\ntype SessionRecord = {\n id: number;\n sessionId?: string;\n startedAt?: string | null;\n endedAt?: string | null;\n status?: string | null;\n agent?: AgentOption | number | string | null;\n [key: string]: any;\n};\n\nfunction unwrapRecords(result: any): any[] {\n return Array.isArray(result?.records) ? result.records : [];\n}\n\nfunction ago(value?: string | null): string {\n if (!value) return \"Start time unknown\";\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) return \"Start time unknown\";\n const seconds = Math.max(0, Math.floor((Date.now() - date.getTime()) / 1000));\n if (seconds < 60) return \"Started just now\";\n if (seconds < 3600) return `Started ${Math.floor(seconds / 60)}m ago`;\n if (seconds < 86400) return `Started ${Math.floor(seconds / 3600)}h ago`;\n const days = Math.floor(seconds / 86400);\n return days < 30 ? `Started ${days}d ago` : `Started ${date.toLocaleDateString()}`;\n}\n\nfunction agentName(session: SessionRecord, agents: AgentOption[]): string {\n const relation = session.agent;\n const id = relation && typeof relation === \"object\" ? relation.id : relation;\n const agent = agents.find((item) => String(item.id) === String(id));\n if (agent) return agent.name ?? agent.title ?? \"Unnamed agent\";\n if (relation && typeof relation === \"object\") return relation.name ?? relation.title ?? \"Unnamed agent\";\n return \"Unknown agent\";\n}\n\nfunction sessionQuery(agentId: number | string, processId?: number): string {\n const processFilter = processId == null ? \"\" : `&filters[process][id][$eq]=${encodeURIComponent(String(processId))}`;\n return `offset=0&limit=1000&populate[0]=agent&sort[0]=startedAt%3Adesc&filters[agent][id][$eq]=${encodeURIComponent(String(agentId))}${processFilter}`;\n}\n\nfunction eventsQuery(sessionId: number, offset: number, limit: number, eventType: string, search: string): string {\n const conditions: Record<string, any>[] = [{ session: { $eq: sessionId } }];\n if (eventType !== \"all\") conditions.push({ eventType: { $eq: eventType } });\n if (search.trim()) conditions.push({ $or: [\"eventType\", \"toolName\", \"content\", \"toolOutput\", \"eventData\"]\n .map((field) => ({ [field]: { $containsi: search.trim() } })) });\n return qs.stringify({\n offset, limit, sort: [\"createdAt:asc\", \"id:asc\"], filters: { $and: conditions },\n fields: [\"id\", \"createdAt\", \"eventType\", \"toolName\", \"cost\", \"inputTokens\", \"outputTokens\", \"toolReturncode\", \"toolOutput\", \"eventData\"],\n });\n}\n\ntype Props = { agents?: AgentOption[]; agentId?: number | string; agentLabel?: string; processId?: number; processLabel?: string };\nconst EMPTY_AGENTS: AgentOption[] = [];\nconst EVENT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];\nconst EventFormView = React.lazy(() => import(\"../../../form/SolidFormView\"));\n\nexport function AgentSessionsPanel({ agents, agentId, agentLabel, processId, processLabel }: Props) {\n const linkedAgents = agents ?? EMPTY_AGENTS;\n const scopedAgents = React.useMemo(() => agentId != null\n ? [{ id: agentId, name: agentLabel ?? \"Agent\" }]\n : linkedAgents, [agentId, agentLabel, linkedAgents]);\n const sessionApi = React.useMemo(() => createSolidEntityApi(\"agentSession\"), []);\n const eventApi = React.useMemo(() => createSolidEntityApi(\"agentEvent\"), []);\n const [fetchSessions] = sessionApi.useLazyGetSolidEntitiesQuery();\n const [sessions, setSessions] = React.useState<SessionRecord[]>([]);\n const [selectedAgent, setSelectedAgent] = React.useState<{ id: string; label: string } | null>(null);\n const [selectedSessionId, setSelectedSessionId] = React.useState<number | null>(null);\n const [selectedEventId, setSelectedEventId] = React.useState<number | null>(null);\n const eventsTableRef = React.useRef<HTMLDivElement>(null);\n const [isLoadingSessions, setIsLoadingSessions] = React.useState(false);\n const [sessionsError, setSessionsError] = React.useState(false);\n const [eventTypeFilter, setEventTypeFilter] = React.useState(\"all\");\n const [outcomeFilter, setOutcomeFilter] = React.useState(\"all\");\n const [eventSearch, setEventSearch] = React.useState(\"\");\n const [eventSearchQuery, setEventSearchQuery] = React.useState(\"\");\n const [eventPagination, setEventPagination] = React.useState({ scope: \"\", page: 1 });\n const [eventPageSize, setEventPageSize] = React.useState(25);\n const eventPageSizeId = React.useId();\n const [sessionSearch, setSessionSearch] = React.useState(\"\");\n const [sessionRefreshVersion, setSessionRefreshVersion] = React.useState(0);\n const eventScope = JSON.stringify([selectedSessionId, eventTypeFilter, eventSearchQuery]);\n const currentEventPage = eventPagination.scope === eventScope ? eventPagination.page : 1;\n const eventFirst = (currentEventPage - 1) * eventPageSize;\n const eventResult = eventApi.useGetSolidEntitiesQuery(\n selectedSessionId == null ? \"\" : eventsQuery(selectedSessionId, eventFirst, eventPageSize, eventTypeFilter, eventSearchQuery),\n { skip: selectedSessionId == null });\n const eventTypesResult = eventApi.useGetSolidEntitiesQuery(qs.stringify({\n groupBy: [\"eventType\"], sort: [\"eventType:asc\"], filters: { session: { $eq: selectedSessionId } },\n }), { skip: selectedSessionId == null });\n const events = unwrapRecords(eventResult.currentData);\n const totalEvents = Number(eventResult.currentData?.meta?.totalRecords ?? 0);\n const eventPageCount = Math.max(1, Math.ceil(totalEvents / eventPageSize));\n const isLoadingEvents = eventResult.isFetching || eventSearch.trim() !== eventSearchQuery;\n const eventsError = eventResult.isError;\n const agentOptions = React.useMemo(() => linkedAgents.map((agent) => ({\n id: String(agent.id),\n label: agent.name ?? agent.title ?? `Agent ${agent.id}`,\n })), [linkedAgents]);\n const linkedAgentKey = agentOptions.map((agent) => agent.id).join(\",\");\n\n React.useEffect(() => {\n let alive = true;\n const requestedAgents = agentId != null ? scopedAgents : selectedAgent ? scopedAgents.filter((agent) => String(agent.id) === selectedAgent.id) : scopedAgents;\n if (!requestedAgents.length) {\n setSessions([]);\n setSelectedSessionId(null);\n return;\n }\n setIsLoadingSessions(true);\n setSessionsError(false);\n void Promise.all(requestedAgents.map(async (agent) => {\n const result = await fetchSessions(sessionQuery(agent.id, processId), false).unwrap();\n return unwrapRecords(result).map((item) => ({\n ...item,\n agent: item.agent && typeof item.agent === \"object\" ? item.agent : agent,\n } as SessionRecord));\n })).then((groups) => {\n if (!alive) return;\n const unique = new Map<string, SessionRecord>();\n groups.flat().forEach((session) => unique.set(String(session.id), session));\n const ordered = Array.from(unique.values()).sort((a, b) => new Date(b.startedAt ?? 0).getTime() - new Date(a.startedAt ?? 0).getTime());\n setSessions(ordered);\n setSelectedSessionId((current) => ordered.some((session) => session.id === current) ? current : ordered[0]?.id ?? null);\n }).catch(() => {\n if (alive) {\n setSessions([]);\n setSelectedSessionId(null);\n setSessionsError(true);\n }\n }).finally(() => alive && setIsLoadingSessions(false));\n return () => { alive = false; };\n }, [agentId, fetchSessions, linkedAgentKey, processId, scopedAgents, selectedAgent, sessionRefreshVersion]);\n\n React.useEffect(() => {\n const timer = window.setTimeout(() => setEventSearchQuery(eventSearch.trim()), 300);\n return () => window.clearTimeout(timer);\n }, [eventSearch]);\n\n const eventTypes = Array.from(new Set([\n ...((eventTypesResult.currentData?.groupMeta ?? []) as any[]).map((group) => String(group.groupValue ?? \"\")),\n ...events.map((event) => String(event.eventType ?? \"\")),\n eventTypeFilter === \"all\" ? \"\" : eventTypeFilter,\n ].filter(Boolean))).sort();\n const visibleEvents = events.filter((event) => outcomeFilter === \"all\"\n || Boolean(getAgentEventFailure(event)) === (outcomeFilter === \"failure\"));\n React.useEffect(() => {\n if (!isLoadingEvents && eventResult.currentData && currentEventPage > eventPageCount) {\n setEventPagination({ scope: eventScope, page: eventPageCount });\n }\n }, [isLoadingEvents, eventResult.currentData, currentEventPage, eventPageCount, eventScope]);\n React.useEffect(() => {\n if (eventsTableRef.current) eventsTableRef.current.scrollTop = 0;\n }, [currentEventPage, eventPageSize, selectedSessionId, eventSearch, eventTypeFilter, outcomeFilter]);\n const selectedSession = sessions.find((session) => session.id === selectedSessionId);\n const visibleSessions = React.useMemo(() => {\n const query = sessionSearch.trim().toLowerCase();\n if (!query) return sessions;\n return sessions.filter((session) => [session.sessionId, session.id, session.status, agentName(session, scopedAgents)]\n .some((value) => String(value ?? \"\").toLowerCase().includes(query)));\n }, [scopedAgents, sessionSearch, sessions]);\n\n return (\n <section className=\"agent-tool-editor__sessions\" aria-label=\"Sessions and events\">\n <aside className=\"agent-tool-editor__sessions-sidebar\">\n <header className=\"agent-tool-editor__sessions-sidebar-head\">\n <div><div className=\"agent-tool-editor__sessions-heading\"><h2>Sessions</h2><button type=\"button\" className={`agent-tool-editor__refresh${isLoadingSessions ? \" is-loading\" : \"\"}`} aria-label=\"Refresh sessions\" title=\"Refresh sessions\" disabled={isLoadingSessions} onClick={() => setSessionRefreshVersion((version) => version + 1)}><RefreshCw size={13} /></button><span>{visibleSessions.length}{visibleSessions.length !== sessions.length ? ` / ${sessions.length}` : \"\"}</span></div></div>\n <p>{processId != null ? `In ${processLabel ?? `process #${processId}`}.` : agentId != null ? \"Browse activity for this agent.\" : \"Browse activity across linked agents.\"}</p>\n {agentId == null && linkedAgents.length > 1 && <label className=\"agent-tool-editor__sessions-agent-filter\"><span>Agent</span>\n <SolidAutocomplete\n value={selectedAgent ? [selectedAgent] : []}\n suggestions={agentOptions}\n field=\"label\"\n multiple\n maxVisibleChips={1}\n dropdown\n forceSelection\n portal\n placeholder=\"All linked agents\"\n onChange={(event: any) => setSelectedAgent(Array.isArray(event.value) ? event.value[0] ?? null : null)}\n />\n </label>}\n <label className=\"agent-tool-editor__session-search\"><span className=\"sr-only\">Find a session</span><Search size={14} /><SolidInput value={sessionSearch} placeholder=\"Find session or agent…\" onChange={(event: any) => setSessionSearch(event.target.value)} /></label>\n </header>\n <div className=\"agent-tool-editor__session-list\" role=\"listbox\" aria-label=\"Sessions\">\n {isLoadingSessions ? <p className=\"agent-tool-editor__sessions-message\">Loading sessions…</p>\n : sessionsError ? <p className=\"agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error\"><AlertCircle size={15} /> Could not load sessions.</p>\n : sessions.length === 0 ? <p className=\"agent-tool-editor__sessions-message\">{processId != null ? \"No sessions assigned to this process. Older unassigned sessions remain in the Sessions tab.\" : \"No sessions found for linked agents.\"}</p>\n : visibleSessions.length === 0 ? <p className=\"agent-tool-editor__sessions-message\">No sessions match this search.</p>\n : visibleSessions.map((session) => {\n const sessionLabel = session.sessionId ?? String(session.id);\n const rawStatus = String(session.status ?? \"\").toLowerCase();\n const statusLabel = rawStatus === \"active\" ? \"Idle\"\n : rawStatus === \"awaiting_input\" ? \"Awaiting input\"\n : rawStatus === \"awaiting_approval\" ? \"Awaiting approval\"\n : rawStatus ? rawStatus.replace(/[_-]+/g, \" \") : session.endedAt ? \"Ended\" : \"Open\";\n return <button\n type=\"button\"\n role=\"option\"\n aria-selected={session.id === selectedSessionId}\n className={`agent-tool-editor__session-item${session.id === selectedSessionId ? \" is-selected\" : \"\"}`}\n key={session.id}\n onClick={() => setSelectedSessionId(session.id)}\n title={sessionLabel}\n >\n <span className=\"agent-tool-editor__session-item-id\" title={sessionLabel}>{sessionLabel}</span>\n <span className=\"agent-tool-editor__session-item-meta\"><span><Clock3 size={12} /> {ago(session.startedAt)}</span><span className={`agent-tool-editor__session-status${rawStatus === \"running\" ? \" is-running\" : rawStatus === \"active\" ? \" is-idle\" : \"\"}`}>{statusLabel}</span></span>\n {agentId == null && <small>{agentName(session, scopedAgents)}</small>}\n </button>;\n })}\n </div>\n </aside>\n\n <div className=\"agent-tool-editor__session-events\">\n <header className=\"agent-tool-editor__events-head\">\n <div className=\"agent-tool-editor__events-title\">\n <div><div className=\"agent-tool-editor__heading-with-refresh\"><h2>Events</h2><button type=\"button\" className={`agent-tool-editor__refresh${isLoadingEvents ? \" is-loading\" : \"\"}`} aria-label=\"Refresh events\" title=\"Refresh events\" disabled={!selectedSessionId || isLoadingEvents} onClick={() => { void eventResult.refetch(); void eventTypesResult.refetch(); }}><RefreshCw size={13} /></button></div><p>{selectedSession ? `${selectedSession.sessionId ?? selectedSession.id} · ${agentName(selectedSession, scopedAgents)}` : \"Select a session to inspect its events.\"}</p></div>\n <span>{outcomeFilter === \"all\" ? totalEvents : `${visibleEvents.length} / ${events.length} on page`}</span>\n </div>\n <div className=\"agent-tool-editor__event-filters\">\n <label><span>Event type</span><select value={eventTypeFilter} onChange={(event: React.ChangeEvent<HTMLSelectElement>) => setEventTypeFilter(event.target.value)}>\n <option value=\"all\">All types</option>{eventTypes.map((eventType) => <option key={eventType} value={eventType}>{eventType}</option>)}\n </select></label>\n <label><span>Outcome (current page)</span><select value={outcomeFilter} onChange={(event: React.ChangeEvent<HTMLSelectElement>) => setOutcomeFilter(event.target.value)}>\n <option value=\"all\">All outcomes</option><option value=\"success\">Success</option><option value=\"failure\">Failure</option>\n </select></label>\n <label className=\"agent-tool-editor__event-search\"><span>Search events</span><span className=\"agent-tool-editor__event-search-control\"><Search size={15} /><SolidInput value={eventSearch} placeholder=\"Search events…\" onChange={(event: React.ChangeEvent<HTMLInputElement>) => setEventSearch(event.target.value)} /></span></label>\n <nav className=\"agent-tool-editor__event-pagination\" aria-label=\"Event pagination\">\n <div className=\"solid-paginator-meta flex items-center gap-2\">\n <label className=\"solid-paginator-label\" htmlFor={eventPageSizeId}>Rows</label>\n <SolidSelect id={eventPageSizeId} value={eventPageSize} className=\"solid-paginator-select\"\n options={EVENT_PAGE_SIZE_OPTIONS.map((value) => ({ label: String(value), value }))}\n native={false} menuPlacement=\"bottom\" disabled={isLoadingEvents || eventsError}\n onChange={({ value }) => { setEventPageSize(Number(value)); setEventPagination({ scope: eventScope, page: 1 }); }} />\n <span className=\"solid-paginator-report\" aria-live=\"polite\">{isLoadingEvents ? \"Loading…\" : `${events.length ? eventFirst + 1 : 0} - ${events.length ? Math.min(eventFirst + events.length, totalEvents) : 0} of ${totalEvents}`}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button type=\"button\" className=\"solid-paginator-btn\" aria-label=\"Previous event page\" disabled={isLoadingEvents || eventsError || currentEventPage === 1} onClick={() => setEventPagination({ scope: eventScope, page: currentEventPage - 1 })}>Previous</button>\n <button type=\"button\" className=\"solid-paginator-btn\" aria-label=\"Next event page\" disabled={isLoadingEvents || eventsError || currentEventPage >= eventPageCount} onClick={() => setEventPagination({ scope: eventScope, page: currentEventPage + 1 })}>Next</button>\n </div>\n </nav>\n </div>\n </header>\n <div className=\"agent-tool-editor__events-table-wrap\" ref={eventsTableRef}>\n {isLoadingEvents ? <p className=\"agent-tool-editor__sessions-message\">Loading events…</p>\n : eventsError ? <p className=\"agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error\"><AlertCircle size={15} /> Could not load events for this session.</p>\n : !selectedSession ? <p className=\"agent-tool-editor__sessions-message\">Choose a session from the left to view its events.</p>\n : visibleEvents.length === 0 ? <p className=\"agent-tool-editor__sessions-message\">{events.length ? \"No events on this page match the outcome filter.\" : \"No events match these filters.\"}</p>\n : <table className=\"agent-tool-editor__events-table\">\n <thead><tr><th>Time</th><th>Event type</th><th>Tool</th><th>Cost</th><th>Tokens</th></tr></thead>\n <tbody>{visibleEvents.map((event) => <tr key={event.id} className=\"agent-tool-editor__event-row\"\n onClick={(click) => { if (!(click.target as Element).closest(\"button, a\")) setSelectedEventId(event.id); }}>\n <td><button type=\"button\" className=\"agent-tool-editor__event-open\" aria-label={`View ${event.eventType || \"event\"} #${event.id}`} onClick={() => setSelectedEventId(event.id)}>\n {event.createdAt ? new Date(event.createdAt).toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" }) : \"—\"}\n </button></td>\n <td><AgentEventOutcomeListWidget rowData={event} fieldMetadata={{ name: \"eventType\" } as any} solidListViewMetaData={{}} column={{ attrs: {} }} /></td>\n <td>{event.toolName || \"—\"}</td>\n <td>{event.cost == null ? \"—\" : Number(event.cost).toLocaleString(undefined, { maximumFractionDigits: 6 })}</td>\n <td>{event.inputTokens || event.outputTokens ? `${event.inputTokens ?? 0} / ${event.outputTokens ?? 0}` : \"—\"}</td>\n </tr>)}</tbody>\n </table>}\n </div>\n </div>\n <SolidDialog open={selectedEventId != null} onOpenChange={(open) => { if (!open) setSelectedEventId(null); }}\n className=\"solid-dialog solid-inline-relation-dialog\" style={{ width: \"min(70rem, 95vw)\" }} showHeader={false}>\n <SolidDialogHeader className=\"solid-sr-only\">\n <SolidDialogTitle>Event #{selectedEventId}</SolidDialogTitle>\n <SolidDialogDescription>View the selected event's details and data.</SolidDialogDescription>\n </SolidDialogHeader>\n {selectedEventId != null && <React.Suspense fallback={<p className=\"agent-tool-editor__sessions-message\">Loading event…</p>}>\n <EventFormView key={selectedEventId} moduleName=\"solid-core\" modelName=\"agentEvent\" id={String(selectedEventId)} embeded viewMode=\"view\" handlePopupClose={() => setSelectedEventId(null)} />\n </React.Suspense>}\n </SolidDialog>\n </section>\n );\n}\n\nexport const AgentToolSessionsPanel = AgentSessionsPanel;\n"]}