@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,23 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
-
import { create } from "@bufbuild/protobuf";
|
|
5
4
|
import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
6
5
|
import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
FileChangeCaptureLevel,
|
|
10
|
-
FileChangeType,
|
|
11
|
-
} from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
12
|
-
import { displayFileChangeSets, toDisplayFileChange } from "@stigmer/sdk";
|
|
6
|
+
import { deriveExecutionFileChanges } from "../execution/deriveExecutionFileChanges.js";
|
|
13
7
|
|
|
14
8
|
/** Return value of {@link useSessionFileChanges}. */
|
|
15
9
|
export interface UseSessionFileChangesReturn {
|
|
16
10
|
/**
|
|
17
11
|
* One {@link FileChange} per file touched in the session — the *net*
|
|
18
|
-
* change for that path (see
|
|
19
|
-
* file-list (modified, then
|
|
20
|
-
* within each group).
|
|
12
|
+
* change for that path (see {@link deriveExecutionFileChanges} for the
|
|
13
|
+
* net-diff semantics) — ordered for a file-list (modified, then
|
|
14
|
+
* created/renamed, then deleted; alphabetical within each group).
|
|
21
15
|
*/
|
|
22
16
|
readonly fileChanges: readonly FileChange[];
|
|
23
17
|
/** `true` when at least one file was changed across all executions. */
|
|
@@ -34,39 +28,15 @@ export interface UseSessionFileChangesReturn {
|
|
|
34
28
|
* file changes in the transcript (stamped edit rows + the per-turn decision
|
|
35
29
|
* bar) and does not consume this hook.
|
|
36
30
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* (legacy) execution has no ledger, so it falls back to the tool-call-coupled
|
|
43
|
-
* `ToolCall.file_changes` (#186; removed in a later slice with that field). The
|
|
44
|
-
* two sources are mutually exclusive per execution, so there is no double count.
|
|
45
|
-
*
|
|
46
|
-
* **Traversal.** The ledger is execution-scoped and already includes sub-agent
|
|
47
|
-
* captures (DD-19), so the primary path is one pass per execution. The legacy
|
|
48
|
-
* fallback walks the same surfaces the server-side approval recompute and
|
|
49
|
-
* `MessageThread` walk: `status.messages[].toolCalls` **and**
|
|
50
|
-
* `status.subAgentExecutions[].messages[].toolCalls`. Executions are visited in
|
|
51
|
-
* chronological order, so each path's change list is chronological.
|
|
52
|
-
*
|
|
53
|
-
* **Net-diff (not latest-wins).** `useSessionWriteBacks`/`useSessionArtifacts`
|
|
54
|
-
* dedup by "latest wins" because each entry is a *snapshot* (a PR; a file's
|
|
55
|
-
* final bytes). A {@link FileChange} is a *delta* — an agent often rewrites the
|
|
56
|
-
* same file several times in a turn, and showing only the last edit's diff
|
|
57
|
-
* would misrepresent what changed. So changes to the same path are reduced to a
|
|
58
|
-
* single net change: `before` from the first change, `after` from the last.
|
|
59
|
-
* Because a WHOLE_FILE `after` is a complete file snapshot, `first.before →
|
|
60
|
-
* last.after` is exactly the net change. A group with one change (the common
|
|
61
|
-
* case) is passed through untouched; multi-edit groups synthesize a net
|
|
62
|
-
* {@link FileChange} so every consumer speaks one proto type (DD-007).
|
|
63
|
-
*
|
|
64
|
-
* Counts and unified diffs for whole-file captures stay derivable by the
|
|
65
|
-
* presentation layer (the runner emits 0/"" sentinels), matching the contract
|
|
66
|
-
* the SDK `tool-view` established.
|
|
31
|
+
* A thin memoizing wrapper over {@link deriveExecutionFileChanges} — the
|
|
32
|
+
* shared execution-domain core that also powers the workflow panel's Changes
|
|
33
|
+
* facet (`useWorkflowExecutionFileChanges`). The source (ledger-first via
|
|
34
|
+
* `displayFileChangeSets`), the net-diff collapse, and the file-list ordering
|
|
35
|
+
* are all documented on the core.
|
|
67
36
|
*
|
|
68
37
|
* @param executions - All executions for a session, in chronological order.
|
|
69
|
-
* Pass both completed and active-stream executions.
|
|
38
|
+
* Pass both completed and active-stream executions. Ordering matters: the
|
|
39
|
+
* net collapse anchors on each path's first and last change.
|
|
70
40
|
*
|
|
71
41
|
* @example
|
|
72
42
|
* ```tsx
|
|
@@ -86,32 +56,7 @@ export function useSessionFileChanges(
|
|
|
86
56
|
executions: readonly AgentExecution[],
|
|
87
57
|
): UseSessionFileChangesReturn {
|
|
88
58
|
return useMemo(() => {
|
|
89
|
-
|
|
90
|
-
const groups = new Map<string, FileChange[]>();
|
|
91
|
-
// Preserve first-seen path order as a stable tiebreaker before sorting.
|
|
92
|
-
const collect = (change: FileChange) => {
|
|
93
|
-
const key = change.path || change.absolutePath;
|
|
94
|
-
if (!key) return;
|
|
95
|
-
const list = groups.get(key);
|
|
96
|
-
if (list) list.push(change);
|
|
97
|
-
else groups.set(key, [change]);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
for (const execution of executions) {
|
|
101
|
-
// The file-review ledger is the single source under apply-then-review: the
|
|
102
|
-
// display seam reads the live projection or folds the durable ledger for a
|
|
103
|
-
// terminal execution, and the execution-scoped ledger already covers
|
|
104
|
-
// sub-agent captures (DD-19), so one pass suffices. Each CapturedFileChange
|
|
105
|
-
// is projected onto the display FileChange the net-collapse + renderer speak.
|
|
106
|
-
const capturedChanges = displayFileChangeSets(execution.status).flatMap(
|
|
107
|
-
(set) => set.changes,
|
|
108
|
-
);
|
|
109
|
-
for (const captured of capturedChanges) collect(toDisplayFileChange(captured));
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
const fileChanges = Array.from(groups.values(), netChange);
|
|
113
|
-
fileChanges.sort(fileChangeComparator);
|
|
114
|
-
|
|
59
|
+
const fileChanges = deriveExecutionFileChanges(executions);
|
|
115
60
|
return {
|
|
116
61
|
fileChanges,
|
|
117
62
|
hasFileChanges: fileChanges.length > 0,
|
|
@@ -119,89 +64,3 @@ export function useSessionFileChanges(
|
|
|
119
64
|
};
|
|
120
65
|
}, [executions]);
|
|
121
66
|
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Reduces a path's chronological change list to a single net change.
|
|
125
|
-
* A one-change group is returned as-is (the common path, no allocation);
|
|
126
|
-
* multi-edit groups synthesize a net {@link FileChange}.
|
|
127
|
-
*/
|
|
128
|
-
function netChange(changes: FileChange[]): FileChange {
|
|
129
|
-
if (changes.length === 1) return changes[0];
|
|
130
|
-
|
|
131
|
-
const first = changes[0];
|
|
132
|
-
const last = changes[changes.length - 1];
|
|
133
|
-
const changeType = netChangeType(first, last);
|
|
134
|
-
|
|
135
|
-
// Whole-file only when both chosen sides come from whole-file captures;
|
|
136
|
-
// otherwise fall back to the last change's hunk diff. A path edited by a
|
|
137
|
-
// single harness won't mix levels — this just stays honest if it ever does.
|
|
138
|
-
const wholeFile =
|
|
139
|
-
first.captureLevel === FileChangeCaptureLevel.WHOLE_FILE &&
|
|
140
|
-
last.captureLevel === FileChangeCaptureLevel.WHOLE_FILE;
|
|
141
|
-
|
|
142
|
-
if (wholeFile) {
|
|
143
|
-
return create(FileChangeSchema, {
|
|
144
|
-
path: last.path,
|
|
145
|
-
absolutePath: last.absolutePath,
|
|
146
|
-
changeType,
|
|
147
|
-
captureLevel: FileChangeCaptureLevel.WHOLE_FILE,
|
|
148
|
-
before: first.before,
|
|
149
|
-
after: last.after,
|
|
150
|
-
renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return create(FileChangeSchema, {
|
|
155
|
-
path: last.path,
|
|
156
|
-
absolutePath: last.absolutePath,
|
|
157
|
-
changeType,
|
|
158
|
-
captureLevel: FileChangeCaptureLevel.HUNK_ONLY,
|
|
159
|
-
unifiedDiff: last.unifiedDiff,
|
|
160
|
-
linesAdded: last.linesAdded,
|
|
161
|
-
linesRemoved: last.linesRemoved,
|
|
162
|
-
renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Reconciles the net `change_type` of a path from its first and last change.
|
|
168
|
-
*
|
|
169
|
-
* Intent: the badge should describe the file's journey across the *whole*
|
|
170
|
-
* session, anchored on its two endpoints, in this precedence:
|
|
171
|
-
*
|
|
172
|
-
* 1. Ends deleted (`last` is DELETE) → DELETE. The file is gone, regardless of
|
|
173
|
-
* how it got there — this includes create-then-delete, which we deliberately
|
|
174
|
-
* surface as DELETE rather than hiding the path. (`before` then comes from
|
|
175
|
-
* the first change, which for a created-then-deleted file is empty, so the
|
|
176
|
-
* diff reads as the removal of whatever briefly existed.)
|
|
177
|
-
* 2. Started created (`first` is CREATE) and still exists → CREATE. A file born
|
|
178
|
-
* this session and later modified is, on net, a new file.
|
|
179
|
-
* 3. Started renamed (`first` is RENAME) and still exists → RENAME, carrying the
|
|
180
|
-
* original `rename_from` so the move is preserved across later edits.
|
|
181
|
-
* 4. Otherwise → MODIFY (the common multi-edit case).
|
|
182
|
-
*/
|
|
183
|
-
function netChangeType(first: FileChange, last: FileChange): FileChangeType {
|
|
184
|
-
if (last.changeType === FileChangeType.DELETE) return FileChangeType.DELETE;
|
|
185
|
-
if (first.changeType === FileChangeType.CREATE) return FileChangeType.CREATE;
|
|
186
|
-
if (first.changeType === FileChangeType.RENAME) return FileChangeType.RENAME;
|
|
187
|
-
return FileChangeType.MODIFY;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Most-actionable first (modified), then additions (create/rename), then
|
|
191
|
-
// deletions — mirroring GitHub's file-list convention — alphabetical within
|
|
192
|
-
// each group so the list is stable and scannable.
|
|
193
|
-
const CHANGE_TYPE_ORDER: Readonly<Record<FileChangeType, number>> = {
|
|
194
|
-
[FileChangeType.MODIFY]: 0,
|
|
195
|
-
[FileChangeType.CREATE]: 1,
|
|
196
|
-
[FileChangeType.RENAME]: 1,
|
|
197
|
-
[FileChangeType.DELETE]: 2,
|
|
198
|
-
[FileChangeType.UNSPECIFIED]: 3,
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
function fileChangeComparator(a: FileChange, b: FileChange): number {
|
|
202
|
-
const order =
|
|
203
|
-
(CHANGE_TYPE_ORDER[a.changeType] ?? 3) -
|
|
204
|
-
(CHANGE_TYPE_ORDER[b.changeType] ?? 3);
|
|
205
|
-
if (order !== 0) return order;
|
|
206
|
-
return a.path.localeCompare(b.path, undefined, { sensitivity: "base" });
|
|
207
|
-
}
|
|
@@ -4,14 +4,13 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
4
4
|
import type { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
5
5
|
import type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
|
|
6
6
|
import { isTerminalPhase } from "../execution/execution-phases.js";
|
|
7
|
-
import type { SelectedThreadItem } from "../internal/store/selection-store.js";
|
|
8
7
|
import {
|
|
9
8
|
useWorkspaceEditorsStoreRef,
|
|
10
9
|
type OpenFileOptions,
|
|
11
10
|
type WorkspaceEditorsStore,
|
|
12
11
|
} from "../internal/store/index.js";
|
|
13
12
|
import { PLAN_DOCUMENT_ENTRY_ID, PLAN_DOCUMENT_PATH } from "./plan-document.js";
|
|
14
|
-
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "
|
|
13
|
+
import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../execution/artifact-document.js";
|
|
15
14
|
import { artifactKey } from "./useSessionArtifacts.js";
|
|
16
15
|
|
|
17
16
|
/** Options for {@link useSessionPanel}. */
|
|
@@ -53,8 +52,8 @@ export interface UseSessionPanelOptions {
|
|
|
53
52
|
* to `"files"` (the Explorer), which suits the session viewer. The launcher
|
|
54
53
|
* passes `"configure"`: pre-session there is no workspace, so the Config
|
|
55
54
|
* facet — carrying the run defaults (harness/model) — is the useful landing
|
|
56
|
-
* view. Auto-switches (Changes
|
|
57
|
-
*
|
|
55
|
+
* view. Auto-switches (Changes) and explicit rail picks still take over
|
|
56
|
+
* from here exactly as before.
|
|
58
57
|
*
|
|
59
58
|
* @default "files"
|
|
60
59
|
*/
|
|
@@ -73,8 +72,8 @@ export interface UseSessionPanelOptions {
|
|
|
73
72
|
*
|
|
74
73
|
* Owns the {@link WorkspaceEditorsStore} (the open-editor group) and the view
|
|
75
74
|
* FSM ported from the retired inspector tabs: explicit picks are sticky until
|
|
76
|
-
* a meaningful state change (
|
|
77
|
-
*
|
|
75
|
+
* a meaningful state change (the running⇄terminal transition) resets them
|
|
76
|
+
* back to the `defaultView`. Both are decoupled from any store
|
|
78
77
|
* subscription at the owner level: callbacks mutate imperatively so a file
|
|
79
78
|
* open/switch re-renders only the subscribing panel subtree, never the
|
|
80
79
|
* streaming conversation column (DD-009/DD-010, invariant 2).
|
|
@@ -86,7 +85,7 @@ export interface SessionPanelController {
|
|
|
86
85
|
readonly isOpen: boolean;
|
|
87
86
|
/** The active rail view id (`"files"`, `"search"`, or an injected facet). */
|
|
88
87
|
readonly view: string;
|
|
89
|
-
/** Expand the panel, restoring the previous view
|
|
88
|
+
/** Expand the panel, restoring the previous view. */
|
|
90
89
|
readonly openPanel: () => void;
|
|
91
90
|
/** Collapse the panel to the chip, preserving editors and view. */
|
|
92
91
|
readonly closePanel: () => void;
|
|
@@ -140,15 +139,6 @@ export interface SessionPanelController {
|
|
|
140
139
|
* no-op if the artifact is not open.
|
|
141
140
|
*/
|
|
142
141
|
readonly pinArtifact: (artifact: ExecutionArtifact) => void;
|
|
143
|
-
/**
|
|
144
|
-
* Report the current thread-item selection. Called from an effect inside the
|
|
145
|
-
* panel subtree (the level that subscribes to the selection store), keeping
|
|
146
|
-
* the owner subscription-free. While the panel is open, a new selection
|
|
147
|
-
* auto-switches to the Inspect view (unless the user picked one explicitly);
|
|
148
|
-
* a collapsed panel deliberately ignores selections — Inspect has no
|
|
149
|
-
* auto-open (it must never pull the user out of the chat).
|
|
150
|
-
*/
|
|
151
|
-
readonly notifySelection: (item: SelectedThreadItem | null) => void;
|
|
152
142
|
}
|
|
153
143
|
|
|
154
144
|
/**
|
|
@@ -167,14 +157,6 @@ export function useSessionPanel({
|
|
|
167
157
|
// Sticky explicit pick (rail click) — auto-switching yields to it until a
|
|
168
158
|
// meaningful state change resets it. Same semantics as the retired tab FSM.
|
|
169
159
|
const userPickedViewRef = useRef(false);
|
|
170
|
-
// Render-synced mirror so imperative callbacks read the current view without
|
|
171
|
-
// re-binding on every view change.
|
|
172
|
-
const viewRef = useRef(view);
|
|
173
|
-
viewRef.current = view;
|
|
174
|
-
// Last selection reported by the panel subtree; consulted by transitions that
|
|
175
|
-
// fire at the owner level (open, phase change) where selection state is
|
|
176
|
-
// deliberately not subscribed.
|
|
177
|
-
const selectionRef = useRef<SelectedThreadItem | null>(null);
|
|
178
160
|
|
|
179
161
|
// Running⇄terminal transition → reset the sticky pick and re-derive the view.
|
|
180
162
|
// Adjust-state-during-render (the established ResizableSplit pattern) so it
|
|
@@ -186,7 +168,7 @@ export function useSessionPanel({
|
|
|
186
168
|
setPrevPhase(phase);
|
|
187
169
|
if (wasTerminal !== isNowTerminal) {
|
|
188
170
|
userPickedViewRef.current = false;
|
|
189
|
-
setViewState(
|
|
171
|
+
setViewState(defaultView);
|
|
190
172
|
}
|
|
191
173
|
}
|
|
192
174
|
|
|
@@ -222,14 +204,7 @@ export function useSessionPanel({
|
|
|
222
204
|
}
|
|
223
205
|
}, [planKey, openPlanDocument]);
|
|
224
206
|
|
|
225
|
-
const openPanel = useCallback(() =>
|
|
226
|
-
setIsOpen(true);
|
|
227
|
-
// Re-derive the auto view on entry: a selection made while collapsed
|
|
228
|
-
// surfaces as Inspect now (the collapsed panel ignored it by design).
|
|
229
|
-
if (!userPickedViewRef.current && selectionRef.current) {
|
|
230
|
-
setViewState("inspect");
|
|
231
|
-
}
|
|
232
|
-
}, []);
|
|
207
|
+
const openPanel = useCallback(() => setIsOpen(true), []);
|
|
233
208
|
|
|
234
209
|
const closePanel = useCallback(() => setIsOpen(false), []);
|
|
235
210
|
|
|
@@ -276,22 +251,6 @@ export function useSessionPanel({
|
|
|
276
251
|
[editorsStore],
|
|
277
252
|
);
|
|
278
253
|
|
|
279
|
-
const notifySelection = useCallback(
|
|
280
|
-
(item: SelectedThreadItem | null) => {
|
|
281
|
-
if (item === selectionRef.current) return;
|
|
282
|
-
selectionRef.current = item;
|
|
283
|
-
if (item) {
|
|
284
|
-
if (isOpen && !userPickedViewRef.current) setViewState("inspect");
|
|
285
|
-
} else if (viewRef.current === "inspect") {
|
|
286
|
-
// Selection cleared: leave Inspect (its content is gone) and unstick,
|
|
287
|
-
// returning to the panel's home view.
|
|
288
|
-
userPickedViewRef.current = false;
|
|
289
|
-
setViewState(defaultView);
|
|
290
|
-
}
|
|
291
|
-
},
|
|
292
|
-
[isOpen, defaultView],
|
|
293
|
-
);
|
|
294
|
-
|
|
295
254
|
return useMemo(
|
|
296
255
|
() => ({
|
|
297
256
|
editorsStore,
|
|
@@ -307,7 +266,6 @@ export function useSessionPanel({
|
|
|
307
266
|
openPlanDocument,
|
|
308
267
|
openArtifact,
|
|
309
268
|
pinArtifact,
|
|
310
|
-
notifySelection,
|
|
311
269
|
}),
|
|
312
270
|
[
|
|
313
271
|
editorsStore,
|
|
@@ -323,7 +281,6 @@ export function useSessionPanel({
|
|
|
323
281
|
openPlanDocument,
|
|
324
282
|
openArtifact,
|
|
325
283
|
pinArtifact,
|
|
326
|
-
notifySelection,
|
|
327
284
|
],
|
|
328
285
|
);
|
|
329
286
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
5
5
|
import type { SurfaceRailView } from "../workspace/WorkspaceSurface.js";
|
|
6
|
-
import type { SelectedThreadItem } from "../internal/store/selection-store.js";
|
|
7
6
|
import type { ApplyResourceResult } from "../library/useApplyResource.js";
|
|
8
7
|
import { useSessionWriteBacks } from "./useSessionWriteBacks.js";
|
|
9
8
|
import {
|
|
@@ -14,7 +13,6 @@ import { SetupTab, type SetupTabProps } from "./facets/SetupTab.js";
|
|
|
14
13
|
import { ChangesTab } from "./facets/ChangesTab.js";
|
|
15
14
|
import { ArtifactsTab } from "./facets/ArtifactsTab.js";
|
|
16
15
|
import { UsageTab } from "./facets/UsageTab.js";
|
|
17
|
-
import { InspectTab } from "./facets/InspectTab.js";
|
|
18
16
|
|
|
19
17
|
/** Options for {@link useSessionRailViews}. */
|
|
20
18
|
export interface UseSessionRailViewsOptions {
|
|
@@ -24,8 +22,6 @@ export interface UseSessionRailViewsOptions {
|
|
|
24
22
|
readonly org: string;
|
|
25
23
|
/** Session configuration for the Config facet. */
|
|
26
24
|
readonly sessionConfig: SetupTabProps | undefined;
|
|
27
|
-
/** Currently selected thread item — surfaces the Inspect facet. */
|
|
28
|
-
readonly selectedItem: SelectedThreadItem | null;
|
|
29
25
|
/** Called after a resource is applied from the Artifacts facet. */
|
|
30
26
|
readonly onApplied?: (result: ApplyResourceResult) => void;
|
|
31
27
|
/** Implement a plan — the Artifacts facet's preview action for `plan.md`. */
|
|
@@ -72,20 +68,19 @@ export interface UseSessionRailViewsOptions {
|
|
|
72
68
|
}
|
|
73
69
|
|
|
74
70
|
/**
|
|
75
|
-
* Composes the session facets (Config / Changes / Artifacts / Usage
|
|
71
|
+
* Composes the session facets (Config / Changes / Artifacts / Usage)
|
|
76
72
|
* as {@link SurfaceRailView}s for the workspace surface's activity rail.
|
|
77
73
|
*
|
|
78
74
|
* This is the session-domain half of the unified panel: the surface stays a
|
|
79
75
|
* domain-pure workspace organism and these views are injected into its rail
|
|
80
76
|
* (DD-004 composition). Contextual visibility mirrors the retired inspector's
|
|
81
77
|
* tab rules — Changes/Artifacts surface only when data exists (with count
|
|
82
|
-
* badges)
|
|
78
|
+
* badges).
|
|
83
79
|
*/
|
|
84
80
|
export function useSessionRailViews({
|
|
85
81
|
allExecutions,
|
|
86
82
|
org,
|
|
87
83
|
sessionConfig,
|
|
88
|
-
selectedItem,
|
|
89
84
|
onApplied,
|
|
90
85
|
onImplementPlan,
|
|
91
86
|
onOpenPlan,
|
|
@@ -158,15 +153,6 @@ export function useSessionRailViews({
|
|
|
158
153
|
});
|
|
159
154
|
}
|
|
160
155
|
|
|
161
|
-
if (selectedItem) {
|
|
162
|
-
views.push({
|
|
163
|
-
id: "inspect",
|
|
164
|
-
label: "Inspect",
|
|
165
|
-
icon: <InspectIcon />,
|
|
166
|
-
content: <InspectTab selectedItem={selectedItem} />,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
|
|
170
156
|
return views;
|
|
171
157
|
}, [
|
|
172
158
|
sessionConfig,
|
|
@@ -184,7 +170,6 @@ export function useSessionRailViews({
|
|
|
184
170
|
onOpenPlan,
|
|
185
171
|
onOpenArtifact,
|
|
186
172
|
onActivateArtifact,
|
|
187
|
-
selectedItem,
|
|
188
173
|
]);
|
|
189
174
|
}
|
|
190
175
|
|
|
@@ -236,13 +221,3 @@ function UsageIcon() {
|
|
|
236
221
|
</svg>
|
|
237
222
|
);
|
|
238
223
|
}
|
|
239
|
-
|
|
240
|
-
/** Crosshair glyph — inspecting a selected thread item. */
|
|
241
|
-
function InspectIcon() {
|
|
242
|
-
return (
|
|
243
|
-
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
|
|
244
|
-
<circle cx="12" cy="12" r="7" />
|
|
245
|
-
<path d="M12 2v4M12 18v4M2 12h4M18 12h4" />
|
|
246
|
-
</svg>
|
|
247
|
-
);
|
|
248
|
-
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useRef, useState } from "react";
|
|
4
|
+
import type { ChannelApp } from "@stigmer/protos/ai/stigmer/agentic/channelapp/v1/api_pb";
|
|
5
|
+
import { ChannelAppListPanel } from "../channel-app/ChannelAppListPanel.js";
|
|
6
|
+
import {
|
|
7
|
+
CreateChannelAppForm,
|
|
8
|
+
type ChannelAppCreateHandoff,
|
|
9
|
+
} from "../channel-app/CreateChannelAppForm.js";
|
|
10
|
+
import { ChannelAppDetailPanel } from "../channel-app/ChannelAppDetailPanel.js";
|
|
11
|
+
import { useDeploymentMode } from "../deployment-mode.js";
|
|
12
|
+
import { CloudFeatureNotice } from "../internal/CloudFeatureNotice.js";
|
|
13
|
+
import { useActiveOrgSlug } from "../organization/OrgProvider.js";
|
|
14
|
+
|
|
15
|
+
type FlowState =
|
|
16
|
+
| { phase: "idle" }
|
|
17
|
+
| { phase: "creating" }
|
|
18
|
+
| {
|
|
19
|
+
phase: "editing";
|
|
20
|
+
channelApp: ChannelApp;
|
|
21
|
+
/**
|
|
22
|
+
* Once-visible create-flow values (the WhatsApp verify token),
|
|
23
|
+
* held in memory only for the detail panel's phase-two setup.
|
|
24
|
+
* Absent when editing reopens from the list later.
|
|
25
|
+
*/
|
|
26
|
+
createHandoff?: ChannelAppCreateHandoff;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Settings section for the organization's channel apps — customer-owned
|
|
31
|
+
* provider apps (Slack apps, Meta WhatsApp apps) that agent channels
|
|
32
|
+
* install through. For Slack that replaces the shared Stigmer app (bring
|
|
33
|
+
* your own app: your bot name and icon, and one agent per app per
|
|
34
|
+
* workspace, so multiple agents can serve one workspace); for WhatsApp a
|
|
35
|
+
* channel app is the only way — there is no platform Meta app (DD-WA-2).
|
|
36
|
+
*
|
|
37
|
+
* After registering an app here, the connect dialog on any agent's
|
|
38
|
+
* Channels tab offers it as the serving app.
|
|
39
|
+
*/
|
|
40
|
+
export function ChannelAppsSection() {
|
|
41
|
+
const org = useActiveOrgSlug();
|
|
42
|
+
// Channel installs (the consumer of these credentials) are cloud-only;
|
|
43
|
+
// gate the whole section the way the Channels tab gates connects.
|
|
44
|
+
const installsAvailable = useDeploymentMode() === "cloud";
|
|
45
|
+
|
|
46
|
+
const [flow, setFlow] = useState<FlowState>({ phase: "idle" });
|
|
47
|
+
const listRefetchRef = useRef<(() => void) | null>(null);
|
|
48
|
+
|
|
49
|
+
const handleRefetchRef = useCallback((refetch: () => void) => {
|
|
50
|
+
listRefetchRef.current = refetch;
|
|
51
|
+
}, []);
|
|
52
|
+
|
|
53
|
+
const handleCreated = useCallback(
|
|
54
|
+
(app: ChannelApp, createHandoff: ChannelAppCreateHandoff) => {
|
|
55
|
+
listRefetchRef.current?.();
|
|
56
|
+
// Creation lands on the detail panel deliberately: phase two of the
|
|
57
|
+
// setup (the events webhook URL — plus, for WhatsApp, the verify
|
|
58
|
+
// token carried in the handoff) only exists now.
|
|
59
|
+
setFlow({ phase: "editing", channelApp: app, createHandoff });
|
|
60
|
+
},
|
|
61
|
+
[],
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
const handleUpdated = useCallback(() => {
|
|
65
|
+
listRefetchRef.current?.();
|
|
66
|
+
setFlow({ phase: "idle" });
|
|
67
|
+
}, []);
|
|
68
|
+
|
|
69
|
+
const handleDeleted = useCallback(() => {
|
|
70
|
+
listRefetchRef.current?.();
|
|
71
|
+
setFlow({ phase: "idle" });
|
|
72
|
+
}, []);
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<section aria-labelledby="channel-apps-heading">
|
|
76
|
+
<div className="mb-3 flex items-center justify-between">
|
|
77
|
+
<h2
|
|
78
|
+
id="channel-apps-heading"
|
|
79
|
+
className="text-foreground text-sm font-semibold"
|
|
80
|
+
>
|
|
81
|
+
Channel Apps
|
|
82
|
+
</h2>
|
|
83
|
+
|
|
84
|
+
{installsAvailable && org && flow.phase === "idle" && (
|
|
85
|
+
<button
|
|
86
|
+
type="button"
|
|
87
|
+
onClick={() => setFlow({ phase: "creating" })}
|
|
88
|
+
className="text-primary hover:text-foreground text-xs font-medium transition-colors"
|
|
89
|
+
>
|
|
90
|
+
+ New channel app
|
|
91
|
+
</button>
|
|
92
|
+
)}
|
|
93
|
+
</div>
|
|
94
|
+
<p className="text-muted-foreground mb-4 text-xs">
|
|
95
|
+
Your own provider apps for serving agent channels. A Slack app
|
|
96
|
+
gives the bot your name and icon, and lets multiple agents serve
|
|
97
|
+
the same workspace — one per app. A Meta app is how WhatsApp
|
|
98
|
+
channels connect — every WhatsApp channel installs through one.
|
|
99
|
+
</p>
|
|
100
|
+
|
|
101
|
+
{!installsAvailable ? (
|
|
102
|
+
<CloudFeatureNotice>
|
|
103
|
+
Channel apps are not available in local mode. Channel installs
|
|
104
|
+
require Stigmer Cloud.
|
|
105
|
+
</CloudFeatureNotice>
|
|
106
|
+
) : flow.phase === "creating" ? (
|
|
107
|
+
<div className="border-border bg-card rounded-lg border p-4">
|
|
108
|
+
<CreateChannelAppForm
|
|
109
|
+
org={org}
|
|
110
|
+
onCreated={handleCreated}
|
|
111
|
+
onCancel={() => setFlow({ phase: "idle" })}
|
|
112
|
+
/>
|
|
113
|
+
</div>
|
|
114
|
+
) : flow.phase === "editing" ? (
|
|
115
|
+
<div className="border-border bg-card rounded-lg border p-4">
|
|
116
|
+
<ChannelAppDetailPanel
|
|
117
|
+
channelApp={flow.channelApp}
|
|
118
|
+
createHandoff={flow.createHandoff}
|
|
119
|
+
onUpdated={handleUpdated}
|
|
120
|
+
onDeleted={handleDeleted}
|
|
121
|
+
onBack={() => setFlow({ phase: "idle" })}
|
|
122
|
+
/>
|
|
123
|
+
</div>
|
|
124
|
+
) : (
|
|
125
|
+
<ChannelAppListPanel
|
|
126
|
+
org={org}
|
|
127
|
+
onEdit={(app) => setFlow({ phase: "editing", channelApp: app })}
|
|
128
|
+
onRefetchRef={handleRefetchRef}
|
|
129
|
+
/>
|
|
130
|
+
)}
|
|
131
|
+
</section>
|
|
132
|
+
);
|
|
133
|
+
}
|
package/src/settings/index.ts
CHANGED
|
@@ -12,4 +12,5 @@ export { IdentityProvidersSection } from "./IdentityProvidersSection.js";
|
|
|
12
12
|
export type { IdentityProvidersSectionProps } from "./IdentityProvidersSection.js";
|
|
13
13
|
export { PlatformClientsSection } from "./PlatformClientsSection.js";
|
|
14
14
|
export { OAuthAppsSection } from "./OAuthAppsSection.js";
|
|
15
|
+
export { ChannelAppsSection } from "./ChannelAppsSection.js";
|
|
15
16
|
export { UsageSection } from "./UsageSection.js";
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
CreditCard,
|
|
8
8
|
KeyRound,
|
|
9
9
|
Link,
|
|
10
|
+
MessageSquare,
|
|
10
11
|
Plug,
|
|
11
12
|
ShieldCheck,
|
|
12
13
|
Users,
|
|
@@ -65,6 +66,11 @@ export const SETTINGS_NAV_GROUPS: readonly SettingsNavGroup[] = [
|
|
|
65
66
|
},
|
|
66
67
|
{ href: "/settings/environments", label: "Environments", icon: Box },
|
|
67
68
|
{ href: "/settings/oauth-apps", label: "OAuth Apps", icon: AppWindow },
|
|
69
|
+
{
|
|
70
|
+
href: "/settings/channel-apps",
|
|
71
|
+
label: "Channel Apps",
|
|
72
|
+
icon: MessageSquare,
|
|
73
|
+
},
|
|
68
74
|
],
|
|
69
75
|
},
|
|
70
76
|
{
|