@stigmer/react 3.40.1 → 3.41.1-dev.20261003094357.g39d6aa748646
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/README.md +2 -1
- package/access/ManageAccessButton.d.ts +1 -1
- package/access/ManageAccessButton.js +1 -1
- package/access/ManageAccessDialog.d.ts +1 -1
- package/access/ManageAccessDialog.js +2 -2
- package/access/ManageAccessDialog.js.map +1 -1
- package/access/types.d.ts +1 -1
- package/agent/AgentDetailView.d.ts.map +1 -1
- package/agent/AgentDetailView.js +2 -1
- package/agent/AgentDetailView.js.map +1 -1
- package/api-key/ApiKeyListPanel.d.ts.map +1 -1
- package/api-key/ApiKeyListPanel.js +2 -1
- package/api-key/ApiKeyListPanel.js.map +1 -1
- package/attachment/AttachmentImageLightbox.d.ts.map +1 -1
- package/attachment/AttachmentImageLightbox.js.map +1 -1
- package/billing/AutoRechargeCard.d.ts +3 -3
- package/billing/AutoRechargeCard.d.ts.map +1 -1
- package/billing/AutoRechargeCard.js +4 -4
- package/billing/AutoRechargeCard.js.map +1 -1
- package/billing/BillingSection.d.ts.map +1 -1
- package/billing/BillingSection.js +7 -6
- package/billing/BillingSection.js.map +1 -1
- package/billing/ChangePlanDialog.d.ts.map +1 -1
- package/billing/ChangePlanDialog.js +13 -1
- package/billing/ChangePlanDialog.js.map +1 -1
- package/billing/CreditLedgerTable.d.ts +3 -3
- package/billing/CreditLedgerTable.d.ts.map +1 -1
- package/billing/CreditLedgerTable.js +3 -3
- package/billing/CreditLedgerTable.js.map +1 -1
- package/billing/CreditPackGrid.d.ts +1 -1
- package/billing/CreditPackGrid.js +1 -1
- package/billing/PaymentMethodCard.d.ts +1 -1
- package/billing/PaymentMethodCard.js +1 -1
- package/billing/PlanSection.d.ts +3 -3
- package/billing/PlanSection.d.ts.map +1 -1
- package/billing/PlanSection.js +4 -3
- package/billing/PlanSection.js.map +1 -1
- package/billing/ProviderKeysSection.d.ts +33 -0
- package/billing/ProviderKeysSection.d.ts.map +1 -0
- package/billing/ProviderKeysSection.js +143 -0
- package/billing/ProviderKeysSection.js.map +1 -0
- package/billing/UpgradeNotice.d.ts.map +1 -1
- package/billing/UpgradeNotice.js +1 -0
- package/billing/UpgradeNotice.js.map +1 -1
- package/billing/index.d.ts +4 -0
- package/billing/index.d.ts.map +1 -1
- package/billing/index.js +2 -0
- package/billing/index.js.map +1 -1
- package/billing/plan-features.d.ts +3 -2
- package/billing/plan-features.d.ts.map +1 -1
- package/billing/plan-features.js +5 -4
- package/billing/plan-features.js.map +1 -1
- package/billing/useBillingAccount.d.ts +4 -4
- package/billing/useBillingAccount.d.ts.map +1 -1
- package/billing/useBillingAccount.js +7 -7
- package/billing/useBillingAccount.js.map +1 -1
- package/billing/useBillingUsageReport.d.ts +4 -4
- package/billing/useBillingUsageReport.d.ts.map +1 -1
- package/billing/useBillingUsageReport.js +7 -7
- package/billing/useBillingUsageReport.js.map +1 -1
- package/billing/useChangePlan.d.ts +2 -2
- package/billing/useChangePlan.d.ts.map +1 -1
- package/billing/useChangePlan.js +4 -4
- package/billing/useChangePlan.js.map +1 -1
- package/billing/useCreateBillingPortalSession.d.ts +2 -2
- package/billing/useCreateBillingPortalSession.d.ts.map +1 -1
- package/billing/useCreateBillingPortalSession.js +3 -3
- package/billing/useCreateBillingPortalSession.js.map +1 -1
- package/billing/useCreateCheckoutSession.d.ts +2 -2
- package/billing/useCreateCheckoutSession.d.ts.map +1 -1
- package/billing/useCreateCheckoutSession.js +2 -2
- package/billing/useCreateCheckoutSession.js.map +1 -1
- package/billing/useCreatePaymentMethodSetupSession.d.ts +1 -1
- package/billing/useCreatePaymentMethodSetupSession.d.ts.map +1 -1
- package/billing/useCreatePaymentMethodSetupSession.js +2 -2
- package/billing/useCreatePaymentMethodSetupSession.js.map +1 -1
- package/billing/useCreditLedger.d.ts +4 -4
- package/billing/useCreditLedger.d.ts.map +1 -1
- package/billing/useCreditLedger.js +7 -7
- package/billing/useCreditLedger.js.map +1 -1
- package/billing/useCustomerModelPricing.d.ts +4 -4
- package/billing/useCustomerModelPricing.d.ts.map +1 -1
- package/billing/useCustomerModelPricing.js +6 -6
- package/billing/useCustomerModelPricing.js.map +1 -1
- package/billing/useEntitlements.d.ts +2 -2
- package/billing/useEntitlements.d.ts.map +1 -1
- package/billing/useEntitlements.js +4 -4
- package/billing/useEntitlements.js.map +1 -1
- package/billing/usePeriodEstimate.d.ts +1 -1
- package/billing/usePeriodEstimate.d.ts.map +1 -1
- package/billing/usePeriodEstimate.js +3 -3
- package/billing/usePeriodEstimate.js.map +1 -1
- package/billing/useProviderKeys.d.ts +67 -0
- package/billing/useProviderKeys.d.ts.map +1 -0
- package/billing/useProviderKeys.js +61 -0
- package/billing/useProviderKeys.js.map +1 -0
- package/billing/useSetAutoRechargeConfig.d.ts +2 -2
- package/billing/useSetAutoRechargeConfig.d.ts.map +1 -1
- package/billing/useSetAutoRechargeConfig.js +2 -2
- package/billing/useSetAutoRechargeConfig.js.map +1 -1
- package/billing/useSubscription.d.ts +3 -3
- package/billing/useSubscription.d.ts.map +1 -1
- package/billing/useSubscription.js +7 -7
- package/billing/useSubscription.js.map +1 -1
- package/channel/AgentChannelsPanel.d.ts.map +1 -1
- package/channel/AgentChannelsPanel.js +11 -9
- package/channel/AgentChannelsPanel.js.map +1 -1
- package/channel/connect/ServingAppSection.js +1 -1
- package/channel/connect/ServingAppSection.js.map +1 -1
- package/channel-app/ChannelAppDetailPanel.d.ts +2 -2
- package/channel-app/ChannelAppDetailPanel.js +17 -10
- package/channel-app/ChannelAppDetailPanel.js.map +1 -1
- package/channel-app/ChannelAppListPanel.d.ts +2 -2
- package/channel-app/ChannelAppListPanel.d.ts.map +1 -1
- package/channel-app/ChannelAppListPanel.js +2 -1
- package/channel-app/ChannelAppListPanel.js.map +1 -1
- package/channel-app/CreateChannelAppForm.js +1 -1
- package/channel-app/CreateChannelAppForm.js.map +1 -1
- package/channel-app/copy.d.ts +3 -3
- package/channel-app/copy.js +3 -3
- package/channel-app/internal.d.ts +9 -0
- package/channel-app/internal.d.ts.map +1 -1
- package/channel-app/internal.js +9 -0
- package/channel-app/internal.js.map +1 -1
- package/channel-app/slackAppSetup.d.ts +3 -24
- package/channel-app/slackAppSetup.d.ts.map +1 -1
- package/channel-app/slackAppSetup.js +6 -3
- package/channel-app/slackAppSetup.js.map +1 -1
- package/channel-app/whatsappAppSetup.d.ts +3 -27
- package/channel-app/whatsappAppSetup.d.ts.map +1 -1
- package/channel-app/whatsappAppSetup.js +5 -2
- package/channel-app/whatsappAppSetup.js.map +1 -1
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +5 -9
- package/composer/SessionComposer.js.map +1 -1
- package/cursor-accounts/CursorAccountEditor.js +3 -3
- package/cursor-accounts/CursorAccountEditor.js.map +1 -1
- package/cursor-accounts/CursorAccountsConsole.js +3 -3
- package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
- package/dashboard/OperationalDashboard.d.ts +1 -4
- package/dashboard/OperationalDashboard.d.ts.map +1 -1
- package/dashboard/OperationalDashboard.js +1 -3
- package/dashboard/OperationalDashboard.js.map +1 -1
- package/dashboard/useDashboardSummary.d.ts +1 -3
- package/dashboard/useDashboardSummary.d.ts.map +1 -1
- package/dashboard/useDashboardSummary.js +1 -1
- package/dashboard/useDashboardSummary.js.map +1 -1
- package/environment/EnvironmentListPanel.d.ts.map +1 -1
- package/environment/EnvironmentListPanel.js +2 -1
- package/environment/EnvironmentListPanel.js.map +1 -1
- package/environment/EnvironmentVariableEditor.d.ts.map +1 -1
- package/environment/EnvironmentVariableEditor.js +3 -2
- package/environment/EnvironmentVariableEditor.js.map +1 -1
- package/environment/index.d.ts +1 -1
- package/environment/index.d.ts.map +1 -1
- package/environment/index.js +1 -1
- package/environment/index.js.map +1 -1
- package/environment/systemEnvVars.d.ts +4 -63
- package/environment/systemEnvVars.d.ts.map +1 -1
- package/environment/systemEnvVars.js +21 -113
- package/environment/systemEnvVars.js.map +1 -1
- package/execution/ArtifactFileContent.d.ts.map +1 -1
- package/execution/ArtifactFileContent.js +2 -1
- package/execution/ArtifactFileContent.js.map +1 -1
- package/execution/McpToolDetail.d.ts.map +1 -1
- package/execution/McpToolDetail.js +2 -1
- package/execution/McpToolDetail.js.map +1 -1
- package/execution/RecalledMemoriesCard.js +1 -1
- package/execution/ResultView.d.ts.map +1 -1
- package/execution/ResultView.js +2 -1
- package/execution/ResultView.js.map +1 -1
- package/execution/TerminalSession.js +1 -1
- package/execution/TerminalSession.js.map +1 -1
- package/execution/ThreadSkeleton.d.ts.map +1 -1
- package/execution/ThreadSkeleton.js +2 -1
- package/execution/ThreadSkeleton.js.map +1 -1
- package/execution/file-path-resolver.d.ts.map +1 -1
- package/execution/file-path-resolver.js +3 -2
- package/execution/file-path-resolver.js.map +1 -1
- package/execution/sandbox-path-normalizer.d.ts +0 -11
- package/execution/sandbox-path-normalizer.d.ts.map +1 -1
- package/execution/sandbox-path-normalizer.js +2 -1
- package/execution/sandbox-path-normalizer.js.map +1 -1
- package/github/parseGitUrl.d.ts.map +1 -1
- package/github/parseGitUrl.js +16 -4
- package/github/parseGitUrl.js.map +1 -1
- package/iam-policy/GrantAccessForm.d.ts +3 -3
- package/iam-policy/GrantAccessForm.d.ts.map +1 -1
- package/iam-policy/GrantAccessForm.js +3 -3
- package/iam-policy/GrantAccessForm.js.map +1 -1
- package/iam-policy/OrgMembersPanel.d.ts +3 -3
- package/iam-policy/OrgMembersPanel.d.ts.map +1 -1
- package/iam-policy/OrgMembersPanel.js +5 -4
- package/iam-policy/OrgMembersPanel.js.map +1 -1
- package/iam-policy/PeopleWithAccess.d.ts +2 -2
- package/iam-policy/PeopleWithAccess.d.ts.map +1 -1
- package/iam-policy/PeopleWithAccess.js +2 -2
- package/iam-policy/PeopleWithAccess.js.map +1 -1
- package/iam-policy/PrincipalPicker.d.ts +2 -2
- package/iam-policy/PrincipalPicker.d.ts.map +1 -1
- package/iam-policy/PrincipalPicker.js +2 -2
- package/iam-policy/PrincipalPicker.js.map +1 -1
- package/iam-policy/SharePanel.d.ts +3 -3
- package/iam-policy/SharePanel.d.ts.map +1 -1
- package/iam-policy/SharePanel.js +3 -3
- package/iam-policy/SharePanel.js.map +1 -1
- package/iam-policy/useCheckPermission.d.ts +4 -1
- package/iam-policy/useCheckPermission.d.ts.map +1 -1
- package/iam-policy/useCheckPermission.js +4 -1
- package/iam-policy/useCheckPermission.js.map +1 -1
- package/iam-policy/useCreateIamPolicy.d.ts +1 -1
- package/iam-policy/useCreateIamPolicy.js +1 -1
- package/iam-policy/useDeleteIamPolicy.d.ts +1 -1
- package/iam-policy/useDeleteIamPolicy.js +1 -1
- package/iam-policy/useGrantableRoles.d.ts +1 -1
- package/iam-policy/useGrantableRoles.js +1 -1
- package/iam-policy/useGranteeCandidates.d.ts +3 -3
- package/iam-policy/useGranteeCandidates.d.ts.map +1 -1
- package/iam-policy/useGranteeCandidates.js +2 -2
- package/iam-policy/useGranteeCandidates.js.map +1 -1
- package/iam-policy/useOwnerAssignment.d.ts +2 -2
- package/iam-policy/useOwnerAssignment.d.ts.map +1 -1
- package/iam-policy/useOwnerAssignment.js +3 -3
- package/iam-policy/useOwnerAssignment.js.map +1 -1
- package/iam-policy/usePrincipalsCount.d.ts +4 -4
- package/iam-policy/usePrincipalsCount.d.ts.map +1 -1
- package/iam-policy/usePrincipalsCount.js +7 -7
- package/iam-policy/usePrincipalsCount.js.map +1 -1
- package/iam-policy/useResourceAccess.d.ts +1 -1
- package/iam-policy/useResourceAccess.js +1 -1
- package/iam-policy/useRevokeOrgAccess.d.ts +11 -9
- package/iam-policy/useRevokeOrgAccess.d.ts.map +1 -1
- package/iam-policy/useRevokeOrgAccess.js +6 -6
- package/iam-policy/useRevokeOrgAccess.js.map +1 -1
- package/identity-account/AccountPreferencesPanel.d.ts +6 -0
- package/identity-account/AccountPreferencesPanel.d.ts.map +1 -1
- package/identity-account/AccountPreferencesPanel.js +35 -3
- package/identity-account/AccountPreferencesPanel.js.map +1 -1
- package/identity-account/useAccountExecutionDefaults.d.ts +1 -1
- package/identity-account/useAccountExecutionDefaults.d.ts.map +1 -1
- package/identity-account/useAccountExecutionDefaults.js +2 -3
- package/identity-account/useAccountExecutionDefaults.js.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.js +4 -4
- package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
- package/identity-provider/IdentityProviderListPanel.d.ts.map +1 -1
- package/identity-provider/IdentityProviderListPanel.js +2 -1
- package/identity-provider/IdentityProviderListPanel.js.map +1 -1
- package/identity-provider/IdentityProviderWizard.js +1 -1
- package/identity-provider/IdentityProviderWizard.js.map +1 -1
- package/identity-provider/SsoLoginPrompt.js +2 -1
- package/identity-provider/SsoLoginPrompt.js.map +1 -1
- package/identity-provider/useIdentityProviderList.d.ts +2 -2
- package/identity-provider/useIdentityProviderList.js +2 -2
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +4 -4
- package/index.js.map +1 -1
- package/inline-edit/InlineEditImage.d.ts +4 -0
- package/inline-edit/InlineEditImage.d.ts.map +1 -1
- package/inline-edit/InlineEditImage.js +12 -11
- package/inline-edit/InlineEditImage.js.map +1 -1
- package/inline-edit/InlineEditText.d.ts +4 -0
- package/inline-edit/InlineEditText.d.ts.map +1 -1
- package/inline-edit/InlineEditText.js +12 -11
- package/inline-edit/InlineEditText.js.map +1 -1
- package/inline-edit/InlineEditTextarea.d.ts +4 -0
- package/inline-edit/InlineEditTextarea.d.ts.map +1 -1
- package/inline-edit/InlineEditTextarea.js +11 -16
- package/inline-edit/InlineEditTextarea.js.map +1 -1
- package/inline-edit/useInlineDraft.d.ts +26 -0
- package/inline-edit/useInlineDraft.d.ts.map +1 -0
- package/inline-edit/useInlineDraft.js +61 -0
- package/inline-edit/useInlineDraft.js.map +1 -0
- package/internal/DialogShell.d.ts +21 -0
- package/internal/DialogShell.d.ts.map +1 -1
- package/internal/DialogShell.js +51 -4
- package/internal/DialogShell.js.map +1 -1
- package/internal/LoadingRegion.d.ts +35 -0
- package/internal/LoadingRegion.d.ts.map +1 -0
- package/internal/LoadingRegion.js +33 -0
- package/internal/LoadingRegion.js.map +1 -0
- package/internal/UnknownPublicAddressNotice.d.ts +20 -0
- package/internal/UnknownPublicAddressNotice.d.ts.map +1 -0
- package/internal/UnknownPublicAddressNotice.js +19 -0
- package/internal/UnknownPublicAddressNotice.js.map +1 -0
- package/internal/features.js +2 -2
- package/internal/features.js.map +1 -1
- package/internal/markdown-components.d.ts.map +1 -1
- package/internal/markdown-components.js +18 -4
- package/internal/markdown-components.js.map +1 -1
- package/internal/trim.d.ts +7 -0
- package/internal/trim.d.ts.map +1 -0
- package/internal/trim.js +12 -0
- package/internal/trim.js.map +1 -0
- package/invitation/InvitationManager.d.ts.map +1 -1
- package/invitation/InvitationManager.js +2 -1
- package/invitation/InvitationManager.js.map +1 -1
- package/invitation/InvitationRedemption.d.ts.map +1 -1
- package/invitation/InvitationRedemption.js +5 -4
- package/invitation/InvitationRedemption.js.map +1 -1
- package/invitation/useInvitationPreview.d.ts +1 -1
- package/invitation/useInvitationPreview.js +1 -1
- package/library/InstanceVisibilitySelector.d.ts +1 -1
- package/library/InstanceVisibilitySelector.d.ts.map +1 -1
- package/library/ResourceVisibilityControl.d.ts +6 -3
- package/library/ResourceVisibilityControl.d.ts.map +1 -1
- package/library/ResourceVisibilityControl.js +7 -4
- package/library/ResourceVisibilityControl.js.map +1 -1
- package/library/VisibilitySelector.d.ts +2 -2
- package/library/VisibilitySelector.d.ts.map +1 -1
- package/library/VisibilitySelector.js +1 -1
- package/licenses/LicenseDetail.d.ts.map +1 -1
- package/licenses/LicenseDetail.js +3 -3
- package/licenses/LicenseDetail.js.map +1 -1
- package/licenses/LicenseIssueForm.js +7 -7
- package/licenses/LicenseIssueForm.js.map +1 -1
- package/licenses/license-draft.d.ts +1 -1
- package/licenses/license-draft.d.ts.map +1 -1
- package/licenses/license-draft.js +3 -3
- package/licenses/license-draft.js.map +1 -1
- package/licenses/license-format.d.ts +7 -5
- package/licenses/license-format.d.ts.map +1 -1
- package/licenses/license-format.js +2 -4
- package/licenses/license-format.js.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +4 -5
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +5 -7
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/McpServerPicker.d.ts.map +1 -1
- package/mcp-server/McpServerPicker.js +2 -6
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/McpToolSelector.js +1 -1
- package/mcp-server/McpToolSelector.js.map +1 -1
- package/mcp-server/useMcpServerConnect.d.ts +14 -25
- package/mcp-server/useMcpServerConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerConnect.js +7 -19
- package/mcp-server/useMcpServerConnect.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts +1 -3
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.js +6 -19
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
- package/memory/MemoryListPanel.d.ts.map +1 -1
- package/memory/MemoryListPanel.js +2 -1
- package/memory/MemoryListPanel.js.map +1 -1
- package/models/HarnessSelector.d.ts.map +1 -1
- package/models/HarnessSelector.js +1 -2
- package/models/HarnessSelector.js.map +1 -1
- package/models/ModelSelector.d.ts +1 -1
- package/models/ModelSelector.d.ts.map +1 -1
- package/models/ModelSelector.js +1 -7
- package/models/ModelSelector.js.map +1 -1
- package/models/harness.d.ts +10 -6
- package/models/harness.d.ts.map +1 -1
- package/models/harness.js +35 -28
- package/models/harness.js.map +1 -1
- package/models/index.d.ts +1 -1
- package/models/index.d.ts.map +1 -1
- package/models/index.js +1 -1
- package/models/index.js.map +1 -1
- package/oauth-app/OAuthAppListPanel.d.ts.map +1 -1
- package/oauth-app/OAuthAppListPanel.js +2 -1
- package/oauth-app/OAuthAppListPanel.js.map +1 -1
- package/organization/OrgPreferencesPanel.d.ts +3 -3
- package/organization/OrgPreferencesPanel.d.ts.map +1 -1
- package/organization/OrgPreferencesPanel.js +19 -6
- package/organization/OrgPreferencesPanel.js.map +1 -1
- package/organization/OrgProfilePanel.d.ts +3 -3
- package/organization/OrgProfilePanel.d.ts.map +1 -1
- package/organization/OrgProfilePanel.js +8 -7
- package/organization/OrgProfilePanel.js.map +1 -1
- package/organization/index.d.ts +1 -0
- package/organization/index.d.ts.map +1 -1
- package/organization/index.js +1 -0
- package/organization/index.js.map +1 -1
- package/organization/useFollowSessionOrganization.d.ts +9 -0
- package/organization/useFollowSessionOrganization.d.ts.map +1 -0
- package/organization/useFollowSessionOrganization.js +52 -0
- package/organization/useFollowSessionOrganization.js.map +1 -0
- package/package.json +5 -5
- package/plan-catalog/plan-draft.js +3 -3
- package/plan-catalog/plan-draft.js.map +1 -1
- package/platform-client/PlatformClientListPanel.d.ts.map +1 -1
- package/platform-client/PlatformClientListPanel.js +2 -1
- package/platform-client/PlatformClientListPanel.js.map +1 -1
- package/plugin/PluginDetailView.d.ts.map +1 -1
- package/plugin/PluginDetailView.js +2 -1
- package/plugin/PluginDetailView.js.map +1 -1
- package/plugin/useMcpServerReadiness.js +2 -2
- package/plugin/useMcpServerReadiness.js.map +1 -1
- package/portal-container.d.ts +8 -0
- package/portal-container.d.ts.map +1 -1
- package/portal-container.js +8 -0
- package/portal-container.js.map +1 -1
- package/provider-standing/ProviderStandingConsole.js +1 -1
- package/provider.d.ts +31 -2
- package/provider.d.ts.map +1 -1
- package/provider.js +7 -3
- package/provider.js.map +1 -1
- package/public-base-url-context.d.ts +35 -0
- package/public-base-url-context.d.ts.map +1 -0
- package/public-base-url-context.js +63 -0
- package/public-base-url-context.js.map +1 -0
- package/resource-workbench/components/SelectionCheckbox.js +1 -1
- package/resource-workbench/components/SelectionCheckbox.js.map +1 -1
- package/schedule/ScheduleDetailView.d.ts.map +1 -1
- package/schedule/ScheduleDetailView.js +2 -1
- package/schedule/ScheduleDetailView.js.map +1 -1
- package/session/SessionViewer.d.ts +7 -2
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +7 -2
- package/session/SessionViewer.js.map +1 -1
- package/session/useLocalSessionWorker.d.ts +19 -3
- package/session/useLocalSessionWorker.d.ts.map +1 -1
- package/session/useLocalSessionWorker.js +37 -4
- package/session/useLocalSessionWorker.js.map +1 -1
- package/session/useSessionConversation.d.ts +10 -1
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +5 -3
- package/session/useSessionConversation.js.map +1 -1
- package/settings/ChannelAppsSection.d.ts +4 -4
- package/settings/ChannelAppsSection.js +4 -4
- package/settings/EnvironmentsSection.d.ts.map +1 -1
- package/settings/EnvironmentsSection.js +2 -1
- package/settings/EnvironmentsSection.js.map +1 -1
- package/settings/MembersSection.js +2 -2
- package/settings/MembersSection.js.map +1 -1
- package/settings/OrgPreferencesSection.js +1 -1
- package/settings/OrgPreferencesSection.js.map +1 -1
- package/settings/OrgProfileSection.js +1 -1
- package/settings/OrgProfileSection.js.map +1 -1
- package/settings/ProviderKeysSection.d.ts +3 -0
- package/settings/ProviderKeysSection.d.ts.map +1 -0
- package/settings/ProviderKeysSection.js +3 -0
- package/settings/ProviderKeysSection.js.map +1 -0
- package/settings/TeamsSection.js +1 -1
- package/settings/TeamsSection.js.map +1 -1
- package/settings/UsageSection.js +1 -1
- package/settings/UsageSection.js.map +1 -1
- package/settings/index.d.ts +2 -0
- package/settings/index.d.ts.map +1 -1
- package/settings/index.js +1 -0
- package/settings/index.js.map +1 -1
- package/settings/settings-nav.d.ts.map +1 -1
- package/settings/settings-nav.js +2 -1
- package/settings/settings-nav.js.map +1 -1
- package/sharing/ShareAgentDialog.d.ts.map +1 -1
- package/sharing/ShareAgentDialog.js +14 -9
- package/sharing/ShareAgentDialog.js.map +1 -1
- package/sharing/SharedAgentChat.d.ts.map +1 -1
- package/sharing/SharedAgentChat.js +2 -1
- package/sharing/SharedAgentChat.js.map +1 -1
- package/sharing/useCanCreateAgentShare.d.ts +3 -1
- package/sharing/useCanCreateAgentShare.d.ts.map +1 -1
- package/sharing/useCanCreateAgentShare.js +5 -3
- package/sharing/useCanCreateAgentShare.js.map +1 -1
- package/sharing/useSaveAgentShare.d.ts +1 -1
- package/sharing/useSaveAgentShare.js +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/SkillDetailView.d.ts.map +1 -1
- package/skill/SkillDetailView.js +2 -1
- package/skill/SkillDetailView.js.map +1 -1
- package/skill/SkillDiffDialog.d.ts.map +1 -1
- package/skill/SkillDiffDialog.js +2 -1
- package/skill/SkillDiffDialog.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/src/access/ManageAccessButton.tsx +1 -1
- package/src/access/ManageAccessDialog.tsx +2 -2
- package/src/access/types.ts +1 -1
- package/src/agent/AgentDetailView.tsx +4 -4
- package/src/api-key/ApiKeyListPanel.tsx +4 -4
- package/src/attachment/AttachmentImageLightbox.tsx +3 -4
- package/src/billing/AutoRechargeCard.tsx +5 -5
- package/src/billing/BillingSection.tsx +10 -9
- package/src/billing/ChangePlanDialog.tsx +14 -2
- package/src/billing/CreditLedgerTable.tsx +4 -4
- package/src/billing/CreditPackGrid.tsx +1 -1
- package/src/billing/PaymentMethodCard.tsx +1 -1
- package/src/billing/PlanSection.tsx +6 -5
- package/src/billing/ProviderKeysSection.tsx +324 -0
- package/src/billing/UpgradeNotice.tsx +1 -0
- package/src/billing/index.ts +9 -0
- package/src/billing/plan-features.ts +5 -4
- package/src/billing/useBillingAccount.ts +7 -7
- package/src/billing/useBillingUsageReport.ts +7 -7
- package/src/billing/useChangePlan.ts +6 -6
- package/src/billing/useCreateBillingPortalSession.ts +4 -4
- package/src/billing/useCreateCheckoutSession.ts +3 -3
- package/src/billing/useCreatePaymentMethodSetupSession.ts +3 -3
- package/src/billing/useCreditLedger.ts +7 -7
- package/src/billing/useCustomerModelPricing.ts +7 -7
- package/src/billing/useEntitlements.ts +5 -5
- package/src/billing/usePeriodEstimate.ts +4 -4
- package/src/billing/useProviderKeys.ts +129 -0
- package/src/billing/useSetAutoRechargeConfig.ts +3 -3
- package/src/billing/useSubscription.ts +7 -7
- package/src/channel/AgentChannelsPanel.tsx +11 -9
- package/src/channel/connect/ServingAppSection.tsx +1 -1
- package/src/channel-app/ChannelAppDetailPanel.tsx +37 -20
- package/src/channel-app/ChannelAppListPanel.tsx +6 -6
- package/src/channel-app/CreateChannelAppForm.tsx +0 -1
- package/src/channel-app/copy.ts +3 -3
- package/src/channel-app/internal.tsx +21 -0
- package/src/channel-app/slackAppSetup.ts +6 -3
- package/src/channel-app/whatsappAppSetup.ts +5 -2
- package/src/composer/SessionComposer.tsx +5 -14
- package/src/cursor-accounts/CursorAccountEditor.tsx +3 -3
- package/src/cursor-accounts/CursorAccountsConsole.tsx +5 -5
- package/src/dashboard/OperationalDashboard.tsx +1 -6
- package/src/dashboard/useDashboardSummary.ts +2 -4
- package/src/environment/EnvironmentListPanel.tsx +4 -4
- package/src/environment/EnvironmentVariableEditor.tsx +5 -5
- package/src/environment/index.ts +1 -7
- package/src/environment/systemEnvVars.ts +21 -133
- package/src/execution/ArtifactFileContent.tsx +3 -2
- package/src/execution/McpToolDetail.tsx +3 -3
- package/src/execution/RecalledMemoriesCard.tsx +1 -1
- package/src/execution/ResultView.tsx +3 -3
- package/src/execution/TerminalSession.tsx +1 -1
- package/src/execution/ThreadSkeleton.tsx +4 -4
- package/src/execution/file-path-resolver.ts +3 -2
- package/src/execution/sandbox-path-normalizer.ts +2 -1
- package/src/github/parseGitUrl.ts +13 -4
- package/src/iam-policy/GrantAccessForm.tsx +4 -4
- package/src/iam-policy/OrgMembersPanel.tsx +10 -8
- package/src/iam-policy/PeopleWithAccess.tsx +3 -3
- package/src/iam-policy/PrincipalPicker.tsx +3 -3
- package/src/iam-policy/SharePanel.tsx +4 -4
- package/src/iam-policy/useCheckPermission.ts +4 -1
- package/src/iam-policy/useCreateIamPolicy.ts +1 -1
- package/src/iam-policy/useDeleteIamPolicy.ts +1 -1
- package/src/iam-policy/useGrantableRoles.ts +1 -1
- package/src/iam-policy/useGranteeCandidates.ts +3 -3
- package/src/iam-policy/useOwnerAssignment.ts +3 -3
- package/src/iam-policy/usePrincipalsCount.ts +7 -7
- package/src/iam-policy/useResourceAccess.ts +1 -1
- package/src/iam-policy/useRevokeOrgAccess.ts +13 -11
- package/src/identity-account/AccountPreferencesPanel.tsx +60 -13
- package/src/identity-account/useAccountExecutionDefaults.ts +2 -5
- package/src/identity-provider/IdentityProviderDetailPanel.tsx +3 -9
- package/src/identity-provider/IdentityProviderListPanel.tsx +4 -4
- package/src/identity-provider/IdentityProviderWizard.tsx +1 -1
- package/src/identity-provider/SsoLoginPrompt.tsx +6 -5
- package/src/identity-provider/useIdentityProviderList.ts +2 -2
- package/src/index.ts +10 -5
- package/src/inline-edit/InlineEditImage.tsx +13 -11
- package/src/inline-edit/InlineEditText.tsx +13 -11
- package/src/inline-edit/InlineEditTextarea.tsx +12 -16
- package/src/inline-edit/useInlineDraft.ts +85 -0
- package/src/internal/DialogShell.tsx +80 -3
- package/src/internal/LoadingRegion.tsx +46 -0
- package/src/internal/UnknownPublicAddressNotice.tsx +31 -0
- package/src/internal/features.ts +2 -2
- package/src/internal/loading-region-markup.json +71 -0
- package/src/internal/markdown-components.tsx +15 -4
- package/src/internal/trim.ts +10 -0
- package/src/invitation/InvitationManager.tsx +4 -4
- package/src/invitation/InvitationRedemption.tsx +7 -7
- package/src/invitation/useInvitationPreview.ts +1 -1
- package/src/library/InstanceVisibilitySelector.tsx +1 -1
- package/src/library/ResourceVisibilityControl.tsx +7 -4
- package/src/library/VisibilitySelector.tsx +2 -2
- package/src/licenses/LicenseDetail.tsx +8 -6
- package/src/licenses/LicenseIssueForm.tsx +7 -7
- package/src/licenses/license-draft.ts +4 -4
- package/src/licenses/license-format.ts +12 -8
- package/src/mcp-server/McpServerConnectDialog.tsx +4 -6
- package/src/mcp-server/McpServerDetailView.tsx +7 -10
- package/src/mcp-server/McpServerPicker.tsx +2 -12
- package/src/mcp-server/McpToolSelector.tsx +1 -1
- package/src/mcp-server/useMcpServerConnect.ts +14 -33
- package/src/mcp-server/useMcpServerOAuthConnect.ts +7 -23
- package/src/memory/MemoryListPanel.tsx +4 -4
- package/src/models/HarnessSelector.tsx +1 -3
- package/src/models/ModelSelector.tsx +2 -7
- package/src/models/harness.ts +41 -39
- package/src/models/index.ts +1 -1
- package/src/oauth-app/OAuthAppListPanel.tsx +4 -4
- package/src/organization/OrgPreferencesPanel.tsx +28 -10
- package/src/organization/OrgProfilePanel.tsx +12 -12
- package/src/organization/index.ts +1 -0
- package/src/organization/useFollowSessionOrganization.ts +54 -0
- package/src/plan-catalog/plan-draft.ts +3 -3
- package/src/platform-client/PlatformClientListPanel.tsx +4 -4
- package/src/plugin/PluginDetailView.tsx +3 -2
- package/src/plugin/useMcpServerReadiness.ts +2 -2
- package/src/portal-container.ts +8 -0
- package/src/provider-standing/ProviderStandingConsole.tsx +1 -1
- package/src/provider.tsx +60 -27
- package/src/public-base-url-context.ts +71 -0
- package/src/resource-workbench/components/SelectionCheckbox.tsx +1 -1
- package/src/schedule/ScheduleDetailView.tsx +4 -4
- package/src/session/SessionViewer.tsx +13 -3
- package/src/session/useLocalSessionWorker.ts +35 -4
- package/src/session/useSessionConversation.ts +14 -3
- package/src/settings/ChannelAppsSection.tsx +4 -4
- package/src/settings/EnvironmentsSection.tsx +3 -2
- package/src/settings/MembersSection.tsx +3 -3
- package/src/settings/OrgPreferencesSection.tsx +1 -1
- package/src/settings/OrgProfileSection.tsx +1 -1
- package/src/settings/ProviderKeysSection.tsx +4 -0
- package/src/settings/TeamsSection.tsx +1 -1
- package/src/settings/UsageSection.tsx +1 -1
- package/src/settings/index.ts +2 -0
- package/src/settings/settings-nav.ts +2 -0
- package/src/sharing/ShareAgentDialog.tsx +32 -15
- package/src/sharing/SharedAgentChat.tsx +4 -4
- package/src/sharing/useCanCreateAgentShare.ts +6 -4
- package/src/sharing/useSaveAgentShare.ts +1 -1
- package/src/sidebar/WorkspaceSidebar.tsx +3 -2
- package/src/skill/SkillDetailView.tsx +4 -4
- package/src/skill/SkillDiffDialog.tsx +4 -4
- package/src/skill/SkillFileBrowser.tsx +4 -4
- package/src/styles.css +14 -4
- package/src/team/TeamDetailPanel.tsx +3 -3
- package/src/team/TeamListPanel.tsx +3 -2
- package/src/team/TeamMembersPanel.tsx +3 -3
- package/src/usage/OrgUsagePanel.tsx +9 -9
- package/src/usage/useExportCSV.ts +9 -9
- package/src/usage/useOrgUsageReport.ts +7 -7
- package/src/version-history/VersionTimeline.tsx +4 -4
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +14 -7
- package/src/workflow/WorkflowVersionDiffViewer.tsx +4 -4
- package/src/workflow/WorkflowVersionTimeline.tsx +4 -4
- package/src/workflow/inspector/tabs/BranchesTab.tsx +2 -2
- package/src/workflow/inspector/tabs/CatchTab.tsx +1 -1
- package/src/workflow/inspector/tabs/IterationTab.tsx +1 -1
- package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +7 -6
- package/src/workflow/task-detail/task-approval.ts +20 -13
- package/src/workflow/useDiagnoseExecutionFlow.ts +23 -18
- package/src/workflow/useExplainWorkflowFlow.ts +7 -3
- package/src/workflow/useRefineWorkflowFlow.ts +17 -10
- package/src/workflow/useWorkflowArchitectFlow.ts +7 -3
- package/src/workspace/ExplorerTree.tsx +4 -8
- package/src/workspace/FileViewer.tsx +4 -5
- package/styles.css +1 -1
- package/team/TeamDetailPanel.d.ts +2 -2
- package/team/TeamDetailPanel.d.ts.map +1 -1
- package/team/TeamDetailPanel.js +2 -2
- package/team/TeamDetailPanel.js.map +1 -1
- package/team/TeamListPanel.d.ts.map +1 -1
- package/team/TeamListPanel.js +2 -1
- package/team/TeamListPanel.js.map +1 -1
- package/team/TeamMembersPanel.d.ts +2 -2
- package/team/TeamMembersPanel.d.ts.map +1 -1
- package/team/TeamMembersPanel.js +2 -2
- package/team/TeamMembersPanel.js.map +1 -1
- package/usage/OrgUsagePanel.d.ts +3 -3
- package/usage/OrgUsagePanel.d.ts.map +1 -1
- package/usage/OrgUsagePanel.js +6 -5
- package/usage/OrgUsagePanel.js.map +1 -1
- package/usage/useExportCSV.d.ts +2 -2
- package/usage/useExportCSV.d.ts.map +1 -1
- package/usage/useExportCSV.js +9 -9
- package/usage/useExportCSV.js.map +1 -1
- package/usage/useOrgUsageReport.d.ts +4 -4
- package/usage/useOrgUsageReport.d.ts.map +1 -1
- package/usage/useOrgUsageReport.js +7 -7
- package/usage/useOrgUsageReport.js.map +1 -1
- package/version-history/VersionTimeline.d.ts.map +1 -1
- package/version-history/VersionTimeline.js +2 -1
- package/version-history/VersionTimeline.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.d.ts +7 -4
- package/workflow/WorkflowTaskApprovalSummary.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.js +8 -3
- package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
- package/workflow/WorkflowVersionDiffViewer.d.ts.map +1 -1
- package/workflow/WorkflowVersionDiffViewer.js +2 -1
- package/workflow/WorkflowVersionDiffViewer.js.map +1 -1
- package/workflow/WorkflowVersionTimeline.d.ts.map +1 -1
- package/workflow/WorkflowVersionTimeline.js +2 -1
- package/workflow/WorkflowVersionTimeline.js.map +1 -1
- package/workflow/inspector/tabs/BranchesTab.js +1 -1
- package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
- package/workflow/inspector/tabs/CatchTab.js +1 -1
- package/workflow/inspector/tabs/CatchTab.js.map +1 -1
- package/workflow/inspector/tabs/IterationTab.js +1 -1
- package/workflow/inspector/tabs/IterationTab.js.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js +6 -5
- package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
- package/workflow/task-detail/task-approval.d.ts +13 -11
- package/workflow/task-detail/task-approval.d.ts.map +1 -1
- package/workflow/task-detail/task-approval.js +8 -4
- package/workflow/task-detail/task-approval.js.map +1 -1
- package/workflow/useDiagnoseExecutionFlow.d.ts.map +1 -1
- package/workflow/useDiagnoseExecutionFlow.js +23 -18
- package/workflow/useDiagnoseExecutionFlow.js.map +1 -1
- package/workflow/useExplainWorkflowFlow.d.ts.map +1 -1
- package/workflow/useExplainWorkflowFlow.js +7 -3
- package/workflow/useExplainWorkflowFlow.js.map +1 -1
- package/workflow/useRefineWorkflowFlow.d.ts.map +1 -1
- package/workflow/useRefineWorkflowFlow.js +14 -10
- package/workflow/useRefineWorkflowFlow.js.map +1 -1
- package/workflow/useWorkflowArchitectFlow.d.ts.map +1 -1
- package/workflow/useWorkflowArchitectFlow.js +7 -3
- package/workflow/useWorkflowArchitectFlow.js.map +1 -1
- package/workspace/ExplorerTree.d.ts.map +1 -1
- package/workspace/ExplorerTree.js +2 -5
- package/workspace/ExplorerTree.js.map +1 -1
- package/workspace/FileViewer.d.ts.map +1 -1
- package/workspace/FileViewer.js +2 -1
- package/workspace/FileViewer.js.map +1 -1
package/iam-policy/SharePanel.js
CHANGED
|
@@ -20,13 +20,13 @@ import { PeopleWithAccess } from "./PeopleWithAccess.js";
|
|
|
20
20
|
* resource={{ kind: "session", id: sessionId, resourceKind: ApiResourceKind.session }}
|
|
21
21
|
* resourceKindString="session"
|
|
22
22
|
* resourceKind={ApiResourceKind.session}
|
|
23
|
-
*
|
|
23
|
+
* org={org}
|
|
24
24
|
* onClose={() => setOpen(false)}
|
|
25
25
|
* />
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export function SharePanel({ resource, resourceKindString, resourceKind,
|
|
29
|
-
return (_jsxs("div", { className: cn("stg:flex stg:flex-col stg:gap-4 stg:p-4", className), role: "region", "aria-label": "Resource access management", children: [_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between", children: [_jsx("h3", { className: "stg:text-sm stg:font-semibold stg:text-foreground", children: "Share access" }), onClose && (_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close share panel", className: cn("stg:rounded-md stg:p-1 stg:text-muted-foreground", "stg:hover:text-foreground stg:hover:bg-accent-hover"), children: _jsx(CloseIcon, {}) }))] }), _jsx(PeopleWithAccess, { resource: resource, resourceKindString: resourceKindString, resourceKind: resourceKind,
|
|
28
|
+
export function SharePanel({ resource, resourceKindString, resourceKind, org, onClose, className, }) {
|
|
29
|
+
return (_jsxs("div", { className: cn("stg:flex stg:flex-col stg:gap-4 stg:p-4", className), role: "region", "aria-label": "Resource access management", children: [_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between", children: [_jsx("h3", { className: "stg:text-sm stg:font-semibold stg:text-foreground", children: "Share access" }), onClose && (_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close share panel", className: cn("stg:rounded-md stg:p-1 stg:text-muted-foreground", "stg:hover:text-foreground stg:hover:bg-accent-hover"), children: _jsx(CloseIcon, {}) }))] }), _jsx(PeopleWithAccess, { resource: resource, resourceKindString: resourceKindString, resourceKind: resourceKind, org: org })] }));
|
|
30
30
|
}
|
|
31
31
|
function CloseIcon() {
|
|
32
32
|
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePanel.js","sourceRoot":"","sources":["../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAqBzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"SharePanel.js","sourceRoot":"","sources":["../src/iam-policy/SharePanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAqBzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,GAAG,EACH,OAAO,EACP,SAAS,GACO;IAChB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,EACnE,IAAI,EAAC,QAAQ,gBACF,4BAA4B,aAGvC,eAAK,SAAS,EAAC,+CAA+C,aAC5D,aAAI,SAAS,EAAC,mDAAmD,6BAE5D,EACJ,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,gBACL,mBAAmB,EAC9B,SAAS,EAAE,EAAE,CACX,kDAAkD,EAClD,qDAAqD,CACtD,YAED,KAAC,SAAS,KAAG,GACN,CACV,IACG,EAEN,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG,GACR,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,iBAAa,MAAM,YACxI,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -46,7 +46,10 @@ export interface UseCheckPermissionReturn {
|
|
|
46
46
|
* `false` (so operator-only navigation never appears where the seat
|
|
47
47
|
* does not exist), `can_grant_access` on a resource the edition does not
|
|
48
48
|
* share per person is `false` (open source grants roles on organizations
|
|
49
|
-
* only), and everything else is the edition's authorizer's answer.
|
|
49
|
+
* only), and everything else is the edition's authorizer's answer. So a
|
|
50
|
+
* control that changes who reaches a resource (its visibility, a share, a
|
|
51
|
+
* channel) asks `can_manage_audience`, never `can_grant_access`: the owner
|
|
52
|
+
* holds it in every edition. By
|
|
50
53
|
* default the hook *fails open* while the check is in flight or when the
|
|
51
54
|
* RPC fails, so a transient error never hides a control the server would
|
|
52
55
|
* honor. Pass `{ fail: "closed" }` for surfaces that must stay hidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckPermission.d.ts","sourceRoot":"","sources":["../src/iam-policy/useCheckPermission.ts"],"names":[],"mappings":"AAYA,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACnC;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAUD
|
|
1
|
+
{"version":3,"file":"useCheckPermission.d.ts","sourceRoot":"","sources":["../src/iam-policy/useCheckPermission.ts"],"names":[],"mappings":"AAYA,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACnC;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,EACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,wBAAwB,CA+D1B"}
|
|
@@ -16,7 +16,10 @@ import { useStigmer } from "../hooks.js";
|
|
|
16
16
|
* `false` (so operator-only navigation never appears where the seat
|
|
17
17
|
* does not exist), `can_grant_access` on a resource the edition does not
|
|
18
18
|
* share per person is `false` (open source grants roles on organizations
|
|
19
|
-
* only), and everything else is the edition's authorizer's answer.
|
|
19
|
+
* only), and everything else is the edition's authorizer's answer. So a
|
|
20
|
+
* control that changes who reaches a resource (its visibility, a share, a
|
|
21
|
+
* channel) asks `can_manage_audience`, never `can_grant_access`: the owner
|
|
22
|
+
* holds it in every edition. By
|
|
20
23
|
* default the hook *fails open* while the check is in flight or when the
|
|
21
24
|
* RPC fails, so a transient error never hides a control the server would
|
|
22
25
|
* honor. Pass `{ fail: "closed" }` for surfaces that must stay hidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckPermission.js","sourceRoot":"","sources":["../src/iam-policy/useCheckPermission.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,oBAAoB,GACrB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiDzC
|
|
1
|
+
{"version":3,"file":"useCheckPermission.js","sourceRoot":"","sources":["../src/iam-policy/useCheckPermission.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,4BAA4B,GAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,oBAAoB,GACrB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiDzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAwC,EACxC,QAAgB,EAChB,OAAgC;IAEhC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,KAAK,MAAM,CAAC;IAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,QAAQ,GAAG,MAAM,CAAuB,IAAI,GAAG,EAAE,CAAC,CAAC;IAEzD,wEAAwE;IACxE,uEAAuE;IACvE,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,4BAA4B,EAAE;YACjD,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE;gBACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;aAChB,CAAC;YACF,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,CAAC,SAAS;aACd,iBAAiB,CAAC,KAAK,CAAC;aACxB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,SAAS;gBAAE,OAAO;YACtB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,iEAAiE;YACjE,iEAAiE;YACjE,wDAAwD;YACxD,UAAU,CAAC;gBACT,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IAErC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -26,7 +26,7 @@ export interface UseCreateIamPolicyReturn {
|
|
|
26
26
|
*
|
|
27
27
|
* await create({
|
|
28
28
|
* principal: { kind: "identity_account", id: accountId },
|
|
29
|
-
* resource: { kind: "organization", id:
|
|
29
|
+
* resource: { kind: "organization", id: org },
|
|
30
30
|
* relation: "admin",
|
|
31
31
|
* });
|
|
32
32
|
* ```
|
|
@@ -17,7 +17,7 @@ import { toError } from "../internal/toError.js";
|
|
|
17
17
|
*
|
|
18
18
|
* await create({
|
|
19
19
|
* principal: { kind: "identity_account", id: accountId },
|
|
20
|
-
* resource: { kind: "organization", id:
|
|
20
|
+
* resource: { kind: "organization", id: org },
|
|
21
21
|
* relation: "admin",
|
|
22
22
|
* });
|
|
23
23
|
* ```
|
|
@@ -25,7 +25,7 @@ export interface UseDeleteIamPolicyReturn {
|
|
|
25
25
|
*
|
|
26
26
|
* await remove({
|
|
27
27
|
* principal: { kind: "identity_account", id: accountId },
|
|
28
|
-
* resource: { kind: "organization", id:
|
|
28
|
+
* resource: { kind: "organization", id: org },
|
|
29
29
|
* relation: "admin",
|
|
30
30
|
* });
|
|
31
31
|
* ```
|
|
@@ -16,7 +16,7 @@ import { toError } from "../internal/toError.js";
|
|
|
16
16
|
*
|
|
17
17
|
* await remove({
|
|
18
18
|
* principal: { kind: "identity_account", id: accountId },
|
|
19
|
-
* resource: { kind: "organization", id:
|
|
19
|
+
* resource: { kind: "organization", id: org },
|
|
20
20
|
* relation: "admin",
|
|
21
21
|
* });
|
|
22
22
|
* ```
|
|
@@ -20,7 +20,7 @@ export interface UseGrantableRolesReturn {
|
|
|
20
20
|
* @example
|
|
21
21
|
* ```tsx
|
|
22
22
|
* const { roles, hasRoles } = useGrantableRoles(ApiResourceKind.agent);
|
|
23
|
-
* // roles = [IamRole.owner, IamRole.viewer]
|
|
23
|
+
* // roles = [IamRole.owner, IamRole.editor, IamRole.viewer]
|
|
24
24
|
* // hasRoles = true
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
@@ -14,7 +14,7 @@ import { getGrantableRoles, hasGrantableRoles } from "@stigmer/sdk";
|
|
|
14
14
|
* @example
|
|
15
15
|
* ```tsx
|
|
16
16
|
* const { roles, hasRoles } = useGrantableRoles(ApiResourceKind.agent);
|
|
17
|
-
* // roles = [IamRole.owner, IamRole.viewer]
|
|
17
|
+
* // roles = [IamRole.owner, IamRole.editor, IamRole.viewer]
|
|
18
18
|
* // hasRoles = true
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
@@ -28,7 +28,7 @@ export type GranteeCandidate = PersonCandidate | TeamCandidate;
|
|
|
28
28
|
/** Options for {@link useGranteeCandidates}. */
|
|
29
29
|
export interface UseGranteeCandidatesOptions {
|
|
30
30
|
/** The organization whose people (and teams) are offered, or `null` to skip. */
|
|
31
|
-
readonly
|
|
31
|
+
readonly org: string | null;
|
|
32
32
|
/** Offer the organization's teams too. Pass `false` where teams cannot be granted. */
|
|
33
33
|
readonly includeTeams: boolean;
|
|
34
34
|
}
|
|
@@ -47,10 +47,10 @@ export interface UseGranteeCandidatesReturn {
|
|
|
47
47
|
* @example
|
|
48
48
|
* ```tsx
|
|
49
49
|
* const { people, teams } = useGranteeCandidates({
|
|
50
|
-
*
|
|
50
|
+
* org,
|
|
51
51
|
* includeTeams: share.canShareWithTeams,
|
|
52
52
|
* });
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
export declare function useGranteeCandidates({ orgId, includeTeams, }: UseGranteeCandidatesOptions): UseGranteeCandidatesReturn;
|
|
55
|
+
export declare function useGranteeCandidates({ org: orgId, includeTeams, }: UseGranteeCandidatesOptions): UseGranteeCandidatesReturn;
|
|
56
56
|
//# sourceMappingURL=useGranteeCandidates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGranteeCandidates.d.ts","sourceRoot":"","sources":["../src/iam-policy/useGranteeCandidates.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAA+C,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAIzF,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;AAE/D,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"useGranteeCandidates.d.ts","sourceRoot":"","sources":["../src/iam-policy/useGranteeCandidates.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAA+C,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAIzF,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;AAE/D,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EAAE,KAAK,EACV,YAAY,GACb,EAAE,2BAA2B,GAAG,0BAA0B,CAgD1D"}
|
|
@@ -21,12 +21,12 @@ import { useResourceAccess } from "./useResourceAccess.js";
|
|
|
21
21
|
* @example
|
|
22
22
|
* ```tsx
|
|
23
23
|
* const { people, teams } = useGranteeCandidates({
|
|
24
|
-
*
|
|
24
|
+
* org,
|
|
25
25
|
* includeTeams: share.canShareWithTeams,
|
|
26
26
|
* });
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
export function useGranteeCandidates({ orgId, includeTeams, }) {
|
|
29
|
+
export function useGranteeCandidates({ org: orgId, includeTeams, }) {
|
|
30
30
|
const access = useResourceAccess(orgId ? { kind: "organization", id: orgId } : null);
|
|
31
31
|
const teamList = useTeamList(includeTeams ? orgId : null);
|
|
32
32
|
const people = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGranteeCandidates.js","sourceRoot":"","sources":["../src/iam-policy/useGranteeCandidates.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA+C3D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,
|
|
1
|
+
{"version":3,"file":"useGranteeCandidates.js","sourceRoot":"","sources":["../src/iam-policy/useGranteeCandidates.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface UseOwnerAssignmentReturn {
|
|
|
17
17
|
* change asks the same question here. Fails open, like every capability
|
|
18
18
|
* gate: the server refuses whatever this lets through.
|
|
19
19
|
*
|
|
20
|
-
* @param
|
|
20
|
+
* @param org - The organization's id, or `null` to skip the check.
|
|
21
21
|
*/
|
|
22
|
-
export declare function useOwnerAssignment(
|
|
22
|
+
export declare function useOwnerAssignment(org: string | null): UseOwnerAssignmentReturn;
|
|
23
23
|
//# sourceMappingURL=useOwnerAssignment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOwnerAssignment.d.ts","sourceRoot":"","sources":["../src/iam-policy/useOwnerAssignment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAOpE,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,yFAAyF;IACzF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"useOwnerAssignment.d.ts","sourceRoot":"","sources":["../src/iam-policy/useOwnerAssignment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAOpE,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,yFAAyF;IACzF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,wBAAwB,CAS/E"}
|
|
@@ -11,10 +11,10 @@ const NOTHING_OMITTED = [];
|
|
|
11
11
|
* change asks the same question here. Fails open, like every capability
|
|
12
12
|
* gate: the server refuses whatever this lets through.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
14
|
+
* @param org - The organization's id, or `null` to skip the check.
|
|
15
15
|
*/
|
|
16
|
-
export function useOwnerAssignment(
|
|
17
|
-
const { allowed } = useCheckPermission(
|
|
16
|
+
export function useOwnerAssignment(org) {
|
|
17
|
+
const { allowed } = useCheckPermission(org ? { kind: "organization", id: org } : null, "can_assign_roles");
|
|
18
18
|
return {
|
|
19
19
|
canAssignOwner: allowed,
|
|
20
20
|
unassignable: allowed ? NOTHING_OMITTED : OWNER_ONLY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOwnerAssignment.js","sourceRoot":"","sources":["../src/iam-policy/useOwnerAssignment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qFAAqF;AACrF,MAAM,UAAU,GAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,eAAe,GAAuB,EAAE,CAAC;AAc/C;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"useOwnerAssignment.js","sourceRoot":"","sources":["../src/iam-policy/useOwnerAssignment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qFAAqF;AACrF,MAAM,UAAU,GAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,eAAe,GAAuB,EAAE,CAAC;AAc/C;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAkB;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CACpC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAC9C,kBAAkB,CACnB,CAAC;IACF,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -25,16 +25,16 @@ export interface UsePrincipalsCountReturn {
|
|
|
25
25
|
* `isPlatformClientAccount` (from `@stigmer/sdk`) marks, as
|
|
26
26
|
* `OrgMembersPanel` does.
|
|
27
27
|
*
|
|
28
|
-
* Pass `null` as `
|
|
28
|
+
* Pass `null` as `org` to skip fetching (stable no-op).
|
|
29
29
|
*
|
|
30
|
-
* @param
|
|
30
|
+
* @param org - Organization ID, or `null` to skip.
|
|
31
31
|
* @param principalKind - Kind of principals to count. Defaults to `"identity_account"`.
|
|
32
32
|
*
|
|
33
33
|
* @example
|
|
34
34
|
* ```tsx
|
|
35
|
-
* const { count, isLoading } = usePrincipalsCount(
|
|
35
|
+
* const { count, isLoading } = usePrincipalsCount(org);
|
|
36
36
|
* // count = 5
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
export declare function usePrincipalsCount(
|
|
39
|
+
export declare function usePrincipalsCount(org: string | null, principalKind?: string): UsePrincipalsCountReturn;
|
|
40
40
|
//# sourceMappingURL=usePrincipalsCount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrincipalsCount.d.ts","sourceRoot":"","sources":["../src/iam-policy/usePrincipalsCount.ts"],"names":[],"mappings":"AAOA,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,
|
|
1
|
+
{"version":3,"file":"usePrincipalsCount.d.ts","sourceRoot":"","sources":["../src/iam-policy/usePrincipalsCount.ts"],"names":[],"mappings":"AAOA,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,aAAa,GAAE,MAA2B,GACzC,wBAAwB,CAiB1B"}
|
|
@@ -17,24 +17,24 @@ import { useFetch } from "../internal/useFetch.js";
|
|
|
17
17
|
* `isPlatformClientAccount` (from `@stigmer/sdk`) marks, as
|
|
18
18
|
* `OrgMembersPanel` does.
|
|
19
19
|
*
|
|
20
|
-
* Pass `null` as `
|
|
20
|
+
* Pass `null` as `org` to skip fetching (stable no-op).
|
|
21
21
|
*
|
|
22
|
-
* @param
|
|
22
|
+
* @param org - Organization ID, or `null` to skip.
|
|
23
23
|
* @param principalKind - Kind of principals to count. Defaults to `"identity_account"`.
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* ```tsx
|
|
27
|
-
* const { count, isLoading } = usePrincipalsCount(
|
|
27
|
+
* const { count, isLoading } = usePrincipalsCount(org);
|
|
28
28
|
* // count = 5
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
|
-
export function usePrincipalsCount(
|
|
31
|
+
export function usePrincipalsCount(org, principalKind = "identity_account") {
|
|
32
32
|
const stigmer = useStigmer();
|
|
33
|
-
const { data: count, isLoading, isRefetching, error, refetch } = useFetch(
|
|
33
|
+
const { data: count, isLoading, isRefetching, error, refetch } = useFetch(org
|
|
34
34
|
? () => stigmer.iamPolicy
|
|
35
|
-
.getPrincipalsCount(create(GetPrincipalsCountInputSchema, {
|
|
35
|
+
.getPrincipalsCount(create(GetPrincipalsCountInputSchema, { org, principalKind }))
|
|
36
36
|
.then((r) => r.count)
|
|
37
|
-
: null, [
|
|
37
|
+
: null, [org, principalKind, stigmer], 0);
|
|
38
38
|
return { count, isLoading, isRefetching, error, refetch };
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=usePrincipalsCount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrincipalsCount.js","sourceRoot":"","sources":["../src/iam-policy/usePrincipalsCount.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAChC,
|
|
1
|
+
{"version":3,"file":"usePrincipalsCount.js","sourceRoot":"","sources":["../src/iam-policy/usePrincipalsCount.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAkB,EAClB,gBAAwB,kBAAkB;IAE1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACvE,GAAG;QACD,CAAC,CAAC,GAAG,EAAE,CACH,OAAO,CAAC,SAAS;aACd,kBAAkB,CACjB,MAAM,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAC9D;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,IAAI,EACR,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAC7B,CAAC,CACF,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -24,7 +24,7 @@ import { useFetch } from "../internal/useFetch.js";
|
|
|
24
24
|
* @example
|
|
25
25
|
* ```tsx
|
|
26
26
|
* const { members, isLoading } = useResourceAccess(
|
|
27
|
-
* { kind: "organization", id:
|
|
27
|
+
* { kind: "organization", id: org },
|
|
28
28
|
* { includeInherited: true },
|
|
29
29
|
* );
|
|
30
30
|
* ```
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/** Return value of {@link useRevokeOrgAccess}. */
|
|
2
2
|
export interface UseRevokeOrgAccessReturn {
|
|
3
3
|
/**
|
|
4
|
-
* Remove
|
|
4
|
+
* Remove a person from an organization.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Revokes their roles on the organization and everything they hold on
|
|
7
|
+
* its resources: what was shared with them (agents, environments,
|
|
8
|
+
* sessions and the rest) and their team memberships, in a single
|
|
9
|
+
* operation. What they created stays with the organization; it is
|
|
10
|
+
* theirs again only if they are invited back.
|
|
9
11
|
*/
|
|
10
|
-
readonly revoke: (accountId: string,
|
|
12
|
+
readonly revoke: (accountId: string, org: string) => Promise<void>;
|
|
11
13
|
/** `true` while the revoke request is in flight. */
|
|
12
14
|
readonly isRevoking: boolean;
|
|
13
15
|
/** Error from the last failed revoke, or `null` when healthy. */
|
|
@@ -19,10 +21,10 @@ export interface UseRevokeOrgAccessReturn {
|
|
|
19
21
|
* Behavior hook that wraps `iamPolicy.revokeOrgAccess()` with
|
|
20
22
|
* loading/error state.
|
|
21
23
|
*
|
|
22
|
-
* Removes
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* operation.
|
|
24
|
+
* Removes a person from an organization: their roles on it, what was
|
|
25
|
+
* shared with them on its resources and their team memberships. From
|
|
26
|
+
* then on they reach nothing in the organization; what they created
|
|
27
|
+
* stays with it. This is the "remove member from org" operation.
|
|
26
28
|
*
|
|
27
29
|
* @example
|
|
28
30
|
* ```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRevokeOrgAccess.d.ts","sourceRoot":"","sources":["../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAQA,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC
|
|
1
|
+
{"version":3,"file":"useRevokeOrgAccess.d.ts","sourceRoot":"","sources":["../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAQA,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CA8B7D"}
|
|
@@ -8,10 +8,10 @@ import { toError } from "../internal/toError.js";
|
|
|
8
8
|
* Behavior hook that wraps `iamPolicy.revokeOrgAccess()` with
|
|
9
9
|
* loading/error state.
|
|
10
10
|
*
|
|
11
|
-
* Removes
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* operation.
|
|
11
|
+
* Removes a person from an organization: their roles on it, what was
|
|
12
|
+
* shared with them on its resources and their team memberships. From
|
|
13
|
+
* then on they reach nothing in the organization; what they created
|
|
14
|
+
* stays with it. This is the "remove member from org" operation.
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
@@ -26,13 +26,13 @@ export function useRevokeOrgAccess() {
|
|
|
26
26
|
const [isRevoking, setIsRevoking] = useState(false);
|
|
27
27
|
const [error, setError] = useState(null);
|
|
28
28
|
const clearError = useCallback(() => setError(null), []);
|
|
29
|
-
const revoke = useCallback(async (accountId,
|
|
29
|
+
const revoke = useCallback(async (accountId, org) => {
|
|
30
30
|
setIsRevoking(true);
|
|
31
31
|
setError(null);
|
|
32
32
|
try {
|
|
33
33
|
await stigmer.iamPolicy.revokeOrgAccess(create(RevokeOrgAccessInputSchema, {
|
|
34
34
|
identityAccountId: accountId,
|
|
35
|
-
|
|
35
|
+
org,
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRevokeOrgAccess.js","sourceRoot":"","sources":["../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useRevokeOrgAccess.js","sourceRoot":"","sources":["../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAsBjD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,SAAiB,EAAE,GAAW,EAAiB,EAAE;QACtD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,CACrC,MAAM,CAAC,0BAA0B,EAAE;gBACjC,iBAAiB,EAAE,SAAS;gBAC5B,GAAG;aACJ,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -26,6 +26,12 @@ export interface AccountPreferencesPanelProps {
|
|
|
26
26
|
* answer with. A server that cannot answer surfaces its error through the
|
|
27
27
|
* fetch-error state below, never a hidden branch.
|
|
28
28
|
*
|
|
29
|
+
* The one posture question it does ask is about memory. The person's own
|
|
30
|
+
* memory switch is honoured only by a server that authenticates its
|
|
31
|
+
* callers; on a server that trusts every request (the single-operator
|
|
32
|
+
* laptop), memory is the organization's switch alone, so the panel says
|
|
33
|
+
* that in the switch's place rather than offering one that does nothing.
|
|
34
|
+
*
|
|
29
35
|
* All visual properties flow through `--stgm-*` design tokens. Zero
|
|
30
36
|
* dependencies on Console routing, auth context, or layout — platform
|
|
31
37
|
* builders can embed it directly:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountPreferencesPanel.d.ts","sourceRoot":"","sources":["../src/identity-account/AccountPreferencesPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"AccountPreferencesPanel.d.ts","sourceRoot":"","sources":["../src/identity-account/AccountPreferencesPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAYhG,iDAAiD;AACjD,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,SAAS,GACV,EAAE,4BAA4B,kDA4W9B"}
|
|
@@ -6,11 +6,13 @@ import { getUserMessage, toIdentityAccountUpdateInput } from "@stigmer/sdk";
|
|
|
6
6
|
import { useMyIdentityAccount } from "./useMyIdentityAccount.js";
|
|
7
7
|
import { useUpdateIdentityAccount } from "./useUpdateIdentityAccount.js";
|
|
8
8
|
import { useModelRegistry } from "../models/index.js";
|
|
9
|
+
import { useServerInfo } from "../server-info.js";
|
|
9
10
|
import { HARNESS_META } from "../models/harness.js";
|
|
10
11
|
import { MemoryEnabledRow } from "../internal/MemoryEnabledRow.js";
|
|
11
12
|
import { StandingContextField } from "../internal/StandingContextField.js";
|
|
12
13
|
import { SpinnerIcon } from "../internal/SpinnerIcon.js";
|
|
13
14
|
import { Switch } from "../switch/Switch.js";
|
|
15
|
+
import { LoadingRegion } from "../internal/LoadingRegion.js";
|
|
14
16
|
/**
|
|
15
17
|
* Self-contained editor for the current user's declared preferences
|
|
16
18
|
* (`IdentityAccountSpec.preferences`): standing context plus the
|
|
@@ -31,6 +33,12 @@ import { Switch } from "../switch/Switch.js";
|
|
|
31
33
|
* answer with. A server that cannot answer surfaces its error through the
|
|
32
34
|
* fetch-error state below, never a hidden branch.
|
|
33
35
|
*
|
|
36
|
+
* The one posture question it does ask is about memory. The person's own
|
|
37
|
+
* memory switch is honoured only by a server that authenticates its
|
|
38
|
+
* callers; on a server that trusts every request (the single-operator
|
|
39
|
+
* laptop), memory is the organization's switch alone, so the panel says
|
|
40
|
+
* that in the switch's place rather than offering one that does nothing.
|
|
41
|
+
*
|
|
34
42
|
* All visual properties flow through `--stgm-*` design tokens. Zero
|
|
35
43
|
* dependencies on Console routing, auth context, or layout — platform
|
|
36
44
|
* builders can embed it directly:
|
|
@@ -47,6 +55,7 @@ export function AccountPreferencesPanel({ onUpdated, className, }) {
|
|
|
47
55
|
// The memory toggle saves instantly (its own hook instance, so a flip's
|
|
48
56
|
// in-flight/error state never bleeds into the form's Save button).
|
|
49
57
|
const { update: updateMemoryFlag, isUpdating: isSavingMemoryFlag, error: memoryFlagError, } = useUpdateIdentityAccount();
|
|
58
|
+
const memoryGovernance = useMemoryGovernance();
|
|
50
59
|
const [standingContext, setStandingContext] = useState("");
|
|
51
60
|
const [defaultHarness, setDefaultHarness] = useState("");
|
|
52
61
|
const [defaultNativeModel, setDefaultNativeModel] = useState("");
|
|
@@ -168,7 +177,7 @@ export function AccountPreferencesPanel({ onUpdated, className, }) {
|
|
|
168
177
|
// Loading state
|
|
169
178
|
// -----------------------------------------------------------------------
|
|
170
179
|
if (isFetching && !account) {
|
|
171
|
-
return (_jsxs(
|
|
180
|
+
return (_jsxs(LoadingRegion, { className: cn("stg:space-y-4", className), label: "Loading account preferences", children: [_jsx("div", { className: "stg:bg-muted-subtle stg:h-28 stg:animate-pulse stg:rounded" }), _jsx("div", { className: "stg:bg-muted-subtle stg:h-8 stg:w-32 stg:animate-pulse stg:rounded" })] }));
|
|
172
181
|
}
|
|
173
182
|
// -----------------------------------------------------------------------
|
|
174
183
|
// Fetch error
|
|
@@ -181,7 +190,7 @@ export function AccountPreferencesPanel({ onUpdated, className, }) {
|
|
|
181
190
|
// -----------------------------------------------------------------------
|
|
182
191
|
// Render
|
|
183
192
|
// -----------------------------------------------------------------------
|
|
184
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: cn("stg:space-y-4", className), children: [_jsx(StandingContextField, { id: `${baseId}-standing-context`, value: standingContext, onChange: setStandingContext, disabled: isUpdating, placeholder: "e.g. Keep answers terse. I prefer TypeScript examples. My timezone is IST.", helperText: "Shared with agents as background context \u2014 not instructions. Applies only to executions you start and is visible on those execution records." }), _jsxs("div", { className: "stg:space-y-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "stg:text-xs stg:font-medium stg:text-foreground", children: "Execution defaults" }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Seed new sessions across your devices and the CLI. An explicit pick in the composer always wins for that device." })] }), _jsxs("fieldset", { className: "stg:space-y-2", disabled: isUpdating, children: [_jsx("legend", { className: "stg:text-xs stg:font-medium stg:text-foreground stg:mb-1", children: "Default harness" }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "", label: "Platform default", description: "Stigmer picks the harness for new sessions.", checked: defaultHarness === "", onSelect: setDefaultHarness, disabled: isUpdating }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "native", label: HARNESS_META.native.label, description: HARNESS_META.native.description, checked: defaultHarness === "native", onSelect: setDefaultHarness, disabled: isUpdating, children: _jsx(DefaultModelSelect, { id: `${baseId}-default-native-model`, harness: "native", label: "Default model", value: defaultNativeModel, onChange: setDefaultNativeModel, disabled: isUpdating }) }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "cursor", label: HARNESS_META.cursor.label, description: HARNESS_META.cursor.description, checked: defaultHarness === "cursor", onSelect: setDefaultHarness, disabled: isUpdating, children: _jsx(DefaultModelSelect, { id: `${baseId}-default-cursor-model`, harness: "cursor", label: "Default model", value: defaultCursorModel, onChange: setDefaultCursorModel, disabled: isUpdating }) }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Each harness's default model applies whenever a session runs on that harness \u2014 even when it isn't your default." })] }), _jsxs("div", { className: cn("stg:flex stg:items-start stg:justify-between stg:gap-3 stg:rounded-md stg:border stg:border-input stg:px-3 stg:py-2.5", isUpdating && "stg:opacity-50"), children: [_jsxs("div", { className: "stg:min-w-0", children: [_jsx("span", { id: `${baseId}-default-auto-approve-title`, className: "stg:block stg:text-xs stg:font-medium stg:text-foreground", children: "Auto-approve tool calls" }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Start your sessions with tool calls running unattended \u2014 no approval prompts. Each conversation can turn this off (or on) in its session panel." })] }), _jsx(Switch, { checked: defaultAutoApprove, onCheckedChange: setDefaultAutoApprove, disabled: isUpdating, "aria-labelledby": `${baseId}-default-auto-approve-title`, className: "stg:mt-0.5" })] })] }), _jsx(MemoryEnabledRow, { id: `${baseId}-memory-enabled`, checked: account.spec?.preferences?.memoryEnabled ?? false, onToggle: (next) => void handleMemoryToggle(next), saving: isSavingMemoryFlag, error: memoryFlagError, helperText: "When on, agents may propose facts to remember about you; only facts you confirm are stored. Confirmed memories are shared with your future sessions and appear on those executions' records; once you have many, each conversation recalls the most relevant ones, shown on the execution. Requires your organization to have memory enabled. Changes apply immediately." }), updateError && (_jsx("p", { className: "stg:text-destructive stg:text-[0.65rem]", role: "alert", children: getUserMessage(updateError) })), _jsxs("div", { className: "stg:flex stg:items-center stg:gap-2", children: [_jsxs("button", { type: "submit", disabled: !canSubmit, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-40"), children: [isUpdating && _jsx(SpinnerIcon, { size: 12 }), "Save changes"] }), hasChanges && !isUpdating && (_jsx("button", { type: "button", onClick: handleDiscard, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs", "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover"), children: "Discard" }))] })] }));
|
|
193
|
+
return (_jsxs("form", { onSubmit: handleSubmit, className: cn("stg:space-y-4", className), children: [_jsx(StandingContextField, { id: `${baseId}-standing-context`, value: standingContext, onChange: setStandingContext, disabled: isUpdating, placeholder: "e.g. Keep answers terse. I prefer TypeScript examples. My timezone is IST.", helperText: "Shared with agents as background context \u2014 not instructions. Applies only to executions you start and is visible on those execution records." }), _jsxs("div", { className: "stg:space-y-3", children: [_jsxs("div", { children: [_jsx("h3", { className: "stg:text-xs stg:font-medium stg:text-foreground", children: "Execution defaults" }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Seed new sessions across your devices and the CLI. An explicit pick in the composer always wins for that device." })] }), _jsxs("fieldset", { className: "stg:space-y-2", disabled: isUpdating, children: [_jsx("legend", { className: "stg:text-xs stg:font-medium stg:text-foreground stg:mb-1", children: "Default harness" }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "", label: "Platform default", description: "Stigmer picks the harness for new sessions.", checked: defaultHarness === "", onSelect: setDefaultHarness, disabled: isUpdating }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "native", label: HARNESS_META.native.label, description: HARNESS_META.native.description, checked: defaultHarness === "native", onSelect: setDefaultHarness, disabled: isUpdating, children: _jsx(DefaultModelSelect, { id: `${baseId}-default-native-model`, harness: "native", label: "Default model", value: defaultNativeModel, onChange: setDefaultNativeModel, disabled: isUpdating }) }), _jsx(HarnessOptionRow, { radioName: `${baseId}-default-harness`, value: "cursor", label: HARNESS_META.cursor.label, description: HARNESS_META.cursor.description, checked: defaultHarness === "cursor", onSelect: setDefaultHarness, disabled: isUpdating, children: _jsx(DefaultModelSelect, { id: `${baseId}-default-cursor-model`, harness: "cursor", label: "Default model", value: defaultCursorModel, onChange: setDefaultCursorModel, disabled: isUpdating }) }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Each harness's default model applies whenever a session runs on that harness \u2014 even when it isn't your default." })] }), _jsxs("div", { className: cn("stg:flex stg:items-start stg:justify-between stg:gap-3 stg:rounded-md stg:border stg:border-input stg:px-3 stg:py-2.5", isUpdating && "stg:opacity-50"), children: [_jsxs("div", { className: "stg:min-w-0", children: [_jsx("span", { id: `${baseId}-default-auto-approve-title`, className: "stg:block stg:text-xs stg:font-medium stg:text-foreground", children: "Auto-approve tool calls" }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Start your sessions with tool calls running unattended \u2014 no approval prompts. Each conversation can turn this off (or on) in its session panel." })] }), _jsx(Switch, { checked: defaultAutoApprove, onCheckedChange: setDefaultAutoApprove, disabled: isUpdating, "aria-labelledby": `${baseId}-default-auto-approve-title`, className: "stg:mt-0.5" })] })] }), memoryGovernance === "organization" && _jsx(OrganizationGovernedMemory, {}), memoryGovernance === "person" && (_jsx(MemoryEnabledRow, { id: `${baseId}-memory-enabled`, checked: account.spec?.preferences?.memoryEnabled ?? false, onToggle: (next) => void handleMemoryToggle(next), saving: isSavingMemoryFlag, error: memoryFlagError, helperText: "When on, agents may propose facts to remember about you; only facts you confirm are stored. Confirmed memories are shared with your future sessions and appear on those executions' records; once you have many, each conversation recalls the most relevant ones, shown on the execution. Requires your organization to have memory enabled. Changes apply immediately." })), updateError && (_jsx("p", { className: "stg:text-destructive stg:text-[0.65rem]", role: "alert", children: getUserMessage(updateError) })), _jsxs("div", { className: "stg:flex stg:items-center stg:gap-2", children: [_jsxs("button", { type: "submit", disabled: !canSubmit, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-40"), children: [isUpdating && _jsx(SpinnerIcon, { size: 12 }), "Save changes"] }), hasChanges && !isUpdating && (_jsx("button", { type: "button", onClick: handleDiscard, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs", "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover"), children: "Discard" }))] })] }));
|
|
185
194
|
}
|
|
186
195
|
/**
|
|
187
196
|
* One selectable default-harness choice, presented as a bordered row
|
|
@@ -212,7 +221,7 @@ function HarnessOptionRow({ radioName, value, label, description, checked, onSel
|
|
|
212
221
|
const descriptionId = `${radioName}-${value || "platform"}-description`;
|
|
213
222
|
return (_jsxs("div", { className: cn("stg:rounded-md stg:border stg:px-3 stg:py-2.5 stg:transition-colors", checked
|
|
214
223
|
? "stg:border-primary stg:bg-accent"
|
|
215
|
-
: "stg:border-input stg:hover:bg-accent-hover", disabled && "stg:opacity-50"), children: [_jsxs("label", { className: cn("stg:flex stg:cursor-pointer stg:items-start stg:gap-2", disabled && "stg:cursor-default"), children: [_jsx("input", { type: "radio", name: radioName, value: value, checked: checked, onChange: () => onSelect(value), disabled: disabled, "aria-labelledby": titleId, "aria-describedby": descriptionId, className: "stg:mt-0.5 stg:
|
|
224
|
+
: "stg:border-input stg:hover:bg-accent-hover", disabled && "stg:opacity-50"), children: [_jsxs("label", { className: cn("stg:flex stg:cursor-pointer stg:items-start stg:gap-2", disabled && "stg:cursor-default"), children: [_jsx("input", { type: "radio", name: radioName, value: value, checked: checked, onChange: () => onSelect(value), disabled: disabled, "aria-labelledby": titleId, "aria-describedby": descriptionId, className: "stg:mt-0.5 stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring" }), _jsxs("span", { className: "stg:min-w-0 stg:flex-1", children: [_jsx("span", { id: titleId, className: "stg:block stg:text-xs stg:font-medium stg:text-foreground", children: label }), _jsx("span", { id: descriptionId, className: "stg:block stg:text-[0.65rem] stg:leading-snug stg:text-muted-foreground", children: description })] })] }), children && (_jsx("div", { className: cn("stg:mt-2 stg:pl-6 stg:transition-opacity", !checked && "stg:opacity-70"), children: children }))] }));
|
|
216
225
|
}
|
|
217
226
|
/**
|
|
218
227
|
* Per-harness default model select, fed by the harness-filtered registry.
|
|
@@ -226,4 +235,27 @@ function DefaultModelSelect({ id, harness, label, value, onChange, disabled, })
|
|
|
226
235
|
const isStale = value !== "" && !isLoading && !models.some((m) => m.modelId === value);
|
|
227
236
|
return (_jsxs("div", { className: "stg:space-y-1", children: [_jsx("label", { htmlFor: id, className: "stg:text-xs stg:font-medium stg:text-foreground", children: label }), _jsxs("select", { id: id, value: value, onChange: (e) => onChange(e.target.value), "aria-label": `${label} — ${HARNESS_META[harness].label}`, disabled: disabled || isLoading, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: [_jsx("option", { value: "", children: "Platform default" }), isStale && _jsxs("option", { value: value, children: [value, " (unavailable)"] }), models.map((model) => (_jsx("option", { value: model.modelId, children: model.displayName || model.modelId }, model.modelId)))] })] }));
|
|
228
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Who decides memory on the connected server, for the memory row.
|
|
240
|
+
*
|
|
241
|
+
* - `"person"`: the person's own switch counts (a server that authenticates
|
|
242
|
+
* its callers, one too old to report its posture, or one whose answer
|
|
243
|
+
* failed: an unknown posture offers the control and lets the server
|
|
244
|
+
* decide, as `authentication_required`'s contract says).
|
|
245
|
+
* - `"organization"`: the server trusts every request, so its one operator
|
|
246
|
+
* decides memory through the organization's switch alone.
|
|
247
|
+
* - `null`: the server has not answered yet, so the row renders nothing
|
|
248
|
+
* rather than a switch that flashes and disappears.
|
|
249
|
+
*/
|
|
250
|
+
function useMemoryGovernance() {
|
|
251
|
+
const { serverInfo, error } = useServerInfo();
|
|
252
|
+
if (serverInfo !== null) {
|
|
253
|
+
return serverInfo.authenticationRequired === false ? "organization" : "person";
|
|
254
|
+
}
|
|
255
|
+
return error !== null ? "person" : null;
|
|
256
|
+
}
|
|
257
|
+
/** The memory row on a server where the organization's switch alone decides. */
|
|
258
|
+
function OrganizationGovernedMemory() {
|
|
259
|
+
return (_jsxs("div", { className: "stg:space-y-1", children: [_jsx("span", { className: "stg:block stg:text-xs stg:font-medium stg:text-foreground", children: "Memory" }), _jsx("p", { className: "stg:text-[0.65rem] stg:leading-snug stg:text-muted-foreground", children: "On this server, memory follows your organization's setting. Turn it on or off in the organization's preferences." })] }));
|
|
260
|
+
}
|
|
229
261
|
//# sourceMappingURL=AccountPreferencesPanel.js.map
|