@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,59 @@
|
|
|
1
|
+
import { Store } from "@tanstack/store";
|
|
2
|
+
import { useStore } from "@tanstack/react-store";
|
|
3
|
+
//#region src/web/stores/transientTabsStore.ts
|
|
4
|
+
/** One stable empty list, so a selector for a session with no tabs never re-renders its reader. */
|
|
5
|
+
const NO_TABS = [];
|
|
6
|
+
/**
|
|
7
|
+
* The tabs plugins opened at runtime, per session. A tab keeps the panel it
|
|
8
|
+
* was opened with: opening the same id again focuses it rather than swapping
|
|
9
|
+
* the component out from under React. Nothing here survives a reload, which
|
|
10
|
+
* is what makes the tabs temporary.
|
|
11
|
+
*/
|
|
12
|
+
const transientTabsStore = new Store({});
|
|
13
|
+
function transientTabsOf(state, sessionId) {
|
|
14
|
+
return (sessionId === null ? void 0 : state[sessionId]) ?? NO_TABS;
|
|
15
|
+
}
|
|
16
|
+
function findTransientTab(state, sessionId, tabId) {
|
|
17
|
+
if (sessionId === void 0 || tabId === void 0) return void 0;
|
|
18
|
+
return transientTabsOf(state, sessionId).find((tab) => tab.id === tabId);
|
|
19
|
+
}
|
|
20
|
+
function openTransientTab(sessionId, tab) {
|
|
21
|
+
if (findTransientTab(transientTabsStore.state, sessionId, tab.id) !== void 0) return;
|
|
22
|
+
transientTabsStore.setState((state) => ({
|
|
23
|
+
...state,
|
|
24
|
+
[sessionId]: [...state[sessionId] ?? [], tab]
|
|
25
|
+
}));
|
|
26
|
+
tab.onOpen?.(sessionId);
|
|
27
|
+
}
|
|
28
|
+
function closeTransientTab(sessionId, tabId) {
|
|
29
|
+
const tab = findTransientTab(transientTabsStore.state, sessionId, tabId);
|
|
30
|
+
if (tab === void 0) return;
|
|
31
|
+
transientTabsStore.setState((state) => ({
|
|
32
|
+
...state,
|
|
33
|
+
[sessionId]: (state[sessionId] ?? []).filter((candidate) => candidate.id !== tabId)
|
|
34
|
+
}));
|
|
35
|
+
tab.onClose?.(sessionId);
|
|
36
|
+
}
|
|
37
|
+
/** A session that left takes its tabs with it. */
|
|
38
|
+
function dropTransientTabs(sessionId) {
|
|
39
|
+
const tabs = transientTabsStore.state[sessionId];
|
|
40
|
+
if (tabs === void 0) return;
|
|
41
|
+
transientTabsStore.setState((state) => {
|
|
42
|
+
const next = { ...state };
|
|
43
|
+
delete next[sessionId];
|
|
44
|
+
return next;
|
|
45
|
+
});
|
|
46
|
+
for (const tab of tabs) tab.onClose?.(sessionId);
|
|
47
|
+
}
|
|
48
|
+
function resetTransientTabs() {
|
|
49
|
+
const previous = transientTabsStore.state;
|
|
50
|
+
transientTabsStore.setState(() => ({}));
|
|
51
|
+
for (const [sessionId, tabs] of Object.entries(previous)) for (const tab of tabs ?? []) tab.onClose?.(sessionId);
|
|
52
|
+
}
|
|
53
|
+
function useTransientTabs(sessionId) {
|
|
54
|
+
return useStore(transientTabsStore, (state) => transientTabsOf(state, sessionId));
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { closeTransientTab, dropTransientTabs, findTransientTab, openTransientTab, resetTransientTabs, transientTabsOf, transientTabsStore, useTransientTabs };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=transientTabsStore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transientTabsStore.mjs","names":[],"sources":["../../../src/web/stores/transientTabsStore.ts"],"sourcesContent":["import type { TransientTab } from '@agimon-ai/po-core/web';\nimport { useStore } from '@tanstack/react-store';\nimport { Store } from '@tanstack/store';\n\ntype TransientTabsState = Partial<Record<string, TransientTab[]>>;\n\n/** One stable empty list, so a selector for a session with no tabs never re-renders its reader. */\nconst NO_TABS: readonly TransientTab[] = [];\n\n/**\n * The tabs plugins opened at runtime, per session. A tab keeps the panel it\n * was opened with: opening the same id again focuses it rather than swapping\n * the component out from under React. Nothing here survives a reload, which\n * is what makes the tabs temporary.\n */\nexport const transientTabsStore = new Store<TransientTabsState>({});\n\nexport function transientTabsOf(state: TransientTabsState, sessionId: string | null): readonly TransientTab[] {\n return (sessionId === null ? undefined : state[sessionId]) ?? NO_TABS;\n}\n\nexport function findTransientTab(\n state: TransientTabsState,\n sessionId: string | undefined,\n tabId: string | undefined,\n): TransientTab | undefined {\n if (sessionId === undefined || tabId === undefined) return undefined;\n return transientTabsOf(state, sessionId).find((tab) => tab.id === tabId);\n}\n\nexport function openTransientTab(sessionId: string, tab: TransientTab): void {\n if (findTransientTab(transientTabsStore.state, sessionId, tab.id) !== undefined) return;\n transientTabsStore.setState((state) => ({ ...state, [sessionId]: [...(state[sessionId] ?? []), tab] }));\n tab.onOpen?.(sessionId);\n}\n\nexport function closeTransientTab(sessionId: string, tabId: string): void {\n const tab = findTransientTab(transientTabsStore.state, sessionId, tabId);\n if (tab === undefined) return;\n transientTabsStore.setState((state) => ({\n ...state,\n [sessionId]: (state[sessionId] ?? []).filter((candidate) => candidate.id !== tabId),\n }));\n tab.onClose?.(sessionId);\n}\n\n/** A session that left takes its tabs with it. */\nexport function dropTransientTabs(sessionId: string): void {\n const tabs = transientTabsStore.state[sessionId];\n if (tabs === undefined) return;\n transientTabsStore.setState((state) => {\n const next = { ...state };\n delete next[sessionId];\n return next;\n });\n for (const tab of tabs) tab.onClose?.(sessionId);\n}\n\nexport function resetTransientTabs(): void {\n const previous = transientTabsStore.state;\n transientTabsStore.setState(() => ({}));\n for (const [sessionId, tabs] of Object.entries(previous)) {\n for (const tab of tabs ?? []) tab.onClose?.(sessionId);\n }\n}\n\nexport function useTransientTabs(sessionId: string | null): readonly TransientTab[] {\n return useStore(transientTabsStore, (state) => transientTabsOf(state, sessionId));\n}\n"],"mappings":";;;;AAOA,MAAM,UAAmC,CAAC;;;;;;;AAQ1C,MAAa,qBAAqB,IAAI,MAA0B,CAAC,CAAC;AAElE,SAAgB,gBAAgB,OAA2B,WAAmD;CAC5G,QAAQ,cAAc,OAAO,KAAA,IAAY,MAAM,eAAe;AAChE;AAEA,SAAgB,iBACd,OACA,WACA,OAC0B;CAC1B,IAAI,cAAc,KAAA,KAAa,UAAU,KAAA,GAAW,OAAO,KAAA;CAC3D,OAAO,gBAAgB,OAAO,SAAS,CAAC,CAAC,MAAM,QAAQ,IAAI,OAAO,KAAK;AACzE;AAEA,SAAgB,iBAAiB,WAAmB,KAAyB;CAC3E,IAAI,iBAAiB,mBAAmB,OAAO,WAAW,IAAI,EAAE,MAAM,KAAA,GAAW;CACjF,mBAAmB,UAAU,WAAW;EAAE,GAAG;GAAQ,YAAY,CAAC,GAAI,MAAM,cAAc,CAAC,GAAI,GAAG;CAAE,EAAE;CACtG,IAAI,SAAS,SAAS;AACxB;AAEA,SAAgB,kBAAkB,WAAmB,OAAqB;CACxE,MAAM,MAAM,iBAAiB,mBAAmB,OAAO,WAAW,KAAK;CACvE,IAAI,QAAQ,KAAA,GAAW;CACvB,mBAAmB,UAAU,WAAW;EACtC,GAAG;GACF,aAAa,MAAM,cAAc,CAAC,EAAA,CAAG,QAAQ,cAAc,UAAU,OAAO,KAAK;CACpF,EAAE;CACF,IAAI,UAAU,SAAS;AACzB;;AAGA,SAAgB,kBAAkB,WAAyB;CACzD,MAAM,OAAO,mBAAmB,MAAM;CACtC,IAAI,SAAS,KAAA,GAAW;CACxB,mBAAmB,UAAU,UAAU;EACrC,MAAM,OAAO,EAAE,GAAG,MAAM;EACxB,OAAO,KAAK;EACZ,OAAO;CACT,CAAC;CACD,KAAK,MAAM,OAAO,MAAM,IAAI,UAAU,SAAS;AACjD;AAEA,SAAgB,qBAA2B;CACzC,MAAM,WAAW,mBAAmB;CACpC,mBAAmB,gBAAgB,CAAC,EAAE;CACtC,KAAK,MAAM,CAAC,WAAW,SAAS,OAAO,QAAQ,QAAQ,GACrD,KAAK,MAAM,OAAO,QAAQ,CAAC,GAAG,IAAI,UAAU,SAAS;AAEzD;AAEA,SAAgB,iBAAiB,WAAmD;CAClF,OAAO,SAAS,qBAAqB,UAAU,gBAAgB,OAAO,SAAS,CAAC;AAClF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
let _tanstack_store = require("@tanstack/store");
|
|
2
|
+
//#region src/web/stores/uiStore.ts
|
|
3
|
+
/** Where the page remembers its chrome layout; one key per machine. */
|
|
4
|
+
const DOCK_STORAGE_KEY = "po.web.dock";
|
|
5
|
+
const DOCK_TAB_STORAGE_KEY = "po.web.dock-tab";
|
|
6
|
+
function readDock() {
|
|
7
|
+
try {
|
|
8
|
+
return window.localStorage.getItem(DOCK_STORAGE_KEY) !== "closed";
|
|
9
|
+
} catch {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function readDockTab() {
|
|
14
|
+
try {
|
|
15
|
+
return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || "activity";
|
|
16
|
+
} catch {
|
|
17
|
+
return "activity";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const uiStore = new _tanstack_store.Store({
|
|
21
|
+
dockOpen: readDock(),
|
|
22
|
+
dockTab: readDockTab()
|
|
23
|
+
});
|
|
24
|
+
function setDockOpen(open) {
|
|
25
|
+
uiStore.setState((state) => state.dockOpen === open ? state : {
|
|
26
|
+
...state,
|
|
27
|
+
dockOpen: open
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
window.localStorage.setItem(DOCK_STORAGE_KEY, open ? "open" : "closed");
|
|
31
|
+
} catch {}
|
|
32
|
+
}
|
|
33
|
+
function setDockTab(tab) {
|
|
34
|
+
uiStore.setState((state) => state.dockTab === tab ? state : {
|
|
35
|
+
...state,
|
|
36
|
+
dockTab: tab
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);
|
|
40
|
+
} catch {}
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.setDockOpen = setDockOpen;
|
|
44
|
+
exports.setDockTab = setDockTab;
|
|
45
|
+
exports.uiStore = uiStore;
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=uiStore.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiStore.cjs","names":["Store"],"sources":["../../../src/web/stores/uiStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\n/** Where the page remembers its chrome layout; one key per machine. */\nconst DOCK_STORAGE_KEY = 'po.web.dock';\nconst DOCK_TAB_STORAGE_KEY = 'po.web.dock-tab';\n\n/**\n * Which face of the dock is showing. The host owns `activity` and `context`;\n * installed plugins may contribute additional opaque ids.\n */\nexport type DockTab = string;\nexport interface UiState {\n /** Whether the activity dock is shown; survives route changes and reloads. */\n dockOpen: boolean;\n /** Which dock tab is selected; survives route changes and reloads. */\n dockTab: DockTab;\n}\n\nfunction readDock(): boolean {\n try {\n return window.localStorage.getItem(DOCK_STORAGE_KEY) !== 'closed';\n } catch {\n return true;\n }\n}\n\nfunction readDockTab(): DockTab {\n try {\n return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || 'activity';\n } catch {\n return 'activity';\n }\n}\n\nexport const uiStore = new Store<UiState>({ dockOpen: readDock(), dockTab: readDockTab() });\n\nexport function setDockOpen(open: boolean): void {\n uiStore.setState((state) => (state.dockOpen === open ? state : { ...state, dockOpen: open }));\n try {\n window.localStorage.setItem(DOCK_STORAGE_KEY, open ? 'open' : 'closed');\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n\nexport function setDockTab(tab: DockTab): void {\n uiStore.setState((state) => (state.dockTab === tab ? state : { ...state, dockTab: tab }));\n try {\n window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n"],"mappings":";;;AAGA,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAc7B,SAAS,WAAoB;CAC3B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,gBAAgB,MAAM;CAC3D,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,cAAuB;CAC9B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,oBAAoB,CAAC,EAAE,KAAK,KAAK;CACtE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,UAAU,IAAIA,gBAAAA,MAAe;CAAE,UAAU,SAAS;CAAG,SAAS,YAAY;AAAE,CAAC;AAE1F,SAAgB,YAAY,MAAqB;CAC/C,QAAQ,UAAU,UAAW,MAAM,aAAa,OAAO,QAAQ;EAAE,GAAG;EAAO,UAAU;CAAK,CAAE;CAC5F,IAAI;EACF,OAAO,aAAa,QAAQ,kBAAkB,OAAO,SAAS,QAAQ;CACxE,QAAQ,CAER;AACF;AAEA,SAAgB,WAAW,KAAoB;CAC7C,QAAQ,UAAU,UAAW,MAAM,YAAY,MAAM,QAAQ;EAAE,GAAG;EAAO,SAAS;CAAI,CAAE;CACxF,IAAI;EACF,OAAO,aAAa,QAAQ,sBAAsB,GAAG;CACvD,QAAQ,CAER;AACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Store } from "@tanstack/store";
|
|
2
|
+
//#region src/web/stores/uiStore.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Which face of the dock is showing. The host owns `activity` and `context`;
|
|
5
|
+
* installed plugins may contribute additional opaque ids.
|
|
6
|
+
*/
|
|
7
|
+
export type DockTab = string;
|
|
8
|
+
export interface UiState {
|
|
9
|
+
/** Whether the activity dock is shown; survives route changes and reloads. */
|
|
10
|
+
dockOpen: boolean;
|
|
11
|
+
/** Which dock tab is selected; survives route changes and reloads. */
|
|
12
|
+
dockTab: DockTab;
|
|
13
|
+
}
|
|
14
|
+
export declare const uiStore: Store<UiState, never>;
|
|
15
|
+
export declare function setDockOpen(open: boolean): void;
|
|
16
|
+
export declare function setDockTab(tab: DockTab): void;
|
|
17
|
+
//#endregion
|
|
18
|
+
//# sourceMappingURL=uiStore.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiStore.d.mts","names":[],"sources":["../../../src/web/stores/uiStore.ts"],"mappings":";;;;;;YAUY;iBACK;;EAEf;;EAEA,SAAS;;qBAmBE,SAAO,MAAA;wBAEJ,YAAY;wBASZ,WAAW,KAAK"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Store } from "@tanstack/store";
|
|
2
|
+
//#region src/web/stores/uiStore.ts
|
|
3
|
+
/** Where the page remembers its chrome layout; one key per machine. */
|
|
4
|
+
const DOCK_STORAGE_KEY = "po.web.dock";
|
|
5
|
+
const DOCK_TAB_STORAGE_KEY = "po.web.dock-tab";
|
|
6
|
+
function readDock() {
|
|
7
|
+
try {
|
|
8
|
+
return window.localStorage.getItem(DOCK_STORAGE_KEY) !== "closed";
|
|
9
|
+
} catch {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function readDockTab() {
|
|
14
|
+
try {
|
|
15
|
+
return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || "activity";
|
|
16
|
+
} catch {
|
|
17
|
+
return "activity";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const uiStore = new Store({
|
|
21
|
+
dockOpen: readDock(),
|
|
22
|
+
dockTab: readDockTab()
|
|
23
|
+
});
|
|
24
|
+
function setDockOpen(open) {
|
|
25
|
+
uiStore.setState((state) => state.dockOpen === open ? state : {
|
|
26
|
+
...state,
|
|
27
|
+
dockOpen: open
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
window.localStorage.setItem(DOCK_STORAGE_KEY, open ? "open" : "closed");
|
|
31
|
+
} catch {}
|
|
32
|
+
}
|
|
33
|
+
function setDockTab(tab) {
|
|
34
|
+
uiStore.setState((state) => state.dockTab === tab ? state : {
|
|
35
|
+
...state,
|
|
36
|
+
dockTab: tab
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);
|
|
40
|
+
} catch {}
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { setDockOpen, setDockTab, uiStore };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=uiStore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiStore.mjs","names":[],"sources":["../../../src/web/stores/uiStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\n/** Where the page remembers its chrome layout; one key per machine. */\nconst DOCK_STORAGE_KEY = 'po.web.dock';\nconst DOCK_TAB_STORAGE_KEY = 'po.web.dock-tab';\n\n/**\n * Which face of the dock is showing. The host owns `activity` and `context`;\n * installed plugins may contribute additional opaque ids.\n */\nexport type DockTab = string;\nexport interface UiState {\n /** Whether the activity dock is shown; survives route changes and reloads. */\n dockOpen: boolean;\n /** Which dock tab is selected; survives route changes and reloads. */\n dockTab: DockTab;\n}\n\nfunction readDock(): boolean {\n try {\n return window.localStorage.getItem(DOCK_STORAGE_KEY) !== 'closed';\n } catch {\n return true;\n }\n}\n\nfunction readDockTab(): DockTab {\n try {\n return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || 'activity';\n } catch {\n return 'activity';\n }\n}\n\nexport const uiStore = new Store<UiState>({ dockOpen: readDock(), dockTab: readDockTab() });\n\nexport function setDockOpen(open: boolean): void {\n uiStore.setState((state) => (state.dockOpen === open ? state : { ...state, dockOpen: open }));\n try {\n window.localStorage.setItem(DOCK_STORAGE_KEY, open ? 'open' : 'closed');\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n\nexport function setDockTab(tab: DockTab): void {\n uiStore.setState((state) => (state.dockTab === tab ? state : { ...state, dockTab: tab }));\n try {\n window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n"],"mappings":";;;AAGA,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAc7B,SAAS,WAAoB;CAC3B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,gBAAgB,MAAM;CAC3D,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,cAAuB;CAC9B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,oBAAoB,CAAC,EAAE,KAAK,KAAK;CACtE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,UAAU,IAAI,MAAe;CAAE,UAAU,SAAS;CAAG,SAAS,YAAY;AAAE,CAAC;AAE1F,SAAgB,YAAY,MAAqB;CAC/C,QAAQ,UAAU,UAAW,MAAM,aAAa,OAAO,QAAQ;EAAE,GAAG;EAAO,UAAU;CAAK,CAAE;CAC5F,IAAI;EACF,OAAO,aAAa,QAAQ,kBAAkB,OAAO,SAAS,QAAQ;CACxE,QAAQ,CAER;AACF;AAEA,SAAgB,WAAW,KAAoB;CAC7C,QAAQ,UAAU,UAAW,MAAM,YAAY,MAAM,QAAQ;EAAE,GAAG;EAAO,SAAS;CAAI,CAAE;CACxF,IAAI;EACF,OAAO,aAAa,QAAQ,sBAAsB,GAAG;CACvD,QAAQ,CAER;AACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const require_sessionsStore = require("./sessionsStore.cjs");
|
|
2
|
+
let react = require("react");
|
|
3
|
+
let _tanstack_react_router = require("@tanstack/react-router");
|
|
4
|
+
let _tanstack_react_store = require("@tanstack/react-store");
|
|
5
|
+
//#region src/web/stores/useOpenTab.ts
|
|
6
|
+
/**
|
|
7
|
+
* Navigation for the focused session, in the shape plugins receive: a tab id
|
|
8
|
+
* opens that plugin tab, null returns to the conversation. A no-op while no
|
|
9
|
+
* session is focused, because there is no page to open a tab on.
|
|
10
|
+
*/
|
|
11
|
+
function useOpenTab() {
|
|
12
|
+
const activeId = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId);
|
|
13
|
+
const navigate = (0, _tanstack_react_router.useNavigate)();
|
|
14
|
+
return (0, react.useCallback)((tabId) => {
|
|
15
|
+
if (activeId === null) return;
|
|
16
|
+
tabId === null ? navigate({
|
|
17
|
+
to: "/session/$sessionId",
|
|
18
|
+
params: { sessionId: activeId }
|
|
19
|
+
}) : navigate({
|
|
20
|
+
to: "/session/$sessionId/$tabId",
|
|
21
|
+
params: {
|
|
22
|
+
sessionId: activeId,
|
|
23
|
+
tabId
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}, [activeId, navigate]);
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.useOpenTab = useOpenTab;
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=useOpenTab.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenTab.cjs","names":["useStore","sessionsStore","useNavigate","useCallback"],"sources":["../../../src/web/stores/useOpenTab.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback } from 'react';\n\nimport { sessionsStore } from './sessionsStore';\n\n/**\n * Navigation for the focused session, in the shape plugins receive: a tab id\n * opens that plugin tab, null returns to the conversation. A no-op while no\n * session is focused, because there is no page to open a tab on.\n */\nexport function useOpenTab(): (tabId: string | null) => void {\n const activeId = useStore(sessionsStore, (state) => state.activeId);\n const navigate = useNavigate();\n return useCallback(\n (tabId) => {\n if (activeId === null) return;\n void (tabId === null\n ? navigate({ to: '/session/$sessionId', params: { sessionId: activeId } })\n : navigate({ to: '/session/$sessionId/$tabId', params: { sessionId: activeId, tabId } }));\n },\n [activeId, navigate],\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,aAA6C;CAC3D,MAAM,YAAA,GAAWA,sBAAAA,SAAAA,CAASC,sBAAAA,gBAAgB,UAAU,MAAM,QAAQ;CAClE,MAAM,YAAA,GAAWC,uBAAAA,YAAAA,CAAY;CAC7B,QAAA,GAAOC,MAAAA,YAAAA,EACJ,UAAU;EACT,IAAI,aAAa,MAAM;EACvB,UAAgB,OACZ,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,SAAS;EAAE,CAAC,IACvE,SAAS;GAAE,IAAI;GAA8B,QAAQ;IAAE,WAAW;IAAU;GAAM;EAAE,CAAC;CAC3F,GACA,CAAC,UAAU,QAAQ,CACrB;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/web/stores/useOpenTab.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Navigation for the focused session, in the shape plugins receive: a tab id
|
|
4
|
+
* opens that plugin tab, null returns to the conversation. A no-op while no
|
|
5
|
+
* session is focused, because there is no page to open a tab on.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useOpenTab(): (tabId: string | null) => void;
|
|
8
|
+
//#endregion
|
|
9
|
+
//# sourceMappingURL=useOpenTab.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenTab.d.mts","names":[],"sources":["../../../src/web/stores/useOpenTab.ts"],"mappings":";;;;;;wBAWgB,eAAe"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { sessionsStore } from "./sessionsStore.mjs";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useNavigate } from "@tanstack/react-router";
|
|
4
|
+
import { useStore } from "@tanstack/react-store";
|
|
5
|
+
//#region src/web/stores/useOpenTab.ts
|
|
6
|
+
/**
|
|
7
|
+
* Navigation for the focused session, in the shape plugins receive: a tab id
|
|
8
|
+
* opens that plugin tab, null returns to the conversation. A no-op while no
|
|
9
|
+
* session is focused, because there is no page to open a tab on.
|
|
10
|
+
*/
|
|
11
|
+
function useOpenTab() {
|
|
12
|
+
const activeId = useStore(sessionsStore, (state) => state.activeId);
|
|
13
|
+
const navigate = useNavigate();
|
|
14
|
+
return useCallback((tabId) => {
|
|
15
|
+
if (activeId === null) return;
|
|
16
|
+
tabId === null ? navigate({
|
|
17
|
+
to: "/session/$sessionId",
|
|
18
|
+
params: { sessionId: activeId }
|
|
19
|
+
}) : navigate({
|
|
20
|
+
to: "/session/$sessionId/$tabId",
|
|
21
|
+
params: {
|
|
22
|
+
sessionId: activeId,
|
|
23
|
+
tabId
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}, [activeId, navigate]);
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { useOpenTab };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=useOpenTab.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenTab.mjs","names":[],"sources":["../../../src/web/stores/useOpenTab.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback } from 'react';\n\nimport { sessionsStore } from './sessionsStore';\n\n/**\n * Navigation for the focused session, in the shape plugins receive: a tab id\n * opens that plugin tab, null returns to the conversation. A no-op while no\n * session is focused, because there is no page to open a tab on.\n */\nexport function useOpenTab(): (tabId: string | null) => void {\n const activeId = useStore(sessionsStore, (state) => state.activeId);\n const navigate = useNavigate();\n return useCallback(\n (tabId) => {\n if (activeId === null) return;\n void (tabId === null\n ? navigate({ to: '/session/$sessionId', params: { sessionId: activeId } })\n : navigate({ to: '/session/$sessionId/$tabId', params: { sessionId: activeId, tabId } }));\n },\n [activeId, navigate],\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,aAA6C;CAC3D,MAAM,WAAW,SAAS,gBAAgB,UAAU,MAAM,QAAQ;CAClE,MAAM,WAAW,YAAY;CAC7B,OAAO,aACJ,UAAU;EACT,IAAI,aAAa,MAAM;EACvB,UAAgB,OACZ,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,SAAS;EAAE,CAAC,IACvE,SAAS;GAAE,IAAI;GAA8B,QAAQ;IAAE,WAAW;IAAU;GAAM;EAAE,CAAC;CAC3F,GACA,CAAC,UAAU,QAAQ,CACrB;AACF"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
const require_composition = require("../lib/composition.cjs");
|
|
2
|
+
const require_pluginSlotProps = require("../lib/pluginSlotProps.cjs");
|
|
3
|
+
const require_composerStore = require("./composerStore.cjs");
|
|
4
|
+
const require_sessionsStore = require("./sessionsStore.cjs");
|
|
5
|
+
const require_sessionStore = require("./sessionStore.cjs");
|
|
6
|
+
const require_captureStore = require("./captureStore.cjs");
|
|
7
|
+
const require_sessionChannelHoldsStore = require("./sessionChannelHoldsStore.cjs");
|
|
8
|
+
const require_transientTabsStore = require("./transientTabsStore.cjs");
|
|
9
|
+
const require_useOpenTab = require("./useOpenTab.cjs");
|
|
10
|
+
const require_dashboardRenderers = require("../lib/dashboardRenderers.cjs");
|
|
11
|
+
const require_useWebPluginRegistry = require("./useWebPluginRegistry.cjs");
|
|
12
|
+
let react = require("react");
|
|
13
|
+
let _tanstack_react_router = require("@tanstack/react-router");
|
|
14
|
+
let _tanstack_react_store = require("@tanstack/react-store");
|
|
15
|
+
//#region src/web/stores/usePluginSlotProps.ts
|
|
16
|
+
function useSummaryField(sessionId, key) {
|
|
17
|
+
return (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => sessionId === null ? void 0 : state.byId[sessionId]?.summary[key]);
|
|
18
|
+
}
|
|
19
|
+
/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
|
|
20
|
+
function usePluginSlotProps(sessionId, onOpen, sessionReservationId) {
|
|
21
|
+
const renderers = (0, react.useContext)(require_dashboardRenderers.DashboardRendererContext);
|
|
22
|
+
const store = require_sessionStore.sessionStoreFor(sessionId);
|
|
23
|
+
const statuses = (0, _tanstack_react_store.useStore)(store, (state) => state.statuses);
|
|
24
|
+
const catalog = (0, _tanstack_react_store.useStore)(store, (state) => state.minorModes);
|
|
25
|
+
const widgets = (0, _tanstack_react_store.useStore)(store, (state) => state.widgets);
|
|
26
|
+
const context = (0, _tanstack_react_store.useStore)(store, (state) => state.context);
|
|
27
|
+
const contextInventory = (0, react.useMemo)(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);
|
|
28
|
+
const known = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== void 0);
|
|
29
|
+
const workspaceId = useSummaryField(sessionId, "workspaceId");
|
|
30
|
+
const parentSessionId = useSummaryField(sessionId, "parentSessionId");
|
|
31
|
+
const sessionProvenance = useSummaryField(sessionId, "sessionProvenance");
|
|
32
|
+
const sessionContext = (0, react.useMemo)(() => require_pluginSlotProps.pluginSessionContext(sessionId, known ? {
|
|
33
|
+
workspaceId,
|
|
34
|
+
parentSessionId,
|
|
35
|
+
sessionProvenance
|
|
36
|
+
} : void 0), [
|
|
37
|
+
known,
|
|
38
|
+
parentSessionId,
|
|
39
|
+
sessionId,
|
|
40
|
+
sessionProvenance,
|
|
41
|
+
workspaceId
|
|
42
|
+
]);
|
|
43
|
+
const openTab = require_useOpenTab.useOpenTab();
|
|
44
|
+
const registryRevision = require_useWebPluginRegistry.useWebPluginRegistry();
|
|
45
|
+
const openPluginTab = (0, react.useCallback)((tabId) => {
|
|
46
|
+
onOpen?.();
|
|
47
|
+
openTab(tabId);
|
|
48
|
+
}, [onOpen, openTab]);
|
|
49
|
+
const openPluginTransientTab = (0, react.useCallback)((tab) => {
|
|
50
|
+
if (sessionId === null) return;
|
|
51
|
+
onOpen?.();
|
|
52
|
+
require_transientTabsStore.openTransientTab(sessionId, tab);
|
|
53
|
+
openTab(tab.id);
|
|
54
|
+
}, [
|
|
55
|
+
onOpen,
|
|
56
|
+
openTab,
|
|
57
|
+
sessionId
|
|
58
|
+
]);
|
|
59
|
+
const navigate = (0, _tanstack_react_router.useNavigate)();
|
|
60
|
+
const openSession = (0, react.useCallback)((target) => {
|
|
61
|
+
if (require_sessionsStore.sessionsStore.state.byId[target] === void 0) return;
|
|
62
|
+
onOpen?.();
|
|
63
|
+
navigate({
|
|
64
|
+
to: "/session/$sessionId",
|
|
65
|
+
params: { sessionId: target }
|
|
66
|
+
});
|
|
67
|
+
}, [navigate, onOpen]);
|
|
68
|
+
const closePluginTransientTab = (0, react.useCallback)((tabId) => {
|
|
69
|
+
if (sessionId !== null) require_transientTabsStore.closeTransientTab(sessionId, tabId);
|
|
70
|
+
}, [sessionId]);
|
|
71
|
+
const appendDraft = (0, react.useCallback)((text) => require_composerStore.appendComposerDraft(sessionId, text), [sessionId]);
|
|
72
|
+
const attachContext = (0, react.useCallback)((item) => require_composerStore.attachComposerContext(sessionId, item), [sessionId]);
|
|
73
|
+
const attachCapture = (0, react.useCallback)((capture) => require_composerStore.attachComposerCapture(sessionId, capture), [sessionId]);
|
|
74
|
+
const capture = (0, react.useCallback)((value) => require_captureStore.submitCapture(sessionId, value), [sessionId]);
|
|
75
|
+
const activeMinorModes = (0, react.useMemo)(() => require_composition.minorModes(statuses, widgets, catalog).filter((mode) => mode.availability === "on").map((mode) => mode.name), [
|
|
76
|
+
catalog,
|
|
77
|
+
statuses,
|
|
78
|
+
widgets
|
|
79
|
+
]);
|
|
80
|
+
return (0, react.useMemo)(() => {
|
|
81
|
+
const props = require_pluginSlotProps.pluginSlotProps(sessionId, openPluginTab, statuses, {
|
|
82
|
+
open: openPluginTransientTab,
|
|
83
|
+
close: closePluginTransientTab
|
|
84
|
+
}, appendDraft, attachContext, attachCapture, contextInventory, capture, sessionReservationId);
|
|
85
|
+
props.renderThread = (threadId, options) => sessionId === null ? null : renderers?.thread(sessionId, threadId, options) ?? null;
|
|
86
|
+
props.renderSessionActivity = () => sessionId === null ? null : renderers?.activity(sessionId, () => openPluginTab(null)) ?? null;
|
|
87
|
+
props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;
|
|
88
|
+
props.activeMinorModes = activeMinorModes;
|
|
89
|
+
if (sessionContext !== void 0) props.sessionContext = sessionContext;
|
|
90
|
+
props.holdSessionChannels = require_sessionChannelHoldsStore.holdSessionChannels;
|
|
91
|
+
props.openSession = openSession;
|
|
92
|
+
return props;
|
|
93
|
+
}, [
|
|
94
|
+
activeMinorModes,
|
|
95
|
+
appendDraft,
|
|
96
|
+
attachCapture,
|
|
97
|
+
attachContext,
|
|
98
|
+
capture,
|
|
99
|
+
closePluginTransientTab,
|
|
100
|
+
contextInventory,
|
|
101
|
+
openPluginTab,
|
|
102
|
+
openPluginTransientTab,
|
|
103
|
+
openSession,
|
|
104
|
+
registryRevision,
|
|
105
|
+
renderers,
|
|
106
|
+
sessionId,
|
|
107
|
+
sessionContext,
|
|
108
|
+
sessionReservationId,
|
|
109
|
+
statuses
|
|
110
|
+
]);
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
exports.usePluginSlotProps = usePluginSlotProps;
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=usePluginSlotProps.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePluginSlotProps.cjs","names":["useStore","sessionsStore","useContext","DashboardRendererContext","sessionStoreFor","useMemo","pluginSessionContext","useOpenTab","useWebPluginRegistry","useCallback","useNavigate","appendComposerDraft","attachComposerContext","attachComposerCapture","submitCapture","minorModes","pluginSlotProps","holdSessionChannels"],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback, useContext, useMemo } from 'react';\n\nimport { minorModes } from '../lib/composition';\nimport { DashboardRendererContext } from '../lib/dashboardRenderers';\nimport { pluginSessionContext, pluginSlotProps } from '../lib/pluginSlotProps';\nimport { submitCapture } from './captureStore';\nimport { appendComposerDraft, attachComposerCapture, attachComposerContext } from './composerStore';\nimport { holdSessionChannels } from './sessionChannelHoldsStore';\nimport { sessionsStore } from './sessionsStore';\nimport { sessionStoreFor } from './sessionStore';\nimport { closeTransientTab, openTransientTab } from './transientTabsStore';\nimport { useOpenTab } from './useOpenTab';\nimport { useWebPluginRegistry } from './useWebPluginRegistry';\nfunction useSummaryField(\n sessionId: string | null,\n key: 'workspaceId' | 'parentSessionId' | 'sessionProvenance',\n): string | undefined {\n return useStore(sessionsStore, (state) => (sessionId === null ? undefined : state.byId[sessionId]?.summary[key]));\n}\n\n/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */\nexport function usePluginSlotProps(\n sessionId: string | null,\n onOpen?: () => void,\n sessionReservationId?: string,\n): WebPluginSlotProps {\n const renderers = useContext(DashboardRendererContext);\n const store = sessionStoreFor(sessionId);\n const statuses = useStore(store, (state) => state.statuses);\n const catalog = useStore(store, (state) => state.minorModes);\n const widgets = useStore(store, (state) => state.widgets);\n const context = useStore(store, (state) => state.context);\n const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);\n // Selected field by field so a summary upsert that changes none of them keeps the same object.\n const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== undefined);\n const workspaceId = useSummaryField(sessionId, 'workspaceId');\n const parentSessionId = useSummaryField(sessionId, 'parentSessionId');\n const sessionProvenance = useSummaryField(sessionId, 'sessionProvenance');\n const sessionContext = useMemo(\n () => pluginSessionContext(sessionId, known ? { workspaceId, parentSessionId, sessionProvenance } : undefined),\n [known, parentSessionId, sessionId, sessionProvenance, workspaceId],\n );\n const openTab = useOpenTab();\n const registryRevision = useWebPluginRegistry();\n const openPluginTab = useCallback(\n (tabId: string | null) => {\n onOpen?.();\n openTab(tabId);\n },\n [onOpen, openTab],\n );\n const openPluginTransientTab = useCallback(\n (tab: Parameters<typeof openTransientTab>[1]) => {\n if (sessionId === null) return;\n onOpen?.();\n openTransientTab(sessionId, tab);\n openTab(tab.id);\n },\n [onOpen, openTab, sessionId],\n );\n const navigate = useNavigate();\n // Another session the page lists, such as a child a plugin started; an unknown id is left alone.\n const openSession = useCallback(\n (target: string) => {\n if (sessionsStore.state.byId[target] === undefined) return;\n onOpen?.();\n void navigate({ to: '/session/$sessionId', params: { sessionId: target } });\n },\n [navigate, onOpen],\n );\n const closePluginTransientTab = useCallback(\n (tabId: string) => {\n if (sessionId !== null) closeTransientTab(sessionId, tabId);\n },\n [sessionId],\n );\n const appendDraft = useCallback((text: string) => appendComposerDraft(sessionId, text), [sessionId]);\n const attachContext = useCallback(\n (item: Parameters<typeof attachComposerContext>[1]) => attachComposerContext(sessionId, item),\n [sessionId],\n );\n const attachCapture = useCallback(\n (capture: Parameters<typeof attachComposerCapture>[1]) => attachComposerCapture(sessionId, capture),\n [sessionId],\n );\n const capture = useCallback(\n (value: Parameters<typeof submitCapture>[1]) => submitCapture(sessionId, value),\n [sessionId],\n );\n const activeMinorModes = useMemo(\n () =>\n minorModes(statuses, widgets, catalog)\n .filter((mode) => mode.availability === 'on')\n .map((mode) => mode.name),\n [catalog, statuses, widgets],\n );\n\n return useMemo(() => {\n void registryRevision;\n const props = pluginSlotProps(\n sessionId,\n openPluginTab,\n statuses,\n { open: openPluginTransientTab, close: closePluginTransientTab },\n appendDraft,\n attachContext,\n attachCapture,\n contextInventory,\n capture,\n sessionReservationId,\n );\n props.renderThread = (threadId, options) =>\n sessionId === null ? null : (renderers?.thread(sessionId, threadId, options) ?? null);\n props.renderSessionActivity = () =>\n sessionId === null ? null : (renderers?.activity(sessionId, () => openPluginTab(null)) ?? null);\n props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;\n props.activeMinorModes = activeMinorModes;\n if (sessionContext !== undefined) props.sessionContext = sessionContext;\n props.holdSessionChannels = holdSessionChannels;\n props.openSession = openSession;\n return props;\n }, [\n activeMinorModes,\n appendDraft,\n attachCapture,\n attachContext,\n capture,\n closePluginTransientTab,\n contextInventory,\n openPluginTab,\n openPluginTransientTab,\n openSession,\n registryRevision,\n renderers,\n sessionId,\n sessionContext,\n sessionReservationId,\n statuses,\n ]);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WebPluginSlotProps } from "@agimon-ai/po-core/web";
|
|
2
|
+
//#region src/web/stores/usePluginSlotProps.d.ts
|
|
3
|
+
/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
|
|
4
|
+
export declare function usePluginSlotProps(sessionId: string | null, onOpen?: () => void, sessionReservationId?: string): WebPluginSlotProps;
|
|
5
|
+
//#endregion
|
|
6
|
+
//# sourceMappingURL=usePluginSlotProps.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePluginSlotProps.d.mts","names":[],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"mappings":";;;wBAwBgB,mBACd,0BACA,qBACA,gCACC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { minorModes } from "../lib/composition.mjs";
|
|
2
|
+
import { pluginSessionContext, pluginSlotProps } from "../lib/pluginSlotProps.mjs";
|
|
3
|
+
import { appendComposerDraft, attachComposerCapture, attachComposerContext } from "./composerStore.mjs";
|
|
4
|
+
import { sessionsStore } from "./sessionsStore.mjs";
|
|
5
|
+
import { sessionStoreFor } from "./sessionStore.mjs";
|
|
6
|
+
import { submitCapture } from "./captureStore.mjs";
|
|
7
|
+
import { holdSessionChannels } from "./sessionChannelHoldsStore.mjs";
|
|
8
|
+
import { closeTransientTab, openTransientTab } from "./transientTabsStore.mjs";
|
|
9
|
+
import { useOpenTab } from "./useOpenTab.mjs";
|
|
10
|
+
import { DashboardRendererContext } from "../lib/dashboardRenderers.mjs";
|
|
11
|
+
import { useWebPluginRegistry } from "./useWebPluginRegistry.mjs";
|
|
12
|
+
import { useCallback, useContext, useMemo } from "react";
|
|
13
|
+
import { useNavigate } from "@tanstack/react-router";
|
|
14
|
+
import { useStore } from "@tanstack/react-store";
|
|
15
|
+
//#region src/web/stores/usePluginSlotProps.ts
|
|
16
|
+
function useSummaryField(sessionId, key) {
|
|
17
|
+
return useStore(sessionsStore, (state) => sessionId === null ? void 0 : state.byId[sessionId]?.summary[key]);
|
|
18
|
+
}
|
|
19
|
+
/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
|
|
20
|
+
function usePluginSlotProps(sessionId, onOpen, sessionReservationId) {
|
|
21
|
+
const renderers = useContext(DashboardRendererContext);
|
|
22
|
+
const store = sessionStoreFor(sessionId);
|
|
23
|
+
const statuses = useStore(store, (state) => state.statuses);
|
|
24
|
+
const catalog = useStore(store, (state) => state.minorModes);
|
|
25
|
+
const widgets = useStore(store, (state) => state.widgets);
|
|
26
|
+
const context = useStore(store, (state) => state.context);
|
|
27
|
+
const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);
|
|
28
|
+
const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== void 0);
|
|
29
|
+
const workspaceId = useSummaryField(sessionId, "workspaceId");
|
|
30
|
+
const parentSessionId = useSummaryField(sessionId, "parentSessionId");
|
|
31
|
+
const sessionProvenance = useSummaryField(sessionId, "sessionProvenance");
|
|
32
|
+
const sessionContext = useMemo(() => pluginSessionContext(sessionId, known ? {
|
|
33
|
+
workspaceId,
|
|
34
|
+
parentSessionId,
|
|
35
|
+
sessionProvenance
|
|
36
|
+
} : void 0), [
|
|
37
|
+
known,
|
|
38
|
+
parentSessionId,
|
|
39
|
+
sessionId,
|
|
40
|
+
sessionProvenance,
|
|
41
|
+
workspaceId
|
|
42
|
+
]);
|
|
43
|
+
const openTab = useOpenTab();
|
|
44
|
+
const registryRevision = useWebPluginRegistry();
|
|
45
|
+
const openPluginTab = useCallback((tabId) => {
|
|
46
|
+
onOpen?.();
|
|
47
|
+
openTab(tabId);
|
|
48
|
+
}, [onOpen, openTab]);
|
|
49
|
+
const openPluginTransientTab = useCallback((tab) => {
|
|
50
|
+
if (sessionId === null) return;
|
|
51
|
+
onOpen?.();
|
|
52
|
+
openTransientTab(sessionId, tab);
|
|
53
|
+
openTab(tab.id);
|
|
54
|
+
}, [
|
|
55
|
+
onOpen,
|
|
56
|
+
openTab,
|
|
57
|
+
sessionId
|
|
58
|
+
]);
|
|
59
|
+
const navigate = useNavigate();
|
|
60
|
+
const openSession = useCallback((target) => {
|
|
61
|
+
if (sessionsStore.state.byId[target] === void 0) return;
|
|
62
|
+
onOpen?.();
|
|
63
|
+
navigate({
|
|
64
|
+
to: "/session/$sessionId",
|
|
65
|
+
params: { sessionId: target }
|
|
66
|
+
});
|
|
67
|
+
}, [navigate, onOpen]);
|
|
68
|
+
const closePluginTransientTab = useCallback((tabId) => {
|
|
69
|
+
if (sessionId !== null) closeTransientTab(sessionId, tabId);
|
|
70
|
+
}, [sessionId]);
|
|
71
|
+
const appendDraft = useCallback((text) => appendComposerDraft(sessionId, text), [sessionId]);
|
|
72
|
+
const attachContext = useCallback((item) => attachComposerContext(sessionId, item), [sessionId]);
|
|
73
|
+
const attachCapture = useCallback((capture) => attachComposerCapture(sessionId, capture), [sessionId]);
|
|
74
|
+
const capture = useCallback((value) => submitCapture(sessionId, value), [sessionId]);
|
|
75
|
+
const activeMinorModes = useMemo(() => minorModes(statuses, widgets, catalog).filter((mode) => mode.availability === "on").map((mode) => mode.name), [
|
|
76
|
+
catalog,
|
|
77
|
+
statuses,
|
|
78
|
+
widgets
|
|
79
|
+
]);
|
|
80
|
+
return useMemo(() => {
|
|
81
|
+
const props = pluginSlotProps(sessionId, openPluginTab, statuses, {
|
|
82
|
+
open: openPluginTransientTab,
|
|
83
|
+
close: closePluginTransientTab
|
|
84
|
+
}, appendDraft, attachContext, attachCapture, contextInventory, capture, sessionReservationId);
|
|
85
|
+
props.renderThread = (threadId, options) => sessionId === null ? null : renderers?.thread(sessionId, threadId, options) ?? null;
|
|
86
|
+
props.renderSessionActivity = () => sessionId === null ? null : renderers?.activity(sessionId, () => openPluginTab(null)) ?? null;
|
|
87
|
+
props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;
|
|
88
|
+
props.activeMinorModes = activeMinorModes;
|
|
89
|
+
if (sessionContext !== void 0) props.sessionContext = sessionContext;
|
|
90
|
+
props.holdSessionChannels = holdSessionChannels;
|
|
91
|
+
props.openSession = openSession;
|
|
92
|
+
return props;
|
|
93
|
+
}, [
|
|
94
|
+
activeMinorModes,
|
|
95
|
+
appendDraft,
|
|
96
|
+
attachCapture,
|
|
97
|
+
attachContext,
|
|
98
|
+
capture,
|
|
99
|
+
closePluginTransientTab,
|
|
100
|
+
contextInventory,
|
|
101
|
+
openPluginTab,
|
|
102
|
+
openPluginTransientTab,
|
|
103
|
+
openSession,
|
|
104
|
+
registryRevision,
|
|
105
|
+
renderers,
|
|
106
|
+
sessionId,
|
|
107
|
+
sessionContext,
|
|
108
|
+
sessionReservationId,
|
|
109
|
+
statuses
|
|
110
|
+
]);
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { usePluginSlotProps };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=usePluginSlotProps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePluginSlotProps.mjs","names":[],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback, useContext, useMemo } from 'react';\n\nimport { minorModes } from '../lib/composition';\nimport { DashboardRendererContext } from '../lib/dashboardRenderers';\nimport { pluginSessionContext, pluginSlotProps } from '../lib/pluginSlotProps';\nimport { submitCapture } from './captureStore';\nimport { appendComposerDraft, attachComposerCapture, attachComposerContext } from './composerStore';\nimport { holdSessionChannels } from './sessionChannelHoldsStore';\nimport { sessionsStore } from './sessionsStore';\nimport { sessionStoreFor } from './sessionStore';\nimport { closeTransientTab, openTransientTab } from './transientTabsStore';\nimport { useOpenTab } from './useOpenTab';\nimport { useWebPluginRegistry } from './useWebPluginRegistry';\nfunction useSummaryField(\n sessionId: string | null,\n key: 'workspaceId' | 'parentSessionId' | 'sessionProvenance',\n): string | undefined {\n return useStore(sessionsStore, (state) => (sessionId === null ? undefined : state.byId[sessionId]?.summary[key]));\n}\n\n/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */\nexport function usePluginSlotProps(\n sessionId: string | null,\n onOpen?: () => void,\n sessionReservationId?: string,\n): WebPluginSlotProps {\n const renderers = useContext(DashboardRendererContext);\n const store = sessionStoreFor(sessionId);\n const statuses = useStore(store, (state) => state.statuses);\n const catalog = useStore(store, (state) => state.minorModes);\n const widgets = useStore(store, (state) => state.widgets);\n const context = useStore(store, (state) => state.context);\n const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);\n // Selected field by field so a summary upsert that changes none of them keeps the same object.\n const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== undefined);\n const workspaceId = useSummaryField(sessionId, 'workspaceId');\n const parentSessionId = useSummaryField(sessionId, 'parentSessionId');\n const sessionProvenance = useSummaryField(sessionId, 'sessionProvenance');\n const sessionContext = useMemo(\n () => pluginSessionContext(sessionId, known ? { workspaceId, parentSessionId, sessionProvenance } : undefined),\n [known, parentSessionId, sessionId, sessionProvenance, workspaceId],\n );\n const openTab = useOpenTab();\n const registryRevision = useWebPluginRegistry();\n const openPluginTab = useCallback(\n (tabId: string | null) => {\n onOpen?.();\n openTab(tabId);\n },\n [onOpen, openTab],\n );\n const openPluginTransientTab = useCallback(\n (tab: Parameters<typeof openTransientTab>[1]) => {\n if (sessionId === null) return;\n onOpen?.();\n openTransientTab(sessionId, tab);\n openTab(tab.id);\n },\n [onOpen, openTab, sessionId],\n );\n const navigate = useNavigate();\n // Another session the page lists, such as a child a plugin started; an unknown id is left alone.\n const openSession = useCallback(\n (target: string) => {\n if (sessionsStore.state.byId[target] === undefined) return;\n onOpen?.();\n void navigate({ to: '/session/$sessionId', params: { sessionId: target } });\n },\n [navigate, onOpen],\n );\n const closePluginTransientTab = useCallback(\n (tabId: string) => {\n if (sessionId !== null) closeTransientTab(sessionId, tabId);\n },\n [sessionId],\n );\n const appendDraft = useCallback((text: string) => appendComposerDraft(sessionId, text), [sessionId]);\n const attachContext = useCallback(\n (item: Parameters<typeof attachComposerContext>[1]) => attachComposerContext(sessionId, item),\n [sessionId],\n );\n const attachCapture = useCallback(\n (capture: Parameters<typeof attachComposerCapture>[1]) => attachComposerCapture(sessionId, capture),\n [sessionId],\n );\n const capture = useCallback(\n (value: Parameters<typeof submitCapture>[1]) => submitCapture(sessionId, value),\n [sessionId],\n );\n const activeMinorModes = useMemo(\n () =>\n minorModes(statuses, widgets, catalog)\n .filter((mode) => mode.availability === 'on')\n .map((mode) => mode.name),\n [catalog, statuses, widgets],\n );\n\n return useMemo(() => {\n void registryRevision;\n const props = pluginSlotProps(\n sessionId,\n openPluginTab,\n statuses,\n { open: openPluginTransientTab, close: closePluginTransientTab },\n appendDraft,\n attachContext,\n attachCapture,\n contextInventory,\n capture,\n sessionReservationId,\n );\n props.renderThread = (threadId, options) =>\n sessionId === null ? null : (renderers?.thread(sessionId, threadId, options) ?? null);\n props.renderSessionActivity = () =>\n sessionId === null ? null : (renderers?.activity(sessionId, () => openPluginTab(null)) ?? null);\n props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;\n props.activeMinorModes = activeMinorModes;\n if (sessionContext !== undefined) props.sessionContext = sessionContext;\n props.holdSessionChannels = holdSessionChannels;\n props.openSession = openSession;\n return props;\n }, [\n activeMinorModes,\n appendDraft,\n attachCapture,\n attachContext,\n capture,\n closePluginTransientTab,\n contextInventory,\n openPluginTab,\n openPluginTransientTab,\n openSession,\n registryRevision,\n renderers,\n sessionId,\n sessionContext,\n sessionReservationId,\n statuses,\n ]);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const require_toolPrompt = require("../lib/toolPrompt.cjs");
|
|
2
|
+
const require_sessionStore = require("./sessionStore.cjs");
|
|
3
|
+
const require_menuStore = require("./menuStore.cjs");
|
|
4
|
+
const require_toolPromptStore = require("./toolPromptStore.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let _tanstack_react_store = require("@tanstack/react-store");
|
|
7
|
+
//#region src/web/stores/useToolPrompt.ts
|
|
8
|
+
/**
|
|
9
|
+
* The running tool standing in for the composer, or null while none is.
|
|
10
|
+
*
|
|
11
|
+
* The composer and the host's dialog both read this, so the request has
|
|
12
|
+
* exactly one owner on any given frame. The three facts are selected apart and
|
|
13
|
+
* the verdict memoized on them: a claim is a fresh object each time it is
|
|
14
|
+
* computed, and selecting it directly would make every unrelated frame look
|
|
15
|
+
* like a change.
|
|
16
|
+
*/
|
|
17
|
+
function useToolPrompt() {
|
|
18
|
+
const dialog = require_sessionStore.useActiveSession((state) => state.dialog);
|
|
19
|
+
const entries = require_sessionStore.useActiveSession((state) => state.entries);
|
|
20
|
+
const activeTools = require_sessionStore.useActiveSession((state) => state.activeTools);
|
|
21
|
+
const statuses = require_sessionStore.useActiveSession((state) => state.statuses);
|
|
22
|
+
const claimedMenu = (0, _tanstack_react_store.useStore)(require_menuStore.menuStore, (state) => state.claimed?.dialogId ?? null);
|
|
23
|
+
const failed = (0, _tanstack_react_store.useStore)(require_toolPromptStore.toolPromptStore, (state) => state.failedDialogId);
|
|
24
|
+
const open = dialog?.id ?? null;
|
|
25
|
+
const spokenFor = open !== null && (open === claimedMenu || open === failed) ? open : null;
|
|
26
|
+
return (0, react.useMemo)(() => require_toolPrompt.toolPromptClaim({
|
|
27
|
+
dialog,
|
|
28
|
+
entries,
|
|
29
|
+
activeTools,
|
|
30
|
+
statuses
|
|
31
|
+
}, spokenFor), [
|
|
32
|
+
dialog,
|
|
33
|
+
entries,
|
|
34
|
+
activeTools,
|
|
35
|
+
statuses,
|
|
36
|
+
spokenFor
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.useToolPrompt = useToolPrompt;
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=useToolPrompt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolPrompt.cjs","names":["useActiveSession","useStore","menuStore","toolPromptStore","useMemo","toolPromptClaim"],"sources":["../../../src/web/stores/useToolPrompt.ts"],"sourcesContent":["import { useStore } from '@tanstack/react-store';\nimport { useMemo } from 'react';\n\nimport { type ToolPromptClaim, toolPromptClaim } from '../lib/toolPrompt';\nimport { menuStore } from './menuStore';\nimport { useActiveSession } from './sessionStore';\nimport { toolPromptStore } from './toolPromptStore';\n\n/**\n * The running tool standing in for the composer, or null while none is.\n *\n * The composer and the host's dialog both read this, so the request has\n * exactly one owner on any given frame. The three facts are selected apart and\n * the verdict memoized on them: a claim is a fresh object each time it is\n * computed, and selecting it directly would make every unrelated frame look\n * like a change.\n */\nexport function useToolPrompt(): ToolPromptClaim | null {\n const dialog = useActiveSession((state) => state.dialog);\n const entries = useActiveSession((state) => state.entries);\n const activeTools = useActiveSession((state) => state.activeTools);\n const statuses = useActiveSession((state) => state.statuses);\n const claimedMenu = useStore(menuStore, (state) => state.claimed?.dialogId ?? null);\n const failed = useStore(toolPromptStore, (state) => state.failedDialogId);\n // Both ids can be stale, so neither speaks for the open request unless it\n // names it: a claim left over from an earlier turn must not wave this one through.\n const open = dialog?.id ?? null;\n const spokenFor = open !== null && (open === claimedMenu || open === failed) ? open : null;\n return useMemo(\n () => toolPromptClaim({ dialog, entries, activeTools, statuses }, spokenFor),\n [dialog, entries, activeTools, statuses, spokenFor],\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,SAAgB,gBAAwC;CACtD,MAAM,SAASA,qBAAAA,kBAAkB,UAAU,MAAM,MAAM;CACvD,MAAM,UAAUA,qBAAAA,kBAAkB,UAAU,MAAM,OAAO;CACzD,MAAM,cAAcA,qBAAAA,kBAAkB,UAAU,MAAM,WAAW;CACjE,MAAM,WAAWA,qBAAAA,kBAAkB,UAAU,MAAM,QAAQ;CAC3D,MAAM,eAAA,GAAcC,sBAAAA,SAAAA,CAASC,kBAAAA,YAAY,UAAU,MAAM,SAAS,YAAY,IAAI;CAClF,MAAM,UAAA,GAASD,sBAAAA,SAAAA,CAASE,wBAAAA,kBAAkB,UAAU,MAAM,cAAc;CAGxE,MAAM,OAAO,QAAQ,MAAM;CAC3B,MAAM,YAAY,SAAS,SAAS,SAAS,eAAe,SAAS,UAAU,OAAO;CACtF,QAAA,GAAOC,MAAAA,QAAAA,OACCC,mBAAAA,gBAAgB;EAAE;EAAQ;EAAS;EAAa;CAAS,GAAG,SAAS,GAC3E;EAAC;EAAQ;EAAS;EAAa;EAAU;CAAS,CACpD;AACF"}
|