@tangle-network/ui 11.11.0 → 11.11.1

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 (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -1
  3. package/dist/{auth-DixfCMCk.js → auth-DOETfnd9.js} +2 -2
  4. package/dist/auth.js +1 -1
  5. package/dist/{button-uhNnwdsD.js → button-C87nEe2R.js} +1 -1
  6. package/dist/{chat-CPLL0Fd9.js → chat-D4jAfEmj.js} +5 -5
  7. package/dist/chat.js +1 -1
  8. package/dist/{code-block-CngSn37j.js → code-block-B36KVUSN.js} +1 -1
  9. package/dist/{diff-preview-cySuqowW.js → diff-preview-BcK3nRXb.js} +2 -2
  10. package/dist/{document-editor-pane-Cz6oEF1o.js → document-editor-pane-BxlPjaTP.js} +3 -3
  11. package/dist/editor.js +1 -1
  12. package/dist/{files-CYlOo0mE.js → files-Bug33qCl.js} +5 -5
  13. package/dist/files.js +1 -1
  14. package/dist/{focus-Cw02pNSr.js → focus-BcE_SHqz.js} +2 -1
  15. package/dist/hooks.js +1 -1
  16. package/dist/{index-b56ew9aF.d.ts → index-BgUHilZm.d.ts} +2 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +16 -16
  19. package/dist/{markdown-BprL96Gl.js → markdown-BGqicV82.js} +1 -1
  20. package/dist/markdown.js +2 -2
  21. package/dist/{openui-artifact-renderer-DT4xbvWt.js → openui-artifact-renderer-DrU1AdVk.js} +4 -4
  22. package/dist/openui.js +1 -1
  23. package/dist/{primitives-DE-blUz-.js → primitives-Cb8GGVKr.js} +2 -2
  24. package/dist/primitives.js +5 -5
  25. package/dist/{run-group-D1InSdQu.js → run-group-BACLbCFl.js} +3 -3
  26. package/dist/run.js +3 -3
  27. package/dist/sdk-hooks.js +1 -1
  28. package/dist/{table-DHyqDPbU.js → table-Bss73DhB.js} +1 -1
  29. package/dist/{tabs-ujuqAdtb.js → tabs-BVHR6NkO.js} +1 -1
  30. package/dist/{tool-call-feed-C1W1N54c.js → tool-call-feed-Djt2q11V.js} +2 -2
  31. package/dist/{tool-call-step-Bi3_YJRV.js → tool-call-step-DNebqhmX.js} +2 -2
  32. package/dist/tool-previews.js +1 -1
  33. package/dist/{use-sse-stream-BjVBDbxK.js → use-sse-stream-BVgO1QBN.js} +1 -1
  34. package/dist/utils.d.ts +1 -1
  35. package/dist/utils.js +1 -1
  36. package/package.json +2 -2
  37. package/src/lib/focus.ts +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @tangle-network/ui
2
2
 
3
+ ## 11.11.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 1f0b651: Keep the native field fallback outline off borderless editors inside composite fields. The shared focusFieldWithin helper retains the rounded outer border and halo; standalone fields keep their own focus treatment.
8
+
3
9
  ## 11.11.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -114,4 +114,7 @@ A TypeScript consumer resolves these entries through the emitted declarations, a
114
114
 
115
115
  Because the peers now resolve at first render rather than at build time, a missing one surfaces as a thrown error while React renders. Wrap the editors in an error boundary, so the install list reaches a surface you control instead of unmounting the tree.
116
116
 
117
- `nanostores` and `@nanostores/react` back `./stores`, and `react-router` backs `./nav`. Those two entries create their values at module scope, so they hold a static import and a consumer that imports them must install the peer. Every other entry stays free of all of these.
117
+ `nanostores` and `@nanostores/react` back `./stores`, and `react-router` backs `./nav`.
118
+ Those entries create values at module scope, so consumers must install their peers before importing them.
119
+ The package root also re-exports `./stores`, so a root import requires both nanostores peers.
120
+ Consumers that use only other subpath entries do not need these three peers.
@@ -1,6 +1,6 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { t as Button } from "./button-uhNnwdsD.js";
3
+ import { t as Button } from "./button-C87nEe2R.js";
4
4
  import { _ as AvatarFallback, a as DropdownMenuItem, g as Avatar, h as DropdownMenuTrigger, o as DropdownMenuLabel, r as DropdownMenuContent, t as DropdownMenu, u as DropdownMenuSeparator, v as AvatarImage } from "./dropdown-menu-BpcLa5vF.js";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
package/dist/auth.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as UserMenu, n as AuthHeader, r as GitHubLoginButton, t as LoginLayout } from "./auth-DixfCMCk.js";
1
+ import { i as UserMenu, n as AuthHeader, r as GitHubLoginButton, t as LoginLayout } from "./auth-DOETfnd9.js";
2
2
  export { AuthHeader, GitHubLoginButton, LoginLayout, UserMenu };
@@ -1,4 +1,4 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { cva } from "class-variance-authority";
@@ -1,11 +1,11 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import { r as getToolDisplayMetadata } from "./tool-display-BAuAVa43.js";
4
4
  import { n as useRunCollapseState, r as useRunGroups, t as useAutoScroll } from "./use-auto-scroll-C5Pjeqon.js";
5
- import { n as ToolCallStep, t as ToolCallGroup } from "./tool-call-step-Bi3_YJRV.js";
6
- import { t as Markdown } from "./markdown-BprL96Gl.js";
7
- import { n as InlineThinkingItem, t as RunGroup } from "./run-group-D1InSdQu.js";
8
- import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DT4xbvWt.js";
5
+ import { n as ToolCallStep, t as ToolCallGroup } from "./tool-call-step-DNebqhmX.js";
6
+ import { t as Markdown } from "./markdown-BGqicV82.js";
7
+ import { n as InlineThinkingItem, t as RunGroup } from "./run-group-BACLbCFl.js";
8
+ import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DrU1AdVk.js";
9
9
  import { memo, useEffect, useMemo, useRef, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { AlertTriangle, ArrowDown, CheckCircle2, CircleDot, FileText, Info } from "lucide-react";
package/dist/chat.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as MessageList, i as ThinkingIndicator, n as ChatContainer, o as UserMessage, r as AgentTimeline, t as ChatMessage } from "./chat-CPLL0Fd9.js";
1
+ import { a as MessageList, i as ThinkingIndicator, n as ChatContainer, o as UserMessage, r as AgentTimeline, t as ChatMessage } from "./chat-D4jAfEmj.js";
2
2
  export { AgentTimeline, ChatContainer, ChatMessage, MessageList, ThinkingIndicator, UserMessage };
@@ -1,4 +1,4 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import { memo, useCallback, useEffect, useRef, useState } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
3
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
4
4
  import { a as getSyntaxLanguage } from "./file-format-BgXbr-Ib.js";
5
5
  import { memo, useMemo, useState } from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,8 +1,8 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-ujuqAdtb.js";
3
+ import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-BVHR6NkO.js";
4
4
  import { t as ArtifactPane } from "./artifact-pane-DMXT9a8U.js";
5
- import { t as Markdown } from "./markdown-BprL96Gl.js";
5
+ import { t as Markdown } from "./markdown-BGqicV82.js";
6
6
  import { Suspense, createContext, lazy, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { PencilLine, Save, Users, Wifi, WifiOff } from "lucide-react";
package/dist/editor.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as useCollaborators, c as useYjsState, d as EditorToolbar, f as EditorProvider, i as useCollaboratorPresence, l as CollaboratorsList, o as useDocumentChanges, p as useEditorContext, r as useAwareness, s as useEditorConnection, t as DocumentEditorPane, u as TiptapEditor } from "./document-editor-pane-Cz6oEF1o.js";
1
+ import { a as useCollaborators, c as useYjsState, d as EditorToolbar, f as EditorProvider, i as useCollaboratorPresence, l as CollaboratorsList, o as useDocumentChanges, p as useEditorContext, r as useAwareness, s as useEditorConnection, t as DocumentEditorPane, u as TiptapEditor } from "./document-editor-pane-BxlPjaTP.js";
2
2
  export { CollaboratorsList, DocumentEditorPane, EditorProvider, EditorToolbar, TiptapEditor, useAwareness, useCollaboratorPresence, useCollaborators, useDocumentChanges, useEditorConnection, useEditorContext, useYjsState };
@@ -1,11 +1,11 @@
1
- import { a as focusRingInset, i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { a as focusRingInset, i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { t as Button } from "./button-uhNnwdsD.js";
3
+ import { t as Button } from "./button-C87nEe2R.js";
4
4
  import { t as ArtifactPane } from "./artifact-pane-DMXT9a8U.js";
5
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
5
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
6
6
  import { t as formatBytes } from "./format-DfcLWqMa.js";
7
7
  import { i as getFormatLabel, n as fileExtension, o as resolveFilePreviewKind, r as getCodeLanguage, t as detectFileFormat } from "./file-format-BgXbr-Ib.js";
8
- import { t as Markdown } from "./markdown-BprL96Gl.js";
8
+ import { t as Markdown } from "./markdown-BGqicV82.js";
9
9
  import { Suspense, lazy, useEffect, useMemo, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { ChevronRight, Download, File, FileCode, FileImage, FileJson, FileSpreadsheet, FileText, Folder, FolderOpen, Music, X } from "lucide-react";
@@ -640,7 +640,7 @@ function FileTabs({ tabs, activeId, onSelect, onClose, className }) {
640
640
  //#endregion
641
641
  //#region src/files/file-artifact-pane.tsx
642
642
  const LazyDocumentEditorPane = lazy(async () => {
643
- return { default: (await import("./document-editor-pane-Cz6oEF1o.js").then((n) => n.n)).DocumentEditorPane };
643
+ return { default: (await import("./document-editor-pane-BxlPjaTP.js").then((n) => n.n)).DocumentEditorPane };
644
644
  });
645
645
  /**
646
646
  * FileArtifactPane — opinionated artifact frame for file previews with tabs and
package/dist/files.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { a as getSyntaxLanguage, i as getFormatLabel, n as fileExtension, o as resolveFilePreviewKind, r as getCodeLanguage, t as detectFileFormat } from "./file-format-BgXbr-Ib.js";
2
- import { a as parseCsv, c as filterFileTree, i as FilePreview, n as FileTabs, o as RichFileTree, r as CSV_PREVIEW_ROW_LIMIT, s as FileTree, t as FileArtifactPane } from "./files-CYlOo0mE.js";
2
+ import { a as parseCsv, c as filterFileTree, i as FilePreview, n as FileTabs, o as RichFileTree, r as CSV_PREVIEW_ROW_LIMIT, s as FileTree, t as FileArtifactPane } from "./files-Bug33qCl.js";
3
3
  export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FilePreview, FileTabs, FileTree, RichFileTree, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind };
@@ -39,8 +39,9 @@ const focusField = "border-border transition-[border-color,box-shadow] duration-
39
39
  * therefore does not replace it. To style that container's focus differently,
40
40
  * compose your own classes instead of this helper. The field selector is
41
41
  * written out in full because Tailwind reads class names statically.
42
+ * Base styles use its marker class to clear the inner editor fallback outline.
42
43
  */
43
- const focusFieldWithin = "border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
44
+ const focusFieldWithin = "focus-field-within border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
44
45
  /** Error state for a field: a danger hairline and the same focus shape in danger. Compose after `focusField`. */
45
46
  const focusFieldInvalid = "border-[var(--surface-danger-border)] hover:border-[var(--surface-danger-border)] focus:border-[var(--focus-border-danger)] focus:ring-[var(--focus-halo-danger)]";
46
47
  const focusRingBase = "focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)]";
package/dist/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as useRunCollapseState, r as useRunGroups, t as useAutoScroll } from "./use-auto-scroll-C5Pjeqon.js";
2
- import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BjVBDbxK.js";
2
+ import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BVgO1QBN.js";
3
3
  import * as React from "react";
4
4
  //#region src/hooks/use-live-time.ts
5
5
  /**
@@ -91,8 +91,9 @@ declare const focusField = "border-border transition-[border-color,box-shadow] d
91
91
  * therefore does not replace it. To style that container's focus differently,
92
92
  * compose your own classes instead of this helper. The field selector is
93
93
  * written out in full because Tailwind reads class names statically.
94
+ * Base styles use its marker class to clear the inner editor fallback outline.
94
95
  */
95
- declare const focusFieldWithin = "border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
96
+ declare const focusFieldWithin = "focus-field-within border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
96
97
  /** Error state for a field: a danger hairline and the same focus shape in danger. Compose after `focusField`. */
97
98
  declare const focusFieldInvalid = "border-[var(--surface-danger-border)] hover:border-[var(--surface-danger-border)] focus:border-[var(--focus-border-danger)] focus:ring-[var(--focus-halo-danger)]";
98
99
  /** Keyboard-only focus for a control: a 1px focus line with the halo beyond it. */
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ import "./openui.js";
20
20
  import { n as MarkdownProps, t as Markdown } from "./index-Cq-EJzqW.js";
21
21
  import { addMessage, addParts, clearChat, isStreamingAtom, messagesAtom, partMapAtom, updatePart } from "./stores.js";
22
22
  import "./types.js";
23
- import { a as focusRingInset, c as getToolCategory, d as timeAgo, f as formatBytes, g as copyText, h as truncateText, i as focusRing, l as getToolDisplayMetadata, m as formatUptime, n as focusFieldInvalid, o as cn, p as formatDuration, r as focusFieldWithin, s as TOOL_CATEGORY_ICONS, t as focusField, u as getToolErrorText } from "./index-b56ew9aF.js";
23
+ import { a as focusRingInset, c as getToolCategory, d as timeAgo, f as formatBytes, g as copyText, h as truncateText, i as focusRing, l as getToolDisplayMetadata, m as formatUptime, n as focusFieldInvalid, o as cn, p as formatDuration, r as focusFieldWithin, s as TOOL_CATEGORY_ICONS, t as focusField, u as getToolErrorText } from "./index-BgUHilZm.js";
24
24
  import { a as WebSearchPreview, c as GlobResultsPreviewProps, d as WriteFilePreview, f as WriteFilePreviewProps, i as QuestionPreviewProps, l as GrepResultsPreview, m as CommandPreviewProps, n as DiffPreviewProps, o as WebSearchPreviewProps, p as CommandPreview, r as QuestionPreview, s as GlobResultsPreview, t as DiffPreview, u as GrepResultsPreviewProps } from "./index-2UntyjBb.js";
25
25
  import { a as RevealResult, i as RedactedDocumentProps, n as RedactedDocument, r as RedactedDocumentData, t as RedactedDocSegment } from "./index-COgqsFAQ.js";
26
26
  export { ActiveProjectActivity, ActiveSessionActivityOptions, ActiveSessionConnectionOptions, ActiveSessionConnectionState, ActiveSessionReconnectState, ActiveSessionRecord, ActiveSessionStatus, ActiveSessionTransportMode, ActiveSessionsState, AgentBranding, AgentStreamEvent, AgentTimeline, type AgentTimelineArtifactItem, type AgentTimelineCustomItem, type AgentTimelineItem, type AgentTimelineMessageItem, type AgentTimelineProps, type AgentTimelineStatusItem, type AgentTimelineTone, type AgentTimelineToolGroupItem, type AgentTimelineToolItem, AppendUserMessageOptions, ApplySdkEventOptions, ArtifactPane, type ArtifactPaneProps, AuthHeader, type AuthHeaderProps, AuthUser, AutomationStreamEvent, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BeginAssistantMessageOptions, BotStreamEvent, Button, type ButtonProps, CSV_PREVIEW_ROW_LIMIT, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatContainer, type ChatContainerProps, ChatMessage, type ChatMessageProps, CodeBlock, type CodeBlockProps, CommandPreview, type CommandPreviewProps, CompleteAssistantMessageOptions, ConnectionState, CopyButton, CustomToolRenderer, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, type DiffPreviewProps, DisplayVariant, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, FileArtifactPane, type FileArtifactPaneProps, type FileFormat, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, FilterField, type FilterFieldProps, FinalTextPart, GitHubLoginButton, type GitHubLoginButtonProps, GlobResultsPreview, type GlobResultsPreviewProps, GrepResultsPreview, type GrepResultsPreviewProps, GroupedMessage, InlineCode, type InlineCodeProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, Input, type InputProps, Label, LiveDuration, LoginLayout, type LoginLayoutProps, Logo, type LogoProps, Markdown, type MarkdownProps, MessageList, type MessageListProps, type MessageRole, MessageRun, MessageUser, Metric, type MetricProps, MetricStrip, type MetricStripProps, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, PageHeader, type PageHeaderProps, Progress, QuestionPreview, type QuestionPreviewProps, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, ReasoningPart, type RedactedDocSegment, RedactedDocument, type RedactedDocumentData, type RedactedDocumentProps, RegisterActiveSessionOptions, type RevealResult, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, Run, RunGroup, type RunGroupProps, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, RunStats, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionMessage, SessionPart, SessionProjectKey, type SessionUser, SidebarDropZone, type SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, StatCard, type StatCardProps, StatusPill, type StatusPillProps, type StatusTone, Switch, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TaskStreamEvent, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TerminalStreamEvent, TextPart, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, ThemeToggle, ThinkingIndicator, type ThinkingIndicatorProps, type Toast, ToastContainer, ToastProvider, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, ToolCategory, ToolDisplayMetadata, ToolPart, ToolState, ToolStatus, ToolTime, Toolbar, type ToolbarProps, type UploadFile, UploadProgress, type UploadProgressProps, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, UserMenu, type UserMenuProps, UserMessage, type UserMessageProps, WebSearchPreview, type WebSearchPreviewProps, WriteFilePreview, type WriteFilePreviewProps, activeSessionsAtom, addMessage, addParts, badgeVariants, bumpActiveSessionActivity, buttonVariants, clearChat, cn, copyText, createAuthFetcher, detectFileFormat, fileExtension, filterFileTree, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, parseCsv, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, timeAgo, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useProjectActivity, useProjectSessions, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionsByActivity, useTheme, useToast, useToolCallStream, useTotalRunningSessions };
package/dist/index.js CHANGED
@@ -1,30 +1,30 @@
1
- import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-Cw02pNSr.js";
1
+ import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { n as buttonVariants, t as Button } from "./button-uhNnwdsD.js";
4
- import { a as TableFooter, c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, m as CardFooter, n as TableBody, o as TableHead, p as CardDescription, r as TableCaption, s as TableHeader, t as Table, u as badgeVariants } from "./table-DHyqDPbU.js";
5
- import { A as SegmentedControl, B as SelectValue, C as ToastProvider, D as SkeletonTable, E as SkeletonCard, F as SelectLabel, G as DialogContent, H as Textarea, I as SelectScrollDownButton, J as DialogHeader, K as DialogDescription, L as SelectScrollUpButton, M as SelectContent, N as SelectGroup, O as Switch, P as SelectItem, Q as DialogTrigger, R as SelectSeparator, S as ToastContainer, T as Skeleton, U as Dialog, V as Input, W as DialogClose, X as DialogPortal, Y as DialogOverlay, Z as DialogTitle, _ as TerminalInput, a as Metric, b as EmptyState, c as PageHeader, d as InlineCode, f as SidebarDropZone, g as TerminalDisplay, h as TerminalCursor, i as Toolbar, j as Select, k as Progress, l as ThemeToggle, m as DropZone, n as TangleKnot, o as MetricStrip, p as UploadProgress, q as DialogFooter, r as FilterField, s as StatusPill, t as Logo, u as useTheme, v as TerminalLine, w as useToast, x as Label, y as StatCard, z as SelectTrigger } from "./primitives-DE-blUz-.js";
3
+ import { n as buttonVariants, t as Button } from "./button-C87nEe2R.js";
4
+ import { a as TableFooter, c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, m as CardFooter, n as TableBody, o as TableHead, p as CardDescription, r as TableCaption, s as TableHeader, t as Table, u as badgeVariants } from "./table-Bss73DhB.js";
5
+ import { A as SegmentedControl, B as SelectValue, C as ToastProvider, D as SkeletonTable, E as SkeletonCard, F as SelectLabel, G as DialogContent, H as Textarea, I as SelectScrollDownButton, J as DialogHeader, K as DialogDescription, L as SelectScrollUpButton, M as SelectContent, N as SelectGroup, O as Switch, P as SelectItem, Q as DialogTrigger, R as SelectSeparator, S as ToastContainer, T as Skeleton, U as Dialog, V as Input, W as DialogClose, X as DialogPortal, Y as DialogOverlay, Z as DialogTitle, _ as TerminalInput, a as Metric, b as EmptyState, c as PageHeader, d as InlineCode, f as SidebarDropZone, g as TerminalDisplay, h as TerminalCursor, i as Toolbar, j as Select, k as Progress, l as ThemeToggle, m as DropZone, n as TangleKnot, o as MetricStrip, p as UploadProgress, q as DialogFooter, r as FilterField, s as StatusPill, t as Logo, u as useTheme, v as TerminalLine, w as useToast, x as Label, y as StatCard, z as SelectTrigger } from "./primitives-Cb8GGVKr.js";
6
6
  import { _ as AvatarFallback, a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, g as Avatar, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator, v as AvatarImage } from "./dropdown-menu-BpcLa5vF.js";
7
- import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-ujuqAdtb.js";
7
+ import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-BVHR6NkO.js";
8
8
  import { t as TextShimmer } from "./text-shimmer-BUUo6I-g.js";
9
9
  import { t as ArtifactPane } from "./artifact-pane-DMXT9a8U.js";
10
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
10
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
11
11
  import { i as getToolErrorText, n as getToolCategory, r as getToolDisplayMetadata, t as TOOL_CATEGORY_ICONS } from "./tool-display-BAuAVa43.js";
12
12
  import { n as useRunCollapseState, r as useRunGroups, t as useAutoScroll } from "./use-auto-scroll-C5Pjeqon.js";
13
13
  import { i as truncateText, n as formatDuration, r as formatUptime, t as formatBytes } from "./format-DfcLWqMa.js";
14
- import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-cySuqowW.js";
14
+ import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-BcK3nRXb.js";
15
15
  import { a as getSyntaxLanguage, i as getFormatLabel, n as fileExtension, o as resolveFilePreviewKind, r as getCodeLanguage, t as detectFileFormat } from "./file-format-BgXbr-Ib.js";
16
- import { a as RunRowStatusDot, i as RunRowShell, o as ExpandedToolDetail, r as InlineToolItem } from "./tool-call-step-Bi3_YJRV.js";
17
- import { t as Markdown } from "./markdown-BprL96Gl.js";
18
- import { n as InlineThinkingItem, t as RunGroup } from "./run-group-D1InSdQu.js";
19
- import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DT4xbvWt.js";
20
- import { a as MessageList, i as ThinkingIndicator, n as ChatContainer, o as UserMessage, r as AgentTimeline, t as ChatMessage } from "./chat-CPLL0Fd9.js";
16
+ import { a as RunRowStatusDot, i as RunRowShell, o as ExpandedToolDetail, r as InlineToolItem } from "./tool-call-step-DNebqhmX.js";
17
+ import { t as Markdown } from "./markdown-BGqicV82.js";
18
+ import { n as InlineThinkingItem, t as RunGroup } from "./run-group-BACLbCFl.js";
19
+ import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DrU1AdVk.js";
20
+ import { a as MessageList, i as ThinkingIndicator, n as ChatContainer, o as UserMessage, r as AgentTimeline, t as ChatMessage } from "./chat-D4jAfEmj.js";
21
21
  import { t as LiveDuration } from "./run-ZsIKPA6J.js";
22
- import { n as parseToolEvent, t as ToolCallFeed } from "./tool-call-feed-C1W1N54c.js";
22
+ import { n as parseToolEvent, t as ToolCallFeed } from "./tool-call-feed-Djt2q11V.js";
23
23
  import "./openui.js";
24
- import { a as parseCsv, c as filterFileTree, i as FilePreview, n as FileTabs, o as RichFileTree, r as CSV_PREVIEW_ROW_LIMIT, s as FileTree, t as FileArtifactPane } from "./files-CYlOo0mE.js";
24
+ import { a as parseCsv, c as filterFileTree, i as FilePreview, n as FileTabs, o as RichFileTree, r as CSV_PREVIEW_ROW_LIMIT, s as FileTree, t as FileArtifactPane } from "./files-Bug33qCl.js";
25
25
  import "./markdown.js";
26
- import { i as UserMenu, n as AuthHeader, r as GitHubLoginButton, t as LoginLayout } from "./auth-DixfCMCk.js";
27
- import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BjVBDbxK.js";
26
+ import { i as UserMenu, n as AuthHeader, r as GitHubLoginButton, t as LoginLayout } from "./auth-DOETfnd9.js";
27
+ import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BVgO1QBN.js";
28
28
  import { C as useHasBackgroundRunningSessions, D as useSessionsByActivity, E as useProjectSessions, O as useTotalRunningSessions, S as useActiveSessionsState, T as useProjectActivity, _ as setForegroundActiveSession, a as getAllProjectActivity, b as useActiveSession, c as getSessionsForProject, d as registerActiveSession, f as resetActiveSessions, g as setActiveSessionRunning, h as setActiveSessionError, i as getAllActiveSessions, l as getTotalRunningSessionCount, m as setActiveSessionConnection, n as bumpActiveSessionActivity, o as getSessionsByActivity, p as setActiveSessionAttention, r as getActiveSession, s as getSessionsForNavbar, t as activeSessionsAtom, u as hasBackgroundRunningSessions, v as unregisterActiveSession, w as useNavbarSessions, x as useActiveSessions, y as updateActiveSessionMeta } from "./active-sessions-store-Gt1R0rFG.js";
29
29
  import { createAuthFetcher, useApiKey, useAuth, useLiveTime } from "./hooks.js";
30
30
  import { addMessage, addParts, clearChat, isStreamingAtom, messagesAtom, partMapAtom, updatePart } from "./stores.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cn } from "./utils-C_uf36nf.js";
2
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
2
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
3
3
  import { memo } from "react";
4
4
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
5
5
  import ReactMarkdown from "react-markdown";
package/dist/markdown.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
2
- import { t as Markdown } from "./markdown-BprL96Gl.js";
1
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
2
+ import { t as Markdown } from "./markdown-BGqicV82.js";
3
3
  export { CodeBlock, CopyButton, Markdown };
@@ -1,8 +1,8 @@
1
1
  import { t as cn } from "./utils-C_uf36nf.js";
2
- import { t as Button } from "./button-uhNnwdsD.js";
3
- import { c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, n as TableBody, o as TableHead, p as CardDescription, s as TableHeader, t as Table } from "./table-DHyqDPbU.js";
4
- import { t as CodeBlock } from "./code-block-CngSn37j.js";
5
- import { t as Markdown } from "./markdown-BprL96Gl.js";
2
+ import { t as Button } from "./button-C87nEe2R.js";
3
+ import { c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, n as TableBody, o as TableHead, p as CardDescription, s as TableHeader, t as Table } from "./table-Bss73DhB.js";
4
+ import { t as CodeBlock } from "./code-block-B36KVUSN.js";
5
+ import { t as Markdown } from "./markdown-BGqicV82.js";
6
6
  import { Fragment } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { Minus } from "lucide-react";
package/dist/openui.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DT4xbvWt.js";
1
+ import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DrU1AdVk.js";
2
2
  export { OpenUIArtifactRenderer };
@@ -1,6 +1,6 @@
1
- import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-Cw02pNSr.js";
1
+ import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
- import { d as Card } from "./table-DHyqDPbU.js";
3
+ import { d as Card } from "./table-Bss73DhB.js";
4
4
  import { cva } from "class-variance-authority";
5
5
  import * as React from "react";
6
6
  import { useCallback, useEffect, useRef, useState } from "react";
@@ -1,9 +1,9 @@
1
- import { n as buttonVariants, t as Button } from "./button-uhNnwdsD.js";
2
- import { a as TableFooter, c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, m as CardFooter, n as TableBody, o as TableHead, p as CardDescription, r as TableCaption, s as TableHeader, t as Table, u as badgeVariants } from "./table-DHyqDPbU.js";
3
- import { A as SegmentedControl, B as SelectValue, C as ToastProvider, D as SkeletonTable, E as SkeletonCard, F as SelectLabel, G as DialogContent, H as Textarea, I as SelectScrollDownButton, J as DialogHeader, K as DialogDescription, L as SelectScrollUpButton, M as SelectContent, N as SelectGroup, O as Switch, P as SelectItem, Q as DialogTrigger, R as SelectSeparator, S as ToastContainer, T as Skeleton, U as Dialog, V as Input, W as DialogClose, X as DialogPortal, Y as DialogOverlay, Z as DialogTitle, _ as TerminalInput, a as Metric, b as EmptyState, c as PageHeader, d as InlineCode, f as SidebarDropZone, g as TerminalDisplay, h as TerminalCursor, i as Toolbar, j as Select, k as Progress, l as ThemeToggle, m as DropZone, n as TangleKnot, o as MetricStrip, p as UploadProgress, q as DialogFooter, r as FilterField, s as StatusPill, t as Logo, u as useTheme, v as TerminalLine, w as useToast, x as Label, y as StatCard, z as SelectTrigger } from "./primitives-DE-blUz-.js";
1
+ import { n as buttonVariants, t as Button } from "./button-C87nEe2R.js";
2
+ import { a as TableFooter, c as TableRow, d as Card, f as CardContent, g as CardTitle, h as CardHeader, i as TableCell, l as Badge, m as CardFooter, n as TableBody, o as TableHead, p as CardDescription, r as TableCaption, s as TableHeader, t as Table, u as badgeVariants } from "./table-Bss73DhB.js";
3
+ import { A as SegmentedControl, B as SelectValue, C as ToastProvider, D as SkeletonTable, E as SkeletonCard, F as SelectLabel, G as DialogContent, H as Textarea, I as SelectScrollDownButton, J as DialogHeader, K as DialogDescription, L as SelectScrollUpButton, M as SelectContent, N as SelectGroup, O as Switch, P as SelectItem, Q as DialogTrigger, R as SelectSeparator, S as ToastContainer, T as Skeleton, U as Dialog, V as Input, W as DialogClose, X as DialogPortal, Y as DialogOverlay, Z as DialogTitle, _ as TerminalInput, a as Metric, b as EmptyState, c as PageHeader, d as InlineCode, f as SidebarDropZone, g as TerminalDisplay, h as TerminalCursor, i as Toolbar, j as Select, k as Progress, l as ThemeToggle, m as DropZone, n as TangleKnot, o as MetricStrip, p as UploadProgress, q as DialogFooter, r as FilterField, s as StatusPill, t as Logo, u as useTheme, v as TerminalLine, w as useToast, x as Label, y as StatCard, z as SelectTrigger } from "./primitives-Cb8GGVKr.js";
4
4
  import { _ as AvatarFallback, a as DropdownMenuItem, c as DropdownMenuRadioGroup, d as DropdownMenuShortcut, f as DropdownMenuSub, g as Avatar, h as DropdownMenuTrigger, i as DropdownMenuGroup, l as DropdownMenuRadioItem, m as DropdownMenuSubTrigger, n as DropdownMenuCheckboxItem, o as DropdownMenuLabel, p as DropdownMenuSubContent, r as DropdownMenuContent, s as DropdownMenuPortal, t as DropdownMenu, u as DropdownMenuSeparator, v as AvatarImage } from "./dropdown-menu-BpcLa5vF.js";
5
- import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-ujuqAdtb.js";
5
+ import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs } from "./tabs-BVHR6NkO.js";
6
6
  import { t as TextShimmer } from "./text-shimmer-BUUo6I-g.js";
7
7
  import { t as ArtifactPane } from "./artifact-pane-DMXT9a8U.js";
8
- import { n as CopyButton, t as CodeBlock } from "./code-block-CngSn37j.js";
8
+ import { n as CopyButton, t as CodeBlock } from "./code-block-B36KVUSN.js";
9
9
  export { ArtifactPane, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CodeBlock, CopyButton, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FilterField, InlineCode, Input, Label, Logo, Metric, MetricStrip, PageHeader, Progress, SegmentedControl, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarDropZone, Skeleton, SkeletonCard, SkeletonTable, StatCard, StatusPill, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, Textarea, ThemeToggle, ToastContainer, ToastProvider, Toolbar, UploadProgress, badgeVariants, buttonVariants, useTheme, useToast };
@@ -1,9 +1,9 @@
1
1
  import { t as cn } from "./utils-C_uf36nf.js";
2
2
  import { t as TextShimmer } from "./text-shimmer-BUUo6I-g.js";
3
3
  import { i as truncateText, n as formatDuration } from "./format-DfcLWqMa.js";
4
- import { i as RunRowShell, r as InlineToolItem, s as ExpandableContent } from "./tool-call-step-Bi3_YJRV.js";
5
- import { t as Markdown } from "./markdown-BprL96Gl.js";
6
- import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DT4xbvWt.js";
4
+ import { i as RunRowShell, r as InlineToolItem, s as ExpandableContent } from "./tool-call-step-DNebqhmX.js";
5
+ import { t as Markdown } from "./markdown-BGqicV82.js";
6
+ import { t as OpenUIArtifactRenderer } from "./openui-artifact-renderer-DrU1AdVk.js";
7
7
  import { memo, useEffect, useMemo, useRef, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Bot, Brain, ChevronDown, ChevronRight, ClipboardList, FileEdit, FileSearch, Globe, Loader2, PencilLine, Search, Settings, Sparkles, Terminal } from "lucide-react";
package/dist/run.js CHANGED
@@ -1,5 +1,5 @@
1
- import { a as RunRowStatusDot, i as RunRowShell, o as ExpandedToolDetail, r as InlineToolItem } from "./tool-call-step-Bi3_YJRV.js";
2
- import { n as InlineThinkingItem, t as RunGroup } from "./run-group-D1InSdQu.js";
1
+ import { a as RunRowStatusDot, i as RunRowShell, o as ExpandedToolDetail, r as InlineToolItem } from "./tool-call-step-DNebqhmX.js";
2
+ import { n as InlineThinkingItem, t as RunGroup } from "./run-group-BACLbCFl.js";
3
3
  import { t as LiveDuration } from "./run-ZsIKPA6J.js";
4
- import { n as parseToolEvent, t as ToolCallFeed } from "./tool-call-feed-C1W1N54c.js";
4
+ import { n as parseToolEvent, t as ToolCallFeed } from "./tool-call-feed-Djt2q11V.js";
5
5
  export { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent };
package/dist/sdk-hooks.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { n as useRunCollapseState, r as useRunGroups, t as useAutoScroll } from "./use-auto-scroll-C5Pjeqon.js";
2
- import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BjVBDbxK.js";
2
+ import { a as useToolCallStream, i as useRealtimeSession, n as useSdkSession, o as useDropdownMenu, r as RealtimeSessionRegistry, t as useSSEStream } from "./use-sse-stream-BVgO1QBN.js";
3
3
  export { RealtimeSessionRegistry, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream };
@@ -1,4 +1,4 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import { cva } from "class-variance-authority";
4
4
  import * as React from "react";
@@ -1,4 +1,4 @@
1
- import { i as focusRing } from "./focus-Cw02pNSr.js";
1
+ import { i as focusRing } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import { t as cn } from "./utils-C_uf36nf.js";
2
- import { n as ToolCallStep, t as ToolCallGroup } from "./tool-call-step-Bi3_YJRV.js";
3
- import { t as Markdown } from "./markdown-BprL96Gl.js";
2
+ import { n as ToolCallStep, t as ToolCallGroup } from "./tool-call-step-DNebqhmX.js";
3
+ import { t as Markdown } from "./markdown-BGqicV82.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/run/tool-call-feed.tsx
6
6
  /**
@@ -1,9 +1,9 @@
1
1
  import { t as cn } from "./utils-C_uf36nf.js";
2
2
  import { t as TextShimmer } from "./text-shimmer-BUUo6I-g.js";
3
- import { t as CodeBlock } from "./code-block-CngSn37j.js";
3
+ import { t as CodeBlock } from "./code-block-B36KVUSN.js";
4
4
  import { i as getToolErrorText, n as getToolCategory, r as getToolDisplayMetadata } from "./tool-display-BAuAVa43.js";
5
5
  import { n as formatDuration } from "./format-DfcLWqMa.js";
6
- import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-cySuqowW.js";
6
+ import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-BcK3nRXb.js";
7
7
  import { memo, useEffect, useRef, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { AlertCircle, ArrowLeft, ArrowRight, Bot, ChevronRight, ClipboardList, FileEdit, FileSearch, FileText, Globe, Loader2, PencilLine, Search, Settings, Terminal } from "lucide-react";
@@ -1,2 +1,2 @@
1
- import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-cySuqowW.js";
1
+ import { a as GrepResultsPreview, i as GlobResultsPreview, n as QuestionPreview, o as WriteFilePreview, r as WebSearchPreview, s as CommandPreview, t as DiffPreview } from "./diff-preview-BcK3nRXb.js";
2
2
  export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview };
@@ -1,4 +1,4 @@
1
- import { n as parseToolEvent } from "./tool-call-feed-C1W1N54c.js";
1
+ import { n as parseToolEvent } from "./tool-call-feed-Djt2q11V.js";
2
2
  import { _ as setForegroundActiveSession, d as registerActiveSession, g as setActiveSessionRunning, h as setActiveSessionError, m as setActiveSessionConnection, n as bumpActiveSessionActivity, p as setActiveSessionAttention, v as unregisterActiveSession, y as updateActiveSessionMeta } from "./active-sessions-store-Gt1R0rFG.js";
3
3
  import * as React from "react";
4
4
  import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
package/dist/utils.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as focusRingInset, c as getToolCategory, d as timeAgo, f as formatBytes, g as copyText, h as truncateText, i as focusRing, l as getToolDisplayMetadata, m as formatUptime, n as focusFieldInvalid, o as cn, p as formatDuration, r as focusFieldWithin, s as TOOL_CATEGORY_ICONS, t as focusField, u as getToolErrorText } from "./index-b56ew9aF.js";
1
+ import { a as focusRingInset, c as getToolCategory, d as timeAgo, f as formatBytes, g as copyText, h as truncateText, i as focusRing, l as getToolDisplayMetadata, m as formatUptime, n as focusFieldInvalid, o as cn, p as formatDuration, r as focusFieldWithin, s as TOOL_CATEGORY_ICONS, t as focusField, u as getToolErrorText } from "./index-BgUHilZm.js";
2
2
  export { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatUptime, getToolCategory, getToolDisplayMetadata, getToolErrorText, timeAgo, truncateText };
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-Cw02pNSr.js";
1
+ import { a as focusRingInset, i as focusRing, n as focusFieldInvalid, r as focusFieldWithin, t as focusField } from "./focus-BcE_SHqz.js";
2
2
  import { t as cn } from "./utils-C_uf36nf.js";
3
3
  import { i as getToolErrorText, n as getToolCategory, r as getToolDisplayMetadata, t as TOOL_CATEGORY_ICONS } from "./tool-display-BAuAVa43.js";
4
4
  import { i as truncateText, n as formatDuration, r as formatUptime, t as formatBytes } from "./format-DfcLWqMa.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/ui",
3
- "version": "11.11.0",
3
+ "version": "11.11.1",
4
4
  "description": "Generic React UI components for Tangle products — primitives, chat, run, files, editor, markdown.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -134,7 +134,7 @@
134
134
  "peerDependencies": {
135
135
  "@hocuspocus/provider": ">=2.15.0 <5.0.0",
136
136
  "@nanostores/react": ">=0.8.4 <3.0.0",
137
- "@tangle-network/brand": "^1.8.1",
137
+ "@tangle-network/brand": "^1.8.2",
138
138
  "@tiptap/core": ">=3.20.4 <4.0.0",
139
139
  "@tiptap/extension-collaboration": ">=3.20.4 <4.0.0",
140
140
  "@tiptap/extension-collaboration-caret": ">=3.7.0 <4.0.0",
package/src/lib/focus.ts CHANGED
@@ -41,9 +41,10 @@ export const focusField =
41
41
  * therefore does not replace it. To style that container's focus differently,
42
42
  * compose your own classes instead of this helper. The field selector is
43
43
  * written out in full because Tailwind reads class names statically.
44
+ * Base styles use its marker class to clear the inner editor fallback outline.
44
45
  */
45
46
  export const focusFieldWithin =
46
- "border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
47
+ "focus-field-within border-border transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--border-strong)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:border-[var(--focus-border)] has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-3 has-[:is(textarea,select,[contenteditable]:not([contenteditable=false]),input:not([type=button],[type=submit],[type=reset],[type=image],[type=checkbox],[type=radio],[type=range],[type=color],[type=file])):focus]:ring-[var(--focus-halo)]";
47
48
 
48
49
  /** Error state for a field: a danger hairline and the same focus shape in danger. Compose after `focusField`. */
49
50
  export const focusFieldInvalid =