@tutti-os/agent-gui 0.0.104 → 0.0.105
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/{AgentGUI-DQ9gVoXh.d.ts → AgentGUI-Do6py-T_.d.ts} +10 -5
- package/dist/AgentRichTextReadonly-F6PHC5SX.js +18 -0
- package/dist/AgentRichTextReadonly-F6PHC5SX.js.map +1 -0
- package/dist/agent-conversation/index.d.ts +3 -3
- package/dist/agent-conversation/index.js +11 -7
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-gui.d.ts +4 -4
- package/dist/agent-gui.js +18 -14
- package/dist/agent-message-center/index.d.ts +1 -1
- package/dist/agent-message-center/index.js +13 -9
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-CkcYM5Wg.d.ts → agentConversationVM-Bf3Zv3iI.d.ts} +9 -1
- package/dist/{agentFileMentionContracts-58IjMU-u.d.ts → agentFileMentionContracts-B70VnPWO.d.ts} +2 -0
- package/dist/{agentGuiNodeTypes-B9vcvjmR.d.ts → agentGuiNodeTypes-DbgQBiYz.d.ts} +4 -1
- package/dist/app/renderer/agentactivity.css +99 -0
- package/dist/{chunk-FJ4W2VC5.js → chunk-4ZWV57MF.js} +42 -10
- package/dist/chunk-4ZWV57MF.js.map +1 -0
- package/dist/{chunk-VAB7EIL5.js → chunk-6R7GHXRQ.js} +12 -6
- package/dist/chunk-6R7GHXRQ.js.map +1 -0
- package/dist/{chunk-TPV2SV6L.js → chunk-7MPN2JGL.js} +122 -154
- package/dist/chunk-7MPN2JGL.js.map +1 -0
- package/dist/{chunk-5X7YDOC6.js → chunk-D2JUDUYY.js} +1 -1
- package/dist/chunk-D2JUDUYY.js.map +1 -0
- package/dist/{chunk-HLVC4NNL.js → chunk-IR2CL2X2.js} +721 -1280
- package/dist/chunk-IR2CL2X2.js.map +1 -0
- package/dist/{chunk-NOXQOGT5.js → chunk-J2HG7UCP.js} +46 -22
- package/dist/chunk-J2HG7UCP.js.map +1 -0
- package/dist/{chunk-747L443E.js → chunk-JG7HGKZL.js} +595 -61
- package/dist/chunk-JG7HGKZL.js.map +1 -0
- package/dist/chunk-KPMQGPYU.js +43 -0
- package/dist/chunk-KPMQGPYU.js.map +1 -0
- package/dist/{chunk-OFSDOID4.js → chunk-LDZ6C3YV.js} +3 -39
- package/dist/chunk-LDZ6C3YV.js.map +1 -0
- package/dist/{chunk-7N524ZK7.js → chunk-N3HTEYLZ.js} +1308 -936
- package/dist/chunk-N3HTEYLZ.js.map +1 -0
- package/dist/{chunk-MUPZPISC.js → chunk-N4WVVCNI.js} +2 -2
- package/dist/{chunk-F5LFPORI.js → chunk-OWW7CU4U.js} +2 -2
- package/dist/chunk-SN6UYX54.js +42 -0
- package/dist/chunk-SN6UYX54.js.map +1 -0
- package/dist/{chunk-SKCLZXSW.js → chunk-TKBEVCHG.js} +5 -1
- package/dist/chunk-TKBEVCHG.js.map +1 -0
- package/dist/chunk-UFIEUC3Y.js +755 -0
- package/dist/chunk-UFIEUC3Y.js.map +1 -0
- package/dist/{chunk-AKKDP2LI.js → chunk-V5ROOS2O.js} +124 -2
- package/dist/chunk-V5ROOS2O.js.map +1 -0
- package/dist/chunk-XJ34OIEQ.js +18 -0
- package/dist/chunk-XJ34OIEQ.js.map +1 -0
- package/dist/{chunk-QI3JAO4J.js → chunk-ZSJBCZUH.js} +54 -7
- package/dist/chunk-ZSJBCZUH.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +1 -1
- package/dist/context-mention-palette/index.js +10 -8
- package/dist/{contribution-CTVBPN0R.d.ts → contribution-C6K5YfJ7.d.ts} +1 -0
- package/dist/custom-mention.d.ts +6 -0
- package/dist/custom-mention.js +1 -1
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +6 -6
- package/dist/index.js +18 -14
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +42 -6
- package/dist/mention-search.js +8 -6
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/contribution.js +3 -3
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +3 -3
- package/dist/workbench/sessionTitle.js +2 -2
- package/package.json +12 -12
- package/dist/chunk-5X7YDOC6.js.map +0 -1
- package/dist/chunk-747L443E.js.map +0 -1
- package/dist/chunk-7N524ZK7.js.map +0 -1
- package/dist/chunk-AKKDP2LI.js.map +0 -1
- package/dist/chunk-FJ4W2VC5.js.map +0 -1
- package/dist/chunk-HLVC4NNL.js.map +0 -1
- package/dist/chunk-NOXQOGT5.js.map +0 -1
- package/dist/chunk-OFSDOID4.js.map +0 -1
- package/dist/chunk-QI3JAO4J.js.map +0 -1
- package/dist/chunk-SKCLZXSW.js.map +0 -1
- package/dist/chunk-TPV2SV6L.js.map +0 -1
- package/dist/chunk-VAB7EIL5.js.map +0 -1
- /package/dist/{chunk-MUPZPISC.js.map → chunk-N4WVVCNI.js.map} +0 -0
- /package/dist/{chunk-F5LFPORI.js.map → chunk-OWW7CU4U.js.map} +0 -0
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentRichTextReadonly,
|
|
3
|
+
promptForProviderSkills,
|
|
4
|
+
skillTriggerForPrefix
|
|
5
|
+
} from "./chunk-UFIEUC3Y.js";
|
|
1
6
|
import {
|
|
2
7
|
classifyFailedAgentMessage,
|
|
3
8
|
isProviderPlanLimitMessage,
|
|
@@ -9,37 +14,31 @@ import {
|
|
|
9
14
|
AGENT_PASTED_TEXT_MENTION_KIND
|
|
10
15
|
} from "./chunk-FGLQZ6I4.js";
|
|
11
16
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
createAgentFileMentionExtension,
|
|
15
|
-
formatAgentMentionMarkdown,
|
|
16
|
-
isWorkspaceAgentSyntheticControlMessage,
|
|
17
|
-
mentionItemToAttrs,
|
|
18
|
-
parseAgentMentionMarkdown
|
|
19
|
-
} from "./chunk-NOXQOGT5.js";
|
|
17
|
+
isWorkspaceAgentSyntheticControlMessage
|
|
18
|
+
} from "./chunk-XJ34OIEQ.js";
|
|
20
19
|
import {
|
|
21
20
|
AgentGUIConversation_styles_default,
|
|
22
21
|
AgentMessageMarkdown,
|
|
23
22
|
CustomScrollArea,
|
|
24
23
|
MessageSquareMoreIcon,
|
|
25
24
|
ZoomableImage,
|
|
26
|
-
cn,
|
|
27
25
|
extractAgentMcpToolTarget,
|
|
28
26
|
extractExitPlanKeepPlanningOptionId,
|
|
29
27
|
extractExitPlanModeOptions,
|
|
30
28
|
isExitPlanSwitchModeInput,
|
|
31
29
|
normalizeAskUserQuestions,
|
|
32
|
-
resolveAgentTargetPresentation,
|
|
33
30
|
resolveWorkspaceFileLinkAction,
|
|
34
31
|
resolveWorkspaceFilePathCandidate,
|
|
35
|
-
resolveWorkspaceLinkAction
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
resolveWorkspaceLinkAction
|
|
33
|
+
} from "./chunk-7MPN2JGL.js";
|
|
34
|
+
import {
|
|
35
|
+
cn
|
|
36
|
+
} from "./chunk-KPMQGPYU.js";
|
|
38
37
|
import {
|
|
39
38
|
useOptionalAgentActivityRuntime,
|
|
40
39
|
useOptionalAgentHostApi,
|
|
41
40
|
workspaceAgentProviderLabel
|
|
42
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-LDZ6C3YV.js";
|
|
43
42
|
import {
|
|
44
43
|
fileChangeCountFromChanges,
|
|
45
44
|
fileChangeEntriesFromChanges,
|
|
@@ -51,7 +50,7 @@ import {
|
|
|
51
50
|
import {
|
|
52
51
|
getActiveUiLanguage,
|
|
53
52
|
translate
|
|
54
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-OWW7CU4U.js";
|
|
55
54
|
|
|
56
55
|
// shared/imageGenerationTool.ts
|
|
57
56
|
var KNOWN_IMAGE_GENERATION_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
@@ -1500,6 +1499,95 @@ function normalizeStatusToken(value) {
|
|
|
1500
1499
|
return (value ?? "").trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
1501
1500
|
}
|
|
1502
1501
|
|
|
1502
|
+
// shared/workspaceAgentSystemNoticeSemantics.ts
|
|
1503
|
+
function resolveWorkspaceAgentNoticeCommandSemantics(input) {
|
|
1504
|
+
const semanticCommand = noticeCommand(input.messageSemantics?.noticeCommand);
|
|
1505
|
+
const semanticCommandStatus = noticeCommandStatus(
|
|
1506
|
+
input.messageSemantics?.noticeCommandStatus
|
|
1507
|
+
);
|
|
1508
|
+
const payloadCommand = noticeCommand(
|
|
1509
|
+
recordString(input.payload, "noticeCommand")
|
|
1510
|
+
);
|
|
1511
|
+
const payloadCommandStatus = noticeCommandStatus(
|
|
1512
|
+
recordString(input.payload, "noticeCommandStatus")
|
|
1513
|
+
);
|
|
1514
|
+
const command = semanticCommand ?? payloadCommand;
|
|
1515
|
+
const commandStatus = semanticCommandStatus ?? payloadCommandStatus;
|
|
1516
|
+
if (command && commandStatus) {
|
|
1517
|
+
return { command, commandStatus };
|
|
1518
|
+
}
|
|
1519
|
+
const source = recordString(input.payload, "source");
|
|
1520
|
+
const hasCompactIdentity = source === "compact" || /^(?:claude-sdk:compact:|compaction:)/u.test(input.eventId?.trim() ?? "");
|
|
1521
|
+
if (!hasCompactIdentity) {
|
|
1522
|
+
return null;
|
|
1523
|
+
}
|
|
1524
|
+
const legacyCompactStatus = compactTitleStatus(recordString(input.payload, "title"), input.status) ?? (source === "compact" ? compactStreamStatus(input.status) : null);
|
|
1525
|
+
if (!legacyCompactStatus) {
|
|
1526
|
+
return null;
|
|
1527
|
+
}
|
|
1528
|
+
return {
|
|
1529
|
+
command: "compact",
|
|
1530
|
+
commandStatus: legacyCompactStatus
|
|
1531
|
+
};
|
|
1532
|
+
}
|
|
1533
|
+
function noticeCommand(value) {
|
|
1534
|
+
switch (value) {
|
|
1535
|
+
case "compact":
|
|
1536
|
+
case "review":
|
|
1537
|
+
case "undo":
|
|
1538
|
+
case "goal":
|
|
1539
|
+
return value;
|
|
1540
|
+
default:
|
|
1541
|
+
return null;
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
function noticeCommandStatus(value) {
|
|
1545
|
+
switch (value) {
|
|
1546
|
+
case "running":
|
|
1547
|
+
case "completed":
|
|
1548
|
+
case "failed":
|
|
1549
|
+
case "canceled":
|
|
1550
|
+
return value;
|
|
1551
|
+
default:
|
|
1552
|
+
return null;
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
function compactTitleStatus(title, status) {
|
|
1556
|
+
switch (title) {
|
|
1557
|
+
case "Compacting context.":
|
|
1558
|
+
return "running";
|
|
1559
|
+
case "Context compacted.":
|
|
1560
|
+
return "completed";
|
|
1561
|
+
case "Context compaction interrupted.":
|
|
1562
|
+
return compactStreamStatus(status) === "canceled" ? "canceled" : "failed";
|
|
1563
|
+
default:
|
|
1564
|
+
return null;
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
function compactStreamStatus(status) {
|
|
1568
|
+
switch (status?.trim().toLowerCase()) {
|
|
1569
|
+
case "completed":
|
|
1570
|
+
case "complete":
|
|
1571
|
+
case "done":
|
|
1572
|
+
case "success":
|
|
1573
|
+
case "succeeded":
|
|
1574
|
+
return "completed";
|
|
1575
|
+
case "failed":
|
|
1576
|
+
case "error":
|
|
1577
|
+
return "failed";
|
|
1578
|
+
case "canceled":
|
|
1579
|
+
case "cancelled":
|
|
1580
|
+
case "stopped":
|
|
1581
|
+
return "canceled";
|
|
1582
|
+
default:
|
|
1583
|
+
return "running";
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
function recordString(record, key) {
|
|
1587
|
+
const value = record?.[key];
|
|
1588
|
+
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1503
1591
|
// shared/workspaceAgentTimelineProjectionHelpers.ts
|
|
1504
1592
|
function delegatedToolStepFromCall(call) {
|
|
1505
1593
|
const payload = normalizedPayload(call.payload ?? void 0);
|
|
@@ -1618,13 +1706,25 @@ function visibleErrorFromPayload(payload) {
|
|
|
1618
1706
|
retryable: booleanRecordValue(payload, "retryable")
|
|
1619
1707
|
};
|
|
1620
1708
|
}
|
|
1621
|
-
function systemNoticeFromPayload(payload) {
|
|
1622
|
-
|
|
1709
|
+
function systemNoticeFromPayload(payload, context) {
|
|
1710
|
+
const commandSemantics = resolveWorkspaceAgentNoticeCommandSemantics({
|
|
1711
|
+
eventId: context.eventId,
|
|
1712
|
+
messageSemantics: context.messageSemantics,
|
|
1713
|
+
payload,
|
|
1714
|
+
status: context.status
|
|
1715
|
+
});
|
|
1716
|
+
if (stringRecordValue5(payload, "kind") !== "agent_system_notice" && !commandSemantics) {
|
|
1717
|
+
return null;
|
|
1718
|
+
}
|
|
1623
1719
|
const source = stringRecordValue5(payload, "source");
|
|
1624
1720
|
return {
|
|
1625
1721
|
noticeKind: stringRecordValue5(payload, "noticeKind"),
|
|
1626
1722
|
severity: stringRecordValue5(payload, "severity"),
|
|
1627
1723
|
...source ? { source } : {},
|
|
1724
|
+
...commandSemantics ? {
|
|
1725
|
+
command: commandSemantics.command,
|
|
1726
|
+
commandStatus: commandSemantics.commandStatus
|
|
1727
|
+
} : {},
|
|
1628
1728
|
title: stringRecordValue5(payload, "title"),
|
|
1629
1729
|
detail: stringRecordValue5(payload, "detail"),
|
|
1630
1730
|
retryable: booleanRecordValue(payload, "retryable")
|
|
@@ -1816,7 +1916,7 @@ function buildCanonicalWorkspaceAgentDetailView({
|
|
|
1816
1916
|
if (role === "agent" && body) {
|
|
1817
1917
|
const payload = normalizedPayload(item.payload);
|
|
1818
1918
|
const visibleError = visibleErrorFromPayload(payload);
|
|
1819
|
-
const systemNotice = systemNoticeFromPayload(payload);
|
|
1919
|
+
const systemNotice = systemNoticeFromPayload(payload, item);
|
|
1820
1920
|
const status = firstPresentString5(
|
|
1821
1921
|
item.status,
|
|
1822
1922
|
stringRecordValue5(payload, "status")
|
|
@@ -2563,6 +2663,27 @@ function stringValue2(value) {
|
|
|
2563
2663
|
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
2564
2664
|
}
|
|
2565
2665
|
|
|
2666
|
+
// shared/agentConversation/projection/agentTranscriptPresentation.ts
|
|
2667
|
+
function resolveAgentTranscriptPresentationKind(notice) {
|
|
2668
|
+
if (notice?.command !== "compact") {
|
|
2669
|
+
return "content";
|
|
2670
|
+
}
|
|
2671
|
+
if (notice.commandStatus === "running") {
|
|
2672
|
+
return "specific-progress";
|
|
2673
|
+
}
|
|
2674
|
+
if (notice.commandStatus === "completed" || notice.commandStatus === "failed" || notice.commandStatus === "canceled") {
|
|
2675
|
+
return "turn-boundary";
|
|
2676
|
+
}
|
|
2677
|
+
return "content";
|
|
2678
|
+
}
|
|
2679
|
+
function agentTranscriptRowHasPresentationKind(row, presentationKind) {
|
|
2680
|
+
return Boolean(
|
|
2681
|
+
row?.kind === "message" && row.messages.some(
|
|
2682
|
+
(message) => message.presentationKind === presentationKind
|
|
2683
|
+
)
|
|
2684
|
+
);
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2566
2687
|
// shared/agentConversation/projection/agentApprovalProjection.ts
|
|
2567
2688
|
function projectAgentApprovalItem(call, input, output) {
|
|
2568
2689
|
const callType = normalizeToken(call.callType);
|
|
@@ -3060,62 +3181,6 @@ function normalizeStandardACPEnvelope(value) {
|
|
|
3060
3181
|
|
|
3061
3182
|
// agent-gui/agentGuiNode/model/agentComposerDraft.ts
|
|
3062
3183
|
import { createRichTextMentionMarkdown } from "@tutti-os/ui-rich-text/core";
|
|
3063
|
-
|
|
3064
|
-
// agent-gui/agentGuiNode/model/agentSkillOptions.ts
|
|
3065
|
-
function skillTriggerForPrefix(skill, prefix) {
|
|
3066
|
-
const trigger = skill.trigger.trim();
|
|
3067
|
-
if (!trigger) {
|
|
3068
|
-
return "";
|
|
3069
|
-
}
|
|
3070
|
-
if (prefix === void 0 || trigger.startsWith(prefix)) {
|
|
3071
|
-
return trigger;
|
|
3072
|
-
}
|
|
3073
|
-
if (trigger.startsWith("$") || trigger.startsWith("/")) {
|
|
3074
|
-
return `${prefix}${trigger.slice(1)}`;
|
|
3075
|
-
}
|
|
3076
|
-
return `${prefix}${trigger}`;
|
|
3077
|
-
}
|
|
3078
|
-
function labelForProviderSkill(skill, prefix) {
|
|
3079
|
-
return stripSkillTriggerPrefix(skillTriggerForPrefix(skill, prefix));
|
|
3080
|
-
}
|
|
3081
|
-
function promptForProviderSkills(input) {
|
|
3082
|
-
let prompt = input.prompt;
|
|
3083
|
-
for (const skill of input.skills) {
|
|
3084
|
-
if (!skill.invocation) {
|
|
3085
|
-
continue;
|
|
3086
|
-
}
|
|
3087
|
-
const nativePrefix = skill.invocation === "promptItem" ? "$" : "/";
|
|
3088
|
-
const nativeTrigger = skillTriggerForPrefix(skill, nativePrefix);
|
|
3089
|
-
const aliasPrefix = nativePrefix === "$" ? "/" : "$";
|
|
3090
|
-
const aliasTrigger = skillTriggerForPrefix(skill, aliasPrefix);
|
|
3091
|
-
if (!nativeTrigger || !aliasTrigger || nativeTrigger === aliasTrigger) {
|
|
3092
|
-
continue;
|
|
3093
|
-
}
|
|
3094
|
-
prompt = replaceSkillTriggerToken(prompt, aliasTrigger, nativeTrigger);
|
|
3095
|
-
}
|
|
3096
|
-
return prompt;
|
|
3097
|
-
}
|
|
3098
|
-
function skillDescriptionForDisplay(description) {
|
|
3099
|
-
const line = description?.split(/\r?\n/).map((part) => part.trim()).find((part) => part !== "");
|
|
3100
|
-
return line || void 0;
|
|
3101
|
-
}
|
|
3102
|
-
function replaceSkillTriggerToken(prompt, from, to) {
|
|
3103
|
-
return prompt.replace(
|
|
3104
|
-
new RegExp(`(^|\\s)${escapeRegExp(from)}(?=$|\\s)`, "g"),
|
|
3105
|
-
(_match, separator) => `${separator}${to}`
|
|
3106
|
-
);
|
|
3107
|
-
}
|
|
3108
|
-
function escapeRegExp(value) {
|
|
3109
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3110
|
-
}
|
|
3111
|
-
function stripSkillTriggerPrefix(trigger) {
|
|
3112
|
-
if (trigger.startsWith("$") || trigger.startsWith("/")) {
|
|
3113
|
-
return trigger.slice(1);
|
|
3114
|
-
}
|
|
3115
|
-
return trigger;
|
|
3116
|
-
}
|
|
3117
|
-
|
|
3118
|
-
// agent-gui/agentGuiNode/model/agentComposerDraft.ts
|
|
3119
3184
|
var PASTED_TEXT_MENTION_PREVIEW_MAX_CHARS = 10;
|
|
3120
3185
|
function pastedTextPreview(text) {
|
|
3121
3186
|
const collapsed = text.replace(/\s+/g, " ").trim().replace(/[[\]()]/g, "");
|
|
@@ -3349,19 +3414,39 @@ function agentComposerDraftToPromptContent(input) {
|
|
|
3349
3414
|
...largeTextPromptContent(agentComposerDraftLargeTexts(input.draft))
|
|
3350
3415
|
]);
|
|
3351
3416
|
}
|
|
3417
|
+
function agentComposerDraftSubmittedText(draft) {
|
|
3418
|
+
return agentPromptContentDisplayText(
|
|
3419
|
+
normalizeAgentPromptContentBlocks([
|
|
3420
|
+
...textPromptContent(agentComposerDraftPrompt(draft)),
|
|
3421
|
+
...largeTextPromptContent(agentComposerDraftLargeTexts(draft))
|
|
3422
|
+
])
|
|
3423
|
+
);
|
|
3424
|
+
}
|
|
3352
3425
|
function agentComposerDraftDisplayPrompt(draft) {
|
|
3426
|
+
const prompt = agentComposerDraftPrompt(draft).trim();
|
|
3353
3427
|
const largeTexts = agentComposerDraftLargeTexts(draft).filter(
|
|
3354
3428
|
(item) => Boolean(item.path) && !item.uploading && !item.uploadError
|
|
3355
3429
|
);
|
|
3356
3430
|
if (!largeTexts.length) {
|
|
3357
|
-
return void 0;
|
|
3431
|
+
return prompt.includes("](mention://") ? prompt : void 0;
|
|
3358
3432
|
}
|
|
3359
|
-
const parts = [
|
|
3433
|
+
const parts = [prompt].filter(Boolean);
|
|
3360
3434
|
parts.push(
|
|
3361
3435
|
...largeTexts.map((item, index) => pastedTextMentionMarkdown(item, index)).filter(Boolean)
|
|
3362
3436
|
);
|
|
3363
3437
|
return parts.join("\n");
|
|
3364
3438
|
}
|
|
3439
|
+
function projectAgentComposerDraftSubmission(input) {
|
|
3440
|
+
const content = agentComposerDraftToPromptContent(input);
|
|
3441
|
+
const explicitDisplayPrompt = agentComposerDraftDisplayPrompt(input.draft);
|
|
3442
|
+
const visibleText = agentComposerDraftSubmittedText(input.draft);
|
|
3443
|
+
const runtimeText = agentPromptContentDisplayText(content);
|
|
3444
|
+
const displayPrompt = explicitDisplayPrompt ?? (visibleText !== runtimeText ? visibleText : void 0);
|
|
3445
|
+
return {
|
|
3446
|
+
content,
|
|
3447
|
+
...displayPrompt ? { displayPrompt } : {}
|
|
3448
|
+
};
|
|
3449
|
+
}
|
|
3365
3450
|
function agentPromptFileBlocks(content) {
|
|
3366
3451
|
return normalizeAgentPromptContentBlocks(content).filter(
|
|
3367
3452
|
(block) => block.type === "file" && !isPastedTextPromptBlock(block) && (typeof block.path === "string" || typeof block.hostPath === "string")
|
|
@@ -3395,9 +3480,9 @@ function promptItemBlocksForProviderSkills(input) {
|
|
|
3395
3480
|
return result;
|
|
3396
3481
|
}
|
|
3397
3482
|
function promptHasTrigger(prompt, trigger) {
|
|
3398
|
-
return new RegExp(`(^|\\s)${
|
|
3483
|
+
return new RegExp(`(^|\\s)${escapeRegExp(trigger)}(?=$|\\s)`).test(prompt);
|
|
3399
3484
|
}
|
|
3400
|
-
function
|
|
3485
|
+
function escapeRegExp(value) {
|
|
3401
3486
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3402
3487
|
}
|
|
3403
3488
|
function textPromptContent(prompt) {
|
|
@@ -3540,6 +3625,7 @@ function projectUserMessageContentParts(message, turnId, workspaceId) {
|
|
|
3540
3625
|
id: `${message.id}:images:0`,
|
|
3541
3626
|
turnId,
|
|
3542
3627
|
body: "",
|
|
3628
|
+
presentationKind: "content",
|
|
3543
3629
|
contentKind: "image-grid",
|
|
3544
3630
|
images: imageBlocks.map((image, index) => ({
|
|
3545
3631
|
id: `${message.id}:image:${index}`,
|
|
@@ -3563,6 +3649,7 @@ function projectUserMessageContentParts(message, turnId, workspaceId) {
|
|
|
3563
3649
|
id: `${message.id}:text:${index}`,
|
|
3564
3650
|
turnId,
|
|
3565
3651
|
body: block.text,
|
|
3652
|
+
presentationKind: "content",
|
|
3566
3653
|
contentKind: "text",
|
|
3567
3654
|
occurredAtUnixMs: message.occurredAtUnixMs ?? null,
|
|
3568
3655
|
sourceTimelineItems: message.sourceTimelineItems
|
|
@@ -3576,6 +3663,7 @@ function textPart(message, turnId) {
|
|
|
3576
3663
|
id: message.id,
|
|
3577
3664
|
turnId,
|
|
3578
3665
|
body: message.body,
|
|
3666
|
+
presentationKind: "content",
|
|
3579
3667
|
contentKind: "text",
|
|
3580
3668
|
occurredAtUnixMs: message.occurredAtUnixMs ?? null,
|
|
3581
3669
|
sourceTimelineItems: message.sourceTimelineItems
|
|
@@ -3740,6 +3828,9 @@ function projectMessage(message, turnId) {
|
|
|
3740
3828
|
id: message.id,
|
|
3741
3829
|
turnId: message.turnId ?? turnId,
|
|
3742
3830
|
body: message.body,
|
|
3831
|
+
presentationKind: resolveAgentTranscriptPresentationKind(
|
|
3832
|
+
message.systemNotice ?? null
|
|
3833
|
+
),
|
|
3743
3834
|
statusKind: message.statusKind ?? null,
|
|
3744
3835
|
occurredAtUnixMs: message.occurredAtUnixMs ?? null,
|
|
3745
3836
|
visibleError: message.visibleError ?? null,
|
|
@@ -3875,10 +3966,10 @@ function projectAgentProcessingRow(detail, rows) {
|
|
|
3875
3966
|
if (!detail.showProcessingIndicator) {
|
|
3876
3967
|
return null;
|
|
3877
3968
|
}
|
|
3878
|
-
|
|
3969
|
+
const turnId = detail.turns.at(-1)?.id ?? null;
|
|
3970
|
+
if (turnId && hasSpecificProgressRow(rows, turnId)) {
|
|
3879
3971
|
return null;
|
|
3880
3972
|
}
|
|
3881
|
-
const turnId = detail.turns.at(-1)?.id ?? null;
|
|
3882
3973
|
return {
|
|
3883
3974
|
kind: "processing",
|
|
3884
3975
|
id: `processing:${turnId ?? "session"}`,
|
|
@@ -3886,12 +3977,12 @@ function projectAgentProcessingRow(detail, rows) {
|
|
|
3886
3977
|
occurredAtUnixMs: detail.session.updatedAtUnixMs ?? detail.session.createdAtUnixMs ?? null
|
|
3887
3978
|
};
|
|
3888
3979
|
}
|
|
3889
|
-
function hasSpecificProgressRow(rows) {
|
|
3980
|
+
function hasSpecificProgressRow(rows, activeTurnId) {
|
|
3890
3981
|
return rows.some((row) => {
|
|
3891
|
-
if (row.
|
|
3982
|
+
if (row.turnId !== activeTurnId) {
|
|
3892
3983
|
return false;
|
|
3893
3984
|
}
|
|
3894
|
-
return row.calls.some(
|
|
3985
|
+
return agentTranscriptRowHasPresentationKind(row, "specific-progress") || row.kind === "tool-group" && row.calls.some(
|
|
3895
3986
|
(call) => call.statusKind === "working" || call.statusKind === "waiting"
|
|
3896
3987
|
);
|
|
3897
3988
|
});
|
|
@@ -4939,7 +5030,9 @@ function projectAgentConversationVM(detail, options = {}) {
|
|
|
4939
5030
|
dropCodexRuntimeDiagnosticNotices(
|
|
4940
5031
|
dropRedundantErrorWarningNotices(
|
|
4941
5032
|
mergeAdjacentAssistantMessageRows(
|
|
4942
|
-
|
|
5033
|
+
dropRedundantCompactFailureEchoRows(
|
|
5034
|
+
mergeAdjacentTransportRetryNoticeRows(rows)
|
|
5035
|
+
)
|
|
4943
5036
|
)
|
|
4944
5037
|
)
|
|
4945
5038
|
),
|
|
@@ -4954,6 +5047,27 @@ function projectAgentConversationVM(detail, options = {}) {
|
|
|
4954
5047
|
rows: normalizedRows
|
|
4955
5048
|
};
|
|
4956
5049
|
}
|
|
5050
|
+
function dropRedundantCompactFailureEchoRows(rows) {
|
|
5051
|
+
const filtered = [];
|
|
5052
|
+
for (const row of rows) {
|
|
5053
|
+
const previous = filtered.at(-1);
|
|
5054
|
+
if (isSingleCompactFailureNoticeRow(previous) && isSinglePlainAssistantMessageRow(row) && previous.turnId === row.turnId && previous.messages[0]?.systemNotice?.detail?.trim() === row.messages[0]?.body.trim()) {
|
|
5055
|
+
continue;
|
|
5056
|
+
}
|
|
5057
|
+
filtered.push(row);
|
|
5058
|
+
}
|
|
5059
|
+
return filtered;
|
|
5060
|
+
}
|
|
5061
|
+
function isSingleCompactFailureNoticeRow(row) {
|
|
5062
|
+
if (!row || row.kind !== "message" || row.speaker !== "assistant" || row.thinking.length > 0 || row.messages.length !== 1) {
|
|
5063
|
+
return false;
|
|
5064
|
+
}
|
|
5065
|
+
const notice = row.messages[0]?.systemNotice;
|
|
5066
|
+
return notice?.command === "compact" && notice.commandStatus === "failed" && Boolean(notice.detail?.trim());
|
|
5067
|
+
}
|
|
5068
|
+
function isSinglePlainAssistantMessageRow(row) {
|
|
5069
|
+
return row.kind === "message" && row.speaker === "assistant" && row.thinking.length === 0 && row.messages.length === 1 && !row.messages[0]?.visibleError && !row.messages[0]?.systemNotice;
|
|
5070
|
+
}
|
|
4957
5071
|
function reconcileProjectedAgentConversationVM(previous, next) {
|
|
4958
5072
|
if (!previous) {
|
|
4959
5073
|
return next;
|
|
@@ -5333,7 +5447,7 @@ function resolveAgentConversationLinkAction({
|
|
|
5333
5447
|
import {
|
|
5334
5448
|
Fragment as Fragment2,
|
|
5335
5449
|
useCallback as useCallback4,
|
|
5336
|
-
useEffect as
|
|
5450
|
+
useEffect as useEffect4,
|
|
5337
5451
|
useState as useState7
|
|
5338
5452
|
} from "react";
|
|
5339
5453
|
import { CheckIcon, CopyIcon } from "@tutti-os/ui-system/icons";
|
|
@@ -5623,678 +5737,6 @@ function AgentPlanCard({
|
|
|
5623
5737
|
);
|
|
5624
5738
|
}
|
|
5625
5739
|
|
|
5626
|
-
// shared/AgentRichTextReadonly.tsx
|
|
5627
|
-
import { useEffect } from "react";
|
|
5628
|
-
import { EditorContent, useEditor } from "@tiptap/react";
|
|
5629
|
-
|
|
5630
|
-
// agent-gui/agentGuiNode/agentRichText/agentSkillTokenExtension.ts
|
|
5631
|
-
import { mergeAttributes, Node as Node2 } from "@tiptap/core";
|
|
5632
|
-
function createAgentSkillTokenExtension(options = {}) {
|
|
5633
|
-
return Node2.create({
|
|
5634
|
-
name: "agentSkillToken",
|
|
5635
|
-
group: "inline",
|
|
5636
|
-
inline: true,
|
|
5637
|
-
atom: true,
|
|
5638
|
-
selectable: true,
|
|
5639
|
-
addOptions() {
|
|
5640
|
-
return options;
|
|
5641
|
-
},
|
|
5642
|
-
addAttributes() {
|
|
5643
|
-
return {
|
|
5644
|
-
label: { default: "" },
|
|
5645
|
-
name: { default: "" },
|
|
5646
|
-
trigger: { default: "" }
|
|
5647
|
-
};
|
|
5648
|
-
},
|
|
5649
|
-
parseHTML() {
|
|
5650
|
-
return [{ tag: "span[data-agent-skill-token]" }];
|
|
5651
|
-
},
|
|
5652
|
-
renderHTML({ HTMLAttributes }) {
|
|
5653
|
-
const attrs = attrsToSkillTokenAttrs(HTMLAttributes);
|
|
5654
|
-
const displayLabel = skillTokenDisplayLabel(attrs);
|
|
5655
|
-
return [
|
|
5656
|
-
"span",
|
|
5657
|
-
mergeAttributes(HTMLAttributes, {
|
|
5658
|
-
"aria-label": attrs.label,
|
|
5659
|
-
contenteditable: "false",
|
|
5660
|
-
"data-agent-skill-token": "true",
|
|
5661
|
-
"data-agent-skill-trigger": attrs.trigger,
|
|
5662
|
-
"data-agent-mention-kind": "skill",
|
|
5663
|
-
class: "tsh-agent-object-token tsh-agent-object-token--entity"
|
|
5664
|
-
}),
|
|
5665
|
-
[
|
|
5666
|
-
"span",
|
|
5667
|
-
{
|
|
5668
|
-
class: "tsh-agent-object-token__kind",
|
|
5669
|
-
"aria-hidden": "true"
|
|
5670
|
-
},
|
|
5671
|
-
[
|
|
5672
|
-
"span",
|
|
5673
|
-
{
|
|
5674
|
-
class: "tsh-agent-object-token__kind-icon",
|
|
5675
|
-
"aria-hidden": "true"
|
|
5676
|
-
},
|
|
5677
|
-
""
|
|
5678
|
-
]
|
|
5679
|
-
],
|
|
5680
|
-
["span", { class: "tsh-agent-object-token__main" }, displayLabel]
|
|
5681
|
-
];
|
|
5682
|
-
},
|
|
5683
|
-
renderText({ node }) {
|
|
5684
|
-
return attrsToSkillTokenAttrs(node.attrs ?? {}).trigger;
|
|
5685
|
-
}
|
|
5686
|
-
});
|
|
5687
|
-
}
|
|
5688
|
-
function parseAgentSkillToken(text, start, skills = []) {
|
|
5689
|
-
if (!isSkillTokenBoundary(text[start - 1] ?? "")) {
|
|
5690
|
-
return null;
|
|
5691
|
-
}
|
|
5692
|
-
for (const candidate of skillTokenCandidates(skills)) {
|
|
5693
|
-
if (!text.startsWith(candidate.trigger, start)) {
|
|
5694
|
-
continue;
|
|
5695
|
-
}
|
|
5696
|
-
const end = start + candidate.trigger.length;
|
|
5697
|
-
if (!isSkillTokenBoundary(text[end] ?? "")) {
|
|
5698
|
-
continue;
|
|
5699
|
-
}
|
|
5700
|
-
return {
|
|
5701
|
-
attrs: candidate,
|
|
5702
|
-
end
|
|
5703
|
-
};
|
|
5704
|
-
}
|
|
5705
|
-
return null;
|
|
5706
|
-
}
|
|
5707
|
-
function skillTokenCandidates(skills) {
|
|
5708
|
-
const candidates = /* @__PURE__ */ new Map();
|
|
5709
|
-
for (const skill of skills) {
|
|
5710
|
-
for (const prefix of ["$", "/"]) {
|
|
5711
|
-
const trigger = skillTriggerForPrefix(skill, prefix);
|
|
5712
|
-
if (!trigger || candidates.has(trigger)) {
|
|
5713
|
-
continue;
|
|
5714
|
-
}
|
|
5715
|
-
candidates.set(trigger, {
|
|
5716
|
-
label: labelForProviderSkill(skill, prefix),
|
|
5717
|
-
name: skill.name.trim(),
|
|
5718
|
-
trigger
|
|
5719
|
-
});
|
|
5720
|
-
}
|
|
5721
|
-
}
|
|
5722
|
-
return [...candidates.values()].sort(
|
|
5723
|
-
(left, right) => right.trigger.length - left.trigger.length
|
|
5724
|
-
);
|
|
5725
|
-
}
|
|
5726
|
-
function isSkillTokenBoundary(value) {
|
|
5727
|
-
return value === "" || value === " " || value === "\n" || value === " ";
|
|
5728
|
-
}
|
|
5729
|
-
function attrsToSkillTokenAttrs(attrs) {
|
|
5730
|
-
return {
|
|
5731
|
-
label: typeof attrs.label === "string" ? attrs.label : "",
|
|
5732
|
-
name: typeof attrs.name === "string" ? attrs.name : "",
|
|
5733
|
-
trigger: typeof attrs.trigger === "string" ? attrs.trigger : ""
|
|
5734
|
-
};
|
|
5735
|
-
}
|
|
5736
|
-
function skillTokenDisplayLabel(attrs) {
|
|
5737
|
-
const label = attrs.label.trim() || attrs.trigger.trim();
|
|
5738
|
-
if (!label || label.startsWith("/") || label.startsWith("$")) {
|
|
5739
|
-
return label;
|
|
5740
|
-
}
|
|
5741
|
-
return `/${label}`;
|
|
5742
|
-
}
|
|
5743
|
-
|
|
5744
|
-
// agent-gui/agentGuiNode/agentRichText/agentCapabilityTokenExtension.ts
|
|
5745
|
-
import { mergeAttributes as mergeAttributes2, Node as Node3 } from "@tiptap/core";
|
|
5746
|
-
function createAgentCapabilityTokenExtension(options = {}) {
|
|
5747
|
-
return Node3.create({
|
|
5748
|
-
name: "agentCapabilityToken",
|
|
5749
|
-
group: "inline",
|
|
5750
|
-
inline: true,
|
|
5751
|
-
atom: true,
|
|
5752
|
-
selectable: true,
|
|
5753
|
-
addOptions() {
|
|
5754
|
-
return options;
|
|
5755
|
-
},
|
|
5756
|
-
addAttributes() {
|
|
5757
|
-
return {
|
|
5758
|
-
capability: { default: "" },
|
|
5759
|
-
label: { default: "" },
|
|
5760
|
-
name: { default: "" },
|
|
5761
|
-
trigger: { default: "" }
|
|
5762
|
-
};
|
|
5763
|
-
},
|
|
5764
|
-
parseHTML() {
|
|
5765
|
-
return [{ tag: "span[data-agent-capability-token]" }];
|
|
5766
|
-
},
|
|
5767
|
-
renderHTML({ HTMLAttributes }) {
|
|
5768
|
-
const attrs = attrsToCapabilityTokenAttrs(HTMLAttributes);
|
|
5769
|
-
const displayLabel = capabilityTokenDisplayLabel(attrs);
|
|
5770
|
-
return [
|
|
5771
|
-
"span",
|
|
5772
|
-
mergeAttributes2(HTMLAttributes, {
|
|
5773
|
-
"aria-label": attrs.label,
|
|
5774
|
-
contenteditable: "false",
|
|
5775
|
-
"data-agent-capability-token": "true",
|
|
5776
|
-
"data-agent-capability-trigger": attrs.trigger,
|
|
5777
|
-
"data-agent-mention-kind": "capability",
|
|
5778
|
-
class: "tsh-agent-object-token tsh-agent-object-token--entity"
|
|
5779
|
-
}),
|
|
5780
|
-
[
|
|
5781
|
-
"span",
|
|
5782
|
-
{
|
|
5783
|
-
class: "tsh-agent-object-token__kind",
|
|
5784
|
-
"aria-hidden": "true"
|
|
5785
|
-
},
|
|
5786
|
-
[
|
|
5787
|
-
"span",
|
|
5788
|
-
{
|
|
5789
|
-
class: "tsh-agent-object-token__kind-icon",
|
|
5790
|
-
"aria-hidden": "true"
|
|
5791
|
-
},
|
|
5792
|
-
""
|
|
5793
|
-
]
|
|
5794
|
-
],
|
|
5795
|
-
["span", { class: "tsh-agent-object-token__main" }, displayLabel]
|
|
5796
|
-
];
|
|
5797
|
-
},
|
|
5798
|
-
renderText({ node }) {
|
|
5799
|
-
return attrsToCapabilityTokenAttrs(node.attrs ?? {}).trigger;
|
|
5800
|
-
}
|
|
5801
|
-
});
|
|
5802
|
-
}
|
|
5803
|
-
function parseAgentCapabilityToken(text, start, capabilities = []) {
|
|
5804
|
-
if (!isCapabilityTokenBoundary(text[start - 1] ?? "")) {
|
|
5805
|
-
return null;
|
|
5806
|
-
}
|
|
5807
|
-
for (const candidate of capabilityTokenCandidates(capabilities)) {
|
|
5808
|
-
if (!text.startsWith(candidate.trigger, start)) {
|
|
5809
|
-
continue;
|
|
5810
|
-
}
|
|
5811
|
-
const end = start + candidate.trigger.length;
|
|
5812
|
-
if (!isCapabilityTokenBoundary(text[end] ?? "")) {
|
|
5813
|
-
continue;
|
|
5814
|
-
}
|
|
5815
|
-
return {
|
|
5816
|
-
attrs: candidate,
|
|
5817
|
-
end
|
|
5818
|
-
};
|
|
5819
|
-
}
|
|
5820
|
-
return null;
|
|
5821
|
-
}
|
|
5822
|
-
function capabilityTokenCandidates(capabilities) {
|
|
5823
|
-
const candidates = /* @__PURE__ */ new Map();
|
|
5824
|
-
for (const capability of capabilities) {
|
|
5825
|
-
const trigger = capability.trigger.trim();
|
|
5826
|
-
if (!trigger || candidates.has(trigger)) {
|
|
5827
|
-
continue;
|
|
5828
|
-
}
|
|
5829
|
-
candidates.set(trigger, {
|
|
5830
|
-
capability: capability.capability.trim(),
|
|
5831
|
-
label: capability.label.trim(),
|
|
5832
|
-
name: capability.name.trim(),
|
|
5833
|
-
trigger
|
|
5834
|
-
});
|
|
5835
|
-
}
|
|
5836
|
-
return [...candidates.values()].sort(
|
|
5837
|
-
(left, right) => right.trigger.length - left.trigger.length
|
|
5838
|
-
);
|
|
5839
|
-
}
|
|
5840
|
-
function isCapabilityTokenBoundary(value) {
|
|
5841
|
-
return value === "" || value === " " || value === "\n" || value === " ";
|
|
5842
|
-
}
|
|
5843
|
-
function attrsToCapabilityTokenAttrs(attrs) {
|
|
5844
|
-
return {
|
|
5845
|
-
capability: typeof attrs.capability === "string" ? attrs.capability : "",
|
|
5846
|
-
label: typeof attrs.label === "string" ? attrs.label : "",
|
|
5847
|
-
name: typeof attrs.name === "string" ? attrs.name : "",
|
|
5848
|
-
trigger: typeof attrs.trigger === "string" ? attrs.trigger : ""
|
|
5849
|
-
};
|
|
5850
|
-
}
|
|
5851
|
-
function capabilityTokenDisplayLabel(attrs) {
|
|
5852
|
-
const label = attrs.label.trim() || attrs.trigger.trim();
|
|
5853
|
-
if (!label || label.startsWith("/") || label.startsWith("$")) {
|
|
5854
|
-
return label;
|
|
5855
|
-
}
|
|
5856
|
-
return `/${label}`;
|
|
5857
|
-
}
|
|
5858
|
-
|
|
5859
|
-
// agent-gui/agentGuiNode/agentRichText/agentRichTextDocument.ts
|
|
5860
|
-
function createEmptyDocument() {
|
|
5861
|
-
return {
|
|
5862
|
-
type: "doc",
|
|
5863
|
-
content: [{ type: "paragraph" }]
|
|
5864
|
-
};
|
|
5865
|
-
}
|
|
5866
|
-
function isVisualLineStart(content) {
|
|
5867
|
-
return content.length === 0 || content.at(-1)?.type === "hardBreak";
|
|
5868
|
-
}
|
|
5869
|
-
function createParagraphFromText(text, options = {}) {
|
|
5870
|
-
const content = [];
|
|
5871
|
-
let index = 0;
|
|
5872
|
-
let textBuffer = "";
|
|
5873
|
-
const flushTextBuffer = () => {
|
|
5874
|
-
if (textBuffer.length === 0) {
|
|
5875
|
-
return;
|
|
5876
|
-
}
|
|
5877
|
-
content.push({ type: "text", text: textBuffer });
|
|
5878
|
-
textBuffer = "";
|
|
5879
|
-
};
|
|
5880
|
-
while (index < text.length) {
|
|
5881
|
-
const current = text[index];
|
|
5882
|
-
if (current === "\n") {
|
|
5883
|
-
flushTextBuffer();
|
|
5884
|
-
content.push({ type: "hardBreak" });
|
|
5885
|
-
index += 1;
|
|
5886
|
-
continue;
|
|
5887
|
-
}
|
|
5888
|
-
const parsedMention = parseAgentMentionMarkdown(text, index);
|
|
5889
|
-
if (parsedMention) {
|
|
5890
|
-
flushTextBuffer();
|
|
5891
|
-
if (isVisualLineStart(content)) {
|
|
5892
|
-
content.push({ type: "text", text: AGENT_RICH_TEXT_CARET_ANCHOR });
|
|
5893
|
-
}
|
|
5894
|
-
content.push({
|
|
5895
|
-
type: "agentFileMention",
|
|
5896
|
-
// 转成规范 node attrs(如 workspace-reference 的 source/groupId/fileCount),
|
|
5897
|
-
// 否则只读回显里的 reference chip 拿不到文件数 → 不显示「N 个文件」角标。
|
|
5898
|
-
attrs: mentionItemToAttrs(parsedMention.item)
|
|
5899
|
-
});
|
|
5900
|
-
index = parsedMention.end;
|
|
5901
|
-
continue;
|
|
5902
|
-
}
|
|
5903
|
-
const parsedCapabilityToken = parseAgentCapabilityToken(
|
|
5904
|
-
text,
|
|
5905
|
-
index,
|
|
5906
|
-
options.capabilities
|
|
5907
|
-
);
|
|
5908
|
-
if (parsedCapabilityToken) {
|
|
5909
|
-
flushTextBuffer();
|
|
5910
|
-
content.push({
|
|
5911
|
-
type: "agentCapabilityToken",
|
|
5912
|
-
attrs: parsedCapabilityToken.attrs
|
|
5913
|
-
});
|
|
5914
|
-
index = parsedCapabilityToken.end;
|
|
5915
|
-
continue;
|
|
5916
|
-
}
|
|
5917
|
-
const parsedSkillToken = parseAgentSkillToken(text, index, options.skills);
|
|
5918
|
-
if (parsedSkillToken) {
|
|
5919
|
-
flushTextBuffer();
|
|
5920
|
-
content.push({
|
|
5921
|
-
type: "agentSkillToken",
|
|
5922
|
-
attrs: parsedSkillToken.attrs
|
|
5923
|
-
});
|
|
5924
|
-
index = parsedSkillToken.end;
|
|
5925
|
-
continue;
|
|
5926
|
-
}
|
|
5927
|
-
textBuffer += current;
|
|
5928
|
-
index += 1;
|
|
5929
|
-
}
|
|
5930
|
-
flushTextBuffer();
|
|
5931
|
-
return content.length > 0 ? { type: "paragraph", content } : { type: "paragraph" };
|
|
5932
|
-
}
|
|
5933
|
-
function plainTextToAgentRichTextDoc(text, options = {}) {
|
|
5934
|
-
if (text.length === 0) {
|
|
5935
|
-
return createEmptyDocument();
|
|
5936
|
-
}
|
|
5937
|
-
const normalized = text.replace(/\r\n?/g, "\n");
|
|
5938
|
-
return {
|
|
5939
|
-
type: "doc",
|
|
5940
|
-
content: [createParagraphFromText(normalized, options)]
|
|
5941
|
-
};
|
|
5942
|
-
}
|
|
5943
|
-
function plainTextToAgentRichTextInlineContent(text, options = {}) {
|
|
5944
|
-
const paragraph = createParagraphFromText(
|
|
5945
|
-
text.replace(/\r\n?/g, "\n"),
|
|
5946
|
-
options
|
|
5947
|
-
);
|
|
5948
|
-
return paragraph.content ?? [];
|
|
5949
|
-
}
|
|
5950
|
-
function agentRichTextDocToPromptText(doc) {
|
|
5951
|
-
if (doc.type !== "doc") {
|
|
5952
|
-
return nodeToPromptText(doc);
|
|
5953
|
-
}
|
|
5954
|
-
return agentRichTextContentToPromptText(doc.content ?? []);
|
|
5955
|
-
}
|
|
5956
|
-
function editorToPromptText(editor) {
|
|
5957
|
-
return agentRichTextDocToPromptText(editor.getJSON());
|
|
5958
|
-
}
|
|
5959
|
-
function agentRichTextContentToPromptText(content) {
|
|
5960
|
-
if (content.length === 0) {
|
|
5961
|
-
return "";
|
|
5962
|
-
}
|
|
5963
|
-
const separator = content.some((node) => isBlockPromptNode(node)) ? "\n" : "";
|
|
5964
|
-
return content.map((node) => nodeToPromptText(node)).join(separator);
|
|
5965
|
-
}
|
|
5966
|
-
function isBlockPromptNode(node) {
|
|
5967
|
-
return node.type === "doc" || node.type === "paragraph";
|
|
5968
|
-
}
|
|
5969
|
-
function nodeToPromptText(node) {
|
|
5970
|
-
if (node.type === "text") {
|
|
5971
|
-
return (node.text ?? "").replaceAll(AGENT_RICH_TEXT_CARET_ANCHOR, "");
|
|
5972
|
-
}
|
|
5973
|
-
if (node.type === "agentFileMention") {
|
|
5974
|
-
return formatAgentMentionMarkdown(attrsToMentionItem(node.attrs ?? {}));
|
|
5975
|
-
}
|
|
5976
|
-
if (node.type === "agentSkillToken") {
|
|
5977
|
-
return typeof node.attrs?.trigger === "string" ? node.attrs.trigger : "";
|
|
5978
|
-
}
|
|
5979
|
-
if (node.type === "agentCapabilityToken") {
|
|
5980
|
-
return typeof node.attrs?.trigger === "string" ? node.attrs.trigger : "";
|
|
5981
|
-
}
|
|
5982
|
-
if (node.type === "hardBreak") {
|
|
5983
|
-
return "\n";
|
|
5984
|
-
}
|
|
5985
|
-
if (!node.content || node.content.length === 0) {
|
|
5986
|
-
return "";
|
|
5987
|
-
}
|
|
5988
|
-
return node.content.map((child) => nodeToPromptText(child)).join("");
|
|
5989
|
-
}
|
|
5990
|
-
|
|
5991
|
-
// agent-gui/agentGuiNode/agentRichText/agentRichTextExtensions.ts
|
|
5992
|
-
import { Extension } from "@tiptap/core";
|
|
5993
|
-
import { NodeSelection, TextSelection } from "@tiptap/pm/state";
|
|
5994
|
-
import { Plugin } from "@tiptap/pm/state";
|
|
5995
|
-
import StarterKit from "@tiptap/starter-kit";
|
|
5996
|
-
function createAgentPromptStarterKit() {
|
|
5997
|
-
return StarterKit.configure({
|
|
5998
|
-
blockquote: false,
|
|
5999
|
-
bold: false,
|
|
6000
|
-
bulletList: false,
|
|
6001
|
-
code: false,
|
|
6002
|
-
codeBlock: false,
|
|
6003
|
-
dropcursor: false,
|
|
6004
|
-
gapcursor: false,
|
|
6005
|
-
heading: false,
|
|
6006
|
-
horizontalRule: false,
|
|
6007
|
-
italic: false,
|
|
6008
|
-
link: false,
|
|
6009
|
-
listItem: false,
|
|
6010
|
-
listKeymap: false,
|
|
6011
|
-
orderedList: false,
|
|
6012
|
-
strike: false,
|
|
6013
|
-
trailingNode: false,
|
|
6014
|
-
underline: false
|
|
6015
|
-
});
|
|
6016
|
-
}
|
|
6017
|
-
function createAgentTokenKeyboardExtension() {
|
|
6018
|
-
return Extension.create({
|
|
6019
|
-
name: "agentTokenKeyboard",
|
|
6020
|
-
addProseMirrorPlugins() {
|
|
6021
|
-
return [
|
|
6022
|
-
new Plugin({
|
|
6023
|
-
props: {
|
|
6024
|
-
handleKeyDown(view, event) {
|
|
6025
|
-
if (event.key !== "Backspace" && event.key !== "ArrowLeft") {
|
|
6026
|
-
return false;
|
|
6027
|
-
}
|
|
6028
|
-
const { doc, selection } = view.state;
|
|
6029
|
-
if (selection instanceof NodeSelection && isSelectableAgentToken(selection.node)) {
|
|
6030
|
-
event.preventDefault();
|
|
6031
|
-
if (event.key === "ArrowLeft") {
|
|
6032
|
-
view.dispatch(
|
|
6033
|
-
view.state.tr.setSelection(
|
|
6034
|
-
TextSelection.create(doc, selection.from)
|
|
6035
|
-
)
|
|
6036
|
-
);
|
|
6037
|
-
} else {
|
|
6038
|
-
view.dispatch(
|
|
6039
|
-
view.state.tr.delete(selection.from, selection.to)
|
|
6040
|
-
);
|
|
6041
|
-
}
|
|
6042
|
-
return true;
|
|
6043
|
-
}
|
|
6044
|
-
if (!selection.empty) {
|
|
6045
|
-
return false;
|
|
6046
|
-
}
|
|
6047
|
-
const nodeBefore = selection.$from.nodeBefore;
|
|
6048
|
-
if (!nodeBefore || !isSelectableAgentToken(nodeBefore)) {
|
|
6049
|
-
return false;
|
|
6050
|
-
}
|
|
6051
|
-
event.preventDefault();
|
|
6052
|
-
view.dispatch(
|
|
6053
|
-
view.state.tr.setSelection(
|
|
6054
|
-
NodeSelection.create(
|
|
6055
|
-
doc,
|
|
6056
|
-
selection.from - nodeBefore.nodeSize
|
|
6057
|
-
)
|
|
6058
|
-
)
|
|
6059
|
-
);
|
|
6060
|
-
return true;
|
|
6061
|
-
}
|
|
6062
|
-
}
|
|
6063
|
-
})
|
|
6064
|
-
];
|
|
6065
|
-
}
|
|
6066
|
-
});
|
|
6067
|
-
}
|
|
6068
|
-
function isSelectableAgentToken(node) {
|
|
6069
|
-
return node?.type.name === "agentSkillToken" || node?.type.name === "agentCapabilityToken";
|
|
6070
|
-
}
|
|
6071
|
-
function createAgentRichTextInputExtensions(fileMentionOptions, skillTokenOptions, capabilityTokenOptions) {
|
|
6072
|
-
return [
|
|
6073
|
-
createAgentTokenKeyboardExtension(),
|
|
6074
|
-
createAgentPromptStarterKit(),
|
|
6075
|
-
createAgentFileMentionExtension(fileMentionOptions),
|
|
6076
|
-
createAgentCapabilityTokenExtension(capabilityTokenOptions),
|
|
6077
|
-
createAgentSkillTokenExtension(skillTokenOptions)
|
|
6078
|
-
];
|
|
6079
|
-
}
|
|
6080
|
-
function createAgentRichTextReadonlyExtensions(skillTokenOptions, capabilityTokenOptions) {
|
|
6081
|
-
return [
|
|
6082
|
-
createAgentPromptStarterKit(),
|
|
6083
|
-
createAgentFileMentionExtension({
|
|
6084
|
-
enableSuggestions: false,
|
|
6085
|
-
renderAsLink: true
|
|
6086
|
-
}),
|
|
6087
|
-
createAgentCapabilityTokenExtension(capabilityTokenOptions),
|
|
6088
|
-
createAgentSkillTokenExtension(skillTokenOptions)
|
|
6089
|
-
];
|
|
6090
|
-
}
|
|
6091
|
-
|
|
6092
|
-
// shared/AgentRichTextReadonly.tsx
|
|
6093
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
6094
|
-
var EMPTY_WORKSPACE_APP_ICONS = [];
|
|
6095
|
-
function AgentRichTextReadonly({
|
|
6096
|
-
value,
|
|
6097
|
-
className,
|
|
6098
|
-
editorClassName,
|
|
6099
|
-
onLinkClick,
|
|
6100
|
-
availableSkills = [],
|
|
6101
|
-
workspaceAppIcons = EMPTY_WORKSPACE_APP_ICONS,
|
|
6102
|
-
agentTargets
|
|
6103
|
-
}) {
|
|
6104
|
-
"use memo";
|
|
6105
|
-
const contextAgentTargets = useAgentTargetPresentations();
|
|
6106
|
-
const effectiveAgentTargets = agentTargets ?? contextAgentTargets;
|
|
6107
|
-
const contentDoc = plainTextToAgentRichTextDocWithMentionPresentations(
|
|
6108
|
-
value,
|
|
6109
|
-
availableSkills,
|
|
6110
|
-
workspaceAppIcons,
|
|
6111
|
-
effectiveAgentTargets
|
|
6112
|
-
);
|
|
6113
|
-
const isMentionOnly = isMentionOnlyRichTextDoc(contentDoc);
|
|
6114
|
-
const editor = useEditor({
|
|
6115
|
-
// AgentGUI is client-only. Deferring editor creation leaves every user
|
|
6116
|
-
// message blank for one commit, then changes each transcript turn's
|
|
6117
|
-
// measured height when TipTap mounts.
|
|
6118
|
-
immediatelyRender: true,
|
|
6119
|
-
editable: false,
|
|
6120
|
-
extensions: createAgentRichTextReadonlyExtensions({
|
|
6121
|
-
skills: availableSkills
|
|
6122
|
-
}),
|
|
6123
|
-
content: contentDoc,
|
|
6124
|
-
editorProps: {
|
|
6125
|
-
attributes: {
|
|
6126
|
-
class: cn(
|
|
6127
|
-
editorClassName,
|
|
6128
|
-
"max-w-full overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words [overflow-wrap:anywhere] [&_p]:m-0 [&_p]:min-h-[1.45em] [&_a[data-agent-file-mention=true]]:cursor-pointer [&_[data-agent-file-mention=true]]:overflow-hidden"
|
|
6129
|
-
)
|
|
6130
|
-
},
|
|
6131
|
-
handleDOMEvents: {
|
|
6132
|
-
click: (_view, event) => {
|
|
6133
|
-
if (!onLinkClick || !(event.target instanceof Element)) {
|
|
6134
|
-
return false;
|
|
6135
|
-
}
|
|
6136
|
-
const mention = event.target.closest(
|
|
6137
|
-
'[data-agent-file-mention="true"]'
|
|
6138
|
-
);
|
|
6139
|
-
if (!(mention instanceof HTMLElement)) {
|
|
6140
|
-
return false;
|
|
6141
|
-
}
|
|
6142
|
-
const href = mention instanceof HTMLAnchorElement ? mention.getAttribute("href") || "" : mention.getAttribute("data-agent-mention-href") || "";
|
|
6143
|
-
if (!href) {
|
|
6144
|
-
return false;
|
|
6145
|
-
}
|
|
6146
|
-
event.preventDefault();
|
|
6147
|
-
event.stopPropagation();
|
|
6148
|
-
onLinkClick(href);
|
|
6149
|
-
return true;
|
|
6150
|
-
}
|
|
6151
|
-
}
|
|
6152
|
-
}
|
|
6153
|
-
});
|
|
6154
|
-
useEffect(() => {
|
|
6155
|
-
if (!editor || editor.isDestroyed) {
|
|
6156
|
-
return;
|
|
6157
|
-
}
|
|
6158
|
-
const nextDoc = plainTextToAgentRichTextDocWithMentionPresentations(
|
|
6159
|
-
value,
|
|
6160
|
-
availableSkills,
|
|
6161
|
-
workspaceAppIcons,
|
|
6162
|
-
effectiveAgentTargets
|
|
6163
|
-
);
|
|
6164
|
-
if (JSON.stringify(editor.getJSON()) === JSON.stringify(nextDoc)) {
|
|
6165
|
-
return;
|
|
6166
|
-
}
|
|
6167
|
-
editor.commands.setContent(nextDoc, { emitUpdate: false });
|
|
6168
|
-
}, [
|
|
6169
|
-
availableSkills,
|
|
6170
|
-
effectiveAgentTargets,
|
|
6171
|
-
editor,
|
|
6172
|
-
value,
|
|
6173
|
-
workspaceAppIcons
|
|
6174
|
-
]);
|
|
6175
|
-
if (!editor) {
|
|
6176
|
-
return /* @__PURE__ */ jsx3(
|
|
6177
|
-
"div",
|
|
6178
|
-
{
|
|
6179
|
-
className,
|
|
6180
|
-
"data-agent-mention-only": isMentionOnly ? "true" : void 0
|
|
6181
|
-
}
|
|
6182
|
-
);
|
|
6183
|
-
}
|
|
6184
|
-
return /* @__PURE__ */ jsx3(
|
|
6185
|
-
"div",
|
|
6186
|
-
{
|
|
6187
|
-
className,
|
|
6188
|
-
"data-agent-mention-only": isMentionOnly ? "true" : void 0,
|
|
6189
|
-
children: /* @__PURE__ */ jsx3(EditorContent, { editor })
|
|
6190
|
-
}
|
|
6191
|
-
);
|
|
6192
|
-
}
|
|
6193
|
-
function isMentionOnlyRichTextDoc(doc) {
|
|
6194
|
-
if (doc.type !== "doc") {
|
|
6195
|
-
return false;
|
|
6196
|
-
}
|
|
6197
|
-
const blocks = doc.content ?? [];
|
|
6198
|
-
if (blocks.length !== 1) {
|
|
6199
|
-
return false;
|
|
6200
|
-
}
|
|
6201
|
-
const paragraph = blocks[0];
|
|
6202
|
-
if (paragraph?.type !== "paragraph") {
|
|
6203
|
-
return false;
|
|
6204
|
-
}
|
|
6205
|
-
const inlineContent = (paragraph.content ?? []).filter(
|
|
6206
|
-
(node) => !(node.type === "text" && (node.text ?? "").replaceAll(AGENT_RICH_TEXT_CARET_ANCHOR, "").length === 0)
|
|
6207
|
-
);
|
|
6208
|
-
return inlineContent.length === 1 && inlineContent[0]?.type === "agentFileMention";
|
|
6209
|
-
}
|
|
6210
|
-
function plainTextToAgentRichTextDocWithMentionPresentations(value, availableSkills, workspaceAppIcons, agentTargets) {
|
|
6211
|
-
let doc = plainTextToAgentRichTextDoc(value, { skills: availableSkills });
|
|
6212
|
-
if (workspaceAppIcons.length > 0) {
|
|
6213
|
-
doc = hydrateWorkspaceAppMentionIcons(doc, workspaceAppIcons);
|
|
6214
|
-
}
|
|
6215
|
-
if (agentTargets.length > 0) {
|
|
6216
|
-
doc = hydrateAgentTargetMentionPresentations(doc, agentTargets);
|
|
6217
|
-
}
|
|
6218
|
-
return doc;
|
|
6219
|
-
}
|
|
6220
|
-
function hydrateWorkspaceAppMentionIcons(node, workspaceAppIcons) {
|
|
6221
|
-
const nextContent = node.content?.map(
|
|
6222
|
-
(child) => hydrateWorkspaceAppMentionIcons(child, workspaceAppIcons)
|
|
6223
|
-
);
|
|
6224
|
-
if (node.type !== "agentFileMention") {
|
|
6225
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6226
|
-
}
|
|
6227
|
-
const attrs = node.attrs ?? {};
|
|
6228
|
-
const kind = typeof attrs.kind === "string" ? attrs.kind : "";
|
|
6229
|
-
const isWorkspaceAppMention = kind === "workspace-app";
|
|
6230
|
-
const isAppWorkspaceReferenceMention = kind === "workspace-reference" && attrs.source === "app";
|
|
6231
|
-
if (!isWorkspaceAppMention && !isAppWorkspaceReferenceMention) {
|
|
6232
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6233
|
-
}
|
|
6234
|
-
const workspaceId = typeof attrs.workspaceId === "string" ? attrs.workspaceId.trim() : "";
|
|
6235
|
-
const appId = isWorkspaceAppMention && typeof attrs.appId === "string" ? attrs.appId.trim() : typeof attrs.targetId === "string" ? attrs.targetId.trim() : "";
|
|
6236
|
-
const iconUrl = resolveWorkspaceAppIconUrl({
|
|
6237
|
-
appId,
|
|
6238
|
-
workspaceId,
|
|
6239
|
-
workspaceAppIcons
|
|
6240
|
-
});
|
|
6241
|
-
if (!iconUrl) {
|
|
6242
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6243
|
-
}
|
|
6244
|
-
return {
|
|
6245
|
-
...node,
|
|
6246
|
-
attrs: {
|
|
6247
|
-
...node.attrs,
|
|
6248
|
-
iconUrl
|
|
6249
|
-
},
|
|
6250
|
-
...nextContent ? { content: nextContent } : {}
|
|
6251
|
-
};
|
|
6252
|
-
}
|
|
6253
|
-
function resolveWorkspaceAppIconUrl(input) {
|
|
6254
|
-
if (!input.appId) {
|
|
6255
|
-
return void 0;
|
|
6256
|
-
}
|
|
6257
|
-
const exactMatch = input.workspaceAppIcons.find(
|
|
6258
|
-
(icon) => icon.appId.trim() === input.appId && (icon.workspaceId?.trim() ?? "") === input.workspaceId && icon.iconUrl?.trim()
|
|
6259
|
-
);
|
|
6260
|
-
const fallbackMatch = input.workspaceAppIcons.find(
|
|
6261
|
-
(icon) => icon.appId.trim() === input.appId && icon.iconUrl?.trim()
|
|
6262
|
-
);
|
|
6263
|
-
return exactMatch?.iconUrl?.trim() || fallbackMatch?.iconUrl?.trim() || void 0;
|
|
6264
|
-
}
|
|
6265
|
-
function hydrateAgentTargetMentionPresentations(node, agentTargets) {
|
|
6266
|
-
const nextContent = node.content?.map(
|
|
6267
|
-
(child) => hydrateAgentTargetMentionPresentations(child, agentTargets)
|
|
6268
|
-
);
|
|
6269
|
-
if (node.type !== "agentFileMention") {
|
|
6270
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6271
|
-
}
|
|
6272
|
-
const attrs = node.attrs ?? {};
|
|
6273
|
-
if (attrs.kind !== "agent-target") {
|
|
6274
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6275
|
-
}
|
|
6276
|
-
const agentTargetId = typeof attrs.targetId === "string" ? attrs.targetId.trim() : "";
|
|
6277
|
-
const workspaceId = typeof attrs.workspaceId === "string" ? attrs.workspaceId.trim() : "";
|
|
6278
|
-
const target = resolveAgentTargetPresentation({
|
|
6279
|
-
agentTargetId,
|
|
6280
|
-
agentTargets,
|
|
6281
|
-
workspaceId
|
|
6282
|
-
});
|
|
6283
|
-
if (!target) {
|
|
6284
|
-
return nextContent ? { ...node, content: nextContent } : node;
|
|
6285
|
-
}
|
|
6286
|
-
return {
|
|
6287
|
-
...node,
|
|
6288
|
-
attrs: {
|
|
6289
|
-
...node.attrs,
|
|
6290
|
-
agentProviderId: target.provider?.trim() ?? "",
|
|
6291
|
-
iconUrl: target.iconUrl?.trim() ?? "",
|
|
6292
|
-
name: target.name?.trim() || attrs.name
|
|
6293
|
-
},
|
|
6294
|
-
...nextContent ? { content: nextContent } : {}
|
|
6295
|
-
};
|
|
6296
|
-
}
|
|
6297
|
-
|
|
6298
5740
|
// shared/agentConversation/components/AgentMessageDetailsDisclosure.tsx
|
|
6299
5741
|
import { useState as useState3 } from "react";
|
|
6300
5742
|
import { ChevronRight } from "lucide-react";
|
|
@@ -6302,12 +5744,12 @@ import { ChevronRight } from "lucide-react";
|
|
|
6302
5744
|
// shared/agentConversation/components/CollapsibleReveal.tsx
|
|
6303
5745
|
import {
|
|
6304
5746
|
useCallback as useCallback2,
|
|
6305
|
-
useEffect
|
|
5747
|
+
useEffect,
|
|
6306
5748
|
useLayoutEffect,
|
|
6307
5749
|
useRef as useRef2,
|
|
6308
5750
|
useState as useState2
|
|
6309
5751
|
} from "react";
|
|
6310
|
-
import { jsx as
|
|
5752
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
6311
5753
|
function CollapsibleReveal({
|
|
6312
5754
|
expanded,
|
|
6313
5755
|
children,
|
|
@@ -6340,7 +5782,7 @@ function CollapsibleReveal({
|
|
|
6340
5782
|
});
|
|
6341
5783
|
return () => cancelAnimationFrame(animationFrame);
|
|
6342
5784
|
}, [expanded, mounted, preMountOnIdle]);
|
|
6343
|
-
|
|
5785
|
+
useEffect(() => {
|
|
6344
5786
|
if (!preMountOnIdle || mounted || expanded) {
|
|
6345
5787
|
return void 0;
|
|
6346
5788
|
}
|
|
@@ -6447,7 +5889,7 @@ function CollapsibleReveal({
|
|
|
6447
5889
|
}
|
|
6448
5890
|
};
|
|
6449
5891
|
const rootStyle = { height };
|
|
6450
|
-
return /* @__PURE__ */
|
|
5892
|
+
return /* @__PURE__ */ jsx3(
|
|
6451
5893
|
"div",
|
|
6452
5894
|
{
|
|
6453
5895
|
ref: rootRef,
|
|
@@ -6456,13 +5898,13 @@ function CollapsibleReveal({
|
|
|
6456
5898
|
"aria-hidden": visible ? void 0 : true,
|
|
6457
5899
|
style: rootStyle,
|
|
6458
5900
|
onTransitionEnd: handleTransitionEnd,
|
|
6459
|
-
children: /* @__PURE__ */
|
|
5901
|
+
children: /* @__PURE__ */ jsx3("div", { ref: innerRef, className: "agent-collapsible-reveal__inner", children })
|
|
6460
5902
|
}
|
|
6461
5903
|
);
|
|
6462
5904
|
}
|
|
6463
5905
|
|
|
6464
5906
|
// shared/agentConversation/components/AgentMessageDetailsDisclosure.tsx
|
|
6465
|
-
import { jsx as
|
|
5907
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
6466
5908
|
function AgentMessageDetailsDisclosure({
|
|
6467
5909
|
detail,
|
|
6468
5910
|
className = "",
|
|
@@ -6480,7 +5922,7 @@ function AgentMessageDetailsDisclosure({
|
|
|
6480
5922
|
onClick: () => setExpanded((value) => !value),
|
|
6481
5923
|
children: [
|
|
6482
5924
|
label ?? translate("agentHost.agentGui.visibleErrorDetails"),
|
|
6483
|
-
/* @__PURE__ */
|
|
5925
|
+
/* @__PURE__ */ jsx4(
|
|
6484
5926
|
ChevronRight,
|
|
6485
5927
|
{
|
|
6486
5928
|
size: 12,
|
|
@@ -6498,14 +5940,14 @@ function AgentMessageDetailsDisclosure({
|
|
|
6498
5940
|
]
|
|
6499
5941
|
}
|
|
6500
5942
|
),
|
|
6501
|
-
/* @__PURE__ */
|
|
5943
|
+
/* @__PURE__ */ jsx4(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx4("pre", { className: "mt-2 max-h-[220px] overflow-auto whitespace-pre-wrap break-words rounded-[6px] bg-[var(--on-danger)] px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] leading-5 text-[var(--state-danger)]", children: detail }) })
|
|
6502
5944
|
] });
|
|
6503
5945
|
}
|
|
6504
5946
|
|
|
6505
5947
|
// app/renderer/components/ui/button.tsx
|
|
6506
5948
|
import * as React from "react";
|
|
6507
5949
|
import { Button as UISystemButton, buttonVariants } from "@tutti-os/ui-system";
|
|
6508
|
-
import { jsx as
|
|
5950
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
6509
5951
|
function resolveButtonSize(size) {
|
|
6510
5952
|
switch (size) {
|
|
6511
5953
|
case "mini":
|
|
@@ -6530,7 +5972,7 @@ function resolveButtonClassName(size, className) {
|
|
|
6530
5972
|
);
|
|
6531
5973
|
}
|
|
6532
5974
|
var Button = React.forwardRef(
|
|
6533
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */
|
|
5975
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
6534
5976
|
UISystemButton,
|
|
6535
5977
|
{
|
|
6536
5978
|
ref,
|
|
@@ -6543,7 +5985,7 @@ var Button = React.forwardRef(
|
|
|
6543
5985
|
Button.displayName = "Button";
|
|
6544
5986
|
|
|
6545
5987
|
// shared/agentConversation/components/AgentVisibleErrorMessage.tsx
|
|
6546
|
-
import { jsx as
|
|
5988
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
6547
5989
|
var PLAN_LIMIT_WARNING_CLASS_NAME = "border-[color-mix(in_srgb,var(--state-warning)_14%,transparent)] bg-[color-mix(in_srgb,var(--background-fronted)_100%,var(--state-warning)_6%)]";
|
|
6548
5990
|
function recoverVisibleErrorFromFailedMessage(message, provider) {
|
|
6549
5991
|
const code = classifyFailedAgentMessage(message.body);
|
|
@@ -6580,16 +6022,16 @@ function AgentVisibleErrorMessage({
|
|
|
6580
6022
|
const isPlanOrQuotaLimit = error?.code === "quota_or_rate_limit";
|
|
6581
6023
|
const toneClassName = isPlanOrQuotaLimit ? PLAN_LIMIT_WARNING_CLASS_NAME : "border-[var(--on-danger-hover)] bg-[var(--on-danger)] text-[var(--state-danger)]";
|
|
6582
6024
|
const displayHeadline = isPlanOrQuotaLimit && isProviderPlanLimitMessage(detail) ? detail : headline;
|
|
6583
|
-
return /* @__PURE__ */
|
|
6025
|
+
return /* @__PURE__ */ jsx6(
|
|
6584
6026
|
"section",
|
|
6585
6027
|
{
|
|
6586
6028
|
role: isPlanOrQuotaLimit ? "status" : "alert",
|
|
6587
6029
|
className: `box-border w-full min-w-0 rounded-[8px] border p-3 text-[13px] leading-5 text-[var(--text-primary)] ${toneClassName}`,
|
|
6588
6030
|
children: /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-start gap-3", children: [
|
|
6589
6031
|
/* @__PURE__ */ jsxs4("div", { className: "min-w-0 flex-1", children: [
|
|
6590
|
-
/* @__PURE__ */
|
|
6591
|
-
hint ? /* @__PURE__ */
|
|
6592
|
-
detail && displayHeadline !== detail ? /* @__PURE__ */
|
|
6032
|
+
/* @__PURE__ */ jsx6("div", { className: "font-medium text-[var(--text-primary)]", children: displayHeadline }),
|
|
6033
|
+
hint ? /* @__PURE__ */ jsx6("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: hint }) : null,
|
|
6034
|
+
detail && displayHeadline !== detail ? /* @__PURE__ */ jsx6(
|
|
6593
6035
|
AgentMessageDetailsDisclosure,
|
|
6594
6036
|
{
|
|
6595
6037
|
detail,
|
|
@@ -6598,7 +6040,7 @@ function AgentVisibleErrorMessage({
|
|
|
6598
6040
|
}
|
|
6599
6041
|
) : null
|
|
6600
6042
|
] }),
|
|
6601
|
-
actionKey && (focus || externalUrl && onExternalLink) ? /* @__PURE__ */
|
|
6043
|
+
actionKey && (focus || externalUrl && onExternalLink) ? /* @__PURE__ */ jsx6(
|
|
6602
6044
|
Button,
|
|
6603
6045
|
{
|
|
6604
6046
|
type: "button",
|
|
@@ -6674,7 +6116,7 @@ import { ChevronDown as ChevronDown2, ChevronRight as ChevronRight2 } from "luci
|
|
|
6674
6116
|
import {
|
|
6675
6117
|
forwardRef as forwardRef2,
|
|
6676
6118
|
useCallback as useCallback3,
|
|
6677
|
-
useEffect as
|
|
6119
|
+
useEffect as useEffect2,
|
|
6678
6120
|
useImperativeHandle,
|
|
6679
6121
|
useRef as useRef3
|
|
6680
6122
|
} from "react";
|
|
@@ -6683,7 +6125,7 @@ import {
|
|
|
6683
6125
|
useAnimation,
|
|
6684
6126
|
useReducedMotion
|
|
6685
6127
|
} from "framer-motion";
|
|
6686
|
-
import { jsx as
|
|
6128
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
6687
6129
|
var brainTransition = {
|
|
6688
6130
|
duration: 1.4,
|
|
6689
6131
|
repeat: Number.POSITIVE_INFINITY,
|
|
@@ -6750,7 +6192,7 @@ var BrainIcon = forwardRef2(
|
|
|
6750
6192
|
stopAnimation
|
|
6751
6193
|
};
|
|
6752
6194
|
});
|
|
6753
|
-
|
|
6195
|
+
useEffect2(() => {
|
|
6754
6196
|
if (active) {
|
|
6755
6197
|
startAnimation();
|
|
6756
6198
|
return;
|
|
@@ -6777,7 +6219,7 @@ var BrainIcon = forwardRef2(
|
|
|
6777
6219
|
},
|
|
6778
6220
|
[onMouseLeave, stopAnimation]
|
|
6779
6221
|
);
|
|
6780
|
-
return /* @__PURE__ */
|
|
6222
|
+
return /* @__PURE__ */ jsx7(
|
|
6781
6223
|
"div",
|
|
6782
6224
|
{
|
|
6783
6225
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -6809,7 +6251,7 @@ var BrainIcon = forwardRef2(
|
|
|
6809
6251
|
width: size,
|
|
6810
6252
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6811
6253
|
children: [
|
|
6812
|
-
/* @__PURE__ */
|
|
6254
|
+
/* @__PURE__ */ jsx7(
|
|
6813
6255
|
motion.path,
|
|
6814
6256
|
{
|
|
6815
6257
|
animate: controls,
|
|
@@ -6817,7 +6259,7 @@ var BrainIcon = forwardRef2(
|
|
|
6817
6259
|
variants: BRAIN_STEM_VARIANTS
|
|
6818
6260
|
}
|
|
6819
6261
|
),
|
|
6820
|
-
/* @__PURE__ */
|
|
6262
|
+
/* @__PURE__ */ jsx7(
|
|
6821
6263
|
motion.path,
|
|
6822
6264
|
{
|
|
6823
6265
|
animate: controls,
|
|
@@ -6825,7 +6267,7 @@ var BrainIcon = forwardRef2(
|
|
|
6825
6267
|
variants: BRAIN_SIDE_VARIANTS
|
|
6826
6268
|
}
|
|
6827
6269
|
),
|
|
6828
|
-
/* @__PURE__ */
|
|
6270
|
+
/* @__PURE__ */ jsx7(
|
|
6829
6271
|
motion.path,
|
|
6830
6272
|
{
|
|
6831
6273
|
animate: controls,
|
|
@@ -6833,7 +6275,7 @@ var BrainIcon = forwardRef2(
|
|
|
6833
6275
|
variants: BRAIN_TOP_ARC_VARIANTS
|
|
6834
6276
|
}
|
|
6835
6277
|
),
|
|
6836
|
-
/* @__PURE__ */
|
|
6278
|
+
/* @__PURE__ */ jsx7(
|
|
6837
6279
|
motion.path,
|
|
6838
6280
|
{
|
|
6839
6281
|
animate: controls,
|
|
@@ -6841,8 +6283,8 @@ var BrainIcon = forwardRef2(
|
|
|
6841
6283
|
variants: BRAIN_TOP_ARC_VARIANTS
|
|
6842
6284
|
}
|
|
6843
6285
|
),
|
|
6844
|
-
/* @__PURE__ */
|
|
6845
|
-
/* @__PURE__ */
|
|
6286
|
+
/* @__PURE__ */ jsx7("path", { d: "M17.997 5.125a4 4 0 0 1 2.526 5.77" }),
|
|
6287
|
+
/* @__PURE__ */ jsx7(
|
|
6846
6288
|
motion.path,
|
|
6847
6289
|
{
|
|
6848
6290
|
animate: controls,
|
|
@@ -6850,8 +6292,8 @@ var BrainIcon = forwardRef2(
|
|
|
6850
6292
|
variants: BRAIN_LOWER_ARC_VARIANTS
|
|
6851
6293
|
}
|
|
6852
6294
|
),
|
|
6853
|
-
/* @__PURE__ */
|
|
6854
|
-
/* @__PURE__ */
|
|
6295
|
+
/* @__PURE__ */ jsx7("path", { d: "M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517" }),
|
|
6296
|
+
/* @__PURE__ */ jsx7(
|
|
6855
6297
|
motion.path,
|
|
6856
6298
|
{
|
|
6857
6299
|
animate: controls,
|
|
@@ -6859,7 +6301,7 @@ var BrainIcon = forwardRef2(
|
|
|
6859
6301
|
variants: BRAIN_LOWER_ARC_VARIANTS
|
|
6860
6302
|
}
|
|
6861
6303
|
),
|
|
6862
|
-
/* @__PURE__ */
|
|
6304
|
+
/* @__PURE__ */ jsx7("path", { d: "M6.003 5.125a4 4 0 0 0-2.526 5.77" })
|
|
6863
6305
|
]
|
|
6864
6306
|
}
|
|
6865
6307
|
)
|
|
@@ -6870,10 +6312,10 @@ var BrainIcon = forwardRef2(
|
|
|
6870
6312
|
BrainIcon.displayName = "BrainIcon";
|
|
6871
6313
|
|
|
6872
6314
|
// shared/toolActivityKindIcons.tsx
|
|
6873
|
-
import { jsx as
|
|
6315
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
6874
6316
|
function IconProductDoc(props) {
|
|
6875
6317
|
"use memo";
|
|
6876
|
-
return /* @__PURE__ */
|
|
6318
|
+
return /* @__PURE__ */ jsx8(
|
|
6877
6319
|
"svg",
|
|
6878
6320
|
{
|
|
6879
6321
|
viewBox: "0 0 24 24",
|
|
@@ -6881,7 +6323,7 @@ function IconProductDoc(props) {
|
|
|
6881
6323
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6882
6324
|
"aria-hidden": true,
|
|
6883
6325
|
...props,
|
|
6884
|
-
children: /* @__PURE__ */
|
|
6326
|
+
children: /* @__PURE__ */ jsx8(
|
|
6885
6327
|
"path",
|
|
6886
6328
|
{
|
|
6887
6329
|
d: "M14.04 1.00098C14.4743 1.00553 14.9042 1.09245 15.3057 1.25879C15.7193 1.43022 16.0949 1.68198 16.4111 1.99902L19.9971 5.58496L20.1133 5.70605C20.3773 5.99585 20.5896 6.32951 20.7402 6.69238C20.9122 7.1067 21.0005 7.55143 21 8V20C21 20.7957 20.6837 21.5585 20.1211 22.1211C19.5585 22.6837 18.7957 23 18 23H6C5.20435 23 4.44152 22.6837 3.87891 22.1211C3.3163 21.5585 3 20.7957 3 20V4C3 3.20435 3.3163 2.44151 3.87891 1.87891C4.44152 1.3163 5.20435 1 6 1H14C14.0134 1 14.0268 1.00045 14.04 1.00098ZM6 3C5.73478 3 5.4805 3.10543 5.29297 3.29297C5.10543 3.4805 5 3.73478 5 4V20C5 20.2652 5.10543 20.5195 5.29297 20.707C5.48051 20.8946 5.73478 21 6 21H18C18.2652 21 18.5195 20.8946 18.707 20.707C18.8946 20.5195 19 20.2652 19 20V9H15C14.4696 9 13.961 8.78913 13.5859 8.41406C13.2109 8.03899 13 7.53043 13 7V3H6ZM16 16C16.5523 16 17 16.4477 17 17C17 17.5523 16.5523 18 16 18H8C7.44772 18 7 17.5523 7 17C7 16.4477 7.44772 16 8 16H16ZM16 12C16.5523 12 17 12.4477 17 13C17 13.5523 16.5523 14 16 14H8C7.44772 14 7 13.5523 7 13C7 12.4477 7.44772 12 8 12H16ZM10 8C10.5523 8 11 8.44772 11 9C11 9.55229 10.5523 10 10 10H8C7.44772 10 7 9.55229 7 9C7 8.44772 7.44772 8 8 8H10ZM15 7H18.584L15 3.41602V7Z",
|
|
@@ -6893,7 +6335,7 @@ function IconProductDoc(props) {
|
|
|
6893
6335
|
}
|
|
6894
6336
|
function IconBuild(props) {
|
|
6895
6337
|
"use memo";
|
|
6896
|
-
return /* @__PURE__ */
|
|
6338
|
+
return /* @__PURE__ */ jsx8(
|
|
6897
6339
|
"svg",
|
|
6898
6340
|
{
|
|
6899
6341
|
viewBox: "0 0 24 24",
|
|
@@ -6901,7 +6343,7 @@ function IconBuild(props) {
|
|
|
6901
6343
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6902
6344
|
"aria-hidden": true,
|
|
6903
6345
|
...props,
|
|
6904
|
-
children: /* @__PURE__ */
|
|
6346
|
+
children: /* @__PURE__ */ jsx8(
|
|
6905
6347
|
"path",
|
|
6906
6348
|
{
|
|
6907
6349
|
d: "M12.5166 2C14.3722 2.0005 16.1516 2.73783 17.4639 4.0498L19.1211 5.70703L19.3203 5.92676C19.7578 6.46048 19.9999 7.13198 20 7.82812V8.17188L20.0049 8.27051C20.0276 8.49945 20.1288 8.71482 20.293 8.87891L21.5303 10.1162C21.9083 9.9151 22.3885 9.97443 22.707 10.293C23.0976 10.6835 23.0976 11.3165 22.707 11.707L18.707 15.707C18.3165 16.0976 17.6835 16.0976 17.293 15.707C16.9744 15.3885 16.9151 14.9083 17.1162 14.5303L15.8789 13.293C15.7431 13.1571 15.5715 13.0672 15.3867 13.0264L6.33398 22.0801C6.0442 22.3699 5.69992 22.5999 5.32129 22.7568C4.94266 22.9137 4.53679 22.995 4.12695 22.9951C3.29924 22.9952 2.50538 22.6661 1.91992 22.0811C1.3344 21.4957 1.00502 20.701 1.00488 19.873C1.00487 19.0453 1.33373 18.2514 1.91895 17.666L11 8.58496V8.48535C10.9999 7.1596 10.4734 5.88777 9.53613 4.9502L8.29297 3.70703C8.00697 3.42103 7.92139 2.99086 8.07617 2.61719C8.23098 2.24359 8.59558 2 9 2H12.5166ZM3.33301 19.0801C3.12284 19.2904 3.00487 19.5757 3.00488 19.873C3.00493 20.1705 3.12359 20.4557 3.33398 20.666C3.54437 20.8763 3.82951 20.9952 4.12695 20.9951C4.27409 20.9951 4.41972 20.9655 4.55566 20.9092C4.69174 20.8528 4.81578 20.7702 4.91992 20.666L13.0859 12.5L11.499 10.9131L3.33301 19.0801ZM11.3721 4C12.4187 5.2535 12.9999 6.83919 13 8.48535V9.58594L14.4141 11H15.1719C15.9674 11.0002 16.7305 11.3164 17.293 11.8789L18.5 13.0859L20.0859 11.5L18.8789 10.293C18.3164 9.73051 18.0002 8.96738 18 8.17188V7.82812C17.9999 7.56296 17.8946 7.30857 17.707 7.12109L16.0498 5.46387C15.1124 4.52677 13.8411 4.00028 12.5156 4H11.3721Z",
|
|
@@ -6913,7 +6355,7 @@ function IconBuild(props) {
|
|
|
6913
6355
|
}
|
|
6914
6356
|
function IconBrush(props) {
|
|
6915
6357
|
"use memo";
|
|
6916
|
-
return /* @__PURE__ */
|
|
6358
|
+
return /* @__PURE__ */ jsx8(
|
|
6917
6359
|
"svg",
|
|
6918
6360
|
{
|
|
6919
6361
|
viewBox: "0 0 24 24",
|
|
@@ -6921,7 +6363,7 @@ function IconBrush(props) {
|
|
|
6921
6363
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6922
6364
|
"aria-hidden": true,
|
|
6923
6365
|
...props,
|
|
6924
|
-
children: /* @__PURE__ */
|
|
6366
|
+
children: /* @__PURE__ */ jsx8(
|
|
6925
6367
|
"path",
|
|
6926
6368
|
{
|
|
6927
6369
|
d: "M19.1816 1C20.1944 1.00019 21.1658 1.40292 21.8818 2.11914C22.5976 2.83537 23.0001 3.8067 23 4.81934C22.9998 5.7688 22.6461 6.68243 22.0117 7.38281L21.8808 7.51953L19.79 9.60937C19.7641 9.6428 19.7377 9.67636 19.707 9.70703C19.6763 9.7377 19.6428 9.76419 19.6093 9.79004L8.53414 20.8682L8.53317 20.8691C8.1855 21.2156 7.75766 21.4724 7.28805 21.6152H7.28707L2.93454 22.9355L2.93161 22.9365C2.67255 23.0143 2.39705 23.02 2.13473 22.9541C1.87235 22.8881 1.63194 22.7526 1.44039 22.5615C1.24885 22.3703 1.11234 22.1296 1.04586 21.8672C0.979582 21.605 0.985166 21.3294 1.06246 21.0703L1.06442 21.0664L2.38473 16.7139L2.38571 16.7109C2.52986 16.2409 2.78761 15.813 3.13571 15.4658L14.2089 4.38867C14.2346 4.35552 14.2625 4.32341 14.2929 4.29297C14.3234 4.26252 14.3555 4.23468 14.3886 4.20898L16.4804 2.11816C17.1967 1.40209 18.1688 0.999896 19.1816 1ZM4.54879 16.8818L4.54782 16.8828C4.43196 16.9985 4.34581 17.1413 4.29782 17.2978L3.24899 20.749L6.70602 19.7012L6.82028 19.6592C6.93185 19.6097 7.0341 19.5397 7.12106 19.4531L17.5791 8.99316L15.0068 6.4209L4.54879 16.8818ZM19.1816 3C18.6995 2.99996 18.2366 3.19147 17.8955 3.53223L16.4209 5.00683L18.9931 7.5791L20.4668 6.10547L20.5879 5.97168C20.8529 5.64823 20.9998 5.24116 21 4.81934C21 4.33701 20.8077 3.87434 20.4668 3.5332C20.1258 3.19221 19.6638 3.00019 19.1816 3Z",
|
|
@@ -6933,7 +6375,7 @@ function IconBrush(props) {
|
|
|
6933
6375
|
}
|
|
6934
6376
|
function IconNetwork(props) {
|
|
6935
6377
|
"use memo";
|
|
6936
|
-
return /* @__PURE__ */
|
|
6378
|
+
return /* @__PURE__ */ jsx8(
|
|
6937
6379
|
"svg",
|
|
6938
6380
|
{
|
|
6939
6381
|
viewBox: "0 0 24 24",
|
|
@@ -6941,7 +6383,7 @@ function IconNetwork(props) {
|
|
|
6941
6383
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6942
6384
|
"aria-hidden": true,
|
|
6943
6385
|
...props,
|
|
6944
|
-
children: /* @__PURE__ */
|
|
6386
|
+
children: /* @__PURE__ */ jsx8(
|
|
6945
6387
|
"path",
|
|
6946
6388
|
{
|
|
6947
6389
|
d: "M12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1ZM3.05664 13C3.46745 16.7156 6.13893 19.7477 9.66602 20.6924C8.12455 18.4164 7.21164 15.7616 7.0332 13H3.05664ZM16.9668 13C16.7883 15.7618 15.8747 18.4163 14.333 20.6924C17.8605 19.748 20.5325 16.7159 20.9434 13H16.9668ZM9.04004 13C9.24354 15.738 10.2754 18.3489 12 20.4834C13.7246 18.3489 14.7565 15.738 14.96 13H9.04004ZM9.66602 3.30664C6.13881 4.25125 3.46746 7.28435 3.05664 11H7.0332C7.21166 8.23812 8.12427 5.58281 9.66602 3.30664ZM12 3.51562C10.2751 5.65021 9.24348 8.26166 9.04004 11H14.96C14.7565 8.26166 13.7249 5.65021 12 3.51562ZM14.333 3.30664C15.8749 5.58292 16.7883 8.23793 16.9668 11H20.9434C20.5325 7.28403 17.8607 4.25097 14.333 3.30664Z",
|
|
@@ -6953,7 +6395,7 @@ function IconNetwork(props) {
|
|
|
6953
6395
|
}
|
|
6954
6396
|
function IconCapability(props) {
|
|
6955
6397
|
"use memo";
|
|
6956
|
-
return /* @__PURE__ */
|
|
6398
|
+
return /* @__PURE__ */ jsx8(
|
|
6957
6399
|
"svg",
|
|
6958
6400
|
{
|
|
6959
6401
|
viewBox: "0 0 24 24",
|
|
@@ -6961,7 +6403,7 @@ function IconCapability(props) {
|
|
|
6961
6403
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6962
6404
|
"aria-hidden": true,
|
|
6963
6405
|
...props,
|
|
6964
|
-
children: /* @__PURE__ */
|
|
6406
|
+
children: /* @__PURE__ */ jsx8(
|
|
6965
6407
|
"path",
|
|
6966
6408
|
{
|
|
6967
6409
|
d: "M9.9994 1C11.0602 1 12.0784 1.42185 12.8285 2.17188C13.5784 2.92198 13.9994 3.93932 13.9994 5C13.9994 5.79565 13.6831 6.55849 13.1205 7.12109C12.5579 7.68352 11.7949 8 10.9994 8C10.7316 7.99997 10.4793 7.97795 10.2416 7.93555C10.1632 8.06833 10.0871 8.26075 10.0209 8.53906C9.88898 9.09327 9.84537 9.79653 9.81483 10.6309C9.79404 11.1989 9.77711 11.8293 9.72987 12.4463C9.97013 12.3481 10.2169 12.2638 10.4691 12.1973C10.9061 12.0821 11.3533 12.0166 11.8021 12.002C12.3709 11.0149 13.211 10.2051 14.2299 9.6748C15.4546 9.03749 16.8622 8.84264 18.2142 9.12207C19.5664 9.40164 20.781 10.1391 21.6527 11.21C22.5243 12.2808 23 13.6193 22.9994 15C22.9994 19.6358 18.3055 23 12.9994 23C10.8986 23 8.78485 22.7894 6.89588 22.3604C5.0205 21.9343 3.29732 21.2773 2.03358 20.3418L2.0326 20.3408C1.29831 19.7958 0.992816 18.9434 1.00917 18.1553C1.06353 15.4363 1.21559 11.2582 2.32655 7.74219C2.88372 5.97897 3.7061 4.30115 4.94764 3.05469C6.21544 1.78207 7.88237 1.00014 9.9994 1ZM9.9994 3C8.43065 3.00014 7.26908 3.55883 6.36463 4.4668C5.4339 5.40127 4.73903 6.74579 4.23378 8.34473C3.34681 11.1518 3.11601 14.4956 3.03553 17.1191L3.00819 18.1963C3.00256 18.4674 3.107 18.6472 3.22401 18.7344L3.4076 18.8652C4.35656 19.5118 5.71073 20.0394 7.33827 20.4092C9.06058 20.8004 11.0238 21 12.9994 21C17.5463 21 20.791 18.2751 20.9896 15.29L20.9994 15C20.9998 14.0795 20.683 13.1866 20.1019 12.4727C19.5209 11.7589 18.7112 11.2665 17.8099 11.0801C16.9085 10.8938 15.9692 11.0243 15.1527 11.4492C14.7154 11.6769 14.3294 11.9838 14.0072 12.3477C14.5766 12.55 15.115 12.8355 15.601 13.2002C16.0421 13.5316 16.1311 14.1581 15.8002 14.5996C15.4687 15.0413 14.8415 15.1312 14.3998 14.7998C13.9171 14.4376 13.3582 14.189 12.766 14.0732C12.6241 14.0455 12.4807 14.0259 12.3373 14.0137C12.323 14.0126 12.3087 14.0114 12.2943 14.0098C11.8533 13.977 11.4086 14.0176 10.9789 14.1309C10.3955 14.2848 9.85404 14.5693 9.39588 14.9619C9.18332 15.1441 8.99158 15.3483 8.82264 15.5693C8.81507 15.5797 8.80788 15.5903 8.80018 15.6006C8.79478 15.6078 8.78816 15.6141 8.7826 15.6211C8.60462 15.862 8.45397 16.1231 8.33338 16.3994C8.11263 16.9055 7.52309 17.1365 7.01698 16.916C6.51076 16.6952 6.27858 16.1058 6.4994 15.5996C6.68858 15.166 6.92793 14.7579 7.21131 14.3828C7.42382 14.0896 7.58136 13.6141 7.67518 12.9092C7.76955 12.2 7.78452 11.4136 7.81581 10.5586C7.84563 9.7437 7.89048 8.84999 8.0746 8.07617C8.16126 7.71213 8.28971 7.32979 8.48866 6.97559C8.3626 6.8338 8.25388 6.68808 8.16053 6.54395C7.86057 6.08046 7.99311 5.46035 8.45643 5.16016C8.91985 4.86043 9.53908 4.99291 9.83924 5.45605C9.96076 5.64373 10.0773 5.7612 10.2152 5.83984C10.3527 5.91812 10.5849 5.99992 10.9994 6C11.2645 6 11.5189 5.89438 11.7064 5.70703C11.894 5.51949 11.9994 5.26522 11.9994 5C11.9994 4.46957 11.7885 3.96101 11.4135 3.58594C11.0384 3.21105 10.5297 3 9.9994 3Z",
|
|
@@ -6973,7 +6415,7 @@ function IconCapability(props) {
|
|
|
6973
6415
|
}
|
|
6974
6416
|
function IconTask(props) {
|
|
6975
6417
|
"use memo";
|
|
6976
|
-
return /* @__PURE__ */
|
|
6418
|
+
return /* @__PURE__ */ jsx8(
|
|
6977
6419
|
"svg",
|
|
6978
6420
|
{
|
|
6979
6421
|
viewBox: "0 0 24 24",
|
|
@@ -6981,7 +6423,7 @@ function IconTask(props) {
|
|
|
6981
6423
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6982
6424
|
"aria-hidden": true,
|
|
6983
6425
|
...props,
|
|
6984
|
-
children: /* @__PURE__ */
|
|
6426
|
+
children: /* @__PURE__ */ jsx8(
|
|
6985
6427
|
"path",
|
|
6986
6428
|
{
|
|
6987
6429
|
d: "M8.29297 14.793C8.68349 14.4025 9.31651 14.4025 9.70703 14.793C10.0976 15.1835 10.0976 15.8166 9.70703 16.2071L5.70703 20.2071C5.31651 20.5976 4.68349 20.5976 4.29297 20.2071L2.29297 18.2071C1.90244 17.8166 1.90244 17.1836 2.29297 16.793C2.68349 16.4025 3.31651 16.4025 3.70703 16.793L5 18.086L8.29297 14.793ZM21 18.0001C21.5523 18.0001 22 18.4478 22 19.0001C22 19.5524 21.5523 20.0001 21 20.0001H13C12.4477 20.0001 12 19.5524 12 19.0001C12 18.4478 12.4477 18.0001 13 18.0001H21ZM21 11C21.5523 11 22 11.4478 22 12C22 12.5523 21.5523 13 21 13H13C12.4477 13 12 12.5523 12 12C12 11.4478 12.4477 11 13 11H21ZM8 3.5C9.10457 3.5 10 4.39543 10 5.50001V9.50003C10 10.6046 9.10457 11.5 8 11.5H4C2.89543 11.5 2 10.6046 2 9.50003V5.50001C2 4.39543 2.89543 3.5 4 3.5H8ZM4 9.50003H8V5.50001H4V9.50003ZM21 4C21.5523 4 22 4.44772 22 5.00001C22 5.55229 21.5523 6.00001 21 6.00001H13C12.4477 6.00001 12 5.55229 12 5.00001C12 4.44772 12.4477 4 13 4H21Z",
|
|
@@ -6993,7 +6435,7 @@ function IconTask(props) {
|
|
|
6993
6435
|
}
|
|
6994
6436
|
function IconThinking(props) {
|
|
6995
6437
|
"use memo";
|
|
6996
|
-
return /* @__PURE__ */
|
|
6438
|
+
return /* @__PURE__ */ jsx8(
|
|
6997
6439
|
"svg",
|
|
6998
6440
|
{
|
|
6999
6441
|
viewBox: "0 0 24 24",
|
|
@@ -7001,7 +6443,7 @@ function IconThinking(props) {
|
|
|
7001
6443
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7002
6444
|
"aria-hidden": true,
|
|
7003
6445
|
...props,
|
|
7004
|
-
children: /* @__PURE__ */
|
|
6446
|
+
children: /* @__PURE__ */ jsx8(
|
|
7005
6447
|
"path",
|
|
7006
6448
|
{
|
|
7007
6449
|
d: "M14.2196 1.07688C14.8213 0.957197 15.4424 0.977694 16.035 1.13645C16.6276 1.29523 17.1763 1.5884 17.6375 1.99289C18.0986 2.39735 18.4604 2.90282 18.6952 3.46945C18.8188 3.76806 18.9045 4.07981 18.953 4.39719C19.4186 4.59467 19.8537 4.86066 20.2411 5.19016C20.8188 5.68166 21.2767 6.29905 21.5809 6.99387C21.885 7.6887 22.0276 8.44402 21.9969 9.20188C21.9767 9.69961 21.8801 10.1897 21.7157 10.657C22.0929 11.0764 22.4002 11.5585 22.619 12.0866C23.0401 13.1034 23.1137 14.2306 22.8289 15.2937C22.5441 16.3567 21.9169 17.2965 21.0438 17.9665C21.0288 17.978 21.013 17.9884 20.9979 17.9997C20.9973 18.4648 20.9337 18.9287 20.8045 19.3777C20.6156 20.0344 20.2945 20.646 19.8602 21.1736C19.4258 21.7011 18.8873 22.1344 18.2791 22.446C17.6712 22.7574 17.0057 22.9408 16.3241 22.9851C15.6421 23.0293 14.9577 22.9332 14.3143 22.7029C13.6711 22.4725 13.0816 22.1131 12.5828 21.6462C12.3689 21.4459 12.1747 21.2263 11.9998 20.9929C11.825 21.2262 11.6308 21.4459 11.4168 21.6462C10.918 22.1131 10.3286 22.4725 9.68539 22.7029C9.042 22.9332 8.35756 23.0293 7.67562 22.9851C6.99397 22.9408 6.32852 22.7574 5.72054 22.446C5.11231 22.1344 4.57383 21.7012 4.13949 21.1736C3.70518 20.6459 3.38408 20.0344 3.19515 19.3777C3.06602 18.9287 3.00239 18.4648 3.00179 17.9997C2.98677 17.9885 2.9708 17.978 2.95589 17.9665C2.08287 17.2965 1.4546 16.3567 1.16976 15.2937C0.885081 14.2307 0.959612 13.1033 1.3807 12.0866C1.59937 11.5587 1.90602 11.0763 2.28304 10.657C2.1187 10.1898 2.023 9.69947 2.00277 9.20188C1.97203 8.44402 2.11464 7.68869 2.41879 6.99387C2.723 6.29902 3.1809 5.68168 3.75863 5.19016C4.14595 4.86066 4.58112 4.59469 5.04671 4.39719C5.09514 4.07979 5.18087 3.76807 5.30453 3.46945C5.53925 2.90278 5.90106 2.39737 6.36214 1.99289C6.82342 1.58835 7.37206 1.29526 7.96468 1.13645C8.55726 0.977667 9.17842 0.957222 9.78011 1.07688C10.3818 1.19657 10.9487 1.45244 11.4354 1.8259C11.6413 1.98391 11.8293 2.16269 11.9998 2.35617C12.1704 2.16264 12.3583 1.98395 12.5643 1.8259C13.051 1.4524 13.6178 1.19659 14.2196 1.07688ZM9.39046 3.03781C9.08963 2.978 8.77853 2.9887 8.48226 3.06809C8.18611 3.14746 7.91204 3.29371 7.68148 3.49582C7.45094 3.69801 7.26958 3.95083 7.15218 4.2341C7.03482 4.51747 6.98371 4.82453 7.00375 5.13059C7.02381 5.43655 7.11416 5.73416 7.26742 5.99973C7.54355 6.47794 7.38032 7.08972 6.90218 7.36594C6.42391 7.64207 5.81213 7.47799 5.53597 6.99973C5.4474 6.8463 5.37072 6.68703 5.30355 6.52414C5.21761 6.58295 5.13419 6.64582 5.05453 6.71359C4.70797 7.00847 4.43333 7.3788 4.25082 7.79563C4.06831 8.21252 3.98337 8.66611 4.00179 9.12082C4.00751 9.2611 4.02461 9.40046 4.04964 9.53781C4.37718 9.55443 4.68985 9.73089 4.86605 10.0359C5.14206 10.5141 4.97805 11.1259 4.49984 11.4021C3.92803 11.7323 3.48104 12.2422 3.22836 12.8523C2.9758 13.4622 2.93159 14.1384 3.10238 14.7761C3.27327 15.4139 3.6499 15.9776 4.17367 16.3796C4.6975 16.7816 5.33955 16.9996 5.99984 16.9997C6.55196 16.9998 6.99969 17.4476 6.99984 17.9997C6.99982 18.5519 6.55202 18.9996 5.99984 18.9997C5.71286 18.9997 5.42816 18.9739 5.14828 18.9255C5.26423 19.2812 5.44532 19.6127 5.68343 19.9021C5.94396 20.2185 6.26688 20.4788 6.63168 20.6657C6.99658 20.8527 7.39637 20.9634 7.8055 20.99C8.21465 21.0165 8.62555 20.9582 9.01156 20.82C9.39738 20.6818 9.75142 20.4663 10.0506 20.1863C10.3499 19.9061 10.5885 19.5671 10.7518 19.1911C10.8947 18.862 10.9773 18.5097 10.9959 18.1521L10.9998 17.9988V13.0798C10.4898 13.4758 9.90763 13.7763 9.28011 13.9597C8.75012 14.1144 8.1948 13.81 8.03988 13.28C7.88534 12.7501 8.18971 12.1947 8.71957 12.0398C9.37716 11.8475 9.95497 11.4472 10.3661 10.8991C10.7771 10.351 10.9994 9.68388 10.9998 8.99875V4.99973C10.9998 4.69303 10.9294 4.39004 10.7938 4.11496C10.6581 3.83995 10.4609 3.5995 10.2176 3.41281C9.97436 3.22619 9.69116 3.09768 9.39046 3.03781ZM15.5174 3.06809C15.2211 2.98873 14.91 2.97797 14.6092 3.03781C14.3085 3.09771 14.0253 3.22615 13.7821 3.41281C13.5388 3.59953 13.3416 3.83991 13.2059 4.11496C13.0703 4.39004 12.9999 4.69303 12.9998 4.99973V8.99875C13.0003 9.68382 13.2227 10.351 13.6336 10.8991C14.0447 11.4472 14.6226 11.8474 15.2801 12.0398C15.81 12.1947 16.1144 12.7501 15.9598 13.28C15.8049 13.81 15.2496 14.1144 14.7196 13.9597C14.0921 13.7762 13.5098 13.4759 12.9998 13.0798V17.9988L13.0037 18.1521C13.0224 18.5097 13.1049 18.862 13.2479 19.1911C13.4112 19.5671 13.6498 19.9061 13.9491 20.1863C14.2483 20.4664 14.6023 20.6818 14.9881 20.82C15.3741 20.9583 15.785 21.0165 16.1942 20.99C16.6033 20.9634 17.0031 20.8527 17.368 20.6657C17.7328 20.4788 18.0557 20.2185 18.3162 19.9021C18.5543 19.6128 18.7345 19.2811 18.8504 18.9255C18.5709 18.9738 18.2865 18.9997 17.9998 18.9997C17.4476 18.9996 16.9999 18.552 16.9998 17.9997C17 17.4476 17.4477 16.9998 17.9998 16.9997C18.6602 16.9997 19.3021 16.7816 19.826 16.3796C20.3498 15.9776 20.7264 15.4139 20.8973 14.7761C21.0681 14.1384 21.0239 13.4622 20.7713 12.8523C20.5186 12.2423 20.0716 11.7323 19.4998 11.4021C19.0217 11.1259 18.8576 10.5141 19.1336 10.0359C19.3098 9.73087 19.6226 9.55356 19.95 9.53684C19.975 9.39977 19.9922 9.2608 19.9979 9.12082C20.0163 8.6661 19.9314 8.21252 19.7489 7.79563C19.5664 7.37884 19.2917 7.00845 18.9452 6.71359C18.8653 6.64564 18.7813 6.58308 18.6952 6.52414C18.628 6.68692 18.5522 6.84641 18.4637 6.99973C18.1875 7.47801 17.5758 7.64211 17.0975 7.36594C16.6195 7.08967 16.4562 6.47789 16.7323 5.99973C16.8856 5.73413 16.9759 5.4366 16.9959 5.13059C17.016 4.82452 16.9649 4.51748 16.8475 4.2341C16.7301 3.95087 16.5487 3.69799 16.3182 3.49582C16.0876 3.29376 15.8135 3.14743 15.5174 3.06809Z",
|
|
@@ -7013,7 +6455,7 @@ function IconThinking(props) {
|
|
|
7013
6455
|
}
|
|
7014
6456
|
function IconWebScrape(props) {
|
|
7015
6457
|
"use memo";
|
|
7016
|
-
return /* @__PURE__ */
|
|
6458
|
+
return /* @__PURE__ */ jsx8(
|
|
7017
6459
|
"svg",
|
|
7018
6460
|
{
|
|
7019
6461
|
viewBox: "0 0 24 24",
|
|
@@ -7021,7 +6463,7 @@ function IconWebScrape(props) {
|
|
|
7021
6463
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7022
6464
|
"aria-hidden": true,
|
|
7023
6465
|
...props,
|
|
7024
|
-
children: /* @__PURE__ */
|
|
6466
|
+
children: /* @__PURE__ */ jsx8(
|
|
7025
6467
|
"path",
|
|
7026
6468
|
{
|
|
7027
6469
|
d: "M19 3C20.6569 3 22 4.34315 22 6V18L21.9961 18.1543C21.9184 19.6883 20.6883 20.9184 19.1543 20.9961L19 21H5L4.8457 20.9961C3.31166 20.9184 2.08163 19.6883 2.00391 18.1543L2 18V6C2 4.34315 3.34315 3 5 3H19ZM4 18C4 18.5523 4.44772 19 5 19H19C19.5523 19 20 18.5523 20 18V9H4V18ZM14.5 15C14.7761 15 15 15.2239 15 15.5V16.5C15 16.7761 14.7761 17 14.5 17H6.5C6.22386 17 6 16.7761 6 16.5V15.5C6 15.2239 6.22386 15 6.5 15H14.5ZM9.5 11C9.77614 11 10 11.2239 10 11.5V12.5C10 12.7761 9.77614 13 9.5 13H6.5C6.22386 13 6 12.7761 6 12.5V11.5C6 11.2239 6.22386 11 6.5 11H9.5ZM5 5C4.44772 5 4 5.44772 4 6V7H6V5H5ZM12 7H20V6C20 5.44771 19.5523 5 19 5H12V7ZM8 7H10V5H8V7Z",
|
|
@@ -7033,7 +6475,7 @@ function IconWebScrape(props) {
|
|
|
7033
6475
|
}
|
|
7034
6476
|
function IconChat(props) {
|
|
7035
6477
|
"use memo";
|
|
7036
|
-
return /* @__PURE__ */
|
|
6478
|
+
return /* @__PURE__ */ jsx8(
|
|
7037
6479
|
"svg",
|
|
7038
6480
|
{
|
|
7039
6481
|
viewBox: "0 0 24 24",
|
|
@@ -7041,7 +6483,7 @@ function IconChat(props) {
|
|
|
7041
6483
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7042
6484
|
"aria-hidden": true,
|
|
7043
6485
|
...props,
|
|
7044
|
-
children: /* @__PURE__ */
|
|
6486
|
+
children: /* @__PURE__ */ jsx8(
|
|
7045
6487
|
"path",
|
|
7046
6488
|
{
|
|
7047
6489
|
d: "M12 1C12.5523 1 13 1.44772 13 2V5H18C18.7956 5 19.5585 5.3163 20.1211 5.87891C20.6837 6.44151 21 7.20435 21 8V11H22C22.5523 11 23 11.4477 23 12C23 12.5523 22.5523 13 22 13H21V16C21 16.7957 20.6837 17.5585 20.1211 18.1211C19.5585 18.6837 18.7957 19 18 19H8.82812C8.56296 19.0001 8.30857 19.1054 8.12109 19.293L5.91895 21.4951C5.6799 21.7341 5.37545 21.8969 5.04395 21.9629C4.71233 22.0288 4.36805 21.9956 4.05566 21.8662C3.74327 21.7368 3.47598 21.5174 3.28809 21.2363C3.10019 20.9552 3.00004 20.6243 3 20.2861V13H2C1.44772 13 1 12.5523 1 12C1 11.4477 1.44772 11 2 11H3V8C3 7.20435 3.3163 6.44152 3.87891 5.87891C4.44152 5.3163 5.20435 5 6 5H11V3H8C7.44772 3 7 2.55228 7 2C7 1.44772 7.44772 1 8 1H12ZM6 7C5.73478 7 5.4805 7.10543 5.29297 7.29297C5.10543 7.4805 5 7.73478 5 8V19.5859L6.70703 17.8789L6.92676 17.6797C7.46048 17.2422 8.13198 17.0001 8.82812 17H18C18.2652 17 18.5195 16.8946 18.707 16.707C18.8946 16.5195 19 16.2652 19 16V8C19 7.73478 18.8946 7.48051 18.707 7.29297C18.5195 7.10543 18.2652 7 18 7H6ZM9 10C9.55229 10 10 10.4477 10 11V13C10 13.5523 9.55229 14 9 14C8.44772 14 8 13.5523 8 13V11C8 10.4477 8.44772 10 9 10ZM15 10C15.5523 10 16 10.4477 16 11V13C16 13.5523 15.5523 14 15 14C14.4477 14 14 13.5523 14 13V11C14 10.4477 14.4477 10 15 10Z",
|
|
@@ -7053,7 +6495,7 @@ function IconChat(props) {
|
|
|
7053
6495
|
}
|
|
7054
6496
|
function IconImageGeneration(props) {
|
|
7055
6497
|
"use memo";
|
|
7056
|
-
return /* @__PURE__ */
|
|
6498
|
+
return /* @__PURE__ */ jsx8(
|
|
7057
6499
|
"svg",
|
|
7058
6500
|
{
|
|
7059
6501
|
viewBox: "0 0 24 24",
|
|
@@ -7061,7 +6503,7 @@ function IconImageGeneration(props) {
|
|
|
7061
6503
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7062
6504
|
"aria-hidden": true,
|
|
7063
6505
|
...props,
|
|
7064
|
-
children: /* @__PURE__ */
|
|
6506
|
+
children: /* @__PURE__ */ jsx8(
|
|
7065
6507
|
"path",
|
|
7066
6508
|
{
|
|
7067
6509
|
d: "M14.04 1.00098C14.4743 1.00553 14.9042 1.09245 15.3057 1.25879C15.7193 1.43022 16.0949 1.68198 16.4111 1.99902L19.9971 5.58496L20.1133 5.70605C20.3773 5.99585 20.5896 6.32951 20.7402 6.69238C20.9122 7.1067 21.0005 7.55143 21 8V20C21 20.7957 20.6837 21.5585 20.1211 22.1211C19.5585 22.6837 18.7957 23 18 23H6C5.20435 23 4.44152 22.6837 3.87891 22.1211C3.3163 21.5585 3 20.7957 3 20V4C3 3.20435 3.3163 2.44151 3.87891 1.87891C4.44152 1.3163 5.20435 1 6 1H14C14.0134 1 14.0268 1.00045 14.04 1.00098ZM17 15.998C16.6261 15.998 16.2673 16.1468 16.0029 16.4111L11.4141 21H18C18.2652 21 18.5195 20.8946 18.707 20.707C18.8946 20.5195 19 20.2652 19 20V17.4141L17.9971 16.4111C17.7327 16.1468 17.3739 15.998 17 15.998ZM6 3C5.73478 3 5.4805 3.10543 5.29297 3.29297C5.10543 3.4805 5 3.73478 5 4V20C5 20.2652 5.10543 20.5195 5.29297 20.707C5.48051 20.8946 5.73478 21 6 21H8.58594L14.5889 14.9971C15.2283 14.3577 16.0957 13.998 17 13.998C17.7229 13.998 18.4218 14.2286 19 14.6475V9H15C14.4696 9 13.961 8.78913 13.5859 8.41406C13.2109 8.03899 13 7.53043 13 7V3H6ZM10 9C11.6569 9 13 10.3431 13 12C13 13.6569 11.6569 15 10 15C8.34315 15 7 13.6569 7 12C7 10.3431 8.34315 9 10 9ZM10 11C9.44772 11 9 11.4477 9 12C9 12.5523 9.44772 13 10 13C10.5523 13 11 12.5523 11 12C11 11.4477 10.5523 11 10 11ZM15 7H18.584L15 3.41602V7Z",
|
|
@@ -7099,7 +6541,7 @@ function ToolActivityKindIcon({
|
|
|
7099
6541
|
}) {
|
|
7100
6542
|
"use memo";
|
|
7101
6543
|
const Icon = kind ? TOOL_ACTIVITY_KIND_ICONS[kind] : IconCapability;
|
|
7102
|
-
return /* @__PURE__ */
|
|
6544
|
+
return /* @__PURE__ */ jsx8(Icon, { ...props });
|
|
7103
6545
|
}
|
|
7104
6546
|
function ToolNameIcon({
|
|
7105
6547
|
toolName,
|
|
@@ -7113,34 +6555,34 @@ function ToolNameIcon({
|
|
|
7113
6555
|
case "generatingimage":
|
|
7114
6556
|
case "imagegenerate":
|
|
7115
6557
|
case "imagegenerator":
|
|
7116
|
-
return /* @__PURE__ */
|
|
6558
|
+
return /* @__PURE__ */ jsx8(IconImageGeneration, { ...props });
|
|
7117
6559
|
case "read":
|
|
7118
6560
|
case "readfile":
|
|
7119
6561
|
case "glob":
|
|
7120
|
-
return /* @__PURE__ */
|
|
6562
|
+
return /* @__PURE__ */ jsx8(IconProductDoc, { ...props });
|
|
7121
6563
|
case "write":
|
|
7122
6564
|
case "writefile":
|
|
7123
6565
|
case "edit":
|
|
7124
6566
|
case "editfile":
|
|
7125
6567
|
case "multiedit":
|
|
7126
|
-
return /* @__PURE__ */
|
|
6568
|
+
return /* @__PURE__ */ jsx8(IconBrush, { ...props });
|
|
7127
6569
|
case "bash":
|
|
7128
6570
|
case "shell":
|
|
7129
6571
|
case "exec":
|
|
7130
6572
|
case "execcommand":
|
|
7131
6573
|
case "grep":
|
|
7132
|
-
return /* @__PURE__ */
|
|
6574
|
+
return /* @__PURE__ */ jsx8(IconBuild, { ...props });
|
|
7133
6575
|
case "writestdin":
|
|
7134
|
-
return /* @__PURE__ */
|
|
6576
|
+
return /* @__PURE__ */ jsx8(IconBrush, { ...props });
|
|
7135
6577
|
case "websearch":
|
|
7136
6578
|
case "webfetch":
|
|
7137
|
-
return /* @__PURE__ */
|
|
6579
|
+
return /* @__PURE__ */ jsx8(IconNetwork, { ...props });
|
|
7138
6580
|
case "todowrite":
|
|
7139
|
-
return /* @__PURE__ */
|
|
6581
|
+
return /* @__PURE__ */ jsx8(IconTask, { ...props });
|
|
7140
6582
|
case "think":
|
|
7141
|
-
return /* @__PURE__ */
|
|
6583
|
+
return /* @__PURE__ */ jsx8(IconThinking, { ...props });
|
|
7142
6584
|
default:
|
|
7143
|
-
return /* @__PURE__ */
|
|
6585
|
+
return /* @__PURE__ */ jsx8(IconCapability, { ...props });
|
|
7144
6586
|
}
|
|
7145
6587
|
}
|
|
7146
6588
|
function normalizeToolName6(value) {
|
|
@@ -7148,7 +6590,7 @@ function normalizeToolName6(value) {
|
|
|
7148
6590
|
}
|
|
7149
6591
|
|
|
7150
6592
|
// shared/WorkspaceAgentSessionThinkingDisclosure.tsx
|
|
7151
|
-
import { jsx as
|
|
6593
|
+
import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
7152
6594
|
function WorkspaceAgentSessionThinkingDisclosure({
|
|
7153
6595
|
thinking,
|
|
7154
6596
|
label,
|
|
@@ -7174,7 +6616,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7174
6616
|
setExpanded((value) => !value);
|
|
7175
6617
|
},
|
|
7176
6618
|
children: [
|
|
7177
|
-
isActive ? /* @__PURE__ */
|
|
6619
|
+
isActive ? /* @__PURE__ */ jsx9(
|
|
7178
6620
|
BrainIcon,
|
|
7179
6621
|
{
|
|
7180
6622
|
size: 16,
|
|
@@ -7182,7 +6624,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7182
6624
|
"aria-hidden": "true",
|
|
7183
6625
|
className: "tsh-inline-scanlight-icon shrink-0 opacity-[0.86]"
|
|
7184
6626
|
}
|
|
7185
|
-
) : /* @__PURE__ */
|
|
6627
|
+
) : /* @__PURE__ */ jsx9(
|
|
7186
6628
|
ToolActivityKindIcon,
|
|
7187
6629
|
{
|
|
7188
6630
|
kind: "thinking",
|
|
@@ -7192,11 +6634,11 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7192
6634
|
}
|
|
7193
6635
|
),
|
|
7194
6636
|
/* @__PURE__ */ jsxs6("span", { className: isActive ? "tsh-inline-scanlight-line" : void 0, children: [
|
|
7195
|
-
/* @__PURE__ */
|
|
7196
|
-
statusLabel ? /* @__PURE__ */
|
|
7197
|
-
isActive ? /* @__PURE__ */
|
|
6637
|
+
/* @__PURE__ */ jsx9("span", { className: "font-semibold", children: label }),
|
|
6638
|
+
statusLabel ? /* @__PURE__ */ jsx9("span", { className: "ml-1.5", children: formatInlineStatusLabel(statusLabel) }) : null,
|
|
6639
|
+
isActive ? /* @__PURE__ */ jsx9(LoadingEllipsis, {}) : null
|
|
7198
6640
|
] }),
|
|
7199
|
-
expanded ? /* @__PURE__ */
|
|
6641
|
+
expanded ? /* @__PURE__ */ jsx9(
|
|
7200
6642
|
ChevronDown2,
|
|
7201
6643
|
{
|
|
7202
6644
|
size: 12,
|
|
@@ -7204,7 +6646,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7204
6646
|
"aria-hidden": "true",
|
|
7205
6647
|
className: "shrink-0 text-[var(--text-tertiary)] opacity-0 transition-opacity duration-150 group-hover/thinking-disclosure:opacity-100 group-focus-visible/thinking-disclosure:opacity-100"
|
|
7206
6648
|
}
|
|
7207
|
-
) : /* @__PURE__ */
|
|
6649
|
+
) : /* @__PURE__ */ jsx9(
|
|
7208
6650
|
ChevronRight2,
|
|
7209
6651
|
{
|
|
7210
6652
|
size: 12,
|
|
@@ -7216,7 +6658,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7216
6658
|
]
|
|
7217
6659
|
}
|
|
7218
6660
|
),
|
|
7219
|
-
/* @__PURE__ */
|
|
6661
|
+
/* @__PURE__ */ jsx9(CollapsibleReveal, { expanded, className: "w-full", children: /* @__PURE__ */ jsx9("div", { className: "box-border w-full min-w-0 rounded-[6px] bg-[var(--transparency-block)] p-3", children: /* @__PURE__ */ jsx9(
|
|
7220
6662
|
AgentMessageMarkdown,
|
|
7221
6663
|
{
|
|
7222
6664
|
content: thinking.body,
|
|
@@ -7231,9 +6673,9 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7231
6673
|
function LoadingEllipsis() {
|
|
7232
6674
|
"use memo";
|
|
7233
6675
|
return /* @__PURE__ */ jsxs6("span", { className: "tsh-inline-loading-ellipsis", "aria-hidden": "true", children: [
|
|
7234
|
-
/* @__PURE__ */
|
|
7235
|
-
/* @__PURE__ */
|
|
7236
|
-
/* @__PURE__ */
|
|
6676
|
+
/* @__PURE__ */ jsx9("span", {}),
|
|
6677
|
+
/* @__PURE__ */ jsx9("span", {}),
|
|
6678
|
+
/* @__PURE__ */ jsx9("span", {})
|
|
7237
6679
|
] });
|
|
7238
6680
|
}
|
|
7239
6681
|
function thinkingStatusLabel(statusKind) {
|
|
@@ -7259,7 +6701,7 @@ function formatInlineStatusLabel(label) {
|
|
|
7259
6701
|
// shared/agentConversation/components/RawTimelineJsonDisclosure.tsx
|
|
7260
6702
|
import { useState as useState5 } from "react";
|
|
7261
6703
|
import { ChevronDown as ChevronDown3, ChevronRight as ChevronRight3 } from "lucide-react";
|
|
7262
|
-
import { jsx as
|
|
6704
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
7263
6705
|
function RawTimelineJsonDisclosure({
|
|
7264
6706
|
items,
|
|
7265
6707
|
label
|
|
@@ -7279,12 +6721,12 @@ function RawTimelineJsonDisclosure({
|
|
|
7279
6721
|
"aria-expanded": expanded,
|
|
7280
6722
|
onClick: () => setExpanded((value) => !value),
|
|
7281
6723
|
children: [
|
|
7282
|
-
expanded ? /* @__PURE__ */
|
|
7283
|
-
/* @__PURE__ */
|
|
6724
|
+
expanded ? /* @__PURE__ */ jsx10(ChevronDown3, { size: 13, strokeWidth: 2.2, "aria-hidden": true }) : /* @__PURE__ */ jsx10(ChevronRight3, { size: 13, strokeWidth: 2.2, "aria-hidden": true }),
|
|
6725
|
+
/* @__PURE__ */ jsx10("span", { children: label })
|
|
7284
6726
|
]
|
|
7285
6727
|
}
|
|
7286
6728
|
),
|
|
7287
|
-
/* @__PURE__ */
|
|
6729
|
+
/* @__PURE__ */ jsx10(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx10("pre", { className: "mt-2 max-h-[320px] overflow-auto whitespace-pre-wrap break-words rounded-md border border-[var(--line-2)] bg-[var(--background-fronted)] px-3 py-2 font-mono text-[11px] leading-5 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx10("code", { children: json }) }) })
|
|
7288
6730
|
] });
|
|
7289
6731
|
}
|
|
7290
6732
|
function rawTimelineJson(items) {
|
|
@@ -7299,7 +6741,7 @@ function rawTimelineJson(items) {
|
|
|
7299
6741
|
}
|
|
7300
6742
|
|
|
7301
6743
|
// shared/agentConversation/components/AgentThinkingDisclosure.tsx
|
|
7302
|
-
import { Fragment, jsx as
|
|
6744
|
+
import { Fragment, jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
7303
6745
|
function AgentThinkingDisclosure({
|
|
7304
6746
|
thinking,
|
|
7305
6747
|
label,
|
|
@@ -7310,7 +6752,7 @@ function AgentThinkingDisclosure({
|
|
|
7310
6752
|
}) {
|
|
7311
6753
|
"use memo";
|
|
7312
6754
|
return /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
7313
|
-
/* @__PURE__ */
|
|
6755
|
+
/* @__PURE__ */ jsx11(
|
|
7314
6756
|
WorkspaceAgentSessionThinkingDisclosure,
|
|
7315
6757
|
{
|
|
7316
6758
|
thinking,
|
|
@@ -7319,7 +6761,7 @@ function AgentThinkingDisclosure({
|
|
|
7319
6761
|
previewMode
|
|
7320
6762
|
}
|
|
7321
6763
|
),
|
|
7322
|
-
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */
|
|
6764
|
+
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx11(
|
|
7323
6765
|
RawTimelineJsonDisclosure,
|
|
7324
6766
|
{
|
|
7325
6767
|
items: thinking.sourceTimelineItems,
|
|
@@ -7331,7 +6773,7 @@ function AgentThinkingDisclosure({
|
|
|
7331
6773
|
|
|
7332
6774
|
// contexts/workspace/presentation/renderer/components/shared/CanvasNodeGhostIconButton.tsx
|
|
7333
6775
|
import { forwardRef as forwardRef3 } from "react";
|
|
7334
|
-
import { jsx as
|
|
6776
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
7335
6777
|
var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2({
|
|
7336
6778
|
className,
|
|
7337
6779
|
children,
|
|
@@ -7342,7 +6784,7 @@ var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2(
|
|
|
7342
6784
|
...rest
|
|
7343
6785
|
}, ref) {
|
|
7344
6786
|
"use memo";
|
|
7345
|
-
return /* @__PURE__ */
|
|
6787
|
+
return /* @__PURE__ */ jsx12(
|
|
7346
6788
|
"button",
|
|
7347
6789
|
{
|
|
7348
6790
|
ref,
|
|
@@ -7376,9 +6818,9 @@ var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2(
|
|
|
7376
6818
|
});
|
|
7377
6819
|
|
|
7378
6820
|
// shared/agentConversation/components/AgentMessageImages.tsx
|
|
7379
|
-
import { useEffect as
|
|
6821
|
+
import { useEffect as useEffect3, useMemo, useState as useState6 } from "react";
|
|
7380
6822
|
import { LoaderCircle } from "lucide-react";
|
|
7381
|
-
import { jsx as
|
|
6823
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
7382
6824
|
function AgentUserImageGrid({
|
|
7383
6825
|
message
|
|
7384
6826
|
}) {
|
|
@@ -7387,7 +6829,7 @@ function AgentUserImageGrid({
|
|
|
7387
6829
|
const { loadingIds, sources } = useAgentMessageImageSources(images);
|
|
7388
6830
|
const columnCount = Math.min(Math.max(images.length, 1), 4);
|
|
7389
6831
|
const thumbnailWidth = images.length === 1 ? "160px" : "80px";
|
|
7390
|
-
return /* @__PURE__ */
|
|
6832
|
+
return /* @__PURE__ */ jsx13(
|
|
7391
6833
|
"div",
|
|
7392
6834
|
{
|
|
7393
6835
|
className: AgentGUIConversation_styles_default.userImageGrid,
|
|
@@ -7397,7 +6839,7 @@ function AgentUserImageGrid({
|
|
|
7397
6839
|
children: images.map((image) => {
|
|
7398
6840
|
const src = sources.get(image.id) ?? imageSourceUrl(image);
|
|
7399
6841
|
const loading = !src && loadingIds.has(image.id);
|
|
7400
|
-
return /* @__PURE__ */
|
|
6842
|
+
return /* @__PURE__ */ jsx13("div", { className: AgentGUIConversation_styles_default.userImageThumbnail, children: src ? /* @__PURE__ */ jsx13(
|
|
7401
6843
|
ZoomableImage,
|
|
7402
6844
|
{
|
|
7403
6845
|
src,
|
|
@@ -7406,12 +6848,12 @@ function AgentUserImageGrid({
|
|
|
7406
6848
|
draggable: false,
|
|
7407
6849
|
downloadName: image.name?.trim() || "image.png"
|
|
7408
6850
|
}
|
|
7409
|
-
) : loading ? /* @__PURE__ */
|
|
6851
|
+
) : loading ? /* @__PURE__ */ jsx13(
|
|
7410
6852
|
"div",
|
|
7411
6853
|
{
|
|
7412
6854
|
className: "flex h-20 w-full items-center justify-center bg-[color-mix(in_srgb,var(--text-primary)_6%,transparent)]",
|
|
7413
6855
|
"data-testid": "agent-gui-message-image-loading",
|
|
7414
|
-
children: /* @__PURE__ */
|
|
6856
|
+
children: /* @__PURE__ */ jsx13(
|
|
7415
6857
|
LoaderCircle,
|
|
7416
6858
|
{
|
|
7417
6859
|
"aria-hidden": "true",
|
|
@@ -7420,7 +6862,7 @@ function AgentUserImageGrid({
|
|
|
7420
6862
|
}
|
|
7421
6863
|
)
|
|
7422
6864
|
}
|
|
7423
|
-
) : /* @__PURE__ */
|
|
6865
|
+
) : /* @__PURE__ */ jsx13("div", { className: "h-20 w-full animate-pulse bg-[color-mix(in_srgb,var(--text-primary)_8%,transparent)]" }) }, image.id);
|
|
7424
6866
|
})
|
|
7425
6867
|
}
|
|
7426
6868
|
);
|
|
@@ -7435,7 +6877,7 @@ function useAgentMessageImageSources(images) {
|
|
|
7435
6877
|
),
|
|
7436
6878
|
[images, sources]
|
|
7437
6879
|
);
|
|
7438
|
-
|
|
6880
|
+
useEffect3(() => {
|
|
7439
6881
|
if (!runtime?.readSessionAttachment && !runtime?.readPromptAsset || missingImages.length === 0) {
|
|
7440
6882
|
return;
|
|
7441
6883
|
}
|
|
@@ -7492,11 +6934,8 @@ function imageSourceUrl(image) {
|
|
|
7492
6934
|
}
|
|
7493
6935
|
|
|
7494
6936
|
// shared/agentConversation/components/AgentMessageBlock.tsx
|
|
7495
|
-
import { jsx as
|
|
6937
|
+
import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
7496
6938
|
var MESSAGE_COPY_FEEDBACK_MS = 1400;
|
|
7497
|
-
var CONTEXT_COMPACTION_NOTICE_TITLE = "Context compacted.";
|
|
7498
|
-
var CONTEXT_COMPACTION_IN_PROGRESS_TITLE = "Compacting context.";
|
|
7499
|
-
var CONTEXT_COMPACTION_INTERRUPTED_TITLE = "Context compaction interrupted.";
|
|
7500
6939
|
var TRANSPORT_RETRY_PROGRESS_PATTERN = /\b(reconnect(?:ing)?(?:\s*(?:\.\.\.|…|[.。]+|:|-))?\s*\(?\d+\s*\/\s*\d+\)?)/i;
|
|
7501
6940
|
var SYSTEM_NOTICE_WARNING_CLASS_NAME = "border-[color-mix(in_srgb,var(--state-warning)_14%,transparent)] bg-[color-mix(in_srgb,var(--background-fronted)_100%,var(--state-warning)_6%)]";
|
|
7502
6941
|
var SYSTEM_NOTICE_ERROR_CLASS_NAME = "border-[var(--on-danger-hover)] bg-[var(--on-danger)]";
|
|
@@ -7553,7 +6992,7 @@ function AgentMessageBlock({
|
|
|
7553
6992
|
},
|
|
7554
6993
|
[agentHostApi]
|
|
7555
6994
|
);
|
|
7556
|
-
const thinkingContent = !isUser ? row.thinking.map((thinking) => /* @__PURE__ */
|
|
6995
|
+
const thinkingContent = !isUser ? row.thinking.map((thinking) => /* @__PURE__ */ jsx14(
|
|
7557
6996
|
AgentThinkingDisclosure,
|
|
7558
6997
|
{
|
|
7559
6998
|
thinking,
|
|
@@ -7572,7 +7011,7 @@ function AgentMessageBlock({
|
|
|
7572
7011
|
children: [
|
|
7573
7012
|
thinkingContent,
|
|
7574
7013
|
row.messages.map((message) => {
|
|
7575
|
-
const rawTimelineJson2 = showRawTimelineJson && rawTimelineJsonLabel && (message.sourceTimelineItems?.length ?? 0) > 0 ? /* @__PURE__ */
|
|
7014
|
+
const rawTimelineJson2 = showRawTimelineJson && rawTimelineJsonLabel && (message.sourceTimelineItems?.length ?? 0) > 0 ? /* @__PURE__ */ jsx14(
|
|
7576
7015
|
RawTimelineJsonDisclosure,
|
|
7577
7016
|
{
|
|
7578
7017
|
items: message.sourceTimelineItems,
|
|
@@ -7580,7 +7019,7 @@ function AgentMessageBlock({
|
|
|
7580
7019
|
}
|
|
7581
7020
|
) : null;
|
|
7582
7021
|
const recoveredError = !isUser && !message.visibleError && message.statusKind === "failed" ? recoverVisibleErrorFromFailedMessage(message, provider) : null;
|
|
7583
|
-
const content = isUser && message.contentKind === "image-grid" ? /* @__PURE__ */
|
|
7022
|
+
const content = isUser && message.contentKind === "image-grid" ? /* @__PURE__ */ jsx14(AgentUserImageGrid, { message }) : isUser ? /* @__PURE__ */ jsx14(
|
|
7584
7023
|
AgentRichTextReadonly,
|
|
7585
7024
|
{
|
|
7586
7025
|
value: message.body,
|
|
@@ -7590,21 +7029,21 @@ function AgentMessageBlock({
|
|
|
7590
7029
|
availableSkills,
|
|
7591
7030
|
workspaceAppIcons
|
|
7592
7031
|
}
|
|
7593
|
-
) : message.visibleError ? /* @__PURE__ */
|
|
7032
|
+
) : message.visibleError ? /* @__PURE__ */ jsx14(
|
|
7594
7033
|
AgentVisibleErrorMessage,
|
|
7595
7034
|
{
|
|
7596
7035
|
message,
|
|
7597
7036
|
onAuthLogin,
|
|
7598
7037
|
onExternalLink: handleLinkClick
|
|
7599
7038
|
}
|
|
7600
|
-
) : recoveredError ? /* @__PURE__ */
|
|
7039
|
+
) : recoveredError ? /* @__PURE__ */ jsx14(
|
|
7601
7040
|
AgentVisibleErrorMessage,
|
|
7602
7041
|
{
|
|
7603
7042
|
message: recoveredError,
|
|
7604
7043
|
onAuthLogin,
|
|
7605
7044
|
onExternalLink: handleLinkClick
|
|
7606
7045
|
}
|
|
7607
|
-
) : message.systemNotice ? /* @__PURE__ */
|
|
7046
|
+
) : message.systemNotice ? /* @__PURE__ */ jsx14(AgentSystemNoticeMessage, { message }) : message.contentKind === "plan" ? /* @__PURE__ */ jsx14(
|
|
7608
7047
|
AgentPlanCardMessage,
|
|
7609
7048
|
{
|
|
7610
7049
|
message,
|
|
@@ -7614,7 +7053,7 @@ function AgentMessageBlock({
|
|
|
7614
7053
|
workspaceAppIcons,
|
|
7615
7054
|
previewMode
|
|
7616
7055
|
}
|
|
7617
|
-
) : /* @__PURE__ */
|
|
7056
|
+
) : /* @__PURE__ */ jsx14(
|
|
7618
7057
|
AgentMessageMarkdown,
|
|
7619
7058
|
{
|
|
7620
7059
|
content: message.body,
|
|
@@ -7649,7 +7088,7 @@ function AgentMessageBlock({
|
|
|
7649
7088
|
}
|
|
7650
7089
|
const copyText = message.copyText ?? null;
|
|
7651
7090
|
if (copyText) {
|
|
7652
|
-
return /* @__PURE__ */
|
|
7091
|
+
return /* @__PURE__ */ jsx14(
|
|
7653
7092
|
AgentCopyableMessageGroup,
|
|
7654
7093
|
{
|
|
7655
7094
|
copyText,
|
|
@@ -7661,7 +7100,7 @@ function AgentMessageBlock({
|
|
|
7661
7100
|
message.id
|
|
7662
7101
|
);
|
|
7663
7102
|
}
|
|
7664
|
-
return /* @__PURE__ */
|
|
7103
|
+
return /* @__PURE__ */ jsx14(Fragment2, { children: content }, message.id);
|
|
7665
7104
|
})
|
|
7666
7105
|
]
|
|
7667
7106
|
}
|
|
@@ -7679,8 +7118,8 @@ function AgentCopyableMessageGroup({
|
|
|
7679
7118
|
return /* @__PURE__ */ jsxs9("div", { className: AgentGUIConversation_styles_default.messageGroup, "data-agent-message-speaker": speaker, children: [
|
|
7680
7119
|
children,
|
|
7681
7120
|
timestamp || copyText ? /* @__PURE__ */ jsxs9("div", { className: AgentGUIConversation_styles_default.messageFooter, children: [
|
|
7682
|
-
timestamp ? /* @__PURE__ */
|
|
7683
|
-
copyText ? /* @__PURE__ */
|
|
7121
|
+
timestamp ? /* @__PURE__ */ jsx14("span", { className: AgentGUIConversation_styles_default.messageTimestamp, children: timestamp }) : null,
|
|
7122
|
+
copyText ? /* @__PURE__ */ jsx14(
|
|
7684
7123
|
AgentMessageCopyButton,
|
|
7685
7124
|
{
|
|
7686
7125
|
copyText,
|
|
@@ -7696,7 +7135,7 @@ function AgentMessageCopyButton({
|
|
|
7696
7135
|
}) {
|
|
7697
7136
|
"use memo";
|
|
7698
7137
|
const [copied, setCopied] = useState7(false);
|
|
7699
|
-
|
|
7138
|
+
useEffect4(() => {
|
|
7700
7139
|
if (!copied) {
|
|
7701
7140
|
return;
|
|
7702
7141
|
}
|
|
@@ -7711,14 +7150,14 @@ function AgentMessageCopyButton({
|
|
|
7711
7150
|
}
|
|
7712
7151
|
}, [copyText, onCopyMessageText]);
|
|
7713
7152
|
const label = copied ? translate("agentHost.agentGui.messageCopied") : translate("agentHost.agentGui.copyMessage");
|
|
7714
|
-
return /* @__PURE__ */
|
|
7153
|
+
return /* @__PURE__ */ jsx14(
|
|
7715
7154
|
CanvasNodeGhostIconButton,
|
|
7716
7155
|
{
|
|
7717
7156
|
className: AgentGUIConversation_styles_default.messageCopyButton,
|
|
7718
7157
|
"aria-label": label,
|
|
7719
7158
|
"data-copied": copied ? "true" : "false",
|
|
7720
7159
|
onClick: handleClick,
|
|
7721
|
-
children: copied ? /* @__PURE__ */
|
|
7160
|
+
children: copied ? /* @__PURE__ */ jsx14(CheckIcon, { width: 14, height: 14, "aria-hidden": "true" }) : /* @__PURE__ */ jsx14(CopyIcon, { width: 14, height: 14, "aria-hidden": "true" })
|
|
7722
7161
|
}
|
|
7723
7162
|
);
|
|
7724
7163
|
}
|
|
@@ -7731,7 +7170,7 @@ function AgentSystemNoticeMessage({
|
|
|
7731
7170
|
const title = systemNoticeTitle(message);
|
|
7732
7171
|
if (notice?.noticeKind === "transport_retry") {
|
|
7733
7172
|
const retryText = transportRetryNoticeText(message);
|
|
7734
|
-
return /* @__PURE__ */
|
|
7173
|
+
return /* @__PURE__ */ jsx14(
|
|
7735
7174
|
"div",
|
|
7736
7175
|
{
|
|
7737
7176
|
role: "status",
|
|
@@ -7740,40 +7179,41 @@ function AgentSystemNoticeMessage({
|
|
|
7740
7179
|
}
|
|
7741
7180
|
);
|
|
7742
7181
|
}
|
|
7743
|
-
if (isContextCompactionProgressNotice(message
|
|
7744
|
-
return /* @__PURE__ */
|
|
7182
|
+
if (isContextCompactionProgressNotice(message)) {
|
|
7183
|
+
return /* @__PURE__ */ jsx14(
|
|
7745
7184
|
ContextCompactionProgressDivider,
|
|
7746
7185
|
{
|
|
7747
7186
|
startedAtUnixMs: message.occurredAtUnixMs
|
|
7748
7187
|
}
|
|
7749
7188
|
);
|
|
7750
7189
|
}
|
|
7751
|
-
if (isContextCompactionNotice(message
|
|
7752
|
-
return /* @__PURE__ */
|
|
7190
|
+
if (isContextCompactionNotice(message)) {
|
|
7191
|
+
return /* @__PURE__ */ jsx14(
|
|
7753
7192
|
ContextCompactionDivider,
|
|
7754
7193
|
{
|
|
7755
7194
|
text: translate("agentHost.agentGui.contextCompactionCompleted")
|
|
7756
7195
|
}
|
|
7757
7196
|
);
|
|
7758
7197
|
}
|
|
7759
|
-
if (isContextCompactionInterruptedNotice(message
|
|
7760
|
-
return /* @__PURE__ */
|
|
7198
|
+
if (isContextCompactionInterruptedNotice(message)) {
|
|
7199
|
+
return /* @__PURE__ */ jsx14(
|
|
7761
7200
|
ContextCompactionDivider,
|
|
7762
7201
|
{
|
|
7763
|
-
text: translate("agentHost.agentGui.contextCompactionInterrupted")
|
|
7202
|
+
text: translate("agentHost.agentGui.contextCompactionInterrupted"),
|
|
7203
|
+
detail: detail || null
|
|
7764
7204
|
}
|
|
7765
7205
|
);
|
|
7766
7206
|
}
|
|
7767
7207
|
const isStatusNotice = systemNoticeIsStatus(message);
|
|
7768
7208
|
const noticeToneClassName = systemNoticeToneClassName(message);
|
|
7769
|
-
return /* @__PURE__ */
|
|
7209
|
+
return /* @__PURE__ */ jsx14(
|
|
7770
7210
|
"section",
|
|
7771
7211
|
{
|
|
7772
7212
|
role: isStatusNotice ? "status" : void 0,
|
|
7773
7213
|
className: `box-border w-full min-w-0 rounded-[8px] border p-3 text-[13px] leading-5 text-[var(--text-primary)] ${noticeToneClassName}`,
|
|
7774
7214
|
children: /* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
7775
|
-
/* @__PURE__ */
|
|
7776
|
-
detail ? /* @__PURE__ */
|
|
7215
|
+
/* @__PURE__ */ jsx14("div", { className: "font-medium text-[var(--text-primary)]", children: title }),
|
|
7216
|
+
detail ? /* @__PURE__ */ jsx14(AgentMessageDetailsDisclosure, { detail, className: "mt-1" }) : null
|
|
7777
7217
|
] })
|
|
7778
7218
|
}
|
|
7779
7219
|
);
|
|
@@ -7810,41 +7250,47 @@ function transportRetryProgressText(value) {
|
|
|
7810
7250
|
const match = TRANSPORT_RETRY_PROGRESS_PATTERN.exec(value.trim());
|
|
7811
7251
|
return match?.[1]?.replace(/\s+/g, " ").trim() || null;
|
|
7812
7252
|
}
|
|
7813
|
-
function isContextCompactionNotice(message
|
|
7253
|
+
function isContextCompactionNotice(message) {
|
|
7814
7254
|
const notice = message.systemNotice;
|
|
7815
|
-
return notice?.
|
|
7255
|
+
return notice?.command === "compact" && notice.commandStatus === "completed";
|
|
7816
7256
|
}
|
|
7817
|
-
function isContextCompactionProgressNotice(message
|
|
7257
|
+
function isContextCompactionProgressNotice(message) {
|
|
7818
7258
|
const notice = message.systemNotice;
|
|
7819
|
-
return notice?.
|
|
7259
|
+
return notice?.command === "compact" && notice.commandStatus === "running";
|
|
7820
7260
|
}
|
|
7821
|
-
function isContextCompactionInterruptedNotice(message
|
|
7261
|
+
function isContextCompactionInterruptedNotice(message) {
|
|
7822
7262
|
const notice = message.systemNotice;
|
|
7823
|
-
return notice?.
|
|
7263
|
+
return notice?.command === "compact" && (notice.commandStatus === "failed" || notice.commandStatus === "canceled");
|
|
7824
7264
|
}
|
|
7825
|
-
function ContextCompactionDivider({
|
|
7265
|
+
function ContextCompactionDivider({
|
|
7266
|
+
text,
|
|
7267
|
+
detail = null
|
|
7268
|
+
}) {
|
|
7826
7269
|
"use memo";
|
|
7827
7270
|
return /* @__PURE__ */ jsxs9(
|
|
7828
7271
|
"div",
|
|
7829
7272
|
{
|
|
7830
7273
|
role: "status",
|
|
7831
|
-
className: "box-border
|
|
7274
|
+
className: "box-border w-full min-w-0 py-2 text-[12px] leading-4 text-[var(--text-secondary)]",
|
|
7832
7275
|
children: [
|
|
7833
|
-
/* @__PURE__ */
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
|
|
7276
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
7277
|
+
/* @__PURE__ */ jsx14(
|
|
7278
|
+
"span",
|
|
7279
|
+
{
|
|
7280
|
+
"aria-hidden": "true",
|
|
7281
|
+
className: "h-px min-w-4 flex-1 bg-[var(--line-1)]"
|
|
7282
|
+
}
|
|
7283
|
+
),
|
|
7284
|
+
/* @__PURE__ */ jsx14("span", { className: "shrink-0 whitespace-nowrap", children: text }),
|
|
7285
|
+
/* @__PURE__ */ jsx14(
|
|
7286
|
+
"span",
|
|
7287
|
+
{
|
|
7288
|
+
"aria-hidden": "true",
|
|
7289
|
+
className: "h-px min-w-4 flex-1 bg-[var(--line-1)]"
|
|
7290
|
+
}
|
|
7291
|
+
)
|
|
7292
|
+
] }),
|
|
7293
|
+
detail ? /* @__PURE__ */ jsx14("div", { className: "mt-1 min-w-0 whitespace-pre-wrap break-words text-center leading-5", children: detail }) : null
|
|
7848
7294
|
]
|
|
7849
7295
|
}
|
|
7850
7296
|
);
|
|
@@ -7856,11 +7302,11 @@ function ContextCompactionProgressDivider({
|
|
|
7856
7302
|
const elapsedSeconds = useElapsedSeconds(startedAtUnixMs);
|
|
7857
7303
|
const label = translate("agentHost.agentGui.contextCompactionInProgress");
|
|
7858
7304
|
const text = elapsedSeconds === null ? label : `${label} \xB7 ${formatElapsedSeconds(elapsedSeconds)}`;
|
|
7859
|
-
return /* @__PURE__ */
|
|
7305
|
+
return /* @__PURE__ */ jsx14(ContextCompactionDivider, { text });
|
|
7860
7306
|
}
|
|
7861
7307
|
function useElapsedSeconds(startUnixMs) {
|
|
7862
7308
|
const [nowUnixMs, setNowUnixMs] = useState7(() => Date.now());
|
|
7863
|
-
|
|
7309
|
+
useEffect4(() => {
|
|
7864
7310
|
if (startUnixMs === null) {
|
|
7865
7311
|
return;
|
|
7866
7312
|
}
|
|
@@ -7887,7 +7333,7 @@ function AgentPlanCardMessage({
|
|
|
7887
7333
|
previewMode = false
|
|
7888
7334
|
}) {
|
|
7889
7335
|
"use memo";
|
|
7890
|
-
return /* @__PURE__ */
|
|
7336
|
+
return /* @__PURE__ */ jsx14(AgentPlanCard, { copyText: message.body, children: /* @__PURE__ */ jsx14(
|
|
7891
7337
|
AgentMessageMarkdown,
|
|
7892
7338
|
{
|
|
7893
7339
|
content: message.body,
|
|
@@ -7927,20 +7373,20 @@ function systemNoticeTitle(message) {
|
|
|
7927
7373
|
}
|
|
7928
7374
|
|
|
7929
7375
|
// shared/agentConversation/components/AgentProcessingRow.tsx
|
|
7930
|
-
import { jsx as
|
|
7376
|
+
import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
7931
7377
|
function AgentProcessingRow({
|
|
7932
7378
|
row,
|
|
7933
7379
|
label
|
|
7934
7380
|
}) {
|
|
7935
7381
|
"use memo";
|
|
7936
|
-
return /* @__PURE__ */
|
|
7382
|
+
return /* @__PURE__ */ jsx15(
|
|
7937
7383
|
"div",
|
|
7938
7384
|
{
|
|
7939
7385
|
"data-row-id": row.id,
|
|
7940
7386
|
className: "workspace-agents-status-panel__detail-processing inline-flex items-center gap-1.5",
|
|
7941
7387
|
children: /* @__PURE__ */ jsxs10("span", { className: "inline-flex min-w-0 items-center gap-1 font-semibold", children: [
|
|
7942
|
-
/* @__PURE__ */
|
|
7943
|
-
/* @__PURE__ */
|
|
7388
|
+
/* @__PURE__ */ jsx15("span", { children: processingLabel(row, label) }),
|
|
7389
|
+
/* @__PURE__ */ jsx15(LoadingEllipsis2, {})
|
|
7944
7390
|
] })
|
|
7945
7391
|
}
|
|
7946
7392
|
);
|
|
@@ -7959,9 +7405,9 @@ function LoadingEllipsis2() {
|
|
|
7959
7405
|
className: "tsh-inline-loading-ellipsis tsh-inline-loading-ellipsis--entry-timing",
|
|
7960
7406
|
"aria-hidden": "true",
|
|
7961
7407
|
children: [
|
|
7962
|
-
/* @__PURE__ */
|
|
7963
|
-
/* @__PURE__ */
|
|
7964
|
-
/* @__PURE__ */
|
|
7408
|
+
/* @__PURE__ */ jsx15("span", {}),
|
|
7409
|
+
/* @__PURE__ */ jsx15("span", {}),
|
|
7410
|
+
/* @__PURE__ */ jsx15("span", {})
|
|
7965
7411
|
]
|
|
7966
7412
|
}
|
|
7967
7413
|
);
|
|
@@ -7981,7 +7427,7 @@ import { AlertCircle, ChevronDown as ChevronDown4, ChevronRight as ChevronRight4
|
|
|
7981
7427
|
import {
|
|
7982
7428
|
forwardRef as forwardRef4,
|
|
7983
7429
|
useCallback as useCallback5,
|
|
7984
|
-
useEffect as
|
|
7430
|
+
useEffect as useEffect5,
|
|
7985
7431
|
useImperativeHandle as useImperativeHandle2,
|
|
7986
7432
|
useRef as useRef4
|
|
7987
7433
|
} from "react";
|
|
@@ -7990,7 +7436,7 @@ import {
|
|
|
7990
7436
|
useAnimation as useAnimation2,
|
|
7991
7437
|
useReducedMotion as useReducedMotion2
|
|
7992
7438
|
} from "framer-motion";
|
|
7993
|
-
import { jsx as
|
|
7439
|
+
import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
7994
7440
|
var PEN_VARIANTS = {
|
|
7995
7441
|
normal: {
|
|
7996
7442
|
rotate: 0,
|
|
@@ -8063,7 +7509,7 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8063
7509
|
stopAnimation
|
|
8064
7510
|
};
|
|
8065
7511
|
});
|
|
8066
|
-
|
|
7512
|
+
useEffect5(() => {
|
|
8067
7513
|
if (active) {
|
|
8068
7514
|
startAnimation();
|
|
8069
7515
|
return;
|
|
@@ -8090,7 +7536,7 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8090
7536
|
},
|
|
8091
7537
|
[onMouseLeave, stopAnimation]
|
|
8092
7538
|
);
|
|
8093
|
-
return /* @__PURE__ */
|
|
7539
|
+
return /* @__PURE__ */ jsx16(
|
|
8094
7540
|
"div",
|
|
8095
7541
|
{
|
|
8096
7542
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -8110,8 +7556,8 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8110
7556
|
width: size,
|
|
8111
7557
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8112
7558
|
children: [
|
|
8113
|
-
/* @__PURE__ */
|
|
8114
|
-
/* @__PURE__ */
|
|
7559
|
+
/* @__PURE__ */ jsx16("path", { d: "m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2" }),
|
|
7560
|
+
/* @__PURE__ */ jsx16(
|
|
8115
7561
|
motion2.path,
|
|
8116
7562
|
{
|
|
8117
7563
|
animate: controls,
|
|
@@ -8120,7 +7566,7 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8120
7566
|
variants: PEN_VARIANTS
|
|
8121
7567
|
}
|
|
8122
7568
|
),
|
|
8123
|
-
/* @__PURE__ */
|
|
7569
|
+
/* @__PURE__ */ jsx16(
|
|
8124
7570
|
motion2.path,
|
|
8125
7571
|
{
|
|
8126
7572
|
animate: controls,
|
|
@@ -8142,7 +7588,7 @@ FilePenLineIcon.displayName = "FilePenLineIcon";
|
|
|
8142
7588
|
import {
|
|
8143
7589
|
forwardRef as forwardRef5,
|
|
8144
7590
|
useCallback as useCallback6,
|
|
8145
|
-
useEffect as
|
|
7591
|
+
useEffect as useEffect6,
|
|
8146
7592
|
useImperativeHandle as useImperativeHandle3,
|
|
8147
7593
|
useRef as useRef5
|
|
8148
7594
|
} from "react";
|
|
@@ -8151,7 +7597,7 @@ import {
|
|
|
8151
7597
|
useAnimation as useAnimation3,
|
|
8152
7598
|
useReducedMotion as useReducedMotion3
|
|
8153
7599
|
} from "framer-motion";
|
|
8154
|
-
import { jsx as
|
|
7600
|
+
import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
8155
7601
|
var FILE_TEXT_LINE_VARIANTS = {
|
|
8156
7602
|
normal: {
|
|
8157
7603
|
pathLength: 1,
|
|
@@ -8206,7 +7652,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8206
7652
|
stopAnimation
|
|
8207
7653
|
};
|
|
8208
7654
|
});
|
|
8209
|
-
|
|
7655
|
+
useEffect6(() => {
|
|
8210
7656
|
if (active) {
|
|
8211
7657
|
startAnimation();
|
|
8212
7658
|
return;
|
|
@@ -8233,7 +7679,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8233
7679
|
},
|
|
8234
7680
|
[onMouseLeave, stopAnimation]
|
|
8235
7681
|
);
|
|
8236
|
-
return /* @__PURE__ */
|
|
7682
|
+
return /* @__PURE__ */ jsx17(
|
|
8237
7683
|
"div",
|
|
8238
7684
|
{
|
|
8239
7685
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -8274,9 +7720,9 @@ var FileTextIcon = forwardRef5(
|
|
|
8274
7720
|
width: size,
|
|
8275
7721
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8276
7722
|
children: [
|
|
8277
|
-
/* @__PURE__ */
|
|
8278
|
-
/* @__PURE__ */
|
|
8279
|
-
/* @__PURE__ */
|
|
7723
|
+
/* @__PURE__ */ jsx17("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
7724
|
+
/* @__PURE__ */ jsx17("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
|
|
7725
|
+
/* @__PURE__ */ jsx17(
|
|
8280
7726
|
motion3.path,
|
|
8281
7727
|
{
|
|
8282
7728
|
animate: controls,
|
|
@@ -8285,7 +7731,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8285
7731
|
variants: FILE_TEXT_LINE_VARIANTS
|
|
8286
7732
|
}
|
|
8287
7733
|
),
|
|
8288
|
-
/* @__PURE__ */
|
|
7734
|
+
/* @__PURE__ */ jsx17(
|
|
8289
7735
|
motion3.path,
|
|
8290
7736
|
{
|
|
8291
7737
|
animate: controls,
|
|
@@ -8294,7 +7740,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8294
7740
|
variants: FILE_TEXT_LINE_VARIANTS
|
|
8295
7741
|
}
|
|
8296
7742
|
),
|
|
8297
|
-
/* @__PURE__ */
|
|
7743
|
+
/* @__PURE__ */ jsx17(
|
|
8298
7744
|
motion3.path,
|
|
8299
7745
|
{
|
|
8300
7746
|
animate: controls,
|
|
@@ -8316,7 +7762,7 @@ FileTextIcon.displayName = "FileTextIcon";
|
|
|
8316
7762
|
import {
|
|
8317
7763
|
forwardRef as forwardRef6,
|
|
8318
7764
|
useCallback as useCallback7,
|
|
8319
|
-
useEffect as
|
|
7765
|
+
useEffect as useEffect7,
|
|
8320
7766
|
useImperativeHandle as useImperativeHandle4,
|
|
8321
7767
|
useRef as useRef6
|
|
8322
7768
|
} from "react";
|
|
@@ -8325,7 +7771,7 @@ import {
|
|
|
8325
7771
|
useAnimation as useAnimation4,
|
|
8326
7772
|
useReducedMotion as useReducedMotion4
|
|
8327
7773
|
} from "framer-motion";
|
|
8328
|
-
import { jsx as
|
|
7774
|
+
import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
8329
7775
|
var HAMMER_VARIANTS = {
|
|
8330
7776
|
normal: {
|
|
8331
7777
|
rotate: 0,
|
|
@@ -8381,7 +7827,7 @@ var HammerIcon = forwardRef6(
|
|
|
8381
7827
|
stopAnimation
|
|
8382
7828
|
};
|
|
8383
7829
|
});
|
|
8384
|
-
|
|
7830
|
+
useEffect7(() => {
|
|
8385
7831
|
if (active) {
|
|
8386
7832
|
startAnimation();
|
|
8387
7833
|
return;
|
|
@@ -8408,7 +7854,7 @@ var HammerIcon = forwardRef6(
|
|
|
8408
7854
|
},
|
|
8409
7855
|
[onMouseLeave, stopAnimation]
|
|
8410
7856
|
);
|
|
8411
|
-
return /* @__PURE__ */
|
|
7857
|
+
return /* @__PURE__ */ jsx18(
|
|
8412
7858
|
"div",
|
|
8413
7859
|
{
|
|
8414
7860
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -8432,9 +7878,9 @@ var HammerIcon = forwardRef6(
|
|
|
8432
7878
|
width: size,
|
|
8433
7879
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8434
7880
|
children: [
|
|
8435
|
-
/* @__PURE__ */
|
|
8436
|
-
/* @__PURE__ */
|
|
8437
|
-
/* @__PURE__ */
|
|
7881
|
+
/* @__PURE__ */ jsx18("path", { d: "m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9" }),
|
|
7882
|
+
/* @__PURE__ */ jsx18("path", { d: "m18 15 4-4" }),
|
|
7883
|
+
/* @__PURE__ */ jsx18("path", { d: "m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5" })
|
|
8438
7884
|
]
|
|
8439
7885
|
}
|
|
8440
7886
|
)
|
|
@@ -8445,17 +7891,17 @@ var HammerIcon = forwardRef6(
|
|
|
8445
7891
|
HammerIcon.displayName = "HammerIcon";
|
|
8446
7892
|
|
|
8447
7893
|
// app/renderer/components/icons/ToolsLinedIcon.tsx
|
|
8448
|
-
import { jsx as
|
|
7894
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
8449
7895
|
function ToolsLinedIcon(props) {
|
|
8450
7896
|
"use memo";
|
|
8451
|
-
return /* @__PURE__ */
|
|
7897
|
+
return /* @__PURE__ */ jsx19(
|
|
8452
7898
|
"svg",
|
|
8453
7899
|
{
|
|
8454
7900
|
viewBox: "0 0 24 24",
|
|
8455
7901
|
fill: "none",
|
|
8456
7902
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8457
7903
|
...props,
|
|
8458
|
-
children: /* @__PURE__ */
|
|
7904
|
+
children: /* @__PURE__ */ jsx19(
|
|
8459
7905
|
"path",
|
|
8460
7906
|
{
|
|
8461
7907
|
d: "M12.5166 2C14.3722 2.0005 16.1516 2.73783 17.4639 4.0498L19.1211 5.70703L19.3203 5.92676C19.7578 6.46048 19.9999 7.13198 20 7.82812V8.17188L20.0049 8.27051C20.0276 8.49945 20.1288 8.71482 20.293 8.87891L21.5303 10.1162C21.9083 9.9151 22.3885 9.97443 22.707 10.293C23.0976 10.6835 23.0976 11.3165 22.707 11.707L18.707 15.707C18.3165 16.0976 17.6835 16.0976 17.293 15.707C16.9744 15.3885 16.9151 14.9083 17.1162 14.5303L15.8789 13.293C15.7431 13.1571 15.5715 13.0672 15.3867 13.0264L6.33398 22.0801C6.0442 22.3699 5.69992 22.5999 5.32129 22.7568C4.94266 22.9137 4.53679 22.995 4.12695 22.9951C3.29924 22.9952 2.50538 22.6661 1.91992 22.0811C1.3344 21.4957 1.00502 20.701 1.00488 19.873C1.00487 19.0453 1.33373 18.2514 1.91895 17.666L11 8.58496V8.48535C10.9999 7.1596 10.4734 5.88777 9.53613 4.9502L8.29297 3.70703C8.00697 3.42103 7.92139 2.99086 8.07617 2.61719C8.23098 2.24359 8.59558 2 9 2H12.5166ZM3.33301 19.0801C3.12284 19.2904 3.00487 19.5757 3.00488 19.873C3.00493 20.1705 3.12359 20.4557 3.33398 20.666C3.54437 20.8763 3.82951 20.9952 4.12695 20.9951C4.27409 20.9951 4.41972 20.9655 4.55566 20.9092C4.69174 20.8528 4.81578 20.7702 4.91992 20.666L13.0859 12.5L11.499 10.9131L3.33301 19.0801ZM11.3721 4C12.4187 5.2535 12.9999 6.83919 13 8.48535V9.58594L14.4141 11H15.1719C15.9674 11.0002 16.7305 11.3164 17.293 11.8789L18.5 13.0859L20.0859 11.5L18.8789 10.293C18.3164 9.73051 18.0002 8.96738 18 8.17188V7.82812C17.9999 7.56296 17.8946 7.30857 17.707 7.12109L16.0498 5.46387C15.1124 4.52677 13.8411 4.00028 12.5156 4H11.3721Z",
|
|
@@ -8467,10 +7913,10 @@ function ToolsLinedIcon(props) {
|
|
|
8467
7913
|
}
|
|
8468
7914
|
|
|
8469
7915
|
// app/renderer/components/icons/WriteLinedIcon.tsx
|
|
8470
|
-
import { jsx as
|
|
7916
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
8471
7917
|
function WriteLinedIcon(props) {
|
|
8472
7918
|
"use memo";
|
|
8473
|
-
return /* @__PURE__ */
|
|
7919
|
+
return /* @__PURE__ */ jsx20(
|
|
8474
7920
|
"svg",
|
|
8475
7921
|
{
|
|
8476
7922
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -8478,7 +7924,7 @@ function WriteLinedIcon(props) {
|
|
|
8478
7924
|
fill: "none",
|
|
8479
7925
|
"aria-hidden": true,
|
|
8480
7926
|
...props,
|
|
8481
|
-
children: /* @__PURE__ */
|
|
7927
|
+
children: /* @__PURE__ */ jsx20(
|
|
8482
7928
|
"path",
|
|
8483
7929
|
{
|
|
8484
7930
|
fill: "currentColor",
|
|
@@ -9640,7 +9086,7 @@ function locationPaths(value) {
|
|
|
9640
9086
|
}
|
|
9641
9087
|
|
|
9642
9088
|
// shared/agentConversation/components/AgentToolCallHeader.tsx
|
|
9643
|
-
import { jsx as
|
|
9089
|
+
import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
9644
9090
|
var TOOL_ROW_ICON_SIZE = 16;
|
|
9645
9091
|
function AgentToolCallHeader({
|
|
9646
9092
|
call,
|
|
@@ -9660,14 +9106,14 @@ function AgentToolCallHeader({
|
|
|
9660
9106
|
isActive ? "tsh-inline-scanlight-group" : ""
|
|
9661
9107
|
].filter(Boolean).join(" "),
|
|
9662
9108
|
children: [
|
|
9663
|
-
/* @__PURE__ */
|
|
9109
|
+
/* @__PURE__ */ jsx21("div", { className: "workspace-agents-status-panel__detail-tool-row-icon tsh-inline-scanlight-icon", children: isFailed ? /* @__PURE__ */ jsx21(
|
|
9664
9110
|
AlertCircle,
|
|
9665
9111
|
{
|
|
9666
9112
|
size: TOOL_ROW_ICON_SIZE,
|
|
9667
9113
|
strokeWidth: 2,
|
|
9668
9114
|
"aria-hidden": "true"
|
|
9669
9115
|
}
|
|
9670
|
-
) : isActive && isFileReadTool(call.toolName) ? /* @__PURE__ */
|
|
9116
|
+
) : isActive && isFileReadTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9671
9117
|
FileTextIcon,
|
|
9672
9118
|
{
|
|
9673
9119
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -9676,7 +9122,7 @@ function AgentToolCallHeader({
|
|
|
9676
9122
|
className: "text-current",
|
|
9677
9123
|
"data-testid": "agent-tool-read-loading-icon"
|
|
9678
9124
|
}
|
|
9679
|
-
) : isActive && isFileWriteTool(call.toolName) ? /* @__PURE__ */
|
|
9125
|
+
) : isActive && isFileWriteTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9680
9126
|
FilePenLineIcon,
|
|
9681
9127
|
{
|
|
9682
9128
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -9685,7 +9131,7 @@ function AgentToolCallHeader({
|
|
|
9685
9131
|
className: "text-current",
|
|
9686
9132
|
"data-testid": "agent-tool-write-loading-icon"
|
|
9687
9133
|
}
|
|
9688
|
-
) : isActive && isFileEditTool(call.toolName) ? /* @__PURE__ */
|
|
9134
|
+
) : isActive && isFileEditTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9689
9135
|
FileTextIcon,
|
|
9690
9136
|
{
|
|
9691
9137
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -9694,7 +9140,7 @@ function AgentToolCallHeader({
|
|
|
9694
9140
|
className: "text-current",
|
|
9695
9141
|
"data-testid": "agent-tool-edit-loading-icon"
|
|
9696
9142
|
}
|
|
9697
|
-
) : isActive && isStdinWriteTool(call.toolName) ? /* @__PURE__ */
|
|
9143
|
+
) : isActive && isStdinWriteTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9698
9144
|
WriteLinedIcon,
|
|
9699
9145
|
{
|
|
9700
9146
|
width: TOOL_ROW_ICON_SIZE,
|
|
@@ -9706,7 +9152,7 @@ function AgentToolCallHeader({
|
|
|
9706
9152
|
) : isImageGenerationToolCall({
|
|
9707
9153
|
toolName: call.toolName,
|
|
9708
9154
|
displayName: call.name
|
|
9709
|
-
}) ? /* @__PURE__ */
|
|
9155
|
+
}) ? /* @__PURE__ */ jsx21(
|
|
9710
9156
|
ToolNameIcon,
|
|
9711
9157
|
{
|
|
9712
9158
|
toolName: call.toolName ?? call.name,
|
|
@@ -9716,7 +9162,7 @@ function AgentToolCallHeader({
|
|
|
9716
9162
|
className: "text-current",
|
|
9717
9163
|
"data-testid": isActive ? "agent-tool-image-generation-loading-icon" : "agent-tool-image-generation-icon"
|
|
9718
9164
|
}
|
|
9719
|
-
) : isWebTool(call.toolName) ? /* @__PURE__ */
|
|
9165
|
+
) : isWebTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9720
9166
|
ToolNameIcon,
|
|
9721
9167
|
{
|
|
9722
9168
|
toolName: call.toolName,
|
|
@@ -9726,7 +9172,7 @@ function AgentToolCallHeader({
|
|
|
9726
9172
|
className: "text-current",
|
|
9727
9173
|
"data-testid": isActive ? "agent-tool-web-loading-icon" : "agent-tool-web-icon"
|
|
9728
9174
|
}
|
|
9729
|
-
) : isFileReadTool(call.toolName) ? /* @__PURE__ */
|
|
9175
|
+
) : isFileReadTool(call.toolName) ? /* @__PURE__ */ jsx21(
|
|
9730
9176
|
ToolNameIcon,
|
|
9731
9177
|
{
|
|
9732
9178
|
toolName: call.toolName,
|
|
@@ -9736,7 +9182,7 @@ function AgentToolCallHeader({
|
|
|
9736
9182
|
className: "text-current",
|
|
9737
9183
|
"data-testid": "agent-tool-read-icon"
|
|
9738
9184
|
}
|
|
9739
|
-
) : call.statusKind === "working" || call.statusKind === "waiting" ? /* @__PURE__ */
|
|
9185
|
+
) : call.statusKind === "working" || call.statusKind === "waiting" ? /* @__PURE__ */ jsx21(
|
|
9740
9186
|
HammerIcon,
|
|
9741
9187
|
{
|
|
9742
9188
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -9745,7 +9191,7 @@ function AgentToolCallHeader({
|
|
|
9745
9191
|
className: "text-current",
|
|
9746
9192
|
"data-testid": "agent-tool-call-loading-icon"
|
|
9747
9193
|
}
|
|
9748
|
-
) : /* @__PURE__ */
|
|
9194
|
+
) : /* @__PURE__ */ jsx21(
|
|
9749
9195
|
ToolsLinedIcon,
|
|
9750
9196
|
{
|
|
9751
9197
|
width: TOOL_ROW_ICON_SIZE,
|
|
@@ -9761,9 +9207,9 @@ function AgentToolCallHeader({
|
|
|
9761
9207
|
isActive ? "tsh-inline-scanlight-line" : ""
|
|
9762
9208
|
].filter(Boolean).join(" "),
|
|
9763
9209
|
children: [
|
|
9764
|
-
/* @__PURE__ */
|
|
9765
|
-
call.status ? /* @__PURE__ */
|
|
9766
|
-
isActive ? /* @__PURE__ */
|
|
9210
|
+
/* @__PURE__ */ jsx21("strong", { className: "workspace-agents-status-panel__detail-tool-row-title", children: formatInlineTitleLabel(call.name) }),
|
|
9211
|
+
call.status ? /* @__PURE__ */ jsx21("span", { className: "workspace-agents-status-panel__detail-tool-status", children: formatInlineStatusLabel2(call.status) }) : null,
|
|
9212
|
+
isActive ? /* @__PURE__ */ jsx21(LoadingEllipsis3, {}) : null,
|
|
9767
9213
|
diffStats ? /* @__PURE__ */ jsxs14("span", { className: "workspace-agents-status-panel__detail-tool-diff-stats", children: [
|
|
9768
9214
|
diffStats.added > 0 ? /* @__PURE__ */ jsxs14("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
|
|
9769
9215
|
"+",
|
|
@@ -9777,7 +9223,7 @@ function AgentToolCallHeader({
|
|
|
9777
9223
|
]
|
|
9778
9224
|
}
|
|
9779
9225
|
),
|
|
9780
|
-
hasDetail ? expanded ? /* @__PURE__ */
|
|
9226
|
+
hasDetail ? expanded ? /* @__PURE__ */ jsx21(
|
|
9781
9227
|
ChevronDown4,
|
|
9782
9228
|
{
|
|
9783
9229
|
size: 12,
|
|
@@ -9785,7 +9231,7 @@ function AgentToolCallHeader({
|
|
|
9785
9231
|
"aria-hidden": "true",
|
|
9786
9232
|
className: "workspace-agents-status-panel__detail-tool-row-chevron"
|
|
9787
9233
|
}
|
|
9788
|
-
) : /* @__PURE__ */
|
|
9234
|
+
) : /* @__PURE__ */ jsx21(
|
|
9789
9235
|
ChevronRight4,
|
|
9790
9236
|
{
|
|
9791
9237
|
size: 12,
|
|
@@ -9824,9 +9270,9 @@ function formatInlineTitleLabel(label) {
|
|
|
9824
9270
|
function LoadingEllipsis3() {
|
|
9825
9271
|
"use memo";
|
|
9826
9272
|
return /* @__PURE__ */ jsxs14("span", { className: "tsh-inline-loading-ellipsis", "aria-hidden": "true", children: [
|
|
9827
|
-
/* @__PURE__ */
|
|
9828
|
-
/* @__PURE__ */
|
|
9829
|
-
/* @__PURE__ */
|
|
9273
|
+
/* @__PURE__ */ jsx21("span", {}),
|
|
9274
|
+
/* @__PURE__ */ jsx21("span", {}),
|
|
9275
|
+
/* @__PURE__ */ jsx21("span", {})
|
|
9830
9276
|
] });
|
|
9831
9277
|
}
|
|
9832
9278
|
function diffStatsForCall(call) {
|
|
@@ -9899,7 +9345,7 @@ function normalizeToolName8(value) {
|
|
|
9899
9345
|
import { useMemo as useMemo2, useState as useState8 } from "react";
|
|
9900
9346
|
|
|
9901
9347
|
// shared/agentConversation/components/tool-renderers/AgentPathTailLabel.tsx
|
|
9902
|
-
import { jsx as
|
|
9348
|
+
import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
9903
9349
|
function AgentPathTailLabel({
|
|
9904
9350
|
path,
|
|
9905
9351
|
fallback,
|
|
@@ -9909,12 +9355,12 @@ function AgentPathTailLabel({
|
|
|
9909
9355
|
const label = path?.trim() || fallback;
|
|
9910
9356
|
const parts = splitPathTail(label);
|
|
9911
9357
|
if (!parts) {
|
|
9912
|
-
return /* @__PURE__ */
|
|
9358
|
+
return /* @__PURE__ */ jsx22(
|
|
9913
9359
|
"span",
|
|
9914
9360
|
{
|
|
9915
9361
|
className: `agent-path-tail-label ${className ?? ""}`,
|
|
9916
9362
|
title: path ?? void 0,
|
|
9917
|
-
children: /* @__PURE__ */
|
|
9363
|
+
children: /* @__PURE__ */ jsx22("span", { className: "agent-path-tail-label__file", children: label })
|
|
9918
9364
|
}
|
|
9919
9365
|
);
|
|
9920
9366
|
}
|
|
@@ -9924,8 +9370,8 @@ function AgentPathTailLabel({
|
|
|
9924
9370
|
className: `agent-path-tail-label ${className ?? ""}`,
|
|
9925
9371
|
title: path ?? void 0,
|
|
9926
9372
|
children: [
|
|
9927
|
-
/* @__PURE__ */
|
|
9928
|
-
/* @__PURE__ */
|
|
9373
|
+
/* @__PURE__ */ jsx22("span", { className: "agent-path-tail-label__directory", children: parts.directory }),
|
|
9374
|
+
/* @__PURE__ */ jsx22("span", { className: "agent-path-tail-label__file", children: parts.fileName })
|
|
9929
9375
|
]
|
|
9930
9376
|
}
|
|
9931
9377
|
);
|
|
@@ -9944,7 +9390,7 @@ function splitPathTail(value) {
|
|
|
9944
9390
|
}
|
|
9945
9391
|
|
|
9946
9392
|
// shared/agentConversation/components/tool-renderers/code/AgentCodeBlock.tsx
|
|
9947
|
-
import { Fragment as Fragment3, jsx as
|
|
9393
|
+
import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
9948
9394
|
var MAX_VISIBLE_LINES = 120;
|
|
9949
9395
|
function AgentCodeBlock({
|
|
9950
9396
|
path,
|
|
@@ -9979,7 +9425,7 @@ function AgentCodeBlock({
|
|
|
9979
9425
|
if (!normalized) {
|
|
9980
9426
|
return null;
|
|
9981
9427
|
}
|
|
9982
|
-
const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */
|
|
9428
|
+
const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */ jsx23(
|
|
9983
9429
|
"button",
|
|
9984
9430
|
{
|
|
9985
9431
|
type: "button",
|
|
@@ -9990,13 +9436,13 @@ function AgentCodeBlock({
|
|
|
9990
9436
|
})
|
|
9991
9437
|
}
|
|
9992
9438
|
) : null;
|
|
9993
|
-
return /* @__PURE__ */
|
|
9439
|
+
return /* @__PURE__ */ jsx23(
|
|
9994
9440
|
"div",
|
|
9995
9441
|
{
|
|
9996
9442
|
className: `workspace-agents-status-panel__detail-tool-code overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] ${flat ? "workspace-agents-status-panel__detail-tool-code--flat" : ""}`,
|
|
9997
9443
|
children: flat ? /* @__PURE__ */ jsxs16(Fragment3, { children: [
|
|
9998
9444
|
showHeader ? /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between gap-3 border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px]", children: [
|
|
9999
|
-
/* @__PURE__ */
|
|
9445
|
+
/* @__PURE__ */ jsx23(
|
|
10000
9446
|
"span",
|
|
10001
9447
|
{
|
|
10002
9448
|
className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
|
|
@@ -10015,8 +9461,8 @@ function AgentCodeBlock({
|
|
|
10015
9461
|
{
|
|
10016
9462
|
className: "grid grid-cols-[56px_minmax(0,1fr)] border-l-[3px] border-l-[var(--state-success)] font-[var(--tsh-font-mono)] text-[11px] leading-6",
|
|
10017
9463
|
children: [
|
|
10018
|
-
/* @__PURE__ */
|
|
10019
|
-
/* @__PURE__ */
|
|
9464
|
+
/* @__PURE__ */ jsx23("div", { className: "select-none px-2.5 text-right text-[color:color-mix(in_srgb,var(--state-success)_90%,transparent)]", children: line.lineNumber }),
|
|
9465
|
+
/* @__PURE__ */ jsx23("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx23("code", { children: line.line || " " }) })
|
|
10020
9466
|
]
|
|
10021
9467
|
},
|
|
10022
9468
|
line.key
|
|
@@ -10025,7 +9471,7 @@ function AgentCodeBlock({
|
|
|
10025
9471
|
] })
|
|
10026
9472
|
] }) : /* @__PURE__ */ jsxs16(Fragment3, { children: [
|
|
10027
9473
|
showHeader ? /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between gap-3 border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]", children: [
|
|
10028
|
-
/* @__PURE__ */
|
|
9474
|
+
/* @__PURE__ */ jsx23(
|
|
10029
9475
|
AgentPathTailLabel,
|
|
10030
9476
|
{
|
|
10031
9477
|
path,
|
|
@@ -10039,7 +9485,7 @@ function AgentCodeBlock({
|
|
|
10039
9485
|
" lines"
|
|
10040
9486
|
] })
|
|
10041
9487
|
] }) : null,
|
|
10042
|
-
/* @__PURE__ */
|
|
9488
|
+
/* @__PURE__ */ jsx23("pre", { className: "workspace-agents-status-panel__detail-scroll-region max-h-[200px] overflow-auto px-3 py-2 text-[11px] leading-5 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx23("code", { children: visibleContent }) }),
|
|
10043
9489
|
disclosureButton
|
|
10044
9490
|
] })
|
|
10045
9491
|
}
|
|
@@ -10064,7 +9510,7 @@ import { lazy, Suspense } from "react";
|
|
|
10064
9510
|
import {
|
|
10065
9511
|
forwardRef as forwardRef7,
|
|
10066
9512
|
useCallback as useCallback8,
|
|
10067
|
-
useEffect as
|
|
9513
|
+
useEffect as useEffect8,
|
|
10068
9514
|
useImperativeHandle as useImperativeHandle5,
|
|
10069
9515
|
useRef as useRef7
|
|
10070
9516
|
} from "react";
|
|
@@ -10073,7 +9519,7 @@ import {
|
|
|
10073
9519
|
useAnimation as useAnimation5,
|
|
10074
9520
|
useReducedMotion as useReducedMotion5
|
|
10075
9521
|
} from "framer-motion";
|
|
10076
|
-
import { jsx as
|
|
9522
|
+
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
10077
9523
|
var ATOM_ICON_ANIMATION_DURATION = 0.75;
|
|
10078
9524
|
var ATOM_ICON_REPEAT_DELAY = 1.5;
|
|
10079
9525
|
var PATH_VARIANTS = {
|
|
@@ -10138,7 +9584,7 @@ var AtomIcon = forwardRef7(
|
|
|
10138
9584
|
stopAnimation
|
|
10139
9585
|
};
|
|
10140
9586
|
});
|
|
10141
|
-
|
|
9587
|
+
useEffect8(() => {
|
|
10142
9588
|
if (active) {
|
|
10143
9589
|
startAnimation();
|
|
10144
9590
|
return;
|
|
@@ -10165,7 +9611,7 @@ var AtomIcon = forwardRef7(
|
|
|
10165
9611
|
},
|
|
10166
9612
|
[onMouseLeave, stopAnimation]
|
|
10167
9613
|
);
|
|
10168
|
-
return /* @__PURE__ */
|
|
9614
|
+
return /* @__PURE__ */ jsx24(
|
|
10169
9615
|
"div",
|
|
10170
9616
|
{
|
|
10171
9617
|
className: cn("inline-flex items-center justify-center", className),
|
|
@@ -10185,7 +9631,7 @@ var AtomIcon = forwardRef7(
|
|
|
10185
9631
|
width: size,
|
|
10186
9632
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10187
9633
|
children: [
|
|
10188
|
-
/* @__PURE__ */
|
|
9634
|
+
/* @__PURE__ */ jsx24(
|
|
10189
9635
|
motion5.circle,
|
|
10190
9636
|
{
|
|
10191
9637
|
animate: controls,
|
|
@@ -10196,7 +9642,7 @@ var AtomIcon = forwardRef7(
|
|
|
10196
9642
|
variants: PATH_VARIANTS
|
|
10197
9643
|
}
|
|
10198
9644
|
),
|
|
10199
|
-
/* @__PURE__ */
|
|
9645
|
+
/* @__PURE__ */ jsx24(
|
|
10200
9646
|
motion5.path,
|
|
10201
9647
|
{
|
|
10202
9648
|
animate: controls,
|
|
@@ -10205,7 +9651,7 @@ var AtomIcon = forwardRef7(
|
|
|
10205
9651
|
variants: PATH_VARIANTS
|
|
10206
9652
|
}
|
|
10207
9653
|
),
|
|
10208
|
-
/* @__PURE__ */
|
|
9654
|
+
/* @__PURE__ */ jsx24(
|
|
10209
9655
|
motion5.path,
|
|
10210
9656
|
{
|
|
10211
9657
|
animate: controls,
|
|
@@ -10224,7 +9670,7 @@ var AtomIcon = forwardRef7(
|
|
|
10224
9670
|
AtomIcon.displayName = "AtomIcon";
|
|
10225
9671
|
|
|
10226
9672
|
// shared/agentConversation/components/tool-renderers/file-diff/AgentMonacoDiffViewer.tsx
|
|
10227
|
-
import { jsx as
|
|
9673
|
+
import { jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
10228
9674
|
var MonacoDiffEditor = lazy(async () => {
|
|
10229
9675
|
const module = await import("@monaco-editor/react");
|
|
10230
9676
|
return { default: module.DiffEditor };
|
|
@@ -10242,12 +9688,12 @@ function AgentMonacoDiffViewer({
|
|
|
10242
9688
|
{
|
|
10243
9689
|
className: `overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] ${flat ? "workspace-agents-status-panel__detail-tool-monaco--flat" : ""}`,
|
|
10244
9690
|
children: [
|
|
10245
|
-
showHeader ? /* @__PURE__ */
|
|
9691
|
+
showHeader ? /* @__PURE__ */ jsx25(
|
|
10246
9692
|
"div",
|
|
10247
9693
|
{
|
|
10248
9694
|
className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
|
|
10249
9695
|
"data-agent-diff-header": "true",
|
|
10250
|
-
children: /* @__PURE__ */
|
|
9696
|
+
children: /* @__PURE__ */ jsx25(
|
|
10251
9697
|
AgentPathTailLabel,
|
|
10252
9698
|
{
|
|
10253
9699
|
path,
|
|
@@ -10257,11 +9703,11 @@ function AgentMonacoDiffViewer({
|
|
|
10257
9703
|
)
|
|
10258
9704
|
}
|
|
10259
9705
|
) : null,
|
|
10260
|
-
/* @__PURE__ */
|
|
9706
|
+
/* @__PURE__ */ jsx25("div", { className: "h-[220px] bg-[var(--background-panel)]", children: /* @__PURE__ */ jsx25(
|
|
10261
9707
|
Suspense,
|
|
10262
9708
|
{
|
|
10263
9709
|
fallback: /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
|
|
10264
|
-
/* @__PURE__ */
|
|
9710
|
+
/* @__PURE__ */ jsx25(
|
|
10265
9711
|
AtomIcon,
|
|
10266
9712
|
{
|
|
10267
9713
|
size: 14,
|
|
@@ -10270,9 +9716,9 @@ function AgentMonacoDiffViewer({
|
|
|
10270
9716
|
className: "shrink-0"
|
|
10271
9717
|
}
|
|
10272
9718
|
),
|
|
10273
|
-
/* @__PURE__ */
|
|
9719
|
+
/* @__PURE__ */ jsx25("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
|
|
10274
9720
|
] }),
|
|
10275
|
-
children: /* @__PURE__ */
|
|
9721
|
+
children: /* @__PURE__ */ jsx25(
|
|
10276
9722
|
MonacoDiffEditor,
|
|
10277
9723
|
{
|
|
10278
9724
|
original: oldValue,
|
|
@@ -10318,7 +9764,7 @@ function languageForPath2(path) {
|
|
|
10318
9764
|
import { useMemo as useMemo3, useState as useState9 } from "react";
|
|
10319
9765
|
|
|
10320
9766
|
// shared/agentConversation/components/tool-renderers/AgentToolScrollArea.tsx
|
|
10321
|
-
import { jsx as
|
|
9767
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
10322
9768
|
function AgentToolScrollArea({
|
|
10323
9769
|
children,
|
|
10324
9770
|
className,
|
|
@@ -10327,7 +9773,7 @@ function AgentToolScrollArea({
|
|
|
10327
9773
|
...props
|
|
10328
9774
|
}) {
|
|
10329
9775
|
"use memo";
|
|
10330
|
-
return /* @__PURE__ */
|
|
9776
|
+
return /* @__PURE__ */ jsx26(
|
|
10331
9777
|
CustomScrollArea,
|
|
10332
9778
|
{
|
|
10333
9779
|
className: cn(
|
|
@@ -10431,7 +9877,7 @@ function parseAgentUnifiedDiffStats(diffText) {
|
|
|
10431
9877
|
}
|
|
10432
9878
|
|
|
10433
9879
|
// shared/agentConversation/components/tool-renderers/file-diff/AgentUnifiedPatchViewer.tsx
|
|
10434
|
-
import { Fragment as Fragment4, jsx as
|
|
9880
|
+
import { Fragment as Fragment4, jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
10435
9881
|
var MAX_VISIBLE_LINES2 = 120;
|
|
10436
9882
|
function AgentUnifiedPatchViewer({
|
|
10437
9883
|
path,
|
|
@@ -10477,7 +9923,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10477
9923
|
if (!normalized) {
|
|
10478
9924
|
return null;
|
|
10479
9925
|
}
|
|
10480
|
-
const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */
|
|
9926
|
+
const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */ jsx27(
|
|
10481
9927
|
"button",
|
|
10482
9928
|
{
|
|
10483
9929
|
type: "button",
|
|
@@ -10488,7 +9934,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10488
9934
|
})
|
|
10489
9935
|
}
|
|
10490
9936
|
) : null;
|
|
10491
|
-
return /* @__PURE__ */
|
|
9937
|
+
return /* @__PURE__ */ jsx27(
|
|
10492
9938
|
"div",
|
|
10493
9939
|
{
|
|
10494
9940
|
className: `workspace-agents-status-panel__detail-tool-diff overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] ${flat ? "workspace-agents-status-panel__detail-tool-diff--flat" : ""}`,
|
|
@@ -10499,7 +9945,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10499
9945
|
className: "flex items-center justify-between gap-3 border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px]",
|
|
10500
9946
|
"data-agent-diff-header": "true",
|
|
10501
9947
|
children: [
|
|
10502
|
-
/* @__PURE__ */
|
|
9948
|
+
/* @__PURE__ */ jsx27(
|
|
10503
9949
|
"span",
|
|
10504
9950
|
{
|
|
10505
9951
|
className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
|
|
@@ -10522,18 +9968,18 @@ function AgentUnifiedPatchViewer({
|
|
|
10522
9968
|
) : null,
|
|
10523
9969
|
/* @__PURE__ */ jsxs19(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport", children: [
|
|
10524
9970
|
visibleDiffLines.map(({ key, line }) => /* @__PURE__ */ jsxs19("div", { className: flatLineClassName(line.kind), children: [
|
|
10525
|
-
/* @__PURE__ */
|
|
10526
|
-
/* @__PURE__ */
|
|
9971
|
+
/* @__PURE__ */ jsx27("div", { className: "select-none px-2.5 text-right text-[var(--text-tertiary)]", children: line.newLineNumber ?? line.oldLineNumber ?? "" }),
|
|
9972
|
+
/* @__PURE__ */ jsx27("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx27("code", { children: line.text || " " }) })
|
|
10527
9973
|
] }, key)),
|
|
10528
9974
|
disclosureButton
|
|
10529
9975
|
] })
|
|
10530
9976
|
] }) : /* @__PURE__ */ jsxs19(Fragment4, { children: [
|
|
10531
|
-
showHeader ? /* @__PURE__ */
|
|
9977
|
+
showHeader ? /* @__PURE__ */ jsx27(
|
|
10532
9978
|
"div",
|
|
10533
9979
|
{
|
|
10534
9980
|
className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
|
|
10535
9981
|
"data-agent-diff-header": "true",
|
|
10536
|
-
children: /* @__PURE__ */
|
|
9982
|
+
children: /* @__PURE__ */ jsx27(
|
|
10537
9983
|
AgentPathTailLabel,
|
|
10538
9984
|
{
|
|
10539
9985
|
path,
|
|
@@ -10543,7 +9989,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10543
9989
|
)
|
|
10544
9990
|
}
|
|
10545
9991
|
) : null,
|
|
10546
|
-
/* @__PURE__ */
|
|
9992
|
+
/* @__PURE__ */ jsx27(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport px-4 py-3 text-[11px] leading-5", children: visibleLines.map(({ key, line }) => /* @__PURE__ */ jsx27("div", { className: lineClassName(line), children: line || " " }, key)) }),
|
|
10547
9993
|
disclosureButton
|
|
10548
9994
|
] })
|
|
10549
9995
|
}
|
|
@@ -10605,7 +10051,7 @@ import {
|
|
|
10605
10051
|
import { ChevronDown as ChevronDown5, ChevronRight as ChevronRight5 } from "lucide-react";
|
|
10606
10052
|
|
|
10607
10053
|
// shared/agentConversation/components/tool-renderers/AgentReadContent.tsx
|
|
10608
|
-
import { jsx as
|
|
10054
|
+
import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
10609
10055
|
function AgentReadContent({
|
|
10610
10056
|
call
|
|
10611
10057
|
}) {
|
|
@@ -10615,7 +10061,7 @@ function AgentReadContent({
|
|
|
10615
10061
|
const outputText = stringValue9(call.output?.text) ?? stringValue9(call.output?.output) ?? contentText2(call.output?.content) ?? stringValue9(call.output?.aggregated_output) ?? stringValue9(call.output?.formatted_output) ?? stringValue9(call.output?.stdout) ?? (!file ? call.summary.trim() || null : null);
|
|
10616
10062
|
const fileLineRange = fileRange(file);
|
|
10617
10063
|
const fileTotalLines = numericValue(file?.totalLines);
|
|
10618
|
-
return /* @__PURE__ */
|
|
10064
|
+
return /* @__PURE__ */ jsx28("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: outputText ? /* @__PURE__ */ jsx28(
|
|
10619
10065
|
AgentCodeBlock,
|
|
10620
10066
|
{
|
|
10621
10067
|
path,
|
|
@@ -10623,7 +10069,7 @@ function AgentReadContent({
|
|
|
10623
10069
|
language: languageForPath3(path)
|
|
10624
10070
|
}
|
|
10625
10071
|
) : path || fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsxs20("div", { className: "rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] px-3 py-2", children: [
|
|
10626
|
-
path ? /* @__PURE__ */
|
|
10072
|
+
path ? /* @__PURE__ */ jsx28(
|
|
10627
10073
|
AgentPathTailLabel,
|
|
10628
10074
|
{
|
|
10629
10075
|
path,
|
|
@@ -10631,7 +10077,7 @@ function AgentReadContent({
|
|
|
10631
10077
|
className: "font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-secondary)]"
|
|
10632
10078
|
}
|
|
10633
10079
|
) : null,
|
|
10634
|
-
fileLineRange || fileTotalLines !== null ? /* @__PURE__ */
|
|
10080
|
+
fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsx28("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: [
|
|
10635
10081
|
fileLineRange,
|
|
10636
10082
|
fileTotalLines !== null ? `${fileTotalLines} lines` : null
|
|
10637
10083
|
].filter((value) => Boolean(value)).join(" \xB7 ") }) : null
|
|
@@ -10695,14 +10141,14 @@ function languageForPath3(path) {
|
|
|
10695
10141
|
}
|
|
10696
10142
|
|
|
10697
10143
|
// shared/agentConversation/components/tool-renderers/agentToolContentShared.tsx
|
|
10698
|
-
import { jsx as
|
|
10144
|
+
import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
10699
10145
|
var AgentToolPreviewModeContext = createContext(false);
|
|
10700
10146
|
function AgentToolPreviewModeProvider({
|
|
10701
10147
|
children,
|
|
10702
10148
|
previewMode
|
|
10703
10149
|
}) {
|
|
10704
10150
|
"use memo";
|
|
10705
|
-
return /* @__PURE__ */
|
|
10151
|
+
return /* @__PURE__ */ jsx29(AgentToolPreviewModeContext.Provider, { value: previewMode, children });
|
|
10706
10152
|
}
|
|
10707
10153
|
function ToolSection({
|
|
10708
10154
|
title,
|
|
@@ -10713,7 +10159,7 @@ function ToolSection({
|
|
|
10713
10159
|
return null;
|
|
10714
10160
|
}
|
|
10715
10161
|
return /* @__PURE__ */ jsxs21("section", { className: "workspace-agents-status-panel__detail-tool-section-block", children: [
|
|
10716
|
-
/* @__PURE__ */
|
|
10162
|
+
/* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-section-title", children: title }),
|
|
10717
10163
|
children
|
|
10718
10164
|
] });
|
|
10719
10165
|
}
|
|
@@ -10730,7 +10176,7 @@ function ToolMarkdownBlock({
|
|
|
10730
10176
|
if (!normalized) {
|
|
10731
10177
|
return null;
|
|
10732
10178
|
}
|
|
10733
|
-
return /* @__PURE__ */
|
|
10179
|
+
return /* @__PURE__ */ jsx29(
|
|
10734
10180
|
AgentMessageMarkdown,
|
|
10735
10181
|
{
|
|
10736
10182
|
content: normalized,
|
|
@@ -10794,7 +10240,7 @@ function AgentDefaultToolContent({
|
|
|
10794
10240
|
return null;
|
|
10795
10241
|
}
|
|
10796
10242
|
return /* @__PURE__ */ jsxs21("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
10797
|
-
sections.map((section) => /* @__PURE__ */
|
|
10243
|
+
sections.map((section) => /* @__PURE__ */ jsx29(ToolSection, { title: section.title, children: /* @__PURE__ */ jsx29(
|
|
10798
10244
|
ToolMarkdownBlock,
|
|
10799
10245
|
{
|
|
10800
10246
|
content: section.content,
|
|
@@ -10802,7 +10248,7 @@ function AgentDefaultToolContent({
|
|
|
10802
10248
|
collapsible: section.collapsible
|
|
10803
10249
|
}
|
|
10804
10250
|
) }, section.key)),
|
|
10805
|
-
/* @__PURE__ */
|
|
10251
|
+
/* @__PURE__ */ jsx29(RawPayloadSection, { payload: rawPayload })
|
|
10806
10252
|
] });
|
|
10807
10253
|
}
|
|
10808
10254
|
function hasAgentToolContent(call) {
|
|
@@ -10938,8 +10384,8 @@ function RawPayloadSection({
|
|
|
10938
10384
|
"aria-expanded": expanded,
|
|
10939
10385
|
onClick: () => setExpanded((value) => !value),
|
|
10940
10386
|
children: [
|
|
10941
|
-
/* @__PURE__ */
|
|
10942
|
-
expanded ? /* @__PURE__ */
|
|
10387
|
+
/* @__PURE__ */ jsx29("span", { children: translate("agentHost.agentTool.details.rawPayload") }),
|
|
10388
|
+
expanded ? /* @__PURE__ */ jsx29(
|
|
10943
10389
|
ChevronDown5,
|
|
10944
10390
|
{
|
|
10945
10391
|
size: 12,
|
|
@@ -10947,7 +10393,7 @@ function RawPayloadSection({
|
|
|
10947
10393
|
"aria-hidden": "true",
|
|
10948
10394
|
className: "shrink-0 opacity-0 transition-opacity duration-150 group-hover/raw-payload:opacity-100 group-focus-visible/raw-payload:opacity-100"
|
|
10949
10395
|
}
|
|
10950
|
-
) : /* @__PURE__ */
|
|
10396
|
+
) : /* @__PURE__ */ jsx29(
|
|
10951
10397
|
ChevronRight5,
|
|
10952
10398
|
{
|
|
10953
10399
|
size: 12,
|
|
@@ -10959,7 +10405,7 @@ function RawPayloadSection({
|
|
|
10959
10405
|
]
|
|
10960
10406
|
}
|
|
10961
10407
|
),
|
|
10962
|
-
/* @__PURE__ */
|
|
10408
|
+
/* @__PURE__ */ jsx29(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx29("pre", { className: "workspace-agents-status-panel__detail-scroll-region mt-2 max-h-[320px] overflow-auto rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-2 text-[11px] leading-[1.45] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsx29("code", { children: rawJson }) }) })
|
|
10963
10409
|
] });
|
|
10964
10410
|
}
|
|
10965
10411
|
function rawPayloadFromCall(call) {
|
|
@@ -11007,7 +10453,7 @@ function normalizeToolSectionContent(value) {
|
|
|
11007
10453
|
}
|
|
11008
10454
|
|
|
11009
10455
|
// shared/agentConversation/components/tool-renderers/AgentEditContent.tsx
|
|
11010
|
-
import { jsx as
|
|
10456
|
+
import { jsx as jsx30, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
11011
10457
|
function AgentEditContent({
|
|
11012
10458
|
call,
|
|
11013
10459
|
onLinkClick
|
|
@@ -11028,8 +10474,8 @@ function AgentEditContent({
|
|
|
11028
10474
|
return null;
|
|
11029
10475
|
}
|
|
11030
10476
|
return /* @__PURE__ */ jsxs22("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
|
|
11031
|
-
path && files.length === 0 ? /* @__PURE__ */
|
|
11032
|
-
patchFiles.map((candidate) => /* @__PURE__ */
|
|
10477
|
+
path && files.length === 0 ? /* @__PURE__ */ jsx30(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
|
|
10478
|
+
patchFiles.map((candidate) => /* @__PURE__ */ jsx30(
|
|
11033
10479
|
AgentUnifiedPatchViewer,
|
|
11034
10480
|
{
|
|
11035
10481
|
path: candidate.path,
|
|
@@ -11039,7 +10485,7 @@ function AgentEditContent({
|
|
|
11039
10485
|
},
|
|
11040
10486
|
`patch:${candidate.path}`
|
|
11041
10487
|
)),
|
|
11042
|
-
diffFiles.map((candidate) => /* @__PURE__ */
|
|
10488
|
+
diffFiles.map((candidate) => /* @__PURE__ */ jsx30(
|
|
11043
10489
|
AgentMonacoDiffViewer,
|
|
11044
10490
|
{
|
|
11045
10491
|
path: candidate.path,
|
|
@@ -11049,7 +10495,7 @@ function AgentEditContent({
|
|
|
11049
10495
|
},
|
|
11050
10496
|
`diff:${candidate.path}`
|
|
11051
10497
|
)),
|
|
11052
|
-
contentFiles.map((candidate) => /* @__PURE__ */
|
|
10498
|
+
contentFiles.map((candidate) => /* @__PURE__ */ jsx30(
|
|
11053
10499
|
AgentCodeBlock,
|
|
11054
10500
|
{
|
|
11055
10501
|
path: candidate.path,
|
|
@@ -11064,7 +10510,7 @@ function AgentEditContent({
|
|
|
11064
10510
|
}
|
|
11065
10511
|
|
|
11066
10512
|
// shared/agentConversation/components/tool-renderers/AgentWebFetchContent.tsx
|
|
11067
|
-
import { jsx as
|
|
10513
|
+
import { jsx as jsx31, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
11068
10514
|
function AgentWebFetchContent({
|
|
11069
10515
|
call,
|
|
11070
10516
|
onLinkClick
|
|
@@ -11090,14 +10536,14 @@ ${web.url}` : web.url;
|
|
|
11090
10536
|
return null;
|
|
11091
10537
|
}
|
|
11092
10538
|
return /* @__PURE__ */ jsxs23("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11093
|
-
web.url ? /* @__PURE__ */
|
|
10539
|
+
web.url ? /* @__PURE__ */ jsx31(ToolSection, { title: translate("agentHost.agentTool.details.url"), children: /* @__PURE__ */ jsx31(
|
|
11094
10540
|
ToolMarkdownBlock,
|
|
11095
10541
|
{
|
|
11096
10542
|
content: urlText ?? "",
|
|
11097
10543
|
onLinkClick
|
|
11098
10544
|
}
|
|
11099
10545
|
) }) : null,
|
|
11100
|
-
visibleContent ? /* @__PURE__ */
|
|
10546
|
+
visibleContent ? /* @__PURE__ */ jsx31(ToolSection, { title: translate("agentHost.agentTool.details.content"), children: /* @__PURE__ */ jsx31(
|
|
11101
10547
|
ToolMarkdownBlock,
|
|
11102
10548
|
{
|
|
11103
10549
|
content: visibleContent,
|
|
@@ -11105,8 +10551,8 @@ ${web.url}` : web.url;
|
|
|
11105
10551
|
collapsible: true
|
|
11106
10552
|
}
|
|
11107
10553
|
) }) : null,
|
|
11108
|
-
web.isTruncated ? /* @__PURE__ */
|
|
11109
|
-
errorText ? /* @__PURE__ */
|
|
10554
|
+
web.isTruncated ? /* @__PURE__ */ jsx31("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.contentTruncated") }) : null,
|
|
10555
|
+
errorText ? /* @__PURE__ */ jsx31(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx31(
|
|
11110
10556
|
ToolMarkdownBlock,
|
|
11111
10557
|
{
|
|
11112
10558
|
content: errorText,
|
|
@@ -11118,7 +10564,7 @@ ${web.url}` : web.url;
|
|
|
11118
10564
|
}
|
|
11119
10565
|
|
|
11120
10566
|
// shared/agentConversation/components/tool-renderers/AgentWebSearchContent.tsx
|
|
11121
|
-
import { jsx as
|
|
10567
|
+
import { jsx as jsx32, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
11122
10568
|
var MAX_SUMMARY_LENGTH = 3e3;
|
|
11123
10569
|
function AgentWebSearchContent({
|
|
11124
10570
|
call,
|
|
@@ -11143,8 +10589,8 @@ function AgentWebSearchContent({
|
|
|
11143
10589
|
return null;
|
|
11144
10590
|
}
|
|
11145
10591
|
return /* @__PURE__ */ jsxs24("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11146
|
-
queryText ? /* @__PURE__ */
|
|
11147
|
-
links.length > 0 ? /* @__PURE__ */
|
|
10592
|
+
queryText ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx32(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
|
|
10593
|
+
links.length > 0 ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx32("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: links.map((link, index) => /* @__PURE__ */ jsxs24(
|
|
11148
10594
|
"a",
|
|
11149
10595
|
{
|
|
11150
10596
|
href: link.url,
|
|
@@ -11152,13 +10598,13 @@ function AgentWebSearchContent({
|
|
|
11152
10598
|
rel: "noreferrer",
|
|
11153
10599
|
className: `flex items-center gap-3 px-3 py-2 text-[11px] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
11154
10600
|
children: [
|
|
11155
|
-
/* @__PURE__ */
|
|
11156
|
-
/* @__PURE__ */
|
|
10601
|
+
/* @__PURE__ */ jsx32("span", { className: "w-[120px] shrink-0 truncate text-[11px] text-[var(--text-tertiary)]", children: link.domain }),
|
|
10602
|
+
/* @__PURE__ */ jsx32("span", { className: "truncate text-[var(--text-primary)]", children: link.title })
|
|
11157
10603
|
]
|
|
11158
10604
|
},
|
|
11159
10605
|
`${link.url}:${link.title}`
|
|
11160
10606
|
)) }) }) : null,
|
|
11161
|
-
visibleSummary ? /* @__PURE__ */
|
|
10607
|
+
visibleSummary ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx32(
|
|
11162
10608
|
ToolMarkdownBlock,
|
|
11163
10609
|
{
|
|
11164
10610
|
content: visibleSummary,
|
|
@@ -11166,8 +10612,8 @@ function AgentWebSearchContent({
|
|
|
11166
10612
|
collapsible: true
|
|
11167
10613
|
}
|
|
11168
10614
|
) }) : null,
|
|
11169
|
-
summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */
|
|
11170
|
-
web.error ? /* @__PURE__ */
|
|
10615
|
+
summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */ jsx32("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.summaryTruncated") }) : null,
|
|
10616
|
+
web.error ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx32(
|
|
11171
10617
|
ToolMarkdownBlock,
|
|
11172
10618
|
{
|
|
11173
10619
|
content: web.error,
|
|
@@ -11260,7 +10706,7 @@ function domainForUrl2(url) {
|
|
|
11260
10706
|
}
|
|
11261
10707
|
|
|
11262
10708
|
// shared/agentConversation/components/tool-renderers/AgentApprovalContent.tsx
|
|
11263
|
-
import { jsx as
|
|
10709
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
11264
10710
|
function AgentApprovalContent({
|
|
11265
10711
|
call,
|
|
11266
10712
|
onLinkClick
|
|
@@ -11273,14 +10719,14 @@ function AgentApprovalContent({
|
|
|
11273
10719
|
if (previewCall) {
|
|
11274
10720
|
switch (previewCall.rendererKind) {
|
|
11275
10721
|
case "web-fetch":
|
|
11276
|
-
return /* @__PURE__ */
|
|
10722
|
+
return /* @__PURE__ */ jsx33(AgentWebFetchContent, { call: previewCall, onLinkClick });
|
|
11277
10723
|
case "web-search":
|
|
11278
|
-
return /* @__PURE__ */
|
|
10724
|
+
return /* @__PURE__ */ jsx33(AgentWebSearchContent, { call: previewCall, onLinkClick });
|
|
11279
10725
|
default:
|
|
11280
|
-
return /* @__PURE__ */
|
|
10726
|
+
return /* @__PURE__ */ jsx33(AgentEditContent, { call: previewCall, onLinkClick });
|
|
11281
10727
|
}
|
|
11282
10728
|
}
|
|
11283
|
-
return /* @__PURE__ */
|
|
10729
|
+
return /* @__PURE__ */ jsx33("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx33(ToolMarkdownBlock, { content: call.summary }) });
|
|
11284
10730
|
}
|
|
11285
10731
|
function approvalPreviewKindFor(normalizedKind) {
|
|
11286
10732
|
switch (normalizedKind) {
|
|
@@ -11351,7 +10797,7 @@ function normalizeToolKind(value) {
|
|
|
11351
10797
|
}
|
|
11352
10798
|
|
|
11353
10799
|
// shared/agentConversation/components/tool-renderers/AgentAskUserQuestionContent.tsx
|
|
11354
|
-
import { jsx as
|
|
10800
|
+
import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
11355
10801
|
function AgentAskUserQuestionContent({
|
|
11356
10802
|
call,
|
|
11357
10803
|
onLinkClick
|
|
@@ -11363,7 +10809,7 @@ function AgentAskUserQuestionContent({
|
|
|
11363
10809
|
return null;
|
|
11364
10810
|
}
|
|
11365
10811
|
return /* @__PURE__ */ jsxs25("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11366
|
-
/* @__PURE__ */
|
|
10812
|
+
/* @__PURE__ */ jsx34(ToolSection, { title: translate("agentHost.agentTool.details.questions"), children: /* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: questions.map((question) => {
|
|
11367
10813
|
const body = question.question || question.header || translate("agentHost.agentTool.details.questionFallback");
|
|
11368
10814
|
const answer = formatAnswer(question.answer);
|
|
11369
10815
|
const questionKey = question.id.trim() || `${question.header}:${question.question}:${question.options.map((option) => option.label).join("|")}`;
|
|
@@ -11372,22 +10818,22 @@ function AgentAskUserQuestionContent({
|
|
|
11372
10818
|
{
|
|
11373
10819
|
className: "workspace-agents-status-panel__detail-tool-stack-item",
|
|
11374
10820
|
children: [
|
|
11375
|
-
/* @__PURE__ */
|
|
11376
|
-
question.options.length > 0 ? /* @__PURE__ */
|
|
10821
|
+
/* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-question", children: body }),
|
|
10822
|
+
question.options.length > 0 ? /* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: question.options.map((option) => /* @__PURE__ */ jsxs25(
|
|
11377
10823
|
"div",
|
|
11378
10824
|
{
|
|
11379
10825
|
className: "workspace-agents-status-panel__detail-tool-stack-item",
|
|
11380
10826
|
children: [
|
|
11381
|
-
/* @__PURE__ */
|
|
11382
|
-
option.description ? /* @__PURE__ */
|
|
10827
|
+
/* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: option.label }),
|
|
10828
|
+
option.description ? /* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: option.description }) : null
|
|
11383
10829
|
]
|
|
11384
10830
|
},
|
|
11385
10831
|
`${questionKey}-option-${option.label}:${option.description}`
|
|
11386
10832
|
)) }) : null,
|
|
11387
|
-
answer ? /* @__PURE__ */
|
|
10833
|
+
answer ? /* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: translate("agentHost.agentTool.details.answerPrefix", {
|
|
11388
10834
|
answer
|
|
11389
10835
|
}) }) : /* @__PURE__ */ jsxs25("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted inline-flex items-center gap-1.5", children: [
|
|
11390
|
-
/* @__PURE__ */
|
|
10836
|
+
/* @__PURE__ */ jsx34(
|
|
11391
10837
|
MessageSquareMoreIcon,
|
|
11392
10838
|
{
|
|
11393
10839
|
size: 14,
|
|
@@ -11403,7 +10849,7 @@ function AgentAskUserQuestionContent({
|
|
|
11403
10849
|
questionKey
|
|
11404
10850
|
);
|
|
11405
10851
|
}) }) }),
|
|
11406
|
-
outputText ? /* @__PURE__ */
|
|
10852
|
+
outputText ? /* @__PURE__ */ jsx34(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx34(
|
|
11407
10853
|
ToolMarkdownBlock,
|
|
11408
10854
|
{
|
|
11409
10855
|
content: outputText,
|
|
@@ -11425,7 +10871,7 @@ function stringValue10(value) {
|
|
|
11425
10871
|
|
|
11426
10872
|
// shared/agentConversation/components/tool-renderers/terminal/AgentTerminalBlock.tsx
|
|
11427
10873
|
import { useMemo as useMemo4, useState as useState11 } from "react";
|
|
11428
|
-
import { jsx as
|
|
10874
|
+
import { jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
11429
10875
|
var MAX_OUTPUT_LINES = 200;
|
|
11430
10876
|
function AgentTerminalBlock({
|
|
11431
10877
|
command,
|
|
@@ -11447,7 +10893,7 @@ function AgentTerminalBlock({
|
|
|
11447
10893
|
const visibleOutput = truncated ? outputLines.slice(0, MAX_OUTPUT_LINES).join("\n") : outputText;
|
|
11448
10894
|
const failed = status === "failed";
|
|
11449
10895
|
const hasOutput = Boolean(visibleOutput);
|
|
11450
|
-
const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */
|
|
10896
|
+
const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */ jsx35(
|
|
11451
10897
|
"button",
|
|
11452
10898
|
{
|
|
11453
10899
|
type: "button",
|
|
@@ -11463,8 +10909,8 @@ function AgentTerminalBlock({
|
|
|
11463
10909
|
className: `flex min-w-0 items-center gap-3 px-3 text-[11px] text-[var(--text-secondary)] ${hasOutput ? "border-b border-[var(--line-2)] bg-[var(--transparency-block)] py-1.5" : "bg-[var(--transparency-block)] py-2"}`,
|
|
11464
10910
|
"data-agent-terminal-command-row": "true",
|
|
11465
10911
|
children: [
|
|
11466
|
-
/* @__PURE__ */
|
|
11467
|
-
/* @__PURE__ */
|
|
10912
|
+
/* @__PURE__ */ jsx35("span", { className: "shrink-0 font-semibold text-[var(--tutti-purple)]", children: "$" }),
|
|
10913
|
+
/* @__PURE__ */ jsx35(
|
|
11468
10914
|
"span",
|
|
11469
10915
|
{
|
|
11470
10916
|
className: "min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]",
|
|
@@ -11481,7 +10927,7 @@ function AgentTerminalBlock({
|
|
|
11481
10927
|
maxHeightClassName: "max-h-[160px]",
|
|
11482
10928
|
viewportClassName: `px-3 py-2 text-[11px] leading-5 ${failed ? "text-[var(--state-danger)]" : "text-[var(--text-primary)]"}`,
|
|
11483
10929
|
children: [
|
|
11484
|
-
/* @__PURE__ */
|
|
10930
|
+
/* @__PURE__ */ jsx35("pre", { className: "m-0 min-w-0 max-w-full whitespace-pre-wrap [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx35("code", { children: visibleOutput }) }),
|
|
11485
10931
|
disclosureButton
|
|
11486
10932
|
]
|
|
11487
10933
|
}
|
|
@@ -11490,14 +10936,14 @@ function AgentTerminalBlock({
|
|
|
11490
10936
|
}
|
|
11491
10937
|
|
|
11492
10938
|
// shared/agentConversation/components/tool-renderers/AgentBashContent.tsx
|
|
11493
|
-
import { jsx as
|
|
10939
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
11494
10940
|
function AgentBashContent({
|
|
11495
10941
|
call
|
|
11496
10942
|
}) {
|
|
11497
10943
|
"use memo";
|
|
11498
10944
|
const commandData = getCommandRenderData(call);
|
|
11499
10945
|
const fallbackErrorText = commandData.status === "failed" && !commandData.stdout && !commandData.stderr ? stringValue9(call.error?.message) : null;
|
|
11500
|
-
return /* @__PURE__ */
|
|
10946
|
+
return /* @__PURE__ */ jsx36("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: /* @__PURE__ */ jsx36(
|
|
11501
10947
|
AgentTerminalBlock,
|
|
11502
10948
|
{
|
|
11503
10949
|
command: commandData.command,
|
|
@@ -11511,9 +10957,9 @@ function AgentBashContent({
|
|
|
11511
10957
|
}
|
|
11512
10958
|
|
|
11513
10959
|
// shared/agentConversation/components/tool-renderers/AgentImageGenerationContent.tsx
|
|
11514
|
-
import { useEffect as
|
|
10960
|
+
import { useEffect as useEffect9, useState as useState12 } from "react";
|
|
11515
10961
|
import { resolveWorkspaceImageMimeType } from "@tutti-os/workspace-file-manager/services";
|
|
11516
|
-
import { jsx as
|
|
10962
|
+
import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
11517
10963
|
function AgentImageGenerationContent({
|
|
11518
10964
|
call,
|
|
11519
10965
|
onLinkClick
|
|
@@ -11524,7 +10970,7 @@ function AgentImageGenerationContent({
|
|
|
11524
10970
|
return null;
|
|
11525
10971
|
}
|
|
11526
10972
|
return /* @__PURE__ */ jsxs27("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11527
|
-
image.prompt ? /* @__PURE__ */
|
|
10973
|
+
image.prompt ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx37(
|
|
11528
10974
|
ToolMarkdownBlock,
|
|
11529
10975
|
{
|
|
11530
10976
|
content: image.prompt,
|
|
@@ -11532,7 +10978,7 @@ function AgentImageGenerationContent({
|
|
|
11532
10978
|
collapsible: true
|
|
11533
10979
|
}
|
|
11534
10980
|
) }) : null,
|
|
11535
|
-
image.imageUri ? /* @__PURE__ */
|
|
10981
|
+
image.imageUri ? /* @__PURE__ */ jsx37(
|
|
11536
10982
|
ImageGenerationPreview,
|
|
11537
10983
|
{
|
|
11538
10984
|
uri: image.imageUri,
|
|
@@ -11552,7 +10998,7 @@ function ImageGenerationPreview({
|
|
|
11552
10998
|
const [src, setSrc] = useState12(
|
|
11553
10999
|
() => !localPath ? resolveImageGenerationPreviewSrc(uri) : null
|
|
11554
11000
|
);
|
|
11555
|
-
|
|
11001
|
+
useEffect9(() => {
|
|
11556
11002
|
if (!localPath || !readWorkspaceImage) {
|
|
11557
11003
|
setSrc(resolveImageGenerationPreviewSrc(uri));
|
|
11558
11004
|
return;
|
|
@@ -11597,7 +11043,7 @@ function ImageGenerationPreview({
|
|
|
11597
11043
|
if (!src) {
|
|
11598
11044
|
return null;
|
|
11599
11045
|
}
|
|
11600
|
-
return /* @__PURE__ */
|
|
11046
|
+
return /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx37(
|
|
11601
11047
|
ZoomableImage,
|
|
11602
11048
|
{
|
|
11603
11049
|
alt: translate("agentHost.agentTool.details.imagePreviewAlt"),
|
|
@@ -11750,47 +11196,47 @@ function firstString5(...values) {
|
|
|
11750
11196
|
}
|
|
11751
11197
|
|
|
11752
11198
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentAtlassianRenderers.tsx
|
|
11753
|
-
import { jsx as
|
|
11199
|
+
import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
11754
11200
|
function renderAtlassianMcp(payload) {
|
|
11755
11201
|
const items = parsedItems(payload.structured);
|
|
11756
11202
|
if (items.length > 0) {
|
|
11757
|
-
return /* @__PURE__ */
|
|
11203
|
+
return /* @__PURE__ */ jsx38("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: items.map((item, index) => /* @__PURE__ */ jsxs28(
|
|
11758
11204
|
"div",
|
|
11759
11205
|
{
|
|
11760
11206
|
className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
11761
11207
|
children: [
|
|
11762
|
-
/* @__PURE__ */
|
|
11208
|
+
/* @__PURE__ */ jsx38("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? translate("agentHost.agentTool.details.mcpItem", {
|
|
11763
11209
|
index: index + 1
|
|
11764
11210
|
}) }),
|
|
11765
|
-
itemSecondaryText(item) ? /* @__PURE__ */
|
|
11211
|
+
itemSecondaryText(item) ? /* @__PURE__ */ jsx38("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
|
|
11766
11212
|
]
|
|
11767
11213
|
},
|
|
11768
11214
|
`${itemPrimaryText(item) ?? "item"}::${itemSecondaryText(item) ?? ""}`
|
|
11769
11215
|
)) });
|
|
11770
11216
|
}
|
|
11771
|
-
return payload.text ? /* @__PURE__ */
|
|
11217
|
+
return payload.text ? /* @__PURE__ */ jsx38(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
|
|
11772
11218
|
}
|
|
11773
11219
|
|
|
11774
11220
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentContext7Renderers.tsx
|
|
11775
|
-
import { jsx as
|
|
11221
|
+
import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
11776
11222
|
function renderContext7Mcp(payload) {
|
|
11777
11223
|
const items = parsedItems(payload.structured);
|
|
11778
11224
|
if (items.length > 0) {
|
|
11779
|
-
return /* @__PURE__ */
|
|
11225
|
+
return /* @__PURE__ */ jsx39("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: items.map((item, index) => /* @__PURE__ */ jsxs29(
|
|
11780
11226
|
"div",
|
|
11781
11227
|
{
|
|
11782
11228
|
className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
11783
11229
|
children: [
|
|
11784
|
-
/* @__PURE__ */
|
|
11230
|
+
/* @__PURE__ */ jsx39("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? translate("agentHost.agentTool.details.mcpDoc", {
|
|
11785
11231
|
index: index + 1
|
|
11786
11232
|
}) }),
|
|
11787
|
-
itemSecondaryText(item) ? /* @__PURE__ */
|
|
11233
|
+
itemSecondaryText(item) ? /* @__PURE__ */ jsx39("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
|
|
11788
11234
|
]
|
|
11789
11235
|
},
|
|
11790
11236
|
`${itemPrimaryText(item) ?? "doc"}::${itemSecondaryText(item) ?? ""}`
|
|
11791
11237
|
)) });
|
|
11792
11238
|
}
|
|
11793
|
-
return payload.text ? /* @__PURE__ */
|
|
11239
|
+
return payload.text ? /* @__PURE__ */ jsx39(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
|
|
11794
11240
|
}
|
|
11795
11241
|
|
|
11796
11242
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentMcpRendererRegistry.tsx
|
|
@@ -11806,7 +11252,7 @@ function renderRegisteredMcp(payload) {
|
|
|
11806
11252
|
}
|
|
11807
11253
|
|
|
11808
11254
|
// shared/agentConversation/components/tool-renderers/AgentMcpToolContent.tsx
|
|
11809
|
-
import { jsx as
|
|
11255
|
+
import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
11810
11256
|
function AgentMcpToolContent({
|
|
11811
11257
|
call,
|
|
11812
11258
|
onLinkClick
|
|
@@ -11819,7 +11265,7 @@ function AgentMcpToolContent({
|
|
|
11819
11265
|
payload.inputSummary
|
|
11820
11266
|
);
|
|
11821
11267
|
return /* @__PURE__ */ jsxs30("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11822
|
-
payload.server || payload.tool ? /* @__PURE__ */
|
|
11268
|
+
payload.server || payload.tool ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.mcp"), children: /* @__PURE__ */ jsx40(
|
|
11823
11269
|
ToolMarkdownBlock,
|
|
11824
11270
|
{
|
|
11825
11271
|
content: [
|
|
@@ -11829,14 +11275,14 @@ function AgentMcpToolContent({
|
|
|
11829
11275
|
onLinkClick
|
|
11830
11276
|
}
|
|
11831
11277
|
) }) : null,
|
|
11832
|
-
payload.inputSummary ? /* @__PURE__ */
|
|
11278
|
+
payload.inputSummary ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx40(
|
|
11833
11279
|
ToolMarkdownBlock,
|
|
11834
11280
|
{
|
|
11835
11281
|
content: payload.inputSummary,
|
|
11836
11282
|
onLinkClick
|
|
11837
11283
|
}
|
|
11838
11284
|
) }) : null,
|
|
11839
|
-
specialized ? /* @__PURE__ */
|
|
11285
|
+
specialized ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: specialized }) : visibleText ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx40(
|
|
11840
11286
|
ToolMarkdownBlock,
|
|
11841
11287
|
{
|
|
11842
11288
|
content: visibleText,
|
|
@@ -11844,12 +11290,12 @@ function AgentMcpToolContent({
|
|
|
11844
11290
|
collapsible: true
|
|
11845
11291
|
}
|
|
11846
11292
|
) }) : null,
|
|
11847
|
-
/* @__PURE__ */
|
|
11293
|
+
/* @__PURE__ */ jsx40(RawPayloadSection, { payload: call.payload ?? payload.structured })
|
|
11848
11294
|
] });
|
|
11849
11295
|
}
|
|
11850
11296
|
|
|
11851
11297
|
// shared/agentConversation/components/tool-renderers/AgentPlanModeContent.tsx
|
|
11852
|
-
import { jsx as
|
|
11298
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
11853
11299
|
function AgentPlanModeContent({
|
|
11854
11300
|
call,
|
|
11855
11301
|
onLinkClick
|
|
@@ -11860,7 +11306,7 @@ function AgentPlanModeContent({
|
|
|
11860
11306
|
if (!planMode.enterText) {
|
|
11861
11307
|
return null;
|
|
11862
11308
|
}
|
|
11863
|
-
return /* @__PURE__ */
|
|
11309
|
+
return /* @__PURE__ */ jsx41("div", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-2 text-[11px] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsx41(
|
|
11864
11310
|
ToolMarkdownBlock,
|
|
11865
11311
|
{
|
|
11866
11312
|
content: planMode.enterText,
|
|
@@ -11871,18 +11317,18 @@ function AgentPlanModeContent({
|
|
|
11871
11317
|
if (!planMode.plan) {
|
|
11872
11318
|
return null;
|
|
11873
11319
|
}
|
|
11874
|
-
return /* @__PURE__ */
|
|
11320
|
+
return /* @__PURE__ */ jsx41(
|
|
11875
11321
|
AgentPlanCard,
|
|
11876
11322
|
{
|
|
11877
11323
|
title: planMode.fileName ?? void 0,
|
|
11878
11324
|
copyText: planMode.plan,
|
|
11879
|
-
children: /* @__PURE__ */
|
|
11325
|
+
children: /* @__PURE__ */ jsx41(ToolMarkdownBlock, { content: planMode.plan, onLinkClick })
|
|
11880
11326
|
}
|
|
11881
11327
|
);
|
|
11882
11328
|
}
|
|
11883
11329
|
|
|
11884
11330
|
// shared/agentConversation/components/tool-renderers/AgentSearchContent.tsx
|
|
11885
|
-
import { jsx as
|
|
11331
|
+
import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
11886
11332
|
function AgentSearchContent({
|
|
11887
11333
|
call,
|
|
11888
11334
|
onLinkClick
|
|
@@ -11899,8 +11345,8 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
11899
11345
|
"line"
|
|
11900
11346
|
);
|
|
11901
11347
|
return /* @__PURE__ */ jsxs31("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11902
|
-
queryText ? /* @__PURE__ */
|
|
11903
|
-
(search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */
|
|
11348
|
+
queryText ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx42(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
|
|
11349
|
+
(search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx42("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: resultFiles.map(({ key, value: file, isFirst }) => /* @__PURE__ */ jsx42(
|
|
11904
11350
|
"div",
|
|
11905
11351
|
{
|
|
11906
11352
|
className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${isFirst ? "" : "border-t border-[var(--line-2)]"}`,
|
|
@@ -11908,7 +11354,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
11908
11354
|
},
|
|
11909
11355
|
key
|
|
11910
11356
|
)) }) }) : null,
|
|
11911
|
-
search.mode === "content" && visibleOutput ? /* @__PURE__ */
|
|
11357
|
+
search.mode === "content" && visibleOutput ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx42("pre", { className: "max-h-[320px] overflow-auto rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-2 text-[11px] leading-5 text-[var(--text-primary)]", children: outputLines.map(({ key, value: line }) => /* @__PURE__ */ jsx42(
|
|
11912
11358
|
"div",
|
|
11913
11359
|
{
|
|
11914
11360
|
className: line.includes(":") ? "text-[var(--text-primary)]" : "text-[var(--text-tertiary)]",
|
|
@@ -11916,9 +11362,9 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
11916
11362
|
},
|
|
11917
11363
|
key
|
|
11918
11364
|
)) }) }) : null,
|
|
11919
|
-
search.mode === "count" ? /* @__PURE__ */
|
|
11920
|
-
(search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */
|
|
11921
|
-
search.mode === "unknown" && visibleOutput ? /* @__PURE__ */
|
|
11365
|
+
search.mode === "count" ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx42("div", { className: "inline-flex rounded-full border border-[var(--line-2)] bg-[var(--transparency-block)] px-2.5 py-1 text-[11px] text-[var(--text-tertiary)]", children: search.output || "0" }) }) : null,
|
|
11366
|
+
(search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx42("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatches") }) }) : null,
|
|
11367
|
+
search.mode === "unknown" && visibleOutput ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx42(
|
|
11922
11368
|
ToolMarkdownBlock,
|
|
11923
11369
|
{
|
|
11924
11370
|
content: visibleOutput,
|
|
@@ -11926,7 +11372,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
11926
11372
|
collapsible: true
|
|
11927
11373
|
}
|
|
11928
11374
|
) }) : null,
|
|
11929
|
-
search.error ? /* @__PURE__ */
|
|
11375
|
+
search.error ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx42(
|
|
11930
11376
|
ToolMarkdownBlock,
|
|
11931
11377
|
{
|
|
11932
11378
|
content: search.error,
|
|
@@ -11954,7 +11400,7 @@ function withStableOccurrenceKeys(values, prefix) {
|
|
|
11954
11400
|
}
|
|
11955
11401
|
|
|
11956
11402
|
// shared/agentConversation/components/tool-renderers/AgentSkillContent.tsx
|
|
11957
|
-
import { jsx as
|
|
11403
|
+
import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
11958
11404
|
function AgentSkillContent({
|
|
11959
11405
|
call,
|
|
11960
11406
|
onLinkClick
|
|
@@ -11965,7 +11411,7 @@ function AgentSkillContent({
|
|
|
11965
11411
|
return null;
|
|
11966
11412
|
}
|
|
11967
11413
|
return /* @__PURE__ */ jsxs32("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11968
|
-
skill.skill ? /* @__PURE__ */
|
|
11414
|
+
skill.skill ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.skill"), children: /* @__PURE__ */ jsx43(
|
|
11969
11415
|
ToolMarkdownBlock,
|
|
11970
11416
|
{
|
|
11971
11417
|
content: skill.args ? `${skill.skill}
|
|
@@ -11974,19 +11420,19 @@ ${skill.args}` : skill.skill,
|
|
|
11974
11420
|
onLinkClick
|
|
11975
11421
|
}
|
|
11976
11422
|
) }) : null,
|
|
11977
|
-
skill.statusText ? /* @__PURE__ */
|
|
11423
|
+
skill.statusText ? /* @__PURE__ */ jsx43("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: skill.statusText }) : null
|
|
11978
11424
|
] });
|
|
11979
11425
|
}
|
|
11980
11426
|
|
|
11981
11427
|
// shared/agentConversation/components/AgentTaskStepList.tsx
|
|
11982
11428
|
import { useState as useState13 } from "react";
|
|
11983
|
-
import { jsx as
|
|
11429
|
+
import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
11984
11430
|
function AgentTaskStepList({
|
|
11985
11431
|
steps,
|
|
11986
11432
|
onLinkClick
|
|
11987
11433
|
}) {
|
|
11988
11434
|
"use memo";
|
|
11989
|
-
return /* @__PURE__ */
|
|
11435
|
+
return /* @__PURE__ */ jsx44("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: steps.map((step) => /* @__PURE__ */ jsx44(AgentTaskStepRow, { step, onLinkClick }, step.id)) });
|
|
11990
11436
|
}
|
|
11991
11437
|
function AgentTaskStepRow({
|
|
11992
11438
|
step,
|
|
@@ -11998,7 +11444,7 @@ function AgentTaskStepRow({
|
|
|
11998
11444
|
const hasDetail = hasAgentToolContent(call);
|
|
11999
11445
|
const ariaLabel = taskStepAriaLabel(call);
|
|
12000
11446
|
return /* @__PURE__ */ jsxs33("div", { className: "workspace-agents-status-panel__detail-tool-row", children: [
|
|
12001
|
-
hasDetail ? /* @__PURE__ */
|
|
11447
|
+
hasDetail ? /* @__PURE__ */ jsx44(
|
|
12002
11448
|
"button",
|
|
12003
11449
|
{
|
|
12004
11450
|
type: "button",
|
|
@@ -12006,11 +11452,11 @@ function AgentTaskStepRow({
|
|
|
12006
11452
|
"aria-expanded": expanded,
|
|
12007
11453
|
"aria-label": ariaLabel,
|
|
12008
11454
|
onClick: () => setExpanded((value) => !value),
|
|
12009
|
-
children: /* @__PURE__ */
|
|
11455
|
+
children: /* @__PURE__ */ jsx44(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12010
11456
|
}
|
|
12011
|
-
) : /* @__PURE__ */
|
|
12012
|
-
!hasDetail && step.summary ? /* @__PURE__ */
|
|
12013
|
-
hasDetail && expanded ? /* @__PURE__ */
|
|
11457
|
+
) : /* @__PURE__ */ jsx44("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx44(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
11458
|
+
!hasDetail && step.summary ? /* @__PURE__ */ jsx44("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: step.summary }) : null,
|
|
11459
|
+
hasDetail && expanded ? /* @__PURE__ */ jsx44(AgentExpandedToolContent, { call, onLinkClick }) : null
|
|
12014
11460
|
] });
|
|
12015
11461
|
}
|
|
12016
11462
|
function taskStepAriaLabel(call) {
|
|
@@ -12041,7 +11487,7 @@ function projectTaskStepCall(step) {
|
|
|
12041
11487
|
}
|
|
12042
11488
|
|
|
12043
11489
|
// shared/agentConversation/components/tool-renderers/AgentTaskContent.tsx
|
|
12044
|
-
import { jsx as
|
|
11490
|
+
import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
12045
11491
|
function AgentTaskContent({
|
|
12046
11492
|
call,
|
|
12047
11493
|
onLinkClick
|
|
@@ -12051,7 +11497,7 @@ function AgentTaskContent({
|
|
|
12051
11497
|
const failureMarkdown = task.errorMarkdown ?? (isFailedTaskStatus(call.statusKind, task.status, call.status) ? translate("agentHost.agentTool.details.missingFailureDetails") : null);
|
|
12052
11498
|
return /* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12053
11499
|
/* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: [
|
|
12054
|
-
/* @__PURE__ */
|
|
11500
|
+
/* @__PURE__ */ jsx45("strong", { children: task.title }),
|
|
12055
11501
|
task.status ? /* @__PURE__ */ jsxs34("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
|
|
12056
11502
|
" \xB7 ",
|
|
12057
11503
|
task.status
|
|
@@ -12061,17 +11507,17 @@ function AgentTaskContent({
|
|
|
12061
11507
|
task.durationText
|
|
12062
11508
|
] }) : null
|
|
12063
11509
|
] }),
|
|
12064
|
-
task.status === "running" && task.latestStepSummary ? /* @__PURE__ */
|
|
12065
|
-
task.prompt ? /* @__PURE__ */
|
|
12066
|
-
task.childSessionId ? /* @__PURE__ */
|
|
11510
|
+
task.status === "running" && task.latestStepSummary ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.summary"), children: /* @__PURE__ */ jsx45("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: task.latestStepSummary }) }) : null,
|
|
11511
|
+
task.prompt ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.prompt"), children: /* @__PURE__ */ jsx45(ToolMarkdownBlock, { content: task.prompt, onLinkClick }) }) : null,
|
|
11512
|
+
task.childSessionId ? /* @__PURE__ */ jsx45(
|
|
12067
11513
|
ToolSection,
|
|
12068
11514
|
{
|
|
12069
11515
|
title: translate("agentHost.agentTool.details.delegateSession"),
|
|
12070
|
-
children: /* @__PURE__ */
|
|
11516
|
+
children: /* @__PURE__ */ jsx45("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: task.childSessionId })
|
|
12071
11517
|
}
|
|
12072
11518
|
) : null,
|
|
12073
|
-
task.steps.length > 0 ? /* @__PURE__ */
|
|
12074
|
-
task.resultMarkdown ? /* @__PURE__ */
|
|
11519
|
+
task.steps.length > 0 ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.steps"), children: /* @__PURE__ */ jsx45(AgentTaskStepList, { steps: task.steps, onLinkClick }) }) : null,
|
|
11520
|
+
task.resultMarkdown ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx45(
|
|
12075
11521
|
ToolMarkdownBlock,
|
|
12076
11522
|
{
|
|
12077
11523
|
content: task.resultMarkdown,
|
|
@@ -12079,7 +11525,7 @@ function AgentTaskContent({
|
|
|
12079
11525
|
collapsible: true
|
|
12080
11526
|
}
|
|
12081
11527
|
) }) : null,
|
|
12082
|
-
failureMarkdown ? /* @__PURE__ */
|
|
11528
|
+
failureMarkdown ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx45(
|
|
12083
11529
|
ToolMarkdownBlock,
|
|
12084
11530
|
{
|
|
12085
11531
|
content: failureMarkdown,
|
|
@@ -12098,7 +11544,7 @@ function isFailedTaskStatus(...values) {
|
|
|
12098
11544
|
|
|
12099
11545
|
// shared/agentConversation/components/tool-renderers/AgentTodoWriteContent.tsx
|
|
12100
11546
|
import { CheckCircle2, Circle } from "lucide-react";
|
|
12101
|
-
import { jsx as
|
|
11547
|
+
import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
12102
11548
|
function AgentTodoWriteContent({
|
|
12103
11549
|
call
|
|
12104
11550
|
}) {
|
|
@@ -12107,13 +11553,13 @@ function AgentTodoWriteContent({
|
|
|
12107
11553
|
if (todos.length === 0) {
|
|
12108
11554
|
return null;
|
|
12109
11555
|
}
|
|
12110
|
-
return /* @__PURE__ */
|
|
11556
|
+
return /* @__PURE__ */ jsx46("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.todos"), children: /* @__PURE__ */ jsx46("div", { className: "space-y-1", children: todos.map((todo) => /* @__PURE__ */ jsxs35(
|
|
12111
11557
|
"div",
|
|
12112
11558
|
{
|
|
12113
11559
|
className: "flex items-start gap-2 rounded-[8px] px-1 py-0.5 text-[11px]",
|
|
12114
11560
|
children: [
|
|
12115
|
-
/* @__PURE__ */
|
|
12116
|
-
/* @__PURE__ */
|
|
11561
|
+
/* @__PURE__ */ jsx46("div", { className: "mt-[1px] shrink-0", children: iconForStatus(todo.status) }),
|
|
11562
|
+
/* @__PURE__ */ jsx46("span", { className: contentClassName(todo.status), children: todo.content })
|
|
12117
11563
|
]
|
|
12118
11564
|
},
|
|
12119
11565
|
`${todo.content}:${todo.status ?? "pending"}`
|
|
@@ -12122,7 +11568,7 @@ function AgentTodoWriteContent({
|
|
|
12122
11568
|
function iconForStatus(status) {
|
|
12123
11569
|
switch (status) {
|
|
12124
11570
|
case "completed":
|
|
12125
|
-
return /* @__PURE__ */
|
|
11571
|
+
return /* @__PURE__ */ jsx46(
|
|
12126
11572
|
CheckCircle2,
|
|
12127
11573
|
{
|
|
12128
11574
|
size: 14,
|
|
@@ -12131,7 +11577,7 @@ function iconForStatus(status) {
|
|
|
12131
11577
|
}
|
|
12132
11578
|
);
|
|
12133
11579
|
case "in_progress":
|
|
12134
|
-
return /* @__PURE__ */
|
|
11580
|
+
return /* @__PURE__ */ jsx46(
|
|
12135
11581
|
AtomIcon,
|
|
12136
11582
|
{
|
|
12137
11583
|
size: 14,
|
|
@@ -12141,7 +11587,7 @@ function iconForStatus(status) {
|
|
|
12141
11587
|
}
|
|
12142
11588
|
);
|
|
12143
11589
|
default:
|
|
12144
|
-
return /* @__PURE__ */
|
|
11590
|
+
return /* @__PURE__ */ jsx46(
|
|
12145
11591
|
Circle,
|
|
12146
11592
|
{
|
|
12147
11593
|
size: 14,
|
|
@@ -12163,7 +11609,7 @@ function contentClassName(status) {
|
|
|
12163
11609
|
}
|
|
12164
11610
|
|
|
12165
11611
|
// shared/agentConversation/components/tool-renderers/AgentToolSearchContent.tsx
|
|
12166
|
-
import { jsx as
|
|
11612
|
+
import { jsx as jsx47, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
12167
11613
|
function AgentToolSearchContent({
|
|
12168
11614
|
call
|
|
12169
11615
|
}) {
|
|
@@ -12173,7 +11619,7 @@ function AgentToolSearchContent({
|
|
|
12173
11619
|
return null;
|
|
12174
11620
|
}
|
|
12175
11621
|
return /* @__PURE__ */ jsxs36("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12176
|
-
toolSearch.displayQuery ? /* @__PURE__ */
|
|
11622
|
+
toolSearch.displayQuery ? /* @__PURE__ */ jsx47(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx47(
|
|
12177
11623
|
ToolMarkdownBlock,
|
|
12178
11624
|
{
|
|
12179
11625
|
content: `${toolSearch.displayQuery}
|
|
@@ -12181,7 +11627,7 @@ function AgentToolSearchContent({
|
|
|
12181
11627
|
${toolSearch.mode}`
|
|
12182
11628
|
}
|
|
12183
11629
|
) }) : null,
|
|
12184
|
-
toolSearch.matches.length > 0 ? /* @__PURE__ */
|
|
11630
|
+
toolSearch.matches.length > 0 ? /* @__PURE__ */ jsx47(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx47("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: toolSearch.matches.map((match, index) => /* @__PURE__ */ jsx47(
|
|
12185
11631
|
"div",
|
|
12186
11632
|
{
|
|
12187
11633
|
className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
@@ -12189,8 +11635,8 @@ ${toolSearch.mode}`
|
|
|
12189
11635
|
},
|
|
12190
11636
|
match
|
|
12191
11637
|
)) }) }) : null,
|
|
12192
|
-
toolSearch.matches.length === 0 ? /* @__PURE__ */
|
|
12193
|
-
typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */
|
|
11638
|
+
toolSearch.matches.length === 0 ? /* @__PURE__ */ jsx47("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatchingTools") }) : null,
|
|
11639
|
+
typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */ jsx47("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.loadedAvailable", {
|
|
12194
11640
|
loaded: toolSearch.matches.length,
|
|
12195
11641
|
available: toolSearch.totalDeferredTools
|
|
12196
11642
|
}) }) : null
|
|
@@ -12198,7 +11644,7 @@ ${toolSearch.mode}`
|
|
|
12198
11644
|
}
|
|
12199
11645
|
|
|
12200
11646
|
// shared/agentConversation/components/tool-renderers/AgentWriteContent.tsx
|
|
12201
|
-
import { jsx as
|
|
11647
|
+
import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
12202
11648
|
function AgentWriteContent({
|
|
12203
11649
|
call,
|
|
12204
11650
|
onLinkClick
|
|
@@ -12219,8 +11665,8 @@ function AgentWriteContent({
|
|
|
12219
11665
|
return null;
|
|
12220
11666
|
}
|
|
12221
11667
|
return /* @__PURE__ */ jsxs37("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
|
|
12222
|
-
path && files.length === 0 ? /* @__PURE__ */
|
|
12223
|
-
patchFiles.map((candidate) => /* @__PURE__ */
|
|
11668
|
+
path && files.length === 0 ? /* @__PURE__ */ jsx48(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
|
|
11669
|
+
patchFiles.map((candidate) => /* @__PURE__ */ jsx48(
|
|
12224
11670
|
AgentUnifiedPatchViewer,
|
|
12225
11671
|
{
|
|
12226
11672
|
path: candidate.path,
|
|
@@ -12231,7 +11677,7 @@ function AgentWriteContent({
|
|
|
12231
11677
|
},
|
|
12232
11678
|
`patch:${candidate.path}`
|
|
12233
11679
|
)),
|
|
12234
|
-
contentFiles.map((candidate) => /* @__PURE__ */
|
|
11680
|
+
contentFiles.map((candidate) => /* @__PURE__ */ jsx48(
|
|
12235
11681
|
AgentCodeBlock,
|
|
12236
11682
|
{
|
|
12237
11683
|
path: candidate.path,
|
|
@@ -12242,7 +11688,7 @@ function AgentWriteContent({
|
|
|
12242
11688
|
},
|
|
12243
11689
|
`content:${candidate.path}`
|
|
12244
11690
|
)),
|
|
12245
|
-
fallbackContent ? /* @__PURE__ */
|
|
11691
|
+
fallbackContent ? /* @__PURE__ */ jsx48(
|
|
12246
11692
|
AgentCodeBlock,
|
|
12247
11693
|
{
|
|
12248
11694
|
path,
|
|
@@ -12256,7 +11702,7 @@ function AgentWriteContent({
|
|
|
12256
11702
|
}
|
|
12257
11703
|
|
|
12258
11704
|
// shared/agentConversation/components/tool-renderers/AgentExpandedToolContent.tsx
|
|
12259
|
-
import { jsx as
|
|
11705
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
12260
11706
|
function AgentExpandedToolContent({
|
|
12261
11707
|
call,
|
|
12262
11708
|
onLinkClick,
|
|
@@ -12267,65 +11713,65 @@ function AgentExpandedToolContent({
|
|
|
12267
11713
|
let content;
|
|
12268
11714
|
switch (call.rendererKind) {
|
|
12269
11715
|
case "approval":
|
|
12270
|
-
content = /* @__PURE__ */
|
|
11716
|
+
content = /* @__PURE__ */ jsx49(AgentApprovalContent, { ...props });
|
|
12271
11717
|
break;
|
|
12272
11718
|
case "plan-enter":
|
|
12273
11719
|
case "plan-exit":
|
|
12274
|
-
content = /* @__PURE__ */
|
|
11720
|
+
content = /* @__PURE__ */ jsx49(AgentPlanModeContent, { ...props });
|
|
12275
11721
|
break;
|
|
12276
11722
|
case "ask-user":
|
|
12277
|
-
content = /* @__PURE__ */
|
|
11723
|
+
content = /* @__PURE__ */ jsx49(AgentAskUserQuestionContent, { ...props });
|
|
12278
11724
|
break;
|
|
12279
11725
|
case "task":
|
|
12280
|
-
content = /* @__PURE__ */
|
|
11726
|
+
content = /* @__PURE__ */ jsx49(AgentTaskContent, { ...props });
|
|
12281
11727
|
break;
|
|
12282
11728
|
case "read":
|
|
12283
|
-
content = /* @__PURE__ */
|
|
11729
|
+
content = /* @__PURE__ */ jsx49(AgentReadContent, { ...props });
|
|
12284
11730
|
break;
|
|
12285
11731
|
case "write":
|
|
12286
|
-
content = /* @__PURE__ */
|
|
11732
|
+
content = /* @__PURE__ */ jsx49(AgentWriteContent, { ...props });
|
|
12287
11733
|
break;
|
|
12288
11734
|
case "edit":
|
|
12289
|
-
content = /* @__PURE__ */
|
|
11735
|
+
content = /* @__PURE__ */ jsx49(AgentEditContent, { ...props });
|
|
12290
11736
|
break;
|
|
12291
11737
|
case "bash":
|
|
12292
|
-
content = /* @__PURE__ */
|
|
11738
|
+
content = /* @__PURE__ */ jsx49(AgentBashContent, { ...props });
|
|
12293
11739
|
break;
|
|
12294
11740
|
case "search":
|
|
12295
|
-
content = /* @__PURE__ */
|
|
11741
|
+
content = /* @__PURE__ */ jsx49(AgentSearchContent, { ...props });
|
|
12296
11742
|
break;
|
|
12297
11743
|
case "web-search":
|
|
12298
|
-
content = /* @__PURE__ */
|
|
11744
|
+
content = /* @__PURE__ */ jsx49(AgentWebSearchContent, { ...props });
|
|
12299
11745
|
break;
|
|
12300
11746
|
case "web-fetch":
|
|
12301
|
-
content = /* @__PURE__ */
|
|
11747
|
+
content = /* @__PURE__ */ jsx49(AgentWebFetchContent, { ...props });
|
|
12302
11748
|
break;
|
|
12303
11749
|
case "image-generation":
|
|
12304
|
-
content = /* @__PURE__ */
|
|
11750
|
+
content = /* @__PURE__ */ jsx49(AgentImageGenerationContent, { ...props });
|
|
12305
11751
|
break;
|
|
12306
11752
|
case "todo-write":
|
|
12307
|
-
content = /* @__PURE__ */
|
|
11753
|
+
content = /* @__PURE__ */ jsx49(AgentTodoWriteContent, { ...props });
|
|
12308
11754
|
break;
|
|
12309
11755
|
case "tool-search":
|
|
12310
|
-
content = /* @__PURE__ */
|
|
11756
|
+
content = /* @__PURE__ */ jsx49(AgentToolSearchContent, { ...props });
|
|
12311
11757
|
break;
|
|
12312
11758
|
case "skill":
|
|
12313
|
-
content = /* @__PURE__ */
|
|
11759
|
+
content = /* @__PURE__ */ jsx49(AgentSkillContent, { ...props });
|
|
12314
11760
|
break;
|
|
12315
11761
|
case "mcp":
|
|
12316
|
-
content = /* @__PURE__ */
|
|
11762
|
+
content = /* @__PURE__ */ jsx49(AgentMcpToolContent, { ...props });
|
|
12317
11763
|
break;
|
|
12318
11764
|
default:
|
|
12319
|
-
content = /* @__PURE__ */
|
|
11765
|
+
content = /* @__PURE__ */ jsx49(AgentDefaultToolContent, { ...props });
|
|
12320
11766
|
}
|
|
12321
11767
|
if (!content) {
|
|
12322
11768
|
return null;
|
|
12323
11769
|
}
|
|
12324
|
-
return /* @__PURE__ */
|
|
11770
|
+
return /* @__PURE__ */ jsx49(AgentToolPreviewModeProvider, { previewMode, children: content });
|
|
12325
11771
|
}
|
|
12326
11772
|
|
|
12327
11773
|
// shared/agentConversation/components/AgentAskUserQuestionCard.tsx
|
|
12328
|
-
import { jsx as
|
|
11774
|
+
import { jsx as jsx50, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
12329
11775
|
function AgentAskUserQuestionCard({
|
|
12330
11776
|
call,
|
|
12331
11777
|
onLinkClick,
|
|
@@ -12339,18 +11785,18 @@ function AgentAskUserQuestionCard({
|
|
|
12339
11785
|
const pinned = nonCollapsible ?? waitingInput;
|
|
12340
11786
|
const [expanded, setExpanded] = useState14(defaultExpanded ?? waitingInput);
|
|
12341
11787
|
return /* @__PURE__ */ jsxs38("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--ask-user", children: [
|
|
12342
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
11788
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx50(
|
|
12343
11789
|
"button",
|
|
12344
11790
|
{
|
|
12345
11791
|
type: "button",
|
|
12346
11792
|
className: "workspace-agents-status-panel__detail-tool-row-head workspace-agents-status-panel__detail-tool-row-head--button",
|
|
12347
11793
|
"aria-expanded": expanded,
|
|
12348
11794
|
onClick: () => setExpanded((value) => !value),
|
|
12349
|
-
children: /* @__PURE__ */
|
|
11795
|
+
children: /* @__PURE__ */ jsx50(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12350
11796
|
}
|
|
12351
|
-
) : /* @__PURE__ */
|
|
12352
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12353
|
-
hasDetail && pinned ? /* @__PURE__ */
|
|
11797
|
+
) : /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx50(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
11798
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
11799
|
+
hasDetail && pinned ? /* @__PURE__ */ jsx50(
|
|
12354
11800
|
AgentExpandedToolContent,
|
|
12355
11801
|
{
|
|
12356
11802
|
call,
|
|
@@ -12358,7 +11804,7 @@ function AgentAskUserQuestionCard({
|
|
|
12358
11804
|
previewMode
|
|
12359
11805
|
}
|
|
12360
11806
|
) : null,
|
|
12361
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
11807
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx50(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx50(
|
|
12362
11808
|
AgentExpandedToolContent,
|
|
12363
11809
|
{
|
|
12364
11810
|
call,
|
|
@@ -12370,7 +11816,7 @@ function AgentAskUserQuestionCard({
|
|
|
12370
11816
|
}
|
|
12371
11817
|
|
|
12372
11818
|
// shared/agentConversation/components/AgentEnterPlanModeCard.tsx
|
|
12373
|
-
import { jsx as
|
|
11819
|
+
import { jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
12374
11820
|
function AgentEnterPlanModeCard({
|
|
12375
11821
|
call,
|
|
12376
11822
|
onLinkClick,
|
|
@@ -12379,9 +11825,9 @@ function AgentEnterPlanModeCard({
|
|
|
12379
11825
|
"use memo";
|
|
12380
11826
|
const hasDetail = hasAgentToolContent(call);
|
|
12381
11827
|
return /* @__PURE__ */ jsxs39("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-enter", children: [
|
|
12382
|
-
/* @__PURE__ */
|
|
12383
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12384
|
-
hasDetail ? /* @__PURE__ */
|
|
11828
|
+
/* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
11829
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
11830
|
+
hasDetail ? /* @__PURE__ */ jsx51(
|
|
12385
11831
|
AgentExpandedToolContent,
|
|
12386
11832
|
{
|
|
12387
11833
|
call,
|
|
@@ -12393,7 +11839,7 @@ function AgentEnterPlanModeCard({
|
|
|
12393
11839
|
}
|
|
12394
11840
|
|
|
12395
11841
|
// shared/agentConversation/components/AgentExitPlanModeCard.tsx
|
|
12396
|
-
import { jsx as
|
|
11842
|
+
import { jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
12397
11843
|
function AgentExitPlanModeCard({
|
|
12398
11844
|
call,
|
|
12399
11845
|
onLinkClick,
|
|
@@ -12402,9 +11848,9 @@ function AgentExitPlanModeCard({
|
|
|
12402
11848
|
"use memo";
|
|
12403
11849
|
const hasDetail = hasAgentToolContent(call);
|
|
12404
11850
|
return /* @__PURE__ */ jsxs40("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-exit", children: [
|
|
12405
|
-
/* @__PURE__ */
|
|
12406
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12407
|
-
hasDetail ? /* @__PURE__ */
|
|
11851
|
+
/* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx52(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
11852
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
11853
|
+
hasDetail ? /* @__PURE__ */ jsx52(
|
|
12408
11854
|
AgentExpandedToolContent,
|
|
12409
11855
|
{
|
|
12410
11856
|
call,
|
|
@@ -12417,7 +11863,7 @@ function AgentExitPlanModeCard({
|
|
|
12417
11863
|
|
|
12418
11864
|
// shared/agentConversation/components/AgentTaskCallCard.tsx
|
|
12419
11865
|
import { useState as useState15 } from "react";
|
|
12420
|
-
import { jsx as
|
|
11866
|
+
import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
12421
11867
|
function AgentTaskCallCard({
|
|
12422
11868
|
call,
|
|
12423
11869
|
onLinkClick,
|
|
@@ -12432,7 +11878,7 @@ function AgentTaskCallCard({
|
|
|
12432
11878
|
const [expanded, setExpanded] = useState15(defaultExpanded ?? running);
|
|
12433
11879
|
const ariaLabel = taskCallAriaLabel(call);
|
|
12434
11880
|
return /* @__PURE__ */ jsxs41("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--task", children: [
|
|
12435
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
11881
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx53(
|
|
12436
11882
|
"button",
|
|
12437
11883
|
{
|
|
12438
11884
|
type: "button",
|
|
@@ -12440,11 +11886,11 @@ function AgentTaskCallCard({
|
|
|
12440
11886
|
"aria-expanded": expanded,
|
|
12441
11887
|
"aria-label": ariaLabel,
|
|
12442
11888
|
onClick: () => setExpanded((value) => !value),
|
|
12443
|
-
children: /* @__PURE__ */
|
|
11889
|
+
children: /* @__PURE__ */ jsx53(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12444
11890
|
}
|
|
12445
|
-
) : /* @__PURE__ */
|
|
12446
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12447
|
-
hasDetail && pinned ? /* @__PURE__ */
|
|
11891
|
+
) : /* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx53(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
11892
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
11893
|
+
hasDetail && pinned ? /* @__PURE__ */ jsx53(
|
|
12448
11894
|
AgentExpandedToolContent,
|
|
12449
11895
|
{
|
|
12450
11896
|
call,
|
|
@@ -12452,7 +11898,7 @@ function AgentTaskCallCard({
|
|
|
12452
11898
|
previewMode
|
|
12453
11899
|
}
|
|
12454
11900
|
) : null,
|
|
12455
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
11901
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx53(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx53(
|
|
12456
11902
|
AgentExpandedToolContent,
|
|
12457
11903
|
{
|
|
12458
11904
|
call,
|
|
@@ -12471,21 +11917,21 @@ function taskCallAriaLabel(call) {
|
|
|
12471
11917
|
}
|
|
12472
11918
|
|
|
12473
11919
|
// shared/agentConversation/components/AgentSubAgentCards.tsx
|
|
12474
|
-
import { memo, useEffect as
|
|
11920
|
+
import { memo, useEffect as useEffect10, useState as useState16 } from "react";
|
|
12475
11921
|
import { AlertCircle as AlertCircle2, ChevronDown as ChevronDown6, ChevronRight as ChevronRight6 } from "lucide-react";
|
|
12476
11922
|
|
|
12477
11923
|
// app/renderer/components/icons/AgentLinedIcon.tsx
|
|
12478
|
-
import { jsx as
|
|
11924
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
12479
11925
|
function AgentLinedIcon(props) {
|
|
12480
11926
|
"use memo";
|
|
12481
|
-
return /* @__PURE__ */
|
|
11927
|
+
return /* @__PURE__ */ jsx54(
|
|
12482
11928
|
"svg",
|
|
12483
11929
|
{
|
|
12484
11930
|
viewBox: "0 0 24 24",
|
|
12485
11931
|
fill: "none",
|
|
12486
11932
|
xmlns: "http://www.w3.org/2000/svg",
|
|
12487
11933
|
...props,
|
|
12488
|
-
children: /* @__PURE__ */
|
|
11934
|
+
children: /* @__PURE__ */ jsx54(
|
|
12489
11935
|
"path",
|
|
12490
11936
|
{
|
|
12491
11937
|
d: "M12 3C12.5523 3 13 3.44772 13 4V7H18C19.6569 7 21 8.34315 21 10V13H22C22.5523 13 23 13.4477 23 14C23 14.5523 22.5523 15 22 15H21V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V15H2C1.44772 15 1 14.5523 1 14C1 13.4477 1.44772 13 2 13H3V10C3 8.34315 4.34315 7 6 7H11V5H8C7.44772 5 7 4.55228 7 4C7 3.44772 7.44772 3 8 3H12ZM6 9C5.44772 9 5 9.44772 5 10V18C5 18.5523 5.44772 19 6 19H18C18.5523 19 19 18.5523 19 18V10C19 9.44772 18.5523 9 18 9H6ZM9 12C9.55229 12 10 12.4477 10 13V15C10 15.5523 9.55229 16 9 16C8.44772 16 8 15.5523 8 15V13C8 12.4477 8.44772 12 9 12ZM15 12C15.5523 12 16 12.4477 16 13V15C16 15.5523 15.5523 16 15 16C14.4477 16 14 15.5523 14 15V13C14 12.4477 14.4477 12 15 12Z",
|
|
@@ -12497,7 +11943,7 @@ function AgentLinedIcon(props) {
|
|
|
12497
11943
|
}
|
|
12498
11944
|
|
|
12499
11945
|
// shared/agentConversation/components/AgentSubAgentCards.tsx
|
|
12500
|
-
import { Fragment as Fragment5, jsx as
|
|
11946
|
+
import { Fragment as Fragment5, jsx as jsx55, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
12501
11947
|
function AgentSubAgentCards({
|
|
12502
11948
|
call,
|
|
12503
11949
|
onLinkClick
|
|
@@ -12507,7 +11953,7 @@ function AgentSubAgentCards({
|
|
|
12507
11953
|
if (subAgents.length === 0) {
|
|
12508
11954
|
return null;
|
|
12509
11955
|
}
|
|
12510
|
-
return /* @__PURE__ */
|
|
11956
|
+
return /* @__PURE__ */ jsx55(Fragment5, { children: subAgents.map((subAgent) => /* @__PURE__ */ jsx55(
|
|
12511
11957
|
AgentSubAgentCard,
|
|
12512
11958
|
{
|
|
12513
11959
|
subAgent,
|
|
@@ -12535,7 +11981,7 @@ function AgentSubAgentCardImpl({
|
|
|
12535
11981
|
className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--subagent",
|
|
12536
11982
|
"data-status": subAgent.status,
|
|
12537
11983
|
children: [
|
|
12538
|
-
/* @__PURE__ */
|
|
11984
|
+
/* @__PURE__ */ jsx55(
|
|
12539
11985
|
"button",
|
|
12540
11986
|
{
|
|
12541
11987
|
type: "button",
|
|
@@ -12543,10 +11989,10 @@ function AgentSubAgentCardImpl({
|
|
|
12543
11989
|
"aria-expanded": expanded,
|
|
12544
11990
|
"aria-label": subAgentAriaLabel(subAgent),
|
|
12545
11991
|
onClick: () => setExpanded((value) => !value),
|
|
12546
|
-
children: /* @__PURE__ */
|
|
11992
|
+
children: /* @__PURE__ */ jsx55(SubAgentHeader, { subAgent, expanded })
|
|
12547
11993
|
}
|
|
12548
11994
|
),
|
|
12549
|
-
/* @__PURE__ */
|
|
11995
|
+
/* @__PURE__ */ jsx55(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx55("div", { className: "workspace-agents-status-panel__detail-subagent-reveal", children: /* @__PURE__ */ jsx55(SubAgentBody, { subAgent, onLinkClick }) }) })
|
|
12550
11996
|
]
|
|
12551
11997
|
}
|
|
12552
11998
|
);
|
|
@@ -12570,16 +12016,16 @@ function SubAgentHeader({
|
|
|
12570
12016
|
running ? "tsh-inline-scanlight-group" : ""
|
|
12571
12017
|
].filter(Boolean).join(" "),
|
|
12572
12018
|
children: [
|
|
12573
|
-
/* @__PURE__ */
|
|
12019
|
+
/* @__PURE__ */ jsx55("div", { className: "workspace-agents-status-panel__detail-tool-row-icon tsh-inline-scanlight-icon", children: subAgent.status === "failed" ? /* @__PURE__ */ jsx55(AlertCircle2, { size: 16, strokeWidth: 2, "aria-hidden": "true" }) : /* @__PURE__ */ jsx55(AgentLinedIcon, { width: 16, height: 16, "aria-hidden": "true" }) }),
|
|
12574
12020
|
/* @__PURE__ */ jsxs42("div", { className: "workspace-agents-status-panel__detail-tool-row-text", children: [
|
|
12575
|
-
/* @__PURE__ */
|
|
12576
|
-
nameText ? /* @__PURE__ */
|
|
12021
|
+
/* @__PURE__ */ jsx55("strong", { className: "workspace-agents-status-panel__detail-tool-row-title", children: translate("agentHost.agentTool.details.subAgentFallbackName") }),
|
|
12022
|
+
nameText ? /* @__PURE__ */ jsx55("span", { className: "workspace-agents-status-panel__detail-subagent-name", children: nameText }) : null,
|
|
12577
12023
|
/* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-status", children: [
|
|
12578
12024
|
elapsedText ? `${elapsedText} \xB7 ` : "",
|
|
12579
12025
|
statusLabel
|
|
12580
12026
|
] })
|
|
12581
12027
|
] }),
|
|
12582
|
-
expanded ? /* @__PURE__ */
|
|
12028
|
+
expanded ? /* @__PURE__ */ jsx55(
|
|
12583
12029
|
ChevronDown6,
|
|
12584
12030
|
{
|
|
12585
12031
|
size: 12,
|
|
@@ -12587,7 +12033,7 @@ function SubAgentHeader({
|
|
|
12587
12033
|
"aria-hidden": "true",
|
|
12588
12034
|
className: "workspace-agents-status-panel__detail-tool-row-chevron"
|
|
12589
12035
|
}
|
|
12590
|
-
) : /* @__PURE__ */
|
|
12036
|
+
) : /* @__PURE__ */ jsx55(
|
|
12591
12037
|
ChevronRight6,
|
|
12592
12038
|
{
|
|
12593
12039
|
size: 12,
|
|
@@ -12605,10 +12051,10 @@ function SubAgentBody({
|
|
|
12605
12051
|
onLinkClick
|
|
12606
12052
|
}) {
|
|
12607
12053
|
"use memo";
|
|
12608
|
-
return /* @__PURE__ */
|
|
12609
|
-
subAgent.task ? /* @__PURE__ */
|
|
12610
|
-
/* @__PURE__ */
|
|
12611
|
-
subAgent.childSessions.length > 0 ? /* @__PURE__ */
|
|
12054
|
+
return /* @__PURE__ */ jsx55("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: /* @__PURE__ */ jsxs42("div", { className: "workspace-agents-status-panel__detail-subagent-terminal", children: [
|
|
12055
|
+
subAgent.task ? /* @__PURE__ */ jsx55("div", { className: "workspace-agents-status-panel__detail-subagent-task-strip", children: subAgent.task }) : null,
|
|
12056
|
+
/* @__PURE__ */ jsx55(SubAgentProgress, { subAgent }),
|
|
12057
|
+
subAgent.childSessions.length > 0 ? /* @__PURE__ */ jsx55("div", { className: "workspace-agents-status-panel__detail-subagent-children", children: subAgent.childSessions.map((childSession) => /* @__PURE__ */ jsx55(
|
|
12612
12058
|
AgentSubAgentCard,
|
|
12613
12059
|
{
|
|
12614
12060
|
subAgent: childSession,
|
|
@@ -12625,7 +12071,7 @@ function SubAgentProgress({
|
|
|
12625
12071
|
const text = subAgent.failureDetail ?? subAgent.latestActivity ?? translate(
|
|
12626
12072
|
subAgent.queued ? "agentHost.agentTool.details.subAgentQueued" : "agentHost.agentTool.details.subAgentStarting"
|
|
12627
12073
|
);
|
|
12628
|
-
return /* @__PURE__ */
|
|
12074
|
+
return /* @__PURE__ */ jsx55(
|
|
12629
12075
|
"div",
|
|
12630
12076
|
{
|
|
12631
12077
|
className: `workspace-agents-status-panel__detail-subagent-activity workspace-agents-status-panel__detail-subagent-activity--in-terminal${subAgent.failureDetail ? " workspace-agents-status-panel__detail-subagent-activity--failure" : ""}`,
|
|
@@ -12667,7 +12113,7 @@ function useRunningSubAgentNowUnixMs(subAgent) {
|
|
|
12667
12113
|
const [nowUnixMs, setNowUnixMs] = useState16(
|
|
12668
12114
|
() => shouldTick ? Date.now() : null
|
|
12669
12115
|
);
|
|
12670
|
-
|
|
12116
|
+
useEffect10(() => {
|
|
12671
12117
|
if (!shouldTick) {
|
|
12672
12118
|
setNowUnixMs(null);
|
|
12673
12119
|
return;
|
|
@@ -12695,7 +12141,7 @@ function subAgentElapsedText(subAgent, runningNowUnixMs) {
|
|
|
12695
12141
|
|
|
12696
12142
|
// shared/agentConversation/components/AgentToolCallCard.tsx
|
|
12697
12143
|
import { useState as useState17 } from "react";
|
|
12698
|
-
import { jsx as
|
|
12144
|
+
import { jsx as jsx56, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
12699
12145
|
function AgentToolCallCard({
|
|
12700
12146
|
call,
|
|
12701
12147
|
onLinkClick,
|
|
@@ -12717,7 +12163,7 @@ function AgentToolCallCard({
|
|
|
12717
12163
|
variantClassName ?? ""
|
|
12718
12164
|
].filter(Boolean).join(" "),
|
|
12719
12165
|
children: [
|
|
12720
|
-
canCollapse ? /* @__PURE__ */
|
|
12166
|
+
canCollapse ? /* @__PURE__ */ jsx56(
|
|
12721
12167
|
"button",
|
|
12722
12168
|
{
|
|
12723
12169
|
type: "button",
|
|
@@ -12725,10 +12171,10 @@ function AgentToolCallCard({
|
|
|
12725
12171
|
"aria-expanded": expanded,
|
|
12726
12172
|
"aria-label": ariaLabel,
|
|
12727
12173
|
onClick: () => setExpanded((value) => !value),
|
|
12728
|
-
children: /* @__PURE__ */
|
|
12174
|
+
children: /* @__PURE__ */ jsx56(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12729
12175
|
}
|
|
12730
|
-
) : /* @__PURE__ */
|
|
12731
|
-
hasDetail && nonCollapsible ? /* @__PURE__ */
|
|
12176
|
+
) : /* @__PURE__ */ jsx56("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx56(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12177
|
+
hasDetail && nonCollapsible ? /* @__PURE__ */ jsx56(
|
|
12732
12178
|
AgentExpandedToolContent,
|
|
12733
12179
|
{
|
|
12734
12180
|
call,
|
|
@@ -12736,7 +12182,7 @@ function AgentToolCallCard({
|
|
|
12736
12182
|
previewMode
|
|
12737
12183
|
}
|
|
12738
12184
|
) : null,
|
|
12739
|
-
hasDetail && !nonCollapsible ? /* @__PURE__ */
|
|
12185
|
+
hasDetail && !nonCollapsible ? /* @__PURE__ */ jsx56(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx56(
|
|
12740
12186
|
AgentExpandedToolContent,
|
|
12741
12187
|
{
|
|
12742
12188
|
call,
|
|
@@ -12757,7 +12203,7 @@ function toolCallAriaLabel(call) {
|
|
|
12757
12203
|
}
|
|
12758
12204
|
|
|
12759
12205
|
// shared/agentConversation/components/AgentToolGroupRow.tsx
|
|
12760
|
-
import { Fragment as Fragment6, jsx as
|
|
12206
|
+
import { Fragment as Fragment6, jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
12761
12207
|
var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
12762
12208
|
row,
|
|
12763
12209
|
label,
|
|
@@ -12808,8 +12254,8 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
12808
12254
|
"aria-label": groupLabel,
|
|
12809
12255
|
onClick: () => setNextExpanded(!isExpanded),
|
|
12810
12256
|
children: [
|
|
12811
|
-
/* @__PURE__ */
|
|
12812
|
-
isExpanded ? /* @__PURE__ */
|
|
12257
|
+
/* @__PURE__ */ jsx57(ToolGroupLabel, { label: groupLabel }),
|
|
12258
|
+
isExpanded ? /* @__PURE__ */ jsx57(
|
|
12813
12259
|
ChevronDown7,
|
|
12814
12260
|
{
|
|
12815
12261
|
size: 12,
|
|
@@ -12817,7 +12263,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
12817
12263
|
"aria-hidden": "true",
|
|
12818
12264
|
className: "workspace-agents-status-panel__detail-tool-count-chevron"
|
|
12819
12265
|
}
|
|
12820
|
-
) : /* @__PURE__ */
|
|
12266
|
+
) : /* @__PURE__ */ jsx57(
|
|
12821
12267
|
ChevronRight7,
|
|
12822
12268
|
{
|
|
12823
12269
|
size: 12,
|
|
@@ -12828,13 +12274,13 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
12828
12274
|
)
|
|
12829
12275
|
]
|
|
12830
12276
|
}
|
|
12831
|
-
) : /* @__PURE__ */
|
|
12832
|
-
hasDetail ? /* @__PURE__ */
|
|
12833
|
-
(entry) => entry.kind === "thinking" ? /* @__PURE__ */
|
|
12277
|
+
) : /* @__PURE__ */ jsx57("div", { className: "workspace-agents-status-panel__detail-tool-count", children: /* @__PURE__ */ jsx57(ToolGroupLabel, { label: groupLabel }) }),
|
|
12278
|
+
hasDetail ? /* @__PURE__ */ jsx57(CollapsibleReveal, { expanded: isExpanded, children: /* @__PURE__ */ jsx57("div", { className: "workspace-agents-status-panel__detail-tool-list", children: row.entries.map(
|
|
12279
|
+
(entry) => entry.kind === "thinking" ? /* @__PURE__ */ jsx57(
|
|
12834
12280
|
"div",
|
|
12835
12281
|
{
|
|
12836
12282
|
className: "workspace-agents-status-panel__detail-tool-list-item workspace-agents-status-panel__detail-tool-row",
|
|
12837
|
-
children: /* @__PURE__ */
|
|
12283
|
+
children: /* @__PURE__ */ jsx57(
|
|
12838
12284
|
AgentThinkingDisclosure,
|
|
12839
12285
|
{
|
|
12840
12286
|
thinking: entry.thinking,
|
|
@@ -12847,7 +12293,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
12847
12293
|
)
|
|
12848
12294
|
},
|
|
12849
12295
|
entry.thinking.id
|
|
12850
|
-
) : /* @__PURE__ */
|
|
12296
|
+
) : /* @__PURE__ */ jsx57(
|
|
12851
12297
|
"div",
|
|
12852
12298
|
{
|
|
12853
12299
|
className: "workspace-agents-status-panel__detail-tool-list-item",
|
|
@@ -12869,7 +12315,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
12869
12315
|
function ToolGroupLabel({ label }) {
|
|
12870
12316
|
"use memo";
|
|
12871
12317
|
return /* @__PURE__ */ jsxs44(Fragment6, { children: [
|
|
12872
|
-
/* @__PURE__ */
|
|
12318
|
+
/* @__PURE__ */ jsx57(
|
|
12873
12319
|
ToolActivityKindIcon,
|
|
12874
12320
|
{
|
|
12875
12321
|
kind: "update_todos",
|
|
@@ -12878,37 +12324,37 @@ function ToolGroupLabel({ label }) {
|
|
|
12878
12324
|
className: "workspace-agents-status-panel__detail-tool-count-icon"
|
|
12879
12325
|
}
|
|
12880
12326
|
),
|
|
12881
|
-
/* @__PURE__ */
|
|
12327
|
+
/* @__PURE__ */ jsx57("span", { className: "workspace-agents-status-panel__detail-tool-count-label", children: renderToolCountLabel(label) })
|
|
12882
12328
|
] });
|
|
12883
12329
|
}
|
|
12884
12330
|
function renderToolCountLabel(label) {
|
|
12885
|
-
return /* @__PURE__ */
|
|
12331
|
+
return /* @__PURE__ */ jsx57("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: label });
|
|
12886
12332
|
}
|
|
12887
12333
|
function renderToolCard(call, onLinkClick, previewMode = false, showRawTimelineJson = false, rawTimelineJsonLabel = "") {
|
|
12888
12334
|
const props = { call, onLinkClick, previewMode };
|
|
12889
12335
|
if (call.task?.subAgents?.length) {
|
|
12890
|
-
return /* @__PURE__ */
|
|
12336
|
+
return /* @__PURE__ */ jsx57(AgentSubAgentCards, { call, onLinkClick });
|
|
12891
12337
|
}
|
|
12892
12338
|
let card;
|
|
12893
12339
|
switch (call.rendererKind) {
|
|
12894
12340
|
case "plan-enter":
|
|
12895
|
-
card = /* @__PURE__ */
|
|
12341
|
+
card = /* @__PURE__ */ jsx57(AgentEnterPlanModeCard, { ...props });
|
|
12896
12342
|
break;
|
|
12897
12343
|
case "plan-exit":
|
|
12898
|
-
card = /* @__PURE__ */
|
|
12344
|
+
card = /* @__PURE__ */ jsx57(AgentExitPlanModeCard, { ...props });
|
|
12899
12345
|
break;
|
|
12900
12346
|
case "ask-user":
|
|
12901
|
-
card = /* @__PURE__ */
|
|
12347
|
+
card = /* @__PURE__ */ jsx57(AgentAskUserQuestionCard, { ...props });
|
|
12902
12348
|
break;
|
|
12903
12349
|
case "task":
|
|
12904
|
-
card = /* @__PURE__ */
|
|
12350
|
+
card = /* @__PURE__ */ jsx57(AgentTaskCallCard, { ...props });
|
|
12905
12351
|
break;
|
|
12906
12352
|
default:
|
|
12907
|
-
card = /* @__PURE__ */
|
|
12353
|
+
card = /* @__PURE__ */ jsx57(AgentToolCallCard, { ...props });
|
|
12908
12354
|
}
|
|
12909
12355
|
return /* @__PURE__ */ jsxs44(Fragment6, { children: [
|
|
12910
12356
|
card,
|
|
12911
|
-
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */
|
|
12357
|
+
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx57(
|
|
12912
12358
|
RawTimelineJsonDisclosure,
|
|
12913
12359
|
{
|
|
12914
12360
|
items: call.sourceTimelineItems,
|
|
@@ -12919,7 +12365,7 @@ function renderToolCard(call, onLinkClick, previewMode = false, showRawTimelineJ
|
|
|
12919
12365
|
}
|
|
12920
12366
|
|
|
12921
12367
|
// shared/agentConversation/components/AgentTurnSummaryRow.tsx
|
|
12922
|
-
import { useEffect as
|
|
12368
|
+
import { useEffect as useEffect11, useMemo as useMemo5, useState as useState19 } from "react";
|
|
12923
12369
|
import {
|
|
12924
12370
|
ChevronDown as ChevronDown8,
|
|
12925
12371
|
ChevronRight as ChevronRight8,
|
|
@@ -12936,10 +12382,10 @@ import {
|
|
|
12936
12382
|
} from "@tutti-os/ui-system";
|
|
12937
12383
|
|
|
12938
12384
|
// app/renderer/components/icons/DirectLinedIcon.tsx
|
|
12939
|
-
import { jsx as
|
|
12385
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
12940
12386
|
function DirectLinedIcon(props) {
|
|
12941
12387
|
"use memo";
|
|
12942
|
-
return /* @__PURE__ */
|
|
12388
|
+
return /* @__PURE__ */ jsx58(
|
|
12943
12389
|
"svg",
|
|
12944
12390
|
{
|
|
12945
12391
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -12949,7 +12395,7 @@ function DirectLinedIcon(props) {
|
|
|
12949
12395
|
"data-nexight-chrome-glyph": "fill",
|
|
12950
12396
|
"data-tutti-chrome-glyph": "fill",
|
|
12951
12397
|
...props,
|
|
12952
|
-
children: /* @__PURE__ */
|
|
12398
|
+
children: /* @__PURE__ */ jsx58(
|
|
12953
12399
|
"path",
|
|
12954
12400
|
{
|
|
12955
12401
|
fill: "currentColor",
|
|
@@ -13150,7 +12596,7 @@ function isInsideOrEqualPatchPath(path, root) {
|
|
|
13150
12596
|
}
|
|
13151
12597
|
|
|
13152
12598
|
// shared/agentConversation/components/AgentTurnSummaryRow.tsx
|
|
13153
|
-
import { jsx as
|
|
12599
|
+
import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
13154
12600
|
function AgentTurnSummaryRow({
|
|
13155
12601
|
row,
|
|
13156
12602
|
workspaceRoot,
|
|
@@ -13208,7 +12654,7 @@ function AgentTurnSummaryRow({
|
|
|
13208
12654
|
);
|
|
13209
12655
|
const patchSupportKey = patchSupportCwds.join("\n");
|
|
13210
12656
|
const resolveGitPatchSupport = agentHostApi?.workspace.resolveGitPatchSupport;
|
|
13211
|
-
|
|
12657
|
+
useEffect11(() => {
|
|
13212
12658
|
if (!resolveGitPatchSupport || patchSupportCwds.length === 0) {
|
|
13213
12659
|
setPatchSupportState(null);
|
|
13214
12660
|
return;
|
|
@@ -13296,10 +12742,10 @@ function AgentTurnSummaryRow({
|
|
|
13296
12742
|
}
|
|
13297
12743
|
}
|
|
13298
12744
|
};
|
|
13299
|
-
return /* @__PURE__ */
|
|
12745
|
+
return /* @__PURE__ */ jsx59("section", { className: "workspace-agents-status-panel__detail-turn-summary", children: /* @__PURE__ */ jsxs45("div", { className: "agent-turn-summary-card w-full overflow-hidden rounded-[8px] text-[var(--text-primary)]", children: [
|
|
13300
12746
|
/* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
13301
|
-
/* @__PURE__ */
|
|
13302
|
-
/* @__PURE__ */
|
|
12747
|
+
/* @__PURE__ */ jsx59("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs45("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
12748
|
+
/* @__PURE__ */ jsx59("div", { className: "min-w-0 text-[15px] font-semibold leading-5 tracking-[0] text-[var(--text-primary)]", children: translate("agentHost.agentGui.turnSummaryFilesChanged", {
|
|
13303
12749
|
count: row.fileCount
|
|
13304
12750
|
}) }),
|
|
13305
12751
|
/* @__PURE__ */ jsxs45("div", { className: "inline-flex shrink-0 items-center gap-2.5 text-[11px] font-semibold", children: [
|
|
@@ -13313,8 +12759,8 @@ function AgentTurnSummaryRow({
|
|
|
13313
12759
|
] }) : null
|
|
13314
12760
|
] })
|
|
13315
12761
|
] }) }),
|
|
13316
|
-
canRenderPatchButton ? /* @__PURE__ */
|
|
13317
|
-
/* @__PURE__ */
|
|
12762
|
+
canRenderPatchButton ? /* @__PURE__ */ jsx59(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs45(Tooltip, { children: [
|
|
12763
|
+
/* @__PURE__ */ jsx59(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx59(
|
|
13318
12764
|
"span",
|
|
13319
12765
|
{
|
|
13320
12766
|
className: `inline-flex shrink-0 ${isPatchActionDisabled ? "cursor-not-allowed" : ""}`,
|
|
@@ -13326,7 +12772,7 @@ function AgentTurnSummaryRow({
|
|
|
13326
12772
|
disabled: isPatchActionDisabled,
|
|
13327
12773
|
onClick: handlePatchAction,
|
|
13328
12774
|
children: [
|
|
13329
|
-
patchPending || isPatchSupportChecking ? /* @__PURE__ */
|
|
12775
|
+
patchPending || isPatchSupportChecking ? /* @__PURE__ */ jsx59(
|
|
13330
12776
|
LoaderCircle2,
|
|
13331
12777
|
{
|
|
13332
12778
|
width: 14,
|
|
@@ -13334,7 +12780,7 @@ function AgentTurnSummaryRow({
|
|
|
13334
12780
|
"aria-hidden": "true",
|
|
13335
12781
|
className: "animate-spin text-[var(--text-secondary)]"
|
|
13336
12782
|
}
|
|
13337
|
-
) : patchAction === "undo" ? /* @__PURE__ */
|
|
12783
|
+
) : patchAction === "undo" ? /* @__PURE__ */ jsx59(
|
|
13338
12784
|
Undo2,
|
|
13339
12785
|
{
|
|
13340
12786
|
width: 14,
|
|
@@ -13342,7 +12788,7 @@ function AgentTurnSummaryRow({
|
|
|
13342
12788
|
"aria-hidden": "true",
|
|
13343
12789
|
className: "text-[var(--text-secondary)]"
|
|
13344
12790
|
}
|
|
13345
|
-
) : /* @__PURE__ */
|
|
12791
|
+
) : /* @__PURE__ */ jsx59(
|
|
13346
12792
|
Redo2,
|
|
13347
12793
|
{
|
|
13348
12794
|
width: 14,
|
|
@@ -13351,19 +12797,19 @@ function AgentTurnSummaryRow({
|
|
|
13351
12797
|
className: "text-[var(--text-secondary)]"
|
|
13352
12798
|
}
|
|
13353
12799
|
),
|
|
13354
|
-
/* @__PURE__ */
|
|
12800
|
+
/* @__PURE__ */ jsx59("span", { children: patchActionLabel })
|
|
13355
12801
|
]
|
|
13356
12802
|
}
|
|
13357
12803
|
)
|
|
13358
12804
|
}
|
|
13359
12805
|
) }),
|
|
13360
|
-
patchDisabledReason ? /* @__PURE__ */
|
|
12806
|
+
patchDisabledReason ? /* @__PURE__ */ jsx59(TooltipContent, { className: "max-w-[260px] whitespace-normal text-left", children: patchDisabledReason }) : null
|
|
13361
12807
|
] }) }) : null
|
|
13362
12808
|
] }),
|
|
13363
12809
|
/* @__PURE__ */ jsxs45("div", { className: "agent-turn-summary-card__list", children: [
|
|
13364
12810
|
visibleFiles.map((file) => {
|
|
13365
12811
|
const key = `${file.path}:${file.messageId}`;
|
|
13366
|
-
return /* @__PURE__ */
|
|
12812
|
+
return /* @__PURE__ */ jsx59(
|
|
13367
12813
|
TurnSummaryFileCard,
|
|
13368
12814
|
{
|
|
13369
12815
|
file,
|
|
@@ -13379,9 +12825,9 @@ function AgentTurnSummaryRow({
|
|
|
13379
12825
|
key
|
|
13380
12826
|
);
|
|
13381
12827
|
}),
|
|
13382
|
-
hiddenFileCount > 0 ? /* @__PURE__ */
|
|
12828
|
+
hiddenFileCount > 0 ? /* @__PURE__ */ jsx59(CollapsibleReveal, { expanded: showAllFiles, preMountOnIdle: true, children: /* @__PURE__ */ jsx59("div", { className: "agent-turn-summary-card__overflow-list", children: hiddenFiles.map((file) => {
|
|
13383
12829
|
const key = `${file.path}:${file.messageId}`;
|
|
13384
|
-
return /* @__PURE__ */
|
|
12830
|
+
return /* @__PURE__ */ jsx59(
|
|
13385
12831
|
TurnSummaryFileCard,
|
|
13386
12832
|
{
|
|
13387
12833
|
file,
|
|
@@ -13404,10 +12850,10 @@ function AgentTurnSummaryRow({
|
|
|
13404
12850
|
className: "agent-turn-summary-card__toggle-more flex w-full items-center gap-2 px-4 py-2.5 text-left text-[11px] font-semibold transition-colors",
|
|
13405
12851
|
onClick: () => setShowAllFiles(true),
|
|
13406
12852
|
children: [
|
|
13407
|
-
/* @__PURE__ */
|
|
12853
|
+
/* @__PURE__ */ jsx59("span", { children: translate("agentHost.agentGui.turnSummaryShowMoreFiles", {
|
|
13408
12854
|
count: hiddenFileCount
|
|
13409
12855
|
}) }),
|
|
13410
|
-
/* @__PURE__ */
|
|
12856
|
+
/* @__PURE__ */ jsx59(ChevronDown8, { size: 16, strokeWidth: 2.2, "aria-hidden": "true" })
|
|
13411
12857
|
]
|
|
13412
12858
|
}
|
|
13413
12859
|
) : hiddenFileCount > 0 ? /* @__PURE__ */ jsxs45(
|
|
@@ -13417,8 +12863,8 @@ function AgentTurnSummaryRow({
|
|
|
13417
12863
|
className: "agent-turn-summary-card__toggle-more flex w-full items-center gap-2 px-4 py-2.5 text-left text-[11px] font-semibold transition-colors",
|
|
13418
12864
|
onClick: () => setShowAllFiles(false),
|
|
13419
12865
|
children: [
|
|
13420
|
-
/* @__PURE__ */
|
|
13421
|
-
/* @__PURE__ */
|
|
12866
|
+
/* @__PURE__ */ jsx59("span", { children: translate("agentHost.agentGui.turnSummaryShowFewerFiles") }),
|
|
12867
|
+
/* @__PURE__ */ jsx59(
|
|
13422
12868
|
ChevronRight8,
|
|
13423
12869
|
{
|
|
13424
12870
|
size: 16,
|
|
@@ -13474,7 +12920,7 @@ function TurnSummaryFileCard({
|
|
|
13474
12920
|
"aria-expanded": expanded,
|
|
13475
12921
|
onClick: onToggle,
|
|
13476
12922
|
children: [
|
|
13477
|
-
/* @__PURE__ */
|
|
12923
|
+
/* @__PURE__ */ jsx59("div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxs45(
|
|
13478
12924
|
"span",
|
|
13479
12925
|
{
|
|
13480
12926
|
className: `agent-turn-summary-card__path flex min-w-0 max-w-full overflow-hidden whitespace-nowrap text-[13px] font-medium leading-5 text-[var(--text-secondary)] ${file.changeType === "deleted" ? "line-through" : ""}`,
|
|
@@ -13484,11 +12930,11 @@ function TurnSummaryFileCard({
|
|
|
13484
12930
|
file.directory,
|
|
13485
12931
|
"/"
|
|
13486
12932
|
] }) : null,
|
|
13487
|
-
/* @__PURE__ */
|
|
12933
|
+
/* @__PURE__ */ jsx59("span", { className: "agent-turn-summary-card__path-file", children: file.fileName })
|
|
13488
12934
|
]
|
|
13489
12935
|
}
|
|
13490
12936
|
) }),
|
|
13491
|
-
/* @__PURE__ */
|
|
12937
|
+
/* @__PURE__ */ jsx59("span", { className: "shrink-0 text-[var(--text-tertiary)] opacity-0 transition-opacity group-hover/file-toggle:opacity-100 group-focus-visible/file-toggle:opacity-100", children: /* @__PURE__ */ jsx59(
|
|
13492
12938
|
ChevronRight8,
|
|
13493
12939
|
{
|
|
13494
12940
|
size: 14,
|
|
@@ -13511,7 +12957,7 @@ function TurnSummaryFileCard({
|
|
|
13511
12957
|
] }) : null
|
|
13512
12958
|
] })
|
|
13513
12959
|
] }),
|
|
13514
|
-
canOpen ? /* @__PURE__ */
|
|
12960
|
+
canOpen ? /* @__PURE__ */ jsx59(
|
|
13515
12961
|
CanvasNodeGhostIconButton,
|
|
13516
12962
|
{
|
|
13517
12963
|
"aria-label": translate(
|
|
@@ -13523,7 +12969,7 @@ function TurnSummaryFileCard({
|
|
|
13523
12969
|
onClick: () => {
|
|
13524
12970
|
onLinkAction?.(action);
|
|
13525
12971
|
},
|
|
13526
|
-
children: /* @__PURE__ */
|
|
12972
|
+
children: /* @__PURE__ */ jsx59(
|
|
13527
12973
|
DirectLinedIcon,
|
|
13528
12974
|
{
|
|
13529
12975
|
width: 14,
|
|
@@ -13535,12 +12981,12 @@ function TurnSummaryFileCard({
|
|
|
13535
12981
|
}
|
|
13536
12982
|
) : null
|
|
13537
12983
|
] }),
|
|
13538
|
-
preview ? /* @__PURE__ */
|
|
12984
|
+
preview ? /* @__PURE__ */ jsx59(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx59("div", { className: "agent-turn-summary-card__preview rounded-none px-4 pb-3 pt-2", children: preview }) }) : null
|
|
13539
12985
|
] });
|
|
13540
12986
|
}
|
|
13541
12987
|
function filePreview(file) {
|
|
13542
12988
|
if (file.changeType === "created" && file.content?.trim()) {
|
|
13543
|
-
return /* @__PURE__ */
|
|
12989
|
+
return /* @__PURE__ */ jsx59(
|
|
13544
12990
|
AgentCodeBlock,
|
|
13545
12991
|
{
|
|
13546
12992
|
path: file.path,
|
|
@@ -13552,7 +12998,7 @@ function filePreview(file) {
|
|
|
13552
12998
|
);
|
|
13553
12999
|
}
|
|
13554
13000
|
if (file.unifiedDiff?.trim()) {
|
|
13555
|
-
return /* @__PURE__ */
|
|
13001
|
+
return /* @__PURE__ */ jsx59(
|
|
13556
13002
|
AgentUnifiedPatchViewer,
|
|
13557
13003
|
{
|
|
13558
13004
|
path: file.path,
|
|
@@ -13563,7 +13009,7 @@ function filePreview(file) {
|
|
|
13563
13009
|
);
|
|
13564
13010
|
}
|
|
13565
13011
|
if (file.changeType === "created" && file.newString?.trim()) {
|
|
13566
|
-
return /* @__PURE__ */
|
|
13012
|
+
return /* @__PURE__ */ jsx59(
|
|
13567
13013
|
AgentCodeBlock,
|
|
13568
13014
|
{
|
|
13569
13015
|
path: file.path,
|
|
@@ -13575,7 +13021,7 @@ function filePreview(file) {
|
|
|
13575
13021
|
);
|
|
13576
13022
|
}
|
|
13577
13023
|
if (file.oldString?.trim() || file.newString?.trim()) {
|
|
13578
|
-
return /* @__PURE__ */
|
|
13024
|
+
return /* @__PURE__ */ jsx59(
|
|
13579
13025
|
AgentMonacoDiffViewer,
|
|
13580
13026
|
{
|
|
13581
13027
|
path: file.path,
|
|
@@ -13587,7 +13033,7 @@ function filePreview(file) {
|
|
|
13587
13033
|
);
|
|
13588
13034
|
}
|
|
13589
13035
|
if (file.content?.trim()) {
|
|
13590
|
-
return /* @__PURE__ */
|
|
13036
|
+
return /* @__PURE__ */ jsx59(
|
|
13591
13037
|
AgentCodeBlock,
|
|
13592
13038
|
{
|
|
13593
13039
|
path: file.path,
|
|
@@ -13679,7 +13125,7 @@ function summarizeFileDiff(file) {
|
|
|
13679
13125
|
}
|
|
13680
13126
|
|
|
13681
13127
|
// shared/agentConversation/components/AgentTranscriptItemView.tsx
|
|
13682
|
-
import { jsx as
|
|
13128
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
13683
13129
|
var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
13684
13130
|
workspaceRoot,
|
|
13685
13131
|
basePath,
|
|
@@ -13713,7 +13159,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
13713
13159
|
);
|
|
13714
13160
|
switch (row.kind) {
|
|
13715
13161
|
case "message":
|
|
13716
|
-
return /* @__PURE__ */
|
|
13162
|
+
return /* @__PURE__ */ jsx60(
|
|
13717
13163
|
AgentMessageBlock,
|
|
13718
13164
|
{
|
|
13719
13165
|
workspaceRoot,
|
|
@@ -13731,7 +13177,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
13731
13177
|
}
|
|
13732
13178
|
);
|
|
13733
13179
|
case "tool-group":
|
|
13734
|
-
return /* @__PURE__ */
|
|
13180
|
+
return /* @__PURE__ */ jsx60(
|
|
13735
13181
|
AgentToolGroupRow,
|
|
13736
13182
|
{
|
|
13737
13183
|
row,
|
|
@@ -13747,7 +13193,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
13747
13193
|
}
|
|
13748
13194
|
);
|
|
13749
13195
|
case "turn-summary":
|
|
13750
|
-
return /* @__PURE__ */
|
|
13196
|
+
return /* @__PURE__ */ jsx60(
|
|
13751
13197
|
AgentTurnSummaryRow,
|
|
13752
13198
|
{
|
|
13753
13199
|
row,
|
|
@@ -13759,7 +13205,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
13759
13205
|
}
|
|
13760
13206
|
);
|
|
13761
13207
|
case "processing":
|
|
13762
|
-
return /* @__PURE__ */
|
|
13208
|
+
return /* @__PURE__ */ jsx60(AgentProcessingRow, { row, label: labels.processing });
|
|
13763
13209
|
}
|
|
13764
13210
|
});
|
|
13765
13211
|
|
|
@@ -13885,7 +13331,7 @@ function looksLikeTableSeparator(line) {
|
|
|
13885
13331
|
|
|
13886
13332
|
// shared/agentConversation/components/AgentMessageLocatorRail.tsx
|
|
13887
13333
|
import {
|
|
13888
|
-
useEffect as
|
|
13334
|
+
useEffect as useEffect12,
|
|
13889
13335
|
useLayoutEffect as useLayoutEffect3,
|
|
13890
13336
|
useRef as useRef9,
|
|
13891
13337
|
useState as useState20
|
|
@@ -14003,7 +13449,10 @@ function findTurnDividerRowIndexes(turnIndexById, rows) {
|
|
|
14003
13449
|
}
|
|
14004
13450
|
const turnIndex = turnIndexById.get(currentTurnId) ?? -1;
|
|
14005
13451
|
const previousTurnId = rows[rowIndex - 1]?.turnId ?? null;
|
|
14006
|
-
if (rowIndex > 0 && turnIndex > 0 && previousTurnId && previousTurnId !== currentTurnId && !
|
|
13452
|
+
if (rowIndex > 0 && turnIndex > 0 && previousTurnId && previousTurnId !== currentTurnId && !agentTranscriptRowHasPresentationKind(
|
|
13453
|
+
rows[rowIndex - 1],
|
|
13454
|
+
"turn-boundary"
|
|
13455
|
+
) && !previousTurnIds.has(currentTurnId)) {
|
|
14007
13456
|
dividerRowIndexes.add(rowIndex);
|
|
14008
13457
|
}
|
|
14009
13458
|
previousTurnIds.add(currentTurnId);
|
|
@@ -14012,7 +13461,7 @@ function findTurnDividerRowIndexes(turnIndexById, rows) {
|
|
|
14012
13461
|
}
|
|
14013
13462
|
|
|
14014
13463
|
// shared/agentConversation/components/AgentMessageLocatorRail.tsx
|
|
14015
|
-
import { jsx as
|
|
13464
|
+
import { jsx as jsx61, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
14016
13465
|
var AGENT_MESSAGE_LOCATOR_PANEL_FADE_MS = 160;
|
|
14017
13466
|
var AGENT_MESSAGE_LOCATOR_ITEM_SPACING_PX = 30;
|
|
14018
13467
|
var AGENT_MESSAGE_LOCATOR_HIT_SIZE_PX = 36;
|
|
@@ -14034,7 +13483,7 @@ function AgentMessageLocatorRail({
|
|
|
14034
13483
|
const previousAgentResponseByKeyRef = useRef9(null);
|
|
14035
13484
|
const [unreadAgentResponseKeys, setUnreadAgentResponseKeys] = useState20(/* @__PURE__ */ new Set());
|
|
14036
13485
|
const [visibleFrame, setVisibleFrame] = useState20(null);
|
|
14037
|
-
|
|
13486
|
+
useEffect12(() => {
|
|
14038
13487
|
if (isPanelOpen) {
|
|
14039
13488
|
setShouldRenderPanel(true);
|
|
14040
13489
|
return;
|
|
@@ -14045,7 +13494,7 @@ function AgentMessageLocatorRail({
|
|
|
14045
13494
|
);
|
|
14046
13495
|
return () => window.clearTimeout(timeout);
|
|
14047
13496
|
}, [isPanelOpen]);
|
|
14048
|
-
|
|
13497
|
+
useEffect12(
|
|
14049
13498
|
() => () => {
|
|
14050
13499
|
if (closePanelTimeoutRef.current !== null) {
|
|
14051
13500
|
window.clearTimeout(closePanelTimeoutRef.current);
|
|
@@ -14053,12 +13502,12 @@ function AgentMessageLocatorRail({
|
|
|
14053
13502
|
},
|
|
14054
13503
|
[]
|
|
14055
13504
|
);
|
|
14056
|
-
|
|
13505
|
+
useEffect12(() => {
|
|
14057
13506
|
if (selectedKey && !items.some((item) => item.key === selectedKey)) {
|
|
14058
13507
|
setSelectedKey(null);
|
|
14059
13508
|
}
|
|
14060
13509
|
}, [items, selectedKey]);
|
|
14061
|
-
|
|
13510
|
+
useEffect12(() => {
|
|
14062
13511
|
const previousAgentResponseByKey = previousAgentResponseByKeyRef.current;
|
|
14063
13512
|
const currentKeys = new Set(items.map((item) => item.key));
|
|
14064
13513
|
setUnreadAgentResponseKeys((currentUnreadKeys) => {
|
|
@@ -14088,7 +13537,7 @@ function AgentMessageLocatorRail({
|
|
|
14088
13537
|
items.map((item) => [item.key, item.hasAgentResponse])
|
|
14089
13538
|
);
|
|
14090
13539
|
}, [items, selectedKey]);
|
|
14091
|
-
|
|
13540
|
+
useEffect12(() => {
|
|
14092
13541
|
if (!selectedKey) {
|
|
14093
13542
|
return;
|
|
14094
13543
|
}
|
|
@@ -14133,7 +13582,7 @@ function AgentMessageLocatorRail({
|
|
|
14133
13582
|
}
|
|
14134
13583
|
};
|
|
14135
13584
|
}, [items.length]);
|
|
14136
|
-
|
|
13585
|
+
useEffect12(() => {
|
|
14137
13586
|
const locator = locatorRef.current;
|
|
14138
13587
|
const scrollParent = locator ? findMessageLocatorScrollParent(locator) : null;
|
|
14139
13588
|
if (!scrollParent) {
|
|
@@ -14280,7 +13729,7 @@ function AgentMessageLocatorRail({
|
|
|
14280
13729
|
} : {}
|
|
14281
13730
|
},
|
|
14282
13731
|
children: [
|
|
14283
|
-
/* @__PURE__ */
|
|
13732
|
+
/* @__PURE__ */ jsx61(
|
|
14284
13733
|
"div",
|
|
14285
13734
|
{
|
|
14286
13735
|
ref: locatorViewportRef,
|
|
@@ -14296,7 +13745,7 @@ function AgentMessageLocatorRail({
|
|
|
14296
13745
|
"--agent-message-locator-height": `${railHeight}px`
|
|
14297
13746
|
},
|
|
14298
13747
|
children: [
|
|
14299
|
-
items.slice(0, -1).map((item, index) => /* @__PURE__ */
|
|
13748
|
+
items.slice(0, -1).map((item, index) => /* @__PURE__ */ jsx61(
|
|
14300
13749
|
"div",
|
|
14301
13750
|
{
|
|
14302
13751
|
className: "agent-gui-message-locator__track-segment",
|
|
@@ -14307,7 +13756,7 @@ function AgentMessageLocatorRail({
|
|
|
14307
13756
|
},
|
|
14308
13757
|
`segment:${item.key}`
|
|
14309
13758
|
)),
|
|
14310
|
-
items.map((item, index) => /* @__PURE__ */
|
|
13759
|
+
items.map((item, index) => /* @__PURE__ */ jsx61(
|
|
14311
13760
|
"button",
|
|
14312
13761
|
{
|
|
14313
13762
|
type: "button",
|
|
@@ -14322,7 +13771,7 @@ function AgentMessageLocatorRail({
|
|
|
14322
13771
|
onClick: () => handleLocateItem(item),
|
|
14323
13772
|
onFocus: () => setActiveKey(item.key),
|
|
14324
13773
|
onMouseEnter: () => setActiveKey(item.key),
|
|
14325
|
-
children: /* @__PURE__ */
|
|
13774
|
+
children: /* @__PURE__ */ jsx61(
|
|
14326
13775
|
"span",
|
|
14327
13776
|
{
|
|
14328
13777
|
className: "agent-gui-message-locator__dot",
|
|
@@ -14337,7 +13786,7 @@ function AgentMessageLocatorRail({
|
|
|
14337
13786
|
)
|
|
14338
13787
|
}
|
|
14339
13788
|
),
|
|
14340
|
-
shouldRenderPanel ? /* @__PURE__ */
|
|
13789
|
+
shouldRenderPanel ? /* @__PURE__ */ jsx61(
|
|
14341
13790
|
"div",
|
|
14342
13791
|
{
|
|
14343
13792
|
className: "agent-gui-message-locator__panel",
|
|
@@ -14347,7 +13796,7 @@ function AgentMessageLocatorRail({
|
|
|
14347
13796
|
onMouseEnter: openPanel,
|
|
14348
13797
|
onMouseLeave: closePanelSoon,
|
|
14349
13798
|
onWheel: containMessageLocatorPanelWheel,
|
|
14350
|
-
children: items.map((item) => /* @__PURE__ */
|
|
13799
|
+
children: items.map((item) => /* @__PURE__ */ jsx61(
|
|
14351
13800
|
"button",
|
|
14352
13801
|
{
|
|
14353
13802
|
type: "button",
|
|
@@ -14356,7 +13805,7 @@ function AgentMessageLocatorRail({
|
|
|
14356
13805
|
onClick: () => handleLocateItem(item),
|
|
14357
13806
|
onFocus: () => setActiveKey(item.key),
|
|
14358
13807
|
onMouseEnter: () => setActiveKey(item.key),
|
|
14359
|
-
children: /* @__PURE__ */
|
|
13808
|
+
children: /* @__PURE__ */ jsx61("span", { className: "agent-gui-message-locator__panel-item-text", children: item.summary })
|
|
14360
13809
|
},
|
|
14361
13810
|
`panel:${item.key}`
|
|
14362
13811
|
))
|
|
@@ -14499,7 +13948,7 @@ function selectMessageLocatorItemAtViewportCenter(scrollParent, items) {
|
|
|
14499
13948
|
}
|
|
14500
13949
|
|
|
14501
13950
|
// shared/agentConversation/components/AgentTranscriptView.tsx
|
|
14502
|
-
import { Fragment as Fragment8, jsx as
|
|
13951
|
+
import { Fragment as Fragment8, jsx as jsx62, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
14503
13952
|
var AGENT_TRANSCRIPT_VIRTUALIZATION_OVERSCAN = 6;
|
|
14504
13953
|
var AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX = 280;
|
|
14505
13954
|
var AGENT_TRANSCRIPT_TURN_GAP_PX = 12;
|
|
@@ -14638,7 +14087,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14638
14087
|
const showTurnDivider = dividerRowIndexes.has(rowIndex);
|
|
14639
14088
|
const shouldAnimateEnter = row.kind !== "processing" && enteringRowKeys.has(rowKey);
|
|
14640
14089
|
return /* @__PURE__ */ jsxs47(Fragment7, { children: [
|
|
14641
|
-
showTurnDivider ? /* @__PURE__ */
|
|
14090
|
+
showTurnDivider ? /* @__PURE__ */ jsx62(
|
|
14642
14091
|
"div",
|
|
14643
14092
|
{
|
|
14644
14093
|
className: "h-px w-full flex-none bg-[var(--line-2,var(--tutti-line-2))]",
|
|
@@ -14646,7 +14095,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14646
14095
|
"aria-hidden": "true"
|
|
14647
14096
|
}
|
|
14648
14097
|
) : null,
|
|
14649
|
-
/* @__PURE__ */
|
|
14098
|
+
/* @__PURE__ */ jsx62(
|
|
14650
14099
|
"div",
|
|
14651
14100
|
{
|
|
14652
14101
|
className: "agent-gui-transcript-row",
|
|
@@ -14654,7 +14103,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14654
14103
|
"data-agent-transcript-row-kind": row.kind,
|
|
14655
14104
|
"data-agent-transcript-row-index": rowIndex,
|
|
14656
14105
|
"data-agent-transcript-row-enter": shouldAnimateEnter ? "true" : void 0,
|
|
14657
|
-
children: /* @__PURE__ */
|
|
14106
|
+
children: /* @__PURE__ */ jsx62(
|
|
14658
14107
|
AgentTranscriptItemView,
|
|
14659
14108
|
{
|
|
14660
14109
|
workspaceRoot,
|
|
@@ -14690,7 +14139,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14690
14139
|
) + fallbackIndex) * AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX
|
|
14691
14140
|
})) : rowVirtualizer.getVirtualItems();
|
|
14692
14141
|
return /* @__PURE__ */ jsxs47(Fragment8, { children: [
|
|
14693
|
-
/* @__PURE__ */
|
|
14142
|
+
/* @__PURE__ */ jsx62(
|
|
14694
14143
|
AgentMessageLocatorRail,
|
|
14695
14144
|
{
|
|
14696
14145
|
items: userMessageLocatorItems,
|
|
@@ -14698,7 +14147,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14698
14147
|
onLocate: handleLocateUserMessage
|
|
14699
14148
|
}
|
|
14700
14149
|
),
|
|
14701
|
-
/* @__PURE__ */
|
|
14150
|
+
/* @__PURE__ */ jsx62(
|
|
14702
14151
|
"div",
|
|
14703
14152
|
{
|
|
14704
14153
|
ref: virtualizerHostRef,
|
|
@@ -14710,7 +14159,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14710
14159
|
if (!group) {
|
|
14711
14160
|
return null;
|
|
14712
14161
|
}
|
|
14713
|
-
return /* @__PURE__ */
|
|
14162
|
+
return /* @__PURE__ */ jsx62(
|
|
14714
14163
|
"div",
|
|
14715
14164
|
{
|
|
14716
14165
|
ref: rowVirtualizer.measureElement,
|
|
@@ -14733,7 +14182,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14733
14182
|
] });
|
|
14734
14183
|
}
|
|
14735
14184
|
return /* @__PURE__ */ jsxs47(Fragment8, { children: [
|
|
14736
|
-
/* @__PURE__ */
|
|
14185
|
+
/* @__PURE__ */ jsx62(
|
|
14737
14186
|
AgentMessageLocatorRail,
|
|
14738
14187
|
{
|
|
14739
14188
|
items: userMessageLocatorItems,
|
|
@@ -14747,7 +14196,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14747
14196
|
|
|
14748
14197
|
// shared/agentConversation/components/AgentConversationFlow.tsx
|
|
14749
14198
|
import { memo as memo5 } from "react";
|
|
14750
|
-
import { Fragment as Fragment9, jsx as
|
|
14199
|
+
import { Fragment as Fragment9, jsx as jsx63 } from "react/jsx-runtime";
|
|
14751
14200
|
var AgentConversationFlow = memo5(function AgentConversationFlow2({
|
|
14752
14201
|
conversation,
|
|
14753
14202
|
isLoading,
|
|
@@ -14764,12 +14213,12 @@ var AgentConversationFlow = memo5(function AgentConversationFlow2({
|
|
|
14764
14213
|
}) {
|
|
14765
14214
|
"use memo";
|
|
14766
14215
|
if (isLoading) {
|
|
14767
|
-
return /* @__PURE__ */
|
|
14216
|
+
return /* @__PURE__ */ jsx63(AgentTranscriptSkeleton, { label: loadingLabel, testId: loadingTestId });
|
|
14768
14217
|
}
|
|
14769
14218
|
if (!conversation || conversation.rows.length === 0) {
|
|
14770
|
-
return /* @__PURE__ */
|
|
14219
|
+
return /* @__PURE__ */ jsx63(Fragment9, { children: empty });
|
|
14771
14220
|
}
|
|
14772
|
-
return /* @__PURE__ */
|
|
14221
|
+
return /* @__PURE__ */ jsx63(
|
|
14773
14222
|
AgentTranscriptView,
|
|
14774
14223
|
{
|
|
14775
14224
|
conversation,
|
|
@@ -14816,10 +14265,8 @@ export {
|
|
|
14816
14265
|
Button,
|
|
14817
14266
|
isWorkspaceAgentToolCallItem,
|
|
14818
14267
|
resolveWorkspaceAgentToolName,
|
|
14268
|
+
resolveWorkspaceAgentNoticeCommandSemantics,
|
|
14819
14269
|
buildWorkspaceAgentSessionDetailViewModel,
|
|
14820
|
-
skillTriggerForPrefix,
|
|
14821
|
-
labelForProviderSkill,
|
|
14822
|
-
skillDescriptionForDisplay,
|
|
14823
14270
|
pastedTextPreview,
|
|
14824
14271
|
MAX_AGENT_COMPOSER_DRAFT_IMAGES,
|
|
14825
14272
|
emptyAgentComposerDraft,
|
|
@@ -14837,22 +14284,16 @@ export {
|
|
|
14837
14284
|
agentPromptContentHasImage,
|
|
14838
14285
|
agentPromptContentImageBlocks,
|
|
14839
14286
|
agentPromptContentToComposerDraft,
|
|
14840
|
-
|
|
14841
|
-
agentComposerDraftDisplayPrompt,
|
|
14287
|
+
projectAgentComposerDraftSubmission,
|
|
14842
14288
|
textPromptContent,
|
|
14843
14289
|
materializePastedTextInstructions,
|
|
14844
14290
|
projectAgentConversationVM,
|
|
14845
14291
|
reconcileProjectedAgentConversationVM,
|
|
14846
14292
|
getAppErrorCode,
|
|
14847
14293
|
toLocalShortDateTime,
|
|
14848
|
-
createAgentRichTextInputExtensions,
|
|
14849
|
-
plainTextToAgentRichTextDoc,
|
|
14850
|
-
plainTextToAgentRichTextInlineContent,
|
|
14851
|
-
editorToPromptText,
|
|
14852
|
-
agentRichTextContentToPromptText,
|
|
14853
14294
|
AgentTranscriptSkeleton,
|
|
14854
14295
|
AgentTranscriptView,
|
|
14855
14296
|
AgentConversationFlow,
|
|
14856
14297
|
useProjectedAgentConversation
|
|
14857
14298
|
};
|
|
14858
|
-
//# sourceMappingURL=chunk-
|
|
14299
|
+
//# sourceMappingURL=chunk-IR2CL2X2.js.map
|