@xenosystem/agent-interface-ui 0.1.25 → 0.1.27
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/adapters/agentHostPlatformBridge.d.ts.map +1 -1
- package/dist/adapters/agentHostPlatformBridge.js +96 -16
- package/dist/adapters/agentHostPlatformBridge.js.map +1 -1
- package/dist/adapters/hubAgentPlatformBridge.d.ts.map +1 -1
- package/dist/adapters/hubAgentPlatformBridge.js +2 -0
- package/dist/adapters/hubAgentPlatformBridge.js.map +1 -1
- package/dist/adapters/scopedBackupBridge.d.ts +4 -0
- package/dist/adapters/scopedBackupBridge.d.ts.map +1 -0
- package/dist/adapters/scopedBackupBridge.js +49 -0
- package/dist/adapters/scopedBackupBridge.js.map +1 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +1 -1
- package/dist/adapters/xenoAgentCompatibilityBridge.js +9 -1
- package/dist/adapters/xenoAgentCompatibilityBridge.js.map +1 -1
- package/dist/agent.css +13227 -0
- package/dist/components/agent/AgentIdentityGenerator.d.ts +16 -0
- package/dist/components/agent/AgentIdentityGenerator.d.ts.map +1 -0
- package/dist/components/agent/AgentIdentityGenerator.js +80 -0
- package/dist/components/agent/AgentIdentityGenerator.js.map +1 -0
- package/dist/components/agent/AgentInterface.d.ts +1 -0
- package/dist/components/agent/AgentInterface.d.ts.map +1 -1
- package/dist/components/agent/AgentInterface.js +1816 -643
- package/dist/components/agent/AgentInterface.js.map +1 -1
- package/dist/components/agent/AgentNotificationBanner.d.ts +10 -0
- package/dist/components/agent/AgentNotificationBanner.d.ts.map +1 -0
- package/dist/components/agent/AgentNotificationBanner.js +28 -0
- package/dist/components/agent/AgentNotificationBanner.js.map +1 -0
- package/dist/components/agent/AgentOnboarding.d.ts +16 -2
- package/dist/components/agent/AgentOnboarding.d.ts.map +1 -1
- package/dist/components/agent/AgentOnboarding.js +93 -201
- package/dist/components/agent/AgentOnboarding.js.map +1 -1
- package/dist/components/agent/AgentView.d.ts.map +1 -1
- package/dist/components/agent/AgentView.js +533 -308
- package/dist/components/agent/AgentView.js.map +1 -1
- package/dist/components/agent/AgentWorkbenchPanel.d.ts +3 -1
- package/dist/components/agent/AgentWorkbenchPanel.d.ts.map +1 -1
- package/dist/components/agent/AgentWorkbenchPanel.js +3 -2
- package/dist/components/agent/AgentWorkbenchPanel.js.map +1 -1
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts +4 -1
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts.map +1 -1
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js +23 -195
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js.map +1 -1
- package/dist/components/agent/AgentsWorkspaceView.d.ts +12 -0
- package/dist/components/agent/AgentsWorkspaceView.d.ts.map +1 -0
- package/dist/components/agent/AgentsWorkspaceView.js +129 -0
- package/dist/components/agent/AgentsWorkspaceView.js.map +1 -0
- package/dist/components/agent/DevelopmentCoordinationPanel.d.ts +7 -0
- package/dist/components/agent/DevelopmentCoordinationPanel.d.ts.map +1 -1
- package/dist/components/agent/DevelopmentCoordinationPanel.js +57 -49
- package/dist/components/agent/DevelopmentCoordinationPanel.js.map +1 -1
- package/dist/components/agent/KnowledgePanel.d.ts.map +1 -1
- package/dist/components/agent/KnowledgePanel.js +17 -67
- package/dist/components/agent/KnowledgePanel.js.map +1 -1
- package/dist/components/agent/LiveConversationCollaboration.d.ts +27 -0
- package/dist/components/agent/LiveConversationCollaboration.d.ts.map +1 -0
- package/dist/components/agent/LiveConversationCollaboration.js +127 -0
- package/dist/components/agent/LiveConversationCollaboration.js.map +1 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts.map +1 -1
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js +1 -1
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js.map +1 -1
- package/dist/components/agent/MonacoWorkbenchEditor.d.ts.map +1 -1
- package/dist/components/agent/MonacoWorkbenchEditor.js +3 -3
- package/dist/components/agent/MonacoWorkbenchEditor.js.map +1 -1
- package/dist/components/agent/OwnedBrowserController.d.ts +55 -0
- package/dist/components/agent/OwnedBrowserController.d.ts.map +1 -0
- package/dist/components/agent/OwnedBrowserController.js +166 -0
- package/dist/components/agent/OwnedBrowserController.js.map +1 -0
- package/dist/components/agent/OwnedWorkforceView.d.ts +10 -0
- package/dist/components/agent/OwnedWorkforceView.d.ts.map +1 -0
- package/dist/components/agent/OwnedWorkforceView.js +256 -0
- package/dist/components/agent/OwnedWorkforceView.js.map +1 -0
- package/dist/components/agent/PluginManager.d.ts +34 -0
- package/dist/components/agent/PluginManager.d.ts.map +1 -1
- package/dist/components/agent/PluginManager.js +187 -126
- package/dist/components/agent/PluginManager.js.map +1 -1
- package/dist/components/agent/ProjectsWorkspaceView.d.ts +14 -0
- package/dist/components/agent/ProjectsWorkspaceView.d.ts.map +1 -0
- package/dist/components/agent/ProjectsWorkspaceView.js +176 -0
- package/dist/components/agent/ProjectsWorkspaceView.js.map +1 -0
- package/dist/components/agent/RunReviewPanel.d.ts +8 -13
- package/dist/components/agent/RunReviewPanel.d.ts.map +1 -1
- package/dist/components/agent/RunReviewPanel.js +120 -106
- package/dist/components/agent/RunReviewPanel.js.map +1 -1
- package/dist/components/agent/ScheduledWorkspaceView.d.ts +19 -0
- package/dist/components/agent/ScheduledWorkspaceView.d.ts.map +1 -0
- package/dist/components/agent/ScheduledWorkspaceView.js +150 -0
- package/dist/components/agent/ScheduledWorkspaceView.js.map +1 -0
- package/dist/components/agent/SdkSessionPanel.d.ts +25 -0
- package/dist/components/agent/SdkSessionPanel.d.ts.map +1 -0
- package/dist/components/agent/SdkSessionPanel.js +15 -0
- package/dist/components/agent/SdkSessionPanel.js.map +1 -0
- package/dist/components/agent/SlashCommandAutocomplete.d.ts +12 -0
- package/dist/components/agent/SlashCommandAutocomplete.d.ts.map +1 -0
- package/dist/components/agent/SlashCommandAutocomplete.js +33 -0
- package/dist/components/agent/SlashCommandAutocomplete.js.map +1 -0
- package/dist/components/agent/TeamsWorkspaceView.d.ts +12 -0
- package/dist/components/agent/TeamsWorkspaceView.d.ts.map +1 -0
- package/dist/components/agent/TeamsWorkspaceView.js +127 -0
- package/dist/components/agent/TeamsWorkspaceView.js.map +1 -0
- package/dist/components/agent/WorkspacePersistenceNotice.d.ts +3 -0
- package/dist/components/agent/WorkspacePersistenceNotice.d.ts.map +1 -0
- package/dist/components/agent/WorkspacePersistenceNotice.js +23 -0
- package/dist/components/agent/WorkspacePersistenceNotice.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts.map +1 -1
- package/dist/components/agent/acp/AcpAgentConfigForm.js +47 -14
- package/dist/components/agent/acp/AcpAgentConfigForm.js.map +1 -1
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js +1 -1
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpAgentManager.d.ts.map +1 -1
- package/dist/components/agent/acp/AcpAgentManager.js +18 -18
- package/dist/components/agent/acp/AcpAgentManager.js.map +1 -1
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js +1 -1
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpApprovalPanel.js +2 -2
- package/dist/components/agent/acp/AcpApprovalPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpCertificationPanel.js +1 -1
- package/dist/components/agent/acp/AcpCertificationPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js +1 -1
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpProviderManagerPanel.js +1 -1
- package/dist/components/agent/acp/AcpProviderManagerPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpProviderModelsPanel.js +1 -1
- package/dist/components/agent/acp/AcpProviderModelsPanel.js.map +1 -1
- package/dist/components/agent/acp/AcpSupportBundlePanel.js +1 -1
- package/dist/components/agent/acp/AcpSupportBundlePanel.js.map +1 -1
- package/dist/components/agent/collaborationWindow.d.ts +11 -0
- package/dist/components/agent/collaborationWindow.d.ts.map +1 -0
- package/dist/components/agent/collaborationWindow.js +10 -0
- package/dist/components/agent/collaborationWindow.js.map +1 -0
- package/dist/components/agent/conversationCollaborationAppendJournal.d.ts +25 -0
- package/dist/components/agent/conversationCollaborationAppendJournal.d.ts.map +1 -0
- package/dist/components/agent/conversationCollaborationAppendJournal.js +118 -0
- package/dist/components/agent/conversationCollaborationAppendJournal.js.map +1 -0
- package/dist/components/agent/conversationCollaborationController.d.ts +96 -0
- package/dist/components/agent/conversationCollaborationController.d.ts.map +1 -0
- package/dist/components/agent/conversationCollaborationController.js +597 -0
- package/dist/components/agent/conversationCollaborationController.js.map +1 -0
- package/dist/components/agent/destructiveConfirmation.d.ts +76 -0
- package/dist/components/agent/destructiveConfirmation.d.ts.map +1 -0
- package/dist/components/agent/destructiveConfirmation.js +231 -0
- package/dist/components/agent/destructiveConfirmation.js.map +1 -0
- package/dist/components/agent/developmentCoordinationController.d.ts +43 -0
- package/dist/components/agent/developmentCoordinationController.d.ts.map +1 -0
- package/dist/components/agent/developmentCoordinationController.js +94 -0
- package/dist/components/agent/developmentCoordinationController.js.map +1 -0
- package/dist/components/agent/developmentCoordinationProjection.d.ts +24 -0
- package/dist/components/agent/developmentCoordinationProjection.d.ts.map +1 -1
- package/dist/components/agent/developmentCoordinationProjection.js +34 -5
- package/dist/components/agent/developmentCoordinationProjection.js.map +1 -1
- package/dist/components/agent/editorOperationAuthority.d.ts +29 -0
- package/dist/components/agent/editorOperationAuthority.d.ts.map +1 -0
- package/dist/components/agent/editorOperationAuthority.js +73 -0
- package/dist/components/agent/editorOperationAuthority.js.map +1 -0
- package/dist/components/agent/knowledgePagination.d.ts +7 -0
- package/dist/components/agent/knowledgePagination.d.ts.map +1 -0
- package/dist/components/agent/knowledgePagination.js +7 -0
- package/dist/components/agent/knowledgePagination.js.map +1 -0
- package/dist/components/agent/knowledgePanelController.d.ts +32 -0
- package/dist/components/agent/knowledgePanelController.d.ts.map +1 -0
- package/dist/components/agent/knowledgePanelController.js +119 -0
- package/dist/components/agent/knowledgePanelController.js.map +1 -0
- package/dist/components/agent/monacoWorkbenchShared.js +1 -1
- package/dist/components/agent/onboardingModels.d.ts +31 -0
- package/dist/components/agent/onboardingModels.d.ts.map +1 -0
- package/dist/components/agent/onboardingModels.js +107 -0
- package/dist/components/agent/onboardingModels.js.map +1 -0
- package/dist/components/agent/personalConversationScope.d.ts +26 -0
- package/dist/components/agent/personalConversationScope.d.ts.map +1 -0
- package/dist/components/agent/personalConversationScope.js +43 -0
- package/dist/components/agent/personalConversationScope.js.map +1 -0
- package/dist/components/agent/reviewRequestScope.d.ts +16 -0
- package/dist/components/agent/reviewRequestScope.d.ts.map +1 -0
- package/dist/components/agent/reviewRequestScope.js +101 -0
- package/dist/components/agent/reviewRequestScope.js.map +1 -0
- package/dist/components/agent/scheduleCreationAttempt.d.ts +12 -0
- package/dist/components/agent/scheduleCreationAttempt.d.ts.map +1 -0
- package/dist/components/agent/scheduleCreationAttempt.js +30 -0
- package/dist/components/agent/scheduleCreationAttempt.js.map +1 -0
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts +1 -1
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts.map +1 -1
- package/dist/components/agent/settings/EntitySettingsLayout.js +64 -44
- package/dist/components/agent/settings/EntitySettingsLayout.js.map +1 -1
- package/dist/components/agent/settings/SettingsNavigation.d.ts.map +1 -1
- package/dist/components/agent/settings/SettingsNavigation.js +17 -17
- package/dist/components/agent/settings/SettingsNavigation.js.map +1 -1
- package/dist/components/agent/settings/entityArchiveState.d.ts +24 -0
- package/dist/components/agent/settings/entityArchiveState.d.ts.map +1 -0
- package/dist/components/agent/settings/entityArchiveState.js +12 -0
- package/dist/components/agent/settings/entityArchiveState.js.map +1 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/AccessMembersSection.js +10 -25
- package/dist/components/agent/settings/sections/AccessMembersSection.js.map +1 -1
- package/dist/components/agent/settings/sections/AccountWorkspacePanel.d.ts +16 -0
- package/dist/components/agent/settings/sections/AccountWorkspacePanel.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/AccountWorkspacePanel.js +265 -0
- package/dist/components/agent/settings/sections/AccountWorkspacePanel.js.map +1 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js +47 -32
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js.map +1 -1
- package/dist/components/agent/settings/sections/DangerZoneSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/DangerZoneSection.js +30 -6
- package/dist/components/agent/settings/sections/DangerZoneSection.js.map +1 -1
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js +47 -37
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js.map +1 -1
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js +30 -43
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js.map +1 -1
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts +3 -1
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/ExportBackupSection.js +14 -12
- package/dist/components/agent/settings/sections/ExportBackupSection.js.map +1 -1
- package/dist/components/agent/settings/sections/GeneralSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/GeneralSection.js +47 -4
- package/dist/components/agent/settings/sections/GeneralSection.js.map +1 -1
- package/dist/components/agent/settings/sections/IntegrationsSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/IntegrationsSection.js +14 -21
- package/dist/components/agent/settings/sections/IntegrationsSection.js.map +1 -1
- package/dist/components/agent/settings/sections/NotificationsSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/NotificationsSection.js +125 -20
- package/dist/components/agent/settings/sections/NotificationsSection.js.map +1 -1
- package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js +7 -7
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js.map +1 -1
- package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js +5 -4
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js.map +1 -1
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js +2 -3
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js.map +1 -1
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -1
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +39 -26
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -1
- package/dist/components/agent/settings/sections/WorkspaceKeysPanel.d.ts +6 -0
- package/dist/components/agent/settings/sections/WorkspaceKeysPanel.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/WorkspaceKeysPanel.js +205 -0
- package/dist/components/agent/settings/sections/WorkspaceKeysPanel.js.map +1 -0
- package/dist/components/agent/settings/sections/environmentDraftAction.d.ts +3 -0
- package/dist/components/agent/settings/sections/environmentDraftAction.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/environmentDraftAction.js +6 -0
- package/dist/components/agent/settings/sections/environmentDraftAction.js.map +1 -0
- package/dist/components/agent/settings/sections/membershipOperationProjection.d.ts +3 -0
- package/dist/components/agent/settings/sections/membershipOperationProjection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/membershipOperationProjection.js +9 -0
- package/dist/components/agent/settings/sections/membershipOperationProjection.js.map +1 -0
- package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.d.ts +6 -0
- package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.js +8 -0
- package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.js.map +1 -0
- package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts +25 -0
- package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/InAppConfirmationDialog.js +89 -0
- package/dist/components/agent/settings/shared/InAppConfirmationDialog.js.map +1 -0
- package/dist/components/agent/settings/shared/InputField.d.ts +1 -1
- package/dist/components/agent/settings/shared/InputField.d.ts.map +1 -1
- package/dist/components/agent/settings/shared/InputField.js +4 -3
- package/dist/components/agent/settings/shared/InputField.js.map +1 -1
- package/dist/components/agent/settings/shared/MembersTable.d.ts +3 -3
- package/dist/components/agent/settings/shared/MembersTable.d.ts.map +1 -1
- package/dist/components/agent/settings/shared/MembersTable.js +1 -1
- package/dist/components/agent/settings/shared/MembersTable.js.map +1 -1
- package/dist/components/agent/settings/shared/ScopedAuditPanel.d.ts +5 -0
- package/dist/components/agent/settings/shared/ScopedAuditPanel.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/ScopedAuditPanel.js +70 -0
- package/dist/components/agent/settings/shared/ScopedAuditPanel.js.map +1 -0
- package/dist/components/agent/settings/shared/SettingsCard.d.ts +2 -1
- package/dist/components/agent/settings/shared/SettingsCard.d.ts.map +1 -1
- package/dist/components/agent/settings/shared/SettingsCard.js +2 -2
- package/dist/components/agent/settings/shared/SettingsCard.js.map +1 -1
- package/dist/components/agent/settings/shared/ToggleSwitch.d.ts.map +1 -1
- package/dist/components/agent/settings/shared/ToggleSwitch.js +1 -1
- package/dist/components/agent/settings/shared/ToggleSwitch.js.map +1 -1
- package/dist/components/agent/settings/shared/UsageChart.d.ts +10 -0
- package/dist/components/agent/settings/shared/UsageChart.d.ts.map +1 -1
- package/dist/components/agent/settings/shared/UsageChart.js +16 -10
- package/dist/components/agent/settings/shared/UsageChart.js.map +1 -1
- package/dist/components/agent/settings/shared/WorkspaceRulesControl.d.ts +8 -0
- package/dist/components/agent/settings/shared/WorkspaceRulesControl.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/WorkspaceRulesControl.js +26 -0
- package/dist/components/agent/settings/shared/WorkspaceRulesControl.js.map +1 -0
- package/dist/components/agent/settings/shared/useScopedConfirmation.d.ts +8 -0
- package/dist/components/agent/settings/shared/useScopedConfirmation.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/useScopedConfirmation.js +53 -0
- package/dist/components/agent/settings/shared/useScopedConfirmation.js.map +1 -0
- package/dist/components/agent/settings/shared/useSettingsConfirmation.d.ts +8 -0
- package/dist/components/agent/settings/shared/useSettingsConfirmation.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/useSettingsConfirmation.js +51 -0
- package/dist/components/agent/settings/shared/useSettingsConfirmation.js.map +1 -0
- package/dist/components/agent/settings/shared/workspaceRulesController.d.ts +28 -0
- package/dist/components/agent/settings/shared/workspaceRulesController.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/workspaceRulesController.js +82 -0
- package/dist/components/agent/settings/shared/workspaceRulesController.js.map +1 -0
- package/dist/components/agent/sidebarEntityPins.d.ts +11 -0
- package/dist/components/agent/sidebarEntityPins.d.ts.map +1 -0
- package/dist/components/agent/sidebarEntityPins.js +37 -0
- package/dist/components/agent/sidebarEntityPins.js.map +1 -0
- package/dist/components/agent/workspaceHierarchy.d.ts +24 -0
- package/dist/components/agent/workspaceHierarchy.d.ts.map +1 -0
- package/dist/components/agent/workspaceHierarchy.js +50 -0
- package/dist/components/agent/workspaceHierarchy.js.map +1 -0
- package/dist/components/product/XenoAgentProductHeader.d.ts +4 -2
- package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -1
- package/dist/components/product/XenoAgentProductHeader.js +22 -4
- package/dist/components/product/XenoAgentProductHeader.js.map +1 -1
- package/dist/components/product/XenoAgentSessionTabs.js +1 -1
- package/dist/components/product/XenoAgentSessionTabs.js.map +1 -1
- package/dist/components/product/XenoAgentWorkspaceSelector.d.ts +7 -0
- package/dist/components/product/XenoAgentWorkspaceSelector.d.ts.map +1 -0
- package/dist/components/product/XenoAgentWorkspaceSelector.js +237 -0
- package/dist/components/product/XenoAgentWorkspaceSelector.js.map +1 -0
- package/dist/components/workspace/WorkspaceCreationWizard.d.ts +6 -0
- package/dist/components/workspace/WorkspaceCreationWizard.d.ts.map +1 -0
- package/dist/components/workspace/WorkspaceCreationWizard.js +48 -0
- package/dist/components/workspace/WorkspaceCreationWizard.js.map +1 -0
- package/dist/hooks/useSidebarLayoutPreference.d.ts +29 -0
- package/dist/hooks/useSidebarLayoutPreference.d.ts.map +1 -0
- package/dist/hooks/useSidebarLayoutPreference.js +83 -0
- package/dist/hooks/useSidebarLayoutPreference.js.map +1 -0
- package/dist/hooks/useWorkspaceCreation.d.ts +8 -0
- package/dist/hooks/useWorkspaceCreation.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceCreation.js +40 -0
- package/dist/hooks/useWorkspaceCreation.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/platformApiTypes.d.ts +77 -36
- package/dist/platformApiTypes.d.ts.map +1 -1
- package/dist/platformBridge.d.ts +4 -0
- package/dist/platformBridge.d.ts.map +1 -1
- package/dist/platformBridge.js +10 -0
- package/dist/platformBridge.js.map +1 -1
- package/dist/stores/agentChatStore.d.ts +120 -2
- package/dist/stores/agentChatStore.d.ts.map +1 -1
- package/dist/stores/agentChatStore.js +329 -35
- package/dist/stores/agentChatStore.js.map +1 -1
- package/dist/stores/agentCreationDefaults.d.ts +25 -0
- package/dist/stores/agentCreationDefaults.d.ts.map +1 -0
- package/dist/stores/agentCreationDefaults.js +11 -0
- package/dist/stores/agentCreationDefaults.js.map +1 -0
- package/dist/stores/entitySettingsStore.d.ts +37 -12
- package/dist/stores/entitySettingsStore.d.ts.map +1 -1
- package/dist/stores/entitySettingsStore.js +558 -585
- package/dist/stores/entitySettingsStore.js.map +1 -1
- package/dist/stores/suggestionStore.d.ts +9 -2
- package/dist/stores/suggestionStore.d.ts.map +1 -1
- package/dist/stores/suggestionStore.js +51 -24
- package/dist/stores/suggestionStore.js.map +1 -1
- package/dist/stores/workspaceCreationAttempt.d.ts +14 -0
- package/dist/stores/workspaceCreationAttempt.d.ts.map +1 -0
- package/dist/stores/workspaceCreationAttempt.js +35 -0
- package/dist/stores/workspaceCreationAttempt.js.map +1 -0
- package/dist/stores/workspaceReconciliation.d.ts +6 -0
- package/dist/stores/workspaceReconciliation.d.ts.map +1 -0
- package/dist/stores/workspaceReconciliation.js +33 -0
- package/dist/stores/workspaceReconciliation.js.map +1 -0
- package/dist/stores/workspaceStore.d.ts +44 -9
- package/dist/stores/workspaceStore.d.ts.map +1 -1
- package/dist/stores/workspaceStore.js +238 -99
- package/dist/stores/workspaceStore.js.map +1 -1
- package/dist/types/agentEditor.d.ts +1 -0
- package/dist/types/agentEditor.d.ts.map +1 -1
- package/dist/utils/advertisedReasoning.d.ts +25 -0
- package/dist/utils/advertisedReasoning.d.ts.map +1 -0
- package/dist/utils/advertisedReasoning.js +62 -0
- package/dist/utils/advertisedReasoning.js.map +1 -0
- package/dist/utils/clipboardCopy.d.ts +4 -0
- package/dist/utils/clipboardCopy.d.ts.map +1 -0
- package/dist/utils/clipboardCopy.js +27 -0
- package/dist/utils/clipboardCopy.js.map +1 -0
- package/dist/utils/providerCommandArgs.d.ts +11 -0
- package/dist/utils/providerCommandArgs.d.ts.map +1 -0
- package/dist/utils/providerCommandArgs.js +18 -0
- package/dist/utils/providerCommandArgs.js.map +1 -0
- package/dist/utils/rendererTeardown.d.ts +6 -0
- package/dist/utils/rendererTeardown.d.ts.map +1 -0
- package/dist/utils/rendererTeardown.js +18 -0
- package/dist/utils/rendererTeardown.js.map +1 -0
- package/package.json +20 -8
- package/src/agent.css +39 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentPermissionRulesPanel.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AgentPermissionRulesPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AgentPermissionRulesPanel.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AgentPermissionRulesPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DangerZoneSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DangerZoneSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,wBAAgB,iBAAiB,6BAgKhC"}
|
|
@@ -1,19 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React, { useState } from 'react';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import { AlertTriangle, Trash2, Archive, RefreshCw } from 'lucide-react';
|
|
3
4
|
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore.js';
|
|
4
5
|
import { SettingsCard } from '../shared/SettingsCard.js';
|
|
6
|
+
import { useWorkspaceStore, restoreWorkspaceLifecycle } from '../../../../stores/workspaceStore.js';
|
|
7
|
+
import { entityArchiveState } from '../entityArchiveState.js';
|
|
5
8
|
export function DangerZoneSection() {
|
|
6
|
-
const settings = useEntitySettingsStore(s => s.settings);
|
|
7
|
-
const archiveEntity = useEntitySettingsStore(s => s.archiveEntity);
|
|
8
|
-
const deleteEntity = useEntitySettingsStore(s => s.deleteEntity);
|
|
9
|
+
const settings = useEntitySettingsStore((s) => s.settings);
|
|
10
|
+
const archiveEntity = useEntitySettingsStore((s) => s.archiveEntity);
|
|
11
|
+
const deleteEntity = useEntitySettingsStore((s) => s.deleteEntity);
|
|
12
|
+
const busy = useEntitySettingsStore((s) => !!s.sectionLoading.dangerZone);
|
|
13
|
+
const error = useEntitySettingsStore((s) => s.sectionErrors.dangerZone);
|
|
14
|
+
const [acknowledged, setAcknowledged] = useState('');
|
|
9
15
|
const [showArchiveConfirm, setShowArchiveConfirm] = useState(false);
|
|
10
16
|
const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
|
|
11
17
|
const [showTransferConfirm, setShowTransferConfirm] = useState(false);
|
|
12
18
|
const [deleteInput, setDeleteInput] = useState('');
|
|
19
|
+
const workspaces = useWorkspaceStore(s => s.workspaces);
|
|
20
|
+
const lifecycleBusy = useWorkspaceStore(s => s.lifecycleBusy);
|
|
21
|
+
useEffect(() => { setAcknowledged(''); setDeleteInput(''); setShowArchiveConfirm(false); setShowDeleteConfirm(false); setShowTransferConfirm(false); }, [settings?.entityId, settings?.entityType]);
|
|
13
22
|
if (!settings)
|
|
14
23
|
return null;
|
|
15
24
|
const { entityType, entityName, dangerZone } = settings;
|
|
16
25
|
const typeLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
|
|
17
|
-
|
|
26
|
+
const archive = entityArchiveState(workspaces, settings);
|
|
27
|
+
const scope = { workspaceId: entityType === 'workspace' ? settings.entityId : settings.workspaceId,
|
|
28
|
+
...(entityType !== 'workspace' ? { teamId: entityType === 'team' ? settings.entityId : settings.teamId } : {}),
|
|
29
|
+
...(entityType === 'agent' ? { agentId: settings.entityId } : {}) };
|
|
30
|
+
return (_jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_340px] gap-3.5 items-start", children: [_jsxs("div", { className: "space-y-3.5 min-w-0", children: [error && _jsx("p", { role: "alert", className: "text-rose-300 text-xs", children: error }), acknowledged && _jsx("p", { role: "status", className: "text-emerald-300 text-xs", children: acknowledged }), archive.archived && _jsx(SettingsCard, { title: "Restore archived scope", variant: "danger", children: archive.parentArchived ? _jsx("p", { className: "text-xs text-amber-200", children: "Restore the archived parent workspace or team first." })
|
|
31
|
+
: _jsxs("button", { disabled: busy || lifecycleBusy, onClick: () => void restoreWorkspaceLifecycle(scope), className: "h-8 px-3 rounded bg-[#242428] text-white text-xs disabled:opacity-40", children: ["Restore ", typeLabel] }) }), dangerZone.canArchive && !archive.archived && (_jsx(SettingsCard, { title: `Archive ${typeLabel}`, variant: "danger", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("p", { className: "text-[11.5px] text-[#7f7f86]", children: ["Make this ", entityType, " read-only. All agents will be paused. This can be reversed at any time."] }), !showArchiveConfirm ? (_jsxs("button", { onClick: () => setShowArchiveConfirm(true), className: "h-8 px-3 rounded-[4px] bg-[#18181a] hover:bg-[#242428] text-white border border-white/[0.08] text-[11.5px] font-medium cursor-pointer", children: ["Archive ", typeLabel] })) : (_jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowArchiveConfirm(false), className: "h-8 px-3 rounded-[4px] bg-[#18181a] hover:bg-[#242428] text-white text-[11px] cursor-pointer", children: "Cancel" }), _jsx("button", { disabled: busy, onClick: async () => {
|
|
32
|
+
if (await archiveEntity()) {
|
|
33
|
+
setShowArchiveConfirm(false);
|
|
34
|
+
setAcknowledged('Archive confirmed by host.');
|
|
35
|
+
}
|
|
36
|
+
}, className: "h-8 px-3 rounded-[4px] bg-rose-600 hover:bg-rose-500 text-white text-[11px] font-medium cursor-pointer", children: "Confirm Archive" })] }))] }) })), dangerZone.canTransferOwnership && (_jsx(SettingsCard, { title: "Transfer Ownership", variant: "danger", children: _jsxs("div", { className: "space-y-2.5", children: [_jsx("p", { className: "text-[11.5px] text-[#7f7f86]", children: "Transfer workspace ownership to another collaborator. Your role will be converted to Admin." }), !showTransferConfirm ? (_jsx("button", { onClick: () => setShowTransferConfirm(true), className: "h-8 px-3 rounded-[4px] bg-[#18181a] hover:bg-[#242428] text-white border border-white/[0.08] text-[11.5px] font-medium cursor-pointer", children: "Transfer Ownership" })) : (_jsxs("div", { className: "space-y-2", children: [_jsx("select", { className: "w-full h-8 px-2 bg-[#0c0c0e] border border-white/[0.06] rounded-[4px] text-[11.5px] text-white focus:outline-none", children: settings.access.members
|
|
37
|
+
.filter((m) => m.role !== 'owner')
|
|
38
|
+
.map((m) => (_jsxs("option", { value: m.id, children: [m.name, " (", m.email, ")"] }, m.id))) }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowTransferConfirm(false), className: "h-7.5 px-3 rounded-[4px] bg-[#18181a] hover:bg-[#242428] text-white text-[11px] cursor-pointer", children: "Cancel" }), _jsx("button", { onClick: () => setShowTransferConfirm(false), className: "h-7.5 px-3 rounded-[4px] bg-rose-600 hover:bg-rose-500 text-white text-[11px] font-medium cursor-pointer", children: "Confirm Transfer" })] })] }))] }) })), dangerZone.canDelete && (_jsx(SettingsCard, { title: `Delete ${typeLabel}`, variant: "danger", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("p", { className: "text-[11.5px] text-[#7f7f86]", children: ["Permanently deletes this ", entityType, " and all associated agent squad configurations. Mounted codebases on your disk will NOT be deleted."] }), _jsxs("div", { children: [_jsxs("label", { className: "block text-[10px] text-[#7f7f86] mb-1", children: ["Type ", _jsx("span", { className: "font-mono text-rose-300 font-bold", children: entityName }), " to confirm:"] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("input", { type: "text", value: deleteInput, onChange: (e) => setDeleteInput(e.target.value), placeholder: entityName, className: "flex-1 h-8 px-2.5 bg-[#0c0c0e] border border-rose-500/20 rounded-[4px] text-[11.5px] font-mono text-white placeholder-[#57575e] focus:outline-none focus:border-rose-500/50" }), _jsxs("button", { type: "button", disabled: busy || deleteInput !== entityName, onClick: async () => { if (await deleteEntity()) {
|
|
39
|
+
setDeleteInput('');
|
|
40
|
+
setAcknowledged('Delete confirmed by host.');
|
|
41
|
+
} }, className: "h-8 px-3 rounded-[4px] bg-rose-600 hover:bg-rose-500 disabled:opacity-30 disabled:cursor-not-allowed text-white text-[11.5px] font-medium flex items-center gap-1.5 transition-colors cursor-pointer", children: [_jsx(Trash2, { className: "w-3.5 h-3.5" }), _jsxs("span", { children: ["Delete ", typeLabel] })] })] })] })] }) }))] }), _jsx("div", { className: "space-y-3.5 min-w-0", children: _jsx(SettingsCard, { title: "Data Protection Notice", variant: "danger", children: _jsxs("div", { className: "space-y-2 text-[10.5px] text-[#7f7f86]", children: [_jsx("p", { children: "XENO respects file integrity. Deleting this workspace purges agent squad definitions, conversation turns, and temporary cached indexes." }), _jsx("p", { className: "text-white font-medium", children: "Your source files in local Git repositories remain 100% untouched." })] }) }) })] }));
|
|
18
42
|
}
|
|
19
43
|
//# sourceMappingURL=DangerZoneSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DangerZoneSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"DangerZoneSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultAgentConfigSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultAgentConfigSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuC,MAAM,OAAO,CAAA;AA0B3D,wBAAgB,yBAAyB,6BA2KxC"}
|
|
@@ -1,67 +1,77 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { loadHubAgentProviderCatalog, subscribeHubAgentProviderCatalog } from '../../../../adapters/xenoAgentHostCatalog.js';
|
|
3
3
|
import React, { useState, useEffect, useMemo } from 'react';
|
|
4
|
-
import { Terminal, FileText, FilePen, AppWindow, Globe, Code, Image, BarChart3, Search } from 'lucide-react';
|
|
4
|
+
import { Terminal, FileText, FilePen, AppWindow, Globe, Code, Image, BarChart3, Search, Cpu, Sparkles, Zap, } from 'lucide-react';
|
|
5
5
|
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore.js';
|
|
6
6
|
import { SettingsCard } from '../shared/SettingsCard.js';
|
|
7
7
|
import { ToggleSwitch } from '../shared/ToggleSwitch.js';
|
|
8
8
|
import { cloudModelName, cloudModelSortScore } from '../../../../utils/cloudModels.js';
|
|
9
9
|
import { isSelectableLiveModel } from '../../../../utils/modelAvailability.js';
|
|
10
10
|
export function DefaultAgentConfigSection() {
|
|
11
|
-
const settings = useEntitySettingsStore(s => s.settings);
|
|
12
|
-
const updateDefaultAgentConfig = useEntitySettingsStore(s => s.updateDefaultAgentConfig);
|
|
11
|
+
const settings = useEntitySettingsStore((s) => s.settings);
|
|
12
|
+
const updateDefaultAgentConfig = useEntitySettingsStore((s) => s.updateDefaultAgentConfig);
|
|
13
13
|
const [cloudModels, setCloudModels] = useState([]);
|
|
14
14
|
const [modelSearch, setModelSearch] = useState('');
|
|
15
|
+
const [modelError, setModelError] = useState(null);
|
|
16
|
+
const [modelsLoading, setModelsLoading] = useState(true);
|
|
15
17
|
useEffect(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!
|
|
18
|
+
let active = true;
|
|
19
|
+
const applyCatalog = (result) => {
|
|
20
|
+
if (!active)
|
|
19
21
|
return;
|
|
20
|
-
|
|
22
|
+
const provider = result.providers.find(entry => entry.id === 'xeno-cloud');
|
|
23
|
+
const runnable = provider && isSelectableLiveModel(provider);
|
|
24
|
+
setModelError(runnable ? null : provider?.safeUnavailableReason || 'The live XENO model catalog is unavailable.');
|
|
25
|
+
setCloudModels((runnable ? provider.models : [])
|
|
21
26
|
.filter(isSelectableLiveModel)
|
|
22
|
-
.map((m) => ({ id: m.id, name: cloudModelName(m.id) }))
|
|
27
|
+
.map((m) => ({ id: m.id, name: m.displayName || cloudModelName(m.id) }))
|
|
23
28
|
.sort((a, b) => {
|
|
24
29
|
const score = cloudModelSortScore(a.id) - cloudModelSortScore(b.id);
|
|
25
30
|
return score || a.name.localeCompare(b.name);
|
|
26
31
|
}));
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
setModelsLoading(false);
|
|
33
|
+
};
|
|
34
|
+
const unsubscribe = subscribeHubAgentProviderCatalog(applyCatalog);
|
|
35
|
+
loadHubAgentProviderCatalog()
|
|
36
|
+
.then(applyCatalog)
|
|
37
|
+
.catch((error) => { if (active)
|
|
38
|
+
setModelError(error instanceof Error ? error.message : 'Model catalog failed.'); })
|
|
39
|
+
.finally(() => { if (active)
|
|
40
|
+
setModelsLoading(false); });
|
|
41
|
+
return () => { active = false; unsubscribe(); };
|
|
29
42
|
}, []);
|
|
30
|
-
const allModels = cloudModels;
|
|
31
43
|
const models = useMemo(() => {
|
|
32
44
|
if (!modelSearch.trim())
|
|
33
|
-
return
|
|
45
|
+
return cloudModels;
|
|
34
46
|
const q = modelSearch.toLowerCase();
|
|
35
|
-
return
|
|
36
|
-
}, [
|
|
47
|
+
return cloudModels.filter((m) => m.name.toLowerCase().includes(q) || m.id.toLowerCase().includes(q));
|
|
48
|
+
}, [cloudModels, modelSearch]);
|
|
37
49
|
if (!settings || !settings.defaultAgentConfig)
|
|
38
50
|
return null;
|
|
39
51
|
const config = settings.defaultAgentConfig;
|
|
40
52
|
const handleToggleTool = (tool) => {
|
|
41
53
|
const enabled = config.enabledTools.includes(tool);
|
|
42
|
-
const newTools = enabled
|
|
43
|
-
? config.enabledTools.filter(t => t !== tool)
|
|
44
|
-
: [...config.enabledTools, tool];
|
|
54
|
+
const newTools = enabled ? config.enabledTools.filter((t) => t !== tool) : [...config.enabledTools, tool];
|
|
45
55
|
updateDefaultAgentConfig({ enabledTools: newTools });
|
|
46
56
|
};
|
|
47
|
-
return (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
return (_jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_340px] gap-3.5 items-start", children: [_jsxs("div", { className: "space-y-3.5 min-w-0", children: [_jsx(SettingsCard, { title: "Default Inference Model", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-[#7f7f86] pointer-events-none" }), _jsx("input", { type: "text", value: modelSearch, onChange: (e) => setModelSearch(e.target.value), placeholder: "Search available models...", className: "w-full h-8 pl-8 pr-2.5 bg-[#0c0c0e] border border-white/[0.06] rounded-[4px] text-[11.5px] text-white placeholder-[#57575e] focus:outline-none focus:border-white/25" })] }), _jsx("div", { className: "max-h-[220px] overflow-y-auto space-y-1 pr-1 hide-scrollbar", children: modelError ? _jsx("p", { role: "alert", className: "py-4 text-[11px] text-red-200", children: modelError }) : modelsLoading ? _jsx("p", { role: "status", className: "py-4 text-[11px] text-white/50", children: "Loading available models\u2026" }) : models.length === 0 ? (_jsx("div", { className: "text-center py-4 text-[11px] text-[#57575e]", children: "No matching models found" })) : (models.map((model) => {
|
|
58
|
+
const isSelected = config.defaultModel === model.id;
|
|
59
|
+
return (_jsxs("button", { type: "button", onClick: () => updateDefaultAgentConfig({ defaultModel: model.id }), className: `w-full px-2.5 py-1.5 rounded-[4px] border text-left transition-all flex items-center justify-between cursor-pointer ${isSelected
|
|
60
|
+
? 'border-white/[0.2] bg-white/[0.08] text-white font-medium'
|
|
61
|
+
: 'border-white/[0.04] bg-[#0c0c0e] text-[#7f7f86] hover:text-white hover:border-white/10'}`, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Cpu, { className: "w-3.5 h-3.5 text-zinc-400" }), _jsx("span", { className: "text-[11.5px]", children: model.name })] }), _jsx("div", { className: `w-3 h-3 rounded-full border flex items-center justify-center ${isSelected ? 'border-white bg-white' : 'border-white/20'}`, children: isSelected && _jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-black" }) })] }, model.id));
|
|
62
|
+
})) })] }) }), _jsx(SettingsCard, { title: "Default System Prompt Directives", children: _jsxs("div", { className: "space-y-2", children: [_jsx("textarea", { "aria-label": "Default agent instructions", value: config.systemInstructions, onChange: (e) => updateDefaultAgentConfig({ systemInstructions: e.target.value }), placeholder: "You are an autonomous principal software engineer operating inside this XENO workspace...", rows: 6, className: "w-full px-2.5 py-2 bg-[#0c0c0e] border border-white/[0.06] rounded-[4px] text-white text-[11.5px] font-mono placeholder-[#57575e] focus:outline-none focus:border-white/25 transition-colors resize-none leading-relaxed" }), _jsxs("div", { className: "flex justify-between text-[10px] text-[#57575e]", children: [_jsx("span", { children: "Base instructions inherited by newly deployed squad members" }), _jsxs("span", { children: ["~", Math.round((config.systemInstructions?.length || 0) / 4), " tokens"] })] })] }) })] }), _jsxs("div", { className: "space-y-3.5 min-w-0", children: [_jsx(SettingsCard, { title: "Default Tool Capabilities", children: _jsx("div", { className: "space-y-1", children: [
|
|
63
|
+
{ id: 'terminal', label: 'Terminal Execution', desc: 'Shell commands & scripts', icon: Terminal },
|
|
64
|
+
{ id: 'file-read', label: 'File Read', desc: 'Inspect source files', icon: FileText },
|
|
65
|
+
{ id: 'file-write', label: 'File Write', desc: 'Modify codebase files', icon: FilePen },
|
|
66
|
+
{ id: 'app-launch', label: 'App Launch', desc: 'Open GUI applications', icon: AppWindow },
|
|
67
|
+
{ id: 'web-search', label: 'Web Search', desc: 'Online documentation & APIs', icon: Globe },
|
|
68
|
+
{ id: 'code-execution', label: 'Code Sandboxing', desc: 'Run safe in-memory scripts', icon: Code },
|
|
69
|
+
{ id: 'image-generation', label: 'Asset Generation', desc: 'Generate textures & UI', icon: Image },
|
|
70
|
+
{ id: 'data-analysis', label: 'Data Telemetry', desc: 'Metrics & memory analytics', icon: BarChart3 },
|
|
71
|
+
].map((tool) => {
|
|
72
|
+
const enabled = config.enabledTools.includes(tool.id);
|
|
73
|
+
const Icon = tool.icon;
|
|
74
|
+
return (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded-[4px] bg-[#0c0c0e] border border-white/[0.03]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: "w-3.5 h-3.5 text-[#7f7f86]" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11.5px] font-medium text-white", children: tool.label }), _jsx("div", { className: "text-[9.5px] text-[#57575e]", children: tool.desc })] })] }), _jsx(ToggleSwitch, { enabled: enabled, onChange: () => handleToggleTool(tool.id) })] }, tool.id));
|
|
75
|
+
}) }) }), _jsx("p", { className: "text-[10px] text-[#7f7f86]", children: "Code execution controls executable tools. A dedicated in-memory code sandbox is not yet available; native provider restrictions require provider-supported policies." }), _jsx(SettingsCard, { title: "Reasoning & Thinking Budget", children: _jsxs("div", { className: "space-y-2 text-[11px]", children: [_jsxs("div", { className: "flex justify-between text-[#7f7f86]", children: [_jsx("span", { children: "Extended Thinking Tokens" }), _jsx("span", { className: "text-white font-mono font-medium", children: "Provider-dependent" })] }), _jsx("p", { className: "text-[9.5px] text-[#57575e]", children: "Use the conversation reasoning selector for the selected provider and model. No workspace-wide thinking budget is enforced here." })] }) })] })] }));
|
|
66
76
|
}
|
|
67
77
|
//# sourceMappingURL=DefaultAgentConfigSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultAgentConfigSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"DefaultAgentConfigSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentSecretsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"EnvironmentSecretsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAA;AAQhE,wBAAgB,yBAAyB,6BAkDxC"}
|
|
@@ -1,53 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { useState } from 'react';
|
|
3
|
-
import { Plus, Trash2,
|
|
2
|
+
import React, { useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Plus, Trash2, Pencil } from 'lucide-react';
|
|
4
4
|
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore.js';
|
|
5
5
|
import { SettingsCard } from '../shared/SettingsCard.js';
|
|
6
6
|
import { CheckboxField } from '../shared/CheckboxField.js';
|
|
7
|
+
import { saveEnvironmentDraft } from './environmentDraftAction.js';
|
|
8
|
+
import { useSettingsConfirmation } from '../shared/useSettingsConfirmation.js';
|
|
7
9
|
export function EnvironmentSecretsSection() {
|
|
8
|
-
const settings = useEntitySettingsStore(
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const [
|
|
16
|
-
const [
|
|
17
|
-
const [
|
|
18
|
-
const [
|
|
10
|
+
const settings = useEntitySettingsStore(state => state.settings);
|
|
11
|
+
const add = useEntitySettingsStore(state => state.addEnvironmentVariable);
|
|
12
|
+
const update = useEntitySettingsStore(state => state.updateEnvironmentVariable);
|
|
13
|
+
const remove = useEntitySettingsStore(state => state.deleteEnvironmentVariable);
|
|
14
|
+
const migrate = useEntitySettingsStore(state => state.migrateEnvironmentVariables);
|
|
15
|
+
const busy = useEntitySettingsStore(state => state.environmentBusy || !!state.sectionLoading.environment);
|
|
16
|
+
const { requestConfirmation, confirmation } = useSettingsConfirmation(busy);
|
|
17
|
+
const [editing, setEditing] = useState(null);
|
|
18
|
+
const [key, setKey] = useState('');
|
|
19
|
+
const [value, setValue] = useState('');
|
|
20
|
+
const [secret, setSecret] = useState(true);
|
|
21
|
+
const [showEditor, setShowEditor] = useState(false);
|
|
22
|
+
const draftGeneration = useRef(0);
|
|
23
|
+
useLayoutEffect(() => {
|
|
24
|
+
draftGeneration.current++;
|
|
25
|
+
setValue('');
|
|
26
|
+
setKey('');
|
|
27
|
+
setEditing(null);
|
|
28
|
+
setShowEditor(false);
|
|
29
|
+
return () => { draftGeneration.current++; };
|
|
30
|
+
}, [settings?.entityId, settings?.entityType, settings?.workspaceId, settings?.teamId]);
|
|
19
31
|
if (!settings)
|
|
20
32
|
return null;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
addEnvironmentVariable({ key: newKey.trim(), value: newValue, isSecret: newIsSecret });
|
|
26
|
-
setNewKey('');
|
|
27
|
-
setNewValue('');
|
|
28
|
-
setNewIsSecret(false);
|
|
29
|
-
setShowAdd(false);
|
|
33
|
+
const variables = settings.environment.variables;
|
|
34
|
+
const save = async () => {
|
|
35
|
+
const generation = draftGeneration.current;
|
|
36
|
+
await saveEnvironmentDraft(() => editing ? update(editing, { value, isSecret: secret }) : add({ key: key.trim(), value, isSecret: secret }), () => draftGeneration.current === generation, () => { setValue(''); setKey(''); setEditing(null); setShowEditor(false); });
|
|
30
37
|
};
|
|
31
|
-
|
|
32
|
-
setRevealedIds(prev => {
|
|
33
|
-
const next = new Set(prev);
|
|
34
|
-
if (next.has(id))
|
|
35
|
-
next.delete(id);
|
|
36
|
-
else
|
|
37
|
-
next.add(id);
|
|
38
|
-
return next;
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
return (_jsxs("div", { className: "h-full min-h-0 flex flex-col gap-3 overflow-y-auto", children: [_jsx(SettingsCard, { title: "Web Context", children: _jsxs("div", { className: "flex items-start gap-2.5", children: [_jsx(Key, { className: "mt-0.5 h-3.5 w-3.5 text-white/30" }), _jsxs("div", { children: [_jsx("p", { className: "text-[10px] text-white/55", children: "Search and retrieval are provided by XENO Web Context." }), _jsx("p", { className: "mt-1 text-[9px] leading-relaxed text-white/25", children: "The desktop host resolves its service credential from XENO_WEB_CONTEXT_TOKEN or XENO_WEB_CONTEXT_TOKEN_FILE. The credential is never sent to this renderer or stored in agent messages." })] })] }) }), _jsx(SettingsCard, { title: "Environment Variables", className: "flex-1 flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => setShowAdd(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 flex-col", children: [showAdd && (_jsxs("div", { className: "p-2.5 rounded-md bg-[#18181b] border border-[#27272a] mb-3", children: [_jsxs("div", { className: "flex flex-col sm:flex-row gap-2 mb-2", children: [_jsx("input", { type: "text", value: newKey, onChange: (e) => setNewKey(e.target.value.toUpperCase()), placeholder: "VARIABLE_NAME", className: "flex-1 px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white font-mono focus:outline-none" }), _jsx("input", { type: "text", value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: "value", className: "flex-1 px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx(CheckboxField, { checked: newIsSecret, onChange: setNewIsSecret, label: "Secret", labelClassName: "text-[10px] text-white/50" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowAdd(false), className: "px-2 py-1 text-white/40 text-[10px]", children: "Cancel" }), _jsx("button", { onClick: handleAdd, className: "px-3 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" })] })] })] })), _jsx("div", { className: "flex-1 min-h-0 overflow-auto", children: _jsxs("div", { className: "min-w-[560px]", children: [_jsxs("div", { className: "grid grid-cols-[180px,1fr,80px] 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: "Key" }), _jsx("span", { children: "Value" }), _jsx("span", {})] }), environment.variables.length === 0 ? (_jsx("div", { className: "text-center py-6 text-[11px] text-white/30", children: "No environment variables configured" })) : (environment.variables.map((variable) => (_jsxs("div", { className: "grid grid-cols-[180px,1fr,80px] gap-2 items-center py-2 px-3 rounded hover:bg-[#1E1E1E] group", children: [_jsx("span", { className: "text-[11px] text-white/70 font-mono truncate", children: variable.key }), editingId === variable.id ? (_jsx("div", { className: "flex items-center gap-1", children: _jsx("input", { type: "text", value: editValue, onChange: (e) => setEditValue(e.target.value), className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-white/[0.10] rounded text-[11px] text-white font-mono focus:outline-none", autoFocus: true, onKeyDown: (e) => {
|
|
42
|
-
if (e.key === 'Enter') {
|
|
43
|
-
updateEnvironmentVariable(variable.id, { value: editValue });
|
|
44
|
-
setEditingId(null);
|
|
45
|
-
}
|
|
46
|
-
if (e.key === 'Escape')
|
|
47
|
-
setEditingId(null);
|
|
48
|
-
} }) })) : (_jsx("span", { className: "text-[11px] text-white/40 font-mono truncate", children: variable.isSecret && !revealedIds.has(variable.id) ? '********' : variable.value })), _jsxs("div", { className: "flex items-center justify-end gap-1", children: [variable.isSecret && (_jsx("button", { onClick: () => toggleReveal(variable.id), className: "text-white/20 hover:text-white/50", children: revealedIds.has(variable.id) ? _jsx(EyeOff, { className: "w-3 h-3" }) : _jsx(Eye, { className: "w-3 h-3" }) })), _jsx("button", { onClick: () => {
|
|
49
|
-
setEditingId(variable.id);
|
|
50
|
-
setEditValue(variable.isSecret ? '' : variable.value);
|
|
51
|
-
}, className: "opacity-0 group-hover:opacity-100 text-white/20 hover:text-white/50", children: _jsx(Pencil, { className: "w-3 h-3" }) }), _jsx("button", { onClick: () => deleteEnvironmentVariable(variable.id), className: "opacity-0 group-hover:opacity-100 text-white/20 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, variable.id))))] }) })] }) })] }));
|
|
38
|
+
return _jsxs("fieldset", { disabled: busy, "aria-busy": busy, className: "space-y-3.5 disabled:opacity-60", children: [confirmation, _jsx("p", { className: "text-[11px] text-[#a8a8b1]", children: "Values are encrypted by the host using OS-protected keys. Only masked metadata returns here. Workspace \u2192 team \u2192 agent inheritance applies to SDK-native local command tools; provider-native ACP and sandbox environment forwarding currently refuse configured values until their execution contracts support them." }), _jsx("p", { className: "text-[11px] text-[#7f7f86]", children: "Secrets are never inserted into prompts. Known secret values are redacted from tool results before model input and journal persistence. This cannot prevent an authorized command from sending a secret to an external service." }), settings.environment.protectedStorageAvailable === false && _jsx("p", { role: "alert", className: "text-[11px] text-amber-200", children: "Protected storage is unavailable. No plaintext fallback is permitted." }), variables.some(variable => variable.legacy && !variable.inherited) && _jsx("button", { type: "button", className: "text-[11px] text-amber-200", onClick: () => requestConfirmation('Protect legacy values', 'Move this scope’s legacy environment values into protected storage and remove the plaintext metadata?', 'Migrate values', migrate), children: "Migrate legacy values to protected storage" }), _jsxs(SettingsCard, { title: "Environment Variables & Secrets", headerRight: _jsxs("button", { type: "button", className: "flex gap-1 items-center text-[11px] text-[#a8a8b1]", onClick: () => { setEditing(null); setKey(''); setValue(''); setSecret(true); setShowEditor(true); }, children: [_jsx(Plus, { className: "w-3 h-3" }), "Add variable"] }), children: [showEditor && _jsxs("div", { className: "space-y-2 border border-white/10 p-2 rounded", children: [_jsx("input", { "aria-label": "Variable name", className: "bg-[#18181a] p-2 w-full text-[12px]", value: key, disabled: !!editing, onChange: event => setKey(event.target.value.toUpperCase()), placeholder: "VARIABLE_NAME" }), _jsx("input", { "aria-label": "Replacement value", autoComplete: "off", className: "bg-[#18181a] p-2 w-full text-[12px]", type: "password", value: value, onChange: event => setValue(event.target.value), placeholder: "Enter a new value; saved values are not revealed" }), _jsx(CheckboxField, { checked: secret, onChange: setSecret, label: "Redact this value from tool results" }), _jsxs("div", { className: "flex gap-3 text-[11px]", children: [_jsx("button", { type: "button", onClick: () => void save(), children: "Save" }), _jsx("button", { type: "button", onClick: () => { setValue(''); setShowEditor(false); }, children: "Cancel" })] })] }), !variables.length && _jsx("p", { className: "text-[11px] py-5 text-[#7f7f86]", children: "No environment variables configured" }), variables.map(variable => _jsxs("div", { className: "flex items-center justify-between gap-3 p-2 text-[11px] border-b border-white/5", children: [_jsxs("div", { children: [_jsx("span", { className: "font-mono", children: variable.key }), _jsxs("span", { className: "ml-3 text-[#7f7f86]", children: ["\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022 ", variable.inherited ? '(inherited)' : '', " ", variable.legacy ? '(legacy)' : ''] })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", "aria-label": `Replace ${variable.key}`, onClick: () => { setEditing(variable.id); setKey(variable.key); setValue(''); setSecret(variable.isSecret); setShowEditor(true); }, children: _jsx(Pencil, { className: "w-3 h-3" }) }), _jsx("button", { type: "button", "aria-label": `Delete ${variable.key}`, disabled: variable.inherited, onClick: () => requestConfirmation('Delete environment value', `Delete ${variable.key} from this scope?`, 'Delete value', () => remove(variable.id)), children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, variable.id))] })] });
|
|
52
39
|
}
|
|
53
40
|
//# sourceMappingURL=EnvironmentSecretsSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentSecretsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EnvironmentSecretsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportBackupSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ExportBackupSection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExportBackupSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ExportBackupSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,wBAAgB,mBAAmB,CAAC,EAAE,QAAgB,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,4BA2J/E"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { getAgentPlatformBridge } from '../../../../platformBridge.js';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { Download, Trash2, HardDrive, Clock } from 'lucide-react';
|
|
5
4
|
import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore.js';
|
|
6
5
|
import { SettingsCard } from '../shared/SettingsCard.js';
|
|
7
6
|
import { ToggleSwitch } from '../shared/ToggleSwitch.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
7
|
+
import { useSettingsConfirmation } from '../shared/useSettingsConfirmation.js';
|
|
8
|
+
export function ExportBackupSection({ readOnly = false }) {
|
|
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
|
+
const downloadBackup = useEntitySettingsStore((s) => s.downloadBackup);
|
|
14
|
+
const restoreBackup = useEntitySettingsStore((s) => s.restoreBackup);
|
|
15
|
+
const restored = useEntitySettingsStore((s) => s.backupRestoreResult);
|
|
16
|
+
const exportData = useEntitySettingsStore((s) => s.exportData);
|
|
17
|
+
const busy = useEntitySettingsStore((s) => s.backupBusy || !!s.sectionLoading.exportBackup);
|
|
18
|
+
const { requestConfirmation, confirmation } = useSettingsConfirmation(busy, String(readOnly));
|
|
13
19
|
if (!settings)
|
|
14
20
|
return null;
|
|
15
21
|
const { exportBackup } = settings;
|
|
16
|
-
return (_jsxs("
|
|
17
|
-
|
|
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
|
+
return (_jsxs("fieldset", { disabled: busy, "aria-busy": busy, className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_340px] gap-3.5 items-start disabled:opacity-60", children: [confirmation, _jsxs("div", { className: "space-y-3.5 min-w-0", children: [_jsx("p", { className: "text-[11px] text-[#7f7f86]", children: "Logical backups contain this scope\u2019s configuration and redacted conversation history, not project files, credentials or provider sessions. Restore preserves current access permissions and adds conversations as recovered copies; existing history is never rewound." }), _jsx("p", { className: "text-[11px] text-[#7f7f86]", children: "Review exports before sharing: arbitrary secrets pasted into message text cannot all be recognized automatically." }), restored && _jsxs("details", { role: "status", className: "text-[11px] text-[#7f7f86]", children: [_jsxs("summary", { children: ["Restore complete: ", restored.length, " recovered conversations"] }), restored.map(item => _jsxs("p", { children: [item.sourceId, " \u2192 ", item.conversationId] }, item.conversationId))] }), _jsx(SettingsCard, { title: "Workspace Backups & Recovery", headerRight: _jsxs("button", { onClick: () => createBackup(`Backup ${new Date().toLocaleDateString()}`), className: "flex items-center gap-1 text-[10.5px] text-[#7f7f86] hover:text-white transition-colors cursor-pointer", children: [_jsx(HardDrive, { className: "w-3.5 h-3.5" }), _jsx("span", { children: "Create Backup Now" })] }), children: _jsx("div", { className: "space-y-1.5", children: exportBackup.availableBackups.length === 0 ? (_jsx("div", { className: "text-center py-6 text-[11px] text-[#7f7f86]", children: "No backups created yet" })) : (exportBackup.availableBackups.map((backup) => (_jsxs("div", { className: "flex items-center justify-between p-2.5 rounded-[4px] bg-[#0c0c0e] border border-white/[0.04] group", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[12px] font-medium text-white truncate", children: backup.name }), _jsxs("div", { className: "text-[10px] text-[#7f7f86] font-mono", children: [backup.size, " \u2022 ", new Date(backup.createdAt).toLocaleDateString()] })] }), _jsxs("div", { className: "flex items-center gap-1.5 ml-2", children: [_jsx("button", { type: "button", disabled: readOnly, title: readOnly ? 'Restore this archived scope in Danger Zone first' : 'Restore backup as recovered copies', className: "text-[11px] text-[#7f7f86] hover:text-white p-1 disabled:opacity-40", onClick: () => requestConfirmation('Restore configuration', `Restore configuration from "${backup.name}"? Existing conversation history and access permissions will be preserved. Backed-up conversations will be added as recovered copies.`, 'Restore backup', () => { if (!readOnly)
|
|
23
|
+
return restoreBackup(backup.id); }), children: "Restore" }), _jsx("button", { onClick: () => void downloadBackup(backup.id), className: "text-[#7f7f86] hover:text-white p-1 cursor-pointer", title: "Download backup", children: _jsx(Download, { className: "w-3.5 h-3.5" }) }), _jsx("button", { onClick: () => requestConfirmation('Delete backup', `Delete backup "${backup.name}"? This cannot be undone.`, 'Delete backup', () => deleteBackup(backup.id)), className: "opacity-0 group-hover:opacity-100 text-[#7f7f86] hover:text-rose-400 p-1 cursor-pointer transition-opacity", title: "Delete backup", children: _jsx(Trash2, { className: "w-3.5 h-3.5" }) })] })] }, backup.id)))) }) }), _jsx(SettingsCard, { title: "Export Workspace Manifest", children: _jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs("button", { type: "button", onClick: () => void exportData('json'), className: "flex items-center justify-center gap-2 h-8 bg-[#0c0c0e] hover:bg-[#18181a] border border-white/[0.06] rounded-[4px] text-[11.5px] text-white font-medium transition-colors cursor-pointer", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), _jsx("span", { children: "Export as JSON" })] }), _jsxs("button", { type: "button", onClick: () => void exportData('csv'), className: "flex items-center justify-center gap-2 h-8 bg-[#0c0c0e] hover:bg-[#18181a] border border-white/[0.06] rounded-[4px] text-[11.5px] text-white font-medium transition-colors cursor-pointer", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), _jsx("span", { children: "Export as CSV" })] })] }) })] }), _jsx("fieldset", { disabled: readOnly, inert: readOnly ? true : undefined, className: "space-y-3.5 min-w-0 border-0 p-0 m-0", children: _jsxs(SettingsCard, { title: "Automated Backup Policy", children: [exportBackup.lastError && _jsxs("p", { role: "alert", className: "text-[11px] text-rose-400", children: ["Last automatic backup failed: ", exportBackup.lastError] }), _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between p-2 rounded-[4px] bg-[#0c0c0e] border border-white/[0.04]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HardDrive, { className: "w-3.5 h-3.5 text-[#7f7f86]" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11.5px] font-medium text-white", children: "Auto-Backup" }), _jsx("div", { className: "text-[9.5px] text-[#7f7f86]", children: "Runs while the elected Agent host is open" })] })] }), _jsx(ToggleSwitch, { enabled: exportBackup.autoBackupEnabled, onChange: (v) => updateExportBackup({ autoBackupEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between p-2 rounded-[4px] bg-[#0c0c0e] border border-white/[0.04]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-[#7f7f86]" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11.5px] font-medium text-white", children: "Frequency" }), _jsx("div", { className: "text-[9.5px] text-[#7f7f86]", children: "Snapshot cycle" })] })] }), _jsxs("select", { value: exportBackup.backupFrequency, onChange: (e) => updateExportBackup({ backupFrequency: e.target.value }), className: "h-7 px-2 bg-[#18181a] border border-white/[0.06] rounded-[3px] text-[11px] text-white 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: "p-2 rounded-[4px] bg-[#0c0c0e] border border-white/[0.04] space-y-1.5", children: [_jsxs("div", { className: "flex justify-between items-center text-[11px]", children: [_jsx("span", { className: "text-[#7f7f86]", children: "Retention Window" }), _jsxs("span", { className: "text-white font-mono", children: [exportBackup.retentionDays, " days"] })] }), _jsx("input", { type: "range", min: 7, max: 90, value: exportBackup.retentionDays, onChange: (e) => updateExportBackup({ retentionDays: parseInt(e.target.value) }), className: "w-full appearance-none bg-white/[0.06] h-1.5 rounded cursor-pointer" })] })] })] }) })] }));
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=ExportBackupSection.js.map
|