@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
|
@@ -10,6 +10,9 @@ function integer(value) {
|
|
|
10
10
|
function records(value) {
|
|
11
11
|
return Array.isArray(value) ? value.map(record).filter((entry) => !!entry) : [];
|
|
12
12
|
}
|
|
13
|
+
function stringList(value) {
|
|
14
|
+
return Array.isArray(value) ? value.map(text).filter((entry) => !!entry) : [];
|
|
15
|
+
}
|
|
13
16
|
/** Runtime validation at the UI boundary; persisted state is not trusted JSX input. */
|
|
14
17
|
export function projectDevelopmentCoordinationState(value) {
|
|
15
18
|
const state = record(value);
|
|
@@ -24,10 +27,19 @@ export function projectDevelopmentCoordinationState(value) {
|
|
|
24
27
|
const goals = records(state.goals);
|
|
25
28
|
const goalRecord = [...goals].reverse().find((candidate) => !['completed', 'failed', 'cancelled'].includes(text(candidate.status) ?? '')) ?? goals.at(-1);
|
|
26
29
|
const progressRecord = record(goalRecord?.progress);
|
|
30
|
+
const verificationRecord = record(goalRecord?.verification);
|
|
31
|
+
const criterionResults = records(verificationRecord?.criteria);
|
|
27
32
|
const criteria = records(goalRecord?.successCriteria)
|
|
28
|
-
.flatMap((criterion) => {
|
|
33
|
+
.flatMap((criterion, index) => {
|
|
29
34
|
const description = text(criterion.description);
|
|
30
|
-
|
|
35
|
+
const id = text(criterion.id);
|
|
36
|
+
const result = id ? criterionResults.find((entry) => text(entry.criterionId) === id) : undefined;
|
|
37
|
+
const reason = text(result?.reason);
|
|
38
|
+
const evaluatedAt = text(result?.evaluatedAt);
|
|
39
|
+
return description ? [{ id: id ?? `legacy-${index}`, description, required: criterion.required !== false,
|
|
40
|
+
...(result && typeof result.satisfied === 'boolean' && reason && evaluatedAt
|
|
41
|
+
? { result: { satisfied: result.satisfied, reason, evaluatedAt, evidence: stringList(result.evidence) } } : {}),
|
|
42
|
+
}] : [];
|
|
31
43
|
});
|
|
32
44
|
const milestones = records(goalRecord?.milestones);
|
|
33
45
|
const tasks = records(goalRecord?.tasks);
|
|
@@ -37,9 +49,6 @@ export function projectDevelopmentCoordinationState(value) {
|
|
|
37
49
|
?? milestones.find((entry) => text(entry.status) === 'active');
|
|
38
50
|
const taskRecord = tasks.find((entry) => text(entry.id) === currentTaskId)
|
|
39
51
|
?? tasks.find((entry) => text(entry.status) === 'running');
|
|
40
|
-
const stringList = (input) => Array.isArray(input)
|
|
41
|
-
? input.map(text).filter((entry) => !!entry)
|
|
42
|
-
: [];
|
|
43
52
|
const loops = records(state.loops);
|
|
44
53
|
const loopRecord = [...loops].reverse().find((candidate) => !['stopped', 'completed', 'failed'].includes(text(candidate.status) ?? '')) ?? loops.at(-1);
|
|
45
54
|
return {
|
|
@@ -64,6 +73,14 @@ export function projectDevelopmentCoordinationState(value) {
|
|
|
64
73
|
outstanding: stringList(progressRecord?.outstanding),
|
|
65
74
|
decisions: stringList(progressRecord?.decisions),
|
|
66
75
|
criteria,
|
|
76
|
+
verification: {
|
|
77
|
+
status: text(verificationRecord?.status) ?? 'pending',
|
|
78
|
+
satisfied: criteria.filter((criterion) => criterion.result?.satisfied === true).length,
|
|
79
|
+
failed: criteria.filter((criterion) => criterion.result?.satisfied === false).length,
|
|
80
|
+
pending: criteria.filter((criterion) => !criterion.result).length,
|
|
81
|
+
...(text(verificationRecord?.summary) ? { summary: text(verificationRecord?.summary) } : {}),
|
|
82
|
+
evidence: stringList(verificationRecord?.evidence),
|
|
83
|
+
},
|
|
67
84
|
},
|
|
68
85
|
}
|
|
69
86
|
: {}),
|
|
@@ -76,6 +93,18 @@ export function projectDevelopmentCoordinationState(value) {
|
|
|
76
93
|
status: text(loopRecord.status),
|
|
77
94
|
...(text(loopRecord.currentActivity) ? { activity: text(loopRecord.currentActivity) } : {}),
|
|
78
95
|
iterations: records(loopRecord.iterations).length,
|
|
96
|
+
history: records(loopRecord.iterations).flatMap((iteration) => {
|
|
97
|
+
const number = integer(iteration.number);
|
|
98
|
+
const status = text(iteration.status);
|
|
99
|
+
const startedAt = text(iteration.startedAt);
|
|
100
|
+
if (number === undefined || number < 1 || !status || !startedAt)
|
|
101
|
+
return [];
|
|
102
|
+
return [{ number, status, startedAt, activity: text(iteration.activity) ?? '',
|
|
103
|
+
...(text(iteration.completedAt) ? { completedAt: text(iteration.completedAt) } : {}),
|
|
104
|
+
...(text(iteration.error) ? { error: text(iteration.error) } : {}),
|
|
105
|
+
...(text(iteration.verificationEventId) ? { verificationEventId: text(iteration.verificationEventId) } : {}),
|
|
106
|
+
}];
|
|
107
|
+
}),
|
|
79
108
|
},
|
|
80
109
|
}
|
|
81
110
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developmentCoordinationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/developmentCoordinationProjection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"developmentCoordinationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/developmentCoordinationProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ConversationEditorFile } from '../../types/agentEditor.js';
|
|
2
|
+
import type { AgentWorkspaceFileWriteResult } from '@xenosystem/agent-interface-contract';
|
|
3
|
+
export declare function editorRecoveryFiles(result: AgentWorkspaceFileWriteResult | null | undefined): string;
|
|
4
|
+
/** Only an acknowledged commit may clear a draft. Old bridges have no outcome;
|
|
5
|
+
* their success flag remains supported, but never overrides a typed refusal. */
|
|
6
|
+
export declare function editorSaveFailure(result: AgentWorkspaceFileWriteResult | null | undefined, name: string): string | null;
|
|
7
|
+
/** Older saved sessions have tabs but no mode. Restore their editor, while an
|
|
8
|
+
* explicit Chat/Agent pane choice remains authoritative for newer sessions. */
|
|
9
|
+
export declare function resolveEditorPaneMode(mode: unknown, tabCount: number): 'agent' | 'editor' | 'split';
|
|
10
|
+
/** Guards asynchronous editor results against navigation (including A -> B -> A),
|
|
11
|
+
* close/reopen, and overlapping writes. It does not claim filesystem CAS. */
|
|
12
|
+
export declare class EditorOperationAuthority {
|
|
13
|
+
private scope;
|
|
14
|
+
private generation;
|
|
15
|
+
private incarnations;
|
|
16
|
+
private pending;
|
|
17
|
+
selectScope(scope: string | null): void;
|
|
18
|
+
capture(path: string): () => boolean;
|
|
19
|
+
invalidate(path: string): void;
|
|
20
|
+
beginSave(path: string): {
|
|
21
|
+
current: () => boolean;
|
|
22
|
+
finish: () => void;
|
|
23
|
+
} | undefined;
|
|
24
|
+
isSaving(path?: string): boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function acknowledgeEditorSave(file: ConversationEditorFile, submittedContent: string, now: number): ConversationEditorFile;
|
|
27
|
+
/** A disk refresh may replace only the unchanged, clean snapshot it started with. */
|
|
28
|
+
export declare function reconcileEditorRefresh(file: ConversationEditorFile, snapshot: ConversationEditorFile, content: string, now: number): ConversationEditorFile;
|
|
29
|
+
//# sourceMappingURL=editorOperationAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorOperationAuthority.d.ts","sourceRoot":"","sources":["../../../src/components/agent/editorOperationAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AAEzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGpG;AAED;gFACgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvH;AAED;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAGnG;AAED;6EAC6E;AAC7E,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,OAAO,CAAoB;IAEnC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,OAAO;IAMpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,SAAS;IAenF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;CAGjC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAEjI;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAG3J"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export function editorRecoveryFiles(result) {
|
|
2
|
+
const recovery = [...new Set(result?.recoveryPaths ?? [])].filter(Boolean);
|
|
3
|
+
return recovery.length ? ` Recovery files: ${recovery.join(' ; ')}` : '';
|
|
4
|
+
}
|
|
5
|
+
/** Only an acknowledged commit may clear a draft. Old bridges have no outcome;
|
|
6
|
+
* their success flag remains supported, but never overrides a typed refusal. */
|
|
7
|
+
export function editorSaveFailure(result, name) {
|
|
8
|
+
if (result?.success && (result.outcome === undefined || result.outcome === 'committed'))
|
|
9
|
+
return null;
|
|
10
|
+
const message = result?.outcome === 'uncertain'
|
|
11
|
+
? `Save outcome is uncertain. ${name}: your draft remains unsaved. Inspect the file and recovery copies before retrying.`
|
|
12
|
+
: result?.error || `Failed to save ${name}. Your draft remains unsaved.`;
|
|
13
|
+
return message + editorRecoveryFiles(result);
|
|
14
|
+
}
|
|
15
|
+
/** Older saved sessions have tabs but no mode. Restore their editor, while an
|
|
16
|
+
* explicit Chat/Agent pane choice remains authoritative for newer sessions. */
|
|
17
|
+
export function resolveEditorPaneMode(mode, tabCount) {
|
|
18
|
+
if (tabCount === 0 || mode === 'agent')
|
|
19
|
+
return 'agent';
|
|
20
|
+
return mode === 'split' ? 'split' : 'editor';
|
|
21
|
+
}
|
|
22
|
+
/** Guards asynchronous editor results against navigation (including A -> B -> A),
|
|
23
|
+
* close/reopen, and overlapping writes. It does not claim filesystem CAS. */
|
|
24
|
+
export class EditorOperationAuthority {
|
|
25
|
+
scope = null;
|
|
26
|
+
generation = 0;
|
|
27
|
+
incarnations = new Map();
|
|
28
|
+
pending = new Set();
|
|
29
|
+
selectScope(scope) {
|
|
30
|
+
if (scope === this.scope)
|
|
31
|
+
return;
|
|
32
|
+
this.scope = scope;
|
|
33
|
+
this.generation++;
|
|
34
|
+
this.incarnations.clear();
|
|
35
|
+
}
|
|
36
|
+
capture(path) {
|
|
37
|
+
const generation = this.generation;
|
|
38
|
+
const incarnation = this.incarnations.get(path) ?? 0;
|
|
39
|
+
return () => generation === this.generation && incarnation === (this.incarnations.get(path) ?? 0);
|
|
40
|
+
}
|
|
41
|
+
invalidate(path) {
|
|
42
|
+
this.incarnations.set(path, (this.incarnations.get(path) ?? 0) + 1);
|
|
43
|
+
}
|
|
44
|
+
beginSave(path) {
|
|
45
|
+
// File writes affect disk even if the user switches conversations. Serialize by
|
|
46
|
+
// path, not by the currently viewed conversation, until the actual ACK arrives.
|
|
47
|
+
const key = path.replace(/\\/g, '/').toLowerCase();
|
|
48
|
+
if (this.pending.has(key))
|
|
49
|
+
return undefined;
|
|
50
|
+
this.pending.add(key);
|
|
51
|
+
let finished = false;
|
|
52
|
+
const current = this.capture(path);
|
|
53
|
+
return { current: () => !finished && current(), finish: () => {
|
|
54
|
+
if (finished)
|
|
55
|
+
return;
|
|
56
|
+
finished = true;
|
|
57
|
+
this.pending.delete(key);
|
|
58
|
+
} };
|
|
59
|
+
}
|
|
60
|
+
isSaving(path) {
|
|
61
|
+
return path === undefined ? this.pending.size > 0 : this.pending.has(path.replace(/\\/g, '/').toLowerCase());
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function acknowledgeEditorSave(file, submittedContent, now) {
|
|
65
|
+
return { ...file, savedContent: submittedContent, isDirty: file.content !== submittedContent, lastSavedAt: now };
|
|
66
|
+
}
|
|
67
|
+
/** A disk refresh may replace only the unchanged, clean snapshot it started with. */
|
|
68
|
+
export function reconcileEditorRefresh(file, snapshot, content, now) {
|
|
69
|
+
if (snapshot.isDirty || file.isDirty || file.content !== snapshot.content || file.savedContent !== snapshot.savedContent)
|
|
70
|
+
return file;
|
|
71
|
+
return { ...file, content, savedContent: content, isDirty: false, lastSavedAt: now };
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=editorOperationAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorOperationAuthority.js","sourceRoot":"","sources":["../../../src/components/agent/editorOperationAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgePagination.d.ts","sourceRoot":"","sources":["../../../src/components/agent/knowledgePagination.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM;;;;EAI7E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const KNOWLEDGE_PAGE_SIZE = 20;
|
|
2
|
+
export function pageKnowledgeRows(rows, requestedPage) {
|
|
3
|
+
const pages = Math.max(1, Math.ceil(rows.length / KNOWLEDGE_PAGE_SIZE));
|
|
4
|
+
const page = Math.min(pages - 1, Math.max(0, Number.isFinite(requestedPage) ? Math.floor(requestedPage) : 0));
|
|
5
|
+
return { page, pages, rows: rows.slice(page * KNOWLEDGE_PAGE_SIZE, (page + 1) * KNOWLEDGE_PAGE_SIZE) };
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=knowledgePagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgePagination.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePagination.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA;AACrC,MAAM,UAAU,iBAAiB,CAAI,IAAkB,EAAE,aAAqB;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7G,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAA;AACxG,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type KnowledgeBoard } from '@xenosystem/agent-interface-core';
|
|
2
|
+
import type { XenoAPI } from '../../platformApiTypes.js';
|
|
3
|
+
export interface KnowledgePanelState {
|
|
4
|
+
board: KnowledgeBoard | null;
|
|
5
|
+
available: boolean;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
subject: string;
|
|
8
|
+
fact: string;
|
|
9
|
+
problem: string | null;
|
|
10
|
+
}
|
|
11
|
+
/** One scoped controller per mounted workspace. No optimistic success or cross-scope callbacks. */
|
|
12
|
+
export declare class KnowledgePanelController {
|
|
13
|
+
readonly workspaceId: string;
|
|
14
|
+
private readonly getRunId;
|
|
15
|
+
private readonly bridge;
|
|
16
|
+
private state;
|
|
17
|
+
private readonly listeners;
|
|
18
|
+
private generation;
|
|
19
|
+
constructor(workspaceId: string, getRunId: () => string, bridge: () => XenoAPI['knowledge'] | undefined);
|
|
20
|
+
getSnapshot: () => KnowledgePanelState;
|
|
21
|
+
subscribe: (listener: () => void) => (() => void);
|
|
22
|
+
private set;
|
|
23
|
+
edit(patch: Partial<Pick<KnowledgePanelState, 'subject' | 'fact'>>): void;
|
|
24
|
+
/** Invalidate completions on unmount; already-admitted host writes are not pretended cancelled. */
|
|
25
|
+
invalidate(): void;
|
|
26
|
+
private authority;
|
|
27
|
+
private load;
|
|
28
|
+
refresh(): Promise<void>;
|
|
29
|
+
record(pinned: boolean): Promise<void>;
|
|
30
|
+
forget(entryId: string): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=knowledgePanelController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgePanelController.d.ts","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAGD,mGAAmG;AACnG,qBAAa,wBAAwB;IAIvB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAgB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1G,OAAO,CAAC,KAAK,CAA4G;IACzH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,UAAU,CAAI;gBACD,WAAW,EAAE,MAAM,EAAmB,QAAQ,EAAE,MAAM,MAAM,EAAmB,MAAM,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS;IAClJ,WAAW,QAAO,mBAAmB,CAAc;IACnD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAsF;IACtI,OAAO,CAAC,GAAG;IACX,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;IACzE,mGAAmG;IACnG,UAAU,IAAI,IAAI;IAClB,OAAO,CAAC,SAAS;YAKH,IAAI;IAKZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASxB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB7C"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { projectKnowledgeBoard } from '@xenosystem/agent-interface-core';
|
|
2
|
+
const failure = (error) => error instanceof Error ? error.message.slice(0, 2000) : 'The Agent host could not complete the knowledge request.';
|
|
3
|
+
/** One scoped controller per mounted workspace. No optimistic success or cross-scope callbacks. */
|
|
4
|
+
export class KnowledgePanelController {
|
|
5
|
+
workspaceId;
|
|
6
|
+
getRunId;
|
|
7
|
+
bridge;
|
|
8
|
+
state = { board: null, available: false, busy: false, subject: '', fact: '', problem: null };
|
|
9
|
+
listeners = new Set();
|
|
10
|
+
generation = 0;
|
|
11
|
+
constructor(workspaceId, getRunId, bridge) {
|
|
12
|
+
this.workspaceId = workspaceId;
|
|
13
|
+
this.getRunId = getRunId;
|
|
14
|
+
this.bridge = bridge;
|
|
15
|
+
}
|
|
16
|
+
getSnapshot = () => this.state;
|
|
17
|
+
subscribe = (listener) => { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; };
|
|
18
|
+
set(patch) { this.state = { ...this.state, ...patch }; for (const notify of this.listeners)
|
|
19
|
+
notify(); }
|
|
20
|
+
edit(patch) { this.set(patch); }
|
|
21
|
+
/** Invalidate completions on unmount; already-admitted host writes are not pretended cancelled. */
|
|
22
|
+
invalidate() { this.generation++; this.set({ busy: false }); }
|
|
23
|
+
authority() {
|
|
24
|
+
const api = this.bridge();
|
|
25
|
+
if (!api)
|
|
26
|
+
throw new Error('This surface cannot reach the Agent host.');
|
|
27
|
+
return api;
|
|
28
|
+
}
|
|
29
|
+
async load(api, generation) {
|
|
30
|
+
const result = await api.list({ workspaceId: this.workspaceId });
|
|
31
|
+
if (generation !== this.generation)
|
|
32
|
+
return;
|
|
33
|
+
this.set({ board: projectKnowledgeBoard(result), available: result.available, problem: result.available ? null : result.reason ?? 'Workspace knowledge is unavailable.' });
|
|
34
|
+
}
|
|
35
|
+
async refresh() {
|
|
36
|
+
if (this.state.busy)
|
|
37
|
+
return;
|
|
38
|
+
const generation = ++this.generation;
|
|
39
|
+
this.set({ busy: true, problem: null });
|
|
40
|
+
try {
|
|
41
|
+
await this.load(this.authority(), generation);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (generation === this.generation)
|
|
45
|
+
this.set({ available: false, board: projectKnowledgeBoard({ available: false, durable: false, entries: [], reason: 'Workspace knowledge could not be loaded.' }), problem: failure(error) });
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
if (generation === this.generation)
|
|
49
|
+
this.set({ busy: false });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async record(pinned) {
|
|
53
|
+
if (this.state.busy)
|
|
54
|
+
return;
|
|
55
|
+
const submitted = { subject: this.state.subject, fact: this.state.fact };
|
|
56
|
+
const subject = submitted.subject.trim(), fact = submitted.fact.trim();
|
|
57
|
+
if (!subject || !fact || subject.length > 256 || fact.length > 16384 || /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/.test(subject + fact)) {
|
|
58
|
+
this.set({ problem: 'Enter a subject (up to 256 characters) and a fact (up to 16,384 characters), without control characters.' });
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const generation = ++this.generation;
|
|
62
|
+
this.set({ busy: true, problem: null });
|
|
63
|
+
let acknowledged = false;
|
|
64
|
+
try {
|
|
65
|
+
const api = this.authority();
|
|
66
|
+
const result = await api.record({ workspaceId: this.workspaceId, runId: this.getRunId(), subject, fact, ...(pinned ? { pinned: true } : {}) });
|
|
67
|
+
if (generation !== this.generation)
|
|
68
|
+
return;
|
|
69
|
+
if (!result.ok) {
|
|
70
|
+
this.set({ problem: result.reason ?? 'That fact could not be recorded.' });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!result.entry?.id) {
|
|
74
|
+
this.set({ problem: 'The host did not acknowledge the recorded fact. Refresh before retrying.' });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
acknowledged = true;
|
|
78
|
+
// Editing during a request must not lose the new draft on an older ACK.
|
|
79
|
+
this.set({ ...(this.state.subject === submitted.subject ? { subject: '' } : {}), ...(this.state.fact === submitted.fact ? { fact: '' } : {}) });
|
|
80
|
+
await this.load(api, generation);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (generation === this.generation)
|
|
84
|
+
this.set({ problem: `${acknowledged ? 'Fact recorded, but refreshing failed: ' : ''}${failure(error)}` });
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
if (generation === this.generation)
|
|
88
|
+
this.set({ busy: false });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async forget(entryId) {
|
|
92
|
+
if (this.state.busy)
|
|
93
|
+
return;
|
|
94
|
+
const generation = ++this.generation;
|
|
95
|
+
this.set({ busy: true, problem: null });
|
|
96
|
+
let acknowledged = false;
|
|
97
|
+
try {
|
|
98
|
+
const api = this.authority();
|
|
99
|
+
const result = await api.forget({ workspaceId: this.workspaceId, entryId });
|
|
100
|
+
if (generation !== this.generation)
|
|
101
|
+
return;
|
|
102
|
+
if (!result.ok) {
|
|
103
|
+
this.set({ problem: result.reason ?? 'That fact could not be forgotten.' });
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
acknowledged = true;
|
|
107
|
+
await this.load(api, generation);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
if (generation === this.generation)
|
|
111
|
+
this.set({ problem: `${acknowledged ? 'Fact forgotten, but refreshing failed: ' : ''}${failure(error)}` });
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
if (generation === this.generation)
|
|
115
|
+
this.set({ busy: false });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=knowledgePanelController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgePanelController.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"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"}
|
|
@@ -223,4 +223,4 @@ export function SkeletonBlock({ className = '' }) {
|
|
|
223
223
|
export function EditorPaneSkeleton({ title, subtitle, }) {
|
|
224
224
|
return (_jsxs("div", { className: "h-full min-h-0 flex flex-col xeno-app-shell border-t xeno-border-subtle", children: [_jsxs("div", { className: "h-9 flex items-center justify-between gap-4 px-3 border-b xeno-border-subtle xeno-chrome-shell", children: [_jsxs("div", { className: "min-w-0 flex items-center gap-2 flex-1", children: [_jsx(SkeletonBlock, { className: "h-3.5 w-3.5 flex-shrink-0" }), _jsx(SkeletonBlock, { className: "h-3 w-28" }), _jsx("span", { className: "text-white/18", children: "/" }), _jsx(SkeletonBlock, { className: "h-3 w-24" })] }), _jsxs("div", { className: "flex items-center gap-2 flex-shrink-0", children: [_jsx(SkeletonBlock, { className: "h-6 w-16" }), _jsx(SkeletonBlock, { className: "h-6 w-14" })] })] }), _jsxs("div", { className: "flex-1 min-h-0 flex", children: [_jsx("div", { className: "w-12 flex-shrink-0 border-r border-white/[0.04] px-3 py-4 space-y-3", children: Array.from({ length: 12 }).map((_, index) => (_jsx(SkeletonBlock, { className: "h-3 w-full" }, index))) }), _jsxs("div", { className: "flex-1 min-h-0 px-6 py-5", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.22em] text-white/30", children: title }), _jsx("p", { className: "mt-1 text-[11px] text-white/22", children: subtitle }), _jsx("div", { className: "mt-6 space-y-3", children: Array.from({ length: 14 }).map((_, index) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsx(SkeletonBlock, { className: "h-3 w-8 flex-shrink-0" }), _jsx(SkeletonBlock, { className: `${index % 4 === 0 ? 'w-[68%]' : index % 4 === 1 ? 'w-[82%]' : index % 4 === 2 ? 'w-[74%]' : 'w-[58%]'} h-3` })] }, index))) })] })] })] }));
|
|
225
225
|
}
|
|
226
|
-
//# sourceMappingURL=monacoWorkbenchShared.js.map
|
|
226
|
+
//# sourceMappingURL=monacoWorkbenchShared.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AgentProviderListResult } from '@xenosystem/agent-interface-contract';
|
|
2
|
+
import type { HubAgentRuntimeSelection } from '../../types/agentRuntimeProvider.js';
|
|
3
|
+
export interface OnboardingModel {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
source: 'cloud' | 'local' | 'acp';
|
|
7
|
+
provider: string;
|
|
8
|
+
acpAgentConfigId?: string;
|
|
9
|
+
contextWindowTokens?: number;
|
|
10
|
+
}
|
|
11
|
+
/** A model ID alone is not a provider identity. Never dispatch these UI keys. */
|
|
12
|
+
export declare function onboardingModelKey(model: OnboardingModel): string;
|
|
13
|
+
export declare function onboardingRuntimeSelection(model: OnboardingModel): HubAgentRuntimeSelection;
|
|
14
|
+
export declare function onboardingAcpModels(catalog: AgentProviderListResult): OnboardingModel[];
|
|
15
|
+
export declare function onboardingCloudModels(catalog: AgentProviderListResult): OnboardingModel[];
|
|
16
|
+
/** Uses the same host catalog as the composer; no static fallback or inferred scores. */
|
|
17
|
+
export declare function useOnboardingModels(): {
|
|
18
|
+
models: OnboardingModel[];
|
|
19
|
+
loading: boolean;
|
|
20
|
+
errors: Partial<Record<"acp" | "local" | "cloud", string>>;
|
|
21
|
+
refresh: (force?: boolean) => Promise<OnboardingModel[]>;
|
|
22
|
+
};
|
|
23
|
+
export declare function validateOnboardingPlacement(workspaces: Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
isArchived?: boolean;
|
|
26
|
+
teams: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
isArchived?: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
}>, workspace: string, team: string, workspaceName: string, teamName: string): boolean;
|
|
31
|
+
//# sourceMappingURL=onboardingModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingModels.d.ts","sourceRoot":"","sources":["../../../src/components/agent/onboardingModels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAKnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAGnF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAEjE;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,wBAAwB,CAO3F;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAUvF;AAGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE,CASzF;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB;;;;kCAQkB,OAAO,CAAC,eAAe,EAAE,CAAC;EAuC9E;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK1O"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { loadHubAgentProviderCatalog, refreshHubAgentProviderCatalog, subscribeHubAgentProviderCatalog } from '../../adapters/xenoAgentHostCatalog.js';
|
|
3
|
+
import { projectAdvertisedModels } from '../../utils/advertisedReasoning.js';
|
|
4
|
+
import { isSelectableLiveModel } from '../../utils/modelAvailability.js';
|
|
5
|
+
import { getAuxiliaryInferenceBridge } from '../../platformBridge.js';
|
|
6
|
+
import { availableAcpConfigIds } from '../../utils/providerAvailability.js';
|
|
7
|
+
/** A model ID alone is not a provider identity. Never dispatch these UI keys. */
|
|
8
|
+
export function onboardingModelKey(model) {
|
|
9
|
+
return JSON.stringify([model.source, model.acpAgentConfigId ?? '', model.id]);
|
|
10
|
+
}
|
|
11
|
+
export function onboardingRuntimeSelection(model) {
|
|
12
|
+
if (model.source === 'acp') {
|
|
13
|
+
if (!model.acpAgentConfigId)
|
|
14
|
+
throw new Error('ACP model is missing its provider binding.');
|
|
15
|
+
return { providerKind: 'acp-provider', providerId: model.acpAgentConfigId, acpAgentConfigId: model.acpAgentConfigId,
|
|
16
|
+
providerModel: model.id, selectedAt: Date.now(), selectedBy: 'user' };
|
|
17
|
+
}
|
|
18
|
+
return { providerKind: 'sdk-native', providerId: 'sdk-native', selectedAt: Date.now(), selectedBy: 'user' };
|
|
19
|
+
}
|
|
20
|
+
export function onboardingAcpModels(catalog) {
|
|
21
|
+
const available = availableAcpConfigIds(catalog.providers);
|
|
22
|
+
return catalog.providers.flatMap(provider => {
|
|
23
|
+
const configId = provider.id.startsWith('acp:') ? provider.id.slice(4) : provider.id;
|
|
24
|
+
if (provider.kind !== 'acp' || !available.has(configId))
|
|
25
|
+
return [];
|
|
26
|
+
return projectAdvertisedModels(provider).filter(isSelectableLiveModel).map(model => ({
|
|
27
|
+
id: model.id, name: model.displayName || model.id, source: 'acp',
|
|
28
|
+
provider: provider.displayName, acpAgentConfigId: configId, contextWindowTokens: model.contextWindowTokens,
|
|
29
|
+
}));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const catalogModels = (catalog) => [...onboardingCloudModels(catalog), ...onboardingAcpModels(catalog)];
|
|
33
|
+
export function onboardingCloudModels(catalog) {
|
|
34
|
+
// Created agents use the SDK-native runner. Hosted relay availability does
|
|
35
|
+
// not establish direct inference credentials for that runner.
|
|
36
|
+
const provider = catalog.providers.find(entry => entry.id === 'sdk-native');
|
|
37
|
+
if (!provider || !isSelectableLiveModel(provider))
|
|
38
|
+
return [];
|
|
39
|
+
return projectAdvertisedModels(provider).filter(model => isSelectableLiveModel(model) && !model.id.startsWith('local:')).map(model => ({
|
|
40
|
+
id: model.id, name: model.displayName || model.id, source: 'cloud',
|
|
41
|
+
provider: provider.displayName, contextWindowTokens: model.contextWindowTokens,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
/** Uses the same host catalog as the composer; no static fallback or inferred scores. */
|
|
45
|
+
export function useOnboardingModels() {
|
|
46
|
+
const [models, setModels] = useState([]);
|
|
47
|
+
const [loading, setLoading] = useState(true);
|
|
48
|
+
const [errors, setErrors] = useState({});
|
|
49
|
+
const generation = useRef(0);
|
|
50
|
+
const cloudRevision = useRef(0);
|
|
51
|
+
const latestCloud = useRef([]);
|
|
52
|
+
const mounted = useRef(false);
|
|
53
|
+
const refresh = useCallback(async (force = false) => {
|
|
54
|
+
const epoch = ++generation.current;
|
|
55
|
+
const readCloudRevision = cloudRevision.current;
|
|
56
|
+
setLoading(true);
|
|
57
|
+
const [cloud, local] = await Promise.allSettled([
|
|
58
|
+
force ? refreshHubAgentProviderCatalog({ force: true }) : loadHubAgentProviderCatalog(),
|
|
59
|
+
Promise.resolve().then(() => getAuxiliaryInferenceBridge().localModels()),
|
|
60
|
+
]);
|
|
61
|
+
const nextErrors = {};
|
|
62
|
+
let next = cloud.status === 'fulfilled' ? catalogModels(cloud.value) : [];
|
|
63
|
+
if (cloud.status === 'rejected')
|
|
64
|
+
nextErrors.cloud = 'The live cloud model catalog could not be loaded.';
|
|
65
|
+
else if (!next.some(m => m.source === 'cloud'))
|
|
66
|
+
nextErrors.cloud = cloud.value.providers.find(p => p.id === 'sdk-native')?.safeUnavailableReason || 'No available direct cloud models.';
|
|
67
|
+
if (!next.some(m => m.source === 'acp'))
|
|
68
|
+
nextErrors.acp = 'No available ACP provider models. Enable and approve a provider in Settings, then refresh.';
|
|
69
|
+
if (local.status === 'fulfilled' && local.value.success) {
|
|
70
|
+
next = next.concat(local.value.models.map(m => ({ id: m.id, name: m.name, source: 'local', provider: 'XENO RT' })));
|
|
71
|
+
}
|
|
72
|
+
else
|
|
73
|
+
nextErrors.local = local.status === 'fulfilled' ? local.value.error || 'Local model discovery failed.' : 'Local model discovery failed.';
|
|
74
|
+
if (readCloudRevision !== cloudRevision.current)
|
|
75
|
+
next = [...latestCloud.current, ...next.filter(model => model.source === 'local')];
|
|
76
|
+
if (mounted.current && epoch === generation.current) {
|
|
77
|
+
setModels(previous => readCloudRevision === cloudRevision.current ? next : [...previous.filter(m => m.source !== 'local'), ...next.filter(m => m.source === 'local')]);
|
|
78
|
+
setErrors(previous => readCloudRevision === cloudRevision.current ? nextErrors : { ...nextErrors, cloud: previous.cloud, acp: previous.acp });
|
|
79
|
+
setLoading(false);
|
|
80
|
+
}
|
|
81
|
+
return next;
|
|
82
|
+
}, []);
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
mounted.current = true;
|
|
85
|
+
const unsubscribe = subscribeHubAgentProviderCatalog(catalog => {
|
|
86
|
+
// An incoming invalidation wins over an older in-flight catalog read.
|
|
87
|
+
cloudRevision.current++;
|
|
88
|
+
const cloudModels = catalogModels(catalog);
|
|
89
|
+
latestCloud.current = cloudModels;
|
|
90
|
+
setModels(previous => [...previous.filter(m => m.source === 'local'), ...cloudModels]);
|
|
91
|
+
setErrors(previous => ({ ...previous, cloud: cloudModels.some(m => m.source === 'cloud') ? undefined : 'No available cloud models.',
|
|
92
|
+
acp: cloudModels.some(m => m.source === 'acp') ? undefined : 'No available ACP provider models.' }));
|
|
93
|
+
});
|
|
94
|
+
void refresh();
|
|
95
|
+
return () => { mounted.current = false; generation.current++; unsubscribe(); };
|
|
96
|
+
}, [refresh]);
|
|
97
|
+
return { models, loading, errors, refresh };
|
|
98
|
+
}
|
|
99
|
+
export function validateOnboardingPlacement(workspaces, workspace, team, workspaceName, teamName) {
|
|
100
|
+
if (workspace === 'new')
|
|
101
|
+
return !!workspaceName.trim() && team === 'new' && !!teamName.trim();
|
|
102
|
+
const target = workspaces.find(w => w.id === workspace && !w.isArchived);
|
|
103
|
+
if (!target)
|
|
104
|
+
return false;
|
|
105
|
+
return team === 'new' ? !!teamName.trim() : target.teams.some(t => t.id === team && !t.isArchived);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=onboardingModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboardingModels.js","sourceRoot":"","sources":["../../../src/components/agent/onboardingModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface ConversationScope {
|
|
2
|
+
schemaVersion?: number;
|
|
3
|
+
agentId?: string;
|
|
4
|
+
workspaceId?: string;
|
|
5
|
+
teamId?: string;
|
|
6
|
+
workspaceMode?: 'unselected' | 'workspace' | 'chat-only';
|
|
7
|
+
rootDirectory?: string;
|
|
8
|
+
grantedDirectories?: string[];
|
|
9
|
+
}
|
|
10
|
+
/** Attaching a root changes execution context, never personal ownership. */
|
|
11
|
+
export declare function isPersonalInboxConversation(value: ConversationScope | undefined, inboxAgentId: string): boolean;
|
|
12
|
+
export declare function personalConversationDefaults(): {
|
|
13
|
+
schemaVersion: 3;
|
|
14
|
+
workspaceMode: "chat-only";
|
|
15
|
+
workspaceId: undefined;
|
|
16
|
+
teamId: undefined;
|
|
17
|
+
rootDirectory: undefined;
|
|
18
|
+
grantedDirectories: string[];
|
|
19
|
+
};
|
|
20
|
+
/** Existing durable scope wins. Launch flags are equality preconditions on a
|
|
21
|
+
* resume, not a request to silently move/reconfigure that conversation. */
|
|
22
|
+
export declare function assertResumeLaunchScope(scope: ConversationScope, launchMode?: 'chat' | 'agent', launchRoot?: string): void;
|
|
23
|
+
/** Only explicit canonical session mode can classify an SDK-only projection.
|
|
24
|
+
* workingDirectory alone may be Chat scratch storage, so it is not a mode. */
|
|
25
|
+
export declare function scopeFromSdkSessionMetadata(value: unknown): ConversationScope;
|
|
26
|
+
//# sourceMappingURL=personalConversationScope.d.ts.map
|