@tangle-network/sandbox-ui 1.1.8 → 2.0.0

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 (39) hide show
  1. package/README.md +1 -1
  2. package/dist/{AgentGraph-DxAeQQch.d.ts → AgentGraph-B4uWLXlD.d.ts} +12 -17
  3. package/dist/AgentGraph-C1DsA-Rd.js +1369 -0
  4. package/dist/{AgentGraphCanvas-CMdOlSlh.js → AgentGraphCanvas-Bcxq-e6E.js} +557 -383
  5. package/dist/{WorkflowGraph-DZ3xejKE.js → WorkflowGraph-BDjc7V_U.js} +3 -2
  6. package/dist/canvas-theme-DGd0fm1H.js +58 -0
  7. package/dist/{chat-4OZD23RA.js → chat-BrlLa4rg.js} +2 -2
  8. package/dist/chat.d.ts +2 -2
  9. package/dist/chat.js +1 -1
  10. package/dist/{dashboard-ClKA3opr.js → dashboard-FMrtIe9S.js} +3 -3
  11. package/dist/dashboard.js +1 -1
  12. package/dist/globals.css +2366 -1801
  13. package/dist/{index-ucJHuuVZ.d.ts → index-5zOVKgDT.d.ts} +2 -2
  14. package/dist/index-BK8KKLNY.d.ts +26 -0
  15. package/dist/{index-72uBu5lu.d.ts → index-D9-IiEpQ.d.ts} +21 -6
  16. package/dist/index.d.ts +5 -6
  17. package/dist/index.js +8 -291
  18. package/dist/integrations.d.ts +2 -1
  19. package/dist/integrations.js +6 -1
  20. package/dist/latest-events-B34ElSTE.js +190 -0
  21. package/dist/{AgentGraph-DJEQrKTs.js → node-ui-Bfnh08U3.js} +40 -1194
  22. package/dist/primitives-CCdx5Hh_.js +23 -0
  23. package/dist/primitives.d.ts +2 -3
  24. package/dist/primitives.js +1 -2
  25. package/dist/{run-Qern6muT.js → run-BqpdpP1K.js} +161 -60
  26. package/dist/run.d.ts +2 -2
  27. package/dist/run.js +3 -1
  28. package/dist/styles.css +2366 -1801
  29. package/dist/tailwind.css +74 -60
  30. package/dist/tokens.css +452 -851
  31. package/dist/{workbench-DOgYO3Zg.js → workbench-BVnZNhP2.js} +1 -1
  32. package/dist/workbench.js +1 -1
  33. package/dist/workflows.d.ts +3 -7
  34. package/dist/workflows.js +2 -1
  35. package/package.json +11 -10
  36. package/dist/elk-loader-Dl9S7jQk.js +0 -12
  37. package/dist/index-BAEvGqrn.d.ts +0 -26
  38. package/dist/primitives-CiwDp4-0.js +0 -32
  39. package/dist/rolldown-runtime-782esTHO.js +0 -26
@@ -1,5 +1,5 @@
1
1
  import { t as cn$1 } from "./utils-BER_bdgE.js";
2
- import { a as PortsList } from "./dashboard-ClKA3opr.js";
2
+ import { a as PortsList } from "./dashboard-FMrtIe9S.js";
3
3
  import { n as TerminalView } from "./terminal-nUCznZRj.js";
4
4
  import { RichFileTree } from "./files.js";
5
5
  import { a as CodeSurface, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
package/dist/workbench.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as DiffStatsBadge, c as PillTabs, i as FileBreadcrumb, n as SandboxArtifactPane, o as GitStatusBadge, r as CodeView, s as PanelHeader, t as ChangesPane } from "./workbench-DOgYO3Zg.js";
1
+ import { a as DiffStatsBadge, c as PillTabs, i as FileBreadcrumb, n as SandboxArtifactPane, o as GitStatusBadge, r as CodeView, s as PanelHeader, t as ChangesPane } from "./workbench-BVnZNhP2.js";
2
2
  import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
3
3
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
4
4
  export { CODE_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats };
@@ -1,5 +1,5 @@
1
1
  import { n as ModelBrandStack, o as modelBrandFor, t as ModelBrandIdentity } from "./model-brand-ZwVS49Fq.js";
2
- import { a as AgentGraphTool, c as AgentGraphEdge, d as AgentGraphNode, f as AgentGraphStatus, i as AgentGraphCallKind, l as AgentGraphEdgeKind, n as AgentGraphProps, o as AgentGraphActivity, r as AgentGraphCall, s as AgentGraphDirection, t as AgentGraph, u as AgentGraphEvent } from "./AgentGraph-DxAeQQch.js";
2
+ import { a as AgentGraphTool, c as AgentGraphEdge, d as AgentGraphNode, f as AgentGraphStatus, i as AgentGraphCallKind, l as AgentGraphEdgeKind, n as AgentGraphProps, o as AgentGraphActivity, r as AgentGraphCall, s as AgentGraphDirection, t as AgentGraph, u as AgentGraphEvent } from "./AgentGraph-B4uWLXlD.js";
3
3
  import { StatusTone } from "@tangle-network/ui/primitives";
4
4
  import { Component, ReactElement, ReactNode } from "react";
5
5
  import { LucideIcon } from "lucide-react";
@@ -509,14 +509,10 @@ interface WorkflowGraphProps {
509
509
  declare function WorkflowGraph(props: WorkflowGraphProps): import("react").JSX.Element;
510
510
  export declare const STATUS_COLOR: Record<WfNodeStatus, string>;
511
511
  export declare const STATUS_LABEL: Record<WfNodeStatus, string>;
512
- /** @deprecated `StatusPill` now renders ui's StatusPill from `STATUS_TONE`;
513
- * kept for consumers that styled their own pill from it.
514
- * Status pill styling — a tinted well in the status color. Built from the
515
- * semantic surface trio (bg/border/text) so the pill keeps its contrast in both
516
- * themes rather than washing out in one of them. */
512
+ /** Retained public styling contract, derived from the owner's status metadata. */
517
513
  export declare const STATUS_PILL: Record<WfNodeStatus, {
518
- background: string;
519
514
  color: string;
515
+ background: string;
520
516
  borderColor: string;
521
517
  }>;
522
518
  export declare const KIND_ICON: Record<string, LucideIcon>;
package/dist/workflows.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { i as modelBrandFor, t as ModelBrandStack } from "./model-brand-bTcMjQtB.js";
2
- import { A as buildWorkflowGraph, D as TRIGGER_NODE_ID, I as actionPathLabel, L as humanizeIdentifier, M as triggerNodeId, N as triggerNodeIndex, O as actionNodeId, R as parseActionPath, c as NodeMark, g as STATUS_TONE, h as STATUS_PILL, k as branchNodeId, m as STATUS_LABEL, n as WorkflowGraph, p as STATUS_COLOR, s as KIND_ICON, t as AgentGraph, v as StatusPill, z as shortModel } from "./AgentGraph-DJEQrKTs.js";
2
+ import { n as WorkflowGraph, t as AgentGraph } from "./AgentGraph-C1DsA-Rd.js";
3
+ import { C as actionNodeId, D as triggerNodeId, M as humanizeIdentifier, N as parseActionPath, O as triggerNodeIndex, P as shortModel, S as TRIGGER_NODE_ID, T as buildWorkflowGraph, c as STATUS_COLOR, d as STATUS_TONE, j as actionPathLabel, l as STATUS_LABEL, n as KIND_ICON, p as StatusPill, r as NodeMark, u as STATUS_PILL, w as branchNodeId } from "./node-ui-Bfnh08U3.js";
3
4
  import { n as classifyOutput, r as condenseText, t as NodeOutputBody } from "./node-output-DlySTwxr.js";
4
5
  export { AgentGraph, KIND_ICON, ModelBrandStack, NodeMark, NodeOutputBody, StatusPill as NodeStatusPill, STATUS_COLOR, STATUS_LABEL, STATUS_PILL, STATUS_TONE, TRIGGER_NODE_ID, WorkflowGraph as WorkflowGraphLazy, actionNodeId, actionPathLabel, branchNodeId, buildWorkflowGraph, classifyOutput, condenseText, humanizeIdentifier, modelBrandFor, parseActionPath, shortModel, triggerNodeId, triggerNodeIndex };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "1.1.8",
3
+ "version": "2.0.0",
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": {
@@ -137,9 +137,9 @@
137
137
  "@hocuspocus/provider": ">=2.15.0 <5.0.0",
138
138
  "@nanostores/react": ">=0.8.4 <2.0.0",
139
139
  "@tangle-network/agent-interface": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^5.2.0",
140
- "@tangle-network/brand": "^1.29.0",
141
- "@tangle-network/charts": "^0.21.20 || ^1.0.0",
142
- "@tangle-network/ui": "^11.46.0",
140
+ "@tangle-network/brand": "^1.31.1",
141
+ "@tangle-network/charts": "^2.0.2",
142
+ "@tangle-network/ui": "^11.51.1",
143
143
  "@tanstack/react-query": "^5.0.0",
144
144
  "@tiptap/core": ">=3.20.4 <4.0.0",
145
145
  "@tiptap/extension-collaboration": ">=3.20.4 <4.0.0",
@@ -216,7 +216,7 @@
216
216
  "@radix-ui/react-dialog": "^1.3.1",
217
217
  "@radix-ui/react-dropdown-menu": "^2.2.1",
218
218
  "@radix-ui/react-select": "^2.4.1",
219
- "@tangle-network/ui": "^11.46.0",
219
+ "@tangle-network/ui": "^11.51.1",
220
220
  "diff": "^9.0.0",
221
221
  "eventsource-parser": "4.1.2",
222
222
  "lucide-react": "^1.61.0",
@@ -236,8 +236,8 @@
236
236
  "@storybook/react-vite": "^10.6.3",
237
237
  "@tailwindcss/postcss": "^4.3.3",
238
238
  "@tangle-network/agent-interface": "5.10.2",
239
- "@tangle-network/brand": "1.29.0",
240
- "@tangle-network/charts": "^0.21.20",
239
+ "@tangle-network/brand": "^1.31.1",
240
+ "@tangle-network/charts": "^2.0.2",
241
241
  "@tanstack/react-query": "^5.104.5",
242
242
  "@testing-library/dom": "^10.4.2",
243
243
  "@testing-library/jest-dom": "^7.0.1",
@@ -278,12 +278,13 @@
278
278
  "typecheck": "tsc --noEmit",
279
279
  "storybook": "storybook dev -p 6006",
280
280
  "build-storybook": "storybook build",
281
- "test:visual": "pnpm build-storybook --quiet && playwright test",
282
- "signoff": "pnpm typecheck && pnpm build && pnpm test && pnpm test:package && pnpm test:bridge && pnpm test:visual",
281
+ "test:visual": "pnpm build-storybook --quiet && playwright test --grep-invert '17 agents stream' && playwright test tests/visual/run-ui.spec.mjs --grep '17 agents stream' --workers=1 --retries=0",
282
+ "signoff": "pnpm lint:motion && pnpm typecheck && pnpm build && pnpm test && pnpm test:package && pnpm test:bridge && pnpm test:visual",
283
283
  "test": "vitest run",
284
284
  "test:package": "node scripts/package-smoke.mjs && PACKAGE_OMIT_OPTIONAL_PEERS='[\"@hocuspocus/provider\",\"@tiptap/core\",\"@tiptap/extension-collaboration\",\"@tiptap/extension-collaboration-caret\",\"@tiptap/react\",\"@tiptap/starter-kit\",\"pdfjs-dist\",\"yjs\"]' node scripts/package-smoke.mjs",
285
285
  "test:watch": "vitest",
286
286
  "test:embedded-app-package": "node scripts/embedded-app-package-smoke.mjs",
287
- "test:bridge": "pnpm build && vitest run src/__tests__/re-export-identity.test.ts"
287
+ "test:bridge": "pnpm build && vitest run src/__tests__/re-export-identity.test.ts",
288
+ "lint:motion": "node scripts/lint-run-motion.mjs"
288
289
  }
289
290
  }
@@ -1,12 +0,0 @@
1
- // src/workflows/elk-loader.ts
2
- /** One ELK instance per page. `null` once loading failed, so a host without
3
- * the peer pays for one failed import, not one per render. */
4
- let elkInstance;
5
- function loadElk() {
6
- elkInstance ??= import("elkjs/lib/elk.bundled.js").then((mod) => {
7
- const Elk = mod.default;
8
- return new Elk();
9
- }).catch(() => null);
10
- return elkInstance;
11
- }
12
- export { loadElk as t };
@@ -1,26 +0,0 @@
1
- import { HeadingVariant, PageHeaderProps } from "@tangle-network/ui/primitives";
2
- import { TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
3
- import { ElementType, HTMLAttributes, ReactNode } from "react";
4
- interface LogoProps {
5
- variant?: "sandbox";
6
- size?: "sm" | "md" | "lg" | "xl";
7
- className?: string;
8
- iconOnly?: boolean;
9
- }
10
- /** Keep the Sandbox wordmark API while Brand owns the mark and layout. */
11
- declare function Logo$1({ variant, size, className, iconOnly }: LogoProps): import("react").JSX.Element;
12
- declare namespace Logo$1 {
13
- var displayName: string;
14
- }
15
- /** Preserve the existing public type's required visual role and children.
16
- * The binding above remains UI's object, without a local render function.
17
- */
18
- interface HeadingProps extends Omit<HTMLAttributes<HTMLElement>, "role"> {
19
- role: HeadingVariant;
20
- as?: ElementType;
21
- children: ReactNode;
22
- }
23
- type SectionTitleProps = Pick<PageHeaderProps, "title" | "description" | "action" | "className">;
24
- /** Compatibility name for the canonical nested (h2) page header. */
25
- declare function SectionTitle(props: SectionTitleProps): import("react").JSX.Element;
26
- export { LogoProps as a, Logo$1 as i, SectionTitle as n, TangleKnot$1 as o, SectionTitleProps as r, HeadingProps as t };
@@ -1,32 +0,0 @@
1
- import { n as __reExport, t as __exportAll } from "./rolldown-runtime-782esTHO.js";
2
- import { PageHeader } from "@tangle-network/ui/primitives";
3
- import { Logo, TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
4
- import { jsx } from "react/jsx-runtime";
5
- // src/primitives/logo.tsx
6
- /** Keep the Sandbox wordmark API while Brand owns the mark and layout. */
7
- function Logo$1({ variant = "sandbox", size = "md", className, iconOnly = false }) {
8
- return /* @__PURE__ */ jsx(Logo, {
9
- size,
10
- variant: iconOnly ? "icon" : "full",
11
- suffix: variant === "sandbox" ? "Sandbox" : null,
12
- className
13
- });
14
- }
15
- Logo$1.displayName = "Logo";
16
- // src/primitives/heading.tsx
17
- /** Compatibility name for the canonical nested (h2) page header. */
18
- function SectionTitle(props) {
19
- return /* @__PURE__ */ jsx(PageHeader, {
20
- ...props,
21
- level: 2
22
- });
23
- }
24
- // src/primitives/index.ts
25
- var primitives_exports = /* @__PURE__ */ __exportAll({
26
- Logo: () => Logo$1,
27
- SectionTitle: () => SectionTitle,
28
- TangleKnot: () => TangleKnot$1
29
- });
30
- import * as import__tangle_network_ui_primitives from "@tangle-network/ui/primitives";
31
- __reExport(primitives_exports, import__tangle_network_ui_primitives);
32
- export { TangleKnot$1 as i, SectionTitle as n, Logo$1 as r, primitives_exports as t };
@@ -1,26 +0,0 @@
1
- // \0rolldown/runtime.js
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __exportAll = (all, no_symbols) => {
7
- let target = {};
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
13
- return target;
14
- };
15
- var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
17
- key = keys[i];
18
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
- get: ((k) => from[k]).bind(null, key),
20
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
- });
22
- }
23
- return to;
24
- };
25
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
26
- export { __reExport as n, __exportAll as t };