zidane-ui 9.1.16 → 9.1.17
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/dist/adapters/browser-keybindings-host.d.ts +10 -2
- package/dist/adapters/browser-keybindings-host.js +40 -2
- package/dist/adapters/index.d.ts +3 -2
- package/dist/adapters/index.js +3 -2
- package/dist/adapters/server-custom-frame.d.ts +22 -0
- package/dist/adapters/server-custom-frame.js +163 -0
- package/dist/adapters/server-host.js +8 -3
- package/dist/adapters/server-machines-host.js +1 -0
- package/dist/adapters/server-views-host.d.ts +24 -0
- package/dist/adapters/server-views-host.js +78 -0
- package/dist/app/AppHostProvider.d.ts +4 -1
- package/dist/app/AppHostProvider.js +11 -5
- package/dist/app/ModalProvider.js +2 -2
- package/dist/app/NoticeStack.js +1 -1
- package/dist/app/headless/app-host.d.ts +3 -0
- package/dist/app/useConfirm.js +1 -1
- package/dist/appearance/AppearanceProvider.js +1 -1
- package/dist/approvals/ApprovalBar.js +27 -15
- package/dist/approvals/ApprovalShell.js +1 -1
- package/dist/approvals/ApprovalsProvider.js +1 -1
- package/dist/approvals/FileEditApproval.js +1 -1
- package/dist/approvals/HunkPreviews.js +2 -2
- package/dist/approvals/SafelistPanel.js +2 -2
- package/dist/approvals/headless/labels.d.ts +3 -0
- package/dist/approvals/headless/labels.js +3 -0
- package/dist/chat/ChatProvider.js +1 -1
- package/dist/chat/DaemonOrb.js +1 -1
- package/dist/chat/HostBadge.js +1 -1
- package/dist/chat/HostTranscript.js +1 -1
- package/dist/chat/PdfPreview.js +1 -1
- package/dist/chat/RunEstimateChip.js +1 -1
- package/dist/chat/SessionFilterMenu.js +2 -2
- package/dist/chat/SessionList.js +1 -1
- package/dist/chat/SessionListRow.js +2 -2
- package/dist/chat/SessionStreamsProvider.d.ts +3 -1
- package/dist/chat/SessionStreamsProvider.js +6 -2
- package/dist/chat/StatusDot.js +1 -1
- package/dist/chat/TextPreview.js +1 -1
- package/dist/chat/Throbber.js +1 -1
- package/dist/chat/Transcript.d.ts +1 -1
- package/dist/chat/Transcript.js +95 -26
- package/dist/chat/composer/AgentPicker.js +1 -1
- package/dist/chat/composer/AgentPickerDialog.js +1 -1
- package/dist/chat/composer/ApprovalDock.js +1 -1
- package/dist/chat/composer/AttachmentTiles.js +2 -2
- package/dist/chat/composer/Composer.js +1 -1
- package/dist/chat/composer/ComposerBadges.js +2 -2
- package/dist/chat/composer/ComposerControls.js +1 -1
- package/dist/chat/composer/ComposerEditor.js +1 -1
- package/dist/chat/composer/ComposerHostProvider.js +1 -1
- package/dist/chat/composer/ComposerShell.js +1 -1
- package/dist/chat/composer/ContextBreakdown.js +23 -23
- package/dist/chat/composer/ConversationBadges.js +1 -1
- package/dist/chat/composer/DraftPickers.d.ts +38 -0
- package/dist/chat/composer/DraftPickers.js +72 -0
- package/dist/chat/composer/EffortPickerDialog.js +1 -1
- package/dist/chat/composer/HostComposer.js +2 -2
- package/dist/chat/composer/HostContextOrb.js +2 -2
- package/dist/chat/composer/HostModelChainList.js +1 -1
- package/dist/chat/composer/HostPickers.js +1 -1
- package/dist/chat/composer/ImageModelList.js +1 -1
- package/dist/chat/composer/ModelChainList.js +1 -1
- package/dist/chat/composer/ModelChainParts.js +1 -1
- package/dist/chat/composer/ModelChainRow.js +1 -1
- package/dist/chat/composer/ModelChainRows.js +1 -1
- package/dist/chat/composer/ModelOptionsPicker.js +1 -1
- package/dist/chat/composer/ModelPicker.js +2 -2
- package/dist/chat/composer/ModelPickerDialog.js +1 -1
- package/dist/chat/composer/ModelProviderPills.js +1 -1
- package/dist/chat/composer/PickerPill.js +1 -1
- package/dist/chat/composer/ProjectMenu.js +1 -1
- package/dist/chat/composer/PromptHistoryProvider.js +1 -1
- package/dist/chat/composer/RunStatusChip.js +1 -1
- package/dist/chat/composer/attachment-ingest.js +4 -2
- package/dist/chat/composer/heif.d.ts +12 -0
- package/dist/chat/composer/heif.js +115 -0
- package/dist/chat/composer/index.d.ts +5 -3
- package/dist/chat/composer/index.js +4 -2
- package/dist/chat/composer/suggestions.js +1 -1
- package/dist/chat/composer/use-composer-stores.d.ts +3 -1
- package/dist/chat/composer/use-composer-stores.js +7 -2
- package/dist/chat/composer/use-draft-target.d.ts +5 -0
- package/dist/chat/composer/use-draft-target.js +10 -8
- package/dist/chat/composer/use-new-chats-default.d.ts +25 -0
- package/dist/chat/composer/use-new-chats-default.js +32 -0
- package/dist/chat/composer/use-send-prompt.d.ts +11 -1
- package/dist/chat/composer/use-send-prompt.js +5 -3
- package/dist/chat/headless/host.d.ts +9 -0
- package/dist/chat/headless/index.d.ts +5 -4
- package/dist/chat/headless/index.js +5 -3
- package/dist/chat/headless/labels.d.ts +82 -1
- package/dist/chat/headless/labels.js +11 -1
- package/dist/chat/headless/notifications.d.ts +2 -0
- package/dist/chat/headless/notifications.js +1 -0
- package/dist/chat/headless/prompt-origin.d.ts +53 -2
- package/dist/chat/headless/prompt-origin.js +55 -5
- package/dist/chat/headless/session-list.d.ts +79 -0
- package/dist/chat/headless/sidebar/index.js +1 -1
- package/dist/chat/headless/sidebar/labels.d.ts +80 -1
- package/dist/chat/headless/transcript/batch.d.ts +12 -1
- package/dist/chat/headless/transcript/batch.js +47 -1
- package/dist/chat/headless/transcript/collapse.js +11 -0
- package/dist/chat/headless/transcript/fold.js +23 -7
- package/dist/chat/headless/transcript/index.d.ts +3 -3
- package/dist/chat/headless/transcript/index.js +2 -2
- package/dist/chat/headless/transcript/rows.d.ts +31 -2
- package/dist/chat/headless/transcript/select-stops.js +4 -0
- package/dist/chat/headless/transcript-labels.d.ts +1 -0
- package/dist/chat/headless/turn-labels.d.ts +2 -0
- package/dist/chat/headless/turn-labels.js +2 -0
- package/dist/chat/index.d.ts +10 -5
- package/dist/chat/index.js +9 -4
- package/dist/chat/interactions/HostInteractions.js +1 -1
- package/dist/chat/interactions/InboxPanel.js +2 -2
- package/dist/chat/interactions/PlanCard.js +4 -4
- package/dist/chat/interactions/QuestionField.js +2 -2
- package/dist/chat/interactions/QuestionForm.js +1 -1
- package/dist/chat/interactions/SecretInput.js +1 -1
- package/dist/chat/interactions/card-ui.js +1 -1
- package/dist/chat/rich-composer/MentionList.js +1 -1
- package/dist/chat/rich-composer/RichComposer.js +1 -1
- package/dist/chat/sidebar/MainSessionRow.js +1 -1
- package/dist/chat/sidebar/ProjectIcon.js +3 -3
- package/dist/chat/sidebar/SessionSidebar.js +2 -2
- package/dist/chat/sidebar/SidebarDecoration.js +2 -2
- package/dist/chat/sidebar/SidebarFilterMenu.js +1 -1
- package/dist/chat/sidebar/SidebarFooter.js +1 -1
- package/dist/chat/sidebar/SidebarFrame.js +2 -2
- package/dist/chat/sidebar/SidebarGroupHeader.js +3 -3
- package/dist/chat/sidebar/SidebarHostProvider.js +1 -1
- package/dist/chat/sidebar/SidebarRowView.js +1 -1
- package/dist/chat/sidebar/SidebarSessionRow.js +6 -6
- package/dist/chat/sidebar/SpaceSwitcher.js +1 -1
- package/dist/chat/sidebar/SpacesSection.js +2 -2
- package/dist/chat/sidebar/sidebar-live.js +3 -3
- package/dist/chat/transcript/AnsiText.js +4 -4
- package/dist/chat/transcript/AuthFailureCard.js +2 -2
- package/dist/chat/transcript/BadgeMenu.js +1 -1
- package/dist/chat/transcript/CardMarkdown.js +1 -1
- package/dist/chat/transcript/ChipCards.js +1 -1
- package/dist/chat/transcript/CodemodeScript.js +11 -6
- package/dist/chat/transcript/DiffLines.js +1 -1
- package/dist/chat/transcript/EarlierHistory.js +1 -1
- package/dist/chat/transcript/EditDiffBlock.js +1 -1
- package/dist/chat/transcript/FileChip.js +5 -5
- package/dist/chat/transcript/ImageGenerationBlock.js +1 -1
- package/dist/chat/transcript/LazyRow.js +1 -1
- package/dist/chat/transcript/LiveOutput.js +1 -1
- package/dist/chat/transcript/MermaidDiagram.d.ts +68 -2
- package/dist/chat/transcript/MermaidDiagram.js +344 -32
- package/dist/chat/transcript/PromptEcho.js +1 -1
- package/dist/chat/transcript/ProseMarkdown.js +1 -1
- package/dist/chat/transcript/ReferenceText.js +8 -8
- package/dist/chat/transcript/SelectCursor.js +1 -1
- package/dist/chat/transcript/SelectTurnProvider.js +1 -1
- package/dist/chat/transcript/SubagentBlock.js +1 -1
- package/dist/chat/transcript/TranscriptRow.js +20 -5
- package/dist/chat/transcript/TranscriptSearch.js +1 -1
- package/dist/chat/transcript/TurnMenu.js +1 -1
- package/dist/chat/transcript/actions.js +1 -1
- package/dist/chat/transcript/diagrams-scope.d.ts +4 -0
- package/dist/chat/transcript/diagrams-scope.js +11 -0
- package/dist/chat/transcript/extension-renderers.js +1 -1
- package/dist/chat/transcript/fold-attachments.js +1 -1
- package/dist/chat/transcript/fold-status.js +1 -1
- package/dist/chat/transcript/fold-worker.js +1 -1
- package/dist/chat/transcript/fold.js +5 -5
- package/dist/chat/transcript/frame.js +1 -1
- package/dist/chat/transcript/index.d.ts +5 -2
- package/dist/chat/transcript/index.js +5 -2
- package/dist/chat/transcript/markdown.js +95 -14
- package/dist/chat/transcript/messages.js +19 -10
- package/dist/chat/transcript/notices.js +2 -2
- package/dist/chat/transcript/prompt-lines.js +5 -5
- package/dist/chat/transcript/prompt.js +2 -2
- package/dist/chat/transcript/prose.js +1 -1
- package/dist/chat/transcript/renderer-slots.js +1 -1
- package/dist/chat/transcript/renderers.js +3 -3
- package/dist/chat/transcript/row-estimate.js +5 -1
- package/dist/chat/transcript/run-rows.js +2 -2
- package/dist/chat/transcript/script-input.d.ts +1 -1
- package/dist/chat/transcript/shell-block.js +4 -4
- package/dist/chat/transcript/tasks.d.ts +35 -0
- package/dist/chat/transcript/tasks.js +100 -0
- package/dist/chat/transcript/tool-batch.js +2 -2
- package/dist/chat/transcript/tool-media.js +1 -1
- package/dist/chat/transcript/tool-parts.js +1 -1
- package/dist/chat/transcript/tool-row.js +8 -8
- package/dist/chat/transcript/turn-commands.d.ts +15 -1
- package/dist/chat/transcript/turn-commands.js +43 -4
- package/dist/chat/transcript/use-host-turn-menu.d.ts +25 -0
- package/dist/chat/transcript/use-host-turn-menu.js +57 -0
- package/dist/chat/transcript/use-transcript-rows.js +2 -2
- package/dist/chat/transcript/useStickToBottom.js +1 -1
- package/dist/chat/transcript/useTranscriptSearch.js +1 -1
- package/dist/chat/transcript/user-bash.js +1 -1
- package/dist/chat/transcript/view-scope.d.ts +163 -0
- package/dist/chat/transcript/view-scope.js +224 -0
- package/dist/chat/transcript-options.d.ts +1 -1
- package/dist/chat/transcript-options.js +4 -1
- package/dist/code/CodeHighlightProvider.js +1 -1
- package/dist/code/HighlightedCode.js +1 -1
- package/dist/code/editor/CodeCompletion.js +3 -3
- package/dist/code/editor/CodeEditor.js +1 -1
- package/dist/code/editor/CodeHover.js +1 -1
- package/dist/code/editor/DiffView.js +1 -1
- package/dist/code/editor/EditorColumn.js +1 -1
- package/dist/code/editor/FileIcon.js +1 -1
- package/dist/code/editor/FileTree.js +1 -1
- package/dist/code/editor/FileView.js +1 -1
- package/dist/code/editor/HighlightWorkers.js +2 -2
- package/dist/code/editor/LanguageEditor.js +1 -1
- package/dist/code/editor/environment.js +1 -1
- package/dist/code/editor/find/FindBar.js +1 -1
- package/dist/components/Accordion.d.ts +30 -0
- package/dist/components/Accordion.js +96 -0
- package/dist/components/Breadcrumb.js +1 -1
- package/dist/components/Breakdown.d.ts +82 -0
- package/dist/components/Breakdown.js +212 -0
- package/dist/components/BrowserChrome.js +1 -1
- package/dist/components/BrowserSignIn.js +4 -4
- package/dist/components/Callout.d.ts +29 -0
- package/dist/components/Callout.js +60 -0
- package/dist/components/Checklist.d.ts +53 -0
- package/dist/components/Checklist.js +189 -0
- package/dist/components/ChoiceCards.d.ts +7 -1
- package/dist/components/ChoiceCards.js +11 -7
- package/dist/components/CodeFrame.js +1 -1
- package/dist/components/Compare.d.ts +65 -0
- package/dist/components/Compare.js +242 -0
- package/dist/components/ConfirmDialog.js +1 -1
- package/dist/components/CopyButton.js +1 -1
- package/dist/components/EditableTitle.js +1 -1
- package/dist/components/ErrorBoundary.js +1 -1
- package/dist/components/Form.d.ts +3 -1
- package/dist/components/Form.js +2 -1
- package/dist/components/HowItWorks.js +2 -2
- package/dist/components/IconButton.js +2 -2
- package/dist/components/KeyValue.d.ts +37 -0
- package/dist/components/KeyValue.js +43 -0
- package/dist/components/Lightbox.js +2 -2
- package/dist/components/Menu.js +2 -2
- package/dist/components/Overlay.js +2 -2
- package/dist/components/Progress.d.ts +55 -0
- package/dist/components/Progress.js +94 -0
- package/dist/components/ReorderTabs.js +1 -1
- package/dist/components/RowActionsMenu.js +3 -3
- package/dist/components/RowMenuButton.d.ts +24 -0
- package/dist/components/RowMenuButton.js +42 -0
- package/dist/components/Segmented.js +1 -1
- package/dist/components/Stat.d.ts +105 -0
- package/dist/components/Stat.js +131 -0
- package/dist/components/StepFrame.js +1 -1
- package/dist/components/Steps.d.ts +38 -0
- package/dist/components/Steps.js +49 -0
- package/dist/components/Surface.d.ts +1 -1
- package/dist/components/Surface.js +1 -1
- package/dist/components/SwatchPicker.js +1 -1
- package/dist/components/Table.d.ts +123 -0
- package/dist/components/Table.js +437 -0
- package/dist/components/Tabs.d.ts +41 -0
- package/dist/components/Tabs.js +103 -0
- package/dist/components/ToggleCard.js +3 -3
- package/dist/components/Tooltip.js +2 -2
- package/dist/components/ZidaneMark.js +1 -1
- package/dist/components/ZoomableImage.js +1 -1
- package/dist/components/charts/AreaChart.d.ts +24 -0
- package/dist/components/charts/AreaChart.js +210 -0
- package/dist/components/charts/BarChart.d.ts +112 -0
- package/dist/components/charts/BarChart.js +686 -0
- package/dist/components/charts/LineChart.d.ts +34 -0
- package/dist/components/charts/LineChart.js +299 -0
- package/dist/components/charts/ScatterChart.d.ts +83 -0
- package/dist/components/charts/ScatterChart.js +702 -0
- package/dist/components/charts/Sparkline.d.ts +31 -0
- package/dist/components/charts/Sparkline.js +82 -0
- package/dist/components/charts/Trend.d.ts +86 -0
- package/dist/components/charts/Trend.js +233 -0
- package/dist/components/charts/frame.d.ts +225 -0
- package/dist/components/charts/frame.js +475 -0
- package/dist/components/charts/index.d.ts +10 -0
- package/dist/components/charts/index.js +9 -0
- package/dist/components/charts/interact.d.ts +89 -0
- package/dist/components/charts/interact.js +296 -0
- package/dist/components/charts/measure.d.ts +29 -0
- package/dist/components/charts/measure.js +79 -0
- package/dist/components/charts/xy.d.ts +230 -0
- package/dist/components/charts/xy.js +488 -0
- package/dist/components/charts/zoom-reset.d.ts +7 -0
- package/dist/components/charts/zoom-reset.js +23 -0
- package/dist/components/floating/FloatingSurface.js +1 -1
- package/dist/components/floating/HoverCard.js +2 -2
- package/dist/components/floating/Popover.js +2 -2
- package/dist/components/lazy-part.d.ts +17 -0
- package/dist/components/lazy-part.js +33 -0
- package/dist/components/numbers.d.ts +74 -0
- package/dist/components/numbers.js +157 -0
- package/dist/components/palette/PaletteList.js +5 -5
- package/dist/components/palette/PalettePanel.js +2 -2
- package/dist/core.css +517 -3
- package/dist/dist/index-BUHcyEqA.d.ts +1 -0
- package/dist/dist/{index-BZM8tu4L.d.ts → index-CGCMyhB3.d.ts} +182 -126
- package/dist/dist/index.d.ts +4 -4
- package/dist/dist/sandbox-Cib3Qf4t.d.ts +2 -0
- package/dist/extensions/ExtensionComponent.js +6 -5
- package/dist/extensions/ExtensionDialogHost.js +1 -1
- package/dist/extensions/ExtensionRenderer.js +1 -1
- package/dist/extensions/ExtensionScreen.js +1 -1
- package/dist/extensions/ExtensionSettingsPage.js +1 -1
- package/dist/extensions/ExtensionSettingsSection.js +1 -1
- package/dist/extensions/ExtensionSettingsSidebar.js +1 -1
- package/dist/extensions/ExtensionSlot.js +2 -2
- package/dist/extensions/ExtensionWebview.js +1 -1
- package/dist/extensions/ExtensionsProvider.js +1 -1
- package/dist/extensions/headless/index.d.ts +2 -2
- package/dist/extensions/headless/wire.d.ts +5 -1
- package/dist/extensions/headless/wire.js +2 -1
- package/dist/extensions/links.js +1 -1
- package/dist/files/CodeViewer.js +1 -1
- package/dist/files/DiffFileViewer.js +1 -1
- package/dist/files/DiffsTab.js +2 -2
- package/dist/files/EditorColumn.js +62 -28
- package/dist/files/EditorEnvironmentRoot.js +1 -1
- package/dist/files/FilePreview.d.ts +24 -0
- package/dist/files/FilePreview.js +283 -0
- package/dist/files/FilesProvider.js +1 -1
- package/dist/files/FilesTab.js +2 -2
- package/dist/files/MediaDiff.js +1 -1
- package/dist/files/MediaView.js +1 -1
- package/dist/files/ReviewDraft.js +1 -1
- package/dist/files/ReviewableDiff.js +2 -2
- package/dist/files/SearchPanel.js +2 -2
- package/dist/files/TreeColumn.js +2 -2
- package/dist/files/file-actions.js +1 -0
- package/dist/files/headless/labels.d.ts +5 -0
- package/dist/files/headless/labels.js +5 -0
- package/dist/files/headless/preview.d.ts +44 -0
- package/dist/files/headless/preview.js +103 -0
- package/dist/files/lazy-tabs.js +1 -1
- package/dist/files/useCodeReview.js +1 -1
- package/dist/files/useLsp.js +1 -1
- package/dist/files/useOpenFiles.d.ts +2 -0
- package/dist/files/useOpenFiles.js +14 -0
- package/dist/git/BranchMenu.js +7 -7
- package/dist/git/GitBar.js +1 -1
- package/dist/git/GitProvider.js +1 -1
- package/dist/git/ImportRepoDialog.js +1 -1
- package/dist/git/MoveSessionDialog.js +2 -2
- package/dist/git/RemoteFolderPicker.js +4 -4
- package/dist/git/SyncChip.js +1 -1
- package/dist/git/WherePicker.d.ts +2 -0
- package/dist/git/WherePicker.js +15 -12
- package/dist/git/index.d.ts +1 -1
- package/dist/git/index.js +1 -1
- package/dist/hooks/useDisplayPath.js +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +16 -3
- package/dist/keybindings/KeyCommands.js +1 -1
- package/dist/keybindings/KeybindingsProvider.js +4 -2
- package/dist/keybindings/headless/host.d.ts +5 -0
- package/dist/keybindings/headless/overrides.d.ts +2 -1
- package/dist/keybindings/headless/overrides.js +2 -1
- package/dist/keybindings/testing/contract.js +1 -0
- package/dist/labels.d.ts +97 -0
- package/dist/labels.js +104 -1
- package/dist/machines/AddMachineDialog.js +3 -3
- package/dist/machines/AddServerForm.js +1 -1
- package/dist/machines/DaemonMenu.js +3 -3
- package/dist/machines/HostCapabilities.js +5 -5
- package/dist/machines/HostIcon.d.ts +21 -0
- package/dist/machines/HostIcon.js +19 -0
- package/dist/machines/HostSignIn.js +1 -1
- package/dist/machines/HostSyncPanel.js +1 -1
- package/dist/machines/HostsSection.d.ts +27 -1
- package/dist/machines/HostsSection.js +60 -46
- package/dist/machines/MachinesProvider.js +1 -1
- package/dist/machines/ServerCard.d.ts +1 -2
- package/dist/machines/ServerCard.js +4 -9
- package/dist/machines/ServerMachinesPanel.js +161 -196
- package/dist/machines/ServerUpdatePanel.js +94 -111
- package/dist/machines/ShareThisComputerForm.js +1 -1
- package/dist/machines/SyncAccounts.js +1 -1
- package/dist/machines/SyncMarker.js +2 -2
- package/dist/machines/TokensPanel.js +225 -124
- package/dist/machines/headless/index.d.ts +2 -1
- package/dist/machines/headless/index.js +2 -1
- package/dist/machines/headless/labels.d.ts +22 -0
- package/dist/machines/headless/labels.js +25 -0
- package/dist/machines/headless/update-store.d.ts +29 -0
- package/dist/machines/headless/update-store.js +83 -0
- package/dist/machines/index.d.ts +5 -3
- package/dist/machines/index.js +5 -3
- package/dist/machines/server-update.d.ts +23 -0
- package/dist/machines/server-update.js +106 -0
- package/dist/motion/grow.js +1 -1
- package/dist/motion/provider.js +1 -1
- package/dist/motion/roll.js +2 -2
- package/dist/motion/size.js +1 -1
- package/dist/motion/springs.js +1 -1
- package/dist/motion/swap.js +1 -1
- package/dist/motion/title-text.js +2 -2
- package/dist/onboarding/OnboardingFlow.js +1 -1
- package/dist/onboarding/OnboardingProvider.js +1 -1
- package/dist/onboarding/conversation.js +1 -1
- package/dist/onboarding/demos/features.js +1 -1
- package/dist/onboarding/demos/index.js +1 -1
- package/dist/onboarding/demos/tour.js +1 -1
- package/dist/onboarding/headless/labels.d.ts +74 -0
- package/dist/onboarding/index.js +3 -3
- package/dist/onboarding/skills/SkillSourceBrowser.js +1 -1
- package/dist/onboarding/skills/parts.js +1 -1
- package/dist/onboarding/sources/SourceBrowser.js +4 -4
- package/dist/onboarding/steps/ConnectStep.js +1 -1
- package/dist/onboarding/steps/ConnectorsStep.js +3 -3
- package/dist/onboarding/steps/ConversationStep.js +2 -2
- package/dist/onboarding/steps/FeatureExample.js +2 -2
- package/dist/onboarding/steps/ImportStep.js +2 -2
- package/dist/onboarding/steps/LookStep.js +1 -1
- package/dist/onboarding/steps/ReadyStep.js +2 -2
- package/dist/onboarding/steps/SkillsStep.js +1 -1
- package/dist/onboarding/steps/connect/KeyForm.js +1 -1
- package/dist/onboarding/steps/connect/ProviderPanel.js +1 -1
- package/dist/onboarding/steps/connect/ProviderReady.js +2 -2
- package/dist/palette/CommandPalette.d.ts +3 -1
- package/dist/palette/CommandPalette.js +11 -3
- package/dist/palette/PaletteDialog.js +25 -2
- package/dist/palette/PaletteProvider.js +1 -1
- package/dist/palette/PaletteRows.js +5 -5
- package/dist/palette/headless/index.d.ts +2 -2
- package/dist/palette/headless/index.js +2 -2
- package/dist/palette/headless/labels.d.ts +2 -0
- package/dist/palette/headless/labels.js +2 -0
- package/dist/palette/headless/sources.d.ts +26 -2
- package/dist/palette/headless/sources.js +40 -1
- package/dist/session/ArtifactsPanel.js +2 -2
- package/dist/session/DiffFileTree.js +1 -1
- package/dist/session/PlanTracker.js +1 -1
- package/dist/session/ProjectHome.js +4 -4
- package/dist/session/ProviderUsageProvider.js +2 -2
- package/dist/session/QueueTab.js +6 -6
- package/dist/session/RemindersPanel.js +2 -2
- package/dist/session/RunningWorkDialog.js +3 -2
- package/dist/session/SecretsPanel.js +2 -2
- package/dist/session/SessionCacheFacts.js +56 -57
- package/dist/session/SessionDetailsDialog.js +29 -17
- package/dist/session/SessionHeader.js +1 -1
- package/dist/session/SessionProvider.js +1 -1
- package/dist/session/SessionShell.js +2 -2
- package/dist/session/SideChat.js +1 -1
- package/dist/session/StepStatusIcon.js +1 -1
- package/dist/session/TurnDetailsDialog.js +1 -1
- package/dist/session/UsagePanel.js +9 -5
- package/dist/session/WelcomeScreen.js +1 -1
- package/dist/session/headless/host.d.ts +1 -1
- package/dist/session/headless/index.js +1 -1
- package/dist/session/headless/labels.d.ts +1 -0
- package/dist/session/headless/labels.js +4 -2
- package/dist/settings/SettingsFooter.d.ts +51 -0
- package/dist/settings/SettingsFooter.js +91 -0
- package/dist/settings/SettingsHeadingText.js +1 -1
- package/dist/settings/SettingsNav.js +1 -1
- package/dist/settings/SettingsProvider.js +1 -1
- package/dist/settings/SettingsRestricted.js +2 -2
- package/dist/settings/SettingsRowsPage.js +2 -2
- package/dist/settings/SettingsShell.js +3 -3
- package/dist/settings/headless/app-update.d.ts +27 -0
- package/dist/settings/headless/app-update.js +0 -0
- package/dist/settings/headless/catalog.js +61 -1
- package/dist/settings/headless/fixture-accounts.js +7 -0
- package/dist/settings/headless/index.d.ts +2 -1
- package/dist/settings/headless/index.js +2 -2
- package/dist/settings/headless/labels.d.ts +13 -0
- package/dist/settings/headless/labels.js +16 -1
- package/dist/settings/headless/layout.js +30 -12
- package/dist/settings/headless/mcp.d.ts +4 -0
- package/dist/settings/headless/search.d.ts +1 -1
- package/dist/settings/index.d.ts +3 -1
- package/dist/settings/index.js +11 -9
- package/dist/settings/section.js +1 -1
- package/dist/settings/sections/appearance/AppearanceSection.js +1 -1
- package/dist/settings/sections/claude-import/ClaudeImportDialog.js +2 -2
- package/dist/settings/sections/descriptors.js +4 -4
- package/dist/settings/sections/editor/EditorSection.js +2 -2
- package/dist/settings/sections/enabled-list/EnabledListSection.js +1 -1
- package/dist/settings/sections/environments/EnvironmentsSection.js +3 -3
- package/dist/settings/sections/extensions/ChangeOriginDialog.js +1 -1
- package/dist/settings/sections/extensions/CreateExtensionDialog.js +1 -1
- package/dist/settings/sections/extensions/ExtensionConfigRows.js +2 -2
- package/dist/settings/sections/extensions/ExtensionOptionsSection.js +2 -2
- package/dist/settings/sections/extensions/ExtensionPicksBar.js +1 -1
- package/dist/settings/sections/extensions/ExtensionSourceBrowser.js +1 -1
- package/dist/settings/sections/extensions/ExtensionsSection.js +2 -2
- package/dist/settings/sections/host-catalog/HostCatalogSection.js +4 -4
- package/dist/settings/sections/index.js +8 -8
- package/dist/settings/sections/instructions/InstructionsSection.js +3 -3
- package/dist/settings/sections/keybindings/KeybindingsSection.js +2 -2
- package/dist/settings/sections/logs/LogsSection.js +1 -1
- package/dist/settings/sections/mcp/McpAddForm.js +48 -22
- package/dist/settings/sections/mcp/McpSection.js +14 -2
- package/dist/settings/sections/mcp/McpServerRow.d.ts +3 -1
- package/dist/settings/sections/mcp/McpServerRow.js +104 -10
- package/dist/settings/sections/mcp/labels.d.ts +18 -0
- package/dist/settings/sections/mcp/labels.js +18 -0
- package/dist/settings/sections/models/AgentDefaults.js +4 -4
- package/dist/settings/sections/models/ModelListPicker.js +1 -1
- package/dist/settings/sections/models/ModelPickField.js +1 -1
- package/dist/settings/sections/models/ModelRows.js +2 -2
- package/dist/settings/sections/models/model-test.js +1 -1
- package/dist/settings/sections/performance/PerfSparkline.js +1 -1
- package/dist/settings/sections/performance/PerformanceSection.js +14 -14
- package/dist/settings/sections/plugins/PluginsSection.js +1 -1
- package/dist/settings/sections/providers/CredentialSources.js +3 -3
- package/dist/settings/sections/providers/ProvidersSection.js +1 -1
- package/dist/settings/sections/providers/ServerProvidersSection.js +1 -1
- package/dist/settings/sections/providers/ServerSignIn.js +2 -2
- package/dist/settings/sections/shared/catalog.js +2 -2
- package/dist/settings/sections/skills/SkillList.js +5 -5
- package/dist/settings/sections/skills/SkillsSection.js +3 -3
- package/dist/settings/server-app.d.ts +41 -0
- package/dist/settings/server-app.js +155 -0
- package/dist/settings/testing/accounts.contract.d.ts +1 -1
- package/dist/settings/testing/accounts.contract.js +10 -1
- package/dist/styles.css +686 -30
- package/dist/terminal/HostTerminalSurface.js +4 -3
- package/dist/terminal/TerminalDrawer.js +2 -2
- package/dist/terminal/TerminalPanel.js +3 -3
- package/dist/terminal/TerminalProvider.d.ts +13 -2
- package/dist/terminal/TerminalProvider.js +15 -7
- package/dist/terminal/TerminalSurface.d.ts +3 -1
- package/dist/terminal/TerminalSurface.js +5 -4
- package/dist/terminal/assets.d.ts +10 -0
- package/dist/terminal/assets.js +23 -0
- package/dist/terminal/fonts/LICENSE +21 -0
- package/dist/terminal/fonts/SymbolsNerdFontMono-Regular.woff2 +0 -0
- package/dist/terminal/ghostty.d.ts +3 -1
- package/dist/terminal/ghostty.js +25 -4
- package/dist/terminal/index.d.ts +2 -2
- package/dist/theme/derive.d.ts +3 -2
- package/dist/theme/derive.js +3 -2
- package/dist/uno.js +2 -1
- package/dist/url-imports.d.ts +6 -0
- package/dist/views/BoolMark.d.ts +15 -0
- package/dist/views/BoolMark.js +28 -0
- package/dist/views/SvgImage.d.ts +19 -0
- package/dist/views/SvgImage.js +89 -0
- package/dist/views/TranscriptViews.d.ts +31 -0
- package/dist/views/TranscriptViews.js +59 -0
- package/dist/views/ViewAutoRefresh.d.ts +23 -0
- package/dist/views/ViewAutoRefresh.js +73 -0
- package/dist/views/ViewBlock.d.ts +40 -0
- package/dist/views/ViewBlock.js +482 -0
- package/dist/views/ViewCharts.d.ts +20 -0
- package/dist/views/ViewCharts.js +331 -0
- package/dist/views/ViewControls.d.ts +49 -0
- package/dist/views/ViewControls.js +208 -0
- package/dist/views/ViewCustom.d.ts +40 -0
- package/dist/views/ViewCustom.js +354 -0
- package/dist/views/ViewExpanded.d.ts +32 -0
- package/dist/views/ViewExpanded.js +107 -0
- package/dist/views/ViewExtension.d.ts +21 -0
- package/dist/views/ViewExtension.js +125 -0
- package/dist/views/ViewInputs.d.ts +24 -0
- package/dist/views/ViewInputs.js +561 -0
- package/dist/views/ViewMcpApp.d.ts +26 -0
- package/dist/views/ViewMcpApp.js +569 -0
- package/dist/views/ViewNodes.d.ts +92 -0
- package/dist/views/ViewNodes.js +1073 -0
- package/dist/views/ViewPreviewPage.d.ts +42 -0
- package/dist/views/ViewPreviewPage.js +214 -0
- package/dist/views/ViewTables.d.ts +15 -0
- package/dist/views/ViewTables.js +305 -0
- package/dist/views/ViewsProvider.d.ts +32 -0
- package/dist/views/ViewsProvider.js +50 -0
- package/dist/views/badge-tone.d.ts +20 -0
- package/dist/views/badge-tone.js +100 -0
- package/dist/views/expanded.d.ts +7 -0
- package/dist/views/expanded.js +14 -0
- package/dist/views/format.d.ts +18 -0
- package/dist/views/format.js +37 -0
- package/dist/views/headless/answers.d.ts +50 -0
- package/dist/views/headless/answers.js +85 -0
- package/dist/views/headless/custom-slots.d.ts +35 -0
- package/dist/views/headless/custom-slots.js +59 -0
- package/dist/views/headless/download.d.ts +10 -0
- package/dist/views/headless/download.js +26 -0
- package/dist/views/headless/frame-name.d.ts +17 -0
- package/dist/views/headless/frame-name.js +24 -0
- package/dist/views/headless/host.d.ts +197 -0
- package/dist/views/headless/host.js +0 -0
- package/dist/views/headless/index.d.ts +13 -0
- package/dist/views/headless/index.js +12 -0
- package/dist/views/headless/labels.d.ts +144 -0
- package/dist/views/headless/labels.js +147 -0
- package/dist/views/headless/live.d.ts +12 -0
- package/dist/views/headless/live.js +50 -0
- package/dist/views/headless/lru.d.ts +31 -0
- package/dist/views/headless/lru.js +62 -0
- package/dist/views/headless/mcp-app-bridge.d.ts +128 -0
- package/dist/views/headless/mcp-app-bridge.js +330 -0
- package/dist/views/headless/placement.d.ts +98 -0
- package/dist/views/headless/placement.js +227 -0
- package/dist/views/headless/records.d.ts +53 -0
- package/dist/views/headless/records.js +114 -0
- package/dist/views/headless/refs.d.ts +10 -0
- package/dist/views/headless/refs.js +13 -0
- package/dist/views/headless/safe.d.ts +35 -0
- package/dist/views/headless/safe.js +58 -0
- package/dist/views/headless/store.d.ts +54 -0
- package/dist/views/headless/store.js +228 -0
- package/dist/views/headless/streaming.d.ts +43 -0
- package/dist/views/headless/streaming.js +136 -0
- package/dist/views/headless/view-state.d.ts +20 -0
- package/dist/views/headless/view-state.js +55 -0
- package/dist/views/index.d.ts +2 -0
- package/dist/views/index.js +1 -0
- package/dist/views/input-preview.d.ts +5 -0
- package/dist/views/input-preview.js +11 -0
- package/dist/views/preview-style.d.ts +10 -0
- package/dist/views/preview-style.js +262 -0
- package/dist/views/preview.d.ts +2 -0
- package/dist/views/preview.js +1 -0
- package/dist/views/testing/contract.d.ts +50 -0
- package/dist/views/testing/contract.js +266 -0
- package/dist/views/testing/fixture-host.d.ts +29 -0
- package/dist/views/testing/fixture-host.js +77 -0
- package/dist/views/testing/index.d.ts +2 -0
- package/dist/views/testing/index.js +1 -0
- package/dist/views/theme-watch.d.ts +28 -0
- package/dist/views/theme-watch.js +65 -0
- package/dist/views/trusted.d.ts +17 -0
- package/dist/views/trusted.js +17 -0
- package/dist/views/viewport.d.ts +30 -0
- package/dist/views/viewport.js +87 -0
- package/dist/workspace/LayoutBudget.js +1 -1
- package/dist/workspace/PanelContentView.js +2 -2
- package/dist/workspace/PanelGroups.js +1 -1
- package/dist/workspace/PanelHome.js +1 -1
- package/dist/workspace/PanelItems.js +2 -2
- package/dist/workspace/PanelStrip.js +2 -2
- package/dist/workspace/PanelToolbar.js +2 -2
- package/dist/workspace/SidePanel.js +4 -4
- package/dist/workspace/TabParking.js +2 -2
- package/dist/workspace/WorkspaceProvider.js +1 -1
- package/dist/workspace/dnd/parking.js +2 -2
- package/dist/workspace/extension-tabs.js +2 -2
- package/package.json +49 -2
- package/src/styles/components.css +421 -0
- package/src/styles/files.css +15 -0
- package/src/styles/primitives.css +10 -0
- package/src/styles/tokens.css +20 -1
- package/src/styles/transcript.css +174 -18
- package/dist/dist/index-f-XWIoYo.d.ts +0 -1
- package/dist/dist/sandbox-B4OW6oNx.d.ts +0 -2
- /package/dist/dist/{types-2HrgolQz.d.ts → types-CgfAUN48.d.ts} +0 -0
|
@@ -8,8 +8,8 @@ import { ApprovalConcern } from "./ApprovalConcern.js";
|
|
|
8
8
|
import { approvalPreview, isFileEditApproval } from "./headless/preview.js";
|
|
9
9
|
import { FileEditApproval } from "./FileEditApproval.js";
|
|
10
10
|
import { isEditorKeyEvent, isTypingFocused } from "./key-scope.js";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
import { useEffect, useId, useRef } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { parseSessionKey } from "zidane/chat/pure";
|
|
14
14
|
//#region src/approvals/ApprovalBar.tsx
|
|
15
15
|
/**
|
|
@@ -89,20 +89,32 @@ function ApprovalCard({ request, onResolve, renderFrame, className = "", style }
|
|
|
89
89
|
"aria-hidden": true,
|
|
90
90
|
className: "w-3 shrink-0 inline-flex items-center justify-center text-[var(--zg-text-muted)] ",
|
|
91
91
|
children: /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-[var(--zg-warn)]" })
|
|
92
|
-
}), /* @__PURE__ */
|
|
92
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
93
93
|
className: "flex-1 min-w-0",
|
|
94
|
-
children:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
94
|
+
children: [
|
|
95
|
+
/* @__PURE__ */ jsxs("div", {
|
|
96
|
+
id: titleId,
|
|
97
|
+
className: "text-sm font-semibold text-[var(--zg-text)]",
|
|
98
|
+
children: [
|
|
99
|
+
`${labels.approvalRunBefore} `,
|
|
100
|
+
/* @__PURE__ */ jsx("span", {
|
|
101
|
+
className: "font-mono",
|
|
102
|
+
children: request.tool
|
|
103
|
+
}),
|
|
104
|
+
labels.approvalRunAfter
|
|
105
|
+
]
|
|
106
|
+
}),
|
|
107
|
+
request.fromView && /* @__PURE__ */ jsx("div", {
|
|
108
|
+
className: "zg-meta truncate",
|
|
109
|
+
"data-approval-from-view": "",
|
|
110
|
+
children: labels.approvalFromView(request.fromView.viewId, request.fromView.label)
|
|
111
|
+
}),
|
|
112
|
+
request.fromMcpApp && /* @__PURE__ */ jsx("div", {
|
|
113
|
+
className: "zg-meta truncate",
|
|
114
|
+
"data-approval-from-mcp-app": "",
|
|
115
|
+
children: labels.approvalFromMcpApp(request.fromMcpApp.server)
|
|
116
|
+
})
|
|
117
|
+
]
|
|
106
118
|
})]
|
|
107
119
|
}),
|
|
108
120
|
request.concern && /* @__PURE__ */ jsx(ApprovalConcern, {
|
|
@@ -130,7 +142,7 @@ function ApprovalCard({ request, onResolve, renderFrame, className = "", style }
|
|
|
130
142
|
children: [labels.approvalDeny, /* @__PURE__ */ jsx(KeyHint, { spec: "esc" })]
|
|
131
143
|
}),
|
|
132
144
|
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
133
|
-
/* @__PURE__ */ jsxs("button", {
|
|
145
|
+
!request.fromView && /* @__PURE__ */ jsxs("button", {
|
|
134
146
|
type: "button",
|
|
135
147
|
onClick: () => onResolve(request.id, "accept-safelist"),
|
|
136
148
|
className: SECONDARY,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IconButton } from "../components/IconButton.js";
|
|
2
2
|
import { useApprovalsLabels } from "./ApprovalsProvider.js";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
3
|
import { useId } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
//#region src/approvals/ApprovalShell.tsx
|
|
6
6
|
/**
|
|
7
7
|
* The panel the file-edit review and the safelist draw in when the app gives
|
|
@@ -2,8 +2,8 @@ import { LabelsProvider, useLabels } from "../labels.js";
|
|
|
2
2
|
import { useReadable } from "../chat/headless/store.js";
|
|
3
3
|
import { createApprovalHeads } from "./headless/heads.js";
|
|
4
4
|
import { DEFAULT_APPROVALS_LABELS } from "./headless/labels.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
import { createContext, useCallback, useContext, useEffect, useMemo, useSyncExternalStore } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
//#region src/approvals/ApprovalsProvider.tsx
|
|
8
8
|
/**
|
|
9
9
|
* Puts an `ApprovalsHost` (and optional label overrides) in context for the
|
|
@@ -8,8 +8,8 @@ import { ApprovalConcern } from "./ApprovalConcern.js";
|
|
|
8
8
|
import { ApprovalShell } from "./ApprovalShell.js";
|
|
9
9
|
import { allowDecision, approvalPath, initialHunkMask } from "./headless/preview.js";
|
|
10
10
|
import { MultiHunkChecklist, SingleHunkPreview } from "./HunkPreviews.js";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
import { useCallback, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { parseSessionKey } from "zidane/chat/pure";
|
|
14
14
|
//#region src/approvals/FileEditApproval.tsx
|
|
15
15
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MetaChip } from "../components/Form.js";
|
|
2
2
|
import { useApprovalsLabels } from "./ApprovalsProvider.js";
|
|
3
3
|
import { DiffLines } from "../chat/transcript/DiffLines.js";
|
|
4
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
4
|
import { useMemo } from "react";
|
|
5
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { computeLineDiff } from "zidane/chat/pure";
|
|
7
7
|
//#region src/approvals/HunkPreviews.tsx
|
|
8
8
|
/**
|
|
@@ -169,7 +169,7 @@ function SingleHunkPreview({ edit, preview, path, isWriteFile }) {
|
|
|
169
169
|
isNewFile ? /* @__PURE__ */ jsx("span", {
|
|
170
170
|
className: "zg-meta ml-auto",
|
|
171
171
|
children: labels.hunkNewFile
|
|
172
|
-
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
172
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
|
|
173
173
|
className: "zg-meta !text-zg-success ml-auto",
|
|
174
174
|
children: labels.hunkAdded(added)
|
|
175
175
|
}), /* @__PURE__ */ jsx("span", {
|
|
@@ -4,8 +4,8 @@ import { ErrorNote, FormSection } from "../components/Form.js";
|
|
|
4
4
|
import { useReadable } from "../chat/headless/store.js";
|
|
5
5
|
import { useApprovalsHost, useApprovalsLabels } from "./ApprovalsProvider.js";
|
|
6
6
|
import { ApprovalShell } from "./ApprovalShell.js";
|
|
7
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
7
|
import { useCallback, useEffect, useState } from "react";
|
|
8
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/approvals/SafelistPanel.tsx
|
|
10
10
|
/**
|
|
11
11
|
* The "Always allow" entries the user granted, grouped by project, each with
|
|
@@ -53,7 +53,7 @@ function SafelistBody({ safelist, renderShell, className, style }) {
|
|
|
53
53
|
}
|
|
54
54
|
}, [remove]);
|
|
55
55
|
const empty = groups !== null && groups.every((g) => g.entries.length === 0);
|
|
56
|
-
const body = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
56
|
+
const body = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
57
57
|
groups === null && state.status !== "error" && /* @__PURE__ */ jsx("div", {
|
|
58
58
|
className: "text-sm text-[var(--zg-text-muted)]",
|
|
59
59
|
children: labels.safelistLoading
|
|
@@ -22,6 +22,9 @@ declare const DEFAULT_APPROVALS_LABELS: {
|
|
|
22
22
|
approvalFileEditReview: string;
|
|
23
23
|
approvalFileEditNoPath: string;
|
|
24
24
|
approvalFromSubagent: (label: string) => string;
|
|
25
|
+
/** A view's button asked for the call: the view and the button. */
|
|
26
|
+
approvalFromView: (viewId: string, label: string) => string;
|
|
27
|
+
approvalFromMcpApp: (server: string) => string;
|
|
25
28
|
approvalClose: string;
|
|
26
29
|
hunksOf: string;
|
|
27
30
|
hunksSelected: string;
|
|
@@ -21,6 +21,9 @@ const DEFAULT_APPROVALS_LABELS = {
|
|
|
21
21
|
approvalFileEditReview: "Review the change before you allow it.",
|
|
22
22
|
approvalFileEditNoPath: "No file path given. Check the input below.",
|
|
23
23
|
approvalFromSubagent: (label) => `From subagent ${label}`,
|
|
24
|
+
/** A view's button asked for the call: the view and the button. */
|
|
25
|
+
approvalFromView: (viewId, label) => `From view ${viewId}: ${label}`,
|
|
26
|
+
approvalFromMcpApp: (server) => `From MCP app of ${server}`,
|
|
24
27
|
approvalClose: "Close",
|
|
25
28
|
hunksOf: "of",
|
|
26
29
|
hunksSelected: "hunks selected",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LabelsProvider } from "../labels.js";
|
|
2
2
|
import { constant, useReadable } from "./headless/store.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { createContext, useContext } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/chat/ChatProvider.tsx
|
|
6
6
|
/**
|
|
7
7
|
* Puts a `ChatHost` (and optional label overrides) in context for the chat
|
package/dist/chat/DaemonOrb.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { iconButtonClass } from "../components/IconButton.js";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
2
|
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/chat/DaemonOrb.tsx
|
|
5
5
|
/**
|
|
6
6
|
* The daemon's status orb: a small lit sphere instead of a flat dot.
|
package/dist/chat/HostBadge.js
CHANGED
|
@@ -45,7 +45,7 @@ function HostBadge({ host, icon = false, onOpen, className = "", style }) {
|
|
|
45
45
|
event.stopPropagation();
|
|
46
46
|
onOpen();
|
|
47
47
|
},
|
|
48
|
-
className: `${classes} border-0 cursor-pointer hover:text-[var(--zg-text)]
|
|
48
|
+
className: `${classes} border-0 cursor-pointer hover:text-[var(--zg-text)] zg-focus-ring`,
|
|
49
49
|
style,
|
|
50
50
|
children: content
|
|
51
51
|
});
|
|
@@ -4,8 +4,8 @@ import { useSettingsHost } from "../settings/SettingsProvider.js";
|
|
|
4
4
|
import { useChatLabels } from "./useChatLabels.js";
|
|
5
5
|
import { TranscriptActionsProvider } from "./transcript/actions.js";
|
|
6
6
|
import { DEFAULT_TRANSCRIPT_OPTIONS, Transcript } from "./Transcript.js";
|
|
7
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
7
|
import { useMemo } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/chat/HostTranscript.tsx
|
|
10
10
|
/**
|
|
11
11
|
* `Transcript` over a `ChatHost`: reads `host.transcript(sessionId)`,
|
package/dist/chat/PdfPreview.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useChatLabels } from "./useChatLabels.js";
|
|
2
2
|
import { pickRunEstimate } from "./headless/sidebar/estimates.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { createContext, useCallback, useContext, useEffect, useState, useSyncExternalStore } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { estimateReadout, formatEstimate, isRunEstimated } from "zidane/chat/pure";
|
|
6
6
|
//#region src/chat/RunEstimateChip.tsx
|
|
7
7
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IconButton } from "../components/IconButton.js";
|
|
2
2
|
import { MenuNote } from "../components/Menu.js";
|
|
3
3
|
import { useChatLabels } from "./useChatLabels.js";
|
|
4
|
+
import { Fragment } from "react";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { Fragment as Fragment$1 } from "react";
|
|
6
6
|
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
|
|
7
7
|
//#region src/chat/SessionFilterMenu.tsx
|
|
8
8
|
/**
|
|
@@ -133,7 +133,7 @@ function SessionFilterMenu({ view, status, project, activity, sort, extras = NO_
|
|
|
133
133
|
sideOffset: 6,
|
|
134
134
|
className: `${SURFACE_CLASS} min-w-[14rem]`,
|
|
135
135
|
onCloseAutoFocus: (event) => event.preventDefault(),
|
|
136
|
-
children: shown.map((group, i) => /* @__PURE__ */ jsxs(Fragment
|
|
136
|
+
children: shown.map((group, i) => /* @__PURE__ */ jsxs(Fragment, { children: [i > 0 && /* @__PURE__ */ jsx(DropdownMenu.Separator, { className: "zg-menu-sep" }), group] }, i))
|
|
137
137
|
}) })]
|
|
138
138
|
});
|
|
139
139
|
}
|
package/dist/chat/SessionList.js
CHANGED
|
@@ -8,8 +8,8 @@ import { buildSessionRows, filterSessions, relativeTime } from "./headless/sessi
|
|
|
8
8
|
import { GroupGlyph, SessionGroupHeader, ShowMoreRow } from "./SessionGroupHeader.js";
|
|
9
9
|
import { dotStateFor } from "./StatusDot.js";
|
|
10
10
|
import { SessionListRow } from "./SessionListRow.js";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
//#region src/chat/SessionList.tsx
|
|
14
14
|
/**
|
|
15
15
|
* The sessions list, wired to a `ChatHost`: grouped and sorted rows, inline
|
|
@@ -3,8 +3,8 @@ import { EditableTitle } from "../components/EditableTitle.js";
|
|
|
3
3
|
import { RowActionsMenu } from "../components/RowActionsMenu.js";
|
|
4
4
|
import { useChatLabels } from "./useChatLabels.js";
|
|
5
5
|
import { StatusDot } from "./StatusDot.js";
|
|
6
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
6
|
import { memo, useCallback, useRef, useState } from "react";
|
|
7
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/chat/SessionListRow.tsx
|
|
9
9
|
/**
|
|
10
10
|
* One session in a list: status dot, title (inline rename), trailing badges
|
|
@@ -136,7 +136,7 @@ const SessionListRow = memo(function SessionListRow({ id, title, active = false,
|
|
|
136
136
|
className: `zg-session-sub pl-6 pr-2 ${subClassName}`.trim(),
|
|
137
137
|
children: sub
|
|
138
138
|
})]
|
|
139
|
-
}), hasMenu && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(IconButton, {
|
|
139
|
+
}), hasMenu && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(IconButton, {
|
|
140
140
|
ref: trigger,
|
|
141
141
|
icon: "i-ph-dots-three",
|
|
142
142
|
label: menuLabel ?? labels.sessionActions,
|
|
@@ -19,6 +19,8 @@ interface SessionStreamsProviderProps<K extends string = string> {
|
|
|
19
19
|
* @param props - The streams and the components that read them.
|
|
20
20
|
*/
|
|
21
21
|
declare function SessionStreamsProvider<K extends string = string>({ streams, children }: SessionStreamsProviderProps<K>): import("react").JSX.Element;
|
|
22
|
+
/** The writes of the nearest {@link SessionStreamsProvider}, or `null` outside one (an app whose host keeps the transcript). */
|
|
23
|
+
declare function useOptionalSessionStreamActions<K extends string = string>(): SessionStreamActions<K> | null;
|
|
22
24
|
/** The streams themselves (stable). */
|
|
23
25
|
declare function useSessionStreams<K extends string = string>(): SessionStreams<K>;
|
|
24
26
|
/** The streams' bound writes (stable): dispatching never subscribes the caller. */
|
|
@@ -99,4 +101,4 @@ declare function usePeekRunSeq<K extends string = string>(): (sessionId: K | nul
|
|
|
99
101
|
*/
|
|
100
102
|
declare function useCaptureRunState(): () => () => boolean;
|
|
101
103
|
//#endregion
|
|
102
|
-
export { SessionStreamsProvider, SessionStreamsProviderProps, useCaptureRunState, useHasSessionEvents, useIsSessionHydrated, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd };
|
|
104
|
+
export { SessionStreamsProvider, SessionStreamsProviderProps, useCaptureRunState, useHasSessionEvents, useIsSessionHydrated, useOptionalSessionStreamActions, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSessionStreamActions } from "./headless/streams/actions.js";
|
|
2
2
|
import { readSessionEvents, readSessionFallback, readSessionPage, readSessionRetry, readSessionRunning, readSessionSystemMd, selectEditEvents, stableSelection } from "./headless/streams/selectors.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { createContext, useCallback, useContext, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/chat/SessionStreamsProvider.tsx
|
|
6
6
|
/**
|
|
7
7
|
* The session stream store (`createSessionStreams`, `zidane-ui/chat/headless`)
|
|
@@ -39,6 +39,10 @@ function useStreamsCtx() {
|
|
|
39
39
|
if (!ctx) throw new Error("zidane-ui/chat: wrap the stream hooks in <SessionStreamsProvider streams={…}>");
|
|
40
40
|
return ctx;
|
|
41
41
|
}
|
|
42
|
+
/** The writes of the nearest {@link SessionStreamsProvider}, or `null` outside one (an app whose host keeps the transcript). */
|
|
43
|
+
function useOptionalSessionStreamActions() {
|
|
44
|
+
return useContext(StreamsContext)?.actions ?? null;
|
|
45
|
+
}
|
|
42
46
|
/** The streams themselves (stable). */
|
|
43
47
|
function useSessionStreams() {
|
|
44
48
|
return useStreamsCtx().streams;
|
|
@@ -191,4 +195,4 @@ function useCaptureRunState() {
|
|
|
191
195
|
}, [store]);
|
|
192
196
|
}
|
|
193
197
|
//#endregion
|
|
194
|
-
export { SessionStreamsProvider, useCaptureRunState, useHasSessionEvents, useIsSessionHydrated, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd };
|
|
198
|
+
export { SessionStreamsProvider, useCaptureRunState, useHasSessionEvents, useIsSessionHydrated, useOptionalSessionStreamActions, usePeekRunSeq, usePeekSessionEvents, usePeekSessionRunning, useSessionEdits, useSessionEvents, useSessionEventsSelector, useSessionFallbackModel, useSessionPage, useSessionRetry, useSessionRunning, useSessionStreamActions, useSessionStreams, useSessionSystemMd };
|
package/dist/chat/StatusDot.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ZidaneMark } from "../components/ZidaneMark.js";
|
|
2
2
|
import { Presence } from "../motion/swap.js";
|
|
3
3
|
import { useChatLabels } from "./useChatLabels.js";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
4
|
import { memo } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/chat/StatusDot.tsx
|
|
7
7
|
/**
|
|
8
8
|
* A session's state as one 8px dot: idle ring, the zidane mark (its bands
|
package/dist/chat/TextPreview.js
CHANGED
|
@@ -3,8 +3,8 @@ import { useChatLabels } from "./useChatLabels.js";
|
|
|
3
3
|
import { useTranscriptRenderers } from "./transcript/renderers.js";
|
|
4
4
|
import { decodeDataUrlAsText, detectLanguage, formatBytes } from "./composer/attachment-ingest.js";
|
|
5
5
|
import { AttachmentIcon } from "./transcript/prompt.js";
|
|
6
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
6
|
import { useEffect, useMemo, useState } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/chat/TextPreview.tsx
|
|
9
9
|
/**
|
|
10
10
|
* A text attachment's contents, sized for the lightbox: a header (icon,
|
package/dist/chat/Throbber.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useAppearanceReducedMotion, useTheme } from "../appearance/AppearanceProvider.js";
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
2
|
import { useEffect, useId, useMemo, useState } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { blendHsl } from "zidane/chat/pure";
|
|
5
5
|
//#region src/chat/Throbber.tsx
|
|
6
6
|
/**
|
|
@@ -7,7 +7,7 @@ import { RunRetry } from "zidane/chat/pure";
|
|
|
7
7
|
import { Settings } from "zidane/chat";
|
|
8
8
|
//#region src/chat/Transcript.d.ts
|
|
9
9
|
/** The display settings a transcript reads: zidane's `Settings` fields of the same names. */
|
|
10
|
-
type TranscriptOptions = Pick<Settings, 'showRowIcons' | 'showThinking' | 'showToolResults' | 'showEditDiffs' | 'showFullShellOutput' | 'groupToolCalls' | 'toolCallDisplay' | 'transcriptDensity' | 'hideSubagentOutput' | 'showRunReceipt' | 'thinkingAutoExpand' | 'showCacheNotices' | 'codemodeShowCalls' | 'showToolAttachments' | 'renderDiagrams'>;
|
|
10
|
+
type TranscriptOptions = Pick<Settings, 'showRowIcons' | 'showThinking' | 'showToolResults' | 'showEditDiffs' | 'showFullShellOutput' | 'groupToolCalls' | 'toolCallDisplay' | 'transcriptDensity' | 'hideSubagentOutput' | 'showRunReceipt' | 'thinkingAutoExpand' | 'showCacheNotices' | 'codemodeShowCalls' | 'showToolAttachments' | 'renderDiagrams' | 'views' | 'viewsInputs' | 'viewsCustomCode'>;
|
|
11
11
|
/** zidane's defaults for those settings. */
|
|
12
12
|
declare const DEFAULT_TRANSCRIPT_OPTIONS: TranscriptOptions;
|
|
13
13
|
/** Select-turn mode, driven by the app (its keys move `selected`). */
|
package/dist/chat/Transcript.js
CHANGED
|
@@ -2,19 +2,22 @@ import { firstRowId } from "./headless/transcript/rows.js";
|
|
|
2
2
|
import { useExtensionItems } from "../extensions/ExtensionsProvider.js";
|
|
3
3
|
import { LinkSessionScope } from "../extensions/links.js";
|
|
4
4
|
import { CvRow, TranscriptSettling } from "./transcript/LazyRow.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DiagramsContext } from "./transcript/diagrams-scope.js";
|
|
6
|
+
import { textlessExchanges, viewPlacements } from "../views/headless/placement.js";
|
|
7
|
+
import { CodemodeViewsSlot, ReplyViewPlaces, ViewsScopeContext, viewsScopeOf } from "./transcript/view-scope.js";
|
|
6
8
|
import { useTranscriptActions } from "./transcript/actions.js";
|
|
7
9
|
import { RowIconsContext } from "./transcript/frame.js";
|
|
8
10
|
import { ExtensionSlot } from "../extensions/ExtensionSlot.js";
|
|
9
11
|
import { rowTurnIds, stopForRow } from "./headless/transcript/select-stops.js";
|
|
12
|
+
import { ViewAnswers } from "../views/headless/answers.js";
|
|
10
13
|
import { rowCvStyle, rowEstimatePx } from "./transcript/row-estimate.js";
|
|
11
14
|
import { SelectCursor } from "./transcript/SelectCursor.js";
|
|
12
15
|
import { SubagentBlock } from "./transcript/SubagentBlock.js";
|
|
13
16
|
import { TranscriptRow, TranscriptRowSlot, isHiddenRow } from "./transcript/TranscriptRow.js";
|
|
14
17
|
import { useSelectStops, useTranscriptRows } from "./transcript/use-transcript-rows.js";
|
|
15
18
|
import { useTranscriptSelectionCopy } from "./transcript/useTranscriptSelectionCopy.js";
|
|
19
|
+
import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
16
20
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
-
import { memo, useCallback, useMemo, useRef } from "react";
|
|
18
21
|
import { DEFAULT_SETTINGS, runTailActivity } from "zidane/chat/pure";
|
|
19
22
|
//#region src/chat/Transcript.tsx
|
|
20
23
|
/**
|
|
@@ -57,7 +60,10 @@ const DEFAULT_TRANSCRIPT_OPTIONS = {
|
|
|
57
60
|
showCacheNotices: DEFAULT_SETTINGS.showCacheNotices,
|
|
58
61
|
codemodeShowCalls: DEFAULT_SETTINGS.codemodeShowCalls,
|
|
59
62
|
showToolAttachments: DEFAULT_SETTINGS.showToolAttachments,
|
|
60
|
-
renderDiagrams: DEFAULT_SETTINGS.renderDiagrams
|
|
63
|
+
renderDiagrams: DEFAULT_SETTINGS.renderDiagrams,
|
|
64
|
+
views: DEFAULT_SETTINGS.views,
|
|
65
|
+
viewsInputs: DEFAULT_SETTINGS.viewsInputs,
|
|
66
|
+
viewsCustomCode: DEFAULT_SETTINGS.viewsCustomCode
|
|
61
67
|
};
|
|
62
68
|
/**
|
|
63
69
|
* Top-level rows at the end of the transcript that mount at once (the rest
|
|
@@ -148,6 +154,57 @@ const Transcript = memo(function Transcript({ events, streaming, sessionId, opti
|
|
|
148
154
|
sessionId,
|
|
149
155
|
clusters
|
|
150
156
|
]);
|
|
157
|
+
const viewInputs = o.views && o.viewsInputs;
|
|
158
|
+
const viewEvents = o.views ? events : null;
|
|
159
|
+
const [viewPlaces] = useState(() => new ReplyViewPlaces());
|
|
160
|
+
const [viewAnswers] = useState(() => new ViewAnswers());
|
|
161
|
+
useMemo(() => {
|
|
162
|
+
if (viewEvents) viewPlaces.replace(viewPlacements(viewEvents, viewPlaces.current));
|
|
163
|
+
if (viewEvents && viewInputs) viewAnswers.update(viewEvents);
|
|
164
|
+
}, [
|
|
165
|
+
viewEvents,
|
|
166
|
+
viewInputs,
|
|
167
|
+
viewPlaces,
|
|
168
|
+
viewAnswers
|
|
169
|
+
]);
|
|
170
|
+
useLayoutEffect(() => {
|
|
171
|
+
if (viewEvents) viewPlaces.flush();
|
|
172
|
+
if (viewEvents && viewInputs) viewAnswers.flush();
|
|
173
|
+
}, [
|
|
174
|
+
viewEvents,
|
|
175
|
+
viewInputs,
|
|
176
|
+
viewPlaces,
|
|
177
|
+
viewAnswers
|
|
178
|
+
]);
|
|
179
|
+
const viewsScope = useMemo(() => viewsScopeOf(o.views, o.viewsCustomCode, o.viewsInputs, viewAnswers, viewPlaces), [
|
|
180
|
+
o.views,
|
|
181
|
+
o.viewsCustomCode,
|
|
182
|
+
o.viewsInputs,
|
|
183
|
+
viewAnswers,
|
|
184
|
+
viewPlaces
|
|
185
|
+
]);
|
|
186
|
+
const textlessEnds = useMemo(() => {
|
|
187
|
+
if (!viewEvents || !sessionId) return null;
|
|
188
|
+
const exchanges = textlessExchanges(viewEvents).filter((exchange) => exchange.closed || !streaming);
|
|
189
|
+
if (exchanges.length === 0) return null;
|
|
190
|
+
const lastRow = /* @__PURE__ */ new Map();
|
|
191
|
+
for (const cluster of clusters) {
|
|
192
|
+
if (cluster.kind !== "single") continue;
|
|
193
|
+
for (const id of rowTurnIds(cluster.row)) lastRow.set(id, cluster.row.id);
|
|
194
|
+
}
|
|
195
|
+
const byRow = /* @__PURE__ */ new Map();
|
|
196
|
+
for (const exchange of exchanges) {
|
|
197
|
+
let rowId;
|
|
198
|
+
for (const turnId of exchange.turns) rowId = lastRow.get(turnId) ?? rowId;
|
|
199
|
+
if (rowId) byRow.set(rowId, exchange.turns);
|
|
200
|
+
}
|
|
201
|
+
return byRow;
|
|
202
|
+
}, [
|
|
203
|
+
viewEvents,
|
|
204
|
+
sessionId,
|
|
205
|
+
streaming,
|
|
206
|
+
clusters
|
|
207
|
+
]);
|
|
151
208
|
const selectedTurnId = selection?.selected ?? null;
|
|
152
209
|
const stops = useSelectStops(visibleRows, events, showThinking, selectedTurnId !== null, selection?.registerStops);
|
|
153
210
|
const containerRef = useRef(null);
|
|
@@ -267,6 +324,7 @@ const Transcript = memo(function Transcript({ events, streaming, sessionId, opti
|
|
|
267
324
|
const out = [];
|
|
268
325
|
const nextSlotCache = lazy ? /* @__PURE__ */ new Map() : slotCache.current;
|
|
269
326
|
const eagerFrom = lazy ? eagerTailStart(list, (row) => isHiddenRow(row, showThinking)) : 0;
|
|
327
|
+
const textlessHere = lazy && sessionId ? textlessEnds : null;
|
|
270
328
|
const renderSingle = (cluster, ci) => {
|
|
271
329
|
if (isHiddenRow(cluster.row, showThinking)) return;
|
|
272
330
|
const stop = stops ? stopForRow(cluster.row, stops) : null;
|
|
@@ -313,6 +371,14 @@ const Transcript = memo(function Transcript({ events, streaming, sessionId, opti
|
|
|
313
371
|
list.forEach((cluster, ci) => {
|
|
314
372
|
if (cluster.kind === "single") {
|
|
315
373
|
renderSingle(cluster, ci);
|
|
374
|
+
const textless = textlessHere?.get(cluster.row.id);
|
|
375
|
+
if (textless) out.push(/* @__PURE__ */ jsx("div", {
|
|
376
|
+
className: "pl-2 pr-1",
|
|
377
|
+
children: /* @__PURE__ */ jsx(CodemodeViewsSlot, {
|
|
378
|
+
sessionId,
|
|
379
|
+
turns: textless
|
|
380
|
+
})
|
|
381
|
+
}, `views-end:${cluster.row.id}`));
|
|
316
382
|
const ends = lazy && sessionId ? turnEnds?.get(cluster.row.id) : void 0;
|
|
317
383
|
for (const turnId of ends ?? []) out.push(/* @__PURE__ */ jsx(ExtensionSlot, {
|
|
318
384
|
at: "transcript.turn-end",
|
|
@@ -334,29 +400,32 @@ const Transcript = memo(function Transcript({ events, streaming, sessionId, opti
|
|
|
334
400
|
value: settling,
|
|
335
401
|
children: /* @__PURE__ */ jsx(RowIconsContext.Provider, {
|
|
336
402
|
value: o.showRowIcons,
|
|
337
|
-
children: /* @__PURE__ */ jsx(
|
|
338
|
-
|
|
339
|
-
children: /* @__PURE__ */ jsx(
|
|
340
|
-
|
|
341
|
-
children: /* @__PURE__ */
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
sessionId,
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
403
|
+
children: /* @__PURE__ */ jsx(DiagramsContext.Provider, {
|
|
404
|
+
value: o.renderDiagrams,
|
|
405
|
+
children: /* @__PURE__ */ jsx(ViewsScopeContext.Provider, {
|
|
406
|
+
value: viewsScope,
|
|
407
|
+
children: /* @__PURE__ */ jsx(LinkSessionScope, {
|
|
408
|
+
sessionId,
|
|
409
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
410
|
+
ref: containerRef,
|
|
411
|
+
className,
|
|
412
|
+
style,
|
|
413
|
+
children: [
|
|
414
|
+
/* @__PURE__ */ jsxs("div", {
|
|
415
|
+
className: "zg-timeline relative pl-2 pr-1 py-1",
|
|
416
|
+
children: [/* @__PURE__ */ jsx(SelectCursor, {
|
|
417
|
+
selected: selectedTurnId,
|
|
418
|
+
layout: stops
|
|
419
|
+
}), rootRows]
|
|
420
|
+
}),
|
|
421
|
+
sessionId && !streaming && events.length > 0 && /* @__PURE__ */ jsx(ExtensionSlot, {
|
|
422
|
+
at: "transcript.turn-end",
|
|
423
|
+
sessionId,
|
|
424
|
+
className: "pl-2 pr-1 py-1"
|
|
425
|
+
}),
|
|
426
|
+
children
|
|
427
|
+
]
|
|
428
|
+
})
|
|
360
429
|
})
|
|
361
430
|
})
|
|
362
431
|
})
|
|
@@ -2,8 +2,8 @@ import { Menu, MenuNote, MenuRow } from "../../components/Menu.js";
|
|
|
2
2
|
import { Popover } from "../../components/floating/Popover.js";
|
|
3
3
|
import { useChatLabels } from "../useChatLabels.js";
|
|
4
4
|
import { PickerPill } from "./PickerPill.js";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
import { useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/chat/composer/AgentPicker.tsx
|
|
8
8
|
/**
|
|
9
9
|
* The agent profile pill of the composer's controls and its menu: every
|
|
@@ -4,8 +4,8 @@ import { useComposerHost, useComposerLabels } from "./ComposerHostProvider.js";
|
|
|
4
4
|
import { ModalShell } from "../../app/ModalProvider.js";
|
|
5
5
|
import { useAgentProfiles } from "./use-agent-profiles.js";
|
|
6
6
|
import { useCacheHints } from "./use-cache-hints.js";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
7
|
import { useState } from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
import { accentColor } from "zidane/chat/pure";
|
|
10
10
|
//#region src/chat/composer/AgentPickerDialog.tsx
|
|
11
11
|
/**
|
|
@@ -2,8 +2,8 @@ import { ModalShell, useModal } from "../../app/ModalProvider.js";
|
|
|
2
2
|
import { FileEditApproval } from "../../approvals/FileEditApproval.js";
|
|
3
3
|
import { ApprovalBar } from "../../approvals/ApprovalBar.js";
|
|
4
4
|
import { DockCard } from "./DockCard.js";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
import { useCallback } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
//#region src/chat/composer/ApprovalDock.tsx
|
|
8
8
|
/**
|
|
9
9
|
* `ApprovalBar` in the composer dock: the inline card drawn as a
|
|
@@ -2,8 +2,8 @@ import { readExitMs } from "../../motion/presence.js";
|
|
|
2
2
|
import { useComposerLabels } from "./ComposerHostProvider.js";
|
|
3
3
|
import { isPdfAttachment, isTextLike } from "./attachment-ingest.js";
|
|
4
4
|
import { AttachmentIcon } from "../transcript/prompt.js";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
import { useRef, useState } from "react";
|
|
6
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/chat/composer/AttachmentTiles.tsx
|
|
8
8
|
/**
|
|
9
9
|
* Staged attachments as tiles, shared by the composer and the queued-message
|
|
@@ -107,7 +107,7 @@ function AttachmentRow({ attachments, exitingIds, onRemove, onExited, onOpenLigh
|
|
|
107
107
|
className: `${ATTACHMENT_TILE} w-full h-16 flex flex-col items-center justify-center gap-1 px-2 overflow-hidden cursor-zoom-in`,
|
|
108
108
|
children: (() => {
|
|
109
109
|
const parts = attachmentLabelParts(att.name, isPdfAttachment(att) ? "i-ph-file-pdf" : "i-ph-file-text");
|
|
110
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
110
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
111
111
|
/* @__PURE__ */ jsx(AttachmentIcon, {
|
|
112
112
|
parts,
|
|
113
113
|
className: "text-lg"
|
|
@@ -11,8 +11,8 @@ import { loadComposerEditor, loadedComposerEditor } from "./load-composer-editor
|
|
|
11
11
|
import { isCaretAtEnd, isCaretAtStart, plainTextToDocJson } from "./prompt-history-nav.js";
|
|
12
12
|
import { SendButton } from "./SendButton.js";
|
|
13
13
|
import { SuggestionPopup } from "./suggestions.js";
|
|
14
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
14
|
import { forwardRef, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState } from "react";
|
|
15
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
16
|
import { otherDelivery } from "zidane/chat/pure";
|
|
17
17
|
//#region src/chat/composer/Composer.tsx
|
|
18
18
|
const serialize = (editor) => editor.getText({ blockSeparator: "\n" });
|
|
@@ -3,8 +3,8 @@ import { Tooltip } from "../../components/Tooltip.js";
|
|
|
3
3
|
import { moveId, useTabDrag } from "../../hooks/useTabDrag.js";
|
|
4
4
|
import { CountBadge } from "../../components/TabPill.js";
|
|
5
5
|
import { useChatLabels } from "../useChatLabels.js";
|
|
6
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
6
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
7
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { AnimatePresence, Reorder } from "motion/react";
|
|
9
9
|
//#region src/chat/composer/ComposerBadges.tsx
|
|
10
10
|
/**
|
|
@@ -171,7 +171,7 @@ function Strip({ badges, onReorder, label }) {
|
|
|
171
171
|
}
|
|
172
172
|
function Pill({ badge, onSelect, onMove }) {
|
|
173
173
|
const tone = badge.tone ? TONE_CLASS[badge.tone] : badge.highlight ? TONE_CLASS.warn : "";
|
|
174
|
-
const body = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
174
|
+
const body = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
175
175
|
badge.loader ? /* @__PURE__ */ jsx("span", {
|
|
176
176
|
"aria-hidden": true,
|
|
177
177
|
className: "zg-arc shrink-0"
|
|
@@ -6,8 +6,8 @@ import { HostContextOrb } from "./HostContextOrb.js";
|
|
|
6
6
|
import { HostAgentPicker, HostModelOptionsPicker, HostModelPicker } from "./HostPickers.js";
|
|
7
7
|
import { useJoinedRunProgress, useRunAccruedCost, useRunOutputTokens, useRunProgress } from "./use-run-meter.js";
|
|
8
8
|
import { RunStatusChip } from "./RunStatusChip.js";
|
|
9
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
9
|
import { useMemo } from "react";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
//#region src/chat/composer/ComposerControls.tsx
|
|
12
12
|
/**
|
|
13
13
|
* The composer's controls row, split in its two clusters:
|