@solidxai/core-ui 0.1.18 → 0.1.19-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/common/SolidThemeLink.d.ts.map +1 -1
- package/dist/components/common/SolidThemeLink.js +2 -2
- package/dist/components/common/SolidThemeLink.js.map +1 -1
- package/dist/components/common/SolidThemeLink.tsx +5 -2
- 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/SolidChatterHeader.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.js +2 -1
- package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.tsx +6 -4
- 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/SolidCollectionRowActionMenuItems.d.ts +2 -1
- package/dist/components/core/common/SolidCollectionRowActionMenuItems.d.ts.map +1 -1
- package/dist/components/core/common/SolidCollectionRowActionMenuItems.js +3 -2
- package/dist/components/core/common/SolidCollectionRowActionMenuItems.js.map +1 -1
- package/dist/components/core/common/SolidCollectionRowActionMenuItems.tsx +5 -3
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +35 -18
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +40 -15
- package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -1
- package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +2 -2
- package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -1
- package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +6 -6
- 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/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +12 -9
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.tsx +11 -8
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +16 -14
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.tsx +13 -10
- 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 +4 -2
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +4 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +197 -96
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +96 -37
- 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/SolidListViewRowActionMenuItem.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
- package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +2 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +1 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +1 -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/module/CreateModule.css +42 -0
- package/dist/components/core/module/CreateModule.js +1 -1
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +5 -5
- 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/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +3 -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/layout/AdminTopHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminTopHeader.js +7 -3
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +8 -3
- 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/constants/error-messages.d.ts +2 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +3 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +4 -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 -4
- 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 +38 -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 +331 -12
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/resources/themes/solid-light-modern/theme.css +2 -4
- 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/DatasourceIntrospectionPage.css +41 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +3 -1
- 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/dashboard.d.ts +4 -0
- package/dist/types/dashboard.d.ts.map +1 -1
- package/dist/types/dashboard.js.map +1 -1
- package/dist/types/dashboard.ts +5 -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 +20 -0
- package/dist/types/list-row-action.d.ts.map +1 -0
- package/dist/types/list-row-action.js +2 -0
- package/dist/types/list-row-action.js.map +1 -0
- package/dist/types/list-row-action.ts +21 -0
- package/dist/types/solid-core.d.ts +36 -0
- package/package.json +1 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { AlertTriangle, CheckCircle2, ChevronRight, CloudUpload, Cog, File, FilePen, FilePlus, Folder, Loader2, Pencil, Search, Terminal, XCircle, } from "lucide-react";
|
|
4
|
+
import styles from "./solidChatWidgets.module.css";
|
|
5
|
+
import { formatDuration, toolCategory, toolDisplayName } from "../agentFormat";
|
|
6
|
+
/** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */
|
|
7
|
+
function getToolIcon(name, args) {
|
|
8
|
+
if (name === "bash")
|
|
9
|
+
return Terminal;
|
|
10
|
+
if (name === "filesystem_tool" && typeof (args === null || args === void 0 ? void 0 : args.action) === "string") {
|
|
11
|
+
if (args.action === "read")
|
|
12
|
+
return File;
|
|
13
|
+
if (args.action === "search")
|
|
14
|
+
return Search;
|
|
15
|
+
if (args.action === "edit")
|
|
16
|
+
return Pencil;
|
|
17
|
+
if (args.action === "write")
|
|
18
|
+
return FilePlus;
|
|
19
|
+
}
|
|
20
|
+
switch (toolCategory(name)) {
|
|
21
|
+
case "Context":
|
|
22
|
+
return Search;
|
|
23
|
+
case "Build":
|
|
24
|
+
return FilePen;
|
|
25
|
+
case "Deploy":
|
|
26
|
+
return CloudUpload;
|
|
27
|
+
case "Files":
|
|
28
|
+
return Folder;
|
|
29
|
+
default:
|
|
30
|
+
return Cog;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
var CARD_CLASS = {
|
|
34
|
+
running: styles.ToolCardRunning,
|
|
35
|
+
success: styles.ToolCardDone,
|
|
36
|
+
warning: styles.ToolCardWarning,
|
|
37
|
+
error: styles.ToolCardError,
|
|
38
|
+
};
|
|
39
|
+
function StatusIcon(_a) {
|
|
40
|
+
var status = _a.status;
|
|
41
|
+
if (status === "running")
|
|
42
|
+
return _jsx(Loader2, { size: 13, className: "".concat(styles.ToolCardStatusIcon, " ").concat(styles.Spin) });
|
|
43
|
+
if (status === "warning")
|
|
44
|
+
return _jsx(AlertTriangle, { size: 13, className: styles.ToolCardStatusWarning });
|
|
45
|
+
if (status === "error")
|
|
46
|
+
return _jsx(XCircle, { size: 13, className: styles.ToolCardStatusError });
|
|
47
|
+
return _jsx(CheckCircle2, { size: 13, className: styles.ToolCardStatusDone });
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the
|
|
51
|
+
* header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.
|
|
52
|
+
*/
|
|
53
|
+
export var DefaultToolCallChatWidget = function (_a) {
|
|
54
|
+
var _b, _c, _d, _e;
|
|
55
|
+
var eventData = _a.eventData, live = _a.live;
|
|
56
|
+
var _f = useState(false), expanded = _f[0], setExpanded = _f[1];
|
|
57
|
+
var toolName = (_b = eventData.tool_name) !== null && _b !== void 0 ? _b : "tool";
|
|
58
|
+
var args = eventData.arguments;
|
|
59
|
+
var progress = Array.isArray(eventData.progress) ? eventData.progress : [];
|
|
60
|
+
var status = live ? "running" : (_c = eventData.status) !== null && _c !== void 0 ? _c : "success";
|
|
61
|
+
var output = (_d = eventData.output_raw) !== null && _d !== void 0 ? _d : eventData.output;
|
|
62
|
+
var hasArgs = !!args && Object.keys(args).length > 0;
|
|
63
|
+
var expandable = (hasArgs || !!output) && status !== "running";
|
|
64
|
+
var ToolIcon = getToolIcon(toolName, args);
|
|
65
|
+
return (_jsxs("div", { className: "".concat(styles.ToolCard, " ").concat((_e = CARD_CLASS[status]) !== null && _e !== void 0 ? _e : styles.ToolCardDone), children: [_jsxs("button", { type: "button", className: styles.ToolCardHeaderBtn, onClick: expandable ? function () { return setExpanded(function (value) { return !value; }); } : undefined, "data-expandable": expandable ? "true" : undefined, "aria-expanded": expandable ? expanded : undefined, children: [_jsx(StatusIcon, { status: status }), _jsx(ToolIcon, { size: 12, className: styles.ToolCardToolIcon }), _jsx("span", { className: styles.ToolCardName, children: live ? "Invoking ".concat(toolDisplayName(toolName, args), "\u2026") : toolDisplayName(toolName, args) }), eventData.summary && _jsx("span", { className: styles.ToolCardDesc, title: eventData.summary, children: eventData.summary }), _jsx("span", { className: styles.ToolCardBadge, children: toolCategory(toolName) }), eventData.duration_ms != null && _jsx("span", { className: styles.ToolCardDuration, children: formatDuration(eventData.duration_ms) }), expandable && _jsx(ChevronRight, { size: 11, className: "".concat(styles.ToolCardChevron, " ").concat(expanded ? styles.ToolCardChevronOpen : "") })] }), progress.length > 0 && (_jsx("div", { className: styles.ToolCardProgress, children: progress.map(function (step, index) { return (_jsxs("div", { className: "".concat(styles.ToolProgressItem, " ").concat(step.status === "running" ? styles.ToolProgressRunning : styles.ToolProgressDone), children: [step.status === "running" ? _jsx(Loader2, { size: 10, className: styles.Spin }) : _jsx(CheckCircle2, { size: 10 }), _jsx("span", { className: styles.ToolProgressLabel, children: step.label }), step.duration_ms != null && step.status === "done" && (_jsx("span", { className: styles.ToolProgressDuration, children: formatDuration(step.duration_ms) }))] }, index)); }) })), expanded && (_jsxs("div", { className: styles.ToolCardExpandable, children: [hasArgs && (_jsxs("div", { className: styles.ToolCardOutput, children: [_jsx("div", { className: styles.ToolOutputHeader, children: _jsx("span", { children: "Arguments" }) }), _jsx("pre", { className: styles.ToolOutputText, children: JSON.stringify(args, null, 2) })] })), output && (_jsxs("div", { className: styles.ToolCardOutput, children: [_jsx("div", { className: styles.ToolOutputHeader, children: _jsx("span", { children: "Result" }) }), _jsx("pre", { className: "".concat(styles.ToolOutputText, " ").concat(status === "warning" ? styles.ToolOutputWarning : status === "error" ? styles.ToolOutputError : ""), children: output })] }))] }))] }));
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=DefaultToolCallChatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultToolCallChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultToolCallChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport {\n AlertTriangle,\n CheckCircle2,\n ChevronRight,\n CloudUpload,\n Cog,\n File,\n FilePen,\n FilePlus,\n Folder,\n Loader2,\n Pencil,\n Search,\n Terminal,\n XCircle,\n type LucideIcon,\n} from \"lucide-react\";\nimport styles from \"./solidChatWidgets.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { formatDuration, toolCategory, toolDisplayName } from \"../agentFormat\";\n\ntype ToolStatus = \"running\" | \"success\" | \"warning\" | \"error\";\ntype ToolProgressStep = { label: string; status: \"running\" | \"done\"; duration_ms?: number };\n\n/** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */\nfunction getToolIcon(name: string, args?: Record<string, unknown>): LucideIcon {\n if (name === \"bash\") return Terminal;\n if (name === \"filesystem_tool\" && typeof args?.action === \"string\") {\n if (args.action === \"read\") return File;\n if (args.action === \"search\") return Search;\n if (args.action === \"edit\") return Pencil;\n if (args.action === \"write\") return FilePlus;\n }\n switch (toolCategory(name)) {\n case \"Context\":\n return Search;\n case \"Build\":\n return FilePen;\n case \"Deploy\":\n return CloudUpload;\n case \"Files\":\n return Folder;\n default:\n return Cog;\n }\n}\n\nconst CARD_CLASS: Record<ToolStatus, string> = {\n running: styles.ToolCardRunning,\n success: styles.ToolCardDone,\n warning: styles.ToolCardWarning,\n error: styles.ToolCardError,\n};\n\nfunction StatusIcon({ status }: { status: ToolStatus }) {\n if (status === \"running\") return <Loader2 size={13} className={`${styles.ToolCardStatusIcon} ${styles.Spin}`} />;\n if (status === \"warning\") return <AlertTriangle size={13} className={styles.ToolCardStatusWarning} />;\n if (status === \"error\") return <XCircle size={13} className={styles.ToolCardStatusError} />;\n return <CheckCircle2 size={13} className={styles.ToolCardStatusDone} />;\n}\n\n/**\n * Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the\n * header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.\n */\nexport const DefaultToolCallChatWidget = ({ eventData, live }: SolidChatWidgetProps) => {\n const [expanded, setExpanded] = useState(false);\n const toolName: string = eventData.tool_name ?? \"tool\";\n const args: Record<string, unknown> | undefined = eventData.arguments;\n const progress: ToolProgressStep[] = Array.isArray(eventData.progress) ? eventData.progress : [];\n const status: ToolStatus = live ? \"running\" : (eventData.status as ToolStatus) ?? \"success\";\n const output: string | undefined = eventData.output_raw ?? eventData.output;\n const hasArgs = !!args && Object.keys(args).length > 0;\n const expandable = (hasArgs || !!output) && status !== \"running\";\n const ToolIcon = getToolIcon(toolName, args);\n\n return (\n <div className={`${styles.ToolCard} ${CARD_CLASS[status] ?? styles.ToolCardDone}`}>\n <button\n type=\"button\"\n className={styles.ToolCardHeaderBtn}\n onClick={expandable ? () => setExpanded((value) => !value) : undefined}\n data-expandable={expandable ? \"true\" : undefined}\n aria-expanded={expandable ? expanded : undefined}\n >\n <StatusIcon status={status} />\n <ToolIcon size={12} className={styles.ToolCardToolIcon} />\n <span className={styles.ToolCardName}>{live ? `Invoking ${toolDisplayName(toolName, args)}…` : toolDisplayName(toolName, args)}</span>\n {eventData.summary && <span className={styles.ToolCardDesc} title={eventData.summary}>{eventData.summary}</span>}\n <span className={styles.ToolCardBadge}>{toolCategory(toolName)}</span>\n {eventData.duration_ms != null && <span className={styles.ToolCardDuration}>{formatDuration(eventData.duration_ms)}</span>}\n {expandable && <ChevronRight size={11} className={`${styles.ToolCardChevron} ${expanded ? styles.ToolCardChevronOpen : \"\"}`} />}\n </button>\n\n {/* Progress sub-steps: always visible */}\n {progress.length > 0 && (\n <div className={styles.ToolCardProgress}>\n {progress.map((step, index) => (\n <div key={index} className={`${styles.ToolProgressItem} ${step.status === \"running\" ? styles.ToolProgressRunning : styles.ToolProgressDone}`}>\n {step.status === \"running\" ? <Loader2 size={10} className={styles.Spin} /> : <CheckCircle2 size={10} />}\n <span className={styles.ToolProgressLabel}>{step.label}</span>\n {step.duration_ms != null && step.status === \"done\" && (\n <span className={styles.ToolProgressDuration}>{formatDuration(step.duration_ms)}</span>\n )}\n </div>\n ))}\n </div>\n )}\n\n {expanded && (\n <div className={styles.ToolCardExpandable}>\n {hasArgs && (\n <div className={styles.ToolCardOutput}>\n <div className={styles.ToolOutputHeader}>\n <span>Arguments</span>\n </div>\n <pre className={styles.ToolOutputText}>{JSON.stringify(args, null, 2)}</pre>\n </div>\n )}\n {output && (\n <div className={styles.ToolCardOutput}>\n <div className={styles.ToolOutputHeader}>\n <span>Result</span>\n </div>\n <pre className={`${styles.ToolOutputText} ${status === \"warning\" ? styles.ToolOutputWarning : status === \"error\" ? styles.ToolOutputError : \"\"}`}>\n {output}\n </pre>\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import {
|
|
3
|
+
AlertTriangle,
|
|
4
|
+
CheckCircle2,
|
|
5
|
+
ChevronRight,
|
|
6
|
+
CloudUpload,
|
|
7
|
+
Cog,
|
|
8
|
+
File,
|
|
9
|
+
FilePen,
|
|
10
|
+
FilePlus,
|
|
11
|
+
Folder,
|
|
12
|
+
Loader2,
|
|
13
|
+
Pencil,
|
|
14
|
+
Search,
|
|
15
|
+
Terminal,
|
|
16
|
+
XCircle,
|
|
17
|
+
type LucideIcon,
|
|
18
|
+
} from "lucide-react";
|
|
19
|
+
import styles from "./solidChatWidgets.module.css";
|
|
20
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
21
|
+
import { formatDuration, toolCategory, toolDisplayName } from "../agentFormat";
|
|
22
|
+
|
|
23
|
+
type ToolStatus = "running" | "success" | "warning" | "error";
|
|
24
|
+
type ToolProgressStep = { label: string; status: "running" | "done"; duration_ms?: number };
|
|
25
|
+
|
|
26
|
+
/** Icon for a tool, by name / filesystem action / category (same mapping as the agent-ui). */
|
|
27
|
+
function getToolIcon(name: string, args?: Record<string, unknown>): LucideIcon {
|
|
28
|
+
if (name === "bash") return Terminal;
|
|
29
|
+
if (name === "filesystem_tool" && typeof args?.action === "string") {
|
|
30
|
+
if (args.action === "read") return File;
|
|
31
|
+
if (args.action === "search") return Search;
|
|
32
|
+
if (args.action === "edit") return Pencil;
|
|
33
|
+
if (args.action === "write") return FilePlus;
|
|
34
|
+
}
|
|
35
|
+
switch (toolCategory(name)) {
|
|
36
|
+
case "Context":
|
|
37
|
+
return Search;
|
|
38
|
+
case "Build":
|
|
39
|
+
return FilePen;
|
|
40
|
+
case "Deploy":
|
|
41
|
+
return CloudUpload;
|
|
42
|
+
case "Files":
|
|
43
|
+
return Folder;
|
|
44
|
+
default:
|
|
45
|
+
return Cog;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const CARD_CLASS: Record<ToolStatus, string> = {
|
|
50
|
+
running: styles.ToolCardRunning,
|
|
51
|
+
success: styles.ToolCardDone,
|
|
52
|
+
warning: styles.ToolCardWarning,
|
|
53
|
+
error: styles.ToolCardError,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
function StatusIcon({ status }: { status: ToolStatus }) {
|
|
57
|
+
if (status === "running") return <Loader2 size={13} className={`${styles.ToolCardStatusIcon} ${styles.Spin}`} />;
|
|
58
|
+
if (status === "warning") return <AlertTriangle size={13} className={styles.ToolCardStatusWarning} />;
|
|
59
|
+
if (status === "error") return <XCircle size={13} className={styles.ToolCardStatusError} />;
|
|
60
|
+
return <CheckCircle2 size={13} className={styles.ToolCardStatusDone} />;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Default widget for `ToolCalling`: the tool card. `ToolProgress` sub-steps show under the
|
|
65
|
+
* header; `ToolResult` sets the status and duration. Expanding shows the Arguments and Result.
|
|
66
|
+
*/
|
|
67
|
+
export const DefaultToolCallChatWidget = ({ eventData, live }: SolidChatWidgetProps) => {
|
|
68
|
+
const [expanded, setExpanded] = useState(false);
|
|
69
|
+
const toolName: string = eventData.tool_name ?? "tool";
|
|
70
|
+
const args: Record<string, unknown> | undefined = eventData.arguments;
|
|
71
|
+
const progress: ToolProgressStep[] = Array.isArray(eventData.progress) ? eventData.progress : [];
|
|
72
|
+
const status: ToolStatus = live ? "running" : (eventData.status as ToolStatus) ?? "success";
|
|
73
|
+
const output: string | undefined = eventData.output_raw ?? eventData.output;
|
|
74
|
+
const hasArgs = !!args && Object.keys(args).length > 0;
|
|
75
|
+
const expandable = (hasArgs || !!output) && status !== "running";
|
|
76
|
+
const ToolIcon = getToolIcon(toolName, args);
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<div className={`${styles.ToolCard} ${CARD_CLASS[status] ?? styles.ToolCardDone}`}>
|
|
80
|
+
<button
|
|
81
|
+
type="button"
|
|
82
|
+
className={styles.ToolCardHeaderBtn}
|
|
83
|
+
onClick={expandable ? () => setExpanded((value) => !value) : undefined}
|
|
84
|
+
data-expandable={expandable ? "true" : undefined}
|
|
85
|
+
aria-expanded={expandable ? expanded : undefined}
|
|
86
|
+
>
|
|
87
|
+
<StatusIcon status={status} />
|
|
88
|
+
<ToolIcon size={12} className={styles.ToolCardToolIcon} />
|
|
89
|
+
<span className={styles.ToolCardName}>{live ? `Invoking ${toolDisplayName(toolName, args)}…` : toolDisplayName(toolName, args)}</span>
|
|
90
|
+
{eventData.summary && <span className={styles.ToolCardDesc} title={eventData.summary}>{eventData.summary}</span>}
|
|
91
|
+
<span className={styles.ToolCardBadge}>{toolCategory(toolName)}</span>
|
|
92
|
+
{eventData.duration_ms != null && <span className={styles.ToolCardDuration}>{formatDuration(eventData.duration_ms)}</span>}
|
|
93
|
+
{expandable && <ChevronRight size={11} className={`${styles.ToolCardChevron} ${expanded ? styles.ToolCardChevronOpen : ""}`} />}
|
|
94
|
+
</button>
|
|
95
|
+
|
|
96
|
+
{/* Progress sub-steps: always visible */}
|
|
97
|
+
{progress.length > 0 && (
|
|
98
|
+
<div className={styles.ToolCardProgress}>
|
|
99
|
+
{progress.map((step, index) => (
|
|
100
|
+
<div key={index} className={`${styles.ToolProgressItem} ${step.status === "running" ? styles.ToolProgressRunning : styles.ToolProgressDone}`}>
|
|
101
|
+
{step.status === "running" ? <Loader2 size={10} className={styles.Spin} /> : <CheckCircle2 size={10} />}
|
|
102
|
+
<span className={styles.ToolProgressLabel}>{step.label}</span>
|
|
103
|
+
{step.duration_ms != null && step.status === "done" && (
|
|
104
|
+
<span className={styles.ToolProgressDuration}>{formatDuration(step.duration_ms)}</span>
|
|
105
|
+
)}
|
|
106
|
+
</div>
|
|
107
|
+
))}
|
|
108
|
+
</div>
|
|
109
|
+
)}
|
|
110
|
+
|
|
111
|
+
{expanded && (
|
|
112
|
+
<div className={styles.ToolCardExpandable}>
|
|
113
|
+
{hasArgs && (
|
|
114
|
+
<div className={styles.ToolCardOutput}>
|
|
115
|
+
<div className={styles.ToolOutputHeader}>
|
|
116
|
+
<span>Arguments</span>
|
|
117
|
+
</div>
|
|
118
|
+
<pre className={styles.ToolOutputText}>{JSON.stringify(args, null, 2)}</pre>
|
|
119
|
+
</div>
|
|
120
|
+
)}
|
|
121
|
+
{output && (
|
|
122
|
+
<div className={styles.ToolCardOutput}>
|
|
123
|
+
<div className={styles.ToolOutputHeader}>
|
|
124
|
+
<span>Result</span>
|
|
125
|
+
</div>
|
|
126
|
+
<pre className={`${styles.ToolOutputText} ${status === "warning" ? styles.ToolOutputWarning : status === "error" ? styles.ToolOutputError : ""}`}>
|
|
127
|
+
{output}
|
|
128
|
+
</pre>
|
|
129
|
+
</div>
|
|
130
|
+
)}
|
|
131
|
+
</div>
|
|
132
|
+
)}
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
2
|
+
/**
|
|
3
|
+
* Fallback when `event_data.widget` names a widget that is not registered, or an event type has
|
|
4
|
+
* no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DefaultUnknownChatWidget: (props: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=DefaultUnknownChatWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultUnknownChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAAW,oBAAoB,4CAQnE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import styles from "../SolidAgent.module.css";
|
|
14
|
+
import { SolidJsonChatWidget } from "./SolidJsonChatWidget";
|
|
15
|
+
/**
|
|
16
|
+
* Fallback when `event_data.widget` names a widget that is not registered, or an event type has
|
|
17
|
+
* no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
|
|
18
|
+
*/
|
|
19
|
+
export var DefaultUnknownChatWidget = function (props) {
|
|
20
|
+
var _a;
|
|
21
|
+
var label = ((_a = props.eventData) === null || _a === void 0 ? void 0 : _a.widget) ? "Unknown widget: ".concat(props.eventData.widget) : "Unhandled event: ".concat(props.eventType);
|
|
22
|
+
return (_jsxs("div", { className: styles.widgetFallback, children: [_jsx("span", { children: label }), _jsx(SolidJsonChatWidget, __assign({}, props, { eventData: { title: "Event data", data: props.eventData } }))] }));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=DefaultUnknownChatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultUnknownChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUnknownChatWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,IAAM,wBAAwB,GAAG,UAAC,KAA2B;;IAChE,IAAM,KAAK,GAAG,CAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,MAAM,EAAC,CAAC,CAAC,0BAAmB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,2BAAoB,KAAK,CAAC,SAAS,CAAE,CAAC;IAC5H,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,cAAc,aACjC,yBAAO,KAAK,GAAQ,EACpB,KAAC,mBAAmB,eAAK,KAAK,IAAE,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,IAC3F,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidJsonChatWidget } from \"./SolidJsonChatWidget\";\n\n/**\n * Fallback when `event_data.widget` names a widget that is not registered, or an event type has\n * no default widget: the payload is shown as collapsible JSON so nothing silently disappears.\n */\nexport const DefaultUnknownChatWidget = (props: SolidChatWidgetProps) => {\n const label = props.eventData?.widget ? `Unknown widget: ${props.eventData.widget}` : `Unhandled event: ${props.eventType}`;\n return (\n <div className={styles.widgetFallback}>\n <span>{label}</span>\n <SolidJsonChatWidget {...props} eventData={{ title: \"Event data\", data: props.eventData }} />\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styles from "../SolidAgent.module.css";
|
|
2
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
3
|
+
import { SolidJsonChatWidget } from "./SolidJsonChatWidget";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Fallback when `event_data.widget` names a widget that is not registered, or an event type has
|
|
7
|
+
* no default widget: the payload is shown as collapsible JSON so nothing silently disappears.
|
|
8
|
+
*/
|
|
9
|
+
export const DefaultUnknownChatWidget = (props: SolidChatWidgetProps) => {
|
|
10
|
+
const label = props.eventData?.widget ? `Unknown widget: ${props.eventData.widget}` : `Unhandled event: ${props.eventType}`;
|
|
11
|
+
return (
|
|
12
|
+
<div className={styles.widgetFallback}>
|
|
13
|
+
<span>{label}</span>
|
|
14
|
+
<SolidJsonChatWidget {...props} eventData={{ title: "Event data", data: props.eventData }} />
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
2
|
+
/**
|
|
3
|
+
* Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
|
|
4
|
+
* Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
|
|
5
|
+
* History only carries attachment metadata, so reloaded images show as chips.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DefaultUserMessageChatWidget: ({ eventData, timestamp }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=DefaultUserMessageChatWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultUserMessageChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,6BAA8B,oBAAoB,4CA8D1F,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { FileText, ImageIcon, User } from "lucide-react";
|
|
4
|
+
import styles from "./solidChatWidgets.module.css";
|
|
5
|
+
import { SolidAgentMessageCopyButton } from "../SolidAgentMarkdown";
|
|
6
|
+
import { formatFileSize } from "../agentAttachments";
|
|
7
|
+
import { asArray, formatChatTime } from "./chatWidgetUtils";
|
|
8
|
+
/**
|
|
9
|
+
* Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
|
|
10
|
+
* Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
|
|
11
|
+
* History only carries attachment metadata, so reloaded images show as chips.
|
|
12
|
+
*/
|
|
13
|
+
export var DefaultUserMessageChatWidget = function (_a) {
|
|
14
|
+
var _b;
|
|
15
|
+
var eventData = _a.eventData, timestamp = _a.timestamp;
|
|
16
|
+
var content = String((_b = eventData.content) !== null && _b !== void 0 ? _b : "");
|
|
17
|
+
var attachments = asArray(eventData.attachments);
|
|
18
|
+
var _c = useState(null), zoom = _c[0], setZoom = _c[1];
|
|
19
|
+
return (_jsxs("div", { className: "".concat(styles.Row, " ").concat(styles.RowUser), children: [_jsx("div", { className: "".concat(styles.Avatar, " ").concat(styles.AvatarUser), children: _jsx(User, { size: 12 }) }), _jsxs("div", { className: styles.BubbleGroup, children: [attachments.length > 0 && (_jsx("ul", { className: styles.MessageAttachments, "aria-label": "Attachments", children: attachments.map(function (file, index) {
|
|
20
|
+
var _a, _b, _c, _d;
|
|
21
|
+
// previewUrl: attached in this browser session; url: stored copy (history).
|
|
22
|
+
var imageSrc = ((_a = file.mimeType) === null || _a === void 0 ? void 0 : _a.startsWith("image/")) ? (_b = file.previewUrl) !== null && _b !== void 0 ? _b : file.url : undefined;
|
|
23
|
+
if (imageSrc) {
|
|
24
|
+
return (_jsx("li", { children: _jsx("button", { type: "button", className: styles.MessageAttachmentImageBtn, onClick: function () { return setZoom(imageSrc); }, title: file.name, children: _jsx("img", { className: styles.MessageAttachmentImage, src: imageSrc, alt: file.name }) }) }, index));
|
|
25
|
+
}
|
|
26
|
+
var chip = (_jsxs(_Fragment, { children: [((_c = file.mimeType) === null || _c === void 0 ? void 0 : _c.startsWith("image/")) ? _jsx(ImageIcon, { size: 13 }) : _jsx(FileText, { size: 13 }), _jsx("span", { className: styles.MessageAttachmentName, children: file.name }), _jsx("span", { className: styles.MessageAttachmentSize, children: formatFileSize((_d = file.size) !== null && _d !== void 0 ? _d : 0) })] }));
|
|
27
|
+
return (_jsx("li", { title: file.name, children: file.url ? (_jsx("a", { className: styles.MessageAttachmentFile, href: file.url, target: "_blank", rel: "noopener noreferrer", children: chip })) : (_jsx("span", { className: styles.MessageAttachmentFile, children: chip })) }, index));
|
|
28
|
+
}) })), content && (_jsx("div", { className: "".concat(styles.Bubble, " ").concat(styles.BubbleUser), children: _jsx("p", { className: styles.UserText, children: content }) })), _jsxs("div", { className: "".concat(styles.BubbleMeta, " ").concat(styles.BubbleMetaUser), children: [_jsx("span", { className: styles.Timestamp, children: formatChatTime(timestamp) }), content && _jsx(SolidAgentMessageCopyButton, { text: content })] })] }), zoom && (_jsx("div", { className: styles.AttachmentLightbox, role: "dialog", "aria-label": "Image preview", onClick: function () { return setZoom(null); }, children: _jsx("img", { src: zoom, alt: "" }) }))] }));
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=DefaultUserMessageChatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultUserMessageChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/DefaultUserMessageChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport { FileText, ImageIcon, User } from \"lucide-react\";\nimport styles from \"./solidChatWidgets.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidAgentMessageCopyButton } from \"../SolidAgentMarkdown\";\nimport { formatFileSize } from \"../agentAttachments\";\nimport type { AgentAttachmentMeta } from \"../types\";\nimport { asArray, formatChatTime } from \"./chatWidgetUtils\";\n\n/**\n * Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.\n * Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.\n * History only carries attachment metadata, so reloaded images show as chips.\n */\nexport const DefaultUserMessageChatWidget = ({ eventData, timestamp }: SolidChatWidgetProps) => {\n const content = String(eventData.content ?? \"\");\n const attachments = asArray<AgentAttachmentMeta>(eventData.attachments);\n const [zoom, setZoom] = useState<string | null>(null);\n\n return (\n <div className={`${styles.Row} ${styles.RowUser}`}>\n {/* Avatar first in DOM → rightmost with row-reverse */}\n <div className={`${styles.Avatar} ${styles.AvatarUser}`}>\n <User size={12} />\n </div>\n <div className={styles.BubbleGroup}>\n {attachments.length > 0 && (\n <ul className={styles.MessageAttachments} aria-label=\"Attachments\">\n {attachments.map((file, index) => {\n // previewUrl: attached in this browser session; url: stored copy (history).\n const imageSrc = file.mimeType?.startsWith(\"image/\") ? file.previewUrl ?? file.url : undefined;\n if (imageSrc) {\n return (\n <li key={index}>\n <button type=\"button\" className={styles.MessageAttachmentImageBtn} onClick={() => setZoom(imageSrc)} title={file.name}>\n <img className={styles.MessageAttachmentImage} src={imageSrc} alt={file.name} />\n </button>\n </li>\n );\n }\n const chip = (\n <>\n {file.mimeType?.startsWith(\"image/\") ? <ImageIcon size={13} /> : <FileText size={13} />}\n <span className={styles.MessageAttachmentName}>{file.name}</span>\n <span className={styles.MessageAttachmentSize}>{formatFileSize(file.size ?? 0)}</span>\n </>\n );\n return (\n <li key={index} title={file.name}>\n {file.url ? (\n <a className={styles.MessageAttachmentFile} href={file.url} target=\"_blank\" rel=\"noopener noreferrer\">{chip}</a>\n ) : (\n <span className={styles.MessageAttachmentFile}>{chip}</span>\n )}\n </li>\n );\n })}\n </ul>\n )}\n {content && (\n <div className={`${styles.Bubble} ${styles.BubbleUser}`}>\n <p className={styles.UserText}>{content}</p>\n </div>\n )}\n <div className={`${styles.BubbleMeta} ${styles.BubbleMetaUser}`}>\n <span className={styles.Timestamp}>{formatChatTime(timestamp)}</span>\n {content && <SolidAgentMessageCopyButton text={content} />}\n </div>\n </div>\n {zoom && (\n <div className={styles.AttachmentLightbox} role=\"dialog\" aria-label=\"Image preview\" onClick={() => setZoom(null)}>\n <img src={zoom} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { FileText, ImageIcon, User } from "lucide-react";
|
|
3
|
+
import styles from "./solidChatWidgets.module.css";
|
|
4
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
5
|
+
import { SolidAgentMessageCopyButton } from "../SolidAgentMarkdown";
|
|
6
|
+
import { formatFileSize } from "../agentAttachments";
|
|
7
|
+
import type { AgentAttachmentMeta } from "../types";
|
|
8
|
+
import { asArray, formatChatTime } from "./chatWidgetUtils";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Default widget for `UserMessage`: dark right-aligned bubble with avatar, time and copy on hover.
|
|
12
|
+
* Attachments show above the bubble: image thumbnails (click to enlarge) or file chips.
|
|
13
|
+
* History only carries attachment metadata, so reloaded images show as chips.
|
|
14
|
+
*/
|
|
15
|
+
export const DefaultUserMessageChatWidget = ({ eventData, timestamp }: SolidChatWidgetProps) => {
|
|
16
|
+
const content = String(eventData.content ?? "");
|
|
17
|
+
const attachments = asArray<AgentAttachmentMeta>(eventData.attachments);
|
|
18
|
+
const [zoom, setZoom] = useState<string | null>(null);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<div className={`${styles.Row} ${styles.RowUser}`}>
|
|
22
|
+
{/* Avatar first in DOM → rightmost with row-reverse */}
|
|
23
|
+
<div className={`${styles.Avatar} ${styles.AvatarUser}`}>
|
|
24
|
+
<User size={12} />
|
|
25
|
+
</div>
|
|
26
|
+
<div className={styles.BubbleGroup}>
|
|
27
|
+
{attachments.length > 0 && (
|
|
28
|
+
<ul className={styles.MessageAttachments} aria-label="Attachments">
|
|
29
|
+
{attachments.map((file, index) => {
|
|
30
|
+
// previewUrl: attached in this browser session; url: stored copy (history).
|
|
31
|
+
const imageSrc = file.mimeType?.startsWith("image/") ? file.previewUrl ?? file.url : undefined;
|
|
32
|
+
if (imageSrc) {
|
|
33
|
+
return (
|
|
34
|
+
<li key={index}>
|
|
35
|
+
<button type="button" className={styles.MessageAttachmentImageBtn} onClick={() => setZoom(imageSrc)} title={file.name}>
|
|
36
|
+
<img className={styles.MessageAttachmentImage} src={imageSrc} alt={file.name} />
|
|
37
|
+
</button>
|
|
38
|
+
</li>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
const chip = (
|
|
42
|
+
<>
|
|
43
|
+
{file.mimeType?.startsWith("image/") ? <ImageIcon size={13} /> : <FileText size={13} />}
|
|
44
|
+
<span className={styles.MessageAttachmentName}>{file.name}</span>
|
|
45
|
+
<span className={styles.MessageAttachmentSize}>{formatFileSize(file.size ?? 0)}</span>
|
|
46
|
+
</>
|
|
47
|
+
);
|
|
48
|
+
return (
|
|
49
|
+
<li key={index} title={file.name}>
|
|
50
|
+
{file.url ? (
|
|
51
|
+
<a className={styles.MessageAttachmentFile} href={file.url} target="_blank" rel="noopener noreferrer">{chip}</a>
|
|
52
|
+
) : (
|
|
53
|
+
<span className={styles.MessageAttachmentFile}>{chip}</span>
|
|
54
|
+
)}
|
|
55
|
+
</li>
|
|
56
|
+
);
|
|
57
|
+
})}
|
|
58
|
+
</ul>
|
|
59
|
+
)}
|
|
60
|
+
{content && (
|
|
61
|
+
<div className={`${styles.Bubble} ${styles.BubbleUser}`}>
|
|
62
|
+
<p className={styles.UserText}>{content}</p>
|
|
63
|
+
</div>
|
|
64
|
+
)}
|
|
65
|
+
<div className={`${styles.BubbleMeta} ${styles.BubbleMetaUser}`}>
|
|
66
|
+
<span className={styles.Timestamp}>{formatChatTime(timestamp)}</span>
|
|
67
|
+
{content && <SolidAgentMessageCopyButton text={content} />}
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
{zoom && (
|
|
71
|
+
<div className={styles.AttachmentLightbox} role="dialog" aria-label="Image preview" onClick={() => setZoom(null)}>
|
|
72
|
+
<img src={zoom} alt="" />
|
|
73
|
+
</div>
|
|
74
|
+
)}
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
2
|
+
/**
|
|
3
|
+
* `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
|
|
4
|
+
* Replies with the ids of the ticked items.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SolidChecklistChatWidget: ({ eventData, final, reply }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=SolidChecklistChatWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidChecklistChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,gCAAiC,oBAAoB,4CA4CzF,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useState } from "react";
|
|
14
|
+
import styles from "../SolidAgent.module.css";
|
|
15
|
+
import { asArray, getChatWidgetData } from "./chatWidgetUtils";
|
|
16
|
+
/**
|
|
17
|
+
* `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
|
|
18
|
+
* Replies with the ids of the ticked items.
|
|
19
|
+
*/
|
|
20
|
+
export var SolidChecklistChatWidget = function (_a) {
|
|
21
|
+
var _b;
|
|
22
|
+
var eventData = _a.eventData, final = _a.final, reply = _a.reply;
|
|
23
|
+
var data = getChatWidgetData(eventData);
|
|
24
|
+
var items = asArray(data.items).map(function (item, index) { var _a; return (__assign(__assign({}, item), { id: (_a = item.id) !== null && _a !== void 0 ? _a : String(index) })); });
|
|
25
|
+
var _c = useState(function () { return new Set(items.filter(function (item) { return item.checked; }).map(function (item) { return item.id; })); }), checked = _c[0], setChecked = _c[1];
|
|
26
|
+
var _d = useState(false), sent = _d[0], setSent = _d[1];
|
|
27
|
+
var locked = final || sent;
|
|
28
|
+
var toggle = function (id) {
|
|
29
|
+
return setChecked(function (prev) {
|
|
30
|
+
var next = new Set(prev);
|
|
31
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
32
|
+
return next;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
return (_jsxs("div", { className: styles.card, children: [data.title && _jsx("div", { className: styles.cardHead, children: data.title }), _jsx("div", { className: styles.cardBody, children: items.map(function (item) { return (_jsxs("label", { className: styles.checkRow, children: [_jsx("input", { type: "checkbox", checked: checked.has(item.id), disabled: locked, onChange: function () { return toggle(item.id); } }), _jsxs("span", { children: [item.label, item.description && _jsx("span", { style: { display: "block", fontSize: 12, color: "var(--agent-muted)" }, children: item.description })] })] }, item.id)); }) }), !locked && (_jsx("div", { className: styles.cardFoot, children: _jsx("button", { type: "button", className: "".concat(styles.btn, " ").concat(styles.btnPrimary), onClick: function () {
|
|
36
|
+
setSent(true);
|
|
37
|
+
reply(Array.from(checked));
|
|
38
|
+
}, children: (_b = data.submitLabel) !== null && _b !== void 0 ? _b : "Continue" }) }))] }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=SolidChecklistChatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidChecklistChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidChecklistChatWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { asArray, getChatWidgetData } from \"./chatWidgetUtils\";\n\ntype ChecklistItem = { id?: string; label: string; checked?: boolean; description?: string };\ntype ChecklistData = { title?: string; items?: ChecklistItem[]; submitLabel?: string };\n\n/**\n * `event_data: { widget: \"checklist\", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.\n * Replies with the ids of the ticked items.\n */\nexport const SolidChecklistChatWidget = ({ eventData, final, reply }: SolidChatWidgetProps) => {\n const data = getChatWidgetData<ChecklistData>(eventData);\n const items = asArray<ChecklistItem>(data.items).map((item, index) => ({ ...item, id: item.id ?? String(index) }));\n const [checked, setChecked] = useState<Set<string>>(() => new Set(items.filter((item) => item.checked).map((item) => item.id)));\n const [sent, setSent] = useState(false);\n const locked = final || sent;\n\n const toggle = (id: string) =>\n setChecked((prev) => {\n const next = new Set(prev);\n next.has(id) ? next.delete(id) : next.add(id);\n return next;\n });\n\n return (\n <div className={styles.card}>\n {data.title && <div className={styles.cardHead}>{data.title}</div>}\n <div className={styles.cardBody}>\n {items.map((item) => (\n <label key={item.id} className={styles.checkRow}>\n <input type=\"checkbox\" checked={checked.has(item.id)} disabled={locked} onChange={() => toggle(item.id)} />\n <span>\n {item.label}\n {item.description && <span style={{ display: \"block\", fontSize: 12, color: \"var(--agent-muted)\" }}>{item.description}</span>}\n </span>\n </label>\n ))}\n </div>\n {!locked && (\n <div className={styles.cardFoot}>\n <button\n type=\"button\"\n className={`${styles.btn} ${styles.btnPrimary}`}\n onClick={() => {\n setSent(true);\n reply(Array.from(checked));\n }}\n >\n {data.submitLabel ?? \"Continue\"}\n </button>\n </div>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import styles from "../SolidAgent.module.css";
|
|
3
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
4
|
+
import { asArray, getChatWidgetData } from "./chatWidgetUtils";
|
|
5
|
+
|
|
6
|
+
type ChecklistItem = { id?: string; label: string; checked?: boolean; description?: string };
|
|
7
|
+
type ChecklistData = { title?: string; items?: ChecklistItem[]; submitLabel?: string };
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* `event_data: { widget: "checklist", title?, items: [{ id, label, checked?, description? }], submitLabel? }`.
|
|
11
|
+
* Replies with the ids of the ticked items.
|
|
12
|
+
*/
|
|
13
|
+
export const SolidChecklistChatWidget = ({ eventData, final, reply }: SolidChatWidgetProps) => {
|
|
14
|
+
const data = getChatWidgetData<ChecklistData>(eventData);
|
|
15
|
+
const items = asArray<ChecklistItem>(data.items).map((item, index) => ({ ...item, id: item.id ?? String(index) }));
|
|
16
|
+
const [checked, setChecked] = useState<Set<string>>(() => new Set(items.filter((item) => item.checked).map((item) => item.id)));
|
|
17
|
+
const [sent, setSent] = useState(false);
|
|
18
|
+
const locked = final || sent;
|
|
19
|
+
|
|
20
|
+
const toggle = (id: string) =>
|
|
21
|
+
setChecked((prev) => {
|
|
22
|
+
const next = new Set(prev);
|
|
23
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
24
|
+
return next;
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<div className={styles.card}>
|
|
29
|
+
{data.title && <div className={styles.cardHead}>{data.title}</div>}
|
|
30
|
+
<div className={styles.cardBody}>
|
|
31
|
+
{items.map((item) => (
|
|
32
|
+
<label key={item.id} className={styles.checkRow}>
|
|
33
|
+
<input type="checkbox" checked={checked.has(item.id)} disabled={locked} onChange={() => toggle(item.id)} />
|
|
34
|
+
<span>
|
|
35
|
+
{item.label}
|
|
36
|
+
{item.description && <span style={{ display: "block", fontSize: 12, color: "var(--agent-muted)" }}>{item.description}</span>}
|
|
37
|
+
</span>
|
|
38
|
+
</label>
|
|
39
|
+
))}
|
|
40
|
+
</div>
|
|
41
|
+
{!locked && (
|
|
42
|
+
<div className={styles.cardFoot}>
|
|
43
|
+
<button
|
|
44
|
+
type="button"
|
|
45
|
+
className={`${styles.btn} ${styles.btnPrimary}`}
|
|
46
|
+
onClick={() => {
|
|
47
|
+
setSent(true);
|
|
48
|
+
reply(Array.from(checked));
|
|
49
|
+
}}
|
|
50
|
+
>
|
|
51
|
+
{data.submitLabel ?? "Continue"}
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
)}
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SolidChatWidgetProps } from "../../../../types/solid-core";
|
|
2
|
+
/** `event_data: { widget: "code", code, language?, filename? }` — a code block with copy. */
|
|
3
|
+
export declare const SolidCodeChatWidget: ({ eventData }: SolidChatWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=SolidCodeChatWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidCodeChatWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,kBAAmB,oBAAoB,4CAYtE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import styles from "../SolidAgent.module.css";
|
|
3
|
+
import { SolidAgentCopyButton } from "../SolidAgentMarkdown";
|
|
4
|
+
import { getChatWidgetData } from "./chatWidgetUtils";
|
|
5
|
+
/** `event_data: { widget: "code", code, language?, filename? }` — a code block with copy. */
|
|
6
|
+
export var SolidCodeChatWidget = function (_a) {
|
|
7
|
+
var _b, _c, _d;
|
|
8
|
+
var eventData = _a.eventData;
|
|
9
|
+
var data = getChatWidgetData(eventData);
|
|
10
|
+
var code = String((_b = data.code) !== null && _b !== void 0 ? _b : "");
|
|
11
|
+
return (_jsxs("div", { className: styles.card, children: [_jsxs("div", { className: styles.cardHead, children: [_jsx("span", { className: styles.mono, style: { flex: 1 }, children: (_d = (_c = data.filename) !== null && _c !== void 0 ? _c : data.language) !== null && _d !== void 0 ? _d : "code" }), _jsx(SolidAgentCopyButton, { text: code, label: "Copy code" })] }), _jsx("pre", { className: styles.pre, style: { borderRadius: 0 }, children: code })] }));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=SolidCodeChatWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidCodeChatWidget.js","sourceRoot":"","sources":["../../../../../src/components/core/solid-agent/widgets/SolidCodeChatWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,6FAA6F;AAC7F,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAmC;;QAAjC,SAAS,eAAA;IAC3C,IAAM,IAAI,GAAG,iBAAiB,CAA0D,SAAS,CAAC,CAAC;IACnG,IAAM,IAAI,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IACrC,OAAO,CACH,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACvB,eAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,aAC3B,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,mCAAI,MAAM,GAAQ,EACnG,KAAC,oBAAoB,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW,GAAG,IACpD,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAG,IAAI,GAAO,IAClE,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import styles from \"../SolidAgent.module.css\";\nimport { SolidChatWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidAgentCopyButton } from \"../SolidAgentMarkdown\";\nimport { getChatWidgetData } from \"./chatWidgetUtils\";\n\n/** `event_data: { widget: \"code\", code, language?, filename? }` — a code block with copy. */\nexport const SolidCodeChatWidget = ({ eventData }: SolidChatWidgetProps) => {\n const data = getChatWidgetData<{ code?: string; language?: string; filename?: string }>(eventData);\n const code = String(data.code ?? \"\");\n return (\n <div className={styles.card}>\n <div className={styles.cardHead}>\n <span className={styles.mono} style={{ flex: 1 }}>{data.filename ?? data.language ?? \"code\"}</span>\n <SolidAgentCopyButton text={code} label=\"Copy code\" />\n </div>\n <pre className={styles.pre} style={{ borderRadius: 0 }}>{code}</pre>\n </div>\n );\n};\n"]}
|