zidane-ui 9.0.4 → 9.1.3
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/README.md +3 -1
- package/dist/adapters/extension-modules.d.ts +147 -0
- package/dist/adapters/extension-modules.js +244 -0
- package/dist/adapters/index.d.ts +3 -1
- package/dist/adapters/index.js +3 -1
- package/dist/adapters/live.d.ts +6 -0
- package/dist/adapters/live.js +33 -3
- package/dist/adapters/server-composer-host.js +20 -37
- package/dist/adapters/server-extensions-host.d.ts +113 -0
- package/dist/adapters/server-extensions-host.js +829 -0
- package/dist/adapters/server-host.js +28 -6
- package/dist/adapters/server-machines-host.js +1 -1
- package/dist/adapters/server-settings-host.js +1 -1
- package/dist/adapters/server-settings-sections.js +36 -13
- package/dist/adapters/server-transcript-members.d.ts +1 -1
- package/dist/adapters/server-transcript-members.js +19 -1
- package/dist/app/AppHostProvider.d.ts +4 -1
- package/dist/app/AppHostProvider.js +11 -4
- package/dist/app/ModalProvider.d.ts +9 -3
- package/dist/app/ModalProvider.js +45 -25
- package/dist/app/headless/app-host.d.ts +3 -0
- package/dist/appearance/AppearanceProvider.d.ts +11 -4
- package/dist/appearance/AppearanceProvider.js +18 -6
- package/dist/appearance/headless/index.js +1 -1
- package/dist/appearance/headless/prefs.d.ts +2 -2
- package/dist/appearance/index.d.ts +1 -1
- package/dist/approvals/ApprovalBar.js +7 -1
- package/dist/approvals/FileEditApproval.js +7 -3
- package/dist/approvals/headless/index.js +2 -2
- package/dist/approvals/headless/labels.js +3 -3
- package/dist/chat/HostBadge.js +1 -1
- package/dist/chat/HostStatusDot.js +1 -1
- package/dist/chat/HostTranscript.d.ts +3 -1
- package/dist/chat/HostTranscript.js +5 -3
- package/dist/chat/RunEstimateChip.d.ts +53 -0
- package/dist/chat/RunEstimateChip.js +116 -0
- package/dist/chat/SessionFilterMenu.d.ts +77 -5
- package/dist/chat/SessionFilterMenu.js +86 -4
- package/dist/chat/SessionGroupHeader.d.ts +6 -2
- package/dist/chat/SessionGroupHeader.js +35 -3
- package/dist/chat/SessionHostHeader.js +1 -1
- package/dist/chat/SessionList.js +1 -1
- package/dist/chat/SessionListRow.d.ts +8 -1
- package/dist/chat/SessionListRow.js +5 -4
- package/dist/chat/Throbber.js +0 -3
- package/dist/chat/Transcript.d.ts +1 -1
- package/dist/chat/Transcript.js +112 -57
- package/dist/chat/composer/ComposerEditor.js +1 -1
- package/dist/chat/composer/ConversationBadges.js +18 -11
- package/dist/chat/composer/HostPicker.js +1 -1
- package/dist/chat/composer/ProjectMenu.d.ts +8 -1
- package/dist/chat/composer/ProjectMenu.js +11 -8
- package/dist/chat/composer/RetryPill.js +1 -1
- package/dist/chat/composer/SelectTurnHint.d.ts +19 -0
- package/dist/chat/composer/SelectTurnHint.js +28 -0
- package/dist/chat/composer/ServerScopeToggle.js +4 -1
- package/dist/chat/composer/composer-bus.d.ts +8 -1
- package/dist/chat/composer/composer-bus.js +10 -1
- package/dist/chat/composer/index.d.ts +4 -4
- package/dist/chat/composer/index.js +3 -3
- package/dist/chat/composer/use-composer-stores.js +1 -1
- package/dist/chat/composer/use-draft-target.d.ts +19 -1
- package/dist/chat/composer/use-draft-target.js +14 -1
- package/dist/chat/composer/use-run-meter.js +1 -1
- package/dist/chat/headless/block-runs.d.ts +57 -0
- package/dist/chat/headless/block-runs.js +123 -0
- package/dist/chat/headless/chip-labels.d.ts +1 -0
- package/dist/chat/headless/chip-labels.js +1 -0
- package/dist/chat/headless/composer/conversation-badges.d.ts +8 -6
- package/dist/chat/headless/composer/conversation-badges.js +26 -24
- package/dist/chat/headless/composer/host-chrome.d.ts +2 -27
- package/dist/chat/headless/composer/host.d.ts +1 -3
- package/dist/chat/headless/composer/index.d.ts +3 -4
- package/dist/chat/headless/composer/index.js +5 -6
- package/dist/chat/headless/composer/labels-chrome.d.ts +1 -1
- package/dist/chat/headless/composer/labels-chrome.js +1 -1
- package/dist/chat/headless/extension-sources.d.ts +17 -0
- package/dist/chat/headless/extension-sources.js +52 -0
- package/dist/chat/headless/fixture-transcript.d.ts +6 -1
- package/dist/chat/headless/fixture-transcript.js +49 -0
- package/dist/chat/headless/host.d.ts +8 -0
- package/dist/chat/headless/hosts.d.ts +2 -0
- package/dist/chat/headless/index.d.ts +10 -8
- package/dist/chat/headless/index.js +21 -18
- package/dist/chat/headless/labels.d.ts +79 -1
- package/dist/chat/headless/labels.js +80 -3
- package/dist/chat/headless/session-list.d.ts +65 -2
- package/dist/chat/headless/session-list.js +10 -2
- package/dist/chat/headless/sidebar/badges.d.ts +2 -0
- package/dist/chat/headless/sidebar/badges.js +20 -1
- package/dist/chat/headless/sidebar/directory.d.ts +46 -6
- package/dist/chat/headless/sidebar/directory.js +198 -22
- package/dist/chat/headless/sidebar/estimates.d.ts +55 -0
- package/dist/chat/headless/sidebar/estimates.js +91 -0
- package/dist/chat/headless/sidebar/index.d.ts +6 -4
- package/dist/chat/headless/sidebar/index.js +6 -3
- package/dist/chat/headless/sidebar/labels.d.ts +71 -1
- package/dist/chat/headless/sidebar/labels.js +17 -0
- package/dist/chat/headless/sidebar/query.d.ts +276 -0
- package/dist/chat/headless/sidebar/query.js +450 -0
- package/dist/chat/headless/sidebar/rows.d.ts +104 -13
- package/dist/chat/headless/sidebar/rows.js +189 -5
- package/dist/chat/headless/sidebar/types.d.ts +37 -4
- package/dist/chat/headless/sidebar/types.js +8 -0
- package/dist/chat/headless/sidebar/view.d.ts +25 -1
- package/dist/chat/headless/sidebar/view.js +56 -3
- package/dist/chat/headless/streams/live-events.js +2 -1
- package/dist/chat/headless/streams/session-streams.js +6 -0
- package/dist/chat/headless/transcript/batch.d.ts +21 -1
- package/dist/chat/headless/transcript/batch.js +55 -10
- package/dist/chat/headless/transcript/collapse.js +22 -3
- package/dist/chat/headless/transcript/fold-attachments.js +1 -1
- package/dist/chat/headless/transcript/fold.js +26 -10
- package/dist/chat/headless/transcript/rows.d.ts +15 -1
- package/dist/chat/headless/transcript-labels.d.ts +1 -0
- package/dist/chat/index.d.ts +14 -6
- package/dist/chat/index.js +40 -32
- package/dist/chat/rich-composer/RichComposer.js +32 -1
- package/dist/chat/rich-composer/badge-decorations.js +1 -1
- package/dist/chat/rich-composer/use-extension-composer.d.ts +32 -0
- package/dist/chat/rich-composer/use-extension-composer.js +46 -0
- package/dist/chat/sidebar/MainSessionRow.js +1 -1
- package/dist/chat/sidebar/ProjectIcon.d.ts +25 -6
- package/dist/chat/sidebar/ProjectIcon.js +79 -34
- package/dist/chat/sidebar/SessionSidebar.d.ts +34 -1
- package/dist/chat/sidebar/SessionSidebar.js +161 -25
- package/dist/chat/sidebar/SidebarDecoration.d.ts +38 -0
- package/dist/chat/sidebar/SidebarDecoration.js +61 -0
- package/dist/chat/sidebar/SidebarFilterMenu.d.ts +15 -2
- package/dist/chat/sidebar/SidebarFilterMenu.js +226 -8
- package/dist/chat/sidebar/SidebarFooter.d.ts +3 -1
- package/dist/chat/sidebar/SidebarFooter.js +17 -4
- package/dist/chat/sidebar/SidebarGroupHeader.d.ts +17 -4
- package/dist/chat/sidebar/SidebarGroupHeader.js +23 -4
- package/dist/chat/sidebar/SidebarRowView.d.ts +30 -0
- package/dist/chat/sidebar/SidebarRowView.js +117 -0
- package/dist/chat/sidebar/SidebarSessionRow.d.ts +4 -1
- package/dist/chat/sidebar/SidebarSessionRow.js +22 -4
- package/dist/chat/sidebar/SpaceSwitcher.d.ts +12 -5
- package/dist/chat/sidebar/SpaceSwitcher.js +142 -49
- package/dist/chat/sidebar/SpacesSection.js +4 -2
- package/dist/chat/sidebar/collapsed.d.ts +24 -0
- package/dist/chat/sidebar/collapsed.js +44 -0
- package/dist/chat/sidebar/index.d.ts +8 -4
- package/dist/chat/sidebar/index.js +6 -2
- package/dist/chat/sidebar/session-menu.d.ts +2 -0
- package/dist/chat/sidebar/session-menu.js +8 -2
- package/dist/chat/sidebar/sidebar-live.d.ts +12 -1
- package/dist/chat/sidebar/sidebar-live.js +57 -17
- package/dist/chat/sidebar/useAgentNames.d.ts +8 -0
- package/dist/chat/sidebar/useAgentNames.js +13 -0
- package/dist/chat/sidebar/useSaveViewAsSpace.d.ts +13 -0
- package/dist/chat/sidebar/useSaveViewAsSpace.js +44 -0
- package/dist/chat/sidebar/useSessionDirectoryView.d.ts +4 -1
- package/dist/chat/sidebar/useSessionDirectoryView.js +46 -12
- package/dist/chat/sidebar/useSidebarKeyboardNav.js +3 -1
- package/dist/chat/testing/composer.contract.d.ts +2 -6
- package/dist/chat/testing/composer.contract.js +2 -31
- package/dist/chat/testing/contract.d.ts +6 -1
- package/dist/chat/testing/contract.js +30 -3
- package/dist/chat/testing/fixture-composer-chrome.d.ts +2 -6
- package/dist/chat/testing/fixture-composer-chrome.js +1 -17
- package/dist/chat/transcript/AnsiText.d.ts +27 -0
- package/dist/chat/transcript/AnsiText.js +73 -0
- package/dist/chat/transcript/BadgeMenu.d.ts +2 -0
- package/dist/chat/transcript/BadgeMenu.js +22 -6
- package/dist/chat/transcript/CardMarkdown.js +17 -5
- package/dist/chat/transcript/ChipCard.js +6 -0
- package/dist/chat/transcript/ChipCards.js +2 -2
- package/dist/chat/transcript/CodemodeScript.d.ts +33 -0
- package/dist/chat/transcript/CodemodeScript.js +212 -0
- package/dist/chat/transcript/EditDiffBlock.js +4 -1
- package/dist/chat/transcript/FileChip.js +20 -7
- package/dist/chat/transcript/InlineChipText.js +1 -1
- package/dist/chat/transcript/InteractionToolBody.js +32 -13
- package/dist/chat/transcript/LiveOutput.d.ts +21 -0
- package/dist/chat/transcript/LiveOutput.js +42 -0
- package/dist/chat/transcript/MermaidDiagram.d.ts +22 -0
- package/dist/chat/transcript/MermaidDiagram.js +410 -0
- package/dist/chat/transcript/PromptEcho.js +5 -5
- package/dist/chat/transcript/ProseMarkdown.js +9 -6
- package/dist/chat/transcript/ReferenceText.js +7 -2
- package/dist/chat/transcript/SelectTurnHint.js +1 -1
- package/dist/chat/transcript/SubagentBlock.d.ts +4 -2
- package/dist/chat/transcript/SubagentBlock.js +5 -2
- package/dist/chat/transcript/TranscriptRow.js +28 -6
- package/dist/chat/transcript/TranscriptSearch.js +1 -1
- package/dist/chat/transcript/actions.d.ts +6 -0
- package/dist/chat/transcript/badges.js +5 -2
- package/dist/chat/transcript/extension-renderers.d.ts +36 -0
- package/dist/chat/transcript/extension-renderers.js +133 -0
- package/dist/chat/transcript/fold-worker.js +2 -2
- package/dist/chat/transcript/fold.js +6 -4
- package/dist/chat/transcript/index.d.ts +8 -2
- package/dist/chat/transcript/index.js +35 -29
- package/dist/chat/transcript/markdown-cache.js +16 -7
- package/dist/chat/transcript/markdown.d.ts +15 -1
- package/dist/chat/transcript/markdown.js +71 -6
- package/dist/chat/transcript/messages.js +3 -2
- package/dist/chat/transcript/notices.js +1 -1
- package/dist/chat/transcript/prompt.js +1 -1
- package/dist/chat/transcript/prose.js +1 -1
- package/dist/chat/transcript/recent-map.d.ts +20 -0
- package/dist/chat/transcript/recent-map.js +22 -0
- package/dist/chat/transcript/references.js +7 -3
- package/dist/chat/transcript/renderers.d.ts +11 -1
- package/dist/chat/transcript/renderers.js +14 -4
- package/dist/chat/transcript/script-input.d.ts +17 -0
- package/dist/chat/transcript/script-input.js +16 -0
- package/dist/chat/transcript/shell-block-scope.d.ts +29 -0
- package/dist/chat/transcript/shell-block-scope.js +18 -0
- package/dist/chat/transcript/shell-block.d.ts +27 -0
- package/dist/chat/transcript/shell-block.js +306 -0
- package/dist/chat/transcript/tool-batch.js +4 -9
- package/dist/chat/transcript/tool-details.js +7 -67
- package/dist/chat/transcript/tool-parts.d.ts +18 -6
- package/dist/chat/transcript/tool-parts.js +15 -5
- package/dist/chat/transcript/tool-payload.d.ts +21 -0
- package/dist/chat/transcript/tool-payload.js +80 -0
- package/dist/chat/transcript/tool-row.js +158 -96
- package/dist/chat/transcript/useTranscriptScroll.js +3 -2
- package/dist/chat/transcript/user-bash.js +3 -2
- package/dist/chat/transcript-options.d.ts +15 -0
- package/dist/chat/transcript-options.js +40 -0
- package/dist/code/CodeHighlightProvider.d.ts +3 -3
- package/dist/code/CodeHighlightProvider.js +4 -4
- package/dist/code/HighlightedCode.d.ts +7 -2
- package/dist/code/HighlightedCode.js +7 -71
- package/dist/code/code-themes.d.ts +13 -6
- package/dist/code/code-themes.js +385 -13
- package/dist/code/editor/CodeHover.d.ts +5 -4
- package/dist/code/editor/CodeHover.js +20 -16
- package/dist/code/editor/HighlightWorkers.js +2 -2
- package/dist/code/editor/edit-session.js +1 -0
- package/dist/code/editor/environment.d.ts +1 -1
- package/dist/code/editor/environment.js +1 -1
- package/dist/code/editor/index.d.ts +2 -2
- package/dist/code/editor/index.js +2 -2
- package/dist/code/editor/pierre-theme.d.ts +5 -5
- package/dist/code/editor/pierre-theme.js +6 -5
- package/dist/code/highlight-lines.d.ts +24 -0
- package/dist/code/highlight-lines.js +41 -0
- package/dist/code/highlight.worker.js +2 -14
- package/dist/code/highlighter.d.ts +24 -9
- package/dist/code/highlighter.js +1 -4
- package/dist/code/highlights.d.ts +12 -0
- package/dist/code/highlights.js +47 -0
- package/dist/code/mermaid-lexer.d.ts +26 -0
- package/dist/code/mermaid-lexer.js +303 -0
- package/dist/code/shiki-theme.d.ts +6 -6
- package/dist/code/shiki-theme.js +3 -3
- package/dist/code/use-highlighted-html.d.ts +5 -0
- package/dist/code/use-highlighted-html.js +75 -0
- package/dist/components/BrandMark.d.ts +6 -4
- package/dist/components/BrandMark.js +5 -2
- package/dist/components/CodeFrame.d.ts +5 -0
- package/dist/components/CodeFrame.js +27 -23
- package/dist/components/Form.js +1 -1
- package/dist/core.css +82 -11
- package/dist/dist/{index-Cx7GDZlz.d.ts → index-WlE93Q6d.d.ts} +255 -51
- package/dist/extensions/ExtensionComponent.d.ts +62 -0
- package/dist/extensions/ExtensionComponent.js +120 -0
- package/dist/extensions/ExtensionDialogHost.d.ts +31 -0
- package/dist/extensions/ExtensionDialogHost.js +439 -0
- package/dist/extensions/ExtensionRenderer.d.ts +30 -0
- package/dist/extensions/ExtensionRenderer.js +78 -0
- package/dist/extensions/ExtensionScreen.d.ts +24 -0
- package/dist/extensions/ExtensionScreen.js +120 -0
- package/dist/extensions/ExtensionSettingsPage.d.ts +19 -0
- package/dist/extensions/ExtensionSettingsPage.js +116 -0
- package/dist/extensions/ExtensionSettingsPages.d.ts +17 -0
- package/dist/extensions/ExtensionSettingsPages.js +33 -0
- package/dist/extensions/ExtensionSettingsSidebar.d.ts +63 -0
- package/dist/extensions/ExtensionSettingsSidebar.js +360 -0
- package/dist/extensions/ExtensionSlot.d.ts +44 -0
- package/dist/extensions/ExtensionSlot.js +161 -0
- package/dist/extensions/ExtensionWebview.d.ts +32 -0
- package/dist/extensions/ExtensionWebview.js +80 -0
- package/dist/extensions/ExtensionsProvider.d.ts +42 -0
- package/dist/extensions/ExtensionsProvider.js +104 -0
- package/dist/extensions/SettingsWireForm.d.ts +44 -0
- package/dist/extensions/SettingsWireForm.js +104 -0
- package/dist/extensions/headless/dialog-queue.d.ts +27 -0
- package/dist/extensions/headless/dialog-queue.js +68 -0
- package/dist/extensions/headless/effect-channel.d.ts +15 -0
- package/dist/extensions/headless/effect-channel.js +33 -0
- package/dist/extensions/headless/effect-router.d.ts +34 -0
- package/dist/extensions/headless/effect-router.js +50 -0
- package/dist/extensions/headless/fixture-host.d.ts +110 -0
- package/dist/extensions/headless/fixture-host.js +258 -0
- package/dist/extensions/headless/host.d.ts +433 -0
- package/dist/extensions/headless/host.js +27 -0
- package/dist/extensions/headless/index.d.ts +10 -0
- package/dist/extensions/headless/index.js +10 -0
- package/dist/extensions/headless/labels.d.ts +45 -0
- package/dist/extensions/headless/labels.js +49 -0
- package/dist/extensions/headless/links.d.ts +30 -0
- package/dist/extensions/headless/links.js +34 -0
- package/dist/extensions/headless/select.d.ts +120 -0
- package/dist/extensions/headless/select.js +191 -0
- package/dist/extensions/headless/webview-bridge.d.ts +71 -0
- package/dist/extensions/headless/webview-bridge.js +78 -0
- package/dist/extensions/headless/wire.d.ts +113 -0
- package/dist/extensions/headless/wire.js +38 -0
- package/dist/extensions/hooks.d.ts +88 -0
- package/dist/extensions/hooks.js +151 -0
- package/dist/extensions/index.d.ts +15 -0
- package/dist/extensions/index.js +15 -0
- package/dist/extensions/kit.d.ts +19 -0
- package/dist/extensions/kit.js +19 -0
- package/dist/extensions/links.d.ts +79 -0
- package/dist/extensions/links.js +94 -0
- package/dist/extensions/testing/contract.d.ts +80 -0
- package/dist/extensions/testing/contract.js +407 -0
- package/dist/extensions/testing/index.d.ts +2 -0
- package/dist/extensions/testing/index.js +1 -0
- package/dist/extensions/useExtensionsLabels.d.ts +6 -0
- package/dist/extensions/useExtensionsLabels.js +18 -0
- package/dist/files/DiffsTab.js +7 -19
- package/dist/files/EditorColumn.js +1 -1
- package/dist/files/EditorEnvironmentRoot.d.ts +15 -0
- package/dist/files/EditorEnvironmentRoot.js +55 -0
- package/dist/files/MediaDiff.js +1 -1
- package/dist/files/drafts-store.d.ts +10 -0
- package/dist/files/drafts-store.js +30 -1
- package/dist/files/headless/lsp-edits.d.ts +4 -1
- package/dist/files/headless/lsp-edits.js +14 -2
- package/dist/files/index.d.ts +2 -1
- package/dist/files/index.js +2 -1
- package/dist/files/session-patch.d.ts +11 -0
- package/dist/files/session-patch.js +44 -0
- package/dist/files/useEntryActions.js +1 -1
- package/dist/files/useLsp.js +5 -2
- package/dist/files/useOpenFiles.js +1 -1
- package/dist/git/BranchMenu.d.ts +1 -5
- package/dist/git/BranchMenu.js +23 -39
- package/dist/git/GitBar.d.ts +1 -1
- package/dist/git/GitBar.js +7 -1
- package/dist/git/ImportRepoDialog.d.ts +3 -1
- package/dist/git/ImportRepoDialog.js +8 -6
- package/dist/git/MoveSessionDialog.js +3 -1
- package/dist/git/headless/labels.d.ts +0 -2
- package/dist/git/headless/labels.js +0 -2
- package/dist/hooks/useDisplayPath.d.ts +40 -0
- package/dist/hooks/useDisplayPath.js +75 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.js +4 -2
- package/dist/keybindings/KeyCommands.js +1 -1
- package/dist/keybindings/KeybindingsProvider.js +1 -1
- package/dist/keybindings/headless/index.js +2 -2
- package/dist/keybindings/headless/overrides.js +1 -1
- package/dist/keybindings/index.d.ts +2 -1
- package/dist/keybindings/index.js +2 -1
- package/dist/keybindings/press.d.ts +27 -0
- package/dist/keybindings/press.js +67 -0
- package/dist/machines/Banners.js +1 -1
- package/dist/machines/HostSyncPanel.js +1 -1
- package/dist/machines/HostsSection.js +1 -1
- package/dist/machines/SyncOutcomeBadge.js +1 -1
- package/dist/machines/headless/index.js +1 -1
- package/dist/machines/headless/labels.d.ts +1 -0
- package/dist/machines/headless/labels.js +1 -0
- package/dist/machines/headless/messages.d.ts +2 -1
- package/dist/machines/headless/messages.js +4 -3
- package/dist/machines/settings-section.d.ts +1 -1
- package/dist/onboarding/conversation.js +21 -3
- package/dist/onboarding/demos/features.d.ts +5 -1
- package/dist/onboarding/demos/features.js +80 -1
- package/dist/onboarding/headless/fixture-host.d.ts +2 -2
- package/dist/onboarding/headless/host.d.ts +2 -2
- package/dist/onboarding/headless/labels.d.ts +2 -0
- package/dist/onboarding/headless/labels.js +2 -0
- package/dist/onboarding/index.d.ts +4 -2
- package/dist/onboarding/index.js +3 -2
- package/dist/onboarding/marks.d.ts +29 -7
- package/dist/onboarding/marks.js +38 -12
- package/dist/onboarding/skills/SkillSourceBrowser.js +56 -247
- package/dist/onboarding/skills/parts.d.ts +31 -4
- package/dist/onboarding/skills/parts.js +8 -11
- package/dist/onboarding/sources/SourceBrowser.d.ts +87 -0
- package/dist/onboarding/sources/SourceBrowser.js +292 -0
- package/dist/onboarding/steps/ConnectStep.js +1 -1
- package/dist/onboarding/steps/ConnectorsStep.js +3 -3
- package/dist/onboarding/steps/ConversationStep.js +2 -1
- package/dist/onboarding/steps/ExtensionsStep.js +2 -2
- package/dist/onboarding/steps/ReadyStep.js +2 -2
- package/dist/onboarding/steps/connect/ProviderPanel.js +1 -1
- package/dist/palette/app-sources.js +1 -1
- package/dist/path.d.ts +24 -2
- package/dist/path.js +34 -2
- package/dist/session/ArtifactRowChips.js +11 -2
- package/dist/session/ArtifactsPanel.d.ts +2 -0
- package/dist/session/ArtifactsPanel.js +67 -27
- package/dist/session/ProjectHome.d.ts +82 -0
- package/dist/session/ProjectHome.js +518 -0
- package/dist/session/ProviderUsageProvider.d.ts +3 -1
- package/dist/session/ProviderUsageProvider.js +5 -2
- package/dist/session/QueueTab.js +1 -1
- package/dist/session/SessionCacheFacts.js +1 -1
- package/dist/session/SessionDetailsDialog.d.ts +1 -1
- package/dist/session/SessionDetailsDialog.js +5 -2
- package/dist/session/SessionHeader.d.ts +3 -1
- package/dist/session/SessionHeader.js +7 -1
- package/dist/session/SideChat.js +2 -2
- package/dist/session/TodosPanel.js +4 -1
- package/dist/session/UsagePanel.js +139 -17
- package/dist/session/WelcomeScreen.d.ts +1 -1
- package/dist/session/WelcomeScreen.js +46 -502
- package/dist/session/headless/fixture-host.js +43 -1
- package/dist/session/headless/home-layout.d.ts +137 -0
- package/dist/session/headless/home-layout.js +235 -0
- package/dist/session/headless/host.d.ts +3 -1
- package/dist/session/headless/index.d.ts +4 -3
- package/dist/session/headless/index.js +4 -3
- package/dist/session/headless/labels.d.ts +33 -36
- package/dist/session/headless/labels.js +48 -47
- package/dist/session/headless/usage-format.d.ts +2 -92
- package/dist/session/headless/usage-format.js +2 -181
- package/dist/session/headless/usage.d.ts +15 -2
- package/dist/session/headless/usage.js +15 -1
- package/dist/session/index.d.ts +3 -1
- package/dist/session/index.js +4 -2
- package/dist/session/modal-shell.d.ts +8 -0
- package/dist/session/modal-shell.js +18 -0
- package/dist/session/testing/contract.d.ts +1 -1
- package/dist/session/testing/contract.js +16 -0
- package/dist/session/testing/demo.js +28 -4
- package/dist/settings/SettingsNav.d.ts +3 -2
- package/dist/settings/SettingsNav.js +86 -13
- package/dist/settings/SettingsRowsPage.d.ts +2 -2
- package/dist/settings/SettingsShell.d.ts +3 -1
- package/dist/settings/SettingsShell.js +16 -9
- package/dist/settings/headless/catalog.js +20 -0
- package/dist/settings/headless/fixture-sections.d.ts +10 -1
- package/dist/settings/headless/fixture-sections.js +88 -3
- package/dist/settings/headless/host.d.ts +2 -0
- package/dist/settings/headless/index.d.ts +4 -4
- package/dist/settings/headless/index.js +1 -1
- package/dist/settings/headless/layout.d.ts +8 -4
- package/dist/settings/headless/layout.js +22 -16
- package/dist/settings/headless/registry.d.ts +14 -0
- package/dist/settings/headless/search.d.ts +1 -1
- package/dist/settings/headless/sections-host.d.ts +36 -3
- package/dist/settings/index.d.ts +5 -3
- package/dist/settings/index.js +8 -6
- package/dist/settings/sections/appearance/AppearanceSection.js +4 -4
- package/dist/settings/sections/claude-import/ClaudeImportDialog.js +1 -1
- package/dist/settings/sections/editor/EditorSection.js +1 -1
- package/dist/settings/sections/environments/EnvironmentsSection.js +1 -1
- package/dist/settings/sections/extensions/ChangeOriginDialog.d.ts +48 -0
- package/dist/settings/sections/extensions/ChangeOriginDialog.js +181 -0
- package/dist/settings/sections/extensions/CreateExtensionDialog.js +5 -2
- package/dist/settings/sections/extensions/ExtensionConfigRows.d.ts +76 -0
- package/dist/settings/sections/extensions/ExtensionConfigRows.js +349 -0
- package/dist/settings/sections/extensions/ExtensionOptionsSection.d.ts +1 -4
- package/dist/settings/sections/extensions/ExtensionOptionsSection.js +23 -286
- package/dist/settings/sections/extensions/ExtensionPicksBar.d.ts +46 -0
- package/dist/settings/sections/extensions/ExtensionPicksBar.js +102 -0
- package/dist/settings/sections/extensions/ExtensionSourceBrowser.d.ts +50 -0
- package/dist/settings/sections/extensions/ExtensionSourceBrowser.js +164 -0
- package/dist/settings/sections/extensions/ExtensionsSection.d.ts +6 -2
- package/dist/settings/sections/extensions/ExtensionsSection.js +233 -42
- package/dist/settings/sections/extensions/labels.d.ts +26 -5
- package/dist/settings/sections/extensions/labels.js +28 -3
- package/dist/settings/sections/extensions/options-labels.d.ts +2 -0
- package/dist/settings/sections/extensions/options-labels.js +2 -0
- package/dist/settings/sections/host-catalog/HostCatalogSection.js +104 -30
- package/dist/settings/sections/host-catalog/labels.js +4 -2
- package/dist/settings/sections/index.d.ts +5 -3
- package/dist/settings/sections/index.js +8 -6
- package/dist/settings/sections/instructions/InstructionsSection.js +7 -4
- package/dist/settings/sections/mcp/McpSection.js +1 -1
- package/dist/settings/sections/mcp/McpServerRow.js +3 -2
- package/dist/settings/sections/models/AgentDefaults.js +1 -1
- package/dist/settings/sections/models/ModelPickField.js +1 -1
- package/dist/settings/sections/models/ModelRows.js +3 -3
- package/dist/settings/sections/plugins/PluginsSection.js +3 -1
- package/dist/settings/sections/providers/ProvidersSection.js +3 -3
- package/dist/settings/sections/providers/ServerProvidersSection.js +2 -2
- package/dist/settings/sections/providers/ServerSignIn.js +3 -3
- package/dist/settings/sections/shared/catalog.d.ts +6 -1
- package/dist/settings/sections/shared/catalog.js +28 -22
- package/dist/settings/sections/skills/SkillList.js +2 -2
- package/dist/settings/sections/skills/SkillsSection.js +1 -1
- package/dist/styles.css +526 -21
- package/dist/terminal/HostTerminalSurface.js +18 -8
- package/dist/terminal/TerminalProvider.d.ts +3 -1
- package/dist/terminal/TerminalProvider.js +5 -1
- package/dist/terminal/headless/store.d.ts +17 -0
- package/dist/terminal/headless/store.js +31 -0
- package/dist/terminal/index.d.ts +2 -2
- package/dist/terminal/index.js +2 -2
- package/dist/theme/runtime-icons.d.ts +50 -0
- package/dist/theme/runtime-icons.js +95 -0
- package/dist/workspace/PanelContentView.d.ts +33 -4
- package/dist/workspace/PanelContentView.js +192 -58
- package/dist/workspace/PanelCorner.d.ts +35 -0
- package/dist/workspace/PanelCorner.js +68 -0
- package/dist/workspace/PanelGroups.d.ts +7 -2
- package/dist/workspace/PanelGroups.js +7 -3
- package/dist/workspace/PanelHome.d.ts +19 -0
- package/dist/workspace/PanelHome.js +74 -0
- package/dist/workspace/PanelItems.d.ts +28 -0
- package/dist/workspace/PanelItems.js +330 -0
- package/dist/workspace/PanelStrip.d.ts +5 -1
- package/dist/workspace/PanelStrip.js +6 -4
- package/dist/workspace/SidePanel.d.ts +9 -3
- package/dist/workspace/SidePanel.js +47 -10
- package/dist/workspace/TabParking.d.ts +2 -0
- package/dist/workspace/TabParking.js +8 -2
- package/dist/workspace/WorkspaceProvider.d.ts +1 -1
- package/dist/workspace/WorkspaceProvider.js +10 -6
- package/dist/workspace/extension-tabs.d.ts +36 -0
- package/dist/workspace/extension-tabs.js +175 -0
- package/dist/workspace/headless/host.d.ts +6 -2
- package/dist/workspace/headless/index.js +1 -1
- package/dist/workspace/headless/labels.d.ts +7 -0
- package/dist/workspace/headless/labels.js +14 -0
- package/dist/workspace/headless/view.d.ts +5 -0
- package/dist/workspace/index.d.ts +3 -2
- package/dist/workspace/index.js +3 -2
- package/package.json +37 -9
- package/src/styles/components.css +24 -8
- package/src/styles/motion.css +35 -0
- package/src/styles/primitives.css +5 -2
- package/src/styles/rich-composer.css +7 -2
- package/src/styles/sidebar.css +24 -0
- package/src/styles/transcript.css +329 -0
- package/src/styles/workspace.css +58 -0
- package/dist/chat/composer/use-hud.d.ts +0 -16
- package/dist/chat/composer/use-hud.js +0 -36
- package/dist/chat/headless/composer/hud.d.ts +0 -25
- package/dist/chat/headless/composer/hud.js +0 -66
- package/src/adapters/browser-appearance-host.ts +0 -51
- package/src/adapters/browser-keybindings-host.ts +0 -48
- package/src/adapters/browser-workspace-host.ts +0 -92
- package/src/adapters/closable-client.ts +0 -34
- package/src/adapters/index.ts +0 -32
- package/src/adapters/live-events.ts +0 -6
- package/src/adapters/live.ts +0 -230
- package/src/adapters/run-host.ts +0 -238
- package/src/adapters/server-approvals-host.ts +0 -102
- package/src/adapters/server-client.ts +0 -15
- package/src/adapters/server-composer-host.ts +0 -474
- package/src/adapters/server-files-host.ts +0 -287
- package/src/adapters/server-git-host.ts +0 -289
- package/src/adapters/server-host.ts +0 -459
- package/src/adapters/server-machines-host.ts +0 -283
- package/src/adapters/server-oauth-flow.ts +0 -133
- package/src/adapters/server-onboarding-host.ts +0 -363
- package/src/adapters/server-palette-host.ts +0 -134
- package/src/adapters/server-session-host.ts +0 -241
- package/src/adapters/server-settings-accounts.ts +0 -212
- package/src/adapters/server-settings-host.ts +0 -120
- package/src/adapters/server-settings-models.ts +0 -46
- package/src/adapters/server-settings-performance.ts +0 -58
- package/src/adapters/server-settings-sections.ts +0 -184
- package/src/adapters/server-sidebar-host.ts +0 -59
- package/src/adapters/server-terminal-host.ts +0 -124
- package/src/adapters/server-transcript-members.ts +0 -131
- package/src/adapters/sse-host.ts +0 -264
- package/src/adapters/sse-parser.ts +0 -82
- package/src/adapters/sse-protocol.ts +0 -118
- package/src/adapters/stream-pacer.ts +0 -122
- package/src/adapters/worker-host.ts +0 -192
- package/src/adapters/worker-protocol.ts +0 -97
- package/src/app/AppHostProvider.tsx +0 -122
- package/src/app/ModalProvider.tsx +0 -711
- package/src/app/headless/app-host.ts +0 -58
- package/src/app/headless/index.ts +0 -6
- package/src/app/headless/resource.ts +0 -444
- package/src/app/index.ts +0 -9
- package/src/app/testing/index.ts +0 -90
- package/src/app/useConfirm.tsx +0 -65
- package/src/app/useResource.ts +0 -30
- package/src/appearance/AppearanceProvider.tsx +0 -359
- package/src/appearance/apply.ts +0 -69
- package/src/appearance/headless/fixture-host.ts +0 -111
- package/src/appearance/headless/fonts.ts +0 -224
- package/src/appearance/headless/host.ts +0 -65
- package/src/appearance/headless/index.ts +0 -12
- package/src/appearance/headless/prefs.ts +0 -252
- package/src/appearance/headless/storage.ts +0 -127
- package/src/appearance/headless/zoom-commands.ts +0 -21
- package/src/appearance/index.ts +0 -11
- package/src/appearance/testing/contract.ts +0 -210
- package/src/appearance/testing/index.ts +0 -6
- package/src/approvals/ApprovalBar.tsx +0 -227
- package/src/approvals/ApprovalConcern.tsx +0 -33
- package/src/approvals/ApprovalShell.tsx +0 -69
- package/src/approvals/ApprovalsProvider.tsx +0 -110
- package/src/approvals/FileEditApproval.tsx +0 -305
- package/src/approvals/HunkPreviews.tsx +0 -225
- package/src/approvals/SafelistPanel.tsx +0 -149
- package/src/approvals/headless/fixture-host.ts +0 -73
- package/src/approvals/headless/fixtures.ts +0 -86
- package/src/approvals/headless/heads.ts +0 -81
- package/src/approvals/headless/host.ts +0 -80
- package/src/approvals/headless/index.ts +0 -12
- package/src/approvals/headless/labels.ts +0 -67
- package/src/approvals/headless/pending.ts +0 -91
- package/src/approvals/headless/preview.ts +0 -94
- package/src/approvals/headless/safelist.ts +0 -63
- package/src/approvals/index.ts +0 -13
- package/src/approvals/key-scope.ts +0 -33
- package/src/approvals/testing/contract.ts +0 -230
- package/src/approvals/testing/index.ts +0 -7
- package/src/brands/marks.ts +0 -298
- package/src/chat/ChatProvider.tsx +0 -60
- package/src/chat/DaemonOrb.tsx +0 -107
- package/src/chat/HostBadge.tsx +0 -71
- package/src/chat/HostStatusDot.tsx +0 -53
- package/src/chat/HostTranscript.tsx +0 -101
- package/src/chat/PdfPreview.tsx +0 -65
- package/src/chat/SessionFilterMenu.tsx +0 -237
- package/src/chat/SessionGroupHeader.tsx +0 -136
- package/src/chat/SessionHostHeader.tsx +0 -66
- package/src/chat/SessionList.tsx +0 -413
- package/src/chat/SessionListRow.tsx +0 -279
- package/src/chat/SessionStreamsProvider.tsx +0 -253
- package/src/chat/StatusDot.tsx +0 -128
- package/src/chat/TextPreview.tsx +0 -121
- package/src/chat/Throbber.tsx +0 -277
- package/src/chat/Transcript.tsx +0 -461
- package/src/chat/composer/AgentPicker.tsx +0 -155
- package/src/chat/composer/AgentPickerDialog.tsx +0 -99
- package/src/chat/composer/ApprovalDock.tsx +0 -64
- package/src/chat/composer/ArchivedBanner.tsx +0 -44
- package/src/chat/composer/AttachmentTiles.tsx +0 -211
- package/src/chat/composer/Composer.tsx +0 -500
- package/src/chat/composer/ComposerBadges.tsx +0 -339
- package/src/chat/composer/ComposerControls.tsx +0 -243
- package/src/chat/composer/ComposerEditor.tsx +0 -101
- package/src/chat/composer/ComposerHostProvider.tsx +0 -46
- package/src/chat/composer/ComposerShell.tsx +0 -129
- package/src/chat/composer/ContextBreakdown.tsx +0 -382
- package/src/chat/composer/ContextOrb.tsx +0 -176
- package/src/chat/composer/ConversationBadges.tsx +0 -159
- package/src/chat/composer/DockCard.tsx +0 -126
- package/src/chat/composer/EffortPickerDialog.tsx +0 -184
- package/src/chat/composer/HostComposer.tsx +0 -135
- package/src/chat/composer/HostContextOrb.tsx +0 -94
- package/src/chat/composer/HostModelChainList.tsx +0 -102
- package/src/chat/composer/HostPicker.tsx +0 -97
- package/src/chat/composer/HostPickers.tsx +0 -320
- package/src/chat/composer/ImageModelList.tsx +0 -151
- package/src/chat/composer/ModelChainList.tsx +0 -442
- package/src/chat/composer/ModelChainParts.tsx +0 -247
- package/src/chat/composer/ModelChainRow.tsx +0 -191
- package/src/chat/composer/ModelChainRows.tsx +0 -223
- package/src/chat/composer/ModelChainTooltip.tsx +0 -121
- package/src/chat/composer/ModelFacts.tsx +0 -204
- package/src/chat/composer/ModelOptionsPicker.tsx +0 -257
- package/src/chat/composer/ModelPicker.tsx +0 -513
- package/src/chat/composer/ModelPickerDialog.tsx +0 -99
- package/src/chat/composer/ModelProviderPills.tsx +0 -141
- package/src/chat/composer/PickerPill.tsx +0 -41
- package/src/chat/composer/ProjectMenu.tsx +0 -170
- package/src/chat/composer/PromptHistoryProvider.tsx +0 -214
- package/src/chat/composer/RetryPill.tsx +0 -47
- package/src/chat/composer/RunStatusChip.tsx +0 -150
- package/src/chat/composer/ScopeToggle.tsx +0 -94
- package/src/chat/composer/SendButton.tsx +0 -89
- package/src/chat/composer/ServerScopeToggle.tsx +0 -179
- package/src/chat/composer/attachment-ingest.ts +0 -413
- package/src/chat/composer/attachments.tsx +0 -176
- package/src/chat/composer/badge-order.ts +0 -65
- package/src/chat/composer/composer-bus.ts +0 -307
- package/src/chat/composer/index.ts +0 -63
- package/src/chat/composer/load-composer-editor.ts +0 -25
- package/src/chat/composer/model-catalog.ts +0 -424
- package/src/chat/composer/model-list-layout.ts +0 -118
- package/src/chat/composer/prompt-history-nav.ts +0 -60
- package/src/chat/composer/scope-side.ts +0 -7
- package/src/chat/composer/suggestion-extension.ts +0 -113
- package/src/chat/composer/suggestions.tsx +0 -115
- package/src/chat/composer/use-agent-profiles.ts +0 -97
- package/src/chat/composer/use-cache-hints.ts +0 -93
- package/src/chat/composer/use-composer-stores.ts +0 -140
- package/src/chat/composer/use-draft-target.ts +0 -284
- package/src/chat/composer/use-hud.ts +0 -38
- package/src/chat/composer/use-new-session-defaults.ts +0 -201
- package/src/chat/composer/use-provider-ready-poll.ts +0 -35
- package/src/chat/composer/use-run-meter.ts +0 -140
- package/src/chat/composer/use-send-prompt.ts +0 -188
- package/src/chat/composer/use-session-meters.ts +0 -109
- package/src/chat/composer/use-sustained-work.ts +0 -74
- package/src/chat/composer/useAttachmentIngest.ts +0 -116
- package/src/chat/composer/useModelListSpy.ts +0 -19
- package/src/chat/headless/badge-refs.ts +0 -76
- package/src/chat/headless/chip-labels.ts +0 -39
- package/src/chat/headless/chip-settle.ts +0 -53
- package/src/chat/headless/chip-views.ts +0 -215
- package/src/chat/headless/composer/attachment-dedupe.ts +0 -50
- package/src/chat/headless/composer/commands.ts +0 -16
- package/src/chat/headless/composer/composer-sources.ts +0 -150
- package/src/chat/headless/composer/conversation-badges.ts +0 -222
- package/src/chat/headless/composer/draft-sync.ts +0 -199
- package/src/chat/headless/composer/editor-markdown.ts +0 -137
- package/src/chat/headless/composer/ghost-autocomplete.ts +0 -381
- package/src/chat/headless/composer/host-chrome.ts +0 -227
- package/src/chat/headless/composer/host.ts +0 -253
- package/src/chat/headless/composer/hud.ts +0 -101
- package/src/chat/headless/composer/index.ts +0 -18
- package/src/chat/headless/composer/labels-chrome.ts +0 -83
- package/src/chat/headless/composer/labels-editor.ts +0 -44
- package/src/chat/headless/composer/labels.ts +0 -18
- package/src/chat/headless/composer/live-cost.ts +0 -67
- package/src/chat/headless/composer/model-knobs.ts +0 -179
- package/src/chat/headless/composer/model-names.ts +0 -145
- package/src/chat/headless/composer/model-picker-prefs.ts +0 -90
- package/src/chat/headless/composer/models.ts +0 -86
- package/src/chat/headless/composer/new-session-defaults.ts +0 -68
- package/src/chat/headless/composer/prompt-suggestions.ts +0 -72
- package/src/chat/headless/composer/remember-model-pick.ts +0 -132
- package/src/chat/headless/composer/run-meter.ts +0 -228
- package/src/chat/headless/composer-modes.ts +0 -170
- package/src/chat/headless/draft-scope.ts +0 -136
- package/src/chat/headless/draft-target.ts +0 -87
- package/src/chat/headless/file-chip.ts +0 -175
- package/src/chat/headless/fixture-host.ts +0 -294
- package/src/chat/headless/fixture-transcript.ts +0 -125
- package/src/chat/headless/fixtures/demo-transcript-all-kinds.ts +0 -233
- package/src/chat/headless/fixtures/demo-transcript.ts +0 -244
- package/src/chat/headless/host.ts +0 -259
- package/src/chat/headless/hosts.ts +0 -53
- package/src/chat/headless/index.ts +0 -31
- package/src/chat/headless/labels.ts +0 -331
- package/src/chat/headless/markdown-chunks.ts +0 -134
- package/src/chat/headless/path-resolver.ts +0 -178
- package/src/chat/headless/prompt-origin.ts +0 -90
- package/src/chat/headless/reference-store.ts +0 -285
- package/src/chat/headless/send-flow.ts +0 -347
- package/src/chat/headless/session-list.ts +0 -390
- package/src/chat/headless/sidebar/activity.ts +0 -179
- package/src/chat/headless/sidebar/badges.ts +0 -163
- package/src/chat/headless/sidebar/compaction.ts +0 -98
- package/src/chat/headless/sidebar/directory.ts +0 -819
- package/src/chat/headless/sidebar/dot-state.ts +0 -36
- package/src/chat/headless/sidebar/environment.ts +0 -70
- package/src/chat/headless/sidebar/host.ts +0 -41
- package/src/chat/headless/sidebar/index.ts +0 -16
- package/src/chat/headless/sidebar/labels.ts +0 -140
- package/src/chat/headless/sidebar/notifications.ts +0 -61
- package/src/chat/headless/sidebar/pinned-projects.ts +0 -51
- package/src/chat/headless/sidebar/pinned-sessions.ts +0 -27
- package/src/chat/headless/sidebar/project-icons.ts +0 -116
- package/src/chat/headless/sidebar/rows.ts +0 -229
- package/src/chat/headless/sidebar/types.ts +0 -61
- package/src/chat/headless/sidebar/view.ts +0 -296
- package/src/chat/headless/site-icons.ts +0 -51
- package/src/chat/headless/smooth-stream.ts +0 -76
- package/src/chat/headless/store.ts +0 -62
- package/src/chat/headless/streams/actions.ts +0 -85
- package/src/chat/headless/streams/index.ts +0 -25
- package/src/chat/headless/streams/live-events.ts +0 -124
- package/src/chat/headless/streams/merge.ts +0 -60
- package/src/chat/headless/streams/pacer.ts +0 -189
- package/src/chat/headless/streams/prompt-previews.ts +0 -64
- package/src/chat/headless/streams/scheduler.ts +0 -36
- package/src/chat/headless/streams/selectors.ts +0 -76
- package/src/chat/headless/streams/session-streams.ts +0 -394
- package/src/chat/headless/streams/store.ts +0 -1107
- package/src/chat/headless/streams/transcript.ts +0 -41
- package/src/chat/headless/streams/types.ts +0 -84
- package/src/chat/headless/transcript/batch.ts +0 -429
- package/src/chat/headless/transcript/collapse.ts +0 -780
- package/src/chat/headless/transcript/fold-actions.ts +0 -269
- package/src/chat/headless/transcript/fold-attachments.ts +0 -78
- package/src/chat/headless/transcript/fold.ts +0 -382
- package/src/chat/headless/transcript/index.ts +0 -41
- package/src/chat/headless/transcript/nesting.ts +0 -73
- package/src/chat/headless/transcript/pairing.ts +0 -124
- package/src/chat/headless/transcript/rows.ts +0 -367
- package/src/chat/headless/transcript/run-failures.ts +0 -72
- package/src/chat/headless/transcript/select-stops.ts +0 -151
- package/src/chat/headless/transcript/tool-media.ts +0 -42
- package/src/chat/headless/transcript-host.ts +0 -180
- package/src/chat/headless/transcript-labels.ts +0 -12
- package/src/chat/headless/turn-labels.ts +0 -28
- package/src/chat/headless/turn-prompt.ts +0 -32
- package/src/chat/index.ts +0 -29
- package/src/chat/interactions/HostInteractions.tsx +0 -76
- package/src/chat/interactions/InboxPanel.tsx +0 -226
- package/src/chat/interactions/InteractionCard.tsx +0 -111
- package/src/chat/interactions/PlanCard.tsx +0 -186
- package/src/chat/interactions/QuestionField.tsx +0 -336
- package/src/chat/interactions/QuestionForm.tsx +0 -283
- package/src/chat/interactions/card-ui.tsx +0 -86
- package/src/chat/interactions/hooks.ts +0 -49
- package/src/chat/interactions/index.ts +0 -8
- package/src/chat/provider-color.ts +0 -71
- package/src/chat/rich-composer/MentionList.tsx +0 -238
- package/src/chat/rich-composer/RichComposer.tsx +0 -1036
- package/src/chat/rich-composer/badge-decorations.ts +0 -157
- package/src/chat/rich-composer/composer-controls.tsx +0 -102
- package/src/chat/rich-composer/composer-extensions.ts +0 -388
- package/src/chat/rich-composer/composer-keys.ts +0 -416
- package/src/chat/rich-composer/ghost-plugin.ts +0 -89
- package/src/chat/rich-composer/index.ts +0 -3
- package/src/chat/rich-composer/mention-popover.ts +0 -336
- package/src/chat/rich-composer/slash-completion.ts +0 -143
- package/src/chat/rich-composer/use-composer-bus.ts +0 -57
- package/src/chat/rich-composer/use-composer-editor.ts +0 -216
- package/src/chat/rich-composer/use-composer-sources.ts +0 -90
- package/src/chat/rich-composer/use-draft-mirror.ts +0 -398
- package/src/chat/rich-composer/use-editor-handover.ts +0 -45
- package/src/chat/rich-composer/use-ghost-lifecycle.ts +0 -265
- package/src/chat/rich-composer/use-prompt-ghost.ts +0 -90
- package/src/chat/rich-composer/use-staged-attachments.ts +0 -65
- package/src/chat/sidebar/MainSessionRow.tsx +0 -102
- package/src/chat/sidebar/ProjectIcon.tsx +0 -336
- package/src/chat/sidebar/RowChips.tsx +0 -98
- package/src/chat/sidebar/SessionSidebar.tsx +0 -805
- package/src/chat/sidebar/SidebarFilterMenu.tsx +0 -41
- package/src/chat/sidebar/SidebarFooter.tsx +0 -234
- package/src/chat/sidebar/SidebarFrame.tsx +0 -154
- package/src/chat/sidebar/SidebarGroupHeader.tsx +0 -231
- package/src/chat/sidebar/SidebarHostProvider.tsx +0 -51
- package/src/chat/sidebar/SidebarSearchRow.tsx +0 -66
- package/src/chat/sidebar/SidebarSessionRow.tsx +0 -293
- package/src/chat/sidebar/SidebarToggleButton.tsx +0 -48
- package/src/chat/sidebar/SpaceSwitcher.tsx +0 -232
- package/src/chat/sidebar/SpacesSection.tsx +0 -256
- package/src/chat/sidebar/index.ts +0 -92
- package/src/chat/sidebar/session-menu.ts +0 -437
- package/src/chat/sidebar/sidebar-focus-hold.ts +0 -56
- package/src/chat/sidebar/sidebar-live.tsx +0 -605
- package/src/chat/sidebar/use-main-session.ts +0 -32
- package/src/chat/sidebar/useCompactionProgress.ts +0 -24
- package/src/chat/sidebar/usePinnedProjects.ts +0 -36
- package/src/chat/sidebar/useSessionActivity.ts +0 -24
- package/src/chat/sidebar/useSessionBadges.ts +0 -26
- package/src/chat/sidebar/useSessionDirectoryView.ts +0 -86
- package/src/chat/sidebar/useSessionSearch.ts +0 -94
- package/src/chat/sidebar/useSidebarKeyboardNav.ts +0 -165
- package/src/chat/sidebar/useSidebarLabels.ts +0 -10
- package/src/chat/testing/composer.contract.ts +0 -532
- package/src/chat/testing/contract.ts +0 -634
- package/src/chat/testing/fixture-composer-chrome.ts +0 -178
- package/src/chat/testing/fixture-composer-host.ts +0 -147
- package/src/chat/testing/fixture-sidebar-host.ts +0 -99
- package/src/chat/testing/index.ts +0 -12
- package/src/chat/testing/sidebar.contract.ts +0 -196
- package/src/chat/transcript/BadgeMenu.tsx +0 -223
- package/src/chat/transcript/CardMarkdown.tsx +0 -92
- package/src/chat/transcript/ChipCard.tsx +0 -176
- package/src/chat/transcript/ChipCards.tsx +0 -100
- package/src/chat/transcript/DiffLines.tsx +0 -122
- package/src/chat/transcript/EarlierHistory.tsx +0 -136
- package/src/chat/transcript/EditDiffBlock.tsx +0 -171
- package/src/chat/transcript/FileChip.tsx +0 -350
- package/src/chat/transcript/ImageGenerationBlock.tsx +0 -239
- package/src/chat/transcript/InlineChipText.tsx +0 -57
- package/src/chat/transcript/InteractionToolBody.tsx +0 -193
- package/src/chat/transcript/LazyRow.tsx +0 -311
- package/src/chat/transcript/PromptEcho.tsx +0 -171
- package/src/chat/transcript/PromptOriginLabel.tsx +0 -44
- package/src/chat/transcript/ProseMarkdown.tsx +0 -165
- package/src/chat/transcript/ReferenceText.tsx +0 -193
- package/src/chat/transcript/SelectCursor.tsx +0 -118
- package/src/chat/transcript/SelectTurnHint.tsx +0 -81
- package/src/chat/transcript/SelectTurnProvider.tsx +0 -150
- package/src/chat/transcript/SubagentBlock.tsx +0 -218
- package/src/chat/transcript/TranscriptRow.tsx +0 -356
- package/src/chat/transcript/TranscriptSearch.tsx +0 -171
- package/src/chat/transcript/TurnMenu.tsx +0 -217
- package/src/chat/transcript/actions.tsx +0 -77
- package/src/chat/transcript/badges.tsx +0 -152
- package/src/chat/transcript/chip-details.ts +0 -169
- package/src/chat/transcript/chip-resolve.ts +0 -56
- package/src/chat/transcript/fold-attachments.tsx +0 -221
- package/src/chat/transcript/fold-status.tsx +0 -112
- package/src/chat/transcript/fold-worker.tsx +0 -160
- package/src/chat/transcript/fold.tsx +0 -520
- package/src/chat/transcript/frame.tsx +0 -326
- package/src/chat/transcript/index.ts +0 -65
- package/src/chat/transcript/markdown-cache.ts +0 -70
- package/src/chat/transcript/markdown-context.ts +0 -52
- package/src/chat/transcript/markdown.tsx +0 -282
- package/src/chat/transcript/messages.tsx +0 -168
- package/src/chat/transcript/notices.tsx +0 -508
- package/src/chat/transcript/prompt-lines.tsx +0 -55
- package/src/chat/transcript/prompt.tsx +0 -258
- package/src/chat/transcript/prose.tsx +0 -171
- package/src/chat/transcript/references.ts +0 -104
- package/src/chat/transcript/remark-references.ts +0 -157
- package/src/chat/transcript/remark-refs.ts +0 -176
- package/src/chat/transcript/renderer-slots.tsx +0 -35
- package/src/chat/transcript/renderers.tsx +0 -241
- package/src/chat/transcript/row-estimate.ts +0 -158
- package/src/chat/transcript/run-rows.tsx +0 -291
- package/src/chat/transcript/site-icons.ts +0 -27
- package/src/chat/transcript/thumbnails.ts +0 -146
- package/src/chat/transcript/tool-batch.tsx +0 -111
- package/src/chat/transcript/tool-details.tsx +0 -77
- package/src/chat/transcript/tool-media.tsx +0 -132
- package/src/chat/transcript/tool-parts.tsx +0 -358
- package/src/chat/transcript/tool-row.tsx +0 -489
- package/src/chat/transcript/turn-commands.ts +0 -101
- package/src/chat/transcript/use-transcript-rows.ts +0 -195
- package/src/chat/transcript/useComposerSearch.ts +0 -106
- package/src/chat/transcript/useSelectTurnKeys.ts +0 -204
- package/src/chat/transcript/useSettledReveal.ts +0 -57
- package/src/chat/transcript/useStickToBottom.ts +0 -600
- package/src/chat/transcript/useTranscriptFind.ts +0 -70
- package/src/chat/transcript/useTranscriptFindKey.ts +0 -52
- package/src/chat/transcript/useTranscriptScroll.ts +0 -162
- package/src/chat/transcript/useTranscriptSearch.tsx +0 -382
- package/src/chat/transcript/useTranscriptSelectionCopy.ts +0 -63
- package/src/chat/transcript/useWheelHoverPause.ts +0 -79
- package/src/chat/transcript/user-bash.tsx +0 -134
- package/src/chat/useChatLabels.ts +0 -14
- package/src/code/CodeHighlightProvider.tsx +0 -87
- package/src/code/HighlightedCode.tsx +0 -150
- package/src/code/code-themes.ts +0 -34
- package/src/code/editor/CodeCompletion.tsx +0 -719
- package/src/code/editor/CodeEditor.tsx +0 -480
- package/src/code/editor/CodeHover.tsx +0 -428
- package/src/code/editor/DiagnosticAnnotation.tsx +0 -73
- package/src/code/editor/DiagnosticsChip.tsx +0 -85
- package/src/code/editor/DiffView.tsx +0 -197
- package/src/code/editor/EditorColumn.tsx +0 -256
- package/src/code/editor/FileIcon.tsx +0 -89
- package/src/code/editor/FileTabPill.tsx +0 -101
- package/src/code/editor/FileTree.tsx +0 -414
- package/src/code/editor/FileView.tsx +0 -462
- package/src/code/editor/HighlightWorkers.tsx +0 -84
- package/src/code/editor/LanguageEditor.tsx +0 -210
- package/src/code/editor/_vendor/tree-icon-colors.ts +0 -72
- package/src/code/editor/diagnostics.ts +0 -140
- package/src/code/editor/edit-session.ts +0 -28
- package/src/code/editor/environment.tsx +0 -88
- package/src/code/editor/find/FindBar.tsx +0 -126
- package/src/code/editor/find/find-highlight.ts +0 -138
- package/src/code/editor/find/find-model.ts +0 -123
- package/src/code/editor/find/settle-scroll.ts +0 -77
- package/src/code/editor/find/useFind.ts +0 -203
- package/src/code/editor/fs-adapter.ts +0 -37
- package/src/code/editor/index.ts +0 -36
- package/src/code/editor/language.ts +0 -31
- package/src/code/editor/patch-parse.ts +0 -176
- package/src/code/editor/patch-parse.worker.ts +0 -12
- package/src/code/editor/pierre-theme.ts +0 -154
- package/src/code/editor/prime-diff.ts +0 -37
- package/src/code/editor/reveal.ts +0 -58
- package/src/code/editor/scroll-reach.ts +0 -28
- package/src/code/editor/useCodeDocument.ts +0 -226
- package/src/code/editor/useDefinition.ts +0 -159
- package/src/code/editor/useDetachCleanup.ts +0 -36
- package/src/code/editor/useFileDocument.ts +0 -87
- package/src/code/editor/useRevealLine.ts +0 -92
- package/src/code/editor/word-at.ts +0 -145
- package/src/code/highlight.worker.ts +0 -19
- package/src/code/highlighter.ts +0 -185
- package/src/code/shiki-theme.ts +0 -47
- package/src/components/BrandMark.tsx +0 -107
- package/src/components/Breadcrumb.tsx +0 -105
- package/src/components/BrowserChrome.tsx +0 -189
- package/src/components/BrowserSignIn.tsx +0 -210
- package/src/components/ChoiceCards.tsx +0 -170
- package/src/components/CodeFrame.tsx +0 -209
- package/src/components/ConfirmDialog.tsx +0 -119
- package/src/components/CopyButton.tsx +0 -85
- package/src/components/EditableTitle.tsx +0 -199
- package/src/components/ErrorBoundary.tsx +0 -208
- package/src/components/Form.tsx +0 -589
- package/src/components/Highlighted.tsx +0 -68
- package/src/components/HowItWorks.tsx +0 -123
- package/src/components/IconButton.tsx +0 -101
- package/src/components/IconToggle.tsx +0 -71
- package/src/components/Keycap.tsx +0 -334
- package/src/components/Lightbox.tsx +0 -257
- package/src/components/LoadError.tsx +0 -45
- package/src/components/MediaNav.tsx +0 -85
- package/src/components/Menu.tsx +0 -435
- package/src/components/Overlay.tsx +0 -327
- package/src/components/PanelEmpty.tsx +0 -80
- package/src/components/PanelRows.tsx +0 -107
- package/src/components/PreviewWindow.tsx +0 -53
- package/src/components/ReorderTabs.tsx +0 -103
- package/src/components/RowActionsMenu.tsx +0 -383
- package/src/components/SegmentSpinner.tsx +0 -88
- package/src/components/Segmented.tsx +0 -126
- package/src/components/StepFrame.tsx +0 -151
- package/src/components/Stepper.tsx +0 -157
- package/src/components/Surface.tsx +0 -191
- package/src/components/SwatchPicker.tsx +0 -147
- package/src/components/SwitchGlyph.tsx +0 -56
- package/src/components/TabPill.tsx +0 -188
- package/src/components/ThemeThumb.tsx +0 -52
- package/src/components/ToggleCard.tsx +0 -120
- package/src/components/Tooltip.tsx +0 -288
- package/src/components/ZoomableImage.tsx +0 -322
- package/src/components/button.ts +0 -120
- package/src/components/floating/FloatingSurface.tsx +0 -158
- package/src/components/floating/HoverCard.tsx +0 -143
- package/src/components/floating/Popover.tsx +0 -166
- package/src/components/floating/useAnchoredPosition.ts +0 -186
- package/src/components/floating/usePopover.ts +0 -158
- package/src/components/image-clipboard.ts +0 -70
- package/src/components/keyboard-layout.ts +0 -115
- package/src/components/palette/PaletteList.tsx +0 -432
- package/src/components/palette/PalettePanel.tsx +0 -338
- package/src/components/palette/palette-layout.ts +0 -86
- package/src/components/report-error.ts +0 -142
- package/src/components/zoom.ts +0 -133
- package/src/files/CodeViewer.tsx +0 -289
- package/src/files/DiffFileViewer.tsx +0 -143
- package/src/files/DiffsTab.tsx +0 -590
- package/src/files/EditorColumn.tsx +0 -453
- package/src/files/FilesDiagnosticsChip.tsx +0 -32
- package/src/files/FilesProvider.tsx +0 -58
- package/src/files/FilesTab.tsx +0 -441
- package/src/files/MediaDiff.tsx +0 -61
- package/src/files/MediaView.tsx +0 -170
- package/src/files/ReviewDraft.tsx +0 -88
- package/src/files/ReviewableDiff.tsx +0 -72
- package/src/files/SearchPanel.tsx +0 -325
- package/src/files/TreeColumn.tsx +0 -229
- package/src/files/code-excerpt.ts +0 -265
- package/src/files/code-menu.ts +0 -53
- package/src/files/drafts-store.ts +0 -159
- package/src/files/file-actions.ts +0 -152
- package/src/files/headless/editor-prefs.ts +0 -230
- package/src/files/headless/entries.ts +0 -172
- package/src/files/headless/fixture-host.ts +0 -260
- package/src/files/headless/host.ts +0 -387
- package/src/files/headless/index.ts +0 -14
- package/src/files/headless/labels.ts +0 -123
- package/src/files/headless/lsp-edits.ts +0 -40
- package/src/files/headless/media.ts +0 -57
- package/src/files/headless/name-match.ts +0 -38
- package/src/files/headless/search.ts +0 -23
- package/src/files/headless/view.ts +0 -114
- package/src/files/headless/workspace-diff.ts +0 -82
- package/src/files/index.ts +0 -24
- package/src/files/lazy-tabs.tsx +0 -41
- package/src/files/tab-hooks.ts +0 -37
- package/src/files/testing/contract.ts +0 -279
- package/src/files/testing/demo.ts +0 -36
- package/src/files/testing/index.ts +0 -7
- package/src/files/useCodeReview.tsx +0 -177
- package/src/files/useDiagnostics.ts +0 -59
- package/src/files/useDiagnosticsRun.ts +0 -86
- package/src/files/useEntryActions.ts +0 -280
- package/src/files/useFilesDiagnostics.ts +0 -51
- package/src/files/useFilesLabels.ts +0 -14
- package/src/files/useFolderChanges.ts +0 -38
- package/src/files/useLsp.ts +0 -178
- package/src/files/useOpenFiles.ts +0 -402
- package/src/files/useWorkspace.ts +0 -148
- package/src/files/working-tree-diff.ts +0 -142
- package/src/git/BranchMenu.tsx +0 -981
- package/src/git/GitBar.tsx +0 -286
- package/src/git/GitProvider.tsx +0 -50
- package/src/git/ImportRepoDialog.tsx +0 -381
- package/src/git/MoveSessionDialog.tsx +0 -394
- package/src/git/RemoteFolderPicker.tsx +0 -475
- package/src/git/SyncChip.tsx +0 -275
- package/src/git/WherePicker.tsx +0 -358
- package/src/git/headless/environment.ts +0 -132
- package/src/git/headless/host.ts +0 -353
- package/src/git/headless/index.ts +0 -14
- package/src/git/headless/labels.ts +0 -230
- package/src/git/headless/move.ts +0 -101
- package/src/git/headless/remote-clone.ts +0 -44
- package/src/git/headless/status-reads.ts +0 -77
- package/src/git/headless/switcher.ts +0 -215
- package/src/git/headless/sync.ts +0 -71
- package/src/git/index.ts +0 -17
- package/src/git/testing/contract.ts +0 -551
- package/src/git/testing/index.ts +0 -537
- package/src/git/useEnvironmentChoices.ts +0 -50
- package/src/git/useGitBar.ts +0 -180
- package/src/hooks/keyed-store.ts +0 -65
- package/src/hooks/useHydrated.ts +0 -16
- package/src/hooks/useMinuteTick.ts +0 -49
- package/src/hooks/useNearViewport.ts +0 -111
- package/src/hooks/usePersistedState.ts +0 -98
- package/src/hooks/useResizeDrag.ts +0 -240
- package/src/hooks/useTabDrag.ts +0 -88
- package/src/index.ts +0 -118
- package/src/keybindings/KeyCommands.tsx +0 -123
- package/src/keybindings/KeyHint.tsx +0 -78
- package/src/keybindings/KeybindingsProvider.tsx +0 -231
- package/src/keybindings/headless/catalog.ts +0 -360
- package/src/keybindings/headless/commands.ts +0 -77
- package/src/keybindings/headless/fixture-host.ts +0 -51
- package/src/keybindings/headless/host.ts +0 -29
- package/src/keybindings/headless/index.ts +0 -13
- package/src/keybindings/headless/key-scope.ts +0 -91
- package/src/keybindings/headless/labels.ts +0 -14
- package/src/keybindings/headless/overrides.ts +0 -64
- package/src/keybindings/index.ts +0 -14
- package/src/keybindings/load-once.ts +0 -11
- package/src/keybindings/match.ts +0 -48
- package/src/keybindings/testing/contract.ts +0 -139
- package/src/keybindings/testing/index.ts +0 -6
- package/src/keybindings/useHelpKey.ts +0 -35
- package/src/keybindings/useKeybindingsLabels.ts +0 -14
- package/src/labels.tsx +0 -175
- package/src/machines/AddServerForm.tsx +0 -151
- package/src/machines/Banners.tsx +0 -172
- package/src/machines/DaemonMenu.tsx +0 -413
- package/src/machines/HostCapabilities.tsx +0 -245
- package/src/machines/HostSignIn.tsx +0 -63
- package/src/machines/HostSyncPanel.tsx +0 -275
- package/src/machines/HostsSection.tsx +0 -312
- package/src/machines/MachinesProvider.tsx +0 -164
- package/src/machines/ServerCard.tsx +0 -347
- package/src/machines/ServerMachinesPanel.tsx +0 -547
- package/src/machines/ServerUpdatePanel.tsx +0 -160
- package/src/machines/SyncAccounts.tsx +0 -148
- package/src/machines/SyncMarker.tsx +0 -87
- package/src/machines/SyncOutcomeBadge.tsx +0 -84
- package/src/machines/TokensPanel.tsx +0 -249
- package/src/machines/headless/fixture-host.ts +0 -519
- package/src/machines/headless/fixtures.ts +0 -164
- package/src/machines/headless/host.ts +0 -381
- package/src/machines/headless/index.ts +0 -13
- package/src/machines/headless/labels.ts +0 -356
- package/src/machines/headless/messages.ts +0 -197
- package/src/machines/headless/presence.ts +0 -110
- package/src/machines/headless/settings-focus.ts +0 -25
- package/src/machines/headless/stores.ts +0 -137
- package/src/machines/headless/sync.ts +0 -207
- package/src/machines/index.ts +0 -29
- package/src/machines/settings-section.tsx +0 -37
- package/src/machines/testing/contract.ts +0 -617
- package/src/machines/testing/index.ts +0 -7
- package/src/machines/testing/sync.contract.ts +0 -260
- package/src/motion/SwapIcon.tsx +0 -29
- package/src/motion/collapse.ts +0 -21
- package/src/motion/grow.tsx +0 -86
- package/src/motion/layout-animating.ts +0 -50
- package/src/motion/presence.ts +0 -191
- package/src/motion/provider.tsx +0 -63
- package/src/motion/reduced.ts +0 -36
- package/src/motion/roll.tsx +0 -131
- package/src/motion/shimmer.ts +0 -15
- package/src/motion/size.tsx +0 -192
- package/src/motion/springs.ts +0 -413
- package/src/motion/swap.tsx +0 -216
- package/src/motion/title-text.tsx +0 -74
- package/src/onboarding/ConnectProviderCard.tsx +0 -49
- package/src/onboarding/OnboardingFlow.tsx +0 -176
- package/src/onboarding/OnboardingProvider.tsx +0 -209
- package/src/onboarding/OnboardingStepFrame.tsx +0 -80
- package/src/onboarding/conversation.tsx +0 -179
- package/src/onboarding/demos/autonomy.tsx +0 -154
- package/src/onboarding/demos/extensions.tsx +0 -183
- package/src/onboarding/demos/features.tsx +0 -447
- package/src/onboarding/demos/how-it-works.tsx +0 -698
- package/src/onboarding/demos/index.ts +0 -11
- package/src/onboarding/demos/parts.tsx +0 -133
- package/src/onboarding/demos/tour.tsx +0 -217
- package/src/onboarding/headless/controller.ts +0 -110
- package/src/onboarding/headless/fixture-host.ts +0 -269
- package/src/onboarding/headless/fixtures.ts +0 -486
- package/src/onboarding/headless/host.ts +0 -176
- package/src/onboarding/headless/index.ts +0 -8
- package/src/onboarding/headless/labels.ts +0 -280
- package/src/onboarding/index.ts +0 -20
- package/src/onboarding/marks.tsx +0 -69
- package/src/onboarding/preview-attachments.ts +0 -39
- package/src/onboarding/skills/SkillSourceBrowser.tsx +0 -336
- package/src/onboarding/skills/parts.tsx +0 -440
- package/src/onboarding/steps/AutonomyStep.tsx +0 -128
- package/src/onboarding/steps/ConnectStep.tsx +0 -104
- package/src/onboarding/steps/ConnectorsStep.tsx +0 -226
- package/src/onboarding/steps/ConversationStep.tsx +0 -131
- package/src/onboarding/steps/ExtensionsStep.tsx +0 -113
- package/src/onboarding/steps/FeatureExample.tsx +0 -46
- package/src/onboarding/steps/FeaturesStep.tsx +0 -88
- package/src/onboarding/steps/ImportStep.tsx +0 -156
- package/src/onboarding/steps/LookStep.tsx +0 -276
- package/src/onboarding/steps/ReadyStep.tsx +0 -278
- package/src/onboarding/steps/SkillsStep.tsx +0 -45
- package/src/onboarding/steps/StepSection.tsx +0 -63
- package/src/onboarding/steps/Tradeoff.tsx +0 -45
- package/src/onboarding/steps/WelcomeStep.tsx +0 -147
- package/src/onboarding/steps/connect/KeyForm.tsx +0 -112
- package/src/onboarding/steps/connect/ProviderPanel.tsx +0 -149
- package/src/onboarding/steps/connect/ProviderReady.tsx +0 -171
- package/src/onboarding/steps/connect/ready-text.ts +0 -17
- package/src/onboarding/steps/index.ts +0 -12
- package/src/onboarding/steps/tasks.tsx +0 -84
- package/src/onboarding/testing/contract.ts +0 -472
- package/src/onboarding/testing/index.ts +0 -7
- package/src/onboarding/tutorials.tsx +0 -45
- package/src/onboarding/useSignIn.ts +0 -58
- package/src/palette/CommandPalette.tsx +0 -59
- package/src/palette/PaletteDialog.tsx +0 -186
- package/src/palette/PaletteProvider.tsx +0 -149
- package/src/palette/PaletteRows.tsx +0 -208
- package/src/palette/app-sources.ts +0 -62
- package/src/palette/headless/app-sources.ts +0 -515
- package/src/palette/headless/gather.ts +0 -50
- package/src/palette/headless/host.ts +0 -129
- package/src/palette/headless/index.ts +0 -15
- package/src/palette/headless/labels.ts +0 -124
- package/src/palette/headless/rank-protocol.ts +0 -23
- package/src/palette/headless/recents.ts +0 -35
- package/src/palette/headless/session-sources.ts +0 -218
- package/src/palette/headless/sources.ts +0 -313
- package/src/palette/headless/store.ts +0 -105
- package/src/palette/index.ts +0 -17
- package/src/palette/rank.worker.ts +0 -30
- package/src/palette/setup.ts +0 -19
- package/src/palette/testing/contract.ts +0 -250
- package/src/palette/testing/index.ts +0 -152
- package/src/palette/useConversationSearch.ts +0 -115
- package/src/palette/usePaletteController.ts +0 -229
- package/src/palette/useRankedItems.ts +0 -122
- package/src/path.ts +0 -165
- package/src/server/demo-tools.ts +0 -34
- package/src/server/environment.ts +0 -118
- package/src/server/index.ts +0 -7
- package/src/server/scripted-provider.ts +0 -174
- package/src/server/sse-handler.ts +0 -457
- package/src/server/testing/index.ts +0 -7
- package/src/session/ArtifactRowChips.tsx +0 -251
- package/src/session/ArtifactsPanel.tsx +0 -381
- package/src/session/DiffFileTree.tsx +0 -173
- package/src/session/PanelAttention.tsx +0 -131
- package/src/session/ProviderUsageProvider.tsx +0 -106
- package/src/session/QueueTab.tsx +0 -669
- package/src/session/RunningWorkDialog.tsx +0 -178
- package/src/session/SessionCacheFacts.tsx +0 -190
- package/src/session/SessionDetailsDialog.tsx +0 -621
- package/src/session/SessionHeader.tsx +0 -237
- package/src/session/SessionProvider.tsx +0 -98
- package/src/session/SessionShell.tsx +0 -77
- package/src/session/SideChat.tsx +0 -316
- package/src/session/TodoList.tsx +0 -123
- package/src/session/TodosPanel.tsx +0 -278
- package/src/session/TurnDetailsDialog.tsx +0 -299
- package/src/session/UsagePanel.tsx +0 -222
- package/src/session/WelcomeScreen.tsx +0 -578
- package/src/session/headless/artifacts.ts +0 -101
- package/src/session/headless/diff-tree.ts +0 -167
- package/src/session/headless/fixture-host.ts +0 -331
- package/src/session/headless/host.ts +0 -255
- package/src/session/headless/index.ts +0 -22
- package/src/session/headless/keyed.ts +0 -72
- package/src/session/headless/labels.ts +0 -321
- package/src/session/headless/queue-attachments.ts +0 -73
- package/src/session/headless/queue.ts +0 -122
- package/src/session/headless/running-work.ts +0 -85
- package/src/session/headless/session-actions.ts +0 -198
- package/src/session/headless/session-diffs.ts +0 -136
- package/src/session/headless/side.ts +0 -63
- package/src/session/headless/todos.ts +0 -62
- package/src/session/headless/usage-format.ts +0 -280
- package/src/session/headless/usage.ts +0 -380
- package/src/session/index.ts +0 -29
- package/src/session/testing/contract.ts +0 -579
- package/src/session/testing/demo.ts +0 -209
- package/src/session/testing/index.ts +0 -7
- package/src/session/useSessionLabels.ts +0 -14
- package/src/session/useUsageSummary.ts +0 -82
- package/src/settings/SettingsHeadingText.tsx +0 -54
- package/src/settings/SettingsHostSwitcher.tsx +0 -93
- package/src/settings/SettingsNav.tsx +0 -116
- package/src/settings/SettingsProvider.tsx +0 -127
- package/src/settings/SettingsRowsPage.tsx +0 -217
- package/src/settings/SettingsShell.tsx +0 -336
- package/src/settings/SettingsTutorial.tsx +0 -55
- package/src/settings/headless/catalog.ts +0 -553
- package/src/settings/headless/claude-import.ts +0 -61
- package/src/settings/headless/enabled.ts +0 -44
- package/src/settings/headless/fixture-accounts.ts +0 -260
- package/src/settings/headless/fixture-host.ts +0 -162
- package/src/settings/headless/fixture-models.ts +0 -51
- package/src/settings/headless/fixture-performance.ts +0 -350
- package/src/settings/headless/fixture-sections.ts +0 -323
- package/src/settings/headless/host.ts +0 -125
- package/src/settings/headless/index.ts +0 -22
- package/src/settings/headless/labels.ts +0 -63
- package/src/settings/headless/layout-sections.ts +0 -41
- package/src/settings/headless/layout.ts +0 -723
- package/src/settings/headless/mcp.ts +0 -319
- package/src/settings/headless/models.ts +0 -51
- package/src/settings/headless/page-counts.ts +0 -40
- package/src/settings/headless/performance.ts +0 -524
- package/src/settings/headless/providers.ts +0 -117
- package/src/settings/headless/registry.ts +0 -52
- package/src/settings/headless/resource.ts +0 -75
- package/src/settings/headless/search.ts +0 -142
- package/src/settings/headless/sections-host.ts +0 -307
- package/src/settings/index.ts +0 -32
- package/src/settings/rows.tsx +0 -152
- package/src/settings/section.tsx +0 -165
- package/src/settings/sections/appearance/AppearanceSection.tsx +0 -667
- package/src/settings/sections/appearance/labels.ts +0 -77
- package/src/settings/sections/claude-import/ClaudeImportDialog.tsx +0 -258
- package/src/settings/sections/claude-import/labels.ts +0 -42
- package/src/settings/sections/claude-import/use-claude-import-available.ts +0 -35
- package/src/settings/sections/descriptors.tsx +0 -261
- package/src/settings/sections/editor/EditorSection.tsx +0 -521
- package/src/settings/sections/editor/labels.ts +0 -84
- package/src/settings/sections/enabled-list/EnabledListSection.tsx +0 -112
- package/src/settings/sections/enabled-list/labels.ts +0 -37
- package/src/settings/sections/environments/EnvironmentsSection.tsx +0 -549
- package/src/settings/sections/environments/labels.ts +0 -31
- package/src/settings/sections/extensions/CreateExtensionDialog.tsx +0 -206
- package/src/settings/sections/extensions/ExtensionOptionsSection.tsx +0 -743
- package/src/settings/sections/extensions/ExtensionsSection.tsx +0 -480
- package/src/settings/sections/extensions/create-labels.ts +0 -31
- package/src/settings/sections/extensions/labels.ts +0 -38
- package/src/settings/sections/extensions/options-labels.ts +0 -31
- package/src/settings/sections/host-catalog/HostCatalogSection.tsx +0 -374
- package/src/settings/sections/host-catalog/labels.ts +0 -40
- package/src/settings/sections/index.ts +0 -58
- package/src/settings/sections/instructions/InstructionsSection.tsx +0 -381
- package/src/settings/sections/instructions/labels.ts +0 -33
- package/src/settings/sections/keybindings/KeybindingsSection.tsx +0 -124
- package/src/settings/sections/keybindings/labels.ts +0 -72
- package/src/settings/sections/keybindings/rows.ts +0 -103
- package/src/settings/sections/logs/LogsSection.tsx +0 -153
- package/src/settings/sections/logs/labels.ts +0 -20
- package/src/settings/sections/mcp/McpAddForm.tsx +0 -245
- package/src/settings/sections/mcp/McpSection.tsx +0 -358
- package/src/settings/sections/mcp/McpServerRow.tsx +0 -403
- package/src/settings/sections/mcp/labels.ts +0 -193
- package/src/settings/sections/models/AgentDefaults.tsx +0 -365
- package/src/settings/sections/models/ModelListPicker.tsx +0 -265
- package/src/settings/sections/models/ModelPickField.tsx +0 -220
- package/src/settings/sections/models/ModelRows.tsx +0 -381
- package/src/settings/sections/models/SpacesDefaultsSection.tsx +0 -102
- package/src/settings/sections/models/labels.ts +0 -119
- package/src/settings/sections/models/model-test.tsx +0 -125
- package/src/settings/sections/performance/PerfSparkline.tsx +0 -64
- package/src/settings/sections/performance/PerformanceHud.tsx +0 -110
- package/src/settings/sections/performance/PerformanceSection.tsx +0 -770
- package/src/settings/sections/performance/labels.ts +0 -114
- package/src/settings/sections/performance/use-perf-monitor.ts +0 -26
- package/src/settings/sections/plugins/PluginsSection.tsx +0 -148
- package/src/settings/sections/plugins/labels.ts +0 -23
- package/src/settings/sections/providers/CredentialSources.tsx +0 -237
- package/src/settings/sections/providers/ProvidersSection.tsx +0 -389
- package/src/settings/sections/providers/ServerProvidersSection.tsx +0 -244
- package/src/settings/sections/providers/ServerSignIn.tsx +0 -136
- package/src/settings/sections/providers/labels.ts +0 -160
- package/src/settings/sections/shared/catalog.tsx +0 -246
- package/src/settings/sections/shared/labels.ts +0 -31
- package/src/settings/sections/skills/SkillList.tsx +0 -494
- package/src/settings/sections/skills/SkillsSection.tsx +0 -249
- package/src/settings/sections/skills/labels.ts +0 -54
- package/src/settings/sections/use-section-labels.ts +0 -10
- package/src/settings/testing/accounts-demo.ts +0 -110
- package/src/settings/testing/accounts.contract.ts +0 -319
- package/src/settings/testing/claude-import.contract.ts +0 -93
- package/src/settings/testing/contract.ts +0 -192
- package/src/settings/testing/extension-options.contract.ts +0 -163
- package/src/settings/testing/index.ts +0 -11
- package/src/settings/testing/models.contract.ts +0 -135
- package/src/settings/testing/performance.contract.ts +0 -219
- package/src/settings/testing/sections.contract.ts +0 -306
- package/src/terminal/HostTerminalSurface.tsx +0 -911
- package/src/terminal/TerminalDrawer.tsx +0 -228
- package/src/terminal/TerminalPanel.tsx +0 -740
- package/src/terminal/TerminalProvider.tsx +0 -201
- package/src/terminal/TerminalSurface.tsx +0 -262
- package/src/terminal/box-glyphs.ts +0 -333
- package/src/terminal/ghostty.ts +0 -116
- package/src/terminal/grid-size.ts +0 -46
- package/src/terminal/headless/fixture-host.ts +0 -250
- package/src/terminal/headless/host.ts +0 -99
- package/src/terminal/headless/index.ts +0 -11
- package/src/terminal/headless/labels.ts +0 -69
- package/src/terminal/headless/layout.ts +0 -57
- package/src/terminal/headless/links.ts +0 -227
- package/src/terminal/headless/order.ts +0 -28
- package/src/terminal/headless/output-cursor.ts +0 -66
- package/src/terminal/headless/recent.ts +0 -20
- package/src/terminal/headless/replay.ts +0 -45
- package/src/terminal/headless/scope.ts +0 -60
- package/src/terminal/headless/store.ts +0 -621
- package/src/terminal/index.ts +0 -40
- package/src/terminal/keys.ts +0 -34
- package/src/terminal/testing/contract.ts +0 -274
- package/src/terminal/testing/demo.ts +0 -40
- package/src/terminal/testing/index.ts +0 -7
- package/src/terminal/theme.ts +0 -110
- package/src/terminal/useTerminalLabels.ts +0 -14
- package/src/theme/accents.ts +0 -46
- package/src/theme/color.ts +0 -450
- package/src/theme/css-vars.ts +0 -187
- package/src/theme/derive.ts +0 -700
- package/src/theme/from-theme.ts +0 -52
- package/src/theme/stylesheet.ts +0 -55
- package/src/theme/themes.ts +0 -767
- package/src/theme/without-transitions.ts +0 -18
- package/src/uno.ts +0 -167
- package/src/workspace/LayoutBudget.tsx +0 -143
- package/src/workspace/PanelContentView.tsx +0 -335
- package/src/workspace/PanelGroups.tsx +0 -249
- package/src/workspace/PanelStrip.tsx +0 -307
- package/src/workspace/SidePanel.tsx +0 -192
- package/src/workspace/TabParking.tsx +0 -111
- package/src/workspace/WorkspaceProvider.tsx +0 -554
- package/src/workspace/dnd/engine.ts +0 -371
- package/src/workspace/dnd/hooks.ts +0 -72
- package/src/workspace/dnd/index.ts +0 -57
- package/src/workspace/dnd/parking.tsx +0 -181
- package/src/workspace/frame-motion.ts +0 -160
- package/src/workspace/headless/contents.ts +0 -125
- package/src/workspace/headless/host.ts +0 -118
- package/src/workspace/headless/index.ts +0 -33
- package/src/workspace/headless/labels.ts +0 -34
- package/src/workspace/headless/layout-memory.ts +0 -649
- package/src/workspace/headless/layouts.ts +0 -224
- package/src/workspace/headless/open-target.ts +0 -125
- package/src/workspace/headless/ops.ts +0 -163
- package/src/workspace/headless/panel-focus.ts +0 -58
- package/src/workspace/headless/panel-tree.ts +0 -259
- package/src/workspace/headless/resolve.ts +0 -146
- package/src/workspace/headless/reveal-at.ts +0 -27
- package/src/workspace/headless/strip-drop.ts +0 -81
- package/src/workspace/headless/tree.ts +0 -480
- package/src/workspace/headless/view.ts +0 -159
- package/src/workspace/index.ts +0 -22
- package/src/workspace/panel-group-keys.ts +0 -36
- package/src/workspace/panel-visibility.ts +0 -28
- package/src/workspace/tab-scopes.ts +0 -245
- package/src/workspace/testing/contract.ts +0 -282
- package/src/workspace/testing/index.ts +0 -140
- package/src/workspace/use-split-drag.ts +0 -73
- package/src/workspace/useScopeLayout.ts +0 -26
- package/src/workspace/useViewport.ts +0 -22
- package/src/workspace/useWorkspaceLabels.ts +0 -14
- package/src/workspace/workspace-key-commands.ts +0 -108
- /package/dist/dist/{types-bDQagoiL.d.ts → types-2HrgolQz.d.ts} +0 -0
|
@@ -1,524 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings › Performance, React-free: what a host measures (processes,
|
|
3
|
-
* threads, IPC channels, slow frames, the GPU), the host member that streams
|
|
4
|
-
* it (`SettingsHost.performance`), the monitor store a view reads, and the
|
|
5
|
-
* formatting and ordering the section and the overlay share.
|
|
6
|
-
*
|
|
7
|
-
* Sampling costs CPU, so a host samples only while something watches:
|
|
8
|
-
* {@link createPerfMonitor}'s `start` opens the watch, its disposer closes it.
|
|
9
|
-
* A view starts it only while it is on screen.
|
|
10
|
-
*/
|
|
11
|
-
import { writable, type Readable } from '../../chat/headless/store';
|
|
12
|
-
|
|
13
|
-
/** What a process is to the app. */
|
|
14
|
-
export type PerfProcessKind = 'main' | 'window' | 'page' | 'gpu' | 'utility' | 'daemon' | 'child' | 'other';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Whose cost a process is. `app`: the app's own (its processes, its daemon,
|
|
18
|
-
* the servers and helpers they run). `launched`: what a session's commands, a
|
|
19
|
-
* background task or a terminal started, and everything under it.
|
|
20
|
-
*/
|
|
21
|
-
export type PerfOrigin = 'app' | 'launched';
|
|
22
|
-
|
|
23
|
-
/** CPU and memory, summed. */
|
|
24
|
-
export interface PerfTotals {
|
|
25
|
-
/** Percent of one core. */
|
|
26
|
-
cpu: number;
|
|
27
|
-
/** Resident, bytes. */
|
|
28
|
-
memory: number;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** One process of the app, its daemon, or a program either started. */
|
|
32
|
-
export interface PerfProcess {
|
|
33
|
-
/** The OS process id. */
|
|
34
|
-
pid: number;
|
|
35
|
-
/** The process it runs under in the tree shown (`null`: a root). */
|
|
36
|
-
parent: number | null;
|
|
37
|
-
/** What it is to the app. */
|
|
38
|
-
kind: PerfProcessKind;
|
|
39
|
-
/** A short name. */
|
|
40
|
-
label: string;
|
|
41
|
-
/** More: the command line, the service, the page's URL. */
|
|
42
|
-
detail?: string;
|
|
43
|
-
/** Whose cost it is. */
|
|
44
|
-
origin: PerfOrigin;
|
|
45
|
-
/** CPU over the last interval, percent of one core. */
|
|
46
|
-
cpu: number;
|
|
47
|
-
/** Resident memory, bytes. */
|
|
48
|
-
memory: number;
|
|
49
|
-
/** An MCP server's process: its server, and whether sessions share it. */
|
|
50
|
-
mcp?: PerfProcessMcp;
|
|
51
|
-
/** The session it runs for: a process a session started (a command, a terminal, its own MCP server), or one under it. */
|
|
52
|
-
session?: PerfProcessSession;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** The session a process runs for. */
|
|
56
|
-
export interface PerfProcessSession {
|
|
57
|
-
/** The session's key, as the app names sessions. */
|
|
58
|
-
id: string;
|
|
59
|
-
/** Its title; absent while it has none. */
|
|
60
|
-
title?: string;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/** The MCP server a process runs. */
|
|
64
|
-
export interface PerfProcessMcp {
|
|
65
|
-
/** The server's name. */
|
|
66
|
-
name: string;
|
|
67
|
-
/** One process for every session, or one session's. */
|
|
68
|
-
shared: boolean;
|
|
69
|
-
/** Sessions holding it now. */
|
|
70
|
-
sessions: number;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** A thread the app can name. */
|
|
74
|
-
export interface PerfThread {
|
|
75
|
-
/** Unique among the sample's threads. */
|
|
76
|
-
id: string;
|
|
77
|
-
/** A short name. */
|
|
78
|
-
label: string;
|
|
79
|
-
/** The process it runs in. */
|
|
80
|
-
pid: number;
|
|
81
|
-
/** A process's main thread, a worker, a window's renderer, or a renderer's worker. */
|
|
82
|
-
kind: 'main' | 'worker' | 'renderer' | 'renderer-worker';
|
|
83
|
-
/** Share of the interval it was busy (0–1). */
|
|
84
|
-
busy: number;
|
|
85
|
-
/** JavaScript heap in use, bytes. */
|
|
86
|
-
heap?: number;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** `invoke`: a request timed to its answer; `send`: a message to the host; `push`: a message from it. */
|
|
90
|
-
export type PerfChannelDirection = 'invoke' | 'send' | 'push';
|
|
91
|
-
|
|
92
|
-
/** One message channel's counters. */
|
|
93
|
-
export interface PerfChannel {
|
|
94
|
-
/** The channel's name. */
|
|
95
|
-
channel: string;
|
|
96
|
-
/** Which way its messages go. */
|
|
97
|
-
direction: PerfChannelDirection;
|
|
98
|
-
/** Messages since the counters were last reset. */
|
|
99
|
-
count: number;
|
|
100
|
-
/** Time they took, summed (invokes: until answered). */
|
|
101
|
-
totalMs: number;
|
|
102
|
-
/** The slowest one. */
|
|
103
|
-
maxMs: number;
|
|
104
|
-
/** 95th percentile. */
|
|
105
|
-
p95Ms: number;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/** Where long frames (over 50 ms) spent their time: one script and function, summed. */
|
|
109
|
-
export interface PerfSlowFrame {
|
|
110
|
-
/** The script (URL) the time was spent in. */
|
|
111
|
-
source: string;
|
|
112
|
-
/** The function. */
|
|
113
|
-
fn: string;
|
|
114
|
-
/** The window it ran in. */
|
|
115
|
-
window: string;
|
|
116
|
-
/** Long frames it was part of. */
|
|
117
|
-
count: number;
|
|
118
|
-
/** Time it took in them, summed. */
|
|
119
|
-
totalMs: number;
|
|
120
|
-
/** Its longest stretch in one frame. */
|
|
121
|
-
maxMs: number;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/** The host's event-loop delay over the last interval, ms. */
|
|
125
|
-
export interface PerfLag {
|
|
126
|
-
/** Median. */
|
|
127
|
-
p50: number;
|
|
128
|
-
/** 99th percentile. */
|
|
129
|
-
p99: number;
|
|
130
|
-
/** The worst. */
|
|
131
|
-
max: number;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/** Whole-GPU use: every app's. */
|
|
135
|
-
export interface PerfGpu {
|
|
136
|
-
/** Percent. */
|
|
137
|
-
device: number;
|
|
138
|
-
/** Renderer utilisation, percent, where the GPU reports it. */
|
|
139
|
-
renderer?: number;
|
|
140
|
-
/** Tiler utilisation, percent, where the GPU reports it. */
|
|
141
|
-
tiler?: number;
|
|
142
|
-
/** In use, bytes. */
|
|
143
|
-
memory?: number;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/** One sample. */
|
|
147
|
-
export interface PerfSample {
|
|
148
|
-
/** Epoch ms. */
|
|
149
|
-
at: number;
|
|
150
|
-
/** Time since the previous sample, ms. */
|
|
151
|
-
intervalMs: number;
|
|
152
|
-
/** Logical cores (100% CPU is one of them). */
|
|
153
|
-
cores: number;
|
|
154
|
-
/** The app's processes, its daemon's and their children. */
|
|
155
|
-
processes: PerfProcess[];
|
|
156
|
-
/** The threads the app can name. */
|
|
157
|
-
threads: PerfThread[];
|
|
158
|
-
/** Message channels, counted since `countersSince`. */
|
|
159
|
-
channels: PerfChannel[];
|
|
160
|
-
/** Where long frames spent their time, since `countersSince`. */
|
|
161
|
-
frames: PerfSlowFrame[];
|
|
162
|
-
/** Since when the channel and frame counters count (epoch ms). */
|
|
163
|
-
countersSince: number;
|
|
164
|
-
/** The host's event-loop delay; `null`: not measured. */
|
|
165
|
-
lag: PerfLag | null;
|
|
166
|
-
/** `null`: not measured on this platform. */
|
|
167
|
-
gpu: PerfGpu | null;
|
|
168
|
-
/** The app's own processes together (origin `app`). */
|
|
169
|
-
totals: PerfTotals;
|
|
170
|
-
/** What sessions and terminals launched, together (origin `launched`). */
|
|
171
|
-
launched: PerfTotals;
|
|
172
|
-
/** The monitor's own cost: percent of one core, and the wall time of the commands it ran. */
|
|
173
|
-
self: { cpu: number; commandMs: number };
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/** One OS thread of a process (no name on macOS). */
|
|
177
|
-
export interface PerfOsThread {
|
|
178
|
-
/** The OS thread id. */
|
|
179
|
-
id: string;
|
|
180
|
-
/** Its name, where the OS gives one. */
|
|
181
|
-
label: string;
|
|
182
|
-
/** CPU over the last interval, percent of one core. */
|
|
183
|
-
cpu: number;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/** What a CPU profile records: the host's main process, or this window. */
|
|
187
|
-
export type PerfProfileTarget = 'main' | 'window';
|
|
188
|
-
|
|
189
|
-
/** A function a profile spent time in. */
|
|
190
|
-
export interface PerfHotFunction {
|
|
191
|
-
/** The function's name. */
|
|
192
|
-
fn: string;
|
|
193
|
-
/** The script it is in. */
|
|
194
|
-
url: string;
|
|
195
|
-
/** Its line there. */
|
|
196
|
-
line: number;
|
|
197
|
-
/** Time in the function itself, not in what it called. */
|
|
198
|
-
selfMs: number;
|
|
199
|
-
/** Of the profile's busy time (0–1). */
|
|
200
|
-
share: number;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/** A recorded profile, saved where `path` says. */
|
|
204
|
-
export interface PerfProfile {
|
|
205
|
-
/** The saved `.cpuprofile` file. */
|
|
206
|
-
path: string;
|
|
207
|
-
/** What was profiled. */
|
|
208
|
-
target: PerfProfileTarget;
|
|
209
|
-
/** How long it recorded. */
|
|
210
|
-
durationMs: number;
|
|
211
|
-
/** The functions it spent most time in, most first. */
|
|
212
|
-
top: PerfHotFunction[];
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/** Why a profile wasn't recorded: `busy` (another profile or a debugger holds the target) or `failed`. */
|
|
216
|
-
export interface PerfProfileError {
|
|
217
|
-
/** Which of the two. */
|
|
218
|
-
kind: 'busy' | 'failed';
|
|
219
|
-
/** The error's message, when there is one. */
|
|
220
|
-
detail?: string;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/** A profile, or why there is none. */
|
|
224
|
-
export type PerfProfileOutcome = { ok: true; profile: PerfProfile } | { ok: false; error: PerfProfileError };
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Why a host's figures can't be watched: `unavailable` (the host can't say:
|
|
228
|
-
* a server too old for it), `refused` (the connection's token may not:
|
|
229
|
-
* performance needs an admin token), `failed` (anything else, `detail` says).
|
|
230
|
-
*/
|
|
231
|
-
export interface PerfWatchError {
|
|
232
|
-
/** Which of the three. */
|
|
233
|
-
kind: 'unavailable' | 'refused' | 'failed';
|
|
234
|
-
/** The error's message, when there is one. */
|
|
235
|
-
detail?: string;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/** The host's performance figures (Settings › Performance, the overlay). */
|
|
239
|
-
export interface SettingsPerformanceHost {
|
|
240
|
-
/** The samples held, oldest first. */
|
|
241
|
-
history(): Promise<readonly PerfSample[]>;
|
|
242
|
-
/**
|
|
243
|
-
* Starts sampling (the host samples only while watched) and gets each
|
|
244
|
-
* sample; `onError` hears why the host can't be watched (at most once per
|
|
245
|
-
* watch, a sample after it means it recovered). Returns the unsubscribe.
|
|
246
|
-
*/
|
|
247
|
-
watch(onSample: (sample: PerfSample) => void, onError?: (error: PerfWatchError) => void): () => void;
|
|
248
|
-
/** A process's OS threads, busiest first. Absent: rows don't expand. */
|
|
249
|
-
threads?(pid: number): Promise<readonly PerfOsThread[]>;
|
|
250
|
-
/** Zeroes the channel and frame counters. Absent: the host keeps no such counters (a server): no reset button, no Slow frames or IPC section. */
|
|
251
|
-
resetCounters?(): Promise<void>;
|
|
252
|
-
/** Writes a report and resolves where. Absent: no export button. */
|
|
253
|
-
exportReport?(): Promise<string>;
|
|
254
|
-
/** Records a CPU profile. Absent: no profile controls. */
|
|
255
|
-
profile?(target: PerfProfileTarget, seconds: number): Promise<PerfProfileOutcome>;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/** What a monitor holds. */
|
|
259
|
-
export interface PerfMonitorState {
|
|
260
|
-
/** Oldest first, at most the monitor's capacity. */
|
|
261
|
-
samples: readonly PerfSample[];
|
|
262
|
-
/** Why the host can't be watched; `null` while it can (a sample clears it). */
|
|
263
|
-
error: PerfWatchError | null;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/** A view's window on the host's samples. */
|
|
267
|
-
export interface PerfMonitor extends Readable<PerfMonitorState> {
|
|
268
|
-
/** Reads the history, then follows new samples; returns the stop. Counted: each start needs its stop. */
|
|
269
|
-
start(): () => void;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/** Samples kept: 5 minutes at the desktop app's 2 s. */
|
|
273
|
-
export const PERF_HISTORY = 150;
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Creates a monitor over a host.
|
|
277
|
-
*
|
|
278
|
-
* @param host - The host's performance member.
|
|
279
|
-
* @param capacity - Samples kept.
|
|
280
|
-
*/
|
|
281
|
-
export function createPerfMonitor(host: SettingsPerformanceHost, capacity = PERF_HISTORY): PerfMonitor {
|
|
282
|
-
const state = writable<PerfMonitorState>({ samples: [], error: null });
|
|
283
|
-
const fail = (error: PerfWatchError) => state.set((prev) => ({ ...prev, error }));
|
|
284
|
-
const add = (incoming: readonly PerfSample[]) =>
|
|
285
|
-
state.set((prev) => {
|
|
286
|
-
let last = prev.samples[prev.samples.length - 1]?.at ?? -Infinity;
|
|
287
|
-
const fresh: PerfSample[] = [];
|
|
288
|
-
for (const sample of incoming) {
|
|
289
|
-
if (sample.at <= last) continue;
|
|
290
|
-
fresh.push(sample);
|
|
291
|
-
last = sample.at;
|
|
292
|
-
}
|
|
293
|
-
if (fresh.length === 0) return prev;
|
|
294
|
-
return { samples: [...prev.samples, ...fresh].slice(-capacity), error: null };
|
|
295
|
-
});
|
|
296
|
-
let starts = 0;
|
|
297
|
-
let stop: (() => void) | null = null;
|
|
298
|
-
return {
|
|
299
|
-
get: state.get,
|
|
300
|
-
subscribe: state.subscribe,
|
|
301
|
-
start() {
|
|
302
|
-
starts += 1;
|
|
303
|
-
if (starts === 1) {
|
|
304
|
-
let live = true;
|
|
305
|
-
const pending: PerfSample[] = [];
|
|
306
|
-
let loaded = false;
|
|
307
|
-
const off = host.watch(
|
|
308
|
-
(sample) => (loaded ? add([sample]) : pending.push(sample)),
|
|
309
|
-
(error) => {
|
|
310
|
-
if (live) fail(error);
|
|
311
|
-
},
|
|
312
|
-
);
|
|
313
|
-
void host.history().then(
|
|
314
|
-
(history) => {
|
|
315
|
-
if (!live) return;
|
|
316
|
-
loaded = true;
|
|
317
|
-
add([...history, ...pending].sort((a, b) => a.at - b.at));
|
|
318
|
-
},
|
|
319
|
-
() => {
|
|
320
|
-
loaded = true;
|
|
321
|
-
add(pending);
|
|
322
|
-
},
|
|
323
|
-
);
|
|
324
|
-
stop = () => {
|
|
325
|
-
live = false;
|
|
326
|
-
off();
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
let stopped = false;
|
|
330
|
-
return () => {
|
|
331
|
-
if (stopped) return;
|
|
332
|
-
stopped = true;
|
|
333
|
-
starts -= 1;
|
|
334
|
-
if (starts === 0) {
|
|
335
|
-
stop?.();
|
|
336
|
-
stop = null;
|
|
337
|
-
}
|
|
338
|
-
};
|
|
339
|
-
},
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
/** A process with its depth in the tree, for an indented list. */
|
|
344
|
-
export interface PerfProcessRow {
|
|
345
|
-
/** The process. */
|
|
346
|
-
process: PerfProcess;
|
|
347
|
-
/** Its depth in the tree (0: a root). */
|
|
348
|
-
depth: number;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
/**
|
|
352
|
-
* The processes as a tree, each parent before its children, siblings busiest first.
|
|
353
|
-
*
|
|
354
|
-
* @param processes - One sample's.
|
|
355
|
-
*/
|
|
356
|
-
export function processTree(processes: readonly PerfProcess[]): PerfProcessRow[] {
|
|
357
|
-
const pids = new Set(processes.map((p) => p.pid));
|
|
358
|
-
const children = new Map<number | null, PerfProcess[]>();
|
|
359
|
-
for (const process of processes) {
|
|
360
|
-
const parent = process.parent !== null && pids.has(process.parent) ? process.parent : null;
|
|
361
|
-
const list = children.get(parent);
|
|
362
|
-
if (list) list.push(process);
|
|
363
|
-
else children.set(parent, [process]);
|
|
364
|
-
}
|
|
365
|
-
const out: PerfProcessRow[] = [];
|
|
366
|
-
const walk = (parent: number | null, depth: number) => {
|
|
367
|
-
const list = (children.get(parent) ?? []).slice().sort((a, b) => {
|
|
368
|
-
// The app's main process leads its own tree.
|
|
369
|
-
if (a.kind === 'main' || b.kind === 'main') return a.kind === 'main' ? -1 : 1;
|
|
370
|
-
return b.cpu - a.cpu;
|
|
371
|
-
});
|
|
372
|
-
for (const process of list) {
|
|
373
|
-
out.push({ process, depth });
|
|
374
|
-
if (process.pid !== parent) walk(process.pid, depth + 1);
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
walk(null, 0);
|
|
378
|
-
return out;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* The processes as two trees, the app's own and what was launched: a
|
|
383
|
-
* launched tree's roots are what a session or a terminal started.
|
|
384
|
-
*
|
|
385
|
-
* @param processes - One sample's.
|
|
386
|
-
*/
|
|
387
|
-
export function processGroups(processes: readonly PerfProcess[]): Record<PerfOrigin, PerfProcessRow[]> {
|
|
388
|
-
return {
|
|
389
|
-
app: processTree(processes.filter((p) => p.origin === 'app')),
|
|
390
|
-
launched: processTree(processes.filter((p) => p.origin === 'launched')),
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/** A process with the processes it started, for a tree that opens one level at a time. */
|
|
395
|
-
export interface PerfProcessNode {
|
|
396
|
-
/** The process. */
|
|
397
|
-
process: PerfProcess;
|
|
398
|
-
/** What it started, in {@link processTree}'s order. */
|
|
399
|
-
children: PerfProcessNode[];
|
|
400
|
-
/** Every process under it, at any depth. */
|
|
401
|
-
descendants: number;
|
|
402
|
-
/** What every process under it uses, summed (its own figures left out). */
|
|
403
|
-
inside: PerfTotals;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
* Nests {@link processTree}'s rows (each parent before its children).
|
|
408
|
-
*
|
|
409
|
-
* @param rows - One origin's rows, in tree order.
|
|
410
|
-
* @returns The roots.
|
|
411
|
-
*/
|
|
412
|
-
export function nestProcesses(rows: readonly PerfProcessRow[]): PerfProcessNode[] {
|
|
413
|
-
const roots: PerfProcessNode[] = [];
|
|
414
|
-
// The open path: the last node seen at each depth.
|
|
415
|
-
const path: PerfProcessNode[] = [];
|
|
416
|
-
for (const { process, depth } of rows) {
|
|
417
|
-
const node: PerfProcessNode = { process, children: [], descendants: 0, inside: { cpu: 0, memory: 0 } };
|
|
418
|
-
path.length = depth;
|
|
419
|
-
const parent = path[depth - 1];
|
|
420
|
-
if (parent) parent.children.push(node);
|
|
421
|
-
else roots.push(node);
|
|
422
|
-
for (const ancestor of path) {
|
|
423
|
-
ancestor.descendants += 1;
|
|
424
|
-
ancestor.inside.cpu += process.cpu;
|
|
425
|
-
ancestor.inside.memory += process.memory;
|
|
426
|
-
}
|
|
427
|
-
path.push(node);
|
|
428
|
-
}
|
|
429
|
-
return roots;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
/** What one session's processes use. */
|
|
433
|
-
export interface PerfSessionGroup {
|
|
434
|
-
/** The session's key. */
|
|
435
|
-
id: string;
|
|
436
|
-
/** Its title; absent while it has none. */
|
|
437
|
-
title?: string;
|
|
438
|
-
/** Its processes as a tree: what the session started, each with what runs under it. */
|
|
439
|
-
roots: PerfProcessNode[];
|
|
440
|
-
/** How many processes it has. */
|
|
441
|
-
count: number;
|
|
442
|
-
/** What they use together. */
|
|
443
|
-
totals: PerfTotals;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* The processes per session, busiest first: each session's own tree.
|
|
448
|
-
*
|
|
449
|
-
* @param processes - One sample's.
|
|
450
|
-
*/
|
|
451
|
-
export function sessionGroups(processes: readonly PerfProcess[]): PerfSessionGroup[] {
|
|
452
|
-
const bySession = new Map<string, { session: PerfProcessSession; processes: PerfProcess[] }>();
|
|
453
|
-
for (const process of processes) {
|
|
454
|
-
if (!process.session) continue;
|
|
455
|
-
const group = bySession.get(process.session.id);
|
|
456
|
-
if (group) group.processes.push(process);
|
|
457
|
-
else bySession.set(process.session.id, { session: process.session, processes: [process] });
|
|
458
|
-
}
|
|
459
|
-
return [...bySession.values()]
|
|
460
|
-
.map(({ session, processes: own }) => ({
|
|
461
|
-
id: session.id,
|
|
462
|
-
...(session.title ? { title: session.title } : {}),
|
|
463
|
-
roots: nestProcesses(processTree(own)),
|
|
464
|
-
count: own.length,
|
|
465
|
-
totals: {
|
|
466
|
-
cpu: own.reduce((sum, p) => sum + p.cpu, 0),
|
|
467
|
-
memory: own.reduce((sum, p) => sum + p.memory, 0),
|
|
468
|
-
},
|
|
469
|
-
}))
|
|
470
|
-
.sort((a, b) => b.totals.cpu - a.totals.cpu || b.totals.memory - a.totals.memory);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
/**
|
|
474
|
-
* Whether a sample holds anything sessions or terminals launched.
|
|
475
|
-
*
|
|
476
|
-
* @param sample - The sample.
|
|
477
|
-
*/
|
|
478
|
-
export function hasLaunched(sample: PerfSample): boolean {
|
|
479
|
-
return sample.processes.some((p) => p.origin === 'launched');
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
/**
|
|
483
|
-
* One value per sample, for a sparkline.
|
|
484
|
-
*
|
|
485
|
-
* @param samples - Oldest first.
|
|
486
|
-
* @param pick - The value of a sample (`undefined`: a gap, drawn as 0).
|
|
487
|
-
*/
|
|
488
|
-
export function perfSeries(samples: readonly PerfSample[], pick: (sample: PerfSample) => number | undefined): number[] {
|
|
489
|
-
return samples.map((sample) => pick(sample) ?? 0);
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
/**
|
|
493
|
-
* `12.3%` under 100, `140%` above (several cores).
|
|
494
|
-
*
|
|
495
|
-
* @param value - A percentage.
|
|
496
|
-
*/
|
|
497
|
-
export function formatPercent(value: number): string {
|
|
498
|
-
if (!Number.isFinite(value)) return '–';
|
|
499
|
-
return value >= 100 || value === 0 ? `${Math.round(value)}%` : `${value.toFixed(1)}%`;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
/**
|
|
503
|
-
* `512 KB`, `84 MB`, `1.4 GB`.
|
|
504
|
-
*
|
|
505
|
-
* @param bytes - A size.
|
|
506
|
-
*/
|
|
507
|
-
export function formatMemory(bytes: number): string {
|
|
508
|
-
if (!Number.isFinite(bytes) || bytes < 0) return '–';
|
|
509
|
-
if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`;
|
|
510
|
-
if (bytes < 1024 ** 3) return `${Math.round(bytes / 1024 ** 2)} MB`;
|
|
511
|
-
return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
/**
|
|
515
|
-
* `0.4 ms`, `38 ms`, `2.1 s`.
|
|
516
|
-
*
|
|
517
|
-
* @param ms - A duration.
|
|
518
|
-
*/
|
|
519
|
-
export function formatDuration(ms: number): string {
|
|
520
|
-
if (!Number.isFinite(ms)) return '–';
|
|
521
|
-
if (ms < 10) return `${ms.toFixed(1)} ms`;
|
|
522
|
-
if (ms < 1000) return `${Math.round(ms)} ms`;
|
|
523
|
-
return `${(ms / 1000).toFixed(1)} s`;
|
|
524
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `SettingsHost` member group of Settings › Accounts: the providers a
|
|
3
|
-
* host's agents sign in to, their stored credentials, keys and browser
|
|
4
|
-
* sign-ins. Optional; an action the group leaves out hides its control.
|
|
5
|
-
* React-free.
|
|
6
|
-
*
|
|
7
|
-
* The list comes as a {@link SettingsResource}, kept current by the host:
|
|
8
|
-
* after an action resolves, the list shows what it did. A rejection is a
|
|
9
|
-
* `SettingsError` (or anything `toSettingsError` wraps), worded by the
|
|
10
|
-
* section's labels.
|
|
11
|
-
*/
|
|
12
|
-
import type { SignInFlow } from '../../onboarding/headless/host';
|
|
13
|
-
import type { SettingsResource } from './sections-host';
|
|
14
|
-
|
|
15
|
-
/** One credential source of a provider. Never a secret. */
|
|
16
|
-
export interface SettingsCredential {
|
|
17
|
-
/** Where it comes from: a stored API key, an OAuth account, or an environment variable (observed, never stored). */
|
|
18
|
-
source: 'apikey' | 'oauth' | 'env';
|
|
19
|
-
/** What to show: the credentials file, an OAuth account's expiry, an env var name. */
|
|
20
|
-
detail: string;
|
|
21
|
-
/** The stored credential every reader resolves (`env` never is). */
|
|
22
|
-
active?: boolean;
|
|
23
|
-
/** Its key in the credentials store: what `remove`, `rename` and `setPreferred` name. Absent: not stored. */
|
|
24
|
-
key?: string;
|
|
25
|
-
/** An OAuth account's name. */
|
|
26
|
-
label?: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** A configuration field a provider asks for instead of an API key (an endpoint, a project id). */
|
|
30
|
-
export interface SettingsProviderField {
|
|
31
|
-
/** The field's key in `configure`. */
|
|
32
|
-
key: string;
|
|
33
|
-
/** Its caption. */
|
|
34
|
-
label: string;
|
|
35
|
-
/** Its placeholder. */
|
|
36
|
-
placeholder?: string;
|
|
37
|
-
/** One line under it. */
|
|
38
|
-
hint?: string;
|
|
39
|
-
/** Saving needs it. */
|
|
40
|
-
required?: boolean;
|
|
41
|
-
/** Typed masked; a blank value keeps the stored one. */
|
|
42
|
-
secret?: boolean;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** A provider and its sign-in state, as the host reports it. Never a secret. */
|
|
46
|
-
export interface SettingsProvider {
|
|
47
|
-
/** Provider key. */
|
|
48
|
-
key: string;
|
|
49
|
-
/** Display name. */
|
|
50
|
-
label: string;
|
|
51
|
-
/** One line on what it serves and how it signs in. */
|
|
52
|
-
description?: string;
|
|
53
|
-
/** The account its browser sign-in uses, for "Sign in with …". Default: `label`. */
|
|
54
|
-
signInLabel?: string;
|
|
55
|
-
/** Placeholder of its API key field. */
|
|
56
|
-
apiKeyPlaceholder?: string;
|
|
57
|
-
/** Added by an extension of the folder, not built in. */
|
|
58
|
-
extension?: boolean;
|
|
59
|
-
/** Some credential source is present. */
|
|
60
|
-
available: boolean;
|
|
61
|
-
/** An API key is stored. */
|
|
62
|
-
hasApiKey: boolean;
|
|
63
|
-
/** An OAuth account is stored. */
|
|
64
|
-
hasOAuth: boolean;
|
|
65
|
-
/** It can sign in with a browser now (with `SettingsProvidersHost.signIn`). */
|
|
66
|
-
oauth: boolean;
|
|
67
|
-
/** Its credential sources, stored ones first. */
|
|
68
|
-
methods: readonly SettingsCredential[];
|
|
69
|
-
/** Configuration fields it takes instead of an API key. */
|
|
70
|
-
customFields?: readonly SettingsProviderField[];
|
|
71
|
-
/** The non-secret field values stored now. */
|
|
72
|
-
configuredFields?: Readonly<Record<string, string>>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/** What a browser sign-in is for. */
|
|
76
|
-
export interface SettingsSignInOptions {
|
|
77
|
-
/** The new account's name (a second account of the provider). */
|
|
78
|
-
label?: string;
|
|
79
|
-
/** The stored account it signs in again. */
|
|
80
|
-
replaceKey?: string;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/** What `setPreferred` promotes: a stored credential by key, or the first stored one of a kind. */
|
|
84
|
-
export type SettingsPreferredCredential = 'apikey' | 'oauth' | { key: string };
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* The providers a host's agents use (Settings › Accounts). `cwd` is the
|
|
88
|
-
* folder whose extension providers count (`''`: built-ins only).
|
|
89
|
-
*/
|
|
90
|
-
export interface SettingsProvidersHost {
|
|
91
|
-
/** The providers and their sign-in state. */
|
|
92
|
-
list(cwd: string): SettingsResource<readonly SettingsProvider[]>;
|
|
93
|
-
/** Stores an API key. Absent: no key form. */
|
|
94
|
-
setApiKey?(cwd: string, provider: string, key: string): Promise<void>;
|
|
95
|
-
/** Stores a provider's configuration fields. Absent: no configuration form. */
|
|
96
|
-
configure?(cwd: string, provider: string, fields: Readonly<Record<string, string>>): Promise<void>;
|
|
97
|
-
/** Removes every stored credential of a provider. Absent: no Clear. */
|
|
98
|
-
clear?(cwd: string, provider: string): Promise<void>;
|
|
99
|
-
/** Removes one stored credential (`SettingsCredential.key`). Absent: no Remove. */
|
|
100
|
-
remove?(cwd: string, provider: string, credential: string): Promise<void>;
|
|
101
|
-
/** Makes a stored credential the one every reader resolves. Absent: no Use. */
|
|
102
|
-
setPreferred?(cwd: string, provider: string, target: SettingsPreferredCredential): Promise<void>;
|
|
103
|
-
/** Renames a stored OAuth account. Absent: no Rename. */
|
|
104
|
-
rename?(cwd: string, provider: string, credential: string, label: string): Promise<void>;
|
|
105
|
-
/** Starts a browser sign-in; once it is done, `list` shows the account. Absent: keys only. */
|
|
106
|
-
signIn?(provider: string, options?: SettingsSignInOptions): SignInFlow;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Whether a provider holds more than one stored credential, so there is a
|
|
111
|
-
* choice of which one is in use (the TUI's expandable auth rows).
|
|
112
|
-
*
|
|
113
|
-
* @param provider - The provider.
|
|
114
|
-
*/
|
|
115
|
-
export function hasCredentialChoice(provider: Pick<SettingsProvider, 'methods'>): boolean {
|
|
116
|
-
return provider.methods.filter((method) => method.source !== 'env').length > 1;
|
|
117
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The settings section registry: the shell (`SettingsShell`) renders the
|
|
3
|
-
* sections an app hands it (the kit's own, the per-device preference
|
|
4
|
-
* sections, an app's desktop-only ones), in order. React-free: `render`
|
|
5
|
-
* returns what the styled shell renders (a ReactNode there), typed
|
|
6
|
-
* `unknown` here.
|
|
7
|
-
*
|
|
8
|
-
* A section's body reads its context through hooks, never through
|
|
9
|
-
* `render` arguments: `useSettingsSection()` (zidane-ui/settings) gives
|
|
10
|
-
* whether it is the open one, the row a deep link or search landed on, and
|
|
11
|
-
* the header slot its actions portal into.
|
|
12
|
-
*/
|
|
13
|
-
export interface SettingsSection {
|
|
14
|
-
/** Stable id: deep links (`initialSection`, `select(id, focus)`) and search results name it. */
|
|
15
|
-
id: string;
|
|
16
|
-
/** The nav entry and the header title, already worded by the registrant. */
|
|
17
|
-
title: string;
|
|
18
|
-
/** An icon class (UnoCSS icon, e.g. `i-ph-paint-brush`) the nav draws. */
|
|
19
|
-
icon?: string;
|
|
20
|
-
/**
|
|
21
|
-
* The id of the top-level section this one is listed under (indented
|
|
22
|
-
* beneath it in the nav, e.g. `'interface'` for Appearance). Absent: a
|
|
23
|
-
* top-level entry.
|
|
24
|
-
*/
|
|
25
|
-
group?: string;
|
|
26
|
-
/** Extra words the settings search matches on the section itself. */
|
|
27
|
-
keywords?: string[];
|
|
28
|
-
/** Under the title in the header. */
|
|
29
|
-
description?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Search entries for the rows inside the section: each lands on the
|
|
32
|
-
* section and, with a `key`, on the row carrying `data-setting-focus={key}`.
|
|
33
|
-
* Absent: the section is found by its title, description and keywords.
|
|
34
|
-
*/
|
|
35
|
-
search?: readonly SettingsSearchEntry[];
|
|
36
|
-
/** Keep the body mounted (hidden) after its first visit, so its async state survives switching away. */
|
|
37
|
-
keepMounted?: boolean;
|
|
38
|
-
/** The section body. */
|
|
39
|
-
render: () => unknown;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/** One search entry inside a section. */
|
|
43
|
-
export interface SettingsSearchEntry {
|
|
44
|
-
/** The result's label. */
|
|
45
|
-
label: string;
|
|
46
|
-
/** The result's description. */
|
|
47
|
-
description: string;
|
|
48
|
-
/** The row's `data-setting-focus` id the result lands on (and searchable). */
|
|
49
|
-
key?: string;
|
|
50
|
-
/** More words it matches. */
|
|
51
|
-
keywords?: readonly string[];
|
|
52
|
-
}
|