@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
|
@@ -44,15 +44,18 @@ export interface SessionViewerLayoutProps {
|
|
|
44
44
|
*/
|
|
45
45
|
readonly splitStorageKey?: string;
|
|
46
46
|
/**
|
|
47
|
-
* Whether the conversation pane collapses
|
|
48
|
-
*
|
|
49
|
-
* console behavior
|
|
47
|
+
* Whether the conversation pane collapses while the panel is open and
|
|
48
|
+
* the layout's own box is narrower than 48rem, leaving the panel
|
|
49
|
+
* full-width — the shipped console behavior in tight quarters.
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
51
|
+
* The narrowness check is a CSS container query against the layout's
|
|
52
|
+
* box, never the viewport (stigmer/stigmer#301), so it is equally
|
|
53
|
+
* correct full-window and docked in a narrow pane of a wide window.
|
|
54
|
+
*
|
|
55
|
+
* Pass `false` in hosts that must never trade the conversation for the
|
|
56
|
+
* panel regardless of available space — e.g. a scripted documentation
|
|
57
|
+
* tour rendered on a narrow fixed canvas, where the collapse would hide
|
|
58
|
+
* the conversation on exactly the beats that open the panel.
|
|
56
59
|
*
|
|
57
60
|
* @default true
|
|
58
61
|
*/
|
|
@@ -105,9 +108,9 @@ export function SessionViewerLayout({
|
|
|
105
108
|
const isPanelOpen = panel != null;
|
|
106
109
|
|
|
107
110
|
return (
|
|
108
|
-
<div className={cn("relative flex h-full w-full flex-col", className)}>
|
|
111
|
+
<div className={cn("stg:relative stg:flex stg:h-full stg:w-full stg:flex-col", className)}>
|
|
109
112
|
{(headerActions != null || chip != null) && (
|
|
110
|
-
<div className="absolute top-2 right-6 z-10 flex items-center gap-2">
|
|
113
|
+
<div className="stg:absolute stg:top-2 stg:right-6 stg:z-10 stg:flex stg:items-center stg:gap-2">
|
|
111
114
|
{headerActions}
|
|
112
115
|
{chip}
|
|
113
116
|
</div>
|
|
@@ -122,7 +125,7 @@ export function SessionViewerLayout({
|
|
|
122
125
|
storageKey={splitStorageKey}
|
|
123
126
|
responsiveCollapse={responsive && isPanelOpen ? "primary" : "none"}
|
|
124
127
|
ariaLabel={resizeAriaLabel}
|
|
125
|
-
className="min-h-0 flex-1"
|
|
128
|
+
className="stg:min-h-0 stg:flex-1"
|
|
126
129
|
primary={conversation}
|
|
127
130
|
secondary={panel}
|
|
128
131
|
/>
|
|
@@ -133,8 +133,8 @@ describe("NewSessionViewer — composer stays centered", () => {
|
|
|
133
133
|
|
|
134
134
|
it("centers the composer with zero attached context", () => {
|
|
135
135
|
render(<NewSessionViewer org="acme" onSessionCreated={vi.fn()} />);
|
|
136
|
-
expect(composerWrapper()?.className).toContain("my-auto");
|
|
137
|
-
expect(composerWrapper()?.className).not.toContain("my-6");
|
|
136
|
+
expect(composerWrapper()?.className).toContain("stg:my-auto");
|
|
137
|
+
expect(composerWrapper()?.className).not.toContain("stg:my-6");
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
it("keeps the composer centered when context is attached (no position flip)", () => {
|
|
@@ -142,7 +142,7 @@ describe("NewSessionViewer — composer stays centered", () => {
|
|
|
142
142
|
render(<NewSessionViewer org="acme" onSessionCreated={vi.fn()} />);
|
|
143
143
|
// Regression guard: attaching a workspace previously top-anchored the
|
|
144
144
|
// composer. Centering must now hold irrespective of attached context.
|
|
145
|
-
expect(composerWrapper()?.className).toContain("my-auto");
|
|
146
|
-
expect(composerWrapper()?.className).not.toContain("my-6");
|
|
145
|
+
expect(composerWrapper()?.className).toContain("stg:my-auto");
|
|
146
|
+
expect(composerWrapper()?.className).not.toContain("stg:my-6");
|
|
147
147
|
});
|
|
148
148
|
});
|
|
@@ -103,8 +103,8 @@ describe("PlanEditor", () => {
|
|
|
103
103
|
expect(buildLabel.className).toContain("truncate");
|
|
104
104
|
const toolbar = screen.getByRole("tablist", { name: "Plan view" })
|
|
105
105
|
.parentElement!;
|
|
106
|
-
expect(toolbar.className).toContain("flex-wrap");
|
|
107
|
-
expect(toolbar.className).toContain("min-w-0");
|
|
106
|
+
expect(toolbar.className).toContain("stg:flex-wrap");
|
|
107
|
+
expect(toolbar.className).toContain("stg:min-w-0");
|
|
108
108
|
});
|
|
109
109
|
|
|
110
110
|
it("shows a pending label and disables the primary while the build starts", async () => {
|
|
@@ -8,8 +8,8 @@ import { SessionViewerLayout } from "../SessionViewerLayout";
|
|
|
8
8
|
// The contract under test:
|
|
9
9
|
// - `panel` is the single source of truth for collapsed state
|
|
10
10
|
// - the conversation never remounts across an open/close toggle
|
|
11
|
-
// - `responsive={false}` disables the
|
|
12
|
-
// (
|
|
11
|
+
// - `responsive={false}` disables the narrow-container conversation
|
|
12
|
+
// collapse (hosts that must never trade the conversation for the panel)
|
|
13
13
|
// - no `splitStorageKey` means no localStorage read (deterministic hosts)
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
|
|
@@ -75,17 +75,24 @@ describe("SessionViewerLayout", () => {
|
|
|
75
75
|
expect(pane.style.width).toBe("420px");
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
// The collapse classes are container-query variants keyed on the split's
|
|
79
|
+
// own box, never the viewport (stigmer/stigmer#301). These are class-name
|
|
80
|
+
// pins only — the real layout behavior (a narrow dock inside a wide window
|
|
81
|
+
// collapsing) is proven in Chromium by ResizableSplit.layout.test.tsx.
|
|
82
|
+
it("responsive (default): the open-panel conversation pane collapses in a narrow container", () => {
|
|
79
83
|
const { container } = render(
|
|
80
84
|
<SessionViewerLayout conversation={conversation()} panel={panel()} />,
|
|
81
85
|
);
|
|
82
86
|
const pane = screen.getByTestId("conversation").parentElement!;
|
|
83
|
-
expect(pane.className).toContain("max-
|
|
84
|
-
// The separator hides with it, so the panel is the full row
|
|
85
|
-
expect(
|
|
87
|
+
expect(pane.className).toContain("stg:@max-3xl/resizable-split:hidden");
|
|
88
|
+
// The separator hides with it, so the panel is the full narrow row.
|
|
89
|
+
expect(
|
|
90
|
+
container.querySelectorAll('[class*="stg:@max-3xl/resizable-split:hidden"]')
|
|
91
|
+
.length,
|
|
92
|
+
).toBe(2);
|
|
86
93
|
});
|
|
87
94
|
|
|
88
|
-
it("responsive={false}: no
|
|
95
|
+
it("responsive={false}: no narrow-container collapse anywhere (opt-out hosts)", () => {
|
|
89
96
|
const { container } = render(
|
|
90
97
|
<SessionViewerLayout
|
|
91
98
|
conversation={conversation()}
|
|
@@ -93,7 +100,12 @@ describe("SessionViewerLayout", () => {
|
|
|
93
100
|
responsive={false}
|
|
94
101
|
/>,
|
|
95
102
|
);
|
|
96
|
-
expect(
|
|
103
|
+
expect(
|
|
104
|
+
container.querySelector('[class*="stg:@max-3xl/resizable-split:hidden"]'),
|
|
105
|
+
).toBeNull();
|
|
106
|
+
// No collapse to decide means no CSS container either (the containment
|
|
107
|
+
// invariant documented in ResizableSplit).
|
|
108
|
+
expect(container.querySelector('[class*="stg:@container"]')).toBeNull();
|
|
97
109
|
});
|
|
98
110
|
|
|
99
111
|
it("reads no localStorage without a splitStorageKey (deterministic hosts)", () => {
|
|
@@ -260,6 +260,68 @@ describe("useSessionConversation", () => {
|
|
|
260
260
|
expect(result.current.pendingUserMessage).toBe("Hello agent");
|
|
261
261
|
});
|
|
262
262
|
|
|
263
|
+
it("sendFollowUp carries the submit's attachments as pendingAttachments, cleared with the first snapshot", async () => {
|
|
264
|
+
methods.listBySession.mockResolvedValue({ entries: [] });
|
|
265
|
+
const newExec = makeExecution("new-exec", ExecutionPhase.EXECUTION_PENDING);
|
|
266
|
+
newExec.metadata!.id = "new-exec";
|
|
267
|
+
methods.executionCreate.mockResolvedValue(newExec);
|
|
268
|
+
|
|
269
|
+
const newStream = createControllableStream<AgentExecution>();
|
|
270
|
+
methods.subscribe.mockReturnValue(newStream.generator);
|
|
271
|
+
|
|
272
|
+
const attachments = [
|
|
273
|
+
{ filename: "sketch.png", storageKey: "attachments/01AAA/sketch.png", contentType: "image/png" },
|
|
274
|
+
];
|
|
275
|
+
|
|
276
|
+
const { result } = renderHook(
|
|
277
|
+
() => useSessionConversation("session-1", "org"),
|
|
278
|
+
{ wrapper: createWrapper(mockStigmer) },
|
|
279
|
+
);
|
|
280
|
+
await waitFor(() => expect(result.current.isLoading).toBe(false));
|
|
281
|
+
|
|
282
|
+
await act(async () => {
|
|
283
|
+
await result.current.sendFollowUp("Here is a sketch", { attachments });
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
// The optimistic turn carries BOTH facets — text and files (#372).
|
|
287
|
+
expect(result.current.pendingUserMessage).toBe("Here is a sketch");
|
|
288
|
+
expect(result.current.pendingAttachments).toBe(attachments);
|
|
289
|
+
|
|
290
|
+
act(() => {
|
|
291
|
+
newStream.push(
|
|
292
|
+
makeExecution("new-exec", ExecutionPhase.EXECUTION_IN_PROGRESS),
|
|
293
|
+
);
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
// Both clear together once the real execution record takes over.
|
|
297
|
+
await waitFor(() => {
|
|
298
|
+
expect(result.current.pendingUserMessage).toBeNull();
|
|
299
|
+
expect(result.current.pendingAttachments).toBeNull();
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
it("keeps pendingAttachments when the send fails (the chips are what Retry re-sends)", async () => {
|
|
304
|
+
methods.listBySession.mockResolvedValue({ entries: [] });
|
|
305
|
+
methods.executionCreate.mockRejectedValue(new Error("create boom"));
|
|
306
|
+
|
|
307
|
+
const attachments = [
|
|
308
|
+
{ filename: "notes.txt", storageKey: "attachments/01BBB/notes.txt", contentType: "text/plain" },
|
|
309
|
+
];
|
|
310
|
+
|
|
311
|
+
const { result } = renderHook(
|
|
312
|
+
() => useSessionConversation("session-1", "org"),
|
|
313
|
+
{ wrapper: createWrapper(mockStigmer) },
|
|
314
|
+
);
|
|
315
|
+
await waitFor(() => expect(result.current.isLoading).toBe(false));
|
|
316
|
+
|
|
317
|
+
await act(async () => {
|
|
318
|
+
await result.current.sendFollowUp("keep my files", { attachments });
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
expect(result.current.sendError?.message).toBe("create boom");
|
|
322
|
+
expect(result.current.pendingAttachments).toBe(attachments);
|
|
323
|
+
});
|
|
324
|
+
|
|
263
325
|
it("sendFollowUp creates execution via the SDK", async () => {
|
|
264
326
|
methods.listBySession.mockResolvedValue({ entries: [] });
|
|
265
327
|
const newExec = makeExecution("new-exec", ExecutionPhase.EXECUTION_PENDING);
|
|
@@ -113,8 +113,8 @@ export function ArtifactsTab({
|
|
|
113
113
|
|
|
114
114
|
if (!hasArtifacts) {
|
|
115
115
|
return (
|
|
116
|
-
<div className="flex flex-col items-center justify-center px-4 py-8 text-center">
|
|
117
|
-
<p className="text-xs text-muted-foreground">
|
|
116
|
+
<div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
|
|
117
|
+
<p className="stg:text-xs stg:text-muted-foreground">
|
|
118
118
|
No artifacts yet. Files generated by the agent will appear here.
|
|
119
119
|
</p>
|
|
120
120
|
</div>
|
|
@@ -123,7 +123,7 @@ export function ArtifactsTab({
|
|
|
123
123
|
|
|
124
124
|
return (
|
|
125
125
|
<>
|
|
126
|
-
<ul role="list" className="flex flex-col">
|
|
126
|
+
<ul role="list" className="stg:flex stg:flex-col">
|
|
127
127
|
{artifacts.map((entry) => (
|
|
128
128
|
<ArtifactRow
|
|
129
129
|
key={artifactKey(entry.artifact)}
|
|
@@ -48,7 +48,7 @@ export function ChangesTab({
|
|
|
48
48
|
// Dense row groups matching the Artifacts facet's list — gap separates
|
|
49
49
|
// entries only in multi-repo sessions (single-entry lists stay seamless).
|
|
50
50
|
return (
|
|
51
|
-
<ul role="list" className="flex flex-col gap-3">
|
|
51
|
+
<ul role="list" className="stg:flex stg:flex-col stg:gap-3">
|
|
52
52
|
{writeBacks.map((entry) => (
|
|
53
53
|
<li key={entry.writeBack.workspaceEntryName}>
|
|
54
54
|
<WriteBackCard writeBack={entry.writeBack} />
|
|
@@ -60,8 +60,8 @@ export function ChangesTab({
|
|
|
60
60
|
|
|
61
61
|
if (expectsWriteBack) {
|
|
62
62
|
return (
|
|
63
|
-
<div className="flex flex-col items-center justify-center px-4 py-8 text-center">
|
|
64
|
-
<p className="text-xs text-muted-foreground">
|
|
63
|
+
<div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
|
|
64
|
+
<p className="stg:text-xs stg:text-muted-foreground">
|
|
65
65
|
{isSettled
|
|
66
66
|
? "No changes have been pushed yet. When the agent changes files " +
|
|
67
67
|
"and you approve them, they are pushed to a branch and pull " +
|
|
@@ -74,8 +74,8 @@ export function ChangesTab({
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
return (
|
|
77
|
-
<div className="flex flex-col items-center justify-center px-4 py-8 text-center">
|
|
78
|
-
<p className="text-xs text-muted-foreground">
|
|
77
|
+
<div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
|
|
78
|
+
<p className="stg:text-xs stg:text-muted-foreground">
|
|
79
79
|
No changes yet. Pull requests will appear here once the agent pushes
|
|
80
80
|
its work back to your repository.
|
|
81
81
|
</p>
|
|
@@ -70,7 +70,7 @@ export function SetupTab({
|
|
|
70
70
|
const hasSessionVars = sessionVariables != null && !sessionVariables.isEmpty;
|
|
71
71
|
|
|
72
72
|
return (
|
|
73
|
-
<div className="flex flex-col gap-5">
|
|
73
|
+
<div className="stg:flex stg:flex-col stg:gap-5">
|
|
74
74
|
<RunConfigSection
|
|
75
75
|
harness={harness}
|
|
76
76
|
executionTarget={executionTarget}
|
|
@@ -108,7 +108,7 @@ export function SetupTab({
|
|
|
108
108
|
|
|
109
109
|
function SectionHeading({ children }: { children: React.ReactNode }) {
|
|
110
110
|
return (
|
|
111
|
-
<h3 className="text-[0.65rem] font-semibold uppercase tracking-wider text-muted-foreground">
|
|
111
|
+
<h3 className="stg:text-[0.65rem] stg:font-semibold stg:uppercase stg:tracking-wider stg:text-muted-foreground">
|
|
112
112
|
{children}
|
|
113
113
|
</h3>
|
|
114
114
|
);
|
|
@@ -116,14 +116,14 @@ function SectionHeading({ children }: { children: React.ReactNode }) {
|
|
|
116
116
|
|
|
117
117
|
function EmptyHint({ children }: { children: React.ReactNode }) {
|
|
118
118
|
return (
|
|
119
|
-
<p className="text-xs text-muted-foreground/70">{children}</p>
|
|
119
|
+
<p className="stg:text-xs stg:text-muted-foreground/70">{children}</p>
|
|
120
120
|
);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
function ItemPill({ children, className: cls }: { children: React.ReactNode; className?: string }) {
|
|
124
124
|
return (
|
|
125
125
|
<span className={cn(
|
|
126
|
-
"inline-flex items-center gap-1.5 rounded-md bg-muted-subtle px-2 py-1 text-xs text-foreground",
|
|
126
|
+
"stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:bg-muted-subtle stg:px-2 stg:py-1 stg:text-xs stg:text-foreground",
|
|
127
127
|
cls,
|
|
128
128
|
)}>
|
|
129
129
|
{children}
|
|
@@ -136,7 +136,7 @@ function RemoveButton({ onClick, label }: { onClick: () => void; label: string }
|
|
|
136
136
|
<button
|
|
137
137
|
type="button"
|
|
138
138
|
onClick={onClick}
|
|
139
|
-
className="shrink-0 text-muted-foreground hover:text-destructive transition-colors"
|
|
139
|
+
className="stg:shrink-0 stg:text-muted-foreground stg:hover:text-destructive stg:transition-colors"
|
|
140
140
|
aria-label={label}
|
|
141
141
|
>
|
|
142
142
|
<XIcon />
|
|
@@ -158,22 +158,22 @@ function RunConfigSection({
|
|
|
158
158
|
modelId: string | undefined;
|
|
159
159
|
}) {
|
|
160
160
|
return (
|
|
161
|
-
<section className="flex flex-col gap-1.5">
|
|
161
|
+
<section className="stg:flex stg:flex-col stg:gap-1.5">
|
|
162
162
|
<SectionHeading>Run Config</SectionHeading>
|
|
163
|
-
<div className="flex flex-wrap gap-1.5">
|
|
163
|
+
<div className="stg:flex stg:flex-wrap stg:gap-1.5">
|
|
164
164
|
<ItemPill>
|
|
165
|
-
<span className="text-muted-foreground">Harness</span>
|
|
165
|
+
<span className="stg:text-muted-foreground">Harness</span>
|
|
166
166
|
{HARNESS_META[harness]?.label ?? harness}
|
|
167
167
|
</ItemPill>
|
|
168
168
|
{modelId && (
|
|
169
169
|
<ItemPill>
|
|
170
|
-
<span className="text-muted-foreground">Model</span>
|
|
170
|
+
<span className="stg:text-muted-foreground">Model</span>
|
|
171
171
|
{modelId}
|
|
172
172
|
</ItemPill>
|
|
173
173
|
)}
|
|
174
174
|
{executionTarget && (
|
|
175
175
|
<ItemPill>
|
|
176
|
-
<span className="text-muted-foreground">Target</span>
|
|
176
|
+
<span className="stg:text-muted-foreground">Target</span>
|
|
177
177
|
{executionTarget === "local" ? "Local" : "Cloud"}
|
|
178
178
|
</ItemPill>
|
|
179
179
|
)}
|
|
@@ -196,10 +196,10 @@ function AgentSection({
|
|
|
196
196
|
onRemove?: () => void;
|
|
197
197
|
}) {
|
|
198
198
|
return (
|
|
199
|
-
<section className="flex flex-col gap-1.5">
|
|
199
|
+
<section className="stg:flex stg:flex-col stg:gap-1.5">
|
|
200
200
|
<SectionHeading>Agent</SectionHeading>
|
|
201
201
|
{agentRef ? (
|
|
202
|
-
<div className="flex items-center gap-1.5">
|
|
202
|
+
<div className="stg:flex stg:items-center stg:gap-1.5">
|
|
203
203
|
<ItemPill>
|
|
204
204
|
{agentRef.slug}
|
|
205
205
|
{onRemove && !isDefaultAgent && (
|
|
@@ -207,7 +207,7 @@ function AgentSection({
|
|
|
207
207
|
)}
|
|
208
208
|
</ItemPill>
|
|
209
209
|
{isDefaultAgent && (
|
|
210
|
-
<span className="rounded bg-primary/10 px-1.5 py-0.5 text-[0.6rem] font-medium text-primary">
|
|
210
|
+
<span className="stg:rounded stg:bg-primary/10 stg:px-1.5 stg:py-0.5 stg:text-[0.6rem] stg:font-medium stg:text-primary">
|
|
211
211
|
default
|
|
212
212
|
</span>
|
|
213
213
|
)}
|
|
@@ -231,15 +231,15 @@ function McpSection({
|
|
|
231
231
|
onRemove?: (ref: ResourceRef) => void;
|
|
232
232
|
}) {
|
|
233
233
|
return (
|
|
234
|
-
<section className="flex flex-col gap-1.5">
|
|
234
|
+
<section className="stg:flex stg:flex-col stg:gap-1.5">
|
|
235
235
|
<SectionHeading>
|
|
236
236
|
MCP Servers
|
|
237
237
|
{mcpServerUsages.length > 0 && (
|
|
238
|
-
<span className="ml-1 text-muted-foreground/60">({mcpServerUsages.length})</span>
|
|
238
|
+
<span className="stg:ml-1 stg:text-muted-foreground/60">({mcpServerUsages.length})</span>
|
|
239
239
|
)}
|
|
240
240
|
</SectionHeading>
|
|
241
241
|
{mcpServerUsages.length > 0 ? (
|
|
242
|
-
<div className="flex flex-col gap-1">
|
|
242
|
+
<div className="stg:flex stg:flex-col stg:gap-1">
|
|
243
243
|
{mcpServerUsages.map((usage) => {
|
|
244
244
|
const slug = usage.mcpServerRef.slug;
|
|
245
245
|
const enabledCount = usage.enabledTools?.length;
|
|
@@ -247,7 +247,7 @@ function McpSection({
|
|
|
247
247
|
<ItemPill key={`${usage.mcpServerRef.org}/${slug}`}>
|
|
248
248
|
<span>{slug}</span>
|
|
249
249
|
{enabledCount != null && enabledCount > 0 && (
|
|
250
|
-
<span className="text-muted-foreground">
|
|
250
|
+
<span className="stg:text-muted-foreground">
|
|
251
251
|
{enabledCount} tool{enabledCount !== 1 ? "s" : ""}
|
|
252
252
|
</span>
|
|
253
253
|
)}
|
|
@@ -280,15 +280,15 @@ function SkillsSection({
|
|
|
280
280
|
onRemove?: (ref: ResourceRef) => void;
|
|
281
281
|
}) {
|
|
282
282
|
return (
|
|
283
|
-
<section className="flex flex-col gap-1.5">
|
|
283
|
+
<section className="stg:flex stg:flex-col stg:gap-1.5">
|
|
284
284
|
<SectionHeading>
|
|
285
285
|
Skills
|
|
286
286
|
{skillRefs.length > 0 && (
|
|
287
|
-
<span className="ml-1 text-muted-foreground/60">({skillRefs.length})</span>
|
|
287
|
+
<span className="stg:ml-1 stg:text-muted-foreground/60">({skillRefs.length})</span>
|
|
288
288
|
)}
|
|
289
289
|
</SectionHeading>
|
|
290
290
|
{skillRefs.length > 0 ? (
|
|
291
|
-
<div className="flex flex-wrap gap-1.5">
|
|
291
|
+
<div className="stg:flex stg:flex-wrap stg:gap-1.5">
|
|
292
292
|
{skillRefs.map((ref) => (
|
|
293
293
|
<ItemPill key={`${ref.org}/${ref.slug}`}>
|
|
294
294
|
{ref.slug}
|
|
@@ -318,21 +318,21 @@ function SessionVarsSection({
|
|
|
318
318
|
entries: UseSessionVariablesReturn["entries"];
|
|
319
319
|
}) {
|
|
320
320
|
return (
|
|
321
|
-
<section className="flex flex-col gap-1.5">
|
|
321
|
+
<section className="stg:flex stg:flex-col stg:gap-1.5">
|
|
322
322
|
<SectionHeading>
|
|
323
323
|
Session Variables
|
|
324
|
-
<span className="ml-1 font-normal normal-case tracking-normal text-muted-foreground/60">
|
|
324
|
+
<span className="stg:ml-1 stg:font-normal stg:normal-case stg:tracking-normal stg:text-muted-foreground/60">
|
|
325
325
|
(next message only)
|
|
326
326
|
</span>
|
|
327
327
|
</SectionHeading>
|
|
328
|
-
<div className="flex flex-col gap-1">
|
|
328
|
+
<div className="stg:flex stg:flex-col stg:gap-1">
|
|
329
329
|
{entries.map((entry) => (
|
|
330
330
|
<ItemPill key={entry.id}>
|
|
331
|
-
<span className="font-medium">{entry.key || "(unnamed)"}</span>
|
|
331
|
+
<span className="stg:font-medium">{entry.key || "(unnamed)"}</span>
|
|
332
332
|
{entry.isSecret ? (
|
|
333
|
-
<span className="text-muted-foreground">********</span>
|
|
333
|
+
<span className="stg:text-muted-foreground">********</span>
|
|
334
334
|
) : (
|
|
335
|
-
<span className="max-w-[140px] truncate text-muted-foreground">{entry.value}</span>
|
|
335
|
+
<span className="stg:max-w-[140px] stg:truncate stg:text-muted-foreground">{entry.value}</span>
|
|
336
336
|
)}
|
|
337
337
|
</ItemPill>
|
|
338
338
|
))}
|
|
@@ -20,8 +20,8 @@ export function UsageTab({ executions }: UsageTabProps) {
|
|
|
20
20
|
|
|
21
21
|
if (!usage.hasUsage) {
|
|
22
22
|
return (
|
|
23
|
-
<div className="flex flex-col items-center justify-center px-4 py-8 text-center">
|
|
24
|
-
<p className="text-xs text-muted-foreground">
|
|
23
|
+
<div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
|
|
24
|
+
<p className="stg:text-xs stg:text-muted-foreground">
|
|
25
25
|
No usage data yet. Cost and token stats will appear here.
|
|
26
26
|
</p>
|
|
27
27
|
</div>
|
|
@@ -213,6 +213,14 @@ export interface UseSessionConversationReturn {
|
|
|
213
213
|
* {@link sendError} to render the turn as failed with a retry control.
|
|
214
214
|
*/
|
|
215
215
|
readonly pendingUserMessage: string | null;
|
|
216
|
+
/**
|
|
217
|
+
* The attachments submitted with {@link pendingUserMessage}, so the
|
|
218
|
+
* optimistic bubble shows the turn's files, not just its text
|
|
219
|
+
* (stigmer/stigmer#372). Set and cleared in lockstep with the message —
|
|
220
|
+
* including retention on a failed send, where the chips are the evidence
|
|
221
|
+
* of what Retry will re-send. Wire to `MessageThread.pendingAttachments`.
|
|
222
|
+
*/
|
|
223
|
+
readonly pendingAttachments: readonly AttachmentInput[] | null;
|
|
216
224
|
|
|
217
225
|
/** Current workspace entries from the session spec. Empty array when session is not loaded. */
|
|
218
226
|
readonly workspaceEntries: readonly ProtoWorkspaceEntry[];
|
|
@@ -439,6 +447,12 @@ export function useSessionConversation(
|
|
|
439
447
|
const [pendingUserMessage, setPendingUserMessage] = useState<string | null>(
|
|
440
448
|
null,
|
|
441
449
|
);
|
|
450
|
+
// The pending message's attachments, kept in lockstep with the text: one
|
|
451
|
+
// pending turn, two facets. Held separately (not an object) so existing
|
|
452
|
+
// pendingUserMessage consumers keep their string contract.
|
|
453
|
+
const [pendingAttachments, setPendingAttachments] = useState<
|
|
454
|
+
readonly AttachmentInput[] | null
|
|
455
|
+
>(null);
|
|
442
456
|
// Dedicated send-failure state, distinct from the create hook's internal
|
|
443
457
|
// error so it can also cover the session.update() path. The last send's
|
|
444
458
|
// arguments are captured for an exact retry.
|
|
@@ -507,8 +521,9 @@ export function useSessionConversation(
|
|
|
507
521
|
useEffect(() => {
|
|
508
522
|
if (!stream.execution) return;
|
|
509
523
|
if (pendingUserMessage) setPendingUserMessage(null);
|
|
524
|
+
if (pendingAttachments) setPendingAttachments(null);
|
|
510
525
|
if (sendError) setSendError(null);
|
|
511
|
-
}, [pendingUserMessage, sendError, stream.execution]);
|
|
526
|
+
}, [pendingUserMessage, pendingAttachments, sendError, stream.execution]);
|
|
512
527
|
|
|
513
528
|
// Refetch executions when stream reaches a terminal phase so the
|
|
514
529
|
// fetched list reflects the completed status and listActiveId clears.
|
|
@@ -620,6 +635,7 @@ export function useSessionConversation(
|
|
|
620
635
|
// renders the failed-with-retry bubble instead of vanishing.
|
|
621
636
|
if (!options?.buildFromPlan) {
|
|
622
637
|
setPendingUserMessage(message);
|
|
638
|
+
setPendingAttachments(options?.attachments ?? null);
|
|
623
639
|
}
|
|
624
640
|
|
|
625
641
|
try {
|
|
@@ -666,8 +682,10 @@ export function useSessionConversation(
|
|
|
666
682
|
// pendingUserMessage) so the turn renders as failed-with-retry instead
|
|
667
683
|
// of vanishing. Covers both the update() and create() paths. For a
|
|
668
684
|
// build turn this is the FIRST time the message is set — failure is
|
|
669
|
-
// the one case where its label must become visible.
|
|
685
|
+
// the one case where its label must become visible. The attachments
|
|
686
|
+
// ride along: the failed bubble's chips are what Retry will re-send.
|
|
670
687
|
setPendingUserMessage(message);
|
|
688
|
+
setPendingAttachments(options?.attachments ?? null);
|
|
671
689
|
setSendError(toError(err));
|
|
672
690
|
if (process.env.NODE_ENV !== "production") {
|
|
673
691
|
console.error("[useSessionConversation] sendFollowUp failed:", err);
|
|
@@ -753,6 +771,7 @@ export function useSessionConversation(
|
|
|
753
771
|
retryLastSend,
|
|
754
772
|
|
|
755
773
|
pendingUserMessage,
|
|
774
|
+
pendingAttachments,
|
|
756
775
|
|
|
757
776
|
workspaceEntries,
|
|
758
777
|
mcpServerUsages,
|
|
@@ -38,10 +38,10 @@ export function ApiKeysSection() {
|
|
|
38
38
|
|
|
39
39
|
return (
|
|
40
40
|
<section aria-labelledby="api-keys-heading">
|
|
41
|
-
<div className="mb-3 flex items-center justify-between">
|
|
41
|
+
<div className="stg:mb-3 stg:flex stg:items-center stg:justify-between">
|
|
42
42
|
<h2
|
|
43
43
|
id="api-keys-heading"
|
|
44
|
-
className="text-foreground text-sm font-semibold"
|
|
44
|
+
className="stg:text-foreground stg:text-sm stg:font-semibold"
|
|
45
45
|
>
|
|
46
46
|
API Keys
|
|
47
47
|
</h2>
|
|
@@ -50,13 +50,13 @@ export function ApiKeysSection() {
|
|
|
50
50
|
<button
|
|
51
51
|
type="button"
|
|
52
52
|
onClick={() => setFlow({ phase: "creating" })}
|
|
53
|
-
className="text-primary hover:text-foreground text-xs font-medium transition-colors"
|
|
53
|
+
className="stg:text-primary stg:hover:text-foreground stg:text-xs stg:font-medium stg:transition-colors"
|
|
54
54
|
>
|
|
55
55
|
+ New API key
|
|
56
56
|
</button>
|
|
57
57
|
)}
|
|
58
58
|
</div>
|
|
59
|
-
<p className="text-muted-foreground mb-4 text-xs">
|
|
59
|
+
<p className="stg:text-muted-foreground stg:mb-4 stg:text-xs">
|
|
60
60
|
API keys authenticate CLI sessions and programmatic access to the
|
|
61
61
|
Stigmer API. Keys are scoped to your identity and work across all
|
|
62
62
|
your organizations.
|
|
@@ -74,12 +74,12 @@ export function ApiKeysSection() {
|
|
|
74
74
|
rawKey={flow.rawKey}
|
|
75
75
|
keyName={flow.keyName}
|
|
76
76
|
onDismiss={handleDismissReveal}
|
|
77
|
-
className="mb-4"
|
|
77
|
+
className="stg:mb-4"
|
|
78
78
|
/>
|
|
79
79
|
)}
|
|
80
80
|
|
|
81
81
|
{flow.phase === "creating" && (
|
|
82
|
-
<div className="border-border bg-card mb-4 rounded-lg border p-4">
|
|
82
|
+
<div className="stg:border-border stg:bg-card stg:mb-4 stg:rounded-lg stg:border stg:p-4">
|
|
83
83
|
<CreateApiKeyForm
|
|
84
84
|
org={org}
|
|
85
85
|
onCreated={handleCreated}
|
|
@@ -73,10 +73,10 @@ export function ChannelAppsSection() {
|
|
|
73
73
|
|
|
74
74
|
return (
|
|
75
75
|
<section aria-labelledby="channel-apps-heading">
|
|
76
|
-
<div className="mb-3 flex items-center justify-between">
|
|
76
|
+
<div className="stg:mb-3 stg:flex stg:items-center stg:justify-between">
|
|
77
77
|
<h2
|
|
78
78
|
id="channel-apps-heading"
|
|
79
|
-
className="text-foreground text-sm font-semibold"
|
|
79
|
+
className="stg:text-foreground stg:text-sm stg:font-semibold"
|
|
80
80
|
>
|
|
81
81
|
Channel Apps
|
|
82
82
|
</h2>
|
|
@@ -85,13 +85,13 @@ export function ChannelAppsSection() {
|
|
|
85
85
|
<button
|
|
86
86
|
type="button"
|
|
87
87
|
onClick={() => setFlow({ phase: "creating" })}
|
|
88
|
-
className="text-primary hover:text-foreground text-xs font-medium transition-colors"
|
|
88
|
+
className="stg:text-primary stg:hover:text-foreground stg:text-xs stg:font-medium stg:transition-colors"
|
|
89
89
|
>
|
|
90
90
|
+ New channel app
|
|
91
91
|
</button>
|
|
92
92
|
)}
|
|
93
93
|
</div>
|
|
94
|
-
<p className="text-muted-foreground mb-4 text-xs">
|
|
94
|
+
<p className="stg:text-muted-foreground stg:mb-4 stg:text-xs">
|
|
95
95
|
Your own provider apps for serving agent channels. A Slack app
|
|
96
96
|
gives the bot your name and icon, and lets multiple agents serve
|
|
97
97
|
the same workspace — one per app. A Meta app is how WhatsApp
|
|
@@ -104,7 +104,7 @@ export function ChannelAppsSection() {
|
|
|
104
104
|
require Stigmer Cloud.
|
|
105
105
|
</CloudFeatureNotice>
|
|
106
106
|
) : flow.phase === "creating" ? (
|
|
107
|
-
<div className="border-border bg-card rounded-lg border p-4">
|
|
107
|
+
<div className="stg:border-border stg:bg-card stg:rounded-lg stg:border stg:p-4">
|
|
108
108
|
<CreateChannelAppForm
|
|
109
109
|
org={org}
|
|
110
110
|
onCreated={handleCreated}
|
|
@@ -112,7 +112,7 @@ export function ChannelAppsSection() {
|
|
|
112
112
|
/>
|
|
113
113
|
</div>
|
|
114
114
|
) : flow.phase === "editing" ? (
|
|
115
|
-
<div className="border-border bg-card rounded-lg border p-4">
|
|
115
|
+
<div className="stg:border-border stg:bg-card stg:rounded-lg stg:border stg:p-4">
|
|
116
116
|
<ChannelAppDetailPanel
|
|
117
117
|
channelApp={flow.channelApp}
|
|
118
118
|
createHandoff={flow.createHandoff}
|