@burdenoff/microfe-botmanor 2026.1108.1 → 2026.1109.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/dist/botlit/BotlitRoutes.d.ts +2 -0
- package/dist/botlit/BotlitRoutes.js +24 -25
- package/dist/botlit/BotlitRoutes.js.map +1 -1
- package/dist/botlit/BotmanorRoot.d.ts +3 -0
- package/dist/botlit/BotmanorRoot.js +1 -2
- package/dist/botlit/BotmanorRoot.js.map +1 -1
- package/dist/botlit/BotmanorRootInner.d.ts +3 -0
- package/dist/botlit/BotmanorRootInner.js +9 -10
- package/dist/botlit/BotmanorRootInner.js.map +1 -1
- package/dist/botlit/components/AgentApprovalPanel.d.ts +20 -0
- package/dist/botlit/components/AgentApprovalPanel.js +49 -50
- package/dist/botlit/components/AgentApprovalPanel.js.map +1 -1
- package/dist/botlit/components/AiOperationsPanel.d.ts +14 -0
- package/dist/botlit/components/AiOperationsPanel.js +54 -55
- package/dist/botlit/components/AiOperationsPanel.js.map +1 -1
- package/dist/botlit/components/AssistantChannelPanel.d.ts +3 -0
- package/dist/botlit/components/AssistantChannelPanel.js +12 -13
- package/dist/botlit/components/AssistantChannelPanel.js.map +1 -1
- package/dist/botlit/components/AssistantRuntimeSetupPanel.d.ts +4 -0
- package/dist/botlit/components/AssistantRuntimeSetupPanel.js +14 -14
- package/dist/botlit/components/AssistantRuntimeSetupPanel.js.map +1 -1
- package/dist/botlit/components/AssistantWebsitePanel.d.ts +5 -0
- package/dist/botlit/components/AssistantWebsitePanel.js +15 -16
- package/dist/botlit/components/AssistantWebsitePanel.js.map +1 -1
- package/dist/botlit/components/Badge.d.ts +9 -0
- package/dist/botlit/components/Badge.js +1 -2
- package/dist/botlit/components/Badge.js.map +1 -1
- package/dist/botlit/components/Button.d.ts +10 -0
- package/dist/botlit/components/Button.js +1 -2
- package/dist/botlit/components/Button.js.map +1 -1
- package/dist/botlit/components/Card.d.ts +16 -0
- package/dist/botlit/components/Card.js +1 -2
- package/dist/botlit/components/Card.js.map +1 -1
- package/dist/botlit/components/ChannelSelectorSheet.d.ts +23 -0
- package/dist/botlit/components/ChannelSelectorSheet.js +1 -2
- package/dist/botlit/components/ChannelSelectorSheet.js.map +1 -1
- package/dist/botlit/components/EmptyState.d.ts +12 -0
- package/dist/botlit/components/EmptyState.js +1 -2
- package/dist/botlit/components/EmptyState.js.map +1 -1
- package/dist/botlit/components/ErrorState.d.ts +10 -0
- package/dist/botlit/components/ErrorState.js +5 -6
- package/dist/botlit/components/ErrorState.js.map +1 -1
- package/dist/botlit/components/Input.d.ts +27 -0
- package/dist/botlit/components/Input.js +1 -2
- package/dist/botlit/components/Input.js.map +1 -1
- package/dist/botlit/components/KnowledgeSourceImportPanel.d.ts +3 -0
- package/dist/botlit/components/KnowledgeSourceImportPanel.js +12 -13
- package/dist/botlit/components/KnowledgeSourceImportPanel.js.map +1 -1
- package/dist/botlit/components/ModelRegistrationPanel.d.ts +5 -0
- package/dist/botlit/components/ModelRegistrationPanel.js +1 -2
- package/dist/botlit/components/ModelRegistrationPanel.js.map +1 -1
- package/dist/botlit/components/PageLayout.d.ts +12 -0
- package/dist/botlit/components/PageLayout.js +1 -2
- package/dist/botlit/components/PageLayout.js.map +1 -1
- package/dist/botlit/components/QuotaExhaustedDialog.d.ts +9 -0
- package/dist/botlit/components/QuotaExhaustedDialog.js +1 -2
- package/dist/botlit/components/QuotaExhaustedDialog.js.map +1 -1
- package/dist/botlit/components/RetentionStatusPanel.d.ts +2 -0
- package/dist/botlit/components/RetentionStatusPanel.js +18 -19
- package/dist/botlit/components/RetentionStatusPanel.js.map +1 -1
- package/dist/botlit/components/RouteLoader.d.ts +23 -0
- package/dist/botlit/components/RouteLoader.js +1 -2
- package/dist/botlit/components/RouteLoader.js.map +1 -1
- package/dist/botlit/components/VersionHistoryPanel.d.ts +12 -0
- package/dist/botlit/components/VersionHistoryPanel.js +23 -24
- package/dist/botlit/components/VersionHistoryPanel.js.map +1 -1
- package/dist/botlit/components/WorkspaceRequired.d.ts +18 -0
- package/dist/botlit/components/WorkspaceRequired.js +1 -2
- package/dist/botlit/components/WorkspaceRequired.js.map +1 -1
- package/dist/botlit/components/index.d.ts +14 -0
- package/dist/botlit/hooks/index.d.ts +36 -0
- package/dist/botlit/hooks/index.js +15 -14
- package/dist/botlit/hooks/internal/mutationInput.d.ts +56 -0
- package/dist/botlit/hooks/internal/mutationInput.js +1 -2
- package/dist/botlit/hooks/internal/mutationInput.js.map +1 -1
- package/dist/botlit/hooks/internal/workspaceGateway.d.ts +54 -0
- package/dist/botlit/hooks/internal/workspaceGateway.js +17 -19
- package/dist/botlit/hooks/internal/workspaceGateway.js.map +1 -1
- package/dist/botlit/hooks/useA2A.d.ts +104 -0
- package/dist/botlit/hooks/useA2A.js +45 -45
- package/dist/botlit/hooks/useA2A.js.map +1 -1
- package/dist/botlit/hooks/useAgentApprovals.d.ts +62 -0
- package/dist/botlit/hooks/useAgentApprovals.js +38 -39
- package/dist/botlit/hooks/useAgentApprovals.js.map +1 -1
- package/dist/botlit/hooks/useAgents.d.ts +105 -0
- package/dist/botlit/hooks/useAgents.js +53 -54
- package/dist/botlit/hooks/useAgents.js.map +1 -1
- package/dist/botlit/hooks/useAiOperations.d.ts +95 -0
- package/dist/botlit/hooks/useAiOperations.js +20 -19
- package/dist/botlit/hooks/useAiOperations.js.map +1 -1
- package/dist/botlit/hooks/useAssistantChannels.d.ts +16 -0
- package/dist/botlit/hooks/useAssistantChannels.js +1 -2
- package/dist/botlit/hooks/useAssistantChannels.js.map +1 -1
- package/dist/botlit/hooks/useAssistantRuntimeSetup.d.ts +17 -0
- package/dist/botlit/hooks/useAssistantRuntimeSetup.js +1 -2
- package/dist/botlit/hooks/useAssistantRuntimeSetup.js.map +1 -1
- package/dist/botlit/hooks/useAssistantWebsites.d.ts +18 -0
- package/dist/botlit/hooks/useAssistantWebsites.js +1 -2
- package/dist/botlit/hooks/useAssistantWebsites.js.map +1 -1
- package/dist/botlit/hooks/useBotWorkflow.d.ts +22 -0
- package/dist/botlit/hooks/useBotWorkflow.js +1 -2
- package/dist/botlit/hooks/useBotWorkflow.js.map +1 -1
- package/dist/botlit/hooks/useBots.d.ts +68 -0
- package/dist/botlit/hooks/useBots.js +32 -33
- package/dist/botlit/hooks/useBots.js.map +1 -1
- package/dist/botlit/hooks/useBuckets.d.ts +57 -0
- package/dist/botlit/hooks/useBuckets.js +38 -39
- package/dist/botlit/hooks/useBuckets.js.map +1 -1
- package/dist/botlit/hooks/useChannels.d.ts +87 -0
- package/dist/botlit/hooks/useChannels.js +73 -73
- package/dist/botlit/hooks/useChannels.js.map +1 -1
- package/dist/botlit/hooks/useConversations.d.ts +42 -0
- package/dist/botlit/hooks/useConversations.js +1 -2
- package/dist/botlit/hooks/useConversations.js.map +1 -1
- package/dist/botlit/hooks/useExecutions.d.ts +87 -0
- package/dist/botlit/hooks/useExecutions.js +37 -37
- package/dist/botlit/hooks/useExecutions.js.map +1 -1
- package/dist/botlit/hooks/useKnowledgeBases.d.ts +79 -0
- package/dist/botlit/hooks/useKnowledgeBases.js +40 -39
- package/dist/botlit/hooks/useKnowledgeBases.js.map +1 -1
- package/dist/botlit/hooks/useKnowledgeSourceImports.d.ts +21 -0
- package/dist/botlit/hooks/useKnowledgeSourceImports.js +1 -2
- package/dist/botlit/hooks/useKnowledgeSourceImports.js.map +1 -1
- package/dist/botlit/hooks/useLLMProviders.d.ts +66 -0
- package/dist/botlit/hooks/useLLMProviders.js +25 -26
- package/dist/botlit/hooks/useLLMProviders.js.map +1 -1
- package/dist/botlit/hooks/useMCPServers.d.ts +71 -0
- package/dist/botlit/hooks/useMCPServers.js +40 -38
- package/dist/botlit/hooks/useMCPServers.js.map +1 -1
- package/dist/botlit/hooks/usePolicies.d.ts +60 -0
- package/dist/botlit/hooks/usePolicies.js +49 -49
- package/dist/botlit/hooks/usePolicies.js.map +1 -1
- package/dist/botlit/hooks/usePromptTemplates.d.ts +88 -0
- package/dist/botlit/hooks/usePromptTemplates.js +57 -57
- package/dist/botlit/hooks/usePromptTemplates.js.map +1 -1
- package/dist/botlit/hooks/useRetention.d.ts +26 -0
- package/dist/botlit/hooks/useRetention.js +3 -3
- package/dist/botlit/hooks/useRetention.js.map +1 -1
- package/dist/botlit/hooks/useRetrievalProfiles.d.ts +75 -0
- package/dist/botlit/hooks/useRetrievalProfiles.js +47 -47
- package/dist/botlit/hooks/useRetrievalProfiles.js.map +1 -1
- package/dist/botlit/hooks/useSkills.d.ts +64 -0
- package/dist/botlit/hooks/useSkills.js +53 -53
- package/dist/botlit/hooks/useSkills.js.map +1 -1
- package/dist/botlit/hooks/useStore.d.ts +112 -0
- package/dist/botlit/hooks/useStore.js +55 -55
- package/dist/botlit/hooks/useStore.js.map +1 -1
- package/dist/botlit/hooks/useUserPlatformConnection.d.ts +80 -0
- package/dist/botlit/hooks/useUserPlatformConnection.js +19 -19
- package/dist/botlit/hooks/useUserPlatformConnection.js.map +1 -1
- package/dist/botlit/index.d.ts +16 -0
- package/dist/botlit/index.js +12 -11
- package/dist/botlit/pages/A2AAgentDetailPage.d.ts +6 -0
- package/dist/botlit/pages/A2AAgentDetailPage.js +171 -178
- package/dist/botlit/pages/A2AAgentDetailPage.js.map +1 -1
- package/dist/botlit/pages/A2ARegistryPage.d.ts +2 -0
- package/dist/botlit/pages/A2ARegistryPage.js +25 -26
- package/dist/botlit/pages/A2ARegistryPage.js.map +1 -1
- package/dist/botlit/pages/AgentApprovalsPage.d.ts +2 -0
- package/dist/botlit/pages/AgentApprovalsPage.js +32 -33
- package/dist/botlit/pages/AgentApprovalsPage.js.map +1 -1
- package/dist/botlit/pages/AgentBuilderPage.d.ts +2 -0
- package/dist/botlit/pages/AgentBuilderPage.js +59 -60
- package/dist/botlit/pages/AgentBuilderPage.js.map +1 -1
- package/dist/botlit/pages/AgentDetailPage.d.ts +2 -0
- package/dist/botlit/pages/AgentDetailPage.js +83 -84
- package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
- package/dist/botlit/pages/AgentsListPage.d.ts +2 -0
- package/dist/botlit/pages/AgentsListPage.js +71 -72
- package/dist/botlit/pages/AgentsListPage.js.map +1 -1
- package/dist/botlit/pages/AiOperationsPage.d.ts +2 -0
- package/dist/botlit/pages/AiOperationsPage.js +52 -53
- package/dist/botlit/pages/AiOperationsPage.js.map +1 -1
- package/dist/botlit/pages/BotChannelsTab.d.ts +7 -0
- package/dist/botlit/pages/BotChannelsTab.js +120 -122
- package/dist/botlit/pages/BotChannelsTab.js.map +1 -1
- package/dist/botlit/pages/BotDetailPage.d.ts +7 -0
- package/dist/botlit/pages/BotDetailPage.js +353 -358
- package/dist/botlit/pages/BotDetailPage.js.map +1 -1
- package/dist/botlit/pages/BotWorkflowTab.d.ts +11 -0
- package/dist/botlit/pages/BotWorkflowTab.js +20 -21
- package/dist/botlit/pages/BotWorkflowTab.js.map +1 -1
- package/dist/botlit/pages/BotsListPage.d.ts +2 -0
- package/dist/botlit/pages/BotsListPage.js +52 -53
- package/dist/botlit/pages/BotsListPage.js.map +1 -1
- package/dist/botlit/pages/BucketsPage.d.ts +2 -0
- package/dist/botlit/pages/BucketsPage.js +260 -261
- package/dist/botlit/pages/BucketsPage.js.map +1 -1
- package/dist/botlit/pages/ChannelDetailPage.d.ts +6 -0
- package/dist/botlit/pages/ChannelDetailPage.js +97 -96
- package/dist/botlit/pages/ChannelDetailPage.js.map +1 -1
- package/dist/botlit/pages/ChannelRoutesPage.d.ts +2 -0
- package/dist/botlit/pages/ChannelRoutesPage.js +23 -24
- package/dist/botlit/pages/ChannelRoutesPage.js.map +1 -1
- package/dist/botlit/pages/ChannelsPage.d.ts +2 -0
- package/dist/botlit/pages/ChannelsPage.js +44 -45
- package/dist/botlit/pages/ChannelsPage.js.map +1 -1
- package/dist/botlit/pages/ChatPage.d.ts +1 -0
- package/dist/botlit/pages/ChatPage.js +10 -11
- package/dist/botlit/pages/ChatPage.js.map +1 -1
- package/dist/botlit/pages/ConversationDetailPage.d.ts +2 -0
- package/dist/botlit/pages/ConversationsPage.d.ts +2 -0
- package/dist/botlit/pages/DashboardPage.d.ts +2 -0
- package/dist/botlit/pages/DashboardPage.js +37 -38
- package/dist/botlit/pages/DashboardPage.js.map +1 -1
- package/dist/botlit/pages/ExecutionDetailPage.d.ts +2 -0
- package/dist/botlit/pages/ExecutionDetailPage.js +47 -48
- package/dist/botlit/pages/ExecutionDetailPage.js.map +1 -1
- package/dist/botlit/pages/ExecutionsPage.d.ts +2 -0
- package/dist/botlit/pages/ExecutionsPage.js +72 -70
- package/dist/botlit/pages/ExecutionsPage.js.map +1 -1
- package/dist/botlit/pages/InstalledPackagesPage.d.ts +2 -0
- package/dist/botlit/pages/InstalledPackagesPage.js +77 -78
- package/dist/botlit/pages/InstalledPackagesPage.js.map +1 -1
- package/dist/botlit/pages/KnowledgeBaseDetailPage.d.ts +6 -0
- package/dist/botlit/pages/KnowledgeBaseDetailPage.js +171 -181
- package/dist/botlit/pages/KnowledgeBaseDetailPage.js.map +1 -1
- package/dist/botlit/pages/KnowledgeBasesPage.d.ts +2 -0
- package/dist/botlit/pages/KnowledgeBasesPage.js +30 -31
- package/dist/botlit/pages/KnowledgeBasesPage.js.map +1 -1
- package/dist/botlit/pages/MCPServerDetailPage.d.ts +6 -0
- package/dist/botlit/pages/MCPServerDetailPage.js +82 -83
- package/dist/botlit/pages/MCPServerDetailPage.js.map +1 -1
- package/dist/botlit/pages/MCPServersPage.d.ts +2 -0
- package/dist/botlit/pages/MCPServersPage.js +54 -55
- package/dist/botlit/pages/MCPServersPage.js.map +1 -1
- package/dist/botlit/pages/PoliciesPage.d.ts +2 -0
- package/dist/botlit/pages/PoliciesPage.js +25 -26
- package/dist/botlit/pages/PoliciesPage.js.map +1 -1
- package/dist/botlit/pages/PolicyDetailPage.d.ts +6 -0
- package/dist/botlit/pages/PolicyDetailPage.js +257 -259
- package/dist/botlit/pages/PolicyDetailPage.js.map +1 -1
- package/dist/botlit/pages/PromptStudioPage.d.ts +2 -0
- package/dist/botlit/pages/PromptStudioPage.js +35 -35
- package/dist/botlit/pages/PromptStudioPage.js.map +1 -1
- package/dist/botlit/pages/PromptTemplateDetailPage.d.ts +6 -0
- package/dist/botlit/pages/PromptTemplateDetailPage.js +363 -362
- package/dist/botlit/pages/PromptTemplateDetailPage.js.map +1 -1
- package/dist/botlit/pages/PromptTemplatesPage.d.ts +2 -0
- package/dist/botlit/pages/PromptTemplatesPage.js +26 -27
- package/dist/botlit/pages/PromptTemplatesPage.js.map +1 -1
- package/dist/botlit/pages/RetrievalProfileDetailPage.d.ts +6 -0
- package/dist/botlit/pages/RetrievalProfileDetailPage.js +150 -158
- package/dist/botlit/pages/RetrievalProfileDetailPage.js.map +1 -1
- package/dist/botlit/pages/RetrievalProfilesPage.d.ts +2 -0
- package/dist/botlit/pages/RetrievalProfilesPage.js +24 -25
- package/dist/botlit/pages/RetrievalProfilesPage.js.map +1 -1
- package/dist/botlit/pages/SettingsPage.d.ts +2 -0
- package/dist/botlit/pages/SettingsPage.js +124 -125
- package/dist/botlit/pages/SettingsPage.js.map +1 -1
- package/dist/botlit/pages/SkillDetailPage.d.ts +6 -0
- package/dist/botlit/pages/SkillDetailPage.js +216 -217
- package/dist/botlit/pages/SkillDetailPage.js.map +1 -1
- package/dist/botlit/pages/SkillsPage.d.ts +2 -0
- package/dist/botlit/pages/SkillsPage.js +24 -25
- package/dist/botlit/pages/SkillsPage.js.map +1 -1
- package/dist/botlit/pages/StorePackageDetailPage.d.ts +2 -0
- package/dist/botlit/pages/StorePackageDetailPage.js +38 -39
- package/dist/botlit/pages/StorePackageDetailPage.js.map +1 -1
- package/dist/botlit/pages/StorePage.d.ts +2 -0
- package/dist/botlit/pages/StorePage.js +135 -136
- package/dist/botlit/pages/StorePage.js.map +1 -1
- package/dist/botlit/pages/index.d.ts +39 -0
- package/dist/botlit/permissions/PermissionRequired.d.ts +20 -0
- package/dist/botlit/permissions/PermissionRequired.js +10 -11
- package/dist/botlit/permissions/PermissionRequired.js.map +1 -1
- package/dist/botlit/permissions/botmanorPermissions.d.ts +82 -0
- package/dist/botlit/permissions/botmanorPermissions.js +1 -2
- package/dist/botlit/permissions/botmanorPermissions.js.map +1 -1
- package/dist/botlit/permissions/index.d.ts +7 -0
- package/dist/botlit/permissions/index.js +4 -3
- package/dist/botlit/permissions/useBotmanorPermissions.d.ts +41 -0
- package/dist/botlit/permissions/useBotmanorPermissions.js +1 -2
- package/dist/botlit/permissions/useBotmanorPermissions.js.map +1 -1
- package/dist/botlit/providers/BotlitProvider.d.ts +14 -0
- package/dist/botlit/providers/BotlitProvider.js +3 -3
- package/dist/botlit/providers/BotlitProvider.js.map +1 -1
- package/dist/botlit/store/botlitStore.d.ts +85 -0
- package/dist/botlit/store/botlitStore.js +1 -2
- package/dist/botlit/store/botlitStore.js.map +1 -1
- package/dist/botlit/store/renamedKeyStorage.d.ts +13 -0
- package/dist/botlit/store/renamedKeyStorage.js +1 -2
- package/dist/botlit/store/renamedKeyStorage.js.map +1 -1
- package/dist/botlit/types/index.d.ts +1008 -0
- package/dist/botlit/utils/cn.d.ts +2 -0
- package/dist/botlit/utils/cn.js +1 -2
- package/dist/botlit/utils/cn.js.map +1 -1
- package/dist/botlit/utils/embedding-models.d.ts +9 -0
- package/dist/botlit/utils/embedding-models.js +1 -2
- package/dist/botlit/utils/embedding-models.js.map +1 -1
- package/dist/botlit/utils/errors.d.ts +19 -0
- package/dist/botlit/utils/errors.js +1 -2
- package/dist/botlit/utils/errors.js.map +1 -1
- package/dist/botlit/utils/formatters.d.ts +38 -0
- package/dist/botlit/utils/formatters.js +0 -1
- package/dist/botlit/utils/formatters.js.map +1 -1
- package/dist/botlit/utils/navigation.d.ts +19 -0
- package/dist/botlit/utils/navigation.js +1 -2
- package/dist/botlit/utils/navigation.js.map +1 -1
- package/dist/botlit/utils/policyConfig.d.ts +68 -0
- package/dist/botlit/utils/policyConfig.js +2 -3
- package/dist/botlit/utils/policyConfig.js.map +1 -1
- package/dist/botlit/utils/unions.d.ts +25 -0
- package/dist/botlit/utils/unions.js +1 -2
- package/dist/botlit/utils/unions.js.map +1 -1
- package/dist/dev/App.d.ts +2 -0
- package/dist/dev/main.d.ts +0 -0
- package/dist/generated/global-operations.d.ts +197 -0
- package/dist/generated/global-operations.js +1 -2
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.d.ts +27678 -0
- package/dist/generated/global-types.js +1 -2
- package/dist/generated/global-types.js.map +1 -1
- package/dist/generated/wspace-operations.d.ts +5489 -0
- package/dist/generated/wspace-operations.js +64 -60
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +152017 -0
- package/dist/generated/wspace-types.js +1 -2
- package/dist/generated/wspace-types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/shared/hooks/useTr.d.ts +16 -0
- package/dist/shared/hooks/useTr.js +1 -2
- package/dist/shared/hooks/useTr.js.map +1 -1
- package/dist/stories/Badge.stories.d.ts +11 -0
- package/dist/stories/Button.stories.d.ts +13 -0
- package/dist/stories/EmptyState.stories.d.ts +8 -0
- package/dist/stories/StatusBadge.stories.d.ts +9 -0
- package/dist/test/fixtures.d.ts +39 -0
- package/dist/test/happydom.d.ts +1 -0
- package/dist/test/renderPage.d.ts +18 -0
- package/dist/test/setup.d.ts +9 -0
- package/dist/utils/nativeBridge.d.ts +2 -0
- package/dist/utils/nativeBridge.js +1 -2
- package/package.json +87 -60
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { useBotlit as e } from "../providers/BotlitProvider.js";
|
|
2
|
-
import {
|
|
3
|
-
import { BOTMANOR_PERMISSIONS as
|
|
4
|
-
import { BotmanorPermissionGate as
|
|
5
|
-
import { PageLayout as
|
|
6
|
-
import {
|
|
7
|
-
import "../
|
|
8
|
-
import {
|
|
9
|
-
import { Badge as ee, StatusBadge as te } from "../components/Badge.js";
|
|
10
|
-
import { isNative as d, nativeImpact as ne, nativeNotify as f } from "../../utils/nativeBridge.js";
|
|
11
|
-
import { EmptyState as re } from "../components/EmptyState.js";
|
|
2
|
+
import { isNative as t, nativeImpact as n, nativeNotify as r } from "../../utils/nativeBridge.js";
|
|
3
|
+
import { BOTMANOR_PERMISSIONS as i } from "../permissions/botmanorPermissions.js";
|
|
4
|
+
import { BotmanorPermissionGate as a } from "../permissions/useBotmanorPermissions.js";
|
|
5
|
+
import { PageLayout as o } from "../components/PageLayout.js";
|
|
6
|
+
import { EmptyState as ee } from "../components/EmptyState.js";
|
|
7
|
+
import { Card as s, CardContent as c, CardDescription as l, CardHeader as u, CardTitle as d } from "../components/Card.js";
|
|
8
|
+
import { Button as f } from "../components/Button.js";
|
|
12
9
|
import { FormField as p, Input as m, Textarea as h } from "../components/Input.js";
|
|
13
|
-
import {
|
|
14
|
-
import { toUnion as g } from "../utils/unions.js";
|
|
10
|
+
import { Badge as te, StatusBadge as ne } from "../components/Badge.js";
|
|
15
11
|
import "../hooks/index.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import
|
|
21
|
-
import {
|
|
12
|
+
import { formatRelativeTime as g } from "../utils/formatters.js";
|
|
13
|
+
import { useCreatePolicy as re, useDeletePolicy as ie, usePolicy as ae, useUpdatePolicy as oe } from "../hooks/usePolicies.js";
|
|
14
|
+
import { toUnion as _ } from "../utils/unions.js";
|
|
15
|
+
import { A2A_TRUST_LEVELS as se, CREATABLE_POLICY_TYPES as ce, EMPTY_POLICY_FORM as le, TOOL_RISK_LEVELS as ue, buildPolicyConfig as de, isCreatablePolicyType as fe, unenforcedConfigKeys as pe } from "../utils/policyConfig.js";
|
|
16
|
+
import "../permissions/index.js";
|
|
17
|
+
import { useState as v } from "react";
|
|
18
|
+
import { PagePurpose as me } from "@burdenoff/fe-libs/ui";
|
|
19
|
+
import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
20
|
+
import { useParams as he } from "react-router";
|
|
21
|
+
import { AlertTriangle as S, ArrowLeft as ge, Clock as _e, Database as C, DollarSign as w, Edit as ve, FileText as T, Power as ye, Save as E, Settings as be, Shield as D, Trash2 as O, Wrench as k } from "lucide-react";
|
|
22
22
|
import { toast as A } from "sonner";
|
|
23
|
-
|
|
23
|
+
// src/botlit/pages/PolicyDetailPage.tsx
|
|
24
24
|
var xe = [
|
|
25
25
|
"CONTENT",
|
|
26
26
|
"TOOL",
|
|
@@ -34,14 +34,14 @@ var xe = [
|
|
|
34
34
|
"WORKSPACE",
|
|
35
35
|
"PUBLIC"
|
|
36
36
|
], j = "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm", M = ({ type: e }) => ({
|
|
37
|
-
CONTENT: /* @__PURE__ */
|
|
38
|
-
TOOL: /* @__PURE__ */
|
|
39
|
-
DATA: /* @__PURE__ */
|
|
40
|
-
RESPONSE: /* @__PURE__ */
|
|
41
|
-
BUDGET: /* @__PURE__ */
|
|
42
|
-
RATE_LIMIT: /* @__PURE__ */
|
|
43
|
-
RETENTION: /* @__PURE__ */
|
|
44
|
-
})[e] || /* @__PURE__ */
|
|
37
|
+
CONTENT: /* @__PURE__ */ b(S, { size: 18 }),
|
|
38
|
+
TOOL: /* @__PURE__ */ b(k, { size: 18 }),
|
|
39
|
+
DATA: /* @__PURE__ */ b(C, { size: 18 }),
|
|
40
|
+
RESPONSE: /* @__PURE__ */ b(T, { size: 18 }),
|
|
41
|
+
BUDGET: /* @__PURE__ */ b(w, { size: 18 }),
|
|
42
|
+
RATE_LIMIT: /* @__PURE__ */ b(_e, { size: 18 }),
|
|
43
|
+
RETENTION: /* @__PURE__ */ b(O, { size: 18 })
|
|
44
|
+
})[e] || /* @__PURE__ */ b(D, { size: 18 }), N = {
|
|
45
45
|
CONTENT: "Content Policy",
|
|
46
46
|
TOOL: "Tool Policy",
|
|
47
47
|
DATA: "Data Policy",
|
|
@@ -50,46 +50,45 @@ var xe = [
|
|
|
50
50
|
RATE_LIMIT: "Rate Limit Policy",
|
|
51
51
|
RETENTION: "Retention Policy"
|
|
52
52
|
}, P = ({ isNew: C }) => {
|
|
53
|
-
let { policyId: P } =
|
|
53
|
+
let { policyId: P } = he(), { navigateTo: F } = e(), { data: I, loading: Ce, refetch: L } = ae(C ? void 0 : P), { create: we, loading: Te } = re(), { update: R, loading: z } = oe(), { remove: Ee, loading: De } = ie(), [B, V] = v(!1), [Oe, H] = v(!1), [U, W] = v({
|
|
54
54
|
name: "",
|
|
55
55
|
description: "",
|
|
56
56
|
type: "CONTENT",
|
|
57
57
|
visibility: "PRIVATE"
|
|
58
|
-
}), [G, K] =
|
|
58
|
+
}), [G, K] = v({
|
|
59
59
|
name: "",
|
|
60
60
|
description: "",
|
|
61
61
|
visibility: "PRIVATE"
|
|
62
|
-
}), [q, ke] =
|
|
63
|
-
|
|
62
|
+
}), [q, ke] = v(le), [Ae, J] = v(null), Y = (e, t) => {
|
|
63
|
+
J(null), ke((n) => ({
|
|
64
64
|
...n,
|
|
65
65
|
[e]: {
|
|
66
66
|
...n[e],
|
|
67
67
|
...t
|
|
68
68
|
}
|
|
69
69
|
}));
|
|
70
|
-
}, [
|
|
70
|
+
}, [X, je] = v(!1), Me = async () => {
|
|
71
71
|
if (!U.name) return;
|
|
72
|
-
let e =
|
|
73
|
-
if (!e.ok)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
72
|
+
let e = de(U.type, q);
|
|
73
|
+
if (!e.ok) J(e.error), A.error(e.error);
|
|
74
|
+
else {
|
|
75
|
+
try {
|
|
76
|
+
await we({
|
|
77
|
+
name: U.name,
|
|
78
|
+
description: U.description,
|
|
79
|
+
type: U.type,
|
|
80
|
+
visibility: U.visibility,
|
|
81
|
+
status: X ? "ACTIVE" : "DRAFT",
|
|
82
|
+
config: e.config
|
|
83
|
+
});
|
|
84
|
+
} catch (e) {
|
|
85
|
+
A.error(e instanceof Error ? e.message : "Failed to create policy");
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
A.success(`Policy "${U.name}" created`), F("policies");
|
|
89
89
|
}
|
|
90
|
-
A.success(`Policy "${U.name}" created`), F("policies");
|
|
91
90
|
}, Ne = async () => {
|
|
92
|
-
if (
|
|
91
|
+
if (P && G.name) {
|
|
93
92
|
try {
|
|
94
93
|
await R({
|
|
95
94
|
policyId: P,
|
|
@@ -107,9 +106,9 @@ var xe = [
|
|
|
107
106
|
}
|
|
108
107
|
}, Pe = async () => {
|
|
109
108
|
if (P) try {
|
|
110
|
-
await Ee(P),
|
|
109
|
+
await Ee(P), t() && r("success"), F("policies");
|
|
111
110
|
} catch (e) {
|
|
112
|
-
throw
|
|
111
|
+
throw t() && r("error"), e;
|
|
113
112
|
}
|
|
114
113
|
}, Z = I?.status === "ACTIVE", Fe = async () => {
|
|
115
114
|
if (!P) return;
|
|
@@ -128,36 +127,36 @@ var xe = [
|
|
|
128
127
|
I && (K({
|
|
129
128
|
name: I.name,
|
|
130
129
|
description: I.description || "",
|
|
131
|
-
visibility:
|
|
130
|
+
visibility: _(I.visibility, Se, "PRIVATE")
|
|
132
131
|
}), V(!0));
|
|
133
132
|
};
|
|
134
|
-
if (C) return /* @__PURE__ */
|
|
133
|
+
if (C) return /* @__PURE__ */ b(o, {
|
|
135
134
|
title: "Create Policy",
|
|
136
135
|
description: "Define guardrails and constraints for your AI agents",
|
|
137
|
-
actions: /* @__PURE__ */
|
|
136
|
+
actions: /* @__PURE__ */ x("div", {
|
|
138
137
|
className: "flex gap-2",
|
|
139
|
-
children: [/* @__PURE__ */
|
|
138
|
+
children: [/* @__PURE__ */ b(f, {
|
|
140
139
|
variant: "outline",
|
|
141
140
|
onClick: () => F("policies"),
|
|
142
141
|
children: "Cancel"
|
|
143
|
-
}), /* @__PURE__ */
|
|
144
|
-
leftIcon: /* @__PURE__ */
|
|
142
|
+
}), /* @__PURE__ */ b(f, {
|
|
143
|
+
leftIcon: /* @__PURE__ */ b(E, { size: 16 }),
|
|
145
144
|
onClick: Me,
|
|
146
145
|
isLoading: Te,
|
|
147
146
|
disabled: !U.name,
|
|
148
147
|
children: "Create"
|
|
149
148
|
})]
|
|
150
149
|
}),
|
|
151
|
-
children: /* @__PURE__ */
|
|
150
|
+
children: /* @__PURE__ */ x("div", {
|
|
152
151
|
className: "max-w-2xl space-y-6",
|
|
153
152
|
children: [
|
|
154
|
-
/* @__PURE__ */
|
|
153
|
+
/* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ b(d, { children: "Basic Information" }) }), /* @__PURE__ */ x(c, {
|
|
155
154
|
className: "space-y-4",
|
|
156
155
|
children: [
|
|
157
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ b(p, {
|
|
158
157
|
label: "Policy Name",
|
|
159
158
|
required: !0,
|
|
160
|
-
children: /* @__PURE__ */
|
|
159
|
+
children: /* @__PURE__ */ b(m, {
|
|
161
160
|
placeholder: "e.g., Production Content Policy",
|
|
162
161
|
value: U.name,
|
|
163
162
|
onChange: (e) => W({
|
|
@@ -166,9 +165,9 @@ var xe = [
|
|
|
166
165
|
})
|
|
167
166
|
})
|
|
168
167
|
}),
|
|
169
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ b(p, {
|
|
170
169
|
label: "Description",
|
|
171
|
-
children: /* @__PURE__ */
|
|
170
|
+
children: /* @__PURE__ */ b(h, {
|
|
172
171
|
placeholder: "What does this policy enforce?",
|
|
173
172
|
value: U.description,
|
|
174
173
|
onChange: (e) => W({
|
|
@@ -178,29 +177,29 @@ var xe = [
|
|
|
178
177
|
rows: 3
|
|
179
178
|
})
|
|
180
179
|
}),
|
|
181
|
-
/* @__PURE__ */
|
|
180
|
+
/* @__PURE__ */ x("div", {
|
|
182
181
|
className: "grid grid-cols-2 gap-4",
|
|
183
|
-
children: [/* @__PURE__ */
|
|
182
|
+
children: [/* @__PURE__ */ b(p, {
|
|
184
183
|
label: "Policy Type",
|
|
185
184
|
required: !0,
|
|
186
|
-
children: /* @__PURE__ */
|
|
185
|
+
children: /* @__PURE__ */ b("select", {
|
|
187
186
|
className: j,
|
|
188
187
|
value: U.type,
|
|
189
188
|
onChange: (e) => {
|
|
190
189
|
let t = e.target.value;
|
|
191
|
-
|
|
190
|
+
fe(t) && (J(null), W({
|
|
192
191
|
...U,
|
|
193
192
|
type: t
|
|
194
193
|
}));
|
|
195
194
|
},
|
|
196
|
-
children:
|
|
195
|
+
children: ce.map((e) => /* @__PURE__ */ b("option", {
|
|
197
196
|
value: e,
|
|
198
197
|
children: N[e]
|
|
199
198
|
}, e))
|
|
200
199
|
})
|
|
201
|
-
}), /* @__PURE__ */
|
|
200
|
+
}), /* @__PURE__ */ b(p, {
|
|
202
201
|
label: "Visibility",
|
|
203
|
-
children: /* @__PURE__ */
|
|
202
|
+
children: /* @__PURE__ */ x("select", {
|
|
204
203
|
className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
|
|
205
204
|
value: U.visibility,
|
|
206
205
|
onChange: (e) => W({
|
|
@@ -208,15 +207,15 @@ var xe = [
|
|
|
208
207
|
visibility: e.target.value
|
|
209
208
|
}),
|
|
210
209
|
children: [
|
|
211
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ b("option", {
|
|
212
211
|
value: "PRIVATE",
|
|
213
212
|
children: "Private"
|
|
214
213
|
}),
|
|
215
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ b("option", {
|
|
216
215
|
value: "WORKSPACE",
|
|
217
216
|
children: "Workspace"
|
|
218
217
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ b("option", {
|
|
220
219
|
value: "PUBLIC",
|
|
221
220
|
children: "Public"
|
|
222
221
|
})
|
|
@@ -226,284 +225,284 @@ var xe = [
|
|
|
226
225
|
})
|
|
227
226
|
]
|
|
228
227
|
})] }),
|
|
229
|
-
U.type === "CONTENT" && /* @__PURE__ */
|
|
228
|
+
U.type === "CONTENT" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
230
229
|
className: "flex items-center gap-2",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
232
|
-
}), /* @__PURE__ */
|
|
230
|
+
children: [/* @__PURE__ */ b(S, { size: 18 }), "Content Policy Configuration"]
|
|
231
|
+
}), /* @__PURE__ */ b(l, { children: "Checked against every message sent to an agent and every response it gives. A blocked message is refused; a blocked response is replaced with a refusal." })] }), /* @__PURE__ */ x(c, {
|
|
233
232
|
className: "space-y-4",
|
|
234
233
|
children: [
|
|
235
|
-
/* @__PURE__ */
|
|
234
|
+
/* @__PURE__ */ x("div", {
|
|
236
235
|
className: "flex items-start gap-2",
|
|
237
|
-
children: [/* @__PURE__ */
|
|
236
|
+
children: [/* @__PURE__ */ b("input", {
|
|
238
237
|
type: "checkbox",
|
|
239
238
|
id: "pii",
|
|
240
239
|
checked: q.content.piiDetection,
|
|
241
|
-
onChange: (e) =>
|
|
240
|
+
onChange: (e) => Y("content", { piiDetection: e.target.checked }),
|
|
242
241
|
className: "mt-1 h-4 w-4"
|
|
243
|
-
}), /* @__PURE__ */
|
|
242
|
+
}), /* @__PURE__ */ x("label", {
|
|
244
243
|
htmlFor: "pii",
|
|
245
244
|
className: "text-sm",
|
|
246
|
-
children: [/* @__PURE__ */
|
|
245
|
+
children: [/* @__PURE__ */ b("span", {
|
|
247
246
|
className: "font-medium",
|
|
248
247
|
children: "PII Detection"
|
|
249
|
-
}), /* @__PURE__ */
|
|
248
|
+
}), /* @__PURE__ */ b("span", {
|
|
250
249
|
className: "block text-text-secondary",
|
|
251
250
|
children: "Blocks text containing an email address, a US SSN or a card-number shaped digit run."
|
|
252
251
|
})]
|
|
253
252
|
})]
|
|
254
253
|
}),
|
|
255
|
-
/* @__PURE__ */
|
|
254
|
+
/* @__PURE__ */ b(p, {
|
|
256
255
|
label: "Blocked Keywords",
|
|
257
256
|
description: "Comma-separated. Case-insensitive; any occurrence blocks the text.",
|
|
258
|
-
children: /* @__PURE__ */
|
|
257
|
+
children: /* @__PURE__ */ b(m, {
|
|
259
258
|
placeholder: "e.g., internal-only, project-x",
|
|
260
259
|
value: q.content.blockedKeywords,
|
|
261
|
-
onChange: (e) =>
|
|
260
|
+
onChange: (e) => Y("content", { blockedKeywords: e.target.value })
|
|
262
261
|
})
|
|
263
262
|
}),
|
|
264
|
-
/* @__PURE__ */
|
|
263
|
+
/* @__PURE__ */ b(p, {
|
|
265
264
|
label: "Blocked Patterns",
|
|
266
265
|
description: "One regular expression per line, matched case-insensitively.",
|
|
267
|
-
children: /* @__PURE__ */
|
|
266
|
+
children: /* @__PURE__ */ b(h, {
|
|
268
267
|
placeholder: "e.g., \\bACME-\\d{6}\\b",
|
|
269
268
|
value: q.content.blockedPatterns,
|
|
270
|
-
onChange: (e) =>
|
|
269
|
+
onChange: (e) => Y("content", { blockedPatterns: e.target.value }),
|
|
271
270
|
rows: 3
|
|
272
271
|
})
|
|
273
272
|
})
|
|
274
273
|
]
|
|
275
274
|
})] }),
|
|
276
|
-
U.type === "TOOL" && /* @__PURE__ */
|
|
275
|
+
U.type === "TOOL" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
277
276
|
className: "flex items-center gap-2",
|
|
278
|
-
children: [/* @__PURE__ */
|
|
279
|
-
}), /* @__PURE__ */
|
|
277
|
+
children: [/* @__PURE__ */ b(k, { size: 18 }), "Tool Policy Configuration"]
|
|
278
|
+
}), /* @__PURE__ */ b(l, { children: "Applies to MCP tool calls made by agents and through Call Tool, and to agent delegation. Leave a field empty to not restrict it." })] }), /* @__PURE__ */ x(c, {
|
|
280
279
|
className: "space-y-4",
|
|
281
280
|
children: [
|
|
282
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ b(p, {
|
|
283
282
|
label: "Allowed Tools",
|
|
284
283
|
description: "Comma-separated MCP tool names. End an entry with * to allow a prefix. Empty allows every tool.",
|
|
285
|
-
children: /* @__PURE__ */
|
|
284
|
+
children: /* @__PURE__ */ b(m, {
|
|
286
285
|
placeholder: "e.g., search, read_*",
|
|
287
286
|
value: q.tool.allowedTools,
|
|
288
|
-
onChange: (e) =>
|
|
287
|
+
onChange: (e) => Y("tool", { allowedTools: e.target.value })
|
|
289
288
|
})
|
|
290
289
|
}),
|
|
291
|
-
/* @__PURE__ */
|
|
290
|
+
/* @__PURE__ */ b(p, {
|
|
292
291
|
label: "Denied Tools",
|
|
293
292
|
description: "Comma-separated MCP tool names that may never run. A deny always wins.",
|
|
294
|
-
children: /* @__PURE__ */
|
|
293
|
+
children: /* @__PURE__ */ b(m, {
|
|
295
294
|
placeholder: "e.g., delete_*, execute_code",
|
|
296
295
|
value: q.tool.deniedTools,
|
|
297
|
-
onChange: (e) =>
|
|
296
|
+
onChange: (e) => Y("tool", { deniedTools: e.target.value })
|
|
298
297
|
})
|
|
299
298
|
}),
|
|
300
|
-
/* @__PURE__ */
|
|
299
|
+
/* @__PURE__ */ x("div", {
|
|
301
300
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
302
|
-
children: [/* @__PURE__ */
|
|
301
|
+
children: [/* @__PURE__ */ b(p, {
|
|
303
302
|
label: "Max Tool Risk Level",
|
|
304
|
-
children: /* @__PURE__ */
|
|
303
|
+
children: /* @__PURE__ */ x("select", {
|
|
305
304
|
className: j,
|
|
306
305
|
value: q.tool.maxToolRiskLevel,
|
|
307
|
-
onChange: (e) =>
|
|
308
|
-
children: [/* @__PURE__ */
|
|
306
|
+
onChange: (e) => Y("tool", { maxToolRiskLevel: e.target.value }),
|
|
307
|
+
children: [/* @__PURE__ */ b("option", {
|
|
309
308
|
value: "",
|
|
310
309
|
children: "Any risk level"
|
|
311
|
-
}),
|
|
310
|
+
}), ue.map((e) => /* @__PURE__ */ x("option", {
|
|
312
311
|
value: e,
|
|
313
312
|
children: ["Up to ", e.toLowerCase()]
|
|
314
313
|
}, e))]
|
|
315
314
|
})
|
|
316
|
-
}), /* @__PURE__ */
|
|
315
|
+
}), /* @__PURE__ */ b(p, {
|
|
317
316
|
label: "Minimum A2A Trust Level",
|
|
318
317
|
description: "For delegation to external registry agents.",
|
|
319
|
-
children: /* @__PURE__ */
|
|
318
|
+
children: /* @__PURE__ */ x("select", {
|
|
320
319
|
className: j,
|
|
321
320
|
value: q.tool.a2aMinTrustLevel,
|
|
322
|
-
onChange: (e) =>
|
|
323
|
-
children: [/* @__PURE__ */
|
|
321
|
+
onChange: (e) => Y("tool", { a2aMinTrustLevel: e.target.value }),
|
|
322
|
+
children: [/* @__PURE__ */ b("option", {
|
|
324
323
|
value: "",
|
|
325
324
|
children: "Default (verified publisher)"
|
|
326
|
-
}),
|
|
325
|
+
}), se.map((e) => /* @__PURE__ */ b("option", {
|
|
327
326
|
value: e,
|
|
328
327
|
children: e === "VERIFIED_PUBLISHER" ? "Verified publisher" : e.charAt(0) + e.slice(1).toLowerCase()
|
|
329
328
|
}, e))]
|
|
330
329
|
})
|
|
331
330
|
})]
|
|
332
331
|
}),
|
|
333
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ x("div", {
|
|
334
333
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
335
|
-
children: [/* @__PURE__ */
|
|
334
|
+
children: [/* @__PURE__ */ b(p, {
|
|
336
335
|
label: "Max Tool Calls Per Execution",
|
|
337
336
|
description: "Tool calls allowed in one agent turn.",
|
|
338
|
-
children: /* @__PURE__ */
|
|
337
|
+
children: /* @__PURE__ */ b(m, {
|
|
339
338
|
type: "number",
|
|
340
339
|
min: 1,
|
|
341
340
|
placeholder: "No limit",
|
|
342
341
|
value: q.tool.maxCallsPerExecution,
|
|
343
|
-
onChange: (e) =>
|
|
342
|
+
onChange: (e) => Y("tool", { maxCallsPerExecution: e.target.value })
|
|
344
343
|
})
|
|
345
|
-
}), /* @__PURE__ */
|
|
344
|
+
}), /* @__PURE__ */ b(p, {
|
|
346
345
|
label: "Tool Call Timeout (seconds)",
|
|
347
346
|
description: "Can only shorten the platform's own timeout.",
|
|
348
|
-
children: /* @__PURE__ */
|
|
347
|
+
children: /* @__PURE__ */ b(m, {
|
|
349
348
|
type: "number",
|
|
350
349
|
min: 1,
|
|
351
350
|
placeholder: "Platform default",
|
|
352
351
|
value: q.tool.timeoutSeconds,
|
|
353
|
-
onChange: (e) =>
|
|
352
|
+
onChange: (e) => Y("tool", { timeoutSeconds: e.target.value })
|
|
354
353
|
})
|
|
355
354
|
})]
|
|
356
355
|
})
|
|
357
356
|
]
|
|
358
357
|
})] }),
|
|
359
|
-
U.type === "BUDGET" && /* @__PURE__ */
|
|
358
|
+
U.type === "BUDGET" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
360
359
|
className: "flex items-center gap-2",
|
|
361
|
-
children: [/* @__PURE__ */
|
|
362
|
-
}), /* @__PURE__ */
|
|
360
|
+
children: [/* @__PURE__ */ b(w, { size: 18 }), "Budget Policy Configuration"]
|
|
361
|
+
}), /* @__PURE__ */ b(l, { children: "Token budgets apply per agent. Leave a field empty to not restrict it." })] }), /* @__PURE__ */ b(c, {
|
|
363
362
|
className: "space-y-4",
|
|
364
|
-
children: /* @__PURE__ */
|
|
363
|
+
children: /* @__PURE__ */ x("div", {
|
|
365
364
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
366
|
-
children: [/* @__PURE__ */
|
|
365
|
+
children: [/* @__PURE__ */ b(p, {
|
|
367
366
|
label: "Max Tokens Per Day",
|
|
368
367
|
description: "An agent that has used this many tokens today (UTC) is refused.",
|
|
369
|
-
children: /* @__PURE__ */
|
|
368
|
+
children: /* @__PURE__ */ b(m, {
|
|
370
369
|
type: "number",
|
|
371
370
|
min: 1,
|
|
372
371
|
placeholder: "No limit",
|
|
373
372
|
value: q.budget.maxTokensPerDay,
|
|
374
|
-
onChange: (e) =>
|
|
373
|
+
onChange: (e) => Y("budget", { maxTokensPerDay: e.target.value })
|
|
375
374
|
})
|
|
376
|
-
}), /* @__PURE__ */
|
|
375
|
+
}), /* @__PURE__ */ b(p, {
|
|
377
376
|
label: "Max Output Tokens Per Model Call",
|
|
378
377
|
description: "Lowers the agent's own max-tokens setting when it is higher.",
|
|
379
|
-
children: /* @__PURE__ */
|
|
378
|
+
children: /* @__PURE__ */ b(m, {
|
|
380
379
|
type: "number",
|
|
381
380
|
min: 1,
|
|
382
381
|
placeholder: "No limit",
|
|
383
382
|
value: q.budget.maxTokensPerExecution,
|
|
384
|
-
onChange: (e) =>
|
|
383
|
+
onChange: (e) => Y("budget", { maxTokensPerExecution: e.target.value })
|
|
385
384
|
})
|
|
386
385
|
})]
|
|
387
386
|
})
|
|
388
387
|
})] }),
|
|
389
|
-
U.type === "RATE_LIMIT" && /* @__PURE__ */
|
|
388
|
+
U.type === "RATE_LIMIT" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
390
389
|
className: "flex items-center gap-2",
|
|
391
|
-
children: [/* @__PURE__ */
|
|
392
|
-
}), /* @__PURE__ */
|
|
390
|
+
children: [/* @__PURE__ */ b(_e, { size: 18 }), "Rate Limit Configuration"]
|
|
391
|
+
}), /* @__PURE__ */ b(l, { children: "Every limit is counted per agent. Leave a field empty to not restrict it." })] }), /* @__PURE__ */ b(c, {
|
|
393
392
|
className: "space-y-4",
|
|
394
|
-
children: /* @__PURE__ */
|
|
393
|
+
children: /* @__PURE__ */ x("div", {
|
|
395
394
|
className: "grid grid-cols-1 sm:grid-cols-3 gap-4",
|
|
396
395
|
children: [
|
|
397
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ b(p, {
|
|
398
397
|
label: "Requests / Minute",
|
|
399
|
-
children: /* @__PURE__ */
|
|
398
|
+
children: /* @__PURE__ */ b(m, {
|
|
400
399
|
type: "number",
|
|
401
400
|
min: 1,
|
|
402
401
|
placeholder: "No limit",
|
|
403
402
|
value: q.rateLimit.requestsPerMinute,
|
|
404
|
-
onChange: (e) =>
|
|
403
|
+
onChange: (e) => Y("rateLimit", { requestsPerMinute: e.target.value })
|
|
405
404
|
})
|
|
406
405
|
}),
|
|
407
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ b(p, {
|
|
408
407
|
label: "Requests / Hour",
|
|
409
|
-
children: /* @__PURE__ */
|
|
408
|
+
children: /* @__PURE__ */ b(m, {
|
|
410
409
|
type: "number",
|
|
411
410
|
min: 1,
|
|
412
411
|
placeholder: "No limit",
|
|
413
412
|
value: q.rateLimit.requestsPerHour,
|
|
414
|
-
onChange: (e) =>
|
|
413
|
+
onChange: (e) => Y("rateLimit", { requestsPerHour: e.target.value })
|
|
415
414
|
})
|
|
416
415
|
}),
|
|
417
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ b(p, {
|
|
418
417
|
label: "Tokens / Minute",
|
|
419
|
-
children: /* @__PURE__ */
|
|
418
|
+
children: /* @__PURE__ */ b(m, {
|
|
420
419
|
type: "number",
|
|
421
420
|
min: 1,
|
|
422
421
|
placeholder: "No limit",
|
|
423
422
|
value: q.rateLimit.tokensPerMinute,
|
|
424
|
-
onChange: (e) =>
|
|
423
|
+
onChange: (e) => Y("rateLimit", { tokensPerMinute: e.target.value })
|
|
425
424
|
})
|
|
426
425
|
})
|
|
427
426
|
]
|
|
428
427
|
})
|
|
429
428
|
})] }),
|
|
430
|
-
U.type === "RESPONSE" && /* @__PURE__ */
|
|
429
|
+
U.type === "RESPONSE" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
431
430
|
className: "flex items-center gap-2",
|
|
432
|
-
children: [/* @__PURE__ */
|
|
433
|
-
}), /* @__PURE__ */
|
|
431
|
+
children: [/* @__PURE__ */ b(T, { size: 18 }), "Model Usage Allowlist"]
|
|
432
|
+
}), /* @__PURE__ */ b(l, { children: "Agents in this workspace may only answer with models that match every active model policy. Leave both fields empty to allow all models." })] }), /* @__PURE__ */ x(c, {
|
|
434
433
|
className: "space-y-4",
|
|
435
|
-
children: [/* @__PURE__ */
|
|
434
|
+
children: [/* @__PURE__ */ b(p, {
|
|
436
435
|
label: "Allowed Models",
|
|
437
436
|
description: "Comma-separated model IDs. End an entry with * to allow a prefix.",
|
|
438
|
-
children: /* @__PURE__ */
|
|
437
|
+
children: /* @__PURE__ */ b(m, {
|
|
439
438
|
placeholder: "e.g., gpt-4o-mini, anthropic.claude-*",
|
|
440
439
|
value: q.response.allowedModels,
|
|
441
|
-
onChange: (e) =>
|
|
440
|
+
onChange: (e) => Y("response", { allowedModels: e.target.value })
|
|
442
441
|
})
|
|
443
|
-
}), /* @__PURE__ */
|
|
442
|
+
}), /* @__PURE__ */ b(p, {
|
|
444
443
|
label: "Allowed Providers",
|
|
445
444
|
description: "Comma-separated provider types, e.g. OPENAI, ANTHROPIC, AWS_BEDROCK.",
|
|
446
|
-
children: /* @__PURE__ */
|
|
445
|
+
children: /* @__PURE__ */ b(m, {
|
|
447
446
|
placeholder: "e.g., AWS_BEDROCK, ANTHROPIC",
|
|
448
447
|
value: q.response.allowedProviders,
|
|
449
|
-
onChange: (e) =>
|
|
448
|
+
onChange: (e) => Y("response", { allowedProviders: e.target.value })
|
|
450
449
|
})
|
|
451
450
|
})]
|
|
452
451
|
})] }),
|
|
453
|
-
U.type === "RETENTION" && /* @__PURE__ */
|
|
452
|
+
U.type === "RETENTION" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
|
|
454
453
|
className: "flex items-center gap-2",
|
|
455
|
-
children: [/* @__PURE__ */
|
|
456
|
-
}), /* @__PURE__ */
|
|
454
|
+
children: [/* @__PURE__ */ b(O, { size: 18 }), "Retention Policy Configuration"]
|
|
455
|
+
}), /* @__PURE__ */ b(l, { children: "A scheduled job erases content older than these periods every hour. With several active retention policies the shortest period applies. Leave a field empty to keep that content for the life of the workspace." })] }), /* @__PURE__ */ b(c, {
|
|
457
456
|
className: "space-y-4",
|
|
458
|
-
children: /* @__PURE__ */
|
|
457
|
+
children: /* @__PURE__ */ x("div", {
|
|
459
458
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
460
|
-
children: [/* @__PURE__ */
|
|
459
|
+
children: [/* @__PURE__ */ b(p, {
|
|
461
460
|
label: "Execution Data Retention (days)",
|
|
462
461
|
description: "Inputs, outputs and errors of finished runs and agent-to-agent messages are erased this many days after the run ended; 0 keeps none. Run metrics stay.",
|
|
463
|
-
children: /* @__PURE__ */
|
|
462
|
+
children: /* @__PURE__ */ b(m, {
|
|
464
463
|
type: "number",
|
|
465
464
|
min: 0,
|
|
466
465
|
max: 3650,
|
|
467
466
|
placeholder: "Keep",
|
|
468
467
|
value: q.retention.executionDataRetentionDays,
|
|
469
|
-
onChange: (e) =>
|
|
468
|
+
onChange: (e) => Y("retention", { executionDataRetentionDays: e.target.value })
|
|
470
469
|
})
|
|
471
|
-
}), /* @__PURE__ */
|
|
470
|
+
}), /* @__PURE__ */ b(p, {
|
|
472
471
|
label: "Conversation Retention (days)",
|
|
473
472
|
description: "Assistant conversations older than this are retired and erased.",
|
|
474
|
-
children: /* @__PURE__ */
|
|
473
|
+
children: /* @__PURE__ */ b(m, {
|
|
475
474
|
type: "number",
|
|
476
475
|
min: 1,
|
|
477
476
|
max: 3650,
|
|
478
477
|
placeholder: "Keep",
|
|
479
478
|
value: q.retention.conversationRetentionDays,
|
|
480
|
-
onChange: (e) =>
|
|
479
|
+
onChange: (e) => Y("retention", { conversationRetentionDays: e.target.value })
|
|
481
480
|
})
|
|
482
481
|
})]
|
|
483
482
|
})
|
|
484
483
|
})] }),
|
|
485
|
-
|
|
484
|
+
Ae && /* @__PURE__ */ b("p", {
|
|
486
485
|
className: "text-sm text-status-error-text",
|
|
487
486
|
role: "alert",
|
|
488
|
-
children:
|
|
487
|
+
children: Ae
|
|
489
488
|
}),
|
|
490
|
-
/* @__PURE__ */
|
|
489
|
+
/* @__PURE__ */ b(s, { children: /* @__PURE__ */ b(c, {
|
|
491
490
|
className: "pt-6",
|
|
492
|
-
children: /* @__PURE__ */
|
|
491
|
+
children: /* @__PURE__ */ x("div", {
|
|
493
492
|
className: "flex items-start gap-2",
|
|
494
|
-
children: [/* @__PURE__ */
|
|
493
|
+
children: [/* @__PURE__ */ b("input", {
|
|
495
494
|
type: "checkbox",
|
|
496
495
|
id: "activate-on-create",
|
|
497
|
-
checked:
|
|
496
|
+
checked: X,
|
|
498
497
|
onChange: (e) => je(e.target.checked),
|
|
499
498
|
className: "mt-1 h-4 w-4"
|
|
500
|
-
}), /* @__PURE__ */
|
|
499
|
+
}), /* @__PURE__ */ x("label", {
|
|
501
500
|
htmlFor: "activate-on-create",
|
|
502
501
|
className: "text-sm",
|
|
503
|
-
children: [/* @__PURE__ */
|
|
502
|
+
children: [/* @__PURE__ */ b("span", {
|
|
504
503
|
className: "font-medium",
|
|
505
504
|
children: "Enforce immediately"
|
|
506
|
-
}), /* @__PURE__ */
|
|
505
|
+
}), /* @__PURE__ */ b("span", {
|
|
507
506
|
className: "block text-text-secondary",
|
|
508
507
|
children: "Only active policies are enforced. Leave unchecked to save this policy as a draft and activate it later."
|
|
509
508
|
})]
|
|
@@ -513,119 +512,119 @@ var xe = [
|
|
|
513
512
|
]
|
|
514
513
|
})
|
|
515
514
|
});
|
|
516
|
-
if (Ce) return /* @__PURE__ */
|
|
515
|
+
if (Ce) return /* @__PURE__ */ b(o, {
|
|
517
516
|
title: "Loading...",
|
|
518
|
-
children: /* @__PURE__ */
|
|
517
|
+
children: /* @__PURE__ */ b("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
|
|
519
518
|
});
|
|
520
|
-
if (!I) return /* @__PURE__ */
|
|
519
|
+
if (!I) return /* @__PURE__ */ b(o, {
|
|
521
520
|
title: "Policy Not Found",
|
|
522
|
-
children: /* @__PURE__ */
|
|
521
|
+
children: /* @__PURE__ */ b(ee, {
|
|
523
522
|
illustration: "empty-generic",
|
|
524
523
|
title: "Policy Not Found",
|
|
525
524
|
description: "This policy doesn't exist.",
|
|
526
|
-
action: /* @__PURE__ */
|
|
525
|
+
action: /* @__PURE__ */ b(f, {
|
|
527
526
|
onClick: () => F("policies"),
|
|
528
527
|
children: "Back to Policies"
|
|
529
528
|
})
|
|
530
529
|
})
|
|
531
530
|
});
|
|
532
|
-
let Q =
|
|
533
|
-
return /* @__PURE__ */
|
|
534
|
-
title: /* @__PURE__ */
|
|
531
|
+
let Q = _(I.type, xe, "CONTENT"), $ = pe(Q, I.config);
|
|
532
|
+
return /* @__PURE__ */ b(o, {
|
|
533
|
+
title: /* @__PURE__ */ x("div", {
|
|
535
534
|
className: "flex items-center gap-3",
|
|
536
535
|
children: [
|
|
537
|
-
/* @__PURE__ */
|
|
536
|
+
/* @__PURE__ */ b(f, {
|
|
538
537
|
variant: "ghost",
|
|
539
538
|
size: "icon",
|
|
540
539
|
onClick: () => F("policies"),
|
|
541
|
-
children: /* @__PURE__ */
|
|
540
|
+
children: /* @__PURE__ */ b(ge, { size: 20 })
|
|
542
541
|
}),
|
|
543
|
-
/* @__PURE__ */
|
|
542
|
+
/* @__PURE__ */ b("div", {
|
|
544
543
|
className: "p-2 rounded-lg bg-action-primary-bg/10",
|
|
545
|
-
children: /* @__PURE__ */
|
|
544
|
+
children: /* @__PURE__ */ b(M, { type: Q })
|
|
546
545
|
}),
|
|
547
|
-
/* @__PURE__ */
|
|
546
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
548
547
|
className: "flex items-center gap-2",
|
|
549
|
-
children: [/* @__PURE__ */
|
|
550
|
-
}), /* @__PURE__ */
|
|
548
|
+
children: [/* @__PURE__ */ b("span", { children: I.name }), /* @__PURE__ */ b(ne, { status: I.status })]
|
|
549
|
+
}), /* @__PURE__ */ b("p", {
|
|
551
550
|
className: "text-sm font-normal text-text-secondary",
|
|
552
551
|
children: I.description
|
|
553
552
|
})] })
|
|
554
553
|
]
|
|
555
554
|
}),
|
|
556
|
-
actions: /* @__PURE__ */
|
|
555
|
+
actions: /* @__PURE__ */ b("div", {
|
|
557
556
|
className: "flex gap-2",
|
|
558
|
-
children: B ? /* @__PURE__ */
|
|
557
|
+
children: B ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(f, {
|
|
559
558
|
variant: "outline",
|
|
560
559
|
onClick: () => V(!1),
|
|
561
560
|
children: "Cancel"
|
|
562
|
-
}), /* @__PURE__ */
|
|
563
|
-
leftIcon: /* @__PURE__ */
|
|
561
|
+
}), /* @__PURE__ */ b(f, {
|
|
562
|
+
leftIcon: /* @__PURE__ */ b(E, { size: 16 }),
|
|
564
563
|
onClick: Ne,
|
|
565
564
|
isLoading: z,
|
|
566
565
|
disabled: !G.name,
|
|
567
566
|
children: "Save Changes"
|
|
568
|
-
})] }) : /* @__PURE__ */
|
|
569
|
-
/* @__PURE__ */
|
|
570
|
-
permission:
|
|
571
|
-
children: /* @__PURE__ */
|
|
567
|
+
})] }) : /* @__PURE__ */ x(y, { children: [
|
|
568
|
+
/* @__PURE__ */ b(a, {
|
|
569
|
+
permission: i.POLICY_UPDATE,
|
|
570
|
+
children: /* @__PURE__ */ b(f, {
|
|
572
571
|
variant: Z ? "outline" : "default",
|
|
573
|
-
leftIcon: /* @__PURE__ */
|
|
572
|
+
leftIcon: /* @__PURE__ */ b(ye, { size: 16 }),
|
|
574
573
|
onClick: () => void Fe(),
|
|
575
574
|
isLoading: z,
|
|
576
575
|
children: Z ? "Deactivate" : "Activate"
|
|
577
576
|
})
|
|
578
577
|
}),
|
|
579
|
-
/* @__PURE__ */
|
|
580
|
-
permission:
|
|
581
|
-
children: /* @__PURE__ */
|
|
578
|
+
/* @__PURE__ */ b(a, {
|
|
579
|
+
permission: i.POLICY_UPDATE,
|
|
580
|
+
children: /* @__PURE__ */ b(f, {
|
|
582
581
|
variant: "outline",
|
|
583
|
-
leftIcon: /* @__PURE__ */
|
|
582
|
+
leftIcon: /* @__PURE__ */ b(ve, { size: 16 }),
|
|
584
583
|
onClick: Ie,
|
|
585
584
|
children: "Edit"
|
|
586
585
|
})
|
|
587
586
|
}),
|
|
588
|
-
Oe ? /* @__PURE__ */
|
|
587
|
+
Oe ? /* @__PURE__ */ x("div", {
|
|
589
588
|
className: "flex gap-2",
|
|
590
|
-
children: [/* @__PURE__ */
|
|
589
|
+
children: [/* @__PURE__ */ b(f, {
|
|
591
590
|
variant: "outline",
|
|
592
591
|
size: "sm",
|
|
593
592
|
onClick: () => H(!1),
|
|
594
593
|
children: "Cancel"
|
|
595
|
-
}), /* @__PURE__ */
|
|
594
|
+
}), /* @__PURE__ */ b(f, {
|
|
596
595
|
variant: "destructive",
|
|
597
596
|
size: "sm",
|
|
598
597
|
onClick: () => {
|
|
599
|
-
|
|
598
|
+
n("medium"), Pe();
|
|
600
599
|
},
|
|
601
600
|
isLoading: De,
|
|
602
601
|
children: "Confirm Delete"
|
|
603
602
|
})]
|
|
604
|
-
}) : /* @__PURE__ */
|
|
605
|
-
permission:
|
|
606
|
-
children: /* @__PURE__ */
|
|
603
|
+
}) : /* @__PURE__ */ b(a, {
|
|
604
|
+
permission: i.POLICY_DELETE,
|
|
605
|
+
children: /* @__PURE__ */ b(f, {
|
|
607
606
|
variant: "destructive",
|
|
608
|
-
leftIcon: /* @__PURE__ */
|
|
607
|
+
leftIcon: /* @__PURE__ */ b(O, { size: 16 }),
|
|
609
608
|
onClick: () => H(!0),
|
|
610
609
|
children: "Delete"
|
|
611
610
|
})
|
|
612
611
|
})
|
|
613
612
|
] })
|
|
614
613
|
}),
|
|
615
|
-
children: /* @__PURE__ */
|
|
614
|
+
children: /* @__PURE__ */ x("div", {
|
|
616
615
|
className: "space-y-6",
|
|
617
616
|
children: [
|
|
618
|
-
/* @__PURE__ */
|
|
619
|
-
icon: /* @__PURE__ */
|
|
617
|
+
/* @__PURE__ */ b(me, {
|
|
618
|
+
icon: /* @__PURE__ */ b(D, { size: 18 }),
|
|
620
619
|
children: "This is a single guardrail and its rules. Review and tune exactly what it enforces — what content to block, which tools are allowed, the spend or rate limits it applies — then attach it to the agents and bots that should obey it. Policies are how you keep agents safe, compliant and within budget."
|
|
621
620
|
}),
|
|
622
|
-
B && /* @__PURE__ */
|
|
621
|
+
B && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ b(d, { children: "Edit Policy" }) }), /* @__PURE__ */ x(c, {
|
|
623
622
|
className: "space-y-4",
|
|
624
623
|
children: [
|
|
625
|
-
/* @__PURE__ */
|
|
624
|
+
/* @__PURE__ */ b(p, {
|
|
626
625
|
label: "Policy Name",
|
|
627
626
|
required: !0,
|
|
628
|
-
children: /* @__PURE__ */
|
|
627
|
+
children: /* @__PURE__ */ b(m, {
|
|
629
628
|
value: G.name,
|
|
630
629
|
onChange: (e) => K({
|
|
631
630
|
...G,
|
|
@@ -633,9 +632,9 @@ var xe = [
|
|
|
633
632
|
})
|
|
634
633
|
})
|
|
635
634
|
}),
|
|
636
|
-
/* @__PURE__ */
|
|
635
|
+
/* @__PURE__ */ b(p, {
|
|
637
636
|
label: "Description",
|
|
638
|
-
children: /* @__PURE__ */
|
|
637
|
+
children: /* @__PURE__ */ b(h, {
|
|
639
638
|
value: G.description,
|
|
640
639
|
onChange: (e) => K({
|
|
641
640
|
...G,
|
|
@@ -644,9 +643,9 @@ var xe = [
|
|
|
644
643
|
rows: 3
|
|
645
644
|
})
|
|
646
645
|
}),
|
|
647
|
-
/* @__PURE__ */
|
|
646
|
+
/* @__PURE__ */ b(p, {
|
|
648
647
|
label: "Visibility",
|
|
649
|
-
children: /* @__PURE__ */
|
|
648
|
+
children: /* @__PURE__ */ x("select", {
|
|
650
649
|
className: j,
|
|
651
650
|
value: G.visibility,
|
|
652
651
|
onChange: (e) => K({
|
|
@@ -654,142 +653,142 @@ var xe = [
|
|
|
654
653
|
visibility: e.target.value
|
|
655
654
|
}),
|
|
656
655
|
children: [
|
|
657
|
-
/* @__PURE__ */
|
|
656
|
+
/* @__PURE__ */ b("option", {
|
|
658
657
|
value: "PRIVATE",
|
|
659
658
|
children: "Private"
|
|
660
659
|
}),
|
|
661
|
-
/* @__PURE__ */
|
|
660
|
+
/* @__PURE__ */ b("option", {
|
|
662
661
|
value: "WORKSPACE",
|
|
663
662
|
children: "Workspace"
|
|
664
663
|
}),
|
|
665
|
-
/* @__PURE__ */
|
|
664
|
+
/* @__PURE__ */ b("option", {
|
|
666
665
|
value: "PUBLIC",
|
|
667
666
|
children: "Public"
|
|
668
667
|
})
|
|
669
668
|
]
|
|
670
669
|
})
|
|
671
670
|
}),
|
|
672
|
-
/* @__PURE__ */
|
|
671
|
+
/* @__PURE__ */ b("p", {
|
|
673
672
|
className: "text-sm text-text-secondary",
|
|
674
673
|
children: "Note: Policy type and configuration cannot be changed after creation."
|
|
675
674
|
})
|
|
676
675
|
]
|
|
677
676
|
})] }),
|
|
678
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ x("div", {
|
|
679
678
|
className: "grid grid-cols-2 md:grid-cols-4 gap-4",
|
|
680
679
|
children: [
|
|
681
|
-
/* @__PURE__ */
|
|
680
|
+
/* @__PURE__ */ b(s, {
|
|
682
681
|
treatment: "glass",
|
|
683
682
|
glow: !0,
|
|
684
|
-
children: /* @__PURE__ */
|
|
683
|
+
children: /* @__PURE__ */ x(c, {
|
|
685
684
|
className: "pt-6 text-center",
|
|
686
685
|
children: [
|
|
687
|
-
/* @__PURE__ */
|
|
686
|
+
/* @__PURE__ */ b("div", {
|
|
688
687
|
className: "p-3 rounded-full bg-action-primary-bg/10 w-fit mx-auto mb-2",
|
|
689
|
-
children: /* @__PURE__ */
|
|
688
|
+
children: /* @__PURE__ */ b(M, { type: Q })
|
|
690
689
|
}),
|
|
691
|
-
/* @__PURE__ */
|
|
690
|
+
/* @__PURE__ */ b("p", {
|
|
692
691
|
className: "text-lg font-bold",
|
|
693
692
|
children: N[Q]
|
|
694
693
|
}),
|
|
695
|
-
/* @__PURE__ */
|
|
694
|
+
/* @__PURE__ */ b("p", {
|
|
696
695
|
className: "text-sm text-text-secondary",
|
|
697
696
|
children: "Policy Type"
|
|
698
697
|
})
|
|
699
698
|
]
|
|
700
699
|
})
|
|
701
700
|
}),
|
|
702
|
-
/* @__PURE__ */
|
|
701
|
+
/* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
|
|
703
702
|
className: "pt-6 text-center",
|
|
704
|
-
children: [/* @__PURE__ */
|
|
703
|
+
children: [/* @__PURE__ */ b("p", {
|
|
705
704
|
className: "text-3xl font-bold text-text-primary capitalize",
|
|
706
705
|
children: I.visibility.toLowerCase()
|
|
707
|
-
}), /* @__PURE__ */
|
|
706
|
+
}), /* @__PURE__ */ b("p", {
|
|
708
707
|
className: "text-sm text-text-secondary",
|
|
709
708
|
children: "Visibility"
|
|
710
709
|
})]
|
|
711
710
|
}) }),
|
|
712
|
-
/* @__PURE__ */
|
|
711
|
+
/* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
|
|
713
712
|
className: "pt-6 text-center",
|
|
714
|
-
children: [/* @__PURE__ */
|
|
713
|
+
children: [/* @__PURE__ */ b("p", {
|
|
715
714
|
className: "text-3xl font-bold text-text-primary",
|
|
716
715
|
children: I.revision
|
|
717
|
-
}), /* @__PURE__ */
|
|
716
|
+
}), /* @__PURE__ */ b("p", {
|
|
718
717
|
className: "text-sm text-text-secondary",
|
|
719
718
|
children: "Revision"
|
|
720
719
|
})]
|
|
721
720
|
}) }),
|
|
722
|
-
/* @__PURE__ */
|
|
721
|
+
/* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
|
|
723
722
|
className: "pt-6 text-center",
|
|
724
|
-
children: [/* @__PURE__ */
|
|
723
|
+
children: [/* @__PURE__ */ b("p", {
|
|
725
724
|
className: "text-lg font-bold text-text-primary",
|
|
726
|
-
children:
|
|
727
|
-
}), /* @__PURE__ */
|
|
725
|
+
children: g(I.updatedAt)
|
|
726
|
+
}), /* @__PURE__ */ b("p", {
|
|
728
727
|
className: "text-sm text-text-secondary",
|
|
729
728
|
children: "Last Updated"
|
|
730
729
|
})]
|
|
731
730
|
}) })
|
|
732
731
|
]
|
|
733
732
|
}),
|
|
734
|
-
/* @__PURE__ */
|
|
733
|
+
/* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ b(d, { children: "Configuration" }), /* @__PURE__ */ b(l, { children: "Current policy configuration" })] }), /* @__PURE__ */ x(c, {
|
|
735
734
|
className: "space-y-4",
|
|
736
|
-
children: [$ === null ? /* @__PURE__ */
|
|
735
|
+
children: [$ === null ? /* @__PURE__ */ x("div", {
|
|
737
736
|
className: "flex items-start gap-2 p-3 bg-status-warning-bg-subtle rounded-lg text-sm",
|
|
738
737
|
"data-testid": "policy-not-enforced",
|
|
739
|
-
children: [/* @__PURE__ */
|
|
738
|
+
children: [/* @__PURE__ */ b(S, {
|
|
740
739
|
size: 16,
|
|
741
740
|
className: "mt-0.5 shrink-0 text-status-warning-text"
|
|
742
|
-
}), /* @__PURE__ */
|
|
743
|
-
}) : $.length > 0 ? /* @__PURE__ */
|
|
741
|
+
}), /* @__PURE__ */ x("p", { children: [N[Q], " settings are not enforced at runtime. This policy is kept for reference only and does not restrict any agent."] })]
|
|
742
|
+
}) : $.length > 0 ? /* @__PURE__ */ x("div", {
|
|
744
743
|
className: "flex items-start gap-2 p-3 bg-status-warning-bg-subtle rounded-lg text-sm",
|
|
745
744
|
"data-testid": "policy-ignored-keys",
|
|
746
|
-
children: [/* @__PURE__ */
|
|
745
|
+
children: [/* @__PURE__ */ b(S, {
|
|
747
746
|
size: 16,
|
|
748
747
|
className: "mt-0.5 shrink-0 text-status-warning-text"
|
|
749
|
-
}), /* @__PURE__ */
|
|
748
|
+
}), /* @__PURE__ */ x("p", { children: [
|
|
750
749
|
"These settings are not enforced at runtime and have no effect:",
|
|
751
750
|
" ",
|
|
752
|
-
/* @__PURE__ */
|
|
751
|
+
/* @__PURE__ */ b("span", {
|
|
753
752
|
className: "font-mono",
|
|
754
753
|
children: $.join(", ")
|
|
755
754
|
}),
|
|
756
755
|
". Create a new policy to use the enforced settings."
|
|
757
756
|
] })]
|
|
758
|
-
}) : null, /* @__PURE__ */
|
|
757
|
+
}) : null, /* @__PURE__ */ b("div", {
|
|
759
758
|
className: "p-4 bg-bg-sunken rounded-lg font-mono text-sm overflow-auto",
|
|
760
|
-
children: /* @__PURE__ */
|
|
759
|
+
children: /* @__PURE__ */ b("pre", { children: JSON.stringify(I.config, null, 2) })
|
|
761
760
|
})]
|
|
762
761
|
})] }),
|
|
763
|
-
/* @__PURE__ */
|
|
762
|
+
/* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ x(d, {
|
|
764
763
|
className: "flex items-center gap-2",
|
|
765
|
-
children: [/* @__PURE__ */
|
|
766
|
-
}) }), /* @__PURE__ */
|
|
764
|
+
children: [/* @__PURE__ */ b(be, { size: 18 }), "Metadata"]
|
|
765
|
+
}) }), /* @__PURE__ */ b(c, { children: /* @__PURE__ */ x("div", {
|
|
767
766
|
className: "grid grid-cols-2 md:grid-cols-4 gap-6 text-sm",
|
|
768
767
|
children: [
|
|
769
|
-
/* @__PURE__ */
|
|
768
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
770
769
|
className: "text-text-secondary",
|
|
771
770
|
children: "Created"
|
|
772
|
-
}), /* @__PURE__ */
|
|
771
|
+
}), /* @__PURE__ */ b("p", {
|
|
773
772
|
className: "font-medium",
|
|
774
|
-
children:
|
|
773
|
+
children: g(I.createdAt)
|
|
775
774
|
})] }),
|
|
776
|
-
/* @__PURE__ */
|
|
775
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
777
776
|
className: "text-text-secondary",
|
|
778
777
|
children: "Updated"
|
|
779
|
-
}), /* @__PURE__ */
|
|
778
|
+
}), /* @__PURE__ */ b("p", {
|
|
780
779
|
className: "font-medium",
|
|
781
|
-
children:
|
|
780
|
+
children: g(I.updatedAt)
|
|
782
781
|
})] }),
|
|
783
|
-
/* @__PURE__ */
|
|
782
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
784
783
|
className: "text-text-secondary",
|
|
785
784
|
children: "Tags"
|
|
786
|
-
}), /* @__PURE__ */
|
|
785
|
+
}), /* @__PURE__ */ b("div", {
|
|
787
786
|
className: "flex gap-1",
|
|
788
|
-
children: I.tags.length > 0 ? I.tags.map((e) => /* @__PURE__ */
|
|
787
|
+
children: I.tags.length > 0 ? I.tags.map((e) => /* @__PURE__ */ b(te, {
|
|
789
788
|
variant: "secondary",
|
|
790
789
|
className: "text-xs",
|
|
791
790
|
children: e
|
|
792
|
-
}, e)) : /* @__PURE__ */
|
|
791
|
+
}, e)) : /* @__PURE__ */ b("span", {
|
|
793
792
|
className: "text-text-secondary",
|
|
794
793
|
children: "None"
|
|
795
794
|
})
|
|
@@ -800,7 +799,6 @@ var xe = [
|
|
|
800
799
|
})
|
|
801
800
|
});
|
|
802
801
|
};
|
|
803
|
-
//#endregion
|
|
804
802
|
export { P as PolicyDetailPage };
|
|
805
803
|
|
|
806
804
|
//# sourceMappingURL=PolicyDetailPage.js.map
|