@solidxai/core-ui 0.1.19-beta.0 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatting helpers shared by the live event reducer and history replay.
|
|
3
|
+
* Ported from the agent-ui chat (SolidX Agent repo) so tool rows read the same.
|
|
4
|
+
*/
|
|
5
|
+
/** Category shown as the tool card badge ("Context", "Build", ...). */
|
|
6
|
+
export declare function toolCategory(name: string): string;
|
|
7
|
+
export declare function toolDisplayName(name: string, args?: Record<string, unknown>): string;
|
|
8
|
+
/** One-line summary of a tool call's arguments for the collapsed tool row. */
|
|
9
|
+
export declare function describeToolArgs(args?: Record<string, unknown>, toolName?: string): string;
|
|
10
|
+
export declare function formatDuration(ms?: number): string;
|
|
11
|
+
/** Extracts a status and short display text from a tool's (often nested-JSON) output. */
|
|
12
|
+
export declare function parseToolResult(output: string): {
|
|
13
|
+
status: "success" | "warning" | "error";
|
|
14
|
+
text: string;
|
|
15
|
+
};
|
|
16
|
+
/** Token counts, model names and similar bookkeeping the agent emits as text; never shown as chat. */
|
|
17
|
+
export declare function isLlmMetadata(content: string): boolean;
|
|
18
|
+
//# sourceMappingURL=agentFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentFormat.d.ts","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/agentFormat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAKpF;AA6BD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgC9F;AAED,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAsCzG;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMtD"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatting helpers shared by the live event reducer and history replay.
|
|
3
|
+
* Ported from the agent-ui chat (SolidX Agent repo) so tool rows read the same.
|
|
4
|
+
*/
|
|
5
|
+
var TOOL_DISPLAY_NAMES = {
|
|
6
|
+
manage_data_model: "Manage Data Model",
|
|
7
|
+
discover_ui_selectors: "Discover UI Selectors",
|
|
8
|
+
manage_metadata: "Manage Metadata",
|
|
9
|
+
get_metadata: "Get Metadata",
|
|
10
|
+
run_solidctl: "Run SolidCTL",
|
|
11
|
+
introspect_database: "Introspect Database",
|
|
12
|
+
run_read_only_sql: "Run Read-Only SQL",
|
|
13
|
+
content_crud: "Content CRUD",
|
|
14
|
+
filesystem_tool: "File System",
|
|
15
|
+
bash: "Run Command",
|
|
16
|
+
};
|
|
17
|
+
var FILESYSTEM_ACTIONS = { read: "Read", write: "Write", edit: "Edit", search: "Search" };
|
|
18
|
+
var TOOL_CATEGORIES = {
|
|
19
|
+
Context: ["introspect_database", "get_metadata", "run_read_only_sql"],
|
|
20
|
+
Build: ["manage_data_model", "manage_metadata", "content_crud"],
|
|
21
|
+
Files: ["filesystem_tool"],
|
|
22
|
+
Testing: ["discover_ui_selectors"],
|
|
23
|
+
Deploy: ["run_solidctl"],
|
|
24
|
+
Terminal: ["bash"],
|
|
25
|
+
};
|
|
26
|
+
/** Category shown as the tool card badge ("Context", "Build", ...). */
|
|
27
|
+
export function toolCategory(name) {
|
|
28
|
+
for (var _i = 0, _a = Object.entries(TOOL_CATEGORIES); _i < _a.length; _i++) {
|
|
29
|
+
var _b = _a[_i], category = _b[0], tools = _b[1];
|
|
30
|
+
if (tools.includes(name))
|
|
31
|
+
return category;
|
|
32
|
+
}
|
|
33
|
+
return "Tool";
|
|
34
|
+
}
|
|
35
|
+
export function toolDisplayName(name, args) {
|
|
36
|
+
var _a, _b, _c;
|
|
37
|
+
if (name === "filesystem_tool" && typeof (args === null || args === void 0 ? void 0 : args.action) === "string") {
|
|
38
|
+
return (_b = (_a = FILESYSTEM_ACTIONS[args.action]) !== null && _a !== void 0 ? _a : TOOL_DISPLAY_NAMES[name]) !== null && _b !== void 0 ? _b : name;
|
|
39
|
+
}
|
|
40
|
+
return (_c = TOOL_DISPLAY_NAMES[name]) !== null && _c !== void 0 ? _c : name;
|
|
41
|
+
}
|
|
42
|
+
var truncate = function (text, max) {
|
|
43
|
+
if (max === void 0) { max = 80; }
|
|
44
|
+
return (text.length > max ? "".concat(text.slice(0, max), "\u2026") : text);
|
|
45
|
+
};
|
|
46
|
+
function oneLine(value) {
|
|
47
|
+
var _a;
|
|
48
|
+
var text;
|
|
49
|
+
if (typeof value === "string") {
|
|
50
|
+
text = value;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
try {
|
|
54
|
+
text = (_a = JSON.stringify(value)) !== null && _a !== void 0 ? _a : String(value);
|
|
55
|
+
}
|
|
56
|
+
catch (_b) {
|
|
57
|
+
text = "[unserializable value]";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return text.trim().replace(/\s+/g, " ");
|
|
61
|
+
}
|
|
62
|
+
function humanizeCommand(cmd) {
|
|
63
|
+
var trimmed = cmd.trim();
|
|
64
|
+
var verbs = [
|
|
65
|
+
["cat ", "Read "], ["find ", "Search files: "], ["grep ", "Search content: "], ["ls ", "List "],
|
|
66
|
+
["cd ", "Navigate to "], ["mkdir ", "Create folder "], ["rm ", "Remove "], ["cp ", "Copy "], ["mv ", "Move "],
|
|
67
|
+
];
|
|
68
|
+
for (var _i = 0, verbs_1 = verbs; _i < verbs_1.length; _i++) {
|
|
69
|
+
var _a = verbs_1[_i], prefix = _a[0], label = _a[1];
|
|
70
|
+
if (trimmed.startsWith(prefix))
|
|
71
|
+
return label + trimmed.slice(prefix.length).trim();
|
|
72
|
+
}
|
|
73
|
+
return trimmed;
|
|
74
|
+
}
|
|
75
|
+
/** One-line summary of a tool call's arguments for the collapsed tool row. */
|
|
76
|
+
export function describeToolArgs(args, toolName) {
|
|
77
|
+
if (args === void 0) { args = {}; }
|
|
78
|
+
if (toolName === "filesystem_tool") {
|
|
79
|
+
var path = args.path != null ? oneLine(args.path) : "";
|
|
80
|
+
if (args.action === "read" && path) {
|
|
81
|
+
if (args.start_line != null && args.end_line != null)
|
|
82
|
+
return truncate("".concat(path, ":").concat(args.start_line, "-").concat(args.end_line));
|
|
83
|
+
return truncate(path);
|
|
84
|
+
}
|
|
85
|
+
if (args.action === "search") {
|
|
86
|
+
var query = args.query != null ? oneLine(args.query) : "";
|
|
87
|
+
var glob = args.glob != null ? oneLine(args.glob) : "";
|
|
88
|
+
if (query && glob)
|
|
89
|
+
return truncate("\"".concat(query, "\" in ").concat(glob));
|
|
90
|
+
if (query)
|
|
91
|
+
return truncate("\"".concat(query, "\""));
|
|
92
|
+
if (glob)
|
|
93
|
+
return truncate(glob);
|
|
94
|
+
}
|
|
95
|
+
if (args.action === "edit" && path) {
|
|
96
|
+
var edits = Array.isArray(args.edits) ? args.edits.length : null;
|
|
97
|
+
return truncate(edits != null ? "".concat(path, " (").concat(edits, " edit").concat(edits === 1 ? "" : "s", ")") : path);
|
|
98
|
+
}
|
|
99
|
+
for (var _i = 0, _a = ["path", "query", "file"]; _i < _a.length; _i++) {
|
|
100
|
+
var key = _a[_i];
|
|
101
|
+
if (args[key] != null)
|
|
102
|
+
return truncate(oneLine(args[key]));
|
|
103
|
+
}
|
|
104
|
+
return "";
|
|
105
|
+
}
|
|
106
|
+
if (args.action && args.prompt)
|
|
107
|
+
return truncate("".concat(oneLine(args.action), ": ").concat(oneLine(args.prompt)));
|
|
108
|
+
for (var _b = 0, _c = ["action", "prompt", "cmd", "command", "query", "path", "file", "module_name", "model_name", "name", "id", "content"]; _b < _c.length; _b++) {
|
|
109
|
+
var key = _c[_b];
|
|
110
|
+
if (args[key] != null) {
|
|
111
|
+
var value = oneLine(args[key]);
|
|
112
|
+
return truncate(key === "cmd" || key === "command" ? humanizeCommand(value) : value, 72);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
var first = Object.values(args)[0];
|
|
116
|
+
return first != null ? truncate(oneLine(first), 72) : "";
|
|
117
|
+
}
|
|
118
|
+
export function formatDuration(ms) {
|
|
119
|
+
if (ms == null)
|
|
120
|
+
return "";
|
|
121
|
+
return ms < 1000 ? "".concat(Math.round(ms), "ms") : "".concat((ms / 1000).toFixed(1), "s");
|
|
122
|
+
}
|
|
123
|
+
/** Extracts a status and short display text from a tool's (often nested-JSON) output. */
|
|
124
|
+
export function parseToolResult(output) {
|
|
125
|
+
var _a, _b, _c, _d;
|
|
126
|
+
if (!output)
|
|
127
|
+
return { status: "success", text: "" };
|
|
128
|
+
try {
|
|
129
|
+
var outer = JSON.parse(output);
|
|
130
|
+
var status_1 = "success";
|
|
131
|
+
var text = "";
|
|
132
|
+
var inner = outer.data;
|
|
133
|
+
if (typeof inner === "string") {
|
|
134
|
+
try {
|
|
135
|
+
inner = JSON.parse(inner);
|
|
136
|
+
}
|
|
137
|
+
catch (_e) {
|
|
138
|
+
text = inner;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (inner && typeof inner === "object") {
|
|
142
|
+
if (inner.operation_status === "failed") {
|
|
143
|
+
status_1 = "error";
|
|
144
|
+
var failure = inner.failure;
|
|
145
|
+
text = failure && typeof failure === "object"
|
|
146
|
+
? failure.error_message || failure.message || JSON.stringify(failure)
|
|
147
|
+
: "Tool operation failed.";
|
|
148
|
+
}
|
|
149
|
+
else if (inner.operation_status === "pending") {
|
|
150
|
+
status_1 = "warning";
|
|
151
|
+
text = ((_a = inner.result) === null || _a === void 0 ? void 0 : _a.message) || inner.instructions || "Operation is pending.";
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
text = ((_b = inner.result) === null || _b === void 0 ? void 0 : _b.message) || ((_c = inner.result) === null || _c === void 0 ? void 0 : _c.content) || inner.message || inner.content || JSON.stringify((_d = inner.result) !== null && _d !== void 0 ? _d : inner);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
text = outer.content || outer.message || output;
|
|
159
|
+
}
|
|
160
|
+
if (outer.status === "tool_failed" || outer.status === "error") {
|
|
161
|
+
status_1 = "error";
|
|
162
|
+
text = outer.message || (Array.isArray(outer.errors) ? outer.errors.join(", ") : text) || text;
|
|
163
|
+
}
|
|
164
|
+
return { status: status_1, text: truncate(String(text), 500) };
|
|
165
|
+
}
|
|
166
|
+
catch (_f) {
|
|
167
|
+
return { status: "success", text: truncate(output, 120) };
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** Token counts, model names and similar bookkeeping the agent emits as text; never shown as chat. */
|
|
171
|
+
export function isLlmMetadata(content) {
|
|
172
|
+
if (!content)
|
|
173
|
+
return true;
|
|
174
|
+
return /\d+\s*(input|output)\s*tokens/i.test(content)
|
|
175
|
+
|| /finish_reason:/i.test(content)
|
|
176
|
+
|| /^\d+\s+messages\s*\(/i.test(content)
|
|
177
|
+
|| /\|\s*model:\s*\S+/i.test(content);
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=agentFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentFormat.js","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/agentFormat.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Formatting helpers shared by the live event reducer and history replay.\n * Ported from the agent-ui chat (SolidX Agent repo) so tool rows read the same.\n */\n\nconst TOOL_DISPLAY_NAMES: Record<string, string> = {\n manage_data_model: \"Manage Data Model\",\n discover_ui_selectors: \"Discover UI Selectors\",\n manage_metadata: \"Manage Metadata\",\n get_metadata: \"Get Metadata\",\n run_solidctl: \"Run SolidCTL\",\n introspect_database: \"Introspect Database\",\n run_read_only_sql: \"Run Read-Only SQL\",\n content_crud: \"Content CRUD\",\n filesystem_tool: \"File System\",\n bash: \"Run Command\",\n};\n\nconst FILESYSTEM_ACTIONS: Record<string, string> = { read: \"Read\", write: \"Write\", edit: \"Edit\", search: \"Search\" };\n\nconst TOOL_CATEGORIES: Record<string, string[]> = {\n Context: [\"introspect_database\", \"get_metadata\", \"run_read_only_sql\"],\n Build: [\"manage_data_model\", \"manage_metadata\", \"content_crud\"],\n Files: [\"filesystem_tool\"],\n Testing: [\"discover_ui_selectors\"],\n Deploy: [\"run_solidctl\"],\n Terminal: [\"bash\"],\n};\n\n/** Category shown as the tool card badge (\"Context\", \"Build\", ...). */\nexport function toolCategory(name: string): string {\n for (const [category, tools] of Object.entries(TOOL_CATEGORIES)) {\n if (tools.includes(name)) return category;\n }\n return \"Tool\";\n}\n\nexport function toolDisplayName(name: string, args?: Record<string, unknown>): string {\n if (name === \"filesystem_tool\" && typeof args?.action === \"string\") {\n return FILESYSTEM_ACTIONS[args.action] ?? TOOL_DISPLAY_NAMES[name] ?? name;\n }\n return TOOL_DISPLAY_NAMES[name] ?? name;\n}\n\nconst truncate = (text: string, max = 80) => (text.length > max ? `${text.slice(0, max)}…` : text);\nfunction oneLine(value: unknown): string {\n let text: string;\n if (typeof value === \"string\") {\n text = value;\n } else {\n try {\n text = JSON.stringify(value) ?? String(value);\n } catch {\n text = \"[unserializable value]\";\n }\n }\n return text.trim().replace(/\\s+/g, \" \");\n}\n\nfunction humanizeCommand(cmd: string): string {\n const trimmed = cmd.trim();\n const verbs: Array<[string, string]> = [\n [\"cat \", \"Read \"], [\"find \", \"Search files: \"], [\"grep \", \"Search content: \"], [\"ls \", \"List \"],\n [\"cd \", \"Navigate to \"], [\"mkdir \", \"Create folder \"], [\"rm \", \"Remove \"], [\"cp \", \"Copy \"], [\"mv \", \"Move \"],\n ];\n for (const [prefix, label] of verbs) {\n if (trimmed.startsWith(prefix)) return label + trimmed.slice(prefix.length).trim();\n }\n return trimmed;\n}\n\n/** One-line summary of a tool call's arguments for the collapsed tool row. */\nexport function describeToolArgs(args: Record<string, unknown> = {}, toolName?: string): string {\n if (toolName === \"filesystem_tool\") {\n const path = args.path != null ? oneLine(args.path) : \"\";\n if (args.action === \"read\" && path) {\n if (args.start_line != null && args.end_line != null) return truncate(`${path}:${args.start_line}-${args.end_line}`);\n return truncate(path);\n }\n if (args.action === \"search\") {\n const query = args.query != null ? oneLine(args.query) : \"\";\n const glob = args.glob != null ? oneLine(args.glob) : \"\";\n if (query && glob) return truncate(`\"${query}\" in ${glob}`);\n if (query) return truncate(`\"${query}\"`);\n if (glob) return truncate(glob);\n }\n if (args.action === \"edit\" && path) {\n const edits = Array.isArray(args.edits) ? args.edits.length : null;\n return truncate(edits != null ? `${path} (${edits} edit${edits === 1 ? \"\" : \"s\"})` : path);\n }\n for (const key of [\"path\", \"query\", \"file\"]) {\n if (args[key] != null) return truncate(oneLine(args[key]));\n }\n return \"\";\n }\n if (args.action && args.prompt) return truncate(`${oneLine(args.action)}: ${oneLine(args.prompt)}`);\n for (const key of [\"action\", \"prompt\", \"cmd\", \"command\", \"query\", \"path\", \"file\", \"module_name\", \"model_name\", \"name\", \"id\", \"content\"]) {\n if (args[key] != null) {\n const value = oneLine(args[key]);\n return truncate(key === \"cmd\" || key === \"command\" ? humanizeCommand(value) : value, 72);\n }\n }\n const first = Object.values(args)[0];\n return first != null ? truncate(oneLine(first), 72) : \"\";\n}\n\nexport function formatDuration(ms?: number): string {\n if (ms == null) return \"\";\n return ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;\n}\n\n/** Extracts a status and short display text from a tool's (often nested-JSON) output. */\nexport function parseToolResult(output: string): { status: \"success\" | \"warning\" | \"error\"; text: string } {\n if (!output) return { status: \"success\", text: \"\" };\n try {\n const outer = JSON.parse(output);\n let status: \"success\" | \"warning\" | \"error\" = \"success\";\n let text = \"\";\n let inner: any = outer.data;\n if (typeof inner === \"string\") {\n try {\n inner = JSON.parse(inner);\n } catch {\n text = inner;\n }\n }\n if (inner && typeof inner === \"object\") {\n if (inner.operation_status === \"failed\") {\n status = \"error\";\n const failure = inner.failure;\n text = failure && typeof failure === \"object\"\n ? failure.error_message || failure.message || JSON.stringify(failure)\n : \"Tool operation failed.\";\n } else if (inner.operation_status === \"pending\") {\n status = \"warning\";\n text = inner.result?.message || inner.instructions || \"Operation is pending.\";\n } else {\n text = inner.result?.message || inner.result?.content || inner.message || inner.content || JSON.stringify(inner.result ?? inner);\n }\n } else {\n text = outer.content || outer.message || output;\n }\n if (outer.status === \"tool_failed\" || outer.status === \"error\") {\n status = \"error\";\n text = outer.message || (Array.isArray(outer.errors) ? outer.errors.join(\", \") : text) || text;\n }\n return { status, text: truncate(String(text), 500) };\n } catch {\n return { status: \"success\", text: truncate(output, 120) };\n }\n}\n\n/** Token counts, model names and similar bookkeeping the agent emits as text; never shown as chat. */\nexport function isLlmMetadata(content: string): boolean {\n if (!content) return true;\n return /\\d+\\s*(input|output)\\s*tokens/i.test(content)\n || /finish_reason:/i.test(content)\n || /^\\d+\\s+messages\\s*\\(/i.test(content)\n || /\\|\\s*model:\\s*\\S+/i.test(content);\n}\n"]}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatting helpers shared by the live event reducer and history replay.
|
|
3
|
+
* Ported from the agent-ui chat (SolidX Agent repo) so tool rows read the same.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const TOOL_DISPLAY_NAMES: Record<string, string> = {
|
|
7
|
+
manage_data_model: "Manage Data Model",
|
|
8
|
+
discover_ui_selectors: "Discover UI Selectors",
|
|
9
|
+
manage_metadata: "Manage Metadata",
|
|
10
|
+
get_metadata: "Get Metadata",
|
|
11
|
+
run_solidctl: "Run SolidCTL",
|
|
12
|
+
introspect_database: "Introspect Database",
|
|
13
|
+
run_read_only_sql: "Run Read-Only SQL",
|
|
14
|
+
content_crud: "Content CRUD",
|
|
15
|
+
filesystem_tool: "File System",
|
|
16
|
+
bash: "Run Command",
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const FILESYSTEM_ACTIONS: Record<string, string> = { read: "Read", write: "Write", edit: "Edit", search: "Search" };
|
|
20
|
+
|
|
21
|
+
const TOOL_CATEGORIES: Record<string, string[]> = {
|
|
22
|
+
Context: ["introspect_database", "get_metadata", "run_read_only_sql"],
|
|
23
|
+
Build: ["manage_data_model", "manage_metadata", "content_crud"],
|
|
24
|
+
Files: ["filesystem_tool"],
|
|
25
|
+
Testing: ["discover_ui_selectors"],
|
|
26
|
+
Deploy: ["run_solidctl"],
|
|
27
|
+
Terminal: ["bash"],
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/** Category shown as the tool card badge ("Context", "Build", ...). */
|
|
31
|
+
export function toolCategory(name: string): string {
|
|
32
|
+
for (const [category, tools] of Object.entries(TOOL_CATEGORIES)) {
|
|
33
|
+
if (tools.includes(name)) return category;
|
|
34
|
+
}
|
|
35
|
+
return "Tool";
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function toolDisplayName(name: string, args?: Record<string, unknown>): string {
|
|
39
|
+
if (name === "filesystem_tool" && typeof args?.action === "string") {
|
|
40
|
+
return FILESYSTEM_ACTIONS[args.action] ?? TOOL_DISPLAY_NAMES[name] ?? name;
|
|
41
|
+
}
|
|
42
|
+
return TOOL_DISPLAY_NAMES[name] ?? name;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const truncate = (text: string, max = 80) => (text.length > max ? `${text.slice(0, max)}…` : text);
|
|
46
|
+
function oneLine(value: unknown): string {
|
|
47
|
+
let text: string;
|
|
48
|
+
if (typeof value === "string") {
|
|
49
|
+
text = value;
|
|
50
|
+
} else {
|
|
51
|
+
try {
|
|
52
|
+
text = JSON.stringify(value) ?? String(value);
|
|
53
|
+
} catch {
|
|
54
|
+
text = "[unserializable value]";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return text.trim().replace(/\s+/g, " ");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function humanizeCommand(cmd: string): string {
|
|
61
|
+
const trimmed = cmd.trim();
|
|
62
|
+
const verbs: Array<[string, string]> = [
|
|
63
|
+
["cat ", "Read "], ["find ", "Search files: "], ["grep ", "Search content: "], ["ls ", "List "],
|
|
64
|
+
["cd ", "Navigate to "], ["mkdir ", "Create folder "], ["rm ", "Remove "], ["cp ", "Copy "], ["mv ", "Move "],
|
|
65
|
+
];
|
|
66
|
+
for (const [prefix, label] of verbs) {
|
|
67
|
+
if (trimmed.startsWith(prefix)) return label + trimmed.slice(prefix.length).trim();
|
|
68
|
+
}
|
|
69
|
+
return trimmed;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** One-line summary of a tool call's arguments for the collapsed tool row. */
|
|
73
|
+
export function describeToolArgs(args: Record<string, unknown> = {}, toolName?: string): string {
|
|
74
|
+
if (toolName === "filesystem_tool") {
|
|
75
|
+
const path = args.path != null ? oneLine(args.path) : "";
|
|
76
|
+
if (args.action === "read" && path) {
|
|
77
|
+
if (args.start_line != null && args.end_line != null) return truncate(`${path}:${args.start_line}-${args.end_line}`);
|
|
78
|
+
return truncate(path);
|
|
79
|
+
}
|
|
80
|
+
if (args.action === "search") {
|
|
81
|
+
const query = args.query != null ? oneLine(args.query) : "";
|
|
82
|
+
const glob = args.glob != null ? oneLine(args.glob) : "";
|
|
83
|
+
if (query && glob) return truncate(`"${query}" in ${glob}`);
|
|
84
|
+
if (query) return truncate(`"${query}"`);
|
|
85
|
+
if (glob) return truncate(glob);
|
|
86
|
+
}
|
|
87
|
+
if (args.action === "edit" && path) {
|
|
88
|
+
const edits = Array.isArray(args.edits) ? args.edits.length : null;
|
|
89
|
+
return truncate(edits != null ? `${path} (${edits} edit${edits === 1 ? "" : "s"})` : path);
|
|
90
|
+
}
|
|
91
|
+
for (const key of ["path", "query", "file"]) {
|
|
92
|
+
if (args[key] != null) return truncate(oneLine(args[key]));
|
|
93
|
+
}
|
|
94
|
+
return "";
|
|
95
|
+
}
|
|
96
|
+
if (args.action && args.prompt) return truncate(`${oneLine(args.action)}: ${oneLine(args.prompt)}`);
|
|
97
|
+
for (const key of ["action", "prompt", "cmd", "command", "query", "path", "file", "module_name", "model_name", "name", "id", "content"]) {
|
|
98
|
+
if (args[key] != null) {
|
|
99
|
+
const value = oneLine(args[key]);
|
|
100
|
+
return truncate(key === "cmd" || key === "command" ? humanizeCommand(value) : value, 72);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const first = Object.values(args)[0];
|
|
104
|
+
return first != null ? truncate(oneLine(first), 72) : "";
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function formatDuration(ms?: number): string {
|
|
108
|
+
if (ms == null) return "";
|
|
109
|
+
return ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** Extracts a status and short display text from a tool's (often nested-JSON) output. */
|
|
113
|
+
export function parseToolResult(output: string): { status: "success" | "warning" | "error"; text: string } {
|
|
114
|
+
if (!output) return { status: "success", text: "" };
|
|
115
|
+
try {
|
|
116
|
+
const outer = JSON.parse(output);
|
|
117
|
+
let status: "success" | "warning" | "error" = "success";
|
|
118
|
+
let text = "";
|
|
119
|
+
let inner: any = outer.data;
|
|
120
|
+
if (typeof inner === "string") {
|
|
121
|
+
try {
|
|
122
|
+
inner = JSON.parse(inner);
|
|
123
|
+
} catch {
|
|
124
|
+
text = inner;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (inner && typeof inner === "object") {
|
|
128
|
+
if (inner.operation_status === "failed") {
|
|
129
|
+
status = "error";
|
|
130
|
+
const failure = inner.failure;
|
|
131
|
+
text = failure && typeof failure === "object"
|
|
132
|
+
? failure.error_message || failure.message || JSON.stringify(failure)
|
|
133
|
+
: "Tool operation failed.";
|
|
134
|
+
} else if (inner.operation_status === "pending") {
|
|
135
|
+
status = "warning";
|
|
136
|
+
text = inner.result?.message || inner.instructions || "Operation is pending.";
|
|
137
|
+
} else {
|
|
138
|
+
text = inner.result?.message || inner.result?.content || inner.message || inner.content || JSON.stringify(inner.result ?? inner);
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
text = outer.content || outer.message || output;
|
|
142
|
+
}
|
|
143
|
+
if (outer.status === "tool_failed" || outer.status === "error") {
|
|
144
|
+
status = "error";
|
|
145
|
+
text = outer.message || (Array.isArray(outer.errors) ? outer.errors.join(", ") : text) || text;
|
|
146
|
+
}
|
|
147
|
+
return { status, text: truncate(String(text), 500) };
|
|
148
|
+
} catch {
|
|
149
|
+
return { status: "success", text: truncate(output, 120) };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Token counts, model names and similar bookkeeping the agent emits as text; never shown as chat. */
|
|
154
|
+
export function isLlmMetadata(content: string): boolean {
|
|
155
|
+
if (!content) return true;
|
|
156
|
+
return /\d+\s*(input|output)\s*tokens/i.test(content)
|
|
157
|
+
|| /finish_reason:/i.test(content)
|
|
158
|
+
|| /^\d+\s+messages\s*\(/i.test(content)
|
|
159
|
+
|| /\|\s*model:\s*\S+/i.test(content);
|
|
160
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentChatItem } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Replayed user messages only know their attachments' names. The files themselves are stored
|
|
4
|
+
* on the agentEvent (media field `attachments`) by the agent, so fetch fresh URLs for every
|
|
5
|
+
* such event in one request and put them on the thread items. Items are returned unchanged
|
|
6
|
+
* when nothing is stored or the request fails.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveAttachmentMedia(items: AgentChatItem[]): Promise<AgentChatItem[]>;
|
|
9
|
+
//# sourceMappingURL=agentAttachmentMedia.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentAttachmentMedia.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/client/agentAttachmentMedia.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBnE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0C7F"}
|
|
@@ -0,0 +1,129 @@
|
|
|
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
|
+
import qs from "qs";
|
|
49
|
+
import { solidGet } from "../../../../http/solidHttp";
|
|
50
|
+
import { normalizeAssetUrl } from "../../../../helpers/assetUrl";
|
|
51
|
+
/** Media field on the agentEvent model that stores chat attachments (solid-core metadata). */
|
|
52
|
+
var ATTACHMENTS_FIELD = "attachments";
|
|
53
|
+
/** Solid's response interceptor wraps bodies as { data: <payload> }; find the records array. */
|
|
54
|
+
function unwrapRecords(body) {
|
|
55
|
+
var node = body;
|
|
56
|
+
for (var i = 0; i < 4 && node; i++) {
|
|
57
|
+
if (Array.isArray(node.records))
|
|
58
|
+
return node.records;
|
|
59
|
+
node = node.data;
|
|
60
|
+
}
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Replayed user messages only know their attachments' names. The files themselves are stored
|
|
65
|
+
* on the agentEvent (media field `attachments`) by the agent, so fetch fresh URLs for every
|
|
66
|
+
* such event in one request and put them on the thread items. Items are returned unchanged
|
|
67
|
+
* when nothing is stored or the request fails.
|
|
68
|
+
*/
|
|
69
|
+
export function resolveAttachmentMedia(items) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
71
|
+
var eventIds, records, query, response, _a, mediaByEvent;
|
|
72
|
+
return __generator(this, function (_b) {
|
|
73
|
+
switch (_b.label) {
|
|
74
|
+
case 0:
|
|
75
|
+
eventIds = items
|
|
76
|
+
.map(function (item) { var _a; return (_a = item.eventData) === null || _a === void 0 ? void 0 : _a.agentEventId; })
|
|
77
|
+
.filter(function (id) { return id !== undefined && id !== null && id !== ""; });
|
|
78
|
+
if (!eventIds.length)
|
|
79
|
+
return [2 /*return*/, items];
|
|
80
|
+
records = [];
|
|
81
|
+
_b.label = 1;
|
|
82
|
+
case 1:
|
|
83
|
+
_b.trys.push([1, 3, , 4]);
|
|
84
|
+
query = qs.stringify({
|
|
85
|
+
filters: { id: { $in: eventIds.map(Number) } },
|
|
86
|
+
populateMedia: [ATTACHMENTS_FIELD],
|
|
87
|
+
fields: ["id"],
|
|
88
|
+
limit: eventIds.length,
|
|
89
|
+
offset: 0,
|
|
90
|
+
}, { encodeValuesOnly: true });
|
|
91
|
+
return [4 /*yield*/, solidGet("/agent-event?".concat(query))];
|
|
92
|
+
case 2:
|
|
93
|
+
response = _b.sent();
|
|
94
|
+
records = unwrapRecords(response === null || response === void 0 ? void 0 : response.data);
|
|
95
|
+
return [3 /*break*/, 4];
|
|
96
|
+
case 3:
|
|
97
|
+
_a = _b.sent();
|
|
98
|
+
return [2 /*return*/, items];
|
|
99
|
+
case 4:
|
|
100
|
+
mediaByEvent = new Map();
|
|
101
|
+
records.forEach(function (record) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
var media = (_b = (_a = record === null || record === void 0 ? void 0 : record._media) === null || _a === void 0 ? void 0 : _a[ATTACHMENTS_FIELD]) !== null && _b !== void 0 ? _b : [];
|
|
104
|
+
if (media.length)
|
|
105
|
+
mediaByEvent.set(String(record.id), media);
|
|
106
|
+
});
|
|
107
|
+
if (!mediaByEvent.size)
|
|
108
|
+
return [2 /*return*/, items];
|
|
109
|
+
return [2 /*return*/, items.map(function (item) {
|
|
110
|
+
var _a;
|
|
111
|
+
var media = mediaByEvent.get(String((_a = item.eventData) === null || _a === void 0 ? void 0 : _a.agentEventId));
|
|
112
|
+
if (!media)
|
|
113
|
+
return item;
|
|
114
|
+
var attachments = media.map(function (file) {
|
|
115
|
+
var _a, _b, _c;
|
|
116
|
+
return ({
|
|
117
|
+
name: (_a = file.originalFileName) !== null && _a !== void 0 ? _a : "attachment",
|
|
118
|
+
mimeType: (_b = file.mimeType) !== null && _b !== void 0 ? _b : "",
|
|
119
|
+
size: Number((_c = file.fileSize) !== null && _c !== void 0 ? _c : 0),
|
|
120
|
+
url: normalizeAssetUrl(file._full_url),
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
return __assign(__assign({}, item), { eventData: __assign(__assign({}, item.eventData), { attachments: attachments }) });
|
|
124
|
+
})];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=agentAttachmentMedia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentAttachmentMedia.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/client/agentAttachmentMedia.ts"],"names":[],"mappings":"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","sourcesContent":["import qs from \"qs\";\nimport { solidGet } from \"../../../../http/solidHttp\";\nimport { normalizeAssetUrl } from \"../../../../helpers/assetUrl\";\nimport type { AgentAttachmentMeta, AgentChatItem } from \"../types\";\n\n/** Media field on the agentEvent model that stores chat attachments (solid-core metadata). */\nconst ATTACHMENTS_FIELD = \"attachments\";\n\ntype StoredMedia = { _full_url?: string; originalFileName?: string; mimeType?: string; fileSize?: number };\n\n/** Solid's response interceptor wraps bodies as { data: <payload> }; find the records array. */\nfunction unwrapRecords(body: any): any[] {\n let node = body;\n for (let i = 0; i < 4 && node; i++) {\n if (Array.isArray(node.records)) return node.records;\n node = node.data;\n }\n return [];\n}\n\n/**\n * Replayed user messages only know their attachments' names. The files themselves are stored\n * on the agentEvent (media field `attachments`) by the agent, so fetch fresh URLs for every\n * such event in one request and put them on the thread items. Items are returned unchanged\n * when nothing is stored or the request fails.\n */\nexport async function resolveAttachmentMedia(items: AgentChatItem[]): Promise<AgentChatItem[]> {\n const eventIds = items\n .map((item) => item.eventData?.agentEventId)\n .filter((id): id is string | number => id !== undefined && id !== null && id !== \"\");\n if (!eventIds.length) return items;\n\n let records: any[] = [];\n try {\n const query = qs.stringify(\n {\n filters: { id: { $in: eventIds.map(Number) } },\n populateMedia: [ATTACHMENTS_FIELD],\n fields: [\"id\"],\n limit: eventIds.length,\n offset: 0,\n },\n { encodeValuesOnly: true },\n );\n const response = await solidGet(`/agent-event?${query}`);\n records = unwrapRecords(response?.data);\n } catch {\n return items;\n }\n\n const mediaByEvent = new Map<string, StoredMedia[]>();\n records.forEach((record) => {\n const media: StoredMedia[] = record?._media?.[ATTACHMENTS_FIELD] ?? [];\n if (media.length) mediaByEvent.set(String(record.id), media);\n });\n if (!mediaByEvent.size) return items;\n\n return items.map((item) => {\n const media = mediaByEvent.get(String(item.eventData?.agentEventId));\n if (!media) return item;\n const attachments: AgentAttachmentMeta[] = media.map((file) => ({\n name: file.originalFileName ?? \"attachment\",\n mimeType: file.mimeType ?? \"\",\n size: Number(file.fileSize ?? 0),\n url: normalizeAssetUrl(file._full_url),\n }));\n return { ...item, eventData: { ...item.eventData, attachments } };\n });\n}\n"]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import qs from "qs";
|
|
2
|
+
import { solidGet } from "../../../../http/solidHttp";
|
|
3
|
+
import { normalizeAssetUrl } from "../../../../helpers/assetUrl";
|
|
4
|
+
import type { AgentAttachmentMeta, AgentChatItem } from "../types";
|
|
5
|
+
|
|
6
|
+
/** Media field on the agentEvent model that stores chat attachments (solid-core metadata). */
|
|
7
|
+
const ATTACHMENTS_FIELD = "attachments";
|
|
8
|
+
|
|
9
|
+
type StoredMedia = { _full_url?: string; originalFileName?: string; mimeType?: string; fileSize?: number };
|
|
10
|
+
|
|
11
|
+
/** Solid's response interceptor wraps bodies as { data: <payload> }; find the records array. */
|
|
12
|
+
function unwrapRecords(body: any): any[] {
|
|
13
|
+
let node = body;
|
|
14
|
+
for (let i = 0; i < 4 && node; i++) {
|
|
15
|
+
if (Array.isArray(node.records)) return node.records;
|
|
16
|
+
node = node.data;
|
|
17
|
+
}
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Replayed user messages only know their attachments' names. The files themselves are stored
|
|
23
|
+
* on the agentEvent (media field `attachments`) by the agent, so fetch fresh URLs for every
|
|
24
|
+
* such event in one request and put them on the thread items. Items are returned unchanged
|
|
25
|
+
* when nothing is stored or the request fails.
|
|
26
|
+
*/
|
|
27
|
+
export async function resolveAttachmentMedia(items: AgentChatItem[]): Promise<AgentChatItem[]> {
|
|
28
|
+
const eventIds = items
|
|
29
|
+
.map((item) => item.eventData?.agentEventId)
|
|
30
|
+
.filter((id): id is string | number => id !== undefined && id !== null && id !== "");
|
|
31
|
+
if (!eventIds.length) return items;
|
|
32
|
+
|
|
33
|
+
let records: any[] = [];
|
|
34
|
+
try {
|
|
35
|
+
const query = qs.stringify(
|
|
36
|
+
{
|
|
37
|
+
filters: { id: { $in: eventIds.map(Number) } },
|
|
38
|
+
populateMedia: [ATTACHMENTS_FIELD],
|
|
39
|
+
fields: ["id"],
|
|
40
|
+
limit: eventIds.length,
|
|
41
|
+
offset: 0,
|
|
42
|
+
},
|
|
43
|
+
{ encodeValuesOnly: true },
|
|
44
|
+
);
|
|
45
|
+
const response = await solidGet(`/agent-event?${query}`);
|
|
46
|
+
records = unwrapRecords(response?.data);
|
|
47
|
+
} catch {
|
|
48
|
+
return items;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const mediaByEvent = new Map<string, StoredMedia[]>();
|
|
52
|
+
records.forEach((record) => {
|
|
53
|
+
const media: StoredMedia[] = record?._media?.[ATTACHMENTS_FIELD] ?? [];
|
|
54
|
+
if (media.length) mediaByEvent.set(String(record.id), media);
|
|
55
|
+
});
|
|
56
|
+
if (!mediaByEvent.size) return items;
|
|
57
|
+
|
|
58
|
+
return items.map((item) => {
|
|
59
|
+
const media = mediaByEvent.get(String(item.eventData?.agentEventId));
|
|
60
|
+
if (!media) return item;
|
|
61
|
+
const attachments: AgentAttachmentMeta[] = media.map((file) => ({
|
|
62
|
+
name: file.originalFileName ?? "attachment",
|
|
63
|
+
mimeType: file.mimeType ?? "",
|
|
64
|
+
size: Number(file.fileSize ?? 0),
|
|
65
|
+
url: normalizeAssetUrl(file._full_url),
|
|
66
|
+
}));
|
|
67
|
+
return { ...item, eventData: { ...item.eventData, attachments } };
|
|
68
|
+
});
|
|
69
|
+
}
|