@parhelia/core 0.1.12907 → 0.1.12909
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/agents-view/AgentCard.d.ts +8 -4
- package/dist/agents-view/AgentCard.js +80 -175
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentGalleryCard.d.ts +12 -0
- package/dist/agents-view/AgentGalleryCard.js +12 -0
- package/dist/agents-view/AgentGalleryCard.js.map +1 -0
- package/dist/agents-view/AgentGalleryView.d.ts +18 -0
- package/dist/agents-view/AgentGalleryView.js +88 -0
- package/dist/agents-view/AgentGalleryView.js.map +1 -0
- package/dist/agents-view/AgentProfileIcon.d.ts +9 -0
- package/dist/agents-view/AgentProfileIcon.js +32 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -0
- package/dist/agents-view/AgentsSidebar.d.ts +4 -11
- package/dist/agents-view/AgentsSidebar.js +10 -14
- package/dist/agents-view/AgentsSidebar.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.d.ts +2 -3
- package/dist/agents-view/AgentsTitlebar.js +6 -7
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.d.ts +27 -7
- package/dist/agents-view/AgentsView.js +126 -294
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.d.ts +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +150 -106
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/CreateAgentView.d.ts +1 -1
- package/dist/agents-view/CreateAgentView.js +2 -2
- package/dist/agents-view/CreateAgentView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +17 -0
- package/dist/agents-view/DateAgentsGroup.js +19 -0
- package/dist/agents-view/DateAgentsGroup.js.map +1 -0
- package/dist/agents-view/ProfileAgentsGroup.d.ts +4 -4
- package/dist/agents-view/ProfileAgentsGroup.js +22 -10
- package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
- package/dist/agents-view/RenameAgentDialog.d.ts +12 -0
- package/dist/agents-view/RenameAgentDialog.js +40 -0
- package/dist/agents-view/RenameAgentDialog.js.map +1 -0
- package/dist/agents-view/agentsNavStore.d.ts +8 -0
- package/dist/agents-view/agentsNavStore.js +24 -0
- package/dist/agents-view/agentsNavStore.js.map +1 -0
- package/dist/components/MarkdownDisplay.js +29 -16
- package/dist/components/MarkdownDisplay.js.map +1 -1
- package/dist/components/PageHeader.d.ts +5 -1
- package/dist/components/PageHeader.js +3 -3
- package/dist/components/PageHeader.js.map +1 -1
- package/dist/components/SearchInput.d.ts +28 -0
- package/dist/components/SearchInput.js +38 -0
- package/dist/components/SearchInput.js.map +1 -0
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/ui/LanguageSelectionGrid.d.ts +27 -0
- package/dist/components/ui/LanguageSelectionGrid.js +41 -0
- package/dist/components/ui/LanguageSelectionGrid.js.map +1 -0
- package/dist/components/ui/LanguageSelector.d.ts +6 -1
- package/dist/components/ui/LanguageSelector.js +10 -6
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/PlaceholderInput.d.ts +0 -8
- package/dist/components/ui/PlaceholderInput.js +2 -43
- package/dist/components/ui/PlaceholderInput.js.map +1 -1
- package/dist/components/ui/PlaceholderInputParser.d.ts +9 -0
- package/dist/components/ui/PlaceholderInputParser.js +98 -0
- package/dist/components/ui/PlaceholderInputParser.js.map +1 -0
- package/dist/components/ui/PlaceholderInputTypes.d.ts +1 -1
- package/dist/components/ui/PlaceholderInputTypes.js +1 -1
- package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
- package/dist/components/ui/PlaceholderItemSelector.js +3 -3
- package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
- package/dist/components/ui/UserPicker.d.ts +34 -0
- package/dist/components/ui/UserPicker.js +73 -0
- package/dist/components/ui/UserPicker.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +7 -0
- package/dist/components/ui/accordion.js +17 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +1 -1
- package/dist/components/ui/alert-dialog.js +8 -8
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert.d.ts +3 -2
- package/dist/components/ui/alert.js +9 -4
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/avatar.d.ts +30 -0
- package/dist/components/ui/avatar.js +46 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +8 -3
- package/dist/components/ui/badge.js +18 -8
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +1 -1
- package/dist/components/ui/breadcrumb.js +5 -5
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/button.d.ts +9 -4
- package/dist/components/ui/button.js +20 -14
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.d.ts +4 -1
- package/dist/components/ui/card.js +4 -4
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/close-button.d.ts +13 -0
- package/dist/components/ui/close-button.js +29 -0
- package/dist/components/ui/close-button.js.map +1 -0
- package/dist/components/ui/close-icon.d.ts +7 -0
- package/dist/components/ui/close-icon.js +14 -0
- package/dist/components/ui/close-icon.js.map +1 -0
- package/dist/components/ui/command.d.ts +2 -1
- package/dist/components/ui/command.js +8 -4
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/context-menu.d.ts +17 -3
- package/dist/components/ui/context-menu.js +132 -68
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/copy-button.js +4 -3
- package/dist/components/ui/copy-button.js.map +1 -1
- package/dist/components/ui/delete-button.d.ts +13 -0
- package/dist/components/ui/delete-button.js +36 -0
- package/dist/components/ui/delete-button.js.map +1 -0
- package/dist/components/ui/delete-icon.d.ts +7 -0
- package/dist/components/ui/delete-icon.js +14 -0
- package/dist/components/ui/delete-icon.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +3 -3
- package/dist/components/ui/dialog.js +30 -7
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +5 -5
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/mention-textarea.d.ts +10 -0
- package/dist/components/ui/mention-textarea.js +180 -0
- package/dist/components/ui/mention-textarea.js.map +1 -0
- package/dist/components/ui/multi-switch-button.d.ts +22 -0
- package/dist/components/ui/multi-switch-button.js +12 -0
- package/dist/components/ui/multi-switch-button.js.map +1 -0
- package/dist/components/ui/paste-button.js +2 -2
- package/dist/components/ui/paste-button.js.map +1 -1
- package/dist/components/ui/popover.js +22 -4
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/progress.js +2 -2
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/select.js +3 -4
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/sonner.js +28 -2
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/styled-dialog-title.js +2 -2
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tabs.js +3 -3
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/textarea.js +2 -2
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/config/config.js +314 -70
- package/dist/config/config.js.map +1 -1
- package/dist/config/notificationRoutes.js +111 -10
- package/dist/config/notificationRoutes.js.map +1 -1
- package/dist/config/types/sidebar.d.ts +4 -0
- package/dist/config/types/workspace.d.ts +13 -2
- package/dist/config/types.d.ts +17 -3
- package/dist/config/types.js.map +1 -1
- package/dist/editor/AdminRequiredView.js +4 -2
- package/dist/editor/AdminRequiredView.js.map +1 -1
- package/dist/editor/AspectRatioSelector.js +28 -25
- package/dist/editor/AspectRatioSelector.js.map +1 -1
- package/dist/editor/ConcurrentUserLimitDialog.js +11 -4
- package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
- package/dist/editor/ConfirmationDialog.js +6 -2
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +19 -1
- package/dist/editor/ContentTree.js +99 -30
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ContextMenu.d.ts +1 -0
- package/dist/editor/ContextMenu.js +9 -11
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/DeleteItemsWarning.js +2 -2
- package/dist/editor/DeleteItemsWarning.js.map +1 -1
- package/dist/editor/Editor.d.ts +1 -1
- package/dist/editor/Editor.js +29 -9
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/EditorLoadingOverlay.d.ts +1 -0
- package/dist/editor/EditorLoadingOverlay.js +7 -0
- package/dist/editor/EditorLoadingOverlay.js.map +1 -0
- package/dist/editor/EditorWarning.js +4 -4
- package/dist/editor/EditorWarning.js.map +1 -1
- package/dist/editor/FieldActionsOverlay.d.ts +0 -1
- package/dist/editor/FieldActionsOverlay.js +8 -25
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldEditorPopup.js +2 -2
- package/dist/editor/FieldEditorPopup.js.map +1 -1
- package/dist/editor/FieldHistory.d.ts +2 -1
- package/dist/editor/FieldHistory.js +23 -15
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/FieldList.js +2 -2
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.d.ts +1 -1
- package/dist/editor/FieldListField.js +69 -60
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/FieldListFieldWithFallbacks.js +4 -3
- package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +28 -19
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/ImageEditButton.js +3 -3
- package/dist/editor/ImageEditButton.js.map +1 -1
- package/dist/editor/ImageEditor.d.ts +6 -1
- package/dist/editor/ImageEditor.js +21 -4
- package/dist/editor/ImageEditor.js.map +1 -1
- package/dist/editor/ItemInfo.js +10 -7
- package/dist/editor/ItemInfo.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +9 -2
- package/dist/editor/LinkEditorDialog.js +183 -60
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +121 -16
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MigrationsView.js +16 -35
- package/dist/editor/MigrationsView.js.map +1 -1
- package/dist/editor/MobileLayout.js +35 -3
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/PictureCropper.js +116 -58
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/PictureEditor.d.ts +2 -1
- package/dist/editor/PictureEditor.js +17 -19
- package/dist/editor/PictureEditor.js.map +1 -1
- package/dist/editor/QuickItemSwitcher.js +9 -9
- package/dist/editor/QuickItemSwitcher.js.map +1 -1
- package/dist/editor/SetupWizard.js +17 -13
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/Titlebar.d.ts +1 -1
- package/dist/editor/Titlebar.js +2 -2
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
- package/dist/editor/WorkspaceTitleSwitcher.js +67 -0
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
- package/dist/editor/ai/AgentInlineDialogContent.js +2 -2
- package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
- package/dist/editor/ai/AgentPanesGrid.js +8 -7
- package/dist/editor/ai/AgentPanesGrid.js.map +1 -1
- package/dist/editor/ai/AgentProfileSelector.d.ts +1 -0
- package/dist/editor/ai/AgentProfileSelector.js +11 -9
- package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
- package/dist/editor/ai/AgentSharingSection.js +22 -9
- package/dist/editor/ai/AgentSharingSection.js.map +1 -1
- package/dist/editor/ai/AgentStatusBadge.js +13 -21
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.d.ts +2 -38
- package/dist/editor/ai/AgentTerminal.js +6 -6503
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/Agents.js +278 -397
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.js +24 -19
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/GuidanceOverlay.js +12 -19
- package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.d.ts +2 -2
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +55 -31
- package/dist/editor/ai/HeartbeatDiagnosticsPanel.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.d.ts +6 -0
- package/dist/editor/ai/InlineAiDialog.js +411 -277
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/InlineAiTextEditTooltip.d.ts +8 -0
- package/dist/editor/ai/InlineAiTextEditTooltip.js +10 -0
- package/dist/editor/ai/InlineAiTextEditTooltip.js.map +1 -0
- package/dist/editor/ai/InlineAiTrigger.js +236 -37
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/MediaImage.js +5 -5
- package/dist/editor/ai/MediaImage.js.map +1 -1
- package/dist/editor/ai/TimeWithTooltip.js +2 -4
- package/dist/editor/ai/TimeWithTooltip.js.map +1 -1
- package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
- package/dist/editor/ai/agentActivitySummary.js +390 -0
- package/dist/editor/ai/agentActivitySummary.js.map +1 -0
- package/dist/editor/ai/agentDiagnostics.d.ts +26 -0
- package/dist/editor/ai/agentDiagnostics.js +41 -1
- package/dist/editor/ai/agentDiagnostics.js.map +1 -1
- package/dist/editor/ai/agentDialogRegistry.js.map +1 -1
- package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
- package/dist/editor/ai/agentMessageMarkdown.js +10 -10
- package/dist/editor/ai/agentMessageMarkdown.js.map +1 -1
- package/dist/editor/ai/agentTodoExtraction.d.ts +7 -1
- package/dist/editor/ai/agentTodoExtraction.js +33 -0
- package/dist/editor/ai/agentTodoExtraction.js.map +1 -1
- package/dist/editor/ai/agentWatchdogStatusRegistry.d.ts +1 -0
- package/dist/editor/ai/agentWatchdogStatusRegistry.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +99 -13
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js +13 -12
- package/dist/editor/ai/dialogs/ComponentTypeSelectorInline.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +58 -84
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +18 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js +5 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/ai/dialogs/browserBoundCapture.d.ts +6 -9
- package/dist/editor/ai/dialogs/browserBoundCapture.js +18 -27
- package/dist/editor/ai/dialogs/browserBoundCapture.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageDom.js +50 -35
- package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
- package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +27 -1
- package/dist/editor/ai/dialogs/capturePageScreenshot.js +270 -159
- package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
- package/dist/editor/ai/dialogs/captureShared.d.ts +10 -0
- package/dist/editor/ai/dialogs/captureShared.js +39 -0
- package/dist/editor/ai/dialogs/captureShared.js.map +1 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.d.ts +44 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.js +300 -0
- package/dist/editor/ai/dialogs/offscreenPageCapture.js.map +1 -0
- package/dist/editor/ai/inlineAiTextEditLabels.d.ts +2 -0
- package/dist/editor/ai/inlineAiTextEditLabels.js +8 -0
- package/dist/editor/ai/inlineAiTextEditLabels.js.map +1 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.d.ts +5 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.js +86 -0
- package/dist/editor/ai/prepareInlineAiTextSelection.js.map +1 -0
- package/dist/editor/ai/terminal/agentContextMerge.d.ts +14 -0
- package/dist/editor/ai/terminal/agentContextMerge.js +111 -0
- package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
- package/dist/editor/ai/terminal/agentOptimisticMessage.d.ts +1 -0
- package/dist/editor/ai/terminal/agentOptimisticMessage.js +4 -0
- package/dist/editor/ai/terminal/agentOptimisticMessage.js.map +1 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.d.ts +5 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.js +8 -0
- package/dist/editor/ai/terminal/agentPromptPlaceholders.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.d.ts +82 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js +277 -0
- package/dist/editor/ai/terminal/agentQuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.d.ts +13 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +87 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.d.ts +7 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.js +27 -0
- package/dist/editor/ai/terminal/agentSessionCostLimit.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +11 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +127 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.d.ts +2 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.js +24 -0
- package/dist/editor/ai/terminal/agentSessionMetadata.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.d.ts +65 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.js +232 -0
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.d.ts +16 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +77 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -0
- package/dist/editor/ai/terminal/agentSessionState.d.ts +162 -0
- package/dist/editor/ai/terminal/agentSessionState.js +830 -0
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -0
- package/dist/editor/ai/terminal/agentStartRequest.d.ts +15 -0
- package/dist/editor/ai/terminal/agentStartRequest.js +25 -0
- package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.d.ts +1 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.js +9 -0
- package/dist/editor/ai/terminal/agentSubmitErrors.js.map +1 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
- package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +145 -0
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentBanners.js +16 -0
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.d.ts +11 -0
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.js +81 -0
- package/dist/editor/ai/terminal/components/AgentContextItemPicker.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +116 -0
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.d.ts +32 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +404 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +12 -0
- package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +39 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +42 -0
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentGreeting.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentGreeting.js +14 -0
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.js +6 -0
- package/dist/editor/ai/terminal/components/AgentLoadingContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +8 -0
- package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.js +90 -0
- package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.d.ts +6 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.js +9 -0
- package/dist/editor/ai/terminal/components/AgentParentLink.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +10 -0
- package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +16 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +15 -0
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +207 -0
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.d.ts +14 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +17 -0
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +10 -0
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +39 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +27 -0
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +18 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +106 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js +7 -0
- package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +8 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +32 -0
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +53 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +9 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.d.ts +7 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +14 -0
- package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +43 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +33 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.d.ts +21 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +48 -0
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.d.ts +16 -0
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js +41 -0
- package/dist/editor/ai/terminal/components/AgentSuggestionBanner.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +26 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.d.ts +6 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryErrorNotice.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.d.ts +10 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js +13 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPlaceholder.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.d.ts +12 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js +21 -0
- package/dist/editor/ai/terminal/components/AgentSummaryPromptActions.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +24 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js +13 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.d.ts +23 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js +66 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.d.ts +13 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js +10 -0
- package/dist/editor/ai/terminal/components/AgentTerminalDialogHost.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +24 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +24 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +7 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +62 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +98 -0
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +18 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +44 -0
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +81 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +910 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +42 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +18 -0
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +18 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +42 -0
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.d.ts +5 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.js +9 -0
- package/dist/editor/ai/terminal/components/AgentThinkingDots.js.map +1 -0
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +25 -0
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +1557 -0
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -0
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +17 -0
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +588 -0
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -0
- package/dist/editor/ai/terminal/components/EditOperationsPanel.d.ts +9 -0
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js +102 -0
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/HeartbeatMessage.d.ts +4 -0
- package/dist/editor/ai/terminal/components/HeartbeatMessage.js +7 -0
- package/dist/editor/ai/terminal/components/HeartbeatMessage.js.map +1 -0
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.d.ts +1 -0
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.js +5 -0
- package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.d.ts +9 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js +56 -0
- package/dist/editor/ai/terminal/components/QuestionnaireRecap.js.map +1 -0
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.d.ts +8 -0
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +49 -0
- package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.d.ts +7 -0
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js +105 -0
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/TodoListPanel.d.ts +6 -0
- package/dist/editor/ai/terminal/components/TodoListPanel.js +117 -0
- package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -0
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +83 -0
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +784 -0
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -0
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
- package/dist/editor/ai/terminal/components/UserMessage.js +243 -0
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -0
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.d.ts +21 -0
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.js +32 -0
- package/dist/editor/ai/terminal/components/toolCallApprovalGate.js.map +1 -0
- package/dist/editor/ai/terminal/contextBreakdown.d.ts +17 -0
- package/dist/editor/ai/terminal/contextBreakdown.js +58 -0
- package/dist/editor/ai/terminal/contextBreakdown.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +136 -0
- package/dist/editor/ai/terminal/types.js +2 -0
- package/dist/editor/ai/terminal/types.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.js +9 -0
- package/dist/editor/ai/terminal/useAgentActiveStreaming.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js +19 -0
- package/dist/editor/ai/terminal/useAgentAssignedSkillsSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +29 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +68 -0
- package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.js +96 -0
- package/dist/editor/ai/terminal/useAgentContentChunkHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.js +98 -0
- package/dist/editor/ai/terminal/useAgentContextDisplayNames.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js +29 -0
- package/dist/editor/ai/terminal/useAgentContextUpdateHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.js +41 -0
- package/dist/editor/ai/terminal/useAgentCostLimitActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js +58 -0
- package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +121 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.js +166 -0
- package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +16 -0
- package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.js +10 -0
- package/dist/editor/ai/terminal/useAgentEffectiveModelName.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js +55 -0
- package/dist/editor/ai/terminal/useAgentHeartbeatMessages.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js +55 -0
- package/dist/editor/ai/terminal/useAgentInfoSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js +18 -0
- package/dist/editor/ai/terminal/useAgentInitialMetadataMerge.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js +51 -0
- package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js +196 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js +28 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +78 -0
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js +26 -0
- package/dist/editor/ai/terminal/useAgentLoadErrorHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.js +21 -0
- package/dist/editor/ai/terminal/useAgentLoadLifecycle.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +40 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +75 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.d.ts +13 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js +31 -0
- package/dist/editor/ai/terminal/useAgentLoadedRunStateSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentLoader.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentLoader.js +80 -0
- package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js +23 -0
- package/dist/editor/ai/terminal/useAgentMessageCompletionNotifier.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentModeState.d.ts +13 -0
- package/dist/editor/ai/terminal/useAgentModeState.js +52 -0
- package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js +26 -0
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js +19 -0
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.js +35 -0
- package/dist/editor/ai/terminal/useAgentPendingApprovals.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js +140 -0
- package/dist/editor/ai/terminal/useAgentPendingDialogRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js +60 -0
- package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +17 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js +61 -0
- package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.d.ts +37 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +206 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.d.ts +26 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.js +51 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerProps.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js +29 -0
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.js +39 -0
- package/dist/editor/ai/terminal/useAgentPromptDraft.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.d.ts +6 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js +22 -0
- package/dist/editor/ai/terminal/useAgentPromptQueueSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js +61 -0
- package/dist/editor/ai/terminal/useAgentQuestionnaireDialogRecovery.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js +10 -0
- package/dist/editor/ai/terminal/useAgentQueuedPromptReset.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.js +109 -0
- package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +67 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +53 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.d.ts +24 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +66 -0
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.d.ts +22 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.js +70 -0
- package/dist/editor/ai/terminal/useAgentRunDiagnostics.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +42 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +39 -0
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.d.ts +17 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.js +44 -0
- package/dist/editor/ai/terminal/useAgentRunRefs.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +118 -0
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js +22 -0
- package/dist/editor/ai/terminal/useAgentRunSequenceGuard.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js +74 -0
- package/dist/editor/ai/terminal/useAgentRunStartSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +36 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +360 -0
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.d.ts +11 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.js +9 -0
- package/dist/editor/ai/terminal/useAgentRuntimeStatus.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js +22 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSession.d.ts +50 -0
- package/dist/editor/ai/terminal/useAgentSession.js +181 -0
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.d.ts +13 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js +26 -0
- package/dist/editor/ai/terminal/useAgentSessionCommandBindings.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js +14 -0
- package/dist/editor/ai/terminal/useAgentSessionErrorBridge.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +49 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +127 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.js +17 -0
- package/dist/editor/ai/terminal/useAgentSessionSocketSource.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +102 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.js +179 -0
- package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +49 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js +210 -0
- package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.d.ts +46 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.js +380 -0
- package/dist/editor/ai/terminal/useAgentSettingsData.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js +33 -0
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +87 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +92 -0
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +45 -0
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +35 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +51 -0
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +33 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js +210 -0
- package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js +57 -0
- package/dist/editor/ai/terminal/useAgentSocketMessageRouter.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.d.ts +36 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js +70 -0
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.d.ts +28 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.js +55 -0
- package/dist/editor/ai/terminal/useAgentStopCommand.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.js +40 -0
- package/dist/editor/ai/terminal/useAgentStopGuardState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js +31 -0
- package/dist/editor/ai/terminal/useAgentStreamMessageFactory.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +66 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +169 -0
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.js +70 -0
- package/dist/editor/ai/terminal/useAgentStreamSubscription.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.d.ts +38 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.js +228 -0
- package/dist/editor/ai/terminal/useAgentStreamWatchdog.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +85 -0
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +57 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +402 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +31 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +45 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.d.ts +20 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +57 -0
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js +35 -0
- package/dist/editor/ai/terminal/useAgentSuggestionSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js +32 -0
- package/dist/editor/ai/terminal/useAgentSummaryQuestionnaireScroll.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.d.ts +23 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.js +54 -0
- package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js +16 -0
- package/dist/editor/ai/terminal/useAgentTerminalBackgroundEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +30 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js +12 -0
- package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js +900 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.js +21 -0
- package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js +17 -0
- package/dist/editor/ai/terminal/useAgentTerminalElementRefs.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.d.ts +10 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.js +11 -0
- package/dist/editor/ai/terminal/useAgentTerminalNotices.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.d.ts +7 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js +29 -0
- package/dist/editor/ai/terminal/useAgentTerminalReadyEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.d.ts +15 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.js +63 -0
- package/dist/editor/ai/terminal/useAgentTerminalScroll.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.d.ts +27 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.js +43 -0
- package/dist/editor/ai/terminal/useAgentTerminalUiState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +19 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +22 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +32 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js +44 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js +187 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.d.ts +14 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js +65 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalResolvedEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.d.ts +8 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js +53 -0
- package/dist/editor/ai/terminal/useAgentToolApprovalSupersede.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.d.ts +12 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js +84 -0
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +127 -0
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.d.ts +5 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.js +24 -0
- package/dist/editor/ai/terminal/useAgentToolUiEvents.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.d.ts +9 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +44 -0
- package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.d.ts +16 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.js +231 -0
- package/dist/editor/ai/terminal/useAgentVoiceInput.js.map +1 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.d.ts +6 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js +57 -0
- package/dist/editor/ai/terminal/useSuppressedQueuedPrompts.js.map +1 -0
- package/dist/editor/ai/types.d.ts +1 -1
- package/dist/editor/ai/useActiveAgentConversation.d.ts +5 -0
- package/dist/editor/ai/useActiveAgentConversation.js +52 -0
- package/dist/editor/ai/useActiveAgentConversation.js.map +1 -0
- package/dist/editor/ai/useAgentPanes.d.ts +1 -1
- package/dist/editor/ai/useAgentPanes.js +33 -5
- package/dist/editor/ai/useAgentPanes.js.map +1 -1
- package/dist/editor/ai/useAgentStatus.js +3 -1
- package/dist/editor/ai/useAgentStatus.js.map +1 -1
- package/dist/editor/ai/useInlineAiPosition.d.ts +10 -2
- package/dist/editor/ai/useInlineAiPosition.js +69 -86
- package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +137 -26
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageResultOverlay.js +32 -64
- package/dist/editor/ai-image-editor/AiImageResultOverlay.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +73 -0
- package/dist/editor/bridge/BridgeClient.js +415 -0
- package/dist/editor/bridge/BridgeClient.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +564 -0
- package/dist/editor/bridge/protocol.js +200 -0
- package/dist/editor/bridge/protocol.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +18 -6
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.d.ts +2 -5
- package/dist/editor/client/EditorShell.js +736 -253
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/OperationDialogContent.js +3 -3
- package/dist/editor/client/OperationDialogContent.js.map +1 -1
- package/dist/editor/client/SessionExpiredOverlay.d.ts +1 -0
- package/dist/editor/client/SessionExpiredOverlay.js +25 -0
- package/dist/editor/client/SessionExpiredOverlay.js.map +1 -0
- package/dist/editor/client/editContext.d.ts +127 -13
- package/dist/editor/client/editContext.js +3 -7
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/fieldModificationStore.d.ts +6 -2
- package/dist/editor/client/fieldModificationStore.js +38 -23
- package/dist/editor/client/fieldModificationStore.js.map +1 -1
- package/dist/editor/client/helpers.js +3 -3
- package/dist/editor/client/helpers.js.map +1 -1
- package/dist/editor/client/hooks/feedbackSocketState.d.ts +6 -0
- package/dist/editor/client/hooks/feedbackSocketState.js +16 -0
- package/dist/editor/client/hooks/feedbackSocketState.js.map +1 -0
- package/dist/editor/client/hooks/useEditorUrlSync.js +14 -1
- package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.d.ts +3 -0
- package/dist/editor/client/hooks/useEditorWebSocket.js +224 -18
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useMediaSelector.js.map +1 -1
- package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
- package/dist/editor/client/hooks/useReducedMotion.js +12 -0
- package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +4 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +127 -86
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +2 -0
- package/dist/editor/client/hooks/useWorkbox.js +76 -33
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- package/dist/editor/client/hooks/workboxDescriptors.d.ts +6 -0
- package/dist/editor/client/hooks/workboxDescriptors.js +49 -0
- package/dist/editor/client/hooks/workboxDescriptors.js.map +1 -0
- package/dist/editor/client/itemsRepository.d.ts +10 -5
- package/dist/editor/client/itemsRepository.js +48 -46
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
- package/dist/editor/client/manualShowMeFocus.js +32 -0
- package/dist/editor/client/manualShowMeFocus.js.map +1 -0
- package/dist/editor/client/operationToasts.d.ts +2 -0
- package/dist/editor/client/operationToasts.js +35 -0
- package/dist/editor/client/operationToasts.js.map +1 -0
- package/dist/editor/client/operations.d.ts +20 -5
- package/dist/editor/client/operations.js +407 -136
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.d.ts +2 -0
- package/dist/editor/client/pageModelBuilder.js +89 -20
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/client/realtime/realtimeTransport.d.ts +56 -0
- package/dist/editor/client/realtime/realtimeTransport.js +197 -0
- package/dist/editor/client/realtime/realtimeTransport.js.map +1 -0
- package/dist/editor/client/ui/DevModeIndicator.js +1 -1
- package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +11 -4
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/client/ui/FullscreenControls.js +5 -5
- package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.d.ts +1 -0
- package/dist/editor/client/waitForEditOperationTerminal.js +1 -1
- package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
- package/dist/editor/commands/agentCommands.js +1 -1
- package/dist/editor/commands/agentCommands.js.map +1 -1
- package/dist/editor/commands/commands.js.map +1 -1
- package/dist/editor/commands/componentCommands.d.ts +13 -3
- package/dist/editor/commands/componentCommands.js +77 -7
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/commands/createVersionCommand.js +6 -2
- package/dist/editor/commands/createVersionCommand.js.map +1 -1
- package/dist/editor/commands/customCommandConverter.js +10 -8
- package/dist/editor/commands/customCommandConverter.js.map +1 -1
- package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
- package/dist/editor/commands/handlers/uiActionHandlers.d.ts +1 -0
- package/dist/editor/commands/handlers/uiActionHandlers.js +30 -3
- package/dist/editor/commands/handlers/uiActionHandlers.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +24 -27
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/commands/keyboardCommands.d.ts +6 -0
- package/dist/editor/commands/keyboardCommands.js +78 -2
- package/dist/editor/commands/keyboardCommands.js.map +1 -1
- package/dist/editor/commands/placeholderCommands.d.ts +17 -0
- package/dist/editor/commands/placeholderCommands.js +37 -0
- package/dist/editor/commands/placeholderCommands.js.map +1 -0
- package/dist/editor/commands/reorderComponent.d.ts +20 -0
- package/dist/editor/commands/reorderComponent.js +40 -0
- package/dist/editor/commands/reorderComponent.js.map +1 -0
- package/dist/editor/commands/templateBuilderCommands.js.map +1 -1
- package/dist/editor/commands/undo.js +10 -6
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentFrameColors.d.ts +11 -0
- package/dist/editor/componentFrameColors.js +47 -0
- package/dist/editor/componentFrameColors.js.map +1 -0
- package/dist/editor/content-tree/IndicatorSettings.js +5 -4
- package/dist/editor/content-tree/IndicatorSettings.js.map +1 -1
- package/dist/editor/content-tree/TreeOptions.js +1 -1
- package/dist/editor/content-tree/TreeSettingsMenu.js +7 -3
- package/dist/editor/content-tree/TreeSettingsMenu.js.map +1 -1
- package/dist/editor/context-menu/InsertMenu.js +9 -9
- package/dist/editor/context-menu/InsertMenu.js.map +1 -1
- package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js +5 -0
- package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js.map +1 -1
- package/dist/editor/editor-warnings/ItemLocked.js +6 -3
- package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
- package/dist/editor/field-types/AttachmentEditor.js +42 -4
- package/dist/editor/field-types/AttachmentEditor.js.map +1 -1
- package/dist/editor/field-types/CheckboxEditor.js +3 -1
- package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
- package/dist/editor/field-types/DateFieldEditor.js +1 -1
- package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
- package/dist/editor/field-types/DateTimeFieldEditor.js +1 -1
- package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
- package/dist/editor/field-types/DropLinkEditor.js +31 -16
- package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
- package/dist/editor/field-types/DropListEditor.js +1 -1
- package/dist/editor/field-types/DropListEditor.js.map +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/InternalLinkFieldEditor.js +18 -9
- package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
- package/dist/editor/field-types/LinkFieldEditor.js +15 -3
- package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +35 -9
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/NameValueListEditor.js +7 -3
- package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +19 -13
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RawEditor.js +9 -2
- package/dist/editor/field-types/RawEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditor.js +31 -10
- package/dist/editor/field-types/RichTextEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +194 -81
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +31 -5
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/TreeListEditor.js +72 -9
- package/dist/editor/field-types/TreeListEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.d.ts +21 -0
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.js +96 -0
- package/dist/editor/field-types/richtext/bridgeRichTextProfile.js.map +1 -0
- package/dist/editor/field-types/richtext/components/EditorDropdown.css +7 -6
- package/dist/editor/field-types/richtext/components/EditorDropdown.d.ts +5 -5
- package/dist/editor/field-types/richtext/components/EditorDropdown.js +21 -20
- package/dist/editor/field-types/richtext/components/EditorDropdown.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.css +108 -31
- package/dist/editor/field-types/richtext/components/ReactSlate.js +240 -50
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleDropdown.js +11 -6
- package/dist/editor/field-types/richtext/components/SimpleDropdown.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.css +32 -16
- package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js +26 -2
- package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbar.js +5 -4
- package/dist/editor/field-types/richtext/components/SimpleToolbar.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -2
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +3 -3
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/config/pluginFactory.d.ts +1 -1
- package/dist/editor/field-types/richtext/config/pluginFactory.js +1 -1
- package/dist/editor/field-types/richtext/config/pluginFactory.js.map +1 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -14
- package/dist/editor/field-types/richtext/contextMenuFactory.js +4 -379
- package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
- package/dist/editor/field-types/richtext/hooks/useProfileCache.d.ts +1 -1
- package/dist/editor/field-types/richtext/hooks/useProfileCache.js +19 -19
- package/dist/editor/field-types/richtext/hooks/useProfileCache.js.map +1 -1
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +5 -2
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +41 -13
- package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
- package/dist/editor/field-types/richtext/richTextToolbarIcons.d.ts +7 -0
- package/dist/editor/field-types/richtext/richTextToolbarIcons.js +49 -0
- package/dist/editor/field-types/richtext/richTextToolbarIcons.js.map +1 -0
- package/dist/editor/field-types/richtext/types.d.ts +2 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/conversion.d.ts +2 -2
- package/dist/editor/field-types/richtext/utils/conversion.js +298 -214
- package/dist/editor/field-types/richtext/utils/conversion.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/plugins.js +96 -69
- package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/profileMapper.d.ts +1 -1
- package/dist/editor/field-types/richtext/utils/profileMapper.js +186 -171
- package/dist/editor/field-types/richtext/utils/profileMapper.js.map +1 -1
- package/dist/editor/field-types/textContextMenuFactory.js +1 -1
- package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +13 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +92 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -0
- package/dist/editor/field-types/useTextCompletion.d.ts +20 -0
- package/dist/editor/field-types/useTextCompletion.js +166 -0
- package/dist/editor/field-types/useTextCompletion.js.map +1 -0
- package/dist/editor/fieldTypes.d.ts +2 -0
- package/dist/editor/hooks/useNavigationPanelLogic.d.ts +3 -3
- package/dist/editor/hooks/useNavigationPanelLogic.js +5 -5
- package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -1
- package/dist/editor/hooks/useParheliaSettings.js +8 -7
- package/dist/editor/hooks/useParheliaSettings.js.map +1 -1
- package/dist/editor/insertMenuItems.d.ts +11 -0
- package/dist/editor/insertMenuItems.js +10 -1
- package/dist/editor/insertMenuItems.js.map +1 -1
- package/dist/editor/manualActionEvents.js +3 -1
- package/dist/editor/manualActionEvents.js.map +1 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.js +3 -3
- package/dist/editor/media-selector/MediaFolderBrowser.d.ts +2 -1
- package/dist/editor/media-selector/MediaFolderBrowser.js +318 -49
- package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
- package/dist/editor/media-selector/MediaSelector.js +4 -2
- package/dist/editor/media-selector/MediaSelector.js.map +1 -1
- package/dist/editor/media-selector/Preview.d.ts +2 -1
- package/dist/editor/media-selector/Preview.js +53 -6
- package/dist/editor/media-selector/Preview.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +5 -1
- package/dist/editor/media-selector/Thumbnails.js +72 -11
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +155 -41
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadZone.d.ts +3 -1
- package/dist/editor/media-selector/UploadZone.js +27 -23
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +12 -0
- package/dist/editor/media-selector/mediaFileType.js +95 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -0
- package/dist/editor/media-selector/mediaSelectionPath.d.ts +5 -0
- package/dist/editor/media-selector/mediaSelectionPath.js +21 -0
- package/dist/editor/media-selector/mediaSelectionPath.js.map +1 -0
- package/dist/editor/media-selector/mediaUpload.d.ts +30 -0
- package/dist/editor/media-selector/mediaUpload.js +155 -0
- package/dist/editor/media-selector/mediaUpload.js.map +1 -0
- package/dist/editor/menubar/ActiveUsers.js +32 -36
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/FavoritesControls.js +51 -30
- package/dist/editor/menubar/FavoritesControls.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -1
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ItemActionsMenu.js +1 -1
- package/dist/editor/menubar/ItemActionsMenu.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.d.ts +4 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +17 -18
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/OpenInNewTabButton.d.ts +15 -0
- package/dist/editor/menubar/OpenInNewTabButton.js +42 -0
- package/dist/editor/menubar/OpenInNewTabButton.js.map +1 -0
- package/dist/editor/menubar/OperationsIndicator.d.ts +7 -0
- package/dist/editor/menubar/OperationsIndicator.js +87 -0
- package/dist/editor/menubar/OperationsIndicator.js.map +1 -0
- package/dist/editor/menubar/PageSelector.js +11 -5
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/PreviewDatePicker.js +40 -21
- package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
- package/dist/editor/menubar/Separator.d.ts +2 -1
- package/dist/editor/menubar/Separator.js +2 -2
- package/dist/editor/menubar/Separator.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +30 -19
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/User.js +2 -7
- package/dist/editor/menubar/User.js.map +1 -1
- package/dist/editor/menubar/VersionPreviewCard.js +11 -231
- package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +4 -2
- package/dist/editor/menubar/VersionSelector.js +70 -24
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +23 -28
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/CompareControls.js +3 -1
- package/dist/editor/menubar/toolbar-sections/CompareControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
- package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
- package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.d.ts +7 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +132 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
- package/dist/editor/menubar/toolbar-sections/EditControls.js +82 -11
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
- package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
- package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +22 -0
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +935 -161
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
- package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +58 -31
- package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +14 -4
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +100 -38
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +4 -2
- package/dist/editor/menubar/toolbar-sections/index.js +4 -2
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
- package/dist/editor/notifications/NotificationCenter.js +41 -30
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/NotificationItem.js +100 -15
- package/dist/editor/notifications/NotificationItem.js.map +1 -1
- package/dist/editor/notifications/WatchButton.d.ts +5 -4
- package/dist/editor/notifications/WatchButton.js +105 -61
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/notifications/notificationListState.js +4 -1
- package/dist/editor/notifications/notificationListState.js.map +1 -1
- package/dist/editor/notifications/notificationRoutes.js.map +1 -1
- package/dist/editor/notifications/useNotificationSubscriptions.d.ts +8 -0
- package/dist/editor/notifications/useNotificationSubscriptions.js +25 -1
- package/dist/editor/notifications/useNotificationSubscriptions.js.map +1 -1
- package/dist/editor/notifications/useNotifications.js +58 -22
- package/dist/editor/notifications/useNotifications.js.map +1 -1
- package/dist/editor/notifications/watchEventOptions.d.ts +13 -0
- package/dist/editor/notifications/watchEventOptions.js +113 -0
- package/dist/editor/notifications/watchEventOptions.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +8 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +526 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/CommentHighlightings.d.ts +6 -4
- package/dist/editor/page-editor-chrome/CommentHighlightings.js +497 -11
- package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.d.ts +8 -0
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.js +8 -0
- package/dist/editor/page-editor-chrome/ComponentOperationBubble.js.map +1 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +1067 -0
- package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +22 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +40 -0
- package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -0
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js +30 -68
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.d.ts +1 -3
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +38 -101
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicators.d.ts +1 -3
- package/dist/editor/page-editor-chrome/FieldEditedIndicators.js +2 -2
- package/dist/editor/page-editor-chrome/FieldEditedIndicators.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.d.ts +7 -4
- package/dist/editor/page-editor-chrome/FrameMenu.js +264 -223
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js +72 -18
- package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +26 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +35 -0
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.d.ts +3 -2
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +191 -20
- package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/NoLayout.js +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +6 -2
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +141 -48
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +167 -147
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +34 -3
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +175 -65
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -5
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +120 -305
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.d.ts +6 -4
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +304 -12
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -3
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +160 -123
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +24 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +90 -0
- package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -0
- package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
- package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.d.ts +6 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js +21 -0
- package/dist/editor/page-editor-chrome/insertTargetLabel.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +62 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +306 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
- package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +83 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js +349 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +67 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +279 -0
- package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayMeasurement.d.ts +10 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayMeasurement.js +28 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayMeasurement.js.map +1 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +29 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +334 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
- package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
- package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
- package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
- package/dist/editor/page-viewer/DeviceToolbar.js +2 -2
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +55 -24
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
- package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
- package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +29 -2
- package/dist/editor/page-viewer/MiniMap.js +375 -340
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
- package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
- package/dist/editor/page-viewer/PageViewer.d.ts +4 -2
- package/dist/editor/page-viewer/PageViewer.js +202 -21
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.d.ts +4 -7
- package/dist/editor/page-viewer/PageViewerFrame.js +2220 -1270
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/RenderingParametersSection.js +13 -7
- package/dist/editor/page-viewer/RenderingParametersSection.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +19 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js +33 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.d.ts +3 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js +36 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +35 -0
- package/dist/editor/page-viewer/pageViewContext.js +40 -3
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/page-viewer/renderUrl.d.ts +14 -0
- package/dist/editor/page-viewer/renderUrl.js +83 -0
- package/dist/editor/page-viewer/renderUrl.js.map +1 -0
- package/dist/editor/pageModel.d.ts +4 -0
- package/dist/editor/pageModel.js +12 -1
- package/dist/editor/pageModel.js.map +1 -1
- package/dist/editor/personalization/ActionList.js +2 -2
- package/dist/editor/personalization/ActionList.js.map +1 -1
- package/dist/editor/personalization/ConditionTreeEditor.js +9 -9
- package/dist/editor/personalization/ConditionTreeEditor.js.map +1 -1
- package/dist/editor/personalization/PersonalizationPanel.d.ts +3 -1
- package/dist/editor/personalization/PersonalizationPanel.js +39 -18
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
- package/dist/editor/personalization/RuleElementPicker.js +5 -4
- package/dist/editor/personalization/RuleElementPicker.js.map +1 -1
- package/dist/editor/personalization/RuleList.js +13 -10
- package/dist/editor/personalization/RuleList.js.map +1 -1
- package/dist/editor/personalization/RuleParameterInput.js +10 -7
- package/dist/editor/personalization/RuleParameterInput.js.map +1 -1
- package/dist/editor/personalization/TreeItemPicker.js +4 -6
- package/dist/editor/personalization/TreeItemPicker.js.map +1 -1
- package/dist/editor/personalization/utils.js.map +1 -1
- package/dist/editor/reviews/Comment.d.ts +6 -1
- package/dist/editor/reviews/Comment.js +64 -103
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +244 -78
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.d.ts +7 -2
- package/dist/editor/reviews/CommentEditor.js +45 -8
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentPopover.d.ts +4 -0
- package/dist/editor/reviews/CommentPopover.js +92 -15
- package/dist/editor/reviews/CommentPopover.js.map +1 -1
- package/dist/editor/reviews/CommentView.d.ts +4 -1
- package/dist/editor/reviews/CommentView.js +60 -38
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.d.ts +0 -2
- package/dist/editor/reviews/Comments.js +269 -51
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/CommentsAndFeedback.d.ts +2 -8
- package/dist/editor/reviews/CommentsAndFeedback.js +10 -43
- package/dist/editor/reviews/CommentsAndFeedback.js.map +1 -1
- package/dist/editor/reviews/CreateReviewConfirmStep.js +2 -2
- package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDetailsStep.js +9 -9
- package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js +1 -1
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.js +2 -2
- package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +34 -26
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/DiffView.js +6 -6
- package/dist/editor/reviews/DiffView.js.map +1 -1
- package/dist/editor/reviews/EditReviewSettingsDialog.js +68 -54
- package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
- package/dist/editor/reviews/FeedbackCard.d.ts +23 -0
- package/dist/editor/reviews/FeedbackCard.js +32 -0
- package/dist/editor/reviews/FeedbackCard.js.map +1 -0
- package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
- package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
- package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
- package/dist/editor/reviews/ItemTreeSelector.js +1 -1
- package/dist/editor/reviews/ItemTreeSelector.js.map +1 -1
- package/dist/editor/reviews/LatestFeedback.js +26 -49
- package/dist/editor/reviews/LatestFeedback.js.map +1 -1
- package/dist/editor/reviews/MentionText.d.ts +3 -0
- package/dist/editor/reviews/MentionText.js +139 -0
- package/dist/editor/reviews/MentionText.js.map +1 -0
- package/dist/editor/reviews/PreconfiguredReviewerSelector.js +1 -1
- package/dist/editor/reviews/PreconfiguredReviewerSelector.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +12 -11
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewDetail.js +5 -5
- package/dist/editor/reviews/ReviewDetail.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +33 -19
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/ReviewsList.js +4 -3
- package/dist/editor/reviews/ReviewsList.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.d.ts +4 -1
- package/dist/editor/reviews/SuggestedEdit.js +101 -61
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.d.ts +14 -0
- package/dist/editor/reviews/SuggestionCommentThread.js +151 -0
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -0
- package/dist/editor/reviews/SuggestionDisplayPopover.js +45 -47
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/commentAi.js +96 -27
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentTransientSelection.d.ts +23 -0
- package/dist/editor/reviews/commentTransientSelection.js +7 -0
- package/dist/editor/reviews/commentTransientSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackAvatar.d.ts +14 -0
- package/dist/editor/reviews/feedbackAvatar.js +86 -0
- package/dist/editor/reviews/feedbackAvatar.js.map +1 -0
- package/dist/editor/reviews/feedbackCommentRules.d.ts +3 -0
- package/dist/editor/reviews/feedbackCommentRules.js +15 -0
- package/dist/editor/reviews/feedbackCommentRules.js.map +1 -0
- package/dist/editor/reviews/feedbackOrdering.d.ts +5 -0
- package/dist/editor/reviews/feedbackOrdering.js +27 -0
- package/dist/editor/reviews/feedbackOrdering.js.map +1 -0
- package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
- package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
- package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
- package/dist/editor/reviews/feedbackSelection.d.ts +3 -0
- package/dist/editor/reviews/feedbackSelection.js +65 -0
- package/dist/editor/reviews/feedbackSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackSidebarText.d.ts +2 -0
- package/dist/editor/reviews/feedbackSidebarText.js +3 -0
- package/dist/editor/reviews/feedbackSidebarText.js.map +1 -0
- package/dist/editor/reviews/latestFeedbackData.d.ts +11 -0
- package/dist/editor/reviews/latestFeedbackData.js +40 -0
- package/dist/editor/reviews/latestFeedbackData.js.map +1 -0
- package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
- package/dist/editor/reviews/openCommentsFeedback.js +89 -0
- package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
- package/dist/editor/reviews/reviewCommands.js +2 -2
- package/dist/editor/reviews/reviewCommands.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +14 -0
- package/dist/editor/reviews/suggestedEditState.js +110 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -0
- package/dist/editor/reviews/suggestionContentChange.d.ts +2 -0
- package/dist/editor/reviews/suggestionContentChange.js +29 -0
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -0
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +43 -0
- package/dist/editor/reviews/suggestionDisplayValue.js +93 -0
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -0
- package/dist/editor/reviews/useMultiReview.js +5 -4
- package/dist/editor/reviews/useMultiReview.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +75 -27
- package/dist/editor/services/agentService.js +105 -33
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/agentStatus.js +1 -1
- package/dist/editor/services/agentStatus.js.map +1 -1
- package/dist/editor/services/agentSubscriptionRegistry.js +12 -13
- package/dist/editor/services/agentSubscriptionRegistry.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +8 -38
- package/dist/editor/services/aiService.js +7 -64
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +11 -1
- package/dist/editor/services/contentService.js +7 -20
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/contextService.js.map +1 -1
- package/dist/editor/services/customCommandsService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +16 -0
- package/dist/editor/services/editService.js +8 -3
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/indexService.js.map +1 -1
- package/dist/editor/services/indicatorService.js.map +1 -1
- package/dist/editor/services/localStorageService.js +3 -3
- package/dist/editor/services/localStorageService.js.map +1 -1
- package/dist/editor/services/manualService.d.ts +31 -0
- package/dist/editor/services/manualService.js +77 -0
- package/dist/editor/services/manualService.js.map +1 -0
- package/dist/editor/services/notificationService.d.ts +4 -0
- package/dist/editor/services/notificationService.js +5 -1
- package/dist/editor/services/notificationService.js.map +1 -1
- package/dist/editor/services/personalizationService.js.map +1 -1
- package/dist/editor/services/reviewsService.d.ts +6 -3
- package/dist/editor/services/reviewsService.js +10 -2
- package/dist/editor/services/reviewsService.js.map +1 -1
- package/dist/editor/services/serviceHelper.d.ts +8 -0
- package/dist/editor/services/serviceHelper.js +59 -0
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/services/suggestedEditsService.js.map +1 -1
- package/dist/editor/services/systemService.d.ts +49 -0
- package/dist/editor/services/systemService.js +32 -0
- package/dist/editor/services/systemService.js.map +1 -1
- package/dist/editor/services/templateBuilderService.js +5 -6
- package/dist/editor/services/templateBuilderService.js.map +1 -1
- package/dist/editor/services/userResolution.d.ts +18 -0
- package/dist/editor/services/userResolution.js +86 -0
- package/dist/editor/services/userResolution.js.map +1 -0
- package/dist/editor/services/userService.d.ts +14 -0
- package/dist/editor/services/userService.js +39 -0
- package/dist/editor/services/userService.js.map +1 -0
- package/dist/editor/settings/About.js +219 -32
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/IndexOverview.js +10 -9
- package/dist/editor/settings/IndexOverview.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +90 -69
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/QuotaUserPicker.js +15 -55
- package/dist/editor/settings/QuotaUserPicker.js.map +1 -1
- package/dist/editor/settings/SettingsBreadcrumb.d.ts +3 -6
- package/dist/editor/settings/SettingsBreadcrumb.js +18 -2
- package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
- package/dist/editor/settings/SettingsCard.d.ts +4 -0
- package/dist/editor/settings/SettingsCard.js +7 -0
- package/dist/editor/settings/SettingsCard.js.map +1 -0
- package/dist/editor/settings/SettingsHeaderActionsContext.d.ts +9 -3
- package/dist/editor/settings/SettingsHeaderActionsContext.js +6 -6
- package/dist/editor/settings/SettingsHeaderActionsContext.js.map +1 -1
- package/dist/editor/settings/SettingsPanelLayout.d.ts +28 -0
- package/dist/editor/settings/SettingsPanelLayout.js +24 -0
- package/dist/editor/settings/SettingsPanelLayout.js.map +1 -0
- package/dist/editor/settings/SettingsView.js +25 -28
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/StatusSummary.js +17 -27
- package/dist/editor/settings/StatusSummary.js.map +1 -1
- package/dist/editor/settings/index/AdvancedSettings.d.ts +1 -1
- package/dist/editor/settings/index/AdvancedSettings.js +13 -11
- package/dist/editor/settings/index/AdvancedSettings.js.map +1 -1
- package/dist/editor/settings/index/CollectionWarningsDisplay.js +1 -1
- package/dist/editor/settings/index/CollectionWarningsDisplay.js.map +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js +7 -5
- package/dist/editor/settings/index/EmbeddingProviderInfo.js.map +1 -1
- package/dist/editor/settings/index/IndexStatusCards.js +3 -2
- package/dist/editor/settings/index/IndexStatusCards.js.map +1 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js +3 -1
- package/dist/editor/settings/index/LatestEmbeddingsList.js.map +1 -1
- package/dist/editor/settings/index/QueueErrorsDisplay.js +1 -1
- package/dist/editor/settings/index/QueueErrorsDisplay.js.map +1 -1
- package/dist/editor/settings/index/RebuildIndexSection.js +24 -22
- package/dist/editor/settings/index/RebuildIndexSection.js.map +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js +20 -18
- package/dist/editor/settings/index/RecentBatchesList.js.map +1 -1
- package/dist/editor/settings/index/types.d.ts +0 -2
- package/dist/editor/settings/index/useIndexStatus.js +10 -2
- package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
- package/dist/editor/settings/index/utils.js +16 -16
- package/dist/editor/settings/index/utils.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.d.ts +2 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +7 -3
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.d.ts +1 -0
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.d.ts +2 -0
- package/dist/editor/settings/panels/AgentToolsPanel.js +178 -0
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -0
- package/dist/editor/settings/panels/AgentsPanel.js +30 -8
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +49 -54
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/CreateAgentProfileDialog.js +2 -2
- package/dist/editor/settings/panels/CreateAgentProfileDialog.js.map +1 -1
- package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js +3 -3
- package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js.map +1 -1
- package/dist/editor/settings/panels/CreateMcpServerDialog.d.ts +7 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js +79 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js.map +1 -0
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.d.ts +2 -0
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +52 -0
- package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -0
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +7 -5
- package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ItemConfigPanel.js +4 -3
- package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +4 -2
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +1 -1
- package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js +27 -13
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js +36 -16
- package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js +1 -1
- package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +178 -41
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.d.ts +2 -0
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +156 -0
- package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -0
- package/dist/editor/settings/panels/PersistentLogsPanel.js +25 -14
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.d.ts +2 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +6 -3
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelector.js +10 -43
- package/dist/editor/settings/panels/ProjectTemplateSelector.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.d.ts +13 -0
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +43 -0
- package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -0
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +119 -90
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProviderIcon.js +8 -8
- package/dist/editor/settings/panels/ProviderIcon.js.map +1 -1
- package/dist/editor/settings/panels/ProvidersPanel.js +55 -35
- package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +13 -11
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/SettingsPanel.js +3 -2
- package/dist/editor/settings/panels/SettingsPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +39 -14
- package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
- package/dist/editor/settings/panels/SystemSettingsPanel.d.ts +2 -0
- package/dist/editor/settings/panels/SystemSettingsPanel.js +69 -0
- package/dist/editor/settings/panels/SystemSettingsPanel.js.map +1 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.d.ts +2 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js +66 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -0
- package/dist/editor/settings/panels/index.d.ts +5 -0
- package/dist/editor/settings/panels/index.js +5 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/settings/status/coreStatusChecks.js +118 -7
- package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
- package/dist/editor/settings/status/useStartupChecks.js +1 -1
- package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
- package/dist/editor/setup-wizard/SetupStepError.d.ts +8 -0
- package/dist/editor/setup-wizard/SetupStepError.js +7 -0
- package/dist/editor/setup-wizard/SetupStepError.js.map +1 -0
- package/dist/editor/setup-wizard/SetupStepHeader.d.ts +15 -0
- package/dist/editor/setup-wizard/SetupStepHeader.js +6 -0
- package/dist/editor/setup-wizard/SetupStepHeader.js.map +1 -0
- package/dist/editor/setup-wizard/SetupStepLayout.d.ts +33 -0
- package/dist/editor/setup-wizard/SetupStepLayout.js +16 -0
- package/dist/editor/setup-wizard/SetupStepLayout.js.map +1 -0
- package/dist/editor/setup-wizard/steps/CompleteStep.js +12 -7
- package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.d.ts +1 -1
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js +5 -3
- package/dist/editor/setup-wizard/steps/CreateSettingsStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js +102 -31
- package/dist/editor/setup-wizard/steps/LicenseActivationStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.d.ts +2 -1
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.js +13 -5
- package/dist/editor/setup-wizard/steps/LicenseEmailStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.d.ts +1 -1
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +64 -59
- package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ProviderStep.js +84 -30
- package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
- package/dist/editor/setup-wizard/steps/WelcomeStep.js +2 -1
- package/dist/editor/setup-wizard/steps/WelcomeStep.js.map +1 -1
- package/dist/editor/sidebar/Completions.js +1 -1
- package/dist/editor/sidebar/Completions.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +61 -26
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +208 -40
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
- package/dist/editor/sidebar/ContentTreePanel.js +14 -0
- package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
- package/dist/editor/sidebar/DictionaryEditor.js +1 -1
- package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +17 -4
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/Favorites.d.ts +5 -1
- package/dist/editor/sidebar/Favorites.js +41 -57
- package/dist/editor/sidebar/Favorites.js.map +1 -1
- package/dist/editor/sidebar/Insert.js +1 -1
- package/dist/editor/sidebar/MainContentTree.js +5 -2
- package/dist/editor/sidebar/MainContentTree.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +2 -2
- package/dist/editor/sidebar/MobileWorkspacePopover.js +3 -3
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.js +2 -2
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +6 -5
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +111 -25
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +21 -15
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/sidebar/SidebarStack.js +2 -0
- package/dist/editor/sidebar/SidebarStack.js.map +1 -1
- package/dist/editor/sidebar/TimelineView.js +3 -3
- package/dist/editor/sidebar/TimelineView.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +6 -3
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +36 -77
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.d.ts +3 -1
- package/dist/editor/sidebar/WorkspaceButton.js +16 -8
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRail.js +30 -25
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.js +5 -14
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
- package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
- package/dist/editor/sidebar/contentTreeConstants.js +3 -0
- package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
- package/dist/editor/template-wizard/TemplateBuilderDialog.js +1 -1
- package/dist/editor/template-wizard/TemplateBuilderDialog.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +164 -97
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +13 -22
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/tree-indicators/GutterContext.js +5 -1
- package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
- package/dist/editor/ui/CenteredMessage.js +1 -1
- package/dist/editor/ui/CenteredMessage.js.map +1 -1
- package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +3 -3
- package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
- package/dist/editor/ui/DialogButtons.d.ts +3 -1
- package/dist/editor/ui/DialogButtons.js +3 -2
- package/dist/editor/ui/DialogButtons.js.map +1 -1
- package/dist/editor/ui/DragPreview.d.ts +7 -0
- package/dist/editor/ui/DragPreview.js +107 -10
- package/dist/editor/ui/DragPreview.js.map +1 -1
- package/dist/editor/ui/ExportItemsDialog.js +1 -1
- package/dist/editor/ui/ExportItemsDialog.js.map +1 -1
- package/dist/editor/ui/HomeButton.js +1 -1
- package/dist/editor/ui/HomeButton.js.map +1 -1
- package/dist/editor/ui/HomeListRow.d.ts +11 -0
- package/dist/editor/ui/HomeListRow.js +11 -0
- package/dist/editor/ui/HomeListRow.js.map +1 -0
- package/dist/editor/ui/IconSelectorDialog.js +8 -8
- package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
- package/dist/editor/ui/Icons.d.ts +1 -1
- package/dist/editor/ui/Icons.js +10 -10
- package/dist/editor/ui/Icons.js.map +1 -1
- package/dist/editor/ui/ImportItemsDialog.js +1 -1
- package/dist/editor/ui/ImportItemsDialog.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.d.ts +27 -3
- package/dist/editor/ui/ItemCollectionEditor.js +54 -10
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/ItemList.js +1 -1
- package/dist/editor/ui/ItemList.js.map +1 -1
- package/dist/editor/ui/ItemNameDialogNew.js +1 -1
- package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +1 -0
- package/dist/editor/ui/ItemSearch.js +4 -4
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/editor/ui/LoadingState.d.ts +11 -0
- package/dist/editor/ui/LoadingState.js +27 -0
- package/dist/editor/ui/LoadingState.js.map +1 -0
- package/dist/editor/ui/PerfectTree.d.ts +24 -1
- package/dist/editor/ui/PerfectTree.js +39 -19
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishDialog.d.ts +11 -0
- package/dist/editor/ui/PublishDialog.js +101 -0
- package/dist/editor/ui/PublishDialog.js.map +1 -0
- package/dist/editor/ui/PublishItemDialog.d.ts +1 -1
- package/dist/editor/ui/PublishItemDialog.js +40 -75
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +70 -64
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/Section.js +5 -5
- package/dist/editor/ui/Section.js.map +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -1
- package/dist/editor/ui/SimpleIconButton.d.ts +9 -2
- package/dist/editor/ui/SimpleIconButton.js +20 -5
- package/dist/editor/ui/SimpleIconButton.js.map +1 -1
- package/dist/editor/ui/SimpleMenu.js +7 -6
- package/dist/editor/ui/SimpleMenu.js.map +1 -1
- package/dist/editor/ui/SimpleTable.js +1 -1
- package/dist/editor/ui/SimpleTable.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +6 -2
- package/dist/editor/ui/SimpleTabs.js +54 -19
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/SimpleToolbar.js +1 -1
- package/dist/editor/ui/SimpleToolbar.js.map +1 -1
- package/dist/editor/ui/Spinner.d.ts +14 -1
- package/dist/editor/ui/Spinner.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +2 -0
- package/dist/editor/ui/Splitter.js +160 -21
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TemplateSelectorDialog.js +5 -5
- package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.js +1 -1
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
- package/dist/editor/ui/WorkboxItemsTable.js +142 -0
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
- package/dist/editor/ui/animationSettle.d.ts +32 -0
- package/dist/editor/ui/animationSettle.js +85 -0
- package/dist/editor/ui/animationSettle.js.map +1 -0
- package/dist/editor/ui/splitterResizeEvent.d.ts +9 -0
- package/dist/editor/ui/splitterResizeEvent.js +13 -0
- package/dist/editor/ui/splitterResizeEvent.js.map +1 -0
- package/dist/editor/utils/dedupeInflight.d.ts +1 -0
- package/dist/editor/utils/dedupeInflight.js +13 -0
- package/dist/editor/utils/dedupeInflight.js.map +1 -0
- package/dist/editor/utils/expandSelectionAtCaret.d.ts +15 -0
- package/dist/editor/utils/expandSelectionAtCaret.js +183 -0
- package/dist/editor/utils/expandSelectionAtCaret.js.map +1 -0
- package/dist/editor/utils/jsonCleaner.js +10 -10
- package/dist/editor/utils/jsonCleaner.js.map +1 -1
- package/dist/editor/utils/keyboardNavigation.js +2 -1
- package/dist/editor/utils/keyboardNavigation.js.map +1 -1
- package/dist/editor/utils/selectionContext.js.map +1 -1
- package/dist/editor/utils/versionAtDate.js.map +1 -1
- package/dist/editor/utils.d.ts +7 -17
- package/dist/editor/utils.js +35 -145
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/version-diff/versionDiffHighlightStyles.d.ts +6 -6
- package/dist/editor/version-diff/versionDiffHighlightStyles.js +6 -6
- package/dist/editor/version-diff/versionDiffHighlightStyles.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +3 -8
- package/dist/editor/version-diff/versionDiffTargets.js +38 -96
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/CompareView.js +3 -3
- package/dist/editor/views/CompareView.js.map +1 -1
- package/dist/editor/views/EditView.js +1 -1
- package/dist/editor/views/EditView.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +7 -6
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/ItemEditor.js +2 -2
- package/dist/editor/views/ItemEditor.js.map +1 -1
- package/dist/editor/views/ItemEditorPane.d.ts +11 -0
- package/dist/editor/views/ItemEditorPane.js +19 -0
- package/dist/editor/views/ItemEditorPane.js.map +1 -0
- package/dist/editor/views/MediaFolderEditView.js +2 -2
- package/dist/editor/views/MediaFolderEditView.js.map +1 -1
- package/dist/editor/views/SingleEditView.js +15 -6
- package/dist/editor/views/SingleEditView.js.map +1 -1
- package/dist/editor/views/editorSlotContext.d.ts +2 -0
- package/dist/editor/views/editorSlotContext.js +10 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/editor/workflowFields.d.ts +1 -0
- package/dist/editor/workflowFields.js +16 -0
- package/dist/editor/workflowFields.js.map +1 -0
- package/dist/index.d.ts +39 -6
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/pointerDrag.d.ts +20 -0
- package/dist/lib/pointerDrag.js +57 -0
- package/dist/lib/pointerDrag.js.map +1 -0
- package/dist/lib/safelist.js +1 -1
- package/dist/lib/safelist.js.map +1 -1
- package/dist/lib/sanitize.js +79 -11
- package/dist/lib/sanitize.js.map +1 -1
- package/dist/lib/viewTransition.js +7 -1
- package/dist/lib/viewTransition.js.map +1 -1
- package/dist/licensing/EmailEntry.js +2 -1
- package/dist/licensing/EmailEntry.js.map +1 -1
- package/dist/licensing/FeatureGate.js +6 -6
- package/dist/licensing/FeatureGate.js.map +1 -1
- package/dist/licensing/LicenseActivationForm.js +2 -1
- package/dist/licensing/LicenseActivationForm.js.map +1 -1
- package/dist/licensing/LicenseCodeEntry.js +7 -3
- package/dist/licensing/LicenseCodeEntry.js.map +1 -1
- package/dist/licensing/LicenseContext.js +3 -4
- package/dist/licensing/LicenseContext.js.map +1 -1
- package/dist/licensing/LicenseOverlay.js +3 -1
- package/dist/licensing/LicenseOverlay.js.map +1 -1
- package/dist/licensing/licenseService.js +4 -3
- package/dist/licensing/licenseService.js.map +1 -1
- package/dist/licensing/types.d.ts +1 -1
- package/dist/licensing/types.js +3 -1
- package/dist/licensing/types.js.map +1 -1
- package/dist/logging/consolePrefix.d.ts +2 -0
- package/dist/logging/consolePrefix.js +62 -0
- package/dist/logging/consolePrefix.js.map +1 -0
- package/dist/logging/index.d.ts +1 -0
- package/dist/logging/index.js +2 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/install-browser-console.js +3 -0
- package/dist/logging/install-browser-console.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/services/setupWizardService.d.ts +12 -0
- package/dist/setup/services/setupWizardService.js +47 -13
- package/dist/setup/services/setupWizardService.js.map +1 -1
- package/dist/setup/wizard/steps/AddModelDialog.js +8 -8
- package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
- package/dist/setup/wizard/steps/ImportModelDialog.js +38 -87
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/splash-screen/DialogWrappers.js +2 -2
- package/dist/splash-screen/DialogWrappers.js.map +1 -1
- package/dist/splash-screen/ModernSplashScreen.d.ts +7 -0
- package/dist/splash-screen/ModernSplashScreen.js +582 -62
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/NewPage.js +41 -17
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/splash-screen/OpenPage.js +17 -21
- package/dist/splash-screen/OpenPage.js.map +1 -1
- package/dist/splash-screen/ParheliaAssistantChat.js +13 -12
- package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
- package/dist/splash-screen/RecentPages.d.ts +4 -1
- package/dist/splash-screen/RecentPages.js +29 -26
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +465 -196
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/AddDependencyDialog.js +5 -2
- package/dist/task-board/components/AddDependencyDialog.js.map +1 -1
- package/dist/task-board/components/CommentsList.js +22 -9
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +10 -10
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +13 -8
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
- package/dist/task-board/components/FinishedProjectCard.js +8 -0
- package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
- package/dist/task-board/components/ItemCollectionEditorDialog.js +1 -1
- package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
- package/dist/task-board/components/ItemCollectionPicker.js +3 -3
- package/dist/task-board/components/ItemCollectionPicker.js.map +1 -1
- package/dist/task-board/components/ProjectBudgetBanner.d.ts +13 -0
- package/dist/task-board/components/ProjectBudgetBanner.js +13 -0
- package/dist/task-board/components/ProjectBudgetBanner.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +21 -21
- package/dist/task-board/components/ProjectDashboard.js +217 -127
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectExecutionUserPicker.js +15 -61
- package/dist/task-board/components/ProjectExecutionUserPicker.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +1 -0
- package/dist/task-board/components/ProjectListContent.js +12 -10
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +15 -84
- package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
- package/dist/task-board/components/ProjectPropertiesPanel.d.ts +2 -0
- package/dist/task-board/components/ProjectPropertiesPanel.js +17 -13
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +18 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +66 -48
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
- package/dist/task-board/components/TaskAgentPanel.js +23 -8
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
- package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
- package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
- package/dist/task-board/components/TaskAssigneePicker.js +18 -7
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
- package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
- package/dist/task-board/components/TaskAttachmentsSection.js +19 -41
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- package/dist/task-board/components/TaskBoardBreadcrumb.d.ts +17 -0
- package/dist/task-board/components/TaskBoardBreadcrumb.js +14 -0
- package/dist/task-board/components/TaskBoardBreadcrumb.js.map +1 -0
- package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
- package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
- package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
- package/dist/task-board/components/TaskBoardHomeView.d.ts +7 -0
- package/dist/task-board/components/TaskBoardHomeView.js +21 -0
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -0
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js +26 -29
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +70 -14
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectSelector.d.ts +8 -0
- package/dist/task-board/components/TaskBoardProjectSelector.js +20 -0
- package/dist/task-board/components/TaskBoardProjectSelector.js.map +1 -0
- package/dist/task-board/components/TaskBoardTitlebar.js +8 -13
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +29 -10
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
- package/dist/task-board/components/TaskDetailPanel.js +45 -32
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
- package/dist/task-board/components/TaskReviewActions.js +7 -4
- package/dist/task-board/components/TaskReviewActions.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +17 -18
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +17 -10
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCards.js +7 -5
- package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
- package/dist/task-board/components/WizardCommunicationCenter.js +14 -7
- package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +22 -22
- package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
- package/dist/task-board/components/WizardTask.d.ts +5 -1
- package/dist/task-board/components/WizardTask.js +14 -31
- package/dist/task-board/components/WizardTask.js.map +1 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
- package/dist/task-board/components/WizardTaskDetailsPanel.js +57 -11
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/persistentLogCopy.js +3 -1
- package/dist/task-board/persistentLogCopy.js.map +1 -1
- package/dist/task-board/persistentLogLabels.js.map +1 -1
- package/dist/task-board/services/taskService.d.ts +7 -0
- package/dist/task-board/services/taskService.js +8 -2
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/taskAgentConfig.js +6 -2
- package/dist/task-board/taskAgentConfig.js.map +1 -1
- package/dist/task-board/taskAgentLink.js +1 -3
- package/dist/task-board/taskAgentLink.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +4 -2
- package/dist/task-board/taskBoardNavStore.js +45 -2
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/taskExecutionRecords.js.map +1 -1
- package/dist/task-board/taskExecutionStatus.js +14 -19
- package/dist/task-board/taskExecutionStatus.js.map +1 -1
- package/dist/task-board/taskPriority.d.ts +4 -0
- package/dist/task-board/taskPriority.js +19 -0
- package/dist/task-board/taskPriority.js.map +1 -0
- package/dist/task-board/taskStatus.js +2 -2
- package/dist/task-board/taskStatus.js.map +1 -1
- package/dist/task-board/useTaskBoardAgentPanelState.js +1 -3
- package/dist/task-board/useTaskBoardAgentPanelState.js.map +1 -1
- package/dist/task-board/utils/projectHierarchy.js.map +1 -1
- package/dist/task-board/utils/taskDependencyOrdering.js +2 -1
- package/dist/task-board/utils/taskDependencyOrdering.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.d.ts +42 -1
- package/dist/task-board/views/DependencyGraphView.js +239 -74
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +312 -49
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +6 -5
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.d.ts +2 -0
- package/dist/task-board/views/WizardView.js +36 -29
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/dist/tour/Tour.js +7 -7
- package/dist/tour/Tour.js.map +1 -1
- package/dist/tour/default-tour.js +169 -17
- package/dist/tour/default-tour.js.map +1 -1
- package/dist/tour/preview-tour.js +1 -1
- package/dist/tour/preview-tour.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
- package/package.json +13 -1
- package/styles.css +320 -843
- package/dist/agents-view/AgentsInbox.d.ts +0 -26
- package/dist/agents-view/AgentsInbox.js +0 -31
- package/dist/agents-view/AgentsInbox.js.map +0 -1
- package/dist/components/Error.d.ts +0 -9
- package/dist/components/Error.js +0 -24
- package/dist/components/Error.js.map +0 -1
- package/dist/components/FilterInput.d.ts +0 -22
- package/dist/components/FilterInput.js +0 -29
- package/dist/components/FilterInput.js.map +0 -1
- package/dist/components/ui/menubar.d.ts +0 -26
- package/dist/components/ui/menubar.js +0 -55
- package/dist/components/ui/menubar.js.map +0 -1
- package/dist/config/types/index.d.ts +0 -2
- package/dist/config/types/index.js +0 -4
- package/dist/config/types/index.js.map +0 -1
- package/dist/editor/FloatingToolbar.d.ts +0 -7
- package/dist/editor/FloatingToolbar.js +0 -91
- package/dist/editor/FloatingToolbar.js.map +0 -1
- package/dist/editor/NewEditorClient.d.ts +0 -5
- package/dist/editor/NewEditorClient.js +0 -7
- package/dist/editor/NewEditorClient.js.map +0 -1
- package/dist/editor/PictureEditorDialog.d.ts +0 -8
- package/dist/editor/PictureEditorDialog.js +0 -198
- package/dist/editor/PictureEditorDialog.js.map +0 -1
- package/dist/editor/SetupLoadingScreen.d.ts +0 -5
- package/dist/editor/SetupLoadingScreen.js +0 -11
- package/dist/editor/SetupLoadingScreen.js.map +0 -1
- package/dist/editor/ai/AgentBanners.js +0 -16
- package/dist/editor/ai/AgentBanners.js.map +0 -1
- package/dist/editor/ai/AgentCostDisplay.js +0 -116
- package/dist/editor/ai/AgentCostDisplay.js.map +0 -1
- package/dist/editor/ai/AgentDocumentList.d.ts +0 -12
- package/dist/editor/ai/AgentDocumentList.js +0 -335
- package/dist/editor/ai/AgentDocumentList.js.map +0 -1
- package/dist/editor/ai/AgentGreeting.d.ts +0 -8
- package/dist/editor/ai/AgentGreeting.js +0 -14
- package/dist/editor/ai/AgentGreeting.js.map +0 -1
- package/dist/editor/ai/AgentTerminalStatusBar.d.ts +0 -72
- package/dist/editor/ai/AgentTerminalStatusBar.js +0 -888
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +0 -1
- package/dist/editor/ai/AiResponseMessage.d.ts +0 -33
- package/dist/editor/ai/AiResponseMessage.js +0 -1239
- package/dist/editor/ai/AiResponseMessage.js.map +0 -1
- package/dist/editor/ai/ContextInfoBar.d.ts +0 -14
- package/dist/editor/ai/ContextInfoBar.js +0 -653
- package/dist/editor/ai/ContextInfoBar.js.map +0 -1
- package/dist/editor/ai/DancingDots.d.ts +0 -1
- package/dist/editor/ai/DancingDots.js +0 -6
- package/dist/editor/ai/DancingDots.js.map +0 -1
- package/dist/editor/ai/EditOperationsPanel.d.ts +0 -7
- package/dist/editor/ai/EditOperationsPanel.js +0 -91
- package/dist/editor/ai/EditOperationsPanel.js.map +0 -1
- package/dist/editor/ai/HeartbeatMessage.d.ts +0 -4
- package/dist/editor/ai/HeartbeatMessage.js +0 -7
- package/dist/editor/ai/HeartbeatMessage.js.map +0 -1
- package/dist/editor/ai/InitialThinkingSplash.d.ts +0 -3
- package/dist/editor/ai/InitialThinkingSplash.js +0 -9
- package/dist/editor/ai/InitialThinkingSplash.js.map +0 -1
- package/dist/editor/ai/QueuedPromptsPanel.d.ts +0 -4
- package/dist/editor/ai/QueuedPromptsPanel.js +0 -37
- package/dist/editor/ai/QueuedPromptsPanel.js.map +0 -1
- package/dist/editor/ai/SpawnedAgentsPanel.d.ts +0 -6
- package/dist/editor/ai/SpawnedAgentsPanel.js +0 -101
- package/dist/editor/ai/SpawnedAgentsPanel.js.map +0 -1
- package/dist/editor/ai/TodoListPanel.d.ts +0 -5
- package/dist/editor/ai/TodoListPanel.js +0 -113
- package/dist/editor/ai/TodoListPanel.js.map +0 -1
- package/dist/editor/ai/ToolCallDisplay.d.ts +0 -80
- package/dist/editor/ai/ToolCallDisplay.js +0 -865
- package/dist/editor/ai/ToolCallDisplay.js.map +0 -1
- package/dist/editor/ai/UserMessage.d.ts +0 -4
- package/dist/editor/ai/UserMessage.js +0 -42
- package/dist/editor/ai/UserMessage.js.map +0 -1
- package/dist/editor/ai/agentDiagnostics.test.js +0 -181
- package/dist/editor/ai/agentDiagnostics.test.js.map +0 -1
- package/dist/editor/ai/useAgentPanes.test.d.ts +0 -1
- package/dist/editor/ai/useAgentPanes.test.js +0 -198
- package/dist/editor/ai/useAgentPanes.test.js.map +0 -1
- package/dist/editor/client/GenericDialog.d.ts +0 -10
- package/dist/editor/client/GenericDialog.js +0 -25
- package/dist/editor/client/GenericDialog.js.map +0 -1
- package/dist/editor/commands/localizeItem/LocalizeItemDialog.d.ts +0 -8
- package/dist/editor/commands/localizeItem/LocalizeItemDialog.js +0 -91
- package/dist/editor/commands/localizeItem/LocalizeItemDialog.js.map +0 -1
- package/dist/editor/content-tree/index.d.ts +0 -3
- package/dist/editor/content-tree/index.js +0 -4
- package/dist/editor/content-tree/index.js.map +0 -1
- package/dist/editor/context-menu/CopyMoveMenu.d.ts +0 -7
- package/dist/editor/context-menu/CopyMoveMenu.js +0 -58
- package/dist/editor/context-menu/CopyMoveMenu.js.map +0 -1
- package/dist/editor/menubar/ApproveAndPublish.d.ts +0 -1
- package/dist/editor/menubar/ApproveAndPublish.js +0 -13
- package/dist/editor/menubar/ApproveAndPublish.js.map +0 -1
- package/dist/editor/menubar/ItemToolbar.d.ts +0 -1
- package/dist/editor/menubar/ItemToolbar.js +0 -12
- package/dist/editor/menubar/ItemToolbar.js.map +0 -1
- package/dist/editor/menubar/NavButtons.d.ts +0 -1
- package/dist/editor/menubar/NavButtons.js +0 -40
- package/dist/editor/menubar/NavButtons.js.map +0 -1
- package/dist/editor/menubar/SiteInfo.d.ts +0 -1
- package/dist/editor/menubar/SiteInfo.js +0 -27
- package/dist/editor/menubar/SiteInfo.js.map +0 -1
- package/dist/editor/menubar/UserMenu.d.ts +0 -5
- package/dist/editor/menubar/UserMenu.js +0 -33
- package/dist/editor/menubar/UserMenu.js.map +0 -1
- package/dist/editor/page-editor-chrome/CommentHighlighting.d.ts +0 -6
- package/dist/editor/page-editor-chrome/CommentHighlighting.js +0 -316
- package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +0 -1
- package/dist/editor/page-editor-chrome/InlineEditor.d.ts +0 -5
- package/dist/editor/page-editor-chrome/InlineEditor.js +0 -832
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +0 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlighting.d.ts +0 -6
- package/dist/editor/page-editor-chrome/SuggestionHighlighting.js +0 -224
- package/dist/editor/page-editor-chrome/SuggestionHighlighting.js.map +0 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.d.ts +0 -7
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js +0 -728
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +0 -1
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.d.ts +0 -3
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +0 -423
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +0 -1
- package/dist/editor/picture-shared.d.ts +0 -16
- package/dist/editor/picture-shared.js +0 -25
- package/dist/editor/picture-shared.js.map +0 -1
- package/dist/editor/registry/SidebarRegistry.d.ts +0 -96
- package/dist/editor/registry/SidebarRegistry.js +0 -166
- package/dist/editor/registry/SidebarRegistry.js.map +0 -1
- package/dist/editor/registry/WorkspaceRegistry.d.ts +0 -71
- package/dist/editor/registry/WorkspaceRegistry.js +0 -112
- package/dist/editor/registry/WorkspaceRegistry.js.map +0 -1
- package/dist/editor/registry/index.d.ts +0 -2
- package/dist/editor/registry/index.js +0 -4
- package/dist/editor/registry/index.js.map +0 -1
- package/dist/editor/reviews/PagesPanel.d.ts +0 -21
- package/dist/editor/reviews/PagesPanel.js +0 -140
- package/dist/editor/reviews/PagesPanel.js.map +0 -1
- package/dist/editor/reviews/PreviewInfo.d.ts +0 -1
- package/dist/editor/reviews/PreviewInfo.js +0 -9
- package/dist/editor/reviews/PreviewInfo.js.map +0 -1
- package/dist/editor/services/agentDialogService.test.d.ts +0 -1
- package/dist/editor/services/agentDialogService.test.js +0 -56
- package/dist/editor/services/agentDialogService.test.js.map +0 -1
- package/dist/editor/services/agentSubscriptionRegistry.test.d.ts +0 -1
- package/dist/editor/services/agentSubscriptionRegistry.test.js +0 -104
- package/dist/editor/services/agentSubscriptionRegistry.test.js.map +0 -1
- package/dist/editor/services-server/api.d.ts +0 -18
- package/dist/editor/services-server/api.js +0 -116
- package/dist/editor/services-server/api.js.map +0 -1
- package/dist/editor/settings/Info.d.ts +0 -1
- package/dist/editor/settings/Info.js +0 -11
- package/dist/editor/settings/Info.js.map +0 -1
- package/dist/editor/settings/Status.d.ts +0 -1
- package/dist/editor/settings/Status.js +0 -89
- package/dist/editor/settings/Status.js.map +0 -1
- package/dist/editor/settings/WebSocketMessages.d.ts +0 -1
- package/dist/editor/settings/WebSocketMessages.js +0 -74
- package/dist/editor/settings/WebSocketMessages.js.map +0 -1
- package/dist/editor/settings/panels/useSidebarEditor.d.ts +0 -15
- package/dist/editor/settings/panels/useSidebarEditor.js +0 -24
- package/dist/editor/settings/panels/useSidebarEditor.js.map +0 -1
- package/dist/editor/sidebar/Divider.d.ts +0 -6
- package/dist/editor/sidebar/Divider.js +0 -6
- package/dist/editor/sidebar/Divider.js.map +0 -1
- package/dist/editor/sidebar/LabelButton.d.ts +0 -5
- package/dist/editor/sidebar/LabelButton.js +0 -12
- package/dist/editor/sidebar/LabelButton.js.map +0 -1
- package/dist/editor/sidebar/Performance.d.ts +0 -1
- package/dist/editor/sidebar/Performance.js +0 -32
- package/dist/editor/sidebar/Performance.js.map +0 -1
- package/dist/editor/sidebar/SEOInfo.d.ts +0 -1
- package/dist/editor/sidebar/SEOInfo.js +0 -158
- package/dist/editor/sidebar/SEOInfo.js.map +0 -1
- package/dist/editor/sidebar/Sidebar.d.ts +0 -1
- package/dist/editor/sidebar/Sidebar.js +0 -11
- package/dist/editor/sidebar/Sidebar.js.map +0 -1
- package/dist/editor/ui/Toolbar.d.ts +0 -3
- package/dist/editor/ui/Toolbar.js +0 -5
- package/dist/editor/ui/Toolbar.js.map +0 -1
- package/dist/editor/utils/useMemoDebug.d.ts +0 -1
- package/dist/editor/utils/useMemoDebug.js +0 -18
- package/dist/editor/utils/useMemoDebug.js.map +0 -1
- package/dist/editor/views/ParheliaView.d.ts +0 -5
- package/dist/editor/views/ParheliaView.js +0 -181
- package/dist/editor/views/ParheliaView.js.map +0 -1
- package/dist/setup/utils/modelPricing.d.ts +0 -7
- package/dist/setup/utils/modelPricing.js +0 -106
- package/dist/setup/utils/modelPricing.js.map +0 -1
- package/dist/splash-screen/ParheliaLogo.d.ts +0 -4
- package/dist/splash-screen/ParheliaLogo.js +0 -134
- package/dist/splash-screen/ParheliaLogo.js.map +0 -1
- package/dist/splash-screen/SectionHeadline.d.ts +0 -4
- package/dist/splash-screen/SectionHeadline.js +0 -7
- package/dist/splash-screen/SectionHeadline.js.map +0 -1
- package/dist/task-board/components/ProjectAgentsPanel.d.ts +0 -4
- package/dist/task-board/components/ProjectAgentsPanel.js +0 -156
- package/dist/task-board/components/ProjectAgentsPanel.js.map +0 -1
- package/dist/task-board/components/ProjectSelector.d.ts +0 -20
- package/dist/task-board/components/ProjectSelector.js +0 -10
- package/dist/task-board/components/ProjectSelector.js.map +0 -1
- package/dist/task-board/components/TaskDetailDialog.d.ts +0 -12
- package/dist/task-board/components/TaskDetailDialog.js +0 -8
- package/dist/task-board/components/TaskDetailDialog.js.map +0 -1
- package/dist/task-board/index.d.ts +0 -15
- package/dist/task-board/index.js +0 -18
- package/dist/task-board/index.js.map +0 -1
- package/dist/task-board/views/PlanningView.d.ts +0 -7
- package/dist/task-board/views/PlanningView.js +0 -112
- package/dist/task-board/views/PlanningView.js.map +0 -1
- package/dist/test/setup.d.ts +0 -0
- package/dist/test/setup.js +0 -37
- package/dist/test/setup.js.map +0 -1
- package/images/bg-shape-black.webp +0 -0
- package/images/parhelia-logo-1.jpg +0 -0
- package/images/phlogo.png +0 -0
- package/images/wizard-bg.png +0 -0
- /package/dist/editor/ai/{AgentBanners.d.ts → terminal/components/AgentBanners.d.ts} +0 -0
- /package/dist/editor/ai/{AgentCostDisplay.d.ts → terminal/components/AgentCostDisplay.d.ts} +0 -0
- /package/dist/{editor/ai/agentDiagnostics.test.d.ts → logging/install-browser-console.d.ts} +0 -0
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import React, { useState, useEffect, useRef, useCallback,
|
|
3
|
+
import React, { useState, useEffect, useRef, useCallback, useMemo, startTransition, } from "react";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
5
|
import { EditContextProvider, FieldsEditContextProvider, OperationsContextProvider, useEditContext, } from "./editContext";
|
|
6
|
-
import {
|
|
6
|
+
import { aggregateModifiedFieldsFromStores, areModifiedFieldSnapshotsEqual, FieldModificationStore, } from "./fieldModificationStore";
|
|
7
7
|
import { SplashScreenAgentProvider } from "../../splash-screen/SplashScreenAgentContext";
|
|
8
8
|
import { useRouter, useSearchParams, usePathname } from "./navigation";
|
|
9
9
|
import { findComponent, getComponentById } from "../componentTreeHelper";
|
|
10
10
|
import { getOperationsContext } from "./operations";
|
|
11
11
|
import { handleErrorResult } from "./helpers";
|
|
12
|
+
import { isManualShowMeFocusTransfer, isManualShowMeTarget, } from "./manualShowMeFocus";
|
|
12
13
|
import { executeFieldAction as executeFieldServerAction, connectSocket, getEditHistory, getRunningOperations, reconnectSession, releaseFieldLocks, validateItems, } from "../services/editService";
|
|
13
14
|
import { emitAgentDocumentsChanged } from "../services/agentService";
|
|
14
15
|
import { onSocketReconnect as onAgentSocketReconnect } from "../services/agentSubscriptionRegistry";
|
|
15
16
|
import { useEditorWebSocket } from "./hooks/useEditorWebSocket";
|
|
17
|
+
import { getEditorRealtime } from "./realtime/realtimeTransport";
|
|
16
18
|
import { createEditorSocketDiagnostics, } from "./socketDiagnostics";
|
|
17
19
|
import { localStorageService } from "../services/localStorageService";
|
|
18
20
|
import { useSocketMessageHandler } from "./hooks/useSocketMessageHandler";
|
|
@@ -20,6 +22,7 @@ import "react-json-view-lite/dist/index.css";
|
|
|
20
22
|
import { MediaSelector, } from "../media-selector/MediaSelector";
|
|
21
23
|
import { getComponentCommands } from "../commands/componentCommands";
|
|
22
24
|
import { getLanguagesAndVersions, } from "../services/contentService";
|
|
25
|
+
import { getAllFavorites } from "../services/favouritesService";
|
|
23
26
|
import ConfirmationDialog from "../ConfirmationDialog";
|
|
24
27
|
import { getItemDescriptor } from "../utils";
|
|
25
28
|
import { EditContextMenu } from "../ContextMenu";
|
|
@@ -27,10 +30,13 @@ import { InlineAiTrigger } from "../ai/InlineAiTrigger";
|
|
|
27
30
|
import { EditorFormHintPopover } from "../page-viewer/EditorFormHintPopover";
|
|
28
31
|
import { FieldEditorPopup } from "../FieldEditorPopup";
|
|
29
32
|
import { ConcurrentUserLimitDialog } from "../ConcurrentUserLimitDialog";
|
|
33
|
+
import { SessionExpiredOverlay } from "./SessionExpiredOverlay";
|
|
30
34
|
import { post } from "../services/serviceHelper";
|
|
35
|
+
import { CONTENT_TREE_SIDEBAR_ID } from "../sidebar/contentTreeConstants";
|
|
31
36
|
import { PageViewerFrame } from "../page-viewer/PageViewerFrame";
|
|
32
37
|
import { useItemsRepository } from "./itemsRepository";
|
|
33
38
|
import { Spinner } from "../ui/Spinner";
|
|
39
|
+
import { createSettleRegistry } from "../ui/animationSettle";
|
|
34
40
|
import { cleanId } from "../utils/id-helper";
|
|
35
41
|
import { useDebouncedCallback } from "use-debounce";
|
|
36
42
|
import { useKeyboardNavigation } from "../utils/keyboardNavigation";
|
|
@@ -38,11 +44,14 @@ import { Toaster } from "../../components/ui/sonner";
|
|
|
38
44
|
import { Tour } from "../../tour/Tour";
|
|
39
45
|
import { GuidanceOverlay } from "../ai/GuidanceOverlay";
|
|
40
46
|
import { AgentDialogHandler } from "../ai/dialogs";
|
|
47
|
+
import { setActiveAgentConversation } from "../ai/useActiveAgentConversation";
|
|
41
48
|
import { usePageViewContext, } from "../page-viewer/pageViewContext";
|
|
42
49
|
import { QuickItemSwitcher } from "../QuickItemSwitcher";
|
|
43
50
|
import { useEditorSlotContext, } from "../views/editorSlotContext";
|
|
44
51
|
import { getComments, getAvailableCommentTags, } from "../services/reviewsService";
|
|
45
52
|
import { useReviews } from "../reviews/useReviews";
|
|
53
|
+
import { isSuggestedEditRemoved } from "../reviews/suggestedEditState";
|
|
54
|
+
import { COMMENT_TRANSIENT_ELEMENT_KEY, COMMENT_TRANSIENT_SELECTION_RECT, } from "../reviews/commentTransientSelection";
|
|
46
55
|
import uuid from "react-uuid";
|
|
47
56
|
import { flushSync } from "react-dom";
|
|
48
57
|
import { getSuggestedEdits } from "../services/suggestedEditsService";
|
|
@@ -50,19 +59,44 @@ import { requestQuota } from "../services/aiService";
|
|
|
50
59
|
import { useQuota } from "./hooks/useQuota";
|
|
51
60
|
import { useEditorUrlSync } from "./hooks/useEditorUrlSync";
|
|
52
61
|
import { useMediaQuery } from "./hooks/useMediaQuery";
|
|
53
|
-
import { FullscreenControls } from "./ui/FullscreenControls";
|
|
54
62
|
import { EditorChrome } from "./ui/EditorChrome";
|
|
55
63
|
import { DevModeIndicator } from "./ui/DevModeIndicator";
|
|
56
64
|
import { useWorkbox } from "./hooks/useWorkbox";
|
|
57
65
|
import { useMediaSelector } from "./hooks/useMediaSelector";
|
|
58
66
|
import { useGlobalEditorKeyDown } from "./hooks/useGlobalEditorKeyDown";
|
|
59
67
|
import { useStartupChecks } from "../settings/status/index";
|
|
68
|
+
import { EditorLoadingOverlay } from "../EditorLoadingOverlay";
|
|
60
69
|
import { FeatureGate, LicenseFeatures, LicenseProvider, LicenseOverlay, } from "../../licensing";
|
|
61
70
|
// Sentinel written to the `sidebar` URL param when the user has explicitly closed
|
|
62
71
|
// every sidebar. Distinguishes "no preference yet" (param absent) from "user wants
|
|
63
72
|
// nothing open" (param present with this value) so reload can honor the user's intent.
|
|
64
73
|
const SIDEBAR_NONE_SENTINEL = "none";
|
|
65
74
|
const sidebarUrlValue = (ids) => ids.length ? ids.join(",") : SIDEBAR_NONE_SENTINEL;
|
|
75
|
+
// moved to hooks/useQuota
|
|
76
|
+
function getInitialOpenSidebars(configuration, workspaceId) {
|
|
77
|
+
const workspace = configuration.editor.workspaces?.find((candidate) => candidate.id === workspaceId);
|
|
78
|
+
if (workspace?.supportsSidebars && workspace.defaultSidebars?.length) {
|
|
79
|
+
return [...workspace.defaultSidebars];
|
|
80
|
+
}
|
|
81
|
+
return [...(configuration.editor.defaultOpenSidebars ?? [])];
|
|
82
|
+
}
|
|
83
|
+
function isUsableTextSelectionRange(range) {
|
|
84
|
+
return !!(range &&
|
|
85
|
+
range.text?.trim() &&
|
|
86
|
+
typeof range.startOffset === "number" &&
|
|
87
|
+
typeof range.endOffset === "number" &&
|
|
88
|
+
range.startOffset !== range.endOffset &&
|
|
89
|
+
range.fieldId &&
|
|
90
|
+
range.itemId);
|
|
91
|
+
}
|
|
92
|
+
function selectionRangeMatchesField(range, field) {
|
|
93
|
+
if (!range || !field)
|
|
94
|
+
return false;
|
|
95
|
+
return (cleanId(range.fieldId) === cleanId(field.fieldId) &&
|
|
96
|
+
cleanId(range.itemId) === cleanId(field.item.id) &&
|
|
97
|
+
(!range.language || range.language === field.item.language) &&
|
|
98
|
+
(typeof range.version !== "number" || range.version === field.item.version));
|
|
99
|
+
}
|
|
66
100
|
function reconcileSlotSettingsState(previous, slots, defaults) {
|
|
67
101
|
const next = {};
|
|
68
102
|
let changed = false;
|
|
@@ -105,7 +139,7 @@ function AgentsSlotContextBridge({ slot }) {
|
|
|
105
139
|
function AgentsSlotContextBridgeHost({ slots }) {
|
|
106
140
|
return (_jsx(_Fragment, { children: slots.map((slot) => (_jsx(AgentsSlotContextBridge, { slot: slot }, `agents-slot-bridge-${slot.slotId}`))) }));
|
|
107
141
|
}
|
|
108
|
-
export function EditorShell({ configuration, className, item: loadItemDescriptor, sessionId, userInfo, userPreferences, initialLicenseStatus, initialLicenseStatusLoaded, parheliaSettings, setUserPreferences, children, }) {
|
|
142
|
+
export function EditorShell({ configuration, className, item: loadItemDescriptor, sessionId, userInfo, userPreferences, initialLicenseStatus, initialLicenseStatusLoaded, parheliaSettings, parheliaSettingsLoaded, setUserPreferences, children, }) {
|
|
109
143
|
const router = useRouter();
|
|
110
144
|
const pathname = usePathname();
|
|
111
145
|
const searchParams = useSearchParams();
|
|
@@ -126,12 +160,16 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
126
160
|
const contextMenuRef = useRef(null);
|
|
127
161
|
const editContextRef = useRef(undefined);
|
|
128
162
|
const [currentOverlay, setCurrentOverlay] = useState();
|
|
163
|
+
const [contextMenuSource, setContextMenuSource] = useState();
|
|
129
164
|
const [item, setItem] = useState();
|
|
130
165
|
const [focusedField, setFocusedField] = useState();
|
|
131
166
|
const focusedFieldRef = useRef(undefined);
|
|
132
167
|
const [selectedRange, setSelectedRange] = useState();
|
|
168
|
+
const lastTextSelectionRangeRef = useRef(undefined);
|
|
133
169
|
const [validating, setValidating] = useState(false);
|
|
134
170
|
const [inserting, setInserting] = useState();
|
|
171
|
+
const [removingComponentIds, setRemovingComponentIds] = useState([]);
|
|
172
|
+
const insertingSequenceRef = useRef(0);
|
|
135
173
|
const [showFullscreenHint, setShowFullscreenHint] = useState(false);
|
|
136
174
|
// Fullscreen is a shell-level UI mode. Keep it in EditorShell state so the shell can rerender
|
|
137
175
|
// immediately when toggled, while still syncing the active slot's PageViewContext.fullscreen.
|
|
@@ -176,6 +214,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
176
214
|
return [];
|
|
177
215
|
}
|
|
178
216
|
});
|
|
217
|
+
const [remoteCarets, setRemoteCarets] = useState({});
|
|
179
218
|
// Block editing until the server acknowledges our client-info for the current item
|
|
180
219
|
const [isClientInfoAcknowledged, setIsClientInfoAcknowledged] = useState(false);
|
|
181
220
|
if (typeof window !== "undefined")
|
|
@@ -187,14 +226,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
187
226
|
// (Next.js App Router uses startTransition internally for URL changes)
|
|
188
227
|
const rawWorkspace = useMemo(() => searchParams.get("workspace"), [searchParams]);
|
|
189
228
|
const isReviewsSidebarRequest = rawWorkspace === "reviews";
|
|
190
|
-
const
|
|
191
|
-
// If workspace=reviews, use "editor" workspace (reviews is a sidebar, not a workspace)
|
|
192
|
-
isReviewsSidebarRequest
|
|
229
|
+
const initialWorkspaceId = isReviewsSidebarRequest
|
|
193
230
|
? "editor"
|
|
194
231
|
: (rawWorkspace ??
|
|
195
232
|
configuration.editor.defaultWorkspace ??
|
|
196
233
|
configuration.editor.workspaces?.[0]?.id ??
|
|
197
|
-
"home")
|
|
234
|
+
"home");
|
|
235
|
+
const [workspaceId, setWorkspaceId] = useState(initialWorkspaceId);
|
|
198
236
|
const workspaceIdRef = useRef(workspaceId);
|
|
199
237
|
useEffect(() => {
|
|
200
238
|
workspaceIdRef.current = workspaceId;
|
|
@@ -212,7 +250,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
212
250
|
: sidebarParam.split(",").filter(Boolean);
|
|
213
251
|
}
|
|
214
252
|
else {
|
|
215
|
-
sidebars =
|
|
253
|
+
sidebars = getInitialOpenSidebars(configuration, initialWorkspaceId);
|
|
216
254
|
}
|
|
217
255
|
// If workspace=reviews was requested, ensure reviews sidebar is open
|
|
218
256
|
if (isReviewsSidebarRequest && !sidebars.includes("reviews")) {
|
|
@@ -350,6 +388,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
350
388
|
const [componentDesignerRendering, setComponentDesignerRendering] = useState();
|
|
351
389
|
const [insertMode, setInsertMode] = useState(false);
|
|
352
390
|
const [ignoreBlur, setIgnoreBlur] = useState(false);
|
|
391
|
+
// Timestamp of the most recent pointer-down on a User Manual "Show me" control.
|
|
392
|
+
// Used by the field-blur guard so clicking a field-gated Show me button keeps
|
|
393
|
+
// the focused field (and thus the `.focused-field` anchor + field actions).
|
|
394
|
+
const manualShowMePointerDownAtRef = useRef(0);
|
|
353
395
|
const [currentItemDescriptor, setCurrentItemDescriptor] = useState();
|
|
354
396
|
const currentItemDescriptorRef = useRef(undefined);
|
|
355
397
|
const latestGlobalLoadKeyRef = useRef(null);
|
|
@@ -372,6 +414,25 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
372
414
|
activeSlotIdRef.current = activeSlotId;
|
|
373
415
|
}, [activeSlotId]);
|
|
374
416
|
const [slotContexts, setSlotContexts] = useState(() => new Map());
|
|
417
|
+
const fieldModificationStoresBySlotRef = useRef(new Map());
|
|
418
|
+
const [fieldModificationStoreRegistryRevision, setFieldModificationStoreRegistryRevision,] = useState(0);
|
|
419
|
+
const getFieldModificationStoreForSlot = useCallback((slotId) => {
|
|
420
|
+
let store = fieldModificationStoresBySlotRef.current.get(slotId);
|
|
421
|
+
if (!store) {
|
|
422
|
+
store = new FieldModificationStore();
|
|
423
|
+
fieldModificationStoresBySlotRef.current.set(slotId, store);
|
|
424
|
+
}
|
|
425
|
+
return store;
|
|
426
|
+
}, []);
|
|
427
|
+
const getFieldModificationStores = useCallback(() => {
|
|
428
|
+
return Array.from(fieldModificationStoresBySlotRef.current.values());
|
|
429
|
+
}, []);
|
|
430
|
+
const ensureFieldModificationStoreRegistered = useCallback((slotId) => {
|
|
431
|
+
if (fieldModificationStoresBySlotRef.current.has(slotId))
|
|
432
|
+
return;
|
|
433
|
+
fieldModificationStoresBySlotRef.current.set(slotId, new FieldModificationStore());
|
|
434
|
+
setFieldModificationStoreRegistryRevision((previous) => previous + 1);
|
|
435
|
+
}, []);
|
|
375
436
|
const promptSessionReconnect = useCallback((reason) => {
|
|
376
437
|
const description = reason && reason !== "session-revoked"
|
|
377
438
|
? `${reason}. Click reconnect to continue in this browser.`
|
|
@@ -393,7 +454,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
393
454
|
(typeof result.summary === "string" && result.summary.trim()) ||
|
|
394
455
|
"";
|
|
395
456
|
toast.error("Reconnect failed", {
|
|
396
|
-
description: serverDetail ||
|
|
457
|
+
description: serverDetail ||
|
|
458
|
+
"Could not claim this browser session. Try again.",
|
|
397
459
|
});
|
|
398
460
|
},
|
|
399
461
|
},
|
|
@@ -440,13 +502,32 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
440
502
|
// The very first URL sync after initial load should replaceState (not pushState)
|
|
441
503
|
// so the initial bare URL isn't left as a dead-end history entry.
|
|
442
504
|
const isFirstUrlSyncRef = useRef(true);
|
|
443
|
-
const [inlineEditingFieldElement, setInlineEditingFieldElement] = useState();
|
|
444
505
|
const [lockedField, setLockedField] = useState();
|
|
445
506
|
const [itemLanguages, setItemLanguages] = useState([]);
|
|
446
507
|
const [itemVersions, setItemVersions] = useState([]);
|
|
447
508
|
const [isLoadingVersions, setIsLoadingVersions] = useState(false);
|
|
448
|
-
const modifiedFields
|
|
509
|
+
const [modifiedFields, setModifiedFields] = useState([]);
|
|
510
|
+
useEffect(() => {
|
|
511
|
+
const stores = getFieldModificationStores();
|
|
512
|
+
const recomputeModifiedFields = () => {
|
|
513
|
+
const next = aggregateModifiedFieldsFromStores(stores);
|
|
514
|
+
setModifiedFields((previous) => areModifiedFieldSnapshotsEqual(previous, next) ? previous : next);
|
|
515
|
+
};
|
|
516
|
+
const unsubscribes = stores.map((store) => store.subscribeAll(recomputeModifiedFields));
|
|
517
|
+
recomputeModifiedFields();
|
|
518
|
+
return () => {
|
|
519
|
+
unsubscribes.forEach((unsubscribe) => unsubscribe());
|
|
520
|
+
};
|
|
521
|
+
}, [
|
|
522
|
+
editorSlots,
|
|
523
|
+
fieldModificationStoreRegistryRevision,
|
|
524
|
+
getFieldModificationStores,
|
|
525
|
+
]);
|
|
449
526
|
const [comments, setComments] = useState([]);
|
|
527
|
+
// True once loadComments has succeeded for the current item. Destructive
|
|
528
|
+
// decisions that depend on a suggestion's comment thread (e.g. auto-deleting
|
|
529
|
+
// a reverted no-op suggestion) must not run on the initial empty array.
|
|
530
|
+
const [commentsLoaded, setCommentsLoaded] = useState(false);
|
|
450
531
|
const [suggestedEdits, setSuggestedEdits] = useState([]);
|
|
451
532
|
const [showSuggestedEdits, setShowSuggestedEdits] = useState(false);
|
|
452
533
|
const [showSuggestedEditsDiff, setShowSuggestedEditsDiff] = useState(false);
|
|
@@ -465,6 +546,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
465
546
|
localStorageService.setItem("editor.showResolvedComments", showResolvedComments);
|
|
466
547
|
}, [showResolvedComments]);
|
|
467
548
|
const [selectedComment, setSelectedComment] = useState();
|
|
549
|
+
const [selectedSuggestedEdit, setSelectedSuggestedEdit] = useState();
|
|
468
550
|
const [browseHistory, setBrowseHistory] = useState(() => {
|
|
469
551
|
// Convert UserBrowseHistoryEntry[] to HistoryEntry[]
|
|
470
552
|
if (!userInfo.browseHistory)
|
|
@@ -510,13 +592,79 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
510
592
|
// moved into useWorkbox
|
|
511
593
|
// Initialize tour state from URL parameter to survive navigation/remounts
|
|
512
594
|
// Memoize to avoid triggering Router state updates during render
|
|
513
|
-
const tourRestoredFromUrl = useMemo(() =>
|
|
595
|
+
const tourRestoredFromUrl = useMemo(() => Boolean(configuration.activeTour) &&
|
|
596
|
+
searchParams.get("tour") === "active", [configuration.activeTour, searchParams]);
|
|
514
597
|
const [isTourActive, setIsTourActive] = useState(tourRestoredFromUrl);
|
|
515
598
|
// Track if tour was restored from URL to skip prepareAction on initial render
|
|
516
599
|
const tourRestoredRef = useRef(tourRestoredFromUrl);
|
|
517
|
-
const [mode,
|
|
600
|
+
const [mode, setModeState] = useState("edit");
|
|
601
|
+
const modeRef = useRef("edit");
|
|
602
|
+
modeRef.current = mode;
|
|
603
|
+
const modeChangeParticipantsRef = useRef(new Set());
|
|
604
|
+
const loadSuggestedEditsRef = useRef(async () => { });
|
|
605
|
+
const [modeTransitionRevision, setModeTransitionRevision] = useState(0);
|
|
518
606
|
const [previewDate, setPreviewDate] = useState();
|
|
519
607
|
const [layoutMode, setLayoutMode] = useState("final");
|
|
608
|
+
const registerModeChangeParticipant = useCallback((participant) => {
|
|
609
|
+
modeChangeParticipantsRef.current.add(participant);
|
|
610
|
+
return () => {
|
|
611
|
+
modeChangeParticipantsRef.current.delete(participant);
|
|
612
|
+
};
|
|
613
|
+
}, []);
|
|
614
|
+
const changeMode = useCallback(async (nextMode, options) => {
|
|
615
|
+
const previousMode = modeRef.current;
|
|
616
|
+
if (nextMode === previousMode)
|
|
617
|
+
return;
|
|
618
|
+
const participants = Array.from(modeChangeParticipantsRef.current);
|
|
619
|
+
for (const participant of participants) {
|
|
620
|
+
await participant.beforeModeChange?.(nextMode, previousMode, options);
|
|
621
|
+
}
|
|
622
|
+
for (const participant of participants) {
|
|
623
|
+
participant.clearInlineDedupe?.(nextMode, previousMode, options);
|
|
624
|
+
}
|
|
625
|
+
flushSync(() => {
|
|
626
|
+
modeRef.current = nextMode;
|
|
627
|
+
setModeState(nextMode);
|
|
628
|
+
setModeTransitionRevision((revision) => revision + 1);
|
|
629
|
+
if (nextMode !== "preview") {
|
|
630
|
+
setPreviewDate(undefined);
|
|
631
|
+
}
|
|
632
|
+
if (nextMode === "suggestions") {
|
|
633
|
+
setShowSuggestedEdits(true);
|
|
634
|
+
setWorkspaceId("editor");
|
|
635
|
+
setShowComments(true);
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
if (nextMode === "suggestions") {
|
|
639
|
+
void loadSuggestedEditsRef.current();
|
|
640
|
+
}
|
|
641
|
+
}, []);
|
|
642
|
+
const setMode = useCallback((nextMode) => {
|
|
643
|
+
const resolvedMode = typeof nextMode === "function" ? nextMode(modeRef.current) : nextMode;
|
|
644
|
+
void changeMode(resolvedMode);
|
|
645
|
+
}, [changeMode]);
|
|
646
|
+
const closeFeedbackSuggestionsMode = useCallback(() => {
|
|
647
|
+
setShowComments(false);
|
|
648
|
+
setShowSuggestedEdits(false);
|
|
649
|
+
setShowSuggestedEditsDiff(false);
|
|
650
|
+
if (modeRef.current === "suggestions") {
|
|
651
|
+
void changeMode("edit", { reason: "feedback-sidebar-close" });
|
|
652
|
+
}
|
|
653
|
+
}, [changeMode]);
|
|
654
|
+
const activateCommentsModeForWriting = useCallback(async (reason) => {
|
|
655
|
+
setShowComments(true);
|
|
656
|
+
setShowSuggestedEdits(false);
|
|
657
|
+
setShowSuggestedEditsDiff(false);
|
|
658
|
+
if (modeRef.current === "suggestions") {
|
|
659
|
+
await changeMode("edit", { reason });
|
|
660
|
+
}
|
|
661
|
+
}, [changeMode]);
|
|
662
|
+
const workspaceShowsModeControls = !!configuration.editor.workspaces?.find((workspace) => workspace.id === workspaceId)?.toolbarFactory;
|
|
663
|
+
useEffect(() => {
|
|
664
|
+
if (workspaceShowsModeControls || mode !== "suggestions")
|
|
665
|
+
return;
|
|
666
|
+
void changeMode("edit", { reason: "mode-controls-hidden" });
|
|
667
|
+
}, [changeMode, mode, workspaceId, workspaceShowsModeControls]);
|
|
520
668
|
useEffect(() => {
|
|
521
669
|
if (mode !== "preview") {
|
|
522
670
|
setPreviewDate(undefined);
|
|
@@ -535,6 +683,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
535
683
|
return userPreferences.showAgentsPanel ?? false;
|
|
536
684
|
});
|
|
537
685
|
const [editorFormHiddenDefault, setEditorFormHiddenDefault] = useState(userPreferences.editorFormHidden ?? false);
|
|
686
|
+
// Stable registry that lets layout owners (Splitter panels) report when a
|
|
687
|
+
// reveal surface finished animating, and lets callers await that signal.
|
|
688
|
+
const settleRegistry = useMemo(() => createSettleRegistry(), []);
|
|
538
689
|
useEffect(() => {
|
|
539
690
|
setSlotSettingsById((prev) => reconcileSlotSettingsState(prev, editorSlots, {
|
|
540
691
|
showComponentNavigator: showComponentNavigatorDefault,
|
|
@@ -552,6 +703,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
552
703
|
const [selectedHelpSectionId, setSelectedHelpSectionId] = useState(null);
|
|
553
704
|
const [showAgentsWorkspaceEditor, setShowAgentsWorkspaceEditor] = useState(false);
|
|
554
705
|
const [selectedAgentsWorkspaceAgentId, setSelectedAgentsWorkspaceAgentId] = useState(null);
|
|
706
|
+
const selectedAgentsWorkspaceAgentIdRef = useRef(selectedAgentsWorkspaceAgentId);
|
|
707
|
+
useEffect(() => {
|
|
708
|
+
selectedAgentsWorkspaceAgentIdRef.current = selectedAgentsWorkspaceAgentId;
|
|
709
|
+
}, [selectedAgentsWorkspaceAgentId]);
|
|
555
710
|
const [activeEditorTab, setActiveEditorTab] = useState(null);
|
|
556
711
|
const showLayoutParam = useMemo(() => searchParams.get("showLayout") ??
|
|
557
712
|
searchParams.get("showLayoutComponents"), [searchParams]);
|
|
@@ -622,19 +777,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
622
777
|
setSelectedHelpSectionId(helpParam === "contents" || helpParam === "true" ? null : helpParam);
|
|
623
778
|
}
|
|
624
779
|
}, [searchParams, isInitialLoad]);
|
|
625
|
-
useEffect(() => {
|
|
626
|
-
if (mode === "suggestions") {
|
|
627
|
-
// Ensure we're in the editor workspace and open the feedback sidebar
|
|
628
|
-
setWorkspaceId("editor");
|
|
629
|
-
// Open the feedback sidebar if not already open
|
|
630
|
-
setOpenSidebars((prev) => {
|
|
631
|
-
if (!prev.includes("comments")) {
|
|
632
|
-
return [...prev, "comments"];
|
|
633
|
-
}
|
|
634
|
-
return prev;
|
|
635
|
-
});
|
|
636
|
-
}
|
|
637
|
-
}, [mode]);
|
|
638
780
|
useEffect(() => {
|
|
639
781
|
if (focusedField &&
|
|
640
782
|
selection.length > 0 &&
|
|
@@ -644,11 +786,23 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
644
786
|
}, [selection]);
|
|
645
787
|
useEffect(() => {
|
|
646
788
|
focusedFieldRef.current = focusedField;
|
|
789
|
+
const lastTextSelection = lastTextSelectionRangeRef.current;
|
|
790
|
+
if (focusedField &&
|
|
791
|
+
lastTextSelection &&
|
|
792
|
+
(focusedField.fieldId !== lastTextSelection.fieldId ||
|
|
793
|
+
focusedField.item.id !== lastTextSelection.itemId)) {
|
|
794
|
+
lastTextSelectionRangeRef.current = undefined;
|
|
795
|
+
}
|
|
647
796
|
}, [focusedField]);
|
|
797
|
+
useEffect(() => {
|
|
798
|
+
if (isUsableTextSelectionRange(selectedRange)) {
|
|
799
|
+
lastTextSelectionRangeRef.current = selectedRange;
|
|
800
|
+
}
|
|
801
|
+
}, [selectedRange]);
|
|
648
802
|
// Track the current page item descriptor for itemsRepository
|
|
649
803
|
const [currentPageItem, setCurrentPageItem] = useState();
|
|
650
804
|
// Create itemsRepository with current page item (will be updated when page loads)
|
|
651
|
-
const itemsRepository = useItemsRepository(addRecentEdit, currentPageItem);
|
|
805
|
+
const itemsRepository = useItemsRepository(addRecentEdit, currentPageItem, getFieldModificationStores);
|
|
652
806
|
const fallbackPageViewContext = usePageViewContext({
|
|
653
807
|
pageItemDescriptor: currentItemDescriptor,
|
|
654
808
|
itemsRepository,
|
|
@@ -682,9 +836,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
682
836
|
}, []);
|
|
683
837
|
const slotContextsRef = useRef(slotContexts);
|
|
684
838
|
const lastActiveSlotContextRef = useRef(null);
|
|
685
|
-
|
|
686
|
-
slotContextsRef.current = slotContexts;
|
|
687
|
-
}, [slotContexts]);
|
|
839
|
+
slotContextsRef.current = slotContexts;
|
|
688
840
|
const getActiveSlotContext = useCallback(() => {
|
|
689
841
|
const activeId = activeSlotIdRef.current;
|
|
690
842
|
if (!activeId)
|
|
@@ -717,7 +869,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
717
869
|
const isEditorFormHiddenForSlot = useCallback((slotId) => {
|
|
718
870
|
if (!slotId)
|
|
719
871
|
return editorFormHiddenDefault;
|
|
720
|
-
return slotSettingsById[slotId]?.editorFormHidden ?? editorFormHiddenDefault;
|
|
872
|
+
return (slotSettingsById[slotId]?.editorFormHidden ?? editorFormHiddenDefault);
|
|
721
873
|
}, [editorFormHiddenDefault, slotSettingsById]);
|
|
722
874
|
// Sync global compareMode from the active slot's compareMode for URL syncing
|
|
723
875
|
useEffect(() => {
|
|
@@ -773,6 +925,57 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
773
925
|
socketMessageListeners.current.add(callback);
|
|
774
926
|
return () => socketMessageListeners.current.delete(callback);
|
|
775
927
|
}, []);
|
|
928
|
+
useEffect(() => {
|
|
929
|
+
const removeListener = addSocketMessageListener((message) => {
|
|
930
|
+
if (message.type !== "caret-position")
|
|
931
|
+
return;
|
|
932
|
+
const payload = message.payload;
|
|
933
|
+
const sessionIdValue = payload?.sessionId?.trim();
|
|
934
|
+
if (!sessionIdValue || sessionIdValue === sessionId)
|
|
935
|
+
return;
|
|
936
|
+
setRemoteCarets((current) => {
|
|
937
|
+
if (payload?.offset == null) {
|
|
938
|
+
if (!current[sessionIdValue])
|
|
939
|
+
return current;
|
|
940
|
+
const next = { ...current };
|
|
941
|
+
delete next[sessionIdValue];
|
|
942
|
+
return next;
|
|
943
|
+
}
|
|
944
|
+
return {
|
|
945
|
+
...current,
|
|
946
|
+
[sessionIdValue]: {
|
|
947
|
+
sessionId: sessionIdValue,
|
|
948
|
+
fieldId: payload.fieldId,
|
|
949
|
+
item: payload.item,
|
|
950
|
+
offset: payload.offset,
|
|
951
|
+
value: payload.value,
|
|
952
|
+
},
|
|
953
|
+
};
|
|
954
|
+
});
|
|
955
|
+
});
|
|
956
|
+
return () => {
|
|
957
|
+
try {
|
|
958
|
+
removeListener();
|
|
959
|
+
}
|
|
960
|
+
catch { }
|
|
961
|
+
};
|
|
962
|
+
}, [addSocketMessageListener, sessionId]);
|
|
963
|
+
useEffect(() => {
|
|
964
|
+
const activeSessionIds = new Set(activeSessions.map((s) => s.sessionId));
|
|
965
|
+
setRemoteCarets((current) => {
|
|
966
|
+
let changed = false;
|
|
967
|
+
const next = {};
|
|
968
|
+
Object.entries(current).forEach(([caretSessionId, caret]) => {
|
|
969
|
+
if (activeSessionIds.has(caretSessionId)) {
|
|
970
|
+
next[caretSessionId] = caret;
|
|
971
|
+
}
|
|
972
|
+
else {
|
|
973
|
+
changed = true;
|
|
974
|
+
}
|
|
975
|
+
});
|
|
976
|
+
return changed ? next : current;
|
|
977
|
+
});
|
|
978
|
+
}, [activeSessions]);
|
|
776
979
|
// Listen for batch completion notifications
|
|
777
980
|
useEffect(() => {
|
|
778
981
|
const removeListener = addSocketMessageListener((message) => {
|
|
@@ -954,6 +1157,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
954
1157
|
});
|
|
955
1158
|
}, [isInitialLoad, searchParams]);
|
|
956
1159
|
const startTour = useCallback(() => {
|
|
1160
|
+
if (!configuration.activeTour) {
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
957
1163
|
setIsTourActive(true);
|
|
958
1164
|
// Persist tour state to URL so it survives navigation/remounts
|
|
959
1165
|
// Use history.replaceState instead of router.replace to avoid triggering React navigation
|
|
@@ -961,7 +1167,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
961
1167
|
params.set("tour", "active");
|
|
962
1168
|
const newUrl = `${window.location.pathname}?${params.toString()}`;
|
|
963
1169
|
window.history.replaceState(getCurrentHistoryState(), "", newUrl);
|
|
964
|
-
}, [setIsTourActive]);
|
|
1170
|
+
}, [configuration.activeTour, setIsTourActive]);
|
|
965
1171
|
const isMobile = useMediaQuery("(max-width: 767px)");
|
|
966
1172
|
// On mobile, clear all locked sidebars and keep only the last-opened panel.
|
|
967
1173
|
// Handles viewport resize: desktop -> mobile unlocks everything and trims to one panel.
|
|
@@ -1096,6 +1302,14 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1096
1302
|
showComponentNavigatorDefault,
|
|
1097
1303
|
setUserPreferences,
|
|
1098
1304
|
]);
|
|
1305
|
+
useEffect(() => {
|
|
1306
|
+
if (workspaceId !== "editor")
|
|
1307
|
+
return;
|
|
1308
|
+
if (mode !== "edit") {
|
|
1309
|
+
setEditorFormHintVisible(false);
|
|
1310
|
+
setMobileEditorPanelOpenRaw(false);
|
|
1311
|
+
}
|
|
1312
|
+
}, [mode, workspaceId]);
|
|
1099
1313
|
const markEditorFormHintSeen = useCallback(() => {
|
|
1100
1314
|
setEditorFormHintSeenState(true);
|
|
1101
1315
|
setUserPreferences({ editorFormHintSeen: true });
|
|
@@ -1125,17 +1339,19 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1125
1339
|
}, [showHelpTerminal]);
|
|
1126
1340
|
const toggleHelpTerminal = useCallback((options) => {
|
|
1127
1341
|
const isCurrentlyOpen = showHelpTerminal;
|
|
1128
|
-
|
|
1129
|
-
|
|
1342
|
+
const requestedTab = options?.activeTab;
|
|
1343
|
+
if (isCurrentlyOpen &&
|
|
1344
|
+
(!requestedTab || requestedTab === helpTerminalActiveTab)) {
|
|
1345
|
+
// Close when toggling the currently active help view.
|
|
1130
1346
|
handleSetShowHelpTerminal(false);
|
|
1131
1347
|
}
|
|
1132
1348
|
else {
|
|
1133
1349
|
setHelpTerminalInitialPrompt(options?.initialPrompt);
|
|
1134
1350
|
setHelpTerminalProfileName(options?.profileName);
|
|
1135
|
-
setHelpTerminalActiveTab(
|
|
1351
|
+
setHelpTerminalActiveTab(requestedTab);
|
|
1136
1352
|
handleSetShowHelpTerminal(true);
|
|
1137
1353
|
}
|
|
1138
|
-
}, [showHelpTerminal, handleSetShowHelpTerminal]);
|
|
1354
|
+
}, [showHelpTerminal, helpTerminalActiveTab, handleSetShowHelpTerminal]);
|
|
1139
1355
|
const handleSetShowAgentsWorkspaceEditor = useCallback((value) => {
|
|
1140
1356
|
const newValue = typeof value === "function" ? value(showAgentsWorkspaceEditor) : value;
|
|
1141
1357
|
setShowAgentsWorkspaceEditor(newValue);
|
|
@@ -1164,6 +1380,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1164
1380
|
setSidebarStacks((prev) => normalizeSidebarStacks(newOrder, prev));
|
|
1165
1381
|
}, []);
|
|
1166
1382
|
const ensureSidebarPinned = useCallback((sidebarId) => {
|
|
1383
|
+
if (sidebarId === CONTENT_TREE_SIDEBAR_ID) {
|
|
1384
|
+
return;
|
|
1385
|
+
}
|
|
1167
1386
|
const currentPinnedSidebars = pinnedSidebarsRef.current;
|
|
1168
1387
|
if (currentPinnedSidebars.includes(sidebarId)) {
|
|
1169
1388
|
return;
|
|
@@ -1209,7 +1428,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1209
1428
|
// Force a reconnect to refresh presence after several failed nudges
|
|
1210
1429
|
console.warn("Session presence did not recover after retries. Forcing reconnect.");
|
|
1211
1430
|
try {
|
|
1212
|
-
|
|
1431
|
+
getEditorRealtime().reconnect("recover-presence");
|
|
1213
1432
|
}
|
|
1214
1433
|
catch { }
|
|
1215
1434
|
}
|
|
@@ -1258,7 +1477,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1258
1477
|
}));
|
|
1259
1478
|
}
|
|
1260
1479
|
})
|
|
1261
|
-
.catch((error) =>
|
|
1480
|
+
.catch((error) => {
|
|
1481
|
+
if (error instanceof TypeError &&
|
|
1482
|
+
error.message === "Failed to fetch") {
|
|
1483
|
+
return;
|
|
1484
|
+
}
|
|
1485
|
+
console.error("Keep Alive error:", error);
|
|
1486
|
+
});
|
|
1262
1487
|
};
|
|
1263
1488
|
const keepaliveIntervalMs = (() => {
|
|
1264
1489
|
const param = new URLSearchParams(window.location.search).get("keepaliveIntervalMs");
|
|
@@ -1300,9 +1525,11 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1300
1525
|
}
|
|
1301
1526
|
// Handle sidebar changes — clear when absent so state matches the URL
|
|
1302
1527
|
const sidebarParam = urlParams.get("sidebar");
|
|
1303
|
-
const newSidebars = sidebarParam
|
|
1304
|
-
?
|
|
1305
|
-
:
|
|
1528
|
+
const newSidebars = sidebarParam === SIDEBAR_NONE_SENTINEL
|
|
1529
|
+
? []
|
|
1530
|
+
: sidebarParam
|
|
1531
|
+
? sidebarParam.split(",").filter(Boolean)
|
|
1532
|
+
: [];
|
|
1306
1533
|
setOpenSidebars(newSidebars);
|
|
1307
1534
|
// Handle wizard ID changes
|
|
1308
1535
|
const wizardId = urlParams.get("wizardid");
|
|
@@ -1315,18 +1542,14 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1315
1542
|
if (helpParam) {
|
|
1316
1543
|
setHelpTerminalActiveTab("manual");
|
|
1317
1544
|
setShowHelpTerminal(true);
|
|
1318
|
-
setSelectedHelpSectionId(helpParam === "contents" || helpParam === "true"
|
|
1319
|
-
? null
|
|
1320
|
-
: helpParam);
|
|
1545
|
+
setSelectedHelpSectionId(helpParam === "contents" || helpParam === "true" ? null : helpParam);
|
|
1321
1546
|
}
|
|
1322
1547
|
else {
|
|
1323
1548
|
handleSetShowHelpTerminal(false);
|
|
1324
1549
|
}
|
|
1325
1550
|
// Handle mode changes — always set to avoid stale-closure mismatch
|
|
1326
1551
|
const urlMode = urlParams.get("mode");
|
|
1327
|
-
|
|
1328
|
-
setMode(urlMode);
|
|
1329
|
-
}
|
|
1552
|
+
setMode(urlMode ?? "edit");
|
|
1330
1553
|
// Handle fullscreen changes (shell-level state)
|
|
1331
1554
|
const isFullscreen = urlParams.get("fullscreen") === "true";
|
|
1332
1555
|
if (configuration.forceFullscreen) {
|
|
@@ -1404,6 +1627,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1404
1627
|
return;
|
|
1405
1628
|
}
|
|
1406
1629
|
const tour = configuration.activeTour;
|
|
1630
|
+
if (!tour) {
|
|
1631
|
+
return;
|
|
1632
|
+
}
|
|
1407
1633
|
const key = tour === "default" ? "editor.tourShown" : "editor.tourShown." + tour;
|
|
1408
1634
|
const tourShown = localStorageService.getString(key);
|
|
1409
1635
|
if (!tourShown) {
|
|
@@ -1481,6 +1707,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1481
1707
|
const historyModeRef = useRef(historyMode);
|
|
1482
1708
|
const itemRef = useRef(item);
|
|
1483
1709
|
const historySearchQueryRef = useRef(historySearchQuery);
|
|
1710
|
+
const showOnlyMyChangesRef = useRef(showOnlyMyChanges);
|
|
1711
|
+
const filterByCurrentLanguageRef = useRef(filterByCurrentLanguage);
|
|
1484
1712
|
useEffect(() => {
|
|
1485
1713
|
historyModeRef.current = historyMode;
|
|
1486
1714
|
}, [historyMode]);
|
|
@@ -1490,6 +1718,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1490
1718
|
useEffect(() => {
|
|
1491
1719
|
historySearchQueryRef.current = historySearchQuery;
|
|
1492
1720
|
}, [historySearchQuery]);
|
|
1721
|
+
useEffect(() => {
|
|
1722
|
+
showOnlyMyChangesRef.current = showOnlyMyChanges;
|
|
1723
|
+
}, [showOnlyMyChanges]);
|
|
1724
|
+
useEffect(() => {
|
|
1725
|
+
filterByCurrentLanguageRef.current = filterByCurrentLanguage;
|
|
1726
|
+
}, [filterByCurrentLanguage]);
|
|
1493
1727
|
// Mirror the backend LIKE filter on MainItemPath/Title/Description so that
|
|
1494
1728
|
// ops arriving via WebSocket while a search is active don't bypass the filter.
|
|
1495
1729
|
const matchesHistorySearchQuery = useCallback((op) => {
|
|
@@ -1543,6 +1777,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1543
1777
|
useEffect(() => {
|
|
1544
1778
|
setRefreshCompletedFlag(!refreshCompletedFlag);
|
|
1545
1779
|
setInserting(undefined);
|
|
1780
|
+
setRemovingComponentIds([]);
|
|
1546
1781
|
}, [currentItemDescriptor, activePageViewContext.page?.item.id]);
|
|
1547
1782
|
useEffect(() => {
|
|
1548
1783
|
// When the item changes, reset acknowledgment and re-send client info
|
|
@@ -1582,21 +1817,27 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1582
1817
|
allComments.sort((a, b) => a.position - b.position);
|
|
1583
1818
|
return allComments;
|
|
1584
1819
|
});
|
|
1820
|
+
setCommentsLoaded(true);
|
|
1585
1821
|
}, [currentItemDescriptor, searchParams]);
|
|
1586
1822
|
// Assuming currentItemDescriptor, ui, state, handleErrorResult, and setSuggestedEdits
|
|
1587
1823
|
// are available in your component context.
|
|
1588
1824
|
const loadSuggestedEdits = useCallback(async () => {
|
|
1589
1825
|
if (!item)
|
|
1590
1826
|
return;
|
|
1591
|
-
const
|
|
1827
|
+
const reviewId = searchParams.get("reviewId");
|
|
1828
|
+
const result = await getSuggestedEdits(item.descriptor.id, item.descriptor.language, item.descriptor.version, reviewId ?? undefined);
|
|
1592
1829
|
if (handleErrorResult(result, ui, state))
|
|
1593
1830
|
return;
|
|
1594
|
-
|
|
1831
|
+
// A refetch can race a locally reverted suggestion's server delete; don't
|
|
1832
|
+
// resurrect suggestions the user already removed.
|
|
1833
|
+
const edits = (result.data || []).filter((edit) => !isSuggestedEditRemoved(edit.id));
|
|
1595
1834
|
setSuggestedEdits(edits);
|
|
1596
|
-
}, [item]);
|
|
1835
|
+
}, [item, searchParams]);
|
|
1836
|
+
useEffect(() => {
|
|
1837
|
+
loadSuggestedEditsRef.current = loadSuggestedEdits;
|
|
1838
|
+
}, [loadSuggestedEdits]);
|
|
1597
1839
|
const loadFavorites = useCallback(async () => {
|
|
1598
1840
|
try {
|
|
1599
|
-
const { getAllFavorites } = await import("../services/favouritesService");
|
|
1600
1841
|
const result = await getAllFavorites();
|
|
1601
1842
|
if (result.data) {
|
|
1602
1843
|
setFavorites(result.data);
|
|
@@ -1607,6 +1848,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1607
1848
|
setFavorites([]);
|
|
1608
1849
|
}
|
|
1609
1850
|
}, []);
|
|
1851
|
+
const refreshFavorites = useCallback(async (opts) => {
|
|
1852
|
+
await loadFavorites();
|
|
1853
|
+
}, [loadFavorites]);
|
|
1610
1854
|
const page = activePageViewContext.page;
|
|
1611
1855
|
const currentHistoryScope = useMemo(() => {
|
|
1612
1856
|
const currentItem = item?.descriptor;
|
|
@@ -1696,8 +1940,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1696
1940
|
(!freshPage || (freshPage?.editRevision ?? "") != (revision ?? ""));
|
|
1697
1941
|
const newIsRefreshing = isLoading && viewName === "editor";
|
|
1698
1942
|
setIsRefreshing(newIsRefreshing);
|
|
1699
|
-
if (!isLoading)
|
|
1943
|
+
if (!isLoading) {
|
|
1700
1944
|
setInserting(undefined);
|
|
1945
|
+
setRemovingComponentIds([]);
|
|
1946
|
+
}
|
|
1701
1947
|
}, [page, viewName, revision, pageModelReadyToken]);
|
|
1702
1948
|
// moved below to ensure requestRefresh is declared first
|
|
1703
1949
|
const loadHistory = useDebouncedCallback(async () => {
|
|
@@ -1768,6 +2014,34 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1768
2014
|
: filterByCurrentLanguage;
|
|
1769
2015
|
const trimmedHistoryQuery = historySearchQuery.trim();
|
|
1770
2016
|
const historyQuery = trimmedHistoryQuery.length > 0 ? trimmedHistoryQuery : undefined;
|
|
2017
|
+
const requestMode = currentMode;
|
|
2018
|
+
const requestSearchQuery = trimmedHistoryQuery;
|
|
2019
|
+
const requestItem = item?.descriptor;
|
|
2020
|
+
const requestLanguage = item?.descriptor?.language || currentItemDescriptor?.language;
|
|
2021
|
+
const isStaleHistoryResponse = () => {
|
|
2022
|
+
if (historyModeRef.current !== requestMode)
|
|
2023
|
+
return true;
|
|
2024
|
+
if ((historySearchQueryRef.current || "").trim() !== requestSearchQuery) {
|
|
2025
|
+
return true;
|
|
2026
|
+
}
|
|
2027
|
+
if (showOnlyMyChangesRef.current !== shouldFilterBySession)
|
|
2028
|
+
return true;
|
|
2029
|
+
if (filterByCurrentLanguageRef.current !== shouldFilterByLanguage) {
|
|
2030
|
+
return true;
|
|
2031
|
+
}
|
|
2032
|
+
const latestItem = itemRef.current?.descriptor;
|
|
2033
|
+
if (requestMode !== "global") {
|
|
2034
|
+
return (!latestItem ||
|
|
2035
|
+
!requestItem ||
|
|
2036
|
+
latestItem.id !== requestItem.id ||
|
|
2037
|
+
latestItem.language !== requestItem.language ||
|
|
2038
|
+
latestItem.version !== requestItem.version);
|
|
2039
|
+
}
|
|
2040
|
+
return (shouldFilterByLanguage &&
|
|
2041
|
+
!!requestLanguage &&
|
|
2042
|
+
!!latestItem?.language &&
|
|
2043
|
+
latestItem.language !== requestLanguage);
|
|
2044
|
+
};
|
|
1771
2045
|
if (currentMode === "global") {
|
|
1772
2046
|
// Global mode: optionally filter by session and/or language
|
|
1773
2047
|
const currentLanguage = item?.descriptor?.language || currentItemDescriptor?.language;
|
|
@@ -1783,6 +2057,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1783
2057
|
console.error("[EditorShell] Failed to load history:", result);
|
|
1784
2058
|
return;
|
|
1785
2059
|
}
|
|
2060
|
+
if (isStaleHistoryResponse()) {
|
|
2061
|
+
return;
|
|
2062
|
+
}
|
|
1786
2063
|
setEditHistory((prev) => {
|
|
1787
2064
|
const next = normalizeEditHistoryPayload(result.data);
|
|
1788
2065
|
const scope = {
|
|
@@ -1870,6 +2147,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1870
2147
|
console.error("[EditorShell] Failed to load item history:", result);
|
|
1871
2148
|
return;
|
|
1872
2149
|
}
|
|
2150
|
+
if (isStaleHistoryResponse()) {
|
|
2151
|
+
return;
|
|
2152
|
+
}
|
|
1873
2153
|
let operations = normalizeEditHistoryPayload(result.data);
|
|
1874
2154
|
// Client-side version filtering for current-version mode
|
|
1875
2155
|
if (currentMode === "current-version") {
|
|
@@ -1969,6 +2249,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1969
2249
|
globalThis.editorRefreshTimer = undefined;
|
|
1970
2250
|
};
|
|
1971
2251
|
if (mode === "immediate") {
|
|
2252
|
+
if (refreshTimer) {
|
|
2253
|
+
clearTimeout(refreshTimer);
|
|
2254
|
+
}
|
|
1972
2255
|
doRefresh();
|
|
1973
2256
|
return;
|
|
1974
2257
|
}
|
|
@@ -1984,6 +2267,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
1984
2267
|
useEffect(() => {
|
|
1985
2268
|
if (!currentItemDescriptor)
|
|
1986
2269
|
return;
|
|
2270
|
+
// The previous item's comments don't speak for the new one.
|
|
2271
|
+
setCommentsLoaded(false);
|
|
1987
2272
|
loadComments();
|
|
1988
2273
|
loadSuggestedEdits();
|
|
1989
2274
|
}, [currentItemDescriptor]);
|
|
@@ -2162,7 +2447,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2162
2447
|
else {
|
|
2163
2448
|
current.set("compare", "true");
|
|
2164
2449
|
}
|
|
2165
|
-
current.set("mode", mode);
|
|
2450
|
+
current.set("mode", workspaceShowsModeControls ? mode : "edit");
|
|
2166
2451
|
// Handle fullscreen parameter
|
|
2167
2452
|
if (fullscreen) {
|
|
2168
2453
|
current.set("fullscreen", "true");
|
|
@@ -2186,6 +2471,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2186
2471
|
current.delete("ccpanel");
|
|
2187
2472
|
current.delete("providerId");
|
|
2188
2473
|
current.delete("modelId");
|
|
2474
|
+
current.delete("projectTemplateId");
|
|
2475
|
+
}
|
|
2476
|
+
if (viewName !== "taskboard") {
|
|
2477
|
+
current.delete("tbView");
|
|
2478
|
+
current.delete("tbProjectId");
|
|
2479
|
+
current.delete("tbTaskId");
|
|
2480
|
+
current.delete("tbWizard");
|
|
2189
2481
|
}
|
|
2190
2482
|
// Preserve reviewId parameter if it exists (for review links)
|
|
2191
2483
|
// This ensures review links don't lose the reviewId when URL is synced
|
|
@@ -2263,15 +2555,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2263
2555
|
setItem(item);
|
|
2264
2556
|
if (!item)
|
|
2265
2557
|
return;
|
|
2266
|
-
if (itemRef.current?.descriptor.id === currentItemDescriptor.id &&
|
|
2267
|
-
itemRef.current?.descriptor.language ===
|
|
2268
|
-
currentItemDescriptor.language &&
|
|
2269
|
-
itemRef.current?.descriptor.version !== item.version) {
|
|
2270
|
-
showInfoToast({
|
|
2271
|
-
summary: "New version!",
|
|
2272
|
-
details: "New version of item loaded",
|
|
2273
|
-
});
|
|
2274
|
-
}
|
|
2275
2558
|
}
|
|
2276
2559
|
load();
|
|
2277
2560
|
}, [itemsRepository.revision]);
|
|
@@ -2359,6 +2642,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2359
2642
|
(activeSlotIdRef.current == null ||
|
|
2360
2643
|
existingSlotForItem.slotId === activeSlotIdRef.current)) {
|
|
2361
2644
|
const isExistingSlotActive = existingSlotForItem.slotId === activeSlotIdRef.current;
|
|
2645
|
+
ensureFieldModificationStoreRegistered(existingSlotForItem.slotId);
|
|
2362
2646
|
if (isExistingSlotActive) {
|
|
2363
2647
|
latestGlobalLoadKeyRef.current = requestedItemKey;
|
|
2364
2648
|
}
|
|
@@ -2417,6 +2701,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2417
2701
|
: (activeSlotId ?? editorSlots[0]?.slotId ?? null));
|
|
2418
2702
|
if (!targetSlotId)
|
|
2419
2703
|
return undefined;
|
|
2704
|
+
ensureFieldModificationStoreRegistered(targetSlotId);
|
|
2420
2705
|
setEditorSlots((prev) => {
|
|
2421
2706
|
if (shouldOpenNewSlot && !options?.targetSlotId) {
|
|
2422
2707
|
const existingIdx = prev.findIndex((s) => s.slotId === targetSlotId);
|
|
@@ -2494,6 +2779,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2494
2779
|
activeSlotId,
|
|
2495
2780
|
item,
|
|
2496
2781
|
workspaceId,
|
|
2782
|
+
ensureFieldModificationStoreRegistered,
|
|
2497
2783
|
]);
|
|
2498
2784
|
const setActiveSlot = useCallback(async (slotId) => {
|
|
2499
2785
|
if (activeSlotId === slotId)
|
|
@@ -2536,6 +2822,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2536
2822
|
// Remove the slot
|
|
2537
2823
|
setEditorSlots((prev) => prev.filter((s) => s.slotId !== slotId));
|
|
2538
2824
|
unregisterSlotContext(slotId);
|
|
2825
|
+
if (fieldModificationStoresBySlotRef.current.delete(slotId)) {
|
|
2826
|
+
setFieldModificationStoreRegistryRevision((previous) => previous + 1);
|
|
2827
|
+
}
|
|
2539
2828
|
// Activate the next slot if we closed the active one
|
|
2540
2829
|
if (isClosingActiveSlot) {
|
|
2541
2830
|
if (nextActiveSlotId) {
|
|
@@ -2580,6 +2869,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2580
2869
|
}, [fullscreen, configuration.forceFullscreen, searchParams, isMobile]);
|
|
2581
2870
|
const state = {
|
|
2582
2871
|
page,
|
|
2872
|
+
currentItemDescriptor,
|
|
2583
2873
|
configuration,
|
|
2584
2874
|
selection,
|
|
2585
2875
|
setSelection,
|
|
@@ -2597,12 +2887,19 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2597
2887
|
showOnlyMyChanges,
|
|
2598
2888
|
historyMode,
|
|
2599
2889
|
refreshHistory,
|
|
2890
|
+
comments,
|
|
2891
|
+
commentsLoaded,
|
|
2600
2892
|
suggestedEdits,
|
|
2601
2893
|
setSuggestedEdits,
|
|
2602
2894
|
mode,
|
|
2603
2895
|
layoutMode,
|
|
2604
2896
|
setFocusFieldComponentId,
|
|
2605
2897
|
setInsertMode,
|
|
2898
|
+
setInserting,
|
|
2899
|
+
setRemovingComponentIds,
|
|
2900
|
+
getActiveSlotContext,
|
|
2901
|
+
getFieldModificationStoreForSlot,
|
|
2902
|
+
getActiveSlotId,
|
|
2606
2903
|
};
|
|
2607
2904
|
useEffect(() => {
|
|
2608
2905
|
if (currentOverlay !== "fields")
|
|
@@ -2610,6 +2907,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2610
2907
|
if (currentOverlay !== "context-menu")
|
|
2611
2908
|
contextMenuRef.current?.close({});
|
|
2612
2909
|
}, [currentOverlay]);
|
|
2910
|
+
const handleContextMenuOpenChange = useCallback((open) => {
|
|
2911
|
+
if (open)
|
|
2912
|
+
return;
|
|
2913
|
+
setContextMenuSource(undefined);
|
|
2914
|
+
setCurrentOverlay((overlay) => overlay === "context-menu" ? undefined : overlay);
|
|
2915
|
+
}, []);
|
|
2613
2916
|
useEffect(() => {
|
|
2614
2917
|
loadItemVersions();
|
|
2615
2918
|
}, [currentItemDescriptor]);
|
|
@@ -2698,10 +3001,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2698
3001
|
: op.canUndo;
|
|
2699
3002
|
const mergedCanRedo = isUndoUpdate
|
|
2700
3003
|
? true
|
|
2701
|
-
: op.canRedo ?? existingOp.canRedo;
|
|
3004
|
+
: (op.canRedo ?? existingOp.canRedo);
|
|
2702
3005
|
const mergedUndone = isUndoUpdate
|
|
2703
3006
|
? true
|
|
2704
|
-
: op.undone ?? existingOp.undone;
|
|
3007
|
+
: (op.undone ?? existingOp.undone);
|
|
2705
3008
|
const mergedOp = {
|
|
2706
3009
|
...existingOp,
|
|
2707
3010
|
...op,
|
|
@@ -2761,13 +3064,15 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2761
3064
|
onOperationExecuted,
|
|
2762
3065
|
};
|
|
2763
3066
|
// moved to useMediaSelector
|
|
2764
|
-
const { workboxItems } = useWorkbox({
|
|
3067
|
+
const { workboxItems, isWorkboxLoading, refreshWorkbox } = useWorkbox({
|
|
2765
3068
|
page,
|
|
2766
3069
|
currentItemDescriptor,
|
|
2767
3070
|
validate,
|
|
2768
3071
|
});
|
|
2769
|
-
//
|
|
3072
|
+
// Refs for operations-context callbacks (needed because operationsContext is created later)
|
|
2770
3073
|
const markOperationCompleteRef = useRef(null);
|
|
3074
|
+
const addExecutingOperationRef = useRef(null);
|
|
3075
|
+
const updateExecutingOperationProgressRef = useRef(null);
|
|
2771
3076
|
// WebSocket message handler and connection
|
|
2772
3077
|
const messageHandler = useSocketMessageHandler({
|
|
2773
3078
|
sessionId,
|
|
@@ -2792,22 +3097,24 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2792
3097
|
markOperationComplete: (operationId) => {
|
|
2793
3098
|
markOperationCompleteRef.current?.(operationId);
|
|
2794
3099
|
},
|
|
3100
|
+
addExecutingOperation: (operation) => {
|
|
3101
|
+
addExecutingOperationRef.current?.(operation);
|
|
3102
|
+
},
|
|
3103
|
+
updateExecutingOperationProgress: (operationId, progress, statusMessage) => {
|
|
3104
|
+
updateExecutingOperationProgressRef.current?.(operationId, progress, statusMessage);
|
|
3105
|
+
},
|
|
3106
|
+
refreshWorkbox,
|
|
2795
3107
|
});
|
|
2796
3108
|
// Concurrent user limit error state
|
|
2797
3109
|
const [concurrentUserLimitError, setConcurrentUserLimitError] = useState(null);
|
|
2798
3110
|
concurrentUserLimitErrorRef.current = concurrentUserLimitError;
|
|
2799
3111
|
const handleRetryConnection = useCallback(() => {
|
|
2800
3112
|
setConcurrentUserLimitError(null);
|
|
2801
|
-
// Force reconnection by triggering a new connection attempt
|
|
2802
|
-
//
|
|
2803
|
-
|
|
2804
|
-
if (socket) {
|
|
2805
|
-
socket.close();
|
|
2806
|
-
delete globalThis.editorSocket;
|
|
2807
|
-
}
|
|
2808
|
-
// The hook will automatically attempt to reconnect
|
|
3113
|
+
// Force reconnection by triggering a new connection attempt. Works for either transport:
|
|
3114
|
+
// WebSocket close lets the hook's reconnect loop pick up; SSE re-opens via the reconnect handler.
|
|
3115
|
+
getEditorRealtime().reconnect("retry-connection");
|
|
2809
3116
|
}, []);
|
|
2810
|
-
|
|
3117
|
+
useEditorWebSocket({
|
|
2811
3118
|
sessionId,
|
|
2812
3119
|
onMessage: messageHandler,
|
|
2813
3120
|
onOpen: async () => {
|
|
@@ -2843,14 +3150,16 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2843
3150
|
requestQuota: requestQuotaAndUpdate,
|
|
2844
3151
|
sendClientInfo,
|
|
2845
3152
|
setSocketDiagnostics,
|
|
3153
|
+
enableWebSocketTransport: parheliaSettings?.enableWebSocketTransport ?? true,
|
|
3154
|
+
enableSseFallback: parheliaSettings?.enableSseFallback ?? true,
|
|
3155
|
+
transportSettingsReady: parheliaSettingsLoaded === true,
|
|
2846
3156
|
});
|
|
2847
3157
|
useEffect(() => {
|
|
2848
3158
|
const hasMySession = activeSessions.some((s) => s.sessionId === sessionId);
|
|
2849
|
-
if (hasMySession &&
|
|
2850
|
-
socketInstanceRef.current?.readyState === WebSocket.OPEN) {
|
|
3159
|
+
if (hasMySession && getEditorRealtime().isOpen()) {
|
|
2851
3160
|
toast.dismiss("session-revoked");
|
|
2852
3161
|
}
|
|
2853
|
-
}, [activeSessions, sessionId, socketConnectionVersion
|
|
3162
|
+
}, [activeSessions, sessionId, socketConnectionVersion]);
|
|
2854
3163
|
useEffect(() => {
|
|
2855
3164
|
const handleRevoked = (event) => {
|
|
2856
3165
|
const customEvent = event;
|
|
@@ -2861,37 +3170,36 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2861
3170
|
window.removeEventListener("parhelia:session-revoked", handleRevoked);
|
|
2862
3171
|
};
|
|
2863
3172
|
}, [promptSessionReconnect]);
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
3173
|
+
const sendSocketMessage = useCallback((message) => {
|
|
3174
|
+
if (message.type === "caret-position" &&
|
|
3175
|
+
message.payload?.source === "form-field") {
|
|
3176
|
+
const payload = message.payload;
|
|
3177
|
+
setRemoteCarets((current) => {
|
|
3178
|
+
if (payload.offset == null) {
|
|
3179
|
+
if (!current[sessionId])
|
|
3180
|
+
return current;
|
|
3181
|
+
const next = { ...current };
|
|
3182
|
+
delete next[sessionId];
|
|
3183
|
+
return next;
|
|
3184
|
+
}
|
|
3185
|
+
if (!payload.fieldId || !payload.item) {
|
|
3186
|
+
return current;
|
|
3187
|
+
}
|
|
3188
|
+
return {
|
|
3189
|
+
...current,
|
|
3190
|
+
[sessionId]: {
|
|
3191
|
+
sessionId,
|
|
3192
|
+
fieldId: payload.fieldId,
|
|
3193
|
+
item: payload.item,
|
|
3194
|
+
offset: payload.offset,
|
|
3195
|
+
value: payload.value,
|
|
2879
3196
|
},
|
|
2880
|
-
}
|
|
2881
|
-
duration: Infinity,
|
|
3197
|
+
};
|
|
2882
3198
|
});
|
|
2883
|
-
};
|
|
2884
|
-
window.addEventListener("parhelia:session-expired", handleExpired);
|
|
2885
|
-
return () => {
|
|
2886
|
-
window.removeEventListener("parhelia:session-expired", handleExpired);
|
|
2887
|
-
};
|
|
2888
|
-
}, []);
|
|
2889
|
-
const sendSocketMessage = useCallback((message) => {
|
|
2890
|
-
if (socketInstanceRef.current &&
|
|
2891
|
-
socketInstanceRef.current.readyState === WebSocket.OPEN) {
|
|
2892
|
-
socketInstanceRef.current.send(JSON.stringify(message));
|
|
2893
3199
|
}
|
|
2894
|
-
|
|
3200
|
+
// Routes over whichever transport is active (WebSocket preferred, SSE fallback).
|
|
3201
|
+
getEditorRealtime().send(message);
|
|
3202
|
+
}, [sessionId]);
|
|
2895
3203
|
// URL update helper - defined early so it can be used by workspace/sidebar functions
|
|
2896
3204
|
const updateUrl = useCallback((params) => {
|
|
2897
3205
|
// Use the actual browser pathname (including any basePath like /parhelia)
|
|
@@ -2925,8 +3233,15 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2925
3233
|
if (!result)
|
|
2926
3234
|
return;
|
|
2927
3235
|
}
|
|
2928
|
-
|
|
2929
|
-
|
|
3236
|
+
const targetWorkspace = configuration.editor.workspaces?.find((workspace) => workspace.id === targetWorkspaceId);
|
|
3237
|
+
const agentToCarryIntoEditor = workspaceIdRef.current === "agents" && targetWorkspaceId === "editor"
|
|
3238
|
+
? selectedAgentsWorkspaceAgentIdRef.current
|
|
3239
|
+
: null;
|
|
3240
|
+
if (agentToCarryIntoEditor) {
|
|
3241
|
+
setActiveAgentConversation(agentToCarryIntoEditor);
|
|
3242
|
+
handleSetShowAgentsPanel(true);
|
|
3243
|
+
}
|
|
3244
|
+
if (targetWorkspace?.closeAgentsPanelOnEnter) {
|
|
2930
3245
|
handleSetShowAgentsPanel(false);
|
|
2931
3246
|
}
|
|
2932
3247
|
// Track previous workspace before switching (use state directly)
|
|
@@ -2946,9 +3261,18 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2946
3261
|
version: currentDescriptor.version.toString(),
|
|
2947
3262
|
}
|
|
2948
3263
|
: {};
|
|
3264
|
+
const taskboardUrlParams = targetWorkspaceId === "taskboard"
|
|
3265
|
+
? {}
|
|
3266
|
+
: {
|
|
3267
|
+
tbView: undefined,
|
|
3268
|
+
tbProjectId: undefined,
|
|
3269
|
+
tbTaskId: undefined,
|
|
3270
|
+
tbWizard: undefined,
|
|
3271
|
+
};
|
|
2949
3272
|
updateUrl({
|
|
2950
3273
|
workspace: targetWorkspaceId,
|
|
2951
3274
|
...currentItemUrlParams,
|
|
3275
|
+
...taskboardUrlParams,
|
|
2952
3276
|
...options?.urlParams,
|
|
2953
3277
|
});
|
|
2954
3278
|
if (typeof document.startViewTransition === "function") {
|
|
@@ -2969,6 +3293,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2969
3293
|
addNavigationEntry,
|
|
2970
3294
|
updateUrl,
|
|
2971
3295
|
handleSetShowAgentsPanel,
|
|
3296
|
+
configuration.editor.workspaces,
|
|
2972
3297
|
]);
|
|
2973
3298
|
// Helper: get all sidebar IDs that should be preserved (locked sidebars + their stack mates)
|
|
2974
3299
|
const getPreservedSidebarIds = useCallback(() => {
|
|
@@ -2996,7 +3321,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
2996
3321
|
// Check if this sidebar is part of a multi-member stack
|
|
2997
3322
|
const currentStacks = sidebarStacksRef.current;
|
|
2998
3323
|
const stackContainingSidebar = currentStacks.find((stack) => stack.includes(sidebarId));
|
|
2999
|
-
const isInMultiMemberStack = stackContainingSidebar &&
|
|
3324
|
+
const isInMultiMemberStack = stackContainingSidebar &&
|
|
3325
|
+
stackContainingSidebar.filter((id) => id !== CONTENT_TREE_SIDEBAR_ID)
|
|
3326
|
+
.length > 1;
|
|
3000
3327
|
// Don't close via icon click if in multi-member stack (unless forceClose is true)
|
|
3001
3328
|
if (isInMultiMemberStack && !options?.forceClose) {
|
|
3002
3329
|
return;
|
|
@@ -3010,6 +3337,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3010
3337
|
if (sidebarId === "agents-panel") {
|
|
3011
3338
|
setUserPreferences({ showAgentsPanel: false });
|
|
3012
3339
|
}
|
|
3340
|
+
if (sidebarId === "feedback") {
|
|
3341
|
+
closeFeedbackSuggestionsMode();
|
|
3342
|
+
}
|
|
3013
3343
|
startTransition(() => {
|
|
3014
3344
|
updateUrl({ sidebar: sidebarUrlValue(newSidebars) });
|
|
3015
3345
|
});
|
|
@@ -3018,10 +3348,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3018
3348
|
// Opening a new sidebar
|
|
3019
3349
|
// Keep sidebars that are locked OR in a stack with a locked sidebar
|
|
3020
3350
|
const preservedSet = getPreservedSidebarIds();
|
|
3021
|
-
const newSidebars =
|
|
3022
|
-
...currentOpenSidebars
|
|
3023
|
-
|
|
3024
|
-
|
|
3351
|
+
const newSidebars = sidebarId === CONTENT_TREE_SIDEBAR_ID
|
|
3352
|
+
? [...currentOpenSidebars, sidebarId]
|
|
3353
|
+
: [
|
|
3354
|
+
...currentOpenSidebars.filter((id) => preservedSet.has(id) || id === CONTENT_TREE_SIDEBAR_ID), // Keep locked stacks and the dedicated tree panel
|
|
3355
|
+
sidebarId, // Add the new one
|
|
3356
|
+
];
|
|
3025
3357
|
openSidebarsRef.current = newSidebars;
|
|
3026
3358
|
setOpenSidebars(newSidebars);
|
|
3027
3359
|
ensureSidebarPinned(sidebarId);
|
|
@@ -3043,6 +3375,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3043
3375
|
ensureSidebarPinned,
|
|
3044
3376
|
setUserPreferences,
|
|
3045
3377
|
isMobile,
|
|
3378
|
+
closeFeedbackSuggestionsMode,
|
|
3046
3379
|
]);
|
|
3047
3380
|
// Ensure a sidebar is open (without toggling it closed if already open)
|
|
3048
3381
|
const openSidebar = useCallback((sidebarId, options) => {
|
|
@@ -3054,10 +3387,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3054
3387
|
const preservedSet = options?.preserveOpenSidebars
|
|
3055
3388
|
? undefined
|
|
3056
3389
|
: getPreservedSidebarIds();
|
|
3057
|
-
const newSidebars = options?.preserveOpenSidebars
|
|
3390
|
+
const newSidebars = options?.preserveOpenSidebars || sidebarId === CONTENT_TREE_SIDEBAR_ID
|
|
3058
3391
|
? [...currentOpenSidebars, sidebarId]
|
|
3059
3392
|
: [
|
|
3060
|
-
...currentOpenSidebars.filter((id) => preservedSet?.has(id)),
|
|
3393
|
+
...currentOpenSidebars.filter((id) => preservedSet?.has(id) || id === CONTENT_TREE_SIDEBAR_ID),
|
|
3061
3394
|
sidebarId,
|
|
3062
3395
|
];
|
|
3063
3396
|
openSidebarsRef.current = newSidebars;
|
|
@@ -3227,9 +3560,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3227
3560
|
return false;
|
|
3228
3561
|
if (!isTaskboardWorkspace && isTaskboardSidebar)
|
|
3229
3562
|
return false;
|
|
3230
|
-
//
|
|
3563
|
+
// Keep agents-panel broadly available, except in dedicated workspaces
|
|
3564
|
+
// that own their full surface.
|
|
3231
3565
|
if (s.id === "agents-panel") {
|
|
3232
|
-
return
|
|
3566
|
+
return targetWorkspaceId !== "translation-management";
|
|
3233
3567
|
}
|
|
3234
3568
|
// If no workspace settings or no sidebars defined for current workspace, show all.
|
|
3235
3569
|
if (workspaceAllowedSidebarIds.length === 0) {
|
|
@@ -3256,8 +3590,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3256
3590
|
};
|
|
3257
3591
|
}, [getSidebarsForWorkspace, workspaceId]);
|
|
3258
3592
|
// Track the last workspaceId this effect saw so we only auto-apply
|
|
3259
|
-
// `currentWorkspace.defaultSidebars` on
|
|
3260
|
-
//
|
|
3593
|
+
// `currentWorkspace.defaultSidebars` on actual workspace changes. Initial
|
|
3594
|
+
// workspace defaults are applied by the openSidebars state initializer, while
|
|
3595
|
+
// explicit sidebar URL state such as sidebar=none is still respected.
|
|
3261
3596
|
const prevWorkspaceIdForDefaultsRef = useRef(null);
|
|
3262
3597
|
useEffect(() => {
|
|
3263
3598
|
if (!currentWorkspace.supportsSidebars) {
|
|
@@ -3350,42 +3685,67 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3350
3685
|
const result = await command.execute(context);
|
|
3351
3686
|
return result;
|
|
3352
3687
|
}, [editContextRef, pathname, router, searchParams, openDialog]);
|
|
3353
|
-
const operationsContext = getOperationsContext(state, ui);
|
|
3688
|
+
const operationsContext = getOperationsContext({ ...state, refreshWorkbox }, ui);
|
|
3354
3689
|
const operations = operationsContext.ops;
|
|
3355
|
-
// Update the
|
|
3690
|
+
// Update the refs so the socket handler can access the operations-context callbacks
|
|
3356
3691
|
useEffect(() => {
|
|
3357
3692
|
markOperationCompleteRef.current =
|
|
3358
3693
|
operationsContext.context.markOperationComplete;
|
|
3359
|
-
|
|
3694
|
+
addExecutingOperationRef.current =
|
|
3695
|
+
operationsContext.context.addExecutingOperation;
|
|
3696
|
+
updateExecutingOperationProgressRef.current =
|
|
3697
|
+
operationsContext.context.updateExecutingOperationProgress;
|
|
3698
|
+
}, [
|
|
3699
|
+
operationsContext.context.markOperationComplete,
|
|
3700
|
+
operationsContext.context.addExecutingOperation,
|
|
3701
|
+
operationsContext.context.updateExecutingOperationProgress,
|
|
3702
|
+
]);
|
|
3360
3703
|
// Replace selected text with new content (for inline AI editing)
|
|
3361
|
-
const replaceSelectedText = useCallback(async (newText) => {
|
|
3362
|
-
|
|
3363
|
-
return;
|
|
3704
|
+
const replaceSelectedText = useCallback(async (newText, selectionOverride) => {
|
|
3705
|
+
const rangeToReplace = selectionOverride ?? selectedRange ?? lastTextSelectionRangeRef.current;
|
|
3364
3706
|
try {
|
|
3365
3707
|
// If we have selected text and a replaceText callback, use it
|
|
3366
|
-
if (
|
|
3367
|
-
|
|
3708
|
+
if (rangeToReplace?.text && rangeToReplace.replaceText) {
|
|
3709
|
+
rangeToReplace.replaceText(newText);
|
|
3368
3710
|
setSelectedRange(undefined);
|
|
3711
|
+
lastTextSelectionRangeRef.current = undefined;
|
|
3369
3712
|
return;
|
|
3370
3713
|
}
|
|
3371
3714
|
// If no selection but we have a replaceText callback, try to use it for insertion
|
|
3372
3715
|
// (some editors might support insertion via the same callback)
|
|
3373
|
-
if (!
|
|
3374
|
-
|
|
3716
|
+
if (!rangeToReplace?.text && rangeToReplace?.replaceText) {
|
|
3717
|
+
rangeToReplace.replaceText(newText);
|
|
3375
3718
|
setSelectedRange(undefined);
|
|
3719
|
+
lastTextSelectionRangeRef.current = undefined;
|
|
3376
3720
|
return;
|
|
3377
3721
|
}
|
|
3722
|
+
const fieldToReplace = focusedField ??
|
|
3723
|
+
(rangeToReplace?.fieldId &&
|
|
3724
|
+
rangeToReplace.itemId &&
|
|
3725
|
+
rangeToReplace.language &&
|
|
3726
|
+
typeof rangeToReplace.version === "number"
|
|
3727
|
+
? {
|
|
3728
|
+
fieldId: rangeToReplace.fieldId,
|
|
3729
|
+
item: {
|
|
3730
|
+
id: rangeToReplace.itemId,
|
|
3731
|
+
language: rangeToReplace.language,
|
|
3732
|
+
version: rangeToReplace.version,
|
|
3733
|
+
},
|
|
3734
|
+
}
|
|
3735
|
+
: undefined);
|
|
3736
|
+
if (!fieldToReplace)
|
|
3737
|
+
return;
|
|
3378
3738
|
// Fallback: indexOf-based replacement/insertion for plain text fields
|
|
3379
|
-
const { fieldId, item } =
|
|
3380
|
-
const modifiedField = fieldModificationStore.getField(fieldId, item.id, item.language, item.version);
|
|
3739
|
+
const { fieldId, item } = fieldToReplace;
|
|
3740
|
+
const modifiedField = getActiveSlotContext()?.fieldModificationStore.getField(fieldId, item.id, item.language, item.version);
|
|
3381
3741
|
const currentValue = modifiedField
|
|
3382
3742
|
? modifiedField.value || ""
|
|
3383
|
-
: (await itemsRepository.getField(
|
|
3384
|
-
"";
|
|
3743
|
+
: (await itemsRepository.getField(fieldToReplace))
|
|
3744
|
+
?.value || "";
|
|
3385
3745
|
let newValue;
|
|
3386
|
-
if (
|
|
3746
|
+
if (rangeToReplace?.text) {
|
|
3387
3747
|
// Replace selected text
|
|
3388
|
-
const { text: originalSelectedText } =
|
|
3748
|
+
const { text: originalSelectedText } = rangeToReplace;
|
|
3389
3749
|
const actualPosition = currentValue.indexOf(originalSelectedText);
|
|
3390
3750
|
if (actualPosition === -1) {
|
|
3391
3751
|
console.error("Failed to find selected text in field value");
|
|
@@ -3398,7 +3758,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3398
3758
|
}
|
|
3399
3759
|
else {
|
|
3400
3760
|
// Insert at cursor position (use startOffset if available, otherwise append)
|
|
3401
|
-
const insertPosition =
|
|
3761
|
+
const insertPosition = rangeToReplace?.startOffset ?? currentValue.length;
|
|
3402
3762
|
newValue =
|
|
3403
3763
|
currentValue.slice(0, insertPosition) +
|
|
3404
3764
|
newText +
|
|
@@ -3406,17 +3766,24 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3406
3766
|
}
|
|
3407
3767
|
// Update the field
|
|
3408
3768
|
await operations.editField({
|
|
3409
|
-
field:
|
|
3769
|
+
field: fieldToReplace,
|
|
3410
3770
|
value: newValue,
|
|
3411
3771
|
refresh: "immediate",
|
|
3412
3772
|
});
|
|
3413
3773
|
// Clear the selection after replacement/insertion
|
|
3414
3774
|
setSelectedRange(undefined);
|
|
3775
|
+
lastTextSelectionRangeRef.current = undefined;
|
|
3415
3776
|
}
|
|
3416
3777
|
catch (error) {
|
|
3417
3778
|
console.error("Failed to replace/insert text:", error);
|
|
3418
3779
|
}
|
|
3419
|
-
}, [
|
|
3780
|
+
}, [
|
|
3781
|
+
selectedRange,
|
|
3782
|
+
focusedField,
|
|
3783
|
+
itemsRepository,
|
|
3784
|
+
operations,
|
|
3785
|
+
getActiveSlotContext,
|
|
3786
|
+
]);
|
|
3420
3787
|
// Insert text at cursor position (for when there's no selection)
|
|
3421
3788
|
const insertTextAtCursor = useCallback(async (newText) => {
|
|
3422
3789
|
if (!focusedField)
|
|
@@ -3457,7 +3824,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3457
3824
|
}
|
|
3458
3825
|
// Fallback: use field value length (append)
|
|
3459
3826
|
const { fieldId, item } = focusedField;
|
|
3460
|
-
const modifiedField = fieldModificationStore.getField(fieldId, item.id, item.language, item.version);
|
|
3827
|
+
const modifiedField = getActiveSlotContext()?.fieldModificationStore.getField(fieldId, item.id, item.language, item.version);
|
|
3461
3828
|
const currentValue = modifiedField
|
|
3462
3829
|
? modifiedField.value || ""
|
|
3463
3830
|
: (await itemsRepository.getField(focusedField))?.value ||
|
|
@@ -3476,7 +3843,13 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3476
3843
|
catch (error) {
|
|
3477
3844
|
console.error("Failed to insert text at cursor:", error);
|
|
3478
3845
|
}
|
|
3479
|
-
}, [
|
|
3846
|
+
}, [
|
|
3847
|
+
focusedField,
|
|
3848
|
+
selectedRange,
|
|
3849
|
+
itemsRepository,
|
|
3850
|
+
operations,
|
|
3851
|
+
getActiveSlotContext,
|
|
3852
|
+
]);
|
|
3480
3853
|
// Cleanup pending debounced operations on unmount to prevent stuck "saving" states
|
|
3481
3854
|
useEffect(() => {
|
|
3482
3855
|
return () => {
|
|
@@ -3490,14 +3863,31 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3490
3863
|
setTimeout(() => {
|
|
3491
3864
|
setIgnoreBlur(false);
|
|
3492
3865
|
}, 20);
|
|
3493
|
-
setFocusedField({ ...field });
|
|
3494
3866
|
if (requestLock) {
|
|
3495
3867
|
const lockResult = (await operations.ensureLock(field)) || false;
|
|
3496
|
-
|
|
3868
|
+
if (!lockResult) {
|
|
3869
|
+
return false;
|
|
3870
|
+
}
|
|
3871
|
+
setFocusedField({ ...field });
|
|
3872
|
+
return true;
|
|
3497
3873
|
}
|
|
3874
|
+
setFocusedField({ ...field });
|
|
3498
3875
|
}
|
|
3499
3876
|
else {
|
|
3500
|
-
|
|
3877
|
+
// Keep the field selected when the blur was caused by clicking a User
|
|
3878
|
+
// Manual "Show me" control. Those reveals (e.g. the Reset field action)
|
|
3879
|
+
// gate availability on the `.focused-field` anchor, so dropping the
|
|
3880
|
+
// focused field here would disable the button and hide the very element
|
|
3881
|
+
// being highlighted. A mouse blur fires before the button becomes the
|
|
3882
|
+
// active element, so the guard also accepts a recent pointer-down on the
|
|
3883
|
+
// control (keyboard activation still leaves it as the active element).
|
|
3884
|
+
const focusMovedToShowMe = typeof document !== "undefined" &&
|
|
3885
|
+
isManualShowMeFocusTransfer({
|
|
3886
|
+
activeElement: document.activeElement,
|
|
3887
|
+
lastPointerDownAt: manualShowMePointerDownAtRef.current,
|
|
3888
|
+
now: Date.now(),
|
|
3889
|
+
});
|
|
3890
|
+
if (!ignoreBlur && !focusMovedToShowMe) {
|
|
3501
3891
|
setFocusedField(undefined);
|
|
3502
3892
|
setLockedField(undefined); // Clear client-side lock state
|
|
3503
3893
|
releaseFieldLocks(sessionId);
|
|
@@ -3662,8 +4052,12 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3662
4052
|
setNavigationHistory,
|
|
3663
4053
|
]);
|
|
3664
4054
|
useEffect(() => {
|
|
3665
|
-
if (typeof window === "undefined"
|
|
3666
|
-
|
|
4055
|
+
if (typeof window === "undefined") {
|
|
4056
|
+
return;
|
|
4057
|
+
}
|
|
4058
|
+
const exposeViewportTestApi = process.env.PARHELIA_DEV_MODE === "true" ||
|
|
4059
|
+
window.localStorage?.getItem("__parheliaViewportTestApi") === "true";
|
|
4060
|
+
if (!exposeViewportTestApi) {
|
|
3667
4061
|
return;
|
|
3668
4062
|
}
|
|
3669
4063
|
window.__parheliaQuickSwitcherTestApi = {
|
|
@@ -3872,18 +4266,24 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3872
4266
|
};
|
|
3873
4267
|
}
|
|
3874
4268
|
}, [operations.onFieldBlur]);
|
|
4269
|
+
// Record pointer-downs on User Manual "Show me" controls before the field
|
|
4270
|
+
// blur fires, so the blur guard above can keep the focused field for
|
|
4271
|
+
// field-gated reveals regardless of focus/activeElement timing.
|
|
3875
4272
|
useEffect(() => {
|
|
3876
|
-
if (
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
}
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
4273
|
+
if (typeof document === "undefined")
|
|
4274
|
+
return;
|
|
4275
|
+
const handlePointerDown = (event) => {
|
|
4276
|
+
if (isManualShowMeTarget(event.target)) {
|
|
4277
|
+
manualShowMePointerDownAtRef.current = Date.now();
|
|
4278
|
+
}
|
|
4279
|
+
};
|
|
4280
|
+
document.addEventListener("pointerdown", handlePointerDown, true);
|
|
4281
|
+
document.addEventListener("mousedown", handlePointerDown, true);
|
|
4282
|
+
return () => {
|
|
4283
|
+
document.removeEventListener("pointerdown", handlePointerDown, true);
|
|
4284
|
+
document.removeEventListener("mousedown", handlePointerDown, true);
|
|
4285
|
+
};
|
|
4286
|
+
}, []);
|
|
3887
4287
|
const isReadOnly = !item ||
|
|
3888
4288
|
!item.canWriteItem ||
|
|
3889
4289
|
!item.canWriteLanguage ||
|
|
@@ -3902,15 +4302,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3902
4302
|
// Otherwise, only show workspaces that are in the settings
|
|
3903
4303
|
return workspaceIdsFromSettings.includes(w.id) && !w.visible;
|
|
3904
4304
|
});
|
|
3905
|
-
// Handle initial mode setup from URL (only on initial load)
|
|
3906
|
-
useEffect(() => {
|
|
3907
|
-
if (!isInitialLoad)
|
|
3908
|
-
return;
|
|
3909
|
-
const queryMode = searchParams.get("mode");
|
|
3910
|
-
if (queryMode) {
|
|
3911
|
-
setMode(queryMode);
|
|
3912
|
-
}
|
|
3913
|
-
}, [searchParams, isInitialLoad]);
|
|
3914
4305
|
// Add this new effect for initial fullscreen setup
|
|
3915
4306
|
useEffect(() => {
|
|
3916
4307
|
if (!isInitialLoad)
|
|
@@ -3920,6 +4311,19 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3920
4311
|
activePageViewContext.setFullscreen(isFullscreen);
|
|
3921
4312
|
}
|
|
3922
4313
|
}, [searchParams, isInitialLoad, activePageViewContext]);
|
|
4314
|
+
useEffect(() => {
|
|
4315
|
+
if (typeof window === "undefined" ||
|
|
4316
|
+
process.env.PARHELIA_DEV_MODE !== "true") {
|
|
4317
|
+
return;
|
|
4318
|
+
}
|
|
4319
|
+
window.__parheliaViewportTestApi = {
|
|
4320
|
+
setZoom: (zoom) => activePageViewContext.setZoom(zoom),
|
|
4321
|
+
getZoom: () => activePageViewContext.zoom,
|
|
4322
|
+
};
|
|
4323
|
+
return () => {
|
|
4324
|
+
delete window.__parheliaViewportTestApi;
|
|
4325
|
+
};
|
|
4326
|
+
}, [activePageViewContext]);
|
|
3923
4327
|
// Simple registry for per-view context factories (e.g., GraphQL context)
|
|
3924
4328
|
// Stored outside the EditContext object via ref to avoid re-renders
|
|
3925
4329
|
if (!globalThis.__editorContextFactoriesRef) {
|
|
@@ -3988,6 +4392,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
3988
4392
|
clipboard,
|
|
3989
4393
|
setClipboard,
|
|
3990
4394
|
workboxItems,
|
|
4395
|
+
isWorkboxLoading,
|
|
4396
|
+
refreshWorkbox,
|
|
3991
4397
|
requestRefresh,
|
|
3992
4398
|
refreshCompletedFlag,
|
|
3993
4399
|
openCreatePageDialog: () => {
|
|
@@ -4015,8 +4421,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4015
4421
|
setScrollIntoView,
|
|
4016
4422
|
focusedField,
|
|
4017
4423
|
setFocusedField: setFocusedFieldWithLock,
|
|
4018
|
-
getComponentCommands: async (components) => {
|
|
4019
|
-
return await getComponentCommands(components, editContext);
|
|
4424
|
+
getComponentCommands: async (components, providerContext) => {
|
|
4425
|
+
return await getComponentCommands(components, editContext, providerContext);
|
|
4020
4426
|
},
|
|
4021
4427
|
dragStart: (dragObject) => {
|
|
4022
4428
|
setDragObject(dragObject);
|
|
@@ -4024,16 +4430,11 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4024
4430
|
dragEnd: () => {
|
|
4025
4431
|
setDragObject(undefined);
|
|
4026
4432
|
},
|
|
4027
|
-
droppedInPlaceholder: async (placeholderKey, index, spotPositionElement, spotPositionAnchor, insertOption) => {
|
|
4028
|
-
|
|
4433
|
+
droppedInPlaceholder: async (placeholderKey, index, spotPositionElement, spotPositionAnchor, insertOption, spotPosition, color) => {
|
|
4434
|
+
const droppedDragObject = dragObject;
|
|
4435
|
+
if ((!droppedDragObject && !insertOption) || !page)
|
|
4029
4436
|
return;
|
|
4030
4437
|
setDragObject(undefined);
|
|
4031
|
-
if (spotPositionElement && spotPositionAnchor) {
|
|
4032
|
-
setInserting({
|
|
4033
|
-
positionElement: spotPositionElement,
|
|
4034
|
-
positionAnchor: spotPositionAnchor,
|
|
4035
|
-
});
|
|
4036
|
-
}
|
|
4037
4438
|
const placeholderKeyComponents = placeholderKey.split("_");
|
|
4038
4439
|
const parentId = placeholderKeyComponents.length === 1
|
|
4039
4440
|
? undefined
|
|
@@ -4043,39 +4444,32 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4043
4444
|
let op;
|
|
4044
4445
|
if (!currentItemDescriptorRef.current)
|
|
4045
4446
|
return;
|
|
4447
|
+
let insertionSequence;
|
|
4448
|
+
if ((spotPosition || spotPositionElement) && spotPositionAnchor) {
|
|
4449
|
+
insertionSequence = ++insertingSequenceRef.current;
|
|
4450
|
+
setInserting({
|
|
4451
|
+
position: spotPosition,
|
|
4452
|
+
positionElement: spotPositionElement,
|
|
4453
|
+
positionAnchor: spotPositionAnchor,
|
|
4454
|
+
color,
|
|
4455
|
+
});
|
|
4456
|
+
}
|
|
4457
|
+
let operationPromise;
|
|
4046
4458
|
if (insertOption) {
|
|
4047
4459
|
// Clear any selected component type for insertion once the component
|
|
4048
4460
|
// has been dropped into a placeholder. This ensures that insert mode
|
|
4049
4461
|
// can exit cleanly and the editor header updates from "Add Component"
|
|
4050
4462
|
// to the actual component name after the operation completes.
|
|
4051
4463
|
setSelectedForInsertion("");
|
|
4052
|
-
operations
|
|
4053
|
-
.addComponent(insertOption.typeId, placeholderKey, index, currentItemDescriptorRef.current)
|
|
4054
|
-
.then((result) => {
|
|
4055
|
-
setInserting(undefined);
|
|
4056
|
-
})
|
|
4057
|
-
.catch((err) => {
|
|
4058
|
-
setInserting(undefined);
|
|
4059
|
-
});
|
|
4060
|
-
return;
|
|
4464
|
+
operationPromise = operations.addComponent(insertOption.typeId, placeholderKey, index, currentItemDescriptorRef.current, { showIndicator: false });
|
|
4061
4465
|
}
|
|
4062
|
-
if (
|
|
4063
|
-
|
|
4064
|
-
if (dragObject && dragObject.type == "template") {
|
|
4065
|
-
operations
|
|
4066
|
-
.addComponent(dragObject.typeId, placeholderKey, index, currentItemDescriptorRef.current)
|
|
4067
|
-
.then((result) => {
|
|
4068
|
-
setInserting(undefined);
|
|
4069
|
-
})
|
|
4070
|
-
.catch((err) => {
|
|
4071
|
-
setInserting(undefined);
|
|
4072
|
-
});
|
|
4073
|
-
return;
|
|
4466
|
+
else if (droppedDragObject?.type == "template") {
|
|
4467
|
+
operationPromise = operations.addComponent(droppedDragObject.typeId, placeholderKey, index, currentItemDescriptorRef.current, { showIndicator: false });
|
|
4074
4468
|
}
|
|
4075
|
-
if (
|
|
4076
|
-
(
|
|
4469
|
+
else if (droppedDragObject?.type == "component" ||
|
|
4470
|
+
(droppedDragObject?.type == "items" && droppedDragObject.items)) {
|
|
4077
4471
|
const parentComponent = parentId && page ? getComponentById(parentId, page) : null;
|
|
4078
|
-
if (
|
|
4472
|
+
if (droppedDragObject.type == "items" && droppedDragObject.items) {
|
|
4079
4473
|
op = {
|
|
4080
4474
|
type: "link-component",
|
|
4081
4475
|
mainItem: page.item.descriptor,
|
|
@@ -4089,33 +4483,52 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4089
4483
|
placeholderIndex: index,
|
|
4090
4484
|
date: new Date().toISOString(),
|
|
4091
4485
|
id: uuid(),
|
|
4092
|
-
linkedComponentItem:
|
|
4486
|
+
linkedComponentItem: droppedDragObject.items[0],
|
|
4093
4487
|
title: "Link component",
|
|
4094
4488
|
};
|
|
4095
4489
|
}
|
|
4096
4490
|
else {
|
|
4097
|
-
const componentIds =
|
|
4098
|
-
if (componentIds.length
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
}
|
|
4491
|
+
const componentIds = droppedDragObject.components?.map((c) => c.id) ?? [];
|
|
4492
|
+
if (componentIds.length > 0) {
|
|
4493
|
+
op = {
|
|
4494
|
+
type: "move-component",
|
|
4495
|
+
mainItem: page.item.descriptor,
|
|
4496
|
+
parent: parentId && {
|
|
4497
|
+
id: parentId,
|
|
4498
|
+
language: page.item.descriptor.language,
|
|
4499
|
+
version: page.item.descriptor.version,
|
|
4500
|
+
},
|
|
4501
|
+
placeholderKey,
|
|
4502
|
+
placeholderIndex: index,
|
|
4503
|
+
componentIds,
|
|
4504
|
+
date: new Date().toISOString(),
|
|
4505
|
+
id: uuid(),
|
|
4506
|
+
title: "Move component",
|
|
4507
|
+
};
|
|
4508
|
+
}
|
|
4115
4509
|
}
|
|
4116
4510
|
}
|
|
4117
4511
|
if (op)
|
|
4118
|
-
operations.executeEditOperation(op);
|
|
4512
|
+
operationPromise = operations.executeEditOperation(op);
|
|
4513
|
+
if (!operationPromise) {
|
|
4514
|
+
if (insertionSequence !== undefined &&
|
|
4515
|
+
insertingSequenceRef.current === insertionSequence) {
|
|
4516
|
+
setInserting(undefined);
|
|
4517
|
+
}
|
|
4518
|
+
return;
|
|
4519
|
+
}
|
|
4520
|
+
try {
|
|
4521
|
+
await operationPromise;
|
|
4522
|
+
}
|
|
4523
|
+
catch (err) {
|
|
4524
|
+
console.error("Failed to drop component in placeholder", err);
|
|
4525
|
+
}
|
|
4526
|
+
finally {
|
|
4527
|
+
if (insertionSequence !== undefined &&
|
|
4528
|
+
insertingSequenceRef.current === insertionSequence) {
|
|
4529
|
+
setInserting(undefined);
|
|
4530
|
+
}
|
|
4531
|
+
}
|
|
4119
4532
|
},
|
|
4120
4533
|
page,
|
|
4121
4534
|
triggerFieldAction: async (fieldDescriptor, actionButton, parameters, event) => {
|
|
@@ -4251,8 +4664,9 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4251
4664
|
: x));
|
|
4252
4665
|
},
|
|
4253
4666
|
activeFieldActions,
|
|
4254
|
-
showContextMenu: (event, items) => {
|
|
4667
|
+
showContextMenu: (event, items, options) => {
|
|
4255
4668
|
contextMenuRef.current?.show(event, items);
|
|
4669
|
+
setContextMenuSource(options?.source);
|
|
4256
4670
|
setCurrentOverlay("context-menu");
|
|
4257
4671
|
},
|
|
4258
4672
|
updateContextMenu: (items) => {
|
|
@@ -4263,6 +4677,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4263
4677
|
fieldEditorPopupRef.current?.show(fields, sections, ev);
|
|
4264
4678
|
},
|
|
4265
4679
|
inserting,
|
|
4680
|
+
removingComponentIds,
|
|
4266
4681
|
validating,
|
|
4267
4682
|
validationResult,
|
|
4268
4683
|
loadItem,
|
|
@@ -4278,6 +4693,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4278
4693
|
refreshHistory,
|
|
4279
4694
|
isRefreshing,
|
|
4280
4695
|
activeSessions,
|
|
4696
|
+
remoteCarets,
|
|
4281
4697
|
unlockField: async () => {
|
|
4282
4698
|
setLockedField(undefined); // Clear client-side lock state
|
|
4283
4699
|
await releaseFieldLocks(sessionId);
|
|
@@ -4340,6 +4756,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4340
4756
|
insertMode,
|
|
4341
4757
|
setInsertMode,
|
|
4342
4758
|
currentOverlay,
|
|
4759
|
+
contextMenuSource,
|
|
4343
4760
|
setCurrentOverlay,
|
|
4344
4761
|
lockedField,
|
|
4345
4762
|
timings,
|
|
@@ -4377,6 +4794,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4377
4794
|
unregisterSlotContext,
|
|
4378
4795
|
getActiveSlotContext,
|
|
4379
4796
|
getActiveSlotId,
|
|
4797
|
+
getFieldModificationStoreForSlot,
|
|
4380
4798
|
closeEditorSlot,
|
|
4381
4799
|
setActiveSlot,
|
|
4382
4800
|
revision,
|
|
@@ -4384,7 +4802,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4384
4802
|
pageModelReadyToken,
|
|
4385
4803
|
selectedComment,
|
|
4386
4804
|
setSelectedComment,
|
|
4805
|
+
selectedSuggestedEdit,
|
|
4806
|
+
setSelectedSuggestedEdit,
|
|
4387
4807
|
comments,
|
|
4808
|
+
commentsLoaded,
|
|
4388
4809
|
availableCommentTags,
|
|
4389
4810
|
loadComments,
|
|
4390
4811
|
setComments,
|
|
@@ -4392,27 +4813,60 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4392
4813
|
setShowComments,
|
|
4393
4814
|
showResolvedComments,
|
|
4394
4815
|
setShowResolvedComments,
|
|
4395
|
-
addComment: async () => {
|
|
4816
|
+
addComment: async (options) => {
|
|
4396
4817
|
const descriptor = item?.descriptor;
|
|
4397
4818
|
if (!descriptor)
|
|
4398
4819
|
return;
|
|
4820
|
+
// Only keep a single empty draft comment at a time. Clicking
|
|
4821
|
+
// "add comment" again while an unsaved draft already exists should
|
|
4822
|
+
// focus that draft instead of stacking up more empty inputs.
|
|
4823
|
+
const existingDraft = comments.find((c) => c.isNew);
|
|
4824
|
+
if (existingDraft) {
|
|
4825
|
+
await activateCommentsModeForWriting("comment-add");
|
|
4826
|
+
setSelectedComment(existingDraft);
|
|
4827
|
+
setSelectedSuggestedEdit(undefined);
|
|
4828
|
+
return;
|
|
4829
|
+
}
|
|
4399
4830
|
// Snapshot selection context up-front so switching views doesn't change what we comment on.
|
|
4831
|
+
const hintedFieldSnapshot = options?.field;
|
|
4400
4832
|
const focusedFieldSnapshot = focusedFieldRef.current;
|
|
4401
|
-
const
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4833
|
+
const selectedRangeCandidate = isUsableTextSelectionRange(selectedRange)
|
|
4834
|
+
? selectedRange
|
|
4835
|
+
: lastTextSelectionRangeRef.current;
|
|
4836
|
+
const selectedRangeSnapshot = !hintedFieldSnapshot ||
|
|
4837
|
+
selectionRangeMatchesField(selectedRangeCandidate, hintedFieldSnapshot)
|
|
4838
|
+
? selectedRangeCandidate
|
|
4839
|
+
: undefined;
|
|
4840
|
+
const selectedRangeFieldSnapshot = isUsableTextSelectionRange(selectedRangeSnapshot)
|
|
4841
|
+
? {
|
|
4842
|
+
fieldId: selectedRangeSnapshot.fieldId,
|
|
4843
|
+
item: {
|
|
4844
|
+
id: selectedRangeSnapshot.itemId,
|
|
4845
|
+
language: selectedRangeSnapshot.language || descriptor.language,
|
|
4846
|
+
version: typeof selectedRangeSnapshot.version === "number"
|
|
4847
|
+
? selectedRangeSnapshot.version
|
|
4848
|
+
: descriptor.version,
|
|
4849
|
+
},
|
|
4850
|
+
}
|
|
4851
|
+
: undefined;
|
|
4852
|
+
const commentFieldSnapshot = selectedRangeFieldSnapshot ??
|
|
4853
|
+
hintedFieldSnapshot ??
|
|
4854
|
+
focusedFieldSnapshot;
|
|
4855
|
+
const itemId = commentFieldSnapshot?.item.id ||
|
|
4856
|
+
(selection.length > 0 ? selection[0] : undefined) ||
|
|
4405
4857
|
descriptor.id;
|
|
4406
4858
|
if (!itemId)
|
|
4407
4859
|
return;
|
|
4408
|
-
// Ensure the
|
|
4409
|
-
|
|
4410
|
-
const language = descriptor.language;
|
|
4411
|
-
const version =
|
|
4860
|
+
// Ensure the promoted comments surface is active when adding a comment.
|
|
4861
|
+
await activateCommentsModeForWriting("comment-add");
|
|
4862
|
+
const language = commentFieldSnapshot?.item.language || descriptor.language;
|
|
4863
|
+
const version = typeof commentFieldSnapshot?.item.version === "number"
|
|
4864
|
+
? commentFieldSnapshot.item.version
|
|
4865
|
+
: descriptor.version;
|
|
4412
4866
|
const getFieldName = async () => {
|
|
4413
|
-
if (!
|
|
4867
|
+
if (!commentFieldSnapshot)
|
|
4414
4868
|
return "";
|
|
4415
|
-
const field = await itemsRepository.getField(
|
|
4869
|
+
const field = await itemsRepository.getField(commentFieldSnapshot);
|
|
4416
4870
|
return field?.name;
|
|
4417
4871
|
};
|
|
4418
4872
|
const getItemName = async () => {
|
|
@@ -4428,24 +4882,40 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4428
4882
|
isNew: true,
|
|
4429
4883
|
itemId,
|
|
4430
4884
|
itemName: await getItemName(),
|
|
4431
|
-
fieldId:
|
|
4885
|
+
fieldId: commentFieldSnapshot?.fieldId,
|
|
4432
4886
|
fieldName: await getFieldName(),
|
|
4433
4887
|
mainItemId: descriptor.id,
|
|
4434
4888
|
language,
|
|
4435
4889
|
version,
|
|
4436
4890
|
position: 0,
|
|
4437
|
-
rangeStart: selectedRangeSnapshot
|
|
4438
|
-
|
|
4891
|
+
rangeStart: isUsableTextSelectionRange(selectedRangeSnapshot)
|
|
4892
|
+
? selectedRangeSnapshot.startOffset
|
|
4893
|
+
: 0,
|
|
4894
|
+
rangeEnd: isUsableTextSelectionRange(selectedRangeSnapshot)
|
|
4895
|
+
? selectedRangeSnapshot.endOffset
|
|
4896
|
+
: 0,
|
|
4439
4897
|
author: user?.name,
|
|
4440
4898
|
authorDisplayName: user?.fullName,
|
|
4441
|
-
|
|
4899
|
+
created: new Date().toISOString(),
|
|
4442
4900
|
};
|
|
4901
|
+
if (selectedRangeSnapshot?.clientRect) {
|
|
4902
|
+
newComment[COMMENT_TRANSIENT_SELECTION_RECT] =
|
|
4903
|
+
selectedRangeSnapshot.clientRect;
|
|
4904
|
+
}
|
|
4905
|
+
if (selectedRangeSnapshot?.elementKey) {
|
|
4906
|
+
newComment[COMMENT_TRANSIENT_ELEMENT_KEY] =
|
|
4907
|
+
selectedRangeSnapshot.elementKey;
|
|
4908
|
+
}
|
|
4443
4909
|
setComments([newComment, ...comments]);
|
|
4444
4910
|
setSelectedComment(newComment);
|
|
4445
|
-
|
|
4911
|
+
setSelectedSuggestedEdit(undefined);
|
|
4912
|
+
lastTextSelectionRangeRef.current = undefined;
|
|
4446
4913
|
},
|
|
4447
4914
|
mode,
|
|
4915
|
+
changeMode,
|
|
4448
4916
|
setMode,
|
|
4917
|
+
registerModeChangeParticipant,
|
|
4918
|
+
modeTransitionRevision,
|
|
4449
4919
|
previewDate,
|
|
4450
4920
|
setPreviewDate,
|
|
4451
4921
|
layoutMode,
|
|
@@ -4470,6 +4940,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4470
4940
|
setComponentNavigatorOpenForSlot,
|
|
4471
4941
|
showAgentsPanel,
|
|
4472
4942
|
setShowAgentsPanel: handleSetShowAgentsPanel,
|
|
4943
|
+
waitForSurfaceSettled: settleRegistry.waitForSurfaceSettled,
|
|
4944
|
+
notifySurfaceSettled: settleRegistry.notifySettled,
|
|
4473
4945
|
isEditorFormHiddenForSlot,
|
|
4474
4946
|
setEditorFormHiddenForSlot,
|
|
4475
4947
|
editorFormHintSeen,
|
|
@@ -4513,6 +4985,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4513
4985
|
setCurrentWizardId,
|
|
4514
4986
|
favorites,
|
|
4515
4987
|
loadFavorites,
|
|
4988
|
+
refreshFavorites,
|
|
4516
4989
|
isQuickSwitcherVisible: quickSwitcherVisible,
|
|
4517
4990
|
// Context factory registry methods
|
|
4518
4991
|
registerContextFactory: (name, factory) => {
|
|
@@ -4557,6 +5030,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4557
5030
|
dragObject,
|
|
4558
5031
|
clipboard,
|
|
4559
5032
|
workboxItems,
|
|
5033
|
+
isWorkboxLoading,
|
|
5034
|
+
refreshWorkbox,
|
|
4560
5035
|
requestRefresh,
|
|
4561
5036
|
refreshCompletedFlag,
|
|
4562
5037
|
searchParams,
|
|
@@ -4591,6 +5066,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4591
5066
|
componentDesignerRendering,
|
|
4592
5067
|
insertMode,
|
|
4593
5068
|
currentOverlay,
|
|
5069
|
+
contextMenuSource,
|
|
4594
5070
|
lockedField,
|
|
4595
5071
|
timings,
|
|
4596
5072
|
selectedRange,
|
|
@@ -4603,12 +5079,15 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4603
5079
|
addSocketMessageListener,
|
|
4604
5080
|
sendSocketMessage,
|
|
4605
5081
|
socketConnectionVersion,
|
|
5082
|
+
removingComponentIds,
|
|
4606
5083
|
currentItemDescriptor,
|
|
4607
5084
|
revision,
|
|
4608
5085
|
notifyPageModelReady,
|
|
4609
5086
|
pageModelReadyToken,
|
|
4610
5087
|
selectedComment,
|
|
5088
|
+
selectedSuggestedEdit,
|
|
4611
5089
|
comments,
|
|
5090
|
+
commentsLoaded,
|
|
4612
5091
|
availableCommentTags,
|
|
4613
5092
|
loadComments,
|
|
4614
5093
|
showComments,
|
|
@@ -4620,15 +5099,22 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4620
5099
|
isRefreshing,
|
|
4621
5100
|
favorites,
|
|
4622
5101
|
loadFavorites,
|
|
5102
|
+
refreshFavorites,
|
|
4623
5103
|
currentWizardId,
|
|
4624
5104
|
quickSwitcherVisible,
|
|
4625
5105
|
quickSwitcherSelectedIndex,
|
|
4626
5106
|
handleQuickSwitcherSelect,
|
|
4627
5107
|
webSocketMessages,
|
|
4628
5108
|
socketDiagnostics,
|
|
5109
|
+
remoteCarets,
|
|
4629
5110
|
factoriesRef,
|
|
4630
5111
|
user,
|
|
4631
5112
|
statusMessage,
|
|
5113
|
+
activateCommentsModeForWriting,
|
|
5114
|
+
changeMode,
|
|
5115
|
+
setMode,
|
|
5116
|
+
registerModeChangeParticipant,
|
|
5117
|
+
modeTransitionRevision,
|
|
4632
5118
|
previewDate,
|
|
4633
5119
|
layoutMode,
|
|
4634
5120
|
enableCompletions,
|
|
@@ -4644,7 +5130,11 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4644
5130
|
handleSetShowComponentNavigator,
|
|
4645
5131
|
showAgentsPanel,
|
|
4646
5132
|
handleSetShowAgentsPanel,
|
|
5133
|
+
settleRegistry,
|
|
4647
5134
|
activeSlotId,
|
|
5135
|
+
editorSlots,
|
|
5136
|
+
slotContexts,
|
|
5137
|
+
getFieldModificationStoreForSlot,
|
|
4648
5138
|
isEditorFormHiddenForSlot,
|
|
4649
5139
|
setEditorFormHiddenForSlot,
|
|
4650
5140
|
editorFormHintSeen,
|
|
@@ -4681,9 +5171,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4681
5171
|
const fieldsEditContext = {
|
|
4682
5172
|
modifiedFields,
|
|
4683
5173
|
recentEdits,
|
|
4684
|
-
clearModifiedFields: () => {
|
|
4685
|
-
fieldModificationStore.clear();
|
|
4686
|
-
},
|
|
4687
5174
|
clearRecentEdits: () => {
|
|
4688
5175
|
setRecentEdits([]);
|
|
4689
5176
|
},
|
|
@@ -4694,8 +5181,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4694
5181
|
setLockedField(undefined); // Clear client-side lock state
|
|
4695
5182
|
await releaseFieldLocks(sessionId);
|
|
4696
5183
|
},
|
|
4697
|
-
inlineEditingFieldElement,
|
|
4698
|
-
setInlineEditingFieldElement,
|
|
4699
5184
|
};
|
|
4700
5185
|
// Debug: Track editContext changes
|
|
4701
5186
|
// const prevDependencies = useRef<any[]>([]);
|
|
@@ -4734,7 +5219,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4734
5219
|
// componentDesignerRendering,
|
|
4735
5220
|
// insertMode,
|
|
4736
5221
|
// currentOverlay,
|
|
4737
|
-
// inlineEditingFieldElement,
|
|
4738
5222
|
// lockedField,
|
|
4739
5223
|
// selectedRange,
|
|
4740
5224
|
// pageViewContext,
|
|
@@ -4822,7 +5306,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4822
5306
|
// 'componentDesignerRendering',
|
|
4823
5307
|
// 'insertMode',
|
|
4824
5308
|
// 'currentOverlay',
|
|
4825
|
-
// 'inlineEditingFieldElement',
|
|
4826
5309
|
// 'lockedField',
|
|
4827
5310
|
// 'selectedRange',
|
|
4828
5311
|
// 'pageViewContext',
|
|
@@ -4911,7 +5394,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4911
5394
|
// Auto-open the mobile editor panel for new selection/intent changes, but
|
|
4912
5395
|
// keep a manual close sticky for the exact same context.
|
|
4913
5396
|
useEffect(() => {
|
|
4914
|
-
if (!isMobile || workspaceId !== "editor")
|
|
5397
|
+
if (!isMobile || workspaceId !== "editor" || mode !== "edit")
|
|
4915
5398
|
return;
|
|
4916
5399
|
if (activeEditorTab) {
|
|
4917
5400
|
handleSetMobileEditorPanelOpen(true);
|
|
@@ -4929,19 +5412,17 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4929
5412
|
insertMode,
|
|
4930
5413
|
isMobile,
|
|
4931
5414
|
mobilePanelDismissToken,
|
|
5415
|
+
mode,
|
|
4932
5416
|
selection,
|
|
4933
5417
|
workspaceId,
|
|
4934
5418
|
]);
|
|
4935
|
-
useEffect(() => {
|
|
4936
|
-
fieldsEditContext.clearModifiedFields();
|
|
4937
|
-
}, [currentItemDescriptor]);
|
|
4938
5419
|
if (!currentWorkspace)
|
|
4939
5420
|
return null;
|
|
4940
|
-
const editorUi = fullscreen ? (_jsxs(_Fragment, { children: [
|
|
5421
|
+
const editorUi = fullscreen ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 flex", children: _jsx(PageViewerFrame, { compareView: compareMode, pageViewContext: activePageViewContext }) }), showFullscreenHint && !configuration.forceFullscreen && !isMobile && (_jsx("div", { className: "fixed inset-0 z-10000", onMouseMoveCapture: () => {
|
|
4941
5422
|
setTimeout(() => {
|
|
4942
5423
|
setShowFullscreenHint(false);
|
|
4943
5424
|
}, 600);
|
|
4944
|
-
}, "data-testid": "fullscreen-hint-overlay", children: _jsxs("div", { className: "fixed top-6 left-1/2 -translate-x-1/2 transform rounded-full
|
|
5425
|
+
}, "data-testid": "fullscreen-hint-overlay", children: _jsxs("div", { className: "bg-neutral-grey-100/60 fixed top-6 left-1/2 -translate-x-1/2 transform rounded-full px-6 py-2.5 text-sm font-medium text-white shadow-2xl backdrop-blur-md transition-all duration-500", children: ["Press", " ", _jsx("kbd", { className: "badge-pad-sm mx-1 rounded bg-white/20 text-xs font-medium", children: "Ctrl + F11" }), " ", "to exit fullscreen"] }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(EditorChrome, { className: className, currentWorkspace: currentWorkspace, centerPanelView: centerPanelView, editContext: editContext, showAgentsPanel: showAgentsPanel, handleSetShowAgentsPanel: handleSetShowAgentsPanel, workspaceId: workspaceId }), isTourActive && configuration.activeTour && (_jsx(Tour, { tourStopCallback: () => {
|
|
4945
5426
|
setIsTourActive(false);
|
|
4946
5427
|
// Remove tour state from URL
|
|
4947
5428
|
// Use history.replaceState instead of router.replace to avoid triggering React navigation
|
|
@@ -4953,12 +5434,14 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
|
|
|
4953
5434
|
: window.location.pathname;
|
|
4954
5435
|
window.history.replaceState(getCurrentHistoryState(), "", newUrl);
|
|
4955
5436
|
}, configuration: configuration, restoredFromUrl: tourRestoredRef.current })), _jsx(FeatureGate, { feature: LicenseFeatures.AI, children: _jsx(GuidanceOverlay, {}) }), _jsx(FeatureGate, { feature: LicenseFeatures.AI, children: _jsx(AgentDialogHandler, {}) })] }));
|
|
4956
|
-
|
|
4957
|
-
|
|
5437
|
+
const showRefreshSpinner = editContext.isRefreshing && !activePageViewContext.iframeSupportsRefresh;
|
|
5438
|
+
return (_jsx(LicenseProvider, { initialLicenseStatus: initialLicenseStatus, initialStatusLoaded: initialLicenseStatusLoaded, children: _jsx("div", { className: `editor h-full w-full`, children: _jsx(OperationsContextProvider, { value: operationsContext.context, children: _jsx(FieldsEditContextProvider, { value: fieldsEditContext, children: _jsx(EditContextProvider, { value: editContext, children: _jsxs(SplashScreenAgentProvider, { children: [_jsx(DevModeIndicator, {}), startupChecks.state === "loading" && _jsx(EditorLoadingOverlay, {}), showRefreshSpinner && (_jsx("div", { className: "text-neutral-grey-50 pointer-events-none fixed right-0 bottom-0 flex h-24 w-24 items-center justify-center opacity-50 select-none", children: _jsx(Spinner, {}) })), (currentWorkspace.id === "agents" ||
|
|
5439
|
+
currentWorkspace.id === "taskboard" ||
|
|
5440
|
+
currentWorkspace.id === "translation-management") &&
|
|
4958
5441
|
showAgentsWorkspaceEditor && (_jsx(AgentsSlotContextBridgeHost, { slots: editorSlots })), startupChecks.state !== "loading" && (children || editorUi), startupChecks.state !== "loading" && dialog, _jsx(Toaster, { position: "top-center" }), " ", _jsx(ConfirmationDialog, { ref: confirmationDialogRef }), _jsx(ConcurrentUserLimitDialog, { open: concurrentUserLimitError !== null, onOpenChange: (open) => {
|
|
4959
5442
|
if (!open) {
|
|
4960
5443
|
setConcurrentUserLimitError(null);
|
|
4961
5444
|
}
|
|
4962
|
-
}, sessionId: sessionId, currentUsers: concurrentUserLimitError?.currentUsers ?? 0, maxUsers: concurrentUserLimitError?.maxUsers ?? 0, message: concurrentUserLimitError?.message ?? "", onRetry: handleRetryConnection, isAdministrator: userInfo.user.isAdministrator === true }), _jsx(QuickItemSwitcher, { visible: quickSwitcherVisible, entries: quickSwitcherEntries.slice(0, 5), selectedIndex: quickSwitcherSelectedIndex, onSelect: handleQuickSwitcherSelect, onClose: () => setQuickSwitcherVisible(false) }), _jsx(EditContextMenu, { ref: contextMenuRef }), _jsx(EditorFormHintPopover, {}), _jsx(FeatureGate, { feature: LicenseFeatures.AI, children: _jsx(InlineAiTrigger, {}) }), media.mediaSelectorVisible && (_jsx(MediaSelector, { language: editContext.currentItemDescriptor.language, visible: media.mediaSelectorVisible, onHide: media.handleHide, onMediaSelected: media.onMediaSelect, selectedIdPath: media.selectedMediaIdPath, mode: media.mediaSelectorMode, initialSearchTerm: media.initialSearchTerm })), _jsx(FieldEditorPopup, { ref: fieldEditorPopupRef }), _jsx(LicenseOverlay, {})] }) }) }) }) }) }));
|
|
5445
|
+
}, sessionId: sessionId, currentUsers: concurrentUserLimitError?.currentUsers ?? 0, maxUsers: concurrentUserLimitError?.maxUsers ?? 0, message: concurrentUserLimitError?.message ?? "", onRetry: handleRetryConnection, isAdministrator: userInfo.user.isAdministrator === true }), _jsx(QuickItemSwitcher, { visible: quickSwitcherVisible, entries: quickSwitcherEntries.slice(0, 5), selectedIndex: quickSwitcherSelectedIndex, onSelect: handleQuickSwitcherSelect, onClose: () => setQuickSwitcherVisible(false) }), _jsx(EditContextMenu, { ref: contextMenuRef, onOpenChange: handleContextMenuOpenChange }), _jsx(EditorFormHintPopover, {}), _jsx(FeatureGate, { feature: LicenseFeatures.AI, children: _jsx(InlineAiTrigger, {}) }), media.mediaSelectorVisible && (_jsx(MediaSelector, { language: editContext.currentItemDescriptor.language, visible: media.mediaSelectorVisible, onHide: media.handleHide, onMediaSelected: media.onMediaSelect, selectedIdPath: media.selectedMediaIdPath, mode: media.mediaSelectorMode, initialSearchTerm: media.initialSearchTerm })), _jsx(FieldEditorPopup, { ref: fieldEditorPopupRef }), _jsx(LicenseOverlay, {}), _jsx(SessionExpiredOverlay, {})] }) }) }) }) }) }));
|
|
4963
5446
|
}
|
|
4964
5447
|
//# sourceMappingURL=EditorShell.js.map
|