@stigmer/react 3.12.1 → 3.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/access/ManageAccessDialog.d.ts.map +1 -1
- package/access/ManageAccessDialog.js +8 -19
- package/access/ManageAccessDialog.js.map +1 -1
- package/activity/format-relative-time.d.ts +11 -9
- package/activity/format-relative-time.d.ts.map +1 -1
- package/activity/format-relative-time.js +11 -9
- package/activity/format-relative-time.js.map +1 -1
- package/agent/steps/CapabilitiesStep.js +5 -2
- package/agent/steps/CapabilitiesStep.js.map +1 -1
- package/agent/steps/IdentityStep.d.ts.map +1 -1
- package/agent/steps/IdentityStep.js +6 -5
- package/agent/steps/IdentityStep.js.map +1 -1
- package/agent-instance/CreateAgentInstanceDialog.d.ts.map +1 -1
- package/agent-instance/CreateAgentInstanceDialog.js +15 -20
- package/agent-instance/CreateAgentInstanceDialog.js.map +1 -1
- package/api-key/ApiKeyCreatedAlert.d.ts.map +1 -1
- package/api-key/ApiKeyCreatedAlert.js +12 -20
- package/api-key/ApiKeyCreatedAlert.js.map +1 -1
- package/api-key/ApiKeyListPanel.d.ts.map +1 -1
- package/api-key/ApiKeyListPanel.js +3 -23
- package/api-key/ApiKeyListPanel.js.map +1 -1
- package/api-key/CreateApiKeyForm.d.ts.map +1 -1
- package/api-key/CreateApiKeyForm.js +6 -10
- package/api-key/CreateApiKeyForm.js.map +1 -1
- package/approval-defaults-context.d.ts +47 -0
- package/approval-defaults-context.d.ts.map +1 -0
- package/approval-defaults-context.js +27 -0
- package/approval-defaults-context.js.map +1 -0
- package/attachment/AttachmentImageLightbox.d.ts.map +1 -1
- package/attachment/AttachmentImageLightbox.js +8 -23
- package/attachment/AttachmentImageLightbox.js.map +1 -1
- package/attachment/index.d.ts +2 -0
- package/attachment/index.d.ts.map +1 -1
- package/attachment/index.js +1 -0
- package/attachment/index.js.map +1 -1
- package/attachment/vision-preflight.d.ts +113 -0
- package/attachment/vision-preflight.d.ts.map +1 -0
- package/attachment/vision-preflight.js +143 -0
- package/attachment/vision-preflight.js.map +1 -0
- package/billing/AutoRechargeCard.d.ts.map +1 -1
- package/billing/AutoRechargeCard.js +3 -2
- package/billing/AutoRechargeCard.js.map +1 -1
- package/billing/BillingSection.d.ts.map +1 -1
- package/billing/BillingSection.js +3 -2
- package/billing/BillingSection.js.map +1 -1
- package/channel/ChannelConversationsDialog.d.ts.map +1 -1
- package/channel/ChannelConversationsDialog.js +6 -21
- package/channel/ChannelConversationsDialog.js.map +1 -1
- package/channel/ChannelCredentialsDialog.d.ts.map +1 -1
- package/channel/ChannelCredentialsDialog.js +10 -21
- package/channel/ChannelCredentialsDialog.js.map +1 -1
- package/channel/ChannelTemplatesDialog.d.ts.map +1 -1
- package/channel/ChannelTemplatesDialog.js +7 -22
- package/channel/ChannelTemplatesDialog.js.map +1 -1
- package/channel/ConnectSlackDialog.d.ts.map +1 -1
- package/channel/ConnectSlackDialog.js +10 -23
- package/channel/ConnectSlackDialog.js.map +1 -1
- package/channel/ConnectWhatsAppDialog.d.ts.map +1 -1
- package/channel/ConnectWhatsAppDialog.js +10 -23
- package/channel/ConnectWhatsAppDialog.js.map +1 -1
- package/channel/useChannelSessions.d.ts.map +1 -1
- package/channel/useChannelSessions.js.map +1 -1
- package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -1
- package/channel-app/ChannelAppDetailPanel.js +8 -5
- package/channel-app/ChannelAppDetailPanel.js.map +1 -1
- package/channel-app/CreateChannelAppForm.d.ts.map +1 -1
- package/channel-app/CreateChannelAppForm.js +12 -7
- package/channel-app/CreateChannelAppForm.js.map +1 -1
- package/channel-app/internal.d.ts +0 -1
- package/channel-app/internal.d.ts.map +1 -1
- package/channel-app/internal.js +5 -10
- package/channel-app/internal.js.map +1 -1
- package/composer/ComposerToolbar.js +2 -1
- package/composer/ComposerToolbar.js.map +1 -1
- package/composer/SessionComposer.d.ts +1 -1
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +120 -13
- package/composer/SessionComposer.js.map +1 -1
- package/composer/icons.d.ts +0 -1
- package/composer/icons.d.ts.map +1 -1
- package/composer/icons.js +0 -3
- package/composer/icons.js.map +1 -1
- package/conversation/ConversationAttentionBanner.d.ts +23 -6
- package/conversation/ConversationAttentionBanner.d.ts.map +1 -1
- package/conversation/ConversationAttentionBanner.js +25 -10
- package/conversation/ConversationAttentionBanner.js.map +1 -1
- package/conversation/ConversationComposer.js +1 -1
- package/conversation/ConversationComposer.js.map +1 -1
- package/conversation/ConversationListPane.d.ts.map +1 -1
- package/conversation/ConversationListPane.js +28 -8
- package/conversation/ConversationListPane.js.map +1 -1
- package/conversation/ConversationsWorkbench.d.ts.map +1 -1
- package/conversation/ConversationsWorkbench.js +1 -1
- package/conversation/ConversationsWorkbench.js.map +1 -1
- package/cursor-accounts/MemberCoverageTable.js +3 -14
- package/cursor-accounts/MemberCoverageTable.js.map +1 -1
- package/dashboard/DashboardFailedRuns.d.ts.map +1 -1
- package/dashboard/DashboardFailedRuns.js +2 -14
- package/dashboard/DashboardFailedRuns.js.map +1 -1
- package/environment/CreateEnvironmentForm.d.ts.map +1 -1
- package/environment/CreateEnvironmentForm.js +4 -8
- package/environment/CreateEnvironmentForm.js.map +1 -1
- package/environment/EnvVarForm.d.ts.map +1 -1
- package/environment/EnvVarForm.js +2 -4
- package/environment/EnvVarForm.js.map +1 -1
- package/environment/EnvironmentVariableEditor.d.ts.map +1 -1
- package/environment/EnvironmentVariableEditor.js +5 -7
- package/environment/EnvironmentVariableEditor.js.map +1 -1
- package/execution/ApprovalCard.d.ts.map +1 -1
- package/execution/ApprovalCard.js +13 -3
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ArtifactApplyButton.d.ts.map +1 -1
- package/execution/ArtifactApplyButton.js +2 -4
- package/execution/ArtifactApplyButton.js.map +1 -1
- package/execution/ArtifactPreviewModal.d.ts.map +1 -1
- package/execution/ArtifactPreviewModal.js +11 -17
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/ExecutionErrorNotice.d.ts +36 -0
- package/execution/ExecutionErrorNotice.d.ts.map +1 -0
- package/execution/ExecutionErrorNotice.js +39 -0
- package/execution/ExecutionErrorNotice.js.map +1 -0
- package/execution/FilePathLink.d.ts.map +1 -1
- package/execution/FilePathLink.js +5 -8
- package/execution/FilePathLink.js.map +1 -1
- package/execution/FileReviewCard.d.ts.map +1 -1
- package/execution/FileReviewCard.js +1 -6
- package/execution/FileReviewCard.js.map +1 -1
- package/execution/FollowUpInput.d.ts.map +1 -1
- package/execution/FollowUpInput.js +1 -3
- package/execution/FollowUpInput.js.map +1 -1
- package/execution/LivenessStatusLine.d.ts +40 -0
- package/execution/LivenessStatusLine.d.ts.map +1 -0
- package/execution/LivenessStatusLine.js +34 -0
- package/execution/LivenessStatusLine.js.map +1 -0
- package/execution/MessageEntry.d.ts.map +1 -1
- package/execution/MessageEntry.js +31 -3
- package/execution/MessageEntry.js.map +1 -1
- package/execution/MessageThread.d.ts +25 -0
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +51 -36
- package/execution/MessageThread.js.map +1 -1
- package/execution/SetupProgress.d.ts.map +1 -1
- package/execution/SetupProgress.js +1 -1
- package/execution/SetupProgress.js.map +1 -1
- package/execution/SubAgentSection.d.ts.map +1 -1
- package/execution/SubAgentSection.js +9 -7
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/TerminalSession.d.ts +30 -0
- package/execution/TerminalSession.d.ts.map +1 -1
- package/execution/TerminalSession.js +37 -1
- package/execution/TerminalSession.js.map +1 -1
- package/execution/ToolCallDetail.d.ts +9 -0
- package/execution/ToolCallDetail.d.ts.map +1 -1
- package/execution/ToolCallDetail.js +16 -0
- package/execution/ToolCallDetail.js.map +1 -1
- package/execution/ToolCallItem.d.ts +23 -7
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +120 -35
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/ToolRunGroup.d.ts.map +1 -1
- package/execution/ToolRunGroup.js +11 -11
- package/execution/ToolRunGroup.js.map +1 -1
- package/execution/WriteBackCard.d.ts.map +1 -1
- package/execution/WriteBackCard.js +5 -20
- package/execution/WriteBackCard.js.map +1 -1
- package/execution/index.d.ts +7 -3
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +4 -2
- package/execution/index.js.map +1 -1
- package/execution/tool-categories.d.ts +93 -7
- package/execution/tool-categories.d.ts.map +1 -1
- package/execution/tool-categories.js +141 -5
- package/execution/tool-categories.js.map +1 -1
- package/execution/tool-presenter.d.ts +32 -1
- package/execution/tool-presenter.d.ts.map +1 -1
- package/execution/tool-presenter.js +10 -2
- package/execution/tool-presenter.js.map +1 -1
- package/execution/useArtifactInspection.d.ts.map +1 -1
- package/execution/useArtifactInspection.js +4 -7
- package/execution/useArtifactInspection.js.map +1 -1
- package/iam-policy/GrantAccessForm.d.ts.map +1 -1
- package/iam-policy/GrantAccessForm.js +2 -4
- package/iam-policy/GrantAccessForm.js.map +1 -1
- package/iam-policy/OrgMembersPanel.d.ts.map +1 -1
- package/iam-policy/OrgMembersPanel.js +3 -5
- package/iam-policy/OrgMembersPanel.js.map +1 -1
- package/iam-policy/RoleSelector.d.ts.map +1 -1
- package/iam-policy/RoleSelector.js +7 -1
- package/iam-policy/RoleSelector.js.map +1 -1
- package/identity-provider/CreateIdentityProviderForm.d.ts.map +1 -1
- package/identity-provider/CreateIdentityProviderForm.js +6 -9
- package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.d.ts.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.js +17 -26
- package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
- package/identity-provider/IdentityProviderListPanel.d.ts.map +1 -1
- package/identity-provider/IdentityProviderListPanel.js +2 -4
- package/identity-provider/IdentityProviderListPanel.js.map +1 -1
- package/identity-provider/IdentityProviderWizard.d.ts.map +1 -1
- package/identity-provider/IdentityProviderWizard.js +8 -7
- package/identity-provider/IdentityProviderWizard.js.map +1 -1
- package/identity-provider/SsoLoginPrompt.js +5 -6
- package/identity-provider/SsoLoginPrompt.js.map +1 -1
- package/index.d.ts +9 -8
- package/index.d.ts.map +1 -1
- package/index.js +4 -4
- package/index.js.map +1 -1
- package/internal/DecisionButton.d.ts.map +1 -1
- package/internal/DecisionButton.js +1 -6
- package/internal/DecisionButton.js.map +1 -1
- package/internal/DialogShell.d.ts +77 -0
- package/internal/DialogShell.d.ts.map +1 -0
- package/internal/DialogShell.js +77 -0
- package/internal/DialogShell.js.map +1 -0
- package/internal/SpinnerIcon.d.ts +22 -0
- package/internal/SpinnerIcon.d.ts.map +1 -0
- package/internal/SpinnerIcon.js +23 -0
- package/internal/SpinnerIcon.js.map +1 -0
- package/internal/select-element-text.d.ts +11 -0
- package/internal/select-element-text.d.ts.map +1 -0
- package/internal/select-element-text.js +19 -0
- package/internal/select-element-text.js.map +1 -0
- package/internal/thread-card/ThreadCardShell.d.ts +27 -10
- package/internal/thread-card/ThreadCardShell.d.ts.map +1 -1
- package/internal/thread-card/ThreadCardShell.js +11 -5
- package/internal/thread-card/ThreadCardShell.js.map +1 -1
- package/internal/thread-card/glyphs.d.ts +11 -2
- package/internal/thread-card/glyphs.d.ts.map +1 -1
- package/internal/thread-card/glyphs.js +9 -3
- package/internal/thread-card/glyphs.js.map +1 -1
- package/internal/thread-card/index.d.ts +1 -1
- package/internal/thread-card/index.d.ts.map +1 -1
- package/internal/thread-card/index.js.map +1 -1
- package/internal/useCopyFeedback.d.ts +28 -0
- package/internal/useCopyFeedback.d.ts.map +1 -0
- package/internal/useCopyFeedback.js +40 -0
- package/internal/useCopyFeedback.js.map +1 -0
- package/invitation/InvitationCreatedAlert.d.ts.map +1 -1
- package/invitation/InvitationCreatedAlert.js +12 -19
- package/invitation/InvitationCreatedAlert.js.map +1 -1
- package/invitation/InvitationManager.d.ts.map +1 -1
- package/invitation/InvitationManager.js +14 -21
- package/invitation/InvitationManager.js.map +1 -1
- package/invitation/InvitationRedemption.d.ts.map +1 -1
- package/invitation/InvitationRedemption.js +2 -4
- package/invitation/InvitationRedemption.js.map +1 -1
- package/library/useExportResource.d.ts.map +1 -1
- package/library/useExportResource.js +16 -27
- package/library/useExportResource.js.map +1 -1
- package/manifest/ApplyManifestDialog.d.ts.map +1 -1
- package/manifest/ApplyManifestDialog.js +7 -17
- package/manifest/ApplyManifestDialog.js.map +1 -1
- package/manifest/EditResourceYamlDialog.d.ts.map +1 -1
- package/manifest/EditResourceYamlDialog.js +3 -19
- package/manifest/EditResourceYamlDialog.js.map +1 -1
- package/mcp-server/DefinitionDriftNotice.d.ts +42 -0
- package/mcp-server/DefinitionDriftNotice.d.ts.map +1 -0
- package/mcp-server/DefinitionDriftNotice.js +52 -0
- package/mcp-server/DefinitionDriftNotice.js.map +1 -0
- package/mcp-server/McpServerConnectDialog.d.ts.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +8 -20
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +50 -28
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/OAuthAppForm.d.ts.map +1 -1
- package/mcp-server/OAuthAppForm.js +2 -4
- package/mcp-server/OAuthAppForm.js.map +1 -1
- package/mcp-server/internal/definitionDrift.d.ts +39 -0
- package/mcp-server/internal/definitionDrift.d.ts.map +1 -0
- package/mcp-server/internal/definitionDrift.js +122 -0
- package/mcp-server/internal/definitionDrift.js.map +1 -0
- package/mcp-server/internal/mcpServerToInput.d.ts.map +1 -1
- package/mcp-server/internal/mcpServerToInput.js +3 -0
- package/mcp-server/internal/mcpServerToInput.js.map +1 -1
- package/mcp-server/steps/EnvironmentAuthStep.d.ts.map +1 -1
- package/mcp-server/steps/EnvironmentAuthStep.js +8 -4
- package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -1
- package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -1
- package/mcp-server/steps/IdentityTransportStep.js +5 -4
- package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
- package/mcp-server/useMcpServerConnect.d.ts +1 -1
- package/mcp-server/useMcpServerDefinitionDrift.d.ts +44 -0
- package/mcp-server/useMcpServerDefinitionDrift.d.ts.map +1 -0
- package/mcp-server/useMcpServerDefinitionDrift.js +61 -0
- package/mcp-server/useMcpServerDefinitionDrift.js.map +1 -0
- package/models/ModelRegistryContext.d.ts +7 -1
- package/models/ModelRegistryContext.d.ts.map +1 -1
- package/models/ModelRegistryContext.js.map +1 -1
- package/models/ModelSelector.js +9 -1
- package/models/ModelSelector.js.map +1 -1
- package/models/index.d.ts +2 -2
- package/models/index.d.ts.map +1 -1
- package/models/index.js +1 -1
- package/models/index.js.map +1 -1
- package/models/registry.d.ts +88 -6
- package/models/registry.d.ts.map +1 -1
- package/models/registry.js +133 -27
- package/models/registry.js.map +1 -1
- package/models/useModelRegistry.d.ts +7 -1
- package/models/useModelRegistry.d.ts.map +1 -1
- package/models/useModelRegistry.js +3 -2
- package/models/useModelRegistry.js.map +1 -1
- package/oauth-app/CreateOAuthAppForm.d.ts.map +1 -1
- package/oauth-app/CreateOAuthAppForm.js +4 -5
- package/oauth-app/CreateOAuthAppForm.js.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.d.ts.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.js +5 -6
- package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
- package/organization/CreateOrganizationForm.d.ts.map +1 -1
- package/organization/CreateOrganizationForm.js +5 -9
- package/organization/CreateOrganizationForm.js.map +1 -1
- package/organization/OrgProfilePanel.d.ts.map +1 -1
- package/organization/OrgProfilePanel.js +7 -16
- package/organization/OrgProfilePanel.js.map +1 -1
- package/package.json +4 -4
- package/platform-client/CreatePlatformClientForm.d.ts.map +1 -1
- package/platform-client/CreatePlatformClientForm.js +5 -6
- package/platform-client/CreatePlatformClientForm.js.map +1 -1
- package/platform-client/PlatformClientDetailPanel.d.ts.map +1 -1
- package/platform-client/PlatformClientDetailPanel.js +6 -7
- package/platform-client/PlatformClientDetailPanel.js.map +1 -1
- package/platform-client/PlatformClientListPanel.d.ts.map +1 -1
- package/platform-client/PlatformClientListPanel.js +2 -4
- package/platform-client/PlatformClientListPanel.js.map +1 -1
- package/platform-client/PlatformClientSecretAlert.d.ts.map +1 -1
- package/platform-client/PlatformClientSecretAlert.js +18 -25
- package/platform-client/PlatformClientSecretAlert.js.map +1 -1
- package/provider.d.ts +34 -1
- package/provider.d.ts.map +1 -1
- package/provider.js +14 -7
- package/provider.js.map +1 -1
- package/resource-creation/WizardNav.d.ts.map +1 -1
- package/resource-creation/WizardNav.js +2 -4
- package/resource-creation/WizardNav.js.map +1 -1
- package/resource-detail/ConfirmDialog.d.ts +2 -3
- package/resource-detail/ConfirmDialog.d.ts.map +1 -1
- package/resource-detail/ConfirmDialog.js +8 -20
- package/resource-detail/ConfirmDialog.js.map +1 -1
- package/resource-detail/useCopyResource.d.ts +4 -3
- package/resource-detail/useCopyResource.d.ts.map +1 -1
- package/resource-detail/useCopyResource.js +10 -19
- package/resource-detail/useCopyResource.js.map +1 -1
- package/schedule/ScheduleDetailView.d.ts.map +1 -1
- package/schedule/ScheduleDetailView.js +2 -4
- package/schedule/ScheduleDetailView.js.map +1 -1
- package/schedule/ScheduleForm.d.ts.map +1 -1
- package/schedule/ScheduleForm.js +6 -7
- package/schedule/ScheduleForm.js.map +1 -1
- package/session/NewSessionViewer.d.ts +52 -2
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +21 -6
- package/session/NewSessionViewer.js.map +1 -1
- package/session/SessionViewer.d.ts +63 -2
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +43 -17
- package/session/SessionViewer.js.map +1 -1
- package/session/audience.d.ts +17 -0
- package/session/audience.d.ts.map +1 -1
- package/session/index.d.ts +2 -1
- package/session/index.d.ts.map +1 -1
- package/session/index.js.map +1 -1
- package/session/run-config.d.ts +50 -0
- package/session/run-config.d.ts.map +1 -0
- package/session/run-config.js +15 -0
- package/session/run-config.js.map +1 -0
- package/session/useNewSessionFlow.d.ts +11 -0
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +29 -2
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSessionConversation.d.ts +7 -7
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +2 -0
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionPageFlow.d.ts +18 -4
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +33 -6
- package/session/useSessionPageFlow.js.map +1 -1
- package/session/useSessionPanel.d.ts +37 -2
- package/session/useSessionPanel.d.ts.map +1 -1
- package/session/useSessionPanel.js +44 -10
- package/session/useSessionPanel.js.map +1 -1
- package/settings/ApiKeysSection.d.ts.map +1 -1
- package/settings/ApiKeysSection.js +3 -2
- package/settings/ApiKeysSection.js.map +1 -1
- package/settings/ChannelAppsSection.d.ts.map +1 -1
- package/settings/ChannelAppsSection.js +3 -2
- package/settings/ChannelAppsSection.js.map +1 -1
- package/settings/EnvironmentsSection.js +5 -3
- package/settings/EnvironmentsSection.js.map +1 -1
- package/settings/IdentityProvidersSection.d.ts.map +1 -1
- package/settings/IdentityProvidersSection.js +3 -2
- package/settings/IdentityProvidersSection.js.map +1 -1
- package/settings/InvitationsSection.d.ts.map +1 -1
- package/settings/InvitationsSection.js +3 -1
- package/settings/InvitationsSection.js.map +1 -1
- package/settings/MembersSection.d.ts.map +1 -1
- package/settings/MembersSection.js +3 -1
- package/settings/MembersSection.js.map +1 -1
- package/settings/OAuthAppsSection.d.ts.map +1 -1
- package/settings/OAuthAppsSection.js +3 -2
- package/settings/OAuthAppsSection.js.map +1 -1
- package/settings/OrgProfileSection.d.ts.map +1 -1
- package/settings/OrgProfileSection.js +3 -2
- package/settings/OrgProfileSection.js.map +1 -1
- package/settings/PlatformClientsSection.d.ts.map +1 -1
- package/settings/PlatformClientsSection.js +3 -2
- package/settings/PlatformClientsSection.js.map +1 -1
- package/settings/UsageSection.d.ts.map +1 -1
- package/settings/UsageSection.js +3 -1
- package/settings/UsageSection.js.map +1 -1
- package/sharing/ShareAgentDialog.d.ts.map +1 -1
- package/sharing/ShareAgentDialog.js +19 -26
- package/sharing/ShareAgentDialog.js.map +1 -1
- package/sidebar/chrome.d.ts +3 -4
- package/sidebar/chrome.d.ts.map +1 -1
- package/sidebar/chrome.js +5 -4
- package/sidebar/chrome.js.map +1 -1
- package/skill/SkillDiffDialog.d.ts.map +1 -1
- package/skill/SkillDiffDialog.js +5 -21
- package/skill/SkillDiffDialog.js.map +1 -1
- package/src/access/ManageAccessDialog.tsx +14 -28
- package/src/activity/format-relative-time.ts +11 -9
- package/src/agent/steps/CapabilitiesStep.tsx +6 -3
- package/src/agent/steps/IdentityStep.tsx +19 -12
- package/src/agent-instance/CreateAgentInstanceDialog.tsx +29 -33
- package/src/api-key/ApiKeyCreatedAlert.tsx +10 -19
- package/src/api-key/ApiKeyListPanel.tsx +3 -39
- package/src/api-key/CreateApiKeyForm.tsx +12 -26
- package/src/approval-defaults-context.ts +56 -0
- package/src/attachment/AttachmentImageLightbox.tsx +13 -36
- package/src/attachment/__tests__/vision-preflight.test.ts +311 -0
- package/src/attachment/index.ts +12 -0
- package/src/attachment/vision-preflight.ts +236 -0
- package/src/billing/AutoRechargeCard.tsx +5 -4
- package/src/billing/BillingSection.tsx +4 -3
- package/src/channel/ChannelConversationsDialog.tsx +14 -29
- package/src/channel/ChannelCredentialsDialog.tsx +19 -29
- package/src/channel/ChannelTemplatesDialog.tsx +16 -31
- package/src/channel/ConnectSlackDialog.tsx +19 -31
- package/src/channel/ConnectWhatsAppDialog.tsx +19 -31
- package/src/channel/useChannelSessions.ts +3 -0
- package/src/channel-app/ChannelAppDetailPanel.tsx +15 -12
- package/src/channel-app/CreateChannelAppForm.tsx +17 -12
- package/src/channel-app/internal.tsx +5 -25
- package/src/composer/ComposerToolbar.tsx +1 -1
- package/src/composer/SessionComposer.tsx +160 -13
- package/src/composer/__tests__/SessionComposer-modelCoherence.test.tsx +220 -0
- package/src/composer/__tests__/SessionComposer-visionPreflight.test.tsx +222 -0
- package/src/composer/icons.tsx +0 -18
- package/src/conversation/ConversationAttentionBanner.tsx +64 -19
- package/src/conversation/ConversationComposer.tsx +1 -1
- package/src/conversation/ConversationListPane.tsx +46 -20
- package/src/conversation/ConversationsWorkbench.tsx +1 -0
- package/src/conversation/__tests__/ConversationAttentionBanner.test.tsx +76 -2
- package/src/conversation/__tests__/ConversationListPane.test.tsx +15 -4
- package/src/cursor-accounts/MemberCoverageTable.tsx +3 -14
- package/src/cursor-accounts/__tests__/CursorAccountsConsole.test.tsx +2 -10
- package/src/dashboard/DashboardFailedRuns.tsx +2 -12
- package/src/environment/CreateEnvironmentForm.tsx +8 -27
- package/src/environment/EnvVarForm.tsx +2 -18
- package/src/environment/EnvironmentVariableEditor.tsx +5 -21
- package/src/execution/ApprovalCard.tsx +23 -2
- package/src/execution/ArtifactApplyButton.tsx +2 -17
- package/src/execution/ArtifactPreviewModal.tsx +15 -27
- package/src/execution/ExecutionErrorNotice.tsx +99 -0
- package/src/execution/FilePathLink.tsx +5 -9
- package/src/execution/FileReviewCard.tsx +1 -20
- package/src/execution/FollowUpInput.tsx +1 -16
- package/src/execution/LivenessStatusLine.tsx +59 -0
- package/src/execution/MessageEntry.tsx +136 -25
- package/src/execution/MessageThread.tsx +84 -83
- package/src/execution/SetupProgress.tsx +5 -1
- package/src/execution/SubAgentSection.tsx +9 -20
- package/src/execution/TerminalSession.tsx +97 -10
- package/src/execution/ToolCallDetail.tsx +19 -0
- package/src/execution/ToolCallItem.tsx +175 -44
- package/src/execution/ToolRunGroup.tsx +30 -32
- package/src/execution/WriteBackCard.tsx +5 -24
- package/src/execution/__tests__/MessageEntry-copy.test.tsx +125 -0
- package/src/execution/__tests__/MessageThread.test.tsx +97 -0
- package/src/execution/__tests__/TerminalSession.test.tsx +71 -1
- package/src/execution/__tests__/ToolCallDetail.test.tsx +33 -1
- package/src/execution/__tests__/ToolCallItem.test.tsx +299 -11
- package/src/execution/__tests__/ToolRunGroup.test.tsx +41 -9
- package/src/execution/__tests__/intent-title.test.tsx +221 -0
- package/src/execution/__tests__/message-thread-slots.test.tsx +92 -0
- package/src/execution/__tests__/tool-presenter.test.tsx +41 -4
- package/src/execution/index.ts +11 -2
- package/src/execution/tool-categories.ts +195 -9
- package/src/execution/tool-presenter.ts +44 -2
- package/src/execution/useArtifactInspection.ts +4 -8
- package/src/iam-policy/GrantAccessForm.tsx +2 -18
- package/src/iam-policy/OrgMembersPanel.tsx +3 -19
- package/src/iam-policy/RoleSelector.tsx +8 -1
- package/src/identity-provider/CreateIdentityProviderForm.tsx +13 -31
- package/src/identity-provider/IdentityProviderDetailPanel.tsx +24 -49
- package/src/identity-provider/IdentityProviderListPanel.tsx +2 -18
- package/src/identity-provider/IdentityProviderWizard.tsx +15 -32
- package/src/identity-provider/SsoLoginPrompt.tsx +6 -21
- package/src/index.ts +26 -1
- package/src/internal/DecisionButton.tsx +1 -20
- package/src/internal/DialogShell.tsx +169 -0
- package/src/internal/SpinnerIcon.tsx +42 -0
- package/src/internal/__tests__/DialogShell.test.tsx +223 -0
- package/src/internal/__tests__/ThreadCardShell.test.tsx +43 -7
- package/src/internal/__tests__/useCopyFeedback.test.ts +92 -0
- package/src/internal/select-element-text.ts +17 -0
- package/src/internal/thread-card/ThreadCardShell.tsx +53 -21
- package/src/internal/thread-card/glyphs.tsx +24 -3
- package/src/internal/thread-card/index.ts +1 -0
- package/src/internal/useCopyFeedback.ts +61 -0
- package/src/invitation/InvitationCreatedAlert.tsx +10 -18
- package/src/invitation/InvitationManager.tsx +23 -34
- package/src/invitation/InvitationRedemption.tsx +2 -18
- package/src/library/useExportResource.ts +15 -29
- package/src/manifest/ApplyManifestDialog.tsx +8 -26
- package/src/manifest/EditResourceYamlDialog.tsx +4 -31
- package/src/mcp-server/DefinitionDriftNotice.tsx +120 -0
- package/src/mcp-server/McpServerConnectDialog.tsx +15 -29
- package/src/mcp-server/McpServerDetailView.tsx +69 -49
- package/src/mcp-server/OAuthAppForm.tsx +2 -18
- package/src/mcp-server/__tests__/DefinitionDriftNotice.test.tsx +57 -0
- package/src/mcp-server/__tests__/definitionDrift.test.ts +245 -0
- package/src/mcp-server/__tests__/mcpServerToInput.test.ts +201 -0
- package/src/mcp-server/__tests__/useMcpServerDefinitionDrift.test.tsx +173 -0
- package/src/mcp-server/internal/definitionDrift.ts +158 -0
- package/src/mcp-server/internal/mcpServerToInput.ts +3 -0
- package/src/mcp-server/steps/EnvironmentAuthStep.tsx +19 -19
- package/src/mcp-server/steps/IdentityTransportStep.tsx +24 -23
- package/src/mcp-server/useMcpServerConnect.ts +1 -1
- package/src/mcp-server/useMcpServerDefinitionDrift.ts +95 -0
- package/src/models/ModelRegistryContext.ts +7 -1
- package/src/models/ModelSelector.tsx +37 -0
- package/src/models/__tests__/ModelSelector-visionIndicator.test.tsx +129 -0
- package/src/models/__tests__/resolveDefaultModel.test.ts +115 -0
- package/src/models/__tests__/useModelRegistry.test.tsx +99 -4
- package/src/models/index.ts +2 -2
- package/src/models/registry.ts +196 -29
- package/src/models/useModelRegistry.ts +10 -2
- package/src/oauth-app/CreateOAuthAppForm.tsx +16 -31
- package/src/oauth-app/OAuthAppDetailPanel.tsx +16 -31
- package/src/organization/CreateOrganizationForm.tsx +10 -29
- package/src/organization/OrgProfilePanel.tsx +13 -44
- package/src/platform-client/CreatePlatformClientForm.tsx +9 -29
- package/src/platform-client/PlatformClientDetailPanel.tsx +10 -30
- package/src/platform-client/PlatformClientListPanel.tsx +2 -18
- package/src/platform-client/PlatformClientSecretAlert.tsx +26 -55
- package/src/provider.tsx +76 -33
- package/src/resource-creation/WizardNav.tsx +2 -18
- package/src/resource-detail/ConfirmDialog.tsx +9 -30
- package/src/resource-detail/useCopyResource.ts +17 -23
- package/src/schedule/ScheduleDetailView.tsx +2 -18
- package/src/schedule/ScheduleForm.tsx +19 -34
- package/src/session/NewSessionViewer.tsx +85 -7
- package/src/session/SessionViewer.tsx +120 -17
- package/src/session/__tests__/audienceWiring.test.tsx +76 -0
- package/src/session/__tests__/panelNegotiation.test.tsx +302 -0
- package/src/session/__tests__/useNewSessionFlow.test.tsx +134 -5
- package/src/session/__tests__/useSessionPageFlow.autoApprove.test.tsx +74 -0
- package/src/session/__tests__/useSessionPageFlow.runConfig.test.tsx +157 -0
- package/src/session/__tests__/useSessionPanel.test.ts +114 -0
- package/src/session/audience.ts +18 -0
- package/src/session/index.ts +2 -1
- package/src/session/run-config.ts +59 -0
- package/src/session/useNewSessionFlow.ts +39 -2
- package/src/session/useSessionConversation.ts +10 -8
- package/src/session/useSessionPageFlow.ts +51 -10
- package/src/session/useSessionPanel.ts +91 -10
- package/src/settings/ApiKeysSection.tsx +4 -3
- package/src/settings/ChannelAppsSection.tsx +4 -3
- package/src/settings/EnvironmentsSection.tsx +8 -5
- package/src/settings/IdentityProvidersSection.tsx +4 -3
- package/src/settings/InvitationsSection.tsx +4 -2
- package/src/settings/MembersSection.tsx +4 -2
- package/src/settings/OAuthAppsSection.tsx +4 -3
- package/src/settings/OrgProfileSection.tsx +4 -3
- package/src/settings/PlatformClientsSection.tsx +4 -3
- package/src/settings/UsageSection.tsx +4 -2
- package/src/sharing/ShareAgentDialog.tsx +33 -37
- package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +4 -1
- package/src/sidebar/chrome.tsx +6 -6
- package/src/skill/SkillDiffDialog.tsx +13 -36
- package/src/styles.css +43 -0
- package/src/version-history/VersionTimelineEntry.tsx +1 -21
- package/src/workflow/FailedRunsWidget.tsx +2 -9
- package/src/workflow/PendingApprovalsWidget.tsx +2 -9
- package/src/workflow/ViewYamlDialog.tsx +21 -55
- package/src/workflow/WorkflowArchitectDialog.tsx +17 -68
- package/src/workflow/WorkflowArtifactDocument.tsx +5 -9
- package/src/workflow/WorkflowCanvasEditor.tsx +2 -0
- package/src/workflow/WorkflowCanvasInner.tsx +14 -1
- package/src/workflow/WorkflowDiffGraph.tsx +7 -1
- package/src/workflow/WorkflowExecutionViewer.tsx +88 -11
- package/src/workflow/WorkflowExplainDialog.tsx +18 -60
- package/src/workflow/WorkflowGraphFullscreenDialog.tsx +14 -26
- package/src/workflow/WorkflowOverviewGraph.tsx +9 -1
- package/src/workflow/WorkflowRefinePanel.tsx +2 -18
- package/src/workflow/WorkflowRepairCard.tsx +2 -18
- package/src/workflow/WorkflowRunDialog.tsx +23 -70
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +2 -17
- package/src/workflow/WorkflowVersionBadge.tsx +4 -13
- package/src/workflow/WorkflowVersionTimeline.tsx +1 -25
- package/src/workflow/__tests__/panelNegotiation.test.tsx +230 -0
- package/src/workflow/__tests__/useWorkflowCanvas.dirty.test.tsx +178 -0
- package/src/workflow/__tests__/useWorkflowCanvas.drag.test.tsx +224 -0
- package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +100 -0
- package/src/workflow/execution-comparison/ExecutionComparisonPicker.tsx +20 -41
- package/src/workflow/execution-history/ExecutionHistoryTable.tsx +1 -25
- package/src/workflow/index.ts +1 -0
- package/src/workflow/instance/CreateWorkflowInstanceDialog.tsx +14 -27
- package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +2 -1
- package/src/workflow/picker/BranchAddPopover.tsx +4 -3
- package/src/workflow/templates/WorkflowTemplatePreview.tsx +18 -28
- package/src/workflow/useApprovalBoundary.ts +1 -1
- package/src/workflow/useWorkflowCanvas.ts +114 -11
- package/src/workflow/useWorkflowExecutionPanel.ts +95 -13
- package/styles.css +1 -1
- package/version-history/VersionTimelineEntry.d.ts.map +1 -1
- package/version-history/VersionTimelineEntry.js +1 -23
- package/version-history/VersionTimelineEntry.js.map +1 -1
- package/workflow/CanvasTransitionEdge.d.ts +1 -1
- package/workflow/FailedRunsWidget.d.ts.map +1 -1
- package/workflow/FailedRunsWidget.js +2 -11
- package/workflow/FailedRunsWidget.js.map +1 -1
- package/workflow/PendingApprovalsWidget.d.ts.map +1 -1
- package/workflow/PendingApprovalsWidget.js +2 -11
- package/workflow/PendingApprovalsWidget.js.map +1 -1
- package/workflow/ViewYamlDialog.d.ts.map +1 -1
- package/workflow/ViewYamlDialog.js +14 -49
- package/workflow/ViewYamlDialog.js.map +1 -1
- package/workflow/WorkflowArchitectDialog.d.ts.map +1 -1
- package/workflow/WorkflowArchitectDialog.js +10 -33
- package/workflow/WorkflowArchitectDialog.js.map +1 -1
- package/workflow/WorkflowArtifactDocument.d.ts.map +1 -1
- package/workflow/WorkflowArtifactDocument.js +5 -8
- package/workflow/WorkflowArtifactDocument.js.map +1 -1
- package/workflow/WorkflowCanvasEditor.d.ts.map +1 -1
- package/workflow/WorkflowCanvasEditor.js +1 -1
- package/workflow/WorkflowCanvasEditor.js.map +1 -1
- package/workflow/WorkflowCanvasInner.d.ts +4 -2
- package/workflow/WorkflowCanvasInner.d.ts.map +1 -1
- package/workflow/WorkflowCanvasInner.js +7 -3
- package/workflow/WorkflowCanvasInner.js.map +1 -1
- package/workflow/WorkflowDiffGraph.js +6 -2
- package/workflow/WorkflowDiffGraph.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts +51 -0
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +23 -6
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowExplainDialog.d.ts.map +1 -1
- package/workflow/WorkflowExplainDialog.js +10 -28
- package/workflow/WorkflowExplainDialog.js.map +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.d.ts.map +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.js +11 -17
- package/workflow/WorkflowGraphFullscreenDialog.js.map +1 -1
- package/workflow/WorkflowOverviewGraph.js +8 -2
- package/workflow/WorkflowOverviewGraph.js.map +1 -1
- package/workflow/WorkflowRefinePanel.d.ts.map +1 -1
- package/workflow/WorkflowRefinePanel.js +2 -4
- package/workflow/WorkflowRefinePanel.js.map +1 -1
- package/workflow/WorkflowRepairCard.d.ts.map +1 -1
- package/workflow/WorkflowRepairCard.js +2 -4
- package/workflow/WorkflowRepairCard.js.map +1 -1
- package/workflow/WorkflowRunDialog.d.ts.map +1 -1
- package/workflow/WorkflowRunDialog.js +14 -35
- package/workflow/WorkflowRunDialog.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.js +2 -4
- package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
- package/workflow/WorkflowVersionBadge.d.ts.map +1 -1
- package/workflow/WorkflowVersionBadge.js +4 -13
- package/workflow/WorkflowVersionBadge.js.map +1 -1
- package/workflow/WorkflowVersionTimeline.d.ts.map +1 -1
- package/workflow/WorkflowVersionTimeline.js +1 -26
- package/workflow/WorkflowVersionTimeline.js.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonPicker.d.ts.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonPicker.js +14 -40
- package/workflow/execution-comparison/ExecutionComparisonPicker.js.map +1 -1
- package/workflow/execution-history/ExecutionHistoryTable.d.ts.map +1 -1
- package/workflow/execution-history/ExecutionHistoryTable.js +1 -24
- package/workflow/execution-history/ExecutionHistoryTable.js.map +1 -1
- package/workflow/index.d.ts +1 -1
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js.map +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.d.ts.map +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.js +7 -20
- package/workflow/instance/CreateWorkflowInstanceDialog.js.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js +1 -1
- package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
- package/workflow/picker/BranchAddPopover.d.ts.map +1 -1
- package/workflow/picker/BranchAddPopover.js +3 -2
- package/workflow/picker/BranchAddPopover.js.map +1 -1
- package/workflow/templates/WorkflowTemplatePreview.d.ts +1 -1
- package/workflow/templates/WorkflowTemplatePreview.d.ts.map +1 -1
- package/workflow/templates/WorkflowTemplatePreview.js +10 -22
- package/workflow/templates/WorkflowTemplatePreview.js.map +1 -1
- package/workflow/useApprovalBoundary.d.ts +1 -1
- package/workflow/useApprovalBoundary.js +1 -1
- package/workflow/useWorkflowCanvas.d.ts +5 -1
- package/workflow/useWorkflowCanvas.d.ts.map +1 -1
- package/workflow/useWorkflowCanvas.js +99 -13
- package/workflow/useWorkflowCanvas.js.map +1 -1
- package/workflow/useWorkflowExecutionPanel.d.ts +38 -2
- package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionPanel.js +46 -13
- package/workflow/useWorkflowExecutionPanel.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowInstanceDetailPanel.js","sourceRoot":"","sources":["../../../src/workflow/instance/WorkflowInstanceDetailPanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WorkflowInstanceDetailPanel.js","sourceRoot":"","sources":["../../../src/workflow/instance/WorkflowInstanceDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchAddPopover.d.ts","sourceRoot":"","sources":["../../../src/workflow/picker/BranchAddPopover.tsx"],"names":[],"mappings":"AAOA,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC7C;AA6BD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"BranchAddPopover.d.ts","sourceRoot":"","sources":["../../../src/workflow/picker/BranchAddPopover.tsx"],"names":[],"mappings":"AAOA,sCAAsC;AACtC,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC7C;AA6BD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,6DA2K3B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { memo, useState, useCallback, useRef, useEffect } from "react";
|
|
3
|
+
import { memo, useState, useCallback, useId, useRef, useEffect } from "react";
|
|
4
4
|
import { Popover } from "@base-ui/react/popover";
|
|
5
5
|
import { cn } from "@stigmer/theme";
|
|
6
6
|
import { useStigmerPortalContainer } from "../../portal-container.js";
|
|
@@ -38,6 +38,7 @@ const MODE_CONFIG = {
|
|
|
38
38
|
* @since T08 (Contextual Task Picker)
|
|
39
39
|
*/
|
|
40
40
|
export const BranchAddPopover = memo(function BranchAddPopover({ open, onOpenChange, onSubmit, anchorRef, mode, existingNames, side = "bottom", align = "start", }) {
|
|
41
|
+
const errorId = useId();
|
|
41
42
|
const portalContainer = useStigmerPortalContainer();
|
|
42
43
|
const config = MODE_CONFIG[mode];
|
|
43
44
|
const nameRef = useRef(null);
|
|
@@ -85,6 +86,6 @@ export const BranchAddPopover = memo(function BranchAddPopover({ open, onOpenCha
|
|
|
85
86
|
return (_jsx(Popover.Root, { open: open, onOpenChange: onOpenChange, children: _jsx(Popover.Portal, { container: portalContainer, children: _jsx(Popover.Positioner, { anchor: anchorRef, side: side, align: align, sideOffset: 8, children: _jsx(Popover.Popup, { className: cn("stgm stg:z-popover stg:w-60 stg:overflow-hidden stg:rounded-lg stg:border stg:border-border stg:bg-popover stg:shadow-md stg:text-popover-foreground"), children: _jsxs("div", { className: "stg:flex stg:flex-col", onKeyDown: handleKeyDown, children: [_jsx("div", { className: "stg:border-b stg:border-border stg:px-3 stg:py-2", children: _jsx("p", { className: "stg:text-xs stg:font-semibold stg:text-[var(--stgm-foreground,#1a1a2e)]", children: config.title }) }), _jsxs("div", { className: "stg:space-y-2.5 stg:p-3", children: [_jsxs("div", { children: [_jsx("label", { className: "stg:mb-1 stg:block stg:text-[10px] stg:font-medium stg:text-[var(--stgm-muted-foreground,#737373)]", children: config.nameLabel }), _jsx("input", { ref: nameRef, type: "text", value: name, onChange: (e) => {
|
|
86
87
|
setName(e.target.value);
|
|
87
88
|
setNameError(null);
|
|
88
|
-
}, placeholder: config.namePlaceholder, className: cn("stg:w-full stg:rounded stg:border stg:bg-[var(--stgm-input-bg,var(--stgm-background,#fff))] stg:px-2 stg:py-1.5 stg:text-xs stg:text-[var(--stgm-foreground,#1a1a2e)] stg:placeholder:text-[var(--stgm-muted-foreground,#737373)] stg:outline-none stg:focus:ring-1 stg:focus:ring-[var(--stgm-ring,#3b82f6)]", nameError ? "stg:border-[var(--stgm-destructive,#ef4444)]" : "stg:border-border"), "aria-invalid": !!nameError, "aria-describedby": nameError ?
|
|
89
|
+
}, placeholder: config.namePlaceholder, className: cn("stg:w-full stg:rounded stg:border stg:bg-[var(--stgm-input-bg,var(--stgm-background,#fff))] stg:px-2 stg:py-1.5 stg:text-xs stg:text-[var(--stgm-foreground,#1a1a2e)] stg:placeholder:text-[var(--stgm-muted-foreground,#737373)] stg:outline-none stg:focus:ring-1 stg:focus:ring-[var(--stgm-ring,#3b82f6)]", nameError ? "stg:border-[var(--stgm-destructive,#ef4444)]" : "stg:border-border"), "aria-invalid": !!nameError, "aria-describedby": nameError ? errorId : undefined }), nameError && (_jsx("p", { id: errorId, className: "stg:mt-0.5 stg:text-[10px] stg:text-[var(--stgm-destructive,#ef4444)]", children: nameError }))] }), config.showCondition && (_jsxs("div", { children: [_jsxs("label", { className: "stg:mb-1 stg:block stg:text-[10px] stg:font-medium stg:text-[var(--stgm-muted-foreground,#737373)]", children: ["Condition", _jsx("span", { className: "stg:ml-1 stg:font-normal", children: "(optional)" })] }), _jsx("input", { type: "text", value: condition, onChange: (e) => setCondition(e.target.value), placeholder: 'e.g. $.plan == "enterprise"', className: "stg:w-full stg:rounded stg:border stg:border-border stg:bg-[var(--stgm-input-bg,var(--stgm-background,#fff))] stg:px-2 stg:py-1.5 stg:text-xs stg:font-mono stg:text-[var(--stgm-foreground,#1a1a2e)] stg:placeholder:text-[var(--stgm-muted-foreground,#737373)] stg:outline-none stg:focus:ring-1 stg:focus:ring-[var(--stgm-ring,#3b82f6)]" })] })), config.showErrorType && (_jsxs("div", { children: [_jsxs("label", { className: "stg:mb-1 stg:block stg:text-[10px] stg:font-medium stg:text-[var(--stgm-muted-foreground,#737373)]", children: ["Error type filter", _jsx("span", { className: "stg:ml-1 stg:font-normal", children: "(optional)" })] }), _jsx("input", { type: "text", value: errorType, onChange: (e) => setErrorType(e.target.value), placeholder: "e.g. TimeoutError", className: "stg:w-full stg:rounded stg:border stg:border-border stg:bg-[var(--stgm-input-bg,var(--stgm-background,#fff))] stg:px-2 stg:py-1.5 stg:text-xs stg:text-[var(--stgm-foreground,#1a1a2e)] stg:placeholder:text-[var(--stgm-muted-foreground,#737373)] stg:outline-none stg:focus:ring-1 stg:focus:ring-[var(--stgm-ring,#3b82f6)]" })] })), _jsx("button", { type: "button", onClick: validateAndSubmit, className: "stg:w-full stg:rounded stg:bg-[var(--stgm-primary,#3b82f6)] stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium stg:text-[var(--stgm-primary-foreground,#fff)] stg:transition-colors stg:hover:bg-[var(--stgm-primary,#3b82f6)]/90 stg:focus:outline-none stg:focus:ring-2 stg:focus:ring-[var(--stgm-ring,#3b82f6)] stg:focus:ring-offset-1", children: config.title })] })] }) }) }) }) }));
|
|
89
90
|
});
|
|
90
91
|
//# sourceMappingURL=BranchAddPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BranchAddPopover.js","sourceRoot":"","sources":["../../../src/workflow/picker/BranchAddPopover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BranchAddPopover.js","sourceRoot":"","sources":["../../../src/workflow/picker/BranchAddPopover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AA0BtE,MAAM,WAAW,GAGb;IACF,aAAa,EAAE;QACb,KAAK,EAAE,UAAU;QACjB,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,WAAW;QACtB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,KAAK;KACrB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,YAAY;QACnB,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,aAAa;QACxB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,KAAK;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,mBAAmB;QAC1B,eAAe,EAAE,oBAAoB;QACrC,SAAS,EAAE,cAAc;QACzB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,IAAI;KACpB;CACF,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAC7D,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,aAAa,EACb,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,OAAO,GACO;IACtB,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,qBAAqB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,YAAY,CAAC,kBAAkB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,YAAY,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,YAAY,CAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAoB;YAC9B,IAAI,EAAE,WAAW;YACjB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;SACjF,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAsB,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,OAAO,CACL,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YAClD,KAAC,OAAO,CAAC,MAAM,IAAC,SAAS,EAAE,eAAe,YACxC,KAAC,OAAO,CAAC,UAAU,IACjB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,YAEb,KAAC,OAAO,CAAC,KAAK,IACZ,SAAS,EAAE,EAAE,CACX,sJAAsJ,CACvJ,YAED,eAAK,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAE,aAAa,aAE7D,cAAK,SAAS,EAAC,kDAAkD,YAC/D,YAAG,SAAS,EAAC,yEAAyE,YACnF,MAAM,CAAC,KAAK,GACX,GACA,EAGN,eAAK,SAAS,EAAC,yBAAyB,aAEtC,0BACE,gBAAO,SAAS,EAAC,oGAAoG,YAClH,MAAM,CAAC,SAAS,GACX,EACR,gBACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oDACd,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oDACxB,YAAY,CAAC,IAAI,CAAC,CAAC;gDACrB,CAAC,EACD,WAAW,EAAE,MAAM,CAAC,eAAe,EACnC,SAAS,EAAE,EAAE,CACX,+SAA+S,EAC/S,SAAS,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,mBAAmB,CACjF,kBACa,CAAC,CAAC,SAAS,sBACP,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GACjD,EACD,SAAS,IAAI,CACZ,YACE,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,uEAAuE,YAEhF,SAAS,GACR,CACL,IACG,EAGL,MAAM,CAAC,aAAa,IAAI,CACvB,0BACE,iBAAO,SAAS,EAAC,oGAAoG,0BAEnH,eAAM,SAAS,EAAC,0BAA0B,2BAAkB,IACtD,EACR,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,6BAA6B,EACzC,SAAS,EAAC,+UAA+U,GACzV,IACE,CACP,EAGA,MAAM,CAAC,aAAa,IAAI,CACvB,0BACE,iBAAO,SAAS,EAAC,oGAAoG,kCAEnH,eAAM,SAAS,EAAC,0BAA0B,2BAAkB,IACtD,EACR,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,mBAAmB,EAC/B,SAAS,EAAC,iUAAiU,GAC3U,IACE,CACP,EAGD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAC,0UAA0U,YAEnV,MAAM,CAAC,KAAK,GACN,IACL,IACF,GACQ,GACG,GACN,GACJ,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -15,5 +15,5 @@ export interface WorkflowTemplatePreviewProps {
|
|
|
15
15
|
* The graph preview is lazy — it only parses and lays out the YAML
|
|
16
16
|
* when the dialog opens, not while browsing cards.
|
|
17
17
|
*/
|
|
18
|
-
export declare function WorkflowTemplatePreview({ template, open, onClose, onSelect, }: WorkflowTemplatePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function WorkflowTemplatePreview({ template, open, onClose, onSelect, }: WorkflowTemplatePreviewProps): import("react/jsx-runtime").JSX.Element | null;
|
|
19
19
|
//# sourceMappingURL=WorkflowTemplatePreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowTemplatePreview.d.ts","sourceRoot":"","sources":["../../../src/workflow/templates/WorkflowTemplatePreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkflowTemplatePreview.d.ts","sourceRoot":"","sources":["../../../src/workflow/templates/WorkflowTemplatePreview.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AAKzE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE,4BAA4B,kDA+I9B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useEffect, useMemo,
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { DialogShell } from "../../internal/DialogShell.js";
|
|
5
6
|
import { parse as parseYaml } from "yaml";
|
|
6
7
|
import { ReactFlowProvider, ReactFlow, Background, BackgroundVariant, useReactFlow, } from "@xyflow/react";
|
|
7
8
|
import { PATTERN_LABELS } from "./types.js";
|
|
@@ -18,25 +19,9 @@ import { TEMPLATE_CATEGORY_LABELS } from "../../resource-creation/templates/type
|
|
|
18
19
|
* when the dialog opens, not while browsing cards.
|
|
19
20
|
*/
|
|
20
21
|
export function WorkflowTemplatePreview({ template, open, onClose, onSelect, }) {
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!dialog)
|
|
25
|
-
return;
|
|
26
|
-
if (open && !dialog.open) {
|
|
27
|
-
dialog.showModal();
|
|
28
|
-
}
|
|
29
|
-
else if (!open && dialog.open) {
|
|
30
|
-
dialog.close();
|
|
31
|
-
}
|
|
32
|
-
}, [open]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
const dialog = dialogRef.current;
|
|
35
|
-
if (!dialog)
|
|
36
|
-
return;
|
|
37
|
-
const handleClose = () => onClose();
|
|
38
|
-
dialog.addEventListener("close", handleClose);
|
|
39
|
-
return () => dialog.removeEventListener("close", handleClose);
|
|
22
|
+
const handleOpenChange = useCallback((nextOpen) => {
|
|
23
|
+
if (!nextOpen)
|
|
24
|
+
onClose();
|
|
40
25
|
}, [onClose]);
|
|
41
26
|
const handleSelect = useCallback(() => {
|
|
42
27
|
if (template)
|
|
@@ -44,10 +29,13 @@ export function WorkflowTemplatePreview({ template, open, onClose, onSelect, })
|
|
|
44
29
|
}, [template, onSelect]);
|
|
45
30
|
const meta = useMemo(() => (template ? deriveTemplateMeta(template.data.yaml ?? "") : null), [template]);
|
|
46
31
|
if (!template || !meta) {
|
|
47
|
-
return
|
|
32
|
+
return null;
|
|
48
33
|
}
|
|
49
34
|
const categoryLabel = TEMPLATE_CATEGORY_LABELS[template.category] ?? template.category;
|
|
50
|
-
return (_jsx(
|
|
35
|
+
return (_jsx(DialogShell, { open: open, onOpenChange: handleOpenChange, width: "3xl",
|
|
36
|
+
// `stgm` re-establishes the theme scope (rendered from the template
|
|
37
|
+
// browser canvas); background surface is deliberate for the graph.
|
|
38
|
+
className: "stgm stg:max-h-[85vh] stg:bg-background", "aria-label": `Preview ${template.name}`, children: _jsxs("div", { className: "stg:flex stg:flex-col", children: [_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-5 stg:py-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "stg:text-base stg:font-semibold stg:text-foreground", children: template.name }), _jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: categoryLabel })] }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close preview", className: cn("stg:rounded-md stg:p-1.5 stg:text-muted-foreground stg:transition-colors", "stg:hover:bg-accent stg:hover:text-accent-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring"), children: _jsx(CloseIcon, {}) })] }), _jsxs("div", { className: "stg:flex stg:flex-col stg:gap-4 stg:px-5 stg:py-4", children: [_jsx("p", { className: "stg:text-sm stg:leading-relaxed stg:text-muted-foreground", children: template.description }), _jsxs("div", { className: "stg:flex stg:flex-wrap stg:items-center stg:gap-3", children: [_jsx(MetaChip, { label: `${meta.taskCount} tasks` }), _jsx(MetaChip, { label: `${meta.taskKinds.length} task types` }), meta.envVarCount > 0 && (_jsx(MetaChip, { label: `${meta.envVarCount} env vars` })), meta.hasBudget && _jsx(MetaChip, { label: "Budget configured" })] }), meta.patterns.length > 0 && (_jsx("div", { className: "stg:flex stg:flex-wrap stg:gap-1.5", children: meta.patterns.map((pattern) => (_jsx("span", { className: "stg:rounded-full stg:bg-muted stg:px-2.5 stg:py-0.5 stg:text-xs stg:font-medium stg:text-muted-foreground", children: PATTERN_LABELS[pattern] }, pattern))) })), _jsxs("div", { children: [_jsx("h3", { className: "stg:mb-1.5 stg:text-xs stg:font-medium stg:text-foreground", children: "Task types used" }), _jsx("div", { className: "stg:flex stg:flex-wrap stg:gap-1.5", children: meta.taskKinds.map((kind) => (_jsx("code", { className: "stg:rounded stg:bg-muted stg:px-1.5 stg:py-0.5 stg:text-[11px] stg:text-muted-foreground", children: kind }, kind))) })] }), _jsx("div", { className: "stg:h-64 stg:overflow-hidden stg:rounded-md stg:border stg:border-border stg:bg-muted/30", children: _jsx(ReactFlowProvider, { children: _jsx(TemplateGraphPreview, { yaml: template.data.yaml ?? "" }) }) })] }), _jsxs("div", { className: "stg:flex stg:items-center stg:justify-end stg:gap-2 stg:border-t stg:border-border stg:px-5 stg:py-3", children: [_jsx("button", { type: "button", onClick: onClose, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-sm stg:font-medium stg:text-muted-foreground stg:transition-colors", "stg:hover:bg-accent stg:hover:text-accent-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring"), children: "Cancel" }), _jsx("button", { type: "button", onClick: handleSelect, className: cn("stg:rounded-md stg:bg-primary stg:px-4 stg:py-1.5 stg:text-sm stg:font-medium stg:text-primary-foreground stg:transition-colors", "stg:hover:bg-primary/90", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring"), children: "Use this template" })] })] }) }));
|
|
51
39
|
}
|
|
52
40
|
/**
|
|
53
41
|
* Lightweight graph preview that parses template YAML and renders
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowTemplatePreview.js","sourceRoot":"","sources":["../../../src/workflow/templates/WorkflowTemplatePreview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkflowTemplatePreview.js","sourceRoot":"","sources":["../../../src/workflow/templates/WorkflowTemplatePreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export interface ApprovalBoundaryCrossing {
|
|
|
24
24
|
* the decision surface (the panel's Inspect Approval tab) is never hidden
|
|
25
25
|
* while the run is blocked.
|
|
26
26
|
*
|
|
27
|
-
* Same diffing shape as
|
|
27
|
+
* Same diffing shape as `useExecutionAnnouncements` (prev-map ref,
|
|
28
28
|
* diff on each map commit). A task first observed already in
|
|
29
29
|
* `waiting_approval` counts as entered — with rAF-coalesced commits the
|
|
30
30
|
* running→waiting transition can collapse into the task's first appearance.
|
|
@@ -15,7 +15,7 @@ import { useEffect, useRef } from "react";
|
|
|
15
15
|
* the decision surface (the panel's Inspect Approval tab) is never hidden
|
|
16
16
|
* while the run is blocked.
|
|
17
17
|
*
|
|
18
|
-
* Same diffing shape as
|
|
18
|
+
* Same diffing shape as `useExecutionAnnouncements` (prev-map ref,
|
|
19
19
|
* diff on each map commit). A task first observed already in
|
|
20
20
|
* `waiting_approval` counts as entered — with rAF-coalesced commits the
|
|
21
21
|
* running→waiting transition can collapse into the task's first appearance.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node, Edge, OnNodesChange, OnEdgesChange, Connection, IsValidConnection } from "@xyflow/react";
|
|
1
|
+
import type { Node, Edge, OnNodesChange, OnEdgesChange, OnNodeDrag, Connection, IsValidConnection } from "@xyflow/react";
|
|
2
2
|
import type { WorkflowGraphModel } from "./workflow-graph-model.js";
|
|
3
3
|
import type { TaskKindDescriptor } from "./types.js";
|
|
4
4
|
import type { LayoutEngine } from "./layout/index.js";
|
|
@@ -23,6 +23,10 @@ export interface UseWorkflowCanvasReturn {
|
|
|
23
23
|
readonly edges: Edge[];
|
|
24
24
|
readonly onNodesChange: OnNodesChange;
|
|
25
25
|
readonly onEdgesChange: OnEdgesChange;
|
|
26
|
+
/** Marks the model snapshot an in-flight drag started from. */
|
|
27
|
+
readonly onNodeDragStart: OnNodeDrag;
|
|
28
|
+
/** Records a completed node drag into the command history (oss#602). */
|
|
29
|
+
readonly onNodeDragStop: OnNodeDrag;
|
|
26
30
|
readonly onConnect: (connection: Connection) => void;
|
|
27
31
|
readonly isValidConnection: IsValidConnection;
|
|
28
32
|
readonly onDrop: (event: React.DragEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWorkflowCanvas.d.ts","sourceRoot":"","sources":["../../src/workflow/useWorkflowCanvas.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,2BAA2B,CAAC;AAgDvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useWorkflowCanvas.d.ts","sourceRoot":"","sources":["../../src/workflow/useWorkflowCanvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,20 @@ import { useTaskKindRegistry } from "./useTaskKindRegistry.js";
|
|
|
11
11
|
import { useGraphHistory } from "./useGraphHistory.js";
|
|
12
12
|
import { useWorkflowLayout, applyDagreLayout, registryNodeDimensions } from "./layout/index.js";
|
|
13
13
|
import { serializeSelection, pasteClipboard } from "./clipboard.js";
|
|
14
|
+
/**
|
|
15
|
+
* Serializes a graph model to canonical YAML, or `null` if serialization
|
|
16
|
+
* fails. graphToYaml is total on models produced by yamlToGraph (its sort is
|
|
17
|
+
* cycle-protected and unknown kinds fall back to `unknown_N`), so `null` is
|
|
18
|
+
* a defensive outcome, not an expected one.
|
|
19
|
+
*/
|
|
20
|
+
function serializeGraphOrNull(model) {
|
|
21
|
+
try {
|
|
22
|
+
return graphToYaml(model);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
14
28
|
/**
|
|
15
29
|
* Orchestrator hook for the workflow canvas editor.
|
|
16
30
|
*
|
|
@@ -28,6 +42,10 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
28
42
|
const [error, setError] = useState(null);
|
|
29
43
|
const [selection, setSelection] = useState(null);
|
|
30
44
|
const initialModelRef = useRef(null);
|
|
45
|
+
// Serialized form of the baseline model, kept in lockstep with
|
|
46
|
+
// initialModelRef. Dirty tracking compares serializations, not references —
|
|
47
|
+
// see the "Dirty tracking" section below for why.
|
|
48
|
+
const initialYamlRef = useRef(null);
|
|
31
49
|
const [nodes, setNodes, onNodesChangeRaw] = useNodesState([]);
|
|
32
50
|
const [edges, setEdges, onEdgesChangeRaw] = useEdgesState([]);
|
|
33
51
|
const { screenToFlowPosition } = useReactFlow();
|
|
@@ -52,6 +70,7 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
52
70
|
setNodes([]);
|
|
53
71
|
setEdges([]);
|
|
54
72
|
initialModelRef.current = null;
|
|
73
|
+
initialYamlRef.current = null;
|
|
55
74
|
return;
|
|
56
75
|
}
|
|
57
76
|
try {
|
|
@@ -59,6 +78,10 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
59
78
|
const laidOut = applyDagreLayout(parsed);
|
|
60
79
|
history.reset(laidOut);
|
|
61
80
|
initialModelRef.current = laidOut;
|
|
81
|
+
// Baseline is the canonical re-serialization, not the incoming string:
|
|
82
|
+
// dirty comparisons must be canonical-vs-canonical, immune to cosmetic
|
|
83
|
+
// formatting differences in host-provided YAML.
|
|
84
|
+
initialYamlRef.current = serializeGraphOrNull(laidOut);
|
|
62
85
|
setError(null);
|
|
63
86
|
const elements = toReactFlowElements(laidOut);
|
|
64
87
|
setNodes(elements.nodes);
|
|
@@ -69,6 +92,7 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
69
92
|
setNodes([]);
|
|
70
93
|
setEdges([]);
|
|
71
94
|
initialModelRef.current = null;
|
|
95
|
+
initialYamlRef.current = null;
|
|
72
96
|
}
|
|
73
97
|
}, [yaml]);
|
|
74
98
|
// Sync React Flow elements whenever the model changes via history
|
|
@@ -88,6 +112,57 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
88
112
|
const onNodesChange = useCallback((changes) => {
|
|
89
113
|
onNodesChangeRaw(changes);
|
|
90
114
|
}, [onNodesChangeRaw]);
|
|
115
|
+
// During a drag, React Flow streams position changes into RF state only
|
|
116
|
+
// (via onNodesChange above); the model still holds the pre-drag
|
|
117
|
+
// positions. At drag stop, the completed gesture is recorded as ONE
|
|
118
|
+
// MoveNodesCommand — the auto-layout precedent — so drags survive
|
|
119
|
+
// later syncFromModel calls and are undoable (oss#602).
|
|
120
|
+
//
|
|
121
|
+
// The ref detects mid-drag model mutations: the keyboard undo listener
|
|
122
|
+
// and the host's YAML prop are both reachable while the mouse is down,
|
|
123
|
+
// and either one rebuilds the canvas from a model this drag never saw —
|
|
124
|
+
// recording the drag on top of that would fight the mutation.
|
|
125
|
+
const dragStartModelRef = useRef(null);
|
|
126
|
+
const onNodeDragStart = useCallback(() => {
|
|
127
|
+
dragStartModelRef.current = history.currentModel;
|
|
128
|
+
}, [history.currentModel]);
|
|
129
|
+
const onNodeDragStop = useCallback((_event, _node, draggedNodes) => {
|
|
130
|
+
const model = history.currentModel;
|
|
131
|
+
const startModel = dragStartModelRef.current;
|
|
132
|
+
dragStartModelRef.current = null;
|
|
133
|
+
if (!startModel || model !== startModel)
|
|
134
|
+
return;
|
|
135
|
+
const oldPositions = [];
|
|
136
|
+
const newPositions = [];
|
|
137
|
+
for (const dragged of draggedNodes) {
|
|
138
|
+
const modelNode = model.nodes.find((n) => n.id === dragged.id);
|
|
139
|
+
if (!modelNode)
|
|
140
|
+
continue;
|
|
141
|
+
oldPositions.push({
|
|
142
|
+
id: modelNode.id,
|
|
143
|
+
x: modelNode.position.x,
|
|
144
|
+
y: modelNode.position.y,
|
|
145
|
+
});
|
|
146
|
+
newPositions.push({
|
|
147
|
+
id: dragged.id,
|
|
148
|
+
x: dragged.position.x,
|
|
149
|
+
y: dragged.position.y,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
const hasChanges = newPositions.some((np, i) => {
|
|
153
|
+
const op = oldPositions[i];
|
|
154
|
+
return Math.abs(op.x - np.x) > 0.5 || Math.abs(op.y - np.y) > 0.5;
|
|
155
|
+
});
|
|
156
|
+
if (!hasChanges)
|
|
157
|
+
return;
|
|
158
|
+
// Record-only dispatch — deliberately NOT the syncing dispatch().
|
|
159
|
+
// React Flow already renders the dragged positions, so here the
|
|
160
|
+
// model catches up to the canvas (everywhere else the model leads
|
|
161
|
+
// and syncFromModel makes the canvas follow). Rebuilding the node
|
|
162
|
+
// array would be a visual no-op that wipes React Flow's `selected`
|
|
163
|
+
// flags at the end of every drag, breaking consecutive group drags.
|
|
164
|
+
history.dispatch(new MoveNodesCommand(oldPositions, newPositions));
|
|
165
|
+
}, [history.currentModel, history.dispatch]);
|
|
91
166
|
const onEdgesChange = useCallback((changes) => {
|
|
92
167
|
onEdgesChangeRaw(changes);
|
|
93
168
|
}, [onEdgesChangeRaw]);
|
|
@@ -193,6 +268,7 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
193
268
|
};
|
|
194
269
|
history.reset(bootstrapModel);
|
|
195
270
|
initialModelRef.current = bootstrapModel;
|
|
271
|
+
initialYamlRef.current = serializeGraphOrNull(bootstrapModel);
|
|
196
272
|
const autoEdge = {
|
|
197
273
|
id: generateEdgeId(),
|
|
198
274
|
source: START_NODE_ID,
|
|
@@ -735,25 +811,34 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
735
811
|
syncFromModel(next);
|
|
736
812
|
}, [history.redo, syncFromModel]);
|
|
737
813
|
// ---------------------------------------------------------------------------
|
|
738
|
-
// Dirty tracking:
|
|
814
|
+
// Dirty tracking: serialization comparison (oss#609)
|
|
815
|
+
//
|
|
816
|
+
// Dirty means "saving would change the document". Node positions are not
|
|
817
|
+
// part of the serialized YAML (dagre recomputes them on every load), so a
|
|
818
|
+
// position-only edit session (drags, auto-layout) must NOT read as dirty:
|
|
819
|
+
// its save would round-trip byte-identical YAML, and because hosts reset
|
|
820
|
+
// the baseline by feeding saved YAML back through the `yaml` prop (whose
|
|
821
|
+
// re-parse effect is string-change gated), a reference-based flag could
|
|
822
|
+
// never clear afterwards — an armed Save button that saving cannot disarm.
|
|
823
|
+
// graphToYaml is total on parsed models (cycle-protected sort, unknown-kind
|
|
824
|
+
// fallback) and O(nodes+edges), cheap enough to compare per model change.
|
|
739
825
|
// ---------------------------------------------------------------------------
|
|
740
826
|
const graph = history.currentModel.nodes.length > 0 ? history.currentModel : null;
|
|
741
|
-
const
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
return null;
|
|
750
|
-
}
|
|
751
|
-
}, [graph]);
|
|
827
|
+
const currentYaml = useMemo(() => (graph ? serializeGraphOrNull(graph) : null), [graph]);
|
|
828
|
+
// Reference comparison remains as the fallback for the defensive case where
|
|
829
|
+
// serialization failed (null); failing dirty-side keeps Save reachable.
|
|
830
|
+
const isDirty = initialModelRef.current !== null &&
|
|
831
|
+
(currentYaml !== null && initialYamlRef.current !== null
|
|
832
|
+
? currentYaml !== initialYamlRef.current
|
|
833
|
+
: graph !== initialModelRef.current);
|
|
834
|
+
const serializeToYaml = useCallback(() => currentYaml, [currentYaml]);
|
|
752
835
|
return useMemo(() => ({
|
|
753
836
|
nodes,
|
|
754
837
|
edges,
|
|
755
838
|
onNodesChange,
|
|
756
839
|
onEdgesChange,
|
|
840
|
+
onNodeDragStart,
|
|
841
|
+
onNodeDragStop,
|
|
757
842
|
onConnect,
|
|
758
843
|
isValidConnection,
|
|
759
844
|
onDrop,
|
|
@@ -810,7 +895,8 @@ export function useWorkflowCanvas(yaml, options) {
|
|
|
810
895
|
deleteSelection,
|
|
811
896
|
getSelectedNodeIds,
|
|
812
897
|
}), [
|
|
813
|
-
nodes, edges, onNodesChange, onEdgesChange,
|
|
898
|
+
nodes, edges, onNodesChange, onEdgesChange, onNodeDragStart,
|
|
899
|
+
onNodeDragStop, onConnect,
|
|
814
900
|
isValidConnection, onDrop, onDragOver, onNodesDelete, onEdgesDelete,
|
|
815
901
|
selection, selectNode, selectEdge, clearSelection, autoLayout,
|
|
816
902
|
undo, redo, history.canUndo, history.canRedo, isDirty, graph, error,
|