@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,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single mount point of the SolidX Agent in the admin shell (rendered by AdminLayout).
|
|
3
|
+
* Shows the floating bubble and the chat window; hidden unless the `solidAgentEnabled` setting
|
|
4
|
+
* is on, `solidxAgentBackendUrl` is set and the user has agent:invoke. Ctrl/Cmd+J toggles the window,
|
|
5
|
+
* Esc inside it minimizes back to the bubble.
|
|
6
|
+
*/
|
|
7
|
+
export default function SolidAgentHost(): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=SolidAgentHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidAgentHost.d.ts","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentHost.tsx"],"names":[],"mappings":"AAiCA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,mDA4HrC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
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 { useCallback, useEffect, useRef, useState } from "react";
|
|
14
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
15
|
+
import { Sparkles } from "lucide-react";
|
|
16
|
+
import styles from "./SolidAgent.module.css";
|
|
17
|
+
import { agentModeChanged, agentOpenRequested } from "../../../redux/features/agentSlice";
|
|
18
|
+
import { SolidAgentChat } from "./SolidAgentChat";
|
|
19
|
+
import { useAgentAvailability } from "./useAgentAvailability";
|
|
20
|
+
import { useAdminInputContext } from "./useAdminInputContext";
|
|
21
|
+
var PREFS_KEY = "solid-agent.window";
|
|
22
|
+
var MIN_DOCK = 360;
|
|
23
|
+
var MAX_DOCK = 720;
|
|
24
|
+
function readPrefs() {
|
|
25
|
+
var _a;
|
|
26
|
+
try {
|
|
27
|
+
var parsed = JSON.parse((_a = localStorage.getItem(PREFS_KEY)) !== null && _a !== void 0 ? _a : "{}");
|
|
28
|
+
var mode = ["compact", "docked", "maximized"].includes(parsed.mode) ? parsed.mode : undefined;
|
|
29
|
+
return { dockWidth: Number(parsed.dockWidth) || 420, open: parsed.open === true, mode: mode };
|
|
30
|
+
}
|
|
31
|
+
catch (_b) {
|
|
32
|
+
return { dockWidth: 420 };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function writePrefs(prefs) {
|
|
36
|
+
try {
|
|
37
|
+
localStorage.setItem(PREFS_KEY, JSON.stringify(__assign(__assign({}, readPrefs()), prefs)));
|
|
38
|
+
}
|
|
39
|
+
catch (_a) {
|
|
40
|
+
// ignore
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The single mount point of the SolidX Agent in the admin shell (rendered by AdminLayout).
|
|
45
|
+
* Shows the floating bubble and the chat window; hidden unless the `solidAgentEnabled` setting
|
|
46
|
+
* is on, `solidxAgentBackendUrl` is set and the user has agent:invoke. Ctrl/Cmd+J toggles the window,
|
|
47
|
+
* Esc inside it minimizes back to the bubble.
|
|
48
|
+
*/
|
|
49
|
+
export default function SolidAgentHost() {
|
|
50
|
+
var _a;
|
|
51
|
+
var dispatch = useDispatch();
|
|
52
|
+
var _b = useAgentAvailability(), ready = _b.ready, enabled = _b.enabled, agentUrl = _b.agentUrl, canUse = _b.canUse;
|
|
53
|
+
var inputContext = useAdminInputContext();
|
|
54
|
+
var agent = useSelector(function (state) { return state.solidAgent; });
|
|
55
|
+
var _c = useState(function () { return readPrefs().dockWidth; }), dockWidth = _c[0], setDockWidth = _c[1];
|
|
56
|
+
var prefsHydrated = useRef(false);
|
|
57
|
+
var skipNextPrefsWrite = useRef(false);
|
|
58
|
+
var windowRef = useRef(null);
|
|
59
|
+
var openerRef = useRef(null);
|
|
60
|
+
var available = ready && enabled && canUse && !!agentUrl && !!agent;
|
|
61
|
+
var mode = (_a = agent === null || agent === void 0 ? void 0 : agent.mode) !== null && _a !== void 0 ? _a : "bubble";
|
|
62
|
+
var isOpen = available && mode !== "bubble";
|
|
63
|
+
// Restore the last visible presentation after the host has verified this user's access.
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
if (!ready || !available || prefsHydrated.current)
|
|
66
|
+
return;
|
|
67
|
+
prefsHydrated.current = true;
|
|
68
|
+
var prefs = readPrefs();
|
|
69
|
+
if (prefs.open && prefs.mode) {
|
|
70
|
+
if (mode !== prefs.mode)
|
|
71
|
+
skipNextPrefsWrite.current = true;
|
|
72
|
+
dispatch(agentModeChanged(prefs.mode));
|
|
73
|
+
}
|
|
74
|
+
}, [ready, available, dispatch, mode]);
|
|
75
|
+
// Keep visibility and presentation in localStorage. When closed, retain the last mode so
|
|
76
|
+
// the preference still records how the window had been presented.
|
|
77
|
+
useEffect(function () {
|
|
78
|
+
if (!prefsHydrated.current || !available)
|
|
79
|
+
return;
|
|
80
|
+
if (skipNextPrefsWrite.current) {
|
|
81
|
+
skipNextPrefsWrite.current = false;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (mode !== "bubble")
|
|
85
|
+
writePrefs({ open: true, mode: mode });
|
|
86
|
+
else
|
|
87
|
+
writePrefs({ open: false });
|
|
88
|
+
}, [available, mode]);
|
|
89
|
+
var toggle = useCallback(function () {
|
|
90
|
+
if (!available)
|
|
91
|
+
return;
|
|
92
|
+
if (isOpen)
|
|
93
|
+
dispatch(agentModeChanged("bubble"));
|
|
94
|
+
else {
|
|
95
|
+
openerRef.current = document.activeElement;
|
|
96
|
+
dispatch(agentOpenRequested());
|
|
97
|
+
}
|
|
98
|
+
}, [available, isOpen, dispatch]);
|
|
99
|
+
// Ctrl/Cmd + J toggles the chat from anywhere in the admin app.
|
|
100
|
+
useEffect(function () {
|
|
101
|
+
if (!available)
|
|
102
|
+
return;
|
|
103
|
+
var onKey = function (event) {
|
|
104
|
+
if ((event.ctrlKey || event.metaKey) && !event.shiftKey && !event.altKey && event.key.toLowerCase() === "j") {
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
toggle();
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
window.addEventListener("keydown", onKey);
|
|
110
|
+
return function () { return window.removeEventListener("keydown", onKey); };
|
|
111
|
+
}, [available, toggle]);
|
|
112
|
+
// Docked mode pushes the admin shell over instead of covering it.
|
|
113
|
+
useEffect(function () {
|
|
114
|
+
var docked = isOpen && mode === "docked";
|
|
115
|
+
document.body.classList.toggle("solid-agent-docked", docked);
|
|
116
|
+
document.documentElement.style.setProperty("--solid-agent-docked-width", "".concat(dockWidth, "px"));
|
|
117
|
+
return function () { return document.body.classList.remove("solid-agent-docked"); };
|
|
118
|
+
}, [isOpen, mode, dockWidth]);
|
|
119
|
+
// Focus returns to whatever opened the chat when it is minimized.
|
|
120
|
+
useEffect(function () {
|
|
121
|
+
if (!isOpen && openerRef.current instanceof HTMLElement) {
|
|
122
|
+
openerRef.current.focus();
|
|
123
|
+
openerRef.current = null;
|
|
124
|
+
}
|
|
125
|
+
}, [isOpen]);
|
|
126
|
+
var startResize = function (event) {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
var onMove = function (move) {
|
|
129
|
+
setDockWidth(Math.max(MIN_DOCK, Math.min(MAX_DOCK, window.innerWidth - move.clientX)));
|
|
130
|
+
};
|
|
131
|
+
var onUp = function () {
|
|
132
|
+
window.removeEventListener("pointermove", onMove);
|
|
133
|
+
window.removeEventListener("pointerup", onUp);
|
|
134
|
+
setDockWidth(function (width) {
|
|
135
|
+
writePrefs({ dockWidth: width });
|
|
136
|
+
return width;
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
window.addEventListener("pointermove", onMove);
|
|
140
|
+
window.addEventListener("pointerup", onUp);
|
|
141
|
+
};
|
|
142
|
+
if (!available || !agentUrl)
|
|
143
|
+
return null;
|
|
144
|
+
var frameClass = mode === "docked" ? styles.docked : mode === "maximized" ? styles.maximized : styles.compact;
|
|
145
|
+
return (_jsx("div", { className: styles.root, children: isOpen ? (_jsxs("div", { ref: windowRef, className: "".concat(styles.window, " ").concat(frameClass), style: mode === "docked" ? { width: dockWidth } : undefined, role: "complementary", "aria-label": "SolidX Agent", onKeyDown: function (event) {
|
|
146
|
+
if (event.key === "Escape") {
|
|
147
|
+
event.stopPropagation();
|
|
148
|
+
dispatch(agentModeChanged("bubble"));
|
|
149
|
+
}
|
|
150
|
+
}, children: [mode === "docked" && _jsx("div", { className: styles.resizeHandle, onPointerDown: startResize, "aria-hidden": "true" }), _jsx(SolidAgentChat, { agentUrl: agentUrl, inputContext: inputContext })] })) : (_jsxs("button", { type: "button", className: styles.bubble, onClick: toggle, "aria-label": "Open the SolidX Agent (Ctrl+J)", title: "SolidX Agent (Ctrl+J)", children: [_jsx(Sparkles, { size: 22 }), (agent === null || agent === void 0 ? void 0 : agent.working) && _jsx("span", { className: styles.bubbleBadge, "aria-label": "Agent is working" })] })) }));
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=SolidAgentHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidAgentHost.js","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentHost.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAmB,MAAM,oCAAoC,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,IAAM,SAAS,GAAG,oBAAoB,CAAC;AACvC,IAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,IAAM,QAAQ,GAAG,GAAG,CAAC;AAGrB,SAAS,SAAS;;IACd,IAAI;QACA,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,CAAC;QACnE,IAAM,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;QACvH,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,MAAA,EAAE,CAAC;KAC3F;IAAC,WAAM;QACJ,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KAC7B;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAA2B;IAC3C,IAAI;QACA,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,uBAAM,SAAS,EAAE,GAAK,KAAK,EAAG,CAAC,CAAC;KACjF;IAAC,WAAM;QACJ,SAAS;KACZ;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc;;IAClC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IACzB,IAAA,KAAuC,oBAAoB,EAAE,EAA3D,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAA2B,CAAC;IACpE,IAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,IAAM,KAAK,GAAG,WAAW,CAAC,UAAC,KAAU,IAAK,OAAA,KAAK,CAAC,UAAoC,EAA1C,CAA0C,CAAC,CAAC;IAChF,IAAA,KAA4B,QAAQ,CAAC,cAAM,OAAA,SAAS,EAAE,CAAC,SAAS,EAArB,CAAqB,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAC;IACxE,IAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,IAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,IAAM,SAAS,GAAG,KAAK,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC;IACtE,IAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,QAAQ,CAAC;IACrC,IAAM,MAAM,GAAG,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;IAE9C,wFAAwF;IACxF,SAAS,CAAC;QACN,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO;QAC1D,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;YAC1B,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI;gBAAE,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3D,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1C;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvC,yFAAyF;IACzF,kEAAkE;IAClE,SAAS,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO;QACjD,IAAI,kBAAkB,CAAC,OAAO,EAAE;YAC5B,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,OAAO;SACV;QACD,IAAI,IAAI,KAAK,QAAQ;YAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;;YACnD,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtB,IAAM,MAAM,GAAG,WAAW,CAAC;QACvB,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,MAAM;YAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC5C;YACD,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC3C,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;SAClC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,gEAAgE;IAChE,SAAS,CAAC;QACN,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAM,KAAK,GAAG,UAAC,KAAoB;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;gBACzG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC;aACZ;QACL,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,EAA5C,CAA4C,CAAC;IAC9D,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExB,kEAAkE;IAClE,SAAS,CAAC;QACN,IAAM,MAAM,GAAG,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAC7D,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,UAAG,SAAS,OAAI,CAAC,CAAC;QAC3F,OAAO,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAApD,CAAoD,CAAC;IACtE,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,kEAAkE;IAClE,SAAS,CAAC;QACN,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,YAAY,WAAW,EAAE;YACrD,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;SAC5B;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,WAAW,GAAG,UAAC,KAAyB;QAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAM,MAAM,GAAG,UAAC,IAAkB;YAC9B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC;QACF,IAAM,IAAI,GAAG;YACT,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9C,YAAY,CAAC,UAAC,KAAK;gBACf,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjC,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,IAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IAEhH,OAAO,CACH,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YACtB,MAAM,CAAC,CAAC,CAAC,CACN,eACI,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAG,MAAM,CAAC,MAAM,cAAI,UAAU,CAAE,EAC3C,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,EAC3D,IAAI,EAAC,eAAe,gBACT,cAAc,EACzB,SAAS,EAAE,UAAC,KAAK;gBACb,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;oBACxB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxC;YACL,CAAC,aAEA,IAAI,KAAK,QAAQ,IAAI,cAAK,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,iBAAc,MAAM,GAAG,EAC5G,KAAC,cAAc,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAI,IAChE,CACT,CAAC,CAAC,CAAC,CACA,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAa,gCAAgC,EAAC,KAAK,EAAC,uBAAuB,aACtI,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACrB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,eAAM,SAAS,EAAE,MAAM,CAAC,WAAW,gBAAa,kBAAkB,GAAG,IACnF,CACZ,GACC,CACT,CAAC;AACN,CAAC","sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Sparkles } from \"lucide-react\";\nimport styles from \"./SolidAgent.module.css\";\nimport { agentModeChanged, agentOpenRequested, type AgentState } from \"../../../redux/features/agentSlice\";\nimport { SolidAgentChat } from \"./SolidAgentChat\";\nimport { useAgentAvailability } from \"./useAgentAvailability\";\nimport { useAdminInputContext } from \"./useAdminInputContext\";\nimport type { AgentMode } from \"./types\";\n\nconst PREFS_KEY = \"solid-agent.window\";\nconst MIN_DOCK = 360;\nconst MAX_DOCK = 720;\ntype WindowPrefs = { dockWidth: number; open?: boolean; mode?: Exclude<AgentMode, \"bubble\"> };\n\nfunction readPrefs(): WindowPrefs {\n try {\n const parsed = JSON.parse(localStorage.getItem(PREFS_KEY) ?? \"{}\");\n const mode = [\"compact\", \"docked\", \"maximized\"].includes(parsed.mode) ? parsed.mode as WindowPrefs[\"mode\"] : undefined;\n return { dockWidth: Number(parsed.dockWidth) || 420, open: parsed.open === true, mode };\n } catch {\n return { dockWidth: 420 };\n }\n}\n\nfunction writePrefs(prefs: Partial<WindowPrefs>) {\n try {\n localStorage.setItem(PREFS_KEY, JSON.stringify({ ...readPrefs(), ...prefs }));\n } catch {\n // ignore\n }\n}\n\n/**\n * The single mount point of the SolidX Agent in the admin shell (rendered by AdminLayout).\n * Shows the floating bubble and the chat window; hidden unless the `solidAgentEnabled` setting\n * is on, `solidxAgentBackendUrl` is set and the user has agent:invoke. Ctrl/Cmd+J toggles the window,\n * Esc inside it minimizes back to the bubble.\n */\nexport default function SolidAgentHost() {\n const dispatch = useDispatch();\n const { ready, enabled, agentUrl, canUse } = useAgentAvailability();\n const inputContext = useAdminInputContext();\n const agent = useSelector((state: any) => state.solidAgent as AgentState | undefined);\n const [dockWidth, setDockWidth] = useState(() => readPrefs().dockWidth);\n const prefsHydrated = useRef(false);\n const skipNextPrefsWrite = useRef(false);\n const windowRef = useRef<HTMLDivElement>(null);\n const openerRef = useRef<Element | null>(null);\n\n const available = ready && enabled && canUse && !!agentUrl && !!agent;\n const mode = agent?.mode ?? \"bubble\";\n const isOpen = available && mode !== \"bubble\";\n\n // Restore the last visible presentation after the host has verified this user's access.\n useEffect(() => {\n if (!ready || !available || prefsHydrated.current) return;\n prefsHydrated.current = true;\n const prefs = readPrefs();\n if (prefs.open && prefs.mode) {\n if (mode !== prefs.mode) skipNextPrefsWrite.current = true;\n dispatch(agentModeChanged(prefs.mode));\n }\n }, [ready, available, dispatch, mode]);\n\n // Keep visibility and presentation in localStorage. When closed, retain the last mode so\n // the preference still records how the window had been presented.\n useEffect(() => {\n if (!prefsHydrated.current || !available) return;\n if (skipNextPrefsWrite.current) {\n skipNextPrefsWrite.current = false;\n return;\n }\n if (mode !== \"bubble\") writePrefs({ open: true, mode });\n else writePrefs({ open: false });\n }, [available, mode]);\n\n const toggle = useCallback(() => {\n if (!available) return;\n if (isOpen) dispatch(agentModeChanged(\"bubble\"));\n else {\n openerRef.current = document.activeElement;\n dispatch(agentOpenRequested());\n }\n }, [available, isOpen, dispatch]);\n\n // Ctrl/Cmd + J toggles the chat from anywhere in the admin app.\n useEffect(() => {\n if (!available) return;\n const onKey = (event: KeyboardEvent) => {\n if ((event.ctrlKey || event.metaKey) && !event.shiftKey && !event.altKey && event.key.toLowerCase() === \"j\") {\n event.preventDefault();\n toggle();\n }\n };\n window.addEventListener(\"keydown\", onKey);\n return () => window.removeEventListener(\"keydown\", onKey);\n }, [available, toggle]);\n\n // Docked mode pushes the admin shell over instead of covering it.\n useEffect(() => {\n const docked = isOpen && mode === \"docked\";\n document.body.classList.toggle(\"solid-agent-docked\", docked);\n document.documentElement.style.setProperty(\"--solid-agent-docked-width\", `${dockWidth}px`);\n return () => document.body.classList.remove(\"solid-agent-docked\");\n }, [isOpen, mode, dockWidth]);\n\n // Focus returns to whatever opened the chat when it is minimized.\n useEffect(() => {\n if (!isOpen && openerRef.current instanceof HTMLElement) {\n openerRef.current.focus();\n openerRef.current = null;\n }\n }, [isOpen]);\n\n const startResize = (event: React.PointerEvent) => {\n event.preventDefault();\n const onMove = (move: PointerEvent) => {\n setDockWidth(Math.max(MIN_DOCK, Math.min(MAX_DOCK, window.innerWidth - move.clientX)));\n };\n const onUp = () => {\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n setDockWidth((width) => {\n writePrefs({ dockWidth: width });\n return width;\n });\n };\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n };\n\n if (!available || !agentUrl) return null;\n\n const frameClass = mode === \"docked\" ? styles.docked : mode === \"maximized\" ? styles.maximized : styles.compact;\n\n return (\n <div className={styles.root}>\n {isOpen ? (\n <div\n ref={windowRef}\n className={`${styles.window} ${frameClass}`}\n style={mode === \"docked\" ? { width: dockWidth } : undefined}\n role=\"complementary\"\n aria-label=\"SolidX Agent\"\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.stopPropagation();\n dispatch(agentModeChanged(\"bubble\"));\n }\n }}\n >\n {mode === \"docked\" && <div className={styles.resizeHandle} onPointerDown={startResize} aria-hidden=\"true\" />}\n <SolidAgentChat agentUrl={agentUrl} inputContext={inputContext} />\n </div>\n ) : (\n <button type=\"button\" className={styles.bubble} onClick={toggle} aria-label=\"Open the SolidX Agent (Ctrl+J)\" title=\"SolidX Agent (Ctrl+J)\">\n <Sparkles size={22} />\n {agent?.working && <span className={styles.bubbleBadge} aria-label=\"Agent is working\" />}\n </button>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
3
|
+
import { Sparkles } from "lucide-react";
|
|
4
|
+
import styles from "./SolidAgent.module.css";
|
|
5
|
+
import { agentModeChanged, agentOpenRequested, type AgentState } from "../../../redux/features/agentSlice";
|
|
6
|
+
import { SolidAgentChat } from "./SolidAgentChat";
|
|
7
|
+
import { useAgentAvailability } from "./useAgentAvailability";
|
|
8
|
+
import { useAdminInputContext } from "./useAdminInputContext";
|
|
9
|
+
import type { AgentMode } from "./types";
|
|
10
|
+
|
|
11
|
+
const PREFS_KEY = "solid-agent.window";
|
|
12
|
+
const MIN_DOCK = 360;
|
|
13
|
+
const MAX_DOCK = 720;
|
|
14
|
+
type WindowPrefs = { dockWidth: number; open?: boolean; mode?: Exclude<AgentMode, "bubble"> };
|
|
15
|
+
|
|
16
|
+
function readPrefs(): WindowPrefs {
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(localStorage.getItem(PREFS_KEY) ?? "{}");
|
|
19
|
+
const mode = ["compact", "docked", "maximized"].includes(parsed.mode) ? parsed.mode as WindowPrefs["mode"] : undefined;
|
|
20
|
+
return { dockWidth: Number(parsed.dockWidth) || 420, open: parsed.open === true, mode };
|
|
21
|
+
} catch {
|
|
22
|
+
return { dockWidth: 420 };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function writePrefs(prefs: Partial<WindowPrefs>) {
|
|
27
|
+
try {
|
|
28
|
+
localStorage.setItem(PREFS_KEY, JSON.stringify({ ...readPrefs(), ...prefs }));
|
|
29
|
+
} catch {
|
|
30
|
+
// ignore
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The single mount point of the SolidX Agent in the admin shell (rendered by AdminLayout).
|
|
36
|
+
* Shows the floating bubble and the chat window; hidden unless the `solidAgentEnabled` setting
|
|
37
|
+
* is on, `solidxAgentBackendUrl` is set and the user has agent:invoke. Ctrl/Cmd+J toggles the window,
|
|
38
|
+
* Esc inside it minimizes back to the bubble.
|
|
39
|
+
*/
|
|
40
|
+
export default function SolidAgentHost() {
|
|
41
|
+
const dispatch = useDispatch();
|
|
42
|
+
const { ready, enabled, agentUrl, canUse } = useAgentAvailability();
|
|
43
|
+
const inputContext = useAdminInputContext();
|
|
44
|
+
const agent = useSelector((state: any) => state.solidAgent as AgentState | undefined);
|
|
45
|
+
const [dockWidth, setDockWidth] = useState(() => readPrefs().dockWidth);
|
|
46
|
+
const prefsHydrated = useRef(false);
|
|
47
|
+
const skipNextPrefsWrite = useRef(false);
|
|
48
|
+
const windowRef = useRef<HTMLDivElement>(null);
|
|
49
|
+
const openerRef = useRef<Element | null>(null);
|
|
50
|
+
|
|
51
|
+
const available = ready && enabled && canUse && !!agentUrl && !!agent;
|
|
52
|
+
const mode = agent?.mode ?? "bubble";
|
|
53
|
+
const isOpen = available && mode !== "bubble";
|
|
54
|
+
|
|
55
|
+
// Restore the last visible presentation after the host has verified this user's access.
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (!ready || !available || prefsHydrated.current) return;
|
|
58
|
+
prefsHydrated.current = true;
|
|
59
|
+
const prefs = readPrefs();
|
|
60
|
+
if (prefs.open && prefs.mode) {
|
|
61
|
+
if (mode !== prefs.mode) skipNextPrefsWrite.current = true;
|
|
62
|
+
dispatch(agentModeChanged(prefs.mode));
|
|
63
|
+
}
|
|
64
|
+
}, [ready, available, dispatch, mode]);
|
|
65
|
+
|
|
66
|
+
// Keep visibility and presentation in localStorage. When closed, retain the last mode so
|
|
67
|
+
// the preference still records how the window had been presented.
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (!prefsHydrated.current || !available) return;
|
|
70
|
+
if (skipNextPrefsWrite.current) {
|
|
71
|
+
skipNextPrefsWrite.current = false;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (mode !== "bubble") writePrefs({ open: true, mode });
|
|
75
|
+
else writePrefs({ open: false });
|
|
76
|
+
}, [available, mode]);
|
|
77
|
+
|
|
78
|
+
const toggle = useCallback(() => {
|
|
79
|
+
if (!available) return;
|
|
80
|
+
if (isOpen) dispatch(agentModeChanged("bubble"));
|
|
81
|
+
else {
|
|
82
|
+
openerRef.current = document.activeElement;
|
|
83
|
+
dispatch(agentOpenRequested());
|
|
84
|
+
}
|
|
85
|
+
}, [available, isOpen, dispatch]);
|
|
86
|
+
|
|
87
|
+
// Ctrl/Cmd + J toggles the chat from anywhere in the admin app.
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (!available) return;
|
|
90
|
+
const onKey = (event: KeyboardEvent) => {
|
|
91
|
+
if ((event.ctrlKey || event.metaKey) && !event.shiftKey && !event.altKey && event.key.toLowerCase() === "j") {
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
toggle();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
window.addEventListener("keydown", onKey);
|
|
97
|
+
return () => window.removeEventListener("keydown", onKey);
|
|
98
|
+
}, [available, toggle]);
|
|
99
|
+
|
|
100
|
+
// Docked mode pushes the admin shell over instead of covering it.
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
const docked = isOpen && mode === "docked";
|
|
103
|
+
document.body.classList.toggle("solid-agent-docked", docked);
|
|
104
|
+
document.documentElement.style.setProperty("--solid-agent-docked-width", `${dockWidth}px`);
|
|
105
|
+
return () => document.body.classList.remove("solid-agent-docked");
|
|
106
|
+
}, [isOpen, mode, dockWidth]);
|
|
107
|
+
|
|
108
|
+
// Focus returns to whatever opened the chat when it is minimized.
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (!isOpen && openerRef.current instanceof HTMLElement) {
|
|
111
|
+
openerRef.current.focus();
|
|
112
|
+
openerRef.current = null;
|
|
113
|
+
}
|
|
114
|
+
}, [isOpen]);
|
|
115
|
+
|
|
116
|
+
const startResize = (event: React.PointerEvent) => {
|
|
117
|
+
event.preventDefault();
|
|
118
|
+
const onMove = (move: PointerEvent) => {
|
|
119
|
+
setDockWidth(Math.max(MIN_DOCK, Math.min(MAX_DOCK, window.innerWidth - move.clientX)));
|
|
120
|
+
};
|
|
121
|
+
const onUp = () => {
|
|
122
|
+
window.removeEventListener("pointermove", onMove);
|
|
123
|
+
window.removeEventListener("pointerup", onUp);
|
|
124
|
+
setDockWidth((width) => {
|
|
125
|
+
writePrefs({ dockWidth: width });
|
|
126
|
+
return width;
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
window.addEventListener("pointermove", onMove);
|
|
130
|
+
window.addEventListener("pointerup", onUp);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
if (!available || !agentUrl) return null;
|
|
134
|
+
|
|
135
|
+
const frameClass = mode === "docked" ? styles.docked : mode === "maximized" ? styles.maximized : styles.compact;
|
|
136
|
+
|
|
137
|
+
return (
|
|
138
|
+
<div className={styles.root}>
|
|
139
|
+
{isOpen ? (
|
|
140
|
+
<div
|
|
141
|
+
ref={windowRef}
|
|
142
|
+
className={`${styles.window} ${frameClass}`}
|
|
143
|
+
style={mode === "docked" ? { width: dockWidth } : undefined}
|
|
144
|
+
role="complementary"
|
|
145
|
+
aria-label="SolidX Agent"
|
|
146
|
+
onKeyDown={(event) => {
|
|
147
|
+
if (event.key === "Escape") {
|
|
148
|
+
event.stopPropagation();
|
|
149
|
+
dispatch(agentModeChanged("bubble"));
|
|
150
|
+
}
|
|
151
|
+
}}
|
|
152
|
+
>
|
|
153
|
+
{mode === "docked" && <div className={styles.resizeHandle} onPointerDown={startResize} aria-hidden="true" />}
|
|
154
|
+
<SolidAgentChat agentUrl={agentUrl} inputContext={inputContext} />
|
|
155
|
+
</div>
|
|
156
|
+
) : (
|
|
157
|
+
<button type="button" className={styles.bubble} onClick={toggle} aria-label="Open the SolidX Agent (Ctrl+J)" title="SolidX Agent (Ctrl+J)">
|
|
158
|
+
<Sparkles size={22} />
|
|
159
|
+
{agent?.working && <span className={styles.bubbleBadge} aria-label="Agent is working" />}
|
|
160
|
+
</button>
|
|
161
|
+
)}
|
|
162
|
+
</div>
|
|
163
|
+
);
|
|
164
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Only http(s), mailto and in-app paths are followed; anything else (javascript:, data:) is dropped. */
|
|
2
|
+
export declare function safeHref(href?: string): string | undefined;
|
|
3
|
+
/** Icon-only copy button (toolbar style), used by the code / diff widgets. */
|
|
4
|
+
export declare function SolidAgentCopyButton({ text, label }: {
|
|
5
|
+
text: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
/** Small copy button shown under a message bubble on hover. */
|
|
9
|
+
export declare function SolidAgentMessageCopyButton({ text }: {
|
|
10
|
+
text: string;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
/** Markdown for agent text. Raw HTML in the source is never rendered (react-markdown default). */
|
|
13
|
+
export declare function SolidAgentMarkdown({ text }: {
|
|
14
|
+
text: string;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=SolidAgentMarkdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidAgentMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentMarkdown.tsx"],"names":[],"mappings":"AAOA,yGAAyG;AACzG,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1D;AAWD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmBrF;AAED,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,2CAmBrE;AA0DD,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,2CAQ5D"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
49
|
+
var t = {};
|
|
50
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
51
|
+
t[p] = s[p];
|
|
52
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
53
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
54
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
55
|
+
t[p[i]] = s[p[i]];
|
|
56
|
+
}
|
|
57
|
+
return t;
|
|
58
|
+
};
|
|
59
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
60
|
+
import { useState } from "react";
|
|
61
|
+
import ReactMarkdown from "react-markdown";
|
|
62
|
+
import remarkGfm from "remark-gfm";
|
|
63
|
+
import { Check, Copy } from "lucide-react";
|
|
64
|
+
import styles from "./SolidAgent.module.css";
|
|
65
|
+
import widgetStyles from "./widgets/solidChatWidgets.module.css";
|
|
66
|
+
/** Only http(s), mailto and in-app paths are followed; anything else (javascript:, data:) is dropped. */
|
|
67
|
+
export function safeHref(href) {
|
|
68
|
+
if (!href)
|
|
69
|
+
return undefined;
|
|
70
|
+
if (/^(https?:|mailto:)/i.test(href) || href.startsWith("/") || href.startsWith("#"))
|
|
71
|
+
return href;
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
function copyText(text, done) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
+
var _a;
|
|
77
|
+
return __generator(this, function (_b) {
|
|
78
|
+
switch (_b.label) {
|
|
79
|
+
case 0:
|
|
80
|
+
_b.trys.push([0, 2, , 3]);
|
|
81
|
+
return [4 /*yield*/, navigator.clipboard.writeText(text)];
|
|
82
|
+
case 1:
|
|
83
|
+
_b.sent();
|
|
84
|
+
done();
|
|
85
|
+
return [3 /*break*/, 3];
|
|
86
|
+
case 2:
|
|
87
|
+
_a = _b.sent();
|
|
88
|
+
return [3 /*break*/, 3];
|
|
89
|
+
case 3: return [2 /*return*/];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/** Icon-only copy button (toolbar style), used by the code / diff widgets. */
|
|
95
|
+
export function SolidAgentCopyButton(_a) {
|
|
96
|
+
var text = _a.text, label = _a.label;
|
|
97
|
+
var _b = useState(false), copied = _b[0], setCopied = _b[1];
|
|
98
|
+
return (_jsx("button", { type: "button", className: styles.iconBtn, "aria-label": label !== null && label !== void 0 ? label : "Copy", title: copied ? "Copied" : label !== null && label !== void 0 ? label : "Copy", onClick: function (event) {
|
|
99
|
+
event.stopPropagation();
|
|
100
|
+
void copyText(text, function () {
|
|
101
|
+
setCopied(true);
|
|
102
|
+
setTimeout(function () { return setCopied(false); }, 1600);
|
|
103
|
+
});
|
|
104
|
+
}, children: copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }) }));
|
|
105
|
+
}
|
|
106
|
+
/** Small copy button shown under a message bubble on hover. */
|
|
107
|
+
export function SolidAgentMessageCopyButton(_a) {
|
|
108
|
+
var text = _a.text;
|
|
109
|
+
var _b = useState(false), copied = _b[0], setCopied = _b[1];
|
|
110
|
+
return (_jsx("button", { type: "button", className: widgetStyles.CopyBtn, title: "Copy", "aria-label": "Copy message", onClick: function (event) {
|
|
111
|
+
event.stopPropagation();
|
|
112
|
+
void copyText(text, function () {
|
|
113
|
+
setCopied(true);
|
|
114
|
+
setTimeout(function () { return setCopied(false); }, 2000);
|
|
115
|
+
});
|
|
116
|
+
}, children: copied ? _jsx(Check, { size: 11 }) : _jsx(Copy, { size: 11 }) }));
|
|
117
|
+
}
|
|
118
|
+
function CodeBlock(_a) {
|
|
119
|
+
var _b;
|
|
120
|
+
var className = _a.className, children = _a.children;
|
|
121
|
+
var _c = useState(false), copied = _c[0], setCopied = _c[1];
|
|
122
|
+
var code = String(children !== null && children !== void 0 ? children : "").replace(/\n$/, "");
|
|
123
|
+
var lang = (_b = className === null || className === void 0 ? void 0 : className.replace("language-", "")) !== null && _b !== void 0 ? _b : "";
|
|
124
|
+
return (_jsxs("div", { className: widgetStyles.CodeBlockWrapper, children: [_jsxs("div", { className: widgetStyles.CodeBlockHeader, children: [_jsx("span", { className: widgetStyles.CodeLang, children: lang || "code" }), _jsxs("button", { type: "button", className: widgetStyles.CodeCopyBtn, onClick: function () {
|
|
125
|
+
return void copyText(code, function () {
|
|
126
|
+
setCopied(true);
|
|
127
|
+
setTimeout(function () { return setCopied(false); }, 2000);
|
|
128
|
+
});
|
|
129
|
+
}, children: [copied ? _jsx(Check, { size: 11 }) : _jsx(Copy, { size: 11 }), copied ? "Copied" : "Copy"] })] }), _jsx("pre", { className: widgetStyles.CodePre, children: _jsx("code", { children: code }) })] }));
|
|
130
|
+
}
|
|
131
|
+
var markdownComponents = {
|
|
132
|
+
code: function (_a) {
|
|
133
|
+
var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
|
|
134
|
+
// Only named fenced blocks (```lang) become a code block; everything else is inline code.
|
|
135
|
+
if (!/language-/.test(className || ""))
|
|
136
|
+
return _jsx("code", __assign({ className: widgetStyles.InlineCode }, rest, { children: children }));
|
|
137
|
+
return _jsx(CodeBlock, { className: className, children: children });
|
|
138
|
+
},
|
|
139
|
+
pre: function (_a) {
|
|
140
|
+
var children = _a.children;
|
|
141
|
+
return _jsx(_Fragment, { children: children });
|
|
142
|
+
},
|
|
143
|
+
table: function (_a) {
|
|
144
|
+
var children = _a.children;
|
|
145
|
+
return _jsx("div", { className: widgetStyles.MarkdownTableWrapper, children: _jsx("table", { children: children }) });
|
|
146
|
+
},
|
|
147
|
+
a: function (_a) {
|
|
148
|
+
var href = _a.href, children = _a.children;
|
|
149
|
+
var safe = safeHref(href);
|
|
150
|
+
if (!safe)
|
|
151
|
+
return _jsx("span", { children: children });
|
|
152
|
+
var external = /^https?:/i.test(safe);
|
|
153
|
+
return (_jsx("a", { href: safe, className: widgetStyles.MarkdownLink, target: external ? "_blank" : undefined, rel: external ? "noopener noreferrer" : undefined, children: children }));
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
/** Markdown for agent text. Raw HTML in the source is never rendered (react-markdown default). */
|
|
157
|
+
export function SolidAgentMarkdown(_a) {
|
|
158
|
+
var text = _a.text;
|
|
159
|
+
return (_jsx("div", { className: widgetStyles.MarkdownRoot, children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], components: markdownComponents, children: text }) }));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=SolidAgentMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidAgentMarkdown.js","sourceRoot":"","sources":["../../../../src/components/core/solid-agent/SolidAgentMarkdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport { Check, Copy } from \"lucide-react\";\nimport styles from \"./SolidAgent.module.css\";\nimport widgetStyles from \"./widgets/solidChatWidgets.module.css\";\n\n/** Only http(s), mailto and in-app paths are followed; anything else (javascript:, data:) is dropped. */\nexport function safeHref(href?: string): string | undefined {\n if (!href) return undefined;\n if (/^(https?:|mailto:)/i.test(href) || href.startsWith(\"/\") || href.startsWith(\"#\")) return href;\n return undefined;\n}\n\nasync function copyText(text: string, done: () => void) {\n try {\n await navigator.clipboard.writeText(text);\n done();\n } catch {\n // Clipboard blocked; the text stays selectable.\n }\n}\n\n/** Icon-only copy button (toolbar style), used by the code / diff widgets. */\nexport function SolidAgentCopyButton({ text, label }: { text: string; label?: string }) {\n const [copied, setCopied] = useState(false);\n return (\n <button\n type=\"button\"\n className={styles.iconBtn}\n aria-label={label ?? \"Copy\"}\n title={copied ? \"Copied\" : label ?? \"Copy\"}\n onClick={(event) => {\n event.stopPropagation();\n void copyText(text, () => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1600);\n });\n }}\n >\n {copied ? <Check size={14} /> : <Copy size={14} />}\n </button>\n );\n}\n\n/** Small copy button shown under a message bubble on hover. */\nexport function SolidAgentMessageCopyButton({ text }: { text: string }) {\n const [copied, setCopied] = useState(false);\n return (\n <button\n type=\"button\"\n className={widgetStyles.CopyBtn}\n title=\"Copy\"\n aria-label=\"Copy message\"\n onClick={(event) => {\n event.stopPropagation();\n void copyText(text, () => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n });\n }}\n >\n {copied ? <Check size={11} /> : <Copy size={11} />}\n </button>\n );\n}\n\nfunction CodeBlock({ className, children }: { className?: string; children?: React.ReactNode }) {\n const [copied, setCopied] = useState(false);\n const code = String(children ?? \"\").replace(/\\n$/, \"\");\n const lang = className?.replace(\"language-\", \"\") ?? \"\";\n return (\n <div className={widgetStyles.CodeBlockWrapper}>\n <div className={widgetStyles.CodeBlockHeader}>\n <span className={widgetStyles.CodeLang}>{lang || \"code\"}</span>\n <button\n type=\"button\"\n className={widgetStyles.CodeCopyBtn}\n onClick={() =>\n void copyText(code, () => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n })\n }\n >\n {copied ? <Check size={11} /> : <Copy size={11} />}\n {copied ? \"Copied\" : \"Copy\"}\n </button>\n </div>\n <pre className={widgetStyles.CodePre}><code>{code}</code></pre>\n </div>\n );\n}\n\nconst markdownComponents = {\n code({ className, children, ...rest }: any) {\n // Only named fenced blocks (```lang) become a code block; everything else is inline code.\n if (!/language-/.test(className || \"\")) return <code className={widgetStyles.InlineCode} {...rest}>{children}</code>;\n return <CodeBlock className={className}>{children}</CodeBlock>;\n },\n pre({ children }: any) {\n return <>{children}</>;\n },\n table({ children }: any) {\n return <div className={widgetStyles.MarkdownTableWrapper}><table>{children}</table></div>;\n },\n a({ href, children }: any) {\n const safe = safeHref(href);\n if (!safe) return <span>{children}</span>;\n const external = /^https?:/i.test(safe);\n return (\n <a\n href={safe}\n className={widgetStyles.MarkdownLink}\n target={external ? \"_blank\" : undefined}\n rel={external ? \"noopener noreferrer\" : undefined}\n >\n {children}\n </a>\n );\n },\n};\n\n/** Markdown for agent text. Raw HTML in the source is never rendered (react-markdown default). */\nexport function SolidAgentMarkdown({ text }: { text: string }) {\n return (\n <div className={widgetStyles.MarkdownRoot}>\n <ReactMarkdown remarkPlugins={[remarkGfm]} components={markdownComponents}>\n {text}\n </ReactMarkdown>\n </div>\n );\n}\n"]}
|