@stigmer/react 3.1.16 → 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/README.md +16 -1
- 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/provider.d.ts +32 -0
- package/provider.d.ts.map +1 -1
- package/provider.js +25 -1
- package/provider.js.map +1 -1
- 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/__tests__/provider-container.layout.test.tsx +165 -0
- package/src/__tests__/provider-theme-scope.test.tsx +31 -0
- 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/provider.tsx +42 -0
- 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/styles.css +14 -0
- package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
- package/src/workflow/WorkflowApprovalList.tsx +158 -0
- package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
- package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
- package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
- package/src/workflow/WorkflowFileReviewList.tsx +1 -1
- package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
- package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
- package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
- package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
- package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
- package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
- package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
- package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
- package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
- package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
- package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
- package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
- package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
- package/src/workflow/__tests__/execution-graph.test.ts +8 -0
- package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
- package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
- package/src/workflow/__tests__/task-approval.test.ts +149 -0
- package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
- package/src/workflow/__tests__/task-presentation.test.ts +479 -0
- package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
- package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
- package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
- package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
- package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
- package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
- package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
- package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
- package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
- package/src/workflow/diagnosis-document.ts +31 -0
- package/src/workflow/execution/index.ts +0 -15
- package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
- package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
- package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
- package/src/workflow/format-utils.ts +2 -3
- package/src/workflow/index.ts +106 -62
- package/src/workflow/inspector/index.ts +0 -4
- package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
- package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
- package/src/workflow/task-detail/index.ts +11 -0
- package/src/workflow/task-detail/task-approval.ts +158 -0
- package/src/workflow/task-detail/task-detail-io.ts +65 -0
- package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
- package/src/workflow/thread/project-thread-items.ts +235 -0
- package/src/workflow/thread/task-presentation.ts +427 -0
- package/src/workflow/thread/thread-presentation.ts +59 -0
- package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
- package/src/workflow/useApprovalBoundary.ts +72 -0
- package/src/workflow/useFollowExecution.ts +0 -26
- package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
- package/src/workflow/useWorkflowExecutionActions.ts +3 -2
- package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
- package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
- package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
- package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
- package/src/workspace/FileViewer.tsx +3 -3
- package/src/workspace/PanelChip.tsx +103 -0
- package/src/workspace/WorkspaceSurface.tsx +50 -6
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
- package/src/workspace/index.ts +3 -0
- package/styles.css +1 -1
- package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
- package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
- package/workflow/WorkflowAgentExecutionDocument.js +87 -0
- package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
- package/workflow/WorkflowApprovalList.d.ts +62 -0
- package/workflow/WorkflowApprovalList.d.ts.map +1 -0
- package/workflow/WorkflowApprovalList.js +52 -0
- package/workflow/WorkflowApprovalList.js.map +1 -0
- package/workflow/WorkflowArtifactDocument.d.ts +29 -0
- package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
- package/workflow/WorkflowArtifactDocument.js +89 -0
- package/workflow/WorkflowArtifactDocument.js.map +1 -0
- package/workflow/WorkflowExecutionGraph.d.ts +15 -13
- package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/WorkflowExecutionGraph.js +18 -53
- package/workflow/WorkflowExecutionGraph.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts +8 -5
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +329 -54
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowFileReviewList.d.ts +1 -1
- package/workflow/WorkflowFileReviewList.js +1 -1
- package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
- package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalCard.js +5 -4
- package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
- package/workflow/WorkflowTaskApprovalSummary.js +5 -5
- package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
- package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowArtifactItems.js +38 -0
- package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
- package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
- package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowUsageItems.js +50 -0
- package/workflow/deriveWorkflowUsageItems.js.map +1 -0
- package/workflow/diagnosis-document.d.ts +17 -0
- package/workflow/diagnosis-document.d.ts.map +1 -0
- package/workflow/diagnosis-document.js +29 -0
- package/workflow/diagnosis-document.js.map +1 -0
- package/workflow/execution/index.d.ts +0 -2
- package/workflow/execution/index.d.ts.map +1 -1
- package/workflow/execution/index.js +0 -2
- package/workflow/execution/index.js.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
- package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowArtifactsTab.js +34 -0
- package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
- package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
- package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowChangesTab.js +50 -0
- package/workflow/facets/WorkflowChangesTab.js.map +1 -0
- package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
- package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowUsageTab.js +87 -0
- package/workflow/facets/WorkflowUsageTab.js.map +1 -0
- package/workflow/format-utils.d.ts +2 -3
- package/workflow/format-utils.d.ts.map +1 -1
- package/workflow/format-utils.js +2 -3
- package/workflow/format-utils.js.map +1 -1
- package/workflow/index.d.ts +21 -10
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +29 -14
- package/workflow/index.js.map +1 -1
- package/workflow/inspector/index.d.ts +0 -2
- package/workflow/inspector/index.d.ts.map +1 -1
- package/workflow/inspector/index.js +0 -2
- package/workflow/inspector/index.js.map +1 -1
- package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceList.js +11 -3
- package/workflow/instance/WorkflowInstanceList.js.map +1 -1
- package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
- package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
- package/workflow/task-detail/index.d.ts +4 -0
- package/workflow/task-detail/index.d.ts.map +1 -0
- package/workflow/task-detail/index.js +4 -0
- package/workflow/task-detail/index.js.map +1 -0
- package/workflow/task-detail/task-approval.d.ts +89 -0
- package/workflow/task-detail/task-approval.d.ts.map +1 -0
- package/workflow/task-detail/task-approval.js +84 -0
- package/workflow/task-detail/task-approval.js.map +1 -0
- package/workflow/task-detail/task-detail-io.d.ts +39 -0
- package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
- package/workflow/task-detail/task-detail-io.js +42 -0
- package/workflow/task-detail/task-detail-io.js.map +1 -0
- package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
- package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
- package/workflow/thread/WorkflowTaskThread.js +318 -0
- package/workflow/thread/WorkflowTaskThread.js.map +1 -0
- package/workflow/thread/project-thread-items.d.ts +108 -0
- package/workflow/thread/project-thread-items.d.ts.map +1 -0
- package/workflow/thread/project-thread-items.js +126 -0
- package/workflow/thread/project-thread-items.js.map +1 -0
- package/workflow/thread/task-presentation.d.ts +73 -0
- package/workflow/thread/task-presentation.d.ts.map +1 -0
- package/workflow/thread/task-presentation.js +331 -0
- package/workflow/thread/task-presentation.js.map +1 -0
- package/workflow/thread/thread-presentation.d.ts +28 -0
- package/workflow/thread/thread-presentation.d.ts.map +1 -0
- package/workflow/thread/thread-presentation.js +28 -0
- package/workflow/thread/thread-presentation.js.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.js +22 -0
- package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
- package/workflow/useApprovalBoundary.d.ts +38 -0
- package/workflow/useApprovalBoundary.d.ts.map +1 -0
- package/workflow/useApprovalBoundary.js +55 -0
- package/workflow/useApprovalBoundary.js.map +1 -0
- package/workflow/useFollowExecution.d.ts +0 -20
- package/workflow/useFollowExecution.d.ts.map +1 -1
- package/workflow/useFollowExecution.js +0 -17
- package/workflow/useFollowExecution.js.map +1 -1
- package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
- package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
- package/workflow/useWorkflowArtifactDownload.js +45 -0
- package/workflow/useWorkflowArtifactDownload.js.map +1 -0
- package/workflow/useWorkflowExecutionActions.d.ts +3 -2
- package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionActions.js.map +1 -1
- package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
- package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionFileChanges.js +244 -0
- package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
- package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
- package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionGraph.js +2 -25
- package/workflow/useWorkflowExecutionGraph.js.map +1 -1
- package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
- package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionPanel.js +103 -0
- package/workflow/useWorkflowExecutionPanel.js.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.js +81 -0
- package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
- package/workspace/FileViewer.d.ts +1 -1
- package/workspace/FileViewer.js +3 -3
- package/workspace/FileViewer.js.map +1 -1
- package/workspace/PanelChip.d.ts +27 -0
- package/workspace/PanelChip.d.ts.map +1 -0
- package/workspace/PanelChip.js +42 -0
- package/workspace/PanelChip.js.map +1 -0
- package/workspace/WorkspaceSurface.d.ts +25 -1
- package/workspace/WorkspaceSurface.d.ts.map +1 -1
- package/workspace/WorkspaceSurface.js +21 -9
- package/workspace/WorkspaceSurface.js.map +1 -1
- package/workspace/index.d.ts +3 -1
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +1 -0
- package/workspace/index.js.map +1 -1
- package/execution/ThreadSelectionContext.d.ts +0 -17
- package/execution/ThreadSelectionContext.d.ts.map +0 -1
- package/execution/ThreadSelectionContext.js +0 -18
- package/execution/ThreadSelectionContext.js.map +0 -1
- package/execution/useThreadSelection.d.ts +0 -35
- package/execution/useThreadSelection.d.ts.map +0 -1
- package/execution/useThreadSelection.js +0 -65
- package/execution/useThreadSelection.js.map +0 -1
- package/internal/store/selection-store.d.ts +0 -53
- package/internal/store/selection-store.d.ts.map +0 -1
- package/internal/store/selection-store.js +0 -88
- package/internal/store/selection-store.js.map +0 -1
- package/session/artifact-document.d.ts.map +0 -1
- package/session/artifact-document.js +0 -22
- package/session/artifact-document.js.map +0 -1
- package/session/facets/InspectTab.d.ts +0 -13
- package/session/facets/InspectTab.d.ts.map +0 -1
- package/session/facets/InspectTab.js +0 -19
- package/session/facets/InspectTab.js.map +0 -1
- package/src/execution/ThreadSelectionContext.tsx +0 -20
- package/src/execution/useThreadSelection.ts +0 -95
- package/src/internal/store/__tests__/selection-store.test.ts +0 -115
- package/src/internal/store/selection-store.ts +0 -112
- package/src/session/artifact-document.ts +0 -23
- package/src/session/facets/InspectTab.tsx +0 -57
- package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
- package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
- package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
- package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
- package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
- package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
- package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
- package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
- package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
- package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
- package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
- package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
- package/src/workflow/execution/useWaterfallEntries.ts +0 -125
- package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
- package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
- package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
- package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
- package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
- package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
- package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
- package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
- package/src/workflow/execution-inspector/index.ts +0 -14
- package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
- package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
- package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
- package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
- package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
- package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
- package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
- package/src/workflow/waterfall/index.ts +0 -5
- package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
- package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
- package/workflow/WorkflowExecutionApprovalCard.js +0 -46
- package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
- package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
- package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
- package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.js +0 -31
- package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
- package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.js +0 -51
- package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
- package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimeline.js +0 -52
- package/workflow/WorkflowExecutionTimeline.js.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
- package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
- package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
- package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
- package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
- package/workflow/execution/derive-waterfall-entries.js +0 -268
- package/workflow/execution/derive-waterfall-entries.js.map +0 -1
- package/workflow/execution/useWaterfallEntries.d.ts +0 -25
- package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
- package/workflow/execution/useWaterfallEntries.js +0 -67
- package/workflow/execution/useWaterfallEntries.js.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
- package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.js +0 -36
- package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
- package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
- package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
- package/workflow/execution-inspector/ErrorTab.js +0 -29
- package/workflow/execution-inspector/ErrorTab.js.map +0 -1
- package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
- package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
- package/workflow/execution-inspector/EventLogTab.js +0 -47
- package/workflow/execution-inspector/EventLogTab.js.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
- package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.js +0 -145
- package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
- package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.js +0 -124
- package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
- package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
- package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
- package/workflow/execution-inspector/RetriesTab.js +0 -11
- package/workflow/execution-inspector/RetriesTab.js.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
- package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
- package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
- package/workflow/execution-inspector/SummaryTab.js +0 -10
- package/workflow/execution-inspector/SummaryTab.js.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
- package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.js +0 -366
- package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
- package/workflow/execution-inspector/index.d.ts +0 -4
- package/workflow/execution-inspector/index.d.ts.map +0 -1
- package/workflow/execution-inspector/index.js +0 -4
- package/workflow/execution-inspector/index.js.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
- package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
- package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
- package/workflow/waterfall/WaterfallBar.d.ts +0 -19
- package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallBar.js +0 -70
- package/workflow/waterfall/WaterfallBar.js.map +0 -1
- package/workflow/waterfall/WaterfallRow.d.ts +0 -18
- package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallRow.js +0 -45
- package/workflow/waterfall/WaterfallRow.js.map +0 -1
- package/workflow/waterfall/WaterfallScale.d.ts +0 -14
- package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallScale.js +0 -22
- package/workflow/waterfall/WaterfallScale.js.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
- package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.js +0 -60
- package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
- package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.js +0 -20
- package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
- package/workflow/waterfall/index.d.ts +0 -6
- package/workflow/waterfall/index.d.ts.map +0 -1
- package/workflow/waterfall/index.js +0 -6
- package/workflow/waterfall/index.js.map +0 -1
- /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Identity of agent-execution transcript tabs in the workspace surface's
|
|
2
|
+
// editor group. Domain: execution (the transcript renderer and the
|
|
3
|
+
// AgentExecution data model are execution-domain; the workflow panel is the
|
|
4
|
+
// first host, and a future session-side consumer — e.g. sub-agent expansion —
|
|
5
|
+
// would share this identity rather than minting a divergent one).
|
|
6
|
+
//
|
|
7
|
+
// Kept in its own module (not in a component file) so behavior-only
|
|
8
|
+
// consumers — the panel controller opens the tabs, the viewer routes them —
|
|
9
|
+
// depend on the identity without pulling the transcript renderer into their
|
|
10
|
+
// module graph (DD-003 headless-first). Mirrors artifact-document.ts and
|
|
11
|
+
// file-change-document.ts.
|
|
12
|
+
import { virtualEntryId } from "../internal/store/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* Virtual entry id of the agent-execution transcript document FAMILY. Like
|
|
15
|
+
* artifacts and file changes (and unlike the session's single plan tab),
|
|
16
|
+
* transcripts are many: every opened child AgentExecution shares this one
|
|
17
|
+
* entry id and is distinguished by its id-derived tab path, so
|
|
18
|
+
* `editorKey(AGENT_EXECUTION_DOCUMENT_ENTRY_ID, path)` yields one tab per
|
|
19
|
+
* child execution — the VS Code "each file is a tab" model. The
|
|
20
|
+
* NUL-namespaced virtual id can never alias a real workspace entry, and its
|
|
21
|
+
* distinct `"agentexec"` kind can never collide with the
|
|
22
|
+
* `"artifact"`/`"filechange"`/`"plan"` families.
|
|
23
|
+
*/
|
|
24
|
+
export const AGENT_EXECUTION_DOCUMENT_ENTRY_ID = virtualEntryId("agentexec");
|
|
25
|
+
/**
|
|
26
|
+
* The identity of a child AgentExecution's transcript tab within the family.
|
|
27
|
+
*
|
|
28
|
+
* The path deliberately CARRIES the child execution id (unlike artifact tabs,
|
|
29
|
+
* which need an owner-level record map to resolve content): a transcript
|
|
30
|
+
* needs only the id to fetch/stream itself, so the viewer parses it straight
|
|
31
|
+
* back out with {@link parseAgentExecutionTabPath} — no lookup map to keep in
|
|
32
|
+
* sync. The suffix is the AGENT_CALL task name because the editor tab's LABEL
|
|
33
|
+
* is the path's basename: the task name correlates the tab with the DAG node
|
|
34
|
+
* the user opened it from, and keeps two calls to the same agent distinct.
|
|
35
|
+
*/
|
|
36
|
+
export function agentExecutionTabPath(childExecutionId, taskName) {
|
|
37
|
+
return `${childExecutionId}/${taskName}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Recovers the child execution id from a transcript tab's path — the inverse
|
|
41
|
+
* of {@link agentExecutionTabPath}. Splits on the FIRST separator: execution
|
|
42
|
+
* ids never contain `/`, so a task name that does still round-trips.
|
|
43
|
+
*/
|
|
44
|
+
export function parseAgentExecutionTabPath(path) {
|
|
45
|
+
const separator = path.indexOf("/");
|
|
46
|
+
return separator === -1 ? path : path.slice(0, separator);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=agent-execution-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-execution-document.js","sourceRoot":"","sources":["../../src/execution/agent-execution-document.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,mEAAmE;AACnE,4EAA4E;AAC5E,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,2BAA2B;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,gBAAwB,EACxB,QAAgB;IAEhB,OAAO,GAAG,gBAAgB,IAAI,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Virtual entry id of the artifact document FAMILY. Unlike the plan (one tab
|
|
3
3
|
* per session), artifacts are many: every opened artifact shares this one
|
|
4
|
-
* entry id and is distinguished by its
|
|
4
|
+
* entry id and is distinguished by its identity-derived `path` (the session's
|
|
5
|
+
* `artifactKey`, the workflow's `Artifact` id), so
|
|
5
6
|
* `editorKey(ARTIFACT_DOCUMENT_ENTRY_ID, path)` yields one tab per artifact —
|
|
6
7
|
* the VS Code "each file is a tab" model. The NUL-namespaced virtual id can
|
|
7
8
|
* never alias a real workspace entry, and its distinct `"artifact"` kind can
|
|
8
9
|
* never collide with the plan tab's `"plan"` kind.
|
|
9
|
-
*
|
|
10
|
-
* @see artifactKey — the `path` component (an artifact's stable identity)
|
|
11
10
|
*/
|
|
12
11
|
export declare const ARTIFACT_DOCUMENT_ENTRY_ID: string;
|
|
13
12
|
//# sourceMappingURL=artifact-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-document.d.ts","sourceRoot":"","sources":["../../src/execution/artifact-document.ts"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,QAA6B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Identity of artifact document tabs in the workspace surface's editor group.
|
|
2
|
+
// Domain: execution (shared — both the session and workflow panels open
|
|
3
|
+
// artifact tabs, and a single identity source prevents the two viewers from
|
|
4
|
+
// minting divergent virtual ids for the same tab family).
|
|
5
|
+
//
|
|
6
|
+
// Kept in its own module (not in a component file) so behavior-only
|
|
7
|
+
// consumers — the session/workflow panel controllers open artifact tabs, the
|
|
8
|
+
// viewers route to them — depend on the identity without pulling a component
|
|
9
|
+
// (and its content renderer) into their module graph (DD-003 headless-first).
|
|
10
|
+
// Mirrors session/plan-document.ts.
|
|
11
|
+
import { virtualEntryId } from "../internal/store/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Virtual entry id of the artifact document FAMILY. Unlike the plan (one tab
|
|
14
|
+
* per session), artifacts are many: every opened artifact shares this one
|
|
15
|
+
* entry id and is distinguished by its identity-derived `path` (the session's
|
|
16
|
+
* `artifactKey`, the workflow's `Artifact` id), so
|
|
17
|
+
* `editorKey(ARTIFACT_DOCUMENT_ENTRY_ID, path)` yields one tab per artifact —
|
|
18
|
+
* the VS Code "each file is a tab" model. The NUL-namespaced virtual id can
|
|
19
|
+
* never alias a real workspace entry, and its distinct `"artifact"` kind can
|
|
20
|
+
* never collide with the plan tab's `"plan"` kind.
|
|
21
|
+
*/
|
|
22
|
+
export const ARTIFACT_DOCUMENT_ENTRY_ID = virtualEntryId("artifact");
|
|
23
|
+
//# sourceMappingURL=artifact-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-document.js","sourceRoot":"","sources":["../../src/execution/artifact-document.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wEAAwE;AACxE,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,oEAAoE;AACpE,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,oCAAoC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
|
|
2
|
+
import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
|
|
3
|
+
/**
|
|
4
|
+
* What an artifact row displays, independent of which artifact data model
|
|
5
|
+
* produced it.
|
|
6
|
+
*
|
|
7
|
+
* Two artifact models exist and are deliberately unified ONLY at this
|
|
8
|
+
* presentational layer, never at the data layer: the session's
|
|
9
|
+
* `ExecutionArtifact` (embedded in `AgentExecution.status.artifacts`) and the
|
|
10
|
+
* workflow's first-class `Artifact` resource. Their identity, provenance, and
|
|
11
|
+
* download mechanics differ — so the view-model carries no identity; list
|
|
12
|
+
* keys and open/download behavior stay with the domain-specific hosts.
|
|
13
|
+
*/
|
|
14
|
+
export interface ArtifactRowItem {
|
|
15
|
+
/** Display label (file or directory name). */
|
|
16
|
+
readonly name: string;
|
|
17
|
+
/** Hover title — the fullest location/name known for the artifact. */
|
|
18
|
+
readonly tooltip: string;
|
|
19
|
+
/**
|
|
20
|
+
* Disambiguation subtitle rendered after the name when another row shares
|
|
21
|
+
* the same display name: the parent directory for sandbox-backed artifacts,
|
|
22
|
+
* the producing task for workflow artifacts. `null` when not needed.
|
|
23
|
+
*/
|
|
24
|
+
readonly subtitlePath: string | null;
|
|
25
|
+
/** Content size in bytes (protobuf `int64` is `bigint`). */
|
|
26
|
+
readonly sizeBytes: bigint | number;
|
|
27
|
+
/** Directory artifacts render a folder icon, a `/` suffix, and ZIP download copy. */
|
|
28
|
+
readonly isDirectory: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Adapts a session `ExecutionArtifact` to a row item.
|
|
32
|
+
*
|
|
33
|
+
* @param hasNameCollision - When `true`, the artifact's parent directory (from
|
|
34
|
+
* `sandbox_path`) becomes the disambiguation subtitle. Typically supplied
|
|
35
|
+
* from `SessionArtifactEntry.hasNameCollision`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function fromExecutionArtifact(artifact: ExecutionArtifact, hasNameCollision?: boolean): ArtifactRowItem;
|
|
38
|
+
/**
|
|
39
|
+
* Adapts a workflow `Artifact` resource to a row item.
|
|
40
|
+
*
|
|
41
|
+
* A workflow artifact is always a single content-typed blob — the resource
|
|
42
|
+
* model has no directory concept — so `isDirectory` is always `false`. Name
|
|
43
|
+
* collisions disambiguate by the producing task (`source.task_name`), the
|
|
44
|
+
* workflow analog of the session's parent-directory subtitle.
|
|
45
|
+
*
|
|
46
|
+
* @param hasNameCollision - When `true` and the artifact has a source task,
|
|
47
|
+
* that task name becomes the disambiguation subtitle.
|
|
48
|
+
*/
|
|
49
|
+
export declare function fromArtifact(artifact: Artifact, hasNameCollision?: boolean): ArtifactRowItem;
|
|
50
|
+
/**
|
|
51
|
+
* Extracts a human-readable parent directory label from a sandbox path.
|
|
52
|
+
* Given `/workspace/configs/agent.yaml` returns `configs/`.
|
|
53
|
+
* Returns `null` when the path has no meaningful parent segment.
|
|
54
|
+
*/
|
|
55
|
+
export declare function parentDirectory(sandboxPath: string): string | null;
|
|
56
|
+
//# sourceMappingURL=artifact-row-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-row-item.d.ts","sourceRoot":"","sources":["../../src/execution/artifact-row-item.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAE1G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uDAAuD,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,qFAAqF;IACrF,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,gBAAgB,UAAQ,GACvB,eAAe,CAWjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,UAAQ,GACvB,eAAe,CAWjB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Type-agnostic view-model for artifact list rows, with adapters from both
|
|
2
|
+
// artifact data models. Domain: execution (shared by session + workflow).
|
|
3
|
+
import { ExecutionArtifactKind } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
4
|
+
/**
|
|
5
|
+
* Adapts a session `ExecutionArtifact` to a row item.
|
|
6
|
+
*
|
|
7
|
+
* @param hasNameCollision - When `true`, the artifact's parent directory (from
|
|
8
|
+
* `sandbox_path`) becomes the disambiguation subtitle. Typically supplied
|
|
9
|
+
* from `SessionArtifactEntry.hasNameCollision`.
|
|
10
|
+
*/
|
|
11
|
+
export function fromExecutionArtifact(artifact, hasNameCollision = false) {
|
|
12
|
+
return {
|
|
13
|
+
name: artifact.name,
|
|
14
|
+
tooltip: artifact.sandboxPath || artifact.name,
|
|
15
|
+
subtitlePath: hasNameCollision && artifact.sandboxPath
|
|
16
|
+
? parentDirectory(artifact.sandboxPath)
|
|
17
|
+
: null,
|
|
18
|
+
sizeBytes: artifact.sizeBytes,
|
|
19
|
+
isDirectory: artifact.kind === ExecutionArtifactKind.DIRECTORY,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Adapts a workflow `Artifact` resource to a row item.
|
|
24
|
+
*
|
|
25
|
+
* A workflow artifact is always a single content-typed blob — the resource
|
|
26
|
+
* model has no directory concept — so `isDirectory` is always `false`. Name
|
|
27
|
+
* collisions disambiguate by the producing task (`source.task_name`), the
|
|
28
|
+
* workflow analog of the session's parent-directory subtitle.
|
|
29
|
+
*
|
|
30
|
+
* @param hasNameCollision - When `true` and the artifact has a source task,
|
|
31
|
+
* that task name becomes the disambiguation subtitle.
|
|
32
|
+
*/
|
|
33
|
+
export function fromArtifact(artifact, hasNameCollision = false) {
|
|
34
|
+
const name = artifact.spec?.displayName || artifact.metadata?.name || "Unnamed";
|
|
35
|
+
const taskName = artifact.spec?.source?.taskName ?? "";
|
|
36
|
+
return {
|
|
37
|
+
name,
|
|
38
|
+
tooltip: name,
|
|
39
|
+
subtitlePath: hasNameCollision && taskName ? taskName : null,
|
|
40
|
+
sizeBytes: artifact.status?.sizeBytes ?? BigInt(0),
|
|
41
|
+
isDirectory: false,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extracts a human-readable parent directory label from a sandbox path.
|
|
46
|
+
* Given `/workspace/configs/agent.yaml` returns `configs/`.
|
|
47
|
+
* Returns `null` when the path has no meaningful parent segment.
|
|
48
|
+
*/
|
|
49
|
+
export function parentDirectory(sandboxPath) {
|
|
50
|
+
const lastSlash = sandboxPath.lastIndexOf("/");
|
|
51
|
+
if (lastSlash <= 0)
|
|
52
|
+
return null;
|
|
53
|
+
const parent = sandboxPath.slice(0, lastSlash);
|
|
54
|
+
const segment = parent.slice(parent.lastIndexOf("/") + 1);
|
|
55
|
+
return segment ? `${segment}/` : null;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=artifact-row-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-row-item.js","sourceRoot":"","sources":["../../src/execution/artifact-row-item.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAG1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAC;AA+BrG;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA2B,EAC3B,gBAAgB,GAAG,KAAK;IAExB,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAC9C,YAAY,EACV,gBAAgB,IAAI,QAAQ,CAAC,WAAW;YACtC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;YACvC,CAAC,CAAC,IAAI;QACV,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,IAAI,KAAK,qBAAqB,CAAC,SAAS;KAC/D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,gBAAgB,GAAG,KAAK;IAExB,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IACvD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,gBAAgB,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC5D,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC;QAClD,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
2
|
+
import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
3
|
+
import type { DiffHunk, FileDiffEntry } from "../version-history/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collapses the file changes captured across `executions` into one *net*
|
|
6
|
+
* {@link FileChange} per path, ordered for a file list (modified, then
|
|
7
|
+
* created/renamed, then deleted; alphabetical within each group).
|
|
8
|
+
*
|
|
9
|
+
* **Source (ledger-first).** Under apply-then-review the changes live in the
|
|
10
|
+
* file-review ledger; {@link displayFileChangeSets} reads the server's live
|
|
11
|
+
* projection or folds the durable ledger for a terminal execution (whose
|
|
12
|
+
* projection is nil), and each captured change is projected onto the display
|
|
13
|
+
* {@link FileChange} via {@link toDisplayFileChange}. The execution-scoped
|
|
14
|
+
* ledger already includes sub-agent captures (DD-19), so one pass per
|
|
15
|
+
* execution suffices.
|
|
16
|
+
*
|
|
17
|
+
* **Net-diff (not latest-wins).** A {@link FileChange} is a *delta* — an
|
|
18
|
+
* agent often rewrites the same file several times, and showing only the last
|
|
19
|
+
* edit's diff would misrepresent what changed. So changes to the same path
|
|
20
|
+
* are reduced to a single net change: `before` from the first change, `after`
|
|
21
|
+
* from the last. Because a WHOLE_FILE `after` is a complete file snapshot,
|
|
22
|
+
* `first.before → last.after` is exactly the net change. A group with one
|
|
23
|
+
* change (the common case) is passed through untouched; multi-edit groups
|
|
24
|
+
* synthesize a net {@link FileChange} so every consumer speaks one proto
|
|
25
|
+
* type (DD-007).
|
|
26
|
+
*
|
|
27
|
+
* **Ordering is a correctness input.** `executions` MUST be chronological:
|
|
28
|
+
* the net collapse anchors on each path's first and last change, so two
|
|
29
|
+
* executions touching the same path (a session's follow-up turns; two
|
|
30
|
+
* workflow agent-call tasks) produce a wrong net diff if visited out of
|
|
31
|
+
* order.
|
|
32
|
+
*
|
|
33
|
+
* Counts and unified diffs for whole-file captures stay derivable by the
|
|
34
|
+
* presentation layer (the runner emits 0/"" sentinels), matching the
|
|
35
|
+
* contract the SDK `tool-view` established.
|
|
36
|
+
*/
|
|
37
|
+
export declare function deriveExecutionFileChanges(executions: readonly AgentExecution[]): readonly FileChange[];
|
|
38
|
+
/**
|
|
39
|
+
* Projects a {@link FileChange} into a {@link FileDiffEntry} for a file list
|
|
40
|
+
* (`DiffFileList`).
|
|
41
|
+
*
|
|
42
|
+
* Counts: hunk-only uses the runner's authoritative numbers; whole-file inline
|
|
43
|
+
* is derived from the content (identical to the runner's capture-time counts by
|
|
44
|
+
* construction — same diff algorithm). A whole-file side with no synchronous
|
|
45
|
+
* content (offloaded / binary) falls back to the runner's capture-time
|
|
46
|
+
* `linesAdded`/`linesRemoved` — zero when no count exists, which the list
|
|
47
|
+
* renders as no stat.
|
|
48
|
+
*/
|
|
49
|
+
export declare function toFileDiffEntry(change: FileChange): FileDiffEntry;
|
|
50
|
+
/** Sums added/removed line counts across rendered diff hunks. */
|
|
51
|
+
export declare function countHunks(hunks: readonly DiffHunk[]): {
|
|
52
|
+
additions: number;
|
|
53
|
+
deletions: number;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=deriveExecutionFileChanges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deriveExecutionFileChanges.d.ts","sourceRoot":"","sources":["../../src/execution/deriveExecutionFileChanges.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iEAAiE,CAAC;AAQlG,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,SAAS,UAAU,EAAE,CAsBvB;AA4FD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CA8BjE;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAUA"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// Pure derivation of net file changes across a chronological list of agent
|
|
2
|
+
// executions, plus the FileChange → FileDiffEntry projection for file lists.
|
|
3
|
+
// Domain: execution (shared — the session's Changes surface and the workflow
|
|
4
|
+
// panel's Changes facet both collapse per-execution captures into one net
|
|
5
|
+
// change per path, and a single core prevents the two from drifting on the
|
|
6
|
+
// non-trivial net-diff semantics below).
|
|
7
|
+
//
|
|
8
|
+
// Not a hook: callers memoize on their executions reference
|
|
9
|
+
// (`useSessionFileChanges` for sessions; `useWorkflowExecutionFileChanges`
|
|
10
|
+
// aggregates a workflow's AGENT_CALL children).
|
|
11
|
+
import { create } from "@bufbuild/protobuf";
|
|
12
|
+
import { FileChangeSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
13
|
+
import { FileChangeCaptureLevel, FileChangeType, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
14
|
+
import { displayFileChangeSets, toDisplayFileChange } from "@stigmer/sdk";
|
|
15
|
+
import { computeDiff } from "../version-history/computeDiff.js";
|
|
16
|
+
/**
|
|
17
|
+
* Collapses the file changes captured across `executions` into one *net*
|
|
18
|
+
* {@link FileChange} per path, ordered for a file list (modified, then
|
|
19
|
+
* created/renamed, then deleted; alphabetical within each group).
|
|
20
|
+
*
|
|
21
|
+
* **Source (ledger-first).** Under apply-then-review the changes live in the
|
|
22
|
+
* file-review ledger; {@link displayFileChangeSets} reads the server's live
|
|
23
|
+
* projection or folds the durable ledger for a terminal execution (whose
|
|
24
|
+
* projection is nil), and each captured change is projected onto the display
|
|
25
|
+
* {@link FileChange} via {@link toDisplayFileChange}. The execution-scoped
|
|
26
|
+
* ledger already includes sub-agent captures (DD-19), so one pass per
|
|
27
|
+
* execution suffices.
|
|
28
|
+
*
|
|
29
|
+
* **Net-diff (not latest-wins).** A {@link FileChange} is a *delta* — an
|
|
30
|
+
* agent often rewrites the same file several times, and showing only the last
|
|
31
|
+
* edit's diff would misrepresent what changed. So changes to the same path
|
|
32
|
+
* are reduced to a single net change: `before` from the first change, `after`
|
|
33
|
+
* from the last. Because a WHOLE_FILE `after` is a complete file snapshot,
|
|
34
|
+
* `first.before → last.after` is exactly the net change. A group with one
|
|
35
|
+
* change (the common case) is passed through untouched; multi-edit groups
|
|
36
|
+
* synthesize a net {@link FileChange} so every consumer speaks one proto
|
|
37
|
+
* type (DD-007).
|
|
38
|
+
*
|
|
39
|
+
* **Ordering is a correctness input.** `executions` MUST be chronological:
|
|
40
|
+
* the net collapse anchors on each path's first and last change, so two
|
|
41
|
+
* executions touching the same path (a session's follow-up turns; two
|
|
42
|
+
* workflow agent-call tasks) produce a wrong net diff if visited out of
|
|
43
|
+
* order.
|
|
44
|
+
*
|
|
45
|
+
* Counts and unified diffs for whole-file captures stay derivable by the
|
|
46
|
+
* presentation layer (the runner emits 0/"" sentinels), matching the
|
|
47
|
+
* contract the SDK `tool-view` established.
|
|
48
|
+
*/
|
|
49
|
+
export function deriveExecutionFileChanges(executions) {
|
|
50
|
+
// Path -> chronological list of raw changes to that path.
|
|
51
|
+
const groups = new Map();
|
|
52
|
+
// Preserve first-seen path order as a stable tiebreaker before sorting.
|
|
53
|
+
const collect = (change) => {
|
|
54
|
+
const key = change.path || change.absolutePath;
|
|
55
|
+
if (!key)
|
|
56
|
+
return;
|
|
57
|
+
const list = groups.get(key);
|
|
58
|
+
if (list)
|
|
59
|
+
list.push(change);
|
|
60
|
+
else
|
|
61
|
+
groups.set(key, [change]);
|
|
62
|
+
};
|
|
63
|
+
for (const execution of executions) {
|
|
64
|
+
const capturedChanges = displayFileChangeSets(execution.status).flatMap((set) => set.changes);
|
|
65
|
+
for (const captured of capturedChanges)
|
|
66
|
+
collect(toDisplayFileChange(captured));
|
|
67
|
+
}
|
|
68
|
+
const fileChanges = Array.from(groups.values(), netChange);
|
|
69
|
+
fileChanges.sort(fileChangeComparator);
|
|
70
|
+
return fileChanges;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Reduces a path's chronological change list to a single net change.
|
|
74
|
+
* A one-change group is returned as-is (the common path, no allocation);
|
|
75
|
+
* multi-edit groups synthesize a net {@link FileChange}.
|
|
76
|
+
*/
|
|
77
|
+
function netChange(changes) {
|
|
78
|
+
if (changes.length === 1)
|
|
79
|
+
return changes[0];
|
|
80
|
+
const first = changes[0];
|
|
81
|
+
const last = changes[changes.length - 1];
|
|
82
|
+
const changeType = netChangeType(first, last);
|
|
83
|
+
// Whole-file only when both chosen sides come from whole-file captures;
|
|
84
|
+
// otherwise fall back to the last change's hunk diff. A path edited by a
|
|
85
|
+
// single harness won't mix levels — this just stays honest if it ever does.
|
|
86
|
+
const wholeFile = first.captureLevel === FileChangeCaptureLevel.WHOLE_FILE &&
|
|
87
|
+
last.captureLevel === FileChangeCaptureLevel.WHOLE_FILE;
|
|
88
|
+
if (wholeFile) {
|
|
89
|
+
return create(FileChangeSchema, {
|
|
90
|
+
path: last.path,
|
|
91
|
+
absolutePath: last.absolutePath,
|
|
92
|
+
changeType,
|
|
93
|
+
captureLevel: FileChangeCaptureLevel.WHOLE_FILE,
|
|
94
|
+
before: first.before,
|
|
95
|
+
after: last.after,
|
|
96
|
+
renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return create(FileChangeSchema, {
|
|
100
|
+
path: last.path,
|
|
101
|
+
absolutePath: last.absolutePath,
|
|
102
|
+
changeType,
|
|
103
|
+
captureLevel: FileChangeCaptureLevel.HUNK_ONLY,
|
|
104
|
+
unifiedDiff: last.unifiedDiff,
|
|
105
|
+
linesAdded: last.linesAdded,
|
|
106
|
+
linesRemoved: last.linesRemoved,
|
|
107
|
+
renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Reconciles the net `change_type` of a path from its first and last change.
|
|
112
|
+
*
|
|
113
|
+
* Intent: the badge should describe the file's journey across the *whole*
|
|
114
|
+
* span of executions, anchored on its two endpoints, in this precedence:
|
|
115
|
+
*
|
|
116
|
+
* 1. Ends deleted (`last` is DELETE) → DELETE. The file is gone, regardless of
|
|
117
|
+
* how it got there — this includes create-then-delete, which we deliberately
|
|
118
|
+
* surface as DELETE rather than hiding the path. (`before` then comes from
|
|
119
|
+
* the first change, which for a created-then-deleted file is empty, so the
|
|
120
|
+
* diff reads as the removal of whatever briefly existed.)
|
|
121
|
+
* 2. Started created (`first` is CREATE) and still exists → CREATE. A file born
|
|
122
|
+
* in this span and later modified is, on net, a new file.
|
|
123
|
+
* 3. Started renamed (`first` is RENAME) and still exists → RENAME, carrying the
|
|
124
|
+
* original `rename_from` so the move is preserved across later edits.
|
|
125
|
+
* 4. Otherwise → MODIFY (the common multi-edit case).
|
|
126
|
+
*/
|
|
127
|
+
function netChangeType(first, last) {
|
|
128
|
+
if (last.changeType === FileChangeType.DELETE)
|
|
129
|
+
return FileChangeType.DELETE;
|
|
130
|
+
if (first.changeType === FileChangeType.CREATE)
|
|
131
|
+
return FileChangeType.CREATE;
|
|
132
|
+
if (first.changeType === FileChangeType.RENAME)
|
|
133
|
+
return FileChangeType.RENAME;
|
|
134
|
+
return FileChangeType.MODIFY;
|
|
135
|
+
}
|
|
136
|
+
// Most-actionable first (modified), then additions (create/rename), then
|
|
137
|
+
// deletions — mirroring GitHub's file-list convention — alphabetical within
|
|
138
|
+
// each group so the list is stable and scannable.
|
|
139
|
+
const CHANGE_TYPE_ORDER = {
|
|
140
|
+
[FileChangeType.MODIFY]: 0,
|
|
141
|
+
[FileChangeType.CREATE]: 1,
|
|
142
|
+
[FileChangeType.RENAME]: 1,
|
|
143
|
+
[FileChangeType.DELETE]: 2,
|
|
144
|
+
[FileChangeType.UNSPECIFIED]: 3,
|
|
145
|
+
};
|
|
146
|
+
function fileChangeComparator(a, b) {
|
|
147
|
+
const order = (CHANGE_TYPE_ORDER[a.changeType] ?? 3) -
|
|
148
|
+
(CHANGE_TYPE_ORDER[b.changeType] ?? 3);
|
|
149
|
+
if (order !== 0)
|
|
150
|
+
return order;
|
|
151
|
+
return a.path.localeCompare(b.path, undefined, { sensitivity: "base" });
|
|
152
|
+
}
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
// FileChange → FileDiffEntry projection (file lists)
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
/**
|
|
157
|
+
* Projects a {@link FileChange} into a {@link FileDiffEntry} for a file list
|
|
158
|
+
* (`DiffFileList`).
|
|
159
|
+
*
|
|
160
|
+
* Counts: hunk-only uses the runner's authoritative numbers; whole-file inline
|
|
161
|
+
* is derived from the content (identical to the runner's capture-time counts by
|
|
162
|
+
* construction — same diff algorithm). A whole-file side with no synchronous
|
|
163
|
+
* content (offloaded / binary) falls back to the runner's capture-time
|
|
164
|
+
* `linesAdded`/`linesRemoved` — zero when no count exists, which the list
|
|
165
|
+
* renders as no stat.
|
|
166
|
+
*/
|
|
167
|
+
export function toFileDiffEntry(change) {
|
|
168
|
+
const changeType = change.changeType === FileChangeType.CREATE
|
|
169
|
+
? "added"
|
|
170
|
+
: change.changeType === FileChangeType.DELETE
|
|
171
|
+
? "removed"
|
|
172
|
+
: "modified";
|
|
173
|
+
if (change.captureLevel === FileChangeCaptureLevel.HUNK_ONLY) {
|
|
174
|
+
return {
|
|
175
|
+
path: change.path,
|
|
176
|
+
changeType,
|
|
177
|
+
additions: change.linesAdded,
|
|
178
|
+
deletions: change.linesRemoved,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
const before = inlineSide(change.before);
|
|
182
|
+
const after = inlineSide(change.after);
|
|
183
|
+
if (before !== null && after !== null) {
|
|
184
|
+
const { additions, deletions } = countHunks(computeDiff(before, after));
|
|
185
|
+
return { path: change.path, changeType, additions, deletions };
|
|
186
|
+
}
|
|
187
|
+
return {
|
|
188
|
+
path: change.path,
|
|
189
|
+
changeType,
|
|
190
|
+
additions: change.linesAdded,
|
|
191
|
+
deletions: change.linesRemoved,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/** Sums added/removed line counts across rendered diff hunks. */
|
|
195
|
+
export function countHunks(hunks) {
|
|
196
|
+
let additions = 0;
|
|
197
|
+
let deletions = 0;
|
|
198
|
+
for (const hunk of hunks) {
|
|
199
|
+
for (const line of hunk.lines) {
|
|
200
|
+
if (line.type === "added")
|
|
201
|
+
additions++;
|
|
202
|
+
else if (line.type === "removed")
|
|
203
|
+
deletions++;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return { additions, deletions };
|
|
207
|
+
}
|
|
208
|
+
/** Inline text of a side, or null when absent/offloaded/binary. */
|
|
209
|
+
function inlineSide(side) {
|
|
210
|
+
if (!side)
|
|
211
|
+
return "";
|
|
212
|
+
if (side.isBinary)
|
|
213
|
+
return null;
|
|
214
|
+
return side.body.case === "inline" ? side.body.value : null;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=deriveExecutionFileChanges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deriveExecutionFileChanges.js","sourceRoot":"","sources":["../../src/execution/deriveExecutionFileChanges.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,yCAAyC;AACzC,EAAE;AACF,4DAA4D;AAC5D,2EAA2E;AAC3E,gDAAgD;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AACnG,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAqC;IAErC,0DAA0D;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,wEAAwE;IACxE,MAAM,OAAO,GAAG,CAAC,MAAkB,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CACrE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CACrB,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,eAAe;YAAE,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAqB;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE9C,wEAAwE;IACxE,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,SAAS,GACb,KAAK,CAAC,YAAY,KAAK,sBAAsB,CAAC,UAAU;QACxD,IAAI,CAAC,YAAY,KAAK,sBAAsB,CAAC,UAAU,CAAC;IAE1D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,gBAAgB,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU;YACV,YAAY,EAAE,sBAAsB,CAAC,UAAU;YAC/C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,UAAU,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;SACzE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,gBAAgB,EAAE;QAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU;QACV,YAAY,EAAE,sBAAsB,CAAC,SAAS;QAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,UAAU,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KACzE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,aAAa,CAAC,KAAiB,EAAE,IAAgB;IACxD,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IAC5E,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IAC7E,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC;IAC7E,OAAO,cAAc,CAAC,MAAM,CAAC;AAC/B,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,kDAAkD;AAClD,MAAM,iBAAiB,GAA6C;IAClE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;CAChC,CAAC;AAEF,SAAS,oBAAoB,CAAC,CAAa,EAAE,CAAa;IACxD,MAAM,KAAK,GACT,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM;QACzC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC,MAAM;YAC3C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CAAC;IAEnB,IAAI,MAAM,CAAC,YAAY,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;QAC7D,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU;YACV,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,YAAY;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACjE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,SAAS,EAAE,MAAM,CAAC,YAAY;KAC/B,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,KAA0B;IAInD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS,EAAE,CAAC;iBAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,mEAAmE;AACnE,SAAS,UAAU,CAAC,IAA0B;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
2
|
+
/**
|
|
3
|
+
* Virtual entry id of the file-change diff document FAMILY. Like artifacts
|
|
4
|
+
* (and unlike the session's single plan tab), file changes are many: every
|
|
5
|
+
* opened diff shares this one entry id and is distinguished by its
|
|
6
|
+
* change-path-derived tab path, so
|
|
7
|
+
* `editorKey(FILE_CHANGE_DOCUMENT_ENTRY_ID, path)` yields one tab per changed
|
|
8
|
+
* file — the VS Code "each file is a tab" model. The NUL-namespaced virtual
|
|
9
|
+
* id can never alias a real workspace entry, and its distinct `"filechange"`
|
|
10
|
+
* kind can never collide with the `"artifact"`/`"plan"` families.
|
|
11
|
+
*/
|
|
12
|
+
export declare const FILE_CHANGE_DOCUMENT_ENTRY_ID: string;
|
|
13
|
+
/**
|
|
14
|
+
* The identity of a file change's diff tab within the family. The net rollup
|
|
15
|
+
* carries at most one {@link FileChange} per path, so the change's path IS
|
|
16
|
+
* the identity — and, as the tab path, its basename is exactly the tab label
|
|
17
|
+
* (no prefixing needed, unlike artifact tabs whose ids are opaque).
|
|
18
|
+
* `absolutePath` is the fallback for captures without a workspace-relative
|
|
19
|
+
* path, matching the keying inside the net-collapse core.
|
|
20
|
+
*/
|
|
21
|
+
export declare function fileChangeTabPath(change: FileChange): string;
|
|
22
|
+
//# sourceMappingURL=file-change-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-change-document.d.ts","sourceRoot":"","sources":["../../src/execution/file-change-document.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iEAAiE,CAAC;AAGlG;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,QAA+B,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE5D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Identity of file-change diff document tabs in the workspace surface's
|
|
2
|
+
// editor group. Domain: execution (the diff renderer and the FileChange data
|
|
3
|
+
// model are execution-domain; the workflow panel is the first host, and a
|
|
4
|
+
// future session-side consumer would share this identity rather than minting
|
|
5
|
+
// a divergent one).
|
|
6
|
+
//
|
|
7
|
+
// Kept in its own module (not in a component file) so behavior-only
|
|
8
|
+
// consumers — the panel controller opens the tabs, the viewer routes them —
|
|
9
|
+
// depend on the identity without pulling the diff renderer into their module
|
|
10
|
+
// graph (DD-003 headless-first). Mirrors artifact-document.ts.
|
|
11
|
+
import { virtualEntryId } from "../internal/store/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Virtual entry id of the file-change diff document FAMILY. Like artifacts
|
|
14
|
+
* (and unlike the session's single plan tab), file changes are many: every
|
|
15
|
+
* opened diff shares this one entry id and is distinguished by its
|
|
16
|
+
* change-path-derived tab path, so
|
|
17
|
+
* `editorKey(FILE_CHANGE_DOCUMENT_ENTRY_ID, path)` yields one tab per changed
|
|
18
|
+
* file — the VS Code "each file is a tab" model. The NUL-namespaced virtual
|
|
19
|
+
* id can never alias a real workspace entry, and its distinct `"filechange"`
|
|
20
|
+
* kind can never collide with the `"artifact"`/`"plan"` families.
|
|
21
|
+
*/
|
|
22
|
+
export const FILE_CHANGE_DOCUMENT_ENTRY_ID = virtualEntryId("filechange");
|
|
23
|
+
/**
|
|
24
|
+
* The identity of a file change's diff tab within the family. The net rollup
|
|
25
|
+
* carries at most one {@link FileChange} per path, so the change's path IS
|
|
26
|
+
* the identity — and, as the tab path, its basename is exactly the tab label
|
|
27
|
+
* (no prefixing needed, unlike artifact tabs whose ids are opaque).
|
|
28
|
+
* `absolutePath` is the fallback for captures without a workspace-relative
|
|
29
|
+
* path, matching the keying inside the net-collapse core.
|
|
30
|
+
*/
|
|
31
|
+
export function fileChangeTabPath(change) {
|
|
32
|
+
return change.path || change.absolutePath;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=file-change-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-change-document.js","sourceRoot":"","sources":["../../src/execution/file-change-document.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,oBAAoB;AACpB,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,6EAA6E;AAC7E,+DAA+D;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC;AAC5C,CAAC"}
|
package/execution/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export type { BootstrapSessionSpec, CreateAgentExecutionInput, CreateAgentExecut
|
|
|
3
3
|
export { isTerminalPhase } from "./execution-phases.js";
|
|
4
4
|
export { useExecutionStream } from "./useExecutionStream.js";
|
|
5
5
|
export type { UseExecutionStreamReturn } from "./useExecutionStream.js";
|
|
6
|
+
export { useLiveAgentExecution } from "./useLiveAgentExecution.js";
|
|
7
|
+
export type { UseLiveAgentExecutionReturn } from "./useLiveAgentExecution.js";
|
|
6
8
|
export { useAgentExecutionActions } from "./useAgentExecutionActions.js";
|
|
7
9
|
export type { UseAgentExecutionActionsOptions, UseAgentExecutionActionsReturn, } from "./useAgentExecutionActions.js";
|
|
8
10
|
export { UsageWidget, formatCost, formatTokenCount } from "./UsageWidget.js";
|
|
@@ -27,6 +29,8 @@ export { useExecutionArtifacts } from "./useExecutionArtifacts.js";
|
|
|
27
29
|
export type { UseExecutionArtifactsReturn } from "./useExecutionArtifacts.js";
|
|
28
30
|
export { useArtifactContent } from "./useArtifactContent.js";
|
|
29
31
|
export type { UseArtifactContentReturn } from "./useArtifactContent.js";
|
|
32
|
+
export { useArtifactContentById } from "./useArtifactContentById.js";
|
|
33
|
+
export type { UseArtifactContentByIdReturn } from "./useArtifactContentById.js";
|
|
30
34
|
export { useArtifactDownloadUrl } from "./useArtifactDownloadUrl.js";
|
|
31
35
|
export type { UseArtifactDownloadUrlReturn, UseArtifactDownloadUrlOptions, } from "./useArtifactDownloadUrl.js";
|
|
32
36
|
export { useArtifactDownload } from "./useArtifactDownload.js";
|
|
@@ -45,6 +49,7 @@ export { parseDiffStatSummary, trailingDiffStatLine, writeBackDisplayName, } fro
|
|
|
45
49
|
export type { DiffStatSummary } from "./write-back-utils.js";
|
|
46
50
|
export { FileChangesView, FileChangeDiff } from "./FileChangesView.js";
|
|
47
51
|
export type { FileChangesViewProps, FileChangeDiffProps } from "./FileChangesView.js";
|
|
52
|
+
export { deriveExecutionFileChanges, toFileDiffEntry, } from "./deriveExecutionFileChanges.js";
|
|
48
53
|
export { EmptyChangeNotice } from "./EmptyChangeNotice.js";
|
|
49
54
|
export type { EmptyChangeNoticeProps, EmptyChangeKind } from "./EmptyChangeNotice.js";
|
|
50
55
|
export { isTextArtifact, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./artifact-utils.js";
|
|
@@ -115,8 +120,17 @@ export { FileReviewContext, useFileReviewRowState, useFileReviewRowChange, } fro
|
|
|
115
120
|
export type { FileReviewContextValue } from "./FileReviewContext.js";
|
|
116
121
|
export { ArtifactRow } from "./ArtifactRow.js";
|
|
117
122
|
export type { ArtifactRowProps } from "./ArtifactRow.js";
|
|
123
|
+
export { ArtifactRowView } from "./ArtifactRowView.js";
|
|
124
|
+
export type { ArtifactRowViewProps } from "./ArtifactRowView.js";
|
|
125
|
+
export { fromExecutionArtifact, fromArtifact, } from "./artifact-row-item.js";
|
|
126
|
+
export type { ArtifactRowItem } from "./artifact-row-item.js";
|
|
127
|
+
export { ARTIFACT_DOCUMENT_ENTRY_ID } from "./artifact-document.js";
|
|
128
|
+
export { FILE_CHANGE_DOCUMENT_ENTRY_ID, fileChangeTabPath, } from "./file-change-document.js";
|
|
129
|
+
export { AGENT_EXECUTION_DOCUMENT_ENTRY_ID, agentExecutionTabPath, parseAgentExecutionTabPath, } from "./agent-execution-document.js";
|
|
118
130
|
export { ArtifactContentRenderer } from "./ArtifactContentRenderer.js";
|
|
119
131
|
export type { ArtifactContentRendererProps } from "./ArtifactContentRenderer.js";
|
|
132
|
+
export { ArtifactFileContent } from "./ArtifactFileContent.js";
|
|
133
|
+
export type { ArtifactFileContentProps } from "./ArtifactFileContent.js";
|
|
120
134
|
export { ArtifactContentBody } from "./ArtifactContentBody.js";
|
|
121
135
|
export type { ArtifactContentBodyProps } from "./ArtifactContentBody.js";
|
|
122
136
|
export { ArtifactDocument } from "./ArtifactDocument.js";
|