@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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
2
|
+
import type { JsonValue } from "@bufbuild/protobuf";
|
|
3
|
+
import type { DerivedTaskState } from "../../internal/store/workflow-execution-event-store.js";
|
|
4
|
+
/**
|
|
5
|
+
* Disclosure mode for a task card, mirroring the session's rule — "does the
|
|
6
|
+
* body carry content the one-line row cannot?":
|
|
7
|
+
*
|
|
8
|
+
* - `"preview"` — I/O-bearing kinds: the card keeps an always-visible,
|
|
9
|
+
* bounded body of the task's output (the session's shell/edit/MCP model).
|
|
10
|
+
* - `"summary"` — thin/derived kinds: a compact row with a chevron-gated
|
|
11
|
+
* detail body.
|
|
12
|
+
*/
|
|
13
|
+
export type WorkflowTaskDisclosure = "preview" | "summary";
|
|
14
|
+
/** The resolved presentation primitives for one task card. */
|
|
15
|
+
export interface WorkflowTaskPreview {
|
|
16
|
+
/**
|
|
17
|
+
* Bounded one-line preview of what the task did (e.g. `set orderId,
|
|
18
|
+
* total`, `3 errors`, `emitted ticket.classified`). The empty string when
|
|
19
|
+
* there is nothing kind-specific to say — consumers hide the line rather
|
|
20
|
+
* than render filler.
|
|
21
|
+
*/
|
|
22
|
+
readonly previewLine: string;
|
|
23
|
+
/** Disclosure mode for the card. Pure function of the task kind. */
|
|
24
|
+
readonly disclosure: WorkflowTaskDisclosure;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Optional per-kind overrides for the preview line and disclosure — the
|
|
28
|
+
* workflow twin of the session's `ToolPresenter` (minus `runGroupable`:
|
|
29
|
+
* workflow tasks are one card per task).
|
|
30
|
+
*/
|
|
31
|
+
export interface WorkflowTaskPresenter {
|
|
32
|
+
/**
|
|
33
|
+
* Overrides the kind-specific preview line. Return `null` to fall back to
|
|
34
|
+
* the built-in line for the kind. Status lines (awaiting approval, the
|
|
35
|
+
* failure message, "Skipped") always take precedence and are not
|
|
36
|
+
* overridable — they are correctness surfaces, not wording.
|
|
37
|
+
*/
|
|
38
|
+
readonly previewLine?: (state: DerivedTaskState) => string | null;
|
|
39
|
+
/** Overrides the default disclosure mode for the kind. */
|
|
40
|
+
readonly disclosure?: (state: DerivedTaskState) => WorkflowTaskDisclosure;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Registers a custom presenter for a {@link WorkflowTaskKind}, overriding
|
|
44
|
+
* the built-in preview line and/or disclosure. Call once at app startup.
|
|
45
|
+
* This is the extension point for platform builders embedding the workflow
|
|
46
|
+
* execution UI who want product-specific wording without forking the
|
|
47
|
+
* components — the same seam as the session's `registerToolPresenter`.
|
|
48
|
+
*
|
|
49
|
+
* Returns a disposer that unregisters the presenter, restoring the previous
|
|
50
|
+
* one for that kind (or the default). Most apps register once at startup
|
|
51
|
+
* and ignore it; tests and dynamic hosts use it to avoid leaking global
|
|
52
|
+
* state.
|
|
53
|
+
*/
|
|
54
|
+
export declare function registerTaskPresenter(kind: WorkflowTaskKind, presenter: WorkflowTaskPresenter): () => void;
|
|
55
|
+
/** Returns the registered presenter for a kind, if any. */
|
|
56
|
+
export declare function getTaskPresenter(kind: WorkflowTaskKind): WorkflowTaskPresenter | undefined;
|
|
57
|
+
/** Default disclosure mode for a task kind. */
|
|
58
|
+
export declare function defaultDisclosureForKind(kind: WorkflowTaskKind): WorkflowTaskDisclosure;
|
|
59
|
+
/**
|
|
60
|
+
* Resolves the presentation primitives for one task card.
|
|
61
|
+
*
|
|
62
|
+
* Precedence for the line: universal status lines first (awaiting approval,
|
|
63
|
+
* the failure's first line, "Skipped") — these are correctness surfaces —
|
|
64
|
+
* then the registered presenter's line, then the built-in per-kind line.
|
|
65
|
+
*/
|
|
66
|
+
export declare function resolveTaskPreview(state: DerivedTaskState): WorkflowTaskPreview;
|
|
67
|
+
/**
|
|
68
|
+
* One-line snippet of an arbitrary JSON value: scalars verbatim (strings
|
|
69
|
+
* quoted), containers as a shape summary. Used where a kind's output has
|
|
70
|
+
* no documented structure to name (transform results, raw LLM text).
|
|
71
|
+
*/
|
|
72
|
+
export declare function valueSnippet(value: JsonValue): string;
|
|
73
|
+
//# sourceMappingURL=task-presentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-presentation.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/task-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AA+B/F;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,sBAAsB,CAAC;CAC3E;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,qBAAqB,GAC/B,MAAM,IAAI,CAUZ;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,GACrB,qBAAqB,GAAG,SAAS,CAEnC;AAkCD,+CAA+C;AAC/C,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,GACrB,sBAAsB,CAExB;AASD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,GACtB,mBAAmB,CAarB;AAyLD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAwBrD"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
2
|
+
import { formatDuration } from "../format-utils.js";
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Registry (the platform-builder extension seam)
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
const registry = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Registers a custom presenter for a {@link WorkflowTaskKind}, overriding
|
|
9
|
+
* the built-in preview line and/or disclosure. Call once at app startup.
|
|
10
|
+
* This is the extension point for platform builders embedding the workflow
|
|
11
|
+
* execution UI who want product-specific wording without forking the
|
|
12
|
+
* components — the same seam as the session's `registerToolPresenter`.
|
|
13
|
+
*
|
|
14
|
+
* Returns a disposer that unregisters the presenter, restoring the previous
|
|
15
|
+
* one for that kind (or the default). Most apps register once at startup
|
|
16
|
+
* and ignore it; tests and dynamic hosts use it to avoid leaking global
|
|
17
|
+
* state.
|
|
18
|
+
*/
|
|
19
|
+
export function registerTaskPresenter(kind, presenter) {
|
|
20
|
+
const previous = registry.get(kind);
|
|
21
|
+
registry.set(kind, presenter);
|
|
22
|
+
return () => {
|
|
23
|
+
if (previous === undefined) {
|
|
24
|
+
registry.delete(kind);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
registry.set(kind, previous);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** Returns the registered presenter for a kind, if any. */
|
|
32
|
+
export function getTaskPresenter(kind) {
|
|
33
|
+
return registry.get(kind);
|
|
34
|
+
}
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Disclosure defaults
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* Kinds whose output can be the point of the task — their cards keep an
|
|
40
|
+
* always-visible bounded body (the session's "preview" categories). The
|
|
41
|
+
* body renders only when output actually exists (the `showBody` gate), so
|
|
42
|
+
* a kind whose runner writes no output — today's invocation kinds, until
|
|
43
|
+
* the output-envelope follow-up standardizes them (DD-T04-3) — stays a
|
|
44
|
+
* clean one-line row with zero cost. `set_vars` earns its place from live
|
|
45
|
+
* data: the runner writes the seeded variables to task output (T05, R2-5).
|
|
46
|
+
*
|
|
47
|
+
* Only genuinely body-less kinds (control flow, `wait`/`listen`, and the
|
|
48
|
+
* snapshot fallback's `unspecified`) stay compact summary rows.
|
|
49
|
+
*/
|
|
50
|
+
const PREVIEW_KINDS = new Set([
|
|
51
|
+
WorkflowTaskKind.transform,
|
|
52
|
+
WorkflowTaskKind.validate,
|
|
53
|
+
WorkflowTaskKind.llm_call,
|
|
54
|
+
WorkflowTaskKind.eval,
|
|
55
|
+
WorkflowTaskKind.emit_event,
|
|
56
|
+
WorkflowTaskKind.notification,
|
|
57
|
+
WorkflowTaskKind.agent_call,
|
|
58
|
+
WorkflowTaskKind.set_vars,
|
|
59
|
+
WorkflowTaskKind.human_input,
|
|
60
|
+
WorkflowTaskKind.http_call,
|
|
61
|
+
WorkflowTaskKind.grpc_call,
|
|
62
|
+
WorkflowTaskKind.activity_call,
|
|
63
|
+
WorkflowTaskKind.run_workflow,
|
|
64
|
+
]);
|
|
65
|
+
/** Default disclosure mode for a task kind. */
|
|
66
|
+
export function defaultDisclosureForKind(kind) {
|
|
67
|
+
return PREVIEW_KINDS.has(kind) ? "preview" : "summary";
|
|
68
|
+
}
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
// Resolution
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
/** Hard cap on the preview line — it is a header suffix, not a body. */
|
|
73
|
+
const PREVIEW_LINE_MAX_CHARS = 80;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the presentation primitives for one task card.
|
|
76
|
+
*
|
|
77
|
+
* Precedence for the line: universal status lines first (awaiting approval,
|
|
78
|
+
* the failure's first line, "Skipped") — these are correctness surfaces —
|
|
79
|
+
* then the registered presenter's line, then the built-in per-kind line.
|
|
80
|
+
*/
|
|
81
|
+
export function resolveTaskPreview(state) {
|
|
82
|
+
const override = registry.get(state.taskKind);
|
|
83
|
+
const disclosure = override?.disclosure?.(state) ?? defaultDisclosureForKind(state.taskKind);
|
|
84
|
+
const statusLine = statusPreviewLine(state);
|
|
85
|
+
if (statusLine !== null) {
|
|
86
|
+
return { previewLine: truncateLine(statusLine), disclosure };
|
|
87
|
+
}
|
|
88
|
+
const line = override?.previewLine?.(state) ?? defaultPreviewLine(state) ?? "";
|
|
89
|
+
return { previewLine: truncateLine(line), disclosure };
|
|
90
|
+
}
|
|
91
|
+
/** Universal status lines that outrank any kind-specific preview. */
|
|
92
|
+
function statusPreviewLine(state) {
|
|
93
|
+
if (state.status === "waiting_approval")
|
|
94
|
+
return "Awaiting approval";
|
|
95
|
+
if (state.status === "failed" && state.error)
|
|
96
|
+
return firstLine(state.error);
|
|
97
|
+
if (state.status === "skipped")
|
|
98
|
+
return "Skipped";
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Built-in per-kind lines
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
function defaultPreviewLine(state) {
|
|
105
|
+
switch (state.taskKind) {
|
|
106
|
+
case WorkflowTaskKind.agent_call:
|
|
107
|
+
return agentCallLine(state);
|
|
108
|
+
case WorkflowTaskKind.set_vars:
|
|
109
|
+
return setVarsLine(state.inputSummary);
|
|
110
|
+
case WorkflowTaskKind.transform:
|
|
111
|
+
return transformLine(state);
|
|
112
|
+
case WorkflowTaskKind.validate:
|
|
113
|
+
return validateLine(state.outputSummary);
|
|
114
|
+
case WorkflowTaskKind.llm_call:
|
|
115
|
+
return llmCallLine(state);
|
|
116
|
+
case WorkflowTaskKind.eval:
|
|
117
|
+
return evalLine(state.outputSummary);
|
|
118
|
+
case WorkflowTaskKind.emit_event:
|
|
119
|
+
return emitEventLine(state);
|
|
120
|
+
case WorkflowTaskKind.notification:
|
|
121
|
+
return notificationLine(state);
|
|
122
|
+
case WorkflowTaskKind.human_input:
|
|
123
|
+
return humanInputLine(state.outputSummary);
|
|
124
|
+
case WorkflowTaskKind.wait:
|
|
125
|
+
return waitLine(state);
|
|
126
|
+
case WorkflowTaskKind.listen:
|
|
127
|
+
return listenLine(state);
|
|
128
|
+
default:
|
|
129
|
+
// Control flow (branch-taken / fork progress need graph topology the
|
|
130
|
+
// thread does not have — deferred), raise_error (the failure
|
|
131
|
+
// precedence already shows the message), the invocation kinds
|
|
132
|
+
// (pending the backend output-envelope follow-up), and the snapshot
|
|
133
|
+
// fallback's `unspecified` all stay status-only.
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The flagship agent-call line: `slug · running <tool> · N msgs · M tools`.
|
|
139
|
+
* Field-for-field the pre-T04 card line — kept here so the thread has one
|
|
140
|
+
* source of preview semantics.
|
|
141
|
+
*/
|
|
142
|
+
function agentCallLine(state) {
|
|
143
|
+
const parts = [];
|
|
144
|
+
if (state.agentSlug)
|
|
145
|
+
parts.push(state.agentSlug);
|
|
146
|
+
if (state.status === "running" && state.currentToolName) {
|
|
147
|
+
parts.push(`running ${state.currentToolName}`);
|
|
148
|
+
}
|
|
149
|
+
if (state.messagesCount > 0 || state.toolCallsCount > 0) {
|
|
150
|
+
parts.push(`${state.messagesCount} msgs · ${state.toolCallsCount} tools`);
|
|
151
|
+
}
|
|
152
|
+
return parts.length > 0 ? parts.join(" · ") : null;
|
|
153
|
+
}
|
|
154
|
+
/** `set orderId, total +2 more` — from the resolved variables map. */
|
|
155
|
+
function setVarsLine(input) {
|
|
156
|
+
if (!input)
|
|
157
|
+
return null;
|
|
158
|
+
// The summary may nest the map under `variables` (the config field) or
|
|
159
|
+
// carry the resolved variables at the top level — accept both.
|
|
160
|
+
const vars = asObject(input["variables"]) ?? input;
|
|
161
|
+
const keys = Object.keys(vars);
|
|
162
|
+
if (keys.length === 0)
|
|
163
|
+
return null;
|
|
164
|
+
const shown = keys.slice(0, 3).join(", ");
|
|
165
|
+
const rest = keys.length - 3;
|
|
166
|
+
return rest > 0 ? `set ${shown} +${rest} more` : `set ${shown}`;
|
|
167
|
+
}
|
|
168
|
+
/** `jq → 42` while settled; the engine alone while running. */
|
|
169
|
+
function transformLine(state) {
|
|
170
|
+
const engine = asString(state.inputSummary?.["engine"])?.toLowerCase() ?? null;
|
|
171
|
+
if (state.outputSummary) {
|
|
172
|
+
const snippet = valueSnippet(state.outputSummary);
|
|
173
|
+
return engine ? `${engine} → ${snippet}` : `→ ${snippet}`;
|
|
174
|
+
}
|
|
175
|
+
return engine;
|
|
176
|
+
}
|
|
177
|
+
/** `valid` / `3 errors` — from the documented `{valid, errors[]}` shape. */
|
|
178
|
+
function validateLine(output) {
|
|
179
|
+
if (!output)
|
|
180
|
+
return null;
|
|
181
|
+
const valid = output["valid"];
|
|
182
|
+
if (valid === true)
|
|
183
|
+
return "valid";
|
|
184
|
+
if (valid === false) {
|
|
185
|
+
const errors = Array.isArray(output["errors"]) ? output["errors"].length : 0;
|
|
186
|
+
return errors > 0 ? `${errors} ${errors === 1 ? "error" : "errors"}` : "invalid";
|
|
187
|
+
}
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
/** `claude-sonnet · "snippet…"` — model from input, text from output. */
|
|
191
|
+
function llmCallLine(state) {
|
|
192
|
+
const parts = [];
|
|
193
|
+
const model = asString(state.inputSummary?.["model"]);
|
|
194
|
+
if (model)
|
|
195
|
+
parts.push(model);
|
|
196
|
+
if (state.outputSummary)
|
|
197
|
+
parts.push(valueSnippet(state.outputSummary));
|
|
198
|
+
return parts.length > 0 ? parts.join(" · ") : null;
|
|
199
|
+
}
|
|
200
|
+
/** `pass · score 0.82` — from the documented `{pass, score}` shape. */
|
|
201
|
+
function evalLine(output) {
|
|
202
|
+
if (!output)
|
|
203
|
+
return null;
|
|
204
|
+
const pass = output["pass"];
|
|
205
|
+
const score = output["score"];
|
|
206
|
+
if (typeof pass !== "boolean")
|
|
207
|
+
return null;
|
|
208
|
+
const verdict = pass ? "pass" : "fail";
|
|
209
|
+
return typeof score === "number" ? `${verdict} · score ${score}` : verdict;
|
|
210
|
+
}
|
|
211
|
+
/** `emitted ticket.classified` — the CloudEvents `type` is the identity. */
|
|
212
|
+
function emitEventLine(state) {
|
|
213
|
+
const emittedType = asString(state.outputSummary?.["type"]);
|
|
214
|
+
if (emittedType)
|
|
215
|
+
return `emitted ${emittedType}`;
|
|
216
|
+
const configured = asString(asObject(state.inputSummary?.["event"])?.["type"]);
|
|
217
|
+
return configured ? `emitting ${configured}` : null;
|
|
218
|
+
}
|
|
219
|
+
/** `sent via slack` / `delivery failed` — from `{channel, delivered}`. */
|
|
220
|
+
function notificationLine(state) {
|
|
221
|
+
const output = state.outputSummary;
|
|
222
|
+
const channel = asString(output?.["channel"]) ?? asString(state.inputSummary?.["channel"]);
|
|
223
|
+
if (output && output["delivered"] === false)
|
|
224
|
+
return "delivery failed";
|
|
225
|
+
if (output && channel)
|
|
226
|
+
return `sent via ${channel}`;
|
|
227
|
+
return channel;
|
|
228
|
+
}
|
|
229
|
+
/** `approve · by suresh` — the settled decision from the task output. */
|
|
230
|
+
function humanInputLine(output) {
|
|
231
|
+
// The gating state is covered by the universal "Awaiting approval" line;
|
|
232
|
+
// this renders only the settled decision record.
|
|
233
|
+
const outcome = asString(output?.["outcome"]);
|
|
234
|
+
if (!outcome)
|
|
235
|
+
return null;
|
|
236
|
+
const reviewer = asString(output?.["reviewer"]);
|
|
237
|
+
return reviewer ? `${outcome} · by ${reviewer}` : outcome;
|
|
238
|
+
}
|
|
239
|
+
/** `waiting 10s` / `waited 10s` / `until <timestamp>`. */
|
|
240
|
+
function waitLine(state) {
|
|
241
|
+
const input = state.inputSummary;
|
|
242
|
+
if (!input)
|
|
243
|
+
return null;
|
|
244
|
+
const verb = state.status === "running" ? "waiting" : "waited";
|
|
245
|
+
const duration = asObject(input["duration"]);
|
|
246
|
+
if (duration) {
|
|
247
|
+
const label = formatWaitDuration(duration);
|
|
248
|
+
return label ? `${verb} ${label}` : null;
|
|
249
|
+
}
|
|
250
|
+
const until = asString(input["until"]);
|
|
251
|
+
return until ? `${verb} until ${until}` : null;
|
|
252
|
+
}
|
|
253
|
+
/** `waiting for signal` / `signal received` — status-verbed. */
|
|
254
|
+
function listenLine(state) {
|
|
255
|
+
if (state.status === "running")
|
|
256
|
+
return "waiting for signal";
|
|
257
|
+
if (state.status === "completed")
|
|
258
|
+
return "signal received";
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
// ---------------------------------------------------------------------------
|
|
262
|
+
// Struct-reading helpers (defensive by construction)
|
|
263
|
+
// ---------------------------------------------------------------------------
|
|
264
|
+
function asString(value) {
|
|
265
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
266
|
+
}
|
|
267
|
+
function asObject(value) {
|
|
268
|
+
return value !== null &&
|
|
269
|
+
value !== undefined &&
|
|
270
|
+
typeof value === "object" &&
|
|
271
|
+
!Array.isArray(value)
|
|
272
|
+
? value
|
|
273
|
+
: null;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* One-line snippet of an arbitrary JSON value: scalars verbatim (strings
|
|
277
|
+
* quoted), containers as a shape summary. Used where a kind's output has
|
|
278
|
+
* no documented structure to name (transform results, raw LLM text).
|
|
279
|
+
*/
|
|
280
|
+
export function valueSnippet(value) {
|
|
281
|
+
if (value === null)
|
|
282
|
+
return "null";
|
|
283
|
+
if (typeof value === "string")
|
|
284
|
+
return `"${firstLine(value)}"`;
|
|
285
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
286
|
+
return String(value);
|
|
287
|
+
}
|
|
288
|
+
if (Array.isArray(value)) {
|
|
289
|
+
return `[${value.length} ${value.length === 1 ? "item" : "items"}]`;
|
|
290
|
+
}
|
|
291
|
+
const keys = Object.keys(value);
|
|
292
|
+
// A single-field wrapper is usually an envelope (`{result: …}`) — unwrap
|
|
293
|
+
// one level so the snippet names the payload, not the wrapper.
|
|
294
|
+
if (keys.length === 1) {
|
|
295
|
+
const inner = value[keys[0]];
|
|
296
|
+
if (inner === null ||
|
|
297
|
+
typeof inner === "string" ||
|
|
298
|
+
typeof inner === "number" ||
|
|
299
|
+
typeof inner === "boolean") {
|
|
300
|
+
return valueSnippet(inner);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return `{${keys.length} ${keys.length === 1 ? "field" : "fields"}}`;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Formats the WaitTaskConfig `Duration` shape (`{days, hours, minutes,
|
|
307
|
+
* seconds, milliseconds}`) via the shared duration formatter. Unknown or
|
|
308
|
+
* empty shapes yield `null`.
|
|
309
|
+
*/
|
|
310
|
+
function formatWaitDuration(duration) {
|
|
311
|
+
const num = (key) => {
|
|
312
|
+
const v = duration[key];
|
|
313
|
+
return typeof v === "number" && Number.isFinite(v) ? v : 0;
|
|
314
|
+
};
|
|
315
|
+
const totalMs = num("days") * 86_400_000 +
|
|
316
|
+
num("hours") * 3_600_000 +
|
|
317
|
+
num("minutes") * 60_000 +
|
|
318
|
+
num("seconds") * 1_000 +
|
|
319
|
+
num("milliseconds");
|
|
320
|
+
return totalMs > 0 ? formatDuration(totalMs) : null;
|
|
321
|
+
}
|
|
322
|
+
function firstLine(text) {
|
|
323
|
+
const nl = text.indexOf("\n");
|
|
324
|
+
return nl === -1 ? text : text.slice(0, nl);
|
|
325
|
+
}
|
|
326
|
+
function truncateLine(line) {
|
|
327
|
+
return line.length > PREVIEW_LINE_MAX_CHARS
|
|
328
|
+
? `${line.slice(0, PREVIEW_LINE_MAX_CHARS - 1)}\u2026`
|
|
329
|
+
: line;
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=task-presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-presentation.js","sourceRoot":"","sources":["../../../src/workflow/thread/task-presentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
2
|
+
/**
|
|
3
|
+
* Presentation variant for a task card in the workflow task thread.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately NOT a new task-kind classification (D-T02-3): variants are a
|
|
6
|
+
* thin presentation projection of the canonical categories from
|
|
7
|
+
* `kind-metadata.ts` (`categorizeKind` — the single source of truth that
|
|
8
|
+
* already consolidated three drifted client-side classifications), plus one
|
|
9
|
+
* kind-level special case for the flagship `agent_call` card.
|
|
10
|
+
*
|
|
11
|
+
* - `agent-call` — the flagship: live agent slug, current tool, message and
|
|
12
|
+
* tool-call counts, transcript expansion (D-T02-2).
|
|
13
|
+
* - `control` — control-flow tasks (switch/fork/for-each/try-catch/wait).
|
|
14
|
+
* - `gate` — governance tasks (human_input); the stop-sign of the thread.
|
|
15
|
+
* - `event` — signal/timing tasks (listen/emit/notification/raise-error).
|
|
16
|
+
* - `action` — everything else (invocations, data transforms, LLM calls);
|
|
17
|
+
* also the fallback for `unspecified` kinds, which the snapshot-derived
|
|
18
|
+
* fallback task map produces when the event log is empty.
|
|
19
|
+
*/
|
|
20
|
+
export type WorkflowThreadCardVariant = "agent-call" | "control" | "gate" | "event" | "action";
|
|
21
|
+
/**
|
|
22
|
+
* Resolves the thread card variant for a task kind.
|
|
23
|
+
*
|
|
24
|
+
* `agent_call` is the one kind-level special case (the flagship card);
|
|
25
|
+
* every other kind flows through the canonical category classification.
|
|
26
|
+
*/
|
|
27
|
+
export declare function threadCardVariant(kind: WorkflowTaskKind): WorkflowThreadCardVariant;
|
|
28
|
+
//# sourceMappingURL=thread-presentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-presentation.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/thread-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAK1F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,yBAAyB,GACjC,YAAY,GACZ,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,CAAC;AAmBb;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,GACrB,yBAAyB,CAG3B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
|
|
2
|
+
import { categorizeKind } from "../kind-metadata.js";
|
|
3
|
+
import { taskKindToString } from "../workflow-graph-conversions.js";
|
|
4
|
+
/**
|
|
5
|
+
* Canonical category → card variant. Data, not branches — the same table
|
|
6
|
+
* pattern the graph's visual registry and the session's tool taxonomy use.
|
|
7
|
+
*/
|
|
8
|
+
const VARIANT_FOR_CATEGORY = new Map([
|
|
9
|
+
["ai", "action"], // agent_call is special-cased below; llm_call/eval read as actions
|
|
10
|
+
["control_flow", "control"],
|
|
11
|
+
["invocation", "action"],
|
|
12
|
+
["data", "action"],
|
|
13
|
+
["governance", "gate"],
|
|
14
|
+
["event", "event"],
|
|
15
|
+
["unspecified", "action"],
|
|
16
|
+
]);
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the thread card variant for a task kind.
|
|
19
|
+
*
|
|
20
|
+
* `agent_call` is the one kind-level special case (the flagship card);
|
|
21
|
+
* every other kind flows through the canonical category classification.
|
|
22
|
+
*/
|
|
23
|
+
export function threadCardVariant(kind) {
|
|
24
|
+
if (kind === WorkflowTaskKind.agent_call)
|
|
25
|
+
return "agent-call";
|
|
26
|
+
return VARIANT_FOR_CATEGORY.get(categorizeKind(taskKindToString(kind))) ?? "action";
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=thread-presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-presentation.js","sourceRoot":"","sources":["../../../src/workflow/thread/thread-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA2BpE;;;GAGG;AACH,MAAM,oBAAoB,GAGtB,IAAI,GAAG,CAAC;IACV,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,mEAAmE;IACrF,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,aAAa,EAAE,QAAQ,CAAC;CAC1B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAsB;IAEtB,IAAI,IAAI,KAAK,gBAAgB,CAAC,UAAU;QAAE,OAAO,YAAY,CAAC;IAC9D,OAAO,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DerivedTaskState } from "../../internal/store/workflow-execution-event-store.js";
|
|
2
|
+
import { type WorkflowThreadProjection } from "./project-thread-items.js";
|
|
3
|
+
/**
|
|
4
|
+
* Behavior hook binding {@link projectThreadItems} to a render loop with
|
|
5
|
+
* structural sharing: items whose fields did not change keep their object
|
|
6
|
+
* identity across event appends, so memoized card rows bail (DD-010).
|
|
7
|
+
*
|
|
8
|
+
* The projection is cheap (one pass over the task map), so it recomputes
|
|
9
|
+
* per render of the (memoized) thread organism rather than adding a
|
|
10
|
+
* `useMemo` whose dependency — the store's `taskStates` — changes identity
|
|
11
|
+
* on every event append anyway. The ref carries only the previous items
|
|
12
|
+
* for identity reuse; it holds no state of its own (single source of truth
|
|
13
|
+
* stays the store).
|
|
14
|
+
*/
|
|
15
|
+
export declare function useWorkflowThreadItems(taskStates: ReadonlyMap<string, DerivedTaskState>, totalTasks: number): WorkflowThreadProjection;
|
|
16
|
+
//# sourceMappingURL=useWorkflowThreadItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkflowThreadItems.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/useWorkflowThreadItems.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACjD,UAAU,EAAE,MAAM,GACjB,wBAAwB,CAS1B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { projectThreadItems, } from "./project-thread-items.js";
|
|
4
|
+
/**
|
|
5
|
+
* Behavior hook binding {@link projectThreadItems} to a render loop with
|
|
6
|
+
* structural sharing: items whose fields did not change keep their object
|
|
7
|
+
* identity across event appends, so memoized card rows bail (DD-010).
|
|
8
|
+
*
|
|
9
|
+
* The projection is cheap (one pass over the task map), so it recomputes
|
|
10
|
+
* per render of the (memoized) thread organism rather than adding a
|
|
11
|
+
* `useMemo` whose dependency — the store's `taskStates` — changes identity
|
|
12
|
+
* on every event append anyway. The ref carries only the previous items
|
|
13
|
+
* for identity reuse; it holds no state of its own (single source of truth
|
|
14
|
+
* stays the store).
|
|
15
|
+
*/
|
|
16
|
+
export function useWorkflowThreadItems(taskStates, totalTasks) {
|
|
17
|
+
const previousItemsRef = useRef([]);
|
|
18
|
+
const projection = projectThreadItems(taskStates, totalTasks, previousItemsRef.current);
|
|
19
|
+
previousItemsRef.current = projection.items;
|
|
20
|
+
return projection;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=useWorkflowThreadItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkflowThreadItems.js","sourceRoot":"","sources":["../../../src/workflow/thread/useWorkflowThreadItems.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAiD,EACjD,UAAkB;IAElB,MAAM,gBAAgB,GAAG,MAAM,CAAoC,EAAE,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,kBAAkB,CACnC,UAAU,EACV,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IACF,gBAAgB,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5C,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { DerivedTaskState } from "../internal/store/workflow-execution-event-store.js";
|
|
2
|
+
/**
|
|
3
|
+
* Tasks that crossed the `waiting_approval` boundary in one commit of the
|
|
4
|
+
* derived task-state map, in the map's (first-started) order.
|
|
5
|
+
*/
|
|
6
|
+
export interface ApprovalBoundaryCrossing {
|
|
7
|
+
/** Task names that transitioned INTO `waiting_approval` (a gate opened). */
|
|
8
|
+
readonly entered: readonly string[];
|
|
9
|
+
/** Task names that transitioned OUT of `waiting_approval` (a gate resolved). */
|
|
10
|
+
readonly exited: readonly string[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Behavior hook that watches the live derived task-state map and reports
|
|
14
|
+
* when any task crosses the `waiting_approval` boundary — the client-side
|
|
15
|
+
* mirror of the stream's `approval_requested` / `approval_resolved` events.
|
|
16
|
+
*
|
|
17
|
+
* Why this exists: the execution SNAPSHOT (`status.pending_approvals` /
|
|
18
|
+
* `status.pending_file_reviews`) is fetched once and carries the gate
|
|
19
|
+
* payloads, while the event STREAM is live but carries only task status.
|
|
20
|
+
* A boundary crossing is precisely the moment the snapshot goes stale, so
|
|
21
|
+
* consumers refetch it then — derived-over-stored: the stream is the
|
|
22
|
+
* signal, the snapshot stays the single source for gate payloads. The
|
|
23
|
+
* `WorkflowExecutionViewer` additionally auto-selects a newly gated task so
|
|
24
|
+
* the decision surface (the panel's Inspect Approval tab) is never hidden
|
|
25
|
+
* while the run is blocked.
|
|
26
|
+
*
|
|
27
|
+
* Same diffing shape as {@link useExecutionAnnouncements} (prev-map ref,
|
|
28
|
+
* diff on each map commit). A task first observed already in
|
|
29
|
+
* `waiting_approval` counts as entered — with rAF-coalesced commits the
|
|
30
|
+
* running→waiting transition can collapse into the task's first appearance.
|
|
31
|
+
*
|
|
32
|
+
* `enabled` gates the CALLBACK, not the tracking: state is tracked even
|
|
33
|
+
* while disabled so enabling later never replays stale crossings. Keep it
|
|
34
|
+
* `false` for terminal executions — their event-history replay crosses the
|
|
35
|
+
* boundary for long-decided gates.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useApprovalBoundary(taskStates: ReadonlyMap<string, DerivedTaskState>, enabled: boolean, onCrossing: (crossing: ApprovalBoundaryCrossing) => void): void;
|
|
38
|
+
//# sourceMappingURL=useApprovalBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApprovalBoundary.d.ts","sourceRoot":"","sources":["../../src/workflow/useApprovalBoundary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACjD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,GACvD,IAAI,CA0BN"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Behavior hook that watches the live derived task-state map and reports
|
|
5
|
+
* when any task crosses the `waiting_approval` boundary — the client-side
|
|
6
|
+
* mirror of the stream's `approval_requested` / `approval_resolved` events.
|
|
7
|
+
*
|
|
8
|
+
* Why this exists: the execution SNAPSHOT (`status.pending_approvals` /
|
|
9
|
+
* `status.pending_file_reviews`) is fetched once and carries the gate
|
|
10
|
+
* payloads, while the event STREAM is live but carries only task status.
|
|
11
|
+
* A boundary crossing is precisely the moment the snapshot goes stale, so
|
|
12
|
+
* consumers refetch it then — derived-over-stored: the stream is the
|
|
13
|
+
* signal, the snapshot stays the single source for gate payloads. The
|
|
14
|
+
* `WorkflowExecutionViewer` additionally auto-selects a newly gated task so
|
|
15
|
+
* the decision surface (the panel's Inspect Approval tab) is never hidden
|
|
16
|
+
* while the run is blocked.
|
|
17
|
+
*
|
|
18
|
+
* Same diffing shape as {@link useExecutionAnnouncements} (prev-map ref,
|
|
19
|
+
* diff on each map commit). A task first observed already in
|
|
20
|
+
* `waiting_approval` counts as entered — with rAF-coalesced commits the
|
|
21
|
+
* running→waiting transition can collapse into the task's first appearance.
|
|
22
|
+
*
|
|
23
|
+
* `enabled` gates the CALLBACK, not the tracking: state is tracked even
|
|
24
|
+
* while disabled so enabling later never replays stale crossings. Keep it
|
|
25
|
+
* `false` for terminal executions — their event-history replay crosses the
|
|
26
|
+
* boundary for long-decided gates.
|
|
27
|
+
*/
|
|
28
|
+
export function useApprovalBoundary(taskStates, enabled, onCrossing) {
|
|
29
|
+
const prevStatesRef = useRef(new Map());
|
|
30
|
+
// Render-synced ref so the diff effect never re-runs (and never fires
|
|
31
|
+
// spuriously) because a consumer passed a fresh callback identity.
|
|
32
|
+
const onCrossingRef = useRef(onCrossing);
|
|
33
|
+
onCrossingRef.current = onCrossing;
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
const prev = prevStatesRef.current;
|
|
36
|
+
prevStatesRef.current = taskStates;
|
|
37
|
+
if (!enabled)
|
|
38
|
+
return;
|
|
39
|
+
const entered = [];
|
|
40
|
+
const exited = [];
|
|
41
|
+
for (const [name, state] of taskStates) {
|
|
42
|
+
const prevStatus = prev.get(name)?.status;
|
|
43
|
+
if (prevStatus === state.status)
|
|
44
|
+
continue;
|
|
45
|
+
if (state.status === "waiting_approval")
|
|
46
|
+
entered.push(name);
|
|
47
|
+
else if (prevStatus === "waiting_approval")
|
|
48
|
+
exited.push(name);
|
|
49
|
+
}
|
|
50
|
+
if (entered.length > 0 || exited.length > 0) {
|
|
51
|
+
onCrossingRef.current({ entered, exited });
|
|
52
|
+
}
|
|
53
|
+
}, [taskStates, enabled]);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=useApprovalBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApprovalBoundary.js","sourceRoot":"","sources":["../../src/workflow/useApprovalBoundary.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAc1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAiD,EACjD,OAAgB,EAChB,UAAwD;IAExD,MAAM,aAAa,GAAG,MAAM,CAAwC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/E,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAC1C,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvD,IAAI,UAAU,KAAK,kBAAkB;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5B,CAAC"}
|