@agimon-ai/po-web-dashboard 0.0.0-alpha.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/LICENSE +29 -0
- package/README.md +10 -0
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/core.cjs +222 -0
- package/dist/core.d.mts +21 -0
- package/dist/core.mjs +21 -0
- package/dist/index.cjs +546 -0
- package/dist/index.d.mts +81 -0
- package/dist/index.mjs +81 -0
- package/dist/testing.cjs +18 -0
- package/dist/testing.d.mts +6 -0
- package/dist/testing.mjs +6 -0
- package/dist/types/auth.cjs +20 -0
- package/dist/types/auth.cjs.map +1 -0
- package/dist/types/auth.d.mts +160 -0
- package/dist/types/auth.d.mts.map +1 -0
- package/dist/types/auth.mjs +19 -0
- package/dist/types/auth.mjs.map +1 -0
- package/dist/types/bridge.d.mts +18 -0
- package/dist/types/bridge.d.mts.map +1 -0
- package/dist/types/devProxy.cjs +41 -0
- package/dist/types/devProxy.cjs.map +1 -0
- package/dist/types/devProxy.d.mts +54 -0
- package/dist/types/devProxy.d.mts.map +1 -0
- package/dist/types/devProxy.mjs +39 -0
- package/dist/types/devProxy.mjs.map +1 -0
- package/dist/types/hub.cjs +220 -0
- package/dist/types/hub.cjs.map +1 -0
- package/dist/types/hub.d.mts +447 -0
- package/dist/types/hub.d.mts.map +1 -0
- package/dist/types/hub.mjs +179 -0
- package/dist/types/hub.mjs.map +1 -0
- package/dist/types/media.cjs +75 -0
- package/dist/types/media.cjs.map +1 -0
- package/dist/types/media.d.mts +22 -0
- package/dist/types/media.d.mts.map +1 -0
- package/dist/types/media.mjs +70 -0
- package/dist/types/media.mjs.map +1 -0
- package/dist/types/notification.cjs +19 -0
- package/dist/types/notification.cjs.map +1 -0
- package/dist/types/notification.d.mts +10 -0
- package/dist/types/notification.d.mts.map +1 -0
- package/dist/types/notification.mjs +19 -0
- package/dist/types/notification.mjs.map +1 -0
- package/dist/types/remoteAccess.cjs +92 -0
- package/dist/types/remoteAccess.cjs.map +1 -0
- package/dist/types/remoteAccess.d.mts +214 -0
- package/dist/types/remoteAccess.d.mts.map +1 -0
- package/dist/types/remoteAccess.mjs +68 -0
- package/dist/types/remoteAccess.mjs.map +1 -0
- package/dist/types/session.cjs +23 -0
- package/dist/types/session.cjs.map +1 -0
- package/dist/types/session.d.mts +29 -0
- package/dist/types/session.d.mts.map +1 -0
- package/dist/types/session.mjs +18 -0
- package/dist/types/session.mjs.map +1 -0
- package/dist/types/sessionMcp.d.mts +56 -0
- package/dist/types/sessionMcp.d.mts.map +1 -0
- package/dist/types/settings.cjs +18 -0
- package/dist/types/settings.cjs.map +1 -0
- package/dist/types/settings.d.mts +126 -0
- package/dist/types/settings.d.mts.map +1 -0
- package/dist/types/settings.mjs +12 -0
- package/dist/types/settings.mjs.map +1 -0
- package/dist/types.cjs +101 -0
- package/dist/types.d.mts +11 -0
- package/dist/types.mjs +9 -0
- package/dist/views.cjs +120 -0
- package/dist/views.d.mts +56 -0
- package/dist/views.mjs +56 -0
- package/dist/web/components/MascotMark.cjs +18 -0
- package/dist/web/components/MascotMark.cjs.map +1 -0
- package/dist/web/components/MascotMark.d.mts +9 -0
- package/dist/web/components/MascotMark.d.mts.map +1 -0
- package/dist/web/components/MascotMark.mjs +18 -0
- package/dist/web/components/MascotMark.mjs.map +1 -0
- package/dist/web/components/PluginSurface.cjs +15 -0
- package/dist/web/components/PluginSurface.cjs.map +1 -0
- package/dist/web/components/PluginSurface.d.mts +13 -0
- package/dist/web/components/PluginSurface.d.mts.map +1 -0
- package/dist/web/components/PluginSurface.mjs +15 -0
- package/dist/web/components/PluginSurface.mjs.map +1 -0
- package/dist/web/components/QrCode.cjs +37 -0
- package/dist/web/components/QrCode.cjs.map +1 -0
- package/dist/web/components/QrCode.d.mts +22 -0
- package/dist/web/components/QrCode.d.mts.map +1 -0
- package/dist/web/components/QrCode.mjs +37 -0
- package/dist/web/components/QrCode.mjs.map +1 -0
- package/dist/web/components/Remote.fixture.cjs +73 -0
- package/dist/web/components/Remote.fixture.cjs.map +1 -0
- package/dist/web/components/Remote.fixture.mjs +72 -0
- package/dist/web/components/Remote.fixture.mjs.map +1 -0
- package/dist/web/components/SessionMcp.cjs +279 -0
- package/dist/web/components/SessionMcp.cjs.map +1 -0
- package/dist/web/components/SessionMcp.d.mts +12 -0
- package/dist/web/components/SessionMcp.d.mts.map +1 -0
- package/dist/web/components/SessionMcp.mjs +278 -0
- package/dist/web/components/SessionMcp.mjs.map +1 -0
- package/dist/web/components/Story.fixture.cjs +124 -0
- package/dist/web/components/Story.fixture.cjs.map +1 -0
- package/dist/web/components/Story.fixture.d.mts +19 -0
- package/dist/web/components/Story.fixture.d.mts.map +1 -0
- package/dist/web/components/Story.fixture.mjs +119 -0
- package/dist/web/components/Story.fixture.mjs.map +1 -0
- package/dist/web/components/Template.fixture.cjs +67 -0
- package/dist/web/components/Template.fixture.cjs.map +1 -0
- package/dist/web/components/Template.fixture.d.mts +7 -0
- package/dist/web/components/Template.fixture.d.mts.map +1 -0
- package/dist/web/components/Template.fixture.mjs +65 -0
- package/dist/web/components/Template.fixture.mjs.map +1 -0
- package/dist/web/components/ToolRendererBoundary.cjs +23 -0
- package/dist/web/components/ToolRendererBoundary.cjs.map +1 -0
- package/dist/web/components/ToolRendererBoundary.d.mts +23 -0
- package/dist/web/components/ToolRendererBoundary.d.mts.map +1 -0
- package/dist/web/components/ToolRendererBoundary.mjs +23 -0
- package/dist/web/components/ToolRendererBoundary.mjs.map +1 -0
- package/dist/web/features/activity/ActivityDock.cjs +271 -0
- package/dist/web/features/activity/ActivityDock.cjs.map +1 -0
- package/dist/web/features/activity/ActivityDock.d.mts +22 -0
- package/dist/web/features/activity/ActivityDock.d.mts.map +1 -0
- package/dist/web/features/activity/ActivityDock.mjs +271 -0
- package/dist/web/features/activity/ActivityDock.mjs.map +1 -0
- package/dist/web/features/activity/ContextItemDialog.cjs +276 -0
- package/dist/web/features/activity/ContextItemDialog.cjs.map +1 -0
- package/dist/web/features/activity/ContextItemDialog.d.mts +16 -0
- package/dist/web/features/activity/ContextItemDialog.d.mts.map +1 -0
- package/dist/web/features/activity/ContextItemDialog.mjs +276 -0
- package/dist/web/features/activity/ContextItemDialog.mjs.map +1 -0
- package/dist/web/features/activity/ContextPanel.cjs +248 -0
- package/dist/web/features/activity/ContextPanel.cjs.map +1 -0
- package/dist/web/features/activity/ContextPanel.d.mts +4 -0
- package/dist/web/features/activity/ContextPanel.d.mts.map +1 -0
- package/dist/web/features/activity/ContextPanel.mjs +248 -0
- package/dist/web/features/activity/ContextPanel.mjs.map +1 -0
- package/dist/web/features/activity/DockTabs.cjs +47 -0
- package/dist/web/features/activity/DockTabs.cjs.map +1 -0
- package/dist/web/features/activity/DockTabs.d.mts +9 -0
- package/dist/web/features/activity/DockTabs.d.mts.map +1 -0
- package/dist/web/features/activity/DockTabs.mjs +47 -0
- package/dist/web/features/activity/DockTabs.mjs.map +1 -0
- package/dist/web/features/connection/RefusedCard.cjs +76 -0
- package/dist/web/features/connection/RefusedCard.cjs.map +1 -0
- package/dist/web/features/connection/RefusedCard.d.mts +5 -0
- package/dist/web/features/connection/RefusedCard.d.mts.map +1 -0
- package/dist/web/features/connection/RefusedCard.mjs +76 -0
- package/dist/web/features/connection/RefusedCard.mjs.map +1 -0
- package/dist/web/features/dialogs/DialogOverlay.cjs +164 -0
- package/dist/web/features/dialogs/DialogOverlay.cjs.map +1 -0
- package/dist/web/features/dialogs/DialogOverlay.d.mts +15 -0
- package/dist/web/features/dialogs/DialogOverlay.d.mts.map +1 -0
- package/dist/web/features/dialogs/DialogOverlay.mjs +164 -0
- package/dist/web/features/dialogs/DialogOverlay.mjs.map +1 -0
- package/dist/web/features/leader/CommandPalette.cjs +390 -0
- package/dist/web/features/leader/CommandPalette.cjs.map +1 -0
- package/dist/web/features/leader/CommandPalette.d.mts +14 -0
- package/dist/web/features/leader/CommandPalette.d.mts.map +1 -0
- package/dist/web/features/leader/CommandPalette.mjs +390 -0
- package/dist/web/features/leader/CommandPalette.mjs.map +1 -0
- package/dist/web/features/remote/DevProxyTargets.cjs +122 -0
- package/dist/web/features/remote/DevProxyTargets.cjs.map +1 -0
- package/dist/web/features/remote/DevProxyTargets.d.mts +15 -0
- package/dist/web/features/remote/DevProxyTargets.d.mts.map +1 -0
- package/dist/web/features/remote/DevProxyTargets.mjs +122 -0
- package/dist/web/features/remote/DevProxyTargets.mjs.map +1 -0
- package/dist/web/features/remote/HandoverProgress.cjs +28 -0
- package/dist/web/features/remote/HandoverProgress.cjs.map +1 -0
- package/dist/web/features/remote/HandoverProgress.d.mts +12 -0
- package/dist/web/features/remote/HandoverProgress.d.mts.map +1 -0
- package/dist/web/features/remote/HandoverProgress.mjs +28 -0
- package/dist/web/features/remote/HandoverProgress.mjs.map +1 -0
- package/dist/web/features/remote/PairedDeviceList.cjs +37 -0
- package/dist/web/features/remote/PairedDeviceList.cjs.map +1 -0
- package/dist/web/features/remote/PairedDeviceList.d.mts +5 -0
- package/dist/web/features/remote/PairedDeviceList.d.mts.map +1 -0
- package/dist/web/features/remote/PairedDeviceList.mjs +37 -0
- package/dist/web/features/remote/PairedDeviceList.mjs.map +1 -0
- package/dist/web/features/remote/PairingApprovalDialog.cjs +65 -0
- package/dist/web/features/remote/PairingApprovalDialog.cjs.map +1 -0
- package/dist/web/features/remote/PairingApprovalDialog.d.mts +11 -0
- package/dist/web/features/remote/PairingApprovalDialog.d.mts.map +1 -0
- package/dist/web/features/remote/PairingApprovalDialog.mjs +65 -0
- package/dist/web/features/remote/PairingApprovalDialog.mjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessDialog.cjs +83 -0
- package/dist/web/features/remote/RemoteAccessDialog.cjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessDialog.d.mts +11 -0
- package/dist/web/features/remote/RemoteAccessDialog.d.mts.map +1 -0
- package/dist/web/features/remote/RemoteAccessDialog.mjs +83 -0
- package/dist/web/features/remote/RemoteAccessDialog.mjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessOptions.cjs +154 -0
- package/dist/web/features/remote/RemoteAccessOptions.cjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessOptions.d.mts +11 -0
- package/dist/web/features/remote/RemoteAccessOptions.d.mts.map +1 -0
- package/dist/web/features/remote/RemoteAccessOptions.mjs +154 -0
- package/dist/web/features/remote/RemoteAccessOptions.mjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessPairing.cjs +93 -0
- package/dist/web/features/remote/RemoteAccessPairing.cjs.map +1 -0
- package/dist/web/features/remote/RemoteAccessPairing.d.mts +5 -0
- package/dist/web/features/remote/RemoteAccessPairing.d.mts.map +1 -0
- package/dist/web/features/remote/RemoteAccessPairing.mjs +93 -0
- package/dist/web/features/remote/RemoteAccessPairing.mjs.map +1 -0
- package/dist/web/features/remote/SandboxWorkspaces.cjs +87 -0
- package/dist/web/features/remote/SandboxWorkspaces.cjs.map +1 -0
- package/dist/web/features/remote/SandboxWorkspaces.d.mts +7 -0
- package/dist/web/features/remote/SandboxWorkspaces.d.mts.map +1 -0
- package/dist/web/features/remote/SandboxWorkspaces.mjs +87 -0
- package/dist/web/features/remote/SandboxWorkspaces.mjs.map +1 -0
- package/dist/web/features/remote/TrustedDeviceList.cjs +65 -0
- package/dist/web/features/remote/TrustedDeviceList.cjs.map +1 -0
- package/dist/web/features/remote/TrustedDeviceList.d.mts +13 -0
- package/dist/web/features/remote/TrustedDeviceList.d.mts.map +1 -0
- package/dist/web/features/remote/TrustedDeviceList.mjs +64 -0
- package/dist/web/features/remote/TrustedDeviceList.mjs.map +1 -0
- package/dist/web/features/selection/SelectionBar.cjs +401 -0
- package/dist/web/features/selection/SelectionBar.cjs.map +1 -0
- package/dist/web/features/selection/SelectionBar.d.mts +14 -0
- package/dist/web/features/selection/SelectionBar.d.mts.map +1 -0
- package/dist/web/features/selection/SelectionBar.mjs +400 -0
- package/dist/web/features/selection/SelectionBar.mjs.map +1 -0
- package/dist/web/features/session/AgentLockPanel.cjs +31 -0
- package/dist/web/features/session/AgentLockPanel.cjs.map +1 -0
- package/dist/web/features/session/AgentLockPanel.mjs +31 -0
- package/dist/web/features/session/AgentLockPanel.mjs.map +1 -0
- package/dist/web/features/session/Composer.cjs +808 -0
- package/dist/web/features/session/Composer.cjs.map +1 -0
- package/dist/web/features/session/Composer.d.mts +21 -0
- package/dist/web/features/session/Composer.d.mts.map +1 -0
- package/dist/web/features/session/Composer.mjs +806 -0
- package/dist/web/features/session/Composer.mjs.map +1 -0
- package/dist/web/features/session/ComposerPrompt.cjs +47 -0
- package/dist/web/features/session/ComposerPrompt.cjs.map +1 -0
- package/dist/web/features/session/ComposerPrompt.d.mts +16 -0
- package/dist/web/features/session/ComposerPrompt.d.mts.map +1 -0
- package/dist/web/features/session/ComposerPrompt.mjs +47 -0
- package/dist/web/features/session/ComposerPrompt.mjs.map +1 -0
- package/dist/web/features/session/DormantPanel.cjs +61 -0
- package/dist/web/features/session/DormantPanel.cjs.map +1 -0
- package/dist/web/features/session/DormantPanel.d.mts +8 -0
- package/dist/web/features/session/DormantPanel.d.mts.map +1 -0
- package/dist/web/features/session/DormantPanel.mjs +61 -0
- package/dist/web/features/session/DormantPanel.mjs.map +1 -0
- package/dist/web/features/session/MentionPreviews.cjs +128 -0
- package/dist/web/features/session/MentionPreviews.cjs.map +1 -0
- package/dist/web/features/session/MentionPreviews.d.mts +17 -0
- package/dist/web/features/session/MentionPreviews.d.mts.map +1 -0
- package/dist/web/features/session/MentionPreviews.mjs +127 -0
- package/dist/web/features/session/MentionPreviews.mjs.map +1 -0
- package/dist/web/features/session/MessageMarkdown.cjs +20 -0
- package/dist/web/features/session/MessageMarkdown.cjs.map +1 -0
- package/dist/web/features/session/MessageMarkdown.d.mts +19 -0
- package/dist/web/features/session/MessageMarkdown.d.mts.map +1 -0
- package/dist/web/features/session/MessageMarkdown.mjs +20 -0
- package/dist/web/features/session/MessageMarkdown.mjs.map +1 -0
- package/dist/web/features/session/QueueSheet.cjs +189 -0
- package/dist/web/features/session/QueueSheet.cjs.map +1 -0
- package/dist/web/features/session/QueueSheet.d.mts +16 -0
- package/dist/web/features/session/QueueSheet.d.mts.map +1 -0
- package/dist/web/features/session/QueueSheet.mjs +189 -0
- package/dist/web/features/session/QueueSheet.mjs.map +1 -0
- package/dist/web/features/session/SessionActivity.cjs +88 -0
- package/dist/web/features/session/SessionActivity.cjs.map +1 -0
- package/dist/web/features/session/SessionActivity.d.mts +16 -0
- package/dist/web/features/session/SessionActivity.d.mts.map +1 -0
- package/dist/web/features/session/SessionActivity.mjs +87 -0
- package/dist/web/features/session/SessionActivity.mjs.map +1 -0
- package/dist/web/features/session/SessionTranscriptView.cjs +34 -0
- package/dist/web/features/session/SessionTranscriptView.cjs.map +1 -0
- package/dist/web/features/session/SessionTranscriptView.d.mts +16 -0
- package/dist/web/features/session/SessionTranscriptView.d.mts.map +1 -0
- package/dist/web/features/session/SessionTranscriptView.mjs +34 -0
- package/dist/web/features/session/SessionTranscriptView.mjs.map +1 -0
- package/dist/web/features/session/ThreadView.cjs +40 -0
- package/dist/web/features/session/ThreadView.cjs.map +1 -0
- package/dist/web/features/session/ThreadView.d.mts +18 -0
- package/dist/web/features/session/ThreadView.d.mts.map +1 -0
- package/dist/web/features/session/ThreadView.mjs +40 -0
- package/dist/web/features/session/ThreadView.mjs.map +1 -0
- package/dist/web/features/session/Timeline.cjs +620 -0
- package/dist/web/features/session/Timeline.cjs.map +1 -0
- package/dist/web/features/session/Timeline.d.mts +28 -0
- package/dist/web/features/session/Timeline.d.mts.map +1 -0
- package/dist/web/features/session/Timeline.mjs +619 -0
- package/dist/web/features/session/Timeline.mjs.map +1 -0
- package/dist/web/features/session/ToolCard.cjs +210 -0
- package/dist/web/features/session/ToolCard.cjs.map +1 -0
- package/dist/web/features/session/ToolCard.d.mts +16 -0
- package/dist/web/features/session/ToolCard.d.mts.map +1 -0
- package/dist/web/features/session/ToolCard.mjs +210 -0
- package/dist/web/features/session/ToolCard.mjs.map +1 -0
- package/dist/web/features/session/session.fixture.cjs +76 -0
- package/dist/web/features/session/session.fixture.cjs.map +1 -0
- package/dist/web/features/session/session.fixture.d.mts +6 -0
- package/dist/web/features/session/session.fixture.d.mts.map +1 -0
- package/dist/web/features/session/session.fixture.mjs +74 -0
- package/dist/web/features/session/session.fixture.mjs.map +1 -0
- package/dist/web/features/sessions/NewSessionDialog.cjs +70 -0
- package/dist/web/features/sessions/NewSessionDialog.cjs.map +1 -0
- package/dist/web/features/sessions/NewSessionDialog.d.mts +9 -0
- package/dist/web/features/sessions/NewSessionDialog.d.mts.map +1 -0
- package/dist/web/features/sessions/NewSessionDialog.mjs +70 -0
- package/dist/web/features/sessions/NewSessionDialog.mjs.map +1 -0
- package/dist/web/features/sessions/ResumeSessionDialog.cjs +131 -0
- package/dist/web/features/sessions/ResumeSessionDialog.cjs.map +1 -0
- package/dist/web/features/sessions/ResumeSessionDialog.d.mts +14 -0
- package/dist/web/features/sessions/ResumeSessionDialog.d.mts.map +1 -0
- package/dist/web/features/sessions/ResumeSessionDialog.mjs +131 -0
- package/dist/web/features/sessions/ResumeSessionDialog.mjs.map +1 -0
- package/dist/web/features/sessions/SessionRailDialogs.cjs +62 -0
- package/dist/web/features/sessions/SessionRailDialogs.cjs.map +1 -0
- package/dist/web/features/sessions/SessionRailDialogs.d.mts +10 -0
- package/dist/web/features/sessions/SessionRailDialogs.d.mts.map +1 -0
- package/dist/web/features/sessions/SessionRailDialogs.mjs +62 -0
- package/dist/web/features/sessions/SessionRailDialogs.mjs.map +1 -0
- package/dist/web/features/sessions/WelcomePanel.cjs +42 -0
- package/dist/web/features/sessions/WelcomePanel.cjs.map +1 -0
- package/dist/web/features/sessions/WelcomePanel.d.mts +16 -0
- package/dist/web/features/sessions/WelcomePanel.d.mts.map +1 -0
- package/dist/web/features/sessions/WelcomePanel.mjs +42 -0
- package/dist/web/features/sessions/WelcomePanel.mjs.map +1 -0
- package/dist/web/features/sessions/useNewSessionActions.cjs +38 -0
- package/dist/web/features/sessions/useNewSessionActions.cjs.map +1 -0
- package/dist/web/features/sessions/useNewSessionActions.d.mts +12 -0
- package/dist/web/features/sessions/useNewSessionActions.d.mts.map +1 -0
- package/dist/web/features/sessions/useNewSessionActions.mjs +38 -0
- package/dist/web/features/sessions/useNewSessionActions.mjs.map +1 -0
- package/dist/web/features/sessions/useSessionRail.cjs +302 -0
- package/dist/web/features/sessions/useSessionRail.cjs.map +1 -0
- package/dist/web/features/sessions/useSessionRail.d.mts +14 -0
- package/dist/web/features/sessions/useSessionRail.d.mts.map +1 -0
- package/dist/web/features/sessions/useSessionRail.mjs +302 -0
- package/dist/web/features/sessions/useSessionRail.mjs.map +1 -0
- package/dist/web/features/settings/AppearanceSettings.cjs +126 -0
- package/dist/web/features/settings/AppearanceSettings.cjs.map +1 -0
- package/dist/web/features/settings/AppearanceSettings.d.mts +12 -0
- package/dist/web/features/settings/AppearanceSettings.d.mts.map +1 -0
- package/dist/web/features/settings/AppearanceSettings.mjs +126 -0
- package/dist/web/features/settings/AppearanceSettings.mjs.map +1 -0
- package/dist/web/features/settings/ContributedSettings.cjs +257 -0
- package/dist/web/features/settings/ContributedSettings.cjs.map +1 -0
- package/dist/web/features/settings/ContributedSettings.d.mts +14 -0
- package/dist/web/features/settings/ContributedSettings.d.mts.map +1 -0
- package/dist/web/features/settings/ContributedSettings.mjs +257 -0
- package/dist/web/features/settings/ContributedSettings.mjs.map +1 -0
- package/dist/web/features/settings/ImageSettings.cjs +146 -0
- package/dist/web/features/settings/ImageSettings.cjs.map +1 -0
- package/dist/web/features/settings/ImageSettings.d.mts +12 -0
- package/dist/web/features/settings/ImageSettings.d.mts.map +1 -0
- package/dist/web/features/settings/ImageSettings.mjs +146 -0
- package/dist/web/features/settings/ImageSettings.mjs.map +1 -0
- package/dist/web/features/settings/LoginFlowDialog.cjs +226 -0
- package/dist/web/features/settings/LoginFlowDialog.cjs.map +1 -0
- package/dist/web/features/settings/LoginFlowDialog.d.mts +15 -0
- package/dist/web/features/settings/LoginFlowDialog.d.mts.map +1 -0
- package/dist/web/features/settings/LoginFlowDialog.mjs +225 -0
- package/dist/web/features/settings/LoginFlowDialog.mjs.map +1 -0
- package/dist/web/features/settings/NotificationSettings.cjs +69 -0
- package/dist/web/features/settings/NotificationSettings.cjs.map +1 -0
- package/dist/web/features/settings/NotificationSettings.d.mts +5 -0
- package/dist/web/features/settings/NotificationSettings.d.mts.map +1 -0
- package/dist/web/features/settings/NotificationSettings.mjs +69 -0
- package/dist/web/features/settings/NotificationSettings.mjs.map +1 -0
- package/dist/web/features/settings/PluginSettings.cjs +106 -0
- package/dist/web/features/settings/PluginSettings.cjs.map +1 -0
- package/dist/web/features/settings/PluginSettings.d.mts +10 -0
- package/dist/web/features/settings/PluginSettings.d.mts.map +1 -0
- package/dist/web/features/settings/PluginSettings.mjs +106 -0
- package/dist/web/features/settings/PluginSettings.mjs.map +1 -0
- package/dist/web/features/settings/ProviderSettings.cjs +323 -0
- package/dist/web/features/settings/ProviderSettings.cjs.map +1 -0
- package/dist/web/features/settings/ProviderSettings.d.mts +9 -0
- package/dist/web/features/settings/ProviderSettings.d.mts.map +1 -0
- package/dist/web/features/settings/ProviderSettings.mjs +323 -0
- package/dist/web/features/settings/ProviderSettings.mjs.map +1 -0
- package/dist/web/features/settings/RemoteControlSettings.cjs +50 -0
- package/dist/web/features/settings/RemoteControlSettings.cjs.map +1 -0
- package/dist/web/features/settings/RemoteControlSettings.d.mts +5 -0
- package/dist/web/features/settings/RemoteControlSettings.d.mts.map +1 -0
- package/dist/web/features/settings/RemoteControlSettings.mjs +50 -0
- package/dist/web/features/settings/RemoteControlSettings.mjs.map +1 -0
- package/dist/web/features/settings/RepositorySettings.cjs +318 -0
- package/dist/web/features/settings/RepositorySettings.cjs.map +1 -0
- package/dist/web/features/settings/RepositorySettings.d.mts +7 -0
- package/dist/web/features/settings/RepositorySettings.d.mts.map +1 -0
- package/dist/web/features/settings/RepositorySettings.mjs +318 -0
- package/dist/web/features/settings/RepositorySettings.mjs.map +1 -0
- package/dist/web/features/settings/RepositoryWorkspace.cjs +160 -0
- package/dist/web/features/settings/RepositoryWorkspace.cjs.map +1 -0
- package/dist/web/features/settings/RepositoryWorkspace.d.mts +10 -0
- package/dist/web/features/settings/RepositoryWorkspace.d.mts.map +1 -0
- package/dist/web/features/settings/RepositoryWorkspace.mjs +160 -0
- package/dist/web/features/settings/RepositoryWorkspace.mjs.map +1 -0
- package/dist/web/features/settings/SessionMcpSettings.cjs +488 -0
- package/dist/web/features/settings/SessionMcpSettings.cjs.map +1 -0
- package/dist/web/features/settings/SessionMcpSettings.d.mts +5 -0
- package/dist/web/features/settings/SessionMcpSettings.d.mts.map +1 -0
- package/dist/web/features/settings/SessionMcpSettings.mjs +488 -0
- package/dist/web/features/settings/SessionMcpSettings.mjs.map +1 -0
- package/dist/web/features/settings/SettingsMenu.cjs +135 -0
- package/dist/web/features/settings/SettingsMenu.cjs.map +1 -0
- package/dist/web/features/settings/SettingsMenu.d.mts +9 -0
- package/dist/web/features/settings/SettingsMenu.d.mts.map +1 -0
- package/dist/web/features/settings/SettingsMenu.mjs +135 -0
- package/dist/web/features/settings/SettingsMenu.mjs.map +1 -0
- package/dist/web/features/settings/SettingsPanelHost.cjs +32 -0
- package/dist/web/features/settings/SettingsPanelHost.cjs.map +1 -0
- package/dist/web/features/settings/SettingsPanelHost.d.mts +8 -0
- package/dist/web/features/settings/SettingsPanelHost.d.mts.map +1 -0
- package/dist/web/features/settings/SettingsPanelHost.mjs +32 -0
- package/dist/web/features/settings/SettingsPanelHost.mjs.map +1 -0
- package/dist/web/features/settings/TemplateSettings.cjs +177 -0
- package/dist/web/features/settings/TemplateSettings.cjs.map +1 -0
- package/dist/web/features/settings/TemplateSettings.d.mts +8 -0
- package/dist/web/features/settings/TemplateSettings.d.mts.map +1 -0
- package/dist/web/features/settings/TemplateSettings.mjs +177 -0
- package/dist/web/features/settings/TemplateSettings.mjs.map +1 -0
- package/dist/web/features/settings/TunnelSettings.cjs +182 -0
- package/dist/web/features/settings/TunnelSettings.cjs.map +1 -0
- package/dist/web/features/settings/TunnelSettings.d.mts +8 -0
- package/dist/web/features/settings/TunnelSettings.d.mts.map +1 -0
- package/dist/web/features/settings/TunnelSettings.mjs +182 -0
- package/dist/web/features/settings/TunnelSettings.mjs.map +1 -0
- package/dist/web/features/settings/settings.fixture.cjs +230 -0
- package/dist/web/features/settings/settings.fixture.cjs.map +1 -0
- package/dist/web/features/settings/settings.fixture.d.mts +6 -0
- package/dist/web/features/settings/settings.fixture.d.mts.map +1 -0
- package/dist/web/features/settings/settings.fixture.mjs +223 -0
- package/dist/web/features/settings/settings.fixture.mjs.map +1 -0
- package/dist/web/features/status/TopBar.cjs +200 -0
- package/dist/web/features/status/TopBar.cjs.map +1 -0
- package/dist/web/features/status/TopBar.d.mts +11 -0
- package/dist/web/features/status/TopBar.d.mts.map +1 -0
- package/dist/web/features/status/TopBar.mjs +200 -0
- package/dist/web/features/status/TopBar.mjs.map +1 -0
- package/dist/web/lib/authApi.cjs +77 -0
- package/dist/web/lib/authApi.cjs.map +1 -0
- package/dist/web/lib/authApi.d.mts +28 -0
- package/dist/web/lib/authApi.d.mts.map +1 -0
- package/dist/web/lib/authApi.mjs +72 -0
- package/dist/web/lib/authApi.mjs.map +1 -0
- package/dist/web/lib/browserNotifications.cjs +37 -0
- package/dist/web/lib/browserNotifications.cjs.map +1 -0
- package/dist/web/lib/browserNotifications.d.mts +12 -0
- package/dist/web/lib/browserNotifications.d.mts.map +1 -0
- package/dist/web/lib/browserNotifications.mjs +35 -0
- package/dist/web/lib/browserNotifications.mjs.map +1 -0
- package/dist/web/lib/browserTelemetry.cjs +158 -0
- package/dist/web/lib/browserTelemetry.cjs.map +1 -0
- package/dist/web/lib/browserTelemetry.d.mts +28 -0
- package/dist/web/lib/browserTelemetry.d.mts.map +1 -0
- package/dist/web/lib/browserTelemetry.mjs +154 -0
- package/dist/web/lib/browserTelemetry.mjs.map +1 -0
- package/dist/web/lib/commands.cjs +176 -0
- package/dist/web/lib/commands.cjs.map +1 -0
- package/dist/web/lib/commands.d.mts +53 -0
- package/dist/web/lib/commands.d.mts.map +1 -0
- package/dist/web/lib/commands.mjs +153 -0
- package/dist/web/lib/commands.mjs.map +1 -0
- package/dist/web/lib/composerSubmissions.cjs +20 -0
- package/dist/web/lib/composerSubmissions.cjs.map +1 -0
- package/dist/web/lib/composerSubmissions.d.mts +7 -0
- package/dist/web/lib/composerSubmissions.d.mts.map +1 -0
- package/dist/web/lib/composerSubmissions.mjs +19 -0
- package/dist/web/lib/composerSubmissions.mjs.map +1 -0
- package/dist/web/lib/composition.cjs +403 -0
- package/dist/web/lib/composition.cjs.map +1 -0
- package/dist/web/lib/composition.d.mts +137 -0
- package/dist/web/lib/composition.d.mts.map +1 -0
- package/dist/web/lib/composition.mjs +392 -0
- package/dist/web/lib/composition.mjs.map +1 -0
- package/dist/web/lib/contextComposition.cjs +132 -0
- package/dist/web/lib/contextComposition.cjs.map +1 -0
- package/dist/web/lib/contextComposition.d.mts +75 -0
- package/dist/web/lib/contextComposition.d.mts.map +1 -0
- package/dist/web/lib/contextComposition.mjs +127 -0
- package/dist/web/lib/contextComposition.mjs.map +1 -0
- package/dist/web/lib/contextDetailApi.cjs +61 -0
- package/dist/web/lib/contextDetailApi.cjs.map +1 -0
- package/dist/web/lib/contextDetailApi.d.mts +12 -0
- package/dist/web/lib/contextDetailApi.d.mts.map +1 -0
- package/dist/web/lib/contextDetailApi.mjs +61 -0
- package/dist/web/lib/contextDetailApi.mjs.map +1 -0
- package/dist/web/lib/dashboardRenderers.cjs +9 -0
- package/dist/web/lib/dashboardRenderers.cjs.map +1 -0
- package/dist/web/lib/dashboardRenderers.d.mts +12 -0
- package/dist/web/lib/dashboardRenderers.d.mts.map +1 -0
- package/dist/web/lib/dashboardRenderers.mjs +9 -0
- package/dist/web/lib/dashboardRenderers.mjs.map +1 -0
- package/dist/web/lib/dashboardRoute.cjs +27 -0
- package/dist/web/lib/dashboardRoute.cjs.map +1 -0
- package/dist/web/lib/dashboardRoute.d.mts +29 -0
- package/dist/web/lib/dashboardRoute.d.mts.map +1 -0
- package/dist/web/lib/dashboardRoute.mjs +26 -0
- package/dist/web/lib/dashboardRoute.mjs.map +1 -0
- package/dist/web/lib/dashboardTranscript.cjs +15 -0
- package/dist/web/lib/dashboardTranscript.cjs.map +1 -0
- package/dist/web/lib/dashboardTranscript.d.mts +6 -0
- package/dist/web/lib/dashboardTranscript.d.mts.map +1 -0
- package/dist/web/lib/dashboardTranscript.mjs +14 -0
- package/dist/web/lib/dashboardTranscript.mjs.map +1 -0
- package/dist/web/lib/devProxyApi.cjs +74 -0
- package/dist/web/lib/devProxyApi.cjs.map +1 -0
- package/dist/web/lib/devProxyApi.d.mts +21 -0
- package/dist/web/lib/devProxyApi.d.mts.map +1 -0
- package/dist/web/lib/devProxyApi.mjs +72 -0
- package/dist/web/lib/devProxyApi.mjs.map +1 -0
- package/dist/web/lib/fileMentions.cjs +30 -0
- package/dist/web/lib/fileMentions.cjs.map +1 -0
- package/dist/web/lib/fileMentions.d.mts +13 -0
- package/dist/web/lib/fileMentions.d.mts.map +1 -0
- package/dist/web/lib/fileMentions.mjs +29 -0
- package/dist/web/lib/fileMentions.mjs.map +1 -0
- package/dist/web/lib/hubApi.cjs +283 -0
- package/dist/web/lib/hubApi.cjs.map +1 -0
- package/dist/web/lib/hubApi.d.mts +109 -0
- package/dist/web/lib/hubApi.d.mts.map +1 -0
- package/dist/web/lib/hubApi.mjs +268 -0
- package/dist/web/lib/hubApi.mjs.map +1 -0
- package/dist/web/lib/leaderTree.cjs +150 -0
- package/dist/web/lib/leaderTree.cjs.map +1 -0
- package/dist/web/lib/leaderTree.d.mts +41 -0
- package/dist/web/lib/leaderTree.d.mts.map +1 -0
- package/dist/web/lib/leaderTree.mjs +149 -0
- package/dist/web/lib/leaderTree.mjs.map +1 -0
- package/dist/web/lib/livePush.cjs +97 -0
- package/dist/web/lib/livePush.cjs.map +1 -0
- package/dist/web/lib/livePush.d.mts +10 -0
- package/dist/web/lib/livePush.d.mts.map +1 -0
- package/dist/web/lib/livePush.mjs +94 -0
- package/dist/web/lib/livePush.mjs.map +1 -0
- package/dist/web/lib/modelContextAdapter.cjs +63 -0
- package/dist/web/lib/modelContextAdapter.cjs.map +1 -0
- package/dist/web/lib/modelContextAdapter.d.mts +11 -0
- package/dist/web/lib/modelContextAdapter.d.mts.map +1 -0
- package/dist/web/lib/modelContextAdapter.mjs +62 -0
- package/dist/web/lib/modelContextAdapter.mjs.map +1 -0
- package/dist/web/lib/piTransport.cjs +103 -0
- package/dist/web/lib/piTransport.cjs.map +1 -0
- package/dist/web/lib/piTransport.d.mts +8 -0
- package/dist/web/lib/piTransport.d.mts.map +1 -0
- package/dist/web/lib/piTransport.mjs +102 -0
- package/dist/web/lib/piTransport.mjs.map +1 -0
- package/dist/web/lib/pluginCompositions.cjs +57 -0
- package/dist/web/lib/pluginCompositions.cjs.map +1 -0
- package/dist/web/lib/pluginCompositions.d.mts +37 -0
- package/dist/web/lib/pluginCompositions.d.mts.map +1 -0
- package/dist/web/lib/pluginCompositions.mjs +52 -0
- package/dist/web/lib/pluginCompositions.mjs.map +1 -0
- package/dist/web/lib/pluginRegistry.cjs +675 -0
- package/dist/web/lib/pluginRegistry.cjs.map +1 -0
- package/dist/web/lib/pluginRegistry.d.mts +155 -0
- package/dist/web/lib/pluginRegistry.d.mts.map +1 -0
- package/dist/web/lib/pluginRegistry.mjs +633 -0
- package/dist/web/lib/pluginRegistry.mjs.map +1 -0
- package/dist/web/lib/pluginScopes.cjs +48 -0
- package/dist/web/lib/pluginScopes.cjs.map +1 -0
- package/dist/web/lib/pluginScopes.d.mts +8 -0
- package/dist/web/lib/pluginScopes.d.mts.map +1 -0
- package/dist/web/lib/pluginScopes.mjs +47 -0
- package/dist/web/lib/pluginScopes.mjs.map +1 -0
- package/dist/web/lib/pluginSlotProps.cjs +83 -0
- package/dist/web/lib/pluginSlotProps.cjs.map +1 -0
- package/dist/web/lib/pluginSlotProps.d.mts +21 -0
- package/dist/web/lib/pluginSlotProps.d.mts.map +1 -0
- package/dist/web/lib/pluginSlotProps.mjs +82 -0
- package/dist/web/lib/pluginSlotProps.mjs.map +1 -0
- package/dist/web/lib/promptFocus.cjs +30 -0
- package/dist/web/lib/promptFocus.cjs.map +1 -0
- package/dist/web/lib/promptFocus.d.mts +7 -0
- package/dist/web/lib/promptFocus.d.mts.map +1 -0
- package/dist/web/lib/promptFocus.mjs +29 -0
- package/dist/web/lib/promptFocus.mjs.map +1 -0
- package/dist/web/lib/protocolHubSocket.cjs +107 -0
- package/dist/web/lib/protocolHubSocket.cjs.map +1 -0
- package/dist/web/lib/protocolHubSocket.d.mts +18 -0
- package/dist/web/lib/protocolHubSocket.d.mts.map +1 -0
- package/dist/web/lib/protocolHubSocket.mjs +107 -0
- package/dist/web/lib/protocolHubSocket.mjs.map +1 -0
- package/dist/web/lib/protocolTimeline.cjs +86 -0
- package/dist/web/lib/protocolTimeline.cjs.map +1 -0
- package/dist/web/lib/protocolTimeline.d.mts +9 -0
- package/dist/web/lib/protocolTimeline.d.mts.map +1 -0
- package/dist/web/lib/protocolTimeline.mjs +85 -0
- package/dist/web/lib/protocolTimeline.mjs.map +1 -0
- package/dist/web/lib/qrMatrix.cjs +37 -0
- package/dist/web/lib/qrMatrix.cjs.map +1 -0
- package/dist/web/lib/qrMatrix.d.mts +5 -0
- package/dist/web/lib/qrMatrix.d.mts.map +1 -0
- package/dist/web/lib/qrMatrix.mjs +35 -0
- package/dist/web/lib/qrMatrix.mjs.map +1 -0
- package/dist/web/lib/remoteApi.cjs +100 -0
- package/dist/web/lib/remoteApi.cjs.map +1 -0
- package/dist/web/lib/remoteApi.d.mts +45 -0
- package/dist/web/lib/remoteApi.d.mts.map +1 -0
- package/dist/web/lib/remoteApi.mjs +92 -0
- package/dist/web/lib/remoteApi.mjs.map +1 -0
- package/dist/web/lib/sealedSession.cjs +81 -0
- package/dist/web/lib/sealedSession.cjs.map +1 -0
- package/dist/web/lib/sealedSession.d.mts +24 -0
- package/dist/web/lib/sealedSession.d.mts.map +1 -0
- package/dist/web/lib/sealedSession.mjs +75 -0
- package/dist/web/lib/sealedSession.mjs.map +1 -0
- package/dist/web/lib/sessionActivityRenderer.cjs +19 -0
- package/dist/web/lib/sessionActivityRenderer.cjs.map +1 -0
- package/dist/web/lib/sessionActivityRenderer.d.mts +10 -0
- package/dist/web/lib/sessionActivityRenderer.d.mts.map +1 -0
- package/dist/web/lib/sessionActivityRenderer.mjs +17 -0
- package/dist/web/lib/sessionActivityRenderer.mjs.map +1 -0
- package/dist/web/lib/sessionAsset.cjs +45 -0
- package/dist/web/lib/sessionAsset.cjs.map +1 -0
- package/dist/web/lib/sessionAsset.d.mts +17 -0
- package/dist/web/lib/sessionAsset.d.mts.map +1 -0
- package/dist/web/lib/sessionAsset.mjs +44 -0
- package/dist/web/lib/sessionAsset.mjs.map +1 -0
- package/dist/web/lib/sessionAvatar.cjs +18 -0
- package/dist/web/lib/sessionAvatar.cjs.map +1 -0
- package/dist/web/lib/sessionAvatar.d.mts +10 -0
- package/dist/web/lib/sessionAvatar.d.mts.map +1 -0
- package/dist/web/lib/sessionAvatar.mjs +18 -0
- package/dist/web/lib/sessionAvatar.mjs.map +1 -0
- package/dist/web/lib/sessionMcpApi.cjs +120 -0
- package/dist/web/lib/sessionMcpApi.cjs.map +1 -0
- package/dist/web/lib/sessionMcpApi.d.mts +27 -0
- package/dist/web/lib/sessionMcpApi.d.mts.map +1 -0
- package/dist/web/lib/sessionMcpApi.mjs +114 -0
- package/dist/web/lib/sessionMcpApi.mjs.map +1 -0
- package/dist/web/lib/sessionMcpPrompt.cjs +24 -0
- package/dist/web/lib/sessionMcpPrompt.cjs.map +1 -0
- package/dist/web/lib/sessionMcpPrompt.mjs +23 -0
- package/dist/web/lib/sessionMcpPrompt.mjs.map +1 -0
- package/dist/web/lib/sessionModel.cjs +970 -0
- package/dist/web/lib/sessionModel.cjs.map +1 -0
- package/dist/web/lib/sessionModel.d.mts +254 -0
- package/dist/web/lib/sessionModel.d.mts.map +1 -0
- package/dist/web/lib/sessionModel.mjs +958 -0
- package/dist/web/lib/sessionModel.mjs.map +1 -0
- package/dist/web/lib/sessionProtocolCommands.cjs +196 -0
- package/dist/web/lib/sessionProtocolCommands.cjs.map +1 -0
- package/dist/web/lib/sessionProtocolCommands.d.mts +15 -0
- package/dist/web/lib/sessionProtocolCommands.d.mts.map +1 -0
- package/dist/web/lib/sessionProtocolCommands.mjs +193 -0
- package/dist/web/lib/sessionProtocolCommands.mjs.map +1 -0
- package/dist/web/lib/sessionRailModel.cjs +107 -0
- package/dist/web/lib/sessionRailModel.cjs.map +1 -0
- package/dist/web/lib/sessionRailModel.d.mts +38 -0
- package/dist/web/lib/sessionRailModel.d.mts.map +1 -0
- package/dist/web/lib/sessionRailModel.mjs +104 -0
- package/dist/web/lib/sessionRailModel.mjs.map +1 -0
- package/dist/web/lib/sessionSummary.cjs +58 -0
- package/dist/web/lib/sessionSummary.cjs.map +1 -0
- package/dist/web/lib/sessionSummary.d.mts +39 -0
- package/dist/web/lib/sessionSummary.d.mts.map +1 -0
- package/dist/web/lib/sessionSummary.mjs +54 -0
- package/dist/web/lib/sessionSummary.mjs.map +1 -0
- package/dist/web/lib/sessionTranscriptRenderer.cjs +19 -0
- package/dist/web/lib/sessionTranscriptRenderer.cjs.map +1 -0
- package/dist/web/lib/sessionTranscriptRenderer.d.mts +11 -0
- package/dist/web/lib/sessionTranscriptRenderer.d.mts.map +1 -0
- package/dist/web/lib/sessionTranscriptRenderer.mjs +17 -0
- package/dist/web/lib/sessionTranscriptRenderer.mjs.map +1 -0
- package/dist/web/lib/settingsApi.cjs +237 -0
- package/dist/web/lib/settingsApi.cjs.map +1 -0
- package/dist/web/lib/settingsApi.d.mts +57 -0
- package/dist/web/lib/settingsApi.d.mts.map +1 -0
- package/dist/web/lib/settingsApi.mjs +230 -0
- package/dist/web/lib/settingsApi.mjs.map +1 -0
- package/dist/web/lib/settingsDraft.cjs +48 -0
- package/dist/web/lib/settingsDraft.cjs.map +1 -0
- package/dist/web/lib/settingsDraft.d.mts +28 -0
- package/dist/web/lib/settingsDraft.d.mts.map +1 -0
- package/dist/web/lib/settingsDraft.mjs +45 -0
- package/dist/web/lib/settingsDraft.mjs.map +1 -0
- package/dist/web/lib/settingsSections.cjs +108 -0
- package/dist/web/lib/settingsSections.cjs.map +1 -0
- package/dist/web/lib/settingsSections.d.mts +36 -0
- package/dist/web/lib/settingsSections.d.mts.map +1 -0
- package/dist/web/lib/settingsSections.mjs +105 -0
- package/dist/web/lib/settingsSections.mjs.map +1 -0
- package/dist/web/lib/statusLine.cjs +82 -0
- package/dist/web/lib/statusLine.cjs.map +1 -0
- package/dist/web/lib/statusLine.d.mts +27 -0
- package/dist/web/lib/statusLine.d.mts.map +1 -0
- package/dist/web/lib/statusLine.mjs +79 -0
- package/dist/web/lib/statusLine.mjs.map +1 -0
- package/dist/web/lib/stepUp.cjs +41 -0
- package/dist/web/lib/stepUp.cjs.map +1 -0
- package/dist/web/lib/stepUp.d.mts +18 -0
- package/dist/web/lib/stepUp.d.mts.map +1 -0
- package/dist/web/lib/stepUp.mjs +41 -0
- package/dist/web/lib/stepUp.mjs.map +1 -0
- package/dist/web/lib/templateCatalog.cjs +123 -0
- package/dist/web/lib/templateCatalog.cjs.map +1 -0
- package/dist/web/lib/templateCatalog.d.mts +38 -0
- package/dist/web/lib/templateCatalog.d.mts.map +1 -0
- package/dist/web/lib/templateCatalog.mjs +118 -0
- package/dist/web/lib/templateCatalog.mjs.map +1 -0
- package/dist/web/lib/threadRenderer.cjs +25 -0
- package/dist/web/lib/threadRenderer.cjs.map +1 -0
- package/dist/web/lib/threadRenderer.d.mts +17 -0
- package/dist/web/lib/threadRenderer.d.mts.map +1 -0
- package/dist/web/lib/threadRenderer.mjs +23 -0
- package/dist/web/lib/threadRenderer.mjs.map +1 -0
- package/dist/web/lib/timelineGroups.cjs +83 -0
- package/dist/web/lib/timelineGroups.cjs.map +1 -0
- package/dist/web/lib/timelineGroups.d.mts +36 -0
- package/dist/web/lib/timelineGroups.d.mts.map +1 -0
- package/dist/web/lib/timelineGroups.mjs +81 -0
- package/dist/web/lib/timelineGroups.mjs.map +1 -0
- package/dist/web/lib/toolCompletionTabs.cjs +98 -0
- package/dist/web/lib/toolCompletionTabs.cjs.map +1 -0
- package/dist/web/lib/toolCompletionTabs.d.mts +14 -0
- package/dist/web/lib/toolCompletionTabs.d.mts.map +1 -0
- package/dist/web/lib/toolCompletionTabs.mjs +98 -0
- package/dist/web/lib/toolCompletionTabs.mjs.map +1 -0
- package/dist/web/lib/toolMessageProps.cjs +19 -0
- package/dist/web/lib/toolMessageProps.cjs.map +1 -0
- package/dist/web/lib/toolMessageProps.d.mts +7 -0
- package/dist/web/lib/toolMessageProps.d.mts.map +1 -0
- package/dist/web/lib/toolMessageProps.mjs +19 -0
- package/dist/web/lib/toolMessageProps.mjs.map +1 -0
- package/dist/web/lib/toolPrompt.cjs +44 -0
- package/dist/web/lib/toolPrompt.cjs.map +1 -0
- package/dist/web/lib/toolPrompt.d.mts +34 -0
- package/dist/web/lib/toolPrompt.d.mts.map +1 -0
- package/dist/web/lib/toolPrompt.mjs +44 -0
- package/dist/web/lib/toolPrompt.mjs.map +1 -0
- package/dist/web/lib/transport.cjs +57 -0
- package/dist/web/lib/transport.cjs.map +1 -0
- package/dist/web/lib/transport.d.mts +40 -0
- package/dist/web/lib/transport.d.mts.map +1 -0
- package/dist/web/lib/transport.mjs +50 -0
- package/dist/web/lib/transport.mjs.map +1 -0
- package/dist/web/lib/useSessionMcp.cjs +65 -0
- package/dist/web/lib/useSessionMcp.cjs.map +1 -0
- package/dist/web/lib/useSessionMcp.d.mts +15 -0
- package/dist/web/lib/useSessionMcp.d.mts.map +1 -0
- package/dist/web/lib/useSessionMcp.mjs +65 -0
- package/dist/web/lib/useSessionMcp.mjs.map +1 -0
- package/dist/web/lib/webauthnClient.cjs +110 -0
- package/dist/web/lib/webauthnClient.cjs.map +1 -0
- package/dist/web/lib/webauthnClient.d.mts +32 -0
- package/dist/web/lib/webauthnClient.d.mts.map +1 -0
- package/dist/web/lib/webauthnClient.mjs +106 -0
- package/dist/web/lib/webauthnClient.mjs.map +1 -0
- package/dist/web/lib/webmcpSimulator.cjs +105 -0
- package/dist/web/lib/webmcpSimulator.cjs.map +1 -0
- package/dist/web/lib/webmcpSimulator.mjs +105 -0
- package/dist/web/lib/webmcpSimulator.mjs.map +1 -0
- package/dist/web/stores/captureStore.cjs +137 -0
- package/dist/web/stores/captureStore.cjs.map +1 -0
- package/dist/web/stores/captureStore.d.mts +13 -0
- package/dist/web/stores/captureStore.d.mts.map +1 -0
- package/dist/web/stores/captureStore.mjs +133 -0
- package/dist/web/stores/captureStore.mjs.map +1 -0
- package/dist/web/stores/composerStore.cjs +390 -0
- package/dist/web/stores/composerStore.cjs.map +1 -0
- package/dist/web/stores/composerStore.d.mts +101 -0
- package/dist/web/stores/composerStore.d.mts.map +1 -0
- package/dist/web/stores/composerStore.mjs +370 -0
- package/dist/web/stores/composerStore.mjs.map +1 -0
- package/dist/web/stores/composerSubmissionStore.cjs +88 -0
- package/dist/web/stores/composerSubmissionStore.cjs.map +1 -0
- package/dist/web/stores/composerSubmissionStore.d.mts +11 -0
- package/dist/web/stores/composerSubmissionStore.d.mts.map +1 -0
- package/dist/web/stores/composerSubmissionStore.mjs +87 -0
- package/dist/web/stores/composerSubmissionStore.mjs.map +1 -0
- package/dist/web/stores/dashboardStateStore.cjs +35 -0
- package/dist/web/stores/dashboardStateStore.cjs.map +1 -0
- package/dist/web/stores/dashboardStateStore.d.mts +11 -0
- package/dist/web/stores/dashboardStateStore.d.mts.map +1 -0
- package/dist/web/stores/dashboardStateStore.mjs +33 -0
- package/dist/web/stores/dashboardStateStore.mjs.map +1 -0
- package/dist/web/stores/devProxyStore.cjs +76 -0
- package/dist/web/stores/devProxyStore.cjs.map +1 -0
- package/dist/web/stores/devProxyStore.d.mts +25 -0
- package/dist/web/stores/devProxyStore.d.mts.map +1 -0
- package/dist/web/stores/devProxyStore.mjs +73 -0
- package/dist/web/stores/devProxyStore.mjs.map +1 -0
- package/dist/web/stores/dialogDraftStore.cjs +38 -0
- package/dist/web/stores/dialogDraftStore.cjs.map +1 -0
- package/dist/web/stores/dialogDraftStore.d.mts +13 -0
- package/dist/web/stores/dialogDraftStore.d.mts.map +1 -0
- package/dist/web/stores/dialogDraftStore.mjs +36 -0
- package/dist/web/stores/dialogDraftStore.mjs.map +1 -0
- package/dist/web/stores/fileLinkModesStore.cjs +20 -0
- package/dist/web/stores/fileLinkModesStore.cjs.map +1 -0
- package/dist/web/stores/fileLinkModesStore.d.mts +5 -0
- package/dist/web/stores/fileLinkModesStore.d.mts.map +1 -0
- package/dist/web/stores/fileLinkModesStore.mjs +20 -0
- package/dist/web/stores/fileLinkModesStore.mjs.map +1 -0
- package/dist/web/stores/menuStore.cjs +85 -0
- package/dist/web/stores/menuStore.cjs.map +1 -0
- package/dist/web/stores/menuStore.d.mts +42 -0
- package/dist/web/stores/menuStore.d.mts.map +1 -0
- package/dist/web/stores/menuStore.mjs +79 -0
- package/dist/web/stores/menuStore.mjs.map +1 -0
- package/dist/web/stores/newSessionStore.cjs +93 -0
- package/dist/web/stores/newSessionStore.cjs.map +1 -0
- package/dist/web/stores/newSessionStore.d.mts +30 -0
- package/dist/web/stores/newSessionStore.d.mts.map +1 -0
- package/dist/web/stores/newSessionStore.mjs +86 -0
- package/dist/web/stores/newSessionStore.mjs.map +1 -0
- package/dist/web/stores/pagedTranscriptStore.cjs +235 -0
- package/dist/web/stores/pagedTranscriptStore.cjs.map +1 -0
- package/dist/web/stores/pagedTranscriptStore.d.mts +12 -0
- package/dist/web/stores/pagedTranscriptStore.d.mts.map +1 -0
- package/dist/web/stores/pagedTranscriptStore.mjs +235 -0
- package/dist/web/stores/pagedTranscriptStore.mjs.map +1 -0
- package/dist/web/stores/paletteStore.cjs +37 -0
- package/dist/web/stores/paletteStore.cjs.map +1 -0
- package/dist/web/stores/paletteStore.d.mts +14 -0
- package/dist/web/stores/paletteStore.d.mts.map +1 -0
- package/dist/web/stores/paletteStore.mjs +34 -0
- package/dist/web/stores/paletteStore.mjs.map +1 -0
- package/dist/web/stores/railDialogStore.cjs +105 -0
- package/dist/web/stores/railDialogStore.cjs.map +1 -0
- package/dist/web/stores/railDialogStore.d.mts +32 -0
- package/dist/web/stores/railDialogStore.d.mts.map +1 -0
- package/dist/web/stores/railDialogStore.mjs +97 -0
- package/dist/web/stores/railDialogStore.mjs.map +1 -0
- package/dist/web/stores/remoteAccessStore.cjs +216 -0
- package/dist/web/stores/remoteAccessStore.cjs.map +1 -0
- package/dist/web/stores/remoteAccessStore.d.mts +48 -0
- package/dist/web/stores/remoteAccessStore.d.mts.map +1 -0
- package/dist/web/stores/remoteAccessStore.mjs +202 -0
- package/dist/web/stores/remoteAccessStore.mjs.map +1 -0
- package/dist/web/stores/sessionChannelHoldsStore.cjs +43 -0
- package/dist/web/stores/sessionChannelHoldsStore.cjs.map +1 -0
- package/dist/web/stores/sessionChannelHoldsStore.d.mts +9 -0
- package/dist/web/stores/sessionChannelHoldsStore.d.mts.map +1 -0
- package/dist/web/stores/sessionChannelHoldsStore.mjs +42 -0
- package/dist/web/stores/sessionChannelHoldsStore.mjs.map +1 -0
- package/dist/web/stores/sessionStore.cjs +610 -0
- package/dist/web/stores/sessionStore.cjs.map +1 -0
- package/dist/web/stores/sessionStore.d.mts +116 -0
- package/dist/web/stores/sessionStore.d.mts.map +1 -0
- package/dist/web/stores/sessionStore.mjs +568 -0
- package/dist/web/stores/sessionStore.mjs.map +1 -0
- package/dist/web/stores/sessionsStore.cjs +272 -0
- package/dist/web/stores/sessionsStore.cjs.map +1 -0
- package/dist/web/stores/sessionsStore.d.mts +74 -0
- package/dist/web/stores/sessionsStore.d.mts.map +1 -0
- package/dist/web/stores/sessionsStore.mjs +257 -0
- package/dist/web/stores/sessionsStore.mjs.map +1 -0
- package/dist/web/stores/settingsDraftStore.cjs +138 -0
- package/dist/web/stores/settingsDraftStore.cjs.map +1 -0
- package/dist/web/stores/settingsDraftStore.d.mts +27 -0
- package/dist/web/stores/settingsDraftStore.d.mts.map +1 -0
- package/dist/web/stores/settingsDraftStore.mjs +132 -0
- package/dist/web/stores/settingsDraftStore.mjs.map +1 -0
- package/dist/web/stores/templateStore.cjs +136 -0
- package/dist/web/stores/templateStore.cjs.map +1 -0
- package/dist/web/stores/templateStore.d.mts +20 -0
- package/dist/web/stores/templateStore.d.mts.map +1 -0
- package/dist/web/stores/templateStore.mjs +131 -0
- package/dist/web/stores/templateStore.mjs.map +1 -0
- package/dist/web/stores/themeStore.cjs +42 -0
- package/dist/web/stores/themeStore.cjs.map +1 -0
- package/dist/web/stores/themeStore.d.mts +20 -0
- package/dist/web/stores/themeStore.d.mts.map +1 -0
- package/dist/web/stores/themeStore.mjs +39 -0
- package/dist/web/stores/themeStore.mjs.map +1 -0
- package/dist/web/stores/threadStore.cjs +122 -0
- package/dist/web/stores/threadStore.cjs.map +1 -0
- package/dist/web/stores/threadStore.d.mts +24 -0
- package/dist/web/stores/threadStore.d.mts.map +1 -0
- package/dist/web/stores/threadStore.mjs +114 -0
- package/dist/web/stores/threadStore.mjs.map +1 -0
- package/dist/web/stores/toolPromptStore.cjs +15 -0
- package/dist/web/stores/toolPromptStore.cjs.map +1 -0
- package/dist/web/stores/toolPromptStore.d.mts +23 -0
- package/dist/web/stores/toolPromptStore.d.mts.map +1 -0
- package/dist/web/stores/toolPromptStore.mjs +14 -0
- package/dist/web/stores/toolPromptStore.mjs.map +1 -0
- package/dist/web/stores/transientTabsStore.cjs +66 -0
- package/dist/web/stores/transientTabsStore.cjs.map +1 -0
- package/dist/web/stores/transientTabsStore.d.mts +21 -0
- package/dist/web/stores/transientTabsStore.d.mts.map +1 -0
- package/dist/web/stores/transientTabsStore.mjs +59 -0
- package/dist/web/stores/transientTabsStore.mjs.map +1 -0
- package/dist/web/stores/uiStore.cjs +47 -0
- package/dist/web/stores/uiStore.cjs.map +1 -0
- package/dist/web/stores/uiStore.d.mts +18 -0
- package/dist/web/stores/uiStore.d.mts.map +1 -0
- package/dist/web/stores/uiStore.mjs +45 -0
- package/dist/web/stores/uiStore.mjs.map +1 -0
- package/dist/web/stores/useOpenTab.cjs +31 -0
- package/dist/web/stores/useOpenTab.cjs.map +1 -0
- package/dist/web/stores/useOpenTab.d.mts +9 -0
- package/dist/web/stores/useOpenTab.d.mts.map +1 -0
- package/dist/web/stores/useOpenTab.mjs +31 -0
- package/dist/web/stores/useOpenTab.mjs.map +1 -0
- package/dist/web/stores/usePluginSlotProps.cjs +115 -0
- package/dist/web/stores/usePluginSlotProps.cjs.map +1 -0
- package/dist/web/stores/usePluginSlotProps.d.mts +6 -0
- package/dist/web/stores/usePluginSlotProps.d.mts.map +1 -0
- package/dist/web/stores/usePluginSlotProps.mjs +115 -0
- package/dist/web/stores/usePluginSlotProps.mjs.map +1 -0
- package/dist/web/stores/useToolPrompt.cjs +42 -0
- package/dist/web/stores/useToolPrompt.cjs.map +1 -0
- package/dist/web/stores/useToolPrompt.d.mts +14 -0
- package/dist/web/stores/useToolPrompt.d.mts.map +1 -0
- package/dist/web/stores/useToolPrompt.mjs +42 -0
- package/dist/web/stores/useToolPrompt.mjs.map +1 -0
- package/dist/web/stores/useWebPluginRegistry.cjs +11 -0
- package/dist/web/stores/useWebPluginRegistry.cjs.map +1 -0
- package/dist/web/stores/useWebPluginRegistry.d.mts +5 -0
- package/dist/web/stores/useWebPluginRegistry.d.mts.map +1 -0
- package/dist/web/stores/useWebPluginRegistry.mjs +11 -0
- package/dist/web/stores/useWebPluginRegistry.mjs.map +1 -0
- package/dist/web/stores/workspaceAdmissionStore.cjs +67 -0
- package/dist/web/stores/workspaceAdmissionStore.cjs.map +1 -0
- package/dist/web/stores/workspaceAdmissionStore.d.mts +24 -0
- package/dist/web/stores/workspaceAdmissionStore.d.mts.map +1 -0
- package/dist/web/stores/workspaceAdmissionStore.mjs +64 -0
- package/dist/web/stores/workspaceAdmissionStore.mjs.map +1 -0
- package/dist/web/stores/workspacesStore.cjs +83 -0
- package/dist/web/stores/workspacesStore.cjs.map +1 -0
- package/dist/web/stores/workspacesStore.d.mts +17 -0
- package/dist/web/stores/workspacesStore.d.mts.map +1 -0
- package/dist/web/stores/workspacesStore.mjs +78 -0
- package/dist/web/stores/workspacesStore.mjs.map +1 -0
- package/llms.txt +3 -0
- package/package.json +107 -0
- package/styles/dashboard.css +2 -0
- package/styles/preview.css +3 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { listSessionHistory, listWorkspaceHistory } from "../../lib/hubApi.mjs";
|
|
2
|
+
import { sessionsStore } from "../../stores/sessionsStore.mjs";
|
|
3
|
+
import { resumeDashboardSession, resumeDraftStore, updateResumeDraft } from "../../stores/railDialogStore.mjs";
|
|
4
|
+
import { useEffect, useMemo, useState } from "react";
|
|
5
|
+
import { useNavigate } from "@tanstack/react-router";
|
|
6
|
+
import { useStore } from "@tanstack/react-store";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Button, Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, OptionRow } from "@agimon-ai/po-web-components";
|
|
9
|
+
//#region src/web/features/sessions/ResumeSessionDialog.tsx
|
|
10
|
+
function threadLabel(thread) {
|
|
11
|
+
return thread.name?.trim() || thread.firstMessage.trim().split("\n", 1)[0] || "untitled";
|
|
12
|
+
}
|
|
13
|
+
/** Searchable saved history for either replacing a session or adding one to a workspace. */
|
|
14
|
+
function ResumeSessionDialog({ sessionId, workspaceId, onClose }) {
|
|
15
|
+
const navigate = useNavigate();
|
|
16
|
+
const sourceId = workspaceId ?? sessionId;
|
|
17
|
+
const byId = useStore(sessionsStore, (state) => state.byId);
|
|
18
|
+
const [threads, setThreads] = useState([]);
|
|
19
|
+
const { query, selectedId, resumedId, busy, error } = useStore(resumeDraftStore);
|
|
20
|
+
const [loading, setLoading] = useState(true);
|
|
21
|
+
const [historyError, setHistoryError] = useState("");
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
let stale = false;
|
|
24
|
+
(workspaceId === void 0 ? listSessionHistory(sessionId) : listWorkspaceHistory(workspaceId)).then((result) => {
|
|
25
|
+
if (stale) return;
|
|
26
|
+
setLoading(false);
|
|
27
|
+
if ("error" in result) {
|
|
28
|
+
setHistoryError(result.error);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setThreads(result.sessions);
|
|
32
|
+
});
|
|
33
|
+
return () => {
|
|
34
|
+
stale = true;
|
|
35
|
+
};
|
|
36
|
+
}, [sessionId, workspaceId]);
|
|
37
|
+
const visible = useMemo(() => {
|
|
38
|
+
const needle = query.trim().toLowerCase();
|
|
39
|
+
if (!needle) return threads;
|
|
40
|
+
return threads.filter((thread) => `${thread.name ?? ""}\n${thread.firstMessage}`.toLowerCase().includes(needle));
|
|
41
|
+
}, [query, threads]);
|
|
42
|
+
const submit = async () => {
|
|
43
|
+
const resumed = await resumeDashboardSession(workspaceId === void 0 ? { sessionId } : { workspaceId });
|
|
44
|
+
if (resumed === void 0) return;
|
|
45
|
+
onClose();
|
|
46
|
+
await navigate({
|
|
47
|
+
to: "/session/$sessionId",
|
|
48
|
+
params: { sessionId: resumed }
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
return /* @__PURE__ */ jsx(Dialog, {
|
|
52
|
+
open: true,
|
|
53
|
+
onOpenChange: (next) => !next && !busy && onClose(),
|
|
54
|
+
children: /* @__PURE__ */ jsxs(DialogContent, {
|
|
55
|
+
width: "md",
|
|
56
|
+
"data-testid": `session-resume-dialog-${sourceId}`,
|
|
57
|
+
"aria-describedby": void 0,
|
|
58
|
+
children: [/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "resume Pi thread" }) }), /* @__PURE__ */ jsxs(DialogBody, { children: [
|
|
59
|
+
/* @__PURE__ */ jsx(Input, {
|
|
60
|
+
"data-testid": "session-history-search",
|
|
61
|
+
value: query,
|
|
62
|
+
autoFocus: true,
|
|
63
|
+
onChange: (event) => updateResumeDraft({ query: event.target.value }),
|
|
64
|
+
placeholder: "search thread history"
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ jsxs("div", {
|
|
67
|
+
role: "listbox",
|
|
68
|
+
"aria-label": "Pi thread history",
|
|
69
|
+
"data-testid": "session-history-list",
|
|
70
|
+
className: "max-h-80 overflow-y-auto rounded border border-doom-border bg-doom-deep p-1",
|
|
71
|
+
children: [
|
|
72
|
+
visible.map((thread) => {
|
|
73
|
+
const running = byId[thread.id] !== void 0;
|
|
74
|
+
return /* @__PURE__ */ jsxs(OptionRow, {
|
|
75
|
+
density: "compact",
|
|
76
|
+
active: selectedId === thread.id,
|
|
77
|
+
disabled: running || busy,
|
|
78
|
+
"aria-selected": selectedId === thread.id,
|
|
79
|
+
"data-testid": `session-history-${thread.id}`,
|
|
80
|
+
onClick: () => updateResumeDraft({ selectedId: thread.id }),
|
|
81
|
+
className: "w-full items-start px-2.5 py-2 text-left",
|
|
82
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
83
|
+
className: "min-w-0 flex-1",
|
|
84
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
85
|
+
className: "block truncate text-base font-semibold text-doom-hi",
|
|
86
|
+
children: threadLabel(thread)
|
|
87
|
+
}), thread.name && thread.firstMessage ? /* @__PURE__ */ jsx("span", {
|
|
88
|
+
className: "mt-0.5 line-clamp-2 block text-base text-doom-text",
|
|
89
|
+
children: thread.firstMessage
|
|
90
|
+
}) : null]
|
|
91
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
92
|
+
className: "shrink-0 pl-3 text-sm text-doom-dim",
|
|
93
|
+
children: running ? "running" : `${thread.messageCount} messages`
|
|
94
|
+
})]
|
|
95
|
+
}, thread.id);
|
|
96
|
+
}),
|
|
97
|
+
!loading && visible.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
98
|
+
className: "px-2.5 py-6 text-center text-sm text-doom-dim",
|
|
99
|
+
children: query.trim() ? "no matching threads" : "no Pi history for this workspace"
|
|
100
|
+
}) : null,
|
|
101
|
+
loading ? /* @__PURE__ */ jsx("p", {
|
|
102
|
+
className: "px-2.5 py-6 text-center text-sm text-doom-dim",
|
|
103
|
+
children: "loading history…"
|
|
104
|
+
}) : null
|
|
105
|
+
]
|
|
106
|
+
}),
|
|
107
|
+
error || historyError ? /* @__PURE__ */ jsx("p", {
|
|
108
|
+
"data-testid": "session-resume-error",
|
|
109
|
+
className: "text-sm text-doom-red",
|
|
110
|
+
children: error || historyError
|
|
111
|
+
}) : null,
|
|
112
|
+
/* @__PURE__ */ jsxs(DialogFooter, { children: [/* @__PURE__ */ jsx(Button, {
|
|
113
|
+
variant: "outline",
|
|
114
|
+
onClick: onClose,
|
|
115
|
+
disabled: busy,
|
|
116
|
+
children: "cancel"
|
|
117
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
118
|
+
variant: "primary",
|
|
119
|
+
"data-testid": "session-resume-confirm",
|
|
120
|
+
onClick: () => void submit(),
|
|
121
|
+
disabled: selectedId === null || busy || !resumedId && byId[selectedId] !== void 0,
|
|
122
|
+
children: busy ? "resuming…" : "resume"
|
|
123
|
+
})] })
|
|
124
|
+
] })]
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { ResumeSessionDialog };
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=ResumeSessionDialog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeSessionDialog.mjs","names":[],"sources":["../../../../src/web/features/sessions/ResumeSessionDialog.tsx"],"sourcesContent":["import {\n Button,\n Dialog,\n DialogBody,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n Input,\n OptionRow,\n} from '@agimon-ai/po-web-components';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport type { PiSessionHistoryItem } from '../../../types/hub';\nimport { listSessionHistory, listWorkspaceHistory } from '../../lib/hubApi';\nimport { resumeDashboardSession, resumeDraftStore, updateResumeDraft } from '../../stores/railDialogStore';\nimport { sessionsStore } from '../../stores/sessionsStore';\n\nfunction threadLabel(thread: PiSessionHistoryItem): string {\n return thread.name?.trim() || thread.firstMessage.trim().split('\\n', 1)[0] || 'untitled';\n}\n\ntype ResumeSource = { sessionId: string; workspaceId?: never } | { workspaceId: string; sessionId?: never };\n\n/** Searchable saved history for either replacing a session or adding one to a workspace. */\nexport function ResumeSessionDialog({ sessionId, workspaceId, onClose }: ResumeSource & { onClose: () => void }) {\n const navigate = useNavigate();\n const sourceId = workspaceId ?? sessionId;\n const byId = useStore(sessionsStore, (state) => state.byId);\n const [threads, setThreads] = useState<PiSessionHistoryItem[]>([]);\n const { query, selectedId, resumedId, busy, error } = useStore(resumeDraftStore);\n const [loading, setLoading] = useState(true);\n const [historyError, setHistoryError] = useState('');\n\n useEffect(() => {\n let stale = false;\n const history = workspaceId === undefined ? listSessionHistory(sessionId) : listWorkspaceHistory(workspaceId);\n void history.then((result) => {\n if (stale) return;\n setLoading(false);\n if ('error' in result) {\n setHistoryError(result.error);\n return;\n }\n setThreads(result.sessions);\n });\n return () => {\n stale = true;\n };\n }, [sessionId, workspaceId]);\n\n const visible = useMemo(() => {\n const needle = query.trim().toLowerCase();\n if (!needle) return threads;\n return threads.filter((thread) => `${thread.name ?? ''}\\n${thread.firstMessage}`.toLowerCase().includes(needle));\n }, [query, threads]);\n\n const submit = async (): Promise<void> => {\n const resumed = await resumeDashboardSession(workspaceId === undefined ? { sessionId } : { workspaceId });\n if (resumed === undefined) return;\n onClose();\n await navigate({ to: '/session/$sessionId', params: { sessionId: resumed } });\n };\n\n return (\n <Dialog open onOpenChange={(next) => !next && !busy && onClose()}>\n <DialogContent width=\"md\" data-testid={`session-resume-dialog-${sourceId}`} aria-describedby={undefined}>\n <DialogHeader>\n <DialogTitle>resume Pi thread</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <Input\n data-testid=\"session-history-search\"\n value={query}\n autoFocus\n onChange={(event) => updateResumeDraft({ query: event.target.value })}\n placeholder=\"search thread history\"\n />\n <div\n role=\"listbox\"\n aria-label=\"Pi thread history\"\n data-testid=\"session-history-list\"\n className=\"max-h-80 overflow-y-auto rounded border border-doom-border bg-doom-deep p-1\"\n >\n {visible.map((thread) => {\n const running = byId[thread.id] !== undefined;\n return (\n <OptionRow\n key={thread.id}\n density=\"compact\"\n active={selectedId === thread.id}\n disabled={running || busy}\n aria-selected={selectedId === thread.id}\n data-testid={`session-history-${thread.id}`}\n onClick={() => updateResumeDraft({ selectedId: thread.id })}\n className=\"w-full items-start px-2.5 py-2 text-left\"\n >\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate text-base font-semibold text-doom-hi\">{threadLabel(thread)}</span>\n {thread.name && thread.firstMessage ? (\n <span className=\"mt-0.5 line-clamp-2 block text-base text-doom-text\">{thread.firstMessage}</span>\n ) : null}\n </span>\n <span className=\"shrink-0 pl-3 text-sm text-doom-dim\">\n {running ? 'running' : `${thread.messageCount} messages`}\n </span>\n </OptionRow>\n );\n })}\n {!loading && visible.length === 0 ? (\n <p className=\"px-2.5 py-6 text-center text-sm text-doom-dim\">\n {query.trim() ? 'no matching threads' : 'no Pi history for this workspace'}\n </p>\n ) : null}\n {loading ? <p className=\"px-2.5 py-6 text-center text-sm text-doom-dim\">loading history…</p> : null}\n </div>\n {error || historyError ? (\n <p data-testid=\"session-resume-error\" className=\"text-sm text-doom-red\">\n {error || historyError}\n </p>\n ) : null}\n <DialogFooter>\n <Button variant=\"outline\" onClick={onClose} disabled={busy}>\n cancel\n </Button>\n <Button\n variant=\"primary\"\n data-testid=\"session-resume-confirm\"\n onClick={() => void submit()}\n disabled={selectedId === null || busy || (!resumedId && byId[selectedId] !== undefined)}\n >\n {busy ? 'resuming…' : 'resume'}\n </Button>\n </DialogFooter>\n </DialogBody>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;AAoBA,SAAS,YAAY,QAAsC;CACzD,OAAO,OAAO,MAAM,KAAK,KAAK,OAAO,aAAa,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM;AAChF;;AAKA,SAAgB,oBAAoB,EAAE,WAAW,aAAa,WAAmD;CAC/G,MAAM,WAAW,YAAY;CAC7B,MAAM,WAAW,eAAe;CAChC,MAAM,OAAO,SAAS,gBAAgB,UAAU,MAAM,IAAI;CAC1D,MAAM,CAAC,SAAS,cAAc,SAAiC,CAAC,CAAC;CACjE,MAAM,EAAE,OAAO,YAAY,WAAW,MAAM,UAAU,SAAS,gBAAgB;CAC/E,MAAM,CAAC,SAAS,cAAc,SAAS,IAAI;CAC3C,MAAM,CAAC,cAAc,mBAAmB,SAAS,EAAE;CAEnD,gBAAgB;EACd,IAAI,QAAQ;EAEZ,CADgB,gBAAgB,KAAA,IAAY,mBAAmB,SAAS,IAAI,qBAAqB,WAAW,EAAA,CAC/F,MAAM,WAAW;GAC5B,IAAI,OAAO;GACX,WAAW,KAAK;GAChB,IAAI,WAAW,QAAQ;IACrB,gBAAgB,OAAO,KAAK;IAC5B;GACF;GACA,WAAW,OAAO,QAAQ;EAC5B,CAAC;EACD,aAAa;GACX,QAAQ;EACV;CACF,GAAG,CAAC,WAAW,WAAW,CAAC;CAE3B,MAAM,UAAU,cAAc;EAC5B,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,YAAY;EACxC,IAAI,CAAC,QAAQ,OAAO;EACpB,OAAO,QAAQ,QAAQ,WAAW,GAAG,OAAO,QAAQ,GAAG,IAAI,OAAO,eAAe,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC;CACjH,GAAG,CAAC,OAAO,OAAO,CAAC;CAEnB,MAAM,SAAS,YAA2B;EACxC,MAAM,UAAU,MAAM,uBAAuB,gBAAgB,KAAA,IAAY,EAAE,UAAU,IAAI,EAAE,YAAY,CAAC;EACxG,IAAI,YAAY,KAAA,GAAW;EAC3B,QAAQ;EACR,MAAM,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,QAAQ;EAAE,CAAC;CAC9E;CAEA,OACE,oBAAC,QAAD;EAAQ,MAAA;EAAK,eAAe,SAAS,CAAC,QAAQ,CAAC,QAAQ,QAAQ;EAC7D,UAAA,qBAAC,eAAD;GAAe,OAAM;GAAK,eAAa,yBAAyB;GAAY,oBAAkB,KAAA;GAA9F,UAAA,CACE,oBAAC,cAAD,EAAA,UACE,oBAAC,aAAD,EAAA,UAAa,mBAA6B,CAAA,EAC9B,CAAA,GACd,qBAAC,YAAD,EAAA,UAAA;IACE,oBAAC,OAAD;KACE,eAAY;KACZ,OAAO;KACP,WAAA;KACA,WAAW,UAAU,kBAAkB,EAAE,OAAO,MAAM,OAAO,MAAM,CAAC;KACpE,aAAY;IACb,CAAA;IACD,qBAAC,OAAD;KACE,MAAK;KACL,cAAW;KACX,eAAY;KACZ,WAAU;KAJZ,UAAA;MAMG,QAAQ,KAAK,WAAW;OACvB,MAAM,UAAU,KAAK,OAAO,QAAQ,KAAA;OACpC,OACE,qBAAC,WAAD;QAEE,SAAQ;QACR,QAAQ,eAAe,OAAO;QAC9B,UAAU,WAAW;QACrB,iBAAe,eAAe,OAAO;QACrC,eAAa,mBAAmB,OAAO;QACvC,eAAe,kBAAkB,EAAE,YAAY,OAAO,GAAG,CAAC;QAC1D,WAAU;QARZ,UAAA,CAUE,qBAAC,QAAD;SAAM,WAAU;SAAhB,UAAA,CACE,oBAAC,QAAD;UAAM,WAAU;UAAuD,UAAA,YAAY,MAAM;SAAQ,CAAA,GAChG,OAAO,QAAQ,OAAO,eACrB,oBAAC,QAAD;UAAM,WAAU;UAAsD,UAAA,OAAO;SAAmB,CAAA,IAC9F,IACA;QACN,CAAA,GAAA,oBAAC,QAAD;SAAM,WAAU;SACb,UAAA,UAAU,YAAY,GAAG,OAAO,aAAa;QAC1C,CAAA,CACG;OAlBJ,GAAA,OAAO,EAkBH;MAEf,CAAC;MACA,CAAC,WAAW,QAAQ,WAAW,IAC9B,oBAAC,KAAD;OAAG,WAAU;OACV,UAAA,MAAM,KAAK,IAAI,wBAAwB;MACvC,CAAA,IACD;MACH,UAAU,oBAAC,KAAD;OAAG,WAAU;OAAgD,UAAA;MAAmB,CAAA,IAAI;KAC5F;;IACJ,SAAS,eACR,oBAAC,KAAD;KAAG,eAAY;KAAuB,WAAU;KAC7C,UAAA,SAAS;IACT,CAAA,IACD;IACJ,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,QAAD;KAAQ,SAAQ;KAAU,SAAS;KAAS,UAAU;KAAM,UAAA;IAEpD,CAAA,GACR,oBAAC,QAAD;KACE,SAAQ;KACR,eAAY;KACZ,eAAe,KAAK,OAAO;KAC3B,UAAU,eAAe,QAAQ,QAAS,CAAC,aAAa,KAAK,gBAAgB,KAAA;KAE5E,UAAA,OAAO,cAAc;IAChB,CAAA,CACI,EAAA,CAAA;GACJ,EAAA,CAAA,CACC;;CACT,CAAA;AAEZ"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const require_stepUp = require("../../lib/stepUp.cjs");
|
|
2
|
+
const require_pluginRegistry = require("../../lib/pluginRegistry.cjs");
|
|
3
|
+
const require_newSessionStore = require("../../stores/newSessionStore.cjs");
|
|
4
|
+
const require_railDialogStore = require("../../stores/railDialogStore.cjs");
|
|
5
|
+
const require_useWebPluginRegistry = require("../../stores/useWebPluginRegistry.cjs");
|
|
6
|
+
const require_usePluginSlotProps = require("../../stores/usePluginSlotProps.cjs");
|
|
7
|
+
const require_workspacesStore = require("../../stores/workspacesStore.cjs");
|
|
8
|
+
const require_useNewSessionActions = require("./useNewSessionActions.cjs");
|
|
9
|
+
const require_NewSessionDialog = require("./NewSessionDialog.cjs");
|
|
10
|
+
const require_ResumeSessionDialog = require("./ResumeSessionDialog.cjs");
|
|
11
|
+
let react = require("react");
|
|
12
|
+
let _tanstack_react_store = require("@tanstack/react-store");
|
|
13
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
|
+
//#region src/web/features/sessions/SessionRailDialogs.tsx
|
|
15
|
+
/** A workspace plugin's replacement for the new-session dialog, handed the host's create helpers. */
|
|
16
|
+
function PluginNewSessionDialog({ component, workspaceId, workspaceRoot }) {
|
|
17
|
+
const props = require_usePluginSlotProps.usePluginSlotProps(null);
|
|
18
|
+
const actions = require_useNewSessionActions.useNewSessionActions(workspaceId, require_newSessionStore.closeNewSession);
|
|
19
|
+
return (0, react.createElement)(component, {
|
|
20
|
+
...props,
|
|
21
|
+
newSession: {
|
|
22
|
+
workspaceId,
|
|
23
|
+
workspaceRoot,
|
|
24
|
+
close: require_newSessionStore.closeNewSession,
|
|
25
|
+
requestWithStepUp: require_stepUp.fetchWithStepUp,
|
|
26
|
+
...actions
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The rail's dialogs that call their own APIs. Rendered beside the template, not
|
|
32
|
+
* inside it, so they open even while a drawer template has its rail closed.
|
|
33
|
+
* Adding a workspace is the template's own dialog. A workspace plugin's
|
|
34
|
+
* `new-session` fill stands in for the host's new-session dialog.
|
|
35
|
+
*/
|
|
36
|
+
function SessionRailDialogs() {
|
|
37
|
+
require_useWebPluginRegistry.useWebPluginRegistry();
|
|
38
|
+
const creating = (0, _tanstack_react_store.useStore)(require_newSessionStore.newSessionStore, (state) => state);
|
|
39
|
+
const workspacesById = (0, _tanstack_react_store.useStore)(require_workspacesStore.workspacesStore, (state) => state.byId);
|
|
40
|
+
const resume = (0, _tanstack_react_store.useStore)(require_railDialogStore.railDialogStore, (state) => state.resume);
|
|
41
|
+
const targetWorkspace = creating.workspaceId === null ? void 0 : workspacesById[creating.workspaceId];
|
|
42
|
+
const replacement = targetWorkspace === void 0 ? void 0 : require_pluginRegistry.workspaceSlotFills(targetWorkspace.id, require_pluginRegistry.HOST_SLOTS.newSession).find((fill) => fill.component !== void 0);
|
|
43
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [creating.open && targetWorkspace !== void 0 ? replacement?.component !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PluginNewSessionDialog, {
|
|
44
|
+
component: replacement.component,
|
|
45
|
+
workspaceId: targetWorkspace.id,
|
|
46
|
+
workspaceRoot: targetWorkspace.root
|
|
47
|
+
}, `${replacement.pluginId}:${replacement.id}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_NewSessionDialog.NewSessionDialog, {
|
|
48
|
+
workspaceId: targetWorkspace.id,
|
|
49
|
+
workspaceRoot: targetWorkspace.root,
|
|
50
|
+
onClose: require_newSessionStore.closeNewSession
|
|
51
|
+
}) : null, resume === null ? null : "sessionId" in resume ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ResumeSessionDialog.ResumeSessionDialog, {
|
|
52
|
+
sessionId: resume.sessionId,
|
|
53
|
+
onClose: require_railDialogStore.closeResumeDialog
|
|
54
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ResumeSessionDialog.ResumeSessionDialog, {
|
|
55
|
+
workspaceId: resume.workspaceId,
|
|
56
|
+
onClose: require_railDialogStore.closeResumeDialog
|
|
57
|
+
})] });
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
exports.SessionRailDialogs = SessionRailDialogs;
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=SessionRailDialogs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRailDialogs.cjs","names":["usePluginSlotProps","useNewSessionActions","closeNewSession","createElement","fetchWithStepUp","useStore","newSessionStore","workspacesStore","railDialogStore","workspaceSlotFills","HOST_SLOTS","NewSessionDialog","ResumeSessionDialog","closeResumeDialog"],"sources":["../../../../src/web/features/sessions/SessionRailDialogs.tsx"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useStore } from '@tanstack/react-store';\nimport { createElement, type ComponentType } from 'react';\n\nimport { HOST_SLOTS, workspaceSlotFills } from '../../lib/pluginRegistry';\nimport { fetchWithStepUp } from '../../lib/stepUp';\nimport { closeNewSession, newSessionStore } from '../../stores/newSessionStore';\nimport { closeResumeDialog, railDialogStore } from '../../stores/railDialogStore';\nimport { usePluginSlotProps } from '../../stores/usePluginSlotProps';\nimport { useWebPluginRegistry } from '../../stores/useWebPluginRegistry';\nimport { workspacesStore } from '../../stores/workspacesStore';\nimport { NewSessionDialog } from './NewSessionDialog';\nimport { ResumeSessionDialog } from './ResumeSessionDialog';\nimport { useNewSessionActions } from './useNewSessionActions';\n\n/** A workspace plugin's replacement for the new-session dialog, handed the host's create helpers. */\nfunction PluginNewSessionDialog({\n component,\n workspaceId,\n workspaceRoot,\n}: {\n component: ComponentType<WebPluginSlotProps>;\n workspaceId: string;\n workspaceRoot: string;\n}) {\n const props = usePluginSlotProps(null);\n const actions = useNewSessionActions(workspaceId, closeNewSession);\n return createElement(component, {\n ...props,\n newSession: { workspaceId, workspaceRoot, close: closeNewSession, requestWithStepUp: fetchWithStepUp, ...actions },\n });\n}\n\n/**\n * The rail's dialogs that call their own APIs. Rendered beside the template, not\n * inside it, so they open even while a drawer template has its rail closed.\n * Adding a workspace is the template's own dialog. A workspace plugin's\n * `new-session` fill stands in for the host's new-session dialog.\n */\nexport function SessionRailDialogs() {\n useWebPluginRegistry();\n const creating = useStore(newSessionStore, (state) => state);\n const workspacesById = useStore(workspacesStore, (state) => state.byId);\n const resume = useStore(railDialogStore, (state) => state.resume);\n const targetWorkspace = creating.workspaceId === null ? undefined : workspacesById[creating.workspaceId];\n const replacement =\n targetWorkspace === undefined\n ? undefined\n : workspaceSlotFills(targetWorkspace.id, HOST_SLOTS.newSession).find((fill) => fill.component !== undefined);\n return (\n <>\n {creating.open && targetWorkspace !== undefined ? (\n replacement?.component !== undefined ? (\n <PluginNewSessionDialog\n key={`${replacement.pluginId}:${replacement.id}`}\n component={replacement.component}\n workspaceId={targetWorkspace.id}\n workspaceRoot={targetWorkspace.root}\n />\n ) : (\n <NewSessionDialog\n workspaceId={targetWorkspace.id}\n workspaceRoot={targetWorkspace.root}\n onClose={closeNewSession}\n />\n )\n ) : null}\n {resume === null ? null : 'sessionId' in resume ? (\n <ResumeSessionDialog sessionId={resume.sessionId} onClose={closeResumeDialog} />\n ) : (\n <ResumeSessionDialog workspaceId={resume.workspaceId} onClose={closeResumeDialog} />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,SAAS,uBAAuB,EAC9B,WACA,aACA,iBAKC;CACD,MAAM,QAAQA,2BAAAA,mBAAmB,IAAI;CACrC,MAAM,UAAUC,6BAAAA,qBAAqB,aAAaC,wBAAAA,eAAe;CACjE,QAAA,GAAOC,MAAAA,cAAAA,CAAc,WAAW;EAC9B,GAAG;EACH,YAAY;GAAE;GAAa;GAAe,OAAOD,wBAAAA;GAAiB,mBAAmBE,eAAAA;GAAiB,GAAG;EAAQ;CACnH,CAAC;AACH;;;;;;;AAQA,SAAgB,qBAAqB;CACnC,6BAAA,qBAAqB;CACrB,MAAM,YAAA,GAAWC,sBAAAA,SAAAA,CAASC,wBAAAA,kBAAkB,UAAU,KAAK;CAC3D,MAAM,kBAAA,GAAiBD,sBAAAA,SAAAA,CAASE,wBAAAA,kBAAkB,UAAU,MAAM,IAAI;CACtE,MAAM,UAAA,GAASF,sBAAAA,SAAAA,CAASG,wBAAAA,kBAAkB,UAAU,MAAM,MAAM;CAChE,MAAM,kBAAkB,SAAS,gBAAgB,OAAO,KAAA,IAAY,eAAe,SAAS;CAC5F,MAAM,cACJ,oBAAoB,KAAA,IAChB,KAAA,IACAC,uBAAAA,mBAAmB,gBAAgB,IAAIC,uBAAAA,WAAW,UAAU,CAAC,CAAC,MAAM,SAAS,KAAK,cAAc,KAAA,CAAS;CAC/G,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACG,SAAS,QAAQ,oBAAoB,KAAA,IACpC,aAAa,cAAc,KAAA,IACzB,iBAAA,GAAA,kBAAA,IAAA,CAAC,wBAAD;EAEE,WAAW,YAAY;EACvB,aAAa,gBAAgB;EAC7B,eAAe,gBAAgB;CAChC,GAJM,GAAG,YAAY,SAAS,GAAG,YAAY,IAI7C,IAED,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,kBAAD;EACE,aAAa,gBAAgB;EAC7B,eAAe,gBAAgB;EAC/B,SAAST,wBAAAA;CACV,CAAA,IAED,MACH,WAAW,OAAO,OAAO,eAAe,SACvC,iBAAA,GAAA,kBAAA,IAAA,CAACU,4BAAAA,qBAAD;EAAqB,WAAW,OAAO;EAAW,SAASC,wBAAAA;CAAoB,CAAA,IAE/E,iBAAA,GAAA,kBAAA,IAAA,CAACD,4BAAAA,qBAAD;EAAqB,aAAa,OAAO;EAAa,SAASC,wBAAAA;CAAoB,CAAA,CAErF,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/web/features/sessions/SessionRailDialogs.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The rail's dialogs that call their own APIs. Rendered beside the template, not
|
|
4
|
+
* inside it, so they open even while a drawer template has its rail closed.
|
|
5
|
+
* Adding a workspace is the template's own dialog. A workspace plugin's
|
|
6
|
+
* `new-session` fill stands in for the host's new-session dialog.
|
|
7
|
+
*/
|
|
8
|
+
export declare function SessionRailDialogs(): import("react").JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
//# sourceMappingURL=SessionRailDialogs.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRailDialogs.d.mts","names":[],"sources":["../../../../src/web/features/sessions/SessionRailDialogs.tsx"],"mappings":";;;;;;;wBAuCgB,sCAAkB,IAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { fetchWithStepUp } from "../../lib/stepUp.mjs";
|
|
2
|
+
import { HOST_SLOTS, workspaceSlotFills } from "../../lib/pluginRegistry.mjs";
|
|
3
|
+
import { closeNewSession, newSessionStore } from "../../stores/newSessionStore.mjs";
|
|
4
|
+
import { closeResumeDialog, railDialogStore } from "../../stores/railDialogStore.mjs";
|
|
5
|
+
import { useWebPluginRegistry } from "../../stores/useWebPluginRegistry.mjs";
|
|
6
|
+
import { usePluginSlotProps } from "../../stores/usePluginSlotProps.mjs";
|
|
7
|
+
import { workspacesStore } from "../../stores/workspacesStore.mjs";
|
|
8
|
+
import { useNewSessionActions } from "./useNewSessionActions.mjs";
|
|
9
|
+
import { NewSessionDialog } from "./NewSessionDialog.mjs";
|
|
10
|
+
import { ResumeSessionDialog } from "./ResumeSessionDialog.mjs";
|
|
11
|
+
import { createElement } from "react";
|
|
12
|
+
import { useStore } from "@tanstack/react-store";
|
|
13
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
//#region src/web/features/sessions/SessionRailDialogs.tsx
|
|
15
|
+
/** A workspace plugin's replacement for the new-session dialog, handed the host's create helpers. */
|
|
16
|
+
function PluginNewSessionDialog({ component, workspaceId, workspaceRoot }) {
|
|
17
|
+
const props = usePluginSlotProps(null);
|
|
18
|
+
const actions = useNewSessionActions(workspaceId, closeNewSession);
|
|
19
|
+
return createElement(component, {
|
|
20
|
+
...props,
|
|
21
|
+
newSession: {
|
|
22
|
+
workspaceId,
|
|
23
|
+
workspaceRoot,
|
|
24
|
+
close: closeNewSession,
|
|
25
|
+
requestWithStepUp: fetchWithStepUp,
|
|
26
|
+
...actions
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The rail's dialogs that call their own APIs. Rendered beside the template, not
|
|
32
|
+
* inside it, so they open even while a drawer template has its rail closed.
|
|
33
|
+
* Adding a workspace is the template's own dialog. A workspace plugin's
|
|
34
|
+
* `new-session` fill stands in for the host's new-session dialog.
|
|
35
|
+
*/
|
|
36
|
+
function SessionRailDialogs() {
|
|
37
|
+
useWebPluginRegistry();
|
|
38
|
+
const creating = useStore(newSessionStore, (state) => state);
|
|
39
|
+
const workspacesById = useStore(workspacesStore, (state) => state.byId);
|
|
40
|
+
const resume = useStore(railDialogStore, (state) => state.resume);
|
|
41
|
+
const targetWorkspace = creating.workspaceId === null ? void 0 : workspacesById[creating.workspaceId];
|
|
42
|
+
const replacement = targetWorkspace === void 0 ? void 0 : workspaceSlotFills(targetWorkspace.id, HOST_SLOTS.newSession).find((fill) => fill.component !== void 0);
|
|
43
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [creating.open && targetWorkspace !== void 0 ? replacement?.component !== void 0 ? /* @__PURE__ */ jsx(PluginNewSessionDialog, {
|
|
44
|
+
component: replacement.component,
|
|
45
|
+
workspaceId: targetWorkspace.id,
|
|
46
|
+
workspaceRoot: targetWorkspace.root
|
|
47
|
+
}, `${replacement.pluginId}:${replacement.id}`) : /* @__PURE__ */ jsx(NewSessionDialog, {
|
|
48
|
+
workspaceId: targetWorkspace.id,
|
|
49
|
+
workspaceRoot: targetWorkspace.root,
|
|
50
|
+
onClose: closeNewSession
|
|
51
|
+
}) : null, resume === null ? null : "sessionId" in resume ? /* @__PURE__ */ jsx(ResumeSessionDialog, {
|
|
52
|
+
sessionId: resume.sessionId,
|
|
53
|
+
onClose: closeResumeDialog
|
|
54
|
+
}) : /* @__PURE__ */ jsx(ResumeSessionDialog, {
|
|
55
|
+
workspaceId: resume.workspaceId,
|
|
56
|
+
onClose: closeResumeDialog
|
|
57
|
+
})] });
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { SessionRailDialogs };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=SessionRailDialogs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRailDialogs.mjs","names":[],"sources":["../../../../src/web/features/sessions/SessionRailDialogs.tsx"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useStore } from '@tanstack/react-store';\nimport { createElement, type ComponentType } from 'react';\n\nimport { HOST_SLOTS, workspaceSlotFills } from '../../lib/pluginRegistry';\nimport { fetchWithStepUp } from '../../lib/stepUp';\nimport { closeNewSession, newSessionStore } from '../../stores/newSessionStore';\nimport { closeResumeDialog, railDialogStore } from '../../stores/railDialogStore';\nimport { usePluginSlotProps } from '../../stores/usePluginSlotProps';\nimport { useWebPluginRegistry } from '../../stores/useWebPluginRegistry';\nimport { workspacesStore } from '../../stores/workspacesStore';\nimport { NewSessionDialog } from './NewSessionDialog';\nimport { ResumeSessionDialog } from './ResumeSessionDialog';\nimport { useNewSessionActions } from './useNewSessionActions';\n\n/** A workspace plugin's replacement for the new-session dialog, handed the host's create helpers. */\nfunction PluginNewSessionDialog({\n component,\n workspaceId,\n workspaceRoot,\n}: {\n component: ComponentType<WebPluginSlotProps>;\n workspaceId: string;\n workspaceRoot: string;\n}) {\n const props = usePluginSlotProps(null);\n const actions = useNewSessionActions(workspaceId, closeNewSession);\n return createElement(component, {\n ...props,\n newSession: { workspaceId, workspaceRoot, close: closeNewSession, requestWithStepUp: fetchWithStepUp, ...actions },\n });\n}\n\n/**\n * The rail's dialogs that call their own APIs. Rendered beside the template, not\n * inside it, so they open even while a drawer template has its rail closed.\n * Adding a workspace is the template's own dialog. A workspace plugin's\n * `new-session` fill stands in for the host's new-session dialog.\n */\nexport function SessionRailDialogs() {\n useWebPluginRegistry();\n const creating = useStore(newSessionStore, (state) => state);\n const workspacesById = useStore(workspacesStore, (state) => state.byId);\n const resume = useStore(railDialogStore, (state) => state.resume);\n const targetWorkspace = creating.workspaceId === null ? undefined : workspacesById[creating.workspaceId];\n const replacement =\n targetWorkspace === undefined\n ? undefined\n : workspaceSlotFills(targetWorkspace.id, HOST_SLOTS.newSession).find((fill) => fill.component !== undefined);\n return (\n <>\n {creating.open && targetWorkspace !== undefined ? (\n replacement?.component !== undefined ? (\n <PluginNewSessionDialog\n key={`${replacement.pluginId}:${replacement.id}`}\n component={replacement.component}\n workspaceId={targetWorkspace.id}\n workspaceRoot={targetWorkspace.root}\n />\n ) : (\n <NewSessionDialog\n workspaceId={targetWorkspace.id}\n workspaceRoot={targetWorkspace.root}\n onClose={closeNewSession}\n />\n )\n ) : null}\n {resume === null ? null : 'sessionId' in resume ? (\n <ResumeSessionDialog sessionId={resume.sessionId} onClose={closeResumeDialog} />\n ) : (\n <ResumeSessionDialog workspaceId={resume.workspaceId} onClose={closeResumeDialog} />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,SAAS,uBAAuB,EAC9B,WACA,aACA,iBAKC;CACD,MAAM,QAAQ,mBAAmB,IAAI;CACrC,MAAM,UAAU,qBAAqB,aAAa,eAAe;CACjE,OAAO,cAAc,WAAW;EAC9B,GAAG;EACH,YAAY;GAAE;GAAa;GAAe,OAAO;GAAiB,mBAAmB;GAAiB,GAAG;EAAQ;CACnH,CAAC;AACH;;;;;;;AAQA,SAAgB,qBAAqB;CACnC,qBAAqB;CACrB,MAAM,WAAW,SAAS,kBAAkB,UAAU,KAAK;CAC3D,MAAM,iBAAiB,SAAS,kBAAkB,UAAU,MAAM,IAAI;CACtE,MAAM,SAAS,SAAS,kBAAkB,UAAU,MAAM,MAAM;CAChE,MAAM,kBAAkB,SAAS,gBAAgB,OAAO,KAAA,IAAY,eAAe,SAAS;CAC5F,MAAM,cACJ,oBAAoB,KAAA,IAChB,KAAA,IACA,mBAAmB,gBAAgB,IAAI,WAAW,UAAU,CAAC,CAAC,MAAM,SAAS,KAAK,cAAc,KAAA,CAAS;CAC/G,OACE,qBAAA,YAAA,EAAA,UAAA,CACG,SAAS,QAAQ,oBAAoB,KAAA,IACpC,aAAa,cAAc,KAAA,IACzB,oBAAC,wBAAD;EAEE,WAAW,YAAY;EACvB,aAAa,gBAAgB;EAC7B,eAAe,gBAAgB;CAChC,GAJM,GAAG,YAAY,SAAS,GAAG,YAAY,IAI7C,IAED,oBAAC,kBAAD;EACE,aAAa,gBAAgB;EAC7B,eAAe,gBAAgB;EAC/B,SAAS;CACV,CAAA,IAED,MACH,WAAW,OAAO,OAAO,eAAe,SACvC,oBAAC,qBAAD;EAAqB,WAAW,OAAO;EAAW,SAAS;CAAoB,CAAA,IAE/E,oBAAC,qBAAD;EAAqB,aAAa,OAAO;EAAa,SAAS;CAAoB,CAAA,CAErF,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const require_newSessionStore = require("../../stores/newSessionStore.cjs");
|
|
2
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
+
let _agimon_ai_po_web_components = require("@agimon-ai/po-web-components");
|
|
4
|
+
//#region src/web/features/sessions/WelcomePanel.tsx
|
|
5
|
+
/**
|
|
6
|
+
* What the cockpit shows before there is anything to show.
|
|
7
|
+
*
|
|
8
|
+
* It stands where the conversation goes, and it stands alone: the composer and
|
|
9
|
+
* the selection bar address a session's agent, so with no session there is
|
|
10
|
+
* nothing for them to address and the page hides them rather than offering a
|
|
11
|
+
* box that sends nowhere.
|
|
12
|
+
*
|
|
13
|
+
* One action, because there is only one thing to do here. It opens the same
|
|
14
|
+
* dialog the rail's plus and ctrl+t open, so a session starts the same way
|
|
15
|
+
* however you asked for it.
|
|
16
|
+
*/
|
|
17
|
+
function WelcomePanel() {
|
|
18
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.EmptyState, {
|
|
19
|
+
"data-testid": "welcome",
|
|
20
|
+
title: "no session yet",
|
|
21
|
+
description: "a session is an agent working in one folder. start one to get going.",
|
|
22
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.Button, {
|
|
23
|
+
variant: "primary",
|
|
24
|
+
size: "lg",
|
|
25
|
+
"data-testid": "welcome-new-session",
|
|
26
|
+
onClick: () => require_newSessionStore.openNewSession(),
|
|
27
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.PlusIcon, { className: "h-3 w-3" }), "new session"]
|
|
28
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
29
|
+
className: "flex flex-wrap items-center justify-center gap-1.5 text-sm text-doom-dim",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Kbd, { children: "ctrl+t" }),
|
|
32
|
+
" new session · ",
|
|
33
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Kbd, { children: "ctrl+k" }),
|
|
34
|
+
" commands"
|
|
35
|
+
]
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.WelcomePanel = WelcomePanel;
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=WelcomePanel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WelcomePanel.cjs","names":["EmptyState","Button","openNewSession","PlusIcon","Kbd"],"sources":["../../../../src/web/features/sessions/WelcomePanel.tsx"],"sourcesContent":["import { Button, EmptyState, Kbd, PlusIcon } from '@agimon-ai/po-web-components';\n\nimport { openNewSession } from '../../stores/newSessionStore';\n\n/**\n * What the cockpit shows before there is anything to show.\n *\n * It stands where the conversation goes, and it stands alone: the composer and\n * the selection bar address a session's agent, so with no session there is\n * nothing for them to address and the page hides them rather than offering a\n * box that sends nowhere.\n *\n * One action, because there is only one thing to do here. It opens the same\n * dialog the rail's plus and ctrl+t open, so a session starts the same way\n * however you asked for it.\n */\nexport function WelcomePanel() {\n return (\n <EmptyState\n data-testid=\"welcome\"\n title=\"no session yet\"\n description=\"a session is an agent working in one folder. start one to get going.\"\n >\n <Button variant=\"primary\" size=\"lg\" data-testid=\"welcome-new-session\" onClick={() => openNewSession()}>\n <PlusIcon className=\"h-3 w-3\" />\n new session\n </Button>\n <span className=\"flex flex-wrap items-center justify-center gap-1.5 text-sm text-doom-dim\">\n <Kbd>ctrl+t</Kbd> new session · <Kbd>ctrl+k</Kbd> commands\n </span>\n </EmptyState>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,SAAgB,eAAe;CAC7B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,6BAAAA,YAAD;EACE,eAAY;EACZ,OAAM;EACN,aAAY;EAHd,UAAA,CAKE,iBAAA,GAAA,kBAAA,KAAA,CAACC,6BAAAA,QAAD;GAAQ,SAAQ;GAAU,MAAK;GAAK,eAAY;GAAsB,eAAeC,wBAAAA,eAAe;GAApG,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,UAAD,EAAU,WAAU,UAAW,CAAA,GAAC,aAE1B;EACR,CAAA,GAAA,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;GAAM,WAAU;GAAhB,UAAA;IACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,KAAD,EAAA,UAAK,SAAW,CAAA;IAAC;IAAe,iBAAA,GAAA,kBAAA,IAAA,CAACA,6BAAAA,KAAD,EAAA,UAAK,SAAW,CAAA;IAAC;GAC7C;EACI,CAAA,CAAA;;AAEhB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/web/features/sessions/WelcomePanel.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* What the cockpit shows before there is anything to show.
|
|
4
|
+
*
|
|
5
|
+
* It stands where the conversation goes, and it stands alone: the composer and
|
|
6
|
+
* the selection bar address a session's agent, so with no session there is
|
|
7
|
+
* nothing for them to address and the page hides them rather than offering a
|
|
8
|
+
* box that sends nowhere.
|
|
9
|
+
*
|
|
10
|
+
* One action, because there is only one thing to do here. It opens the same
|
|
11
|
+
* dialog the rail's plus and ctrl+t open, so a session starts the same way
|
|
12
|
+
* however you asked for it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function WelcomePanel(): import("react").JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
//# sourceMappingURL=WelcomePanel.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WelcomePanel.d.mts","names":[],"sources":["../../../../src/web/features/sessions/WelcomePanel.tsx"],"mappings":";;;;;;;;;;;;;wBAgBgB,gCAAY,IAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { openNewSession } from "../../stores/newSessionStore.mjs";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, EmptyState, Kbd, PlusIcon } from "@agimon-ai/po-web-components";
|
|
4
|
+
//#region src/web/features/sessions/WelcomePanel.tsx
|
|
5
|
+
/**
|
|
6
|
+
* What the cockpit shows before there is anything to show.
|
|
7
|
+
*
|
|
8
|
+
* It stands where the conversation goes, and it stands alone: the composer and
|
|
9
|
+
* the selection bar address a session's agent, so with no session there is
|
|
10
|
+
* nothing for them to address and the page hides them rather than offering a
|
|
11
|
+
* box that sends nowhere.
|
|
12
|
+
*
|
|
13
|
+
* One action, because there is only one thing to do here. It opens the same
|
|
14
|
+
* dialog the rail's plus and ctrl+t open, so a session starts the same way
|
|
15
|
+
* however you asked for it.
|
|
16
|
+
*/
|
|
17
|
+
function WelcomePanel() {
|
|
18
|
+
return /* @__PURE__ */ jsxs(EmptyState, {
|
|
19
|
+
"data-testid": "welcome",
|
|
20
|
+
title: "no session yet",
|
|
21
|
+
description: "a session is an agent working in one folder. start one to get going.",
|
|
22
|
+
children: [/* @__PURE__ */ jsxs(Button, {
|
|
23
|
+
variant: "primary",
|
|
24
|
+
size: "lg",
|
|
25
|
+
"data-testid": "welcome-new-session",
|
|
26
|
+
onClick: () => openNewSession(),
|
|
27
|
+
children: [/* @__PURE__ */ jsx(PlusIcon, { className: "h-3 w-3" }), "new session"]
|
|
28
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
29
|
+
className: "flex flex-wrap items-center justify-center gap-1.5 text-sm text-doom-dim",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsx(Kbd, { children: "ctrl+t" }),
|
|
32
|
+
" new session · ",
|
|
33
|
+
/* @__PURE__ */ jsx(Kbd, { children: "ctrl+k" }),
|
|
34
|
+
" commands"
|
|
35
|
+
]
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { WelcomePanel };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=WelcomePanel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WelcomePanel.mjs","names":[],"sources":["../../../../src/web/features/sessions/WelcomePanel.tsx"],"sourcesContent":["import { Button, EmptyState, Kbd, PlusIcon } from '@agimon-ai/po-web-components';\n\nimport { openNewSession } from '../../stores/newSessionStore';\n\n/**\n * What the cockpit shows before there is anything to show.\n *\n * It stands where the conversation goes, and it stands alone: the composer and\n * the selection bar address a session's agent, so with no session there is\n * nothing for them to address and the page hides them rather than offering a\n * box that sends nowhere.\n *\n * One action, because there is only one thing to do here. It opens the same\n * dialog the rail's plus and ctrl+t open, so a session starts the same way\n * however you asked for it.\n */\nexport function WelcomePanel() {\n return (\n <EmptyState\n data-testid=\"welcome\"\n title=\"no session yet\"\n description=\"a session is an agent working in one folder. start one to get going.\"\n >\n <Button variant=\"primary\" size=\"lg\" data-testid=\"welcome-new-session\" onClick={() => openNewSession()}>\n <PlusIcon className=\"h-3 w-3\" />\n new session\n </Button>\n <span className=\"flex flex-wrap items-center justify-center gap-1.5 text-sm text-doom-dim\">\n <Kbd>ctrl+t</Kbd> new session · <Kbd>ctrl+k</Kbd> commands\n </span>\n </EmptyState>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,SAAgB,eAAe;CAC7B,OACE,qBAAC,YAAD;EACE,eAAY;EACZ,OAAM;EACN,aAAY;EAHd,UAAA,CAKE,qBAAC,QAAD;GAAQ,SAAQ;GAAU,MAAK;GAAK,eAAY;GAAsB,eAAe,eAAe;GAApG,UAAA,CACE,oBAAC,UAAD,EAAU,WAAU,UAAW,CAAA,GAAC,aAE1B;EACR,CAAA,GAAA,qBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA;IACE,oBAAC,KAAD,EAAA,UAAK,SAAW,CAAA;IAAC;IAAe,oBAAC,KAAD,EAAA,UAAK,SAAW,CAAA;IAAC;GAC7C;EACI,CAAA,CAAA;;AAEhB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const require_sessionsStore = require("../../stores/sessionsStore.cjs");
|
|
2
|
+
const require_newSessionStore = require("../../stores/newSessionStore.cjs");
|
|
3
|
+
let _tanstack_react_router = require("@tanstack/react-router");
|
|
4
|
+
//#region src/web/features/sessions/useNewSessionActions.ts
|
|
5
|
+
const NOT_YET_VISIBLE = "The session was created but has not appeared yet; it will show up in the rail.";
|
|
6
|
+
/**
|
|
7
|
+
* Shared ways to finish a new-session dialog: create a plain session in the
|
|
8
|
+
* workspace root, or open one another package created. Both resolve an error
|
|
9
|
+
* message to show, or undefined once the dialog closed and the session is open.
|
|
10
|
+
*/
|
|
11
|
+
function useNewSessionActions(workspaceId, onClose) {
|
|
12
|
+
const navigate = (0, _tanstack_react_router.useNavigate)();
|
|
13
|
+
const openCreated = async (sessionId) => {
|
|
14
|
+
if (!await require_sessionsStore.waitForSession(sessionId)) return NOT_YET_VISIBLE;
|
|
15
|
+
onClose();
|
|
16
|
+
await navigate({
|
|
17
|
+
to: "/session/$sessionId",
|
|
18
|
+
params: { sessionId }
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const createPlain = async (name) => {
|
|
22
|
+
const outcome = await require_newSessionStore.createPlainSession(workspaceId, name);
|
|
23
|
+
if (!("sessionId" in outcome)) return outcome.error;
|
|
24
|
+
onClose();
|
|
25
|
+
await navigate({
|
|
26
|
+
to: "/session/$sessionId",
|
|
27
|
+
params: { sessionId: outcome.sessionId }
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
createPlain,
|
|
32
|
+
openCreated
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.useNewSessionActions = useNewSessionActions;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=useNewSessionActions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNewSessionActions.cjs","names":["useNavigate","waitForSession","createPlainSession"],"sources":["../../../../src/web/features/sessions/useNewSessionActions.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\n\nimport { createPlainSession } from '../../stores/newSessionStore';\nimport { waitForSession } from '../../stores/sessionsStore';\n\nconst NOT_YET_VISIBLE = 'The session was created but has not appeared yet; it will show up in the rail.';\n\n/**\n * Shared ways to finish a new-session dialog: create a plain session in the\n * workspace root, or open one another package created. Both resolve an error\n * message to show, or undefined once the dialog closed and the session is open.\n */\nexport function useNewSessionActions(workspaceId: string, onClose: () => void) {\n const navigate = useNavigate();\n\n const openCreated = async (sessionId: string): Promise<string | undefined> => {\n if (!(await waitForSession(sessionId))) return NOT_YET_VISIBLE;\n onClose();\n await navigate({ to: '/session/$sessionId', params: { sessionId } });\n return undefined;\n };\n\n const createPlain = async (name?: string): Promise<string | undefined> => {\n const outcome = await createPlainSession(workspaceId, name);\n if (!('sessionId' in outcome)) return outcome.error;\n onClose();\n await navigate({ to: '/session/$sessionId', params: { sessionId: outcome.sessionId } });\n return undefined;\n };\n\n return { createPlain, openCreated };\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;;;;;;AAOxB,SAAgB,qBAAqB,aAAqB,SAAqB;CAC7E,MAAM,YAAA,GAAWA,uBAAAA,YAAAA,CAAY;CAE7B,MAAM,cAAc,OAAO,cAAmD;EAC5E,IAAI,CAAE,MAAMC,sBAAAA,eAAe,SAAS,GAAI,OAAO;EAC/C,QAAQ;EACR,MAAM,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,UAAU;EAAE,CAAC;CAErE;CAEA,MAAM,cAAc,OAAO,SAA+C;EACxE,MAAM,UAAU,MAAMC,wBAAAA,mBAAmB,aAAa,IAAI;EAC1D,IAAI,EAAE,eAAe,UAAU,OAAO,QAAQ;EAC9C,QAAQ;EACR,MAAM,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,QAAQ,UAAU;EAAE,CAAC;CAExF;CAEA,OAAO;EAAE;EAAa;CAAY;AACpC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/web/features/sessions/useNewSessionActions.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared ways to finish a new-session dialog: create a plain session in the
|
|
4
|
+
* workspace root, or open one another package created. Both resolve an error
|
|
5
|
+
* message to show, or undefined once the dialog closed and the session is open.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useNewSessionActions(workspaceId: string, onClose: () => void): {
|
|
8
|
+
createPlain: (name?: string) => Promise<string | undefined>;
|
|
9
|
+
openCreated: (sessionId: string) => Promise<string | undefined>;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
//# sourceMappingURL=useNewSessionActions.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNewSessionActions.d.mts","names":[],"sources":["../../../../src/web/features/sessions/useNewSessionActions.ts"],"mappings":";;;;;;wBAYgB,qBAAqB,qBAAqB;EAUtB,cAAA,kBAAS;EAPL,cAAA,sBAAS"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { waitForSession } from "../../stores/sessionsStore.mjs";
|
|
2
|
+
import { createPlainSession } from "../../stores/newSessionStore.mjs";
|
|
3
|
+
import { useNavigate } from "@tanstack/react-router";
|
|
4
|
+
//#region src/web/features/sessions/useNewSessionActions.ts
|
|
5
|
+
const NOT_YET_VISIBLE = "The session was created but has not appeared yet; it will show up in the rail.";
|
|
6
|
+
/**
|
|
7
|
+
* Shared ways to finish a new-session dialog: create a plain session in the
|
|
8
|
+
* workspace root, or open one another package created. Both resolve an error
|
|
9
|
+
* message to show, or undefined once the dialog closed and the session is open.
|
|
10
|
+
*/
|
|
11
|
+
function useNewSessionActions(workspaceId, onClose) {
|
|
12
|
+
const navigate = useNavigate();
|
|
13
|
+
const openCreated = async (sessionId) => {
|
|
14
|
+
if (!await waitForSession(sessionId)) return NOT_YET_VISIBLE;
|
|
15
|
+
onClose();
|
|
16
|
+
await navigate({
|
|
17
|
+
to: "/session/$sessionId",
|
|
18
|
+
params: { sessionId }
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const createPlain = async (name) => {
|
|
22
|
+
const outcome = await createPlainSession(workspaceId, name);
|
|
23
|
+
if (!("sessionId" in outcome)) return outcome.error;
|
|
24
|
+
onClose();
|
|
25
|
+
await navigate({
|
|
26
|
+
to: "/session/$sessionId",
|
|
27
|
+
params: { sessionId: outcome.sessionId }
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
createPlain,
|
|
32
|
+
openCreated
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { useNewSessionActions };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=useNewSessionActions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNewSessionActions.mjs","names":[],"sources":["../../../../src/web/features/sessions/useNewSessionActions.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\n\nimport { createPlainSession } from '../../stores/newSessionStore';\nimport { waitForSession } from '../../stores/sessionsStore';\n\nconst NOT_YET_VISIBLE = 'The session was created but has not appeared yet; it will show up in the rail.';\n\n/**\n * Shared ways to finish a new-session dialog: create a plain session in the\n * workspace root, or open one another package created. Both resolve an error\n * message to show, or undefined once the dialog closed and the session is open.\n */\nexport function useNewSessionActions(workspaceId: string, onClose: () => void) {\n const navigate = useNavigate();\n\n const openCreated = async (sessionId: string): Promise<string | undefined> => {\n if (!(await waitForSession(sessionId))) return NOT_YET_VISIBLE;\n onClose();\n await navigate({ to: '/session/$sessionId', params: { sessionId } });\n return undefined;\n };\n\n const createPlain = async (name?: string): Promise<string | undefined> => {\n const outcome = await createPlainSession(workspaceId, name);\n if (!('sessionId' in outcome)) return outcome.error;\n onClose();\n await navigate({ to: '/session/$sessionId', params: { sessionId: outcome.sessionId } });\n return undefined;\n };\n\n return { createPlain, openCreated };\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;;;;;;AAOxB,SAAgB,qBAAqB,aAAqB,SAAqB;CAC7E,MAAM,WAAW,YAAY;CAE7B,MAAM,cAAc,OAAO,cAAmD;EAC5E,IAAI,CAAE,MAAM,eAAe,SAAS,GAAI,OAAO;EAC/C,QAAQ;EACR,MAAM,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,UAAU;EAAE,CAAC;CAErE;CAEA,MAAM,cAAc,OAAO,SAA+C;EACxE,MAAM,UAAU,MAAM,mBAAmB,aAAa,IAAI;EAC1D,IAAI,EAAE,eAAe,UAAU,OAAO,QAAQ;EAC9C,QAAQ;EACR,MAAM,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,QAAQ,UAAU;EAAE,CAAC;CAExF;CAEA,OAAO;EAAE;EAAa;CAAY;AACpC"}
|