@xenosystem/agent-interface-ui 0.1.24 → 0.1.26
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 +344 -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,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* RunReviewPanel — §2.9 review and §5.7 landing, rendered.
|
|
4
4
|
*
|
|
@@ -35,6 +35,7 @@ import React, { useCallback, useEffect, useState } from 'react';
|
|
|
35
35
|
import { AlertTriangle, FileDiff, GitMerge, RefreshCw } from 'lucide-react';
|
|
36
36
|
import { projectLanding, projectReview, } from '@xenosystem/agent-interface-core';
|
|
37
37
|
import { getAgentPlatformBridge } from '../../platformBridge.js';
|
|
38
|
+
import { ReviewRequestScope } from './reviewRequestScope.js';
|
|
38
39
|
/**
|
|
39
40
|
* The bridge, or null when this surface has none configured.
|
|
40
41
|
*
|
|
@@ -51,70 +52,67 @@ function tryBridge() {
|
|
|
51
52
|
return null;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
* same path between polls produce the same token, so a verification would not be
|
|
59
|
-
* detected as stale in that window. It is a real weakness and it is stated
|
|
60
|
-
* rather than hidden: the alternative available here is a constant, which never
|
|
61
|
-
* detects anything while looking identical.
|
|
62
|
-
*
|
|
63
|
-
* `droppedEvents` is folded in so an observation that lost events cannot share a
|
|
64
|
-
* token with one that did not — those describe genuinely different knowledge of
|
|
65
|
-
* the same run.
|
|
66
|
-
*/
|
|
67
|
-
function deriveRevision(review) {
|
|
68
|
-
if (!review || !review.trustworthy)
|
|
69
|
-
return null;
|
|
70
|
-
const paths = review.changes.map((change) => `${change.kind}:${change.path}`).sort().join('|');
|
|
71
|
-
return `observed-${review.changes.length}-${hash(paths)}`;
|
|
55
|
+
/** Presentation invalidation only, never artifact/candidate authority. Ordered
|
|
56
|
+
* entries supplement the diagnostic, order-independent fingerprint. */
|
|
57
|
+
function queueIdentity(queue) {
|
|
58
|
+
return JSON.stringify(queue.entries.map(entry => [entry.runId, entry.artifactId, entry.revision, entry.state, entry.position]));
|
|
72
59
|
}
|
|
73
|
-
function
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
78
|
-
h ^= value.charCodeAt(index);
|
|
79
|
-
h = Math.imul(h, 0x01000193) >>> 0;
|
|
80
|
-
}
|
|
81
|
-
return h.toString(16);
|
|
60
|
+
export function RunReviewPanel(props) {
|
|
61
|
+
// A -> B -> A is three view incarnations, not one request namespace. Remount
|
|
62
|
+
// the projection so the new checkout never paints the previous diff or hunk.
|
|
63
|
+
return _jsx(ScopedRunReviewPanel, { ...props }, JSON.stringify([props.rootDirectory, props.runId, props.artifactId, props.base]));
|
|
82
64
|
}
|
|
83
|
-
|
|
65
|
+
function ScopedRunReviewPanel({ runId, rootDirectory, artifactId, base }) {
|
|
84
66
|
const [review, setReview] = useState(null);
|
|
85
67
|
const [landing, setLanding] = useState(null);
|
|
68
|
+
const [queueAvailable, setQueueAvailable] = useState(false);
|
|
69
|
+
const [bindingUnavailable, setBindingUnavailable] = useState(null);
|
|
70
|
+
const [candidate, setCandidate] = useState(null);
|
|
86
71
|
const [hunk, setHunk] = useState(null);
|
|
87
72
|
const [busy, setBusy] = useState(false);
|
|
88
73
|
const [showAnyway, setShowAnyway] = useState(false);
|
|
89
74
|
const [verdict, setVerdict] = useState(null);
|
|
75
|
+
const [requests] = useState(() => new ReviewRequestScope(rootDirectory, setBusy));
|
|
76
|
+
const reportError = useCallback((error) => {
|
|
77
|
+
setCandidate(null);
|
|
78
|
+
setVerdict(error instanceof Error ? error.message.slice(0, 2000) : 'The review host request failed. Refresh before retrying.');
|
|
79
|
+
}, []);
|
|
80
|
+
useEffect(() => { requests.activate(); return () => requests.invalidate(); }, [requests]);
|
|
81
|
+
const acceptQueue = useCallback((queue) => {
|
|
82
|
+
const available = queue.success === true && !queue.bindingUnavailable && typeof queue.fingerprint === 'string' && !!queue.fingerprint;
|
|
83
|
+
setQueueAvailable(available);
|
|
84
|
+
setBindingUnavailable(queue.bindingUnavailable ?? (!queue.success ? queue.error ?? 'The landing host is unavailable.' : null));
|
|
85
|
+
setCandidate(previous => available && previous?.fingerprint === queue.fingerprint && previous.queueIdentity === queueIdentity(queue) && previous.base === base ? previous : null);
|
|
86
|
+
setLanding(projectLanding({ available, entries: queue.entries ?? [],
|
|
87
|
+
...(queue.landing ? { landing: queue.landing } : {}),
|
|
88
|
+
...(queue.error ? { reason: queue.error } : {}),
|
|
89
|
+
}));
|
|
90
|
+
}, [base]);
|
|
90
91
|
const refresh = useCallback(async () => {
|
|
91
92
|
const bridge = tryBridge();
|
|
92
|
-
if (!bridge?.review || !bridge?.engineering)
|
|
93
|
+
if (!bridge?.review || !bridge?.engineering) {
|
|
94
|
+
setQueueAvailable(false);
|
|
95
|
+
setCandidate(null);
|
|
96
|
+
setBindingUnavailable('The review and landing host services are unavailable on this surface.');
|
|
97
|
+
setVerdict('This surface cannot reach the review and landing host services.');
|
|
93
98
|
return;
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
}
|
|
100
|
+
await requests.read('snapshot', async () => {
|
|
96
101
|
// Polled together so the contested markers describe the same moment as
|
|
97
102
|
// the change list. Read separately, a path could be marked contested
|
|
98
103
|
// against a diff that no longer contains it.
|
|
99
|
-
|
|
104
|
+
return await Promise.all([
|
|
100
105
|
bridge.review.snapshot({ runId, poll: true }),
|
|
101
106
|
bridge.review.overlaps({}),
|
|
102
107
|
bridge.engineering.landingStatus({ rootDirectory }),
|
|
103
108
|
]);
|
|
109
|
+
}, ([snapshot, overlaps, queue]) => {
|
|
110
|
+
if (snapshot.runId !== runId)
|
|
111
|
+
throw new Error('The host returned a different review run.');
|
|
104
112
|
setReview(projectReview(snapshot, overlaps));
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
available: queue.success !== false,
|
|
109
|
-
entries: queue.entries ?? [],
|
|
110
|
-
...(queue.landing ? { landing: queue.landing } : {}),
|
|
111
|
-
...(queue.error ? { reason: queue.error } : {}),
|
|
112
|
-
}));
|
|
113
|
-
}
|
|
114
|
-
finally {
|
|
115
|
-
setBusy(false);
|
|
116
|
-
}
|
|
117
|
-
}, [runId, rootDirectory]);
|
|
113
|
+
acceptQueue(queue);
|
|
114
|
+
}, reportError);
|
|
115
|
+
}, [runId, rootDirectory, requests, reportError, acceptQueue]);
|
|
118
116
|
useEffect(() => { void refresh(); }, [refresh]);
|
|
119
117
|
/**
|
|
120
118
|
* Keeps the diff live — ADE §2.9.
|
|
@@ -141,91 +139,107 @@ export function RunReviewPanel({ runId, rootDirectory, revision }) {
|
|
|
141
139
|
}, [runId, refresh]);
|
|
142
140
|
const openHunk = useCallback(async (path) => {
|
|
143
141
|
const bridge = tryBridge();
|
|
144
|
-
if (!bridge?.review)
|
|
142
|
+
if (!bridge?.review) {
|
|
143
|
+
reportError(new Error('The review host is unavailable.'));
|
|
145
144
|
return;
|
|
146
|
-
|
|
147
|
-
setHunk(
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
}
|
|
146
|
+
setHunk(null);
|
|
147
|
+
await requests.read('hunk', () => bridge.review.change({ runId, path }), (content) => {
|
|
148
|
+
if (content.path !== path)
|
|
149
|
+
throw new Error('The host returned a different review path.');
|
|
150
|
+
setHunk({
|
|
151
|
+
path: content.path,
|
|
152
|
+
...(content.before === undefined ? {} : { before: content.before }),
|
|
153
|
+
...(content.after === undefined ? {} : { after: content.after }),
|
|
154
|
+
binary: content.binary,
|
|
155
|
+
truncated: content.truncated,
|
|
156
|
+
...(content.refusal === undefined ? {} : { refusal: content.refusal }),
|
|
157
|
+
});
|
|
158
|
+
}, reportError);
|
|
159
|
+
}, [runId, requests, reportError]);
|
|
156
160
|
const enqueue = useCallback(async () => {
|
|
157
161
|
const bridge = tryBridge();
|
|
158
|
-
if (!bridge?.engineering)
|
|
162
|
+
if (!bridge?.engineering) {
|
|
163
|
+
reportError(new Error('The landing host is unavailable.'));
|
|
159
164
|
return;
|
|
160
|
-
|
|
161
|
-
if (!
|
|
162
|
-
|
|
163
|
-
// honest revision, and a queued run with a fabricated one would look
|
|
164
|
-
// freshly verified forever.
|
|
165
|
-
setVerdict('This run cannot be queued yet: nothing has been observed, so there is no revision to land against.');
|
|
165
|
+
}
|
|
166
|
+
if (!queueAvailable) {
|
|
167
|
+
setVerdict(bindingUnavailable ?? 'The host-owned accepted-output producer is unavailable for this run.');
|
|
166
168
|
return;
|
|
167
169
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
?
|
|
184
|
-
: entry?.
|
|
185
|
-
? '
|
|
186
|
-
:
|
|
170
|
+
setCandidate(null);
|
|
171
|
+
await requests.mutate(() => bridge.engineering.landingEnqueue({ rootDirectory, runId, ...(artifactId ? { artifactId } : {}) }), (result) => {
|
|
172
|
+
acceptQueue(result);
|
|
173
|
+
/**
|
|
174
|
+
* \u{1F534} The ANSWER, not silence. `verify` and `land` both report theirs and
|
|
175
|
+
* this one discarded its own, so a queue that refused this run looked
|
|
176
|
+
* exactly like a queue that accepted it — and the next thing the reviewer
|
|
177
|
+
* does is wait for a turn that is never coming.
|
|
178
|
+
*
|
|
179
|
+
* Two ways it can go wrong, and they need different words: the CALL can
|
|
180
|
+
* fail (`success: false`), or the call can succeed and the ENTRY be
|
|
181
|
+
* refused, which the queue records per run with its own reason.
|
|
182
|
+
*/
|
|
183
|
+
const entry = result.entries.find((candidate) => candidate.runId === runId);
|
|
184
|
+
setVerdict(!result.success
|
|
185
|
+
? result.error ?? 'This run could not be queued.'
|
|
186
|
+
: entry?.state === 'refused'
|
|
187
|
+
? entry.reason ?? 'The queue refused this run.'
|
|
188
|
+
: entry?.position === undefined
|
|
189
|
+
? 'Queued to land.'
|
|
190
|
+
: `Queued to land, position ${entry.position}.`);
|
|
191
|
+
}, reportError);
|
|
187
192
|
await refresh();
|
|
188
|
-
}, [rootDirectory, runId,
|
|
193
|
+
}, [rootDirectory, runId, artifactId, queueAvailable, bindingUnavailable, refresh, requests, reportError, acceptQueue]);
|
|
189
194
|
const verify = useCallback(async () => {
|
|
190
195
|
const bridge = tryBridge();
|
|
191
|
-
if (!bridge?.engineering)
|
|
196
|
+
if (!bridge?.engineering) {
|
|
197
|
+
reportError(new Error('The landing host is unavailable.'));
|
|
192
198
|
return;
|
|
193
|
-
setBusy(true);
|
|
194
|
-
try {
|
|
195
|
-
const result = await bridge.engineering.landingVerify({ rootDirectory });
|
|
196
|
-
setVerdict(result.problem ?? (result.verified ? 'The combination is green.' : 'Not verified.'));
|
|
197
|
-
}
|
|
198
|
-
finally {
|
|
199
|
-
setBusy(false);
|
|
200
|
-
await refresh();
|
|
201
199
|
}
|
|
202
|
-
|
|
200
|
+
if (!queueAvailable || !landing?.couldLand)
|
|
201
|
+
return;
|
|
202
|
+
setCandidate(null);
|
|
203
|
+
await requests.mutate(() => bridge.engineering.landingVerify({ rootDirectory, ...(base === undefined ? {} : { base }) }), (result) => {
|
|
204
|
+
acceptQueue(result);
|
|
205
|
+
const acknowledged = result.success && result.verified && !result.bindingUnavailable && result.candidateId && result.fingerprint && result.baseCommitId
|
|
206
|
+
? { candidateId: result.candidateId, fingerprint: result.fingerprint, queueIdentity: queueIdentity(result), baseCommitId: result.baseCommitId, base }
|
|
207
|
+
: null;
|
|
208
|
+
setCandidate(acknowledged);
|
|
209
|
+
setVerdict(result.problem ?? (acknowledged ? null : 'No exact successful candidate acknowledgement. Land remains unavailable.'));
|
|
210
|
+
}, reportError);
|
|
211
|
+
await refresh();
|
|
212
|
+
}, [rootDirectory, base, queueAvailable, landing, refresh, requests, reportError, acceptQueue]);
|
|
203
213
|
const land = useCallback(async () => {
|
|
204
214
|
const bridge = tryBridge();
|
|
205
|
-
if (!bridge?.engineering)
|
|
215
|
+
if (!bridge?.engineering) {
|
|
216
|
+
reportError(new Error('The landing host is unavailable.'));
|
|
206
217
|
return;
|
|
207
|
-
|
|
208
|
-
|
|
218
|
+
}
|
|
219
|
+
if (!candidate || !queueAvailable || candidate.base !== base || !landing?.couldLand)
|
|
220
|
+
return;
|
|
221
|
+
const verifiedCandidate = candidate;
|
|
222
|
+
setCandidate(null);
|
|
223
|
+
await requests.mutate(async () => {
|
|
209
224
|
// 🔴 `confirmed: true` originates HERE, in the click handler, and nowhere
|
|
210
225
|
// else. It is the host's only evidence that a human asked for an outward
|
|
211
226
|
// action rather than an agent deciding to take one.
|
|
212
|
-
|
|
227
|
+
return await bridge.engineering.landingLand({ rootDirectory, candidateId: verifiedCandidate.candidateId, ...(base === undefined ? {} : { base }), confirmed: true });
|
|
228
|
+
}, (result) => {
|
|
213
229
|
setVerdict(result.verdict ?? (result.landed ? 'Landed.' : 'Not landed.'));
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
}, [rootDirectory, refresh]);
|
|
230
|
+
acceptQueue(result);
|
|
231
|
+
}, reportError);
|
|
232
|
+
await refresh();
|
|
233
|
+
}, [rootDirectory, base, candidate, queueAvailable, landing, refresh, requests, reportError, acceptQueue]);
|
|
220
234
|
return (_jsxs("div", { className: "xeno-run-review", "data-testid": "run-review-panel", children: [_jsxs("header", { className: "xeno-run-review__header", children: [_jsxs("h2", { children: ["Review \u2014 ", runId] }), _jsx("button", { type: "button", onClick: () => void refresh(), disabled: busy, "aria-label": "Refresh review", children: _jsx(RefreshCw, { size: 14, "aria-hidden": true }) })] }), review === null ? (_jsx("p", { className: "xeno-run-review__notice", children: "Loading the observed changes\u2026" })) : review.trustworthy ? (_jsx(ChangeList, { review: review, onOpen: (path) => void openHunk(path) })) : (_jsxs("section", { className: "xeno-run-review__blocked", "data-testid": "review-blocked", children: [_jsxs("p", { className: "xeno-run-review__notice", children: [_jsx(AlertTriangle, { size: 14, "aria-hidden": true }), " ", review.notice] }), review.changes.length > 0 && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setShowAnyway((shown) => !shown), children: showAnyway ? 'Hide' : `Show the ${review.changes.length} change(s) that were observed anyway` }), showAnyway && _jsx(ChangeList, { review: review, onOpen: (path) => void openHunk(path) })] }))] })), hunk && (_jsxs("section", { className: "xeno-run-review__hunk", "data-testid": "review-hunk", children: [_jsx("h3", { children: hunk.path }), _jsx("p", { className: "xeno-run-review__hint", children: "Current content, read just now." }), hunk.refusal
|
|
221
235
|
? _jsx("p", { className: "xeno-run-review__notice", children: hunk.refusal })
|
|
222
236
|
: hunk.binary
|
|
223
237
|
? _jsx("p", { className: "xeno-run-review__notice", children: "This file is not text, so there is no hunk to show." })
|
|
224
|
-
: _jsx("pre", { children: hunk.after ?? '' }), hunk.truncated && _jsx("p", { className: "xeno-run-review__notice", children: "Cut short at the read limit." })] })), _jsxs("section", { className: "xeno-run-review__landing", "data-testid": "landing-queue", children: [_jsxs("h3", { children: [_jsx(GitMerge, { size: 14, "aria-hidden": true }), " Landing"] }), landing?.notice && _jsx("p", { className: "xeno-run-review__notice", children: landing.notice }), _jsx("ol", { children: (landing?.rows ?? []).map((row) => (_jsxs("li", { "data-state": row.state, "data-actionable": row.actionable ? 'true' : undefined, children: [_jsx("span", { children: row.runId }), _jsx("span", { children: row.positionLabel ?? row.state }), row.actionable && (_jsx("span", { className: "xeno-run-review__actionable", "data-testid": "landing-actionable", children: "needs you" })), row.reason && _jsx("span", { className: "xeno-run-review__notice", children: row.reason })] }, row.runId))) }), _jsxs("div", { className: "xeno-run-review__actions", children: [_jsx("button", { type: "button", onClick: () => void enqueue(), disabled: busy, children: "Queue this run" }), _jsx("button", { type: "button", onClick: () => void verify(), disabled: busy, children: "Verify the combination" }), _jsx("button", { type: "button", onClick: () => void land(),
|
|
238
|
+
: _jsx("pre", { children: hunk.after ?? '' }), hunk.truncated && _jsx("p", { className: "xeno-run-review__notice", children: "Cut short at the read limit." })] })), _jsxs("section", { className: "xeno-run-review__landing", "data-testid": "landing-queue", children: [_jsxs("h3", { children: [_jsx(GitMerge, { size: 14, "aria-hidden": true }), " Landing"] }), bindingUnavailable && _jsx("p", { className: "xeno-run-review__notice", "data-testid": "landing-binding-unavailable", children: bindingUnavailable }), artifactId && _jsxs("p", { "data-testid": "landing-artifact", children: ["Artifact: ", artifactId] }), candidate && _jsxs("p", { "data-testid": "landing-candidate", children: ["Verified candidate (prefix and union passed): ", candidate.candidateId, " \u00B7 Base: ", candidate.baseCommitId] }), landing?.notice && landing.notice !== bindingUnavailable && _jsx("p", { className: "xeno-run-review__notice", children: landing.notice }), _jsx("ol", { children: (landing?.rows ?? []).map((row) => (_jsxs("li", { "data-state": row.state, "data-actionable": row.actionable ? 'true' : undefined, children: [_jsx("span", { children: row.runId }), _jsx("span", { children: row.positionLabel ?? row.state }), row.actionable && (_jsx("span", { className: "xeno-run-review__actionable", "data-testid": "landing-actionable", children: "needs you" })), row.reason && _jsx("span", { className: "xeno-run-review__notice", children: row.reason })] }, row.runId))) }), _jsxs("div", { className: "xeno-run-review__actions", children: [_jsx("button", { type: "button", onClick: () => void enqueue(), disabled: busy || !queueAvailable, children: "Queue this run" }), _jsx("button", { type: "button", onClick: () => void verify(), disabled: busy || !queueAvailable || !landing?.couldLand, children: "Verify the combination" }), _jsx("button", { type: "button", onClick: () => void land(),
|
|
225
239
|
/* Disabled is ADVICE, not the gate — the host refuses regardless.
|
|
226
240
|
A surface that treated `couldLand` as the decision would be a
|
|
227
241
|
second implementation of it, and the two diverge optimistically. */
|
|
228
|
-
disabled: busy || !landing?.couldLand, "data-testid": "land-button", children: "Land" })] }), verdict && _jsx("p", { className: "xeno-run-review__notice", "data-testid": "landing-verdict", children: verdict })] })] }));
|
|
242
|
+
disabled: busy || !queueAvailable || !landing?.couldLand || !candidate, "data-testid": "land-button", children: "Land" })] }), verdict && _jsx("p", { className: "xeno-run-review__notice", "data-testid": "landing-verdict", children: verdict })] })] }));
|
|
229
243
|
}
|
|
230
244
|
function ChangeList({ review, onOpen, }) {
|
|
231
245
|
if (review.changes.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunReviewPanel.js","sourceRoot":"","sources":["../../../src/components/agent/RunReviewPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunReviewPanel.js","sourceRoot":"","sources":["../../../src/components/agent/RunReviewPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Workspace } from '../../stores/workspaceStore.js';
|
|
3
|
+
export interface ScheduledTask {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
cron: string;
|
|
7
|
+
agent: string;
|
|
8
|
+
active: boolean;
|
|
9
|
+
lastRun: string;
|
|
10
|
+
nextRun: string;
|
|
11
|
+
cancelled: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ScheduledWorkspaceViewProps {
|
|
14
|
+
workspaces: Workspace[];
|
|
15
|
+
activeWorkspaceScope?: string | null;
|
|
16
|
+
onBackToChat: () => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const ScheduledWorkspaceView: React.FC<ScheduledWorkspaceViewProps>;
|
|
19
|
+
//# sourceMappingURL=ScheduledWorkspaceView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScheduledWorkspaceView.d.ts","sourceRoot":"","sources":["../../../src/components/agent/ScheduledWorkspaceView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAiBhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAiZxE,CAAA"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState, useMemo, useEffect, useRef, useCallback } from 'react';
|
|
3
|
+
import { getOptionalAgentPlatformBridge } from '../../platformBridge.js';
|
|
4
|
+
import { Clock, Plus, Play, Pause, Trash2, Search, Building2, Bot, RotateCw, CheckCircle2, AlertCircle, X, } from 'lucide-react';
|
|
5
|
+
import { ScheduleCreationAttempt } from './scheduleCreationAttempt.js';
|
|
6
|
+
export const ScheduledWorkspaceView = ({ workspaces, activeWorkspaceScope, onBackToChat, }) => {
|
|
7
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
8
|
+
const [isAddModalOpen, setIsAddModalOpen] = useState(false);
|
|
9
|
+
const [jobs, setJobs] = useState([]);
|
|
10
|
+
const [busy, setBusy] = useState(false);
|
|
11
|
+
const [mutationBusy, setMutationBusy] = useState(false);
|
|
12
|
+
const [creationUnresolved, setCreationUnresolved] = useState(false);
|
|
13
|
+
const [creation] = useState(() => new ScheduleCreationAttempt());
|
|
14
|
+
const [loaded, setLoaded] = useState(false);
|
|
15
|
+
const [history, setHistory] = useState(null);
|
|
16
|
+
const [timeZone, setTimeZone] = useState('');
|
|
17
|
+
const generation = useRef(0);
|
|
18
|
+
const mutation = useRef(false);
|
|
19
|
+
const [error, setError] = useState(null);
|
|
20
|
+
// Form states
|
|
21
|
+
const [newTitle, setNewTitle] = useState('');
|
|
22
|
+
const [newCron, setNewCron] = useState('0 9 * * *');
|
|
23
|
+
const currentWorkspace = useMemo(() => {
|
|
24
|
+
if (activeWorkspaceScope) {
|
|
25
|
+
return workspaces.find((w) => w.id === activeWorkspaceScope && !w.isArchived) || null;
|
|
26
|
+
}
|
|
27
|
+
return workspaces.find((w) => !w.isArchived) || null;
|
|
28
|
+
}, [workspaces, activeWorkspaceScope]);
|
|
29
|
+
const [selectedRoot, setSelectedRoot] = useState('');
|
|
30
|
+
const workspaceRoot = currentWorkspace?.directories.includes(selectedRoot) ? selectedRoot : currentWorkspace?.directories[0] ?? '';
|
|
31
|
+
const workspaceId = currentWorkspace?.id ?? '';
|
|
32
|
+
const schedule = getOptionalAgentPlatformBridge()?.workspace.schedule;
|
|
33
|
+
const tasks = jobs.map((job) => ({
|
|
34
|
+
id: job.id, title: job.prompt, cron: job.cron, agent: 'CLI app-server',
|
|
35
|
+
active: !job.status || job.status === 'active', cancelled: job.status === 'cancelled',
|
|
36
|
+
lastRun: job.lastRunAt ? new Date(job.lastRunAt).toLocaleString() : 'Never',
|
|
37
|
+
nextRun: job.status === 'cancelled' || job.status === 'paused' ? '—' : new Date(job.nextRunAt).toLocaleString(),
|
|
38
|
+
}));
|
|
39
|
+
const refresh = useCallback(async () => {
|
|
40
|
+
const epoch = ++generation.current;
|
|
41
|
+
setBusy(true);
|
|
42
|
+
setError(null);
|
|
43
|
+
try {
|
|
44
|
+
if (!schedule)
|
|
45
|
+
throw new Error('Scheduling is unavailable on this host version. Update the host to connect the canonical CLI scheduler.');
|
|
46
|
+
if (!workspaceRoot)
|
|
47
|
+
throw new Error('Attach a local folder before creating an Agent schedule.');
|
|
48
|
+
const result = await schedule({ workspaceId, workspaceRoot, action: 'list' });
|
|
49
|
+
if (!result.success || !Array.isArray(result.jobs))
|
|
50
|
+
throw new Error(result.error || 'Scheduler did not return a job list');
|
|
51
|
+
if (epoch !== generation.current)
|
|
52
|
+
return;
|
|
53
|
+
setJobs(result.jobs);
|
|
54
|
+
setTimeZone(result.timeZone ?? '');
|
|
55
|
+
setLoaded(true);
|
|
56
|
+
}
|
|
57
|
+
catch (cause) {
|
|
58
|
+
if (epoch === generation.current) {
|
|
59
|
+
setError(cause instanceof Error ? cause.message : 'Failed to load schedules');
|
|
60
|
+
setLoaded(false);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
if (epoch === generation.current)
|
|
65
|
+
setBusy(false);
|
|
66
|
+
}
|
|
67
|
+
}, [schedule, workspaceId, workspaceRoot]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
setJobs([]);
|
|
70
|
+
setLoaded(false);
|
|
71
|
+
setHistory(null);
|
|
72
|
+
setIsAddModalOpen(false);
|
|
73
|
+
void refresh();
|
|
74
|
+
return () => { generation.current++; };
|
|
75
|
+
}, [refresh]);
|
|
76
|
+
const execute = async (request) => {
|
|
77
|
+
if (busy || mutation.current || !schedule)
|
|
78
|
+
return false;
|
|
79
|
+
mutation.current = true;
|
|
80
|
+
setMutationBusy(true);
|
|
81
|
+
const epoch = generation.current;
|
|
82
|
+
let createAnswered = false;
|
|
83
|
+
setBusy(true);
|
|
84
|
+
setError(null);
|
|
85
|
+
try {
|
|
86
|
+
const input = { ...request, workspaceId, workspaceRoot };
|
|
87
|
+
const result = await schedule(request.action === 'create' ? creation.submit(input) : input);
|
|
88
|
+
if (request.action === 'create' && (!result.success || result.job)) {
|
|
89
|
+
createAnswered = true;
|
|
90
|
+
creation.acknowledge(result);
|
|
91
|
+
setCreationUnresolved(creation.unresolved);
|
|
92
|
+
}
|
|
93
|
+
if (!result.success)
|
|
94
|
+
throw new Error(result.error || 'Schedule operation failed');
|
|
95
|
+
if (epoch !== generation.current)
|
|
96
|
+
return false;
|
|
97
|
+
if (request.action === 'history') {
|
|
98
|
+
if (!Array.isArray(result.runs))
|
|
99
|
+
throw new Error('Scheduler did not return history');
|
|
100
|
+
setHistory({ id: request.id, runs: result.runs });
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (!result.job)
|
|
104
|
+
throw new Error('Scheduler did not acknowledge the changed job');
|
|
105
|
+
setJobs((current) => [...current.filter((job) => job.id !== result.job.id), result.job]);
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch (cause) {
|
|
110
|
+
if (request.action === 'create' && !createAnswered) {
|
|
111
|
+
creation.acknowledge({ success: false });
|
|
112
|
+
setCreationUnresolved(creation.unresolved);
|
|
113
|
+
}
|
|
114
|
+
if (epoch === generation.current)
|
|
115
|
+
setError(cause instanceof Error ? cause.message : 'Schedule operation failed');
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
mutation.current = false;
|
|
120
|
+
setMutationBusy(false);
|
|
121
|
+
if (epoch === generation.current)
|
|
122
|
+
setBusy(false);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
const filteredTasks = useMemo(() => {
|
|
126
|
+
if (!searchQuery.trim())
|
|
127
|
+
return tasks;
|
|
128
|
+
const q = searchQuery.toLowerCase();
|
|
129
|
+
return tasks.filter((t) => t.title.toLowerCase().includes(q) || t.agent.toLowerCase().includes(q) || t.cron.includes(q));
|
|
130
|
+
}, [tasks, searchQuery]);
|
|
131
|
+
const toggleTaskActive = (id) => void execute({ action: tasks.find((task) => task.id === id)?.active ? 'pause' : 'resume', id });
|
|
132
|
+
const deleteTask = (id, _title) => void execute({ action: 'cancel', id });
|
|
133
|
+
const handleCreateTask = async (event) => {
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
if (await execute({ action: 'create', cron: newCron, prompt: newTitle })) {
|
|
136
|
+
setIsAddModalOpen(false);
|
|
137
|
+
setNewTitle('');
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const waiting = busy || mutationBusy;
|
|
141
|
+
if (!currentWorkspace) {
|
|
142
|
+
return (_jsx("div", { className: "flex-1 h-full flex items-center justify-center bg-[#08080a] text-white p-6", children: _jsxs("div", { className: "text-center space-y-2", children: [_jsx(Building2, { className: "w-8 h-8 text-[#57575e] mx-auto" }), _jsx("h2", { className: "text-[14px] font-medium text-[#d8d8de]", children: "No workspace found" }), _jsx("p", { className: "text-[12px] text-[#7f7f86]", children: "Create a workspace to manage automated schedules." })] }) }));
|
|
143
|
+
}
|
|
144
|
+
return (_jsx("div", { className: "flex-1 h-full overflow-y-auto bg-[#08080a] text-white p-5 select-none hide-scrollbar relative", children: _jsxs("div", { className: "max-w-6xl mx-auto space-y-4", children: [_jsx("p", { role: "status", className: "text-[12px] text-amber-200", children: busy ? 'Waiting for scheduler acknowledgement…' : loaded ? `CLI scheduler connected${timeZone ? ` · ${timeZone}` : ''}. Runs while the CLI app-server is open. Cancellation stops future occurrences, not an already running turn.` : 'Scheduler not connected.' }), error && _jsx("p", { role: "alert", className: "text-[12px] text-red-200", children: error }), _jsxs("div", { className: "flex gap-2", children: [_jsx("select", { "aria-label": "Schedule workspace folder", disabled: waiting || creationUnresolved, value: workspaceRoot, onChange: (event) => setSelectedRoot(event.target.value), className: "bg-[#18181a] text-[12px]", children: currentWorkspace.directories.map((root) => _jsx("option", { value: root, children: root }, root)) }), _jsx("button", { type: "button", disabled: waiting, onClick: () => void refresh(), children: "Refresh schedules" })] }), _jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center justify-between gap-3 pb-3 border-b border-white/[0.06]", children: [_jsxs("div", { children: [_jsx("div", { className: "flex items-center gap-2", children: _jsx("span", { className: "text-[10px] font-semibold uppercase tracking-[0.12em] text-[#7f7f86]", children: "SCHEDULED JOBS & SWEEPS" }) }), _jsxs("h1", { className: "text-[18px] font-semibold tracking-tight text-white mt-0.5", children: [currentWorkspace.name, " Scheduled Tasks"] }), _jsxs("p", { className: "text-[12px] text-[#7f7f86] mt-0.5", children: ["Cron sweeps, maintenance automations, and recurring agent routines for \u201C", currentWorkspace.name, "\u201D."] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { type: "button", onClick: onBackToChat, className: "h-7 px-2.5 rounded-[4px] text-[11.5px] text-[#a8a8b1] hover:text-white hover:bg-white/[0.06] transition-colors cursor-pointer", children: "Back to Chat" }), _jsxs("button", { type: "button", onClick: () => setIsAddModalOpen(true), disabled: waiting || !loaded, className: "h-7 px-3 rounded-[4px] bg-[#242428] hover:bg-[#2e2e34] text-[#d8d8de] hover:text-white border border-white/[0.08] font-medium text-[11.5px] flex items-center gap-1.5 transition-all cursor-pointer shadow-sm", children: [_jsx(Plus, { className: "w-3.5 h-3.5" }), _jsx("span", { children: "Schedule Task" })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-4 gap-2.5", children: [_jsxs("div", { className: "bg-[#08080a] border border-white/[0.06] rounded-[6px] p-1 flex flex-col gap-[2px]", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-2.5 py-1 flex items-center justify-between", children: [_jsx("span", { className: "text-[9px] font-semibold uppercase tracking-[0.12em] text-[#7f7f86]", children: "TOTAL JOBS" }), _jsx(Clock, { className: "w-3 h-3 text-[#a8a8b1]" })] }), _jsxs("div", { className: "bg-[#111113] rounded-b-[4px] px-2.5 py-1.5", children: [_jsx("div", { className: "text-[18px] font-semibold tracking-tight text-white", children: tasks.length }), _jsx("div", { className: "text-[10px] text-[#7f7f86]", children: "Configured schedules" })] })] }), _jsxs("div", { className: "bg-[#08080a] border border-white/[0.06] rounded-[6px] p-1 flex flex-col gap-[2px]", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-2.5 py-1 flex items-center justify-between", children: [_jsx("span", { className: "text-[9px] font-semibold uppercase tracking-[0.12em] text-[#7f7f86]", children: "ACTIVE" }), _jsx(CheckCircle2, { className: "w-3 h-3 text-emerald-400" })] }), _jsxs("div", { className: "bg-[#111113] rounded-b-[4px] px-2.5 py-1.5", children: [_jsx("div", { className: "text-[18px] font-semibold tracking-tight text-white", children: tasks.filter((t) => t.active).length }), _jsx("div", { className: "text-[10px] text-[#7f7f86]", children: "Enabled for future runs" })] })] }), _jsxs("div", { className: "bg-[#08080a] border border-white/[0.06] rounded-[6px] p-1 flex flex-col gap-[2px]", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-2.5 py-1 flex items-center justify-between", children: [_jsx("span", { className: "text-[9px] font-semibold uppercase tracking-[0.12em] text-[#7f7f86]", children: "PAUSED" }), _jsx(AlertCircle, { className: "w-3 h-3 text-amber-400" })] }), _jsxs("div", { className: "bg-[#111113] rounded-b-[4px] px-2.5 py-1.5", children: [_jsx("div", { className: "text-[18px] font-semibold tracking-tight text-white", children: tasks.filter((t) => !t.active && !t.cancelled).length }), _jsx("div", { className: "text-[10px] text-[#7f7f86]", children: "Suspended jobs" })] })] }), _jsxs("div", { className: "bg-[#08080a] border border-white/[0.06] rounded-[6px] p-1 flex flex-col gap-[2px]", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-2.5 py-1 flex items-center justify-between", children: [_jsx("span", { className: "text-[9px] font-semibold uppercase tracking-[0.12em] text-[#7f7f86]", children: "EXEC ENGINE" }), _jsx(RotateCw, { className: "w-3 h-3 text-[#a8a8b1]" })] }), _jsxs("div", { className: "bg-[#111113] rounded-b-[4px] px-2.5 py-1.5", children: [_jsx("div", { className: "text-[18px] font-semibold tracking-tight text-white", children: loaded ? 'Connected' : 'Unavailable' }), _jsx("div", { className: "text-[10px] text-[#7f7f86]", children: "Canonical CLI scheduler" })] })] })] }), _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "w-3.5 h-3.5 absolute left-3 top-1/2 -translate-y-1/2 text-[#7f7f86] pointer-events-none" }), _jsx("input", { type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: `Filter ${currentWorkspace.name} scheduled tasks...`, className: "w-full h-8 pl-9 pr-3 rounded-[5px] bg-[#111113] border border-white/[0.06] text-[12px] text-white placeholder-[#57575e] focus:outline-none focus:border-white/[0.2] transition-colors" })] }), _jsx("div", { className: "space-y-2", children: filteredTasks.map((task) => (_jsxs("div", { className: "group flex flex-col bg-[#08080a] border border-white/[0.06] hover:border-white/[0.16] rounded-[6px] p-1 gap-[2px] transition-all duration-150", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-2.5 py-1.5 flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx("button", { type: "button", onClick: () => toggleTaskActive(task.id), disabled: waiting || task.cancelled, className: `w-5 h-5 rounded-[3px] flex items-center justify-center transition-colors cursor-pointer flex-shrink-0 ${task.active
|
|
145
|
+
? 'bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 hover:bg-emerald-500/20'
|
|
146
|
+
: 'bg-white/[0.03] text-[#7f7f86] border border-white/[0.05] hover:bg-white/[0.06]'}`, title: task.active ? 'Pause Schedule' : 'Resume Schedule', children: task.active ? _jsx(Play, { className: "w-2.5 h-2.5 fill-current" }) : _jsx(Pause, { className: "w-2.5 h-2.5" }) }), _jsx("h3", { className: "text-[12.5px] font-medium text-white truncate", children: task.title })] }), _jsx("span", { className: `px-1.5 py-0.5 rounded-[3px] text-[9.5px] font-mono ${task.active
|
|
147
|
+
? 'bg-emerald-500/10 text-emerald-400 border border-emerald-500/20'
|
|
148
|
+
: 'bg-white/[0.03] text-[#7f7f86] border border-white/[0.05]'}`, children: task.cancelled ? 'CANCELLED' : task.active ? 'ACTIVE' : 'PAUSED' })] }), _jsx("div", { className: "bg-[#111113] px-2.5 py-1.5 flex items-center justify-between text-[11px]", children: _jsxs("div", { className: "flex flex-wrap items-center gap-2 text-[#a8a8b1]", children: [_jsx("span", { className: "font-mono text-[#d8d8de] bg-[#0c0c0e] px-1.5 py-0.5 rounded-[3px] border border-white/[0.03]", children: task.cron }), _jsxs("span", { className: "inline-flex items-center gap-1 text-[#a8a8b1]", children: [_jsx(Bot, { className: "w-3 h-3 text-[#7f7f86]" }), _jsx("span", { children: task.agent })] }), _jsxs("span", { className: "text-[#7f7f86]", children: ["Next: ", _jsx("strong", { className: "text-[#a8a8b1] font-normal", children: task.nextRun })] }), _jsxs("span", { className: "text-[#7f7f86]", children: ["Last: ", _jsx("strong", { className: "text-[#a8a8b1] font-normal", children: task.lastRun })] })] }) }), _jsxs("div", { className: "bg-[#161618] rounded-b-[4px] px-2.5 py-1.5 flex items-center justify-between", children: [_jsxs("span", { className: "text-[10px] text-[#57575e] font-mono", children: ["ID: ", task.id] }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("button", { type: "button", onClick: () => toggleTaskActive(task.id), disabled: waiting || task.cancelled, className: "h-6 px-2 rounded-[3px] bg-[#242428] hover:bg-[#2e2e34] text-[#d8d8de] hover:text-white border border-white/[0.06] text-[11px] transition-colors cursor-pointer", children: task.cancelled ? 'Cancelled' : task.active ? 'Pause' : 'Resume' }), _jsx("button", { type: "button", onClick: () => deleteTask(task.id, task.title), disabled: waiting || task.cancelled, className: "p-1 rounded-[3px] text-[#7f7f86] hover:text-rose-400 hover:bg-rose-500/10 transition-colors cursor-pointer", title: "Cancel future occurrences", children: _jsx(Trash2, { className: "w-3 h-3" }) }), _jsx("button", { type: "button", disabled: waiting, onClick: () => void execute({ action: 'history', id: task.id }), children: "Run history" })] })] })] }, task.id))) }), history && _jsxs("section", { "aria-label": "Schedule run history", className: "text-[12px] space-y-2", children: [_jsxs("h2", { children: ["Run history (latest 100 occurrences) \u00B7 ", history.id] }), history.runs.length === 0 ? _jsx("p", { children: "No runs recorded." }) : history.runs.map((run) => _jsxs("div", { children: [_jsxs("span", { children: [new Date(run.startedAt).toLocaleString(), " \u00B7 ", run.status] }), run.error && _jsx("p", { role: "alert", children: run.error })] }, run.id)), _jsx("button", { type: "button", onClick: () => setHistory(null), children: "Close history" })] }), isAddModalOpen && (_jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/75 backdrop-blur-xs p-4", children: _jsxs("div", { className: "w-full max-w-md bg-[#08080a] border border-white/[0.08] rounded-[6px] p-1.5 flex flex-col gap-[2px] shadow-2xl", children: [_jsxs("div", { className: "bg-[#18181a] rounded-t-[4px] px-3 py-2 flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-[#a8a8b1]" }), _jsx("span", { className: "text-[13px] font-medium text-white", children: "Schedule Recurring Automation" })] }), _jsx("button", { type: "button", onClick: () => setIsAddModalOpen(false), disabled: waiting || creationUnresolved, "aria-label": "Close schedule form", className: "p-1 rounded-[3px] text-[#7f7f86] hover:text-white hover:bg-white/[0.06]", children: _jsx(X, { className: "w-3.5 h-3.5" }) })] }), _jsxs("form", { onSubmit: handleCreateTask, children: [error && _jsx("p", { role: "alert", className: "p-3 text-[12px] text-red-200", children: error }), creationUnresolved && _jsx("p", { role: "status", children: "Creation acknowledgement is unknown. Retry the original operation to find its durable result before changing this draft." }), _jsxs("div", { className: "bg-[#111113] px-3 py-3 space-y-2.5", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("label", { htmlFor: "schedule-prompt", className: "text-[11.5px] text-[#a8a8b1]", children: "Task instructions" }), _jsx("input", { id: "schedule-prompt", type: "text", required: true, disabled: waiting || creationUnresolved, value: newTitle, onChange: (e) => setNewTitle(e.target.value), placeholder: "e.g. Nightly Build Sweep, Security Scan", className: "w-full h-8 px-2.5 rounded-[4px] bg-[#0c0c0e] border border-white/[0.06] text-[12px] text-white focus:outline-none focus:border-white/20" })] }), _jsxs("div", { className: "space-y-1", children: [_jsx("label", { htmlFor: "schedule-cron", className: "text-[11.5px] text-[#a8a8b1]", children: "Cron Expression (server local time)" }), _jsx("input", { id: "schedule-cron", type: "text", required: true, disabled: waiting || creationUnresolved, value: newCron, onChange: (e) => setNewCron(e.target.value), placeholder: "0 9 * * * (daily at 9am)", className: "w-full h-8 px-2.5 rounded-[4px] bg-[#0c0c0e] border border-white/[0.06] font-mono text-[12px] text-white focus:outline-none focus:border-white/20" })] }), _jsx("p", { className: "text-[11px]", children: "Uses the connected CLI app-server model and permissions. The prompt executes automatically on this machine." })] }), _jsxs("div", { className: "bg-[#161618] rounded-b-[4px] px-3 py-2 flex items-center justify-end gap-2", children: [_jsx("button", { type: "button", onClick: () => setIsAddModalOpen(false), disabled: waiting || creationUnresolved, className: "h-6.5 px-2.5 rounded-[3px] text-[11.5px] text-[#7f7f86] hover:text-[#d8d8de] hover:bg-white/[0.06]", children: "Cancel" }), _jsx("button", { type: "submit", disabled: waiting, className: "h-6.5 px-3 rounded-[3px] bg-[#242428] hover:bg-[#2e2e34] text-[#d8d8de] hover:text-white border border-white/[0.08] text-[11.5px] font-medium", children: creationUnresolved ? 'Retry original schedule' : 'Schedule Job' })] })] })] }) }))] }) }));
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=ScheduledWorkspaceView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScheduledWorkspaceView.js","sourceRoot":"","sources":["../../../src/components/agent/ScheduledWorkspaceView.tsx"],"names":[],"mappings":"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"}
|