@xenosystem/agent-interface-ui 0.1.3
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/LICENSE +67 -0
- package/dist/adapters/agentHostPlatformBridge.d.ts +24 -0
- package/dist/adapters/agentHostPlatformBridge.d.ts.map +1 -0
- package/dist/adapters/agentHostPlatformBridge.js +1244 -0
- package/dist/adapters/agentHostPlatformBridge.js.map +1 -0
- package/dist/adapters/hubAgentPlatformBridge.d.ts +17 -0
- package/dist/adapters/hubAgentPlatformBridge.d.ts.map +1 -0
- package/dist/adapters/hubAgentPlatformBridge.js +109 -0
- package/dist/adapters/hubAgentPlatformBridge.js.map +1 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.d.ts +14 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +1 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.js +237 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.js.map +1 -0
- package/dist/adapters/xenoAgentHostCatalog.d.ts +40 -0
- package/dist/adapters/xenoAgentHostCatalog.d.ts.map +1 -0
- package/dist/adapters/xenoAgentHostCatalog.js +228 -0
- package/dist/adapters/xenoAgentHostCatalog.js.map +1 -0
- package/dist/components/agent/AIStatusIndicator.d.ts +25 -0
- package/dist/components/agent/AIStatusIndicator.d.ts.map +1 -0
- package/dist/components/agent/AIStatusIndicator.js +85 -0
- package/dist/components/agent/AIStatusIndicator.js.map +1 -0
- package/dist/components/agent/AgentInterface.d.ts +21 -0
- package/dist/components/agent/AgentInterface.d.ts.map +1 -0
- package/dist/components/agent/AgentInterface.js +7586 -0
- package/dist/components/agent/AgentInterface.js.map +1 -0
- package/dist/components/agent/AgentOnboarding.d.ts +16 -0
- package/dist/components/agent/AgentOnboarding.d.ts.map +1 -0
- package/dist/components/agent/AgentOnboarding.js +423 -0
- package/dist/components/agent/AgentOnboarding.js.map +1 -0
- package/dist/components/agent/AgentPtyTerminalPanel.d.ts +13 -0
- package/dist/components/agent/AgentPtyTerminalPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentPtyTerminalPanel.js +129 -0
- package/dist/components/agent/AgentPtyTerminalPanel.js.map +1 -0
- package/dist/components/agent/AgentView.d.ts +143 -0
- package/dist/components/agent/AgentView.d.ts.map +1 -0
- package/dist/components/agent/AgentView.js +7250 -0
- package/dist/components/agent/AgentView.js.map +1 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.d.ts +15 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.js +275 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.js.map +1 -0
- package/dist/components/agent/AgentWorkbenchPanel.d.ts +791 -0
- package/dist/components/agent/AgentWorkbenchPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkbenchPanel.js +584 -0
- package/dist/components/agent/AgentWorkbenchPanel.js.map +1 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts +11 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js +198 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js.map +1 -0
- package/dist/components/agent/AssistantTurnStatusNotice.d.ts +16 -0
- package/dist/components/agent/AssistantTurnStatusNotice.d.ts.map +1 -0
- package/dist/components/agent/AssistantTurnStatusNotice.js +54 -0
- package/dist/components/agent/AssistantTurnStatusNotice.js.map +1 -0
- package/dist/components/agent/CommandToolCard.d.ts +11 -0
- package/dist/components/agent/CommandToolCard.d.ts.map +1 -0
- package/dist/components/agent/CommandToolCard.js +29 -0
- package/dist/components/agent/CommandToolCard.js.map +1 -0
- package/dist/components/agent/FleetPanel.d.ts +28 -0
- package/dist/components/agent/FleetPanel.d.ts.map +1 -0
- package/dist/components/agent/FleetPanel.js +175 -0
- package/dist/components/agent/FleetPanel.js.map +1 -0
- package/dist/components/agent/GhostTextArea.d.ts +13 -0
- package/dist/components/agent/GhostTextArea.d.ts.map +1 -0
- package/dist/components/agent/GhostTextArea.js +21 -0
- package/dist/components/agent/GhostTextArea.js.map +1 -0
- package/dist/components/agent/IntakePanel.d.ts +29 -0
- package/dist/components/agent/IntakePanel.d.ts.map +1 -0
- package/dist/components/agent/IntakePanel.js +81 -0
- package/dist/components/agent/IntakePanel.js.map +1 -0
- package/dist/components/agent/KnowledgePanel.d.ts +25 -0
- package/dist/components/agent/KnowledgePanel.d.ts.map +1 -0
- package/dist/components/agent/KnowledgePanel.js +99 -0
- package/dist/components/agent/KnowledgePanel.js.map +1 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts +9 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts.map +1 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js +204 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js.map +1 -0
- package/dist/components/agent/MonacoWorkbenchEditor.d.ts +15 -0
- package/dist/components/agent/MonacoWorkbenchEditor.d.ts.map +1 -0
- package/dist/components/agent/MonacoWorkbenchEditor.js +380 -0
- package/dist/components/agent/MonacoWorkbenchEditor.js.map +1 -0
- package/dist/components/agent/PermissionDialog.d.ts +34 -0
- package/dist/components/agent/PermissionDialog.d.ts.map +1 -0
- package/dist/components/agent/PermissionDialog.js +67 -0
- package/dist/components/agent/PermissionDialog.js.map +1 -0
- package/dist/components/agent/PluginManager.d.ts +20 -0
- package/dist/components/agent/PluginManager.d.ts.map +1 -0
- package/dist/components/agent/PluginManager.js +506 -0
- package/dist/components/agent/PluginManager.js.map +1 -0
- package/dist/components/agent/RunReviewPanel.d.ts +52 -0
- package/dist/components/agent/RunReviewPanel.d.ts.map +1 -0
- package/dist/components/agent/RunReviewPanel.js +236 -0
- package/dist/components/agent/RunReviewPanel.js.map +1 -0
- package/dist/components/agent/SessionsPanel.d.ts +30 -0
- package/dist/components/agent/SessionsPanel.d.ts.map +1 -0
- package/dist/components/agent/SessionsPanel.js +247 -0
- package/dist/components/agent/SessionsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts +19 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.js +85 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts +10 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js +80 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentManager.d.ts +3 -0
- package/dist/components/agent/acp/AcpAgentManager.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentManager.js +152 -0
- package/dist/components/agent/acp/AcpAgentManager.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts +9 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js +24 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpApprovalPanel.d.ts +29 -0
- package/dist/components/agent/acp/AcpApprovalPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpApprovalPanel.js +37 -0
- package/dist/components/agent/acp/AcpApprovalPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpCertificationPanel.d.ts +10 -0
- package/dist/components/agent/acp/AcpCertificationPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpCertificationPanel.js +41 -0
- package/dist/components/agent/acp/AcpCertificationPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts +11 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js +32 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts +7 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.js +69 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts +7 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.js +108 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts +8 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.js +56 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.js.map +1 -0
- package/dist/components/agent/compactionSummary.d.ts +28 -0
- package/dist/components/agent/compactionSummary.d.ts.map +1 -0
- package/dist/components/agent/compactionSummary.js +41 -0
- package/dist/components/agent/compactionSummary.js.map +1 -0
- package/dist/components/agent/monacoWorkbenchShared.d.ts +13 -0
- package/dist/components/agent/monacoWorkbenchShared.d.ts.map +1 -0
- package/dist/components/agent/monacoWorkbenchShared.js +226 -0
- package/dist/components/agent/monacoWorkbenchShared.js.map +1 -0
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts +61 -0
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts.map +1 -0
- package/dist/components/agent/settings/EntitySettingsLayout.js +72 -0
- package/dist/components/agent/settings/EntitySettingsLayout.js.map +1 -0
- package/dist/components/agent/settings/SettingsNavigation.d.ts +8 -0
- package/dist/components/agent/settings/SettingsNavigation.d.ts.map +1 -0
- package/dist/components/agent/settings/SettingsNavigation.js +39 -0
- package/dist/components/agent/settings/SettingsNavigation.js.map +1 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.js +31 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.js.map +1 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts +25 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js +56 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js.map +1 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.js +19 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.js.map +1 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js +66 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js.map +1 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js +87 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.js +23 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.js.map +1 -0
- package/dist/components/agent/settings/sections/GeneralSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/GeneralSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/GeneralSection.js +15 -0
- package/dist/components/agent/settings/sections/GeneralSection.js.map +1 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.js +40 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/NotificationsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/NotificationsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/NotificationsSection.js +28 -0
- package/dist/components/agent/settings/sections/NotificationsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js +17 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js +28 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js.map +1 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js +17 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts +54 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +333 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -0
- package/dist/components/agent/settings/shared/CheckboxField.d.ts +13 -0
- package/dist/components/agent/settings/shared/CheckboxField.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/CheckboxField.js +8 -0
- package/dist/components/agent/settings/shared/CheckboxField.js.map +1 -0
- package/dist/components/agent/settings/shared/InputField.d.ts +15 -0
- package/dist/components/agent/settings/shared/InputField.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/InputField.js +7 -0
- package/dist/components/agent/settings/shared/InputField.js.map +1 -0
- package/dist/components/agent/settings/shared/MembersTable.d.ts +11 -0
- package/dist/components/agent/settings/shared/MembersTable.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/MembersTable.js +7 -0
- package/dist/components/agent/settings/shared/MembersTable.js.map +1 -0
- package/dist/components/agent/settings/shared/SettingRow.d.ts +11 -0
- package/dist/components/agent/settings/shared/SettingRow.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/SettingRow.js +6 -0
- package/dist/components/agent/settings/shared/SettingRow.js.map +1 -0
- package/dist/components/agent/settings/shared/SettingsCard.d.ts +11 -0
- package/dist/components/agent/settings/shared/SettingsCard.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/SettingsCard.js +8 -0
- package/dist/components/agent/settings/shared/SettingsCard.js.map +1 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.d.ts +8 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.js +6 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.js.map +1 -0
- package/dist/components/agent/settings/shared/UsageChart.d.ts +12 -0
- package/dist/components/agent/settings/shared/UsageChart.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/UsageChart.js +16 -0
- package/dist/components/agent/settings/shared/UsageChart.js.map +1 -0
- package/dist/components/agent/toolCardDisplay.d.ts +24 -0
- package/dist/components/agent/toolCardDisplay.d.ts.map +1 -0
- package/dist/components/agent/toolCardDisplay.js +85 -0
- package/dist/components/agent/toolCardDisplay.js.map +1 -0
- package/dist/components/product/XenoAgentProductHeader.d.ts +18 -0
- package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -0
- package/dist/components/product/XenoAgentProductHeader.js +25 -0
- package/dist/components/product/XenoAgentProductHeader.js.map +1 -0
- package/dist/components/product/XenoAgentSessionTabs.d.ts +18 -0
- package/dist/components/product/XenoAgentSessionTabs.d.ts.map +1 -0
- package/dist/components/product/XenoAgentSessionTabs.js +103 -0
- package/dist/components/product/XenoAgentSessionTabs.js.map +1 -0
- package/dist/components/ui/CodeBlock.d.ts +8 -0
- package/dist/components/ui/CodeBlock.d.ts.map +1 -0
- package/dist/components/ui/CodeBlock.js +89 -0
- package/dist/components/ui/CodeBlock.js.map +1 -0
- package/dist/components/ui/XenoLogo.d.ts +11 -0
- package/dist/components/ui/XenoLogo.d.ts.map +1 -0
- package/dist/components/ui/XenoLogo.js +9 -0
- package/dist/components/ui/XenoLogo.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +127 -0
- package/dist/index.js.map +1 -0
- package/dist/platformApiTypes.d.ts +3992 -0
- package/dist/platformApiTypes.d.ts.map +1 -0
- package/dist/platformApiTypes.js +2 -0
- package/dist/platformApiTypes.js.map +1 -0
- package/dist/platformBridge.d.ts +9 -0
- package/dist/platformBridge.d.ts.map +1 -0
- package/dist/platformBridge.js +19 -0
- package/dist/platformBridge.js.map +1 -0
- package/dist/providerSelector.d.ts +28 -0
- package/dist/providerSelector.d.ts.map +1 -0
- package/dist/providerSelector.js +104 -0
- package/dist/providerSelector.js.map +1 -0
- package/dist/services/connectionMode.d.ts +13 -0
- package/dist/services/connectionMode.d.ts.map +1 -0
- package/dist/services/connectionMode.js +31 -0
- package/dist/services/connectionMode.js.map +1 -0
- package/dist/sessionTabs.d.ts +48 -0
- package/dist/sessionTabs.d.ts.map +1 -0
- package/dist/sessionTabs.js +106 -0
- package/dist/sessionTabs.js.map +1 -0
- package/dist/stores/acpAgentStore.d.ts +264 -0
- package/dist/stores/acpAgentStore.d.ts.map +1 -0
- package/dist/stores/acpAgentStore.js +825 -0
- package/dist/stores/acpAgentStore.js.map +1 -0
- package/dist/stores/agentChatStore.d.ts +529 -0
- package/dist/stores/agentChatStore.d.ts.map +1 -0
- package/dist/stores/agentChatStore.js +5309 -0
- package/dist/stores/agentChatStore.js.map +1 -0
- package/dist/stores/agentIdeStore.d.ts +9 -0
- package/dist/stores/agentIdeStore.d.ts.map +1 -0
- package/dist/stores/agentIdeStore.js +8 -0
- package/dist/stores/agentIdeStore.js.map +1 -0
- package/dist/stores/agentSearchStore.d.ts +174 -0
- package/dist/stores/agentSearchStore.d.ts.map +1 -0
- package/dist/stores/agentSearchStore.js +305 -0
- package/dist/stores/agentSearchStore.js.map +1 -0
- package/dist/stores/authStore.d.ts +26 -0
- package/dist/stores/authStore.d.ts.map +1 -0
- package/dist/stores/authStore.js +163 -0
- package/dist/stores/authStore.js.map +1 -0
- package/dist/stores/entitySettingsStore.d.ts +236 -0
- package/dist/stores/entitySettingsStore.d.ts.map +1 -0
- package/dist/stores/entitySettingsStore.js +916 -0
- package/dist/stores/entitySettingsStore.js.map +1 -0
- package/dist/stores/permissionStore.d.ts +25 -0
- package/dist/stores/permissionStore.d.ts.map +1 -0
- package/dist/stores/permissionStore.js +58 -0
- package/dist/stores/permissionStore.js.map +1 -0
- package/dist/stores/suggestionStore.d.ts +29 -0
- package/dist/stores/suggestionStore.d.ts.map +1 -0
- package/dist/stores/suggestionStore.js +160 -0
- package/dist/stores/suggestionStore.js.map +1 -0
- package/dist/stores/tabStore.d.ts +30 -0
- package/dist/stores/tabStore.d.ts.map +1 -0
- package/dist/stores/tabStore.js +252 -0
- package/dist/stores/tabStore.js.map +1 -0
- package/dist/stores/themeStore.d.ts +13 -0
- package/dist/stores/themeStore.d.ts.map +1 -0
- package/dist/stores/themeStore.js +77 -0
- package/dist/stores/themeStore.js.map +1 -0
- package/dist/stores/workspaceStore.d.ts +175 -0
- package/dist/stores/workspaceStore.d.ts.map +1 -0
- package/dist/stores/workspaceStore.js +694 -0
- package/dist/stores/workspaceStore.js.map +1 -0
- package/dist/stores/xenoChatStore.d.ts +88 -0
- package/dist/stores/xenoChatStore.d.ts.map +1 -0
- package/dist/stores/xenoChatStore.js +572 -0
- package/dist/stores/xenoChatStore.js.map +1 -0
- package/dist/toolCardProjection.d.ts +33 -0
- package/dist/toolCardProjection.d.ts.map +1 -0
- package/dist/toolCardProjection.js +62 -0
- package/dist/toolCardProjection.js.map +1 -0
- package/dist/types/agentEditor.d.ts +39 -0
- package/dist/types/agentEditor.d.ts.map +1 -0
- package/dist/types/agentEditor.js +2 -0
- package/dist/types/agentEditor.js.map +1 -0
- package/dist/types/agentRuntimeProvider.d.ts +2 -0
- package/dist/types/agentRuntimeProvider.d.ts.map +1 -0
- package/dist/types/agentRuntimeProvider.js +2 -0
- package/dist/types/agentRuntimeProvider.js.map +1 -0
- package/dist/utils/acpExecutionAuthority.d.ts +18 -0
- package/dist/utils/acpExecutionAuthority.d.ts.map +1 -0
- package/dist/utils/acpExecutionAuthority.js +22 -0
- package/dist/utils/acpExecutionAuthority.js.map +1 -0
- package/dist/utils/agentAttachedContextPrompt.d.ts +2 -0
- package/dist/utils/agentAttachedContextPrompt.d.ts.map +1 -0
- package/dist/utils/agentAttachedContextPrompt.js +2 -0
- package/dist/utils/agentAttachedContextPrompt.js.map +1 -0
- package/dist/utils/agentModelContext.d.ts +2 -0
- package/dist/utils/agentModelContext.d.ts.map +1 -0
- package/dist/utils/agentModelContext.js +2 -0
- package/dist/utils/agentModelContext.js.map +1 -0
- package/dist/utils/agentReasoningEffort.d.ts +3 -0
- package/dist/utils/agentReasoningEffort.d.ts.map +1 -0
- package/dist/utils/agentReasoningEffort.js +2 -0
- package/dist/utils/agentReasoningEffort.js.map +1 -0
- package/dist/utils/agentRuntimeProvider.d.ts +3 -0
- package/dist/utils/agentRuntimeProvider.d.ts.map +1 -0
- package/dist/utils/agentRuntimeProvider.js +2 -0
- package/dist/utils/agentRuntimeProvider.js.map +1 -0
- package/dist/utils/cloudModels.d.ts +3 -0
- package/dist/utils/cloudModels.d.ts.map +1 -0
- package/dist/utils/cloudModels.js +181 -0
- package/dist/utils/cloudModels.js.map +1 -0
- package/dist/utils/conversationRuntime.d.ts +3 -0
- package/dist/utils/conversationRuntime.d.ts.map +1 -0
- package/dist/utils/conversationRuntime.js +2 -0
- package/dist/utils/conversationRuntime.js.map +1 -0
- package/dist/utils/fileCreateIntent.d.ts +16 -0
- package/dist/utils/fileCreateIntent.d.ts.map +1 -0
- package/dist/utils/fileCreateIntent.js +123 -0
- package/dist/utils/fileCreateIntent.js.map +1 -0
- package/dist/utils/legacyAgentRuntimeEvents.d.ts +2 -0
- package/dist/utils/legacyAgentRuntimeEvents.d.ts.map +1 -0
- package/dist/utils/legacyAgentRuntimeEvents.js +2 -0
- package/dist/utils/legacyAgentRuntimeEvents.js.map +1 -0
- package/dist/utils/markdownWindowsPaths.d.ts +2 -0
- package/dist/utils/markdownWindowsPaths.d.ts.map +1 -0
- package/dist/utils/markdownWindowsPaths.js +2 -0
- package/dist/utils/markdownWindowsPaths.js.map +1 -0
- package/dist/utils/workspaceSelectionContinuation.d.ts +2 -0
- package/dist/utils/workspaceSelectionContinuation.d.ts.map +1 -0
- package/dist/utils/workspaceSelectionContinuation.js +2 -0
- package/dist/utils/workspaceSelectionContinuation.js.map +1 -0
- package/package.json +53 -0
- package/src/agent.css +1156 -0
- package/src/foundation.css +62 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { getAgentPlatformBridge } from '../../../../platformBridge';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Download, Trash2, HardDrive, Clock } from 'lucide-react';
|
|
5
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
6
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
7
|
+
import { ToggleSwitch } from '../shared/ToggleSwitch';
|
|
8
|
+
export function ExportBackupSection() {
|
|
9
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
10
|
+
const updateExportBackup = useEntitySettingsStore(s => s.updateExportBackup);
|
|
11
|
+
const createBackup = useEntitySettingsStore(s => s.createBackup);
|
|
12
|
+
const deleteBackup = useEntitySettingsStore(s => s.deleteBackup);
|
|
13
|
+
if (!settings)
|
|
14
|
+
return null;
|
|
15
|
+
const { exportBackup } = settings;
|
|
16
|
+
return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[260px_minmax(0,1fr)_280px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Auto Backup", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between py-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HardDrive, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Enabled" })] }), _jsx(ToggleSwitch, { enabled: exportBackup.autoBackupEnabled, onChange: (v) => updateExportBackup({ autoBackupEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Frequency" })] }), _jsxs("select", { value: exportBackup.backupFrequency, onChange: (e) => updateExportBackup({ backupFrequency: e.target.value }), className: "px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/60 focus:outline-none", children: [_jsx("option", { value: "daily", children: "Daily" }), _jsx("option", { value: "weekly", children: "Weekly" }), _jsx("option", { value: "monthly", children: "Monthly" })] })] }), _jsxs("div", { className: "pt-2 border-t border-white/[0.05]", children: [_jsxs("div", { className: "flex items-center justify-between mb-1", children: [_jsx("span", { className: "text-[10px] text-white/40", children: "Retention" }), _jsxs("span", { className: "text-[10px] text-white/50", children: [exportBackup.retentionDays, "d"] })] }), _jsxs("div", { className: "relative h-2 rounded-sm bg-[#222224]", onWheel: (e) => {
|
|
17
|
+
e.preventDefault();
|
|
18
|
+
const delta = e.deltaY > 0 ? -1 : 1;
|
|
19
|
+
const next = Math.max(7, Math.min(90, exportBackup.retentionDays + delta));
|
|
20
|
+
updateExportBackup({ retentionDays: next });
|
|
21
|
+
}, children: [_jsx("div", { className: "absolute inset-0 rounded-sm overflow-hidden", children: _jsx("div", { className: "h-full rounded-sm bg-white/20", style: { width: `${((exportBackup.retentionDays - 7) / (90 - 7)) * 100}%` } }) }), _jsx("input", { type: "range", min: 7, max: 90, value: exportBackup.retentionDays, onChange: (e) => updateExportBackup({ retentionDays: parseInt(e.target.value) }), className: "absolute inset-0 w-full appearance-none bg-transparent cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3.5 [&::-webkit-slider-thumb]:h-3.5 [&::-webkit-slider-thumb]:rounded [&::-webkit-slider-thumb]:bg-white/70 [&::-webkit-slider-thumb]:hover:bg-white/90 [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-white/10" })] })] })] }) }), _jsx(SettingsCard, { title: "Export Data", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.exportJson?.(), className: "flex items-center gap-2 w-full px-4 py-2 bg-[#1E1E1E] hover:bg-[#252525] border border-[#27272a] rounded-md text-[11px] text-white/60 transition-colors", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), " Export as JSON"] }), _jsxs("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.exportCsv?.(), className: "flex items-center gap-2 w-full px-4 py-2 bg-[#1E1E1E] hover:bg-[#252525] border border-[#27272a] rounded-md text-[11px] text-white/60 transition-colors", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), " Export as CSV"] })] }) }), _jsx(SettingsCard, { title: "Backups", className: "flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => createBackup(`Backup ${new Date().toLocaleDateString()}`), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: [_jsx(HardDrive, { className: "w-3 h-3" }), " New"] }), children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: exportBackup.availableBackups.length === 0 ? (_jsx("div", { className: "text-center py-4 text-[10px] text-white/30", children: "No backups" })) : (exportBackup.availableBackups.map((backup) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/70 truncate", children: backup.name }), _jsxs("div", { className: "text-[9px] text-white/25", children: [backup.size, " - ", new Date(backup.createdAt).toLocaleDateString()] })] }), _jsxs("div", { className: "flex items-center gap-1.5 ml-2", children: [_jsx("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.downloadBackup?.(backup.id), className: "text-white/30 hover:text-white/60", children: _jsx(Download, { className: "w-3 h-3" }) }), _jsx("button", { onClick: () => deleteBackup(backup.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, backup.id)))) }) })] }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ExportBackupSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportBackupSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ExportBackupSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;IAC5E,MAAM,YAAY,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;IAEjC,OAAO,CACL,eAAK,SAAS,EAAC,4FAA4F,aAEzG,KAAC,YAAY,IAAC,KAAK,EAAC,aAAa,YAC/B,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,0CAA0C,aACvD,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,SAAS,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,wBAAe,IAAM,EAC5J,KAAC,YAAY,IAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAI,IACpH,EACN,eAAK,SAAS,EAAC,0CAA0C,aACvD,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,KAAK,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,0BAAiB,IAAM,EAC1J,kBAAQ,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,KAAuC,EAAE,CAAC,EACrJ,SAAS,EAAC,qGAAqG,aAC/G,iBAAQ,KAAK,EAAC,OAAO,sBAAe,EAAA,iBAAQ,KAAK,EAAC,QAAQ,uBAAgB,EAAA,iBAAQ,KAAK,EAAC,SAAS,wBAAiB,IAC3G,IACL,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAM,SAAS,EAAC,2BAA2B,0BAAiB,EAC5D,gBAAM,SAAS,EAAC,2BAA2B,aAAE,YAAY,CAAC,aAAa,SAAS,IAC5E,EACN,eACE,SAAS,EAAC,sCAAsC,EAChD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wCACb,CAAC,CAAC,cAAc,EAAE,CAAA;wCAClB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;wCACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAA;wCAC1E,kBAAkB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;oCAC7C,CAAC,aAED,cAAK,SAAS,EAAC,6CAA6C,YAAC,cAAK,SAAS,EAAC,+BAA+B,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAI,GAAM,EACjM,gBAAO,IAAI,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,EACpE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAChF,SAAS,EAAC,yZAAyZ,GAAG,IACpa,IACF,IACF,GACO,EAGf,KAAC,YAAY,IAAC,KAAK,EAAC,aAAa,YAC/B,eAAK,SAAS,EAAC,WAAW,aACxB,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EACrE,SAAS,EAAC,yJAAyJ,aACnK,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,uBAC7B,EACT,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EACpE,SAAS,EAAC,yJAAyJ,aACnK,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,sBAC7B,IACL,GACO,EAGf,KAAC,YAAY,IACX,KAAK,EAAC,SAAS,EACf,SAAS,EAAC,uBAAuB,EACjC,WAAW,EACT,kBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAC9E,SAAS,EAAC,uEAAuE,aACjF,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,YAC1B,YAGX,cAAK,SAAS,EAAC,wCAAwC,YACpD,YAAY,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5C,cAAK,SAAS,EAAC,4CAA4C,2BAAiB,CAC7E,CAAC,CAAC,CAAC,CACF,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5C,eAAqB,SAAS,EAAC,gFAAgF,aAC7G,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,oCAAoC,YAAE,MAAM,CAAC,IAAI,GAAO,EACvE,eAAK,SAAS,EAAC,0BAA0B,aAAE,MAAM,CAAC,IAAI,SAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,IAAO,IAC7G,EACN,eAAK,SAAS,EAAC,gCAAgC,aAC7C,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,mCAAmC,YAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GAAS,EACnL,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,uEAAuE,YAC/H,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,IACL,KAVE,MAAM,CAAC,EAAE,CAWb,CACP,CAAC,CACH,GACG,GACO,IACX,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/GeneralSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,wBAAgB,cAAc,6BAgE7B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
4
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
5
|
+
import { InputField } from '../shared/InputField';
|
|
6
|
+
export function GeneralSection() {
|
|
7
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
8
|
+
const updateGeneral = useEntitySettingsStore(s => s.updateGeneral);
|
|
9
|
+
if (!settings)
|
|
10
|
+
return null;
|
|
11
|
+
const { general, entityType } = settings;
|
|
12
|
+
const typeLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
|
|
13
|
+
return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_260px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "General Information", className: "flex flex-col", children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(InputField, { label: `${typeLabel} Name`, value: general.name, onChange: (v) => updateGeneral({ name: v }) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Description" }), _jsx("textarea", { value: general.description, onChange: (e) => updateGeneral({ description: e.target.value }), placeholder: `Describe this ${entityType}...`, className: "min-h-[180px] w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded text-white text-[12px] placeholder-white/20 focus:outline-none focus:border-white/[0.15] transition-colors resize-y" })] })] }) }), _jsxs("div", { className: "flex flex-col gap-3 min-h-0", children: [_jsx(SettingsCard, { title: "Identity", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/30 mb-1", children: "Slug" }), _jsx("div", { className: "px-2.5 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[12px] text-white/40 font-mono", children: general.slug })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/30 mb-1", children: "ID" }), _jsx("div", { className: "px-2.5 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/25 font-mono truncate", children: settings.entityId })] })] }) }), _jsx(SettingsCard, { title: "Metadata", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-[10px] text-white/30", children: "Created" }), _jsx("span", { className: "text-[10px] text-white/50", children: new Date(general.createdAt).toLocaleDateString() })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-[10px] text-white/30", children: "Updated" }), _jsx("span", { className: "text-[10px] text-white/50", children: new Date(general.updatedAt).toLocaleDateString() })] })] }) })] })] }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=GeneralSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/GeneralSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1E,OAAO,CACL,eAAK,SAAS,EAAC,sFAAsF,aAEnG,KAAC,YAAY,IAAC,KAAK,EAAC,qBAAqB,EAAC,SAAS,EAAC,eAAe,YACjE,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,UAAU,IACT,KAAK,EAAE,GAAG,SAAS,OAAO,EAC1B,KAAK,EAAE,OAAO,CAAC,IAAI,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAC3C,EACF,eAAK,SAAS,EAAC,eAAe,aAC5B,gBAAO,SAAS,EAAC,sCAAsC,4BAAoB,EAC3E,mBACE,KAAK,EAAE,OAAO,CAAC,WAAW,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAC/D,WAAW,EAAE,iBAAiB,UAAU,KAAK,EAC7C,SAAS,EAAC,iMAAiM,GAC3M,IACE,IACF,GACO,EAGf,eAAK,SAAS,EAAC,6BAA6B,aAC1C,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,YAC5B,eAAK,SAAS,EAAC,aAAa,aAC1B,0BACE,gBAAO,SAAS,EAAC,sCAAsC,qBAAa,EACpE,cAAK,SAAS,EAAC,gGAAgG,YAC5G,OAAO,CAAC,IAAI,GACT,IACF,EACN,0BACE,gBAAO,SAAS,EAAC,sCAAsC,mBAAW,EAClE,cAAK,SAAS,EAAC,yGAAyG,YACrH,QAAQ,CAAC,QAAQ,GACd,IACF,IACF,GACO,EAEf,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,YAC5B,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2BAA2B,wBAAe,EAC1D,eAAM,SAAS,EAAC,2BAA2B,YAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,GAAQ,IACjG,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2BAA2B,wBAAe,EAC1D,eAAM,SAAS,EAAC,2BAA2B,YAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,GAAQ,IACjG,IACF,GACO,IACX,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegrationsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/IntegrationsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,wBAAgB,mBAAmB,6BAgJlC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { Plus, Trash2, Key, Webhook } from 'lucide-react';
|
|
4
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
5
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
6
|
+
import { ToggleSwitch } from '../shared/ToggleSwitch';
|
|
7
|
+
import { AcpAgentManager } from '../../acp/AcpAgentManager';
|
|
8
|
+
export function IntegrationsSection() {
|
|
9
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
10
|
+
const toggleIntegration = useEntitySettingsStore(s => s.toggleIntegration);
|
|
11
|
+
const addApiKey = useEntitySettingsStore(s => s.addApiKey);
|
|
12
|
+
const removeApiKey = useEntitySettingsStore(s => s.removeApiKey);
|
|
13
|
+
const addWebhook = useEntitySettingsStore(s => s.addWebhook);
|
|
14
|
+
const removeWebhook = useEntitySettingsStore(s => s.removeWebhook);
|
|
15
|
+
const toggleWebhook = useEntitySettingsStore(s => s.toggleWebhook);
|
|
16
|
+
const [showAddKey, setShowAddKey] = useState(false);
|
|
17
|
+
const [newKeyName, setNewKeyName] = useState('');
|
|
18
|
+
const [showAddWebhook, setShowAddWebhook] = useState(false);
|
|
19
|
+
const [newWebhookUrl, setNewWebhookUrl] = useState('');
|
|
20
|
+
if (!settings)
|
|
21
|
+
return null;
|
|
22
|
+
const { integrations } = settings;
|
|
23
|
+
const iconMap = { github: 'GH', slack: 'SL', discord: 'DC', webhook: 'WH' };
|
|
24
|
+
const handleAddKey = () => {
|
|
25
|
+
if (!newKeyName.trim())
|
|
26
|
+
return;
|
|
27
|
+
addApiKey({ name: newKeyName, prefix: `xk_${Math.random().toString(36).substr(2, 8)}`, expiresAt: undefined });
|
|
28
|
+
setNewKeyName('');
|
|
29
|
+
setShowAddKey(false);
|
|
30
|
+
};
|
|
31
|
+
const handleAddWebhook = () => {
|
|
32
|
+
if (!newWebhookUrl.trim())
|
|
33
|
+
return;
|
|
34
|
+
addWebhook({ url: newWebhookUrl, events: ['agent.completed'], enabled: true, secret: `whsec_${Math.random().toString(36).substr(2, 8)}` });
|
|
35
|
+
setNewWebhookUrl('');
|
|
36
|
+
setShowAddWebhook(false);
|
|
37
|
+
};
|
|
38
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col gap-3 overflow-hidden", children: [_jsx("section", { className: "min-h-0 flex-1 overflow-hidden", children: _jsx(AcpAgentManager, {}) }), _jsxs("details", { className: "max-h-[42vh] flex-shrink-0 overflow-y-auto rounded border border-[#27272a] bg-[#18181b]", children: [_jsx("summary", { className: "cursor-pointer select-none px-3 py-2 text-[10px] uppercase tracking-[0.14em] text-white/45 hover:text-white/65", children: "Other integrations" }), _jsxs("div", { className: "grid grid-cols-1 gap-4 border-t border-[#27272a] p-3 xl:grid-cols-3", children: [_jsx(SettingsCard, { title: "Services", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: integrations.integrations.map((integration) => (_jsxs("div", { className: "flex items-center justify-between py-2 px-2 rounded hover:bg-[#1E1E1E]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-7 h-7 rounded bg-[#222224] flex items-center justify-center text-[9px] text-white/50 font-bold", children: iconMap[integration.type] || '??' }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/80", children: integration.name }), _jsx("div", { className: "text-[9px] text-white/30", children: integration.status === 'connected' ? 'Connected' : 'Not connected' })] })] }), _jsx(ToggleSwitch, { enabled: integration.enabled, onChange: () => toggleIntegration(integration.id) })] }, integration.id))) }) }), _jsx(SettingsCard, { title: "API Keys", className: "flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddKey(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddKey && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newKeyName, onChange: (e) => setNewKeyName(e.target.value), placeholder: "Key name...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsx("button", { onClick: handleAddKey, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddKey(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), integrations.apiKeys.map((key) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx(Key, { className: "w-3 h-3 text-white/30 flex-shrink-0" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/70 truncate", children: key.name }), _jsx("div", { className: "text-[9px] text-white/25 font-mono", children: key.prefix })] })] }), _jsx("button", { onClick: () => removeApiKey(key.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] }, key.id)))] }) }), _jsx(SettingsCard, { title: "Webhooks", className: "flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddWebhook(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddWebhook && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "url", value: newWebhookUrl, onChange: (e) => setNewWebhookUrl(e.target.value), placeholder: "https://...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsx("button", { onClick: handleAddWebhook, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddWebhook(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), integrations.webhookEndpoints.map((wh) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx(Webhook, { className: "w-3 h-3 text-white/30 flex-shrink-0" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/60 font-mono truncate", children: wh.url }), _jsx("div", { className: "text-[9px] text-white/25", children: wh.events.join(', ') })] })] }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(ToggleSwitch, { enabled: wh.enabled, onChange: () => toggleWebhook(wh.id) }), _jsx("button", { onClick: () => removeWebhook(wh.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, wh.id)))] }) })] })] })] }));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=IntegrationsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntegrationsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/IntegrationsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/NotificationsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,wBAAgB,oBAAoB,6BAqGnC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { Mail, MessageSquare, Bell, Webhook, Plus, Trash2 } from 'lucide-react';
|
|
4
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
5
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
6
|
+
import { ToggleSwitch } from '../shared/ToggleSwitch';
|
|
7
|
+
export function NotificationsSection() {
|
|
8
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
9
|
+
const updateNotifications = useEntitySettingsStore(s => s.updateNotifications);
|
|
10
|
+
const addNotificationRule = useEntitySettingsStore(s => s.addNotificationRule);
|
|
11
|
+
const updateNotificationRule = useEntitySettingsStore(s => s.updateNotificationRule);
|
|
12
|
+
const deleteNotificationRule = useEntitySettingsStore(s => s.deleteNotificationRule);
|
|
13
|
+
const [showAddRule, setShowAddRule] = useState(false);
|
|
14
|
+
const [newEvent, setNewEvent] = useState('');
|
|
15
|
+
const [newChannel, setNewChannel] = useState('email');
|
|
16
|
+
if (!settings)
|
|
17
|
+
return null;
|
|
18
|
+
const { notifications } = settings;
|
|
19
|
+
const handleAddRule = () => {
|
|
20
|
+
if (!newEvent.trim())
|
|
21
|
+
return;
|
|
22
|
+
addNotificationRule({ event: newEvent, channel: newChannel, enabled: true, description: '' });
|
|
23
|
+
setNewEvent('');
|
|
24
|
+
setShowAddRule(false);
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[240px_minmax(0,1fr)_200px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Channels", children: _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Mail, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Email" })] }), _jsx(ToggleSwitch, { enabled: notifications.emailEnabled, onChange: (v) => updateNotifications({ emailEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MessageSquare, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Slack" })] }), _jsx(ToggleSwitch, { enabled: notifications.slackEnabled, onChange: (v) => updateNotifications({ slackEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Bell, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Discord" })] }), _jsx(ToggleSwitch, { enabled: notifications.discordEnabled, onChange: (v) => updateNotifications({ discordEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Webhook, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Webhook" })] }), _jsx(ToggleSwitch, { enabled: notifications.webhookEnabled, onChange: (v) => updateNotifications({ webhookEnabled: v }) })] })] }) }), _jsx(SettingsCard, { title: "Rules", className: "flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => setShowAddRule(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: [_jsx(Plus, { className: "w-3 h-3" }), " Add"] }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddRule && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newEvent, onChange: (e) => setNewEvent(e.target.value), placeholder: "Event...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsxs("select", { value: newChannel, onChange: (e) => setNewChannel(e.target.value), className: "px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/60 focus:outline-none", children: [_jsx("option", { value: "email", children: "Email" }), _jsx("option", { value: "slack", children: "Slack" }), _jsx("option", { value: "discord", children: "Discord" }), _jsx("option", { value: "webhook", children: "Webhook" })] }), _jsx("button", { onClick: handleAddRule, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddRule(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), notifications.rules.map((rule) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [_jsx(ToggleSwitch, { enabled: rule.enabled, onChange: (v) => updateNotificationRule(rule.id, { enabled: v }) }), _jsx("span", { className: "text-[11px] text-white/70 truncate", children: rule.event })] }), _jsxs("div", { className: "flex items-center gap-2 ml-2", children: [_jsx("span", { className: "text-[9px] text-white/30 uppercase px-1.5 py-0.5 bg-[#1E1E1E] rounded", children: rule.channel }), _jsx("button", { onClick: () => deleteNotificationRule(rule.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, rule.id)))] }) }), _jsx(SettingsCard, { title: "Digest", children: _jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/40 mb-1.5", children: "Frequency" }), _jsxs("select", { value: notifications.digestFrequency, onChange: (e) => updateNotifications({ digestFrequency: e.target.value }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-[12px] text-white focus:outline-none", children: [_jsx("option", { value: "realtime", children: "Real-time" }), _jsx("option", { value: "hourly", children: "Hourly" }), _jsx("option", { value: "daily", children: "Daily" }), _jsx("option", { value: "weekly", children: "Weekly" })] })] }) })] }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=NotificationsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/NotificationsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceLimitsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ResourceLimitsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,wBAAgB,qBAAqB,6BA6DpC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
4
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
5
|
+
export function ResourceLimitsSection() {
|
|
6
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
7
|
+
const updateResourceLimits = useEntitySettingsStore(s => s.updateResourceLimits);
|
|
8
|
+
if (!settings)
|
|
9
|
+
return null;
|
|
10
|
+
const { resourceLimits } = settings;
|
|
11
|
+
return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_320px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Quotas", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-4", children: resourceLimits.quotas.map((quota, i) => {
|
|
12
|
+
const pct = Math.min(100, (quota.current / quota.limit) * 100);
|
|
13
|
+
const isWarning = pct > 80;
|
|
14
|
+
return (_jsxs("div", { children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "text-[12px] text-white/70", children: quota.label }), _jsxs("span", { className: "text-[11px] text-white/40", children: [quota.current.toLocaleString(), " / ", quota.limit.toLocaleString(), " ", quota.unit] })] }), _jsx("div", { className: "h-1.5 bg-[#222224] rounded-sm overflow-hidden", children: _jsx("div", { className: `h-full rounded-sm transition-all ${isWarning ? 'bg-amber-400/60' : 'bg-white/30'}`, style: { width: `${pct}%` } }) }), _jsxs("div", { className: "text-[10px] text-white/25 mt-0.5", children: [pct.toFixed(0), "% used"] })] }, i));
|
|
15
|
+
}) }) }), _jsx(SettingsCard, { title: "Rate Limits", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Requests per minute" }), _jsx("input", { type: "number", value: resourceLimits.rateLimitRpm, onChange: (e) => updateResourceLimits({ rateLimitRpm: parseInt(e.target.value) || 0 }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-white text-[13px] focus:outline-none focus:border-white/[0.15] transition-colors" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Tokens per day" }), _jsx("input", { type: "number", value: resourceLimits.rateLimitTpd, onChange: (e) => updateResourceLimits({ rateLimitTpd: parseInt(e.target.value) || 0 }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-white text-[13px] focus:outline-none focus:border-white/[0.15] transition-colors" })] })] }) })] }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ResourceLimitsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceLimitsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ResourceLimitsSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAChF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAA;IAEnC,OAAO,CACL,eAAK,SAAS,EAAC,sFAAsF,aAEnG,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,uBAAuB,YAC5D,cAAK,SAAS,EAAC,wCAAwC,YACpD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;wBAC9D,MAAM,SAAS,GAAG,GAAG,GAAG,EAAE,CAAA;wBAC1B,OAAO,CACL,0BACE,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,CAAC,KAAK,GAAQ,EAChE,gBAAM,SAAS,EAAC,2BAA2B,aACxC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,SAAK,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,OAAG,KAAK,CAAC,IAAI,IACxE,IACH,EACN,cAAK,SAAS,EAAC,+CAA+C,YAC5D,cACE,SAAS,EAAE,oCAAoC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,EAC9F,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAC3B,GACE,EACN,eAAK,SAAS,EAAC,kCAAkC,aAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAa,KAbtE,CAAC,CAcL,CACP,CAAA;oBACH,CAAC,CAAC,GACE,GACO,EAGf,KAAC,YAAY,IAAC,KAAK,EAAC,aAAa,YAC/B,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,gBAAO,SAAS,EAAC,sCAAsC,oCAA4B,EACnF,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,cAAc,CAAC,YAAY,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACtF,SAAS,EAAC,wJAAwJ,GAClK,IACE,EACN,0BACE,gBAAO,SAAS,EAAC,sCAAsC,+BAAuB,EAC9E,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,cAAc,CAAC,YAAY,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACtF,SAAS,EAAC,wJAAwJ,GAClK,IACE,IACF,GACO,IACX,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityComplianceSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/SecurityComplianceSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,wBAAgB,yBAAyB,6BA2GxC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { Shield, Key, Clock, Plus, X } from 'lucide-react';
|
|
4
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
5
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
6
|
+
import { ToggleSwitch } from '../shared/ToggleSwitch';
|
|
7
|
+
import { AgentPermissionRulesPanel } from './AgentPermissionRulesPanel';
|
|
8
|
+
export function SecurityComplianceSection() {
|
|
9
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
10
|
+
const updateSecurity = useEntitySettingsStore(s => s.updateSecurity);
|
|
11
|
+
const [newIp, setNewIp] = useState('');
|
|
12
|
+
const [showAddIp, setShowAddIp] = useState(false);
|
|
13
|
+
if (!settings)
|
|
14
|
+
return null;
|
|
15
|
+
const { security } = settings;
|
|
16
|
+
const handleAddIp = () => {
|
|
17
|
+
if (!newIp.trim())
|
|
18
|
+
return;
|
|
19
|
+
updateSecurity({ ipAllowlist: [...security.ipAllowlist, newIp.trim()] });
|
|
20
|
+
setNewIp('');
|
|
21
|
+
setShowAddIp(false);
|
|
22
|
+
};
|
|
23
|
+
const handleRemoveIp = (ip) => {
|
|
24
|
+
updateSecurity({ ipAllowlist: security.ipAllowlist.filter(i => i !== ip) });
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[300px_minmax(0,1fr)] gap-4 items-start", children: [_jsxs("div", { className: "flex flex-col gap-4 min-h-0", children: [_jsx(SettingsCard, { title: "Security Settings", children: _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Shield, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "Require 2FA" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Require verified account protection" })] })] }), _jsx(ToggleSwitch, { enabled: security.require2FA, onChange: (v) => updateSecurity({ require2FA: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Key, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "API Key Auth" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Enforce for requests" })] })] }), _jsx(ToggleSwitch, { enabled: security.requireApiKeyAuth, onChange: (v) => updateSecurity({ requireApiKeyAuth: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "Session Timeout" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Minutes" })] })] }), _jsx("input", { type: "number", value: security.sessionTimeout, onChange: (e) => updateSecurity({ sessionTimeout: parseInt(e.target.value) || 0 }), className: "w-16 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white text-right focus:outline-none" })] })] }) }), _jsx(SettingsCard, { title: "IP Allowlist", className: "flex-1 flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddIp(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddIp && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newIp, onChange: (e) => setNewIp(e.target.value), placeholder: "192.168.1.0/24", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white font-mono focus:outline-none" }), _jsx("button", { onClick: handleAddIp, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded", children: "Add" }), _jsx("button", { onClick: () => setShowAddIp(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), security.ipAllowlist.length === 0 ? (_jsx("div", { className: "text-center py-3 text-[10px] text-white/30", children: "All IPs allowed" })) : (security.ipAllowlist.map((ip, i) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsx("span", { className: "text-[11px] text-white/60 font-mono", children: ip }), _jsx("button", { onClick: () => handleRemoveIp(ip), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(X, { className: "w-3 h-3" }) })] }, i))))] }) })] }), _jsx(SettingsCard, { title: "Audit Log", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto", children: _jsxs("div", { className: "min-w-[560px]", children: [_jsxs("div", { className: "grid grid-cols-[1fr,80px,80px,1fr] gap-2 px-3 py-1.5 text-[9px] text-white/25 uppercase tracking-wider border-b border-white/[0.05]", children: [_jsx("span", { children: "Action" }), _jsx("span", { children: "Actor" }), _jsx("span", { children: "Target" }), _jsx("span", { children: "Details" })] }), security.auditLog.length > 0 ? (security.auditLog.map((entry) => (_jsxs("div", { className: "grid grid-cols-[1fr,80px,80px,1fr] gap-2 px-3 py-1.5 rounded hover:bg-[#1E1E1E] text-[10px]", children: [_jsx("span", { className: "text-white/60 truncate", children: entry.action }), _jsx("span", { className: "text-white/40 truncate", children: entry.actor }), _jsx("span", { className: "text-white/40 truncate", children: entry.target }), _jsx("span", { className: "text-white/30 truncate", children: entry.details })] }, entry.id)))) : (_jsxs("div", { className: "text-center py-8", children: [_jsx(Shield, { className: "w-6 h-6 text-white/10 mx-auto mb-2" }), _jsx("p", { className: "text-[10px] text-white/25", children: "No audit entries yet" }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Actions will be recorded as you use the workspace" })] }))] }) }) }), _jsx(SettingsCard, { title: "Remembered Agent Permissions", children: _jsx(AgentPermissionRulesPanel, {}) })] }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=SecurityComplianceSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityComplianceSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/SecurityComplianceSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsageAnalyticsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/UsageAnalyticsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,wBAAgB,qBAAqB,6BAuGpC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { BarChart3 } from 'lucide-react';
|
|
4
|
+
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
|
|
5
|
+
import { SettingsCard } from '../shared/SettingsCard';
|
|
6
|
+
import { UsageChart } from '../shared/UsageChart';
|
|
7
|
+
export function UsageAnalyticsSection() {
|
|
8
|
+
const settings = useEntitySettingsStore(s => s.settings);
|
|
9
|
+
const [period, setPeriod] = useState('daily');
|
|
10
|
+
if (!settings)
|
|
11
|
+
return null;
|
|
12
|
+
const { usage } = settings;
|
|
13
|
+
const chartData = period === 'daily' ? usage.dailyUsage : period === 'weekly' ? usage.weeklyUsage : usage.monthlyUsage;
|
|
14
|
+
const hasData = usage.totalTokens > 0 || usage.totalRequests > 0;
|
|
15
|
+
return (_jsxs("div", { className: "h-full min-h-0 flex flex-col gap-4", children: [_jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3", children: [_jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? `${(usage.totalTokens / 1000).toFixed(0)}k` : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Tokens" })] }), _jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? `$${usage.totalCost.toFixed(2)}` : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Cost" })] }), _jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? usage.totalRequests.toLocaleString() : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Requests" })] })] }), _jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_280px] gap-4 items-start flex-1 min-h-0", children: [_jsx(SettingsCard, { title: "Token Usage", className: "flex flex-col min-h-0", headerRight: _jsx("div", { className: "flex gap-1", children: ['daily', 'weekly', 'monthly'].map((p) => (_jsx("button", { onClick: () => setPeriod(p), className: `px-2 py-0.5 rounded text-[10px] transition-colors ${period === p ? 'bg-[#2a2a2d] text-white/70' : 'text-white/30 hover:text-white/50'}`, children: p.charAt(0).toUpperCase() + p.slice(1) }, p))) }), children: _jsx("div", { className: "flex-1 min-h-0 flex items-center justify-center", children: chartData.length > 0 ? (_jsx(UsageChart, { data: chartData, height: 200 })) : (_jsxs("div", { className: "text-center py-8", children: [_jsx(BarChart3, { className: "w-8 h-8 text-white/10 mx-auto mb-2" }), _jsx("p", { className: "text-[11px] text-white/25", children: "No usage data yet" }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Send messages using cloud models to see usage analytics" })] })) }) }), _jsxs("div", { className: "flex flex-col gap-4 min-h-0", children: [_jsx(SettingsCard, { title: "Cost by Model", className: "flex-1 flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1.5", children: usage.costByModel.length > 0 ? (usage.costByModel.map((item, i) => (_jsxs("div", { className: "flex items-center justify-between py-1 px-2 rounded bg-[#161618]", children: [_jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: item.model }), _jsxs("div", { className: "text-[9px] text-white/30", children: [(item.tokens / 1000).toFixed(0), "k tokens"] })] }), _jsxs("div", { className: "text-[12px] font-medium text-white/80", children: ["$", item.cost.toFixed(2)] })] }, i)))) : (_jsx("div", { className: "text-center py-4 text-[10px] text-white/20", children: "No model usage recorded" })) }) }), _jsx(SettingsCard, { title: "Top Agents", className: "flex-1 flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1.5", children: usage.topAgents.length > 0 ? (usage.topAgents.map((agent, i) => (_jsxs("div", { className: "flex items-center justify-between py-1 px-2 rounded bg-[#161618]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-5 h-5 rounded bg-[#222224] flex items-center justify-center text-[9px] text-white/40 font-medium", children: i + 1 }), _jsx("span", { className: "text-[11px] text-white/70", children: agent.name })] }), _jsxs("span", { className: "text-[11px] text-white/50", children: ["$", agent.cost.toFixed(2)] })] }, i)))) : (_jsx("div", { className: "text-center py-4 text-[10px] text-white/20", children: "No agent usage recorded" })) }) })] })] })] }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=UsageAnalyticsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsageAnalyticsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/UsageAnalyticsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { EntityType } from '../../../../stores/entitySettingsStore';
|
|
3
|
+
import type { AgentPermissionProfileName, TeamAgentCallPolicy } from '../../../../stores/workspaceStore';
|
|
4
|
+
import type { HubAgentRuntimeSelection } from '../../../../types/agentRuntimeProvider';
|
|
5
|
+
interface WorkspaceDirectoryAccessSectionProps {
|
|
6
|
+
entityType: EntityType;
|
|
7
|
+
entityId?: string;
|
|
8
|
+
workspaceId?: string;
|
|
9
|
+
teamId?: string;
|
|
10
|
+
workspaceDirectories: string[];
|
|
11
|
+
workspaceApps: Array<{
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
path: string;
|
|
15
|
+
defaultArgs?: string[];
|
|
16
|
+
}>;
|
|
17
|
+
currentDirectories: string[];
|
|
18
|
+
parentDirectories?: string[];
|
|
19
|
+
currentAppIds?: string[];
|
|
20
|
+
parentAppIds?: string[];
|
|
21
|
+
teamAgentPolicy?: TeamAgentCallPolicy;
|
|
22
|
+
teamAgents?: Array<{
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
templateName?: string;
|
|
26
|
+
isMainAssistant?: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
onAddWorkspaceDirectory?: () => void | Promise<void>;
|
|
29
|
+
onRemoveWorkspaceDirectory?: (directory: string) => void;
|
|
30
|
+
onAddWorkspaceApp?: () => void | Promise<void>;
|
|
31
|
+
onRemoveWorkspaceApp?: (appId: string) => void;
|
|
32
|
+
onSetCurrentDirectories?: (directories: string[]) => void;
|
|
33
|
+
onSetCurrentAppIds?: (appIds: string[]) => void;
|
|
34
|
+
onSetTeamAgentPolicy?: (policy: TeamAgentCallPolicy) => void;
|
|
35
|
+
agentCapabilities?: {
|
|
36
|
+
terminal: boolean;
|
|
37
|
+
fileRead: boolean;
|
|
38
|
+
fileWrite: boolean;
|
|
39
|
+
appLaunch: boolean;
|
|
40
|
+
};
|
|
41
|
+
onSetAgentCapabilities?: (capabilities: {
|
|
42
|
+
terminal: boolean;
|
|
43
|
+
fileRead: boolean;
|
|
44
|
+
fileWrite: boolean;
|
|
45
|
+
appLaunch: boolean;
|
|
46
|
+
}) => void;
|
|
47
|
+
agentPermissionProfile?: AgentPermissionProfileName;
|
|
48
|
+
onSetAgentPermissionProfile?: (profile: AgentPermissionProfileName) => void;
|
|
49
|
+
agentRuntimeSelection?: HubAgentRuntimeSelection;
|
|
50
|
+
onSetAgentRuntimeSelection?: (selection: HubAgentRuntimeSelection) => void;
|
|
51
|
+
}
|
|
52
|
+
export declare function WorkspaceDirectoryAccessSection({ entityType, entityId, workspaceId, teamId, workspaceDirectories, workspaceApps, currentDirectories, parentDirectories, currentAppIds, parentAppIds, teamAgentPolicy, teamAgents, onAddWorkspaceDirectory, onRemoveWorkspaceDirectory, onAddWorkspaceApp, onRemoveWorkspaceApp, onSetCurrentDirectories, onSetCurrentAppIds, onSetTeamAgentPolicy, agentCapabilities, onSetAgentCapabilities, agentPermissionProfile, onSetAgentPermissionProfile, agentRuntimeSelection, onSetAgentRuntimeSelection }: WorkspaceDirectoryAccessSectionProps): React.JSX.Element;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=WorkspaceDirectoryAccessSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceDirectoryAccessSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/WorkspaceDirectoryAccessSection.tsx"],"names":[],"mappings":"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"}
|