@tangle-network/sandbox-ui 0.64.0 → 0.66.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 +12 -1
- package/dist/chat.js +3 -1
- package/dist/{chunk-QSCCNGXZ.js → chunk-H237JF3H.js} +6 -1
- package/dist/{chunk-G4YJYSFA.js → chunk-HCOZO53G.js} +1 -1
- package/dist/{chunk-2E3FJM56.js → chunk-ZR3UHRGW.js} +24 -7
- package/dist/dashboard.d.ts +3 -0
- package/dist/dashboard.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -3
- package/dist/workbench.js +2 -2
- package/package.json +3 -3
package/dist/chat.d.ts
CHANGED
|
@@ -46,6 +46,17 @@ interface ReasoningLevelPickerProps {
|
|
|
46
46
|
avoidCollisions?: boolean;
|
|
47
47
|
}
|
|
48
48
|
declare const DEFAULT_REASONING_LEVEL_OPTIONS: ReadonlyArray<ReasoningLevelOption>;
|
|
49
|
+
/**
|
|
50
|
+
* Per-harness option overrides for harnesses whose real control isn't a depth scale, so the generic
|
|
51
|
+
* ladder's labels would mislead. A harness with no entry uses {@link DEFAULT_REASONING_LEVEL_OPTIONS};
|
|
52
|
+
* either way the picker still intersects the chosen options with the harness/model `available` set, so
|
|
53
|
+
* only supported values render.
|
|
54
|
+
*
|
|
55
|
+
* `kimi-code` is a BINARY thinking toggle, not a gradient: its `--thinking` flag is simply off or on.
|
|
56
|
+
* `minimal` is the only value that emits `--no-thinking` (off) and `high` maps to thinking-on, so the
|
|
57
|
+
* menu reads Auto / No thinking / Thinking rather than a misleading five-step scale.
|
|
58
|
+
*/
|
|
59
|
+
declare const HARNESS_REASONING_OPTIONS: Partial<Record<HarnessType, ReadonlyArray<ReasoningLevelOption>>>;
|
|
49
60
|
declare function ReasoningLevelPicker({ value, onChange, disabled, className, triggerClassName, options, available, side, avoidCollisions, }: ReasoningLevelPickerProps): react_jsx_runtime.JSX.Element;
|
|
50
61
|
|
|
51
62
|
/**
|
|
@@ -448,4 +459,4 @@ declare function createFetchTransport(opts: {
|
|
|
448
459
|
fetchImpl?: typeof fetch;
|
|
449
460
|
}): ArtifactAgentDockTransport;
|
|
450
461
|
|
|
451
|
-
export { AgentComposer, type AgentComposerProps, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, AgentSessionControls, type AgentSessionControlsProps, type AgentSessionHarnessControl, type AgentSessionModelControl, type AgentSessionProfileControl, type AgentSessionReasoningControl, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, type ArtifactScope, type ComposerFile, DEFAULT_REASONING_LEVEL_OPTIONS, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, createFetchTransport, isModelCompatibleWithHarness, snapModelToHarness };
|
|
462
|
+
export { AgentComposer, type AgentComposerProps, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, AgentSessionControls, type AgentSessionControlsProps, type AgentSessionHarnessControl, type AgentSessionModelControl, type AgentSessionProfileControl, type AgentSessionReasoningControl, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, type ArtifactScope, type ComposerFile, DEFAULT_REASONING_LEVEL_OPTIONS, HARNESS_REASONING_OPTIONS, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, createFetchTransport, isModelCompatibleWithHarness, snapModelToHarness };
|
package/dist/chat.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
ChatInput,
|
|
9
9
|
ChatMessage,
|
|
10
10
|
DEFAULT_REASONING_LEVEL_OPTIONS,
|
|
11
|
+
HARNESS_REASONING_OPTIONS,
|
|
11
12
|
MessageList,
|
|
12
13
|
ReasoningLevelPicker,
|
|
13
14
|
ThinkingIndicator,
|
|
@@ -17,7 +18,7 @@ import {
|
|
|
17
18
|
modelProvider,
|
|
18
19
|
snapHarnessToModel,
|
|
19
20
|
snapModelToHarness
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZR3UHRGW.js";
|
|
21
22
|
import "./chunk-HU4B2M4K.js";
|
|
22
23
|
import "./chunk-SF6LPMMN.js";
|
|
23
24
|
import "./chunk-EI44GEQ5.js";
|
|
@@ -32,6 +33,7 @@ export {
|
|
|
32
33
|
ChatInput,
|
|
33
34
|
ChatMessage,
|
|
34
35
|
DEFAULT_REASONING_LEVEL_OPTIONS,
|
|
36
|
+
HARNESS_REASONING_OPTIONS,
|
|
35
37
|
MessageList,
|
|
36
38
|
ReasoningLevelPicker,
|
|
37
39
|
ThinkingIndicator,
|
|
@@ -597,11 +597,16 @@ function RailExpandable({
|
|
|
597
597
|
active ? "h-7 bg-[var(--accent-surface-strong)] font-medium text-[var(--accent-text)]" : item.emphasis ? "py-2 font-medium text-[var(--accent-text)] hover:underline" : "h-7 text-muted-foreground hover:bg-[var(--accent-surface-soft)] hover:text-foreground"
|
|
598
598
|
),
|
|
599
599
|
children: [
|
|
600
|
+
item.unread && !item.isLoading && !active && /* @__PURE__ */ jsx3("span", { className: "h-1.5 w-1.5 shrink-0 rounded-full bg-primary", "aria-hidden": true }),
|
|
600
601
|
FIcon ? /* @__PURE__ */ jsx3(FIcon, { className: "h-4 w-4 shrink-0" }) : null,
|
|
601
602
|
/* @__PURE__ */ jsx3(
|
|
602
603
|
"span",
|
|
603
604
|
{
|
|
604
|
-
className: cn(
|
|
605
|
+
className: cn(
|
|
606
|
+
"min-w-0 flex-1 truncate",
|
|
607
|
+
item.isLoading && "shimmer-text",
|
|
608
|
+
item.unread && !active && "font-medium text-foreground"
|
|
609
|
+
),
|
|
605
610
|
...item.isLoading ? { role: "status", "aria-label": "Agent responding" } : {},
|
|
606
611
|
children: item.label
|
|
607
612
|
}
|
|
@@ -23,7 +23,9 @@ import {
|
|
|
23
23
|
} from "@tangle-network/ui/chat";
|
|
24
24
|
|
|
25
25
|
// src/chat/reasoning-level-picker.tsx
|
|
26
|
-
import {
|
|
26
|
+
import {
|
|
27
|
+
reasoningLadder
|
|
28
|
+
} from "@tangle-network/agent-interface";
|
|
27
29
|
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
|
|
28
30
|
import { Brain, ChevronDown, Sparkles } from "lucide-react";
|
|
29
31
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -68,9 +70,16 @@ var DEFAULT_REASONING_LEVEL_OPTIONS = [
|
|
|
68
70
|
{ value: "low", label: "Low", description: "Fast, direct answers." },
|
|
69
71
|
{ value: "medium", label: "Medium", description: "Inspect context before acting." },
|
|
70
72
|
{ value: "high", label: "High", description: "Deeper planning and edge-case checks." },
|
|
71
|
-
{ value: "xhigh", label: "Extra High", description: "Extended reasoning for
|
|
72
|
-
{ value: "ultracode", label: "Ultracode", description: "Maximum extended thinking
|
|
73
|
+
{ value: "xhigh", label: "Extra High", description: "Extended reasoning for the hardest problems." },
|
|
74
|
+
{ value: "ultracode", label: "Ultracode", description: "Maximum extended thinking." }
|
|
73
75
|
];
|
|
76
|
+
var HARNESS_REASONING_OPTIONS = {
|
|
77
|
+
"kimi-code": [
|
|
78
|
+
{ value: "auto", label: "Auto", description: "Use Kimi's default." },
|
|
79
|
+
{ value: "minimal", label: "No thinking", description: "Kimi answers directly \u2014 thinking off." },
|
|
80
|
+
{ value: "high", label: "Thinking", description: "Kimi reasons before answering." }
|
|
81
|
+
]
|
|
82
|
+
};
|
|
74
83
|
function ReasoningLevelPicker({
|
|
75
84
|
value,
|
|
76
85
|
onChange,
|
|
@@ -151,6 +160,7 @@ function ReasoningLevelPicker({
|
|
|
151
160
|
|
|
152
161
|
// src/chat/agent-session-controls.tsx
|
|
153
162
|
import {
|
|
163
|
+
canonicalizeHarness,
|
|
154
164
|
harnessHonorsEffort,
|
|
155
165
|
harnessHonorsModel,
|
|
156
166
|
reasoningEffortsFor
|
|
@@ -471,6 +481,7 @@ function selectorIgnoreNote(harness) {
|
|
|
471
481
|
return null;
|
|
472
482
|
}
|
|
473
483
|
function InformativeLock({
|
|
484
|
+
type,
|
|
474
485
|
label,
|
|
475
486
|
lockTitle,
|
|
476
487
|
lockBody,
|
|
@@ -515,13 +526,16 @@ function InformativeLock({
|
|
|
515
526
|
"aria-haspopup": "dialog",
|
|
516
527
|
"aria-expanded": open,
|
|
517
528
|
className: cn(
|
|
518
|
-
|
|
529
|
+
// Dimmed to read as locked (the harness is bound to this session),
|
|
530
|
+
// matching the disabled model picker — the logo stays so the chip is
|
|
531
|
+
// still recognizably this harness; the popover explains the lock.
|
|
532
|
+
"inline-flex h-8 items-center gap-1.5 rounded-lg border border-[var(--md3-outline-variant)] bg-surface-container px-2.5 opacity-60",
|
|
519
533
|
"text-xs font-medium text-foreground shadow-sm transition-colors",
|
|
520
534
|
"hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
521
535
|
"data-[state=open]:border-[var(--md3-outline-variant)] data-[state=open]:bg-surface-container-high"
|
|
522
536
|
),
|
|
523
537
|
children: [
|
|
524
|
-
/* @__PURE__ */ jsx3(
|
|
538
|
+
/* @__PURE__ */ jsx3(HarnessLogo, { type, size: 16 }),
|
|
525
539
|
/* @__PURE__ */ jsx3("span", { children: label })
|
|
526
540
|
]
|
|
527
541
|
}
|
|
@@ -590,6 +604,7 @@ function HarnessDropdown({
|
|
|
590
604
|
return /* @__PURE__ */ jsx3(
|
|
591
605
|
InformativeLock,
|
|
592
606
|
{
|
|
607
|
+
type: value,
|
|
593
608
|
label: selected?.label ?? value,
|
|
594
609
|
lockTitle,
|
|
595
610
|
lockBody,
|
|
@@ -614,7 +629,7 @@ function HarnessDropdown({
|
|
|
614
629
|
),
|
|
615
630
|
"aria-label": "Agent harness",
|
|
616
631
|
children: [
|
|
617
|
-
|
|
632
|
+
/* @__PURE__ */ jsx3(HarnessLogo, { type: value, size: 16 }),
|
|
618
633
|
/* @__PURE__ */ jsx3("span", { children: selected?.label ?? value }),
|
|
619
634
|
!locked && /* @__PURE__ */ jsx3(ChevronDown3, { className: "h-3.5 w-3.5 text-muted-foreground" })
|
|
620
635
|
]
|
|
@@ -777,12 +792,13 @@ function AgentSessionControls({
|
|
|
777
792
|
}
|
|
778
793
|
);
|
|
779
794
|
const modelReasoning = modelReasoningCapability(model?.models, model?.value);
|
|
795
|
+
const reasoningOptions = (harness && HARNESS_REASONING_OPTIONS[canonicalizeHarness(harness.value)]) ?? reasoning?.options;
|
|
780
796
|
const reasoningNode = reasoning && /* @__PURE__ */ jsx3(
|
|
781
797
|
ReasoningLevelPicker,
|
|
782
798
|
{
|
|
783
799
|
value: reasoning.value,
|
|
784
800
|
onChange: reasoning.onChange,
|
|
785
|
-
options:
|
|
801
|
+
options: reasoningOptions,
|
|
786
802
|
disabled: reasoning.disabled || !selectorHonorsEffort,
|
|
787
803
|
available: harness ? reasoningEffortsFor(harness.value, modelReasoning) : reasoning.available,
|
|
788
804
|
side: layout === "gear" ? void 0 : "bottom",
|
|
@@ -1525,6 +1541,7 @@ function createFetchTransport(opts) {
|
|
|
1525
1541
|
|
|
1526
1542
|
export {
|
|
1527
1543
|
DEFAULT_REASONING_LEVEL_OPTIONS,
|
|
1544
|
+
HARNESS_REASONING_OPTIONS,
|
|
1528
1545
|
ReasoningLevelPicker,
|
|
1529
1546
|
isModelCompatibleWithHarness,
|
|
1530
1547
|
snapModelToHarness,
|
package/dist/dashboard.d.ts
CHANGED
|
@@ -199,6 +199,9 @@ interface RailExpandableSubItem {
|
|
|
199
199
|
/** Render the row emphasized (bold + accent) so it stands out — e.g. a
|
|
200
200
|
* trailing "view all" action below a capped list. */
|
|
201
201
|
emphasis?: boolean;
|
|
202
|
+
/** Mark the row as unread — bold label + a leading dot. Suppressed while
|
|
203
|
+
* `isLoading` so a responding row shows only the working indicator. */
|
|
204
|
+
unread?: boolean;
|
|
202
205
|
/** Hover-revealed kebab actions (e.g. rename/delete). Rendered on the
|
|
203
206
|
* labeled rail only; ignored in the collapsed-rail flyout. */
|
|
204
207
|
actions?: RailSubItemAction[];
|
package/dist/dashboard.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { AgentWorkbench, ApprovalConfidenceStat, ApprovalItem, ApprovalQueue, Ap
|
|
|
5
5
|
export { ArtifactView, BRAND_PRISM_THEME, CodeSurface, CodeSurfaceProps, CodeView, CodeViewProps, DiffStats, DiffView, DiffViewProps, FileBreadcrumb, FileBreadcrumbProps, GitStatusBadge, PanelHeader, PanelHeaderProps, PillTabItem, PillTabs, PillTabsProps, PreviewView, PreviewViewProps, SandboxArtifact, SandboxArtifactPane, SandboxArtifactPaneProps, SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats, resolveLanguage } from './workbench.js';
|
|
6
6
|
export { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from '@tangle-network/ui/openui';
|
|
7
7
|
export { AgentTimeline, AgentTimelineArtifactItem, AgentTimelineCustomItem, AgentTimelineItem, AgentTimelineMessageItem, AgentTimelineProps, AgentTimelineStatusItem, AgentTimelineTone, AgentTimelineToolGroupItem, AgentTimelineToolItem, ChatContainer, ChatContainerProps, ChatInput, ChatInputProps, ChatMessage, ChatMessageProps, MessageList, MessageListProps, MessageRole, PendingFile, ThinkingIndicator, ThinkingIndicatorProps, UserMessage, UserMessageProps } from '@tangle-network/ui/chat';
|
|
8
|
-
export { AgentComposer, AgentComposerProps, AgentProfileCapability, AgentProfileDraft, AgentProfileOption, AgentProfilePicker, AgentProfilePickerProps, AgentSessionControls, AgentSessionControlsProps, AgentSessionHarnessControl, AgentSessionModelControl, AgentSessionProfileControl, AgentSessionReasoningControl, ArtifactAgentDock, ArtifactAgentDockProps, ArtifactAgentDockTransport, ArtifactDockMessage, ArtifactDockStreamEvent, ArtifactKind, ArtifactScope, ComposerFile, DEFAULT_REASONING_LEVEL_OPTIONS, ReasoningLevel, ReasoningLevelOption, ReasoningLevelPicker, ReasoningLevelPickerProps, createFetchTransport, isModelCompatibleWithHarness, snapModelToHarness } from './chat.js';
|
|
8
|
+
export { AgentComposer, AgentComposerProps, AgentProfileCapability, AgentProfileDraft, AgentProfileOption, AgentProfilePicker, AgentProfilePickerProps, AgentSessionControls, AgentSessionControlsProps, AgentSessionHarnessControl, AgentSessionModelControl, AgentSessionProfileControl, AgentSessionReasoningControl, ArtifactAgentDock, ArtifactAgentDockProps, ArtifactAgentDockTransport, ArtifactDockMessage, ArtifactDockStreamEvent, ArtifactKind, ArtifactScope, ComposerFile, DEFAULT_REASONING_LEVEL_OPTIONS, HARNESS_REASONING_OPTIONS, ReasoningLevel, ReasoningLevelOption, ReasoningLevelPicker, ReasoningLevelPickerProps, createFetchTransport, isModelCompatibleWithHarness, snapModelToHarness } from './chat.js';
|
|
9
9
|
export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps } from '@tangle-network/ui/run';
|
|
10
10
|
export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from '@tangle-network/ui/tool-previews';
|
|
11
11
|
export { FileArtifactPane, FileArtifactPaneProps, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, filterFileTree } from '@tangle-network/ui/files';
|
package/dist/index.js
CHANGED
|
@@ -93,6 +93,7 @@ import {
|
|
|
93
93
|
ChatInput,
|
|
94
94
|
ChatMessage,
|
|
95
95
|
DEFAULT_REASONING_LEVEL_OPTIONS,
|
|
96
|
+
HARNESS_REASONING_OPTIONS,
|
|
96
97
|
MessageList,
|
|
97
98
|
ReasoningLevelPicker,
|
|
98
99
|
ThinkingIndicator,
|
|
@@ -102,7 +103,7 @@ import {
|
|
|
102
103
|
modelProvider,
|
|
103
104
|
snapHarnessToModel,
|
|
104
105
|
snapModelToHarness
|
|
105
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-ZR3UHRGW.js";
|
|
106
107
|
import {
|
|
107
108
|
ExpandedToolDetail,
|
|
108
109
|
InlineThinkingItem,
|
|
@@ -146,7 +147,7 @@ import {
|
|
|
146
147
|
buildUnifiedPatch,
|
|
147
148
|
computeDiffStats,
|
|
148
149
|
resolveLanguage
|
|
149
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-HCOZO53G.js";
|
|
150
151
|
import {
|
|
151
152
|
FileArtifactPane,
|
|
152
153
|
FilePreview,
|
|
@@ -211,7 +212,7 @@ import {
|
|
|
211
212
|
canAdminSandbox,
|
|
212
213
|
parseInsufficientBalance,
|
|
213
214
|
useSidebar
|
|
214
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-H237JF3H.js";
|
|
215
216
|
import "./chunk-VIREDUBF.js";
|
|
216
217
|
import {
|
|
217
218
|
usePtySession
|
|
@@ -436,6 +437,7 @@ export {
|
|
|
436
437
|
GrepResultsPreview,
|
|
437
438
|
HARNESS_BRAND,
|
|
438
439
|
HARNESS_OPTIONS,
|
|
440
|
+
HARNESS_REASONING_OPTIONS,
|
|
439
441
|
HarnessLogo,
|
|
440
442
|
HarnessPicker,
|
|
441
443
|
INSUFFICIENT_BALANCE_CODE,
|
package/dist/workbench.js
CHANGED
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
buildUnifiedPatch,
|
|
13
13
|
computeDiffStats,
|
|
14
14
|
resolveLanguage
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-HCOZO53G.js";
|
|
16
16
|
import "./chunk-3J6FG3FJ.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-H237JF3H.js";
|
|
18
18
|
import "./chunk-VIREDUBF.js";
|
|
19
19
|
import "./chunk-77WVVJA4.js";
|
|
20
20
|
import "./chunk-OMUIPJQZ.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/sandbox-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.66.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",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"test:bridge": "pnpm build && vitest run src/__tests__/re-export-identity.test.ts"
|
|
123
123
|
},
|
|
124
124
|
"peerDependencies": {
|
|
125
|
-
"@tangle-network/agent-interface": ">=0.
|
|
125
|
+
"@tangle-network/agent-interface": ">=0.17.0 <1.0.0",
|
|
126
126
|
"@tangle-network/brand": "^0.6.0",
|
|
127
127
|
"@tangle-network/ui": "^5.1.0",
|
|
128
128
|
"@xyflow/react": "^12.0.0",
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
"@storybook/react-vite": "^8.6.18",
|
|
178
178
|
"@tailwindcss/postcss": "^4.2.2",
|
|
179
179
|
"@tailwindcss/vite": "^4.2.2",
|
|
180
|
-
"@tangle-network/agent-interface": ">=0.
|
|
180
|
+
"@tangle-network/agent-interface": ">=0.17.0 <1.0.0",
|
|
181
181
|
"@tangle-network/brand": "^0.6.0",
|
|
182
182
|
"@tangle-network/ui": "^5.1.0",
|
|
183
183
|
"@tanstack/react-query": "^5.91.0",
|