@xenosystem/agent-interface-ui 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +67 -0
- package/dist/adapters/agentHostPlatformBridge.d.ts +24 -0
- package/dist/adapters/agentHostPlatformBridge.d.ts.map +1 -0
- package/dist/adapters/agentHostPlatformBridge.js +1244 -0
- package/dist/adapters/agentHostPlatformBridge.js.map +1 -0
- package/dist/adapters/hubAgentPlatformBridge.d.ts +17 -0
- package/dist/adapters/hubAgentPlatformBridge.d.ts.map +1 -0
- package/dist/adapters/hubAgentPlatformBridge.js +109 -0
- package/dist/adapters/hubAgentPlatformBridge.js.map +1 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.d.ts +14 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +1 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.js +237 -0
- package/dist/adapters/xenoAgentCompatibilityBridge.js.map +1 -0
- package/dist/adapters/xenoAgentHostCatalog.d.ts +40 -0
- package/dist/adapters/xenoAgentHostCatalog.d.ts.map +1 -0
- package/dist/adapters/xenoAgentHostCatalog.js +228 -0
- package/dist/adapters/xenoAgentHostCatalog.js.map +1 -0
- package/dist/components/agent/AIStatusIndicator.d.ts +25 -0
- package/dist/components/agent/AIStatusIndicator.d.ts.map +1 -0
- package/dist/components/agent/AIStatusIndicator.js +85 -0
- package/dist/components/agent/AIStatusIndicator.js.map +1 -0
- package/dist/components/agent/AgentInterface.d.ts +21 -0
- package/dist/components/agent/AgentInterface.d.ts.map +1 -0
- package/dist/components/agent/AgentInterface.js +7586 -0
- package/dist/components/agent/AgentInterface.js.map +1 -0
- package/dist/components/agent/AgentOnboarding.d.ts +16 -0
- package/dist/components/agent/AgentOnboarding.d.ts.map +1 -0
- package/dist/components/agent/AgentOnboarding.js +423 -0
- package/dist/components/agent/AgentOnboarding.js.map +1 -0
- package/dist/components/agent/AgentPtyTerminalPanel.d.ts +13 -0
- package/dist/components/agent/AgentPtyTerminalPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentPtyTerminalPanel.js +129 -0
- package/dist/components/agent/AgentPtyTerminalPanel.js.map +1 -0
- package/dist/components/agent/AgentView.d.ts +143 -0
- package/dist/components/agent/AgentView.d.ts.map +1 -0
- package/dist/components/agent/AgentView.js +7250 -0
- package/dist/components/agent/AgentView.js.map +1 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.d.ts +15 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.js +275 -0
- package/dist/components/agent/AgentWorkbenchCliPanel.js.map +1 -0
- package/dist/components/agent/AgentWorkbenchPanel.d.ts +791 -0
- package/dist/components/agent/AgentWorkbenchPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkbenchPanel.js +584 -0
- package/dist/components/agent/AgentWorkbenchPanel.js.map +1 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts +11 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts.map +1 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js +198 -0
- package/dist/components/agent/AgentWorkspaceBrowserPanel.js.map +1 -0
- package/dist/components/agent/AssistantTurnStatusNotice.d.ts +16 -0
- package/dist/components/agent/AssistantTurnStatusNotice.d.ts.map +1 -0
- package/dist/components/agent/AssistantTurnStatusNotice.js +54 -0
- package/dist/components/agent/AssistantTurnStatusNotice.js.map +1 -0
- package/dist/components/agent/CommandToolCard.d.ts +11 -0
- package/dist/components/agent/CommandToolCard.d.ts.map +1 -0
- package/dist/components/agent/CommandToolCard.js +29 -0
- package/dist/components/agent/CommandToolCard.js.map +1 -0
- package/dist/components/agent/FleetPanel.d.ts +28 -0
- package/dist/components/agent/FleetPanel.d.ts.map +1 -0
- package/dist/components/agent/FleetPanel.js +175 -0
- package/dist/components/agent/FleetPanel.js.map +1 -0
- package/dist/components/agent/GhostTextArea.d.ts +13 -0
- package/dist/components/agent/GhostTextArea.d.ts.map +1 -0
- package/dist/components/agent/GhostTextArea.js +21 -0
- package/dist/components/agent/GhostTextArea.js.map +1 -0
- package/dist/components/agent/IntakePanel.d.ts +29 -0
- package/dist/components/agent/IntakePanel.d.ts.map +1 -0
- package/dist/components/agent/IntakePanel.js +81 -0
- package/dist/components/agent/IntakePanel.js.map +1 -0
- package/dist/components/agent/KnowledgePanel.d.ts +25 -0
- package/dist/components/agent/KnowledgePanel.d.ts.map +1 -0
- package/dist/components/agent/KnowledgePanel.js +99 -0
- package/dist/components/agent/KnowledgePanel.js.map +1 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts +9 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts.map +1 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js +204 -0
- package/dist/components/agent/MonacoDiffWorkbenchEditor.js.map +1 -0
- package/dist/components/agent/MonacoWorkbenchEditor.d.ts +15 -0
- package/dist/components/agent/MonacoWorkbenchEditor.d.ts.map +1 -0
- package/dist/components/agent/MonacoWorkbenchEditor.js +380 -0
- package/dist/components/agent/MonacoWorkbenchEditor.js.map +1 -0
- package/dist/components/agent/PermissionDialog.d.ts +34 -0
- package/dist/components/agent/PermissionDialog.d.ts.map +1 -0
- package/dist/components/agent/PermissionDialog.js +67 -0
- package/dist/components/agent/PermissionDialog.js.map +1 -0
- package/dist/components/agent/PluginManager.d.ts +20 -0
- package/dist/components/agent/PluginManager.d.ts.map +1 -0
- package/dist/components/agent/PluginManager.js +506 -0
- package/dist/components/agent/PluginManager.js.map +1 -0
- package/dist/components/agent/RunReviewPanel.d.ts +52 -0
- package/dist/components/agent/RunReviewPanel.d.ts.map +1 -0
- package/dist/components/agent/RunReviewPanel.js +236 -0
- package/dist/components/agent/RunReviewPanel.js.map +1 -0
- package/dist/components/agent/SessionsPanel.d.ts +30 -0
- package/dist/components/agent/SessionsPanel.d.ts.map +1 -0
- package/dist/components/agent/SessionsPanel.js +247 -0
- package/dist/components/agent/SessionsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts +19 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.js +85 -0
- package/dist/components/agent/acp/AcpAgentConfigForm.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts +10 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js +80 -0
- package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentManager.d.ts +3 -0
- package/dist/components/agent/acp/AcpAgentManager.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentManager.js +152 -0
- package/dist/components/agent/acp/AcpAgentManager.js.map +1 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts +9 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js +24 -0
- package/dist/components/agent/acp/AcpAgentTestResultPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpApprovalPanel.d.ts +29 -0
- package/dist/components/agent/acp/AcpApprovalPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpApprovalPanel.js +37 -0
- package/dist/components/agent/acp/AcpApprovalPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpCertificationPanel.d.ts +10 -0
- package/dist/components/agent/acp/AcpCertificationPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpCertificationPanel.js +41 -0
- package/dist/components/agent/acp/AcpCertificationPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts +11 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js +32 -0
- package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts +7 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.js +69 -0
- package/dist/components/agent/acp/AcpProviderManagerPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts +7 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.js +108 -0
- package/dist/components/agent/acp/AcpProviderModelsPanel.js.map +1 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts +8 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts.map +1 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.js +56 -0
- package/dist/components/agent/acp/AcpSupportBundlePanel.js.map +1 -0
- package/dist/components/agent/compactionSummary.d.ts +28 -0
- package/dist/components/agent/compactionSummary.d.ts.map +1 -0
- package/dist/components/agent/compactionSummary.js +41 -0
- package/dist/components/agent/compactionSummary.js.map +1 -0
- package/dist/components/agent/monacoWorkbenchShared.d.ts +13 -0
- package/dist/components/agent/monacoWorkbenchShared.d.ts.map +1 -0
- package/dist/components/agent/monacoWorkbenchShared.js +226 -0
- package/dist/components/agent/monacoWorkbenchShared.js.map +1 -0
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts +61 -0
- package/dist/components/agent/settings/EntitySettingsLayout.d.ts.map +1 -0
- package/dist/components/agent/settings/EntitySettingsLayout.js +72 -0
- package/dist/components/agent/settings/EntitySettingsLayout.js.map +1 -0
- package/dist/components/agent/settings/SettingsNavigation.d.ts +8 -0
- package/dist/components/agent/settings/SettingsNavigation.d.ts.map +1 -0
- package/dist/components/agent/settings/SettingsNavigation.js +39 -0
- package/dist/components/agent/settings/SettingsNavigation.js.map +1 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.js +31 -0
- package/dist/components/agent/settings/sections/AccessMembersSection.js.map +1 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts +25 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js +56 -0
- package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js.map +1 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.js +19 -0
- package/dist/components/agent/settings/sections/DangerZoneSection.js.map +1 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js +66 -0
- package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js.map +1 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js +87 -0
- package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.js +23 -0
- package/dist/components/agent/settings/sections/ExportBackupSection.js.map +1 -0
- package/dist/components/agent/settings/sections/GeneralSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/GeneralSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/GeneralSection.js +15 -0
- package/dist/components/agent/settings/sections/GeneralSection.js.map +1 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.js +40 -0
- package/dist/components/agent/settings/sections/IntegrationsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/NotificationsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/NotificationsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/NotificationsSection.js +28 -0
- package/dist/components/agent/settings/sections/NotificationsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js +17 -0
- package/dist/components/agent/settings/sections/ResourceLimitsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js +28 -0
- package/dist/components/agent/settings/sections/SecurityComplianceSection.js.map +1 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts +3 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js +17 -0
- package/dist/components/agent/settings/sections/UsageAnalyticsSection.js.map +1 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts +54 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +333 -0
- package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -0
- package/dist/components/agent/settings/shared/CheckboxField.d.ts +13 -0
- package/dist/components/agent/settings/shared/CheckboxField.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/CheckboxField.js +8 -0
- package/dist/components/agent/settings/shared/CheckboxField.js.map +1 -0
- package/dist/components/agent/settings/shared/InputField.d.ts +15 -0
- package/dist/components/agent/settings/shared/InputField.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/InputField.js +7 -0
- package/dist/components/agent/settings/shared/InputField.js.map +1 -0
- package/dist/components/agent/settings/shared/MembersTable.d.ts +11 -0
- package/dist/components/agent/settings/shared/MembersTable.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/MembersTable.js +7 -0
- package/dist/components/agent/settings/shared/MembersTable.js.map +1 -0
- package/dist/components/agent/settings/shared/SettingRow.d.ts +11 -0
- package/dist/components/agent/settings/shared/SettingRow.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/SettingRow.js +6 -0
- package/dist/components/agent/settings/shared/SettingRow.js.map +1 -0
- package/dist/components/agent/settings/shared/SettingsCard.d.ts +11 -0
- package/dist/components/agent/settings/shared/SettingsCard.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/SettingsCard.js +8 -0
- package/dist/components/agent/settings/shared/SettingsCard.js.map +1 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.d.ts +8 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.js +6 -0
- package/dist/components/agent/settings/shared/ToggleSwitch.js.map +1 -0
- package/dist/components/agent/settings/shared/UsageChart.d.ts +12 -0
- package/dist/components/agent/settings/shared/UsageChart.d.ts.map +1 -0
- package/dist/components/agent/settings/shared/UsageChart.js +16 -0
- package/dist/components/agent/settings/shared/UsageChart.js.map +1 -0
- package/dist/components/agent/toolCardDisplay.d.ts +24 -0
- package/dist/components/agent/toolCardDisplay.d.ts.map +1 -0
- package/dist/components/agent/toolCardDisplay.js +85 -0
- package/dist/components/agent/toolCardDisplay.js.map +1 -0
- package/dist/components/product/XenoAgentProductHeader.d.ts +18 -0
- package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -0
- package/dist/components/product/XenoAgentProductHeader.js +25 -0
- package/dist/components/product/XenoAgentProductHeader.js.map +1 -0
- package/dist/components/product/XenoAgentSessionTabs.d.ts +18 -0
- package/dist/components/product/XenoAgentSessionTabs.d.ts.map +1 -0
- package/dist/components/product/XenoAgentSessionTabs.js +103 -0
- package/dist/components/product/XenoAgentSessionTabs.js.map +1 -0
- package/dist/components/ui/CodeBlock.d.ts +8 -0
- package/dist/components/ui/CodeBlock.d.ts.map +1 -0
- package/dist/components/ui/CodeBlock.js +89 -0
- package/dist/components/ui/CodeBlock.js.map +1 -0
- package/dist/components/ui/XenoLogo.d.ts +11 -0
- package/dist/components/ui/XenoLogo.d.ts.map +1 -0
- package/dist/components/ui/XenoLogo.js +9 -0
- package/dist/components/ui/XenoLogo.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +127 -0
- package/dist/index.js.map +1 -0
- package/dist/platformApiTypes.d.ts +3992 -0
- package/dist/platformApiTypes.d.ts.map +1 -0
- package/dist/platformApiTypes.js +2 -0
- package/dist/platformApiTypes.js.map +1 -0
- package/dist/platformBridge.d.ts +9 -0
- package/dist/platformBridge.d.ts.map +1 -0
- package/dist/platformBridge.js +19 -0
- package/dist/platformBridge.js.map +1 -0
- package/dist/providerSelector.d.ts +28 -0
- package/dist/providerSelector.d.ts.map +1 -0
- package/dist/providerSelector.js +104 -0
- package/dist/providerSelector.js.map +1 -0
- package/dist/services/connectionMode.d.ts +13 -0
- package/dist/services/connectionMode.d.ts.map +1 -0
- package/dist/services/connectionMode.js +31 -0
- package/dist/services/connectionMode.js.map +1 -0
- package/dist/sessionTabs.d.ts +48 -0
- package/dist/sessionTabs.d.ts.map +1 -0
- package/dist/sessionTabs.js +106 -0
- package/dist/sessionTabs.js.map +1 -0
- package/dist/stores/acpAgentStore.d.ts +264 -0
- package/dist/stores/acpAgentStore.d.ts.map +1 -0
- package/dist/stores/acpAgentStore.js +825 -0
- package/dist/stores/acpAgentStore.js.map +1 -0
- package/dist/stores/agentChatStore.d.ts +529 -0
- package/dist/stores/agentChatStore.d.ts.map +1 -0
- package/dist/stores/agentChatStore.js +5309 -0
- package/dist/stores/agentChatStore.js.map +1 -0
- package/dist/stores/agentIdeStore.d.ts +9 -0
- package/dist/stores/agentIdeStore.d.ts.map +1 -0
- package/dist/stores/agentIdeStore.js +8 -0
- package/dist/stores/agentIdeStore.js.map +1 -0
- package/dist/stores/agentSearchStore.d.ts +174 -0
- package/dist/stores/agentSearchStore.d.ts.map +1 -0
- package/dist/stores/agentSearchStore.js +305 -0
- package/dist/stores/agentSearchStore.js.map +1 -0
- package/dist/stores/authStore.d.ts +26 -0
- package/dist/stores/authStore.d.ts.map +1 -0
- package/dist/stores/authStore.js +163 -0
- package/dist/stores/authStore.js.map +1 -0
- package/dist/stores/entitySettingsStore.d.ts +236 -0
- package/dist/stores/entitySettingsStore.d.ts.map +1 -0
- package/dist/stores/entitySettingsStore.js +916 -0
- package/dist/stores/entitySettingsStore.js.map +1 -0
- package/dist/stores/permissionStore.d.ts +25 -0
- package/dist/stores/permissionStore.d.ts.map +1 -0
- package/dist/stores/permissionStore.js +58 -0
- package/dist/stores/permissionStore.js.map +1 -0
- package/dist/stores/suggestionStore.d.ts +29 -0
- package/dist/stores/suggestionStore.d.ts.map +1 -0
- package/dist/stores/suggestionStore.js +160 -0
- package/dist/stores/suggestionStore.js.map +1 -0
- package/dist/stores/tabStore.d.ts +30 -0
- package/dist/stores/tabStore.d.ts.map +1 -0
- package/dist/stores/tabStore.js +252 -0
- package/dist/stores/tabStore.js.map +1 -0
- package/dist/stores/themeStore.d.ts +13 -0
- package/dist/stores/themeStore.d.ts.map +1 -0
- package/dist/stores/themeStore.js +77 -0
- package/dist/stores/themeStore.js.map +1 -0
- package/dist/stores/workspaceStore.d.ts +175 -0
- package/dist/stores/workspaceStore.d.ts.map +1 -0
- package/dist/stores/workspaceStore.js +694 -0
- package/dist/stores/workspaceStore.js.map +1 -0
- package/dist/stores/xenoChatStore.d.ts +88 -0
- package/dist/stores/xenoChatStore.d.ts.map +1 -0
- package/dist/stores/xenoChatStore.js +572 -0
- package/dist/stores/xenoChatStore.js.map +1 -0
- package/dist/toolCardProjection.d.ts +33 -0
- package/dist/toolCardProjection.d.ts.map +1 -0
- package/dist/toolCardProjection.js +62 -0
- package/dist/toolCardProjection.js.map +1 -0
- package/dist/types/agentEditor.d.ts +39 -0
- package/dist/types/agentEditor.d.ts.map +1 -0
- package/dist/types/agentEditor.js +2 -0
- package/dist/types/agentEditor.js.map +1 -0
- package/dist/types/agentRuntimeProvider.d.ts +2 -0
- package/dist/types/agentRuntimeProvider.d.ts.map +1 -0
- package/dist/types/agentRuntimeProvider.js +2 -0
- package/dist/types/agentRuntimeProvider.js.map +1 -0
- package/dist/utils/acpExecutionAuthority.d.ts +18 -0
- package/dist/utils/acpExecutionAuthority.d.ts.map +1 -0
- package/dist/utils/acpExecutionAuthority.js +22 -0
- package/dist/utils/acpExecutionAuthority.js.map +1 -0
- package/dist/utils/agentAttachedContextPrompt.d.ts +2 -0
- package/dist/utils/agentAttachedContextPrompt.d.ts.map +1 -0
- package/dist/utils/agentAttachedContextPrompt.js +2 -0
- package/dist/utils/agentAttachedContextPrompt.js.map +1 -0
- package/dist/utils/agentModelContext.d.ts +2 -0
- package/dist/utils/agentModelContext.d.ts.map +1 -0
- package/dist/utils/agentModelContext.js +2 -0
- package/dist/utils/agentModelContext.js.map +1 -0
- package/dist/utils/agentReasoningEffort.d.ts +3 -0
- package/dist/utils/agentReasoningEffort.d.ts.map +1 -0
- package/dist/utils/agentReasoningEffort.js +2 -0
- package/dist/utils/agentReasoningEffort.js.map +1 -0
- package/dist/utils/agentRuntimeProvider.d.ts +3 -0
- package/dist/utils/agentRuntimeProvider.d.ts.map +1 -0
- package/dist/utils/agentRuntimeProvider.js +2 -0
- package/dist/utils/agentRuntimeProvider.js.map +1 -0
- package/dist/utils/cloudModels.d.ts +3 -0
- package/dist/utils/cloudModels.d.ts.map +1 -0
- package/dist/utils/cloudModels.js +181 -0
- package/dist/utils/cloudModels.js.map +1 -0
- package/dist/utils/conversationRuntime.d.ts +3 -0
- package/dist/utils/conversationRuntime.d.ts.map +1 -0
- package/dist/utils/conversationRuntime.js +2 -0
- package/dist/utils/conversationRuntime.js.map +1 -0
- package/dist/utils/fileCreateIntent.d.ts +16 -0
- package/dist/utils/fileCreateIntent.d.ts.map +1 -0
- package/dist/utils/fileCreateIntent.js +123 -0
- package/dist/utils/fileCreateIntent.js.map +1 -0
- package/dist/utils/legacyAgentRuntimeEvents.d.ts +2 -0
- package/dist/utils/legacyAgentRuntimeEvents.d.ts.map +1 -0
- package/dist/utils/legacyAgentRuntimeEvents.js +2 -0
- package/dist/utils/legacyAgentRuntimeEvents.js.map +1 -0
- package/dist/utils/markdownWindowsPaths.d.ts +2 -0
- package/dist/utils/markdownWindowsPaths.d.ts.map +1 -0
- package/dist/utils/markdownWindowsPaths.js +2 -0
- package/dist/utils/markdownWindowsPaths.js.map +1 -0
- package/dist/utils/workspaceSelectionContinuation.d.ts +2 -0
- package/dist/utils/workspaceSelectionContinuation.d.ts.map +1 -0
- package/dist/utils/workspaceSelectionContinuation.js +2 -0
- package/dist/utils/workspaceSelectionContinuation.js.map +1 -0
- package/package.json +53 -0
- package/src/agent.css +1156 -0
- package/src/foundation.css +62 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* SessionsPanel — ADE §5.5 attach and takeover, rendered.
|
|
4
|
+
*
|
|
5
|
+
* The substrate has had attach, takeover and input routing since §2.8; the
|
|
6
|
+
* protocol surface landed last commit. Neither put it in front of anybody.
|
|
7
|
+
*
|
|
8
|
+
* `projectSessionBoard` decides what may be claimed about the write lease;
|
|
9
|
+
* `describeSessionOutput` decides what to say about a snapshot. This renders
|
|
10
|
+
* them. The only judgements made here are visual, and the two that are not are
|
|
11
|
+
* marked where they happen.
|
|
12
|
+
*
|
|
13
|
+
* 🔴 **A refusal is shown VERBATIM, as the host wrote it.** Re-wording it here
|
|
14
|
+
* would create a second explanation of why a keystroke did nothing, and the two
|
|
15
|
+
* disagree the first time either changes. The host already says which human is
|
|
16
|
+
* typing; repeating that in our own words adds nothing and can contradict it.
|
|
17
|
+
*
|
|
18
|
+
* 🔴 **`canTakeOver` disables a button and nothing more.** The host arbitrates.
|
|
19
|
+
* A surface that treated it as the decision would be a second implementation of
|
|
20
|
+
* the lease, diverging optimistically.
|
|
21
|
+
*
|
|
22
|
+
* Design: monochromatic, rectangles only, no circles — `DESIGN_SYSTEM.md`.
|
|
23
|
+
*/
|
|
24
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
25
|
+
import { AlertTriangle, RefreshCw, Terminal } from 'lucide-react';
|
|
26
|
+
import { describeSessionOutput, projectSessionBoard, } from '@xenosystem/agent-interface-core';
|
|
27
|
+
import { getAgentPlatformBridge } from '../../platformBridge';
|
|
28
|
+
function tryBridge() {
|
|
29
|
+
try {
|
|
30
|
+
return getAgentPlatformBridge();
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function SessionsPanel({ viewerId }) {
|
|
37
|
+
const [board, setBoard] = useState(null);
|
|
38
|
+
const [unavailable, setUnavailable] = useState(null);
|
|
39
|
+
const [selected, setSelected] = useState(null);
|
|
40
|
+
const [output, setOutput] = useState(null);
|
|
41
|
+
const [refusal, setRefusal] = useState(null);
|
|
42
|
+
const [busy, setBusy] = useState(false);
|
|
43
|
+
const [draft, setDraft] = useState('');
|
|
44
|
+
/**
|
|
45
|
+
* What this session's typing is waiting behind.
|
|
46
|
+
*
|
|
47
|
+
* 🔴 Keyed by CONVERSATION, which a session does not know until the
|
|
48
|
+
* host tells it: `session.input` returns the queued instruction together
|
|
49
|
+
* with the conversation it landed in, because the id alone is something a
|
|
50
|
+
* surface can render and not act on.
|
|
51
|
+
*/
|
|
52
|
+
const [queue, setQueue] = useState(null);
|
|
53
|
+
const refresh = useCallback(async () => {
|
|
54
|
+
const bridge = tryBridge();
|
|
55
|
+
if (!bridge?.session) {
|
|
56
|
+
setUnavailable('This surface cannot reach the Agent host.');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
setBusy(true);
|
|
60
|
+
try {
|
|
61
|
+
const list = await bridge.session.list({});
|
|
62
|
+
if (!list.available) {
|
|
63
|
+
// Distinct from "no sessions open" — a host with no substrate will never
|
|
64
|
+
// have any, and a person waiting for one should be told.
|
|
65
|
+
setUnavailable(list.reason ?? 'This host has no session substrate.');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
setUnavailable(null);
|
|
69
|
+
setBoard(projectSessionBoard(list.sessions, viewerId));
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
setBusy(false);
|
|
73
|
+
}
|
|
74
|
+
}, [viewerId]);
|
|
75
|
+
useEffect(() => { void refresh(); }, [refresh]);
|
|
76
|
+
/**
|
|
77
|
+
* Keeps the LIST live — ADE §2.8.
|
|
78
|
+
*
|
|
79
|
+
* 🔴 A run gets its session at TURN START, so a list read once on mount is
|
|
80
|
+
* correct for an instant and then wrong for everything that happens next: the
|
|
81
|
+
* session a person is waiting to watch is precisely the one opened after they
|
|
82
|
+
* looked. The host has always published `session.event`; nothing listened.
|
|
83
|
+
*
|
|
84
|
+
* Only the list. Output stays a poll because terminal bytes deliberately do
|
|
85
|
+
* not ride the event feed — they are per-viewer and large.
|
|
86
|
+
*/
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
const bridge = tryBridge();
|
|
89
|
+
if (!bridge?.session?.subscribeChanged)
|
|
90
|
+
return;
|
|
91
|
+
return bridge.session.subscribeChanged(() => { void refresh(); });
|
|
92
|
+
}, [refresh]);
|
|
93
|
+
const open = useCallback(async (sessionId) => {
|
|
94
|
+
const bridge = tryBridge();
|
|
95
|
+
if (!bridge?.session)
|
|
96
|
+
return;
|
|
97
|
+
setSelected(sessionId);
|
|
98
|
+
setRefusal(null);
|
|
99
|
+
// Attach first: it registers this surface as a viewer, which is what makes
|
|
100
|
+
// the viewer count true for everyone else. Reading output without attaching
|
|
101
|
+
// would show a session as unwatched while somebody watched it.
|
|
102
|
+
await bridge.session.attach({ sessionId, viewerId });
|
|
103
|
+
const snapshot = await bridge.session.snapshot({ sessionId });
|
|
104
|
+
setOutput(describeSessionOutput(snapshot));
|
|
105
|
+
await refresh();
|
|
106
|
+
}, [viewerId, refresh]);
|
|
107
|
+
const poll = useCallback(async () => {
|
|
108
|
+
const bridge = tryBridge();
|
|
109
|
+
if (!bridge?.session || !selected)
|
|
110
|
+
return;
|
|
111
|
+
const snapshot = await bridge.session.snapshot({ sessionId: selected });
|
|
112
|
+
setOutput(describeSessionOutput(snapshot));
|
|
113
|
+
}, [selected]);
|
|
114
|
+
/**
|
|
115
|
+
* Ordinary typing — ADE §2.8.
|
|
116
|
+
*
|
|
117
|
+
* 🔴 This panel had NO way to type. Its only write actions were "Take over"
|
|
118
|
+
* and "Hand back", so a person could seize the write lease and then say
|
|
119
|
+
* nothing — and `session.input`, the lease-honouring path, was bound nowhere
|
|
120
|
+
* because nothing needed it.
|
|
121
|
+
*
|
|
122
|
+
* Distinct from takeover on purpose: §5.5 says typing IS the takeover, so a
|
|
123
|
+
* panel that sent every keystroke through it would record an intervention for
|
|
124
|
+
* an ordinary message and seize a lease nobody asked to take.
|
|
125
|
+
*/
|
|
126
|
+
const send = useCallback(async () => {
|
|
127
|
+
const bridge = tryBridge();
|
|
128
|
+
if (!bridge?.session?.input || !selected || !draft)
|
|
129
|
+
return;
|
|
130
|
+
setBusy(true);
|
|
131
|
+
try {
|
|
132
|
+
const result = await bridge.session.input({ sessionId: selected, viewerId, data: draft });
|
|
133
|
+
if (!result.ok) {
|
|
134
|
+
setRefusal(result.reason ?? 'That input could not be routed.');
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
setDraft('');
|
|
138
|
+
/**
|
|
139
|
+
* \u{1F534} The OUTCOME, not a checkmark. `delivered: false` means the agent
|
|
140
|
+
* does not have this yet — the substrate refuses to write into a PTY with
|
|
141
|
+
* no process behind it, and an `acp` steer travels `turn.steer`, which can
|
|
142
|
+
* refuse. A panel that showed "sent" either way would be the exact lie
|
|
143
|
+
* the delivery reporting exists to prevent.
|
|
144
|
+
*/
|
|
145
|
+
/**
|
|
146
|
+
* 🔴 Driven by `queued`, NOT by `disposition`.
|
|
147
|
+
*
|
|
148
|
+
* This said "Queued for the agent's next turn" on the disposition
|
|
149
|
+
* alone, and for a long time that was false: the `turn.queue` sink was
|
|
150
|
+
* announced and serviced by nobody, so the panel reported a queue
|
|
151
|
+
* entry that did not exist. The disposition is an INTENT; `queued` is
|
|
152
|
+
* the host saying it happened.
|
|
153
|
+
*/
|
|
154
|
+
if (result.queued) {
|
|
155
|
+
await loadQueue(result.queued.conversationId);
|
|
156
|
+
setRefusal(null);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
setRefusal(result.delivered
|
|
160
|
+
? null
|
|
161
|
+
: result.reason
|
|
162
|
+
?? (result.disposition === 'queue'
|
|
163
|
+
// Intent without effect. Saying "queued" here would repeat
|
|
164
|
+
// the original defect in the surface.
|
|
165
|
+
? 'The host meant to queue this and did not say it did.'
|
|
166
|
+
: 'Not delivered yet.'));
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
setBusy(false);
|
|
171
|
+
await poll();
|
|
172
|
+
}
|
|
173
|
+
}, [selected, viewerId, draft, poll]);
|
|
174
|
+
const loadQueue = useCallback(async (conversationId) => {
|
|
175
|
+
const bridge = tryBridge();
|
|
176
|
+
const list = bridge?.agent?.listQueuedInstructions;
|
|
177
|
+
// OPTIONAL, so an older host that has no queue surface degrades to
|
|
178
|
+
// showing none rather than throwing at a panel that mounted fine.
|
|
179
|
+
if (!list)
|
|
180
|
+
return;
|
|
181
|
+
const result = await list({ conversationId });
|
|
182
|
+
setQueue({
|
|
183
|
+
conversationId,
|
|
184
|
+
entries: result.queue.map((entry) => ({ id: entry.id, instruction: entry.instruction })),
|
|
185
|
+
});
|
|
186
|
+
}, []);
|
|
187
|
+
const dropQueued = useCallback(async (instructionId) => {
|
|
188
|
+
const bridge = tryBridge();
|
|
189
|
+
const drop = bridge?.agent?.dropQueuedInstruction;
|
|
190
|
+
if (!drop || !queue)
|
|
191
|
+
return;
|
|
192
|
+
setBusy(true);
|
|
193
|
+
try {
|
|
194
|
+
const result = await drop({ conversationId: queue.conversationId, instructionId });
|
|
195
|
+
// 🔴 Verbatim, and only on refusal. A panel that removed the row
|
|
196
|
+
// optimistically would show a queue the host still holds.
|
|
197
|
+
if (!result.success)
|
|
198
|
+
setRefusal(result.safeError ?? 'That instruction could not be dropped.');
|
|
199
|
+
await loadQueue(queue.conversationId);
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
setBusy(false);
|
|
203
|
+
}
|
|
204
|
+
}, [queue, loadQueue]);
|
|
205
|
+
const takeOver = useCallback(async (data) => {
|
|
206
|
+
const bridge = tryBridge();
|
|
207
|
+
if (!bridge?.session || !selected)
|
|
208
|
+
return;
|
|
209
|
+
setBusy(true);
|
|
210
|
+
try {
|
|
211
|
+
const result = await bridge.session.takeover({ sessionId: selected, viewerId, data });
|
|
212
|
+
// Verbatim. See the header — a second wording of the same refusal is a
|
|
213
|
+
// second source of truth about who is typing.
|
|
214
|
+
setRefusal(result.ok ? null : result.reason ?? 'The write lease could not be taken.');
|
|
215
|
+
}
|
|
216
|
+
finally {
|
|
217
|
+
setBusy(false);
|
|
218
|
+
await refresh();
|
|
219
|
+
await poll();
|
|
220
|
+
}
|
|
221
|
+
}, [selected, viewerId, refresh, poll]);
|
|
222
|
+
const release = useCallback(async () => {
|
|
223
|
+
const bridge = tryBridge();
|
|
224
|
+
if (!bridge?.session || !selected)
|
|
225
|
+
return;
|
|
226
|
+
const result = await bridge.session.release({ sessionId: selected, viewerId });
|
|
227
|
+
setRefusal(result.ok ? null : result.reason ?? null);
|
|
228
|
+
await refresh();
|
|
229
|
+
}, [selected, viewerId, refresh]);
|
|
230
|
+
const row = board?.rows.find((candidate) => candidate.sessionId === selected);
|
|
231
|
+
return (_jsxs("div", { className: "xeno-sessions", "data-testid": "sessions-panel", children: [_jsxs("header", { className: "xeno-sessions__header", children: [_jsxs("h2", { children: [_jsx(Terminal, { size: 14, "aria-hidden": true }), " Sessions"] }), _jsx("button", { type: "button", onClick: () => void refresh(), disabled: busy, "aria-label": "Refresh sessions", children: _jsx(RefreshCw, { size: 14, "aria-hidden": true }) })] }), unavailable ? (_jsx("p", { className: "xeno-sessions__notice", "data-testid": "sessions-unavailable", children: unavailable })) : (_jsxs(_Fragment, { children: [board?.notice && (_jsxs("p", { className: "xeno-sessions__notice", "data-testid": "sessions-notice", children: [_jsx(AlertTriangle, { size: 14, "aria-hidden": true }), " ", board.notice] })), board === null ? (_jsx("p", { className: "xeno-sessions__notice", children: "Loading sessions\u2026" })) : board.rows.length === 0 ? (_jsx("p", { className: "xeno-sessions__notice", children: "No sessions are open." })) : (_jsx("ol", { className: "xeno-sessions__list", "data-testid": "sessions-list", children: board.rows.map((entry) => (_jsx("li", { "data-lease": entry.lease, "data-selected": entry.sessionId === selected ? 'true' : undefined, children: _jsxs("button", { type: "button", onClick: () => void open(entry.sessionId), children: [_jsx("span", { children: entry.runId }), _jsx("span", { children: entry.mode }), _jsx("span", { children: entry.headline }), entry.othersWatching > 0 && (_jsxs("span", { children: [entry.othersWatching, " other viewer", entry.othersWatching === 1 ? '' : 's'] }))] }) }, entry.sessionId))) })), selected && row && (_jsxs("section", { className: "xeno-sessions__terminal", "data-testid": "session-terminal", children: [_jsx("h3", { children: selected }), output?.notice && (_jsx("p", { className: "xeno-sessions__notice", "data-testid": "session-output-notice", children: output.notice })), _jsx("pre", { children: output?.text ?? '' }), _jsxs("div", { className: "xeno-sessions__compose", children: [_jsx("input", { type: "text", value: draft, onChange: (event) => setDraft(event.target.value), placeholder: "Type to this session", "aria-label": "Type to this session", "data-testid": "session-draft" }), _jsx("button", { type: "button",
|
|
232
|
+
/* Empty input is not a message. The substrate would report it
|
|
233
|
+
undelivered, which is true and useless. */
|
|
234
|
+
disabled: busy || !draft, onClick: () => void send(), "data-testid": "session-send", children: "Send" })] }), queue && queue.entries.length > 0 && (
|
|
235
|
+
/**
|
|
236
|
+
* 🔴 What is waiting, and how to take it back.
|
|
237
|
+
*
|
|
238
|
+
* §16: a result must say whether the callee acted AND the
|
|
239
|
+
* surface must render it. The host has queued instructions
|
|
240
|
+
* since the sink was serviced; without this a person was told
|
|
241
|
+
* something was waiting and could neither see nor cancel it.
|
|
242
|
+
*/
|
|
243
|
+
_jsxs("section", { className: "xeno-sessions__queue", "data-testid": "session-queue", children: [_jsx("h4", { children: "Waiting for the next turn" }), _jsx("ol", { children: queue.entries.map((entry) => (_jsxs("li", { "data-testid": "session-queue-entry", children: [_jsx("span", { children: entry.instruction }), _jsx("button", { type: "button", disabled: busy, onClick: () => void dropQueued(entry.id), "data-testid": "session-queue-drop", title: "Remove this instruction before it runs", children: "Drop" })] }, entry.id))) })] })), _jsxs("div", { className: "xeno-sessions__actions", children: [_jsx("button", { type: "button", onClick: () => void poll(), children: "Refresh output" }), _jsx("button", { type: "button",
|
|
244
|
+
/* Advice only — the host arbitrates regardless. */
|
|
245
|
+
disabled: busy || !row.canTakeOver, onClick: () => void takeOver(''), "data-testid": "session-takeover", children: "Take over" }), _jsx("button", { type: "button", disabled: busy || !row.canRelease, onClick: () => void release(), "data-testid": "session-release", children: "Hand back" })] }), refusal && (_jsx("p", { className: "xeno-sessions__notice", "data-testid": "session-refusal", children: refusal }))] }))] }))] }));
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=SessionsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionsPanel.js","sourceRoot":"","sources":["../../../src/components/agent/SessionsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AcpAgentSaveInput, AcpAgentView } from '../../../stores/acpAgentStore';
|
|
3
|
+
interface AcpAgentConfigFormProps {
|
|
4
|
+
agent: AcpAgentView | null;
|
|
5
|
+
saving: boolean;
|
|
6
|
+
error: string | null;
|
|
7
|
+
onSave: (input: AcpAgentSaveInput) => Promise<{
|
|
8
|
+
success: boolean;
|
|
9
|
+
error?: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare function AcpAgentConfigForm({ agent, saving, error, onSave }: AcpAgentConfigFormProps): React.JSX.Element;
|
|
13
|
+
export declare function parseListText(value: string): string[];
|
|
14
|
+
export declare function parseEnvText(value: string): {
|
|
15
|
+
values: Record<string, string>;
|
|
16
|
+
error?: string;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=AcpAgentConfigForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpAgentConfigForm.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/acp/AcpAgentConfigForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEpF,UAAU,uBAAuB;IAC/B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,uBAAuB,qBAqL3F;AAYD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAY9F"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
export function AcpAgentConfigForm({ agent, saving, error, onSave }) {
|
|
4
|
+
const [id, setId] = useState('');
|
|
5
|
+
const [name, setName] = useState('');
|
|
6
|
+
const [command, setCommand] = useState('');
|
|
7
|
+
const [argsText, setArgsText] = useState('');
|
|
8
|
+
const [cwd, setCwd] = useState('');
|
|
9
|
+
const [envText, setEnvText] = useState('');
|
|
10
|
+
const [enabled, setEnabled] = useState(false);
|
|
11
|
+
const [trustLevel, setTrustLevel] = useState('restricted');
|
|
12
|
+
const [localError, setLocalError] = useState(null);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setId(agent?.id || '');
|
|
15
|
+
setName(agent?.name || '');
|
|
16
|
+
setCommand('');
|
|
17
|
+
setArgsText(agent?.args?.join('\n') || '');
|
|
18
|
+
setCwd('');
|
|
19
|
+
setEnvText('');
|
|
20
|
+
setEnabled(agent?.enabled === true);
|
|
21
|
+
setTrustLevel(agent?.trustLevel === 'workspace' ? 'workspace' : 'restricted');
|
|
22
|
+
setLocalError(null);
|
|
23
|
+
}, [agent?.id]);
|
|
24
|
+
const isEditing = !!agent;
|
|
25
|
+
const submit = async (event) => {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
const cleanId = id.trim();
|
|
28
|
+
const cleanName = name.trim();
|
|
29
|
+
if (!cleanId || !cleanName) {
|
|
30
|
+
setLocalError('ACP agent id and name are required.');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const env = parseEnvText(envText);
|
|
34
|
+
if (env.error) {
|
|
35
|
+
setLocalError(env.error);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const payload = {
|
|
39
|
+
id: cleanId,
|
|
40
|
+
name: cleanName,
|
|
41
|
+
enabled,
|
|
42
|
+
trustLevel,
|
|
43
|
+
args: parseListText(argsText),
|
|
44
|
+
};
|
|
45
|
+
if (command.trim())
|
|
46
|
+
payload.command = command.trim();
|
|
47
|
+
if (cwd.trim())
|
|
48
|
+
payload.cwd = cwd.trim();
|
|
49
|
+
if (Object.keys(env.values).length > 0)
|
|
50
|
+
payload.env = env.values;
|
|
51
|
+
const result = await onSave(payload);
|
|
52
|
+
if (result.success) {
|
|
53
|
+
setCommand('');
|
|
54
|
+
setCwd('');
|
|
55
|
+
setEnvText('');
|
|
56
|
+
setLocalError(null);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return (_jsxs("form", { onSubmit: submit, className: "min-h-0 space-y-3", children: [_jsxs("div", { className: "rounded border border-white/[0.06] bg-black/20 px-3 py-2", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.14em] text-white/44", children: "Endpoint config" }), _jsx("p", { className: "mt-1 text-[10px] leading-relaxed text-white/30", children: "Command and arguments stay redacted after save. Approval and certification decide whether this endpoint can run." })] }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-2", children: [_jsx(Field, { label: "Agent id", helper: "Stable registry id. Use lowercase names for portable configs.", children: _jsx("input", { value: id, onChange: (event) => setId(event.target.value), disabled: isEditing, placeholder: "fixture-normal", className: "acp-form-input" }) }), _jsx(Field, { label: "Display name", helper: "Visible name in the ACP Agent Manager.", children: _jsx("input", { value: name, onChange: (event) => setName(event.target.value), placeholder: "Fixture ACP normal", className: "acp-form-input" }) })] }), _jsx(Field, { label: isEditing ? 'Command path replacement' : 'Command path', helper: isEditing ? `Stored command is redacted as ${agent?.command || 'command'}. Leave blank to preserve it.` : 'Absolute executable path only. Shell commands are rejected by backend validation.', children: _jsx("input", { value: command, onChange: (event) => setCommand(event.target.value), placeholder: isEditing ? 'Leave blank to preserve stored command' : 'C:\\Program Files\\Agent\\agent.exe', className: "acp-form-input font-mono text-[11px]" }) }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-2", children: [_jsx(Field, { label: "Args", helper: "One argument per line. Structured list only, not a shell command string.", children: _jsx("textarea", { value: argsText, onChange: (event) => setArgsText(event.target.value), rows: 4, placeholder: "--mode=normal", className: "acp-form-input resize-none font-mono text-[11px]" }) }), _jsx(Field, { label: "Working directory", helper: isEditing ? 'Leave blank to preserve stored cwd. Must be absolute if provided.' : 'Optional absolute cwd.', children: _jsx("input", { value: cwd, onChange: (event) => setCwd(event.target.value), placeholder: isEditing ? 'Leave blank to preserve cwd' : 'C:\\Users\\you\\project', className: "acp-form-input font-mono text-[11px]" }) })] }), _jsx(Field, { label: "Environment", helper: "Env keys only are shown after save. Non-secret fixture/config values only; raw tokens and keys are rejected.", children: _jsx("textarea", { value: envText, onChange: (event) => setEnvText(event.target.value), rows: 3, placeholder: "XENO_ACP_FIXTURE_MODE=normal", className: "acp-form-input resize-none font-mono text-[11px]" }) }), agent?.envKeys?.length ? (_jsxs("div", { className: "rounded border border-white/[0.05] bg-black/20 px-3 py-2", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.14em] text-white/24", children: "Env keys only" }), _jsx("div", { className: "mt-1 flex flex-wrap gap-1.5", children: agent.envKeys.map((key) => (_jsx("span", { className: "rounded-[3px] bg-white/[0.06] px-1.5 py-0.5 font-mono text-[10px] text-white/48", children: key }, key))) })] })) : null, _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-2", children: [_jsxs("label", { className: "flex items-center justify-between rounded border border-white/[0.06] bg-black/20 px-3 py-2", children: [_jsxs("span", { children: [_jsx("span", { className: "block text-[10px] uppercase tracking-[0.14em] text-white/28", children: "Enabled" }), _jsx("span", { className: "block text-[10px] text-white/32", children: "Disabled configs cannot be tested or launched." })] }), _jsx("input", { type: "checkbox", checked: enabled, onChange: (event) => setEnabled(event.target.checked), className: "h-4 w-4 accent-white" })] }), _jsx(Field, { label: "Trust level", helper: "Restricted is the default. Workspace still stays under XENO policy.", children: _jsxs("select", { value: trustLevel, onChange: (event) => setTrustLevel(event.target.value === 'workspace' ? 'workspace' : 'restricted'), className: "acp-form-input", children: [_jsx("option", { value: "restricted", children: "restricted" }), _jsx("option", { value: "workspace", children: "workspace" })] }) })] }), (localError || error) && (_jsx("div", { className: "rounded border border-[#4b1f24] bg-[#1a0f12] px-3 py-2 text-[11px] leading-relaxed text-[#ffb0b0]", children: localError || error })), _jsx("button", { type: "submit", disabled: saving, className: "h-8 w-full rounded-[4px] bg-white/[0.09] px-3 text-[10px] uppercase tracking-[0.13em] text-white/72 transition-transform hover:bg-white/[0.13] active:translate-y-[1px] disabled:opacity-35", children: saving ? 'Saving...' : isEditing ? 'Save ACP agent' : 'Create ACP agent' })] }));
|
|
60
|
+
}
|
|
61
|
+
function Field({ label, helper, children }) {
|
|
62
|
+
return (_jsxs("label", { className: "block", children: [_jsx("span", { className: "block text-[10px] uppercase tracking-[0.14em] text-white/30", children: label }), _jsx("span", { className: "mb-1 mt-0.5 block text-[10px] leading-relaxed text-white/24", children: helper }), children] }));
|
|
63
|
+
}
|
|
64
|
+
export function parseListText(value) {
|
|
65
|
+
return value
|
|
66
|
+
.split(/\r?\n/g)
|
|
67
|
+
.map((item) => item.trim())
|
|
68
|
+
.filter(Boolean);
|
|
69
|
+
}
|
|
70
|
+
export function parseEnvText(value) {
|
|
71
|
+
const values = {};
|
|
72
|
+
const lines = parseListText(value);
|
|
73
|
+
for (const line of lines) {
|
|
74
|
+
const index = line.indexOf('=');
|
|
75
|
+
if (index <= 0)
|
|
76
|
+
return { values: {}, error: `Invalid env entry: ${line}` };
|
|
77
|
+
const key = line.slice(0, index).trim();
|
|
78
|
+
const itemValue = line.slice(index + 1);
|
|
79
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key))
|
|
80
|
+
return { values: {}, error: `Invalid env key: ${key}` };
|
|
81
|
+
values[key] = itemValue;
|
|
82
|
+
}
|
|
83
|
+
return { values };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=AcpAgentConfigForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpAgentConfigForm.js","sourceRoot":"","sources":["../../../../src/components/agent/acp/AcpAgentConfigForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AcpAgentDiagnostics } from '../../../stores/acpAgentStore';
|
|
3
|
+
interface AcpAgentDiagnosticsPanelProps {
|
|
4
|
+
diagnostics: AcpAgentDiagnostics | null;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
onRefresh: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function AcpAgentDiagnosticsPanel({ diagnostics, loading, onRefresh }: AcpAgentDiagnosticsPanelProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=AcpAgentDiagnosticsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpAgentDiagnosticsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/acp/AcpAgentDiagnosticsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAExE,UAAU,6BAA6B;IACrC,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,6BAA6B,qBAoG1G"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export function AcpAgentDiagnosticsPanel({ diagnostics, loading, onRefresh }) {
|
|
4
|
+
const triage = diagnostics ? buildDiagnosticsTriage(diagnostics.agents) : null;
|
|
5
|
+
return (_jsxs("section", { className: "min-h-0 rounded border border-white/[0.06] bg-black/20", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-white/[0.05] px-3 py-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.14em] text-white/28", children: "Diagnostics UX" }), _jsx("p", { className: "mt-0.5 text-[10px] uppercase tracking-[0.14em] text-white/38", children: "Redacted diagnostics" }), _jsx("p", { className: "truncate text-[10px] text-white/25", children: "Registry health, launch blockers, approval state, secret refs, command basenames, and env keys only." })] }), _jsx("button", { type: "button", onClick: onRefresh, disabled: loading, className: "rounded-[3px] border border-white/[0.06] px-2 py-1 text-[10px] uppercase tracking-[0.12em] text-white/42 transition-colors hover:bg-white/[0.06] disabled:opacity-35", children: loading ? 'Loading' : 'Refresh' })] }), _jsx("div", { className: "space-y-3 p-3", children: !diagnostics ? (_jsx("p", { className: "text-[11px] leading-relaxed text-white/30", children: "Diagnostics have not been loaded yet. Refresh to inspect the redacted registry summary." })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-2", children: [_jsx(Metric, { label: "Agents", value: String(diagnostics.agentCount) }), _jsx(Metric, { label: "Enabled", value: String(diagnostics.enabledCount) }), _jsx(Metric, { label: "Version", value: String(diagnostics.version) }), _jsx(Metric, { label: "Repaired", value: diagnostics.repaired ? 'yes' : 'no', tone: diagnostics.repaired ? 'warn' : 'default' })] }), triage && (_jsxs("div", { className: "space-y-2 rounded border border-white/[0.05] bg-white/[0.025] px-3 py-2", children: [_jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsx(Metric, { label: "Launch blockers", value: String(triage.launchBlockerCount), tone: triage.launchBlockerCount ? 'warn' : 'default' }), _jsx(Metric, { label: "Runnable providers", value: String(triage.runnableProviderCount) }), _jsx(Metric, { label: "Secret refs missing", value: String(triage.secretAttentionCount), tone: triage.secretAttentionCount ? 'warn' : 'default' }), _jsx(Metric, { label: "Process warnings", value: String(triage.processWarningCount), tone: triage.processWarningCount ? 'warn' : 'default' })] }), _jsxs("div", { children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.14em] text-white/22", children: "Operator triage" }), triage.blockers.length === 0 ? (_jsx("p", { className: "mt-1 text-[10px] leading-relaxed text-[#96e59d]/62", children: "No launch blockers detected in redacted diagnostics." })) : (_jsx("div", { className: "mt-1 space-y-1", children: triage.blockers.map((blocker) => (_jsx("p", { className: "text-[10px] leading-relaxed text-[#ffd38a]/66", children: blocker }, blocker))) }))] })] })), _jsxs("div", { className: "rounded border border-white/[0.05] bg-white/[0.025] px-3 py-2", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.14em] text-white/22", children: "Registry" }), _jsx("p", { className: "mt-1 truncate font-mono text-[10px] text-white/42", children: diagnostics.path }), diagnostics.backupPath && (_jsxs("p", { className: "mt-1 truncate font-mono text-[10px] text-[#ffd38a]/58", children: ["Backup: ", diagnostics.backupPath] }))] }), _jsx("div", { className: "space-y-1.5", children: diagnostics.agents.length === 0 ? (_jsx("p", { className: "text-[11px] text-white/28", children: "No configured ACP agents in diagnostics." })) : diagnostics.agents.map((agent) => (_jsxs("div", { className: "rounded border border-white/[0.045] bg-black/20 px-2.5 py-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("p", { className: "truncate text-[11px] text-white/62", children: agent.name }), _jsx("span", { className: "rounded-[3px] bg-white/[0.05] px-1.5 py-0.5 text-[9px] uppercase tracking-[0.1em] text-white/34", children: agent.enabled ? 'enabled' : 'disabled' })] }), _jsx("p", { className: "mt-1 truncate font-mono text-[10px] text-white/30", children: agent.command }), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Certification: ", agent.certification?.status || 'not_certified'] }), agent.providerVersionReadiness && (_jsxs("p", { className: `mt-1 text-[10px] ${agent.providerVersionReadiness.ok ? 'text-[#96e59d]/55' : 'text-[#ffd38a]/66'}`, children: ["Provider version: ", formatProviderVersion(agent)] })), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Env keys only: ", agent.envKeys.length ? agent.envKeys.join(', ') : 'none'] }), agent.providerReview && (_jsxs("div", { className: "mt-2 rounded border border-white/[0.04] bg-white/[0.02] px-2 py-1.5", children: [_jsxs("p", { className: "truncate text-[10px] text-white/34", children: ["Provider diagnostics: ", agent.providerReview.displayName || agent.providerReview.providerId] }), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Approval state: ", agent.providerReview.approvalState || 'unknown', "; runnable: ", agent.providerReview.runnable ? 'yes' : 'no'] }), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Secret refs: ", formatSecretRefs(agent)] }), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Missing required refs: ", agent.providerReview.secretBinding?.missingRequiredRefs.length ? agent.providerReview.secretBinding.missingRequiredRefs.join(', ') : 'none'] }), _jsxs("p", { className: "mt-1 text-[10px] text-white/24", children: ["Process containment: ", formatEnforcement(agent)] })] }))] }, agent.id))) })] })) })] }));
|
|
6
|
+
}
|
|
7
|
+
function Metric({ label, value, tone = 'default' }) {
|
|
8
|
+
return (_jsxs("div", { className: "rounded border border-white/[0.045] bg-black/20 px-2.5 py-2", children: [_jsx("p", { className: "text-[9px] uppercase tracking-[0.14em] text-white/22", children: label }), _jsx("p", { className: `mt-1 font-mono text-[13px] ${tone === 'warn' ? 'text-[#ffd38a]' : 'text-white/62'}`, children: value })] }));
|
|
9
|
+
}
|
|
10
|
+
function buildDiagnosticsTriage(agents) {
|
|
11
|
+
let launchBlockerCount = 0;
|
|
12
|
+
let runnableProviderCount = 0;
|
|
13
|
+
let secretAttentionCount = 0;
|
|
14
|
+
let processWarningCount = 0;
|
|
15
|
+
const blockers = [];
|
|
16
|
+
for (const agent of agents) {
|
|
17
|
+
const reasons = [];
|
|
18
|
+
const provider = agent.providerReview;
|
|
19
|
+
if (!agent.enabled)
|
|
20
|
+
reasons.push('disabled');
|
|
21
|
+
if (!isFixtureAgent(agent) && agent.certification?.status !== 'certified')
|
|
22
|
+
reasons.push('not certified');
|
|
23
|
+
if (provider?.runnable)
|
|
24
|
+
runnableProviderCount += 1;
|
|
25
|
+
if (provider?.approvalState === 'missing' || provider?.approvalState === 'stale' || provider?.approvalState === 'blocked') {
|
|
26
|
+
reasons.push(`approval state ${provider.approvalState}`);
|
|
27
|
+
}
|
|
28
|
+
if (provider?.secretBinding && !provider.secretBinding.complete) {
|
|
29
|
+
reasons.push('missing required refs');
|
|
30
|
+
secretAttentionCount += 1;
|
|
31
|
+
}
|
|
32
|
+
if (agent.providerVersionReadiness && !agent.providerVersionReadiness.ok) {
|
|
33
|
+
reasons.push(`provider version ${agent.providerVersionReadiness.status}`);
|
|
34
|
+
}
|
|
35
|
+
if (isNotEnforced(provider?.enforcementClassification?.network) || isNotEnforced(provider?.enforcementClassification?.filesystem)) {
|
|
36
|
+
processWarningCount += 1;
|
|
37
|
+
}
|
|
38
|
+
if (reasons.length) {
|
|
39
|
+
launchBlockerCount += 1;
|
|
40
|
+
blockers.push(`${agent.name}: ${reasons.join(', ')}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
launchBlockerCount,
|
|
45
|
+
runnableProviderCount,
|
|
46
|
+
secretAttentionCount,
|
|
47
|
+
processWarningCount,
|
|
48
|
+
blockers: blockers.slice(0, 4),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function formatProviderVersion(agent) {
|
|
52
|
+
const readiness = agent.providerVersionReadiness;
|
|
53
|
+
if (!readiness)
|
|
54
|
+
return 'not checked';
|
|
55
|
+
const installed = readiness.installedVersion || 'unknown';
|
|
56
|
+
const required = readiness.minimumVersion ? ` >=${readiness.minimumVersion}` : '';
|
|
57
|
+
const hint = readiness.ok ? '' : readiness.updateHint ? `; ${readiness.updateHint}` : '';
|
|
58
|
+
return `${readiness.status} (${readiness.agentId} ${installed}${required})${hint}`;
|
|
59
|
+
}
|
|
60
|
+
function formatSecretRefs(agent) {
|
|
61
|
+
const provider = agent.providerReview;
|
|
62
|
+
if (!provider)
|
|
63
|
+
return 'none';
|
|
64
|
+
const refs = [...provider.requiredAuthRefs, ...provider.optionalAuthRefs];
|
|
65
|
+
return refs.length ? refs.join(', ') : 'none';
|
|
66
|
+
}
|
|
67
|
+
function formatEnforcement(agent) {
|
|
68
|
+
const enforcement = agent.providerReview?.enforcementClassification;
|
|
69
|
+
const parts = [enforcement?.network, enforcement?.filesystem].filter((item) => !!item);
|
|
70
|
+
return parts.length ? parts.join('; ') : 'not reported';
|
|
71
|
+
}
|
|
72
|
+
function isFixtureAgent(agent) {
|
|
73
|
+
return agent.certification?.status === 'fixture_only'
|
|
74
|
+
|| agent.id.toLowerCase().includes('fixture')
|
|
75
|
+
|| agent.name.toLowerCase().includes('fixture');
|
|
76
|
+
}
|
|
77
|
+
function isNotEnforced(value) {
|
|
78
|
+
return !!value && value.includes('not_enforced');
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=AcpAgentDiagnosticsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpAgentDiagnosticsPanel.js","sourceRoot":"","sources":["../../../../src/components/agent/acp/AcpAgentDiagnosticsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcpAgentManager.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/acp/AcpAgentManager.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAgC3D,wBAAgB,eAAe,sBAqQ9B"}
|