@solidxai/core-ui 0.1.19-beta.0 → 0.1.19-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
- package/dist/components/common/SolidPopupContainer.js +3 -2
- package/dist/components/common/SolidPopupContainer.js.map +1 -1
- package/dist/components/common/SolidPopupContainer.tsx +3 -2
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +4 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +11 -5
- package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +2 -1
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +2 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +2 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.js +7 -4
- package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.tsx +8 -3
- package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts +5 -0
- package/dist/components/core/chatter/SolidChatterMessageWidget.d.ts.map +1 -0
- package/dist/components/core/chatter/SolidChatterMessageWidget.js +85 -0
- package/dist/components/core/chatter/SolidChatterMessageWidget.js.map +1 -0
- package/dist/components/core/chatter/SolidChatterMessageWidget.tsx +59 -0
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +6 -5
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +6 -5
- package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts +11 -0
- package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js +102 -0
- package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/agentEvent/list/AgentEventOutcomeListWidget.tsx +129 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts +4 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js +29 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.module.css +226 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentRegistryCardWidget.tsx +57 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts +4 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js +33 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx +47 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts +5 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js +59 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js.map +1 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx +82 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts +17 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js +258 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.js.map +1 -0
- package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx +286 -0
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +102 -62
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +116 -106
- package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts +6 -0
- package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js +37 -0
- package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/MqMessageSelectedRecordsSummaryHeaderAction.tsx +89 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts +3 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js +18 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageDetailsKanbanCardAction.tsx +51 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts +10 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js +63 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanQuickFilterHeaderAction.tsx +111 -0
- package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
- package/dist/components/core/field/FieldListViewData.js +29 -9
- package/dist/components/core/field/FieldListViewData.js.map +1 -1
- package/dist/components/core/field/FieldListViewData.tsx +7 -6
- package/dist/components/core/form/SolidFormView.d.ts +1 -0
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +49 -48
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +4 -3
- package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.js +13 -1
- package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.tsx +14 -3
- package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +2 -2
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.tsx +5 -1
- package/dist/components/core/kanban/KanbanCard.d.ts +3 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +5 -4
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +31 -11
- package/dist/components/core/kanban/KanbanColumn.d.ts +5 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +14 -3
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.tsx +43 -3
- package/dist/components/core/kanban/SolidKanbanView.d.ts +2 -0
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +90 -52
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +93 -13
- package/dist/components/core/list/SolidDataTable.d.ts +2 -1
- package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +2 -2
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +3 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +114 -57
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +71 -7
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +14 -0
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +13 -0
- package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js +51 -0
- package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.js.map +1 -0
- package/dist/components/core/list/widgets/AgentProcessNeedsRestartListWidget.tsx +60 -0
- package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts +4 -0
- package/dist/components/core/list/widgets/SolidIconNameListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js +24 -0
- package/dist/components/core/list/widgets/SolidIconNameListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidIconNameListViewWidget.tsx +32 -0
- package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
- package/dist/components/core/model/ModelListViewData.js +6 -23
- package/dist/components/core/model/ModelListViewData.js.map +1 -1
- package/dist/components/core/model/ModelListViewData.tsx +1 -48
- package/dist/components/core/solid-agent/AgentModelIndicator.d.ts +5 -0
- package/dist/components/core/solid-agent/AgentModelIndicator.d.ts.map +1 -0
- package/dist/components/core/solid-agent/AgentModelIndicator.js +14 -0
- package/dist/components/core/solid-agent/AgentModelIndicator.js.map +1 -0
- package/dist/components/core/solid-agent/AgentModelIndicator.tsx +40 -0
- package/dist/components/core/solid-agent/AgentSignIn.d.ts +12 -0
- package/dist/components/core/solid-agent/AgentSignIn.d.ts.map +1 -0
- package/dist/components/core/solid-agent/AgentSignIn.js +82 -0
- package/dist/components/core/solid-agent/AgentSignIn.js.map +1 -0
- package/dist/components/core/solid-agent/AgentSignIn.tsx +91 -0
- package/dist/components/core/solid-agent/SolidAgent.module.css +596 -0
- package/dist/components/core/solid-agent/SolidAgentChat.d.ts +30 -0
- package/dist/components/core/solid-agent/SolidAgentChat.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentChat.js +300 -0
- package/dist/components/core/solid-agent/SolidAgentChat.js.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentChat.tsx +451 -0
- package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts +44 -0
- package/dist/components/core/solid-agent/SolidAgentEmbedded.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentEmbedded.js +46 -0
- package/dist/components/core/solid-agent/SolidAgentEmbedded.js.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentEmbedded.tsx +87 -0
- package/dist/components/core/solid-agent/SolidAgentHost.d.ts +8 -0
- package/dist/components/core/solid-agent/SolidAgentHost.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentHost.js +152 -0
- package/dist/components/core/solid-agent/SolidAgentHost.js.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentHost.tsx +164 -0
- package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts +16 -0
- package/dist/components/core/solid-agent/SolidAgentMarkdown.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentMarkdown.js +161 -0
- package/dist/components/core/solid-agent/SolidAgentMarkdown.js.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentMarkdown.tsx +133 -0
- package/dist/components/core/solid-agent/SolidAgentMount.d.ts +3 -0
- package/dist/components/core/solid-agent/SolidAgentMount.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentMount.js +62 -0
- package/dist/components/core/solid-agent/SolidAgentMount.js.map +1 -0
- package/dist/components/core/solid-agent/SolidAgentMount.tsx +31 -0
- package/dist/components/core/solid-agent/SolidXAIIcon.d.ts +5 -0
- package/dist/components/core/solid-agent/SolidXAIIcon.d.ts.map +1 -0
- package/dist/components/core/solid-agent/SolidXAIIcon.js +7 -0
- package/dist/components/core/solid-agent/SolidXAIIcon.js.map +1 -0
- package/dist/components/core/solid-agent/SolidXAIIcon.tsx +6 -0
- package/dist/components/core/solid-agent/agentAttachments.d.ts +20 -0
- package/dist/components/core/solid-agent/agentAttachments.d.ts.map +1 -0
- package/dist/components/core/solid-agent/agentAttachments.js +184 -0
- package/dist/components/core/solid-agent/agentAttachments.js.map +1 -0
- package/dist/components/core/solid-agent/agentAttachments.ts +119 -0
- package/dist/components/core/solid-agent/agentEvents.d.ts +34 -0
- package/dist/components/core/solid-agent/agentEvents.d.ts.map +1 -0
- package/dist/components/core/solid-agent/agentEvents.js +282 -0
- package/dist/components/core/solid-agent/agentEvents.js.map +1 -0
- package/dist/components/core/solid-agent/agentEvents.ts +292 -0
- package/dist/components/core/solid-agent/agentFormat.d.ts +18 -0
- package/dist/components/core/solid-agent/agentFormat.d.ts.map +1 -0
- package/dist/components/core/solid-agent/agentFormat.js +179 -0
- package/dist/components/core/solid-agent/agentFormat.js.map +1 -0
- package/dist/components/core/solid-agent/agentFormat.ts +160 -0
- package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts +9 -0
- package/dist/components/core/solid-agent/client/agentAttachmentMedia.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentAttachmentMedia.js +129 -0
- package/dist/components/core/solid-agent/client/agentAttachmentMedia.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentAttachmentMedia.ts +69 -0
- package/dist/components/core/solid-agent/client/agentAuth.d.ts +63 -0
- package/dist/components/core/solid-agent/client/agentAuth.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentAuth.js +307 -0
- package/dist/components/core/solid-agent/client/agentAuth.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentAuth.ts +222 -0
- package/dist/components/core/solid-agent/client/agentRest.d.ts +30 -0
- package/dist/components/core/solid-agent/client/agentRest.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentRest.js +178 -0
- package/dist/components/core/solid-agent/client/agentRest.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentRest.ts +100 -0
- package/dist/components/core/solid-agent/client/agentRuntime.d.ts +48 -0
- package/dist/components/core/solid-agent/client/agentRuntime.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentRuntime.js +406 -0
- package/dist/components/core/solid-agent/client/agentRuntime.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentRuntime.ts +226 -0
- package/dist/components/core/solid-agent/client/agentSocket.d.ts +46 -0
- package/dist/components/core/solid-agent/client/agentSocket.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentSocket.js +535 -0
- package/dist/components/core/solid-agent/client/agentSocket.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentSocket.ts +276 -0
- package/dist/components/core/solid-agent/client/agentUrls.d.ts +11 -0
- package/dist/components/core/solid-agent/client/agentUrls.d.ts.map +1 -0
- package/dist/components/core/solid-agent/client/agentUrls.js +18 -0
- package/dist/components/core/solid-agent/client/agentUrls.js.map +1 -0
- package/dist/components/core/solid-agent/client/agentUrls.ts +19 -0
- package/dist/components/core/solid-agent/composer/AgentComposer.d.ts +21 -0
- package/dist/components/core/solid-agent/composer/AgentComposer.d.ts.map +1 -0
- package/dist/components/core/solid-agent/composer/AgentComposer.js +219 -0
- package/dist/components/core/solid-agent/composer/AgentComposer.js.map +1 -0
- package/dist/components/core/solid-agent/composer/AgentComposer.tsx +241 -0
- package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts +8 -0
- package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.d.ts.map +1 -0
- package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js +87 -0
- package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.js.map +1 -0
- package/dist/components/core/solid-agent/embed/AgentEmbeddingPanel.tsx +58 -0
- package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts +20 -0
- package/dist/components/core/solid-agent/embed/agentEmbedProtocol.d.ts.map +1 -0
- package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js +103 -0
- package/dist/components/core/solid-agent/embed/agentEmbedProtocol.js.map +1 -0
- package/dist/components/core/solid-agent/embed/agentEmbedProtocol.ts +60 -0
- package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts +11 -0
- package/dist/components/core/solid-agent/embed/agentEmbedSamples.d.ts.map +1 -0
- package/dist/components/core/solid-agent/embed/agentEmbedSamples.js +21 -0
- package/dist/components/core/solid-agent/embed/agentEmbedSamples.js.map +1 -0
- package/dist/components/core/solid-agent/embed/agentEmbedSamples.ts +266 -0
- package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts +15 -0
- package/dist/components/core/solid-agent/processes/agentHubProcessApi.d.ts.map +1 -0
- package/dist/components/core/solid-agent/processes/agentHubProcessApi.js +122 -0
- package/dist/components/core/solid-agent/processes/agentHubProcessApi.js.map +1 -0
- package/dist/components/core/solid-agent/processes/agentHubProcessApi.ts +64 -0
- package/dist/components/core/solid-agent/sdk/solidAgent.d.ts +39 -0
- package/dist/components/core/solid-agent/sdk/solidAgent.d.ts.map +1 -0
- package/dist/components/core/solid-agent/sdk/solidAgent.js +44 -0
- package/dist/components/core/solid-agent/sdk/solidAgent.js.map +1 -0
- package/dist/components/core/solid-agent/sdk/solidAgent.ts +56 -0
- package/dist/components/core/solid-agent/thread/AgentThread.d.ts +17 -0
- package/dist/components/core/solid-agent/thread/AgentThread.d.ts.map +1 -0
- package/dist/components/core/solid-agent/thread/AgentThread.js +166 -0
- package/dist/components/core/solid-agent/thread/AgentThread.js.map +1 -0
- package/dist/components/core/solid-agent/thread/AgentThread.tsx +248 -0
- package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts +36 -0
- package/dist/components/core/solid-agent/thread/SolidAgentChatItem.d.ts.map +1 -0
- package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js +148 -0
- package/dist/components/core/solid-agent/thread/SolidAgentChatItem.js.map +1 -0
- package/dist/components/core/solid-agent/thread/SolidAgentChatItem.tsx +116 -0
- package/dist/components/core/solid-agent/thread/inlineWidget.d.ts +8 -0
- package/dist/components/core/solid-agent/thread/inlineWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/thread/inlineWidget.js +30 -0
- package/dist/components/core/solid-agent/thread/inlineWidget.js.map +1 -0
- package/dist/components/core/solid-agent/thread/inlineWidget.ts +27 -0
- package/dist/components/core/solid-agent/types.d.ts +155 -0
- package/dist/components/core/solid-agent/types.d.ts.map +1 -0
- package/dist/components/core/solid-agent/types.js +31 -0
- package/dist/components/core/solid-agent/types.js.map +1 -0
- package/dist/components/core/solid-agent/types.ts +148 -0
- package/dist/components/core/solid-agent/useAdminInputContext.d.ts +4 -0
- package/dist/components/core/solid-agent/useAdminInputContext.d.ts.map +1 -0
- package/dist/components/core/solid-agent/useAdminInputContext.js +49 -0
- package/dist/components/core/solid-agent/useAdminInputContext.js.map +1 -0
- package/dist/components/core/solid-agent/useAdminInputContext.ts +52 -0
- package/dist/components/core/solid-agent/useAgentAuth.d.ts +14 -0
- package/dist/components/core/solid-agent/useAgentAuth.d.ts.map +1 -0
- package/dist/components/core/solid-agent/useAgentAuth.js +88 -0
- package/dist/components/core/solid-agent/useAgentAuth.js.map +1 -0
- package/dist/components/core/solid-agent/useAgentAuth.ts +40 -0
- package/dist/components/core/solid-agent/useAgentAvailability.d.ts +19 -0
- package/dist/components/core/solid-agent/useAgentAvailability.d.ts.map +1 -0
- package/dist/components/core/solid-agent/useAgentAvailability.js +109 -0
- package/dist/components/core/solid-agent/useAgentAvailability.js.map +1 -0
- package/dist/components/core/solid-agent/useAgentAvailability.ts +80 -0
- package/dist/components/core/solid-agent/useAgentChat.d.ts +22 -0
- package/dist/components/core/solid-agent/useAgentChat.d.ts.map +1 -0
- package/dist/components/core/solid-agent/useAgentChat.js +45 -0
- package/dist/components/core/solid-agent/useAgentChat.js.map +1 -0
- package/dist/components/core/solid-agent/useAgentChat.ts +57 -0
- package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js +15 -0
- package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultAssistantMessageChatWidget.tsx +24 -0
- package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js +15 -0
- package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultErrorChatWidget.tsx +28 -0
- package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js +20 -0
- package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultNoticeChatWidget.tsx +8 -0
- package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js +11 -0
- package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultThinkingChatWidget.tsx +16 -0
- package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js +67 -0
- package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx +135 -0
- package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js +24 -0
- package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx +17 -0
- package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts +8 -0
- package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js +30 -0
- package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx +77 -0
- package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js +40 -0
- package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx +57 -0
- package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js +13 -0
- package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx +19 -0
- package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js +55 -0
- package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidDiffListChatWidget.tsx +81 -0
- package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js +15 -0
- package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidGalleryChatWidget.tsx +30 -0
- package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js +15 -0
- package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidJsonChatWidget.tsx +21 -0
- package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js +21 -0
- package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidLinkCardChatWidget.tsx +33 -0
- package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js +11 -0
- package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidMarkdownChatWidget.tsx +9 -0
- package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts +15 -0
- package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js +26 -0
- package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidProgressChatWidget.tsx +42 -0
- package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js +41 -0
- package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidQuestionChatWidget.tsx +69 -0
- package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js +23 -0
- package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidStatusChatWidget.tsx +40 -0
- package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts +4 -0
- package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js +32 -0
- package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidTableChatWidget.tsx +55 -0
- package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts +7 -0
- package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js +17 -0
- package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/SolidToolActivityChatWidget.tsx +31 -0
- package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts +12 -0
- package/dist/components/core/solid-agent/widgets/chatWidgetUtils.d.ts.map +1 -0
- package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js +17 -0
- package/dist/components/core/solid-agent/widgets/chatWidgetUtils.js.map +1 -0
- package/dist/components/core/solid-agent/widgets/chatWidgetUtils.ts +19 -0
- package/dist/components/core/solid-agent/widgets/solidChatWidgets.module.css +909 -0
- package/dist/components/core/solid-ai/SolidAiChat.js +1 -1
- package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
- package/dist/components/core/solid-ai/SolidAiChat.tsx +2 -2
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +2 -1
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +2 -0
- package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.js +2 -2
- package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +19 -15
- package/dist/components/shad-cn-ui/SolidDialog.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.js +2 -2
- package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDialog.tsx +3 -0
- package/dist/components/shad-cn-ui/SolidIconPicker.d.ts +7 -0
- package/dist/components/shad-cn-ui/SolidIconPicker.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidIconPicker.js +43 -0
- package/dist/components/shad-cn-ui/SolidIconPicker.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidIconPicker.tsx +73 -0
- package/dist/components/shad-cn-ui/index.d.ts +1 -0
- package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/index.js +1 -0
- package/dist/components/shad-cn-ui/index.js.map +1 -1
- package/dist/components/shad-cn-ui/index.ts +1 -0
- package/dist/constants/allowed-ai-models.d.ts +8 -0
- package/dist/constants/allowed-ai-models.d.ts.map +1 -0
- package/dist/constants/allowed-ai-models.js +33 -0
- package/dist/constants/allowed-ai-models.js.map +1 -0
- package/dist/constants/allowed-ai-models.ts +39 -0
- package/dist/helpers/hydrateRelationRules.d.ts.map +1 -1
- package/dist/helpers/hydrateRelationRules.js +3 -1
- package/dist/helpers/hydrateRelationRules.js.map +1 -1
- package/dist/helpers/hydrateRelationRules.ts +5 -1
- package/dist/helpers/registry.d.ts +4 -2
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +75 -12
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +73 -16
- package/dist/helpers/updatePasswordField.d.ts.map +1 -1
- package/dist/helpers/updatePasswordField.js +21 -15
- package/dist/helpers/updatePasswordField.js.map +1 -1
- package/dist/helpers/updatePasswordField.ts +6 -1
- package/dist/index.d.ts +21 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/index.ts +34 -3
- package/dist/redux/api/fieldApi.js +1 -1
- package/dist/redux/api/fieldApi.js.map +1 -1
- package/dist/redux/api/fieldApi.ts +2 -2
- package/dist/redux/api/modelApi.d.ts +13 -13
- package/dist/redux/api/modelApi.d.ts.map +1 -1
- package/dist/redux/api/modelApi.js +15 -15
- package/dist/redux/api/modelApi.js.map +1 -1
- package/dist/redux/api/modelApi.ts +12 -15
- package/dist/redux/features/agentSlice.d.ts +34 -0
- package/dist/redux/features/agentSlice.d.ts.map +1 -0
- package/dist/redux/features/agentSlice.js +92 -0
- package/dist/redux/features/agentSlice.js.map +1 -0
- package/dist/redux/features/agentSlice.ts +119 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +11 -10
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +2 -0
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +2 -0
- package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
- package/dist/redux/store/solidEntityApiPool.js +7 -0
- package/dist/redux/store/solidEntityApiPool.js.map +1 -1
- package/dist/redux/store/solidEntityApiPool.ts +6 -0
- package/dist/resources/globals.css +109 -1
- package/dist/resources/solid-custom.css +295 -0
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.css +47 -0
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts +12 -0
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js +80 -0
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.js.map +1 -0
- package/dist/routes/pages/admin/core/AgentRegistryAuditPanel.tsx +123 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.css +110 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js +702 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.js.map +1 -0
- package/dist/routes/pages/admin/core/AgentRegistryEditorPage.tsx +630 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.css +303 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js +330 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.js.map +1 -0
- package/dist/routes/pages/admin/core/AgentSkillRegistryEditorPage.tsx +460 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.css +125 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js +295 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.js.map +1 -0
- package/dist/routes/pages/admin/core/AgentToolRegistryEditorPage.tsx +275 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +11 -11
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +1 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +15 -15
- package/dist/routes/pages/embed/AgentEmbedPage.d.ts +3 -0
- package/dist/routes/pages/embed/AgentEmbedPage.d.ts.map +1 -0
- package/dist/routes/pages/embed/AgentEmbedPage.js +170 -0
- package/dist/routes/pages/embed/AgentEmbedPage.js.map +1 -0
- package/dist/routes/pages/embed/AgentEmbedPage.module.css +195 -0
- package/dist/routes/pages/embed/AgentEmbedPage.tsx +169 -0
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +8 -0
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +8 -0
- package/dist/types/extension-registry.d.ts +4 -0
- package/dist/types/extension-registry.d.ts.map +1 -1
- package/dist/types/extension-registry.js +7 -0
- package/dist/types/extension-registry.js.map +1 -1
- package/dist/types/extension-registry.ts +7 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/list-row-action.d.ts +2 -0
- package/dist/types/list-row-action.d.ts.map +1 -1
- package/dist/types/list-row-action.js.map +1 -1
- package/dist/types/list-row-action.ts +3 -0
- package/dist/types/solid-core.d.ts +36 -0
- package/package.json +1 -1
package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SolidKanbanCardWidgetProps } from "../../../../../../types/solid-core";
|
|
2
|
+
/** Compact shared card renderer for agent skill and tool records. */
|
|
3
|
+
export declare function AgentResourceCardWidget({ rowData }: SolidKanbanCardWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=AgentResourceCardWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentResourceCardWidget.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAerF,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,0BAA0B,2CA8B9E"}
|
package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SolidMaterialSymbol } from "../../../../../common/SolidMaterialSymbol";
|
|
3
|
+
import styles from "./AgentRegistryCardWidget.module.css";
|
|
4
|
+
function toTags(value) {
|
|
5
|
+
if (Array.isArray(value))
|
|
6
|
+
return value.map(String).map(function (tag) { return tag.trim(); }).filter(Boolean);
|
|
7
|
+
if (typeof value !== "string" || !value.trim())
|
|
8
|
+
return [];
|
|
9
|
+
try {
|
|
10
|
+
var parsed = JSON.parse(value);
|
|
11
|
+
return Array.isArray(parsed) ? parsed.map(String).map(function (tag) { return tag.trim(); }).filter(Boolean) : [];
|
|
12
|
+
}
|
|
13
|
+
catch (_a) {
|
|
14
|
+
return value === "{}" ? [] : value.split(",").map(function (tag) { return tag.trim(); }).filter(Boolean);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Compact shared card renderer for agent skill and tool records. */
|
|
18
|
+
export function AgentResourceCardWidget(_a) {
|
|
19
|
+
var rowData = _a.rowData;
|
|
20
|
+
var iconName = typeof (rowData === null || rowData === void 0 ? void 0 : rowData.iconName) === "string" && rowData.iconName.trim()
|
|
21
|
+
? rowData.iconName.trim()
|
|
22
|
+
: (rowData === null || rowData === void 0 ? void 0 : rowData.type) ? "build" : "psychology";
|
|
23
|
+
var name = typeof (rowData === null || rowData === void 0 ? void 0 : rowData.name) === "string" && rowData.name.trim() ? rowData.name.trim() : "Untitled";
|
|
24
|
+
var description = typeof (rowData === null || rowData === void 0 ? void 0 : rowData.description) === "string" ? rowData.description.trim() : "";
|
|
25
|
+
var tags = toTags(rowData === null || rowData === void 0 ? void 0 : rowData.tags);
|
|
26
|
+
var status = typeof (rowData === null || rowData === void 0 ? void 0 : rowData.status) === "string" && rowData.status.trim() ? rowData.status.trim() : "";
|
|
27
|
+
var loadError = status === "load_failed" && typeof (rowData === null || rowData === void 0 ? void 0 : rowData.lastLoadError) === "string"
|
|
28
|
+
? rowData.lastLoadError.trim()
|
|
29
|
+
: "";
|
|
30
|
+
var kind = typeof (rowData === null || rowData === void 0 ? void 0 : rowData.type) === "string" && rowData.type.trim() ? rowData.type.trim() : "";
|
|
31
|
+
return (_jsxs("article", { className: styles.card, children: [_jsxs("div", { className: styles.header, children: [_jsx("div", { className: styles.iconBadge, "aria-label": "".concat(name, " icon"), children: _jsx(SolidMaterialSymbol, { name: iconName, size: 22, "aria-hidden": "true" }) }), status && _jsx("span", { className: "".concat(styles.status, " ").concat(styles["status_".concat(status.toLowerCase().replace(/[^a-z0-9]+/g, "_"))] || ""), children: status.replace(/[_-]+/g, " ") })] }), _jsx("div", { className: styles.heading, children: _jsx("h3", { className: styles.title, title: name, children: name }) }), _jsx("p", { className: styles.description, title: description || undefined, children: description || "No description provided." }), loadError && _jsx("p", { className: styles.loadError, title: loadError, children: loadError }), (kind || tags.length > 0) && _jsxs("div", { className: styles.footer, children: [_jsx("div", { className: styles.meta, children: kind && _jsx("span", { className: styles.badge, children: kind.replace(/[_-]+/g, " ") }) }), tags.length > 0 && _jsx("div", { className: styles.tags, children: tags.slice(0, 3).map(function (tag) { return _jsx("span", { className: styles.tag, children: tag }, tag); }) })] })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AgentResourceCardWidget.js.map
|
package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentResourceCardWidget.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { SolidKanbanCardWidgetProps } from \"../../../../../../types/solid-core\";\nimport { SolidMaterialSymbol } from \"../../../../../common/SolidMaterialSymbol\";\nimport styles from \"./AgentRegistryCardWidget.module.css\";\n\nfunction toTags(value: unknown): string[] {\n if (Array.isArray(value)) return value.map(String).map((tag) => tag.trim()).filter(Boolean);\n if (typeof value !== \"string\" || !value.trim()) return [];\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed.map(String).map((tag) => tag.trim()).filter(Boolean) : [];\n } catch {\n return value === \"{}\" ? [] : value.split(\",\").map((tag) => tag.trim()).filter(Boolean);\n }\n}\n\n/** Compact shared card renderer for agent skill and tool records. */\nexport function AgentResourceCardWidget({ rowData }: SolidKanbanCardWidgetProps) {\n const iconName = typeof rowData?.iconName === \"string\" && rowData.iconName.trim()\n ? rowData.iconName.trim()\n : rowData?.type ? \"build\" : \"psychology\";\n const name = typeof rowData?.name === \"string\" && rowData.name.trim() ? rowData.name.trim() : \"Untitled\";\n const description = typeof rowData?.description === \"string\" ? rowData.description.trim() : \"\";\n const tags = toTags(rowData?.tags);\n const status = typeof rowData?.status === \"string\" && rowData.status.trim() ? rowData.status.trim() : \"\";\n const loadError = status === \"load_failed\" && typeof rowData?.lastLoadError === \"string\"\n ? rowData.lastLoadError.trim()\n : \"\";\n const kind = typeof rowData?.type === \"string\" && rowData.type.trim() ? rowData.type.trim() : \"\";\n\n return (\n <article className={styles.card}>\n <div className={styles.header}>\n <div className={styles.iconBadge} aria-label={`${name} icon`}>\n <SolidMaterialSymbol name={iconName} size={22} aria-hidden=\"true\" />\n </div>\n {status && <span className={`${styles.status} ${styles[`status_${status.toLowerCase().replace(/[^a-z0-9]+/g, \"_\")}`] || \"\"}`}>{status.replace(/[_-]+/g, \" \")}</span>}\n </div>\n <div className={styles.heading}><h3 className={styles.title} title={name}>{name}</h3></div>\n <p className={styles.description} title={description || undefined}>{description || \"No description provided.\"}</p>\n {loadError && <p className={styles.loadError} title={loadError}>{loadError}</p>}\n {(kind || tags.length > 0) && <div className={styles.footer}>\n <div className={styles.meta}>{kind && <span className={styles.badge}>{kind.replace(/[_-]+/g, \" \")}</span>}</div>\n {tags.length > 0 && <div className={styles.tags}>{tags.slice(0, 3).map((tag) => <span className={styles.tag} key={tag}>{tag}</span>)}</div>}\n </div>}\n </article>\n );\n}\n"]}
|
package/dist/components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget.tsx
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { SolidKanbanCardWidgetProps } from "../../../../../../types/solid-core";
|
|
2
|
+
import { SolidMaterialSymbol } from "../../../../../common/SolidMaterialSymbol";
|
|
3
|
+
import styles from "./AgentRegistryCardWidget.module.css";
|
|
4
|
+
|
|
5
|
+
function toTags(value: unknown): string[] {
|
|
6
|
+
if (Array.isArray(value)) return value.map(String).map((tag) => tag.trim()).filter(Boolean);
|
|
7
|
+
if (typeof value !== "string" || !value.trim()) return [];
|
|
8
|
+
try {
|
|
9
|
+
const parsed = JSON.parse(value);
|
|
10
|
+
return Array.isArray(parsed) ? parsed.map(String).map((tag) => tag.trim()).filter(Boolean) : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return value === "{}" ? [] : value.split(",").map((tag) => tag.trim()).filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** Compact shared card renderer for agent skill and tool records. */
|
|
17
|
+
export function AgentResourceCardWidget({ rowData }: SolidKanbanCardWidgetProps) {
|
|
18
|
+
const iconName = typeof rowData?.iconName === "string" && rowData.iconName.trim()
|
|
19
|
+
? rowData.iconName.trim()
|
|
20
|
+
: rowData?.type ? "build" : "psychology";
|
|
21
|
+
const name = typeof rowData?.name === "string" && rowData.name.trim() ? rowData.name.trim() : "Untitled";
|
|
22
|
+
const description = typeof rowData?.description === "string" ? rowData.description.trim() : "";
|
|
23
|
+
const tags = toTags(rowData?.tags);
|
|
24
|
+
const status = typeof rowData?.status === "string" && rowData.status.trim() ? rowData.status.trim() : "";
|
|
25
|
+
const loadError = status === "load_failed" && typeof rowData?.lastLoadError === "string"
|
|
26
|
+
? rowData.lastLoadError.trim()
|
|
27
|
+
: "";
|
|
28
|
+
const kind = typeof rowData?.type === "string" && rowData.type.trim() ? rowData.type.trim() : "";
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<article className={styles.card}>
|
|
32
|
+
<div className={styles.header}>
|
|
33
|
+
<div className={styles.iconBadge} aria-label={`${name} icon`}>
|
|
34
|
+
<SolidMaterialSymbol name={iconName} size={22} aria-hidden="true" />
|
|
35
|
+
</div>
|
|
36
|
+
{status && <span className={`${styles.status} ${styles[`status_${status.toLowerCase().replace(/[^a-z0-9]+/g, "_")}`] || ""}`}>{status.replace(/[_-]+/g, " ")}</span>}
|
|
37
|
+
</div>
|
|
38
|
+
<div className={styles.heading}><h3 className={styles.title} title={name}>{name}</h3></div>
|
|
39
|
+
<p className={styles.description} title={description || undefined}>{description || "No description provided."}</p>
|
|
40
|
+
{loadError && <p className={styles.loadError} title={loadError}>{loadError}</p>}
|
|
41
|
+
{(kind || tags.length > 0) && <div className={styles.footer}>
|
|
42
|
+
<div className={styles.meta}>{kind && <span className={styles.badge}>{kind.replace(/[_-]+/g, " ")}</span>}</div>
|
|
43
|
+
{tags.length > 0 && <div className={styles.tags}>{tags.slice(0, 3).map((tag) => <span className={styles.tag} key={tag}>{tag}</span>)}</div>}
|
|
44
|
+
</div>}
|
|
45
|
+
</article>
|
|
46
|
+
);
|
|
47
|
+
}
|
package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProcessesPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,2CAgE7G"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { AlertCircle, Clock3, RefreshCw, Search } from "lucide-react";
|
|
4
|
+
import { createSolidEntityApi } from "../../../../../redux/api/solidEntityApi";
|
|
5
|
+
import { SolidInput } from "../../../../shad-cn-ui";
|
|
6
|
+
import { AgentSessionsPanel } from "./AgentToolSessionsPanel";
|
|
7
|
+
function processQuery(agentId) {
|
|
8
|
+
return "offset=0&limit=1000&sort[0]=startedAt%3Adesc&filters[agent][id][$eq]=".concat(encodeURIComponent(String(agentId)));
|
|
9
|
+
}
|
|
10
|
+
export function AgentProcessesPanel(_a) {
|
|
11
|
+
var agentId = _a.agentId, agentLabel = _a.agentLabel;
|
|
12
|
+
var processApi = React.useMemo(function () { return createSolidEntityApi("agentProcess"); }, []);
|
|
13
|
+
var fetchProcesses = processApi.useLazyGetSolidEntitiesQuery()[0];
|
|
14
|
+
var _b = React.useState([]), processes = _b[0], setProcesses = _b[1];
|
|
15
|
+
var _c = React.useState(null), selectedProcessId = _c[0], setSelectedProcessId = _c[1];
|
|
16
|
+
var _d = React.useState(""), search = _d[0], setSearch = _d[1];
|
|
17
|
+
var _e = React.useState(true), loading = _e[0], setLoading = _e[1];
|
|
18
|
+
var _f = React.useState(false), error = _f[0], setError = _f[1];
|
|
19
|
+
var _g = React.useState(0), refreshVersion = _g[0], setRefreshVersion = _g[1];
|
|
20
|
+
React.useEffect(function () {
|
|
21
|
+
var alive = true;
|
|
22
|
+
setLoading(true);
|
|
23
|
+
setError(false);
|
|
24
|
+
void fetchProcesses(processQuery(agentId), false).unwrap().then(function (result) {
|
|
25
|
+
if (!alive)
|
|
26
|
+
return;
|
|
27
|
+
var records = Array.isArray(result === null || result === void 0 ? void 0 : result.records) ? result.records : [];
|
|
28
|
+
setProcesses(records);
|
|
29
|
+
setSelectedProcessId(function (current) { var _a, _b; return records.some(function (process) { return process.id === current; }) ? current : (_b = (_a = records[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : null; });
|
|
30
|
+
}).catch(function () {
|
|
31
|
+
if (!alive)
|
|
32
|
+
return;
|
|
33
|
+
setProcesses([]);
|
|
34
|
+
setSelectedProcessId(null);
|
|
35
|
+
setError(true);
|
|
36
|
+
}).finally(function () { if (alive)
|
|
37
|
+
setLoading(false); });
|
|
38
|
+
return function () { alive = false; };
|
|
39
|
+
}, [agentId, fetchProcesses, refreshVersion]);
|
|
40
|
+
var selectedProcess = processes.find(function (process) { return process.id === selectedProcessId; });
|
|
41
|
+
var query = search.trim().toLowerCase();
|
|
42
|
+
var visibleProcesses = processes.filter(function (process) {
|
|
43
|
+
return [process.id, process.processId, process.status].some(function (value) { return String(value !== null && value !== void 0 ? value : "").toLowerCase().includes(query); });
|
|
44
|
+
});
|
|
45
|
+
return _jsxs("section", { className: "agent-process-view", "aria-label": "Processes, sessions and events", children: [_jsxs("aside", { className: "agent-process-view__processes", children: [_jsxs("header", { className: "agent-tool-editor__sessions-sidebar-head", children: [_jsxs("div", { className: "agent-tool-editor__sessions-heading", children: [_jsx("h2", { children: "Processes" }), _jsx("button", { type: "button", className: "agent-tool-editor__refresh".concat(loading ? " is-loading" : ""), "aria-label": "Refresh processes", title: "Refresh processes", disabled: loading, onClick: function () { return setRefreshVersion(function (version) { return version + 1; }); }, children: _jsx(RefreshCw, { size: 13 }) }), _jsxs("span", { children: [visibleProcesses.length, visibleProcesses.length !== processes.length ? " / ".concat(processes.length) : ""] })] }), _jsx("p", { children: "Browse processes for this agent." }), _jsxs("label", { className: "agent-tool-editor__session-search", children: [_jsx("span", { className: "sr-only", children: "Find a process" }), _jsx(Search, { size: 14 }), _jsx(SolidInput, { value: search, placeholder: "Find a process\u2026", onChange: function (event) { return setSearch(event.target.value); } })] })] }), _jsx("div", { className: "agent-tool-editor__session-list", role: "listbox", "aria-label": "Processes", children: loading ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "Loading processes\u2026" })
|
|
46
|
+
: error ? _jsxs("p", { className: "agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error", children: [_jsx(AlertCircle, { size: 15 }), " Could not load processes."] })
|
|
47
|
+
: processes.length === 0 ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "No processes found for this agent." })
|
|
48
|
+
: visibleProcesses.length === 0 ? _jsx("p", { className: "agent-tool-editor__sessions-message", children: "No processes match this search." })
|
|
49
|
+
: visibleProcesses.map(function (process) {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
var label = "#".concat(process.id);
|
|
52
|
+
var status = (_a = process.status) !== null && _a !== void 0 ? _a : "Unknown";
|
|
53
|
+
var started = process.startedAt ? new Date(process.startedAt) : null;
|
|
54
|
+
var startedLabel = started && !Number.isNaN(started.getTime()) ? started.toLocaleString() : "Start time unknown";
|
|
55
|
+
return _jsxs("button", { type: "button", role: "option", "aria-selected": process.id === selectedProcessId, className: "agent-tool-editor__session-item".concat(process.id === selectedProcessId ? " is-selected" : ""), title: (_b = process.processId) !== null && _b !== void 0 ? _b : label, onClick: function () { return setSelectedProcessId(process.id); }, children: [_jsx("span", { className: "agent-tool-editor__session-item-id", children: label }), _jsx("span", { className: "agent-tool-editor__session-item-meta", children: _jsxs("span", { children: [_jsx(Clock3, { size: 12 }), " ", startedLabel] }) }), _jsx("span", { className: "agent-tool-editor__session-status".concat(status === "ready" ? " is-running" : ""), children: status })] }, process.id);
|
|
56
|
+
}) })] }), selectedProcess ? _jsx(AgentSessionsPanel, { agentId: agentId, agentLabel: agentLabel, processId: selectedProcess.id, processLabel: "#".concat(selectedProcess.id) }, selectedProcess.id)
|
|
57
|
+
: _jsx("div", { className: "agent-process-view__empty", children: loading ? "Loading processes…" : error ? "Processes could not be loaded." : "Select a process to inspect its sessions and events." })] });
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=AgentProcessesPanel.js.map
|
package/dist/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentProcessesPanel.js","sourceRoot":"","sources":["../../../../../../src/components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { AlertCircle, Clock3, RefreshCw, Search } from \"lucide-react\";\nimport { createSolidEntityApi } from \"../../../../../redux/api/solidEntityApi\";\nimport { SolidInput } from \"../../../../shad-cn-ui\";\nimport { AgentSessionsPanel } from \"./AgentToolSessionsPanel\";\n\ntype ProcessRecord = {\n id: number;\n processId?: string | null;\n status?: string | null;\n startedAt?: string | null;\n};\n\nfunction processQuery(agentId: number | string): string {\n return `offset=0&limit=1000&sort[0]=startedAt%3Adesc&filters[agent][id][$eq]=${encodeURIComponent(String(agentId))}`;\n}\n\nexport function AgentProcessesPanel({ agentId, agentLabel }: { agentId: number | string; agentLabel?: string }) {\n const processApi = React.useMemo(() => createSolidEntityApi(\"agentProcess\"), []);\n const [fetchProcesses] = processApi.useLazyGetSolidEntitiesQuery();\n const [processes, setProcesses] = React.useState<ProcessRecord[]>([]);\n const [selectedProcessId, setSelectedProcessId] = React.useState<number | null>(null);\n const [search, setSearch] = React.useState(\"\");\n const [loading, setLoading] = React.useState(true);\n const [error, setError] = React.useState(false);\n const [refreshVersion, setRefreshVersion] = React.useState(0);\n\n React.useEffect(() => {\n let alive = true;\n setLoading(true);\n setError(false);\n void fetchProcesses(processQuery(agentId), false).unwrap().then((result: any) => {\n if (!alive) return;\n const records = Array.isArray(result?.records) ? result.records as ProcessRecord[] : [];\n setProcesses(records);\n setSelectedProcessId((current) => records.some((process) => process.id === current) ? current : records[0]?.id ?? null);\n }).catch(() => {\n if (!alive) return;\n setProcesses([]);\n setSelectedProcessId(null);\n setError(true);\n }).finally(() => { if (alive) setLoading(false); });\n return () => { alive = false; };\n }, [agentId, fetchProcesses, refreshVersion]);\n\n const selectedProcess = processes.find((process) => process.id === selectedProcessId);\n const query = search.trim().toLowerCase();\n const visibleProcesses = processes.filter((process) =>\n [process.id, process.processId, process.status].some((value) => String(value ?? \"\").toLowerCase().includes(query)));\n\n return <section className=\"agent-process-view\" aria-label=\"Processes, sessions and events\">\n <aside className=\"agent-process-view__processes\">\n <header className=\"agent-tool-editor__sessions-sidebar-head\">\n <div className=\"agent-tool-editor__sessions-heading\"><h2>Processes</h2><button type=\"button\" className={`agent-tool-editor__refresh${loading ? \" is-loading\" : \"\"}`} aria-label=\"Refresh processes\" title=\"Refresh processes\" disabled={loading} onClick={() => setRefreshVersion((version) => version + 1)}><RefreshCw size={13} /></button><span>{visibleProcesses.length}{visibleProcesses.length !== processes.length ? ` / ${processes.length}` : \"\"}</span></div>\n <p>Browse processes for this agent.</p>\n <label className=\"agent-tool-editor__session-search\"><span className=\"sr-only\">Find a process</span><Search size={14} /><SolidInput value={search} placeholder=\"Find a process…\" onChange={(event: React.ChangeEvent<HTMLInputElement>) => setSearch(event.target.value)} /></label>\n </header>\n <div className=\"agent-tool-editor__session-list\" role=\"listbox\" aria-label=\"Processes\">\n {loading ? <p className=\"agent-tool-editor__sessions-message\">Loading processes…</p>\n : error ? <p className=\"agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error\"><AlertCircle size={15} /> Could not load processes.</p>\n : processes.length === 0 ? <p className=\"agent-tool-editor__sessions-message\">No processes found for this agent.</p>\n : visibleProcesses.length === 0 ? <p className=\"agent-tool-editor__sessions-message\">No processes match this search.</p>\n : visibleProcesses.map((process) => {\n const label = `#${process.id}`;\n const status = process.status ?? \"Unknown\";\n const started = process.startedAt ? new Date(process.startedAt) : null;\n const startedLabel = started && !Number.isNaN(started.getTime()) ? started.toLocaleString() : \"Start time unknown\";\n return <button key={process.id} type=\"button\" role=\"option\" aria-selected={process.id === selectedProcessId}\n className={`agent-tool-editor__session-item${process.id === selectedProcessId ? \" is-selected\" : \"\"}`}\n title={process.processId ?? label} onClick={() => setSelectedProcessId(process.id)}>\n <span className=\"agent-tool-editor__session-item-id\">{label}</span>\n <span className=\"agent-tool-editor__session-item-meta\"><span><Clock3 size={12} /> {startedLabel}</span></span>\n <span className={`agent-tool-editor__session-status${status === \"ready\" ? \" is-running\" : \"\"}`}>{status}</span>\n </button>;\n })}\n </div>\n </aside>\n {selectedProcess ? <AgentSessionsPanel key={selectedProcess.id} agentId={agentId} agentLabel={agentLabel}\n processId={selectedProcess.id} processLabel={`#${selectedProcess.id}`} />\n : <div className=\"agent-process-view__empty\">{loading ? \"Loading processes…\" : error ? \"Processes could not be loaded.\" : \"Select a process to inspect its sessions and events.\"}</div>}\n </section>;\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AlertCircle, Clock3, RefreshCw, Search } from "lucide-react";
|
|
3
|
+
import { createSolidEntityApi } from "../../../../../redux/api/solidEntityApi";
|
|
4
|
+
import { SolidInput } from "../../../../shad-cn-ui";
|
|
5
|
+
import { AgentSessionsPanel } from "./AgentToolSessionsPanel";
|
|
6
|
+
|
|
7
|
+
type ProcessRecord = {
|
|
8
|
+
id: number;
|
|
9
|
+
processId?: string | null;
|
|
10
|
+
status?: string | null;
|
|
11
|
+
startedAt?: string | null;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
function processQuery(agentId: number | string): string {
|
|
15
|
+
return `offset=0&limit=1000&sort[0]=startedAt%3Adesc&filters[agent][id][$eq]=${encodeURIComponent(String(agentId))}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function AgentProcessesPanel({ agentId, agentLabel }: { agentId: number | string; agentLabel?: string }) {
|
|
19
|
+
const processApi = React.useMemo(() => createSolidEntityApi("agentProcess"), []);
|
|
20
|
+
const [fetchProcesses] = processApi.useLazyGetSolidEntitiesQuery();
|
|
21
|
+
const [processes, setProcesses] = React.useState<ProcessRecord[]>([]);
|
|
22
|
+
const [selectedProcessId, setSelectedProcessId] = React.useState<number | null>(null);
|
|
23
|
+
const [search, setSearch] = React.useState("");
|
|
24
|
+
const [loading, setLoading] = React.useState(true);
|
|
25
|
+
const [error, setError] = React.useState(false);
|
|
26
|
+
const [refreshVersion, setRefreshVersion] = React.useState(0);
|
|
27
|
+
|
|
28
|
+
React.useEffect(() => {
|
|
29
|
+
let alive = true;
|
|
30
|
+
setLoading(true);
|
|
31
|
+
setError(false);
|
|
32
|
+
void fetchProcesses(processQuery(agentId), false).unwrap().then((result: any) => {
|
|
33
|
+
if (!alive) return;
|
|
34
|
+
const records = Array.isArray(result?.records) ? result.records as ProcessRecord[] : [];
|
|
35
|
+
setProcesses(records);
|
|
36
|
+
setSelectedProcessId((current) => records.some((process) => process.id === current) ? current : records[0]?.id ?? null);
|
|
37
|
+
}).catch(() => {
|
|
38
|
+
if (!alive) return;
|
|
39
|
+
setProcesses([]);
|
|
40
|
+
setSelectedProcessId(null);
|
|
41
|
+
setError(true);
|
|
42
|
+
}).finally(() => { if (alive) setLoading(false); });
|
|
43
|
+
return () => { alive = false; };
|
|
44
|
+
}, [agentId, fetchProcesses, refreshVersion]);
|
|
45
|
+
|
|
46
|
+
const selectedProcess = processes.find((process) => process.id === selectedProcessId);
|
|
47
|
+
const query = search.trim().toLowerCase();
|
|
48
|
+
const visibleProcesses = processes.filter((process) =>
|
|
49
|
+
[process.id, process.processId, process.status].some((value) => String(value ?? "").toLowerCase().includes(query)));
|
|
50
|
+
|
|
51
|
+
return <section className="agent-process-view" aria-label="Processes, sessions and events">
|
|
52
|
+
<aside className="agent-process-view__processes">
|
|
53
|
+
<header className="agent-tool-editor__sessions-sidebar-head">
|
|
54
|
+
<div className="agent-tool-editor__sessions-heading"><h2>Processes</h2><button type="button" className={`agent-tool-editor__refresh${loading ? " is-loading" : ""}`} aria-label="Refresh processes" title="Refresh processes" disabled={loading} onClick={() => setRefreshVersion((version) => version + 1)}><RefreshCw size={13} /></button><span>{visibleProcesses.length}{visibleProcesses.length !== processes.length ? ` / ${processes.length}` : ""}</span></div>
|
|
55
|
+
<p>Browse processes for this agent.</p>
|
|
56
|
+
<label className="agent-tool-editor__session-search"><span className="sr-only">Find a process</span><Search size={14} /><SolidInput value={search} placeholder="Find a process…" onChange={(event: React.ChangeEvent<HTMLInputElement>) => setSearch(event.target.value)} /></label>
|
|
57
|
+
</header>
|
|
58
|
+
<div className="agent-tool-editor__session-list" role="listbox" aria-label="Processes">
|
|
59
|
+
{loading ? <p className="agent-tool-editor__sessions-message">Loading processes…</p>
|
|
60
|
+
: error ? <p className="agent-tool-editor__sessions-message agent-tool-editor__sessions-message--error"><AlertCircle size={15} /> Could not load processes.</p>
|
|
61
|
+
: processes.length === 0 ? <p className="agent-tool-editor__sessions-message">No processes found for this agent.</p>
|
|
62
|
+
: visibleProcesses.length === 0 ? <p className="agent-tool-editor__sessions-message">No processes match this search.</p>
|
|
63
|
+
: visibleProcesses.map((process) => {
|
|
64
|
+
const label = `#${process.id}`;
|
|
65
|
+
const status = process.status ?? "Unknown";
|
|
66
|
+
const started = process.startedAt ? new Date(process.startedAt) : null;
|
|
67
|
+
const startedLabel = started && !Number.isNaN(started.getTime()) ? started.toLocaleString() : "Start time unknown";
|
|
68
|
+
return <button key={process.id} type="button" role="option" aria-selected={process.id === selectedProcessId}
|
|
69
|
+
className={`agent-tool-editor__session-item${process.id === selectedProcessId ? " is-selected" : ""}`}
|
|
70
|
+
title={process.processId ?? label} onClick={() => setSelectedProcessId(process.id)}>
|
|
71
|
+
<span className="agent-tool-editor__session-item-id">{label}</span>
|
|
72
|
+
<span className="agent-tool-editor__session-item-meta"><span><Clock3 size={12} /> {startedLabel}</span></span>
|
|
73
|
+
<span className={`agent-tool-editor__session-status${status === "ready" ? " is-running" : ""}`}>{status}</span>
|
|
74
|
+
</button>;
|
|
75
|
+
})}
|
|
76
|
+
</div>
|
|
77
|
+
</aside>
|
|
78
|
+
{selectedProcess ? <AgentSessionsPanel key={selectedProcess.id} agentId={agentId} agentLabel={agentLabel}
|
|
79
|
+
processId={selectedProcess.id} processLabel={`#${selectedProcess.id}`} />
|
|
80
|
+
: <div className="agent-process-view__empty">{loading ? "Loading processes…" : error ? "Processes could not be loaded." : "Select a process to inspect its sessions and events."}</div>}
|
|
81
|
+
</section>;
|
|
82
|
+
}
|
package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "../../../../../routes/pages/admin/core/AgentToolRegistryEditorPage.css";
|
|
2
|
+
type AgentOption = {
|
|
3
|
+
id: number | string;
|
|
4
|
+
name?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
};
|
|
7
|
+
type Props = {
|
|
8
|
+
agents?: AgentOption[];
|
|
9
|
+
agentId?: number | string;
|
|
10
|
+
agentLabel?: string;
|
|
11
|
+
processId?: number;
|
|
12
|
+
processLabel?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function AgentSessionsPanel({ agents, agentId, agentLabel, processId, processLabel }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const AgentToolSessionsPanel: typeof AgentSessionsPanel;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=AgentToolSessionsPanel.d.ts.map
|
package/dist/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentToolSessionsPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,wEAAwE,CAAC;AAEhF,KAAK,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAoD1E,KAAK,KAAK,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAKnI,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,2CA0NjG;AAED,eAAO,MAAM,sBAAsB,2BAAqB,CAAC"}
|
|
@@ -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
|