@tutti-os/agent-gui 0.0.95 → 0.0.96
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/README.md +38 -6
- package/dist/{AgentGUI-CwBLYtv-.d.ts → AgentGUI-DWdvUV4x.d.ts} +64 -18
- package/dist/agent-conversation/index.d.ts +3 -2
- package/dist/agent-conversation/index.js +10 -9
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.js +1 -1
- package/dist/agent-gui.d.ts +5 -5
- package/dist/agent-gui.js +26 -26
- package/dist/agent-message-center/index.d.ts +14 -3
- package/dist/agent-message-center/index.js +182 -47
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentFileMentionContracts-Czvz6YMI.d.ts → agentFileMentionContracts-58IjMU-u.d.ts} +1 -0
- package/dist/{agentGuiNodeTypes-DppADPHW.d.ts → agentGuiNodeTypes-B9X4aWfv.d.ts} +30 -18
- package/dist/agents.d.ts +1 -1
- package/dist/agents.js +1 -1
- package/dist/app/renderer/agentactivity.css +150 -3
- package/dist/{chunk-C5FV4UGI.js → chunk-2HJEOO7W.js} +14 -6
- package/dist/chunk-2HJEOO7W.js.map +1 -0
- package/dist/{chunk-BFNJKTDV.js → chunk-3XXBDYAI.js} +11 -16
- package/dist/chunk-3XXBDYAI.js.map +1 -0
- package/dist/{chunk-YE25HN6T.js → chunk-3Y3F7CS5.js} +17 -25
- package/dist/chunk-3Y3F7CS5.js.map +1 -0
- package/dist/{chunk-CRO2MV2Y.js → chunk-4PQPJ5OY.js} +21 -116
- package/dist/chunk-4PQPJ5OY.js.map +1 -0
- package/dist/{chunk-R2EWECUP.js → chunk-7BXWPI4F.js} +17 -2
- package/dist/{chunk-R2EWECUP.js.map → chunk-7BXWPI4F.js.map} +1 -1
- package/dist/{chunk-LQVXBT65.js → chunk-AGT7MUTV.js} +9 -9
- package/dist/{chunk-LQVXBT65.js.map → chunk-AGT7MUTV.js.map} +1 -1
- package/dist/{chunk-O6W72SEP.js → chunk-C35SNDVZ.js} +4 -1
- package/dist/chunk-C35SNDVZ.js.map +1 -0
- package/dist/{chunk-BIHBXWK5.js → chunk-E4HQUTM3.js} +2 -2
- package/dist/{chunk-NX3CZJXW.js → chunk-H5F3QSCF.js} +2 -2
- package/dist/{chunk-WEDMAVX2.js → chunk-IYEXLOUE.js} +3 -6
- package/dist/chunk-IYEXLOUE.js.map +1 -0
- package/dist/{chunk-3R2D4E57.js → chunk-JKIZA7EJ.js} +933 -844
- package/dist/chunk-JKIZA7EJ.js.map +1 -0
- package/dist/{chunk-UQJPV6HP.js → chunk-L3GMMGRS.js} +8 -6
- package/dist/chunk-L3GMMGRS.js.map +1 -0
- package/dist/{chunk-KAL4XZMA.js → chunk-MASXZENX.js} +1 -1
- package/dist/chunk-MASXZENX.js.map +1 -0
- package/dist/{chunk-7PFDA2HQ.js → chunk-O3Q5SIJH.js} +3 -3
- package/dist/{chunk-NITOD7WF.js → chunk-QVBF5BN5.js} +2 -2
- package/dist/{chunk-7RDD3EWP.js → chunk-RE4AXS27.js} +24 -15
- package/dist/chunk-RE4AXS27.js.map +1 -0
- package/dist/{chunk-NJAZ7LQM.js → chunk-TVIGLNNI.js} +3 -3
- package/dist/{chunk-VF22EG3F.js → chunk-UHBCM6RO.js} +1 -1
- package/dist/chunk-UHBCM6RO.js.map +1 -0
- package/dist/{chunk-AOS2VWU6.js → chunk-W6WAGPMD.js} +33 -3
- package/dist/chunk-W6WAGPMD.js.map +1 -0
- package/dist/{chunk-RY6GIO3K.js → chunk-WKSFPJHZ.js} +5010 -3656
- package/dist/chunk-WKSFPJHZ.js.map +1 -0
- package/dist/{chunk-JX2SIXNL.js → chunk-WMNS4MAQ.js} +8 -7
- package/dist/{chunk-JX2SIXNL.js.map → chunk-WMNS4MAQ.js.map} +1 -1
- package/dist/{chunk-XMO45GKA.js → chunk-XPFHJMZP.js} +14 -4
- package/dist/chunk-XPFHJMZP.js.map +1 -0
- package/dist/chunk-YMXYBG7U.js +12 -0
- package/dist/chunk-YMXYBG7U.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +1 -1
- package/dist/context-mention-palette/index.js +14 -14
- package/dist/custom-mention.d.ts +2 -4
- package/dist/dock-icons.d.ts +2 -4
- package/dist/i18n/index.d.ts +30 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +14 -12
- package/dist/index.js +34 -30
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +1 -1
- package/dist/mention-search.js +11 -11
- package/dist/pastedTextKinds-D-XuInaS.d.ts +4 -0
- package/dist/startup-shell.d.ts +8 -0
- package/dist/startup-shell.js +184 -0
- package/dist/startup-shell.js.map +1 -0
- package/dist/{types-DX2bxgB8.d.ts → types-CnT8rNUI.d.ts} +16 -5
- package/dist/workbench/contribution.d.ts +3 -2
- package/dist/workbench/contribution.js +6 -6
- package/dist/workbench/index.d.ts +4 -4
- package/dist/workbench/index.js +14 -16
- package/dist/workbench/launch.d.ts +2 -2
- package/dist/workbench/launch.js +3 -3
- package/dist/workbench/providerCatalog.d.ts +2 -2
- package/dist/workbench/providerCatalog.js +1 -1
- package/dist/workbench/sessionTitle.d.ts +8 -12
- package/dist/workbench/sessionTitle.js +5 -7
- package/dist/workbench/state.js +2 -2
- package/dist/workbench/types.d.ts +2 -1
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.js +6 -6
- package/package.json +19 -12
- package/dist/chunk-3R2D4E57.js.map +0 -1
- package/dist/chunk-7J4K6WKB.js +0 -66
- package/dist/chunk-7J4K6WKB.js.map +0 -1
- package/dist/chunk-7RDD3EWP.js.map +0 -1
- package/dist/chunk-AOS2VWU6.js.map +0 -1
- package/dist/chunk-BFNJKTDV.js.map +0 -1
- package/dist/chunk-C5FV4UGI.js.map +0 -1
- package/dist/chunk-CRO2MV2Y.js.map +0 -1
- package/dist/chunk-KAL4XZMA.js.map +0 -1
- package/dist/chunk-O6W72SEP.js.map +0 -1
- package/dist/chunk-RY6GIO3K.js.map +0 -1
- package/dist/chunk-UQJPV6HP.js.map +0 -1
- package/dist/chunk-VF22EG3F.js.map +0 -1
- package/dist/chunk-WEDMAVX2.js.map +0 -1
- package/dist/chunk-XMO45GKA.js.map +0 -1
- package/dist/chunk-YE25HN6T.js.map +0 -1
- package/dist/uiSettings-BQS9r2eo.d.ts +0 -6
- /package/dist/{chunk-BIHBXWK5.js.map → chunk-E4HQUTM3.js.map} +0 -0
- /package/dist/{chunk-NX3CZJXW.js.map → chunk-H5F3QSCF.js.map} +0 -0
- /package/dist/{chunk-7PFDA2HQ.js.map → chunk-O3Q5SIJH.js.map} +0 -0
- /package/dist/{chunk-NITOD7WF.js.map → chunk-QVBF5BN5.js.map} +0 -0
- /package/dist/{chunk-NJAZ7LQM.js.map → chunk-TVIGLNNI.js.map} +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
classifyFailedAgentMessage,
|
|
3
|
+
isProviderPlanLimitMessage,
|
|
3
4
|
openAgentEnvPanel,
|
|
4
5
|
resolveAgentErrorPresentation
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7BXWPI4F.js";
|
|
6
7
|
import {
|
|
7
8
|
AGENT_PASTED_TEXT_BLOCK_KIND,
|
|
8
9
|
AGENT_PASTED_TEXT_MENTION_KIND
|
|
@@ -14,7 +15,7 @@ import {
|
|
|
14
15
|
formatAgentMentionMarkdown,
|
|
15
16
|
mentionItemToAttrs,
|
|
16
17
|
parseAgentMentionMarkdown
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-O3Q5SIJH.js";
|
|
18
19
|
import {
|
|
19
20
|
fileChangeCountFromChanges,
|
|
20
21
|
fileChangeEntriesFromChanges,
|
|
@@ -38,18 +39,21 @@ import {
|
|
|
38
39
|
resolveWorkspaceFilePathCandidate,
|
|
39
40
|
resolveWorkspaceLinkAction,
|
|
40
41
|
useAgentTargetPresentations
|
|
41
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-2HJEOO7W.js";
|
|
42
43
|
import {
|
|
43
44
|
useOptionalAgentActivityRuntime,
|
|
44
45
|
useOptionalAgentHostApi
|
|
45
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-MASXZENX.js";
|
|
46
47
|
import {
|
|
47
48
|
workspaceAgentProviderLabel
|
|
48
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-H5F3QSCF.js";
|
|
50
|
+
import {
|
|
51
|
+
normalizeAgentTitleText
|
|
52
|
+
} from "./chunk-GCBDIQDX.js";
|
|
49
53
|
import {
|
|
50
54
|
getActiveUiLanguage,
|
|
51
55
|
translate
|
|
52
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-E4HQUTM3.js";
|
|
53
57
|
|
|
54
58
|
// shared/imageGenerationTool.ts
|
|
55
59
|
var KNOWN_IMAGE_GENERATION_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
@@ -3654,12 +3658,77 @@ function pastedTextMentionMarkdown(item, index) {
|
|
|
3654
3658
|
}
|
|
3655
3659
|
var MAX_AGENT_COMPOSER_DRAFT_IMAGES = 8;
|
|
3656
3660
|
function emptyAgentComposerDraft() {
|
|
3657
|
-
return {
|
|
3661
|
+
return [{ type: "text", text: "" }];
|
|
3662
|
+
}
|
|
3663
|
+
function snapshotAgentComposerDraft(draft) {
|
|
3664
|
+
const [textBlock, ...attachmentBlocks] = draft;
|
|
3665
|
+
return [{ ...textBlock }, ...attachmentBlocks.map((block) => ({ ...block }))];
|
|
3666
|
+
}
|
|
3667
|
+
function agentComposerDraftPrompt(draft) {
|
|
3668
|
+
return draft[0].text;
|
|
3669
|
+
}
|
|
3670
|
+
function agentComposerDraftImages(draft) {
|
|
3671
|
+
return draft.filter(
|
|
3672
|
+
(block) => block.type === "image"
|
|
3673
|
+
).map(({ type: _type, ...image }) => image);
|
|
3674
|
+
}
|
|
3675
|
+
function agentComposerDraftFiles(draft) {
|
|
3676
|
+
return draft.filter(
|
|
3677
|
+
(block) => block.type === "file" && block.kind === "file"
|
|
3678
|
+
).map(({ type: _type, kind: _kind, text: _text, ...file }) => file);
|
|
3679
|
+
}
|
|
3680
|
+
function agentComposerDraftLargeTexts(draft) {
|
|
3681
|
+
return draft.filter(
|
|
3682
|
+
(block) => block.type === "file" && block.kind === AGENT_PASTED_TEXT_BLOCK_KIND
|
|
3683
|
+
).map(({ type: _type, kind: _kind, ...item }) => item);
|
|
3684
|
+
}
|
|
3685
|
+
var attachmentProjectionByDraft = /* @__PURE__ */ new WeakMap();
|
|
3686
|
+
function agentComposerDraftAttachmentProjection(draft) {
|
|
3687
|
+
const cached = attachmentProjectionByDraft.get(draft);
|
|
3688
|
+
if (cached) return cached;
|
|
3689
|
+
const projection = {
|
|
3690
|
+
images: agentComposerDraftImages(draft),
|
|
3691
|
+
files: agentComposerDraftFiles(draft),
|
|
3692
|
+
largeTexts: agentComposerDraftLargeTexts(draft)
|
|
3693
|
+
};
|
|
3694
|
+
attachmentProjectionByDraft.set(draft, projection);
|
|
3695
|
+
return projection;
|
|
3696
|
+
}
|
|
3697
|
+
function buildAgentComposerDraft(input) {
|
|
3698
|
+
return [
|
|
3699
|
+
{ type: "text", text: input.prompt },
|
|
3700
|
+
...(input.images ?? []).map((image) => ({
|
|
3701
|
+
type: "image",
|
|
3702
|
+
...image
|
|
3703
|
+
})),
|
|
3704
|
+
...(input.files ?? []).map((file) => ({
|
|
3705
|
+
type: "file",
|
|
3706
|
+
kind: "file",
|
|
3707
|
+
...file
|
|
3708
|
+
})),
|
|
3709
|
+
...(input.largeTexts ?? []).map(
|
|
3710
|
+
(item) => ({
|
|
3711
|
+
type: "file",
|
|
3712
|
+
kind: AGENT_PASTED_TEXT_BLOCK_KIND,
|
|
3713
|
+
...item
|
|
3714
|
+
})
|
|
3715
|
+
)
|
|
3716
|
+
];
|
|
3717
|
+
}
|
|
3718
|
+
function updateAgentComposerDraft(draft, update) {
|
|
3719
|
+
return buildAgentComposerDraft({
|
|
3720
|
+
prompt: update.prompt ?? agentComposerDraftPrompt(draft),
|
|
3721
|
+
images: update.images ?? agentComposerDraftImages(draft),
|
|
3722
|
+
files: update.files ?? agentComposerDraftFiles(draft),
|
|
3723
|
+
largeTexts: update.largeTexts ?? agentComposerDraftLargeTexts(draft)
|
|
3724
|
+
});
|
|
3658
3725
|
}
|
|
3659
3726
|
function agentComposerDraftHasContent(draft) {
|
|
3660
|
-
return draft.
|
|
3661
|
-
(
|
|
3662
|
-
|
|
3727
|
+
return draft.some((block) => {
|
|
3728
|
+
if (block.type === "text") return block.text.trim() !== "";
|
|
3729
|
+
if (block.type === "image") return true;
|
|
3730
|
+
return block.kind === "file" ? true : block.text.trim() !== "" || Boolean(block.path);
|
|
3731
|
+
});
|
|
3663
3732
|
}
|
|
3664
3733
|
function normalizeAgentPromptContentBlocks(content) {
|
|
3665
3734
|
const result = [];
|
|
@@ -3743,7 +3812,7 @@ function agentPromptContentToComposerDraft(content, idPrefix) {
|
|
|
3743
3812
|
const largeTexts = agentPromptPastedTextBlocks(normalizedContent).map(
|
|
3744
3813
|
(block) => agentPromptPastedTextBlockToDraftLargeText(block)
|
|
3745
3814
|
);
|
|
3746
|
-
return {
|
|
3815
|
+
return buildAgentComposerDraft({
|
|
3747
3816
|
prompt: agentPromptContentDisplayText(normalizedContent),
|
|
3748
3817
|
images: agentPromptContentImageBlocks(normalizedContent).slice(0, MAX_AGENT_COMPOSER_DRAFT_IMAGES).map(
|
|
3749
3818
|
(image, index) => agentPromptImageBlockToDraftImage(image, idPrefix, index)
|
|
@@ -3751,8 +3820,8 @@ function agentPromptContentToComposerDraft(content, idPrefix) {
|
|
|
3751
3820
|
files: agentPromptFileBlocks(normalizedContent).map(
|
|
3752
3821
|
(file, index) => agentPromptFileBlockToDraftFile(file, idPrefix, index)
|
|
3753
3822
|
),
|
|
3754
|
-
|
|
3755
|
-
};
|
|
3823
|
+
largeTexts
|
|
3824
|
+
});
|
|
3756
3825
|
}
|
|
3757
3826
|
function agentPromptPastedTextBlockToDraftLargeText(block) {
|
|
3758
3827
|
return {
|
|
@@ -3765,7 +3834,7 @@ function agentPromptPastedTextBlockToDraftLargeText(block) {
|
|
|
3765
3834
|
}
|
|
3766
3835
|
function agentComposerDraftToPromptContent(input) {
|
|
3767
3836
|
const prompt = promptForProviderSkills({
|
|
3768
|
-
prompt: input.draft
|
|
3837
|
+
prompt: agentComposerDraftPrompt(input.draft),
|
|
3769
3838
|
skills: input.skills
|
|
3770
3839
|
});
|
|
3771
3840
|
return normalizeAgentPromptContentBlocks([
|
|
@@ -3774,14 +3843,14 @@ function agentComposerDraftToPromptContent(input) {
|
|
|
3774
3843
|
prompt,
|
|
3775
3844
|
skills: input.skills
|
|
3776
3845
|
}),
|
|
3777
|
-
...input.draft.
|
|
3846
|
+
...agentComposerDraftImages(input.draft).slice(0, MAX_AGENT_COMPOSER_DRAFT_IMAGES).filter((image) => !image.uploading && !image.uploadError).map((image) => ({
|
|
3778
3847
|
type: "image",
|
|
3779
3848
|
mimeType: image.mimeType,
|
|
3780
3849
|
...image.attachmentId ? { attachmentId: image.attachmentId } : {},
|
|
3781
3850
|
...image.url ? { url: image.url } : image.path ? { path: image.path } : { data: image.data },
|
|
3782
3851
|
name: image.name
|
|
3783
3852
|
})),
|
|
3784
|
-
...(input.draft
|
|
3853
|
+
...agentComposerDraftFiles(input.draft).filter((file) => !file.uploading && !file.uploadError).map((file) => ({
|
|
3785
3854
|
type: "file",
|
|
3786
3855
|
...file.mimeType ? { mimeType: file.mimeType } : {},
|
|
3787
3856
|
...file.path ? { path: file.path } : {},
|
|
@@ -3791,25 +3860,17 @@ function agentComposerDraftToPromptContent(input) {
|
|
|
3791
3860
|
name: file.name,
|
|
3792
3861
|
kind: "file"
|
|
3793
3862
|
})),
|
|
3794
|
-
...largeTextPromptContent(input.draft
|
|
3863
|
+
...largeTextPromptContent(agentComposerDraftLargeTexts(input.draft))
|
|
3795
3864
|
]);
|
|
3796
3865
|
}
|
|
3797
|
-
function agentComposerDraftSubmittedText(draft) {
|
|
3798
|
-
return agentPromptContentDisplayText(
|
|
3799
|
-
normalizeAgentPromptContentBlocks([
|
|
3800
|
-
...textPromptContent(draft.prompt),
|
|
3801
|
-
...largeTextPromptContent(draft.largeTexts ?? [])
|
|
3802
|
-
])
|
|
3803
|
-
);
|
|
3804
|
-
}
|
|
3805
3866
|
function agentComposerDraftDisplayPrompt(draft) {
|
|
3806
|
-
const largeTexts = draft.
|
|
3867
|
+
const largeTexts = agentComposerDraftLargeTexts(draft).filter(
|
|
3807
3868
|
(item) => Boolean(item.path) && !item.uploading && !item.uploadError
|
|
3808
3869
|
);
|
|
3809
|
-
if (!largeTexts
|
|
3870
|
+
if (!largeTexts.length) {
|
|
3810
3871
|
return void 0;
|
|
3811
3872
|
}
|
|
3812
|
-
const parts = [draft.
|
|
3873
|
+
const parts = [agentComposerDraftPrompt(draft).trim()].filter(Boolean);
|
|
3813
3874
|
parts.push(
|
|
3814
3875
|
...largeTexts.map((item, index) => pastedTextMentionMarkdown(item, index)).filter(Boolean)
|
|
3815
3876
|
);
|
|
@@ -4544,7 +4605,8 @@ function normalizedFilePath(value, options = {}) {
|
|
|
4544
4605
|
}
|
|
4545
4606
|
return resolveWorkspaceFilePathCandidate({
|
|
4546
4607
|
path,
|
|
4547
|
-
workspaceRoot: options.workspaceRoot
|
|
4608
|
+
workspaceRoot: options.workspaceRoot,
|
|
4609
|
+
basePath: options.defaultCwd
|
|
4548
4610
|
}) ? path : null;
|
|
4549
4611
|
}
|
|
4550
4612
|
function isIgnoredFilePath(path) {
|
|
@@ -4854,7 +4916,8 @@ function normalizedActivityFilePath(value, options) {
|
|
|
4854
4916
|
const path = value?.trim() ?? "";
|
|
4855
4917
|
return path && !isStructuredPayloadPath(path) && !isIgnoredFilePath(path) && resolveWorkspaceFilePathCandidate({
|
|
4856
4918
|
path,
|
|
4857
|
-
workspaceRoot: options.workspaceRoot
|
|
4919
|
+
workspaceRoot: options.workspaceRoot,
|
|
4920
|
+
basePath: options.defaultCwd
|
|
4858
4921
|
}) ? path : null;
|
|
4859
4922
|
}
|
|
4860
4923
|
function projectAgentTurnSummaryRowForTurn(turn, options = {}) {
|
|
@@ -5369,6 +5432,7 @@ function projectAgentConversationVM(detail, options = {}) {
|
|
|
5369
5432
|
if (shouldShowTurnSummaryForTurn(detail, index)) {
|
|
5370
5433
|
rows.push(
|
|
5371
5434
|
...projectAgentTurnSummaryRowForTurn(turn, {
|
|
5435
|
+
defaultCwd: detail.cwd,
|
|
5372
5436
|
workspaceRoot: detail.workspaceRoot
|
|
5373
5437
|
})
|
|
5374
5438
|
);
|
|
@@ -5750,7 +5814,7 @@ import {
|
|
|
5750
5814
|
useLayoutEffect as useLayoutEffect4,
|
|
5751
5815
|
useMemo as useMemo6,
|
|
5752
5816
|
useRef as useRef10,
|
|
5753
|
-
useState as
|
|
5817
|
+
useState as useState21
|
|
5754
5818
|
} from "react";
|
|
5755
5819
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
5756
5820
|
|
|
@@ -5777,51 +5841,10 @@ import {
|
|
|
5777
5841
|
Fragment as Fragment2,
|
|
5778
5842
|
useCallback as useCallback4,
|
|
5779
5843
|
useEffect as useEffect5,
|
|
5780
|
-
useState as
|
|
5844
|
+
useState as useState7
|
|
5781
5845
|
} from "react";
|
|
5782
|
-
import { ChevronRight as ChevronRight3 } from "lucide-react";
|
|
5783
5846
|
import { CheckIcon, CopyIcon } from "@tutti-os/ui-system/icons";
|
|
5784
5847
|
|
|
5785
|
-
// app/renderer/components/ui/button.tsx
|
|
5786
|
-
import * as React from "react";
|
|
5787
|
-
import { Button as UISystemButton, buttonVariants } from "@tutti-os/ui-system";
|
|
5788
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
5789
|
-
function resolveButtonSize(size) {
|
|
5790
|
-
switch (size) {
|
|
5791
|
-
case "mini":
|
|
5792
|
-
return "xs";
|
|
5793
|
-
case "md":
|
|
5794
|
-
return "default";
|
|
5795
|
-
case "max":
|
|
5796
|
-
return "lg";
|
|
5797
|
-
case "iconClose":
|
|
5798
|
-
return "icon-sm";
|
|
5799
|
-
default:
|
|
5800
|
-
return size;
|
|
5801
|
-
}
|
|
5802
|
-
}
|
|
5803
|
-
function resolveButtonClassName(size, className) {
|
|
5804
|
-
if (size !== "iconClose") {
|
|
5805
|
-
return className;
|
|
5806
|
-
}
|
|
5807
|
-
return cn(
|
|
5808
|
-
"h-[28px] w-[28px] min-h-[28px] min-w-[28px] shrink-0 rounded-[4px] p-0 [&_svg]:size-[14px]",
|
|
5809
|
-
className
|
|
5810
|
-
);
|
|
5811
|
-
}
|
|
5812
|
-
var Button = React.forwardRef(
|
|
5813
|
-
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
5814
|
-
UISystemButton,
|
|
5815
|
-
{
|
|
5816
|
-
ref,
|
|
5817
|
-
className: resolveButtonClassName(size, className),
|
|
5818
|
-
size: resolveButtonSize(size),
|
|
5819
|
-
...props
|
|
5820
|
-
}
|
|
5821
|
-
)
|
|
5822
|
-
);
|
|
5823
|
-
Button.displayName = "Button";
|
|
5824
|
-
|
|
5825
5848
|
// shared/errors/appError.ts
|
|
5826
5849
|
function createMessageMap() {
|
|
5827
5850
|
return {
|
|
@@ -6005,7 +6028,7 @@ function formatAgentMessageTimestamp(unix, language = getActiveUiLanguage(), now
|
|
|
6005
6028
|
// shared/agentConversation/components/AgentPlanCard.tsx
|
|
6006
6029
|
import { useCallback, useRef, useState } from "react";
|
|
6007
6030
|
import { Check, ChevronDown, ChevronUp, Copy, ListChecks } from "lucide-react";
|
|
6008
|
-
import { jsx as
|
|
6031
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
6009
6032
|
var COLLAPSED_MAX_HEIGHT_PX = 220;
|
|
6010
6033
|
function AgentPlanCard({
|
|
6011
6034
|
title,
|
|
@@ -6034,7 +6057,7 @@ function AgentPlanCard({
|
|
|
6034
6057
|
className: "box-border w-full min-w-0 rounded-[8px] border border-[var(--tutti-purple-border)] bg-[var(--tutti-purple-bg)] p-3",
|
|
6035
6058
|
children: [
|
|
6036
6059
|
/* @__PURE__ */ jsxs2("div", { className: "mb-2 flex items-center gap-1.5", children: [
|
|
6037
|
-
/* @__PURE__ */
|
|
6060
|
+
/* @__PURE__ */ jsx2(
|
|
6038
6061
|
ListChecks,
|
|
6039
6062
|
{
|
|
6040
6063
|
size: 14,
|
|
@@ -6043,7 +6066,7 @@ function AgentPlanCard({
|
|
|
6043
6066
|
className: "shrink-0 text-[var(--text-secondary)]"
|
|
6044
6067
|
}
|
|
6045
6068
|
),
|
|
6046
|
-
/* @__PURE__ */
|
|
6069
|
+
/* @__PURE__ */ jsx2(
|
|
6047
6070
|
"span",
|
|
6048
6071
|
{
|
|
6049
6072
|
"data-testid": "agent-plan-card-title",
|
|
@@ -6051,7 +6074,7 @@ function AgentPlanCard({
|
|
|
6051
6074
|
children: title ?? translate("agentHost.agentGui.planCardTitle")
|
|
6052
6075
|
}
|
|
6053
6076
|
),
|
|
6054
|
-
/* @__PURE__ */
|
|
6077
|
+
/* @__PURE__ */ jsx2(
|
|
6055
6078
|
"button",
|
|
6056
6079
|
{
|
|
6057
6080
|
type: "button",
|
|
@@ -6060,10 +6083,10 @@ function AgentPlanCard({
|
|
|
6060
6083
|
"aria-label": translate("agentHost.agentGui.planCardCopy"),
|
|
6061
6084
|
title: translate("agentHost.agentGui.planCardCopy"),
|
|
6062
6085
|
onClick: handleCopy,
|
|
6063
|
-
children: copied ? /* @__PURE__ */
|
|
6086
|
+
children: copied ? /* @__PURE__ */ jsx2(Check, { size: 14, strokeWidth: 2, "aria-hidden": "true" }) : /* @__PURE__ */ jsx2(Copy, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
|
|
6064
6087
|
}
|
|
6065
6088
|
),
|
|
6066
|
-
/* @__PURE__ */
|
|
6089
|
+
/* @__PURE__ */ jsx2(
|
|
6067
6090
|
"button",
|
|
6068
6091
|
{
|
|
6069
6092
|
type: "button",
|
|
@@ -6077,12 +6100,12 @@ function AgentPlanCard({
|
|
|
6077
6100
|
collapsed ? "agentHost.agentGui.planCardExpand" : "agentHost.agentGui.planCardCollapse"
|
|
6078
6101
|
),
|
|
6079
6102
|
onClick: () => setCollapsed((value) => !value),
|
|
6080
|
-
children: collapsed ? /* @__PURE__ */
|
|
6103
|
+
children: collapsed ? /* @__PURE__ */ jsx2(ChevronDown, { size: 15, strokeWidth: 2, "aria-hidden": "true" }) : /* @__PURE__ */ jsx2(ChevronUp, { size: 15, strokeWidth: 2, "aria-hidden": "true" })
|
|
6081
6104
|
}
|
|
6082
6105
|
)
|
|
6083
6106
|
] }),
|
|
6084
6107
|
/* @__PURE__ */ jsxs2("div", { className: "relative", children: [
|
|
6085
|
-
/* @__PURE__ */
|
|
6108
|
+
/* @__PURE__ */ jsx2(
|
|
6086
6109
|
"div",
|
|
6087
6110
|
{
|
|
6088
6111
|
"data-testid": "agent-plan-card-body",
|
|
@@ -6091,7 +6114,7 @@ function AgentPlanCard({
|
|
|
6091
6114
|
children
|
|
6092
6115
|
}
|
|
6093
6116
|
),
|
|
6094
|
-
collapsed ? /* @__PURE__ */
|
|
6117
|
+
collapsed ? /* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 flex justify-center bg-gradient-to-t from-[var(--tutti-purple-bg)] via-[color-mix(in_srgb,var(--tutti-purple-bg)_70%,transparent)] to-transparent pt-8 pb-1", children: /* @__PURE__ */ jsx2(
|
|
6095
6118
|
"button",
|
|
6096
6119
|
{
|
|
6097
6120
|
type: "button",
|
|
@@ -6574,7 +6597,7 @@ function createAgentRichTextReadonlyExtensions(skillTokenOptions, capabilityToke
|
|
|
6574
6597
|
}
|
|
6575
6598
|
|
|
6576
6599
|
// shared/AgentRichTextReadonly.tsx
|
|
6577
|
-
import { jsx as
|
|
6600
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
6578
6601
|
var EMPTY_WORKSPACE_APP_ICONS = [];
|
|
6579
6602
|
function AgentRichTextReadonly({
|
|
6580
6603
|
value,
|
|
@@ -6654,7 +6677,7 @@ function AgentRichTextReadonly({
|
|
|
6654
6677
|
workspaceAppIcons
|
|
6655
6678
|
]);
|
|
6656
6679
|
if (!editor) {
|
|
6657
|
-
return /* @__PURE__ */
|
|
6680
|
+
return /* @__PURE__ */ jsx3(
|
|
6658
6681
|
"div",
|
|
6659
6682
|
{
|
|
6660
6683
|
className,
|
|
@@ -6662,12 +6685,12 @@ function AgentRichTextReadonly({
|
|
|
6662
6685
|
}
|
|
6663
6686
|
);
|
|
6664
6687
|
}
|
|
6665
|
-
return /* @__PURE__ */
|
|
6688
|
+
return /* @__PURE__ */ jsx3(
|
|
6666
6689
|
"div",
|
|
6667
6690
|
{
|
|
6668
6691
|
className,
|
|
6669
6692
|
"data-agent-mention-only": isMentionOnly ? "true" : void 0,
|
|
6670
|
-
children: /* @__PURE__ */
|
|
6693
|
+
children: /* @__PURE__ */ jsx3(EditorContent, { editor })
|
|
6671
6694
|
}
|
|
6672
6695
|
);
|
|
6673
6696
|
}
|
|
@@ -6776,6 +6799,10 @@ function hydrateAgentTargetMentionPresentations(node, agentTargets) {
|
|
|
6776
6799
|
};
|
|
6777
6800
|
}
|
|
6778
6801
|
|
|
6802
|
+
// shared/agentConversation/components/AgentMessageDetailsDisclosure.tsx
|
|
6803
|
+
import { useState as useState3 } from "react";
|
|
6804
|
+
import { ChevronRight } from "lucide-react";
|
|
6805
|
+
|
|
6779
6806
|
// shared/agentConversation/components/CollapsibleReveal.tsx
|
|
6780
6807
|
import {
|
|
6781
6808
|
useCallback as useCallback2,
|
|
@@ -6784,7 +6811,7 @@ import {
|
|
|
6784
6811
|
useRef as useRef2,
|
|
6785
6812
|
useState as useState2
|
|
6786
6813
|
} from "react";
|
|
6787
|
-
import { jsx as
|
|
6814
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
6788
6815
|
function CollapsibleReveal({
|
|
6789
6816
|
expanded,
|
|
6790
6817
|
children,
|
|
@@ -6924,7 +6951,7 @@ function CollapsibleReveal({
|
|
|
6924
6951
|
}
|
|
6925
6952
|
};
|
|
6926
6953
|
const rootStyle = { height };
|
|
6927
|
-
return /* @__PURE__ */
|
|
6954
|
+
return /* @__PURE__ */ jsx4(
|
|
6928
6955
|
"div",
|
|
6929
6956
|
{
|
|
6930
6957
|
ref: rootRef,
|
|
@@ -6933,14 +6960,219 @@ function CollapsibleReveal({
|
|
|
6933
6960
|
"aria-hidden": visible ? void 0 : true,
|
|
6934
6961
|
style: rootStyle,
|
|
6935
6962
|
onTransitionEnd: handleTransitionEnd,
|
|
6936
|
-
children: /* @__PURE__ */
|
|
6963
|
+
children: /* @__PURE__ */ jsx4("div", { ref: innerRef, className: "agent-collapsible-reveal__inner", children })
|
|
6964
|
+
}
|
|
6965
|
+
);
|
|
6966
|
+
}
|
|
6967
|
+
|
|
6968
|
+
// shared/agentConversation/components/AgentMessageDetailsDisclosure.tsx
|
|
6969
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
6970
|
+
function AgentMessageDetailsDisclosure({
|
|
6971
|
+
detail,
|
|
6972
|
+
className = "",
|
|
6973
|
+
label
|
|
6974
|
+
}) {
|
|
6975
|
+
"use memo";
|
|
6976
|
+
const [expanded, setExpanded] = useState3(false);
|
|
6977
|
+
return /* @__PURE__ */ jsxs3("div", { className: `${className} text-[11px] text-[var(--state-danger)]`, children: [
|
|
6978
|
+
/* @__PURE__ */ jsxs3(
|
|
6979
|
+
"button",
|
|
6980
|
+
{
|
|
6981
|
+
type: "button",
|
|
6982
|
+
className: "inline-flex w-fit max-w-full min-w-0 cursor-pointer select-none items-center gap-1.5 border-0 bg-transparent p-0 text-left font-[inherit] text-[inherit] transition-colors duration-150 hover:text-[var(--state-danger-hover)]",
|
|
6983
|
+
"aria-expanded": expanded,
|
|
6984
|
+
onClick: () => setExpanded((value) => !value),
|
|
6985
|
+
children: [
|
|
6986
|
+
label ?? translate("agentHost.agentGui.visibleErrorDetails"),
|
|
6987
|
+
/* @__PURE__ */ jsx5(
|
|
6988
|
+
ChevronRight,
|
|
6989
|
+
{
|
|
6990
|
+
size: 12,
|
|
6991
|
+
strokeWidth: 2.2,
|
|
6992
|
+
"aria-hidden": "true",
|
|
6993
|
+
className: "shrink-0 text-[var(--state-danger)]",
|
|
6994
|
+
style: {
|
|
6995
|
+
transform: expanded ? "rotate(90deg)" : "rotate(0deg)",
|
|
6996
|
+
transformOrigin: "center",
|
|
6997
|
+
transition: "transform 200ms cubic-bezier(0.22, 1.18, 0.36, 1)",
|
|
6998
|
+
willChange: "transform"
|
|
6999
|
+
}
|
|
7000
|
+
}
|
|
7001
|
+
)
|
|
7002
|
+
]
|
|
7003
|
+
}
|
|
7004
|
+
),
|
|
7005
|
+
/* @__PURE__ */ jsx5(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx5("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 }) })
|
|
7006
|
+
] });
|
|
7007
|
+
}
|
|
7008
|
+
|
|
7009
|
+
// app/renderer/components/ui/button.tsx
|
|
7010
|
+
import * as React from "react";
|
|
7011
|
+
import { Button as UISystemButton, buttonVariants } from "@tutti-os/ui-system";
|
|
7012
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
7013
|
+
function resolveButtonSize(size) {
|
|
7014
|
+
switch (size) {
|
|
7015
|
+
case "mini":
|
|
7016
|
+
return "xs";
|
|
7017
|
+
case "md":
|
|
7018
|
+
return "default";
|
|
7019
|
+
case "max":
|
|
7020
|
+
return "lg";
|
|
7021
|
+
case "iconClose":
|
|
7022
|
+
return "icon-sm";
|
|
7023
|
+
default:
|
|
7024
|
+
return size;
|
|
7025
|
+
}
|
|
7026
|
+
}
|
|
7027
|
+
function resolveButtonClassName(size, className) {
|
|
7028
|
+
if (size !== "iconClose") {
|
|
7029
|
+
return className;
|
|
7030
|
+
}
|
|
7031
|
+
return cn(
|
|
7032
|
+
"h-[28px] w-[28px] min-h-[28px] min-w-[28px] shrink-0 rounded-[4px] p-0 [&_svg]:size-[14px]",
|
|
7033
|
+
className
|
|
7034
|
+
);
|
|
7035
|
+
}
|
|
7036
|
+
var Button = React.forwardRef(
|
|
7037
|
+
({ className, size, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
7038
|
+
UISystemButton,
|
|
7039
|
+
{
|
|
7040
|
+
ref,
|
|
7041
|
+
className: resolveButtonClassName(size, className),
|
|
7042
|
+
size: resolveButtonSize(size),
|
|
7043
|
+
...props
|
|
7044
|
+
}
|
|
7045
|
+
)
|
|
7046
|
+
);
|
|
7047
|
+
Button.displayName = "Button";
|
|
7048
|
+
|
|
7049
|
+
// shared/agentConversation/components/AgentVisibleErrorMessage.tsx
|
|
7050
|
+
import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
7051
|
+
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%)]";
|
|
7052
|
+
function recoverVisibleErrorFromFailedMessage(message, provider) {
|
|
7053
|
+
const code = classifyFailedAgentMessage(message.body);
|
|
7054
|
+
if (!code) {
|
|
7055
|
+
return null;
|
|
7056
|
+
}
|
|
7057
|
+
return {
|
|
7058
|
+
...message,
|
|
7059
|
+
visibleError: {
|
|
7060
|
+
code,
|
|
7061
|
+
phase: null,
|
|
7062
|
+
provider: provider ?? null,
|
|
7063
|
+
detail: message.body,
|
|
7064
|
+
retryable: null
|
|
7065
|
+
}
|
|
7066
|
+
};
|
|
7067
|
+
}
|
|
7068
|
+
function AgentVisibleErrorMessage({
|
|
7069
|
+
message,
|
|
7070
|
+
onExternalLink
|
|
7071
|
+
}) {
|
|
7072
|
+
"use memo";
|
|
7073
|
+
const error = message.visibleError;
|
|
7074
|
+
const detail = error?.detail?.trim() ?? "";
|
|
7075
|
+
const providerLabel = workspaceAgentProviderLabel(
|
|
7076
|
+
error?.provider ?? "unknown"
|
|
7077
|
+
);
|
|
7078
|
+
const presentation = resolveAgentErrorPresentation(error?.code);
|
|
7079
|
+
const headline = presentation?.messageKey ? translate(presentation.messageKey, { provider: providerLabel }) : visibleErrorTitle(message);
|
|
7080
|
+
const focus = presentation?.focus ?? null;
|
|
7081
|
+
const actionKey = presentation?.actionKey ?? null;
|
|
7082
|
+
const externalUrl = presentation?.externalUrl ?? null;
|
|
7083
|
+
const hint = visibleErrorHint(message);
|
|
7084
|
+
const isPlanOrQuotaLimit = error?.code === "quota_or_rate_limit";
|
|
7085
|
+
const toneClassName = isPlanOrQuotaLimit ? PLAN_LIMIT_WARNING_CLASS_NAME : "border-[var(--on-danger-hover)] bg-[var(--on-danger)] text-[var(--state-danger)]";
|
|
7086
|
+
const displayHeadline = isPlanOrQuotaLimit && isProviderPlanLimitMessage(detail) ? detail : headline;
|
|
7087
|
+
return /* @__PURE__ */ jsx7(
|
|
7088
|
+
"section",
|
|
7089
|
+
{
|
|
7090
|
+
role: isPlanOrQuotaLimit ? "status" : "alert",
|
|
7091
|
+
className: `box-border w-full min-w-0 rounded-[8px] border p-3 text-[13px] leading-5 text-[var(--text-primary)] ${toneClassName}`,
|
|
7092
|
+
children: /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-start gap-3", children: [
|
|
7093
|
+
/* @__PURE__ */ jsxs4("div", { className: "min-w-0 flex-1", children: [
|
|
7094
|
+
/* @__PURE__ */ jsx7("div", { className: "font-medium text-[var(--text-primary)]", children: displayHeadline }),
|
|
7095
|
+
hint ? /* @__PURE__ */ jsx7("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: hint }) : null,
|
|
7096
|
+
detail && displayHeadline !== detail ? /* @__PURE__ */ jsx7(
|
|
7097
|
+
AgentMessageDetailsDisclosure,
|
|
7098
|
+
{
|
|
7099
|
+
detail,
|
|
7100
|
+
className: "mt-1",
|
|
7101
|
+
label: translate("agentHost.agentGui.visibleErrorRawDetails")
|
|
7102
|
+
}
|
|
7103
|
+
) : null
|
|
7104
|
+
] }),
|
|
7105
|
+
actionKey && (focus || externalUrl && onExternalLink) ? /* @__PURE__ */ jsx7(
|
|
7106
|
+
Button,
|
|
7107
|
+
{
|
|
7108
|
+
type: "button",
|
|
7109
|
+
variant: "ghost",
|
|
7110
|
+
size: "sm",
|
|
7111
|
+
className: "mt-0.5 shrink-0",
|
|
7112
|
+
onClick: () => {
|
|
7113
|
+
if (externalUrl) {
|
|
7114
|
+
onExternalLink?.(externalUrl);
|
|
7115
|
+
return;
|
|
7116
|
+
}
|
|
7117
|
+
if (focus) {
|
|
7118
|
+
openAgentEnvPanel({
|
|
7119
|
+
provider: error?.provider ?? null,
|
|
7120
|
+
focus
|
|
7121
|
+
});
|
|
7122
|
+
}
|
|
7123
|
+
},
|
|
7124
|
+
children: translate(actionKey)
|
|
7125
|
+
}
|
|
7126
|
+
) : null
|
|
7127
|
+
] })
|
|
7128
|
+
}
|
|
7129
|
+
);
|
|
7130
|
+
}
|
|
7131
|
+
function visibleErrorTitle(message) {
|
|
7132
|
+
const error = message.visibleError;
|
|
7133
|
+
const provider = workspaceAgentProviderLabel(error?.provider ?? "unknown");
|
|
7134
|
+
switch (error?.code) {
|
|
7135
|
+
case "auth_required":
|
|
7136
|
+
return translate("agentHost.agentGui.visibleErrorAuthRequired", {
|
|
7137
|
+
provider
|
|
7138
|
+
});
|
|
7139
|
+
case "request_timed_out":
|
|
7140
|
+
return translate("agentHost.agentGui.visibleErrorRequestTimedOut", {
|
|
7141
|
+
provider
|
|
7142
|
+
});
|
|
7143
|
+
case "runtime_unavailable":
|
|
7144
|
+
return translate("agentHost.agentGui.visibleErrorRuntimeUnavailable", {
|
|
7145
|
+
provider
|
|
7146
|
+
});
|
|
7147
|
+
case "quota_or_rate_limit":
|
|
7148
|
+
return translate("agentHost.agentGui.visibleErrorQuotaOrRateLimit", {
|
|
7149
|
+
provider
|
|
7150
|
+
});
|
|
7151
|
+
default:
|
|
7152
|
+
if (error?.phase === "start") {
|
|
7153
|
+
return translate("agentHost.agentGui.visibleErrorStartFailed", {
|
|
7154
|
+
provider
|
|
7155
|
+
});
|
|
7156
|
+
}
|
|
7157
|
+
return message.body || translate("agentHost.agentGui.visibleErrorRequestFailed", { provider });
|
|
7158
|
+
}
|
|
7159
|
+
}
|
|
7160
|
+
function visibleErrorHint(message) {
|
|
7161
|
+
const error = message.visibleError;
|
|
7162
|
+
if (error?.code !== "auth_required") {
|
|
7163
|
+
return null;
|
|
7164
|
+
}
|
|
7165
|
+
return translate(
|
|
7166
|
+
"agentHost.agentGui.visibleErrorAuthRequiredLocalAgentHint",
|
|
7167
|
+
{
|
|
7168
|
+
provider: workspaceAgentProviderLabel(error.provider ?? "unknown")
|
|
6937
7169
|
}
|
|
6938
7170
|
);
|
|
6939
7171
|
}
|
|
6940
7172
|
|
|
6941
7173
|
// shared/WorkspaceAgentSessionThinkingDisclosure.tsx
|
|
6942
|
-
import { useState as
|
|
6943
|
-
import { ChevronDown as ChevronDown2, ChevronRight } from "lucide-react";
|
|
7174
|
+
import { useState as useState4 } from "react";
|
|
7175
|
+
import { ChevronDown as ChevronDown2, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
6944
7176
|
|
|
6945
7177
|
// app/renderer/components/icons/BrainIcon.tsx
|
|
6946
7178
|
import {
|
|
@@ -6955,7 +7187,7 @@ import {
|
|
|
6955
7187
|
useAnimation,
|
|
6956
7188
|
useReducedMotion
|
|
6957
7189
|
} from "framer-motion";
|
|
6958
|
-
import { jsx as
|
|
7190
|
+
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
6959
7191
|
var brainTransition = {
|
|
6960
7192
|
duration: 1.4,
|
|
6961
7193
|
repeat: Number.POSITIVE_INFINITY,
|
|
@@ -7049,14 +7281,14 @@ var BrainIcon = forwardRef2(
|
|
|
7049
7281
|
},
|
|
7050
7282
|
[onMouseLeave, stopAnimation]
|
|
7051
7283
|
);
|
|
7052
|
-
return /* @__PURE__ */
|
|
7284
|
+
return /* @__PURE__ */ jsx8(
|
|
7053
7285
|
"div",
|
|
7054
7286
|
{
|
|
7055
7287
|
className: cn("inline-flex items-center justify-center", className),
|
|
7056
7288
|
onMouseEnter: handleMouseEnter,
|
|
7057
7289
|
onMouseLeave: handleMouseLeave,
|
|
7058
7290
|
...props,
|
|
7059
|
-
children: /* @__PURE__ */
|
|
7291
|
+
children: /* @__PURE__ */ jsxs5(
|
|
7060
7292
|
motion.svg,
|
|
7061
7293
|
{
|
|
7062
7294
|
animate: controls,
|
|
@@ -7081,7 +7313,7 @@ var BrainIcon = forwardRef2(
|
|
|
7081
7313
|
width: size,
|
|
7082
7314
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7083
7315
|
children: [
|
|
7084
|
-
/* @__PURE__ */
|
|
7316
|
+
/* @__PURE__ */ jsx8(
|
|
7085
7317
|
motion.path,
|
|
7086
7318
|
{
|
|
7087
7319
|
animate: controls,
|
|
@@ -7089,7 +7321,7 @@ var BrainIcon = forwardRef2(
|
|
|
7089
7321
|
variants: BRAIN_STEM_VARIANTS
|
|
7090
7322
|
}
|
|
7091
7323
|
),
|
|
7092
|
-
/* @__PURE__ */
|
|
7324
|
+
/* @__PURE__ */ jsx8(
|
|
7093
7325
|
motion.path,
|
|
7094
7326
|
{
|
|
7095
7327
|
animate: controls,
|
|
@@ -7097,7 +7329,7 @@ var BrainIcon = forwardRef2(
|
|
|
7097
7329
|
variants: BRAIN_SIDE_VARIANTS
|
|
7098
7330
|
}
|
|
7099
7331
|
),
|
|
7100
|
-
/* @__PURE__ */
|
|
7332
|
+
/* @__PURE__ */ jsx8(
|
|
7101
7333
|
motion.path,
|
|
7102
7334
|
{
|
|
7103
7335
|
animate: controls,
|
|
@@ -7105,7 +7337,7 @@ var BrainIcon = forwardRef2(
|
|
|
7105
7337
|
variants: BRAIN_TOP_ARC_VARIANTS
|
|
7106
7338
|
}
|
|
7107
7339
|
),
|
|
7108
|
-
/* @__PURE__ */
|
|
7340
|
+
/* @__PURE__ */ jsx8(
|
|
7109
7341
|
motion.path,
|
|
7110
7342
|
{
|
|
7111
7343
|
animate: controls,
|
|
@@ -7113,8 +7345,8 @@ var BrainIcon = forwardRef2(
|
|
|
7113
7345
|
variants: BRAIN_TOP_ARC_VARIANTS
|
|
7114
7346
|
}
|
|
7115
7347
|
),
|
|
7116
|
-
/* @__PURE__ */
|
|
7117
|
-
/* @__PURE__ */
|
|
7348
|
+
/* @__PURE__ */ jsx8("path", { d: "M17.997 5.125a4 4 0 0 1 2.526 5.77" }),
|
|
7349
|
+
/* @__PURE__ */ jsx8(
|
|
7118
7350
|
motion.path,
|
|
7119
7351
|
{
|
|
7120
7352
|
animate: controls,
|
|
@@ -7122,8 +7354,8 @@ var BrainIcon = forwardRef2(
|
|
|
7122
7354
|
variants: BRAIN_LOWER_ARC_VARIANTS
|
|
7123
7355
|
}
|
|
7124
7356
|
),
|
|
7125
|
-
/* @__PURE__ */
|
|
7126
|
-
/* @__PURE__ */
|
|
7357
|
+
/* @__PURE__ */ jsx8("path", { d: "M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517" }),
|
|
7358
|
+
/* @__PURE__ */ jsx8(
|
|
7127
7359
|
motion.path,
|
|
7128
7360
|
{
|
|
7129
7361
|
animate: controls,
|
|
@@ -7131,7 +7363,7 @@ var BrainIcon = forwardRef2(
|
|
|
7131
7363
|
variants: BRAIN_LOWER_ARC_VARIANTS
|
|
7132
7364
|
}
|
|
7133
7365
|
),
|
|
7134
|
-
/* @__PURE__ */
|
|
7366
|
+
/* @__PURE__ */ jsx8("path", { d: "M6.003 5.125a4 4 0 0 0-2.526 5.77" })
|
|
7135
7367
|
]
|
|
7136
7368
|
}
|
|
7137
7369
|
)
|
|
@@ -7142,10 +7374,10 @@ var BrainIcon = forwardRef2(
|
|
|
7142
7374
|
BrainIcon.displayName = "BrainIcon";
|
|
7143
7375
|
|
|
7144
7376
|
// shared/toolActivityKindIcons.tsx
|
|
7145
|
-
import { jsx as
|
|
7377
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
7146
7378
|
function IconProductDoc(props) {
|
|
7147
7379
|
"use memo";
|
|
7148
|
-
return /* @__PURE__ */
|
|
7380
|
+
return /* @__PURE__ */ jsx9(
|
|
7149
7381
|
"svg",
|
|
7150
7382
|
{
|
|
7151
7383
|
viewBox: "0 0 24 24",
|
|
@@ -7153,7 +7385,7 @@ function IconProductDoc(props) {
|
|
|
7153
7385
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7154
7386
|
"aria-hidden": true,
|
|
7155
7387
|
...props,
|
|
7156
|
-
children: /* @__PURE__ */
|
|
7388
|
+
children: /* @__PURE__ */ jsx9(
|
|
7157
7389
|
"path",
|
|
7158
7390
|
{
|
|
7159
7391
|
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",
|
|
@@ -7165,7 +7397,7 @@ function IconProductDoc(props) {
|
|
|
7165
7397
|
}
|
|
7166
7398
|
function IconBuild(props) {
|
|
7167
7399
|
"use memo";
|
|
7168
|
-
return /* @__PURE__ */
|
|
7400
|
+
return /* @__PURE__ */ jsx9(
|
|
7169
7401
|
"svg",
|
|
7170
7402
|
{
|
|
7171
7403
|
viewBox: "0 0 24 24",
|
|
@@ -7173,7 +7405,7 @@ function IconBuild(props) {
|
|
|
7173
7405
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7174
7406
|
"aria-hidden": true,
|
|
7175
7407
|
...props,
|
|
7176
|
-
children: /* @__PURE__ */
|
|
7408
|
+
children: /* @__PURE__ */ jsx9(
|
|
7177
7409
|
"path",
|
|
7178
7410
|
{
|
|
7179
7411
|
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",
|
|
@@ -7185,7 +7417,7 @@ function IconBuild(props) {
|
|
|
7185
7417
|
}
|
|
7186
7418
|
function IconBrush(props) {
|
|
7187
7419
|
"use memo";
|
|
7188
|
-
return /* @__PURE__ */
|
|
7420
|
+
return /* @__PURE__ */ jsx9(
|
|
7189
7421
|
"svg",
|
|
7190
7422
|
{
|
|
7191
7423
|
viewBox: "0 0 24 24",
|
|
@@ -7193,7 +7425,7 @@ function IconBrush(props) {
|
|
|
7193
7425
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7194
7426
|
"aria-hidden": true,
|
|
7195
7427
|
...props,
|
|
7196
|
-
children: /* @__PURE__ */
|
|
7428
|
+
children: /* @__PURE__ */ jsx9(
|
|
7197
7429
|
"path",
|
|
7198
7430
|
{
|
|
7199
7431
|
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",
|
|
@@ -7205,7 +7437,7 @@ function IconBrush(props) {
|
|
|
7205
7437
|
}
|
|
7206
7438
|
function IconNetwork(props) {
|
|
7207
7439
|
"use memo";
|
|
7208
|
-
return /* @__PURE__ */
|
|
7440
|
+
return /* @__PURE__ */ jsx9(
|
|
7209
7441
|
"svg",
|
|
7210
7442
|
{
|
|
7211
7443
|
viewBox: "0 0 24 24",
|
|
@@ -7213,7 +7445,7 @@ function IconNetwork(props) {
|
|
|
7213
7445
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7214
7446
|
"aria-hidden": true,
|
|
7215
7447
|
...props,
|
|
7216
|
-
children: /* @__PURE__ */
|
|
7448
|
+
children: /* @__PURE__ */ jsx9(
|
|
7217
7449
|
"path",
|
|
7218
7450
|
{
|
|
7219
7451
|
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",
|
|
@@ -7225,7 +7457,7 @@ function IconNetwork(props) {
|
|
|
7225
7457
|
}
|
|
7226
7458
|
function IconCapability(props) {
|
|
7227
7459
|
"use memo";
|
|
7228
|
-
return /* @__PURE__ */
|
|
7460
|
+
return /* @__PURE__ */ jsx9(
|
|
7229
7461
|
"svg",
|
|
7230
7462
|
{
|
|
7231
7463
|
viewBox: "0 0 24 24",
|
|
@@ -7233,7 +7465,7 @@ function IconCapability(props) {
|
|
|
7233
7465
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7234
7466
|
"aria-hidden": true,
|
|
7235
7467
|
...props,
|
|
7236
|
-
children: /* @__PURE__ */
|
|
7468
|
+
children: /* @__PURE__ */ jsx9(
|
|
7237
7469
|
"path",
|
|
7238
7470
|
{
|
|
7239
7471
|
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",
|
|
@@ -7245,7 +7477,7 @@ function IconCapability(props) {
|
|
|
7245
7477
|
}
|
|
7246
7478
|
function IconTask(props) {
|
|
7247
7479
|
"use memo";
|
|
7248
|
-
return /* @__PURE__ */
|
|
7480
|
+
return /* @__PURE__ */ jsx9(
|
|
7249
7481
|
"svg",
|
|
7250
7482
|
{
|
|
7251
7483
|
viewBox: "0 0 24 24",
|
|
@@ -7253,7 +7485,7 @@ function IconTask(props) {
|
|
|
7253
7485
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7254
7486
|
"aria-hidden": true,
|
|
7255
7487
|
...props,
|
|
7256
|
-
children: /* @__PURE__ */
|
|
7488
|
+
children: /* @__PURE__ */ jsx9(
|
|
7257
7489
|
"path",
|
|
7258
7490
|
{
|
|
7259
7491
|
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",
|
|
@@ -7265,7 +7497,7 @@ function IconTask(props) {
|
|
|
7265
7497
|
}
|
|
7266
7498
|
function IconThinking(props) {
|
|
7267
7499
|
"use memo";
|
|
7268
|
-
return /* @__PURE__ */
|
|
7500
|
+
return /* @__PURE__ */ jsx9(
|
|
7269
7501
|
"svg",
|
|
7270
7502
|
{
|
|
7271
7503
|
viewBox: "0 0 24 24",
|
|
@@ -7273,7 +7505,7 @@ function IconThinking(props) {
|
|
|
7273
7505
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7274
7506
|
"aria-hidden": true,
|
|
7275
7507
|
...props,
|
|
7276
|
-
children: /* @__PURE__ */
|
|
7508
|
+
children: /* @__PURE__ */ jsx9(
|
|
7277
7509
|
"path",
|
|
7278
7510
|
{
|
|
7279
7511
|
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",
|
|
@@ -7285,7 +7517,7 @@ function IconThinking(props) {
|
|
|
7285
7517
|
}
|
|
7286
7518
|
function IconWebScrape(props) {
|
|
7287
7519
|
"use memo";
|
|
7288
|
-
return /* @__PURE__ */
|
|
7520
|
+
return /* @__PURE__ */ jsx9(
|
|
7289
7521
|
"svg",
|
|
7290
7522
|
{
|
|
7291
7523
|
viewBox: "0 0 24 24",
|
|
@@ -7293,7 +7525,7 @@ function IconWebScrape(props) {
|
|
|
7293
7525
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7294
7526
|
"aria-hidden": true,
|
|
7295
7527
|
...props,
|
|
7296
|
-
children: /* @__PURE__ */
|
|
7528
|
+
children: /* @__PURE__ */ jsx9(
|
|
7297
7529
|
"path",
|
|
7298
7530
|
{
|
|
7299
7531
|
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",
|
|
@@ -7305,7 +7537,7 @@ function IconWebScrape(props) {
|
|
|
7305
7537
|
}
|
|
7306
7538
|
function IconChat(props) {
|
|
7307
7539
|
"use memo";
|
|
7308
|
-
return /* @__PURE__ */
|
|
7540
|
+
return /* @__PURE__ */ jsx9(
|
|
7309
7541
|
"svg",
|
|
7310
7542
|
{
|
|
7311
7543
|
viewBox: "0 0 24 24",
|
|
@@ -7313,7 +7545,7 @@ function IconChat(props) {
|
|
|
7313
7545
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7314
7546
|
"aria-hidden": true,
|
|
7315
7547
|
...props,
|
|
7316
|
-
children: /* @__PURE__ */
|
|
7548
|
+
children: /* @__PURE__ */ jsx9(
|
|
7317
7549
|
"path",
|
|
7318
7550
|
{
|
|
7319
7551
|
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",
|
|
@@ -7325,7 +7557,7 @@ function IconChat(props) {
|
|
|
7325
7557
|
}
|
|
7326
7558
|
function IconImageGeneration(props) {
|
|
7327
7559
|
"use memo";
|
|
7328
|
-
return /* @__PURE__ */
|
|
7560
|
+
return /* @__PURE__ */ jsx9(
|
|
7329
7561
|
"svg",
|
|
7330
7562
|
{
|
|
7331
7563
|
viewBox: "0 0 24 24",
|
|
@@ -7333,7 +7565,7 @@ function IconImageGeneration(props) {
|
|
|
7333
7565
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7334
7566
|
"aria-hidden": true,
|
|
7335
7567
|
...props,
|
|
7336
|
-
children: /* @__PURE__ */
|
|
7568
|
+
children: /* @__PURE__ */ jsx9(
|
|
7337
7569
|
"path",
|
|
7338
7570
|
{
|
|
7339
7571
|
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",
|
|
@@ -7371,7 +7603,7 @@ function ToolActivityKindIcon({
|
|
|
7371
7603
|
}) {
|
|
7372
7604
|
"use memo";
|
|
7373
7605
|
const Icon = kind ? TOOL_ACTIVITY_KIND_ICONS[kind] : IconCapability;
|
|
7374
|
-
return /* @__PURE__ */
|
|
7606
|
+
return /* @__PURE__ */ jsx9(Icon, { ...props });
|
|
7375
7607
|
}
|
|
7376
7608
|
function ToolNameIcon({
|
|
7377
7609
|
toolName,
|
|
@@ -7385,34 +7617,34 @@ function ToolNameIcon({
|
|
|
7385
7617
|
case "generatingimage":
|
|
7386
7618
|
case "imagegenerate":
|
|
7387
7619
|
case "imagegenerator":
|
|
7388
|
-
return /* @__PURE__ */
|
|
7620
|
+
return /* @__PURE__ */ jsx9(IconImageGeneration, { ...props });
|
|
7389
7621
|
case "read":
|
|
7390
7622
|
case "readfile":
|
|
7391
7623
|
case "glob":
|
|
7392
|
-
return /* @__PURE__ */
|
|
7624
|
+
return /* @__PURE__ */ jsx9(IconProductDoc, { ...props });
|
|
7393
7625
|
case "write":
|
|
7394
7626
|
case "writefile":
|
|
7395
7627
|
case "edit":
|
|
7396
7628
|
case "editfile":
|
|
7397
7629
|
case "multiedit":
|
|
7398
|
-
return /* @__PURE__ */
|
|
7630
|
+
return /* @__PURE__ */ jsx9(IconBrush, { ...props });
|
|
7399
7631
|
case "bash":
|
|
7400
7632
|
case "shell":
|
|
7401
7633
|
case "exec":
|
|
7402
7634
|
case "execcommand":
|
|
7403
7635
|
case "grep":
|
|
7404
|
-
return /* @__PURE__ */
|
|
7636
|
+
return /* @__PURE__ */ jsx9(IconBuild, { ...props });
|
|
7405
7637
|
case "writestdin":
|
|
7406
|
-
return /* @__PURE__ */
|
|
7638
|
+
return /* @__PURE__ */ jsx9(IconBrush, { ...props });
|
|
7407
7639
|
case "websearch":
|
|
7408
7640
|
case "webfetch":
|
|
7409
|
-
return /* @__PURE__ */
|
|
7641
|
+
return /* @__PURE__ */ jsx9(IconNetwork, { ...props });
|
|
7410
7642
|
case "todowrite":
|
|
7411
|
-
return /* @__PURE__ */
|
|
7643
|
+
return /* @__PURE__ */ jsx9(IconTask, { ...props });
|
|
7412
7644
|
case "think":
|
|
7413
|
-
return /* @__PURE__ */
|
|
7645
|
+
return /* @__PURE__ */ jsx9(IconThinking, { ...props });
|
|
7414
7646
|
default:
|
|
7415
|
-
return /* @__PURE__ */
|
|
7647
|
+
return /* @__PURE__ */ jsx9(IconCapability, { ...props });
|
|
7416
7648
|
}
|
|
7417
7649
|
}
|
|
7418
7650
|
function normalizeToolName6(value) {
|
|
@@ -7420,7 +7652,7 @@ function normalizeToolName6(value) {
|
|
|
7420
7652
|
}
|
|
7421
7653
|
|
|
7422
7654
|
// shared/WorkspaceAgentSessionThinkingDisclosure.tsx
|
|
7423
|
-
import { jsx as
|
|
7655
|
+
import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
7424
7656
|
function WorkspaceAgentSessionThinkingDisclosure({
|
|
7425
7657
|
thinking,
|
|
7426
7658
|
label,
|
|
@@ -7428,11 +7660,11 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7428
7660
|
previewMode = false
|
|
7429
7661
|
}) {
|
|
7430
7662
|
"use memo";
|
|
7431
|
-
const [expanded, setExpanded] =
|
|
7663
|
+
const [expanded, setExpanded] = useState4(false);
|
|
7432
7664
|
const isActive = thinking.statusKind === "working" || thinking.statusKind === "waiting";
|
|
7433
7665
|
const statusLabel = thinking.statusKind === "working" ? null : thinkingStatusLabel(thinking.statusKind);
|
|
7434
|
-
return /* @__PURE__ */
|
|
7435
|
-
/* @__PURE__ */
|
|
7666
|
+
return /* @__PURE__ */ jsxs6("div", { className: "workspace-agents-status-panel__detail-thinking-disclosure flex w-full min-w-0 flex-col items-start gap-[7px]", children: [
|
|
7667
|
+
/* @__PURE__ */ jsxs6(
|
|
7436
7668
|
"button",
|
|
7437
7669
|
{
|
|
7438
7670
|
type: "button",
|
|
@@ -7446,7 +7678,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7446
7678
|
setExpanded((value) => !value);
|
|
7447
7679
|
},
|
|
7448
7680
|
children: [
|
|
7449
|
-
isActive ? /* @__PURE__ */
|
|
7681
|
+
isActive ? /* @__PURE__ */ jsx10(
|
|
7450
7682
|
BrainIcon,
|
|
7451
7683
|
{
|
|
7452
7684
|
size: 16,
|
|
@@ -7454,7 +7686,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7454
7686
|
"aria-hidden": "true",
|
|
7455
7687
|
className: "tsh-inline-scanlight-icon shrink-0 opacity-[0.86]"
|
|
7456
7688
|
}
|
|
7457
|
-
) : /* @__PURE__ */
|
|
7689
|
+
) : /* @__PURE__ */ jsx10(
|
|
7458
7690
|
ToolActivityKindIcon,
|
|
7459
7691
|
{
|
|
7460
7692
|
kind: "thinking",
|
|
@@ -7463,12 +7695,12 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7463
7695
|
className: "tsh-inline-scanlight-icon shrink-0 opacity-[0.72]"
|
|
7464
7696
|
}
|
|
7465
7697
|
),
|
|
7466
|
-
/* @__PURE__ */
|
|
7467
|
-
/* @__PURE__ */
|
|
7468
|
-
statusLabel ? /* @__PURE__ */
|
|
7469
|
-
isActive ? /* @__PURE__ */
|
|
7698
|
+
/* @__PURE__ */ jsxs6("span", { className: isActive ? "tsh-inline-scanlight-line" : void 0, children: [
|
|
7699
|
+
/* @__PURE__ */ jsx10("span", { className: "font-semibold", children: label }),
|
|
7700
|
+
statusLabel ? /* @__PURE__ */ jsx10("span", { className: "ml-1.5", children: formatInlineStatusLabel(statusLabel) }) : null,
|
|
7701
|
+
isActive ? /* @__PURE__ */ jsx10(LoadingEllipsis, {}) : null
|
|
7470
7702
|
] }),
|
|
7471
|
-
expanded ? /* @__PURE__ */
|
|
7703
|
+
expanded ? /* @__PURE__ */ jsx10(
|
|
7472
7704
|
ChevronDown2,
|
|
7473
7705
|
{
|
|
7474
7706
|
size: 12,
|
|
@@ -7476,8 +7708,8 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7476
7708
|
"aria-hidden": "true",
|
|
7477
7709
|
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"
|
|
7478
7710
|
}
|
|
7479
|
-
) : /* @__PURE__ */
|
|
7480
|
-
|
|
7711
|
+
) : /* @__PURE__ */ jsx10(
|
|
7712
|
+
ChevronRight2,
|
|
7481
7713
|
{
|
|
7482
7714
|
size: 12,
|
|
7483
7715
|
strokeWidth: 2.2,
|
|
@@ -7488,7 +7720,7 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7488
7720
|
]
|
|
7489
7721
|
}
|
|
7490
7722
|
),
|
|
7491
|
-
/* @__PURE__ */
|
|
7723
|
+
/* @__PURE__ */ jsx10(CollapsibleReveal, { expanded, className: "w-full", children: /* @__PURE__ */ jsx10("div", { className: "box-border w-full min-w-0 rounded-[6px] bg-[var(--transparency-block)] p-3", children: /* @__PURE__ */ jsx10(
|
|
7492
7724
|
AgentMessageMarkdown,
|
|
7493
7725
|
{
|
|
7494
7726
|
content: thinking.body,
|
|
@@ -7502,10 +7734,10 @@ function WorkspaceAgentSessionThinkingDisclosure({
|
|
|
7502
7734
|
}
|
|
7503
7735
|
function LoadingEllipsis() {
|
|
7504
7736
|
"use memo";
|
|
7505
|
-
return /* @__PURE__ */
|
|
7506
|
-
/* @__PURE__ */
|
|
7507
|
-
/* @__PURE__ */
|
|
7508
|
-
/* @__PURE__ */
|
|
7737
|
+
return /* @__PURE__ */ jsxs6("span", { className: "tsh-inline-loading-ellipsis", "aria-hidden": "true", children: [
|
|
7738
|
+
/* @__PURE__ */ jsx10("span", {}),
|
|
7739
|
+
/* @__PURE__ */ jsx10("span", {}),
|
|
7740
|
+
/* @__PURE__ */ jsx10("span", {})
|
|
7509
7741
|
] });
|
|
7510
7742
|
}
|
|
7511
7743
|
function thinkingStatusLabel(statusKind) {
|
|
@@ -7529,21 +7761,21 @@ function formatInlineStatusLabel(label) {
|
|
|
7529
7761
|
}
|
|
7530
7762
|
|
|
7531
7763
|
// shared/agentConversation/components/RawTimelineJsonDisclosure.tsx
|
|
7532
|
-
import { useState as
|
|
7533
|
-
import { ChevronDown as ChevronDown3, ChevronRight as
|
|
7534
|
-
import { jsx as
|
|
7764
|
+
import { useState as useState5 } from "react";
|
|
7765
|
+
import { ChevronDown as ChevronDown3, ChevronRight as ChevronRight3 } from "lucide-react";
|
|
7766
|
+
import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
7535
7767
|
function RawTimelineJsonDisclosure({
|
|
7536
7768
|
items,
|
|
7537
7769
|
label
|
|
7538
7770
|
}) {
|
|
7539
7771
|
"use memo";
|
|
7540
|
-
const [expanded, setExpanded] =
|
|
7772
|
+
const [expanded, setExpanded] = useState5(false);
|
|
7541
7773
|
const json = rawTimelineJson(items);
|
|
7542
7774
|
if (!json) {
|
|
7543
7775
|
return null;
|
|
7544
7776
|
}
|
|
7545
|
-
return /* @__PURE__ */
|
|
7546
|
-
/* @__PURE__ */
|
|
7777
|
+
return /* @__PURE__ */ jsxs7("div", { className: "mt-2 rounded-md border border-[color:color-mix(in_srgb,var(--state-danger)_18%,transparent)] bg-[color:color-mix(in_srgb,var(--background-fronted)_92%,var(--state-danger))] px-2 py-1.5 text-[11px] text-[var(--state-danger)]", children: [
|
|
7778
|
+
/* @__PURE__ */ jsxs7(
|
|
7547
7779
|
"button",
|
|
7548
7780
|
{
|
|
7549
7781
|
type: "button",
|
|
@@ -7551,12 +7783,12 @@ function RawTimelineJsonDisclosure({
|
|
|
7551
7783
|
"aria-expanded": expanded,
|
|
7552
7784
|
onClick: () => setExpanded((value) => !value),
|
|
7553
7785
|
children: [
|
|
7554
|
-
expanded ? /* @__PURE__ */
|
|
7555
|
-
/* @__PURE__ */
|
|
7786
|
+
expanded ? /* @__PURE__ */ jsx11(ChevronDown3, { size: 13, strokeWidth: 2.2, "aria-hidden": true }) : /* @__PURE__ */ jsx11(ChevronRight3, { size: 13, strokeWidth: 2.2, "aria-hidden": true }),
|
|
7787
|
+
/* @__PURE__ */ jsx11("span", { children: label })
|
|
7556
7788
|
]
|
|
7557
7789
|
}
|
|
7558
7790
|
),
|
|
7559
|
-
/* @__PURE__ */
|
|
7791
|
+
/* @__PURE__ */ jsx11(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx11("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__ */ jsx11("code", { children: json }) }) })
|
|
7560
7792
|
] });
|
|
7561
7793
|
}
|
|
7562
7794
|
function rawTimelineJson(items) {
|
|
@@ -7571,7 +7803,7 @@ function rawTimelineJson(items) {
|
|
|
7571
7803
|
}
|
|
7572
7804
|
|
|
7573
7805
|
// shared/agentConversation/components/AgentThinkingDisclosure.tsx
|
|
7574
|
-
import { Fragment, jsx as
|
|
7806
|
+
import { Fragment, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
7575
7807
|
function AgentThinkingDisclosure({
|
|
7576
7808
|
thinking,
|
|
7577
7809
|
label,
|
|
@@ -7581,8 +7813,8 @@ function AgentThinkingDisclosure({
|
|
|
7581
7813
|
rawTimelineJsonLabel = ""
|
|
7582
7814
|
}) {
|
|
7583
7815
|
"use memo";
|
|
7584
|
-
return /* @__PURE__ */
|
|
7585
|
-
/* @__PURE__ */
|
|
7816
|
+
return /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
7817
|
+
/* @__PURE__ */ jsx12(
|
|
7586
7818
|
WorkspaceAgentSessionThinkingDisclosure,
|
|
7587
7819
|
{
|
|
7588
7820
|
thinking,
|
|
@@ -7591,7 +7823,7 @@ function AgentThinkingDisclosure({
|
|
|
7591
7823
|
previewMode
|
|
7592
7824
|
}
|
|
7593
7825
|
),
|
|
7594
|
-
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */
|
|
7826
|
+
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx12(
|
|
7595
7827
|
RawTimelineJsonDisclosure,
|
|
7596
7828
|
{
|
|
7597
7829
|
items: thinking.sourceTimelineItems,
|
|
@@ -7603,7 +7835,7 @@ function AgentThinkingDisclosure({
|
|
|
7603
7835
|
|
|
7604
7836
|
// contexts/workspace/presentation/renderer/components/shared/CanvasNodeGhostIconButton.tsx
|
|
7605
7837
|
import { forwardRef as forwardRef3 } from "react";
|
|
7606
|
-
import { jsx as
|
|
7838
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
7607
7839
|
var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2({
|
|
7608
7840
|
className,
|
|
7609
7841
|
children,
|
|
@@ -7614,7 +7846,7 @@ var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2(
|
|
|
7614
7846
|
...rest
|
|
7615
7847
|
}, ref) {
|
|
7616
7848
|
"use memo";
|
|
7617
|
-
return /* @__PURE__ */
|
|
7849
|
+
return /* @__PURE__ */ jsx13(
|
|
7618
7850
|
"button",
|
|
7619
7851
|
{
|
|
7620
7852
|
ref,
|
|
@@ -7648,9 +7880,9 @@ var CanvasNodeGhostIconButton = forwardRef3(function CanvasNodeGhostIconButton2(
|
|
|
7648
7880
|
});
|
|
7649
7881
|
|
|
7650
7882
|
// shared/agentConversation/components/AgentMessageImages.tsx
|
|
7651
|
-
import { useEffect as useEffect4, useMemo, useState as
|
|
7883
|
+
import { useEffect as useEffect4, useMemo, useState as useState6 } from "react";
|
|
7652
7884
|
import { LoaderCircle } from "lucide-react";
|
|
7653
|
-
import { jsx as
|
|
7885
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
7654
7886
|
function AgentUserImageGrid({
|
|
7655
7887
|
message
|
|
7656
7888
|
}) {
|
|
@@ -7659,7 +7891,7 @@ function AgentUserImageGrid({
|
|
|
7659
7891
|
const { loadingIds, sources } = useAgentMessageImageSources(images);
|
|
7660
7892
|
const columnCount = Math.min(Math.max(images.length, 1), 4);
|
|
7661
7893
|
const thumbnailWidth = images.length === 1 ? "160px" : "80px";
|
|
7662
|
-
return /* @__PURE__ */
|
|
7894
|
+
return /* @__PURE__ */ jsx14(
|
|
7663
7895
|
"div",
|
|
7664
7896
|
{
|
|
7665
7897
|
className: AgentGUIConversation_styles_default.userImageGrid,
|
|
@@ -7669,7 +7901,7 @@ function AgentUserImageGrid({
|
|
|
7669
7901
|
children: images.map((image) => {
|
|
7670
7902
|
const src = sources.get(image.id) ?? imageSourceUrl(image);
|
|
7671
7903
|
const loading = !src && loadingIds.has(image.id);
|
|
7672
|
-
return /* @__PURE__ */
|
|
7904
|
+
return /* @__PURE__ */ jsx14("div", { className: AgentGUIConversation_styles_default.userImageThumbnail, children: src ? /* @__PURE__ */ jsx14(
|
|
7673
7905
|
ZoomableImage,
|
|
7674
7906
|
{
|
|
7675
7907
|
src,
|
|
@@ -7678,12 +7910,12 @@ function AgentUserImageGrid({
|
|
|
7678
7910
|
draggable: false,
|
|
7679
7911
|
downloadName: image.name?.trim() || "image.png"
|
|
7680
7912
|
}
|
|
7681
|
-
) : loading ? /* @__PURE__ */
|
|
7913
|
+
) : loading ? /* @__PURE__ */ jsx14(
|
|
7682
7914
|
"div",
|
|
7683
7915
|
{
|
|
7684
7916
|
className: "flex h-20 w-full items-center justify-center bg-[color-mix(in_srgb,var(--text-primary)_6%,transparent)]",
|
|
7685
7917
|
"data-testid": "agent-gui-message-image-loading",
|
|
7686
|
-
children: /* @__PURE__ */
|
|
7918
|
+
children: /* @__PURE__ */ jsx14(
|
|
7687
7919
|
LoaderCircle,
|
|
7688
7920
|
{
|
|
7689
7921
|
"aria-hidden": "true",
|
|
@@ -7692,15 +7924,15 @@ function AgentUserImageGrid({
|
|
|
7692
7924
|
}
|
|
7693
7925
|
)
|
|
7694
7926
|
}
|
|
7695
|
-
) : /* @__PURE__ */
|
|
7927
|
+
) : /* @__PURE__ */ jsx14("div", { className: "h-20 w-full animate-pulse bg-[color-mix(in_srgb,var(--text-primary)_8%,transparent)]" }) }, image.id);
|
|
7696
7928
|
})
|
|
7697
7929
|
}
|
|
7698
7930
|
);
|
|
7699
7931
|
}
|
|
7700
7932
|
function useAgentMessageImageSources(images) {
|
|
7701
7933
|
const runtime = useOptionalAgentActivityRuntime();
|
|
7702
|
-
const [sources, setSources] =
|
|
7703
|
-
const [loadingIds, setLoadingIds] =
|
|
7934
|
+
const [sources, setSources] = useState6(() => /* @__PURE__ */ new Map());
|
|
7935
|
+
const [loadingIds, setLoadingIds] = useState6(() => /* @__PURE__ */ new Set());
|
|
7704
7936
|
const missingImages = useMemo(
|
|
7705
7937
|
() => images.filter(
|
|
7706
7938
|
(image) => !imageSourceUrl(image) && !sources.has(image.id) && image.workspaceId && image.agentSessionId && (image.attachmentId || image.path)
|
|
@@ -7764,7 +7996,7 @@ function imageSourceUrl(image) {
|
|
|
7764
7996
|
}
|
|
7765
7997
|
|
|
7766
7998
|
// shared/agentConversation/components/AgentMessageBlock.tsx
|
|
7767
|
-
import { jsx as
|
|
7999
|
+
import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
7768
8000
|
var MESSAGE_COPY_FEEDBACK_MS = 1400;
|
|
7769
8001
|
var CONTEXT_COMPACTION_NOTICE_TITLE = "Context compacted.";
|
|
7770
8002
|
var CONTEXT_COMPACTION_IN_PROGRESS_TITLE = "Compacting context.";
|
|
@@ -7825,7 +8057,7 @@ function AgentMessageBlock({
|
|
|
7825
8057
|
},
|
|
7826
8058
|
[agentHostApi]
|
|
7827
8059
|
);
|
|
7828
|
-
const thinkingContent = !isUser ? row.thinking.map((thinking) => /* @__PURE__ */
|
|
8060
|
+
const thinkingContent = !isUser ? row.thinking.map((thinking) => /* @__PURE__ */ jsx15(
|
|
7829
8061
|
AgentThinkingDisclosure,
|
|
7830
8062
|
{
|
|
7831
8063
|
thinking,
|
|
@@ -7837,14 +8069,14 @@ function AgentMessageBlock({
|
|
|
7837
8069
|
},
|
|
7838
8070
|
thinking.id
|
|
7839
8071
|
)) : null;
|
|
7840
|
-
return /* @__PURE__ */
|
|
8072
|
+
return /* @__PURE__ */ jsxs9(
|
|
7841
8073
|
"div",
|
|
7842
8074
|
{
|
|
7843
8075
|
className: isUser ? AgentGUIConversation_styles_default.userMessageFlow : AgentGUIConversation_styles_default.assistantMessageFlow,
|
|
7844
8076
|
children: [
|
|
7845
8077
|
thinkingContent,
|
|
7846
8078
|
row.messages.map((message) => {
|
|
7847
|
-
const rawTimelineJson2 = showRawTimelineJson && rawTimelineJsonLabel && (message.sourceTimelineItems?.length ?? 0) > 0 ? /* @__PURE__ */
|
|
8079
|
+
const rawTimelineJson2 = showRawTimelineJson && rawTimelineJsonLabel && (message.sourceTimelineItems?.length ?? 0) > 0 ? /* @__PURE__ */ jsx15(
|
|
7848
8080
|
RawTimelineJsonDisclosure,
|
|
7849
8081
|
{
|
|
7850
8082
|
items: message.sourceTimelineItems,
|
|
@@ -7852,7 +8084,7 @@ function AgentMessageBlock({
|
|
|
7852
8084
|
}
|
|
7853
8085
|
) : null;
|
|
7854
8086
|
const recoveredError = !isUser && !message.visibleError && message.statusKind === "failed" ? recoverVisibleErrorFromFailedMessage(message, provider) : null;
|
|
7855
|
-
const content = isUser && message.contentKind === "image-grid" ? /* @__PURE__ */
|
|
8087
|
+
const content = isUser && message.contentKind === "image-grid" ? /* @__PURE__ */ jsx15(AgentUserImageGrid, { message }) : isUser ? /* @__PURE__ */ jsx15(
|
|
7856
8088
|
AgentRichTextReadonly,
|
|
7857
8089
|
{
|
|
7858
8090
|
value: message.body,
|
|
@@ -7862,21 +8094,21 @@ function AgentMessageBlock({
|
|
|
7862
8094
|
availableSkills,
|
|
7863
8095
|
workspaceAppIcons
|
|
7864
8096
|
}
|
|
7865
|
-
) : message.visibleError ? /* @__PURE__ */
|
|
8097
|
+
) : message.visibleError ? /* @__PURE__ */ jsx15(
|
|
7866
8098
|
AgentVisibleErrorMessage,
|
|
7867
8099
|
{
|
|
7868
8100
|
message,
|
|
7869
8101
|
onAuthLogin,
|
|
7870
8102
|
onExternalLink: handleLinkClick
|
|
7871
8103
|
}
|
|
7872
|
-
) : recoveredError ? /* @__PURE__ */
|
|
8104
|
+
) : recoveredError ? /* @__PURE__ */ jsx15(
|
|
7873
8105
|
AgentVisibleErrorMessage,
|
|
7874
8106
|
{
|
|
7875
8107
|
message: recoveredError,
|
|
7876
8108
|
onAuthLogin,
|
|
7877
8109
|
onExternalLink: handleLinkClick
|
|
7878
8110
|
}
|
|
7879
|
-
) : message.systemNotice ? /* @__PURE__ */
|
|
8111
|
+
) : message.systemNotice ? /* @__PURE__ */ jsx15(AgentSystemNoticeMessage, { message }) : message.contentKind === "plan" ? /* @__PURE__ */ jsx15(
|
|
7880
8112
|
AgentPlanCardMessage,
|
|
7881
8113
|
{
|
|
7882
8114
|
message,
|
|
@@ -7886,7 +8118,7 @@ function AgentMessageBlock({
|
|
|
7886
8118
|
workspaceAppIcons,
|
|
7887
8119
|
previewMode
|
|
7888
8120
|
}
|
|
7889
|
-
) : /* @__PURE__ */
|
|
8121
|
+
) : /* @__PURE__ */ jsx15(
|
|
7890
8122
|
AgentMessageMarkdown,
|
|
7891
8123
|
{
|
|
7892
8124
|
content: message.body,
|
|
@@ -7905,7 +8137,7 @@ function AgentMessageBlock({
|
|
|
7905
8137
|
}
|
|
7906
8138
|
);
|
|
7907
8139
|
if (rawTimelineJson2) {
|
|
7908
|
-
return /* @__PURE__ */
|
|
8140
|
+
return /* @__PURE__ */ jsxs9(
|
|
7909
8141
|
AgentCopyableMessageGroup,
|
|
7910
8142
|
{
|
|
7911
8143
|
copyText: message.copyText ?? null,
|
|
@@ -7922,7 +8154,7 @@ function AgentMessageBlock({
|
|
|
7922
8154
|
}
|
|
7923
8155
|
const copyText = message.copyText ?? null;
|
|
7924
8156
|
if (copyText) {
|
|
7925
|
-
return /* @__PURE__ */
|
|
8157
|
+
return /* @__PURE__ */ jsx15(
|
|
7926
8158
|
AgentCopyableMessageGroup,
|
|
7927
8159
|
{
|
|
7928
8160
|
copyText,
|
|
@@ -7934,7 +8166,7 @@ function AgentMessageBlock({
|
|
|
7934
8166
|
message.id
|
|
7935
8167
|
);
|
|
7936
8168
|
}
|
|
7937
|
-
return /* @__PURE__ */
|
|
8169
|
+
return /* @__PURE__ */ jsx15(Fragment2, { children: content }, message.id);
|
|
7938
8170
|
})
|
|
7939
8171
|
]
|
|
7940
8172
|
}
|
|
@@ -7949,11 +8181,11 @@ function AgentCopyableMessageGroup({
|
|
|
7949
8181
|
}) {
|
|
7950
8182
|
"use memo";
|
|
7951
8183
|
const timestamp = formatAgentMessageTimestamp(occurredAtUnixMs);
|
|
7952
|
-
return /* @__PURE__ */
|
|
8184
|
+
return /* @__PURE__ */ jsxs9("div", { className: AgentGUIConversation_styles_default.messageGroup, "data-agent-message-speaker": speaker, children: [
|
|
7953
8185
|
children,
|
|
7954
|
-
timestamp || copyText ? /* @__PURE__ */
|
|
7955
|
-
timestamp ? /* @__PURE__ */
|
|
7956
|
-
copyText ? /* @__PURE__ */
|
|
8186
|
+
timestamp || copyText ? /* @__PURE__ */ jsxs9("div", { className: AgentGUIConversation_styles_default.messageFooter, children: [
|
|
8187
|
+
timestamp ? /* @__PURE__ */ jsx15("span", { className: AgentGUIConversation_styles_default.messageTimestamp, children: timestamp }) : null,
|
|
8188
|
+
copyText ? /* @__PURE__ */ jsx15(
|
|
7957
8189
|
AgentMessageCopyButton,
|
|
7958
8190
|
{
|
|
7959
8191
|
copyText,
|
|
@@ -7968,7 +8200,7 @@ function AgentMessageCopyButton({
|
|
|
7968
8200
|
onCopyMessageText
|
|
7969
8201
|
}) {
|
|
7970
8202
|
"use memo";
|
|
7971
|
-
const [copied, setCopied] =
|
|
8203
|
+
const [copied, setCopied] = useState7(false);
|
|
7972
8204
|
useEffect5(() => {
|
|
7973
8205
|
if (!copied) {
|
|
7974
8206
|
return;
|
|
@@ -7984,14 +8216,14 @@ function AgentMessageCopyButton({
|
|
|
7984
8216
|
}
|
|
7985
8217
|
}, [copyText, onCopyMessageText]);
|
|
7986
8218
|
const label = copied ? translate("agentHost.agentGui.messageCopied") : translate("agentHost.agentGui.copyMessage");
|
|
7987
|
-
return /* @__PURE__ */
|
|
8219
|
+
return /* @__PURE__ */ jsx15(
|
|
7988
8220
|
CanvasNodeGhostIconButton,
|
|
7989
8221
|
{
|
|
7990
8222
|
className: AgentGUIConversation_styles_default.messageCopyButton,
|
|
7991
8223
|
"aria-label": label,
|
|
7992
8224
|
"data-copied": copied ? "true" : "false",
|
|
7993
8225
|
onClick: handleClick,
|
|
7994
|
-
children: copied ? /* @__PURE__ */
|
|
8226
|
+
children: copied ? /* @__PURE__ */ jsx15(CheckIcon, { width: 14, height: 14, "aria-hidden": "true" }) : /* @__PURE__ */ jsx15(CopyIcon, { width: 14, height: 14, "aria-hidden": "true" })
|
|
7995
8227
|
}
|
|
7996
8228
|
);
|
|
7997
8229
|
}
|
|
@@ -8004,7 +8236,7 @@ function AgentSystemNoticeMessage({
|
|
|
8004
8236
|
const title = systemNoticeTitle(message);
|
|
8005
8237
|
if (notice?.noticeKind === "transport_retry") {
|
|
8006
8238
|
const retryText = transportRetryNoticeText(message);
|
|
8007
|
-
return /* @__PURE__ */
|
|
8239
|
+
return /* @__PURE__ */ jsx15(
|
|
8008
8240
|
"div",
|
|
8009
8241
|
{
|
|
8010
8242
|
role: "status",
|
|
@@ -8014,7 +8246,7 @@ function AgentSystemNoticeMessage({
|
|
|
8014
8246
|
);
|
|
8015
8247
|
}
|
|
8016
8248
|
if (isContextCompactionProgressNotice(message, title)) {
|
|
8017
|
-
return /* @__PURE__ */
|
|
8249
|
+
return /* @__PURE__ */ jsx15(
|
|
8018
8250
|
ContextCompactionProgressDivider,
|
|
8019
8251
|
{
|
|
8020
8252
|
startedAtUnixMs: message.occurredAtUnixMs
|
|
@@ -8022,7 +8254,7 @@ function AgentSystemNoticeMessage({
|
|
|
8022
8254
|
);
|
|
8023
8255
|
}
|
|
8024
8256
|
if (isContextCompactionNotice(message, title)) {
|
|
8025
|
-
return /* @__PURE__ */
|
|
8257
|
+
return /* @__PURE__ */ jsx15(
|
|
8026
8258
|
ContextCompactionDivider,
|
|
8027
8259
|
{
|
|
8028
8260
|
text: translate("agentHost.agentGui.contextCompactionCompleted")
|
|
@@ -8030,7 +8262,7 @@ function AgentSystemNoticeMessage({
|
|
|
8030
8262
|
);
|
|
8031
8263
|
}
|
|
8032
8264
|
if (isContextCompactionInterruptedNotice(message, title)) {
|
|
8033
|
-
return /* @__PURE__ */
|
|
8265
|
+
return /* @__PURE__ */ jsx15(
|
|
8034
8266
|
ContextCompactionDivider,
|
|
8035
8267
|
{
|
|
8036
8268
|
text: translate("agentHost.agentGui.contextCompactionInterrupted")
|
|
@@ -8039,14 +8271,14 @@ function AgentSystemNoticeMessage({
|
|
|
8039
8271
|
}
|
|
8040
8272
|
const isStatusNotice = systemNoticeIsStatus(message);
|
|
8041
8273
|
const noticeToneClassName = systemNoticeToneClassName(message);
|
|
8042
|
-
return /* @__PURE__ */
|
|
8274
|
+
return /* @__PURE__ */ jsx15(
|
|
8043
8275
|
"section",
|
|
8044
8276
|
{
|
|
8045
8277
|
role: isStatusNotice ? "status" : void 0,
|
|
8046
8278
|
className: `box-border w-full min-w-0 rounded-[8px] border p-3 text-[13px] leading-5 text-[var(--text-primary)] ${noticeToneClassName}`,
|
|
8047
|
-
children: /* @__PURE__ */
|
|
8048
|
-
/* @__PURE__ */
|
|
8049
|
-
detail ? /* @__PURE__ */
|
|
8279
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
8280
|
+
/* @__PURE__ */ jsx15("div", { className: "font-medium text-[var(--text-primary)]", children: title }),
|
|
8281
|
+
detail ? /* @__PURE__ */ jsx15(AgentMessageDetailsDisclosure, { detail, className: "mt-1" }) : null
|
|
8050
8282
|
] })
|
|
8051
8283
|
}
|
|
8052
8284
|
);
|
|
@@ -8097,21 +8329,21 @@ function isContextCompactionInterruptedNotice(message, title) {
|
|
|
8097
8329
|
}
|
|
8098
8330
|
function ContextCompactionDivider({ text }) {
|
|
8099
8331
|
"use memo";
|
|
8100
|
-
return /* @__PURE__ */
|
|
8332
|
+
return /* @__PURE__ */ jsxs9(
|
|
8101
8333
|
"div",
|
|
8102
8334
|
{
|
|
8103
8335
|
role: "status",
|
|
8104
8336
|
className: "box-border flex w-full min-w-0 items-center gap-3 py-2 text-[12px] leading-4 text-[var(--text-secondary)]",
|
|
8105
8337
|
children: [
|
|
8106
|
-
/* @__PURE__ */
|
|
8338
|
+
/* @__PURE__ */ jsx15(
|
|
8107
8339
|
"span",
|
|
8108
8340
|
{
|
|
8109
8341
|
"aria-hidden": "true",
|
|
8110
8342
|
className: "h-px min-w-4 flex-1 bg-[var(--line-1)]"
|
|
8111
8343
|
}
|
|
8112
8344
|
),
|
|
8113
|
-
/* @__PURE__ */
|
|
8114
|
-
/* @__PURE__ */
|
|
8345
|
+
/* @__PURE__ */ jsx15("span", { className: "shrink-0 whitespace-nowrap", children: text }),
|
|
8346
|
+
/* @__PURE__ */ jsx15(
|
|
8115
8347
|
"span",
|
|
8116
8348
|
{
|
|
8117
8349
|
"aria-hidden": "true",
|
|
@@ -8129,10 +8361,10 @@ function ContextCompactionProgressDivider({
|
|
|
8129
8361
|
const elapsedSeconds = useElapsedSeconds(startedAtUnixMs);
|
|
8130
8362
|
const label = translate("agentHost.agentGui.contextCompactionInProgress");
|
|
8131
8363
|
const text = elapsedSeconds === null ? label : `${label} \xB7 ${formatElapsedSeconds(elapsedSeconds)}`;
|
|
8132
|
-
return /* @__PURE__ */
|
|
8364
|
+
return /* @__PURE__ */ jsx15(ContextCompactionDivider, { text });
|
|
8133
8365
|
}
|
|
8134
8366
|
function useElapsedSeconds(startUnixMs) {
|
|
8135
|
-
const [nowUnixMs, setNowUnixMs] =
|
|
8367
|
+
const [nowUnixMs, setNowUnixMs] = useState7(() => Date.now());
|
|
8136
8368
|
useEffect5(() => {
|
|
8137
8369
|
if (startUnixMs === null) {
|
|
8138
8370
|
return;
|
|
@@ -8160,7 +8392,7 @@ function AgentPlanCardMessage({
|
|
|
8160
8392
|
previewMode = false
|
|
8161
8393
|
}) {
|
|
8162
8394
|
"use memo";
|
|
8163
|
-
return /* @__PURE__ */
|
|
8395
|
+
return /* @__PURE__ */ jsx15(AgentPlanCard, { copyText: message.body, children: /* @__PURE__ */ jsx15(
|
|
8164
8396
|
AgentMessageMarkdown,
|
|
8165
8397
|
{
|
|
8166
8398
|
content: message.body,
|
|
@@ -8199,177 +8431,22 @@ function systemNoticeTitle(message) {
|
|
|
8199
8431
|
return notice?.title || message.body || translate("agentHost.agentGui.systemNoticeDefault");
|
|
8200
8432
|
}
|
|
8201
8433
|
}
|
|
8202
|
-
function recoverVisibleErrorFromFailedMessage(message, provider) {
|
|
8203
|
-
const code = classifyFailedAgentMessage(message.body);
|
|
8204
|
-
if (!code) {
|
|
8205
|
-
return null;
|
|
8206
|
-
}
|
|
8207
|
-
return {
|
|
8208
|
-
...message,
|
|
8209
|
-
visibleError: {
|
|
8210
|
-
code,
|
|
8211
|
-
phase: null,
|
|
8212
|
-
provider: provider ?? null,
|
|
8213
|
-
detail: message.body,
|
|
8214
|
-
retryable: null
|
|
8215
|
-
}
|
|
8216
|
-
};
|
|
8217
|
-
}
|
|
8218
|
-
function AgentVisibleErrorMessage({
|
|
8219
|
-
message,
|
|
8220
|
-
onExternalLink
|
|
8221
|
-
}) {
|
|
8222
|
-
"use memo";
|
|
8223
|
-
const error = message.visibleError;
|
|
8224
|
-
const detail = error?.detail?.trim() ?? "";
|
|
8225
|
-
const providerLabel = workspaceAgentProviderLabel(
|
|
8226
|
-
error?.provider ?? "unknown"
|
|
8227
|
-
);
|
|
8228
|
-
const presentation = resolveAgentErrorPresentation(error?.code);
|
|
8229
|
-
const headline = presentation?.messageKey ? translate(presentation.messageKey, { provider: providerLabel }) : visibleErrorTitle(message);
|
|
8230
|
-
const focus = presentation?.focus ?? null;
|
|
8231
|
-
const actionKey = presentation?.actionKey ?? null;
|
|
8232
|
-
const externalUrl = presentation?.externalUrl ?? null;
|
|
8233
|
-
const hint = visibleErrorHint(message);
|
|
8234
|
-
return /* @__PURE__ */ jsx13(
|
|
8235
|
-
"section",
|
|
8236
|
-
{
|
|
8237
|
-
role: "alert",
|
|
8238
|
-
className: "box-border w-full min-w-0 rounded-[8px] border border-[var(--on-danger-hover)] bg-[var(--on-danger)] p-3 text-[13px] leading-5 text-[var(--state-danger)]",
|
|
8239
|
-
children: /* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 items-start gap-3", children: [
|
|
8240
|
-
/* @__PURE__ */ jsxs7("div", { className: "min-w-0 flex-1", children: [
|
|
8241
|
-
/* @__PURE__ */ jsx13("div", { className: "font-medium text-[var(--text-primary)]", children: headline }),
|
|
8242
|
-
hint ? /* @__PURE__ */ jsx13("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: hint }) : null,
|
|
8243
|
-
detail ? /* @__PURE__ */ jsx13(
|
|
8244
|
-
AgentMessageDetailsDisclosure,
|
|
8245
|
-
{
|
|
8246
|
-
detail,
|
|
8247
|
-
className: "mt-1",
|
|
8248
|
-
label: translate("agentHost.agentGui.visibleErrorRawDetails")
|
|
8249
|
-
}
|
|
8250
|
-
) : null
|
|
8251
|
-
] }),
|
|
8252
|
-
actionKey && (focus || externalUrl && onExternalLink) ? /* @__PURE__ */ jsx13(
|
|
8253
|
-
Button,
|
|
8254
|
-
{
|
|
8255
|
-
type: "button",
|
|
8256
|
-
variant: "ghost",
|
|
8257
|
-
size: "sm",
|
|
8258
|
-
className: "mt-0.5 shrink-0",
|
|
8259
|
-
onClick: () => {
|
|
8260
|
-
if (externalUrl) {
|
|
8261
|
-
onExternalLink?.(externalUrl);
|
|
8262
|
-
return;
|
|
8263
|
-
}
|
|
8264
|
-
if (focus) {
|
|
8265
|
-
openAgentEnvPanel({
|
|
8266
|
-
provider: error?.provider ?? null,
|
|
8267
|
-
focus
|
|
8268
|
-
});
|
|
8269
|
-
}
|
|
8270
|
-
},
|
|
8271
|
-
children: translate(actionKey)
|
|
8272
|
-
}
|
|
8273
|
-
) : null
|
|
8274
|
-
] })
|
|
8275
|
-
}
|
|
8276
|
-
);
|
|
8277
|
-
}
|
|
8278
|
-
function AgentMessageDetailsDisclosure({
|
|
8279
|
-
detail,
|
|
8280
|
-
className = "",
|
|
8281
|
-
label
|
|
8282
|
-
}) {
|
|
8283
|
-
"use memo";
|
|
8284
|
-
const [expanded, setExpanded] = useState6(false);
|
|
8285
|
-
return /* @__PURE__ */ jsxs7("div", { className: `${className} text-[11px] text-[var(--state-danger)]`, children: [
|
|
8286
|
-
/* @__PURE__ */ jsxs7(
|
|
8287
|
-
"button",
|
|
8288
|
-
{
|
|
8289
|
-
type: "button",
|
|
8290
|
-
className: "inline-flex w-fit max-w-full min-w-0 cursor-pointer select-none items-center gap-1.5 border-0 bg-transparent p-0 text-left font-[inherit] text-[inherit] transition-colors duration-150 hover:text-[var(--state-danger-hover)]",
|
|
8291
|
-
"aria-expanded": expanded,
|
|
8292
|
-
onClick: () => setExpanded((value) => !value),
|
|
8293
|
-
children: [
|
|
8294
|
-
label ?? translate("agentHost.agentGui.visibleErrorDetails"),
|
|
8295
|
-
/* @__PURE__ */ jsx13(
|
|
8296
|
-
ChevronRight3,
|
|
8297
|
-
{
|
|
8298
|
-
size: 12,
|
|
8299
|
-
strokeWidth: 2.2,
|
|
8300
|
-
"aria-hidden": "true",
|
|
8301
|
-
className: "shrink-0 text-[var(--state-danger)]",
|
|
8302
|
-
style: {
|
|
8303
|
-
transform: expanded ? "rotate(90deg)" : "rotate(0deg)",
|
|
8304
|
-
transformOrigin: "center",
|
|
8305
|
-
transition: "transform 200ms cubic-bezier(0.22, 1.18, 0.36, 1)",
|
|
8306
|
-
willChange: "transform"
|
|
8307
|
-
}
|
|
8308
|
-
}
|
|
8309
|
-
)
|
|
8310
|
-
]
|
|
8311
|
-
}
|
|
8312
|
-
),
|
|
8313
|
-
/* @__PURE__ */ jsx13(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx13("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 }) })
|
|
8314
|
-
] });
|
|
8315
|
-
}
|
|
8316
|
-
function visibleErrorTitle(message) {
|
|
8317
|
-
const error = message.visibleError;
|
|
8318
|
-
const provider = workspaceAgentProviderLabel(error?.provider ?? "unknown");
|
|
8319
|
-
switch (error?.code) {
|
|
8320
|
-
case "auth_required":
|
|
8321
|
-
return translate("agentHost.agentGui.visibleErrorAuthRequired", {
|
|
8322
|
-
provider
|
|
8323
|
-
});
|
|
8324
|
-
case "request_timed_out":
|
|
8325
|
-
return translate("agentHost.agentGui.visibleErrorRequestTimedOut", {
|
|
8326
|
-
provider
|
|
8327
|
-
});
|
|
8328
|
-
case "runtime_unavailable":
|
|
8329
|
-
return translate("agentHost.agentGui.visibleErrorRuntimeUnavailable", {
|
|
8330
|
-
provider
|
|
8331
|
-
});
|
|
8332
|
-
case "quota_or_rate_limit":
|
|
8333
|
-
return translate("agentHost.agentGui.visibleErrorQuotaOrRateLimit", {
|
|
8334
|
-
provider
|
|
8335
|
-
});
|
|
8336
|
-
default:
|
|
8337
|
-
if (error?.phase === "start") {
|
|
8338
|
-
return translate("agentHost.agentGui.visibleErrorStartFailed", {
|
|
8339
|
-
provider
|
|
8340
|
-
});
|
|
8341
|
-
}
|
|
8342
|
-
return message.body || translate("agentHost.agentGui.visibleErrorRequestFailed", { provider });
|
|
8343
|
-
}
|
|
8344
|
-
}
|
|
8345
|
-
function visibleErrorHint(message) {
|
|
8346
|
-
const error = message.visibleError;
|
|
8347
|
-
if (error?.code !== "auth_required") {
|
|
8348
|
-
return null;
|
|
8349
|
-
}
|
|
8350
|
-
return translate(
|
|
8351
|
-
"agentHost.agentGui.visibleErrorAuthRequiredLocalAgentHint",
|
|
8352
|
-
{
|
|
8353
|
-
provider: workspaceAgentProviderLabel(error.provider ?? "unknown")
|
|
8354
|
-
}
|
|
8355
|
-
);
|
|
8356
|
-
}
|
|
8357
8434
|
|
|
8358
8435
|
// shared/agentConversation/components/AgentProcessingRow.tsx
|
|
8359
|
-
import { jsx as
|
|
8436
|
+
import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
8360
8437
|
function AgentProcessingRow({
|
|
8361
8438
|
row,
|
|
8362
8439
|
label
|
|
8363
8440
|
}) {
|
|
8364
8441
|
"use memo";
|
|
8365
|
-
return /* @__PURE__ */
|
|
8442
|
+
return /* @__PURE__ */ jsx16(
|
|
8366
8443
|
"div",
|
|
8367
8444
|
{
|
|
8368
8445
|
"data-row-id": row.id,
|
|
8369
8446
|
className: "workspace-agents-status-panel__detail-processing inline-flex items-center gap-1.5",
|
|
8370
|
-
children: /* @__PURE__ */
|
|
8371
|
-
/* @__PURE__ */
|
|
8372
|
-
/* @__PURE__ */
|
|
8447
|
+
children: /* @__PURE__ */ jsxs10("span", { className: "inline-flex min-w-0 items-center gap-1 font-semibold", children: [
|
|
8448
|
+
/* @__PURE__ */ jsx16("span", { children: processingLabel(row, label) }),
|
|
8449
|
+
/* @__PURE__ */ jsx16(LoadingEllipsis2, {})
|
|
8373
8450
|
] })
|
|
8374
8451
|
}
|
|
8375
8452
|
);
|
|
@@ -8382,26 +8459,26 @@ function processingLabel(row, fallback) {
|
|
|
8382
8459
|
}
|
|
8383
8460
|
function LoadingEllipsis2() {
|
|
8384
8461
|
"use memo";
|
|
8385
|
-
return /* @__PURE__ */
|
|
8462
|
+
return /* @__PURE__ */ jsxs10(
|
|
8386
8463
|
"span",
|
|
8387
8464
|
{
|
|
8388
8465
|
className: "tsh-inline-loading-ellipsis tsh-inline-loading-ellipsis--entry-timing",
|
|
8389
8466
|
"aria-hidden": "true",
|
|
8390
8467
|
children: [
|
|
8391
|
-
/* @__PURE__ */
|
|
8392
|
-
/* @__PURE__ */
|
|
8393
|
-
/* @__PURE__ */
|
|
8468
|
+
/* @__PURE__ */ jsx16("span", {}),
|
|
8469
|
+
/* @__PURE__ */ jsx16("span", {}),
|
|
8470
|
+
/* @__PURE__ */ jsx16("span", {})
|
|
8394
8471
|
]
|
|
8395
8472
|
}
|
|
8396
8473
|
);
|
|
8397
8474
|
}
|
|
8398
8475
|
|
|
8399
8476
|
// shared/agentConversation/components/AgentToolGroupRow.tsx
|
|
8400
|
-
import { memo as memo2, useState as
|
|
8477
|
+
import { memo as memo2, useState as useState18 } from "react";
|
|
8401
8478
|
import { ChevronDown as ChevronDown7, ChevronRight as ChevronRight7 } from "lucide-react";
|
|
8402
8479
|
|
|
8403
8480
|
// shared/agentConversation/components/AgentAskUserQuestionCard.tsx
|
|
8404
|
-
import { useState as
|
|
8481
|
+
import { useState as useState14 } from "react";
|
|
8405
8482
|
|
|
8406
8483
|
// shared/agentConversation/components/AgentToolCallHeader.tsx
|
|
8407
8484
|
import { AlertCircle, ChevronDown as ChevronDown4, ChevronRight as ChevronRight4 } from "lucide-react";
|
|
@@ -8419,7 +8496,7 @@ import {
|
|
|
8419
8496
|
useAnimation as useAnimation2,
|
|
8420
8497
|
useReducedMotion as useReducedMotion2
|
|
8421
8498
|
} from "framer-motion";
|
|
8422
|
-
import { jsx as
|
|
8499
|
+
import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
8423
8500
|
var PEN_VARIANTS = {
|
|
8424
8501
|
normal: {
|
|
8425
8502
|
rotate: 0,
|
|
@@ -8519,14 +8596,14 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8519
8596
|
},
|
|
8520
8597
|
[onMouseLeave, stopAnimation]
|
|
8521
8598
|
);
|
|
8522
|
-
return /* @__PURE__ */
|
|
8599
|
+
return /* @__PURE__ */ jsx17(
|
|
8523
8600
|
"div",
|
|
8524
8601
|
{
|
|
8525
8602
|
className: cn("inline-flex items-center justify-center", className),
|
|
8526
8603
|
onMouseEnter: handleMouseEnter,
|
|
8527
8604
|
onMouseLeave: handleMouseLeave,
|
|
8528
8605
|
...props,
|
|
8529
|
-
children: /* @__PURE__ */
|
|
8606
|
+
children: /* @__PURE__ */ jsxs11(
|
|
8530
8607
|
"svg",
|
|
8531
8608
|
{
|
|
8532
8609
|
fill: "none",
|
|
@@ -8539,8 +8616,8 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8539
8616
|
width: size,
|
|
8540
8617
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8541
8618
|
children: [
|
|
8542
|
-
/* @__PURE__ */
|
|
8543
|
-
/* @__PURE__ */
|
|
8619
|
+
/* @__PURE__ */ jsx17("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" }),
|
|
8620
|
+
/* @__PURE__ */ jsx17(
|
|
8544
8621
|
motion2.path,
|
|
8545
8622
|
{
|
|
8546
8623
|
animate: controls,
|
|
@@ -8549,7 +8626,7 @@ var FilePenLineIcon = forwardRef4(
|
|
|
8549
8626
|
variants: PEN_VARIANTS
|
|
8550
8627
|
}
|
|
8551
8628
|
),
|
|
8552
|
-
/* @__PURE__ */
|
|
8629
|
+
/* @__PURE__ */ jsx17(
|
|
8553
8630
|
motion2.path,
|
|
8554
8631
|
{
|
|
8555
8632
|
animate: controls,
|
|
@@ -8580,7 +8657,7 @@ import {
|
|
|
8580
8657
|
useAnimation as useAnimation3,
|
|
8581
8658
|
useReducedMotion as useReducedMotion3
|
|
8582
8659
|
} from "framer-motion";
|
|
8583
|
-
import { jsx as
|
|
8660
|
+
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
8584
8661
|
var FILE_TEXT_LINE_VARIANTS = {
|
|
8585
8662
|
normal: {
|
|
8586
8663
|
pathLength: 1,
|
|
@@ -8662,14 +8739,14 @@ var FileTextIcon = forwardRef5(
|
|
|
8662
8739
|
},
|
|
8663
8740
|
[onMouseLeave, stopAnimation]
|
|
8664
8741
|
);
|
|
8665
|
-
return /* @__PURE__ */
|
|
8742
|
+
return /* @__PURE__ */ jsx18(
|
|
8666
8743
|
"div",
|
|
8667
8744
|
{
|
|
8668
8745
|
className: cn("inline-flex items-center justify-center", className),
|
|
8669
8746
|
onMouseEnter: handleMouseEnter,
|
|
8670
8747
|
onMouseLeave: handleMouseLeave,
|
|
8671
8748
|
...props,
|
|
8672
|
-
children: /* @__PURE__ */
|
|
8749
|
+
children: /* @__PURE__ */ jsxs12(
|
|
8673
8750
|
motion3.svg,
|
|
8674
8751
|
{
|
|
8675
8752
|
animate: controls,
|
|
@@ -8703,9 +8780,9 @@ var FileTextIcon = forwardRef5(
|
|
|
8703
8780
|
width: size,
|
|
8704
8781
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8705
8782
|
children: [
|
|
8706
|
-
/* @__PURE__ */
|
|
8707
|
-
/* @__PURE__ */
|
|
8708
|
-
/* @__PURE__ */
|
|
8783
|
+
/* @__PURE__ */ jsx18("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
|
|
8784
|
+
/* @__PURE__ */ jsx18("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
|
|
8785
|
+
/* @__PURE__ */ jsx18(
|
|
8709
8786
|
motion3.path,
|
|
8710
8787
|
{
|
|
8711
8788
|
animate: controls,
|
|
@@ -8714,7 +8791,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8714
8791
|
variants: FILE_TEXT_LINE_VARIANTS
|
|
8715
8792
|
}
|
|
8716
8793
|
),
|
|
8717
|
-
/* @__PURE__ */
|
|
8794
|
+
/* @__PURE__ */ jsx18(
|
|
8718
8795
|
motion3.path,
|
|
8719
8796
|
{
|
|
8720
8797
|
animate: controls,
|
|
@@ -8723,7 +8800,7 @@ var FileTextIcon = forwardRef5(
|
|
|
8723
8800
|
variants: FILE_TEXT_LINE_VARIANTS
|
|
8724
8801
|
}
|
|
8725
8802
|
),
|
|
8726
|
-
/* @__PURE__ */
|
|
8803
|
+
/* @__PURE__ */ jsx18(
|
|
8727
8804
|
motion3.path,
|
|
8728
8805
|
{
|
|
8729
8806
|
animate: controls,
|
|
@@ -8754,7 +8831,7 @@ import {
|
|
|
8754
8831
|
useAnimation as useAnimation4,
|
|
8755
8832
|
useReducedMotion as useReducedMotion4
|
|
8756
8833
|
} from "framer-motion";
|
|
8757
|
-
import { jsx as
|
|
8834
|
+
import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
8758
8835
|
var HAMMER_VARIANTS = {
|
|
8759
8836
|
normal: {
|
|
8760
8837
|
rotate: 0,
|
|
@@ -8837,14 +8914,14 @@ var HammerIcon = forwardRef6(
|
|
|
8837
8914
|
},
|
|
8838
8915
|
[onMouseLeave, stopAnimation]
|
|
8839
8916
|
);
|
|
8840
|
-
return /* @__PURE__ */
|
|
8917
|
+
return /* @__PURE__ */ jsx19(
|
|
8841
8918
|
"div",
|
|
8842
8919
|
{
|
|
8843
8920
|
className: cn("inline-flex items-center justify-center", className),
|
|
8844
8921
|
onMouseEnter: handleMouseEnter,
|
|
8845
8922
|
onMouseLeave: handleMouseLeave,
|
|
8846
8923
|
...props,
|
|
8847
|
-
children: /* @__PURE__ */
|
|
8924
|
+
children: /* @__PURE__ */ jsxs13(
|
|
8848
8925
|
motion4.svg,
|
|
8849
8926
|
{
|
|
8850
8927
|
animate: controls,
|
|
@@ -8861,9 +8938,9 @@ var HammerIcon = forwardRef6(
|
|
|
8861
8938
|
width: size,
|
|
8862
8939
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8863
8940
|
children: [
|
|
8864
|
-
/* @__PURE__ */
|
|
8865
|
-
/* @__PURE__ */
|
|
8866
|
-
/* @__PURE__ */
|
|
8941
|
+
/* @__PURE__ */ jsx19("path", { d: "m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9" }),
|
|
8942
|
+
/* @__PURE__ */ jsx19("path", { d: "m18 15 4-4" }),
|
|
8943
|
+
/* @__PURE__ */ jsx19("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" })
|
|
8867
8944
|
]
|
|
8868
8945
|
}
|
|
8869
8946
|
)
|
|
@@ -8874,17 +8951,17 @@ var HammerIcon = forwardRef6(
|
|
|
8874
8951
|
HammerIcon.displayName = "HammerIcon";
|
|
8875
8952
|
|
|
8876
8953
|
// app/renderer/components/icons/ToolsLinedIcon.tsx
|
|
8877
|
-
import { jsx as
|
|
8954
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
8878
8955
|
function ToolsLinedIcon(props) {
|
|
8879
8956
|
"use memo";
|
|
8880
|
-
return /* @__PURE__ */
|
|
8957
|
+
return /* @__PURE__ */ jsx20(
|
|
8881
8958
|
"svg",
|
|
8882
8959
|
{
|
|
8883
8960
|
viewBox: "0 0 24 24",
|
|
8884
8961
|
fill: "none",
|
|
8885
8962
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8886
8963
|
...props,
|
|
8887
|
-
children: /* @__PURE__ */
|
|
8964
|
+
children: /* @__PURE__ */ jsx20(
|
|
8888
8965
|
"path",
|
|
8889
8966
|
{
|
|
8890
8967
|
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",
|
|
@@ -8896,10 +8973,10 @@ function ToolsLinedIcon(props) {
|
|
|
8896
8973
|
}
|
|
8897
8974
|
|
|
8898
8975
|
// app/renderer/components/icons/WriteLinedIcon.tsx
|
|
8899
|
-
import { jsx as
|
|
8976
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
8900
8977
|
function WriteLinedIcon(props) {
|
|
8901
8978
|
"use memo";
|
|
8902
|
-
return /* @__PURE__ */
|
|
8979
|
+
return /* @__PURE__ */ jsx21(
|
|
8903
8980
|
"svg",
|
|
8904
8981
|
{
|
|
8905
8982
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -8907,7 +8984,7 @@ function WriteLinedIcon(props) {
|
|
|
8907
8984
|
fill: "none",
|
|
8908
8985
|
"aria-hidden": true,
|
|
8909
8986
|
...props,
|
|
8910
|
-
children: /* @__PURE__ */
|
|
8987
|
+
children: /* @__PURE__ */ jsx21(
|
|
8911
8988
|
"path",
|
|
8912
8989
|
{
|
|
8913
8990
|
fill: "currentColor",
|
|
@@ -10069,7 +10146,7 @@ function locationPaths(value) {
|
|
|
10069
10146
|
}
|
|
10070
10147
|
|
|
10071
10148
|
// shared/agentConversation/components/AgentToolCallHeader.tsx
|
|
10072
|
-
import { jsx as
|
|
10149
|
+
import { jsx as jsx22, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
10073
10150
|
var TOOL_ROW_ICON_SIZE = 16;
|
|
10074
10151
|
function AgentToolCallHeader({
|
|
10075
10152
|
call,
|
|
@@ -10080,7 +10157,7 @@ function AgentToolCallHeader({
|
|
|
10080
10157
|
const diffStats = diffStatsForCall(call);
|
|
10081
10158
|
const isActive = call.statusKind === "working" || call.statusKind === "waiting";
|
|
10082
10159
|
const isFailed = call.statusKind === "failed" || isFailedStatus(call.status);
|
|
10083
|
-
return /* @__PURE__ */
|
|
10160
|
+
return /* @__PURE__ */ jsxs14(
|
|
10084
10161
|
"div",
|
|
10085
10162
|
{
|
|
10086
10163
|
"data-active": isActive ? "true" : void 0,
|
|
@@ -10089,14 +10166,14 @@ function AgentToolCallHeader({
|
|
|
10089
10166
|
isActive ? "tsh-inline-scanlight-group" : ""
|
|
10090
10167
|
].filter(Boolean).join(" "),
|
|
10091
10168
|
children: [
|
|
10092
|
-
/* @__PURE__ */
|
|
10169
|
+
/* @__PURE__ */ jsx22("div", { className: "workspace-agents-status-panel__detail-tool-row-icon tsh-inline-scanlight-icon", children: isFailed ? /* @__PURE__ */ jsx22(
|
|
10093
10170
|
AlertCircle,
|
|
10094
10171
|
{
|
|
10095
10172
|
size: TOOL_ROW_ICON_SIZE,
|
|
10096
10173
|
strokeWidth: 2,
|
|
10097
10174
|
"aria-hidden": "true"
|
|
10098
10175
|
}
|
|
10099
|
-
) : isActive && isFileReadTool(call.toolName) ? /* @__PURE__ */
|
|
10176
|
+
) : isActive && isFileReadTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10100
10177
|
FileTextIcon,
|
|
10101
10178
|
{
|
|
10102
10179
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -10105,7 +10182,7 @@ function AgentToolCallHeader({
|
|
|
10105
10182
|
className: "text-current",
|
|
10106
10183
|
"data-testid": "agent-tool-read-loading-icon"
|
|
10107
10184
|
}
|
|
10108
|
-
) : isActive && isFileWriteTool(call.toolName) ? /* @__PURE__ */
|
|
10185
|
+
) : isActive && isFileWriteTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10109
10186
|
FilePenLineIcon,
|
|
10110
10187
|
{
|
|
10111
10188
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -10114,7 +10191,7 @@ function AgentToolCallHeader({
|
|
|
10114
10191
|
className: "text-current",
|
|
10115
10192
|
"data-testid": "agent-tool-write-loading-icon"
|
|
10116
10193
|
}
|
|
10117
|
-
) : isActive && isFileEditTool(call.toolName) ? /* @__PURE__ */
|
|
10194
|
+
) : isActive && isFileEditTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10118
10195
|
FileTextIcon,
|
|
10119
10196
|
{
|
|
10120
10197
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -10123,7 +10200,7 @@ function AgentToolCallHeader({
|
|
|
10123
10200
|
className: "text-current",
|
|
10124
10201
|
"data-testid": "agent-tool-edit-loading-icon"
|
|
10125
10202
|
}
|
|
10126
|
-
) : isActive && isStdinWriteTool(call.toolName) ? /* @__PURE__ */
|
|
10203
|
+
) : isActive && isStdinWriteTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10127
10204
|
WriteLinedIcon,
|
|
10128
10205
|
{
|
|
10129
10206
|
width: TOOL_ROW_ICON_SIZE,
|
|
@@ -10135,7 +10212,7 @@ function AgentToolCallHeader({
|
|
|
10135
10212
|
) : isImageGenerationToolCall({
|
|
10136
10213
|
toolName: call.toolName,
|
|
10137
10214
|
displayName: call.name
|
|
10138
|
-
}) ? /* @__PURE__ */
|
|
10215
|
+
}) ? /* @__PURE__ */ jsx22(
|
|
10139
10216
|
ToolNameIcon,
|
|
10140
10217
|
{
|
|
10141
10218
|
toolName: call.toolName ?? call.name,
|
|
@@ -10145,7 +10222,7 @@ function AgentToolCallHeader({
|
|
|
10145
10222
|
className: "text-current",
|
|
10146
10223
|
"data-testid": isActive ? "agent-tool-image-generation-loading-icon" : "agent-tool-image-generation-icon"
|
|
10147
10224
|
}
|
|
10148
|
-
) : isWebTool(call.toolName) ? /* @__PURE__ */
|
|
10225
|
+
) : isWebTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10149
10226
|
ToolNameIcon,
|
|
10150
10227
|
{
|
|
10151
10228
|
toolName: call.toolName,
|
|
@@ -10155,7 +10232,7 @@ function AgentToolCallHeader({
|
|
|
10155
10232
|
className: "text-current",
|
|
10156
10233
|
"data-testid": isActive ? "agent-tool-web-loading-icon" : "agent-tool-web-icon"
|
|
10157
10234
|
}
|
|
10158
|
-
) : isFileReadTool(call.toolName) ? /* @__PURE__ */
|
|
10235
|
+
) : isFileReadTool(call.toolName) ? /* @__PURE__ */ jsx22(
|
|
10159
10236
|
ToolNameIcon,
|
|
10160
10237
|
{
|
|
10161
10238
|
toolName: call.toolName,
|
|
@@ -10165,7 +10242,7 @@ function AgentToolCallHeader({
|
|
|
10165
10242
|
className: "text-current",
|
|
10166
10243
|
"data-testid": "agent-tool-read-icon"
|
|
10167
10244
|
}
|
|
10168
|
-
) : call.statusKind === "working" || call.statusKind === "waiting" ? /* @__PURE__ */
|
|
10245
|
+
) : call.statusKind === "working" || call.statusKind === "waiting" ? /* @__PURE__ */ jsx22(
|
|
10169
10246
|
HammerIcon,
|
|
10170
10247
|
{
|
|
10171
10248
|
size: TOOL_ROW_ICON_SIZE,
|
|
@@ -10174,7 +10251,7 @@ function AgentToolCallHeader({
|
|
|
10174
10251
|
className: "text-current",
|
|
10175
10252
|
"data-testid": "agent-tool-call-loading-icon"
|
|
10176
10253
|
}
|
|
10177
|
-
) : /* @__PURE__ */
|
|
10254
|
+
) : /* @__PURE__ */ jsx22(
|
|
10178
10255
|
ToolsLinedIcon,
|
|
10179
10256
|
{
|
|
10180
10257
|
width: TOOL_ROW_ICON_SIZE,
|
|
@@ -10182,7 +10259,7 @@ function AgentToolCallHeader({
|
|
|
10182
10259
|
"aria-hidden": "true"
|
|
10183
10260
|
}
|
|
10184
10261
|
) }),
|
|
10185
|
-
/* @__PURE__ */
|
|
10262
|
+
/* @__PURE__ */ jsxs14(
|
|
10186
10263
|
"div",
|
|
10187
10264
|
{
|
|
10188
10265
|
className: [
|
|
@@ -10190,15 +10267,15 @@ function AgentToolCallHeader({
|
|
|
10190
10267
|
isActive ? "tsh-inline-scanlight-line" : ""
|
|
10191
10268
|
].filter(Boolean).join(" "),
|
|
10192
10269
|
children: [
|
|
10193
|
-
/* @__PURE__ */
|
|
10194
|
-
call.status ? /* @__PURE__ */
|
|
10195
|
-
isActive ? /* @__PURE__ */
|
|
10196
|
-
diffStats ? /* @__PURE__ */
|
|
10197
|
-
diffStats.added > 0 ? /* @__PURE__ */
|
|
10270
|
+
/* @__PURE__ */ jsx22("strong", { className: "workspace-agents-status-panel__detail-tool-row-title", children: formatInlineTitleLabel(call.name) }),
|
|
10271
|
+
call.status ? /* @__PURE__ */ jsx22("span", { className: "workspace-agents-status-panel__detail-tool-status", children: formatInlineStatusLabel2(call.status) }) : null,
|
|
10272
|
+
isActive ? /* @__PURE__ */ jsx22(LoadingEllipsis3, {}) : null,
|
|
10273
|
+
diffStats ? /* @__PURE__ */ jsxs14("span", { className: "workspace-agents-status-panel__detail-tool-diff-stats", children: [
|
|
10274
|
+
diffStats.added > 0 ? /* @__PURE__ */ jsxs14("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
|
|
10198
10275
|
"+",
|
|
10199
10276
|
diffStats.added
|
|
10200
10277
|
] }) : null,
|
|
10201
|
-
diffStats.removed > 0 ? /* @__PURE__ */
|
|
10278
|
+
diffStats.removed > 0 ? /* @__PURE__ */ jsxs14("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
|
|
10202
10279
|
"-",
|
|
10203
10280
|
diffStats.removed
|
|
10204
10281
|
] }) : null
|
|
@@ -10206,7 +10283,7 @@ function AgentToolCallHeader({
|
|
|
10206
10283
|
]
|
|
10207
10284
|
}
|
|
10208
10285
|
),
|
|
10209
|
-
hasDetail ? expanded ? /* @__PURE__ */
|
|
10286
|
+
hasDetail ? expanded ? /* @__PURE__ */ jsx22(
|
|
10210
10287
|
ChevronDown4,
|
|
10211
10288
|
{
|
|
10212
10289
|
size: 12,
|
|
@@ -10214,7 +10291,7 @@ function AgentToolCallHeader({
|
|
|
10214
10291
|
"aria-hidden": "true",
|
|
10215
10292
|
className: "workspace-agents-status-panel__detail-tool-row-chevron"
|
|
10216
10293
|
}
|
|
10217
|
-
) : /* @__PURE__ */
|
|
10294
|
+
) : /* @__PURE__ */ jsx22(
|
|
10218
10295
|
ChevronRight4,
|
|
10219
10296
|
{
|
|
10220
10297
|
size: 12,
|
|
@@ -10252,10 +10329,10 @@ function formatInlineTitleLabel(label) {
|
|
|
10252
10329
|
}
|
|
10253
10330
|
function LoadingEllipsis3() {
|
|
10254
10331
|
"use memo";
|
|
10255
|
-
return /* @__PURE__ */
|
|
10256
|
-
/* @__PURE__ */
|
|
10257
|
-
/* @__PURE__ */
|
|
10258
|
-
/* @__PURE__ */
|
|
10332
|
+
return /* @__PURE__ */ jsxs14("span", { className: "tsh-inline-loading-ellipsis", "aria-hidden": "true", children: [
|
|
10333
|
+
/* @__PURE__ */ jsx22("span", {}),
|
|
10334
|
+
/* @__PURE__ */ jsx22("span", {}),
|
|
10335
|
+
/* @__PURE__ */ jsx22("span", {})
|
|
10259
10336
|
] });
|
|
10260
10337
|
}
|
|
10261
10338
|
function diffStatsForCall(call) {
|
|
@@ -10325,10 +10402,10 @@ function normalizeToolName8(value) {
|
|
|
10325
10402
|
}
|
|
10326
10403
|
|
|
10327
10404
|
// shared/agentConversation/components/tool-renderers/code/AgentCodeBlock.tsx
|
|
10328
|
-
import { useMemo as useMemo2, useState as
|
|
10405
|
+
import { useMemo as useMemo2, useState as useState8 } from "react";
|
|
10329
10406
|
|
|
10330
10407
|
// shared/agentConversation/components/tool-renderers/AgentPathTailLabel.tsx
|
|
10331
|
-
import { jsx as
|
|
10408
|
+
import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
10332
10409
|
function AgentPathTailLabel({
|
|
10333
10410
|
path,
|
|
10334
10411
|
fallback,
|
|
@@ -10338,23 +10415,23 @@ function AgentPathTailLabel({
|
|
|
10338
10415
|
const label = path?.trim() || fallback;
|
|
10339
10416
|
const parts = splitPathTail(label);
|
|
10340
10417
|
if (!parts) {
|
|
10341
|
-
return /* @__PURE__ */
|
|
10418
|
+
return /* @__PURE__ */ jsx23(
|
|
10342
10419
|
"span",
|
|
10343
10420
|
{
|
|
10344
10421
|
className: `agent-path-tail-label ${className ?? ""}`,
|
|
10345
10422
|
title: path ?? void 0,
|
|
10346
|
-
children: /* @__PURE__ */
|
|
10423
|
+
children: /* @__PURE__ */ jsx23("span", { className: "agent-path-tail-label__file", children: label })
|
|
10347
10424
|
}
|
|
10348
10425
|
);
|
|
10349
10426
|
}
|
|
10350
|
-
return /* @__PURE__ */
|
|
10427
|
+
return /* @__PURE__ */ jsxs15(
|
|
10351
10428
|
"span",
|
|
10352
10429
|
{
|
|
10353
10430
|
className: `agent-path-tail-label ${className ?? ""}`,
|
|
10354
10431
|
title: path ?? void 0,
|
|
10355
10432
|
children: [
|
|
10356
|
-
/* @__PURE__ */
|
|
10357
|
-
/* @__PURE__ */
|
|
10433
|
+
/* @__PURE__ */ jsx23("span", { className: "agent-path-tail-label__directory", children: parts.directory }),
|
|
10434
|
+
/* @__PURE__ */ jsx23("span", { className: "agent-path-tail-label__file", children: parts.fileName })
|
|
10358
10435
|
]
|
|
10359
10436
|
}
|
|
10360
10437
|
);
|
|
@@ -10373,7 +10450,7 @@ function splitPathTail(value) {
|
|
|
10373
10450
|
}
|
|
10374
10451
|
|
|
10375
10452
|
// shared/agentConversation/components/tool-renderers/code/AgentCodeBlock.tsx
|
|
10376
|
-
import { Fragment as Fragment3, jsx as
|
|
10453
|
+
import { Fragment as Fragment3, jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
10377
10454
|
var MAX_VISIBLE_LINES = 120;
|
|
10378
10455
|
function AgentCodeBlock({
|
|
10379
10456
|
path,
|
|
@@ -10384,7 +10461,7 @@ function AgentCodeBlock({
|
|
|
10384
10461
|
flat = false
|
|
10385
10462
|
}) {
|
|
10386
10463
|
"use memo";
|
|
10387
|
-
const [expanded, setExpanded] =
|
|
10464
|
+
const [expanded, setExpanded] = useState8(false);
|
|
10388
10465
|
const normalized = content.trimEnd();
|
|
10389
10466
|
const lines = useMemo2(
|
|
10390
10467
|
() => normalized ? normalized.split("\n") : [],
|
|
@@ -10408,7 +10485,7 @@ function AgentCodeBlock({
|
|
|
10408
10485
|
if (!normalized) {
|
|
10409
10486
|
return null;
|
|
10410
10487
|
}
|
|
10411
|
-
const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */
|
|
10488
|
+
const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */ jsx24(
|
|
10412
10489
|
"button",
|
|
10413
10490
|
{
|
|
10414
10491
|
type: "button",
|
|
@@ -10419,13 +10496,13 @@ function AgentCodeBlock({
|
|
|
10419
10496
|
})
|
|
10420
10497
|
}
|
|
10421
10498
|
) : null;
|
|
10422
|
-
return /* @__PURE__ */
|
|
10499
|
+
return /* @__PURE__ */ jsx24(
|
|
10423
10500
|
"div",
|
|
10424
10501
|
{
|
|
10425
10502
|
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" : ""}`,
|
|
10426
|
-
children: flat ? /* @__PURE__ */
|
|
10427
|
-
showHeader ? /* @__PURE__ */
|
|
10428
|
-
/* @__PURE__ */
|
|
10503
|
+
children: flat ? /* @__PURE__ */ jsxs16(Fragment3, { children: [
|
|
10504
|
+
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: [
|
|
10505
|
+
/* @__PURE__ */ jsx24(
|
|
10429
10506
|
"span",
|
|
10430
10507
|
{
|
|
10431
10508
|
className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
|
|
@@ -10433,28 +10510,28 @@ function AgentCodeBlock({
|
|
|
10433
10510
|
children: fileLabel
|
|
10434
10511
|
}
|
|
10435
10512
|
),
|
|
10436
|
-
/* @__PURE__ */
|
|
10513
|
+
/* @__PURE__ */ jsxs16("span", { className: "shrink-0 font-semibold text-[var(--state-success)]", children: [
|
|
10437
10514
|
"+",
|
|
10438
10515
|
addedCount
|
|
10439
10516
|
] })
|
|
10440
10517
|
] }) : null,
|
|
10441
|
-
/* @__PURE__ */
|
|
10442
|
-
visibleLines.map((line) => /* @__PURE__ */
|
|
10518
|
+
/* @__PURE__ */ jsxs16("div", { className: "workspace-agents-status-panel__detail-scroll-region max-h-[240px] overflow-auto bg-[var(--background-panel)]", children: [
|
|
10519
|
+
visibleLines.map((line) => /* @__PURE__ */ jsxs16(
|
|
10443
10520
|
"div",
|
|
10444
10521
|
{
|
|
10445
10522
|
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",
|
|
10446
10523
|
children: [
|
|
10447
|
-
/* @__PURE__ */
|
|
10448
|
-
/* @__PURE__ */
|
|
10524
|
+
/* @__PURE__ */ jsx24("div", { className: "select-none px-2.5 text-right text-[color:color-mix(in_srgb,var(--state-success)_90%,transparent)]", children: line.lineNumber }),
|
|
10525
|
+
/* @__PURE__ */ jsx24("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx24("code", { children: line.line || " " }) })
|
|
10449
10526
|
]
|
|
10450
10527
|
},
|
|
10451
10528
|
line.key
|
|
10452
10529
|
)),
|
|
10453
10530
|
disclosureButton
|
|
10454
10531
|
] })
|
|
10455
|
-
] }) : /* @__PURE__ */
|
|
10456
|
-
showHeader ? /* @__PURE__ */
|
|
10457
|
-
/* @__PURE__ */
|
|
10532
|
+
] }) : /* @__PURE__ */ jsxs16(Fragment3, { children: [
|
|
10533
|
+
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: [
|
|
10534
|
+
/* @__PURE__ */ jsx24(
|
|
10458
10535
|
AgentPathTailLabel,
|
|
10459
10536
|
{
|
|
10460
10537
|
path,
|
|
@@ -10462,13 +10539,13 @@ function AgentCodeBlock({
|
|
|
10462
10539
|
className: "font-[var(--tsh-font-mono)]"
|
|
10463
10540
|
}
|
|
10464
10541
|
),
|
|
10465
|
-
/* @__PURE__ */
|
|
10542
|
+
/* @__PURE__ */ jsxs16("span", { className: "shrink-0", children: [
|
|
10466
10543
|
language ? `${language} \xB7 ` : "",
|
|
10467
10544
|
lineCount,
|
|
10468
10545
|
" lines"
|
|
10469
10546
|
] })
|
|
10470
10547
|
] }) : null,
|
|
10471
|
-
/* @__PURE__ */
|
|
10548
|
+
/* @__PURE__ */ jsx24("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__ */ jsx24("code", { children: visibleContent }) }),
|
|
10472
10549
|
disclosureButton
|
|
10473
10550
|
] })
|
|
10474
10551
|
}
|
|
@@ -10502,7 +10579,7 @@ import {
|
|
|
10502
10579
|
useAnimation as useAnimation5,
|
|
10503
10580
|
useReducedMotion as useReducedMotion5
|
|
10504
10581
|
} from "framer-motion";
|
|
10505
|
-
import { jsx as
|
|
10582
|
+
import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
10506
10583
|
var ATOM_ICON_ANIMATION_DURATION = 0.75;
|
|
10507
10584
|
var ATOM_ICON_REPEAT_DELAY = 1.5;
|
|
10508
10585
|
var PATH_VARIANTS = {
|
|
@@ -10594,14 +10671,14 @@ var AtomIcon = forwardRef7(
|
|
|
10594
10671
|
},
|
|
10595
10672
|
[onMouseLeave, stopAnimation]
|
|
10596
10673
|
);
|
|
10597
|
-
return /* @__PURE__ */
|
|
10674
|
+
return /* @__PURE__ */ jsx25(
|
|
10598
10675
|
"div",
|
|
10599
10676
|
{
|
|
10600
10677
|
className: cn("inline-flex items-center justify-center", className),
|
|
10601
10678
|
onMouseEnter: handleMouseEnter,
|
|
10602
10679
|
onMouseLeave: handleMouseLeave,
|
|
10603
10680
|
...props,
|
|
10604
|
-
children: /* @__PURE__ */
|
|
10681
|
+
children: /* @__PURE__ */ jsxs17(
|
|
10605
10682
|
"svg",
|
|
10606
10683
|
{
|
|
10607
10684
|
fill: "none",
|
|
@@ -10614,7 +10691,7 @@ var AtomIcon = forwardRef7(
|
|
|
10614
10691
|
width: size,
|
|
10615
10692
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10616
10693
|
children: [
|
|
10617
|
-
/* @__PURE__ */
|
|
10694
|
+
/* @__PURE__ */ jsx25(
|
|
10618
10695
|
motion5.circle,
|
|
10619
10696
|
{
|
|
10620
10697
|
animate: controls,
|
|
@@ -10625,7 +10702,7 @@ var AtomIcon = forwardRef7(
|
|
|
10625
10702
|
variants: PATH_VARIANTS
|
|
10626
10703
|
}
|
|
10627
10704
|
),
|
|
10628
|
-
/* @__PURE__ */
|
|
10705
|
+
/* @__PURE__ */ jsx25(
|
|
10629
10706
|
motion5.path,
|
|
10630
10707
|
{
|
|
10631
10708
|
animate: controls,
|
|
@@ -10634,7 +10711,7 @@ var AtomIcon = forwardRef7(
|
|
|
10634
10711
|
variants: PATH_VARIANTS
|
|
10635
10712
|
}
|
|
10636
10713
|
),
|
|
10637
|
-
/* @__PURE__ */
|
|
10714
|
+
/* @__PURE__ */ jsx25(
|
|
10638
10715
|
motion5.path,
|
|
10639
10716
|
{
|
|
10640
10717
|
animate: controls,
|
|
@@ -10653,7 +10730,7 @@ var AtomIcon = forwardRef7(
|
|
|
10653
10730
|
AtomIcon.displayName = "AtomIcon";
|
|
10654
10731
|
|
|
10655
10732
|
// shared/agentConversation/components/tool-renderers/file-diff/AgentMonacoDiffViewer.tsx
|
|
10656
|
-
import { jsx as
|
|
10733
|
+
import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
10657
10734
|
var MonacoDiffEditor = lazy(async () => {
|
|
10658
10735
|
const module = await import("@monaco-editor/react");
|
|
10659
10736
|
return { default: module.DiffEditor };
|
|
@@ -10666,17 +10743,17 @@ function AgentMonacoDiffViewer({
|
|
|
10666
10743
|
showHeader = true
|
|
10667
10744
|
}) {
|
|
10668
10745
|
"use memo";
|
|
10669
|
-
return /* @__PURE__ */
|
|
10746
|
+
return /* @__PURE__ */ jsxs18(
|
|
10670
10747
|
"div",
|
|
10671
10748
|
{
|
|
10672
10749
|
className: `overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] ${flat ? "workspace-agents-status-panel__detail-tool-monaco--flat" : ""}`,
|
|
10673
10750
|
children: [
|
|
10674
|
-
showHeader ? /* @__PURE__ */
|
|
10751
|
+
showHeader ? /* @__PURE__ */ jsx26(
|
|
10675
10752
|
"div",
|
|
10676
10753
|
{
|
|
10677
10754
|
className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
|
|
10678
10755
|
"data-agent-diff-header": "true",
|
|
10679
|
-
children: /* @__PURE__ */
|
|
10756
|
+
children: /* @__PURE__ */ jsx26(
|
|
10680
10757
|
AgentPathTailLabel,
|
|
10681
10758
|
{
|
|
10682
10759
|
path,
|
|
@@ -10686,11 +10763,11 @@ function AgentMonacoDiffViewer({
|
|
|
10686
10763
|
)
|
|
10687
10764
|
}
|
|
10688
10765
|
) : null,
|
|
10689
|
-
/* @__PURE__ */
|
|
10766
|
+
/* @__PURE__ */ jsx26("div", { className: "h-[220px] bg-[var(--background-panel)]", children: /* @__PURE__ */ jsx26(
|
|
10690
10767
|
Suspense,
|
|
10691
10768
|
{
|
|
10692
|
-
fallback: /* @__PURE__ */
|
|
10693
|
-
/* @__PURE__ */
|
|
10769
|
+
fallback: /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
|
|
10770
|
+
/* @__PURE__ */ jsx26(
|
|
10694
10771
|
AtomIcon,
|
|
10695
10772
|
{
|
|
10696
10773
|
size: 14,
|
|
@@ -10699,9 +10776,9 @@ function AgentMonacoDiffViewer({
|
|
|
10699
10776
|
className: "shrink-0"
|
|
10700
10777
|
}
|
|
10701
10778
|
),
|
|
10702
|
-
/* @__PURE__ */
|
|
10779
|
+
/* @__PURE__ */ jsx26("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
|
|
10703
10780
|
] }),
|
|
10704
|
-
children: /* @__PURE__ */
|
|
10781
|
+
children: /* @__PURE__ */ jsx26(
|
|
10705
10782
|
MonacoDiffEditor,
|
|
10706
10783
|
{
|
|
10707
10784
|
original: oldValue,
|
|
@@ -10744,10 +10821,10 @@ function languageForPath2(path) {
|
|
|
10744
10821
|
}
|
|
10745
10822
|
|
|
10746
10823
|
// shared/agentConversation/components/tool-renderers/file-diff/AgentUnifiedPatchViewer.tsx
|
|
10747
|
-
import { useMemo as useMemo3, useState as
|
|
10824
|
+
import { useMemo as useMemo3, useState as useState9 } from "react";
|
|
10748
10825
|
|
|
10749
10826
|
// shared/agentConversation/components/tool-renderers/AgentToolScrollArea.tsx
|
|
10750
|
-
import { jsx as
|
|
10827
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
10751
10828
|
function AgentToolScrollArea({
|
|
10752
10829
|
children,
|
|
10753
10830
|
className,
|
|
@@ -10756,7 +10833,7 @@ function AgentToolScrollArea({
|
|
|
10756
10833
|
...props
|
|
10757
10834
|
}) {
|
|
10758
10835
|
"use memo";
|
|
10759
|
-
return /* @__PURE__ */
|
|
10836
|
+
return /* @__PURE__ */ jsx27(
|
|
10760
10837
|
CustomScrollArea,
|
|
10761
10838
|
{
|
|
10762
10839
|
className: cn(
|
|
@@ -10860,7 +10937,7 @@ function parseAgentUnifiedDiffStats(diffText) {
|
|
|
10860
10937
|
}
|
|
10861
10938
|
|
|
10862
10939
|
// shared/agentConversation/components/tool-renderers/file-diff/AgentUnifiedPatchViewer.tsx
|
|
10863
|
-
import { Fragment as Fragment4, jsx as
|
|
10940
|
+
import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
10864
10941
|
var MAX_VISIBLE_LINES2 = 120;
|
|
10865
10942
|
function AgentUnifiedPatchViewer({
|
|
10866
10943
|
path,
|
|
@@ -10871,7 +10948,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10871
10948
|
flat = false
|
|
10872
10949
|
}) {
|
|
10873
10950
|
"use memo";
|
|
10874
|
-
const [expanded, setExpanded] =
|
|
10951
|
+
const [expanded, setExpanded] = useState9(false);
|
|
10875
10952
|
const normalized = diffText.trimEnd();
|
|
10876
10953
|
const lines = useMemo3(
|
|
10877
10954
|
() => normalized ? visiblePatchLines(normalized, compact) : [],
|
|
@@ -10906,7 +10983,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10906
10983
|
if (!normalized) {
|
|
10907
10984
|
return null;
|
|
10908
10985
|
}
|
|
10909
|
-
const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */
|
|
10986
|
+
const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */ jsx28(
|
|
10910
10987
|
"button",
|
|
10911
10988
|
{
|
|
10912
10989
|
type: "button",
|
|
@@ -10917,18 +10994,18 @@ function AgentUnifiedPatchViewer({
|
|
|
10917
10994
|
})
|
|
10918
10995
|
}
|
|
10919
10996
|
) : null;
|
|
10920
|
-
return /* @__PURE__ */
|
|
10997
|
+
return /* @__PURE__ */ jsx28(
|
|
10921
10998
|
"div",
|
|
10922
10999
|
{
|
|
10923
11000
|
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" : ""}`,
|
|
10924
|
-
children: flat ? /* @__PURE__ */
|
|
10925
|
-
showHeader ? /* @__PURE__ */
|
|
11001
|
+
children: flat ? /* @__PURE__ */ jsxs19(Fragment4, { children: [
|
|
11002
|
+
showHeader ? /* @__PURE__ */ jsxs19(
|
|
10926
11003
|
"div",
|
|
10927
11004
|
{
|
|
10928
11005
|
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]",
|
|
10929
11006
|
"data-agent-diff-header": "true",
|
|
10930
11007
|
children: [
|
|
10931
|
-
/* @__PURE__ */
|
|
11008
|
+
/* @__PURE__ */ jsx28(
|
|
10932
11009
|
"span",
|
|
10933
11010
|
{
|
|
10934
11011
|
className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
|
|
@@ -10936,12 +11013,12 @@ function AgentUnifiedPatchViewer({
|
|
|
10936
11013
|
children: fileLabel
|
|
10937
11014
|
}
|
|
10938
11015
|
),
|
|
10939
|
-
/* @__PURE__ */
|
|
10940
|
-
/* @__PURE__ */
|
|
11016
|
+
/* @__PURE__ */ jsxs19("span", { className: "inline-flex items-center gap-2 text-[11px] font-semibold", children: [
|
|
11017
|
+
/* @__PURE__ */ jsxs19("span", { className: "text-[var(--state-success)]", children: [
|
|
10941
11018
|
"+",
|
|
10942
11019
|
stats.added
|
|
10943
11020
|
] }),
|
|
10944
|
-
/* @__PURE__ */
|
|
11021
|
+
/* @__PURE__ */ jsxs19("span", { className: "text-[var(--state-danger)]", children: [
|
|
10945
11022
|
"-",
|
|
10946
11023
|
stats.removed
|
|
10947
11024
|
] })
|
|
@@ -10949,20 +11026,20 @@ function AgentUnifiedPatchViewer({
|
|
|
10949
11026
|
]
|
|
10950
11027
|
}
|
|
10951
11028
|
) : null,
|
|
10952
|
-
/* @__PURE__ */
|
|
10953
|
-
visibleDiffLines.map(({ key, line }) => /* @__PURE__ */
|
|
10954
|
-
/* @__PURE__ */
|
|
10955
|
-
/* @__PURE__ */
|
|
11029
|
+
/* @__PURE__ */ jsxs19(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport", children: [
|
|
11030
|
+
visibleDiffLines.map(({ key, line }) => /* @__PURE__ */ jsxs19("div", { className: flatLineClassName(line.kind), children: [
|
|
11031
|
+
/* @__PURE__ */ jsx28("div", { className: "select-none px-2.5 text-right text-[var(--text-tertiary)]", children: line.newLineNumber ?? line.oldLineNumber ?? "" }),
|
|
11032
|
+
/* @__PURE__ */ jsx28("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx28("code", { children: line.text || " " }) })
|
|
10956
11033
|
] }, key)),
|
|
10957
11034
|
disclosureButton
|
|
10958
11035
|
] })
|
|
10959
|
-
] }) : /* @__PURE__ */
|
|
10960
|
-
showHeader ? /* @__PURE__ */
|
|
11036
|
+
] }) : /* @__PURE__ */ jsxs19(Fragment4, { children: [
|
|
11037
|
+
showHeader ? /* @__PURE__ */ jsx28(
|
|
10961
11038
|
"div",
|
|
10962
11039
|
{
|
|
10963
11040
|
className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
|
|
10964
11041
|
"data-agent-diff-header": "true",
|
|
10965
|
-
children: /* @__PURE__ */
|
|
11042
|
+
children: /* @__PURE__ */ jsx28(
|
|
10966
11043
|
AgentPathTailLabel,
|
|
10967
11044
|
{
|
|
10968
11045
|
path,
|
|
@@ -10972,7 +11049,7 @@ function AgentUnifiedPatchViewer({
|
|
|
10972
11049
|
)
|
|
10973
11050
|
}
|
|
10974
11051
|
) : null,
|
|
10975
|
-
/* @__PURE__ */
|
|
11052
|
+
/* @__PURE__ */ jsx28(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport px-4 py-3 text-[11px] leading-5", children: visibleLines.map(({ key, line }) => /* @__PURE__ */ jsx28("div", { className: lineClassName(line), children: line || " " }, key)) }),
|
|
10976
11053
|
disclosureButton
|
|
10977
11054
|
] })
|
|
10978
11055
|
}
|
|
@@ -11029,12 +11106,12 @@ function lineClassName(line) {
|
|
|
11029
11106
|
import {
|
|
11030
11107
|
createContext,
|
|
11031
11108
|
useContext,
|
|
11032
|
-
useState as
|
|
11109
|
+
useState as useState10
|
|
11033
11110
|
} from "react";
|
|
11034
11111
|
import { ChevronDown as ChevronDown5, ChevronRight as ChevronRight5 } from "lucide-react";
|
|
11035
11112
|
|
|
11036
11113
|
// shared/agentConversation/components/tool-renderers/AgentReadContent.tsx
|
|
11037
|
-
import { jsx as
|
|
11114
|
+
import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
11038
11115
|
function AgentReadContent({
|
|
11039
11116
|
call
|
|
11040
11117
|
}) {
|
|
@@ -11044,15 +11121,15 @@ function AgentReadContent({
|
|
|
11044
11121
|
const outputText = stringValue10(call.output?.text) ?? stringValue10(call.output?.output) ?? contentText2(call.output?.content) ?? stringValue10(call.output?.aggregated_output) ?? stringValue10(call.output?.formatted_output) ?? stringValue10(call.output?.stdout) ?? (!file ? call.summary.trim() || null : null);
|
|
11045
11122
|
const fileLineRange = fileRange(file);
|
|
11046
11123
|
const fileTotalLines = numericValue(file?.totalLines);
|
|
11047
|
-
return /* @__PURE__ */
|
|
11124
|
+
return /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: outputText ? /* @__PURE__ */ jsx29(
|
|
11048
11125
|
AgentCodeBlock,
|
|
11049
11126
|
{
|
|
11050
11127
|
path,
|
|
11051
11128
|
content: outputText,
|
|
11052
11129
|
language: languageForPath3(path)
|
|
11053
11130
|
}
|
|
11054
|
-
) : path || fileLineRange || fileTotalLines !== null ? /* @__PURE__ */
|
|
11055
|
-
path ? /* @__PURE__ */
|
|
11131
|
+
) : path || fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsxs20("div", { className: "rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] px-3 py-2", children: [
|
|
11132
|
+
path ? /* @__PURE__ */ jsx29(
|
|
11056
11133
|
AgentPathTailLabel,
|
|
11057
11134
|
{
|
|
11058
11135
|
path,
|
|
@@ -11060,7 +11137,7 @@ function AgentReadContent({
|
|
|
11060
11137
|
className: "font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-secondary)]"
|
|
11061
11138
|
}
|
|
11062
11139
|
) : null,
|
|
11063
|
-
fileLineRange || fileTotalLines !== null ? /* @__PURE__ */
|
|
11140
|
+
fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsx29("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: [
|
|
11064
11141
|
fileLineRange,
|
|
11065
11142
|
fileTotalLines !== null ? `${fileTotalLines} lines` : null
|
|
11066
11143
|
].filter((value) => Boolean(value)).join(" \xB7 ") }) : null
|
|
@@ -11124,14 +11201,14 @@ function languageForPath3(path) {
|
|
|
11124
11201
|
}
|
|
11125
11202
|
|
|
11126
11203
|
// shared/agentConversation/components/tool-renderers/agentToolContentShared.tsx
|
|
11127
|
-
import { jsx as
|
|
11204
|
+
import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
11128
11205
|
var AgentToolPreviewModeContext = createContext(false);
|
|
11129
11206
|
function AgentToolPreviewModeProvider({
|
|
11130
11207
|
children,
|
|
11131
11208
|
previewMode
|
|
11132
11209
|
}) {
|
|
11133
11210
|
"use memo";
|
|
11134
|
-
return /* @__PURE__ */
|
|
11211
|
+
return /* @__PURE__ */ jsx30(AgentToolPreviewModeContext.Provider, { value: previewMode, children });
|
|
11135
11212
|
}
|
|
11136
11213
|
function ToolSection({
|
|
11137
11214
|
title,
|
|
@@ -11141,8 +11218,8 @@ function ToolSection({
|
|
|
11141
11218
|
if (!children) {
|
|
11142
11219
|
return null;
|
|
11143
11220
|
}
|
|
11144
|
-
return /* @__PURE__ */
|
|
11145
|
-
/* @__PURE__ */
|
|
11221
|
+
return /* @__PURE__ */ jsxs21("section", { className: "workspace-agents-status-panel__detail-tool-section-block", children: [
|
|
11222
|
+
/* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-section-title", children: title }),
|
|
11146
11223
|
children
|
|
11147
11224
|
] });
|
|
11148
11225
|
}
|
|
@@ -11159,7 +11236,7 @@ function ToolMarkdownBlock({
|
|
|
11159
11236
|
if (!normalized) {
|
|
11160
11237
|
return null;
|
|
11161
11238
|
}
|
|
11162
|
-
return /* @__PURE__ */
|
|
11239
|
+
return /* @__PURE__ */ jsx30(
|
|
11163
11240
|
AgentMessageMarkdown,
|
|
11164
11241
|
{
|
|
11165
11242
|
content: normalized,
|
|
@@ -11222,8 +11299,8 @@ function AgentDefaultToolContent({
|
|
|
11222
11299
|
if (sections.length === 0 && !rawPayload) {
|
|
11223
11300
|
return null;
|
|
11224
11301
|
}
|
|
11225
|
-
return /* @__PURE__ */
|
|
11226
|
-
sections.map((section) => /* @__PURE__ */
|
|
11302
|
+
return /* @__PURE__ */ jsxs21("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11303
|
+
sections.map((section) => /* @__PURE__ */ jsx30(ToolSection, { title: section.title, children: /* @__PURE__ */ jsx30(
|
|
11227
11304
|
ToolMarkdownBlock,
|
|
11228
11305
|
{
|
|
11229
11306
|
content: section.content,
|
|
@@ -11231,7 +11308,7 @@ function AgentDefaultToolContent({
|
|
|
11231
11308
|
collapsible: section.collapsible
|
|
11232
11309
|
}
|
|
11233
11310
|
) }, section.key)),
|
|
11234
|
-
/* @__PURE__ */
|
|
11311
|
+
/* @__PURE__ */ jsx30(RawPayloadSection, { payload: rawPayload })
|
|
11235
11312
|
] });
|
|
11236
11313
|
}
|
|
11237
11314
|
function hasAgentToolContent(call) {
|
|
@@ -11353,13 +11430,13 @@ function RawPayloadSection({
|
|
|
11353
11430
|
payload
|
|
11354
11431
|
}) {
|
|
11355
11432
|
"use memo";
|
|
11356
|
-
const [expanded, setExpanded] =
|
|
11433
|
+
const [expanded, setExpanded] = useState10(false);
|
|
11357
11434
|
const rawJson = rawPayloadJson(payload);
|
|
11358
11435
|
if (!rawJson) {
|
|
11359
11436
|
return null;
|
|
11360
11437
|
}
|
|
11361
|
-
return /* @__PURE__ */
|
|
11362
|
-
/* @__PURE__ */
|
|
11438
|
+
return /* @__PURE__ */ jsxs21("div", { className: "workspace-agents-status-panel__detail-tool-raw", children: [
|
|
11439
|
+
/* @__PURE__ */ jsxs21(
|
|
11363
11440
|
"button",
|
|
11364
11441
|
{
|
|
11365
11442
|
type: "button",
|
|
@@ -11367,8 +11444,8 @@ function RawPayloadSection({
|
|
|
11367
11444
|
"aria-expanded": expanded,
|
|
11368
11445
|
onClick: () => setExpanded((value) => !value),
|
|
11369
11446
|
children: [
|
|
11370
|
-
/* @__PURE__ */
|
|
11371
|
-
expanded ? /* @__PURE__ */
|
|
11447
|
+
/* @__PURE__ */ jsx30("span", { children: translate("agentHost.agentTool.details.rawPayload") }),
|
|
11448
|
+
expanded ? /* @__PURE__ */ jsx30(
|
|
11372
11449
|
ChevronDown5,
|
|
11373
11450
|
{
|
|
11374
11451
|
size: 12,
|
|
@@ -11376,7 +11453,7 @@ function RawPayloadSection({
|
|
|
11376
11453
|
"aria-hidden": "true",
|
|
11377
11454
|
className: "shrink-0 opacity-0 transition-opacity duration-150 group-hover/raw-payload:opacity-100 group-focus-visible/raw-payload:opacity-100"
|
|
11378
11455
|
}
|
|
11379
|
-
) : /* @__PURE__ */
|
|
11456
|
+
) : /* @__PURE__ */ jsx30(
|
|
11380
11457
|
ChevronRight5,
|
|
11381
11458
|
{
|
|
11382
11459
|
size: 12,
|
|
@@ -11388,7 +11465,7 @@ function RawPayloadSection({
|
|
|
11388
11465
|
]
|
|
11389
11466
|
}
|
|
11390
11467
|
),
|
|
11391
|
-
/* @__PURE__ */
|
|
11468
|
+
/* @__PURE__ */ jsx30(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx30("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__ */ jsx30("code", { children: rawJson }) }) })
|
|
11392
11469
|
] });
|
|
11393
11470
|
}
|
|
11394
11471
|
function rawPayloadFromCall(call) {
|
|
@@ -11436,7 +11513,7 @@ function normalizeToolSectionContent(value) {
|
|
|
11436
11513
|
}
|
|
11437
11514
|
|
|
11438
11515
|
// shared/agentConversation/components/tool-renderers/AgentEditContent.tsx
|
|
11439
|
-
import { jsx as
|
|
11516
|
+
import { jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
11440
11517
|
function AgentEditContent({
|
|
11441
11518
|
call,
|
|
11442
11519
|
onLinkClick
|
|
@@ -11456,9 +11533,9 @@ function AgentEditContent({
|
|
|
11456
11533
|
if (!hasRenderableContent) {
|
|
11457
11534
|
return null;
|
|
11458
11535
|
}
|
|
11459
|
-
return /* @__PURE__ */
|
|
11460
|
-
path && files.length === 0 ? /* @__PURE__ */
|
|
11461
|
-
patchFiles.map((candidate) => /* @__PURE__ */
|
|
11536
|
+
return /* @__PURE__ */ jsxs22("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
|
|
11537
|
+
path && files.length === 0 ? /* @__PURE__ */ jsx31(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
|
|
11538
|
+
patchFiles.map((candidate) => /* @__PURE__ */ jsx31(
|
|
11462
11539
|
AgentUnifiedPatchViewer,
|
|
11463
11540
|
{
|
|
11464
11541
|
path: candidate.path,
|
|
@@ -11468,7 +11545,7 @@ function AgentEditContent({
|
|
|
11468
11545
|
},
|
|
11469
11546
|
`patch:${candidate.path}`
|
|
11470
11547
|
)),
|
|
11471
|
-
diffFiles.map((candidate) => /* @__PURE__ */
|
|
11548
|
+
diffFiles.map((candidate) => /* @__PURE__ */ jsx31(
|
|
11472
11549
|
AgentMonacoDiffViewer,
|
|
11473
11550
|
{
|
|
11474
11551
|
path: candidate.path,
|
|
@@ -11478,7 +11555,7 @@ function AgentEditContent({
|
|
|
11478
11555
|
},
|
|
11479
11556
|
`diff:${candidate.path}`
|
|
11480
11557
|
)),
|
|
11481
|
-
contentFiles.map((candidate) => /* @__PURE__ */
|
|
11558
|
+
contentFiles.map((candidate) => /* @__PURE__ */ jsx31(
|
|
11482
11559
|
AgentCodeBlock,
|
|
11483
11560
|
{
|
|
11484
11561
|
path: candidate.path,
|
|
@@ -11493,7 +11570,7 @@ function AgentEditContent({
|
|
|
11493
11570
|
}
|
|
11494
11571
|
|
|
11495
11572
|
// shared/agentConversation/components/tool-renderers/AgentWebFetchContent.tsx
|
|
11496
|
-
import { jsx as
|
|
11573
|
+
import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
11497
11574
|
function AgentWebFetchContent({
|
|
11498
11575
|
call,
|
|
11499
11576
|
onLinkClick
|
|
@@ -11518,15 +11595,15 @@ ${web.url}` : web.url;
|
|
|
11518
11595
|
if (!web.url && !visibleContent && !errorText) {
|
|
11519
11596
|
return null;
|
|
11520
11597
|
}
|
|
11521
|
-
return /* @__PURE__ */
|
|
11522
|
-
web.url ? /* @__PURE__ */
|
|
11598
|
+
return /* @__PURE__ */ jsxs23("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11599
|
+
web.url ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.url"), children: /* @__PURE__ */ jsx32(
|
|
11523
11600
|
ToolMarkdownBlock,
|
|
11524
11601
|
{
|
|
11525
11602
|
content: urlText ?? "",
|
|
11526
11603
|
onLinkClick
|
|
11527
11604
|
}
|
|
11528
11605
|
) }) : null,
|
|
11529
|
-
visibleContent ? /* @__PURE__ */
|
|
11606
|
+
visibleContent ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.content"), children: /* @__PURE__ */ jsx32(
|
|
11530
11607
|
ToolMarkdownBlock,
|
|
11531
11608
|
{
|
|
11532
11609
|
content: visibleContent,
|
|
@@ -11534,8 +11611,8 @@ ${web.url}` : web.url;
|
|
|
11534
11611
|
collapsible: true
|
|
11535
11612
|
}
|
|
11536
11613
|
) }) : null,
|
|
11537
|
-
web.isTruncated ? /* @__PURE__ */
|
|
11538
|
-
errorText ? /* @__PURE__ */
|
|
11614
|
+
web.isTruncated ? /* @__PURE__ */ jsx32("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.contentTruncated") }) : null,
|
|
11615
|
+
errorText ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx32(
|
|
11539
11616
|
ToolMarkdownBlock,
|
|
11540
11617
|
{
|
|
11541
11618
|
content: errorText,
|
|
@@ -11547,7 +11624,7 @@ ${web.url}` : web.url;
|
|
|
11547
11624
|
}
|
|
11548
11625
|
|
|
11549
11626
|
// shared/agentConversation/components/tool-renderers/AgentWebSearchContent.tsx
|
|
11550
|
-
import { jsx as
|
|
11627
|
+
import { jsx as jsx33, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
11551
11628
|
var MAX_SUMMARY_LENGTH = 3e3;
|
|
11552
11629
|
function AgentWebSearchContent({
|
|
11553
11630
|
call,
|
|
@@ -11571,9 +11648,9 @@ function AgentWebSearchContent({
|
|
|
11571
11648
|
if (!hasRenderableContent) {
|
|
11572
11649
|
return null;
|
|
11573
11650
|
}
|
|
11574
|
-
return /* @__PURE__ */
|
|
11575
|
-
queryText ? /* @__PURE__ */
|
|
11576
|
-
links.length > 0 ? /* @__PURE__ */
|
|
11651
|
+
return /* @__PURE__ */ jsxs24("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
11652
|
+
queryText ? /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx33(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
|
|
11653
|
+
links.length > 0 ? /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx33("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(
|
|
11577
11654
|
"a",
|
|
11578
11655
|
{
|
|
11579
11656
|
href: link.url,
|
|
@@ -11581,13 +11658,13 @@ function AgentWebSearchContent({
|
|
|
11581
11658
|
rel: "noreferrer",
|
|
11582
11659
|
className: `flex items-center gap-3 px-3 py-2 text-[11px] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
11583
11660
|
children: [
|
|
11584
|
-
/* @__PURE__ */
|
|
11585
|
-
/* @__PURE__ */
|
|
11661
|
+
/* @__PURE__ */ jsx33("span", { className: "w-[120px] shrink-0 truncate text-[11px] text-[var(--text-tertiary)]", children: link.domain }),
|
|
11662
|
+
/* @__PURE__ */ jsx33("span", { className: "truncate text-[var(--text-primary)]", children: link.title })
|
|
11586
11663
|
]
|
|
11587
11664
|
},
|
|
11588
11665
|
`${link.url}:${link.title}`
|
|
11589
11666
|
)) }) }) : null,
|
|
11590
|
-
visibleSummary ? /* @__PURE__ */
|
|
11667
|
+
visibleSummary ? /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx33(
|
|
11591
11668
|
ToolMarkdownBlock,
|
|
11592
11669
|
{
|
|
11593
11670
|
content: visibleSummary,
|
|
@@ -11595,8 +11672,8 @@ function AgentWebSearchContent({
|
|
|
11595
11672
|
collapsible: true
|
|
11596
11673
|
}
|
|
11597
11674
|
) }) : null,
|
|
11598
|
-
summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */
|
|
11599
|
-
web.error ? /* @__PURE__ */
|
|
11675
|
+
summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */ jsx33("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.summaryTruncated") }) : null,
|
|
11676
|
+
web.error ? /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx33(
|
|
11600
11677
|
ToolMarkdownBlock,
|
|
11601
11678
|
{
|
|
11602
11679
|
content: web.error,
|
|
@@ -11689,7 +11766,7 @@ function domainForUrl2(url) {
|
|
|
11689
11766
|
}
|
|
11690
11767
|
|
|
11691
11768
|
// shared/agentConversation/components/tool-renderers/AgentApprovalContent.tsx
|
|
11692
|
-
import { jsx as
|
|
11769
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
11693
11770
|
function AgentApprovalContent({
|
|
11694
11771
|
call,
|
|
11695
11772
|
onLinkClick
|
|
@@ -11702,14 +11779,14 @@ function AgentApprovalContent({
|
|
|
11702
11779
|
if (previewCall) {
|
|
11703
11780
|
switch (previewCall.rendererKind) {
|
|
11704
11781
|
case "web-fetch":
|
|
11705
|
-
return /* @__PURE__ */
|
|
11782
|
+
return /* @__PURE__ */ jsx34(AgentWebFetchContent, { call: previewCall, onLinkClick });
|
|
11706
11783
|
case "web-search":
|
|
11707
|
-
return /* @__PURE__ */
|
|
11784
|
+
return /* @__PURE__ */ jsx34(AgentWebSearchContent, { call: previewCall, onLinkClick });
|
|
11708
11785
|
default:
|
|
11709
|
-
return /* @__PURE__ */
|
|
11786
|
+
return /* @__PURE__ */ jsx34(AgentEditContent, { call: previewCall, onLinkClick });
|
|
11710
11787
|
}
|
|
11711
11788
|
}
|
|
11712
|
-
return /* @__PURE__ */
|
|
11789
|
+
return /* @__PURE__ */ jsx34("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx34(ToolMarkdownBlock, { content: call.summary }) });
|
|
11713
11790
|
}
|
|
11714
11791
|
function approvalPreviewKindFor(normalizedKind) {
|
|
11715
11792
|
switch (normalizedKind) {
|
|
@@ -11780,7 +11857,7 @@ function normalizeToolKind(value) {
|
|
|
11780
11857
|
}
|
|
11781
11858
|
|
|
11782
11859
|
// shared/agentConversation/components/tool-renderers/AgentAskUserQuestionContent.tsx
|
|
11783
|
-
import { jsx as
|
|
11860
|
+
import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
11784
11861
|
function AgentAskUserQuestionContent({
|
|
11785
11862
|
call
|
|
11786
11863
|
}) {
|
|
@@ -11789,31 +11866,31 @@ function AgentAskUserQuestionContent({
|
|
|
11789
11866
|
if (questions.length === 0) {
|
|
11790
11867
|
return null;
|
|
11791
11868
|
}
|
|
11792
|
-
return /* @__PURE__ */
|
|
11869
|
+
return /* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx35(ToolSection, { title: translate("agentHost.agentTool.details.questions"), children: /* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: questions.map((question) => {
|
|
11793
11870
|
const body = question.question || question.header || translate("agentHost.agentTool.details.questionFallback");
|
|
11794
11871
|
const answer = formatAnswer(question.answer);
|
|
11795
11872
|
const questionKey = question.id.trim() || `${question.header}:${question.question}:${question.options.map((option) => option.label).join("|")}`;
|
|
11796
|
-
return /* @__PURE__ */
|
|
11873
|
+
return /* @__PURE__ */ jsxs25(
|
|
11797
11874
|
"div",
|
|
11798
11875
|
{
|
|
11799
11876
|
className: "workspace-agents-status-panel__detail-tool-stack-item",
|
|
11800
11877
|
children: [
|
|
11801
|
-
/* @__PURE__ */
|
|
11802
|
-
question.options.length > 0 ? /* @__PURE__ */
|
|
11878
|
+
/* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-question", children: body }),
|
|
11879
|
+
question.options.length > 0 ? /* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: question.options.map((option) => /* @__PURE__ */ jsxs25(
|
|
11803
11880
|
"div",
|
|
11804
11881
|
{
|
|
11805
11882
|
className: "workspace-agents-status-panel__detail-tool-stack-item",
|
|
11806
11883
|
children: [
|
|
11807
|
-
/* @__PURE__ */
|
|
11808
|
-
option.description ? /* @__PURE__ */
|
|
11884
|
+
/* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: option.label }),
|
|
11885
|
+
option.description ? /* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: option.description }) : null
|
|
11809
11886
|
]
|
|
11810
11887
|
},
|
|
11811
11888
|
`${questionKey}-option-${option.label}:${option.description}`
|
|
11812
11889
|
)) }) : null,
|
|
11813
|
-
answer ? /* @__PURE__ */
|
|
11890
|
+
answer ? /* @__PURE__ */ jsx35("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: translate("agentHost.agentTool.details.answerPrefix", {
|
|
11814
11891
|
answer
|
|
11815
|
-
}) }) : /* @__PURE__ */
|
|
11816
|
-
/* @__PURE__ */
|
|
11892
|
+
}) }) : /* @__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: [
|
|
11893
|
+
/* @__PURE__ */ jsx35(
|
|
11817
11894
|
MessageSquareMoreIcon,
|
|
11818
11895
|
{
|
|
11819
11896
|
size: 14,
|
|
@@ -11838,8 +11915,8 @@ function formatAnswer(answer) {
|
|
|
11838
11915
|
}
|
|
11839
11916
|
|
|
11840
11917
|
// shared/agentConversation/components/tool-renderers/terminal/AgentTerminalBlock.tsx
|
|
11841
|
-
import { useMemo as useMemo4, useState as
|
|
11842
|
-
import { jsx as
|
|
11918
|
+
import { useMemo as useMemo4, useState as useState11 } from "react";
|
|
11919
|
+
import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
11843
11920
|
var MAX_OUTPUT_LINES = 200;
|
|
11844
11921
|
function AgentTerminalBlock({
|
|
11845
11922
|
command,
|
|
@@ -11848,7 +11925,7 @@ function AgentTerminalBlock({
|
|
|
11848
11925
|
status
|
|
11849
11926
|
}) {
|
|
11850
11927
|
"use memo";
|
|
11851
|
-
const [expanded, setExpanded] =
|
|
11928
|
+
const [expanded, setExpanded] = useState11(false);
|
|
11852
11929
|
const outputText = useMemo4(
|
|
11853
11930
|
() => [stdout, stderr].filter(Boolean).join("\n"),
|
|
11854
11931
|
[stdout, stderr]
|
|
@@ -11861,7 +11938,7 @@ function AgentTerminalBlock({
|
|
|
11861
11938
|
const visibleOutput = truncated ? outputLines.slice(0, MAX_OUTPUT_LINES).join("\n") : outputText;
|
|
11862
11939
|
const failed = status === "failed";
|
|
11863
11940
|
const hasOutput = Boolean(visibleOutput);
|
|
11864
|
-
const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */
|
|
11941
|
+
const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */ jsx36(
|
|
11865
11942
|
"button",
|
|
11866
11943
|
{
|
|
11867
11944
|
type: "button",
|
|
@@ -11870,15 +11947,15 @@ function AgentTerminalBlock({
|
|
|
11870
11947
|
children: expanded ? "Collapse output" : `Show full output (${outputLines.length} lines)`
|
|
11871
11948
|
}
|
|
11872
11949
|
) : null;
|
|
11873
|
-
return /* @__PURE__ */
|
|
11874
|
-
command ? /* @__PURE__ */
|
|
11950
|
+
return /* @__PURE__ */ jsxs26("div", { className: "workspace-agents-status-panel__detail-tool-terminal overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)]", children: [
|
|
11951
|
+
command ? /* @__PURE__ */ jsxs26(
|
|
11875
11952
|
"div",
|
|
11876
11953
|
{
|
|
11877
11954
|
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"}`,
|
|
11878
11955
|
"data-agent-terminal-command-row": "true",
|
|
11879
11956
|
children: [
|
|
11880
|
-
/* @__PURE__ */
|
|
11881
|
-
/* @__PURE__ */
|
|
11957
|
+
/* @__PURE__ */ jsx36("span", { className: "shrink-0 font-semibold text-[var(--tutti-purple)]", children: "$" }),
|
|
11958
|
+
/* @__PURE__ */ jsx36(
|
|
11882
11959
|
"span",
|
|
11883
11960
|
{
|
|
11884
11961
|
className: "min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]",
|
|
@@ -11889,13 +11966,13 @@ function AgentTerminalBlock({
|
|
|
11889
11966
|
]
|
|
11890
11967
|
}
|
|
11891
11968
|
) : null,
|
|
11892
|
-
hasOutput ? /* @__PURE__ */
|
|
11969
|
+
hasOutput ? /* @__PURE__ */ jsxs26(
|
|
11893
11970
|
AgentToolScrollArea,
|
|
11894
11971
|
{
|
|
11895
11972
|
maxHeightClassName: "max-h-[160px]",
|
|
11896
11973
|
viewportClassName: `px-3 py-2 text-[11px] leading-5 ${failed ? "text-[var(--state-danger)]" : "text-[var(--text-primary)]"}`,
|
|
11897
11974
|
children: [
|
|
11898
|
-
/* @__PURE__ */
|
|
11975
|
+
/* @__PURE__ */ jsx36("pre", { className: "m-0 min-w-0 max-w-full whitespace-pre-wrap [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx36("code", { children: visibleOutput }) }),
|
|
11899
11976
|
disclosureButton
|
|
11900
11977
|
]
|
|
11901
11978
|
}
|
|
@@ -11904,14 +11981,14 @@ function AgentTerminalBlock({
|
|
|
11904
11981
|
}
|
|
11905
11982
|
|
|
11906
11983
|
// shared/agentConversation/components/tool-renderers/AgentBashContent.tsx
|
|
11907
|
-
import { jsx as
|
|
11984
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
11908
11985
|
function AgentBashContent({
|
|
11909
11986
|
call
|
|
11910
11987
|
}) {
|
|
11911
11988
|
"use memo";
|
|
11912
11989
|
const commandData = getCommandRenderData(call);
|
|
11913
11990
|
const fallbackErrorText = commandData.status === "failed" && !commandData.stdout && !commandData.stderr ? stringValue10(call.error?.message) : null;
|
|
11914
|
-
return /* @__PURE__ */
|
|
11991
|
+
return /* @__PURE__ */ jsx37("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: /* @__PURE__ */ jsx37(
|
|
11915
11992
|
AgentTerminalBlock,
|
|
11916
11993
|
{
|
|
11917
11994
|
command: commandData.command,
|
|
@@ -11925,9 +12002,9 @@ function AgentBashContent({
|
|
|
11925
12002
|
}
|
|
11926
12003
|
|
|
11927
12004
|
// shared/agentConversation/components/tool-renderers/AgentImageGenerationContent.tsx
|
|
11928
|
-
import { useEffect as useEffect10, useState as
|
|
12005
|
+
import { useEffect as useEffect10, useState as useState12 } from "react";
|
|
11929
12006
|
import { resolveWorkspaceImageMimeType } from "@tutti-os/workspace-file-manager/services";
|
|
11930
|
-
import { jsx as
|
|
12007
|
+
import { jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
11931
12008
|
function AgentImageGenerationContent({
|
|
11932
12009
|
call,
|
|
11933
12010
|
onLinkClick
|
|
@@ -11937,8 +12014,8 @@ function AgentImageGenerationContent({
|
|
|
11937
12014
|
if (!image.prompt && !image.imageUri) {
|
|
11938
12015
|
return null;
|
|
11939
12016
|
}
|
|
11940
|
-
return /* @__PURE__ */
|
|
11941
|
-
image.prompt ? /* @__PURE__ */
|
|
12017
|
+
return /* @__PURE__ */ jsxs27("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12018
|
+
image.prompt ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx38(
|
|
11942
12019
|
ToolMarkdownBlock,
|
|
11943
12020
|
{
|
|
11944
12021
|
content: image.prompt,
|
|
@@ -11946,7 +12023,7 @@ function AgentImageGenerationContent({
|
|
|
11946
12023
|
collapsible: true
|
|
11947
12024
|
}
|
|
11948
12025
|
) }) : null,
|
|
11949
|
-
image.imageUri ? /* @__PURE__ */
|
|
12026
|
+
image.imageUri ? /* @__PURE__ */ jsx38(
|
|
11950
12027
|
ImageGenerationPreview,
|
|
11951
12028
|
{
|
|
11952
12029
|
uri: image.imageUri,
|
|
@@ -11963,7 +12040,7 @@ function ImageGenerationPreview({
|
|
|
11963
12040
|
const agentHostApi = useOptionalAgentHostApi();
|
|
11964
12041
|
const localPath = isLocalImagePath(uri) ? uri.trim() : null;
|
|
11965
12042
|
const readWorkspaceImage = localPath ? agentHostApi?.workspace?.readFile : void 0;
|
|
11966
|
-
const [src, setSrc] =
|
|
12043
|
+
const [src, setSrc] = useState12(
|
|
11967
12044
|
() => !localPath ? resolveImageGenerationPreviewSrc(uri) : null
|
|
11968
12045
|
);
|
|
11969
12046
|
useEffect10(() => {
|
|
@@ -12011,7 +12088,7 @@ function ImageGenerationPreview({
|
|
|
12011
12088
|
if (!src) {
|
|
12012
12089
|
return null;
|
|
12013
12090
|
}
|
|
12014
|
-
return /* @__PURE__ */
|
|
12091
|
+
return /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx38(
|
|
12015
12092
|
ZoomableImage,
|
|
12016
12093
|
{
|
|
12017
12094
|
alt: translate("agentHost.agentTool.details.imagePreviewAlt"),
|
|
@@ -12164,47 +12241,47 @@ function firstString6(...values) {
|
|
|
12164
12241
|
}
|
|
12165
12242
|
|
|
12166
12243
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentAtlassianRenderers.tsx
|
|
12167
|
-
import { jsx as
|
|
12244
|
+
import { jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
12168
12245
|
function renderAtlassianMcp(payload) {
|
|
12169
12246
|
const items = parsedItems(payload.structured);
|
|
12170
12247
|
if (items.length > 0) {
|
|
12171
|
-
return /* @__PURE__ */
|
|
12248
|
+
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__ */ jsxs28(
|
|
12172
12249
|
"div",
|
|
12173
12250
|
{
|
|
12174
12251
|
className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
12175
12252
|
children: [
|
|
12176
|
-
/* @__PURE__ */
|
|
12253
|
+
/* @__PURE__ */ jsx39("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? translate("agentHost.agentTool.details.mcpItem", {
|
|
12177
12254
|
index: index + 1
|
|
12178
12255
|
}) }),
|
|
12179
|
-
itemSecondaryText(item) ? /* @__PURE__ */
|
|
12256
|
+
itemSecondaryText(item) ? /* @__PURE__ */ jsx39("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
|
|
12180
12257
|
]
|
|
12181
12258
|
},
|
|
12182
12259
|
`${itemPrimaryText(item) ?? "item"}::${itemSecondaryText(item) ?? ""}`
|
|
12183
12260
|
)) });
|
|
12184
12261
|
}
|
|
12185
|
-
return payload.text ? /* @__PURE__ */
|
|
12262
|
+
return payload.text ? /* @__PURE__ */ jsx39(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
|
|
12186
12263
|
}
|
|
12187
12264
|
|
|
12188
12265
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentContext7Renderers.tsx
|
|
12189
|
-
import { jsx as
|
|
12266
|
+
import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
12190
12267
|
function renderContext7Mcp(payload) {
|
|
12191
12268
|
const items = parsedItems(payload.structured);
|
|
12192
12269
|
if (items.length > 0) {
|
|
12193
|
-
return /* @__PURE__ */
|
|
12270
|
+
return /* @__PURE__ */ jsx40("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(
|
|
12194
12271
|
"div",
|
|
12195
12272
|
{
|
|
12196
12273
|
className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
12197
12274
|
children: [
|
|
12198
|
-
/* @__PURE__ */
|
|
12275
|
+
/* @__PURE__ */ jsx40("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? translate("agentHost.agentTool.details.mcpDoc", {
|
|
12199
12276
|
index: index + 1
|
|
12200
12277
|
}) }),
|
|
12201
|
-
itemSecondaryText(item) ? /* @__PURE__ */
|
|
12278
|
+
itemSecondaryText(item) ? /* @__PURE__ */ jsx40("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
|
|
12202
12279
|
]
|
|
12203
12280
|
},
|
|
12204
12281
|
`${itemPrimaryText(item) ?? "doc"}::${itemSecondaryText(item) ?? ""}`
|
|
12205
12282
|
)) });
|
|
12206
12283
|
}
|
|
12207
|
-
return payload.text ? /* @__PURE__ */
|
|
12284
|
+
return payload.text ? /* @__PURE__ */ jsx40(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
|
|
12208
12285
|
}
|
|
12209
12286
|
|
|
12210
12287
|
// shared/agentConversation/components/tool-renderers/mcp-renderers/agentMcpRendererRegistry.tsx
|
|
@@ -12220,7 +12297,7 @@ function renderRegisteredMcp(payload) {
|
|
|
12220
12297
|
}
|
|
12221
12298
|
|
|
12222
12299
|
// shared/agentConversation/components/tool-renderers/AgentMcpToolContent.tsx
|
|
12223
|
-
import { jsx as
|
|
12300
|
+
import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
12224
12301
|
function AgentMcpToolContent({
|
|
12225
12302
|
call,
|
|
12226
12303
|
onLinkClick
|
|
@@ -12232,8 +12309,8 @@ function AgentMcpToolContent({
|
|
|
12232
12309
|
payload.text,
|
|
12233
12310
|
payload.inputSummary
|
|
12234
12311
|
);
|
|
12235
|
-
return /* @__PURE__ */
|
|
12236
|
-
payload.server || payload.tool ? /* @__PURE__ */
|
|
12312
|
+
return /* @__PURE__ */ jsxs30("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12313
|
+
payload.server || payload.tool ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.mcp"), children: /* @__PURE__ */ jsx41(
|
|
12237
12314
|
ToolMarkdownBlock,
|
|
12238
12315
|
{
|
|
12239
12316
|
content: [
|
|
@@ -12243,14 +12320,14 @@ function AgentMcpToolContent({
|
|
|
12243
12320
|
onLinkClick
|
|
12244
12321
|
}
|
|
12245
12322
|
) }) : null,
|
|
12246
|
-
payload.inputSummary ? /* @__PURE__ */
|
|
12323
|
+
payload.inputSummary ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx41(
|
|
12247
12324
|
ToolMarkdownBlock,
|
|
12248
12325
|
{
|
|
12249
12326
|
content: payload.inputSummary,
|
|
12250
12327
|
onLinkClick
|
|
12251
12328
|
}
|
|
12252
12329
|
) }) : null,
|
|
12253
|
-
specialized ? /* @__PURE__ */
|
|
12330
|
+
specialized ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: specialized }) : visibleText ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx41(
|
|
12254
12331
|
ToolMarkdownBlock,
|
|
12255
12332
|
{
|
|
12256
12333
|
content: visibleText,
|
|
@@ -12258,12 +12335,12 @@ function AgentMcpToolContent({
|
|
|
12258
12335
|
collapsible: true
|
|
12259
12336
|
}
|
|
12260
12337
|
) }) : null,
|
|
12261
|
-
/* @__PURE__ */
|
|
12338
|
+
/* @__PURE__ */ jsx41(RawPayloadSection, { payload: call.payload ?? payload.structured })
|
|
12262
12339
|
] });
|
|
12263
12340
|
}
|
|
12264
12341
|
|
|
12265
12342
|
// shared/agentConversation/components/tool-renderers/AgentPlanModeContent.tsx
|
|
12266
|
-
import { jsx as
|
|
12343
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
12267
12344
|
function AgentPlanModeContent({
|
|
12268
12345
|
call,
|
|
12269
12346
|
onLinkClick
|
|
@@ -12274,7 +12351,7 @@ function AgentPlanModeContent({
|
|
|
12274
12351
|
if (!planMode.enterText) {
|
|
12275
12352
|
return null;
|
|
12276
12353
|
}
|
|
12277
|
-
return /* @__PURE__ */
|
|
12354
|
+
return /* @__PURE__ */ jsx42("div", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-2 text-[11px] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsx42(
|
|
12278
12355
|
ToolMarkdownBlock,
|
|
12279
12356
|
{
|
|
12280
12357
|
content: planMode.enterText,
|
|
@@ -12285,18 +12362,18 @@ function AgentPlanModeContent({
|
|
|
12285
12362
|
if (!planMode.plan) {
|
|
12286
12363
|
return null;
|
|
12287
12364
|
}
|
|
12288
|
-
return /* @__PURE__ */
|
|
12365
|
+
return /* @__PURE__ */ jsx42(
|
|
12289
12366
|
AgentPlanCard,
|
|
12290
12367
|
{
|
|
12291
12368
|
title: planMode.fileName ?? void 0,
|
|
12292
12369
|
copyText: planMode.plan,
|
|
12293
|
-
children: /* @__PURE__ */
|
|
12370
|
+
children: /* @__PURE__ */ jsx42(ToolMarkdownBlock, { content: planMode.plan, onLinkClick })
|
|
12294
12371
|
}
|
|
12295
12372
|
);
|
|
12296
12373
|
}
|
|
12297
12374
|
|
|
12298
12375
|
// shared/agentConversation/components/tool-renderers/AgentSearchContent.tsx
|
|
12299
|
-
import { jsx as
|
|
12376
|
+
import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
12300
12377
|
function AgentSearchContent({
|
|
12301
12378
|
call,
|
|
12302
12379
|
onLinkClick
|
|
@@ -12312,9 +12389,9 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
12312
12389
|
visibleOutput.split("\n").filter(Boolean),
|
|
12313
12390
|
"line"
|
|
12314
12391
|
);
|
|
12315
|
-
return /* @__PURE__ */
|
|
12316
|
-
queryText ? /* @__PURE__ */
|
|
12317
|
-
(search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */
|
|
12392
|
+
return /* @__PURE__ */ jsxs31("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12393
|
+
queryText ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx43(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
|
|
12394
|
+
(search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx43("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__ */ jsx43(
|
|
12318
12395
|
"div",
|
|
12319
12396
|
{
|
|
12320
12397
|
className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${isFirst ? "" : "border-t border-[var(--line-2)]"}`,
|
|
@@ -12322,7 +12399,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
12322
12399
|
},
|
|
12323
12400
|
key
|
|
12324
12401
|
)) }) }) : null,
|
|
12325
|
-
search.mode === "content" && visibleOutput ? /* @__PURE__ */
|
|
12402
|
+
search.mode === "content" && visibleOutput ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx43("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__ */ jsx43(
|
|
12326
12403
|
"div",
|
|
12327
12404
|
{
|
|
12328
12405
|
className: line.includes(":") ? "text-[var(--text-primary)]" : "text-[var(--text-tertiary)]",
|
|
@@ -12330,9 +12407,9 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
12330
12407
|
},
|
|
12331
12408
|
key
|
|
12332
12409
|
)) }) }) : null,
|
|
12333
|
-
search.mode === "count" ? /* @__PURE__ */
|
|
12334
|
-
(search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */
|
|
12335
|
-
search.mode === "unknown" && visibleOutput ? /* @__PURE__ */
|
|
12410
|
+
search.mode === "count" ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx43("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,
|
|
12411
|
+
(search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx43("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatches") }) }) : null,
|
|
12412
|
+
search.mode === "unknown" && visibleOutput ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx43(
|
|
12336
12413
|
ToolMarkdownBlock,
|
|
12337
12414
|
{
|
|
12338
12415
|
content: visibleOutput,
|
|
@@ -12340,7 +12417,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
|
|
|
12340
12417
|
collapsible: true
|
|
12341
12418
|
}
|
|
12342
12419
|
) }) : null,
|
|
12343
|
-
search.error ? /* @__PURE__ */
|
|
12420
|
+
search.error ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx43(
|
|
12344
12421
|
ToolMarkdownBlock,
|
|
12345
12422
|
{
|
|
12346
12423
|
content: search.error,
|
|
@@ -12368,7 +12445,7 @@ function withStableOccurrenceKeys(values, prefix) {
|
|
|
12368
12445
|
}
|
|
12369
12446
|
|
|
12370
12447
|
// shared/agentConversation/components/tool-renderers/AgentSkillContent.tsx
|
|
12371
|
-
import { jsx as
|
|
12448
|
+
import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
12372
12449
|
function AgentSkillContent({
|
|
12373
12450
|
call,
|
|
12374
12451
|
onLinkClick
|
|
@@ -12378,8 +12455,8 @@ function AgentSkillContent({
|
|
|
12378
12455
|
if (!skill.skill && !skill.statusText) {
|
|
12379
12456
|
return null;
|
|
12380
12457
|
}
|
|
12381
|
-
return /* @__PURE__ */
|
|
12382
|
-
skill.skill ? /* @__PURE__ */
|
|
12458
|
+
return /* @__PURE__ */ jsxs32("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12459
|
+
skill.skill ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.skill"), children: /* @__PURE__ */ jsx44(
|
|
12383
12460
|
ToolMarkdownBlock,
|
|
12384
12461
|
{
|
|
12385
12462
|
content: skill.args ? `${skill.skill}
|
|
@@ -12388,31 +12465,31 @@ ${skill.args}` : skill.skill,
|
|
|
12388
12465
|
onLinkClick
|
|
12389
12466
|
}
|
|
12390
12467
|
) }) : null,
|
|
12391
|
-
skill.statusText ? /* @__PURE__ */
|
|
12468
|
+
skill.statusText ? /* @__PURE__ */ jsx44("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: skill.statusText }) : null
|
|
12392
12469
|
] });
|
|
12393
12470
|
}
|
|
12394
12471
|
|
|
12395
12472
|
// shared/agentConversation/components/AgentTaskStepList.tsx
|
|
12396
|
-
import { useState as
|
|
12397
|
-
import { jsx as
|
|
12473
|
+
import { useState as useState13 } from "react";
|
|
12474
|
+
import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
12398
12475
|
function AgentTaskStepList({
|
|
12399
12476
|
steps,
|
|
12400
12477
|
onLinkClick
|
|
12401
12478
|
}) {
|
|
12402
12479
|
"use memo";
|
|
12403
|
-
return /* @__PURE__ */
|
|
12480
|
+
return /* @__PURE__ */ jsx45("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: steps.map((step) => /* @__PURE__ */ jsx45(AgentTaskStepRow, { step, onLinkClick }, step.id)) });
|
|
12404
12481
|
}
|
|
12405
12482
|
function AgentTaskStepRow({
|
|
12406
12483
|
step,
|
|
12407
12484
|
onLinkClick
|
|
12408
12485
|
}) {
|
|
12409
12486
|
"use memo";
|
|
12410
|
-
const [expanded, setExpanded] =
|
|
12487
|
+
const [expanded, setExpanded] = useState13(false);
|
|
12411
12488
|
const call = step.tool ?? projectTaskStepCall(step);
|
|
12412
12489
|
const hasDetail = hasAgentToolContent(call);
|
|
12413
12490
|
const ariaLabel = taskStepAriaLabel(call);
|
|
12414
|
-
return /* @__PURE__ */
|
|
12415
|
-
hasDetail ? /* @__PURE__ */
|
|
12491
|
+
return /* @__PURE__ */ jsxs33("div", { className: "workspace-agents-status-panel__detail-tool-row", children: [
|
|
12492
|
+
hasDetail ? /* @__PURE__ */ jsx45(
|
|
12416
12493
|
"button",
|
|
12417
12494
|
{
|
|
12418
12495
|
type: "button",
|
|
@@ -12420,11 +12497,11 @@ function AgentTaskStepRow({
|
|
|
12420
12497
|
"aria-expanded": expanded,
|
|
12421
12498
|
"aria-label": ariaLabel,
|
|
12422
12499
|
onClick: () => setExpanded((value) => !value),
|
|
12423
|
-
children: /* @__PURE__ */
|
|
12500
|
+
children: /* @__PURE__ */ jsx45(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12424
12501
|
}
|
|
12425
|
-
) : /* @__PURE__ */
|
|
12426
|
-
!hasDetail && step.summary ? /* @__PURE__ */
|
|
12427
|
-
hasDetail && expanded ? /* @__PURE__ */
|
|
12502
|
+
) : /* @__PURE__ */ jsx45("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx45(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12503
|
+
!hasDetail && step.summary ? /* @__PURE__ */ jsx45("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: step.summary }) : null,
|
|
12504
|
+
hasDetail && expanded ? /* @__PURE__ */ jsx45(AgentExpandedToolContent, { call, onLinkClick }) : null
|
|
12428
12505
|
] });
|
|
12429
12506
|
}
|
|
12430
12507
|
function taskStepAriaLabel(call) {
|
|
@@ -12455,7 +12532,7 @@ function projectTaskStepCall(step) {
|
|
|
12455
12532
|
}
|
|
12456
12533
|
|
|
12457
12534
|
// shared/agentConversation/components/tool-renderers/AgentTaskContent.tsx
|
|
12458
|
-
import { jsx as
|
|
12535
|
+
import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
12459
12536
|
function AgentTaskContent({
|
|
12460
12537
|
call,
|
|
12461
12538
|
onLinkClick
|
|
@@ -12463,29 +12540,29 @@ function AgentTaskContent({
|
|
|
12463
12540
|
"use memo";
|
|
12464
12541
|
const task = getTaskRenderData(call);
|
|
12465
12542
|
const failureMarkdown = task.errorMarkdown ?? (isFailedTaskStatus(call.statusKind, task.status, call.status) ? translate("agentHost.agentTool.details.missingFailureDetails") : null);
|
|
12466
|
-
return /* @__PURE__ */
|
|
12467
|
-
/* @__PURE__ */
|
|
12468
|
-
/* @__PURE__ */
|
|
12469
|
-
task.status ? /* @__PURE__ */
|
|
12543
|
+
return /* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12544
|
+
/* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: [
|
|
12545
|
+
/* @__PURE__ */ jsx46("strong", { children: task.title }),
|
|
12546
|
+
task.status ? /* @__PURE__ */ jsxs34("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
|
|
12470
12547
|
" \xB7 ",
|
|
12471
12548
|
task.status
|
|
12472
12549
|
] }) : null,
|
|
12473
|
-
task.durationText ? /* @__PURE__ */
|
|
12550
|
+
task.durationText ? /* @__PURE__ */ jsxs34("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
|
|
12474
12551
|
" \xB7 ",
|
|
12475
12552
|
task.durationText
|
|
12476
12553
|
] }) : null
|
|
12477
12554
|
] }),
|
|
12478
|
-
task.status === "running" && task.latestStepSummary ? /* @__PURE__ */
|
|
12479
|
-
task.prompt ? /* @__PURE__ */
|
|
12480
|
-
task.childSessionId ? /* @__PURE__ */
|
|
12555
|
+
task.status === "running" && task.latestStepSummary ? /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.summary"), children: /* @__PURE__ */ jsx46("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: task.latestStepSummary }) }) : null,
|
|
12556
|
+
task.prompt ? /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.prompt"), children: /* @__PURE__ */ jsx46(ToolMarkdownBlock, { content: task.prompt, onLinkClick }) }) : null,
|
|
12557
|
+
task.childSessionId ? /* @__PURE__ */ jsx46(
|
|
12481
12558
|
ToolSection,
|
|
12482
12559
|
{
|
|
12483
12560
|
title: translate("agentHost.agentTool.details.delegateSession"),
|
|
12484
|
-
children: /* @__PURE__ */
|
|
12561
|
+
children: /* @__PURE__ */ jsx46("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: task.childSessionId })
|
|
12485
12562
|
}
|
|
12486
12563
|
) : null,
|
|
12487
|
-
task.steps.length > 0 ? /* @__PURE__ */
|
|
12488
|
-
task.resultMarkdown ? /* @__PURE__ */
|
|
12564
|
+
task.steps.length > 0 ? /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.steps"), children: /* @__PURE__ */ jsx46(AgentTaskStepList, { steps: task.steps, onLinkClick }) }) : null,
|
|
12565
|
+
task.resultMarkdown ? /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx46(
|
|
12489
12566
|
ToolMarkdownBlock,
|
|
12490
12567
|
{
|
|
12491
12568
|
content: task.resultMarkdown,
|
|
@@ -12493,7 +12570,7 @@ function AgentTaskContent({
|
|
|
12493
12570
|
collapsible: true
|
|
12494
12571
|
}
|
|
12495
12572
|
) }) : null,
|
|
12496
|
-
failureMarkdown ? /* @__PURE__ */
|
|
12573
|
+
failureMarkdown ? /* @__PURE__ */ jsx46(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx46(
|
|
12497
12574
|
ToolMarkdownBlock,
|
|
12498
12575
|
{
|
|
12499
12576
|
content: failureMarkdown,
|
|
@@ -12512,7 +12589,7 @@ function isFailedTaskStatus(...values) {
|
|
|
12512
12589
|
|
|
12513
12590
|
// shared/agentConversation/components/tool-renderers/AgentTodoWriteContent.tsx
|
|
12514
12591
|
import { CheckCircle2, Circle } from "lucide-react";
|
|
12515
|
-
import { jsx as
|
|
12592
|
+
import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
12516
12593
|
function AgentTodoWriteContent({
|
|
12517
12594
|
call
|
|
12518
12595
|
}) {
|
|
@@ -12521,13 +12598,13 @@ function AgentTodoWriteContent({
|
|
|
12521
12598
|
if (todos.length === 0) {
|
|
12522
12599
|
return null;
|
|
12523
12600
|
}
|
|
12524
|
-
return /* @__PURE__ */
|
|
12601
|
+
return /* @__PURE__ */ jsx47("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx47(ToolSection, { title: translate("agentHost.agentTool.details.todos"), children: /* @__PURE__ */ jsx47("div", { className: "space-y-1", children: todos.map((todo) => /* @__PURE__ */ jsxs35(
|
|
12525
12602
|
"div",
|
|
12526
12603
|
{
|
|
12527
12604
|
className: "flex items-start gap-2 rounded-[8px] px-1 py-0.5 text-[11px]",
|
|
12528
12605
|
children: [
|
|
12529
|
-
/* @__PURE__ */
|
|
12530
|
-
/* @__PURE__ */
|
|
12606
|
+
/* @__PURE__ */ jsx47("div", { className: "mt-[1px] shrink-0", children: iconForStatus(todo.status) }),
|
|
12607
|
+
/* @__PURE__ */ jsx47("span", { className: contentClassName(todo.status), children: todo.content })
|
|
12531
12608
|
]
|
|
12532
12609
|
},
|
|
12533
12610
|
`${todo.content}:${todo.status ?? "pending"}`
|
|
@@ -12536,7 +12613,7 @@ function AgentTodoWriteContent({
|
|
|
12536
12613
|
function iconForStatus(status) {
|
|
12537
12614
|
switch (status) {
|
|
12538
12615
|
case "completed":
|
|
12539
|
-
return /* @__PURE__ */
|
|
12616
|
+
return /* @__PURE__ */ jsx47(
|
|
12540
12617
|
CheckCircle2,
|
|
12541
12618
|
{
|
|
12542
12619
|
size: 14,
|
|
@@ -12545,7 +12622,7 @@ function iconForStatus(status) {
|
|
|
12545
12622
|
}
|
|
12546
12623
|
);
|
|
12547
12624
|
case "in_progress":
|
|
12548
|
-
return /* @__PURE__ */
|
|
12625
|
+
return /* @__PURE__ */ jsx47(
|
|
12549
12626
|
AtomIcon,
|
|
12550
12627
|
{
|
|
12551
12628
|
size: 14,
|
|
@@ -12555,7 +12632,7 @@ function iconForStatus(status) {
|
|
|
12555
12632
|
}
|
|
12556
12633
|
);
|
|
12557
12634
|
default:
|
|
12558
|
-
return /* @__PURE__ */
|
|
12635
|
+
return /* @__PURE__ */ jsx47(
|
|
12559
12636
|
Circle,
|
|
12560
12637
|
{
|
|
12561
12638
|
size: 14,
|
|
@@ -12577,7 +12654,7 @@ function contentClassName(status) {
|
|
|
12577
12654
|
}
|
|
12578
12655
|
|
|
12579
12656
|
// shared/agentConversation/components/tool-renderers/AgentToolSearchContent.tsx
|
|
12580
|
-
import { jsx as
|
|
12657
|
+
import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
12581
12658
|
function AgentToolSearchContent({
|
|
12582
12659
|
call
|
|
12583
12660
|
}) {
|
|
@@ -12586,8 +12663,8 @@ function AgentToolSearchContent({
|
|
|
12586
12663
|
if (!toolSearch.query && toolSearch.matches.length === 0) {
|
|
12587
12664
|
return null;
|
|
12588
12665
|
}
|
|
12589
|
-
return /* @__PURE__ */
|
|
12590
|
-
toolSearch.displayQuery ? /* @__PURE__ */
|
|
12666
|
+
return /* @__PURE__ */ jsxs36("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
|
|
12667
|
+
toolSearch.displayQuery ? /* @__PURE__ */ jsx48(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx48(
|
|
12591
12668
|
ToolMarkdownBlock,
|
|
12592
12669
|
{
|
|
12593
12670
|
content: `${toolSearch.displayQuery}
|
|
@@ -12595,7 +12672,7 @@ function AgentToolSearchContent({
|
|
|
12595
12672
|
${toolSearch.mode}`
|
|
12596
12673
|
}
|
|
12597
12674
|
) }) : null,
|
|
12598
|
-
toolSearch.matches.length > 0 ? /* @__PURE__ */
|
|
12675
|
+
toolSearch.matches.length > 0 ? /* @__PURE__ */ jsx48(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx48("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__ */ jsx48(
|
|
12599
12676
|
"div",
|
|
12600
12677
|
{
|
|
12601
12678
|
className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
|
|
@@ -12603,8 +12680,8 @@ ${toolSearch.mode}`
|
|
|
12603
12680
|
},
|
|
12604
12681
|
match
|
|
12605
12682
|
)) }) }) : null,
|
|
12606
|
-
toolSearch.matches.length === 0 ? /* @__PURE__ */
|
|
12607
|
-
typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */
|
|
12683
|
+
toolSearch.matches.length === 0 ? /* @__PURE__ */ jsx48("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatchingTools") }) : null,
|
|
12684
|
+
typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */ jsx48("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.loadedAvailable", {
|
|
12608
12685
|
loaded: toolSearch.matches.length,
|
|
12609
12686
|
available: toolSearch.totalDeferredTools
|
|
12610
12687
|
}) }) : null
|
|
@@ -12612,7 +12689,7 @@ ${toolSearch.mode}`
|
|
|
12612
12689
|
}
|
|
12613
12690
|
|
|
12614
12691
|
// shared/agentConversation/components/tool-renderers/AgentWriteContent.tsx
|
|
12615
|
-
import { jsx as
|
|
12692
|
+
import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
12616
12693
|
function AgentWriteContent({
|
|
12617
12694
|
call,
|
|
12618
12695
|
onLinkClick
|
|
@@ -12632,9 +12709,9 @@ function AgentWriteContent({
|
|
|
12632
12709
|
if (!hasRenderableContent) {
|
|
12633
12710
|
return null;
|
|
12634
12711
|
}
|
|
12635
|
-
return /* @__PURE__ */
|
|
12636
|
-
path && files.length === 0 ? /* @__PURE__ */
|
|
12637
|
-
patchFiles.map((candidate) => /* @__PURE__ */
|
|
12712
|
+
return /* @__PURE__ */ jsxs37("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
|
|
12713
|
+
path && files.length === 0 ? /* @__PURE__ */ jsx49(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
|
|
12714
|
+
patchFiles.map((candidate) => /* @__PURE__ */ jsx49(
|
|
12638
12715
|
AgentUnifiedPatchViewer,
|
|
12639
12716
|
{
|
|
12640
12717
|
path: candidate.path,
|
|
@@ -12645,7 +12722,7 @@ function AgentWriteContent({
|
|
|
12645
12722
|
},
|
|
12646
12723
|
`patch:${candidate.path}`
|
|
12647
12724
|
)),
|
|
12648
|
-
contentFiles.map((candidate) => /* @__PURE__ */
|
|
12725
|
+
contentFiles.map((candidate) => /* @__PURE__ */ jsx49(
|
|
12649
12726
|
AgentCodeBlock,
|
|
12650
12727
|
{
|
|
12651
12728
|
path: candidate.path,
|
|
@@ -12656,7 +12733,7 @@ function AgentWriteContent({
|
|
|
12656
12733
|
},
|
|
12657
12734
|
`content:${candidate.path}`
|
|
12658
12735
|
)),
|
|
12659
|
-
fallbackContent ? /* @__PURE__ */
|
|
12736
|
+
fallbackContent ? /* @__PURE__ */ jsx49(
|
|
12660
12737
|
AgentCodeBlock,
|
|
12661
12738
|
{
|
|
12662
12739
|
path,
|
|
@@ -12670,7 +12747,7 @@ function AgentWriteContent({
|
|
|
12670
12747
|
}
|
|
12671
12748
|
|
|
12672
12749
|
// shared/agentConversation/components/tool-renderers/AgentExpandedToolContent.tsx
|
|
12673
|
-
import { jsx as
|
|
12750
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
12674
12751
|
function AgentExpandedToolContent({
|
|
12675
12752
|
call,
|
|
12676
12753
|
onLinkClick,
|
|
@@ -12681,65 +12758,65 @@ function AgentExpandedToolContent({
|
|
|
12681
12758
|
let content;
|
|
12682
12759
|
switch (call.rendererKind) {
|
|
12683
12760
|
case "approval":
|
|
12684
|
-
content = /* @__PURE__ */
|
|
12761
|
+
content = /* @__PURE__ */ jsx50(AgentApprovalContent, { ...props });
|
|
12685
12762
|
break;
|
|
12686
12763
|
case "plan-enter":
|
|
12687
12764
|
case "plan-exit":
|
|
12688
|
-
content = /* @__PURE__ */
|
|
12765
|
+
content = /* @__PURE__ */ jsx50(AgentPlanModeContent, { ...props });
|
|
12689
12766
|
break;
|
|
12690
12767
|
case "ask-user":
|
|
12691
|
-
content = /* @__PURE__ */
|
|
12768
|
+
content = /* @__PURE__ */ jsx50(AgentAskUserQuestionContent, { ...props });
|
|
12692
12769
|
break;
|
|
12693
12770
|
case "task":
|
|
12694
|
-
content = /* @__PURE__ */
|
|
12771
|
+
content = /* @__PURE__ */ jsx50(AgentTaskContent, { ...props });
|
|
12695
12772
|
break;
|
|
12696
12773
|
case "read":
|
|
12697
|
-
content = /* @__PURE__ */
|
|
12774
|
+
content = /* @__PURE__ */ jsx50(AgentReadContent, { ...props });
|
|
12698
12775
|
break;
|
|
12699
12776
|
case "write":
|
|
12700
|
-
content = /* @__PURE__ */
|
|
12777
|
+
content = /* @__PURE__ */ jsx50(AgentWriteContent, { ...props });
|
|
12701
12778
|
break;
|
|
12702
12779
|
case "edit":
|
|
12703
|
-
content = /* @__PURE__ */
|
|
12780
|
+
content = /* @__PURE__ */ jsx50(AgentEditContent, { ...props });
|
|
12704
12781
|
break;
|
|
12705
12782
|
case "bash":
|
|
12706
|
-
content = /* @__PURE__ */
|
|
12783
|
+
content = /* @__PURE__ */ jsx50(AgentBashContent, { ...props });
|
|
12707
12784
|
break;
|
|
12708
12785
|
case "search":
|
|
12709
|
-
content = /* @__PURE__ */
|
|
12786
|
+
content = /* @__PURE__ */ jsx50(AgentSearchContent, { ...props });
|
|
12710
12787
|
break;
|
|
12711
12788
|
case "web-search":
|
|
12712
|
-
content = /* @__PURE__ */
|
|
12789
|
+
content = /* @__PURE__ */ jsx50(AgentWebSearchContent, { ...props });
|
|
12713
12790
|
break;
|
|
12714
12791
|
case "web-fetch":
|
|
12715
|
-
content = /* @__PURE__ */
|
|
12792
|
+
content = /* @__PURE__ */ jsx50(AgentWebFetchContent, { ...props });
|
|
12716
12793
|
break;
|
|
12717
12794
|
case "image-generation":
|
|
12718
|
-
content = /* @__PURE__ */
|
|
12795
|
+
content = /* @__PURE__ */ jsx50(AgentImageGenerationContent, { ...props });
|
|
12719
12796
|
break;
|
|
12720
12797
|
case "todo-write":
|
|
12721
|
-
content = /* @__PURE__ */
|
|
12798
|
+
content = /* @__PURE__ */ jsx50(AgentTodoWriteContent, { ...props });
|
|
12722
12799
|
break;
|
|
12723
12800
|
case "tool-search":
|
|
12724
|
-
content = /* @__PURE__ */
|
|
12801
|
+
content = /* @__PURE__ */ jsx50(AgentToolSearchContent, { ...props });
|
|
12725
12802
|
break;
|
|
12726
12803
|
case "skill":
|
|
12727
|
-
content = /* @__PURE__ */
|
|
12804
|
+
content = /* @__PURE__ */ jsx50(AgentSkillContent, { ...props });
|
|
12728
12805
|
break;
|
|
12729
12806
|
case "mcp":
|
|
12730
|
-
content = /* @__PURE__ */
|
|
12807
|
+
content = /* @__PURE__ */ jsx50(AgentMcpToolContent, { ...props });
|
|
12731
12808
|
break;
|
|
12732
12809
|
default:
|
|
12733
|
-
content = /* @__PURE__ */
|
|
12810
|
+
content = /* @__PURE__ */ jsx50(AgentDefaultToolContent, { ...props });
|
|
12734
12811
|
}
|
|
12735
12812
|
if (!content) {
|
|
12736
12813
|
return null;
|
|
12737
12814
|
}
|
|
12738
|
-
return /* @__PURE__ */
|
|
12815
|
+
return /* @__PURE__ */ jsx50(AgentToolPreviewModeProvider, { previewMode, children: content });
|
|
12739
12816
|
}
|
|
12740
12817
|
|
|
12741
12818
|
// shared/agentConversation/components/AgentAskUserQuestionCard.tsx
|
|
12742
|
-
import { jsx as
|
|
12819
|
+
import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
12743
12820
|
function AgentAskUserQuestionCard({
|
|
12744
12821
|
call,
|
|
12745
12822
|
onLinkClick,
|
|
@@ -12751,20 +12828,20 @@ function AgentAskUserQuestionCard({
|
|
|
12751
12828
|
const waitingInput = (call.askUserQuestion?.status ?? call.status ?? "").trim().toLowerCase() === "waiting_input";
|
|
12752
12829
|
const hasDetail = hasAgentToolContent(call);
|
|
12753
12830
|
const pinned = nonCollapsible ?? waitingInput;
|
|
12754
|
-
const [expanded, setExpanded] =
|
|
12755
|
-
return /* @__PURE__ */
|
|
12756
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
12831
|
+
const [expanded, setExpanded] = useState14(defaultExpanded ?? waitingInput);
|
|
12832
|
+
return /* @__PURE__ */ jsxs38("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--ask-user", children: [
|
|
12833
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx51(
|
|
12757
12834
|
"button",
|
|
12758
12835
|
{
|
|
12759
12836
|
type: "button",
|
|
12760
12837
|
className: "workspace-agents-status-panel__detail-tool-row-head workspace-agents-status-panel__detail-tool-row-head--button",
|
|
12761
12838
|
"aria-expanded": expanded,
|
|
12762
12839
|
onClick: () => setExpanded((value) => !value),
|
|
12763
|
-
children: /* @__PURE__ */
|
|
12840
|
+
children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12764
12841
|
}
|
|
12765
|
-
) : /* @__PURE__ */
|
|
12766
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12767
|
-
hasDetail && pinned ? /* @__PURE__ */
|
|
12842
|
+
) : /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12843
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
12844
|
+
hasDetail && pinned ? /* @__PURE__ */ jsx51(
|
|
12768
12845
|
AgentExpandedToolContent,
|
|
12769
12846
|
{
|
|
12770
12847
|
call,
|
|
@@ -12772,7 +12849,7 @@ function AgentAskUserQuestionCard({
|
|
|
12772
12849
|
previewMode
|
|
12773
12850
|
}
|
|
12774
12851
|
) : null,
|
|
12775
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
12852
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx51(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx51(
|
|
12776
12853
|
AgentExpandedToolContent,
|
|
12777
12854
|
{
|
|
12778
12855
|
call,
|
|
@@ -12784,7 +12861,7 @@ function AgentAskUserQuestionCard({
|
|
|
12784
12861
|
}
|
|
12785
12862
|
|
|
12786
12863
|
// shared/agentConversation/components/AgentEnterPlanModeCard.tsx
|
|
12787
|
-
import { jsx as
|
|
12864
|
+
import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
12788
12865
|
function AgentEnterPlanModeCard({
|
|
12789
12866
|
call,
|
|
12790
12867
|
onLinkClick,
|
|
@@ -12792,10 +12869,10 @@ function AgentEnterPlanModeCard({
|
|
|
12792
12869
|
}) {
|
|
12793
12870
|
"use memo";
|
|
12794
12871
|
const hasDetail = hasAgentToolContent(call);
|
|
12795
|
-
return /* @__PURE__ */
|
|
12796
|
-
/* @__PURE__ */
|
|
12797
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12798
|
-
hasDetail ? /* @__PURE__ */
|
|
12872
|
+
return /* @__PURE__ */ jsxs39("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-enter", children: [
|
|
12873
|
+
/* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx52(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12874
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
12875
|
+
hasDetail ? /* @__PURE__ */ jsx52(
|
|
12799
12876
|
AgentExpandedToolContent,
|
|
12800
12877
|
{
|
|
12801
12878
|
call,
|
|
@@ -12807,7 +12884,7 @@ function AgentEnterPlanModeCard({
|
|
|
12807
12884
|
}
|
|
12808
12885
|
|
|
12809
12886
|
// shared/agentConversation/components/AgentExitPlanModeCard.tsx
|
|
12810
|
-
import { jsx as
|
|
12887
|
+
import { jsx as jsx53, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
12811
12888
|
function AgentExitPlanModeCard({
|
|
12812
12889
|
call,
|
|
12813
12890
|
onLinkClick,
|
|
@@ -12815,10 +12892,10 @@ function AgentExitPlanModeCard({
|
|
|
12815
12892
|
}) {
|
|
12816
12893
|
"use memo";
|
|
12817
12894
|
const hasDetail = hasAgentToolContent(call);
|
|
12818
|
-
return /* @__PURE__ */
|
|
12819
|
-
/* @__PURE__ */
|
|
12820
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12821
|
-
hasDetail ? /* @__PURE__ */
|
|
12895
|
+
return /* @__PURE__ */ jsxs40("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-exit", children: [
|
|
12896
|
+
/* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx53(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12897
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
12898
|
+
hasDetail ? /* @__PURE__ */ jsx53(
|
|
12822
12899
|
AgentExpandedToolContent,
|
|
12823
12900
|
{
|
|
12824
12901
|
call,
|
|
@@ -12830,8 +12907,8 @@ function AgentExitPlanModeCard({
|
|
|
12830
12907
|
}
|
|
12831
12908
|
|
|
12832
12909
|
// shared/agentConversation/components/AgentTaskCallCard.tsx
|
|
12833
|
-
import { useState as
|
|
12834
|
-
import { jsx as
|
|
12910
|
+
import { useState as useState15 } from "react";
|
|
12911
|
+
import { jsx as jsx54, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
12835
12912
|
function AgentTaskCallCard({
|
|
12836
12913
|
call,
|
|
12837
12914
|
onLinkClick,
|
|
@@ -12843,10 +12920,10 @@ function AgentTaskCallCard({
|
|
|
12843
12920
|
const running = (call.task?.status ?? call.status ?? "").trim().toLowerCase() === "running";
|
|
12844
12921
|
const hasDetail = hasAgentToolContent(call);
|
|
12845
12922
|
const pinned = nonCollapsible ?? running;
|
|
12846
|
-
const [expanded, setExpanded] =
|
|
12923
|
+
const [expanded, setExpanded] = useState15(defaultExpanded ?? running);
|
|
12847
12924
|
const ariaLabel = taskCallAriaLabel(call);
|
|
12848
|
-
return /* @__PURE__ */
|
|
12849
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
12925
|
+
return /* @__PURE__ */ jsxs41("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--task", children: [
|
|
12926
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx54(
|
|
12850
12927
|
"button",
|
|
12851
12928
|
{
|
|
12852
12929
|
type: "button",
|
|
@@ -12854,11 +12931,11 @@ function AgentTaskCallCard({
|
|
|
12854
12931
|
"aria-expanded": expanded,
|
|
12855
12932
|
"aria-label": ariaLabel,
|
|
12856
12933
|
onClick: () => setExpanded((value) => !value),
|
|
12857
|
-
children: /* @__PURE__ */
|
|
12934
|
+
children: /* @__PURE__ */ jsx54(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
12858
12935
|
}
|
|
12859
|
-
) : /* @__PURE__ */
|
|
12860
|
-
!hasDetail && call.summary ? /* @__PURE__ */
|
|
12861
|
-
hasDetail && pinned ? /* @__PURE__ */
|
|
12936
|
+
) : /* @__PURE__ */ jsx54("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx54(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
12937
|
+
!hasDetail && call.summary ? /* @__PURE__ */ jsx54("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
|
|
12938
|
+
hasDetail && pinned ? /* @__PURE__ */ jsx54(
|
|
12862
12939
|
AgentExpandedToolContent,
|
|
12863
12940
|
{
|
|
12864
12941
|
call,
|
|
@@ -12866,7 +12943,7 @@ function AgentTaskCallCard({
|
|
|
12866
12943
|
previewMode
|
|
12867
12944
|
}
|
|
12868
12945
|
) : null,
|
|
12869
|
-
hasDetail && !pinned ? /* @__PURE__ */
|
|
12946
|
+
hasDetail && !pinned ? /* @__PURE__ */ jsx54(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx54(
|
|
12870
12947
|
AgentExpandedToolContent,
|
|
12871
12948
|
{
|
|
12872
12949
|
call,
|
|
@@ -12885,21 +12962,21 @@ function taskCallAriaLabel(call) {
|
|
|
12885
12962
|
}
|
|
12886
12963
|
|
|
12887
12964
|
// shared/agentConversation/components/AgentSubAgentCards.tsx
|
|
12888
|
-
import { memo, useEffect as useEffect11, useState as
|
|
12965
|
+
import { memo, useEffect as useEffect11, useState as useState16 } from "react";
|
|
12889
12966
|
import { AlertCircle as AlertCircle2, ChevronDown as ChevronDown6, ChevronRight as ChevronRight6 } from "lucide-react";
|
|
12890
12967
|
|
|
12891
12968
|
// app/renderer/components/icons/AgentLinedIcon.tsx
|
|
12892
|
-
import { jsx as
|
|
12969
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
12893
12970
|
function AgentLinedIcon(props) {
|
|
12894
12971
|
"use memo";
|
|
12895
|
-
return /* @__PURE__ */
|
|
12972
|
+
return /* @__PURE__ */ jsx55(
|
|
12896
12973
|
"svg",
|
|
12897
12974
|
{
|
|
12898
12975
|
viewBox: "0 0 24 24",
|
|
12899
12976
|
fill: "none",
|
|
12900
12977
|
xmlns: "http://www.w3.org/2000/svg",
|
|
12901
12978
|
...props,
|
|
12902
|
-
children: /* @__PURE__ */
|
|
12979
|
+
children: /* @__PURE__ */ jsx55(
|
|
12903
12980
|
"path",
|
|
12904
12981
|
{
|
|
12905
12982
|
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",
|
|
@@ -12911,7 +12988,7 @@ function AgentLinedIcon(props) {
|
|
|
12911
12988
|
}
|
|
12912
12989
|
|
|
12913
12990
|
// shared/agentConversation/components/AgentSubAgentCards.tsx
|
|
12914
|
-
import { Fragment as Fragment5, jsx as
|
|
12991
|
+
import { Fragment as Fragment5, jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
12915
12992
|
function AgentSubAgentCards({
|
|
12916
12993
|
call,
|
|
12917
12994
|
onLinkClick
|
|
@@ -12921,7 +12998,7 @@ function AgentSubAgentCards({
|
|
|
12921
12998
|
if (subAgents.length === 0) {
|
|
12922
12999
|
return null;
|
|
12923
13000
|
}
|
|
12924
|
-
return /* @__PURE__ */
|
|
13001
|
+
return /* @__PURE__ */ jsx56(Fragment5, { children: subAgents.map((subAgent) => /* @__PURE__ */ jsx56(
|
|
12925
13002
|
AgentSubAgentCard,
|
|
12926
13003
|
{
|
|
12927
13004
|
subAgent,
|
|
@@ -12942,14 +13019,14 @@ function AgentSubAgentCardImpl({
|
|
|
12942
13019
|
onLinkClick
|
|
12943
13020
|
}) {
|
|
12944
13021
|
"use memo";
|
|
12945
|
-
const [expanded, setExpanded] =
|
|
12946
|
-
return /* @__PURE__ */
|
|
13022
|
+
const [expanded, setExpanded] = useState16(subAgent.status === "running");
|
|
13023
|
+
return /* @__PURE__ */ jsxs42(
|
|
12947
13024
|
"div",
|
|
12948
13025
|
{
|
|
12949
13026
|
className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--subagent",
|
|
12950
13027
|
"data-status": subAgent.status,
|
|
12951
13028
|
children: [
|
|
12952
|
-
/* @__PURE__ */
|
|
13029
|
+
/* @__PURE__ */ jsx56(
|
|
12953
13030
|
"button",
|
|
12954
13031
|
{
|
|
12955
13032
|
type: "button",
|
|
@@ -12957,10 +13034,10 @@ function AgentSubAgentCardImpl({
|
|
|
12957
13034
|
"aria-expanded": expanded,
|
|
12958
13035
|
"aria-label": subAgentAriaLabel(subAgent),
|
|
12959
13036
|
onClick: () => setExpanded((value) => !value),
|
|
12960
|
-
children: /* @__PURE__ */
|
|
13037
|
+
children: /* @__PURE__ */ jsx56(SubAgentHeader, { subAgent, expanded })
|
|
12961
13038
|
}
|
|
12962
13039
|
),
|
|
12963
|
-
/* @__PURE__ */
|
|
13040
|
+
/* @__PURE__ */ jsx56(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx56("div", { className: "workspace-agents-status-panel__detail-subagent-reveal", children: /* @__PURE__ */ jsx56(SubAgentBody, { subAgent, onLinkClick }) }) })
|
|
12964
13041
|
]
|
|
12965
13042
|
}
|
|
12966
13043
|
);
|
|
@@ -12975,7 +13052,7 @@ function SubAgentHeader({
|
|
|
12975
13052
|
const runningNowUnixMs = useRunningSubAgentNowUnixMs(subAgent);
|
|
12976
13053
|
const elapsedText = subAgentElapsedText(subAgent, runningNowUnixMs);
|
|
12977
13054
|
const nameText = subAgentNameText(subAgent);
|
|
12978
|
-
return /* @__PURE__ */
|
|
13055
|
+
return /* @__PURE__ */ jsxs42(
|
|
12979
13056
|
"div",
|
|
12980
13057
|
{
|
|
12981
13058
|
"data-active": running ? "true" : void 0,
|
|
@@ -12984,16 +13061,16 @@ function SubAgentHeader({
|
|
|
12984
13061
|
running ? "tsh-inline-scanlight-group" : ""
|
|
12985
13062
|
].filter(Boolean).join(" "),
|
|
12986
13063
|
children: [
|
|
12987
|
-
/* @__PURE__ */
|
|
12988
|
-
/* @__PURE__ */
|
|
12989
|
-
/* @__PURE__ */
|
|
12990
|
-
nameText ? /* @__PURE__ */
|
|
12991
|
-
/* @__PURE__ */
|
|
13064
|
+
/* @__PURE__ */ jsx56("div", { className: "workspace-agents-status-panel__detail-tool-row-icon tsh-inline-scanlight-icon", children: subAgent.status === "failed" ? /* @__PURE__ */ jsx56(AlertCircle2, { size: 16, strokeWidth: 2, "aria-hidden": "true" }) : /* @__PURE__ */ jsx56(AgentLinedIcon, { width: 16, height: 16, "aria-hidden": "true" }) }),
|
|
13065
|
+
/* @__PURE__ */ jsxs42("div", { className: "workspace-agents-status-panel__detail-tool-row-text", children: [
|
|
13066
|
+
/* @__PURE__ */ jsx56("strong", { className: "workspace-agents-status-panel__detail-tool-row-title", children: translate("agentHost.agentTool.details.subAgentFallbackName") }),
|
|
13067
|
+
nameText ? /* @__PURE__ */ jsx56("span", { className: "workspace-agents-status-panel__detail-subagent-name", children: nameText }) : null,
|
|
13068
|
+
/* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-status", children: [
|
|
12992
13069
|
elapsedText ? `${elapsedText} \xB7 ` : "",
|
|
12993
13070
|
statusLabel
|
|
12994
13071
|
] })
|
|
12995
13072
|
] }),
|
|
12996
|
-
expanded ? /* @__PURE__ */
|
|
13073
|
+
expanded ? /* @__PURE__ */ jsx56(
|
|
12997
13074
|
ChevronDown6,
|
|
12998
13075
|
{
|
|
12999
13076
|
size: 12,
|
|
@@ -13001,7 +13078,7 @@ function SubAgentHeader({
|
|
|
13001
13078
|
"aria-hidden": "true",
|
|
13002
13079
|
className: "workspace-agents-status-panel__detail-tool-row-chevron"
|
|
13003
13080
|
}
|
|
13004
|
-
) : /* @__PURE__ */
|
|
13081
|
+
) : /* @__PURE__ */ jsx56(
|
|
13005
13082
|
ChevronRight6,
|
|
13006
13083
|
{
|
|
13007
13084
|
size: 12,
|
|
@@ -13018,9 +13095,9 @@ function SubAgentBody({
|
|
|
13018
13095
|
subAgent
|
|
13019
13096
|
}) {
|
|
13020
13097
|
"use memo";
|
|
13021
|
-
return /* @__PURE__ */
|
|
13022
|
-
subAgent.task ? /* @__PURE__ */
|
|
13023
|
-
/* @__PURE__ */
|
|
13098
|
+
return /* @__PURE__ */ jsx56("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: [
|
|
13099
|
+
subAgent.task ? /* @__PURE__ */ jsx56("div", { className: "workspace-agents-status-panel__detail-subagent-task-strip", children: subAgent.task }) : null,
|
|
13100
|
+
/* @__PURE__ */ jsx56(SubAgentProgress, { subAgent })
|
|
13024
13101
|
] }) });
|
|
13025
13102
|
}
|
|
13026
13103
|
function SubAgentProgress({
|
|
@@ -13030,7 +13107,7 @@ function SubAgentProgress({
|
|
|
13030
13107
|
const text = subAgent.failureDetail ?? subAgent.latestActivity ?? translate(
|
|
13031
13108
|
subAgent.queued ? "agentHost.agentTool.details.subAgentQueued" : "agentHost.agentTool.details.subAgentStarting"
|
|
13032
13109
|
);
|
|
13033
|
-
return /* @__PURE__ */
|
|
13110
|
+
return /* @__PURE__ */ jsx56(
|
|
13034
13111
|
"div",
|
|
13035
13112
|
{
|
|
13036
13113
|
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" : ""}`,
|
|
@@ -13069,7 +13146,7 @@ function isSubAgentActivelyRunning(subAgent) {
|
|
|
13069
13146
|
}
|
|
13070
13147
|
function useRunningSubAgentNowUnixMs(subAgent) {
|
|
13071
13148
|
const shouldTick = isSubAgentActivelyRunning(subAgent) && typeof subAgent.startedAtUnixMs === "number";
|
|
13072
|
-
const [nowUnixMs, setNowUnixMs] =
|
|
13149
|
+
const [nowUnixMs, setNowUnixMs] = useState16(
|
|
13073
13150
|
() => shouldTick ? Date.now() : null
|
|
13074
13151
|
);
|
|
13075
13152
|
useEffect11(() => {
|
|
@@ -13099,8 +13176,8 @@ function subAgentElapsedText(subAgent, runningNowUnixMs) {
|
|
|
13099
13176
|
}
|
|
13100
13177
|
|
|
13101
13178
|
// shared/agentConversation/components/AgentToolCallCard.tsx
|
|
13102
|
-
import { useState as
|
|
13103
|
-
import { jsx as
|
|
13179
|
+
import { useState as useState17 } from "react";
|
|
13180
|
+
import { jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
13104
13181
|
function AgentToolCallCard({
|
|
13105
13182
|
call,
|
|
13106
13183
|
onLinkClick,
|
|
@@ -13110,11 +13187,11 @@ function AgentToolCallCard({
|
|
|
13110
13187
|
variantClassName
|
|
13111
13188
|
}) {
|
|
13112
13189
|
"use memo";
|
|
13113
|
-
const [expanded, setExpanded] =
|
|
13190
|
+
const [expanded, setExpanded] = useState17(defaultExpanded);
|
|
13114
13191
|
const hasDetail = hasAgentToolContent(call);
|
|
13115
13192
|
const canCollapse = hasDetail && !nonCollapsible;
|
|
13116
13193
|
const ariaLabel = toolCallAriaLabel(call);
|
|
13117
|
-
return /* @__PURE__ */
|
|
13194
|
+
return /* @__PURE__ */ jsxs43(
|
|
13118
13195
|
"div",
|
|
13119
13196
|
{
|
|
13120
13197
|
className: [
|
|
@@ -13122,7 +13199,7 @@ function AgentToolCallCard({
|
|
|
13122
13199
|
variantClassName ?? ""
|
|
13123
13200
|
].filter(Boolean).join(" "),
|
|
13124
13201
|
children: [
|
|
13125
|
-
canCollapse ? /* @__PURE__ */
|
|
13202
|
+
canCollapse ? /* @__PURE__ */ jsx57(
|
|
13126
13203
|
"button",
|
|
13127
13204
|
{
|
|
13128
13205
|
type: "button",
|
|
@@ -13130,10 +13207,10 @@ function AgentToolCallCard({
|
|
|
13130
13207
|
"aria-expanded": expanded,
|
|
13131
13208
|
"aria-label": ariaLabel,
|
|
13132
13209
|
onClick: () => setExpanded((value) => !value),
|
|
13133
|
-
children: /* @__PURE__ */
|
|
13210
|
+
children: /* @__PURE__ */ jsx57(AgentToolCallHeader, { call, expanded, hasDetail: true })
|
|
13134
13211
|
}
|
|
13135
|
-
) : /* @__PURE__ */
|
|
13136
|
-
hasDetail && nonCollapsible ? /* @__PURE__ */
|
|
13212
|
+
) : /* @__PURE__ */ jsx57("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx57(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
|
|
13213
|
+
hasDetail && nonCollapsible ? /* @__PURE__ */ jsx57(
|
|
13137
13214
|
AgentExpandedToolContent,
|
|
13138
13215
|
{
|
|
13139
13216
|
call,
|
|
@@ -13141,7 +13218,7 @@ function AgentToolCallCard({
|
|
|
13141
13218
|
previewMode
|
|
13142
13219
|
}
|
|
13143
13220
|
) : null,
|
|
13144
|
-
hasDetail && !nonCollapsible ? /* @__PURE__ */
|
|
13221
|
+
hasDetail && !nonCollapsible ? /* @__PURE__ */ jsx57(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx57(
|
|
13145
13222
|
AgentExpandedToolContent,
|
|
13146
13223
|
{
|
|
13147
13224
|
call,
|
|
@@ -13162,7 +13239,7 @@ function toolCallAriaLabel(call) {
|
|
|
13162
13239
|
}
|
|
13163
13240
|
|
|
13164
13241
|
// shared/agentConversation/components/AgentToolGroupRow.tsx
|
|
13165
|
-
import { Fragment as Fragment6, jsx as
|
|
13242
|
+
import { Fragment as Fragment6, jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
13166
13243
|
var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
13167
13244
|
row,
|
|
13168
13245
|
label,
|
|
@@ -13176,7 +13253,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13176
13253
|
rawTimelineJsonLabel = ""
|
|
13177
13254
|
}) {
|
|
13178
13255
|
"use memo";
|
|
13179
|
-
const [localExpanded, setLocalExpanded] =
|
|
13256
|
+
const [localExpanded, setLocalExpanded] = useState18(false);
|
|
13180
13257
|
const hasDetail = hasGroupDetail(row);
|
|
13181
13258
|
const isExpanded = hasDetail && (expanded ?? localExpanded);
|
|
13182
13259
|
const setNextExpanded = (nextExpanded) => {
|
|
@@ -13198,13 +13275,13 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13198
13275
|
rawTimelineJsonLabel
|
|
13199
13276
|
);
|
|
13200
13277
|
}
|
|
13201
|
-
return /* @__PURE__ */
|
|
13278
|
+
return /* @__PURE__ */ jsxs44(
|
|
13202
13279
|
"div",
|
|
13203
13280
|
{
|
|
13204
13281
|
className: "workspace-agents-status-panel__detail-tool-section",
|
|
13205
13282
|
"data-tool-group-expanded": isExpanded ? "true" : void 0,
|
|
13206
13283
|
children: [
|
|
13207
|
-
hasDetail ? /* @__PURE__ */
|
|
13284
|
+
hasDetail ? /* @__PURE__ */ jsxs44(
|
|
13208
13285
|
"button",
|
|
13209
13286
|
{
|
|
13210
13287
|
type: "button",
|
|
@@ -13213,8 +13290,8 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13213
13290
|
"aria-label": groupLabel,
|
|
13214
13291
|
onClick: () => setNextExpanded(!isExpanded),
|
|
13215
13292
|
children: [
|
|
13216
|
-
/* @__PURE__ */
|
|
13217
|
-
isExpanded ? /* @__PURE__ */
|
|
13293
|
+
/* @__PURE__ */ jsx58(ToolGroupLabel, { label: groupLabel }),
|
|
13294
|
+
isExpanded ? /* @__PURE__ */ jsx58(
|
|
13218
13295
|
ChevronDown7,
|
|
13219
13296
|
{
|
|
13220
13297
|
size: 12,
|
|
@@ -13222,7 +13299,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13222
13299
|
"aria-hidden": "true",
|
|
13223
13300
|
className: "workspace-agents-status-panel__detail-tool-count-chevron"
|
|
13224
13301
|
}
|
|
13225
|
-
) : /* @__PURE__ */
|
|
13302
|
+
) : /* @__PURE__ */ jsx58(
|
|
13226
13303
|
ChevronRight7,
|
|
13227
13304
|
{
|
|
13228
13305
|
size: 12,
|
|
@@ -13233,13 +13310,13 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13233
13310
|
)
|
|
13234
13311
|
]
|
|
13235
13312
|
}
|
|
13236
|
-
) : /* @__PURE__ */
|
|
13237
|
-
hasDetail ? /* @__PURE__ */
|
|
13238
|
-
(entry) => entry.kind === "thinking" ? /* @__PURE__ */
|
|
13313
|
+
) : /* @__PURE__ */ jsx58("div", { className: "workspace-agents-status-panel__detail-tool-count", children: /* @__PURE__ */ jsx58(ToolGroupLabel, { label: groupLabel }) }),
|
|
13314
|
+
hasDetail ? /* @__PURE__ */ jsx58(CollapsibleReveal, { expanded: isExpanded, children: /* @__PURE__ */ jsx58("div", { className: "workspace-agents-status-panel__detail-tool-list", children: row.entries.map(
|
|
13315
|
+
(entry) => entry.kind === "thinking" ? /* @__PURE__ */ jsx58(
|
|
13239
13316
|
"div",
|
|
13240
13317
|
{
|
|
13241
13318
|
className: "workspace-agents-status-panel__detail-tool-list-item workspace-agents-status-panel__detail-tool-row",
|
|
13242
|
-
children: /* @__PURE__ */
|
|
13319
|
+
children: /* @__PURE__ */ jsx58(
|
|
13243
13320
|
AgentThinkingDisclosure,
|
|
13244
13321
|
{
|
|
13245
13322
|
thinking: entry.thinking,
|
|
@@ -13252,7 +13329,7 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13252
13329
|
)
|
|
13253
13330
|
},
|
|
13254
13331
|
entry.thinking.id
|
|
13255
|
-
) : /* @__PURE__ */
|
|
13332
|
+
) : /* @__PURE__ */ jsx58(
|
|
13256
13333
|
"div",
|
|
13257
13334
|
{
|
|
13258
13335
|
className: "workspace-agents-status-panel__detail-tool-list-item",
|
|
@@ -13273,8 +13350,8 @@ var AgentToolGroupRow = memo2(function AgentToolGroupRow2({
|
|
|
13273
13350
|
});
|
|
13274
13351
|
function ToolGroupLabel({ label }) {
|
|
13275
13352
|
"use memo";
|
|
13276
|
-
return /* @__PURE__ */
|
|
13277
|
-
/* @__PURE__ */
|
|
13353
|
+
return /* @__PURE__ */ jsxs44(Fragment6, { children: [
|
|
13354
|
+
/* @__PURE__ */ jsx58(
|
|
13278
13355
|
ToolActivityKindIcon,
|
|
13279
13356
|
{
|
|
13280
13357
|
kind: "update_todos",
|
|
@@ -13283,7 +13360,7 @@ function ToolGroupLabel({ label }) {
|
|
|
13283
13360
|
className: "workspace-agents-status-panel__detail-tool-count-icon"
|
|
13284
13361
|
}
|
|
13285
13362
|
),
|
|
13286
|
-
/* @__PURE__ */
|
|
13363
|
+
/* @__PURE__ */ jsx58("span", { className: "workspace-agents-status-panel__detail-tool-count-label", children: renderToolCountLabel(label) })
|
|
13287
13364
|
] });
|
|
13288
13365
|
}
|
|
13289
13366
|
function hasGroupDetail(row) {
|
|
@@ -13296,11 +13373,11 @@ function renderToolCountLabel(label) {
|
|
|
13296
13373
|
const primary = statusMatch?.[1];
|
|
13297
13374
|
const status = statusMatch?.[2];
|
|
13298
13375
|
if (!primary || !status) {
|
|
13299
|
-
return /* @__PURE__ */
|
|
13376
|
+
return /* @__PURE__ */ jsx58("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: label });
|
|
13300
13377
|
}
|
|
13301
|
-
return /* @__PURE__ */
|
|
13302
|
-
/* @__PURE__ */
|
|
13303
|
-
/* @__PURE__ */
|
|
13378
|
+
return /* @__PURE__ */ jsxs44(Fragment6, { children: [
|
|
13379
|
+
/* @__PURE__ */ jsx58("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: primary }),
|
|
13380
|
+
/* @__PURE__ */ jsx58("span", { className: "workspace-agents-status-panel__detail-tool-count-status", children: formatInlineStatusLabel3(status) })
|
|
13304
13381
|
] });
|
|
13305
13382
|
}
|
|
13306
13383
|
function formatInlineStatusLabel3(label) {
|
|
@@ -13309,28 +13386,28 @@ function formatInlineStatusLabel3(label) {
|
|
|
13309
13386
|
function renderToolCard(call, onLinkClick, previewMode = false, showRawTimelineJson = false, rawTimelineJsonLabel = "") {
|
|
13310
13387
|
const props = { call, onLinkClick, previewMode };
|
|
13311
13388
|
if (call.task?.subAgents?.length) {
|
|
13312
|
-
return /* @__PURE__ */
|
|
13389
|
+
return /* @__PURE__ */ jsx58(AgentSubAgentCards, { call, onLinkClick });
|
|
13313
13390
|
}
|
|
13314
13391
|
let card;
|
|
13315
13392
|
switch (call.rendererKind) {
|
|
13316
13393
|
case "plan-enter":
|
|
13317
|
-
card = /* @__PURE__ */
|
|
13394
|
+
card = /* @__PURE__ */ jsx58(AgentEnterPlanModeCard, { ...props });
|
|
13318
13395
|
break;
|
|
13319
13396
|
case "plan-exit":
|
|
13320
|
-
card = /* @__PURE__ */
|
|
13397
|
+
card = /* @__PURE__ */ jsx58(AgentExitPlanModeCard, { ...props });
|
|
13321
13398
|
break;
|
|
13322
13399
|
case "ask-user":
|
|
13323
|
-
card = /* @__PURE__ */
|
|
13400
|
+
card = /* @__PURE__ */ jsx58(AgentAskUserQuestionCard, { ...props });
|
|
13324
13401
|
break;
|
|
13325
13402
|
case "task":
|
|
13326
|
-
card = /* @__PURE__ */
|
|
13403
|
+
card = /* @__PURE__ */ jsx58(AgentTaskCallCard, { ...props });
|
|
13327
13404
|
break;
|
|
13328
13405
|
default:
|
|
13329
|
-
card = /* @__PURE__ */
|
|
13406
|
+
card = /* @__PURE__ */ jsx58(AgentToolCallCard, { ...props });
|
|
13330
13407
|
}
|
|
13331
|
-
return /* @__PURE__ */
|
|
13408
|
+
return /* @__PURE__ */ jsxs44(Fragment6, { children: [
|
|
13332
13409
|
card,
|
|
13333
|
-
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */
|
|
13410
|
+
showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx58(
|
|
13334
13411
|
RawTimelineJsonDisclosure,
|
|
13335
13412
|
{
|
|
13336
13413
|
items: call.sourceTimelineItems,
|
|
@@ -13341,7 +13418,7 @@ function renderToolCard(call, onLinkClick, previewMode = false, showRawTimelineJ
|
|
|
13341
13418
|
}
|
|
13342
13419
|
|
|
13343
13420
|
// shared/agentConversation/components/AgentTurnSummaryRow.tsx
|
|
13344
|
-
import { useEffect as useEffect12, useMemo as useMemo5, useState as
|
|
13421
|
+
import { useEffect as useEffect12, useMemo as useMemo5, useState as useState19 } from "react";
|
|
13345
13422
|
import {
|
|
13346
13423
|
ChevronDown as ChevronDown8,
|
|
13347
13424
|
ChevronRight as ChevronRight8,
|
|
@@ -13358,10 +13435,10 @@ import {
|
|
|
13358
13435
|
} from "@tutti-os/ui-system";
|
|
13359
13436
|
|
|
13360
13437
|
// app/renderer/components/icons/DirectLinedIcon.tsx
|
|
13361
|
-
import { jsx as
|
|
13438
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
13362
13439
|
function DirectLinedIcon(props) {
|
|
13363
13440
|
"use memo";
|
|
13364
|
-
return /* @__PURE__ */
|
|
13441
|
+
return /* @__PURE__ */ jsx59(
|
|
13365
13442
|
"svg",
|
|
13366
13443
|
{
|
|
13367
13444
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -13371,7 +13448,7 @@ function DirectLinedIcon(props) {
|
|
|
13371
13448
|
"data-nexight-chrome-glyph": "fill",
|
|
13372
13449
|
"data-tutti-chrome-glyph": "fill",
|
|
13373
13450
|
...props,
|
|
13374
|
-
children: /* @__PURE__ */
|
|
13451
|
+
children: /* @__PURE__ */ jsx59(
|
|
13375
13452
|
"path",
|
|
13376
13453
|
{
|
|
13377
13454
|
fill: "currentColor",
|
|
@@ -13572,20 +13649,21 @@ function isInsideOrEqualPatchPath(path, root) {
|
|
|
13572
13649
|
}
|
|
13573
13650
|
|
|
13574
13651
|
// shared/agentConversation/components/AgentTurnSummaryRow.tsx
|
|
13575
|
-
import { jsx as
|
|
13652
|
+
import { jsx as jsx60, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
13576
13653
|
function AgentTurnSummaryRow({
|
|
13577
13654
|
row,
|
|
13578
13655
|
workspaceRoot,
|
|
13656
|
+
basePath,
|
|
13579
13657
|
onLinkAction
|
|
13580
13658
|
}) {
|
|
13581
13659
|
"use memo";
|
|
13582
|
-
const [expandedFiles, setExpandedFiles] =
|
|
13660
|
+
const [expandedFiles, setExpandedFiles] = useState19(
|
|
13583
13661
|
{}
|
|
13584
13662
|
);
|
|
13585
|
-
const [showAllFiles, setShowAllFiles] =
|
|
13586
|
-
const [patchAction, setPatchAction] =
|
|
13587
|
-
const [patchPending, setPatchPending] =
|
|
13588
|
-
const [patchSupportState, setPatchSupportState] =
|
|
13663
|
+
const [showAllFiles, setShowAllFiles] = useState19(false);
|
|
13664
|
+
const [patchAction, setPatchAction] = useState19("undo");
|
|
13665
|
+
const [patchPending, setPatchPending] = useState19(false);
|
|
13666
|
+
const [patchSupportState, setPatchSupportState] = useState19(null);
|
|
13589
13667
|
const agentHostApi = useOptionalAgentHostApi();
|
|
13590
13668
|
const aggregateStats = useMemo5(
|
|
13591
13669
|
() => summarizeRowDiff(row.files),
|
|
@@ -13714,29 +13792,29 @@ function AgentTurnSummaryRow({
|
|
|
13714
13792
|
}
|
|
13715
13793
|
}
|
|
13716
13794
|
};
|
|
13717
|
-
return /* @__PURE__ */
|
|
13718
|
-
/* @__PURE__ */
|
|
13719
|
-
/* @__PURE__ */
|
|
13720
|
-
/* @__PURE__ */
|
|
13795
|
+
return /* @__PURE__ */ jsx60("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: [
|
|
13796
|
+
/* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-3 px-4 py-3", children: [
|
|
13797
|
+
/* @__PURE__ */ jsx60("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs45("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
13798
|
+
/* @__PURE__ */ jsx60("div", { className: "min-w-0 text-[15px] font-semibold leading-5 tracking-[0] text-[var(--text-primary)]", children: translate("agentHost.agentGui.turnSummaryFilesChanged", {
|
|
13721
13799
|
count: row.fileCount
|
|
13722
13800
|
}) }),
|
|
13723
|
-
/* @__PURE__ */
|
|
13724
|
-
aggregateStats.added > 0 ? /* @__PURE__ */
|
|
13801
|
+
/* @__PURE__ */ jsxs45("div", { className: "inline-flex shrink-0 items-center gap-2.5 text-[11px] font-semibold", children: [
|
|
13802
|
+
aggregateStats.added > 0 ? /* @__PURE__ */ jsxs45("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
|
|
13725
13803
|
"+",
|
|
13726
13804
|
aggregateStats.added
|
|
13727
13805
|
] }) : null,
|
|
13728
|
-
aggregateStats.removed > 0 ? /* @__PURE__ */
|
|
13806
|
+
aggregateStats.removed > 0 ? /* @__PURE__ */ jsxs45("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
|
|
13729
13807
|
"-",
|
|
13730
13808
|
aggregateStats.removed
|
|
13731
13809
|
] }) : null
|
|
13732
13810
|
] })
|
|
13733
13811
|
] }) }),
|
|
13734
|
-
canRenderPatchButton ? /* @__PURE__ */
|
|
13735
|
-
/* @__PURE__ */
|
|
13812
|
+
canRenderPatchButton ? /* @__PURE__ */ jsx60(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs45(Tooltip, { children: [
|
|
13813
|
+
/* @__PURE__ */ jsx60(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx60(
|
|
13736
13814
|
"span",
|
|
13737
13815
|
{
|
|
13738
13816
|
className: `inline-flex shrink-0 ${isPatchActionDisabled ? "cursor-not-allowed" : ""}`,
|
|
13739
|
-
children: /* @__PURE__ */
|
|
13817
|
+
children: /* @__PURE__ */ jsxs45(
|
|
13740
13818
|
CanvasNodeGhostIconButton,
|
|
13741
13819
|
{
|
|
13742
13820
|
"aria-label": patchActionLabel,
|
|
@@ -13744,7 +13822,7 @@ function AgentTurnSummaryRow({
|
|
|
13744
13822
|
disabled: isPatchActionDisabled,
|
|
13745
13823
|
onClick: handlePatchAction,
|
|
13746
13824
|
children: [
|
|
13747
|
-
patchPending || isPatchSupportChecking ? /* @__PURE__ */
|
|
13825
|
+
patchPending || isPatchSupportChecking ? /* @__PURE__ */ jsx60(
|
|
13748
13826
|
LoaderCircle2,
|
|
13749
13827
|
{
|
|
13750
13828
|
width: 14,
|
|
@@ -13752,7 +13830,7 @@ function AgentTurnSummaryRow({
|
|
|
13752
13830
|
"aria-hidden": "true",
|
|
13753
13831
|
className: "animate-spin text-[var(--text-secondary)]"
|
|
13754
13832
|
}
|
|
13755
|
-
) : patchAction === "undo" ? /* @__PURE__ */
|
|
13833
|
+
) : patchAction === "undo" ? /* @__PURE__ */ jsx60(
|
|
13756
13834
|
Undo2,
|
|
13757
13835
|
{
|
|
13758
13836
|
width: 14,
|
|
@@ -13760,7 +13838,7 @@ function AgentTurnSummaryRow({
|
|
|
13760
13838
|
"aria-hidden": "true",
|
|
13761
13839
|
className: "text-[var(--text-secondary)]"
|
|
13762
13840
|
}
|
|
13763
|
-
) : /* @__PURE__ */
|
|
13841
|
+
) : /* @__PURE__ */ jsx60(
|
|
13764
13842
|
Redo2,
|
|
13765
13843
|
{
|
|
13766
13844
|
width: 14,
|
|
@@ -13769,23 +13847,24 @@ function AgentTurnSummaryRow({
|
|
|
13769
13847
|
className: "text-[var(--text-secondary)]"
|
|
13770
13848
|
}
|
|
13771
13849
|
),
|
|
13772
|
-
/* @__PURE__ */
|
|
13850
|
+
/* @__PURE__ */ jsx60("span", { children: patchActionLabel })
|
|
13773
13851
|
]
|
|
13774
13852
|
}
|
|
13775
13853
|
)
|
|
13776
13854
|
}
|
|
13777
13855
|
) }),
|
|
13778
|
-
patchDisabledReason ? /* @__PURE__ */
|
|
13856
|
+
patchDisabledReason ? /* @__PURE__ */ jsx60(TooltipContent, { className: "max-w-[260px] whitespace-normal text-left", children: patchDisabledReason }) : null
|
|
13779
13857
|
] }) }) : null
|
|
13780
13858
|
] }),
|
|
13781
|
-
/* @__PURE__ */
|
|
13859
|
+
/* @__PURE__ */ jsxs45("div", { className: "agent-turn-summary-card__list", children: [
|
|
13782
13860
|
visibleFiles.map((file) => {
|
|
13783
13861
|
const key = `${file.path}:${file.messageId}`;
|
|
13784
|
-
return /* @__PURE__ */
|
|
13862
|
+
return /* @__PURE__ */ jsx60(
|
|
13785
13863
|
TurnSummaryFileCard,
|
|
13786
13864
|
{
|
|
13787
13865
|
file,
|
|
13788
13866
|
workspaceRoot,
|
|
13867
|
+
basePath,
|
|
13789
13868
|
expanded: Boolean(expandedFiles[key]),
|
|
13790
13869
|
onLinkAction,
|
|
13791
13870
|
onToggle: () => setExpandedFiles((current) => ({
|
|
@@ -13796,13 +13875,14 @@ function AgentTurnSummaryRow({
|
|
|
13796
13875
|
key
|
|
13797
13876
|
);
|
|
13798
13877
|
}),
|
|
13799
|
-
hiddenFileCount > 0 ? /* @__PURE__ */
|
|
13878
|
+
hiddenFileCount > 0 ? /* @__PURE__ */ jsx60(CollapsibleReveal, { expanded: showAllFiles, preMountOnIdle: true, children: /* @__PURE__ */ jsx60("div", { className: "agent-turn-summary-card__overflow-list", children: hiddenFiles.map((file) => {
|
|
13800
13879
|
const key = `${file.path}:${file.messageId}`;
|
|
13801
|
-
return /* @__PURE__ */
|
|
13880
|
+
return /* @__PURE__ */ jsx60(
|
|
13802
13881
|
TurnSummaryFileCard,
|
|
13803
13882
|
{
|
|
13804
13883
|
file,
|
|
13805
13884
|
workspaceRoot,
|
|
13885
|
+
basePath,
|
|
13806
13886
|
expanded: Boolean(expandedFiles[key]),
|
|
13807
13887
|
onLinkAction,
|
|
13808
13888
|
onToggle: () => setExpandedFiles((current) => ({
|
|
@@ -13813,28 +13893,28 @@ function AgentTurnSummaryRow({
|
|
|
13813
13893
|
key
|
|
13814
13894
|
);
|
|
13815
13895
|
}) }) }) : null,
|
|
13816
|
-
hiddenFileCount > 0 && !showAllFiles ? /* @__PURE__ */
|
|
13896
|
+
hiddenFileCount > 0 && !showAllFiles ? /* @__PURE__ */ jsxs45(
|
|
13817
13897
|
"button",
|
|
13818
13898
|
{
|
|
13819
13899
|
type: "button",
|
|
13820
13900
|
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",
|
|
13821
13901
|
onClick: () => setShowAllFiles(true),
|
|
13822
13902
|
children: [
|
|
13823
|
-
/* @__PURE__ */
|
|
13903
|
+
/* @__PURE__ */ jsx60("span", { children: translate("agentHost.agentGui.turnSummaryShowMoreFiles", {
|
|
13824
13904
|
count: hiddenFileCount
|
|
13825
13905
|
}) }),
|
|
13826
|
-
/* @__PURE__ */
|
|
13906
|
+
/* @__PURE__ */ jsx60(ChevronDown8, { size: 16, strokeWidth: 2.2, "aria-hidden": "true" })
|
|
13827
13907
|
]
|
|
13828
13908
|
}
|
|
13829
|
-
) : hiddenFileCount > 0 ? /* @__PURE__ */
|
|
13909
|
+
) : hiddenFileCount > 0 ? /* @__PURE__ */ jsxs45(
|
|
13830
13910
|
"button",
|
|
13831
13911
|
{
|
|
13832
13912
|
type: "button",
|
|
13833
13913
|
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",
|
|
13834
13914
|
onClick: () => setShowAllFiles(false),
|
|
13835
13915
|
children: [
|
|
13836
|
-
/* @__PURE__ */
|
|
13837
|
-
/* @__PURE__ */
|
|
13916
|
+
/* @__PURE__ */ jsx60("span", { children: translate("agentHost.agentGui.turnSummaryShowFewerFiles") }),
|
|
13917
|
+
/* @__PURE__ */ jsx60(
|
|
13838
13918
|
ChevronRight8,
|
|
13839
13919
|
{
|
|
13840
13920
|
size: 16,
|
|
@@ -13852,6 +13932,7 @@ function AgentTurnSummaryRow({
|
|
|
13852
13932
|
function TurnSummaryFileCard({
|
|
13853
13933
|
file,
|
|
13854
13934
|
workspaceRoot,
|
|
13935
|
+
basePath,
|
|
13855
13936
|
expanded,
|
|
13856
13937
|
onLinkAction,
|
|
13857
13938
|
onToggle
|
|
@@ -13860,15 +13941,16 @@ function TurnSummaryFileCard({
|
|
|
13860
13941
|
const action = resolveWorkspaceFileLinkAction({
|
|
13861
13942
|
path: file.path,
|
|
13862
13943
|
workspaceRoot,
|
|
13944
|
+
basePath,
|
|
13863
13945
|
source: "agent-file-change"
|
|
13864
13946
|
});
|
|
13865
13947
|
const canOpen = Boolean(action && onLinkAction);
|
|
13866
13948
|
const stats = summarizeFileDiff(file);
|
|
13867
13949
|
const preview = filePreview(file);
|
|
13868
|
-
return /* @__PURE__ */
|
|
13869
|
-
/* @__PURE__ */
|
|
13870
|
-
/* @__PURE__ */
|
|
13871
|
-
/* @__PURE__ */
|
|
13950
|
+
return /* @__PURE__ */ jsxs45("div", { className: "agent-turn-summary-card__file", children: [
|
|
13951
|
+
/* @__PURE__ */ jsxs45("div", { className: "agent-turn-summary-card__file-row flex min-w-0 items-center gap-2.5 overflow-hidden px-4 py-2.5", children: [
|
|
13952
|
+
/* @__PURE__ */ jsxs45("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: [
|
|
13953
|
+
/* @__PURE__ */ jsxs45(
|
|
13872
13954
|
"button",
|
|
13873
13955
|
{
|
|
13874
13956
|
type: "button",
|
|
@@ -13876,21 +13958,21 @@ function TurnSummaryFileCard({
|
|
|
13876
13958
|
"aria-expanded": expanded,
|
|
13877
13959
|
onClick: onToggle,
|
|
13878
13960
|
children: [
|
|
13879
|
-
/* @__PURE__ */
|
|
13961
|
+
/* @__PURE__ */ jsx60("div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxs45(
|
|
13880
13962
|
"span",
|
|
13881
13963
|
{
|
|
13882
13964
|
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" : ""}`,
|
|
13883
13965
|
title: file.path,
|
|
13884
13966
|
children: [
|
|
13885
|
-
file.directory ? /* @__PURE__ */
|
|
13967
|
+
file.directory ? /* @__PURE__ */ jsxs45("span", { className: "agent-turn-summary-card__path-directory", children: [
|
|
13886
13968
|
file.directory,
|
|
13887
13969
|
"/"
|
|
13888
13970
|
] }) : null,
|
|
13889
|
-
/* @__PURE__ */
|
|
13971
|
+
/* @__PURE__ */ jsx60("span", { className: "agent-turn-summary-card__path-file", children: file.fileName })
|
|
13890
13972
|
]
|
|
13891
13973
|
}
|
|
13892
13974
|
) }),
|
|
13893
|
-
/* @__PURE__ */
|
|
13975
|
+
/* @__PURE__ */ jsx60("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__ */ jsx60(
|
|
13894
13976
|
ChevronRight8,
|
|
13895
13977
|
{
|
|
13896
13978
|
size: 14,
|
|
@@ -13902,18 +13984,18 @@ function TurnSummaryFileCard({
|
|
|
13902
13984
|
]
|
|
13903
13985
|
}
|
|
13904
13986
|
),
|
|
13905
|
-
/* @__PURE__ */
|
|
13906
|
-
stats.added > 0 ? /* @__PURE__ */
|
|
13987
|
+
/* @__PURE__ */ jsxs45("span", { className: "ml-auto inline-flex shrink-0 items-center gap-2 text-[11px] font-semibold", children: [
|
|
13988
|
+
stats.added > 0 ? /* @__PURE__ */ jsxs45("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
|
|
13907
13989
|
"+",
|
|
13908
13990
|
stats.added
|
|
13909
13991
|
] }) : null,
|
|
13910
|
-
stats.removed > 0 ? /* @__PURE__ */
|
|
13992
|
+
stats.removed > 0 ? /* @__PURE__ */ jsxs45("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
|
|
13911
13993
|
"-",
|
|
13912
13994
|
stats.removed
|
|
13913
13995
|
] }) : null
|
|
13914
13996
|
] })
|
|
13915
13997
|
] }),
|
|
13916
|
-
canOpen ? /* @__PURE__ */
|
|
13998
|
+
canOpen ? /* @__PURE__ */ jsx60(
|
|
13917
13999
|
CanvasNodeGhostIconButton,
|
|
13918
14000
|
{
|
|
13919
14001
|
"aria-label": translate(
|
|
@@ -13925,7 +14007,7 @@ function TurnSummaryFileCard({
|
|
|
13925
14007
|
onClick: () => {
|
|
13926
14008
|
onLinkAction?.(action);
|
|
13927
14009
|
},
|
|
13928
|
-
children: /* @__PURE__ */
|
|
14010
|
+
children: /* @__PURE__ */ jsx60(
|
|
13929
14011
|
DirectLinedIcon,
|
|
13930
14012
|
{
|
|
13931
14013
|
width: 14,
|
|
@@ -13937,12 +14019,12 @@ function TurnSummaryFileCard({
|
|
|
13937
14019
|
}
|
|
13938
14020
|
) : null
|
|
13939
14021
|
] }),
|
|
13940
|
-
preview ? /* @__PURE__ */
|
|
14022
|
+
preview ? /* @__PURE__ */ jsx60(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx60("div", { className: "agent-turn-summary-card__preview rounded-none px-4 pb-3 pt-2", children: preview }) }) : null
|
|
13941
14023
|
] });
|
|
13942
14024
|
}
|
|
13943
14025
|
function filePreview(file) {
|
|
13944
14026
|
if (file.changeType === "created" && file.content?.trim()) {
|
|
13945
|
-
return /* @__PURE__ */
|
|
14027
|
+
return /* @__PURE__ */ jsx60(
|
|
13946
14028
|
AgentCodeBlock,
|
|
13947
14029
|
{
|
|
13948
14030
|
path: file.path,
|
|
@@ -13954,7 +14036,7 @@ function filePreview(file) {
|
|
|
13954
14036
|
);
|
|
13955
14037
|
}
|
|
13956
14038
|
if (file.unifiedDiff?.trim()) {
|
|
13957
|
-
return /* @__PURE__ */
|
|
14039
|
+
return /* @__PURE__ */ jsx60(
|
|
13958
14040
|
AgentUnifiedPatchViewer,
|
|
13959
14041
|
{
|
|
13960
14042
|
path: file.path,
|
|
@@ -13965,7 +14047,7 @@ function filePreview(file) {
|
|
|
13965
14047
|
);
|
|
13966
14048
|
}
|
|
13967
14049
|
if (file.changeType === "created" && file.newString?.trim()) {
|
|
13968
|
-
return /* @__PURE__ */
|
|
14050
|
+
return /* @__PURE__ */ jsx60(
|
|
13969
14051
|
AgentCodeBlock,
|
|
13970
14052
|
{
|
|
13971
14053
|
path: file.path,
|
|
@@ -13977,7 +14059,7 @@ function filePreview(file) {
|
|
|
13977
14059
|
);
|
|
13978
14060
|
}
|
|
13979
14061
|
if (file.oldString?.trim() || file.newString?.trim()) {
|
|
13980
|
-
return /* @__PURE__ */
|
|
14062
|
+
return /* @__PURE__ */ jsx60(
|
|
13981
14063
|
AgentMonacoDiffViewer,
|
|
13982
14064
|
{
|
|
13983
14065
|
path: file.path,
|
|
@@ -13989,7 +14071,7 @@ function filePreview(file) {
|
|
|
13989
14071
|
);
|
|
13990
14072
|
}
|
|
13991
14073
|
if (file.content?.trim()) {
|
|
13992
|
-
return /* @__PURE__ */
|
|
14074
|
+
return /* @__PURE__ */ jsx60(
|
|
13993
14075
|
AgentCodeBlock,
|
|
13994
14076
|
{
|
|
13995
14077
|
path: file.path,
|
|
@@ -14081,7 +14163,7 @@ function summarizeFileDiff(file) {
|
|
|
14081
14163
|
}
|
|
14082
14164
|
|
|
14083
14165
|
// shared/agentConversation/components/AgentTranscriptItemView.tsx
|
|
14084
|
-
import { jsx as
|
|
14166
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
14085
14167
|
var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
14086
14168
|
workspaceRoot,
|
|
14087
14169
|
basePath,
|
|
@@ -14115,7 +14197,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
14115
14197
|
);
|
|
14116
14198
|
switch (row.kind) {
|
|
14117
14199
|
case "message":
|
|
14118
|
-
return /* @__PURE__ */
|
|
14200
|
+
return /* @__PURE__ */ jsx61(
|
|
14119
14201
|
AgentMessageBlock,
|
|
14120
14202
|
{
|
|
14121
14203
|
workspaceRoot,
|
|
@@ -14133,7 +14215,7 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
14133
14215
|
}
|
|
14134
14216
|
);
|
|
14135
14217
|
case "tool-group":
|
|
14136
|
-
return /* @__PURE__ */
|
|
14218
|
+
return /* @__PURE__ */ jsx61(
|
|
14137
14219
|
AgentToolGroupRow,
|
|
14138
14220
|
{
|
|
14139
14221
|
row,
|
|
@@ -14149,18 +14231,19 @@ var AgentTranscriptItemView = memo3(function AgentTranscriptItemView2({
|
|
|
14149
14231
|
}
|
|
14150
14232
|
);
|
|
14151
14233
|
case "turn-summary":
|
|
14152
|
-
return /* @__PURE__ */
|
|
14234
|
+
return /* @__PURE__ */ jsx61(
|
|
14153
14235
|
AgentTurnSummaryRow,
|
|
14154
14236
|
{
|
|
14155
14237
|
row,
|
|
14156
14238
|
workspaceRoot,
|
|
14239
|
+
basePath,
|
|
14157
14240
|
label: labels.turnSummary,
|
|
14158
14241
|
onLinkAction,
|
|
14159
14242
|
previewMode
|
|
14160
14243
|
}
|
|
14161
14244
|
);
|
|
14162
14245
|
case "processing":
|
|
14163
|
-
return /* @__PURE__ */
|
|
14246
|
+
return /* @__PURE__ */ jsx61(AgentProcessingRow, { row, label: labels.processing });
|
|
14164
14247
|
}
|
|
14165
14248
|
});
|
|
14166
14249
|
|
|
@@ -14285,7 +14368,7 @@ import {
|
|
|
14285
14368
|
useEffect as useEffect13,
|
|
14286
14369
|
useLayoutEffect as useLayoutEffect3,
|
|
14287
14370
|
useRef as useRef9,
|
|
14288
|
-
useState as
|
|
14371
|
+
useState as useState20
|
|
14289
14372
|
} from "react";
|
|
14290
14373
|
|
|
14291
14374
|
// shared/agentConversation/components/agentTranscriptModel.ts
|
|
@@ -14385,7 +14468,7 @@ function summarizeUserMessageRow(row) {
|
|
|
14385
14468
|
);
|
|
14386
14469
|
}
|
|
14387
14470
|
function normalizeLocatorSummary(value) {
|
|
14388
|
-
return value
|
|
14471
|
+
return normalizeAgentTitleText(value);
|
|
14389
14472
|
}
|
|
14390
14473
|
function escapeCssString(value) {
|
|
14391
14474
|
return value.replace(/["\\]/g, "\\$&");
|
|
@@ -14409,7 +14492,7 @@ function findTurnDividerRowIndexes(turnIndexById, rows) {
|
|
|
14409
14492
|
}
|
|
14410
14493
|
|
|
14411
14494
|
// shared/agentConversation/components/AgentMessageLocatorRail.tsx
|
|
14412
|
-
import { jsx as
|
|
14495
|
+
import { jsx as jsx62, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
14413
14496
|
var AGENT_MESSAGE_LOCATOR_PANEL_FADE_MS = 160;
|
|
14414
14497
|
var AGENT_MESSAGE_LOCATOR_ITEM_SPACING_PX = 30;
|
|
14415
14498
|
var AGENT_MESSAGE_LOCATOR_HIT_SIZE_PX = 36;
|
|
@@ -14424,13 +14507,13 @@ function AgentMessageLocatorRail({
|
|
|
14424
14507
|
const locatorRef = useRef9(null);
|
|
14425
14508
|
const locatorViewportRef = useRef9(null);
|
|
14426
14509
|
const closePanelTimeoutRef = useRef9(null);
|
|
14427
|
-
const [isPanelOpen, setIsPanelOpen] =
|
|
14428
|
-
const [shouldRenderPanel, setShouldRenderPanel] =
|
|
14429
|
-
const [activeKey, setActiveKey] =
|
|
14430
|
-
const [selectedKey, setSelectedKey] =
|
|
14510
|
+
const [isPanelOpen, setIsPanelOpen] = useState20(false);
|
|
14511
|
+
const [shouldRenderPanel, setShouldRenderPanel] = useState20(false);
|
|
14512
|
+
const [activeKey, setActiveKey] = useState20(null);
|
|
14513
|
+
const [selectedKey, setSelectedKey] = useState20(null);
|
|
14431
14514
|
const previousAgentResponseByKeyRef = useRef9(null);
|
|
14432
|
-
const [unreadAgentResponseKeys, setUnreadAgentResponseKeys] =
|
|
14433
|
-
const [visibleFrame, setVisibleFrame] =
|
|
14515
|
+
const [unreadAgentResponseKeys, setUnreadAgentResponseKeys] = useState20(/* @__PURE__ */ new Set());
|
|
14516
|
+
const [visibleFrame, setVisibleFrame] = useState20(null);
|
|
14434
14517
|
useEffect13(() => {
|
|
14435
14518
|
if (isPanelOpen) {
|
|
14436
14519
|
setShouldRenderPanel(true);
|
|
@@ -14657,7 +14740,7 @@ function AgentMessageLocatorRail({
|
|
|
14657
14740
|
}
|
|
14658
14741
|
closePanelNow();
|
|
14659
14742
|
};
|
|
14660
|
-
return /* @__PURE__ */
|
|
14743
|
+
return /* @__PURE__ */ jsxs46(
|
|
14661
14744
|
"nav",
|
|
14662
14745
|
{
|
|
14663
14746
|
ref: locatorRef,
|
|
@@ -14677,7 +14760,7 @@ function AgentMessageLocatorRail({
|
|
|
14677
14760
|
} : {}
|
|
14678
14761
|
},
|
|
14679
14762
|
children: [
|
|
14680
|
-
/* @__PURE__ */
|
|
14763
|
+
/* @__PURE__ */ jsx62(
|
|
14681
14764
|
"div",
|
|
14682
14765
|
{
|
|
14683
14766
|
ref: locatorViewportRef,
|
|
@@ -14685,7 +14768,7 @@ function AgentMessageLocatorRail({
|
|
|
14685
14768
|
"data-testid": "agent-message-locator-viewport",
|
|
14686
14769
|
onClick: handleViewportClick,
|
|
14687
14770
|
onMouseMove: handleViewportMouseMove,
|
|
14688
|
-
children: /* @__PURE__ */
|
|
14771
|
+
children: /* @__PURE__ */ jsxs46(
|
|
14689
14772
|
"div",
|
|
14690
14773
|
{
|
|
14691
14774
|
className: "agent-gui-message-locator__content",
|
|
@@ -14693,18 +14776,18 @@ function AgentMessageLocatorRail({
|
|
|
14693
14776
|
"--agent-message-locator-height": `${railHeight}px`
|
|
14694
14777
|
},
|
|
14695
14778
|
children: [
|
|
14696
|
-
items.slice(0, -1).map((item, index) => /* @__PURE__ */
|
|
14779
|
+
items.slice(0, -1).map((item, index) => /* @__PURE__ */ jsx62(
|
|
14697
14780
|
"div",
|
|
14698
14781
|
{
|
|
14699
14782
|
className: "agent-gui-message-locator__track-segment",
|
|
14700
14783
|
style: {
|
|
14701
|
-
"--agent-message-locator-segment-position": `${index * AGENT_MESSAGE_LOCATOR_ITEM_SPACING_PX
|
|
14784
|
+
"--agent-message-locator-segment-position": `${AGENT_MESSAGE_LOCATOR_HIT_SIZE_PX / 2 + (index + 0.5) * AGENT_MESSAGE_LOCATOR_ITEM_SPACING_PX}px`
|
|
14702
14785
|
},
|
|
14703
14786
|
"aria-hidden": "true"
|
|
14704
14787
|
},
|
|
14705
14788
|
`segment:${item.key}`
|
|
14706
14789
|
)),
|
|
14707
|
-
items.map((item, index) => /* @__PURE__ */
|
|
14790
|
+
items.map((item, index) => /* @__PURE__ */ jsx62(
|
|
14708
14791
|
"button",
|
|
14709
14792
|
{
|
|
14710
14793
|
type: "button",
|
|
@@ -14719,7 +14802,7 @@ function AgentMessageLocatorRail({
|
|
|
14719
14802
|
onClick: () => handleLocateItem(item),
|
|
14720
14803
|
onFocus: () => setActiveKey(item.key),
|
|
14721
14804
|
onMouseEnter: () => setActiveKey(item.key),
|
|
14722
|
-
children: /* @__PURE__ */
|
|
14805
|
+
children: /* @__PURE__ */ jsx62(
|
|
14723
14806
|
"span",
|
|
14724
14807
|
{
|
|
14725
14808
|
className: "agent-gui-message-locator__dot",
|
|
@@ -14734,7 +14817,7 @@ function AgentMessageLocatorRail({
|
|
|
14734
14817
|
)
|
|
14735
14818
|
}
|
|
14736
14819
|
),
|
|
14737
|
-
shouldRenderPanel ? /* @__PURE__ */
|
|
14820
|
+
shouldRenderPanel ? /* @__PURE__ */ jsx62(
|
|
14738
14821
|
"div",
|
|
14739
14822
|
{
|
|
14740
14823
|
className: "agent-gui-message-locator__panel",
|
|
@@ -14744,7 +14827,7 @@ function AgentMessageLocatorRail({
|
|
|
14744
14827
|
onMouseEnter: openPanel,
|
|
14745
14828
|
onMouseLeave: closePanelSoon,
|
|
14746
14829
|
onWheel: containMessageLocatorPanelWheel,
|
|
14747
|
-
children: items.map((item) => /* @__PURE__ */
|
|
14830
|
+
children: items.map((item) => /* @__PURE__ */ jsx62(
|
|
14748
14831
|
"button",
|
|
14749
14832
|
{
|
|
14750
14833
|
type: "button",
|
|
@@ -14753,7 +14836,7 @@ function AgentMessageLocatorRail({
|
|
|
14753
14836
|
onClick: () => handleLocateItem(item),
|
|
14754
14837
|
onFocus: () => setActiveKey(item.key),
|
|
14755
14838
|
onMouseEnter: () => setActiveKey(item.key),
|
|
14756
|
-
children: /* @__PURE__ */
|
|
14839
|
+
children: /* @__PURE__ */ jsx62("span", { className: "agent-gui-message-locator__panel-item-text", children: item.summary })
|
|
14757
14840
|
},
|
|
14758
14841
|
`panel:${item.key}`
|
|
14759
14842
|
))
|
|
@@ -14896,7 +14979,7 @@ function selectMessageLocatorItemAtViewportCenter(scrollParent, items) {
|
|
|
14896
14979
|
}
|
|
14897
14980
|
|
|
14898
14981
|
// shared/agentConversation/components/AgentTranscriptView.tsx
|
|
14899
|
-
import { Fragment as Fragment8, jsx as
|
|
14982
|
+
import { Fragment as Fragment8, jsx as jsx63, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
14900
14983
|
var AGENT_TRANSCRIPT_VIRTUALIZATION_OVERSCAN = 6;
|
|
14901
14984
|
var AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX = 280;
|
|
14902
14985
|
var AGENT_TRANSCRIPT_TURN_GAP_PX = 12;
|
|
@@ -14930,9 +15013,9 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
14930
15013
|
labels
|
|
14931
15014
|
}) {
|
|
14932
15015
|
"use memo";
|
|
14933
|
-
const [expandedToolRows, setExpandedToolRows] =
|
|
15016
|
+
const [expandedToolRows, setExpandedToolRows] = useState21({});
|
|
14934
15017
|
const virtualizerHostRef = useRef10(null);
|
|
14935
|
-
const [virtualScrollElement, setVirtualScrollElement] =
|
|
15018
|
+
const [virtualScrollElement, setVirtualScrollElement] = useState21(null);
|
|
14936
15019
|
const rowKeys = useMemo6(
|
|
14937
15020
|
() => conversation.rows.map(transcriptRowKey),
|
|
14938
15021
|
[conversation.rows]
|
|
@@ -15033,8 +15116,8 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15033
15116
|
const rowKey = rowKeys[rowIndex] ?? transcriptRowKey(row);
|
|
15034
15117
|
const showTurnDivider = dividerRowIndexes.has(rowIndex);
|
|
15035
15118
|
const shouldAnimateEnter = row.kind !== "processing" && enteringRowKeys.has(rowKey);
|
|
15036
|
-
return /* @__PURE__ */
|
|
15037
|
-
showTurnDivider ? /* @__PURE__ */
|
|
15119
|
+
return /* @__PURE__ */ jsxs47(Fragment7, { children: [
|
|
15120
|
+
showTurnDivider ? /* @__PURE__ */ jsx63(
|
|
15038
15121
|
"div",
|
|
15039
15122
|
{
|
|
15040
15123
|
className: "h-px w-full flex-none bg-[var(--line-2,var(--tutti-line-2))]",
|
|
@@ -15042,7 +15125,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15042
15125
|
"aria-hidden": "true"
|
|
15043
15126
|
}
|
|
15044
15127
|
) : null,
|
|
15045
|
-
/* @__PURE__ */
|
|
15128
|
+
/* @__PURE__ */ jsx63(
|
|
15046
15129
|
"div",
|
|
15047
15130
|
{
|
|
15048
15131
|
className: "agent-gui-transcript-row",
|
|
@@ -15050,7 +15133,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15050
15133
|
"data-agent-transcript-row-kind": row.kind,
|
|
15051
15134
|
"data-agent-transcript-row-index": rowIndex,
|
|
15052
15135
|
"data-agent-transcript-row-enter": shouldAnimateEnter ? "true" : void 0,
|
|
15053
|
-
children: /* @__PURE__ */
|
|
15136
|
+
children: /* @__PURE__ */ jsx63(
|
|
15054
15137
|
AgentTranscriptItemView,
|
|
15055
15138
|
{
|
|
15056
15139
|
workspaceRoot,
|
|
@@ -15085,8 +15168,8 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15085
15168
|
AGENT_TRANSCRIPT_FALLBACK_TURN_COUNT
|
|
15086
15169
|
) + fallbackIndex) * AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX
|
|
15087
15170
|
})) : rowVirtualizer.getVirtualItems();
|
|
15088
|
-
return /* @__PURE__ */
|
|
15089
|
-
/* @__PURE__ */
|
|
15171
|
+
return /* @__PURE__ */ jsxs47(Fragment8, { children: [
|
|
15172
|
+
/* @__PURE__ */ jsx63(
|
|
15090
15173
|
AgentMessageLocatorRail,
|
|
15091
15174
|
{
|
|
15092
15175
|
items: userMessageLocatorItems,
|
|
@@ -15094,7 +15177,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15094
15177
|
onLocate: handleLocateUserMessage
|
|
15095
15178
|
}
|
|
15096
15179
|
),
|
|
15097
|
-
/* @__PURE__ */
|
|
15180
|
+
/* @__PURE__ */ jsx63(
|
|
15098
15181
|
"div",
|
|
15099
15182
|
{
|
|
15100
15183
|
ref: virtualizerHostRef,
|
|
@@ -15106,7 +15189,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15106
15189
|
if (!group) {
|
|
15107
15190
|
return null;
|
|
15108
15191
|
}
|
|
15109
|
-
return /* @__PURE__ */
|
|
15192
|
+
return /* @__PURE__ */ jsx63(
|
|
15110
15193
|
"div",
|
|
15111
15194
|
{
|
|
15112
15195
|
ref: rowVirtualizer.measureElement,
|
|
@@ -15128,8 +15211,8 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15128
15211
|
)
|
|
15129
15212
|
] });
|
|
15130
15213
|
}
|
|
15131
|
-
return /* @__PURE__ */
|
|
15132
|
-
/* @__PURE__ */
|
|
15214
|
+
return /* @__PURE__ */ jsxs47(Fragment8, { children: [
|
|
15215
|
+
/* @__PURE__ */ jsx63(
|
|
15133
15216
|
AgentMessageLocatorRail,
|
|
15134
15217
|
{
|
|
15135
15218
|
items: userMessageLocatorItems,
|
|
@@ -15143,7 +15226,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
|
|
|
15143
15226
|
|
|
15144
15227
|
// shared/agentConversation/components/AgentConversationFlow.tsx
|
|
15145
15228
|
import { memo as memo5 } from "react";
|
|
15146
|
-
import { Fragment as Fragment9, jsx as
|
|
15229
|
+
import { Fragment as Fragment9, jsx as jsx64 } from "react/jsx-runtime";
|
|
15147
15230
|
var AgentConversationFlow = memo5(function AgentConversationFlow2({
|
|
15148
15231
|
conversation,
|
|
15149
15232
|
isLoading,
|
|
@@ -15160,12 +15243,12 @@ var AgentConversationFlow = memo5(function AgentConversationFlow2({
|
|
|
15160
15243
|
}) {
|
|
15161
15244
|
"use memo";
|
|
15162
15245
|
if (isLoading) {
|
|
15163
|
-
return /* @__PURE__ */
|
|
15246
|
+
return /* @__PURE__ */ jsx64(AgentTranscriptSkeleton, { label: loadingLabel, testId: loadingTestId });
|
|
15164
15247
|
}
|
|
15165
15248
|
if (!conversation || conversation.rows.length === 0) {
|
|
15166
|
-
return /* @__PURE__ */
|
|
15249
|
+
return /* @__PURE__ */ jsx64(Fragment9, { children: empty });
|
|
15167
15250
|
}
|
|
15168
|
-
return /* @__PURE__ */
|
|
15251
|
+
return /* @__PURE__ */ jsx64(
|
|
15169
15252
|
AgentTranscriptView,
|
|
15170
15253
|
{
|
|
15171
15254
|
conversation,
|
|
@@ -15220,6 +15303,14 @@ export {
|
|
|
15220
15303
|
pastedTextPreview,
|
|
15221
15304
|
MAX_AGENT_COMPOSER_DRAFT_IMAGES,
|
|
15222
15305
|
emptyAgentComposerDraft,
|
|
15306
|
+
snapshotAgentComposerDraft,
|
|
15307
|
+
agentComposerDraftPrompt,
|
|
15308
|
+
agentComposerDraftImages,
|
|
15309
|
+
agentComposerDraftFiles,
|
|
15310
|
+
agentComposerDraftLargeTexts,
|
|
15311
|
+
agentComposerDraftAttachmentProjection,
|
|
15312
|
+
buildAgentComposerDraft,
|
|
15313
|
+
updateAgentComposerDraft,
|
|
15223
15314
|
agentComposerDraftHasContent,
|
|
15224
15315
|
normalizeAgentPromptContentBlocks,
|
|
15225
15316
|
agentPromptContentDisplayText,
|
|
@@ -15227,10 +15318,8 @@ export {
|
|
|
15227
15318
|
agentPromptContentImageBlocks,
|
|
15228
15319
|
agentPromptContentToComposerDraft,
|
|
15229
15320
|
agentComposerDraftToPromptContent,
|
|
15230
|
-
agentComposerDraftSubmittedText,
|
|
15231
15321
|
agentComposerDraftDisplayPrompt,
|
|
15232
15322
|
textPromptContent,
|
|
15233
|
-
isPastedTextPromptBlock,
|
|
15234
15323
|
materializePastedTextInstructions,
|
|
15235
15324
|
projectAgentConversationVM,
|
|
15236
15325
|
reconcileProjectedAgentConversationVM,
|
|
@@ -15246,4 +15335,4 @@ export {
|
|
|
15246
15335
|
AgentConversationFlow,
|
|
15247
15336
|
useProjectedAgentConversation
|
|
15248
15337
|
};
|
|
15249
|
-
//# sourceMappingURL=chunk-
|
|
15338
|
+
//# sourceMappingURL=chunk-JKIZA7EJ.js.map
|