@parhelia/core 0.1.12477 → 0.1.12479
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/config/config.js +22 -3
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.js.map +1 -1
- package/dist/editor/ConfirmationDialog.js +20 -4
- package/dist/editor/ConfirmationDialog.js.map +1 -1
- package/dist/editor/ContentTree.js +19 -7
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/PictureCropper.js +45 -41
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +97 -8
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +65 -0
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/Agents.js +19 -0
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/AiResponseMessage.js +5 -0
- package/dist/editor/ai/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/ContentInspectorPopover.d.ts +1 -0
- package/dist/editor/ai/ContentInspectorPopover.js +22 -8
- package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
- package/dist/editor/ai/ToolCallDisplay.d.ts +2 -0
- package/dist/editor/ai/ToolCallDisplay.js +54 -11
- package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +32 -3
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +55 -20
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +7 -4
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/ai/types.d.ts +2 -0
- package/dist/editor/client/EditorShell.js +55 -10
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +2 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.d.ts +0 -2
- package/dist/editor/client/ui/EditorChrome.js +2 -13
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +8 -1
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.d.ts +3 -1
- package/dist/editor/page-viewer/PageViewer.js +23 -4
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.d.ts +2 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +3 -4
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +27 -0
- package/dist/editor/services/agentService.js +11 -2
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.js +54 -3
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/serviceHelper.js +5 -2
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/settings/About.js +40 -4
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/panels/PersistentLogsPanel.d.ts +2 -0
- package/dist/editor/settings/panels/PersistentLogsPanel.js +244 -0
- package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -0
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.d.ts +7 -1
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -3
- package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +165 -84
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/index.d.ts +1 -0
- package/dist/editor/settings/panels/index.js +1 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.d.ts +8 -1
- package/dist/editor/sidebar/ComponentTree.js +23 -15
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js +1 -1
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/tree-indicators/GutterColumns.js +24 -4
- package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
- package/dist/editor/tree-indicators/types.d.ts +10 -0
- package/dist/editor/ui/Splitter.d.ts +1 -0
- package/dist/editor/ui/Splitter.js +7 -1
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/utils.js +16 -4
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/views/CompareView.d.ts +3 -1
- package/dist/editor/views/CompareView.js +3 -3
- package/dist/editor/views/CompareView.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +7 -6
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/SingleEditView.d.ts +2 -1
- package/dist/editor/views/SingleEditView.js +8 -8
- package/dist/editor/views/SingleEditView.js.map +1 -1
- package/dist/licensing/LicenseContext.js +40 -4
- package/dist/licensing/LicenseContext.js.map +1 -1
- package/dist/licensing/LicenseOverlay.js +1 -1
- package/dist/licensing/LicenseOverlay.js.map +1 -1
- package/dist/licensing/types.d.ts +3 -1
- package/dist/licensing/types.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +165 -354
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/assigneeDisplay.js +1 -3
- package/dist/task-board/assigneeDisplay.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +2 -1
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.js +2 -1
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectExecutionUserPicker.d.ts +14 -0
- package/dist/task-board/components/ProjectExecutionUserPicker.js +65 -0
- package/dist/task-board/components/ProjectExecutionUserPicker.js.map +1 -0
- package/dist/task-board/components/ProjectSettingsDialog.d.ts +1 -0
- package/dist/task-board/components/ProjectSettingsDialog.js +146 -12
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +1 -0
- package/dist/task-board/components/TaskAgentPanel.js +2 -2
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskAssigneePicker.js +2 -2
- package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js +1 -1
- package/dist/task-board/components/TaskBoardMyTasksSidebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailDialog.d.ts +1 -0
- package/dist/task-board/components/TaskDetailDialog.js +2 -2
- package/dist/task-board/components/TaskDetailDialog.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
- package/dist/task-board/components/TaskDetailPanel.js +23 -8
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +3 -2
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/components/TaskboardPersistentLogPanel.d.ts +11 -0
- package/dist/task-board/components/TaskboardPersistentLogPanel.js +141 -0
- package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -0
- package/dist/task-board/components/WizardTaskDetailsPanel.js +2 -1
- package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
- package/dist/task-board/persistentLogCopy.d.ts +7 -0
- package/dist/task-board/persistentLogCopy.js +80 -0
- package/dist/task-board/persistentLogCopy.js.map +1 -0
- package/dist/task-board/persistentLogLabels.d.ts +38 -0
- package/dist/task-board/persistentLogLabels.js +189 -0
- package/dist/task-board/persistentLogLabels.js.map +1 -0
- package/dist/task-board/services/taskService.d.ts +17 -1
- package/dist/task-board/services/taskService.js +56 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/taskExecutionRecords.js +2 -0
- package/dist/task-board/taskExecutionRecords.js.map +1 -1
- package/dist/task-board/types.d.ts +78 -1
- package/dist/task-board/useTaskBoardAgentPanelState.d.ts +34 -0
- package/dist/task-board/useTaskBoardAgentPanelState.js +283 -0
- package/dist/task-board/useTaskBoardAgentPanelState.js.map +1 -0
- package/dist/task-board/utils/taskDependencyOrdering.d.ts +6 -0
- package/dist/task-board/utils/taskDependencyOrdering.js +138 -1
- package/dist/task-board/utils/taskDependencyOrdering.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.d.ts +5 -2
- package/dist/task-board/views/DependencyGraphView.js +261 -69
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +8 -1
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +1 -1
- package/dist/task-board/views/ListView.js.map +1 -1
- package/dist/task-board/views/WizardView.js +30 -24
- package/dist/task-board/views/WizardView.js.map +1 -1
- package/dist/tour/Tour.js +0 -47
- package/dist/tour/Tour.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ import { getLinkedAgentId } from "../taskAgentLink";
|
|
|
20
20
|
import { getTaskExecutionRecordFromTask } from "../taskExecutionRecords";
|
|
21
21
|
import { TaskAssigneePicker } from "./TaskAssigneePicker";
|
|
22
22
|
import { stripAgentConfigFromResultData } from "../taskAgentConfig";
|
|
23
|
+
import { TaskboardPersistentLogPanel } from "./TaskboardPersistentLogPanel";
|
|
23
24
|
const statuses = [
|
|
24
25
|
{ value: "Todo", label: "Todo" },
|
|
25
26
|
{ value: "Waiting", label: "Waiting" },
|
|
@@ -46,7 +47,7 @@ function RelationshipRow(props) {
|
|
|
46
47
|
return (_jsxs("div", { className: "relative", children: [_jsx(TaskCard, { task: entry.task, selected: false, onClick: () => onSelectTask(entry.task.taskId), dependencyTaskIds: dependencyTaskIds, showDoneCheckmark: true }), canEdit ? (_jsx("div", { className: "absolute top-2 right-2 z-10", children: removeButton })) : null] }));
|
|
47
48
|
}
|
|
48
49
|
export function TaskDetailPanel(props) {
|
|
49
|
-
const { project, task, allTasks, dependencies, onTaskChanged, onSelectTask, onClose, variant = "panel", } = props;
|
|
50
|
+
const { project, projects = [], task, allTasks, dependencies, onTaskChanged, onSelectTask, onClose, variant = "panel", } = props;
|
|
50
51
|
const [commentText, setCommentText] = useState("");
|
|
51
52
|
const [commentRefreshKey, setCommentRefreshKey] = useState(0);
|
|
52
53
|
const [isCreateSubtaskOpen, setIsCreateSubtaskOpen] = useState(false);
|
|
@@ -165,6 +166,18 @@ export function TaskDetailPanel(props) {
|
|
|
165
166
|
})
|
|
166
167
|
.filter((entry) => entry !== null);
|
|
167
168
|
}, [task, dependencies, allTasks]);
|
|
169
|
+
const blockedByProjects = useMemo(() => {
|
|
170
|
+
if (!task)
|
|
171
|
+
return [];
|
|
172
|
+
const blockedProjectIds = task.executionBlockedByProjectIds || [];
|
|
173
|
+
return blockedProjectIds.map((projectId) => {
|
|
174
|
+
const linkedProject = projects.find((entry) => entry.project.projectId === projectId);
|
|
175
|
+
return {
|
|
176
|
+
projectId,
|
|
177
|
+
title: linkedProject?.project.title || projectId,
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
}, [projects, task]);
|
|
168
181
|
const setStatus = async (status) => {
|
|
169
182
|
if (!task)
|
|
170
183
|
return;
|
|
@@ -193,12 +206,12 @@ export function TaskDetailPanel(props) {
|
|
|
193
206
|
if (!task)
|
|
194
207
|
return;
|
|
195
208
|
const nextAssigneeId = assignee?.userName ?? null;
|
|
196
|
-
const currentAssigneeId = task.assigneeType === "
|
|
209
|
+
const currentAssigneeId = task.assigneeType === "user" ? (task.assigneeId ?? null) : null;
|
|
197
210
|
if (nextAssigneeId === currentAssigneeId)
|
|
198
211
|
return;
|
|
199
212
|
const result = await updateTask({
|
|
200
213
|
taskId: task.taskId,
|
|
201
|
-
assigneeType: "
|
|
214
|
+
assigneeType: "user",
|
|
202
215
|
assigneeId: nextAssigneeId ?? "",
|
|
203
216
|
});
|
|
204
217
|
if (result.type !== "success") {
|
|
@@ -216,7 +229,7 @@ export function TaskDetailPanel(props) {
|
|
|
216
229
|
if (!selection) {
|
|
217
230
|
const clear = await updateTask({
|
|
218
231
|
taskId: task.taskId,
|
|
219
|
-
assigneeType: "
|
|
232
|
+
assigneeType: "user",
|
|
220
233
|
assigneeId: "",
|
|
221
234
|
});
|
|
222
235
|
if (clear.type !== "success") {
|
|
@@ -226,7 +239,7 @@ export function TaskDetailPanel(props) {
|
|
|
226
239
|
toast.success("Assignee cleared");
|
|
227
240
|
return;
|
|
228
241
|
}
|
|
229
|
-
if (selection.assigneeType === "
|
|
242
|
+
if (selection.assigneeType === "user") {
|
|
230
243
|
await setAssignee({
|
|
231
244
|
userName: selection.assigneeId,
|
|
232
245
|
displayName: selection.displayName,
|
|
@@ -379,15 +392,17 @@ export function TaskDetailPanel(props) {
|
|
|
379
392
|
}, [task]);
|
|
380
393
|
return (_jsxs("div", { "data-testid": "taskboard-task-detail-panel", className: `flex h-full flex-col bg-slate-50/50 ${variant === "panel" ? "border-t" : ""}`, children: [_jsx("div", { className: "flex flex-col border-b bg-white p-4 shadow-sm", children: _jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [task && (_jsx(Badge, { variant: "outline", className: "h-5 shrink-0 border-slate-200 bg-slate-50 px-1.5 text-[10px] font-bold tracking-tight text-slate-500 uppercase", children: displayTaskId })), _jsx("h2", { className: "truncate text-base leading-none font-bold tracking-tight text-slate-900", "data-testid": "taskboard-task-detail-title", children: title })] }), task ? (_jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-1", children: [_jsx(Select, { "data-testid": "taskboard-task-detail-status-select", value: task.status, onValueChange: (v) => setStatus(v), disabled: !canEdit, options: statuses, className: "h-7 w-[130px] text-xs font-medium" }), _jsx(Select, { "data-testid": "taskboard-task-detail-priority-select", value: task.priority ?? "none", onValueChange: (v) => setPriority(v), disabled: !canEdit, options: priorities, className: "h-7 w-[140px] text-xs font-medium" }), !isPlanTask && project && (_jsx(TaskAssigneePicker, { projectId: project.project.projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, disabled: !canEdit, onChange: upsertAssignee, placeholder: "Assign user or agent", buttonTestId: "taskboard-task-detail-assignee-select" })), executionDisplay && (_jsxs(Badge, { variant: executionDisplay.variant, className: `h-5 gap-1 text-[10px] font-bold tracking-wider uppercase ${executionDisplay.className || ""}`, children: [executionDisplay.showSpinner && (_jsx(Loader2, { className: "h-2.5 w-2.5 animate-spin" })), executionDisplay.label] }))] })) : (_jsx("div", { className: "text-muted-foreground truncate text-sm italic", children: "No task selected" })), task ? (_jsx(TaskReviewActions, { task: task, agentId: getLinkedAgentId(task), canEdit: canEdit, onTaskChanged: onTaskChanged, className: "flex flex-wrap items-center gap-2 pt-2" })) : null] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [task && canEdit && (_jsx(Button, { variant: "ghost", size: "icon", onClick: handleDelete, className: "hover:text-destructive hover:bg-destructive/5 h-8 w-8 text-slate-400", title: "Delete task", "data-testid": "taskboard-task-detail-delete-button", children: _jsx(Trash2, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: "h-8 w-8 text-slate-400 hover:bg-slate-100 hover:text-slate-600", title: "Close", "data-testid": "taskboard-task-detail-close-button", children: _jsx(X, { className: "h-4 w-4" }) })] })] }) }), _jsx("div", { className: compactPanel
|
|
381
394
|
? "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-4"
|
|
382
|
-
: "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-description", value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Plan" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-plan", value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "rounded border border-blue-100 bg-blue-50/50 px-2 py-1.5 text-[11px] text-slate-500", "data-testid": "taskboard-task-plan-approval-hint", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " ", "Move this plan task to", " ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Dependencies", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (_jsx(RelationshipRow, { entry: blocking, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
383
|
-
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-1.5", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
395
|
+
: "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(TaskboardPersistentLogPanel, { scope: "task", projectId: task.projectId, taskId: task.taskId, title: "Execution Log", emptyMessage: "No task-scoped log entries yet.", refreshKey: `${task.taskId}:${task.executionUpdatedAt ?? task.updatedAt ?? ""}:${task.executionState}:${task.status}`, testId: "taskboard-task-detail-log-panel" })] }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-description", value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Plan" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-plan", value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "rounded border border-blue-100 bg-blue-50/50 px-2 py-1.5 text-[11px] text-slate-500", "data-testid": "taskboard-task-plan-approval-hint", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " ", "Move this plan task to", " ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Dependencies", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (_jsx(RelationshipRow, { entry: blocking, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
396
|
+
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockedByProjects.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By Project" }), _jsx("div", { className: "grid gap-1.5", children: blockedByProjects.map((blockingProject) => (_jsx("div", { className: "rounded-md border border-slate-200 bg-slate-50 px-3 py-2 text-xs text-slate-700", children: blockingProject.title }, blockingProject.projectId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-1.5", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
384
397
|
blocked.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocked.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocked.dependency.dependencyId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-1.5", children: relatedTasks.map((related) => (_jsx(RelationshipRow, { entry: related, compact: true, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
385
398
|
related.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(related.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, related.dependency.dependencyId))) })] })), blockedByTasks.length === 0 &&
|
|
399
|
+
blockedByProjects.length === 0 &&
|
|
386
400
|
blockingTasks.length === 0 &&
|
|
387
401
|
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No dependencies." }))] })] })), !compactPanel && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Parent Task" }), _jsx(Select, { value: currentParentValue, onValueChange: setParent, disabled: !canEdit, options: parentOptions, className: "bg-white text-[13px] shadow-sm" })] }), _jsxs("div", { className: "grid gap-2 pt-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-2", children: childTasks.map((child) => (_jsx(TaskCard, { task: child, selected: false, onClick: () => onSelectTask(child.taskId), dependencyTaskIds: getDependencyTaskIds(child.taskId) }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Relationships", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(LinkIcon, { className: "h-3 w-3" }) }))] }), _jsxs("div", { className: "grid gap-6", children: [blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-2", children: blockedByTasks.map((blocking) => (_jsx(RelationshipRow, { entry: blocking, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
388
|
-
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-2", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
402
|
+
blocking.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocking.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocking.dependency.dependencyId))) })] })), blockedByProjects.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By Project" }), _jsx("div", { className: "grid gap-2", children: blockedByProjects.map((blockingProject) => (_jsx("div", { className: "rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-700", children: blockingProject.title }, blockingProject.projectId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-2", children: blockingTasks.map((blocked) => (_jsx(RelationshipRow, { entry: blocked, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
389
403
|
blocked.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(blocked.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, blocked.dependency.dependencyId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-2", children: relatedTasks.map((related) => (_jsx(RelationshipRow, { entry: related, compact: false, canEdit: canEdit, isRemoving: removingDependencyId ===
|
|
390
404
|
related.dependency.dependencyId, dependencyTaskIds: getDependencyTaskIds(related.task.taskId), onSelectTask: onSelectTask, onRemove: removeRelationship }, related.dependency.dependencyId))) })] })), blockedByTasks.length === 0 &&
|
|
405
|
+
blockedByProjects.length === 0 &&
|
|
391
406
|
blockingTasks.length === 0 &&
|
|
392
407
|
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No relationships defined." }))] })] })] })), _jsx(TaskAttachmentsSection, { task: task, canEdit: canEdit, onTaskChanged: onTaskChanged }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MessageSquare, { className: "h-4 w-4 text-slate-400" }), _jsx("span", { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Add Comment" })] }), _jsxs("div", { className: "grid gap-3", children: [_jsx(Textarea, { value: commentText, onChange: (e) => setCommentText(e.target.value), rows: 3, placeholder: "Write a comment\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm transition-all focus-visible:ring-1 focus-visible:ring-slate-300" }), _jsx("div", { className: "flex justify-end", children: _jsx(Button, { size: "sm", onClick: submitComment, disabled: !canEdit || !commentText.trim(), className: "h-8 px-4 text-xs font-semibold", children: "Post comment" }) })] }), _jsx("div", { className: "mt-2", children: _jsx(CommentsList, { taskId: task.taskId, refreshKey: commentRefreshKey, currentUsername: editContext?.user?.name ?? null }) })] })] })) }), task && project && (_jsxs(_Fragment, { children: [_jsx(CreateTaskDialog, { open: isCreateSubtaskOpen, onOpenChange: setIsCreateSubtaskOpen, projectId: project.project.projectId, parentTaskId: task.taskId, availableParentTasks: allTasks, onCreated: onTaskChanged }), _jsx(AddDependencyDialog, { open: isAddDependencyOpen, onOpenChange: setIsAddDependencyOpen, task: task, allTasks: allTasks, onCreated: onTaskChanged })] }))] }));
|
|
393
408
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../lib/utils";
|
|
3
|
-
import { Loader2, User, Bot, Trash2, Circle, AlertTriangle, Shield, } from "lucide-react";
|
|
3
|
+
import { Loader2, User, Bot, Trash2, Circle, Ban, AlertTriangle, Shield, } from "lucide-react";
|
|
4
4
|
import { getDisplayableAssignee } from "../assigneeDisplay";
|
|
5
5
|
import { Badge } from "../../components/ui/badge";
|
|
6
6
|
import { getTaskExecutionDisplayFromTask } from "../taskExecutionStatus";
|
|
@@ -24,7 +24,8 @@ export function TaskRow(props) {
|
|
|
24
24
|
const executionIconTitle = executionDisplay?.label ?? "Execution idle";
|
|
25
25
|
const priorityBorderClass = task.priority ? priorityDotColors[task.priority] : "border-l-transparent";
|
|
26
26
|
const canEditInlineAssignee = !!projectId && !!onAssigneeChange && canEditAssignee && !isPlanTask;
|
|
27
|
-
|
|
27
|
+
const isBlocked = task.executionState === "WaitingForDependency";
|
|
28
|
+
return (_jsxs("div", { "data-testid": `taskboard-task-row-${task.taskId}`, className: cn("grid w-full grid-cols-[minmax(0,1fr)_6rem_7rem_2.5rem] gap-2.5 px-3.5 py-1.5 text-xs transition-colors border-l-2", priorityBorderClass, selected ? "bg-primary/5 shadow-sm" : "hover:bg-slate-50"), children: [_jsxs("button", { type: "button", onClick: onClick, className: "contents text-left", "data-testid": `taskboard-task-row-button-${task.taskId}`, children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [_jsx("span", { className: cn("inline-flex h-4 w-4 shrink-0 items-center justify-center", executionDisplay?.showSpinner && "text-primary", executionDisplay?.needsAttention && "text-amber-600", !executionDisplay && "text-slate-300"), title: executionIconTitle, children: executionDisplay?.showSpinner ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : isBlocked ? (_jsx(Ban, { className: "h-3 w-3" })) : executionDisplay?.needsAttention ? (_jsx(AlertTriangle, { className: "h-3 w-3" })) : (_jsx(Circle, { className: "h-2.5 w-2.5" })) }), _jsx("span", { "data-testid": `taskboard-task-title-${task.taskId}`, className: cn("truncate font-medium tracking-tight", selected ? "text-primary" : "text-slate-900"), title: task.description
|
|
28
29
|
? `${task.title} - ${task.description} (Priority: ${task.priority ?? "None"})`
|
|
29
30
|
: `${task.title} (Priority: ${task.priority ?? "None"})`, children: task.title })] }), _jsx("div", { className: "flex items-center", children: _jsx(Badge, { variant: "outline", className: "h-4 px-1.5 text-[9px] font-semibold uppercase tracking-wide", "data-testid": `taskboard-task-status-${task.taskId}`, children: getTaskStatusLabel(taskStatus) }) })] }), _jsx("div", { className: "flex items-center gap-1.5 text-slate-600", children: canEditInlineAssignee ? (_jsx(TaskAssigneePicker, { projectId: projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, onChange: onAssigneeChange, placeholder: "Assign user or agent", buttonClassName: "h-[29px] w-full min-w-0 justify-between rounded-md bg-gray-50 text-xs font-medium", buttonTestId: `taskboard-task-assignee-${task.taskId}` })) : (_jsxs(_Fragment, { children: [task.assigneeType === "Agent" ? (_jsx(Bot, { className: "h-3 w-3 shrink-0 text-slate-400" })) : task.assigneeType === "Role" ? (_jsx(Shield, { className: "h-3 w-3 shrink-0 text-slate-400" })) : (_jsx(User, { className: "h-3 w-3 shrink-0 text-slate-400" })), _jsx("span", { className: "truncate text-[11px] font-medium", title: assigneeValue, "data-testid": `taskboard-task-assignee-${task.taskId}`, children: assigneeValue })] })) }), _jsx("div", { className: "flex items-center justify-end", children: onDelete ? (_jsx("button", { type: "button", className: "rounded-md p-1 text-slate-400 transition-colors hover:bg-destructive/10 hover:text-destructive", title: "Delete task", onClick: onDelete, "data-testid": `taskboard-task-delete-${task.taskId}`, children: _jsx(Trash2, { className: "h-3.5 w-3.5" }) })) : null })] }));
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EACL,OAAO,EACP,IAAI,EACJ,GAAG,EACH,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAM,GACP,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,iBAAiB,GAAiC;IACtD,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,mBAAmB;IAC3B,GAAG,EAAE,oBAAoB;CAC1B,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,KAQvB;IACC,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,eAAe,GAAG,KAAK,EACvB,gBAAgB,GACjB,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;QACvD,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC;IACxF,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,KAAK,IAAI,gBAAgB,CAAC;IACvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACtG,MAAM,qBAAqB,GACzB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,gBAAgB,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function TaskboardPersistentLogPanel(props: {
|
|
2
|
+
scope: "project" | "task";
|
|
3
|
+
projectId?: string | null;
|
|
4
|
+
taskId?: string | null;
|
|
5
|
+
title: string;
|
|
6
|
+
emptyMessage: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
refreshKey?: string | number | null;
|
|
9
|
+
className?: string;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { RefreshCw, Bug, Check, Copy } from "lucide-react";
|
|
4
|
+
import { toast } from "sonner";
|
|
5
|
+
import { Badge } from "../../components/ui/badge";
|
|
6
|
+
import { Button } from "../../components/ui/button";
|
|
7
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../components/ui/popover";
|
|
8
|
+
import { cn } from "../../lib/utils";
|
|
9
|
+
import { formatPersistentLogsForCopy } from "../persistentLogCopy";
|
|
10
|
+
import { getProjectPersistentLogs, getTaskPersistentLogs, } from "../services/taskService";
|
|
11
|
+
import { formatPersistentLogEventType, formatPersistentLogStage, formatPersistentLogStatus, persistentLogAgentIdSnippetTooltip, persistentLogCreatedAtTooltip, persistentLogDurationTooltip, persistentLogEventTypeTooltip, persistentLogSeqTooltip, persistentLogSourceTooltip, persistentLogStageTooltip, persistentLogStatusTooltip, PERSISTENT_LOG_FIELD_HINT_COMPACT, } from "../persistentLogLabels";
|
|
12
|
+
function trimPreview(value, maxLength = 700) {
|
|
13
|
+
if (!value)
|
|
14
|
+
return null;
|
|
15
|
+
const normalized = value.trim();
|
|
16
|
+
if (!normalized)
|
|
17
|
+
return null;
|
|
18
|
+
if (normalized.length <= maxLength)
|
|
19
|
+
return normalized;
|
|
20
|
+
return `${normalized.slice(0, maxLength)}...`;
|
|
21
|
+
}
|
|
22
|
+
function formatDuration(durationMs) {
|
|
23
|
+
if (typeof durationMs !== "number" || !Number.isFinite(durationMs) || durationMs < 0) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
if (durationMs < 1000)
|
|
27
|
+
return `${durationMs}ms`;
|
|
28
|
+
return `${(durationMs / 1000).toFixed(durationMs >= 10000 ? 0 : 1)}s`;
|
|
29
|
+
}
|
|
30
|
+
function LogMetaLine({ entry }) {
|
|
31
|
+
const duration = formatDuration(entry.durationMs);
|
|
32
|
+
const hasAny = entry.source ||
|
|
33
|
+
typeof entry.seq === "number" ||
|
|
34
|
+
duration ||
|
|
35
|
+
entry.userId ||
|
|
36
|
+
entry.agentId;
|
|
37
|
+
if (!hasAny)
|
|
38
|
+
return null;
|
|
39
|
+
return (_jsxs("div", { className: "mt-1 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-slate-500", children: [entry.source ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "cursor-help", title: persistentLogSourceTooltip(entry.source), children: entry.source }), (typeof entry.seq === "number" || duration || entry.userId || entry.agentId) ? (_jsx("span", { "aria-hidden": true, className: "text-slate-300", children: "|" })) : null] })) : null, typeof entry.seq === "number" ? (_jsxs(_Fragment, { children: [_jsxs("span", { className: "cursor-help", title: persistentLogSeqTooltip(entry.seq), children: ["seq ", entry.seq] }), (duration || entry.userId || entry.agentId) ? (_jsx("span", { "aria-hidden": true, className: "text-slate-300", children: "|" })) : null] })) : null, duration ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "cursor-help", title: persistentLogDurationTooltip(duration), children: duration }), (entry.userId || entry.agentId) ? (_jsx("span", { "aria-hidden": true, className: "text-slate-300", children: "|" })) : null] })) : null, entry.userId ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "cursor-help max-w-[160px] truncate", title: `User or account associated with this log line. ${entry.userId}`, children: entry.userId }), entry.agentId ? (_jsx("span", { "aria-hidden": true, className: "text-slate-300", children: "|" })) : null] })) : null, entry.agentId ? (_jsxs("span", { className: "cursor-help font-mono", title: persistentLogAgentIdSnippetTooltip(entry.agentId), children: ["agent ", entry.agentId.slice(0, 8)] })) : null] }));
|
|
40
|
+
}
|
|
41
|
+
function renderPreviewBlock(label, value) {
|
|
42
|
+
const preview = trimPreview(value);
|
|
43
|
+
if (!preview)
|
|
44
|
+
return null;
|
|
45
|
+
return (_jsxs("div", { className: "grid gap-1", children: [_jsx("div", { className: "text-[10px] font-semibold tracking-wider text-slate-500 uppercase", children: label }), _jsx("pre", { className: "overflow-x-auto rounded border border-slate-200 bg-slate-50 p-1.5 text-[11px] leading-tight whitespace-pre-wrap text-slate-700", children: preview })] }));
|
|
46
|
+
}
|
|
47
|
+
function LogEntryCard({ entry }) {
|
|
48
|
+
const createdAtDisplay = useMemo(() => {
|
|
49
|
+
const createdAt = new Date(entry.createdAt);
|
|
50
|
+
if (Number.isNaN(createdAt.getTime()))
|
|
51
|
+
return entry.createdAt;
|
|
52
|
+
return createdAt.toLocaleString();
|
|
53
|
+
}, [entry.createdAt]);
|
|
54
|
+
const createdAtTitle = useMemo(() => {
|
|
55
|
+
const createdAt = new Date(entry.createdAt);
|
|
56
|
+
if (Number.isNaN(createdAt.getTime()))
|
|
57
|
+
return entry.createdAt;
|
|
58
|
+
return createdAt.toISOString();
|
|
59
|
+
}, [entry.createdAt]);
|
|
60
|
+
const statusTone = entry.success === false || entry.status?.toLowerCase() === "error"
|
|
61
|
+
? "destructive"
|
|
62
|
+
: entry.success === true
|
|
63
|
+
? "default"
|
|
64
|
+
: "secondary";
|
|
65
|
+
return (_jsxs("div", { className: "rounded border border-slate-100 bg-white p-2 text-[11px] leading-snug text-slate-700 shadow-sm transition-colors hover:border-slate-200", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-1.5", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [_jsx(Badge, { variant: "outline", className: "h-6 max-w-[140px] cursor-help border-slate-200 bg-slate-50 px-2 text-[11px] font-normal leading-none", title: persistentLogEventTypeTooltip(entry.eventType), children: _jsx("span", { className: "truncate", children: formatPersistentLogEventType(entry.eventType) }) }), entry.stage ? (_jsx(Badge, { variant: "outline", className: "h-6 max-w-[140px] cursor-help border-slate-200 bg-slate-50 px-2 text-[11px] font-normal leading-none", title: persistentLogStageTooltip(entry.stage), children: _jsx("span", { className: "truncate", children: formatPersistentLogStage(entry.stage) }) })) : null, entry.status ? (_jsx(Badge, { variant: statusTone, className: "h-6 max-w-[120px] cursor-help px-2 text-[11px] font-normal leading-none", title: persistentLogStatusTooltip(entry.status), children: _jsx("span", { className: "truncate", children: formatPersistentLogStatus(entry.status) }) })) : null] }), _jsx("span", { className: "cursor-help font-mono text-slate-500", title: persistentLogCreatedAtTooltip({
|
|
66
|
+
hasValidDate: !Number.isNaN(new Date(entry.createdAt).getTime()),
|
|
67
|
+
localDisplay: createdAtDisplay,
|
|
68
|
+
isoUtc: !Number.isNaN(new Date(entry.createdAt).getTime())
|
|
69
|
+
? new Date(entry.createdAt).toISOString()
|
|
70
|
+
: undefined,
|
|
71
|
+
raw: entry.createdAt,
|
|
72
|
+
}), children: createdAtDisplay })] }), entry.summary ? (_jsx("div", { className: "mt-1 text-slate-800", children: entry.summary })) : null, _jsx(LogMetaLine, { entry: entry }), entry.error ? (_jsx("div", { className: "mt-1.5 rounded border border-red-100 bg-red-50/50 px-2 py-1 text-[11px] leading-snug text-red-700", children: entry.error })) : null, entry.payloadPreview || entry.resultPreview || entry.metadataJson ? (_jsxs("details", { className: "mt-2 group", children: [_jsxs("summary", { className: "cursor-pointer list-none text-slate-500 hover:text-slate-700 transition-colors", children: [_jsx("span", { className: "inline-block transition-transform group-open:rotate-90 mr-1", children: "\u25B6" }), "Details"] }), _jsxs("div", { className: "mt-1.5 grid gap-1.5 border-l-2 border-slate-100 pl-2", children: [renderPreviewBlock("Payload", entry.payloadPreview), renderPreviewBlock("Result", entry.resultPreview), renderPreviewBlock("Metadata", entry.metadataJson)] })] })) : null] }));
|
|
73
|
+
}
|
|
74
|
+
export function TaskboardPersistentLogPanel(props) {
|
|
75
|
+
const { scope, projectId = null, taskId = null, title, emptyMessage, limit = 100, refreshKey = null, className, testId, } = props;
|
|
76
|
+
const [logs, setLogs] = useState([]);
|
|
77
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
78
|
+
const [error, setError] = useState(null);
|
|
79
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
80
|
+
const [hasCopied, setHasCopied] = useState(false);
|
|
81
|
+
const canLoad = scope === "task" ? Boolean(taskId && taskId.trim()) : Boolean(projectId && projectId.trim());
|
|
82
|
+
const copyText = useMemo(() => formatPersistentLogsForCopy(logs, {
|
|
83
|
+
title,
|
|
84
|
+
}), [logs, title]);
|
|
85
|
+
const loadLogs = useCallback(async () => {
|
|
86
|
+
if (!canLoad) {
|
|
87
|
+
setLogs([]);
|
|
88
|
+
setError(null);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
setIsLoading(true);
|
|
92
|
+
setError(null);
|
|
93
|
+
const result = scope === "task" && taskId
|
|
94
|
+
? await getTaskPersistentLogs(taskId, { limit })
|
|
95
|
+
: await getProjectPersistentLogs(projectId, { limit });
|
|
96
|
+
if (result.type === "success") {
|
|
97
|
+
setLogs(result.data?.logs || []);
|
|
98
|
+
setError(null);
|
|
99
|
+
}
|
|
100
|
+
else if (result.type === "unauthorized") {
|
|
101
|
+
setLogs([]);
|
|
102
|
+
setError("You are not authorized to view agent and taskboard logs.");
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
setLogs([]);
|
|
106
|
+
setError(result.summary || "Failed to load agent and taskboard logs.");
|
|
107
|
+
}
|
|
108
|
+
setIsLoading(false);
|
|
109
|
+
}, [canLoad, limit, projectId, scope, taskId]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (isOpen) {
|
|
112
|
+
void loadLogs();
|
|
113
|
+
}
|
|
114
|
+
}, [loadLogs, refreshKey, isOpen]);
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
if (!hasCopied)
|
|
117
|
+
return;
|
|
118
|
+
const timeoutId = window.setTimeout(() => setHasCopied(false), 1500);
|
|
119
|
+
return () => window.clearTimeout(timeoutId);
|
|
120
|
+
}, [hasCopied]);
|
|
121
|
+
const handleCopy = useCallback(async () => {
|
|
122
|
+
if (!copyText)
|
|
123
|
+
return;
|
|
124
|
+
try {
|
|
125
|
+
await navigator.clipboard.writeText(copyText);
|
|
126
|
+
setHasCopied(true);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error("Failed to copy taskboard persistent logs:", error);
|
|
130
|
+
toast.error("Failed to copy agent and taskboard logs.");
|
|
131
|
+
}
|
|
132
|
+
}, [copyText]);
|
|
133
|
+
return (_jsx("div", { className: cn("flex items-center", className), "data-testid": testId, children: _jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "sm", className: "h-8 gap-2 px-2 text-slate-500 hover:bg-slate-100 hover:text-slate-900", title: `${title} — Agent and taskboard logs`, children: [_jsx(Bug, { className: "h-4 w-4" }), _jsx("span", { className: "text-xs font-medium", children: "Agent & taskboard" })] }) }), _jsx(PopoverContent, { align: "end", className: "w-[450px] p-0 shadow-xl", sideOffset: 8, children: _jsxs("div", { className: "flex flex-col max-h-[600px]", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-slate-100 bg-slate-50/50 px-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Bug, { className: "h-3.5 w-3.5 text-slate-400" }), _jsx("span", { className: "text-[11px] font-bold tracking-wider text-slate-600 uppercase", children: title })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "h-7 gap-1 px-2 text-[11px] text-slate-400 hover:text-slate-600", onClick: (event) => {
|
|
134
|
+
event.stopPropagation();
|
|
135
|
+
void handleCopy();
|
|
136
|
+
}, disabled: !copyText, title: "Copy currently loaded agent and taskboard logs", children: [hasCopied ? (_jsx(Check, { className: "h-3.5 w-3.5" })) : (_jsx(Copy, { className: "h-3.5 w-3.5" })), hasCopied ? "Copied" : "Copy"] }), _jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "h-7 w-7 text-slate-400 hover:text-slate-600", onClick: (e) => {
|
|
137
|
+
e.stopPropagation();
|
|
138
|
+
void loadLogs();
|
|
139
|
+
}, disabled: isLoading || !canLoad, title: "Refresh agent and taskboard logs", children: _jsx(RefreshCw, { className: cn("h-3.5 w-3.5", isLoading ? "animate-spin" : "") }) })] })] }), _jsx("p", { className: "border-b border-slate-100 px-3 py-1.5 text-[10px] leading-snug text-slate-500", children: PERSISTENT_LOG_FIELD_HINT_COMPACT }), _jsx("div", { className: "flex-1 overflow-y-auto p-2", children: isLoading && logs.length === 0 ? (_jsxs("div", { className: "py-8 text-center text-sm text-slate-400", children: [_jsx(RefreshCw, { className: "mx-auto mb-2 h-4 w-4 animate-spin opacity-20" }), "Loading logs..."] })) : error ? (_jsx("div", { className: "rounded border border-red-100 bg-red-50 p-3 text-xs text-red-700", children: error })) : logs.length === 0 ? (_jsx("div", { className: "py-8 text-center text-sm text-slate-400", children: emptyMessage })) : (_jsx("div", { className: "grid gap-2", children: logs.map((entry) => (_jsx(LogEntryCard, { entry: entry }, entry.logId))) })) })] }) })] }) }));
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=TaskboardPersistentLogPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskboardPersistentLogPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskboardPersistentLogPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { getDisplayableAssignee } from "../assigneeDisplay";
|
|
|
7
7
|
import { TaskAttachmentsSection } from "./TaskAttachmentsSection";
|
|
8
8
|
import { TaskReviewActions } from "./TaskReviewActions";
|
|
9
9
|
import { compactMarkdownComponents, WizardTaskStatusBadge, } from "./WizardCommunicationShared";
|
|
10
|
+
import { TaskboardPersistentLogPanel } from "./TaskboardPersistentLogPanel";
|
|
10
11
|
export function WizardTaskDetailsPanel(props) {
|
|
11
12
|
const { task, agentId, executionDisplay, canEdit, isPlanTask, isEditingDescription, localDescriptionMarkdown, isSavingDescription, isEditingPlan, localPlanMarkdown, isSavingPlan, shouldCollapseApprovalCommunication, openChatButton, onDescriptionEdit, onDescriptionChange, onDescriptionSave, onDescriptionCancel, onPlanEdit, onPlanChange, onPlanSave, onPlanCancel, onTaskChanged, onTaskApproved, onCloseTask, } = props;
|
|
12
13
|
if (!task) {
|
|
@@ -19,6 +20,6 @@ export function WizardTaskDetailsPanel(props) {
|
|
|
19
20
|
: "border-slate-200 bg-slate-50 text-slate-700")}`, children: executionDisplay.label })) : null, (() => {
|
|
20
21
|
const assignee = getDisplayableAssignee(task, { isPlanTask });
|
|
21
22
|
return assignee !== "Unassigned" ? (_jsx("span", { className: "rounded-full border border-slate-200 bg-slate-50 px-2.5 py-1 font-medium text-slate-700", children: assignee })) : null;
|
|
22
|
-
})()] }), _jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-[10px] font-semibold tracking-[0.14em] text-slate-500 uppercase", children: "Description" }), canEdit && !isEditingDescription ? (_jsxs(Button, { type: "button", variant: "outline", size: "sm", className: "h-7 px-2 text-[11px]", onClick: onDescriptionEdit, children: [_jsx(FileText, { className: "h-3.5 w-3.5" }), "Edit description"] })) : null] }), isEditingDescription ? (_jsxs("div", { className: "mt-1 space-y-2", children: [_jsx(Textarea, { value: localDescriptionMarkdown, onChange: (event) => onDescriptionChange(event.target.value), rows: 8, disabled: isSavingDescription, className: "min-h-[180px] font-mono text-sm" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", size: "sm", onClick: onDescriptionSave, disabled: isSavingDescription, children: [isSavingDescription ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : null, "Save description"] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: onDescriptionCancel, disabled: isSavingDescription, children: "Cancel" })] })] })) : task.description?.trim() ? (_jsx(MarkdownDisplay, { source: task.description, className: "mt-1 text-xs text-slate-600", components: compactMarkdownComponents })) : (_jsx("p", { className: "mt-1 text-xs text-slate-400", children: "No task description yet." }))] }), task.resultData?.trim() || (isPlanTask && canEdit) ? (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-[10px] font-semibold tracking-[0.14em] text-slate-500 uppercase", children: "Results" }), isPlanTask && canEdit && !isEditingPlan ? (_jsxs(Button, { type: "button", variant: "outline", size: "sm", className: "h-7 px-2 text-[11px]", onClick: onPlanEdit, children: [_jsx(FilePenLine, { className: "h-3.5 w-3.5" }), "Edit plan"] })) : null] }), isPlanTask && isEditingPlan ? (_jsxs("div", { className: "mt-1 space-y-2", children: [_jsx(Textarea, { value: localPlanMarkdown, onChange: (event) => onPlanChange(event.target.value), rows: 12, disabled: isSavingPlan, className: "min-h-[220px] font-mono text-sm" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", size: "sm", onClick: onPlanSave, disabled: isSavingPlan, children: [isSavingPlan ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : null, "Save plan"] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: onPlanCancel, disabled: isSavingPlan, children: "Cancel" })] })] })) : task.resultData?.trim() ? (_jsx(MarkdownDisplay, { source: task.resultData, className: "mt-1 text-xs text-slate-600", components: compactMarkdownComponents })) : (_jsx("p", { className: "mt-1 text-xs text-slate-400", children: "No plan has been written yet." }))] })) : null, _jsx(TaskAttachmentsSection, { task: task, canEdit: canEdit, onTaskChanged: onTaskChanged, className: "pt-4" })] }) }), onTaskChanged ? (_jsx("div", { className: "shrink-0 border-t border-slate-200 bg-white px-1 py-3", children: _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(TaskReviewActions, { task: task, agentId: agentId, canEdit: canEdit, onTaskChanged: onTaskChanged, onTaskApproved: onTaskApproved, className: "flex flex-wrap items-center gap-2" }), shouldCollapseApprovalCommunication ? openChatButton : null] }) })) : null] }) }));
|
|
23
|
+
})()] }), _jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-[10px] font-semibold tracking-[0.14em] text-slate-500 uppercase", children: "Description" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(TaskboardPersistentLogPanel, { scope: "task", projectId: task.projectId, taskId: task.taskId, title: "Execution Log", emptyMessage: "No task-scoped log entries yet.", refreshKey: `${task.taskId}:${task.executionUpdatedAt ?? task.updatedAt ?? ""}:${task.executionState}:${task.status}`, testId: "taskboard-wizard-task-log-panel" }), canEdit && !isEditingDescription ? (_jsxs(Button, { type: "button", variant: "outline", size: "sm", className: "h-7 px-2 text-[11px]", onClick: onDescriptionEdit, children: [_jsx(FileText, { className: "h-3.5 w-3.5" }), "Edit description"] })) : null] })] }), isEditingDescription ? (_jsxs("div", { className: "mt-1 space-y-2", children: [_jsx(Textarea, { value: localDescriptionMarkdown, onChange: (event) => onDescriptionChange(event.target.value), rows: 8, disabled: isSavingDescription, className: "min-h-[180px] font-mono text-sm" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", size: "sm", onClick: onDescriptionSave, disabled: isSavingDescription, children: [isSavingDescription ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : null, "Save description"] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: onDescriptionCancel, disabled: isSavingDescription, children: "Cancel" })] })] })) : task.description?.trim() ? (_jsx(MarkdownDisplay, { source: task.description, className: "mt-1 text-xs text-slate-600", components: compactMarkdownComponents })) : (_jsx("p", { className: "mt-1 text-xs text-slate-400", children: "No task description yet." }))] }), task.resultData?.trim() || (isPlanTask && canEdit) ? (_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-[10px] font-semibold tracking-[0.14em] text-slate-500 uppercase", children: "Results" }), isPlanTask && canEdit && !isEditingPlan ? (_jsxs(Button, { type: "button", variant: "outline", size: "sm", className: "h-7 px-2 text-[11px]", onClick: onPlanEdit, children: [_jsx(FilePenLine, { className: "h-3.5 w-3.5" }), "Edit plan"] })) : null] }), isPlanTask && isEditingPlan ? (_jsxs("div", { className: "mt-1 space-y-2", children: [_jsx(Textarea, { value: localPlanMarkdown, onChange: (event) => onPlanChange(event.target.value), rows: 12, disabled: isSavingPlan, className: "min-h-[220px] font-mono text-sm" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", size: "sm", onClick: onPlanSave, disabled: isSavingPlan, children: [isSavingPlan ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin" })) : null, "Save plan"] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: onPlanCancel, disabled: isSavingPlan, children: "Cancel" })] })] })) : task.resultData?.trim() ? (_jsx(MarkdownDisplay, { source: task.resultData, className: "mt-1 text-xs text-slate-600", components: compactMarkdownComponents })) : (_jsx("p", { className: "mt-1 text-xs text-slate-400", children: "No plan has been written yet." }))] })) : null, _jsx(TaskAttachmentsSection, { task: task, canEdit: canEdit, onTaskChanged: onTaskChanged, className: "pt-4" })] }) }), onTaskChanged ? (_jsx("div", { className: "shrink-0 border-t border-slate-200 bg-white px-1 py-3", children: _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(TaskReviewActions, { task: task, agentId: agentId, canEdit: canEdit, onTaskChanged: onTaskChanged, onTaskApproved: onTaskApproved, className: "flex flex-wrap items-center gap-2" }), shouldCollapseApprovalCommunication ? openChatButton : null] }) })) : null] }) }));
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=WizardTaskDetailsPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardTaskDetailsPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/WizardTaskDetailsPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"WizardTaskDetailsPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/WizardTaskDetailsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TaskboardPersistentLogEntry } from "./types";
|
|
2
|
+
type PersistentLogCopyOptions = {
|
|
3
|
+
title?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function formatPersistentLogEntryForCopy(entry: TaskboardPersistentLogEntry, index?: number): string;
|
|
6
|
+
export declare function formatPersistentLogsForCopy(entries: TaskboardPersistentLogEntry[], options?: PersistentLogCopyOptions): string;
|
|
7
|
+
export {};
|