@parhelia/core 0.1.12888 → 0.1.12890
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 +2 -1
- package/dist/agents-view/AgentCard.js +14 -38
- 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 +28 -0
- package/dist/agents-view/AgentProfileIcon.js.map +1 -0
- package/dist/agents-view/AgentsView.d.ts +6 -1
- package/dist/agents-view/AgentsView.js +40 -12
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +40 -21
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
- package/dist/agents-view/DateAgentsGroup.js +2 -2
- package/dist/agents-view/DateAgentsGroup.js.map +1 -1
- package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
- package/dist/agents-view/ProfileAgentsGroup.js +5 -8
- 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/components/FilterInput.d.ts +2 -0
- package/dist/components/FilterInput.js +4 -2
- package/dist/components/FilterInput.js.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +1 -1
- package/dist/components/ui/alert-dialog.js +5 -5
- 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/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +9 -4
- package/dist/components/ui/button.js +16 -9
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dialog.js +4 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/config/config.js +4 -3
- package/dist/config/config.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +3 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/LinkEditorDialog.js +3 -3
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +11 -9
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/WorkspaceTitleSwitcher.d.ts +5 -0
- package/dist/editor/WorkspaceTitleSwitcher.js +86 -0
- package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -0
- package/dist/editor/ai/AgentInlineDialogContent.js +1 -1
- package/dist/editor/ai/AgentInlineDialogContent.js.map +1 -1
- package/dist/editor/ai/Agents.js +155 -43
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +1 -1
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +52 -82
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- 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 +3 -0
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js +3 -3
- package/dist/editor/ai/terminal/agentQuestionnaireTranscriptRecovery.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionLiveTotals.d.ts +5 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js +14 -0
- package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +2 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +1 -1
- package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +5 -2
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- 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.js +3 -3
- package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js +5 -2
- package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +5 -3
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +6 -19
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +5 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +33 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +20 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +11 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +59 -7
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- 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/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 +2 -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/useAgentInlineDialogEvents.js +8 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogEvents.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentInlineDialogState.d.ts +10 -3
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js +33 -4
- package/dist/editor/ai/terminal/useAgentInlineDialogState.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js +16 -2
- package/dist/editor/ai/terminal/useAgentRunResyncSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +3 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.js +12 -1
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.d.ts +3 -0
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitLifecycle.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +48 -4
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js +13 -1
- package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js +31 -7
- package/dist/editor/ai/terminal/useAgentToolResultHandler.js.map +1 -1
- package/dist/editor/bridge/BridgeClient.d.ts +1 -8
- package/dist/editor/bridge/BridgeClient.js +2 -4
- package/dist/editor/bridge/BridgeClient.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +512 -0
- package/dist/editor/bridge/protocol.js +188 -0
- package/dist/editor/bridge/protocol.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +15 -4
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +50 -13
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +6 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +3 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +57 -25
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +1 -0
- package/dist/editor/client/hooks/useWorkbox.js +14 -1
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- 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 +4 -0
- package/dist/editor/client/operations.js +134 -74
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.d.ts +1 -0
- package/dist/editor/client/pageModelBuilder.js +22 -13
- package/dist/editor/client/pageModelBuilder.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/itemCommands.js +5 -16
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/content-tree/IndicatorSettings.js +3 -2
- package/dist/editor/content-tree/IndicatorSettings.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/MultiLineText.js +24 -7
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +19 -2
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- 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/menubar/ItemLanguageVersion.js +3 -14
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- 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/ToolbarFactory.js +4 -1
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.d.ts +3 -2
- package/dist/editor/menubar/VersionSelector.js +28 -12
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +7 -4
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +7 -3
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +4 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +28 -27
- 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/watchEventOptions.js +3 -2
- package/dist/editor/notifications/watchEventOptions.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +8 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +3 -10
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +2 -2
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +21 -0
- package/dist/editor/page-viewer/MiniMap.js +113 -11
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +155 -22
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +1 -2
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +1 -1
- package/dist/editor/reviews/DecisionsMatrix.js +5 -1
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +12 -2
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/latestFeedbackData.js +7 -1
- package/dist/editor/reviews/latestFeedbackData.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.d.ts +2 -0
- package/dist/editor/reviews/suggestedEditState.js +20 -0
- package/dist/editor/reviews/suggestedEditState.js.map +1 -1
- package/dist/editor/reviews/suggestionContentChange.d.ts +1 -1
- package/dist/editor/reviews/suggestionContentChange.js +23 -3
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +6 -0
- package/dist/editor/services/agentService.js +14 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +5 -0
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/settings/About.js +1 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentToolsPanel.js +61 -33
- package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +3 -2
- package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -2
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/StatusPanel.js +10 -7
- package/dist/editor/settings/panels/StatusPanel.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/ComponentTree.js +1 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +1 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Workbox.js +18 -4
- package/dist/editor/sidebar/Workbox.js.map +1 -1
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +3 -2
- package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +3 -2
- package/dist/editor/tree-indicators/GutterColumns.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/Icons.js +1 -1
- package/dist/editor/ui/Icons.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.js +2 -2
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PublishItemDialog.js +4 -6
- package/dist/editor/ui/PublishItemDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +2 -1
- package/dist/editor/ui/SimpleTabs.js +23 -5
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.js +120 -3
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/splitterResizeEvent.d.ts +7 -0
- package/dist/editor/ui/splitterResizeEvent.js +6 -0
- package/dist/editor/ui/splitterResizeEvent.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +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 +4 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +20 -11
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/NewPage.js +26 -7
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +154 -121
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +1 -1
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.d.ts +12 -22
- package/dist/task-board/components/ProjectDashboard.js +120 -108
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectOverviewContent.js +3 -0
- 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 +7 -4
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +16 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +55 -47
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.js +6 -5
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.js +3 -2
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js +1 -1
- package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
- 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/TaskBoardProjectListSidebar.js +74 -12
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +9 -52
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskCard.js +5 -13
- package/dist/task-board/components/TaskCard.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +3 -2
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +0 -2
- package/dist/task-board/taskBoardNavStore.js +0 -2
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.js +3 -2
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +161 -38
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +1 -2
- 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 +7 -4
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/package.json +1 -2
- package/styles.css +4 -3
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
|
-
import { AlertCircle,
|
|
4
|
+
import { AlertCircle, Clock, Cloud, GitBranch, Globe, MessageSquare, Settings2, User, Users, } from "lucide-react";
|
|
5
|
+
import { ParheliaAgentIcon } from "../ui/Icons";
|
|
5
6
|
import { Checkbox } from "../../components/ui/checkbox";
|
|
6
7
|
const iconMap = {
|
|
7
8
|
"alert-circle": AlertCircle,
|
|
8
9
|
clock: Clock,
|
|
9
10
|
cloud: Cloud,
|
|
10
11
|
globe: Globe,
|
|
11
|
-
bot:
|
|
12
|
+
bot: ParheliaAgentIcon,
|
|
12
13
|
"git-branch": GitBranch,
|
|
13
14
|
"message-square": MessageSquare,
|
|
14
15
|
user: User,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndicatorSettings.js","sourceRoot":"","sources":["../../../src/editor/content-tree/IndicatorSettings.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"IndicatorSettings.js","sourceRoot":"","sources":["../../../src/editor/content-tree/IndicatorSettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,13 @@ export function CheckboxEditor({ field, readOnly, }) {
|
|
|
18
18
|
if (isUpdating) {
|
|
19
19
|
return _jsx(Loader2, { className: "h-[18px] w-[18px] animate-spin" });
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
const isChecked = field.value === true || field.rawValue === "1";
|
|
22
|
+
return (_jsx(Checkbox, { checked: isChecked, disabled: readOnly, className: "focus-shadow", onCheckedChange: (checked) => {
|
|
22
23
|
setIsUpdating(true);
|
|
23
24
|
editContext.operations.editField({
|
|
24
25
|
field: field.descriptor,
|
|
25
26
|
rawValue: checked ? "1" : "0",
|
|
27
|
+
value: checked,
|
|
26
28
|
refresh: "immediate",
|
|
27
29
|
});
|
|
28
30
|
} }, fieldItem.id + field.id + fieldItem.language + fieldItem.version));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/CheckboxEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,KAAC,OAAO,IAAC,SAAS,EAAC,gCAAgC,GAAG,CAAC;IAChE,CAAC;IAED,OAAO,CACL,KAAC,QAAQ,IAEP,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CheckboxEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/CheckboxEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,KAAC,OAAO,IAAC,SAAS,EAAC,gCAAgC,GAAG,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;IAEjE,OAAO,CACL,KAAC,QAAQ,IAEP,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,cAAc,EACxB,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/B,KAAK,EAAE,KAAK,CAAC,UAAU;gBACvB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBAC7B,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,IAZI,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAarE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Textarea } from "../../components/ui/textarea";
|
|
4
4
|
import { useEditContext, useEditContextRef, useFieldsEditContextRef, } from "../client/editContext";
|
|
5
5
|
import { useFieldModification } from "../client/fieldModificationStore";
|
|
@@ -7,6 +7,7 @@ import { useSlotContext } from "../views/editorSlotContext";
|
|
|
7
7
|
import { extractPlainTextContext } from "../utils/selectionContext";
|
|
8
8
|
import { useEffect, useRef, useState, useCallback } from "react";
|
|
9
9
|
import { useFormFieldCaretPresence } from "./useFormFieldCaretPresence";
|
|
10
|
+
import { useTextCompletion } from "./useTextCompletion";
|
|
10
11
|
export function MultiLineText({ field, readOnly, updateFieldValue, tabIndex, }) {
|
|
11
12
|
const editContext = useEditContext();
|
|
12
13
|
const slotContext = useSlotContext();
|
|
@@ -22,6 +23,15 @@ export function MultiLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
22
23
|
const [value, setValue] = useState(field.value);
|
|
23
24
|
// Field-specific subscription - only rerenders when THIS field changes
|
|
24
25
|
const { modifiedField } = useFieldModification(field.id, fieldItem.id, fieldItem.language, fieldItem.version, slotContext?.fieldModificationStore);
|
|
26
|
+
const { completion, isLoadingCompletion, clearCompletion, handleCompletionKeyDown, } = useTextCompletion({
|
|
27
|
+
editContext,
|
|
28
|
+
field,
|
|
29
|
+
inputRef,
|
|
30
|
+
readOnly,
|
|
31
|
+
value,
|
|
32
|
+
setValue,
|
|
33
|
+
updateValue: updateFieldValue,
|
|
34
|
+
});
|
|
25
35
|
useEffect(() => {
|
|
26
36
|
if (inputRef.current !== document.activeElement) {
|
|
27
37
|
if (field.isHistoric)
|
|
@@ -80,6 +90,9 @@ export function MultiLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
80
90
|
};
|
|
81
91
|
// Handle keyboard shortcut (Ctrl/Cmd + .) to trigger AI text edit
|
|
82
92
|
const handleKeyDown = useCallback((e) => {
|
|
93
|
+
if (handleCompletionKeyDown(e)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
83
96
|
// Check for Ctrl+. or Cmd+.
|
|
84
97
|
if ((e.ctrlKey || e.metaKey) && e.key === ".") {
|
|
85
98
|
// Allow triggering even without selection - just need to be in this field
|
|
@@ -90,7 +103,7 @@ export function MultiLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
90
103
|
document.dispatchEvent(new CustomEvent("inline-ai-open"));
|
|
91
104
|
}
|
|
92
105
|
}
|
|
93
|
-
}, [editContext, field.id]);
|
|
106
|
+
}, [editContext, field.id, handleCompletionKeyDown]);
|
|
94
107
|
// Restore selection when selectedRange changes externally
|
|
95
108
|
useEffect(() => {
|
|
96
109
|
const focusedField = fieldsContextRef.current?.focusedField;
|
|
@@ -119,10 +132,14 @@ export function MultiLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
119
132
|
}
|
|
120
133
|
}, 500);
|
|
121
134
|
}, [fieldsContextRef.current?.focusedField]);
|
|
122
|
-
return (_jsx(Textarea, { ref: inputRef, value: value, disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 field-sizing-fixed max-h-[400px] min-h-32 w-full resize-y overflow-y-auto p-2 text-xs", rows: 12, onChange: (e) => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
135
|
+
return (_jsxs("div", { className: "relative", children: [_jsx(Textarea, { ref: inputRef, value: value, disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 field-sizing-fixed max-h-[400px] min-h-32 w-full resize-y overflow-y-auto p-2 text-xs", rows: 12, onChange: (e) => {
|
|
136
|
+
setValue(e.target.value);
|
|
137
|
+
updateFieldValue(e.target.value);
|
|
138
|
+
clearCompletion();
|
|
139
|
+
publishCaretPresenceAfterSelectionSettles(e.target);
|
|
140
|
+
}, onBlur: () => {
|
|
141
|
+
clearCaretPresence();
|
|
142
|
+
clearCompletion();
|
|
143
|
+
}, onFocus: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onKeyUp: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onMouseUp: (e) => publishCaretPresence(e.currentTarget), onSelect: handleSelect, onKeyDown: handleKeyDown, tabIndex: tabIndex }, fieldItem.id + field.id + fieldItem.language + fieldItem.version), (completion || isLoadingCompletion) && (_jsx("div", { className: "border-border-default bg-background text-neutral-grey-50 absolute right-2 bottom-2 left-2 z-20 rounded border px-2 py-1 text-xs shadow-sm", children: isLoadingCompletion ? "Completing..." : completion }))] }));
|
|
127
144
|
}
|
|
128
145
|
//# sourceMappingURL=MultiLineText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/MultiLineText.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/MultiLineText.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { extractPlainTextContext } from "../utils/selectionContext";
|
|
|
8
8
|
import { useEffect, useRef, useState, useCallback } from "react";
|
|
9
9
|
import { RefreshCw } from "lucide-react";
|
|
10
10
|
import { useFormFieldCaretPresence } from "./useFormFieldCaretPresence";
|
|
11
|
+
import { useTextCompletion } from "./useTextCompletion";
|
|
11
12
|
export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, }) {
|
|
12
13
|
const editContextRef = useEditContextRef();
|
|
13
14
|
const editContext = useEditContext();
|
|
@@ -27,6 +28,15 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
27
28
|
const [value, setValue] = useState(undefined);
|
|
28
29
|
// Field-specific subscription - only rerenders when THIS field changes
|
|
29
30
|
const { modifiedField } = useFieldModification(field.id, fieldItem.id, fieldItem.language, fieldItem.version, slotContext?.fieldModificationStore);
|
|
31
|
+
const { completion, isLoadingCompletion, clearCompletion, handleCompletionKeyDown, } = useTextCompletion({
|
|
32
|
+
editContext,
|
|
33
|
+
field,
|
|
34
|
+
inputRef,
|
|
35
|
+
readOnly,
|
|
36
|
+
value: value ?? "",
|
|
37
|
+
setValue,
|
|
38
|
+
updateValue: updateFieldValue,
|
|
39
|
+
});
|
|
30
40
|
useEffect(() => {
|
|
31
41
|
if (inputRef.current !== document.activeElement) {
|
|
32
42
|
if (field.isHistoric)
|
|
@@ -47,6 +57,7 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
47
57
|
setValue(newValue);
|
|
48
58
|
updateFieldValue(newValue);
|
|
49
59
|
}
|
|
60
|
+
clearCompletion();
|
|
50
61
|
publishCaretPresenceAfterSelectionSettles(e.target);
|
|
51
62
|
};
|
|
52
63
|
// Create a stable callback for replacing selected text or inserting at cursor
|
|
@@ -94,6 +105,9 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
94
105
|
};
|
|
95
106
|
// Handle keyboard shortcut (Ctrl/Cmd + .) to trigger AI text edit
|
|
96
107
|
const handleKeyDown = useCallback((e) => {
|
|
108
|
+
if (handleCompletionKeyDown(e)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
97
111
|
// Check for Ctrl+. or Cmd+.
|
|
98
112
|
if ((e.ctrlKey || e.metaKey) && e.key === ".") {
|
|
99
113
|
// Allow triggering even without selection - just need to be in this field
|
|
@@ -104,7 +118,7 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
104
118
|
document.dispatchEvent(new CustomEvent("inline-ai-open"));
|
|
105
119
|
}
|
|
106
120
|
}
|
|
107
|
-
}, [editContext, field.id]);
|
|
121
|
+
}, [editContext, field.id, handleCompletionKeyDown]);
|
|
108
122
|
useEffect(() => {
|
|
109
123
|
const focusedField = fieldsContextRef.current?.focusedField;
|
|
110
124
|
if (focusedField?.fieldId === field.id &&
|
|
@@ -158,6 +172,9 @@ export function SingleLineText({ field, readOnly, updateFieldValue, tabIndex, })
|
|
|
158
172
|
}, [fieldsContextRef.current?.focusedField]);
|
|
159
173
|
const customSource = field?.customProperties?.source;
|
|
160
174
|
const isManualRefreshEnabled = typeof customSource === "string" && customSource.includes("manual-refresh");
|
|
161
|
-
return (_jsxs("div", { className: "relative", children: [_jsx(Input, { ref: inputRef, value: value ?? "", disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 w-full p-1.5 pr-7 text-xs", onChange: handleChange, onBlur:
|
|
175
|
+
return (_jsxs("div", { className: "relative", children: [_jsx(Input, { ref: inputRef, value: value ?? "", disabled: readOnly, className: "focus-shadow border-neutral-grey-10 bg-neutral-grey-5 w-full p-1.5 pr-7 text-xs", onChange: handleChange, onBlur: () => {
|
|
176
|
+
clearCaretPresence();
|
|
177
|
+
clearCompletion();
|
|
178
|
+
}, onFocus: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onKeyUp: (e) => publishCaretPresenceAfterSelectionSettles(e.currentTarget), onMouseUp: (e) => publishCaretPresence(e.currentTarget), onSelect: handleSelect, onKeyDown: handleKeyDown, tabIndex: tabIndex }, fieldItem.id + field.id + fieldItem.language + fieldItem.version), isManualRefreshEnabled && (_jsx("button", { type: "button", title: "Re-render", className: "text-neutral-grey-50 hover:text-neutral-grey-100 absolute top-1/2 right-1 -translate-y-1/2 rounded p-1", onClick: () => editContext?.requestRefresh("immediate"), children: _jsx(RefreshCw, { className: "h-4 w-4", strokeWidth: 1 }) })), (completion || isLoadingCompletion) && (_jsx("div", { className: "border-border-default bg-background text-neutral-grey-50 absolute top-full right-0 left-0 z-20 mt-1 rounded border px-2 py-1 text-xs shadow-sm", children: isLoadingCompletion ? "Completing..." : completion }))] }));
|
|
162
179
|
}
|
|
163
180
|
//# sourceMappingURL=SingleLineText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/SingleLineText.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"SingleLineText.js","sourceRoot":"","sources":["../../../src/editor/field-types/SingleLineText.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import { EditContextType } from "../client/editContext";
|
|
3
|
+
import { Field } from "../pageModel";
|
|
4
|
+
type TextCompletionControl = HTMLInputElement | HTMLTextAreaElement;
|
|
5
|
+
type UseTextCompletionOptions = {
|
|
6
|
+
editContext: EditContextType | undefined;
|
|
7
|
+
field: Field;
|
|
8
|
+
inputRef: React.RefObject<TextCompletionControl | null>;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
value: string;
|
|
11
|
+
setValue: (value: string) => void;
|
|
12
|
+
updateValue: (value: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function useTextCompletion({ editContext, field, inputRef, readOnly, value, setValue, updateValue, }: UseTextCompletionOptions): {
|
|
15
|
+
completion: string;
|
|
16
|
+
isLoadingCompletion: boolean;
|
|
17
|
+
clearCompletion: () => void;
|
|
18
|
+
handleCompletionKeyDown: (event: React.KeyboardEvent<TextCompletionControl>) => boolean;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { generatePageContext, getCachedContext, } from "../services/contextService";
|
|
4
|
+
import { post } from "../services/serviceHelper";
|
|
5
|
+
function normalizeCompletion(completion) {
|
|
6
|
+
return (completion || "").replace(/\s+/g, " ").trimStart();
|
|
7
|
+
}
|
|
8
|
+
async function buildCompletionContext(editContext, field, value, selectionStart, selectionEnd) {
|
|
9
|
+
const parts = [];
|
|
10
|
+
const cachedContext = getCachedContext(editContext);
|
|
11
|
+
const activeSlotContext = editContext.getActiveSlotContext?.();
|
|
12
|
+
const pageViewContext = activeSlotContext?.primaryPageViewContext;
|
|
13
|
+
const pageContext = cachedContext ||
|
|
14
|
+
(pageViewContext
|
|
15
|
+
? await generatePageContext(editContext, pageViewContext)
|
|
16
|
+
: null);
|
|
17
|
+
if (pageContext?.abstract) {
|
|
18
|
+
parts.push(`Page context: ${pageContext.abstract}`);
|
|
19
|
+
}
|
|
20
|
+
parts.push(`Field: ${field.displayName || field.name || field.id}`, `Field type: ${field.type}`);
|
|
21
|
+
const beforeCursor = value.slice(Math.max(0, selectionStart - 1000), selectionStart);
|
|
22
|
+
const afterCursor = value.slice(selectionEnd, selectionEnd + 500);
|
|
23
|
+
if (beforeCursor.trim()) {
|
|
24
|
+
parts.push(`Text before cursor: ${beforeCursor}`);
|
|
25
|
+
}
|
|
26
|
+
if (afterCursor.trim()) {
|
|
27
|
+
parts.push(`Text after cursor: ${afterCursor}`);
|
|
28
|
+
}
|
|
29
|
+
return parts.join("\n\n");
|
|
30
|
+
}
|
|
31
|
+
export function useTextCompletion({ editContext, field, inputRef, readOnly, value, setValue, updateValue, }) {
|
|
32
|
+
const [completion, setCompletion] = useState("");
|
|
33
|
+
const [isLoadingCompletion, setIsLoadingCompletion] = useState(false);
|
|
34
|
+
const requestIdRef = useRef(0);
|
|
35
|
+
const abortControllerRef = useRef(null);
|
|
36
|
+
const clearCompletion = useCallback(() => {
|
|
37
|
+
abortControllerRef.current?.abort();
|
|
38
|
+
abortControllerRef.current = null;
|
|
39
|
+
setCompletion("");
|
|
40
|
+
setIsLoadingCompletion(false);
|
|
41
|
+
}, []);
|
|
42
|
+
const applyCompletion = useCallback(() => {
|
|
43
|
+
const input = inputRef.current;
|
|
44
|
+
const normalizedCompletion = normalizeCompletion(completion);
|
|
45
|
+
if (!input || !normalizedCompletion) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const start = input.selectionStart ?? value.length;
|
|
49
|
+
const end = input.selectionEnd ?? start;
|
|
50
|
+
const nextValue = value.slice(0, start) + normalizedCompletion + value.slice(end);
|
|
51
|
+
const nextCursor = start + normalizedCompletion.length;
|
|
52
|
+
setValue(nextValue);
|
|
53
|
+
updateValue(nextValue);
|
|
54
|
+
setCompletion("");
|
|
55
|
+
window.setTimeout(() => {
|
|
56
|
+
input.focus();
|
|
57
|
+
input.setSelectionRange(nextCursor, nextCursor);
|
|
58
|
+
input.dispatchEvent(new Event("select", { bubbles: true }));
|
|
59
|
+
}, 0);
|
|
60
|
+
return true;
|
|
61
|
+
}, [completion, inputRef, setValue, updateValue, value]);
|
|
62
|
+
const requestCompletion = useCallback(async (force = false) => {
|
|
63
|
+
const input = inputRef.current;
|
|
64
|
+
if (!editContext?.enableCompletions || readOnly || !input) {
|
|
65
|
+
clearCompletion();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const selectionStart = input.selectionStart ?? value.length;
|
|
69
|
+
const selectionEnd = input.selectionEnd ?? selectionStart;
|
|
70
|
+
const textToComplete = value.slice(0, selectionStart);
|
|
71
|
+
if (!force && textToComplete.trim().length < 3) {
|
|
72
|
+
clearCompletion();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const requestId = requestIdRef.current + 1;
|
|
76
|
+
requestIdRef.current = requestId;
|
|
77
|
+
abortControllerRef.current?.abort();
|
|
78
|
+
const abortController = new AbortController();
|
|
79
|
+
abortControllerRef.current = abortController;
|
|
80
|
+
setIsLoadingCompletion(true);
|
|
81
|
+
try {
|
|
82
|
+
const contextInfo = await buildCompletionContext(editContext, field, value, selectionStart, selectionEnd);
|
|
83
|
+
const response = await post("/parhelia/agent/GetTextCompletion", {
|
|
84
|
+
textToComplete,
|
|
85
|
+
contextInfo,
|
|
86
|
+
}, undefined, abortController.signal);
|
|
87
|
+
if (requestId !== requestIdRef.current ||
|
|
88
|
+
abortController.signal.aborted) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (response.type === "success") {
|
|
92
|
+
setCompletion(normalizeCompletion(response.data?.completion));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
console.warn("Failed to get text completion", response);
|
|
96
|
+
setCompletion("");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
if (!abortController.signal.aborted) {
|
|
101
|
+
console.warn("Failed to get text completion", error);
|
|
102
|
+
setCompletion("");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (requestId === requestIdRef.current) {
|
|
107
|
+
setIsLoadingCompletion(false);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, [clearCompletion, editContext, field, inputRef, readOnly, value]);
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
const input = inputRef.current;
|
|
113
|
+
if (!editContext?.enableCompletions ||
|
|
114
|
+
readOnly ||
|
|
115
|
+
!input ||
|
|
116
|
+
document.activeElement !== input) {
|
|
117
|
+
clearCompletion();
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const handle = window.setTimeout(() => {
|
|
121
|
+
void requestCompletion(false);
|
|
122
|
+
}, 900);
|
|
123
|
+
return () => window.clearTimeout(handle);
|
|
124
|
+
}, [
|
|
125
|
+
clearCompletion,
|
|
126
|
+
editContext?.enableCompletions,
|
|
127
|
+
inputRef,
|
|
128
|
+
readOnly,
|
|
129
|
+
requestCompletion,
|
|
130
|
+
value,
|
|
131
|
+
]);
|
|
132
|
+
const handleCompletionKeyDown = useCallback((event) => {
|
|
133
|
+
if ((event.ctrlKey || event.metaKey) && event.code === "Space") {
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
void requestCompletion(true);
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
if (event.key === "Tab" && completion) {
|
|
140
|
+
event.preventDefault();
|
|
141
|
+
event.stopPropagation();
|
|
142
|
+
return applyCompletion();
|
|
143
|
+
}
|
|
144
|
+
if (event.key === "Escape" && (completion || isLoadingCompletion)) {
|
|
145
|
+
event.preventDefault();
|
|
146
|
+
event.stopPropagation();
|
|
147
|
+
clearCompletion();
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
}, [
|
|
152
|
+
applyCompletion,
|
|
153
|
+
clearCompletion,
|
|
154
|
+
completion,
|
|
155
|
+
isLoadingCompletion,
|
|
156
|
+
requestCompletion,
|
|
157
|
+
]);
|
|
158
|
+
useEffect(() => () => abortControllerRef.current?.abort(), []);
|
|
159
|
+
return {
|
|
160
|
+
completion,
|
|
161
|
+
isLoadingCompletion,
|
|
162
|
+
clearCompletion,
|
|
163
|
+
handleCompletionKeyDown,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=useTextCompletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTextCompletion.js","sourceRoot":"","sources":["../../../src/editor/field-types/useTextCompletion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Clock3 } from "lucide-react";
|
|
3
2
|
import { useEditContext } from "../client/editContext";
|
|
4
3
|
import { LanguageSelector } from "../../components/ui/LanguageSelector";
|
|
5
4
|
import { PageSelector } from "./PageSelector";
|
|
@@ -10,9 +9,6 @@ import { ItemActionsMenu } from "./ItemActionsMenu";
|
|
|
10
9
|
import { FavoritesControls } from "./FavoritesControls";
|
|
11
10
|
import { PreviewDatePicker } from "./PreviewDatePicker";
|
|
12
11
|
import { pickVersionAtDate } from "../utils/versionAtDate";
|
|
13
|
-
import { Button } from "../../components/ui/button";
|
|
14
|
-
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
15
|
-
import { publishRestrictionsCommand } from "../commands/itemCommands";
|
|
16
12
|
export function ItemLanguageVersion({ hideFavorites = false, hideActions = false, } = {}) {
|
|
17
13
|
const editContext = useEditContext();
|
|
18
14
|
if (!editContext)
|
|
@@ -66,20 +62,13 @@ export function ItemLanguageVersion({ hideFavorites = false, hideActions = false
|
|
|
66
62
|
? pickVersionAtDate(editContext.itemVersions, editContext.previewDate)
|
|
67
63
|
?.version
|
|
68
64
|
: undefined;
|
|
69
|
-
const versionSelector = item ? (_jsx(VersionSelector, { itemDescriptor: item, versions: editContext.itemVersions, actualVersion: previewDateVersion ?? editContext.item?.version, isLoading: isVersionSelectorLoading, showVersionPreviews: hasLayout, previewDateActive: isPreviewDateActive, onVersionSelected: (version) => {
|
|
65
|
+
const versionSelector = item ? (_jsx(VersionSelector, { itemDescriptor: item, versions: editContext.itemVersions, actualVersion: previewDateVersion ?? editContext.item?.version, isLoading: isVersionSelectorLoading, showVersionPreviews: hasLayout, previewDateActive: isPreviewDateActive, publishRestrictionsItem: editContext.item, onVersionSelected: (version) => {
|
|
70
66
|
editContext.setPreviewDate(undefined);
|
|
71
67
|
editContext.loadItem({ ...item, version });
|
|
72
68
|
} })) : null;
|
|
73
|
-
const fullItem = editContext.item;
|
|
74
|
-
const canOpenPublishRestrictions = !!fullItem && fullItem.canWriteItem && fullItem.canWriteLanguage;
|
|
75
|
-
const publishRestrictionsButton = fullItem ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "iconXs", disabled: !canOpenPublishRestrictions, "data-testid": "publish-restrictions-button", "aria-label": "Publish restrictions", onClick: (event) => editContext.executeCommand({
|
|
76
|
-
command: publishRestrictionsCommand,
|
|
77
|
-
data: { items: [fullItem] },
|
|
78
|
-
event,
|
|
79
|
-
}), children: _jsx(Clock3, { className: "h-4 w-4", strokeWidth: 1 }) }) }), _jsx(TooltipContent, { children: "Publish restrictions" })] })) : null;
|
|
80
69
|
if (editContext.isMobile) {
|
|
81
|
-
return (_jsxs("div", { className: "mr-1 flex w-full min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !isCompareMode && languageSelector && (_jsx("div", { className: "flex min-w-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode &&
|
|
70
|
+
return (_jsxs("div", { className: "mr-1 flex w-full min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !isCompareMode && languageSelector && (_jsx("div", { className: "flex min-w-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode && editContext.mode === "preview" && (_jsx("div", { className: "shrink-0", children: _jsx(PreviewDatePicker, {}) }))] }));
|
|
82
71
|
}
|
|
83
|
-
return (_jsxs("div", { className: "mr-3 flex min-w-0 items-center gap-3", "data-testid": "item-language-version-bar", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !hideFavorites && (_jsx("div", { className: "shrink-0", children: _jsx(FavoritesControls, { itemDescriptor: item || null, editContext: editContext }) }))] }), item && !hideActions && (_jsx("div", { className: "shrink-0", children: _jsx(ItemActionsMenu, { isMobile: false }) })), !isCompareMode && languageSelector && (_jsx("div", { className: "shrink-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode &&
|
|
72
|
+
return (_jsxs("div", { className: "mr-3 flex min-w-0 items-center gap-3", "data-testid": "item-language-version-bar", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), !hideFavorites && (_jsx("div", { className: "shrink-0", children: _jsx(FavoritesControls, { itemDescriptor: item || null, editContext: editContext }) }))] }), item && !hideActions && (_jsx("div", { className: "shrink-0", children: _jsx(ItemActionsMenu, { isMobile: false }) })), !isCompareMode && languageSelector && (_jsx("div", { className: "shrink-0", children: languageSelector })), !isCompareMode && versionSelector && (_jsx("div", { className: "shrink-0", children: versionSelector })), !isCompareMode && editContext.mode === "preview" && (_jsx("div", { className: "shrink-0", children: _jsx(PreviewDatePicker, {}) }))] }));
|
|
84
73
|
}
|
|
85
74
|
//# sourceMappingURL=ItemLanguageVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Menubar pill that is visible while long-running operations (publish, import,
|
|
3
|
+
* copy, ...) execute in the background. Shows live progress for each running
|
|
4
|
+
* operation in a popover, plus the most recent completions and failures of
|
|
5
|
+
* this browser session.
|
|
6
|
+
*/
|
|
7
|
+
export declare function OperationsIndicator(): import("react/jsx-runtime").JSX.Element | null;
|