@parhelia/core 0.4.12800 → 0.4.12825
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/AgentsWorkspaceView.d.ts +2 -0
- package/dist/agents-view/AgentsWorkspaceView.js +12 -3
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/WorkspaceHomeView.d.ts +14 -3
- package/dist/components/WorkspaceHomeView.js +7 -4
- package/dist/components/WorkspaceHomeView.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +7 -1
- package/dist/components/ui/dialog.js +6 -3
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.js +40 -6
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts +2 -2
- package/dist/components/ui/tooltip.js +9 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/config/config.js +5 -2
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ConfirmationDialog.d.ts +1 -0
- package/dist/editor/ConfirmationDialog.js +9 -2
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +9 -1
- package/dist/editor/ContentTree.js +50 -23
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldList.js +41 -4
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.js +156 -123
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/LinkEditorDialog.d.ts +3 -0
- package/dist/editor/LinkEditorDialog.js +9 -4
- package/dist/editor/LinkEditorDialog.js.map +1 -1
- package/dist/editor/MainLayout.js +9 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/SetupWizard.js +1 -1
- package/dist/editor/SetupWizard.js.map +1 -1
- package/dist/editor/UsedBy.d.ts +2 -0
- package/dist/editor/UsedBy.js +50 -10
- package/dist/editor/UsedBy.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
- package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
- package/dist/editor/ai/AgentImagePreview.js +41 -0
- package/dist/editor/ai/AgentImagePreview.js.map +1 -0
- package/dist/editor/ai/AgentStatusBadge.js +11 -9
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/Agents.js +2 -2
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
- package/dist/editor/ai/ContentInspectorPopover.js +3 -3
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/MediaImage.js +2 -1
- package/dist/editor/ai/MediaImage.js.map +1 -1
- package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
- package/dist/editor/ai/activityRowNavigation.js +53 -0
- package/dist/editor/ai/activityRowNavigation.js.map +1 -0
- package/dist/editor/ai/agentDiagnostics.d.ts +1 -1
- package/dist/editor/ai/agentDiagnostics.js +8 -0
- package/dist/editor/ai/agentDiagnostics.js.map +1 -1
- package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
- package/dist/editor/ai/agentMessageGrouping.js +2 -13
- package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
- package/dist/editor/ai/agentMessageHelpers.js +21 -1
- package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
- package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionSnapshot.d.ts +15 -0
- package/dist/editor/ai/terminal/agentSessionSnapshot.js +103 -3
- package/dist/editor/ai/terminal/agentSessionSnapshot.js.map +1 -1
- package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
- package/dist/editor/ai/terminal/agentSessionState.js +13 -13
- package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
- package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
- package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
- package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +53 -11
- package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
- package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
- package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
- package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
- package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
- package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +4 -72
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
- package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSkillSettingsSection.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
- package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
- package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
- package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
- package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +20 -16
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +2 -2
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
- package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
- package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
- package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
- package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
- package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
- package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
- package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
- package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
- package/dist/editor/ai/terminal/types.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
- package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentEditorContext.js +13 -3
- package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
- package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js +5 -1
- package/dist/editor/ai/terminal/useAgentOperationHistoryLoader.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js +33 -1
- package/dist/editor/ai/terminal/useAgentOperationSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
- package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
- package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
- package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
- package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentServerReconciler.js +11 -0
- package/dist/editor/ai/terminal/useAgentServerReconciler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
- package/dist/editor/ai/terminal/useAgentSession.js +8 -15
- package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
- package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
- package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
- package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
- package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +24 -7
- package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
- package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +13 -10
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
- package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
- package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
- package/dist/editor/bridge/bridgeKeys.js +8 -0
- package/dist/editor/bridge/bridgeKeys.js.map +1 -0
- package/dist/editor/bridge/linkDownload.d.ts +3 -0
- package/dist/editor/bridge/linkDownload.js +52 -0
- package/dist/editor/bridge/linkDownload.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +39 -0
- package/dist/editor/bridge/protocol.js +3 -1
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +34 -24
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/OperationDialogContent.d.ts +10 -3
- package/dist/editor/client/OperationDialogContent.js +27 -4
- package/dist/editor/client/OperationDialogContent.js.map +1 -1
- package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
- package/dist/editor/client/agentLoadItemPolicy.js +60 -0
- package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
- package/dist/editor/client/editContext.d.ts +16 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +56 -14
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.js +26 -7
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/localUserEditActivity.d.ts +3 -0
- package/dist/editor/client/localUserEditActivity.js +12 -0
- package/dist/editor/client/localUserEditActivity.js.map +1 -0
- package/dist/editor/client/operations.js +60 -15
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/commands/commands.d.ts +6 -0
- package/dist/editor/commands/commands.js.map +1 -1
- package/dist/editor/commands/undo.js +8 -2
- package/dist/editor/commands/undo.js.map +1 -1
- package/dist/editor/componentVisualMode.d.ts +14 -0
- package/dist/editor/componentVisualMode.js +43 -0
- package/dist/editor/componentVisualMode.js.map +1 -0
- package/dist/editor/field-types/ImageFieldEditor.js +1 -1
- package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +29 -46
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +19 -3
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +28 -79
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +67 -10
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
- package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
- package/dist/editor/field-types/richtext/types.d.ts +7 -0
- package/dist/editor/field-types/richtext/types.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
- package/dist/editor/field-types/useFormFieldCaretPresence.js +33 -16
- package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- package/dist/editor/field-types/useTextCompletion.js +13 -3
- package/dist/editor/field-types/useTextCompletion.js.map +1 -1
- package/dist/editor/find-replace/FindReplacePanel.d.ts +11 -0
- package/dist/editor/find-replace/FindReplacePanel.js +311 -0
- package/dist/editor/find-replace/FindReplacePanel.js.map +1 -0
- package/dist/editor/find-replace/findReplaceCommand.d.ts +8 -0
- package/dist/editor/find-replace/findReplaceCommand.js +25 -0
- package/dist/editor/find-replace/findReplaceCommand.js.map +1 -0
- package/dist/editor/find-replace/findReplaceMatches.d.ts +42 -0
- package/dist/editor/find-replace/findReplaceMatches.js +66 -0
- package/dist/editor/find-replace/findReplaceMatches.js.map +1 -0
- package/dist/editor/find-replace/findReplaceStore.d.ts +30 -0
- package/dist/editor/find-replace/findReplaceStore.js +61 -0
- package/dist/editor/find-replace/findReplaceStore.js.map +1 -0
- package/dist/editor/find-replace/findReplaceTargets.d.ts +49 -0
- package/dist/editor/find-replace/findReplaceTargets.js +110 -0
- package/dist/editor/find-replace/findReplaceTargets.js.map +1 -0
- package/dist/editor/find-replace/findReplaceText.d.ts +50 -0
- package/dist/editor/find-replace/findReplaceText.js +189 -0
- package/dist/editor/find-replace/findReplaceText.js.map +1 -0
- package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
- package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
- package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
- package/dist/editor/media-selector/Thumbnails.js +2 -2
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +142 -42
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/media-selector/UploadZone.d.ts +6 -1
- package/dist/editor/media-selector/UploadZone.js +10 -7
- package/dist/editor/media-selector/UploadZone.js.map +1 -1
- package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
- package/dist/editor/media-selector/mediaFileType.js +37 -0
- package/dist/editor/media-selector/mediaFileType.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +1 -1
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
- package/dist/editor/menubar/GenericToolbar.js +2 -2
- package/dist/editor/menubar/GenericToolbar.js.map +1 -1
- package/dist/editor/menubar/ToolbarFactory.js +10 -2
- package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +2 -2
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.d.ts +6 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js +31 -0
- package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/WatchButton.js +11 -4
- package/dist/editor/notifications/WatchButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js +8 -4
- package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +117 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
- package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +3 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +67 -14
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
- package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
- package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
- package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.d.ts +6 -2
- package/dist/editor/page-viewer/MiniMap.js +152 -36
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +225 -32
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.d.ts +6 -0
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js +19 -1
- package/dist/editor/page-viewer/bridgeKeyboardShortcuts.js.map +1 -1
- package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
- package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
- package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
- package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
- package/dist/editor/page-viewer/minimapViewport.js +31 -0
- package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
- package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
- package/dist/editor/page-viewer/pageViewContext.js +10 -4
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/reviews/Comment.js +13 -12
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/CommentEditor.js +58 -19
- package/dist/editor/reviews/CommentEditor.js.map +1 -1
- package/dist/editor/reviews/CommentImageAttachments.d.ts +12 -0
- package/dist/editor/reviews/CommentImageAttachments.js +19 -0
- package/dist/editor/reviews/CommentImageAttachments.js.map +1 -0
- package/dist/editor/reviews/CommentQuote.d.ts +4 -0
- package/dist/editor/reviews/CommentQuote.js +30 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentView.d.ts +2 -3
- package/dist/editor/reviews/CommentView.js +17 -14
- package/dist/editor/reviews/CommentView.js.map +1 -1
- package/dist/editor/reviews/Comments.js +14 -5
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/MentionText.d.ts +5 -1
- package/dist/editor/reviews/MentionText.js +23 -0
- package/dist/editor/reviews/MentionText.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +14 -8
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewersPanel.js +7 -2
- package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +75 -15
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.d.ts +3 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +7 -2
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/commentAgentAttachments.d.ts +5 -0
- package/dist/editor/reviews/commentAgentAttachments.js +51 -0
- package/dist/editor/reviews/commentAgentAttachments.js.map +1 -0
- package/dist/editor/reviews/commentAi.d.ts +29 -3
- package/dist/editor/reviews/commentAi.js +122 -34
- package/dist/editor/reviews/commentAi.js.map +1 -1
- package/dist/editor/reviews/commentImages.d.ts +49 -0
- package/dist/editor/reviews/commentImages.js +164 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/feedbackAvatar.js +11 -5
- package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
- package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
- package/dist/editor/reviews/feedbackCommentRules.js +3 -9
- package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
- package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
- package/dist/editor/reviews/feedbackSelection.js +37 -0
- package/dist/editor/reviews/feedbackSelection.js.map +1 -1
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
- package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
- package/dist/editor/reviews/useCommentImagePaste.d.ts +72 -0
- package/dist/editor/reviews/useCommentImagePaste.js +188 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/services/agentErrorMessage.js +5 -1
- package/dist/editor/services/agentErrorMessage.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +12 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/agentStatus.d.ts +1 -0
- package/dist/editor/services/agentStatus.js +14 -0
- package/dist/editor/services/agentStatus.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +2 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +17 -2
- package/dist/editor/services/editService.js +7 -2
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/searchService.d.ts +2 -1
- package/dist/editor/services/searchService.js +2 -1
- package/dist/editor/services/searchService.js.map +1 -1
- package/dist/editor/services/userResolution.js +6 -5
- package/dist/editor/services/userResolution.js.map +1 -1
- package/dist/editor/settings/index/RecentBatchesList.js +2 -1
- package/dist/editor/settings/index/RecentBatchesList.js.map +1 -1
- package/dist/editor/sidebar/ComponentPalette.js +12 -4
- package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +41 -22
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +2 -2
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/MainContentTree.js +1 -1
- package/dist/editor/sidebar/MainContentTree.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/NavigationPanelMenuItem.js +2 -2
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +2 -1
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/Validation.js +38 -44
- package/dist/editor/sidebar/Validation.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +66 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js +220 -0
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
- package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
- package/dist/editor/ui/ItemCollectionEditor.js +17 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/ItemList.d.ts +5 -0
- package/dist/editor/ui/ItemList.js +10 -2
- package/dist/editor/ui/ItemList.js.map +1 -1
- package/dist/editor/ui/ItemSearch.d.ts +7 -0
- package/dist/editor/ui/ItemSearch.js +14 -6
- package/dist/editor/ui/ItemSearch.js.map +1 -1
- package/dist/editor/ui/ParheliaMark.d.ts +15 -0
- package/dist/editor/ui/ParheliaMark.js +12 -0
- package/dist/editor/ui/ParheliaMark.js.map +1 -0
- package/dist/editor/ui/PublishDialog.js +3 -2
- package/dist/editor/ui/PublishDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.js +58 -3
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +15 -0
- package/dist/editor/ui/Splitter.js +77 -100
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +15 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
- package/dist/editor/ui/WorkboxItemsTable.js +44 -48
- package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
- package/dist/editor/ui/publishReadiness.d.ts +13 -0
- package/dist/editor/ui/publishReadiness.js +56 -0
- package/dist/editor/ui/publishReadiness.js.map +1 -1
- package/dist/editor/undoEligibility.d.ts +2 -0
- package/dist/editor/undoEligibility.js +8 -0
- package/dist/editor/undoEligibility.js.map +1 -0
- package/dist/editor/utils/keyboardNavigation.js +16 -0
- package/dist/editor/utils/keyboardNavigation.js.map +1 -1
- package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
- package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
- package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
- package/dist/editor/validation/navigateToValidationIssue.js +43 -0
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
- package/dist/editor/validation/validationFixAgent.d.ts +26 -0
- package/dist/editor/validation/validationFixAgent.js +124 -0
- package/dist/editor/validation/validationFixAgent.js.map +1 -0
- package/dist/editor/validation/validationSeverity.d.ts +15 -0
- package/dist/editor/validation/validationSeverity.js +47 -0
- package/dist/editor/validation/validationSeverity.js.map +1 -0
- package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
- package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
- package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
- package/dist/editor/version-diff/versionDiffTargets.js +5 -5
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/editorSlotContext.d.ts +4 -0
- package/dist/editor/views/editorSlotContext.js +37 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +7 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.js +10 -8
- package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +35 -20
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +243 -81
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/AttentionPromptDialog.d.ts +13 -0
- package/dist/task-board/components/AttentionPromptDialog.js +45 -0
- package/dist/task-board/components/AttentionPromptDialog.js.map +1 -0
- package/dist/task-board/components/CommentsList.js +11 -11
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/GoalDataView.d.ts +53 -1
- package/dist/task-board/components/GoalDataView.js +164 -55
- package/dist/task-board/components/GoalDataView.js.map +1 -1
- package/dist/task-board/components/GoalFindingsTable.d.ts +43 -0
- package/dist/task-board/components/GoalFindingsTable.js +160 -0
- package/dist/task-board/components/GoalFindingsTable.js.map +1 -0
- package/dist/task-board/components/GoalsMatrix.js +33 -6
- package/dist/task-board/components/GoalsMatrix.js.map +1 -1
- package/dist/task-board/components/IssuePanel.d.ts +31 -0
- package/dist/task-board/components/IssuePanel.js +268 -0
- package/dist/task-board/components/IssuePanel.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
- package/dist/task-board/components/ProjectDashboard.js +2 -206
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectGoalsPanel.js +173 -15
- package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
- package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
- package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
- package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
- package/dist/task-board/components/SubgoalFindings.d.ts +40 -0
- package/dist/task-board/components/SubgoalFindings.js +88 -0
- package/dist/task-board/components/SubgoalFindings.js.map +1 -0
- package/dist/task-board/components/TaskAgentPanel.d.ts +2 -0
- package/dist/task-board/components/TaskAgentPanel.js +5 -4
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
- package/dist/task-board/components/TaskBoardHomeView.js +40 -2
- package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
- package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
- package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +58 -23
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationCenter.d.ts +2 -0
- package/dist/task-board/components/WizardCommunicationCenter.js +5 -3
- package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
- package/dist/task-board/components/WizardCommunicationShared.js +2 -1
- package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
- package/dist/task-board/components/WizardTask.d.ts +2 -0
- package/dist/task-board/components/WizardTask.js +2 -2
- package/dist/task-board/components/WizardTask.js.map +1 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +4 -0
- package/dist/task-board/components/WizardTaskDetailsPanel.js +16 -3
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/components/commentAuthor.d.ts +14 -0
- package/dist/task-board/components/commentAuthor.js +25 -0
- package/dist/task-board/components/commentAuthor.js.map +1 -0
- package/dist/task-board/services/issueService.d.ts +193 -0
- package/dist/task-board/services/issueService.js +97 -0
- package/dist/task-board/services/issueService.js.map +1 -0
- package/dist/task-board/taskBoardNavStore.d.ts +6 -0
- package/dist/task-board/taskBoardNavStore.js +36 -1
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/task-board/types.d.ts +28 -0
- package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
- package/dist/task-board/utils/projectDashboardModel.js +363 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
- package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
- package/dist/task-board/views/DependencyGraphView.js +58 -19
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
- package/dist/task-board/views/ProjectDashboardView.js +316 -0
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
- package/dist/tour/Tour.js +21 -2
- package/dist/tour/Tour.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/images/Parhelia-Onboarding-Beach.jpg +0 -0
- package/package.json +1 -1
- package/styles.css +57 -3
- package/images/Parhelia-Onboarding-BG.jpg +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
export type Issue = {
|
|
2
|
+
issueId: string;
|
|
3
|
+
goalId: string;
|
|
4
|
+
subgoalId?: string;
|
|
5
|
+
version: string;
|
|
6
|
+
title: string;
|
|
7
|
+
suggestion?: string;
|
|
8
|
+
subjectType: string;
|
|
9
|
+
subjectKey: string;
|
|
10
|
+
subjectLabel?: string;
|
|
11
|
+
targetItemId?: string;
|
|
12
|
+
language?: string;
|
|
13
|
+
categoryKey: string;
|
|
14
|
+
categoryTitle?: string;
|
|
15
|
+
severity: string;
|
|
16
|
+
disposition: string;
|
|
17
|
+
resolutionMode: string;
|
|
18
|
+
closureBasis?: string;
|
|
19
|
+
closureReason?: string;
|
|
20
|
+
needsHumanReview: boolean;
|
|
21
|
+
reviewReason?: string;
|
|
22
|
+
evidence?: unknown;
|
|
23
|
+
location?: unknown;
|
|
24
|
+
taskLinks: {
|
|
25
|
+
taskId?: string;
|
|
26
|
+
originalTaskId: string;
|
|
27
|
+
taskTitle: string;
|
|
28
|
+
taskStatus?: string;
|
|
29
|
+
active: boolean;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
export type IssueSummary = {
|
|
33
|
+
total: number;
|
|
34
|
+
open: number;
|
|
35
|
+
awaitingConfirmation: number;
|
|
36
|
+
resolved: number;
|
|
37
|
+
dismissed: number;
|
|
38
|
+
needsHumanReview: number;
|
|
39
|
+
subjectsWithUnresolvedIssues: number;
|
|
40
|
+
unresolvedBySeverity: Record<string, number>;
|
|
41
|
+
};
|
|
42
|
+
export type IssueList = {
|
|
43
|
+
issues: Issue[];
|
|
44
|
+
totals: IssueSummary;
|
|
45
|
+
filteredTotals: IssueSummary;
|
|
46
|
+
issueRevision: number;
|
|
47
|
+
hasMore: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* SQL read consistency. `false` means the rows and totals may come from
|
|
50
|
+
* different revisions because issues were changing during the read; the
|
|
51
|
+
* service already retried with backoff before handing such a result out.
|
|
52
|
+
*/
|
|
53
|
+
consistent?: boolean;
|
|
54
|
+
};
|
|
55
|
+
export type IssueFilter = {
|
|
56
|
+
goalId: string;
|
|
57
|
+
disposition?: string;
|
|
58
|
+
severity?: string;
|
|
59
|
+
categoryKey?: string;
|
|
60
|
+
search?: string;
|
|
61
|
+
page?: number;
|
|
62
|
+
limit?: number;
|
|
63
|
+
};
|
|
64
|
+
export type IssueSelection = {
|
|
65
|
+
issueId: string;
|
|
66
|
+
version: string;
|
|
67
|
+
};
|
|
68
|
+
export type IssueTaskBundle = {
|
|
69
|
+
title: string;
|
|
70
|
+
description?: string;
|
|
71
|
+
priority: string;
|
|
72
|
+
issues: IssueSelection[];
|
|
73
|
+
};
|
|
74
|
+
export type IssueHistory = {
|
|
75
|
+
historyId: string;
|
|
76
|
+
action: string;
|
|
77
|
+
disposition: string;
|
|
78
|
+
basis?: string;
|
|
79
|
+
reason?: string;
|
|
80
|
+
actor: string;
|
|
81
|
+
createdAt: string;
|
|
82
|
+
};
|
|
83
|
+
/** Fields accepted by createIssues (server: NewIssue). */
|
|
84
|
+
export type NewIssue = {
|
|
85
|
+
subgoalId?: string;
|
|
86
|
+
subjectType: "Local" | "SitecoreItem";
|
|
87
|
+
subjectKey?: string;
|
|
88
|
+
subjectLabel?: string;
|
|
89
|
+
targetItemId?: string;
|
|
90
|
+
language?: string;
|
|
91
|
+
categoryKey?: string;
|
|
92
|
+
categoryTitle?: string;
|
|
93
|
+
occurrenceKey?: string;
|
|
94
|
+
severity?: string;
|
|
95
|
+
title: string;
|
|
96
|
+
suggestion?: string;
|
|
97
|
+
needsHumanReview?: boolean;
|
|
98
|
+
reviewReason?: string;
|
|
99
|
+
};
|
|
100
|
+
export type QaDomain = {
|
|
101
|
+
checkKey: string;
|
|
102
|
+
subgoalId?: string;
|
|
103
|
+
};
|
|
104
|
+
export type QaCheck = {
|
|
105
|
+
checkKey: string;
|
|
106
|
+
subgoalId?: string;
|
|
107
|
+
domainKey: string;
|
|
108
|
+
generation: number;
|
|
109
|
+
fingerprint: string;
|
|
110
|
+
state: string;
|
|
111
|
+
outcome?: string;
|
|
112
|
+
reason?: string;
|
|
113
|
+
definitionStatus: string;
|
|
114
|
+
diagnostics?: string[];
|
|
115
|
+
subjectLabel: string;
|
|
116
|
+
inputs?: {
|
|
117
|
+
rootId?: string;
|
|
118
|
+
language?: string;
|
|
119
|
+
sourceLanguage?: string;
|
|
120
|
+
};
|
|
121
|
+
beganAt?: string;
|
|
122
|
+
beganBy?: string;
|
|
123
|
+
beganByAgentId?: string;
|
|
124
|
+
reportedAt?: string;
|
|
125
|
+
reportedBy?: string;
|
|
126
|
+
abandonedAt?: string;
|
|
127
|
+
abandonedBy?: string;
|
|
128
|
+
abandonReason?: string;
|
|
129
|
+
definition: {
|
|
130
|
+
title: string;
|
|
131
|
+
kind: string;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
export type QaCheckList = {
|
|
135
|
+
checks: QaCheck[];
|
|
136
|
+
hasMore: boolean;
|
|
137
|
+
configurationFingerprint?: string;
|
|
138
|
+
warnings?: string[];
|
|
139
|
+
consistent?: boolean;
|
|
140
|
+
issueRevision?: number;
|
|
141
|
+
};
|
|
142
|
+
export type IssueConflict = {
|
|
143
|
+
code: string;
|
|
144
|
+
message?: string;
|
|
145
|
+
issues: Issue[];
|
|
146
|
+
currentGeneration?: number;
|
|
147
|
+
domain?: QaDomain;
|
|
148
|
+
domainKey?: string;
|
|
149
|
+
};
|
|
150
|
+
export declare class IssueRequestError extends Error {
|
|
151
|
+
conflict?: IssueConflict | undefined;
|
|
152
|
+
status?: number | undefined;
|
|
153
|
+
constructor(message: string, conflict?: IssueConflict | undefined, status?: number | undefined);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Backoff for reads that report `consistent=false` and for exports refused
|
|
157
|
+
* with 503. Tests shorten it; production keeps 500 ms, 1 s, 2 s.
|
|
158
|
+
*/
|
|
159
|
+
export declare let consistencyBackoffMs: number[];
|
|
160
|
+
export declare const setConsistencyBackoff: (delays: number[]) => void;
|
|
161
|
+
export declare const issueQuery: (query: IssueFilter) => string;
|
|
162
|
+
export declare const listIssues: (query: IssueFilter) => Promise<IssueList>;
|
|
163
|
+
export declare const createIssues: (goalId: string, issues: NewIssue[]) => Promise<{
|
|
164
|
+
issues: Issue[];
|
|
165
|
+
}>;
|
|
166
|
+
export declare const updateIssues: (issues: IssueSelection[], action: string, reason?: string) => Promise<{
|
|
167
|
+
issues: Issue[];
|
|
168
|
+
}>;
|
|
169
|
+
export declare const issueHistory: (issueId: string) => Promise<{
|
|
170
|
+
history: IssueHistory[];
|
|
171
|
+
}>;
|
|
172
|
+
export declare const createIssueTasks: (goalId: string, operationKey: string, bundles: IssueTaskBundle[], dryRun: boolean) => Promise<{
|
|
173
|
+
tasks: {
|
|
174
|
+
taskId: string;
|
|
175
|
+
title: string;
|
|
176
|
+
}[];
|
|
177
|
+
bundles: IssueTaskBundle[];
|
|
178
|
+
}>;
|
|
179
|
+
export declare const listQaChecks: (goalId: string, page?: number) => Promise<QaCheckList>;
|
|
180
|
+
/**
|
|
181
|
+
* Marks a running generation as abandoned (terminal; no new generation is
|
|
182
|
+
* started). Only the current generation can be abandoned and a later report
|
|
183
|
+
* against it is refused with GenerationAbandoned.
|
|
184
|
+
*/
|
|
185
|
+
export declare const abandonQaCheck: (goalId: string, domain: QaDomain, generation: number, reason: string) => Promise<{
|
|
186
|
+
check: QaCheck;
|
|
187
|
+
}>;
|
|
188
|
+
/**
|
|
189
|
+
* Downloads the CSV export. The server refuses to emit mixed data with 503
|
|
190
|
+
* while issues are changing; the download is retried three times before the
|
|
191
|
+
* error reaches the caller.
|
|
192
|
+
*/
|
|
193
|
+
export declare const exportIssues: (query: IssueFilter) => Promise<string>;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { get, post, } from "../../editor/services/serviceHelper";
|
|
2
|
+
export class IssueRequestError extends Error {
|
|
3
|
+
conflict;
|
|
4
|
+
status;
|
|
5
|
+
constructor(message, conflict, status) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.conflict = conflict;
|
|
8
|
+
this.status = status;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
async function unwrap(result) {
|
|
12
|
+
if (result.type === "success" && result.data !== undefined)
|
|
13
|
+
return result.data;
|
|
14
|
+
let conflict;
|
|
15
|
+
try {
|
|
16
|
+
conflict = JSON.parse(result.rawDetails || result.details || "{}").conflict;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
/* Non-JSON server errors retain their message. */
|
|
20
|
+
}
|
|
21
|
+
throw new IssueRequestError(conflict?.message || result.summary || "Issue request failed", conflict, result.response?.status);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Backoff for reads that report `consistent=false` and for exports refused
|
|
25
|
+
* with 503. Tests shorten it; production keeps 500 ms, 1 s, 2 s.
|
|
26
|
+
*/
|
|
27
|
+
export let consistencyBackoffMs = [500, 1000, 2000];
|
|
28
|
+
export const setConsistencyBackoff = (delays) => {
|
|
29
|
+
consistencyBackoffMs = delays;
|
|
30
|
+
};
|
|
31
|
+
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
32
|
+
/**
|
|
33
|
+
* Reads again while the server reports an inconsistent result, then returns
|
|
34
|
+
* the last result as is (still flagged) so the caller can say that counts are
|
|
35
|
+
* changing. A later goal:changed is never relied on to repair the view.
|
|
36
|
+
*/
|
|
37
|
+
async function consistentRead(read) {
|
|
38
|
+
let result = await read();
|
|
39
|
+
for (const delay of consistencyBackoffMs) {
|
|
40
|
+
if (result.consistent !== false)
|
|
41
|
+
break;
|
|
42
|
+
await wait(delay);
|
|
43
|
+
result = await read();
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
export const issueQuery = (query) => new URLSearchParams(Object.entries(query)
|
|
48
|
+
.filter(([, value]) => value !== undefined && value !== "")
|
|
49
|
+
.map(([key, value]) => [key, String(value)])).toString();
|
|
50
|
+
export const listIssues = (query) => consistentRead(async () => unwrap(await get(`/parhelia/tasks/listIssues?${issueQuery(query)}`)));
|
|
51
|
+
export const createIssues = async (goalId, issues) => unwrap(await post("/parhelia/tasks/createIssues", {
|
|
52
|
+
goalId,
|
|
53
|
+
issues,
|
|
54
|
+
}));
|
|
55
|
+
export const updateIssues = async (issues, action, reason) => unwrap(await post("/parhelia/tasks/updateIssues", {
|
|
56
|
+
issues,
|
|
57
|
+
action,
|
|
58
|
+
reason,
|
|
59
|
+
}));
|
|
60
|
+
export const issueHistory = async (issueId) => unwrap(await get(`/parhelia/tasks/issueHistory?issueId=${encodeURIComponent(issueId)}`));
|
|
61
|
+
export const createIssueTasks = async (goalId, operationKey, bundles, dryRun) => unwrap(await post("/parhelia/tasks/createIssueTasks", {
|
|
62
|
+
goalId,
|
|
63
|
+
operationKey,
|
|
64
|
+
bundles,
|
|
65
|
+
dryRun,
|
|
66
|
+
}));
|
|
67
|
+
export const listQaChecks = (goalId, page = 1) => consistentRead(async () => unwrap(await get(`/parhelia/tasks/listQaChecks?goalId=${encodeURIComponent(goalId)}&page=${page}&limit=100`)));
|
|
68
|
+
/**
|
|
69
|
+
* Marks a running generation as abandoned (terminal; no new generation is
|
|
70
|
+
* started). Only the current generation can be abandoned and a later report
|
|
71
|
+
* against it is refused with GenerationAbandoned.
|
|
72
|
+
*/
|
|
73
|
+
export const abandonQaCheck = async (goalId, domain, generation, reason) => unwrap(await post("/parhelia/tasks/abandonQaCheck", {
|
|
74
|
+
goalId,
|
|
75
|
+
domain,
|
|
76
|
+
generation,
|
|
77
|
+
reason,
|
|
78
|
+
}));
|
|
79
|
+
/**
|
|
80
|
+
* Downloads the CSV export. The server refuses to emit mixed data with 503
|
|
81
|
+
* while issues are changing; the download is retried three times before the
|
|
82
|
+
* error reaches the caller.
|
|
83
|
+
*/
|
|
84
|
+
export const exportIssues = async (query) => {
|
|
85
|
+
const url = `/parhelia/tasks/exportIssues?${issueQuery(query)}`;
|
|
86
|
+
let attempt = 0;
|
|
87
|
+
for (;;) {
|
|
88
|
+
const result = await get(url);
|
|
89
|
+
if (result.type === "success")
|
|
90
|
+
return result.response.text();
|
|
91
|
+
if (result.response?.status !== 503 || attempt >= 3)
|
|
92
|
+
throw new IssueRequestError(result.details || result.summary || "Export failed", undefined, result.response?.status);
|
|
93
|
+
await wait(consistencyBackoffMs[attempt] ?? 2000);
|
|
94
|
+
attempt++;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=issueService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issueService.js","sourceRoot":"","sources":["../../../src/task-board/services/issueService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { ProjectOverviewSummary } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* The project the user last worked on. Persisted so re-entering the
|
|
4
|
+
* workspace after a full page load (no in-memory return state, no tb* URL
|
|
5
|
+
* params) reopens that project instead of the empty home view.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TASKBOARD_LAST_PROJECT_STORAGE_KEY = "taskboard.lastProjectId";
|
|
2
8
|
export type TaskBoardProjectOption = {
|
|
3
9
|
projectId: string;
|
|
4
10
|
parentProjectId?: string | null;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { localStorageService } from "../editor/services/localStorageService";
|
|
2
|
+
/**
|
|
3
|
+
* The project the user last worked on. Persisted so re-entering the
|
|
4
|
+
* workspace after a full page load (no in-memory return state, no tb* URL
|
|
5
|
+
* params) reopens that project instead of the empty home view.
|
|
6
|
+
*/
|
|
7
|
+
export const TASKBOARD_LAST_PROJECT_STORAGE_KEY = "taskboard.lastProjectId";
|
|
1
8
|
const defaultState = {
|
|
2
9
|
projectTitle: "Tasks",
|
|
3
10
|
projectSubtitle: "Select a project to get started",
|
|
@@ -36,6 +43,10 @@ const defaultReturnState = {
|
|
|
36
43
|
};
|
|
37
44
|
let state = defaultState;
|
|
38
45
|
let returnState = defaultReturnState;
|
|
46
|
+
// Whether the in-memory return state has been written since the last reset.
|
|
47
|
+
// Until then the persisted last project is the best guess; afterwards the
|
|
48
|
+
// in-memory value wins so an explicit deselection stays deselected.
|
|
49
|
+
let returnStateTouched = false;
|
|
39
50
|
const listeners = new Set();
|
|
40
51
|
function emit() {
|
|
41
52
|
listeners.forEach((listener) => listener());
|
|
@@ -70,6 +81,19 @@ function persistTaskBoardReturnState(partial) {
|
|
|
70
81
|
selectedTaskId,
|
|
71
82
|
activeTab,
|
|
72
83
|
};
|
|
84
|
+
returnStateTouched = true;
|
|
85
|
+
if (hasProject) {
|
|
86
|
+
if (selectedProjectId) {
|
|
87
|
+
localStorageService.setString(TASKBOARD_LAST_PROJECT_STORAGE_KEY, selectedProjectId);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
localStorageService.removeItem(TASKBOARD_LAST_PROJECT_STORAGE_KEY);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function getPersistedLastProjectId() {
|
|
95
|
+
const stored = localStorageService.getString(TASKBOARD_LAST_PROJECT_STORAGE_KEY);
|
|
96
|
+
return stored && stored.trim().length > 0 ? stored : null;
|
|
73
97
|
}
|
|
74
98
|
export function subscribeTaskBoardNav(listener) {
|
|
75
99
|
listeners.add(listener);
|
|
@@ -88,9 +112,20 @@ export function resetTaskBoardNavState() {
|
|
|
88
112
|
emit();
|
|
89
113
|
}
|
|
90
114
|
export function getTaskBoardReturnState() {
|
|
91
|
-
|
|
115
|
+
if (returnStateTouched)
|
|
116
|
+
return returnState;
|
|
117
|
+
const persistedProjectId = getPersistedLastProjectId();
|
|
118
|
+
if (!persistedProjectId)
|
|
119
|
+
return returnState;
|
|
120
|
+
return {
|
|
121
|
+
...returnState,
|
|
122
|
+
selectedProjectId: persistedProjectId,
|
|
123
|
+
selectedTaskId: null,
|
|
124
|
+
};
|
|
92
125
|
}
|
|
93
126
|
export function resetTaskBoardReturnState() {
|
|
94
127
|
returnState = defaultReturnState;
|
|
128
|
+
returnStateTouched = false;
|
|
129
|
+
localStorageService.removeItem(TASKBOARD_LAST_PROJECT_STORAGE_KEY);
|
|
95
130
|
}
|
|
96
131
|
//# sourceMappingURL=taskBoardNavStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskBoardNavStore.js","sourceRoot":"","sources":["../../src/task-board/taskBoardNavStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taskBoardNavStore.js","sourceRoot":"","sources":["../../src/task-board/taskBoardNavStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,7 @@ export type GoalCoverage = {
|
|
|
73
73
|
percent?: number | null;
|
|
74
74
|
};
|
|
75
75
|
export type Subgoal = {
|
|
76
|
+
issueSummary?: import("./services/issueService").IssueSummary;
|
|
76
77
|
subgoalId: string;
|
|
77
78
|
goalId: string;
|
|
78
79
|
title: string;
|
|
@@ -91,6 +92,15 @@ export type Subgoal = {
|
|
|
91
92
|
updatedAt: string;
|
|
92
93
|
};
|
|
93
94
|
export type Goal = {
|
|
95
|
+
issuesEnabled?: boolean;
|
|
96
|
+
issueActionsEnabled?: boolean;
|
|
97
|
+
qaChecksEnabled?: boolean;
|
|
98
|
+
issueRevision?: number;
|
|
99
|
+
issueSummary?: import("./services/issueService").IssueSummary;
|
|
100
|
+
/** False when the issue counts were read while issues were changing; the workspace retries with backoff. */
|
|
101
|
+
issueSummaryConsistent?: boolean;
|
|
102
|
+
/** Declared evaluation scope (any JSON object); QA reads `{ rootId, language, sourceLanguage }` from it. */
|
|
103
|
+
targetScope?: unknown;
|
|
94
104
|
goalId: string;
|
|
95
105
|
projectId: string;
|
|
96
106
|
title: string;
|
|
@@ -111,6 +121,20 @@ export type Goal = {
|
|
|
111
121
|
};
|
|
112
122
|
/** A predefined goal definition (catalog entry) declared by the project's template. */
|
|
113
123
|
export type GoalDefinition = {
|
|
124
|
+
issues?: {
|
|
125
|
+
enabled: boolean;
|
|
126
|
+
title: string;
|
|
127
|
+
resolutionMode: string;
|
|
128
|
+
defaultSeverity: string;
|
|
129
|
+
};
|
|
130
|
+
issueActions?: {
|
|
131
|
+
enabled: boolean;
|
|
132
|
+
};
|
|
133
|
+
qaChecks?: {
|
|
134
|
+
key: string;
|
|
135
|
+
disabled: boolean;
|
|
136
|
+
}[];
|
|
137
|
+
issueConfigurationError?: string;
|
|
114
138
|
id: string;
|
|
115
139
|
title: string;
|
|
116
140
|
description?: string | null;
|
|
@@ -318,6 +342,10 @@ export type TaskComment = {
|
|
|
318
342
|
text: string;
|
|
319
343
|
author: string;
|
|
320
344
|
authorDisplayName?: string | null;
|
|
345
|
+
/** "User" or "Agent"; missing or null on older rows and means User. */
|
|
346
|
+
authorType?: "User" | "Agent" | string | null;
|
|
347
|
+
/** The agent that wrote the comment on behalf of `author`, when authorType is Agent. */
|
|
348
|
+
authorAgentId?: string | null;
|
|
321
349
|
createdAt: string;
|
|
322
350
|
};
|
|
323
351
|
export type TaskDependencyType = "BlockedBy" | "RelatedTo";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { GoalDisplaySpec } from "../components/goalDisplaySpec";
|
|
2
|
+
import type { Goal, TaskItem } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* The dashboard reduces the fifteen execution states to four buckets that a
|
|
5
|
+
* project owner acts on differently: nothing (done), watch (running), act
|
|
6
|
+
* (attention) or wait (open, which includes blocked and unassigned work).
|
|
7
|
+
*/
|
|
8
|
+
export type DashboardTaskBucket = "done" | "running" | "attention" | "open";
|
|
9
|
+
export declare function getDashboardTaskBucket(task: TaskItem): DashboardTaskBucket;
|
|
10
|
+
export declare function isFailedTask(task: TaskItem): boolean;
|
|
11
|
+
export type DashboardPhase = "empty" | "finished" | "running" | "attention" | "idle";
|
|
12
|
+
export type DashboardStatusSummary = {
|
|
13
|
+
total: number;
|
|
14
|
+
done: number;
|
|
15
|
+
running: number;
|
|
16
|
+
attention: number;
|
|
17
|
+
failed: number;
|
|
18
|
+
open: number;
|
|
19
|
+
phase: DashboardPhase;
|
|
20
|
+
/** Short lead ("Running.") shown in bold. */
|
|
21
|
+
headline: string;
|
|
22
|
+
/** Plain-language sentence(s) after the headline. */
|
|
23
|
+
detail: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function buildDashboardStatusSummary(tasks: TaskItem[]): DashboardStatusSummary;
|
|
26
|
+
export type DashboardAttentionAction = "Review" | "Answer" | "Open";
|
|
27
|
+
export type DashboardAttentionEntry = {
|
|
28
|
+
task: TaskItem;
|
|
29
|
+
/** What the task needs from the user, in plain words. */
|
|
30
|
+
description: string;
|
|
31
|
+
action: DashboardAttentionAction;
|
|
32
|
+
};
|
|
33
|
+
export declare function describeAttention(task: TaskItem): {
|
|
34
|
+
description: string;
|
|
35
|
+
action: DashboardAttentionAction;
|
|
36
|
+
};
|
|
37
|
+
export declare function listAttentionTasks(tasks: TaskItem[]): DashboardAttentionEntry[];
|
|
38
|
+
export declare function listRunningTasks(tasks: TaskItem[]): TaskItem[];
|
|
39
|
+
/** Row label for the pipeline; null means the row shows no status text. */
|
|
40
|
+
export declare function getDashboardTaskStatusLabel(task: TaskItem, isBlocked: boolean): string | null;
|
|
41
|
+
/** Wall-clock duration of a finished execution, or null when unknown. */
|
|
42
|
+
export declare function getTaskDurationMs(task: TaskItem): number | null;
|
|
43
|
+
/** Time since the execution started, or null when the task never started. */
|
|
44
|
+
export declare function getTaskElapsedMs(task: TaskItem, now: number): number | null;
|
|
45
|
+
export declare function formatDurationShort(ms: number): string;
|
|
46
|
+
/** Earliest execution start across the run, or null when nothing started. */
|
|
47
|
+
export declare function getRunStartedAt(tasks: TaskItem[]): number | null;
|
|
48
|
+
export type DashboardTile = {
|
|
49
|
+
key: string;
|
|
50
|
+
label: string;
|
|
51
|
+
value: string;
|
|
52
|
+
suffix?: string;
|
|
53
|
+
/** Muted trailing text under the value. */
|
|
54
|
+
detail?: string;
|
|
55
|
+
/** Emphasised (red) lead-in for `detail`, e.g. "9 high". */
|
|
56
|
+
emphasis?: string;
|
|
57
|
+
/** 0..100 progress bar under the value. */
|
|
58
|
+
progress?: number | null;
|
|
59
|
+
tone?: "ok" | "neutral";
|
|
60
|
+
};
|
|
61
|
+
export declare const MAX_GOAL_TILES = 4;
|
|
62
|
+
export declare function readGoalSummary(goal: Goal): string | null;
|
|
63
|
+
/**
|
|
64
|
+
* Turns the generic goal widgets (coverage, score, severity counts, metrics)
|
|
65
|
+
* into at most four figures. The goal template's display spec decides the
|
|
66
|
+
* order, so no project type needs its own dashboard code.
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildGoalTiles(goal: Goal, spec: GoalDisplaySpec | null): DashboardTile[];
|