@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,22 +0,0 @@
|
|
|
1
|
-
// Identity of the session's artifact document tabs in the workspace surface's
|
|
2
|
-
// editor group.
|
|
3
|
-
//
|
|
4
|
-
// Kept in its own module (not in ArtifactDocument.tsx) so behavior-only
|
|
5
|
-
// consumers — useSessionPanel opens an artifact tab, SessionViewer routes to it
|
|
6
|
-
// — depend on the identity without pulling the component (and its content
|
|
7
|
-
// renderer) into their module graph (DD-003 headless-first). Mirrors
|
|
8
|
-
// plan-document.ts.
|
|
9
|
-
import { virtualEntryId } from "../internal/store/index.js";
|
|
10
|
-
/**
|
|
11
|
-
* Virtual entry id of the artifact document FAMILY. Unlike the plan (one tab
|
|
12
|
-
* per session), artifacts are many: every opened artifact shares this one
|
|
13
|
-
* entry id and is distinguished by its {@link artifactKey}-derived `path`, so
|
|
14
|
-
* `editorKey(ARTIFACT_DOCUMENT_ENTRY_ID, path)` yields one tab per artifact —
|
|
15
|
-
* the VS Code "each file is a tab" model. The NUL-namespaced virtual id can
|
|
16
|
-
* never alias a real workspace entry, and its distinct `"artifact"` kind can
|
|
17
|
-
* never collide with the plan tab's `"plan"` kind.
|
|
18
|
-
*
|
|
19
|
-
* @see artifactKey — the `path` component (an artifact's stable identity)
|
|
20
|
-
*/
|
|
21
|
-
export const ARTIFACT_DOCUMENT_ENTRY_ID = virtualEntryId("artifact");
|
|
22
|
-
//# sourceMappingURL=artifact-document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-document.js","sourceRoot":"","sources":["../../src/session/artifact-document.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gBAAgB;AAChB,EAAE;AACF,wEAAwE;AACxE,gFAAgF;AAChF,0EAA0E;AAC1E,qEAAqE;AACrE,oBAAoB;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { SelectedThreadItem } from "../../internal/store/selection-store.js";
|
|
2
|
-
export interface InspectTabProps {
|
|
3
|
-
readonly selectedItem: SelectedThreadItem | null;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Selection-driven inspector facet (Phase 2).
|
|
7
|
-
*
|
|
8
|
-
* In Phase 1 this renders an empty hint state. Phase 2 will populate
|
|
9
|
-
* it with tool-call detail, sub-agent mini-thread, and artifact
|
|
10
|
-
* preview based on the selected thread item.
|
|
11
|
-
*/
|
|
12
|
-
export declare function InspectTab({ selectedItem }: InspectTabProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
//# sourceMappingURL=InspectTab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InspectTab.d.ts","sourceRoot":"","sources":["../../../src/session/facets/InspectTab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,eAAe,2CAsB3D"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
/**
|
|
4
|
-
* Selection-driven inspector facet (Phase 2).
|
|
5
|
-
*
|
|
6
|
-
* In Phase 1 this renders an empty hint state. Phase 2 will populate
|
|
7
|
-
* it with tool-call detail, sub-agent mini-thread, and artifact
|
|
8
|
-
* preview based on the selected thread item.
|
|
9
|
-
*/
|
|
10
|
-
export function InspectTab({ selectedItem }) {
|
|
11
|
-
if (!selectedItem) {
|
|
12
|
-
return (_jsxs("div", { className: "flex flex-col items-center justify-center px-4 py-8 text-center", children: [_jsx(SelectItemIcon, {}), _jsx("p", { className: "mt-2 text-xs text-muted-foreground", children: "Click a tool call or sub-agent in the thread to inspect it" })] }));
|
|
13
|
-
}
|
|
14
|
-
return (_jsxs("div", { className: "px-1 py-2 text-xs text-muted-foreground", children: [_jsxs("p", { children: ["Inspecting: ", _jsx("span", { className: "font-medium text-foreground", children: selectedItem.kind })] }), _jsx("p", { className: "mt-1 text-[11px]", children: "Detailed view coming in Phase 2." })] }));
|
|
15
|
-
}
|
|
16
|
-
function SelectItemIcon() {
|
|
17
|
-
return (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", className: "text-muted-foreground", "aria-hidden": "true", children: [_jsx("rect", { x: "2", y: "2", width: "16", height: "16", rx: "3" }), _jsx("path", { d: "M7 10h6M10 7v6" })] }));
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=InspectTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InspectTab.js","sourceRoot":"","sources":["../../../src/session/facets/InspectTab.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAQb;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,YAAY,EAAmB;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CACL,eAAK,SAAS,EAAC,iEAAiE,aAC9E,KAAC,cAAc,KAAG,EAClB,YAAG,SAAS,EAAC,oCAAoC,2EAE7C,IACA,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,yCAAyC,aACtD,wCACc,eAAM,SAAS,EAAC,6BAA6B,YAAE,YAAY,CAAC,IAAI,GAAQ,IAClF,EACJ,YAAG,SAAS,EAAC,kBAAkB,iDAE3B,IACA,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,SAAS,EAAC,uBAAuB,iBACrB,MAAM,aAElB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EAClD,eAAM,CAAC,EAAC,gBAAgB,GAAG,IACvB,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { createContext } from "react";
|
|
4
|
-
import type { SelectionStore } from "../internal/store/selection-store.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Carries the {@link SelectionStore} instance (stable ref) into the
|
|
8
|
-
* thread subtree.
|
|
9
|
-
*
|
|
10
|
-
* **Defaults to `null`.** When absent, `useThreadSelection` returns
|
|
11
|
-
* `null` and selectable components (ToolCallGroup, SubAgentSection)
|
|
12
|
-
* behave exactly as they did before this feature — no DOM changes,
|
|
13
|
-
* no selection affordance (DD-011 opt-in).
|
|
14
|
-
*
|
|
15
|
-
* `SessionViewer` provides the store; bare `MessageThread` does not.
|
|
16
|
-
*
|
|
17
|
-
* @internal Not exported from the public SDK barrel — consumed only
|
|
18
|
-
* by SDK components and `SessionViewer`.
|
|
19
|
-
*/
|
|
20
|
-
export const ThreadSelectionContext = createContext<SelectionStore | null>(null);
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useCallback, useContext, useSyncExternalStore } from "react";
|
|
4
|
-
import type { SelectedThreadItem } from "../internal/store/selection-store.js";
|
|
5
|
-
import { ThreadSelectionContext } from "./ThreadSelectionContext.js";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Return value of {@link useThreadSelection} when a provider is present.
|
|
9
|
-
*
|
|
10
|
-
* - `isSelected`: whether *this* item is currently selected.
|
|
11
|
-
* - `select`: callback to select/toggle this item.
|
|
12
|
-
*
|
|
13
|
-
* Both are referentially stable (safe as `useEffect`/`useMemo` deps).
|
|
14
|
-
*/
|
|
15
|
-
export interface ThreadSelectionHandle {
|
|
16
|
-
readonly isSelected: boolean;
|
|
17
|
-
readonly select: () => void;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const NOOP_SUBSCRIBE = (_cb: () => void) => () => {};
|
|
21
|
-
const NOOP_SNAPSHOT = () => false;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Per-item selection hook for thread leaves.
|
|
25
|
-
*
|
|
26
|
-
* Uses `useSyncExternalStore` so only the previously- and
|
|
27
|
-
* newly-selected rows re-render on a selection change (≤2 rows).
|
|
28
|
-
*
|
|
29
|
-
* Returns `null` when `ThreadSelectionContext` is absent (DD-011:
|
|
30
|
-
* opt-in, backward compatible). Callers should guard:
|
|
31
|
-
*
|
|
32
|
-
* ```tsx
|
|
33
|
-
* const selection = useThreadSelection("tool-call", tc.id);
|
|
34
|
-
* // selection is null when no provider → no selection affordance
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export function useThreadSelection(
|
|
38
|
-
kind: SelectedThreadItem["kind"],
|
|
39
|
-
id: string,
|
|
40
|
-
): ThreadSelectionHandle | null {
|
|
41
|
-
const store = useContext(ThreadSelectionContext);
|
|
42
|
-
|
|
43
|
-
const subscribe = store?.subscribe ?? NOOP_SUBSCRIBE;
|
|
44
|
-
const getSnapshot = store
|
|
45
|
-
? () => store.isSelected(kind, id)
|
|
46
|
-
: NOOP_SNAPSHOT;
|
|
47
|
-
|
|
48
|
-
const isSelected = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
49
|
-
|
|
50
|
-
const select = useCallback(() => {
|
|
51
|
-
if (!store) return;
|
|
52
|
-
const item = buildItem(kind, id);
|
|
53
|
-
store.toggle(item);
|
|
54
|
-
}, [store, kind, id]);
|
|
55
|
-
|
|
56
|
-
if (!store) return null;
|
|
57
|
-
|
|
58
|
-
return { isSelected, select };
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Hook to read the full selection from the store (for the InspectTab).
|
|
63
|
-
*
|
|
64
|
-
* Returns `null` when no provider is present or nothing is selected.
|
|
65
|
-
*/
|
|
66
|
-
export function useSelectedThreadItem(): SelectedThreadItem | null {
|
|
67
|
-
const store = useContext(ThreadSelectionContext);
|
|
68
|
-
|
|
69
|
-
const subscribe = store?.subscribe ?? NOOP_SUBSCRIBE;
|
|
70
|
-
const getSnapshot = store
|
|
71
|
-
? store.getSelection
|
|
72
|
-
: () => null;
|
|
73
|
-
|
|
74
|
-
return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// ---------------------------------------------------------------------------
|
|
78
|
-
// Helpers
|
|
79
|
-
// ---------------------------------------------------------------------------
|
|
80
|
-
|
|
81
|
-
function buildItem(
|
|
82
|
-
kind: SelectedThreadItem["kind"],
|
|
83
|
-
id: string,
|
|
84
|
-
): SelectedThreadItem {
|
|
85
|
-
switch (kind) {
|
|
86
|
-
case "tool-call":
|
|
87
|
-
return { kind: "tool-call", toolCallId: id };
|
|
88
|
-
case "sub-agent":
|
|
89
|
-
return { kind: "sub-agent", subAgentId: id };
|
|
90
|
-
case "artifact":
|
|
91
|
-
return { kind: "artifact", artifactKey: id };
|
|
92
|
-
case "write-back":
|
|
93
|
-
return { kind: "write-back", workspaceEntryName: id };
|
|
94
|
-
}
|
|
95
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from "vitest";
|
|
2
|
-
import { SelectionStore, type SelectedThreadItem } from "../selection-store";
|
|
3
|
-
|
|
4
|
-
function toolCall(id: string): SelectedThreadItem {
|
|
5
|
-
return { kind: "tool-call", toolCallId: id };
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
function subAgent(id: string): SelectedThreadItem {
|
|
9
|
-
return { kind: "sub-agent", subAgentId: id };
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
describe("SelectionStore", () => {
|
|
13
|
-
it("starts with null selection", () => {
|
|
14
|
-
const store = new SelectionStore();
|
|
15
|
-
expect(store.getSelection()).toBeNull();
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("select sets the selection and notifies listeners", () => {
|
|
19
|
-
const store = new SelectionStore();
|
|
20
|
-
const listener = vi.fn();
|
|
21
|
-
store.subscribe(listener);
|
|
22
|
-
|
|
23
|
-
store.select(toolCall("tc-1"));
|
|
24
|
-
expect(store.getSelection()).toEqual(toolCall("tc-1"));
|
|
25
|
-
expect(listener).toHaveBeenCalledOnce();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("select with the same item does not notify", () => {
|
|
29
|
-
const store = new SelectionStore();
|
|
30
|
-
store.select(toolCall("tc-1"));
|
|
31
|
-
|
|
32
|
-
const listener = vi.fn();
|
|
33
|
-
store.subscribe(listener);
|
|
34
|
-
|
|
35
|
-
store.select(toolCall("tc-1"));
|
|
36
|
-
expect(listener).not.toHaveBeenCalled();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("deselect clears the selection and notifies", () => {
|
|
40
|
-
const store = new SelectionStore();
|
|
41
|
-
store.select(toolCall("tc-1"));
|
|
42
|
-
|
|
43
|
-
const listener = vi.fn();
|
|
44
|
-
store.subscribe(listener);
|
|
45
|
-
|
|
46
|
-
store.deselect();
|
|
47
|
-
expect(store.getSelection()).toBeNull();
|
|
48
|
-
expect(listener).toHaveBeenCalledOnce();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("deselect when already null does not notify", () => {
|
|
52
|
-
const store = new SelectionStore();
|
|
53
|
-
const listener = vi.fn();
|
|
54
|
-
store.subscribe(listener);
|
|
55
|
-
|
|
56
|
-
store.deselect();
|
|
57
|
-
expect(listener).not.toHaveBeenCalled();
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("toggle selects when nothing is selected", () => {
|
|
61
|
-
const store = new SelectionStore();
|
|
62
|
-
store.toggle(toolCall("tc-1"));
|
|
63
|
-
expect(store.getSelection()).toEqual(toolCall("tc-1"));
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it("toggle deselects when the same item is selected", () => {
|
|
67
|
-
const store = new SelectionStore();
|
|
68
|
-
store.select(toolCall("tc-1"));
|
|
69
|
-
store.toggle(toolCall("tc-1"));
|
|
70
|
-
expect(store.getSelection()).toBeNull();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
it("toggle switches to a different item", () => {
|
|
74
|
-
const store = new SelectionStore();
|
|
75
|
-
store.select(toolCall("tc-1"));
|
|
76
|
-
store.toggle(subAgent("sa-1"));
|
|
77
|
-
expect(store.getSelection()).toEqual(subAgent("sa-1"));
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
it("isSelected returns true for the selected item", () => {
|
|
81
|
-
const store = new SelectionStore();
|
|
82
|
-
store.select(toolCall("tc-1"));
|
|
83
|
-
|
|
84
|
-
expect(store.isSelected("tool-call", "tc-1")).toBe(true);
|
|
85
|
-
expect(store.isSelected("tool-call", "tc-2")).toBe(false);
|
|
86
|
-
expect(store.isSelected("sub-agent", "tc-1")).toBe(false);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it("isSelected returns false when nothing is selected", () => {
|
|
90
|
-
const store = new SelectionStore();
|
|
91
|
-
expect(store.isSelected("tool-call", "tc-1")).toBe(false);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it("unsubscribe removes the listener", () => {
|
|
95
|
-
const store = new SelectionStore();
|
|
96
|
-
const listener = vi.fn();
|
|
97
|
-
const unsub = store.subscribe(listener);
|
|
98
|
-
|
|
99
|
-
unsub();
|
|
100
|
-
store.select(toolCall("tc-1"));
|
|
101
|
-
expect(listener).not.toHaveBeenCalled();
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
it("supports multiple listeners", () => {
|
|
105
|
-
const store = new SelectionStore();
|
|
106
|
-
const a = vi.fn();
|
|
107
|
-
const b = vi.fn();
|
|
108
|
-
store.subscribe(a);
|
|
109
|
-
store.subscribe(b);
|
|
110
|
-
|
|
111
|
-
store.select(toolCall("tc-1"));
|
|
112
|
-
expect(a).toHaveBeenCalledOnce();
|
|
113
|
-
expect(b).toHaveBeenCalledOnce();
|
|
114
|
-
});
|
|
115
|
-
});
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Discriminated union for a selected thread item.
|
|
3
|
-
*
|
|
4
|
-
* Mirrors the `ThreadItem.kind` from `MessageThread` but carries
|
|
5
|
-
* only the identifying key — not the full data. The `InspectTab`
|
|
6
|
-
* derives display detail from the execution snapshot separately.
|
|
7
|
-
*/
|
|
8
|
-
export type SelectedThreadItem =
|
|
9
|
-
| { readonly kind: "tool-call"; readonly toolCallId: string }
|
|
10
|
-
| { readonly kind: "sub-agent"; readonly subAgentId: string }
|
|
11
|
-
| { readonly kind: "artifact"; readonly artifactKey: string }
|
|
12
|
-
| { readonly kind: "write-back"; readonly workspaceEntryName: string };
|
|
13
|
-
|
|
14
|
-
type Listener = () => void;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Framework-agnostic store for thread item selection.
|
|
18
|
-
*
|
|
19
|
-
* Implements the `useSyncExternalStore` contract identical to
|
|
20
|
-
* {@link ConversationStore} and `WorkflowExecutionEventStore`.
|
|
21
|
-
*
|
|
22
|
-
* **Render isolation strategy:** consumers subscribe to a
|
|
23
|
-
* per-item boolean via `isSelected(id)`, so only the previously-
|
|
24
|
-
* and newly-selected leaves re-render on a selection change (≤2).
|
|
25
|
-
*
|
|
26
|
-
* The context carries the **store instance (stable ref)**, not the
|
|
27
|
-
* value — so the context provider never triggers consumer re-renders.
|
|
28
|
-
*/
|
|
29
|
-
export class SelectionStore {
|
|
30
|
-
private _selected: SelectedThreadItem | null = null;
|
|
31
|
-
private _listeners = new Set<Listener>();
|
|
32
|
-
|
|
33
|
-
// -- Mutations -----------------------------------------------------------
|
|
34
|
-
|
|
35
|
-
select(item: SelectedThreadItem): void {
|
|
36
|
-
if (selectedEqual(this._selected, item)) return;
|
|
37
|
-
this._selected = item;
|
|
38
|
-
this._notify();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
deselect(): void {
|
|
42
|
-
if (this._selected === null) return;
|
|
43
|
-
this._selected = null;
|
|
44
|
-
this._notify();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
toggle(item: SelectedThreadItem): void {
|
|
48
|
-
if (selectedEqual(this._selected, item)) {
|
|
49
|
-
this.deselect();
|
|
50
|
-
} else {
|
|
51
|
-
this.select(item);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// -- useSyncExternalStore contract ---------------------------------------
|
|
56
|
-
|
|
57
|
-
subscribe = (listener: Listener): (() => void) => {
|
|
58
|
-
this._listeners.add(listener);
|
|
59
|
-
return () => {
|
|
60
|
-
this._listeners.delete(listener);
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/** Returns the full selection object (for the InspectTab). */
|
|
65
|
-
getSelection = (): SelectedThreadItem | null => {
|
|
66
|
-
return this._selected;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Per-item boolean selector. Each selectable leaf calls this inside
|
|
71
|
-
* `useSyncExternalStore` so it only re-renders when its own
|
|
72
|
-
* selected state changes.
|
|
73
|
-
*/
|
|
74
|
-
isSelected = (kind: SelectedThreadItem["kind"], id: string): boolean => {
|
|
75
|
-
if (this._selected === null) return false;
|
|
76
|
-
return this._selected.kind === kind && itemId(this._selected) === id;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
// -- Internal ------------------------------------------------------------
|
|
80
|
-
|
|
81
|
-
private _notify(): void {
|
|
82
|
-
for (const listener of this._listeners) {
|
|
83
|
-
listener();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
// Helpers
|
|
90
|
-
// ---------------------------------------------------------------------------
|
|
91
|
-
|
|
92
|
-
function itemId(item: SelectedThreadItem): string {
|
|
93
|
-
switch (item.kind) {
|
|
94
|
-
case "tool-call":
|
|
95
|
-
return item.toolCallId;
|
|
96
|
-
case "sub-agent":
|
|
97
|
-
return item.subAgentId;
|
|
98
|
-
case "artifact":
|
|
99
|
-
return item.artifactKey;
|
|
100
|
-
case "write-back":
|
|
101
|
-
return item.workspaceEntryName;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function selectedEqual(
|
|
106
|
-
a: SelectedThreadItem | null,
|
|
107
|
-
b: SelectedThreadItem | null,
|
|
108
|
-
): boolean {
|
|
109
|
-
if (a === b) return true;
|
|
110
|
-
if (a === null || b === null) return false;
|
|
111
|
-
return a.kind === b.kind && itemId(a) === itemId(b);
|
|
112
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// Identity of the session's artifact document tabs in the workspace surface's
|
|
2
|
-
// editor group.
|
|
3
|
-
//
|
|
4
|
-
// Kept in its own module (not in ArtifactDocument.tsx) so behavior-only
|
|
5
|
-
// consumers — useSessionPanel opens an artifact tab, SessionViewer routes to it
|
|
6
|
-
// — depend on the identity without pulling the component (and its content
|
|
7
|
-
// renderer) into their module graph (DD-003 headless-first). Mirrors
|
|
8
|
-
// plan-document.ts.
|
|
9
|
-
|
|
10
|
-
import { virtualEntryId } from "../internal/store/index.js";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Virtual entry id of the artifact document FAMILY. Unlike the plan (one tab
|
|
14
|
-
* per session), artifacts are many: every opened artifact shares this one
|
|
15
|
-
* entry id and is distinguished by its {@link artifactKey}-derived `path`, so
|
|
16
|
-
* `editorKey(ARTIFACT_DOCUMENT_ENTRY_ID, path)` yields one tab per artifact —
|
|
17
|
-
* the VS Code "each file is a tab" model. The NUL-namespaced virtual id can
|
|
18
|
-
* never alias a real workspace entry, and its distinct `"artifact"` kind can
|
|
19
|
-
* never collide with the plan tab's `"plan"` kind.
|
|
20
|
-
*
|
|
21
|
-
* @see artifactKey — the `path` component (an artifact's stable identity)
|
|
22
|
-
*/
|
|
23
|
-
export const ARTIFACT_DOCUMENT_ENTRY_ID = virtualEntryId("artifact");
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { SelectedThreadItem } from "../../internal/store/selection-store.js";
|
|
4
|
-
|
|
5
|
-
export interface InspectTabProps {
|
|
6
|
-
readonly selectedItem: SelectedThreadItem | null;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Selection-driven inspector facet (Phase 2).
|
|
11
|
-
*
|
|
12
|
-
* In Phase 1 this renders an empty hint state. Phase 2 will populate
|
|
13
|
-
* it with tool-call detail, sub-agent mini-thread, and artifact
|
|
14
|
-
* preview based on the selected thread item.
|
|
15
|
-
*/
|
|
16
|
-
export function InspectTab({ selectedItem }: InspectTabProps) {
|
|
17
|
-
if (!selectedItem) {
|
|
18
|
-
return (
|
|
19
|
-
<div className="flex flex-col items-center justify-center px-4 py-8 text-center">
|
|
20
|
-
<SelectItemIcon />
|
|
21
|
-
<p className="mt-2 text-xs text-muted-foreground">
|
|
22
|
-
Click a tool call or sub-agent in the thread to inspect it
|
|
23
|
-
</p>
|
|
24
|
-
</div>
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<div className="px-1 py-2 text-xs text-muted-foreground">
|
|
30
|
-
<p>
|
|
31
|
-
Inspecting: <span className="font-medium text-foreground">{selectedItem.kind}</span>
|
|
32
|
-
</p>
|
|
33
|
-
<p className="mt-1 text-[11px]">
|
|
34
|
-
Detailed view coming in Phase 2.
|
|
35
|
-
</p>
|
|
36
|
-
</div>
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function SelectItemIcon() {
|
|
41
|
-
return (
|
|
42
|
-
<svg
|
|
43
|
-
width="20"
|
|
44
|
-
height="20"
|
|
45
|
-
viewBox="0 0 20 20"
|
|
46
|
-
fill="none"
|
|
47
|
-
stroke="currentColor"
|
|
48
|
-
strokeWidth="1.5"
|
|
49
|
-
strokeLinecap="round"
|
|
50
|
-
className="text-muted-foreground"
|
|
51
|
-
aria-hidden="true"
|
|
52
|
-
>
|
|
53
|
-
<rect x="2" y="2" width="16" height="16" rx="3" />
|
|
54
|
-
<path d="M7 10h6M10 7v6" />
|
|
55
|
-
</svg>
|
|
56
|
-
);
|
|
57
|
-
}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { memo, useCallback, useEffect, useState } from "react";
|
|
4
|
-
import type { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
5
|
-
import { cn } from "@stigmer/theme";
|
|
6
|
-
import { DecisionButton } from "../internal/DecisionButton.js";
|
|
7
|
-
import { InCardDecisionError } from "../internal/InCardDecisionError.js";
|
|
8
|
-
|
|
9
|
-
/** Props for {@link WorkflowExecutionApprovalCard}. */
|
|
10
|
-
export interface WorkflowExecutionApprovalCardProps {
|
|
11
|
-
/** The prompt message explaining what needs approval. */
|
|
12
|
-
readonly prompt: string;
|
|
13
|
-
/** Tool call ID for the approval request. */
|
|
14
|
-
readonly toolCallId: string;
|
|
15
|
-
/** List of users/roles that can approve. */
|
|
16
|
-
readonly approvers: readonly string[];
|
|
17
|
-
/** Timeout in seconds (0 = no timeout). */
|
|
18
|
-
readonly timeoutSeconds: number;
|
|
19
|
-
/** Callback to submit the approval decision. */
|
|
20
|
-
readonly onSubmitApproval: (
|
|
21
|
-
toolCallId: string,
|
|
22
|
-
action: ApprovalAction,
|
|
23
|
-
comment?: string,
|
|
24
|
-
) => Promise<unknown>;
|
|
25
|
-
/** `true` while this gate's submission is in flight. */
|
|
26
|
-
readonly isSubmitting: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* This gate's last failed decision, or `null`. Surfaced in-card beside the
|
|
29
|
-
* actions (via the shared {@link InCardDecisionError}) — supply
|
|
30
|
-
* {@link useWorkflowExecutionActions}'s `approvalErrorsByToolCallId` for this
|
|
31
|
-
* `toolCallId`.
|
|
32
|
-
*/
|
|
33
|
-
readonly error?: Error | null;
|
|
34
|
-
/** Additional CSS class names. */
|
|
35
|
-
readonly className?: string;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Inline approval card rendered within the execution timeline when
|
|
40
|
-
* a `human_input` task or agent tool approval gate is active.
|
|
41
|
-
*
|
|
42
|
-
* Provides approve and reject buttons with an optional comment field.
|
|
43
|
-
* Keyboard-navigable and accessible.
|
|
44
|
-
*/
|
|
45
|
-
export const WorkflowExecutionApprovalCard = memo(function WorkflowExecutionApprovalCard({
|
|
46
|
-
prompt,
|
|
47
|
-
toolCallId,
|
|
48
|
-
approvers,
|
|
49
|
-
timeoutSeconds,
|
|
50
|
-
onSubmitApproval,
|
|
51
|
-
isSubmitting,
|
|
52
|
-
error,
|
|
53
|
-
className,
|
|
54
|
-
}: WorkflowExecutionApprovalCardProps) {
|
|
55
|
-
const [comment, setComment] = useState("");
|
|
56
|
-
// Which action is in flight, so the spinner lands on the clicked button —
|
|
57
|
-
// matching ApprovalCard / WorkflowTaskApprovalCard. Reset once the RPC settles.
|
|
58
|
-
const [active, setActive] = useState<"approve" | "reject" | null>(null);
|
|
59
|
-
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (!isSubmitting) setActive(null);
|
|
62
|
-
}, [isSubmitting]);
|
|
63
|
-
|
|
64
|
-
// ApprovalAction enum values: 0=UNSPECIFIED, 1=APPROVE, 2=SKIP, 3=REJECT
|
|
65
|
-
const handleApprove = useCallback(() => {
|
|
66
|
-
setActive("approve");
|
|
67
|
-
onSubmitApproval(toolCallId, 1 as ApprovalAction, comment || undefined);
|
|
68
|
-
}, [toolCallId, comment, onSubmitApproval]);
|
|
69
|
-
|
|
70
|
-
const handleReject = useCallback(() => {
|
|
71
|
-
setActive("reject");
|
|
72
|
-
onSubmitApproval(toolCallId, 3 as ApprovalAction, comment || undefined);
|
|
73
|
-
}, [toolCallId, comment, onSubmitApproval]);
|
|
74
|
-
|
|
75
|
-
return (
|
|
76
|
-
<div
|
|
77
|
-
role="alert"
|
|
78
|
-
aria-label="Approval required"
|
|
79
|
-
// Neutral card + 2px warning left accent — the quiet Cursor-grade chrome
|
|
80
|
-
// shared with ApprovalCard. (Replaces the old amber `bg-warning/5` fill.)
|
|
81
|
-
className={cn(
|
|
82
|
-
"my-1 rounded-lg border border-border-prominent border-l-2 border-l-warning p-3",
|
|
83
|
-
className,
|
|
84
|
-
)}
|
|
85
|
-
>
|
|
86
|
-
<p className="text-sm font-medium text-foreground">{prompt}</p>
|
|
87
|
-
|
|
88
|
-
{approvers.length > 0 && (
|
|
89
|
-
<p className="mt-1 text-xs text-muted-foreground">
|
|
90
|
-
Approvers: {approvers.join(", ")}
|
|
91
|
-
</p>
|
|
92
|
-
)}
|
|
93
|
-
|
|
94
|
-
{timeoutSeconds > 0 && (
|
|
95
|
-
<p className="text-xs text-muted-foreground">
|
|
96
|
-
Expires in {formatTimeout(timeoutSeconds)}
|
|
97
|
-
</p>
|
|
98
|
-
)}
|
|
99
|
-
|
|
100
|
-
<div className="mt-2">
|
|
101
|
-
<input
|
|
102
|
-
type="text"
|
|
103
|
-
value={comment}
|
|
104
|
-
onChange={(e) => setComment(e.target.value)}
|
|
105
|
-
placeholder="Comment (optional)"
|
|
106
|
-
disabled={isSubmitting}
|
|
107
|
-
className={cn(
|
|
108
|
-
"w-full rounded border border-border bg-background px-2 py-1 text-xs text-foreground",
|
|
109
|
-
"placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring",
|
|
110
|
-
"disabled:opacity-50",
|
|
111
|
-
)}
|
|
112
|
-
/>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<div className="mt-2 flex gap-2">
|
|
116
|
-
<DecisionButton
|
|
117
|
-
label="Approve"
|
|
118
|
-
variant="primary"
|
|
119
|
-
onClick={handleApprove}
|
|
120
|
-
isActive={active === "approve"}
|
|
121
|
-
isSubmitting={isSubmitting}
|
|
122
|
-
/>
|
|
123
|
-
<DecisionButton
|
|
124
|
-
label="Reject"
|
|
125
|
-
variant="danger"
|
|
126
|
-
onClick={handleReject}
|
|
127
|
-
isActive={active === "reject"}
|
|
128
|
-
isSubmitting={isSubmitting}
|
|
129
|
-
/>
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
{/* A failed decision surfaces HERE, beside this gate's actions — not in the
|
|
133
|
-
viewer's lifecycle banner. A workflow can hold many gates at once, so a
|
|
134
|
-
failure must name the one it belongs to; the optimistic spinner has
|
|
135
|
-
already reverted, and this explains the snap-back. Shared with the
|
|
136
|
-
agent ApprovalCard / FileReviewCard via InCardDecisionError. */}
|
|
137
|
-
{error && (
|
|
138
|
-
<InCardDecisionError
|
|
139
|
-
error={error}
|
|
140
|
-
leadIn="submit decision"
|
|
141
|
-
cursorTarget="wf-approval-error"
|
|
142
|
-
/>
|
|
143
|
-
)}
|
|
144
|
-
</div>
|
|
145
|
-
);
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
function formatTimeout(seconds: number): string {
|
|
149
|
-
if (seconds < 60) return `${seconds}s`;
|
|
150
|
-
const m = Math.floor(seconds / 60);
|
|
151
|
-
if (m < 60) return `${m}m`;
|
|
152
|
-
const h = Math.floor(m / 60);
|
|
153
|
-
return `${h}h`;
|
|
154
|
-
}
|