@parhelia/core 0.3.12832 → 0.3.12833
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/components/emoji/EmojiPicker.d.ts +18 -0
- package/dist/components/emoji/EmojiPicker.js +102 -0
- package/dist/components/emoji/EmojiPicker.js.map +1 -0
- package/dist/components/emoji/EmojiText.d.ts +19 -0
- package/dist/components/emoji/EmojiText.js +30 -0
- package/dist/components/emoji/EmojiText.js.map +1 -0
- package/dist/components/emoji/emojiData.generated.d.ts +2 -0
- package/dist/components/emoji/emojiData.generated.js +1878 -0
- package/dist/components/emoji/emojiData.generated.js.map +1 -0
- package/dist/components/emoji/emojiIndex.d.ts +46 -0
- package/dist/components/emoji/emojiIndex.js +173 -0
- package/dist/components/emoji/emojiIndex.js.map +1 -0
- package/dist/components/emoji/emoticons.d.ts +21 -0
- package/dist/components/emoji/emoticons.js +167 -0
- package/dist/components/emoji/emoticons.js.map +1 -0
- package/dist/components/emoji/textareaInsert.d.ts +19 -0
- package/dist/components/emoji/textareaInsert.js +29 -0
- package/dist/components/emoji/textareaInsert.js.map +1 -0
- package/dist/components/emoji/twemoji.d.ts +30 -0
- package/dist/components/emoji/twemoji.js +84 -0
- package/dist/components/emoji/twemoji.js.map +1 -0
- package/dist/editor/agent-changes/agentChangeTargets.js +6 -0
- package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -1
- package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +48 -4
- package/dist/editor/agent-changes/agentChangeTextHighlight.js +67 -9
- package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -1
- 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/terminal/components/CreateItemToolCallContent.js +1 -1
- package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +1 -2
- package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
- package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
- package/dist/editor/ai/terminal/toolCallDiagnostics.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/client/clipboardStorage.d.ts +10 -0
- package/dist/editor/client/clipboardStorage.js +57 -0
- package/dist/editor/client/clipboardStorage.js.map +1 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
- package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
- package/dist/editor/client/liveEditState.d.ts +16 -0
- package/dist/editor/client/liveEditState.js +25 -0
- package/dist/editor/client/liveEditState.js.map +1 -0
- package/dist/editor/client/liveSessionState.d.ts +6 -0
- package/dist/editor/client/liveSessionState.js +20 -0
- package/dist/editor/client/liveSessionState.js.map +1 -0
- package/dist/editor/client/valueStore.d.ts +22 -0
- package/dist/editor/client/valueStore.js +29 -0
- package/dist/editor/client/valueStore.js.map +1 -0
- package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
- package/dist/editor/commands/componentClipboardCommands.js +271 -0
- package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
- package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
- package/dist/editor/commands/componentMenuGroups.js +43 -0
- package/dist/editor/commands/componentMenuGroups.js.map +1 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
- package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
- package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
- package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
- package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
- package/dist/editor/component-conversion/conversionModel.js +519 -0
- package/dist/editor/component-conversion/conversionModel.js.map +1 -0
- package/dist/editor/component-conversion/conversionService.d.ts +12 -0
- package/dist/editor/component-conversion/conversionService.js +16 -0
- package/dist/editor/component-conversion/conversionService.js.map +1 -0
- package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
- package/dist/editor/component-conversion/conversionTypes.js +2 -0
- package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
- package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
- package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
- package/dist/editor/field-types/FieldHistoryBoundary.js +28 -7
- package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -1
- package/dist/editor/field-types/fieldStyles.d.ts +21 -0
- package/dist/editor/field-types/fieldStyles.js +22 -0
- package/dist/editor/field-types/fieldStyles.js.map +1 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +14 -0
- package/dist/editor/field-types/richtext/utils/changeHighlight.js +12 -1
- package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -1
- package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
- package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
- package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
- package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
- package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +43 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js +149 -0
- package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
- 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 +51 -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/itemContextMenuGroups.js +10 -1
- package/dist/editor/itemContextMenuGroups.js.map +1 -1
- package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
- package/dist/editor/media-selector/MediaDetailsView.js +152 -0
- package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
- package/dist/editor/media-selector/useMediaFolderDrag.d.ts +26 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
- package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +11 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +65 -0
- package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
- 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/SpellCheckToggleControl.d.ts +5 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
- package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
- package/dist/editor/mobileBottomPanel.d.ts +40 -0
- package/dist/editor/mobileBottomPanel.js +63 -0
- package/dist/editor/mobileBottomPanel.js.map +1 -0
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +3 -6
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +8 -6
- package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
- package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
- package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
- package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
- package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +9 -13
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +25 -20
- package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
- package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +120 -0
- package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
- package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
- package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.d.ts +44 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
- package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
- package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
- package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
- package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
- package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
- package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
- package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
- package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
- package/dist/editor/page-viewer/FeedbackMargin.js +377 -0
- package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
- package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
- package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
- package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
- package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
- package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
- package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
- package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
- package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
- package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
- package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
- package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
- package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
- package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
- 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/feedbackMarginLayout.d.ts +119 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
- package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
- package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
- package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
- package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
- package/dist/editor/page-viewer/interactivePreview.js +344 -0
- package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
- package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
- package/dist/editor/page-viewer/minimapViewport.js +34 -0
- package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
- package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
- package/dist/editor/page-viewer/openPageItems.js +73 -0
- package/dist/editor/page-viewer/openPageItems.js.map +1 -0
- package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
- package/dist/editor/page-viewer/overviewRuler.js +226 -0
- package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
- package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
- package/dist/editor/page-viewer/renderingApproval.js +186 -0
- package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
- package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
- package/dist/editor/page-viewer/renderingChanges.js +40 -0
- package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
- package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
- package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
- package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
- package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
- package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
- package/dist/editor/reviews/CollapsibleText.js +41 -0
- package/dist/editor/reviews/CollapsibleText.js.map +1 -0
- 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 +13 -0
- package/dist/editor/reviews/CommentQuote.js +35 -0
- package/dist/editor/reviews/CommentQuote.js.map +1 -0
- package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
- package/dist/editor/reviews/CommentTargetOutline.js +21 -0
- package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
- package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
- package/dist/editor/reviews/CommentThreadAgentLink.d.ts +28 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
- package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
- package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
- package/dist/editor/reviews/CommentThreadCard.js +156 -0
- package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
- package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
- package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
- package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
- package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
- package/dist/editor/reviews/addCommentOnTarget.js +32 -0
- package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
- package/dist/editor/reviews/balloonLayout.d.ts +51 -0
- package/dist/editor/reviews/balloonLayout.js +101 -0
- package/dist/editor/reviews/balloonLayout.js.map +1 -0
- 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/commentImages.d.ts +48 -0
- package/dist/editor/reviews/commentImages.js +128 -0
- package/dist/editor/reviews/commentImages.js.map +1 -0
- package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
- package/dist/editor/reviews/commentTargetPicker.js +153 -0
- package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
- package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
- package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
- package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
- package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
- package/dist/editor/reviews/feedbackDrafts.js +74 -0
- package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
- package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
- package/dist/editor/reviews/feedbackHoverState.js +35 -0
- package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
- package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
- package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
- package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
- package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
- package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
- package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
- package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
- package/dist/editor/reviews/feedbackThreads.js +135 -0
- package/dist/editor/reviews/feedbackThreads.js.map +1 -0
- package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
- package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
- package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
- package/dist/editor/reviews/reviewUrlScope.js +86 -0
- package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
- package/dist/editor/reviews/scrollWithin.d.ts +29 -0
- package/dist/editor/reviews/scrollWithin.js +87 -0
- package/dist/editor/reviews/scrollWithin.js.map +1 -0
- package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
- package/dist/editor/reviews/subtreeFeedback.js +137 -0
- package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
- package/dist/editor/reviews/useCommentImagePaste.d.ts +80 -0
- package/dist/editor/reviews/useCommentImagePaste.js +252 -0
- package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
- package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
- package/dist/editor/reviews/useFeedbackThreads.js +137 -0
- package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
- package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
- package/dist/editor/reviews/useMeasuredHeights.js +176 -0
- package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
- package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
- package/dist/editor/services/mcpAccessService.d.ts +93 -0
- package/dist/editor/services/mcpAccessService.js +41 -0
- package/dist/editor/services/mcpAccessService.js.map +1 -0
- package/dist/editor/services/previewTokenService.d.ts +14 -0
- package/dist/editor/services/previewTokenService.js +34 -0
- package/dist/editor/services/previewTokenService.js.map +1 -0
- package/dist/editor/services/renderingsService.d.ts +117 -0
- package/dist/editor/services/renderingsService.js +245 -0
- package/dist/editor/services/renderingsService.js.map +1 -0
- package/dist/editor/services/spellCheckService.d.ts +13 -0
- package/dist/editor/services/spellCheckService.js +33 -0
- package/dist/editor/services/spellCheckService.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
- package/dist/editor/settings/panels/McpAccessPanel.js +95 -0
- package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
- package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
- package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
- package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
- package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
- package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
- package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
- package/dist/editor/sidebar/OperationDetailsContent.js +50 -0
- package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -1
- package/dist/editor/sidebar/liveComponentThumbnails.d.ts +19 -6
- package/dist/editor/sidebar/liveComponentThumbnails.js +39 -18
- package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -1
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
- package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
- package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
- package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
- package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
- package/dist/editor/spellcheck/replacementGuard.js +29 -0
- package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
- package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
- package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
- package/dist/editor/spellcheck/spellCheckClient.js +0 -0
- package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
- package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
- package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
- package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
- package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
- package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
- package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
- package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
- package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
- package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
- package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
- package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
- package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
- package/dist/editor/spellcheck/useSpellCheck.js +57 -0
- package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
- package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
- 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/RootItemPicker.d.ts +18 -0
- package/dist/editor/ui/RootItemPicker.js +112 -0
- package/dist/editor/ui/RootItemPicker.js.map +1 -0
- 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/dataTransferImages.d.ts +7 -0
- package/dist/editor/utils/dataTransferImages.js +43 -0
- package/dist/editor/utils/dataTransferImages.js.map +1 -0
- package/dist/editor/validation/navigateToValidationIssue.d.ts +2 -2
- package/dist/editor/validation/navigateToValidationIssue.js +1 -1
- package/dist/editor/validation/navigateToValidationIssue.js.map +1 -1
- package/dist/editor/validation/validationRulerIssues.d.ts +17 -0
- package/dist/editor/validation/validationRulerIssues.js +44 -0
- package/dist/editor/validation/validationRulerIssues.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- 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/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/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/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/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/taskBlockers.d.ts +10 -0
- package/dist/task-board/taskBlockers.js +66 -0
- package/dist/task-board/taskBlockers.js.map +1 -0
- package/dist/task-board/utils/projectDashboardModel.js +14 -0
- package/dist/task-board/utils/projectDashboardModel.js.map +1 -1
- package/dist/task-board/views/ProjectDashboardView.js +5 -13
- package/dist/task-board/views/ProjectDashboardView.js.map +1 -1
- package/dist/tour/sandbox-tour-copy.d.ts +8 -0
- package/dist/tour/sandbox-tour-copy.js +8 -0
- package/dist/tour/sandbox-tour-copy.js.map +1 -1
- package/dist/tour/sandbox-tour.d.ts +3 -0
- package/dist/tour/sandbox-tour.js +107 -3
- package/dist/tour/sandbox-tour.js.map +1 -1
- package/package.json +1 -1
- package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
- package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { type ExecutionResult } from "./serviceHelper";
|
|
2
|
+
/**
|
|
3
|
+
* Approval of dynamic renderings (agent-written components and the tenant's
|
|
4
|
+
* theme). Published pages show a rendering only once an administrator approved
|
|
5
|
+
* its exact current code; the CM answers these endpoints for the signed-in
|
|
6
|
+
* editor.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RENDERINGS_ENDPOINT = "/parhelia/renderings";
|
|
9
|
+
export type RenderingState = {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
kind: "component" | "theme";
|
|
13
|
+
path: string;
|
|
14
|
+
hasClientCode: boolean;
|
|
15
|
+
hash: string;
|
|
16
|
+
approved: boolean;
|
|
17
|
+
changedSinceApproval: boolean;
|
|
18
|
+
approvedBy?: string | null;
|
|
19
|
+
/** ISO 8601, UTC. */
|
|
20
|
+
approvedAt?: string | null;
|
|
21
|
+
sandbox: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type RenderingPageState = {
|
|
24
|
+
/**
|
|
25
|
+
* An administrator, or on a sandbox page its owner: may open the review
|
|
26
|
+
* (code, AI check, client code in a sealed frame). Everyone else sees client
|
|
27
|
+
* code run only once approved.
|
|
28
|
+
*/
|
|
29
|
+
canReview: boolean;
|
|
30
|
+
/** An administrator on a page outside a sandbox. */
|
|
31
|
+
canApprove: boolean;
|
|
32
|
+
/** The listed renderings plus the page tenant's theme. */
|
|
33
|
+
renderings: RenderingState[];
|
|
34
|
+
};
|
|
35
|
+
export type RenderingSource = RenderingState & {
|
|
36
|
+
code: string;
|
|
37
|
+
clientCode: string | null;
|
|
38
|
+
};
|
|
39
|
+
export type PageVersion = {
|
|
40
|
+
id: string;
|
|
41
|
+
language: string;
|
|
42
|
+
version: number;
|
|
43
|
+
};
|
|
44
|
+
export type RenderingsResult<T> = {
|
|
45
|
+
ok: true;
|
|
46
|
+
data: T;
|
|
47
|
+
} | {
|
|
48
|
+
ok: false;
|
|
49
|
+
status?: number;
|
|
50
|
+
message: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* The server's own message for a failed request. Parhelia errors are JSON
|
|
54
|
+
* `{ summary, details }`; some statuses reach the helper's generic branch with
|
|
55
|
+
* that JSON as raw text, so it is parsed here rather than shown verbatim.
|
|
56
|
+
*/
|
|
57
|
+
export declare function getServerMessage(result: ExecutionResult<unknown>, fallback: string): string;
|
|
58
|
+
/** A rendering state from the server, or undefined when it is not one. */
|
|
59
|
+
export declare function toRenderingState(value: unknown): RenderingState | undefined;
|
|
60
|
+
export declare function buildPageStateUrl(page: PageVersion, renderingIds: readonly string[]): string;
|
|
61
|
+
/** Approval state of the listed renderings and the page tenant's theme. */
|
|
62
|
+
export declare function fetchRenderingPageState(page: PageVersion, renderingIds: readonly string[], signal?: AbortSignal): Promise<RenderingsResult<RenderingPageState>>;
|
|
63
|
+
/** A rendering's code and client code with its approval state. */
|
|
64
|
+
export declare function fetchRenderingSource(id: string, signal?: AbortSignal): Promise<RenderingsResult<RenderingSource>>;
|
|
65
|
+
/**
|
|
66
|
+
* Approves exactly the code the administrator looked at: the CM refuses (409)
|
|
67
|
+
* when `hash` is no longer the rendering's current one, and (422) while the AI
|
|
68
|
+
* check reports a high finding and no `overrideReason` is given. The reason is
|
|
69
|
+
* recorded with the findings it overrides.
|
|
70
|
+
*/
|
|
71
|
+
export declare function approveRendering(id: string, hash: string, overrideReason?: string): Promise<RenderingsResult<RenderingState | undefined>>;
|
|
72
|
+
export type RenderingCheckSeverity = "high" | "medium" | "low";
|
|
73
|
+
export type RenderingCheckFinding = {
|
|
74
|
+
severity: RenderingCheckSeverity;
|
|
75
|
+
title: string;
|
|
76
|
+
detail: string | null;
|
|
77
|
+
/** Which code the finding is about; null for the rendering as a whole. */
|
|
78
|
+
source: "code" | "clientCode" | null;
|
|
79
|
+
line: number | null;
|
|
80
|
+
excerpt: string | null;
|
|
81
|
+
};
|
|
82
|
+
export type RenderingCheckOverride = {
|
|
83
|
+
by: string;
|
|
84
|
+
/** ISO 8601, UTC. */
|
|
85
|
+
at: string;
|
|
86
|
+
reason: string;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* The AI check of a rendering's current code. `blocks` is set while it
|
|
90
|
+
* reports a high finding, and when the code could not be checked (`failed`:
|
|
91
|
+
* a content filter, an unreadable answer, a timeout, code too large).
|
|
92
|
+
*/
|
|
93
|
+
export type RenderingCheck = {
|
|
94
|
+
status: "checked" | "unavailable" | "failed";
|
|
95
|
+
/** The approval hash the check is about. */
|
|
96
|
+
hash: string;
|
|
97
|
+
blocks: boolean;
|
|
98
|
+
/** Why there is no result (unavailable, failed). */
|
|
99
|
+
message: string | null;
|
|
100
|
+
summary: string | null;
|
|
101
|
+
findings: RenderingCheckFinding[];
|
|
102
|
+
model: string | null;
|
|
103
|
+
checkedAt: string | null;
|
|
104
|
+
overrides: RenderingCheckOverride[];
|
|
105
|
+
};
|
|
106
|
+
/** An AI check from the server, or undefined when it is not one. */
|
|
107
|
+
export declare function toRenderingCheck(value: unknown): RenderingCheck | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* The AI check of the rendering's current code: the cached one, or a new one
|
|
110
|
+
* (which can take a minute). `rerun` checks again (administrators only).
|
|
111
|
+
*/
|
|
112
|
+
export declare function checkRendering(id: string, options?: {
|
|
113
|
+
rerun?: boolean;
|
|
114
|
+
signal?: AbortSignal;
|
|
115
|
+
}): Promise<RenderingsResult<RenderingCheck>>;
|
|
116
|
+
/** Ends the approval; published pages stop showing the rendering at once. */
|
|
117
|
+
export declare function revokeRendering(id: string): Promise<RenderingsResult<RenderingState | undefined>>;
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { get, post, PARHELIA_REQUEST_HEADER, PARHELIA_REQUEST_HEADER_VALUE, } from "./serviceHelper";
|
|
2
|
+
/**
|
|
3
|
+
* Approval of dynamic renderings (agent-written components and the tenant's
|
|
4
|
+
* theme). Published pages show a rendering only once an administrator approved
|
|
5
|
+
* its exact current code; the CM answers these endpoints for the signed-in
|
|
6
|
+
* editor.
|
|
7
|
+
*/
|
|
8
|
+
export const RENDERINGS_ENDPOINT = "/parhelia/renderings";
|
|
9
|
+
/**
|
|
10
|
+
* The server's own message for a failed request. Parhelia errors are JSON
|
|
11
|
+
* `{ summary, details }`; some statuses reach the helper's generic branch with
|
|
12
|
+
* that JSON as raw text, so it is parsed here rather than shown verbatim.
|
|
13
|
+
*/
|
|
14
|
+
export function getServerMessage(result, fallback) {
|
|
15
|
+
const raw = result.rawDetails ?? result.details;
|
|
16
|
+
if (raw) {
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(raw);
|
|
19
|
+
const parts = [parsed.summary, parsed.details, parsed.error].filter((part) => typeof part === "string" && !!part.trim());
|
|
20
|
+
if (parts.length > 0)
|
|
21
|
+
return parts.join(": ");
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Not JSON: fall through to the helper's own summary/details.
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return ([result.summary, result.details]
|
|
28
|
+
.filter((part) => typeof part === "string" && !!part)
|
|
29
|
+
.join(": ") || fallback);
|
|
30
|
+
}
|
|
31
|
+
function optionalString(value) {
|
|
32
|
+
return typeof value === "string" && value.trim() ? value : null;
|
|
33
|
+
}
|
|
34
|
+
/** A rendering state from the server, or undefined when it is not one. */
|
|
35
|
+
export function toRenderingState(value) {
|
|
36
|
+
if (!value || typeof value !== "object")
|
|
37
|
+
return undefined;
|
|
38
|
+
const candidate = value;
|
|
39
|
+
if (typeof candidate.id !== "string" || !candidate.id)
|
|
40
|
+
return undefined;
|
|
41
|
+
return {
|
|
42
|
+
id: candidate.id,
|
|
43
|
+
name: typeof candidate.name === "string" ? candidate.name : "",
|
|
44
|
+
kind: candidate.kind === "theme" ? "theme" : "component",
|
|
45
|
+
path: typeof candidate.path === "string" ? candidate.path : "",
|
|
46
|
+
hasClientCode: candidate.hasClientCode === true,
|
|
47
|
+
hash: typeof candidate.hash === "string" ? candidate.hash : "",
|
|
48
|
+
approved: candidate.approved === true,
|
|
49
|
+
changedSinceApproval: candidate.changedSinceApproval === true,
|
|
50
|
+
approvedBy: optionalString(candidate.approvedBy),
|
|
51
|
+
approvedAt: optionalString(candidate.approvedAt),
|
|
52
|
+
sandbox: candidate.sandbox === true,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function toRenderingSource(value) {
|
|
56
|
+
const state = toRenderingState(value);
|
|
57
|
+
if (!state)
|
|
58
|
+
return undefined;
|
|
59
|
+
const candidate = value;
|
|
60
|
+
if (typeof candidate.code !== "string")
|
|
61
|
+
return undefined;
|
|
62
|
+
return {
|
|
63
|
+
...state,
|
|
64
|
+
code: candidate.code,
|
|
65
|
+
clientCode: typeof candidate.clientCode === "string" ? candidate.clientCode : null,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function toPageState(value) {
|
|
69
|
+
if (!value || typeof value !== "object")
|
|
70
|
+
return undefined;
|
|
71
|
+
const candidate = value;
|
|
72
|
+
if (!Array.isArray(candidate.renderings))
|
|
73
|
+
return undefined;
|
|
74
|
+
return {
|
|
75
|
+
canReview: candidate.canReview === true,
|
|
76
|
+
canApprove: candidate.canApprove === true,
|
|
77
|
+
renderings: candidate.renderings
|
|
78
|
+
.map(toRenderingState)
|
|
79
|
+
.filter((state) => !!state),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const requestHeaders = {
|
|
83
|
+
[PARHELIA_REQUEST_HEADER]: PARHELIA_REQUEST_HEADER_VALUE,
|
|
84
|
+
};
|
|
85
|
+
function failure(result, fallback) {
|
|
86
|
+
return {
|
|
87
|
+
ok: false,
|
|
88
|
+
status: result.response?.status,
|
|
89
|
+
message: getServerMessage(result, fallback),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function thrown(error, fallback) {
|
|
93
|
+
return {
|
|
94
|
+
ok: false,
|
|
95
|
+
message: error instanceof Error ? error.message : fallback,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export function buildPageStateUrl(page, renderingIds) {
|
|
99
|
+
const params = new URLSearchParams({
|
|
100
|
+
item: page.id,
|
|
101
|
+
language: page.language,
|
|
102
|
+
version: String(page.version),
|
|
103
|
+
renderings: renderingIds.join(","),
|
|
104
|
+
});
|
|
105
|
+
return `${RENDERINGS_ENDPOINT}/pageState?${params.toString()}`;
|
|
106
|
+
}
|
|
107
|
+
/** Approval state of the listed renderings and the page tenant's theme. */
|
|
108
|
+
export async function fetchRenderingPageState(page, renderingIds, signal) {
|
|
109
|
+
const fallback = "The approval state of the renderings could not be loaded.";
|
|
110
|
+
try {
|
|
111
|
+
const result = await get(buildPageStateUrl(page, renderingIds), undefined, signal, requestHeaders);
|
|
112
|
+
if (result.type !== "success")
|
|
113
|
+
return failure(result, fallback);
|
|
114
|
+
const state = toPageState(result.data);
|
|
115
|
+
return state
|
|
116
|
+
? { ok: true, data: state }
|
|
117
|
+
: { ok: false, message: "The server returned an unexpected answer." };
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return thrown(error, fallback);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** A rendering's code and client code with its approval state. */
|
|
124
|
+
export async function fetchRenderingSource(id, signal) {
|
|
125
|
+
const fallback = "The code of the rendering could not be loaded.";
|
|
126
|
+
try {
|
|
127
|
+
const result = await get(`${RENDERINGS_ENDPOINT}/source?${new URLSearchParams({ id }).toString()}`, undefined, signal, requestHeaders);
|
|
128
|
+
if (result.type !== "success")
|
|
129
|
+
return failure(result, fallback);
|
|
130
|
+
const source = toRenderingSource(result.data);
|
|
131
|
+
return source
|
|
132
|
+
? { ok: true, data: source }
|
|
133
|
+
: { ok: false, message: "The server returned an unexpected answer." };
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return thrown(error, fallback);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function postApproval(action, body, fallback) {
|
|
140
|
+
try {
|
|
141
|
+
// post() sends the Parhelia request header; the installed fetch wrapper
|
|
142
|
+
// adds the CSRF token.
|
|
143
|
+
const result = await post(`${RENDERINGS_ENDPOINT}/${action}`, body);
|
|
144
|
+
if (result.type !== "success")
|
|
145
|
+
return failure(result, fallback);
|
|
146
|
+
const data = result.data;
|
|
147
|
+
return { ok: true, data: toRenderingState(data?.state) };
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
return thrown(error, fallback);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Approves exactly the code the administrator looked at: the CM refuses (409)
|
|
155
|
+
* when `hash` is no longer the rendering's current one, and (422) while the AI
|
|
156
|
+
* check reports a high finding and no `overrideReason` is given. The reason is
|
|
157
|
+
* recorded with the findings it overrides.
|
|
158
|
+
*/
|
|
159
|
+
export function approveRendering(id, hash, overrideReason) {
|
|
160
|
+
return postApproval("approve", overrideReason ? { id, hash, overrideReason } : { id, hash }, "The rendering could not be approved.");
|
|
161
|
+
}
|
|
162
|
+
function toFinding(value) {
|
|
163
|
+
if (!value || typeof value !== "object")
|
|
164
|
+
return undefined;
|
|
165
|
+
const candidate = value;
|
|
166
|
+
const title = optionalString(candidate.title);
|
|
167
|
+
if (!title)
|
|
168
|
+
return undefined;
|
|
169
|
+
return {
|
|
170
|
+
severity: candidate.severity === "high" || candidate.severity === "low"
|
|
171
|
+
? candidate.severity
|
|
172
|
+
: "medium",
|
|
173
|
+
title,
|
|
174
|
+
detail: optionalString(candidate.detail),
|
|
175
|
+
source: candidate.source === "code" || candidate.source === "clientCode"
|
|
176
|
+
? candidate.source
|
|
177
|
+
: null,
|
|
178
|
+
line: typeof candidate.line === "number" && candidate.line > 0
|
|
179
|
+
? candidate.line
|
|
180
|
+
: null,
|
|
181
|
+
excerpt: optionalString(candidate.excerpt),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function toOverride(value) {
|
|
185
|
+
if (!value || typeof value !== "object")
|
|
186
|
+
return undefined;
|
|
187
|
+
const candidate = value;
|
|
188
|
+
const by = optionalString(candidate.by);
|
|
189
|
+
const at = optionalString(candidate.at);
|
|
190
|
+
const reason = optionalString(candidate.reason);
|
|
191
|
+
return by && at && reason ? { by, at, reason } : undefined;
|
|
192
|
+
}
|
|
193
|
+
/** An AI check from the server, or undefined when it is not one. */
|
|
194
|
+
export function toRenderingCheck(value) {
|
|
195
|
+
if (!value || typeof value !== "object")
|
|
196
|
+
return undefined;
|
|
197
|
+
const candidate = value;
|
|
198
|
+
const status = candidate.status;
|
|
199
|
+
if (status !== "checked" && status !== "unavailable" && status !== "failed")
|
|
200
|
+
return undefined;
|
|
201
|
+
return {
|
|
202
|
+
status,
|
|
203
|
+
hash: typeof candidate.hash === "string" ? candidate.hash : "",
|
|
204
|
+
// "unavailable" (no Reviewer Model) never blocks; a failed check does.
|
|
205
|
+
blocks: status !== "unavailable" && candidate.blocks === true,
|
|
206
|
+
message: optionalString(candidate.message),
|
|
207
|
+
summary: optionalString(candidate.summary),
|
|
208
|
+
findings: Array.isArray(candidate.findings)
|
|
209
|
+
? candidate.findings
|
|
210
|
+
.map(toFinding)
|
|
211
|
+
.filter((finding) => !!finding)
|
|
212
|
+
: [],
|
|
213
|
+
model: optionalString(candidate.model),
|
|
214
|
+
checkedAt: optionalString(candidate.checkedAt),
|
|
215
|
+
overrides: Array.isArray(candidate.overrides)
|
|
216
|
+
? candidate.overrides
|
|
217
|
+
.map(toOverride)
|
|
218
|
+
.filter((entry) => !!entry)
|
|
219
|
+
: [],
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The AI check of the rendering's current code: the cached one, or a new one
|
|
224
|
+
* (which can take a minute). `rerun` checks again (administrators only).
|
|
225
|
+
*/
|
|
226
|
+
export async function checkRendering(id, options = {}) {
|
|
227
|
+
const fallback = "The AI check could not be run.";
|
|
228
|
+
try {
|
|
229
|
+
const result = await post(`${RENDERINGS_ENDPOINT}/check`, options.rerun ? { id, rerun: true } : { id }, undefined, options.signal);
|
|
230
|
+
if (result.type !== "success")
|
|
231
|
+
return failure(result, fallback);
|
|
232
|
+
const check = toRenderingCheck(result.data);
|
|
233
|
+
return check
|
|
234
|
+
? { ok: true, data: check }
|
|
235
|
+
: { ok: false, message: "The server returned an unexpected answer." };
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
return thrown(error, fallback);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/** Ends the approval; published pages stop showing the rendering at once. */
|
|
242
|
+
export function revokeRendering(id) {
|
|
243
|
+
return postApproval("revoke", { id }, "The approval could not be revoked.");
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=renderingsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderingsService.js","sourceRoot":"","sources":["../../../src/editor/services/renderingsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SpellCheckDictionaryStatus, SpellCheckResponse, SpellCheckStatusResponse, SpellCheckWordMutationResponse, SpellCheckWordsResponse, SpellSuggestResponse } from "../spellcheck/spellCheckTypes";
|
|
2
|
+
/** Thin wrappers over the parhelia/spellcheck/{action} endpoints. */
|
|
3
|
+
export declare function checkSpelling(language: string, texts: {
|
|
4
|
+
key: string;
|
|
5
|
+
text: string;
|
|
6
|
+
}[], signal?: AbortSignal): Promise<import("./serviceHelper").ExecutionResult<SpellCheckResponse>>;
|
|
7
|
+
export declare function suggestSpelling(language: string, word: string, signal?: AbortSignal): Promise<import("./serviceHelper").ExecutionResult<SpellSuggestResponse>>;
|
|
8
|
+
export declare function getCustomWords(language: string): Promise<import("./serviceHelper").ExecutionResult<SpellCheckWordsResponse>>;
|
|
9
|
+
export declare function addCustomWord(language: string, word: string): Promise<import("./serviceHelper").ExecutionResult<SpellCheckWordMutationResponse>>;
|
|
10
|
+
export declare function removeCustomWord(language: string, word: string): Promise<import("./serviceHelper").ExecutionResult<SpellCheckWordMutationResponse>>;
|
|
11
|
+
export declare function getSpellCheckStatus(): Promise<import("./serviceHelper").ExecutionResult<SpellCheckStatusResponse>>;
|
|
12
|
+
export declare function downloadDictionary(dictionaryId: string, force?: boolean): Promise<import("./serviceHelper").ExecutionResult<SpellCheckDictionaryStatus>>;
|
|
13
|
+
export declare function reloadDictionaries(): Promise<import("./serviceHelper").ExecutionResult<SpellCheckStatusResponse>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { get, post } from "./serviceHelper";
|
|
2
|
+
/** Thin wrappers over the parhelia/spellcheck/{action} endpoints. */
|
|
3
|
+
export function checkSpelling(language, texts, signal) {
|
|
4
|
+
return post("/parhelia/spellcheck/check", { language, texts }, undefined, signal);
|
|
5
|
+
}
|
|
6
|
+
export function suggestSpelling(language, word, signal) {
|
|
7
|
+
return post("/parhelia/spellcheck/suggest", { language, word }, undefined, signal);
|
|
8
|
+
}
|
|
9
|
+
export function getCustomWords(language) {
|
|
10
|
+
return get(`/parhelia/spellcheck/words?language=${encodeURIComponent(language)}`);
|
|
11
|
+
}
|
|
12
|
+
export function addCustomWord(language, word) {
|
|
13
|
+
return post("/parhelia/spellcheck/addword", {
|
|
14
|
+
language,
|
|
15
|
+
word,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function removeCustomWord(language, word) {
|
|
19
|
+
return post("/parhelia/spellcheck/removeword", { language, word });
|
|
20
|
+
}
|
|
21
|
+
export function getSpellCheckStatus() {
|
|
22
|
+
return get("/parhelia/spellcheck/status");
|
|
23
|
+
}
|
|
24
|
+
export function downloadDictionary(dictionaryId, force = false) {
|
|
25
|
+
return post("/parhelia/spellcheck/download", {
|
|
26
|
+
dictionaryId,
|
|
27
|
+
force,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function reloadDictionaries() {
|
|
31
|
+
return post("/parhelia/spellcheck/reload", {});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=spellCheckService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spellCheckService.js","sourceRoot":"","sources":["../../../src/editor/services/spellCheckService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qEAAqE;AAErE,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,KAAsC,EACtC,MAAoB;IAEpB,OAAO,IAAI,CACT,4BAA4B,EAC5B,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnB,SAAS,EACT,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,IAAY,EACZ,MAAoB;IAEpB,OAAO,IAAI,CACT,8BAA8B,EAC9B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClB,SAAS,EACT,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,GAAG,CACR,uCAAuC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAY;IAC1D,OAAO,IAAI,CAAiC,8BAA8B,EAAE;QAC1E,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IAC7D,OAAO,IAAI,CACT,iCAAiC,EACjC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,CAA2B,6BAA6B,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB,EAAE,KAAK,GAAG,KAAK;IACpE,OAAO,IAAI,CAA6B,+BAA+B,EAAE;QACvE,YAAY;QACZ,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAA2B,6BAA6B,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "MCP Access" settings: the MCP server address for clients, the user's connected clients
|
|
3
|
+
* (with revoke), and for administrators the configuration status, all connections, registered
|
|
4
|
+
* clients, and a settings form for the MCP Access settings item.
|
|
5
|
+
*/
|
|
6
|
+
export declare function McpAccessPanel(): import("react").JSX.Element;
|
|
7
|
+
export default McpAccessPanel;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { AlertCircle, KeyRound, PlugZap, RefreshCw, Settings } from "lucide-react";
|
|
4
|
+
import { Button } from "../../../components/ui/button";
|
|
5
|
+
import { CopyButton } from "../../../components/ui/copy-button";
|
|
6
|
+
import { DeleteButton } from "../../../components/ui/delete-button";
|
|
7
|
+
import { mcpAccessService, } from "../../services/mcpAccessService";
|
|
8
|
+
import { SettingsCard as Card } from "../SettingsCard";
|
|
9
|
+
import { SettingsPanelLayout } from "../SettingsPanelLayout";
|
|
10
|
+
import { useRequiredSettingsHeaderActions } from "../SettingsHeaderActionsContext";
|
|
11
|
+
import { McpAccessSettingsView } from "./McpAccessSettingsView";
|
|
12
|
+
const scopeLabels = {
|
|
13
|
+
"parhelia:read": "Read",
|
|
14
|
+
"parhelia:write": "Change",
|
|
15
|
+
"parhelia:agents": "Agents",
|
|
16
|
+
};
|
|
17
|
+
function formatDate(value) {
|
|
18
|
+
if (!value)
|
|
19
|
+
return "never";
|
|
20
|
+
const date = new Date(value);
|
|
21
|
+
return Number.isNaN(date.getTime()) ? value : date.toLocaleString();
|
|
22
|
+
}
|
|
23
|
+
const getErrorMessage = (error, fallback) => error instanceof Error ? error.message : fallback;
|
|
24
|
+
/**
|
|
25
|
+
* "MCP Access" settings: the MCP server address for clients, the user's connected clients
|
|
26
|
+
* (with revoke), and for administrators the configuration status, all connections, registered
|
|
27
|
+
* clients, and a settings form for the MCP Access settings item.
|
|
28
|
+
*/
|
|
29
|
+
export function McpAccessPanel() {
|
|
30
|
+
const setSettingsHeaderActions = useRequiredSettingsHeaderActions();
|
|
31
|
+
const [status, setStatus] = useState(null);
|
|
32
|
+
const [grants, setGrants] = useState([]);
|
|
33
|
+
const [showAll, setShowAll] = useState(false);
|
|
34
|
+
const [loading, setLoading] = useState(true);
|
|
35
|
+
const [error, setError] = useState(null);
|
|
36
|
+
const [showSettings, setShowSettings] = useState(false);
|
|
37
|
+
const isAdmin = !!status?.settingsItemId;
|
|
38
|
+
const load = useCallback(async () => {
|
|
39
|
+
setLoading(true);
|
|
40
|
+
setError(null);
|
|
41
|
+
try {
|
|
42
|
+
const [nextStatus, nextGrants] = await Promise.all([
|
|
43
|
+
mcpAccessService.getStatus(),
|
|
44
|
+
mcpAccessService.getGrants(showAll),
|
|
45
|
+
]);
|
|
46
|
+
setStatus(nextStatus);
|
|
47
|
+
setGrants(nextGrants);
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
setError(getErrorMessage(e, "Failed to load MCP access"));
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
setLoading(false);
|
|
54
|
+
}
|
|
55
|
+
}, [showAll]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
void load();
|
|
58
|
+
}, [load]);
|
|
59
|
+
const headerActions = useMemo(() => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { size: "sm", variant: "outline", onClick: () => void load(), disabled: loading, title: "Refresh", children: _jsx(RefreshCw, { className: loading ? "h-4 w-4 animate-spin" : "h-4 w-4", strokeWidth: 1 }) }), isAdmin && (_jsxs(Button, { size: "sm", variant: "outline", onClick: () => setShowSettings((value) => !value), "data-testid": "mcp-access-settings-toggle", children: [_jsx(Settings, { className: "mr-1 h-4 w-4", strokeWidth: 1 }), showSettings ? "Back to connections" : "Settings"] }))] })), [isAdmin, load, loading, showSettings]);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (!setSettingsHeaderActions)
|
|
62
|
+
return;
|
|
63
|
+
setSettingsHeaderActions(headerActions);
|
|
64
|
+
return () => setSettingsHeaderActions(null);
|
|
65
|
+
}, [headerActions, setSettingsHeaderActions]);
|
|
66
|
+
const revoke = async (grant) => {
|
|
67
|
+
try {
|
|
68
|
+
await mcpAccessService.revokeGrant(grant.grantId);
|
|
69
|
+
await load();
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
setError(getErrorMessage(e, "Failed to revoke the connection"));
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const deleteClient = async (clientKey) => {
|
|
76
|
+
try {
|
|
77
|
+
await mcpAccessService.deleteClient(clientKey);
|
|
78
|
+
await load();
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
setError(getErrorMessage(e, "Failed to delete the client"));
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const serverUrl = status?.serverUrl ?? "";
|
|
85
|
+
const claudeCommand = serverUrl ? `claude mcp add --transport http parhelia ${serverUrl}` : "";
|
|
86
|
+
const mainContent = (_jsx(SettingsPanelLayout, { children: _jsxs("div", { className: "space-y-4", "data-testid": "mcp-access-panel", children: [error && (_jsxs("div", { className: "border-feedback-red bg-feedback-red-light text-feedback-red flex items-start gap-2 rounded border p-3 text-sm", children: [_jsx(AlertCircle, { className: "mt-0.5 h-4 w-4 shrink-0", strokeWidth: 1 }), _jsx("span", { children: error })] })), status && (_jsxs(Card, { icon: _jsx(PlugZap, { strokeWidth: 1 }), title: "Connect an MCP client", description: status.enabled
|
|
87
|
+
? "Add this server to Claude Code, Cursor or another MCP client and sign in when the client asks."
|
|
88
|
+
: "The MCP server is switched off on this instance.", children: [status.enabled && serverUrl ? (_jsxs("div", { className: "space-y-3 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { className: "bg-neutral-grey-5 rounded px-2 py-1 break-all", "data-testid": "mcp-server-url", children: serverUrl }), _jsx(CopyButton, { textToCopy: serverUrl, iconOnly: true })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { className: "bg-neutral-grey-5 rounded px-2 py-1 break-all", children: claudeCommand }), _jsx(CopyButton, { textToCopy: claudeCommand, iconOnly: true })] }), _jsx("p", { className: "text-neutral-grey-50 text-xs", children: "Register the server under the name \"parhelia\" so tool names stay within Claude's limits. The client opens a browser to ask for your approval." })] })) : (_jsx("p", { className: "text-neutral-grey-50 text-sm", children: isAdmin ? (_jsx(Button, { size: "sm", variant: "link", className: "h-auto p-0", onClick: () => setShowSettings(true), children: "Open the settings to enable it." })) : ("Ask an administrator to enable it.") })), isAdmin && status.problems.length > 0 && (_jsx("ul", { className: "border-feedback-orange bg-feedback-orange-light mt-3 list-disc space-y-1 rounded border p-3 pl-6 text-xs", "data-testid": "mcp-access-problems", children: status.problems.map((problem) => (_jsx("li", { children: problem }, problem))) }))] })), _jsx(Card, { icon: _jsx(KeyRound, { strokeWidth: 1 }), title: showAll ? "All connections" : "Your connections", description: "MCP clients you allowed to act with your Sitecore permissions. Revoking stops them immediately, including agents they started.", headerActions: isAdmin ? (_jsx(Button, { size: "sm", variant: "ghost", onClick: () => setShowAll((value) => !value), children: showAll ? "Show mine" : "Show all users" })) : undefined, children: grants.length === 0 && !loading ? (_jsx("p", { className: "text-neutral-grey-50 text-sm", "data-testid": "mcp-grants-empty", children: "No connected clients." })) : (_jsx("ul", { className: "divide-border-default divide-y", "data-testid": "mcp-grants", children: grants.map((grant) => (_jsxs("li", { className: "flex items-center justify-between gap-3 py-2", "data-testid": "mcp-grant", children: [_jsxs("div", { className: "min-w-0 text-sm", children: [_jsx("div", { className: "truncate font-medium", children: grant.clientName }), _jsxs("div", { className: "text-neutral-grey-50 truncate text-xs", children: [grant.scopes.map((scope) => scopeLabels[scope] ?? scope).join(", "), grant.askBeforeWrites ? " · asks before changes" : "", showAll ? ` · ${grant.userName}` : "", ` · last used ${formatDate(grant.lastUsedAt)}`] })] }), _jsx(DeleteButton, { label: `Revoke ${grant.clientName}`, title: "Revoke", onClick: () => void revoke(grant), "data-testid": "mcp-grant-revoke" })] }, grant.grantId))) })) }), isAdmin && status?.clients && status.clients.length > 0 && (_jsx(Card, { icon: _jsx(Settings, { strokeWidth: 1 }), title: "Registered clients", description: "Clients known to the authorization server. Deleting a client revokes all its connections.", defaultCollapsed: "yes", collapsible: "yes", children: _jsx("ul", { className: "divide-border-default divide-y", children: status.clients.map((client) => (_jsxs("li", { className: "flex items-center justify-between gap-3 py-2", children: [_jsxs("div", { className: "min-w-0 text-sm", children: [_jsx("div", { className: "truncate font-medium", children: client.clientName }), _jsxs("div", { className: "text-neutral-grey-50 truncate text-xs", children: [client.kind, " \u00B7 ", client.clientId] })] }), client.clientKey && (_jsx(DeleteButton, { label: `Delete ${client.clientName}`, title: "Delete client", onClick: () => void deleteClient(client.clientKey) }))] }, `${client.kind}:${client.clientId}`))) }) }))] }) }));
|
|
89
|
+
if (showSettings && isAdmin) {
|
|
90
|
+
return _jsx(McpAccessSettingsView, { onSaved: () => void load() });
|
|
91
|
+
}
|
|
92
|
+
return mainContent;
|
|
93
|
+
}
|
|
94
|
+
export default McpAccessPanel;
|
|
95
|
+
//# sourceMappingURL=McpAccessPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpAccessPanel.js","sourceRoot":"","sources":["../../../../src/editor/settings/panels/McpAccessPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Administrator form for the "MCP Access" settings item: server address, who may connect, which
|
|
3
|
+
* tools clients see, consent defaults, OAuth and limits. Saves all fields in one request.
|
|
4
|
+
*/
|
|
5
|
+
export declare function McpAccessSettingsView({ onSaved }: {
|
|
6
|
+
onSaved: () => void;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
8
|
+
export default McpAccessSettingsView;
|