@frontera-sdk/chat-ui 1.53.2 → 1.53.4

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.
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { AgentPicker, useChatAgents } from './chunk-O6CVTMZJ.js';
2
+ export { AgentPicker, useChatAgents } from './chunk-BPBDXWUS.js';
3
3
  import './chunk-C3HW5S2Z.js';
4
- import './chunk-RVJEI4ZY.js';
4
+ import './chunk-F433AP7Q.js';
5
5
  import './chunk-TUDJ35AB.js';
6
6
  import './chunk-LGVMMBL3.js';
7
7
  import './chunk-6JLWE7M3.js';
package/dist/chat.js CHANGED
@@ -1,27 +1,27 @@
1
1
  'use client';
2
2
  import { offset, flip, autoUpdate, computePosition } from './chunk-I7SXWUAN.js';
3
3
  import { isFullscreenHotkey, DeckNotesCard, deckOwnsArrowKeys } from './chunk-4FRTPVJT.js';
4
- import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-XCXUTXLD.js';
5
- import { NewSessionPrompt, keepCaretOnTap } from './chunk-ZKLTGKXX.js';
6
- import { PendingCards } from './chunk-YH7IIRDX.js';
4
+ import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-ARPUGGVC.js';
5
+ import { NewSessionPrompt, keepCaretOnTap } from './chunk-JDUHFUOK.js';
6
+ import { PendingCards } from './chunk-KKAA343W.js';
7
7
  import { themeToStyle } from './chunk-6HYPVNVA.js';
8
- import { useChatAgents } from './chunk-O6CVTMZJ.js';
8
+ import { useChatAgents } from './chunk-BPBDXWUS.js';
9
9
  import { subjectOfChatToken, capabilitiesOfChatToken } from './chunk-CCVPZVFK.js';
10
10
  import { useChatCredential } from './chunk-6BCUAPW3.js';
11
11
  import './chunk-WDYCLC4F.js';
12
- import { chatSidePanelSessionKey, Chart1Icon, useTemplatePreviewStore, useHasTemplatePreviewHost, useChatSidePanelStore, ChatHeader, ChatHeaderActions, useRightPane, getChatOverviewAgentStatus, useChatOverviewVisible, useConversationArtifacts, PENDING_CHART_TAB_PREFIX, CHART_TAB_PREFIX, AGENT_WORK_TAB_ID, AGENT_ROUTINES_TAB_ID, SOURCES_TAB_ID, TEMPLATE_TAB_ID, OutputsSection, ChainLink1Icon, ChatOverviewContent, COMPUTER_TAB_PREFIX, SourceRow, motion, MAX_CHAT_SIDE_PANEL_SESSIONS, DEFAULT_CHAT_SIDE_PANEL_SIZE, TableIcon } from './chunk-HIJ4KSHK.js';
13
- import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, usePersonConfirmations, unshownPendingConfirmations, ConversationConfirmationCard, useLivePreviewUrl, ArrowRotateClockwiseIcon, useComputerFiles, useUploadComputerFile, CanvasWidget, isPlainTextLanguage, useUploadFile, COMPOSER_ID_MAIN, useContextWindowInfo, useIsCompacting, useQueuedMessages, VolumeFullIcon, WarningSignIcon, useComputer, csvTextToWorkbookJson, CSV_PREVIEW_MAX_ROWS, CopyButton, COMPOSER_ID_COPILOT, ModelIcon, modeToBrandRow, useBackDismiss, PdfViewer, brandLabel, Spinner } from './chunk-7M372LAX.js';
14
- import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, errorText, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useSession, useWorkspaceContext, useConversationDesktopStatus, isRequestHumanTool, appsKeys, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-5JY2P5LR.js';
12
+ import { chatSidePanelSessionKey, Chart1Icon, useTemplatePreviewStore, useHasTemplatePreviewHost, useChatSidePanelStore, ChatHeader, ChatHeaderActions, useRightPane, getChatOverviewAgentStatus, useChatOverviewVisible, useConversationArtifacts, PENDING_CHART_TAB_PREFIX, CHART_TAB_PREFIX, AGENT_WORK_TAB_ID, AGENT_ROUTINES_TAB_ID, SOURCES_TAB_ID, TEMPLATE_TAB_ID, OutputsSection, ChainLink1Icon, ChatOverviewContent, COMPUTER_TAB_PREFIX, SourceRow, motion, MAX_CHAT_SIDE_PANEL_SESSIONS, DEFAULT_CHAT_SIDE_PANEL_SIZE, TableIcon } from './chunk-FY6TUAM4.js';
13
+ import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, usePersonConfirmations, unshownPendingConfirmations, ConversationConfirmationCard, useLivePreviewUrl, ArrowRotateClockwiseIcon, useComputerFiles, useUploadComputerFile, CanvasWidget, isPlainTextLanguage, useUploadFile, COMPOSER_ID_MAIN, useContextWindowInfo, useIsCompacting, useQueuedMessages, VolumeFullIcon, WarningSignIcon, useComputer, csvTextToWorkbookJson, CSV_PREVIEW_MAX_ROWS, CopyButton, COMPOSER_ID_COPILOT, ModelIcon, modeToBrandRow, useBackDismiss, PdfViewer, brandLabel, Spinner } from './chunk-6263YXO6.js';
14
+ import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, errorText, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useSession, useWorkspaceContext, useConversationDesktopStatus, isRequestHumanTool, appsKeys, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-NJRI6GIG.js';
15
15
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
16
16
  import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-FZ3VSITY.js';
17
- import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-HBLKBHR4.js';
18
- import './chunk-M6GWBAO2.js';
19
- import { AppIcon, frontera_icon_default, PhotoIcon, Folder1Icon, FileTextIcon, describeToolRow, SquareArrowTopRightIcon, ClipboardIcon, getToolMeta, useStreamdownPlugins, AppIconFrame, MessageResponse } from './chunk-ITMOMVIV.js';
17
+ import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-IT6MY3JL.js';
18
+ import './chunk-KCNK4P2Z.js';
19
+ import { AppIcon, frontera_icon_default, PhotoIcon, Folder1Icon, FileTextIcon, describeToolRow, SquareArrowTopRightIcon, ClipboardIcon, getToolMeta, useStreamdownPlugins, AppIconFrame, MessageResponse } from './chunk-K5T7I553.js';
20
20
  import { Skeleton, Button, ScrollArea, ChevronDownMediumIcon, buttonVariants } from './chunk-UWKO24VT.js';
21
21
  import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, CrossMediumIcon, DialogFooter } from './chunk-2P4IEVOQ.js';
22
22
  import './chunk-CDTES65T.js';
23
23
  import { DropdownMenu as DropdownMenu$1, DropdownMenuTrigger as DropdownMenuTrigger$1, DropdownMenuContent, DropdownMenuItem, ChevronRightIcon, DropdownMenuSeparator, DropdownMenuLabel } from './chunk-C3HW5S2Z.js';
24
- import { AgentAvatar } from './chunk-RVJEI4ZY.js';
24
+ import { AgentAvatar } from './chunk-F433AP7Q.js';
25
25
  import { ArrowDownIcon, FileTextIcon as FileTextIcon$1, Checkmark1Icon as Checkmark1Icon$1 } from './chunk-TUDJ35AB.js';
26
26
  import { cn, PortalContainerContext, Checkmark1Icon } from './chunk-LGVMMBL3.js';
27
27
  import { ChatClientContext } from './chunk-6JLWE7M3.js';
@@ -42448,7 +42448,7 @@ function SheetEditor({ content, onSave, readOnly = false }) {
42448
42448
  );
42449
42449
  }
42450
42450
  var PdfDocumentViewInner = dynamic(
42451
- () => import('./pdf-document-view-inner-OR253YXC.js'),
42451
+ () => import('./pdf-document-view-inner-4O4AMLWL.js'),
42452
42452
  {
42453
42453
  ssr: false,
42454
42454
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "pdf" })
@@ -43265,7 +43265,7 @@ function HtmlDeckView({ content, inChat = false, versionSlot }) {
43265
43265
  !present && inChat && /* @__PURE__ */ jsx(DeckEditPanel, { currentIndex: sel, currentHtml: slides[sel]?.html ?? "" })
43266
43266
  ] });
43267
43267
  }
43268
- var Inner = dynamic(() => import('./pdf-deck-view-inner-JI3RKDFI.js'), {
43268
+ var Inner = dynamic(() => import('./pdf-deck-view-inner-6FR5GK7I.js'), {
43269
43269
  ssr: false,
43270
43270
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
43271
43271
  });
@@ -64773,8 +64773,9 @@ function lower(terms) {
64773
64773
  function filterMentionGroups(groups, query, opts) {
64774
64774
  const q = query.trim();
64775
64775
  const kinds = opts?.kinds;
64776
+ const commands = opts?.commands !== false;
64776
64777
  const ranked = groups.map((g) => {
64777
- let items = kinds ? g.items.filter((i) => !!i.command || !!i.ref && kinds.includes(i.ref.kind)) : g.items;
64778
+ let items = kinds ? g.items.filter((i) => commands && !!i.command || !!i.ref && kinds.includes(i.ref.kind)) : g.items;
64778
64779
  const remote = g.resolvedQuery !== void 0;
64779
64780
  const stale = remote && g.resolvedQuery !== q;
64780
64781
  if (q) {
@@ -64922,7 +64923,7 @@ function MentionEmpty({ query }) {
64922
64923
  ] });
64923
64924
  }
64924
64925
  var MentionMenu = forwardRef(
64925
- function MentionMenu2({ rawGroups, query, kinds, command: command5, showGroupTitles }, ref) {
64926
+ function MentionMenu2({ rawGroups, query, kinds, commands, command: command5, showGroupTitles }, ref) {
64926
64927
  const [selectedIdx, setSelectedIdx] = useState(0);
64927
64928
  const activeRef = useRef(null);
64928
64929
  const scrollRef = useRef(null);
@@ -64937,9 +64938,9 @@ var MentionMenu = forwardRef(
64937
64938
  );
64938
64939
  }, []);
64939
64940
  const groups = useMemo(() => {
64940
- const ranked = filterMentionGroups(rawGroups, query, { kinds });
64941
+ const ranked = filterMentionGroups(rawGroups, query, { kinds, commands });
64941
64942
  return query.trim() ? flattenMentionGroups(ranked) : ranked;
64942
- }, [rawGroups, query, kinds]);
64943
+ }, [rawGroups, query, kinds, commands]);
64943
64944
  const flat = useMemo(
64944
64945
  () => groups.flatMap((g) => g.items.filter((i) => !i.unavailable)),
64945
64946
  [groups]
@@ -65099,7 +65100,8 @@ var ComposerMention = Mention.extend({
65099
65100
  return ReactNodeViewRenderer(MentionNodeView);
65100
65101
  }
65101
65102
  });
65102
- function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, onCommand) {
65103
+ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, onCommand, onRefresher = () => {
65104
+ }) {
65103
65105
  return {
65104
65106
  char: spec.char,
65105
65107
  pluginKey: spec.pluginKey,
@@ -65112,7 +65114,7 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65112
65114
  // What this returns drives `setVisibility` only — the menu re-filters from
65113
65115
  // the RAW groups so it can apply its own scope. Both go through the same
65114
65116
  // helper, so the "does anything match?" answer can't drift from the list.
65115
- items: ({ query, editor }) => filterMentionGroups(getGroups(editor), query, { kinds: spec.kinds }),
65117
+ items: ({ query, editor }) => filterMentionGroups(getGroups(editor), query, { kinds: spec.kinds, commands: spec.commands }),
65116
65118
  command: ({ editor, range, props }) => {
65117
65119
  const item = props;
65118
65120
  if (item.output) {
@@ -65148,6 +65150,7 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65148
65150
  render: () => {
65149
65151
  let component = null;
65150
65152
  let popup = null;
65153
+ let latest = null;
65151
65154
  const place = (props) => {
65152
65155
  if (!popup) return;
65153
65156
  const editorDom = props.editor.view.dom;
@@ -65189,6 +65192,7 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65189
65192
  rawGroups: getGroups(props.editor),
65190
65193
  query: props.query ?? "",
65191
65194
  ...spec.kinds ? { kinds: spec.kinds } : {},
65195
+ ...spec.commands === false ? { commands: false } : {},
65192
65196
  showGroupTitles: spec.char === "@",
65193
65197
  command: (item) => props.command(item)
65194
65198
  });
@@ -65209,8 +65213,13 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65209
65213
  place(props);
65210
65214
  requestAnimationFrame(() => place(props));
65211
65215
  if (spec.char === "@") onQueryChange(props.query ?? "");
65216
+ latest = props;
65217
+ onRefresher(() => {
65218
+ if (latest) component?.updateProps(menuProps(latest));
65219
+ });
65212
65220
  },
65213
65221
  onUpdate(props) {
65222
+ latest = props;
65214
65223
  component?.updateProps(menuProps(props));
65215
65224
  setVisibility(props);
65216
65225
  place(props);
@@ -65223,6 +65232,8 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65223
65232
  component?.destroy();
65224
65233
  popup = null;
65225
65234
  component = null;
65235
+ latest = null;
65236
+ onRefresher(null);
65226
65237
  if (spec.char === "@") onQueryChange(null);
65227
65238
  return true;
65228
65239
  }
@@ -65233,6 +65244,8 @@ function buildSuggestion(spec, getGroups, onQueryChange, onInserted, onOutput, o
65233
65244
  component?.destroy();
65234
65245
  popup = null;
65235
65246
  component = null;
65247
+ latest = null;
65248
+ onRefresher(null);
65236
65249
  if (spec.char === "@") onQueryChange(null);
65237
65250
  }
65238
65251
  };
@@ -65355,6 +65368,7 @@ var ComposerEditor = forwardRef(function ComposerEditor2({
65355
65368
  className,
65356
65369
  firstLineIndentPx = 0,
65357
65370
  mentionGroups,
65371
+ atKinds,
65358
65372
  oneAgentReason,
65359
65373
  onMentionQueryChange,
65360
65374
  onMentionInserted,
@@ -65369,6 +65383,10 @@ var ComposerEditor = forwardRef(function ComposerEditor2({
65369
65383
  }, ref) {
65370
65384
  const groupsRef = useRef(mentionGroups);
65371
65385
  groupsRef.current = mentionGroups;
65386
+ const refreshMenuRef = useRef(null);
65387
+ useEffect(() => {
65388
+ refreshMenuRef.current?.();
65389
+ }, [mentionGroups]);
65372
65390
  const oneAgentReasonRef = useRef(oneAgentReason);
65373
65391
  oneAgentReasonRef.current = oneAgentReason;
65374
65392
  const readGroups = (ed) => applyOneAgentRule(
@@ -65429,12 +65447,15 @@ var ComposerEditor = forwardRef(function ComposerEditor2({
65429
65447
  ComposerMention.configure({
65430
65448
  suggestions: [
65431
65449
  buildSuggestion(
65432
- { char: "@", pluginKey: AT_PLUGIN_KEY },
65450
+ { char: "@", pluginKey: AT_PLUGIN_KEY, ...atKinds ? { kinds: atKinds, commands: false } : {} },
65433
65451
  readGroups,
65434
65452
  (q) => onMentionQueryChangeRef.current?.(q),
65435
65453
  (id) => onMentionInsertedRef.current?.(id),
65436
65454
  (mode) => onOutputSelectedRef.current?.(mode),
65437
- (cmd) => onCommandRef.current?.(cmd)
65455
+ (cmd) => onCommandRef.current?.(cmd),
65456
+ (refresh) => {
65457
+ refreshMenuRef.current = refresh;
65458
+ }
65438
65459
  ),
65439
65460
  buildSuggestion(
65440
65461
  {
@@ -65448,7 +65469,10 @@ var ComposerEditor = forwardRef(function ComposerEditor2({
65448
65469
  (q) => onMentionQueryChangeRef.current?.(q),
65449
65470
  (id) => onMentionInsertedRef.current?.(id),
65450
65471
  (mode) => onOutputSelectedRef.current?.(mode),
65451
- (cmd) => onCommandRef.current?.(cmd)
65472
+ (cmd) => onCommandRef.current?.(cmd),
65473
+ (refresh) => {
65474
+ refreshMenuRef.current = refresh;
65475
+ }
65452
65476
  )
65453
65477
  ]
65454
65478
  }),
@@ -65692,7 +65716,7 @@ function useMentionRecents() {
65692
65716
  );
65693
65717
  return { ids, remember };
65694
65718
  }
65695
- function ComposerSubmitButton({ status, hasContent, disabled, onStop, neutral = false }) {
65719
+ function ComposerSubmitButton({ status, hasContent, disabled, onStop, neutral = false, className }) {
65696
65720
  const showStop = !hasContent && (status === "submitted" || status === "streaming");
65697
65721
  return /* @__PURE__ */ jsx(
65698
65722
  PromptInputSubmit,
@@ -65703,7 +65727,7 @@ function ComposerSubmitButton({ status, hasContent, disabled, onStop, neutral =
65703
65727
  type: showStop ? "button" : "submit",
65704
65728
  disabled: showStop ? !onStop : disabled || !hasContent,
65705
65729
  variant: showStop ? "ghost" : neutral ? "default-neutral" : "default",
65706
- className: "size-7 shrink-0 min-w-7 rounded-full max-md:size-9 max-md:min-w-9",
65730
+ className: cn("size-7 shrink-0 min-w-7 rounded-full max-md:size-9 max-md:min-w-9", className),
65707
65731
  children: showStop ? /* @__PURE__ */ jsx(StreamingStopIcon, {}) : /* @__PURE__ */ jsx(ArrowUpIcon, { className: "size-4" })
65708
65732
  }
65709
65733
  );
@@ -70052,7 +70076,7 @@ function ApprovalPromptDetails({
70052
70076
  const plan = summary?.plan;
70053
70077
  const preview = summary?.preview ?? [];
70054
70078
  const integration = integrationFor(approval);
70055
- const meta = [integration, approval.toolName, summary?.resource?.label, formatExpiry(approval.expiresAt)].filter((part) => Boolean(part));
70079
+ const meta = [integration, approval.toolName, summary?.resource?.label, approval.expiresAt ? formatExpiry(approval.expiresAt) : null].filter((part) => Boolean(part));
70056
70080
  return /* @__PURE__ */ jsxs("div", { "data-slot": "approval-prompt-details", className: "space-y-2 text-xs", children: [
70057
70081
  !summaryShown && summary?.description && /* @__PURE__ */ jsx("p", { className: "leading-5 text-foreground", children: summary.description }),
70058
70082
  !summaryShown && approval.policyReason && /* @__PURE__ */ jsxs("p", { className: "leading-5 text-foreground", children: [
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, useChatOverviewStore, dedup, extractDomain, sourceKind, SourceFavicon, Input, exportDocumentPdf, FilePdfIcon, StudioDisplayIcon, WorldIcon, MessageStepsGroup, getToolState, getToolInput, getToolErrorText, useChatOptInEnabled, ArrowRightIcon, formatFileSize, FileThumbnail, attachmentFileOf, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, unwrapDataDeep, formatDecisionTime, DecisionCard, LoaderIcon, formatRelativeTime, CircleCheckIcon, agentRoutineKeys, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-5JY2P5LR.js';
2
+ import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, useChatOverviewStore, dedup, extractDomain, sourceKind, SourceFavicon, Input, exportDocumentPdf, FilePdfIcon, StudioDisplayIcon, WorldIcon, MessageStepsGroup, getToolState, getToolInput, getToolErrorText, useChatOptInEnabled, ArrowRightIcon, formatFileSize, FileThumbnail, attachmentFileOf, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, unwrapDataDeep, formatDecisionTime, DecisionCard, LoaderIcon, formatRelativeTime, CircleCheckIcon, agentRoutineKeys, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-NJRI6GIG.js';
3
3
  import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-FZ3VSITY.js';
4
- import { useIsMobile, useTranslation } from './chunk-HBLKBHR4.js';
5
- import { MessageToolbar, MessageResponse, SquareArrowTopRightIcon, FileTextIcon, Shimmer, ClipboardIcon, Message, MessageContent, PencilIcon, deferDuringLayoutMotion, HoverCard, HoverCardTrigger, HoverCardContent, Collapse, Icon, CircleXIcon, ClockIcon } from './chunk-ITMOMVIV.js';
4
+ import { useIsMobile, useTranslation } from './chunk-IT6MY3JL.js';
5
+ import { MessageToolbar, MessageResponse, SquareArrowTopRightIcon, FileTextIcon, Shimmer, ClipboardIcon, Message, MessageContent, PencilIcon, deferDuringLayoutMotion, HoverCard, HoverCardTrigger, HoverCardContent, Collapse, Icon, CircleXIcon, ClockIcon } from './chunk-K5T7I553.js';
6
6
  import { ChevronDownMediumIcon, Button, ScrollArea, Skeleton } from './chunk-UWKO24VT.js';
7
7
  import { CrossMediumIcon } from './chunk-2P4IEVOQ.js';
8
8
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from './chunk-C3HW5S2Z.js';
9
- import { HISTORY_CITATION_PREFIX, canonicalCitationUrl, encodeKnowledgeCitationLinks, historyCitationReference, AgentAvatar } from './chunk-RVJEI4ZY.js';
9
+ import { HISTORY_CITATION_PREFIX, canonicalCitationUrl, encodeKnowledgeCitationLinks, historyCitationReference, AgentAvatar } from './chunk-F433AP7Q.js';
10
10
  import { cn, Checkmark1Icon } from './chunk-LGVMMBL3.js';
11
11
  import { useChatClientOptional } from './chunk-6JLWE7M3.js';
12
12
  import { createContext, memo, useMemo, isValidElement, cloneElement, useState, useCallback, useRef, useEffect, useId, useLayoutEffect, lazy, Suspense, useContext } from 'react';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useTranslation } from './chunk-HBLKBHR4.js';
2
+ import { useTranslation } from './chunk-IT6MY3JL.js';
3
3
  import { Skeleton } from './chunk-UWKO24VT.js';
4
4
  import { useRef, useState, useEffect } from 'react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from './chunk-C3HW5S2Z.js';
3
- import { AgentAvatar } from './chunk-RVJEI4ZY.js';
3
+ import { AgentAvatar } from './chunk-F433AP7Q.js';
4
4
  import { ChevronDownMediumIcon } from './chunk-TUDJ35AB.js';
5
5
  import { useChatClientOptional } from './chunk-6JLWE7M3.js';
6
6
  import { useState, useEffect } from 'react';
@@ -2163,6 +2163,7 @@ var FORMAT_EXT = {
2163
2163
  markdown: "md",
2164
2164
  csv: "csv",
2165
2165
  sheet: "xlsx",
2166
+ doc: "docx",
2166
2167
  pdf: "pdf",
2167
2168
  image: "png",
2168
2169
  htmldeck: "json",
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- import { requestPaneFocus, useArtifacts, usePlugins, useCanvasStore, useArtifactStore, useChatOverviewStore, useSourcesEnrichment, sourceKind, useCitationViewer, resolveSourceDisplay, extractDomain, canvasId, StudioDisplayIcon, LayoutDashboardIcon, useAgentPanelStore, SourceFavicon, dedup, useArtifactFileObjectUrl, resolveArtifactIconFormat, artifactFormatIcon, avatarMotionForStream, AGENT_AVATAR_SIZE, getFileCategory, FileThumbnail, formatFileSize, usePathname, artifactFormatSubtitle, artifactCategory, Input, MobileScreenSheet, TooltipTrigger, Tooltip, useChatCapabilities, TooltipContent, processMessageParts, GridSpinner, PanelEdgeRing, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, extractCitationsFromSteps, resolvePluginLanguage, getMessageDisplayTimestampValue } from './chunk-5JY2P5LR.js';
2
+ import { requestPaneFocus, useArtifacts, usePlugins, useCanvasStore, useArtifactStore, useChatOverviewStore, useSourcesEnrichment, sourceKind, useCitationViewer, resolveSourceDisplay, extractDomain, canvasId, StudioDisplayIcon, LayoutDashboardIcon, useAgentPanelStore, SourceFavicon, dedup, useArtifactFileObjectUrl, resolveArtifactIconFormat, artifactFormatIcon, avatarMotionForStream, AGENT_AVATAR_SIZE, getFileCategory, FileThumbnail, formatFileSize, usePathname, artifactFormatSubtitle, artifactCategory, Input, MobileScreenSheet, TooltipTrigger, Tooltip, useChatCapabilities, TooltipContent, processMessageParts, GridSpinner, PanelEdgeRing, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, extractCitationsFromSteps, resolvePluginLanguage, getMessageDisplayTimestampValue } from './chunk-NJRI6GIG.js';
3
3
  import { MagnifyingGlassIcon, Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-FZ3VSITY.js';
4
- import { useTranslation, useIsMobile } from './chunk-HBLKBHR4.js';
5
- import { Collapsible, CollapsibleTrigger, CollapsibleContent, Shimmer, HoverCard, HoverCardTrigger, HoverCardContent } from './chunk-ITMOMVIV.js';
4
+ import { useTranslation, useIsMobile } from './chunk-IT6MY3JL.js';
5
+ import { Collapsible, CollapsibleTrigger, CollapsibleContent, Shimmer, HoverCard, HoverCardTrigger, HoverCardContent } from './chunk-K5T7I553.js';
6
6
  import { ChevronDownMediumIcon, ScrollArea, Skeleton, Button } from './chunk-UWKO24VT.js';
7
7
  import { Dialog, DialogContent, DialogHeader, DialogTitle, CrossMediumIcon } from './chunk-2P4IEVOQ.js';
8
8
  import { ChevronRightIcon } from './chunk-C3HW5S2Z.js';
9
- import { AgentAvatar } from './chunk-RVJEI4ZY.js';
9
+ import { AgentAvatar } from './chunk-F433AP7Q.js';
10
10
  import { BulletListIcon, FilesIcon } from './chunk-TUDJ35AB.js';
11
11
  import { cn, Checkmark1Icon } from './chunk-LGVMMBL3.js';
12
12
  import { __require } from './chunk-PR4QN5HX.js';
@@ -5168,7 +5168,7 @@ var en_default = {
5168
5168
  "chatApps.create.chat.hint": "A focused conversation around one or more of your Agents, with its own audience, features and history.",
5169
5169
  "chatApps.create.code.title": "Custom App",
5170
5170
  "chatApps.create.code.description": "Build a tailored operational interface with the Frontera SDK.",
5171
- "chatApps.create.accent": "Accent",
5171
+ "chatApps.create.accent": "Color",
5172
5172
  "chatApps.create.back": "Back",
5173
5173
  "chatApps.preview.badge": "Draft preview",
5174
5174
  "chatApps.preview.liveVersion": "Your audience has version {version}",
@@ -11133,7 +11133,7 @@ var id_default = {
11133
11133
  "chatApps.create.chat.hint": "Percakapan terfokus di sekitar satu atau beberapa Agent Anda, dengan audiens, fitur, dan riwayat sendiri.",
11134
11134
  "chatApps.create.code.title": "Custom App",
11135
11135
  "chatApps.create.code.description": "Bangun antarmuka operasional khusus dengan Frontera SDK.",
11136
- "chatApps.create.accent": "Aksen",
11136
+ "chatApps.create.accent": "Warna",
11137
11137
  "chatApps.create.back": "Kembali",
11138
11138
  "chatApps.preview.badge": "Pratinjau draf",
11139
11139
  "chatApps.preview.liveVersion": "Audiens Anda memakai versi {version}",
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { Sheet, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent, MagnifyingGlassIcon } from './chunk-FZ3VSITY.js';
3
- import { useIsMobile, useTranslation } from './chunk-HBLKBHR4.js';
3
+ import { useIsMobile, useTranslation } from './chunk-IT6MY3JL.js';
4
4
  import { CrossMediumIcon } from './chunk-2P4IEVOQ.js';
5
- import { AgentAvatar } from './chunk-RVJEI4ZY.js';
5
+ import { AgentAvatar } from './chunk-F433AP7Q.js';
6
6
  import { cn, Checkmark1Icon } from './chunk-LGVMMBL3.js';
7
7
  import * as t from 'react';
8
8
  import { memo, useState } from 'react';
@@ -916,7 +916,7 @@ function LinkSafetyModal({ isOpen, onClose, onConfirm, url }) {
916
916
  ] }),
917
917
  /* @__PURE__ */ jsx(DialogDescription, { children: "You're about to visit an external website." })
918
918
  ] }),
919
- /* @__PURE__ */ jsx("div", { className: "break-all rounded-md border border-border bg-muted px-3 items-center flex font-mono text-sm text-foreground h-8", children: url }),
919
+ /* @__PURE__ */ jsx("div", { className: "max-h-40 min-w-0 overflow-y-auto break-all rounded-md border border-border bg-muted px-3 py-1.5 font-mono text-[13px] leading-5 text-foreground", children: url }),
920
920
  /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
921
921
  /* @__PURE__ */ jsxs(
922
922
  Button,
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { describeToolRow, Code2Icon, getToolMeta, Shimmer, Collapse } from './chunk-ITMOMVIV.js';
2
+ import { describeToolRow, Code2Icon, getToolMeta, Shimmer, Collapse } from './chunk-K5T7I553.js';
3
3
  import { ChevronDownMediumIcon } from './chunk-UWKO24VT.js';
4
4
  import { cn } from './chunk-LGVMMBL3.js';
5
5
  import { memo, useState, useMemo } from 'react';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { getToolMeta } from './chunk-ITMOMVIV.js';
2
+ import { getToolMeta } from './chunk-K5T7I553.js';
3
3
  import { Button } from './chunk-UWKO24VT.js';
4
4
  import { ChevronDownMediumIcon, CrossMediumIcon } from './chunk-TUDJ35AB.js';
5
5
  import { useChatClientOptional } from './chunk-6JLWE7M3.js';
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
3
3
  import { MagnifyingGlassIcon, Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-FZ3VSITY.js';
4
- import { useIsMobile, useTranslation } from './chunk-HBLKBHR4.js';
5
- import { ToolCallItem, ProcessorIcon } from './chunk-M6GWBAO2.js';
6
- import { describeToolRow, toolKindLabel, getToolMeta, Shimmer, Collapse, ToolGroupReasoningItem, SkillToolItem, DeviceDesktopIcon, WorldSearchIcon, FileTextIcon, useStreamdownPlugins, CircleXIcon, STREAMDOWN_LINK_SAFETY, Folder1Icon, AppIconFrame, AppIcon, Collapsible, CollapsibleTrigger, CollapsibleContent, SquareArrowTopRightIcon, Icon } from './chunk-ITMOMVIV.js';
4
+ import { useIsMobile, useTranslation } from './chunk-IT6MY3JL.js';
5
+ import { ToolCallItem, ProcessorIcon } from './chunk-KCNK4P2Z.js';
6
+ import { describeToolRow, toolKindLabel, getToolMeta, Shimmer, Collapse, ToolGroupReasoningItem, SkillToolItem, DeviceDesktopIcon, WorldSearchIcon, FileTextIcon, useStreamdownPlugins, CircleXIcon, STREAMDOWN_LINK_SAFETY, Folder1Icon, AppIconFrame, AppIcon, Collapsible, CollapsibleTrigger, CollapsibleContent, SquareArrowTopRightIcon, Icon } from './chunk-K5T7I553.js';
7
7
  import { ChevronDownMediumIcon, Button, Skeleton, buttonVariants } from './chunk-UWKO24VT.js';
8
8
  import { Dialog, DialogContent, DialogTitle, DialogDescription, DialogClose, CrossMediumIcon, DialogHeader, DialogFooter } from './chunk-2P4IEVOQ.js';
9
9
  import { zipSync } from './chunk-CDTES65T.js';
10
10
  import { ChevronRightIcon, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from './chunk-C3HW5S2Z.js';
11
- import { AgentAvatar, FORMAT_EXT } from './chunk-RVJEI4ZY.js';
11
+ import { FORMAT_EXT, AgentAvatar } from './chunk-F433AP7Q.js';
12
12
  import { Images1Icon, SlidesWideIcon, FilePdfIcon, TableIcon, FileTextIcon as FileTextIcon$1, SquareArrowTopRightIcon as SquareArrowTopRightIcon$1, FileDownloadIcon } from './chunk-TUDJ35AB.js';
13
13
  import { cn, Checkmark1Icon, usePortalContainer } from './chunk-LGVMMBL3.js';
14
14
  import { useChatClientOptional } from './chunk-6JLWE7M3.js';
@@ -10615,7 +10615,8 @@ function useDownloadArtifact(artifactId) {
10615
10615
  return {
10616
10616
  mutateAsync: async ({
10617
10617
  title,
10618
- format: format2
10618
+ format: format2,
10619
+ mimeType
10619
10620
  } = {}) => {
10620
10621
  if (!chat) throw new Error("No ChatClient in context");
10621
10622
  if (!artifactId) throw new Error("No artifact to download");
@@ -10623,7 +10624,8 @@ function useDownloadArtifact(artifactId) {
10623
10624
  const url = URL.createObjectURL(file);
10624
10625
  const anchor = document.createElement("a");
10625
10626
  anchor.href = url;
10626
- anchor.download = title ? `${title}${format2 ? `.${format2}` : ""}` : artifactId;
10627
+ const ext = format2 === "file" ? extForFile(mimeType, title) : FORMAT_EXT[format2 ?? ""] ?? "bin";
10628
+ anchor.download = `${slugify(title || artifactId)}.${ext}`;
10627
10629
  anchor.click();
10628
10630
  URL.revokeObjectURL(url);
10629
10631
  },
@@ -10661,6 +10663,9 @@ var MIME_TO_EXT = {
10661
10663
  "text/xml": "xml",
10662
10664
  "text/yaml": "yaml"
10663
10665
  };
10666
+ function slugify(s2) {
10667
+ return s2.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "document";
10668
+ }
10664
10669
  function extForFile(mimeType, title) {
10665
10670
  if (mimeType && MIME_TO_EXT[mimeType]) return MIME_TO_EXT[mimeType];
10666
10671
  const titleExt = title?.includes(".") ? title.split(".").pop() : void 0;
@@ -20388,7 +20393,7 @@ function parseDeck2(content) {
20388
20393
  return { slides: [] };
20389
20394
  }
20390
20395
  }
20391
- function slugify(title) {
20396
+ function slugify2(title) {
20392
20397
  return (title || "presentation").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
20393
20398
  }
20394
20399
  function download(blob, filename) {
@@ -20498,7 +20503,7 @@ async function buildDeckPptxBlob(artifactId, deck, hybrid = true) {
20498
20503
  }
20499
20504
  async function exportDeckPptx(artifactId, deck, hybrid = true) {
20500
20505
  const blob = await buildDeckPptxBlob(artifactId, deck, hybrid);
20501
- download(blob, `${slugify(deck.title || "presentation")}.pptx`);
20506
+ download(blob, `${slugify2(deck.title || "presentation")}.pptx`);
20502
20507
  }
20503
20508
  function exportDeckPdf(deck) {
20504
20509
  const w = window.open("", "_blank");
@@ -20732,7 +20737,7 @@ function useBasePath() {
20732
20737
  };
20733
20738
  }
20734
20739
  var PDF_EXPORTABLE = /* @__PURE__ */ new Set(["markdown", "doc"]);
20735
- function slugify2(title) {
20740
+ function slugify3(title) {
20736
20741
  return title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
20737
20742
  }
20738
20743
  function downloadBlob(content, mime, filename) {
@@ -20747,7 +20752,7 @@ function downloadBlob(content, mime, filename) {
20747
20752
  URL.revokeObjectURL(url);
20748
20753
  }
20749
20754
  function downloadMarkdown(content, title) {
20750
- downloadBlob(content, "text/markdown", `${slugify2(title)}.md`);
20755
+ downloadBlob(content, "text/markdown", `${slugify3(title)}.md`);
20751
20756
  }
20752
20757
  function workbookToTable(raw) {
20753
20758
  let wb;
@@ -20896,7 +20901,7 @@ function ArtifactActionsMenu({
20896
20901
  toast.error("Couldn't parse spreadsheet");
20897
20902
  return;
20898
20903
  }
20899
- const base = slugify2(title || "spreadsheet");
20904
+ const base = slugify3(title || "spreadsheet");
20900
20905
  if (kind === "csv") {
20901
20906
  downloadBlob(
20902
20907
  tableToCsv(table.columns, table.rows),
@@ -20945,7 +20950,7 @@ function ArtifactActionsMenu({
20945
20950
  useCallback(
20946
20951
  async (target) => {
20947
20952
  const serviceUrl = env("NEXT_PUBLIC_SERVICE_URL") || "http://localhost:4001";
20948
- const base = slugify2(title || "document");
20953
+ const base = slugify3(title || "document");
20949
20954
  const needsPptx = target === "slides" || target === "drive" && isDeck;
20950
20955
  if (needsPptx) {
20951
20956
  const resolvedContent = contentProp ?? artifactDetail?.content;
package/dist/header.js CHANGED
@@ -1,16 +1,16 @@
1
1
  'use client';
2
- export { ChatHeader, ChatHeaderActions } from './chunk-HIJ4KSHK.js';
3
- import './chunk-5JY2P5LR.js';
2
+ export { ChatHeader, ChatHeaderActions } from './chunk-FY6TUAM4.js';
3
+ import './chunk-NJRI6GIG.js';
4
4
  import './chunk-CWAOLMFS.js';
5
5
  import './chunk-FZ3VSITY.js';
6
- import './chunk-HBLKBHR4.js';
7
- import './chunk-M6GWBAO2.js';
8
- import './chunk-ITMOMVIV.js';
6
+ import './chunk-IT6MY3JL.js';
7
+ import './chunk-KCNK4P2Z.js';
8
+ import './chunk-K5T7I553.js';
9
9
  import './chunk-UWKO24VT.js';
10
10
  import './chunk-2P4IEVOQ.js';
11
11
  import './chunk-CDTES65T.js';
12
12
  import './chunk-C3HW5S2Z.js';
13
- import './chunk-RVJEI4ZY.js';
13
+ import './chunk-F433AP7Q.js';
14
14
  import './chunk-TUDJ35AB.js';
15
15
  import './chunk-LGVMMBL3.js';
16
16
  import './chunk-6JLWE7M3.js';
package/dist/message.js CHANGED
@@ -1,16 +1,16 @@
1
1
  'use client';
2
- export { Message, Thinking } from './chunk-7M372LAX.js';
3
- import './chunk-5JY2P5LR.js';
2
+ export { Message, Thinking } from './chunk-6263YXO6.js';
3
+ import './chunk-NJRI6GIG.js';
4
4
  import './chunk-CWAOLMFS.js';
5
5
  import './chunk-FZ3VSITY.js';
6
- import './chunk-HBLKBHR4.js';
7
- import './chunk-M6GWBAO2.js';
8
- import './chunk-ITMOMVIV.js';
6
+ import './chunk-IT6MY3JL.js';
7
+ import './chunk-KCNK4P2Z.js';
8
+ import './chunk-K5T7I553.js';
9
9
  import './chunk-UWKO24VT.js';
10
10
  import './chunk-2P4IEVOQ.js';
11
11
  import './chunk-CDTES65T.js';
12
12
  import './chunk-C3HW5S2Z.js';
13
- import './chunk-RVJEI4ZY.js';
13
+ import './chunk-F433AP7Q.js';
14
14
  import './chunk-TUDJ35AB.js';
15
15
  import './chunk-LGVMMBL3.js';
16
16
  import './chunk-6JLWE7M3.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-ZKLTGKXX.js';
2
+ export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-JDUHFUOK.js';
3
3
  import './chunk-FZ3VSITY.js';
4
- import './chunk-HBLKBHR4.js';
4
+ import './chunk-IT6MY3JL.js';
5
5
  import './chunk-2P4IEVOQ.js';
6
- import './chunk-RVJEI4ZY.js';
6
+ import './chunk-F433AP7Q.js';
7
7
  import './chunk-LGVMMBL3.js';
8
8
  import './chunk-PR4QN5HX.js';
package/dist/parts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { ToolCallItem } from './chunk-M6GWBAO2.js';
3
- import './chunk-ITMOMVIV.js';
2
+ import { ToolCallItem } from './chunk-KCNK4P2Z.js';
3
+ import './chunk-K5T7I553.js';
4
4
  import './chunk-UWKO24VT.js';
5
5
  import './chunk-2P4IEVOQ.js';
6
6
  import './chunk-TUDJ35AB.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { DeckNotesCard, deckOwnsArrowKeys } from './chunk-4FRTPVJT.js';
3
- import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-XCXUTXLD.js';
3
+ import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-ARPUGGVC.js';
4
4
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
5
- import { useTranslation, useIsMobile } from './chunk-HBLKBHR4.js';
5
+ import { useTranslation, useIsMobile } from './chunk-IT6MY3JL.js';
6
6
  import { Button, ChevronDownMediumIcon, ScrollArea } from './chunk-UWKO24VT.js';
7
7
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ChevronRightIcon } from './chunk-C3HW5S2Z.js';
8
8
  import { cn } from './chunk-LGVMMBL3.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-XCXUTXLD.js';
2
+ import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-ARPUGGVC.js';
3
3
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
4
- import { useTranslation, useIsMobile } from './chunk-HBLKBHR4.js';
4
+ import { useTranslation, useIsMobile } from './chunk-IT6MY3JL.js';
5
5
  import { Button, ChevronDownMediumIcon, ScrollArea } from './chunk-UWKO24VT.js';
6
6
  import { ChevronRightIcon, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem } from './chunk-C3HW5S2Z.js';
7
7
  import { cn } from './chunk-LGVMMBL3.js';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- export { PendingCards } from './chunk-YH7IIRDX.js';
3
- import './chunk-ITMOMVIV.js';
2
+ export { PendingCards } from './chunk-KKAA343W.js';
3
+ import './chunk-K5T7I553.js';
4
4
  import './chunk-UWKO24VT.js';
5
5
  import './chunk-2P4IEVOQ.js';
6
6
  import './chunk-TUDJ35AB.js';