@frontera-sdk/chat-ui 1.50.80 → 1.50.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/chat.js CHANGED
@@ -1,21 +1,21 @@
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-EXPHCRFP.js';
5
- import { NewSessionPrompt, keepCaretOnTap } from './chunk-5B25DNOG.js';
4
+ import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-ZA7CTXPL.js';
5
+ import { NewSessionPrompt, keepCaretOnTap } from './chunk-KJ33HNY4.js';
6
6
  import { PendingCards } from './chunk-UZ6RDWCT.js';
7
7
  import { themeToStyle } from './chunk-6HYPVNVA.js';
8
8
  import { useChatAgents } from './chunk-FLOAEPRU.js';
9
9
  import { subjectOfChatToken, capabilitiesOfChatToken } from './chunk-CCVPZVFK.js';
10
10
  import { useChatCredential } from './chunk-37G6MHWS.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-LOBDKA2D.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-MQDBY5CA.js';
13
13
  import './chunk-X3QVICX7.js';
14
- import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, 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-C2TZSGKK.js';
15
- import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, 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, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useConversationDesktopStatus, isRequestHumanTool, appsKeys, useSession, useWorkspaceContext, errorText, 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-EFFOOCIK.js';
14
+ import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, 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-SSQ3SIWH.js';
15
+ import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, 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, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useConversationDesktopStatus, isRequestHumanTool, appsKeys, useSession, useWorkspaceContext, errorText, 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-M65T2M4P.js';
16
16
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
17
17
  import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-T5SANYSX.js';
18
- import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-7AT2LRVW.js';
18
+ import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-T4RG6NMW.js';
19
19
  import './chunk-QBV7MAFV.js';
20
20
  import { AppIcon, frontera_icon_default, PhotoIcon, Folder1Icon, FileTextIcon, describeToolRow, SquareArrowTopRightIcon, ClipboardIcon, getToolMeta, useStreamdownPlugins, AppIconFrame, MessageResponse } from './chunk-PKNEC4LJ.js';
21
21
  import { Skeleton, Button, ScrollArea, ChevronDownMediumIcon, buttonVariants } from './chunk-UWKO24VT.js';
@@ -42449,7 +42449,7 @@ function SheetEditor({ content, onSave, readOnly = false }) {
42449
42449
  );
42450
42450
  }
42451
42451
  var PdfDocumentViewInner = dynamic(
42452
- () => import('./pdf-document-view-inner-AJEP5IJC.js'),
42452
+ () => import('./pdf-document-view-inner-T3OS2MHL.js'),
42453
42453
  {
42454
42454
  ssr: false,
42455
42455
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "pdf" })
@@ -43266,7 +43266,7 @@ function HtmlDeckView({ content, inChat = false, versionSlot }) {
43266
43266
  !present && inChat && /* @__PURE__ */ jsx(DeckEditPanel, { currentIndex: sel, currentHtml: slides[sel]?.html ?? "" })
43267
43267
  ] });
43268
43268
  }
43269
- var Inner = dynamic(() => import('./pdf-deck-view-inner-KW6RIALH.js'), {
43269
+ var Inner = dynamic(() => import('./pdf-deck-view-inner-QBQHKZKH.js'), {
43270
43270
  ssr: false,
43271
43271
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
43272
43272
  });
@@ -55171,6 +55171,7 @@ var configKeys = {
55171
55171
  brand: () => [DOMAIN3, "brand"],
55172
55172
  imageModel: () => [DOMAIN3, "imageModel"],
55173
55173
  voiceSpeed: () => [DOMAIN3, "voiceSpeed"],
55174
+ voiceUsage: () => [DOMAIN3, "voiceUsage"],
55174
55175
  providerStatus: () => [DOMAIN3, "providerStatus"],
55175
55176
  customProviders: () => [DOMAIN3, "customProviders"],
55176
55177
  providerModels: (provider) => [DOMAIN3, "providerModels", provider],
@@ -57228,6 +57229,49 @@ function ComposerRailTrigger({
57228
57229
  }
57229
57230
  );
57230
57231
  }
57232
+ function SparklesThreeIcon(props) {
57233
+ return /* @__PURE__ */ jsxs(
57234
+ "svg",
57235
+ {
57236
+ "aria-hidden": "true",
57237
+ role: "img",
57238
+ "aria-label": "sparkles-three, ai 3 stars, sparkles, \u2728",
57239
+ width: "24px",
57240
+ height: "24px",
57241
+ viewBox: "0 0 24 24",
57242
+ fill: "none",
57243
+ xmlns: "http://www.w3.org/2000/svg",
57244
+ ...props,
57245
+ children: [
57246
+ /* @__PURE__ */ jsx(
57247
+ "path",
57248
+ {
57249
+ d: "M6 5.5C6 5.22386 5.77614 5 5.5 5C5.22386 5 5 5.22386 5 5.5C5 6.48063 4.78279 7.0726 4.4277 7.4277C4.0726 7.78279 3.48063 8 2.5 8C2.22386 8 2 8.22386 2 8.5C2 8.77614 2.22386 9 2.5 9C3.48063 9 4.0726 9.21721 4.4277 9.5723C4.78279 9.9274 5 10.5194 5 11.5C5 11.7761 5.22386 12 5.5 12C5.77614 12 6 11.7761 6 11.5C6 10.5194 6.21721 9.9274 6.5723 9.5723C6.9274 9.21721 7.51937 9 8.5 9C8.77614 9 9 8.77614 9 8.5C9 8.22386 8.77614 8 8.5 8C7.51937 8 6.9274 7.78279 6.5723 7.4277C6.21721 7.0726 6 6.48063 6 5.5Z",
57250
+ fill: "currentColor"
57251
+ }
57252
+ ),
57253
+ /* @__PURE__ */ jsx(
57254
+ "path",
57255
+ {
57256
+ d: "M11 1.5C11 1.22386 10.7761 1 10.5 1C10.2239 1 10 1.22386 10 1.5C10 2.13341 9.85918 2.47538 9.66728 2.66728C9.47538 2.85918 9.13341 3 8.5 3C8.22386 3 8 3.22386 8 3.5C8 3.77614 8.22386 4 8.5 4C9.13341 4 9.47538 4.14082 9.66728 4.33272C9.85918 4.52462 10 4.86659 10 5.5C10 5.77614 10.2239 6 10.5 6C10.7761 6 11 5.77614 11 5.5C11 4.86659 11.1408 4.52462 11.3327 4.33272C11.5246 4.14082 11.8666 4 12.5 4C12.7761 4 13 3.77614 13 3.5C13 3.22386 12.7761 3 12.5 3C11.8666 3 11.5246 2.85918 11.3327 2.66728C11.1408 2.47538 11 2.13341 11 1.5Z",
57257
+ fill: "currentColor"
57258
+ }
57259
+ ),
57260
+ /* @__PURE__ */ jsx(
57261
+ "path",
57262
+ {
57263
+ fillRule: "evenodd",
57264
+ clipRule: "evenodd",
57265
+ d: "M21 15C15.4444 15 13 17.4444 13 23C13 17.4444 10.5556 15 5 15C10.5556 15 13 12.5556 13 7C13 12.5556 15.4444 15 21 15Z",
57266
+ stroke: "currentColor",
57267
+ strokeWidth: "1.5",
57268
+ strokeLinejoin: "round"
57269
+ }
57270
+ )
57271
+ ]
57272
+ }
57273
+ );
57274
+ }
57231
57275
  var DURATION_MS = 200;
57232
57276
  var easeOutCubic = (t2) => 1 - (1 - t2) ** 3;
57233
57277
  var snap = (px) => {
@@ -57288,6 +57332,7 @@ var EFFORT_ORDER = [
57288
57332
  "xhigh",
57289
57333
  "max"
57290
57334
  ];
57335
+ var AUTOMATIC_MODE = "$automatic";
57291
57336
  var EFFORT_LABELS = {
57292
57337
  minimal: "Minimal",
57293
57338
  low: "Light",
@@ -57495,6 +57540,7 @@ function ModelSelectorEffortPanel({
57495
57540
  canChooseModel,
57496
57541
  showReset,
57497
57542
  defaultSummary,
57543
+ resetLabel,
57498
57544
  onOpenModels,
57499
57545
  onSelectEffort,
57500
57546
  onReset
@@ -57523,7 +57569,7 @@ function ModelSelectorEffortPanel({
57523
57569
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "inline-flex size-7 shrink-0", children: /* @__PURE__ */ jsx(
57524
57570
  DropdownMenuItem,
57525
57571
  {
57526
- "aria-label": "Reset to default",
57572
+ "aria-label": resetLabel,
57527
57573
  "aria-description": showReset ? `Returns to ${defaultSummary}` : `Already using ${defaultSummary}`,
57528
57574
  disabled: !showReset,
57529
57575
  onSelect: (event) => event.preventDefault(),
@@ -57533,7 +57579,7 @@ function ModelSelectorEffortPanel({
57533
57579
  }
57534
57580
  ) }) }),
57535
57581
  /* @__PURE__ */ jsxs(TooltipContent, { side: "top", sideOffset: 6, className: "flex flex-col gap-0.5 px-2 py-1.5 text-xs", children: [
57536
- /* @__PURE__ */ jsx("span", { className: "font-medium", children: showReset ? "Reset to default" : "Using the default" }),
57582
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: showReset ? resetLabel : "Using the default" }),
57537
57583
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: defaultSummary })
57538
57584
  ] })
57539
57585
  ] }) })
@@ -57556,7 +57602,8 @@ function ModelSelectorModelList({
57556
57602
  xaiConnect,
57557
57603
  xaiSubscriptionConnected = false,
57558
57604
  eligibleSubscriptionModels,
57559
- onSelectMode
57605
+ onSelectMode,
57606
+ onSelectAutomatic
57560
57607
  }) {
57561
57608
  const { cloudModes, chatgptModes, grokModes } = partitionModelModes(
57562
57609
  modes,
@@ -57566,6 +57613,20 @@ function ModelSelectorModelList({
57566
57613
  const visibleModes = [...cloudModes, ...chatgptModes, ...grokModes];
57567
57614
  return /* @__PURE__ */ jsxs(Fragment, { children: [
57568
57615
  /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "px-2.5 pt-1.5 pb-1 text-xs font-medium text-muted-foreground", children: "Select model" }),
57616
+ onSelectAutomatic ? /* @__PURE__ */ jsxs(
57617
+ DropdownMenuItem,
57618
+ {
57619
+ onClick: onSelectAutomatic,
57620
+ className: "justify-between gap-3 rounded-md px-2.5 py-1.5 text-sm",
57621
+ children: [
57622
+ /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
57623
+ /* @__PURE__ */ jsx(SparklesThreeIcon, { className: "size-3.5 shrink-0 text-muted-foreground" }),
57624
+ /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap", children: "Auto" })
57625
+ ] }),
57626
+ selectedModeKey === AUTOMATIC_MODE ? /* @__PURE__ */ jsx(Checkmark1Icon, { className: "size-4 shrink-0 text-foreground!" }) : null
57627
+ ]
57628
+ }
57629
+ ) : null,
57569
57630
  visibleModes.map((mode, index) => {
57570
57631
  const chatgptHeading = index === cloudModes.length && chatgptModes.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
57571
57632
  cloudModes.length > 0 && /* @__PURE__ */ jsx(DropdownMenuSeparator, { className: "my-1" }),
@@ -57663,12 +57724,14 @@ function ModelSelectorMenu({
57663
57724
  showEffort,
57664
57725
  showReset,
57665
57726
  defaultSummary,
57727
+ resetLabel,
57666
57728
  codexConnect,
57667
57729
  chatGptSubscriptionConnected = false,
57668
57730
  xaiConnect,
57669
57731
  xaiSubscriptionConnected = false,
57670
57732
  eligibleSubscriptionModels,
57671
57733
  onSelectMode,
57734
+ onSelectAutomatic,
57672
57735
  onSelectEffort,
57673
57736
  onReset,
57674
57737
  view,
@@ -57749,7 +57812,8 @@ function ModelSelectorMenu({
57749
57812
  xaiConnect,
57750
57813
  xaiSubscriptionConnected,
57751
57814
  eligibleSubscriptionModels,
57752
- onSelectMode: handleSelectMode
57815
+ onSelectMode: handleSelectMode,
57816
+ onSelectAutomatic
57753
57817
  }
57754
57818
  ) : /* @__PURE__ */ jsx("div", { className: "px-2.5 py-2 text-sm", children: displayMode ? getDisplayName(displayMode) : modelLabel }) : /* @__PURE__ */ jsx(
57755
57819
  ModelSelectorEffortPanel,
@@ -57761,6 +57825,7 @@ function ModelSelectorMenu({
57761
57825
  canChooseModel: showModelSelector,
57762
57826
  showReset,
57763
57827
  defaultSummary,
57828
+ resetLabel,
57764
57829
  onOpenModels: () => swapTo("models"),
57765
57830
  onSelectEffort,
57766
57831
  onReset: () => {
@@ -57777,7 +57842,7 @@ function ModelSelectorMenu({
57777
57842
  onClick: () => onReset(),
57778
57843
  className: "justify-between gap-2 rounded-md px-2.5 py-2 text-sm",
57779
57844
  children: [
57780
- /* @__PURE__ */ jsx("span", { children: "Reset to default" }),
57845
+ /* @__PURE__ */ jsx("span", { children: resetLabel }),
57781
57846
  /* @__PURE__ */ jsx(ArrowRotateClockwiseIcon, { className: "size-4 shrink-0 text-muted-foreground" })
57782
57847
  ]
57783
57848
  }
@@ -57809,8 +57874,10 @@ function ModelSelectorSheet({
57809
57874
  xaiSubscriptionConnected = false,
57810
57875
  eligibleSubscriptionModels,
57811
57876
  onSelectMode,
57877
+ onSelectAutomatic,
57812
57878
  onSelectEffort,
57813
- onReset
57879
+ onReset,
57880
+ resetLabel
57814
57881
  }) {
57815
57882
  const { cloudModes, chatgptModes, grokModes } = partitionModelModes(
57816
57883
  modes,
@@ -57821,6 +57888,22 @@ function ModelSelectorSheet({
57821
57888
  return /* @__PURE__ */ jsx(Sheet, { open, onOpenChange, children: /* @__PURE__ */ jsxs(SheetContent, { side: "bottom", className: "gap-0 p-0", "aria-describedby": void 0, children: [
57822
57889
  /* @__PURE__ */ jsx(SheetHeader, { className: "shrink-0 gap-1 px-4 pt-3 pb-3", children: /* @__PURE__ */ jsx(SheetTitle, { children: "Model" }) }),
57823
57890
  /* @__PURE__ */ jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto scrollbar p-2", children: [
57891
+ showModelSelector && onSelectAutomatic && /* @__PURE__ */ jsxs(
57892
+ "button",
57893
+ {
57894
+ type: "button",
57895
+ onClick: onSelectAutomatic,
57896
+ "aria-pressed": selectedModeKey === AUTOMATIC_MODE,
57897
+ className: "flex min-h-11 w-full items-center justify-between gap-3 rounded-lg px-3 py-2 text-left transition-colors hover:bg-accent",
57898
+ children: [
57899
+ /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-2.5", children: [
57900
+ /* @__PURE__ */ jsx(SparklesThreeIcon, { className: "size-4 shrink-0 text-muted-foreground" }),
57901
+ /* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium", children: "Auto" })
57902
+ ] }),
57903
+ selectedModeKey === AUTOMATIC_MODE ? /* @__PURE__ */ jsx(Checkmark1Icon, { className: "size-4 shrink-0 text-foreground" }) : null
57904
+ ]
57905
+ }
57906
+ ),
57824
57907
  showModelSelector && visibleModes.map((mode, index) => {
57825
57908
  const connection = mode.provider === "codex" ? codexConnect : mode.provider === "xai" ? xaiConnect : void 0;
57826
57909
  const checking = mode.provider === "openai-codex" && chatGptSubscriptionConnected && eligibleSubscriptionModels === void 0;
@@ -57907,7 +57990,7 @@ function ModelSelectorSheet({
57907
57990
  onClick: onReset,
57908
57991
  className: "flex min-h-11 w-full items-center justify-between gap-3 rounded-lg px-3 py-2 text-left text-sm transition-colors hover:bg-accent",
57909
57992
  children: [
57910
- /* @__PURE__ */ jsx("span", { children: "Reset to default" }),
57993
+ /* @__PURE__ */ jsx("span", { children: resetLabel }),
57911
57994
  /* @__PURE__ */ jsx(ArrowRotateClockwiseIcon, { className: "size-4 shrink-0 text-muted-foreground" })
57912
57995
  ]
57913
57996
  }
@@ -57923,6 +58006,8 @@ function ModelSelector({
57923
58006
  disabled,
57924
58007
  sessionKey,
57925
58008
  defaultMode,
58009
+ automatic = false,
58010
+ pending = false,
57926
58011
  variant = "default",
57927
58012
  codexConnect,
57928
58013
  chatGptSubscriptionConnected = false,
@@ -57959,7 +58044,9 @@ function ModelSelector({
57959
58044
  const triggerRef = useRef(null);
57960
58045
  const [openWidth, setOpenWidth] = useState();
57961
58046
  const isMobile = useIsMobile();
57962
- const current = modeMap.get(currentMode) ?? visibleModes[0];
58047
+ const onAutomatic = automatic && currentMode === AUTOMATIC_MODE;
58048
+ const waiting = pending && !automatic && currentMode === AUTOMATIC_MODE;
58049
+ const current = onAutomatic || waiting ? void 0 : modeMap.get(currentMode) ?? visibleModes[0];
57963
58050
  const effortOptions = getModeEffortOptions(current);
57964
58051
  const defaultEffort = current?.reasoning?.defaultEffort ?? effortOptions[0];
57965
58052
  const activeEffort = reasoningEffort ?? defaultEffort;
@@ -57975,16 +58062,17 @@ function ModelSelector({
57975
58062
  if (!showModelSelector && !showEffort) return null;
57976
58063
  const isRail = variant === "rail";
57977
58064
  const effortLabel = showEffort && activeEffort ? EFFORT_LABELS[activeEffort] ?? activeEffort : null;
57978
- const modelLabel = current ? getShortDisplayName(current) : currentMode;
58065
+ const modelLabel = onAutomatic ? "Auto" : waiting ? "Model" : current ? getShortDisplayName(current) : currentMode;
57979
58066
  const defaultModeEntry = (defaultMode ? modeMap.get(defaultMode) : void 0) ?? visibleModes[0];
57980
58067
  const selectedModeKey = current?.key ?? currentMode;
57981
- const isDefaultModel = !showModelSelector || selectedModeKey === defaultModeEntry?.key;
58068
+ const isDefaultModel = !showModelSelector || selectedModeKey === (automatic ? AUTOMATIC_MODE : defaultModeEntry?.key);
57982
58069
  const isDefaultEffort = !showEffort || reasoningEffort == null || reasoningEffort === defaultEffort;
57983
58070
  const showReset = !isDefaultModel || !isDefaultEffort;
57984
58071
  const resetModel = showModelSelector ? defaultModeEntry : current;
57985
58072
  const resetEfforts = getModeEffortOptions(resetModel);
57986
58073
  const resetEffort = resetEfforts.length > 0 ? resetModel?.reasoning?.defaultEffort ?? resetEfforts[0] : void 0;
57987
- const defaultSummary = [
58074
+ const resetLabel = automatic ? "Return to Auto" : "Reset to default";
58075
+ const defaultSummary = automatic ? "Auto" : [
57988
58076
  resetModel ? getDisplayName(resetModel) : void 0,
57989
58077
  resetEffort ? EFFORT_LABELS[resetEffort] ?? resetEffort : void 0
57990
58078
  ].filter(Boolean).join(" \xB7 ");
@@ -58020,7 +58108,19 @@ function ModelSelector({
58020
58108
  applyEffort(effort);
58021
58109
  setOpen(false);
58022
58110
  };
58111
+ const handleSelectAutomatic = () => {
58112
+ if (!onAutomatic) {
58113
+ setReasoningEffort(sessionKey, null);
58114
+ onEffortChange?.(null);
58115
+ onModeChange(AUTOMATIC_MODE);
58116
+ }
58117
+ setOpen(false);
58118
+ };
58023
58119
  const handleReset = ({ keepOpen = false } = {}) => {
58120
+ if (automatic) {
58121
+ handleSelectAutomatic();
58122
+ return;
58123
+ }
58024
58124
  if (showEffort) {
58025
58125
  setReasoningEffort(sessionKey, null);
58026
58126
  onEffortChange?.(null);
@@ -58037,24 +58137,24 @@ function ModelSelector({
58037
58137
  const showsOpenModel = open && choosingModel && current !== void 0;
58038
58138
  const centerLabel = open && !showsOpenModel;
58039
58139
  const triggerLabel = open ? showsOpenModel && current ? /* @__PURE__ */ jsx("span", { className: cn(getStyleTextClass(current.style), "truncate"), children: getBrandlessDisplayName(current) }) : /* @__PURE__ */ jsx("span", { className: "font-normal text-muted-foreground", children: choosingModel ? "Select model" : "Select effort" }) : /* @__PURE__ */ jsxs("span", { className: cn("inline-flex items-center gap-1.5", condensed && "flex min-w-0"), children: [
58040
- showModelSelector ? /* @__PURE__ */ jsx("span", { className: cn(getStyleTextClass(current?.style), condensed && "truncate"), children: current ? getBrandlessDisplayName(current) : currentMode }) : null,
58140
+ showModelSelector ? /* @__PURE__ */ jsx("span", { className: cn(getStyleTextClass(current?.style), condensed && "truncate"), children: current ? getBrandlessDisplayName(current) : modelLabel }) : null,
58041
58141
  effortLabel ? /* @__PURE__ */ jsx("span", { className: cn(showModelSelector && "text-muted-foreground", condensed && "shrink-0"), children: effortLabel }) : null
58042
58142
  ] });
58043
- const ariaLabel = !showModelSelector ? `Reasoning effort ${effortLabel}` : effortLabel ? `Model ${modelLabel}, effort ${effortLabel}` : `Model ${modelLabel}`;
58143
+ const ariaLabel = waiting ? "Model, loading" : !showModelSelector ? `Reasoning effort ${effortLabel}` : effortLabel ? `Model ${modelLabel}, effort ${effortLabel}` : `Model ${modelLabel}`;
58044
58144
  const contextAriaLabel = context ? context.compacting ? `${ariaLabel}, compacting context` : `${ariaLabel}, context ${Math.round(context.percent)}% used` : ariaLabel;
58045
58145
  const showTriggerIcon = open ? showsOpenModel : showModelSelector || Boolean(context);
58046
- const triggerIcon = current && showTriggerIcon ? /* @__PURE__ */ jsx(
58146
+ const triggerIcon = !showTriggerIcon ? null : current ? /* @__PURE__ */ jsx(
58047
58147
  ModelIcon,
58048
58148
  {
58049
58149
  row: modeToBrandRow(current),
58050
58150
  className: "size-3! shrink-0 text-muted-foreground"
58051
58151
  }
58052
- ) : null;
58152
+ ) : onAutomatic ? /* @__PURE__ */ jsx(SparklesThreeIcon, { className: "size-3! shrink-0 text-muted-foreground" }) : null;
58053
58153
  const renderTrigger = (extra) => isRail ? /* @__PURE__ */ jsx(
58054
58154
  ComposerRailTrigger,
58055
58155
  {
58056
58156
  ref: triggerRef,
58057
- disabled,
58157
+ disabled: disabled || waiting,
58058
58158
  className: cn(condensed && "min-w-0 shrink", open && OPEN_TRIGGER_CLASS),
58059
58159
  style: open && openWidth ? { width: openWidth } : void 0,
58060
58160
  labelClassName: centerLabel ? "flex-1 text-center" : void 0,
@@ -58067,7 +58167,7 @@ function ModelSelector({
58067
58167
  Button,
58068
58168
  {
58069
58169
  type: "button",
58070
- disabled,
58170
+ disabled: disabled || waiting,
58071
58171
  variant: "ghost",
58072
58172
  size: "sm",
58073
58173
  ref: triggerRef,
@@ -58104,8 +58204,10 @@ function ModelSelector({
58104
58204
  xaiSubscriptionConnected,
58105
58205
  eligibleSubscriptionModels,
58106
58206
  onSelectMode: handleSelectMode,
58207
+ onSelectAutomatic: automatic ? handleSelectAutomatic : void 0,
58107
58208
  onSelectEffort: handleSelectEffort,
58108
- onReset: () => handleReset()
58209
+ onReset: () => handleReset(),
58210
+ resetLabel
58109
58211
  }
58110
58212
  )
58111
58213
  ] });
@@ -58126,12 +58228,14 @@ function ModelSelector({
58126
58228
  showEffort,
58127
58229
  showReset,
58128
58230
  defaultSummary,
58231
+ resetLabel,
58129
58232
  codexConnect,
58130
58233
  chatGptSubscriptionConnected,
58131
58234
  xaiConnect,
58132
58235
  xaiSubscriptionConnected,
58133
58236
  eligibleSubscriptionModels,
58134
58237
  onSelectMode: handleSelectMode,
58238
+ onSelectAutomatic: automatic ? handleSelectAutomatic : void 0,
58135
58239
  onSelectEffort: applyEffort,
58136
58240
  onReset: handleReset,
58137
58241
  view: menuView,
@@ -61683,6 +61787,8 @@ function ChatInputBar({
61683
61787
  modes,
61684
61788
  modelMode = "standard",
61685
61789
  defaultMode,
61790
+ automaticRouting = false,
61791
+ modelChoicePending = false,
61686
61792
  onModelModeChange,
61687
61793
  approvalMode = "auto",
61688
61794
  onApprovalModeChange,
@@ -62041,6 +62147,8 @@ function ChatInputBar({
62041
62147
  disabled: isDisabled,
62042
62148
  sessionKey,
62043
62149
  defaultMode,
62150
+ automatic: automaticRouting,
62151
+ pending: modelChoicePending,
62044
62152
  variant: "rail",
62045
62153
  codexConnect: hasCodexMode ? {
62046
62154
  connected: codexConnected,
@@ -63111,6 +63219,8 @@ function ChatInput({
63111
63219
  modes,
63112
63220
  modelMode,
63113
63221
  defaultMode,
63222
+ automaticRouting,
63223
+ modelChoicePending,
63114
63224
  onModelModeChange,
63115
63225
  approvalMode,
63116
63226
  onApprovalModeChange,
@@ -63170,6 +63280,8 @@ function ChatInput({
63170
63280
  modes,
63171
63281
  modelMode,
63172
63282
  defaultMode,
63283
+ automaticRouting,
63284
+ modelChoicePending,
63173
63285
  onModelModeChange,
63174
63286
  approvalMode,
63175
63287
  onApprovalModeChange,
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { MagnifyingGlassIcon } from './chunk-X3QVICX7.js';
3
3
  import { Sheet, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent } from './chunk-T5SANYSX.js';
4
- import { useIsMobile, useTranslation } from './chunk-7AT2LRVW.js';
4
+ import { useIsMobile, useTranslation } from './chunk-T4RG6NMW.js';
5
5
  import { CrossMediumIcon } from './chunk-2P4IEVOQ.js';
6
6
  import { AgentAvatar } from './chunk-PUMRNN3R.js';
7
7
  import { cn, Checkmark1Icon } from './chunk-LGVMMBL3.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
3
3
  import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-T5SANYSX.js';
4
- import { useIsMobile, useTranslation } from './chunk-7AT2LRVW.js';
4
+ import { useIsMobile, useTranslation } from './chunk-T4RG6NMW.js';
5
5
  import { ToolCallItem, ProcessorIcon } from './chunk-QBV7MAFV.js';
6
6
  import { toolKindVerb, getToolMeta, Shimmer, Collapse, ToolGroupReasoningItem, SkillToolItem, DeviceDesktopIcon, WorldSearchIcon, FileTextIcon, useStreamdownPlugins, CircleXIcon, STREAMDOWN_LINK_SAFETY, Folder1Icon, AppIconFrame, AppIcon, Collapsible, CollapsibleTrigger, CollapsibleContent, SquareArrowTopRightIcon, Icon } from './chunk-PKNEC4LJ.js';
7
7
  import { ChevronDownMediumIcon, Button, Skeleton, buttonVariants } from './chunk-UWKO24VT.js';
@@ -15948,17 +15948,34 @@ function MessageDecisionCards({
15948
15948
  })
15949
15949
  ] });
15950
15950
  }
15951
+ var NavigationGuardContext = createContext(null);
15952
+ function useNavigationGuard() {
15953
+ return useContext(NavigationGuardContext);
15954
+ }
15955
+
15956
+ // ../platform-kit/src/lib/platform-navigation.ts
15951
15957
  function usePathname2() {
15952
15958
  return applicationPathname(usePathname() ?? "/");
15953
15959
  }
15954
15960
  function useRouter2() {
15955
15961
  const router = useRouter();
15962
+ const guard = useNavigationGuard();
15956
15963
  return useMemo(() => ({
15957
15964
  ...router,
15958
- push: (href, options) => options === void 0 ? router.push(currentScopedHref(href)) : router.push(currentScopedHref(href), options),
15959
- replace: (href, options) => options === void 0 ? router.replace(currentScopedHref(href)) : router.replace(currentScopedHref(href), options),
15965
+ push: (href, options) => {
15966
+ const scoped = currentScopedHref(href);
15967
+ if (guard?.intercept(scoped, { scroll: options?.scroll })) return;
15968
+ if (options === void 0) router.push(scoped);
15969
+ else router.push(scoped, options);
15970
+ },
15971
+ replace: (href, options) => {
15972
+ const scoped = currentScopedHref(href);
15973
+ if (guard?.intercept(scoped, { replace: true, scroll: options?.scroll })) return;
15974
+ if (options === void 0) router.replace(scoped);
15975
+ else router.replace(scoped, options);
15976
+ },
15960
15977
  prefetch: (href, options) => options === void 0 ? router.prefetch(currentScopedHref(href)) : router.prefetch(currentScopedHref(href), options)
15961
- }), [router]);
15978
+ }), [router, guard]);
15962
15979
  }
15963
15980
  function Images1Icon2(props) {
15964
15981
  return /* @__PURE__ */ jsx(
@@ -18515,8 +18532,9 @@ function buildConsolePath(workspaceSlug, segment) {
18515
18532
  return `${base}/${segment.replace(/^\/+/, "")}`;
18516
18533
  }
18517
18534
  var PlatformLink = forwardRef(
18518
- function PlatformLink2({ href, ...props }, ref) {
18535
+ function PlatformLink2({ href, onNavigate, ...props }, ref) {
18519
18536
  const pathname = usePathname() ?? "/";
18537
+ const guard = useNavigationGuard();
18520
18538
  let scoped = href;
18521
18539
  if (typeof href === "string") scoped = scopePlatformHref(href, pathname);
18522
18540
  else if (href.pathname && !href.host && !href.hostname && !href.protocol) {
@@ -18524,10 +18542,25 @@ var PlatformLink = forwardRef(
18524
18542
  const [scopedPathname, search] = scopedPath.split("?");
18525
18543
  scoped = search ? { ...href, pathname: scopedPathname, search: `?${search}` } : { ...href, pathname: scopedPathname };
18526
18544
  }
18527
- return /* @__PURE__ */ jsx(next_shims_default, { ...props, href: scoped, ref });
18545
+ const guarded = (event) => {
18546
+ let cancelled2 = false;
18547
+ onNavigate?.({ preventDefault: () => {
18548
+ cancelled2 = true;
18549
+ event.preventDefault();
18550
+ } });
18551
+ if (cancelled2 || !guard) return;
18552
+ const target = typeof scoped === "string" ? scoped : formatHref(scoped);
18553
+ if (target && guard.intercept(target)) event.preventDefault();
18554
+ };
18555
+ return /* @__PURE__ */ jsx(next_shims_default, { ...props, href: scoped, onNavigate: guarded, ref });
18528
18556
  }
18529
18557
  );
18530
18558
  var platform_link_default = PlatformLink;
18559
+ function formatHref(href) {
18560
+ if (!href.pathname) return null;
18561
+ const search = typeof href.search === "string" ? href.search : "";
18562
+ return `${href.pathname}${search}`;
18563
+ }
18531
18564
 
18532
18565
  // ../platform-kit/src/ui/shell/platform/use-platform-surface.ts
18533
18566
  function useWorkspaceSlug() {
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { MagnifyingGlassIcon } from './chunk-X3QVICX7.js';
3
- 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-EFFOOCIK.js';
3
+ 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-M65T2M4P.js';
4
4
  import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-T5SANYSX.js';
5
- import { useTranslation, useIsMobile } from './chunk-7AT2LRVW.js';
5
+ import { useTranslation, useIsMobile } from './chunk-T4RG6NMW.js';
6
6
  import { Collapsible, CollapsibleTrigger, CollapsibleContent, Shimmer, HoverCard, HoverCardTrigger, HoverCardContent } from './chunk-PKNEC4LJ.js';
7
7
  import { ChevronDownMediumIcon, ScrollArea, Skeleton, Button } from './chunk-UWKO24VT.js';
8
8
  import { Dialog, DialogContent, DialogHeader, DialogTitle, CrossMediumIcon } from './chunk-2P4IEVOQ.js';
@@ -1,7 +1,7 @@
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, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, CircleCheckIcon, agentRoutineKeys, LoaderIcon, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-EFFOOCIK.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, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, CircleCheckIcon, agentRoutineKeys, LoaderIcon, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-M65T2M4P.js';
3
3
  import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-T5SANYSX.js';
4
- import { useIsMobile, useTranslation } from './chunk-7AT2LRVW.js';
4
+ import { useIsMobile, useTranslation } from './chunk-T4RG6NMW.js';
5
5
  import { MessageToolbar, MessageResponse, SquareArrowTopRightIcon, FileTextIcon, Shimmer, ClipboardIcon, Message, MessageContent, PencilIcon, deferDuringLayoutMotion, HoverCard, HoverCardTrigger, HoverCardContent, Collapse, Icon, CircleXIcon, ClockIcon } from './chunk-PKNEC4LJ.js';
6
6
  import { ChevronDownMediumIcon, Button, ScrollArea, Skeleton } from './chunk-UWKO24VT.js';
7
7
  import { CrossMediumIcon } from './chunk-2P4IEVOQ.js';