@stigmer/react 3.9.0 → 3.11.0
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/access/ManageAccessButton.js +1 -1
- package/access/ManageAccessButton.js.map +1 -1
- package/access/ManageAccessDialog.js +3 -3
- package/access/ManageAccessDialog.js.map +1 -1
- package/action-menu/ActionMenu.js +3 -3
- package/action-menu/ActionMenu.js.map +1 -1
- package/activity/useRecentActivity.d.ts +6 -1
- package/activity/useRecentActivity.d.ts.map +1 -1
- package/activity/useRecentActivity.js +6 -1
- package/activity/useRecentActivity.js.map +1 -1
- package/agent/AgentDetailView.js +21 -21
- package/agent/AgentDetailView.js.map +1 -1
- package/agent/AgentPicker.js +8 -8
- package/agent/AgentPicker.js.map +1 -1
- package/agent/steps/CapabilitiesStep.js +3 -3
- package/agent/steps/CapabilitiesStep.js.map +1 -1
- package/agent/steps/IdentityStep.js +6 -6
- package/agent/steps/IdentityStep.js.map +1 -1
- package/agent/steps/ReviewStep.js +3 -3
- package/agent/steps/ReviewStep.js.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.js +2 -2
- package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
- package/agent-instance/AgentInstanceList.js +4 -4
- package/agent-instance/AgentInstanceList.js.map +1 -1
- package/agent-instance/CreateAgentInstanceDialog.js +1 -1
- package/agent-instance/CreateAgentInstanceDialog.js.map +1 -1
- package/api-key/ApiKeyCreatedAlert.js +1 -1
- package/api-key/ApiKeyCreatedAlert.js.map +1 -1
- package/api-key/ApiKeyListPanel.js +9 -9
- package/api-key/ApiKeyListPanel.js.map +1 -1
- package/api-key/CreateApiKeyForm.js +5 -5
- package/api-key/CreateApiKeyForm.js.map +1 -1
- package/attachment/AttachmentChipList.d.ts +16 -4
- package/attachment/AttachmentChipList.d.ts.map +1 -1
- package/attachment/AttachmentChipList.js +103 -37
- package/attachment/AttachmentChipList.js.map +1 -1
- package/attachment/AttachmentImageLightbox.d.ts +39 -0
- package/attachment/AttachmentImageLightbox.d.ts.map +1 -0
- package/attachment/AttachmentImageLightbox.js +57 -0
- package/attachment/AttachmentImageLightbox.js.map +1 -0
- package/attachment/attachment-utils.d.ts +8 -5
- package/attachment/attachment-utils.d.ts.map +1 -1
- package/attachment/attachment-utils.js +8 -5
- package/attachment/attachment-utils.js.map +1 -1
- package/attachment/useObjectUrl.d.ts +15 -0
- package/attachment/useObjectUrl.d.ts.map +1 -0
- package/attachment/useObjectUrl.js +25 -0
- package/attachment/useObjectUrl.js.map +1 -0
- package/billing/AutoRechargeCard.js +2 -2
- package/billing/AutoRechargeCard.js.map +1 -1
- package/billing/BillingSection.js +6 -6
- package/billing/BillingSection.js.map +1 -1
- package/billing/CreditBalanceCard.js +4 -4
- package/billing/CreditBalanceCard.js.map +1 -1
- package/billing/CreditLedgerTable.js +13 -13
- package/billing/CreditLedgerTable.js.map +1 -1
- package/billing/CreditPackGrid.js +2 -2
- package/billing/CreditPackGrid.js.map +1 -1
- package/billing/LowBalanceBanner.js +4 -4
- package/billing/LowBalanceBanner.js.map +1 -1
- package/billing/PaymentMethodCard.js +2 -2
- package/billing/PaymentMethodCard.js.map +1 -1
- package/button/Button.js +7 -7
- package/button/Button.js.map +1 -1
- package/channel/AgentChannelsPanel.js +12 -12
- package/channel/AgentChannelsPanel.js.map +1 -1
- package/channel/ChannelConversationsDialog.js +6 -6
- package/channel/ChannelConversationsDialog.js.map +1 -1
- package/channel/ChannelCredentialsDialog.js +2 -2
- package/channel/ChannelCredentialsDialog.js.map +1 -1
- package/channel/ChannelTemplatesDialog.js +13 -13
- package/channel/ChannelTemplatesDialog.js.map +1 -1
- package/channel/ChannelToolCredentials.js +3 -3
- package/channel/ChannelToolCredentials.js.map +1 -1
- package/channel/ConnectSlackDialog.js +13 -13
- package/channel/ConnectSlackDialog.js.map +1 -1
- package/channel/ConnectWhatsAppDialog.js +8 -8
- package/channel/ConnectWhatsAppDialog.js.map +1 -1
- package/channel/connect/ServingAppSection.js +5 -5
- package/channel/connect/ServingAppSection.js.map +1 -1
- package/channel/connect/ToolCredentialsSection.js +1 -1
- package/channel/connect/ToolCredentialsSection.js.map +1 -1
- package/channel/connect/VerbatimRefusal.js +1 -1
- package/channel/connect/VerbatimRefusal.js.map +1 -1
- package/channel/connect/icons.js +1 -1
- package/channel/connect/icons.js.map +1 -1
- package/channel-app/ChannelAppDetailPanel.js +3 -3
- package/channel-app/ChannelAppDetailPanel.js.map +1 -1
- package/channel-app/ChannelAppListPanel.js +5 -5
- package/channel-app/ChannelAppListPanel.js.map +1 -1
- package/channel-app/CreateChannelAppForm.js +6 -6
- package/channel-app/CreateChannelAppForm.js.map +1 -1
- package/channel-app/internal.js +7 -7
- package/channel-app/internal.js.map +1 -1
- package/composer/ComposerToolbar.js +4 -4
- package/composer/ComposerToolbar.js.map +1 -1
- package/composer/ConfigureMenu.js +4 -4
- package/composer/ConfigureMenu.js.map +1 -1
- package/composer/ContextChip.js +4 -4
- package/composer/ContextChip.js.map +1 -1
- package/composer/ContextPopover.js +4 -4
- package/composer/ContextPopover.js.map +1 -1
- package/composer/InteractionModePicker.js +5 -5
- package/composer/InteractionModePicker.js.map +1 -1
- package/composer/SessionComposer.js +8 -8
- package/composer/SessionComposer.js.map +1 -1
- package/composer/icons.js +3 -3
- package/composer/icons.js.map +1 -1
- package/conversation/ConversationAttentionBanner.js +2 -2
- package/conversation/ConversationAttentionBanner.js.map +1 -1
- package/conversation/ConversationComposer.js +2 -2
- package/conversation/ConversationComposer.js.map +1 -1
- package/conversation/ConversationControlBanner.js +5 -5
- package/conversation/ConversationControlBanner.js.map +1 -1
- package/conversation/ConversationListPane.js +12 -12
- package/conversation/ConversationListPane.js.map +1 -1
- package/conversation/ConversationMediaAttachment.d.ts +45 -0
- package/conversation/ConversationMediaAttachment.d.ts.map +1 -0
- package/conversation/ConversationMediaAttachment.js +153 -0
- package/conversation/ConversationMediaAttachment.js.map +1 -0
- package/conversation/ConversationTimelineView.d.ts +18 -1
- package/conversation/ConversationTimelineView.d.ts.map +1 -1
- package/conversation/ConversationTimelineView.js +24 -15
- package/conversation/ConversationTimelineView.js.map +1 -1
- package/conversation/ConversationsWorkbench.d.ts.map +1 -1
- package/conversation/ConversationsWorkbench.js +3 -3
- package/conversation/ConversationsWorkbench.js.map +1 -1
- package/conversation/conversationPresentation.d.ts +10 -3
- package/conversation/conversationPresentation.d.ts.map +1 -1
- package/conversation/conversationPresentation.js +10 -3
- package/conversation/conversationPresentation.js.map +1 -1
- package/conversation/index.d.ts +2 -0
- package/conversation/index.d.ts.map +1 -1
- package/conversation/index.js +1 -0
- package/conversation/index.js.map +1 -1
- package/conversation/useConversationMediaUrl.d.ts +65 -0
- package/conversation/useConversationMediaUrl.d.ts.map +1 -0
- package/conversation/useConversationMediaUrl.js +61 -0
- package/conversation/useConversationMediaUrl.js.map +1 -0
- package/cursor-accounts/CursorAccountEditor.js +1 -1
- package/cursor-accounts/CursorAccountEditor.js.map +1 -1
- package/cursor-accounts/CursorAccountsAccessNotice.js +1 -1
- package/cursor-accounts/CursorAccountsAccessNotice.js.map +1 -1
- package/cursor-accounts/CursorAccountsConsole.js +9 -9
- package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
- package/cursor-accounts/MemberCoverageTable.js +7 -7
- package/cursor-accounts/MemberCoverageTable.js.map +1 -1
- package/cursor-accounts/MemberKeysPanel.js +3 -3
- package/cursor-accounts/MemberKeysPanel.js.map +1 -1
- package/cursor-accounts/badges.js +1 -1
- package/cursor-accounts/badges.js.map +1 -1
- package/dashboard/DashboardFailedRuns.js +4 -4
- package/dashboard/DashboardFailedRuns.js.map +1 -1
- package/dashboard/DashboardKPICards.js +7 -7
- package/dashboard/DashboardKPICards.js.map +1 -1
- package/dashboard/OperationalDashboard.js +1 -1
- package/dashboard/OperationalDashboard.js.map +1 -1
- package/datastore/CollectionRecordsBrowser.js +10 -10
- package/datastore/CollectionRecordsBrowser.js.map +1 -1
- package/datastore/CollectionSchemaView.js +4 -4
- package/datastore/CollectionSchemaView.js.map +1 -1
- package/datastore/DatastoreDetailView.js +4 -4
- package/datastore/DatastoreDetailView.js.map +1 -1
- package/datastore/DatastoreSyncReport.js +1 -1
- package/datastore/DatastoreSyncReport.js.map +1 -1
- package/datastore/DeleteDatastoreDialog.js +1 -1
- package/datastore/DeleteDatastoreDialog.js.map +1 -1
- package/datastore/FieldValueControl.js +2 -2
- package/datastore/FieldValueControl.js.map +1 -1
- package/datastore/RecordFilterBuilder.js +4 -4
- package/datastore/RecordFilterBuilder.js.map +1 -1
- package/datastore/RecordFormPanel.js +5 -5
- package/datastore/RecordFormPanel.js.map +1 -1
- package/dependency-graph/DependencyGraph.js +1 -1
- package/dependency-graph/DependencyGraph.js.map +1 -1
- package/dependency-graph/DependencyTreeNode.js +8 -8
- package/dependency-graph/DependencyTreeNode.js.map +1 -1
- package/empty-state/EmptyState.js +3 -3
- package/empty-state/EmptyState.js.map +1 -1
- package/empty-state/useEmptyState.js +1 -1
- package/empty-state/useEmptyState.js.map +1 -1
- package/environment/CreateEnvironmentForm.js +2 -2
- package/environment/CreateEnvironmentForm.js.map +1 -1
- package/environment/EnvVarForm.js +4 -4
- package/environment/EnvVarForm.js.map +1 -1
- package/environment/EnvironmentListPanel.js +9 -9
- package/environment/EnvironmentListPanel.js.map +1 -1
- package/environment/EnvironmentPicker.js +4 -4
- package/environment/EnvironmentPicker.js.map +1 -1
- package/environment/EnvironmentVariableEditor.js +17 -17
- package/environment/EnvironmentVariableEditor.js.map +1 -1
- package/error/ErrorMessage.js +1 -1
- package/error/ErrorMessage.js.map +1 -1
- package/error/SecretFlowErrorGuide.js +1 -1
- package/error/SecretFlowErrorGuide.js.map +1 -1
- package/execution/ApprovalCard.js +8 -8
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ArtifactApplyButton.js +4 -4
- package/execution/ArtifactApplyButton.js.map +1 -1
- package/execution/ArtifactContentBody.js +3 -3
- package/execution/ArtifactContentBody.js.map +1 -1
- package/execution/ArtifactContentRenderer.js +19 -19
- package/execution/ArtifactContentRenderer.js.map +1 -1
- package/execution/ArtifactDocument.js +10 -10
- package/execution/ArtifactDocument.js.map +1 -1
- package/execution/ArtifactFileContent.js +4 -4
- package/execution/ArtifactFileContent.js.map +1 -1
- package/execution/ArtifactPreviewModal.js +11 -11
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/ArtifactRowView.js +2 -2
- package/execution/ArtifactRowView.js.map +1 -1
- package/execution/ArtifactsWidget.js +1 -1
- package/execution/ArtifactsWidget.js.map +1 -1
- package/execution/ContextGauge.js +9 -9
- package/execution/ContextGauge.js.map +1 -1
- package/execution/EmptyChangeNotice.js +1 -1
- package/execution/EmptyChangeNotice.js.map +1 -1
- package/execution/ExecutionPhaseBadge.js +10 -10
- package/execution/ExecutionPhaseBadge.js.map +1 -1
- package/execution/ExecutionProgress.js +1 -1
- package/execution/ExecutionProgress.js.map +1 -1
- package/execution/FileChangeProgressBar.js +3 -3
- package/execution/FileChangeProgressBar.js.map +1 -1
- package/execution/FileChangesView.js +5 -5
- package/execution/FileChangesView.js.map +1 -1
- package/execution/FilePathLink.js +6 -6
- package/execution/FilePathLink.js.map +1 -1
- package/execution/FileReviewAtoms.js +7 -7
- package/execution/FileReviewAtoms.js.map +1 -1
- package/execution/FileReviewCard.js +18 -18
- package/execution/FileReviewCard.js.map +1 -1
- package/execution/FileReviewDock.js +1 -1
- package/execution/FileReviewDock.js.map +1 -1
- package/execution/FollowUpInput.js +3 -3
- package/execution/FollowUpInput.js.map +1 -1
- package/execution/InteractionModeBadge.js +1 -1
- package/execution/InteractionModeBadge.js.map +1 -1
- package/execution/McpToolDetail.js +12 -12
- package/execution/McpToolDetail.js.map +1 -1
- package/execution/MessageAttachments.d.ts +52 -0
- package/execution/MessageAttachments.d.ts.map +1 -0
- package/execution/MessageAttachments.js +142 -0
- package/execution/MessageAttachments.js.map +1 -0
- package/execution/MessageEntry.d.ts +18 -0
- package/execution/MessageEntry.d.ts.map +1 -1
- package/execution/MessageEntry.js +12 -11
- package/execution/MessageEntry.js.map +1 -1
- package/execution/MessageThread.d.ts +15 -2
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +34 -17
- package/execution/MessageThread.js.map +1 -1
- package/execution/PlanArtifactCard.js +8 -8
- package/execution/PlanArtifactCard.js.map +1 -1
- package/execution/PlanCompletionCard.js +2 -2
- package/execution/PlanCompletionCard.js.map +1 -1
- package/execution/PlanDocumentMessage.js +2 -2
- package/execution/PlanDocumentMessage.js.map +1 -1
- package/execution/PlanStreamingCard.js +3 -3
- package/execution/PlanStreamingCard.js.map +1 -1
- package/execution/ResultView.js +17 -17
- package/execution/ResultView.js.map +1 -1
- package/execution/SessionVariablesInput.js +6 -6
- package/execution/SessionVariablesInput.js.map +1 -1
- package/execution/SetupProgress.js +2 -2
- package/execution/SetupProgress.js.map +1 -1
- package/execution/SubAgentSection.js +19 -19
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/SummarizationBadge.js +3 -3
- package/execution/SummarizationBadge.js.map +1 -1
- package/execution/SummarizationCard.js +2 -2
- package/execution/SummarizationCard.js.map +1 -1
- package/execution/TerminalSession.js +2 -2
- package/execution/TerminalSession.js.map +1 -1
- package/execution/ThreadSkeleton.js +1 -1
- package/execution/ThreadSkeleton.js.map +1 -1
- package/execution/TodoCard.js +3 -3
- package/execution/TodoCard.js.map +1 -1
- package/execution/TodoList.js +8 -8
- package/execution/TodoList.js.map +1 -1
- package/execution/ToolArgsView.js +4 -4
- package/execution/ToolArgsView.js.map +1 -1
- package/execution/ToolCallDetail.js +4 -4
- package/execution/ToolCallDetail.js.map +1 -1
- package/execution/ToolCallGroup.js +1 -1
- package/execution/ToolCallGroup.js.map +1 -1
- package/execution/ToolCallItem.js +16 -16
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/ToolRunGroup.js +9 -9
- package/execution/ToolRunGroup.js.map +1 -1
- package/execution/UsageWidget.js +3 -3
- package/execution/UsageWidget.js.map +1 -1
- package/execution/WriteBackCard.js +16 -16
- package/execution/WriteBackCard.js.map +1 -1
- package/execution/WriteBacksWidget.js +1 -1
- package/execution/WriteBacksWidget.js.map +1 -1
- package/execution/index.d.ts +2 -0
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +1 -0
- package/execution/index.js.map +1 -1
- package/execution/tool-rendering-primitives.js +5 -5
- package/execution/tool-rendering-primitives.js.map +1 -1
- package/feedback/StigmerToaster.d.ts.map +1 -1
- package/feedback/StigmerToaster.js +9 -5
- package/feedback/StigmerToaster.js.map +1 -1
- package/file-reference/FileReferenceChipList.js +3 -3
- package/file-reference/FileReferenceChipList.js.map +1 -1
- package/github/GitHubRepoPicker.js +26 -26
- package/github/GitHubRepoPicker.js.map +1 -1
- package/github/decodeGitHubContent.d.ts +10 -5
- package/github/decodeGitHubContent.d.ts.map +1 -1
- package/github/decodeGitHubContent.js +21 -7
- package/github/decodeGitHubContent.js.map +1 -1
- package/github/useGitHubFileReader.d.ts.map +1 -1
- package/github/useGitHubFileReader.js +5 -5
- package/github/useGitHubFileReader.js.map +1 -1
- package/iam-policy/GrantAccessForm.js +2 -2
- package/iam-policy/GrantAccessForm.js.map +1 -1
- package/iam-policy/OrgMembersPanel.js +11 -11
- package/iam-policy/OrgMembersPanel.js.map +1 -1
- package/iam-policy/PeopleWithAccess.js +4 -4
- package/iam-policy/PeopleWithAccess.js.map +1 -1
- package/iam-policy/PrincipalPicker.js +6 -6
- package/iam-policy/PrincipalPicker.js.map +1 -1
- package/iam-policy/ProviderBadge.js +1 -1
- package/iam-policy/ProviderBadge.js.map +1 -1
- package/iam-policy/RoleSelector.js +4 -4
- package/iam-policy/RoleSelector.js.map +1 -1
- package/iam-policy/SharePanel.js +1 -1
- package/iam-policy/SharePanel.js.map +1 -1
- package/identity-provider/CreateIdentityProviderForm.js +6 -6
- package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.js +11 -11
- package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
- package/identity-provider/IdentityProviderListPanel.js +8 -8
- package/identity-provider/IdentityProviderListPanel.js.map +1 -1
- package/identity-provider/IdentityProviderWizard.js +16 -16
- package/identity-provider/IdentityProviderWizard.js.map +1 -1
- package/identity-provider/ProviderPicker.js +11 -11
- package/identity-provider/ProviderPicker.js.map +1 -1
- package/identity-provider/SsoLoginPrompt.js +7 -7
- package/identity-provider/SsoLoginPrompt.js.map +1 -1
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/inline-edit/InlineEditImage.js +5 -5
- package/inline-edit/InlineEditImage.js.map +1 -1
- package/inline-edit/InlineEditKeyValue.js +3 -3
- package/inline-edit/InlineEditKeyValue.js.map +1 -1
- package/inline-edit/InlineEditResourceList.js +8 -8
- package/inline-edit/InlineEditResourceList.js.map +1 -1
- package/inline-edit/InlineEditSelect.js +8 -8
- package/inline-edit/InlineEditSelect.js.map +1 -1
- package/inline-edit/InlineEditText.js +6 -6
- package/inline-edit/InlineEditText.js.map +1 -1
- package/inline-edit/InlineEditTextarea.js +4 -4
- package/inline-edit/InlineEditTextarea.js.map +1 -1
- package/internal/ApprovalPeekBar.js +3 -3
- package/internal/ApprovalPeekBar.js.map +1 -1
- package/internal/BoundedContent.d.ts +1 -1
- package/internal/BoundedContent.d.ts.map +1 -1
- package/internal/BoundedContent.js +2 -2
- package/internal/BoundedContent.js.map +1 -1
- package/internal/CloudFeatureNotice.js +1 -1
- package/internal/CloudFeatureNotice.js.map +1 -1
- package/internal/DecisionButton.js +6 -6
- package/internal/DecisionButton.js.map +1 -1
- package/internal/InCardDecisionError.js +1 -1
- package/internal/InCardDecisionError.js.map +1 -1
- package/internal/JumpToLatestButton.js +3 -3
- package/internal/JumpToLatestButton.js.map +1 -1
- package/internal/MermaidDiagram.js +2 -2
- package/internal/MermaidDiagram.js.map +1 -1
- package/internal/Pagination.js +2 -2
- package/internal/Pagination.js.map +1 -1
- package/internal/ResizableSplit.d.ts +28 -6
- package/internal/ResizableSplit.d.ts.map +1 -1
- package/internal/ResizableSplit.js +18 -4
- package/internal/ResizableSplit.js.map +1 -1
- package/internal/RevealToggle.js +2 -2
- package/internal/RevealToggle.js.map +1 -1
- package/internal/ScrollFade.js +2 -2
- package/internal/ScrollFade.js.map +1 -1
- package/internal/VirtualizedThread.js +2 -2
- package/internal/VirtualizedThread.js.map +1 -1
- package/internal/file-icons/index.js +2 -2
- package/internal/file-icons/index.js.map +1 -1
- package/internal/file-tree/FileTreeNode.js +3 -3
- package/internal/file-tree/FileTreeNode.js.map +1 -1
- package/internal/form-primitives.d.ts +15 -0
- package/internal/form-primitives.d.ts.map +1 -1
- package/internal/form-primitives.js +17 -2
- package/internal/form-primitives.js.map +1 -1
- package/internal/markdown-components.js +23 -23
- package/internal/markdown-components.js.map +1 -1
- package/internal/menu.js +5 -5
- package/internal/menu.js.map +1 -1
- package/internal/scroll-area.js +1 -1
- package/internal/scroll-area.js.map +1 -1
- package/internal/thread-card/ThreadCardShell.js +7 -7
- package/internal/thread-card/ThreadCardShell.js.map +1 -1
- package/internal/thread-card/glyphs.js +2 -2
- package/internal/thread-card/glyphs.js.map +1 -1
- package/internal/tooltip.d.ts.map +1 -1
- package/internal/tooltip.js +4 -6
- package/internal/tooltip.js.map +1 -1
- package/invitation/InvitationCreatedAlert.js +1 -1
- package/invitation/InvitationCreatedAlert.js.map +1 -1
- package/invitation/InvitationManager.js +23 -23
- package/invitation/InvitationManager.js.map +1 -1
- package/invitation/InvitationRedemption.js +12 -12
- package/invitation/InvitationRedemption.js.map +1 -1
- package/library/ResourceCountCard.js +4 -4
- package/library/ResourceCountCard.js.map +1 -1
- package/library/ScopeToggle.js +4 -4
- package/library/ScopeToggle.js.map +1 -1
- package/library/VisibilityOptionRow.d.ts +1 -1
- package/library/VisibilityOptionRow.d.ts.map +1 -1
- package/library/VisibilityOptionRow.js +22 -22
- package/library/VisibilityOptionRow.js.map +1 -1
- package/library/VisibilitySelector.js +5 -5
- package/library/VisibilitySelector.js.map +1 -1
- package/manifest/ApplyManifestDialog.js +6 -6
- package/manifest/ApplyManifestDialog.js.map +1 -1
- package/manifest/EditResourceYamlDialog.js +2 -2
- package/manifest/EditResourceYamlDialog.js.map +1 -1
- package/manifest/RedactedSecretsNotice.js +1 -1
- package/manifest/RedactedSecretsNotice.js.map +1 -1
- package/manifest/YamlEditor.js +1 -1
- package/manifest/YamlEditor.js.map +1 -1
- package/mcp-server/McpServerConfigPanel.js +22 -22
- package/mcp-server/McpServerConfigPanel.js.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +43 -17
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +112 -63
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/McpServerPicker.js +16 -16
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/McpToolSelector.js +4 -4
- package/mcp-server/McpToolSelector.js.map +1 -1
- package/mcp-server/OAuthAppForm.js +2 -2
- package/mcp-server/OAuthAppForm.js.map +1 -1
- package/mcp-server/OAuthCallbackHandler.js +4 -4
- package/mcp-server/OAuthCallbackHandler.js.map +1 -1
- package/mcp-server/OAuthRequiredNotice.js +1 -1
- package/mcp-server/OAuthRequiredNotice.js.map +1 -1
- package/mcp-server/StdioSandboxNotice.js +1 -1
- package/mcp-server/StdioSandboxNotice.js.map +1 -1
- package/mcp-server/index.d.ts +1 -1
- package/mcp-server/index.d.ts.map +1 -1
- package/mcp-server/index.js +1 -1
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/steps/EnvironmentAuthStep.js +4 -4
- package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -1
- package/mcp-server/steps/IdentityTransportStep.js +8 -8
- package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
- package/mcp-server/steps/ReviewStep.js +3 -3
- package/mcp-server/steps/ReviewStep.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts +29 -0
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.js +49 -10
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
- package/models/HarnessSelector.js +8 -8
- package/models/HarnessSelector.js.map +1 -1
- package/models/ModelSelector.js +11 -11
- package/models/ModelSelector.js.map +1 -1
- package/oauth-app/CreateOAuthAppForm.js +4 -4
- package/oauth-app/CreateOAuthAppForm.js.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.js +8 -8
- package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
- package/oauth-app/OAuthAppListPanel.js +6 -6
- package/oauth-app/OAuthAppListPanel.js.map +1 -1
- package/organization/CreateOrganizationForm.js +4 -4
- package/organization/CreateOrganizationForm.js.map +1 -1
- package/organization/OrgProfilePanel.js +10 -10
- package/organization/OrgProfilePanel.js.map +1 -1
- package/organization/OrgSwitcher.js +5 -5
- package/organization/OrgSwitcher.js.map +1 -1
- package/package.json +4 -4
- package/platform-client/CreatePlatformClientForm.js +5 -5
- package/platform-client/CreatePlatformClientForm.js.map +1 -1
- package/platform-client/PlatformClientDetailPanel.js +8 -8
- package/platform-client/PlatformClientDetailPanel.js.map +1 -1
- package/platform-client/PlatformClientListPanel.js +10 -10
- package/platform-client/PlatformClientListPanel.js.map +1 -1
- package/platform-client/PlatformClientSecretAlert.js +2 -2
- package/platform-client/PlatformClientSecretAlert.js.map +1 -1
- package/portal-container.d.ts +34 -9
- package/portal-container.d.ts.map +1 -1
- package/portal-container.js +33 -8
- package/portal-container.js.map +1 -1
- package/pricing-governance/BaselineEditor.js +5 -5
- package/pricing-governance/BaselineEditor.js.map +1 -1
- package/pricing-governance/ModelCatalogPanel.js +5 -5
- package/pricing-governance/ModelCatalogPanel.js.map +1 -1
- package/pricing-governance/ModelGovernanceDetail.js +7 -7
- package/pricing-governance/ModelGovernanceDetail.js.map +1 -1
- package/pricing-governance/OperatorAccessNotice.js +1 -1
- package/pricing-governance/OperatorAccessNotice.js.map +1 -1
- package/pricing-governance/PricingGovernanceConsole.js +8 -8
- package/pricing-governance/PricingGovernanceConsole.js.map +1 -1
- package/pricing-governance/PricingGovernancePanel.js +4 -4
- package/pricing-governance/PricingGovernancePanel.js.map +1 -1
- package/pricing-governance/RetireConfirm.js +1 -1
- package/pricing-governance/RetireConfirm.js.map +1 -1
- package/pricing-governance/governance-primitives.js +6 -6
- package/pricing-governance/governance-primitives.js.map +1 -1
- package/resource-creation/CreationPicker.js +7 -7
- package/resource-creation/CreationPicker.js.map +1 -1
- package/resource-creation/StepIndicator.js +4 -4
- package/resource-creation/StepIndicator.js.map +1 -1
- package/resource-creation/TemplateCard.js +15 -15
- package/resource-creation/TemplateCard.js.map +1 -1
- package/resource-creation/TemplateGallery.js +5 -5
- package/resource-creation/TemplateGallery.js.map +1 -1
- package/resource-creation/WizardNav.js +2 -2
- package/resource-creation/WizardNav.js.map +1 -1
- package/resource-creation/WizardShell.js +2 -2
- package/resource-creation/WizardShell.js.map +1 -1
- package/resource-detail/ConfirmDialog.js +3 -3
- package/resource-detail/ConfirmDialog.js.map +1 -1
- package/resource-detail/ResourceActionBar.js +2 -2
- package/resource-detail/ResourceActionBar.js.map +1 -1
- package/resource-detail/ResourceDetailShell.js +3 -3
- package/resource-detail/ResourceDetailShell.js.map +1 -1
- package/resource-detail/Section.js +1 -1
- package/resource-detail/Section.js.map +1 -1
- package/resource-workbench/components/BulkActionBar.js +4 -4
- package/resource-workbench/components/BulkActionBar.js.map +1 -1
- package/resource-workbench/components/ColumnHeader.js +3 -3
- package/resource-workbench/components/ColumnHeader.js.map +1 -1
- package/resource-workbench/components/FilterBar.js +3 -3
- package/resource-workbench/components/FilterBar.js.map +1 -1
- package/resource-workbench/components/ResourceAvatar.js +18 -18
- package/resource-workbench/components/ResourceAvatar.js.map +1 -1
- package/resource-workbench/components/ResourceCards.js +2 -2
- package/resource-workbench/components/ResourceCards.js.map +1 -1
- package/resource-workbench/components/ResourceInspector.js +1 -1
- package/resource-workbench/components/ResourceInspector.js.map +1 -1
- package/resource-workbench/components/ResourceList.js +2 -2
- package/resource-workbench/components/ResourceList.js.map +1 -1
- package/resource-workbench/components/ResourceTable.js +5 -5
- package/resource-workbench/components/ResourceTable.js.map +1 -1
- package/resource-workbench/components/ResourceWorkbench.js +11 -11
- package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
- package/resource-workbench/components/SelectionCheckbox.js +1 -1
- package/resource-workbench/components/SelectionCheckbox.js.map +1 -1
- package/resource-workbench/components/StatusBadge.js +16 -16
- package/resource-workbench/components/StatusBadge.js.map +1 -1
- package/resource-workbench/components/ViewSwitcher.js +4 -4
- package/resource-workbench/components/ViewSwitcher.js.map +1 -1
- package/schedule/CadenceField.js +14 -14
- package/schedule/CadenceField.js.map +1 -1
- package/schedule/ScheduleDetailView.js +39 -39
- package/schedule/ScheduleDetailView.js.map +1 -1
- package/schedule/ScheduleForm.js +9 -9
- package/schedule/ScheduleForm.js.map +1 -1
- package/schedule/ScheduleRowActions.js +1 -1
- package/schedule/ScheduleRowActions.js.map +1 -1
- package/schedule/ScheduleRunsTable.js +17 -17
- package/schedule/ScheduleRunsTable.js.map +1 -1
- package/schedule/TimeZoneField.js +5 -5
- package/schedule/TimeZoneField.js.map +1 -1
- package/schedule/scheduleColumns.js +5 -5
- package/schedule/scheduleColumns.js.map +1 -1
- package/session/NewSessionViewer.js +3 -3
- package/session/NewSessionViewer.js.map +1 -1
- package/session/PlanEditor.js +9 -9
- package/session/PlanEditor.js.map +1 -1
- package/session/PlanStreamingDocument.js +2 -2
- package/session/PlanStreamingDocument.js.map +1 -1
- package/session/SessionViewer.js +21 -21
- package/session/SessionViewer.js.map +1 -1
- package/session/SessionViewerLayout.d.ts +11 -8
- package/session/SessionViewerLayout.d.ts.map +1 -1
- package/session/SessionViewerLayout.js +1 -1
- package/session/SessionViewerLayout.js.map +1 -1
- package/session/facets/ArtifactsTab.js +2 -2
- package/session/facets/ArtifactsTab.js.map +1 -1
- package/session/facets/ChangesTab.js +3 -3
- package/session/facets/ChangesTab.js.map +1 -1
- package/session/facets/SetupTab.js +11 -11
- package/session/facets/SetupTab.js.map +1 -1
- package/session/facets/UsageTab.js +1 -1
- package/session/facets/UsageTab.js.map +1 -1
- package/session/useSessionConversation.d.ts +8 -0
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +12 -2
- package/session/useSessionConversation.js.map +1 -1
- package/settings/ApiKeysSection.js +1 -1
- package/settings/ApiKeysSection.js.map +1 -1
- package/settings/ChannelAppsSection.js +1 -1
- package/settings/ChannelAppsSection.js.map +1 -1
- package/settings/EnvironmentsSection.js +4 -4
- package/settings/EnvironmentsSection.js.map +1 -1
- package/settings/IdentityProvidersSection.js +1 -1
- package/settings/IdentityProvidersSection.js.map +1 -1
- package/settings/InvitationsSection.js +1 -1
- package/settings/InvitationsSection.js.map +1 -1
- package/settings/MembersSection.js +1 -1
- package/settings/MembersSection.js.map +1 -1
- package/settings/OAuthAppsSection.js +1 -1
- package/settings/OAuthAppsSection.js.map +1 -1
- package/settings/OrgProfileSection.js +1 -1
- package/settings/OrgProfileSection.js.map +1 -1
- package/settings/PlatformClientsSection.js +1 -1
- package/settings/PlatformClientsSection.js.map +1 -1
- package/settings/UsageSection.js +1 -1
- package/settings/UsageSection.js.map +1 -1
- package/sharing/AgentShareList.js +5 -5
- package/sharing/AgentShareList.js.map +1 -1
- package/sharing/ShareAgentDialog.js +30 -30
- package/sharing/ShareAgentDialog.js.map +1 -1
- package/sharing/SharedAgentChat.js +6 -6
- package/sharing/SharedAgentChat.js.map +1 -1
- package/sidebar/SettingsSidebar.js +5 -5
- package/sidebar/SettingsSidebar.js.map +1 -1
- package/sidebar/WorkspaceSidebar.js +13 -13
- package/sidebar/WorkspaceSidebar.js.map +1 -1
- package/sidebar/chrome.js +5 -5
- package/sidebar/chrome.js.map +1 -1
- package/skill/SkillDetailView.js +13 -13
- package/skill/SkillDetailView.js.map +1 -1
- package/skill/SkillDiffDialog.js +2 -2
- package/skill/SkillDiffDialog.js.map +1 -1
- package/skill/SkillFileBrowser.js +4 -4
- package/skill/SkillFileBrowser.js.map +1 -1
- package/skill/SkillPicker.js +10 -10
- package/skill/SkillPicker.js.map +1 -1
- package/skill/SkillUploader.js +8 -8
- package/skill/SkillUploader.js.map +1 -1
- package/src/__tests__/helpers/compile-sdk-styles.ts +33 -0
- package/src/__tests__/portal-container.test.tsx +97 -0
- package/src/__tests__/preflight-parity.layout.test.tsx +156 -0
- package/src/__tests__/scope-unprefixed.test.ts +86 -0
- package/src/__tests__/styles-border-layer-invariant.test.ts +86 -58
- package/src/__tests__/styles-dist-isolation.test.ts +195 -0
- package/src/__tests__/styles-host-isolation.layout.test.tsx +204 -0
- package/src/access/ManageAccessButton.tsx +3 -3
- package/src/access/ManageAccessDialog.tsx +19 -19
- package/src/action-menu/ActionMenu.tsx +8 -8
- package/src/activity/useRecentActivity.ts +6 -1
- package/src/agent/AgentDetailView.tsx +112 -112
- package/src/agent/AgentPicker.tsx +26 -26
- package/src/agent/steps/CapabilitiesStep.tsx +36 -36
- package/src/agent/steps/IdentityStep.tsx +45 -45
- package/src/agent/steps/ReviewStep.tsx +18 -18
- package/src/agent-instance/AgentInstanceDetailPanel.tsx +45 -45
- package/src/agent-instance/AgentInstanceList.tsx +36 -36
- package/src/agent-instance/CreateAgentInstanceDialog.tsx +35 -35
- package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +0 -6
- package/src/api-key/ApiKeyCreatedAlert.tsx +15 -15
- package/src/api-key/ApiKeyListPanel.tsx +28 -28
- package/src/api-key/CreateApiKeyForm.tsx +25 -25
- package/src/attachment/AttachmentChipList.tsx +321 -75
- package/src/attachment/AttachmentImageLightbox.tsx +154 -0
- package/src/attachment/__tests__/AttachmentChipList.test.tsx +240 -17
- package/src/attachment/attachment-utils.ts +8 -5
- package/src/attachment/useObjectUrl.ts +28 -0
- package/src/billing/AutoRechargeCard.tsx +26 -26
- package/src/billing/BillingSection.tsx +14 -14
- package/src/billing/CreditBalanceCard.tsx +7 -7
- package/src/billing/CreditLedgerTable.tsx +27 -27
- package/src/billing/CreditPackGrid.tsx +13 -13
- package/src/billing/LowBalanceBanner.tsx +6 -6
- package/src/billing/PaymentMethodCard.tsx +13 -13
- package/src/button/Button.tsx +10 -10
- package/src/button/__tests__/Button.test.tsx +9 -9
- package/src/channel/AgentChannelsPanel.tsx +33 -33
- package/src/channel/ChannelConversationsDialog.tsx +21 -21
- package/src/channel/ChannelCredentialsDialog.tsx +13 -13
- package/src/channel/ChannelTemplatesDialog.tsx +34 -34
- package/src/channel/ChannelToolCredentials.tsx +5 -5
- package/src/channel/ConnectSlackDialog.tsx +48 -48
- package/src/channel/ConnectWhatsAppDialog.tsx +42 -42
- package/src/channel/__tests__/AgentChannelsPanel.test.tsx +4 -9
- package/src/channel/connect/ServingAppSection.tsx +14 -14
- package/src/channel/connect/ToolCredentialsSection.tsx +5 -5
- package/src/channel/connect/VerbatimRefusal.tsx +1 -1
- package/src/channel/connect/icons.tsx +1 -1
- package/src/channel-app/ChannelAppDetailPanel.tsx +44 -44
- package/src/channel-app/ChannelAppListPanel.tsx +15 -15
- package/src/channel-app/CreateChannelAppForm.tsx +37 -37
- package/src/channel-app/internal.tsx +21 -21
- package/src/composer/ComposerToolbar.tsx +15 -15
- package/src/composer/ConfigureMenu.tsx +22 -22
- package/src/composer/ContextChip.tsx +12 -12
- package/src/composer/ContextPopover.tsx +8 -8
- package/src/composer/InteractionModePicker.tsx +14 -14
- package/src/composer/SessionComposer.tsx +24 -24
- package/src/composer/__tests__/SessionComposer-lockAgent.test.tsx +16 -15
- package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +2 -7
- package/src/composer/icons.tsx +5 -5
- package/src/conversation/ConversationAttentionBanner.tsx +6 -6
- package/src/conversation/ConversationComposer.tsx +13 -13
- package/src/conversation/ConversationControlBanner.tsx +11 -11
- package/src/conversation/ConversationListPane.tsx +38 -38
- package/src/conversation/ConversationMediaAttachment.tsx +308 -0
- package/src/conversation/ConversationTimelineView.tsx +102 -52
- package/src/conversation/ConversationsWorkbench.tsx +12 -10
- package/src/conversation/__tests__/ConversationComposer.test.tsx +1 -1
- package/src/conversation/__tests__/ConversationTimelineView.test.tsx +233 -6
- package/src/conversation/__tests__/a11y/conversation-surfaces.a11y.test.tsx +67 -1
- package/src/conversation/__tests__/useConversationMediaUrl.test.tsx +66 -0
- package/src/conversation/conversationPresentation.ts +10 -3
- package/src/conversation/index.ts +6 -0
- package/src/conversation/useConversationMediaUrl.ts +121 -0
- package/src/cursor-accounts/CursorAccountEditor.tsx +13 -13
- package/src/cursor-accounts/CursorAccountsAccessNotice.tsx +3 -3
- package/src/cursor-accounts/CursorAccountsConsole.tsx +35 -35
- package/src/cursor-accounts/MemberCoverageTable.tsx +29 -29
- package/src/cursor-accounts/MemberKeysPanel.tsx +17 -17
- package/src/cursor-accounts/badges.tsx +4 -4
- package/src/dashboard/DashboardFailedRuns.tsx +17 -17
- package/src/dashboard/DashboardKPICards.tsx +12 -12
- package/src/dashboard/OperationalDashboard.tsx +2 -2
- package/src/datastore/CollectionRecordsBrowser.tsx +35 -35
- package/src/datastore/CollectionSchemaView.tsx +43 -43
- package/src/datastore/DatastoreDetailView.tsx +18 -18
- package/src/datastore/DatastoreSyncReport.tsx +13 -13
- package/src/datastore/DeleteDatastoreDialog.tsx +21 -21
- package/src/datastore/FieldValueControl.tsx +7 -7
- package/src/datastore/RecordFilterBuilder.tsx +35 -35
- package/src/datastore/RecordFormPanel.tsx +35 -35
- package/src/dependency-graph/DependencyGraph.tsx +6 -6
- package/src/dependency-graph/DependencyTreeNode.tsx +21 -21
- package/src/empty-state/EmptyState.tsx +7 -7
- package/src/empty-state/useEmptyState.ts +1 -1
- package/src/environment/CreateEnvironmentForm.tsx +24 -24
- package/src/environment/EnvVarForm.tsx +40 -40
- package/src/environment/EnvironmentListPanel.tsx +19 -19
- package/src/environment/EnvironmentPicker.tsx +22 -22
- package/src/environment/EnvironmentVariableEditor.tsx +53 -53
- package/src/error/ErrorMessage.tsx +22 -22
- package/src/error/SecretFlowErrorGuide.tsx +19 -19
- package/src/execution/ApprovalCard.tsx +19 -19
- package/src/execution/ArtifactApplyButton.tsx +7 -7
- package/src/execution/ArtifactContentBody.tsx +11 -11
- package/src/execution/ArtifactContentRenderer.tsx +29 -29
- package/src/execution/ArtifactDocument.tsx +22 -22
- package/src/execution/ArtifactFileContent.tsx +6 -6
- package/src/execution/ArtifactPreviewModal.tsx +33 -33
- package/src/execution/ArtifactRowView.tsx +13 -13
- package/src/execution/ArtifactsWidget.tsx +4 -4
- package/src/execution/ContextGauge.tsx +24 -24
- package/src/execution/EmptyChangeNotice.tsx +1 -1
- package/src/execution/ExecutionPhaseBadge.tsx +12 -12
- package/src/execution/ExecutionProgress.tsx +2 -2
- package/src/execution/FileChangeProgressBar.tsx +9 -9
- package/src/execution/FileChangesView.tsx +12 -12
- package/src/execution/FilePathLink.tsx +10 -10
- package/src/execution/FileReviewAtoms.tsx +9 -9
- package/src/execution/FileReviewCard.tsx +37 -37
- package/src/execution/FileReviewDock.tsx +2 -2
- package/src/execution/FollowUpInput.tsx +9 -9
- package/src/execution/InteractionModeBadge.tsx +2 -2
- package/src/execution/McpToolDetail.tsx +28 -28
- package/src/execution/MessageAttachments.tsx +364 -0
- package/src/execution/MessageEntry.tsx +60 -22
- package/src/execution/MessageThread.tsx +72 -32
- package/src/execution/PlanArtifactCard.tsx +22 -22
- package/src/execution/PlanCompletionCard.tsx +10 -10
- package/src/execution/PlanDocumentMessage.tsx +6 -6
- package/src/execution/PlanStreamingCard.tsx +11 -11
- package/src/execution/ResultView.tsx +44 -44
- package/src/execution/SessionVariablesInput.tsx +38 -38
- package/src/execution/SetupProgress.tsx +5 -5
- package/src/execution/SubAgentSection.tsx +42 -42
- package/src/execution/SummarizationBadge.tsx +15 -15
- package/src/execution/SummarizationCard.tsx +11 -11
- package/src/execution/TerminalSession.tsx +7 -7
- package/src/execution/ThreadSkeleton.tsx +10 -10
- package/src/execution/TodoCard.tsx +11 -11
- package/src/execution/TodoList.tsx +13 -13
- package/src/execution/ToolArgsView.tsx +8 -8
- package/src/execution/ToolCallDetail.tsx +7 -7
- package/src/execution/ToolCallGroup.tsx +1 -1
- package/src/execution/ToolCallItem.tsx +28 -28
- package/src/execution/ToolRunGroup.tsx +16 -16
- package/src/execution/UsageWidget.tsx +12 -12
- package/src/execution/WriteBackCard.tsx +30 -30
- package/src/execution/WriteBacksWidget.tsx +4 -4
- package/src/execution/__tests__/ApprovalCard.test.tsx +12 -12
- package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +3 -3
- package/src/execution/__tests__/FileChangesView.test.tsx +2 -2
- package/src/execution/__tests__/FilePathLink.test.tsx +1 -1
- package/src/execution/__tests__/FileReviewDock.test.tsx +1 -1
- package/src/execution/__tests__/MessageEntry-attachments.test.tsx +228 -0
- package/src/execution/__tests__/MessageThread.test.tsx +1 -1
- package/src/execution/__tests__/TerminalSession.test.tsx +1 -1
- package/src/execution/__tests__/ToolCallDetail.test.tsx +1 -1
- package/src/execution/__tests__/ToolCallGroup.test.tsx +4 -4
- package/src/execution/__tests__/ToolCallItem.test.tsx +9 -9
- package/src/execution/__tests__/ToolRunGroup.test.tsx +6 -6
- package/src/execution/__tests__/WriteBackCard.test.tsx +4 -4
- package/src/execution/__tests__/buildThreadItems-attachments.test.ts +174 -0
- package/src/execution/__tests__/message-entry.test.tsx +8 -8
- package/src/execution/__tests__/thread-memoization.test.ts +2 -2
- package/src/execution/__tests__/thread-skeleton.test.tsx +1 -1
- package/src/execution/__tests__/virtualized-thread.test.tsx +1 -1
- package/src/execution/index.ts +6 -0
- package/src/execution/tool-rendering-primitives.tsx +12 -12
- package/src/feedback/StigmerToaster.tsx +8 -5
- package/src/file-reference/FileReferenceChipList.tsx +5 -5
- package/src/github/GitHubRepoPicker.tsx +60 -60
- package/src/github/__tests__/decodeGitHubContent.test.ts +42 -1
- package/src/github/decodeGitHubContent.ts +22 -5
- package/src/github/useGitHubFileReader.ts +13 -3
- package/src/iam-policy/GrantAccessForm.tsx +11 -11
- package/src/iam-policy/OrgMembersPanel.tsx +48 -48
- package/src/iam-policy/PeopleWithAccess.tsx +23 -23
- package/src/iam-policy/PrincipalPicker.tsx +34 -34
- package/src/iam-policy/ProviderBadge.tsx +2 -2
- package/src/iam-policy/RoleSelector.tsx +9 -9
- package/src/iam-policy/SharePanel.tsx +5 -5
- package/src/identity-provider/CreateIdentityProviderForm.tsx +47 -47
- package/src/identity-provider/IdentityProviderDetailPanel.tsx +73 -73
- package/src/identity-provider/IdentityProviderListPanel.tsx +33 -33
- package/src/identity-provider/IdentityProviderWizard.tsx +72 -72
- package/src/identity-provider/ProviderPicker.tsx +17 -17
- package/src/identity-provider/SsoLoginPrompt.tsx +39 -39
- package/src/index.ts +6 -0
- package/src/inline-edit/InlineEditImage.tsx +26 -26
- package/src/inline-edit/InlineEditKeyValue.tsx +44 -44
- package/src/inline-edit/InlineEditResourceList.tsx +48 -48
- package/src/inline-edit/InlineEditSelect.tsx +22 -22
- package/src/inline-edit/InlineEditText.tsx +29 -29
- package/src/inline-edit/InlineEditTextarea.tsx +27 -27
- package/src/internal/ApprovalPeekBar.tsx +9 -9
- package/src/internal/BoundedContent.tsx +3 -3
- package/src/internal/CloudFeatureNotice.tsx +3 -3
- package/src/internal/DecisionButton.tsx +10 -10
- package/src/internal/InCardDecisionError.tsx +1 -1
- package/src/internal/JumpToLatestButton.tsx +9 -9
- package/src/internal/MermaidDiagram.tsx +5 -5
- package/src/internal/Pagination.tsx +5 -5
- package/src/internal/ResizableSplit.tsx +61 -20
- package/src/internal/RevealToggle.tsx +5 -5
- package/src/internal/ScrollFade.tsx +2 -2
- package/src/internal/VirtualizedThread.tsx +6 -6
- package/src/internal/__tests__/BoundedContent.test.tsx +1 -1
- package/src/internal/__tests__/DecisionButton.test.tsx +14 -14
- package/src/internal/__tests__/ResizableSplit.layout.test.tsx +136 -0
- package/src/internal/__tests__/ResizableSplit.test.tsx +49 -2
- package/src/internal/__tests__/ThreadCardShell.test.tsx +4 -4
- package/src/internal/__tests__/markdown-components.test.tsx +2 -2
- package/src/internal/__tests__/thread-animation.test.tsx +6 -6
- package/src/internal/file-icons/index.tsx +2 -2
- package/src/internal/file-tree/FileTreeNode.tsx +9 -9
- package/src/internal/file-tree/__tests__/FileTreeNode-explorer.test.tsx +1 -1
- package/src/internal/form-primitives.tsx +22 -6
- package/src/internal/markdown-components.tsx +24 -24
- package/src/internal/menu.tsx +18 -18
- package/src/internal/scroll-area.tsx +6 -6
- package/src/internal/thread-card/ThreadCardShell.tsx +10 -10
- package/src/internal/thread-card/glyphs.tsx +3 -3
- package/src/internal/tooltip.tsx +9 -11
- package/src/invitation/InvitationCreatedAlert.tsx +15 -15
- package/src/invitation/InvitationManager.tsx +79 -79
- package/src/invitation/InvitationRedemption.tsx +49 -49
- package/src/library/ResourceCountCard.tsx +7 -7
- package/src/library/ScopeToggle.tsx +7 -7
- package/src/library/VisibilityOptionRow.tsx +30 -30
- package/src/library/VisibilitySelector.tsx +19 -19
- package/src/library/__tests__/VisibilitySelector.test.tsx +0 -6
- package/src/manifest/ApplyManifestDialog.tsx +36 -36
- package/src/manifest/EditResourceYamlDialog.tsx +32 -32
- package/src/manifest/RedactedSecretsNotice.tsx +2 -2
- package/src/manifest/YamlEditor.tsx +1 -1
- package/src/mcp-server/McpServerConfigPanel.tsx +70 -70
- package/src/mcp-server/McpServerConnectDialog.tsx +80 -53
- package/src/mcp-server/McpServerDetailView.tsx +325 -224
- package/src/mcp-server/McpServerPicker.tsx +50 -50
- package/src/mcp-server/McpToolSelector.tsx +26 -26
- package/src/mcp-server/OAuthAppForm.tsx +32 -32
- package/src/mcp-server/OAuthCallbackHandler.tsx +11 -11
- package/src/mcp-server/OAuthRequiredNotice.tsx +3 -3
- package/src/mcp-server/StdioSandboxNotice.tsx +3 -3
- package/src/mcp-server/__tests__/McpServerDetailView.test.tsx +162 -7
- package/src/mcp-server/__tests__/useMcpServerOAuthConnect.test.tsx +159 -0
- package/src/mcp-server/index.ts +4 -1
- package/src/mcp-server/steps/EnvironmentAuthStep.tsx +71 -71
- package/src/mcp-server/steps/IdentityTransportStep.tsx +94 -94
- package/src/mcp-server/steps/ReviewStep.tsx +17 -17
- package/src/mcp-server/useMcpServerOAuthConnect.ts +65 -10
- package/src/models/HarnessSelector.tsx +8 -8
- package/src/models/ModelSelector.tsx +58 -58
- package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +2 -7
- package/src/oauth-app/CreateOAuthAppForm.tsx +28 -28
- package/src/oauth-app/OAuthAppDetailPanel.tsx +51 -51
- package/src/oauth-app/OAuthAppListPanel.tsx +14 -14
- package/src/organization/CreateOrganizationForm.tsx +37 -37
- package/src/organization/OrgProfilePanel.tsx +65 -65
- package/src/organization/OrgSwitcher.tsx +33 -33
- package/src/platform-client/CreatePlatformClientForm.tsx +59 -59
- package/src/platform-client/PlatformClientDetailPanel.tsx +107 -107
- package/src/platform-client/PlatformClientListPanel.tsx +38 -38
- package/src/platform-client/PlatformClientSecretAlert.tsx +18 -18
- package/src/portal-container.ts +36 -9
- package/src/pricing-governance/BaselineEditor.tsx +29 -29
- package/src/pricing-governance/ModelCatalogPanel.tsx +28 -28
- package/src/pricing-governance/ModelGovernanceDetail.tsx +35 -35
- package/src/pricing-governance/OperatorAccessNotice.tsx +3 -3
- package/src/pricing-governance/PricingGovernanceConsole.tsx +31 -31
- package/src/pricing-governance/PricingGovernancePanel.tsx +19 -19
- package/src/pricing-governance/RetireConfirm.tsx +7 -7
- package/src/pricing-governance/governance-primitives.tsx +12 -12
- package/src/resource-creation/CreationPicker.tsx +23 -23
- package/src/resource-creation/StepIndicator.tsx +17 -17
- package/src/resource-creation/TemplateCard.tsx +23 -23
- package/src/resource-creation/TemplateGallery.tsx +13 -13
- package/src/resource-creation/WizardNav.tsx +19 -19
- package/src/resource-creation/WizardShell.tsx +7 -7
- package/src/resource-detail/ConfirmDialog.tsx +16 -16
- package/src/resource-detail/ResourceActionBar.tsx +6 -6
- package/src/resource-detail/ResourceDetailShell.tsx +14 -14
- package/src/resource-detail/Section.tsx +10 -10
- package/src/resource-workbench/components/BulkActionBar.tsx +13 -13
- package/src/resource-workbench/components/ColumnHeader.tsx +9 -9
- package/src/resource-workbench/components/FilterBar.tsx +9 -9
- package/src/resource-workbench/components/ResourceAvatar.tsx +19 -19
- package/src/resource-workbench/components/ResourceCards.tsx +8 -8
- package/src/resource-workbench/components/ResourceInspector.tsx +8 -8
- package/src/resource-workbench/components/ResourceList.tsx +7 -7
- package/src/resource-workbench/components/ResourceTable.tsx +12 -12
- package/src/resource-workbench/components/ResourceWorkbench.tsx +42 -42
- package/src/resource-workbench/components/SelectionCheckbox.tsx +2 -2
- package/src/resource-workbench/components/StatusBadge.tsx +17 -17
- package/src/resource-workbench/components/ViewSwitcher.tsx +7 -7
- package/src/schedule/CadenceField.tsx +36 -36
- package/src/schedule/ScheduleDetailView.tsx +105 -105
- package/src/schedule/ScheduleForm.tsx +49 -49
- package/src/schedule/ScheduleRowActions.tsx +4 -4
- package/src/schedule/ScheduleRunsTable.tsx +43 -43
- package/src/schedule/TimeZoneField.tsx +12 -12
- package/src/schedule/__tests__/scheduleCreation.test.tsx +0 -7
- package/src/schedule/scheduleColumns.tsx +7 -7
- package/src/session/NewSessionViewer.tsx +5 -5
- package/src/session/PlanEditor.tsx +37 -37
- package/src/session/PlanStreamingDocument.tsx +8 -8
- package/src/session/SessionViewer.tsx +49 -48
- package/src/session/SessionViewerLayout.tsx +14 -11
- package/src/session/__tests__/NewSessionViewer.test.tsx +4 -4
- package/src/session/__tests__/PlanEditor.test.tsx +2 -2
- package/src/session/__tests__/SessionViewerLayout.test.tsx +20 -8
- package/src/session/__tests__/useSessionConversation.test.tsx +62 -0
- package/src/session/facets/ArtifactsTab.tsx +3 -3
- package/src/session/facets/ChangesTab.tsx +5 -5
- package/src/session/facets/SetupTab.tsx +26 -26
- package/src/session/facets/UsageTab.tsx +2 -2
- package/src/session/useSessionConversation.ts +21 -2
- package/src/settings/ApiKeysSection.tsx +6 -6
- package/src/settings/ChannelAppsSection.tsx +6 -6
- package/src/settings/EnvironmentsSection.tsx +15 -15
- package/src/settings/IdentityProvidersSection.tsx +7 -7
- package/src/settings/InvitationsSection.tsx +4 -4
- package/src/settings/MembersSection.tsx +5 -5
- package/src/settings/OAuthAppsSection.tsx +6 -6
- package/src/settings/OrgProfileSection.tsx +3 -3
- package/src/settings/PlatformClientsSection.tsx +7 -7
- package/src/settings/UsageSection.tsx +3 -3
- package/src/sharing/AgentShareList.tsx +39 -39
- package/src/sharing/ShareAgentDialog.tsx +149 -149
- package/src/sharing/SharedAgentChat.tsx +24 -24
- package/src/sharing/__tests__/AgentShareList.test.tsx +0 -7
- package/src/sidebar/SettingsSidebar.tsx +7 -7
- package/src/sidebar/WorkspaceSidebar.tsx +25 -25
- package/src/sidebar/__tests__/SettingsSidebar.test.tsx +3 -7
- package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +4 -11
- package/src/sidebar/chrome.tsx +16 -16
- package/src/skill/SkillDetailView.tsx +54 -54
- package/src/skill/SkillDiffDialog.tsx +25 -25
- package/src/skill/SkillFileBrowser.tsx +22 -22
- package/src/skill/SkillPicker.tsx +28 -28
- package/src/skill/SkillUploader.tsx +67 -67
- package/src/styles.css +136 -15
- package/src/switch/Switch.tsx +9 -9
- package/src/switch/__tests__/Switch.test.tsx +3 -3
- package/src/tabs/Tabs.tsx +11 -11
- package/src/usage/AgentBreakdownList.tsx +18 -18
- package/src/usage/CreditRunwayIndicator.tsx +4 -4
- package/src/usage/ExportButton.tsx +8 -8
- package/src/usage/HarnessSplitCard.tsx +14 -14
- package/src/usage/OrgUsagePanel.tsx +71 -71
- package/src/user/UserMenu.tsx +13 -13
- package/src/version-history/DiffFileList.tsx +13 -13
- package/src/version-history/DiffSummary.tsx +3 -3
- package/src/version-history/DiffViewer.tsx +14 -14
- package/src/version-history/MultiFileDiffView.tsx +6 -6
- package/src/version-history/UnifiedDiffView.tsx +4 -4
- package/src/version-history/VersionTimeline.tsx +21 -21
- package/src/version-history/VersionTimelineEntry.tsx +28 -28
- package/src/version-history/__tests__/UnifiedDiffView.test.tsx +2 -2
- package/src/workflow/ApprovalFormBuilder.tsx +48 -48
- package/src/workflow/BranchConditionBuilder.tsx +21 -21
- package/src/workflow/CanvasContextMenu.tsx +10 -10
- package/src/workflow/CanvasTransitionEdge.tsx +16 -16
- package/src/workflow/CostByWorkflowChart.tsx +18 -18
- package/src/workflow/ExecutionActiveTaskIndicator.tsx +13 -13
- package/src/workflow/ExecutionSummaryWidget.tsx +29 -29
- package/src/workflow/ExecutionTrendChart.tsx +25 -25
- package/src/workflow/FailedRunsWidget.tsx +14 -14
- package/src/workflow/PendingApprovalsWidget.tsx +19 -19
- package/src/workflow/TaskConfigForm.tsx +32 -32
- package/src/workflow/TaskPickerPopover.tsx +22 -22
- package/src/workflow/ViewYamlDialog.tsx +12 -12
- package/src/workflow/WorkflowAgentCallTranscript.tsx +15 -15
- package/src/workflow/WorkflowApprovalList.tsx +3 -3
- package/src/workflow/WorkflowArchitectDialog.tsx +80 -80
- package/src/workflow/WorkflowArtifactDocument.tsx +17 -17
- package/src/workflow/WorkflowCanvasEditor.tsx +22 -22
- package/src/workflow/WorkflowCanvasInner.tsx +3 -3
- package/src/workflow/WorkflowCodePreviewGraph.tsx +2 -2
- package/src/workflow/WorkflowDashboard.tsx +2 -2
- package/src/workflow/WorkflowDetailView.tsx +50 -50
- package/src/workflow/WorkflowDiffGraph.tsx +5 -5
- package/src/workflow/WorkflowEditorView.tsx +58 -58
- package/src/workflow/WorkflowExecutionGraph.tsx +15 -15
- package/src/workflow/WorkflowExecutionHeader.tsx +14 -14
- package/src/workflow/WorkflowExecutionPhaseBadge.tsx +11 -11
- package/src/workflow/WorkflowExecutionViewer.tsx +39 -39
- package/src/workflow/WorkflowExplainDialog.tsx +30 -30
- package/src/workflow/WorkflowFileReviewList.tsx +3 -3
- package/src/workflow/WorkflowGraphFullscreenDialog.tsx +11 -11
- package/src/workflow/WorkflowNode.tsx +2 -2
- package/src/workflow/WorkflowNodePopover.tsx +15 -15
- package/src/workflow/WorkflowOverviewGraph.tsx +9 -9
- package/src/workflow/WorkflowOverviewSummary.tsx +12 -12
- package/src/workflow/WorkflowRefinePanel.tsx +49 -49
- package/src/workflow/WorkflowRepairCard.tsx +53 -53
- package/src/workflow/WorkflowRunDialog.tsx +20 -20
- package/src/workflow/WorkflowRunForm.tsx +19 -19
- package/src/workflow/WorkflowTaskApprovalCard.tsx +19 -19
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +23 -23
- package/src/workflow/WorkflowTaskList.tsx +11 -11
- package/src/workflow/WorkflowTaskPalette.tsx +23 -23
- package/src/workflow/WorkflowTaskReviewGate.tsx +10 -10
- package/src/workflow/WorkflowVersionBadge.tsx +7 -7
- package/src/workflow/WorkflowVersionDiffViewer.tsx +24 -24
- package/src/workflow/WorkflowVersionTimeline.tsx +32 -32
- package/src/workflow/WorkflowVersionsTab.tsx +7 -7
- package/src/workflow/__tests__/WorkflowAgentCallTranscript.test.tsx +2 -2
- package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +6 -6
- package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +15 -15
- package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
- package/src/workflow/__tests__/node-shell.test.ts +2 -0
- package/src/workflow/__tests__/task-type-visual-registry.test.ts +2 -0
- package/src/workflow/diff/DiffSummaryBar.tsx +5 -5
- package/src/workflow/execution-comparison/ComparisonSummaryCards.tsx +11 -11
- package/src/workflow/execution-comparison/ExecutionComparisonPicker.tsx +20 -20
- package/src/workflow/execution-comparison/ExecutionComparisonView.tsx +16 -16
- package/src/workflow/execution-comparison/TaskComparisonTable.tsx +44 -44
- package/src/workflow/execution-history/ExecutionFilterBar.tsx +12 -12
- package/src/workflow/execution-history/ExecutionHistoryTable.tsx +25 -25
- package/src/workflow/execution-history/FailureAnalysisPanel.tsx +18 -18
- package/src/workflow/execution-history/HealthMetricsStrip.tsx +16 -16
- package/src/workflow/execution-history/WorkflowExecutionHistory.tsx +1 -1
- package/src/workflow/facets/WorkflowArtifactsTab.tsx +3 -3
- package/src/workflow/facets/WorkflowChangesTab.tsx +8 -8
- package/src/workflow/facets/WorkflowUsageTab.tsx +24 -24
- package/src/workflow/inspector/EdgeInspector.tsx +14 -14
- package/src/workflow/inspector/InspectorHeader.tsx +18 -18
- package/src/workflow/inspector/InspectorShell.tsx +6 -6
- package/src/workflow/inspector/NestedTaskList.tsx +11 -11
- package/src/workflow/inspector/SentinelInspector.tsx +3 -3
- package/src/workflow/inspector/WorkflowSummaryPanel.tsx +33 -33
- package/src/workflow/inspector/forms/AgentCallForm.tsx +48 -48
- package/src/workflow/inspector/forms/HttpCallForm.tsx +22 -22
- package/src/workflow/inspector/tabs/AdvancedTab.tsx +12 -12
- package/src/workflow/inspector/tabs/BranchesTab.tsx +36 -36
- package/src/workflow/inspector/tabs/CatchTab.tsx +23 -23
- package/src/workflow/inspector/tabs/ConfigureTab.tsx +3 -3
- package/src/workflow/inspector/tabs/DataTab.tsx +6 -6
- package/src/workflow/inspector/tabs/DocsTab.tsx +11 -11
- package/src/workflow/inspector/tabs/IterationTab.tsx +25 -25
- package/src/workflow/inspector/tabs/RuntimeTab.tsx +16 -16
- package/src/workflow/instance/CreateWorkflowInstanceDialog.tsx +35 -35
- package/src/workflow/instance/RunVisibilityControl.tsx +10 -10
- package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +45 -45
- package/src/workflow/instance/WorkflowInstanceList.tsx +32 -32
- package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +0 -6
- package/src/workflow/node-shell/BranchBadge.tsx +9 -9
- package/src/workflow/node-shell/DiffBadge.tsx +4 -4
- package/src/workflow/node-shell/ExecutionBadge.tsx +17 -17
- package/src/workflow/node-shell/NodeActions.tsx +15 -15
- package/src/workflow/node-shell/NodeContent.tsx +9 -9
- package/src/workflow/node-shell/NodeHandles.tsx +5 -5
- package/src/workflow/node-shell/NodeShell.tsx +27 -27
- package/src/workflow/picker/BranchAddPopover.tsx +16 -16
- package/src/workflow/task-detail/StructuredDataViewer.tsx +34 -34
- package/src/workflow/templates/WorkflowTemplateCard.tsx +32 -32
- package/src/workflow/templates/WorkflowTemplateGallery.tsx +13 -13
- package/src/workflow/templates/WorkflowTemplatePreview.tsx +29 -29
- package/src/workflow/thread/WorkflowTaskThread.tsx +36 -36
- package/src/workspace/EditorTabs.tsx +8 -8
- package/src/workspace/ExplorerTree.tsx +17 -17
- package/src/workspace/FileViewer.tsx +139 -30
- package/src/workspace/PanelChip.tsx +4 -4
- package/src/workspace/WorkspaceContentSearch.tsx +26 -26
- package/src/workspace/WorkspaceEditor.tsx +44 -44
- package/src/workspace/WorkspaceFileReader.ts +55 -1
- package/src/workspace/WorkspaceFileSearch.tsx +22 -22
- package/src/workspace/WorkspaceSummary.tsx +6 -6
- package/src/workspace/WorkspaceSurface.tsx +42 -42
- package/src/workspace/__tests__/FileViewer.test.tsx +99 -1
- package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +5 -5
- package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +3 -3
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +6 -6
- package/src/workspace/index.ts +2 -0
- package/styles.css +1 -1
- package/switch/Switch.js +2 -2
- package/switch/Switch.js.map +1 -1
- package/tabs/Tabs.js +7 -7
- package/tabs/Tabs.js.map +1 -1
- package/usage/AgentBreakdownList.js +4 -4
- package/usage/AgentBreakdownList.js.map +1 -1
- package/usage/CreditRunwayIndicator.js +1 -1
- package/usage/CreditRunwayIndicator.js.map +1 -1
- package/usage/ExportButton.js +2 -2
- package/usage/ExportButton.js.map +1 -1
- package/usage/HarnessSplitCard.js +6 -6
- package/usage/HarnessSplitCard.js.map +1 -1
- package/usage/OrgUsagePanel.js +15 -15
- package/usage/OrgUsagePanel.js.map +1 -1
- package/user/UserMenu.js +3 -3
- package/user/UserMenu.js.map +1 -1
- package/version-history/DiffFileList.js +8 -8
- package/version-history/DiffFileList.js.map +1 -1
- package/version-history/DiffSummary.js +1 -1
- package/version-history/DiffSummary.js.map +1 -1
- package/version-history/DiffViewer.js +11 -11
- package/version-history/DiffViewer.js.map +1 -1
- package/version-history/MultiFileDiffView.js +2 -2
- package/version-history/MultiFileDiffView.js.map +1 -1
- package/version-history/UnifiedDiffView.js +1 -1
- package/version-history/UnifiedDiffView.js.map +1 -1
- package/version-history/VersionTimeline.js +4 -4
- package/version-history/VersionTimeline.js.map +1 -1
- package/version-history/VersionTimelineEntry.js +9 -9
- package/version-history/VersionTimelineEntry.js.map +1 -1
- package/workflow/ApprovalFormBuilder.js +15 -15
- package/workflow/ApprovalFormBuilder.js.map +1 -1
- package/workflow/BranchConditionBuilder.js +8 -8
- package/workflow/BranchConditionBuilder.js.map +1 -1
- package/workflow/CanvasContextMenu.js +6 -6
- package/workflow/CanvasContextMenu.js.map +1 -1
- package/workflow/CanvasTransitionEdge.js +11 -11
- package/workflow/CanvasTransitionEdge.js.map +1 -1
- package/workflow/CostByWorkflowChart.js +4 -4
- package/workflow/CostByWorkflowChart.js.map +1 -1
- package/workflow/ExecutionActiveTaskIndicator.js +8 -8
- package/workflow/ExecutionActiveTaskIndicator.js.map +1 -1
- package/workflow/ExecutionSummaryWidget.js +15 -15
- package/workflow/ExecutionSummaryWidget.js.map +1 -1
- package/workflow/ExecutionTrendChart.js +10 -10
- package/workflow/ExecutionTrendChart.js.map +1 -1
- package/workflow/FailedRunsWidget.js +3 -3
- package/workflow/FailedRunsWidget.js.map +1 -1
- package/workflow/PendingApprovalsWidget.js +3 -3
- package/workflow/PendingApprovalsWidget.js.map +1 -1
- package/workflow/TaskConfigForm.js +12 -12
- package/workflow/TaskConfigForm.js.map +1 -1
- package/workflow/TaskPickerPopover.js +5 -5
- package/workflow/TaskPickerPopover.js.map +1 -1
- package/workflow/ViewYamlDialog.js +2 -2
- package/workflow/ViewYamlDialog.js.map +1 -1
- package/workflow/WorkflowAgentCallTranscript.js +2 -2
- package/workflow/WorkflowAgentCallTranscript.js.map +1 -1
- package/workflow/WorkflowApprovalList.js +2 -2
- package/workflow/WorkflowApprovalList.js.map +1 -1
- package/workflow/WorkflowArchitectDialog.js +9 -9
- package/workflow/WorkflowArchitectDialog.js.map +1 -1
- package/workflow/WorkflowArtifactDocument.js +7 -7
- package/workflow/WorkflowArtifactDocument.js.map +1 -1
- package/workflow/WorkflowCanvasEditor.js +6 -6
- package/workflow/WorkflowCanvasEditor.js.map +1 -1
- package/workflow/WorkflowCanvasInner.js +1 -1
- package/workflow/WorkflowCanvasInner.js.map +1 -1
- package/workflow/WorkflowCodePreviewGraph.js +2 -2
- package/workflow/WorkflowCodePreviewGraph.js.map +1 -1
- package/workflow/WorkflowDashboard.js +1 -1
- package/workflow/WorkflowDashboard.js.map +1 -1
- package/workflow/WorkflowDetailView.js +15 -15
- package/workflow/WorkflowDetailView.js.map +1 -1
- package/workflow/WorkflowDiffGraph.js +3 -3
- package/workflow/WorkflowDiffGraph.js.map +1 -1
- package/workflow/WorkflowEditorView.js +13 -13
- package/workflow/WorkflowEditorView.js.map +1 -1
- package/workflow/WorkflowExecutionGraph.js +6 -6
- package/workflow/WorkflowExecutionGraph.js.map +1 -1
- package/workflow/WorkflowExecutionHeader.js +4 -4
- package/workflow/WorkflowExecutionHeader.js.map +1 -1
- package/workflow/WorkflowExecutionPhaseBadge.js +9 -9
- package/workflow/WorkflowExecutionPhaseBadge.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +16 -16
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowExplainDialog.js +2 -2
- package/workflow/WorkflowExplainDialog.js.map +1 -1
- package/workflow/WorkflowFileReviewList.js +2 -2
- package/workflow/WorkflowFileReviewList.js.map +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.js +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.js.map +1 -1
- package/workflow/WorkflowNode.js +1 -1
- package/workflow/WorkflowNode.js.map +1 -1
- package/workflow/WorkflowNodePopover.js +2 -2
- package/workflow/WorkflowNodePopover.js.map +1 -1
- package/workflow/WorkflowOverviewGraph.js +4 -4
- package/workflow/WorkflowOverviewGraph.js.map +1 -1
- package/workflow/WorkflowOverviewSummary.js +8 -8
- package/workflow/WorkflowOverviewSummary.js.map +1 -1
- package/workflow/WorkflowRefinePanel.js +5 -5
- package/workflow/WorkflowRefinePanel.js.map +1 -1
- package/workflow/WorkflowRepairCard.js +5 -5
- package/workflow/WorkflowRepairCard.js.map +1 -1
- package/workflow/WorkflowRunDialog.js +2 -2
- package/workflow/WorkflowRunDialog.js.map +1 -1
- package/workflow/WorkflowRunForm.js +10 -10
- package/workflow/WorkflowRunForm.js.map +1 -1
- package/workflow/WorkflowTaskApprovalCard.js +1 -1
- package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.js +8 -8
- package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
- package/workflow/WorkflowTaskList.js +4 -4
- package/workflow/WorkflowTaskList.js.map +1 -1
- package/workflow/WorkflowTaskPalette.js +5 -5
- package/workflow/WorkflowTaskPalette.js.map +1 -1
- package/workflow/WorkflowTaskReviewGate.js +3 -3
- package/workflow/WorkflowTaskReviewGate.js.map +1 -1
- package/workflow/WorkflowVersionBadge.js +1 -1
- package/workflow/WorkflowVersionBadge.js.map +1 -1
- package/workflow/WorkflowVersionDiffViewer.js +12 -12
- package/workflow/WorkflowVersionDiffViewer.js.map +1 -1
- package/workflow/WorkflowVersionTimeline.js +7 -7
- package/workflow/WorkflowVersionTimeline.js.map +1 -1
- package/workflow/WorkflowVersionsTab.js +1 -1
- package/workflow/WorkflowVersionsTab.js.map +1 -1
- package/workflow/diff/DiffSummaryBar.js +2 -2
- package/workflow/diff/DiffSummaryBar.js.map +1 -1
- package/workflow/execution-comparison/ComparisonSummaryCards.js +1 -1
- package/workflow/execution-comparison/ComparisonSummaryCards.js.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonPicker.js +7 -7
- package/workflow/execution-comparison/ExecutionComparisonPicker.js.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonView.js +4 -4
- package/workflow/execution-comparison/ExecutionComparisonView.js.map +1 -1
- package/workflow/execution-comparison/TaskComparisonTable.js +22 -22
- package/workflow/execution-comparison/TaskComparisonTable.js.map +1 -1
- package/workflow/execution-history/ExecutionFilterBar.js +5 -5
- package/workflow/execution-history/ExecutionFilterBar.js.map +1 -1
- package/workflow/execution-history/ExecutionHistoryTable.js +11 -11
- package/workflow/execution-history/ExecutionHistoryTable.js.map +1 -1
- package/workflow/execution-history/FailureAnalysisPanel.js +4 -4
- package/workflow/execution-history/FailureAnalysisPanel.js.map +1 -1
- package/workflow/execution-history/HealthMetricsStrip.js +8 -8
- package/workflow/execution-history/HealthMetricsStrip.js.map +1 -1
- package/workflow/execution-history/WorkflowExecutionHistory.js +1 -1
- package/workflow/execution-history/WorkflowExecutionHistory.js.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.js +2 -2
- package/workflow/facets/WorkflowArtifactsTab.js.map +1 -1
- package/workflow/facets/WorkflowChangesTab.js +5 -5
- package/workflow/facets/WorkflowChangesTab.js.map +1 -1
- package/workflow/facets/WorkflowUsageTab.js +6 -6
- package/workflow/facets/WorkflowUsageTab.js.map +1 -1
- package/workflow/inspector/EdgeInspector.js +1 -1
- package/workflow/inspector/EdgeInspector.js.map +1 -1
- package/workflow/inspector/InspectorHeader.js +7 -7
- package/workflow/inspector/InspectorHeader.js.map +1 -1
- package/workflow/inspector/InspectorShell.js +2 -2
- package/workflow/inspector/InspectorShell.js.map +1 -1
- package/workflow/inspector/NestedTaskList.js +2 -2
- package/workflow/inspector/NestedTaskList.js.map +1 -1
- package/workflow/inspector/SentinelInspector.js +1 -1
- package/workflow/inspector/SentinelInspector.js.map +1 -1
- package/workflow/inspector/WorkflowSummaryPanel.js +5 -5
- package/workflow/inspector/WorkflowSummaryPanel.js.map +1 -1
- package/workflow/inspector/forms/AgentCallForm.js +9 -9
- package/workflow/inspector/forms/AgentCallForm.js.map +1 -1
- package/workflow/inspector/forms/HttpCallForm.js +4 -4
- package/workflow/inspector/forms/HttpCallForm.js.map +1 -1
- package/workflow/inspector/tabs/AdvancedTab.js +2 -2
- package/workflow/inspector/tabs/AdvancedTab.js.map +1 -1
- package/workflow/inspector/tabs/BranchesTab.js +6 -6
- package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
- package/workflow/inspector/tabs/CatchTab.js +2 -2
- package/workflow/inspector/tabs/CatchTab.js.map +1 -1
- package/workflow/inspector/tabs/ConfigureTab.js +3 -3
- package/workflow/inspector/tabs/ConfigureTab.js.map +1 -1
- package/workflow/inspector/tabs/DataTab.js +1 -1
- package/workflow/inspector/tabs/DataTab.js.map +1 -1
- package/workflow/inspector/tabs/DocsTab.js +1 -1
- package/workflow/inspector/tabs/DocsTab.js.map +1 -1
- package/workflow/inspector/tabs/IterationTab.js +3 -3
- package/workflow/inspector/tabs/IterationTab.js.map +1 -1
- package/workflow/inspector/tabs/RuntimeTab.js +9 -9
- package/workflow/inspector/tabs/RuntimeTab.js.map +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.js +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.js.map +1 -1
- package/workflow/instance/RunVisibilityControl.js +5 -5
- package/workflow/instance/RunVisibilityControl.js.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js +2 -2
- package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
- package/workflow/instance/WorkflowInstanceList.js +4 -4
- package/workflow/instance/WorkflowInstanceList.js.map +1 -1
- package/workflow/node-shell/BranchBadge.js +3 -3
- package/workflow/node-shell/BranchBadge.js.map +1 -1
- package/workflow/node-shell/DiffBadge.js +4 -4
- package/workflow/node-shell/DiffBadge.js.map +1 -1
- package/workflow/node-shell/ExecutionBadge.js +10 -10
- package/workflow/node-shell/ExecutionBadge.js.map +1 -1
- package/workflow/node-shell/NodeActions.js +3 -3
- package/workflow/node-shell/NodeActions.js.map +1 -1
- package/workflow/node-shell/NodeContent.js +5 -5
- package/workflow/node-shell/NodeContent.js.map +1 -1
- package/workflow/node-shell/NodeHandles.js +5 -5
- package/workflow/node-shell/NodeHandles.js.map +1 -1
- package/workflow/node-shell/NodeShell.js +14 -14
- package/workflow/node-shell/NodeShell.js.map +1 -1
- package/workflow/picker/BranchAddPopover.js +2 -2
- package/workflow/picker/BranchAddPopover.js.map +1 -1
- package/workflow/task-detail/StructuredDataViewer.js +12 -12
- package/workflow/task-detail/StructuredDataViewer.js.map +1 -1
- package/workflow/templates/WorkflowTemplateCard.js +17 -17
- package/workflow/templates/WorkflowTemplateCard.js.map +1 -1
- package/workflow/templates/WorkflowTemplateGallery.js +5 -5
- package/workflow/templates/WorkflowTemplateGallery.js.map +1 -1
- package/workflow/templates/WorkflowTemplatePreview.js +5 -5
- package/workflow/templates/WorkflowTemplatePreview.js.map +1 -1
- package/workflow/thread/WorkflowTaskThread.js +16 -16
- package/workflow/thread/WorkflowTaskThread.js.map +1 -1
- package/workspace/EditorTabs.js +5 -5
- package/workspace/EditorTabs.js.map +1 -1
- package/workspace/ExplorerTree.js +6 -6
- package/workspace/ExplorerTree.js.map +1 -1
- package/workspace/FileViewer.d.ts.map +1 -1
- package/workspace/FileViewer.js +55 -17
- package/workspace/FileViewer.js.map +1 -1
- package/workspace/PanelChip.js +1 -1
- package/workspace/PanelChip.js.map +1 -1
- package/workspace/WorkspaceContentSearch.js +11 -11
- package/workspace/WorkspaceContentSearch.js.map +1 -1
- package/workspace/WorkspaceEditor.js +10 -10
- package/workspace/WorkspaceEditor.js.map +1 -1
- package/workspace/WorkspaceFileReader.d.ts +29 -1
- package/workspace/WorkspaceFileReader.d.ts.map +1 -1
- package/workspace/WorkspaceFileReader.js +42 -0
- package/workspace/WorkspaceFileReader.js.map +1 -1
- package/workspace/WorkspaceFileSearch.js +9 -9
- package/workspace/WorkspaceFileSearch.js.map +1 -1
- package/workspace/WorkspaceSummary.js +3 -3
- package/workspace/WorkspaceSummary.js.map +1 -1
- package/workspace/WorkspaceSurface.js +22 -22
- package/workspace/WorkspaceSurface.js.map +1 -1
- package/workspace/index.d.ts +1 -1
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +1 -1
- package/workspace/index.js.map +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** Return value of {@link useConversationMediaUrl}. */
|
|
2
|
+
export interface UseConversationMediaUrlReturn {
|
|
3
|
+
/**
|
|
4
|
+
* A freshly minted presigned download URL for the timeline item's media,
|
|
5
|
+
* or `null` when:
|
|
6
|
+
* - Fetching is skipped (`enabled` is `false`, or any address part is empty)
|
|
7
|
+
* - The request is in-flight
|
|
8
|
+
* - The request failed (including the server's uniform NOT_FOUND for
|
|
9
|
+
* items without ingested media)
|
|
10
|
+
*/
|
|
11
|
+
readonly url: string | null;
|
|
12
|
+
/** `true` while the URL request is in-flight (first load). */
|
|
13
|
+
readonly isLoading: boolean;
|
|
14
|
+
/** `true` while a background refetch is in flight. */
|
|
15
|
+
readonly isRefetching: boolean;
|
|
16
|
+
/** Error from the last failed attempt, or `null` when healthy. */
|
|
17
|
+
readonly error: Error | null;
|
|
18
|
+
/** Re-fetch the URL (e.g. to mint a fresh one after the previous expired). */
|
|
19
|
+
readonly refetch: () => void;
|
|
20
|
+
}
|
|
21
|
+
/** Options for {@link useConversationMediaUrl}. */
|
|
22
|
+
export interface UseConversationMediaUrlOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Gate the request. When `false`, the hook stays idle and returns `null` —
|
|
25
|
+
* use this to defer minting a URL until it is actually needed.
|
|
26
|
+
* Defaults to `true`.
|
|
27
|
+
*/
|
|
28
|
+
readonly enabled?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Data hook that resolves a **fresh** presigned download URL for one
|
|
32
|
+
* timeline item's ingested media (an image or document the customer sent)
|
|
33
|
+
* via `stigmer.agentChannel.getMediaDownloadUrl()`.
|
|
34
|
+
*
|
|
35
|
+
* Addressed by `(channel, conversation, item_id)` — never a storage key:
|
|
36
|
+
* the server resolves the blob from its own row, so the read path stays
|
|
37
|
+
* conversation-viewer-scoped by construction and blob capabilities never
|
|
38
|
+
* ride the wire (whatsapp-media DD-001 D4). The URL expires (about an
|
|
39
|
+
* hour); minting at view time keeps it always valid, the
|
|
40
|
+
* `useArtifactDownloadUrl` rationale.
|
|
41
|
+
*
|
|
42
|
+
* The URL is cached cross-mount by the item's full address (DD-014), so
|
|
43
|
+
* the 5s timeline poll's re-renders and a lightbox opened from a
|
|
44
|
+
* thumbnail reuse the minted URL instead of re-hitting the API.
|
|
45
|
+
*
|
|
46
|
+
* Pass empty strings (or `enabled: false`) to skip fetching — the
|
|
47
|
+
* conversation surface's established skip convention.
|
|
48
|
+
*
|
|
49
|
+
* @param agentChannelId - AgentChannel the conversation belongs to, or `""` to skip.
|
|
50
|
+
* @param conversationKey - Conversation key within the channel, or `""` to skip.
|
|
51
|
+
* @param itemId - The timeline item whose media to fetch (e.g. `"wa:<wamid>"`), or `""` to skip.
|
|
52
|
+
* @param options - Optional gating (`enabled`).
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```tsx
|
|
56
|
+
* // Render an inbound photo with an always-fresh URL.
|
|
57
|
+
* const { url, isLoading } = useConversationMediaUrl(channelId, key, item.itemId);
|
|
58
|
+
* if (isLoading) return <Skeleton />;
|
|
59
|
+
* return url ? <img src={url} alt={item.media?.filename} /> : null;
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @see useArtifactDownloadUrl — the execution-artifact counterpart this mirrors
|
|
63
|
+
*/
|
|
64
|
+
export declare function useConversationMediaUrl(agentChannelId: string, conversationKey: string, itemId: string, options?: UseConversationMediaUrlOptions): UseConversationMediaUrlReturn;
|
|
65
|
+
//# sourceMappingURL=useConversationMediaUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationMediaUrl.d.ts","sourceRoot":"","sources":["../../src/conversation/useConversationMediaUrl.ts"],"names":[],"mappings":"AAQA,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE7B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAQD,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,8BAA8B,GACvC,6BAA6B,CAgC/B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { create } from "@bufbuild/protobuf";
|
|
4
|
+
import { GetConversationMediaDownloadUrlInputSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
|
|
5
|
+
import { useStigmer } from "../hooks.js";
|
|
6
|
+
import { useFetch } from "../internal/useFetch.js";
|
|
7
|
+
const EMPTY = { url: null };
|
|
8
|
+
/**
|
|
9
|
+
* Data hook that resolves a **fresh** presigned download URL for one
|
|
10
|
+
* timeline item's ingested media (an image or document the customer sent)
|
|
11
|
+
* via `stigmer.agentChannel.getMediaDownloadUrl()`.
|
|
12
|
+
*
|
|
13
|
+
* Addressed by `(channel, conversation, item_id)` — never a storage key:
|
|
14
|
+
* the server resolves the blob from its own row, so the read path stays
|
|
15
|
+
* conversation-viewer-scoped by construction and blob capabilities never
|
|
16
|
+
* ride the wire (whatsapp-media DD-001 D4). The URL expires (about an
|
|
17
|
+
* hour); minting at view time keeps it always valid, the
|
|
18
|
+
* `useArtifactDownloadUrl` rationale.
|
|
19
|
+
*
|
|
20
|
+
* The URL is cached cross-mount by the item's full address (DD-014), so
|
|
21
|
+
* the 5s timeline poll's re-renders and a lightbox opened from a
|
|
22
|
+
* thumbnail reuse the minted URL instead of re-hitting the API.
|
|
23
|
+
*
|
|
24
|
+
* Pass empty strings (or `enabled: false`) to skip fetching — the
|
|
25
|
+
* conversation surface's established skip convention.
|
|
26
|
+
*
|
|
27
|
+
* @param agentChannelId - AgentChannel the conversation belongs to, or `""` to skip.
|
|
28
|
+
* @param conversationKey - Conversation key within the channel, or `""` to skip.
|
|
29
|
+
* @param itemId - The timeline item whose media to fetch (e.g. `"wa:<wamid>"`), or `""` to skip.
|
|
30
|
+
* @param options - Optional gating (`enabled`).
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // Render an inbound photo with an always-fresh URL.
|
|
35
|
+
* const { url, isLoading } = useConversationMediaUrl(channelId, key, item.itemId);
|
|
36
|
+
* if (isLoading) return <Skeleton />;
|
|
37
|
+
* return url ? <img src={url} alt={item.media?.filename} /> : null;
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @see useArtifactDownloadUrl — the execution-artifact counterpart this mirrors
|
|
41
|
+
*/
|
|
42
|
+
export function useConversationMediaUrl(agentChannelId, conversationKey, itemId, options) {
|
|
43
|
+
const stigmer = useStigmer();
|
|
44
|
+
const enabled = options?.enabled ?? true;
|
|
45
|
+
const active = enabled && agentChannelId !== "" && conversationKey !== "" && itemId !== "";
|
|
46
|
+
const { data, isLoading, isRefetching, error, refetch } = useFetch(active
|
|
47
|
+
? () => stigmer.agentChannel
|
|
48
|
+
.getMediaDownloadUrl(create(GetConversationMediaDownloadUrlInputSchema, {
|
|
49
|
+
agentChannelId,
|
|
50
|
+
conversationKey,
|
|
51
|
+
itemId,
|
|
52
|
+
}))
|
|
53
|
+
.then((result) => ({ url: result.url || null }))
|
|
54
|
+
: null, [agentChannelId, conversationKey, itemId, active, stigmer], EMPTY, {
|
|
55
|
+
cacheKey: active
|
|
56
|
+
? `conversation-media-url:${agentChannelId}:${conversationKey}:${itemId}`
|
|
57
|
+
: undefined,
|
|
58
|
+
});
|
|
59
|
+
return useMemo(() => ({ url: data.url, isLoading, isRefetching, error, refetch }), [data.url, isLoading, isRefetching, error, refetch]);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=useConversationMediaUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationMediaUrl.js","sourceRoot":"","sources":["../../src/conversation/useConversationMediaUrl.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,0CAA0C,EAAE,MAAM,uEAAuE,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA+BnD,MAAM,KAAK,GAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAYrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAAsB,EACtB,eAAuB,EACvB,MAAc,EACd,OAAwC;IAExC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IACzC,MAAM,MAAM,GACV,OAAO,IAAI,cAAc,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,CAAC;IAE9E,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAChE,MAAM;QACJ,CAAC,CAAC,GAAG,EAAE,CACH,OAAO,CAAC,YAAY;aACjB,mBAAmB,CAClB,MAAM,CAAC,0CAA0C,EAAE;YACjD,cAAc;YACd,eAAe;YACf,MAAM;SACP,CAAC,CACH;aACA,IAAI,CAAC,CAAC,MAAM,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,IAAI,EACR,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1D,KAAK,EACL;QACE,QAAQ,EAAE,MAAM;YACd,CAAC,CAAC,0BAA0B,cAAc,IAAI,eAAe,IAAI,MAAM,EAAE;YACzE,CAAC,CAAC,SAAS;KACd,CACF,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAClE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CACpD,CAAC;AACJ,CAAC"}
|
|
@@ -62,6 +62,6 @@ export function CursorAccountEditor({ initial, isSubmitting, submitError, onSubm
|
|
|
62
62
|
.filter((s) => s !== ""),
|
|
63
63
|
}));
|
|
64
64
|
};
|
|
65
|
-
return (_jsxs("form", { className: cn("max-w-xl space-y-3", className), onSubmit: handleSubmit, children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: isCreate ? "Add Cursor account" : `Edit ${initial.displayName}` }), _jsx(Field, { label: "Display name", required: true, children: _jsx("input", { className: INPUT_CLASSES, value: displayName, onChange: (e) => setDisplayName(e.target.value), placeholder: "e.g. scenar.ai team", disabled: isSubmitting }) }), _jsx(Field, { label: "Team Admin API key", required: true, children: _jsx("input", { className: INPUT_CLASSES, type: "password", value: adminApiKey, onChange: (e) => setAdminApiKey(e.target.value), placeholder: "key from Cursor dashboard \u2192 API \u2192 Team tab", disabled: isSubmitting, autoComplete: "off" }) }), !isCreate && (_jsx("p", { className: "text-[11px] text-muted-foreground", children: "Leave the masked value untouched to keep the stored key; typing a new key rotates it (validated against Cursor before saving)." })), _jsx(Field, { label: "Team invite link", children: _jsx("input", { className: INPUT_CLASSES, type: "url", value: teamInviteLink, onChange: (e) => setTeamInviteLink(e.target.value), placeholder: "https://\u2026 (Cursor dashboard \u2192 Invite Members \u2192 Copy Invite Link)", disabled: isSubmitting, autoComplete: "off", spellCheck: false }) }), _jsx("p", { className: "text-[11px] text-muted-foreground", children: "Optional. Powers one-click \"Copy invite\" on coverage rows whose key owner is not on the team. The link is long-lived and joinable by anyone holding it (each join consumes a paid seat) \u2014 share it deliberately, and revoke or rotate it from the Cursor dashboard. Leave empty to clear." }), _jsx(Field, { label: "Dedicated organization ids", children: _jsx("textarea", { className: cn(INPUT_CLASSES, "min-h-16 font-mono"), value: orgIdsText, onChange: (e) => setOrgIdsText(e.target.value), placeholder: "one org id per line\n(leave empty for a shared-pool account)", disabled: isSubmitting }) }), _jsx("p", { className: "text-[11px] text-muted-foreground", children: "Listing org ids DEDICATES this account to them: their sessions use only this account's keys and fail with a clear message when it runs dry. Leaving this empty makes the account part of the shared pool that serves every other org \u2014 pool sessions may move between pool accounts when one is depleted. Each org may appear in at most one account." }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { children: [_jsxs("label", { className: "flex items-center gap-1.5 text-xs text-foreground", children: [_jsx("input", { type: "checkbox", checked: enabled, onChange: (e) => setEnabled(e.target.checked), disabled: isSubmitting }), "Enabled for key selection"] }), _jsx("p", { className: "mt-0.5 pl-[1.375rem] text-[11px] text-muted-foreground", children: "Leave checked for accounts that should serve traffic. Unchecking drains the account: new sessions stop routing here immediately, but sessions already pinned to one of its keys keep working." })] }), _jsxs("div", { children: [_jsxs("label", { className: "flex items-center gap-1.5 text-xs text-foreground", children: [_jsx("input", { type: "checkbox", checked: onDemandEnabled, onChange: (e) => setOnDemandEnabled(e.target.checked), disabled: isSubmitting }), "On-demand usage enabled (as configured in the Cursor dashboard)"] }), _jsx("p", { className: "mt-0.5 pl-[1.375rem] text-[11px] text-muted-foreground", children: "Declared here because Cursor's Admin API cannot report the team's on-demand setting. Uncheck only when the dashboard has on-demand usage OFF: new sessions then avoid member keys whose included third-party (API) pool is nearly spent, since such keys can no longer serve third-party models at all." })] })] }), submitError && (_jsx("p", { className: "text-destructive text-xs", role: "alert", children: getUserMessage(submitError) })), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "submit", size: "sm", disabled: !canSubmit, children: isSubmitting ? "Saving…" : isCreate ? "Create account" : "Save changes" }), _jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: onCancel, disabled: isSubmitting, children: "Cancel" })] })] }));
|
|
65
|
+
return (_jsxs("form", { className: cn("stg:max-w-xl stg:space-y-3", className), onSubmit: handleSubmit, children: [_jsx("h3", { className: "stg:text-sm stg:font-semibold stg:text-foreground", children: isCreate ? "Add Cursor account" : `Edit ${initial.displayName}` }), _jsx(Field, { label: "Display name", required: true, children: _jsx("input", { className: INPUT_CLASSES, value: displayName, onChange: (e) => setDisplayName(e.target.value), placeholder: "e.g. scenar.ai team", disabled: isSubmitting }) }), _jsx(Field, { label: "Team Admin API key", required: true, children: _jsx("input", { className: INPUT_CLASSES, type: "password", value: adminApiKey, onChange: (e) => setAdminApiKey(e.target.value), placeholder: "key from Cursor dashboard \u2192 API \u2192 Team tab", disabled: isSubmitting, autoComplete: "off" }) }), !isCreate && (_jsx("p", { className: "stg:text-[11px] stg:text-muted-foreground", children: "Leave the masked value untouched to keep the stored key; typing a new key rotates it (validated against Cursor before saving)." })), _jsx(Field, { label: "Team invite link", children: _jsx("input", { className: INPUT_CLASSES, type: "url", value: teamInviteLink, onChange: (e) => setTeamInviteLink(e.target.value), placeholder: "https://\u2026 (Cursor dashboard \u2192 Invite Members \u2192 Copy Invite Link)", disabled: isSubmitting, autoComplete: "off", spellCheck: false }) }), _jsx("p", { className: "stg:text-[11px] stg:text-muted-foreground", children: "Optional. Powers one-click \"Copy invite\" on coverage rows whose key owner is not on the team. The link is long-lived and joinable by anyone holding it (each join consumes a paid seat) \u2014 share it deliberately, and revoke or rotate it from the Cursor dashboard. Leave empty to clear." }), _jsx(Field, { label: "Dedicated organization ids", children: _jsx("textarea", { className: cn(INPUT_CLASSES, "stg:min-h-16 stg:font-mono"), value: orgIdsText, onChange: (e) => setOrgIdsText(e.target.value), placeholder: "one org id per line\n(leave empty for a shared-pool account)", disabled: isSubmitting }) }), _jsx("p", { className: "stg:text-[11px] stg:text-muted-foreground", children: "Listing org ids DEDICATES this account to them: their sessions use only this account's keys and fail with a clear message when it runs dry. Leaving this empty makes the account part of the shared pool that serves every other org \u2014 pool sessions may move between pool accounts when one is depleted. Each org may appear in at most one account." }), _jsxs("div", { className: "stg:space-y-2", children: [_jsxs("div", { children: [_jsxs("label", { className: "stg:flex stg:items-center stg:gap-1.5 stg:text-xs stg:text-foreground", children: [_jsx("input", { type: "checkbox", checked: enabled, onChange: (e) => setEnabled(e.target.checked), disabled: isSubmitting }), "Enabled for key selection"] }), _jsx("p", { className: "stg:mt-0.5 stg:pl-[1.375rem] stg:text-[11px] stg:text-muted-foreground", children: "Leave checked for accounts that should serve traffic. Unchecking drains the account: new sessions stop routing here immediately, but sessions already pinned to one of its keys keep working." })] }), _jsxs("div", { children: [_jsxs("label", { className: "stg:flex stg:items-center stg:gap-1.5 stg:text-xs stg:text-foreground", children: [_jsx("input", { type: "checkbox", checked: onDemandEnabled, onChange: (e) => setOnDemandEnabled(e.target.checked), disabled: isSubmitting }), "On-demand usage enabled (as configured in the Cursor dashboard)"] }), _jsx("p", { className: "stg:mt-0.5 stg:pl-[1.375rem] stg:text-[11px] stg:text-muted-foreground", children: "Declared here because Cursor's Admin API cannot report the team's on-demand setting. Uncheck only when the dashboard has on-demand usage OFF: new sessions then avoid member keys whose included third-party (API) pool is nearly spent, since such keys can no longer serve third-party models at all." })] })] }), submitError && (_jsx("p", { className: "stg:text-destructive stg:text-xs", role: "alert", children: getUserMessage(submitError) })), _jsxs("div", { className: "stg:flex stg:gap-2", children: [_jsx(Button, { type: "submit", size: "sm", disabled: !canSubmit, children: isSubmitting ? "Saving…" : isCreate ? "Create account" : "Save changes" }), _jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: onCancel, disabled: isSubmitting, children: "Cancel" })] })] }));
|
|
66
66
|
}
|
|
67
67
|
//# sourceMappingURL=CursorAccountEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorAccountEditor.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,mBAAmB,GAEpB,MAAM,wEAAwE,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;;GAGG;AACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAkBlC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,GACgB;IACzB,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;IACjE,0EAA0E;IAC1E,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CACpD,CAAC,CAAC,OAAO,EAAE,qBAAqB,IAAI,KAAK,CAAC,CAC3C,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;IACF,kEAAkE;IAClE,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,OAAO,EAAE,cAAc,IAAI,EAAE,CAC9B,CAAC;IAEF,MAAM,SAAS,GACb,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;IAE1E,MAAM,YAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;QAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,QAAQ,CACN,MAAM,CAAC,mBAAmB,EAAE;YAC1B,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;YACnC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,OAAO;YACP,iEAAiE;YACjE,iEAAiE;YACjE,qBAAqB,EAAE,CAAC,eAAe;YACvC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE;YACrC,MAAM,EAAE,UAAU;iBACf,KAAK,CAAC,QAAQ,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,gBAAM,SAAS,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"CursorAccountEditor.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,6 @@ import { cn } from "@stigmer/theme";
|
|
|
9
9
|
* without the permission, instead of a raw RPC error string.
|
|
10
10
|
*/
|
|
11
11
|
export function CursorAccountsAccessNotice({ className, }) {
|
|
12
|
-
return (_jsxs("div", { className: cn("rounded-lg border border-border bg-card px-4 py-6 text-center", className), role: "status", children: [_jsx("p", { className: "text-xs font-semibold text-foreground", children: "Platform operator access required" }), _jsx("p", { className: "mx-auto mt-1 max-w-md text-xs text-muted-foreground", children: "Cursor account management is a Stigmer-internal surface holding provider credentials and team spend. It needs the platform operator role \u2014 organization roles do not grant it. If you believe you should have access, contact a platform operator." })] }));
|
|
12
|
+
return (_jsxs("div", { className: cn("stg:rounded-lg stg:border stg:border-border stg:bg-card stg:px-4 stg:py-6 stg:text-center", className), role: "status", children: [_jsx("p", { className: "stg:text-xs stg:font-semibold stg:text-foreground", children: "Platform operator access required" }), _jsx("p", { className: "stg:mx-auto stg:mt-1 stg:max-w-md stg:text-xs stg:text-muted-foreground", children: "Cursor account management is a Stigmer-internal surface holding provider credentials and team spend. It needs the platform operator role \u2014 organization roles do not grant it. If you believe you should have access, contact a platform operator." })] }));
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=CursorAccountsAccessNotice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorAccountsAccessNotice.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountsAccessNotice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,SAAS,GAGV;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX
|
|
1
|
+
{"version":3,"file":"CursorAccountsAccessNotice.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountsAccessNotice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,SAAS,GAGV;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,SAAS,CACV,EACD,IAAI,EAAC,QAAQ,aAEb,YAAG,SAAS,EAAC,mDAAmD,kDAE5D,EACJ,YAAG,SAAS,EAAC,yEAAyE,wQAKlF,IACA,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -46,7 +46,7 @@ export function CursorAccountsConsole({ className }) {
|
|
|
46
46
|
const list = useCursorAccounts();
|
|
47
47
|
const backToList = useCallback(() => setFlow({ phase: "list" }), []);
|
|
48
48
|
if (list.isLoading) {
|
|
49
|
-
return (_jsxs("div", { className: cn("space-y-2", className), "aria-busy": "true", children: [_jsx("div", { className: "h-4 w-40 animate-pulse rounded bg-muted-subtle" }), Array.from({ length: 3 }, (_, i) => (_jsx("div", { className: "h-10 animate-pulse rounded-lg bg-muted-subtle" }, i)))] }));
|
|
49
|
+
return (_jsxs("div", { className: cn("stg:space-y-2", className), "aria-busy": "true", children: [_jsx("div", { className: "stg:h-4 stg:w-40 stg:animate-pulse stg:rounded stg:bg-muted-subtle" }), Array.from({ length: 3 }, (_, i) => (_jsx("div", { className: "stg:h-10 stg:animate-pulse stg:rounded-lg stg:bg-muted-subtle" }, i)))] }));
|
|
50
50
|
}
|
|
51
51
|
if (list.error) {
|
|
52
52
|
// A non-operator landing here is expected (the route is reachable by
|
|
@@ -54,7 +54,7 @@ export function CursorAccountsConsole({ className }) {
|
|
|
54
54
|
if (isPermissionDenied(list.error)) {
|
|
55
55
|
return _jsx(CursorAccountsAccessNotice, { className: className });
|
|
56
56
|
}
|
|
57
|
-
return (_jsx("p", { className: cn("text-destructive text-xs", className), role: "alert", children: getUserMessage(list.error) }));
|
|
57
|
+
return (_jsx("p", { className: cn("stg:text-destructive stg:text-xs", className), role: "alert", children: getUserMessage(list.error) }));
|
|
58
58
|
}
|
|
59
59
|
if (flow.phase === "create") {
|
|
60
60
|
return (_jsx(CreatePane, { className: className, onSaved: () => {
|
|
@@ -69,7 +69,7 @@ export function CursorAccountsConsole({ className }) {
|
|
|
69
69
|
}, onChanged: list.refetch, onBack: backToList }));
|
|
70
70
|
}
|
|
71
71
|
const accounts = list.accounts?.accounts ?? [];
|
|
72
|
-
return (_jsxs("div", { className: cn("space-y-3", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: "Cursor accounts" }), _jsx(Button, { size: "sm", onClick: () => setFlow({ phase: "create" }), children: "Add account" })] }), _jsxs("div", { className: "rounded-lg border border-border bg-card", children: [_jsxs("div", { "aria-hidden": "true", className: "grid grid-cols-[2fr_1fr_1fr_1fr_1fr] gap-2 border-b border-border px-3 py-2 text-[11px] font-medium text-muted-foreground", children: [_jsx("span", { children: "Account" }), _jsx("span", { children: "Orgs" }), _jsx("span", { children: "Status" }), _jsx("span", { children: "Execution keys" }), _jsx("span", { className: "text-right", children: "Last synced" })] }), accounts.length === 0 ? (_jsx("p", { className: "px-3 py-2 text-xs text-muted-foreground", children: "No Cursor accounts yet. Add one with its team Admin API key, then add member execution keys to make it routable." })) : (_jsx("ul", { role: "list", "aria-label": "Cursor accounts", className: "m-0 list-none p-0", children: accounts.map((summary) => (_jsx(AccountRow, { summary: summary, onOpen: () => setFlow({
|
|
72
|
+
return (_jsxs("div", { className: cn("stg:space-y-3", className), children: [_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:gap-3", children: [_jsx("h3", { className: "stg:text-sm stg:font-semibold stg:text-foreground", children: "Cursor accounts" }), _jsx(Button, { size: "sm", onClick: () => setFlow({ phase: "create" }), children: "Add account" })] }), _jsxs("div", { className: "stg:rounded-lg stg:border stg:border-border stg:bg-card", children: [_jsxs("div", { "aria-hidden": "true", className: "stg:grid stg:grid-cols-[2fr_1fr_1fr_1fr_1fr] stg:gap-2 stg:border-b stg:border-border stg:px-3 stg:py-2 stg:text-[11px] stg:font-medium stg:text-muted-foreground", children: [_jsx("span", { children: "Account" }), _jsx("span", { children: "Orgs" }), _jsx("span", { children: "Status" }), _jsx("span", { children: "Execution keys" }), _jsx("span", { className: "stg:text-right", children: "Last synced" })] }), accounts.length === 0 ? (_jsx("p", { className: "stg:px-3 stg:py-2 stg:text-xs stg:text-muted-foreground", children: "No Cursor accounts yet. Add one with its team Admin API key, then add member execution keys to make it routable." })) : (_jsx("ul", { role: "list", "aria-label": "Cursor accounts", className: "stg:m-0 stg:list-none stg:p-0", children: accounts.map((summary) => (_jsx(AccountRow, { summary: summary, onOpen: () => setFlow({
|
|
73
73
|
phase: "detail",
|
|
74
74
|
accountId: summary.account?.accountId ?? "",
|
|
75
75
|
editing: false,
|
|
@@ -82,7 +82,7 @@ function AccountRow({ summary, onOpen, }) {
|
|
|
82
82
|
const account = summary.account;
|
|
83
83
|
if (!account)
|
|
84
84
|
return null;
|
|
85
|
-
return (_jsx("li", { className: "border-b border-border last:border-b-0", children: _jsxs("button", { type: "button", onClick: onOpen, className: cn("grid w-full grid-cols-[2fr_1fr_1fr_1fr_1fr] items-center gap-2 px-3 py-2 text-left text-xs", "transition-colors hover:bg-accent", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"), children: [_jsxs("span", { className: "min-w-0", children: [_jsx("span", { className: "block truncate font-medium text-foreground", children: account.displayName }), account.orgIds.length === 0 && (_jsx("span", { className: "block text-[11px] text-muted-foreground", children: "shared pool" }))] }), _jsx("span", { className: "text-muted-foreground", children: account.orgIds.length > 0 ? account.orgIds.length : "—" }), _jsx("span", { children: _jsx(StateBadge, { tone: account.enabled ? "ok" : "muted", label: account.enabled ? "Enabled" : "Disabled" }) }), _jsx("span", { children: summary.enabledKeyCount > 0 ? (_jsx("span", { className: "text-muted-foreground", children: summary.enabledKeyCount })) : (_jsx(StateBadge, { tone: "warn", label: "Not routable" })) }), _jsx("span", { className: "text-right text-muted-foreground", children: formatSyncTime(summary.lastSyncedAt) })] }) }));
|
|
85
|
+
return (_jsx("li", { className: "stg:border-b stg:border-border stg:last:border-b-0", children: _jsxs("button", { type: "button", onClick: onOpen, className: cn("stg:grid stg:w-full stg:grid-cols-[2fr_1fr_1fr_1fr_1fr] stg:items-center stg:gap-2 stg:px-3 stg:py-2 stg:text-left stg:text-xs", "stg:transition-colors stg:hover:bg-accent", "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring"), children: [_jsxs("span", { className: "stg:min-w-0", children: [_jsx("span", { className: "stg:block stg:truncate stg:font-medium stg:text-foreground", children: account.displayName }), account.orgIds.length === 0 && (_jsx("span", { className: "stg:block stg:text-[11px] stg:text-muted-foreground", children: "shared pool" }))] }), _jsx("span", { className: "stg:text-muted-foreground", children: account.orgIds.length > 0 ? account.orgIds.length : "—" }), _jsx("span", { children: _jsx(StateBadge, { tone: account.enabled ? "ok" : "muted", label: account.enabled ? "Enabled" : "Disabled" }) }), _jsx("span", { children: summary.enabledKeyCount > 0 ? (_jsx("span", { className: "stg:text-muted-foreground", children: summary.enabledKeyCount })) : (_jsx(StateBadge, { tone: "warn", label: "Not routable" })) }), _jsx("span", { className: "stg:text-right stg:text-muted-foreground", children: formatSyncTime(summary.lastSyncedAt) })] }) }));
|
|
86
86
|
}
|
|
87
87
|
// ---------------------------------------------------------------------------
|
|
88
88
|
// Create pane (internal)
|
|
@@ -116,10 +116,10 @@ function AccountDetail({ className, accountId, editing, onEditingChange, onDelet
|
|
|
116
116
|
void sync(accountId).then(refreshAll, refreshAll);
|
|
117
117
|
}, [sync, accountId, refreshAll]);
|
|
118
118
|
if (detail.isLoading) {
|
|
119
|
-
return (_jsxs("div", { className: cn("space-y-2", className), "aria-busy": "true", children: [_jsx("div", { className: "h-4 w-40 animate-pulse rounded bg-muted-subtle" }), _jsx("div", { className: "h-24 animate-pulse rounded-lg bg-muted-subtle" })] }));
|
|
119
|
+
return (_jsxs("div", { className: cn("stg:space-y-2", className), "aria-busy": "true", children: [_jsx("div", { className: "stg:h-4 stg:w-40 stg:animate-pulse stg:rounded stg:bg-muted-subtle" }), _jsx("div", { className: "stg:h-24 stg:animate-pulse stg:rounded-lg stg:bg-muted-subtle" })] }));
|
|
120
120
|
}
|
|
121
121
|
if (detail.error || !detail.view?.account) {
|
|
122
|
-
return (_jsxs("div", { className: cn("space-y-2", className), children: [_jsx("p", { className: "text-destructive text-xs", role: "alert", children: detail.error ? getUserMessage(detail.error) : "Account not found." }), _jsx(Button, { size: "sm", variant: "outline", onClick: onBack, children: "Back to accounts" })] }));
|
|
122
|
+
return (_jsxs("div", { className: cn("stg:space-y-2", className), children: [_jsx("p", { className: "stg:text-destructive stg:text-xs", role: "alert", children: detail.error ? getUserMessage(detail.error) : "Account not found." }), _jsx(Button, { size: "sm", variant: "outline", onClick: onBack, children: "Back to accounts" })] }));
|
|
123
123
|
}
|
|
124
124
|
const view = detail.view;
|
|
125
125
|
const account = view.account;
|
|
@@ -147,7 +147,7 @@ function AccountDetail({ className, accountId, editing, onEditingChange, onDelet
|
|
|
147
147
|
onEditingChange(false);
|
|
148
148
|
} }) }));
|
|
149
149
|
}
|
|
150
|
-
return (_jsxs("div", { className: cn("space-y-4", className), children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: account.displayName }), _jsxs("p", { className: "text-[11px] text-muted-foreground", children: [account.orgIds.length > 0
|
|
150
|
+
return (_jsxs("div", { className: cn("stg:space-y-4", className), children: [_jsxs("div", { className: "stg:flex stg:flex-wrap stg:items-center stg:justify-between stg:gap-2", children: [_jsxs("div", { children: [_jsx("h3", { className: "stg:text-sm stg:font-semibold stg:text-foreground", children: account.displayName }), _jsxs("p", { className: "stg:text-[11px] stg:text-muted-foreground", children: [account.orgIds.length > 0
|
|
151
151
|
? `Dedicated to ${account.orgIds.length} org(s): ${account.orgIds.join(", ")}`
|
|
152
152
|
: "Shared pool — serves every org with no dedicated account", " · ", account.enabled ? "enabled" : "disabled", account.onDemandUsageDisabled
|
|
153
153
|
? " · on-demand usage off (usage guard active)"
|
|
@@ -155,7 +155,7 @@ function AccountDetail({ className, accountId, editing, onEditingChange, onDelet
|
|
|
155
155
|
? ` · ${activeMemberCount} ${activeMemberCount === 1 ? "member" : "members"}`
|
|
156
156
|
: "", coverage.hasRoster && removedSeatCount > 0
|
|
157
157
|
? ` · ${removedSeatCount} removed ${removedSeatCount === 1 ? "seat" : "seats"}`
|
|
158
|
-
: ""] })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { size: "sm", variant: "outline", onClick: onBack, children: "Back" }), _jsx(Button, { size: "sm", variant: "outline", disabled: isSyncing, onClick: () => {
|
|
158
|
+
: ""] })] }), _jsxs("div", { className: "stg:flex stg:gap-2", children: [_jsx(Button, { size: "sm", variant: "outline", onClick: onBack, children: "Back" }), _jsx(Button, { size: "sm", variant: "outline", disabled: isSyncing, onClick: () => {
|
|
159
159
|
void sync(accountId).then(refreshAll, () => {
|
|
160
160
|
// Surfaced via syncError.
|
|
161
161
|
});
|
|
@@ -164,6 +164,6 @@ function AccountDetail({ className, accountId, editing, onEditingChange, onDelet
|
|
|
164
164
|
// Surfaced via deleteError (incl. the live-pin guard's
|
|
165
165
|
// "disable instead, or force" message).
|
|
166
166
|
});
|
|
167
|
-
}, children: isDeleting ? "Deleting…" : "Delete" })] })] }), syncError && (_jsx("p", { className: "text-destructive text-xs", role: "alert", children: getUserMessage(syncError) })), deleteError && (_jsx("p", { className: "text-destructive text-xs", role: "alert", children: getUserMessage(deleteError) })), view.snapshot?.syncError && (_jsxs("p", { className: "text-xs text-muted-foreground", role: "status", children: ["Last sync was partial: ", view.snapshot.syncError] })), _jsx(MemberKeysPanel, { accountId: accountId, view: view, coverage: coverage, actions: keyActions, onChanged: refreshAll, onImported: syncAfterImport })] }));
|
|
167
|
+
}, children: isDeleting ? "Deleting…" : "Delete" })] })] }), syncError && (_jsx("p", { className: "stg:text-destructive stg:text-xs", role: "alert", children: getUserMessage(syncError) })), deleteError && (_jsx("p", { className: "stg:text-destructive stg:text-xs", role: "alert", children: getUserMessage(deleteError) })), view.snapshot?.syncError && (_jsxs("p", { className: "stg:text-xs stg:text-muted-foreground", role: "status", children: ["Last sync was partial: ", view.snapshot.syncError] })), _jsx(MemberKeysPanel, { accountId: accountId, view: view, coverage: coverage, actions: keyActions, onChanged: refreshAll, onImported: syncAfterImport })] }));
|
|
168
168
|
}
|
|
169
169
|
//# sourceMappingURL=CursorAccountsConsole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorAccountsConsole.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountsConsole.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAarE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,SAAS,EAA8B;IAC7E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"CursorAccountsConsole.js","sourceRoot":"","sources":["../../src/cursor-accounts/CursorAccountsConsole.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ import { formatPoolPercent, formatSpendMicros } from "./cursor-account-format.js
|
|
|
19
19
|
* identity, so it wraps rather than truncates when space runs out (see
|
|
20
20
|
* MemberCell) while the key name stays truncate-with-tooltip.
|
|
21
21
|
*/
|
|
22
|
-
const ROW_GRID = "grid grid-cols-[minmax(0,2.2fr)_minmax(0,1fr)_4.5rem_4.5rem_4.5rem_4.5rem_minmax(6rem,auto)_minmax(10rem,auto)] items-center gap-2 px-3 py-2";
|
|
22
|
+
const ROW_GRID = "stg:grid stg:grid-cols-[minmax(0,2.2fr)_minmax(0,1fr)_4.5rem_4.5rem_4.5rem_4.5rem_minmax(6rem,auto)_minmax(10rem,auto)] stg:items-center stg:gap-2 stg:px-3 stg:py-2";
|
|
23
23
|
/**
|
|
24
24
|
* The roster-coverage table: every member and every stored execution key
|
|
25
25
|
* of one Cursor account, classified into three explicit categories
|
|
@@ -39,7 +39,7 @@ const ROW_GRID = "grid grid-cols-[minmax(0,2.2fr)_minmax(0,1fr)_4.5rem_4.5rem_4.
|
|
|
39
39
|
* reported as off-team.
|
|
40
40
|
*/
|
|
41
41
|
export function MemberCoverageTable({ accountId, coverage, inviteLink, actions, onChanged, }) {
|
|
42
|
-
return (_jsxs("div", { role: "table", "aria-label": "Team coverage", className: "rounded-lg border border-border bg-card", children: [_jsxs("div", { role: "row", className: cn(ROW_GRID, "border-b border-border text-[11px] font-medium text-muted-foreground"), children: [_jsx("span", { role: "columnheader", children: "Member" }), _jsx("span", { role: "columnheader", children: "Key" }), _jsx("span", { role: "columnheader", className: "text-right", children: "First-party" }), _jsx("span", { role: "columnheader", className: "text-right", children: "API" }), _jsx("span", { role: "columnheader", className: "text-right", children: "Included" }), _jsx("span", { role: "columnheader", className: "text-right", children: "On-demand" }), _jsx("span", { role: "columnheader", children: "Status" }), _jsx("span", { role: "columnheader", className: "text-right", children: "Actions" })] }), !coverage.hasRoster && (_jsx(CoverageGroup, { title: "Execution keys \u2014 not yet classified", description: 'No roster sync has run for this account. Run "Sync now" to load the team roster and classify these keys.', count: coverage.unclassified.length, children: coverage.unclassified.map((keyView) => (_jsx(KeyRow, { accountId: accountId, keyView: keyView, hasRoster: false, inviteLink: "", actions: actions, onChanged: onChanged }, keyView.key?.keyId))) })), coverage.onTeamWithKey.length > 0 && (_jsx(CoverageGroup, { title: "On the team \u2014 key held", count: coverage.onTeamWithKey.length, children: coverage.onTeamWithKey.map((keyView) => (_jsx(KeyRow, { accountId: accountId, keyView: keyView, hasRoster: true, inviteLink: "", actions: actions, onChanged: onChanged }, keyView.key?.keyId))) })), coverage.hasRoster && (_jsx(CoverageGroup, { title: "On the team \u2014 no execution key", description: coverage.onTeamWithoutKey.length > 0
|
|
42
|
+
return (_jsxs("div", { role: "table", "aria-label": "Team coverage", className: "stg:rounded-lg stg:border stg:border-border stg:bg-card", children: [_jsxs("div", { role: "row", className: cn(ROW_GRID, "stg:border-b stg:border-border stg:text-[11px] stg:font-medium stg:text-muted-foreground"), children: [_jsx("span", { role: "columnheader", children: "Member" }), _jsx("span", { role: "columnheader", children: "Key" }), _jsx("span", { role: "columnheader", className: "stg:text-right", children: "First-party" }), _jsx("span", { role: "columnheader", className: "stg:text-right", children: "API" }), _jsx("span", { role: "columnheader", className: "stg:text-right", children: "Included" }), _jsx("span", { role: "columnheader", className: "stg:text-right", children: "On-demand" }), _jsx("span", { role: "columnheader", children: "Status" }), _jsx("span", { role: "columnheader", className: "stg:text-right", children: "Actions" })] }), !coverage.hasRoster && (_jsx(CoverageGroup, { title: "Execution keys \u2014 not yet classified", description: 'No roster sync has run for this account. Run "Sync now" to load the team roster and classify these keys.', count: coverage.unclassified.length, children: coverage.unclassified.map((keyView) => (_jsx(KeyRow, { accountId: accountId, keyView: keyView, hasRoster: false, inviteLink: "", actions: actions, onChanged: onChanged }, keyView.key?.keyId))) })), coverage.onTeamWithKey.length > 0 && (_jsx(CoverageGroup, { title: "On the team \u2014 key held", count: coverage.onTeamWithKey.length, children: coverage.onTeamWithKey.map((keyView) => (_jsx(KeyRow, { accountId: accountId, keyView: keyView, hasRoster: true, inviteLink: "", actions: actions, onChanged: onChanged }, keyView.key?.keyId))) })), coverage.hasRoster && (_jsx(CoverageGroup, { title: "On the team \u2014 no execution key", description: coverage.onTeamWithoutKey.length > 0
|
|
43
43
|
? "Sessions can never run under these members' identity or included quota. Add their user-scoped keys below to close the gap."
|
|
44
44
|
: "Every active roster member holds an execution key — the roster is fully covered.", count: coverage.onTeamWithoutKey.length, children: coverage.onTeamWithoutKey.map((memberView) => (_jsx(GapRow, { memberView: memberView }, memberView.member?.email))) })), coverage.offTeamWithKey.length > 0 && (_jsx(CoverageGroup, { title: "Key held \u2014 not on the team", description: inviteLink !== ""
|
|
45
45
|
? "These key owners must join the Cursor team before their usage counts against its quota. Copy the invite link, send it to them out-of-band, then \u201CSync now\u201D reclassifies once they join."
|
|
@@ -49,7 +49,7 @@ export function MemberCoverageTable({ accountId, coverage, inviteLink, actions,
|
|
|
49
49
|
// Group section (internal)
|
|
50
50
|
// ---------------------------------------------------------------------------
|
|
51
51
|
function CoverageGroup({ title, description, count, children, }) {
|
|
52
|
-
return (_jsxs("div", { role: "rowgroup", className: "border-b border-border last:border-b-0", children: [_jsx("div", { role: "row", className: "bg-muted-subtle px-3 py-1.5", children: _jsxs("div", { role: "cell", "aria-colspan": 8, children: [_jsxs("span", { className: "text-[11px] font-semibold text-foreground", children: [title, _jsx("span", { className: "ml-1.5 font-normal text-muted-foreground", children: count })] }), description && (_jsx("span", { className: "block text-[11px] text-muted-foreground", children: description }))] }) }), children] }));
|
|
52
|
+
return (_jsxs("div", { role: "rowgroup", className: "stg:border-b stg:border-border stg:last:border-b-0", children: [_jsx("div", { role: "row", className: "stg:bg-muted-subtle stg:px-3 stg:py-1.5", children: _jsxs("div", { role: "cell", "aria-colspan": 8, children: [_jsxs("span", { className: "stg:text-[11px] stg:font-semibold stg:text-foreground", children: [title, _jsx("span", { className: "stg:ml-1.5 stg:font-normal stg:text-muted-foreground", children: count })] }), description && (_jsx("span", { className: "stg:block stg:text-[11px] stg:text-muted-foreground", children: description }))] }) }), children] }));
|
|
53
53
|
}
|
|
54
54
|
// ---------------------------------------------------------------------------
|
|
55
55
|
// Rows (internal)
|
|
@@ -63,14 +63,14 @@ function CoverageGroup({ title, description, count, children, }) {
|
|
|
63
63
|
* truncated — it is display sugar, not identity.
|
|
64
64
|
*/
|
|
65
65
|
function MemberCell({ email, name, }) {
|
|
66
|
-
return (_jsxs("span", { role: "cell", className: "min-w-0", children: [_jsx("span", { className: "block break-words font-medium text-foreground", title: email, children: email }), name && (_jsx("span", { className: "block truncate text-[11px] text-muted-foreground", children: name }))] }));
|
|
66
|
+
return (_jsxs("span", { role: "cell", className: "stg:min-w-0", children: [_jsx("span", { className: "stg:block stg:break-words stg:font-medium stg:text-foreground", title: email, children: email }), name && (_jsx("span", { className: "stg:block stg:truncate stg:text-[11px] stg:text-muted-foreground", children: name }))] }));
|
|
67
67
|
}
|
|
68
68
|
/** A key-backed row: categories 1 and 3, plus the pre-sync unclassified state. */
|
|
69
69
|
function KeyRow({ accountId, keyView, hasRoster, inviteLink, actions, onChanged, }) {
|
|
70
70
|
const key = keyView.key;
|
|
71
71
|
if (!key)
|
|
72
72
|
return null;
|
|
73
|
-
return (_jsxs("div", { role: "row", className: cn(ROW_GRID, "border-t border-border-muted text-xs"), children: [_jsx(MemberCell, { email: key.boundEmail }), _jsxs("span", { role: "cell", className: "min-w-0", children: [_jsx("span", { className: "block truncate text-muted-foreground", title: key.cursorKeyName || undefined, children: key.cursorKeyName || "unnamed key" }), key.label && (_jsx("span", { className: "block truncate text-[11px] text-muted-foreground", title: key.label, children: key.label }))] }), _jsx(SpendCells, { spend: keyView.spend }), _jsxs("span", { role: "cell", className: "flex flex-wrap items-center gap-1", children: [keyView.usageGuardTripped && _jsx(StateBadge, { tone: "warn", label: "Usage guard" }), _jsx(KeyStatusBadge, { keyView: keyView, hasRoster: hasRoster })] }), _jsxs("span", { role: "cell", className: "flex items-center justify-end gap-2", children: [inviteLink !== "" && _jsx(CopyInviteButton, { inviteLink: inviteLink }), _jsx(Button, { size: "sm", variant: "outline", disabled: actions.isSubmitting, onClick: () => {
|
|
73
|
+
return (_jsxs("div", { role: "row", className: cn(ROW_GRID, "stg:border-t stg:border-border-muted stg:text-xs"), children: [_jsx(MemberCell, { email: key.boundEmail }), _jsxs("span", { role: "cell", className: "stg:min-w-0", children: [_jsx("span", { className: "stg:block stg:truncate stg:text-muted-foreground", title: key.cursorKeyName || undefined, children: key.cursorKeyName || "unnamed key" }), key.label && (_jsx("span", { className: "stg:block stg:truncate stg:text-[11px] stg:text-muted-foreground", title: key.label, children: key.label }))] }), _jsx(SpendCells, { spend: keyView.spend }), _jsxs("span", { role: "cell", className: "stg:flex stg:flex-wrap stg:items-center stg:gap-1", children: [keyView.usageGuardTripped && _jsx(StateBadge, { tone: "warn", label: "Usage guard" }), _jsx(KeyStatusBadge, { keyView: keyView, hasRoster: hasRoster })] }), _jsxs("span", { role: "cell", className: "stg:flex stg:items-center stg:justify-end stg:gap-2", children: [inviteLink !== "" && _jsx(CopyInviteButton, { inviteLink: inviteLink }), _jsx(Button, { size: "sm", variant: "outline", disabled: actions.isSubmitting, onClick: () => {
|
|
74
74
|
void actions
|
|
75
75
|
.setKeyEnabled(accountId, key.keyId, !key.enabled)
|
|
76
76
|
.then(onChanged, () => {
|
|
@@ -90,7 +90,7 @@ function GapRow({ memberView }) {
|
|
|
90
90
|
const member = memberView.member;
|
|
91
91
|
if (!member)
|
|
92
92
|
return null;
|
|
93
|
-
return (_jsxs("div", { role: "row", className: cn(ROW_GRID, "border-t border-border-muted text-xs"), children: [_jsx(MemberCell, { email: member.email, name: member.name }), _jsx("span", { role: "cell", className: "text-muted-foreground", children: "\u2014" }), _jsx(SpendCells, { spend: memberView.spend }), _jsx("span", { role: "cell", children: _jsx(StateBadge, { tone: "muted", label: "No key" }) }), _jsx("span", { role: "cell", className: "text-right text-muted-foreground", children: "\u2014" })] }));
|
|
93
|
+
return (_jsxs("div", { role: "row", className: cn(ROW_GRID, "stg:border-t stg:border-border-muted stg:text-xs"), children: [_jsx(MemberCell, { email: member.email, name: member.name }), _jsx("span", { role: "cell", className: "stg:text-muted-foreground", children: "\u2014" }), _jsx(SpendCells, { spend: memberView.spend }), _jsx("span", { role: "cell", children: _jsx(StateBadge, { tone: "muted", label: "No key" }) }), _jsx("span", { role: "cell", className: "stg:text-right stg:text-muted-foreground", children: "\u2014" })] }));
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
96
|
* The four numeric cells — first-party pool %, API pool %, included $,
|
|
@@ -102,7 +102,7 @@ function GapRow({ memberView }) {
|
|
|
102
102
|
* some team shapes.
|
|
103
103
|
*/
|
|
104
104
|
function SpendCells({ spend }) {
|
|
105
|
-
return (_jsxs(_Fragment, { children: [_jsx("span", { role: "cell", className: "text-right tabular-nums text-muted-foreground", children: spend ? formatPoolPercent(spend.autoPercentUsed) : "—" }), _jsx("span", { role: "cell", className: "text-right tabular-nums text-muted-foreground", children: spend ? formatPoolPercent(spend.apiPercentUsed) : "—" }), _jsx("span", { role: "cell", className: "text-right tabular-nums text-muted-foreground", children: spend ? formatSpendMicros(spend.includedSpendUsdMicros) : "—" }), _jsx("span", { role: "cell", className: "text-right tabular-nums text-muted-foreground", children: spend ? formatSpendMicros(spend.overageSpendUsdMicros) : "—" })] }));
|
|
105
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { role: "cell", className: "stg:text-right stg:tabular-nums stg:text-muted-foreground", children: spend ? formatPoolPercent(spend.autoPercentUsed) : "—" }), _jsx("span", { role: "cell", className: "stg:text-right stg:tabular-nums stg:text-muted-foreground", children: spend ? formatPoolPercent(spend.apiPercentUsed) : "—" }), _jsx("span", { role: "cell", className: "stg:text-right stg:tabular-nums stg:text-muted-foreground", children: spend ? formatSpendMicros(spend.includedSpendUsdMicros) : "—" }), _jsx("span", { role: "cell", className: "stg:text-right stg:tabular-nums stg:text-muted-foreground", children: spend ? formatSpendMicros(spend.overageSpendUsdMicros) : "—" })] }));
|
|
106
106
|
}
|
|
107
107
|
// ---------------------------------------------------------------------------
|
|
108
108
|
// Status badge (internal)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberCoverageTable.js","sourceRoot":"","sources":["../../src/cursor-accounts/MemberCoverageTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,oBAAoB,GAGrB,MAAM,4DAA4D,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIlF;;;;;;;;;;;;GAYG;AACH,MAAM,QAAQ,GACZ,
|
|
1
|
+
{"version":3,"file":"MemberCoverageTable.js","sourceRoot":"","sources":["../../src/cursor-accounts/MemberCoverageTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -99,10 +99,10 @@ export function MemberKeysPanel({ accountId, view, coverage, actions, onChanged,
|
|
|
99
99
|
if (failedKeys.length < keys.length)
|
|
100
100
|
onImported();
|
|
101
101
|
};
|
|
102
|
-
return (_jsxs("section", { className: "space-y-2", children: [_jsx("h4", { className: "text-xs font-semibold text-foreground", children: "Team coverage" }), keyViews.length === 0 && (_jsxs("p", { className: "text-xs text-muted-foreground", role: "status", children: ["No execution keys \u2014 this account is ", _jsx("strong", { children: "not routable" }), ". Add a member's user-scoped API key below."] })), hasRows && (_jsx(MemberCoverageTable, { accountId: accountId, coverage: coverage, inviteLink: view.account?.teamInviteLink ?? "", actions: actions, onChanged: onChanged })), actions.error && (_jsx("p", { className: "text-destructive text-xs", role: "alert", children: getUserMessage(actions.error) })), _jsxs("form", { className: "flex flex-wrap items-end gap-2", onSubmit: submitNewKey, children: [_jsxs("label", { className: "block min-w-56 flex-1 space-y-1", children: [_jsx("span", { className: "text-[11px] font-medium text-muted-foreground", children: "User-scoped API key" }), _jsx("input", { className: INPUT_CLASSES, type: "password", value: newKey, onChange: (e) => setNewKey(e.target.value), placeholder: "the member's personal Cursor API key", disabled: actions.isSubmitting, autoComplete: "off" })] }), _jsxs("label", { className: "block min-w-40 space-y-1", children: [_jsx("span", { className: "text-[11px] font-medium text-muted-foreground", children: "Label (optional)" }), _jsx("input", { className: INPUT_CLASSES, value: newLabel, onChange: (e) => setNewLabel(e.target.value), placeholder: "e.g. zane \u2014 prod", disabled: actions.isSubmitting })] }), _jsx(Button, { type: "submit", size: "sm", disabled: newKey.trim() === "" || actions.isSubmitting, children: actions.isSubmitting ? "Verifying…" : "Add key" }), _jsx(Button, { type: "button", size: "sm", variant: "outline", disabled: isImporting, onClick: () => {
|
|
102
|
+
return (_jsxs("section", { className: "stg:space-y-2", children: [_jsx("h4", { className: "stg:text-xs stg:font-semibold stg:text-foreground", children: "Team coverage" }), keyViews.length === 0 && (_jsxs("p", { className: "stg:text-xs stg:text-muted-foreground", role: "status", children: ["No execution keys \u2014 this account is ", _jsx("strong", { children: "not routable" }), ". Add a member's user-scoped API key below."] })), hasRows && (_jsx(MemberCoverageTable, { accountId: accountId, coverage: coverage, inviteLink: view.account?.teamInviteLink ?? "", actions: actions, onChanged: onChanged })), actions.error && (_jsx("p", { className: "stg:text-destructive stg:text-xs", role: "alert", children: getUserMessage(actions.error) })), _jsxs("form", { className: "stg:flex stg:flex-wrap stg:items-end stg:gap-2", onSubmit: submitNewKey, children: [_jsxs("label", { className: "stg:block stg:min-w-56 stg:flex-1 stg:space-y-1", children: [_jsx("span", { className: "stg:text-[11px] stg:font-medium stg:text-muted-foreground", children: "User-scoped API key" }), _jsx("input", { className: INPUT_CLASSES, type: "password", value: newKey, onChange: (e) => setNewKey(e.target.value), placeholder: "the member's personal Cursor API key", disabled: actions.isSubmitting, autoComplete: "off" })] }), _jsxs("label", { className: "stg:block stg:min-w-40 stg:space-y-1", children: [_jsx("span", { className: "stg:text-[11px] stg:font-medium stg:text-muted-foreground", children: "Label (optional)" }), _jsx("input", { className: INPUT_CLASSES, value: newLabel, onChange: (e) => setNewLabel(e.target.value), placeholder: "e.g. zane \u2014 prod", disabled: actions.isSubmitting })] }), _jsx(Button, { type: "submit", size: "sm", disabled: newKey.trim() === "" || actions.isSubmitting, children: actions.isSubmitting ? "Verifying…" : "Add key" }), _jsx(Button, { type: "button", size: "sm", variant: "outline", disabled: isImporting, onClick: () => {
|
|
103
103
|
setShowImport((v) => !v);
|
|
104
104
|
setImportResults(null);
|
|
105
|
-
}, children: showImport ? "Hide import" : "Import keys" })] }), showImport && (_jsxs("form", { className: "space-y-2 rounded-md border border-border bg-card p-3", onSubmit: submitImport, children: [_jsxs("label", { className: "block space-y-1", children: [_jsx("span", { className: "text-[11px] font-medium text-muted-foreground", children: "Bulk import \u2014 one user-scoped API key per line" }), _jsx("textarea", { className: cn(INPUT_CLASSES, "min-h-24 font-mono"), value: importText, onChange: (e) => setImportText(e.target.value), placeholder: "key_...\nkey_...\nkey_...", disabled: isImporting, autoComplete: "off", spellCheck: false })] }), _jsx("p", { className: "text-[11px] text-muted-foreground", children: "Each key is verified against Cursor and bound to its owning team member, one at a time. Lines that fail stay in the box so you can fix and retry them. A roster sync runs automatically afterwards, so the coverage table reflects current team membership." }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { type: "submit", size: "sm", disabled: importKeyCount === 0 || isImporting, children: isImporting && importProgress
|
|
105
|
+
}, children: showImport ? "Hide import" : "Import keys" })] }), showImport && (_jsxs("form", { className: "stg:space-y-2 stg:rounded-md stg:border stg:border-border stg:bg-card stg:p-3", onSubmit: submitImport, children: [_jsxs("label", { className: "stg:block stg:space-y-1", children: [_jsx("span", { className: "stg:text-[11px] stg:font-medium stg:text-muted-foreground", children: "Bulk import \u2014 one user-scoped API key per line" }), _jsx("textarea", { className: cn(INPUT_CLASSES, "stg:min-h-24 stg:font-mono"), value: importText, onChange: (e) => setImportText(e.target.value), placeholder: "key_...\nkey_...\nkey_...", disabled: isImporting, autoComplete: "off", spellCheck: false })] }), _jsx("p", { className: "stg:text-[11px] stg:text-muted-foreground", children: "Each key is verified against Cursor and bound to its owning team member, one at a time. Lines that fail stay in the box so you can fix and retry them. A roster sync runs automatically afterwards, so the coverage table reflects current team membership." }), _jsxs("div", { className: "stg:flex stg:items-center stg:gap-2", children: [_jsx(Button, { type: "submit", size: "sm", disabled: importKeyCount === 0 || isImporting, children: isImporting && importProgress
|
|
106
106
|
? `Importing ${importProgress.done + 1} of ${importProgress.total}…`
|
|
107
107
|
: importKeyCount > 0
|
|
108
108
|
? `Import ${importKeyCount} ${importKeyCount === 1 ? "key" : "keys"}`
|
|
@@ -110,6 +110,6 @@ export function MemberKeysPanel({ accountId, view, coverage, actions, onChanged,
|
|
|
110
110
|
setShowImport(false);
|
|
111
111
|
setImportText("");
|
|
112
112
|
setImportResults(null);
|
|
113
|
-
}, children: "Close" })] }), importResults && (_jsx("ul", { role: "list", "aria-label": "Import results", className: "m-0 list-none space-y-0.5 p-0 text-[11px]", children: importResults.map((result) => (_jsxs("li", { className: result.ok ? "text-muted-foreground" : "text-destructive", children: [result.keyPreview, ": ", result.message] }, result.keyPreview))) }))] }))] }));
|
|
113
|
+
}, children: "Close" })] }), importResults && (_jsx("ul", { role: "list", "aria-label": "Import results", className: "stg:m-0 stg:list-none stg:space-y-0.5 stg:p-0 stg:text-[11px]", children: importResults.map((result) => (_jsxs("li", { className: result.ok ? "stg:text-muted-foreground" : "stg:text-destructive", children: [result.keyPreview, ": ", result.message] }, result.keyPreview))) }))] }))] }));
|
|
114
114
|
}
|
|
115
115
|
//# sourceMappingURL=MemberKeysPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberKeysPanel.js","sourceRoot":"","sources":["../../src/cursor-accounts/MemberKeysPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MemberKeysPanel.js","sourceRoot":"","sources":["../../src/cursor-accounts/MemberKeysPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ import { cn } from "@stigmer/theme";
|
|
|
5
5
|
* (account rows, coverage table cells). Internal to the module.
|
|
6
6
|
*/
|
|
7
7
|
export function StateBadge({ tone, label, }) {
|
|
8
|
-
return (_jsx("span", { className: cn("inline-block rounded px-1.5 py-0.5 text-[10px] font-medium", tone === "ok" && "bg-accent text-primary", tone === "warn" && "bg-muted-subtle text-destructive", tone === "muted" && "bg-muted-subtle text-muted-foreground"), children: label }));
|
|
8
|
+
return (_jsx("span", { className: cn("stg:inline-block stg:rounded stg:px-1.5 stg:py-0.5 stg:text-[10px] stg:font-medium", tone === "ok" && "stg:bg-accent stg:text-primary", tone === "warn" && "stg:bg-muted-subtle stg:text-destructive", tone === "muted" && "stg:bg-muted-subtle stg:text-muted-foreground"), children: label }));
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=badges.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badges.js","sourceRoot":"","sources":["../../src/cursor-accounts/badges.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,GAIN;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,
|
|
1
|
+
{"version":3,"file":"badges.js","sourceRoot":"","sources":["../../src/cursor-accounts/badges.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,GAIN;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,oFAAoF,EACpF,IAAI,KAAK,IAAI,IAAI,gCAAgC,EACjD,IAAI,KAAK,MAAM,IAAI,0CAA0C,EAC7D,IAAI,KAAK,OAAO,IAAI,+CAA+C,CACpE,YAEA,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
|