@solidxai/core-ui 0.1.19-beta.0 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/README.md +19 -0
  2. package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
  3. package/dist/components/common/SolidPopupContainer.js +3 -2
  4. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  5. package/dist/components/common/SolidPopupContainer.tsx +3 -2
  6. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
  7. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +4 -1
  8. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  9. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +11 -5
  10. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  11. package/dist/components/core/chatter/SolidChatter.js +2 -1
  12. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  13. package/dist/components/core/chatter/SolidChatter.tsx +2 -0
  14. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +2 -0
  15. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  16. package/dist/components/core/chatter/SolidChatterMessageBox.js +7 -4
  17. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  18. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +8 -3
  19. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts +5 -0
  20. package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts.map +1 -0
  21. package/dist/components/core/chatter/SolidChatterMessageWidget.js +85 -0
  22. package/dist/components/core/chatter/SolidChatterMessageWidget.js.map +1 -0
  23. package/dist/components/core/chatter/SolidChatterMessageWidget.tsx +59 -0
  24. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  25. package/dist/components/core/common/SolidGlobalSearchElement.js +6 -5
  26. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  27. package/dist/components/core/common/SolidGlobalSearchElement.tsx +6 -5
  28. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts +11 -0
  29. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts.map +1 -0
  30. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js +102 -0
  31. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js.map +1 -0
  32. package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.tsx +129 -0
  33. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts +4 -0
  34. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts.map +1 -0
  35. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js +29 -0
  36. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js.map +1 -0
  37. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.module.css +226 -0
  38. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.tsx +57 -0
  39. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts +4 -0
  40. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts.map +1 -0
  41. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js +33 -0
  42. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js.map +1 -0
  43. package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx +47 -0
  44. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts +5 -0
  45. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts.map +1 -0
  46. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js +59 -0
  47. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js.map +1 -0
  48. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx +82 -0
  49. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts +17 -0
  50. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts.map +1 -0
  51. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js +258 -0
  52. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js.map +1 -0
  53. package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx +286 -0
  54. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  55. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +102 -62
  56. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  57. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +116 -106
  58. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts +6 -0
  59. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts.map +1 -0
  60. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js +37 -0
  61. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js.map +1 -0
  62. package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.tsx +89 -0
  63. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts +3 -0
  64. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts.map +1 -0
  65. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js +18 -0
  66. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js.map +1 -0
  67. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.tsx +51 -0
  68. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts +10 -0
  69. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts.map +1 -0
  70. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js +63 -0
  71. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js.map +1 -0
  72. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.tsx +111 -0
  73. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  74. package/dist/components/core/field/FieldListViewData.js +29 -9
  75. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  76. package/dist/components/core/field/FieldListViewData.tsx +7 -6
  77. package/dist/components/core/form/SolidFormView.d.ts +1 -0
  78. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  79. package/dist/components/core/form/SolidFormView.js +49 -48
  80. package/dist/components/core/form/SolidFormView.js.map +1 -1
  81. package/dist/components/core/form/SolidFormView.tsx +4 -3
  82. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  83. package/dist/components/core/form/fields/SolidPasswordField.js +13 -1
  84. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  85. package/dist/components/core/form/fields/SolidPasswordField.tsx +14 -3
  86. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  87. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  88. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  89. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  90. package/dist/components/core/kanban/KanbanBoard.tsx +5 -1
  91. package/dist/components/core/kanban/KanbanCard.d.ts +3 -0
  92. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  93. package/dist/components/core/kanban/KanbanCard.js +5 -4
  94. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  95. package/dist/components/core/kanban/KanbanCard.tsx +31 -11
  96. package/dist/components/core/kanban/KanbanColumn.d.ts +5 -1
  97. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  98. package/dist/components/core/kanban/KanbanColumn.js +14 -3
  99. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  100. package/dist/components/core/kanban/KanbanColumn.tsx +43 -3
  101. package/dist/components/core/kanban/SolidKanbanView.d.ts +2 -0
  102. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  103. package/dist/components/core/kanban/SolidKanbanView.js +90 -52
  104. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  105. package/dist/components/core/kanban/SolidKanbanView.tsx +93 -13
  106. package/dist/components/core/list/SolidDataTable.d.ts +2 -1
  107. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  108. package/dist/components/core/list/SolidDataTable.js +2 -2
  109. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  110. package/dist/components/core/list/SolidDataTable.tsx +3 -0
  111. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  112. package/dist/components/core/list/SolidListView.js +114 -57
  113. package/dist/components/core/list/SolidListView.js.map +1 -1
  114. package/dist/components/core/list/SolidListView.tsx +71 -7
  115. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +14 -0
  117. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  118. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +13 -0
  119. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts +3 -0
  120. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts.map +1 -0
  121. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js +51 -0
  122. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js.map +1 -0
  123. package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx +60 -0
  124. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts +4 -0
  125. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts.map +1 -0
  126. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js +24 -0
  127. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js.map +1 -0
  128. package/dist/components/core/list/widgets/SolidIconNameListViewWidget.tsx +32 -0
  129. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  130. package/dist/components/core/model/ModelListViewData.js +6 -23
  131. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  132. package/dist/components/core/model/ModelListViewData.tsx +1 -48
  133. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts +5 -0
  134. package/dist/components/core/solid-agent/AgentModelIndicator.d.ts.map +1 -0
  135. package/dist/components/core/solid-agent/AgentModelIndicator.js +14 -0
  136. package/dist/components/core/solid-agent/AgentModelIndicator.js.map +1 -0
  137. package/dist/components/core/solid-agent/AgentModelIndicator.tsx +40 -0
  138. package/dist/components/core/solid-agent/AgentSignIn.d.ts +12 -0
  139. package/dist/components/core/solid-agent/AgentSignIn.d.ts.map +1 -0
  140. package/dist/components/core/solid-agent/AgentSignIn.js +82 -0
  141. package/dist/components/core/solid-agent/AgentSignIn.js.map +1 -0
  142. package/dist/components/core/solid-agent/AgentSignIn.tsx +91 -0
  143. package/dist/components/core/solid-agent/SolidAgent.module.css +596 -0
  144. package/dist/components/core/solid-agent/SolidAgentChat.d.ts +30 -0
  145. package/dist/components/core/solid-agent/SolidAgentChat.d.ts.map +1 -0
  146. package/dist/components/core/solid-agent/SolidAgentChat.js +300 -0
  147. package/dist/components/core/solid-agent/SolidAgentChat.js.map +1 -0
  148. package/dist/components/core/solid-agent/SolidAgentChat.tsx +451 -0
  149. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts +44 -0
  150. package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts.map +1 -0
  151. package/dist/components/core/solid-agent/SolidAgentEmbedded.js +46 -0
  152. package/dist/components/core/solid-agent/SolidAgentEmbedded.js.map +1 -0
  153. package/dist/components/core/solid-agent/SolidAgentEmbedded.tsx +87 -0
  154. package/dist/components/core/solid-agent/SolidAgentHost.d.ts +8 -0
  155. package/dist/components/core/solid-agent/SolidAgentHost.d.ts.map +1 -0
  156. package/dist/components/core/solid-agent/SolidAgentHost.js +152 -0
  157. package/dist/components/core/solid-agent/SolidAgentHost.js.map +1 -0
  158. package/dist/components/core/solid-agent/SolidAgentHost.tsx +164 -0
  159. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts +16 -0
  160. package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts.map +1 -0
  161. package/dist/components/core/solid-agent/SolidAgentMarkdown.js +161 -0
  162. package/dist/components/core/solid-agent/SolidAgentMarkdown.js.map +1 -0
  163. package/dist/components/core/solid-agent/SolidAgentMarkdown.tsx +133 -0
  164. package/dist/components/core/solid-agent/SolidAgentMount.d.ts +3 -0
  165. package/dist/components/core/solid-agent/SolidAgentMount.d.ts.map +1 -0
  166. package/dist/components/core/solid-agent/SolidAgentMount.js +62 -0
  167. package/dist/components/core/solid-agent/SolidAgentMount.js.map +1 -0
  168. package/dist/components/core/solid-agent/SolidAgentMount.tsx +31 -0
  169. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts +5 -0
  170. package/dist/components/core/solid-agent/SolidXAIIcon.d.ts.map +1 -0
  171. package/dist/components/core/solid-agent/SolidXAIIcon.js +7 -0
  172. package/dist/components/core/solid-agent/SolidXAIIcon.js.map +1 -0
  173. package/dist/components/core/solid-agent/SolidXAIIcon.tsx +6 -0
  174. package/dist/components/core/solid-agent/agentAttachments.d.ts +20 -0
  175. package/dist/components/core/solid-agent/agentAttachments.d.ts.map +1 -0
  176. package/dist/components/core/solid-agent/agentAttachments.js +184 -0
  177. package/dist/components/core/solid-agent/agentAttachments.js.map +1 -0
  178. package/dist/components/core/solid-agent/agentAttachments.ts +119 -0
  179. package/dist/components/core/solid-agent/agentEvents.d.ts +34 -0
  180. package/dist/components/core/solid-agent/agentEvents.d.ts.map +1 -0
  181. package/dist/components/core/solid-agent/agentEvents.js +282 -0
  182. package/dist/components/core/solid-agent/agentEvents.js.map +1 -0
  183. package/dist/components/core/solid-agent/agentEvents.ts +292 -0
  184. package/dist/components/core/solid-agent/agentFormat.d.ts +18 -0
  185. package/dist/components/core/solid-agent/agentFormat.d.ts.map +1 -0
  186. package/dist/components/core/solid-agent/agentFormat.js +179 -0
  187. package/dist/components/core/solid-agent/agentFormat.js.map +1 -0
  188. package/dist/components/core/solid-agent/agentFormat.ts +160 -0
  189. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts +9 -0
  190. package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts.map +1 -0
  191. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js +129 -0
  192. package/dist/components/core/solid-agent/client/agentAttachmentMedia.js.map +1 -0
  193. package/dist/components/core/solid-agent/client/agentAttachmentMedia.ts +69 -0
  194. package/dist/components/core/solid-agent/client/agentAuth.d.ts +63 -0
  195. package/dist/components/core/solid-agent/client/agentAuth.d.ts.map +1 -0
  196. package/dist/components/core/solid-agent/client/agentAuth.js +307 -0
  197. package/dist/components/core/solid-agent/client/agentAuth.js.map +1 -0
  198. package/dist/components/core/solid-agent/client/agentAuth.ts +222 -0
  199. package/dist/components/core/solid-agent/client/agentRest.d.ts +30 -0
  200. package/dist/components/core/solid-agent/client/agentRest.d.ts.map +1 -0
  201. package/dist/components/core/solid-agent/client/agentRest.js +178 -0
  202. package/dist/components/core/solid-agent/client/agentRest.js.map +1 -0
  203. package/dist/components/core/solid-agent/client/agentRest.ts +100 -0
  204. package/dist/components/core/solid-agent/client/agentRuntime.d.ts +48 -0
  205. package/dist/components/core/solid-agent/client/agentRuntime.d.ts.map +1 -0
  206. package/dist/components/core/solid-agent/client/agentRuntime.js +406 -0
  207. package/dist/components/core/solid-agent/client/agentRuntime.js.map +1 -0
  208. package/dist/components/core/solid-agent/client/agentRuntime.ts +226 -0
  209. package/dist/components/core/solid-agent/client/agentSocket.d.ts +46 -0
  210. package/dist/components/core/solid-agent/client/agentSocket.d.ts.map +1 -0
  211. package/dist/components/core/solid-agent/client/agentSocket.js +535 -0
  212. package/dist/components/core/solid-agent/client/agentSocket.js.map +1 -0
  213. package/dist/components/core/solid-agent/client/agentSocket.ts +276 -0
  214. package/dist/components/core/solid-agent/client/agentUrls.d.ts +11 -0
  215. package/dist/components/core/solid-agent/client/agentUrls.d.ts.map +1 -0
  216. package/dist/components/core/solid-agent/client/agentUrls.js +18 -0
  217. package/dist/components/core/solid-agent/client/agentUrls.js.map +1 -0
  218. package/dist/components/core/solid-agent/client/agentUrls.ts +19 -0
  219. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts +21 -0
  220. package/dist/components/core/solid-agent/composer/AgentComposer.d.ts.map +1 -0
  221. package/dist/components/core/solid-agent/composer/AgentComposer.js +219 -0
  222. package/dist/components/core/solid-agent/composer/AgentComposer.js.map +1 -0
  223. package/dist/components/core/solid-agent/composer/AgentComposer.tsx +241 -0
  224. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts +8 -0
  225. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts.map +1 -0
  226. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js +87 -0
  227. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js.map +1 -0
  228. package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.tsx +58 -0
  229. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts +20 -0
  230. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts.map +1 -0
  231. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js +103 -0
  232. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js.map +1 -0
  233. package/dist/components/core/solid-agent/embed/agentEmbedProtocol.ts +60 -0
  234. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts +11 -0
  235. package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts.map +1 -0
  236. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js +21 -0
  237. package/dist/components/core/solid-agent/embed/agentEmbedSamples.js.map +1 -0
  238. package/dist/components/core/solid-agent/embed/agentEmbedSamples.ts +266 -0
  239. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts +15 -0
  240. package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts.map +1 -0
  241. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js +122 -0
  242. package/dist/components/core/solid-agent/processes/agentHubProcessApi.js.map +1 -0
  243. package/dist/components/core/solid-agent/processes/agentHubProcessApi.ts +64 -0
  244. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts +39 -0
  245. package/dist/components/core/solid-agent/sdk/solidAgent.d.ts.map +1 -0
  246. package/dist/components/core/solid-agent/sdk/solidAgent.js +44 -0
  247. package/dist/components/core/solid-agent/sdk/solidAgent.js.map +1 -0
  248. package/dist/components/core/solid-agent/sdk/solidAgent.ts +56 -0
  249. package/dist/components/core/solid-agent/thread/AgentThread.d.ts +17 -0
  250. package/dist/components/core/solid-agent/thread/AgentThread.d.ts.map +1 -0
  251. package/dist/components/core/solid-agent/thread/AgentThread.js +166 -0
  252. package/dist/components/core/solid-agent/thread/AgentThread.js.map +1 -0
  253. package/dist/components/core/solid-agent/thread/AgentThread.tsx +248 -0
  254. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts +36 -0
  255. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts.map +1 -0
  256. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js +148 -0
  257. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js.map +1 -0
  258. package/dist/components/core/solid-agent/thread/SolidAgentChatItem.tsx +116 -0
  259. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts +8 -0
  260. package/dist/components/core/solid-agent/thread/inlineWidget.d.ts.map +1 -0
  261. package/dist/components/core/solid-agent/thread/inlineWidget.js +30 -0
  262. package/dist/components/core/solid-agent/thread/inlineWidget.js.map +1 -0
  263. package/dist/components/core/solid-agent/thread/inlineWidget.ts +27 -0
  264. package/dist/components/core/solid-agent/types.d.ts +155 -0
  265. package/dist/components/core/solid-agent/types.d.ts.map +1 -0
  266. package/dist/components/core/solid-agent/types.js +31 -0
  267. package/dist/components/core/solid-agent/types.js.map +1 -0
  268. package/dist/components/core/solid-agent/types.ts +148 -0
  269. package/dist/components/core/solid-agent/useAdminInputContext.d.ts +4 -0
  270. package/dist/components/core/solid-agent/useAdminInputContext.d.ts.map +1 -0
  271. package/dist/components/core/solid-agent/useAdminInputContext.js +49 -0
  272. package/dist/components/core/solid-agent/useAdminInputContext.js.map +1 -0
  273. package/dist/components/core/solid-agent/useAdminInputContext.ts +52 -0
  274. package/dist/components/core/solid-agent/useAgentAuth.d.ts +14 -0
  275. package/dist/components/core/solid-agent/useAgentAuth.d.ts.map +1 -0
  276. package/dist/components/core/solid-agent/useAgentAuth.js +88 -0
  277. package/dist/components/core/solid-agent/useAgentAuth.js.map +1 -0
  278. package/dist/components/core/solid-agent/useAgentAuth.ts +40 -0
  279. package/dist/components/core/solid-agent/useAgentAvailability.d.ts +19 -0
  280. package/dist/components/core/solid-agent/useAgentAvailability.d.ts.map +1 -0
  281. package/dist/components/core/solid-agent/useAgentAvailability.js +109 -0
  282. package/dist/components/core/solid-agent/useAgentAvailability.js.map +1 -0
  283. package/dist/components/core/solid-agent/useAgentAvailability.ts +80 -0
  284. package/dist/components/core/solid-agent/useAgentChat.d.ts +22 -0
  285. package/dist/components/core/solid-agent/useAgentChat.d.ts.map +1 -0
  286. package/dist/components/core/solid-agent/useAgentChat.js +45 -0
  287. package/dist/components/core/solid-agent/useAgentChat.js.map +1 -0
  288. package/dist/components/core/solid-agent/useAgentChat.ts +57 -0
  289. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts +7 -0
  290. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts.map +1 -0
  291. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js +15 -0
  292. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js.map +1 -0
  293. package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.tsx +24 -0
  294. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts +7 -0
  295. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts.map +1 -0
  296. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js +15 -0
  297. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js.map +1 -0
  298. package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.tsx +28 -0
  299. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts +4 -0
  300. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts.map +1 -0
  301. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js +20 -0
  302. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js.map +1 -0
  303. package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.tsx +8 -0
  304. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts +7 -0
  305. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts.map +1 -0
  306. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js +11 -0
  307. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js.map +1 -0
  308. package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.tsx +16 -0
  309. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts +7 -0
  310. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts.map +1 -0
  311. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js +67 -0
  312. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js.map +1 -0
  313. package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx +135 -0
  314. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts +7 -0
  315. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts.map +1 -0
  316. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js +24 -0
  317. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js.map +1 -0
  318. package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx +17 -0
  319. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts +8 -0
  320. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts.map +1 -0
  321. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js +30 -0
  322. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js.map +1 -0
  323. package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx +77 -0
  324. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts +7 -0
  325. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts.map +1 -0
  326. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js +40 -0
  327. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js.map +1 -0
  328. package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx +57 -0
  329. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts +4 -0
  330. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts.map +1 -0
  331. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js +13 -0
  332. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js.map +1 -0
  333. package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx +19 -0
  334. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts +7 -0
  335. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts.map +1 -0
  336. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js +55 -0
  337. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js.map +1 -0
  338. package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.tsx +81 -0
  339. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts +4 -0
  340. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts.map +1 -0
  341. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js +15 -0
  342. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js.map +1 -0
  343. package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.tsx +30 -0
  344. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts +4 -0
  345. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts.map +1 -0
  346. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js +15 -0
  347. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js.map +1 -0
  348. package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.tsx +21 -0
  349. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts +7 -0
  350. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts.map +1 -0
  351. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js +21 -0
  352. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js.map +1 -0
  353. package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.tsx +33 -0
  354. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts +4 -0
  355. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts.map +1 -0
  356. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js +11 -0
  357. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js.map +1 -0
  358. package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.tsx +9 -0
  359. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts +15 -0
  360. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts.map +1 -0
  361. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js +26 -0
  362. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js.map +1 -0
  363. package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.tsx +42 -0
  364. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts +7 -0
  365. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts.map +1 -0
  366. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js +41 -0
  367. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js.map +1 -0
  368. package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.tsx +69 -0
  369. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts +7 -0
  370. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts.map +1 -0
  371. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js +23 -0
  372. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js.map +1 -0
  373. package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.tsx +40 -0
  374. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts +4 -0
  375. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts.map +1 -0
  376. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js +32 -0
  377. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js.map +1 -0
  378. package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.tsx +55 -0
  379. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts +7 -0
  380. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts.map +1 -0
  381. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js +17 -0
  382. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js.map +1 -0
  383. package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.tsx +31 -0
  384. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts +12 -0
  385. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts.map +1 -0
  386. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js +17 -0
  387. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js.map +1 -0
  388. package/dist/components/core/solid-agent/widgets/chatWidgetUtils.ts +19 -0
  389. package/dist/components/core/solid-agent/widgets/solidChatWidgets.module.css +909 -0
  390. package/dist/components/core/solid-ai/SolidAiChat.js +1 -1
  391. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
  392. package/dist/components/core/solid-ai/SolidAiChat.tsx +2 -2
  393. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  394. package/dist/components/layout/AdminLayout.js +2 -1
  395. package/dist/components/layout/AdminLayout.js.map +1 -1
  396. package/dist/components/layout/AdminLayout.tsx +2 -0
  397. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  398. package/dist/components/shad-cn-ui/SolidAutocomplete.js +2 -2
  399. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  400. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +19 -15
  401. package/dist/components/shad-cn-ui/SolidDialog.d.ts +2 -1
  402. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  403. package/dist/components/shad-cn-ui/SolidDialog.js +2 -2
  404. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  405. package/dist/components/shad-cn-ui/SolidDialog.tsx +3 -0
  406. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts +7 -0
  407. package/dist/components/shad-cn-ui/SolidIconPicker.d.ts.map +1 -0
  408. package/dist/components/shad-cn-ui/SolidIconPicker.js +43 -0
  409. package/dist/components/shad-cn-ui/SolidIconPicker.js.map +1 -0
  410. package/dist/components/shad-cn-ui/SolidIconPicker.tsx +73 -0
  411. package/dist/components/shad-cn-ui/index.d.ts +1 -0
  412. package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
  413. package/dist/components/shad-cn-ui/index.js +1 -0
  414. package/dist/components/shad-cn-ui/index.js.map +1 -1
  415. package/dist/components/shad-cn-ui/index.ts +1 -0
  416. package/dist/constants/allowed-ai-models.d.ts +8 -0
  417. package/dist/constants/allowed-ai-models.d.ts.map +1 -0
  418. package/dist/constants/allowed-ai-models.js +33 -0
  419. package/dist/constants/allowed-ai-models.js.map +1 -0
  420. package/dist/constants/allowed-ai-models.ts +39 -0
  421. package/dist/helpers/hydrateRelationRules.d.ts.map +1 -1
  422. package/dist/helpers/hydrateRelationRules.js +3 -1
  423. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  424. package/dist/helpers/hydrateRelationRules.ts +5 -1
  425. package/dist/helpers/registry.d.ts +4 -2
  426. package/dist/helpers/registry.d.ts.map +1 -1
  427. package/dist/helpers/registry.js +75 -12
  428. package/dist/helpers/registry.js.map +1 -1
  429. package/dist/helpers/registry.ts +73 -16
  430. package/dist/helpers/updatePasswordField.d.ts.map +1 -1
  431. package/dist/helpers/updatePasswordField.js +21 -15
  432. package/dist/helpers/updatePasswordField.js.map +1 -1
  433. package/dist/helpers/updatePasswordField.ts +6 -1
  434. package/dist/index.d.ts +21 -5
  435. package/dist/index.d.ts.map +1 -1
  436. package/dist/index.js +16 -3
  437. package/dist/index.js.map +1 -1
  438. package/dist/index.ts +34 -3
  439. package/dist/redux/api/fieldApi.js +1 -1
  440. package/dist/redux/api/fieldApi.js.map +1 -1
  441. package/dist/redux/api/fieldApi.ts +2 -2
  442. package/dist/redux/api/modelApi.d.ts +13 -13
  443. package/dist/redux/api/modelApi.d.ts.map +1 -1
  444. package/dist/redux/api/modelApi.js +15 -15
  445. package/dist/redux/api/modelApi.js.map +1 -1
  446. package/dist/redux/api/modelApi.ts +12 -15
  447. package/dist/redux/features/agentSlice.d.ts +34 -0
  448. package/dist/redux/features/agentSlice.d.ts.map +1 -0
  449. package/dist/redux/features/agentSlice.js +92 -0
  450. package/dist/redux/features/agentSlice.js.map +1 -0
  451. package/dist/redux/features/agentSlice.ts +119 -0
  452. package/dist/redux/store/defaultStoreConfig.d.ts +11 -10
  453. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  454. package/dist/redux/store/defaultStoreConfig.js +2 -0
  455. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  456. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  457. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  458. package/dist/redux/store/solidEntityApiPool.js +7 -0
  459. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  460. package/dist/redux/store/solidEntityApiPool.ts +6 -0
  461. package/dist/resources/globals.css +109 -1
  462. package/dist/resources/solid-custom.css +295 -0
  463. package/dist/resources/solid-tailwind-generated.css +1 -1
  464. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.css +47 -0
  465. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts +12 -0
  466. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts.map +1 -0
  467. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js +80 -0
  468. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js.map +1 -0
  469. package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.tsx +123 -0
  470. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.css +110 -0
  471. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts +3 -0
  472. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts.map +1 -0
  473. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js +702 -0
  474. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js.map +1 -0
  475. package/dist/routes/pages/admin/core/AgentRegistryEditorPage.tsx +630 -0
  476. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.css +303 -0
  477. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts +3 -0
  478. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts.map +1 -0
  479. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js +330 -0
  480. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js.map +1 -0
  481. package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.tsx +460 -0
  482. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.css +125 -0
  483. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts +3 -0
  484. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts.map +1 -0
  485. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js +295 -0
  486. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js.map +1 -0
  487. package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.tsx +275 -0
  488. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +11 -11
  489. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +1 -1
  490. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +15 -15
  491. package/dist/routes/pages/embed/AgentEmbedPage.d.ts +3 -0
  492. package/dist/routes/pages/embed/AgentEmbedPage.d.ts.map +1 -0
  493. package/dist/routes/pages/embed/AgentEmbedPage.js +170 -0
  494. package/dist/routes/pages/embed/AgentEmbedPage.js.map +1 -0
  495. package/dist/routes/pages/embed/AgentEmbedPage.module.css +195 -0
  496. package/dist/routes/pages/embed/AgentEmbedPage.tsx +169 -0
  497. package/dist/routes/solidRoutes.d.ts.map +1 -1
  498. package/dist/routes/solidRoutes.js +8 -0
  499. package/dist/routes/solidRoutes.js.map +1 -1
  500. package/dist/routes/solidRoutes.tsx +8 -0
  501. package/dist/types/extension-registry.d.ts +4 -0
  502. package/dist/types/extension-registry.d.ts.map +1 -1
  503. package/dist/types/extension-registry.js +7 -0
  504. package/dist/types/extension-registry.js.map +1 -1
  505. package/dist/types/extension-registry.ts +7 -0
  506. package/dist/types/index.d.ts +4 -0
  507. package/dist/types/list-row-action.d.ts +2 -0
  508. package/dist/types/list-row-action.d.ts.map +1 -1
  509. package/dist/types/list-row-action.js.map +1 -1
  510. package/dist/types/list-row-action.ts +3 -0
  511. package/dist/types/solid-core.d.ts +36 -0
  512. package/package.json +1 -1
@@ -1057,6 +1057,43 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1057
1057
 
1058
1058
  const [selectedSolidViewData, setSelectedSolidViewData] = useState<any>();
1059
1059
  const [deleteEntity, setDeleteEntity] = useState(false);
1060
+ const [pendingConfirmedRowAction, setPendingConfirmedRowAction] = useState<any>(null);
1061
+
1062
+ const handleRowActionClick = (button: any, rowData: any) => {
1063
+ const event: SolidListRowActionEvent = {
1064
+ params,
1065
+ rowData,
1066
+ solidListViewMetaData: solidListViewMetaData?.data,
1067
+ };
1068
+ if (button?.attrs?.confirmMessage) {
1069
+ setPendingConfirmedRowAction({ attrs: button.attrs, event });
1070
+ return;
1071
+ }
1072
+ handleCustomButtonClick(button.attrs, event);
1073
+ };
1074
+
1075
+ const confirmCustomRowAction = async () => {
1076
+ if (!pendingConfirmedRowAction) return;
1077
+ const { attrs, event } = pendingConfirmedRowAction;
1078
+ setPendingConfirmedRowAction(null);
1079
+ try {
1080
+ await Promise.resolve(handleCustomButtonClick(attrs, event));
1081
+ dispatch(showToast({
1082
+ severity: "success",
1083
+ summary: attrs.successSummary || "Action completed",
1084
+ detail: attrs.successMessage || `${attrs.label || "Action"} completed successfully.`,
1085
+ life: 4000,
1086
+ }));
1087
+ await setQueryString();
1088
+ } catch (error: any) {
1089
+ dispatch(showToast({
1090
+ severity: "error",
1091
+ summary: "Action failed",
1092
+ detail: error?.response?.data?.message || error?.response?.data?.error || error?.message || "The action could not be completed.",
1093
+ life: 5000,
1094
+ }));
1095
+ }
1096
+ };
1060
1097
 
1061
1098
  // Recover functions
1062
1099
  const recoverById = async (id: any) => {
@@ -1619,6 +1656,24 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1619
1656
  sortMode="single"
1620
1657
  paginatorTemplate="RowsPerPageDropdown CurrentPageReport PrevPageLink NextPageLink"
1621
1658
  currentPageReportTemplate="{first} - {last} of {totalRecords}"
1659
+ paginatorLeft={params.embeded !== true ? (
1660
+ <div className="solid-list-selection-status" aria-live="polite">
1661
+ <span>{selectedRecords.length + selectedRecoverRecords.length} selected</span>
1662
+ {selectedRecords.length + selectedRecoverRecords.length > 0 && (
1663
+ <button
1664
+ type="button"
1665
+ className="solid-list-selection-clear"
1666
+ onClick={() => {
1667
+ setSelectedRecords([]);
1668
+ setSelectedRecoverRecords([]);
1669
+ }}
1670
+ aria-label="Clear selected rows"
1671
+ >
1672
+ Clear
1673
+ </button>
1674
+ )}
1675
+ </div>
1676
+ ) : null}
1622
1677
  onRowClick={(e) => {
1623
1678
  const rowData = e.data;
1624
1679
 
@@ -1677,6 +1732,11 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1677
1732
  body={(rowData) => {
1678
1733
  return (
1679
1734
  (() => {
1735
+ const allowedRowStates = button?.attrs?.visibleWhenFieldIn;
1736
+ const currentRowState = rowData?.[button?.attrs?.visibleWhenField];
1737
+ if (Array.isArray(allowedRowStates) && allowedRowStates.length > 0 &&
1738
+ currentRowState !== undefined && currentRowState !== null && currentRowState !== "" &&
1739
+ !allowedRowStates.includes(String(currentRowState))) return null;
1680
1740
  const presentation = resolveButtonPresentation(button?.attrs);
1681
1741
  if (!presentation.showIcon && !presentation.showLabel) return null;
1682
1742
  return (
@@ -1695,13 +1755,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1695
1755
  size="small"
1696
1756
  variant="ghost"
1697
1757
  onClick={() => {
1698
- const event: SolidListRowActionEvent = {
1699
- params,
1700
- rowData: rowData,
1701
- solidListViewMetaData:
1702
- solidListViewMetaData?.data,
1703
- };
1704
- handleCustomButtonClick(button.attrs, event);
1758
+ handleRowActionClick(button, rowData);
1705
1759
  }}
1706
1760
  />
1707
1761
  );
@@ -1859,6 +1913,16 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
1859
1913
  )}
1860
1914
  </div>
1861
1915
  </div>
1916
+ <SolidConfirmDialog
1917
+ open={Boolean(pendingConfirmedRowAction)}
1918
+ onCancel={() => setPendingConfirmedRowAction(null)}
1919
+ onConfirm={() => void confirmCustomRowAction()}
1920
+ title={pendingConfirmedRowAction?.attrs?.confirmTitle || "Confirm action"}
1921
+ message={<p className="solid-shadcn-dialog-text">{pendingConfirmedRowAction?.attrs?.confirmMessage}</p>}
1922
+ confirmLabel={pendingConfirmedRowAction?.attrs?.confirmLabel || "Confirm"}
1923
+ cancelLabel="Cancel"
1924
+ className="solid-shadcn-confirm-dialog"
1925
+ />
1862
1926
  <SolidConfirmDialog
1863
1927
  open={isDialogVisible}
1864
1928
  onCancel={onDeleteClose}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewHeaderContextMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,oCAAoC,mHAAoH,GAAG,mDAyCvK,CAAC"}
1
+ {"version":3,"file":"SolidListViewHeaderContextMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,oCAAoC,mHAAoH,GAAG,mDAoDvK,CAAC"}
@@ -3,12 +3,15 @@ import { hasAnyRole } from "../../../helpers/rolesHelper";
3
3
  import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
4
4
  import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
5
5
  import { useSession } from "../../../hooks/useSession";
6
+ import { useDispatch } from "react-redux";
7
+ import { showToast } from "../../../redux/features/toastSlice";
6
8
  import { SolidDropdownMenuItem } from "../../shad-cn-ui";
7
9
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
8
10
  export var SolidListViewHeaderContextMenuButton = function (_a) {
9
11
  var _b, _c, _d, _e, _f, _g, _h;
10
12
  var button = _a.button, params = _a.params, solidListViewMetaData = _a.solidListViewMetaData, handleCustomButtonClick = _a.handleCustomButtonClick, selectedRecords = _a.selectedRecords, filters = _a.filters, onActionComplete = _a.onActionComplete;
11
13
  var _j = useSession(), session = _j.data, status = _j.status;
14
+ var dispatch = useDispatch();
12
15
  var user = session === null || session === void 0 ? void 0 : session.user;
13
16
  var hasRole = !((_b = button === null || button === void 0 ? void 0 : button.attrs) === null || _b === void 0 ? void 0 : _b.roles) || ((_c = button === null || button === void 0 ? void 0 : button.attrs) === null || _c === void 0 ? void 0 : _c.roles.length) === 0 ? true : hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, (_d = button === null || button === void 0 ? void 0 : button.attrs) === null || _d === void 0 ? void 0 : _d.roles);
14
17
  var presentation = resolveButtonPresentation(button === null || button === void 0 ? void 0 : button.attrs);
@@ -27,6 +30,17 @@ export var SolidListViewHeaderContextMenuButton = function (_a) {
27
30
  if (!presentation.showIcon && !presentation.showLabel)
28
31
  return null;
29
32
  return (_jsxs(SolidDropdownMenuItem, { className: "solid-header-dropdown-item ".concat((_e = presentation.buttonClassName) !== null && _e !== void 0 ? _e : ""), onSelect: function () {
33
+ var _a;
34
+ if (((_a = button === null || button === void 0 ? void 0 : button.attrs) === null || _a === void 0 ? void 0 : _a.requiresSelection) === true && selectedRecords.length === 0) {
35
+ dispatch(showToast({
36
+ severity: "info",
37
+ summary: "Select queue messages",
38
+ detail: "Select at least one message before opening the summary.",
39
+ life: 3500,
40
+ }));
41
+ onActionComplete === null || onActionComplete === void 0 ? void 0 : onActionComplete();
42
+ return;
43
+ }
30
44
  var event = {
31
45
  params: params,
32
46
  solidListViewMetaData: solidListViewMetaData.data,
@@ -1 +1 @@
1
- {"version":3,"file":"SolidListViewHeaderContextMenuButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport { resolveButtonPresentation } from \"../../../helpers/buttonPresentation\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { SolidDropdownMenuItem } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewHeaderContextMenuButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n const presentation = resolveButtonPresentation(button?.attrs);\n const iconNode = presentation.showIcon\n ? (() => {\n const m = parseSolidIconMeta(presentation.icon);\n return m\n ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-header-action-button-icon\" />\n : <i className={`${presentation.icon} solid-header-action-button-icon`} />;\n })()\n : null;\n\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n if (!presentation.showIcon && !presentation.showLabel) return null;\n\n return (\n <SolidDropdownMenuItem\n className={`solid-header-dropdown-item ${presentation.buttonClassName ?? \"\"}`}\n onSelect={() => {\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n selectedRecords,\n filters,\n };\n handleCustomButtonClick(button.attrs, event);\n onActionComplete?.();\n }}\n title={presentation.tooltip}\n aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? \"Action\") : undefined}\n >\n {presentation.iconPos === \"left\" ? iconNode : null}\n {presentation.showLabel ? <span className=\"solid-header-action-button-label\">{presentation.label}</span> : null}\n {presentation.iconPos === \"right\" ? iconNode : null}\n </SolidDropdownMenuItem>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidListViewHeaderContextMenuButton.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewHeaderContextMenuButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { isButtonVisibleInCurrentEnv } from \"../../../helpers/buttonEnvironment\";\nimport { resolveButtonPresentation } from \"../../../helpers/buttonPresentation\";\nimport { useSession } from \"../../../hooks/useSession\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport { SolidDropdownMenuItem } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidListViewHeaderContextMenuButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters, onActionComplete }: any) => {\n\n const { data: session, status } = useSession();\n const dispatch = useDispatch();\n const user = session?.user;\n\n const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);\n const presentation = resolveButtonPresentation(button?.attrs);\n const iconNode = presentation.showIcon\n ? (() => {\n const m = parseSolidIconMeta(presentation.icon);\n return m\n ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-header-action-button-icon\" />\n : <i className={`${presentation.icon} solid-header-action-button-icon`} />;\n })()\n : null;\n\n if (!hasRole) return null;\n if (!isButtonVisibleInCurrentEnv(button?.attrs)) return null;\n if (!presentation.showIcon && !presentation.showLabel) return null;\n\n return (\n <SolidDropdownMenuItem\n className={`solid-header-dropdown-item ${presentation.buttonClassName ?? \"\"}`}\n onSelect={() => {\n if (button?.attrs?.requiresSelection === true && selectedRecords.length === 0) {\n dispatch(showToast({\n severity: \"info\",\n summary: \"Select queue messages\",\n detail: \"Select at least one message before opening the summary.\",\n life: 3500,\n }));\n onActionComplete?.();\n return;\n }\n const event = {\n params,\n solidListViewMetaData: solidListViewMetaData.data,\n selectedRecords,\n filters,\n };\n handleCustomButtonClick(button.attrs, event);\n onActionComplete?.();\n }}\n title={presentation.tooltip}\n aria-label={presentation.isIconOnly ? (presentation.tooltip ?? button?.attrs?.action ?? \"Action\") : undefined}\n >\n {presentation.iconPos === \"left\" ? iconNode : null}\n {presentation.showLabel ? <span className=\"solid-header-action-button-label\">{presentation.label}</span> : null}\n {presentation.iconPos === \"right\" ? iconNode : null}\n </SolidDropdownMenuItem>\n );\n};\n"]}
@@ -2,12 +2,15 @@ import { hasAnyRole } from "../../../helpers/rolesHelper";
2
2
  import { isButtonVisibleInCurrentEnv } from "../../../helpers/buttonEnvironment";
3
3
  import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
4
4
  import { useSession } from "../../../hooks/useSession";
5
+ import { useDispatch } from "react-redux";
6
+ import { showToast } from "../../../redux/features/toastSlice";
5
7
  import { SolidDropdownMenuItem } from "../../shad-cn-ui";
6
8
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
7
9
 
8
10
  export const SolidListViewHeaderContextMenuButton = ({ button, params, solidListViewMetaData, handleCustomButtonClick, selectedRecords, filters, onActionComplete }: any) => {
9
11
 
10
12
  const { data: session, status } = useSession();
13
+ const dispatch = useDispatch();
11
14
  const user = session?.user;
12
15
 
13
16
  const hasRole = !button?.attrs?.roles || button?.attrs?.roles.length === 0 ? true : hasAnyRole(user?.roles, button?.attrs?.roles);
@@ -29,6 +32,16 @@ export const SolidListViewHeaderContextMenuButton = ({ button, params, solidList
29
32
  <SolidDropdownMenuItem
30
33
  className={`solid-header-dropdown-item ${presentation.buttonClassName ?? ""}`}
31
34
  onSelect={() => {
35
+ if (button?.attrs?.requiresSelection === true && selectedRecords.length === 0) {
36
+ dispatch(showToast({
37
+ severity: "info",
38
+ summary: "Select queue messages",
39
+ detail: "Select at least one message before opening the summary.",
40
+ life: 3500,
41
+ }));
42
+ onActionComplete?.();
43
+ return;
44
+ }
32
45
  const event = {
33
46
  params,
34
47
  solidListViewMetaData: solidListViewMetaData.data,
@@ -0,0 +1,3 @@
1
+ import { SolidListFieldWidgetProps } from "../../../../types/solid-core";
2
+ export declare function AgentProcessNeedsRestartListWidget({ rowData }: SolidListFieldWidgetProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=AgentProcessNeedsRestartListWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProcessNeedsRestartListWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAKzE,wBAAgB,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,yBAAyB,2CAoDxF"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { CircleAlert } from "lucide-react";
4
+ import { listAgentHubProcesses } from "../../solid-agent/processes/agentHubProcessApi";
5
+ export function AgentProcessNeedsRestartListWidget(_a) {
6
+ var _b, _c;
7
+ var rowData = _a.rowData;
8
+ var _d = useState(null), restartNeeded = _d[0], setRestartNeeded = _d[1];
9
+ var _e = useState(null), managerError = _e[0], setManagerError = _e[1];
10
+ var processId = String((_b = rowData === null || rowData === void 0 ? void 0 : rowData.processId) !== null && _b !== void 0 ? _b : "");
11
+ var isReady = String((_c = rowData === null || rowData === void 0 ? void 0 : rowData.status) !== null && _c !== void 0 ? _c : "").toLowerCase() === "ready";
12
+ useEffect(function () {
13
+ if (!isReady) {
14
+ setRestartNeeded(false);
15
+ setManagerError(null);
16
+ return;
17
+ }
18
+ var alive = true;
19
+ var load = function () {
20
+ void listAgentHubProcesses(true).then(function (processes) {
21
+ if (!alive)
22
+ return;
23
+ var process = processes.find(function (item) { return String(item.id) === processId; });
24
+ setRestartNeeded((process === null || process === void 0 ? void 0 : process.restartNeeded) === true);
25
+ setManagerError(null);
26
+ }).catch(function (error) {
27
+ var _a;
28
+ if (!alive)
29
+ return;
30
+ setRestartNeeded(null);
31
+ setManagerError(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) === 403 ? "Manager access denied" : "Manager unavailable");
32
+ });
33
+ };
34
+ load();
35
+ var refreshTimer = window.setInterval(load, 15000);
36
+ window.addEventListener("agent-process-manager-updated", load);
37
+ return function () {
38
+ alive = false;
39
+ window.clearInterval(refreshTimer);
40
+ window.removeEventListener("agent-process-manager-updated", load);
41
+ };
42
+ }, [isReady, processId]);
43
+ return (_jsxs("div", { className: "flex min-w-0 flex-col items-start gap-1", style: { maxWidth: "28ch" }, children: [_jsx("span", { title: processId, style: { maxWidth: "100%", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: processId || "—" }), isReady && restartNeeded && (_jsxs("span", { title: "This process is running an older agent configuration.", style: {
44
+ display: "inline-flex", alignItems: "center", gap: ".25rem", borderRadius: 999,
45
+ padding: ".12rem .45rem", color: "#92400e", background: "#fef3c7",
46
+ fontSize: ".7rem", fontWeight: 600, lineHeight: 1.3,
47
+ }, children: [_jsx(CircleAlert, { size: 12 }), " Needs Restart"] })), managerError && _jsx("span", { title: "Check the AgentHub manager URL and its configured administrator roles.", style: {
48
+ color: "var(--muted-foreground)", fontSize: ".7rem", lineHeight: 1.3,
49
+ }, children: managerError })] }));
50
+ }
51
+ //# sourceMappingURL=AgentProcessNeedsRestartListWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProcessNeedsRestartListWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { CircleAlert } from \"lucide-react\";\nimport { SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { listAgentHubProcesses } from \"../../solid-agent/processes/agentHubProcessApi\";\n\ntype RuntimeProcess = { id: string; restartNeeded?: boolean };\n\nexport function AgentProcessNeedsRestartListWidget({ rowData }: SolidListFieldWidgetProps) {\n const [restartNeeded, setRestartNeeded] = useState<boolean | null>(null);\n const [managerError, setManagerError] = useState<string | null>(null);\n const processId = String(rowData?.processId ?? \"\");\n const isReady = String(rowData?.status ?? \"\").toLowerCase() === \"ready\";\n\n useEffect(() => {\n if (!isReady) {\n setRestartNeeded(false);\n setManagerError(null);\n return;\n }\n let alive = true;\n const load = () => {\n void listAgentHubProcesses(true).then((processes) => {\n if (!alive) return;\n const process = processes.find((item: RuntimeProcess) => String(item.id) === processId);\n setRestartNeeded(process?.restartNeeded === true);\n setManagerError(null);\n }).catch((error: any) => {\n if (!alive) return;\n setRestartNeeded(null);\n setManagerError(error?.response?.status === 403 ? \"Manager access denied\" : \"Manager unavailable\");\n });\n };\n load();\n const refreshTimer = window.setInterval(load, 15000);\n window.addEventListener(\"agent-process-manager-updated\", load);\n return () => {\n alive = false;\n window.clearInterval(refreshTimer);\n window.removeEventListener(\"agent-process-manager-updated\", load);\n };\n }, [isReady, processId]);\n\n return (\n <div className=\"flex min-w-0 flex-col items-start gap-1\" style={{ maxWidth: \"28ch\" }}>\n <span title={processId} style={{ maxWidth: \"100%\", overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\" }}>{processId || \"—\"}</span>\n {isReady && restartNeeded && (\n <span title=\"This process is running an older agent configuration.\" style={{\n display: \"inline-flex\", alignItems: \"center\", gap: \".25rem\", borderRadius: 999,\n padding: \".12rem .45rem\", color: \"#92400e\", background: \"#fef3c7\",\n fontSize: \".7rem\", fontWeight: 600, lineHeight: 1.3,\n }}>\n <CircleAlert size={12} /> Needs Restart\n </span>\n )}\n {managerError && <span title=\"Check the AgentHub manager URL and its configured administrator roles.\" style={{\n color: \"var(--muted-foreground)\", fontSize: \".7rem\", lineHeight: 1.3,\n }}>{managerError}</span>}\n </div>\n );\n}\n"]}
@@ -0,0 +1,60 @@
1
+ import { useEffect, useState } from "react";
2
+ import { CircleAlert } from "lucide-react";
3
+ import { SolidListFieldWidgetProps } from "../../../../types/solid-core";
4
+ import { listAgentHubProcesses } from "../../solid-agent/processes/agentHubProcessApi";
5
+
6
+ type RuntimeProcess = { id: string; restartNeeded?: boolean };
7
+
8
+ export function AgentProcessNeedsRestartListWidget({ rowData }: SolidListFieldWidgetProps) {
9
+ const [restartNeeded, setRestartNeeded] = useState<boolean | null>(null);
10
+ const [managerError, setManagerError] = useState<string | null>(null);
11
+ const processId = String(rowData?.processId ?? "");
12
+ const isReady = String(rowData?.status ?? "").toLowerCase() === "ready";
13
+
14
+ useEffect(() => {
15
+ if (!isReady) {
16
+ setRestartNeeded(false);
17
+ setManagerError(null);
18
+ return;
19
+ }
20
+ let alive = true;
21
+ const load = () => {
22
+ void listAgentHubProcesses(true).then((processes) => {
23
+ if (!alive) return;
24
+ const process = processes.find((item: RuntimeProcess) => String(item.id) === processId);
25
+ setRestartNeeded(process?.restartNeeded === true);
26
+ setManagerError(null);
27
+ }).catch((error: any) => {
28
+ if (!alive) return;
29
+ setRestartNeeded(null);
30
+ setManagerError(error?.response?.status === 403 ? "Manager access denied" : "Manager unavailable");
31
+ });
32
+ };
33
+ load();
34
+ const refreshTimer = window.setInterval(load, 15000);
35
+ window.addEventListener("agent-process-manager-updated", load);
36
+ return () => {
37
+ alive = false;
38
+ window.clearInterval(refreshTimer);
39
+ window.removeEventListener("agent-process-manager-updated", load);
40
+ };
41
+ }, [isReady, processId]);
42
+
43
+ return (
44
+ <div className="flex min-w-0 flex-col items-start gap-1" style={{ maxWidth: "28ch" }}>
45
+ <span title={processId} style={{ maxWidth: "100%", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>{processId || "—"}</span>
46
+ {isReady && restartNeeded && (
47
+ <span title="This process is running an older agent configuration." style={{
48
+ display: "inline-flex", alignItems: "center", gap: ".25rem", borderRadius: 999,
49
+ padding: ".12rem .45rem", color: "#92400e", background: "#fef3c7",
50
+ fontSize: ".7rem", fontWeight: 600, lineHeight: 1.3,
51
+ }}>
52
+ <CircleAlert size={12} /> Needs Restart
53
+ </span>
54
+ )}
55
+ {managerError && <span title="Check the AgentHub manager URL and its configured administrator roles." style={{
56
+ color: "var(--muted-foreground)", fontSize: ".7rem", lineHeight: 1.3,
57
+ }}>{managerError}</span>}
58
+ </div>
59
+ );
60
+ }
@@ -0,0 +1,4 @@
1
+ import type { SolidListFieldWidgetProps } from "../../../../types/solid-core";
2
+ /** Read-only list-cell renderer for fields storing a Material Symbol name. */
3
+ export declare function SolidIconNameListViewWidget({ rowData, fieldMetadata, column }: SolidListFieldWidgetProps): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SolidIconNameListViewWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidIconNameListViewWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/widgets/SolidIconNameListViewWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAG9E,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,yBAAyB,2CA2BxG"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SolidMaterialSymbol } from "../../../common/SolidMaterialSymbol";
3
+ /** Read-only list-cell renderer for fields storing a Material Symbol name. */
4
+ export function SolidIconNameListViewWidget(_a) {
5
+ var _b, _c;
6
+ var rowData = _a.rowData, fieldMetadata = _a.fieldMetadata, column = _a.column;
7
+ var fieldName = (_b = fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.name) !== null && _b !== void 0 ? _b : (_c = column === null || column === void 0 ? void 0 : column.attrs) === null || _c === void 0 ? void 0 : _c.name;
8
+ var iconName = fieldName ? rowData === null || rowData === void 0 ? void 0 : rowData[fieldName] : undefined;
9
+ if (typeof iconName !== "string" || !iconName.trim())
10
+ return _jsx("span", {});
11
+ var normalizedName = iconName.trim();
12
+ return (_jsx("span", { role: "img", "aria-label": normalizedName.replace(/_/g, " "), title: normalizedName.replace(/_/g, " "), style: {
13
+ display: "inline-flex",
14
+ width: 36,
15
+ height: 36,
16
+ alignItems: "center",
17
+ justifyContent: "center",
18
+ border: "1px solid var(--surface-border, var(--border, #3f3f46))",
19
+ borderRadius: 10,
20
+ color: "var(--text-color-secondary, var(--muted-foreground, currentColor))",
21
+ verticalAlign: "middle",
22
+ }, children: _jsx(SolidMaterialSymbol, { name: normalizedName, size: 20, "aria-hidden": "true" }) }));
23
+ }
24
+ //# sourceMappingURL=SolidIconNameListViewWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidIconNameListViewWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/list/widgets/SolidIconNameListViewWidget.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CAAC,EAA6D;;QAA3D,OAAO,aAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA;IAC1E,IAAM,SAAS,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,mCAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,CAAC;IAC7D,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,gBAAQ,CAAC;IAEtE,IAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,CACL,eACE,IAAI,EAAC,KAAK,gBACE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAC7C,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EACxC,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,MAAM,EAAE,yDAAyD;YACjE,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,oEAAoE;YAC3E,aAAa,EAAE,QAAQ;SACxB,YAED,KAAC,mBAAmB,IAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,iBAAc,MAAM,GAAG,GACrE,CACR,CAAC;AACJ,CAAC","sourcesContent":["import type { SolidListFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidMaterialSymbol } from \"../../../common/SolidMaterialSymbol\";\n\n/** Read-only list-cell renderer for fields storing a Material Symbol name. */\nexport function SolidIconNameListViewWidget({ rowData, fieldMetadata, column }: SolidListFieldWidgetProps) {\n const fieldName = fieldMetadata?.name ?? column?.attrs?.name;\n const iconName = fieldName ? rowData?.[fieldName] : undefined;\n\n if (typeof iconName !== \"string\" || !iconName.trim()) return <span />;\n\n const normalizedName = iconName.trim();\n return (\n <span\n role=\"img\"\n aria-label={normalizedName.replace(/_/g, \" \")}\n title={normalizedName.replace(/_/g, \" \")}\n style={{\n display: \"inline-flex\",\n width: 36,\n height: 36,\n alignItems: \"center\",\n justifyContent: \"center\",\n border: \"1px solid var(--surface-border, var(--border, #3f3f46))\",\n borderRadius: 10,\n color: \"var(--text-color-secondary, var(--muted-foreground, currentColor))\",\n verticalAlign: \"middle\",\n }}\n >\n <SolidMaterialSymbol name={normalizedName} size={20} aria-hidden=\"true\" />\n </span>\n );\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import type { SolidListFieldWidgetProps } from "../../../../types/solid-core";
2
+ import { SolidMaterialSymbol } from "../../../common/SolidMaterialSymbol";
3
+
4
+ /** Read-only list-cell renderer for fields storing a Material Symbol name. */
5
+ export function SolidIconNameListViewWidget({ rowData, fieldMetadata, column }: SolidListFieldWidgetProps) {
6
+ const fieldName = fieldMetadata?.name ?? column?.attrs?.name;
7
+ const iconName = fieldName ? rowData?.[fieldName] : undefined;
8
+
9
+ if (typeof iconName !== "string" || !iconName.trim()) return <span />;
10
+
11
+ const normalizedName = iconName.trim();
12
+ return (
13
+ <span
14
+ role="img"
15
+ aria-label={normalizedName.replace(/_/g, " ")}
16
+ title={normalizedName.replace(/_/g, " ")}
17
+ style={{
18
+ display: "inline-flex",
19
+ width: 36,
20
+ height: 36,
21
+ alignItems: "center",
22
+ justifyContent: "center",
23
+ border: "1px solid var(--surface-border, var(--border, #3f3f46))",
24
+ borderRadius: 10,
25
+ color: "var(--text-color-secondary, var(--muted-foreground, currentColor))",
26
+ verticalAlign: "middle",
27
+ }}
28
+ >
29
+ <SolidMaterialSymbol name={normalizedName} size={20} aria-hidden="true" />
30
+ </span>
31
+ );
32
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelListViewData.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/ModelListViewData.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD,eAAO,MAAM,iBAAiB,+CAoT7B,CAAC"}
1
+ {"version":3,"file":"ModelListViewData.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/ModelListViewData.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD,eAAO,MAAM,iBAAiB,+CAyQ7B,CAAC"}
@@ -47,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  };
48
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
49
  import { CreateButton } from "../../../components/common/CreateButton";
50
- import { useDeleteMultipleModelsMutation, useGenerateCodeForModelMutation, useLazyGetModelsQuery, } from "../../../redux/api/modelApi";
50
+ import { useGenerateCodeForModelMutation, useLazyGetModelsQuery } from "../../../redux/api/modelApi";
51
51
  import Link from "../../common/Link";
52
52
  import qs from "qs";
53
53
  import { useEffect, useState } from "react";
@@ -68,14 +68,11 @@ export var ModelListViewData = function () {
68
68
  var _h = useState(0), totalRecords = _h[0], setTotalRecords = _h[1];
69
69
  var _j = useState(""), sortField = _j[0], setSortField = _j[1];
70
70
  var _k = useState(0), sortOrder = _k[0], setSortOrder = _k[1];
71
- var _l = useState([]), selectedMenus = _l[0], setSelectedMenus = _l[1];
72
- var _m = useState(true), loading = _m[0], setLoading = _m[1];
73
- var _o = useState(false), isDialogVisible = _o[0], setDialogVisible = _o[1];
74
- var _p = useState(false), isGenerateCodeVisible = _p[0], setGenerateCodeVisible = _p[1];
75
- var _q = useState(null), generateCodeForModel = _q[0], setGenerateCodeForModel = _q[1];
76
- var _r = useLazyGetModelsQuery(), triggerGetModels = _r[0], _s = _r[1], model = _s.data, isLoading = _s.isLoading;
71
+ var _l = useState(true), loading = _l[0], setLoading = _l[1];
72
+ var _m = useState(false), isGenerateCodeVisible = _m[0], setGenerateCodeVisible = _m[1];
73
+ var _o = useState(null), generateCodeForModel = _o[0], setGenerateCodeForModel = _o[1];
74
+ var _p = useLazyGetModelsQuery(), triggerGetModels = _p[0], _q = _p[1], model = _q.data, isLoading = _q.isLoading;
77
75
  var generateCode = useGenerateCodeForModelMutation()[0];
78
- var deleteManyModel = useDeleteMultipleModelsMutation()[0];
79
76
  useEffect(function () {
80
77
  var _a, _b, _c;
81
78
  if (model) {
@@ -92,7 +89,6 @@ export var ModelListViewData = function () {
92
89
  };
93
90
  var queryString = qs.stringify(queryData, { encodeValuesOnly: true });
94
91
  triggerGetModels(queryString);
95
- setSelectedMenus([]);
96
92
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
97
93
  var onPageChange = function (event) {
98
94
  setFirst(event.first);
@@ -183,16 +179,6 @@ export var ModelListViewData = function () {
183
179
  setFirst(0);
184
180
  setQueryString(0, rows, sortField, sortOrder, defaults);
185
181
  };
186
- var deleteBulk = function () {
187
- var deleteList = selectedMenus.map(function (element) { return element.id; });
188
- deleteManyModel(deleteList);
189
- setDialogVisible(false);
190
- setSelectedMenus([]);
191
- };
192
- var onDeleteClose = function () {
193
- setDialogVisible(false);
194
- setSelectedMenus([]);
195
- };
196
182
  var handleGenerateCode = function () { return __awaiter(void 0, void 0, void 0, function () {
197
183
  return __generator(this, function (_a) {
198
184
  switch (_a.label) {
@@ -218,10 +204,7 @@ export var ModelListViewData = function () {
218
204
  setGenerateCodeVisible(true);
219
205
  }, children: _jsx(SolidIcon, { name: "si-cog", style: { fontSize: "1rem" }, "aria-hidden": true }) }));
220
206
  };
221
- return (_jsxs("div", { className: "solid-model-list w-full", children: [_jsxs("div", { className: "flex gap-4 mb-6 items-center flex-wrap", children: [_jsx(CreateButton, {}), selectedMenus.length > 0 && (_jsx(SolidButton, { type: "button", label: "Delete", size: "small", severity: "danger", className: "small-button", onClick: function () { return setDialogVisible(true); } }))] }), _jsxs("div", { className: "flex flex-col md:flex-row items-start gap-4 mb-4", children: [_jsx(SolidInput, { value: (_a = pendingFilters.displayName.value) !== null && _a !== void 0 ? _a : "", onChange: function (event) { return handleFilterInputChange("displayName", event.currentTarget.value); }, placeholder: "Search by model name", className: "w-full md:w-20rem" }), _jsx(SolidInput, { value: (_b = pendingFilters["module.displayName"].value) !== null && _b !== void 0 ? _b : "", onChange: function (event) { return handleFilterInputChange("module.displayName", event.currentTarget.value); }, placeholder: "Search by module", className: "w-full md:w-20rem" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SolidButton, { size: "small", onClick: applyFilters, label: "Apply" }), _jsx(SolidButton, { size: "small", variant: "ghost", onClick: clearFilters, label: "Clear" })] })] }), (loading || isLoading) && (_jsx("div", { className: "flex justify-center my-4", children: _jsx(SolidSpinner, {}) })), _jsxs(SolidDataTable, { value: modelMetadata, size: "small", paginator: true, rows: rows, rowsPerPageOptions: [10, 25, 50], dataKey: "id", emptyMessage: "No Models found", totalRecords: totalRecords, first: first, onPage: onPageChange, onSort: onSort, sortField: sortField, sortOrder: sortOrder, selection: selectedMenus, onSelectionChange: function (_a) {
222
- var value = _a.value;
223
- return setSelectedMenus(value);
224
- }, children: [_jsx(Column, { selectionMode: "multiple", headerStyle: { width: "3em" } }), _jsx(Column, { field: "id", header: "Id", className: "text-sm", sortable: true, headerClassName: "table-header-fs" }), _jsx(Column, { field: "displayName", header: "Display Name", className: "text-sm", sortable: true, style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }), _jsx(Column, { field: "module.displayName", header: "Module Name", className: "text-sm", style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }), _jsx(Column, { header: "Edit", body: detailsBodyTemplate }), _jsx(Column, { header: "Code", body: generateCodeBodyTemplate })] }), _jsxs(SolidDialog, { visible: isDialogVisible, header: "Confirm Delete", modal: true, className: "solid-confirm-dialog", onHide: function () { return setDialogVisible(false); }, children: [_jsx("p", { children: "Are you sure you want to delete the selected Models?" }), _jsxs("div", { className: "flex justify-center gap-4 mt-4", children: [_jsx(SolidButton, { label: "Yes", className: "small-button", severity: "danger", autoFocus: true, onClick: deleteBulk }), _jsx(SolidButton, { label: "No", className: "small-button", variant: "ghost", onClick: onDeleteClose })] })] }), _jsxs(SolidDialog, { visible: isGenerateCodeVisible, header: "Generate Code", modal: true, className: "solid-confirm-dialog", onHide: function () {
207
+ return (_jsxs("div", { className: "solid-model-list w-full", children: [_jsx("div", { className: "flex gap-4 mb-6 items-center flex-wrap", children: _jsx(CreateButton, {}) }), _jsxs("div", { className: "flex flex-col md:flex-row items-start gap-4 mb-4", children: [_jsx(SolidInput, { value: (_a = pendingFilters.displayName.value) !== null && _a !== void 0 ? _a : "", onChange: function (event) { return handleFilterInputChange("displayName", event.currentTarget.value); }, placeholder: "Search by model name", className: "w-full md:w-20rem" }), _jsx(SolidInput, { value: (_b = pendingFilters["module.displayName"].value) !== null && _b !== void 0 ? _b : "", onChange: function (event) { return handleFilterInputChange("module.displayName", event.currentTarget.value); }, placeholder: "Search by module", className: "w-full md:w-20rem" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SolidButton, { size: "small", onClick: applyFilters, label: "Apply" }), _jsx(SolidButton, { size: "small", variant: "ghost", onClick: clearFilters, label: "Clear" })] })] }), (loading || isLoading) && (_jsx("div", { className: "flex justify-center my-4", children: _jsx(SolidSpinner, {}) })), _jsxs(SolidDataTable, { value: modelMetadata, size: "small", paginator: true, rows: rows, rowsPerPageOptions: [10, 25, 50], dataKey: "id", emptyMessage: "No Models found", totalRecords: totalRecords, first: first, onPage: onPageChange, onSort: onSort, sortField: sortField, sortOrder: sortOrder, children: [_jsx(Column, { field: "id", header: "Id", className: "text-sm", sortable: true, headerClassName: "table-header-fs" }), _jsx(Column, { field: "displayName", header: "Display Name", className: "text-sm", sortable: true, style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }), _jsx(Column, { field: "module.displayName", header: "Module Name", className: "text-sm", style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }), _jsx(Column, { header: "Edit", body: detailsBodyTemplate }), _jsx(Column, { header: "Code", body: generateCodeBodyTemplate })] }), _jsxs(SolidDialog, { visible: isGenerateCodeVisible, header: "Generate Code", modal: true, className: "solid-confirm-dialog", onHide: function () {
225
208
  setGenerateCodeVisible(false);
226
209
  setGenerateCodeForModel(null);
227
210
  }, children: [_jsx("p", { className: "text-center", children: "Proceed with model code generation? Existing files will be overwritten." }), _jsx("p", { children: "Below is the list of files that will be created:" }), _jsxs("ul", { children: [_jsx("li", { children: "Model Entity File" }), _jsx("li", { children: "Model Controller File" }), _jsx("li", { children: "Model Service File" }), _jsx("li", { children: "Model Create and Update DTO files" })] }), _jsxs("div", { className: "flex justify-center gap-4 mt-4", children: [_jsx(SolidButton, { label: "Yes", className: "small-button", severity: "danger", autoFocus: true, onClick: handleGenerateCode }), _jsx(SolidButton, { label: "No", className: "small-button", variant: "ghost", onClick: function () { return setGenerateCodeVisible(false); } })] })] })] }));