@stigmer/react 3.1.17 → 3.2.1
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/useNewSessionFlow.d.ts +4 -0
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +33 -4
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/usePersistedModel.d.ts +11 -0
- package/session/usePersistedModel.d.ts.map +1 -1
- package/session/usePersistedModel.js +14 -3
- package/session/usePersistedModel.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/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +12 -1
- package/session/useSessionPageFlow.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__/useNewSessionFlow.test.tsx +64 -0
- package/src/session/__tests__/usePersistedModel.test.tsx +36 -0
- package/src/session/__tests__/useSessionPageFlow.guest.test.tsx +48 -1
- 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/useNewSessionFlow.ts +35 -4
- package/src/session/usePersistedModel.ts +25 -3
- package/src/session/useSessionFileChanges.ts +12 -153
- package/src/session/useSessionPageFlow.ts +13 -2
- 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,103 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
// The session viewer's panel toggle chip — a session-named alias of the
|
|
4
|
+
// shared workspace PanelChip (the workflow viewer mounts the same chip).
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
export interface SessionPanelChipProps {
|
|
8
|
-
/** Whether the panel is currently expanded. */
|
|
9
|
-
readonly isOpen: boolean;
|
|
10
|
-
/** Toggles the panel open/collapsed. */
|
|
11
|
-
readonly onToggle: () => void;
|
|
12
|
-
/**
|
|
13
|
-
* Aggregate count of facet items (write-backs + artifacts) awaiting the
|
|
14
|
-
* user. Rendered as a dot-count while collapsed — the panel's only "something
|
|
15
|
-
* arrived" signal, since arrivals never auto-open the panel.
|
|
16
|
-
*/
|
|
17
|
-
readonly badgeCount?: number;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* The always-mounted top-right toggle for the unified session panel — the
|
|
22
|
-
* Cursor "Show panel" chip. Collapsed, it carries the pending-item count;
|
|
23
|
-
* open, it is the hide affordance. Being a small leaf, it is also the one
|
|
24
|
-
* place that may safely carry per-arrival re-renders while the panel subtree
|
|
25
|
-
* is unmounted. Execution status deliberately does not surface here (or
|
|
26
|
-
* anywhere else in the viewer chrome) — the thread itself communicates run
|
|
27
|
-
* state.
|
|
28
|
-
*
|
|
29
|
-
* All visual properties flow through `--stgm-*` tokens (DD-005).
|
|
30
|
-
*/
|
|
31
|
-
export function SessionPanelChip({
|
|
32
|
-
isOpen,
|
|
33
|
-
onToggle,
|
|
34
|
-
badgeCount,
|
|
35
|
-
}: SessionPanelChipProps) {
|
|
36
|
-
const showCount = !isOpen && badgeCount != null && badgeCount > 0;
|
|
37
|
-
|
|
38
|
-
// Focus restoration: collapsing unmounts the panel subtree, so keyboard
|
|
39
|
-
// focus that lived inside it (rail, tabs, viewer) falls to <body>. Reclaim
|
|
40
|
-
// it here — the chip is the collapse's logical origin. Focus resting
|
|
41
|
-
// anywhere else (e.g. the composer) is respected. Opening deliberately does
|
|
42
|
-
// NOT move focus: the chip is a standard disclosure trigger.
|
|
43
|
-
const buttonRef = useRef<HTMLButtonElement>(null);
|
|
44
|
-
const prevOpenRef = useRef(isOpen);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (prevOpenRef.current && !isOpen && document.activeElement === document.body) {
|
|
47
|
-
buttonRef.current?.focus();
|
|
48
|
-
}
|
|
49
|
-
prevOpenRef.current = isOpen;
|
|
50
|
-
}, [isOpen]);
|
|
6
|
+
import { PanelChip, type PanelChipProps } from "../workspace/PanelChip.js";
|
|
51
7
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
ref={buttonRef}
|
|
55
|
-
type="button"
|
|
56
|
-
onClick={onToggle}
|
|
57
|
-
aria-expanded={isOpen}
|
|
58
|
-
aria-label={isOpen ? "Hide panel" : "Show panel"}
|
|
59
|
-
title={isOpen ? "Hide panel" : "Show panel"}
|
|
60
|
-
className={cn(
|
|
61
|
-
"flex items-center gap-1.5 rounded-md border border-border bg-card px-1.5 py-1",
|
|
62
|
-
"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
63
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
64
|
-
)}
|
|
65
|
-
>
|
|
66
|
-
{showCount && (
|
|
67
|
-
<span
|
|
68
|
-
aria-label={`${badgeCount} new items`}
|
|
69
|
-
className="inline-flex min-w-[1rem] items-center justify-center rounded-full bg-primary px-1 py-px text-[10px] font-medium leading-none text-primary-foreground"
|
|
70
|
-
>
|
|
71
|
-
{badgeCount}
|
|
72
|
-
</span>
|
|
73
|
-
)}
|
|
74
|
-
<PanelIcon open={isOpen} />
|
|
75
|
-
</button>
|
|
76
|
-
);
|
|
77
|
-
}
|
|
8
|
+
/** Props for {@link SessionPanelChip}. */
|
|
9
|
+
export type SessionPanelChipProps = PanelChipProps;
|
|
78
10
|
|
|
79
11
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
12
|
+
* The always-mounted top-right toggle for the unified session panel — see
|
|
13
|
+
* {@link PanelChip} for behavior (badge-while-collapsed, focus restoration).
|
|
14
|
+
* Kept as a named alias so session-side call sites and tests read in the
|
|
15
|
+
* session's vocabulary.
|
|
82
16
|
*/
|
|
83
|
-
|
|
84
|
-
return (
|
|
85
|
-
<svg
|
|
86
|
-
width="16"
|
|
87
|
-
height="16"
|
|
88
|
-
viewBox="0 0 16 16"
|
|
89
|
-
fill="none"
|
|
90
|
-
stroke="currentColor"
|
|
91
|
-
strokeWidth="1.3"
|
|
92
|
-
strokeLinecap="round"
|
|
93
|
-
strokeLinejoin="round"
|
|
94
|
-
aria-hidden="true"
|
|
95
|
-
>
|
|
96
|
-
<rect x="1.5" y="2.5" width="13" height="11" rx="1.5" />
|
|
97
|
-
<path d="M9.5 2.5v11" />
|
|
98
|
-
{open && (
|
|
99
|
-
<rect x="9.5" y="2.5" width="5" height="11" rx="1.5" fill="currentColor" stroke="none" />
|
|
100
|
-
)}
|
|
101
|
-
</svg>
|
|
102
|
-
);
|
|
103
|
-
}
|
|
17
|
+
export const SessionPanelChip = PanelChip;
|
|
@@ -20,10 +20,7 @@ import {
|
|
|
20
20
|
import type { InteractionModeOption, SessionComposerHandle, SessionComposerSubmitContext } from "../composer/index.js";
|
|
21
21
|
import type { ApplyResourceResult } from "../library/useApplyResource.js";
|
|
22
22
|
import { ResizableSplit } from "../internal/ResizableSplit.js";
|
|
23
|
-
import { SelectionStore } from "../internal/store/selection-store.js";
|
|
24
23
|
import { useWorkspaceEditors, isVirtualEntryId } from "../internal/store/index.js";
|
|
25
|
-
import { ThreadSelectionContext } from "../execution/ThreadSelectionContext.js";
|
|
26
|
-
import { useSelectedThreadItem } from "../execution/useThreadSelection.js";
|
|
27
24
|
import { isTerminalPhase } from "../execution/execution-phases.js";
|
|
28
25
|
import { MessageThread, type MessageThreadSlots } from "../execution/MessageThread.js";
|
|
29
26
|
import { FileChangeProgressBar } from "../execution/FileChangeProgressBar.js";
|
|
@@ -43,12 +40,13 @@ import {
|
|
|
43
40
|
} from "../library/detect-plan-artifact.js";
|
|
44
41
|
import { findStreamingPlan } from "../library/detect-streaming-plan.js";
|
|
45
42
|
import { useSessionPageFlow } from "./useSessionPageFlow.js";
|
|
43
|
+
import { isChannelOriginSession } from "./channelOrigin.js";
|
|
46
44
|
import { useOpenFileChange } from "./useOpenFileChange.js";
|
|
47
45
|
import { usePlanDraft, planDraftKey, type PlanDraftController } from "./usePlanDraft.js";
|
|
48
46
|
import { PlanEditor } from "./PlanEditor.js";
|
|
49
47
|
import { PlanStreamingDocument } from "./PlanStreamingDocument.js";
|
|
50
48
|
import { PLAN_DOCUMENT_ENTRY_ID, PLAN_DOCUMENT_PATH } from "./plan-document.js";
|
|
51
|
-
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "
|
|
49
|
+
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../execution/artifact-document.js";
|
|
52
50
|
import { ArtifactDocument } from "../execution/ArtifactDocument.js";
|
|
53
51
|
import { useSessionRailViews } from "./useSessionRailViews.js";
|
|
54
52
|
import { useSessionPanel, type SessionPanelController } from "./useSessionPanel.js";
|
|
@@ -217,6 +215,12 @@ export interface SessionViewerProps {
|
|
|
217
215
|
* reads a guest principal cannot make — follow-ups simply continue
|
|
218
216
|
* on the session's bound agent instance.
|
|
219
217
|
*
|
|
218
|
+
* `"observer"` is a read-only transcript: no composer, no
|
|
219
|
+
* approval/edit/retry/build affordances, no access management. The
|
|
220
|
+
* viewer also self-selects observer for channel-originated sessions
|
|
221
|
+
* (the `stigmer.ai/channel-id` label) regardless of this prop, since
|
|
222
|
+
* channel viewers hold `can_view` only.
|
|
223
|
+
*
|
|
220
224
|
* See {@link SessionAudience}.
|
|
221
225
|
*
|
|
222
226
|
* @default "integrator"
|
|
@@ -259,15 +263,12 @@ export interface SessionViewerProps {
|
|
|
259
263
|
* banners + `SessionComposer`
|
|
260
264
|
* - **Session panel** (secondary): the unified `WorkspaceSurface` — explorer,
|
|
261
265
|
* search, read-only editor, and the session facets (Config, Changes,
|
|
262
|
-
* Artifacts, Usage
|
|
266
|
+
* Artifacts, Usage) as injected rail views. Collapsed by default
|
|
263
267
|
* to a top-right chip; opening a file (tree, search, or a transcript path)
|
|
264
268
|
* expands it.
|
|
265
269
|
*
|
|
266
270
|
* Connected via `ResizableSplit` with persisted chat width.
|
|
267
271
|
*
|
|
268
|
-
* Thread selection is provided via `ThreadSelectionContext` (Phase 2
|
|
269
|
-
* opt-in) for render-isolated per-item selection.
|
|
270
|
-
*
|
|
271
272
|
* Framework-agnostic — no Next.js, no Tauri, no routing deps. Host
|
|
272
273
|
* apps inject platform-specific values via props (DD-004/DD-016).
|
|
273
274
|
*
|
|
@@ -313,20 +314,22 @@ export function SessionViewer({
|
|
|
313
314
|
const flow = useSessionPageFlow({ sessionId, org, getRuntimeEnv, audience });
|
|
314
315
|
const { conv } = flow;
|
|
315
316
|
const isGuest = audience === "guest";
|
|
316
|
-
//
|
|
317
|
-
//
|
|
318
|
-
|
|
317
|
+
// Channel-originated sessions (Slack/WhatsApp conversations owned by the
|
|
318
|
+
// channel runtime) are read-only for every console caller — the server
|
|
319
|
+
// grants channel viewers can_view without can_create_execution_in — so the
|
|
320
|
+
// viewer self-selects the observer presentation regardless of the host's
|
|
321
|
+
// audience. Every entry point (a conversations list, a pasted URL) renders
|
|
322
|
+
// read-only without host wiring.
|
|
323
|
+
const isObserver =
|
|
324
|
+
audience === "observer" || isChannelOriginSession(conv.session);
|
|
325
|
+
// Curated audiences (endUser, guest, observer) lock the agent and hide the
|
|
326
|
+
// integrator configuration; guest and observer add their own restrictions.
|
|
327
|
+
const isCurated = audience !== "integrator" || isObserver;
|
|
319
328
|
|
|
320
329
|
const [modelId, setModelId] = flow.model;
|
|
321
330
|
const [interactionMode, setInteractionMode] = flow.interactionMode;
|
|
322
331
|
const composerRef = useRef<SessionComposerHandle>(null);
|
|
323
332
|
|
|
324
|
-
const selectionStoreRef = useRef<SelectionStore | null>(null);
|
|
325
|
-
if (!selectionStoreRef.current) {
|
|
326
|
-
selectionStoreRef.current = new SelectionStore();
|
|
327
|
-
}
|
|
328
|
-
const selectionStore = selectionStoreRef.current;
|
|
329
|
-
|
|
330
333
|
const phase =
|
|
331
334
|
flow.displayExecution?.status?.phase ??
|
|
332
335
|
ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
|
|
@@ -567,75 +570,82 @@ export function SessionViewer({
|
|
|
567
570
|
)}
|
|
568
571
|
</div>
|
|
569
572
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
573
|
+
{/* One layout, collapsed by default: chat fills the row until the panel
|
|
574
|
+
opens, then becomes the fixed narrow pane on the left while the
|
|
575
|
+
panel takes the flexible region. Collapsing goes through the
|
|
576
|
+
split's `collapsedPane` (CSS, not conditional structure), so the
|
|
577
|
+
conversation is always the same first child and an open/close never
|
|
578
|
+
remounts it (invariant 1). */}
|
|
579
|
+
<ResizableSplit
|
|
580
|
+
resizablePane="primary"
|
|
581
|
+
collapsedPane={panel.isOpen ? "none" : "secondary"}
|
|
582
|
+
defaultSize={420}
|
|
583
|
+
minSize={320}
|
|
584
|
+
maxSize={640}
|
|
585
|
+
storageKey="stgm-session-chat-width"
|
|
586
|
+
responsiveCollapse={panel.isOpen ? "primary" : "none"}
|
|
587
|
+
ariaLabel="Resize chat panel"
|
|
588
|
+
className="min-h-0 flex-1"
|
|
589
|
+
primary={
|
|
590
|
+
<ConversationColumn
|
|
591
|
+
flow={flow}
|
|
592
|
+
modelId={modelId}
|
|
593
|
+
setModelId={setModelId}
|
|
594
|
+
interactionMode={interactionMode}
|
|
595
|
+
setInteractionMode={setInteractionMode}
|
|
596
|
+
composerRef={composerRef}
|
|
597
|
+
org={org}
|
|
598
|
+
gitHubConnection={gitHubConnection}
|
|
599
|
+
enableGitHub={enableGitHub}
|
|
600
|
+
enableLocal={enableLocal}
|
|
601
|
+
onBrowseLocalFolder={onBrowseLocalFolder}
|
|
602
|
+
onBuildFromPlan={handleBuildFromPlan}
|
|
603
|
+
onOpenPlan={handleOpenPlan}
|
|
604
|
+
isBuildingFromPlan={isBuildingFromPlan}
|
|
605
|
+
planAttachFailed={planAttachFailed}
|
|
606
|
+
onDismissPlanAttachFailed={() => setPlanAttachFailed(false)}
|
|
607
|
+
onFilePathClick={handleTranscriptFilePathClick}
|
|
608
|
+
isCurated={isCurated}
|
|
609
|
+
isGuest={isGuest}
|
|
610
|
+
isObserver={isObserver}
|
|
611
|
+
threadSlots={threadSlots}
|
|
612
|
+
/>
|
|
613
|
+
}
|
|
614
|
+
secondary={
|
|
615
|
+
panel.isOpen && !isGuest ? (
|
|
616
|
+
<SessionPanelRegion
|
|
589
617
|
flow={flow}
|
|
590
|
-
modelId={modelId}
|
|
591
|
-
setModelId={setModelId}
|
|
592
|
-
interactionMode={interactionMode}
|
|
593
|
-
setInteractionMode={setInteractionMode}
|
|
594
|
-
composerRef={composerRef}
|
|
595
618
|
org={org}
|
|
596
|
-
|
|
597
|
-
|
|
619
|
+
panel={panel}
|
|
620
|
+
// Observers cannot manage access (no can_grant_access /
|
|
621
|
+
// can_view_access on a channel session) — the control is
|
|
622
|
+
// withheld rather than left to fail server-side.
|
|
623
|
+
accessSlot={isObserver ? undefined : accessSlot}
|
|
624
|
+
onApplied={onApplied}
|
|
625
|
+
// Implementing a plan submits an execution — a write an
|
|
626
|
+
// observer cannot make (can_create_execution_in is
|
|
627
|
+
// owner/viewer-only).
|
|
628
|
+
onImplementPlan={isObserver ? undefined : handleBuildFromPlan}
|
|
629
|
+
implementPlanDisabled={
|
|
630
|
+
isObserver || !conv.canSendFollowUp || isBuildingFromPlan
|
|
631
|
+
}
|
|
632
|
+
sessionPlan={sessionPlan}
|
|
633
|
+
streamingPlan={streamingPlan}
|
|
634
|
+
planDraft={planDraft}
|
|
635
|
+
openPlanExecutionId={openPlanExecutionId}
|
|
636
|
+
onOpenPlan={handleOpenPlan}
|
|
637
|
+
onOpenArtifact={handleOpenArtifact}
|
|
638
|
+
onActivateArtifact={handleActivateArtifact}
|
|
598
639
|
enableLocal={enableLocal}
|
|
599
640
|
onBrowseLocalFolder={onBrowseLocalFolder}
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
planAttachFailed={planAttachFailed}
|
|
604
|
-
onDismissPlanAttachFailed={() => setPlanAttachFailed(false)}
|
|
605
|
-
onFilePathClick={handleTranscriptFilePathClick}
|
|
641
|
+
workspaceFileLister={workspaceFileLister}
|
|
642
|
+
workspaceFileReader={workspaceFileReader}
|
|
643
|
+
workspaceContentSearcher={workspaceContentSearcher}
|
|
606
644
|
isCurated={isCurated}
|
|
607
|
-
isGuest={isGuest}
|
|
608
|
-
threadSlots={threadSlots}
|
|
609
645
|
/>
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
<SessionPanelRegion
|
|
614
|
-
flow={flow}
|
|
615
|
-
org={org}
|
|
616
|
-
panel={panel}
|
|
617
|
-
accessSlot={accessSlot}
|
|
618
|
-
onApplied={onApplied}
|
|
619
|
-
onImplementPlan={handleBuildFromPlan}
|
|
620
|
-
implementPlanDisabled={!conv.canSendFollowUp || isBuildingFromPlan}
|
|
621
|
-
sessionPlan={sessionPlan}
|
|
622
|
-
streamingPlan={streamingPlan}
|
|
623
|
-
planDraft={planDraft}
|
|
624
|
-
openPlanExecutionId={openPlanExecutionId}
|
|
625
|
-
onOpenPlan={handleOpenPlan}
|
|
626
|
-
onOpenArtifact={handleOpenArtifact}
|
|
627
|
-
onActivateArtifact={handleActivateArtifact}
|
|
628
|
-
enableLocal={enableLocal}
|
|
629
|
-
onBrowseLocalFolder={onBrowseLocalFolder}
|
|
630
|
-
workspaceFileLister={workspaceFileLister}
|
|
631
|
-
workspaceFileReader={workspaceFileReader}
|
|
632
|
-
workspaceContentSearcher={workspaceContentSearcher}
|
|
633
|
-
isCurated={isCurated}
|
|
634
|
-
/>
|
|
635
|
-
) : null
|
|
636
|
-
}
|
|
637
|
-
/>
|
|
638
|
-
</ThreadSelectionContext.Provider>
|
|
646
|
+
) : null
|
|
647
|
+
}
|
|
648
|
+
/>
|
|
639
649
|
</div>
|
|
640
650
|
);
|
|
641
651
|
}
|
|
@@ -670,10 +680,16 @@ interface ConversationColumnProps {
|
|
|
670
680
|
* let the path keep its copy / GitHub-link behavior.
|
|
671
681
|
*/
|
|
672
682
|
readonly onFilePathClick: (path: string) => boolean;
|
|
673
|
-
/** Curated audience (endUser or
|
|
683
|
+
/** Curated audience (endUser, guest, or observer): locked agent, no integrator pickers. */
|
|
674
684
|
readonly isCurated: boolean;
|
|
675
685
|
/** Guest audience: pure chat — additionally no model picker, mode picker, attachments, or workspace. */
|
|
676
686
|
readonly isGuest: boolean;
|
|
687
|
+
/**
|
|
688
|
+
* Observer audience: a read-only transcript. No composer, no
|
|
689
|
+
* approval/edit/retry/build affordances, no decision surfaces — live
|
|
690
|
+
* stream indicators stay (watching an in-flight turn is the point).
|
|
691
|
+
*/
|
|
692
|
+
readonly isObserver: boolean;
|
|
677
693
|
readonly threadSlots?: MessageThreadSlots;
|
|
678
694
|
}
|
|
679
695
|
|
|
@@ -697,6 +713,7 @@ const ConversationColumn = memo(function ConversationColumn({
|
|
|
697
713
|
onFilePathClick,
|
|
698
714
|
isCurated,
|
|
699
715
|
isGuest,
|
|
716
|
+
isObserver,
|
|
700
717
|
threadSlots,
|
|
701
718
|
}: ConversationColumnProps) {
|
|
702
719
|
const { conv } = flow;
|
|
@@ -794,20 +811,28 @@ const ConversationColumn = memo(function ConversationColumn({
|
|
|
794
811
|
activeStreamExecution={conv.activeStreamExecution}
|
|
795
812
|
pendingUserMessage={conv.pendingUserMessage}
|
|
796
813
|
pendingMessageFailed={!!conv.sendError && !!conv.pendingUserMessage}
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
814
|
+
// Observers get a pure transcript: every interaction affordance
|
|
815
|
+
// (retry, approvals, edit, build-from-plan) is opt-in via its
|
|
816
|
+
// callback, so passing none removes the controls entirely. Opening
|
|
817
|
+
// a plan read-only in the panel remains — reading is the point.
|
|
818
|
+
onRetrySend={isObserver ? undefined : conv.retryLastSend}
|
|
819
|
+
onRetryExecution={isObserver ? undefined : onRetryExecution}
|
|
820
|
+
onApprovalSubmit={isObserver ? undefined : flow.submitApproval}
|
|
800
821
|
submittingApprovalIds={conv.submittingApprovalIds}
|
|
801
822
|
approvalErrors={conv.approvalErrors}
|
|
802
823
|
showFileReviewRecords
|
|
803
|
-
onEditMessage={
|
|
824
|
+
onEditMessage={
|
|
825
|
+
isObserver || !conv.isStoppable ? undefined : handleEditMessage
|
|
826
|
+
}
|
|
804
827
|
workspaceEntries={conv.workspaceEntries}
|
|
805
828
|
onFilePathClick={onFilePathClick}
|
|
806
829
|
sandboxWorkspaceRoot={flow.sandboxWorkspaceRoot}
|
|
807
|
-
onBuildFromPlan={onBuildFromPlan}
|
|
830
|
+
onBuildFromPlan={isObserver ? undefined : onBuildFromPlan}
|
|
808
831
|
onOpenPlan={onOpenPlan}
|
|
809
832
|
org={org}
|
|
810
|
-
planActionsDisabled={
|
|
833
|
+
planActionsDisabled={
|
|
834
|
+
isObserver || !conv.canSendFollowUp || isBuildingFromPlan
|
|
835
|
+
}
|
|
811
836
|
planBuildPending={isBuildingFromPlan}
|
|
812
837
|
contentColumn="center"
|
|
813
838
|
slots={threadSlots}
|
|
@@ -817,6 +842,8 @@ const ConversationColumn = memo(function ConversationColumn({
|
|
|
817
842
|
{planAttachFailed && (
|
|
818
843
|
<PlanAttachFailedNotice onDismiss={onDismissPlanAttachFailed} />
|
|
819
844
|
)}
|
|
845
|
+
{/* Live stream indicators stay for observers — watching an
|
|
846
|
+
in-flight conversation is the point of observability. */}
|
|
820
847
|
{conv.isReconnecting && <ReconnectingIndicator />}
|
|
821
848
|
{conv.connectTimedOut && (
|
|
822
849
|
<ConnectTimedOutBanner onRetry={conv.reconnectStream} />
|
|
@@ -828,65 +855,73 @@ const ConversationColumn = memo(function ConversationColumn({
|
|
|
828
855
|
onReconnect={conv.reconnectStream}
|
|
829
856
|
/>
|
|
830
857
|
)}
|
|
831
|
-
{sendError && <SendErrorBanner error={sendError} />}
|
|
832
|
-
{flow.autoApproveAll && (
|
|
858
|
+
{!isObserver && sendError && <SendErrorBanner error={sendError} />}
|
|
859
|
+
{!isObserver && flow.autoApproveAll && (
|
|
833
860
|
<AutoApproveIndicator onTurnOff={() => flow.setAutoApproveAll(false)} />
|
|
834
861
|
)}
|
|
835
862
|
{/* Pending file reviews dock here — pinned above the composer so the
|
|
836
863
|
decision the agent is blocked on can never scroll out of view. The
|
|
837
864
|
thread renders only observational rows (badges) and read-only
|
|
838
|
-
settled records; this is the one decision surface.
|
|
865
|
+
settled records; this is the one decision surface. Observers get
|
|
866
|
+
the read-only progress strip but never the decision dock. */}
|
|
839
867
|
<FilePathContext.Provider value={dockFilePathCtx}>
|
|
840
868
|
{/* Mid-run live capture (DD-32): the "N files changed so far" strip for
|
|
841
869
|
a still-running turn. Mutually exclusive with the dock below —
|
|
842
870
|
progress shows while CAPTURING, the dock once AWAITING_REVIEW — so it
|
|
843
871
|
hands off cleanly when review opens. Non-interactive. */}
|
|
844
872
|
<FileChangeProgressBar progress={conv.fileChangeProgress} />
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
873
|
+
{!isObserver && (
|
|
874
|
+
<FileReviewDock
|
|
875
|
+
changeSets={conv.fileChangeSets}
|
|
876
|
+
onSubmit={conv.submitFileDecision}
|
|
877
|
+
submittingDecisionKeys={conv.submittingFileDecisionKeys}
|
|
878
|
+
decisionErrors={conv.fileDecisionErrors}
|
|
879
|
+
/>
|
|
880
|
+
)}
|
|
851
881
|
</FilePathContext.Provider>
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
882
|
+
{/* Observers never get a composer: the server denies them
|
|
883
|
+
can_create_execution_in, so the send surface simply is not
|
|
884
|
+
offered — read-only by construction, not by a disabled state. */}
|
|
885
|
+
{!isObserver && (
|
|
886
|
+
<SessionComposer
|
|
887
|
+
ref={composerRef}
|
|
888
|
+
onSubmit={handleComposerSubmit}
|
|
889
|
+
isSubmitting={conv.isSending}
|
|
890
|
+
disabled={!conv.canSendFollowUp}
|
|
891
|
+
onStop={conv.isStoppable ? handleStop : undefined}
|
|
892
|
+
isStopping={conv.isStopping}
|
|
893
|
+
isEditing={editingExecutionId != null}
|
|
894
|
+
onCancelEdit={handleCancelEdit}
|
|
895
|
+
org={org}
|
|
896
|
+
harness={flow.harness}
|
|
897
|
+
defaultModelId={modelId}
|
|
898
|
+
onModelChange={setModelId}
|
|
899
|
+
interactionMode={interactionMode}
|
|
900
|
+
onInteractionModeChange={setInteractionMode}
|
|
901
|
+
showInteractionModePicker={!isGuest}
|
|
902
|
+
showModelSelector={!isGuest}
|
|
903
|
+
enableAttachments={!isGuest}
|
|
904
|
+
workspace={isGuest ? undefined : flow.workspace}
|
|
905
|
+
gitHubConnection={isGuest ? undefined : gitHubConnection}
|
|
906
|
+
enableGitHub={enableGitHub && !isGuest}
|
|
907
|
+
enableLocal={enableLocal && !isGuest}
|
|
908
|
+
onBrowseLocalFolder={onBrowseLocalFolder}
|
|
909
|
+
agentRef={flow.agentRef}
|
|
910
|
+
// Guests get no agent machinery: the session's agent is already
|
|
911
|
+
// bound server-side, and the picker's resolution path performs
|
|
912
|
+
// org reads a guest token cannot make.
|
|
913
|
+
onAgentRefChange={isGuest ? undefined : flow.setAgentRef}
|
|
914
|
+
onAgentResolutionChange={isGuest ? undefined : flow.setResolution}
|
|
915
|
+
isDefaultAgent={flow.isDefaultAgent}
|
|
916
|
+
lockAgent={isCurated}
|
|
917
|
+
mcpServerUsages={isCurated ? undefined : flow.mcpServerUsages}
|
|
918
|
+
onMcpServerUsagesChange={isCurated ? undefined : flow.setMcpServerUsages}
|
|
919
|
+
skillRefs={isCurated ? undefined : flow.skillRefs}
|
|
920
|
+
onSkillRefsChange={isCurated ? undefined : flow.setSkillRefs}
|
|
921
|
+
sessionVariables={isCurated ? undefined : flow.sessionVariables}
|
|
922
|
+
className="px-4 py-3"
|
|
923
|
+
/>
|
|
924
|
+
)}
|
|
890
925
|
</div>
|
|
891
926
|
</div>
|
|
892
927
|
);
|
|
@@ -965,7 +1000,6 @@ function SessionPanelRegion({
|
|
|
965
1000
|
workspaceContentSearcher,
|
|
966
1001
|
isCurated,
|
|
967
1002
|
}: SessionPanelRegionProps) {
|
|
968
|
-
const selectedItem = useSelectedThreadItem();
|
|
969
1003
|
const { editors, activeKey, activeFile, reveal } = useWorkspaceEditors(
|
|
970
1004
|
panel.editorsStore,
|
|
971
1005
|
);
|
|
@@ -979,13 +1013,6 @@ function SessionPanelRegion({
|
|
|
979
1013
|
const activeReveal =
|
|
980
1014
|
reveal && reveal.key === activeKey ? reveal : undefined;
|
|
981
1015
|
|
|
982
|
-
// This region is the level that subscribes to thread selection; report it to
|
|
983
|
-
// the controller so an open panel can auto-surface the Inspect view. (A
|
|
984
|
-
// collapsed panel never sees — and deliberately never reacts to — selection.)
|
|
985
|
-
useEffect(() => {
|
|
986
|
-
panel.notifySelection(selectedItem);
|
|
987
|
-
}, [selectedItem, panel.notifySelection]);
|
|
988
|
-
|
|
989
1016
|
// Correlate the active file with its session change for diff-as-default
|
|
990
1017
|
// (DD-06 parity with the transcript's rendering of the same change). A
|
|
991
1018
|
// virtual document (the plan tab) is not a workspace file — pass `null` so
|
|
@@ -1170,13 +1197,12 @@ function SessionPanelRegion({
|
|
|
1170
1197
|
flow.displayExecution?.status?.phase ??
|
|
1171
1198
|
ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
|
|
1172
1199
|
|
|
1173
|
-
// The session facets (Config / Changes / Artifacts / Usage
|
|
1200
|
+
// The session facets (Config / Changes / Artifacts / Usage) as
|
|
1174
1201
|
// injected rail views — the full inspector feature set inside one panel.
|
|
1175
1202
|
const railViews = useSessionRailViews({
|
|
1176
1203
|
allExecutions: flow.allExecutions,
|
|
1177
1204
|
org,
|
|
1178
1205
|
sessionConfig,
|
|
1179
|
-
selectedItem,
|
|
1180
1206
|
onApplied,
|
|
1181
1207
|
onImplementPlan,
|
|
1182
1208
|
onOpenPlan,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ExecutionArtifactKind,
|
|
8
8
|
ExecutionPhase,
|
|
9
9
|
} from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
10
|
-
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "
|
|
10
|
+
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../../execution/artifact-document";
|
|
11
11
|
import { artifactKey, type SessionArtifactEntry } from "../useSessionArtifacts";
|
|
12
12
|
|
|
13
13
|
// ---------------------------------------------------------------------------
|