@parhelia/core 0.1.12337 → 0.1.12345
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/dialog.js +2 -2
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/editor/MobileLayout.js +4 -4
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +8 -8
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/ToolCallDisplay.d.ts +5 -0
- package/dist/editor/ai/ToolCallDisplay.js +139 -92
- package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +38 -45
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/context-menu/InsertMenu.js +13 -4
- package/dist/editor/context-menu/InsertMenu.js.map +1 -1
- package/dist/editor/media-selector/MediaSelector.js +1 -1
- package/dist/editor/media-selector/MediaSelector.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +2 -2
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/Separator.js +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +20 -7
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +22 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +8 -0
- package/dist/editor/services/agentService.js +7 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.js +1 -1
- package/dist/editor/sidebar/LabelButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.d.ts +4 -4
- package/dist/editor/sidebar/WorkspaceRailMobile.js +23 -13
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +12 -7
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +76 -65
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +1 -1
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +20 -0
- package/dist/task-board/components/ProjectListContent.js +56 -0
- package/dist/task-board/components/ProjectListContent.js.map +1 -0
- package/dist/task-board/components/ProjectSelector.js +4 -52
- package/dist/task-board/components/ProjectSelector.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +16 -16
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.d.ts +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +3 -0
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/services/taskService.d.ts +2 -1
- package/dist/task-board/services/taskService.js +3 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/types.d.ts +9 -1
- package/package.json +1 -1
|
@@ -3,6 +3,11 @@ import "react-json-view-lite/dist/index.css";
|
|
|
3
3
|
export type ApprovalInfo = {
|
|
4
4
|
summary: string;
|
|
5
5
|
riskLevel?: "low" | "medium" | "high";
|
|
6
|
+
allowableScope?: {
|
|
7
|
+
parentItemId: string;
|
|
8
|
+
parentItemPath?: string;
|
|
9
|
+
operationType: string;
|
|
10
|
+
};
|
|
6
11
|
};
|
|
7
12
|
export interface BaseToolCall {
|
|
8
13
|
id: string;
|
|
@@ -5,7 +5,7 @@ import "react-json-view-lite/dist/index.css";
|
|
|
5
5
|
import { Spinner } from "../ui/Spinner";
|
|
6
6
|
import { Button } from "../../components/ui/button";
|
|
7
7
|
import { CopyButton } from "../../components/ui/copy-button";
|
|
8
|
-
import { approveToolCall, rejectToolCall, updateAgentSettings } from "../services/agentService";
|
|
8
|
+
import { approveToolCall, createOperationAllowance, rejectToolCall, updateAgentSettings, } from "../services/agentService";
|
|
9
9
|
// Custom dark theme styles for JSON view
|
|
10
10
|
const darkJsonStyles = {
|
|
11
11
|
...defaultStyles,
|
|
@@ -189,44 +189,68 @@ const ToolCallDetails = memo(({ toolCall, result }) => {
|
|
|
189
189
|
});
|
|
190
190
|
ToolCallDetails.displayName = "ToolCallDetails";
|
|
191
191
|
export function ToolCallDisplay({ toolCalls, finished, openPopovers, setOpenPopovers, messageId, agentId, allPendingApprovals = [], onSwitchToAutonomous, seenApprovalDialogs, onApprovalDialogShown, }) {
|
|
192
|
-
const [
|
|
192
|
+
const [batchRiskAction, setBatchRiskAction] = useState(null);
|
|
193
193
|
const [isSwitchingMode, setIsSwitchingMode] = useState(false);
|
|
194
194
|
if (!toolCalls || toolCalls.length === 0) {
|
|
195
195
|
return null;
|
|
196
196
|
}
|
|
197
|
+
const resolvePendingToolCalls = async (pendingToolCalls, approved) => {
|
|
198
|
+
if (!agentId || pendingToolCalls.length === 0)
|
|
199
|
+
return;
|
|
200
|
+
const actionLabel = approved ? "approve" : "reject";
|
|
201
|
+
await Promise.all(pendingToolCalls.map(async (pending) => {
|
|
202
|
+
try {
|
|
203
|
+
const params = {
|
|
204
|
+
agentId,
|
|
205
|
+
messageId: pending.dbMessageId || pending.messageId,
|
|
206
|
+
toolCallId: pending.toolCallId,
|
|
207
|
+
};
|
|
208
|
+
if (approved) {
|
|
209
|
+
await approveToolCall(params);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
await rejectToolCall(params);
|
|
213
|
+
}
|
|
214
|
+
window.dispatchEvent(new CustomEvent("agent:toolApprovalResolved", {
|
|
215
|
+
detail: {
|
|
216
|
+
messageId: pending.dbMessageId || pending.messageId,
|
|
217
|
+
toolCallId: pending.toolCallId,
|
|
218
|
+
approved,
|
|
219
|
+
},
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
console.error(`Failed to ${actionLabel} tool call ${pending.toolCallId}:`, error);
|
|
224
|
+
}
|
|
225
|
+
}));
|
|
226
|
+
};
|
|
197
227
|
// Helper to approve all pending tool calls with a specific risk level
|
|
198
228
|
const handleApproveAllByRisk = async (riskLevel) => {
|
|
199
|
-
if (!agentId ||
|
|
229
|
+
if (!agentId || batchRiskAction)
|
|
200
230
|
return;
|
|
201
231
|
const matchingPending = allPendingApprovals.filter((p) => (p.riskLevel || undefined) === riskLevel);
|
|
202
232
|
if (matchingPending.length === 0)
|
|
203
233
|
return;
|
|
204
|
-
|
|
234
|
+
setBatchRiskAction("approve");
|
|
205
235
|
try {
|
|
206
|
-
|
|
207
|
-
await Promise.all(matchingPending.map(async (pending) => {
|
|
208
|
-
try {
|
|
209
|
-
await approveToolCall({
|
|
210
|
-
agentId,
|
|
211
|
-
messageId: pending.dbMessageId || pending.messageId,
|
|
212
|
-
toolCallId: pending.toolCallId,
|
|
213
|
-
});
|
|
214
|
-
// Dispatch event to update UI
|
|
215
|
-
window.dispatchEvent(new CustomEvent("agent:toolApprovalResolved", {
|
|
216
|
-
detail: {
|
|
217
|
-
messageId: pending.dbMessageId || pending.messageId,
|
|
218
|
-
toolCallId: pending.toolCallId,
|
|
219
|
-
approved: true,
|
|
220
|
-
},
|
|
221
|
-
}));
|
|
222
|
-
}
|
|
223
|
-
catch (error) {
|
|
224
|
-
console.error(`Failed to approve tool call ${pending.toolCallId}:`, error);
|
|
225
|
-
}
|
|
226
|
-
}));
|
|
236
|
+
await resolvePendingToolCalls(matchingPending, true);
|
|
227
237
|
}
|
|
228
238
|
finally {
|
|
229
|
-
|
|
239
|
+
setBatchRiskAction(null);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
const handleRejectAllByRisk = async (riskLevel) => {
|
|
243
|
+
if (!agentId || batchRiskAction)
|
|
244
|
+
return;
|
|
245
|
+
const matchingPending = allPendingApprovals.filter((p) => (p.riskLevel || undefined) === riskLevel);
|
|
246
|
+
if (matchingPending.length === 0)
|
|
247
|
+
return;
|
|
248
|
+
setBatchRiskAction("reject");
|
|
249
|
+
try {
|
|
250
|
+
await resolvePendingToolCalls(matchingPending, false);
|
|
251
|
+
}
|
|
252
|
+
finally {
|
|
253
|
+
setBatchRiskAction(null);
|
|
230
254
|
}
|
|
231
255
|
};
|
|
232
256
|
// Helper to switch to autonomous mode
|
|
@@ -239,25 +263,7 @@ export function ToolCallDisplay({ toolCalls, finished, openPopovers, setOpenPopo
|
|
|
239
263
|
onSwitchToAutonomous?.();
|
|
240
264
|
// After switching to autonomous, approve all remaining pending tool calls
|
|
241
265
|
if (allPendingApprovals.length > 0) {
|
|
242
|
-
await
|
|
243
|
-
try {
|
|
244
|
-
await approveToolCall({
|
|
245
|
-
agentId,
|
|
246
|
-
messageId: pending.dbMessageId || pending.messageId,
|
|
247
|
-
toolCallId: pending.toolCallId,
|
|
248
|
-
});
|
|
249
|
-
window.dispatchEvent(new CustomEvent("agent:toolApprovalResolved", {
|
|
250
|
-
detail: {
|
|
251
|
-
messageId: pending.dbMessageId || pending.messageId,
|
|
252
|
-
toolCallId: pending.toolCallId,
|
|
253
|
-
approved: true,
|
|
254
|
-
},
|
|
255
|
-
}));
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
console.error(`Failed to approve tool call ${pending.toolCallId}:`, error);
|
|
259
|
-
}
|
|
260
|
-
}));
|
|
266
|
+
await resolvePendingToolCalls(allPendingApprovals, true);
|
|
261
267
|
}
|
|
262
268
|
}
|
|
263
269
|
catch (error) {
|
|
@@ -290,6 +296,14 @@ export function ToolCallDisplay({ toolCalls, finished, openPopovers, setOpenPopo
|
|
|
290
296
|
const originalFunctionName = ("functionName" in originalToolCall
|
|
291
297
|
? originalToolCall.functionName
|
|
292
298
|
: toolCall?.function?.name) || "";
|
|
299
|
+
const baseFunctionName = originalFunctionName
|
|
300
|
+
.replace(" (approved)", "")
|
|
301
|
+
.replace(" (rejected)", "")
|
|
302
|
+
.replace(" (pending approval)", "")
|
|
303
|
+
.trim()
|
|
304
|
+
.toLowerCase();
|
|
305
|
+
const hideAutonomousSwitch = baseFunctionName === "delete-item" ||
|
|
306
|
+
baseFunctionName === "delete-items";
|
|
293
307
|
const isApproved = originalFunctionName.includes("(approved)");
|
|
294
308
|
const isRejected = originalFunctionName.includes("(rejected)");
|
|
295
309
|
const isPending = originalFunctionName.includes("(pending approval)");
|
|
@@ -312,12 +326,13 @@ export function ToolCallDisplay({ toolCalls, finished, openPopovers, setOpenPopo
|
|
|
312
326
|
"(function name missing)")
|
|
313
327
|
.replace(" (approved)", "")
|
|
314
328
|
.replace(" (rejected)", "")
|
|
315
|
-
.replace(" (pending approval)", ""), toolCall.function?.error && !isRejected && (_jsx("span", { className: "ml-1 text-red-500", children: "(error)" })), finalApprovalInfo && isApproved && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-[10px] font-semibold text-green-700", children: [_jsx("span", { children: "\u2713" }), " Approved"] })), finalApprovalInfo && isRejected && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-[10px] font-semibold text-red-700", children: [_jsx("span", { children: "\u2717" }), " Rejected"] })), finalApprovalInfo && isPending && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-[10px] font-semibold text-amber-700", children: [_jsx("span", { children: "\u23F8" }), " Pending approval"] }))] }) })] }), isExpanded && (_jsx(ToolCallDetails, { toolCall: toolCall, result: toolResult })), !isCompleted && finalApprovalInfo && !hasApprovalStatus && (_jsx(ApprovalDialog, { toolCallId: toolCallIdForApproval, onApprovalDialogShown: onApprovalDialogShown, finalApprovalInfo: finalApprovalInfo, isAgentToolCall: isAgentToolCall, originalToolCall: originalToolCall, toolCall: toolCall, messageId: messageId, agentId: agentId, allPendingApprovals: allPendingApprovals, onSwitchToAutonomous: onSwitchToAutonomous, isSwitchingMode: isSwitchingMode, setIsSwitchingMode: setIsSwitchingMode,
|
|
329
|
+
.replace(" (pending approval)", ""), toolCall.function?.error && !isRejected && (_jsx("span", { className: "ml-1 text-red-500", children: "(error)" })), finalApprovalInfo && isApproved && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-[10px] font-semibold text-green-700", children: [_jsx("span", { children: "\u2713" }), " Approved"] })), finalApprovalInfo && isRejected && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-[10px] font-semibold text-red-700", children: [_jsx("span", { children: "\u2717" }), " Rejected"] })), finalApprovalInfo && isPending && (_jsxs("span", { className: "ml-2 inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-[10px] font-semibold text-amber-700", children: [_jsx("span", { children: "\u23F8" }), " Pending approval"] }))] }) })] }), isExpanded && (_jsx(ToolCallDetails, { toolCall: toolCall, result: toolResult })), !isCompleted && finalApprovalInfo && !hasApprovalStatus && (_jsx(ApprovalDialog, { toolCallId: toolCallIdForApproval, onApprovalDialogShown: onApprovalDialogShown, finalApprovalInfo: finalApprovalInfo, isAgentToolCall: isAgentToolCall, originalToolCall: originalToolCall, toolCall: toolCall, messageId: messageId, agentId: agentId, allPendingApprovals: allPendingApprovals, onSwitchToAutonomous: onSwitchToAutonomous, hideAutonomousSwitch: hideAutonomousSwitch, isSwitchingMode: isSwitchingMode, setIsSwitchingMode: setIsSwitchingMode, batchRiskAction: batchRiskAction, handleApproveAllByRisk: handleApproveAllByRisk, handleRejectAllByRisk: handleRejectAllByRisk, handleSwitchToAutonomous: handleSwitchToAutonomous }))] }, toolIndex));
|
|
316
330
|
}) }));
|
|
317
331
|
}
|
|
318
332
|
// Separate component for approval dialog to properly handle useEffect
|
|
319
|
-
function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo, isAgentToolCall, originalToolCall, toolCall, messageId, agentId, allPendingApprovals, onSwitchToAutonomous, isSwitchingMode, setIsSwitchingMode,
|
|
333
|
+
function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo, isAgentToolCall, originalToolCall, toolCall, messageId, agentId, allPendingApprovals, onSwitchToAutonomous, hideAutonomousSwitch, isSwitchingMode, setIsSwitchingMode, batchRiskAction, handleApproveAllByRisk, handleRejectAllByRisk, handleSwitchToAutonomous, }) {
|
|
320
334
|
const hasMarkedAsShown = useRef(false);
|
|
335
|
+
const [isCreatingAllowance, setIsCreatingAllowance] = useState(false);
|
|
321
336
|
// Mark dialog as shown on mount to prevent duplicate dialogs
|
|
322
337
|
// The dialog stays visible until hasApprovalStatus becomes true (after approve/reject)
|
|
323
338
|
useEffect(() => {
|
|
@@ -340,6 +355,43 @@ function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo,
|
|
|
340
355
|
hasMarkedAsShown.current = true;
|
|
341
356
|
}
|
|
342
357
|
};
|
|
358
|
+
const getActualMessageId = () => {
|
|
359
|
+
return isAgentToolCall
|
|
360
|
+
? originalToolCall.dbMessageId || originalToolCall.messageId
|
|
361
|
+
: messageId;
|
|
362
|
+
};
|
|
363
|
+
const dispatchApprovalResolved = (actualMessageId, approved) => {
|
|
364
|
+
const ev = new CustomEvent("agent:toolApprovalResolved", {
|
|
365
|
+
detail: {
|
|
366
|
+
messageId: actualMessageId,
|
|
367
|
+
toolCallId: toolCall.id,
|
|
368
|
+
approved,
|
|
369
|
+
},
|
|
370
|
+
});
|
|
371
|
+
window.dispatchEvent(ev);
|
|
372
|
+
};
|
|
373
|
+
const approveCurrentToolCall = async () => {
|
|
374
|
+
const actualMessageId = getActualMessageId();
|
|
375
|
+
if (!agentId) {
|
|
376
|
+
console.error("Cannot approve tool call: agentId is missing");
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
if (!actualMessageId) {
|
|
380
|
+
console.error("Cannot approve tool call: messageId is missing");
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
await approveToolCall({
|
|
384
|
+
agentId,
|
|
385
|
+
messageId: actualMessageId,
|
|
386
|
+
toolCallId: toolCall.id,
|
|
387
|
+
});
|
|
388
|
+
dispatchApprovalResolved(actualMessageId, true);
|
|
389
|
+
};
|
|
390
|
+
const allowableScope = finalApprovalInfo.allowableScope;
|
|
391
|
+
const showAllowInScopeButton = !!agentId &&
|
|
392
|
+
allowableScope?.operationType === "delete" &&
|
|
393
|
+
!!allowableScope.parentItemId &&
|
|
394
|
+
!!allowableScope.parentItemPath;
|
|
343
395
|
return (_jsxs("div", { className: "mt-2 overflow-hidden rounded-lg border border-amber-200 bg-gradient-to-br from-amber-50 to-amber-50/30 shadow-sm", children: [_jsx("div", { className: "border-b border-amber-200/60 bg-amber-50/80 p-3", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: `mt-1 h-2.5 w-2.5 rounded-full shadow-sm ${finalApprovalInfo.riskLevel === "high"
|
|
344
396
|
? "bg-red-500 ring-2 ring-red-200"
|
|
345
397
|
: finalApprovalInfo.riskLevel === "medium"
|
|
@@ -348,13 +400,32 @@ function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo,
|
|
|
348
400
|
? "bg-red-100 text-red-700"
|
|
349
401
|
: finalApprovalInfo.riskLevel === "medium"
|
|
350
402
|
? "bg-amber-100 text-amber-700"
|
|
351
|
-
: "bg-green-100 text-green-700"}`, children: [_jsx("span", { className: "font-normal", children: "Risk:" }), _jsx("span", { className: "uppercase", children: finalApprovalInfo.riskLevel })] }))] })] }) }), _jsxs("div", { className: "flex flex-col gap-2 bg-white/60 p-3", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-end gap-2", children: [_jsx(Button, { size: "sm", variant: "
|
|
403
|
+
: "bg-green-100 text-green-700"}`, children: [_jsx("span", { className: "font-normal", children: "Risk:" }), _jsx("span", { className: "uppercase", children: finalApprovalInfo.riskLevel })] }))] })] }) }), _jsxs("div", { className: "flex flex-col gap-2 bg-white/60 p-3", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-end gap-2", children: [showAllowInScopeButton && (_jsx(Button, { size: "sm", variant: "outline", disabled: isCreatingAllowance, onClick: async () => {
|
|
404
|
+
markAsShown();
|
|
405
|
+
if (!agentId || !allowableScope?.parentItemId)
|
|
406
|
+
return;
|
|
407
|
+
setIsCreatingAllowance(true);
|
|
408
|
+
try {
|
|
409
|
+
await createOperationAllowance({
|
|
410
|
+
agentId,
|
|
411
|
+
itemId: allowableScope.parentItemId,
|
|
412
|
+
operationType: "delete",
|
|
413
|
+
scopeType: "itemSubtree",
|
|
414
|
+
});
|
|
415
|
+
await approveCurrentToolCall();
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
console.error("Failed to create operation allowance:", error);
|
|
419
|
+
alert(`Failed to allow deletes in scope: ${error?.message || "Unknown error"}`);
|
|
420
|
+
}
|
|
421
|
+
finally {
|
|
422
|
+
setIsCreatingAllowance(false);
|
|
423
|
+
}
|
|
424
|
+
}, children: isCreatingAllowance
|
|
425
|
+
? "Allowing..."
|
|
426
|
+
: `Allow deletes in ${allowableScope?.parentItemPath}` })), _jsx(Button, { size: "sm", variant: "secondary", "data-testid": "agent-reject-button", onClick: async () => {
|
|
352
427
|
markAsShown(); // Mark as shown when user interacts
|
|
353
|
-
|
|
354
|
-
const actualMessageId = isAgentToolCall
|
|
355
|
-
? originalToolCall.dbMessageId ||
|
|
356
|
-
originalToolCall.messageId
|
|
357
|
-
: messageId;
|
|
428
|
+
const actualMessageId = getActualMessageId();
|
|
358
429
|
if (!agentId) {
|
|
359
430
|
console.error("❌ Cannot reject tool call: agentId is missing");
|
|
360
431
|
return;
|
|
@@ -375,53 +446,21 @@ function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo,
|
|
|
375
446
|
toolCallId: toolCall.id,
|
|
376
447
|
});
|
|
377
448
|
console.log("✅ Reject successful:", result);
|
|
378
|
-
|
|
379
|
-
detail: {
|
|
380
|
-
messageId: actualMessageId,
|
|
381
|
-
toolCallId: toolCall.id,
|
|
382
|
-
approved: false,
|
|
383
|
-
},
|
|
384
|
-
});
|
|
385
|
-
window.dispatchEvent(ev);
|
|
449
|
+
dispatchApprovalResolved(actualMessageId, false);
|
|
386
450
|
}
|
|
387
451
|
catch (error) {
|
|
388
452
|
console.error("❌ Reject failed:", error);
|
|
389
453
|
}
|
|
390
454
|
}, children: "Reject" }), _jsx(Button, { size: "sm", "data-testid": "agent-approve-button", onClick: async () => {
|
|
391
455
|
markAsShown(); // Mark as shown when user interacts
|
|
392
|
-
// Use the dbMessageId from AgentToolCall if available, otherwise fall back to messageId or prop
|
|
393
|
-
const actualMessageId = isAgentToolCall
|
|
394
|
-
? originalToolCall.dbMessageId ||
|
|
395
|
-
originalToolCall.messageId
|
|
396
|
-
: messageId;
|
|
397
|
-
if (!agentId) {
|
|
398
|
-
console.error("❌ Cannot approve tool call: agentId is missing");
|
|
399
|
-
return;
|
|
400
|
-
}
|
|
401
|
-
if (!actualMessageId) {
|
|
402
|
-
console.error("❌ Cannot approve tool call: messageId is missing");
|
|
403
|
-
return;
|
|
404
|
-
}
|
|
405
456
|
console.log("✅ Approving tool call:", {
|
|
406
457
|
agentId,
|
|
407
|
-
messageId:
|
|
458
|
+
messageId: getActualMessageId(),
|
|
408
459
|
toolCallId: toolCall.id,
|
|
409
460
|
});
|
|
410
461
|
try {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
messageId: actualMessageId,
|
|
414
|
-
toolCallId: toolCall.id,
|
|
415
|
-
});
|
|
416
|
-
console.log("✅ Approve successful:", result);
|
|
417
|
-
const ev = new CustomEvent("agent:toolApprovalResolved", {
|
|
418
|
-
detail: {
|
|
419
|
-
messageId: actualMessageId,
|
|
420
|
-
toolCallId: toolCall.id,
|
|
421
|
-
approved: true,
|
|
422
|
-
},
|
|
423
|
-
});
|
|
424
|
-
window.dispatchEvent(ev);
|
|
462
|
+
await approveCurrentToolCall();
|
|
463
|
+
console.log("✅ Approve successful");
|
|
425
464
|
}
|
|
426
465
|
catch (error) {
|
|
427
466
|
console.error("❌ Approve failed:", error);
|
|
@@ -431,15 +470,23 @@ function ApprovalDialog({ toolCallId, onApprovalDialogShown, finalApprovalInfo,
|
|
|
431
470
|
const currentRiskLevel = finalApprovalInfo?.riskLevel;
|
|
432
471
|
const sameRiskCount = allPendingApprovals.filter((p) => (p.riskLevel || undefined) === currentRiskLevel).length;
|
|
433
472
|
const totalPendingCount = allPendingApprovals.length;
|
|
473
|
+
const showSwitchToAutonomous = !hideAutonomousSwitch;
|
|
474
|
+
const showResolveAllByRisk = sameRiskCount > 1;
|
|
434
475
|
// Only show batch actions if there's more than 1 pending approval
|
|
435
476
|
if (totalPendingCount <= 1)
|
|
436
477
|
return null;
|
|
478
|
+
if (!showSwitchToAutonomous && !showResolveAllByRisk)
|
|
479
|
+
return null;
|
|
437
480
|
const riskLabel = currentRiskLevel
|
|
438
481
|
? currentRiskLevel.charAt(0).toUpperCase() + currentRiskLevel.slice(1)
|
|
439
482
|
: "Same";
|
|
440
|
-
return (_jsxs("div", { className:
|
|
441
|
-
|
|
442
|
-
|
|
483
|
+
return (_jsxs("div", { className: `flex flex-wrap items-center gap-2 border-t border-amber-200/60 pt-2 ${showSwitchToAutonomous && showResolveAllByRisk
|
|
484
|
+
? "justify-between"
|
|
485
|
+
: "justify-end"}`, children: [showSwitchToAutonomous && (_jsx(Button, { size: "sm", variant: "outline", disabled: isSwitchingMode, onClick: handleSwitchToAutonomous, className: "text-xs", children: isSwitchingMode ? "Switching..." : "Switch to Autonomous" })), showResolveAllByRisk && (_jsxs("div", { className: "flex flex-wrap items-center justify-end gap-2", children: [_jsx(Button, { size: "sm", variant: "outline", "data-testid": "agent-reject-all-button", disabled: batchRiskAction !== null, onClick: () => handleRejectAllByRisk(currentRiskLevel), className: "text-xs", children: batchRiskAction === "reject"
|
|
486
|
+
? "Rejecting..."
|
|
487
|
+
: `Reject All ${riskLabel} (${sameRiskCount})` }), _jsx(Button, { size: "sm", variant: "outline", "data-testid": "agent-approve-all-button", disabled: batchRiskAction !== null, onClick: () => handleApproveAllByRisk(currentRiskLevel), className: "text-xs", children: batchRiskAction === "approve"
|
|
488
|
+
? "Approving..."
|
|
489
|
+
: `Approve All ${riskLabel} (${sameRiskCount})` })] }))] }));
|
|
443
490
|
})()] })] }));
|
|
444
491
|
}
|
|
445
492
|
//# sourceMappingURL=ToolCallDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolCallDisplay.js","sourceRoot":"","sources":["../../../src/editor/ai/ToolCallDisplay.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolCallDisplay.js","sourceRoot":"","sources":["../../../src/editor/ai/ToolCallDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,11 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
26
26
|
const retryTimeoutRef = useRef(null);
|
|
27
27
|
const readyAgentIdsRef = useRef(new Set());
|
|
28
28
|
const openAgentRequestAtRef = useRef({});
|
|
29
|
+
// Stable refs for callbacks used by the terminal:ready listener,
|
|
30
|
+
// so the listener can be registered once and never torn down.
|
|
31
|
+
const dispatchDialogRef = useRef(() => { });
|
|
32
|
+
const processNextRequestRef = useRef(() => { });
|
|
33
|
+
const clearRetryTimeoutRef = useRef(() => { });
|
|
29
34
|
// Max retries for initial dispatch (short-term)
|
|
30
35
|
// After these retries, the request stays pending until the terminal is ready
|
|
31
36
|
const MAX_INITIAL_RETRIES = 5;
|
|
@@ -197,6 +202,10 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
197
202
|
currentRequestRef.current = pending;
|
|
198
203
|
dispatchDialog(pending);
|
|
199
204
|
}, [dispatchDialog, sendResponse]);
|
|
205
|
+
// Keep stable refs pointing to latest callbacks for the mount-only terminal:ready listener
|
|
206
|
+
dispatchDialogRef.current = dispatchDialog;
|
|
207
|
+
processNextRequestRef.current = processNextRequest;
|
|
208
|
+
clearRetryTimeoutRef.current = clearRetryTimeout;
|
|
200
209
|
/**
|
|
201
210
|
* Handle incoming dialog request from WebSocket
|
|
202
211
|
*/
|
|
@@ -247,8 +256,8 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
247
256
|
}
|
|
248
257
|
}
|
|
249
258
|
// If incoming request is for a terminal that is already ready and current
|
|
250
|
-
// request belongs to another agent, pause/requeue current
|
|
251
|
-
//
|
|
259
|
+
// request belongs to another agent, pause/requeue current and dispatch
|
|
260
|
+
// the new request directly so the ready terminal picks it up immediately.
|
|
252
261
|
if (currentRequestRef.current &&
|
|
253
262
|
normalizeDialogAgentId(currentRequestRef.current.request.agentId) !==
|
|
254
263
|
normalizeDialogAgentId(request.agentId) &&
|
|
@@ -256,13 +265,23 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
256
265
|
readyAgentIdsRef.current.has(normalizeDialogAgentId(request.agentId))) {
|
|
257
266
|
const pausedCurrent = currentRequestRef.current;
|
|
258
267
|
clearRetryTimeout();
|
|
259
|
-
isProcessingRef.current = false;
|
|
260
268
|
currentRequestRef.current = null;
|
|
269
|
+
isProcessingRef.current = false;
|
|
261
270
|
dialogAcceptedRef.current = false;
|
|
262
271
|
const pausedExists = pendingRequestsRef.current.some((p) => p.request.callbackId === pausedCurrent.request.callbackId);
|
|
263
272
|
if (!pausedExists) {
|
|
264
|
-
pendingRequestsRef.current.
|
|
273
|
+
pendingRequestsRef.current.push(pausedCurrent);
|
|
265
274
|
}
|
|
275
|
+
const newPending = {
|
|
276
|
+
request,
|
|
277
|
+
retryCount: 0,
|
|
278
|
+
createdAt: Date.now(),
|
|
279
|
+
hasBeenAccepted: false,
|
|
280
|
+
};
|
|
281
|
+
currentRequestRef.current = newPending;
|
|
282
|
+
isProcessingRef.current = true;
|
|
283
|
+
dispatchDialog(newPending);
|
|
284
|
+
return;
|
|
266
285
|
}
|
|
267
286
|
pendingRequestsRef.current.push({
|
|
268
287
|
request,
|
|
@@ -309,6 +328,7 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
309
328
|
/**
|
|
310
329
|
* Listen for orphaned dialogs -- when a terminal unmounts while displaying a
|
|
311
330
|
* dialog, it fires this event so the handler can re-dispatch to the next terminal.
|
|
331
|
+
* Uses refs for the same reason as the terminal:ready listener above.
|
|
312
332
|
*/
|
|
313
333
|
useEffect(() => {
|
|
314
334
|
const handleOrphaned = (event) => {
|
|
@@ -324,13 +344,10 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
324
344
|
if (hasListener) {
|
|
325
345
|
dialogAcceptedRef.current = false;
|
|
326
346
|
currentRequestRef.current.retryCount = 0;
|
|
327
|
-
|
|
347
|
+
dispatchDialogRef.current(currentRequestRef.current);
|
|
328
348
|
}
|
|
329
349
|
else {
|
|
330
|
-
|
|
331
|
-
// Keep the dialog pending when switching away from an agent.
|
|
332
|
-
// The request will be re-dispatched when that agent terminal emits
|
|
333
|
-
// `agent:terminal:ready` again after the user switches back.
|
|
350
|
+
clearRetryTimeoutRef.current();
|
|
334
351
|
isProcessingRef.current = false;
|
|
335
352
|
dialogAcceptedRef.current = false;
|
|
336
353
|
}
|
|
@@ -340,10 +357,15 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
340
357
|
return () => {
|
|
341
358
|
window.removeEventListener("agent:dialog:orphaned", handleOrphaned);
|
|
342
359
|
};
|
|
343
|
-
|
|
360
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
361
|
+
}, []);
|
|
344
362
|
/**
|
|
345
363
|
* Listen for agent terminal ready events
|
|
346
364
|
* When a terminal mounts (e.g., user switches to an agent), re-dispatch any pending dialogs
|
|
365
|
+
*
|
|
366
|
+
* Uses stable refs for callbacks so the listener is registered once on mount
|
|
367
|
+
* and never torn down mid-render — avoids a race where the event fires between
|
|
368
|
+
* effect cleanup and re-registration.
|
|
347
369
|
*/
|
|
348
370
|
useEffect(() => {
|
|
349
371
|
const handleTerminalReady = (event) => {
|
|
@@ -361,7 +383,7 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
361
383
|
const queuedForReadyAgent = pendingRequestsRef.current[queuedForReadyAgentIndex];
|
|
362
384
|
if (queuedForReadyAgent) {
|
|
363
385
|
const pausedCurrent = currentRequestRef.current;
|
|
364
|
-
|
|
386
|
+
clearRetryTimeoutRef.current();
|
|
365
387
|
isProcessingRef.current = false;
|
|
366
388
|
currentRequestRef.current = null;
|
|
367
389
|
dialogAcceptedRef.current = false;
|
|
@@ -372,34 +394,7 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
372
394
|
}
|
|
373
395
|
currentRequestRef.current = queuedForReadyAgent;
|
|
374
396
|
isProcessingRef.current = true;
|
|
375
|
-
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
// If current request is for another agent and still unaccepted, but we
|
|
381
|
-
// now have a ready terminal for a queued request, preempt to avoid
|
|
382
|
-
// head-of-line blocking across agents.
|
|
383
|
-
if (currentRequestRef.current &&
|
|
384
|
-
!dialogAcceptedRef.current &&
|
|
385
|
-
normalizeDialogAgentId(currentRequestRef.current.request.agentId) !==
|
|
386
|
-
agentId) {
|
|
387
|
-
const queuedForReadyAgentIndex = pendingRequestsRef.current.findIndex((p) => normalizeDialogAgentId(p.request.agentId) === agentId);
|
|
388
|
-
if (queuedForReadyAgentIndex !== -1) {
|
|
389
|
-
const queuedForReadyAgent = pendingRequestsRef.current[queuedForReadyAgentIndex];
|
|
390
|
-
if (queuedForReadyAgent) {
|
|
391
|
-
const pausedCurrent = currentRequestRef.current;
|
|
392
|
-
clearRetryTimeout();
|
|
393
|
-
isProcessingRef.current = false;
|
|
394
|
-
currentRequestRef.current = null;
|
|
395
|
-
pendingRequestsRef.current.splice(queuedForReadyAgentIndex, 1);
|
|
396
|
-
const pausedExists = pendingRequestsRef.current.some((p) => p.request.callbackId === pausedCurrent.request.callbackId);
|
|
397
|
-
if (!pausedExists) {
|
|
398
|
-
pendingRequestsRef.current.unshift(pausedCurrent);
|
|
399
|
-
}
|
|
400
|
-
currentRequestRef.current = queuedForReadyAgent;
|
|
401
|
-
isProcessingRef.current = true;
|
|
402
|
-
dispatchDialog(queuedForReadyAgent);
|
|
397
|
+
dispatchDialogRef.current(queuedForReadyAgent);
|
|
403
398
|
return;
|
|
404
399
|
}
|
|
405
400
|
}
|
|
@@ -413,31 +408,29 @@ export function AgentDialogHandler({ sendWebSocketMessage, }) {
|
|
|
413
408
|
const currentCallbackId = currentRequestRef.current.request.callbackId || null;
|
|
414
409
|
if (dialogAcceptedRef.current) {
|
|
415
410
|
if (visibleCallbackId === currentCallbackId) {
|
|
416
|
-
// The dialog is already open in a terminal for this agent.
|
|
417
|
-
// Ignore duplicate ready events so we don't re-dispatch and flicker.
|
|
418
411
|
return;
|
|
419
412
|
}
|
|
420
413
|
dialogAcceptedRef.current = false;
|
|
421
414
|
}
|
|
422
415
|
console.log("[AgentDialogHandler] Re-dispatching pending dialog for agent:", agentId);
|
|
423
|
-
// Reset retry count and re-dispatch
|
|
424
416
|
currentRequestRef.current.retryCount = 0;
|
|
425
417
|
isProcessingRef.current = true;
|
|
426
|
-
|
|
418
|
+
dispatchDialogRef.current(currentRequestRef.current);
|
|
427
419
|
return;
|
|
428
420
|
}
|
|
429
421
|
// Process pending requests for the ready agent
|
|
430
422
|
if (!isProcessingRef.current &&
|
|
431
423
|
!currentRequestRef.current &&
|
|
432
424
|
pendingRequestsRef.current.length > 0) {
|
|
433
|
-
|
|
425
|
+
processNextRequestRef.current();
|
|
434
426
|
}
|
|
435
427
|
};
|
|
436
428
|
window.addEventListener("agent:terminal:ready", handleTerminalReady);
|
|
437
429
|
return () => {
|
|
438
430
|
window.removeEventListener("agent:terminal:ready", handleTerminalReady);
|
|
439
431
|
};
|
|
440
|
-
|
|
432
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
433
|
+
}, []);
|
|
441
434
|
// This component doesn't render anything - dialogs are shown inline in AgentTerminal
|
|
442
435
|
return null;
|
|
443
436
|
}
|