@stigmer/react 3.12.3 → 3.12.5
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/agent/steps/IdentityStep.d.ts.map +1 -1
- package/agent/steps/IdentityStep.js +2 -1
- package/agent/steps/IdentityStep.js.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.js +2 -1
- package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
- package/api-key/CreateApiKeyForm.d.ts.map +1 -1
- package/api-key/CreateApiKeyForm.js +2 -1
- package/api-key/CreateApiKeyForm.js.map +1 -1
- package/attachment/AttachmentChipList.js +16 -6
- package/attachment/AttachmentChipList.js.map +1 -1
- package/attachment/index.d.ts +1 -1
- package/attachment/index.d.ts.map +1 -1
- package/attachment/index.js.map +1 -1
- package/attachment/useAttachments.d.ts +51 -8
- package/attachment/useAttachments.d.ts.map +1 -1
- package/attachment/useAttachments.js +74 -3
- package/attachment/useAttachments.js.map +1 -1
- package/channel/ChannelConversationsDialog.d.ts.map +1 -1
- package/channel/ChannelConversationsDialog.js +2 -1
- package/channel/ChannelConversationsDialog.js.map +1 -1
- package/channel/ChannelTemplatesDialog.d.ts.map +1 -1
- package/channel/ChannelTemplatesDialog.js +2 -1
- package/channel/ChannelTemplatesDialog.js.map +1 -1
- package/channel/ConnectSlackDialog.d.ts.map +1 -1
- package/channel/ConnectSlackDialog.js +2 -1
- package/channel/ConnectSlackDialog.js.map +1 -1
- package/channel/connect/ServingAppSection.d.ts.map +1 -1
- package/channel/connect/ServingAppSection.js +2 -1
- package/channel/connect/ServingAppSection.js.map +1 -1
- package/channel-app/CreateChannelAppForm.d.ts.map +1 -1
- package/channel-app/CreateChannelAppForm.js +2 -1
- package/channel-app/CreateChannelAppForm.js.map +1 -1
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +17 -10
- package/composer/SessionComposer.js.map +1 -1
- package/conversation/ConversationComposer.d.ts +19 -3
- package/conversation/ConversationComposer.d.ts.map +1 -1
- package/conversation/ConversationComposer.js +4 -4
- package/conversation/ConversationComposer.js.map +1 -1
- package/conversation/ConversationListPane.d.ts.map +1 -1
- package/conversation/ConversationListPane.js +2 -1
- package/conversation/ConversationListPane.js.map +1 -1
- package/conversation/ConversationTemplatePickerDialog.d.ts +63 -0
- package/conversation/ConversationTemplatePickerDialog.d.ts.map +1 -0
- package/conversation/ConversationTemplatePickerDialog.js +151 -0
- package/conversation/ConversationTemplatePickerDialog.js.map +1 -0
- package/conversation/ConversationTimelineView.d.ts.map +1 -1
- package/conversation/ConversationTimelineView.js +2 -1
- package/conversation/ConversationTimelineView.js.map +1 -1
- package/conversation/ConversationsWorkbench.d.ts.map +1 -1
- package/conversation/ConversationsWorkbench.js +16 -5
- package/conversation/ConversationsWorkbench.js.map +1 -1
- package/conversation/index.d.ts +3 -1
- package/conversation/index.d.ts.map +1 -1
- package/conversation/index.js +1 -0
- package/conversation/index.js.map +1 -1
- package/conversation/useConversationParticipation.d.ts +41 -4
- package/conversation/useConversationParticipation.d.ts.map +1 -1
- package/conversation/useConversationParticipation.js +13 -2
- package/conversation/useConversationParticipation.js.map +1 -1
- package/cursor-accounts/CursorAccountsConsole.d.ts.map +1 -1
- package/cursor-accounts/CursorAccountsConsole.js +2 -1
- package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
- package/cursor-accounts/MemberKeysPanel.d.ts.map +1 -1
- package/cursor-accounts/MemberKeysPanel.js +2 -1
- package/cursor-accounts/MemberKeysPanel.js.map +1 -1
- package/dashboard/DashboardFailedRuns.d.ts.map +1 -1
- package/dashboard/DashboardFailedRuns.js +2 -1
- package/dashboard/DashboardFailedRuns.js.map +1 -1
- package/dependency-graph/DependencyGraph.d.ts.map +1 -1
- package/dependency-graph/DependencyGraph.js +2 -1
- package/dependency-graph/DependencyGraph.js.map +1 -1
- package/dependency-graph/DependencyTreeNode.d.ts.map +1 -1
- package/dependency-graph/DependencyTreeNode.js +2 -1
- package/dependency-graph/DependencyTreeNode.js.map +1 -1
- package/environment/EnvironmentPicker.d.ts.map +1 -1
- package/environment/EnvironmentPicker.js +2 -1
- package/environment/EnvironmentPicker.js.map +1 -1
- package/error/SecretFlowErrorGuide.d.ts.map +1 -1
- package/error/SecretFlowErrorGuide.js +2 -1
- package/error/SecretFlowErrorGuide.js.map +1 -1
- package/execution/ArtifactContentBody.d.ts.map +1 -1
- package/execution/ArtifactContentBody.js +2 -1
- package/execution/ArtifactContentBody.js.map +1 -1
- package/execution/ArtifactsWidget.d.ts.map +1 -1
- package/execution/ArtifactsWidget.js +2 -1
- package/execution/ArtifactsWidget.js.map +1 -1
- package/execution/FileChangeProgressBar.d.ts.map +1 -1
- package/execution/FileChangeProgressBar.js +2 -1
- package/execution/FileChangeProgressBar.js.map +1 -1
- package/execution/TodoList.d.ts.map +1 -1
- package/execution/TodoList.js +2 -1
- package/execution/TodoList.js.map +1 -1
- package/execution/WriteBacksWidget.d.ts.map +1 -1
- package/execution/WriteBacksWidget.js +2 -1
- package/execution/WriteBacksWidget.js.map +1 -1
- package/execution/tool-categories.d.ts +5 -22
- package/execution/tool-categories.d.ts.map +1 -1
- package/execution/tool-categories.js +8 -38
- package/execution/tool-categories.js.map +1 -1
- package/iam-policy/PeopleWithAccess.d.ts.map +1 -1
- package/iam-policy/PeopleWithAccess.js +2 -1
- package/iam-policy/PeopleWithAccess.js.map +1 -1
- package/iam-policy/PrincipalPicker.d.ts.map +1 -1
- package/iam-policy/PrincipalPicker.js +2 -1
- package/iam-policy/PrincipalPicker.js.map +1 -1
- package/iam-policy/RoleSelector.d.ts.map +1 -1
- package/iam-policy/RoleSelector.js +2 -1
- package/iam-policy/RoleSelector.js.map +1 -1
- package/identity-account/AccountPreferencesPanel.d.ts +35 -0
- package/identity-account/AccountPreferencesPanel.d.ts.map +1 -0
- package/identity-account/AccountPreferencesPanel.js +187 -0
- package/identity-account/AccountPreferencesPanel.js.map +1 -0
- package/identity-account/index.d.ts +8 -0
- package/identity-account/index.d.ts.map +1 -1
- package/identity-account/index.js +4 -0
- package/identity-account/index.js.map +1 -1
- package/identity-account/useAccountExecutionDefaults.d.ts +36 -0
- package/identity-account/useAccountExecutionDefaults.d.ts.map +1 -0
- package/identity-account/useAccountExecutionDefaults.js +46 -0
- package/identity-account/useAccountExecutionDefaults.js.map +1 -0
- package/identity-account/useMyIdentityAccount.d.ts +55 -0
- package/identity-account/useMyIdentityAccount.d.ts.map +1 -0
- package/identity-account/useMyIdentityAccount.js +37 -0
- package/identity-account/useMyIdentityAccount.js.map +1 -0
- package/identity-account/useUpdateIdentityAccount.d.ts +42 -0
- package/identity-account/useUpdateIdentityAccount.d.ts.map +1 -0
- package/identity-account/useUpdateIdentityAccount.js +53 -0
- package/identity-account/useUpdateIdentityAccount.js.map +1 -0
- package/identity-provider/CreateIdentityProviderForm.d.ts.map +1 -1
- package/identity-provider/CreateIdentityProviderForm.js +2 -1
- package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.d.ts.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.js +2 -1
- package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
- package/identity-provider/IdentityProviderWizard.d.ts.map +1 -1
- package/identity-provider/IdentityProviderWizard.js +2 -1
- package/identity-provider/IdentityProviderWizard.js.map +1 -1
- package/index.d.ts +14 -10
- package/index.d.ts.map +1 -1
- package/index.js +11 -5
- package/index.js.map +1 -1
- package/internal/StandingContextField.d.ts +37 -0
- package/internal/StandingContextField.d.ts.map +1 -0
- package/internal/StandingContextField.js +24 -0
- package/internal/StandingContextField.js.map +1 -0
- package/internal/element-resets.d.ts +17 -0
- package/internal/element-resets.d.ts.map +1 -0
- package/internal/element-resets.js +32 -0
- package/internal/element-resets.js.map +1 -0
- package/internal/file-tree/FileTreeNode.d.ts.map +1 -1
- package/internal/file-tree/FileTreeNode.js +2 -1
- package/internal/file-tree/FileTreeNode.js.map +1 -1
- package/internal/markdown-components.d.ts +7 -0
- package/internal/markdown-components.d.ts.map +1 -1
- package/internal/markdown-components.js +15 -5
- package/internal/markdown-components.js.map +1 -1
- package/invitation/InvitationManager.d.ts.map +1 -1
- package/invitation/InvitationManager.js +2 -1
- package/invitation/InvitationManager.js.map +1 -1
- package/library/InstanceVisibilitySelector.d.ts.map +1 -1
- package/library/InstanceVisibilitySelector.js +9 -2
- package/library/InstanceVisibilitySelector.js.map +1 -1
- package/library/ResourceVisibilityControl.d.ts +13 -3
- package/library/ResourceVisibilityControl.d.ts.map +1 -1
- package/library/ResourceVisibilityControl.js +33 -5
- package/library/ResourceVisibilityControl.js.map +1 -1
- package/library/VisibilityOptionRow.d.ts +6 -0
- package/library/VisibilityOptionRow.d.ts.map +1 -1
- package/library/VisibilityOptionRow.js +11 -1
- package/library/VisibilityOptionRow.js.map +1 -1
- package/library/VisibilitySelector.d.ts.map +1 -1
- package/library/VisibilitySelector.js +14 -2
- package/library/VisibilitySelector.js.map +1 -1
- package/library/index.d.ts +4 -2
- package/library/index.d.ts.map +1 -1
- package/library/index.js +2 -1
- package/library/index.js.map +1 -1
- package/library/useCanSetPublicVisibility.d.ts +30 -0
- package/library/useCanSetPublicVisibility.d.ts.map +1 -0
- package/library/useCanSetPublicVisibility.js +41 -0
- package/library/useCanSetPublicVisibility.js.map +1 -0
- package/library/visibilityLevels.d.ts +32 -1
- package/library/visibilityLevels.d.ts.map +1 -1
- package/library/visibilityLevels.js +34 -14
- package/library/visibilityLevels.js.map +1 -1
- package/manifest/ApplyManifestDialog.d.ts.map +1 -1
- package/manifest/ApplyManifestDialog.js +2 -1
- package/manifest/ApplyManifestDialog.js.map +1 -1
- package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -1
- package/mcp-server/steps/IdentityTransportStep.js +2 -1
- package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
- package/mcp-server/useMcpServerConnect.d.ts +8 -5
- package/mcp-server/useMcpServerConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerConnect.js +2 -1
- package/mcp-server/useMcpServerConnect.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.js +7 -2
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
- package/oauth-app/CreateOAuthAppForm.d.ts +2 -2
- package/oauth-app/CreateOAuthAppForm.d.ts.map +1 -1
- package/oauth-app/CreateOAuthAppForm.js +13 -4
- package/oauth-app/CreateOAuthAppForm.js.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.d.ts.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.js +32 -5
- package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
- package/organization/OrgPreferencesPanel.d.ts +32 -0
- package/organization/OrgPreferencesPanel.d.ts.map +1 -0
- package/organization/OrgPreferencesPanel.js +90 -0
- package/organization/OrgPreferencesPanel.js.map +1 -0
- package/organization/OrgProfilePanel.d.ts.map +1 -1
- package/organization/OrgProfilePanel.js +5 -4
- package/organization/OrgProfilePanel.js.map +1 -1
- package/organization/index.d.ts +2 -0
- package/organization/index.d.ts.map +1 -1
- package/organization/index.js +1 -0
- package/organization/index.js.map +1 -1
- package/package.json +4 -4
- package/platform-client/CreatePlatformClientForm.d.ts.map +1 -1
- package/platform-client/CreatePlatformClientForm.js +2 -1
- package/platform-client/CreatePlatformClientForm.js.map +1 -1
- package/platform-client/PlatformClientDetailPanel.d.ts.map +1 -1
- package/platform-client/PlatformClientDetailPanel.js +2 -1
- package/platform-client/PlatformClientDetailPanel.js.map +1 -1
- package/pricing-governance/BaselineEditor.d.ts.map +1 -1
- package/pricing-governance/BaselineEditor.js +2 -1
- package/pricing-governance/BaselineEditor.js.map +1 -1
- package/pricing-governance/PricingGovernanceConsole.d.ts.map +1 -1
- package/pricing-governance/PricingGovernanceConsole.js +2 -1
- package/pricing-governance/PricingGovernanceConsole.js.map +1 -1
- package/provider-standing/ProviderStandingAccessNotice.d.ts +11 -0
- package/provider-standing/ProviderStandingAccessNotice.d.ts.map +1 -0
- package/provider-standing/ProviderStandingAccessNotice.js +14 -0
- package/provider-standing/ProviderStandingAccessNotice.js.map +1 -0
- package/provider-standing/ProviderStandingConsole.d.ts +24 -0
- package/provider-standing/ProviderStandingConsole.d.ts.map +1 -0
- package/provider-standing/ProviderStandingConsole.js +98 -0
- package/provider-standing/ProviderStandingConsole.js.map +1 -0
- package/provider-standing/index.d.ts +6 -0
- package/provider-standing/index.d.ts.map +1 -0
- package/provider-standing/index.js +6 -0
- package/provider-standing/index.js.map +1 -0
- package/provider-standing/useProviderStanding.d.ts +34 -0
- package/provider-standing/useProviderStanding.d.ts.map +1 -0
- package/provider-standing/useProviderStanding.js +26 -0
- package/provider-standing/useProviderStanding.js.map +1 -0
- package/provider.d.ts +12 -0
- package/provider.d.ts.map +1 -1
- package/provider.js +12 -0
- package/provider.js.map +1 -1
- package/resource-creation/StepIndicator.d.ts.map +1 -1
- package/resource-creation/StepIndicator.js +2 -1
- package/resource-creation/StepIndicator.js.map +1 -1
- package/schedule/ScheduleDetailView.d.ts.map +1 -1
- package/schedule/ScheduleDetailView.js +3 -2
- package/schedule/ScheduleDetailView.js.map +1 -1
- package/schedule/ScheduleRunsTable.d.ts.map +1 -1
- package/schedule/ScheduleRunsTable.js +2 -1
- package/schedule/ScheduleRunsTable.js.map +1 -1
- package/session/NewSessionViewer.d.ts +10 -1
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +2 -1
- package/session/NewSessionViewer.js.map +1 -1
- package/session/facets/ArtifactsTab.d.ts.map +1 -1
- package/session/facets/ArtifactsTab.js +2 -1
- package/session/facets/ArtifactsTab.js.map +1 -1
- package/session/facets/ChangesTab.d.ts.map +1 -1
- package/session/facets/ChangesTab.js +2 -1
- package/session/facets/ChangesTab.js.map +1 -1
- package/session/facets/UsageTab.d.ts +10 -3
- package/session/facets/UsageTab.d.ts.map +1 -1
- package/session/facets/UsageTab.js +42 -6
- package/session/facets/UsageTab.js.map +1 -1
- package/session/index.d.ts +1 -1
- package/session/index.d.ts.map +1 -1
- package/session/index.js.map +1 -1
- package/session/useNewSessionFlow.d.ts +27 -1
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +45 -8
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSessionUsage.d.ts +25 -0
- package/session/useSessionUsage.d.ts.map +1 -1
- package/session/useSessionUsage.js +11 -0
- package/session/useSessionUsage.js.map +1 -1
- package/settings/AccountPreferencesSection.d.ts +3 -0
- package/settings/AccountPreferencesSection.d.ts.map +1 -0
- package/settings/AccountPreferencesSection.js +10 -0
- package/settings/AccountPreferencesSection.js.map +1 -0
- package/settings/OrgPreferencesSection.d.ts +3 -0
- package/settings/OrgPreferencesSection.d.ts.map +1 -0
- package/settings/OrgPreferencesSection.js +13 -0
- package/settings/OrgPreferencesSection.js.map +1 -0
- package/settings/index.d.ts +2 -0
- package/settings/index.d.ts.map +1 -1
- package/settings/index.js +2 -0
- package/settings/index.js.map +1 -1
- package/settings/settings-nav.d.ts.map +1 -1
- package/settings/settings-nav.js +23 -1
- package/settings/settings-nav.js.map +1 -1
- package/settings/useSettingsNavGroups.d.ts.map +1 -1
- package/settings/useSettingsNavGroups.js +4 -1
- package/settings/useSettingsNavGroups.js.map +1 -1
- package/sharing/ShareAgentDialog.d.ts.map +1 -1
- package/sharing/ShareAgentDialog.js +2 -1
- package/sharing/ShareAgentDialog.js.map +1 -1
- package/sidebar/WorkspaceSidebar.d.ts.map +1 -1
- package/sidebar/WorkspaceSidebar.js +2 -1
- package/sidebar/WorkspaceSidebar.js.map +1 -1
- package/skill/SkillFileBrowser.d.ts.map +1 -1
- package/skill/SkillFileBrowser.js +2 -1
- package/skill/SkillFileBrowser.js.map +1 -1
- package/skill/internal/fetchAndUnpackArtifact.d.ts +1 -1
- package/skill/internal/fetchAndUnpackArtifact.d.ts.map +1 -1
- package/skill/internal/fetchAndUnpackArtifact.js +47 -3
- package/skill/internal/fetchAndUnpackArtifact.js.map +1 -1
- package/skill/useSkillDiff.d.ts.map +1 -1
- package/skill/useSkillDiff.js +7 -1
- package/skill/useSkillDiff.js.map +1 -1
- package/skill/useSkillUpload.d.ts.map +1 -1
- package/skill/useSkillUpload.js +22 -4
- package/skill/useSkillUpload.js.map +1 -1
- package/src/__tests__/bare-host-resets.layout.test.tsx +184 -0
- package/src/agent/steps/IdentityStep.tsx +2 -1
- package/src/agent-instance/AgentInstanceDetailPanel.tsx +2 -1
- package/src/api-key/CreateApiKeyForm.tsx +2 -1
- package/src/attachment/AttachmentChipList.tsx +19 -8
- package/src/attachment/__tests__/AttachmentChipList.test.tsx +12 -0
- package/src/attachment/__tests__/useAttachments.test.ts +293 -0
- package/src/attachment/index.ts +1 -0
- package/src/attachment/useAttachments.ts +143 -11
- package/src/channel/ChannelConversationsDialog.tsx +2 -1
- package/src/channel/ChannelTemplatesDialog.tsx +2 -1
- package/src/channel/ConnectSlackDialog.tsx +2 -1
- package/src/channel/connect/ServingAppSection.tsx +2 -1
- package/src/channel-app/CreateChannelAppForm.tsx +2 -1
- package/src/composer/SessionComposer.tsx +23 -14
- package/src/conversation/ConversationComposer.tsx +38 -4
- package/src/conversation/ConversationListPane.tsx +2 -5
- package/src/conversation/ConversationTemplatePickerDialog.tsx +441 -0
- package/src/conversation/ConversationTimelineView.tsx +2 -1
- package/src/conversation/ConversationsWorkbench.tsx +40 -4
- package/src/conversation/__tests__/ConversationComposer.test.tsx +56 -1
- package/src/conversation/__tests__/ConversationTemplatePickerDialog.test.tsx +224 -0
- package/src/conversation/__tests__/useConversationParticipation.test.tsx +45 -4
- package/src/conversation/index.ts +4 -0
- package/src/conversation/useConversationParticipation.ts +58 -6
- package/src/cursor-accounts/CursorAccountsConsole.tsx +2 -1
- package/src/cursor-accounts/MemberKeysPanel.tsx +2 -1
- package/src/dashboard/DashboardFailedRuns.tsx +2 -1
- package/src/dependency-graph/DependencyGraph.tsx +2 -1
- package/src/dependency-graph/DependencyTreeNode.tsx +2 -1
- package/src/environment/EnvironmentPicker.tsx +2 -1
- package/src/error/SecretFlowErrorGuide.tsx +3 -2
- package/src/execution/ArtifactContentBody.tsx +2 -1
- package/src/execution/ArtifactsWidget.tsx +2 -1
- package/src/execution/FileChangeProgressBar.tsx +2 -1
- package/src/execution/TodoList.tsx +2 -1
- package/src/execution/WriteBacksWidget.tsx +2 -1
- package/src/execution/tool-categories.ts +17 -41
- package/src/iam-policy/PeopleWithAccess.tsx +2 -1
- package/src/iam-policy/PrincipalPicker.tsx +2 -0
- package/src/iam-policy/RoleSelector.tsx +2 -1
- package/src/identity-account/AccountPreferencesPanel.tsx +446 -0
- package/src/identity-account/__tests__/AccountPreferencesPanel.test.tsx +233 -0
- package/src/identity-account/__tests__/useAccountExecutionDefaults.test.tsx +116 -0
- package/src/identity-account/__tests__/useMyIdentityAccount.test.tsx +121 -0
- package/src/identity-account/index.ts +11 -0
- package/src/identity-account/useAccountExecutionDefaults.ts +63 -0
- package/src/identity-account/useMyIdentityAccount.ts +75 -0
- package/src/identity-account/useUpdateIdentityAccount.ts +73 -0
- package/src/identity-provider/CreateIdentityProviderForm.tsx +2 -1
- package/src/identity-provider/IdentityProviderDetailPanel.tsx +2 -1
- package/src/identity-provider/IdentityProviderWizard.tsx +2 -1
- package/src/index.ts +37 -2
- package/src/internal/StandingContextField.tsx +92 -0
- package/src/internal/element-resets.ts +33 -0
- package/src/internal/file-tree/FileTreeNode.tsx +2 -1
- package/src/internal/markdown-components.tsx +15 -5
- package/src/invitation/InvitationManager.tsx +3 -2
- package/src/library/InstanceVisibilitySelector.tsx +9 -2
- package/src/library/ResourceVisibilityControl.tsx +46 -13
- package/src/library/VisibilityOptionRow.tsx +28 -6
- package/src/library/VisibilitySelector.tsx +14 -2
- package/src/library/__tests__/VisibilitySelector.test.tsx +48 -1
- package/src/library/__tests__/visibilityLevels.test.ts +67 -1
- package/src/library/index.ts +6 -1
- package/src/library/useCanSetPublicVisibility.ts +56 -0
- package/src/library/visibilityLevels.ts +65 -14
- package/src/manifest/ApplyManifestDialog.tsx +2 -1
- package/src/mcp-server/__tests__/useMcpServerConnect.asyncLane.test.tsx +117 -0
- package/src/mcp-server/steps/IdentityTransportStep.tsx +3 -2
- package/src/mcp-server/useMcpServerConnect.ts +9 -6
- package/src/mcp-server/useMcpServerOAuthConnect.ts +7 -2
- package/src/oauth-app/CreateOAuthAppForm.tsx +58 -3
- package/src/oauth-app/OAuthAppDetailPanel.tsx +84 -3
- package/src/organization/OrgPreferencesPanel.tsx +221 -0
- package/src/organization/OrgProfilePanel.tsx +5 -4
- package/src/organization/__tests__/OrgPreferencesPanel.test.tsx +145 -0
- package/src/organization/__tests__/OrgProfilePanel.test.tsx +108 -0
- package/src/organization/index.ts +2 -0
- package/src/platform-client/CreatePlatformClientForm.tsx +4 -3
- package/src/platform-client/PlatformClientDetailPanel.tsx +4 -3
- package/src/pricing-governance/BaselineEditor.tsx +3 -2
- package/src/pricing-governance/PricingGovernanceConsole.tsx +2 -1
- package/src/provider-standing/ProviderStandingAccessNotice.tsx +36 -0
- package/src/provider-standing/ProviderStandingConsole.tsx +216 -0
- package/src/provider-standing/__tests__/ProviderStandingConsole.test.tsx +143 -0
- package/src/provider-standing/index.ts +8 -0
- package/src/provider-standing/useProviderStanding.ts +50 -0
- package/src/provider.tsx +12 -0
- package/src/resource-creation/StepIndicator.tsx +2 -1
- package/src/schedule/ScheduleDetailView.tsx +3 -2
- package/src/schedule/ScheduleRunsTable.tsx +2 -1
- package/src/session/NewSessionViewer.tsx +12 -0
- package/src/session/__tests__/UsageTab.test.tsx +136 -0
- package/src/session/__tests__/useNewSessionFlow.test.tsx +151 -0
- package/src/session/__tests__/useSessionUsage.test.ts +19 -0
- package/src/session/facets/ArtifactsTab.tsx +2 -1
- package/src/session/facets/ChangesTab.tsx +2 -1
- package/src/session/facets/UsageTab.tsx +98 -6
- package/src/session/index.ts +1 -0
- package/src/session/useNewSessionFlow.ts +76 -9
- package/src/session/useSessionUsage.ts +37 -0
- package/src/settings/AccountPreferencesSection.tsx +25 -0
- package/src/settings/OrgPreferencesSection.tsx +35 -0
- package/src/settings/__tests__/settings-nav.test.ts +27 -0
- package/src/settings/__tests__/useSettingsNavGroups.test.tsx +11 -1
- package/src/settings/index.ts +2 -0
- package/src/settings/settings-nav.ts +25 -0
- package/src/settings/useSettingsNavGroups.ts +8 -1
- package/src/sharing/ShareAgentDialog.tsx +2 -1
- package/src/sidebar/WorkspaceSidebar.tsx +2 -1
- package/src/skill/SkillFileBrowser.tsx +2 -1
- package/src/skill/__tests__/SkillFileBrowser.test.tsx +10 -2
- package/src/skill/__tests__/fetchAndUnpackArtifact.test.ts +90 -0
- package/src/skill/__tests__/useSkillUpload.test.ts +69 -0
- package/src/skill/internal/fetchAndUnpackArtifact.ts +54 -4
- package/src/skill/useSkillDiff.ts +7 -1
- package/src/skill/useSkillUpload.ts +25 -6
- package/src/workflow/ApprovalFormBuilder.tsx +5 -27
- package/src/workflow/FailedRunsWidget.tsx +2 -1
- package/src/workflow/PendingApprovalsWidget.tsx +2 -1
- package/src/workflow/facets/WorkflowArtifactsTab.tsx +2 -1
- package/src/workflow/facets/WorkflowUsageTab.tsx +2 -1
- package/src/workflow/inspector/WorkflowSummaryPanel.tsx +2 -1
- package/src/workflow/inspector/tabs/BranchesTab.tsx +2 -1
- package/src/workflow/inspector/tabs/IterationTab.tsx +2 -1
- package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +2 -1
- package/src/workspace/ExplorerTree.tsx +2 -1
- package/src/workspace/WorkspaceContentSearch.tsx +2 -1
- package/src/workspace/WorkspaceFileSearch.tsx +2 -1
- package/src/workspace/WorkspaceSummary.tsx +2 -1
- package/styles.css +1 -1
- package/workflow/ApprovalFormBuilder.d.ts.map +1 -1
- package/workflow/ApprovalFormBuilder.js +8 -5
- package/workflow/ApprovalFormBuilder.js.map +1 -1
- package/workflow/FailedRunsWidget.d.ts.map +1 -1
- package/workflow/FailedRunsWidget.js +2 -1
- package/workflow/FailedRunsWidget.js.map +1 -1
- package/workflow/PendingApprovalsWidget.d.ts.map +1 -1
- package/workflow/PendingApprovalsWidget.js +2 -1
- package/workflow/PendingApprovalsWidget.js.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.js +2 -1
- package/workflow/facets/WorkflowArtifactsTab.js.map +1 -1
- package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -1
- package/workflow/facets/WorkflowUsageTab.js +2 -1
- package/workflow/facets/WorkflowUsageTab.js.map +1 -1
- package/workflow/inspector/WorkflowSummaryPanel.d.ts.map +1 -1
- package/workflow/inspector/WorkflowSummaryPanel.js +2 -1
- package/workflow/inspector/WorkflowSummaryPanel.js.map +1 -1
- package/workflow/inspector/tabs/BranchesTab.d.ts.map +1 -1
- package/workflow/inspector/tabs/BranchesTab.js +2 -1
- package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
- package/workflow/inspector/tabs/IterationTab.d.ts.map +1 -1
- package/workflow/inspector/tabs/IterationTab.js +2 -1
- package/workflow/inspector/tabs/IterationTab.js.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js +2 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
- package/workspace/ExplorerTree.d.ts.map +1 -1
- package/workspace/ExplorerTree.js +2 -1
- package/workspace/ExplorerTree.js.map +1 -1
- package/workspace/WorkspaceContentSearch.d.ts.map +1 -1
- package/workspace/WorkspaceContentSearch.js +2 -1
- package/workspace/WorkspaceContentSearch.js.map +1 -1
- package/workspace/WorkspaceFileSearch.d.ts.map +1 -1
- package/workspace/WorkspaceFileSearch.js +2 -1
- package/workspace/WorkspaceFileSearch.js.map +1 -1
- package/workspace/WorkspaceSummary.d.ts.map +1 -1
- package/workspace/WorkspaceSummary.js +2 -1
- package/workspace/WorkspaceSummary.js.map +1 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback } from "react";
|
|
4
|
+
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
4
5
|
import { useDeploymentMode } from "../deployment-mode.js";
|
|
5
6
|
import { PermissionGate } from "../iam-policy/PermissionGate.js";
|
|
6
7
|
import { useSsoProvider } from "../identity-provider/useSsoProvider.js";
|
|
8
|
+
import { useCanSetPublicVisibility } from "./useCanSetPublicVisibility.js";
|
|
7
9
|
import { VisibilityBadge, VisibilitySelector } from "./VisibilitySelector.js";
|
|
8
|
-
import { blueprintVisibilityLevels, environmentVisibilityLevels,
|
|
10
|
+
import { blueprintVisibilityLevels, environmentVisibilityLevels, instanceVisibilityLevels, } from "./visibilityLevels.js";
|
|
9
11
|
import { useUpdateVisibility, } from "./useUpdateVisibility.js";
|
|
10
12
|
/**
|
|
11
13
|
* Maps a {@link VisibilityResourceKind} (which mirrors the SDK method namespace,
|
|
@@ -50,13 +52,24 @@ const INSTANCE_KINDS = new Set([
|
|
|
50
52
|
* the org boundary. In `local` mode there are no levels to choose (the
|
|
51
53
|
* OSS backend is single-user), so the control degrades to a badge.
|
|
52
54
|
*
|
|
55
|
+
* The Public level is operator-gated in the cloud edition (publishing is a
|
|
56
|
+
* curation decision): for callers without `can_set_public_visibility`
|
|
57
|
+
* ({@link useCanSetPublicVisibility}) the option renders locked with copy
|
|
58
|
+
* naming the path forward. The same permission opens the operator takedown
|
|
59
|
+
* lane — on a currently-public resource, an operator gets the interactive
|
|
60
|
+
* selector even without resource `can_edit`, so noisy public resources can
|
|
61
|
+
* be un-published directly from the console (every offered move off PUBLIC
|
|
62
|
+
* is a downgrade, which the backend allows operators unilaterally).
|
|
63
|
+
*
|
|
53
64
|
* The backend remains the enforcer (`ValidateVisibilityStep` rejects
|
|
54
|
-
* platform without an IdP
|
|
55
|
-
*
|
|
65
|
+
* platform without an IdP; `AuthorizeVisibilityTransitionStep` gates the
|
|
66
|
+
* PUBLIC level); the gates here only prevent offering an option that is
|
|
67
|
+
* guaranteed to fail.
|
|
56
68
|
*/
|
|
57
69
|
export function ResourceVisibilityControl({ kind, resourceId, visibility, org, onChanged, className, }) {
|
|
58
70
|
const { updateVisibility, isPending } = useUpdateVisibility(kind, resourceId);
|
|
59
71
|
const deploymentMode = useDeploymentMode();
|
|
72
|
+
const canSetPublic = useCanSetPublicVisibility();
|
|
60
73
|
const isInstance = INSTANCE_KINDS.has(kind);
|
|
61
74
|
const isEnvironment = kind === "environment";
|
|
62
75
|
// The IdP lookup only matters for blueprints in cloud mode; passing null
|
|
@@ -68,10 +81,13 @@ export function ResourceVisibilityControl({ kind, resourceId, visibility, org, o
|
|
|
68
81
|
const options = isEnvironment
|
|
69
82
|
? environmentVisibilityLevels(deploymentMode)
|
|
70
83
|
: isInstance
|
|
71
|
-
?
|
|
84
|
+
? instanceVisibilityLevels({
|
|
85
|
+
canSetPublicVisibility: canSetPublic.allowed,
|
|
86
|
+
})
|
|
72
87
|
: blueprintVisibilityLevels({
|
|
73
88
|
deploymentMode,
|
|
74
89
|
hasIdentityProvider: ssoProvider !== null,
|
|
90
|
+
canSetPublicVisibility: canSetPublic.allowed,
|
|
75
91
|
});
|
|
76
92
|
const handleChange = useCallback(async (next) => {
|
|
77
93
|
try {
|
|
@@ -90,6 +106,18 @@ export function ResourceVisibilityControl({ kind, resourceId, visibility, org, o
|
|
|
90
106
|
if (options.length < 2) {
|
|
91
107
|
return badge;
|
|
92
108
|
}
|
|
93
|
-
|
|
109
|
+
const selector = (_jsx(VisibilitySelector, { visibility: visibility, options: options, onVisibilityChange: handleChange, isPending: isPending, ariaLabel: isInstance ? "Instance visibility" : "Resource visibility", className: className }));
|
|
110
|
+
// Operator takedown lane: on a currently-public resource, a caller holding
|
|
111
|
+
// can_set_public_visibility gets the control without resource can_edit —
|
|
112
|
+
// every offered move is a downgrade off PUBLIC, which the backend allows
|
|
113
|
+
// operators unilaterally (AuthorizeVisibilityTransitionStep), so no
|
|
114
|
+
// offered action can fail authorization. Scoped to the public state on
|
|
115
|
+
// purpose: on non-public foreign resources most transitions would be
|
|
116
|
+
// denied, and publishing those stays a request-to-operator flow.
|
|
117
|
+
if (canSetPublic.allowed &&
|
|
118
|
+
visibility === ApiResourceVisibility.visibility_public) {
|
|
119
|
+
return selector;
|
|
120
|
+
}
|
|
121
|
+
return (_jsx(PermissionGate, { resource: { kind: FGA_KIND[kind], id: resourceId }, relation: "can_edit", fallback: badge, loading: badge, children: selector }));
|
|
94
122
|
}
|
|
95
123
|
//# sourceMappingURL=ResourceVisibilityControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceVisibilityControl.js","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceVisibilityControl.js","sourceRoot":"","sources":["../../src/library/ResourceVisibilityControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,12 @@ export interface VisibilityOptionRowProps {
|
|
|
33
33
|
* label, one-line description, and a check when current. Shared by the
|
|
34
34
|
* {@link VisibilitySelector} popover and its create-mode inline list so
|
|
35
35
|
* option presentation has exactly one source.
|
|
36
|
+
*
|
|
37
|
+
* A level carrying {@link VisibilityLevelOption.lockedReason} renders
|
|
38
|
+
* non-interactive with a lock affordance and the reason as its detail line
|
|
39
|
+
* — the level stays discoverable (the reason names the path forward)
|
|
40
|
+
* without being selectable. The locked row keeps its normal opacity: it is
|
|
41
|
+
* informative, not in a transient disabled state.
|
|
36
42
|
*/
|
|
37
43
|
export declare const VisibilityOptionRow: import("react").ForwardRefExoticComponent<VisibilityOptionRowProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
38
44
|
/** Selected-segment / active-tone treatment (also used by the inline confirm). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityOptionRow.d.ts","sourceRoot":"","sources":["../../src/library/VisibilityOptionRow.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAO3D,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,wKACqI,CAAC;AAQxK,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED
|
|
1
|
+
{"version":3,"file":"VisibilityOptionRow.d.ts","sourceRoot":"","sources":["../../src/library/VisibilityOptionRow.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAO3D,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,wKACqI,CAAC;AAQxK,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC1E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,wHAuE9B,CAAC;AAMH,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQ1D,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,aAAa,EAAE,MAAM,CAChC,cAAc,EACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuCrE,CAAC;AAMF,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,2CAWA"}
|
|
@@ -13,12 +13,22 @@ export const VISIBILITY_CHIP_CLASS = "stg:inline-flex stg:shrink-0 stg:items-cen
|
|
|
13
13
|
* label, one-line description, and a check when current. Shared by the
|
|
14
14
|
* {@link VisibilitySelector} popover and its create-mode inline list so
|
|
15
15
|
* option presentation has exactly one source.
|
|
16
|
+
*
|
|
17
|
+
* A level carrying {@link VisibilityLevelOption.lockedReason} renders
|
|
18
|
+
* non-interactive with a lock affordance and the reason as its detail line
|
|
19
|
+
* — the level stays discoverable (the reason names the path forward)
|
|
20
|
+
* without being selectable. The locked row keeps its normal opacity: it is
|
|
21
|
+
* informative, not in a transient disabled state.
|
|
16
22
|
*/
|
|
17
23
|
export const VisibilityOptionRow = forwardRef(function VisibilityOptionRow({ option, isSelected, role, isHighlighted, disabled, tabIndex, onSelect, onMouseEnter, onKeyDown, }, ref) {
|
|
24
|
+
const locked = option.lockedReason !== undefined;
|
|
18
25
|
const selectionAttr = role === "radio"
|
|
19
26
|
? { "aria-checked": isSelected }
|
|
20
27
|
: { "aria-selected": isSelected };
|
|
21
|
-
return (_jsxs("button", { ref: ref, type: "button", role: role, ...selectionAttr, tabIndex: tabIndex, disabled: disabled, onClick: onSelect, onMouseEnter: onMouseEnter, onKeyDown: onKeyDown, className: cn("stg:flex stg:w-full stg:items-start stg:gap-2 stg:rounded-md stg:px-2.5 stg:py-2 stg:text-left stg:transition-colors", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring",
|
|
28
|
+
return (_jsxs("button", { ref: ref, type: "button", role: role, ...selectionAttr, "aria-disabled": locked || undefined, tabIndex: tabIndex, disabled: disabled || locked, onClick: onSelect, onMouseEnter: onMouseEnter, onKeyDown: onKeyDown, className: cn("stg:flex stg:w-full stg:items-start stg:gap-2 stg:rounded-md stg:px-2.5 stg:py-2 stg:text-left stg:transition-colors", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", locked
|
|
29
|
+
? "stg:disabled:pointer-events-none stg:cursor-default"
|
|
30
|
+
: "stg:disabled:pointer-events-none stg:disabled:opacity-50", !locked &&
|
|
31
|
+
(isHighlighted ? "stg:bg-accent stg:text-foreground" : "stg:hover:bg-accent-hover")), children: [_jsx(VisibilityIcon, { tone: option.tone, className: "stg:mt-0.5 stg:size-3.5 stg:shrink-0 stg:text-muted-foreground" }), _jsxs("span", { className: "stg:min-w-0 stg:flex-1", children: [_jsx("span", { className: cn("stg:block stg:text-xs stg:font-medium", locked ? "stg:text-muted-foreground" : "stg:text-foreground"), children: option.label }), _jsx("span", { className: "stg:block stg:text-[0.65rem] stg:leading-snug stg:text-muted-foreground", children: locked ? option.lockedReason : option.description })] }), locked ? (_jsx(LockIcon, { className: "stg:mt-0.5 stg:size-3.5 stg:shrink-0 stg:text-muted-foreground" })) : (isSelected && (_jsx(CheckIcon, { className: "stg:mt-0.5 stg:size-3.5 stg:shrink-0 stg:text-primary" })))] }));
|
|
22
32
|
});
|
|
23
33
|
// ---------------------------------------------------------------------------
|
|
24
34
|
// Tone styling — one row per visibility tone, keyed by VisibilityLevelOption
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityOptionRow.js","sourceRoot":"","sources":["../../src/library/VisibilityOptionRow.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAMpC,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAE9E,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAChC,qKAAqK,CAAC;AAkCxK
|
|
1
|
+
{"version":3,"file":"VisibilityOptionRow.js","sourceRoot":"","sources":["../../src/library/VisibilityOptionRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilitySelector.d.ts","sourceRoot":"","sources":["../../src/library/VisibilitySelector.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAW/F,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,wEAAwE;AACxE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChE;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,IAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,SAAiC,EACjC,SAAS,GACV,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"VisibilitySelector.d.ts","sourceRoot":"","sources":["../../src/library/VisibilitySelector.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAW/F,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,wEAAwE;AACxE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzD,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChE;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,IAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,SAAiC,EACjC,SAAS,GACV,EAAE,uBAAuB,2CAqSzB;AAmBD,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;IAC3C,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,SAAS,EACT,OAAO,GACR,EAAE,oBAAoB,2CAqCtB"}
|
|
@@ -74,6 +74,11 @@ export function VisibilitySelector({ visibility, options, onVisibilityChange, mo
|
|
|
74
74
|
onVisibilityChange(value);
|
|
75
75
|
}, [onVisibilityChange]);
|
|
76
76
|
const handleSelect = useCallback((option) => {
|
|
77
|
+
// Locked levels are not selectable; the row is disabled, this guard
|
|
78
|
+
// is defense in depth for programmatic activation.
|
|
79
|
+
if (option.lockedReason !== undefined) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
77
82
|
const value = option.value;
|
|
78
83
|
if (value === visibility) {
|
|
79
84
|
setPendingInline(null);
|
|
@@ -110,10 +115,17 @@ export function VisibilitySelector({ visibility, options, onVisibilityChange, mo
|
|
|
110
115
|
}, [visibility, mode, isEscalation, apply, confirm, onVisibilityChange]);
|
|
111
116
|
const moveFocus = useCallback((from, delta) => {
|
|
112
117
|
const count = effectiveOptions.length;
|
|
113
|
-
|
|
118
|
+
// Skip locked rows: their buttons are disabled and cannot take focus,
|
|
119
|
+
// so landing on one would strand the roving tabindex.
|
|
120
|
+
let next = from;
|
|
121
|
+
for (let step = 0; step < count; step++) {
|
|
122
|
+
next = (next + delta + count) % count;
|
|
123
|
+
if (effectiveOptions[next]?.lockedReason === undefined)
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
114
126
|
setHighlightIdx(next);
|
|
115
127
|
optionRefs.current[next]?.focus();
|
|
116
|
-
}, [effectiveOptions
|
|
128
|
+
}, [effectiveOptions]);
|
|
117
129
|
const handleRowKeyDown = useCallback((e, index) => {
|
|
118
130
|
switch (e.key) {
|
|
119
131
|
case "ArrowDown":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilitySelector.js","sourceRoot":"","sources":["../../src/library/VisibilitySelector.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VisibilitySelector.js","sourceRoot":"","sources":["../../src/library/VisibilitySelector.tsx"],"names":[],"mappings":"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"}
|
package/library/index.d.ts
CHANGED
|
@@ -21,12 +21,14 @@ export { useExportResource } from "./useExportResource.js";
|
|
|
21
21
|
export type { UseExportResourceOptions, UseExportResourceReturn, } from "./useExportResource.js";
|
|
22
22
|
export { VisibilitySelector, VisibilityBadge } from "./VisibilitySelector.js";
|
|
23
23
|
export type { VisibilitySelectorProps, VisibilityBadgeProps, } from "./VisibilitySelector.js";
|
|
24
|
-
export { blueprintVisibilityLevels,
|
|
25
|
-
export type { BlueprintVisibilityLevelsContext, VisibilityLevelOption, } from "./visibilityLevels.js";
|
|
24
|
+
export { blueprintVisibilityLevels, instanceVisibilityLevels, PUBLIC_LOCKED_REASON, visibilityLabel, visibilityOption, } from "./visibilityLevels.js";
|
|
25
|
+
export type { BlueprintVisibilityLevelsContext, InstanceVisibilityLevelsContext, VisibilityLevelOption, } from "./visibilityLevels.js";
|
|
26
26
|
export { ResourceVisibilityControl } from "./ResourceVisibilityControl.js";
|
|
27
27
|
export type { ResourceVisibilityControlProps } from "./ResourceVisibilityControl.js";
|
|
28
28
|
export { useUpdateVisibility } from "./useUpdateVisibility.js";
|
|
29
29
|
export type { VisibilityResourceKind, UseUpdateVisibilityReturn, } from "./useUpdateVisibility.js";
|
|
30
|
+
export { useCanSetPublicVisibility } from "./useCanSetPublicVisibility.js";
|
|
31
|
+
export type { UseCanSetPublicVisibilityReturn } from "./useCanSetPublicVisibility.js";
|
|
30
32
|
export { InstanceVisibilitySelector } from "./InstanceVisibilitySelector.js";
|
|
31
33
|
export type { InstanceVisibilitySelectorProps } from "./InstanceVisibilitySelector.js";
|
|
32
34
|
//# sourceMappingURL=index.d.ts.map
|
package/library/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,YAAY,EACV,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,YAAY,EACV,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gCAAgC,EAChC,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACV,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,YAAY,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC"}
|
package/library/index.js
CHANGED
|
@@ -11,8 +11,9 @@ export { serializeWorkflowYaml, parseWorkflowYaml } from "../workflow/serialize-
|
|
|
11
11
|
export { useApplyResource } from "./useApplyResource.js";
|
|
12
12
|
export { useExportResource } from "./useExportResource.js";
|
|
13
13
|
export { VisibilitySelector, VisibilityBadge } from "./VisibilitySelector.js";
|
|
14
|
-
export { blueprintVisibilityLevels,
|
|
14
|
+
export { blueprintVisibilityLevels, instanceVisibilityLevels, PUBLIC_LOCKED_REASON, visibilityLabel, visibilityOption, } from "./visibilityLevels.js";
|
|
15
15
|
export { ResourceVisibilityControl } from "./ResourceVisibilityControl.js";
|
|
16
16
|
export { useUpdateVisibility } from "./useUpdateVisibility.js";
|
|
17
|
+
export { useCanSetPublicVisibility } from "./useCanSetPublicVisibility.js";
|
|
17
18
|
export { InstanceVisibilitySelector } from "./InstanceVisibilitySelector.js";
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/library/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM9E,OAAO,EACL,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/library/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM9E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Return value of {@link useCanSetPublicVisibility}. */
|
|
2
|
+
export interface UseCanSetPublicVisibilityReturn {
|
|
3
|
+
/** Whether the current user may set resources to PUBLIC visibility. */
|
|
4
|
+
readonly allowed: boolean;
|
|
5
|
+
/** `true` while the permission check is in flight (cloud only). */
|
|
6
|
+
readonly isLoading: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Whether the current user may set a resource's visibility to PUBLIC — the
|
|
10
|
+
* only level that crosses every org boundary (the cross-org "explore"
|
|
11
|
+
* catalog).
|
|
12
|
+
*
|
|
13
|
+
* In the cloud edition, publishing is a curation decision: the backend
|
|
14
|
+
* gates both write doors (updateVisibility escalation and
|
|
15
|
+
* create-with-public) on `can_set_public_visibility` on `platform:stigmer`,
|
|
16
|
+
* an explicit platform-operator capability. This hook runs the same check
|
|
17
|
+
* so selectors can present the Public option as locked instead of letting
|
|
18
|
+
* the request fail.
|
|
19
|
+
*
|
|
20
|
+
* Fail-closed, deliberately the opposite of the `useCheckPermission`
|
|
21
|
+
* default: an escalation gate must not open while the check is loading or
|
|
22
|
+
* when it errors — a locked option that unlocks a moment later is a far
|
|
23
|
+
* better failure than an unlocked option the server then rejects.
|
|
24
|
+
*
|
|
25
|
+
* In `local` deployment mode (OSS Go backend) the answer is always `true`:
|
|
26
|
+
* the self-hosted operator owns the store, the same scoping cloud#320
|
|
27
|
+
* applied to reserved labels.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useCanSetPublicVisibility(): UseCanSetPublicVisibilityReturn;
|
|
30
|
+
//# sourceMappingURL=useCanSetPublicVisibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanSetPublicVisibility.d.ts","sourceRoot":"","sources":["../../src/library/useCanSetPublicVisibility.ts"],"names":[],"mappings":"AAYA,yDAAyD;AACzD,MAAM,WAAW,+BAA+B;IAC9C,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,IAAI,+BAA+B,CAc3E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useDeploymentMode } from "../deployment-mode.js";
|
|
3
|
+
import { useCheckPermission } from "../iam-policy/useCheckPermission.js";
|
|
4
|
+
/**
|
|
5
|
+
* The `platform` singleton — platform-level permissions are always checked
|
|
6
|
+
* against this one resource (mirrors the server-side `resource_id = "stigmer"`
|
|
7
|
+
* RPC config).
|
|
8
|
+
*/
|
|
9
|
+
const PLATFORM_RESOURCE = { kind: "platform", id: "stigmer" };
|
|
10
|
+
/**
|
|
11
|
+
* Whether the current user may set a resource's visibility to PUBLIC — the
|
|
12
|
+
* only level that crosses every org boundary (the cross-org "explore"
|
|
13
|
+
* catalog).
|
|
14
|
+
*
|
|
15
|
+
* In the cloud edition, publishing is a curation decision: the backend
|
|
16
|
+
* gates both write doors (updateVisibility escalation and
|
|
17
|
+
* create-with-public) on `can_set_public_visibility` on `platform:stigmer`,
|
|
18
|
+
* an explicit platform-operator capability. This hook runs the same check
|
|
19
|
+
* so selectors can present the Public option as locked instead of letting
|
|
20
|
+
* the request fail.
|
|
21
|
+
*
|
|
22
|
+
* Fail-closed, deliberately the opposite of the `useCheckPermission`
|
|
23
|
+
* default: an escalation gate must not open while the check is loading or
|
|
24
|
+
* when it errors — a locked option that unlocks a moment later is a far
|
|
25
|
+
* better failure than an unlocked option the server then rejects.
|
|
26
|
+
*
|
|
27
|
+
* In `local` deployment mode (OSS Go backend) the answer is always `true`:
|
|
28
|
+
* the self-hosted operator owns the store, the same scoping cloud#320
|
|
29
|
+
* applied to reserved labels.
|
|
30
|
+
*/
|
|
31
|
+
export function useCanSetPublicVisibility() {
|
|
32
|
+
const deploymentMode = useDeploymentMode();
|
|
33
|
+
// Hooks run unconditionally; in local mode the null resource skips the
|
|
34
|
+
// RPC entirely and the fail mode's answer is discarded below.
|
|
35
|
+
const { allowed, isLoading } = useCheckPermission(deploymentMode === "cloud" ? PLATFORM_RESOURCE : null, "can_set_public_visibility", { fail: "closed" });
|
|
36
|
+
if (deploymentMode === "local") {
|
|
37
|
+
return { allowed: true, isLoading: false };
|
|
38
|
+
}
|
|
39
|
+
return { allowed, isLoading };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=useCanSetPublicVisibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanSetPublicVisibility.js","sourceRoot":"","sources":["../../src/library/useCanSetPublicVisibility.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAW,CAAC;AAUvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAC/C,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EACrD,2BAA2B,EAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;IAEF,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -42,7 +42,25 @@ export interface VisibilityLevelOption {
|
|
|
42
42
|
};
|
|
43
43
|
/** Color treatment for the selected segment and the confirmation prompt. */
|
|
44
44
|
readonly tone: "private" | "org" | "platform" | "public";
|
|
45
|
+
/**
|
|
46
|
+
* When present, the level cannot be selected by the current caller and the
|
|
47
|
+
* row renders locked (disabled, lock affordance) with this copy explaining
|
|
48
|
+
* why and what to do instead. Computed by the level builders from caller
|
|
49
|
+
* context — the component stays free of per-level branching, exactly like
|
|
50
|
+
* the confirmation ladder.
|
|
51
|
+
*
|
|
52
|
+
* Today's only locked level is Public in the cloud edition for callers
|
|
53
|
+
* without `can_set_public_visibility` (publishing is operator-granted);
|
|
54
|
+
* the backend independently enforces the same gate.
|
|
55
|
+
*/
|
|
56
|
+
readonly lockedReason?: string;
|
|
45
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* The locked-row copy for a caller who may not set PUBLIC visibility. Names
|
|
60
|
+
* the path forward (ask the platform team) rather than a bare "disabled" —
|
|
61
|
+
* the option stays discoverable even though it is not self-service.
|
|
62
|
+
*/
|
|
63
|
+
export declare const PUBLIC_LOCKED_REASON = "Public listing is granted by the platform team \u2014 contact us to publish this resource.";
|
|
46
64
|
/**
|
|
47
65
|
* Inputs that gate which levels a blueprint selector offers.
|
|
48
66
|
*
|
|
@@ -56,10 +74,15 @@ export interface VisibilityLevelOption {
|
|
|
56
74
|
* operate an IdentityProvider — the backend rejects it otherwise
|
|
57
75
|
* (`ValidateVisibilityStep`), so the option only renders when the signal
|
|
58
76
|
* is present (use `useSsoProvider`, the permission-free lookup).
|
|
77
|
+
* - `canSetPublicVisibility`: entering PUBLIC is operator-gated in the
|
|
78
|
+
* cloud edition; when the caller lacks the grant the Public option
|
|
79
|
+
* renders locked instead of disappearing (use
|
|
80
|
+
* `useCanSetPublicVisibility`, which is always `true` in local mode).
|
|
59
81
|
*/
|
|
60
82
|
export interface BlueprintVisibilityLevelsContext {
|
|
61
83
|
readonly deploymentMode: "cloud" | "local";
|
|
62
84
|
readonly hasIdentityProvider: boolean;
|
|
85
|
+
readonly canSetPublicVisibility: boolean;
|
|
63
86
|
}
|
|
64
87
|
/**
|
|
65
88
|
* The levels a blueprint (agent, skill, workflow, mcp_server) selector
|
|
@@ -70,6 +93,14 @@ export interface BlueprintVisibilityLevelsContext {
|
|
|
70
93
|
* opt-in). Local: Private / Public.
|
|
71
94
|
*/
|
|
72
95
|
export declare function blueprintVisibilityLevels(context: BlueprintVisibilityLevelsContext): readonly VisibilityLevelOption[];
|
|
96
|
+
/**
|
|
97
|
+
* Inputs that gate the instance level set — only the publish gate; the set
|
|
98
|
+
* itself is fixed (instances have no platform level and no deployment-mode
|
|
99
|
+
* collapse).
|
|
100
|
+
*/
|
|
101
|
+
export interface InstanceVisibilityLevelsContext {
|
|
102
|
+
readonly canSetPublicVisibility: boolean;
|
|
103
|
+
}
|
|
73
104
|
/**
|
|
74
105
|
* The levels an instance (agent_instance, workflow_instance) selector
|
|
75
106
|
* offers, in escalation order: Private / Organization / Public.
|
|
@@ -79,7 +110,7 @@ export declare function blueprintVisibilityLevels(context: BlueprintVisibilityLe
|
|
|
79
110
|
* boundary). Descriptions are execution-oriented because org visibility on
|
|
80
111
|
* an instance is about who can run it and see its executions.
|
|
81
112
|
*/
|
|
82
|
-
export declare
|
|
113
|
+
export declare function instanceVisibilityLevels(context: InstanceVisibilityLevelsContext): readonly VisibilityLevelOption[];
|
|
83
114
|
/**
|
|
84
115
|
* The levels an environment selector offers, in escalation order:
|
|
85
116
|
* Private / Organization. Broader levels are structurally absent —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityLevels.d.ts","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,qEAAqE;QACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,mEAAmE;QACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"visibilityLevels.d.ts","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,qEAAqE;QACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,mEAAmE;QACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,+FACwD,CAAC;AAyC1F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAcD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,SAAS,qBAAqB,EAAE,CAQlC;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,+BAA+B,GACvC,SAAS,qBAAqB,EAAE,CAYlC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,OAAO,GAAG,OAAO,GAChC,SAAS,qBAAqB,EAAE,CAgBlC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,qBAAqB,GAChC,qBAAqB,CAWvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAEzE"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
2
|
+
/**
|
|
3
|
+
* The locked-row copy for a caller who may not set PUBLIC visibility. Names
|
|
4
|
+
* the path forward (ask the platform team) rather than a bare "disabled" —
|
|
5
|
+
* the option stays discoverable even though it is not self-service.
|
|
6
|
+
*/
|
|
7
|
+
export const PUBLIC_LOCKED_REASON = "Public listing is granted by the platform team — contact us to publish this resource.";
|
|
2
8
|
const PRIVATE_OPTION = {
|
|
3
9
|
value: ApiResourceVisibility.visibility_private,
|
|
4
10
|
label: "Private",
|
|
@@ -32,6 +38,17 @@ const PUBLIC_OPTION = {
|
|
|
32
38
|
},
|
|
33
39
|
tone: "public",
|
|
34
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* The PUBLIC option, locked with {@link PUBLIC_LOCKED_REASON} when the
|
|
43
|
+
* caller may not publish. Locked rather than hidden: the level (and the
|
|
44
|
+
* path to it) stays discoverable, matching how the option keeps rendering
|
|
45
|
+
* as the current state on already-public resources.
|
|
46
|
+
*/
|
|
47
|
+
function publicOption(canSetPublicVisibility) {
|
|
48
|
+
return canSetPublicVisibility
|
|
49
|
+
? PUBLIC_OPTION
|
|
50
|
+
: { ...PUBLIC_OPTION, lockedReason: PUBLIC_LOCKED_REASON };
|
|
51
|
+
}
|
|
35
52
|
/**
|
|
36
53
|
* The levels a blueprint (agent, skill, workflow, mcp_server) selector
|
|
37
54
|
* offers, in escalation order.
|
|
@@ -41,12 +58,13 @@ const PUBLIC_OPTION = {
|
|
|
41
58
|
* opt-in). Local: Private / Public.
|
|
42
59
|
*/
|
|
43
60
|
export function blueprintVisibilityLevels(context) {
|
|
61
|
+
const publicLevel = publicOption(context.canSetPublicVisibility);
|
|
44
62
|
if (context.deploymentMode === "local") {
|
|
45
|
-
return [PRIVATE_OPTION,
|
|
63
|
+
return [PRIVATE_OPTION, publicLevel];
|
|
46
64
|
}
|
|
47
65
|
return context.hasIdentityProvider
|
|
48
|
-
? [PRIVATE_OPTION, ORG_OPTION, PLATFORM_OPTION,
|
|
49
|
-
: [PRIVATE_OPTION, ORG_OPTION,
|
|
66
|
+
? [PRIVATE_OPTION, ORG_OPTION, PLATFORM_OPTION, publicLevel]
|
|
67
|
+
: [PRIVATE_OPTION, ORG_OPTION, publicLevel];
|
|
50
68
|
}
|
|
51
69
|
/**
|
|
52
70
|
* The levels an instance (agent_instance, workflow_instance) selector
|
|
@@ -57,17 +75,19 @@ export function blueprintVisibilityLevels(context) {
|
|
|
57
75
|
* boundary). Descriptions are execution-oriented because org visibility on
|
|
58
76
|
* an instance is about who can run it and see its executions.
|
|
59
77
|
*/
|
|
60
|
-
export
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
export function instanceVisibilityLevels(context) {
|
|
79
|
+
return [
|
|
80
|
+
PRIVATE_OPTION,
|
|
81
|
+
{
|
|
82
|
+
...ORG_OPTION,
|
|
83
|
+
description: "All org members can view executions",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
...publicOption(context.canSetPublicVisibility),
|
|
87
|
+
description: "All authenticated users can view",
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
}
|
|
71
91
|
/**
|
|
72
92
|
* The levels an environment selector offers, in escalation order:
|
|
73
93
|
* Private / Organization. Broader levels are structurally absent —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityLevels.js","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"visibilityLevels.js","sourceRoot":"","sources":["../../src/library/visibilityLevels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplyManifestDialog.d.ts","sourceRoot":"","sources":["../../src/manifest/ApplyManifestDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApplyManifestDialog.d.ts","sourceRoot":"","sources":["../../src/manifest/ApplyManifestDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAO/B,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,IAAI,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE,wBAAwB,2CAqK1B"}
|
|
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { lazy, Suspense, useCallback, useEffect, useRef } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
5
|
import { DialogShell } from "../internal/DialogShell.js";
|
|
6
|
+
import { UNSTYLED_LIST } from "../internal/element-resets.js";
|
|
6
7
|
import { toast } from "../feedback/toast.js";
|
|
7
8
|
import { RedactedSecretsNotice } from "./RedactedSecretsNotice.js";
|
|
8
9
|
import { useApplyManifest, } from "./useApplyManifest.js";
|
|
@@ -94,7 +95,7 @@ export function ApplyManifestDialog({ open, onOpenChange, org, onApplied, }) {
|
|
|
94
95
|
manifest.entries.length > 0 &&
|
|
95
96
|
!manifest.isValidating &&
|
|
96
97
|
!manifest.isApplying;
|
|
97
|
-
return (_jsx(DialogShell, { open: open, onOpenChange: handleShellOpenChange, width: "3xl", "aria-label": "Apply YAML", children: _jsxs("div", { className: "stg:flex stg:flex-col stg:gap-4 stg:p-6", children: [_jsxs("div", { className: "stg:flex stg:flex-col stg:gap-1", children: [_jsx("h3", { className: "stg:text-base stg:font-semibold stg:text-foreground", children: "Apply YAML" }), _jsx("p", { className: "stg:text-sm stg:text-muted-foreground", children: "Paste a resource manifest or upload a file. Resources are created when new and updated when they already exist." })] }), _jsx("input", { ref: fileInputRef, type: "file", accept: ".yaml,.yml,.json", onChange: handleFileChange, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-3 stg:py-2 stg:text-sm stg:text-foreground", "stg:file:mr-3 stg:file:rounded-md stg:file:border-0 stg:file:bg-primary stg:file:px-2.5 stg:file:py-1 stg:file:text-xs stg:file:font-medium stg:file:text-primary-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring"), "aria-label": "Select manifest file" }), _jsx(Suspense, { fallback: _jsx(EditorLoading, {}), children: _jsx(LazyYamlEditor, { value: manifest.content, onChange: manifest.setContent, className: "stg:h-56" }) }), manifest.hasRedactedSecrets && _jsx(RedactedSecretsNotice, {}), manifest.validationError && (_jsx("div", { role: "alert", className: "stg:rounded-md stg:border stg:border-destructive stg:bg-card stg:px-3 stg:py-2.5 stg:text-sm stg:text-destructive", children: manifest.validationError })), manifest.entries && manifest.entries.length > 0 && (_jsx("ul", { className: "stg:flex stg:max-h-48 stg:flex-col stg:gap-2 stg:overflow-y-auto", "aria-label": "Resources to apply", children: manifest.entries.map((entry, index) => (_jsx(PreviewRow, { entry: entry }, `${entry.document.handler.yamlKind}/${entry.document.org}/${entry.document.slug}/${index}`))) })), _jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:gap-3", children: [_jsx("p", { className: "stg:text-xs stg:text-muted-foreground", "aria-live": "polite", children: manifest.isValidating ? "Validating…" : "" }), _jsxs("div", { className: "stg:flex stg:gap-2", children: [_jsx("button", { type: "button", onClick: closeAndMaybeRefresh, disabled: manifest.isApplying, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-sm stg:font-medium stg:transition-colors", "stg:border stg:border-input stg:bg-background stg:text-foreground", "stg:hover:bg-accent stg:hover:text-accent-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: "Cancel" }), _jsx("button", { type: "button", onClick: handleApply, disabled: !canApply, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-sm stg:font-medium stg:transition-colors", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: manifest.isApplying
|
|
98
|
+
return (_jsx(DialogShell, { open: open, onOpenChange: handleShellOpenChange, width: "3xl", "aria-label": "Apply YAML", children: _jsxs("div", { className: "stg:flex stg:flex-col stg:gap-4 stg:p-6", children: [_jsxs("div", { className: "stg:flex stg:flex-col stg:gap-1", children: [_jsx("h3", { className: "stg:text-base stg:font-semibold stg:text-foreground", children: "Apply YAML" }), _jsx("p", { className: "stg:text-sm stg:text-muted-foreground", children: "Paste a resource manifest or upload a file. Resources are created when new and updated when they already exist." })] }), _jsx("input", { ref: fileInputRef, type: "file", accept: ".yaml,.yml,.json", onChange: handleFileChange, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-3 stg:py-2 stg:text-sm stg:text-foreground", "stg:file:mr-3 stg:file:rounded-md stg:file:border-0 stg:file:bg-primary stg:file:px-2.5 stg:file:py-1 stg:file:text-xs stg:file:font-medium stg:file:text-primary-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring"), "aria-label": "Select manifest file" }), _jsx(Suspense, { fallback: _jsx(EditorLoading, {}), children: _jsx(LazyYamlEditor, { value: manifest.content, onChange: manifest.setContent, className: "stg:h-56" }) }), manifest.hasRedactedSecrets && _jsx(RedactedSecretsNotice, {}), manifest.validationError && (_jsx("div", { role: "alert", className: "stg:rounded-md stg:border stg:border-destructive stg:bg-card stg:px-3 stg:py-2.5 stg:text-sm stg:text-destructive", children: manifest.validationError })), manifest.entries && manifest.entries.length > 0 && (_jsx("ul", { className: cn(UNSTYLED_LIST, "stg:flex stg:max-h-48 stg:flex-col stg:gap-2 stg:overflow-y-auto"), "aria-label": "Resources to apply", children: manifest.entries.map((entry, index) => (_jsx(PreviewRow, { entry: entry }, `${entry.document.handler.yamlKind}/${entry.document.org}/${entry.document.slug}/${index}`))) })), _jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:gap-3", children: [_jsx("p", { className: "stg:text-xs stg:text-muted-foreground", "aria-live": "polite", children: manifest.isValidating ? "Validating…" : "" }), _jsxs("div", { className: "stg:flex stg:gap-2", children: [_jsx("button", { type: "button", onClick: closeAndMaybeRefresh, disabled: manifest.isApplying, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-sm stg:font-medium stg:transition-colors", "stg:border stg:border-input stg:bg-background stg:text-foreground", "stg:hover:bg-accent stg:hover:text-accent-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: "Cancel" }), _jsx("button", { type: "button", onClick: handleApply, disabled: !canApply, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-sm stg:font-medium stg:transition-colors", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: manifest.isApplying
|
|
98
99
|
? "Applying…"
|
|
99
100
|
: applyLabel(manifest.entries?.length ?? 0) })] })] })] }) }));
|
|
100
101
|
}
|