@tangle-network/sandbox-ui 2.0.13 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -12,8 +12,8 @@ import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as compute
12
12
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
13
13
  import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
14
14
  import { S as ReasoningLevelPicker, _ as modelProvider, a as ChatMessage, b as DEFAULT_REASONING_LEVEL_OPTIONS, c as SpeakerHeader, d as UserMessage, f as agentTimelineStepKind, g as ArtifactAgentDock, h as partitionBySpeaker, i as ChatContainer, l as TRANSCRIPT_TEXT, m as isViewerMessage, n as AgentTimelineColumn, o as MessageAuthor, p as foldSummary, r as AgentTimelineStep, s as MessageList, t as AgentTimeline, u as ThinkingIndicator, v as snapHarnessToModel, x as HARNESS_REASONING_OPTIONS, y as AgentProfilePicker } from "./chat-BU39pb2j.js";
15
- import { C as useAgentStream, S as foldAgentRows, T as traceSpanMark, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as TraceWaterfall, x as LatestEvents, y as taskStatus } from "./run-DBTbnQrC.js";
16
- import { a as VirtualList, i as model_exports, n as Conversation, r as indexRecord, t as withPrompts } from "./record-Dt9gqJee.js";
15
+ import { C as useAgentStream, S as foldAgentRows, T as traceSpanMark, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as TraceWaterfall, x as LatestEvents, y as taskStatus } from "./run-CS2K9JxW.js";
16
+ import { a as VirtualList, i as model_exports, n as Conversation, r as indexRecord, t as withPrompts } from "./record-DZnT6SWN.js";
17
17
  import "./vault-tree.js";
18
18
  import { a as TangleLoginButton, i as UserMenu, n as GitHubLoginButton, r as LoginLayout, t as AuthHeader } from "./auth-BDpoZ_2f.js";
19
19
  import { t as AgentMessagingConnection } from "./connections-DymjzHe_.js";
@@ -1346,7 +1346,14 @@ function Conversation({ index, actor, cutoff, query, category, selected, openSou
1346
1346
  element.addEventListener("scroll", track, { passive: true });
1347
1347
  return () => element.removeEventListener("scroll", track);
1348
1348
  }, []);
1349
+ const arrival = useRef({ actor });
1349
1350
  useLayoutEffect(() => {
1351
+ const tail = rows.at(-1), event = tail?.kind === "event" ? tail.event : tail?.events.at(-1), entry = tail?.kind === "event" ? tail.event.id : tail?.events[0]?.id;
1352
+ let animate = live && arrival.current.actor === actor && !!arrival.current.id && arrival.current.id !== event?.id;
1353
+ arrival.current = {
1354
+ actor,
1355
+ id: event?.id
1356
+ };
1350
1357
  const element = scroll.current;
1351
1358
  if (!element || !following.current) return;
1352
1359
  element.scrollTop = element.scrollHeight;
@@ -1354,6 +1361,15 @@ function Conversation({ index, actor, cutoff, query, category, selected, openSou
1354
1361
  let frame = requestAnimationFrame(function pin() {
1355
1362
  if (!following.current) return;
1356
1363
  element.scrollTop = element.scrollHeight;
1364
+ const row = entry && element.querySelector(`[data-entry="${CSS.escape(entry)}"]`);
1365
+ if (animate && row) {
1366
+ animate = false;
1367
+ const style = getComputedStyle(element), value = style.getPropertyValue("--duration-stream").trim(), duration = parseFloat(value) * (value.endsWith("ms") ? 1 : 1e3);
1368
+ if (duration > 0 && !matchMedia("(prefers-reduced-motion: reduce)").matches) row.animate([{ opacity: 0 }, { opacity: 1 }], {
1369
+ duration,
1370
+ easing: style.getPropertyValue("--ease-expo").trim() || "linear"
1371
+ });
1372
+ }
1357
1373
  if (++frames < 20) frame = requestAnimationFrame(pin);
1358
1374
  });
1359
1375
  return () => cancelAnimationFrame(frame);
@@ -1385,7 +1401,11 @@ function Conversation({ index, actor, cutoff, query, category, selected, openSou
1385
1401
  });
1386
1402
  };
1387
1403
  const keyOf = useCallback((row) => row.key, []);
1388
- const estimate = useCallback((row) => row.kind !== "event" ? 36 : isLifecycle(row.event) ? 26 : !textOf(row.event) && callsOf(row.event).length ? 16 + 36 * callsOf(row.event).length : 96, []);
1404
+ const estimate = useCallback((row) => {
1405
+ if (row.kind !== "event") return 36;
1406
+ if (isLifecycle(row.event)) return 26;
1407
+ return !textOf(row.event) && callsOf(row.event).length ? 16 + 36 * callsOf(row.event).length : 96;
1408
+ }, []);
1389
1409
  const context = {
1390
1410
  index,
1391
1411
  cutoff,
@@ -1 +1 @@
1
- export { n as Conversation, a as VirtualList, r as indexRecord, i as recordModel, t as withPrompts } from "../record-Dt9gqJee.js";
1
+ export { n as Conversation, a as VirtualList, r as indexRecord, i as recordModel, t as withPrompts } from "../record-DZnT6SWN.js";
@@ -2,7 +2,7 @@ import { t as cn } from "./utils-BER_bdgE.js";
2
2
  import { i as modelBrandFor, t as ModelBrandStack } from "./model-brand-bTcMjQtB.js";
3
3
  import { t as ProviderIcon } from "./provider-logo-CPKRPHcS.js";
4
4
  import { t as AgentGraph$1 } from "./AgentGraph-CqLe8WCH.js";
5
- import "./record-Dt9gqJee.js";
5
+ import "./record-DZnT6SWN.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import { useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
8
8
  import { X } from "lucide-react";
package/dist/run.js CHANGED
@@ -1,3 +1,3 @@
1
- import { C as useAgentStream, S as foldAgentRows, T as traceSpanMark, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as TraceWaterfall, x as LatestEvents, y as taskStatus } from "./run-DBTbnQrC.js";
2
- import { a as VirtualList, i as model_exports, n as Conversation, r as indexRecord, t as withPrompts } from "./record-Dt9gqJee.js";
1
+ import { C as useAgentStream, S as foldAgentRows, T as traceSpanMark, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as TraceWaterfall, x as LatestEvents, y as taskStatus } from "./run-CS2K9JxW.js";
2
+ import { a as VirtualList, i as model_exports, n as Conversation, r as indexRecord, t as withPrompts } from "./record-DZnT6SWN.js";
3
3
  export { ApprovalCard, ApprovalDiffSummary, Conversation, ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LatestEvents, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, TaskList, ToolCallFeed, TraceWaterfall, TraceWorkspace, VirtualList, foldAgentRows, indexRecord, parseToolEvent, model_exports as recordModel, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus, traceSpanMark, useAgentStream, withPrompts };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "2.0.13",
3
+ "version": "2.0.14",
4
4
  "license": "MIT",
5
5
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
6
6
  "repository": {