@tutti-os/agent-gui 0.0.68 → 0.0.69

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 (62) hide show
  1. package/dist/agent-conversation/index.d.ts +2 -2
  2. package/dist/agent-conversation/index.js +5 -5
  3. package/dist/agent-message-center/index.js +7 -7
  4. package/dist/{agentGuiNodeTypes-BTHu_g4m.d.ts → agentGuiNodeTypes-BipgG2ib.d.ts} +8 -1
  5. package/dist/app/renderer/agentactivity.css +41 -4
  6. package/dist/app/renderer/assets/icons/agents/opencode-flat-filled.svg +4 -0
  7. package/dist/{chunk-C2M2ELXF.js → chunk-547R2HOD.js} +2 -2
  8. package/dist/{chunk-J335PQ5H.js → chunk-6XRTDIDR.js} +11 -26
  9. package/dist/chunk-6XRTDIDR.js.map +1 -0
  10. package/dist/{chunk-KJLSZETD.js → chunk-DAPKF2SN.js} +2 -2
  11. package/dist/{chunk-GOEL3BO7.js → chunk-EHLJL76A.js} +2 -2
  12. package/dist/{chunk-GXHZNIWT.js → chunk-ERBUQOIL.js} +2 -2
  13. package/dist/{chunk-TB7PKP6F.js → chunk-FRAG4UFU.js} +4 -4
  14. package/dist/{chunk-A2KZVRUO.js → chunk-HAKNLXW7.js} +2 -2
  15. package/dist/{chunk-DYX6466P.js → chunk-JA6Z3QA7.js} +3 -3
  16. package/dist/{chunk-3QPN2Y7R.js → chunk-KAPBUKIT.js} +21 -15
  17. package/dist/chunk-KAPBUKIT.js.map +1 -0
  18. package/dist/{chunk-LQRD4X6R.js → chunk-KTIHLBCN.js} +2 -2
  19. package/dist/{chunk-D22A3KGQ.js → chunk-KTIKZNGS.js} +2 -2
  20. package/dist/{chunk-YE5JSME7.js → chunk-N37A62BK.js} +17 -1
  21. package/dist/chunk-N37A62BK.js.map +1 -0
  22. package/dist/{chunk-AIR6A4NP.js → chunk-NH3XBJTZ.js} +2 -2
  23. package/dist/{chunk-VRV6GBF5.js → chunk-NROZAN34.js} +8 -1
  24. package/dist/chunk-NROZAN34.js.map +1 -0
  25. package/dist/{chunk-QGKK6FHC.js → chunk-S32FLJRP.js} +4 -4
  26. package/dist/context-mention-palette/index.js +6 -6
  27. package/dist/i18n/index.d.ts +20 -14
  28. package/dist/i18n/index.js +2 -2
  29. package/dist/index.d.ts +8 -5
  30. package/dist/index.js +492 -191
  31. package/dist/index.js.map +1 -1
  32. package/dist/opencode-flat-filled-CYAJPX45.svg +4 -0
  33. package/dist/queued-prompt-runtime.d.ts +2 -2
  34. package/dist/{types-BwDrG654.d.ts → types-DZ79b8Zn.d.ts} +6 -1
  35. package/dist/workbench/contribution.d.ts +1 -1
  36. package/dist/workbench/contribution.js +4 -4
  37. package/dist/workbench/index.d.ts +1 -1
  38. package/dist/workbench/index.js +7 -7
  39. package/dist/workbench/launch.d.ts +1 -1
  40. package/dist/workbench/providerCatalog.d.ts +1 -1
  41. package/dist/workbench/sessionTitle.d.ts +1 -1
  42. package/dist/workbench/sessionTitle.js +3 -3
  43. package/dist/workbench/state.d.ts +1 -1
  44. package/dist/workbench/state.js +2 -2
  45. package/dist/workbench/types.d.ts +1 -1
  46. package/dist/workspace-agent-generated-files.js +3 -3
  47. package/package.json +12 -12
  48. package/dist/chunk-3QPN2Y7R.js.map +0 -1
  49. package/dist/chunk-J335PQ5H.js.map +0 -1
  50. package/dist/chunk-VRV6GBF5.js.map +0 -1
  51. package/dist/chunk-YE5JSME7.js.map +0 -1
  52. /package/dist/{chunk-C2M2ELXF.js.map → chunk-547R2HOD.js.map} +0 -0
  53. /package/dist/{chunk-KJLSZETD.js.map → chunk-DAPKF2SN.js.map} +0 -0
  54. /package/dist/{chunk-GOEL3BO7.js.map → chunk-EHLJL76A.js.map} +0 -0
  55. /package/dist/{chunk-GXHZNIWT.js.map → chunk-ERBUQOIL.js.map} +0 -0
  56. /package/dist/{chunk-TB7PKP6F.js.map → chunk-FRAG4UFU.js.map} +0 -0
  57. /package/dist/{chunk-A2KZVRUO.js.map → chunk-HAKNLXW7.js.map} +0 -0
  58. /package/dist/{chunk-DYX6466P.js.map → chunk-JA6Z3QA7.js.map} +0 -0
  59. /package/dist/{chunk-LQRD4X6R.js.map → chunk-KTIHLBCN.js.map} +0 -0
  60. /package/dist/{chunk-D22A3KGQ.js.map → chunk-KTIKZNGS.js.map} +0 -0
  61. /package/dist/{chunk-AIR6A4NP.js.map → chunk-NH3XBJTZ.js.map} +0 -0
  62. /package/dist/{chunk-QGKK6FHC.js.map → chunk-S32FLJRP.js.map} +0 -0
@@ -4,11 +4,11 @@ import { W as WorkspaceLinkAction } from '../workspaceLinkActions-Bjy_XfBm.js';
4
4
  import { A as AgentMessageMarkdownWorkspaceAppIcon } from '../AgentMessageMarkdown-DeYPURtF.js';
5
5
  import { c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DPAgUJlR.js';
6
6
  export { B as BuildWorkspaceAgentSessionDetailInput, d as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DPAgUJlR.js';
7
- import { c as AgentGUIProviderSkillOption } from '../agentGuiNodeTypes-BTHu_g4m.js';
7
+ import { c as AgentGUIProviderSkillOption } from '../agentGuiNodeTypes-BipgG2ib.js';
8
8
  export { W as WorkspaceAgentActivityCard, n as WorkspaceAgentActivitySession, q as WorkspaceAgentActivityTimelineItem } from '../workspaceAgentActivityListViewModel-DJvAqZso.js';
9
9
  import '@tutti-os/workspace-issue-manager/core';
10
10
  import '@tutti-os/agent-activity-core';
11
- import '../types-BwDrG654.js';
11
+ import '../types-DZ79b8Zn.js';
12
12
  import '@tutti-os/workspace-user-project/contracts';
13
13
 
14
14
  interface AgentConversationFlowProps {
@@ -6,20 +6,20 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-J335PQ5H.js";
10
- import "../chunk-KJLSZETD.js";
9
+ } from "../chunk-6XRTDIDR.js";
10
+ import "../chunk-DAPKF2SN.js";
11
11
  import "../chunk-PSLAWU25.js";
12
- import "../chunk-C2M2ELXF.js";
12
+ import "../chunk-547R2HOD.js";
13
13
  import "../chunk-Y35GDLP2.js";
14
14
  import "../chunk-LUGELG5V.js";
15
15
  import "../chunk-ZZBLWZJR.js";
16
16
  import "../chunk-4US2YHBY.js";
17
17
  import {
18
18
  translate
19
- } from "../chunk-AIR6A4NP.js";
19
+ } from "../chunk-NH3XBJTZ.js";
20
20
  import "../chunk-PJP5BUU6.js";
21
21
  import "../chunk-4I2VCAMW.js";
22
- import "../chunk-3QPN2Y7R.js";
22
+ import "../chunk-KAPBUKIT.js";
23
23
 
24
24
  // shared/WorkspaceAgentSessionDetail.tsx
25
25
  import { useMemo } from "react";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatAgentGuiConversationPlainTitle
3
- } from "../chunk-GOEL3BO7.js";
3
+ } from "../chunk-EHLJL76A.js";
4
4
  import {
5
5
  AgentInteractivePromptSurface,
6
6
  approvalOptionDisplayLabel,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-DYX6466P.js";
9
+ } from "../chunk-JA6Z3QA7.js";
10
10
  import {
11
11
  PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
12
12
  PLAN_IMPLEMENTATION_PROMPT,
@@ -15,7 +15,7 @@ import {
15
15
  } from "../chunk-MKHDRIGN.js";
16
16
  import {
17
17
  formatAgentSessionMentionText
18
- } from "../chunk-D22A3KGQ.js";
18
+ } from "../chunk-KTIKZNGS.js";
19
19
  import {
20
20
  AgentMessageMarkdown,
21
21
  CustomScrollArea,
@@ -25,11 +25,11 @@ import {
25
25
  extractExitPlanModeOptions,
26
26
  isExitPlanSwitchModeInput,
27
27
  normalizeAskUserQuestions
28
- } from "../chunk-KJLSZETD.js";
28
+ } from "../chunk-DAPKF2SN.js";
29
29
  import {
30
30
  userAvatarPlaceholderUrl,
31
31
  workspaceAgentActivityStatusLabel
32
- } from "../chunk-A2KZVRUO.js";
32
+ } from "../chunk-HAKNLXW7.js";
33
33
  import {
34
34
  resolveWorkspaceAgentSessionSortTimeUnixMs
35
35
  } from "../chunk-IBIMGLCD.js";
@@ -43,10 +43,10 @@ import {
43
43
  AgentGuiI18nProvider,
44
44
  getActiveUiLanguage,
45
45
  useTranslation
46
- } from "../chunk-AIR6A4NP.js";
46
+ } from "../chunk-NH3XBJTZ.js";
47
47
  import "../chunk-PJP5BUU6.js";
48
48
  import "../chunk-4I2VCAMW.js";
49
- import "../chunk-3QPN2Y7R.js";
49
+ import "../chunk-KAPBUKIT.js";
50
50
  import "../chunk-GCBDIQDX.js";
51
51
 
52
52
  // agent-message-center/WorkspaceAgentMessageCenterPanel.tsx
@@ -1,5 +1,5 @@
1
1
  import { AgentActivityUsage } from '@tutti-os/agent-activity-core';
2
- import { i as AgentHostAgentSessionCommand, j as AgentHostAgentSessionComposerSettings, l as AgentHostAgentSessionReasoningEffort, m as AgentHostAgentSessionSpeed, k as AgentHostAgentSessionPermissionConfig, n as AgentHostAgentSessionState, a as AgentGUIProvider, q as AgentPromptContentBlock, A as AgentGUINodeData, f as AgentGUIProviderTarget, b as AgentGUIProviderRailMode, c as AgentGUIProviderReadinessGate } from './types-BwDrG654.js';
2
+ import { j as AgentHostAgentSessionCommand, k as AgentHostAgentSessionComposerSettings, m as AgentHostAgentSessionReasoningEffort, n as AgentHostAgentSessionSpeed, l as AgentHostAgentSessionPermissionConfig, o as AgentHostAgentSessionState, a as AgentGUIProvider, r as AgentPromptContentBlock, A as AgentGUINodeData, f as AgentGUIProviderTarget, b as AgentGUIProviderRailMode, c as AgentGUIProviderReadinessGate } from './types-DZ79b8Zn.js';
3
3
  import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, l as AgentHostWorkspaceAgentSnapshot, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, p as WorkspaceAgentActivitySyncState } from './workspaceAgentActivityListViewModel-DJvAqZso.js';
4
4
  import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-DPAgUJlR.js';
5
5
  import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
@@ -520,10 +520,17 @@ interface AgentComposerDraftFile {
520
520
  uploading?: boolean;
521
521
  uploadError?: string;
522
522
  }
523
+ interface AgentComposerDraftLargeText {
524
+ id: string;
525
+ name: string;
526
+ text: string;
527
+ sizeBytes?: number;
528
+ }
523
529
  interface AgentComposerDraft {
524
530
  prompt: string;
525
531
  images: AgentComposerDraftImage[];
526
532
  files?: AgentComposerDraftFile[];
533
+ largeTexts?: AgentComposerDraftLargeText[];
527
534
  }
528
535
  interface AgentGUIComposerSettingsVM {
529
536
  sessionSettings: AgentSessionComposerSettings | null;
@@ -4312,13 +4312,20 @@ aside.workspace-agents-status-panel
4312
4312
  overflow: hidden;
4313
4313
  }
4314
4314
 
4315
- .workbench-window:has([data-agent-gui-workbench-header="true"])
4316
- .agent-gui-node__rail-toolbar,
4317
4315
  .workbench-window:has([data-agent-gui-workbench-header="true"])
4318
4316
  .agent-gui-node__provider-rail-panel {
4319
4317
  padding-top: var(--agent-gui-workbench-header-height);
4320
4318
  }
4321
4319
 
4320
+ /* The provider rail nests the workbench-header offset on the panel and the 2px
4321
+ breathing room on the inner rail, so the "All" tile sits at header + 2px. The
4322
+ toolbar has no such wrapper, so fold the same 2px into its offset to keep the
4323
+ search field top aligned with the provider tiles. */
4324
+ .workbench-window:has([data-agent-gui-workbench-header="true"])
4325
+ .agent-gui-node__rail-toolbar {
4326
+ padding-top: calc(var(--agent-gui-workbench-header-height) + 2px);
4327
+ }
4328
+
4322
4329
  .workbench-window:has([data-agent-gui-workbench-header="true"])
4323
4330
  .agent-gui-node__detail-panel {
4324
4331
  position: relative;
@@ -4876,7 +4883,7 @@ aside.workspace-agents-status-panel
4876
4883
  align-items: center;
4877
4884
  gap: 10px;
4878
4885
  min-width: 0;
4879
- padding: 0 16px 16px;
4886
+ padding: 2px 16px 16px;
4880
4887
  }
4881
4888
 
4882
4889
  .agent-gui-node__project-rail-header {
@@ -8424,7 +8431,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8424
8431
  flex: 1 1 auto;
8425
8432
  flex-direction: column;
8426
8433
  align-items: center;
8427
- padding: 0 0 12px;
8434
+ padding: 2px 0 12px;
8428
8435
  overflow-x: hidden;
8429
8436
  overflow-y: auto;
8430
8437
  mask-image: linear-gradient(
@@ -8591,6 +8598,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8591
8598
  }
8592
8599
 
8593
8600
  .agent-gui-node__provider-rail-avatar {
8601
+ position: relative;
8594
8602
  box-sizing: border-box;
8595
8603
  display: grid;
8596
8604
  width: 32px;
@@ -8666,6 +8674,28 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8666
8674
  object-fit: contain;
8667
8675
  }
8668
8676
 
8677
+ .agent-gui-node__provider-rail-badge {
8678
+ position: absolute;
8679
+ right: -4px;
8680
+ bottom: -4px;
8681
+ box-sizing: border-box;
8682
+ display: grid;
8683
+ width: 16px;
8684
+ height: 16px;
8685
+ place-items: center;
8686
+ overflow: hidden;
8687
+ border: 1px solid #fff;
8688
+ border-radius: 999px;
8689
+ background: #fff;
8690
+ pointer-events: none;
8691
+ }
8692
+
8693
+ .agent-gui-node__provider-rail-badge-image {
8694
+ width: 100%;
8695
+ height: 100%;
8696
+ object-fit: cover;
8697
+ }
8698
+
8669
8699
  .agent-gui-node__provider-rail-launchpad-icon {
8670
8700
  box-sizing: border-box;
8671
8701
  display: grid;
@@ -8767,6 +8797,13 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8767
8797
  justify-items: center;
8768
8798
  }
8769
8799
 
8800
+ .agent-gui-node__empty-hero-icon-slot {
8801
+ display: grid;
8802
+ width: 54px;
8803
+ height: 54px;
8804
+ place-items: center;
8805
+ }
8806
+
8770
8807
  .agent-gui-node__empty-hero-icon-effect {
8771
8808
  display: block;
8772
8809
  width: 48px;
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3.41382 0.991348C3.8204 1.02608 4.73175 1.00009 5.1687 1.00014H8.70679L20.2244 1.00209L20.2205 22.9904L9.71069 22.9757H5.87476C5.06579 22.9757 4.22438 22.9637 3.4187 22.9913C3.38439 22.0528 3.40898 20.9887 3.40894 20.0402V14.632L3.41382 0.991348ZM7.29272 4.87807C7.28438 6.53493 7.27638 8.21526 7.29272 9.87123L7.29663 19.0988C8.53026 19.1177 9.7903 19.1055 11.0261 19.1056L16.3337 19.0997L16.3347 14.004C16.3345 12.4565 16.3505 10.8828 16.3337 9.33803C16.3388 7.86364 16.3492 6.34738 16.3337 4.87416L7.29272 4.87807Z" fill="black"/>
3
+ <rect opacity="0.3" x="7.28322" y="10.0502" width="9.05882" height="9.05882" fill="black"/>
4
+ </svg>
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  translate,
11
11
  useTranslation
12
- } from "./chunk-AIR6A4NP.js";
12
+ } from "./chunk-NH3XBJTZ.js";
13
13
 
14
14
  // agent-gui/agentGuiNode/agentRichText/agentFileMentionExtension.ts
15
15
  import { mergeAttributes, Node } from "@tiptap/core";
@@ -1437,4 +1437,4 @@ export {
1437
1437
  mentionItemToAttrs,
1438
1438
  attrsToMentionItem
1439
1439
  };
1440
- //# sourceMappingURL=chunk-C2M2ELXF.js.map
1440
+ //# sourceMappingURL=chunk-547R2HOD.js.map
@@ -15,7 +15,7 @@ import {
15
15
  resolveWorkspaceFilePathCandidate,
16
16
  resolveWorkspaceLinkAction,
17
17
  useAgentTargetPresentations
18
- } from "./chunk-KJLSZETD.js";
18
+ } from "./chunk-DAPKF2SN.js";
19
19
  import {
20
20
  classifyFailedAgentMessage,
21
21
  openAgentEnvPanel,
@@ -28,7 +28,7 @@ import {
28
28
  formatAgentMentionMarkdown,
29
29
  mentionItemToAttrs,
30
30
  parseAgentMentionMarkdown
31
- } from "./chunk-C2M2ELXF.js";
31
+ } from "./chunk-547R2HOD.js";
32
32
  import {
33
33
  fileChangeCountFromChanges,
34
34
  fileChangeEntriesFromChanges,
@@ -45,7 +45,7 @@ import {
45
45
  import {
46
46
  getActiveUiLanguage,
47
47
  translate
48
- } from "./chunk-AIR6A4NP.js";
48
+ } from "./chunk-NH3XBJTZ.js";
49
49
 
50
50
  // shared/workspaceAgentTimelineCanonical.ts
51
51
  import { isLiveTurnLifecyclePhase } from "@tutti-os/agent-activity-core";
@@ -14170,10 +14170,7 @@ var AGENT_MESSAGE_LOCATOR_PANEL_FADE_MS = 160;
14170
14170
  var AGENT_MESSAGE_LOCATOR_ITEM_SPACING_PX = 30;
14171
14171
  var AGENT_MESSAGE_LOCATOR_HIT_SIZE_PX = 36;
14172
14172
  var AGENT_MESSAGE_LOCATOR_BOTTOM_SAFE_INSET_MAX_PX = 48;
14173
- var AGENT_MESSAGE_LOCATOR_NATIVE_SMOOTH_MAX_DISTANCE_PX = 720;
14174
- var AGENT_MESSAGE_LOCATOR_FAST_SCROLL_SPEED_PX_PER_MS = 8;
14175
- var AGENT_MESSAGE_LOCATOR_FAST_SCROLL_MIN_DURATION_MS = 120;
14176
- var AGENT_MESSAGE_LOCATOR_FAST_SCROLL_MAX_DURATION_MS = 320;
14173
+ var AGENT_MESSAGE_LOCATOR_SCROLL_DURATION_MS = 160;
14177
14174
  var agentMessageLocatorScrollAnimations = /* @__PURE__ */ new WeakMap();
14178
14175
  function transcriptLabelsEqual(previous, next) {
14179
14176
  return previous === next || previous.thinkingLabel === next.thinkingLabel && previous.processing === next.processing && previous.turnSummary === next.turnSummary && previous.rawTimelineJson === next.rawTimelineJson && previous.userMessageLocator === next.userMessageLocator && previous.toolCallsLabel === next.toolCallsLabel;
@@ -14782,15 +14779,7 @@ function scrollTranscriptRowIntoView(row, scrollParent) {
14782
14779
  return;
14783
14780
  }
14784
14781
  const targetScrollTop = targetScrollTopForTranscriptRow(row, scrollParent);
14785
- const distance = Math.abs(targetScrollTop - scrollParent.scrollTop);
14786
- if (distance <= AGENT_MESSAGE_LOCATOR_NATIVE_SMOOTH_MAX_DISTANCE_PX) {
14787
- row.scrollIntoView({
14788
- block: "center",
14789
- behavior: "smooth"
14790
- });
14791
- return;
14792
- }
14793
- animateMessageLocatorScroll(scrollParent, targetScrollTop, distance);
14782
+ animateMessageLocatorScroll(scrollParent, targetScrollTop);
14794
14783
  }
14795
14784
  function targetScrollTopForTranscriptRow(row, scrollParent) {
14796
14785
  const rowRect = row.getBoundingClientRect();
@@ -14804,23 +14793,19 @@ function targetScrollTopForTranscriptRow(row, scrollParent) {
14804
14793
  const targetScrollTop = rowCenter - visibleFrame.topOffsetPx - visibleFrame.heightPx / 2;
14805
14794
  return Math.min(maxScrollTop, Math.max(0, targetScrollTop));
14806
14795
  }
14807
- function animateMessageLocatorScroll(scrollParent, targetScrollTop, distance) {
14796
+ function animateMessageLocatorScroll(scrollParent, targetScrollTop) {
14808
14797
  const previousAnimation = agentMessageLocatorScrollAnimations.get(scrollParent);
14809
14798
  if (previousAnimation !== void 0) {
14810
14799
  window.cancelAnimationFrame(previousAnimation);
14811
14800
  }
14812
14801
  const startScrollTop = scrollParent.scrollTop;
14813
14802
  const delta = targetScrollTop - startScrollTop;
14814
- const durationMs = Math.max(
14815
- AGENT_MESSAGE_LOCATOR_FAST_SCROLL_MIN_DURATION_MS,
14816
- Math.min(
14817
- AGENT_MESSAGE_LOCATOR_FAST_SCROLL_MAX_DURATION_MS,
14818
- distance / AGENT_MESSAGE_LOCATOR_FAST_SCROLL_SPEED_PX_PER_MS
14819
- )
14820
- );
14821
14803
  const startedAt = performance.now();
14822
14804
  const step = (now) => {
14823
- const progress = Math.min(1, (now - startedAt) / durationMs);
14805
+ const progress = Math.min(
14806
+ 1,
14807
+ (now - startedAt) / AGENT_MESSAGE_LOCATOR_SCROLL_DURATION_MS
14808
+ );
14824
14809
  scrollParent.scrollTop = startScrollTop + delta * progress;
14825
14810
  if (progress >= 1) {
14826
14811
  scrollParent.scrollTop = targetScrollTop;
@@ -15111,4 +15096,4 @@ export {
15111
15096
  AgentConversationFlow,
15112
15097
  useProjectedAgentConversation
15113
15098
  };
15114
- //# sourceMappingURL=chunk-J335PQ5H.js.map
15099
+ //# sourceMappingURL=chunk-6XRTDIDR.js.map