@frontera-sdk/chat-ui 1.52.31 → 1.52.33

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-R46XIQLR.js';
5
- import { NewSessionPrompt, keepCaretOnTap } from './chunk-67FRU3RR.js';
4
+ import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-L53QV2NP.js';
5
+ import { NewSessionPrompt, keepCaretOnTap } from './chunk-FZHOLMMX.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-TGZ5EV5G.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-3QTPT4SP.js';
13
13
  import './chunk-X3QVICX7.js';
14
- 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-7YAD64UC.js';
15
- import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, errorText, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useSession, useWorkspaceContext, useConversationDesktopStatus, isRequestHumanTool, appsKeys, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-LIITVKDL.js';
14
+ 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-Z7CMGAC3.js';
15
+ import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, getPersonConfirmation, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, errorText, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useSession, useWorkspaceContext, useConversationDesktopStatus, isRequestHumanTool, appsKeys, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-X3BXBZ2O.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-6VYLZSJV.js';
18
+ import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-77OYEA4D.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-IUW7UU7T.js'),
42452
+ () => import('./pdf-document-view-inner-V52OOVMQ.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-BOA2GXRG.js'), {
43269
+ var Inner = dynamic(() => import('./pdf-deck-view-inner-MDUCJH2U.js'), {
43270
43270
  ssr: false,
43271
43271
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
43272
43272
  });
@@ -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-LIITVKDL.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-X3BXBZ2O.js';
4
4
  import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-T5SANYSX.js';
5
- import { useTranslation, useIsMobile } from './chunk-6VYLZSJV.js';
5
+ import { useTranslation, useIsMobile } from './chunk-77OYEA4D.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';
@@ -190,6 +190,7 @@ var en_default = {
190
190
  "appSwitcher.homeSubtitle": "Your workspace at a glance",
191
191
  "appSwitcher.chat": "Chat",
192
192
  "appSwitcher.chatSubtitle": "Chat with agents",
193
+ "appSwitcher.omnichannel": "Omnichannel",
193
194
  "appSwitcher.apps": "Apps",
194
195
  "appSwitcher.appsSubtitle": "Operational apps for your use cases",
195
196
  "appSwitcher.console": "Console",
@@ -4282,6 +4283,7 @@ var en_default = {
4282
4283
  "platformNav.appMenu": "Options for {name}",
4283
4284
  "platformNav.skip": "Skip to content",
4284
4285
  "platformNav.description.chat": "Work with agents in conversation.",
4286
+ "platformNav.description.omnichannel": "Answer customers' WhatsApp chats with your team.",
4285
4287
  "platformNav.description.agents": "Configure, equip, and manage agents.",
4286
4288
  "platformNav.description.workflows": "Design processes and follow their runs.",
4287
4289
  "platformNav.description.functions": "Build and run reusable functions.",
@@ -4290,6 +4292,265 @@ var en_default = {
4290
4292
  "platformNav.description.console": "Review metrics, traces, and evaluations.",
4291
4293
  "platformNav.description.forge": "Develop in your connected workspace.",
4292
4294
  "platformNav.description.home": "Return to your workspace.",
4295
+ "omnichannel.nav.label": "Omnichannel pages",
4296
+ "omnichannel.nav.inbox": "Inbox",
4297
+ "omnichannel.nav.channels": "Channels",
4298
+ "omnichannel.nav.team": "Team",
4299
+ "omnichannel.inbox.connect.title": "Add a channel",
4300
+ "omnichannel.inbox.connect.body": "Chats arrive here once a channel is connected.",
4301
+ "omnichannel.inbox.connect.action": "Open Channels",
4302
+ "omnichannel.inbox.list": "Chats",
4303
+ "omnichannel.inbox.views": "Views",
4304
+ "omnichannel.inbox.view.mine": "Mine",
4305
+ "omnichannel.inbox.view.waiting": "Waiting",
4306
+ "omnichannel.inbox.view.agent": "With the Agent",
4307
+ "omnichannel.inbox.view.all": "All chats",
4308
+ "omnichannel.inbox.viewEmpty.mine": "No chats are with you right now.",
4309
+ "omnichannel.inbox.viewEmpty.waiting": "No chats are waiting for a person.",
4310
+ "omnichannel.inbox.viewEmpty.agent": "The Agent is not answering any chats right now.",
4311
+ "omnichannel.inbox.viewEmpty.all": "No chats yet. When a customer writes to a connected channel, the chat appears here.",
4312
+ "omnichannel.inbox.viewEmpty.resolved": "No resolved chats yet.",
4313
+ "omnichannel.inbox.panel": "Views and channels",
4314
+ "omnichannel.inbox.panelOpen": "Show views and channels",
4315
+ "omnichannel.inbox.panelCollapse": "Hide views and channels",
4316
+ "omnichannel.inbox.segment.label": "Open or resolved chats",
4317
+ "omnichannel.inbox.segment.open": "Open",
4318
+ "omnichannel.inbox.segment.resolved": "Resolved",
4319
+ "omnichannel.inbox.channelEmpty": "No chats on this number yet.",
4320
+ "omnichannel.inbox.attachment": "Attachment",
4321
+ "omnichannel.inbox.search.placeholder": "Search chats",
4322
+ "omnichannel.inbox.search.empty": "Nothing matches your search.",
4323
+ "omnichannel.inbox.search.chats": "Chats",
4324
+ "omnichannel.inbox.search.messages": "Messages",
4325
+ "omnichannel.inbox.preview.note": "Note: {text}",
4326
+ "omnichannel.inbox.preview.agent": "Agent: {text}",
4327
+ "omnichannel.inbox.preview.you": "You: {text}",
4328
+ "omnichannel.inbox.preview.humanAgent": "Human Agent: {text}",
4329
+ "omnichannel.inbox.messageType.image": "Photo",
4330
+ "omnichannel.inbox.messageType.video": "Video",
4331
+ "omnichannel.inbox.messageType.audio": "Audio",
4332
+ "omnichannel.inbox.messageType.document": "Document",
4333
+ "omnichannel.inbox.messageType.sticker": "Sticker",
4334
+ "omnichannel.inbox.messageType.location": "Location",
4335
+ "omnichannel.inbox.messageType.contacts": "Contact",
4336
+ "omnichannel.inbox.messageType.other": "Message",
4337
+ "omnichannel.inbox.standing.agent": "With the Agent",
4338
+ "omnichannel.inbox.standing.waiting": "Waiting for a person",
4339
+ "omnichannel.inbox.standing.mine": "With you",
4340
+ "omnichannel.inbox.standing.other": "With {name}",
4341
+ "omnichannel.inbox.via": "via {number}",
4342
+ "omnichannel.inbox.unread": "{count} unread",
4343
+ "omnichannel.inbox.accept": "Accept",
4344
+ "omnichannel.inbox.secondsLeft": "{seconds}s left",
4345
+ "omnichannel.inbox.acceptFailed": "The chat could not be accepted",
4346
+ "omnichannel.inbox.thread": "Chat",
4347
+ "omnichannel.inbox.back": "Back to chats",
4348
+ "omnichannel.inbox.older": "Show older messages",
4349
+ "omnichannel.inbox.more": "Show more chats",
4350
+ "omnichannel.inbox.note": "Note \xB7 only your team sees this",
4351
+ "omnichannel.inbox.sender.agent": "Agent",
4352
+ "omnichannel.inbox.sender.you": "You",
4353
+ "omnichannel.inbox.sender.humanAgent": "Human Agent",
4354
+ "omnichannel.inbox.status.pending": "Sending",
4355
+ "omnichannel.inbox.status.sent": "Sent",
4356
+ "omnichannel.inbox.status.delivered": "Delivered",
4357
+ "omnichannel.inbox.status.read": "Read",
4358
+ "omnichannel.inbox.status.failed": "Not sent",
4359
+ "omnichannel.inbox.status.suppressed": "Not sent",
4360
+ "omnichannel.inbox.attachment.storing": "Loading the attachment\u2026",
4361
+ "omnichannel.inbox.attachment.failed": "The attachment could not be loaded.",
4362
+ "omnichannel.inbox.lock.windowClosed": "The customer last wrote more than 24 hours ago. WhatsApp now allows only approved template messages, which Omnichannel does not send. You can resolve the chat; it opens again when the customer writes.",
4363
+ "omnichannel.inbox.lock.resolvedByYou": "You resolved this chat. You can read it, but it is read-only for you until the customer needs a person again.",
4364
+ "omnichannel.inbox.gone.title": "This chat is not available to you",
4365
+ "omnichannel.inbox.gone.body": "It may have been passed to someone else or resolved.",
4366
+ "omnichannel.inbox.pick.title": "Choose a chat",
4367
+ "omnichannel.inbox.pick.body": "Pick a chat from the list to read it.",
4368
+ "omnichannel.inbox.jump.new": "New messages",
4369
+ "omnichannel.inbox.jump.latest": "Go to the latest message",
4370
+ "omnichannel.inbox.unreadFrom": "Unread messages",
4371
+ "omnichannel.inbox.failure.why": "Why?",
4372
+ "omnichannel.inbox.failure.title": "This message did not reach the customer",
4373
+ "omnichannel.inbox.copy": "Copy",
4374
+ "omnichannel.inbox.copied": "Copied",
4375
+ "omnichannel.inbox.resend": "Send again",
4376
+ "omnichannel.inbox.composer.tabs": "Reply or note",
4377
+ "omnichannel.inbox.composer.reply": "Reply",
4378
+ "omnichannel.inbox.composer.note": "Note",
4379
+ "omnichannel.inbox.composer.replyPlaceholder": "Write to the customer",
4380
+ "omnichannel.inbox.composer.notePlaceholder": "Write a note only your team sees",
4381
+ "omnichannel.inbox.composer.send": "Send",
4382
+ "omnichannel.inbox.composer.addNote": "Add note",
4383
+ "omnichannel.inbox.composer.hint": "Enter to send \xB7 Shift + Enter for a new line",
4384
+ "omnichannel.inbox.composer.attach": "Attach a file",
4385
+ "omnichannel.inbox.composer.removeAttachment": "Remove the file",
4386
+ "omnichannel.inbox.composer.uploading": "Uploading the file\u2026",
4387
+ "omnichannel.inbox.composer.tooLarge": "The file is larger than 10 MB.",
4388
+ "omnichannel.inbox.composer.wrongType": "This type of file cannot be sent on WhatsApp.",
4389
+ "omnichannel.inbox.composer.uploadFailed": "The file could not be attached",
4390
+ "omnichannel.inbox.composer.sendFailed": "The message was not sent",
4391
+ "omnichannel.inbox.composer.noteFailed": "The note was not added",
4392
+ "omnichannel.inbox.composer.closing": "Reply window: {hours} h left",
4393
+ "omnichannel.inbox.composer.closingSoon": "Reply window: less than 1 h left",
4394
+ "omnichannel.inbox.composer.takeOver": "Take over to reply",
4395
+ "omnichannel.inbox.composer.other": "{name} is handling this chat",
4396
+ "omnichannel.inbox.refused.closed": "This chat was already closed.",
4397
+ "omnichannel.inbox.refused.changed": "This chat changed meanwhile. It has been loaded again.",
4398
+ "omnichannel.inbox.refused.taken": "Someone else took this chat first.",
4399
+ "omnichannel.inbox.refused.takeOverFirst": "Take over this chat first.",
4400
+ "omnichannel.inbox.refused.readOnly": "This chat is read-only for you.",
4401
+ "omnichannel.inbox.refused.gone": "This chat is no longer available to you.",
4402
+ "omnichannel.inbox.refused.alreadyWithPerson": "A person already has this chat.",
4403
+ "omnichannel.inbox.refused.withAgent": "The Agent has this chat now. Take it over first.",
4404
+ "omnichannel.inbox.refused.doneCommand": "To close the chat, use Resolve instead of sending /done.",
4405
+ "omnichannel.inbox.refused.tooLong": "A WhatsApp message holds at most 4,096 characters.",
4406
+ "omnichannel.inbox.action.takeOver": "Take over",
4407
+ "omnichannel.inbox.action.transfer": "Transfer",
4408
+ "omnichannel.inbox.action.resolve": "Resolve",
4409
+ "omnichannel.inbox.action.resolveTitle": "Resolve this chat?",
4410
+ "omnichannel.inbox.action.resolveBody": "The chat goes back to the Agent, which is told how the case ended.",
4411
+ "omnichannel.inbox.action.transferTo": "Transfer to",
4412
+ "omnichannel.inbox.action.transferNobody": "Nobody else has opened Omnichannel yet",
4413
+ "omnichannel.inbox.action.person": "{role} \xB7 {presence}",
4414
+ "omnichannel.inbox.action.transferLoading": "Loading people\u2026",
4415
+ "omnichannel.inbox.action.takeOverFailed": "The chat could not be taken over",
4416
+ "omnichannel.inbox.action.transferFailed": "The chat could not be transferred",
4417
+ "omnichannel.inbox.action.resolveFailed": "The chat could not be resolved",
4418
+ "omnichannel.inbox.contact.title": "Customer",
4419
+ "omnichannel.inbox.contact.open": "Customer details",
4420
+ "omnichannel.inbox.contact.details": "Details",
4421
+ "omnichannel.inbox.contact.email": "Email",
4422
+ "omnichannel.inbox.contact.location": "Location",
4423
+ "omnichannel.inbox.contact.notes": "About this customer",
4424
+ "omnichannel.inbox.contact.emailPlaceholder": "Add an email",
4425
+ "omnichannel.inbox.contact.locationPlaceholder": "Add a city or region",
4426
+ "omnichannel.inbox.contact.notesPlaceholder": "What the team should know, such as a preferred language",
4427
+ "omnichannel.inbox.contact.saving": "Saving\u2026",
4428
+ "omnichannel.inbox.contact.saved": "Saved",
4429
+ "omnichannel.inbox.contact.saveFailed": "The customer details were not saved",
4430
+ "omnichannel.inbox.cases.title": "History",
4431
+ "omnichannel.inbox.cases.none": "Nobody has handled this chat yet.",
4432
+ "omnichannel.inbox.cases.reason": "\u201C{reason}\u201D",
4433
+ "omnichannel.inbox.cases.handedOver": "The Agent handed over \xB7 {time}",
4434
+ "omnichannel.inbox.cases.takenOver": "Taken over from the Agent \xB7 {time}",
4435
+ "omnichannel.inbox.cases.assigned": "With {name}",
4436
+ "omnichannel.inbox.cases.firstAssigned": "First assigned \xB7 {time}",
4437
+ "omnichannel.inbox.cases.firstReply": "First reply by {name} \xB7 {time}",
4438
+ "omnichannel.inbox.cases.open": "Open",
4439
+ "omnichannel.inbox.cases.resolved": "Resolved by {name} \xB7 {time}",
4440
+ "omnichannel.inbox.cases.expired": "Closed after 24 h without a reply \xB7 {time}",
4441
+ "omnichannel.inbox.cases.returned": "Returned to the Agent \xB7 {time}",
4442
+ "omnichannel.inbox.search.customers": "Customers",
4443
+ "omnichannel.inbox.search.noChat": "You have no chat with this customer that you can open.",
4444
+ "omnichannel.role.supervisor": "Supervisor",
4445
+ "omnichannel.role.humanAgent": "Human Agent",
4446
+ "omnichannel.presence.label": "Online",
4447
+ "omnichannel.presence.online": "Online",
4448
+ "omnichannel.presence.away": "Away",
4449
+ "omnichannel.presence.goOnline": "Click to go Online",
4450
+ "omnichannel.presence.goAway": "Click to go Away",
4451
+ "omnichannel.presence.awayNotice": "You're Away. New chats are offered to people who are Online first.",
4452
+ "omnichannel.presence.goOnlineAction": "Go Online",
4453
+ "omnichannel.presence.closeNotice": "Close",
4454
+ "omnichannel.presence.hint": "A chat that needs a person stays in Waiting for anyone to take. Online people get it offered first.",
4455
+ "omnichannel.presence.failed": "Your status was not changed",
4456
+ "omnichannel.channels.title": "Channels",
4457
+ "omnichannel.channels.add.open": "Add a channel",
4458
+ "omnichannel.channels.add.title": "Add a channel",
4459
+ "omnichannel.channels.add.description": "Choose the kind of channel, then fill in its details.",
4460
+ "omnichannel.channels.add.back": "Choose another kind",
4461
+ "omnichannel.channels.whatsapp.provider": "through Kata",
4462
+ "omnichannel.channels.whatsapp.description": "Answer the messages customers send to a WhatsApp number. You need the number\u2019s Kata WhatsApp login.",
4463
+ "omnichannel.channels.whatsapp.rule": "One WhatsApp number can be connected in only one place. If this number is connected to an Agent under Agents \u2192 Resources \u2192 Channels, remove it there first.",
4464
+ "omnichannel.channels.empty.title": "Connect your first channel",
4465
+ "omnichannel.channels.empty.body": "Add a channel so your customers\u2019 messages arrive in Inbox.",
4466
+ "omnichannel.channels.column.name": "Name",
4467
+ "omnichannel.channels.column.kind": "Type",
4468
+ "omnichannel.channels.column.number": "Number",
4469
+ "omnichannel.channels.column.status": "Status",
4470
+ "omnichannel.channels.status.off": "Off",
4471
+ "omnichannel.channels.status.waiting": "Waiting for first message from Kata",
4472
+ "omnichannel.channels.status.receiving": "Receiving messages",
4473
+ "omnichannel.channels.answeredBy.label": "Answered first by",
4474
+ "omnichannel.channels.answeredBy.nobody": "Nobody",
4475
+ "omnichannel.channels.answeredBy.nobodyCell": "Nobody (people answer)",
4476
+ "omnichannel.channels.answeredBy.unknown": "An Agent that is not published",
4477
+ "omnichannel.channels.answeredBy.hint": "Choose \u201CNobody\u201D to send every chat to a person.",
4478
+ "omnichannel.channels.connect.description": "Kata checks the login before the number is saved.",
4479
+ "omnichannel.channels.connect.name": "Name",
4480
+ "omnichannel.channels.connect.nameRequired": "Enter a name.",
4481
+ "omnichannel.channels.connect.phone": "WhatsApp number",
4482
+ "omnichannel.channels.connect.phoneRequired": "Enter the WhatsApp number.",
4483
+ "omnichannel.channels.connect.phoneInvalid": "Enter a valid phone number, for example +62 21 5000 200.",
4484
+ "omnichannel.channels.connect.submit": "Connect",
4485
+ "omnichannel.channels.connect.submitting": "Connecting\u2026",
4486
+ "omnichannel.channels.connect.done": "{name} is connected.",
4487
+ "omnichannel.channels.login.heading": "Kata WhatsApp login",
4488
+ "omnichannel.channels.login.label": "Kata login",
4489
+ "omnichannel.channels.login.username": "Username",
4490
+ "omnichannel.channels.login.password": "Password",
4491
+ "omnichannel.channels.login.usernameRequired": "Enter the username.",
4492
+ "omnichannel.channels.login.passwordRequired": "Enter the password.",
4493
+ "omnichannel.channels.login.rejected": "Kata did not accept this login",
4494
+ "omnichannel.channels.login.none": "Not set",
4495
+ "omnichannel.channels.login.change": "Change login",
4496
+ "omnichannel.channels.login.changeTitle": "Change the Kata WhatsApp login",
4497
+ "omnichannel.channels.login.changeDescription": "Kata checks the new login before it is saved.",
4498
+ "omnichannel.channels.login.saved": "Login changed",
4499
+ "omnichannel.channels.error.unreachable": "Kata could not be reached. Try again.",
4500
+ "omnichannel.channels.error.failed": "The change could not be saved. Try again.",
4501
+ "omnichannel.channels.address.title": "Send this address to Kata Support",
4502
+ "omnichannel.channels.address.copy": "Copy",
4503
+ "omnichannel.channels.address.copied": "Copied",
4504
+ "omnichannel.channels.address.waiting": "Kata Support sets it on your number. This page changes to \u201CReceiving messages\u201D when the first message arrives.",
4505
+ "omnichannel.channels.turnOff.action": "Turn off",
4506
+ "omnichannel.channels.turnOff.done": "{name} is off. Its chats are kept.",
4507
+ "omnichannel.channels.turnOff.offNote": "This channel is off: its chats are kept, and new messages are not received. Turn it on to receive them again.",
4508
+ "omnichannel.channels.turnOn.action": "Turn on",
4509
+ "omnichannel.channels.turnOn.done": "{name} is on.",
4510
+ "omnichannel.channels.replace.toggle": "Replace this address (rarely needed)",
4511
+ "omnichannel.channels.replace.body": "Only do this if the address leaked.",
4512
+ "omnichannel.channels.replace.action": "Replace this address",
4513
+ "omnichannel.channels.replace.confirmTitle": "Replace this address?",
4514
+ "omnichannel.channels.replace.confirmBody": "The current address stops working immediately. Messages Kata sends to it before Kata Support sets the new one are lost. Only do this if the address leaked.",
4515
+ "omnichannel.channels.replace.confirm": "Replace",
4516
+ "omnichannel.channels.replace.done": "The address is replaced.",
4517
+ "omnichannel.channels.cancel": "Cancel",
4518
+ "omnichannel.channels.save": "Save",
4519
+ "omnichannel.channels.saving": "Saving\u2026",
4520
+ "omnichannel.channels.saved": "Saved",
4521
+ "omnichannel.team.title": "People in this workspace",
4522
+ "omnichannel.team.intro": "Workspace owners and admins are Supervisors automatically. Give other people the Human Agent role so they can answer chats, or the Supervisor role so they can also see every chat and manage the channels.",
4523
+ "omnichannel.team.search": "Search people",
4524
+ "omnichannel.team.empty": "No people found.",
4525
+ "omnichannel.team.column.name": "Name",
4526
+ "omnichannel.team.column.workspaceRole": "Workspace role",
4527
+ "omnichannel.team.column.omnichannelRole": "Omnichannel role",
4528
+ "omnichannel.team.column.now": "Now",
4529
+ "omnichannel.team.role.agent": "Human Agent",
4530
+ "omnichannel.team.role.supervisor": "Supervisor",
4531
+ "omnichannel.team.role.byDefault": "{role} (as workspace {workspaceRole})",
4532
+ "omnichannel.team.workspaceRole.owner": "Owner",
4533
+ "omnichannel.team.workspaceRole.admin": "Admin",
4534
+ "omnichannel.team.workspaceRole.editor": "Editor",
4535
+ "omnichannel.team.workspaceRole.viewer": "Viewer",
4536
+ "omnichannel.team.workspaceRole.operator": "Operator",
4537
+ "omnichannel.team.workspaceRole.member": "Member",
4538
+ "omnichannel.team.workspaceRole.business_user": "Business user",
4539
+ "omnichannel.team.now.online": "Online",
4540
+ "omnichannel.team.now.away": "Away",
4541
+ "omnichannel.team.now.never": "Has not opened Omnichannel",
4542
+ "omnichannel.team.now.chatsOne": "1 chat",
4543
+ "omnichannel.team.now.chatsOther": "{count} chats",
4544
+ "omnichannel.team.saveError": "The role for {name} could not be saved. Try again.",
4545
+ "omnichannel.team.rolesError": "Omnichannel roles could not be loaded.",
4546
+ "omnichannel.team.rolesForbidden": "Only workspace owners and admins can see and change Omnichannel roles.",
4547
+ "omnichannel.supervisorOnly.title": "Only Supervisors can open this page",
4548
+ "omnichannel.supervisorOnly.body": "Ask a workspace owner or admin if you need it.",
4549
+ "omnichannel.unavailable.title": "Omnichannel is not available here",
4550
+ "omnichannel.unavailable.body": "Omnichannel is not turned on in this workspace, or you have no role in it. Ask your workspace admin.",
4551
+ "omnichannel.loadError.title": "Omnichannel could not be loaded",
4552
+ "omnichannel.loadError.body": "Check your connection and try again.",
4553
+ "omnichannel.loadError.retry": "Try again",
4293
4554
  "platformNav.allApplications": "All applications",
4294
4555
  "platformNav.filterApplications": "Filter applications",
4295
4556
  "platformNav.noPins": "Pin an application to keep it in your sidebar.",
@@ -4409,8 +4670,10 @@ var en_default = {
4409
4670
  "platformNav.library.requests.needsOrganizationAdmin": "An organization admin must enable it for the organization first.",
4410
4671
  "platformNav.library.details.note.installable": "Your organization enabled it. Install it to make it available in this workspace.",
4411
4672
  "platformNav.library.status.noScreen": "Available here, nothing to open",
4673
+ "platformNav.library.status.needsRole": "Ask a workspace owner or admin for a role in {name}",
4412
4674
  "platformNav.library.status.requestedOn": "Requested {date}",
4413
4675
  "platformNav.library.details.note.noScreen": "Available in this workspace. It works behind the scenes, so there\u2019s nothing to open.",
4676
+ "platformNav.library.details.note.needsRole": "Available in this workspace. To open it, ask a workspace owner or admin for a role in {name}.",
4414
4677
  "admin.usageTiers.section.subtitle": "One credit allowance per person, per window. People are assigned to tiers in Members.",
4415
4678
  "admin.usageTiers.rules.summary": "Allowances run per {window}, {tz}",
4416
4679
  "admin.usageTiers.rules.burst": "burst checked over a rolling {len}",
@@ -5477,6 +5740,7 @@ var id_default = {
5477
5740
  "appSwitcher.homeSubtitle": "Sekilas ruang kerja Anda",
5478
5741
  "appSwitcher.chat": "Obrolan",
5479
5742
  "appSwitcher.chatSubtitle": "Percakapan, perpustakaan, dan otomatisasi",
5743
+ "appSwitcher.omnichannel": "Omnichannel",
5480
5744
  "appSwitcher.apps": "Apps",
5481
5745
  "appSwitcher.appsSubtitle": "Aplikasi operasional untuk kasus penggunaan Anda",
5482
5746
  "appSwitcher.console": "Konsol",
@@ -9528,6 +9792,7 @@ var id_default = {
9528
9792
  "platformNav.appMenu": "Opsi untuk {name}",
9529
9793
  "platformNav.skip": "Langsung ke konten",
9530
9794
  "platformNav.description.chat": "Bekerja bersama agen melalui percakapan.",
9795
+ "platformNav.description.omnichannel": "Jawab chat WhatsApp pelanggan bersama tim Anda.",
9531
9796
  "platformNav.description.agents": "Konfigurasi, lengkapi, dan kelola agen.",
9532
9797
  "platformNav.description.workflows": "Rancang proses dan pantau eksekusinya.",
9533
9798
  "platformNav.description.functions": "Buat dan jalankan fungsi yang dapat digunakan kembali.",
@@ -9536,6 +9801,265 @@ var id_default = {
9536
9801
  "platformNav.description.console": "Tinjau metrik, trace, dan evaluasi.",
9537
9802
  "platformNav.description.forge": "Kembangkan aplikasi di ruang kerja terhubung.",
9538
9803
  "platformNav.description.home": "Kembali ke ruang kerja Anda.",
9804
+ "omnichannel.nav.label": "Halaman Omnichannel",
9805
+ "omnichannel.nav.inbox": "Kotak Masuk",
9806
+ "omnichannel.nav.channels": "Kanal",
9807
+ "omnichannel.nav.team": "Tim",
9808
+ "omnichannel.inbox.connect.title": "Tambahkan kanal",
9809
+ "omnichannel.inbox.connect.body": "Chat masuk ke sini setelah kanal terhubung.",
9810
+ "omnichannel.inbox.connect.action": "Buka Kanal",
9811
+ "omnichannel.inbox.list": "Chat",
9812
+ "omnichannel.inbox.views": "Tampilan",
9813
+ "omnichannel.inbox.view.mine": "Milik saya",
9814
+ "omnichannel.inbox.view.waiting": "Menunggu",
9815
+ "omnichannel.inbox.view.agent": "Dengan Agent",
9816
+ "omnichannel.inbox.view.all": "Semua chat",
9817
+ "omnichannel.inbox.viewEmpty.mine": "Belum ada chat yang Anda tangani.",
9818
+ "omnichannel.inbox.viewEmpty.waiting": "Tidak ada chat yang menunggu orang.",
9819
+ "omnichannel.inbox.viewEmpty.agent": "Agent sedang tidak menjawab chat apa pun.",
9820
+ "omnichannel.inbox.viewEmpty.all": "Belum ada chat. Saat pelanggan menulis ke kanal yang terhubung, chatnya muncul di sini.",
9821
+ "omnichannel.inbox.viewEmpty.resolved": "Belum ada chat yang selesai.",
9822
+ "omnichannel.inbox.panel": "Tampilan dan kanal",
9823
+ "omnichannel.inbox.panelOpen": "Tampilkan tampilan dan kanal",
9824
+ "omnichannel.inbox.panelCollapse": "Sembunyikan tampilan dan kanal",
9825
+ "omnichannel.inbox.segment.label": "Chat terbuka atau selesai",
9826
+ "omnichannel.inbox.segment.open": "Terbuka",
9827
+ "omnichannel.inbox.segment.resolved": "Selesai",
9828
+ "omnichannel.inbox.channelEmpty": "Belum ada chat di nomor ini.",
9829
+ "omnichannel.inbox.attachment": "Lampiran",
9830
+ "omnichannel.inbox.search.placeholder": "Cari chat",
9831
+ "omnichannel.inbox.search.empty": "Tidak ada yang cocok dengan pencarian Anda.",
9832
+ "omnichannel.inbox.search.chats": "Chat",
9833
+ "omnichannel.inbox.search.messages": "Pesan",
9834
+ "omnichannel.inbox.preview.note": "Catatan: {text}",
9835
+ "omnichannel.inbox.preview.agent": "Agent: {text}",
9836
+ "omnichannel.inbox.preview.you": "Anda: {text}",
9837
+ "omnichannel.inbox.preview.humanAgent": "Human Agent: {text}",
9838
+ "omnichannel.inbox.messageType.image": "Foto",
9839
+ "omnichannel.inbox.messageType.video": "Video",
9840
+ "omnichannel.inbox.messageType.audio": "Audio",
9841
+ "omnichannel.inbox.messageType.document": "Dokumen",
9842
+ "omnichannel.inbox.messageType.sticker": "Stiker",
9843
+ "omnichannel.inbox.messageType.location": "Lokasi",
9844
+ "omnichannel.inbox.messageType.contacts": "Kontak",
9845
+ "omnichannel.inbox.messageType.other": "Pesan",
9846
+ "omnichannel.inbox.standing.agent": "Dengan Agent",
9847
+ "omnichannel.inbox.standing.waiting": "Menunggu orang",
9848
+ "omnichannel.inbox.standing.mine": "Dengan Anda",
9849
+ "omnichannel.inbox.standing.other": "Dengan {name}",
9850
+ "omnichannel.inbox.via": "melalui {number}",
9851
+ "omnichannel.inbox.unread": "{count} belum dibaca",
9852
+ "omnichannel.inbox.accept": "Terima",
9853
+ "omnichannel.inbox.secondsLeft": "{seconds} dtk lagi",
9854
+ "omnichannel.inbox.acceptFailed": "Chat tidak dapat diterima",
9855
+ "omnichannel.inbox.thread": "Chat",
9856
+ "omnichannel.inbox.back": "Kembali ke daftar chat",
9857
+ "omnichannel.inbox.older": "Tampilkan pesan sebelumnya",
9858
+ "omnichannel.inbox.more": "Tampilkan chat lainnya",
9859
+ "omnichannel.inbox.note": "Catatan \xB7 hanya tim Anda yang melihat ini",
9860
+ "omnichannel.inbox.sender.agent": "Agent",
9861
+ "omnichannel.inbox.sender.you": "Anda",
9862
+ "omnichannel.inbox.sender.humanAgent": "Human Agent",
9863
+ "omnichannel.inbox.status.pending": "Mengirim",
9864
+ "omnichannel.inbox.status.sent": "Terkirim",
9865
+ "omnichannel.inbox.status.delivered": "Diterima",
9866
+ "omnichannel.inbox.status.read": "Dibaca",
9867
+ "omnichannel.inbox.status.failed": "Tidak terkirim",
9868
+ "omnichannel.inbox.status.suppressed": "Tidak terkirim",
9869
+ "omnichannel.inbox.attachment.storing": "Memuat lampiran\u2026",
9870
+ "omnichannel.inbox.attachment.failed": "Lampiran tidak dapat dimuat.",
9871
+ "omnichannel.inbox.lock.windowClosed": "Pelanggan terakhir menulis lebih dari 24 jam yang lalu. WhatsApp kini hanya mengizinkan pesan template yang disetujui, yang tidak dikirim oleh Omnichannel. Anda dapat menyelesaikan chat ini; chat terbuka lagi saat pelanggan menulis.",
9872
+ "omnichannel.inbox.lock.resolvedByYou": "Anda menyelesaikan chat ini. Anda dapat membacanya, tetapi chat ini hanya-baca bagi Anda sampai pelanggan membutuhkan orang lagi.",
9873
+ "omnichannel.inbox.gone.title": "Chat ini tidak tersedia untuk Anda",
9874
+ "omnichannel.inbox.gone.body": "Chat ini mungkin sudah dialihkan ke orang lain atau diselesaikan.",
9875
+ "omnichannel.inbox.pick.title": "Pilih chat",
9876
+ "omnichannel.inbox.pick.body": "Pilih chat dari daftar untuk membacanya.",
9877
+ "omnichannel.inbox.jump.new": "Pesan baru",
9878
+ "omnichannel.inbox.jump.latest": "Ke pesan terbaru",
9879
+ "omnichannel.inbox.unreadFrom": "Pesan belum dibaca",
9880
+ "omnichannel.inbox.failure.why": "Kenapa?",
9881
+ "omnichannel.inbox.failure.title": "Pesan ini tidak sampai ke pelanggan",
9882
+ "omnichannel.inbox.copy": "Salin",
9883
+ "omnichannel.inbox.copied": "Tersalin",
9884
+ "omnichannel.inbox.resend": "Kirim lagi",
9885
+ "omnichannel.inbox.composer.tabs": "Balas atau catatan",
9886
+ "omnichannel.inbox.composer.reply": "Balas",
9887
+ "omnichannel.inbox.composer.note": "Catatan",
9888
+ "omnichannel.inbox.composer.replyPlaceholder": "Tulis ke pelanggan",
9889
+ "omnichannel.inbox.composer.notePlaceholder": "Tulis catatan yang hanya dilihat tim Anda",
9890
+ "omnichannel.inbox.composer.send": "Kirim",
9891
+ "omnichannel.inbox.composer.addNote": "Tambahkan catatan",
9892
+ "omnichannel.inbox.composer.hint": "Enter untuk kirim \xB7 Shift + Enter untuk baris baru",
9893
+ "omnichannel.inbox.composer.attach": "Lampirkan file",
9894
+ "omnichannel.inbox.composer.removeAttachment": "Hapus file",
9895
+ "omnichannel.inbox.composer.uploading": "Mengunggah file\u2026",
9896
+ "omnichannel.inbox.composer.tooLarge": "Ukuran file lebih dari 10 MB.",
9897
+ "omnichannel.inbox.composer.wrongType": "Jenis file ini tidak dapat dikirim di WhatsApp.",
9898
+ "omnichannel.inbox.composer.uploadFailed": "File tidak dapat dilampirkan",
9899
+ "omnichannel.inbox.composer.sendFailed": "Pesan tidak terkirim",
9900
+ "omnichannel.inbox.composer.noteFailed": "Catatan tidak ditambahkan",
9901
+ "omnichannel.inbox.composer.closing": "Jendela balasan: sisa {hours} jam",
9902
+ "omnichannel.inbox.composer.closingSoon": "Jendela balasan: sisa kurang dari 1 jam",
9903
+ "omnichannel.inbox.composer.takeOver": "Ambil alih untuk membalas",
9904
+ "omnichannel.inbox.composer.other": "{name} sedang menangani chat ini",
9905
+ "omnichannel.inbox.refused.closed": "Chat ini sudah ditutup.",
9906
+ "omnichannel.inbox.refused.changed": "Chat ini berubah sementara itu. Chat telah dimuat ulang.",
9907
+ "omnichannel.inbox.refused.taken": "Orang lain sudah lebih dulu mengambil chat ini.",
9908
+ "omnichannel.inbox.refused.takeOverFirst": "Ambil alih chat ini terlebih dahulu.",
9909
+ "omnichannel.inbox.refused.readOnly": "Chat ini hanya dapat dibaca oleh Anda.",
9910
+ "omnichannel.inbox.refused.gone": "Chat ini tidak lagi tersedia untuk Anda.",
9911
+ "omnichannel.inbox.refused.alreadyWithPerson": "Chat ini sudah dipegang seseorang.",
9912
+ "omnichannel.inbox.refused.withAgent": "Chat ini sekarang dipegang Agent. Ambil alih terlebih dulu.",
9913
+ "omnichannel.inbox.refused.doneCommand": "Untuk menutup chat, gunakan Selesaikan, bukan mengirim /done.",
9914
+ "omnichannel.inbox.refused.tooLong": "Pesan WhatsApp berisi paling banyak 4.096 karakter.",
9915
+ "omnichannel.inbox.action.takeOver": "Ambil alih",
9916
+ "omnichannel.inbox.action.transfer": "Alihkan",
9917
+ "omnichannel.inbox.action.resolve": "Selesaikan",
9918
+ "omnichannel.inbox.action.resolveTitle": "Selesaikan chat ini?",
9919
+ "omnichannel.inbox.action.resolveBody": "Chat kembali ke Agent, yang diberi tahu bagaimana kasus berakhir.",
9920
+ "omnichannel.inbox.action.transferTo": "Alihkan ke",
9921
+ "omnichannel.inbox.action.transferNobody": "Belum ada orang lain yang membuka Omnichannel",
9922
+ "omnichannel.inbox.action.person": "{role} \xB7 {presence}",
9923
+ "omnichannel.inbox.action.transferLoading": "Memuat daftar orang\u2026",
9924
+ "omnichannel.inbox.action.takeOverFailed": "Chat tidak dapat diambil alih",
9925
+ "omnichannel.inbox.action.transferFailed": "Chat tidak dapat dialihkan",
9926
+ "omnichannel.inbox.action.resolveFailed": "Chat tidak dapat diselesaikan",
9927
+ "omnichannel.inbox.contact.title": "Pelanggan",
9928
+ "omnichannel.inbox.contact.open": "Detail pelanggan",
9929
+ "omnichannel.inbox.contact.details": "Detail",
9930
+ "omnichannel.inbox.contact.email": "Email",
9931
+ "omnichannel.inbox.contact.location": "Lokasi",
9932
+ "omnichannel.inbox.contact.notes": "Tentang pelanggan ini",
9933
+ "omnichannel.inbox.contact.emailPlaceholder": "Tambahkan email",
9934
+ "omnichannel.inbox.contact.locationPlaceholder": "Tambahkan kota atau wilayah",
9935
+ "omnichannel.inbox.contact.notesPlaceholder": "Hal yang perlu diketahui tim, misalnya bahasa yang disukai",
9936
+ "omnichannel.inbox.contact.saving": "Menyimpan\u2026",
9937
+ "omnichannel.inbox.contact.saved": "Tersimpan",
9938
+ "omnichannel.inbox.contact.saveFailed": "Detail pelanggan tidak tersimpan",
9939
+ "omnichannel.inbox.cases.title": "Riwayat",
9940
+ "omnichannel.inbox.cases.none": "Belum ada yang menangani chat ini.",
9941
+ "omnichannel.inbox.cases.reason": "\u201C{reason}\u201D",
9942
+ "omnichannel.inbox.cases.handedOver": "Agent menyerahkan \xB7 {time}",
9943
+ "omnichannel.inbox.cases.takenOver": "Diambil alih dari Agent \xB7 {time}",
9944
+ "omnichannel.inbox.cases.assigned": "Ditangani {name}",
9945
+ "omnichannel.inbox.cases.firstAssigned": "Pertama ditangani \xB7 {time}",
9946
+ "omnichannel.inbox.cases.firstReply": "Balasan pertama oleh {name} \xB7 {time}",
9947
+ "omnichannel.inbox.cases.open": "Terbuka",
9948
+ "omnichannel.inbox.cases.resolved": "Diselesaikan oleh {name} \xB7 {time}",
9949
+ "omnichannel.inbox.cases.expired": "Ditutup setelah 24 jam tanpa balasan \xB7 {time}",
9950
+ "omnichannel.inbox.cases.returned": "Dikembalikan ke Agent \xB7 {time}",
9951
+ "omnichannel.inbox.search.customers": "Pelanggan",
9952
+ "omnichannel.inbox.search.noChat": "Anda tidak memiliki chat dengan pelanggan ini yang dapat dibuka.",
9953
+ "omnichannel.role.supervisor": "Supervisor",
9954
+ "omnichannel.role.humanAgent": "Human Agent",
9955
+ "omnichannel.presence.label": "Online",
9956
+ "omnichannel.presence.online": "Online",
9957
+ "omnichannel.presence.away": "Away",
9958
+ "omnichannel.presence.goOnline": "Klik untuk menjadi Online",
9959
+ "omnichannel.presence.goAway": "Klik untuk menjadi Away",
9960
+ "omnichannel.presence.awayNotice": "Anda sedang Away. Chat baru ditawarkan lebih dulu ke orang yang Online.",
9961
+ "omnichannel.presence.goOnlineAction": "Jadi Online",
9962
+ "omnichannel.presence.closeNotice": "Tutup",
9963
+ "omnichannel.presence.hint": "Chat yang membutuhkan orang tetap di Menunggu untuk diambil siapa saja. Orang yang Online ditawari lebih dulu.",
9964
+ "omnichannel.presence.failed": "Status Anda tidak diubah",
9965
+ "omnichannel.channels.title": "Kanal",
9966
+ "omnichannel.channels.add.open": "Tambah kanal",
9967
+ "omnichannel.channels.add.title": "Tambah kanal",
9968
+ "omnichannel.channels.add.description": "Pilih jenis kanal, lalu isi detailnya.",
9969
+ "omnichannel.channels.add.back": "Pilih jenis lain",
9970
+ "omnichannel.channels.whatsapp.provider": "melalui Kata",
9971
+ "omnichannel.channels.whatsapp.description": "Jawab pesan yang dikirim pelanggan ke nomor WhatsApp. Anda memerlukan login WhatsApp Kata untuk nomor tersebut.",
9972
+ "omnichannel.channels.whatsapp.rule": "Satu nomor WhatsApp hanya dapat dihubungkan di satu tempat. Jika nomor ini terhubung ke Agent di Agents \u2192 Resources \u2192 Channels, hapus dulu di sana.",
9973
+ "omnichannel.channels.empty.title": "Hubungkan kanal pertama Anda",
9974
+ "omnichannel.channels.empty.body": "Tambahkan kanal agar pesan pelanggan masuk ke Inbox.",
9975
+ "omnichannel.channels.column.name": "Nama",
9976
+ "omnichannel.channels.column.kind": "Jenis",
9977
+ "omnichannel.channels.column.number": "Nomor",
9978
+ "omnichannel.channels.column.status": "Status",
9979
+ "omnichannel.channels.status.off": "Nonaktif",
9980
+ "omnichannel.channels.status.waiting": "Menunggu pesan pertama dari Kata",
9981
+ "omnichannel.channels.status.receiving": "Menerima pesan",
9982
+ "omnichannel.channels.answeredBy.label": "Dijawab pertama oleh",
9983
+ "omnichannel.channels.answeredBy.nobody": "Tidak ada",
9984
+ "omnichannel.channels.answeredBy.nobodyCell": "Tidak ada (dijawab orang)",
9985
+ "omnichannel.channels.answeredBy.unknown": "Agent yang tidak dipublikasikan",
9986
+ "omnichannel.channels.answeredBy.hint": "Pilih \u201CTidak ada\u201D agar setiap chat diteruskan ke orang.",
9987
+ "omnichannel.channels.connect.description": "Kata memeriksa login sebelum nomor disimpan.",
9988
+ "omnichannel.channels.connect.name": "Nama",
9989
+ "omnichannel.channels.connect.nameRequired": "Masukkan nama.",
9990
+ "omnichannel.channels.connect.phone": "Nomor WhatsApp",
9991
+ "omnichannel.channels.connect.phoneRequired": "Masukkan nomor WhatsApp.",
9992
+ "omnichannel.channels.connect.phoneInvalid": "Masukkan nomor telepon yang valid, misalnya +62 21 5000 200.",
9993
+ "omnichannel.channels.connect.submit": "Hubungkan",
9994
+ "omnichannel.channels.connect.submitting": "Menghubungkan\u2026",
9995
+ "omnichannel.channels.connect.done": "{name} terhubung.",
9996
+ "omnichannel.channels.login.heading": "Login WhatsApp Kata",
9997
+ "omnichannel.channels.login.label": "Login Kata",
9998
+ "omnichannel.channels.login.username": "Nama pengguna",
9999
+ "omnichannel.channels.login.password": "Kata sandi",
10000
+ "omnichannel.channels.login.usernameRequired": "Masukkan nama pengguna.",
10001
+ "omnichannel.channels.login.passwordRequired": "Masukkan kata sandi.",
10002
+ "omnichannel.channels.login.rejected": "Kata tidak menerima login ini",
10003
+ "omnichannel.channels.login.none": "Belum diatur",
10004
+ "omnichannel.channels.login.change": "Ubah login",
10005
+ "omnichannel.channels.login.changeTitle": "Ubah login WhatsApp Kata",
10006
+ "omnichannel.channels.login.changeDescription": "Kata memeriksa login baru sebelum disimpan.",
10007
+ "omnichannel.channels.login.saved": "Login diubah",
10008
+ "omnichannel.channels.error.unreachable": "Kata tidak dapat dihubungi. Coba lagi.",
10009
+ "omnichannel.channels.error.failed": "Perubahan tidak dapat disimpan. Coba lagi.",
10010
+ "omnichannel.channels.address.title": "Kirim alamat ini ke Kata Support",
10011
+ "omnichannel.channels.address.copy": "Salin",
10012
+ "omnichannel.channels.address.copied": "Tersalin",
10013
+ "omnichannel.channels.address.waiting": "Kata Support memasangnya di nomor Anda. Halaman ini berubah menjadi \u201CMenerima pesan\u201D saat pesan pertama tiba.",
10014
+ "omnichannel.channels.turnOff.action": "Nonaktifkan",
10015
+ "omnichannel.channels.turnOff.done": "{name} nonaktif. Chat-nya tetap disimpan.",
10016
+ "omnichannel.channels.turnOff.offNote": "Kanal ini nonaktif: chat-nya tetap disimpan, dan pesan baru tidak diterima. Aktifkan untuk menerimanya lagi.",
10017
+ "omnichannel.channels.turnOn.action": "Aktifkan",
10018
+ "omnichannel.channels.turnOn.done": "{name} aktif.",
10019
+ "omnichannel.channels.replace.toggle": "Ganti alamat ini (jarang diperlukan)",
10020
+ "omnichannel.channels.replace.body": "Lakukan ini hanya jika alamatnya bocor.",
10021
+ "omnichannel.channels.replace.action": "Ganti alamat ini",
10022
+ "omnichannel.channels.replace.confirmTitle": "Ganti alamat ini?",
10023
+ "omnichannel.channels.replace.confirmBody": "Alamat saat ini langsung berhenti berfungsi. Pesan yang dikirim Kata ke alamat itu sebelum Kata Support memasang alamat baru akan hilang. Lakukan ini hanya jika alamatnya bocor.",
10024
+ "omnichannel.channels.replace.confirm": "Ganti",
10025
+ "omnichannel.channels.replace.done": "Alamat telah diganti.",
10026
+ "omnichannel.channels.cancel": "Batal",
10027
+ "omnichannel.channels.save": "Simpan",
10028
+ "omnichannel.channels.saving": "Menyimpan\u2026",
10029
+ "omnichannel.channels.saved": "Tersimpan",
10030
+ "omnichannel.team.title": "Orang di ruang kerja ini",
10031
+ "omnichannel.team.intro": "Pemilik dan admin ruang kerja otomatis menjadi Supervisor. Beri orang lain peran Human Agent agar dapat menjawab chat, atau peran Supervisor agar juga dapat melihat semua chat dan mengelola kanal.",
10032
+ "omnichannel.team.search": "Cari orang",
10033
+ "omnichannel.team.empty": "Tidak ada orang yang ditemukan.",
10034
+ "omnichannel.team.column.name": "Nama",
10035
+ "omnichannel.team.column.workspaceRole": "Peran ruang kerja",
10036
+ "omnichannel.team.column.omnichannelRole": "Peran Omnichannel",
10037
+ "omnichannel.team.column.now": "Sekarang",
10038
+ "omnichannel.team.role.agent": "Human Agent",
10039
+ "omnichannel.team.role.supervisor": "Supervisor",
10040
+ "omnichannel.team.role.byDefault": "{role} (sebagai {workspaceRole} ruang kerja)",
10041
+ "omnichannel.team.workspaceRole.owner": "Pemilik",
10042
+ "omnichannel.team.workspaceRole.admin": "Admin",
10043
+ "omnichannel.team.workspaceRole.editor": "Editor",
10044
+ "omnichannel.team.workspaceRole.viewer": "Viewer",
10045
+ "omnichannel.team.workspaceRole.operator": "Operator",
10046
+ "omnichannel.team.workspaceRole.member": "Member",
10047
+ "omnichannel.team.workspaceRole.business_user": "Business user",
10048
+ "omnichannel.team.now.online": "Online",
10049
+ "omnichannel.team.now.away": "Away",
10050
+ "omnichannel.team.now.never": "Belum pernah membuka Omnichannel",
10051
+ "omnichannel.team.now.chatsOne": "1 chat",
10052
+ "omnichannel.team.now.chatsOther": "{count} chat",
10053
+ "omnichannel.team.saveError": "Peran untuk {name} tidak dapat disimpan. Coba lagi.",
10054
+ "omnichannel.team.rolesError": "Peran Omnichannel tidak dapat dimuat.",
10055
+ "omnichannel.team.rolesForbidden": "Hanya pemilik dan admin ruang kerja yang dapat melihat dan mengubah peran Omnichannel.",
10056
+ "omnichannel.supervisorOnly.title": "Hanya Supervisor yang dapat membuka halaman ini",
10057
+ "omnichannel.supervisorOnly.body": "Minta kepada pemilik atau admin ruang kerja jika Anda memerlukannya.",
10058
+ "omnichannel.unavailable.title": "Omnichannel tidak tersedia di sini",
10059
+ "omnichannel.unavailable.body": "Omnichannel belum diaktifkan di ruang kerja ini, atau Anda tidak memiliki peran di dalamnya. Hubungi admin ruang kerja Anda.",
10060
+ "omnichannel.loadError.title": "Omnichannel tidak dapat dimuat",
10061
+ "omnichannel.loadError.body": "Periksa koneksi Anda lalu coba lagi.",
10062
+ "omnichannel.loadError.retry": "Coba lagi",
9539
10063
  "platformNav.allApplications": "Semua aplikasi",
9540
10064
  "platformNav.filterApplications": "Filter aplikasi",
9541
10065
  "platformNav.noPins": "Sematkan aplikasi agar tetap ada di bilah samping.",
@@ -9655,8 +10179,10 @@ var id_default = {
9655
10179
  "platformNav.library.requests.needsOrganizationAdmin": "Admin organisasi harus mengaktifkannya untuk organisasi terlebih dahulu.",
9656
10180
  "platformNav.library.details.note.installable": "Organisasi Anda telah mengaktifkannya. Pasang agar tersedia di ruang kerja ini.",
9657
10181
  "platformNav.library.status.noScreen": "Tersedia di sini, tidak ada yang dibuka",
10182
+ "platformNav.library.status.needsRole": "Minta peran di {name} kepada pemilik atau admin ruang kerja",
9658
10183
  "platformNav.library.status.requestedOn": "Diminta {date}",
9659
10184
  "platformNav.library.details.note.noScreen": "Tersedia di ruang kerja ini. Aplikasi ini bekerja di belakang layar, jadi tidak ada yang perlu dibuka.",
10185
+ "platformNav.library.details.note.needsRole": "Tersedia di ruang kerja ini. Untuk membukanya, minta peran di {name} kepada pemilik atau admin ruang kerja.",
9660
10186
  "admin.usageTiers.section.subtitle": "Satu jatah kredit per orang, per periode. Orang ditetapkan ke tingkat di Anggota.",
9661
10187
  "admin.usageTiers.rules.summary": "Jatah berjalan per {window}, {tz}",
9662
10188
  "admin.usageTiers.rules.burst": "burst dihitung selama {len} berjalan",
@@ -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-6VYLZSJV.js';
4
+ import { useIsMobile, useTranslation } from './chunk-77OYEA4D.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,5 +1,5 @@
1
1
  'use client';
2
- import { useTranslation } from './chunk-6VYLZSJV.js';
2
+ import { useTranslation } from './chunk-77OYEA4D.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
3
  import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-T5SANYSX.js';
4
- import { useIsMobile, useTranslation } from './chunk-6VYLZSJV.js';
4
+ import { useIsMobile, useTranslation } from './chunk-77OYEA4D.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';
@@ -13496,7 +13496,7 @@ function connectVerb(opts) {
13496
13496
 
13497
13497
  // ../platform-kit/src/lib/platform-scope-path.ts
13498
13498
  var SLUG = /^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/;
13499
- var WORKSPACE_APPS = /* @__PURE__ */ new Set(["home", "chat", "apps", "applications", "blueprint", "forge"]);
13499
+ var WORKSPACE_APPS = /* @__PURE__ */ new Set(["home", "chat", "omnichannel", "apps", "applications", "blueprint", "forge"]);
13500
13500
  var CONSOLE_APPS = /* @__PURE__ */ new Set(["agents", "workflows", "functions"]);
13501
13501
  var CONSOLE_UNSCOPED = /* @__PURE__ */ new Set(["workspaces", "connections"]);
13502
13502
  var ORG_APPS = /* @__PURE__ */ new Set(["blueprint", "settings", "admin"]);
@@ -52056,6 +52056,15 @@ function renderPluginBlock(language, content, isStreaming, opts) {
52056
52056
  }
52057
52057
 
52058
52058
  // ../chat/src/ui/chat/user-message/utils.ts
52059
+ function attachmentFileOf(ref) {
52060
+ return {
52061
+ url: ref.url,
52062
+ name: ref.filename,
52063
+ mimeType: ref.mediaType,
52064
+ size: ref.size,
52065
+ storagePath: ref.storagePath
52066
+ };
52067
+ }
52059
52068
  function getFileCategory(mediaType) {
52060
52069
  if (mediaType.startsWith("image/")) return "image";
52061
52070
  if (mediaType.startsWith("audio/")) return "audio";
@@ -52177,4 +52186,4 @@ react-is/cjs/react-is.development.js:
52177
52186
  *)
52178
52187
  */
52179
52188
 
52180
- export { AGENT_AVATAR_SIZE, ActionMenu, AgentRoutineForm, AgentsProvider, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, ArrowRightIcon, ArrowUpIcon, ArrowsShowIcon, ArtifactActionsMenu, AudioIcon, BookIcon, ChatImageLightbox, CircleCheckIcon, CitationViewerContext, ConnectRunnerContext, DecisionCard, DotGrid1x3HorizontalTightIcon, DropdownMenu2 as DropdownMenu, DropdownMenuTrigger2 as DropdownMenuTrigger, ExclamationCircleIcon, EyeOpenIcon, EyeSlashIcon, FileDownloadIcon2 as FileDownloadIcon, FilePdfIcon2 as FilePdfIcon, FileThumbnail, GridSpinner, ImageResultsGallery, Images1Icon2 as Images1Icon, Input, Label, LayoutDashboardIcon, LayoutGrid1Icon, LoaderIcon, MarkdownRenderer, MessageDecisionCards, MessageStepsGroup, MobileScreenSheet, PanelEdgeRing, PluginProvider, ShieldCheckIcon, SlidesWideIcon2 as SlidesWideIcon, SourceFavicon, SpreadsheetIcon, StudioDisplayIcon, StyledDropdownMenuContent, StyledDropdownMenuItem, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VideoIcon, WorkspaceProvider, WorldIcon, ZoomableImage, agentRoutineKeys, appsKeys, artifactCategory, artifactFormatIcon, artifactFormatSubtitle, authFetch, avatarMotionForStream, buildTenantUrlAbsolute, canvasId, dedup, dedupeImageResults, errorText, exportDocumentPdf, extractCitationsFromSteps, extractDomain, extractImagesFromSteps, formatDecisionTime, formatFileSize, formatRelativeTime, getBearerHeadersForApi, getDocumentStreamArtifacts, getFileCategory, getMessageCreatedAtMs, getMessageDisplayTimestampValue, getPersonConfirmation, getSdkDarkMode, getToolErrorText, getToolInput, getToolName, getToolOutput, getToolState, isApprovalRequested, isRequestHumanTool, isToolPart, processMessageParts, renderPluginBlock, requestPaneFocus, resolveArtifactIconFormat, resolveBearerHeaders, resolvePluginLanguage, resolveSourceDisplay, setSdkConversationPath, setSdkDarkMode, sourceKind, subscribeSdkDarkMode, tableToCsv, tableToMarkdown, tableToXlsx, treatyErrorMessage, unwrap, unwrapData, unwrapDataDeep, useAgentConnectionStatus, useAgentHistorySource, useAgentPanelStore, useAgentRoster, useArtifact, useArtifactFileBytes, useArtifactFileObjectUrl, useArtifactPreviewFileObjectUrl, useArtifactStore, useArtifactVersion, useArtifactVersionPreviewFileObjectUrl, useArtifactVersions, useArtifacts, useBasePath, useBrand, useCanvasStore, useCatalog, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useChatOverviewStore, useCitationViewer, useClient, useConnectRunner, useConversationDesktopStatus, useDownloadArtifact, useInstalls, useKeyboardInset, useOptionalAgentsContext, useOptionalWorkspaceContext, usePaneFocusStore, usePathname2 as usePathname, usePlugins, useRestoreArtifactVersion, useRevokeGrant, useRouter2 as useRouter, useSession, useSessionPendingApprovals, useSourcesEnrichment, useStartUserConnect, useUpdateArtifact, useUpsertGrant, useWorkspaceContext, useWorkspaceSlug };
52189
+ export { AGENT_AVATAR_SIZE, ActionMenu, AgentRoutineForm, AgentsProvider, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, ArrowRightIcon, ArrowUpIcon, ArrowsShowIcon, ArtifactActionsMenu, AudioIcon, BookIcon, ChatImageLightbox, CircleCheckIcon, CitationViewerContext, ConnectRunnerContext, DecisionCard, DotGrid1x3HorizontalTightIcon, DropdownMenu2 as DropdownMenu, DropdownMenuTrigger2 as DropdownMenuTrigger, ExclamationCircleIcon, EyeOpenIcon, EyeSlashIcon, FileDownloadIcon2 as FileDownloadIcon, FilePdfIcon2 as FilePdfIcon, FileThumbnail, GridSpinner, ImageResultsGallery, Images1Icon2 as Images1Icon, Input, Label, LayoutDashboardIcon, LayoutGrid1Icon, LoaderIcon, MarkdownRenderer, MessageDecisionCards, MessageStepsGroup, MobileScreenSheet, PanelEdgeRing, PluginProvider, ShieldCheckIcon, SlidesWideIcon2 as SlidesWideIcon, SourceFavicon, SpreadsheetIcon, StudioDisplayIcon, StyledDropdownMenuContent, StyledDropdownMenuItem, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VideoIcon, WorkspaceProvider, WorldIcon, ZoomableImage, agentRoutineKeys, appsKeys, artifactCategory, artifactFormatIcon, artifactFormatSubtitle, attachmentFileOf, authFetch, avatarMotionForStream, buildTenantUrlAbsolute, canvasId, dedup, dedupeImageResults, errorText, exportDocumentPdf, extractCitationsFromSteps, extractDomain, extractImagesFromSteps, formatDecisionTime, formatFileSize, formatRelativeTime, getBearerHeadersForApi, getDocumentStreamArtifacts, getFileCategory, getMessageCreatedAtMs, getMessageDisplayTimestampValue, getPersonConfirmation, getSdkDarkMode, getToolErrorText, getToolInput, getToolName, getToolOutput, getToolState, isApprovalRequested, isRequestHumanTool, isToolPart, processMessageParts, renderPluginBlock, requestPaneFocus, resolveArtifactIconFormat, resolveBearerHeaders, resolvePluginLanguage, resolveSourceDisplay, setSdkConversationPath, setSdkDarkMode, sourceKind, subscribeSdkDarkMode, tableToCsv, tableToMarkdown, tableToXlsx, treatyErrorMessage, unwrap, unwrapData, unwrapDataDeep, useAgentConnectionStatus, useAgentHistorySource, useAgentPanelStore, useAgentRoster, useArtifact, useArtifactFileBytes, useArtifactFileObjectUrl, useArtifactPreviewFileObjectUrl, useArtifactStore, useArtifactVersion, useArtifactVersionPreviewFileObjectUrl, useArtifactVersions, useArtifacts, useBasePath, useBrand, useCanvasStore, useCatalog, useChatCapabilities, useChatCapabilityEnabled, useChatOptInEnabled, useChatOverviewStore, useCitationViewer, useClient, useConnectRunner, useConversationDesktopStatus, useDownloadArtifact, useInstalls, useKeyboardInset, useOptionalAgentsContext, useOptionalWorkspaceContext, usePaneFocusStore, usePathname2 as usePathname, usePlugins, useRestoreArtifactVersion, useRevokeGrant, useRouter2 as useRouter, useSession, useSessionPendingApprovals, useSourcesEnrichment, useStartUserConnect, useUpdateArtifact, useUpsertGrant, useWorkspaceContext, useWorkspaceSlug };
@@ -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, unwrapDataDeep, formatDecisionTime, DecisionCard, LoaderIcon, formatRelativeTime, CircleCheckIcon, agentRoutineKeys, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-LIITVKDL.js';
2
+ import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, useChatOverviewStore, dedup, extractDomain, sourceKind, SourceFavicon, Input, exportDocumentPdf, FilePdfIcon, StudioDisplayIcon, WorldIcon, MessageStepsGroup, getToolState, getToolInput, getToolErrorText, useChatOptInEnabled, ArrowRightIcon, formatFileSize, FileThumbnail, attachmentFileOf, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, unwrapDataDeep, formatDecisionTime, DecisionCard, LoaderIcon, formatRelativeTime, CircleCheckIcon, agentRoutineKeys, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-X3BXBZ2O.js';
3
3
  import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-T5SANYSX.js';
4
- import { useIsMobile, useTranslation } from './chunk-6VYLZSJV.js';
4
+ import { useIsMobile, useTranslation } from './chunk-77OYEA4D.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';
@@ -6422,7 +6422,7 @@ function AttachmentPreviewSheet({
6422
6422
  children: [
6423
6423
  /* @__PURE__ */ jsxs(SheetHeader, { className: "flex-row items-center justify-between gap-2 border-b px-4 py-2", children: [
6424
6424
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
6425
- /* @__PURE__ */ jsx(SheetTitle, { className: "truncate text-sm font-medium", children: file?.filename ?? "Document" }),
6425
+ /* @__PURE__ */ jsx(SheetTitle, { className: "truncate text-sm font-medium", children: file?.name || "Document" }),
6426
6426
  /* @__PURE__ */ jsx(SheetDescription, { className: "sr-only", children: "Attachment preview." })
6427
6427
  ] }),
6428
6428
  fileUrl && /* @__PURE__ */ jsxs(
@@ -6453,7 +6453,18 @@ function AttachmentPreviewSheet({
6453
6453
  /* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto scrollbar", children: !file ? null : signing ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 p-6 text-sm text-muted-foreground", children: [
6454
6454
  /* @__PURE__ */ jsx(Spinner, {}),
6455
6455
  " Loading document\u2026"
6456
- ] }) : /* @__PURE__ */ jsx(PdfViewer, { fileUrl, fileRef: file }) })
6456
+ ] }) : /* @__PURE__ */ jsx(
6457
+ PdfViewer,
6458
+ {
6459
+ fileUrl,
6460
+ fileRef: {
6461
+ url: file.url,
6462
+ storagePath: file.storagePath,
6463
+ filename: file.name,
6464
+ mediaType: file.mimeType
6465
+ }
6466
+ }
6467
+ ) })
6457
6468
  ]
6458
6469
  }
6459
6470
  ) });
@@ -6597,7 +6608,7 @@ function GroupedAttachments({ files }) {
6597
6608
  /* @__PURE__ */ jsx(
6598
6609
  AttachmentPreviewSheet,
6599
6610
  {
6600
- file: selectedDocFile,
6611
+ file: selectedDocFile && attachmentFileOf(selectedDocFile),
6601
6612
  onOpenChange: (open) => !open && setSelectedDocFile(null)
6602
6613
  }
6603
6614
  )
package/dist/header.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { ChatHeader, ChatHeaderActions } from './chunk-TGZ5EV5G.js';
2
+ export { ChatHeader, ChatHeaderActions } from './chunk-3QTPT4SP.js';
3
3
  import './chunk-X3QVICX7.js';
4
- import './chunk-LIITVKDL.js';
4
+ import './chunk-X3BXBZ2O.js';
5
5
  import './chunk-CWAOLMFS.js';
6
6
  import './chunk-T5SANYSX.js';
7
- import './chunk-6VYLZSJV.js';
7
+ import './chunk-77OYEA4D.js';
8
8
  import './chunk-QBV7MAFV.js';
9
9
  import './chunk-PKNEC4LJ.js';
10
10
  import './chunk-UWKO24VT.js';
package/dist/message.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { Message, Thinking } from './chunk-7YAD64UC.js';
3
- import './chunk-LIITVKDL.js';
2
+ export { Message, Thinking } from './chunk-Z7CMGAC3.js';
3
+ import './chunk-X3BXBZ2O.js';
4
4
  import './chunk-CWAOLMFS.js';
5
5
  import './chunk-T5SANYSX.js';
6
- import './chunk-6VYLZSJV.js';
6
+ import './chunk-77OYEA4D.js';
7
7
  import './chunk-QBV7MAFV.js';
8
8
  import './chunk-PKNEC4LJ.js';
9
9
  import './chunk-UWKO24VT.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-67FRU3RR.js';
2
+ export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-FZHOLMMX.js';
3
3
  import './chunk-X3QVICX7.js';
4
4
  import './chunk-T5SANYSX.js';
5
- import './chunk-6VYLZSJV.js';
5
+ import './chunk-77OYEA4D.js';
6
6
  import './chunk-2P4IEVOQ.js';
7
7
  import './chunk-PUMRNN3R.js';
8
8
  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-R46XIQLR.js';
3
+ import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-L53QV2NP.js';
4
4
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
5
- import { useTranslation, useIsMobile } from './chunk-6VYLZSJV.js';
5
+ import { useTranslation, useIsMobile } from './chunk-77OYEA4D.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-R46XIQLR.js';
2
+ import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-L53QV2NP.js';
3
3
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
4
- import { useTranslation, useIsMobile } from './chunk-6VYLZSJV.js';
4
+ import { useTranslation, useIsMobile } from './chunk-77OYEA4D.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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontera-sdk/chat-ui",
3
- "version": "1.52.31",
3
+ "version": "1.52.33",
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.52.31",
93
- "@frontera-sdk/core": "1.52.31",
92
+ "@frontera-sdk/chat": "1.52.33",
93
+ "@frontera-sdk/core": "1.52.33",
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",