@tutti-os/agent-gui 0.0.128 → 0.0.129

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 (49) hide show
  1. package/dist/{AgentGUI-DprRUk8h.d.ts → AgentGUI-DxypmD7b.d.ts} +4 -16
  2. package/dist/{AgentRichTextReadonly-UGZQXMPT.js → AgentRichTextReadonly-PEKCMRPE.js} +5 -5
  3. package/dist/agent-conversation/index.js +7 -7
  4. package/dist/agent-gui.d.ts +4 -4
  5. package/dist/agent-gui.js +14 -14
  6. package/dist/agent-message-center/index.js +6 -6
  7. package/dist/app/renderer/agentactivity.css +8 -4
  8. package/dist/{chunk-FNI4JFDM.js → chunk-2RSNLVOX.js} +53 -11
  9. package/dist/chunk-2RSNLVOX.js.map +1 -0
  10. package/dist/{chunk-BKTH4EVE.js → chunk-GCQYN7BR.js} +3 -3
  11. package/dist/{chunk-Z4HPUA2G.js → chunk-GX5HPHPL.js} +59 -106
  12. package/dist/chunk-GX5HPHPL.js.map +1 -0
  13. package/dist/{chunk-RABOGNWT.js → chunk-J4TTEMRW.js} +4 -4
  14. package/dist/{chunk-VWIADFP4.js → chunk-NE6H7S5Z.js} +2 -2
  15. package/dist/{chunk-6TYXZI35.js → chunk-OBWM2RFE.js} +2 -2
  16. package/dist/{chunk-UZP2LEQL.js → chunk-OQR3HXPF.js} +3 -1
  17. package/dist/chunk-OQR3HXPF.js.map +1 -0
  18. package/dist/{chunk-YZF23LW4.js → chunk-PQJXWXTS.js} +4 -4
  19. package/dist/{chunk-A3HZBKIQ.js → chunk-PVTAFUDS.js} +2 -2
  20. package/dist/{chunk-5ILYI4EM.js → chunk-QQRTUHCH.js} +2 -2
  21. package/dist/{chunk-VH2UJCQG.js → chunk-SZOTLVH6.js} +2 -2
  22. package/dist/{chunk-TBFWNWDX.js → chunk-UARZZJJB.js} +4 -4
  23. package/dist/{chunk-3LKGPCCL.js → chunk-XNE2ROCP.js} +2 -2
  24. package/dist/{chunk-Q5JYEQK6.js → chunk-YWHGCKMT.js} +3 -3
  25. package/dist/context-mention-palette/index.js +7 -7
  26. package/dist/i18n/index.d.ts +2 -0
  27. package/dist/i18n/index.js +2 -2
  28. package/dist/index.d.ts +4 -4
  29. package/dist/index.js +14 -14
  30. package/dist/mention-search.js +5 -5
  31. package/dist/workbench/contribution.js +3 -3
  32. package/dist/workbench/index.js +3 -3
  33. package/dist/workbench/sessionTitle.js +2 -2
  34. package/package.json +12 -12
  35. package/dist/chunk-FNI4JFDM.js.map +0 -1
  36. package/dist/chunk-UZP2LEQL.js.map +0 -1
  37. package/dist/chunk-Z4HPUA2G.js.map +0 -1
  38. /package/dist/{AgentRichTextReadonly-UGZQXMPT.js.map → AgentRichTextReadonly-PEKCMRPE.js.map} +0 -0
  39. /package/dist/{chunk-BKTH4EVE.js.map → chunk-GCQYN7BR.js.map} +0 -0
  40. /package/dist/{chunk-RABOGNWT.js.map → chunk-J4TTEMRW.js.map} +0 -0
  41. /package/dist/{chunk-VWIADFP4.js.map → chunk-NE6H7S5Z.js.map} +0 -0
  42. /package/dist/{chunk-6TYXZI35.js.map → chunk-OBWM2RFE.js.map} +0 -0
  43. /package/dist/{chunk-YZF23LW4.js.map → chunk-PQJXWXTS.js.map} +0 -0
  44. /package/dist/{chunk-A3HZBKIQ.js.map → chunk-PVTAFUDS.js.map} +0 -0
  45. /package/dist/{chunk-5ILYI4EM.js.map → chunk-QQRTUHCH.js.map} +0 -0
  46. /package/dist/{chunk-VH2UJCQG.js.map → chunk-SZOTLVH6.js.map} +0 -0
  47. /package/dist/{chunk-TBFWNWDX.js.map → chunk-UARZZJJB.js.map} +0 -0
  48. /package/dist/{chunk-3LKGPCCL.js.map → chunk-XNE2ROCP.js.map} +0 -0
  49. /package/dist/{chunk-Q5JYEQK6.js.map → chunk-YWHGCKMT.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { PropsWithChildren, JSX, HTMLAttributes, ReactNode } from 'react';
2
+ import { PropsWithChildren, JSX, ReactNode } from 'react';
3
3
  import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
4
4
  import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
5
5
  import { v as AgentHostAgentSessionComposerSettings, z as AgentHostUnactivateAgentSessionResult, i as AgentGUIAgentTarget, o as AgentGUIProvider, B as AgentPromptContentBlock, n as AgentGUINodeData, P as Point, p as AgentGUIProviderRailAllPresentation, q as AgentGUIProviderRailMode, r as AgentGUIProviderReadinessGate, m as AgentGUIHomeSuggestionId, N as NodeFrame, e as AgentGUIAgentDirectorySnapshot, l as AgentGUIAllAgentsPresentation } from './types-BicfRVrV.js';
@@ -10,12 +10,12 @@ import { A as AgentContextMentionItem } from './agentFileMentionContracts-CWAeuL
10
10
  import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
11
11
  import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
12
12
  import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-BD0-gg6C.js';
13
- import { AgentContextMentionProvider } from './context-mention-provider.js';
14
- import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
15
13
  import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
14
+ import { AgentContextMentionProvider } from './context-mention-provider.js';
16
15
  import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
17
16
  import { WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts';
18
17
  import { ReferenceProvenanceFilterSnapshot, ReferenceProvenanceFilterController } from '@tutti-os/workspace-file-reference/react';
18
+ import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
19
19
  import { A as AgentGuiI18nLocale } from './runtime-BBNdWgDU.js';
20
20
 
21
21
  declare const APP_UPDATE_POLICIES: readonly ["off", "prompt", "auto"];
@@ -614,6 +614,7 @@ interface AgentComposerProps {
614
614
  permissionModeReadOnly: string;
615
615
  permissionModeAuto: string;
616
616
  permissionModeFullAccess: string;
617
+ permissionModeChangeUnavailableDuringTurn: string;
617
618
  modelDescriptions: {
618
619
  frontierComplexCoding: string;
619
620
  everydayCoding: string;
@@ -844,19 +845,6 @@ interface AgentComposerUsage {
844
845
  totalTokens: number | null;
845
846
  }
846
847
 
847
- type DotLottieElementProps = HTMLAttributes<HTMLElement> & {
848
- autoplay?: boolean;
849
- loop?: boolean;
850
- src?: string;
851
- };
852
- declare module "react" {
853
- namespace JSX {
854
- interface IntrinsicElements {
855
- "dotlottie-wc": DotLottieElementProps;
856
- }
857
- }
858
- }
859
-
860
848
  type AgentMentionReferenceTargetResolver = (item: AgentContextMentionItem) => ReferenceLocateTarget | null;
861
849
  interface AgentWorkspaceReferenceInitialTargetInput {
862
850
  activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  AgentRichTextReadonly
3
- } from "./chunk-3LKGPCCL.js";
4
- import "./chunk-6TYXZI35.js";
3
+ } from "./chunk-XNE2ROCP.js";
4
+ import "./chunk-OBWM2RFE.js";
5
5
  import "./chunk-5QPOMKMQ.js";
6
6
  import "./chunk-KPMQGPYU.js";
7
7
  import "./chunk-EDNJMG5T.js";
8
- import "./chunk-VH2UJCQG.js";
8
+ import "./chunk-SZOTLVH6.js";
9
9
  import "./chunk-PJP5BUU6.js";
10
10
  import "./chunk-7KVZPJ3O.js";
11
- import "./chunk-UZP2LEQL.js";
11
+ import "./chunk-OQR3HXPF.js";
12
12
  import "./chunk-D2JUDUYY.js";
13
13
  import "./chunk-6CUELYIF.js";
14
14
  import "./chunk-QMMWKQOT.js";
15
15
  export {
16
16
  AgentRichTextReadonly
17
17
  };
18
- //# sourceMappingURL=AgentRichTextReadonly-UGZQXMPT.js.map
18
+ //# sourceMappingURL=AgentRichTextReadonly-PEKCMRPE.js.map
@@ -6,25 +6,25 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-FNI4JFDM.js";
10
- import "../chunk-3LKGPCCL.js";
9
+ } from "../chunk-2RSNLVOX.js";
10
+ import "../chunk-XNE2ROCP.js";
11
11
  import "../chunk-VMQNG2KI.js";
12
12
  import "../chunk-FGLQZ6I4.js";
13
13
  import "../chunk-XJ34OIEQ.js";
14
14
  import "../chunk-R7AXDQCA.js";
15
- import "../chunk-6TYXZI35.js";
15
+ import "../chunk-OBWM2RFE.js";
16
16
  import "../chunk-5QPOMKMQ.js";
17
- import "../chunk-Q5JYEQK6.js";
17
+ import "../chunk-YWHGCKMT.js";
18
18
  import "../chunk-KPMQGPYU.js";
19
- import "../chunk-VWIADFP4.js";
19
+ import "../chunk-NE6H7S5Z.js";
20
20
  import "../chunk-F5UR6EJG.js";
21
21
  import "../chunk-EDNJMG5T.js";
22
22
  import {
23
23
  translate
24
- } from "../chunk-VH2UJCQG.js";
24
+ } from "../chunk-SZOTLVH6.js";
25
25
  import "../chunk-PJP5BUU6.js";
26
26
  import "../chunk-7KVZPJ3O.js";
27
- import "../chunk-UZP2LEQL.js";
27
+ import "../chunk-OQR3HXPF.js";
28
28
  import "../chunk-MIJXEELH.js";
29
29
  import "../chunk-D2JUDUYY.js";
30
30
  import "../chunk-6CUELYIF.js";
@@ -1,10 +1,10 @@
1
1
  import 'react';
2
2
  import '@tutti-os/ui-i18n-runtime';
3
- export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-DprRUk8h.js';
3
+ export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-DxypmD7b.js';
4
4
  import './agentGuiNodeTypes-5TL1hyCN.js';
5
5
  export { m as AgentGUIHomeSuggestionId } from './types-BicfRVrV.js';
6
- import './runtime-BBNdWgDU.js';
7
6
  export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
7
+ import './runtime-BBNdWgDU.js';
8
8
  import '@tutti-os/agent-activity-core';
9
9
  import './workspace-query-cache.js';
10
10
  import './agentFileMentionContracts-CWAeuL7S.js';
@@ -13,12 +13,12 @@ import '@tutti-os/workspace-file-reference/core';
13
13
  import './agentConversationVM-BD0-gg6C.js';
14
14
  import '@tutti-os/workspace-issue-manager/core';
15
15
  import './workspaceAgentActivityListTypes-DZfS_HgG.js';
16
+ import '@tutti-os/workspace-user-project/i18n';
16
17
  import './context-mention-provider.js';
17
18
  import '@tutti-os/ui-rich-text/types';
18
19
  import '@tutti-os/workspace-external-core/contracts';
19
- import '@tutti-os/ui-rich-text/service';
20
- import '@tutti-os/workspace-user-project/i18n';
21
20
  import '@tutti-os/workspace-user-project/ui';
22
21
  import '@tutti-os/workspace-user-project/contracts';
23
22
  import '@tutti-os/workspace-file-reference/react';
23
+ import '@tutti-os/ui-rich-text/service';
24
24
  import './pastedTextKinds-D-XuInaS.js';
package/dist/agent-gui.js CHANGED
@@ -1,41 +1,41 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-Z4HPUA2G.js";
3
+ } from "./chunk-GX5HPHPL.js";
4
4
  import "./chunk-A4WCTHWS.js";
5
- import "./chunk-BKTH4EVE.js";
5
+ import "./chunk-GCQYN7BR.js";
6
6
  import "./chunk-TUWQV2MC.js";
7
7
  import "./chunk-MHOYBRCY.js";
8
- import "./chunk-A3HZBKIQ.js";
8
+ import "./chunk-PVTAFUDS.js";
9
9
  import "./chunk-5HIF53K5.js";
10
10
  import "./chunk-R2ZADXRB.js";
11
- import "./chunk-FNI4JFDM.js";
12
- import "./chunk-3LKGPCCL.js";
11
+ import "./chunk-2RSNLVOX.js";
12
+ import "./chunk-XNE2ROCP.js";
13
13
  import "./chunk-VMQNG2KI.js";
14
14
  import "./chunk-UP3ZDYTN.js";
15
- import "./chunk-TBFWNWDX.js";
15
+ import "./chunk-UARZZJJB.js";
16
16
  import "./chunk-T2NICA5D.js";
17
17
  import "./chunk-FGLQZ6I4.js";
18
18
  import "./chunk-DXT4W2SU.js";
19
- import "./chunk-RABOGNWT.js";
19
+ import "./chunk-J4TTEMRW.js";
20
20
  import "./chunk-USIFGHT3.js";
21
21
  import "./chunk-XJ34OIEQ.js";
22
22
  import "./chunk-R7AXDQCA.js";
23
- import "./chunk-6TYXZI35.js";
23
+ import "./chunk-OBWM2RFE.js";
24
24
  import "./chunk-5QPOMKMQ.js";
25
25
  import "./chunk-RMQREVJY.js";
26
- import "./chunk-YZF23LW4.js";
26
+ import "./chunk-PQJXWXTS.js";
27
27
  import "./chunk-2RQM7PJN.js";
28
- import "./chunk-Q5JYEQK6.js";
28
+ import "./chunk-YWHGCKMT.js";
29
29
  import "./chunk-KPMQGPYU.js";
30
- import "./chunk-5ILYI4EM.js";
30
+ import "./chunk-QQRTUHCH.js";
31
31
  import "./chunk-YMXYBG7U.js";
32
- import "./chunk-VWIADFP4.js";
32
+ import "./chunk-NE6H7S5Z.js";
33
33
  import "./chunk-F5UR6EJG.js";
34
34
  import "./chunk-EDNJMG5T.js";
35
- import "./chunk-VH2UJCQG.js";
35
+ import "./chunk-SZOTLVH6.js";
36
36
  import "./chunk-PJP5BUU6.js";
37
37
  import "./chunk-7KVZPJ3O.js";
38
- import "./chunk-UZP2LEQL.js";
38
+ import "./chunk-OQR3HXPF.js";
39
39
  import "./chunk-MIJXEELH.js";
40
40
  import "./chunk-D2JUDUYY.js";
41
41
  import "./chunk-6CUELYIF.js";
@@ -6,7 +6,7 @@ import {
6
6
  dispatchAgentPlanPromptAction,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-YZF23LW4.js";
9
+ } from "../chunk-PQJXWXTS.js";
10
10
  import {
11
11
  useEngineSelector
12
12
  } from "../chunk-2RQM7PJN.js";
@@ -19,20 +19,20 @@ import {
19
19
  isExitPlanSwitchModeInput,
20
20
  normalizeAgentApprovalPurpose,
21
21
  normalizeAskUserQuestions
22
- } from "../chunk-Q5JYEQK6.js";
22
+ } from "../chunk-YWHGCKMT.js";
23
23
  import {
24
24
  cn
25
25
  } from "../chunk-KPMQGPYU.js";
26
26
  import {
27
27
  userAvatarPlaceholderUrl,
28
28
  workspaceAgentActivityStatusLabel
29
- } from "../chunk-5ILYI4EM.js";
29
+ } from "../chunk-QQRTUHCH.js";
30
30
  import {
31
31
  resolveWorkspaceAgentSessionSortTimeUnixMs
32
32
  } from "../chunk-YMXYBG7U.js";
33
33
  import {
34
34
  workspaceAgentProviderLabel
35
- } from "../chunk-VWIADFP4.js";
35
+ } from "../chunk-NE6H7S5Z.js";
36
36
  import "../chunk-F5UR6EJG.js";
37
37
  import {
38
38
  managedAgentRoundedIconUrl
@@ -41,10 +41,10 @@ import {
41
41
  AgentGuiI18nProvider,
42
42
  getActiveUiLanguage,
43
43
  useTranslation
44
- } from "../chunk-VH2UJCQG.js";
44
+ } from "../chunk-SZOTLVH6.js";
45
45
  import "../chunk-PJP5BUU6.js";
46
46
  import "../chunk-7KVZPJ3O.js";
47
- import "../chunk-UZP2LEQL.js";
47
+ import "../chunk-OQR3HXPF.js";
48
48
  import {
49
49
  normalizeAgentTitleText
50
50
  } from "../chunk-MIJXEELH.js";
@@ -8764,7 +8764,9 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8764
8764
  opacity: 1;
8765
8765
  }
8766
8766
 
8767
- .agent-gui-node__composer-handoff-icon[data-playing="true"]
8767
+ .agent-gui-node__composer-handoff-icon:has(
8768
+ .agent-gui-node__composer-handoff-icon-animated[data-active="true"]
8769
+ )
8768
8770
  .agent-gui-node__composer-handoff-icon-static {
8769
8771
  opacity: 0;
8770
8772
  }
@@ -8772,7 +8774,9 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8772
8774
  .agent-gui-node__composer-handoff-icon-animated {
8773
8775
  position: absolute;
8774
8776
  inset: 0;
8775
- filter: var(--agent-gui-handoff-lottie-filter, none);
8777
+ /* Match the APNG's padded 44px canvas to the static icon's visual size. */
8778
+ transform: scale(1.3);
8779
+ filter: var(--agent-gui-handoff-animation-filter, none);
8776
8780
  opacity: 0;
8777
8781
  pointer-events: none;
8778
8782
  }
@@ -8787,13 +8791,13 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8787
8791
  }
8788
8792
 
8789
8793
  :root[data-theme="dark"] .agent-gui-node__composer-handoff-icon-animated {
8790
- --agent-gui-handoff-lottie-filter: brightness(0) invert(1);
8794
+ --agent-gui-handoff-animation-filter: brightness(0) invert(1);
8791
8795
  }
8792
8796
 
8793
8797
  @media (prefers-color-scheme: dark) {
8794
8798
  :root:not([data-theme="light"])
8795
8799
  .agent-gui-node__composer-handoff-icon-animated {
8796
- --agent-gui-handoff-lottie-filter: brightness(0) invert(1);
8800
+ --agent-gui-handoff-animation-filter: brightness(0) invert(1);
8797
8801
  }
8798
8802
  }
8799
8803
 
@@ -2,7 +2,7 @@ import {
2
2
  AgentRichTextReadonly,
3
3
  promptForProviderSkills,
4
4
  skillTriggerForPrefix
5
- } from "./chunk-3LKGPCCL.js";
5
+ } from "./chunk-XNE2ROCP.js";
6
6
  import {
7
7
  classifyRecoverableAgentMessage,
8
8
  isProviderPlanLimitMessage,
@@ -38,7 +38,7 @@ import {
38
38
  resolveWorkspaceFileLinkAction,
39
39
  resolveWorkspaceFilePathCandidate,
40
40
  resolveWorkspaceLinkAction
41
- } from "./chunk-Q5JYEQK6.js";
41
+ } from "./chunk-YWHGCKMT.js";
42
42
  import {
43
43
  cn
44
44
  } from "./chunk-KPMQGPYU.js";
@@ -46,7 +46,7 @@ import {
46
46
  useOptionalAgentActivityRuntime,
47
47
  useOptionalAgentHostApi,
48
48
  workspaceAgentProviderLabel
49
- } from "./chunk-VWIADFP4.js";
49
+ } from "./chunk-NE6H7S5Z.js";
50
50
  import {
51
51
  fileChangeCountFromChanges,
52
52
  fileChangeEntriesFromChanges,
@@ -56,7 +56,7 @@ import {
56
56
  getActiveUiLanguage,
57
57
  translate,
58
58
  useTranslation
59
- } from "./chunk-VH2UJCQG.js";
59
+ } from "./chunk-SZOTLVH6.js";
60
60
  import {
61
61
  normalizeAgentTitleText
62
62
  } from "./chunk-MIJXEELH.js";
@@ -12899,7 +12899,7 @@ function formatAgentTurnDuration(elapsedSeconds) {
12899
12899
  }
12900
12900
  return { kind: "minutes-seconds", minutes, seconds };
12901
12901
  }
12902
- function buildAgentTurnWorkSectionModel(group, turn, isActiveTurn = false) {
12902
+ function buildAgentTurnWorkSectionModel(group, turn, isActiveTurn = false, options = {}) {
12903
12903
  const timing = resolveAgentTurnTiming(turn, isActiveTurn);
12904
12904
  if (!timing) {
12905
12905
  return null;
@@ -12907,7 +12907,12 @@ function buildAgentTurnWorkSectionModel(group, turn, isActiveTurn = false) {
12907
12907
  const leadingRowCount = countLeadingUserRows(group.rows);
12908
12908
  const leadingRows = group.rows.slice(0, leadingRowCount);
12909
12909
  const finalTarget = findFinalAssistantTextTarget(group.rows);
12910
- const sections = buildOrderedSections(group.rows, leadingRowCount);
12910
+ const sections = buildOrderedSections(
12911
+ group.rows,
12912
+ leadingRowCount,
12913
+ finalTarget,
12914
+ options.collapseIntermediateAssistantReplies === true
12915
+ );
12911
12916
  const hasHiddenWork = sections.some(
12912
12917
  (section) => section.kind === "work" && section.rows.length > 0
12913
12918
  );
@@ -12926,12 +12931,18 @@ function countLeadingUserRows(rows) {
12926
12931
  }
12927
12932
  return count;
12928
12933
  }
12929
- function buildOrderedSections(rows, startIndex) {
12934
+ function buildOrderedSections(rows, startIndex, finalTarget, collapseIntermediateAssistantReplies) {
12930
12935
  const sections = [];
12931
12936
  for (let rowIndex = startIndex; rowIndex < rows.length; rowIndex += 1) {
12932
12937
  const entry = rows[rowIndex];
12933
12938
  if (entry.row.kind === "message" && entry.row.speaker === "assistant") {
12934
- appendAssistantMessageSections(sections, entry);
12939
+ if (!collapseIntermediateAssistantReplies) {
12940
+ appendAssistantMessageSections(sections, entry);
12941
+ } else if (finalTarget?.rowIndex === rowIndex) {
12942
+ appendFinalAssistantSections(sections, entry, finalTarget.messageIndex);
12943
+ } else {
12944
+ appendSectionRow(sections, "work", entry);
12945
+ }
12935
12946
  continue;
12936
12947
  }
12937
12948
  appendSectionRow(
@@ -12942,6 +12953,34 @@ function buildOrderedSections(rows, startIndex) {
12942
12953
  }
12943
12954
  return sections;
12944
12955
  }
12956
+ function appendFinalAssistantSections(sections, sourceEntry, finalMessageIndex) {
12957
+ const sourceRow = sourceEntry.row;
12958
+ const messagesBeforeFinal = sourceRow.messages.slice(0, finalMessageIndex);
12959
+ const messagesAfterFinal = sourceRow.messages.slice(finalMessageIndex + 1);
12960
+ if (sourceRow.thinking.length > 0 || messagesBeforeFinal.length > 0) {
12961
+ appendSectionRow(sections, "work", {
12962
+ ...sourceEntry,
12963
+ renderKey: `${sourceRow.id}:turn-work-before`,
12964
+ row: cloneAssistantRow(sourceRow, messagesBeforeFinal, sourceRow.thinking)
12965
+ });
12966
+ }
12967
+ appendSectionRow(sections, "visible", {
12968
+ ...sourceEntry,
12969
+ renderKey: `${sourceRow.id}:turn-final`,
12970
+ row: cloneAssistantRow(
12971
+ sourceRow,
12972
+ [sourceRow.messages[finalMessageIndex]],
12973
+ []
12974
+ )
12975
+ });
12976
+ if (messagesAfterFinal.length > 0) {
12977
+ appendSectionRow(sections, "work", {
12978
+ ...sourceEntry,
12979
+ renderKey: `${sourceRow.id}:turn-work-after`,
12980
+ row: cloneAssistantRow(sourceRow, messagesAfterFinal, [])
12981
+ });
12982
+ }
12983
+ }
12945
12984
  function appendAssistantMessageSections(sections, sourceEntry) {
12946
12985
  const sourceRow = sourceEntry.row;
12947
12986
  const parts = [];
@@ -13919,7 +13958,7 @@ function transcriptCanonicalTurnsEqual(previous, next) {
13919
13958
  }) ?? true);
13920
13959
  }
13921
13960
  function transcriptConversationRenderInputEquals(previous, next) {
13922
- return previous === next || previous.rows === next.rows && previous.workspaceRoot === next.workspaceRoot && previous.sourceDetail.session.agentSessionId === next.sourceDetail.session.agentSessionId && previous.sourceDetail.session.activeTurnId === next.sourceDetail.session.activeTurnId && previous.sourceDetail.cwd === next.sourceDetail.cwd && transcriptTurnIdentityEquals(
13961
+ return previous === next || previous.rows === next.rows && previous.workspaceRoot === next.workspaceRoot && previous.sourceDetail.session.agentSessionId === next.sourceDetail.session.agentSessionId && previous.sourceDetail.session.activeTurnId === next.sourceDetail.session.activeTurnId && previous.sourceDetail.session.imported === next.sourceDetail.session.imported && previous.sourceDetail.cwd === next.sourceDetail.cwd && transcriptTurnIdentityEquals(
13923
13962
  previous.sourceDetail.turns,
13924
13963
  next.sourceDetail.turns
13925
13964
  ) && transcriptCanonicalTurnsEqual(
@@ -14007,7 +14046,10 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
14007
14046
  buildAgentTurnWorkSectionModel(
14008
14047
  group,
14009
14048
  group.turnId ? canonicalTurnById.get(group.turnId) ?? null : null,
14010
- isActiveTurn
14049
+ isActiveTurn,
14050
+ {
14051
+ collapseIntermediateAssistantReplies: !conversation.sourceDetail.session.imported
14052
+ }
14011
14053
  )
14012
14054
  ];
14013
14055
  })
@@ -14302,4 +14344,4 @@ export {
14302
14344
  AgentConversationFlow,
14303
14345
  useProjectedAgentConversation
14304
14346
  };
14305
- //# sourceMappingURL=chunk-FNI4JFDM.js.map
14347
+ //# sourceMappingURL=chunk-2RSNLVOX.js.map