@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,447 @@
|
|
|
1
|
+
import { BridgeState, SessionFrame } from "./session.mjs";
|
|
2
|
+
//#region src/types/hub.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Wire vocabulary between the hub and its pages.
|
|
5
|
+
*
|
|
6
|
+
* One WebSocket carries every session: hub-level frames describe the set of
|
|
7
|
+
* sessions, and session-scoped traffic travels enveloped with the session id.
|
|
8
|
+
* Field naming follows @earendil-works/pi-protocol so a future swap to the
|
|
9
|
+
* upstream session server stays a transport change, not a rename.
|
|
10
|
+
*/
|
|
11
|
+
export declare const HUB_PROTOCOL_VERSION = 2;
|
|
12
|
+
/** Role marker in the health payload; po-server probes for it before binding the port. */
|
|
13
|
+
export declare const HUB_ROLE = "hub";
|
|
14
|
+
/** REST endpoint for admitting and listing durable workspaces. */
|
|
15
|
+
export declare const WORKSPACES_API_ROUTE = "/api/workspaces";
|
|
16
|
+
/** REST endpoint for creating sessions and browsing resumable Pi history. */
|
|
17
|
+
export declare const SESSIONS_API_ROUTE = "/api/workspaces/:workspaceId/sessions";
|
|
18
|
+
/** One durable repository workspace shown in the rail, even while it has no sessions. */
|
|
19
|
+
export interface WorkspaceSummary {
|
|
20
|
+
id: string;
|
|
21
|
+
root: string;
|
|
22
|
+
/** Display name chosen when the workspace was added; the folder basename stands in when absent. */
|
|
23
|
+
name?: string;
|
|
24
|
+
/** A remembered workspace whose root could not be mounted on this server start. */
|
|
25
|
+
available?: boolean;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
/** One inactive Pi thread available to resume in a live session's workspace. */
|
|
29
|
+
export interface PiSessionHistoryItem {
|
|
30
|
+
id: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
firstMessage: string;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
updatedAt: string;
|
|
35
|
+
messageCount: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* REST endpoint behind the new-session directory picker; the page sends the
|
|
39
|
+
* typed path as ?q= and receives {directories}: the children of the parent
|
|
40
|
+
* directory whose names match the trailing segment as a regular expression.
|
|
41
|
+
*/
|
|
42
|
+
export declare const DIRECTORIES_API_ROUTE = "/api/directories";
|
|
43
|
+
/** Lists the visible child folders of ?path= (home when absent) for the workspace folder browser. */
|
|
44
|
+
export declare const DIRECTORY_CHILDREN_API_ROUTE = "/api/directories/children";
|
|
45
|
+
/** One folder's visible child directories, as absolute paths. */
|
|
46
|
+
export interface DirectoryListing {
|
|
47
|
+
path: string;
|
|
48
|
+
parent?: string;
|
|
49
|
+
directories: string[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Query parameter that routes a package API request to one session's server.
|
|
53
|
+
* Without it the request is answered by a hub-scoped API in this process.
|
|
54
|
+
*/
|
|
55
|
+
export declare const API_SESSION_QUERY_PARAM = "session";
|
|
56
|
+
/** What the agent is doing right now, derived from its frame stream. */
|
|
57
|
+
export type SessionPhase = 'idle' | 'turn' | 'compaction' | 'retry';
|
|
58
|
+
export interface SessionProfile {
|
|
59
|
+
name: string;
|
|
60
|
+
displayName?: string;
|
|
61
|
+
/** Changes whenever the icon does; absent when the profile has no icon. */
|
|
62
|
+
iconVersion?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface SessionGitStatus {
|
|
65
|
+
branch: string;
|
|
66
|
+
/** True when the working tree has uncommitted changes; rendered as a star. */
|
|
67
|
+
dirty: boolean;
|
|
68
|
+
}
|
|
69
|
+
/** One immutable, signed client composition resolved for a session. */
|
|
70
|
+
export interface SessionWebComposition {
|
|
71
|
+
/** Stable identity of the synchronized root and generation. */
|
|
72
|
+
id: string;
|
|
73
|
+
/** Monotonic signing revision advertised by the manifest. */
|
|
74
|
+
revision: number;
|
|
75
|
+
/** Same-origin signed-manifest route read by the trusted service worker. */
|
|
76
|
+
manifestUrl: string;
|
|
77
|
+
/** Same-origin prefix for the untrusted source bytes verified by the worker. */
|
|
78
|
+
rawAssetBaseUrl: string;
|
|
79
|
+
/** Worker-owned prefix from which the page may execute verified bytes. */
|
|
80
|
+
verifiedAssetBaseUrl: string;
|
|
81
|
+
/** `[slot, entry]` per plugin copy this mount runs, each entry an absolute path below both asset prefixes. */
|
|
82
|
+
pluginEntries: [string, string][];
|
|
83
|
+
/** Absolute paths below both asset prefixes of every file this mount's slots can load. */
|
|
84
|
+
assetPaths: string[];
|
|
85
|
+
/** Absolute paths below both asset prefixes, replaced when this session is focused. */
|
|
86
|
+
stylePaths: string[];
|
|
87
|
+
/** Frame types owned by the matching session-local hub composition. */
|
|
88
|
+
channels: string[];
|
|
89
|
+
/**
|
|
90
|
+
* The slots this mount runs out of a shared build. Absent means the composition
|
|
91
|
+
* holds only this mount's plugins, as in-memory test hosts publish it.
|
|
92
|
+
*/
|
|
93
|
+
plugins?: string[];
|
|
94
|
+
}
|
|
95
|
+
/** One immutable, signed native composition resolved for a session; read by po-native, ignored by the web. */
|
|
96
|
+
export interface SessionNativeComposition {
|
|
97
|
+
/** Stable identity of the synchronized root and generation. */
|
|
98
|
+
id: string;
|
|
99
|
+
scope: 'global' | 'workspace' | 'session';
|
|
100
|
+
/** Monotonic signing revision advertised by the manifest. */
|
|
101
|
+
revision: number;
|
|
102
|
+
manifestUrl: string;
|
|
103
|
+
rawAssetBaseUrl: string;
|
|
104
|
+
/** Always `/composition.js`. */
|
|
105
|
+
entryPath: string;
|
|
106
|
+
channels: string[];
|
|
107
|
+
/** The `poNative.pluginId` values resolved for this mount; the shell installs only these. */
|
|
108
|
+
plugins: string[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Everything the rail needs to render one session without subscribing to it.
|
|
112
|
+
*/
|
|
113
|
+
export interface SessionSummary {
|
|
114
|
+
workspaceId?: string;
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
cwd: string;
|
|
118
|
+
/** ISO 8601, from the session's registry record. */
|
|
119
|
+
createdAt: string;
|
|
120
|
+
/** ISO 8601, bumped whenever the session's frame stream moves. */
|
|
121
|
+
updatedAt: string;
|
|
122
|
+
phase: SessionPhase;
|
|
123
|
+
/** ISO 8601 timestamp of the last phase change; drives "running · 12m". */
|
|
124
|
+
phaseSince: string;
|
|
125
|
+
/** The hub's own attachment to the session socket. */
|
|
126
|
+
attach: BridgeState;
|
|
127
|
+
/** Human-readable cause, present when attach is refused or closed. */
|
|
128
|
+
attachReason?: string;
|
|
129
|
+
pendingMessageCount: number;
|
|
130
|
+
/** False until the first prompt is forwarded; "fresh session · nothing sent yet". */
|
|
131
|
+
everPrompted: boolean;
|
|
132
|
+
/** True while the agent waits on a dialog answer; "waiting for your input". */
|
|
133
|
+
awaitingInput: boolean;
|
|
134
|
+
/** ISO 8601 of the last settled run, once one finished. */
|
|
135
|
+
lastSettledAt?: string;
|
|
136
|
+
/** Omitted when the cwd is not a git repository or git is unavailable. */
|
|
137
|
+
git?: SessionGitStatus;
|
|
138
|
+
/** Selected profile; the icon itself is served by the session avatar route. */
|
|
139
|
+
profile?: SessionProfile;
|
|
140
|
+
/** Signed plugin composition independently resolved for this session. */
|
|
141
|
+
webComposition?: SessionWebComposition;
|
|
142
|
+
/** Signed native composition for this session, when native targets were built. */
|
|
143
|
+
nativeComposition?: SessionNativeComposition;
|
|
144
|
+
/**
|
|
145
|
+
* The session this one was spawned from, recorded by the hub when it opened the session.
|
|
146
|
+
* The rail nests a session under its parent; absent means a top-level row.
|
|
147
|
+
*/
|
|
148
|
+
parentSessionId?: string;
|
|
149
|
+
/**
|
|
150
|
+
* The spawning package's own label for the relationship, such as "worktree".
|
|
151
|
+
* The hub does not interpret it; the rail uses it to pick an affordance.
|
|
152
|
+
*/
|
|
153
|
+
sessionProvenance?: string;
|
|
154
|
+
/** Host reservations awaiting a durable child runtime, not live sessions. */
|
|
155
|
+
pendingSetups?: Array<{
|
|
156
|
+
id: string;
|
|
157
|
+
name: string;
|
|
158
|
+
createdAt: string;
|
|
159
|
+
cwd?: string;
|
|
160
|
+
status?: 'provisioning' | 'failed' | 'interrupted';
|
|
161
|
+
setupKind?: 'managed-worktree' | 'existing-directory';
|
|
162
|
+
errorCode?: 'SESSION_WORKTREE_PROVISION_FAILED' | 'SESSION_UNAVAILABLE';
|
|
163
|
+
}>;
|
|
164
|
+
/**
|
|
165
|
+
* One line an extension published about background work it runs for this
|
|
166
|
+
* session, such as a workflow; the rail shows it in place of the idle copy.
|
|
167
|
+
*/
|
|
168
|
+
activity?: {
|
|
169
|
+
label: string;
|
|
170
|
+
attention?: boolean;
|
|
171
|
+
since?: string;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* The hub recorded this session but has not reopened it since its last
|
|
175
|
+
* restart. Its journal is on disk; nothing is running behind the card until
|
|
176
|
+
* the page asks for it.
|
|
177
|
+
*/
|
|
178
|
+
dormant?: boolean;
|
|
179
|
+
}
|
|
180
|
+
export declare const HUB_HELLO_TYPE = "hub_hello";
|
|
181
|
+
export declare const WORKSPACES_SNAPSHOT_TYPE = "workspaces_snapshot";
|
|
182
|
+
export declare const WORKSPACE_UPSERT_TYPE = "workspace_upsert";
|
|
183
|
+
export declare const WORKSPACE_REMOVED_TYPE = "workspace_removed";
|
|
184
|
+
export declare const SESSIONS_SNAPSHOT_TYPE = "sessions_snapshot";
|
|
185
|
+
export declare const SESSION_UPSERT_TYPE = "session_upsert";
|
|
186
|
+
export declare const SESSION_REMOVED_TYPE = "session_removed";
|
|
187
|
+
export declare const SESSION_BACKLOG_TYPE = "session_backlog";
|
|
188
|
+
export declare const SESSION_FRAME_TYPE = "session_frame";
|
|
189
|
+
/** Hub-synthesized close for an answered dialog; Pi itself never announces one. */
|
|
190
|
+
export declare const DIALOG_ANSWERED_TYPE = "extension_ui_answered";
|
|
191
|
+
/**
|
|
192
|
+
* Sync rebuilt the artifacts this page is running against.
|
|
193
|
+
*
|
|
194
|
+
* The plugin bundle the browser loaded is one of them, and a bundle only
|
|
195
|
+
* changes on disk: nothing about the running page notices. The page reloads
|
|
196
|
+
* itself rather than staying on surfaces the repository no longer describes.
|
|
197
|
+
*/
|
|
198
|
+
export declare const HUB_RESYNCED_TYPE = "hub_resynced";
|
|
199
|
+
/**
|
|
200
|
+
* The custom session entry the Po runtime journals with its minor-mode
|
|
201
|
+
* catalog projection; it arrives inside Pi's entry_appended frames. The shape
|
|
202
|
+
* mirrors MinorModeProjection in po-minor-mode.
|
|
203
|
+
*/
|
|
204
|
+
export declare const MINOR_MODE_ENTRY_TYPE = "doom-minor-modes";
|
|
205
|
+
/**
|
|
206
|
+
* The custom session entry the Po runtime journals when the agent's model
|
|
207
|
+
* changes without a client having asked for it. The shape mirrors
|
|
208
|
+
* AgentModelProjection in po-core.
|
|
209
|
+
*
|
|
210
|
+
* Pi reports a thinking-level switch on the wire, so that field follows from
|
|
211
|
+
* the frame alone. It has no wire event for the model, so plan mode applying
|
|
212
|
+
* its configured planning model would otherwise leave the chip naming the
|
|
213
|
+
* model the session left behind.
|
|
214
|
+
*/
|
|
215
|
+
export declare const AGENT_MODEL_ENTRY_TYPE = "doom-agent-model";
|
|
216
|
+
/**
|
|
217
|
+
* The custom session entry Po journals describing what the session is
|
|
218
|
+
* composed of: which mode admitted each tool and skill, and what each costs.
|
|
219
|
+
*
|
|
220
|
+
* Schemas are deliberately absent. Only names, kinds, owners and integer token
|
|
221
|
+
* counts travel, so republishing the whole composition stays cheap.
|
|
222
|
+
*/
|
|
223
|
+
export declare const CONTEXT_ENTRY_TYPE = "doom-context";
|
|
224
|
+
/**
|
|
225
|
+
* The custom session entry po-profile journals naming the persona the
|
|
226
|
+
* session speaks as. The shape mirrors ProfileIdentityProjection in
|
|
227
|
+
* po-core.
|
|
228
|
+
*
|
|
229
|
+
* Unlike the entries above, this one is transcript rather than projection: it
|
|
230
|
+
* stays in journal order and is never collapsed to the latest record, because a
|
|
231
|
+
* message keeps the persona it was written under. Adding it to
|
|
232
|
+
* PROJECTION_ENTRY_TYPES would repaint the whole transcript on every switch.
|
|
233
|
+
*/
|
|
234
|
+
export declare const PROFILE_IDENTITY_ENTRY_TYPE = "doom-profile-identity";
|
|
235
|
+
/**
|
|
236
|
+
* The custom session entry po-domain journals once Pi has rebuilt its
|
|
237
|
+
* resource catalog for a reload; it mirrors DOOM_RESOURCE_CATALOG_ENTRY_TYPE in
|
|
238
|
+
* po-core.
|
|
239
|
+
*
|
|
240
|
+
* A reload is what changes the skills the composer offers under `$`, and Pi
|
|
241
|
+
* reports nothing else for one, so this entry is the cockpit's only notice that
|
|
242
|
+
* the command list it cached belongs to the previous selection.
|
|
243
|
+
*/
|
|
244
|
+
export declare const RESOURCE_CATALOG_ENTRY_TYPE = "doom-resource-catalog";
|
|
245
|
+
export interface MinorModeActionProjection {
|
|
246
|
+
id: string;
|
|
247
|
+
label: string;
|
|
248
|
+
description: string;
|
|
249
|
+
enabled: boolean;
|
|
250
|
+
disabledReason?: string;
|
|
251
|
+
needsInput: boolean;
|
|
252
|
+
}
|
|
253
|
+
export interface MinorModeRecordProjection {
|
|
254
|
+
id: string;
|
|
255
|
+
label: string;
|
|
256
|
+
description: string;
|
|
257
|
+
order: number;
|
|
258
|
+
activation: 'inactive' | 'activating' | 'active' | 'deactivating';
|
|
259
|
+
condition: string;
|
|
260
|
+
detail?: string;
|
|
261
|
+
actions: MinorModeActionProjection[];
|
|
262
|
+
}
|
|
263
|
+
export interface MinorModeProjection {
|
|
264
|
+
version: 1;
|
|
265
|
+
revision: number;
|
|
266
|
+
modes: MinorModeRecordProjection[];
|
|
267
|
+
}
|
|
268
|
+
export type ContextGroupKind = 'major' | 'minor' | 'domain' | 'core';
|
|
269
|
+
export type ContextItemSource = 'extension' | 'mcp' | 'plugin' | 'core';
|
|
270
|
+
export interface ContextItemProjection {
|
|
271
|
+
name: string;
|
|
272
|
+
itemKind: 'tool' | 'skill';
|
|
273
|
+
source: ContextItemSource;
|
|
274
|
+
owner: string;
|
|
275
|
+
tokens: number;
|
|
276
|
+
active: boolean;
|
|
277
|
+
}
|
|
278
|
+
export interface ContextGroupProjection {
|
|
279
|
+
id: string;
|
|
280
|
+
label: string;
|
|
281
|
+
kind: ContextGroupKind;
|
|
282
|
+
items: ContextItemProjection[];
|
|
283
|
+
/** What the group costs now: active items only. */
|
|
284
|
+
tokens: number;
|
|
285
|
+
/** What its gated items would add if switched on. */
|
|
286
|
+
inactiveTokens: number;
|
|
287
|
+
}
|
|
288
|
+
export interface ContextProjection {
|
|
289
|
+
version: 1;
|
|
290
|
+
revision: number;
|
|
291
|
+
selection?: {
|
|
292
|
+
majorMode: string;
|
|
293
|
+
domains: string[];
|
|
294
|
+
profile?: string;
|
|
295
|
+
};
|
|
296
|
+
groups: ContextGroupProjection[];
|
|
297
|
+
totalTokens: number;
|
|
298
|
+
inactiveTokens: number;
|
|
299
|
+
/**
|
|
300
|
+
* What the assembled system prompt costs, deliberately outside the groups.
|
|
301
|
+
*
|
|
302
|
+
* Every tool's prose and every skill's listing already count inside
|
|
303
|
+
* `totalTokens`, and those are slices of this same text, so the two figures
|
|
304
|
+
* overlap and must not be added. `stage` is `base` when the session has sent
|
|
305
|
+
* nothing yet and the prompt shown is the one before packages patch it.
|
|
306
|
+
*/
|
|
307
|
+
systemPrompt?: {
|
|
308
|
+
tokens: number;
|
|
309
|
+
stage: 'base' | 'effective';
|
|
310
|
+
};
|
|
311
|
+
/** Names the tokenizer, because the figures are indicative, not billed. */
|
|
312
|
+
estimator: string;
|
|
313
|
+
}
|
|
314
|
+
export declare const SUBSCRIBE_TYPE = "subscribe";
|
|
315
|
+
export declare const UNSUBSCRIBE_TYPE = "unsubscribe";
|
|
316
|
+
export declare const SESSION_COMMAND_TYPE = "session_command";
|
|
317
|
+
/** A page follows one thread of a session: a journal a plugin's hub source names, such as a subagent run. */
|
|
318
|
+
export declare const SUBSCRIBE_THREAD_TYPE = "subscribe_thread";
|
|
319
|
+
export declare const UNSUBSCRIBE_THREAD_TYPE = "unsubscribe_thread";
|
|
320
|
+
export declare const THREAD_BACKLOG_TYPE = "thread_backlog";
|
|
321
|
+
export declare const THREAD_FRAME_TYPE = "thread_frame";
|
|
322
|
+
/** A page asks for the transcript before what it already holds. */
|
|
323
|
+
export declare const HISTORY_REQUEST_TYPE = "history_request";
|
|
324
|
+
/** One older window, oldest first, answering a history_request. */
|
|
325
|
+
export declare const HISTORY_PAGE_TYPE = "history_page";
|
|
326
|
+
/**
|
|
327
|
+
* How many journalled messages one page carries. Small enough that prepending
|
|
328
|
+
* a window never blocks the reader's scroll, large enough that a flick through
|
|
329
|
+
* a long transcript does not turn into a hundred round trips.
|
|
330
|
+
*/
|
|
331
|
+
export declare const HISTORY_PAGE_SIZE = 100;
|
|
332
|
+
export interface HistoryRequestFrame {
|
|
333
|
+
type: typeof HISTORY_REQUEST_TYPE;
|
|
334
|
+
sessionId: string;
|
|
335
|
+
/** Journal id of the oldest entry the page holds; absent asks for the newest window. */
|
|
336
|
+
before?: string;
|
|
337
|
+
limit?: number;
|
|
338
|
+
}
|
|
339
|
+
export interface HistoryPageFrame {
|
|
340
|
+
type: typeof HISTORY_PAGE_TYPE;
|
|
341
|
+
sessionId: string;
|
|
342
|
+
/** Entry frames, oldest first, to prepend above what the page holds. */
|
|
343
|
+
frames: Record<string, unknown>[];
|
|
344
|
+
/** The cursor for the next older window; null when the transcript starts here. */
|
|
345
|
+
cursor: string | null;
|
|
346
|
+
/** Whether anything older than this window exists. */
|
|
347
|
+
hasMore: boolean;
|
|
348
|
+
/** Echoed so a page can drop an answer to a question it has since abandoned. */
|
|
349
|
+
before?: string;
|
|
350
|
+
}
|
|
351
|
+
/** First frame on every page socket, before the snapshot. */
|
|
352
|
+
export interface HubHelloFrame {
|
|
353
|
+
type: typeof HUB_HELLO_TYPE;
|
|
354
|
+
protocol: number;
|
|
355
|
+
/** Frame types of the hub's loaded data channels; lets a panel tell "plugin server not installed" from "no data". */
|
|
356
|
+
channels: string[];
|
|
357
|
+
}
|
|
358
|
+
export interface WorkspacesSnapshotFrame {
|
|
359
|
+
type: typeof WORKSPACES_SNAPSHOT_TYPE;
|
|
360
|
+
workspaces: WorkspaceSummary[];
|
|
361
|
+
}
|
|
362
|
+
export interface WorkspaceUpsertFrame {
|
|
363
|
+
type: typeof WORKSPACE_UPSERT_TYPE;
|
|
364
|
+
workspace: WorkspaceSummary;
|
|
365
|
+
}
|
|
366
|
+
export interface WorkspaceRemovedFrame {
|
|
367
|
+
type: typeof WORKSPACE_REMOVED_TYPE;
|
|
368
|
+
workspaceId: string;
|
|
369
|
+
}
|
|
370
|
+
export interface SessionsSnapshotFrame {
|
|
371
|
+
type: typeof SESSIONS_SNAPSHOT_TYPE;
|
|
372
|
+
sessions: SessionSummary[];
|
|
373
|
+
}
|
|
374
|
+
export interface SessionUpsertFrame {
|
|
375
|
+
type: typeof SESSION_UPSERT_TYPE;
|
|
376
|
+
session: SessionSummary;
|
|
377
|
+
}
|
|
378
|
+
export interface SessionRemovedFrame {
|
|
379
|
+
type: typeof SESSION_REMOVED_TYPE;
|
|
380
|
+
sessionId: string;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Reply to subscribe: this session's latest status and widget projections first,
|
|
384
|
+
* then its bounded transient history. Live frames follow.
|
|
385
|
+
*/
|
|
386
|
+
export interface SessionBacklogFrame {
|
|
387
|
+
type: typeof SESSION_BACKLOG_TYPE;
|
|
388
|
+
sessionId: string;
|
|
389
|
+
frames: SessionFrame[];
|
|
390
|
+
/** Transient frames the bounded ring discarded; projections do not contribute. */
|
|
391
|
+
dropped: number;
|
|
392
|
+
}
|
|
393
|
+
/** One live agent frame, addressed to subscribers of its session. */
|
|
394
|
+
export interface SessionFrameEnvelope {
|
|
395
|
+
type: typeof SESSION_FRAME_TYPE;
|
|
396
|
+
sessionId: string;
|
|
397
|
+
frame: SessionFrame;
|
|
398
|
+
}
|
|
399
|
+
export interface SubscribeFrame {
|
|
400
|
+
type: typeof SUBSCRIBE_TYPE;
|
|
401
|
+
sessionId: string;
|
|
402
|
+
}
|
|
403
|
+
export interface UnsubscribeFrame {
|
|
404
|
+
type: typeof UNSUBSCRIBE_TYPE;
|
|
405
|
+
sessionId: string;
|
|
406
|
+
}
|
|
407
|
+
/** One command frame from the page, addressed to a session's agent. */
|
|
408
|
+
export interface SessionCommandFrame {
|
|
409
|
+
type: typeof SESSION_COMMAND_TYPE;
|
|
410
|
+
sessionId: string;
|
|
411
|
+
frame: SessionFrame;
|
|
412
|
+
}
|
|
413
|
+
export declare function hubHello(channels: string[]): HubHelloFrame;
|
|
414
|
+
export declare function sessionFrameEnvelope(sessionId: string, frame: SessionFrame): SessionFrameEnvelope;
|
|
415
|
+
export declare function sessionCommand(sessionId: string, frame: SessionFrame): SessionCommandFrame;
|
|
416
|
+
export declare function subscribeFrame(sessionId: string): SubscribeFrame;
|
|
417
|
+
export declare function unsubscribeFrame(sessionId: string): UnsubscribeFrame;
|
|
418
|
+
export interface SubscribeThreadFrame {
|
|
419
|
+
type: typeof SUBSCRIBE_THREAD_TYPE;
|
|
420
|
+
sessionId: string;
|
|
421
|
+
threadId: string;
|
|
422
|
+
}
|
|
423
|
+
export interface UnsubscribeThreadFrame {
|
|
424
|
+
type: typeof UNSUBSCRIBE_THREAD_TYPE;
|
|
425
|
+
sessionId: string;
|
|
426
|
+
threadId: string;
|
|
427
|
+
}
|
|
428
|
+
/** Reply to subscribe_thread: the journal's newest entries as entry_appended frames, then live ones follow. */
|
|
429
|
+
export interface ThreadBacklogFrame {
|
|
430
|
+
type: typeof THREAD_BACKLOG_TYPE;
|
|
431
|
+
sessionId: string;
|
|
432
|
+
threadId: string;
|
|
433
|
+
frames: SessionFrame[];
|
|
434
|
+
}
|
|
435
|
+
/** One journal entry a followed thread gained, addressed to the pages following it. */
|
|
436
|
+
export interface ThreadFrameEnvelope {
|
|
437
|
+
type: typeof THREAD_FRAME_TYPE;
|
|
438
|
+
sessionId: string;
|
|
439
|
+
threadId: string;
|
|
440
|
+
frame: SessionFrame;
|
|
441
|
+
}
|
|
442
|
+
export declare function subscribeThreadFrame(sessionId: string, threadId: string): SubscribeThreadFrame;
|
|
443
|
+
export declare function unsubscribeThreadFrame(sessionId: string, threadId: string): UnsubscribeThreadFrame;
|
|
444
|
+
export declare function threadBacklog(sessionId: string, threadId: string, frames: SessionFrame[]): ThreadBacklogFrame;
|
|
445
|
+
export declare function threadFrameEnvelope(sessionId: string, threadId: string, frame: SessionFrame): ThreadFrameEnvelope;
|
|
446
|
+
//#endregion
|
|
447
|
+
//# sourceMappingURL=hub.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub.d.mts","names":[],"sources":["../../src/types/hub.ts"],"mappings":";;;;;;;;;;qBAUa;;qBAGA;;qBAGA;;qBAGA;;iBAGI;EACf;EACA;;EAEA;;EAEA;EACA;;;iBAIe;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;;qBAQW;;qBAGA;;iBAGI;EACf;EACA;EACA;;;;;;qBAOW;;YAGD;iBAEK;EACf;EACA;;EAEA;;iBAGe;EACf;;EAEA;;;iBAIe;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;EAKA;;;iBAIe;;EAEf;EACA;;EAEA;EACA;EACA;;EAEA;EACA;;EAEA;;;;;iBAMe;EACf;EACA;EACA;EACA;;EAEA;;EAEA;EACA,OAAO;;EAEP;;EAEA,QAAQ;;EAER;EACA;;EAEA;;EAEA;;EAEA;;EAEA,MAAM;;EAEN,UAAU;;EAEV,iBAAiB;;EAEjB,oBAAoB;;;;;EAKpB;;;;;EAKA;;EAEA,gBAAgB;IACd;IACA;IACA;IACA;IACA;IACA;IACA;;;;;;EAMF;IAAa;IAAe;IAAqB;;;;;;;EAMjD;;qBAGW;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;;qBAEA;;;;;;;;qBAQA;;;;;;qBAOA;;;;;;;;;;;qBAYA;;;;;;;;qBAQA;;;;;;;;;;;qBAYA;;;;;;;;;;qBAUA;iBACI;EACf;EACA;EACA;EACA;EACA;EACA;;iBAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;;iBAGM;EACf;EACA;EACA,OAAO;;YAGG;YACA;iBAEK;EACf;EACA;EACA,QAAQ;EACR;EACA;EACA;;iBAGe;EACf;EACA;EACA,MAAM;EACN,OAAO;;EAEP;;EAEA;;iBAGe;EACf;EACA;EACA;IAAc;IAAmB;IAAmB;;EACpD,QAAQ;EACR;EACA;;;;;;;;;EASA;IAAiB;IAAgB;;;EAEjC;;qBAEW;qBACA;qBACA;;qBAEA;qBACA;qBACA;qBACA;;qBAGA;;qBAEA;;;;;;qBAOA;iBAEI;EACf,aAAa;EACb;;EAEA;EACA;;iBAGe;EACf,aAAa;EACb;;EAEA,QAAQ;;EAER;;EAEA;;EAEA;;;iBAIe;EACf,aAAa;EACb;;EAEA;;iBAGe;EACf,aAAa;EACb,YAAY;;iBAGG;EACf,aAAa;EACb,WAAW;;iBAGI;EACf,aAAa;EACb;;iBAGe;EACf,aAAa;EACb,UAAU;;iBAGK;EACf,aAAa;EACb,SAAS;;iBAGM;EACf,aAAa;EACb;;;;;;iBAOe;EACf,aAAa;EACb;EACA,QAAQ;;EAER;;;iBAIe;EACf,aAAa;EACb;EACA,OAAO;;iBAGQ;EACf,aAAa;EACb;;iBAGe;EACf,aAAa;EACb;;;iBAIe;EACf,aAAa;EACb;EACA,OAAO;;wBAGO,SAAS,qBAAqB;wBAI9B,qBAAqB,mBAAmB,OAAO,eAAe;wBAI9D,eAAe,mBAAmB,OAAO,eAAe;wBAIxD,eAAe,oBAAoB;wBAInC,iBAAiB,oBAAoB;iBAIpC;EACf,aAAa;EACb;EACA;;iBAGe;EACf,aAAa;EACb;EACA;;;iBAIe;EACf,aAAa;EACb;EACA;EACA,QAAQ;;;iBAIO;EACf,aAAa;EACb;EACA;EACA,OAAO;;wBAGO,qBAAqB,mBAAmB,mBAAmB;wBAI3D,uBAAuB,mBAAmB,mBAAmB;wBAI7D,cAAc,mBAAmB,kBAAkB,QAAQ,iBAAiB;wBAI5E,oBAAoB,mBAAmB,kBAAkB,OAAO,eAAe"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
//#region src/types/hub.ts
|
|
2
|
+
/**
|
|
3
|
+
* Wire vocabulary between the hub and its pages.
|
|
4
|
+
*
|
|
5
|
+
* One WebSocket carries every session: hub-level frames describe the set of
|
|
6
|
+
* sessions, and session-scoped traffic travels enveloped with the session id.
|
|
7
|
+
* Field naming follows @earendil-works/pi-protocol so a future swap to the
|
|
8
|
+
* upstream session server stays a transport change, not a rename.
|
|
9
|
+
*/
|
|
10
|
+
const HUB_PROTOCOL_VERSION = 2;
|
|
11
|
+
/** Role marker in the health payload; po-server probes for it before binding the port. */
|
|
12
|
+
const HUB_ROLE = "hub";
|
|
13
|
+
/** REST endpoint for admitting and listing durable workspaces. */
|
|
14
|
+
const WORKSPACES_API_ROUTE = "/api/workspaces";
|
|
15
|
+
/** REST endpoint for creating sessions and browsing resumable Pi history. */
|
|
16
|
+
const SESSIONS_API_ROUTE = "/api/workspaces/:workspaceId/sessions";
|
|
17
|
+
/**
|
|
18
|
+
* REST endpoint behind the new-session directory picker; the page sends the
|
|
19
|
+
* typed path as ?q= and receives {directories}: the children of the parent
|
|
20
|
+
* directory whose names match the trailing segment as a regular expression.
|
|
21
|
+
*/
|
|
22
|
+
const DIRECTORIES_API_ROUTE = "/api/directories";
|
|
23
|
+
/** Lists the visible child folders of ?path= (home when absent) for the workspace folder browser. */
|
|
24
|
+
const DIRECTORY_CHILDREN_API_ROUTE = "/api/directories/children";
|
|
25
|
+
/**
|
|
26
|
+
* Query parameter that routes a package API request to one session's server.
|
|
27
|
+
* Without it the request is answered by a hub-scoped API in this process.
|
|
28
|
+
*/
|
|
29
|
+
const API_SESSION_QUERY_PARAM = "session";
|
|
30
|
+
const HUB_HELLO_TYPE = "hub_hello";
|
|
31
|
+
const WORKSPACES_SNAPSHOT_TYPE = "workspaces_snapshot";
|
|
32
|
+
const WORKSPACE_UPSERT_TYPE = "workspace_upsert";
|
|
33
|
+
const WORKSPACE_REMOVED_TYPE = "workspace_removed";
|
|
34
|
+
const SESSIONS_SNAPSHOT_TYPE = "sessions_snapshot";
|
|
35
|
+
const SESSION_UPSERT_TYPE = "session_upsert";
|
|
36
|
+
const SESSION_REMOVED_TYPE = "session_removed";
|
|
37
|
+
const SESSION_BACKLOG_TYPE = "session_backlog";
|
|
38
|
+
const SESSION_FRAME_TYPE = "session_frame";
|
|
39
|
+
/** Hub-synthesized close for an answered dialog; Pi itself never announces one. */
|
|
40
|
+
const DIALOG_ANSWERED_TYPE = "extension_ui_answered";
|
|
41
|
+
/**
|
|
42
|
+
* Sync rebuilt the artifacts this page is running against.
|
|
43
|
+
*
|
|
44
|
+
* The plugin bundle the browser loaded is one of them, and a bundle only
|
|
45
|
+
* changes on disk: nothing about the running page notices. The page reloads
|
|
46
|
+
* itself rather than staying on surfaces the repository no longer describes.
|
|
47
|
+
*/
|
|
48
|
+
const HUB_RESYNCED_TYPE = "hub_resynced";
|
|
49
|
+
/**
|
|
50
|
+
* The custom session entry the Po runtime journals with its minor-mode
|
|
51
|
+
* catalog projection; it arrives inside Pi's entry_appended frames. The shape
|
|
52
|
+
* mirrors MinorModeProjection in po-minor-mode.
|
|
53
|
+
*/
|
|
54
|
+
const MINOR_MODE_ENTRY_TYPE = "doom-minor-modes";
|
|
55
|
+
/**
|
|
56
|
+
* The custom session entry the Po runtime journals when the agent's model
|
|
57
|
+
* changes without a client having asked for it. The shape mirrors
|
|
58
|
+
* AgentModelProjection in po-core.
|
|
59
|
+
*
|
|
60
|
+
* Pi reports a thinking-level switch on the wire, so that field follows from
|
|
61
|
+
* the frame alone. It has no wire event for the model, so plan mode applying
|
|
62
|
+
* its configured planning model would otherwise leave the chip naming the
|
|
63
|
+
* model the session left behind.
|
|
64
|
+
*/
|
|
65
|
+
const AGENT_MODEL_ENTRY_TYPE = "doom-agent-model";
|
|
66
|
+
/**
|
|
67
|
+
* The custom session entry Po journals describing what the session is
|
|
68
|
+
* composed of: which mode admitted each tool and skill, and what each costs.
|
|
69
|
+
*
|
|
70
|
+
* Schemas are deliberately absent. Only names, kinds, owners and integer token
|
|
71
|
+
* counts travel, so republishing the whole composition stays cheap.
|
|
72
|
+
*/
|
|
73
|
+
const CONTEXT_ENTRY_TYPE = "doom-context";
|
|
74
|
+
/**
|
|
75
|
+
* The custom session entry po-profile journals naming the persona the
|
|
76
|
+
* session speaks as. The shape mirrors ProfileIdentityProjection in
|
|
77
|
+
* po-core.
|
|
78
|
+
*
|
|
79
|
+
* Unlike the entries above, this one is transcript rather than projection: it
|
|
80
|
+
* stays in journal order and is never collapsed to the latest record, because a
|
|
81
|
+
* message keeps the persona it was written under. Adding it to
|
|
82
|
+
* PROJECTION_ENTRY_TYPES would repaint the whole transcript on every switch.
|
|
83
|
+
*/
|
|
84
|
+
const PROFILE_IDENTITY_ENTRY_TYPE = "doom-profile-identity";
|
|
85
|
+
/**
|
|
86
|
+
* The custom session entry po-domain journals once Pi has rebuilt its
|
|
87
|
+
* resource catalog for a reload; it mirrors DOOM_RESOURCE_CATALOG_ENTRY_TYPE in
|
|
88
|
+
* po-core.
|
|
89
|
+
*
|
|
90
|
+
* A reload is what changes the skills the composer offers under `$`, and Pi
|
|
91
|
+
* reports nothing else for one, so this entry is the cockpit's only notice that
|
|
92
|
+
* the command list it cached belongs to the previous selection.
|
|
93
|
+
*/
|
|
94
|
+
const RESOURCE_CATALOG_ENTRY_TYPE = "doom-resource-catalog";
|
|
95
|
+
const SUBSCRIBE_TYPE = "subscribe";
|
|
96
|
+
const UNSUBSCRIBE_TYPE = "unsubscribe";
|
|
97
|
+
const SESSION_COMMAND_TYPE = "session_command";
|
|
98
|
+
/** A page follows one thread of a session: a journal a plugin's hub source names, such as a subagent run. */
|
|
99
|
+
const SUBSCRIBE_THREAD_TYPE = "subscribe_thread";
|
|
100
|
+
const UNSUBSCRIBE_THREAD_TYPE = "unsubscribe_thread";
|
|
101
|
+
const THREAD_BACKLOG_TYPE = "thread_backlog";
|
|
102
|
+
const THREAD_FRAME_TYPE = "thread_frame";
|
|
103
|
+
/** A page asks for the transcript before what it already holds. */
|
|
104
|
+
const HISTORY_REQUEST_TYPE = "history_request";
|
|
105
|
+
/** One older window, oldest first, answering a history_request. */
|
|
106
|
+
const HISTORY_PAGE_TYPE = "history_page";
|
|
107
|
+
/**
|
|
108
|
+
* How many journalled messages one page carries. Small enough that prepending
|
|
109
|
+
* a window never blocks the reader's scroll, large enough that a flick through
|
|
110
|
+
* a long transcript does not turn into a hundred round trips.
|
|
111
|
+
*/
|
|
112
|
+
const HISTORY_PAGE_SIZE = 100;
|
|
113
|
+
function hubHello(channels) {
|
|
114
|
+
return {
|
|
115
|
+
type: HUB_HELLO_TYPE,
|
|
116
|
+
protocol: 2,
|
|
117
|
+
channels
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function sessionFrameEnvelope(sessionId, frame) {
|
|
121
|
+
return {
|
|
122
|
+
type: SESSION_FRAME_TYPE,
|
|
123
|
+
sessionId,
|
|
124
|
+
frame
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function sessionCommand(sessionId, frame) {
|
|
128
|
+
return {
|
|
129
|
+
type: SESSION_COMMAND_TYPE,
|
|
130
|
+
sessionId,
|
|
131
|
+
frame
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function subscribeFrame(sessionId) {
|
|
135
|
+
return {
|
|
136
|
+
type: SUBSCRIBE_TYPE,
|
|
137
|
+
sessionId
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function unsubscribeFrame(sessionId) {
|
|
141
|
+
return {
|
|
142
|
+
type: UNSUBSCRIBE_TYPE,
|
|
143
|
+
sessionId
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function subscribeThreadFrame(sessionId, threadId) {
|
|
147
|
+
return {
|
|
148
|
+
type: SUBSCRIBE_THREAD_TYPE,
|
|
149
|
+
sessionId,
|
|
150
|
+
threadId
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function unsubscribeThreadFrame(sessionId, threadId) {
|
|
154
|
+
return {
|
|
155
|
+
type: UNSUBSCRIBE_THREAD_TYPE,
|
|
156
|
+
sessionId,
|
|
157
|
+
threadId
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function threadBacklog(sessionId, threadId, frames) {
|
|
161
|
+
return {
|
|
162
|
+
type: THREAD_BACKLOG_TYPE,
|
|
163
|
+
sessionId,
|
|
164
|
+
threadId,
|
|
165
|
+
frames
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function threadFrameEnvelope(sessionId, threadId, frame) {
|
|
169
|
+
return {
|
|
170
|
+
type: THREAD_FRAME_TYPE,
|
|
171
|
+
sessionId,
|
|
172
|
+
threadId,
|
|
173
|
+
frame
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
export { AGENT_MODEL_ENTRY_TYPE, API_SESSION_QUERY_PARAM, CONTEXT_ENTRY_TYPE, DIALOG_ANSWERED_TYPE, DIRECTORIES_API_ROUTE, DIRECTORY_CHILDREN_API_ROUTE, HISTORY_PAGE_SIZE, HISTORY_PAGE_TYPE, HISTORY_REQUEST_TYPE, HUB_HELLO_TYPE, HUB_PROTOCOL_VERSION, HUB_RESYNCED_TYPE, HUB_ROLE, MINOR_MODE_ENTRY_TYPE, PROFILE_IDENTITY_ENTRY_TYPE, RESOURCE_CATALOG_ENTRY_TYPE, SESSIONS_API_ROUTE, SESSIONS_SNAPSHOT_TYPE, SESSION_BACKLOG_TYPE, SESSION_COMMAND_TYPE, SESSION_FRAME_TYPE, SESSION_REMOVED_TYPE, SESSION_UPSERT_TYPE, SUBSCRIBE_THREAD_TYPE, SUBSCRIBE_TYPE, THREAD_BACKLOG_TYPE, THREAD_FRAME_TYPE, UNSUBSCRIBE_THREAD_TYPE, UNSUBSCRIBE_TYPE, WORKSPACES_API_ROUTE, WORKSPACES_SNAPSHOT_TYPE, WORKSPACE_REMOVED_TYPE, WORKSPACE_UPSERT_TYPE, hubHello, sessionCommand, sessionFrameEnvelope, subscribeFrame, subscribeThreadFrame, threadBacklog, threadFrameEnvelope, unsubscribeFrame, unsubscribeThreadFrame };
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=hub.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub.mjs","names":[],"sources":["../../src/types/hub.ts"],"sourcesContent":["import type { BridgeState, SessionFrame } from './session';\n\n/**\n * Wire vocabulary between the hub and its pages.\n *\n * One WebSocket carries every session: hub-level frames describe the set of\n * sessions, and session-scoped traffic travels enveloped with the session id.\n * Field naming follows @earendil-works/pi-protocol so a future swap to the\n * upstream session server stays a transport change, not a rename.\n */\nexport const HUB_PROTOCOL_VERSION = 2;\n\n/** Role marker in the health payload; po-server probes for it before binding the port. */\nexport const HUB_ROLE = 'hub';\n\n/** REST endpoint for admitting and listing durable workspaces. */\nexport const WORKSPACES_API_ROUTE = '/api/workspaces';\n\n/** REST endpoint for creating sessions and browsing resumable Pi history. */\nexport const SESSIONS_API_ROUTE = '/api/workspaces/:workspaceId/sessions';\n\n/** One durable repository workspace shown in the rail, even while it has no sessions. */\nexport interface WorkspaceSummary {\n id: string;\n root: string;\n /** Display name chosen when the workspace was added; the folder basename stands in when absent. */\n name?: string;\n /** A remembered workspace whose root could not be mounted on this server start. */\n available?: boolean;\n error?: string;\n}\n\n/** One inactive Pi thread available to resume in a live session's workspace. */\nexport interface PiSessionHistoryItem {\n id: string;\n name?: string;\n firstMessage: string;\n createdAt: string;\n updatedAt: string;\n messageCount: number;\n}\n\n/**\n * REST endpoint behind the new-session directory picker; the page sends the\n * typed path as ?q= and receives {directories}: the children of the parent\n * directory whose names match the trailing segment as a regular expression.\n */\nexport const DIRECTORIES_API_ROUTE = '/api/directories';\n\n/** Lists the visible child folders of ?path= (home when absent) for the workspace folder browser. */\nexport const DIRECTORY_CHILDREN_API_ROUTE = '/api/directories/children';\n\n/** One folder's visible child directories, as absolute paths. */\nexport interface DirectoryListing {\n path: string;\n parent?: string;\n directories: string[];\n}\n\n/**\n * Query parameter that routes a package API request to one session's server.\n * Without it the request is answered by a hub-scoped API in this process.\n */\nexport const API_SESSION_QUERY_PARAM = 'session';\n\n/** What the agent is doing right now, derived from its frame stream. */\nexport type SessionPhase = 'idle' | 'turn' | 'compaction' | 'retry';\n\nexport interface SessionProfile {\n name: string;\n displayName?: string;\n /** Changes whenever the icon does; absent when the profile has no icon. */\n iconVersion?: string;\n}\n\nexport interface SessionGitStatus {\n branch: string;\n /** True when the working tree has uncommitted changes; rendered as a star. */\n dirty: boolean;\n}\n\n/** One immutable, signed client composition resolved for a session. */\nexport interface SessionWebComposition {\n /** Stable identity of the synchronized root and generation. */\n id: string;\n /** Monotonic signing revision advertised by the manifest. */\n revision: number;\n /** Same-origin signed-manifest route read by the trusted service worker. */\n manifestUrl: string;\n /** Same-origin prefix for the untrusted source bytes verified by the worker. */\n rawAssetBaseUrl: string;\n /** Worker-owned prefix from which the page may execute verified bytes. */\n verifiedAssetBaseUrl: string;\n /** `[slot, entry]` per plugin copy this mount runs, each entry an absolute path below both asset prefixes. */\n pluginEntries: [string, string][];\n /** Absolute paths below both asset prefixes of every file this mount's slots can load. */\n assetPaths: string[];\n /** Absolute paths below both asset prefixes, replaced when this session is focused. */\n stylePaths: string[];\n /** Frame types owned by the matching session-local hub composition. */\n channels: string[];\n /**\n * The slots this mount runs out of a shared build. Absent means the composition\n * holds only this mount's plugins, as in-memory test hosts publish it.\n */\n plugins?: string[];\n}\n\n/** One immutable, signed native composition resolved for a session; read by po-native, ignored by the web. */\nexport interface SessionNativeComposition {\n /** Stable identity of the synchronized root and generation. */\n id: string;\n scope: 'global' | 'workspace' | 'session';\n /** Monotonic signing revision advertised by the manifest. */\n revision: number;\n manifestUrl: string;\n rawAssetBaseUrl: string;\n /** Always `/composition.js`. */\n entryPath: string;\n channels: string[];\n /** The `poNative.pluginId` values resolved for this mount; the shell installs only these. */\n plugins: string[];\n}\n\n/**\n * Everything the rail needs to render one session without subscribing to it.\n */\nexport interface SessionSummary {\n workspaceId?: string;\n id: string;\n name: string;\n cwd: string;\n /** ISO 8601, from the session's registry record. */\n createdAt: string;\n /** ISO 8601, bumped whenever the session's frame stream moves. */\n updatedAt: string;\n phase: SessionPhase;\n /** ISO 8601 timestamp of the last phase change; drives \"running · 12m\". */\n phaseSince: string;\n /** The hub's own attachment to the session socket. */\n attach: BridgeState;\n /** Human-readable cause, present when attach is refused or closed. */\n attachReason?: string;\n pendingMessageCount: number;\n /** False until the first prompt is forwarded; \"fresh session · nothing sent yet\". */\n everPrompted: boolean;\n /** True while the agent waits on a dialog answer; \"waiting for your input\". */\n awaitingInput: boolean;\n /** ISO 8601 of the last settled run, once one finished. */\n lastSettledAt?: string;\n /** Omitted when the cwd is not a git repository or git is unavailable. */\n git?: SessionGitStatus;\n /** Selected profile; the icon itself is served by the session avatar route. */\n profile?: SessionProfile;\n /** Signed plugin composition independently resolved for this session. */\n webComposition?: SessionWebComposition;\n /** Signed native composition for this session, when native targets were built. */\n nativeComposition?: SessionNativeComposition;\n /**\n * The session this one was spawned from, recorded by the hub when it opened the session.\n * The rail nests a session under its parent; absent means a top-level row.\n */\n parentSessionId?: string;\n /**\n * The spawning package's own label for the relationship, such as \"worktree\".\n * The hub does not interpret it; the rail uses it to pick an affordance.\n */\n sessionProvenance?: string;\n /** Host reservations awaiting a durable child runtime, not live sessions. */\n pendingSetups?: Array<{\n id: string;\n name: string;\n createdAt: string;\n cwd?: string;\n status?: 'provisioning' | 'failed' | 'interrupted';\n setupKind?: 'managed-worktree' | 'existing-directory';\n errorCode?: 'SESSION_WORKTREE_PROVISION_FAILED' | 'SESSION_UNAVAILABLE';\n }>;\n /**\n * One line an extension published about background work it runs for this\n * session, such as a workflow; the rail shows it in place of the idle copy.\n */\n activity?: { label: string; attention?: boolean; since?: string };\n /**\n * The hub recorded this session but has not reopened it since its last\n * restart. Its journal is on disk; nothing is running behind the card until\n * the page asks for it.\n */\n dormant?: boolean;\n}\n\nexport const HUB_HELLO_TYPE = 'hub_hello';\nexport const WORKSPACES_SNAPSHOT_TYPE = 'workspaces_snapshot';\nexport const WORKSPACE_UPSERT_TYPE = 'workspace_upsert';\nexport const WORKSPACE_REMOVED_TYPE = 'workspace_removed';\nexport const SESSIONS_SNAPSHOT_TYPE = 'sessions_snapshot';\nexport const SESSION_UPSERT_TYPE = 'session_upsert';\nexport const SESSION_REMOVED_TYPE = 'session_removed';\nexport const SESSION_BACKLOG_TYPE = 'session_backlog';\nexport const SESSION_FRAME_TYPE = 'session_frame';\n/** Hub-synthesized close for an answered dialog; Pi itself never announces one. */\nexport const DIALOG_ANSWERED_TYPE = 'extension_ui_answered';\n/**\n * Sync rebuilt the artifacts this page is running against.\n *\n * The plugin bundle the browser loaded is one of them, and a bundle only\n * changes on disk: nothing about the running page notices. The page reloads\n * itself rather than staying on surfaces the repository no longer describes.\n */\nexport const HUB_RESYNCED_TYPE = 'hub_resynced';\n\n/**\n * The custom session entry the Po runtime journals with its minor-mode\n * catalog projection; it arrives inside Pi's entry_appended frames. The shape\n * mirrors MinorModeProjection in po-minor-mode.\n */\nexport const MINOR_MODE_ENTRY_TYPE = 'doom-minor-modes';\n\n/**\n * The custom session entry the Po runtime journals when the agent's model\n * changes without a client having asked for it. The shape mirrors\n * AgentModelProjection in po-core.\n *\n * Pi reports a thinking-level switch on the wire, so that field follows from\n * the frame alone. It has no wire event for the model, so plan mode applying\n * its configured planning model would otherwise leave the chip naming the\n * model the session left behind.\n */\nexport const AGENT_MODEL_ENTRY_TYPE = 'doom-agent-model';\n/**\n * The custom session entry Po journals describing what the session is\n * composed of: which mode admitted each tool and skill, and what each costs.\n *\n * Schemas are deliberately absent. Only names, kinds, owners and integer token\n * counts travel, so republishing the whole composition stays cheap.\n */\nexport const CONTEXT_ENTRY_TYPE = 'doom-context';\n\n/**\n * The custom session entry po-profile journals naming the persona the\n * session speaks as. The shape mirrors ProfileIdentityProjection in\n * po-core.\n *\n * Unlike the entries above, this one is transcript rather than projection: it\n * stays in journal order and is never collapsed to the latest record, because a\n * message keeps the persona it was written under. Adding it to\n * PROJECTION_ENTRY_TYPES would repaint the whole transcript on every switch.\n */\nexport const PROFILE_IDENTITY_ENTRY_TYPE = 'doom-profile-identity';\n/**\n * The custom session entry po-domain journals once Pi has rebuilt its\n * resource catalog for a reload; it mirrors DOOM_RESOURCE_CATALOG_ENTRY_TYPE in\n * po-core.\n *\n * A reload is what changes the skills the composer offers under `$`, and Pi\n * reports nothing else for one, so this entry is the cockpit's only notice that\n * the command list it cached belongs to the previous selection.\n */\nexport const RESOURCE_CATALOG_ENTRY_TYPE = 'doom-resource-catalog';\nexport interface MinorModeActionProjection {\n id: string;\n label: string;\n description: string;\n enabled: boolean;\n disabledReason?: string;\n needsInput: boolean;\n}\n\nexport interface MinorModeRecordProjection {\n id: string;\n label: string;\n description: string;\n order: number;\n activation: 'inactive' | 'activating' | 'active' | 'deactivating';\n condition: string;\n detail?: string;\n actions: MinorModeActionProjection[];\n}\n\nexport interface MinorModeProjection {\n version: 1;\n revision: number;\n modes: MinorModeRecordProjection[];\n}\n\nexport type ContextGroupKind = 'major' | 'minor' | 'domain' | 'core';\nexport type ContextItemSource = 'extension' | 'mcp' | 'plugin' | 'core';\n\nexport interface ContextItemProjection {\n name: string;\n itemKind: 'tool' | 'skill';\n source: ContextItemSource;\n owner: string;\n tokens: number;\n active: boolean;\n}\n\nexport interface ContextGroupProjection {\n id: string;\n label: string;\n kind: ContextGroupKind;\n items: ContextItemProjection[];\n /** What the group costs now: active items only. */\n tokens: number;\n /** What its gated items would add if switched on. */\n inactiveTokens: number;\n}\n\nexport interface ContextProjection {\n version: 1;\n revision: number;\n selection?: { majorMode: string; domains: string[]; profile?: string };\n groups: ContextGroupProjection[];\n totalTokens: number;\n inactiveTokens: number;\n /**\n * What the assembled system prompt costs, deliberately outside the groups.\n *\n * Every tool's prose and every skill's listing already count inside\n * `totalTokens`, and those are slices of this same text, so the two figures\n * overlap and must not be added. `stage` is `base` when the session has sent\n * nothing yet and the prompt shown is the one before packages patch it.\n */\n systemPrompt?: { tokens: number; stage: 'base' | 'effective' };\n /** Names the tokenizer, because the figures are indicative, not billed. */\n estimator: string;\n}\nexport const SUBSCRIBE_TYPE = 'subscribe';\nexport const UNSUBSCRIBE_TYPE = 'unsubscribe';\nexport const SESSION_COMMAND_TYPE = 'session_command';\n/** A page follows one thread of a session: a journal a plugin's hub source names, such as a subagent run. */\nexport const SUBSCRIBE_THREAD_TYPE = 'subscribe_thread';\nexport const UNSUBSCRIBE_THREAD_TYPE = 'unsubscribe_thread';\nexport const THREAD_BACKLOG_TYPE = 'thread_backlog';\nexport const THREAD_FRAME_TYPE = 'thread_frame';\n\n/** A page asks for the transcript before what it already holds. */\nexport const HISTORY_REQUEST_TYPE = 'history_request';\n/** One older window, oldest first, answering a history_request. */\nexport const HISTORY_PAGE_TYPE = 'history_page';\n\n/**\n * How many journalled messages one page carries. Small enough that prepending\n * a window never blocks the reader's scroll, large enough that a flick through\n * a long transcript does not turn into a hundred round trips.\n */\nexport const HISTORY_PAGE_SIZE = 100;\n\nexport interface HistoryRequestFrame {\n type: typeof HISTORY_REQUEST_TYPE;\n sessionId: string;\n /** Journal id of the oldest entry the page holds; absent asks for the newest window. */\n before?: string;\n limit?: number;\n}\n\nexport interface HistoryPageFrame {\n type: typeof HISTORY_PAGE_TYPE;\n sessionId: string;\n /** Entry frames, oldest first, to prepend above what the page holds. */\n frames: Record<string, unknown>[];\n /** The cursor for the next older window; null when the transcript starts here. */\n cursor: string | null;\n /** Whether anything older than this window exists. */\n hasMore: boolean;\n /** Echoed so a page can drop an answer to a question it has since abandoned. */\n before?: string;\n}\n\n/** First frame on every page socket, before the snapshot. */\nexport interface HubHelloFrame {\n type: typeof HUB_HELLO_TYPE;\n protocol: number;\n /** Frame types of the hub's loaded data channels; lets a panel tell \"plugin server not installed\" from \"no data\". */\n channels: string[];\n}\n\nexport interface WorkspacesSnapshotFrame {\n type: typeof WORKSPACES_SNAPSHOT_TYPE;\n workspaces: WorkspaceSummary[];\n}\n\nexport interface WorkspaceUpsertFrame {\n type: typeof WORKSPACE_UPSERT_TYPE;\n workspace: WorkspaceSummary;\n}\n\nexport interface WorkspaceRemovedFrame {\n type: typeof WORKSPACE_REMOVED_TYPE;\n workspaceId: string;\n}\n\nexport interface SessionsSnapshotFrame {\n type: typeof SESSIONS_SNAPSHOT_TYPE;\n sessions: SessionSummary[];\n}\n\nexport interface SessionUpsertFrame {\n type: typeof SESSION_UPSERT_TYPE;\n session: SessionSummary;\n}\n\nexport interface SessionRemovedFrame {\n type: typeof SESSION_REMOVED_TYPE;\n sessionId: string;\n}\n\n/**\n * Reply to subscribe: this session's latest status and widget projections first,\n * then its bounded transient history. Live frames follow.\n */\nexport interface SessionBacklogFrame {\n type: typeof SESSION_BACKLOG_TYPE;\n sessionId: string;\n frames: SessionFrame[];\n /** Transient frames the bounded ring discarded; projections do not contribute. */\n dropped: number;\n}\n\n/** One live agent frame, addressed to subscribers of its session. */\nexport interface SessionFrameEnvelope {\n type: typeof SESSION_FRAME_TYPE;\n sessionId: string;\n frame: SessionFrame;\n}\n\nexport interface SubscribeFrame {\n type: typeof SUBSCRIBE_TYPE;\n sessionId: string;\n}\n\nexport interface UnsubscribeFrame {\n type: typeof UNSUBSCRIBE_TYPE;\n sessionId: string;\n}\n\n/** One command frame from the page, addressed to a session's agent. */\nexport interface SessionCommandFrame {\n type: typeof SESSION_COMMAND_TYPE;\n sessionId: string;\n frame: SessionFrame;\n}\n\nexport function hubHello(channels: string[]): HubHelloFrame {\n return { type: HUB_HELLO_TYPE, protocol: HUB_PROTOCOL_VERSION, channels };\n}\n\nexport function sessionFrameEnvelope(sessionId: string, frame: SessionFrame): SessionFrameEnvelope {\n return { type: SESSION_FRAME_TYPE, sessionId, frame };\n}\n\nexport function sessionCommand(sessionId: string, frame: SessionFrame): SessionCommandFrame {\n return { type: SESSION_COMMAND_TYPE, sessionId, frame };\n}\n\nexport function subscribeFrame(sessionId: string): SubscribeFrame {\n return { type: SUBSCRIBE_TYPE, sessionId };\n}\n\nexport function unsubscribeFrame(sessionId: string): UnsubscribeFrame {\n return { type: UNSUBSCRIBE_TYPE, sessionId };\n}\n\nexport interface SubscribeThreadFrame {\n type: typeof SUBSCRIBE_THREAD_TYPE;\n sessionId: string;\n threadId: string;\n}\n\nexport interface UnsubscribeThreadFrame {\n type: typeof UNSUBSCRIBE_THREAD_TYPE;\n sessionId: string;\n threadId: string;\n}\n\n/** Reply to subscribe_thread: the journal's newest entries as entry_appended frames, then live ones follow. */\nexport interface ThreadBacklogFrame {\n type: typeof THREAD_BACKLOG_TYPE;\n sessionId: string;\n threadId: string;\n frames: SessionFrame[];\n}\n\n/** One journal entry a followed thread gained, addressed to the pages following it. */\nexport interface ThreadFrameEnvelope {\n type: typeof THREAD_FRAME_TYPE;\n sessionId: string;\n threadId: string;\n frame: SessionFrame;\n}\n\nexport function subscribeThreadFrame(sessionId: string, threadId: string): SubscribeThreadFrame {\n return { type: SUBSCRIBE_THREAD_TYPE, sessionId, threadId };\n}\n\nexport function unsubscribeThreadFrame(sessionId: string, threadId: string): UnsubscribeThreadFrame {\n return { type: UNSUBSCRIBE_THREAD_TYPE, sessionId, threadId };\n}\n\nexport function threadBacklog(sessionId: string, threadId: string, frames: SessionFrame[]): ThreadBacklogFrame {\n return { type: THREAD_BACKLOG_TYPE, sessionId, threadId, frames };\n}\n\nexport function threadFrameEnvelope(sessionId: string, threadId: string, frame: SessionFrame): ThreadFrameEnvelope {\n return { type: THREAD_FRAME_TYPE, sessionId, threadId, frame };\n}\n"],"mappings":";;;;;;;;;AAUA,MAAa,uBAAuB;;AAGpC,MAAa,WAAW;;AAGxB,MAAa,uBAAuB;;AAGpC,MAAa,qBAAqB;;;;;;AA4BlC,MAAa,wBAAwB;;AAGrC,MAAa,+BAA+B;;;;;AAa5C,MAAa,0BAA0B;AAgIvC,MAAa,iBAAiB;AAC9B,MAAa,2BAA2B;AACxC,MAAa,wBAAwB;AACrC,MAAa,yBAAyB;AACtC,MAAa,yBAAyB;AACtC,MAAa,sBAAsB;AACnC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;;AAElC,MAAa,uBAAuB;;;;;;;;AAQpC,MAAa,oBAAoB;;;;;;AAOjC,MAAa,wBAAwB;;;;;;;;;;;AAYrC,MAAa,yBAAyB;;;;;;;;AAQtC,MAAa,qBAAqB;;;;;;;;;;;AAYlC,MAAa,8BAA8B;;;;;;;;;;AAU3C,MAAa,8BAA8B;AAqE3C,MAAa,iBAAiB;AAC9B,MAAa,mBAAmB;AAChC,MAAa,uBAAuB;;AAEpC,MAAa,wBAAwB;AACrC,MAAa,0BAA0B;AACvC,MAAa,sBAAsB;AACnC,MAAa,oBAAoB;;AAGjC,MAAa,uBAAuB;;AAEpC,MAAa,oBAAoB;;;;;;AAOjC,MAAa,oBAAoB;AAiGjC,SAAgB,SAAS,UAAmC;CAC1D,OAAO;EAAE,MAAM;EAAgB,UAAA;EAAgC;CAAS;AAC1E;AAEA,SAAgB,qBAAqB,WAAmB,OAA2C;CACjG,OAAO;EAAE,MAAM;EAAoB;EAAW;CAAM;AACtD;AAEA,SAAgB,eAAe,WAAmB,OAA0C;CAC1F,OAAO;EAAE,MAAM;EAAsB;EAAW;CAAM;AACxD;AAEA,SAAgB,eAAe,WAAmC;CAChE,OAAO;EAAE,MAAM;EAAgB;CAAU;AAC3C;AAEA,SAAgB,iBAAiB,WAAqC;CACpE,OAAO;EAAE,MAAM;EAAkB;CAAU;AAC7C;AA8BA,SAAgB,qBAAqB,WAAmB,UAAwC;CAC9F,OAAO;EAAE,MAAM;EAAuB;EAAW;CAAS;AAC5D;AAEA,SAAgB,uBAAuB,WAAmB,UAA0C;CAClG,OAAO;EAAE,MAAM;EAAyB;EAAW;CAAS;AAC9D;AAEA,SAAgB,cAAc,WAAmB,UAAkB,QAA4C;CAC7G,OAAO;EAAE,MAAM;EAAqB;EAAW;EAAU;CAAO;AAClE;AAEA,SAAgB,oBAAoB,WAAmB,UAAkB,OAA0C;CACjH,OAAO;EAAE,MAAM;EAAmB;EAAW;EAAU;CAAM;AAC/D"}
|