@frontera-sdk/chat-ui 1.53.25 → 1.53.27

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,20 +1,20 @@
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-PU75S6NF.js';
5
- import { NewSessionPrompt, keepCaretOnTap } from './chunk-FBDBLAX5.js';
4
+ import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-EK6EYBTA.js';
5
+ import { NewSessionPrompt, keepCaretOnTap } from './chunk-QAXXD7LQ.js';
6
6
  import { PendingCards } from './chunk-A4GIIAMQ.js';
7
7
  import { themeToStyle } from './chunk-6HYPVNVA.js';
8
8
  import { useChatAgents } from './chunk-NDU6ERVT.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-JIOJ6VJ4.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-GGIFLPU5.js';
14
- import { Textarea, resolveChatHost, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, ChatHostProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, useChatSurfaceProvider, 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, useChatHost, 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-MPFDU3UN.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-6IMCJINQ.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-MLR6EJEV.js';
14
+ import { Textarea, resolveChatHost, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, ChatHostProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, useChatSurfaceProvider, 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, useChatHost, 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-IOSRUVWE.js';
15
15
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
16
- import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-RQSMCGBR.js';
17
- import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-GP43ZTG6.js';
16
+ import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-OONQIDAU.js';
17
+ import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-4Q6CR67S.js';
18
18
  import './chunk-R3ONYPUB.js';
19
19
  import { AppIcon, frontera_icon_default, PhotoIcon, Folder1Icon, FileTextIcon, describeToolRow, SquareArrowTopRightIcon, ClipboardIcon, getToolMeta, useStreamdownPlugins, AppIconFrame, MessageResponse } from './chunk-K7AIK7TA.js';
20
20
  import { Skeleton, Button, ScrollArea, ChevronDownMediumIcon, buttonVariants } from './chunk-UWKO24VT.js';
@@ -42299,11 +42299,11 @@ function fromUniver(uw) {
42299
42299
  })
42300
42300
  };
42301
42301
  }
42302
- var UniverWorkbookView = dynamic(() => import('./univer-workbook-PENO65OQ.js'), {
42302
+ var UniverWorkbookView = dynamic(() => import('./univer-workbook-AVVPMNJP.js'), {
42303
42303
  ssr: false,
42304
42304
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "sheet" })
42305
42305
  });
42306
- function SheetEditor({ content, onSave, readOnly = false }) {
42306
+ function SheetEditor({ content, onSave, readOnly = false, focusRows = null }) {
42307
42307
  const selfSaved = useRef([]);
42308
42308
  const rememberSave = useCallback((payload) => {
42309
42309
  const list2 = selfSaved.current;
@@ -42391,13 +42391,14 @@ function SheetEditor({ content, onSave, readOnly = false }) {
42391
42391
  data: initialData,
42392
42392
  onMutation: readOnly ? void 0 : handleMutation,
42393
42393
  readOnly,
42394
- darkMode: isDark
42394
+ darkMode: isDark,
42395
+ focusRows
42395
42396
  },
42396
42397
  seedTick
42397
42398
  );
42398
42399
  }
42399
42400
  var PdfDocumentViewInner = dynamic(
42400
- () => import('./pdf-document-view-inner-SW5LCGJW.js'),
42401
+ () => import('./pdf-document-view-inner-GNFEJM2W.js'),
42401
42402
  {
42402
42403
  ssr: false,
42403
42404
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "pdf" })
@@ -43218,7 +43219,7 @@ function HtmlDeckView({ content, inChat = false, versionSlot }) {
43218
43219
  !present && inChat && /* @__PURE__ */ jsx(DeckEditPanel, { currentIndex: sel, currentHtml: slides[sel]?.html ?? "" })
43219
43220
  ] });
43220
43221
  }
43221
- var Inner = dynamic(() => import('./pdf-deck-view-inner-2R6AFHKA.js'), {
43222
+ var Inner = dynamic(() => import('./pdf-deck-view-inner-5G2TATKD.js'), {
43222
43223
  ssr: false,
43223
43224
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
43224
43225
  });
@@ -43857,7 +43858,8 @@ function FileArtifactView({ artifact, version }) {
43857
43858
  function CsvSheetView({
43858
43859
  content,
43859
43860
  title,
43860
- readOnly = true
43861
+ readOnly = true,
43862
+ focusRows = null
43861
43863
  }) {
43862
43864
  const { json, truncated } = useMemo(
43863
43865
  () => csvTextToWorkbookJson(content, title),
@@ -43870,7 +43872,7 @@ function CsvSheetView({
43870
43872
  " rows \u2014 download for full data"
43871
43873
  ] }),
43872
43874
  /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsx(SheetEditor, { content: json, onSave: () => {
43873
- }, readOnly }) })
43875
+ }, readOnly, focusRows }) })
43874
43876
  ] });
43875
43877
  }
43876
43878
  function markdownDownloadFileName(fileName) {
@@ -1473,6 +1473,7 @@ var en_default = {
1473
1473
  "admin.knowledge.traces.section.setup": "Setup",
1474
1474
  "admin.knowledge.traces.nothingAsked": "Nothing: it answered",
1475
1475
  "admin.knowledge.traces.noneCited": "No sources cited.",
1476
+ "admin.knowledge.traces.citedWords": "Cited words: {found} found, {weak} weak, {missing} not found in the file",
1476
1477
  "admin.knowledge.traces.search": "Search questions\u2026",
1477
1478
  "admin.knowledge.traces.questionNotKept": "Question not kept",
1478
1479
  "admin.knowledge.traces.noMatch": "No traces match this search and these filters.",
@@ -2680,6 +2681,10 @@ var en_default = {
2680
2681
  "knowledgeApp.preview.openInSource": "Open in source",
2681
2682
  "knowledgeApp.preview.download": "Download",
2682
2683
  "knowledgeApp.preview.close": "Close preview",
2684
+ "knowledgeApp.preview.citationNotFound": "These exact words weren't found in this file.",
2685
+ "knowledgeApp.preview.citedWords": "Words cited by the answer, source {n}",
2686
+ "knowledgeApp.preview.citedWordsUnnumbered": "Words cited by the answer",
2687
+ "knowledgeApp.preview.citedInImage": "The cited words are in an image, so they can't be highlighted here. They read:",
2683
2688
  "knowledgeApp.preview.sheets": "Sheets",
2684
2689
  "knowledgeApp.preview.sheetCut": "Showing the first 1,000 rows. Download the file to see all of them.",
2685
2690
  "knowledgeApp.preview.unavailableTitle": "Preview not available",
@@ -5832,6 +5837,30 @@ var en_default = {
5832
5837
  "omnichannel.settings.fields.agentLevelMarks.read": "Agent reads",
5833
5838
  "omnichannel.settings.fields.agentLevelMarks.collect": "Agent fills",
5834
5839
  "omnichannel.settings.fields.agentLevelMarks.fill": "Agent reads and fills",
5840
+ "omnichannel.settings.fields.editNamed": "Edit {name}",
5841
+ "omnichannel.settings.fields.deleteField": "Delete field",
5842
+ "omnichannel.settings.fields.agentLevelShort.hidden": "Only your team sees and fills it",
5843
+ "omnichannel.settings.fields.agentLevelShort.read": "The Agent sees it; only your team fills it",
5844
+ "omnichannel.settings.fields.agentLevelShort.collect": "The Agent saves it but never sees it",
5845
+ "omnichannel.settings.fields.agentLevelShort.fill": "The Agent sees it and saves it",
5846
+ "omnichannel.settings.fields.preview.label": "Preview",
5847
+ "omnichannel.settings.fields.preview.inDetails": "In Details, beside a chat",
5848
+ "omnichannel.settings.fields.preview.inChat": "In a chat with the Agent",
5849
+ "omnichannel.settings.fields.preview.unnamed": "This field",
5850
+ "omnichannel.settings.fields.preview.choose": "Choose",
5851
+ "omnichannel.settings.fields.preview.sample.text": "An answer",
5852
+ "omnichannel.settings.fields.preview.sample.number": "3",
5853
+ "omnichannel.settings.fields.preview.sample.date": "1 March",
5854
+ "omnichannel.settings.fields.preview.chat.hidden.note": "The Agent isn't told about {name}. Only your team sees and fills it under Details.",
5855
+ "omnichannel.settings.fields.preview.chat.read.customer": "What's my {name}?",
5856
+ "omnichannel.settings.fields.preview.chat.read.agent": "Your {name} is {value}.",
5857
+ "omnichannel.settings.fields.preview.chat.read.note": "The Agent reads {name} to answer and doesn't ask for it again. Only your team changes it.",
5858
+ "omnichannel.settings.fields.preview.chat.collect.customer": "My {name} is {value}.",
5859
+ "omnichannel.settings.fields.preview.chat.collect.agent": "Thanks, I've saved that.",
5860
+ "omnichannel.settings.fields.preview.chat.collect.note": "The Agent saves what the customer says and knows it's filled, but never sees the value, so it can't repeat it.",
5861
+ "omnichannel.settings.fields.preview.chat.fill.customer": "My {name} is {value}.",
5862
+ "omnichannel.settings.fields.preview.chat.fill.agent": "Thanks, I've noted {value} as your {name}.",
5863
+ "omnichannel.settings.fields.preview.chat.fill.note": "The Agent sees {name} and saves what the customer tells it.",
5835
5864
  "omnichannel.settings.fields.builtIn.title": "Built-in details",
5836
5865
  "omnichannel.settings.fields.builtIn.intro": "Every customer has these details as well as the fields you add. What the Agent can do with them is fixed.",
5837
5866
  "omnichannel.settings.fields.builtIn.name": "Name",
@@ -6170,6 +6199,9 @@ var en_default = {
6170
6199
  "omnichannel.inbox.sender.you": "You",
6171
6200
  "omnichannel.inbox.sender.humanAgent": "Human Agent",
6172
6201
  "omnichannel.inbox.sender.automatic": "Automatic reply",
6202
+ "omnichannel.inbox.sender.broadcast": "Broadcast",
6203
+ "omnichannel.inbox.sender.broadcastNamed": "Broadcast \xB7 {name}",
6204
+ "omnichannel.inbox.sender.kataCxApi": "Kata CX API",
6173
6205
  "omnichannel.inbox.status.pending": "Sending",
6174
6206
  "omnichannel.inbox.status.sent": "Sent",
6175
6207
  "omnichannel.inbox.status.delivered": "Delivered",
@@ -6299,7 +6331,7 @@ var en_default = {
6299
6331
  "omnichannel.inbox.composer.noteFailed": "The note was not added",
6300
6332
  "omnichannel.inbox.composer.closing": "Reply window: {hours} h left",
6301
6333
  "omnichannel.inbox.composer.closingSoon": "Reply window: less than 1 h left",
6302
- "omnichannel.inbox.composer.lowCredit": "This channel is low on message credit: {credit} left. Ask a Supervisor to top it up.",
6334
+ "omnichannel.inbox.composer.lowCreditAsk": "Low. Ask a Supervisor to top up.",
6303
6335
  "omnichannel.inbox.composer.takeOver": "Take over to reply",
6304
6336
  "omnichannel.inbox.composer.other": "{name} is handling this chat",
6305
6337
  "omnichannel.inbox.refused.closed": "This chat was already closed.",
@@ -6545,6 +6577,9 @@ var en_default = {
6545
6577
  "omnichannel.channels.login.passwordRequired": "Enter the password.",
6546
6578
  "omnichannel.channels.login.rejected": "Kata did not accept this login",
6547
6579
  "omnichannel.channels.login.none": "Not set",
6580
+ "omnichannel.channels.credit.balanceOf": "{kind} balance",
6581
+ "omnichannel.channels.credit.count": "{credit} credits",
6582
+ "omnichannel.channels.credit.countOne": "{credit} credit",
6548
6583
  "omnichannel.channels.credit.label": "Message credit",
6549
6584
  "omnichannel.channels.intro": "The WhatsApp numbers your customers write to. Open one to choose who answers first, its team and reply target, and to see its message credit.",
6550
6585
  "omnichannel.channels.section.answers": "Who answers",
@@ -6562,7 +6597,6 @@ var en_default = {
6562
6597
  "omnichannel.channels.credit.low": "Credit is low (at or below {threshold}). Top it up before template sends and replies stop going out.",
6563
6598
  "omnichannel.channels.credit.lowChip": "Low credit",
6564
6599
  "omnichannel.channels.credit.unavailable": "This channel's credit isn't available to show yet.",
6565
- "omnichannel.channels.credit.amountOne": "{credit} credit left",
6566
6600
  "omnichannel.channels.credit.checkedOn": "Checked {time}",
6567
6601
  "omnichannel.channels.credit.error.login": "Kata refused this channel's login, so the credit couldn't be read. Check the channel's Kata username and password.",
6568
6602
  "omnichannel.channels.credit.error.busy": "Kata is busy, so the credit couldn't be read. Try again in a minute.",
@@ -6573,6 +6607,22 @@ var en_default = {
6573
6607
  "omnichannel.channels.login.saved": "Login changed",
6574
6608
  "omnichannel.channels.error.unreachable": "Kata could not be reached. Try again.",
6575
6609
  "omnichannel.channels.error.failed": "The change could not be saved. Try again.",
6610
+ "omnichannel.channels.kataCx.title": "Kata CX",
6611
+ "omnichannel.channels.kataCx.description": "Show the templates this number sends from Kata CX, through Broadcast or the API, in the chats its customers already have here, and keep its credit current.",
6612
+ "omnichannel.channels.kataCx.notConnected": "Not connected. Templates sent from Kata CX don't show here.",
6613
+ "omnichannel.channels.kataCx.wasDisconnected": "Disconnected. Connect again to show templates sent from Kata CX.",
6614
+ "omnichannel.channels.kataCx.connect": "Connect",
6615
+ "omnichannel.channels.kataCx.codeTitle": "Connection code",
6616
+ "omnichannel.channels.kataCx.codeHelp": "In Kata CX, open Integration, choose Frontera for this number and paste the code. It works once, for {time} more.",
6617
+ "omnichannel.channels.kataCx.connected": "Connected",
6618
+ "omnichannel.channels.kataCx.connectedToast": "Connected to Kata CX",
6619
+ "omnichannel.channels.kataCx.lastMessage": "Last template received {time}",
6620
+ "omnichannel.channels.kataCx.noMessages": "No template received yet",
6621
+ "omnichannel.channels.kataCx.disconnect": "Disconnect",
6622
+ "omnichannel.channels.kataCx.disconnectTitle": "Disconnect Kata CX?",
6623
+ "omnichannel.channels.kataCx.disconnectBody": "Templates sent from Kata CX stop showing in this number's chats. Those already shown stay. You can connect again with a new code.",
6624
+ "omnichannel.channels.kataCx.disconnected": "Disconnected from Kata CX",
6625
+ "omnichannel.channels.kataCx.loadError": "The connection could not be loaded.",
6576
6626
  "omnichannel.channels.address.title": "Send this address to Kata Support",
6577
6627
  "omnichannel.channels.address.copy": "Copy",
6578
6628
  "omnichannel.channels.address.copied": "Copied",
@@ -6657,26 +6707,27 @@ var en_default = {
6657
6707
  "omnichannel.members.confirm.cancel": "Cancel",
6658
6708
  "omnichannel.members.confirm.action": "Take away role",
6659
6709
  "omnichannel.teams.title": "Teams",
6660
- "omnichannel.teams.intro": "Group the people who answer chats into teams. A person can be in more than one team.",
6710
+ "omnichannel.teams.intro": "Group the people who answer chats. The Agent reads what each team handles to choose where a handover goes.",
6661
6711
  "omnichannel.teams.overAgentLimit": "More than {count} teams have members. The Agent sees only the first {count} by name when it hands a chat over; a handover that fits another team goes to the channel's default team.",
6662
6712
  "omnichannel.teams.new": "New team",
6663
6713
  "omnichannel.teams.empty": "No teams yet.",
6664
- "omnichannel.teams.column.name": "Name",
6665
- "omnichannel.teams.column.members": "Members",
6666
- "omnichannel.teams.noMembers": "No members",
6714
+ "omnichannel.teams.emptyBody": "Create a team, add the people who answer its chats and say what it handles.",
6715
+ "omnichannel.teams.noMembersQueue": "No members \xB7 its chats wait in the general queue",
6716
+ "omnichannel.teams.onlineOf": "{online} of {count} online",
6717
+ "omnichannel.teams.nobodyOnline": "Nobody online",
6718
+ "omnichannel.teams.footnote": "A person can be in more than one team. Each channel's default team takes handovers the Agent can't place; set it in Channels.",
6667
6719
  "omnichannel.teams.formerMember": "Someone no longer in this workspace",
6668
6720
  "omnichannel.teams.dialog.createTitle": "New team",
6669
- "omnichannel.teams.dialog.editTitle": "Edit team",
6670
6721
  "omnichannel.teams.dialog.description": "Name the team and choose the people in it.",
6671
6722
  "omnichannel.teams.dialog.name": "Name",
6672
- "omnichannel.teams.dialog.handles": "Handles",
6723
+ "omnichannel.teams.dialog.handles": "What it handles",
6673
6724
  "omnichannel.teams.dialog.handlesPlaceholder": "Billing, refunds, invoices",
6674
6725
  "omnichannel.teams.dialog.handlesHint": "What this team handles. The Agent reads it to choose the team when it hands a chat over.",
6675
6726
  "omnichannel.teams.dialog.nameRequired": "Enter a name.",
6676
6727
  "omnichannel.teams.dialog.nameTaken": "A team with this name already exists.",
6677
6728
  "omnichannel.teams.dialog.members": "Members",
6678
6729
  "omnichannel.teams.dialog.selected": "{count} selected",
6679
- "omnichannel.teams.dialog.searchPeople": "Search people",
6730
+ "omnichannel.teams.dialog.searchPeople": "Search by name or email",
6680
6731
  "omnichannel.teams.dialog.noPeople": "No people found.",
6681
6732
  "omnichannel.teams.save": "Save",
6682
6733
  "omnichannel.teams.saving": "Saving\u2026",
@@ -6685,22 +6736,36 @@ var en_default = {
6685
6736
  "omnichannel.teams.saved": "Team saved",
6686
6737
  "omnichannel.teams.saveError": "The team could not be saved. Try again.",
6687
6738
  "omnichannel.teams.delete": "Delete",
6688
- "omnichannel.teams.deleteLabel": "Delete {name}",
6689
6739
  "omnichannel.teams.deleteTitle": "Delete {name}?",
6690
6740
  "omnichannel.teams.deleteDescription": "Chats waiting for this team go to the general queue. The people in it stay in the workspace.",
6691
6741
  "omnichannel.teams.deleted": "Team deleted",
6692
6742
  "omnichannel.teams.deleteError": "The team could not be deleted. Try again.",
6693
- "omnichannel.teams.column.routing": "Routing",
6694
6743
  "omnichannel.teams.routingWithCapacity": "{method} \xB7 up to {count} chats each",
6695
- "omnichannel.teams.dialog.routing": "Routing method",
6744
+ "omnichannel.teams.dialog.routing": "Offer each chat",
6696
6745
  "omnichannel.teams.routing.least_loaded": "Least loaded",
6697
6746
  "omnichannel.teams.routing.round_robin": "Round robin",
6698
6747
  "omnichannel.teams.routing.least_loadedHint": "Each chat goes to the Online member with the fewest open chats.",
6699
6748
  "omnichannel.teams.routing.round_robinHint": "Chats go to Online members in turn.",
6700
- "omnichannel.teams.dialog.capacity": "Capacity",
6749
+ "omnichannel.teams.dialog.capacity": "Open chats per person",
6701
6750
  "omnichannel.teams.dialog.noLimit": "No limit",
6702
- "omnichannel.teams.dialog.capacityHint": "The most open chats each member takes. Further chats wait until a member has room.",
6751
+ "omnichannel.teams.dialog.capacityHint": "1 to 100, or empty for no limit.",
6703
6752
  "omnichannel.teams.dialog.capacityInvalid": "Enter a whole number from 1 to 100, or leave it empty for no limit.",
6753
+ "omnichannel.teams.create": "Create team",
6754
+ "omnichannel.teams.dialog.deleteTeam": "Delete team",
6755
+ "omnichannel.teams.dialog.offer.least_loaded": "To the least busy",
6756
+ "omnichannel.teams.dialog.offer.round_robin": "In turn",
6757
+ "omnichannel.teams.dialog.nobodySelected": "Nobody selected",
6758
+ "omnichannel.teams.dialog.show": "Show",
6759
+ "omnichannel.teams.dialog.showEveryone": "Everyone",
6760
+ "omnichannel.teams.dialog.showTeam": "In this team",
6761
+ "omnichannel.teams.dialog.person": "Person",
6762
+ "omnichannel.teams.dialog.now": "Now",
6763
+ "omnichannel.teams.dialog.openChats": "Open chats",
6764
+ "omnichannel.teams.dialog.nobodyInTeam": "Nobody in this team yet.",
6765
+ "omnichannel.teams.dialog.notOpened": "Hasn't opened Omnichannel yet",
6766
+ "omnichannel.teams.dialog.presenceError": "Who is Online and their open chats could not be loaded.",
6767
+ "omnichannel.teams.dialog.openChatsCount": "{count} open chats",
6768
+ "omnichannel.teams.dialog.openChatsOne": "1 open chat",
6704
6769
  "omnichannel.supervisorOnly.title": "Only Supervisors can open this page",
6705
6770
  "omnichannel.supervisorOnly.body": "Ask a workspace owner or admin if you need it.",
6706
6771
  "omnichannel.unavailable.title": "Omnichannel is not available here",
@@ -6806,7 +6871,7 @@ var en_default = {
6806
6871
  "omnichannel.settings.conflict.merged": "Their changes to {sections} are now in the form, so saving keeps them.",
6807
6872
  "omnichannel.settings.conflict.survey": "Another Supervisor saved the survey while you were editing. Your changes are still here: Replace theirs saves yours over their version, and Discard shows theirs.",
6808
6873
  "omnichannel.settings.section.lifecycle": "Lifecycle",
6809
- "omnichannel.settings.lifecycle.intro": "Where each customer stands as a lead, in the order a lead moves through. Your team moves customers from stage to stage; new customers start in the default stage.",
6874
+ "omnichannel.settings.lifecycle.intro": "The stages a lead moves through, in order. Drag a stage to reorder it; new customers start in the default stage.",
6810
6875
  "omnichannel.settings.lifecycle.enabled": "Track leads by stage",
6811
6876
  "omnichannel.settings.lifecycle.enabledHint": "Shows each customer's stage in the inbox and Reports, and lists the leads that need a follow-up. Turning it off keeps your stages and every customer's stage.",
6812
6877
  "omnichannel.settings.lifecycle.turnedOn": "Lifecycle stages are on",
@@ -6846,8 +6911,14 @@ var en_default = {
6846
6911
  "omnichannel.settings.lifecycle.followUpAfter": "Follow up after {count} days",
6847
6912
  "omnichannel.settings.lifecycle.customersOne": "1 customer",
6848
6913
  "omnichannel.settings.lifecycle.customersOther": "{count} customers",
6849
- "omnichannel.settings.lifecycle.moveUp": "Move {name} up",
6850
- "omnichannel.settings.lifecycle.moveDown": "Move {name} down",
6914
+ "omnichannel.settings.lifecycle.dragLabel": "Drag to reorder {name}",
6915
+ "omnichannel.settings.lifecycle.dragInstructions": "To pick up a stage, press Space or Enter. Move it with the arrow keys, then press Space or Enter to drop it, or Escape to cancel.",
6916
+ "omnichannel.settings.lifecycle.reordered": "Order saved: {name} is now {position} of {count}",
6917
+ "omnichannel.settings.lifecycle.undo": "Undo",
6918
+ "omnichannel.settings.lifecycle.announce.pickedUp": "Picked up {name}, position {position} of {count}.",
6919
+ "omnichannel.settings.lifecycle.announce.over": "{name} moved to position {position} of {count}.",
6920
+ "omnichannel.settings.lifecycle.announce.dropped": "{name} dropped at position {position} of {count}.",
6921
+ "omnichannel.settings.lifecycle.announce.cancelled": "Moving {name} cancelled.",
6851
6922
  "omnichannel.settings.lifecycle.reorderFailed": "Couldn't move the stage",
6852
6923
  "omnichannel.settings.lifecycle.deleteTitle": "Delete \u201C{name}\u201D?",
6853
6924
  "omnichannel.settings.lifecycle.deleteBody": "No customer is in this stage. Customers' history keeps it.",
@@ -8113,6 +8184,11 @@ Use Add a rule to build them from lists.`,
8113
8184
  "knowledgeApp.answer.commentPlaceholder": "Add a comment (optional)",
8114
8185
  "knowledgeApp.answer.ownersSee": "The file owner will see your name and feedback.",
8115
8186
  "knowledgeApp.answer.send": "Send",
8187
+ "knowledgeApp.answer.report": "Report a problem",
8188
+ "knowledgeApp.answer.reportSource": "Report a problem with {title}",
8189
+ "knowledgeApp.answer.reportTitle": "What's wrong with this file?",
8190
+ "knowledgeApp.answer.reportSent": "Report sent to the file owner",
8191
+ "knowledgeApp.answer.reportFailed": "The report could not be sent.",
8116
8192
  "knowledgeApp.comments.title": "Comments",
8117
8193
  "knowledgeApp.comments.description": "Visible to everyone with access to this file",
8118
8194
  "knowledgeApp.comments.button": "Comments",
@@ -8171,6 +8247,7 @@ Use Add a rule to build them from lists.`,
8171
8247
  "knowledgeApp.myFiles.feedback": "Feedback",
8172
8248
  "knowledgeApp.feedback.by": "Feedback from {name}",
8173
8249
  "knowledgeApp.feedback.empty": "No feedback yet",
8250
+ "knowledgeApp.feedback.fromReports": "Reports on this file from AI answers show here.",
8174
8251
  "knowledgeApp.feedback.noResolved": "No resolved feedback",
8175
8252
  "knowledgeApp.feedback.buttonCount": "Feedback ({count})",
8176
8253
  "knowledgeApp.feedback.panel": "Comments and feedback",
@@ -8178,6 +8255,7 @@ Use Add a rule to build them from lists.`,
8178
8255
  "knowledgeApp.myFiles.question": "Question",
8179
8256
  "knowledgeApp.myFiles.questionNotKept": "Question not available",
8180
8257
  "knowledgeApp.myFiles.fromTheAnswer": "From this file",
8258
+ "knowledgeApp.myFiles.showInFile": "Show in file",
8181
8259
  "knowledgeApp.myFiles.noSentences": "The answer didn't cite this file.",
8182
8260
  "knowledgeApp.myFiles.cited": "Cited at",
8183
8261
  "knowledgeApp.myFiles.openFile": "Open file",
@@ -9684,6 +9762,7 @@ var id_default = {
9684
9762
  "admin.knowledge.traces.section.setup": "Pengaturan",
9685
9763
  "admin.knowledge.traces.nothingAsked": "Tidak ada: model menjawab",
9686
9764
  "admin.knowledge.traces.noneCited": "Tidak ada sumber yang dikutip.",
9765
+ "admin.knowledge.traces.citedWords": "Kata yang dikutip: {found} ditemukan, {weak} lemah, {missing} tidak ditemukan di file",
9687
9766
  "admin.knowledge.traces.search": "Cari pertanyaan\u2026",
9688
9767
  "admin.knowledge.traces.questionNotKept": "Pertanyaan tidak disimpan",
9689
9768
  "admin.knowledge.traces.noMatch": "Tidak ada jejak yang cocok dengan pencarian dan filter ini.",
@@ -10891,6 +10970,10 @@ var id_default = {
10891
10970
  "knowledgeApp.preview.openInSource": "Buka di sumber",
10892
10971
  "knowledgeApp.preview.download": "Unduh",
10893
10972
  "knowledgeApp.preview.close": "Tutup pratinjau",
10973
+ "knowledgeApp.preview.citationNotFound": "Kata-kata persis ini tidak ditemukan di file ini.",
10974
+ "knowledgeApp.preview.citedWords": "Kata yang dikutip jawaban, sumber {n}",
10975
+ "knowledgeApp.preview.citedWordsUnnumbered": "Kata yang dikutip jawaban",
10976
+ "knowledgeApp.preview.citedInImage": "Kata yang dikutip ada di dalam gambar, jadi tidak dapat disorot di sini. Bunyinya:",
10894
10977
  "knowledgeApp.preview.sheets": "Sheet",
10895
10978
  "knowledgeApp.preview.sheetCut": "Menampilkan 1.000 baris pertama. Unduh file untuk melihat semuanya.",
10896
10979
  "knowledgeApp.preview.unavailableTitle": "Pratinjau tidak tersedia",
@@ -14024,6 +14107,30 @@ var id_default = {
14024
14107
  "omnichannel.settings.fields.agentLevelMarks.read": "Dibaca Agent",
14025
14108
  "omnichannel.settings.fields.agentLevelMarks.collect": "Diisi Agent",
14026
14109
  "omnichannel.settings.fields.agentLevelMarks.fill": "Dibaca dan diisi Agent",
14110
+ "omnichannel.settings.fields.editNamed": "Edit {name}",
14111
+ "omnichannel.settings.fields.deleteField": "Hapus field",
14112
+ "omnichannel.settings.fields.agentLevelShort.hidden": "Hanya tim Anda yang melihat dan mengisinya",
14113
+ "omnichannel.settings.fields.agentLevelShort.read": "Agent melihatnya; hanya tim Anda yang mengisinya",
14114
+ "omnichannel.settings.fields.agentLevelShort.collect": "Agent menyimpannya tetapi tidak pernah melihatnya",
14115
+ "omnichannel.settings.fields.agentLevelShort.fill": "Agent melihat dan menyimpannya",
14116
+ "omnichannel.settings.fields.preview.label": "Pratinjau",
14117
+ "omnichannel.settings.fields.preview.inDetails": "Di Detail, di samping chat",
14118
+ "omnichannel.settings.fields.preview.inChat": "Dalam chat dengan Agent",
14119
+ "omnichannel.settings.fields.preview.unnamed": "Field ini",
14120
+ "omnichannel.settings.fields.preview.choose": "Pilih",
14121
+ "omnichannel.settings.fields.preview.sample.text": "Sebuah jawaban",
14122
+ "omnichannel.settings.fields.preview.sample.number": "3",
14123
+ "omnichannel.settings.fields.preview.sample.date": "1 Maret",
14124
+ "omnichannel.settings.fields.preview.chat.hidden.note": "Agent tidak diberi tahu tentang {name}. Hanya tim Anda yang melihat dan mengisinya di Detail.",
14125
+ "omnichannel.settings.fields.preview.chat.read.customer": "Apa {name} saya?",
14126
+ "omnichannel.settings.fields.preview.chat.read.agent": "{name} Anda adalah {value}.",
14127
+ "omnichannel.settings.fields.preview.chat.read.note": "Agent membaca {name} untuk menjawab dan tidak menanyakannya lagi. Hanya tim Anda yang mengubahnya.",
14128
+ "omnichannel.settings.fields.preview.chat.collect.customer": "{name} saya {value}.",
14129
+ "omnichannel.settings.fields.preview.chat.collect.agent": "Terima kasih, sudah saya simpan.",
14130
+ "omnichannel.settings.fields.preview.chat.collect.note": "Agent menyimpan yang dikatakan pelanggan dan tahu field sudah terisi, tetapi tidak pernah melihat nilainya, jadi tidak bisa mengulanginya.",
14131
+ "omnichannel.settings.fields.preview.chat.fill.customer": "{name} saya {value}.",
14132
+ "omnichannel.settings.fields.preview.chat.fill.agent": "Terima kasih, {value} sudah saya catat sebagai {name} Anda.",
14133
+ "omnichannel.settings.fields.preview.chat.fill.note": "Agent melihat {name} dan menyimpan yang diberitahukan pelanggan.",
14027
14134
  "omnichannel.settings.fields.builtIn.title": "Data bawaan",
14028
14135
  "omnichannel.settings.fields.builtIn.intro": "Setiap pelanggan punya data ini selain data yang Anda tambahkan. Apa yang bisa dilakukan Agent dengan data ini sudah tetap.",
14029
14136
  "omnichannel.settings.fields.builtIn.name": "Nama",
@@ -14362,6 +14469,9 @@ var id_default = {
14362
14469
  "omnichannel.inbox.sender.you": "Anda",
14363
14470
  "omnichannel.inbox.sender.humanAgent": "Human Agent",
14364
14471
  "omnichannel.inbox.sender.automatic": "Balasan otomatis",
14472
+ "omnichannel.inbox.sender.broadcast": "Broadcast",
14473
+ "omnichannel.inbox.sender.broadcastNamed": "Broadcast \xB7 {name}",
14474
+ "omnichannel.inbox.sender.kataCxApi": "Kata CX API",
14365
14475
  "omnichannel.inbox.status.pending": "Mengirim",
14366
14476
  "omnichannel.inbox.status.sent": "Terkirim",
14367
14477
  "omnichannel.inbox.status.delivered": "Diterima",
@@ -14491,7 +14601,7 @@ var id_default = {
14491
14601
  "omnichannel.inbox.composer.noteFailed": "Catatan tidak ditambahkan",
14492
14602
  "omnichannel.inbox.composer.closing": "Jendela balasan: sisa {hours} jam",
14493
14603
  "omnichannel.inbox.composer.closingSoon": "Jendela balasan: sisa kurang dari 1 jam",
14494
- "omnichannel.inbox.composer.lowCredit": "Kredit pesan channel ini hampir habis: sisa {credit}. Minta Supervisor mengisi ulang.",
14604
+ "omnichannel.inbox.composer.lowCreditAsk": "Hampir habis. Minta Supervisor untuk top up.",
14495
14605
  "omnichannel.inbox.composer.takeOver": "Ambil alih untuk membalas",
14496
14606
  "omnichannel.inbox.composer.other": "{name} sedang menangani chat ini",
14497
14607
  "omnichannel.inbox.refused.closed": "Chat ini sudah ditutup.",
@@ -14737,6 +14847,9 @@ var id_default = {
14737
14847
  "omnichannel.channels.login.passwordRequired": "Masukkan kata sandi.",
14738
14848
  "omnichannel.channels.login.rejected": "Kata tidak menerima login ini",
14739
14849
  "omnichannel.channels.login.none": "Belum diatur",
14850
+ "omnichannel.channels.credit.balanceOf": "Saldo {kind}",
14851
+ "omnichannel.channels.credit.count": "{credit} kredit",
14852
+ "omnichannel.channels.credit.countOne": "{credit} kredit",
14740
14853
  "omnichannel.channels.credit.label": "Kredit pesan",
14741
14854
  "omnichannel.channels.intro": "Nomor WhatsApp yang dihubungi pelanggan Anda. Buka salah satunya untuk memilih siapa yang menjawab pertama, tim dan target balasannya, serta melihat kredit pesannya.",
14742
14855
  "omnichannel.channels.section.answers": "Siapa yang menjawab",
@@ -14754,7 +14867,6 @@ var id_default = {
14754
14867
  "omnichannel.channels.credit.low": "Kredit hampir habis (di bawah atau sama dengan {threshold}). Isi ulang sebelum kirim template dan balasan berhenti terkirim.",
14755
14868
  "omnichannel.channels.credit.lowChip": "Kredit rendah",
14756
14869
  "omnichannel.channels.credit.unavailable": "Kredit channel ini belum bisa ditampilkan.",
14757
- "omnichannel.channels.credit.amountOne": "Sisa {credit} kredit",
14758
14870
  "omnichannel.channels.credit.checkedOn": "Dicek {time}",
14759
14871
  "omnichannel.channels.credit.error.login": "Kata menolak login channel ini, jadi kredit tidak bisa dibaca. Periksa username dan password Kata channel ini.",
14760
14872
  "omnichannel.channels.credit.error.busy": "Kata sedang sibuk, jadi kredit tidak bisa dibaca. Coba lagi dalam satu menit.",
@@ -14765,6 +14877,22 @@ var id_default = {
14765
14877
  "omnichannel.channels.login.saved": "Login diubah",
14766
14878
  "omnichannel.channels.error.unreachable": "Kata tidak dapat dihubungi. Coba lagi.",
14767
14879
  "omnichannel.channels.error.failed": "Perubahan tidak dapat disimpan. Coba lagi.",
14880
+ "omnichannel.channels.kataCx.title": "Kata CX",
14881
+ "omnichannel.channels.kataCx.description": "Tampilkan template yang dikirim nomor ini dari Kata CX, lewat Broadcast atau API, di chat pelanggan yang sudah ada di sini, dan jaga kreditnya tetap terbaru.",
14882
+ "omnichannel.channels.kataCx.notConnected": "Belum tersambung. Template yang dikirim dari Kata CX tidak tampil di sini.",
14883
+ "omnichannel.channels.kataCx.wasDisconnected": "Sambungan diputus. Sambungkan lagi agar template dari Kata CX tampil.",
14884
+ "omnichannel.channels.kataCx.connect": "Sambungkan",
14885
+ "omnichannel.channels.kataCx.codeTitle": "Kode sambung",
14886
+ "omnichannel.channels.kataCx.codeHelp": "Di Kata CX, buka Integration, pilih Frontera untuk nomor ini, lalu tempel kodenya. Hanya bisa dipakai sekali, berlaku {time} lagi.",
14887
+ "omnichannel.channels.kataCx.connected": "Tersambung",
14888
+ "omnichannel.channels.kataCx.connectedToast": "Tersambung ke Kata CX",
14889
+ "omnichannel.channels.kataCx.lastMessage": "Template terakhir diterima {time}",
14890
+ "omnichannel.channels.kataCx.noMessages": "Belum ada template yang diterima",
14891
+ "omnichannel.channels.kataCx.disconnect": "Putuskan",
14892
+ "omnichannel.channels.kataCx.disconnectTitle": "Putuskan Kata CX?",
14893
+ "omnichannel.channels.kataCx.disconnectBody": "Template yang dikirim dari Kata CX tidak lagi tampil di chat nomor ini. Yang sudah tampil tetap ada. Anda bisa menyambung lagi dengan kode baru.",
14894
+ "omnichannel.channels.kataCx.disconnected": "Sambungan Kata CX diputus",
14895
+ "omnichannel.channels.kataCx.loadError": "Sambungan tidak bisa dimuat.",
14768
14896
  "omnichannel.channels.address.title": "Kirim alamat ini ke Kata Support",
14769
14897
  "omnichannel.channels.address.copy": "Salin",
14770
14898
  "omnichannel.channels.address.copied": "Tersalin",
@@ -14849,26 +14977,27 @@ var id_default = {
14849
14977
  "omnichannel.members.confirm.cancel": "Batal",
14850
14978
  "omnichannel.members.confirm.action": "Cabut peran",
14851
14979
  "omnichannel.teams.title": "Tim",
14852
- "omnichannel.teams.intro": "Kelompokkan orang yang menjawab chat ke dalam tim. Satu orang bisa berada di lebih dari satu tim.",
14980
+ "omnichannel.teams.intro": "Kelompokkan orang yang menjawab chat. Agent membaca apa yang ditangani setiap tim untuk memilih ke mana chat dialihkan.",
14853
14981
  "omnichannel.teams.overAgentLimit": "Lebih dari {count} tim memiliki anggota. Agent hanya melihat {count} tim pertama menurut nama saat menyerahkan chat; chat yang cocok untuk tim lain masuk ke tim default channel.",
14854
14982
  "omnichannel.teams.new": "Tim baru",
14855
14983
  "omnichannel.teams.empty": "Belum ada tim.",
14856
- "omnichannel.teams.column.name": "Nama",
14857
- "omnichannel.teams.column.members": "Anggota",
14858
- "omnichannel.teams.noMembers": "Tidak ada anggota",
14984
+ "omnichannel.teams.emptyBody": "Buat tim, tambahkan orang yang menjawab chat-nya, dan tulis apa yang ditanganinya.",
14985
+ "omnichannel.teams.noMembersQueue": "Tidak ada anggota \xB7 chat-nya menunggu di antrean umum",
14986
+ "omnichannel.teams.onlineOf": "{online} dari {count} online",
14987
+ "omnichannel.teams.nobodyOnline": "Tidak ada yang online",
14988
+ "omnichannel.teams.footnote": "Satu orang bisa berada di lebih dari satu tim. Tim default setiap channel menerima pengalihan yang tidak bisa ditempatkan Agent; atur di Channels.",
14859
14989
  "omnichannel.teams.formerMember": "Seseorang yang tidak lagi ada di workspace ini",
14860
14990
  "omnichannel.teams.dialog.createTitle": "Tim baru",
14861
- "omnichannel.teams.dialog.editTitle": "Ubah tim",
14862
14991
  "omnichannel.teams.dialog.description": "Beri nama tim dan pilih orang di dalamnya.",
14863
14992
  "omnichannel.teams.dialog.name": "Nama",
14864
- "omnichannel.teams.dialog.handles": "Menangani",
14993
+ "omnichannel.teams.dialog.handles": "Yang ditangani",
14865
14994
  "omnichannel.teams.dialog.handlesPlaceholder": "Tagihan, refund, invoice",
14866
14995
  "omnichannel.teams.dialog.handlesHint": "Apa yang ditangani tim ini. Agent membacanya untuk memilih tim saat menyerahkan chat.",
14867
14996
  "omnichannel.teams.dialog.nameRequired": "Masukkan nama.",
14868
14997
  "omnichannel.teams.dialog.nameTaken": "Tim dengan nama ini sudah ada.",
14869
14998
  "omnichannel.teams.dialog.members": "Anggota",
14870
14999
  "omnichannel.teams.dialog.selected": "{count} dipilih",
14871
- "omnichannel.teams.dialog.searchPeople": "Cari orang",
15000
+ "omnichannel.teams.dialog.searchPeople": "Cari berdasarkan nama atau email",
14872
15001
  "omnichannel.teams.dialog.noPeople": "Tidak ada orang yang ditemukan.",
14873
15002
  "omnichannel.teams.save": "Simpan",
14874
15003
  "omnichannel.teams.saving": "Menyimpan\u2026",
@@ -14877,22 +15006,36 @@ var id_default = {
14877
15006
  "omnichannel.teams.saved": "Tim disimpan",
14878
15007
  "omnichannel.teams.saveError": "Tim tidak dapat disimpan. Coba lagi.",
14879
15008
  "omnichannel.teams.delete": "Hapus",
14880
- "omnichannel.teams.deleteLabel": "Hapus {name}",
14881
15009
  "omnichannel.teams.deleteTitle": "Hapus {name}?",
14882
15010
  "omnichannel.teams.deleteDescription": "Chat yang menunggu tim ini masuk ke antrean umum. Orang di dalamnya tetap ada di workspace.",
14883
15011
  "omnichannel.teams.deleted": "Tim dihapus",
14884
15012
  "omnichannel.teams.deleteError": "Tim tidak dapat dihapus. Coba lagi.",
14885
- "omnichannel.teams.column.routing": "Routing",
14886
15013
  "omnichannel.teams.routingWithCapacity": "{method} \xB7 maks. {count} chat per orang",
14887
- "omnichannel.teams.dialog.routing": "Metode routing",
15014
+ "omnichannel.teams.dialog.routing": "Tawarkan setiap chat",
14888
15015
  "omnichannel.teams.routing.least_loaded": "Beban paling sedikit",
14889
15016
  "omnichannel.teams.routing.round_robin": "Bergiliran",
14890
15017
  "omnichannel.teams.routing.least_loadedHint": "Setiap chat diberikan ke anggota Online dengan chat terbuka paling sedikit.",
14891
15018
  "omnichannel.teams.routing.round_robinHint": "Chat diberikan ke anggota Online secara bergiliran.",
14892
- "omnichannel.teams.dialog.capacity": "Kapasitas",
15019
+ "omnichannel.teams.dialog.capacity": "Chat terbuka per orang",
14893
15020
  "omnichannel.teams.dialog.noLimit": "Tanpa batas",
14894
- "omnichannel.teams.dialog.capacityHint": "Jumlah chat terbuka paling banyak untuk setiap anggota. Chat berikutnya menunggu sampai ada anggota yang kosong.",
15021
+ "omnichannel.teams.dialog.capacityHint": "1 sampai 100, atau kosongkan untuk tanpa batas.",
14895
15022
  "omnichannel.teams.dialog.capacityInvalid": "Masukkan bilangan bulat dari 1 sampai 100, atau kosongkan untuk tanpa batas.",
15023
+ "omnichannel.teams.create": "Buat tim",
15024
+ "omnichannel.teams.dialog.deleteTeam": "Hapus tim",
15025
+ "omnichannel.teams.dialog.offer.least_loaded": "Ke yang paling longgar",
15026
+ "omnichannel.teams.dialog.offer.round_robin": "Bergiliran",
15027
+ "omnichannel.teams.dialog.nobodySelected": "Belum ada yang dipilih",
15028
+ "omnichannel.teams.dialog.show": "Tampilkan",
15029
+ "omnichannel.teams.dialog.showEveryone": "Semua orang",
15030
+ "omnichannel.teams.dialog.showTeam": "Di tim ini",
15031
+ "omnichannel.teams.dialog.person": "Orang",
15032
+ "omnichannel.teams.dialog.now": "Sekarang",
15033
+ "omnichannel.teams.dialog.openChats": "Chat terbuka",
15034
+ "omnichannel.teams.dialog.nobodyInTeam": "Belum ada orang di tim ini.",
15035
+ "omnichannel.teams.dialog.notOpened": "Belum pernah membuka Omnichannel",
15036
+ "omnichannel.teams.dialog.presenceError": "Status online dan chat terbuka tidak dapat dimuat.",
15037
+ "omnichannel.teams.dialog.openChatsCount": "{count} chat terbuka",
15038
+ "omnichannel.teams.dialog.openChatsOne": "1 chat terbuka",
14896
15039
  "omnichannel.supervisorOnly.title": "Hanya Supervisor yang dapat membuka halaman ini",
14897
15040
  "omnichannel.supervisorOnly.body": "Minta kepada pemilik atau admin ruang kerja jika Anda memerlukannya.",
14898
15041
  "omnichannel.unavailable.title": "Omnichannel tidak tersedia di sini",
@@ -14998,7 +15141,7 @@ var id_default = {
14998
15141
  "omnichannel.settings.conflict.merged": "Perubahan mereka pada {sections} kini ada di formulir, jadi menyimpan tetap mempertahankannya.",
14999
15142
  "omnichannel.settings.conflict.survey": "Supervisor lain menyimpan survei saat Anda mengedit. Perubahan Anda masih ada: Ganti milik mereka menyimpan milik Anda di atas versi mereka, dan Buang menampilkan milik mereka.",
15000
15143
  "omnichannel.settings.section.lifecycle": "Tahapan pelanggan",
15001
- "omnichannel.settings.lifecycle.intro": "Posisi setiap pelanggan sebagai prospek, sesuai urutan yang dilalui prospek. Tim memindahkan pelanggan dari satu tahap ke tahap lain; pelanggan baru dimulai di tahap default.",
15144
+ "omnichannel.settings.lifecycle.intro": "Tahap yang dilalui prospek, sesuai urutan. Seret tahap untuk mengubah urutannya; pelanggan baru dimulai di tahap default.",
15002
15145
  "omnichannel.settings.lifecycle.enabled": "Lacak prospek per tahap",
15003
15146
  "omnichannel.settings.lifecycle.enabledHint": "Menampilkan tahap setiap pelanggan di Kotak Masuk dan Laporan, serta mendaftar prospek yang perlu ditindaklanjuti. Jika dimatikan, tahap Anda dan tahap setiap pelanggan tetap tersimpan.",
15004
15147
  "omnichannel.settings.lifecycle.turnedOn": "Tahapan pelanggan aktif",
@@ -15038,8 +15181,14 @@ var id_default = {
15038
15181
  "omnichannel.settings.lifecycle.followUpAfter": "Tindak lanjuti setelah {count} hari",
15039
15182
  "omnichannel.settings.lifecycle.customersOne": "1 pelanggan",
15040
15183
  "omnichannel.settings.lifecycle.customersOther": "{count} pelanggan",
15041
- "omnichannel.settings.lifecycle.moveUp": "Naikkan {name}",
15042
- "omnichannel.settings.lifecycle.moveDown": "Turunkan {name}",
15184
+ "omnichannel.settings.lifecycle.dragLabel": "Seret untuk mengurutkan ulang {name}",
15185
+ "omnichannel.settings.lifecycle.dragInstructions": "Untuk mengambil tahap, tekan Spasi atau Enter. Pindahkan dengan tombol panah, lalu tekan Spasi atau Enter untuk meletakkannya, atau Escape untuk membatalkan.",
15186
+ "omnichannel.settings.lifecycle.reordered": "Urutan disimpan: {name} sekarang di posisi {position} dari {count}",
15187
+ "omnichannel.settings.lifecycle.undo": "Urungkan",
15188
+ "omnichannel.settings.lifecycle.announce.pickedUp": "{name} diambil, posisi {position} dari {count}.",
15189
+ "omnichannel.settings.lifecycle.announce.over": "{name} dipindah ke posisi {position} dari {count}.",
15190
+ "omnichannel.settings.lifecycle.announce.dropped": "{name} diletakkan di posisi {position} dari {count}.",
15191
+ "omnichannel.settings.lifecycle.announce.cancelled": "Pemindahan {name} dibatalkan.",
15043
15192
  "omnichannel.settings.lifecycle.reorderFailed": "Tidak dapat memindahkan tahap",
15044
15193
  "omnichannel.settings.lifecycle.deleteTitle": "Hapus \u201C{name}\u201D?",
15045
15194
  "omnichannel.settings.lifecycle.deleteBody": "Tidak ada pelanggan di tahap ini. Riwayat pelanggan tetap menyimpannya.",
@@ -16300,6 +16449,11 @@ var id_default = {
16300
16449
  "knowledgeApp.answer.commentPlaceholder": "Tambahkan komentar (opsional)",
16301
16450
  "knowledgeApp.answer.ownersSee": "Pemilik file akan melihat nama dan masukan Anda.",
16302
16451
  "knowledgeApp.answer.send": "Kirim",
16452
+ "knowledgeApp.answer.report": "Laporkan masalah",
16453
+ "knowledgeApp.answer.reportSource": "Laporkan masalah pada {title}",
16454
+ "knowledgeApp.answer.reportTitle": "Apa yang salah dengan file ini?",
16455
+ "knowledgeApp.answer.reportSent": "Laporan terkirim ke pemilik file",
16456
+ "knowledgeApp.answer.reportFailed": "Laporan tidak dapat dikirim.",
16303
16457
  "knowledgeApp.comments.title": "Komentar",
16304
16458
  "knowledgeApp.comments.description": "Terlihat oleh semua orang yang punya akses ke file ini",
16305
16459
  "knowledgeApp.comments.button": "Komentar",
@@ -16358,6 +16512,7 @@ var id_default = {
16358
16512
  "knowledgeApp.myFiles.feedback": "Masukan",
16359
16513
  "knowledgeApp.feedback.by": "Masukan dari {name}",
16360
16514
  "knowledgeApp.feedback.empty": "Belum ada masukan",
16515
+ "knowledgeApp.feedback.fromReports": "Laporan tentang file ini dari jawaban AI muncul di sini.",
16361
16516
  "knowledgeApp.feedback.noResolved": "Tidak ada masukan yang selesai",
16362
16517
  "knowledgeApp.feedback.buttonCount": "Masukan ({count})",
16363
16518
  "knowledgeApp.feedback.panel": "Komentar dan masukan",
@@ -16365,6 +16520,7 @@ var id_default = {
16365
16520
  "knowledgeApp.myFiles.question": "Pertanyaan",
16366
16521
  "knowledgeApp.myFiles.questionNotKept": "Pertanyaan tidak tersedia",
16367
16522
  "knowledgeApp.myFiles.fromTheAnswer": "Dari file ini",
16523
+ "knowledgeApp.myFiles.showInFile": "Tampilkan di file",
16368
16524
  "knowledgeApp.myFiles.noSentences": "Jawaban tidak mengutip file ini.",
16369
16525
  "knowledgeApp.myFiles.cited": "Dikutip di",
16370
16526
  "knowledgeApp.myFiles.openFile": "Buka file",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { requestPaneFocus, useArtifacts, usePlugins, useCanvasStore, useArtifactStore, useChatOverviewStore, useSourcesEnrichment, sourceKind, useCitationViewer, resolveSourceDisplay, extractDomain, useCitedDocument, 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-MPFDU3UN.js';
3
- import { MagnifyingGlassIcon, Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-RQSMCGBR.js';
4
- import { useTranslation, useIsMobile } from './chunk-GP43ZTG6.js';
2
+ import { requestPaneFocus, useArtifacts, usePlugins, useCanvasStore, useArtifactStore, useChatOverviewStore, useSourcesEnrichment, sourceKind, useCitationViewer, resolveSourceDisplay, extractDomain, useCitedDocument, 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-IOSRUVWE.js';
3
+ import { MagnifyingGlassIcon, Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-OONQIDAU.js';
4
+ import { useTranslation, useIsMobile } from './chunk-4Q6CR67S.js';
5
5
  import { Collapsible, CollapsibleTrigger, CollapsibleContent, Shimmer, HoverCard, HoverCardTrigger, HoverCardContent } from './chunk-K7AIK7TA.js';
6
6
  import { ChevronDownMediumIcon, ScrollArea, Skeleton, Button } from './chunk-UWKO24VT.js';
7
7
  import { Dialog, DialogContent, DialogHeader, DialogTitle, CrossMediumIcon } from './chunk-37WYG6VG.js';
@@ -9635,7 +9635,7 @@ function SourceRow({
9635
9635
  favicon: null
9636
9636
  };
9637
9637
  const label = extractDomain(citation.url) || citation.url;
9638
- const document2 = useCitedDocument(citation.url, title);
9638
+ const document2 = useCitedDocument(citation.url, title, citation.content ?? null);
9639
9639
  const body = /* @__PURE__ */ jsxs(Fragment, { children: [
9640
9640
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
9641
9641
  /* @__PURE__ */ jsx(SourceFavicon, { favicon, domain: label, size: "sm", kind }),
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useTranslation } from './chunk-GP43ZTG6.js';
2
+ import { useTranslation } from './chunk-4Q6CR67S.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,7 +1,7 @@
1
1
  'use client';
2
2
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
3
- import { MagnifyingGlassIcon, Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-RQSMCGBR.js';
4
- import { useIsMobile, useTranslation } from './chunk-GP43ZTG6.js';
3
+ import { MagnifyingGlassIcon, Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-OONQIDAU.js';
4
+ import { useIsMobile, useTranslation } from './chunk-4Q6CR67S.js';
5
5
  import { ToolCallItem, ProcessorIcon } from './chunk-R3ONYPUB.js';
6
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-K7AIK7TA.js';
7
7
  import { ChevronDownMediumIcon, Button, Skeleton, buttonVariants } from './chunk-UWKO24VT.js';
@@ -11862,7 +11862,7 @@ function AlertDialogOverlay({
11862
11862
  {
11863
11863
  "data-slot": "alert-dialog-overlay",
11864
11864
  className: cn(
11865
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-surface-inset-deep/50",
11865
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-100 bg-surface-inset-deep/50",
11866
11866
  className
11867
11867
  ),
11868
11868
  ...props
@@ -11883,7 +11883,7 @@ function AlertDialogContent({
11883
11883
  {
11884
11884
  "data-slot": "alert-dialog-content",
11885
11885
  className: cn(
11886
- "bg-surface-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
11886
+ "bg-surface-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-100 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
11887
11887
  className
11888
11888
  ),
11889
11889
  ...props,
@@ -52498,7 +52498,7 @@ function FileThumbnail({
52498
52498
  return /* @__PURE__ */ jsx("div", { className: `${base} bg-blue-500/15`, children: /* @__PURE__ */ jsx(FileTextIcon, { className: `${iconClass} text-blue-400` }) });
52499
52499
  }
52500
52500
  }
52501
- function useCitedDocument(url, title) {
52501
+ function useCitedDocument(url, title, quote = null) {
52502
52502
  const { KnowledgeDocumentViewer: Viewer } = useChatHost();
52503
52503
  const [open, setOpen] = useState(false);
52504
52504
  const cited = url ? parseKnowledgeAppCitation(url) : null;
@@ -52511,6 +52511,7 @@ function useCitedDocument(url, title) {
52511
52511
  {
52512
52512
  documentId: cited.documentId,
52513
52513
  page: cited.page,
52514
+ quote,
52514
52515
  title,
52515
52516
  onClose: () => setOpen(false)
52516
52517
  }
@@ -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, useCitedDocument, 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-MPFDU3UN.js';
3
- import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-RQSMCGBR.js';
4
- import { useIsMobile, useTranslation } from './chunk-GP43ZTG6.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, useCitedDocument, 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-IOSRUVWE.js';
3
+ import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-OONQIDAU.js';
4
+ import { useIsMobile, useTranslation } from './chunk-4Q6CR67S.js';
5
5
  import { MessageToolbar, MessageResponse, SquareArrowTopRightIcon, FileTextIcon, Shimmer, ClipboardIcon, Message, MessageContent, PencilIcon, deferDuringLayoutMotion, HoverCard, HoverCardTrigger, HoverCardContent, Collapse, Icon, CircleXIcon, ClockIcon } from './chunk-K7AIK7TA.js';
6
6
  import { ChevronDownMediumIcon, Button, ScrollArea, Skeleton } from './chunk-UWKO24VT.js';
7
7
  import { CrossMediumIcon } from './chunk-37WYG6VG.js';
@@ -1639,7 +1639,7 @@ function CitationChip({
1639
1639
  const [open, setOpen] = useState(false);
1640
1640
  const [previewing, setPreviewing] = useState(false);
1641
1641
  const viewer = useCitationViewer();
1642
- const document2 = useCitedDocument(href, title);
1642
+ const document2 = useCitedDocument(href, title, content ?? null);
1643
1643
  const preview = (hint) => /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
1644
1644
  /* @__PURE__ */ jsx(FileTextIcon, { className: "size-4 shrink-0 mt-0.5 text-muted-foreground" }),
1645
1645
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 space-y-1", children: [
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { Sheet, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent, MagnifyingGlassIcon } from './chunk-RQSMCGBR.js';
3
- import { useIsMobile, useTranslation } from './chunk-GP43ZTG6.js';
2
+ import { Sheet, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent, MagnifyingGlassIcon } from './chunk-OONQIDAU.js';
3
+ import { useIsMobile, useTranslation } from './chunk-4Q6CR67S.js';
4
4
  import { CrossMediumIcon } from './chunk-37WYG6VG.js';
5
5
  import { AgentAvatar } from './chunk-RCWVJD7G.js';
6
6
  import { cn, Checkmark1Icon } from './chunk-LGVMMBL3.js';
package/dist/header.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { ChatHeader, ChatHeaderActions } from './chunk-JIOJ6VJ4.js';
3
- import './chunk-MPFDU3UN.js';
2
+ export { ChatHeader, ChatHeaderActions } from './chunk-6IMCJINQ.js';
3
+ import './chunk-IOSRUVWE.js';
4
4
  import './chunk-CWAOLMFS.js';
5
- import './chunk-RQSMCGBR.js';
6
- import './chunk-GP43ZTG6.js';
5
+ import './chunk-OONQIDAU.js';
6
+ import './chunk-4Q6CR67S.js';
7
7
  import './chunk-R3ONYPUB.js';
8
8
  import './chunk-K7AIK7TA.js';
9
9
  import './chunk-UWKO24VT.js';
package/dist/message.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { Message, Thinking } from './chunk-GGIFLPU5.js';
3
- import './chunk-MPFDU3UN.js';
2
+ export { Message, Thinking } from './chunk-MLR6EJEV.js';
3
+ import './chunk-IOSRUVWE.js';
4
4
  import './chunk-CWAOLMFS.js';
5
- import './chunk-RQSMCGBR.js';
6
- import './chunk-GP43ZTG6.js';
5
+ import './chunk-OONQIDAU.js';
6
+ import './chunk-4Q6CR67S.js';
7
7
  import './chunk-R3ONYPUB.js';
8
8
  import './chunk-K7AIK7TA.js';
9
9
  import './chunk-UWKO24VT.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-FBDBLAX5.js';
3
- import './chunk-RQSMCGBR.js';
4
- import './chunk-GP43ZTG6.js';
2
+ export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-QAXXD7LQ.js';
3
+ import './chunk-OONQIDAU.js';
4
+ import './chunk-4Q6CR67S.js';
5
5
  import './chunk-37WYG6VG.js';
6
6
  import './chunk-RCWVJD7G.js';
7
7
  import './chunk-LGVMMBL3.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-PU75S6NF.js';
3
+ import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-EK6EYBTA.js';
4
4
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
5
- import { useTranslation, useIsMobile } from './chunk-GP43ZTG6.js';
5
+ import { useTranslation, useIsMobile } from './chunk-4Q6CR67S.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-PU75S6NF.js';
2
+ import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-EK6EYBTA.js';
3
3
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
4
- import { useTranslation, useIsMobile } from './chunk-GP43ZTG6.js';
4
+ import { useTranslation, useIsMobile } from './chunk-4Q6CR67S.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';
@@ -282518,7 +282518,8 @@ function UniverWorkbookView({
282518
282518
  data: data2,
282519
282519
  onMutation,
282520
282520
  readOnly = false,
282521
- darkMode = false
282521
+ darkMode = false,
282522
+ focusRows = null
282522
282523
  }) {
282523
282524
  const hostRef = useRef(null);
282524
282525
  const onMutationRef = useRef(onMutation);
@@ -282527,6 +282528,7 @@ function UniverWorkbookView({
282527
282528
  onMutationRef.current = onMutation;
282528
282529
  }, [onMutation]);
282529
282530
  const univerRef = useRef(null);
282531
+ const [rendered, setRendered] = useState(false);
282530
282532
  useEffect(() => {
282531
282533
  const host = hostRef.current;
282532
282534
  if (!host) return;
@@ -282559,6 +282561,9 @@ function UniverWorkbookView({
282559
282561
  });
282560
282562
  univerRef.current = instance;
282561
282563
  const { univer, univerAPI } = instance;
282564
+ const drawn = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => {
282565
+ if (stage >= LifecycleStages.Rendered) setRendered(true);
282566
+ });
282562
282567
  const workbook = univerAPI.createWorkbook(
282563
282568
  data2
282564
282569
  );
@@ -282587,6 +282592,7 @@ function UniverWorkbookView({
282587
282592
  return () => {
282588
282593
  clearTimeout(armTimer);
282589
282594
  listener.dispose();
282595
+ drawn.dispose();
282590
282596
  univerRef.current = null;
282591
282597
  mount.remove();
282592
282598
  if (darkModeRef.current) {
@@ -282603,6 +282609,13 @@ function UniverWorkbookView({
282603
282609
  useEffect(() => {
282604
282610
  univerRef.current?.univerAPI.getActiveWorkbook()?.setEditable(!readOnly);
282605
282611
  }, [readOnly]);
282612
+ const [first2, last2] = focusRows ?? [-1, -1];
282613
+ useEffect(() => {
282614
+ const sheet = rendered && first2 >= 0 ? univerRef.current?.univerAPI.getActiveWorkbook()?.getActiveSheet() : null;
282615
+ if (!sheet) return;
282616
+ sheet.setActiveSelection(sheet.getRange(first2, 0, last2 - first2 + 1, sheet.getMaxColumns()));
282617
+ sheet.scrollToCell(first2, 0);
282618
+ }, [rendered, first2, last2]);
282606
282619
  return /* @__PURE__ */ jsx("div", { className: "univer-sheet-host flex h-full w-full min-h-0 flex-col", children: /* @__PURE__ */ jsx("div", { ref: hostRef, className: "min-h-0 flex-1" }) });
282607
282620
  }
282608
282621
  /*! Bundled license information:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontera-sdk/chat-ui",
3
- "version": "1.53.25",
3
+ "version": "1.53.27",
4
4
  "description": "Ready-made React components for embedding a Frontera agent conversation — message rendering, tool calls, artifacts and composer.",
5
5
  "keywords": [
6
6
  "frontera",
@@ -89,8 +89,8 @@
89
89
  },
90
90
  "dependencies": {
91
91
  "@elysiajs/eden": "^1.4.9",
92
- "@frontera-sdk/chat": "1.53.25",
93
- "@frontera-sdk/core": "1.53.25",
92
+ "@frontera-sdk/chat": "1.53.27",
93
+ "@frontera-sdk/core": "1.53.27",
94
94
  "@radix-ui/react-alert-dialog": "^1.1.23",
95
95
  "@radix-ui/react-collapsible": "^1.1.12",
96
96
  "@radix-ui/react-compose-refs": "^1.1.5",
File without changes