@tutti-os/agent-gui 0.0.47 → 0.0.48

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.
Files changed (52) hide show
  1. package/dist/agent-conversation/index.d.ts +4 -4
  2. package/dist/agent-conversation/index.js +6 -6
  3. package/dist/agent-message-center/index.d.ts +2 -2
  4. package/dist/agent-message-center/index.js +35 -13
  5. package/dist/agent-message-center/index.js.map +1 -1
  6. package/dist/{agentConversationVM-BTMtRteS.d.ts → agentConversationVM-DSXrFL9v.d.ts} +5 -1
  7. package/dist/{agentGuiNodeTypes-B5Y6yDKy.d.ts → agentGuiNodeTypes-Bp1G8pOj.d.ts} +4 -4
  8. package/dist/app/renderer/agentactivity.css +62 -12
  9. package/dist/{chunk-XJXSR5XI.js → chunk-6YN7HQL5.js} +125 -34
  10. package/dist/chunk-6YN7HQL5.js.map +1 -0
  11. package/dist/{chunk-MCH35MAX.js → chunk-7W3VWU5R.js} +10 -6
  12. package/dist/chunk-7W3VWU5R.js.map +1 -0
  13. package/dist/{chunk-Q4X6Q4E6.js → chunk-EUOGIKT7.js} +2 -2
  14. package/dist/{chunk-ZAF4IVUT.js → chunk-LWMC2YA3.js} +431 -359
  15. package/dist/chunk-LWMC2YA3.js.map +1 -0
  16. package/dist/{chunk-5QTC2L52.js → chunk-N6HRVMIS.js} +2 -2
  17. package/dist/{chunk-KACBTC7Y.js → chunk-NETHPCSA.js} +11 -3
  18. package/dist/chunk-NETHPCSA.js.map +1 -0
  19. package/dist/{chunk-J3SJZMI5.js → chunk-OB43QOMC.js} +2 -2
  20. package/dist/{chunk-2FOBSURO.js → chunk-OYQZRLJQ.js} +2 -2
  21. package/dist/{chunk-7NCWSH7U.js → chunk-RNIY43TA.js} +5 -5
  22. package/dist/{chunk-VE6JY2TH.js → chunk-U6JWW45G.js} +1 -1
  23. package/dist/chunk-U6JWW45G.js.map +1 -0
  24. package/dist/{chunk-HCS3HUUX.js → chunk-VGDPBC6W.js} +37 -7
  25. package/dist/chunk-VGDPBC6W.js.map +1 -0
  26. package/dist/{chunk-KUCWRSXU.js → chunk-ZVKRNEOF.js} +2 -2
  27. package/dist/context-mention-palette/index.js +7 -7
  28. package/dist/i18n/index.d.ts +10 -2
  29. package/dist/i18n/index.js +2 -2
  30. package/dist/index.d.ts +290 -8
  31. package/dist/index.js +189 -44
  32. package/dist/index.js.map +1 -1
  33. package/dist/plan-decision-ops.d.ts +2 -2
  34. package/dist/queued-prompt-runtime.d.ts +3 -3
  35. package/dist/workbench/index.js +3 -3
  36. package/dist/workbench/sessionTitle.js +3 -3
  37. package/dist/workspace-agent-generated-files.d.ts +1 -1
  38. package/dist/workspace-agent-generated-files.js +3 -3
  39. package/dist/{workspaceAgentActivityListViewModel-DLnMBMoh.d.ts → workspaceAgentActivityListViewModel-B5viw5Da.d.ts} +1 -1
  40. package/package.json +12 -12
  41. package/dist/chunk-HCS3HUUX.js.map +0 -1
  42. package/dist/chunk-KACBTC7Y.js.map +0 -1
  43. package/dist/chunk-MCH35MAX.js.map +0 -1
  44. package/dist/chunk-VE6JY2TH.js.map +0 -1
  45. package/dist/chunk-XJXSR5XI.js.map +0 -1
  46. package/dist/chunk-ZAF4IVUT.js.map +0 -1
  47. /package/dist/{chunk-Q4X6Q4E6.js.map → chunk-EUOGIKT7.js.map} +0 -0
  48. /package/dist/{chunk-5QTC2L52.js.map → chunk-N6HRVMIS.js.map} +0 -0
  49. /package/dist/{chunk-J3SJZMI5.js.map → chunk-OB43QOMC.js.map} +0 -0
  50. /package/dist/{chunk-2FOBSURO.js.map → chunk-OYQZRLJQ.js.map} +0 -0
  51. /package/dist/{chunk-7NCWSH7U.js.map → chunk-RNIY43TA.js.map} +0 -0
  52. /package/dist/{chunk-KUCWRSXU.js.map → chunk-ZVKRNEOF.js.map} +0 -0
@@ -6,11 +6,14 @@ import {
6
6
  ZoomableImage,
7
7
  cn,
8
8
  extractAgentMcpToolTarget,
9
+ extractExitPlanKeepPlanningOptionId,
10
+ extractExitPlanModeOptions,
11
+ isExitPlanSwitchModeInput,
9
12
  normalizeAskUserQuestions,
10
13
  resolveWorkspaceFileLinkAction,
11
14
  resolveWorkspaceFilePathCandidate,
12
15
  resolveWorkspaceLinkAction
13
- } from "./chunk-XJXSR5XI.js";
16
+ } from "./chunk-6YN7HQL5.js";
14
17
  import {
15
18
  AGENT_RICH_TEXT_CARET_ANCHOR,
16
19
  attrsToMentionItem,
@@ -18,7 +21,7 @@ import {
18
21
  formatAgentMentionMarkdown,
19
22
  mentionItemToAttrs,
20
23
  parseAgentMentionMarkdown
21
- } from "./chunk-2FOBSURO.js";
24
+ } from "./chunk-OYQZRLJQ.js";
22
25
  import {
23
26
  fileChangeCountFromChanges,
24
27
  fileChangeEntriesFromChanges,
@@ -28,14 +31,14 @@ import {
28
31
  import {
29
32
  getOptionalAgentActivityRuntime,
30
33
  useOptionalAgentHostApi
31
- } from "./chunk-VE6JY2TH.js";
34
+ } from "./chunk-U6JWW45G.js";
32
35
  import {
33
36
  workspaceAgentProviderLabel
34
37
  } from "./chunk-TYGL25EL.js";
35
38
  import {
36
39
  getActiveUiLanguage,
37
40
  translate
38
- } from "./chunk-5QTC2L52.js";
41
+ } from "./chunk-N6HRVMIS.js";
39
42
 
40
43
  // shared/imageGenerationTool.ts
41
44
  var KNOWN_IMAGE_GENERATION_TOOL_NAMES = /* @__PURE__ */ new Set([
@@ -2287,7 +2290,7 @@ function projectAgentApprovalItem(call, input, output) {
2287
2290
  const options = normalizeApprovalOptions(
2288
2291
  arrayValue(input?.options) ?? arrayValue(call.payload?.options) ?? []
2289
2292
  );
2290
- if (isExitPlanApprovalInput(input, options)) {
2293
+ if (isExitPlanSwitchModeInput(input)) {
2291
2294
  return null;
2292
2295
  }
2293
2296
  const mcpTarget = extractAgentMcpToolTarget({
@@ -2311,14 +2314,6 @@ function projectAgentApprovalItem(call, input, output) {
2311
2314
  occurredAtUnixMs: call.occurredAtUnixMs ?? null
2312
2315
  };
2313
2316
  }
2314
- function isExitPlanApprovalInput(input, options) {
2315
- const toolCall = objectValue(input?.toolCall);
2316
- const kind = normalizeToken(stringValue2(toolCall?.kind));
2317
- if (kind !== "switch_mode") {
2318
- return false;
2319
- }
2320
- return options.some((option) => option.id === "plan");
2321
- }
2322
2317
  function normalizeApprovalOptions(values) {
2323
2318
  return values.flatMap((value) => {
2324
2319
  const option = objectValue(value);
@@ -2375,7 +2370,7 @@ function projectAgentAskUserQuestionItem(call, input, output) {
2375
2370
  };
2376
2371
  }
2377
2372
  function projectAgentPlanModeItem(call, input) {
2378
- if (isExitPlanApprovalInput2(input)) {
2373
+ if (isExitPlanSwitchModeInput(input)) {
2379
2374
  return {
2380
2375
  itemKind: "plan-mode",
2381
2376
  id: call.id,
@@ -2386,6 +2381,8 @@ function projectAgentPlanModeItem(call, input) {
2386
2381
  status: call.status,
2387
2382
  plan: stringValue3(input?.plan) ?? stringValue3(call.payload?.plan) ?? (call.summary.trim() || null),
2388
2383
  filePath: stringValue3(input?.filePath) ?? stringValue3(call.payload?.filePath),
2384
+ options: extractExitPlanModeOptions(input),
2385
+ ...keepPlanningOption(extractExitPlanKeepPlanningOptionId(input)),
2389
2386
  occurredAtUnixMs: call.occurredAtUnixMs ?? null
2390
2387
  };
2391
2388
  }
@@ -2419,17 +2416,6 @@ function projectAgentPlanModeItem(call, input) {
2419
2416
  occurredAtUnixMs: call.occurredAtUnixMs ?? null
2420
2417
  };
2421
2418
  }
2422
- function isExitPlanApprovalInput2(input) {
2423
- const toolCall = objectValue2(input?.toolCall);
2424
- const kind = normalizeToolName2(stringValue3(toolCall?.kind));
2425
- if (kind !== "switchmode") {
2426
- return false;
2427
- }
2428
- return (arrayValue2(input?.options) ?? []).some((value) => {
2429
- const option = objectValue2(value);
2430
- return stringValue3(option?.optionId) === "plan" || stringValue3(option?.id) === "plan";
2431
- });
2432
- }
2433
2419
  function answerForQuestion(questionId, answersByQuestionId, output) {
2434
2420
  const value = answersByQuestionId[questionId];
2435
2421
  if (Array.isArray(value)) {
@@ -2445,6 +2431,9 @@ function answerForQuestion(questionId, answersByQuestionId, output) {
2445
2431
  (item) => typeof item === "string" && item.trim().length > 0
2446
2432
  ) : null;
2447
2433
  }
2434
+ function keepPlanningOption(optionId) {
2435
+ return optionId ? { keepPlanningOptionId: optionId } : {};
2436
+ }
2448
2437
  function normalizeToolName2(value) {
2449
2438
  return (value ?? "").replace(/[_\s-]+/g, "").trim().toLowerCase();
2450
2439
  }
@@ -4843,7 +4832,9 @@ function selectPendingInteractivePrompt(rows) {
4843
4832
  return {
4844
4833
  kind: "exit-plan",
4845
4834
  requestId: call.planMode.requestId ?? call.id.replace(/^call:/, ""),
4846
- title: call.planMode.title
4835
+ title: call.planMode.title,
4836
+ options: call.planMode.options ?? [],
4837
+ ...call.planMode.keepPlanningOptionId ? { keepPlanningOptionId: call.planMode.keepPlanningOptionId } : {}
4847
4838
  };
4848
4839
  }
4849
4840
  }
@@ -9573,7 +9564,54 @@ function normalizeToolName7(value) {
9573
9564
 
9574
9565
  // shared/agentConversation/components/tool-renderers/code/AgentCodeBlock.tsx
9575
9566
  import { useMemo as useMemo2, useState as useState6 } from "react";
9576
- import { Fragment as Fragment3, jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
9567
+
9568
+ // shared/agentConversation/components/tool-renderers/AgentPathTailLabel.tsx
9569
+ import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
9570
+ function AgentPathTailLabel({
9571
+ path,
9572
+ fallback,
9573
+ className
9574
+ }) {
9575
+ "use memo";
9576
+ const label = path?.trim() || fallback;
9577
+ const parts = splitPathTail(label);
9578
+ if (!parts) {
9579
+ return /* @__PURE__ */ jsx20(
9580
+ "span",
9581
+ {
9582
+ className: `agent-path-tail-label ${className ?? ""}`,
9583
+ title: path ?? void 0,
9584
+ children: /* @__PURE__ */ jsx20("span", { className: "agent-path-tail-label__file", children: label })
9585
+ }
9586
+ );
9587
+ }
9588
+ return /* @__PURE__ */ jsxs13(
9589
+ "span",
9590
+ {
9591
+ className: `agent-path-tail-label ${className ?? ""}`,
9592
+ title: path ?? void 0,
9593
+ children: [
9594
+ /* @__PURE__ */ jsx20("span", { className: "agent-path-tail-label__directory", children: parts.directory }),
9595
+ /* @__PURE__ */ jsx20("span", { className: "agent-path-tail-label__file", children: parts.fileName })
9596
+ ]
9597
+ }
9598
+ );
9599
+ }
9600
+ function splitPathTail(value) {
9601
+ const lastForwardSlash = value.lastIndexOf("/");
9602
+ const lastBackwardSlash = value.lastIndexOf("\\");
9603
+ const lastSeparator = Math.max(lastForwardSlash, lastBackwardSlash);
9604
+ if (lastSeparator <= 0 || lastSeparator === value.length - 1) {
9605
+ return null;
9606
+ }
9607
+ return {
9608
+ directory: value.slice(0, lastSeparator + 1),
9609
+ fileName: value.slice(lastSeparator + 1)
9610
+ };
9611
+ }
9612
+
9613
+ // shared/agentConversation/components/tool-renderers/code/AgentCodeBlock.tsx
9614
+ import { Fragment as Fragment3, jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
9577
9615
  var MAX_VISIBLE_LINES = 120;
9578
9616
  function AgentCodeBlock({
9579
9617
  path,
@@ -9608,7 +9646,7 @@ function AgentCodeBlock({
9608
9646
  if (!normalized) {
9609
9647
  return null;
9610
9648
  }
9611
- const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */ jsx20(
9649
+ const disclosureButton = collapsible && lineCount > MAX_VISIBLE_LINES ? /* @__PURE__ */ jsx21(
9612
9650
  "button",
9613
9651
  {
9614
9652
  type: "button",
@@ -9619,13 +9657,13 @@ function AgentCodeBlock({
9619
9657
  })
9620
9658
  }
9621
9659
  ) : null;
9622
- return /* @__PURE__ */ jsx20(
9660
+ return /* @__PURE__ */ jsx21(
9623
9661
  "div",
9624
9662
  {
9625
9663
  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" : ""}`,
9626
- children: flat ? /* @__PURE__ */ jsxs13(Fragment3, { children: [
9627
- showHeader ? /* @__PURE__ */ jsxs13("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: [
9628
- /* @__PURE__ */ jsx20(
9664
+ children: flat ? /* @__PURE__ */ jsxs14(Fragment3, { children: [
9665
+ showHeader ? /* @__PURE__ */ jsxs14("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: [
9666
+ /* @__PURE__ */ jsx21(
9629
9667
  "span",
9630
9668
  {
9631
9669
  className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
@@ -9633,35 +9671,42 @@ function AgentCodeBlock({
9633
9671
  children: fileLabel
9634
9672
  }
9635
9673
  ),
9636
- /* @__PURE__ */ jsxs13("span", { className: "shrink-0 font-semibold text-[var(--state-success)]", children: [
9674
+ /* @__PURE__ */ jsxs14("span", { className: "shrink-0 font-semibold text-[var(--state-success)]", children: [
9637
9675
  "+",
9638
9676
  addedCount
9639
9677
  ] })
9640
9678
  ] }) : null,
9641
- /* @__PURE__ */ jsxs13("div", { className: "workspace-agents-status-panel__detail-scroll-region max-h-[240px] overflow-auto bg-[var(--background-panel)]", children: [
9642
- visibleLines.map((line) => /* @__PURE__ */ jsxs13(
9679
+ /* @__PURE__ */ jsxs14("div", { className: "workspace-agents-status-panel__detail-scroll-region max-h-[240px] overflow-auto bg-[var(--background-panel)]", children: [
9680
+ visibleLines.map((line) => /* @__PURE__ */ jsxs14(
9643
9681
  "div",
9644
9682
  {
9645
9683
  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",
9646
9684
  children: [
9647
- /* @__PURE__ */ jsx20("div", { className: "select-none px-2.5 text-right text-[color:color-mix(in_srgb,var(--state-success)_90%,transparent)]", children: line.lineNumber }),
9648
- /* @__PURE__ */ jsx20("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx20("code", { children: line.line || " " }) })
9685
+ /* @__PURE__ */ jsx21("div", { className: "select-none px-2.5 text-right text-[color:color-mix(in_srgb,var(--state-success)_90%,transparent)]", children: line.lineNumber }),
9686
+ /* @__PURE__ */ jsx21("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx21("code", { children: line.line || " " }) })
9649
9687
  ]
9650
9688
  },
9651
9689
  line.key
9652
9690
  )),
9653
9691
  disclosureButton
9654
9692
  ] })
9655
- ] }) : /* @__PURE__ */ jsxs13(Fragment3, { children: [
9656
- showHeader ? /* @__PURE__ */ jsxs13("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: [
9657
- /* @__PURE__ */ jsx20("span", { className: "truncate font-[var(--tsh-font-mono)]", children: path || "Code" }),
9658
- /* @__PURE__ */ jsxs13("span", { className: "shrink-0", children: [
9693
+ ] }) : /* @__PURE__ */ jsxs14(Fragment3, { children: [
9694
+ showHeader ? /* @__PURE__ */ jsxs14("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: [
9695
+ /* @__PURE__ */ jsx21(
9696
+ AgentPathTailLabel,
9697
+ {
9698
+ path,
9699
+ fallback: "Code",
9700
+ className: "font-[var(--tsh-font-mono)]"
9701
+ }
9702
+ ),
9703
+ /* @__PURE__ */ jsxs14("span", { className: "shrink-0", children: [
9659
9704
  language ? `${language} \xB7 ` : "",
9660
9705
  lineCount,
9661
9706
  " lines"
9662
9707
  ] })
9663
9708
  ] }) : null,
9664
- /* @__PURE__ */ jsx20("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__ */ jsx20("code", { children: visibleContent }) }),
9709
+ /* @__PURE__ */ jsx21("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__ */ jsx21("code", { children: visibleContent }) }),
9665
9710
  disclosureButton
9666
9711
  ] })
9667
9712
  }
@@ -9695,7 +9740,7 @@ import {
9695
9740
  useAnimation as useAnimation5,
9696
9741
  useReducedMotion as useReducedMotion5
9697
9742
  } from "framer-motion";
9698
- import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
9743
+ import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
9699
9744
  var ATOM_ICON_ANIMATION_DURATION = 0.75;
9700
9745
  var ATOM_ICON_REPEAT_DELAY = 1.5;
9701
9746
  var PATH_VARIANTS = {
@@ -9787,14 +9832,14 @@ var AtomIcon = forwardRef7(
9787
9832
  },
9788
9833
  [onMouseLeave, stopAnimation]
9789
9834
  );
9790
- return /* @__PURE__ */ jsx21(
9835
+ return /* @__PURE__ */ jsx22(
9791
9836
  "div",
9792
9837
  {
9793
9838
  className: cn("inline-flex items-center justify-center", className),
9794
9839
  onMouseEnter: handleMouseEnter,
9795
9840
  onMouseLeave: handleMouseLeave,
9796
9841
  ...props,
9797
- children: /* @__PURE__ */ jsxs14(
9842
+ children: /* @__PURE__ */ jsxs15(
9798
9843
  "svg",
9799
9844
  {
9800
9845
  fill: "none",
@@ -9807,7 +9852,7 @@ var AtomIcon = forwardRef7(
9807
9852
  width: size,
9808
9853
  xmlns: "http://www.w3.org/2000/svg",
9809
9854
  children: [
9810
- /* @__PURE__ */ jsx21(
9855
+ /* @__PURE__ */ jsx22(
9811
9856
  motion5.circle,
9812
9857
  {
9813
9858
  animate: controls,
@@ -9818,7 +9863,7 @@ var AtomIcon = forwardRef7(
9818
9863
  variants: PATH_VARIANTS
9819
9864
  }
9820
9865
  ),
9821
- /* @__PURE__ */ jsx21(
9866
+ /* @__PURE__ */ jsx22(
9822
9867
  motion5.path,
9823
9868
  {
9824
9869
  animate: controls,
@@ -9827,7 +9872,7 @@ var AtomIcon = forwardRef7(
9827
9872
  variants: PATH_VARIANTS
9828
9873
  }
9829
9874
  ),
9830
- /* @__PURE__ */ jsx21(
9875
+ /* @__PURE__ */ jsx22(
9831
9876
  motion5.path,
9832
9877
  {
9833
9878
  animate: controls,
@@ -9846,7 +9891,7 @@ var AtomIcon = forwardRef7(
9846
9891
  AtomIcon.displayName = "AtomIcon";
9847
9892
 
9848
9893
  // shared/agentConversation/components/tool-renderers/file-diff/AgentMonacoDiffViewer.tsx
9849
- import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
9894
+ import { jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
9850
9895
  var MonacoDiffEditor = lazy(async () => {
9851
9896
  const module = await import("@monaco-editor/react");
9852
9897
  return { default: module.DiffEditor };
@@ -9859,24 +9904,31 @@ function AgentMonacoDiffViewer({
9859
9904
  showHeader = true
9860
9905
  }) {
9861
9906
  "use memo";
9862
- return /* @__PURE__ */ jsxs15(
9907
+ return /* @__PURE__ */ jsxs16(
9863
9908
  "div",
9864
9909
  {
9865
9910
  className: `overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] ${flat ? "workspace-agents-status-panel__detail-tool-monaco--flat" : ""}`,
9866
9911
  children: [
9867
- showHeader ? /* @__PURE__ */ jsx22(
9912
+ showHeader ? /* @__PURE__ */ jsx23(
9868
9913
  "div",
9869
9914
  {
9870
9915
  className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
9871
9916
  "data-agent-diff-header": "true",
9872
- children: path || "Diff"
9917
+ children: /* @__PURE__ */ jsx23(
9918
+ AgentPathTailLabel,
9919
+ {
9920
+ path,
9921
+ fallback: "Diff",
9922
+ className: "font-[var(--tsh-font-mono)]"
9923
+ }
9924
+ )
9873
9925
  }
9874
9926
  ) : null,
9875
- /* @__PURE__ */ jsx22("div", { className: "h-[220px] bg-[var(--background-panel)]", children: /* @__PURE__ */ jsx22(
9927
+ /* @__PURE__ */ jsx23("div", { className: "h-[220px] bg-[var(--background-panel)]", children: /* @__PURE__ */ jsx23(
9876
9928
  Suspense,
9877
9929
  {
9878
- fallback: /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
9879
- /* @__PURE__ */ jsx22(
9930
+ fallback: /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
9931
+ /* @__PURE__ */ jsx23(
9880
9932
  AtomIcon,
9881
9933
  {
9882
9934
  size: 14,
@@ -9885,9 +9937,9 @@ function AgentMonacoDiffViewer({
9885
9937
  className: "shrink-0"
9886
9938
  }
9887
9939
  ),
9888
- /* @__PURE__ */ jsx22("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
9940
+ /* @__PURE__ */ jsx23("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
9889
9941
  ] }),
9890
- children: /* @__PURE__ */ jsx22(
9942
+ children: /* @__PURE__ */ jsx23(
9891
9943
  MonacoDiffEditor,
9892
9944
  {
9893
9945
  original: oldValue,
@@ -9933,7 +9985,7 @@ function languageForPath2(path) {
9933
9985
  import { useMemo as useMemo3, useState as useState7 } from "react";
9934
9986
 
9935
9987
  // shared/agentConversation/components/tool-renderers/AgentToolScrollArea.tsx
9936
- import { jsx as jsx23 } from "react/jsx-runtime";
9988
+ import { jsx as jsx24 } from "react/jsx-runtime";
9937
9989
  function AgentToolScrollArea({
9938
9990
  children,
9939
9991
  className,
@@ -9942,7 +9994,7 @@ function AgentToolScrollArea({
9942
9994
  ...props
9943
9995
  }) {
9944
9996
  "use memo";
9945
- return /* @__PURE__ */ jsx23(
9997
+ return /* @__PURE__ */ jsx24(
9946
9998
  CustomScrollArea,
9947
9999
  {
9948
10000
  className: cn(
@@ -10046,7 +10098,7 @@ function parseAgentUnifiedDiffStats(diffText) {
10046
10098
  }
10047
10099
 
10048
10100
  // shared/agentConversation/components/tool-renderers/file-diff/AgentUnifiedPatchViewer.tsx
10049
- import { Fragment as Fragment4, jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
10101
+ import { Fragment as Fragment4, jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
10050
10102
  var MAX_VISIBLE_LINES2 = 120;
10051
10103
  function AgentUnifiedPatchViewer({
10052
10104
  path,
@@ -10092,7 +10144,7 @@ function AgentUnifiedPatchViewer({
10092
10144
  if (!normalized) {
10093
10145
  return null;
10094
10146
  }
10095
- const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */ jsx24(
10147
+ const disclosureButton = collapsible && lines.length > MAX_VISIBLE_LINES2 ? /* @__PURE__ */ jsx25(
10096
10148
  "button",
10097
10149
  {
10098
10150
  type: "button",
@@ -10103,18 +10155,18 @@ function AgentUnifiedPatchViewer({
10103
10155
  })
10104
10156
  }
10105
10157
  ) : null;
10106
- return /* @__PURE__ */ jsx24(
10158
+ return /* @__PURE__ */ jsx25(
10107
10159
  "div",
10108
10160
  {
10109
10161
  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" : ""}`,
10110
- children: flat ? /* @__PURE__ */ jsxs16(Fragment4, { children: [
10111
- showHeader ? /* @__PURE__ */ jsxs16(
10162
+ children: flat ? /* @__PURE__ */ jsxs17(Fragment4, { children: [
10163
+ showHeader ? /* @__PURE__ */ jsxs17(
10112
10164
  "div",
10113
10165
  {
10114
10166
  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]",
10115
10167
  "data-agent-diff-header": "true",
10116
10168
  children: [
10117
- /* @__PURE__ */ jsx24(
10169
+ /* @__PURE__ */ jsx25(
10118
10170
  "span",
10119
10171
  {
10120
10172
  className: "truncate font-[var(--tsh-font-mono)] text-[var(--text-secondary)]",
@@ -10122,12 +10174,12 @@ function AgentUnifiedPatchViewer({
10122
10174
  children: fileLabel
10123
10175
  }
10124
10176
  ),
10125
- /* @__PURE__ */ jsxs16("span", { className: "inline-flex items-center gap-2 text-[11px] font-semibold", children: [
10126
- /* @__PURE__ */ jsxs16("span", { className: "text-[var(--state-success)]", children: [
10177
+ /* @__PURE__ */ jsxs17("span", { className: "inline-flex items-center gap-2 text-[11px] font-semibold", children: [
10178
+ /* @__PURE__ */ jsxs17("span", { className: "text-[var(--state-success)]", children: [
10127
10179
  "+",
10128
10180
  stats.added
10129
10181
  ] }),
10130
- /* @__PURE__ */ jsxs16("span", { className: "text-[var(--state-danger)]", children: [
10182
+ /* @__PURE__ */ jsxs17("span", { className: "text-[var(--state-danger)]", children: [
10131
10183
  "-",
10132
10184
  stats.removed
10133
10185
  ] })
@@ -10135,23 +10187,30 @@ function AgentUnifiedPatchViewer({
10135
10187
  ]
10136
10188
  }
10137
10189
  ) : null,
10138
- /* @__PURE__ */ jsxs16(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport", children: [
10139
- visibleDiffLines.map(({ key, line }) => /* @__PURE__ */ jsxs16("div", { className: flatLineClassName(line.kind), children: [
10140
- /* @__PURE__ */ jsx24("div", { className: "select-none px-2.5 text-right text-[var(--text-tertiary)]", children: line.newLineNumber ?? line.oldLineNumber ?? "" }),
10141
- /* @__PURE__ */ jsx24("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx24("code", { children: line.text || " " }) })
10190
+ /* @__PURE__ */ jsxs17(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport", children: [
10191
+ visibleDiffLines.map(({ key, line }) => /* @__PURE__ */ jsxs17("div", { className: flatLineClassName(line.kind), children: [
10192
+ /* @__PURE__ */ jsx25("div", { className: "select-none px-2.5 text-right text-[var(--text-tertiary)]", children: line.newLineNumber ?? line.oldLineNumber ?? "" }),
10193
+ /* @__PURE__ */ jsx25("pre", { className: "m-0 overflow-x-auto px-3 py-0 text-[var(--text-primary)]", children: /* @__PURE__ */ jsx25("code", { children: line.text || " " }) })
10142
10194
  ] }, key)),
10143
10195
  disclosureButton
10144
10196
  ] })
10145
- ] }) : /* @__PURE__ */ jsxs16(Fragment4, { children: [
10146
- showHeader ? /* @__PURE__ */ jsx24(
10197
+ ] }) : /* @__PURE__ */ jsxs17(Fragment4, { children: [
10198
+ showHeader ? /* @__PURE__ */ jsx25(
10147
10199
  "div",
10148
10200
  {
10149
10201
  className: "border-b border-[var(--line-2)] bg-[var(--transparency-block)] px-3 py-1.5 text-[11px] text-[var(--text-secondary)]",
10150
10202
  "data-agent-diff-header": "true",
10151
- children: path || "Patch"
10203
+ children: /* @__PURE__ */ jsx25(
10204
+ AgentPathTailLabel,
10205
+ {
10206
+ path,
10207
+ fallback: "Patch",
10208
+ className: "font-[var(--tsh-font-mono)]"
10209
+ }
10210
+ )
10152
10211
  }
10153
10212
  ) : null,
10154
- /* @__PURE__ */ jsx24(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport px-4 py-3 text-[11px] leading-5", children: visibleLines.map(({ key, line }) => /* @__PURE__ */ jsx24("div", { className: lineClassName(line), children: line || " " }, key)) }),
10213
+ /* @__PURE__ */ jsx25(AgentToolScrollArea, { viewportClassName: "agent-tool-diff__viewport px-4 py-3 text-[11px] leading-5", children: visibleLines.map(({ key, line }) => /* @__PURE__ */ jsx25("div", { className: lineClassName(line), children: line || " " }, key)) }),
10155
10214
  disclosureButton
10156
10215
  ] })
10157
10216
  }
@@ -10213,7 +10272,7 @@ import {
10213
10272
  import { ChevronDown as ChevronDown5, ChevronRight as ChevronRight5 } from "lucide-react";
10214
10273
 
10215
10274
  // shared/agentConversation/components/tool-renderers/AgentReadContent.tsx
10216
- import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
10275
+ import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
10217
10276
  function AgentReadContent({
10218
10277
  call
10219
10278
  }) {
@@ -10223,16 +10282,23 @@ function AgentReadContent({
10223
10282
  const outputText = stringValue9(call.output?.text) ?? stringValue9(call.output?.output) ?? contentText2(call.output?.content) ?? stringValue9(call.output?.aggregated_output) ?? stringValue9(call.output?.formatted_output) ?? stringValue9(call.output?.stdout) ?? (!file ? call.summary.trim() || null : null);
10224
10283
  const fileLineRange = fileRange(file);
10225
10284
  const fileTotalLines = numericValue(file?.totalLines);
10226
- return /* @__PURE__ */ jsx25("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: outputText ? /* @__PURE__ */ jsx25(
10285
+ return /* @__PURE__ */ jsx26("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: outputText ? /* @__PURE__ */ jsx26(
10227
10286
  AgentCodeBlock,
10228
10287
  {
10229
10288
  path,
10230
10289
  content: outputText,
10231
10290
  language: languageForPath3(path)
10232
10291
  }
10233
- ) : path || fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsxs17("div", { className: "rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] px-3 py-2", children: [
10234
- path ? /* @__PURE__ */ jsx25("div", { className: "font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-secondary)]", children: path }) : null,
10235
- fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsx25("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: [
10292
+ ) : path || fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsxs18("div", { className: "rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)] px-3 py-2", children: [
10293
+ path ? /* @__PURE__ */ jsx26(
10294
+ AgentPathTailLabel,
10295
+ {
10296
+ path,
10297
+ fallback: "File",
10298
+ className: "font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-secondary)]"
10299
+ }
10300
+ ) : null,
10301
+ fileLineRange || fileTotalLines !== null ? /* @__PURE__ */ jsx26("div", { className: "mt-1 text-[11px] text-[var(--text-secondary)]", children: [
10236
10302
  fileLineRange,
10237
10303
  fileTotalLines !== null ? `${fileTotalLines} lines` : null
10238
10304
  ].filter((value) => Boolean(value)).join(" \xB7 ") }) : null
@@ -10296,14 +10362,14 @@ function languageForPath3(path) {
10296
10362
  }
10297
10363
 
10298
10364
  // shared/agentConversation/components/tool-renderers/agentToolContentShared.tsx
10299
- import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
10365
+ import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
10300
10366
  var AgentToolPreviewModeContext = createContext(false);
10301
10367
  function AgentToolPreviewModeProvider({
10302
10368
  children,
10303
10369
  previewMode
10304
10370
  }) {
10305
10371
  "use memo";
10306
- return /* @__PURE__ */ jsx26(AgentToolPreviewModeContext.Provider, { value: previewMode, children });
10372
+ return /* @__PURE__ */ jsx27(AgentToolPreviewModeContext.Provider, { value: previewMode, children });
10307
10373
  }
10308
10374
  function ToolSection({
10309
10375
  title,
@@ -10313,8 +10379,8 @@ function ToolSection({
10313
10379
  if (!children) {
10314
10380
  return null;
10315
10381
  }
10316
- return /* @__PURE__ */ jsxs18("section", { className: "workspace-agents-status-panel__detail-tool-section-block", children: [
10317
- /* @__PURE__ */ jsx26("div", { className: "workspace-agents-status-panel__detail-tool-section-title", children: title }),
10382
+ return /* @__PURE__ */ jsxs19("section", { className: "workspace-agents-status-panel__detail-tool-section-block", children: [
10383
+ /* @__PURE__ */ jsx27("div", { className: "workspace-agents-status-panel__detail-tool-section-title", children: title }),
10318
10384
  children
10319
10385
  ] });
10320
10386
  }
@@ -10331,7 +10397,7 @@ function ToolMarkdownBlock({
10331
10397
  if (!normalized) {
10332
10398
  return null;
10333
10399
  }
10334
- return /* @__PURE__ */ jsx26(
10400
+ return /* @__PURE__ */ jsx27(
10335
10401
  AgentMessageMarkdown,
10336
10402
  {
10337
10403
  content: normalized,
@@ -10394,8 +10460,8 @@ function AgentDefaultToolContent({
10394
10460
  if (sections.length === 0 && !rawPayload) {
10395
10461
  return null;
10396
10462
  }
10397
- return /* @__PURE__ */ jsxs18("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
10398
- sections.map((section) => /* @__PURE__ */ jsx26(ToolSection, { title: section.title, children: /* @__PURE__ */ jsx26(
10463
+ return /* @__PURE__ */ jsxs19("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
10464
+ sections.map((section) => /* @__PURE__ */ jsx27(ToolSection, { title: section.title, children: /* @__PURE__ */ jsx27(
10399
10465
  ToolMarkdownBlock,
10400
10466
  {
10401
10467
  content: section.content,
@@ -10403,7 +10469,7 @@ function AgentDefaultToolContent({
10403
10469
  collapsible: section.collapsible
10404
10470
  }
10405
10471
  ) }, section.key)),
10406
- /* @__PURE__ */ jsx26(RawPayloadSection, { payload: rawPayload })
10472
+ /* @__PURE__ */ jsx27(RawPayloadSection, { payload: rawPayload })
10407
10473
  ] });
10408
10474
  }
10409
10475
  function hasAgentToolContent(call) {
@@ -10530,8 +10596,8 @@ function RawPayloadSection({
10530
10596
  if (!rawJson) {
10531
10597
  return null;
10532
10598
  }
10533
- return /* @__PURE__ */ jsxs18("div", { className: "workspace-agents-status-panel__detail-tool-raw", children: [
10534
- /* @__PURE__ */ jsxs18(
10599
+ return /* @__PURE__ */ jsxs19("div", { className: "workspace-agents-status-panel__detail-tool-raw", children: [
10600
+ /* @__PURE__ */ jsxs19(
10535
10601
  "button",
10536
10602
  {
10537
10603
  type: "button",
@@ -10539,8 +10605,8 @@ function RawPayloadSection({
10539
10605
  "aria-expanded": expanded,
10540
10606
  onClick: () => setExpanded((value) => !value),
10541
10607
  children: [
10542
- /* @__PURE__ */ jsx26("span", { children: translate("agentHost.agentTool.details.rawPayload") }),
10543
- expanded ? /* @__PURE__ */ jsx26(
10608
+ /* @__PURE__ */ jsx27("span", { children: translate("agentHost.agentTool.details.rawPayload") }),
10609
+ expanded ? /* @__PURE__ */ jsx27(
10544
10610
  ChevronDown5,
10545
10611
  {
10546
10612
  size: 12,
@@ -10548,7 +10614,7 @@ function RawPayloadSection({
10548
10614
  "aria-hidden": "true",
10549
10615
  className: "shrink-0 opacity-0 transition-opacity duration-150 group-hover/raw-payload:opacity-100 group-focus-visible/raw-payload:opacity-100"
10550
10616
  }
10551
- ) : /* @__PURE__ */ jsx26(
10617
+ ) : /* @__PURE__ */ jsx27(
10552
10618
  ChevronRight5,
10553
10619
  {
10554
10620
  size: 12,
@@ -10560,7 +10626,7 @@ function RawPayloadSection({
10560
10626
  ]
10561
10627
  }
10562
10628
  ),
10563
- /* @__PURE__ */ jsx26(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx26("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__ */ jsx26("code", { children: rawJson }) }) })
10629
+ /* @__PURE__ */ jsx27(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx27("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__ */ jsx27("code", { children: rawJson }) }) })
10564
10630
  ] });
10565
10631
  }
10566
10632
  function rawPayloadFromCall(call) {
@@ -10608,7 +10674,7 @@ function normalizeToolSectionContent(value) {
10608
10674
  }
10609
10675
 
10610
10676
  // shared/agentConversation/components/tool-renderers/AgentEditContent.tsx
10611
- import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
10677
+ import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
10612
10678
  function AgentEditContent({
10613
10679
  call,
10614
10680
  onLinkClick
@@ -10628,9 +10694,9 @@ function AgentEditContent({
10628
10694
  if (!hasRenderableContent) {
10629
10695
  return null;
10630
10696
  }
10631
- return /* @__PURE__ */ jsxs19("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
10632
- path && files.length === 0 ? /* @__PURE__ */ jsx27(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
10633
- patchFiles.map((candidate) => /* @__PURE__ */ jsx27(
10697
+ return /* @__PURE__ */ jsxs20("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
10698
+ path && files.length === 0 ? /* @__PURE__ */ jsx28(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
10699
+ patchFiles.map((candidate) => /* @__PURE__ */ jsx28(
10634
10700
  AgentUnifiedPatchViewer,
10635
10701
  {
10636
10702
  path: candidate.path,
@@ -10640,7 +10706,7 @@ function AgentEditContent({
10640
10706
  },
10641
10707
  `patch:${candidate.path}`
10642
10708
  )),
10643
- diffFiles.map((candidate) => /* @__PURE__ */ jsx27(
10709
+ diffFiles.map((candidate) => /* @__PURE__ */ jsx28(
10644
10710
  AgentMonacoDiffViewer,
10645
10711
  {
10646
10712
  path: candidate.path,
@@ -10650,7 +10716,7 @@ function AgentEditContent({
10650
10716
  },
10651
10717
  `diff:${candidate.path}`
10652
10718
  )),
10653
- contentFiles.map((candidate) => /* @__PURE__ */ jsx27(
10719
+ contentFiles.map((candidate) => /* @__PURE__ */ jsx28(
10654
10720
  AgentCodeBlock,
10655
10721
  {
10656
10722
  path: candidate.path,
@@ -10665,7 +10731,7 @@ function AgentEditContent({
10665
10731
  }
10666
10732
 
10667
10733
  // shared/agentConversation/components/tool-renderers/AgentApprovalContent.tsx
10668
- import { jsx as jsx28 } from "react/jsx-runtime";
10734
+ import { jsx as jsx29 } from "react/jsx-runtime";
10669
10735
  function AgentApprovalContent({
10670
10736
  call,
10671
10737
  onLinkClick
@@ -10676,9 +10742,9 @@ function AgentApprovalContent({
10676
10742
  return null;
10677
10743
  }
10678
10744
  if (previewCall) {
10679
- return /* @__PURE__ */ jsx28(AgentEditContent, { call: previewCall, onLinkClick });
10745
+ return /* @__PURE__ */ jsx29(AgentEditContent, { call: previewCall, onLinkClick });
10680
10746
  }
10681
- return /* @__PURE__ */ jsx28("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx28(ToolMarkdownBlock, { content: call.summary }) });
10747
+ return /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx29(ToolMarkdownBlock, { content: call.summary }) });
10682
10748
  }
10683
10749
  function approvalPreviewCall(call) {
10684
10750
  const toolCall = objectValue6(call.input?.toolCall);
@@ -10730,7 +10796,7 @@ function normalizeToolKind(value) {
10730
10796
  }
10731
10797
 
10732
10798
  // shared/agentConversation/components/tool-renderers/AgentAskUserQuestionContent.tsx
10733
- import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
10799
+ import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
10734
10800
  function AgentAskUserQuestionContent({
10735
10801
  call
10736
10802
  }) {
@@ -10739,31 +10805,31 @@ function AgentAskUserQuestionContent({
10739
10805
  if (questions.length === 0) {
10740
10806
  return null;
10741
10807
  }
10742
- return /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx29(ToolSection, { title: translate("agentHost.agentTool.details.questions"), children: /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: questions.map((question) => {
10808
+ return /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx30(ToolSection, { title: translate("agentHost.agentTool.details.questions"), children: /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: questions.map((question) => {
10743
10809
  const body = question.question || question.header || translate("agentHost.agentTool.details.questionFallback");
10744
10810
  const answer = formatAnswer(question.answer);
10745
10811
  const questionKey = question.id.trim() || `${question.header}:${question.question}:${question.options.map((option) => option.label).join("|")}`;
10746
- return /* @__PURE__ */ jsxs20(
10812
+ return /* @__PURE__ */ jsxs21(
10747
10813
  "div",
10748
10814
  {
10749
10815
  className: "workspace-agents-status-panel__detail-tool-stack-item",
10750
10816
  children: [
10751
- /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-question", children: body }),
10752
- question.options.length > 0 ? /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: question.options.map((option) => /* @__PURE__ */ jsxs20(
10817
+ /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-question", children: body }),
10818
+ question.options.length > 0 ? /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: question.options.map((option) => /* @__PURE__ */ jsxs21(
10753
10819
  "div",
10754
10820
  {
10755
10821
  className: "workspace-agents-status-panel__detail-tool-stack-item",
10756
10822
  children: [
10757
- /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: option.label }),
10758
- option.description ? /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: option.description }) : null
10823
+ /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: option.label }),
10824
+ option.description ? /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: option.description }) : null
10759
10825
  ]
10760
10826
  },
10761
10827
  `${questionKey}-option-${option.label}:${option.description}`
10762
10828
  )) }) : null,
10763
- answer ? /* @__PURE__ */ jsx29("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: translate("agentHost.agentTool.details.answerPrefix", {
10829
+ answer ? /* @__PURE__ */ jsx30("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: translate("agentHost.agentTool.details.answerPrefix", {
10764
10830
  answer
10765
- }) }) : /* @__PURE__ */ jsxs20("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: [
10766
- /* @__PURE__ */ jsx29(
10831
+ }) }) : /* @__PURE__ */ jsxs21("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: [
10832
+ /* @__PURE__ */ jsx30(
10767
10833
  MessageSquareMoreIcon,
10768
10834
  {
10769
10835
  size: 14,
@@ -10789,7 +10855,7 @@ function formatAnswer(answer) {
10789
10855
 
10790
10856
  // shared/agentConversation/components/tool-renderers/terminal/AgentTerminalBlock.tsx
10791
10857
  import { useMemo as useMemo4, useState as useState9 } from "react";
10792
- import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
10858
+ import { jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
10793
10859
  var MAX_OUTPUT_LINES = 200;
10794
10860
  function AgentTerminalBlock({
10795
10861
  command,
@@ -10811,7 +10877,7 @@ function AgentTerminalBlock({
10811
10877
  const visibleOutput = truncated ? outputLines.slice(0, MAX_OUTPUT_LINES).join("\n") : outputText;
10812
10878
  const failed = status === "failed";
10813
10879
  const hasOutput = Boolean(visibleOutput);
10814
- const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */ jsx30(
10880
+ const disclosureButton = outputLines.length > MAX_OUTPUT_LINES ? /* @__PURE__ */ jsx31(
10815
10881
  "button",
10816
10882
  {
10817
10883
  type: "button",
@@ -10820,15 +10886,15 @@ function AgentTerminalBlock({
10820
10886
  children: expanded ? "Collapse output" : `Show full output (${outputLines.length} lines)`
10821
10887
  }
10822
10888
  ) : null;
10823
- return /* @__PURE__ */ jsxs21("div", { className: "workspace-agents-status-panel__detail-tool-terminal overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)]", children: [
10824
- command ? /* @__PURE__ */ jsxs21(
10889
+ return /* @__PURE__ */ jsxs22("div", { className: "workspace-agents-status-panel__detail-tool-terminal overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--background-panel)]", children: [
10890
+ command ? /* @__PURE__ */ jsxs22(
10825
10891
  "div",
10826
10892
  {
10827
10893
  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"}`,
10828
10894
  "data-agent-terminal-command-row": "true",
10829
10895
  children: [
10830
- /* @__PURE__ */ jsx30("span", { className: "shrink-0 font-semibold text-[var(--tutti-purple)]", children: "$" }),
10831
- /* @__PURE__ */ jsx30(
10896
+ /* @__PURE__ */ jsx31("span", { className: "shrink-0 font-semibold text-[var(--tutti-purple)]", children: "$" }),
10897
+ /* @__PURE__ */ jsx31(
10832
10898
  "span",
10833
10899
  {
10834
10900
  className: "min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]",
@@ -10839,13 +10905,13 @@ function AgentTerminalBlock({
10839
10905
  ]
10840
10906
  }
10841
10907
  ) : null,
10842
- hasOutput ? /* @__PURE__ */ jsxs21(
10908
+ hasOutput ? /* @__PURE__ */ jsxs22(
10843
10909
  AgentToolScrollArea,
10844
10910
  {
10845
10911
  maxHeightClassName: "max-h-[160px]",
10846
10912
  viewportClassName: `px-3 py-2 text-[11px] leading-5 ${failed ? "text-[var(--state-danger)]" : "text-[var(--text-primary)]"}`,
10847
10913
  children: [
10848
- /* @__PURE__ */ jsx30("pre", { className: "m-0 min-w-0 max-w-full whitespace-pre-wrap [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx30("code", { children: visibleOutput }) }),
10914
+ /* @__PURE__ */ jsx31("pre", { className: "m-0 min-w-0 max-w-full whitespace-pre-wrap [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx31("code", { children: visibleOutput }) }),
10849
10915
  disclosureButton
10850
10916
  ]
10851
10917
  }
@@ -10854,14 +10920,14 @@ function AgentTerminalBlock({
10854
10920
  }
10855
10921
 
10856
10922
  // shared/agentConversation/components/tool-renderers/AgentBashContent.tsx
10857
- import { jsx as jsx31 } from "react/jsx-runtime";
10923
+ import { jsx as jsx32 } from "react/jsx-runtime";
10858
10924
  function AgentBashContent({
10859
10925
  call
10860
10926
  }) {
10861
10927
  "use memo";
10862
10928
  const commandData = getCommandRenderData(call);
10863
10929
  const fallbackErrorText = commandData.status === "failed" && !commandData.stdout && !commandData.stderr ? stringValue9(call.error?.message) : null;
10864
- return /* @__PURE__ */ jsx31("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: /* @__PURE__ */ jsx31(
10930
+ return /* @__PURE__ */ jsx32("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--plain", children: /* @__PURE__ */ jsx32(
10865
10931
  AgentTerminalBlock,
10866
10932
  {
10867
10933
  command: commandData.command,
@@ -10877,7 +10943,7 @@ function AgentBashContent({
10877
10943
  // shared/agentConversation/components/tool-renderers/AgentImageGenerationContent.tsx
10878
10944
  import { useEffect as useEffect9, useState as useState10 } from "react";
10879
10945
  import { resolveWorkspaceImageMimeType } from "@tutti-os/workspace-file-manager/services";
10880
- import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
10946
+ import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
10881
10947
  function AgentImageGenerationContent({
10882
10948
  call,
10883
10949
  onLinkClick
@@ -10887,8 +10953,8 @@ function AgentImageGenerationContent({
10887
10953
  if (!image.prompt && !image.imageUri) {
10888
10954
  return null;
10889
10955
  }
10890
- return /* @__PURE__ */ jsxs22("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
10891
- image.prompt ? /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx32(
10956
+ return /* @__PURE__ */ jsxs23("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
10957
+ image.prompt ? /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx33(
10892
10958
  ToolMarkdownBlock,
10893
10959
  {
10894
10960
  content: image.prompt,
@@ -10896,7 +10962,7 @@ function AgentImageGenerationContent({
10896
10962
  collapsible: true
10897
10963
  }
10898
10964
  ) }) : null,
10899
- image.imageUri ? /* @__PURE__ */ jsx32(
10965
+ image.imageUri ? /* @__PURE__ */ jsx33(
10900
10966
  ImageGenerationPreview,
10901
10967
  {
10902
10968
  uri: image.imageUri,
@@ -10961,7 +11027,7 @@ function ImageGenerationPreview({
10961
11027
  if (!src) {
10962
11028
  return null;
10963
11029
  }
10964
- return /* @__PURE__ */ jsx32(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx32(
11030
+ return /* @__PURE__ */ jsx33(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx33(
10965
11031
  ZoomableImage,
10966
11032
  {
10967
11033
  alt: translate("agentHost.agentTool.details.imagePreviewAlt"),
@@ -11114,43 +11180,43 @@ function firstString5(...values) {
11114
11180
  }
11115
11181
 
11116
11182
  // shared/agentConversation/components/tool-renderers/mcp-renderers/agentAtlassianRenderers.tsx
11117
- import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
11183
+ import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
11118
11184
  function renderAtlassianMcp(payload) {
11119
11185
  const items = parsedItems(payload.structured);
11120
11186
  if (items.length > 0) {
11121
- return /* @__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: items.map((item, index) => /* @__PURE__ */ jsxs23(
11187
+ return /* @__PURE__ */ jsx34("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__ */ jsxs24(
11122
11188
  "div",
11123
11189
  {
11124
11190
  className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
11125
11191
  children: [
11126
- /* @__PURE__ */ jsx33("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? `Item ${index + 1}` }),
11127
- itemSecondaryText(item) ? /* @__PURE__ */ jsx33("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
11192
+ /* @__PURE__ */ jsx34("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? `Item ${index + 1}` }),
11193
+ itemSecondaryText(item) ? /* @__PURE__ */ jsx34("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
11128
11194
  ]
11129
11195
  },
11130
11196
  `${itemPrimaryText(item) ?? "item"}::${itemSecondaryText(item) ?? ""}`
11131
11197
  )) });
11132
11198
  }
11133
- return payload.text ? /* @__PURE__ */ jsx33(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
11199
+ return payload.text ? /* @__PURE__ */ jsx34(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
11134
11200
  }
11135
11201
 
11136
11202
  // shared/agentConversation/components/tool-renderers/mcp-renderers/agentContext7Renderers.tsx
11137
- import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
11203
+ import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
11138
11204
  function renderContext7Mcp(payload) {
11139
11205
  const items = parsedItems(payload.structured);
11140
11206
  if (items.length > 0) {
11141
- return /* @__PURE__ */ jsx34("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__ */ jsxs24(
11207
+ return /* @__PURE__ */ jsx35("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__ */ jsxs25(
11142
11208
  "div",
11143
11209
  {
11144
11210
  className: `px-3 py-2 ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
11145
11211
  children: [
11146
- /* @__PURE__ */ jsx34("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? `Doc ${index + 1}` }),
11147
- itemSecondaryText(item) ? /* @__PURE__ */ jsx34("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
11212
+ /* @__PURE__ */ jsx35("div", { className: "text-[11px] font-semibold text-[var(--text-primary)]", children: itemPrimaryText(item) ?? `Doc ${index + 1}` }),
11213
+ itemSecondaryText(item) ? /* @__PURE__ */ jsx35("div", { className: "text-[11px] text-[var(--text-tertiary)]", children: itemSecondaryText(item) }) : null
11148
11214
  ]
11149
11215
  },
11150
11216
  `${itemPrimaryText(item) ?? "doc"}::${itemSecondaryText(item) ?? ""}`
11151
11217
  )) });
11152
11218
  }
11153
- return payload.text ? /* @__PURE__ */ jsx34(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
11219
+ return payload.text ? /* @__PURE__ */ jsx35(ToolMarkdownBlock, { content: payload.text, collapsible: true }) : null;
11154
11220
  }
11155
11221
 
11156
11222
  // shared/agentConversation/components/tool-renderers/mcp-renderers/agentMcpRendererRegistry.tsx
@@ -11166,7 +11232,7 @@ function renderRegisteredMcp(payload) {
11166
11232
  }
11167
11233
 
11168
11234
  // shared/agentConversation/components/tool-renderers/AgentMcpToolContent.tsx
11169
- import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
11235
+ import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
11170
11236
  function AgentMcpToolContent({
11171
11237
  call,
11172
11238
  onLinkClick
@@ -11178,8 +11244,8 @@ function AgentMcpToolContent({
11178
11244
  payload.text,
11179
11245
  payload.inputSummary
11180
11246
  );
11181
- return /* @__PURE__ */ jsxs25("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11182
- payload.server || payload.tool ? /* @__PURE__ */ jsx35(ToolSection, { title: translate("agentHost.agentTool.details.mcp"), children: /* @__PURE__ */ jsx35(
11247
+ return /* @__PURE__ */ jsxs26("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11248
+ payload.server || payload.tool ? /* @__PURE__ */ jsx36(ToolSection, { title: translate("agentHost.agentTool.details.mcp"), children: /* @__PURE__ */ jsx36(
11183
11249
  ToolMarkdownBlock,
11184
11250
  {
11185
11251
  content: [
@@ -11189,14 +11255,14 @@ function AgentMcpToolContent({
11189
11255
  onLinkClick
11190
11256
  }
11191
11257
  ) }) : null,
11192
- payload.inputSummary ? /* @__PURE__ */ jsx35(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx35(
11258
+ payload.inputSummary ? /* @__PURE__ */ jsx36(ToolSection, { title: translate("agentHost.agentTool.details.input"), children: /* @__PURE__ */ jsx36(
11193
11259
  ToolMarkdownBlock,
11194
11260
  {
11195
11261
  content: payload.inputSummary,
11196
11262
  onLinkClick
11197
11263
  }
11198
11264
  ) }) : null,
11199
- specialized ? /* @__PURE__ */ jsx35(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: specialized }) : visibleText ? /* @__PURE__ */ jsx35(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx35(
11265
+ specialized ? /* @__PURE__ */ jsx36(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: specialized }) : visibleText ? /* @__PURE__ */ jsx36(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx36(
11200
11266
  ToolMarkdownBlock,
11201
11267
  {
11202
11268
  content: visibleText,
@@ -11204,12 +11270,12 @@ function AgentMcpToolContent({
11204
11270
  collapsible: true
11205
11271
  }
11206
11272
  ) }) : null,
11207
- /* @__PURE__ */ jsx35(RawPayloadSection, { payload: call.payload ?? payload.structured })
11273
+ /* @__PURE__ */ jsx36(RawPayloadSection, { payload: call.payload ?? payload.structured })
11208
11274
  ] });
11209
11275
  }
11210
11276
 
11211
11277
  // shared/agentConversation/components/tool-renderers/AgentPlanModeContent.tsx
11212
- import { jsx as jsx36 } from "react/jsx-runtime";
11278
+ import { jsx as jsx37 } from "react/jsx-runtime";
11213
11279
  function AgentPlanModeContent({
11214
11280
  call,
11215
11281
  onLinkClick
@@ -11220,7 +11286,7 @@ function AgentPlanModeContent({
11220
11286
  if (!planMode.enterText) {
11221
11287
  return null;
11222
11288
  }
11223
- return /* @__PURE__ */ jsx36("div", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-2 text-[11px] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsx36(
11289
+ return /* @__PURE__ */ jsx37("div", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-2 text-[11px] text-[var(--text-secondary)]", children: /* @__PURE__ */ jsx37(
11224
11290
  ToolMarkdownBlock,
11225
11291
  {
11226
11292
  content: planMode.enterText,
@@ -11231,18 +11297,18 @@ function AgentPlanModeContent({
11231
11297
  if (!planMode.plan) {
11232
11298
  return null;
11233
11299
  }
11234
- return /* @__PURE__ */ jsx36(
11300
+ return /* @__PURE__ */ jsx37(
11235
11301
  AgentPlanCard,
11236
11302
  {
11237
11303
  title: planMode.fileName ?? void 0,
11238
11304
  copyText: planMode.plan,
11239
- children: /* @__PURE__ */ jsx36(ToolMarkdownBlock, { content: planMode.plan, onLinkClick })
11305
+ children: /* @__PURE__ */ jsx37(ToolMarkdownBlock, { content: planMode.plan, onLinkClick })
11240
11306
  }
11241
11307
  );
11242
11308
  }
11243
11309
 
11244
11310
  // shared/agentConversation/components/tool-renderers/AgentSearchContent.tsx
11245
- import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
11311
+ import { jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
11246
11312
  function AgentSearchContent({
11247
11313
  call,
11248
11314
  onLinkClick
@@ -11258,9 +11324,9 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
11258
11324
  visibleOutput.split("\n").filter(Boolean),
11259
11325
  "line"
11260
11326
  );
11261
- return /* @__PURE__ */ jsxs26("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11262
- queryText ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx37(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
11263
- (search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx37("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__ */ jsx37(
11327
+ return /* @__PURE__ */ jsxs27("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11328
+ queryText ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx38(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
11329
+ (search.mode === "files_with_matches" || search.mode === "list_files") && search.files.length > 0 ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx38("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: resultFiles.map(({ key, value: file, isFirst }) => /* @__PURE__ */ jsx38(
11264
11330
  "div",
11265
11331
  {
11266
11332
  className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${isFirst ? "" : "border-t border-[var(--line-2)]"}`,
@@ -11268,7 +11334,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
11268
11334
  },
11269
11335
  key
11270
11336
  )) }) }) : null,
11271
- search.mode === "content" && visibleOutput ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx37("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__ */ jsx37(
11337
+ search.mode === "content" && visibleOutput ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx38("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__ */ jsx38(
11272
11338
  "div",
11273
11339
  {
11274
11340
  className: line.includes(":") ? "text-[var(--text-primary)]" : "text-[var(--text-tertiary)]",
@@ -11276,9 +11342,9 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
11276
11342
  },
11277
11343
  key
11278
11344
  )) }) }) : null,
11279
- search.mode === "count" ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx37("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,
11280
- (search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx37("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatches") }) }) : null,
11281
- search.mode === "unknown" && visibleOutput ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx37(
11345
+ search.mode === "count" ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx38("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,
11346
+ (search.mode === "files_with_matches" || search.mode === "list_files" || search.mode === "count") && search.files.length === 0 && !visibleOutput && !search.error ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx38("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatches") }) }) : null,
11347
+ search.mode === "unknown" && visibleOutput ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx38(
11282
11348
  ToolMarkdownBlock,
11283
11349
  {
11284
11350
  content: visibleOutput,
@@ -11286,7 +11352,7 @@ ${translate("agentHost.agentTool.details.scope")}: ${search.scope}`.trim() : sea
11286
11352
  collapsible: true
11287
11353
  }
11288
11354
  ) }) : null,
11289
- search.error ? /* @__PURE__ */ jsx37(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx37(
11355
+ search.error ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx38(
11290
11356
  ToolMarkdownBlock,
11291
11357
  {
11292
11358
  content: search.error,
@@ -11314,7 +11380,7 @@ function withStableOccurrenceKeys(values, prefix) {
11314
11380
  }
11315
11381
 
11316
11382
  // shared/agentConversation/components/tool-renderers/AgentSkillContent.tsx
11317
- import { jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
11383
+ import { jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
11318
11384
  function AgentSkillContent({
11319
11385
  call,
11320
11386
  onLinkClick
@@ -11324,8 +11390,8 @@ function AgentSkillContent({
11324
11390
  if (!skill.skill && !skill.statusText) {
11325
11391
  return null;
11326
11392
  }
11327
- return /* @__PURE__ */ jsxs27("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11328
- skill.skill ? /* @__PURE__ */ jsx38(ToolSection, { title: translate("agentHost.agentTool.details.skill"), children: /* @__PURE__ */ jsx38(
11393
+ return /* @__PURE__ */ jsxs28("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11394
+ skill.skill ? /* @__PURE__ */ jsx39(ToolSection, { title: translate("agentHost.agentTool.details.skill"), children: /* @__PURE__ */ jsx39(
11329
11395
  ToolMarkdownBlock,
11330
11396
  {
11331
11397
  content: skill.args ? `${skill.skill}
@@ -11334,19 +11400,19 @@ ${skill.args}` : skill.skill,
11334
11400
  onLinkClick
11335
11401
  }
11336
11402
  ) }) : null,
11337
- skill.statusText ? /* @__PURE__ */ jsx38("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: skill.statusText }) : null
11403
+ skill.statusText ? /* @__PURE__ */ jsx39("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: skill.statusText }) : null
11338
11404
  ] });
11339
11405
  }
11340
11406
 
11341
11407
  // shared/agentConversation/components/AgentTaskStepList.tsx
11342
11408
  import { useState as useState11 } from "react";
11343
- import { jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
11409
+ import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
11344
11410
  function AgentTaskStepList({
11345
11411
  steps,
11346
11412
  onLinkClick
11347
11413
  }) {
11348
11414
  "use memo";
11349
- return /* @__PURE__ */ jsx39("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: steps.map((step) => /* @__PURE__ */ jsx39(AgentTaskStepRow, { step, onLinkClick }, step.id)) });
11415
+ return /* @__PURE__ */ jsx40("div", { className: "workspace-agents-status-panel__detail-tool-stack", children: steps.map((step) => /* @__PURE__ */ jsx40(AgentTaskStepRow, { step, onLinkClick }, step.id)) });
11350
11416
  }
11351
11417
  function AgentTaskStepRow({
11352
11418
  step,
@@ -11357,8 +11423,8 @@ function AgentTaskStepRow({
11357
11423
  const call = step.tool ?? projectTaskStepCall(step);
11358
11424
  const hasDetail = hasAgentToolContent(call);
11359
11425
  const ariaLabel = taskStepAriaLabel(call);
11360
- return /* @__PURE__ */ jsxs28("div", { className: "workspace-agents-status-panel__detail-tool-row", children: [
11361
- hasDetail ? /* @__PURE__ */ jsx39(
11426
+ return /* @__PURE__ */ jsxs29("div", { className: "workspace-agents-status-panel__detail-tool-row", children: [
11427
+ hasDetail ? /* @__PURE__ */ jsx40(
11362
11428
  "button",
11363
11429
  {
11364
11430
  type: "button",
@@ -11366,11 +11432,11 @@ function AgentTaskStepRow({
11366
11432
  "aria-expanded": expanded,
11367
11433
  "aria-label": ariaLabel,
11368
11434
  onClick: () => setExpanded((value) => !value),
11369
- children: /* @__PURE__ */ jsx39(AgentToolCallHeader, { call, expanded, hasDetail: true })
11435
+ children: /* @__PURE__ */ jsx40(AgentToolCallHeader, { call, expanded, hasDetail: true })
11370
11436
  }
11371
- ) : /* @__PURE__ */ jsx39("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx39(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11372
- !hasDetail && step.summary ? /* @__PURE__ */ jsx39("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: step.summary }) : null,
11373
- hasDetail && expanded ? /* @__PURE__ */ jsx39(AgentExpandedToolContent, { call, onLinkClick }) : null
11437
+ ) : /* @__PURE__ */ jsx40("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx40(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11438
+ !hasDetail && step.summary ? /* @__PURE__ */ jsx40("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: step.summary }) : null,
11439
+ hasDetail && expanded ? /* @__PURE__ */ jsx40(AgentExpandedToolContent, { call, onLinkClick }) : null
11374
11440
  ] });
11375
11441
  }
11376
11442
  function taskStepAriaLabel(call) {
@@ -11401,36 +11467,36 @@ function projectTaskStepCall(step) {
11401
11467
  }
11402
11468
 
11403
11469
  // shared/agentConversation/components/tool-renderers/AgentTaskContent.tsx
11404
- import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
11470
+ import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
11405
11471
  function AgentTaskContent({
11406
11472
  call,
11407
11473
  onLinkClick
11408
11474
  }) {
11409
11475
  "use memo";
11410
11476
  const task = getTaskRenderData(call);
11411
- return /* @__PURE__ */ jsxs29("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11412
- /* @__PURE__ */ jsxs29("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: [
11413
- /* @__PURE__ */ jsx40("strong", { children: task.title }),
11414
- task.status ? /* @__PURE__ */ jsxs29("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
11477
+ return /* @__PURE__ */ jsxs30("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11478
+ /* @__PURE__ */ jsxs30("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: [
11479
+ /* @__PURE__ */ jsx41("strong", { children: task.title }),
11480
+ task.status ? /* @__PURE__ */ jsxs30("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
11415
11481
  " \xB7 ",
11416
11482
  task.status
11417
11483
  ] }) : null,
11418
- task.durationText ? /* @__PURE__ */ jsxs29("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
11484
+ task.durationText ? /* @__PURE__ */ jsxs30("span", { className: "workspace-agents-status-panel__detail-tool-answer--muted", children: [
11419
11485
  " \xB7 ",
11420
11486
  task.durationText
11421
11487
  ] }) : null
11422
11488
  ] }),
11423
- task.status === "running" && task.latestStepSummary ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.summary"), children: /* @__PURE__ */ jsx40("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: task.latestStepSummary }) }) : null,
11424
- task.prompt ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.prompt"), children: /* @__PURE__ */ jsx40(ToolMarkdownBlock, { content: task.prompt, onLinkClick }) }) : null,
11425
- task.childSessionId ? /* @__PURE__ */ jsx40(
11489
+ task.status === "running" && task.latestStepSummary ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.summary"), children: /* @__PURE__ */ jsx41("div", { className: "workspace-agents-status-panel__detail-tool-answer workspace-agents-status-panel__detail-tool-answer--muted", children: task.latestStepSummary }) }) : null,
11490
+ task.prompt ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.prompt"), children: /* @__PURE__ */ jsx41(ToolMarkdownBlock, { content: task.prompt, onLinkClick }) }) : null,
11491
+ task.childSessionId ? /* @__PURE__ */ jsx41(
11426
11492
  ToolSection,
11427
11493
  {
11428
11494
  title: translate("agentHost.agentTool.details.delegateSession"),
11429
- children: /* @__PURE__ */ jsx40("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: task.childSessionId })
11495
+ children: /* @__PURE__ */ jsx41("div", { className: "workspace-agents-status-panel__detail-tool-answer", children: task.childSessionId })
11430
11496
  }
11431
11497
  ) : null,
11432
- task.steps.length > 0 ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.steps"), children: /* @__PURE__ */ jsx40(AgentTaskStepList, { steps: task.steps, onLinkClick }) }) : null,
11433
- task.resultMarkdown ? /* @__PURE__ */ jsx40(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx40(
11498
+ task.steps.length > 0 ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.steps"), children: /* @__PURE__ */ jsx41(AgentTaskStepList, { steps: task.steps, onLinkClick }) }) : null,
11499
+ task.resultMarkdown ? /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx41(
11434
11500
  ToolMarkdownBlock,
11435
11501
  {
11436
11502
  content: task.resultMarkdown,
@@ -11443,7 +11509,7 @@ function AgentTaskContent({
11443
11509
 
11444
11510
  // shared/agentConversation/components/tool-renderers/AgentTodoWriteContent.tsx
11445
11511
  import { CheckCircle2, Circle } from "lucide-react";
11446
- import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
11512
+ import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
11447
11513
  function AgentTodoWriteContent({
11448
11514
  call
11449
11515
  }) {
@@ -11452,13 +11518,13 @@ function AgentTodoWriteContent({
11452
11518
  if (todos.length === 0) {
11453
11519
  return null;
11454
11520
  }
11455
- return /* @__PURE__ */ jsx41("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx41(ToolSection, { title: translate("agentHost.agentTool.details.todos"), children: /* @__PURE__ */ jsx41("div", { className: "space-y-1", children: todos.map((todo) => /* @__PURE__ */ jsxs30(
11521
+ return /* @__PURE__ */ jsx42("div", { className: "workspace-agents-status-panel__detail-tool-body", children: /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.todos"), children: /* @__PURE__ */ jsx42("div", { className: "space-y-1", children: todos.map((todo) => /* @__PURE__ */ jsxs31(
11456
11522
  "div",
11457
11523
  {
11458
11524
  className: "flex items-start gap-2 rounded-[8px] px-1 py-0.5 text-[11px]",
11459
11525
  children: [
11460
- /* @__PURE__ */ jsx41("div", { className: "mt-[1px] shrink-0", children: iconForStatus(todo.status) }),
11461
- /* @__PURE__ */ jsx41("span", { className: contentClassName(todo.status), children: todo.content })
11526
+ /* @__PURE__ */ jsx42("div", { className: "mt-[1px] shrink-0", children: iconForStatus(todo.status) }),
11527
+ /* @__PURE__ */ jsx42("span", { className: contentClassName(todo.status), children: todo.content })
11462
11528
  ]
11463
11529
  },
11464
11530
  `${todo.content}:${todo.status ?? "pending"}`
@@ -11467,7 +11533,7 @@ function AgentTodoWriteContent({
11467
11533
  function iconForStatus(status) {
11468
11534
  switch (status) {
11469
11535
  case "completed":
11470
- return /* @__PURE__ */ jsx41(
11536
+ return /* @__PURE__ */ jsx42(
11471
11537
  CheckCircle2,
11472
11538
  {
11473
11539
  size: 14,
@@ -11476,7 +11542,7 @@ function iconForStatus(status) {
11476
11542
  }
11477
11543
  );
11478
11544
  case "in_progress":
11479
- return /* @__PURE__ */ jsx41(
11545
+ return /* @__PURE__ */ jsx42(
11480
11546
  AtomIcon,
11481
11547
  {
11482
11548
  size: 14,
@@ -11486,7 +11552,7 @@ function iconForStatus(status) {
11486
11552
  }
11487
11553
  );
11488
11554
  default:
11489
- return /* @__PURE__ */ jsx41(
11555
+ return /* @__PURE__ */ jsx42(
11490
11556
  Circle,
11491
11557
  {
11492
11558
  size: 14,
@@ -11508,7 +11574,7 @@ function contentClassName(status) {
11508
11574
  }
11509
11575
 
11510
11576
  // shared/agentConversation/components/tool-renderers/AgentToolSearchContent.tsx
11511
- import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
11577
+ import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
11512
11578
  function AgentToolSearchContent({
11513
11579
  call
11514
11580
  }) {
@@ -11517,8 +11583,8 @@ function AgentToolSearchContent({
11517
11583
  if (!toolSearch.query && toolSearch.matches.length === 0) {
11518
11584
  return null;
11519
11585
  }
11520
- return /* @__PURE__ */ jsxs31("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11521
- toolSearch.displayQuery ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx42(
11586
+ return /* @__PURE__ */ jsxs32("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11587
+ toolSearch.displayQuery ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx43(
11522
11588
  ToolMarkdownBlock,
11523
11589
  {
11524
11590
  content: `${toolSearch.displayQuery}
@@ -11526,7 +11592,7 @@ function AgentToolSearchContent({
11526
11592
  ${toolSearch.mode}`
11527
11593
  }
11528
11594
  ) }) : null,
11529
- toolSearch.matches.length > 0 ? /* @__PURE__ */ jsx42(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx42("div", { className: "workspace-agents-status-panel__detail-tool-result-list overflow-hidden rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)]", children: toolSearch.matches.map((match, index) => /* @__PURE__ */ jsx42(
11595
+ toolSearch.matches.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: toolSearch.matches.map((match, index) => /* @__PURE__ */ jsx43(
11530
11596
  "div",
11531
11597
  {
11532
11598
  className: `px-3 py-2 font-[var(--tsh-font-mono)] text-[11px] text-[var(--text-primary)] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
@@ -11534,8 +11600,8 @@ ${toolSearch.mode}`
11534
11600
  },
11535
11601
  match
11536
11602
  )) }) }) : null,
11537
- toolSearch.matches.length === 0 ? /* @__PURE__ */ jsx42("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatchingTools") }) : null,
11538
- typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */ jsx42("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.loadedAvailable", {
11603
+ toolSearch.matches.length === 0 ? /* @__PURE__ */ jsx43("div", { className: "text-[11px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.noMatchingTools") }) : null,
11604
+ typeof toolSearch.totalDeferredTools === "number" ? /* @__PURE__ */ jsx43("div", { className: "text-[10px] text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.loadedAvailable", {
11539
11605
  loaded: toolSearch.matches.length,
11540
11606
  available: toolSearch.totalDeferredTools
11541
11607
  }) }) : null
@@ -11543,7 +11609,7 @@ ${toolSearch.mode}`
11543
11609
  }
11544
11610
 
11545
11611
  // shared/agentConversation/components/tool-renderers/AgentWebFetchContent.tsx
11546
- import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
11612
+ import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
11547
11613
  function AgentWebFetchContent({
11548
11614
  call,
11549
11615
  onLinkClick
@@ -11568,15 +11634,15 @@ ${web.url}` : web.url;
11568
11634
  if (!web.url && !visibleContent && !errorText) {
11569
11635
  return null;
11570
11636
  }
11571
- return /* @__PURE__ */ jsxs32("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11572
- web.url ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.url"), children: /* @__PURE__ */ jsx43(
11637
+ return /* @__PURE__ */ jsxs33("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11638
+ web.url ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.url"), children: /* @__PURE__ */ jsx44(
11573
11639
  ToolMarkdownBlock,
11574
11640
  {
11575
11641
  content: urlText ?? "",
11576
11642
  onLinkClick
11577
11643
  }
11578
11644
  ) }) : null,
11579
- visibleContent ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.content"), children: /* @__PURE__ */ jsx43(
11645
+ visibleContent ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.content"), children: /* @__PURE__ */ jsx44(
11580
11646
  ToolMarkdownBlock,
11581
11647
  {
11582
11648
  content: visibleContent,
@@ -11584,8 +11650,8 @@ ${web.url}` : web.url;
11584
11650
  collapsible: true
11585
11651
  }
11586
11652
  ) }) : null,
11587
- web.isTruncated ? /* @__PURE__ */ jsx43("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.contentTruncated") }) : null,
11588
- errorText ? /* @__PURE__ */ jsx43(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx43(
11653
+ web.isTruncated ? /* @__PURE__ */ jsx44("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.contentTruncated") }) : null,
11654
+ errorText ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx44(
11589
11655
  ToolMarkdownBlock,
11590
11656
  {
11591
11657
  content: errorText,
@@ -11597,7 +11663,7 @@ ${web.url}` : web.url;
11597
11663
  }
11598
11664
 
11599
11665
  // shared/agentConversation/components/tool-renderers/AgentWebSearchContent.tsx
11600
- import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
11666
+ import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
11601
11667
  var MAX_SUMMARY_LENGTH = 3e3;
11602
11668
  function AgentWebSearchContent({
11603
11669
  call,
@@ -11621,9 +11687,9 @@ function AgentWebSearchContent({
11621
11687
  if (!hasRenderableContent) {
11622
11688
  return null;
11623
11689
  }
11624
- return /* @__PURE__ */ jsxs33("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11625
- queryText ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx44(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
11626
- links.length > 0 ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx44("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__ */ jsxs33(
11690
+ return /* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-body", children: [
11691
+ queryText ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.query"), children: /* @__PURE__ */ jsx45(ToolMarkdownBlock, { content: queryText, onLinkClick }) }) : null,
11692
+ links.length > 0 ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.results"), children: /* @__PURE__ */ jsx45("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__ */ jsxs34(
11627
11693
  "a",
11628
11694
  {
11629
11695
  href: link.url,
@@ -11631,13 +11697,13 @@ function AgentWebSearchContent({
11631
11697
  rel: "noreferrer",
11632
11698
  className: `flex items-center gap-3 px-3 py-2 text-[11px] ${index > 0 ? "border-t border-[var(--line-2)]" : ""}`,
11633
11699
  children: [
11634
- /* @__PURE__ */ jsx44("span", { className: "w-[120px] shrink-0 truncate text-[11px] text-[var(--text-tertiary)]", children: link.domain }),
11635
- /* @__PURE__ */ jsx44("span", { className: "truncate text-[var(--text-primary)]", children: link.title })
11700
+ /* @__PURE__ */ jsx45("span", { className: "w-[120px] shrink-0 truncate text-[11px] text-[var(--text-tertiary)]", children: link.domain }),
11701
+ /* @__PURE__ */ jsx45("span", { className: "truncate text-[var(--text-primary)]", children: link.title })
11636
11702
  ]
11637
11703
  },
11638
11704
  `${link.url}:${link.title}`
11639
11705
  )) }) }) : null,
11640
- visibleSummary ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx44(
11706
+ visibleSummary ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.output"), children: /* @__PURE__ */ jsx45(
11641
11707
  ToolMarkdownBlock,
11642
11708
  {
11643
11709
  content: visibleSummary,
@@ -11645,8 +11711,8 @@ function AgentWebSearchContent({
11645
11711
  collapsible: true
11646
11712
  }
11647
11713
  ) }) : null,
11648
- summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */ jsx44("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.summaryTruncated") }) : null,
11649
- web.error ? /* @__PURE__ */ jsx44(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx44(
11714
+ summary && summary.length > MAX_SUMMARY_LENGTH ? /* @__PURE__ */ jsx45("div", { className: "text-[10px] italic text-[var(--text-tertiary)]", children: translate("agentHost.agentTool.details.summaryTruncated") }) : null,
11715
+ web.error ? /* @__PURE__ */ jsx45(ToolSection, { title: translate("agentHost.agentTool.details.error"), children: /* @__PURE__ */ jsx45(
11650
11716
  ToolMarkdownBlock,
11651
11717
  {
11652
11718
  content: web.error,
@@ -11739,7 +11805,7 @@ function domainForUrl2(url) {
11739
11805
  }
11740
11806
 
11741
11807
  // shared/agentConversation/components/tool-renderers/AgentWriteContent.tsx
11742
- import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
11808
+ import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
11743
11809
  function AgentWriteContent({
11744
11810
  call,
11745
11811
  onLinkClick
@@ -11759,9 +11825,9 @@ function AgentWriteContent({
11759
11825
  if (!hasRenderableContent) {
11760
11826
  return null;
11761
11827
  }
11762
- return /* @__PURE__ */ jsxs34("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
11763
- path && files.length === 0 ? /* @__PURE__ */ jsx45(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
11764
- patchFiles.map((candidate) => /* @__PURE__ */ jsx45(
11828
+ return /* @__PURE__ */ jsxs35("div", { className: "workspace-agents-status-panel__detail-tool-body workspace-agents-status-panel__detail-tool-body--flat", children: [
11829
+ path && files.length === 0 ? /* @__PURE__ */ jsx46(ToolMarkdownBlock, { content: path, onLinkClick }) : null,
11830
+ patchFiles.map((candidate) => /* @__PURE__ */ jsx46(
11765
11831
  AgentUnifiedPatchViewer,
11766
11832
  {
11767
11833
  path: candidate.path,
@@ -11772,7 +11838,7 @@ function AgentWriteContent({
11772
11838
  },
11773
11839
  `patch:${candidate.path}`
11774
11840
  )),
11775
- contentFiles.map((candidate) => /* @__PURE__ */ jsx45(
11841
+ contentFiles.map((candidate) => /* @__PURE__ */ jsx46(
11776
11842
  AgentCodeBlock,
11777
11843
  {
11778
11844
  path: candidate.path,
@@ -11783,7 +11849,7 @@ function AgentWriteContent({
11783
11849
  },
11784
11850
  `content:${candidate.path}`
11785
11851
  )),
11786
- fallbackContent ? /* @__PURE__ */ jsx45(
11852
+ fallbackContent ? /* @__PURE__ */ jsx46(
11787
11853
  AgentCodeBlock,
11788
11854
  {
11789
11855
  path,
@@ -11797,7 +11863,7 @@ function AgentWriteContent({
11797
11863
  }
11798
11864
 
11799
11865
  // shared/agentConversation/components/tool-renderers/AgentExpandedToolContent.tsx
11800
- import { jsx as jsx46 } from "react/jsx-runtime";
11866
+ import { jsx as jsx47 } from "react/jsx-runtime";
11801
11867
  function AgentExpandedToolContent({
11802
11868
  call,
11803
11869
  onLinkClick,
@@ -11808,65 +11874,65 @@ function AgentExpandedToolContent({
11808
11874
  let content;
11809
11875
  switch (call.rendererKind) {
11810
11876
  case "approval":
11811
- content = /* @__PURE__ */ jsx46(AgentApprovalContent, { ...props });
11877
+ content = /* @__PURE__ */ jsx47(AgentApprovalContent, { ...props });
11812
11878
  break;
11813
11879
  case "plan-enter":
11814
11880
  case "plan-exit":
11815
- content = /* @__PURE__ */ jsx46(AgentPlanModeContent, { ...props });
11881
+ content = /* @__PURE__ */ jsx47(AgentPlanModeContent, { ...props });
11816
11882
  break;
11817
11883
  case "ask-user":
11818
- content = /* @__PURE__ */ jsx46(AgentAskUserQuestionContent, { ...props });
11884
+ content = /* @__PURE__ */ jsx47(AgentAskUserQuestionContent, { ...props });
11819
11885
  break;
11820
11886
  case "task":
11821
- content = /* @__PURE__ */ jsx46(AgentTaskContent, { ...props });
11887
+ content = /* @__PURE__ */ jsx47(AgentTaskContent, { ...props });
11822
11888
  break;
11823
11889
  case "read":
11824
- content = /* @__PURE__ */ jsx46(AgentReadContent, { ...props });
11890
+ content = /* @__PURE__ */ jsx47(AgentReadContent, { ...props });
11825
11891
  break;
11826
11892
  case "write":
11827
- content = /* @__PURE__ */ jsx46(AgentWriteContent, { ...props });
11893
+ content = /* @__PURE__ */ jsx47(AgentWriteContent, { ...props });
11828
11894
  break;
11829
11895
  case "edit":
11830
- content = /* @__PURE__ */ jsx46(AgentEditContent, { ...props });
11896
+ content = /* @__PURE__ */ jsx47(AgentEditContent, { ...props });
11831
11897
  break;
11832
11898
  case "bash":
11833
- content = /* @__PURE__ */ jsx46(AgentBashContent, { ...props });
11899
+ content = /* @__PURE__ */ jsx47(AgentBashContent, { ...props });
11834
11900
  break;
11835
11901
  case "search":
11836
- content = /* @__PURE__ */ jsx46(AgentSearchContent, { ...props });
11902
+ content = /* @__PURE__ */ jsx47(AgentSearchContent, { ...props });
11837
11903
  break;
11838
11904
  case "web-search":
11839
- content = /* @__PURE__ */ jsx46(AgentWebSearchContent, { ...props });
11905
+ content = /* @__PURE__ */ jsx47(AgentWebSearchContent, { ...props });
11840
11906
  break;
11841
11907
  case "web-fetch":
11842
- content = /* @__PURE__ */ jsx46(AgentWebFetchContent, { ...props });
11908
+ content = /* @__PURE__ */ jsx47(AgentWebFetchContent, { ...props });
11843
11909
  break;
11844
11910
  case "image-generation":
11845
- content = /* @__PURE__ */ jsx46(AgentImageGenerationContent, { ...props });
11911
+ content = /* @__PURE__ */ jsx47(AgentImageGenerationContent, { ...props });
11846
11912
  break;
11847
11913
  case "todo-write":
11848
- content = /* @__PURE__ */ jsx46(AgentTodoWriteContent, { ...props });
11914
+ content = /* @__PURE__ */ jsx47(AgentTodoWriteContent, { ...props });
11849
11915
  break;
11850
11916
  case "tool-search":
11851
- content = /* @__PURE__ */ jsx46(AgentToolSearchContent, { ...props });
11917
+ content = /* @__PURE__ */ jsx47(AgentToolSearchContent, { ...props });
11852
11918
  break;
11853
11919
  case "skill":
11854
- content = /* @__PURE__ */ jsx46(AgentSkillContent, { ...props });
11920
+ content = /* @__PURE__ */ jsx47(AgentSkillContent, { ...props });
11855
11921
  break;
11856
11922
  case "mcp":
11857
- content = /* @__PURE__ */ jsx46(AgentMcpToolContent, { ...props });
11923
+ content = /* @__PURE__ */ jsx47(AgentMcpToolContent, { ...props });
11858
11924
  break;
11859
11925
  default:
11860
- content = /* @__PURE__ */ jsx46(AgentDefaultToolContent, { ...props });
11926
+ content = /* @__PURE__ */ jsx47(AgentDefaultToolContent, { ...props });
11861
11927
  }
11862
11928
  if (!content) {
11863
11929
  return null;
11864
11930
  }
11865
- return /* @__PURE__ */ jsx46(AgentToolPreviewModeProvider, { previewMode, children: content });
11931
+ return /* @__PURE__ */ jsx47(AgentToolPreviewModeProvider, { previewMode, children: content });
11866
11932
  }
11867
11933
 
11868
11934
  // shared/agentConversation/components/AgentAskUserQuestionCard.tsx
11869
- import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
11935
+ import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
11870
11936
  function AgentAskUserQuestionCard({
11871
11937
  call,
11872
11938
  onLinkClick,
@@ -11879,19 +11945,19 @@ function AgentAskUserQuestionCard({
11879
11945
  const hasDetail = hasAgentToolContent(call);
11880
11946
  const pinned = nonCollapsible ?? waitingInput;
11881
11947
  const [expanded, setExpanded] = useState12(defaultExpanded ?? waitingInput);
11882
- return /* @__PURE__ */ jsxs35("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--ask-user", children: [
11883
- hasDetail && !pinned ? /* @__PURE__ */ jsx47(
11948
+ return /* @__PURE__ */ jsxs36("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--ask-user", children: [
11949
+ hasDetail && !pinned ? /* @__PURE__ */ jsx48(
11884
11950
  "button",
11885
11951
  {
11886
11952
  type: "button",
11887
11953
  className: "workspace-agents-status-panel__detail-tool-row-head workspace-agents-status-panel__detail-tool-row-head--button",
11888
11954
  "aria-expanded": expanded,
11889
11955
  onClick: () => setExpanded((value) => !value),
11890
- children: /* @__PURE__ */ jsx47(AgentToolCallHeader, { call, expanded, hasDetail: true })
11956
+ children: /* @__PURE__ */ jsx48(AgentToolCallHeader, { call, expanded, hasDetail: true })
11891
11957
  }
11892
- ) : /* @__PURE__ */ jsx47("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx47(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11893
- !hasDetail && call.summary ? /* @__PURE__ */ jsx47("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11894
- hasDetail && pinned ? /* @__PURE__ */ jsx47(
11958
+ ) : /* @__PURE__ */ jsx48("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx48(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11959
+ !hasDetail && call.summary ? /* @__PURE__ */ jsx48("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11960
+ hasDetail && pinned ? /* @__PURE__ */ jsx48(
11895
11961
  AgentExpandedToolContent,
11896
11962
  {
11897
11963
  call,
@@ -11899,7 +11965,7 @@ function AgentAskUserQuestionCard({
11899
11965
  previewMode
11900
11966
  }
11901
11967
  ) : null,
11902
- hasDetail && !pinned ? /* @__PURE__ */ jsx47(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx47(
11968
+ hasDetail && !pinned ? /* @__PURE__ */ jsx48(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx48(
11903
11969
  AgentExpandedToolContent,
11904
11970
  {
11905
11971
  call,
@@ -11911,7 +11977,7 @@ function AgentAskUserQuestionCard({
11911
11977
  }
11912
11978
 
11913
11979
  // shared/agentConversation/components/AgentEnterPlanModeCard.tsx
11914
- import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
11980
+ import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
11915
11981
  function AgentEnterPlanModeCard({
11916
11982
  call,
11917
11983
  onLinkClick,
@@ -11919,10 +11985,10 @@ function AgentEnterPlanModeCard({
11919
11985
  }) {
11920
11986
  "use memo";
11921
11987
  const hasDetail = hasAgentToolContent(call);
11922
- return /* @__PURE__ */ jsxs36("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-enter", children: [
11923
- /* @__PURE__ */ jsx48("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx48(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11924
- !hasDetail && call.summary ? /* @__PURE__ */ jsx48("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11925
- hasDetail ? /* @__PURE__ */ jsx48(
11988
+ return /* @__PURE__ */ jsxs37("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-enter", children: [
11989
+ /* @__PURE__ */ jsx49("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx49(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11990
+ !hasDetail && call.summary ? /* @__PURE__ */ jsx49("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11991
+ hasDetail ? /* @__PURE__ */ jsx49(
11926
11992
  AgentExpandedToolContent,
11927
11993
  {
11928
11994
  call,
@@ -11934,7 +12000,7 @@ function AgentEnterPlanModeCard({
11934
12000
  }
11935
12001
 
11936
12002
  // shared/agentConversation/components/AgentExitPlanModeCard.tsx
11937
- import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
12003
+ import { jsx as jsx50, jsxs as jsxs38 } from "react/jsx-runtime";
11938
12004
  function AgentExitPlanModeCard({
11939
12005
  call,
11940
12006
  onLinkClick,
@@ -11942,10 +12008,10 @@ function AgentExitPlanModeCard({
11942
12008
  }) {
11943
12009
  "use memo";
11944
12010
  const hasDetail = hasAgentToolContent(call);
11945
- return /* @__PURE__ */ jsxs37("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-exit", children: [
11946
- /* @__PURE__ */ jsx49("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx49(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11947
- !hasDetail && call.summary ? /* @__PURE__ */ jsx49("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11948
- hasDetail ? /* @__PURE__ */ jsx49(
12011
+ return /* @__PURE__ */ jsxs38("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--plan-exit", children: [
12012
+ /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx50(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
12013
+ !hasDetail && call.summary ? /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
12014
+ hasDetail ? /* @__PURE__ */ jsx50(
11949
12015
  AgentExpandedToolContent,
11950
12016
  {
11951
12017
  call,
@@ -11958,7 +12024,7 @@ function AgentExitPlanModeCard({
11958
12024
 
11959
12025
  // shared/agentConversation/components/AgentTaskCallCard.tsx
11960
12026
  import { useState as useState13 } from "react";
11961
- import { jsx as jsx50, jsxs as jsxs38 } from "react/jsx-runtime";
12027
+ import { jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
11962
12028
  function AgentTaskCallCard({
11963
12029
  call,
11964
12030
  onLinkClick,
@@ -11972,8 +12038,8 @@ function AgentTaskCallCard({
11972
12038
  const pinned = nonCollapsible ?? running;
11973
12039
  const [expanded, setExpanded] = useState13(defaultExpanded ?? running);
11974
12040
  const ariaLabel = taskCallAriaLabel(call);
11975
- return /* @__PURE__ */ jsxs38("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--task", children: [
11976
- hasDetail && !pinned ? /* @__PURE__ */ jsx50(
12041
+ return /* @__PURE__ */ jsxs39("div", { className: "workspace-agents-status-panel__detail-tool-row workspace-agents-status-panel__detail-tool-row--task", children: [
12042
+ hasDetail && !pinned ? /* @__PURE__ */ jsx51(
11977
12043
  "button",
11978
12044
  {
11979
12045
  type: "button",
@@ -11981,11 +12047,11 @@ function AgentTaskCallCard({
11981
12047
  "aria-expanded": expanded,
11982
12048
  "aria-label": ariaLabel,
11983
12049
  onClick: () => setExpanded((value) => !value),
11984
- children: /* @__PURE__ */ jsx50(AgentToolCallHeader, { call, expanded, hasDetail: true })
12050
+ children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded, hasDetail: true })
11985
12051
  }
11986
- ) : /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx50(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
11987
- !hasDetail && call.summary ? /* @__PURE__ */ jsx50("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
11988
- hasDetail && pinned ? /* @__PURE__ */ jsx50(
12052
+ ) : /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
12053
+ !hasDetail && call.summary ? /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-summary", children: call.summary }) : null,
12054
+ hasDetail && pinned ? /* @__PURE__ */ jsx51(
11989
12055
  AgentExpandedToolContent,
11990
12056
  {
11991
12057
  call,
@@ -11993,7 +12059,7 @@ function AgentTaskCallCard({
11993
12059
  previewMode
11994
12060
  }
11995
12061
  ) : null,
11996
- hasDetail && !pinned ? /* @__PURE__ */ jsx50(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx50(
12062
+ hasDetail && !pinned ? /* @__PURE__ */ jsx51(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx51(
11997
12063
  AgentExpandedToolContent,
11998
12064
  {
11999
12065
  call,
@@ -12013,7 +12079,7 @@ function taskCallAriaLabel(call) {
12013
12079
 
12014
12080
  // shared/agentConversation/components/AgentToolCallCard.tsx
12015
12081
  import { useState as useState14 } from "react";
12016
- import { jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
12082
+ import { jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
12017
12083
  function AgentToolCallCard({
12018
12084
  call,
12019
12085
  onLinkClick,
@@ -12027,7 +12093,7 @@ function AgentToolCallCard({
12027
12093
  const hasDetail = hasAgentToolContent(call);
12028
12094
  const canCollapse = hasDetail && !nonCollapsible;
12029
12095
  const ariaLabel = toolCallAriaLabel(call);
12030
- return /* @__PURE__ */ jsxs39(
12096
+ return /* @__PURE__ */ jsxs40(
12031
12097
  "div",
12032
12098
  {
12033
12099
  className: [
@@ -12035,7 +12101,7 @@ function AgentToolCallCard({
12035
12101
  variantClassName ?? ""
12036
12102
  ].filter(Boolean).join(" "),
12037
12103
  children: [
12038
- canCollapse ? /* @__PURE__ */ jsx51(
12104
+ canCollapse ? /* @__PURE__ */ jsx52(
12039
12105
  "button",
12040
12106
  {
12041
12107
  type: "button",
@@ -12043,10 +12109,10 @@ function AgentToolCallCard({
12043
12109
  "aria-expanded": expanded,
12044
12110
  "aria-label": ariaLabel,
12045
12111
  onClick: () => setExpanded((value) => !value),
12046
- children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded, hasDetail: true })
12112
+ children: /* @__PURE__ */ jsx52(AgentToolCallHeader, { call, expanded, hasDetail: true })
12047
12113
  }
12048
- ) : /* @__PURE__ */ jsx51("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx51(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
12049
- hasDetail && nonCollapsible ? /* @__PURE__ */ jsx51(
12114
+ ) : /* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-row-head", children: /* @__PURE__ */ jsx52(AgentToolCallHeader, { call, expanded: false, hasDetail: false }) }),
12115
+ hasDetail && nonCollapsible ? /* @__PURE__ */ jsx52(
12050
12116
  AgentExpandedToolContent,
12051
12117
  {
12052
12118
  call,
@@ -12054,7 +12120,7 @@ function AgentToolCallCard({
12054
12120
  previewMode
12055
12121
  }
12056
12122
  ) : null,
12057
- hasDetail && !nonCollapsible ? /* @__PURE__ */ jsx51(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx51(
12123
+ hasDetail && !nonCollapsible ? /* @__PURE__ */ jsx52(CollapsibleReveal, { expanded, children: /* @__PURE__ */ jsx52(
12058
12124
  AgentExpandedToolContent,
12059
12125
  {
12060
12126
  call,
@@ -12075,7 +12141,7 @@ function toolCallAriaLabel(call) {
12075
12141
  }
12076
12142
 
12077
12143
  // shared/agentConversation/components/AgentToolGroupRow.tsx
12078
- import { Fragment as Fragment5, jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
12144
+ import { Fragment as Fragment5, jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
12079
12145
  var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12080
12146
  row,
12081
12147
  label,
@@ -12111,13 +12177,13 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12111
12177
  rawTimelineJsonLabel
12112
12178
  );
12113
12179
  }
12114
- return /* @__PURE__ */ jsxs40(
12180
+ return /* @__PURE__ */ jsxs41(
12115
12181
  "div",
12116
12182
  {
12117
12183
  className: "workspace-agents-status-panel__detail-tool-section",
12118
12184
  "data-tool-group-expanded": isExpanded ? "true" : void 0,
12119
12185
  children: [
12120
- hasDetail ? /* @__PURE__ */ jsxs40(
12186
+ hasDetail ? /* @__PURE__ */ jsxs41(
12121
12187
  "button",
12122
12188
  {
12123
12189
  type: "button",
@@ -12126,8 +12192,8 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12126
12192
  "aria-label": groupLabel,
12127
12193
  onClick: () => setNextExpanded(!isExpanded),
12128
12194
  children: [
12129
- /* @__PURE__ */ jsx52(ToolGroupLabel, { label: groupLabel }),
12130
- isExpanded ? /* @__PURE__ */ jsx52(
12195
+ /* @__PURE__ */ jsx53(ToolGroupLabel, { label: groupLabel }),
12196
+ isExpanded ? /* @__PURE__ */ jsx53(
12131
12197
  ChevronDown6,
12132
12198
  {
12133
12199
  size: 12,
@@ -12135,7 +12201,7 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12135
12201
  "aria-hidden": "true",
12136
12202
  className: "workspace-agents-status-panel__detail-tool-count-chevron"
12137
12203
  }
12138
- ) : /* @__PURE__ */ jsx52(
12204
+ ) : /* @__PURE__ */ jsx53(
12139
12205
  ChevronRight6,
12140
12206
  {
12141
12207
  size: 12,
@@ -12146,13 +12212,13 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12146
12212
  )
12147
12213
  ]
12148
12214
  }
12149
- ) : /* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-count", children: /* @__PURE__ */ jsx52(ToolGroupLabel, { label: groupLabel }) }),
12150
- hasDetail ? /* @__PURE__ */ jsx52(CollapsibleReveal, { expanded: isExpanded, children: /* @__PURE__ */ jsx52("div", { className: "workspace-agents-status-panel__detail-tool-list", children: row.entries.map(
12151
- (entry) => entry.kind === "thinking" ? /* @__PURE__ */ jsx52(
12215
+ ) : /* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-count", children: /* @__PURE__ */ jsx53(ToolGroupLabel, { label: groupLabel }) }),
12216
+ hasDetail ? /* @__PURE__ */ jsx53(CollapsibleReveal, { expanded: isExpanded, children: /* @__PURE__ */ jsx53("div", { className: "workspace-agents-status-panel__detail-tool-list", children: row.entries.map(
12217
+ (entry) => entry.kind === "thinking" ? /* @__PURE__ */ jsx53(
12152
12218
  "div",
12153
12219
  {
12154
12220
  className: "workspace-agents-status-panel__detail-tool-list-item workspace-agents-status-panel__detail-tool-row",
12155
- children: /* @__PURE__ */ jsx52(
12221
+ children: /* @__PURE__ */ jsx53(
12156
12222
  AgentThinkingDisclosure,
12157
12223
  {
12158
12224
  thinking: entry.thinking,
@@ -12165,7 +12231,7 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12165
12231
  )
12166
12232
  },
12167
12233
  entry.thinking.id
12168
- ) : /* @__PURE__ */ jsx52(
12234
+ ) : /* @__PURE__ */ jsx53(
12169
12235
  "div",
12170
12236
  {
12171
12237
  className: "workspace-agents-status-panel__detail-tool-list-item",
@@ -12186,8 +12252,8 @@ var AgentToolGroupRow = memo(function AgentToolGroupRow2({
12186
12252
  });
12187
12253
  function ToolGroupLabel({ label }) {
12188
12254
  "use memo";
12189
- return /* @__PURE__ */ jsxs40(Fragment5, { children: [
12190
- /* @__PURE__ */ jsx52(
12255
+ return /* @__PURE__ */ jsxs41(Fragment5, { children: [
12256
+ /* @__PURE__ */ jsx53(
12191
12257
  ToolActivityKindIcon,
12192
12258
  {
12193
12259
  kind: "update_todos",
@@ -12196,7 +12262,7 @@ function ToolGroupLabel({ label }) {
12196
12262
  className: "workspace-agents-status-panel__detail-tool-count-icon"
12197
12263
  }
12198
12264
  ),
12199
- /* @__PURE__ */ jsx52("span", { className: "workspace-agents-status-panel__detail-tool-count-label", children: renderToolCountLabel(label) })
12265
+ /* @__PURE__ */ jsx53("span", { className: "workspace-agents-status-panel__detail-tool-count-label", children: renderToolCountLabel(label) })
12200
12266
  ] });
12201
12267
  }
12202
12268
  function hasGroupDetail(row) {
@@ -12209,11 +12275,11 @@ function renderToolCountLabel(label) {
12209
12275
  const primary = statusMatch?.[1];
12210
12276
  const status = statusMatch?.[2];
12211
12277
  if (!primary || !status) {
12212
- return /* @__PURE__ */ jsx52("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: label });
12278
+ return /* @__PURE__ */ jsx53("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: label });
12213
12279
  }
12214
- return /* @__PURE__ */ jsxs40(Fragment5, { children: [
12215
- /* @__PURE__ */ jsx52("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: primary }),
12216
- /* @__PURE__ */ jsx52("span", { className: "workspace-agents-status-panel__detail-tool-count-status", children: formatInlineStatusLabel3(status) })
12280
+ return /* @__PURE__ */ jsxs41(Fragment5, { children: [
12281
+ /* @__PURE__ */ jsx53("span", { className: "workspace-agents-status-panel__detail-tool-count-primary", children: primary }),
12282
+ /* @__PURE__ */ jsx53("span", { className: "workspace-agents-status-panel__detail-tool-count-status", children: formatInlineStatusLabel3(status) })
12217
12283
  ] });
12218
12284
  }
12219
12285
  function formatInlineStatusLabel3(label) {
@@ -12224,23 +12290,23 @@ function renderToolCard(call, onLinkClick, previewMode = false, showRawTimelineJ
12224
12290
  let card;
12225
12291
  switch (call.rendererKind) {
12226
12292
  case "plan-enter":
12227
- card = /* @__PURE__ */ jsx52(AgentEnterPlanModeCard, { ...props });
12293
+ card = /* @__PURE__ */ jsx53(AgentEnterPlanModeCard, { ...props });
12228
12294
  break;
12229
12295
  case "plan-exit":
12230
- card = /* @__PURE__ */ jsx52(AgentExitPlanModeCard, { ...props });
12296
+ card = /* @__PURE__ */ jsx53(AgentExitPlanModeCard, { ...props });
12231
12297
  break;
12232
12298
  case "ask-user":
12233
- card = /* @__PURE__ */ jsx52(AgentAskUserQuestionCard, { ...props });
12299
+ card = /* @__PURE__ */ jsx53(AgentAskUserQuestionCard, { ...props });
12234
12300
  break;
12235
12301
  case "task":
12236
- card = /* @__PURE__ */ jsx52(AgentTaskCallCard, { ...props });
12302
+ card = /* @__PURE__ */ jsx53(AgentTaskCallCard, { ...props });
12237
12303
  break;
12238
12304
  default:
12239
- card = /* @__PURE__ */ jsx52(AgentToolCallCard, { ...props });
12305
+ card = /* @__PURE__ */ jsx53(AgentToolCallCard, { ...props });
12240
12306
  }
12241
- return /* @__PURE__ */ jsxs40(Fragment5, { children: [
12307
+ return /* @__PURE__ */ jsxs41(Fragment5, { children: [
12242
12308
  card,
12243
- showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx52(
12309
+ showRawTimelineJson && rawTimelineJsonLabel ? /* @__PURE__ */ jsx53(
12244
12310
  RawTimelineJsonDisclosure,
12245
12311
  {
12246
12312
  items: call.sourceTimelineItems,
@@ -12268,10 +12334,10 @@ import {
12268
12334
  } from "@tutti-os/ui-system";
12269
12335
 
12270
12336
  // app/renderer/components/icons/DirectLinedIcon.tsx
12271
- import { jsx as jsx53 } from "react/jsx-runtime";
12337
+ import { jsx as jsx54 } from "react/jsx-runtime";
12272
12338
  function DirectLinedIcon(props) {
12273
12339
  "use memo";
12274
- return /* @__PURE__ */ jsx53(
12340
+ return /* @__PURE__ */ jsx54(
12275
12341
  "svg",
12276
12342
  {
12277
12343
  xmlns: "http://www.w3.org/2000/svg",
@@ -12281,7 +12347,7 @@ function DirectLinedIcon(props) {
12281
12347
  "data-nexight-chrome-glyph": "fill",
12282
12348
  "data-tutti-chrome-glyph": "fill",
12283
12349
  ...props,
12284
- children: /* @__PURE__ */ jsx53(
12350
+ children: /* @__PURE__ */ jsx54(
12285
12351
  "path",
12286
12352
  {
12287
12353
  fill: "currentColor",
@@ -12482,7 +12548,7 @@ function isInsideOrEqualPatchPath(path, root) {
12482
12548
  }
12483
12549
 
12484
12550
  // shared/agentConversation/components/AgentTurnSummaryRow.tsx
12485
- import { jsx as jsx54, jsxs as jsxs41 } from "react/jsx-runtime";
12551
+ import { jsx as jsx55, jsxs as jsxs42 } from "react/jsx-runtime";
12486
12552
  function AgentTurnSummaryRow({
12487
12553
  row,
12488
12554
  workspaceRoot,
@@ -12624,29 +12690,29 @@ function AgentTurnSummaryRow({
12624
12690
  }
12625
12691
  }
12626
12692
  };
12627
- return /* @__PURE__ */ jsx54("section", { className: "workspace-agents-status-panel__detail-turn-summary", children: /* @__PURE__ */ jsxs41("div", { className: "agent-turn-summary-card w-full overflow-hidden rounded-[8px] text-[var(--text-primary)]", children: [
12628
- /* @__PURE__ */ jsxs41("div", { className: "flex items-start gap-3 px-4 py-3", children: [
12629
- /* @__PURE__ */ jsx54("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs41("div", { className: "flex min-w-0 items-center gap-3", children: [
12630
- /* @__PURE__ */ jsx54("div", { className: "min-w-0 text-[15px] font-semibold leading-5 tracking-[0] text-[var(--text-primary)]", children: translate("agentHost.agentGui.turnSummaryFilesChanged", {
12693
+ return /* @__PURE__ */ jsx55("section", { className: "workspace-agents-status-panel__detail-turn-summary", children: /* @__PURE__ */ jsxs42("div", { className: "agent-turn-summary-card w-full overflow-hidden rounded-[8px] text-[var(--text-primary)]", children: [
12694
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-start gap-3 px-4 py-3", children: [
12695
+ /* @__PURE__ */ jsx55("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs42("div", { className: "flex min-w-0 items-center gap-3", children: [
12696
+ /* @__PURE__ */ jsx55("div", { className: "min-w-0 text-[15px] font-semibold leading-5 tracking-[0] text-[var(--text-primary)]", children: translate("agentHost.agentGui.turnSummaryFilesChanged", {
12631
12697
  count: row.fileCount
12632
12698
  }) }),
12633
- /* @__PURE__ */ jsxs41("div", { className: "inline-flex shrink-0 items-center gap-2.5 text-[11px] font-semibold", children: [
12634
- aggregateStats.added > 0 ? /* @__PURE__ */ jsxs41("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
12699
+ /* @__PURE__ */ jsxs42("div", { className: "inline-flex shrink-0 items-center gap-2.5 text-[11px] font-semibold", children: [
12700
+ aggregateStats.added > 0 ? /* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
12635
12701
  "+",
12636
12702
  aggregateStats.added
12637
12703
  ] }) : null,
12638
- aggregateStats.removed > 0 ? /* @__PURE__ */ jsxs41("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
12704
+ aggregateStats.removed > 0 ? /* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
12639
12705
  "-",
12640
12706
  aggregateStats.removed
12641
12707
  ] }) : null
12642
12708
  ] })
12643
12709
  ] }) }),
12644
- canRenderPatchButton ? /* @__PURE__ */ jsx54(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs41(Tooltip, { children: [
12645
- /* @__PURE__ */ jsx54(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx54(
12710
+ canRenderPatchButton ? /* @__PURE__ */ jsx55(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs42(Tooltip, { children: [
12711
+ /* @__PURE__ */ jsx55(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx55(
12646
12712
  "span",
12647
12713
  {
12648
12714
  className: `inline-flex shrink-0 ${isPatchActionDisabled ? "cursor-not-allowed" : ""}`,
12649
- children: /* @__PURE__ */ jsxs41(
12715
+ children: /* @__PURE__ */ jsxs42(
12650
12716
  CanvasNodeGhostIconButton,
12651
12717
  {
12652
12718
  "aria-label": patchActionLabel,
@@ -12654,7 +12720,7 @@ function AgentTurnSummaryRow({
12654
12720
  disabled: isPatchActionDisabled,
12655
12721
  onClick: handlePatchAction,
12656
12722
  children: [
12657
- patchPending || isPatchSupportChecking ? /* @__PURE__ */ jsx54(
12723
+ patchPending || isPatchSupportChecking ? /* @__PURE__ */ jsx55(
12658
12724
  LoaderCircle2,
12659
12725
  {
12660
12726
  width: 14,
@@ -12662,7 +12728,7 @@ function AgentTurnSummaryRow({
12662
12728
  "aria-hidden": "true",
12663
12729
  className: "animate-spin text-[var(--text-secondary)]"
12664
12730
  }
12665
- ) : patchAction === "undo" ? /* @__PURE__ */ jsx54(
12731
+ ) : patchAction === "undo" ? /* @__PURE__ */ jsx55(
12666
12732
  Undo2,
12667
12733
  {
12668
12734
  width: 14,
@@ -12670,7 +12736,7 @@ function AgentTurnSummaryRow({
12670
12736
  "aria-hidden": "true",
12671
12737
  className: "text-[var(--text-secondary)]"
12672
12738
  }
12673
- ) : /* @__PURE__ */ jsx54(
12739
+ ) : /* @__PURE__ */ jsx55(
12674
12740
  Redo2,
12675
12741
  {
12676
12742
  width: 14,
@@ -12679,19 +12745,19 @@ function AgentTurnSummaryRow({
12679
12745
  className: "text-[var(--text-secondary)]"
12680
12746
  }
12681
12747
  ),
12682
- /* @__PURE__ */ jsx54("span", { children: patchActionLabel })
12748
+ /* @__PURE__ */ jsx55("span", { children: patchActionLabel })
12683
12749
  ]
12684
12750
  }
12685
12751
  )
12686
12752
  }
12687
12753
  ) }),
12688
- patchDisabledReason ? /* @__PURE__ */ jsx54(TooltipContent, { className: "max-w-[260px] whitespace-normal text-left", children: patchDisabledReason }) : null
12754
+ patchDisabledReason ? /* @__PURE__ */ jsx55(TooltipContent, { className: "max-w-[260px] whitespace-normal text-left", children: patchDisabledReason }) : null
12689
12755
  ] }) }) : null
12690
12756
  ] }),
12691
- /* @__PURE__ */ jsxs41("div", { className: "agent-turn-summary-card__list", children: [
12757
+ /* @__PURE__ */ jsxs42("div", { className: "agent-turn-summary-card__list", children: [
12692
12758
  visibleFiles.map((file) => {
12693
12759
  const key = `${file.path}:${file.messageId}`;
12694
- return /* @__PURE__ */ jsx54(
12760
+ return /* @__PURE__ */ jsx55(
12695
12761
  TurnSummaryFileCard,
12696
12762
  {
12697
12763
  file,
@@ -12706,9 +12772,9 @@ function AgentTurnSummaryRow({
12706
12772
  key
12707
12773
  );
12708
12774
  }),
12709
- hiddenFileCount > 0 ? /* @__PURE__ */ jsx54(CollapsibleReveal, { expanded: showAllFiles, preMountOnIdle: true, children: /* @__PURE__ */ jsx54("div", { className: "agent-turn-summary-card__overflow-list", children: hiddenFiles.map((file) => {
12775
+ hiddenFileCount > 0 ? /* @__PURE__ */ jsx55(CollapsibleReveal, { expanded: showAllFiles, preMountOnIdle: true, children: /* @__PURE__ */ jsx55("div", { className: "agent-turn-summary-card__overflow-list", children: hiddenFiles.map((file) => {
12710
12776
  const key = `${file.path}:${file.messageId}`;
12711
- return /* @__PURE__ */ jsx54(
12777
+ return /* @__PURE__ */ jsx55(
12712
12778
  TurnSummaryFileCard,
12713
12779
  {
12714
12780
  file,
@@ -12723,28 +12789,28 @@ function AgentTurnSummaryRow({
12723
12789
  key
12724
12790
  );
12725
12791
  }) }) }) : null,
12726
- hiddenFileCount > 0 && !showAllFiles ? /* @__PURE__ */ jsxs41(
12792
+ hiddenFileCount > 0 && !showAllFiles ? /* @__PURE__ */ jsxs42(
12727
12793
  "button",
12728
12794
  {
12729
12795
  type: "button",
12730
12796
  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",
12731
12797
  onClick: () => setShowAllFiles(true),
12732
12798
  children: [
12733
- /* @__PURE__ */ jsx54("span", { children: translate("agentHost.agentGui.turnSummaryShowMoreFiles", {
12799
+ /* @__PURE__ */ jsx55("span", { children: translate("agentHost.agentGui.turnSummaryShowMoreFiles", {
12734
12800
  count: hiddenFileCount
12735
12801
  }) }),
12736
- /* @__PURE__ */ jsx54(ChevronDown7, { size: 16, strokeWidth: 2.2, "aria-hidden": "true" })
12802
+ /* @__PURE__ */ jsx55(ChevronDown7, { size: 16, strokeWidth: 2.2, "aria-hidden": "true" })
12737
12803
  ]
12738
12804
  }
12739
- ) : hiddenFileCount > 0 ? /* @__PURE__ */ jsxs41(
12805
+ ) : hiddenFileCount > 0 ? /* @__PURE__ */ jsxs42(
12740
12806
  "button",
12741
12807
  {
12742
12808
  type: "button",
12743
12809
  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",
12744
12810
  onClick: () => setShowAllFiles(false),
12745
12811
  children: [
12746
- /* @__PURE__ */ jsx54("span", { children: translate("agentHost.agentGui.turnSummaryShowFewerFiles") }),
12747
- /* @__PURE__ */ jsx54(
12812
+ /* @__PURE__ */ jsx55("span", { children: translate("agentHost.agentGui.turnSummaryShowFewerFiles") }),
12813
+ /* @__PURE__ */ jsx55(
12748
12814
  ChevronRight7,
12749
12815
  {
12750
12816
  size: 16,
@@ -12775,10 +12841,10 @@ function TurnSummaryFileCard({
12775
12841
  const canOpen = Boolean(action && onLinkAction);
12776
12842
  const stats = summarizeFileDiff(file);
12777
12843
  const preview = filePreview(file);
12778
- return /* @__PURE__ */ jsxs41("div", { className: "agent-turn-summary-card__file", children: [
12779
- /* @__PURE__ */ jsxs41("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: [
12780
- /* @__PURE__ */ jsxs41("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: [
12781
- /* @__PURE__ */ jsxs41(
12844
+ return /* @__PURE__ */ jsxs42("div", { className: "agent-turn-summary-card__file", children: [
12845
+ /* @__PURE__ */ jsxs42("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: [
12846
+ /* @__PURE__ */ jsxs42("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: [
12847
+ /* @__PURE__ */ jsxs42(
12782
12848
  "button",
12783
12849
  {
12784
12850
  type: "button",
@@ -12786,15 +12852,21 @@ function TurnSummaryFileCard({
12786
12852
  "aria-expanded": expanded,
12787
12853
  onClick: onToggle,
12788
12854
  children: [
12789
- /* @__PURE__ */ jsx54("div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsx54(
12855
+ /* @__PURE__ */ jsx55("div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxs42(
12790
12856
  "span",
12791
12857
  {
12792
- className: `agent-turn-summary-card__path block min-w-0 truncate text-[13px] font-medium leading-5 text-[var(--text-secondary)] ${file.changeType === "deleted" ? "line-through" : ""}`,
12858
+ 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" : ""}`,
12793
12859
  title: file.path,
12794
- children: file.path
12860
+ children: [
12861
+ file.directory ? /* @__PURE__ */ jsxs42("span", { className: "agent-turn-summary-card__path-directory", children: [
12862
+ file.directory,
12863
+ "/"
12864
+ ] }) : null,
12865
+ /* @__PURE__ */ jsx55("span", { className: "agent-turn-summary-card__path-file", children: file.fileName })
12866
+ ]
12795
12867
  }
12796
12868
  ) }),
12797
- /* @__PURE__ */ jsx54("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__ */ jsx54(
12869
+ /* @__PURE__ */ jsx55("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__ */ jsx55(
12798
12870
  ChevronRight7,
12799
12871
  {
12800
12872
  size: 14,
@@ -12806,18 +12878,18 @@ function TurnSummaryFileCard({
12806
12878
  ]
12807
12879
  }
12808
12880
  ),
12809
- /* @__PURE__ */ jsxs41("span", { className: "ml-auto inline-flex shrink-0 items-center gap-2 text-[11px] font-semibold", children: [
12810
- stats.added > 0 ? /* @__PURE__ */ jsxs41("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
12881
+ /* @__PURE__ */ jsxs42("span", { className: "ml-auto inline-flex shrink-0 items-center gap-2 text-[11px] font-semibold", children: [
12882
+ stats.added > 0 ? /* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-diff-added", children: [
12811
12883
  "+",
12812
12884
  stats.added
12813
12885
  ] }) : null,
12814
- stats.removed > 0 ? /* @__PURE__ */ jsxs41("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
12886
+ stats.removed > 0 ? /* @__PURE__ */ jsxs42("span", { className: "workspace-agents-status-panel__detail-tool-diff-removed", children: [
12815
12887
  "-",
12816
12888
  stats.removed
12817
12889
  ] }) : null
12818
12890
  ] })
12819
12891
  ] }),
12820
- canOpen ? /* @__PURE__ */ jsx54(
12892
+ canOpen ? /* @__PURE__ */ jsx55(
12821
12893
  CanvasNodeGhostIconButton,
12822
12894
  {
12823
12895
  "aria-label": translate(
@@ -12829,7 +12901,7 @@ function TurnSummaryFileCard({
12829
12901
  onClick: () => {
12830
12902
  onLinkAction?.(action);
12831
12903
  },
12832
- children: /* @__PURE__ */ jsx54(
12904
+ children: /* @__PURE__ */ jsx55(
12833
12905
  DirectLinedIcon,
12834
12906
  {
12835
12907
  width: 14,
@@ -12841,12 +12913,12 @@ function TurnSummaryFileCard({
12841
12913
  }
12842
12914
  ) : null
12843
12915
  ] }),
12844
- preview ? /* @__PURE__ */ jsx54(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx54("div", { className: "agent-turn-summary-card__preview rounded-none px-4 pb-3 pt-2", children: preview }) }) : null
12916
+ preview ? /* @__PURE__ */ jsx55(CollapsibleReveal, { expanded, preMountOnIdle: true, children: /* @__PURE__ */ jsx55("div", { className: "agent-turn-summary-card__preview rounded-none px-4 pb-3 pt-2", children: preview }) }) : null
12845
12917
  ] });
12846
12918
  }
12847
12919
  function filePreview(file) {
12848
12920
  if (file.changeType === "created" && file.content?.trim()) {
12849
- return /* @__PURE__ */ jsx54(
12921
+ return /* @__PURE__ */ jsx55(
12850
12922
  AgentCodeBlock,
12851
12923
  {
12852
12924
  path: file.path,
@@ -12858,7 +12930,7 @@ function filePreview(file) {
12858
12930
  );
12859
12931
  }
12860
12932
  if (file.unifiedDiff?.trim()) {
12861
- return /* @__PURE__ */ jsx54(
12933
+ return /* @__PURE__ */ jsx55(
12862
12934
  AgentUnifiedPatchViewer,
12863
12935
  {
12864
12936
  path: file.path,
@@ -12869,7 +12941,7 @@ function filePreview(file) {
12869
12941
  );
12870
12942
  }
12871
12943
  if (file.changeType === "created" && file.newString?.trim()) {
12872
- return /* @__PURE__ */ jsx54(
12944
+ return /* @__PURE__ */ jsx55(
12873
12945
  AgentCodeBlock,
12874
12946
  {
12875
12947
  path: file.path,
@@ -12881,7 +12953,7 @@ function filePreview(file) {
12881
12953
  );
12882
12954
  }
12883
12955
  if (file.oldString?.trim() || file.newString?.trim()) {
12884
- return /* @__PURE__ */ jsx54(
12956
+ return /* @__PURE__ */ jsx55(
12885
12957
  AgentMonacoDiffViewer,
12886
12958
  {
12887
12959
  path: file.path,
@@ -12893,7 +12965,7 @@ function filePreview(file) {
12893
12965
  );
12894
12966
  }
12895
12967
  if (file.content?.trim()) {
12896
- return /* @__PURE__ */ jsx54(
12968
+ return /* @__PURE__ */ jsx55(
12897
12969
  AgentCodeBlock,
12898
12970
  {
12899
12971
  path: file.path,
@@ -12985,7 +13057,7 @@ function summarizeFileDiff(file) {
12985
13057
  }
12986
13058
 
12987
13059
  // shared/agentConversation/components/AgentTranscriptItemView.tsx
12988
- import { jsx as jsx55 } from "react/jsx-runtime";
13060
+ import { jsx as jsx56 } from "react/jsx-runtime";
12989
13061
  var AgentTranscriptItemView = memo2(function AgentTranscriptItemView2({
12990
13062
  workspaceRoot,
12991
13063
  basePath,
@@ -13019,7 +13091,7 @@ var AgentTranscriptItemView = memo2(function AgentTranscriptItemView2({
13019
13091
  );
13020
13092
  switch (row.kind) {
13021
13093
  case "message":
13022
- return /* @__PURE__ */ jsx55(
13094
+ return /* @__PURE__ */ jsx56(
13023
13095
  AgentMessageBlock,
13024
13096
  {
13025
13097
  workspaceRoot,
@@ -13037,7 +13109,7 @@ var AgentTranscriptItemView = memo2(function AgentTranscriptItemView2({
13037
13109
  }
13038
13110
  );
13039
13111
  case "tool-group":
13040
- return /* @__PURE__ */ jsx55(
13112
+ return /* @__PURE__ */ jsx56(
13041
13113
  AgentToolGroupRow,
13042
13114
  {
13043
13115
  row,
@@ -13053,7 +13125,7 @@ var AgentTranscriptItemView = memo2(function AgentTranscriptItemView2({
13053
13125
  }
13054
13126
  );
13055
13127
  case "turn-summary":
13056
- return /* @__PURE__ */ jsx55(
13128
+ return /* @__PURE__ */ jsx56(
13057
13129
  AgentTurnSummaryRow,
13058
13130
  {
13059
13131
  row,
@@ -13064,7 +13136,7 @@ var AgentTranscriptItemView = memo2(function AgentTranscriptItemView2({
13064
13136
  }
13065
13137
  );
13066
13138
  case "processing":
13067
- return /* @__PURE__ */ jsx55(AgentProcessingRow, { row, label: labels.processing });
13139
+ return /* @__PURE__ */ jsx56(AgentProcessingRow, { row, label: labels.processing });
13068
13140
  }
13069
13141
  });
13070
13142
 
@@ -13185,7 +13257,7 @@ function looksLikeTableSeparator(line) {
13185
13257
  }
13186
13258
 
13187
13259
  // shared/agentConversation/components/AgentTranscriptView.tsx
13188
- import { Fragment as Fragment7, jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
13260
+ import { Fragment as Fragment7, jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
13189
13261
  var AGENT_TRANSCRIPT_VIRTUALIZATION_OVERSCAN = 6;
13190
13262
  var AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX = 280;
13191
13263
  var AGENT_TRANSCRIPT_TURN_GAP_PX = 12;
@@ -13280,8 +13352,8 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
13280
13352
  const rowKey = rowKeys[rowIndex] ?? transcriptRowKey(row);
13281
13353
  const showTurnDivider = dividerRowIndexes.has(rowIndex);
13282
13354
  const shouldAnimateEnter = row.kind !== "processing" && enteringRowKeys.has(rowKey);
13283
- return /* @__PURE__ */ jsxs42(Fragment6, { children: [
13284
- showTurnDivider ? /* @__PURE__ */ jsx56(
13355
+ return /* @__PURE__ */ jsxs43(Fragment6, { children: [
13356
+ showTurnDivider ? /* @__PURE__ */ jsx57(
13285
13357
  "div",
13286
13358
  {
13287
13359
  className: "h-px w-full flex-none bg-[var(--line-2,var(--tutti-line-2))]",
@@ -13289,14 +13361,14 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
13289
13361
  "aria-hidden": "true"
13290
13362
  }
13291
13363
  ) : null,
13292
- /* @__PURE__ */ jsx56(
13364
+ /* @__PURE__ */ jsx57(
13293
13365
  "div",
13294
13366
  {
13295
13367
  className: "agent-gui-transcript-row",
13296
13368
  "data-agent-transcript-row": rowKey,
13297
13369
  "data-agent-transcript-row-kind": row.kind,
13298
13370
  "data-agent-transcript-row-enter": shouldAnimateEnter ? "true" : void 0,
13299
- children: /* @__PURE__ */ jsx56(
13371
+ children: /* @__PURE__ */ jsx57(
13300
13372
  AgentTranscriptItemView,
13301
13373
  {
13302
13374
  workspaceRoot,
@@ -13331,7 +13403,7 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
13331
13403
  AGENT_TRANSCRIPT_FALLBACK_TURN_COUNT
13332
13404
  ) + fallbackIndex) * AGENT_TRANSCRIPT_ESTIMATED_TURN_HEIGHT_PX
13333
13405
  })) : rowVirtualizer.getVirtualItems();
13334
- return /* @__PURE__ */ jsx56(
13406
+ return /* @__PURE__ */ jsx57(
13335
13407
  "div",
13336
13408
  {
13337
13409
  ref: virtualizerHostRef,
@@ -13343,7 +13415,7 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
13343
13415
  if (!group) {
13344
13416
  return null;
13345
13417
  }
13346
- return /* @__PURE__ */ jsx56(
13418
+ return /* @__PURE__ */ jsx57(
13347
13419
  "div",
13348
13420
  {
13349
13421
  ref: rowVirtualizer.measureElement,
@@ -13362,7 +13434,7 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
13362
13434
  }
13363
13435
  );
13364
13436
  }
13365
- return /* @__PURE__ */ jsx56(Fragment7, { children: conversation.rows.map(renderRow) });
13437
+ return /* @__PURE__ */ jsx57(Fragment7, { children: conversation.rows.map(renderRow) });
13366
13438
  }, areAgentTranscriptViewPropsEqual);
13367
13439
  function useEnteringTranscriptRows(rowKeys) {
13368
13440
  const previousKeysRef = useRef8(null);
@@ -13423,7 +13495,7 @@ function findTurnDividerRowIndexes(turnIndexById, rows) {
13423
13495
 
13424
13496
  // shared/agentConversation/components/AgentConversationFlow.tsx
13425
13497
  import { memo as memo4 } from "react";
13426
- import { Fragment as Fragment8, jsx as jsx57 } from "react/jsx-runtime";
13498
+ import { Fragment as Fragment8, jsx as jsx58 } from "react/jsx-runtime";
13427
13499
  var AgentConversationFlow = memo4(function AgentConversationFlow2({
13428
13500
  conversation,
13429
13501
  isLoading,
@@ -13440,12 +13512,12 @@ var AgentConversationFlow = memo4(function AgentConversationFlow2({
13440
13512
  }) {
13441
13513
  "use memo";
13442
13514
  if (isLoading) {
13443
- return /* @__PURE__ */ jsx57(AgentTranscriptSkeleton, { label: loadingLabel, testId: loadingTestId });
13515
+ return /* @__PURE__ */ jsx58(AgentTranscriptSkeleton, { label: loadingLabel, testId: loadingTestId });
13444
13516
  }
13445
13517
  if (!conversation || conversation.rows.length === 0) {
13446
- return /* @__PURE__ */ jsx57(Fragment8, { children: empty });
13518
+ return /* @__PURE__ */ jsx58(Fragment8, { children: empty });
13447
13519
  }
13448
- return /* @__PURE__ */ jsx57(
13520
+ return /* @__PURE__ */ jsx58(
13449
13521
  AgentTranscriptView,
13450
13522
  {
13451
13523
  conversation,
@@ -13510,4 +13582,4 @@ export {
13510
13582
  AgentConversationFlow,
13511
13583
  useProjectedAgentConversation
13512
13584
  };
13513
- //# sourceMappingURL=chunk-ZAF4IVUT.js.map
13585
+ //# sourceMappingURL=chunk-LWMC2YA3.js.map