@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,702 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
49
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
50
|
+
if (ar || !(i in from)) {
|
|
51
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
52
|
+
ar[i] = from[i];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
56
|
+
};
|
|
57
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
58
|
+
import React from "react";
|
|
59
|
+
import { createPortal } from "react-dom";
|
|
60
|
+
import { ArrowLeft, ChevronDown, ExternalLink, FlaskConical, Pencil, Plus, RefreshCw, Trash2 } from "lucide-react";
|
|
61
|
+
import { useDispatch } from "react-redux";
|
|
62
|
+
import { useNavigate, useParams } from "react-router-dom";
|
|
63
|
+
import { createSolidEntityApi } from "../../../../redux/api/solidEntityApi";
|
|
64
|
+
import { useGetSolidSettingsQuery } from "../../../../redux/api/solidSettingsApi";
|
|
65
|
+
import { getSettingsMap } from "../../../../helpers/settingsPayload";
|
|
66
|
+
import { showToast } from "../../../../redux/features/toastSlice";
|
|
67
|
+
import { AgentRegistryAuditPanel } from "./AgentRegistryAuditPanel";
|
|
68
|
+
import { AgentResourceCardWidget } from "../../../../components/core/extension/solid-core/agentRegistry/card/AgentResourceCardWidget";
|
|
69
|
+
import { AgentSessionsPanel } from "../../../../components/core/extension/solid-core/agentToolRegistry/AgentToolSessionsPanel";
|
|
70
|
+
import { AgentProcessesPanel } from "../../../../components/core/extension/solid-core/agentToolRegistry/AgentProcessesPanel";
|
|
71
|
+
import { SolidWorkflowStatusPill } from "../../../../components/core/form/SolidDraftPublishWorkflow";
|
|
72
|
+
import { ALLOWED_MODELS_BY_PROVIDER } from "../../../../constants/allowed-ai-models";
|
|
73
|
+
import { SolidButton, SolidCodeEditor, SolidDialog, SolidDialogBody, SolidIconPicker, SolidInput, SolidTabGroup } from "../../../../components/shad-cn-ui";
|
|
74
|
+
import { SolidAgentEmbedded } from "../../../../components/core/solid-agent/SolidAgentEmbedded";
|
|
75
|
+
import { AgentEmbeddingPanel } from "../../../../components/core/solid-agent/embed/AgentEmbeddingPanel";
|
|
76
|
+
import "./AgentRegistryEditorPage.css";
|
|
77
|
+
var PROVIDER_LABELS = {
|
|
78
|
+
anthropic: "Anthropic",
|
|
79
|
+
openai: "OpenAI",
|
|
80
|
+
openrouter: "OpenRouter",
|
|
81
|
+
};
|
|
82
|
+
function ModelPicker(_a) {
|
|
83
|
+
var value = _a.value, options = _a.options, placeholder = _a.placeholder, onChange = _a.onChange;
|
|
84
|
+
var rootRef = React.useRef(null);
|
|
85
|
+
var menuRef = React.useRef(null);
|
|
86
|
+
var _b = React.useState(false), open = _b[0], setOpen = _b[1];
|
|
87
|
+
var _c = React.useState(""), query = _c[0], setQuery = _c[1];
|
|
88
|
+
var _d = React.useState(0), activeIndex = _d[0], setActiveIndex = _d[1];
|
|
89
|
+
var _e = React.useState({}), menuStyle = _e[0], setMenuStyle = _e[1];
|
|
90
|
+
var selected = options.find(function (option) { return option.value === value; });
|
|
91
|
+
var filtered = options.filter(function (option) {
|
|
92
|
+
return "".concat(PROVIDER_LABELS[option.provider], " ").concat(option.model).toLowerCase().includes(query.trim().toLowerCase());
|
|
93
|
+
});
|
|
94
|
+
var groups = Object.keys(ALLOWED_MODELS_BY_PROVIDER)
|
|
95
|
+
.map(function (provider) { return ({ provider: provider, options: filtered.filter(function (option) { return option.provider === provider; }) }); })
|
|
96
|
+
.filter(function (group) { return group.options.length > 0; });
|
|
97
|
+
React.useEffect(function () {
|
|
98
|
+
if (!open)
|
|
99
|
+
return;
|
|
100
|
+
var positionMenu = function () {
|
|
101
|
+
var _a;
|
|
102
|
+
var bounds = (_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
103
|
+
if (!bounds)
|
|
104
|
+
return;
|
|
105
|
+
var gap = 6;
|
|
106
|
+
var maxMenuHeight = Math.min(288, window.innerHeight - 24);
|
|
107
|
+
var spaceBelow = window.innerHeight - bounds.bottom - gap - 12;
|
|
108
|
+
var spaceAbove = bounds.top - gap - 12;
|
|
109
|
+
var openAbove = spaceBelow < Math.min(220, maxMenuHeight) && spaceAbove > spaceBelow;
|
|
110
|
+
var availableHeight = Math.max(120, Math.min(maxMenuHeight, openAbove ? spaceAbove : spaceBelow));
|
|
111
|
+
setMenuStyle(__assign({ position: "fixed", left: bounds.left, width: bounds.width, maxHeight: availableHeight }, (openAbove
|
|
112
|
+
? { bottom: window.innerHeight - bounds.top + gap }
|
|
113
|
+
: { top: bounds.bottom + gap })));
|
|
114
|
+
};
|
|
115
|
+
positionMenu();
|
|
116
|
+
window.addEventListener("resize", positionMenu);
|
|
117
|
+
window.addEventListener("scroll", positionMenu, true);
|
|
118
|
+
var handleOutsideClick = function (event) {
|
|
119
|
+
var _a, _b;
|
|
120
|
+
var target = event.target;
|
|
121
|
+
if (!((_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.contains(target)) && !((_b = menuRef.current) === null || _b === void 0 ? void 0 : _b.contains(target)))
|
|
122
|
+
setOpen(false);
|
|
123
|
+
};
|
|
124
|
+
document.addEventListener("mousedown", handleOutsideClick);
|
|
125
|
+
return function () {
|
|
126
|
+
window.removeEventListener("resize", positionMenu);
|
|
127
|
+
window.removeEventListener("scroll", positionMenu, true);
|
|
128
|
+
document.removeEventListener("mousedown", handleOutsideClick);
|
|
129
|
+
};
|
|
130
|
+
}, [open]);
|
|
131
|
+
var choose = function (option) {
|
|
132
|
+
onChange(option.value);
|
|
133
|
+
setQuery("");
|
|
134
|
+
setOpen(false);
|
|
135
|
+
};
|
|
136
|
+
var flatIndex = -1;
|
|
137
|
+
return _jsxs("div", { className: "agent-editor__model-picker", ref: rootRef, children: [_jsxs("div", { className: "agent-editor__model-control", children: [_jsx("input", { role: "combobox", "aria-expanded": open, "aria-autocomplete": "list", "aria-label": placeholder, placeholder: selected ? "".concat(PROVIDER_LABELS[selected.provider], " / ").concat(selected.model) : value || placeholder, value: open ? query : "", onFocus: function () { setQuery(""); setActiveIndex(0); setOpen(true); }, onChange: function (event) { setQuery(event.target.value); setActiveIndex(0); setOpen(true); }, onKeyDown: function (event) {
|
|
138
|
+
if (event.key === "Escape") {
|
|
139
|
+
setOpen(false);
|
|
140
|
+
setQuery("");
|
|
141
|
+
}
|
|
142
|
+
if (event.key === "ArrowDown") {
|
|
143
|
+
event.preventDefault();
|
|
144
|
+
setOpen(true);
|
|
145
|
+
setActiveIndex(function (index) { return Math.min(index + 1, filtered.length - 1); });
|
|
146
|
+
}
|
|
147
|
+
if (event.key === "ArrowUp") {
|
|
148
|
+
event.preventDefault();
|
|
149
|
+
setActiveIndex(function (index) { return Math.max(index - 1, 0); });
|
|
150
|
+
}
|
|
151
|
+
if (event.key === "Enter" && open && filtered[activeIndex]) {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
choose(filtered[activeIndex]);
|
|
154
|
+
}
|
|
155
|
+
} }), _jsx("button", { type: "button", "aria-label": open ? "Close model options" : "Show model options", onMouseDown: function (event) { return event.preventDefault(); }, onClick: function () { setOpen(function (current) { return !current; }); setQuery(""); }, children: _jsx(ChevronDown, { size: 16 }) })] }), open && createPortal(_jsx("div", { ref: menuRef, className: "agent-editor__model-menu", style: menuStyle, role: "listbox", children: !groups.length ? _jsx("div", { className: "agent-editor__model-empty", children: options.length ? "No matching models." : "No enabled providers. Add an API key in AI Settings." })
|
|
156
|
+
: groups.map(function (group) { return _jsxs("section", { className: "agent-editor__model-group", children: [_jsx("h3", { children: PROVIDER_LABELS[group.provider] }), group.options.map(function (option) {
|
|
157
|
+
flatIndex += 1;
|
|
158
|
+
var index = flatIndex;
|
|
159
|
+
return _jsxs("button", { type: "button", role: "option", "aria-selected": option.value === value, className: "agent-editor__model-option".concat(index === activeIndex ? " is-active" : ""), onMouseDown: function (event) { return event.preventDefault(); }, onMouseEnter: function () { return setActiveIndex(index); }, onClick: function () { return choose(option); }, children: [_jsx("span", { children: option.model }), _jsxs("small", { children: [option.provider, ":", option.model] })] }, option.value);
|
|
160
|
+
})] }, group.provider); }) }), document.body)] });
|
|
161
|
+
}
|
|
162
|
+
var entityApi = createSolidEntityApi("agentRegistry");
|
|
163
|
+
var skillApi = createSolidEntityApi("agentSkillRegistry");
|
|
164
|
+
var toolApi = createSolidEntityApi("agentToolRegistry");
|
|
165
|
+
var roleApi = createSolidEntityApi("roleMetadata");
|
|
166
|
+
var secretApi = createSolidEntityApi("secret");
|
|
167
|
+
var agentSkillApi = createSolidEntityApi("agentSkill");
|
|
168
|
+
var agentToolApi = createSolidEntityApi("agentTool");
|
|
169
|
+
var agentRoleApi = createSolidEntityApi("agentRole");
|
|
170
|
+
var agentSecretApi = createSolidEntityApi("agentSecret");
|
|
171
|
+
var jobApi = createSolidEntityApi("agentJob");
|
|
172
|
+
var skillFields = ["id", "name", "iconName", "description", "tags"];
|
|
173
|
+
var toolFields = __spreadArray(__spreadArray([], skillFields, true), ["type", "status", "lastLoadError"], false);
|
|
174
|
+
function fieldsQuery(fields) {
|
|
175
|
+
return fields.map(function (name) { return "fields=".concat(encodeURIComponent(name)); }).join("&");
|
|
176
|
+
}
|
|
177
|
+
var detailFields = [
|
|
178
|
+
"id", "name", "title", "description", "iconName", "systemPrompt", "requiredInputs",
|
|
179
|
+
"reasoningModelKey", "fastModelKey", "status", "stepLimit", "turnStepLimit", "costLimit", "configVersion",
|
|
180
|
+
];
|
|
181
|
+
var detailQuery = [
|
|
182
|
+
"agentRoles", "agentRoles.roleMetadata", "agentSecrets", "agentSecrets.secret",
|
|
183
|
+
].map(function (name, index) { return "populate[".concat(index, "]=").concat(name); }).join("&") + "&" + fieldsQuery(detailFields);
|
|
184
|
+
// Group by link ID to project summary columns without populating full registry records.
|
|
185
|
+
function resourceLinksQuery(id, relation, registry, setting, fields) {
|
|
186
|
+
return __spreadArray([
|
|
187
|
+
"filters[id][$eq]=".concat(encodeURIComponent(id)),
|
|
188
|
+
"groupBy[0]=".concat(relation, ".id"),
|
|
189
|
+
"groupBy[1]=".concat(relation, ".").concat(setting)
|
|
190
|
+
], fields.map(function (field, index) { return "aggregates[".concat(index, "]=").concat(relation, ".").concat(registry, ".").concat(field, ":max"); }), true).join("&");
|
|
191
|
+
}
|
|
192
|
+
function resourceLinksFrom(result, relation, registry, setting, fields) {
|
|
193
|
+
return items(result === null || result === void 0 ? void 0 : result.groupMeta).flatMap(function (group) {
|
|
194
|
+
var _a;
|
|
195
|
+
var _b;
|
|
196
|
+
var _c = String((_b = group.groupValue) !== null && _b !== void 0 ? _b : "").split("_"), linkId = _c[0], enabled = _c[1];
|
|
197
|
+
var resource = Object.fromEntries(fields.map(function (field) { return [field, group["".concat(relation, "_").concat(registry, "_").concat(field, "_max")]]; }));
|
|
198
|
+
if (!Number(linkId) || !Number(resource.id))
|
|
199
|
+
return [];
|
|
200
|
+
return [(_a = { id: Number(linkId) }, _a[registry] = __assign(__assign({}, resource), { id: Number(resource.id) }), _a[setting] = enabled === "true" || enabled === "1", _a)];
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
function recordFrom(value) {
|
|
204
|
+
var result = value;
|
|
205
|
+
for (var i = 0; i < 3 && result && typeof result === "object"; i += 1) {
|
|
206
|
+
if ("id" in result || "name" in result)
|
|
207
|
+
return result;
|
|
208
|
+
result = result.data;
|
|
209
|
+
}
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
function items(value) { return Array.isArray(value) ? value : value ? [value] : []; }
|
|
213
|
+
function agentFormFromRecord(record) {
|
|
214
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
215
|
+
var skills = items(record.agentSkills);
|
|
216
|
+
var tools = items(record.agentTools);
|
|
217
|
+
var secrets = items(record.agentSecrets);
|
|
218
|
+
return {
|
|
219
|
+
name: (_a = record.name) !== null && _a !== void 0 ? _a : "", title: (_b = record.title) !== null && _b !== void 0 ? _b : "", description: (_c = record.description) !== null && _c !== void 0 ? _c : "", iconName: (_d = record.iconName) !== null && _d !== void 0 ? _d : "",
|
|
220
|
+
inputs: parseInputs(record.requiredInputs), reasoningModelKey: (_e = record.reasoningModelKey) !== null && _e !== void 0 ? _e : "", fastModelKey: (_f = record.fastModelKey) !== null && _f !== void 0 ? _f : "",
|
|
221
|
+
systemPrompt: (_g = record.systemPrompt) !== null && _g !== void 0 ? _g : "", stepLimit: (_h = record.stepLimit) !== null && _h !== void 0 ? _h : 100, turnStepLimit: (_j = record.turnStepLimit) !== null && _j !== void 0 ? _j : 20,
|
|
222
|
+
costLimit: Number((_k = record.costLimit) !== null && _k !== void 0 ? _k : 3), skillIds: skills.map(function (link) { var _a; return (_a = link.agentSkillRegistry) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean),
|
|
223
|
+
toolIds: tools.map(function (link) { var _a; return (_a = link.agentToolRegistry) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean),
|
|
224
|
+
roleIds: items(record.agentRoles).map(function (link) { var _a; return (_a = link.roleMetadata) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean),
|
|
225
|
+
secretIds: secrets.map(function (link) { var _a; return (_a = link.secret) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean),
|
|
226
|
+
alwaysIncludeValues: Object.fromEntries(skills.map(function (link) { var _a; return [(_a = link.agentSkillRegistry) === null || _a === void 0 ? void 0 : _a.id, link.alwaysInclude !== false]; }).filter(function (_a) {
|
|
227
|
+
var key = _a[0];
|
|
228
|
+
return key;
|
|
229
|
+
})),
|
|
230
|
+
requiresApprovalValues: Object.fromEntries(tools.map(function (link) { var _a; return [(_a = link.agentToolRegistry) === null || _a === void 0 ? void 0 : _a.id, link.requiresApproval === true]; }).filter(function (_a) {
|
|
231
|
+
var key = _a[0];
|
|
232
|
+
return key;
|
|
233
|
+
})),
|
|
234
|
+
secretEnvVarNames: Object.fromEntries(secrets.map(function (link) { var _a, _b, _c, _d, _e, _f; return [(_a = link.secret) === null || _a === void 0 ? void 0 : _a.id, (_f = (_d = (_b = link.envVarName) !== null && _b !== void 0 ? _b : (_c = link.secret) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : (_e = link.secret) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : ""]; }).filter(function (_a) {
|
|
235
|
+
var key = _a[0];
|
|
236
|
+
return key;
|
|
237
|
+
})),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function parseInputs(value) {
|
|
241
|
+
try {
|
|
242
|
+
var parsed = typeof value === "string" ? JSON.parse(value) : value;
|
|
243
|
+
if (Array.isArray(parsed))
|
|
244
|
+
return parsed.map(function (input) {
|
|
245
|
+
var _a, _b, _c, _d, _e;
|
|
246
|
+
return ({
|
|
247
|
+
name: String((_b = (_a = input.name) !== null && _a !== void 0 ? _a : input.variableName) !== null && _b !== void 0 ? _b : ""), description: String((_c = input.description) !== null && _c !== void 0 ? _c : ""),
|
|
248
|
+
dataType: String((_e = (_d = input.dataType) !== null && _d !== void 0 ? _d : input.type) !== null && _e !== void 0 ? _e : "string"),
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
// Existing agent definitions may use a name-keyed object.
|
|
252
|
+
if (parsed && typeof parsed === "object")
|
|
253
|
+
return Object.entries(parsed).map(function (_a) {
|
|
254
|
+
var _b, _c, _d;
|
|
255
|
+
var name = _a[0], definition = _a[1];
|
|
256
|
+
return ({
|
|
257
|
+
name: name,
|
|
258
|
+
description: String((_b = definition === null || definition === void 0 ? void 0 : definition.description) !== null && _b !== void 0 ? _b : ""),
|
|
259
|
+
dataType: String((_d = (_c = definition === null || definition === void 0 ? void 0 : definition.dataType) !== null && _c !== void 0 ? _c : definition === null || definition === void 0 ? void 0 : definition.type) !== null && _d !== void 0 ? _d : "string"),
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
catch ( /* Keep malformed historical values from crashing the editor. */_a) { /* Keep malformed historical values from crashing the editor. */ }
|
|
264
|
+
return [];
|
|
265
|
+
}
|
|
266
|
+
function apiError(error) {
|
|
267
|
+
var _a, _b, _c, _d, _e;
|
|
268
|
+
var value = (_e = (_c = (_b = (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : (_d = error === null || error === void 0 ? void 0 : error.data) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : error === null || error === void 0 ? void 0 : error.message;
|
|
269
|
+
return Array.isArray(value) ? value.join("; ") : typeof value === "string" ? value : "The save failed.";
|
|
270
|
+
}
|
|
271
|
+
function useCatalog(api, query) {
|
|
272
|
+
if (query === void 0) { query = "offset=0&limit=1000"; }
|
|
273
|
+
var _a = api.useGetSolidEntitiesQuery(query), data = _a.data, isLoading = _a.isLoading, refetch = _a.refetch;
|
|
274
|
+
return { records: items(data === null || data === void 0 ? void 0 : data.records), isLoading: isLoading, refetch: refetch };
|
|
275
|
+
}
|
|
276
|
+
function LinkPicker(_a) {
|
|
277
|
+
var label = _a.label, description = _a.description, options = _a.options, selected = _a.selected, onAdd = _a.onAdd, onRemove = _a.onRemove, createUrl = _a.createUrl, render = _a.render, renderSettings = _a.renderSettings, linkFor = _a.linkFor;
|
|
278
|
+
var _b = React.useState(""), search = _b[0], setSearch = _b[1];
|
|
279
|
+
var _c = React.useState(false), open = _c[0], setOpen = _c[1];
|
|
280
|
+
var available = options.filter(function (item) {
|
|
281
|
+
var _a, _b, _c, _d;
|
|
282
|
+
return !selected.some(function (selectedItem) { return selectedItem.id === item.id; })
|
|
283
|
+
&& "".concat((_c = (_b = (_a = item.name) !== null && _a !== void 0 ? _a : item.displayName) !== null && _b !== void 0 ? _b : item.key) !== null && _c !== void 0 ? _c : "", " ").concat((_d = item.description) !== null && _d !== void 0 ? _d : "").toLowerCase().includes(search.toLowerCase());
|
|
284
|
+
}).slice(0, 20);
|
|
285
|
+
return _jsxs("section", { className: "agent-editor__section", children: [_jsxs("div", { className: "agent-editor__section-head", children: [_jsxs("div", { children: [_jsx("h2", { children: label }), _jsx("p", { children: description })] }), createUrl && _jsxs("a", { href: createUrl, target: "_blank", rel: "noopener noreferrer", className: "agent-editor__new-link", children: ["Create ", label === "Skills" ? "skill" : "tool", " ", _jsx(ExternalLink, { size: 14 })] })] }), _jsxs("div", { className: "agent-editor__picker", children: [_jsx(SolidInput, { value: search, placeholder: "Search and add ".concat(label.toLowerCase(), "\u2026"), "aria-label": "Search ".concat(label.toLowerCase()), onFocus: function () { return setOpen(true); }, onChange: function (event) { setSearch(event.target.value); setOpen(true); } }), open && _jsx("div", { className: "agent-editor__picker-results", children: available.length ? available.map(function (item) {
|
|
286
|
+
var _a, _b;
|
|
287
|
+
return _jsxs("button", { type: "button", onClick: function () { onAdd(item.id); setSearch(""); setOpen(false); }, children: [_jsx("strong", { children: (_b = (_a = item.name) !== null && _a !== void 0 ? _a : item.displayName) !== null && _b !== void 0 ? _b : item.key }), _jsx("span", { children: item.description })] }, item.id);
|
|
288
|
+
}) : _jsxs("p", { children: ["No available ", label.toLowerCase(), " found."] }) })] }), selected.length ? _jsx("div", { className: "agent-editor__cards", children: selected.map(function (item) {
|
|
289
|
+
var _a, _b;
|
|
290
|
+
return _jsxs("div", { className: "agent-editor__linked-card", children: [_jsx("div", { className: "agent-editor__card-content", children: render(item, linkFor === null || linkFor === void 0 ? void 0 : linkFor(item.id)) }), renderSettings === null || renderSettings === void 0 ? void 0 : renderSettings(item, linkFor === null || linkFor === void 0 ? void 0 : linkFor(item.id)), _jsx("button", { type: "button", "aria-label": "Remove ".concat((_b = (_a = item.name) !== null && _a !== void 0 ? _a : item.displayName) !== null && _b !== void 0 ? _b : item.key), onClick: function () { return onRemove(item.id); }, children: _jsx(Trash2, { size: 16 }) })] }, item.id);
|
|
291
|
+
}) }) : _jsxs("div", { className: "agent-editor__empty", children: ["No ", label.toLowerCase(), " linked yet."] })] });
|
|
292
|
+
}
|
|
293
|
+
export function AgentRegistryEditorPage() {
|
|
294
|
+
var _this = this;
|
|
295
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
296
|
+
var _l = useParams().id, id = _l === void 0 ? "new" : _l;
|
|
297
|
+
var navigate = useNavigate();
|
|
298
|
+
var dispatch = useDispatch();
|
|
299
|
+
var agentResult = entityApi.useGetSolidEntityByIdQuery({ id: id, qs: detailQuery }, { skip: id === "new" });
|
|
300
|
+
var skillLinks = entityApi.useGetSolidEntitiesQuery(resourceLinksQuery(id, "agentSkills", "agentSkillRegistry", "alwaysInclude", skillFields), { skip: id === "new" });
|
|
301
|
+
var toolLinks = entityApi.useGetSolidEntitiesQuery(resourceLinksQuery(id, "agentTools", "agentToolRegistry", "requiresApproval", toolFields), { skip: id === "new" });
|
|
302
|
+
var isLoading = agentResult.isLoading || skillLinks.isLoading || toolLinks.isLoading;
|
|
303
|
+
var isFetching = agentResult.isFetching || skillLinks.isFetching || toolLinks.isFetching;
|
|
304
|
+
var isError = agentResult.isError || skillLinks.isError || toolLinks.isError;
|
|
305
|
+
var response = React.useMemo(function () {
|
|
306
|
+
var agent = recordFrom(agentResult.currentData);
|
|
307
|
+
if (!agent || !skillLinks.currentData || !toolLinks.currentData)
|
|
308
|
+
return undefined;
|
|
309
|
+
return __assign(__assign({}, agent), { agentSkills: resourceLinksFrom(skillLinks.currentData, "agentSkills", "agentSkillRegistry", "alwaysInclude", skillFields), agentTools: resourceLinksFrom(toolLinks.currentData, "agentTools", "agentToolRegistry", "requiresApproval", toolFields) });
|
|
310
|
+
}, [agentResult.currentData, skillLinks.currentData, toolLinks.currentData]);
|
|
311
|
+
var _m = useGetSolidSettingsQuery(undefined), settings = _m.data, settingsError = _m.isError;
|
|
312
|
+
var skills = useCatalog(skillApi, "offset=0&limit=1000&".concat(fieldsQuery(skillFields)));
|
|
313
|
+
var tools = useCatalog(toolApi, "offset=0&limit=1000&".concat(fieldsQuery(toolFields)));
|
|
314
|
+
var roles = useCatalog(roleApi, "offset=0&limit=1000&populate[0]=module");
|
|
315
|
+
var secrets = useCatalog(secretApi, "offset=0&limit=1000&fields[0]=id&fields[1]=key&fields[2]=displayName&fields[3]=description");
|
|
316
|
+
var _o = entityApi.useCreateSolidEntityMutation(), createAgent = _o[0], creating = _o[1].isLoading;
|
|
317
|
+
var _p = entityApi.useUpdateSolidEntityMutation(), updateAgent = _p[0], updating = _p[1].isLoading;
|
|
318
|
+
var createSkillLink = agentSkillApi.useCreateSolidEntityMutation()[0];
|
|
319
|
+
var deleteSkillLink = agentSkillApi.useDeleteSolidEntityMutation()[0];
|
|
320
|
+
var updateSkillLink = agentSkillApi.useUpdateSolidEntityMutation()[0];
|
|
321
|
+
var createToolLink = agentToolApi.useCreateSolidEntityMutation()[0];
|
|
322
|
+
var deleteToolLink = agentToolApi.useDeleteSolidEntityMutation()[0];
|
|
323
|
+
var updateToolLink = agentToolApi.useUpdateSolidEntityMutation()[0];
|
|
324
|
+
var createRoleLink = agentRoleApi.useCreateSolidEntityMutation()[0];
|
|
325
|
+
var deleteRoleLink = agentRoleApi.useDeleteSolidEntityMutation()[0];
|
|
326
|
+
var createSecretLink = agentSecretApi.useCreateSolidEntityMutation()[0];
|
|
327
|
+
var deleteSecretLink = agentSecretApi.useDeleteSolidEntityMutation()[0];
|
|
328
|
+
var updateSecretLink = agentSecretApi.useUpdateSolidEntityMutation()[0];
|
|
329
|
+
var record = recordFrom(response);
|
|
330
|
+
var _q = React.useState("basics"), tab = _q[0], setTab = _q[1];
|
|
331
|
+
var jobs = jobApi.useGetSolidEntitiesQuery("offset=0&limit=1000&filters[agent][id][$eq]=".concat(encodeURIComponent(id), "&").concat(fieldsQuery(["id", "status"])), { skip: id === "new" || tab !== "jobs" });
|
|
332
|
+
var refetch = function () {
|
|
333
|
+
void agentResult.refetch();
|
|
334
|
+
void skillLinks.refetch();
|
|
335
|
+
void toolLinks.refetch();
|
|
336
|
+
if (tab === "jobs")
|
|
337
|
+
void jobs.refetch();
|
|
338
|
+
};
|
|
339
|
+
var _r = React.useState(false), testAgentOpen = _r[0], setTestAgentOpen = _r[1];
|
|
340
|
+
var _s = React.useState("maximized"), testAgentWindowMode = _s[0], setTestAgentWindowMode = _s[1];
|
|
341
|
+
var _t = React.useState(""), name = _t[0], setName = _t[1];
|
|
342
|
+
var _u = React.useState(""), title = _u[0], setTitle = _u[1];
|
|
343
|
+
var _v = React.useState(""), description = _v[0], setDescription = _v[1];
|
|
344
|
+
var _w = React.useState(""), iconName = _w[0], setIconName = _w[1];
|
|
345
|
+
var _x = React.useState([]), inputs = _x[0], setInputs = _x[1];
|
|
346
|
+
var _y = React.useState(""), reasoningModelKey = _y[0], setReasoningModelKey = _y[1];
|
|
347
|
+
var _z = React.useState(""), fastModelKey = _z[0], setFastModelKey = _z[1];
|
|
348
|
+
var _0 = React.useState(""), systemPrompt = _0[0], setSystemPrompt = _0[1];
|
|
349
|
+
var _1 = React.useState(100), stepLimit = _1[0], setStepLimit = _1[1];
|
|
350
|
+
var _2 = React.useState(20), turnStepLimit = _2[0], setTurnStepLimit = _2[1];
|
|
351
|
+
var _3 = React.useState(3), costLimit = _3[0], setCostLimit = _3[1];
|
|
352
|
+
var _4 = React.useState([]), skillIds = _4[0], setSkillIds = _4[1];
|
|
353
|
+
var _5 = React.useState([]), toolIds = _5[0], setToolIds = _5[1];
|
|
354
|
+
var _6 = React.useState([]), roleIds = _6[0], setRoleIds = _6[1];
|
|
355
|
+
var _7 = React.useState([]), secretIds = _7[0], setSecretIds = _7[1];
|
|
356
|
+
var _8 = React.useState({}), alwaysIncludeValues = _8[0], setAlwaysIncludeValues = _8[1];
|
|
357
|
+
var _9 = React.useState({}), requiresApprovalValues = _9[0], setRequiresApprovalValues = _9[1];
|
|
358
|
+
var _10 = React.useState({}), secretEnvVarNames = _10[0], setSecretEnvVarNames = _10[1];
|
|
359
|
+
var _11 = React.useState(null), pendingSecret = _11[0], setPendingSecret = _11[1];
|
|
360
|
+
var _12 = React.useState(""), secretEnvVarDraft = _12[0], setSecretEnvVarDraft = _12[1];
|
|
361
|
+
var _13 = React.useState(""), secretEnvVarError = _13[0], setSecretEnvVarError = _13[1];
|
|
362
|
+
var _14 = React.useState({}), errors = _14[0], setErrors = _14[1];
|
|
363
|
+
var _15 = React.useState(0), auditVersion = _15[0], setAuditVersion = _15[1];
|
|
364
|
+
var _16 = React.useState(false), confirmRefresh = _16[0], setConfirmRefresh = _16[1];
|
|
365
|
+
var baseline = React.useRef("");
|
|
366
|
+
var currentForm = function () { return JSON.stringify({ name: name, title: title, description: description, iconName: iconName, inputs: inputs, reasoningModelKey: reasoningModelKey, fastModelKey: fastModelKey, systemPrompt: systemPrompt, stepLimit: Number(stepLimit), turnStepLimit: Number(turnStepLimit), costLimit: Number(costLimit), skillIds: skillIds, toolIds: toolIds, roleIds: roleIds, secretIds: secretIds, alwaysIncludeValues: alwaysIncludeValues, requiresApprovalValues: requiresApprovalValues, secretEnvVarNames: secretEnvVarNames }); };
|
|
367
|
+
React.useEffect(function () {
|
|
368
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
369
|
+
if (!record)
|
|
370
|
+
return;
|
|
371
|
+
baseline.current = JSON.stringify(agentFormFromRecord(record));
|
|
372
|
+
setName((_a = record.name) !== null && _a !== void 0 ? _a : "");
|
|
373
|
+
setTitle((_b = record.title) !== null && _b !== void 0 ? _b : "");
|
|
374
|
+
setDescription((_c = record.description) !== null && _c !== void 0 ? _c : "");
|
|
375
|
+
setIconName((_d = record.iconName) !== null && _d !== void 0 ? _d : "");
|
|
376
|
+
setInputs(parseInputs(record.requiredInputs));
|
|
377
|
+
setReasoningModelKey((_e = record.reasoningModelKey) !== null && _e !== void 0 ? _e : "");
|
|
378
|
+
setFastModelKey((_f = record.fastModelKey) !== null && _f !== void 0 ? _f : "");
|
|
379
|
+
setSystemPrompt((_g = record.systemPrompt) !== null && _g !== void 0 ? _g : "");
|
|
380
|
+
setStepLimit((_h = record.stepLimit) !== null && _h !== void 0 ? _h : 100);
|
|
381
|
+
setTurnStepLimit((_j = record.turnStepLimit) !== null && _j !== void 0 ? _j : 20);
|
|
382
|
+
setCostLimit(Number((_k = record.costLimit) !== null && _k !== void 0 ? _k : 3));
|
|
383
|
+
setSkillIds(items(record.agentSkills).map(function (link) { var _a; return (_a = link.agentSkillRegistry) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean));
|
|
384
|
+
setToolIds(items(record.agentTools).map(function (link) { var _a; return (_a = link.agentToolRegistry) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean));
|
|
385
|
+
setRoleIds(items(record.agentRoles).map(function (link) { var _a; return (_a = link.roleMetadata) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean));
|
|
386
|
+
setSecretIds(items(record.agentSecrets).map(function (link) { var _a; return (_a = link.secret) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean));
|
|
387
|
+
setAlwaysIncludeValues(Object.fromEntries(items(record.agentSkills).map(function (link) { var _a; return [(_a = link.agentSkillRegistry) === null || _a === void 0 ? void 0 : _a.id, link.alwaysInclude !== false]; }).filter(function (_a) {
|
|
388
|
+
var key = _a[0];
|
|
389
|
+
return key;
|
|
390
|
+
})));
|
|
391
|
+
setRequiresApprovalValues(Object.fromEntries(items(record.agentTools).map(function (link) { var _a; return [(_a = link.agentToolRegistry) === null || _a === void 0 ? void 0 : _a.id, link.requiresApproval === true]; }).filter(function (_a) {
|
|
392
|
+
var key = _a[0];
|
|
393
|
+
return key;
|
|
394
|
+
})));
|
|
395
|
+
setSecretEnvVarNames(Object.fromEntries(items(record.agentSecrets).map(function (link) { var _a, _b, _c, _d, _e, _f; return [(_a = link.secret) === null || _a === void 0 ? void 0 : _a.id, (_f = (_d = (_b = link.envVarName) !== null && _b !== void 0 ? _b : (_c = link.secret) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : (_e = link.secret) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : ""]; }).filter(function (_a) {
|
|
396
|
+
var key = _a[0];
|
|
397
|
+
return key;
|
|
398
|
+
})));
|
|
399
|
+
}, [record === null || record === void 0 ? void 0 : record.id, response]);
|
|
400
|
+
var isDirty = Boolean(record === null || record === void 0 ? void 0 : record.id) && currentForm() !== baseline.current;
|
|
401
|
+
var requestRefresh = function () { return isDirty ? setConfirmRefresh(true) : void refetch(); };
|
|
402
|
+
var openAgentTest = function () {
|
|
403
|
+
setTestAgentWindowMode("maximized");
|
|
404
|
+
setTestAgentOpen(true);
|
|
405
|
+
};
|
|
406
|
+
React.useEffect(function () {
|
|
407
|
+
var refresh = function () { skills.refetch(); tools.refetch(); };
|
|
408
|
+
window.addEventListener("focus", refresh);
|
|
409
|
+
return function () { return window.removeEventListener("focus", refresh); };
|
|
410
|
+
}, [skills.refetch, tools.refetch]);
|
|
411
|
+
var configValue = getSettingsMap(settings).solidXGenAiCodeBuilderConfig;
|
|
412
|
+
var enabledProviders = {};
|
|
413
|
+
try {
|
|
414
|
+
var config = typeof configValue === "string" ? JSON.parse(configValue) : configValue;
|
|
415
|
+
enabledProviders = (_a = config === null || config === void 0 ? void 0 : config.providers) !== null && _a !== void 0 ? _a : {};
|
|
416
|
+
}
|
|
417
|
+
catch ( /* Invalid configuration has no enabled providers. */_17) { /* Invalid configuration has no enabled providers. */ }
|
|
418
|
+
var modelOptions = Object.keys(ALLOWED_MODELS_BY_PROVIDER)
|
|
419
|
+
.filter(function (provider) { var _a; return typeof ((_a = enabledProviders[provider]) === null || _a === void 0 ? void 0 : _a.apiKey) === "string" && enabledProviders[provider].apiKey.trim().length > 0; })
|
|
420
|
+
.flatMap(function (provider) { return ALLOWED_MODELS_BY_PROVIDER[provider].map(function (model) { return ({
|
|
421
|
+
provider: provider,
|
|
422
|
+
model: model,
|
|
423
|
+
value: "".concat(provider, ":").concat(model),
|
|
424
|
+
}); }); });
|
|
425
|
+
var toggle = function (setter, value) {
|
|
426
|
+
return setter(function (current) { return current.includes(value) ? current.filter(function (id) { return id !== value; }) : __spreadArray(__spreadArray([], current, true), [value], false); });
|
|
427
|
+
};
|
|
428
|
+
var syncLinks = function (agentId, previous, selected, field, create, remove, update, extra) {
|
|
429
|
+
if (extra === void 0) { extra = {}; }
|
|
430
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
431
|
+
var links, oldIds, _i, links_1, link, _loop_1, _a, selected_1, targetId;
|
|
432
|
+
var _b;
|
|
433
|
+
return __generator(this, function (_c) {
|
|
434
|
+
switch (_c.label) {
|
|
435
|
+
case 0:
|
|
436
|
+
links = items(previous);
|
|
437
|
+
oldIds = links.map(function (link) { var _a; return (_a = link[field]) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);
|
|
438
|
+
_i = 0, links_1 = links;
|
|
439
|
+
_c.label = 1;
|
|
440
|
+
case 1:
|
|
441
|
+
if (!(_i < links_1.length)) return [3 /*break*/, 4];
|
|
442
|
+
link = links_1[_i];
|
|
443
|
+
if (!!selected.includes((_b = link[field]) === null || _b === void 0 ? void 0 : _b.id)) return [3 /*break*/, 3];
|
|
444
|
+
return [4 /*yield*/, remove(link.id).unwrap()];
|
|
445
|
+
case 2:
|
|
446
|
+
_c.sent();
|
|
447
|
+
_c.label = 3;
|
|
448
|
+
case 3:
|
|
449
|
+
_i++;
|
|
450
|
+
return [3 /*break*/, 1];
|
|
451
|
+
case 4:
|
|
452
|
+
_loop_1 = function (targetId) {
|
|
453
|
+
var values, existing;
|
|
454
|
+
var _d;
|
|
455
|
+
return __generator(this, function (_e) {
|
|
456
|
+
switch (_e.label) {
|
|
457
|
+
case 0:
|
|
458
|
+
values = typeof extra === "function" ? extra(targetId) : extra;
|
|
459
|
+
if (!!oldIds.includes(targetId)) return [3 /*break*/, 2];
|
|
460
|
+
return [4 /*yield*/, create(__assign((_d = { agentRegistryId: agentId }, _d["".concat(field, "Id")] = targetId, _d), values)).unwrap()];
|
|
461
|
+
case 1:
|
|
462
|
+
_e.sent();
|
|
463
|
+
return [2 /*return*/, "continue"];
|
|
464
|
+
case 2:
|
|
465
|
+
existing = links.find(function (link) { var _a; return ((_a = link[field]) === null || _a === void 0 ? void 0 : _a.id) === targetId; });
|
|
466
|
+
if (!(existing && Object.entries(values).some(function (_a) {
|
|
467
|
+
var key = _a[0], value = _a[1];
|
|
468
|
+
return existing[key] !== value;
|
|
469
|
+
}))) return [3 /*break*/, 4];
|
|
470
|
+
return [4 /*yield*/, update({ id: existing.id, data: values }).unwrap()];
|
|
471
|
+
case 3:
|
|
472
|
+
_e.sent();
|
|
473
|
+
_e.label = 4;
|
|
474
|
+
case 4: return [2 /*return*/];
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
};
|
|
478
|
+
_a = 0, selected_1 = selected;
|
|
479
|
+
_c.label = 5;
|
|
480
|
+
case 5:
|
|
481
|
+
if (!(_a < selected_1.length)) return [3 /*break*/, 8];
|
|
482
|
+
targetId = selected_1[_a];
|
|
483
|
+
return [5 /*yield**/, _loop_1(targetId)];
|
|
484
|
+
case 6:
|
|
485
|
+
_c.sent();
|
|
486
|
+
_c.label = 7;
|
|
487
|
+
case 7:
|
|
488
|
+
_a++;
|
|
489
|
+
return [3 /*break*/, 5];
|
|
490
|
+
case 8: return [2 /*return*/];
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
});
|
|
494
|
+
};
|
|
495
|
+
var save = function (nextStatus) { return __awaiter(_this, void 0, void 0, function () {
|
|
496
|
+
var next, payload, newlyCreatedId, scalarSaved, result, _a, savedId, error_1;
|
|
497
|
+
var _b, _c, _d;
|
|
498
|
+
return __generator(this, function (_e) {
|
|
499
|
+
switch (_e.label) {
|
|
500
|
+
case 0:
|
|
501
|
+
next = {};
|
|
502
|
+
if (!name.trim())
|
|
503
|
+
next.name = "Name is required.";
|
|
504
|
+
if (!title.trim())
|
|
505
|
+
next.title = "Title is required.";
|
|
506
|
+
if (!systemPrompt.trim())
|
|
507
|
+
next.systemPrompt = "Persona instructions are required.";
|
|
508
|
+
if (!modelOptions.some(function (option) { return option.value === reasoningModelKey; }))
|
|
509
|
+
next.reasoningModelKey = "Choose an enabled reasoning provider and model.";
|
|
510
|
+
if (!modelOptions.some(function (option) { return option.value === fastModelKey; }))
|
|
511
|
+
next.fastModelKey = "Choose an enabled fast provider and model.";
|
|
512
|
+
if (inputs.some(function (input) { return !input.name.trim() || !input.dataType; }))
|
|
513
|
+
next.inputs = "Each input needs a name and data type.";
|
|
514
|
+
if (new Set(inputs.map(function (input) { return input.name.trim().toLowerCase(); })).size !== inputs.length)
|
|
515
|
+
next.inputs = "Input names must be unique.";
|
|
516
|
+
if (stepLimit < 1 || turnStepLimit < 1 || costLimit < 0)
|
|
517
|
+
next.limits = "Step limits must be positive and cost limit cannot be negative.";
|
|
518
|
+
setErrors(next);
|
|
519
|
+
if (Object.keys(next).length) {
|
|
520
|
+
setTab(next.systemPrompt ? "persona" : next.limits ? "policies" : "basics");
|
|
521
|
+
dispatch(showToast({ severity: "error", summary: "Missing information", detail: Object.values(next).join(" ") }));
|
|
522
|
+
return [2 /*return*/];
|
|
523
|
+
}
|
|
524
|
+
payload = {
|
|
525
|
+
name: name.trim(), title: title.trim(), description: description.trim(),
|
|
526
|
+
iconName: iconName,
|
|
527
|
+
requiredInputs: JSON.stringify(inputs.map(function (input) { return (__assign(__assign({}, input), { name: input.name.trim(), description: input.description.trim() })); })),
|
|
528
|
+
reasoningModelKey: reasoningModelKey,
|
|
529
|
+
fastModelKey: fastModelKey,
|
|
530
|
+
systemPrompt: systemPrompt,
|
|
531
|
+
stepLimit: Number(stepLimit),
|
|
532
|
+
turnStepLimit: Number(turnStepLimit), costLimit: Number(costLimit),
|
|
533
|
+
status: (_b = nextStatus !== null && nextStatus !== void 0 ? nextStatus : record === null || record === void 0 ? void 0 : record.status) !== null && _b !== void 0 ? _b : "draft",
|
|
534
|
+
};
|
|
535
|
+
scalarSaved = false;
|
|
536
|
+
_e.label = 1;
|
|
537
|
+
case 1:
|
|
538
|
+
_e.trys.push([1, 10, , 11]);
|
|
539
|
+
if (!(record === null || record === void 0 ? void 0 : record.id)) return [3 /*break*/, 3];
|
|
540
|
+
return [4 /*yield*/, updateAgent({ id: record.id, data: payload }).unwrap()];
|
|
541
|
+
case 2:
|
|
542
|
+
_a = _e.sent();
|
|
543
|
+
return [3 /*break*/, 5];
|
|
544
|
+
case 3: return [4 /*yield*/, createAgent(payload).unwrap()];
|
|
545
|
+
case 4:
|
|
546
|
+
_a = _e.sent();
|
|
547
|
+
_e.label = 5;
|
|
548
|
+
case 5:
|
|
549
|
+
result = _a;
|
|
550
|
+
scalarSaved = true;
|
|
551
|
+
savedId = Number((_c = record === null || record === void 0 ? void 0 : record.id) !== null && _c !== void 0 ? _c : (_d = recordFrom(result)) === null || _d === void 0 ? void 0 : _d.id);
|
|
552
|
+
if (!savedId)
|
|
553
|
+
throw new Error("Agent saved, but its ID was not returned.");
|
|
554
|
+
if (!(record === null || record === void 0 ? void 0 : record.id))
|
|
555
|
+
newlyCreatedId = savedId;
|
|
556
|
+
return [4 /*yield*/, syncLinks(savedId, record === null || record === void 0 ? void 0 : record.agentSkills, skillIds, "agentSkillRegistry", createSkillLink, deleteSkillLink, updateSkillLink, function (targetId) { var _a; return ({ alwaysInclude: (_a = alwaysIncludeValues[targetId]) !== null && _a !== void 0 ? _a : true }); })];
|
|
557
|
+
case 6:
|
|
558
|
+
_e.sent();
|
|
559
|
+
return [4 /*yield*/, syncLinks(savedId, record === null || record === void 0 ? void 0 : record.agentTools, toolIds, "agentToolRegistry", createToolLink, deleteToolLink, updateToolLink, function (targetId) { var _a; return ({ requiresApproval: (_a = requiresApprovalValues[targetId]) !== null && _a !== void 0 ? _a : false }); })];
|
|
560
|
+
case 7:
|
|
561
|
+
_e.sent();
|
|
562
|
+
return [4 /*yield*/, syncLinks(savedId, record === null || record === void 0 ? void 0 : record.agentRoles, roleIds, "roleMetadata", createRoleLink, deleteRoleLink, undefined)];
|
|
563
|
+
case 8:
|
|
564
|
+
_e.sent();
|
|
565
|
+
return [4 /*yield*/, syncLinks(savedId, record === null || record === void 0 ? void 0 : record.agentSecrets, secretIds, "secret", createSecretLink, deleteSecretLink, updateSecretLink, function (targetId) { var _a; return ({ envVarName: (_a = secretEnvVarNames[targetId]) !== null && _a !== void 0 ? _a : "" }); })];
|
|
566
|
+
case 9:
|
|
567
|
+
_e.sent();
|
|
568
|
+
dispatch(showToast({ severity: "success", summary: nextStatus ? "Agent status updated" : "Saved", detail: nextStatus ? "Agent moved to ".concat(nextStatus, ".") : "Agent and its associations saved." }));
|
|
569
|
+
setAuditVersion(function (version) { return version + 1; });
|
|
570
|
+
if (record === null || record === void 0 ? void 0 : record.id)
|
|
571
|
+
refetch();
|
|
572
|
+
else
|
|
573
|
+
navigate("/admin/core/solid-core/agent-registry/editor/".concat(savedId), { replace: true });
|
|
574
|
+
return [3 /*break*/, 11];
|
|
575
|
+
case 10:
|
|
576
|
+
error_1 = _e.sent();
|
|
577
|
+
dispatch(showToast({ severity: "error", summary: scalarSaved ? "Agent saved; links incomplete" : "Save failed", detail: apiError(error_1) }));
|
|
578
|
+
if (record === null || record === void 0 ? void 0 : record.id)
|
|
579
|
+
refetch();
|
|
580
|
+
else if (newlyCreatedId)
|
|
581
|
+
navigate("/admin/core/solid-core/agent-registry/editor/".concat(newlyCreatedId), { replace: true });
|
|
582
|
+
return [3 /*break*/, 11];
|
|
583
|
+
case 11: return [2 /*return*/];
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
}); };
|
|
587
|
+
var field = function (label, value, setValue, key, required) {
|
|
588
|
+
if (required === void 0) { required = false; }
|
|
589
|
+
return _jsxs("label", { className: "agent-editor__field", children: [_jsxs("span", { children: [label, required && " *"] }), _jsx(SolidInput, { value: value, "aria-invalid": Boolean(errors[key]), onChange: function (event) { setValue(event.target.value); setErrors(function (current) {
|
|
590
|
+
var _a;
|
|
591
|
+
return (__assign(__assign({}, current), (_a = {}, _a[key] = "", _a)));
|
|
592
|
+
}); } }), errors[key] && _jsx("small", { className: "agent-editor__error", children: errors[key] })] });
|
|
593
|
+
};
|
|
594
|
+
var linked = function (ids, catalog, fallback) {
|
|
595
|
+
if (fallback === void 0) { fallback = []; }
|
|
596
|
+
return ids.map(function (id) { var _a; return (_a = catalog.find(function (item) { return item.id === id; })) !== null && _a !== void 0 ? _a : fallback.find(function (item) { return item.id === id; }); }).filter(function (item) { return Boolean(item); });
|
|
597
|
+
};
|
|
598
|
+
var groups = roles.records.reduce(function (acc, role) {
|
|
599
|
+
var _a, _b, _c;
|
|
600
|
+
var key = (_b = (_a = role.module) === null || _a === void 0 ? void 0 : _a.displayName) !== null && _b !== void 0 ? _b : "Default";
|
|
601
|
+
((_c = acc[key]) !== null && _c !== void 0 ? _c : (acc[key] = [])).push(role);
|
|
602
|
+
return acc;
|
|
603
|
+
}, {});
|
|
604
|
+
var linkForTarget = function (links, fieldName, targetId) {
|
|
605
|
+
return items(links).find(function (link) { var _a; return ((_a = link[fieldName]) === null || _a === void 0 ? void 0 : _a.id) === targetId; });
|
|
606
|
+
};
|
|
607
|
+
var beginSecretEnvVarEdit = function (secret) {
|
|
608
|
+
var _a, _b, _c, _d;
|
|
609
|
+
setPendingSecret(secret);
|
|
610
|
+
setSecretEnvVarDraft((_a = secretEnvVarNames[secret.id]) !== null && _a !== void 0 ? _a : String((_d = (_c = (_b = secret.key) !== null && _b !== void 0 ? _b : secret.name) !== null && _c !== void 0 ? _c : secret.displayName) !== null && _d !== void 0 ? _d : ""));
|
|
611
|
+
setSecretEnvVarError("");
|
|
612
|
+
};
|
|
613
|
+
var commitSecretEnvVar = function () {
|
|
614
|
+
var value = secretEnvVarDraft.trim();
|
|
615
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(value)) {
|
|
616
|
+
setSecretEnvVarError("Use a valid environment variable name (letters, numbers, and underscores; it cannot start with a number).");
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
if (["APP_ENCRYPTION_KEY", "DATABASE_URL", "AGENTHUB_MANAGER_INTERNAL_TOKEN", "AGENTHUB_BRIDGE_PROCESS_KEY"].includes(value)) {
|
|
620
|
+
setSecretEnvVarError("This environment variable name is reserved by AgentHub.");
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
if (secretIds.some(function (id) { return id !== (pendingSecret === null || pendingSecret === void 0 ? void 0 : pendingSecret.id) && secretEnvVarNames[id] === value; })) {
|
|
624
|
+
setSecretEnvVarError("Each linked secret must use a different environment variable name.");
|
|
625
|
+
return;
|
|
626
|
+
}
|
|
627
|
+
if (pendingSecret) {
|
|
628
|
+
setSecretEnvVarNames(function (current) {
|
|
629
|
+
var _a;
|
|
630
|
+
return (__assign(__assign({}, current), (_a = {}, _a[pendingSecret.id] = value, _a)));
|
|
631
|
+
});
|
|
632
|
+
setSecretIds(function (current) { return current.includes(pendingSecret.id) ? current : __spreadArray(__spreadArray([], current, true), [pendingSecret.id], false); });
|
|
633
|
+
}
|
|
634
|
+
setPendingSecret(null);
|
|
635
|
+
setSecretEnvVarError("");
|
|
636
|
+
};
|
|
637
|
+
var linkSetting = function (label, checked, onChange, hint) {
|
|
638
|
+
return _jsxs("label", { className: "agent-editor__link-setting", children: [_jsx("input", { type: "checkbox", checked: checked, onChange: function (event) { return onChange(event.target.checked); } }), _jsxs("span", { children: [_jsx("strong", { children: label }), _jsx("small", { children: hint })] })] });
|
|
639
|
+
};
|
|
640
|
+
var agentStatus = (_b = record === null || record === void 0 ? void 0 : record.status) !== null && _b !== void 0 ? _b : "draft";
|
|
641
|
+
var tabs = __spreadArray(__spreadArray(__spreadArray(__spreadArray([
|
|
642
|
+
{ value: "basics", label: "Basics", content: _jsxs("div", { className: "agent-editor__stack", children: [_jsxs("div", { className: "agent-editor__grid", children: [field("Name", name, setName, "name", true), field("Title", title, setTitle, "title", true), field("Description", description, setDescription, "description"), _jsxs("div", { className: "agent-editor__field", children: [_jsx("span", { children: "Icon" }), _jsx(SolidIconPicker, { value: iconName, onChange: setIconName })] })] }), _jsxs("section", { className: "agent-editor__section", children: [_jsxs("div", { className: "agent-editor__section-head", children: [_jsxs("div", { children: [_jsx("h2", { children: "Required inputs" }), _jsx("p", { children: "Define the variables people must provide when starting this agent." })] }), inputs.length > 0 && _jsxs(SolidButton, { type: "button", variant: "secondary", size: "small", onClick: function () { return setInputs(function (current) { return __spreadArray(__spreadArray([], current, true), [{ name: "", description: "", dataType: "string" }], false); }); }, children: [_jsx(Plus, { size: 15 }), " Add input"] })] }), !inputs.length ? _jsxs("div", { className: "agent-editor__empty", children: ["This agent has no required inputs. ", _jsxs("button", { type: "button", onClick: function () { return setInputs([{ name: "", description: "", dataType: "string" }]); }, children: [_jsx(Plus, { size: 15 }), " Add an input variable"] })] })
|
|
643
|
+
: _jsx("div", { className: "agent-editor__inputs", children: inputs.map(function (input, index) { return _jsxs("div", { className: "agent-editor__input-row", children: [_jsx(SolidInput, { "aria-label": "Input ".concat(index + 1, " name"), placeholder: "Variable name", value: input.name, onChange: function (event) { return setInputs(function (current) { return current.map(function (item, i) { return i === index ? __assign(__assign({}, item), { name: event.target.value }) : item; }); }); } }), _jsx(SolidInput, { "aria-label": "Input ".concat(index + 1, " description"), placeholder: "Description", value: input.description, onChange: function (event) { return setInputs(function (current) { return current.map(function (item, i) { return i === index ? __assign(__assign({}, item), { description: event.target.value }) : item; }); }); } }), _jsx("select", { "aria-label": "Input ".concat(index + 1, " data type"), value: input.dataType, onChange: function (event) { return setInputs(function (current) { return current.map(function (item, i) { return i === index ? __assign(__assign({}, item), { dataType: event.target.value }) : item; }); }); }, children: ["string", "number", "integer", "boolean", "date", "datetime", "object", "array"].map(function (type) { return _jsx("option", { value: type, children: type }, type); }) }), _jsx("button", { type: "button", "aria-label": "Remove input ".concat(index + 1), onClick: function () { return setInputs(function (current) { return current.filter(function (_, i) { return i !== index; }); }); }, children: _jsx(Trash2, { size: 17 }) })] }, index); }) }), errors.inputs && _jsx("small", { className: "agent-editor__error", children: errors.inputs })] }), _jsxs("section", { className: "agent-editor__section", children: [_jsx("h2", { children: "Models" }), _jsx("p", { children: "Choose any configured provider and model pair for each role. Both lists use the models enabled in AI settings." }), _jsx("div", { className: "agent-editor__grid", children: [["Reasoning model", reasoningModelKey, setReasoningModelKey, "reasoningModelKey"], ["Fast model", fastModelKey, setFastModelKey, "fastModelKey"]].map(function (_a) {
|
|
644
|
+
var label = _a[0], value = _a[1], setter = _a[2], key = _a[3];
|
|
645
|
+
return _jsxs("label", { className: "agent-editor__field", children: [_jsxs("span", { children: [label, " *"] }), _jsx(ModelPicker, { value: value, options: modelOptions, placeholder: "Search providers and models\u2026", onChange: function (next) { return setter(next); } }), errors[key] && _jsx("small", { className: "agent-editor__error", children: errors[key] })] }, key);
|
|
646
|
+
}) }), settingsError ? _jsx("p", { className: "agent-editor__hint", children: "Settings could not be loaded. Try refreshing this page." })
|
|
647
|
+
: !modelOptions.length && _jsx("p", { className: "agent-editor__hint", children: "No configured models are available. Check the AI settings and your permission to view encrypted settings." })] }), _jsxs("section", { className: "agent-editor__section agent-editor__workflow", "aria-labelledby": "agent-lifecycle-title", children: [_jsxs("div", { className: "agent-editor__section-head", children: [_jsxs("div", { children: [_jsx("h2", { id: "agent-lifecycle-title", children: "Agent lifecycle" }), _jsx("p", { children: "Track this agent through its available stages. Select a stage to update its status." })] }), _jsxs("div", { className: "agent-editor__workflow-meta", children: [(record === null || record === void 0 ? void 0 : record.configVersion) != null && _jsxs("span", { className: "agent-editor__config-version", "aria-label": "Configuration version ".concat(record.configVersion), children: ["Config v", record.configVersion] }), _jsx(SolidWorkflowStatusPill, { label: agentStatus })] })] }), _jsx("div", { className: "agent-editor__workflow-stages", "aria-label": "Current agent stage: ".concat(agentStatus), children: [[
|
|
648
|
+
"draft", "Draft", "Editable configuration; not available to users."
|
|
649
|
+
],
|
|
650
|
+
["active", "Active", "Available to authorized users and the AgentHub runtime."],
|
|
651
|
+
["disabled", "Disabled", "Unavailable for new interactions."],
|
|
652
|
+
].map(function (_a, index) {
|
|
653
|
+
var value = _a[0], label = _a[1], description = _a[2];
|
|
654
|
+
return _jsxs(React.Fragment, { children: [index > 0 && _jsx("div", { className: "agent-editor__workflow-connector", "aria-hidden": "true" }), _jsxs("button", { type: "button", className: "agent-editor__workflow-stage".concat(agentStatus === value ? " is-current" : ""), "aria-current": agentStatus === value ? "step" : undefined, "aria-pressed": agentStatus === value, disabled: creating || updating || agentStatus === value, onClick: function () { return void save(value); }, children: [_jsx("span", { className: "agent-editor__workflow-stage-mark", children: index + 1 }), _jsxs("div", { className: "agent-editor__workflow-stage-copy", children: [_jsx("strong", { children: label }), _jsx("small", { children: description }), _jsx("small", { className: "agent-editor__workflow-stage-cta", children: agentStatus === value ? "Current stage" : "Click to move to this stage" })] }), agentStatus === value && _jsx("span", { className: "agent-editor__workflow-current", children: "Current" })] })] }, value);
|
|
655
|
+
}) }), _jsx("small", { className: "agent-editor__workflow-save-hint", children: "Changing stage saves the current form and its linked skills, tools, roles, and secrets." })] })] }) },
|
|
656
|
+
{ value: "persona", label: "Persona", content: _jsxs("section", { className: "agent-editor__section agent-editor__persona", children: [_jsx("div", { className: "agent-editor__section-head", children: _jsxs("div", { children: [_jsx("h2", { children: "System prompt *" }), _jsx("p", { children: "Describe the agent's role, behavior, and instructions in Markdown." })] }) }), _jsx(SolidCodeEditor, { value: systemPrompt, onChange: function (value) { setSystemPrompt(value !== null && value !== void 0 ? value : ""); setErrors(function (current) { return (__assign(__assign({}, current), { systemPrompt: "" })); }); }, language: "markdown", fontSize: 11, height: "max(34rem, calc(100dvh - 18rem))" }), errors.systemPrompt && _jsx("small", { className: "agent-editor__error", children: errors.systemPrompt })] }) },
|
|
657
|
+
{ value: "skills", label: "Skills", content: _jsx(LinkPicker, { label: "Skills", description: "Skills available to this agent.", options: skills.records, selected: linked(skillIds, skills.records, items(record === null || record === void 0 ? void 0 : record.agentSkills).map(function (link) { return link.agentSkillRegistry; }).filter(Boolean)), onAdd: function (id) { return toggle(setSkillIds, id); }, onRemove: function (id) { return toggle(setSkillIds, id); }, createUrl: "/admin/core/solid-core/agent-skill-registry/editor/new", linkFor: function (id) { return linkForTarget(record === null || record === void 0 ? void 0 : record.agentSkills, "agentSkillRegistry", id); }, render: function (item) { return _jsx(AgentResourceCardWidget, __assign({}, { rowData: item })); }, renderSettings: function (item) {
|
|
658
|
+
var _a;
|
|
659
|
+
return _jsx("div", { className: "agent-editor__link-settings", children: linkSetting("Always include", (_a = alwaysIncludeValues[item.id]) !== null && _a !== void 0 ? _a : true, function (checked) { return setAlwaysIncludeValues(function (current) {
|
|
660
|
+
var _a;
|
|
661
|
+
return (__assign(__assign({}, current), (_a = {}, _a[item.id] = checked, _a)));
|
|
662
|
+
}); }, "Add the full skill to the agent prompt. Turn off to load it on demand.") });
|
|
663
|
+
} }) },
|
|
664
|
+
{ value: "tools", label: "Tools", content: _jsx(LinkPicker, { label: "Tools", description: "Tools available to this agent.", options: tools.records, selected: linked(toolIds, tools.records, items(record === null || record === void 0 ? void 0 : record.agentTools).map(function (link) { return link.agentToolRegistry; }).filter(Boolean)), onAdd: function (id) { return toggle(setToolIds, id); }, onRemove: function (id) { return toggle(setToolIds, id); }, createUrl: "/admin/core/solid-core/agent-tool-registry/editor/new", linkFor: function (id) { return linkForTarget(record === null || record === void 0 ? void 0 : record.agentTools, "agentToolRegistry", id); }, render: function (item) { return _jsx(AgentResourceCardWidget, __assign({}, { rowData: item })); }, renderSettings: function (item) {
|
|
665
|
+
var _a;
|
|
666
|
+
return _jsx("div", { className: "agent-editor__link-settings", children: linkSetting("Require approval", (_a = requiresApprovalValues[item.id]) !== null && _a !== void 0 ? _a : false, function (checked) { return setRequiresApprovalValues(function (current) {
|
|
667
|
+
var _a;
|
|
668
|
+
return (__assign(__assign({}, current), (_a = {}, _a[item.id] = checked, _a)));
|
|
669
|
+
}); }, "Pause before running this tool until a user approves it.") });
|
|
670
|
+
} }) },
|
|
671
|
+
{ value: "policies", label: "Policies", content: _jsxs("div", { className: "agent-editor__stack", children: [_jsxs("section", { className: "agent-editor__section", children: [_jsx("h2", { children: "Roles" }), _jsx("p", { children: "Grant the agent the roles it may use." }), Object.entries(groups).map(function (_a) {
|
|
672
|
+
var groupName = _a[0], groupRoles = _a[1];
|
|
673
|
+
return _jsxs("fieldset", { className: "agent-editor__role-group", children: [_jsx("legend", { children: groupName }), (groupRoles !== null && groupRoles !== void 0 ? groupRoles : []).map(function (role) { return _jsxs("label", { children: [_jsx("input", { type: "checkbox", checked: roleIds.includes(role.id), onChange: function () { return toggle(setRoleIds, role.id); } }), " ", role.name] }, role.id); })] }, groupName);
|
|
674
|
+
}), !roles.records.length && _jsx("div", { className: "agent-editor__empty", children: "No roles available." })] }), _jsxs("section", { className: "agent-editor__section", children: [_jsx("h2", { children: "Execution limits" }), _jsx("div", { className: "agent-editor__grid", children: [["Step limit", stepLimit, setStepLimit], ["Turn step limit", turnStepLimit, setTurnStepLimit], ["Cost limit", costLimit, setCostLimit]].map(function (_a) {
|
|
675
|
+
var label = _a[0], value = _a[1], setter = _a[2];
|
|
676
|
+
return _jsxs("label", { className: "agent-editor__field", children: [_jsx("span", { children: label }), _jsx("input", { type: "number", min: label === "Cost limit" ? 0 : 1, step: label === "Cost limit" ? 0.01 : 1, value: value, onChange: function (event) { return setter(Number(event.target.value)); } })] }, label);
|
|
677
|
+
}) }), errors.limits && _jsx("small", { className: "agent-editor__error", children: errors.limits })] })] }) },
|
|
678
|
+
{ value: "secrets", label: "Secrets", content: _jsx(LinkPicker, { label: "Secrets", description: "Grant access to existing secrets. Secret values are never shown here.", options: secrets.records, selected: linked(secretIds, secrets.records, items(record === null || record === void 0 ? void 0 : record.agentSecrets).map(function (link) { return link.secret; }).filter(Boolean)), onAdd: function (id) { var secret = secrets.records.find(function (item) { return item.id === id; }); if (secret)
|
|
679
|
+
beginSecretEnvVarEdit(secret); }, onRemove: function (id) { return toggle(setSecretIds, id); }, linkFor: function (id) { return linkForTarget(record === null || record === void 0 ? void 0 : record.agentSecrets, "secret", id); }, render: function (item, link) {
|
|
680
|
+
var _a, _b, _c, _d, _e, _f;
|
|
681
|
+
return _jsxs("div", { className: "agent-editor__secret", children: [_jsx("strong", { children: (_b = (_a = item.displayName) !== null && _a !== void 0 ? _a : item.name) !== null && _b !== void 0 ? _b : item.key }), _jsx("span", { children: item.key }), _jsx("p", { children: item.description }), _jsxs("div", { className: "agent-editor__secret-env", children: [_jsx("span", { children: "Process environment" }), _jsx("code", { children: (_e = (_d = (_c = secretEnvVarNames[item.id]) !== null && _c !== void 0 ? _c : link === null || link === void 0 ? void 0 : link.envVarName) !== null && _d !== void 0 ? _d : item.key) !== null && _e !== void 0 ? _e : item.name }), _jsx("button", { type: "button", "aria-label": "Edit environment variable name for ".concat((_f = item.displayName) !== null && _f !== void 0 ? _f : item.key), onClick: function () { return beginSecretEnvVarEdit(item); }, children: _jsx(Pencil, { size: 14 }) })] })] });
|
|
682
|
+
} }) }
|
|
683
|
+
], ((record === null || record === void 0 ? void 0 : record.id) ? [{ value: "processes", label: "Processes", content: _jsx(AgentProcessesPanel, { agentId: record.id, agentLabel: (_c = record.name) !== null && _c !== void 0 ? _c : record.title }) }] : []), true), ((record === null || record === void 0 ? void 0 : record.id) ? [
|
|
684
|
+
["jobs", "Jobs", (_d = jobs.currentData) === null || _d === void 0 ? void 0 : _d.records],
|
|
685
|
+
] : []).map(function (_a) {
|
|
686
|
+
var value = _a[0], label = _a[1], related = _a[2];
|
|
687
|
+
return ({ value: value, label: label, content: _jsxs("section", { className: "agent-editor__section", children: [_jsx("h2", { children: label }), jobs.isLoading || jobs.isFetching ? _jsx("div", { className: "agent-editor__empty", children: "Loading jobs\u2026" })
|
|
688
|
+
: jobs.isError ? _jsx("div", { className: "agent-editor__empty", children: "Jobs could not be loaded." })
|
|
689
|
+
: items(related).length ? _jsx("div", { className: "agent-editor__related", children: items(related).map(function (item) { var _a, _b, _c; return _jsxs("article", { children: [_jsx("strong", { children: (_b = (_a = item.name) !== null && _a !== void 0 ? _a : item.title) !== null && _b !== void 0 ? _b : "#".concat(item.id) }), _jsx("span", { children: (_c = item.status) !== null && _c !== void 0 ? _c : "" })] }, item.id); }) })
|
|
690
|
+
: _jsxs("div", { className: "agent-editor__empty", children: ["No ", label.toLowerCase(), " for this agent yet."] })] }) });
|
|
691
|
+
}), true), ((record === null || record === void 0 ? void 0 : record.id) ? [{ value: "sessions", label: "Sessions", content: _jsx(AgentSessionsPanel, { agentId: record.id, agentLabel: (_e = record.name) !== null && _e !== void 0 ? _e : record.title }) }] : []), true), ((record === null || record === void 0 ? void 0 : record.id) ? [{ value: "embedding", label: "Embedding", content: _jsx(AgentEmbeddingPanel, { agentId: record.id, fields: parseInputs(record.requiredInputs), active: record.status === "active", hubUrl: String((_f = getSettingsMap(settings).solidxAgentHubBackendUrl) !== null && _f !== void 0 ? _f : "") }) }] : []), true);
|
|
692
|
+
var content = _jsx(SolidTabGroup, { tabs: tabs, value: tab, onValueChange: setTab, className: "agent-editor__tabs", listClassName: "agent-editor__tab-list", panelClassName: "agent-editor__tab-panel" });
|
|
693
|
+
return _jsxs("main", { className: "agent-editor", children: [_jsxs("header", { className: "agent-editor__header", children: [_jsxs("div", { className: "agent-editor__heading-with-refresh", children: [_jsx("h1", { children: (record === null || record === void 0 ? void 0 : record.id) ? "Edit Agent" : "Create Agent" }), (record === null || record === void 0 ? void 0 : record.id) && _jsx("button", { type: "button", className: "agent-editor__refresh".concat(isFetching ? " is-loading" : ""), "aria-label": "Refresh agent", title: "Refresh agent", disabled: isFetching || updating, onClick: requestRefresh, children: _jsx(RefreshCw, { size: 14 }) })] }), _jsxs("div", { className: "agent-editor__actions", children: [_jsx(SolidButton, { variant: "secondary", leftIcon: _jsx(ArrowLeft, { size: 16 }), onClick: function () { return navigate(-1); }, children: "Back" }), (record === null || record === void 0 ? void 0 : record.id) && _jsx(SolidButton, { variant: "secondary", leftIcon: _jsx(FlaskConical, { size: 16 }), onClick: openAgentTest, children: "Test Agent" }), _jsx(SolidButton, { loading: creating || updating, disabled: isLoading || isFetching || isError || (id !== "new" && !(record === null || record === void 0 ? void 0 : record.id)), onClick: function () { return void save(); }, children: "Save Agent" })] })] }), _jsx(SolidDialog, { open: confirmRefresh, onOpenChange: setConfirmRefresh, header: "Discard unsaved changes?", style: { width: "min(28rem, 94vw)" }, footer: _jsxs(_Fragment, { children: [_jsx(SolidButton, { type: "button", variant: "secondary", onClick: function () { return setConfirmRefresh(false); }, children: "Cancel" }), _jsx(SolidButton, { type: "button", disabled: isFetching, onClick: function () { setConfirmRefresh(false); void refetch(); }, children: "Refresh and discard" })] }), children: _jsx(SolidDialogBody, { children: _jsx("p", { children: "You have unsaved changes. Refreshing will discard them and load the latest agent content." }) }) }), isLoading ? _jsx("div", { className: "agent-editor__empty", children: "Loading agent\u2026" }) : isError || (id !== "new" && !(record === null || record === void 0 ? void 0 : record.id)) ?
|
|
694
|
+
_jsx("div", { className: "agent-editor__empty", children: "This agent could not be loaded." }) : (record === null || record === void 0 ? void 0 : record.id) ?
|
|
695
|
+
_jsx(AgentRegistryAuditPanel, { modelSingularName: "agentRegistry", recordId: record.id, refreshVersion: auditVersion, modelUserKey: record.name, children: content }) : content, _jsx(SolidDialog, { open: Boolean(pendingSecret), onOpenChange: function (open) { if (!open) {
|
|
696
|
+
setPendingSecret(null);
|
|
697
|
+
setSecretEnvVarError("");
|
|
698
|
+
} }, header: "Set secret environment variable", style: { width: "min(34rem, 94vw)" }, footer: _jsxs("div", { className: "agent-editor__secret-dialog-actions", children: [_jsx(SolidButton, { type: "button", variant: "secondary", onClick: function () { setPendingSecret(null); setSecretEnvVarError(""); }, children: "Cancel" }), _jsx(SolidButton, { type: "button", onClick: commitSecretEnvVar, children: "Use secret" })] }), children: _jsx(SolidDialogBody, { className: "agent-editor__secret-dialog-body", children: _jsxs("div", { className: "agent-editor__secret-dialog", children: [_jsxs("p", { children: ["Choose the environment variable name AgentHub will set for ", _jsx("strong", { children: (_h = (_g = pendingSecret === null || pendingSecret === void 0 ? void 0 : pendingSecret.displayName) !== null && _g !== void 0 ? _g : pendingSecret === null || pendingSecret === void 0 ? void 0 : pendingSecret.name) !== null && _h !== void 0 ? _h : pendingSecret === null || pendingSecret === void 0 ? void 0 : pendingSecret.key }), ". The default is the secret name."] }), _jsxs("label", { className: "agent-editor__field", children: [_jsx("span", { children: "Environment variable name" }), _jsx(SolidInput, { autoFocus: true, value: secretEnvVarDraft, "aria-invalid": Boolean(secretEnvVarError), onChange: function (event) { setSecretEnvVarDraft(event.target.value); setSecretEnvVarError(""); } }), secretEnvVarError && _jsx("small", { className: "agent-editor__error", children: secretEnvVarError })] })] }) }) }), (record === null || record === void 0 ? void 0 : record.id) && _jsx(SolidDialog, { open: testAgentOpen, onOpenChange: setTestAgentOpen, onHide: function () { return setTestAgentOpen(false); }, showHeader: false, overlayClassName: "agent-editor__test-dialog-overlay", ariaLabel: "Test ".concat((_j = record.name) !== null && _j !== void 0 ? _j : "SolidX Agent"), className: "agent-editor__test-dialog", style: testAgentWindowMode === "maximized"
|
|
699
|
+
? { position: "fixed", inset: 16, width: "auto", maxWidth: "none", height: "auto", maxHeight: "none", transform: "none", borderRadius: 14, padding: 0, display: "flex", flexDirection: "column", overflow: "hidden" }
|
|
700
|
+
: { position: "fixed", top: 16, right: 16, bottom: 16, left: "auto", width: "min(28rem, calc(100vw - 32px))", maxWidth: "none", height: "auto", maxHeight: "none", transform: "none", borderRadius: 14, padding: 0, display: "flex", flexDirection: "column", overflow: "hidden" }, children: _jsx("div", { className: "agent-editor__test-dialog-body", children: _jsx(SolidAgentEmbedded, { agentRuntime: "agentHub", agentId: record.id, title: (_k = record.name) !== null && _k !== void 0 ? _k : "SolidX Agent", requiredInputs: parseInputs(record.requiredInputs), height: "100%", className: "agent-editor__test-chat", windowControls: { mode: testAgentWindowMode, onDock: function () { return setTestAgentWindowMode("docked"); }, onMaximize: function () { return setTestAgentWindowMode("maximized"); }, onRestore: function () { return setTestAgentWindowMode("docked"); }, onClose: function () { return setTestAgentOpen(false); } } }) }) })] });
|
|
701
|
+
}
|
|
702
|
+
//# sourceMappingURL=AgentRegistryEditorPage.js.map
|