@stigmer/react 3.1.17 → 3.2.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/agent-instance/AgentInstanceList.d.ts.map +1 -1
- package/agent-instance/AgentInstanceList.js +11 -3
- package/agent-instance/AgentInstanceList.js.map +1 -1
- package/channel/AgentChannelsPanel.d.ts +60 -0
- package/channel/AgentChannelsPanel.d.ts.map +1 -0
- package/channel/AgentChannelsPanel.js +255 -0
- package/channel/AgentChannelsPanel.js.map +1 -0
- package/channel/ChannelConversationsDialog.d.ts +41 -0
- package/channel/ChannelConversationsDialog.d.ts.map +1 -0
- package/channel/ChannelConversationsDialog.js +94 -0
- package/channel/ChannelConversationsDialog.js.map +1 -0
- package/channel/ChannelCredentialsDialog.d.ts +37 -0
- package/channel/ChannelCredentialsDialog.d.ts.map +1 -0
- package/channel/ChannelCredentialsDialog.js +75 -0
- package/channel/ChannelCredentialsDialog.js.map +1 -0
- package/channel/ChannelToolCredentials.d.ts +31 -0
- package/channel/ChannelToolCredentials.d.ts.map +1 -0
- package/channel/ChannelToolCredentials.js +41 -0
- package/channel/ChannelToolCredentials.js.map +1 -0
- package/channel/ConnectSlackDialog.d.ts +61 -0
- package/channel/ConnectSlackDialog.d.ts.map +1 -0
- package/channel/ConnectSlackDialog.js +238 -0
- package/channel/ConnectSlackDialog.js.map +1 -0
- package/channel/ConnectWhatsAppDialog.d.ts +70 -0
- package/channel/ConnectWhatsAppDialog.d.ts.map +1 -0
- package/channel/ConnectWhatsAppDialog.js +256 -0
- package/channel/ConnectWhatsAppDialog.js.map +1 -0
- package/channel/SlackMarkIcon.d.ts +11 -0
- package/channel/SlackMarkIcon.d.ts.map +1 -0
- package/channel/SlackMarkIcon.js +13 -0
- package/channel/SlackMarkIcon.js.map +1 -0
- package/channel/WhatsAppMarkIcon.d.ts +12 -0
- package/channel/WhatsAppMarkIcon.d.ts.map +1 -0
- package/channel/WhatsAppMarkIcon.js +14 -0
- package/channel/WhatsAppMarkIcon.js.map +1 -0
- package/channel/connect/ServingAppSection.d.ts +57 -0
- package/channel/connect/ServingAppSection.d.ts.map +1 -0
- package/channel/connect/ServingAppSection.js +49 -0
- package/channel/connect/ServingAppSection.js.map +1 -0
- package/channel/connect/ToolCredentialsSection.d.ts +20 -0
- package/channel/connect/ToolCredentialsSection.d.ts.map +1 -0
- package/channel/connect/ToolCredentialsSection.js +22 -0
- package/channel/connect/ToolCredentialsSection.js.map +1 -0
- package/channel/connect/VerbatimRefusal.d.ts +16 -0
- package/channel/connect/VerbatimRefusal.d.ts.map +1 -0
- package/channel/connect/VerbatimRefusal.js +18 -0
- package/channel/connect/VerbatimRefusal.js.map +1 -0
- package/channel/connect/icons.d.ts +16 -0
- package/channel/connect/icons.d.ts.map +1 -0
- package/channel/connect/icons.js +21 -0
- package/channel/connect/icons.js.map +1 -0
- package/channel/index.d.ts +36 -0
- package/channel/index.d.ts.map +1 -0
- package/channel/index.js +19 -0
- package/channel/index.js.map +1 -0
- package/channel/providerPresentation.d.ts +44 -0
- package/channel/providerPresentation.d.ts.map +1 -0
- package/channel/providerPresentation.js +106 -0
- package/channel/providerPresentation.js.map +1 -0
- package/channel/providers.d.ts +62 -0
- package/channel/providers.d.ts.map +1 -0
- package/channel/providers.js +26 -0
- package/channel/providers.js.map +1 -0
- package/channel/useAgentChannel.d.ts +31 -0
- package/channel/useAgentChannel.d.ts.map +1 -0
- package/channel/useAgentChannel.js +34 -0
- package/channel/useAgentChannel.js.map +1 -0
- package/channel/useAgentChannelList.d.ts +43 -0
- package/channel/useAgentChannelList.d.ts.map +1 -0
- package/channel/useAgentChannelList.js +39 -0
- package/channel/useAgentChannelList.js.map +1 -0
- package/channel/useChannelSessions.d.ts +47 -0
- package/channel/useChannelSessions.d.ts.map +1 -0
- package/channel/useChannelSessions.js +38 -0
- package/channel/useChannelSessions.js.map +1 -0
- package/channel/useChannelToolReadiness.d.ts +23 -0
- package/channel/useChannelToolReadiness.d.ts.map +1 -0
- package/channel/useChannelToolReadiness.js +28 -0
- package/channel/useChannelToolReadiness.js.map +1 -0
- package/channel/useConnectSlackChannel.d.ts +75 -0
- package/channel/useConnectSlackChannel.d.ts.map +1 -0
- package/channel/useConnectSlackChannel.js +115 -0
- package/channel/useConnectSlackChannel.js.map +1 -0
- package/channel/useCreateAgentChannel.d.ts +42 -0
- package/channel/useCreateAgentChannel.d.ts.map +1 -0
- package/channel/useCreateAgentChannel.js +48 -0
- package/channel/useCreateAgentChannel.js.map +1 -0
- package/channel/useDeleteAgentChannel.d.ts +40 -0
- package/channel/useDeleteAgentChannel.d.ts.map +1 -0
- package/channel/useDeleteAgentChannel.js +44 -0
- package/channel/useDeleteAgentChannel.js.map +1 -0
- package/channel/useInstallChannel.d.ts +60 -0
- package/channel/useInstallChannel.d.ts.map +1 -0
- package/channel/useInstallChannel.js +63 -0
- package/channel/useInstallChannel.js.map +1 -0
- package/channel/useOrgAgentChannelList.d.ts +32 -0
- package/channel/useOrgAgentChannelList.d.ts.map +1 -0
- package/channel/useOrgAgentChannelList.js +29 -0
- package/channel/useOrgAgentChannelList.js.map +1 -0
- package/channel/useSaveAgentChannel.d.ts +63 -0
- package/channel/useSaveAgentChannel.d.ts.map +1 -0
- package/channel/useSaveAgentChannel.js +104 -0
- package/channel/useSaveAgentChannel.js.map +1 -0
- package/channel-app/ChannelAppDetailPanel.d.ts +46 -0
- package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -0
- package/channel-app/ChannelAppDetailPanel.js +142 -0
- package/channel-app/ChannelAppDetailPanel.js.map +1 -0
- package/channel-app/ChannelAppListPanel.d.ts +36 -0
- package/channel-app/ChannelAppListPanel.d.ts.map +1 -0
- package/channel-app/ChannelAppListPanel.js +63 -0
- package/channel-app/ChannelAppListPanel.js.map +1 -0
- package/channel-app/CreateChannelAppForm.d.ts +54 -0
- package/channel-app/CreateChannelAppForm.d.ts.map +1 -0
- package/channel-app/CreateChannelAppForm.js +140 -0
- package/channel-app/CreateChannelAppForm.js.map +1 -0
- package/channel-app/index.d.ts +18 -0
- package/channel-app/index.d.ts.map +1 -0
- package/channel-app/index.js +10 -0
- package/channel-app/index.js.map +1 -0
- package/channel-app/internal.d.ts +33 -0
- package/channel-app/internal.d.ts.map +1 -0
- package/channel-app/internal.js +44 -0
- package/channel-app/internal.js.map +1 -0
- package/channel-app/slackAppSetup.d.ts +80 -0
- package/channel-app/slackAppSetup.d.ts.map +1 -0
- package/channel-app/slackAppSetup.js +123 -0
- package/channel-app/slackAppSetup.js.map +1 -0
- package/channel-app/useChannelAppList.d.ts +35 -0
- package/channel-app/useChannelAppList.d.ts.map +1 -0
- package/channel-app/useChannelAppList.js +34 -0
- package/channel-app/useChannelAppList.js.map +1 -0
- package/channel-app/useCreateChannelApp.d.ts +39 -0
- package/channel-app/useCreateChannelApp.d.ts.map +1 -0
- package/channel-app/useCreateChannelApp.js +50 -0
- package/channel-app/useCreateChannelApp.js.map +1 -0
- package/channel-app/useDeleteChannelApp.d.ts +31 -0
- package/channel-app/useDeleteChannelApp.d.ts.map +1 -0
- package/channel-app/useDeleteChannelApp.js +43 -0
- package/channel-app/useDeleteChannelApp.js.map +1 -0
- package/channel-app/useUpdateChannelApp.d.ts +39 -0
- package/channel-app/useUpdateChannelApp.d.ts.map +1 -0
- package/channel-app/useUpdateChannelApp.js +50 -0
- package/channel-app/useUpdateChannelApp.js.map +1 -0
- package/channel-app/whatsappAppSetup.d.ts +51 -0
- package/channel-app/whatsappAppSetup.d.ts.map +1 -0
- package/channel-app/whatsappAppSetup.js +57 -0
- package/channel-app/whatsappAppSetup.js.map +1 -0
- package/environment/index.d.ts +2 -0
- package/environment/index.d.ts.map +1 -1
- package/environment/index.js +1 -0
- package/environment/index.js.map +1 -1
- package/environment/useToolCredentialsReadiness.d.ts +52 -0
- package/environment/useToolCredentialsReadiness.d.ts.map +1 -0
- package/environment/useToolCredentialsReadiness.js +84 -0
- package/environment/useToolCredentialsReadiness.js.map +1 -0
- package/execution/ArtifactContentBody.d.ts.map +1 -1
- package/execution/ArtifactContentBody.js +5 -21
- package/execution/ArtifactContentBody.js.map +1 -1
- package/execution/ArtifactFileContent.d.ts +28 -0
- package/execution/ArtifactFileContent.d.ts.map +1 -0
- package/execution/ArtifactFileContent.js +36 -0
- package/execution/ArtifactFileContent.js.map +1 -0
- package/execution/ArtifactRow.d.ts +8 -20
- package/execution/ArtifactRow.d.ts.map +1 -1
- package/execution/ArtifactRow.js +12 -45
- package/execution/ArtifactRow.js.map +1 -1
- package/execution/ArtifactRowView.d.ts +43 -0
- package/execution/ArtifactRowView.d.ts.map +1 -0
- package/execution/ArtifactRowView.js +35 -0
- package/execution/ArtifactRowView.js.map +1 -0
- package/execution/FileChangesView.d.ts.map +1 -1
- package/execution/FileChangesView.js +1 -61
- package/execution/FileChangesView.js.map +1 -1
- package/execution/SubAgentSection.d.ts.map +1 -1
- package/execution/SubAgentSection.js +4 -15
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +16 -61
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/agent-execution-document.d.ts +31 -0
- package/execution/agent-execution-document.d.ts.map +1 -0
- package/execution/agent-execution-document.js +48 -0
- package/execution/agent-execution-document.js.map +1 -0
- package/{session → execution}/artifact-document.d.ts +2 -3
- package/execution/artifact-document.d.ts.map +1 -0
- package/execution/artifact-document.js +23 -0
- package/execution/artifact-document.js.map +1 -0
- package/execution/artifact-row-item.d.ts +56 -0
- package/execution/artifact-row-item.d.ts.map +1 -0
- package/execution/artifact-row-item.js +57 -0
- package/execution/artifact-row-item.js.map +1 -0
- package/execution/deriveExecutionFileChanges.d.ts +55 -0
- package/execution/deriveExecutionFileChanges.d.ts.map +1 -0
- package/execution/deriveExecutionFileChanges.js +216 -0
- package/execution/deriveExecutionFileChanges.js.map +1 -0
- package/execution/file-change-document.d.ts +22 -0
- package/execution/file-change-document.d.ts.map +1 -0
- package/execution/file-change-document.js +34 -0
- package/execution/file-change-document.js.map +1 -0
- package/execution/index.d.ts +14 -0
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +9 -0
- package/execution/index.js.map +1 -1
- package/execution/useArtifactContentById.d.ts +61 -0
- package/execution/useArtifactContentById.d.ts.map +1 -0
- package/execution/useArtifactContentById.js +63 -0
- package/execution/useArtifactContentById.js.map +1 -0
- package/execution/useArtifactDownload.d.ts +4 -3
- package/execution/useArtifactDownload.d.ts.map +1 -1
- package/execution/useArtifactDownload.js +4 -3
- package/execution/useArtifactDownload.js.map +1 -1
- package/execution/useCreateAgentExecution.d.ts +1 -1
- package/execution/useLiveAgentExecution.d.ts +59 -0
- package/execution/useLiveAgentExecution.d.ts.map +1 -0
- package/execution/useLiveAgentExecution.js +73 -0
- package/execution/useLiveAgentExecution.js.map +1 -0
- package/index.d.ts +15 -10
- package/index.d.ts.map +1 -1
- package/index.js +21 -6
- package/index.js.map +1 -1
- package/internal/DecisionButton.d.ts +4 -3
- package/internal/DecisionButton.d.ts.map +1 -1
- package/internal/DecisionButton.js +4 -3
- package/internal/DecisionButton.js.map +1 -1
- package/internal/oauthPopup.d.ts +101 -0
- package/internal/oauthPopup.d.ts.map +1 -0
- package/internal/oauthPopup.js +208 -0
- package/internal/oauthPopup.js.map +1 -0
- package/internal/store/index.d.ts +0 -2
- package/internal/store/index.d.ts.map +1 -1
- package/internal/store/index.js +0 -1
- package/internal/store/index.js.map +1 -1
- package/internal/store/workflow-execution-event-store.d.ts +34 -1
- package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
- package/internal/store/workflow-execution-event-store.js +81 -3
- package/internal/store/workflow-execution-event-store.js.map +1 -1
- package/internal/store/workspace-file-selection-store.d.ts +1 -2
- package/internal/store/workspace-file-selection-store.d.ts.map +1 -1
- package/internal/store/workspace-file-selection-store.js +2 -5
- package/internal/store/workspace-file-selection-store.js.map +1 -1
- package/internal/thread-card/ThreadCardShell.d.ts +91 -0
- package/internal/thread-card/ThreadCardShell.d.ts.map +1 -0
- package/internal/thread-card/ThreadCardShell.js +41 -0
- package/internal/thread-card/ThreadCardShell.js.map +1 -0
- package/internal/thread-card/glyphs.d.ts +34 -0
- package/internal/thread-card/glyphs.d.ts.map +1 -0
- package/internal/thread-card/glyphs.js +50 -0
- package/internal/thread-card/glyphs.js.map +1 -0
- package/internal/thread-card/index.d.ts +3 -0
- package/internal/thread-card/index.d.ts.map +1 -0
- package/internal/thread-card/index.js +3 -0
- package/internal/thread-card/index.js.map +1 -0
- package/internal/useRevealLine.d.ts +2 -2
- package/internal/useRevealLine.js +2 -2
- package/mcp-server/OAuthCallbackHandler.js +1 -1
- package/mcp-server/OAuthCallbackHandler.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -23
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.js +12 -145
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
- package/package.json +4 -4
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +0 -1
- package/session/NewSessionViewer.js.map +1 -1
- package/session/SessionPanelChip.d.ts +7 -22
- package/session/SessionPanelChip.d.ts.map +1 -1
- package/session/SessionPanelChip.js +8 -36
- package/session/SessionPanelChip.js.map +1 -1
- package/session/SessionViewer.d.ts +7 -4
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +32 -30
- package/session/SessionViewer.js.map +1 -1
- package/session/audience.d.ts +15 -1
- package/session/audience.d.ts.map +1 -1
- package/session/channelOrigin.d.ts +33 -0
- package/session/channelOrigin.d.ts.map +1 -0
- package/session/channelOrigin.js +36 -0
- package/session/channelOrigin.js.map +1 -0
- package/session/facets/index.d.ts +0 -2
- package/session/facets/index.d.ts.map +1 -1
- package/session/facets/index.js +0 -1
- package/session/facets/index.js.map +1 -1
- package/session/index.d.ts +2 -2
- package/session/index.d.ts.map +1 -1
- package/session/index.js +5 -3
- package/session/index.js.map +1 -1
- package/session/useSessionFileChanges.d.ts +10 -34
- package/session/useSessionFileChanges.d.ts.map +1 -1
- package/session/useSessionFileChanges.js +9 -141
- package/session/useSessionFileChanges.js.map +1 -1
- package/session/useSessionPanel.d.ts +5 -15
- package/session/useSessionPanel.d.ts.map +1 -1
- package/session/useSessionPanel.js +3 -35
- package/session/useSessionPanel.js.map +1 -1
- package/session/useSessionRailViews.d.ts +3 -6
- package/session/useSessionRailViews.d.ts.map +1 -1
- package/session/useSessionRailViews.js +3 -17
- package/session/useSessionRailViews.js.map +1 -1
- package/settings/ChannelAppsSection.d.ts +13 -0
- package/settings/ChannelAppsSection.d.ts.map +1 -0
- package/settings/ChannelAppsSection.js +48 -0
- package/settings/ChannelAppsSection.js.map +1 -0
- package/settings/index.d.ts +1 -0
- package/settings/index.d.ts.map +1 -1
- package/settings/index.js +1 -0
- package/settings/index.js.map +1 -1
- package/settings/settings-nav.d.ts.map +1 -1
- package/settings/settings-nav.js +6 -1
- package/settings/settings-nav.js.map +1 -1
- package/sharing/AgentShareList.d.ts.map +1 -1
- package/sharing/AgentShareList.js +11 -3
- package/sharing/AgentShareList.js.map +1 -1
- package/sharing/ShareAgentDialog.js +1 -1
- package/sharing/useShareToolReadiness.d.ts +9 -38
- package/sharing/useShareToolReadiness.d.ts.map +1 -1
- package/sharing/useShareToolReadiness.js +7 -72
- package/sharing/useShareToolReadiness.js.map +1 -1
- package/src/agent-instance/AgentInstanceList.tsx +60 -42
- package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
- package/src/channel/AgentChannelsPanel.tsx +688 -0
- package/src/channel/ChannelConversationsDialog.tsx +267 -0
- package/src/channel/ChannelCredentialsDialog.tsx +219 -0
- package/src/channel/ChannelToolCredentials.tsx +124 -0
- package/src/channel/ConnectSlackDialog.tsx +611 -0
- package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
- package/src/channel/SlackMarkIcon.tsx +21 -0
- package/src/channel/WhatsAppMarkIcon.tsx +22 -0
- package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
- package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
- package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
- package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
- package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
- package/src/channel/__tests__/providers.test.ts +118 -0
- package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
- package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
- package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
- package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
- package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
- package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
- package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
- package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
- package/src/channel/connect/ServingAppSection.tsx +185 -0
- package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
- package/src/channel/connect/VerbatimRefusal.tsx +27 -0
- package/src/channel/connect/icons.tsx +42 -0
- package/src/channel/index.ts +65 -0
- package/src/channel/providerPresentation.ts +154 -0
- package/src/channel/providers.ts +73 -0
- package/src/channel/useAgentChannel.ts +58 -0
- package/src/channel/useAgentChannelList.ts +69 -0
- package/src/channel/useChannelSessions.ts +73 -0
- package/src/channel/useChannelToolReadiness.ts +39 -0
- package/src/channel/useConnectSlackChannel.ts +195 -0
- package/src/channel/useCreateAgentChannel.ts +73 -0
- package/src/channel/useDeleteAgentChannel.ts +71 -0
- package/src/channel/useInstallChannel.ts +117 -0
- package/src/channel/useOrgAgentChannelList.ts +60 -0
- package/src/channel/useSaveAgentChannel.ts +133 -0
- package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
- package/src/channel-app/ChannelAppListPanel.tsx +201 -0
- package/src/channel-app/CreateChannelAppForm.tsx +529 -0
- package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
- package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
- package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
- package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
- package/src/channel-app/index.ts +30 -0
- package/src/channel-app/internal.tsx +180 -0
- package/src/channel-app/slackAppSetup.ts +153 -0
- package/src/channel-app/useChannelAppList.ts +59 -0
- package/src/channel-app/useCreateChannelApp.ts +70 -0
- package/src/channel-app/useDeleteChannelApp.ts +62 -0
- package/src/channel-app/useUpdateChannelApp.ts +70 -0
- package/src/channel-app/whatsappAppSetup.ts +62 -0
- package/src/environment/index.ts +2 -0
- package/src/environment/useToolCredentialsReadiness.ts +122 -0
- package/src/execution/ArtifactContentBody.tsx +6 -88
- package/src/execution/ArtifactFileContent.tsx +110 -0
- package/src/execution/ArtifactRow.tsx +28 -118
- package/src/execution/ArtifactRowView.tsx +137 -0
- package/src/execution/FileChangesView.tsx +4 -69
- package/src/execution/SubAgentSection.tsx +2 -36
- package/src/execution/ToolCallItem.tsx +48 -175
- package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
- package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
- package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
- package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
- package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
- package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
- package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
- package/src/execution/agent-execution-document.ts +54 -0
- package/src/execution/artifact-document.ts +24 -0
- package/src/execution/artifact-row-item.ts +97 -0
- package/src/execution/deriveExecutionFileChanges.ts +237 -0
- package/src/execution/file-change-document.ts +37 -0
- package/src/execution/index.ts +36 -0
- package/src/execution/useArtifactContentById.ts +120 -0
- package/src/execution/useArtifactDownload.ts +4 -3
- package/src/execution/useCreateAgentExecution.ts +1 -1
- package/src/execution/useLiveAgentExecution.ts +127 -0
- package/src/index.ts +155 -11
- package/src/internal/DecisionButton.tsx +4 -3
- package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
- package/src/internal/__tests__/oauthPopup.test.ts +245 -0
- package/src/internal/oauthPopup.ts +261 -0
- package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
- package/src/internal/store/index.ts +0 -3
- package/src/internal/store/workflow-execution-event-store.ts +123 -4
- package/src/internal/store/workspace-file-selection-store.ts +2 -5
- package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
- package/src/internal/thread-card/glyphs.tsx +108 -0
- package/src/internal/thread-card/index.ts +19 -0
- package/src/internal/useRevealLine.ts +2 -2
- package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
- package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
- package/src/session/NewSessionViewer.tsx +0 -1
- package/src/session/SessionPanelChip.tsx +10 -96
- package/src/session/SessionViewer.tsx +170 -144
- package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
- package/src/session/__tests__/observerAudience.test.tsx +241 -0
- package/src/session/__tests__/useSessionPanel.test.ts +6 -61
- package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
- package/src/session/audience.ts +15 -1
- package/src/session/channelOrigin.ts +45 -0
- package/src/session/facets/index.ts +0 -3
- package/src/session/index.ts +9 -6
- package/src/session/useSessionFileChanges.ts +12 -153
- package/src/session/useSessionPanel.ts +8 -51
- package/src/session/useSessionRailViews.tsx +2 -27
- package/src/settings/ChannelAppsSection.tsx +133 -0
- package/src/settings/index.ts +1 -0
- package/src/settings/settings-nav.ts +6 -0
- package/src/sharing/AgentShareList.tsx +85 -64
- package/src/sharing/ShareAgentDialog.tsx +1 -1
- package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
- package/src/sharing/useShareToolReadiness.ts +13 -101
- package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
- package/src/workflow/WorkflowApprovalList.tsx +158 -0
- package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
- package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
- package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
- package/src/workflow/WorkflowFileReviewList.tsx +1 -1
- package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
- package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
- package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
- package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
- package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
- package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
- package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
- package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
- package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
- package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
- package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
- package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
- package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
- package/src/workflow/__tests__/execution-graph.test.ts +8 -0
- package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
- package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
- package/src/workflow/__tests__/task-approval.test.ts +149 -0
- package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
- package/src/workflow/__tests__/task-presentation.test.ts +479 -0
- package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
- package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
- package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
- package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
- package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
- package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
- package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
- package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
- package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
- package/src/workflow/diagnosis-document.ts +31 -0
- package/src/workflow/execution/index.ts +0 -15
- package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
- package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
- package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
- package/src/workflow/format-utils.ts +2 -3
- package/src/workflow/index.ts +106 -62
- package/src/workflow/inspector/index.ts +0 -4
- package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
- package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
- package/src/workflow/task-detail/index.ts +11 -0
- package/src/workflow/task-detail/task-approval.ts +158 -0
- package/src/workflow/task-detail/task-detail-io.ts +65 -0
- package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
- package/src/workflow/thread/project-thread-items.ts +235 -0
- package/src/workflow/thread/task-presentation.ts +427 -0
- package/src/workflow/thread/thread-presentation.ts +59 -0
- package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
- package/src/workflow/useApprovalBoundary.ts +72 -0
- package/src/workflow/useFollowExecution.ts +0 -26
- package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
- package/src/workflow/useWorkflowExecutionActions.ts +3 -2
- package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
- package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
- package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
- package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
- package/src/workspace/FileViewer.tsx +3 -3
- package/src/workspace/PanelChip.tsx +103 -0
- package/src/workspace/WorkspaceSurface.tsx +50 -6
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
- package/src/workspace/index.ts +3 -0
- package/styles.css +1 -1
- package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
- package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
- package/workflow/WorkflowAgentExecutionDocument.js +87 -0
- package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
- package/workflow/WorkflowApprovalList.d.ts +62 -0
- package/workflow/WorkflowApprovalList.d.ts.map +1 -0
- package/workflow/WorkflowApprovalList.js +52 -0
- package/workflow/WorkflowApprovalList.js.map +1 -0
- package/workflow/WorkflowArtifactDocument.d.ts +29 -0
- package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
- package/workflow/WorkflowArtifactDocument.js +89 -0
- package/workflow/WorkflowArtifactDocument.js.map +1 -0
- package/workflow/WorkflowExecutionGraph.d.ts +15 -13
- package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/WorkflowExecutionGraph.js +18 -53
- package/workflow/WorkflowExecutionGraph.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts +8 -5
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +329 -54
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowFileReviewList.d.ts +1 -1
- package/workflow/WorkflowFileReviewList.js +1 -1
- package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
- package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalCard.js +5 -4
- package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
- package/workflow/WorkflowTaskApprovalSummary.js +5 -5
- package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
- package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowArtifactItems.js +38 -0
- package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
- package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
- package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowUsageItems.js +50 -0
- package/workflow/deriveWorkflowUsageItems.js.map +1 -0
- package/workflow/diagnosis-document.d.ts +17 -0
- package/workflow/diagnosis-document.d.ts.map +1 -0
- package/workflow/diagnosis-document.js +29 -0
- package/workflow/diagnosis-document.js.map +1 -0
- package/workflow/execution/index.d.ts +0 -2
- package/workflow/execution/index.d.ts.map +1 -1
- package/workflow/execution/index.js +0 -2
- package/workflow/execution/index.js.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
- package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowArtifactsTab.js +34 -0
- package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
- package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
- package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowChangesTab.js +50 -0
- package/workflow/facets/WorkflowChangesTab.js.map +1 -0
- package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
- package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowUsageTab.js +87 -0
- package/workflow/facets/WorkflowUsageTab.js.map +1 -0
- package/workflow/format-utils.d.ts +2 -3
- package/workflow/format-utils.d.ts.map +1 -1
- package/workflow/format-utils.js +2 -3
- package/workflow/format-utils.js.map +1 -1
- package/workflow/index.d.ts +21 -10
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +29 -14
- package/workflow/index.js.map +1 -1
- package/workflow/inspector/index.d.ts +0 -2
- package/workflow/inspector/index.d.ts.map +1 -1
- package/workflow/inspector/index.js +0 -2
- package/workflow/inspector/index.js.map +1 -1
- package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceList.js +11 -3
- package/workflow/instance/WorkflowInstanceList.js.map +1 -1
- package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
- package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
- package/workflow/task-detail/index.d.ts +4 -0
- package/workflow/task-detail/index.d.ts.map +1 -0
- package/workflow/task-detail/index.js +4 -0
- package/workflow/task-detail/index.js.map +1 -0
- package/workflow/task-detail/task-approval.d.ts +89 -0
- package/workflow/task-detail/task-approval.d.ts.map +1 -0
- package/workflow/task-detail/task-approval.js +84 -0
- package/workflow/task-detail/task-approval.js.map +1 -0
- package/workflow/task-detail/task-detail-io.d.ts +39 -0
- package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
- package/workflow/task-detail/task-detail-io.js +42 -0
- package/workflow/task-detail/task-detail-io.js.map +1 -0
- package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
- package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
- package/workflow/thread/WorkflowTaskThread.js +318 -0
- package/workflow/thread/WorkflowTaskThread.js.map +1 -0
- package/workflow/thread/project-thread-items.d.ts +108 -0
- package/workflow/thread/project-thread-items.d.ts.map +1 -0
- package/workflow/thread/project-thread-items.js +126 -0
- package/workflow/thread/project-thread-items.js.map +1 -0
- package/workflow/thread/task-presentation.d.ts +73 -0
- package/workflow/thread/task-presentation.d.ts.map +1 -0
- package/workflow/thread/task-presentation.js +331 -0
- package/workflow/thread/task-presentation.js.map +1 -0
- package/workflow/thread/thread-presentation.d.ts +28 -0
- package/workflow/thread/thread-presentation.d.ts.map +1 -0
- package/workflow/thread/thread-presentation.js +28 -0
- package/workflow/thread/thread-presentation.js.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.js +22 -0
- package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
- package/workflow/useApprovalBoundary.d.ts +38 -0
- package/workflow/useApprovalBoundary.d.ts.map +1 -0
- package/workflow/useApprovalBoundary.js +55 -0
- package/workflow/useApprovalBoundary.js.map +1 -0
- package/workflow/useFollowExecution.d.ts +0 -20
- package/workflow/useFollowExecution.d.ts.map +1 -1
- package/workflow/useFollowExecution.js +0 -17
- package/workflow/useFollowExecution.js.map +1 -1
- package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
- package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
- package/workflow/useWorkflowArtifactDownload.js +45 -0
- package/workflow/useWorkflowArtifactDownload.js.map +1 -0
- package/workflow/useWorkflowExecutionActions.d.ts +3 -2
- package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionActions.js.map +1 -1
- package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
- package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionFileChanges.js +244 -0
- package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
- package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
- package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionGraph.js +2 -25
- package/workflow/useWorkflowExecutionGraph.js.map +1 -1
- package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
- package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionPanel.js +103 -0
- package/workflow/useWorkflowExecutionPanel.js.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.js +81 -0
- package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
- package/workspace/FileViewer.d.ts +1 -1
- package/workspace/FileViewer.js +3 -3
- package/workspace/FileViewer.js.map +1 -1
- package/workspace/PanelChip.d.ts +27 -0
- package/workspace/PanelChip.d.ts.map +1 -0
- package/workspace/PanelChip.js +42 -0
- package/workspace/PanelChip.js.map +1 -0
- package/workspace/WorkspaceSurface.d.ts +25 -1
- package/workspace/WorkspaceSurface.d.ts.map +1 -1
- package/workspace/WorkspaceSurface.js +21 -9
- package/workspace/WorkspaceSurface.js.map +1 -1
- package/workspace/index.d.ts +3 -1
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +1 -0
- package/workspace/index.js.map +1 -1
- package/execution/ThreadSelectionContext.d.ts +0 -17
- package/execution/ThreadSelectionContext.d.ts.map +0 -1
- package/execution/ThreadSelectionContext.js +0 -18
- package/execution/ThreadSelectionContext.js.map +0 -1
- package/execution/useThreadSelection.d.ts +0 -35
- package/execution/useThreadSelection.d.ts.map +0 -1
- package/execution/useThreadSelection.js +0 -65
- package/execution/useThreadSelection.js.map +0 -1
- package/internal/store/selection-store.d.ts +0 -53
- package/internal/store/selection-store.d.ts.map +0 -1
- package/internal/store/selection-store.js +0 -88
- package/internal/store/selection-store.js.map +0 -1
- package/session/artifact-document.d.ts.map +0 -1
- package/session/artifact-document.js +0 -22
- package/session/artifact-document.js.map +0 -1
- package/session/facets/InspectTab.d.ts +0 -13
- package/session/facets/InspectTab.d.ts.map +0 -1
- package/session/facets/InspectTab.js +0 -19
- package/session/facets/InspectTab.js.map +0 -1
- package/src/execution/ThreadSelectionContext.tsx +0 -20
- package/src/execution/useThreadSelection.ts +0 -95
- package/src/internal/store/__tests__/selection-store.test.ts +0 -115
- package/src/internal/store/selection-store.ts +0 -112
- package/src/session/artifact-document.ts +0 -23
- package/src/session/facets/InspectTab.tsx +0 -57
- package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
- package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
- package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
- package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
- package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
- package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
- package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
- package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
- package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
- package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
- package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
- package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
- package/src/workflow/execution/useWaterfallEntries.ts +0 -125
- package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
- package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
- package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
- package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
- package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
- package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
- package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
- package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
- package/src/workflow/execution-inspector/index.ts +0 -14
- package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
- package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
- package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
- package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
- package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
- package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
- package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
- package/src/workflow/waterfall/index.ts +0 -5
- package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
- package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
- package/workflow/WorkflowExecutionApprovalCard.js +0 -46
- package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
- package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
- package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
- package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.js +0 -31
- package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
- package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.js +0 -51
- package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
- package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimeline.js +0 -52
- package/workflow/WorkflowExecutionTimeline.js.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
- package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
- package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
- package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
- package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
- package/workflow/execution/derive-waterfall-entries.js +0 -268
- package/workflow/execution/derive-waterfall-entries.js.map +0 -1
- package/workflow/execution/useWaterfallEntries.d.ts +0 -25
- package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
- package/workflow/execution/useWaterfallEntries.js +0 -67
- package/workflow/execution/useWaterfallEntries.js.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
- package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.js +0 -36
- package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
- package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
- package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
- package/workflow/execution-inspector/ErrorTab.js +0 -29
- package/workflow/execution-inspector/ErrorTab.js.map +0 -1
- package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
- package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
- package/workflow/execution-inspector/EventLogTab.js +0 -47
- package/workflow/execution-inspector/EventLogTab.js.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
- package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.js +0 -145
- package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
- package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.js +0 -124
- package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
- package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
- package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
- package/workflow/execution-inspector/RetriesTab.js +0 -11
- package/workflow/execution-inspector/RetriesTab.js.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
- package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
- package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
- package/workflow/execution-inspector/SummaryTab.js +0 -10
- package/workflow/execution-inspector/SummaryTab.js.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
- package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.js +0 -366
- package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
- package/workflow/execution-inspector/index.d.ts +0 -4
- package/workflow/execution-inspector/index.d.ts.map +0 -1
- package/workflow/execution-inspector/index.js +0 -4
- package/workflow/execution-inspector/index.js.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
- package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
- package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
- package/workflow/waterfall/WaterfallBar.d.ts +0 -19
- package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallBar.js +0 -70
- package/workflow/waterfall/WaterfallBar.js.map +0 -1
- package/workflow/waterfall/WaterfallRow.d.ts +0 -18
- package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallRow.js +0 -45
- package/workflow/waterfall/WaterfallRow.js.map +0 -1
- package/workflow/waterfall/WaterfallScale.d.ts +0 -14
- package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallScale.js +0 -22
- package/workflow/waterfall/WaterfallScale.js.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
- package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.js +0 -60
- package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
- package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.js +0 -20
- package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
- package/workflow/waterfall/index.d.ts +0 -6
- package/workflow/waterfall/index.d.ts.map +0 -1
- package/workflow/waterfall/index.js +0 -6
- package/workflow/waterfall/index.js.map +0 -1
- /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
4
|
import type { Node, Edge } from "@xyflow/react";
|
|
5
5
|
import type { WorkflowExecution } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
|
|
6
6
|
import type { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/enum_pb";
|
|
@@ -41,16 +41,6 @@ export interface UseWorkflowExecutionGraphOptions {
|
|
|
41
41
|
*/
|
|
42
42
|
readonly taskStates?: ReadonlyMap<string, DerivedTaskState>;
|
|
43
43
|
|
|
44
|
-
/**
|
|
45
|
-
* Callback invoked once when the hook auto-selects a failed task
|
|
46
|
-
* on a terminal execution. The parent can wire this to its own
|
|
47
|
-
* `setSelectedTaskName` to keep the inspector in sync.
|
|
48
|
-
*
|
|
49
|
-
* Without this, auto-selection only affects the hook's internal
|
|
50
|
-
* `selectedTaskName` state and is invisible to sibling components.
|
|
51
|
-
*/
|
|
52
|
-
readonly onAutoSelectTask?: (taskName: string) => void;
|
|
53
|
-
|
|
54
44
|
/**
|
|
55
45
|
* When `true`, non-sentinel nodes are marked `draggable: true` so
|
|
56
46
|
* the parent component can allow ephemeral drag repositioning.
|
|
@@ -68,10 +58,6 @@ export interface UseWorkflowExecutionGraphReturn {
|
|
|
68
58
|
readonly edges: Edge[];
|
|
69
59
|
/** Current execution lifecycle phase. */
|
|
70
60
|
readonly executionPhase: ExecutionPhase | undefined;
|
|
71
|
-
/** Currently selected task name in the graph. */
|
|
72
|
-
readonly selectedTaskName: string | null;
|
|
73
|
-
/** Set the selected task in the graph. */
|
|
74
|
-
readonly setSelectedTaskName: (name: string | null) => void;
|
|
75
61
|
/** `true` while the graph model is being loaded (workflow fetch + parse). */
|
|
76
62
|
readonly isLoading: boolean;
|
|
77
63
|
/** Error from workflow fetch or graph building. */
|
|
@@ -87,13 +73,10 @@ export interface UseWorkflowExecutionGraphReturn {
|
|
|
87
73
|
* the current definition as a fallback but this is an imprecise view.
|
|
88
74
|
*/
|
|
89
75
|
readonly versionResolutionFailed: boolean;
|
|
90
|
-
/** Task states from the event stream (for the
|
|
76
|
+
/** Task states from the event stream (for the graph's status overlays). */
|
|
91
77
|
readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
|
|
92
78
|
}
|
|
93
79
|
|
|
94
|
-
const EMPTY_TASK_STATES: ReadonlyMap<string, DerivedTaskState> = new Map();
|
|
95
|
-
const TERMINAL_PHASES = new Set([3, 4, 5, 6]);
|
|
96
|
-
|
|
97
80
|
type WorkflowFetchResult = {
|
|
98
81
|
yaml: string;
|
|
99
82
|
isVersionPinned: boolean;
|
|
@@ -130,11 +113,9 @@ async function fetchLiveWorkflowFallback(
|
|
|
130
113
|
export function useWorkflowExecutionGraph(
|
|
131
114
|
options: UseWorkflowExecutionGraphOptions,
|
|
132
115
|
): UseWorkflowExecutionGraphReturn {
|
|
133
|
-
const { executionId,
|
|
116
|
+
const { executionId, nodesDraggable = false } = options;
|
|
134
117
|
const stigmer = useStigmer();
|
|
135
118
|
|
|
136
|
-
const [selectedTaskName, setSelectedTaskName] = useState<string | null>(null);
|
|
137
|
-
|
|
138
119
|
// ── Execution data: use external or fetch own ────────────────────
|
|
139
120
|
|
|
140
121
|
const ownExecution = useWorkflowExecution(
|
|
@@ -377,31 +358,10 @@ export function useWorkflowExecutionGraph(
|
|
|
377
358
|
?? (!isLoading && !baseElements && effectiveWorkflowId ? "Unable to build workflow graph" : null)
|
|
378
359
|
?? null;
|
|
379
360
|
|
|
380
|
-
// ── Auto-select failed task (fires once on terminal phase) ───────
|
|
381
|
-
|
|
382
|
-
const didAutoSelectRef = useRef(false);
|
|
383
|
-
|
|
384
|
-
useEffect(() => {
|
|
385
|
-
if (didAutoSelectRef.current) return;
|
|
386
|
-
if (!phase || !TERMINAL_PHASES.has(phase)) return;
|
|
387
|
-
if (selectedTaskName) return;
|
|
388
|
-
|
|
389
|
-
for (const [name, state] of taskStates) {
|
|
390
|
-
if (state.status === "failed") {
|
|
391
|
-
didAutoSelectRef.current = true;
|
|
392
|
-
setSelectedTaskName(name);
|
|
393
|
-
onAutoSelectTask?.(name);
|
|
394
|
-
return;
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}, [phase, taskStates, selectedTaskName, onAutoSelectTask]);
|
|
398
|
-
|
|
399
361
|
return {
|
|
400
362
|
nodes: nodesWithExecution,
|
|
401
363
|
edges: edgesWithExecution,
|
|
402
364
|
executionPhase: phase,
|
|
403
|
-
selectedTaskName,
|
|
404
|
-
setSelectedTaskName,
|
|
405
365
|
isLoading,
|
|
406
366
|
error,
|
|
407
367
|
versionMismatch,
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// State + actions for the workflow execution viewer's WorkspaceSurface panel.
|
|
4
|
+
// Domain: workflow (the lean analog of session/useSessionPanel).
|
|
5
|
+
|
|
6
|
+
import { useCallback, useMemo, useState } from "react";
|
|
7
|
+
import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
|
|
8
|
+
import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
9
|
+
import {
|
|
10
|
+
useWorkspaceEditorsStoreRef,
|
|
11
|
+
type OpenFileOptions,
|
|
12
|
+
type WorkspaceEditorsStore,
|
|
13
|
+
} from "../internal/store/index.js";
|
|
14
|
+
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../execution/artifact-document.js";
|
|
15
|
+
import {
|
|
16
|
+
FILE_CHANGE_DOCUMENT_ENTRY_ID,
|
|
17
|
+
fileChangeTabPath,
|
|
18
|
+
} from "../execution/file-change-document.js";
|
|
19
|
+
import {
|
|
20
|
+
AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
|
|
21
|
+
agentExecutionTabPath,
|
|
22
|
+
} from "../execution/agent-execution-document.js";
|
|
23
|
+
import {
|
|
24
|
+
DIAGNOSIS_DOCUMENT_ENTRY_ID,
|
|
25
|
+
DIAGNOSIS_DOCUMENT_PATH,
|
|
26
|
+
} from "./diagnosis-document.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The identity of a workflow artifact's document tab within the shared
|
|
30
|
+
* artifact-document family — the workflow analog of the session's
|
|
31
|
+
* `artifactKey`. Prefixed with the `Artifact` resource id (immutable,
|
|
32
|
+
* append-only store → a stable, unique identity) and suffixed with the
|
|
33
|
+
* display name because the editor tab's LABEL is the path's basename: a bare
|
|
34
|
+
* id would label the tab `art_01h…` instead of `report.json`.
|
|
35
|
+
*/
|
|
36
|
+
export function workflowArtifactTabPath(artifact: Artifact): string {
|
|
37
|
+
const id = artifact.metadata?.id ?? "";
|
|
38
|
+
const name =
|
|
39
|
+
artifact.spec?.displayName || artifact.metadata?.name || "Unnamed";
|
|
40
|
+
return `${id}/${name}`;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* State + actions for the workflow execution panel — the SINGLE right-side
|
|
45
|
+
* `WorkspaceSurface` of `WorkflowExecutionViewer` (facets on the rail,
|
|
46
|
+
* documents in the editor area). Collapsed by default (thread-dominant);
|
|
47
|
+
* `isOpen` + `view` describe it fully.
|
|
48
|
+
*
|
|
49
|
+
* Deliberately NOT a shared extraction with `useSessionPanel`: the two
|
|
50
|
+
* controllers share the same primitives (the generic
|
|
51
|
+
* {@link WorkspaceEditorsStore} and the surface itself), but their document
|
|
52
|
+
* families and view semantics are domain-specific.
|
|
53
|
+
*/
|
|
54
|
+
export interface WorkflowExecutionPanelController {
|
|
55
|
+
/** The open-editor group store; subscribe with `useWorkspaceEditors`. */
|
|
56
|
+
readonly editorsStore: WorkspaceEditorsStore;
|
|
57
|
+
/** Whether the panel is expanded or collapsed to the chip. */
|
|
58
|
+
readonly isOpen: boolean;
|
|
59
|
+
/** The active rail view id (an injected facet — `"artifacts"` today). */
|
|
60
|
+
readonly view: string;
|
|
61
|
+
/** Expand the panel. */
|
|
62
|
+
readonly openPanel: () => void;
|
|
63
|
+
/** Collapse the panel to the chip, preserving editors and view. */
|
|
64
|
+
readonly closePanel: () => void;
|
|
65
|
+
/** Explicit view pick from the rail. */
|
|
66
|
+
readonly setView: (viewId: string) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Open (or focus) the AI-diagnosis conversation as a pinned editor-pane
|
|
69
|
+
* document tab and expand the panel — the singleton analog of the
|
|
70
|
+
* session's `openPlanDocument`. Idempotent: the tab (not an owner-level
|
|
71
|
+
* boolean) is the single source of truth for "diagnosis is active", so
|
|
72
|
+
* re-invoking Diagnose focuses the existing conversation.
|
|
73
|
+
*/
|
|
74
|
+
readonly openDiagnosis: () => void;
|
|
75
|
+
/**
|
|
76
|
+
* Open a file as a preview tab and expand the panel. Unused until a
|
|
77
|
+
* workspace-source slice wires a lister, but part of the controller's
|
|
78
|
+
* stable surface so the viewer's editor wiring never changes shape.
|
|
79
|
+
*/
|
|
80
|
+
readonly openFile: (
|
|
81
|
+
entryId: string,
|
|
82
|
+
path: string,
|
|
83
|
+
options?: OpenFileOptions,
|
|
84
|
+
) => void;
|
|
85
|
+
/** Focus an already-open editor tab. */
|
|
86
|
+
readonly activateEditor: (entryId: string, path: string) => void;
|
|
87
|
+
/** Pin an editor tab (clear its preview state). */
|
|
88
|
+
readonly pinEditor: (entryId: string, path: string) => void;
|
|
89
|
+
/** Close an editor tab. The panel stays open when the group empties. */
|
|
90
|
+
readonly closeEditor: (entryId: string, path: string) => void;
|
|
91
|
+
/**
|
|
92
|
+
* Open (or focus) an artifact as an editor-pane document tab and expand the
|
|
93
|
+
* panel. Uses the PREVIEW slot — casual artifact browsing reuses one tab
|
|
94
|
+
* (single-click) and double-clicking pins it, matching the session panel's
|
|
95
|
+
* artifact-tab semantics.
|
|
96
|
+
*/
|
|
97
|
+
readonly openArtifact: (artifact: Artifact) => void;
|
|
98
|
+
/**
|
|
99
|
+
* Pin an artifact's tab — the double-click half of the open/activate split.
|
|
100
|
+
* A no-op if the artifact is not open.
|
|
101
|
+
*/
|
|
102
|
+
readonly pinArtifact: (artifact: Artifact) => void;
|
|
103
|
+
/**
|
|
104
|
+
* Open (or focus) a file change's diff as an editor-pane document tab and
|
|
105
|
+
* expand the panel. Same preview-slot semantics as {@link openArtifact} —
|
|
106
|
+
* the slot is shared across families, so casually browsing changes and
|
|
107
|
+
* artifacts reuses one tab (true VS Code behavior).
|
|
108
|
+
*/
|
|
109
|
+
readonly openFileChange: (change: FileChange) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Pin a file change's diff tab — the double-click half of the
|
|
112
|
+
* open/activate split. A no-op if the change is not open.
|
|
113
|
+
*/
|
|
114
|
+
readonly pinFileChange: (change: FileChange) => void;
|
|
115
|
+
/**
|
|
116
|
+
* Open (or focus) a child AgentExecution's transcript as an editor-pane
|
|
117
|
+
* document tab and expand the panel — the S4 in-place expansion. Same
|
|
118
|
+
* preview-slot semantics as {@link openArtifact}: casually stepping
|
|
119
|
+
* through agent calls reuses one tab; pinning keeps one around.
|
|
120
|
+
*/
|
|
121
|
+
readonly openAgentExecution: (
|
|
122
|
+
childExecutionId: string,
|
|
123
|
+
taskName: string,
|
|
124
|
+
) => void;
|
|
125
|
+
/**
|
|
126
|
+
* Pin a child AgentExecution's transcript tab — the double-click half of
|
|
127
|
+
* the open/activate split. A no-op if the transcript is not open.
|
|
128
|
+
*/
|
|
129
|
+
readonly pinAgentExecution: (
|
|
130
|
+
childExecutionId: string,
|
|
131
|
+
taskName: string,
|
|
132
|
+
) => void;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** Options for {@link useWorkflowExecutionPanel}. */
|
|
136
|
+
export interface UseWorkflowExecutionPanelOptions {
|
|
137
|
+
/**
|
|
138
|
+
* The panel's home view. Defaults to `"artifacts"` — the one facet this
|
|
139
|
+
* panel carries today (there is no workspace file source yet, so no
|
|
140
|
+
* built-in Explorer to land on).
|
|
141
|
+
* @default "artifacts"
|
|
142
|
+
*/
|
|
143
|
+
readonly defaultView?: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Create a {@link WorkflowExecutionPanelController} for a viewer instance.
|
|
148
|
+
*/
|
|
149
|
+
export function useWorkflowExecutionPanel({
|
|
150
|
+
defaultView = "artifacts",
|
|
151
|
+
}: UseWorkflowExecutionPanelOptions = {}): WorkflowExecutionPanelController {
|
|
152
|
+
const editorsStore = useWorkspaceEditorsStoreRef();
|
|
153
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
154
|
+
const [view, setViewState] = useState(defaultView);
|
|
155
|
+
|
|
156
|
+
const openPanel = useCallback(() => setIsOpen(true), []);
|
|
157
|
+
const closePanel = useCallback(() => setIsOpen(false), []);
|
|
158
|
+
|
|
159
|
+
const setView = useCallback((viewId: string) => setViewState(viewId), []);
|
|
160
|
+
|
|
161
|
+
const openDiagnosis = useCallback(() => {
|
|
162
|
+
editorsStore.openPinned(
|
|
163
|
+
DIAGNOSIS_DOCUMENT_ENTRY_ID,
|
|
164
|
+
DIAGNOSIS_DOCUMENT_PATH,
|
|
165
|
+
);
|
|
166
|
+
setIsOpen(true);
|
|
167
|
+
}, [editorsStore]);
|
|
168
|
+
|
|
169
|
+
const openFile = useCallback(
|
|
170
|
+
(entryId: string, path: string, options?: OpenFileOptions) => {
|
|
171
|
+
editorsStore.openPreview(entryId, path, options);
|
|
172
|
+
setIsOpen(true);
|
|
173
|
+
},
|
|
174
|
+
[editorsStore],
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
const openArtifact = useCallback(
|
|
178
|
+
(artifact: Artifact) => {
|
|
179
|
+
editorsStore.openPreview(
|
|
180
|
+
ARTIFACT_DOCUMENT_ENTRY_ID,
|
|
181
|
+
workflowArtifactTabPath(artifact),
|
|
182
|
+
);
|
|
183
|
+
setIsOpen(true);
|
|
184
|
+
},
|
|
185
|
+
[editorsStore],
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
const pinArtifact = useCallback(
|
|
189
|
+
(artifact: Artifact) => {
|
|
190
|
+
editorsStore.pin(
|
|
191
|
+
ARTIFACT_DOCUMENT_ENTRY_ID,
|
|
192
|
+
workflowArtifactTabPath(artifact),
|
|
193
|
+
);
|
|
194
|
+
},
|
|
195
|
+
[editorsStore],
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
const openFileChange = useCallback(
|
|
199
|
+
(change: FileChange) => {
|
|
200
|
+
editorsStore.openPreview(
|
|
201
|
+
FILE_CHANGE_DOCUMENT_ENTRY_ID,
|
|
202
|
+
fileChangeTabPath(change),
|
|
203
|
+
);
|
|
204
|
+
setIsOpen(true);
|
|
205
|
+
},
|
|
206
|
+
[editorsStore],
|
|
207
|
+
);
|
|
208
|
+
|
|
209
|
+
const pinFileChange = useCallback(
|
|
210
|
+
(change: FileChange) => {
|
|
211
|
+
editorsStore.pin(FILE_CHANGE_DOCUMENT_ENTRY_ID, fileChangeTabPath(change));
|
|
212
|
+
},
|
|
213
|
+
[editorsStore],
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
const openAgentExecution = useCallback(
|
|
217
|
+
(childExecutionId: string, taskName: string) => {
|
|
218
|
+
editorsStore.openPreview(
|
|
219
|
+
AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
|
|
220
|
+
agentExecutionTabPath(childExecutionId, taskName),
|
|
221
|
+
);
|
|
222
|
+
setIsOpen(true);
|
|
223
|
+
},
|
|
224
|
+
[editorsStore],
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
const pinAgentExecution = useCallback(
|
|
228
|
+
(childExecutionId: string, taskName: string) => {
|
|
229
|
+
editorsStore.pin(
|
|
230
|
+
AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
|
|
231
|
+
agentExecutionTabPath(childExecutionId, taskName),
|
|
232
|
+
);
|
|
233
|
+
},
|
|
234
|
+
[editorsStore],
|
|
235
|
+
);
|
|
236
|
+
|
|
237
|
+
const activateEditor = useCallback(
|
|
238
|
+
(entryId: string, path: string) => editorsStore.activate(entryId, path),
|
|
239
|
+
[editorsStore],
|
|
240
|
+
);
|
|
241
|
+
|
|
242
|
+
const pinEditor = useCallback(
|
|
243
|
+
(entryId: string, path: string) => editorsStore.pin(entryId, path),
|
|
244
|
+
[editorsStore],
|
|
245
|
+
);
|
|
246
|
+
|
|
247
|
+
const closeEditor = useCallback(
|
|
248
|
+
(entryId: string, path: string) => editorsStore.close(entryId, path),
|
|
249
|
+
[editorsStore],
|
|
250
|
+
);
|
|
251
|
+
|
|
252
|
+
return useMemo(
|
|
253
|
+
() => ({
|
|
254
|
+
editorsStore,
|
|
255
|
+
isOpen,
|
|
256
|
+
view,
|
|
257
|
+
openPanel,
|
|
258
|
+
closePanel,
|
|
259
|
+
setView,
|
|
260
|
+
openDiagnosis,
|
|
261
|
+
openFile,
|
|
262
|
+
activateEditor,
|
|
263
|
+
pinEditor,
|
|
264
|
+
closeEditor,
|
|
265
|
+
openArtifact,
|
|
266
|
+
pinArtifact,
|
|
267
|
+
openFileChange,
|
|
268
|
+
pinFileChange,
|
|
269
|
+
openAgentExecution,
|
|
270
|
+
pinAgentExecution,
|
|
271
|
+
}),
|
|
272
|
+
[
|
|
273
|
+
editorsStore,
|
|
274
|
+
isOpen,
|
|
275
|
+
view,
|
|
276
|
+
openPanel,
|
|
277
|
+
closePanel,
|
|
278
|
+
setView,
|
|
279
|
+
openDiagnosis,
|
|
280
|
+
openFile,
|
|
281
|
+
activateEditor,
|
|
282
|
+
pinEditor,
|
|
283
|
+
closeEditor,
|
|
284
|
+
openArtifact,
|
|
285
|
+
pinArtifact,
|
|
286
|
+
openFileChange,
|
|
287
|
+
pinFileChange,
|
|
288
|
+
openAgentExecution,
|
|
289
|
+
pinAgentExecution,
|
|
290
|
+
],
|
|
291
|
+
);
|
|
292
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// Assembles the workflow execution panel's facets as WorkspaceSurface rail
|
|
4
|
+
// views. Domain: workflow (the analog of session/useSessionRailViews).
|
|
5
|
+
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
|
|
8
|
+
import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
9
|
+
import type {
|
|
10
|
+
DerivedCostSummary,
|
|
11
|
+
DerivedTaskState,
|
|
12
|
+
} from "../internal/store/workflow-execution-event-store.js";
|
|
13
|
+
import type { SurfaceRailView } from "../workspace/WorkspaceSurface.js";
|
|
14
|
+
import { WorkflowArtifactsTab } from "./facets/WorkflowArtifactsTab.js";
|
|
15
|
+
import { WorkflowChangesTab } from "./facets/WorkflowChangesTab.js";
|
|
16
|
+
import { WorkflowUsageTab } from "./facets/WorkflowUsageTab.js";
|
|
17
|
+
|
|
18
|
+
/** Options for {@link useWorkflowExecutionRailViews}. */
|
|
19
|
+
export interface UseWorkflowExecutionRailViewsOptions {
|
|
20
|
+
/** Artifacts produced by the execution — drives the Artifacts facet. */
|
|
21
|
+
readonly artifacts: readonly Artifact[];
|
|
22
|
+
/** Open an artifact as an editor-pane document tab (preview slot). */
|
|
23
|
+
readonly onOpenArtifact: (artifact: Artifact) => void;
|
|
24
|
+
/** Pin an artifact's document tab — the double-click half of open/activate. */
|
|
25
|
+
readonly onActivateArtifact?: (artifact: Artifact) => void;
|
|
26
|
+
/** Net file changes across all tasks — drives the Changes facet. */
|
|
27
|
+
readonly fileChanges: readonly FileChange[];
|
|
28
|
+
/** First-load state of the file-change rollup (Changes facet skeleton). */
|
|
29
|
+
readonly fileChangesLoading?: boolean;
|
|
30
|
+
/** Background-refresh state of the file-change rollup. */
|
|
31
|
+
readonly fileChangesRefetching?: boolean;
|
|
32
|
+
/** Child-fetch error for the Changes facet, or `null`. */
|
|
33
|
+
readonly fileChangesError?: Error | null;
|
|
34
|
+
/** Tab path of the active file-change diff document (active-row highlight). */
|
|
35
|
+
readonly activeFileChangePath?: string | null;
|
|
36
|
+
/** Open a file change's diff as an editor-pane document tab (preview slot). */
|
|
37
|
+
readonly onOpenFileChange: (change: FileChange) => void;
|
|
38
|
+
/** Execution-level cost/budget rollup — drives the Usage facet's summary. */
|
|
39
|
+
readonly costSummary: DerivedCostSummary;
|
|
40
|
+
/** Per-task derived states — drives the Usage facet's per-task breakdown. */
|
|
41
|
+
readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Composes the workflow execution facets as {@link SurfaceRailView}s for the
|
|
46
|
+
* workspace surface's activity rail — the workflow-domain half of the panel,
|
|
47
|
+
* mirroring `useSessionRailViews` (domain-specific assembler over the
|
|
48
|
+
* domain-pure surface).
|
|
49
|
+
*
|
|
50
|
+
* The panel carries the execution-level facets only (Artifacts / Changes /
|
|
51
|
+
* Usage): per-task detail lives on the thread cards, the single home for a
|
|
52
|
+
* task's data (T06 — the Inspect drill-down is gone). The facets are ALWAYS
|
|
53
|
+
* offered while the panel renders (the session gates its execution facets
|
|
54
|
+
* behind `includeExecutionFacets` only for the pre-session launcher — the
|
|
55
|
+
* workflow viewer has no such pre-execution state). Empty data is handled by
|
|
56
|
+
* each facet's empty state, not by dropping the view: an empty rail would
|
|
57
|
+
* strand the surface's view fallback on nothing.
|
|
58
|
+
*/
|
|
59
|
+
export function useWorkflowExecutionRailViews({
|
|
60
|
+
artifacts,
|
|
61
|
+
onOpenArtifact,
|
|
62
|
+
onActivateArtifact,
|
|
63
|
+
fileChanges,
|
|
64
|
+
fileChangesLoading,
|
|
65
|
+
fileChangesRefetching,
|
|
66
|
+
fileChangesError,
|
|
67
|
+
activeFileChangePath,
|
|
68
|
+
onOpenFileChange,
|
|
69
|
+
costSummary,
|
|
70
|
+
taskStates,
|
|
71
|
+
}: UseWorkflowExecutionRailViewsOptions): readonly SurfaceRailView[] {
|
|
72
|
+
return useMemo(
|
|
73
|
+
(): readonly SurfaceRailView[] => [
|
|
74
|
+
{
|
|
75
|
+
id: "artifacts",
|
|
76
|
+
label: "Artifacts",
|
|
77
|
+
icon: <ArtifactsIcon />,
|
|
78
|
+
badge: artifacts.length > 0 ? artifacts.length : undefined,
|
|
79
|
+
content: (
|
|
80
|
+
<WorkflowArtifactsTab
|
|
81
|
+
artifacts={artifacts}
|
|
82
|
+
onOpen={onOpenArtifact}
|
|
83
|
+
onActivate={onActivateArtifact}
|
|
84
|
+
/>
|
|
85
|
+
),
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "changes",
|
|
89
|
+
label: "Changes",
|
|
90
|
+
icon: <ChangesIcon />,
|
|
91
|
+
badge: fileChanges.length > 0 ? fileChanges.length : undefined,
|
|
92
|
+
content: (
|
|
93
|
+
<WorkflowChangesTab
|
|
94
|
+
fileChanges={fileChanges}
|
|
95
|
+
isLoading={fileChangesLoading}
|
|
96
|
+
isRefetching={fileChangesRefetching}
|
|
97
|
+
error={fileChangesError}
|
|
98
|
+
activePath={activeFileChangePath}
|
|
99
|
+
onOpen={onOpenFileChange}
|
|
100
|
+
/>
|
|
101
|
+
),
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
// No badge (matching the session's Usage view) — cost is a
|
|
105
|
+
// continuous quantity, not a countable collection.
|
|
106
|
+
id: "usage",
|
|
107
|
+
label: "Usage",
|
|
108
|
+
icon: <UsageIcon />,
|
|
109
|
+
content: (
|
|
110
|
+
<WorkflowUsageTab costSummary={costSummary} taskStates={taskStates} />
|
|
111
|
+
),
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
[
|
|
115
|
+
artifacts,
|
|
116
|
+
onOpenArtifact,
|
|
117
|
+
onActivateArtifact,
|
|
118
|
+
fileChanges,
|
|
119
|
+
fileChangesLoading,
|
|
120
|
+
fileChangesRefetching,
|
|
121
|
+
fileChangesError,
|
|
122
|
+
activeFileChangePath,
|
|
123
|
+
onOpenFileChange,
|
|
124
|
+
costSummary,
|
|
125
|
+
taskStates,
|
|
126
|
+
],
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
131
|
+
// Inline SVG icons — monochrome, `currentColor`-tinted (DD-005; SDK
|
|
132
|
+
// independence — no lucide dependency). Same glyph as the session rail's
|
|
133
|
+
// Artifacts view, so the two panels read identically.
|
|
134
|
+
// ---------------------------------------------------------------------------
|
|
135
|
+
|
|
136
|
+
function ArtifactsIcon() {
|
|
137
|
+
return (
|
|
138
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
|
|
139
|
+
<path d="M21 8l-9-5-9 5v8l9 5 9-5z" />
|
|
140
|
+
<path d="M3 8l9 5 9-5" />
|
|
141
|
+
<path d="M12 13v9" />
|
|
142
|
+
</svg>
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* File-diff glyph (document with +/- lines) — deliberately NOT the session
|
|
148
|
+
* rail's branch glyph: that Changes view shows git write-backs, while this
|
|
149
|
+
* one shows file diffs, and reusing the glyph would imply the same content.
|
|
150
|
+
*/
|
|
151
|
+
function ChangesIcon() {
|
|
152
|
+
return (
|
|
153
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
|
|
154
|
+
<path d="M14 3H7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z" />
|
|
155
|
+
<path d="M14 3v4h4" />
|
|
156
|
+
<path d="M10 11h4" />
|
|
157
|
+
<path d="M12 9v4" />
|
|
158
|
+
<path d="M10 16.5h4" />
|
|
159
|
+
</svg>
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function UsageIcon() {
|
|
164
|
+
return (
|
|
165
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
|
|
166
|
+
<path d="M3 20h18" />
|
|
167
|
+
<path d="M6 20v-6" />
|
|
168
|
+
<path d="M11 20V9" />
|
|
169
|
+
<path d="M16 20v-9" />
|
|
170
|
+
<path d="M21 20V5" />
|
|
171
|
+
</svg>
|
|
172
|
+
);
|
|
173
|
+
}
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
type WorkspaceFileReader,
|
|
28
28
|
} from "./WorkspaceFileReader.js";
|
|
29
29
|
|
|
30
|
-
/** Line-skeleton widths, mirroring `
|
|
30
|
+
/** Line-skeleton widths, mirroring `ArtifactFileContent` in `execution/`. */
|
|
31
31
|
const SKELETON_LINE_WIDTHS = [85, 72, 90, 65, 78, 88, 70, 82] as const;
|
|
32
32
|
|
|
33
33
|
/** Props for {@link FileViewer}. */
|
|
@@ -97,7 +97,7 @@ export interface FileViewerHandle {
|
|
|
97
97
|
* {@link useWorkspaceFileContent}, and — for displayable text — delegates to
|
|
98
98
|
* the shared {@link ArtifactContentRenderer} (markdown / YAML / JSON /
|
|
99
99
|
* line-numbered text). Its state body deliberately mirrors
|
|
100
|
-
* `
|
|
100
|
+
* `ArtifactFileContent` in `execution/` (same skeleton, error, and
|
|
101
101
|
* delegation), extended with the three states an execution artifact never
|
|
102
102
|
* has — binary, too-large, and unsupported-substrate. The two are **not**
|
|
103
103
|
* merged into one shared component: their surrounding chrome (an artifact's
|
|
@@ -326,7 +326,7 @@ function ViewerModeToggle({
|
|
|
326
326
|
}
|
|
327
327
|
|
|
328
328
|
// ---------------------------------------------------------------------------
|
|
329
|
-
// Body — exactly one state, mirroring
|
|
329
|
+
// Body — exactly one state, mirroring ArtifactFileContent + workspace extras
|
|
330
330
|
// ---------------------------------------------------------------------------
|
|
331
331
|
|
|
332
332
|
/**
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// The always-mounted toggle chip for a collapsible WorkspaceSurface panel.
|
|
4
|
+
// Domain: workspace (shared by the session and workflow execution viewers).
|
|
5
|
+
|
|
6
|
+
import { useEffect, useRef } from "react";
|
|
7
|
+
import { cn } from "@stigmer/theme";
|
|
8
|
+
|
|
9
|
+
/** Props for {@link PanelChip}. */
|
|
10
|
+
export interface PanelChipProps {
|
|
11
|
+
/** Whether the panel is currently expanded. */
|
|
12
|
+
readonly isOpen: boolean;
|
|
13
|
+
/** Toggles the panel open/collapsed. */
|
|
14
|
+
readonly onToggle: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Aggregate count of panel items awaiting the user (write-backs +
|
|
17
|
+
* artifacts on the session side; artifacts on the workflow side). Rendered
|
|
18
|
+
* as a dot-count while collapsed — the panel's only "something arrived"
|
|
19
|
+
* signal, since arrivals never auto-open the panel.
|
|
20
|
+
*/
|
|
21
|
+
readonly badgeCount?: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The always-mounted toggle for a collapsible workspace panel — the Cursor
|
|
26
|
+
* "Show panel" chip. Collapsed, it carries the pending-item count; open, it
|
|
27
|
+
* is the hide affordance. Being a small leaf, it is also the one place that
|
|
28
|
+
* may safely carry per-arrival re-renders while the panel subtree is
|
|
29
|
+
* unmounted. Execution status deliberately does not surface here (or
|
|
30
|
+
* anywhere else in viewer chrome) — the thread/graph itself communicates run
|
|
31
|
+
* state.
|
|
32
|
+
*
|
|
33
|
+
* All visual properties flow through `--stgm-*` tokens (DD-005).
|
|
34
|
+
*/
|
|
35
|
+
export function PanelChip({ isOpen, onToggle, badgeCount }: PanelChipProps) {
|
|
36
|
+
const showCount = !isOpen && badgeCount != null && badgeCount > 0;
|
|
37
|
+
|
|
38
|
+
// Focus restoration: collapsing unmounts the panel subtree, so keyboard
|
|
39
|
+
// focus that lived inside it (rail, tabs, viewer) falls to <body>. Reclaim
|
|
40
|
+
// it here — the chip is the collapse's logical origin. Focus resting
|
|
41
|
+
// anywhere else (e.g. the composer) is respected. Opening deliberately does
|
|
42
|
+
// NOT move focus: the chip is a standard disclosure trigger.
|
|
43
|
+
const buttonRef = useRef<HTMLButtonElement>(null);
|
|
44
|
+
const prevOpenRef = useRef(isOpen);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (prevOpenRef.current && !isOpen && document.activeElement === document.body) {
|
|
47
|
+
buttonRef.current?.focus();
|
|
48
|
+
}
|
|
49
|
+
prevOpenRef.current = isOpen;
|
|
50
|
+
}, [isOpen]);
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<button
|
|
54
|
+
ref={buttonRef}
|
|
55
|
+
type="button"
|
|
56
|
+
onClick={onToggle}
|
|
57
|
+
aria-expanded={isOpen}
|
|
58
|
+
aria-label={isOpen ? "Hide panel" : "Show panel"}
|
|
59
|
+
title={isOpen ? "Hide panel" : "Show panel"}
|
|
60
|
+
className={cn(
|
|
61
|
+
"flex items-center gap-1.5 rounded-md border border-border bg-card px-1.5 py-1",
|
|
62
|
+
"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
63
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
64
|
+
)}
|
|
65
|
+
>
|
|
66
|
+
{showCount && (
|
|
67
|
+
<span
|
|
68
|
+
aria-label={`${badgeCount} new items`}
|
|
69
|
+
className="inline-flex min-w-[1rem] items-center justify-center rounded-full bg-primary px-1 py-px text-[10px] font-medium leading-none text-primary-foreground"
|
|
70
|
+
>
|
|
71
|
+
{badgeCount}
|
|
72
|
+
</span>
|
|
73
|
+
)}
|
|
74
|
+
<PanelIcon open={isOpen} />
|
|
75
|
+
</button>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Panel-layout glyph: a frame with its right region filled while the panel is
|
|
81
|
+
* open, hollow while collapsed — mirroring the state it toggles to at a glance.
|
|
82
|
+
*/
|
|
83
|
+
function PanelIcon({ open }: { readonly open: boolean }) {
|
|
84
|
+
return (
|
|
85
|
+
<svg
|
|
86
|
+
width="16"
|
|
87
|
+
height="16"
|
|
88
|
+
viewBox="0 0 16 16"
|
|
89
|
+
fill="none"
|
|
90
|
+
stroke="currentColor"
|
|
91
|
+
strokeWidth="1.3"
|
|
92
|
+
strokeLinecap="round"
|
|
93
|
+
strokeLinejoin="round"
|
|
94
|
+
aria-hidden="true"
|
|
95
|
+
>
|
|
96
|
+
<rect x="1.5" y="2.5" width="13" height="11" rx="1.5" />
|
|
97
|
+
<path d="M9.5 2.5v11" />
|
|
98
|
+
{open && (
|
|
99
|
+
<rect x="9.5" y="2.5" width="5" height="11" rx="1.5" fill="currentColor" stroke="none" />
|
|
100
|
+
)}
|
|
101
|
+
</svg>
|
|
102
|
+
);
|
|
103
|
+
}
|