@parhelia/core 0.1.11873 → 0.1.11955
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/AgentsInbox.d.ts +1 -1
- package/dist/agents-view/AgentsInbox.js +15 -2
- package/dist/agents-view/AgentsInbox.js.map +1 -1
- package/dist/agents-view/AgentsSidebar.d.ts +20 -0
- package/dist/agents-view/AgentsSidebar.js +21 -0
- package/dist/agents-view/AgentsSidebar.js.map +1 -0
- package/dist/agents-view/AgentsView.d.ts +6 -7
- package/dist/agents-view/AgentsView.js +63 -25
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
- package/dist/agents-view/AgentsWorkspaceView.js +242 -112
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/components/ui/context-menu.js +24 -9
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/config/config.js +15 -11
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ContentTree.js +2 -2
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ContextMenu.js +11 -5
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/FieldListField.js +1 -1
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MobileLayout.js +19 -9
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/ai/AgentStatusBadge.d.ts +1 -1
- package/dist/editor/ai/AgentStatusBadge.js +18 -2
- package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +342 -55
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AiResponseMessage.js +46 -4
- package/dist/editor/ai/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/ContextInfoBar.js +151 -5
- package/dist/editor/ai/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/EditOperationsPanel.d.ts +2 -1
- package/dist/editor/ai/EditOperationsPanel.js +6 -1
- package/dist/editor/ai/EditOperationsPanel.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +64 -15
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +111 -20
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +24 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/ai/useAgentStatus.d.ts +1 -0
- package/dist/editor/ai/useAgentStatus.js +74 -29
- package/dist/editor/ai/useAgentStatus.js.map +1 -1
- package/dist/editor/client/EditorShell.js +72 -8
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/hooks/useQuota.d.ts +7 -0
- package/dist/editor/client/hooks/useQuota.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +10 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.js +3 -30
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +31 -1
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/commands/componentCommands.js +106 -6
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/commands/itemCommands.d.ts +1 -0
- package/dist/editor/commands/itemCommands.js +28 -1
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/componentTreeHelper.js +22 -2
- package/dist/editor/componentTreeHelper.js.map +1 -1
- package/dist/editor/insertMenuItems.d.ts +4 -0
- package/dist/editor/insertMenuItems.js +66 -0
- package/dist/editor/insertMenuItems.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js +8 -1
- package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +25 -11
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +32 -17
- package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
- package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +6 -5
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +49 -1
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +5 -0
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/reviews/CreateReviewConfirmStep.d.ts +16 -0
- package/dist/editor/reviews/CreateReviewConfirmStep.js +37 -0
- package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -0
- package/dist/editor/reviews/CreateReviewDetailsStep.d.ts +51 -0
- package/dist/editor/reviews/CreateReviewDetailsStep.js +121 -0
- package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -0
- package/dist/editor/reviews/CreateReviewDialog.js +260 -173
- package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
- package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +6 -0
- package/dist/editor/reviews/CreateReviewSuccessStep.js +8 -0
- package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -0
- package/dist/editor/reviews/DecisionsMatrix.js +96 -25
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/reviews/MultiReviewManager.js +25 -3
- package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
- package/dist/editor/reviews/PagesPanel.js +31 -15
- package/dist/editor/reviews/PagesPanel.js.map +1 -1
- package/dist/editor/reviews/ReviewCard.js +13 -7
- package/dist/editor/reviews/ReviewCard.js.map +1 -1
- package/dist/editor/reviews/ReviewDetail.js +2 -2
- package/dist/editor/reviews/ReviewDetail.js.map +1 -1
- package/dist/editor/reviews/ReviewsList.js +7 -3
- package/dist/editor/reviews/ReviewsList.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +14 -1
- package/dist/editor/services/agentService.js +27 -1
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +39 -1
- package/dist/editor/services/aiService.js +12 -2
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/serviceHelper.d.ts +1 -1
- package/dist/editor/services/serviceHelper.js +2 -1
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/settings/About.js +1 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +202 -4
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +11 -13
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/status/useStartupChecks.js +2 -1
- package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +26 -20
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +16 -0
- package/dist/editor/sidebar/MobileWorkspacePopover.js +35 -0
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -0
- package/dist/editor/sidebar/NavigationSidebar.js +30 -14
- package/dist/editor/sidebar/NavigationSidebar.js.map +1 -1
- package/dist/editor/ui/ItemNameDialogNew.js +8 -8
- package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.d.ts +11 -0
- package/dist/editor/ui/SharedFolderSelectorDialog.js +79 -0
- package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -0
- package/dist/editor/ui/SimpleTabs.js +1 -1
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.js +4 -2
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/ui/TreeListSelector.d.ts +2 -1
- package/dist/editor/ui/TreeListSelector.js +2 -2
- package/dist/editor/ui/TreeListSelector.js.map +1 -1
- package/dist/editor/utils.js +42 -0
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +7 -8
- package/dist/editor/views/EditorSlot.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/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/wizard/steps/ImportModelDialog.js +24 -22
- package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
- package/dist/splash-screen/NewPage.js +2 -2
- package/dist/splash-screen/NewPage.js.map +1 -1
- package/dist/splash-screen/RecentPages.js +1 -1
- package/dist/splash-screen/RecentPages.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.d.ts +1 -0
- package/dist/task-board/TaskBoardWorkspace.js +1094 -0
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -0
- package/dist/task-board/components/AddDependencyDialog.d.ts +8 -0
- package/dist/task-board/components/AddDependencyDialog.js +53 -0
- package/dist/task-board/components/AddDependencyDialog.js.map +1 -0
- package/dist/task-board/components/AssignAgentDialog.d.ts +7 -0
- package/dist/task-board/components/AssignAgentDialog.js +96 -0
- package/dist/task-board/components/AssignAgentDialog.js.map +1 -0
- package/dist/task-board/components/CommentsList.d.ts +3 -0
- package/dist/task-board/components/CommentsList.js +36 -0
- package/dist/task-board/components/CommentsList.js.map +1 -0
- package/dist/task-board/components/CreateProjectDialog.d.ts +7 -0
- package/dist/task-board/components/CreateProjectDialog.js +175 -0
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -0
- package/dist/task-board/components/CreateTaskDialog.d.ts +7 -0
- package/dist/task-board/components/CreateTaskDialog.js +76 -0
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -0
- package/dist/task-board/components/ProjectAgentsPanel.d.ts +4 -0
- package/dist/task-board/components/ProjectAgentsPanel.js +159 -0
- package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +25 -0
- package/dist/task-board/components/ProjectDashboard.js +91 -0
- package/dist/task-board/components/ProjectDashboard.js.map +1 -0
- package/dist/task-board/components/ProjectList.d.ts +7 -0
- package/dist/task-board/components/ProjectList.js +74 -0
- package/dist/task-board/components/ProjectList.js.map +1 -0
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +8 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +146 -0
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -0
- package/dist/task-board/components/TaskAgentPanel.d.ts +10 -0
- package/dist/task-board/components/TaskAgentPanel.js +42 -0
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -0
- package/dist/task-board/components/TaskAssigneePicker.d.ts +12 -0
- package/dist/task-board/components/TaskAssigneePicker.js +115 -0
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -0
- package/dist/task-board/components/TaskBoardTitlebar.d.ts +1 -0
- package/dist/task-board/components/TaskBoardTitlebar.js +60 -0
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -0
- package/dist/task-board/components/TaskCard.d.ts +9 -0
- package/dist/task-board/components/TaskCard.js +24 -0
- package/dist/task-board/components/TaskCard.js.map +1 -0
- package/dist/task-board/components/TaskDetailDialog.d.ts +11 -0
- package/dist/task-board/components/TaskDetailDialog.js +8 -0
- package/dist/task-board/components/TaskDetailDialog.js.map +1 -0
- package/dist/task-board/components/TaskDetailPanel.d.ts +13 -0
- package/dist/task-board/components/TaskDetailPanel.js +322 -0
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -0
- package/dist/task-board/components/TaskRow.d.ts +9 -0
- package/dist/task-board/components/TaskRow.js +25 -0
- package/dist/task-board/components/TaskRow.js.map +1 -0
- package/dist/task-board/index.d.ts +15 -0
- package/dist/task-board/index.js +18 -0
- package/dist/task-board/index.js.map +1 -0
- package/dist/task-board/services/taskService.d.ts +52 -0
- package/dist/task-board/services/taskService.js +74 -0
- package/dist/task-board/services/taskService.js.map +1 -0
- package/dist/task-board/taskAgentConfig.d.ts +7 -0
- package/dist/task-board/taskAgentConfig.js +43 -0
- package/dist/task-board/taskAgentConfig.js.map +1 -0
- package/dist/task-board/taskAgentLink.d.ts +2 -0
- package/dist/task-board/taskAgentLink.js +35 -0
- package/dist/task-board/taskAgentLink.js.map +1 -0
- package/dist/task-board/taskBoardNavStore.d.ts +35 -0
- package/dist/task-board/taskBoardNavStore.js +42 -0
- package/dist/task-board/taskBoardNavStore.js.map +1 -0
- package/dist/task-board/taskExecutionStatus.d.ts +12 -0
- package/dist/task-board/taskExecutionStatus.js +96 -0
- package/dist/task-board/taskExecutionStatus.js.map +1 -0
- package/dist/task-board/taskStatus.d.ts +2 -0
- package/dist/task-board/taskStatus.js +26 -0
- package/dist/task-board/taskStatus.js.map +1 -0
- package/dist/task-board/types.d.ts +169 -0
- package/dist/task-board/types.js +2 -0
- package/dist/task-board/types.js.map +1 -0
- package/dist/task-board/utils/projectHierarchy.d.ts +13 -0
- package/dist/task-board/utils/projectHierarchy.js +34 -0
- package/dist/task-board/utils/projectHierarchy.js.map +1 -0
- package/dist/task-board/views/KanbanView.d.ts +14 -0
- package/dist/task-board/views/KanbanView.js +136 -0
- package/dist/task-board/views/KanbanView.js.map +1 -0
- package/dist/task-board/views/ListView.d.ts +13 -0
- package/dist/task-board/views/ListView.js +74 -0
- package/dist/task-board/views/ListView.js.map +1 -0
- package/dist/task-board/views/PlanningView.d.ts +7 -0
- package/dist/task-board/views/PlanningView.js +112 -0
- package/dist/task-board/views/PlanningView.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from "react";
|
|
2
|
+
import { useState, useEffect, useRef } from "react";
|
|
3
3
|
import { ReviewsList } from "./ReviewsList";
|
|
4
4
|
import { ReviewDetail } from "./ReviewDetail";
|
|
5
5
|
import { useMultiReview } from "./useMultiReview";
|
|
@@ -8,6 +8,7 @@ export function MultiReviewManager() {
|
|
|
8
8
|
const editContext = useEditContext();
|
|
9
9
|
const [selectedReviewId, setSelectedReviewId] = useState(null);
|
|
10
10
|
const [hasPinnedReviewPanel, setHasPinnedReviewPanel] = useState(false);
|
|
11
|
+
const hasStackedReviewSidebars = useRef(false);
|
|
11
12
|
const multiReview = useMultiReview({
|
|
12
13
|
language: editContext?.currentItemDescriptor?.language || "en",
|
|
13
14
|
addSocketMessageListener: editContext?.addSocketMessageListener || (() => () => { }),
|
|
@@ -33,6 +34,22 @@ export function MultiReviewManager() {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
}, [editContext, hasPinnedReviewPanel]);
|
|
37
|
+
// For reviewers opening direct review links, keep feedback + review in a single stacked column.
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (!editContext || hasStackedReviewSidebars.current)
|
|
40
|
+
return;
|
|
41
|
+
const isLimitedPreviewUser = editContext.user?.isLimitedPreviewUser ?? false;
|
|
42
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
43
|
+
const reviewIdFromUrl = urlParams.get("reviewId");
|
|
44
|
+
if (!isLimitedPreviewUser || !reviewIdFromUrl) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Ensure both sidebars are present, then stack reviews under feedback.
|
|
48
|
+
editContext.openSidebar("feedback");
|
|
49
|
+
editContext.openSidebar("reviews");
|
|
50
|
+
editContext.stackSidebar("reviews", "feedback", "after");
|
|
51
|
+
hasStackedReviewSidebars.current = true;
|
|
52
|
+
}, [editContext]);
|
|
36
53
|
// Handle deep-linking via URL query parameter
|
|
37
54
|
useEffect(() => {
|
|
38
55
|
const urlParams = new URLSearchParams(window.location.search);
|
|
@@ -48,14 +65,19 @@ export function MultiReviewManager() {
|
|
|
48
65
|
}
|
|
49
66
|
else if (multiReview.reviews.length > 0) {
|
|
50
67
|
// For regular users, verify the review exists in the list
|
|
51
|
-
const reviewExists = multiReview.reviews.some(r => r.reviewId === reviewIdFromUrl);
|
|
68
|
+
const reviewExists = multiReview.reviews.some((r) => r.reviewId === reviewIdFromUrl);
|
|
52
69
|
if (reviewExists) {
|
|
53
70
|
setSelectedReviewId(reviewIdFromUrl);
|
|
54
71
|
multiReview.setSelectedReviewId(reviewIdFromUrl);
|
|
55
72
|
}
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
|
-
}, [
|
|
75
|
+
}, [
|
|
76
|
+
multiReview.reviews,
|
|
77
|
+
selectedReviewId,
|
|
78
|
+
multiReview,
|
|
79
|
+
editContext?.user?.isLimitedPreviewUser,
|
|
80
|
+
]);
|
|
59
81
|
// Handle browser back/forward navigation
|
|
60
82
|
useEffect(() => {
|
|
61
83
|
const handlePopState = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiReviewManager.js","sourceRoot":"","sources":["../../../src/editor/reviews/MultiReviewManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiReviewManager.js","sourceRoot":"","sources":["../../../src/editor/reviews/MultiReviewManager.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { SimpleToolbar } from "../ui/SimpleToolbar";
|
|
4
4
|
import { SimpleIconButton } from "../ui/SimpleIconButton";
|
|
5
|
-
import { Plus, X, ExternalLink, Trash2, Check, MessageSquare, Lightbulb } from "lucide-react";
|
|
5
|
+
import { Plus, X, ExternalLink, Trash2, Check, MessageSquare, Lightbulb, } from "lucide-react";
|
|
6
6
|
import { Button } from "../../components/ui/button";
|
|
7
7
|
import { Checkbox } from "../../components/ui/checkbox";
|
|
8
8
|
import { Badge } from "../../components/ui/badge";
|
|
@@ -10,6 +10,18 @@ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/po
|
|
|
10
10
|
import { useEditContext } from "../client/editContext";
|
|
11
11
|
import { ItemTreeSelector } from "./ItemTreeSelector";
|
|
12
12
|
export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading, language, }) {
|
|
13
|
+
const selectionKeySeparator = "|||";
|
|
14
|
+
const toSelectionKey = (itemId, itemLanguage) => `${itemId}${selectionKeySeparator}${itemLanguage}`;
|
|
15
|
+
const fromSelectionKey = (key) => {
|
|
16
|
+
const separatorIndex = key.indexOf(selectionKeySeparator);
|
|
17
|
+
if (separatorIndex === -1)
|
|
18
|
+
return null;
|
|
19
|
+
const itemId = key.slice(0, separatorIndex);
|
|
20
|
+
const language = key.slice(separatorIndex + selectionKeySeparator.length);
|
|
21
|
+
if (!itemId || !language)
|
|
22
|
+
return null;
|
|
23
|
+
return { itemId, language };
|
|
24
|
+
};
|
|
13
25
|
const [isAddPopoverOpen, setIsAddPopoverOpen] = useState(false);
|
|
14
26
|
const [selectedItems, setSelectedItems] = useState([]);
|
|
15
27
|
const [selectedPagesForRemoval, setSelectedPagesForRemoval] = useState(new Set());
|
|
@@ -30,8 +42,8 @@ export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading
|
|
|
30
42
|
}
|
|
31
43
|
};
|
|
32
44
|
const handleRemovePage = async (itemId, language) => {
|
|
33
|
-
const itemKey =
|
|
34
|
-
const item = items.find(i =>
|
|
45
|
+
const itemKey = toSelectionKey(itemId, language);
|
|
46
|
+
const item = items.find((i) => toSelectionKey(i.itemId, i.language) === itemKey);
|
|
35
47
|
const itemName = item?.name || item?.path || itemId;
|
|
36
48
|
editContext?.confirm({
|
|
37
49
|
header: "Remove Page",
|
|
@@ -43,7 +55,7 @@ export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading
|
|
|
43
55
|
{
|
|
44
56
|
id: itemId,
|
|
45
57
|
language,
|
|
46
|
-
version:
|
|
58
|
+
version: 0, // Version not required by remove endpoint
|
|
47
59
|
},
|
|
48
60
|
]);
|
|
49
61
|
},
|
|
@@ -52,17 +64,16 @@ export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading
|
|
|
52
64
|
const handleRemoveSelectedPages = async () => {
|
|
53
65
|
if (selectedPagesForRemoval.size === 0)
|
|
54
66
|
return;
|
|
55
|
-
const pagesToRemove = Array.from(selectedPagesForRemoval)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
67
|
+
const pagesToRemove = Array.from(selectedPagesForRemoval)
|
|
68
|
+
.map((key) => fromSelectionKey(key))
|
|
69
|
+
.filter((parsed) => !!parsed);
|
|
59
70
|
const itemDescriptors = pagesToRemove.map(({ itemId, language }) => ({
|
|
60
71
|
id: itemId,
|
|
61
72
|
language,
|
|
62
|
-
version:
|
|
73
|
+
version: 0,
|
|
63
74
|
}));
|
|
64
75
|
const pageNames = pagesToRemove.map(({ itemId, language }) => {
|
|
65
|
-
const item = items.find(i => i.itemId === itemId && i.language === language);
|
|
76
|
+
const item = items.find((i) => i.itemId === itemId && i.language === language);
|
|
66
77
|
return item?.name || item?.path || itemId;
|
|
67
78
|
});
|
|
68
79
|
const message = selectedPagesForRemoval.size === 1
|
|
@@ -80,7 +91,7 @@ export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading
|
|
|
80
91
|
});
|
|
81
92
|
};
|
|
82
93
|
const togglePageSelection = (itemId, language) => {
|
|
83
|
-
const key =
|
|
94
|
+
const key = toSelectionKey(itemId, language);
|
|
84
95
|
const newSelection = new Set(selectedPagesForRemoval);
|
|
85
96
|
if (newSelection.has(key)) {
|
|
86
97
|
newSelection.delete(key);
|
|
@@ -94,14 +105,19 @@ export function PagesPanel({ items, reviewId, onAddPages, onRemovePages, loading
|
|
|
94
105
|
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsx(SimpleToolbar, { children: !isLimitedPreviewUser && (_jsxs(_Fragment, { children: [_jsxs(Popover, { open: isAddPopoverOpen, onOpenChange: setIsAddPopoverOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(SimpleIconButton, { label: "Add Pages", icon: _jsx(Plus, { className: "h-4 w-4" }), onClick: () => setIsAddPopoverOpen(true) }) }), _jsx(PopoverContent, { className: "m-2 w-[600px] p-0", align: "start", children: _jsxs("div", { className: "flex flex-col gap-2 p-2", children: [_jsx("div", { className: "text-sm font-medium", children: "Select Pages" }), _jsx(ItemTreeSelector, { selectedItems: selectedItems, onItemsChange: handleItemsChange, language: language, height: "350px" }), _jsxs("div", { className: "flex justify-end gap-2 border-t pt-2", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: () => {
|
|
95
106
|
setSelectedItems([]);
|
|
96
107
|
setIsAddPopoverOpen(false);
|
|
97
|
-
}, children: "Cancel" }), _jsxs(Button, { size: "sm", onClick: handleAddSelectedPages, disabled: selectedItems.length === 0 || loading, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), "Add
|
|
98
|
-
|
|
108
|
+
}, children: "Cancel" }), _jsxs(Button, { size: "sm", onClick: handleAddSelectedPages, disabled: selectedItems.length === 0 || loading, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), "Add", " ", selectedItems.length > 0
|
|
109
|
+
? `${selectedItems.length} `
|
|
110
|
+
: "", "Page", selectedItems.length !== 1 ? "s" : ""] })] })] }) })] }), hasSelectedPages && (_jsx(SimpleIconButton, { label: "Remove Selected", icon: _jsx(Trash2, { className: "h-4 w-4" }), onClick: handleRemoveSelectedPages, disabled: loading }))] })) }), _jsx("div", { className: "flex-1 overflow-y-auto p-2", children: items.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center text-sm text-gray-500", children: "No pages in review" })) : (_jsx("div", { className: "space-y-2", children: items.map((item, index) => {
|
|
111
|
+
const itemKey = toSelectionKey(item.itemId, item.language);
|
|
99
112
|
const isSelected = selectedPagesForRemoval.has(itemKey);
|
|
100
|
-
return (_jsx("div", { className: "rounded border p-3 hover:bg-gray-50", children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { className: "flex items-start gap-2
|
|
113
|
+
return (_jsx("div", { className: "rounded border p-3 hover:bg-gray-50", children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { className: "flex flex-1 items-start gap-2", children: [_jsx("div", { className: "mt-0.5", children: _jsx(Checkbox, { checked: isSelected, onCheckedChange: () => {
|
|
101
114
|
if (!isLimitedPreviewUser) {
|
|
102
115
|
togglePageSelection(item.itemId, item.language);
|
|
103
116
|
}
|
|
104
|
-
}, disabled: isLimitedPreviewUser, onClick: (e) => e.stopPropagation() }) }), _jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "font-medium
|
|
117
|
+
}, disabled: isLimitedPreviewUser, onClick: (e) => e.stopPropagation() }) }), _jsxs("div", { className: "flex-1", children: [_jsx("div", { className: "text-sm font-medium", children: item.name || item.path || item.itemId }), _jsxs("div", { className: "mt-1 flex items-center gap-2", children: [_jsxs("div", { className: "text-xs text-gray-500", children: [item.language, item.includeSubitems && " (with subitems)"] }), item.decisionsCount !== undefined &&
|
|
118
|
+
item.decisionsCount > 0 && (_jsxs(Badge, { variant: "outline", className: "h-5 px-1.5 text-xs", children: [_jsx(Check, { className: "mr-1 h-3 w-3" }), item.decisionsCount] })), item.commentsCount !== undefined &&
|
|
119
|
+
item.commentsCount > 0 && (_jsxs(Badge, { variant: "outline", className: "h-5 px-1.5 text-xs", children: [_jsx(MessageSquare, { className: "mr-1 h-3 w-3" }), item.commentsCount] })), item.suggestionsCount !== undefined &&
|
|
120
|
+
item.suggestionsCount > 0 && (_jsxs(Badge, { variant: "outline", className: "h-5 px-1.5 text-xs", children: [_jsx(Lightbulb, { className: "mr-1 h-3 w-3" }), item.suggestionsCount] }))] })] })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: () => {
|
|
105
121
|
console.log("[PagesPanel] Loading item from pages panel:", {
|
|
106
122
|
itemId: item.itemId,
|
|
107
123
|
language: item.language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagesPanel.js","sourceRoot":"","sources":["../../../src/editor/reviews/PagesPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"PagesPanel.js","sourceRoot":"","sources":["../../../src/editor/reviews/PagesPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,44 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Checkbox } from "../../components/ui/checkbox";
|
|
3
3
|
import { Button } from "../../components/ui/button";
|
|
4
|
-
import { Check, X, Clock, Lock, Calendar, Trash2, MessageSquare, Lightbulb, Globe, Users, ClipboardCheck } from "lucide-react";
|
|
4
|
+
import { Check, X, Clock, Lock, Calendar, Trash2, MessageSquare, Lightbulb, Globe, Users, ClipboardCheck, } from "lucide-react";
|
|
5
5
|
import { formatDate } from "../utils";
|
|
6
6
|
import { cn } from "../../lib/utils";
|
|
7
7
|
export function ReviewCard({ review, isSelected, onSelect, onClick, onDelete, canDelete, }) {
|
|
8
|
-
const status = review.
|
|
8
|
+
const status = review.finalDecision ?? review.status ?? "In Progress";
|
|
9
9
|
const getStatusInfo = () => {
|
|
10
10
|
if (status === "Approved") {
|
|
11
11
|
return {
|
|
12
12
|
icon: _jsx(Check, { className: "h-3 w-3 text-green-600" }),
|
|
13
13
|
text: "Approved",
|
|
14
|
-
className: "text-green-600"
|
|
14
|
+
className: "text-green-600",
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
if (status === "Rejected") {
|
|
18
18
|
return {
|
|
19
19
|
icon: _jsx(X, { className: "h-3 w-3 text-red-600" }),
|
|
20
20
|
text: "Rejected",
|
|
21
|
-
className: "text-red-600"
|
|
21
|
+
className: "text-red-600",
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
return {
|
|
25
25
|
icon: _jsx(Clock, { className: "h-3 w-3 text-gray-400" }),
|
|
26
26
|
text: "In Progress",
|
|
27
|
-
className: "text-gray-500"
|
|
27
|
+
className: "text-gray-500",
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
const statusInfo = getStatusInfo();
|
|
31
|
-
return (_jsxs("div", { onClick: () => onClick(review.reviewId), className: cn("group relative flex flex-col rounded-lg border bg-white p-3 transition-shadow hover:shadow-md
|
|
31
|
+
return (_jsxs("div", { "data-testid": "review-card", "data-review-id": review.reviewId, onClick: () => onClick(review.reviewId), className: cn("group relative flex cursor-pointer flex-col rounded-lg border bg-white p-3 transition-shadow hover:shadow-md", isSelected
|
|
32
|
+
? "border-blue-500 bg-blue-50/30 ring-1 ring-blue-500/20"
|
|
33
|
+
: "border-gray-200"), children: [_jsxs("div", { className: "mb-2 flex items-start gap-2", children: [_jsx("div", { onClick: (e) => {
|
|
32
34
|
e.stopPropagation();
|
|
33
35
|
if (canDelete) {
|
|
34
36
|
onSelect(review.reviewId, !isSelected);
|
|
35
37
|
}
|
|
36
|
-
}, className: cn("mt-1
|
|
38
|
+
}, className: cn("mt-1 shrink-0", !canDelete && "invisible"), children: _jsx(Checkbox, { checked: isSelected, onCheckedChange: (checked) => onSelect(review.reviewId, checked === true), disabled: !canDelete, onClick: (e) => e.stopPropagation() }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-0.5 flex items-center gap-2", children: [_jsx("h4", { "data-testid": "review-card-title", className: "truncate text-sm font-medium text-gray-900", children: review.title || `Review ${review.reviewId.slice(0, 8)}` }), review.requiresSecret && (_jsx(Lock, { className: "h-3 w-3 text-gray-400" }))] }), _jsxs("div", { className: "flex items-center gap-1.5 text-[11px] text-gray-500", children: [_jsxs("span", { className: "truncate", children: ["By ", review.createdBy] }), _jsx("span", { children: "\u2022" }), _jsx("span", { className: "whitespace-nowrap", children: formatDate(new Date(review.createdAt)) })] })] }), canDelete && (_jsx(Button, { variant: "ghost", size: "icon", onClick: (e) => onDelete(review.reviewId, e), className: "-mt-1 -mr-1 h-7 w-7 text-gray-400 opacity-0 transition-opacity group-hover:opacity-100 hover:text-red-500", children: _jsx(Trash2, { className: "h-3.5 w-3.5" }) }))] }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-2 border-t border-gray-50 pt-2", children: [_jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [statusInfo.icon, _jsx("span", { className: cn("text-[10px] font-bold tracking-tight uppercase", statusInfo.className), children: statusInfo.text })] }), _jsx("div", { className: "xs:block hidden h-3 w-px shrink-0 bg-gray-200" }), _jsx("div", { className: "flex shrink-0 items-center gap-2", children: review.commentsCount || review.suggestionsCount ? (_jsxs(_Fragment, { children: [review.commentsCount ? (_jsxs("div", { className: "flex items-center gap-1 text-[10px] text-gray-500", title: "Comments", children: [_jsx(MessageSquare, { className: "h-3 w-3" }), _jsx("span", { children: review.commentsCount })] })) : null, review.suggestionsCount ? (_jsxs("div", { className: "flex items-center gap-1 text-[10px] font-medium text-yellow-600", title: "Suggestions", children: [_jsx(Lightbulb, { className: "h-3 w-3" }), _jsx("span", { children: review.suggestionsCount })] })) : null] })) : (_jsx("span", { className: "text-[10px] text-gray-400 italic", children: "No feedback" })) }), _jsxs("div", { className: "ml-auto flex shrink-0 items-center gap-2.5 text-gray-400", children: [_jsxs("div", { className: "flex items-center gap-1", title: "Language", children: [_jsx(Globe, { className: "h-3 w-3" }), _jsx("span", { className: "text-[10px] text-gray-600", children: review.language === "*"
|
|
39
|
+
? "All"
|
|
40
|
+
: review.language === "mixed"
|
|
41
|
+
? "Mixed"
|
|
42
|
+
: review.language })] }), _jsxs("div", { className: "flex items-center gap-1", title: "Reviewers", children: [_jsx(Users, { className: "h-3 w-3" }), _jsx("span", { className: "text-[10px] text-gray-600", children: review.reviewersCount })] }), _jsxs("div", { className: "flex items-center gap-1", title: "Pages", children: [_jsx(ClipboardCheck, { className: "h-3 w-3", strokeWidth: 1 }), _jsx("span", { className: "text-[10px] text-gray-600", children: review.pagesCount })] })] })] }), review.expiresAtUtc && !review.isExpired && (_jsxs("div", { className: "mt-2 flex items-center justify-center gap-1 rounded border border-orange-100/50 bg-orange-50/50 py-1 text-[10px] text-orange-600", children: [_jsx(Calendar, { className: "h-3 w-3" }), _jsxs("span", { children: ["Expires ", formatDate(new Date(review.expiresAtUtc))] })] })), review.isExpired && (_jsxs("div", { className: "mt-2 flex items-center justify-center gap-1 rounded border border-red-100/50 bg-red-50/50 py-1 text-[10px] font-medium text-red-600", children: [_jsx(X, { className: "h-3 w-3" }), _jsx("span", { children: "Expired" })] }))] }));
|
|
37
43
|
}
|
|
38
44
|
//# sourceMappingURL=ReviewCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewCard.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,KAAK,EACL,CAAC,EACD,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,KAAK,EACL,KAAK,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"ReviewCard.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -150,7 +150,7 @@ export function ReviewDetail({ reviewId, onBack, multiReview, }) {
|
|
|
150
150
|
};
|
|
151
151
|
// Show unlock panel if secret is required and not validated
|
|
152
152
|
if (needsUnlock || (requiresSecret && !secretValidated)) {
|
|
153
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsx(SimpleToolbar, { children: _jsx(SimpleIconButton, { label: "Back", icon: _jsx(ArrowLeft, { className: "h-4 w-4" }), onClick: onBack }) }), _jsx("div", { className: "flex flex-1 items-center justify-center", children: _jsxs("div", { className: "flex w-full max-w-md flex-col items-center gap-4 p-8", children: [_jsx(Lock, { className: "h-12 w-12 text-gray-400" }), _jsx("h2", { className: "text-xl font-semibold", children: review.title || `Review ${review.reviewId.slice(0, 8)}` }), _jsx("p", { className: "text-center text-sm text-gray-600", children: "This review requires a secret to access. Please enter the secret provided by the review creator." }), isExpired && (_jsx("div", { className: "rounded bg-red-100 p-3 text-sm text-red-700", children: "This review has expired and is no longer accessible." })), !isExpired && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex w-full flex-col gap-2", children: [_jsx(Input, { "data-testid": "unlock-secret-input", type: "password", placeholder: "Enter secret", value: secret, onChange: (e) => {
|
|
153
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsx(SimpleToolbar, { children: _jsx(SimpleIconButton, { label: "Back", icon: _jsx(ArrowLeft, { className: "h-4 w-4" }), onClick: onBack }) }), _jsx("div", { className: "flex flex-1 items-center justify-center", children: _jsxs("div", { className: "flex w-full max-w-md flex-col items-center gap-4 p-8", children: [_jsx(Lock, { className: "h-12 w-12 text-gray-400" }), _jsx("h2", { "data-testid": "review-detail-title", className: "text-xl font-semibold", children: review.title || `Review ${review.reviewId.slice(0, 8)}` }), _jsx("p", { className: "text-center text-sm text-gray-600", children: "This review requires a secret to access. Please enter the secret provided by the review creator." }), isExpired && (_jsx("div", { className: "rounded bg-red-100 p-3 text-sm text-red-700", children: "This review has expired and is no longer accessible." })), !isExpired && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex w-full flex-col gap-2", children: [_jsx(Input, { "data-testid": "unlock-secret-input", type: "password", placeholder: "Enter secret", value: secret, onChange: (e) => {
|
|
154
154
|
setSecret(e.target.value);
|
|
155
155
|
setUnlockError(null);
|
|
156
156
|
}, onKeyDown: (e) => {
|
|
@@ -183,7 +183,7 @@ export function ReviewDetail({ reviewId, onBack, multiReview, }) {
|
|
|
183
183
|
content: (_jsx(DecisionsMatrix, { items: items, assignments: assignments, onMakeDecision: multiReview.makeItemDecision, loading: multiReview.loading, reviewId: reviewId, language: review.language, finalDecision: review.finalDecision, onSetFinalDecision: (decision) => multiReview.setReviewFinalDecision(reviewId, decision), onAddPages: (items) => multiReview.addPages(reviewId, items), onRemovePages: (items) => multiReview.removePages(reviewId, items), allReviewersResponded: allReviewersResponded, selectedReviewerId: selectedReviewerId, onSelectReviewer: setSelectedReviewerId, currentUserEmail: editContext?.user?.email, requiredApprovals: review.requiredApprovals })),
|
|
184
184
|
},
|
|
185
185
|
];
|
|
186
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsx(SimpleToolbar, { children: _jsx(SimpleIconButton, { label: "Back", icon: _jsx(ArrowLeft, { className: "h-4 w-4" }), onClick: onBack }) }), _jsx("div", { className: "border-b p-4", children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h2", { className: "text-lg font-semibold", children: review.title || `Review ${review.reviewId.slice(0, 8)}` }), _jsxs("div", { className: "mt-2 flex items-center gap-4 text-xs text-gray-500", children: [_jsxs("span", { children: ["Created: ", formatDate(new Date(review.createdAt))] }), _jsxs("span", { children: ["By: ", review.createdBy] }), _jsxs("span", { className: "flex items-center gap-1", children: ["Language:", " ", review.language === "*" ? (_jsx(Badge, { variant: "outline", children: "All Languages" })) : review.language === "mixed" ? (_jsx("span", { children: "Multiple Languages" })) : (review.language)] })] })] }), isCreator && (_jsx(SimpleIconButton, { label: "Edit Settings", icon: _jsx(Settings, { className: "h-4 w-4" }), onClick: () => setEditSettingsOpen(true) }))] }) }), _jsx(Splitter, { direction: "vertical", localStorageKey: `review-detail-splitter-${reviewId}`, panels: panels }), _jsx(EditReviewSettingsDialog, { open: editSettingsOpen, onOpenChange: setEditSettingsOpen, review: review, items: items, reviewersCount: assignments.length, onUpdated: async () => {
|
|
186
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsx(SimpleToolbar, { children: _jsx(SimpleIconButton, { label: "Back", icon: _jsx(ArrowLeft, { className: "h-4 w-4" }), onClick: onBack }) }), _jsx("div", { className: "border-b p-4", children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h2", { "data-testid": "review-detail-title", className: "text-lg font-semibold", children: review.title || `Review ${review.reviewId.slice(0, 8)}` }), _jsxs("div", { className: "mt-2 flex items-center gap-4 text-xs text-gray-500", children: [_jsxs("span", { children: ["Created: ", formatDate(new Date(review.createdAt))] }), _jsxs("span", { children: ["By: ", review.createdBy] }), _jsxs("span", { className: "flex items-center gap-1", children: ["Language:", " ", review.language === "*" ? (_jsx(Badge, { variant: "outline", children: "All Languages" })) : review.language === "mixed" ? (_jsx("span", { children: "Multiple Languages" })) : (review.language)] })] })] }), isCreator && (_jsx(SimpleIconButton, { "data-testid": "review-edit-settings-button", label: "Edit Settings", icon: _jsx(Settings, { className: "h-4 w-4" }), onClick: () => setEditSettingsOpen(true) }))] }) }), _jsx(Splitter, { direction: "vertical", localStorageKey: `review-detail-splitter-${reviewId}`, panels: panels }), _jsx(EditReviewSettingsDialog, { open: editSettingsOpen, onOpenChange: setEditSettingsOpen, review: review, items: items, reviewersCount: assignments.length, onUpdated: async () => {
|
|
187
187
|
// Refresh review detail after settings update
|
|
188
188
|
await multiReview.refreshReviewDetail?.();
|
|
189
189
|
} })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewDetail.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewDetail.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReviewDetail.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewDetail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { SimpleToolbar } from "../ui/SimpleToolbar";
|
|
4
4
|
import { ReviewCard } from "./ReviewCard";
|
|
5
5
|
import { SimpleIconButton } from "../ui/SimpleIconButton";
|
|
6
|
-
import { Plus, Loader2, Trash2
|
|
6
|
+
import { Plus, Loader2, Trash2 } from "lucide-react";
|
|
7
7
|
import { CreateReviewDialog } from "./CreateReviewDialog";
|
|
8
8
|
import { Button } from "../../components/ui/button";
|
|
9
9
|
import { Input } from "../../components/ui/input";
|
|
@@ -26,7 +26,11 @@ export function ReviewsList({ reviews, loading, error, onSelectReview, onCreateR
|
|
|
26
26
|
const allFilteredSelected = filteredReviews.length > 0 &&
|
|
27
27
|
filteredReviews.every((review) => selectedReviewIds.has(review.reviewId));
|
|
28
28
|
const someFilteredSelected = filteredReviews.some((review) => selectedReviewIds.has(review.reviewId));
|
|
29
|
-
const selectAllChecked = allFilteredSelected
|
|
29
|
+
const selectAllChecked = allFilteredSelected
|
|
30
|
+
? true
|
|
31
|
+
: someFilteredSelected
|
|
32
|
+
? "indeterminate"
|
|
33
|
+
: false;
|
|
30
34
|
const handleSelectAll = (checked) => {
|
|
31
35
|
if (checked) {
|
|
32
36
|
const newSelected = new Set(selectedReviewIds);
|
|
@@ -102,7 +106,7 @@ export function ReviewsList({ reviews, loading, error, onSelectReview, onCreateR
|
|
|
102
106
|
});
|
|
103
107
|
};
|
|
104
108
|
const isInitialLoading = loading && reviews.length === 0;
|
|
105
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs(SimpleToolbar, { children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SimpleIconButton, { label: "Create Review", icon: _jsx(Plus, { className: "h-4 w-4" }), onClick: () => setIsCreateDialogOpen(true), "data-testid": "create-review-button" }), filteredReviews.length > 0 && (_jsxs("div", { className: "flex items-center gap-1.5 border-l border-gray-200 pl-2
|
|
109
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs(SimpleToolbar, { children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SimpleIconButton, { label: "Create Review", icon: _jsx(Plus, { className: "h-4 w-4" }), onClick: () => setIsCreateDialogOpen(true), "data-testid": "create-review-button" }), filteredReviews.length > 0 && (_jsxs("div", { className: "ml-1 flex items-center gap-1.5 border-l border-gray-200 pl-2", children: [_jsx(Checkbox, { id: "select-all-reviews", checked: selectAllChecked, onCheckedChange: (checked) => handleSelectAll(checked === true), className: "h-3.5 w-3.5" }), _jsx("label", { htmlFor: "select-all-reviews", className: "cursor-pointer text-[11px] font-medium whitespace-nowrap text-gray-600", children: "Select All" })] }))] }), selectedReviewIds.size > 0 && (_jsx(Button, { variant: "destructive", size: "sm", onClick: handleDeleteSelected, className: "h-7 px-2 text-[11px]", disabled: isDeleting, children: isDeleting ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : (_jsxs(_Fragment, { children: [_jsx(Trash2, { className: "mr-1.5 h-3.5 w-3.5" }), _jsxs("span", { children: ["Delete (", selectedReviewIds.size, ")"] })] })) })), _jsx("div", { className: "ml-auto flex max-w-[150px] items-center gap-2 sm:max-w-[200px]", children: _jsx(Input, { placeholder: "Search...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "h-7 text-xs" }) })] }), _jsx("div", { className: "relative flex-1", children: _jsxs("div", { className: "absolute inset-0 overflow-auto", children: [error && (_jsx("div", { className: "m-3 rounded border border-red-100 bg-red-50 p-3 text-xs text-red-700", children: error })), isInitialLoading ? (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx(Loader2, { className: "h-8 w-8 animate-spin" }) })) : filteredReviews.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-400", children: searchTerm ? "No matches found" : "No reviews found" })) : (_jsx("div", { className: "flex flex-col gap-3 p-3", children: filteredReviews.map((review) => {
|
|
106
110
|
const isCreator = review.createdBy === editContext?.user?.name;
|
|
107
111
|
const isLimitedPreviewUser = editContext?.user?.isLimitedPreviewUser ?? false;
|
|
108
112
|
const isAdministrator = editContext?.user?.isAdministrator ?? false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewsList.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewsList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"ReviewsList.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewsList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ export interface AgentStreamMessage {
|
|
|
41
41
|
error?: string;
|
|
42
42
|
}
|
|
43
43
|
export type AgentStreamMessageType = "statusUpdate" | "contentChunk" | "toolCall" | "toolResult" | "editOperations" | "completed" | "error" | "contextUpdate";
|
|
44
|
-
export type AgentStatus = "new" | "running" | "waitingForApproval" | "closed" | "cancelled" | "completed" | "error" | "idle" | "costLimitReached" | number;
|
|
44
|
+
export type AgentStatus = "new" | "running" | "waitingForApproval" | "closed" | "cancelled" | "completed" | "error" | "idle" | "costLimitReached" | "waitingForInput" | number;
|
|
45
45
|
export type Agent = {
|
|
46
46
|
id: string;
|
|
47
47
|
name: string;
|
|
@@ -96,6 +96,17 @@ export type AgentDetails = Agent & {
|
|
|
96
96
|
/** Estimated tokens used in the current context (persisted in DB) */
|
|
97
97
|
contextUsedTokens?: number;
|
|
98
98
|
};
|
|
99
|
+
export interface AgentSkill {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
disabled: boolean;
|
|
103
|
+
instructions?: string;
|
|
104
|
+
allowedAgentProfiles?: Array<{
|
|
105
|
+
id: string;
|
|
106
|
+
name: string;
|
|
107
|
+
}>;
|
|
108
|
+
additionalAllowedTools?: string[];
|
|
109
|
+
}
|
|
99
110
|
export declare function approveToolCall(params: {
|
|
100
111
|
agentId: string;
|
|
101
112
|
messageId: string;
|
|
@@ -290,6 +301,7 @@ export interface GetAgentsParams {
|
|
|
290
301
|
includeOwned?: boolean;
|
|
291
302
|
searchTerm?: string;
|
|
292
303
|
excludeClosed?: boolean;
|
|
304
|
+
signal?: AbortSignal;
|
|
293
305
|
}
|
|
294
306
|
export interface GetAgentsResponse {
|
|
295
307
|
agents: Agent[];
|
|
@@ -373,6 +385,7 @@ export declare function uploadDocument(agentId: string, file: File, profileId?:
|
|
|
373
385
|
document?: AgentDocument;
|
|
374
386
|
error?: string;
|
|
375
387
|
}>;
|
|
388
|
+
export declare function getAgentSkills(includeDisabled?: boolean): Promise<AgentSkill[]>;
|
|
376
389
|
/**
|
|
377
390
|
* Gets all documents for an agent
|
|
378
391
|
*/
|
|
@@ -206,7 +206,7 @@ export async function getActiveAgents(params) {
|
|
|
206
206
|
queryParams.append("excludeClosed", params.excludeClosed.toString());
|
|
207
207
|
const queryString = queryParams.toString();
|
|
208
208
|
const url = AGENT_BASE_URL + "/getAgents" + (queryString ? `?${queryString}` : "");
|
|
209
|
-
const result = await get(url);
|
|
209
|
+
const result = await get(url, undefined, params?.signal);
|
|
210
210
|
if (result.type !== "success") {
|
|
211
211
|
throw new Error(`Failed to get active agents: ${result.summary || "Unknown error"} ${result.details || ""}`);
|
|
212
212
|
}
|
|
@@ -369,6 +369,32 @@ export async function uploadDocument(agentId, file, profileId) {
|
|
|
369
369
|
}
|
|
370
370
|
return data;
|
|
371
371
|
}
|
|
372
|
+
export async function getAgentSkills(includeDisabled = false) {
|
|
373
|
+
const result = await get(AGENT_BASE_URL +
|
|
374
|
+
"/skills?includeDisabled=" +
|
|
375
|
+
encodeURIComponent(String(includeDisabled)));
|
|
376
|
+
if (result.type !== "success") {
|
|
377
|
+
throw new Error(`Failed to get agent skills: ${result.summary || "Unknown error"} ${result.details || ""}`);
|
|
378
|
+
}
|
|
379
|
+
const skills = Array.isArray(result.data) ? result.data : [];
|
|
380
|
+
return skills.map((skill) => ({
|
|
381
|
+
id: String(skill.id ?? skill.Id ?? ""),
|
|
382
|
+
name: String(skill.name ?? skill.Name ?? ""),
|
|
383
|
+
disabled: !!(skill.disabled ?? skill.Disabled),
|
|
384
|
+
instructions: skill.instructions ?? skill.Instructions ?? undefined,
|
|
385
|
+
allowedAgentProfiles: Array.isArray(skill.allowedAgentProfiles ?? skill.AllowedAgentProfiles)
|
|
386
|
+
? (skill.allowedAgentProfiles ?? skill.AllowedAgentProfiles).map((p) => ({
|
|
387
|
+
id: String(p.id ?? p.Id ?? ""),
|
|
388
|
+
name: String(p.name ?? p.Name ?? ""),
|
|
389
|
+
}))
|
|
390
|
+
: [],
|
|
391
|
+
additionalAllowedTools: Array.isArray(skill.additionalAllowedTools ?? skill.AdditionalAllowedTools)
|
|
392
|
+
? (skill.additionalAllowedTools ?? skill.AdditionalAllowedTools)
|
|
393
|
+
.map((name) => String(name ?? "").trim())
|
|
394
|
+
.filter((name) => !!name)
|
|
395
|
+
: [],
|
|
396
|
+
}));
|
|
397
|
+
}
|
|
372
398
|
/**
|
|
373
399
|
* Gets all documents for an agent
|
|
374
400
|
*/
|