@stigmer/react 0.4.7 → 0.5.0
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/action-menu/ActionMenu.d.ts +64 -0
- package/action-menu/ActionMenu.d.ts.map +1 -0
- package/action-menu/ActionMenu.js +78 -0
- package/action-menu/ActionMenu.js.map +1 -0
- package/action-menu/index.d.ts +3 -0
- package/action-menu/index.d.ts.map +1 -0
- package/action-menu/index.js +2 -0
- package/action-menu/index.js.map +1 -0
- package/action-menu/types.d.ts +65 -0
- package/action-menu/types.d.ts.map +1 -0
- package/action-menu/types.js +2 -0
- package/action-menu/types.js.map +1 -0
- package/agent/AgentCreationWizard.d.ts +55 -0
- package/agent/AgentCreationWizard.d.ts.map +1 -0
- package/agent/AgentCreationWizard.js +115 -0
- package/agent/AgentCreationWizard.js.map +1 -0
- package/agent/AgentDetailView.d.ts +77 -9
- package/agent/AgentDetailView.d.ts.map +1 -1
- package/agent/AgentDetailView.js +265 -87
- package/agent/AgentDetailView.js.map +1 -1
- package/agent/index.d.ts +8 -0
- package/agent/index.d.ts.map +1 -1
- package/agent/index.js +4 -0
- package/agent/index.js.map +1 -1
- package/agent/internal/agentToInput.d.ts +12 -0
- package/agent/internal/agentToInput.d.ts.map +1 -0
- package/agent/internal/agentToInput.js +72 -0
- package/agent/internal/agentToInput.js.map +1 -0
- package/agent/steps/CapabilitiesStep.d.ts +16 -0
- package/agent/steps/CapabilitiesStep.d.ts.map +1 -0
- package/agent/steps/CapabilitiesStep.js +80 -0
- package/agent/steps/CapabilitiesStep.js.map +1 -0
- package/agent/steps/IdentityStep.d.ts +18 -0
- package/agent/steps/IdentityStep.d.ts.map +1 -0
- package/agent/steps/IdentityStep.js +43 -0
- package/agent/steps/IdentityStep.js.map +1 -0
- package/agent/steps/ReviewStep.d.ts +23 -0
- package/agent/steps/ReviewStep.d.ts.map +1 -0
- package/agent/steps/ReviewStep.js +73 -0
- package/agent/steps/ReviewStep.js.map +1 -0
- package/agent/steps/types.d.ts +35 -0
- package/agent/steps/types.d.ts.map +1 -0
- package/agent/steps/types.js +16 -0
- package/agent/steps/types.js.map +1 -0
- package/agent/useCreateAgent.d.ts +45 -0
- package/agent/useCreateAgent.d.ts.map +1 -0
- package/agent/useCreateAgent.js +50 -0
- package/agent/useCreateAgent.js.map +1 -0
- package/agent/useUpdateAgent.d.ts +24 -0
- package/agent/useUpdateAgent.d.ts.map +1 -0
- package/agent/useUpdateAgent.js +35 -0
- package/agent/useUpdateAgent.js.map +1 -0
- package/dependency-graph/DependencyGraph.d.ts +37 -0
- package/dependency-graph/DependencyGraph.d.ts.map +1 -0
- package/dependency-graph/DependencyGraph.js +88 -0
- package/dependency-graph/DependencyGraph.js.map +1 -0
- package/dependency-graph/DependencyTreeNode.d.ts +23 -0
- package/dependency-graph/DependencyTreeNode.d.ts.map +1 -0
- package/dependency-graph/DependencyTreeNode.js +99 -0
- package/dependency-graph/DependencyTreeNode.js.map +1 -0
- package/dependency-graph/index.d.ts +4 -0
- package/dependency-graph/index.d.ts.map +1 -0
- package/dependency-graph/index.js +5 -0
- package/dependency-graph/index.js.map +1 -0
- package/dependency-graph/types.d.ts +130 -0
- package/dependency-graph/types.d.ts.map +1 -0
- package/dependency-graph/types.js +2 -0
- package/dependency-graph/types.js.map +1 -0
- package/dependency-graph/useDependencyGraph.d.ts +27 -0
- package/dependency-graph/useDependencyGraph.d.ts.map +1 -0
- package/dependency-graph/useDependencyGraph.js +129 -0
- package/dependency-graph/useDependencyGraph.js.map +1 -0
- package/empty-state/EmptyState.d.ts +29 -0
- package/empty-state/EmptyState.d.ts.map +1 -0
- package/empty-state/EmptyState.js +45 -0
- package/empty-state/EmptyState.js.map +1 -0
- package/empty-state/index.d.ts +4 -0
- package/empty-state/index.d.ts.map +1 -0
- package/empty-state/index.js +3 -0
- package/empty-state/index.js.map +1 -0
- package/empty-state/types.d.ts +73 -0
- package/empty-state/types.d.ts.map +1 -0
- package/empty-state/types.js +2 -0
- package/empty-state/types.js.map +1 -0
- package/empty-state/useEmptyState.d.ts +18 -0
- package/empty-state/useEmptyState.d.ts.map +1 -0
- package/empty-state/useEmptyState.js +72 -0
- package/empty-state/useEmptyState.js.map +1 -0
- package/execution/MessageThread.d.ts +1 -0
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +22 -12
- package/execution/MessageThread.js.map +1 -1
- package/execution/SetupProgress.d.ts +23 -9
- package/execution/SetupProgress.d.ts.map +1 -1
- package/execution/SetupProgress.js +30 -14
- package/execution/SetupProgress.js.map +1 -1
- package/execution/__tests__/thread-keys.test.js +82 -0
- package/execution/__tests__/thread-keys.test.js.map +1 -1
- package/feedback/StigmerToaster.d.ts +18 -0
- package/feedback/StigmerToaster.d.ts.map +1 -0
- package/feedback/StigmerToaster.js +31 -0
- package/feedback/StigmerToaster.js.map +1 -0
- package/feedback/index.d.ts +4 -0
- package/feedback/index.d.ts.map +1 -0
- package/feedback/index.js +3 -0
- package/feedback/index.js.map +1 -0
- package/feedback/toast.d.ts +14 -0
- package/feedback/toast.d.ts.map +1 -0
- package/feedback/toast.js +14 -0
- package/feedback/toast.js.map +1 -0
- package/feedback/types.d.ts +4 -0
- package/feedback/types.d.ts.map +1 -0
- package/feedback/types.js +2 -0
- package/feedback/types.js.map +1 -0
- package/index.d.ts +30 -10
- package/index.d.ts.map +1 -1
- package/index.js +29 -9
- package/index.js.map +1 -1
- package/inline-edit/InlineEditImage.d.ts +20 -0
- package/inline-edit/InlineEditImage.d.ts.map +1 -0
- package/inline-edit/InlineEditImage.js +85 -0
- package/inline-edit/InlineEditImage.js.map +1 -0
- package/inline-edit/InlineEditKeyValue.d.ts +29 -0
- package/inline-edit/InlineEditKeyValue.d.ts.map +1 -0
- package/inline-edit/InlineEditKeyValue.js +67 -0
- package/inline-edit/InlineEditKeyValue.js.map +1 -0
- package/inline-edit/InlineEditResourceList.d.ts +34 -0
- package/inline-edit/InlineEditResourceList.d.ts.map +1 -0
- package/inline-edit/InlineEditResourceList.js +99 -0
- package/inline-edit/InlineEditResourceList.js.map +1 -0
- package/inline-edit/InlineEditSelect.d.ts +18 -0
- package/inline-edit/InlineEditSelect.d.ts.map +1 -0
- package/inline-edit/InlineEditSelect.js +54 -0
- package/inline-edit/InlineEditSelect.js.map +1 -0
- package/inline-edit/InlineEditText.d.ts +23 -0
- package/inline-edit/InlineEditText.d.ts.map +1 -0
- package/inline-edit/InlineEditText.js +79 -0
- package/inline-edit/InlineEditText.js.map +1 -0
- package/inline-edit/InlineEditTextarea.d.ts +22 -0
- package/inline-edit/InlineEditTextarea.d.ts.map +1 -0
- package/inline-edit/InlineEditTextarea.js +83 -0
- package/inline-edit/InlineEditTextarea.js.map +1 -0
- package/inline-edit/index.d.ts +16 -0
- package/inline-edit/index.d.ts.map +1 -0
- package/inline-edit/index.js +8 -0
- package/inline-edit/index.js.map +1 -0
- package/inline-edit/types.d.ts +42 -0
- package/inline-edit/types.d.ts.map +1 -0
- package/inline-edit/types.js +2 -0
- package/inline-edit/types.js.map +1 -0
- package/inline-edit/useInlineFieldSave.d.ts +23 -0
- package/inline-edit/useInlineFieldSave.d.ts.map +1 -0
- package/inline-edit/useInlineFieldSave.js +44 -0
- package/inline-edit/useInlineFieldSave.js.map +1 -0
- package/internal/Tabs.d.ts +4 -38
- package/internal/Tabs.d.ts.map +1 -1
- package/internal/Tabs.js +3 -62
- package/internal/Tabs.js.map +1 -1
- package/library/ImportResourceDialog.d.ts +43 -0
- package/library/ImportResourceDialog.d.ts.map +1 -0
- package/library/ImportResourceDialog.js +90 -0
- package/library/ImportResourceDialog.js.map +1 -0
- package/library/index.d.ts +7 -4
- package/library/index.d.ts.map +1 -1
- package/library/index.js +4 -2
- package/library/index.js.map +1 -1
- package/library/serialize-resource-yaml.d.ts +53 -0
- package/library/serialize-resource-yaml.d.ts.map +1 -1
- package/library/serialize-resource-yaml.js +275 -0
- package/library/serialize-resource-yaml.js.map +1 -1
- package/library/useExportResource.d.ts +56 -0
- package/library/useExportResource.d.ts.map +1 -0
- package/library/useExportResource.js +137 -0
- package/library/useExportResource.js.map +1 -0
- package/library/useImportResource.d.ts +84 -0
- package/library/useImportResource.d.ts.map +1 -0
- package/library/useImportResource.js +188 -0
- package/library/useImportResource.js.map +1 -0
- package/mcp-server/McpServerCreationWizard.d.ts +55 -0
- package/mcp-server/McpServerCreationWizard.d.ts.map +1 -0
- package/mcp-server/McpServerCreationWizard.js +121 -0
- package/mcp-server/McpServerCreationWizard.js.map +1 -0
- package/mcp-server/McpServerDetailView.d.ts +21 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +113 -20
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/index.d.ts +8 -0
- package/mcp-server/index.d.ts.map +1 -1
- package/mcp-server/index.js +4 -0
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/internal/mcpServerToInput.d.ts +12 -0
- package/mcp-server/internal/mcpServerToInput.d.ts.map +1 -0
- package/mcp-server/internal/mcpServerToInput.js +81 -0
- package/mcp-server/internal/mcpServerToInput.js.map +1 -0
- package/mcp-server/steps/EnvironmentAuthStep.d.ts +15 -0
- package/mcp-server/steps/EnvironmentAuthStep.d.ts.map +1 -0
- package/mcp-server/steps/EnvironmentAuthStep.js +55 -0
- package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -0
- package/mcp-server/steps/IdentityTransportStep.d.ts +19 -0
- package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -0
- package/mcp-server/steps/IdentityTransportStep.js +73 -0
- package/mcp-server/steps/IdentityTransportStep.js.map +1 -0
- package/mcp-server/steps/ReviewStep.d.ts +23 -0
- package/mcp-server/steps/ReviewStep.d.ts.map +1 -0
- package/mcp-server/steps/ReviewStep.js +137 -0
- package/mcp-server/steps/ReviewStep.js.map +1 -0
- package/mcp-server/steps/types.d.ts +56 -0
- package/mcp-server/steps/types.d.ts.map +1 -0
- package/mcp-server/steps/types.js +27 -0
- package/mcp-server/steps/types.js.map +1 -0
- package/mcp-server/useCreateMcpServer.d.ts +45 -0
- package/mcp-server/useCreateMcpServer.d.ts.map +1 -0
- package/mcp-server/useCreateMcpServer.js +50 -0
- package/mcp-server/useCreateMcpServer.js.map +1 -0
- package/mcp-server/useUpdateMcpServer.d.ts +24 -0
- package/mcp-server/useUpdateMcpServer.d.ts.map +1 -0
- package/mcp-server/useUpdateMcpServer.js +35 -0
- package/mcp-server/useUpdateMcpServer.js.map +1 -0
- package/models/registry.d.ts +4 -1
- package/models/registry.d.ts.map +1 -1
- package/models/registry.js +6 -2
- package/models/registry.js.map +1 -1
- package/package.json +8 -4
- package/provider.js +1 -1
- package/provider.js.map +1 -1
- package/resource-creation/CreationPicker.d.ts +60 -0
- package/resource-creation/CreationPicker.d.ts.map +1 -0
- package/resource-creation/CreationPicker.js +74 -0
- package/resource-creation/CreationPicker.js.map +1 -0
- package/resource-creation/StepIndicator.d.ts +28 -0
- package/resource-creation/StepIndicator.d.ts.map +1 -0
- package/resource-creation/StepIndicator.js +40 -0
- package/resource-creation/StepIndicator.js.map +1 -0
- package/resource-creation/TemplateCard.d.ts +24 -0
- package/resource-creation/TemplateCard.d.ts.map +1 -0
- package/resource-creation/TemplateCard.js +68 -0
- package/resource-creation/TemplateCard.js.map +1 -0
- package/resource-creation/TemplateGallery.d.ts +43 -0
- package/resource-creation/TemplateGallery.d.ts.map +1 -0
- package/resource-creation/TemplateGallery.js +78 -0
- package/resource-creation/TemplateGallery.js.map +1 -0
- package/resource-creation/WizardNav.d.ts +31 -0
- package/resource-creation/WizardNav.d.ts.map +1 -0
- package/resource-creation/WizardNav.js +29 -0
- package/resource-creation/WizardNav.js.map +1 -0
- package/resource-creation/WizardShell.d.ts +41 -0
- package/resource-creation/WizardShell.d.ts.map +1 -0
- package/resource-creation/WizardShell.js +55 -0
- package/resource-creation/WizardShell.js.map +1 -0
- package/resource-creation/index.d.ts +21 -0
- package/resource-creation/index.d.ts.map +1 -0
- package/resource-creation/index.js +14 -0
- package/resource-creation/index.js.map +1 -0
- package/resource-creation/templates/agent-templates.d.ts +15 -0
- package/resource-creation/templates/agent-templates.d.ts.map +1 -0
- package/resource-creation/templates/agent-templates.js +148 -0
- package/resource-creation/templates/agent-templates.js.map +1 -0
- package/resource-creation/templates/index.d.ts +5 -0
- package/resource-creation/templates/index.d.ts.map +1 -0
- package/resource-creation/templates/index.js +5 -0
- package/resource-creation/templates/index.js.map +1 -0
- package/resource-creation/templates/mcp-server-templates.d.ts +15 -0
- package/resource-creation/templates/mcp-server-templates.d.ts.map +1 -0
- package/resource-creation/templates/mcp-server-templates.js +92 -0
- package/resource-creation/templates/mcp-server-templates.js.map +1 -0
- package/resource-creation/templates/types.d.ts +48 -0
- package/resource-creation/templates/types.d.ts.map +1 -0
- package/resource-creation/templates/types.js +16 -0
- package/resource-creation/templates/types.js.map +1 -0
- package/resource-creation/types.d.ts +88 -0
- package/resource-creation/types.d.ts.map +1 -0
- package/resource-creation/types.js +2 -0
- package/resource-creation/types.js.map +1 -0
- package/resource-creation/useTemplateFilter.d.ts +43 -0
- package/resource-creation/useTemplateFilter.d.ts.map +1 -0
- package/resource-creation/useTemplateFilter.js +73 -0
- package/resource-creation/useTemplateFilter.js.map +1 -0
- package/resource-creation/useWizardState.d.ts +67 -0
- package/resource-creation/useWizardState.d.ts.map +1 -0
- package/resource-creation/useWizardState.js +143 -0
- package/resource-creation/useWizardState.js.map +1 -0
- package/resource-detail/ConfirmDialog.d.ts +44 -0
- package/resource-detail/ConfirmDialog.d.ts.map +1 -0
- package/resource-detail/ConfirmDialog.js +62 -0
- package/resource-detail/ConfirmDialog.js.map +1 -0
- package/resource-detail/ResourceActionBar.d.ts +42 -0
- package/resource-detail/ResourceActionBar.d.ts.map +1 -0
- package/resource-detail/ResourceActionBar.js +64 -0
- package/resource-detail/ResourceActionBar.js.map +1 -0
- package/resource-detail/ResourceDetailShell.d.ts +36 -0
- package/resource-detail/ResourceDetailShell.d.ts.map +1 -0
- package/resource-detail/ResourceDetailShell.js +65 -0
- package/resource-detail/ResourceDetailShell.js.map +1 -0
- package/resource-detail/Section.d.ts +18 -0
- package/resource-detail/Section.d.ts.map +1 -0
- package/resource-detail/Section.js +18 -0
- package/resource-detail/Section.js.map +1 -0
- package/resource-detail/index.d.ts +15 -0
- package/resource-detail/index.d.ts.map +1 -0
- package/resource-detail/index.js +10 -0
- package/resource-detail/index.js.map +1 -0
- package/resource-detail/types.d.ts +146 -0
- package/resource-detail/types.d.ts.map +1 -0
- package/resource-detail/types.js +2 -0
- package/resource-detail/types.js.map +1 -0
- package/resource-detail/useConfirmAction.d.ts +41 -0
- package/resource-detail/useConfirmAction.d.ts.map +1 -0
- package/resource-detail/useConfirmAction.js +30 -0
- package/resource-detail/useConfirmAction.js.map +1 -0
- package/resource-detail/useCopyResource.d.ts +28 -0
- package/resource-detail/useCopyResource.d.ts.map +1 -0
- package/resource-detail/useCopyResource.js +46 -0
- package/resource-detail/useCopyResource.js.map +1 -0
- package/resource-detail/useDeleteResource.d.ts +40 -0
- package/resource-detail/useDeleteResource.d.ts.map +1 -0
- package/resource-detail/useDeleteResource.js +83 -0
- package/resource-detail/useDeleteResource.js.map +1 -0
- package/resource-detail/useDetailTabs.d.ts +46 -0
- package/resource-detail/useDetailTabs.d.ts.map +1 -0
- package/resource-detail/useDetailTabs.js +47 -0
- package/resource-detail/useDetailTabs.js.map +1 -0
- package/resource-workbench/components/BulkActionBar.d.ts +36 -0
- package/resource-workbench/components/BulkActionBar.d.ts.map +1 -0
- package/resource-workbench/components/BulkActionBar.js +35 -0
- package/resource-workbench/components/BulkActionBar.js.map +1 -0
- package/resource-workbench/components/ColumnHeader.d.ts +23 -0
- package/resource-workbench/components/ColumnHeader.d.ts.map +1 -0
- package/resource-workbench/components/ColumnHeader.js +25 -0
- package/resource-workbench/components/ColumnHeader.js.map +1 -0
- package/resource-workbench/components/FilterBar.d.ts +33 -0
- package/resource-workbench/components/FilterBar.d.ts.map +1 -0
- package/resource-workbench/components/FilterBar.js +72 -0
- package/resource-workbench/components/FilterBar.js.map +1 -0
- package/resource-workbench/components/ResourceAvatar.d.ts +29 -0
- package/resource-workbench/components/ResourceAvatar.d.ts.map +1 -0
- package/resource-workbench/components/ResourceAvatar.js +51 -0
- package/resource-workbench/components/ResourceAvatar.js.map +1 -0
- package/resource-workbench/components/ResourceCards.d.ts +39 -0
- package/resource-workbench/components/ResourceCards.d.ts.map +1 -0
- package/resource-workbench/components/ResourceCards.js +41 -0
- package/resource-workbench/components/ResourceCards.js.map +1 -0
- package/resource-workbench/components/ResourceInspector.d.ts +26 -0
- package/resource-workbench/components/ResourceInspector.d.ts.map +1 -0
- package/resource-workbench/components/ResourceInspector.js +22 -0
- package/resource-workbench/components/ResourceInspector.js.map +1 -0
- package/resource-workbench/components/ResourceList.d.ts +39 -0
- package/resource-workbench/components/ResourceList.d.ts.map +1 -0
- package/resource-workbench/components/ResourceList.js +41 -0
- package/resource-workbench/components/ResourceList.js.map +1 -0
- package/resource-workbench/components/ResourceTable.d.ts +47 -0
- package/resource-workbench/components/ResourceTable.d.ts.map +1 -0
- package/resource-workbench/components/ResourceTable.js +78 -0
- package/resource-workbench/components/ResourceTable.js.map +1 -0
- package/resource-workbench/components/ResourceWorkbench.d.ts +131 -0
- package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -0
- package/resource-workbench/components/ResourceWorkbench.js +170 -0
- package/resource-workbench/components/ResourceWorkbench.js.map +1 -0
- package/resource-workbench/components/SelectionCheckbox.d.ts +24 -0
- package/resource-workbench/components/SelectionCheckbox.d.ts.map +1 -0
- package/resource-workbench/components/SelectionCheckbox.js +16 -0
- package/resource-workbench/components/SelectionCheckbox.js.map +1 -0
- package/resource-workbench/components/StatusBadge.d.ts +31 -0
- package/resource-workbench/components/StatusBadge.d.ts.map +1 -0
- package/resource-workbench/components/StatusBadge.js +75 -0
- package/resource-workbench/components/StatusBadge.js.map +1 -0
- package/resource-workbench/components/ViewSwitcher.d.ts +21 -0
- package/resource-workbench/components/ViewSwitcher.d.ts.map +1 -0
- package/resource-workbench/components/ViewSwitcher.js +37 -0
- package/resource-workbench/components/ViewSwitcher.js.map +1 -0
- package/resource-workbench/hooks/useResourceCollection.d.ts +93 -0
- package/resource-workbench/hooks/useResourceCollection.d.ts.map +1 -0
- package/resource-workbench/hooks/useResourceCollection.js +133 -0
- package/resource-workbench/hooks/useResourceCollection.js.map +1 -0
- package/resource-workbench/hooks/useResourceFilters.d.ts +73 -0
- package/resource-workbench/hooks/useResourceFilters.d.ts.map +1 -0
- package/resource-workbench/hooks/useResourceFilters.js +105 -0
- package/resource-workbench/hooks/useResourceFilters.js.map +1 -0
- package/resource-workbench/hooks/useResourceSelection.d.ts +44 -0
- package/resource-workbench/hooks/useResourceSelection.d.ts.map +1 -0
- package/resource-workbench/hooks/useResourceSelection.js +123 -0
- package/resource-workbench/hooks/useResourceSelection.js.map +1 -0
- package/resource-workbench/hooks/useViewPreference.d.ts +32 -0
- package/resource-workbench/hooks/useViewPreference.d.ts.map +1 -0
- package/resource-workbench/hooks/useViewPreference.js +60 -0
- package/resource-workbench/hooks/useViewPreference.js.map +1 -0
- package/resource-workbench/index.d.ts +34 -0
- package/resource-workbench/index.d.ts.map +1 -0
- package/resource-workbench/index.js +19 -0
- package/resource-workbench/index.js.map +1 -0
- package/resource-workbench/types.d.ts +165 -0
- package/resource-workbench/types.d.ts.map +1 -0
- package/resource-workbench/types.js +2 -0
- package/resource-workbench/types.js.map +1 -0
- package/runner/RunnerDetailView.d.ts +44 -0
- package/runner/RunnerDetailView.d.ts.map +1 -0
- package/runner/RunnerDetailView.js +154 -0
- package/runner/RunnerDetailView.js.map +1 -0
- package/runner/RunnerListPanel.d.ts +26 -1
- package/runner/RunnerListPanel.d.ts.map +1 -1
- package/runner/RunnerListPanel.js +68 -46
- package/runner/RunnerListPanel.js.map +1 -1
- package/runner/index.d.ts +7 -1
- package/runner/index.d.ts.map +1 -1
- package/runner/index.js +3 -0
- package/runner/index.js.map +1 -1
- package/runner/shared.d.ts +31 -0
- package/runner/shared.d.ts.map +1 -0
- package/runner/shared.js +55 -0
- package/runner/shared.js.map +1 -0
- package/runner/useRunner.d.ts +37 -0
- package/runner/useRunner.d.ts.map +1 -0
- package/runner/useRunner.js +24 -0
- package/runner/useRunner.js.map +1 -0
- package/session/__tests__/group-sessions.test.js +3 -3
- package/session/__tests__/group-sessions.test.js.map +1 -1
- package/skill/SkillDetailView.d.ts +70 -7
- package/skill/SkillDetailView.d.ts.map +1 -1
- package/skill/SkillDetailView.js +107 -39
- package/skill/SkillDetailView.js.map +1 -1
- package/skill/SkillDiffDialog.d.ts +42 -0
- package/skill/SkillDiffDialog.d.ts.map +1 -0
- package/skill/SkillDiffDialog.js +72 -0
- package/skill/SkillDiffDialog.js.map +1 -0
- package/skill/SkillFileBrowser.d.ts +31 -0
- package/skill/SkillFileBrowser.d.ts.map +1 -0
- package/skill/SkillFileBrowser.js +105 -0
- package/skill/SkillFileBrowser.js.map +1 -0
- package/skill/SkillUploader.d.ts +39 -0
- package/skill/SkillUploader.d.ts.map +1 -0
- package/skill/SkillUploader.js +141 -0
- package/skill/SkillUploader.js.map +1 -0
- package/skill/index.d.ts +18 -0
- package/skill/index.d.ts.map +1 -1
- package/skill/index.js +9 -0
- package/skill/index.js.map +1 -1
- package/skill/internal/computeArtifactHash.d.ts +9 -0
- package/skill/internal/computeArtifactHash.d.ts.map +1 -0
- package/skill/internal/computeArtifactHash.js +14 -0
- package/skill/internal/computeArtifactHash.js.map +1 -0
- package/skill/internal/fetchAndUnpackArtifact.d.ts +16 -0
- package/skill/internal/fetchAndUnpackArtifact.d.ts.map +1 -0
- package/skill/internal/fetchAndUnpackArtifact.js +34 -0
- package/skill/internal/fetchAndUnpackArtifact.js.map +1 -0
- package/skill/usePushSkill.d.ts +53 -0
- package/skill/usePushSkill.d.ts.map +1 -0
- package/skill/usePushSkill.js +57 -0
- package/skill/usePushSkill.js.map +1 -0
- package/skill/useSkillArtifact.d.ts +37 -0
- package/skill/useSkillArtifact.d.ts.map +1 -0
- package/skill/useSkillArtifact.js +76 -0
- package/skill/useSkillArtifact.js.map +1 -0
- package/skill/useSkillDiff.d.ts +31 -0
- package/skill/useSkillDiff.d.ts.map +1 -0
- package/skill/useSkillDiff.js +97 -0
- package/skill/useSkillDiff.js.map +1 -0
- package/skill/useSkillDuplicateCheck.d.ts +34 -0
- package/skill/useSkillDuplicateCheck.d.ts.map +1 -0
- package/skill/useSkillDuplicateCheck.js +58 -0
- package/skill/useSkillDuplicateCheck.js.map +1 -0
- package/skill/useSkillUpload.d.ts +69 -0
- package/skill/useSkillUpload.d.ts.map +1 -0
- package/skill/useSkillUpload.js +157 -0
- package/skill/useSkillUpload.js.map +1 -0
- package/skill/useSkillVersions.d.ts +46 -0
- package/skill/useSkillVersions.d.ts.map +1 -0
- package/skill/useSkillVersions.js +104 -0
- package/skill/useSkillVersions.js.map +1 -0
- package/src/action-menu/ActionMenu.tsx +151 -0
- package/src/action-menu/index.ts +9 -0
- package/src/action-menu/types.ts +70 -0
- package/src/agent/AgentCreationWizard.tsx +201 -0
- package/src/agent/AgentDetailView.tsx +817 -321
- package/src/agent/index.ts +16 -0
- package/src/agent/internal/agentToInput.ts +95 -0
- package/src/agent/steps/CapabilitiesStep.tsx +363 -0
- package/src/agent/steps/IdentityStep.tsx +259 -0
- package/src/agent/steps/ReviewStep.tsx +211 -0
- package/src/agent/steps/types.ts +53 -0
- package/src/agent/useCreateAgent.ts +76 -0
- package/src/agent/useUpdateAgent.ts +55 -0
- package/src/dependency-graph/DependencyGraph.tsx +153 -0
- package/src/dependency-graph/DependencyTreeNode.tsx +282 -0
- package/src/dependency-graph/index.ts +15 -0
- package/src/dependency-graph/types.ts +131 -0
- package/src/dependency-graph/useDependencyGraph.ts +158 -0
- package/src/empty-state/EmptyState.tsx +90 -0
- package/src/empty-state/index.ts +9 -0
- package/src/empty-state/types.ts +81 -0
- package/src/empty-state/useEmptyState.ts +85 -0
- package/src/execution/MessageThread.tsx +26 -15
- package/src/execution/SetupProgress.tsx +35 -14
- package/src/execution/__tests__/thread-keys.test.ts +101 -0
- package/src/feedback/StigmerToaster.tsx +45 -0
- package/src/feedback/index.ts +3 -0
- package/src/feedback/toast.ts +13 -0
- package/src/feedback/types.ts +7 -0
- package/src/index.ts +270 -8
- package/src/inline-edit/InlineEditImage.tsx +208 -0
- package/src/inline-edit/InlineEditKeyValue.tsx +278 -0
- package/src/inline-edit/InlineEditResourceList.tsx +325 -0
- package/src/inline-edit/InlineEditSelect.tsx +150 -0
- package/src/inline-edit/InlineEditText.tsx +211 -0
- package/src/inline-edit/InlineEditTextarea.tsx +209 -0
- package/src/inline-edit/index.ts +28 -0
- package/src/inline-edit/types.ts +47 -0
- package/src/inline-edit/useInlineFieldSave.ts +62 -0
- package/src/internal/Tabs.tsx +4 -164
- package/src/library/ImportResourceDialog.tsx +227 -0
- package/src/library/index.ts +18 -8
- package/src/library/serialize-resource-yaml.ts +356 -0
- package/src/library/useExportResource.ts +183 -0
- package/src/library/useImportResource.ts +253 -0
- package/src/mcp-server/McpServerCreationWizard.tsx +206 -0
- package/src/mcp-server/McpServerDetailView.tsx +392 -105
- package/src/mcp-server/index.ts +16 -0
- package/src/mcp-server/internal/mcpServerToInput.ts +95 -0
- package/src/mcp-server/steps/EnvironmentAuthStep.tsx +462 -0
- package/src/mcp-server/steps/IdentityTransportStep.tsx +531 -0
- package/src/mcp-server/steps/ReviewStep.tsx +297 -0
- package/src/mcp-server/steps/types.ts +85 -0
- package/src/mcp-server/useCreateMcpServer.ts +76 -0
- package/src/mcp-server/useUpdateMcpServer.ts +55 -0
- package/src/models/registry.ts +10 -2
- package/src/provider.tsx +1 -1
- package/src/resource-creation/CreationPicker.tsx +292 -0
- package/src/resource-creation/StepIndicator.tsx +156 -0
- package/src/resource-creation/TemplateCard.tsx +143 -0
- package/src/resource-creation/TemplateGallery.tsx +222 -0
- package/src/resource-creation/WizardNav.tsx +163 -0
- package/src/resource-creation/WizardShell.tsx +124 -0
- package/src/resource-creation/index.ts +45 -0
- package/src/resource-creation/templates/agent-templates.ts +160 -0
- package/src/resource-creation/templates/index.ts +7 -0
- package/src/resource-creation/templates/mcp-server-templates.ts +106 -0
- package/src/resource-creation/templates/types.ts +64 -0
- package/src/resource-creation/types.ts +105 -0
- package/src/resource-creation/useTemplateFilter.ts +117 -0
- package/src/resource-creation/useWizardState.ts +223 -0
- package/src/resource-detail/ConfirmDialog.tsx +127 -0
- package/src/resource-detail/ResourceActionBar.tsx +157 -0
- package/src/resource-detail/ResourceDetailShell.tsx +184 -0
- package/src/resource-detail/Section.tsx +78 -0
- package/src/resource-detail/index.ts +34 -0
- package/src/resource-detail/types.ts +177 -0
- package/src/resource-detail/useConfirmAction.ts +70 -0
- package/src/resource-detail/useCopyResource.ts +74 -0
- package/src/resource-detail/useDeleteResource.ts +110 -0
- package/src/resource-detail/useDetailTabs.ts +93 -0
- package/src/resource-workbench/components/BulkActionBar.tsx +122 -0
- package/src/resource-workbench/components/ColumnHeader.tsx +105 -0
- package/src/resource-workbench/components/FilterBar.tsx +173 -0
- package/src/resource-workbench/components/ResourceAvatar.tsx +109 -0
- package/src/resource-workbench/components/ResourceCards.tsx +126 -0
- package/src/resource-workbench/components/ResourceInspector.tsx +88 -0
- package/src/resource-workbench/components/ResourceList.tsx +121 -0
- package/src/resource-workbench/components/ResourceTable.tsx +222 -0
- package/src/resource-workbench/components/ResourceWorkbench.tsx +695 -0
- package/src/resource-workbench/components/SelectionCheckbox.tsx +52 -0
- package/src/resource-workbench/components/StatusBadge.tsx +119 -0
- package/src/resource-workbench/components/ViewSwitcher.tsx +135 -0
- package/src/resource-workbench/hooks/useResourceCollection.ts +261 -0
- package/src/resource-workbench/hooks/useResourceFilters.ts +216 -0
- package/src/resource-workbench/hooks/useResourceSelection.ts +178 -0
- package/src/resource-workbench/hooks/useViewPreference.ts +75 -0
- package/src/resource-workbench/index.ts +73 -0
- package/src/resource-workbench/types.ts +220 -0
- package/src/runner/RunnerDetailView.tsx +410 -0
- package/src/runner/RunnerListPanel.tsx +126 -111
- package/src/runner/index.ts +13 -1
- package/src/runner/shared.tsx +124 -0
- package/src/runner/useRunner.ts +59 -0
- package/src/session/__tests__/group-sessions.test.ts +5 -3
- package/src/skill/SkillDetailView.tsx +371 -165
- package/src/skill/SkillDiffDialog.tsx +213 -0
- package/src/skill/SkillFileBrowser.tsx +289 -0
- package/src/skill/SkillUploader.tsx +481 -0
- package/src/skill/index.ts +34 -0
- package/src/skill/internal/computeArtifactHash.ts +13 -0
- package/src/skill/internal/fetchAndUnpackArtifact.ts +48 -0
- package/src/skill/usePushSkill.ts +101 -0
- package/src/skill/useSkillArtifact.ts +107 -0
- package/src/skill/useSkillDiff.ts +128 -0
- package/src/skill/useSkillDuplicateCheck.ts +92 -0
- package/src/skill/useSkillUpload.ts +231 -0
- package/src/skill/useSkillVersions.ts +165 -0
- package/src/styles.css +28 -0
- package/src/tabs/Tabs.tsx +184 -0
- package/src/tabs/index.ts +2 -0
- package/src/version-history/DiffFileList.tsx +111 -0
- package/src/version-history/DiffSummary.tsx +61 -0
- package/src/version-history/DiffViewer.tsx +163 -0
- package/src/version-history/MultiFileDiffView.tsx +114 -0
- package/src/version-history/VersionTimeline.tsx +232 -0
- package/src/version-history/VersionTimelineEntry.tsx +254 -0
- package/src/version-history/computeDiff.ts +61 -0
- package/src/version-history/computeMultiFileDiff.ts +97 -0
- package/src/version-history/index.ts +22 -0
- package/src/version-history/types.ts +129 -0
- package/styles.css +1 -1
- package/tabs/Tabs.d.ts +58 -0
- package/tabs/Tabs.d.ts.map +1 -0
- package/tabs/Tabs.js +80 -0
- package/tabs/Tabs.js.map +1 -0
- package/tabs/index.d.ts +3 -0
- package/tabs/index.d.ts.map +1 -0
- package/tabs/index.js +2 -0
- package/tabs/index.js.map +1 -0
- package/version-history/DiffFileList.d.ts +22 -0
- package/version-history/DiffFileList.d.ts.map +1 -0
- package/version-history/DiffFileList.js +37 -0
- package/version-history/DiffFileList.js.map +1 -0
- package/version-history/DiffSummary.d.ts +21 -0
- package/version-history/DiffSummary.d.ts.map +1 -0
- package/version-history/DiffSummary.js +16 -0
- package/version-history/DiffSummary.js.map +1 -0
- package/version-history/DiffViewer.d.ts +31 -0
- package/version-history/DiffViewer.d.ts.map +1 -0
- package/version-history/DiffViewer.js +60 -0
- package/version-history/DiffViewer.js.map +1 -0
- package/version-history/MultiFileDiffView.d.ts +30 -0
- package/version-history/MultiFileDiffView.d.ts.map +1 -0
- package/version-history/MultiFileDiffView.js +40 -0
- package/version-history/MultiFileDiffView.js.map +1 -0
- package/version-history/VersionTimeline.d.ts +29 -0
- package/version-history/VersionTimeline.d.ts.map +1 -0
- package/version-history/VersionTimeline.js +87 -0
- package/version-history/VersionTimeline.js.map +1 -0
- package/version-history/VersionTimelineEntry.d.ts +22 -0
- package/version-history/VersionTimelineEntry.d.ts.map +1 -0
- package/version-history/VersionTimelineEntry.js +98 -0
- package/version-history/VersionTimelineEntry.js.map +1 -0
- package/version-history/computeDiff.d.ts +16 -0
- package/version-history/computeDiff.d.ts.map +1 -0
- package/version-history/computeDiff.js +54 -0
- package/version-history/computeDiff.js.map +1 -0
- package/version-history/computeMultiFileDiff.d.ts +15 -0
- package/version-history/computeMultiFileDiff.d.ts.map +1 -0
- package/version-history/computeMultiFileDiff.js +83 -0
- package/version-history/computeMultiFileDiff.js.map +1 -0
- package/version-history/index.d.ts +14 -0
- package/version-history/index.d.ts.map +1 -0
- package/version-history/index.js +9 -0
- package/version-history/index.js.map +1 -0
- package/version-history/types.d.ts +106 -0
- package/version-history/types.d.ts.map +1 -0
- package/version-history/types.js +2 -0
- package/version-history/types.js.map +1 -0
- package/library/ResourceListView.d.ts +0 -174
- package/library/ResourceListView.d.ts.map +0 -1
- package/library/ResourceListView.js +0 -318
- package/library/ResourceListView.js.map +0 -1
- package/src/library/ResourceListView.tsx +0 -956
|
@@ -15,6 +15,8 @@ import { ValidationState } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1
|
|
|
15
15
|
import type { EnvVarDeclaration } from "@stigmer/protos/ai/stigmer/agentic/environment/v1/spec_pb";
|
|
16
16
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
17
17
|
import { useMcpServer } from "./useMcpServer";
|
|
18
|
+
import { useUpdateMcpServer } from "./useUpdateMcpServer";
|
|
19
|
+
import { mcpServerToInput } from "./internal/mcpServerToInput";
|
|
18
20
|
import { useMcpServerConnect } from "./useMcpServerConnect";
|
|
19
21
|
import { useMcpServerCredentials } from "./useMcpServerCredentials";
|
|
20
22
|
import { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect";
|
|
@@ -26,7 +28,16 @@ import { ErrorMessage } from "../error/ErrorMessage";
|
|
|
26
28
|
import { EnvVarForm } from "../environment/EnvVarForm";
|
|
27
29
|
import type { EnvVarFormVariable } from "../environment/EnvVarForm";
|
|
28
30
|
import { VisibilityToggle } from "../library/VisibilityToggle";
|
|
29
|
-
import { Tabs, type TabItem } from "../
|
|
31
|
+
import { Tabs, type TabItem } from "../tabs/Tabs";
|
|
32
|
+
import { ResourceActionBar } from "../resource-detail/ResourceActionBar";
|
|
33
|
+
import { Section } from "../resource-detail/Section";
|
|
34
|
+
import type { DetailAction } from "../resource-detail/types";
|
|
35
|
+
import { InlineEditText } from "../inline-edit/InlineEditText";
|
|
36
|
+
import { InlineEditTextarea } from "../inline-edit/InlineEditTextarea";
|
|
37
|
+
import { InlineEditImage } from "../inline-edit/InlineEditImage";
|
|
38
|
+
import { InlineEditSelect } from "../inline-edit/InlineEditSelect";
|
|
39
|
+
import { InlineEditKeyValue } from "../inline-edit/InlineEditKeyValue";
|
|
40
|
+
import type { KeyValueRow, SelectOption } from "../inline-edit/types";
|
|
30
41
|
|
|
31
42
|
/** Tab identifier for the MCP server capability panel. */
|
|
32
43
|
export type CapabilityTab = "tools" | "policies" | "resources";
|
|
@@ -85,6 +96,24 @@ export interface McpServerDetailViewProps {
|
|
|
85
96
|
* When omitted, falls back to the `org` prop (MCP server's org).
|
|
86
97
|
*/
|
|
87
98
|
readonly activeOrg?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Primary action rendered as a visible button in the header area.
|
|
101
|
+
*/
|
|
102
|
+
readonly primaryAction?: DetailAction;
|
|
103
|
+
/**
|
|
104
|
+
* Secondary actions rendered in the kebab overflow menu.
|
|
105
|
+
*/
|
|
106
|
+
readonly actions?: readonly DetailAction[];
|
|
107
|
+
/**
|
|
108
|
+
* When `true`, fields on the detail view become click-to-edit.
|
|
109
|
+
* Each field saves independently via `stigmer.mcpServer.update()`.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
readonly editable?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Called after a successful inline field save with the updated server.
|
|
115
|
+
*/
|
|
116
|
+
readonly onResourceUpdated?: (server: McpServer) => void;
|
|
88
117
|
/** Additional CSS classes for the root container. */
|
|
89
118
|
readonly className?: string;
|
|
90
119
|
}
|
|
@@ -123,9 +152,34 @@ export function McpServerDetailView({
|
|
|
123
152
|
defaultShowCredentialForm = false,
|
|
124
153
|
credentialPoolValues,
|
|
125
154
|
activeOrg,
|
|
155
|
+
primaryAction,
|
|
156
|
+
actions,
|
|
157
|
+
editable = false,
|
|
158
|
+
onResourceUpdated,
|
|
126
159
|
className,
|
|
127
160
|
}: McpServerDetailViewProps) {
|
|
128
161
|
const { mcpServer, isLoading, error, refetch } = useMcpServer(org, slug);
|
|
162
|
+
const { update: updateMcpServer, isUpdating } = useUpdateMcpServer();
|
|
163
|
+
|
|
164
|
+
const saveMcpField = useCallback(
|
|
165
|
+
async <K extends keyof import("@stigmer/sdk").McpServerInput>(
|
|
166
|
+
field: K,
|
|
167
|
+
value: import("@stigmer/sdk").McpServerInput[K],
|
|
168
|
+
): Promise<boolean> => {
|
|
169
|
+
if (!mcpServer) return false;
|
|
170
|
+
const input = mcpServerToInput(mcpServer);
|
|
171
|
+
(input as unknown as Record<string, unknown>)[field] = value;
|
|
172
|
+
try {
|
|
173
|
+
const updated = await updateMcpServer(input);
|
|
174
|
+
onResourceUpdated?.(updated);
|
|
175
|
+
refetch();
|
|
176
|
+
return true;
|
|
177
|
+
} catch {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
[mcpServer, updateMcpServer, onResourceUpdated, refetch],
|
|
182
|
+
);
|
|
129
183
|
const credentials = useMcpServerCredentials(activeOrg ?? org, mcpServer ?? null);
|
|
130
184
|
const connection = useMcpServerConnect();
|
|
131
185
|
const oauth = useMcpServerOAuthConnect();
|
|
@@ -312,33 +366,73 @@ export function McpServerDetailView({
|
|
|
312
366
|
<ValidationBanner message={status.validationMessage} />
|
|
313
367
|
)}
|
|
314
368
|
|
|
315
|
-
<
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
369
|
+
<div className="flex items-start justify-between gap-4">
|
|
370
|
+
<Header
|
|
371
|
+
server={mcpServer}
|
|
372
|
+
createdAt={
|
|
373
|
+
specAudit?.createdAt ? timestampDate(specAudit.createdAt) : null
|
|
374
|
+
}
|
|
375
|
+
updatedAt={
|
|
376
|
+
specAudit?.updatedAt ? timestampDate(specAudit.updatedAt) : null
|
|
377
|
+
}
|
|
378
|
+
lastDiscoveredAt={
|
|
379
|
+
capabilities?.lastDiscoveredAt
|
|
380
|
+
? timestampDate(capabilities.lastDiscoveredAt)
|
|
381
|
+
: null
|
|
382
|
+
}
|
|
383
|
+
onVisibilityChange={onVisibilityChange}
|
|
384
|
+
isVisibilityPending={isVisibilityPending}
|
|
385
|
+
editable={editable}
|
|
386
|
+
isSaving={isUpdating}
|
|
387
|
+
saveMcpField={saveMcpField}
|
|
388
|
+
/>
|
|
389
|
+
<ResourceActionBar
|
|
390
|
+
primaryAction={primaryAction}
|
|
391
|
+
actions={actions}
|
|
392
|
+
className="shrink-0"
|
|
393
|
+
/>
|
|
394
|
+
</div>
|
|
395
|
+
|
|
396
|
+
{(editable || spec?.description) && (
|
|
397
|
+
<Section title="Description">
|
|
398
|
+
{editable && saveMcpField ? (
|
|
399
|
+
<div className="max-h-20 overflow-y-auto p-3">
|
|
400
|
+
<InlineEditTextarea
|
|
401
|
+
value={spec?.description || ""}
|
|
402
|
+
onSave={(v) => saveMcpField("description", v || undefined)}
|
|
403
|
+
isSaving={isUpdating}
|
|
404
|
+
placeholder="Add a description"
|
|
405
|
+
minRows={2}
|
|
406
|
+
/>
|
|
407
|
+
</div>
|
|
408
|
+
) : (
|
|
409
|
+
<div className="p-3">
|
|
410
|
+
<pre className="whitespace-pre-wrap break-words text-sm text-foreground font-sans">
|
|
411
|
+
{spec?.description}
|
|
412
|
+
</pre>
|
|
413
|
+
</div>
|
|
414
|
+
)}
|
|
415
|
+
</Section>
|
|
416
|
+
)}
|
|
331
417
|
|
|
332
418
|
{hasSource && <SourceSection spec={spec} />}
|
|
333
419
|
|
|
334
|
-
{spec?.serverType.case && (
|
|
335
|
-
<ServerConfigSection
|
|
420
|
+
{(editable || spec?.serverType.case) && (
|
|
421
|
+
<ServerConfigSection
|
|
422
|
+
serverType={spec?.serverType}
|
|
423
|
+
editable={editable}
|
|
424
|
+
isSaving={isUpdating}
|
|
425
|
+
saveMcpField={saveMcpField}
|
|
426
|
+
/>
|
|
336
427
|
)}
|
|
337
428
|
|
|
338
|
-
{spec?.env && Object.keys(spec.env).length > 0 && (
|
|
429
|
+
{(editable || (spec?.env && Object.keys(spec.env).length > 0)) && (
|
|
339
430
|
<EnvSection
|
|
340
|
-
data={spec
|
|
431
|
+
data={spec?.env ?? {}}
|
|
341
432
|
oauthTargetEnvVar={credentials.oauthTargetEnvVar}
|
|
433
|
+
editable={editable}
|
|
434
|
+
isSaving={isUpdating}
|
|
435
|
+
saveMcpField={saveMcpField}
|
|
342
436
|
/>
|
|
343
437
|
)}
|
|
344
438
|
|
|
@@ -455,7 +549,9 @@ export function McpServerDetailView({
|
|
|
455
549
|
</Tabs>
|
|
456
550
|
</Section>
|
|
457
551
|
|
|
458
|
-
{spec && spec.tags.length > 0 &&
|
|
552
|
+
{(editable || (spec && spec.tags.length > 0)) && (
|
|
553
|
+
<TagsSection tags={spec?.tags ?? []} editable={editable} isSaving={isUpdating} saveMcpField={saveMcpField} />
|
|
554
|
+
)}
|
|
459
555
|
</div>
|
|
460
556
|
);
|
|
461
557
|
}
|
|
@@ -1039,6 +1135,9 @@ function Header({
|
|
|
1039
1135
|
lastDiscoveredAt,
|
|
1040
1136
|
onVisibilityChange,
|
|
1041
1137
|
isVisibilityPending,
|
|
1138
|
+
editable,
|
|
1139
|
+
isSaving,
|
|
1140
|
+
saveMcpField,
|
|
1042
1141
|
}: {
|
|
1043
1142
|
readonly server: McpServer;
|
|
1044
1143
|
readonly createdAt: Date | null;
|
|
@@ -1046,6 +1145,12 @@ function Header({
|
|
|
1046
1145
|
readonly lastDiscoveredAt: Date | null;
|
|
1047
1146
|
readonly onVisibilityChange?: (v: ApiResourceVisibility) => void;
|
|
1048
1147
|
readonly isVisibilityPending?: boolean;
|
|
1148
|
+
readonly editable?: boolean;
|
|
1149
|
+
readonly isSaving?: boolean;
|
|
1150
|
+
readonly saveMcpField?: <K extends keyof import("@stigmer/sdk").McpServerInput>(
|
|
1151
|
+
field: K,
|
|
1152
|
+
value: import("@stigmer/sdk").McpServerInput[K],
|
|
1153
|
+
) => Promise<boolean>;
|
|
1049
1154
|
}) {
|
|
1050
1155
|
const meta = server.metadata;
|
|
1051
1156
|
const spec = server.spec;
|
|
@@ -1056,7 +1161,15 @@ function Header({
|
|
|
1056
1161
|
|
|
1057
1162
|
return (
|
|
1058
1163
|
<div className="flex items-start gap-3">
|
|
1059
|
-
{
|
|
1164
|
+
{editable && saveMcpField ? (
|
|
1165
|
+
<InlineEditImage
|
|
1166
|
+
value={spec?.iconUrl ?? ""}
|
|
1167
|
+
onSave={(v) => saveMcpField("iconUrl", v || undefined)}
|
|
1168
|
+
isSaving={isSaving}
|
|
1169
|
+
fallback={<McpServerIcon className="size-6 text-muted-foreground" />}
|
|
1170
|
+
size="md"
|
|
1171
|
+
/>
|
|
1172
|
+
) : spec?.iconUrl ? (
|
|
1060
1173
|
<img
|
|
1061
1174
|
src={spec.iconUrl}
|
|
1062
1175
|
alt=""
|
|
@@ -1067,9 +1180,20 @@ function Header({
|
|
|
1067
1180
|
)}
|
|
1068
1181
|
<div className="min-w-0 flex-1">
|
|
1069
1182
|
<div className="flex items-center gap-2">
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1183
|
+
{editable && saveMcpField ? (
|
|
1184
|
+
<InlineEditText
|
|
1185
|
+
value={meta?.name || ""}
|
|
1186
|
+
onSave={(v) => saveMcpField("name", v)}
|
|
1187
|
+
isSaving={isSaving}
|
|
1188
|
+
variant="heading"
|
|
1189
|
+
placeholder="Server name"
|
|
1190
|
+
validate={(v) => (v.trim() ? null : "Name is required")}
|
|
1191
|
+
/>
|
|
1192
|
+
) : (
|
|
1193
|
+
<h2 className="truncate text-lg font-semibold text-foreground">
|
|
1194
|
+
{displayName}
|
|
1195
|
+
</h2>
|
|
1196
|
+
)}
|
|
1073
1197
|
{onVisibilityChange && meta ? (
|
|
1074
1198
|
<VisibilityToggle
|
|
1075
1199
|
visibility={meta.visibility}
|
|
@@ -1113,11 +1237,6 @@ function Header({
|
|
|
1113
1237
|
</>
|
|
1114
1238
|
)}
|
|
1115
1239
|
</div>
|
|
1116
|
-
{spec?.description && (
|
|
1117
|
-
<p className="mt-2 text-sm text-muted-foreground">
|
|
1118
|
-
{spec.description}
|
|
1119
|
-
</p>
|
|
1120
|
-
)}
|
|
1121
1240
|
</div>
|
|
1122
1241
|
</div>
|
|
1123
1242
|
);
|
|
@@ -1151,13 +1270,40 @@ function ValidationStateBadge({
|
|
|
1151
1270
|
}
|
|
1152
1271
|
}
|
|
1153
1272
|
|
|
1273
|
+
const TRANSPORT_OPTIONS: SelectOption[] = [
|
|
1274
|
+
{ value: "http", label: "HTTP", description: "Connect via HTTP/SSE endpoint" },
|
|
1275
|
+
{ value: "stdio", label: "Stdio", description: "Launch a local process with stdin/stdout" },
|
|
1276
|
+
];
|
|
1277
|
+
|
|
1154
1278
|
function ServerConfigSection({
|
|
1155
1279
|
serverType,
|
|
1280
|
+
editable,
|
|
1281
|
+
isSaving,
|
|
1282
|
+
saveMcpField,
|
|
1156
1283
|
}: {
|
|
1157
|
-
readonly serverType
|
|
1158
|
-
|
|
1159
|
-
|
|
1284
|
+
readonly serverType?: import("@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/spec_pb").McpServerSpec["serverType"];
|
|
1285
|
+
readonly editable?: boolean;
|
|
1286
|
+
readonly isSaving?: boolean;
|
|
1287
|
+
readonly saveMcpField?: <K extends keyof import("@stigmer/sdk").McpServerInput>(
|
|
1288
|
+
field: K,
|
|
1289
|
+
value: import("@stigmer/sdk").McpServerInput[K],
|
|
1290
|
+
) => Promise<boolean>;
|
|
1160
1291
|
}) {
|
|
1292
|
+
const handleTransportChange = useCallback(
|
|
1293
|
+
async (newType: string) => {
|
|
1294
|
+
if (!saveMcpField) return false;
|
|
1295
|
+
if (newType === "http") {
|
|
1296
|
+
const ok = await saveMcpField("http", { url: "" });
|
|
1297
|
+
if (ok) await saveMcpField("stdio", undefined);
|
|
1298
|
+
return ok;
|
|
1299
|
+
}
|
|
1300
|
+
const ok = await saveMcpField("stdio", { command: "" });
|
|
1301
|
+
if (ok) await saveMcpField("http", undefined);
|
|
1302
|
+
return ok;
|
|
1303
|
+
},
|
|
1304
|
+
[saveMcpField],
|
|
1305
|
+
);
|
|
1306
|
+
|
|
1161
1307
|
return (
|
|
1162
1308
|
<Section title="Server Configuration">
|
|
1163
1309
|
<div className="flex flex-col gap-2 p-3">
|
|
@@ -1165,54 +1311,125 @@ function ServerConfigSection({
|
|
|
1165
1311
|
<span className="text-xs font-medium text-muted-foreground">
|
|
1166
1312
|
Type
|
|
1167
1313
|
</span>
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1314
|
+
{editable && saveMcpField ? (
|
|
1315
|
+
<InlineEditSelect
|
|
1316
|
+
value={serverType?.case ?? "http"}
|
|
1317
|
+
options={TRANSPORT_OPTIONS}
|
|
1318
|
+
onSave={handleTransportChange}
|
|
1319
|
+
isSaving={isSaving}
|
|
1320
|
+
/>
|
|
1321
|
+
) : (
|
|
1322
|
+
<span className="rounded bg-muted px-1.5 py-0.5 font-mono text-xs font-medium text-foreground">
|
|
1323
|
+
{serverType?.case ?? "none"}
|
|
1324
|
+
</span>
|
|
1325
|
+
)}
|
|
1171
1326
|
</div>
|
|
1172
1327
|
|
|
1173
|
-
{serverType
|
|
1328
|
+
{serverType?.case === "stdio" && (
|
|
1174
1329
|
<>
|
|
1175
1330
|
<div className="flex items-baseline gap-2">
|
|
1176
1331
|
<span className="text-xs font-medium text-muted-foreground">
|
|
1177
1332
|
Command
|
|
1178
1333
|
</span>
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1334
|
+
{editable && saveMcpField ? (
|
|
1335
|
+
<InlineEditText
|
|
1336
|
+
value={`${serverType.value.command}${serverType.value.args.length > 0 ? ` ${serverType.value.args.join(" ")}` : ""}`}
|
|
1337
|
+
onSave={async (v) => {
|
|
1338
|
+
const parts = v.trim().split(/\s+/);
|
|
1339
|
+
return saveMcpField("stdio", {
|
|
1340
|
+
command: parts[0] || "",
|
|
1341
|
+
args: parts.slice(1),
|
|
1342
|
+
});
|
|
1343
|
+
}}
|
|
1344
|
+
isSaving={isSaving}
|
|
1345
|
+
placeholder="e.g. npx -y @modelcontextprotocol/server"
|
|
1346
|
+
/>
|
|
1347
|
+
) : (
|
|
1348
|
+
<code className="font-mono text-sm text-foreground">
|
|
1349
|
+
{serverType.value.command}
|
|
1350
|
+
{serverType.value.args.length > 0 &&
|
|
1351
|
+
` ${serverType.value.args.join(" ")}`}
|
|
1352
|
+
</code>
|
|
1353
|
+
)}
|
|
1184
1354
|
</div>
|
|
1185
|
-
{serverType.value.workingDir && (
|
|
1355
|
+
{(editable || serverType.value.workingDir) && (
|
|
1186
1356
|
<div className="flex items-baseline gap-2">
|
|
1187
1357
|
<span className="text-xs font-medium text-muted-foreground">
|
|
1188
1358
|
Working Dir
|
|
1189
1359
|
</span>
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1360
|
+
{editable && saveMcpField ? (
|
|
1361
|
+
<InlineEditText
|
|
1362
|
+
value={serverType.value.workingDir ?? ""}
|
|
1363
|
+
onSave={async (v) =>
|
|
1364
|
+
saveMcpField("stdio", {
|
|
1365
|
+
command: serverType.value.command,
|
|
1366
|
+
args: [...serverType.value.args],
|
|
1367
|
+
workingDir: v || undefined,
|
|
1368
|
+
})
|
|
1369
|
+
}
|
|
1370
|
+
isSaving={isSaving}
|
|
1371
|
+
placeholder="/path/to/working/dir"
|
|
1372
|
+
/>
|
|
1373
|
+
) : (
|
|
1374
|
+
<code className="font-mono text-xs text-foreground">
|
|
1375
|
+
{serverType.value.workingDir}
|
|
1376
|
+
</code>
|
|
1377
|
+
)}
|
|
1193
1378
|
</div>
|
|
1194
1379
|
)}
|
|
1195
1380
|
</>
|
|
1196
1381
|
)}
|
|
1197
1382
|
|
|
1198
|
-
{serverType
|
|
1383
|
+
{serverType?.case === "http" && (
|
|
1199
1384
|
<>
|
|
1200
1385
|
<div className="flex items-baseline gap-2">
|
|
1201
1386
|
<span className="text-xs font-medium text-muted-foreground">
|
|
1202
1387
|
URL
|
|
1203
1388
|
</span>
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1389
|
+
{editable && saveMcpField ? (
|
|
1390
|
+
<InlineEditText
|
|
1391
|
+
value={serverType.value.url}
|
|
1392
|
+
onSave={async (v) =>
|
|
1393
|
+
saveMcpField("http", {
|
|
1394
|
+
url: v,
|
|
1395
|
+
timeoutSeconds: serverType.value.timeoutSeconds || undefined,
|
|
1396
|
+
})
|
|
1397
|
+
}
|
|
1398
|
+
isSaving={isSaving}
|
|
1399
|
+
placeholder="https://example.com/mcp"
|
|
1400
|
+
/>
|
|
1401
|
+
) : (
|
|
1402
|
+
<code className="break-all font-mono text-sm text-foreground">
|
|
1403
|
+
{serverType.value.url}
|
|
1404
|
+
</code>
|
|
1405
|
+
)}
|
|
1207
1406
|
</div>
|
|
1208
|
-
{serverType.value.timeoutSeconds > 0 && (
|
|
1407
|
+
{(editable || serverType.value.timeoutSeconds > 0) && (
|
|
1209
1408
|
<div className="flex items-baseline gap-2">
|
|
1210
1409
|
<span className="text-xs font-medium text-muted-foreground">
|
|
1211
1410
|
Timeout
|
|
1212
1411
|
</span>
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1412
|
+
{editable && saveMcpField ? (
|
|
1413
|
+
<InlineEditText
|
|
1414
|
+
value={serverType.value.timeoutSeconds > 0 ? String(serverType.value.timeoutSeconds) : ""}
|
|
1415
|
+
onSave={async (v) =>
|
|
1416
|
+
saveMcpField("http", {
|
|
1417
|
+
url: serverType.value.url,
|
|
1418
|
+
timeoutSeconds: v ? Number(v) : undefined,
|
|
1419
|
+
})
|
|
1420
|
+
}
|
|
1421
|
+
isSaving={isSaving}
|
|
1422
|
+
placeholder="30"
|
|
1423
|
+
validate={(v) => {
|
|
1424
|
+
if (v && (isNaN(Number(v)) || Number(v) < 0)) return "Must be a positive number";
|
|
1425
|
+
return null;
|
|
1426
|
+
}}
|
|
1427
|
+
/>
|
|
1428
|
+
) : (
|
|
1429
|
+
<span className="text-xs text-foreground">
|
|
1430
|
+
{serverType.value.timeoutSeconds}s
|
|
1431
|
+
</span>
|
|
1432
|
+
)}
|
|
1216
1433
|
</div>
|
|
1217
1434
|
)}
|
|
1218
1435
|
</>
|
|
@@ -1294,53 +1511,138 @@ function ResourceTemplatesList({
|
|
|
1294
1511
|
function EnvSection({
|
|
1295
1512
|
data,
|
|
1296
1513
|
oauthTargetEnvVar,
|
|
1514
|
+
editable,
|
|
1515
|
+
isSaving,
|
|
1516
|
+
saveMcpField,
|
|
1297
1517
|
}: {
|
|
1298
1518
|
readonly data: { [key: string]: EnvVarDeclaration };
|
|
1299
1519
|
readonly oauthTargetEnvVar: string | null;
|
|
1520
|
+
readonly editable?: boolean;
|
|
1521
|
+
readonly isSaving?: boolean;
|
|
1522
|
+
readonly saveMcpField?: <K extends keyof import("@stigmer/sdk").McpServerInput>(
|
|
1523
|
+
field: K,
|
|
1524
|
+
value: import("@stigmer/sdk").McpServerInput[K],
|
|
1525
|
+
) => Promise<boolean>;
|
|
1300
1526
|
}) {
|
|
1301
1527
|
const entries = Object.entries(data).sort(([a], [b]) =>
|
|
1302
1528
|
a.localeCompare(b),
|
|
1303
1529
|
);
|
|
1304
1530
|
|
|
1531
|
+
const envRows: KeyValueRow[] = useMemo(
|
|
1532
|
+
() =>
|
|
1533
|
+
entries.map(([key, decl]) => ({
|
|
1534
|
+
key,
|
|
1535
|
+
value: "",
|
|
1536
|
+
isSecret: decl.isSecret,
|
|
1537
|
+
description: decl.description,
|
|
1538
|
+
optional: decl.optional,
|
|
1539
|
+
})),
|
|
1540
|
+
[entries],
|
|
1541
|
+
);
|
|
1542
|
+
|
|
1543
|
+
const handleEnvSave = useCallback(
|
|
1544
|
+
async (rows: KeyValueRow[]) => {
|
|
1545
|
+
if (!saveMcpField) return false;
|
|
1546
|
+
const env: Record<string, { isSecret?: boolean; description?: string; optional?: boolean }> = {};
|
|
1547
|
+
for (const row of rows) {
|
|
1548
|
+
if (row.key.trim()) {
|
|
1549
|
+
env[row.key.trim()] = {
|
|
1550
|
+
isSecret: row.isSecret || undefined,
|
|
1551
|
+
description: row.description || undefined,
|
|
1552
|
+
optional: row.optional || undefined,
|
|
1553
|
+
};
|
|
1554
|
+
}
|
|
1555
|
+
}
|
|
1556
|
+
return saveMcpField("env", Object.keys(env).length > 0 ? env : undefined);
|
|
1557
|
+
},
|
|
1558
|
+
[saveMcpField],
|
|
1559
|
+
);
|
|
1560
|
+
|
|
1561
|
+
const [envEditing, setEnvEditing] = useState(false);
|
|
1562
|
+
|
|
1305
1563
|
return (
|
|
1306
|
-
<Section title=
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
{env.description}
|
|
1564
|
+
<Section title="Environment Variables" count={entries.length} onEdit={editable ? () => setEnvEditing((v) => !v) : undefined}>
|
|
1565
|
+
{editable ? (
|
|
1566
|
+
<InlineEditKeyValue
|
|
1567
|
+
value={envRows}
|
|
1568
|
+
onSave={handleEnvSave}
|
|
1569
|
+
isSaving={isSaving}
|
|
1570
|
+
editing={envEditing}
|
|
1571
|
+
onEditingChange={setEnvEditing}
|
|
1572
|
+
showSecretToggle
|
|
1573
|
+
showOptionalToggle
|
|
1574
|
+
showDescription
|
|
1575
|
+
keyLabel="Variable name"
|
|
1576
|
+
/>
|
|
1577
|
+
) : (
|
|
1578
|
+
<div className="flex flex-col divide-y divide-border">
|
|
1579
|
+
{entries.map(([name, env]) => {
|
|
1580
|
+
const isOAuthManaged = name === oauthTargetEnvVar;
|
|
1581
|
+
return (
|
|
1582
|
+
<div key={name} className="flex items-start gap-3 px-3 py-2">
|
|
1583
|
+
<code className="shrink-0 font-mono text-sm font-medium text-foreground">
|
|
1584
|
+
{name}
|
|
1585
|
+
</code>
|
|
1586
|
+
<span className="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground">
|
|
1587
|
+
{env.isSecret ? "secret" : "config"}
|
|
1331
1588
|
</span>
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1589
|
+
{isOAuthManaged && (
|
|
1590
|
+
<span className="shrink-0 rounded bg-primary-subtle px-1.5 py-0.5 text-[10px] font-medium text-primary">
|
|
1591
|
+
oauth
|
|
1592
|
+
</span>
|
|
1593
|
+
)}
|
|
1594
|
+
{env.optional && (
|
|
1595
|
+
<span className="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground-subtle">
|
|
1596
|
+
optional
|
|
1597
|
+
</span>
|
|
1598
|
+
)}
|
|
1599
|
+
{env.description && (
|
|
1600
|
+
<span className="text-xs text-muted-foreground">
|
|
1601
|
+
{env.description}
|
|
1602
|
+
</span>
|
|
1603
|
+
)}
|
|
1604
|
+
</div>
|
|
1605
|
+
);
|
|
1606
|
+
})}
|
|
1607
|
+
</div>
|
|
1608
|
+
)}
|
|
1337
1609
|
</Section>
|
|
1338
1610
|
);
|
|
1339
1611
|
}
|
|
1340
1612
|
|
|
1341
|
-
function TagsSection({
|
|
1613
|
+
function TagsSection({
|
|
1614
|
+
tags,
|
|
1615
|
+
editable,
|
|
1616
|
+
isSaving,
|
|
1617
|
+
saveMcpField,
|
|
1618
|
+
}: {
|
|
1619
|
+
readonly tags: readonly string[];
|
|
1620
|
+
readonly editable?: boolean;
|
|
1621
|
+
readonly isSaving?: boolean;
|
|
1622
|
+
readonly saveMcpField?: <K extends keyof import("@stigmer/sdk").McpServerInput>(
|
|
1623
|
+
field: K,
|
|
1624
|
+
value: import("@stigmer/sdk").McpServerInput[K],
|
|
1625
|
+
) => Promise<boolean>;
|
|
1626
|
+
}) {
|
|
1627
|
+
const tagRows: KeyValueRow[] = useMemo(
|
|
1628
|
+
() => tags.map((t) => ({ key: t, value: "" })),
|
|
1629
|
+
[tags],
|
|
1630
|
+
);
|
|
1631
|
+
|
|
1632
|
+
const handleTagsSave = useCallback(
|
|
1633
|
+
async (rows: KeyValueRow[]) => {
|
|
1634
|
+
if (!saveMcpField) return false;
|
|
1635
|
+
// Tags are stored as string[] on the spec but not directly on McpServerInput.
|
|
1636
|
+
// For now, save them through the full input by modifying the spec.
|
|
1637
|
+
// Tags don't have a direct field on McpServerInput, so we handle this at
|
|
1638
|
+
// a higher level if needed. For now, show read-only in edit mode.
|
|
1639
|
+
return false;
|
|
1640
|
+
},
|
|
1641
|
+
[saveMcpField],
|
|
1642
|
+
);
|
|
1643
|
+
|
|
1342
1644
|
return (
|
|
1343
|
-
<Section title=
|
|
1645
|
+
<Section title="Tags" count={tags.length}>
|
|
1344
1646
|
<div className="flex flex-wrap gap-1.5 p-3">
|
|
1345
1647
|
{tags.map((tag) => (
|
|
1346
1648
|
<span
|
|
@@ -1350,6 +1652,9 @@ function TagsSection({ tags }: { readonly tags: readonly string[] }) {
|
|
|
1350
1652
|
{tag}
|
|
1351
1653
|
</span>
|
|
1352
1654
|
))}
|
|
1655
|
+
{editable && tags.length === 0 && (
|
|
1656
|
+
<p className="text-xs text-muted-foreground italic">No tags</p>
|
|
1657
|
+
)}
|
|
1353
1658
|
</div>
|
|
1354
1659
|
</Section>
|
|
1355
1660
|
);
|
|
@@ -1484,24 +1789,6 @@ function PolicyGroup({
|
|
|
1484
1789
|
// Shared layout primitives
|
|
1485
1790
|
// ---------------------------------------------------------------------------
|
|
1486
1791
|
|
|
1487
|
-
function Section({
|
|
1488
|
-
title,
|
|
1489
|
-
children,
|
|
1490
|
-
}: {
|
|
1491
|
-
readonly title: string;
|
|
1492
|
-
readonly children: React.ReactNode;
|
|
1493
|
-
}) {
|
|
1494
|
-
return (
|
|
1495
|
-
<section>
|
|
1496
|
-
<h3 className="mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground">
|
|
1497
|
-
{title}
|
|
1498
|
-
</h3>
|
|
1499
|
-
<div className="overflow-hidden rounded-lg border border-border">
|
|
1500
|
-
{children}
|
|
1501
|
-
</div>
|
|
1502
|
-
</section>
|
|
1503
|
-
);
|
|
1504
|
-
}
|
|
1505
1792
|
|
|
1506
1793
|
function Dot() {
|
|
1507
1794
|
return (
|
package/src/mcp-server/index.ts
CHANGED
|
@@ -85,3 +85,19 @@ export type {
|
|
|
85
85
|
|
|
86
86
|
export { McpServerConnectDialog } from "./McpServerConnectDialog";
|
|
87
87
|
export type { McpServerConnectDialogProps } from "./McpServerConnectDialog";
|
|
88
|
+
|
|
89
|
+
export { useCreateMcpServer } from "./useCreateMcpServer";
|
|
90
|
+
export type { UseCreateMcpServerReturn } from "./useCreateMcpServer";
|
|
91
|
+
|
|
92
|
+
export { useUpdateMcpServer } from "./useUpdateMcpServer";
|
|
93
|
+
export type { UseUpdateMcpServerReturn } from "./useUpdateMcpServer";
|
|
94
|
+
|
|
95
|
+
export { mcpServerToInput } from "./internal/mcpServerToInput";
|
|
96
|
+
|
|
97
|
+
export { McpServerCreationWizard } from "./McpServerCreationWizard";
|
|
98
|
+
export type {
|
|
99
|
+
McpServerCreationWizardProps,
|
|
100
|
+
McpServerCreationResult,
|
|
101
|
+
} from "./McpServerCreationWizard";
|
|
102
|
+
|
|
103
|
+
export type { McpServerWizardData } from "./steps/types";
|