@tangle-network/sandbox-ui 0.70.0 → 0.72.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.
- package/dist/chat.d.ts +13 -8
- package/dist/chat.js +3 -3
- package/dist/{chunk-HU4B2M4K.js → chunk-IWIZ7RZE.js} +1 -1
- package/dist/{chunk-SF6LPMMN.js → chunk-L62ZT6RS.js} +5 -2
- package/dist/{chunk-XL573ZOV.js → chunk-UQXDIQWD.js} +195 -43
- package/dist/dashboard.js +2 -2
- package/dist/globals.css +47 -64
- package/dist/index.js +3 -3
- package/dist/pages.js +1 -1
- package/dist/styles.css +47 -64
- package/dist/tokens.css +7 -7
- package/dist/workbench.js +2 -2
- package/package.json +5 -5
package/dist/chat.d.ts
CHANGED
|
@@ -230,16 +230,21 @@ interface AgentSessionControlsProps {
|
|
|
230
230
|
* existing behavior. `"gear"` collapses them behind a single compact gear
|
|
231
231
|
* button whose menu opens up-and-left, for right-anchored copilots where
|
|
232
232
|
* the composer is tight. Nested model/harness/effort menus render adjacent
|
|
233
|
-
* on the left of the gear menu.
|
|
233
|
+
* on the left of the gear menu. `"combined"` is the gear layout with a
|
|
234
|
+
* labeled trigger instead of the anonymous icon: the button summarizes the
|
|
235
|
+
* current selection as text (`harness · model · effort`) so the choice stays
|
|
236
|
+
* visible without opening the menu — for a composer that wants one compact
|
|
237
|
+
* agent control it can read at a glance.
|
|
234
238
|
*/
|
|
235
|
-
layout?: "inline" | "gear";
|
|
239
|
+
layout?: "inline" | "gear" | "combined";
|
|
236
240
|
/**
|
|
237
|
-
* Where the
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* `"
|
|
241
|
+
* Where the pickers open. `"auto"` (default) keeps Radix's collision-aware
|
|
242
|
+
* behavior: the menus open downward but flip up when the composer is docked
|
|
243
|
+
* at the bottom of the viewport. `"down"` pins them open downward — for a
|
|
244
|
+
* composer floating in open space (e.g. a centered new-chat surface) where
|
|
245
|
+
* flipping up would cover the heading. Honored by the `"inline"` strip (its
|
|
246
|
+
* nested pickers) and by the `"combined"` panel (which opens downward instead
|
|
247
|
+
* of upward); the `"gear"` menu keeps its own placement.
|
|
243
248
|
*/
|
|
244
249
|
menuPlacement?: "auto" | "down";
|
|
245
250
|
}
|
package/dist/chat.js
CHANGED
|
@@ -17,9 +17,9 @@ import {
|
|
|
17
17
|
modelProvider,
|
|
18
18
|
snapHarnessToModel,
|
|
19
19
|
snapModelToHarness
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-UQXDIQWD.js";
|
|
21
|
+
import "./chunk-IWIZ7RZE.js";
|
|
22
|
+
import "./chunk-L62ZT6RS.js";
|
|
23
23
|
import "./chunk-EI44GEQ5.js";
|
|
24
24
|
import "./chunk-U67V476Y.js";
|
|
25
25
|
export {
|
|
@@ -360,7 +360,7 @@ function ModelPicker({
|
|
|
360
360
|
children: [
|
|
361
361
|
currentIdentity ? /* @__PURE__ */ jsx2(ModelBrandStack, { identity: currentIdentity, size: "sm" }) : /* @__PURE__ */ jsx2(Sparkles, { className: "h-3 w-3 text-muted-foreground" }),
|
|
362
362
|
/* @__PURE__ */ jsx2("span", { className: "truncate max-w-[160px]", children: currentLabel || placeholder }),
|
|
363
|
-
/* @__PURE__ */ jsx2(ChevronDown, { className: "h-3 w-3 text-muted-foreground transition-transform data-[state=open]:rotate-180" })
|
|
363
|
+
/* @__PURE__ */ jsx2(ChevronDown, { className: "ml-auto h-3 w-3 shrink-0 text-muted-foreground transition-transform data-[state=open]:rotate-180" })
|
|
364
364
|
]
|
|
365
365
|
}
|
|
366
366
|
) : /* @__PURE__ */ jsxs2(
|
|
@@ -793,5 +793,8 @@ export {
|
|
|
793
793
|
DEFAULT_FEATURED_MODEL_IDS,
|
|
794
794
|
formatPricing,
|
|
795
795
|
formatContext,
|
|
796
|
-
|
|
796
|
+
resolveModelBrandIdentity,
|
|
797
|
+
stripBrandPrefix,
|
|
798
|
+
ModelPicker,
|
|
799
|
+
ModelBrandStack
|
|
797
800
|
};
|
|
@@ -2,11 +2,14 @@ import {
|
|
|
2
2
|
HARNESS_OPTIONS,
|
|
3
3
|
HarnessLogo,
|
|
4
4
|
chatCapableHarnesses
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IWIZ7RZE.js";
|
|
6
6
|
import {
|
|
7
|
+
ModelBrandStack,
|
|
7
8
|
ModelPicker,
|
|
8
|
-
canonicalModelId
|
|
9
|
-
|
|
9
|
+
canonicalModelId,
|
|
10
|
+
resolveModelBrandIdentity,
|
|
11
|
+
stripBrandPrefix
|
|
12
|
+
} from "./chunk-L62ZT6RS.js";
|
|
10
13
|
import {
|
|
11
14
|
cn
|
|
12
15
|
} from "./chunk-EI44GEQ5.js";
|
|
@@ -110,9 +113,9 @@ function ReasoningLevelPicker({
|
|
|
110
113
|
),
|
|
111
114
|
"aria-label": "Reasoning level",
|
|
112
115
|
children: [
|
|
113
|
-
/* @__PURE__ */ jsx(Brain, { className: "h-3.5 w-3.5 text-muted-foreground" }),
|
|
116
|
+
/* @__PURE__ */ jsx(Brain, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
114
117
|
/* @__PURE__ */ jsx("span", { children: label }),
|
|
115
|
-
/* @__PURE__ */ jsx(ChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground" })
|
|
118
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "ml-auto h-3.5 w-3.5 shrink-0 text-muted-foreground" })
|
|
116
119
|
]
|
|
117
120
|
}
|
|
118
121
|
) }),
|
|
@@ -470,7 +473,7 @@ function ProfileForm({
|
|
|
470
473
|
}
|
|
471
474
|
|
|
472
475
|
// src/chat/agent-session-controls.tsx
|
|
473
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
476
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
474
477
|
function selectorIgnoreNote(harness) {
|
|
475
478
|
const ignoresModel = !harnessHonorsModel(harness);
|
|
476
479
|
const ignoresEffort = !harnessHonorsEffort(harness);
|
|
@@ -592,7 +595,8 @@ function HarnessDropdown({
|
|
|
592
595
|
newChatLabel,
|
|
593
596
|
side = "bottom",
|
|
594
597
|
align = "start",
|
|
595
|
-
avoidCollisions
|
|
598
|
+
avoidCollisions,
|
|
599
|
+
triggerClassName
|
|
596
600
|
}) {
|
|
597
601
|
const allowed = new Set(
|
|
598
602
|
available ?? HARNESS_OPTIONS.map((h) => h.type)
|
|
@@ -624,13 +628,14 @@ function HarnessDropdown({
|
|
|
624
628
|
"text-xs font-medium text-foreground shadow-sm transition-colors",
|
|
625
629
|
"hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
626
630
|
"data-[state=open]:border-[var(--md3-outline-variant)] data-[state=open]:bg-surface-container-high",
|
|
627
|
-
"disabled:cursor-not-allowed disabled:opacity-60"
|
|
631
|
+
"disabled:cursor-not-allowed disabled:opacity-60",
|
|
632
|
+
triggerClassName
|
|
628
633
|
),
|
|
629
634
|
"aria-label": "Agent harness",
|
|
630
635
|
children: [
|
|
631
|
-
/* @__PURE__ */ jsx3(HarnessLogo, { type: value, size: 16 }),
|
|
632
|
-
/* @__PURE__ */ jsx3("span", { children: selected?.label ?? value }),
|
|
633
|
-
!locked && /* @__PURE__ */ jsx3(ChevronDown3, { className: "h-3.5 w-3.5 text-muted-foreground" })
|
|
636
|
+
/* @__PURE__ */ jsx3(HarnessLogo, { type: value, size: 16, className: "shrink-0" }),
|
|
637
|
+
/* @__PURE__ */ jsx3("span", { className: "truncate", children: selected?.label ?? value }),
|
|
638
|
+
!locked && /* @__PURE__ */ jsx3(ChevronDown3, { className: "ml-auto h-3.5 w-3.5 shrink-0 text-muted-foreground" })
|
|
634
639
|
]
|
|
635
640
|
}
|
|
636
641
|
) }),
|
|
@@ -745,9 +750,11 @@ function AgentSessionControls({
|
|
|
745
750
|
)
|
|
746
751
|
) : model?.models;
|
|
747
752
|
const harnessAvailable = harness?.available ?? (context === "chat" ? chatCapableHarnesses : void 0);
|
|
748
|
-
const
|
|
749
|
-
const
|
|
750
|
-
const
|
|
753
|
+
const collapsed = layout === "gear" || layout === "combined";
|
|
754
|
+
const menuSide = collapsed ? "left" : "bottom";
|
|
755
|
+
const menuAlign = collapsed ? "end" : "start";
|
|
756
|
+
const collapsedTriggerClass = layout === "combined" ? "w-full bg-transparent shadow-none hover:bg-muted/60 data-[state=open]:bg-muted/60" : collapsed ? "w-full" : void 0;
|
|
757
|
+
const inlineForceDown = menuPlacement === "down" && layout === "inline";
|
|
751
758
|
const avoidCollisions = inlineForceDown ? false : void 0;
|
|
752
759
|
const harnessNode = harness && /* @__PURE__ */ jsx3(
|
|
753
760
|
HarnessDropdown,
|
|
@@ -757,7 +764,8 @@ function AgentSessionControls({
|
|
|
757
764
|
onChange: handleHarnessChange,
|
|
758
765
|
side: menuSide,
|
|
759
766
|
align: menuAlign,
|
|
760
|
-
avoidCollisions
|
|
767
|
+
avoidCollisions,
|
|
768
|
+
triggerClassName: collapsedTriggerClass
|
|
761
769
|
}
|
|
762
770
|
);
|
|
763
771
|
const profileNode = profile && /* @__PURE__ */ jsx3(
|
|
@@ -771,7 +779,7 @@ function AgentSessionControls({
|
|
|
771
779
|
onUpdate: profile.onUpdate,
|
|
772
780
|
onDelete: profile.onDelete,
|
|
773
781
|
disabled: profile.disabled,
|
|
774
|
-
side: inlineForceDown ||
|
|
782
|
+
side: inlineForceDown || collapsed ? "bottom" : "top"
|
|
775
783
|
}
|
|
776
784
|
);
|
|
777
785
|
const modelNode = model && /* @__PURE__ */ jsx3(
|
|
@@ -786,8 +794,9 @@ function AgentSessionControls({
|
|
|
786
794
|
popular: model.popular,
|
|
787
795
|
recents: model.recents,
|
|
788
796
|
disabled: model.disabled || (visibleModels ?? []).length === 0 || !selectorHonorsModel,
|
|
789
|
-
side:
|
|
790
|
-
avoidCollisions
|
|
797
|
+
side: collapsed ? void 0 : "bottom",
|
|
798
|
+
avoidCollisions,
|
|
799
|
+
triggerClassName: collapsedTriggerClass
|
|
791
800
|
}
|
|
792
801
|
);
|
|
793
802
|
const modelReasoning = modelReasoningCapability(model?.models, model?.value);
|
|
@@ -800,8 +809,9 @@ function AgentSessionControls({
|
|
|
800
809
|
options: reasoningOptions,
|
|
801
810
|
disabled: reasoning.disabled || !selectorHonorsEffort,
|
|
802
811
|
available: harness ? reasoningEffortsFor(harness.value, modelReasoning) : reasoning.available,
|
|
803
|
-
side:
|
|
804
|
-
avoidCollisions
|
|
812
|
+
side: collapsed ? void 0 : "bottom",
|
|
813
|
+
avoidCollisions,
|
|
814
|
+
triggerClassName: collapsedTriggerClass
|
|
805
815
|
}
|
|
806
816
|
);
|
|
807
817
|
if (layout === "gear") {
|
|
@@ -817,6 +827,76 @@ function AgentSessionControls({
|
|
|
817
827
|
}
|
|
818
828
|
);
|
|
819
829
|
}
|
|
830
|
+
if (layout === "combined") {
|
|
831
|
+
const segments = [];
|
|
832
|
+
if (harness) {
|
|
833
|
+
const harnessLabel = HARNESS_OPTIONS.find((option) => option.type === harness.value)?.label ?? harness.value;
|
|
834
|
+
segments.push({
|
|
835
|
+
key: "harness",
|
|
836
|
+
label: harnessLabel,
|
|
837
|
+
node: /* @__PURE__ */ jsxs3("span", { className: "flex items-center gap-1.5", children: [
|
|
838
|
+
/* @__PURE__ */ jsx3(HarnessLogo, { type: harness.value, size: 16, className: "shrink-0" }),
|
|
839
|
+
harnessLabel
|
|
840
|
+
] })
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
if (model && selectorHonorsModel) {
|
|
844
|
+
const current = (model.models ?? []).find(
|
|
845
|
+
(entry) => canonicalModelId(entry) === model.value
|
|
846
|
+
);
|
|
847
|
+
const identity = current ? resolveModelBrandIdentity(current) : null;
|
|
848
|
+
const modelLabel = stripBrandPrefix(
|
|
849
|
+
current?.name ?? current?.id ?? model.value,
|
|
850
|
+
identity
|
|
851
|
+
);
|
|
852
|
+
segments.push({
|
|
853
|
+
key: "model",
|
|
854
|
+
label: modelLabel,
|
|
855
|
+
node: /* @__PURE__ */ jsxs3("span", { className: "flex items-center gap-1.5", children: [
|
|
856
|
+
identity && /* @__PURE__ */ jsx3(ModelBrandStack, { identity, size: "sm" }),
|
|
857
|
+
modelLabel
|
|
858
|
+
] })
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
if (reasoning && selectorHonorsEffort) {
|
|
862
|
+
const effortLabel = (reasoningOptions ?? DEFAULT_REASONING_LEVEL_OPTIONS).find(
|
|
863
|
+
(option) => option.value === reasoning.value
|
|
864
|
+
)?.label ?? "Auto";
|
|
865
|
+
segments.push({
|
|
866
|
+
key: "effort",
|
|
867
|
+
label: effortLabel,
|
|
868
|
+
node: /* @__PURE__ */ jsxs3("span", { className: "flex items-center gap-1.5", children: [
|
|
869
|
+
/* @__PURE__ */ jsx3("span", { className: "flex w-3.5 shrink-0 justify-center", children: /* @__PURE__ */ jsx3(ReasoningGlyph, { level: reasoning.value }) }),
|
|
870
|
+
effortLabel
|
|
871
|
+
] })
|
|
872
|
+
});
|
|
873
|
+
}
|
|
874
|
+
const summary = /* @__PURE__ */ jsx3("span", { className: "flex items-center gap-1.5", children: segments.map((segment, index) => /* @__PURE__ */ jsxs3(React3.Fragment, { children: [
|
|
875
|
+
index > 0 && /* @__PURE__ */ jsx3(
|
|
876
|
+
"span",
|
|
877
|
+
{
|
|
878
|
+
className: "text-base leading-none text-muted-foreground/60",
|
|
879
|
+
"aria-hidden": true,
|
|
880
|
+
children: "\xB7"
|
|
881
|
+
}
|
|
882
|
+
),
|
|
883
|
+
segment.node
|
|
884
|
+
] }, segment.key)) });
|
|
885
|
+
return /* @__PURE__ */ jsx3(
|
|
886
|
+
SummaryControls,
|
|
887
|
+
{
|
|
888
|
+
className,
|
|
889
|
+
summary,
|
|
890
|
+
title: segments.map((segment) => segment.label).join(" \xB7 "),
|
|
891
|
+
contentSide: menuPlacement === "down" ? "bottom" : "top",
|
|
892
|
+
profileNode,
|
|
893
|
+
harnessNode,
|
|
894
|
+
modelNode,
|
|
895
|
+
reasoningNode,
|
|
896
|
+
trailing
|
|
897
|
+
}
|
|
898
|
+
);
|
|
899
|
+
}
|
|
820
900
|
return /* @__PURE__ */ jsxs3(
|
|
821
901
|
"div",
|
|
822
902
|
{
|
|
@@ -839,6 +919,91 @@ function GearControls({
|
|
|
839
919
|
modelNode,
|
|
840
920
|
reasoningNode,
|
|
841
921
|
trailing
|
|
922
|
+
}) {
|
|
923
|
+
return /* @__PURE__ */ jsx3(
|
|
924
|
+
CollapsibleControls,
|
|
925
|
+
{
|
|
926
|
+
className,
|
|
927
|
+
trigger: /* @__PURE__ */ jsx3(SlidersHorizontal, { className: "h-4 w-4 text-muted-foreground" }),
|
|
928
|
+
triggerClassName: cn(
|
|
929
|
+
"inline-flex h-8 w-8 items-center justify-center rounded-lg border border-[var(--md3-outline-variant)] bg-surface-container",
|
|
930
|
+
"text-foreground shadow-sm transition-colors",
|
|
931
|
+
"hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
932
|
+
"data-[state=open]:border-[var(--md3-outline-variant)] data-[state=open]:bg-surface-container-high"
|
|
933
|
+
),
|
|
934
|
+
contentSide: "top",
|
|
935
|
+
contentClassName: cn(
|
|
936
|
+
"w-56 gap-2 border-[var(--md3-outline-variant)] bg-surface-container-highest p-2",
|
|
937
|
+
"shadow-[0_8px_30px_rgba(0,0,0,0.45)] ring-1 ring-[#ffffff14]"
|
|
938
|
+
),
|
|
939
|
+
profileNode,
|
|
940
|
+
harnessNode,
|
|
941
|
+
modelNode,
|
|
942
|
+
reasoningNode,
|
|
943
|
+
trailing
|
|
944
|
+
}
|
|
945
|
+
);
|
|
946
|
+
}
|
|
947
|
+
function GearSection({
|
|
948
|
+
label,
|
|
949
|
+
children
|
|
950
|
+
}) {
|
|
951
|
+
return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-1", children: [
|
|
952
|
+
/* @__PURE__ */ jsx3("span", { className: "px-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70", children: label }),
|
|
953
|
+
children
|
|
954
|
+
] });
|
|
955
|
+
}
|
|
956
|
+
function SummaryControls({
|
|
957
|
+
className,
|
|
958
|
+
summary,
|
|
959
|
+
title,
|
|
960
|
+
contentSide,
|
|
961
|
+
profileNode,
|
|
962
|
+
harnessNode,
|
|
963
|
+
modelNode,
|
|
964
|
+
reasoningNode,
|
|
965
|
+
trailing
|
|
966
|
+
}) {
|
|
967
|
+
return /* @__PURE__ */ jsx3(
|
|
968
|
+
CollapsibleControls,
|
|
969
|
+
{
|
|
970
|
+
className,
|
|
971
|
+
trigger: /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
972
|
+
summary,
|
|
973
|
+
/* @__PURE__ */ jsx3(ChevronDown3, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" })
|
|
974
|
+
] }),
|
|
975
|
+
triggerTitle: title,
|
|
976
|
+
triggerClassName: cn(
|
|
977
|
+
// Container-less trigger (Codex-style): bare label + chevron docked in
|
|
978
|
+
// the composer footer, no border/card/shadow. Only a subtle rounded
|
|
979
|
+
// hover/open tint marks it as interactive.
|
|
980
|
+
"inline-flex h-8 items-center gap-1.5 rounded-md px-1.5",
|
|
981
|
+
"whitespace-nowrap text-xs font-medium text-foreground transition-colors",
|
|
982
|
+
"hover:bg-muted/50 focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
983
|
+
"data-[state=open]:bg-muted/50"
|
|
984
|
+
),
|
|
985
|
+
contentSide,
|
|
986
|
+
contentClassName: "w-64 gap-2.5 border-border bg-popover p-2.5 text-popover-foreground shadow-lg",
|
|
987
|
+
profileNode,
|
|
988
|
+
harnessNode,
|
|
989
|
+
modelNode,
|
|
990
|
+
reasoningNode,
|
|
991
|
+
trailing
|
|
992
|
+
}
|
|
993
|
+
);
|
|
994
|
+
}
|
|
995
|
+
function CollapsibleControls({
|
|
996
|
+
className,
|
|
997
|
+
trigger,
|
|
998
|
+
triggerTitle,
|
|
999
|
+
triggerClassName,
|
|
1000
|
+
contentSide,
|
|
1001
|
+
contentClassName,
|
|
1002
|
+
profileNode,
|
|
1003
|
+
harnessNode,
|
|
1004
|
+
modelNode,
|
|
1005
|
+
reasoningNode,
|
|
1006
|
+
trailing
|
|
842
1007
|
}) {
|
|
843
1008
|
return /* @__PURE__ */ jsxs3(
|
|
844
1009
|
"div",
|
|
@@ -853,19 +1018,15 @@ function GearControls({
|
|
|
853
1018
|
{
|
|
854
1019
|
type: "button",
|
|
855
1020
|
"aria-label": "Session controls",
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
"hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
860
|
-
"data-[state=open]:border-[var(--md3-outline-variant)] data-[state=open]:bg-surface-container-high"
|
|
861
|
-
),
|
|
862
|
-
children: /* @__PURE__ */ jsx3(SlidersHorizontal, { className: "h-4 w-4 text-muted-foreground" })
|
|
1021
|
+
title: triggerTitle,
|
|
1022
|
+
className: triggerClassName,
|
|
1023
|
+
children: trigger
|
|
863
1024
|
}
|
|
864
1025
|
) }),
|
|
865
1026
|
/* @__PURE__ */ jsx3(DropdownMenu2.Portal, { children: /* @__PURE__ */ jsxs3(
|
|
866
1027
|
DropdownMenu2.Content,
|
|
867
1028
|
{
|
|
868
|
-
side:
|
|
1029
|
+
side: contentSide,
|
|
869
1030
|
align: "end",
|
|
870
1031
|
sideOffset: 8,
|
|
871
1032
|
onInteractOutside: (event) => {
|
|
@@ -877,11 +1038,11 @@ function GearControls({
|
|
|
877
1038
|
}
|
|
878
1039
|
},
|
|
879
1040
|
className: cn(
|
|
880
|
-
"z-50 flex
|
|
881
|
-
"shadow-[0_8px_30px_rgba(0,0,0,0.45)] ring-1 ring-[#ffffff14]",
|
|
1041
|
+
"z-50 flex flex-col rounded-[var(--radius-md)] border",
|
|
882
1042
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
883
1043
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
884
|
-
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"
|
|
1044
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
1045
|
+
contentClassName
|
|
885
1046
|
),
|
|
886
1047
|
children: [
|
|
887
1048
|
profileNode && /* @__PURE__ */ jsx3(GearSection, { label: "Agent", children: profileNode }),
|
|
@@ -896,15 +1057,6 @@ function GearControls({
|
|
|
896
1057
|
}
|
|
897
1058
|
);
|
|
898
1059
|
}
|
|
899
|
-
function GearSection({
|
|
900
|
-
label,
|
|
901
|
-
children
|
|
902
|
-
}) {
|
|
903
|
-
return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-1", children: [
|
|
904
|
-
/* @__PURE__ */ jsx3("span", { className: "px-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70", children: label }),
|
|
905
|
-
children
|
|
906
|
-
] });
|
|
907
|
-
}
|
|
908
1060
|
|
|
909
1061
|
// src/chat/agent-composer.tsx
|
|
910
1062
|
import {
|
|
@@ -917,7 +1069,7 @@ import {
|
|
|
917
1069
|
X
|
|
918
1070
|
} from "lucide-react";
|
|
919
1071
|
import * as React4 from "react";
|
|
920
|
-
import { Fragment, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1072
|
+
import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
921
1073
|
function AgentComposer({
|
|
922
1074
|
value,
|
|
923
1075
|
onChange,
|
|
@@ -1103,7 +1255,7 @@ function AgentComposer({
|
|
|
1103
1255
|
reasoning
|
|
1104
1256
|
}
|
|
1105
1257
|
) }),
|
|
1106
|
-
onAttach && /* @__PURE__ */ jsxs4(
|
|
1258
|
+
onAttach && /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
1107
1259
|
/* @__PURE__ */ jsx4(
|
|
1108
1260
|
"button",
|
|
1109
1261
|
{
|
|
@@ -1131,7 +1283,7 @@ function AgentComposer({
|
|
|
1131
1283
|
}
|
|
1132
1284
|
)
|
|
1133
1285
|
] }),
|
|
1134
|
-
onAttachFolder && /* @__PURE__ */ jsxs4(
|
|
1286
|
+
onAttachFolder && /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
1135
1287
|
/* @__PURE__ */ jsx4(
|
|
1136
1288
|
"button",
|
|
1137
1289
|
{
|
package/dist/dashboard.js
CHANGED
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
HarnessLogo,
|
|
72
72
|
HarnessPicker,
|
|
73
73
|
chatCapableHarnesses
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-IWIZ7RZE.js";
|
|
75
75
|
import {
|
|
76
76
|
DEFAULT_FEATURED_MODEL_IDS,
|
|
77
77
|
ModelPicker,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
formatContext,
|
|
81
81
|
formatPricing,
|
|
82
82
|
modelDedupKey
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-L62ZT6RS.js";
|
|
84
84
|
import "./chunk-EI44GEQ5.js";
|
|
85
85
|
import "./chunk-U67V476Y.js";
|
|
86
86
|
export {
|
package/dist/globals.css
CHANGED
|
@@ -1171,9 +1171,6 @@
|
|
|
1171
1171
|
.max-w-\[14rem\] {
|
|
1172
1172
|
max-width: 14rem;
|
|
1173
1173
|
}
|
|
1174
|
-
.max-w-\[72\%\] {
|
|
1175
|
-
max-width: 72%;
|
|
1176
|
-
}
|
|
1177
1174
|
.max-w-\[75\%\] {
|
|
1178
1175
|
max-width: 75%;
|
|
1179
1176
|
}
|
|
@@ -1686,15 +1683,9 @@
|
|
|
1686
1683
|
.rounded-\[4px\] {
|
|
1687
1684
|
border-radius: 4px;
|
|
1688
1685
|
}
|
|
1689
|
-
.rounded-\[18px\] {
|
|
1690
|
-
border-radius: 18px;
|
|
1691
|
-
}
|
|
1692
1686
|
.rounded-\[20px\] {
|
|
1693
1687
|
border-radius: 20px;
|
|
1694
1688
|
}
|
|
1695
|
-
.rounded-\[22px\] {
|
|
1696
|
-
border-radius: 22px;
|
|
1697
|
-
}
|
|
1698
1689
|
.rounded-\[26px\] {
|
|
1699
1690
|
border-radius: 26px;
|
|
1700
1691
|
}
|
|
@@ -1754,9 +1745,6 @@
|
|
|
1754
1745
|
border-bottom-right-radius: var(--radius-sm);
|
|
1755
1746
|
border-bottom-left-radius: var(--radius-sm);
|
|
1756
1747
|
}
|
|
1757
|
-
.rounded-br-\[12px\] {
|
|
1758
|
-
border-bottom-right-radius: 12px;
|
|
1759
|
-
}
|
|
1760
1748
|
.rounded-bl-lg {
|
|
1761
1749
|
border-bottom-left-radius: var(--radius-lg);
|
|
1762
1750
|
}
|
|
@@ -2099,9 +2087,6 @@
|
|
|
2099
2087
|
.bg-\[var\(--accent-surface-strong\)\] {
|
|
2100
2088
|
background-color: var(--accent-surface-strong);
|
|
2101
2089
|
}
|
|
2102
|
-
.bg-\[var\(--bg-card\)\] {
|
|
2103
|
-
background-color: var(--bg-card);
|
|
2104
|
-
}
|
|
2105
2090
|
.bg-\[var\(--bg-root\)\] {
|
|
2106
2091
|
background-color: var(--bg-root);
|
|
2107
2092
|
}
|
|
@@ -2129,9 +2114,6 @@
|
|
|
2129
2114
|
.bg-\[var\(--brand-glow\)\] {
|
|
2130
2115
|
background-color: var(--brand-glow);
|
|
2131
2116
|
}
|
|
2132
|
-
.bg-\[var\(--brand-primary\)\] {
|
|
2133
|
-
background-color: var(--brand-primary);
|
|
2134
|
-
}
|
|
2135
2117
|
.bg-\[var\(--brand-primary\,hsl\(var\(--primary\)\)\)\] {
|
|
2136
2118
|
background-color: var(--brand-primary,hsl(var(--primary)));
|
|
2137
2119
|
}
|
|
@@ -2171,6 +2153,12 @@
|
|
|
2171
2153
|
.bg-\[var\(--md3-outline-variant\)\] {
|
|
2172
2154
|
background-color: var(--md3-outline-variant);
|
|
2173
2155
|
}
|
|
2156
|
+
.bg-\[var\(--md3-surface-container\)\] {
|
|
2157
|
+
background-color: var(--md3-surface-container);
|
|
2158
|
+
}
|
|
2159
|
+
.bg-\[var\(--md3-surface-container-high\)\] {
|
|
2160
|
+
background-color: var(--md3-surface-container-high);
|
|
2161
|
+
}
|
|
2174
2162
|
.bg-\[var\(--status-error\,\#ff4d6d\)\]\/15 {
|
|
2175
2163
|
background-color: var(--status-error,#ff4d6d);
|
|
2176
2164
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2219,12 +2207,6 @@
|
|
|
2219
2207
|
.bg-accent {
|
|
2220
2208
|
background-color: var(--color-accent);
|
|
2221
2209
|
}
|
|
2222
|
-
.bg-accent\/20 {
|
|
2223
|
-
background-color: color-mix(in srgb, hsl(var(--accent)) 20%, transparent);
|
|
2224
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2225
|
-
background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
|
|
2226
|
-
}
|
|
2227
|
-
}
|
|
2228
2210
|
.bg-amber-500\/10 {
|
|
2229
2211
|
background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);
|
|
2230
2212
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2282,12 +2264,6 @@
|
|
|
2282
2264
|
.bg-card {
|
|
2283
2265
|
background-color: var(--color-card);
|
|
2284
2266
|
}
|
|
2285
|
-
.bg-card\/40 {
|
|
2286
|
-
background-color: color-mix(in srgb, hsl(var(--card)) 40%, transparent);
|
|
2287
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2288
|
-
background-color: color-mix(in oklab, var(--color-card) 40%, transparent);
|
|
2289
|
-
}
|
|
2290
|
-
}
|
|
2291
2267
|
.bg-card\/50 {
|
|
2292
2268
|
background-color: color-mix(in srgb, hsl(var(--card)) 50%, transparent);
|
|
2293
2269
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2932,10 +2908,6 @@
|
|
|
2932
2908
|
--tw-leading: calc(var(--spacing) * 6);
|
|
2933
2909
|
line-height: calc(var(--spacing) * 6);
|
|
2934
2910
|
}
|
|
2935
|
-
.leading-6\.5 {
|
|
2936
|
-
--tw-leading: calc(var(--spacing) * 6.5);
|
|
2937
|
-
line-height: calc(var(--spacing) * 6.5);
|
|
2938
|
-
}
|
|
2939
2911
|
.leading-7 {
|
|
2940
2912
|
--tw-leading: calc(var(--spacing) * 7);
|
|
2941
2913
|
line-height: calc(var(--spacing) * 7);
|
|
@@ -3191,9 +3163,6 @@
|
|
|
3191
3163
|
.text-\[var\(--surface-warning-text\)\] {
|
|
3192
3164
|
color: var(--surface-warning-text);
|
|
3193
3165
|
}
|
|
3194
|
-
.text-\[var\(--text-dim\)\] {
|
|
3195
|
-
color: var(--text-dim);
|
|
3196
|
-
}
|
|
3197
3166
|
.text-\[var\(--text-muted\)\] {
|
|
3198
3167
|
color: var(--text-muted);
|
|
3199
3168
|
}
|
|
@@ -3323,12 +3292,6 @@
|
|
|
3323
3292
|
.text-white {
|
|
3324
3293
|
color: var(--color-white);
|
|
3325
3294
|
}
|
|
3326
|
-
.text-white\/60 {
|
|
3327
|
-
color: color-mix(in srgb, #fff 60%, transparent);
|
|
3328
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
3329
|
-
color: color-mix(in oklab, var(--color-white) 60%, transparent);
|
|
3330
|
-
}
|
|
3331
|
-
}
|
|
3332
3295
|
.text-yellow-400 {
|
|
3333
3296
|
color: var(--color-yellow-400);
|
|
3334
3297
|
}
|
|
@@ -3415,10 +3378,6 @@
|
|
|
3415
3378
|
--tw-shadow: 0 6px 16px var(--tw-shadow-color, rgba(15,23,42,0.08));
|
|
3416
3379
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3417
3380
|
}
|
|
3418
|
-
.shadow-\[0_8px_20px_rgba\(15\,23\,42\,0\.12\)\] {
|
|
3419
|
-
--tw-shadow: 0 8px 20px var(--tw-shadow-color, rgba(15,23,42,0.12));
|
|
3420
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3421
|
-
}
|
|
3422
3381
|
.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.45\)\] {
|
|
3423
3382
|
--tw-shadow: 0 8px 30px var(--tw-shadow-color, rgba(0,0,0,0.45));
|
|
3424
3383
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3443,6 +3402,10 @@
|
|
|
3443
3402
|
--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
3444
3403
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3445
3404
|
}
|
|
3405
|
+
.shadow-none {
|
|
3406
|
+
--tw-shadow: 0 0 #0000;
|
|
3407
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3408
|
+
}
|
|
3446
3409
|
.shadow-sm {
|
|
3447
3410
|
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
3448
3411
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3789,6 +3752,11 @@
|
|
|
3789
3752
|
background-color: var(--color-primary);
|
|
3790
3753
|
}
|
|
3791
3754
|
}
|
|
3755
|
+
.first\:mt-0 {
|
|
3756
|
+
&:first-child {
|
|
3757
|
+
margin-top: calc(var(--spacing) * 0);
|
|
3758
|
+
}
|
|
3759
|
+
}
|
|
3792
3760
|
.last\:border-0 {
|
|
3793
3761
|
&:last-child {
|
|
3794
3762
|
border-style: var(--tw-border-style);
|
|
@@ -3991,6 +3959,13 @@
|
|
|
3991
3959
|
}
|
|
3992
3960
|
}
|
|
3993
3961
|
}
|
|
3962
|
+
.hover\:bg-\[var\(--md3-surface-container-high\)\] {
|
|
3963
|
+
&:hover {
|
|
3964
|
+
@media (hover: hover) {
|
|
3965
|
+
background-color: var(--md3-surface-container-high);
|
|
3966
|
+
}
|
|
3967
|
+
}
|
|
3968
|
+
}
|
|
3994
3969
|
.hover\:bg-\[var\(--status-error\,\#ff4d6d\)\]\/25 {
|
|
3995
3970
|
&:hover {
|
|
3996
3971
|
@media (hover: hover) {
|
|
@@ -4039,16 +4014,6 @@
|
|
|
4039
4014
|
}
|
|
4040
4015
|
}
|
|
4041
4016
|
}
|
|
4042
|
-
.hover\:bg-accent\/25 {
|
|
4043
|
-
&:hover {
|
|
4044
|
-
@media (hover: hover) {
|
|
4045
|
-
background-color: color-mix(in srgb, hsl(var(--accent)) 25%, transparent);
|
|
4046
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4047
|
-
background-color: color-mix(in oklab, var(--color-accent) 25%, transparent);
|
|
4048
|
-
}
|
|
4049
|
-
}
|
|
4050
|
-
}
|
|
4051
|
-
}
|
|
4052
4017
|
.hover\:bg-accent\/30 {
|
|
4053
4018
|
&:hover {
|
|
4054
4019
|
@media (hover: hover) {
|
|
@@ -4193,6 +4158,16 @@
|
|
|
4193
4158
|
}
|
|
4194
4159
|
}
|
|
4195
4160
|
}
|
|
4161
|
+
.hover\:bg-muted\/60 {
|
|
4162
|
+
&:hover {
|
|
4163
|
+
@media (hover: hover) {
|
|
4164
|
+
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4165
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4166
|
+
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4167
|
+
}
|
|
4168
|
+
}
|
|
4169
|
+
}
|
|
4170
|
+
}
|
|
4196
4171
|
.hover\:bg-muted\/80 {
|
|
4197
4172
|
&:hover {
|
|
4198
4173
|
@media (hover: hover) {
|
|
@@ -4883,6 +4858,14 @@
|
|
|
4883
4858
|
}
|
|
4884
4859
|
}
|
|
4885
4860
|
}
|
|
4861
|
+
.data-\[state\=open\]\:bg-muted\/60 {
|
|
4862
|
+
&[data-state="open"] {
|
|
4863
|
+
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4864
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4865
|
+
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4866
|
+
}
|
|
4867
|
+
}
|
|
4868
|
+
}
|
|
4886
4869
|
.data-\[state\=open\]\:bg-surface-container-high {
|
|
4887
4870
|
&[data-state="open"] {
|
|
4888
4871
|
background-color: var(--color-surface-container-high);
|
|
@@ -5340,7 +5323,7 @@
|
|
|
5340
5323
|
--hsl-card-foreground: 240 6% 93%;
|
|
5341
5324
|
--hsl-popover: 240 5% 17%;
|
|
5342
5325
|
--hsl-popover-foreground: 240 6% 93%;
|
|
5343
|
-
--hsl-primary: 239 84%
|
|
5326
|
+
--hsl-primary: 239 84% 62%;
|
|
5344
5327
|
--hsl-primary-foreground: 0 0% 100%;
|
|
5345
5328
|
--hsl-secondary: 240 5% 15%;
|
|
5346
5329
|
--hsl-secondary-foreground: 240 6% 93%;
|
|
@@ -5348,7 +5331,7 @@
|
|
|
5348
5331
|
--hsl-muted-foreground: 240 4% 64%;
|
|
5349
5332
|
--hsl-accent: 240 5% 15%;
|
|
5350
5333
|
--hsl-accent-foreground: 240 6% 93%;
|
|
5351
|
-
--hsl-destructive: 348
|
|
5334
|
+
--hsl-destructive: 348 74% 48%;
|
|
5352
5335
|
--hsl-destructive-foreground: 0 0% 100%;
|
|
5353
5336
|
--hsl-border: 240 5% 16%;
|
|
5354
5337
|
--hsl-input: 240 5% 15%;
|
|
@@ -5373,7 +5356,7 @@
|
|
|
5373
5356
|
--destructive: var(--hsl-destructive);
|
|
5374
5357
|
--destructive-foreground: var(--hsl-destructive-foreground);
|
|
5375
5358
|
--border: var(--hsl-border);
|
|
5376
|
-
--input: var(--hsl-
|
|
5359
|
+
--input: var(--hsl-muted-foreground);
|
|
5377
5360
|
--ring: var(--hsl-ring);
|
|
5378
5361
|
--success: var(--hsl-success);
|
|
5379
5362
|
--warning: var(--hsl-warning);
|
|
@@ -5463,10 +5446,10 @@
|
|
|
5463
5446
|
--border-hover: rgba(255, 255, 255, 0.12);
|
|
5464
5447
|
--border-accent: rgba(129, 140, 248, 0.20);
|
|
5465
5448
|
--border-accent-hover: rgba(129, 140, 248, 0.35);
|
|
5466
|
-
--btn-primary-bg: #
|
|
5467
|
-
--btn-primary-hover: #
|
|
5449
|
+
--btn-primary-bg: #5B4ED4;
|
|
5450
|
+
--btn-primary-hover: #4F46E5;
|
|
5468
5451
|
--btn-primary-text: #ffffff;
|
|
5469
|
-
--btn-cta-bg: #
|
|
5452
|
+
--btn-cta-bg: #4F46E5;
|
|
5470
5453
|
--btn-cta-text: #FFFFFF;
|
|
5471
5454
|
--code-keyword: #A5AAFC;
|
|
5472
5455
|
--code-string: #34D399;
|
|
@@ -5525,7 +5508,7 @@
|
|
|
5525
5508
|
--tool-card-px: 0.75rem;
|
|
5526
5509
|
--tool-card-py: 0.5rem;
|
|
5527
5510
|
--tool-icon-size: 1.75rem;
|
|
5528
|
-
--syntax-comment: #
|
|
5511
|
+
--syntax-comment: #8b8fbc;
|
|
5529
5512
|
--syntax-keyword: #A78FFF;
|
|
5530
5513
|
--syntax-string: #10b981;
|
|
5531
5514
|
--syntax-function: #6D9FFF;
|
package/dist/index.js
CHANGED
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
modelProvider,
|
|
103
103
|
snapHarnessToModel,
|
|
104
104
|
snapModelToHarness
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-UQXDIQWD.js";
|
|
106
106
|
import {
|
|
107
107
|
ExpandedToolDetail,
|
|
108
108
|
InlineThinkingItem,
|
|
@@ -318,7 +318,7 @@ import {
|
|
|
318
318
|
HarnessLogo,
|
|
319
319
|
HarnessPicker,
|
|
320
320
|
chatCapableHarnesses
|
|
321
|
-
} from "./chunk-
|
|
321
|
+
} from "./chunk-IWIZ7RZE.js";
|
|
322
322
|
import {
|
|
323
323
|
DEFAULT_FEATURED_MODEL_IDS,
|
|
324
324
|
ModelPicker,
|
|
@@ -327,7 +327,7 @@ import {
|
|
|
327
327
|
formatContext,
|
|
328
328
|
formatPricing,
|
|
329
329
|
modelDedupKey
|
|
330
|
-
} from "./chunk-
|
|
330
|
+
} from "./chunk-L62ZT6RS.js";
|
|
331
331
|
import "./chunk-EI44GEQ5.js";
|
|
332
332
|
import {
|
|
333
333
|
OpenUIArtifactRenderer
|
package/dist/pages.js
CHANGED
package/dist/styles.css
CHANGED
|
@@ -1171,9 +1171,6 @@
|
|
|
1171
1171
|
.max-w-\[14rem\] {
|
|
1172
1172
|
max-width: 14rem;
|
|
1173
1173
|
}
|
|
1174
|
-
.max-w-\[72\%\] {
|
|
1175
|
-
max-width: 72%;
|
|
1176
|
-
}
|
|
1177
1174
|
.max-w-\[75\%\] {
|
|
1178
1175
|
max-width: 75%;
|
|
1179
1176
|
}
|
|
@@ -1686,15 +1683,9 @@
|
|
|
1686
1683
|
.rounded-\[4px\] {
|
|
1687
1684
|
border-radius: 4px;
|
|
1688
1685
|
}
|
|
1689
|
-
.rounded-\[18px\] {
|
|
1690
|
-
border-radius: 18px;
|
|
1691
|
-
}
|
|
1692
1686
|
.rounded-\[20px\] {
|
|
1693
1687
|
border-radius: 20px;
|
|
1694
1688
|
}
|
|
1695
|
-
.rounded-\[22px\] {
|
|
1696
|
-
border-radius: 22px;
|
|
1697
|
-
}
|
|
1698
1689
|
.rounded-\[26px\] {
|
|
1699
1690
|
border-radius: 26px;
|
|
1700
1691
|
}
|
|
@@ -1754,9 +1745,6 @@
|
|
|
1754
1745
|
border-bottom-right-radius: var(--radius-sm);
|
|
1755
1746
|
border-bottom-left-radius: var(--radius-sm);
|
|
1756
1747
|
}
|
|
1757
|
-
.rounded-br-\[12px\] {
|
|
1758
|
-
border-bottom-right-radius: 12px;
|
|
1759
|
-
}
|
|
1760
1748
|
.rounded-bl-lg {
|
|
1761
1749
|
border-bottom-left-radius: var(--radius-lg);
|
|
1762
1750
|
}
|
|
@@ -2099,9 +2087,6 @@
|
|
|
2099
2087
|
.bg-\[var\(--accent-surface-strong\)\] {
|
|
2100
2088
|
background-color: var(--accent-surface-strong);
|
|
2101
2089
|
}
|
|
2102
|
-
.bg-\[var\(--bg-card\)\] {
|
|
2103
|
-
background-color: var(--bg-card);
|
|
2104
|
-
}
|
|
2105
2090
|
.bg-\[var\(--bg-root\)\] {
|
|
2106
2091
|
background-color: var(--bg-root);
|
|
2107
2092
|
}
|
|
@@ -2129,9 +2114,6 @@
|
|
|
2129
2114
|
.bg-\[var\(--brand-glow\)\] {
|
|
2130
2115
|
background-color: var(--brand-glow);
|
|
2131
2116
|
}
|
|
2132
|
-
.bg-\[var\(--brand-primary\)\] {
|
|
2133
|
-
background-color: var(--brand-primary);
|
|
2134
|
-
}
|
|
2135
2117
|
.bg-\[var\(--brand-primary\,hsl\(var\(--primary\)\)\)\] {
|
|
2136
2118
|
background-color: var(--brand-primary,hsl(var(--primary)));
|
|
2137
2119
|
}
|
|
@@ -2171,6 +2153,12 @@
|
|
|
2171
2153
|
.bg-\[var\(--md3-outline-variant\)\] {
|
|
2172
2154
|
background-color: var(--md3-outline-variant);
|
|
2173
2155
|
}
|
|
2156
|
+
.bg-\[var\(--md3-surface-container\)\] {
|
|
2157
|
+
background-color: var(--md3-surface-container);
|
|
2158
|
+
}
|
|
2159
|
+
.bg-\[var\(--md3-surface-container-high\)\] {
|
|
2160
|
+
background-color: var(--md3-surface-container-high);
|
|
2161
|
+
}
|
|
2174
2162
|
.bg-\[var\(--status-error\,\#ff4d6d\)\]\/15 {
|
|
2175
2163
|
background-color: var(--status-error,#ff4d6d);
|
|
2176
2164
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2219,12 +2207,6 @@
|
|
|
2219
2207
|
.bg-accent {
|
|
2220
2208
|
background-color: var(--color-accent);
|
|
2221
2209
|
}
|
|
2222
|
-
.bg-accent\/20 {
|
|
2223
|
-
background-color: color-mix(in srgb, hsl(var(--accent)) 20%, transparent);
|
|
2224
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2225
|
-
background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
|
|
2226
|
-
}
|
|
2227
|
-
}
|
|
2228
2210
|
.bg-amber-500\/10 {
|
|
2229
2211
|
background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 10%, transparent);
|
|
2230
2212
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2282,12 +2264,6 @@
|
|
|
2282
2264
|
.bg-card {
|
|
2283
2265
|
background-color: var(--color-card);
|
|
2284
2266
|
}
|
|
2285
|
-
.bg-card\/40 {
|
|
2286
|
-
background-color: color-mix(in srgb, hsl(var(--card)) 40%, transparent);
|
|
2287
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2288
|
-
background-color: color-mix(in oklab, var(--color-card) 40%, transparent);
|
|
2289
|
-
}
|
|
2290
|
-
}
|
|
2291
2267
|
.bg-card\/50 {
|
|
2292
2268
|
background-color: color-mix(in srgb, hsl(var(--card)) 50%, transparent);
|
|
2293
2269
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2932,10 +2908,6 @@
|
|
|
2932
2908
|
--tw-leading: calc(var(--spacing) * 6);
|
|
2933
2909
|
line-height: calc(var(--spacing) * 6);
|
|
2934
2910
|
}
|
|
2935
|
-
.leading-6\.5 {
|
|
2936
|
-
--tw-leading: calc(var(--spacing) * 6.5);
|
|
2937
|
-
line-height: calc(var(--spacing) * 6.5);
|
|
2938
|
-
}
|
|
2939
2911
|
.leading-7 {
|
|
2940
2912
|
--tw-leading: calc(var(--spacing) * 7);
|
|
2941
2913
|
line-height: calc(var(--spacing) * 7);
|
|
@@ -3191,9 +3163,6 @@
|
|
|
3191
3163
|
.text-\[var\(--surface-warning-text\)\] {
|
|
3192
3164
|
color: var(--surface-warning-text);
|
|
3193
3165
|
}
|
|
3194
|
-
.text-\[var\(--text-dim\)\] {
|
|
3195
|
-
color: var(--text-dim);
|
|
3196
|
-
}
|
|
3197
3166
|
.text-\[var\(--text-muted\)\] {
|
|
3198
3167
|
color: var(--text-muted);
|
|
3199
3168
|
}
|
|
@@ -3323,12 +3292,6 @@
|
|
|
3323
3292
|
.text-white {
|
|
3324
3293
|
color: var(--color-white);
|
|
3325
3294
|
}
|
|
3326
|
-
.text-white\/60 {
|
|
3327
|
-
color: color-mix(in srgb, #fff 60%, transparent);
|
|
3328
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
3329
|
-
color: color-mix(in oklab, var(--color-white) 60%, transparent);
|
|
3330
|
-
}
|
|
3331
|
-
}
|
|
3332
3295
|
.text-yellow-400 {
|
|
3333
3296
|
color: var(--color-yellow-400);
|
|
3334
3297
|
}
|
|
@@ -3415,10 +3378,6 @@
|
|
|
3415
3378
|
--tw-shadow: 0 6px 16px var(--tw-shadow-color, rgba(15,23,42,0.08));
|
|
3416
3379
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3417
3380
|
}
|
|
3418
|
-
.shadow-\[0_8px_20px_rgba\(15\,23\,42\,0\.12\)\] {
|
|
3419
|
-
--tw-shadow: 0 8px 20px var(--tw-shadow-color, rgba(15,23,42,0.12));
|
|
3420
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3421
|
-
}
|
|
3422
3381
|
.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.45\)\] {
|
|
3423
3382
|
--tw-shadow: 0 8px 30px var(--tw-shadow-color, rgba(0,0,0,0.45));
|
|
3424
3383
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3443,6 +3402,10 @@
|
|
|
3443
3402
|
--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
3444
3403
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3445
3404
|
}
|
|
3405
|
+
.shadow-none {
|
|
3406
|
+
--tw-shadow: 0 0 #0000;
|
|
3407
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3408
|
+
}
|
|
3446
3409
|
.shadow-sm {
|
|
3447
3410
|
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
3448
3411
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3789,6 +3752,11 @@
|
|
|
3789
3752
|
background-color: var(--color-primary);
|
|
3790
3753
|
}
|
|
3791
3754
|
}
|
|
3755
|
+
.first\:mt-0 {
|
|
3756
|
+
&:first-child {
|
|
3757
|
+
margin-top: calc(var(--spacing) * 0);
|
|
3758
|
+
}
|
|
3759
|
+
}
|
|
3792
3760
|
.last\:border-0 {
|
|
3793
3761
|
&:last-child {
|
|
3794
3762
|
border-style: var(--tw-border-style);
|
|
@@ -3991,6 +3959,13 @@
|
|
|
3991
3959
|
}
|
|
3992
3960
|
}
|
|
3993
3961
|
}
|
|
3962
|
+
.hover\:bg-\[var\(--md3-surface-container-high\)\] {
|
|
3963
|
+
&:hover {
|
|
3964
|
+
@media (hover: hover) {
|
|
3965
|
+
background-color: var(--md3-surface-container-high);
|
|
3966
|
+
}
|
|
3967
|
+
}
|
|
3968
|
+
}
|
|
3994
3969
|
.hover\:bg-\[var\(--status-error\,\#ff4d6d\)\]\/25 {
|
|
3995
3970
|
&:hover {
|
|
3996
3971
|
@media (hover: hover) {
|
|
@@ -4039,16 +4014,6 @@
|
|
|
4039
4014
|
}
|
|
4040
4015
|
}
|
|
4041
4016
|
}
|
|
4042
|
-
.hover\:bg-accent\/25 {
|
|
4043
|
-
&:hover {
|
|
4044
|
-
@media (hover: hover) {
|
|
4045
|
-
background-color: color-mix(in srgb, hsl(var(--accent)) 25%, transparent);
|
|
4046
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4047
|
-
background-color: color-mix(in oklab, var(--color-accent) 25%, transparent);
|
|
4048
|
-
}
|
|
4049
|
-
}
|
|
4050
|
-
}
|
|
4051
|
-
}
|
|
4052
4017
|
.hover\:bg-accent\/30 {
|
|
4053
4018
|
&:hover {
|
|
4054
4019
|
@media (hover: hover) {
|
|
@@ -4193,6 +4158,16 @@
|
|
|
4193
4158
|
}
|
|
4194
4159
|
}
|
|
4195
4160
|
}
|
|
4161
|
+
.hover\:bg-muted\/60 {
|
|
4162
|
+
&:hover {
|
|
4163
|
+
@media (hover: hover) {
|
|
4164
|
+
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4165
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4166
|
+
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4167
|
+
}
|
|
4168
|
+
}
|
|
4169
|
+
}
|
|
4170
|
+
}
|
|
4196
4171
|
.hover\:bg-muted\/80 {
|
|
4197
4172
|
&:hover {
|
|
4198
4173
|
@media (hover: hover) {
|
|
@@ -4883,6 +4858,14 @@
|
|
|
4883
4858
|
}
|
|
4884
4859
|
}
|
|
4885
4860
|
}
|
|
4861
|
+
.data-\[state\=open\]\:bg-muted\/60 {
|
|
4862
|
+
&[data-state="open"] {
|
|
4863
|
+
background-color: color-mix(in srgb, hsl(var(--muted)) 60%, transparent);
|
|
4864
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4865
|
+
background-color: color-mix(in oklab, var(--color-muted) 60%, transparent);
|
|
4866
|
+
}
|
|
4867
|
+
}
|
|
4868
|
+
}
|
|
4886
4869
|
.data-\[state\=open\]\:bg-surface-container-high {
|
|
4887
4870
|
&[data-state="open"] {
|
|
4888
4871
|
background-color: var(--color-surface-container-high);
|
|
@@ -5340,7 +5323,7 @@
|
|
|
5340
5323
|
--hsl-card-foreground: 240 6% 93%;
|
|
5341
5324
|
--hsl-popover: 240 5% 17%;
|
|
5342
5325
|
--hsl-popover-foreground: 240 6% 93%;
|
|
5343
|
-
--hsl-primary: 239 84%
|
|
5326
|
+
--hsl-primary: 239 84% 62%;
|
|
5344
5327
|
--hsl-primary-foreground: 0 0% 100%;
|
|
5345
5328
|
--hsl-secondary: 240 5% 15%;
|
|
5346
5329
|
--hsl-secondary-foreground: 240 6% 93%;
|
|
@@ -5348,7 +5331,7 @@
|
|
|
5348
5331
|
--hsl-muted-foreground: 240 4% 64%;
|
|
5349
5332
|
--hsl-accent: 240 5% 15%;
|
|
5350
5333
|
--hsl-accent-foreground: 240 6% 93%;
|
|
5351
|
-
--hsl-destructive: 348
|
|
5334
|
+
--hsl-destructive: 348 74% 48%;
|
|
5352
5335
|
--hsl-destructive-foreground: 0 0% 100%;
|
|
5353
5336
|
--hsl-border: 240 5% 16%;
|
|
5354
5337
|
--hsl-input: 240 5% 15%;
|
|
@@ -5373,7 +5356,7 @@
|
|
|
5373
5356
|
--destructive: var(--hsl-destructive);
|
|
5374
5357
|
--destructive-foreground: var(--hsl-destructive-foreground);
|
|
5375
5358
|
--border: var(--hsl-border);
|
|
5376
|
-
--input: var(--hsl-
|
|
5359
|
+
--input: var(--hsl-muted-foreground);
|
|
5377
5360
|
--ring: var(--hsl-ring);
|
|
5378
5361
|
--success: var(--hsl-success);
|
|
5379
5362
|
--warning: var(--hsl-warning);
|
|
@@ -5463,10 +5446,10 @@
|
|
|
5463
5446
|
--border-hover: rgba(255, 255, 255, 0.12);
|
|
5464
5447
|
--border-accent: rgba(129, 140, 248, 0.20);
|
|
5465
5448
|
--border-accent-hover: rgba(129, 140, 248, 0.35);
|
|
5466
|
-
--btn-primary-bg: #
|
|
5467
|
-
--btn-primary-hover: #
|
|
5449
|
+
--btn-primary-bg: #5B4ED4;
|
|
5450
|
+
--btn-primary-hover: #4F46E5;
|
|
5468
5451
|
--btn-primary-text: #ffffff;
|
|
5469
|
-
--btn-cta-bg: #
|
|
5452
|
+
--btn-cta-bg: #4F46E5;
|
|
5470
5453
|
--btn-cta-text: #FFFFFF;
|
|
5471
5454
|
--code-keyword: #A5AAFC;
|
|
5472
5455
|
--code-string: #34D399;
|
|
@@ -5525,7 +5508,7 @@
|
|
|
5525
5508
|
--tool-card-px: 0.75rem;
|
|
5526
5509
|
--tool-card-py: 0.5rem;
|
|
5527
5510
|
--tool-icon-size: 1.75rem;
|
|
5528
|
-
--syntax-comment: #
|
|
5511
|
+
--syntax-comment: #8b8fbc;
|
|
5529
5512
|
--syntax-keyword: #A78FFF;
|
|
5530
5513
|
--syntax-string: #10b981;
|
|
5531
5514
|
--syntax-function: #6D9FFF;
|
package/dist/tokens.css
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
--hsl-card-foreground: 240 6% 93%;
|
|
58
58
|
--hsl-popover: 240 5% 17%; /* #28282d elevated */
|
|
59
59
|
--hsl-popover-foreground: 240 6% 93%;
|
|
60
|
-
--hsl-primary: 239 84%
|
|
60
|
+
--hsl-primary: 239 84% 62%;
|
|
61
61
|
--hsl-primary-foreground: 0 0% 100%;
|
|
62
62
|
--hsl-secondary: 240 5% 15%; /* #242428 surface-2 */
|
|
63
63
|
--hsl-secondary-foreground: 240 6% 93%;
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
--hsl-muted-foreground: 240 4% 64%; /* #9c9ca6 text-muted */
|
|
66
66
|
--hsl-accent: 240 5% 15%; /* neutral hover (indigo lives in accent-surface-strong) */
|
|
67
67
|
--hsl-accent-foreground: 240 6% 93%;
|
|
68
|
-
--hsl-destructive: 348
|
|
68
|
+
--hsl-destructive: 348 74% 48%;
|
|
69
69
|
--hsl-destructive-foreground: 0 0% 100%;
|
|
70
70
|
--hsl-border: 240 5% 16%; /* soft edge — fill carries separation, not the line */
|
|
71
71
|
--hsl-input: 240 5% 15%;
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
--destructive: var(--hsl-destructive);
|
|
93
93
|
--destructive-foreground: var(--hsl-destructive-foreground);
|
|
94
94
|
--border: var(--hsl-border);
|
|
95
|
-
--input: var(--hsl-
|
|
95
|
+
--input: var(--hsl-muted-foreground);
|
|
96
96
|
--ring: var(--hsl-ring);
|
|
97
97
|
--success: var(--hsl-success);
|
|
98
98
|
--warning: var(--hsl-warning);
|
|
@@ -207,10 +207,10 @@
|
|
|
207
207
|
--border-accent-hover: rgba(129, 140, 248, 0.35);
|
|
208
208
|
|
|
209
209
|
/* Buttons */
|
|
210
|
-
--btn-primary-bg: #
|
|
211
|
-
--btn-primary-hover: #
|
|
210
|
+
--btn-primary-bg: #5B4ED4;
|
|
211
|
+
--btn-primary-hover: #4F46E5;
|
|
212
212
|
--btn-primary-text: #ffffff;
|
|
213
|
-
--btn-cta-bg: #
|
|
213
|
+
--btn-cta-bg: #4F46E5;
|
|
214
214
|
--btn-cta-text: #FFFFFF;
|
|
215
215
|
|
|
216
216
|
/* Code / runtime syntax */
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
--tool-icon-size: 1.75rem;
|
|
289
289
|
|
|
290
290
|
/* Syntax highlighting — override per-theme in vault section */
|
|
291
|
-
--syntax-comment: #
|
|
291
|
+
--syntax-comment: #8b8fbc;
|
|
292
292
|
--syntax-keyword: #A78FFF;
|
|
293
293
|
--syntax-string: #10b981;
|
|
294
294
|
--syntax-function: #6D9FFF;
|
package/dist/workbench.js
CHANGED
|
@@ -19,8 +19,8 @@ import "./chunk-VIREDUBF.js";
|
|
|
19
19
|
import "./chunk-77WVVJA4.js";
|
|
20
20
|
import "./chunk-OMUIPJQZ.js";
|
|
21
21
|
import "./chunk-4ZZUMXPX.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-IWIZ7RZE.js";
|
|
23
|
+
import "./chunk-L62ZT6RS.js";
|
|
24
24
|
import "./chunk-EI44GEQ5.js";
|
|
25
25
|
import "./chunk-U67V476Y.js";
|
|
26
26
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/sandbox-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.72.0",
|
|
4
4
|
"description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -123,8 +123,8 @@
|
|
|
123
123
|
},
|
|
124
124
|
"peerDependencies": {
|
|
125
125
|
"@tangle-network/agent-interface": ">=0.17.0 <1.0.0",
|
|
126
|
-
"@tangle-network/brand": "^0.
|
|
127
|
-
"@tangle-network/ui": "^
|
|
126
|
+
"@tangle-network/brand": "^1.0.0",
|
|
127
|
+
"@tangle-network/ui": "^11.0.0",
|
|
128
128
|
"@xyflow/react": "^12.0.0",
|
|
129
129
|
"react": "^18 || ^19",
|
|
130
130
|
"react-dom": "^18 || ^19"
|
|
@@ -178,8 +178,8 @@
|
|
|
178
178
|
"@tailwindcss/postcss": "^4.2.2",
|
|
179
179
|
"@tailwindcss/vite": "^4.2.2",
|
|
180
180
|
"@tangle-network/agent-interface": ">=0.17.0 <1.0.0",
|
|
181
|
-
"@tangle-network/brand": "^0.
|
|
182
|
-
"@tangle-network/ui": "^
|
|
181
|
+
"@tangle-network/brand": "^1.0.0",
|
|
182
|
+
"@tangle-network/ui": "^11.0.0",
|
|
183
183
|
"@tanstack/react-query": "^5.91.0",
|
|
184
184
|
"@testing-library/dom": "^10.4.1",
|
|
185
185
|
"@testing-library/jest-dom": "^6.9.1",
|