@stigmer/react 3.1.17 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-instance/AgentInstanceList.d.ts.map +1 -1
- package/agent-instance/AgentInstanceList.js +11 -3
- package/agent-instance/AgentInstanceList.js.map +1 -1
- package/channel/AgentChannelsPanel.d.ts +60 -0
- package/channel/AgentChannelsPanel.d.ts.map +1 -0
- package/channel/AgentChannelsPanel.js +255 -0
- package/channel/AgentChannelsPanel.js.map +1 -0
- package/channel/ChannelConversationsDialog.d.ts +41 -0
- package/channel/ChannelConversationsDialog.d.ts.map +1 -0
- package/channel/ChannelConversationsDialog.js +94 -0
- package/channel/ChannelConversationsDialog.js.map +1 -0
- package/channel/ChannelCredentialsDialog.d.ts +37 -0
- package/channel/ChannelCredentialsDialog.d.ts.map +1 -0
- package/channel/ChannelCredentialsDialog.js +75 -0
- package/channel/ChannelCredentialsDialog.js.map +1 -0
- package/channel/ChannelToolCredentials.d.ts +31 -0
- package/channel/ChannelToolCredentials.d.ts.map +1 -0
- package/channel/ChannelToolCredentials.js +41 -0
- package/channel/ChannelToolCredentials.js.map +1 -0
- package/channel/ConnectSlackDialog.d.ts +61 -0
- package/channel/ConnectSlackDialog.d.ts.map +1 -0
- package/channel/ConnectSlackDialog.js +238 -0
- package/channel/ConnectSlackDialog.js.map +1 -0
- package/channel/ConnectWhatsAppDialog.d.ts +70 -0
- package/channel/ConnectWhatsAppDialog.d.ts.map +1 -0
- package/channel/ConnectWhatsAppDialog.js +256 -0
- package/channel/ConnectWhatsAppDialog.js.map +1 -0
- package/channel/SlackMarkIcon.d.ts +11 -0
- package/channel/SlackMarkIcon.d.ts.map +1 -0
- package/channel/SlackMarkIcon.js +13 -0
- package/channel/SlackMarkIcon.js.map +1 -0
- package/channel/WhatsAppMarkIcon.d.ts +12 -0
- package/channel/WhatsAppMarkIcon.d.ts.map +1 -0
- package/channel/WhatsAppMarkIcon.js +14 -0
- package/channel/WhatsAppMarkIcon.js.map +1 -0
- package/channel/connect/ServingAppSection.d.ts +57 -0
- package/channel/connect/ServingAppSection.d.ts.map +1 -0
- package/channel/connect/ServingAppSection.js +49 -0
- package/channel/connect/ServingAppSection.js.map +1 -0
- package/channel/connect/ToolCredentialsSection.d.ts +20 -0
- package/channel/connect/ToolCredentialsSection.d.ts.map +1 -0
- package/channel/connect/ToolCredentialsSection.js +22 -0
- package/channel/connect/ToolCredentialsSection.js.map +1 -0
- package/channel/connect/VerbatimRefusal.d.ts +16 -0
- package/channel/connect/VerbatimRefusal.d.ts.map +1 -0
- package/channel/connect/VerbatimRefusal.js +18 -0
- package/channel/connect/VerbatimRefusal.js.map +1 -0
- package/channel/connect/icons.d.ts +16 -0
- package/channel/connect/icons.d.ts.map +1 -0
- package/channel/connect/icons.js +21 -0
- package/channel/connect/icons.js.map +1 -0
- package/channel/index.d.ts +36 -0
- package/channel/index.d.ts.map +1 -0
- package/channel/index.js +19 -0
- package/channel/index.js.map +1 -0
- package/channel/providerPresentation.d.ts +44 -0
- package/channel/providerPresentation.d.ts.map +1 -0
- package/channel/providerPresentation.js +106 -0
- package/channel/providerPresentation.js.map +1 -0
- package/channel/providers.d.ts +62 -0
- package/channel/providers.d.ts.map +1 -0
- package/channel/providers.js +26 -0
- package/channel/providers.js.map +1 -0
- package/channel/useAgentChannel.d.ts +31 -0
- package/channel/useAgentChannel.d.ts.map +1 -0
- package/channel/useAgentChannel.js +34 -0
- package/channel/useAgentChannel.js.map +1 -0
- package/channel/useAgentChannelList.d.ts +43 -0
- package/channel/useAgentChannelList.d.ts.map +1 -0
- package/channel/useAgentChannelList.js +39 -0
- package/channel/useAgentChannelList.js.map +1 -0
- package/channel/useChannelSessions.d.ts +47 -0
- package/channel/useChannelSessions.d.ts.map +1 -0
- package/channel/useChannelSessions.js +38 -0
- package/channel/useChannelSessions.js.map +1 -0
- package/channel/useChannelToolReadiness.d.ts +23 -0
- package/channel/useChannelToolReadiness.d.ts.map +1 -0
- package/channel/useChannelToolReadiness.js +28 -0
- package/channel/useChannelToolReadiness.js.map +1 -0
- package/channel/useConnectSlackChannel.d.ts +75 -0
- package/channel/useConnectSlackChannel.d.ts.map +1 -0
- package/channel/useConnectSlackChannel.js +115 -0
- package/channel/useConnectSlackChannel.js.map +1 -0
- package/channel/useCreateAgentChannel.d.ts +42 -0
- package/channel/useCreateAgentChannel.d.ts.map +1 -0
- package/channel/useCreateAgentChannel.js +48 -0
- package/channel/useCreateAgentChannel.js.map +1 -0
- package/channel/useDeleteAgentChannel.d.ts +40 -0
- package/channel/useDeleteAgentChannel.d.ts.map +1 -0
- package/channel/useDeleteAgentChannel.js +44 -0
- package/channel/useDeleteAgentChannel.js.map +1 -0
- package/channel/useInstallChannel.d.ts +60 -0
- package/channel/useInstallChannel.d.ts.map +1 -0
- package/channel/useInstallChannel.js +63 -0
- package/channel/useInstallChannel.js.map +1 -0
- package/channel/useOrgAgentChannelList.d.ts +32 -0
- package/channel/useOrgAgentChannelList.d.ts.map +1 -0
- package/channel/useOrgAgentChannelList.js +29 -0
- package/channel/useOrgAgentChannelList.js.map +1 -0
- package/channel/useSaveAgentChannel.d.ts +63 -0
- package/channel/useSaveAgentChannel.d.ts.map +1 -0
- package/channel/useSaveAgentChannel.js +104 -0
- package/channel/useSaveAgentChannel.js.map +1 -0
- package/channel-app/ChannelAppDetailPanel.d.ts +46 -0
- package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -0
- package/channel-app/ChannelAppDetailPanel.js +142 -0
- package/channel-app/ChannelAppDetailPanel.js.map +1 -0
- package/channel-app/ChannelAppListPanel.d.ts +36 -0
- package/channel-app/ChannelAppListPanel.d.ts.map +1 -0
- package/channel-app/ChannelAppListPanel.js +63 -0
- package/channel-app/ChannelAppListPanel.js.map +1 -0
- package/channel-app/CreateChannelAppForm.d.ts +54 -0
- package/channel-app/CreateChannelAppForm.d.ts.map +1 -0
- package/channel-app/CreateChannelAppForm.js +140 -0
- package/channel-app/CreateChannelAppForm.js.map +1 -0
- package/channel-app/index.d.ts +18 -0
- package/channel-app/index.d.ts.map +1 -0
- package/channel-app/index.js +10 -0
- package/channel-app/index.js.map +1 -0
- package/channel-app/internal.d.ts +33 -0
- package/channel-app/internal.d.ts.map +1 -0
- package/channel-app/internal.js +44 -0
- package/channel-app/internal.js.map +1 -0
- package/channel-app/slackAppSetup.d.ts +80 -0
- package/channel-app/slackAppSetup.d.ts.map +1 -0
- package/channel-app/slackAppSetup.js +123 -0
- package/channel-app/slackAppSetup.js.map +1 -0
- package/channel-app/useChannelAppList.d.ts +35 -0
- package/channel-app/useChannelAppList.d.ts.map +1 -0
- package/channel-app/useChannelAppList.js +34 -0
- package/channel-app/useChannelAppList.js.map +1 -0
- package/channel-app/useCreateChannelApp.d.ts +39 -0
- package/channel-app/useCreateChannelApp.d.ts.map +1 -0
- package/channel-app/useCreateChannelApp.js +50 -0
- package/channel-app/useCreateChannelApp.js.map +1 -0
- package/channel-app/useDeleteChannelApp.d.ts +31 -0
- package/channel-app/useDeleteChannelApp.d.ts.map +1 -0
- package/channel-app/useDeleteChannelApp.js +43 -0
- package/channel-app/useDeleteChannelApp.js.map +1 -0
- package/channel-app/useUpdateChannelApp.d.ts +39 -0
- package/channel-app/useUpdateChannelApp.d.ts.map +1 -0
- package/channel-app/useUpdateChannelApp.js +50 -0
- package/channel-app/useUpdateChannelApp.js.map +1 -0
- package/channel-app/whatsappAppSetup.d.ts +51 -0
- package/channel-app/whatsappAppSetup.d.ts.map +1 -0
- package/channel-app/whatsappAppSetup.js +57 -0
- package/channel-app/whatsappAppSetup.js.map +1 -0
- package/environment/index.d.ts +2 -0
- package/environment/index.d.ts.map +1 -1
- package/environment/index.js +1 -0
- package/environment/index.js.map +1 -1
- package/environment/useToolCredentialsReadiness.d.ts +52 -0
- package/environment/useToolCredentialsReadiness.d.ts.map +1 -0
- package/environment/useToolCredentialsReadiness.js +84 -0
- package/environment/useToolCredentialsReadiness.js.map +1 -0
- package/execution/ArtifactContentBody.d.ts.map +1 -1
- package/execution/ArtifactContentBody.js +5 -21
- package/execution/ArtifactContentBody.js.map +1 -1
- package/execution/ArtifactFileContent.d.ts +28 -0
- package/execution/ArtifactFileContent.d.ts.map +1 -0
- package/execution/ArtifactFileContent.js +36 -0
- package/execution/ArtifactFileContent.js.map +1 -0
- package/execution/ArtifactRow.d.ts +8 -20
- package/execution/ArtifactRow.d.ts.map +1 -1
- package/execution/ArtifactRow.js +12 -45
- package/execution/ArtifactRow.js.map +1 -1
- package/execution/ArtifactRowView.d.ts +43 -0
- package/execution/ArtifactRowView.d.ts.map +1 -0
- package/execution/ArtifactRowView.js +35 -0
- package/execution/ArtifactRowView.js.map +1 -0
- package/execution/FileChangesView.d.ts.map +1 -1
- package/execution/FileChangesView.js +1 -61
- package/execution/FileChangesView.js.map +1 -1
- package/execution/SubAgentSection.d.ts.map +1 -1
- package/execution/SubAgentSection.js +4 -15
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +16 -61
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/agent-execution-document.d.ts +31 -0
- package/execution/agent-execution-document.d.ts.map +1 -0
- package/execution/agent-execution-document.js +48 -0
- package/execution/agent-execution-document.js.map +1 -0
- package/{session → execution}/artifact-document.d.ts +2 -3
- package/execution/artifact-document.d.ts.map +1 -0
- package/execution/artifact-document.js +23 -0
- package/execution/artifact-document.js.map +1 -0
- package/execution/artifact-row-item.d.ts +56 -0
- package/execution/artifact-row-item.d.ts.map +1 -0
- package/execution/artifact-row-item.js +57 -0
- package/execution/artifact-row-item.js.map +1 -0
- package/execution/deriveExecutionFileChanges.d.ts +55 -0
- package/execution/deriveExecutionFileChanges.d.ts.map +1 -0
- package/execution/deriveExecutionFileChanges.js +216 -0
- package/execution/deriveExecutionFileChanges.js.map +1 -0
- package/execution/file-change-document.d.ts +22 -0
- package/execution/file-change-document.d.ts.map +1 -0
- package/execution/file-change-document.js +34 -0
- package/execution/file-change-document.js.map +1 -0
- package/execution/index.d.ts +14 -0
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +9 -0
- package/execution/index.js.map +1 -1
- package/execution/useArtifactContentById.d.ts +61 -0
- package/execution/useArtifactContentById.d.ts.map +1 -0
- package/execution/useArtifactContentById.js +63 -0
- package/execution/useArtifactContentById.js.map +1 -0
- package/execution/useArtifactDownload.d.ts +4 -3
- package/execution/useArtifactDownload.d.ts.map +1 -1
- package/execution/useArtifactDownload.js +4 -3
- package/execution/useArtifactDownload.js.map +1 -1
- package/execution/useCreateAgentExecution.d.ts +1 -1
- package/execution/useLiveAgentExecution.d.ts +59 -0
- package/execution/useLiveAgentExecution.d.ts.map +1 -0
- package/execution/useLiveAgentExecution.js +73 -0
- package/execution/useLiveAgentExecution.js.map +1 -0
- package/index.d.ts +15 -10
- package/index.d.ts.map +1 -1
- package/index.js +21 -6
- package/index.js.map +1 -1
- package/internal/DecisionButton.d.ts +4 -3
- package/internal/DecisionButton.d.ts.map +1 -1
- package/internal/DecisionButton.js +4 -3
- package/internal/DecisionButton.js.map +1 -1
- package/internal/oauthPopup.d.ts +101 -0
- package/internal/oauthPopup.d.ts.map +1 -0
- package/internal/oauthPopup.js +208 -0
- package/internal/oauthPopup.js.map +1 -0
- package/internal/store/index.d.ts +0 -2
- package/internal/store/index.d.ts.map +1 -1
- package/internal/store/index.js +0 -1
- package/internal/store/index.js.map +1 -1
- package/internal/store/workflow-execution-event-store.d.ts +34 -1
- package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
- package/internal/store/workflow-execution-event-store.js +81 -3
- package/internal/store/workflow-execution-event-store.js.map +1 -1
- package/internal/store/workspace-file-selection-store.d.ts +1 -2
- package/internal/store/workspace-file-selection-store.d.ts.map +1 -1
- package/internal/store/workspace-file-selection-store.js +2 -5
- package/internal/store/workspace-file-selection-store.js.map +1 -1
- package/internal/thread-card/ThreadCardShell.d.ts +91 -0
- package/internal/thread-card/ThreadCardShell.d.ts.map +1 -0
- package/internal/thread-card/ThreadCardShell.js +41 -0
- package/internal/thread-card/ThreadCardShell.js.map +1 -0
- package/internal/thread-card/glyphs.d.ts +34 -0
- package/internal/thread-card/glyphs.d.ts.map +1 -0
- package/internal/thread-card/glyphs.js +50 -0
- package/internal/thread-card/glyphs.js.map +1 -0
- package/internal/thread-card/index.d.ts +3 -0
- package/internal/thread-card/index.d.ts.map +1 -0
- package/internal/thread-card/index.js +3 -0
- package/internal/thread-card/index.js.map +1 -0
- package/internal/useRevealLine.d.ts +2 -2
- package/internal/useRevealLine.js +2 -2
- package/mcp-server/OAuthCallbackHandler.js +1 -1
- package/mcp-server/OAuthCallbackHandler.js.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -23
- package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
- package/mcp-server/useMcpServerOAuthConnect.js +12 -145
- package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
- package/package.json +4 -4
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +0 -1
- package/session/NewSessionViewer.js.map +1 -1
- package/session/SessionPanelChip.d.ts +7 -22
- package/session/SessionPanelChip.d.ts.map +1 -1
- package/session/SessionPanelChip.js +8 -36
- package/session/SessionPanelChip.js.map +1 -1
- package/session/SessionViewer.d.ts +7 -4
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +32 -30
- package/session/SessionViewer.js.map +1 -1
- package/session/audience.d.ts +15 -1
- package/session/audience.d.ts.map +1 -1
- package/session/channelOrigin.d.ts +33 -0
- package/session/channelOrigin.d.ts.map +1 -0
- package/session/channelOrigin.js +36 -0
- package/session/channelOrigin.js.map +1 -0
- package/session/facets/index.d.ts +0 -2
- package/session/facets/index.d.ts.map +1 -1
- package/session/facets/index.js +0 -1
- package/session/facets/index.js.map +1 -1
- package/session/index.d.ts +2 -2
- package/session/index.d.ts.map +1 -1
- package/session/index.js +5 -3
- package/session/index.js.map +1 -1
- package/session/useNewSessionFlow.d.ts +4 -0
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +33 -4
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/usePersistedModel.d.ts +11 -0
- package/session/usePersistedModel.d.ts.map +1 -1
- package/session/usePersistedModel.js +14 -3
- package/session/usePersistedModel.js.map +1 -1
- package/session/useSessionFileChanges.d.ts +10 -34
- package/session/useSessionFileChanges.d.ts.map +1 -1
- package/session/useSessionFileChanges.js +9 -141
- package/session/useSessionFileChanges.js.map +1 -1
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +12 -1
- package/session/useSessionPageFlow.js.map +1 -1
- package/session/useSessionPanel.d.ts +5 -15
- package/session/useSessionPanel.d.ts.map +1 -1
- package/session/useSessionPanel.js +3 -35
- package/session/useSessionPanel.js.map +1 -1
- package/session/useSessionRailViews.d.ts +3 -6
- package/session/useSessionRailViews.d.ts.map +1 -1
- package/session/useSessionRailViews.js +3 -17
- package/session/useSessionRailViews.js.map +1 -1
- package/settings/ChannelAppsSection.d.ts +13 -0
- package/settings/ChannelAppsSection.d.ts.map +1 -0
- package/settings/ChannelAppsSection.js +48 -0
- package/settings/ChannelAppsSection.js.map +1 -0
- package/settings/index.d.ts +1 -0
- package/settings/index.d.ts.map +1 -1
- package/settings/index.js +1 -0
- package/settings/index.js.map +1 -1
- package/settings/settings-nav.d.ts.map +1 -1
- package/settings/settings-nav.js +6 -1
- package/settings/settings-nav.js.map +1 -1
- package/sharing/AgentShareList.d.ts.map +1 -1
- package/sharing/AgentShareList.js +11 -3
- package/sharing/AgentShareList.js.map +1 -1
- package/sharing/ShareAgentDialog.js +1 -1
- package/sharing/useShareToolReadiness.d.ts +9 -38
- package/sharing/useShareToolReadiness.d.ts.map +1 -1
- package/sharing/useShareToolReadiness.js +7 -72
- package/sharing/useShareToolReadiness.js.map +1 -1
- package/src/agent-instance/AgentInstanceList.tsx +60 -42
- package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
- package/src/channel/AgentChannelsPanel.tsx +688 -0
- package/src/channel/ChannelConversationsDialog.tsx +267 -0
- package/src/channel/ChannelCredentialsDialog.tsx +219 -0
- package/src/channel/ChannelToolCredentials.tsx +124 -0
- package/src/channel/ConnectSlackDialog.tsx +611 -0
- package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
- package/src/channel/SlackMarkIcon.tsx +21 -0
- package/src/channel/WhatsAppMarkIcon.tsx +22 -0
- package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
- package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
- package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
- package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
- package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
- package/src/channel/__tests__/providers.test.ts +118 -0
- package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
- package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
- package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
- package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
- package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
- package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
- package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
- package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
- package/src/channel/connect/ServingAppSection.tsx +185 -0
- package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
- package/src/channel/connect/VerbatimRefusal.tsx +27 -0
- package/src/channel/connect/icons.tsx +42 -0
- package/src/channel/index.ts +65 -0
- package/src/channel/providerPresentation.ts +154 -0
- package/src/channel/providers.ts +73 -0
- package/src/channel/useAgentChannel.ts +58 -0
- package/src/channel/useAgentChannelList.ts +69 -0
- package/src/channel/useChannelSessions.ts +73 -0
- package/src/channel/useChannelToolReadiness.ts +39 -0
- package/src/channel/useConnectSlackChannel.ts +195 -0
- package/src/channel/useCreateAgentChannel.ts +73 -0
- package/src/channel/useDeleteAgentChannel.ts +71 -0
- package/src/channel/useInstallChannel.ts +117 -0
- package/src/channel/useOrgAgentChannelList.ts +60 -0
- package/src/channel/useSaveAgentChannel.ts +133 -0
- package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
- package/src/channel-app/ChannelAppListPanel.tsx +201 -0
- package/src/channel-app/CreateChannelAppForm.tsx +529 -0
- package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
- package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
- package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
- package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
- package/src/channel-app/index.ts +30 -0
- package/src/channel-app/internal.tsx +180 -0
- package/src/channel-app/slackAppSetup.ts +153 -0
- package/src/channel-app/useChannelAppList.ts +59 -0
- package/src/channel-app/useCreateChannelApp.ts +70 -0
- package/src/channel-app/useDeleteChannelApp.ts +62 -0
- package/src/channel-app/useUpdateChannelApp.ts +70 -0
- package/src/channel-app/whatsappAppSetup.ts +62 -0
- package/src/environment/index.ts +2 -0
- package/src/environment/useToolCredentialsReadiness.ts +122 -0
- package/src/execution/ArtifactContentBody.tsx +6 -88
- package/src/execution/ArtifactFileContent.tsx +110 -0
- package/src/execution/ArtifactRow.tsx +28 -118
- package/src/execution/ArtifactRowView.tsx +137 -0
- package/src/execution/FileChangesView.tsx +4 -69
- package/src/execution/SubAgentSection.tsx +2 -36
- package/src/execution/ToolCallItem.tsx +48 -175
- package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
- package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
- package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
- package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
- package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
- package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
- package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
- package/src/execution/agent-execution-document.ts +54 -0
- package/src/execution/artifact-document.ts +24 -0
- package/src/execution/artifact-row-item.ts +97 -0
- package/src/execution/deriveExecutionFileChanges.ts +237 -0
- package/src/execution/file-change-document.ts +37 -0
- package/src/execution/index.ts +36 -0
- package/src/execution/useArtifactContentById.ts +120 -0
- package/src/execution/useArtifactDownload.ts +4 -3
- package/src/execution/useCreateAgentExecution.ts +1 -1
- package/src/execution/useLiveAgentExecution.ts +127 -0
- package/src/index.ts +155 -11
- package/src/internal/DecisionButton.tsx +4 -3
- package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
- package/src/internal/__tests__/oauthPopup.test.ts +245 -0
- package/src/internal/oauthPopup.ts +261 -0
- package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
- package/src/internal/store/index.ts +0 -3
- package/src/internal/store/workflow-execution-event-store.ts +123 -4
- package/src/internal/store/workspace-file-selection-store.ts +2 -5
- package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
- package/src/internal/thread-card/glyphs.tsx +108 -0
- package/src/internal/thread-card/index.ts +19 -0
- package/src/internal/useRevealLine.ts +2 -2
- package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
- package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
- package/src/session/NewSessionViewer.tsx +0 -1
- package/src/session/SessionPanelChip.tsx +10 -96
- package/src/session/SessionViewer.tsx +170 -144
- package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
- package/src/session/__tests__/observerAudience.test.tsx +241 -0
- package/src/session/__tests__/useNewSessionFlow.test.tsx +64 -0
- package/src/session/__tests__/usePersistedModel.test.tsx +36 -0
- package/src/session/__tests__/useSessionPageFlow.guest.test.tsx +48 -1
- package/src/session/__tests__/useSessionPanel.test.ts +6 -61
- package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
- package/src/session/audience.ts +15 -1
- package/src/session/channelOrigin.ts +45 -0
- package/src/session/facets/index.ts +0 -3
- package/src/session/index.ts +9 -6
- package/src/session/useNewSessionFlow.ts +35 -4
- package/src/session/usePersistedModel.ts +25 -3
- package/src/session/useSessionFileChanges.ts +12 -153
- package/src/session/useSessionPageFlow.ts +13 -2
- package/src/session/useSessionPanel.ts +8 -51
- package/src/session/useSessionRailViews.tsx +2 -27
- package/src/settings/ChannelAppsSection.tsx +133 -0
- package/src/settings/index.ts +1 -0
- package/src/settings/settings-nav.ts +6 -0
- package/src/sharing/AgentShareList.tsx +85 -64
- package/src/sharing/ShareAgentDialog.tsx +1 -1
- package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
- package/src/sharing/useShareToolReadiness.ts +13 -101
- package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
- package/src/workflow/WorkflowApprovalList.tsx +158 -0
- package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
- package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
- package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
- package/src/workflow/WorkflowFileReviewList.tsx +1 -1
- package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
- package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
- package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
- package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
- package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
- package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
- package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
- package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
- package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
- package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
- package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
- package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
- package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
- package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
- package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
- package/src/workflow/__tests__/execution-graph.test.ts +8 -0
- package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
- package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
- package/src/workflow/__tests__/task-approval.test.ts +149 -0
- package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
- package/src/workflow/__tests__/task-presentation.test.ts +479 -0
- package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
- package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
- package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
- package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
- package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
- package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
- package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
- package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
- package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
- package/src/workflow/diagnosis-document.ts +31 -0
- package/src/workflow/execution/index.ts +0 -15
- package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
- package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
- package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
- package/src/workflow/format-utils.ts +2 -3
- package/src/workflow/index.ts +106 -62
- package/src/workflow/inspector/index.ts +0 -4
- package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
- package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
- package/src/workflow/task-detail/index.ts +11 -0
- package/src/workflow/task-detail/task-approval.ts +158 -0
- package/src/workflow/task-detail/task-detail-io.ts +65 -0
- package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
- package/src/workflow/thread/project-thread-items.ts +235 -0
- package/src/workflow/thread/task-presentation.ts +427 -0
- package/src/workflow/thread/thread-presentation.ts +59 -0
- package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
- package/src/workflow/useApprovalBoundary.ts +72 -0
- package/src/workflow/useFollowExecution.ts +0 -26
- package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
- package/src/workflow/useWorkflowExecutionActions.ts +3 -2
- package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
- package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
- package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
- package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
- package/src/workspace/FileViewer.tsx +3 -3
- package/src/workspace/PanelChip.tsx +103 -0
- package/src/workspace/WorkspaceSurface.tsx +50 -6
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
- package/src/workspace/index.ts +3 -0
- package/styles.css +1 -1
- package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
- package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
- package/workflow/WorkflowAgentExecutionDocument.js +87 -0
- package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
- package/workflow/WorkflowApprovalList.d.ts +62 -0
- package/workflow/WorkflowApprovalList.d.ts.map +1 -0
- package/workflow/WorkflowApprovalList.js +52 -0
- package/workflow/WorkflowApprovalList.js.map +1 -0
- package/workflow/WorkflowArtifactDocument.d.ts +29 -0
- package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
- package/workflow/WorkflowArtifactDocument.js +89 -0
- package/workflow/WorkflowArtifactDocument.js.map +1 -0
- package/workflow/WorkflowExecutionGraph.d.ts +15 -13
- package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/WorkflowExecutionGraph.js +18 -53
- package/workflow/WorkflowExecutionGraph.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts +8 -5
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +329 -54
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowFileReviewList.d.ts +1 -1
- package/workflow/WorkflowFileReviewList.js +1 -1
- package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
- package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalCard.js +5 -4
- package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
- package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
- package/workflow/WorkflowTaskApprovalSummary.js +5 -5
- package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
- package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowArtifactItems.js +38 -0
- package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
- package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
- package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
- package/workflow/deriveWorkflowUsageItems.js +50 -0
- package/workflow/deriveWorkflowUsageItems.js.map +1 -0
- package/workflow/diagnosis-document.d.ts +17 -0
- package/workflow/diagnosis-document.d.ts.map +1 -0
- package/workflow/diagnosis-document.js +29 -0
- package/workflow/diagnosis-document.js.map +1 -0
- package/workflow/execution/index.d.ts +0 -2
- package/workflow/execution/index.d.ts.map +1 -1
- package/workflow/execution/index.js +0 -2
- package/workflow/execution/index.js.map +1 -1
- package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
- package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowArtifactsTab.js +34 -0
- package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
- package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
- package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowChangesTab.js +50 -0
- package/workflow/facets/WorkflowChangesTab.js.map +1 -0
- package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
- package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
- package/workflow/facets/WorkflowUsageTab.js +87 -0
- package/workflow/facets/WorkflowUsageTab.js.map +1 -0
- package/workflow/format-utils.d.ts +2 -3
- package/workflow/format-utils.d.ts.map +1 -1
- package/workflow/format-utils.js +2 -3
- package/workflow/format-utils.js.map +1 -1
- package/workflow/index.d.ts +21 -10
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +29 -14
- package/workflow/index.js.map +1 -1
- package/workflow/inspector/index.d.ts +0 -2
- package/workflow/inspector/index.d.ts.map +1 -1
- package/workflow/inspector/index.js +0 -2
- package/workflow/inspector/index.js.map +1 -1
- package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
- package/workflow/instance/WorkflowInstanceList.js +11 -3
- package/workflow/instance/WorkflowInstanceList.js.map +1 -1
- package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
- package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
- package/workflow/task-detail/index.d.ts +4 -0
- package/workflow/task-detail/index.d.ts.map +1 -0
- package/workflow/task-detail/index.js +4 -0
- package/workflow/task-detail/index.js.map +1 -0
- package/workflow/task-detail/task-approval.d.ts +89 -0
- package/workflow/task-detail/task-approval.d.ts.map +1 -0
- package/workflow/task-detail/task-approval.js +84 -0
- package/workflow/task-detail/task-approval.js.map +1 -0
- package/workflow/task-detail/task-detail-io.d.ts +39 -0
- package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
- package/workflow/task-detail/task-detail-io.js +42 -0
- package/workflow/task-detail/task-detail-io.js.map +1 -0
- package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
- package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
- package/workflow/thread/WorkflowTaskThread.js +318 -0
- package/workflow/thread/WorkflowTaskThread.js.map +1 -0
- package/workflow/thread/project-thread-items.d.ts +108 -0
- package/workflow/thread/project-thread-items.d.ts.map +1 -0
- package/workflow/thread/project-thread-items.js +126 -0
- package/workflow/thread/project-thread-items.js.map +1 -0
- package/workflow/thread/task-presentation.d.ts +73 -0
- package/workflow/thread/task-presentation.d.ts.map +1 -0
- package/workflow/thread/task-presentation.js +331 -0
- package/workflow/thread/task-presentation.js.map +1 -0
- package/workflow/thread/thread-presentation.d.ts +28 -0
- package/workflow/thread/thread-presentation.d.ts.map +1 -0
- package/workflow/thread/thread-presentation.js +28 -0
- package/workflow/thread/thread-presentation.js.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
- package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
- package/workflow/thread/useWorkflowThreadItems.js +22 -0
- package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
- package/workflow/useApprovalBoundary.d.ts +38 -0
- package/workflow/useApprovalBoundary.d.ts.map +1 -0
- package/workflow/useApprovalBoundary.js +55 -0
- package/workflow/useApprovalBoundary.js.map +1 -0
- package/workflow/useFollowExecution.d.ts +0 -20
- package/workflow/useFollowExecution.d.ts.map +1 -1
- package/workflow/useFollowExecution.js +0 -17
- package/workflow/useFollowExecution.js.map +1 -1
- package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
- package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
- package/workflow/useWorkflowArtifactDownload.js +45 -0
- package/workflow/useWorkflowArtifactDownload.js.map +1 -0
- package/workflow/useWorkflowExecutionActions.d.ts +3 -2
- package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionActions.js.map +1 -1
- package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
- package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionFileChanges.js +244 -0
- package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
- package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
- package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionGraph.js +2 -25
- package/workflow/useWorkflowExecutionGraph.js.map +1 -1
- package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
- package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionPanel.js +103 -0
- package/workflow/useWorkflowExecutionPanel.js.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
- package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
- package/workflow/useWorkflowExecutionRailViews.js +81 -0
- package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
- package/workspace/FileViewer.d.ts +1 -1
- package/workspace/FileViewer.js +3 -3
- package/workspace/FileViewer.js.map +1 -1
- package/workspace/PanelChip.d.ts +27 -0
- package/workspace/PanelChip.d.ts.map +1 -0
- package/workspace/PanelChip.js +42 -0
- package/workspace/PanelChip.js.map +1 -0
- package/workspace/WorkspaceSurface.d.ts +25 -1
- package/workspace/WorkspaceSurface.d.ts.map +1 -1
- package/workspace/WorkspaceSurface.js +21 -9
- package/workspace/WorkspaceSurface.js.map +1 -1
- package/workspace/index.d.ts +3 -1
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +1 -0
- package/workspace/index.js.map +1 -1
- package/execution/ThreadSelectionContext.d.ts +0 -17
- package/execution/ThreadSelectionContext.d.ts.map +0 -1
- package/execution/ThreadSelectionContext.js +0 -18
- package/execution/ThreadSelectionContext.js.map +0 -1
- package/execution/useThreadSelection.d.ts +0 -35
- package/execution/useThreadSelection.d.ts.map +0 -1
- package/execution/useThreadSelection.js +0 -65
- package/execution/useThreadSelection.js.map +0 -1
- package/internal/store/selection-store.d.ts +0 -53
- package/internal/store/selection-store.d.ts.map +0 -1
- package/internal/store/selection-store.js +0 -88
- package/internal/store/selection-store.js.map +0 -1
- package/session/artifact-document.d.ts.map +0 -1
- package/session/artifact-document.js +0 -22
- package/session/artifact-document.js.map +0 -1
- package/session/facets/InspectTab.d.ts +0 -13
- package/session/facets/InspectTab.d.ts.map +0 -1
- package/session/facets/InspectTab.js +0 -19
- package/session/facets/InspectTab.js.map +0 -1
- package/src/execution/ThreadSelectionContext.tsx +0 -20
- package/src/execution/useThreadSelection.ts +0 -95
- package/src/internal/store/__tests__/selection-store.test.ts +0 -115
- package/src/internal/store/selection-store.ts +0 -112
- package/src/session/artifact-document.ts +0 -23
- package/src/session/facets/InspectTab.tsx +0 -57
- package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
- package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
- package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
- package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
- package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
- package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
- package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
- package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
- package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
- package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
- package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
- package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
- package/src/workflow/execution/useWaterfallEntries.ts +0 -125
- package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
- package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
- package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
- package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
- package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
- package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
- package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
- package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
- package/src/workflow/execution-inspector/index.ts +0 -14
- package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
- package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
- package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
- package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
- package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
- package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
- package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
- package/src/workflow/waterfall/index.ts +0 -5
- package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
- package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
- package/workflow/WorkflowExecutionApprovalCard.js +0 -46
- package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
- package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
- package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
- package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionCostPanel.js +0 -31
- package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
- package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTaskPanel.js +0 -51
- package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
- package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
- package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimeline.js +0 -52
- package/workflow/WorkflowExecutionTimeline.js.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
- package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
- package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
- package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
- package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
- package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
- package/workflow/execution/derive-waterfall-entries.js +0 -268
- package/workflow/execution/derive-waterfall-entries.js.map +0 -1
- package/workflow/execution/useWaterfallEntries.d.ts +0 -25
- package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
- package/workflow/execution/useWaterfallEntries.js +0 -67
- package/workflow/execution/useWaterfallEntries.js.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
- package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
- package/workflow/execution-inspector/AgentCallTab.js +0 -36
- package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
- package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
- package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
- package/workflow/execution-inspector/ErrorTab.js +0 -29
- package/workflow/execution-inspector/ErrorTab.js.map +0 -1
- package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
- package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
- package/workflow/execution-inspector/EventLogTab.js +0 -47
- package/workflow/execution-inspector/EventLogTab.js.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
- package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
- package/workflow/execution-inspector/ExecutionInspector.js +0 -145
- package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
- package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
- package/workflow/execution-inspector/InputOutputTab.js +0 -124
- package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
- package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
- package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
- package/workflow/execution-inspector/RetriesTab.js +0 -11
- package/workflow/execution-inspector/RetriesTab.js.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
- package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
- package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
- package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
- package/workflow/execution-inspector/SummaryTab.js +0 -10
- package/workflow/execution-inspector/SummaryTab.js.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
- package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
- package/workflow/execution-inspector/derive-task-detail.js +0 -366
- package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
- package/workflow/execution-inspector/index.d.ts +0 -4
- package/workflow/execution-inspector/index.d.ts.map +0 -1
- package/workflow/execution-inspector/index.js +0 -4
- package/workflow/execution-inspector/index.js.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
- package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
- package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
- package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
- package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
- package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
- package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
- package/workflow/waterfall/WaterfallBar.d.ts +0 -19
- package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallBar.js +0 -70
- package/workflow/waterfall/WaterfallBar.js.map +0 -1
- package/workflow/waterfall/WaterfallRow.d.ts +0 -18
- package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallRow.js +0 -45
- package/workflow/waterfall/WaterfallRow.js.map +0 -1
- package/workflow/waterfall/WaterfallScale.d.ts +0 -14
- package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallScale.js +0 -22
- package/workflow/waterfall/WaterfallScale.js.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
- package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTimeline.js +0 -60
- package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
- package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
- package/workflow/waterfall/WaterfallTooltip.js +0 -20
- package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
- package/workflow/waterfall/index.d.ts +0 -6
- package/workflow/waterfall/index.d.ts.map +0 -1
- package/workflow/waterfall/index.js +0 -6
- package/workflow/waterfall/index.js.map +0 -1
- /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
- /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@stigmer/theme";
|
|
4
|
+
/**
|
|
5
|
+
* Inline icons shared by the channel connect dialogs. Package-internal:
|
|
6
|
+
* content-level pieces stay domain-local (the channel-app/internal.tsx
|
|
7
|
+
* convention).
|
|
8
|
+
*/
|
|
9
|
+
export function CloseIcon() {
|
|
10
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "m3 3 8 8M11 3l-8 8" }) }));
|
|
11
|
+
}
|
|
12
|
+
export function CheckIcon({ className }) {
|
|
13
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "m3 8.5 3.5 3.5L13 5" }) }));
|
|
14
|
+
}
|
|
15
|
+
export function ChevronIcon({ className }) {
|
|
16
|
+
return (_jsx("svg", { className: className, viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "m4.5 2.5 3.5 3.5-3.5 3.5" }) }));
|
|
17
|
+
}
|
|
18
|
+
export function Spinner({ className }) {
|
|
19
|
+
return (_jsxs("svg", { className: cn("animate-spin", className), viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeOpacity: "0.25", strokeWidth: "2" }), _jsx("path", { d: "M14.5 8A6.5 6.5 0 0 0 8 1.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/channel/connect/icons.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC;;;;GAIG;AAEH,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,iBAAa,MAAM,YAC1I,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAmC;IACtE,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,YAC9J,eAAM,CAAC,EAAC,qBAAqB,GAAG,GAC5B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAAmC;IACxE,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,YAChK,eAAM,CAAC,EAAC,0BAA0B,GAAG,GACjC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,EAAmC;IACpE,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,aAC/F,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,MAAM,EAAC,cAAc,EAAC,aAAa,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,GAAG,EAC3F,eAAM,CAAC,EAAC,6BAA6B,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,GAAG,IAChG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export { useAgentChannelList } from "./useAgentChannelList.js";
|
|
2
|
+
export type { UseAgentChannelListReturn } from "./useAgentChannelList.js";
|
|
3
|
+
export { useOrgAgentChannelList } from "./useOrgAgentChannelList.js";
|
|
4
|
+
export type { UseOrgAgentChannelListReturn } from "./useOrgAgentChannelList.js";
|
|
5
|
+
export { CHANNEL_PROVIDERS, channelProviderOf } from "./providers.js";
|
|
6
|
+
export type { ChannelProviderDescriptor, ChannelProviderId, ChannelInstallStyle, } from "./providers.js";
|
|
7
|
+
export { channelPresentationOf, DEFAULT_CHANNEL_PRESENTATION, } from "./providerPresentation.js";
|
|
8
|
+
export type { ChannelProviderPresentation } from "./providerPresentation.js";
|
|
9
|
+
export { useAgentChannel } from "./useAgentChannel.js";
|
|
10
|
+
export type { UseAgentChannelReturn } from "./useAgentChannel.js";
|
|
11
|
+
export { useSaveAgentChannel, agentChannelToInput } from "./useSaveAgentChannel.js";
|
|
12
|
+
export type { UseSaveAgentChannelReturn } from "./useSaveAgentChannel.js";
|
|
13
|
+
export { useCreateAgentChannel } from "./useCreateAgentChannel.js";
|
|
14
|
+
export type { UseCreateAgentChannelReturn } from "./useCreateAgentChannel.js";
|
|
15
|
+
export { useDeleteAgentChannel } from "./useDeleteAgentChannel.js";
|
|
16
|
+
export type { UseDeleteAgentChannelReturn } from "./useDeleteAgentChannel.js";
|
|
17
|
+
export { useConnectSlackChannel } from "./useConnectSlackChannel.js";
|
|
18
|
+
export type { UseConnectSlackChannelReturn, SlackConnectPhase, } from "./useConnectSlackChannel.js";
|
|
19
|
+
export { useInstallChannel } from "./useInstallChannel.js";
|
|
20
|
+
export type { UseInstallChannelReturn, InstallChannelPhase, } from "./useInstallChannel.js";
|
|
21
|
+
export { useChannelToolReadiness } from "./useChannelToolReadiness.js";
|
|
22
|
+
export { useChannelSessions } from "./useChannelSessions.js";
|
|
23
|
+
export type { UseChannelSessionsReturn } from "./useChannelSessions.js";
|
|
24
|
+
export { AgentChannelsPanel } from "./AgentChannelsPanel.js";
|
|
25
|
+
export type { AgentChannelsPanelProps } from "./AgentChannelsPanel.js";
|
|
26
|
+
export { ConnectSlackDialog } from "./ConnectSlackDialog.js";
|
|
27
|
+
export type { ConnectSlackDialogProps } from "./ConnectSlackDialog.js";
|
|
28
|
+
export { ConnectWhatsAppDialog } from "./ConnectWhatsAppDialog.js";
|
|
29
|
+
export type { ConnectWhatsAppDialogProps } from "./ConnectWhatsAppDialog.js";
|
|
30
|
+
export { ChannelCredentialsDialog } from "./ChannelCredentialsDialog.js";
|
|
31
|
+
export type { ChannelCredentialsDialogProps } from "./ChannelCredentialsDialog.js";
|
|
32
|
+
export { ChannelToolCredentials } from "./ChannelToolCredentials.js";
|
|
33
|
+
export type { ChannelToolCredentialsProps } from "./ChannelToolCredentials.js";
|
|
34
|
+
export { ChannelConversationsDialog } from "./ChannelConversationsDialog.js";
|
|
35
|
+
export type { ChannelConversationsDialogProps } from "./ChannelConversationsDialog.js";
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,YAAY,EACV,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpF,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACV,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC"}
|
package/channel/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { useAgentChannelList } from "./useAgentChannelList.js";
|
|
2
|
+
export { useOrgAgentChannelList } from "./useOrgAgentChannelList.js";
|
|
3
|
+
export { CHANNEL_PROVIDERS, channelProviderOf } from "./providers.js";
|
|
4
|
+
export { channelPresentationOf, DEFAULT_CHANNEL_PRESENTATION, } from "./providerPresentation.js";
|
|
5
|
+
export { useAgentChannel } from "./useAgentChannel.js";
|
|
6
|
+
export { useSaveAgentChannel, agentChannelToInput } from "./useSaveAgentChannel.js";
|
|
7
|
+
export { useCreateAgentChannel } from "./useCreateAgentChannel.js";
|
|
8
|
+
export { useDeleteAgentChannel } from "./useDeleteAgentChannel.js";
|
|
9
|
+
export { useConnectSlackChannel } from "./useConnectSlackChannel.js";
|
|
10
|
+
export { useInstallChannel } from "./useInstallChannel.js";
|
|
11
|
+
export { useChannelToolReadiness } from "./useChannelToolReadiness.js";
|
|
12
|
+
export { useChannelSessions } from "./useChannelSessions.js";
|
|
13
|
+
export { AgentChannelsPanel } from "./AgentChannelsPanel.js";
|
|
14
|
+
export { ConnectSlackDialog } from "./ConnectSlackDialog.js";
|
|
15
|
+
export { ConnectWhatsAppDialog } from "./ConnectWhatsAppDialog.js";
|
|
16
|
+
export { ChannelCredentialsDialog } from "./ChannelCredentialsDialog.js";
|
|
17
|
+
export { ChannelToolCredentials } from "./ChannelToolCredentials.js";
|
|
18
|
+
export { ChannelConversationsDialog } from "./ChannelConversationsDialog.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOtE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
|
|
2
|
+
import type { ChannelProviderId } from "./providers.js";
|
|
3
|
+
/**
|
|
4
|
+
* Per-provider copy for the channel management surfaces.
|
|
5
|
+
*
|
|
6
|
+
* Split from {@link ChannelProviderDescriptor} deliberately: the registry
|
|
7
|
+
* carries a provider's *identity* (id, label, icon, install style) —
|
|
8
|
+
* stable facts every surface needs — while this module carries the
|
|
9
|
+
* *prose* the channels panel renders per provider. Keeping prose out of
|
|
10
|
+
* the descriptor keeps the registry declaration-shaped, and keeping it
|
|
11
|
+
* here keeps `AgentChannelsPanel` free of provider `if` branches.
|
|
12
|
+
*/
|
|
13
|
+
export interface ChannelProviderPresentation {
|
|
14
|
+
readonly id: ChannelProviderId;
|
|
15
|
+
/**
|
|
16
|
+
* One-line install facts under the channel name (the card's second
|
|
17
|
+
* line): where the channel is installed, since when, or why it isn't
|
|
18
|
+
* serving yet.
|
|
19
|
+
*/
|
|
20
|
+
readonly describeChannel: (channel: AgentChannel) => string;
|
|
21
|
+
/**
|
|
22
|
+
* The card's serving-app line: which provider app serves the channel
|
|
23
|
+
* and how members reach the agent through it. `servingAppName` is the
|
|
24
|
+
* resolved ChannelApp name, or `null` for the platform app (Slack
|
|
25
|
+
* only — WhatsApp is BYO-only and always has one).
|
|
26
|
+
*/
|
|
27
|
+
readonly servingLine: (servingAppName: string | null) => string;
|
|
28
|
+
/** Body copy of the disconnect confirmation prompt. */
|
|
29
|
+
readonly disconnectDescription: (channelName: string) => string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Fallback presentation for provider cases this UI doesn't know yet (a
|
|
33
|
+
* newer server) — the first registered provider, mirroring the panel's
|
|
34
|
+
* icon fallback to `CHANNEL_PROVIDERS[0]` so an unknown provider renders
|
|
35
|
+
* consistently rather than half-known.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DEFAULT_CHANNEL_PRESENTATION: ChannelProviderPresentation;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve a provider's presentation from a `provider_config` oneof case
|
|
40
|
+
* name. Returns `null` for unknown cases — callers fall back the same
|
|
41
|
+
* way they do for {@link channelProviderOf}.
|
|
42
|
+
*/
|
|
43
|
+
export declare function channelPresentationOf(providerCase: string | undefined): ChannelProviderPresentation | null;
|
|
44
|
+
//# sourceMappingURL=providerPresentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerPresentation.d.ts","sourceRoot":"","sources":["../../src/channel/providerPresentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAE9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;IAC5D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;IAChE,uDAAuD;IACvD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE;AAwFD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,2BACxB,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,2BAA2B,GAAG,IAAI,CAEpC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { timestampDate } from "@bufbuild/protobuf/wkt";
|
|
2
|
+
import { AgentChannelInstallState } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/status_pb";
|
|
3
|
+
const slackPresentation = {
|
|
4
|
+
id: "slack",
|
|
5
|
+
describeChannel: (channel) => {
|
|
6
|
+
const slack = channel.status?.providerStatus?.case === "slack"
|
|
7
|
+
? channel.status.providerStatus.value
|
|
8
|
+
: null;
|
|
9
|
+
const installedAt = slack?.installedAt
|
|
10
|
+
? timestampDate(slack.installedAt)
|
|
11
|
+
: null;
|
|
12
|
+
switch (installStateOf(channel)) {
|
|
13
|
+
case AgentChannelInstallState.installed:
|
|
14
|
+
return [
|
|
15
|
+
slack?.teamName ? `Workspace: ${slack.teamName}` : "Workspace connected",
|
|
16
|
+
installedAt ? `since ${formatDate(installedAt)}` : null,
|
|
17
|
+
]
|
|
18
|
+
.filter(Boolean)
|
|
19
|
+
.join(" \u00b7 ");
|
|
20
|
+
case AgentChannelInstallState.revoked:
|
|
21
|
+
return slack?.teamName
|
|
22
|
+
? `The Slack app was removed from ${slack.teamName} — reconnect to resume.`
|
|
23
|
+
: "The Slack app was removed from the workspace — reconnect to resume.";
|
|
24
|
+
default:
|
|
25
|
+
return "The Slack install hasn't been completed yet.";
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
servingLine: (servingAppName) => servingAppName
|
|
29
|
+
? `Serving app: ${servingAppName} (your app) — members @mention ${servingAppName}`
|
|
30
|
+
: "Serving app: Stigmer — members @mention Stigmer",
|
|
31
|
+
disconnectDescription: (channelName) => `"${channelName}" stops serving immediately and its stored Slack ` +
|
|
32
|
+
"install (including credentials) is removed. Members of the " +
|
|
33
|
+
"workspace can no longer reach the agent. To pause without " +
|
|
34
|
+
"disconnecting, turn the channel off instead.",
|
|
35
|
+
};
|
|
36
|
+
const whatsappPresentation = {
|
|
37
|
+
id: "whatsapp",
|
|
38
|
+
describeChannel: (channel) => {
|
|
39
|
+
const whatsapp = channel.status?.providerStatus?.case === "whatsapp"
|
|
40
|
+
? channel.status.providerStatus.value
|
|
41
|
+
: null;
|
|
42
|
+
const installedAt = whatsapp?.installedAt
|
|
43
|
+
? timestampDate(whatsapp.installedAt)
|
|
44
|
+
: null;
|
|
45
|
+
switch (installStateOf(channel)) {
|
|
46
|
+
case AgentChannelInstallState.installed: {
|
|
47
|
+
const number = whatsapp?.displayPhoneNumber || whatsapp?.phoneNumberId || null;
|
|
48
|
+
return [
|
|
49
|
+
number ? `Number: ${number}` : "Number connected",
|
|
50
|
+
whatsapp?.verifiedName ? `(${whatsapp.verifiedName})` : null,
|
|
51
|
+
installedAt ? `since ${formatDate(installedAt)}` : null,
|
|
52
|
+
]
|
|
53
|
+
.filter(Boolean)
|
|
54
|
+
.join(" \u00b7 ");
|
|
55
|
+
}
|
|
56
|
+
// Meta emits no revocation events (DD-010), so WhatsApp channels
|
|
57
|
+
// never transition to revoked today — handled anyway so a future
|
|
58
|
+
// server that learns to observe revocation degrades sensibly.
|
|
59
|
+
case AgentChannelInstallState.revoked:
|
|
60
|
+
return "The WhatsApp connection was revoked — reconnect to resume.";
|
|
61
|
+
default:
|
|
62
|
+
return "The WhatsApp connection hasn't been completed yet.";
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
servingLine: (servingAppName) => servingAppName
|
|
66
|
+
? `Serving app: ${servingAppName} (your Meta app) — people message the connected number`
|
|
67
|
+
: "Serving app: your Meta app — people message the connected number",
|
|
68
|
+
disconnectDescription: (channelName) =>
|
|
69
|
+
// No "(including credentials)" arm: WhatsApp credentials live on the
|
|
70
|
+
// shared ChannelApp (DD-WA-3) and outlive any one channel.
|
|
71
|
+
`"${channelName}" stops serving immediately and its WhatsApp ` +
|
|
72
|
+
"number binding is removed. People can no longer reach the agent " +
|
|
73
|
+
"on that number. To pause without disconnecting, turn the channel " +
|
|
74
|
+
"off instead.",
|
|
75
|
+
};
|
|
76
|
+
const PRESENTATIONS = [
|
|
77
|
+
slackPresentation,
|
|
78
|
+
whatsappPresentation,
|
|
79
|
+
];
|
|
80
|
+
/**
|
|
81
|
+
* Fallback presentation for provider cases this UI doesn't know yet (a
|
|
82
|
+
* newer server) — the first registered provider, mirroring the panel's
|
|
83
|
+
* icon fallback to `CHANNEL_PROVIDERS[0]` so an unknown provider renders
|
|
84
|
+
* consistently rather than half-known.
|
|
85
|
+
*/
|
|
86
|
+
export const DEFAULT_CHANNEL_PRESENTATION = slackPresentation;
|
|
87
|
+
/**
|
|
88
|
+
* Resolve a provider's presentation from a `provider_config` oneof case
|
|
89
|
+
* name. Returns `null` for unknown cases — callers fall back the same
|
|
90
|
+
* way they do for {@link channelProviderOf}.
|
|
91
|
+
*/
|
|
92
|
+
export function channelPresentationOf(providerCase) {
|
|
93
|
+
return PRESENTATIONS.find((p) => p.id === providerCase) ?? null;
|
|
94
|
+
}
|
|
95
|
+
function installStateOf(channel) {
|
|
96
|
+
return (channel.status?.installState ??
|
|
97
|
+
AgentChannelInstallState.agent_channel_install_state_unspecified);
|
|
98
|
+
}
|
|
99
|
+
function formatDate(date) {
|
|
100
|
+
return date.toLocaleDateString(undefined, {
|
|
101
|
+
year: "numeric",
|
|
102
|
+
month: "short",
|
|
103
|
+
day: "numeric",
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=providerPresentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerPresentation.js","sourceRoot":"","sources":["../../src/channel/providerPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAgCxG,MAAM,iBAAiB,GAAgC;IACrD,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GACT,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,KAAK,OAAO;YAC9C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK;YACrC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW;YACpC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC;QACT,QAAQ,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,KAAK,wBAAwB,CAAC,SAAS;gBACrC,OAAO;oBACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB;oBACxE,WAAW,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;iBACxD;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,KAAK,wBAAwB,CAAC,OAAO;gBACnC,OAAO,KAAK,EAAE,QAAQ;oBACpB,CAAC,CAAC,kCAAkC,KAAK,CAAC,QAAQ,yBAAyB;oBAC3E,CAAC,CAAC,qEAAqE,CAAC;YAC5E;gBACE,OAAO,8CAA8C,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE,CAC9B,cAAc;QACZ,CAAC,CAAC,gBAAgB,cAAc,kCAAkC,cAAc,EAAE;QAClF,CAAC,CAAC,iDAAiD;IACvD,qBAAqB,EAAE,CAAC,WAAW,EAAE,EAAE,CACrC,IAAI,WAAW,mDAAmD;QAClE,6DAA6D;QAC7D,4DAA4D;QAC5D,8CAA8C;CACjD,CAAC;AAEF,MAAM,oBAAoB,GAAgC;IACxD,EAAE,EAAE,UAAU;IACd,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,KAAK,UAAU;YACjD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK;YACrC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW;YACvC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC;QACT,QAAQ,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,KAAK,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxC,MAAM,MAAM,GACV,QAAQ,EAAE,kBAAkB,IAAI,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;gBAClE,OAAO;oBACL,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB;oBACjD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI;oBAC5D,WAAW,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;iBACxD;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YACD,iEAAiE;YACjE,iEAAiE;YACjE,8DAA8D;YAC9D,KAAK,wBAAwB,CAAC,OAAO;gBACnC,OAAO,4DAA4D,CAAC;YACtE;gBACE,OAAO,oDAAoD,CAAC;QAChE,CAAC;IACH,CAAC;IACD,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE,CAC9B,cAAc;QACZ,CAAC,CAAC,gBAAgB,cAAc,wDAAwD;QACxF,CAAC,CAAC,kEAAkE;IACxE,qBAAqB,EAAE,CAAC,WAAW,EAAE,EAAE;IACrC,qEAAqE;IACrE,2DAA2D;IAC3D,IAAI,WAAW,+CAA+C;QAC9D,kEAAkE;QAClE,mEAAmE;QACnE,cAAc;CACjB,CAAC;AAEF,MAAM,aAAa,GAA2C;IAC5D,iBAAiB;IACjB,oBAAoB;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,iBAAiB,CAAC;AAEpB;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAgC;IAEhC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,OAAO,CACL,OAAO,CAAC,MAAM,EAAE,YAAY;QAC5B,wBAAwB,CAAC,uCAAuC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Identifier of a channel provider — matches the `provider_config` oneof
|
|
4
|
+
* case name on `AgentChannelSpec` / `ChannelAppSpec`, which is the wire
|
|
5
|
+
* discriminator every channel surface already switches on.
|
|
6
|
+
*/
|
|
7
|
+
export type ChannelProviderId = "slack" | "whatsapp";
|
|
8
|
+
/**
|
|
9
|
+
* How a provider's install flow runs — the client-side hint for whether
|
|
10
|
+
* connecting needs a browser popup.
|
|
11
|
+
*
|
|
12
|
+
* - `redirect`: an OAuth consent redirect (Slack). The client opens a
|
|
13
|
+
* popup synchronously inside the user gesture — before `initiateInstall`
|
|
14
|
+
* answers — because browsers only allow `window.open` from a gesture
|
|
15
|
+
* call stack.
|
|
16
|
+
* - `direct`: `initiateInstall` runs the whole install server-side and
|
|
17
|
+
* answers `completed=true` (WhatsApp, DD-WA-1). No popup, no callback
|
|
18
|
+
* route; the client refetches the channel.
|
|
19
|
+
*
|
|
20
|
+
* The server's `InitiateChannelInstallOutput.completed` field stays the
|
|
21
|
+
* authoritative outcome (DD-WA-1b) — this hint only decides whether to
|
|
22
|
+
* pre-open a popup at all.
|
|
23
|
+
*/
|
|
24
|
+
export type ChannelInstallStyle = "redirect" | "direct";
|
|
25
|
+
/**
|
|
26
|
+
* Display descriptor for a channel provider.
|
|
27
|
+
*
|
|
28
|
+
* The single place a provider's UI identity lives. Adding a provider
|
|
29
|
+
* means adding a registry entry here (plus its presentation copy in
|
|
30
|
+
* providerPresentation.tsx); consumers derive labels, icons, and connect
|
|
31
|
+
* affordances from the registry instead of hardcoding a provider.
|
|
32
|
+
*/
|
|
33
|
+
export interface ChannelProviderDescriptor {
|
|
34
|
+
readonly id: ChannelProviderId;
|
|
35
|
+
/** Human-readable provider name ("Slack"). */
|
|
36
|
+
readonly label: string;
|
|
37
|
+
/** Brand mark; consumers size it via className. */
|
|
38
|
+
readonly Icon: ComponentType<{
|
|
39
|
+
readonly className?: string;
|
|
40
|
+
}>;
|
|
41
|
+
/** How this provider's install flow runs. */
|
|
42
|
+
readonly installStyle: ChannelInstallStyle;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* All channel providers this UI can render, in display order.
|
|
46
|
+
*
|
|
47
|
+
* With two providers the connect affordance renders as one visible
|
|
48
|
+
* "Connect to {label}" button per provider — deliberately NOT a dropdown
|
|
49
|
+
* menu: two options are clearer side by side (visibility over a hidden
|
|
50
|
+
* menu), and each button keeps its own stable cursor target for the docs
|
|
51
|
+
* demos. A third entry is the signal to fold these into a provider menu.
|
|
52
|
+
*/
|
|
53
|
+
export declare const CHANNEL_PROVIDERS: readonly ChannelProviderDescriptor[];
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a provider descriptor from a `provider_config` oneof case name.
|
|
56
|
+
*
|
|
57
|
+
* Returns `null` for unknown cases (e.g. a newer server returning a
|
|
58
|
+
* provider this UI doesn't know yet) — callers hide or fall back rather
|
|
59
|
+
* than render a half-known provider.
|
|
60
|
+
*/
|
|
61
|
+
export declare function channelProviderOf(providerCase: string | undefined): ChannelProviderDescriptor | null;
|
|
62
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,yBAAyB,EAGjE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,yBAAyB,GAAG,IAAI,CAElC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SlackMarkIcon } from "./SlackMarkIcon.js";
|
|
2
|
+
import { WhatsAppMarkIcon } from "./WhatsAppMarkIcon.js";
|
|
3
|
+
/**
|
|
4
|
+
* All channel providers this UI can render, in display order.
|
|
5
|
+
*
|
|
6
|
+
* With two providers the connect affordance renders as one visible
|
|
7
|
+
* "Connect to {label}" button per provider — deliberately NOT a dropdown
|
|
8
|
+
* menu: two options are clearer side by side (visibility over a hidden
|
|
9
|
+
* menu), and each button keeps its own stable cursor target for the docs
|
|
10
|
+
* demos. A third entry is the signal to fold these into a provider menu.
|
|
11
|
+
*/
|
|
12
|
+
export const CHANNEL_PROVIDERS = [
|
|
13
|
+
{ id: "slack", label: "Slack", Icon: SlackMarkIcon, installStyle: "redirect" },
|
|
14
|
+
{ id: "whatsapp", label: "WhatsApp", Icon: WhatsAppMarkIcon, installStyle: "direct" },
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a provider descriptor from a `provider_config` oneof case name.
|
|
18
|
+
*
|
|
19
|
+
* Returns `null` for unknown cases (e.g. a newer server returning a
|
|
20
|
+
* provider this UI doesn't know yet) — callers hide or fall back rather
|
|
21
|
+
* than render a half-known provider.
|
|
22
|
+
*/
|
|
23
|
+
export function channelProviderOf(providerCase) {
|
|
24
|
+
return CHANNEL_PROVIDERS.find((p) => p.id === providerCase) ?? null;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6CzD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE;IAC9E,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE;CACtF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAgC;IAEhC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
|
|
2
|
+
/** Return value of {@link useAgentChannel}. */
|
|
3
|
+
export interface UseAgentChannelReturn {
|
|
4
|
+
/**
|
|
5
|
+
* The channel, or `null` while loading, on error, or when no channel
|
|
6
|
+
* with that ID exists (not-found is data, not an error).
|
|
7
|
+
*/
|
|
8
|
+
readonly channel: AgentChannel | null;
|
|
9
|
+
/** `true` while the initial fetch is in flight and no data is shown. */
|
|
10
|
+
readonly isLoading: boolean;
|
|
11
|
+
/** `true` while a background refetch is in flight and stale data is shown. */
|
|
12
|
+
readonly isRefetching: boolean;
|
|
13
|
+
/** Error from the last failed request, or `null` when healthy. */
|
|
14
|
+
readonly error: Error | null;
|
|
15
|
+
/** Re-fetch the channel from the server. */
|
|
16
|
+
readonly refetch: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Data hook that loads a single {@link AgentChannel} by ID.
|
|
20
|
+
*
|
|
21
|
+
* Not-found maps to `channel === null` rather than an error, so callers
|
|
22
|
+
* can render an absent channel (e.g. deleted in another tab) without
|
|
23
|
+
* error styling. Pass an empty `id` to skip fetching (stable no-op).
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* const { channel, isLoading, refetch } = useAgentChannel(channelId);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function useAgentChannel(id: string): UseAgentChannelReturn;
|
|
31
|
+
//# sourceMappingURL=useAgentChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentChannel.d.ts","sourceRoot":"","sources":["../../src/channel/useAgentChannel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAK9F,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,CAqBjE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { isNotFound } from "@stigmer/sdk";
|
|
3
|
+
import { useStigmer } from "../hooks.js";
|
|
4
|
+
import { useFetch } from "../internal/useFetch.js";
|
|
5
|
+
/**
|
|
6
|
+
* Data hook that loads a single {@link AgentChannel} by ID.
|
|
7
|
+
*
|
|
8
|
+
* Not-found maps to `channel === null` rather than an error, so callers
|
|
9
|
+
* can render an absent channel (e.g. deleted in another tab) without
|
|
10
|
+
* error styling. Pass an empty `id` to skip fetching (stable no-op).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* const { channel, isLoading, refetch } = useAgentChannel(channelId);
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export function useAgentChannel(id) {
|
|
18
|
+
const stigmer = useStigmer();
|
|
19
|
+
const fetchFn = id
|
|
20
|
+
? async () => {
|
|
21
|
+
try {
|
|
22
|
+
return await stigmer.agentChannel.get(id);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
if (isNotFound(err))
|
|
26
|
+
return null;
|
|
27
|
+
throw err;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
: null;
|
|
31
|
+
const { data: channel, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [id, stigmer], null);
|
|
32
|
+
return { channel, isLoading, isRefetching, error, refetch };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useAgentChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentChannel.js","sourceRoot":"","sources":["../../src/channel/useAgentChannel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAmBnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,EAAE;QAChB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,UAAU,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACjC,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CACzE,OAAO,EACP,CAAC,EAAE,EAAE,OAAO,CAAC,EACb,IAA2B,CAC5B,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
|
|
2
|
+
/** Return value of {@link useAgentChannelList}. */
|
|
3
|
+
export interface UseAgentChannelListReturn {
|
|
4
|
+
/**
|
|
5
|
+
* Every channel of the agent visible to the caller, in server order.
|
|
6
|
+
* Empty while loading, on error, or when the agent has no channels —
|
|
7
|
+
* `channels.length === 0 && !isLoading && !error` means "no channels
|
|
8
|
+
* exist yet".
|
|
9
|
+
*/
|
|
10
|
+
readonly channels: readonly AgentChannel[];
|
|
11
|
+
/** `true` while the initial fetch is in flight and no data is shown. */
|
|
12
|
+
readonly isLoading: boolean;
|
|
13
|
+
/** `true` while a background refetch is in flight and stale data is shown. */
|
|
14
|
+
readonly isRefetching: boolean;
|
|
15
|
+
/** Error from the last failed request, or `null` when healthy. */
|
|
16
|
+
readonly error: Error | null;
|
|
17
|
+
/** Re-fetch the channels from the server. */
|
|
18
|
+
readonly refetch: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Data hook that loads an agent's {@link AgentChannel} resources — the
|
|
22
|
+
* connections that expose the agent on external messaging platforms
|
|
23
|
+
* (Slack in v1, more providers later).
|
|
24
|
+
*
|
|
25
|
+
* A channel serves traffic only when its provider install completed
|
|
26
|
+
* (`status.installState === installed`) AND the owner's serving switch is
|
|
27
|
+
* on (`spec.enabled`) — the two axes the Channels tab renders.
|
|
28
|
+
*
|
|
29
|
+
* Pass `org` to scope the list to one organization's channels; the server
|
|
30
|
+
* only ever narrows the permission-bounded view. Pass an empty `agentId`
|
|
31
|
+
* to skip fetching (stable no-op) — useful while the agent is still
|
|
32
|
+
* loading.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* const { channels, isLoading, refetch } = useAgentChannelList(
|
|
37
|
+
* agent?.metadata?.id ?? "",
|
|
38
|
+
* viewerOrg,
|
|
39
|
+
* );
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function useAgentChannelList(agentId: string, org?: string): UseAgentChannelListReturn;
|
|
43
|
+
//# sourceMappingURL=useAgentChannelList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentChannelList.d.ts","sourceRoot":"","sources":["../../src/channel/useAgentChannelList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAK9F,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAmB5F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { create } from "@bufbuild/protobuf";
|
|
3
|
+
import { GetAgentChannelsByAgentRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/io_pb";
|
|
4
|
+
import { useStigmer } from "../hooks.js";
|
|
5
|
+
import { useFetch } from "../internal/useFetch.js";
|
|
6
|
+
/**
|
|
7
|
+
* Data hook that loads an agent's {@link AgentChannel} resources — the
|
|
8
|
+
* connections that expose the agent on external messaging platforms
|
|
9
|
+
* (Slack in v1, more providers later).
|
|
10
|
+
*
|
|
11
|
+
* A channel serves traffic only when its provider install completed
|
|
12
|
+
* (`status.installState === installed`) AND the owner's serving switch is
|
|
13
|
+
* on (`spec.enabled`) — the two axes the Channels tab renders.
|
|
14
|
+
*
|
|
15
|
+
* Pass `org` to scope the list to one organization's channels; the server
|
|
16
|
+
* only ever narrows the permission-bounded view. Pass an empty `agentId`
|
|
17
|
+
* to skip fetching (stable no-op) — useful while the agent is still
|
|
18
|
+
* loading.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* const { channels, isLoading, refetch } = useAgentChannelList(
|
|
23
|
+
* agent?.metadata?.id ?? "",
|
|
24
|
+
* viewerOrg,
|
|
25
|
+
* );
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function useAgentChannelList(agentId, org) {
|
|
29
|
+
const stigmer = useStigmer();
|
|
30
|
+
const fetchFn = agentId
|
|
31
|
+
? async () => {
|
|
32
|
+
const result = await stigmer.agentChannel.getByAgent(create(GetAgentChannelsByAgentRequestSchema, { agentId, org: org ?? "" }));
|
|
33
|
+
return result.items;
|
|
34
|
+
}
|
|
35
|
+
: null;
|
|
36
|
+
const { data: channels, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [agentId, org, stigmer], []);
|
|
37
|
+
return { channels, isLoading, isRefetching, error, refetch };
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=useAgentChannelList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgentChannelList.js","sourceRoot":"","sources":["../../src/channel/useAgentChannelList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,oCAAoC,EAAE,MAAM,0DAA0D,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAqBnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,GAAY;IAC/D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAClD,MAAM,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAC1E,CAAC;YACF,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC1E,OAAO,EACP,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EACvB,EAAoB,CACrB,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
|
|
2
|
+
/** Return value of {@link useChannelSessions}. */
|
|
3
|
+
export interface UseChannelSessionsReturn {
|
|
4
|
+
/**
|
|
5
|
+
* The channel's conversations (one session per external conversation),
|
|
6
|
+
* newest activity first. Empty while loading, on error, or when nobody
|
|
7
|
+
* has messaged the channel yet — `sessions.length === 0 && !isLoading
|
|
8
|
+
* && !error` means "no conversations yet".
|
|
9
|
+
*/
|
|
10
|
+
readonly sessions: readonly Session[];
|
|
11
|
+
/** `true` while the initial fetch is in flight and no data is shown. */
|
|
12
|
+
readonly isLoading: boolean;
|
|
13
|
+
/** `true` while a background refetch is in flight and stale data is shown. */
|
|
14
|
+
readonly isRefetching: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Error from the last failed request, or `null` when healthy. A
|
|
17
|
+
* PERMISSION_DENIED here means the caller cannot view the channel —
|
|
18
|
+
* conversations are visible to exactly the channel's viewers (the
|
|
19
|
+
* connector and org admins).
|
|
20
|
+
*/
|
|
21
|
+
readonly error: Error | null;
|
|
22
|
+
/** Re-fetch the conversations from the server. */
|
|
23
|
+
readonly refetch: () => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Data hook that loads the conversations an {@link AgentChannel} created —
|
|
27
|
+
* the Slack/WhatsApp sessions the channel runtime owns (design decision
|
|
28
|
+
* 012: channel-session read-only observability).
|
|
29
|
+
*
|
|
30
|
+
* The server enforces the visibility boundary twice: the caller must hold
|
|
31
|
+
* `can_view` on the channel, and results are filtered to sessions the
|
|
32
|
+
* caller can individually view. Open a returned session with
|
|
33
|
+
* `SessionViewer` — it self-selects the read-only `"observer"` audience
|
|
34
|
+
* for channel-originated sessions.
|
|
35
|
+
*
|
|
36
|
+
* Pass an empty `channelId` to skip fetching (stable no-op) — useful
|
|
37
|
+
* while the channel list is still loading.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* const { sessions, isLoading, error } = useChannelSessions(
|
|
42
|
+
* channel.metadata?.id ?? "",
|
|
43
|
+
* );
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function useChannelSessions(channelId: string): UseChannelSessionsReturn;
|
|
47
|
+
//# sourceMappingURL=useChannelSessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelSessions.d.ts","sourceRoot":"","sources":["../../src/channel/useChannelSessions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAKpF,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,CAmB9E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { create } from "@bufbuild/protobuf";
|
|
3
|
+
import { ListSessionsByChannelRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/session/v1/io_pb";
|
|
4
|
+
import { useStigmer } from "../hooks.js";
|
|
5
|
+
import { useFetch } from "../internal/useFetch.js";
|
|
6
|
+
/**
|
|
7
|
+
* Data hook that loads the conversations an {@link AgentChannel} created —
|
|
8
|
+
* the Slack/WhatsApp sessions the channel runtime owns (design decision
|
|
9
|
+
* 012: channel-session read-only observability).
|
|
10
|
+
*
|
|
11
|
+
* The server enforces the visibility boundary twice: the caller must hold
|
|
12
|
+
* `can_view` on the channel, and results are filtered to sessions the
|
|
13
|
+
* caller can individually view. Open a returned session with
|
|
14
|
+
* `SessionViewer` — it self-selects the read-only `"observer"` audience
|
|
15
|
+
* for channel-originated sessions.
|
|
16
|
+
*
|
|
17
|
+
* Pass an empty `channelId` to skip fetching (stable no-op) — useful
|
|
18
|
+
* while the channel list is still loading.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* const { sessions, isLoading, error } = useChannelSessions(
|
|
23
|
+
* channel.metadata?.id ?? "",
|
|
24
|
+
* );
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function useChannelSessions(channelId) {
|
|
28
|
+
const stigmer = useStigmer();
|
|
29
|
+
const fetchFn = channelId
|
|
30
|
+
? async () => {
|
|
31
|
+
const result = await stigmer.session.listByChannel(create(ListSessionsByChannelRequestSchema, { channelId }));
|
|
32
|
+
return result.entries;
|
|
33
|
+
}
|
|
34
|
+
: null;
|
|
35
|
+
const { data: sessions, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [channelId, stigmer], []);
|
|
36
|
+
return { sessions, isLoading, isRefetching, error, refetch };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=useChannelSessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelSessions.js","sourceRoot":"","sources":["../../src/channel/useChannelSessions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,kCAAkC,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA0BnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAChD,MAAM,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC,CAC1D,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC1E,OAAO,EACP,CAAC,SAAS,EAAE,OAAO,CAAC,EACpB,EAAe,CAChB,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC"}
|