@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,93 @@
|
|
|
1
|
+
import { addPasskey, newPairingCode, remoteAccessStore } from "../../stores/remoteAccessStore.mjs";
|
|
2
|
+
import { QrCode } from "../../components/QrCode.mjs";
|
|
3
|
+
import { PairedDeviceList } from "./PairedDeviceList.mjs";
|
|
4
|
+
import { useStore } from "@tanstack/react-store";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { Button, SectionLabel, Spinner } from "@agimon-ai/po-web-components";
|
|
7
|
+
//#region src/web/features/remote/RemoteAccessPairing.tsx
|
|
8
|
+
/** The QR credential, a short manual code, and the direct address. */
|
|
9
|
+
function RemoteAccessPairing() {
|
|
10
|
+
const state = useStore(remoteAccessStore);
|
|
11
|
+
if (state.pairUrl === void 0 || state.pairCode === void 0 || state.pairFingerprint === void 0) return /* @__PURE__ */ jsx(Spinner, {});
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
13
|
+
className: "flex flex-col items-center gap-4",
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx("div", {
|
|
16
|
+
className: "rounded-lg bg-doom-hi p-3 text-doom-deep",
|
|
17
|
+
children: /* @__PURE__ */ jsx(QrCode, {
|
|
18
|
+
value: state.pairUrl,
|
|
19
|
+
size: 288,
|
|
20
|
+
label: "Scan to pair this device"
|
|
21
|
+
})
|
|
22
|
+
}),
|
|
23
|
+
/* @__PURE__ */ jsxs("div", {
|
|
24
|
+
className: "flex w-full flex-col gap-1",
|
|
25
|
+
children: [/* @__PURE__ */ jsx(SectionLabel, { children: "or enter this pairing code" }), /* @__PURE__ */ jsx("code", {
|
|
26
|
+
"data-testid": "remote-pair-code",
|
|
27
|
+
className: "rounded bg-doom-deep p-2 text-center font-mono text-lg tracking-widest text-doom-text",
|
|
28
|
+
children: state.pairCode
|
|
29
|
+
})]
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: "flex w-full flex-col gap-1",
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(SectionLabel, { children: "signing-key fingerprint" }),
|
|
35
|
+
/* @__PURE__ */ jsx("code", {
|
|
36
|
+
"data-testid": "remote-signing-fingerprint",
|
|
37
|
+
className: "break-all rounded bg-doom-deep p-2 text-center font-mono text-sm text-doom-text",
|
|
38
|
+
children: state.pairFingerprint.match(/.{1,8}/gu)?.join(" ") ?? state.pairFingerprint
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ jsxs("p", {
|
|
41
|
+
className: "text-sm text-doom-dim",
|
|
42
|
+
children: [
|
|
43
|
+
"Compare this on the phone when entering the manual code. Bundle revision ",
|
|
44
|
+
String(state.pairRevision),
|
|
45
|
+
"."
|
|
46
|
+
]
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ jsxs("div", {
|
|
51
|
+
className: "flex w-full flex-col gap-1",
|
|
52
|
+
children: [/* @__PURE__ */ jsx(SectionLabel, { children: "or open this address" }), /* @__PURE__ */ jsx("code", {
|
|
53
|
+
"data-testid": "remote-pair-url",
|
|
54
|
+
className: "break-all rounded bg-doom-deep p-2 text-sm text-doom-dim",
|
|
55
|
+
children: state.pairUrl
|
|
56
|
+
})]
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ jsx(Button, {
|
|
59
|
+
variant: "ghost",
|
|
60
|
+
size: "sm",
|
|
61
|
+
"data-testid": "remote-new-code",
|
|
62
|
+
onClick: () => void newPairingCode(),
|
|
63
|
+
children: "show a new code"
|
|
64
|
+
}),
|
|
65
|
+
state.passkeys?.supported === true ? /* @__PURE__ */ jsxs("div", {
|
|
66
|
+
className: "flex w-full flex-col gap-1.5 border-t border-doom-border pt-3",
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsx(SectionLabel, { children: "passkeys" }),
|
|
69
|
+
/* @__PURE__ */ jsx("p", {
|
|
70
|
+
className: "text-sm text-doom-dim",
|
|
71
|
+
children: state.passkeys.count === 0 ? "Add one on the device you just paired and it will not need the code again." : `${String(state.passkeys.count)} registered. A paired device signs in with a gesture instead of a code.`
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ jsx(Button, {
|
|
74
|
+
variant: "outline",
|
|
75
|
+
size: "sm",
|
|
76
|
+
"data-testid": "remote-add-passkey",
|
|
77
|
+
onClick: () => void addPasskey(),
|
|
78
|
+
children: "add a passkey for this device"
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
}) : state.passkeys?.reason === void 0 ? null : /* @__PURE__ */ jsx("p", {
|
|
82
|
+
"data-testid": "remote-passkey-unavailable",
|
|
83
|
+
className: "w-full text-sm text-doom-dim",
|
|
84
|
+
children: state.passkeys.reason
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ jsx(PairedDeviceList, {})
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { RemoteAccessPairing };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=RemoteAccessPairing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteAccessPairing.mjs","names":[],"sources":["../../../../src/web/features/remote/RemoteAccessPairing.tsx"],"sourcesContent":["import { Button, SectionLabel, Spinner } from '@agimon-ai/po-web-components';\nimport { useStore } from '@tanstack/react-store';\n\nimport { QrCode } from '../../components/QrCode';\nimport { addPasskey, newPairingCode, remoteAccessStore } from '../../stores/remoteAccessStore';\nimport { PairedDeviceList } from './PairedDeviceList';\n\n/** The QR credential, a short manual code, and the direct address. */\nexport function RemoteAccessPairing() {\n const state = useStore(remoteAccessStore);\n if (state.pairUrl === undefined || state.pairCode === undefined || state.pairFingerprint === undefined)\n return <Spinner />;\n\n return (\n <div className=\"flex flex-col items-center gap-4\">\n {/* A light plate under the code: scanners want dark modules on a bright\n field, which is the one thing a dark theme cannot supply. */}\n <div className=\"rounded-lg bg-doom-hi p-3 text-doom-deep\">\n <QrCode value={state.pairUrl} size={288} label=\"Scan to pair this device\" />\n </div>\n <div className=\"flex w-full flex-col gap-1\">\n <SectionLabel>or enter this pairing code</SectionLabel>\n <code\n data-testid=\"remote-pair-code\"\n className=\"rounded bg-doom-deep p-2 text-center font-mono text-lg tracking-widest text-doom-text\"\n >\n {state.pairCode}\n </code>\n </div>\n <div className=\"flex w-full flex-col gap-1\">\n <SectionLabel>signing-key fingerprint</SectionLabel>\n <code\n data-testid=\"remote-signing-fingerprint\"\n className=\"break-all rounded bg-doom-deep p-2 text-center font-mono text-sm text-doom-text\"\n >\n {state.pairFingerprint.match(/.{1,8}/gu)?.join(' ') ?? state.pairFingerprint}\n </code>\n <p className=\"text-sm text-doom-dim\">\n Compare this on the phone when entering the manual code. Bundle revision {String(state.pairRevision)}.\n </p>\n </div>\n <div className=\"flex w-full flex-col gap-1\">\n <SectionLabel>or open this address</SectionLabel>\n <code data-testid=\"remote-pair-url\" className=\"break-all rounded bg-doom-deep p-2 text-sm text-doom-dim\">\n {state.pairUrl}\n </code>\n </div>\n <Button variant=\"ghost\" size=\"sm\" data-testid=\"remote-new-code\" onClick={() => void newPairingCode()}>\n show a new code\n </Button>\n\n {/* Enrolling a passkey turns every later visit into one Face ID instead\n of another scan, and it is what puts a second factor in front of the\n two actions that escalate past driving the agent. */}\n {state.passkeys?.supported === true ? (\n <div className=\"flex w-full flex-col gap-1.5 border-t border-doom-border pt-3\">\n <SectionLabel>passkeys</SectionLabel>\n <p className=\"text-sm text-doom-dim\">\n {state.passkeys.count === 0\n ? 'Add one on the device you just paired and it will not need the code again.'\n : `${String(state.passkeys.count)} registered. A paired device signs in with a gesture instead of a code.`}\n </p>\n <Button variant=\"outline\" size=\"sm\" data-testid=\"remote-add-passkey\" onClick={() => void addPasskey()}>\n add a passkey for this device\n </Button>\n </div>\n ) : state.passkeys?.reason === undefined ? null : (\n <p data-testid=\"remote-passkey-unavailable\" className=\"w-full text-sm text-doom-dim\">\n {state.passkeys.reason}\n </p>\n )}\n\n <PairedDeviceList />\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,sBAAsB;CACpC,MAAM,QAAQ,SAAS,iBAAiB;CACxC,IAAI,MAAM,YAAY,KAAA,KAAa,MAAM,aAAa,KAAA,KAAa,MAAM,oBAAoB,KAAA,GAC3F,OAAO,oBAAC,SAAD,CAAU,CAAA;CAEnB,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GAGE,oBAAC,OAAD;IAAK,WAAU;IACb,UAAA,oBAAC,QAAD;KAAQ,OAAO,MAAM;KAAS,MAAM;KAAK,OAAM;IAA4B,CAAA;GACxE,CAAA;GACL,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,cAAD,EAAA,UAAc,6BAAwC,CAAA,GACtD,oBAAC,QAAD;KACE,eAAY;KACZ,WAAU;KAET,UAAA,MAAM;IACH,CAAA,CACH;;GACL,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA;KACE,oBAAC,cAAD,EAAA,UAAc,0BAAqC,CAAA;KACnD,oBAAC,QAAD;MACE,eAAY;MACZ,WAAU;MAET,UAAA,MAAM,gBAAgB,MAAM,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,MAAM;KACzD,CAAA;KACN,qBAAC,KAAD;MAAG,WAAU;MAAb,UAAA;OAAqC;OACuC,OAAO,MAAM,YAAY;OAAE;MACpG;;IACA;;GACL,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,cAAD,EAAA,UAAc,uBAAkC,CAAA,GAChD,oBAAC,QAAD;KAAM,eAAY;KAAkB,WAAU;KAC3C,UAAA,MAAM;IACH,CAAA,CACH;;GACL,oBAAC,QAAD;IAAQ,SAAQ;IAAQ,MAAK;IAAK,eAAY;IAAkB,eAAe,KAAK,eAAe;IAAG,UAAA;GAE9F,CAAA;GAKP,MAAM,UAAU,cAAc,OAC7B,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA;KACE,oBAAC,cAAD,EAAA,UAAc,WAAsB,CAAA;KACpC,oBAAC,KAAD;MAAG,WAAU;MACV,UAAA,MAAM,SAAS,UAAU,IACtB,+EACA,GAAG,OAAO,MAAM,SAAS,KAAK,EAAE;KACnC,CAAA;KACH,oBAAC,QAAD;MAAQ,SAAQ;MAAU,MAAK;MAAK,eAAY;MAAqB,eAAe,KAAK,WAAW;MAAG,UAAA;KAE/F,CAAA;IACL;GACH,CAAA,IAAA,MAAM,UAAU,WAAW,KAAA,IAAY,OACzC,oBAAC,KAAD;IAAG,eAAY;IAA6B,WAAU;IACnD,UAAA,MAAM,SAAS;GACf,CAAA;GAGL,oBAAC,kBAAD,CAAmB,CAAA;EAChB;;AAET"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const require_remoteAccessStore = require("../../stores/remoteAccessStore.cjs");
|
|
2
|
+
const require_dashboardStateStore = require("../../stores/dashboardStateStore.cjs");
|
|
3
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
let _agimon_ai_po_web_components = require("@agimon-ai/po-web-components");
|
|
5
|
+
//#region src/web/features/remote/SandboxWorkspaces.tsx
|
|
6
|
+
/**
|
|
7
|
+
* The directories the contained cockpit is allowed to see.
|
|
8
|
+
*
|
|
9
|
+
* This list is the boundary, not a convenience. A hub inside the container
|
|
10
|
+
* cannot create a session in a path that is not mounted, so what is not here is
|
|
11
|
+
* unreachable by anything the remote device asks for, including the agent's
|
|
12
|
+
* shell. Editing it therefore reads as a security decision and is spelled out
|
|
13
|
+
* as one.
|
|
14
|
+
*/
|
|
15
|
+
const ABSOLUTE = "/";
|
|
16
|
+
function SandboxWorkspaces({ workspaces }) {
|
|
17
|
+
const [draft, setDraft] = require_dashboardStateStore.useDashboardState("sandbox/draft", "");
|
|
18
|
+
const trimmed = draft.trim();
|
|
19
|
+
const valid = trimmed.startsWith(ABSOLUTE) && !workspaces.includes(trimmed);
|
|
20
|
+
const add = async () => {
|
|
21
|
+
if (!valid) return;
|
|
22
|
+
if (await require_remoteAccessStore.updateRemoteSettings({ sandbox: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
workspaces: [...workspaces, trimmed]
|
|
25
|
+
} })) setDraft((current) => current === draft ? "" : current);
|
|
26
|
+
};
|
|
27
|
+
const remove = (path) => {
|
|
28
|
+
require_remoteAccessStore.updateRemoteSettings({ sandbox: {
|
|
29
|
+
enabled: true,
|
|
30
|
+
workspaces: workspaces.filter((workspace) => workspace !== path)
|
|
31
|
+
} });
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
34
|
+
className: "flex flex-col gap-2 pl-4",
|
|
35
|
+
"data-testid": "sandbox-workspaces",
|
|
36
|
+
children: [
|
|
37
|
+
workspaces.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
38
|
+
className: "text-sm text-doom-dim",
|
|
39
|
+
children: "Nothing is mounted yet, so the container would have no directory to work in. Add at least one."
|
|
40
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
41
|
+
className: "flex flex-col gap-1",
|
|
42
|
+
children: workspaces.map((workspace) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
43
|
+
className: "flex items-center justify-between gap-2",
|
|
44
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
45
|
+
className: "truncate text-sm text-doom-hi",
|
|
46
|
+
children: workspace
|
|
47
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
|
|
48
|
+
variant: "ghost",
|
|
49
|
+
"data-testid": `sandbox-workspace-remove-${workspace}`,
|
|
50
|
+
onClick: () => {
|
|
51
|
+
remove(workspace);
|
|
52
|
+
},
|
|
53
|
+
children: "remove"
|
|
54
|
+
})]
|
|
55
|
+
}, workspace))
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
58
|
+
className: "flex items-center gap-2",
|
|
59
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Input, {
|
|
60
|
+
"data-testid": "sandbox-workspace-input",
|
|
61
|
+
placeholder: "/absolute/path/to/a/repository",
|
|
62
|
+
value: draft,
|
|
63
|
+
onChange: (event) => {
|
|
64
|
+
setDraft(event.target.value);
|
|
65
|
+
},
|
|
66
|
+
onKeyDown: (event) => {
|
|
67
|
+
if (event.key === "Enter") add();
|
|
68
|
+
}
|
|
69
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
|
|
70
|
+
variant: "outline",
|
|
71
|
+
"data-testid": "sandbox-workspace-add",
|
|
72
|
+
disabled: !valid,
|
|
73
|
+
onClick: () => void add(),
|
|
74
|
+
children: "add"
|
|
75
|
+
})]
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
78
|
+
className: "text-sm text-doom-dim",
|
|
79
|
+
children: "Absolute paths only, mounted at the same path inside. Sessions working anywhere else stay on the host and will not appear in the contained cockpit."
|
|
80
|
+
})
|
|
81
|
+
]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
exports.SandboxWorkspaces = SandboxWorkspaces;
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=SandboxWorkspaces.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxWorkspaces.cjs","names":["useDashboardState","updateRemoteSettings","Button","Input"],"sources":["../../../../src/web/features/remote/SandboxWorkspaces.tsx"],"sourcesContent":["import { Button, Input } from '@agimon-ai/po-web-components';\n\nimport { useDashboardState } from '../../stores/dashboardStateStore';\nimport { updateRemoteSettings } from '../../stores/remoteAccessStore';\n\n/**\n * The directories the contained cockpit is allowed to see.\n *\n * This list is the boundary, not a convenience. A hub inside the container\n * cannot create a session in a path that is not mounted, so what is not here is\n * unreachable by anything the remote device asks for, including the agent's\n * shell. Editing it therefore reads as a security decision and is spelled out\n * as one.\n */\n\nconst ABSOLUTE = '/';\n\nexport interface SandboxWorkspacesProps {\n workspaces: readonly string[];\n}\n\nexport function SandboxWorkspaces({ workspaces }: SandboxWorkspacesProps) {\n const [draft, setDraft] = useDashboardState('sandbox/draft', '');\n const trimmed = draft.trim();\n const valid = trimmed.startsWith(ABSOLUTE) && !workspaces.includes(trimmed);\n\n const add = async (): Promise<void> => {\n if (!valid) return;\n if (await updateRemoteSettings({ sandbox: { enabled: true, workspaces: [...workspaces, trimmed] } }))\n setDraft((current) => (current === draft ? '' : current));\n };\n\n const remove = (path: string): void => {\n void updateRemoteSettings({\n sandbox: { enabled: true, workspaces: workspaces.filter((workspace) => workspace !== path) },\n });\n };\n\n return (\n <div className=\"flex flex-col gap-2 pl-4\" data-testid=\"sandbox-workspaces\">\n {workspaces.length === 0 ? (\n <p className=\"text-sm text-doom-dim\">\n Nothing is mounted yet, so the container would have no directory to work in. Add at least one.\n </p>\n ) : (\n <ul className=\"flex flex-col gap-1\">\n {workspaces.map((workspace) => (\n <li key={workspace} className=\"flex items-center justify-between gap-2\">\n <code className=\"truncate text-sm text-doom-hi\">{workspace}</code>\n <Button\n variant=\"ghost\"\n data-testid={`sandbox-workspace-remove-${workspace}`}\n onClick={() => {\n remove(workspace);\n }}\n >\n remove\n </Button>\n </li>\n ))}\n </ul>\n )}\n <div className=\"flex items-center gap-2\">\n <Input\n data-testid=\"sandbox-workspace-input\"\n placeholder=\"/absolute/path/to/a/repository\"\n value={draft}\n onChange={(event) => {\n setDraft(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') void add();\n }}\n />\n <Button variant=\"outline\" data-testid=\"sandbox-workspace-add\" disabled={!valid} onClick={() => void add()}>\n add\n </Button>\n </div>\n <p className=\"text-sm text-doom-dim\">\n Absolute paths only, mounted at the same path inside. Sessions working anywhere else stay on the host and will\n not appear in the contained cockpit.\n </p>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,WAAW;AAMjB,SAAgB,kBAAkB,EAAE,cAAsC;CACxE,MAAM,CAAC,OAAO,YAAYA,4BAAAA,kBAAkB,iBAAiB,EAAE;CAC/D,MAAM,UAAU,MAAM,KAAK;CAC3B,MAAM,QAAQ,QAAQ,WAAW,QAAQ,KAAK,CAAC,WAAW,SAAS,OAAO;CAE1E,MAAM,MAAM,YAA2B;EACrC,IAAI,CAAC,OAAO;EACZ,IAAI,MAAMC,0BAAAA,qBAAqB,EAAE,SAAS;GAAE,SAAS;GAAM,YAAY,CAAC,GAAG,YAAY,OAAO;EAAE,EAAE,CAAC,GACjG,UAAU,YAAa,YAAY,QAAQ,KAAK,OAAQ;CAC5D;CAEA,MAAM,UAAU,SAAuB;EACrC,0BAAKA,qBAAqB,EACxB,SAAS;GAAE,SAAS;GAAM,YAAY,WAAW,QAAQ,cAAc,cAAc,IAAI;EAAE,EAC7F,CAAC;CACH;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAA2B,eAAY;EAAtD,UAAA;GACG,WAAW,WAAW,IACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAElC,CAAA,IAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IAAI,WAAU;IACX,UAAA,WAAW,KAAK,cACf,iBAAA,GAAA,kBAAA,KAAA,CAAC,MAAD;KAAoB,WAAU;KAA9B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;MAAM,WAAU;MAAiC,UAAA;KAAgB,CAAA,GACjE,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,QAAD;MACE,SAAQ;MACR,eAAa,4BAA4B;MACzC,eAAe;OACb,OAAO,SAAS;MAClB;MACD,UAAA;KAEO,CAAA,CACN;IAXK,GAAA,SAWL,CACL;GACC,CAAA;GAEN,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,OAAD;KACE,eAAY;KACZ,aAAY;KACZ,OAAO;KACP,WAAW,UAAU;MACnB,SAAS,MAAM,OAAO,KAAK;KAC7B;KACA,YAAY,UAAU;MACpB,IAAI,MAAM,QAAQ,SAAS,IAAS;KACtC;IACD,CAAA,GACD,iBAAA,GAAA,kBAAA,IAAA,CAACD,6BAAAA,QAAD;KAAQ,SAAQ;KAAU,eAAY;KAAwB,UAAU,CAAC;KAAO,eAAe,KAAK,IAAI;KAAG,UAAA;IAEnG,CAAA,CACL;;GACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAGlC,CAAA;EACA;;AAET"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/web/features/remote/SandboxWorkspaces.d.ts
|
|
2
|
+
export interface SandboxWorkspacesProps {
|
|
3
|
+
workspaces: readonly string[];
|
|
4
|
+
}
|
|
5
|
+
export declare function SandboxWorkspaces({ workspaces }: SandboxWorkspacesProps): import("react").JSX.Element;
|
|
6
|
+
//#endregion
|
|
7
|
+
//# sourceMappingURL=SandboxWorkspaces.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxWorkspaces.d.mts","names":[],"sources":["../../../../src/web/features/remote/SandboxWorkspaces.tsx"],"mappings":";iBAiBiB;EACf;;wBAGc,oBAAoB,cAAc,yCAAsB,IAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { updateRemoteSettings } from "../../stores/remoteAccessStore.mjs";
|
|
2
|
+
import { useDashboardState } from "../../stores/dashboardStateStore.mjs";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Button, Input } from "@agimon-ai/po-web-components";
|
|
5
|
+
//#region src/web/features/remote/SandboxWorkspaces.tsx
|
|
6
|
+
/**
|
|
7
|
+
* The directories the contained cockpit is allowed to see.
|
|
8
|
+
*
|
|
9
|
+
* This list is the boundary, not a convenience. A hub inside the container
|
|
10
|
+
* cannot create a session in a path that is not mounted, so what is not here is
|
|
11
|
+
* unreachable by anything the remote device asks for, including the agent's
|
|
12
|
+
* shell. Editing it therefore reads as a security decision and is spelled out
|
|
13
|
+
* as one.
|
|
14
|
+
*/
|
|
15
|
+
const ABSOLUTE = "/";
|
|
16
|
+
function SandboxWorkspaces({ workspaces }) {
|
|
17
|
+
const [draft, setDraft] = useDashboardState("sandbox/draft", "");
|
|
18
|
+
const trimmed = draft.trim();
|
|
19
|
+
const valid = trimmed.startsWith(ABSOLUTE) && !workspaces.includes(trimmed);
|
|
20
|
+
const add = async () => {
|
|
21
|
+
if (!valid) return;
|
|
22
|
+
if (await updateRemoteSettings({ sandbox: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
workspaces: [...workspaces, trimmed]
|
|
25
|
+
} })) setDraft((current) => current === draft ? "" : current);
|
|
26
|
+
};
|
|
27
|
+
const remove = (path) => {
|
|
28
|
+
updateRemoteSettings({ sandbox: {
|
|
29
|
+
enabled: true,
|
|
30
|
+
workspaces: workspaces.filter((workspace) => workspace !== path)
|
|
31
|
+
} });
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
34
|
+
className: "flex flex-col gap-2 pl-4",
|
|
35
|
+
"data-testid": "sandbox-workspaces",
|
|
36
|
+
children: [
|
|
37
|
+
workspaces.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
38
|
+
className: "text-sm text-doom-dim",
|
|
39
|
+
children: "Nothing is mounted yet, so the container would have no directory to work in. Add at least one."
|
|
40
|
+
}) : /* @__PURE__ */ jsx("ul", {
|
|
41
|
+
className: "flex flex-col gap-1",
|
|
42
|
+
children: workspaces.map((workspace) => /* @__PURE__ */ jsxs("li", {
|
|
43
|
+
className: "flex items-center justify-between gap-2",
|
|
44
|
+
children: [/* @__PURE__ */ jsx("code", {
|
|
45
|
+
className: "truncate text-sm text-doom-hi",
|
|
46
|
+
children: workspace
|
|
47
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
48
|
+
variant: "ghost",
|
|
49
|
+
"data-testid": `sandbox-workspace-remove-${workspace}`,
|
|
50
|
+
onClick: () => {
|
|
51
|
+
remove(workspace);
|
|
52
|
+
},
|
|
53
|
+
children: "remove"
|
|
54
|
+
})]
|
|
55
|
+
}, workspace))
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ jsxs("div", {
|
|
58
|
+
className: "flex items-center gap-2",
|
|
59
|
+
children: [/* @__PURE__ */ jsx(Input, {
|
|
60
|
+
"data-testid": "sandbox-workspace-input",
|
|
61
|
+
placeholder: "/absolute/path/to/a/repository",
|
|
62
|
+
value: draft,
|
|
63
|
+
onChange: (event) => {
|
|
64
|
+
setDraft(event.target.value);
|
|
65
|
+
},
|
|
66
|
+
onKeyDown: (event) => {
|
|
67
|
+
if (event.key === "Enter") add();
|
|
68
|
+
}
|
|
69
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
70
|
+
variant: "outline",
|
|
71
|
+
"data-testid": "sandbox-workspace-add",
|
|
72
|
+
disabled: !valid,
|
|
73
|
+
onClick: () => void add(),
|
|
74
|
+
children: "add"
|
|
75
|
+
})]
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ jsx("p", {
|
|
78
|
+
className: "text-sm text-doom-dim",
|
|
79
|
+
children: "Absolute paths only, mounted at the same path inside. Sessions working anywhere else stay on the host and will not appear in the contained cockpit."
|
|
80
|
+
})
|
|
81
|
+
]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
export { SandboxWorkspaces };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=SandboxWorkspaces.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxWorkspaces.mjs","names":[],"sources":["../../../../src/web/features/remote/SandboxWorkspaces.tsx"],"sourcesContent":["import { Button, Input } from '@agimon-ai/po-web-components';\n\nimport { useDashboardState } from '../../stores/dashboardStateStore';\nimport { updateRemoteSettings } from '../../stores/remoteAccessStore';\n\n/**\n * The directories the contained cockpit is allowed to see.\n *\n * This list is the boundary, not a convenience. A hub inside the container\n * cannot create a session in a path that is not mounted, so what is not here is\n * unreachable by anything the remote device asks for, including the agent's\n * shell. Editing it therefore reads as a security decision and is spelled out\n * as one.\n */\n\nconst ABSOLUTE = '/';\n\nexport interface SandboxWorkspacesProps {\n workspaces: readonly string[];\n}\n\nexport function SandboxWorkspaces({ workspaces }: SandboxWorkspacesProps) {\n const [draft, setDraft] = useDashboardState('sandbox/draft', '');\n const trimmed = draft.trim();\n const valid = trimmed.startsWith(ABSOLUTE) && !workspaces.includes(trimmed);\n\n const add = async (): Promise<void> => {\n if (!valid) return;\n if (await updateRemoteSettings({ sandbox: { enabled: true, workspaces: [...workspaces, trimmed] } }))\n setDraft((current) => (current === draft ? '' : current));\n };\n\n const remove = (path: string): void => {\n void updateRemoteSettings({\n sandbox: { enabled: true, workspaces: workspaces.filter((workspace) => workspace !== path) },\n });\n };\n\n return (\n <div className=\"flex flex-col gap-2 pl-4\" data-testid=\"sandbox-workspaces\">\n {workspaces.length === 0 ? (\n <p className=\"text-sm text-doom-dim\">\n Nothing is mounted yet, so the container would have no directory to work in. Add at least one.\n </p>\n ) : (\n <ul className=\"flex flex-col gap-1\">\n {workspaces.map((workspace) => (\n <li key={workspace} className=\"flex items-center justify-between gap-2\">\n <code className=\"truncate text-sm text-doom-hi\">{workspace}</code>\n <Button\n variant=\"ghost\"\n data-testid={`sandbox-workspace-remove-${workspace}`}\n onClick={() => {\n remove(workspace);\n }}\n >\n remove\n </Button>\n </li>\n ))}\n </ul>\n )}\n <div className=\"flex items-center gap-2\">\n <Input\n data-testid=\"sandbox-workspace-input\"\n placeholder=\"/absolute/path/to/a/repository\"\n value={draft}\n onChange={(event) => {\n setDraft(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') void add();\n }}\n />\n <Button variant=\"outline\" data-testid=\"sandbox-workspace-add\" disabled={!valid} onClick={() => void add()}>\n add\n </Button>\n </div>\n <p className=\"text-sm text-doom-dim\">\n Absolute paths only, mounted at the same path inside. Sessions working anywhere else stay on the host and will\n not appear in the contained cockpit.\n </p>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,WAAW;AAMjB,SAAgB,kBAAkB,EAAE,cAAsC;CACxE,MAAM,CAAC,OAAO,YAAY,kBAAkB,iBAAiB,EAAE;CAC/D,MAAM,UAAU,MAAM,KAAK;CAC3B,MAAM,QAAQ,QAAQ,WAAW,QAAQ,KAAK,CAAC,WAAW,SAAS,OAAO;CAE1E,MAAM,MAAM,YAA2B;EACrC,IAAI,CAAC,OAAO;EACZ,IAAI,MAAM,qBAAqB,EAAE,SAAS;GAAE,SAAS;GAAM,YAAY,CAAC,GAAG,YAAY,OAAO;EAAE,EAAE,CAAC,GACjG,UAAU,YAAa,YAAY,QAAQ,KAAK,OAAQ;CAC5D;CAEA,MAAM,UAAU,SAAuB;EACrC,qBAA0B,EACxB,SAAS;GAAE,SAAS;GAAM,YAAY,WAAW,QAAQ,cAAc,cAAc,IAAI;EAAE,EAC7F,CAAC;CACH;CAEA,OACE,qBAAC,OAAD;EAAK,WAAU;EAA2B,eAAY;EAAtD,UAAA;GACG,WAAW,WAAW,IACrB,oBAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAElC,CAAA,IAEH,oBAAC,MAAD;IAAI,WAAU;IACX,UAAA,WAAW,KAAK,cACf,qBAAC,MAAD;KAAoB,WAAU;KAA9B,UAAA,CACE,oBAAC,QAAD;MAAM,WAAU;MAAiC,UAAA;KAAgB,CAAA,GACjE,oBAAC,QAAD;MACE,SAAQ;MACR,eAAa,4BAA4B;MACzC,eAAe;OACb,OAAO,SAAS;MAClB;MACD,UAAA;KAEO,CAAA,CACN;IAXK,GAAA,SAWL,CACL;GACC,CAAA;GAEN,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,OAAD;KACE,eAAY;KACZ,aAAY;KACZ,OAAO;KACP,WAAW,UAAU;MACnB,SAAS,MAAM,OAAO,KAAK;KAC7B;KACA,YAAY,UAAU;MACpB,IAAI,MAAM,QAAQ,SAAS,IAAS;KACtC;IACD,CAAA,GACD,oBAAC,QAAD;KAAQ,SAAQ;KAAU,eAAY;KAAwB,UAAU,CAAC;KAAO,eAAe,KAAK,IAAI;KAAG,UAAA;IAEnG,CAAA,CACL;;GACL,oBAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAGlC,CAAA;EACA;;AAET"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const require_remoteAccessStore = require("../../stores/remoteAccessStore.cjs");
|
|
2
|
+
let _tanstack_react_store = require("@tanstack/react-store");
|
|
3
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
let _agimon_ai_po_web_components = require("@agimon-ai/po-web-components");
|
|
5
|
+
//#region src/web/features/remote/TrustedDeviceList.tsx
|
|
6
|
+
const PLATFORM_LABEL = {
|
|
7
|
+
ios: "iOS",
|
|
8
|
+
android: "Android"
|
|
9
|
+
};
|
|
10
|
+
/** Native devices that sign back in with their own key, each with the one way to take that back. */
|
|
11
|
+
function TrustedDeviceListView({ devices, busy = false, onRevoke }) {
|
|
12
|
+
if (devices.length === 0) return null;
|
|
13
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14
|
+
className: "flex w-full flex-col gap-1.5",
|
|
15
|
+
"data-testid": "remote-trusted-devices",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.SectionLabel, { children: "trusted phones" }),
|
|
18
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19
|
+
className: "text-sm text-doom-dim",
|
|
20
|
+
children: "A trusted phone signs back in on its own. Revoking one signs it out now, and it pairs again by QR."
|
|
21
|
+
}),
|
|
22
|
+
devices.map((device) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
23
|
+
"data-testid": `remote-trusted-device-${device.id}`,
|
|
24
|
+
className: "flex items-center justify-between gap-3 rounded border border-doom-border px-2.5 py-1.5",
|
|
25
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
26
|
+
className: "flex min-w-0 flex-col",
|
|
27
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
28
|
+
className: "truncate text-base font-semibold text-doom-hi",
|
|
29
|
+
children: [device.label, device.self ? " · this device" : ""]
|
|
30
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
31
|
+
className: "truncate text-sm text-doom-dim",
|
|
32
|
+
children: [
|
|
33
|
+
PLATFORM_LABEL[device.platform],
|
|
34
|
+
" ",
|
|
35
|
+
"·",
|
|
36
|
+
" trusted since ",
|
|
37
|
+
device.createdAt.slice(0, 10)
|
|
38
|
+
]
|
|
39
|
+
})]
|
|
40
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
|
|
41
|
+
variant: "ghost",
|
|
42
|
+
size: "sm",
|
|
43
|
+
disabled: busy,
|
|
44
|
+
"data-testid": `remote-trusted-revoke-${device.id}`,
|
|
45
|
+
onClick: () => onRevoke(device.id),
|
|
46
|
+
children: "revoke"
|
|
47
|
+
})]
|
|
48
|
+
}, device.id))
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Reads the hub's trusted devices; revoking from a remote caller asks for a step-up first. */
|
|
53
|
+
function TrustedDeviceList() {
|
|
54
|
+
const state = (0, _tanstack_react_store.useStore)(require_remoteAccessStore.remoteAccessStore);
|
|
55
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TrustedDeviceListView, {
|
|
56
|
+
devices: state.view?.trustedDevices ?? [],
|
|
57
|
+
busy: state.busy,
|
|
58
|
+
onRevoke: (id) => void require_remoteAccessStore.revokeTrustedNativeDevice(id)
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.TrustedDeviceList = TrustedDeviceList;
|
|
63
|
+
exports.TrustedDeviceListView = TrustedDeviceListView;
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=TrustedDeviceList.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrustedDeviceList.cjs","names":["SectionLabel","Button","useStore","remoteAccessStore","revokeTrustedNativeDevice"],"sources":["../../../../src/web/features/remote/TrustedDeviceList.tsx"],"sourcesContent":["import { Button, SectionLabel } from '@agimon-ai/po-web-components';\nimport { useStore } from '@tanstack/react-store';\n\nimport type { TrustedDevicePlatform, TrustedDeviceView } from '../../../types/remoteAccess';\nimport { remoteAccessStore, revokeTrustedNativeDevice } from '../../stores/remoteAccessStore';\n\nconst PLATFORM_LABEL: Record<TrustedDevicePlatform, string> = { ios: 'iOS', android: 'Android' };\n\nexport interface TrustedDeviceListViewProps {\n devices: TrustedDeviceView[];\n busy?: boolean;\n onRevoke: (id: string) => void;\n}\n\n/** Native devices that sign back in with their own key, each with the one way to take that back. */\nexport function TrustedDeviceListView({ devices, busy = false, onRevoke }: TrustedDeviceListViewProps) {\n if (devices.length === 0) return null;\n\n return (\n <div className=\"flex w-full flex-col gap-1.5\" data-testid=\"remote-trusted-devices\">\n <SectionLabel>trusted phones</SectionLabel>\n <p className=\"text-sm text-doom-dim\">\n A trusted phone signs back in on its own. Revoking one signs it out now, and it pairs again by QR.\n </p>\n {devices.map((device) => (\n <div\n key={device.id}\n data-testid={`remote-trusted-device-${device.id}`}\n className=\"flex items-center justify-between gap-3 rounded border border-doom-border px-2.5 py-1.5\"\n >\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"truncate text-base font-semibold text-doom-hi\">\n {device.label}\n {device.self ? ' \\u00b7 this device' : ''}\n </span>\n <span className=\"truncate text-sm text-doom-dim\">\n {PLATFORM_LABEL[device.platform]} {'\\u00b7'} trusted since {device.createdAt.slice(0, 10)}\n </span>\n </span>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n disabled={busy}\n data-testid={`remote-trusted-revoke-${device.id}`}\n onClick={() => onRevoke(device.id)}\n >\n revoke\n </Button>\n </div>\n ))}\n </div>\n );\n}\n\n/** Reads the hub's trusted devices; revoking from a remote caller asks for a step-up first. */\nexport function TrustedDeviceList() {\n const state = useStore(remoteAccessStore);\n return (\n <TrustedDeviceListView\n devices={state.view?.trustedDevices ?? []}\n busy={state.busy}\n onRevoke={(id) => void revokeTrustedNativeDevice(id)}\n />\n );\n}\n"],"mappings":";;;;;AAMA,MAAM,iBAAwD;CAAE,KAAK;CAAO,SAAS;AAAU;;AAS/F,SAAgB,sBAAsB,EAAE,SAAS,OAAO,OAAO,YAAwC;CACrG,IAAI,QAAQ,WAAW,GAAG,OAAO;CAEjC,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAA+B,eAAY;EAA1D,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,6BAAAA,cAAD,EAAA,UAAc,iBAA4B,CAAA;GAC1C,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAElC,CAAA;GACF,QAAQ,KAAK,WACZ,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAEE,eAAa,yBAAyB,OAAO;IAC7C,WAAU;IAHZ,UAAA,CAKE,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;KAAM,WAAU;KAAhB,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;MAAM,WAAU;MAAhB,UAAA,CACG,OAAO,OACP,OAAO,OAAO,mBAAwB,EACnC;KACN,CAAA,GAAA,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OACG,eAAe,OAAO;OAAU;OAAE;OAAS;OAAgB,OAAO,UAAU,MAAM,GAAG,EAAE;MACpF;KACF,CAAA,CAAA;IACN,CAAA,GAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,QAAD;KACE,SAAQ;KACR,MAAK;KACL,UAAU;KACV,eAAa,yBAAyB,OAAO;KAC7C,eAAe,SAAS,OAAO,EAAE;KAClC,UAAA;IAEO,CAAA,CACL;GAtBE,GAAA,OAAO,EAsBT,CACN;EACE;;AAET;;AAGA,SAAgB,oBAAoB;CAClC,MAAM,SAAA,GAAQC,sBAAAA,SAAAA,CAASC,0BAAAA,iBAAiB;CACxC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EACE,SAAS,MAAM,MAAM,kBAAkB,CAAC;EACxC,MAAM,MAAM;EACZ,WAAW,OAAO,KAAKC,0BAAAA,0BAA0B,EAAE;CACpD,CAAA;AAEL"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TrustedDeviceView } from "../../../types/remoteAccess.mjs";
|
|
2
|
+
//#region src/web/features/remote/TrustedDeviceList.d.ts
|
|
3
|
+
export interface TrustedDeviceListViewProps {
|
|
4
|
+
devices: TrustedDeviceView[];
|
|
5
|
+
busy?: boolean;
|
|
6
|
+
onRevoke: (id: string) => void;
|
|
7
|
+
}
|
|
8
|
+
/** Native devices that sign back in with their own key, each with the one way to take that back. */
|
|
9
|
+
export declare function TrustedDeviceListView({ devices, busy, onRevoke }: TrustedDeviceListViewProps): import("react").JSX.Element | null;
|
|
10
|
+
/** Reads the hub's trusted devices; revoking from a remote caller asks for a step-up first. */
|
|
11
|
+
export declare function TrustedDeviceList(): import("react").JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
//# sourceMappingURL=TrustedDeviceList.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrustedDeviceList.d.mts","names":[],"sources":["../../../../src/web/features/remote/TrustedDeviceList.tsx"],"mappings":";;iBAQiB;EACf,SAAS;EACT;EACA,WAAW;;;wBAIG,wBAAwB,SAAS,MAAc,YAAY,6CAA0B,IAAA;;wBAwCrF,qCAAiB,IAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { remoteAccessStore, revokeTrustedNativeDevice } from "../../stores/remoteAccessStore.mjs";
|
|
2
|
+
import { useStore } from "@tanstack/react-store";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Button, SectionLabel } from "@agimon-ai/po-web-components";
|
|
5
|
+
//#region src/web/features/remote/TrustedDeviceList.tsx
|
|
6
|
+
const PLATFORM_LABEL = {
|
|
7
|
+
ios: "iOS",
|
|
8
|
+
android: "Android"
|
|
9
|
+
};
|
|
10
|
+
/** Native devices that sign back in with their own key, each with the one way to take that back. */
|
|
11
|
+
function TrustedDeviceListView({ devices, busy = false, onRevoke }) {
|
|
12
|
+
if (devices.length === 0) return null;
|
|
13
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
14
|
+
className: "flex w-full flex-col gap-1.5",
|
|
15
|
+
"data-testid": "remote-trusted-devices",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ jsx(SectionLabel, { children: "trusted phones" }),
|
|
18
|
+
/* @__PURE__ */ jsx("p", {
|
|
19
|
+
className: "text-sm text-doom-dim",
|
|
20
|
+
children: "A trusted phone signs back in on its own. Revoking one signs it out now, and it pairs again by QR."
|
|
21
|
+
}),
|
|
22
|
+
devices.map((device) => /* @__PURE__ */ jsxs("div", {
|
|
23
|
+
"data-testid": `remote-trusted-device-${device.id}`,
|
|
24
|
+
className: "flex items-center justify-between gap-3 rounded border border-doom-border px-2.5 py-1.5",
|
|
25
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
26
|
+
className: "flex min-w-0 flex-col",
|
|
27
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
28
|
+
className: "truncate text-base font-semibold text-doom-hi",
|
|
29
|
+
children: [device.label, device.self ? " · this device" : ""]
|
|
30
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
31
|
+
className: "truncate text-sm text-doom-dim",
|
|
32
|
+
children: [
|
|
33
|
+
PLATFORM_LABEL[device.platform],
|
|
34
|
+
" ",
|
|
35
|
+
"·",
|
|
36
|
+
" trusted since ",
|
|
37
|
+
device.createdAt.slice(0, 10)
|
|
38
|
+
]
|
|
39
|
+
})]
|
|
40
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
41
|
+
variant: "ghost",
|
|
42
|
+
size: "sm",
|
|
43
|
+
disabled: busy,
|
|
44
|
+
"data-testid": `remote-trusted-revoke-${device.id}`,
|
|
45
|
+
onClick: () => onRevoke(device.id),
|
|
46
|
+
children: "revoke"
|
|
47
|
+
})]
|
|
48
|
+
}, device.id))
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Reads the hub's trusted devices; revoking from a remote caller asks for a step-up first. */
|
|
53
|
+
function TrustedDeviceList() {
|
|
54
|
+
const state = useStore(remoteAccessStore);
|
|
55
|
+
return /* @__PURE__ */ jsx(TrustedDeviceListView, {
|
|
56
|
+
devices: state.view?.trustedDevices ?? [],
|
|
57
|
+
busy: state.busy,
|
|
58
|
+
onRevoke: (id) => void revokeTrustedNativeDevice(id)
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { TrustedDeviceList, TrustedDeviceListView };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=TrustedDeviceList.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrustedDeviceList.mjs","names":[],"sources":["../../../../src/web/features/remote/TrustedDeviceList.tsx"],"sourcesContent":["import { Button, SectionLabel } from '@agimon-ai/po-web-components';\nimport { useStore } from '@tanstack/react-store';\n\nimport type { TrustedDevicePlatform, TrustedDeviceView } from '../../../types/remoteAccess';\nimport { remoteAccessStore, revokeTrustedNativeDevice } from '../../stores/remoteAccessStore';\n\nconst PLATFORM_LABEL: Record<TrustedDevicePlatform, string> = { ios: 'iOS', android: 'Android' };\n\nexport interface TrustedDeviceListViewProps {\n devices: TrustedDeviceView[];\n busy?: boolean;\n onRevoke: (id: string) => void;\n}\n\n/** Native devices that sign back in with their own key, each with the one way to take that back. */\nexport function TrustedDeviceListView({ devices, busy = false, onRevoke }: TrustedDeviceListViewProps) {\n if (devices.length === 0) return null;\n\n return (\n <div className=\"flex w-full flex-col gap-1.5\" data-testid=\"remote-trusted-devices\">\n <SectionLabel>trusted phones</SectionLabel>\n <p className=\"text-sm text-doom-dim\">\n A trusted phone signs back in on its own. Revoking one signs it out now, and it pairs again by QR.\n </p>\n {devices.map((device) => (\n <div\n key={device.id}\n data-testid={`remote-trusted-device-${device.id}`}\n className=\"flex items-center justify-between gap-3 rounded border border-doom-border px-2.5 py-1.5\"\n >\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"truncate text-base font-semibold text-doom-hi\">\n {device.label}\n {device.self ? ' \\u00b7 this device' : ''}\n </span>\n <span className=\"truncate text-sm text-doom-dim\">\n {PLATFORM_LABEL[device.platform]} {'\\u00b7'} trusted since {device.createdAt.slice(0, 10)}\n </span>\n </span>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n disabled={busy}\n data-testid={`remote-trusted-revoke-${device.id}`}\n onClick={() => onRevoke(device.id)}\n >\n revoke\n </Button>\n </div>\n ))}\n </div>\n );\n}\n\n/** Reads the hub's trusted devices; revoking from a remote caller asks for a step-up first. */\nexport function TrustedDeviceList() {\n const state = useStore(remoteAccessStore);\n return (\n <TrustedDeviceListView\n devices={state.view?.trustedDevices ?? []}\n busy={state.busy}\n onRevoke={(id) => void revokeTrustedNativeDevice(id)}\n />\n );\n}\n"],"mappings":";;;;;AAMA,MAAM,iBAAwD;CAAE,KAAK;CAAO,SAAS;AAAU;;AAS/F,SAAgB,sBAAsB,EAAE,SAAS,OAAO,OAAO,YAAwC;CACrG,IAAI,QAAQ,WAAW,GAAG,OAAO;CAEjC,OACE,qBAAC,OAAD;EAAK,WAAU;EAA+B,eAAY;EAA1D,UAAA;GACE,oBAAC,cAAD,EAAA,UAAc,iBAA4B,CAAA;GAC1C,oBAAC,KAAD;IAAG,WAAU;IAAwB,UAAA;GAElC,CAAA;GACF,QAAQ,KAAK,WACZ,qBAAC,OAAD;IAEE,eAAa,yBAAyB,OAAO;IAC7C,WAAU;IAHZ,UAAA,CAKE,qBAAC,QAAD;KAAM,WAAU;KAAhB,UAAA,CACE,qBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA,CACG,OAAO,OACP,OAAO,OAAO,mBAAwB,EACnC;KACN,CAAA,GAAA,qBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OACG,eAAe,OAAO;OAAU;OAAE;OAAS;OAAgB,OAAO,UAAU,MAAM,GAAG,EAAE;MACpF;KACF,CAAA,CAAA;IACN,CAAA,GAAA,oBAAC,QAAD;KACE,SAAQ;KACR,MAAK;KACL,UAAU;KACV,eAAa,yBAAyB,OAAO;KAC7C,eAAe,SAAS,OAAO,EAAE;KAClC,UAAA;IAEO,CAAA,CACL;GAtBE,GAAA,OAAO,EAsBT,CACN;EACE;;AAET;;AAGA,SAAgB,oBAAoB;CAClC,MAAM,QAAQ,SAAS,iBAAiB;CACxC,OACE,oBAAC,uBAAD;EACE,SAAS,MAAM,MAAM,kBAAkB,CAAC;EACxC,MAAM,MAAM;EACZ,WAAW,OAAO,KAAK,0BAA0B,EAAE;CACpD,CAAA;AAEL"}
|