@frontera-sdk/chat-ui 1.53.14 → 1.53.15

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-F66BHU7S.js';
5
- import { NewSessionPrompt, keepCaretOnTap } from './chunk-2SX4XLQI.js';
4
+ import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-X6WR7JYK.js';
5
+ import { NewSessionPrompt, keepCaretOnTap } from './chunk-JMWT7YJF.js';
6
6
  import { PendingCards } from './chunk-SNLXL6Q5.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-67IW6PE4.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-GCPPMKGT.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-OYDGSDQX.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-UKJZW3SE.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-H4M6ZW55.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-DFZX3QDH.js';
15
15
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
16
16
  import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from './chunk-RQSMCGBR.js';
17
- import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-ZNCZ7QWY.js';
17
+ import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-4B7BE6BH.js';
18
18
  import './chunk-G4EXD5F3.js';
19
19
  import { AppIcon, frontera_icon_default, PhotoIcon, Folder1Icon, FileTextIcon, describeToolRow, SquareArrowTopRightIcon, ClipboardIcon, getToolMeta, useStreamdownPlugins, AppIconFrame, MessageResponse } from './chunk-OBAC3B64.js';
20
20
  import { Skeleton, Button, ScrollArea, ChevronDownMediumIcon, buttonVariants } from './chunk-UWKO24VT.js';
@@ -42397,7 +42397,7 @@ function SheetEditor({ content, onSave, readOnly = false }) {
42397
42397
  );
42398
42398
  }
42399
42399
  var PdfDocumentViewInner = dynamic(
42400
- () => import('./pdf-document-view-inner-WM23E6IG.js'),
42400
+ () => import('./pdf-document-view-inner-4EUWNXSB.js'),
42401
42401
  {
42402
42402
  ssr: false,
42403
42403
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "pdf" })
@@ -43216,7 +43216,7 @@ function HtmlDeckView({ content, inChat = false, versionSlot }) {
43216
43216
  !present && inChat && /* @__PURE__ */ jsx(DeckEditPanel, { currentIndex: sel, currentHtml: slides[sel]?.html ?? "" })
43217
43217
  ] });
43218
43218
  }
43219
- var Inner = dynamic(() => import('./pdf-deck-view-inner-B3GZ4OW5.js'), {
43219
+ var Inner = dynamic(() => import('./pdf-deck-view-inner-IQ25XH74.js'), {
43220
43220
  ssr: false,
43221
43221
  loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
43222
43222
  });
@@ -1562,6 +1562,7 @@ var en_default = {
1562
1562
  "admin.knowledge.activity.kind.remove": "Remove file",
1563
1563
  "admin.knowledge.activity.kind.rebuild": "Rebuild index",
1564
1564
  "admin.knowledge.activity.kind.floor": "Measure relevance floor",
1565
+ "admin.knowledge.activity.kind.sync": "Sync source",
1565
1566
  "admin.knowledge.activity.state.queued": "Waiting",
1566
1567
  "admin.knowledge.activity.state.running": "Running",
1567
1568
  "admin.knowledge.activity.state.succeeded": "Succeeded",
@@ -1571,6 +1572,7 @@ var en_default = {
1571
1572
  "admin.knowledge.activity.file.hiddenNoBase": "A file",
1572
1573
  "admin.knowledge.activity.file.deletedBase": "a deleted knowledge base",
1573
1574
  "admin.knowledge.activity.file.organization": "The whole organization",
1575
+ "admin.knowledge.activity.file.removedSource": "A removed source",
1574
1576
  "admin.knowledge.activity.col.work": "Work",
1575
1577
  "admin.knowledge.activity.col.subject": "File",
1576
1578
  "admin.knowledge.activity.col.state": "Status",
@@ -1589,6 +1591,7 @@ var en_default = {
1589
1591
  "admin.knowledge.activity.progress.files": "{done} of {total} files moved",
1590
1592
  "admin.knowledge.activity.detail.description": "What this work did, step by step, and what it cost.",
1591
1593
  "admin.knowledge.activity.detail.base": "Knowledge base",
1594
+ "admin.knowledge.activity.detail.source": "Source",
1592
1595
  "admin.knowledge.activity.detail.file": "File",
1593
1596
  "admin.knowledge.activity.detail.state": "Status",
1594
1597
  "admin.knowledge.activity.detail.attempts": "Attempts",
@@ -1602,6 +1605,24 @@ var en_default = {
1602
1605
  "admin.knowledge.activity.detail.steps": "Steps",
1603
1606
  "admin.knowledge.activity.detail.noSteps": "No steps recorded yet.",
1604
1607
  "admin.knowledge.activity.detail.error": "What happened",
1608
+ "admin.knowledge.activity.detail.syncAgain": "It tries again on its own. To try now, use Sync now on the knowledge base\u2019s page.",
1609
+ "admin.knowledge.activity.detail.items": "Items not stored",
1610
+ "admin.knowledge.activity.detail.itemsHint": "This sync could not store these items. Each is named by its ID in the source.",
1611
+ "admin.knowledge.activity.detail.itemNoId": "An item with no ID",
1612
+ "admin.knowledge.activity.detail.itemsHintUnnamed": "This sync could not store these items. Only someone who reads this knowledge base sees their IDs.",
1613
+ "admin.knowledge.activity.detail.itemUnnamed": "An item",
1614
+ "admin.knowledge.activity.itemReason.unmapped": "a required field is missing",
1615
+ "admin.knowledge.activity.itemReason.overLimit": "over the size limit",
1616
+ "admin.knowledge.activity.itemReason.unsupported": "this file type cannot be read",
1617
+ "admin.knowledge.activity.itemReason.refused": "the source refused the file",
1618
+ "admin.knowledge.activity.itemReason.notFound": "the file was not found",
1619
+ "admin.knowledge.activity.itemReason.slowDown": "the source asked to be called less often",
1620
+ "admin.knowledge.activity.itemReason.unreachable": "the file could not be reached",
1621
+ "admin.knowledge.activity.itemReason.timedOut": "the file did not arrive in time",
1622
+ "admin.knowledge.activity.itemReason.badAnswer": "the answer could not be read",
1623
+ "admin.knowledge.activity.itemReason.tooLarge": "the file is over the size limit",
1624
+ "admin.knowledge.activity.itemReason.blocked": "the platform does not reach this address",
1625
+ "admin.knowledge.activity.itemReason.storage": "the platform could not store the file",
1605
1626
  "admin.knowledge.activity.detail.notFound": "This job is no longer in the log.",
1606
1627
  "admin.knowledge.activity.step.download": "Download the file",
1607
1628
  "admin.knowledge.activity.step.scan": "Check for malware",
@@ -1623,6 +1644,20 @@ var en_default = {
1623
1644
  "admin.knowledge.activity.step.measureFloor": "Measure the floor",
1624
1645
  "admin.knowledge.activity.step.moveFiles": "Move files to the new model",
1625
1646
  "admin.knowledge.activity.step.failed": "stopped here",
1647
+ "admin.knowledge.activity.step.list": "List the items",
1648
+ "admin.knowledge.activity.step.compare": "Compare with stored documents",
1649
+ "admin.knowledge.activity.step.fetch": "Store new and changed items",
1650
+ "admin.knowledge.activity.step.remove": "Hide documents gone from the source",
1651
+ "admin.knowledge.activity.sync.items": "{count} items",
1652
+ "admin.knowledge.activity.sync.added": "{count} new",
1653
+ "admin.knowledge.activity.sync.changed": "{count} changed",
1654
+ "admin.knowledge.activity.sync.unchanged": "{count} unchanged",
1655
+ "admin.knowledge.activity.sync.unmapped": "{count} missing a field",
1656
+ "admin.knowledge.activity.sync.stored": "{count} stored",
1657
+ "admin.knowledge.activity.sync.unsupported": "{count} of a type that cannot be read",
1658
+ "admin.knowledge.activity.sync.overLimit": "{count} over the size limit",
1659
+ "admin.knowledge.activity.sync.failed": "{count} not fetched",
1660
+ "admin.knowledge.activity.sync.removed": "{count} hidden",
1626
1661
  "admin.knowledge.activity.unit.pagesOne": "1 page",
1627
1662
  "admin.knowledge.activity.unit.pagesMany": "{count} pages",
1628
1663
  "admin.knowledge.activity.unit.range": "pages {from}\u2013{to}",
@@ -2496,6 +2531,7 @@ var en_default = {
2496
2531
  "knowledgeApp.preview.matches": "Matches on",
2497
2532
  "knowledgeApp.preview.loading": "Opening the file\u2026",
2498
2533
  "knowledgeApp.preview.openInTab": "Open in a new tab",
2534
+ "knowledgeApp.preview.openInSource": "Open in source",
2499
2535
  "knowledgeApp.preview.download": "Download",
2500
2536
  "knowledgeApp.preview.close": "Close preview",
2501
2537
  "knowledgeApp.preview.back": "Back to results",
@@ -2550,6 +2586,286 @@ var en_default = {
2550
2586
  "knowledgeApp.base.notFoundTitle": "Knowledge base not found",
2551
2587
  "knowledgeApp.base.notFoundBody": "It does not exist, or it is not shared with this place.",
2552
2588
  "knowledgeApp.base.managedByOrganization": "Managed by the organization",
2589
+ "knowledgeApp.sources.title": "Sources",
2590
+ "knowledgeApp.sources.intro": "Other systems this knowledge base brings documents in from, such as a help center or a website.",
2591
+ "knowledgeApp.sources.add": "Add source",
2592
+ "knowledgeApp.sources.empty": "No sources yet. Add one to bring in documents from another system, and keep them up to date.",
2593
+ "knowledgeApp.sources.offWorkspace": "Sources are off for this workspace. Ask an organization owner or admin to turn them on in Knowledge settings.",
2594
+ "knowledgeApp.sources.offOrganization": "Sources are off for organization knowledge bases. Ask an organization owner or admin to turn them on in Knowledge settings.",
2595
+ "knowledgeApp.sources.loadFailed": "Sources could not be loaded.",
2596
+ "knowledgeApp.sources.retry": "Try again",
2597
+ "knowledgeApp.sources.documentsOne": "1 document",
2598
+ "knowledgeApp.sources.documentsMany": "{count} documents",
2599
+ "knowledgeApp.sources.removedAtSource": "{count} removed at source",
2600
+ "knowledgeApp.sources.state.idle": "On",
2601
+ "knowledgeApp.sources.state.paused": "Paused",
2602
+ "knowledgeApp.sources.state.queued": "Waiting to sync",
2603
+ "knowledgeApp.sources.state.running": "Syncing",
2604
+ "knowledgeApp.sources.state.failed": "Sync failed",
2605
+ "knowledgeApp.sources.state.attention": "Needs attention",
2606
+ "knowledgeApp.sources.state.removing": "Removing",
2607
+ "knowledgeApp.sources.status.queued": "A sync starts in a moment.",
2608
+ "knowledgeApp.sources.status.runningStart": "Syncing now.",
2609
+ "knowledgeApp.sources.status.running": "Syncing now. {listed} items listed and {stored} stored so far.",
2610
+ "knowledgeApp.sources.status.failed": "The last sync failed.",
2611
+ "knowledgeApp.sources.status.failedMany": "The last {count} syncs failed.",
2612
+ "knowledgeApp.sources.status.failedReader": "Whoever manages this knowledge base can see why.",
2613
+ "knowledgeApp.sources.status.nextTry": "It tries again at {time}.",
2614
+ "knowledgeApp.sources.status.paused": "Paused. Nothing is synced until it is resumed.",
2615
+ "knowledgeApp.sources.status.removing": "Its documents are being removed.",
2616
+ "knowledgeApp.sources.status.lastSynced": "Last synced {time}.",
2617
+ "knowledgeApp.sources.status.notSynced": "Not synced yet.",
2618
+ "knowledgeApp.sources.status.scheduled": "Syncs {schedule}.",
2619
+ "knowledgeApp.sources.status.manual": "Syncs only when someone uses Sync now.",
2620
+ "knowledgeApp.sources.credentialSet": "Credential saved",
2621
+ "knowledgeApp.sources.actions": "Actions for {name}",
2622
+ "knowledgeApp.sources.edit": "Edit",
2623
+ "knowledgeApp.sources.replaceCredential": "Replace credential",
2624
+ "knowledgeApp.sources.pause": "Pause",
2625
+ "knowledgeApp.sources.resume": "Resume",
2626
+ "knowledgeApp.sources.remove": "Remove",
2627
+ "knowledgeApp.sources.syncNow": "Sync now",
2628
+ "knowledgeApp.sources.syncStarted": "{name} will sync in a moment.",
2629
+ "knowledgeApp.sources.actionFailed": "That did not work. Try again.",
2630
+ "knowledgeApp.sources.paused": "{name} is paused.",
2631
+ "knowledgeApp.sources.resumed": "{name} is on again.",
2632
+ "knowledgeApp.sources.removeTitle": "Remove {name}?",
2633
+ "knowledgeApp.sources.removeBodyNone": "The source stops syncing. It has no documents in this knowledge base yet.",
2634
+ "knowledgeApp.sources.removeBodyOne": "The source stops syncing, and its 1 document is removed from this knowledge base and from search.",
2635
+ "knowledgeApp.sources.removeBodyMany": "The source stops syncing, and its {count} documents are removed from this knowledge base and from search.",
2636
+ "knowledgeApp.sources.removeConfirm": "Remove source",
2637
+ "knowledgeApp.sources.removed": "{name} was removed.",
2638
+ "knowledgeApp.sources.schedule.manual": "only by hand",
2639
+ "knowledgeApp.sources.schedule.hourly": "every hour",
2640
+ "knowledgeApp.sources.schedule.every_6_hours": "every 6 hours",
2641
+ "knowledgeApp.sources.schedule.daily": "once a day",
2642
+ "knowledgeApp.sources.dialog.addTitle": "Add a source to {name}",
2643
+ "knowledgeApp.sources.dialog.editTitle": "Edit {name}",
2644
+ "knowledgeApp.sources.dialog.description": "Bring in documents from another system\u2019s list and keep them up to date.",
2645
+ "knowledgeApp.sources.dialog.steps": "Steps",
2646
+ "knowledgeApp.sources.dialog.step.address": "Address",
2647
+ "knowledgeApp.sources.dialog.cancel": "Cancel",
2648
+ "knowledgeApp.sources.dialog.back": "Back",
2649
+ "knowledgeApp.sources.dialog.add": "Add source",
2650
+ "knowledgeApp.sources.dialog.adding": "Adding\u2026",
2651
+ "knowledgeApp.sources.dialog.save": "Save",
2652
+ "knowledgeApp.sources.dialog.saving": "Saving\u2026",
2653
+ "knowledgeApp.sources.dialog.failed": "The source could not be saved. Try again.",
2654
+ "knowledgeApp.sources.dialog.problem": "{field}: {message}",
2655
+ "knowledgeApp.sources.field.name": "Name",
2656
+ "knowledgeApp.sources.field.listUrl": "List address",
2657
+ "knowledgeApp.sources.field.listUrlHint": "The https address of the list, such as a help center\u2019s articles or a blog\u2019s posts. Do not put a key or password in it; Knowledge asks for a sign-in when the source needs one.",
2658
+ "knowledgeApp.sources.field.itemsAt": "Where the items are",
2659
+ "knowledgeApp.sources.field.itemsAtHint": "The field in the answer that holds the list, such as articles or data.items. Leave empty when the answer is the list itself.",
2660
+ "knowledgeApp.sources.field.paging": "Next page",
2661
+ "knowledgeApp.sources.paging.link_header": "Given in the Link header",
2662
+ "knowledgeApp.sources.paging.next_url": "An address in the answer",
2663
+ "knowledgeApp.sources.paging.page": "A page number",
2664
+ "knowledgeApp.sources.paging.cursor": "A token in the answer",
2665
+ "knowledgeApp.sources.field.nextAt": "Where the next page is",
2666
+ "knowledgeApp.sources.field.pageParam": "Sent as",
2667
+ "knowledgeApp.sources.field.firstPage": "First page number",
2668
+ "knowledgeApp.sources.field.changes": "Finding changes",
2669
+ "knowledgeApp.sources.changes.full": "Read the whole list each time",
2670
+ "knowledgeApp.sources.changes.newest_first": "The list is newest first",
2671
+ "knowledgeApp.sources.changes.updated_since": "Ask only for what changed",
2672
+ "knowledgeApp.sources.field.sinceParam": "Changed-since setting",
2673
+ "knowledgeApp.sources.field.sinceFormat": "Time written as",
2674
+ "knowledgeApp.sources.sinceFormat.iso": "Date and time (2026-10-31T08:00:00Z)",
2675
+ "knowledgeApp.sources.sinceFormat.unix": "Seconds (1793433600)",
2676
+ "knowledgeApp.sources.field.schedule": "Sync",
2677
+ "knowledgeApp.sources.field.keepRemovedDays": "Keep removed documents for",
2678
+ "knowledgeApp.sources.keepRemovedOne": "1 day",
2679
+ "knowledgeApp.sources.keepRemovedMany": "{count} days",
2680
+ "knowledgeApp.sources.field.authKind": "Sign in with",
2681
+ "knowledgeApp.sources.auth.none": "No sign-in",
2682
+ "knowledgeApp.sources.auth.bearer": "An access key",
2683
+ "knowledgeApp.sources.auth.header": "A key with its own header name",
2684
+ "knowledgeApp.sources.auth.basic": "A user name and password",
2685
+ "knowledgeApp.sources.auth.oauth_client_credentials": "A client ID and secret",
2686
+ "knowledgeApp.sources.field.headerName": "Header name",
2687
+ "knowledgeApp.sources.field.username": "User name",
2688
+ "knowledgeApp.sources.field.tokenUrl": "Sign-in address",
2689
+ "knowledgeApp.sources.field.clientId": "Client ID",
2690
+ "knowledgeApp.sources.field.scope": "Scope (optional)",
2691
+ "knowledgeApp.sources.field.credential.bearer": "Key",
2692
+ "knowledgeApp.sources.field.credential.header": "Key",
2693
+ "knowledgeApp.sources.field.credential.basic": "Password",
2694
+ "knowledgeApp.sources.field.credential.oauth_client_credentials": "Client secret",
2695
+ "knowledgeApp.sources.credentialHint": "Sent only to {host}. It is stored sealed and never shown again.",
2696
+ "knowledgeApp.sources.credentialHintNoHost": "Sent only to the list address\u2019s site. It is stored sealed and never shown again.",
2697
+ "knowledgeApp.sources.credentialKeep": "A credential is saved. Leave this empty to keep it. To test the connection, enter it again.",
2698
+ "knowledgeApp.sources.field.idAt": "ID",
2699
+ "knowledgeApp.sources.field.titleAt": "Title",
2700
+ "knowledgeApp.sources.field.updatedAt": "Last changed",
2701
+ "knowledgeApp.sources.field.linkAt": "Link (optional)",
2702
+ "knowledgeApp.sources.field.contentKind": "Content",
2703
+ "knowledgeApp.sources.contentKind.inline": "Text in the item",
2704
+ "knowledgeApp.sources.contentKind.file": "A file to download",
2705
+ "knowledgeApp.sources.field.contentAt": "Content is at",
2706
+ "knowledgeApp.sources.field.contentFormat": "Written as",
2707
+ "knowledgeApp.sources.contentFormat.html": "HTML",
2708
+ "knowledgeApp.sources.contentFormat.markdown": "Markdown",
2709
+ "knowledgeApp.sources.contentFormat.text": "Plain text",
2710
+ "knowledgeApp.sources.problem.refused": "The source refused the request. Check the credential and that it may read this list.",
2711
+ "knowledgeApp.sources.problem.notFound": "The source has nothing at this address. Check the address.",
2712
+ "knowledgeApp.sources.problem.slowDown": "The source asked to be called less often. Try again later.",
2713
+ "knowledgeApp.sources.problem.unreachable": "The source could not be reached. Check the address, or try again later.",
2714
+ "knowledgeApp.sources.problem.timedOut": "The source did not answer in time.",
2715
+ "knowledgeApp.sources.problem.badAnswer": "The source\u2019s answer could not be read. Check the address and where the items are.",
2716
+ "knowledgeApp.sources.problem.tooLarge": "The source\u2019s answer is over the platform\u2019s size limit. Ask for fewer items per page in the address.",
2717
+ "knowledgeApp.sources.problem.blocked": "The platform does not reach this address. Use a public https address. If your system is only reachable inside your network, ask your administrator.",
2718
+ "knowledgeApp.sources.syncProblem.off": "Sources are off for this knowledge base. Ask an organization owner or admin to turn them on in Knowledge settings.",
2719
+ "knowledgeApp.sources.syncProblem.noEmbedding": "Choose the organization\u2019s search model in Knowledge settings, then sync again.",
2720
+ "knowledgeApp.sources.syncProblem.storage": "The platform could not store what the source sent. It tries again later.",
2721
+ "knowledgeApp.sources.syncProblem.credential": "The source\u2019s credential could not be opened. Replace it, then sync again.",
2722
+ "knowledgeApp.sources.syncProblem.unavailable": "The platform could not open the source\u2019s credential just now. It tries again later.",
2723
+ "knowledgeApp.sources.syncProblem.emptyGuard": "The source listed fewer than half of the items this knowledge base holds from it, so no document was hidden. If the next full sync lists the same items again, the missing ones move to Removed at source.",
2724
+ "knowledgeApp.sources.syncProblem.emptyListing": "The source listed no items, so no document was hidden. Check the source, then sync again, or remove the source to remove its documents.",
2725
+ "knowledgeApp.sources.syncProblem.paging": "The source\u2019s list did not end: it sent the same page twice in a row, or more than 10,000 pages. Check the source\u2019s Next page setting, then sync again.",
2726
+ "knowledgeApp.sources.syncProblem.abandoned": "The sync stopped three times before it finished. It starts again from the beginning at its next try.",
2727
+ "knowledgeApp.sources.refusal.sources_off": "Sources are off for this knowledge base. Ask an organization owner or admin to turn them on in Knowledge settings.",
2728
+ "knowledgeApp.sources.refusal.credential_required": "You changed the address or how the source signs in, so enter the credential again, then save.",
2729
+ "knowledgeApp.sources.refusal.too_many_requests": "Too many connection tests. Wait {seconds} s, then try again.",
2730
+ "knowledgeApp.sources.refusal.not_permitted": "Only people who manage this knowledge base can change its sources.",
2731
+ "knowledgeApp.sources.refusal.sync_running": "This source is syncing now. Try again when the sync ends.",
2732
+ "knowledgeApp.sources.refusal.source_paused": "This source is paused. Resume it to sync it.",
2733
+ "knowledgeApp.sources.refusal.source_removing": "This source is being removed.",
2734
+ "knowledgeApp.sources.dialog.added": "{name} was added. Its first sync starts now.",
2735
+ "knowledgeApp.sources.dialog.addedManual": "{name} was added. Use Sync now to bring in its documents.",
2736
+ "knowledgeApp.sources.dialog.saved": "{name} was saved.",
2737
+ "knowledgeApp.sources.scheduleOption.every_6_hours": "Every 6 hours",
2738
+ "knowledgeApp.sources.scheduleOption.hourly": "Every hour",
2739
+ "knowledgeApp.sources.scheduleOption.daily": "Once a day",
2740
+ "knowledgeApp.sources.scheduleOption.manual": "Only by hand",
2741
+ "knowledgeApp.sources.credential.title": "Replace the credential for {name}",
2742
+ "knowledgeApp.sources.credential.description": "The new credential is used from the next sync. The old one is discarded.",
2743
+ "knowledgeApp.sources.credential.save": "Replace",
2744
+ "knowledgeApp.sources.credential.saving": "Replacing\u2026",
2745
+ "knowledgeApp.sources.credential.saved": "The credential for {name} was replaced.",
2746
+ "knowledgeApp.sources.dialog.continue": "Continue",
2747
+ "knowledgeApp.sources.dialog.about": "About {title}",
2748
+ "knowledgeApp.sources.dialog.step.documents": "Documents",
2749
+ "knowledgeApp.sources.dialog.step.sync": "Sync",
2750
+ "knowledgeApp.sources.dialog.step.review": "Review",
2751
+ "knowledgeApp.sources.need.address": "Paste the list address to continue.",
2752
+ "knowledgeApp.sources.need.addressFormat": "Paste the whole address, starting with https://, to continue.",
2753
+ "knowledgeApp.sources.need.signIn": "Fill in the sign-in to continue.",
2754
+ "knowledgeApp.sources.need.connect": "Connect to the address to continue.",
2755
+ "knowledgeApp.sources.need.reading": "Fill in the empty settings under Change how fields are read to continue.",
2756
+ "knowledgeApp.sources.need.check": "Check the documents again to continue.",
2757
+ "knowledgeApp.sources.need.list": "Say where the documents are to continue.",
2758
+ "knowledgeApp.sources.need.fields": "Choose the fields Knowledge could not find to continue.",
2759
+ "knowledgeApp.sources.need.name": "Name the source to continue.",
2760
+ "knowledgeApp.sources.address.title": "Where do the documents come from?",
2761
+ "knowledgeApp.sources.address.hint": "Paste the address of a list another system publishes, such as its posts or help articles. Knowledge reads the list, keeps a copy of each document and checks it for changes.",
2762
+ "knowledgeApp.sources.address.connect": "Connect",
2763
+ "knowledgeApp.sources.address.connecting": "Connecting\u2026",
2764
+ "knowledgeApp.sources.address.reconnect": "Connect again",
2765
+ "knowledgeApp.sources.address.connected": "Connected. Found {count} documents on the first page.",
2766
+ "knowledgeApp.sources.address.connectedOne": "Connected. Found 1 document on the first page.",
2767
+ "knowledgeApp.sources.signIn.toggle": "This source needs a sign-in",
2768
+ "knowledgeApp.sources.signIn.title": "How does Knowledge sign in?",
2769
+ "knowledgeApp.sources.signIn.hint": "Use what the other system\u2019s administrator gave you. Knowledge sends it only to this address\u2019s site, keeps it sealed and never shows it again.",
2770
+ "knowledgeApp.sources.signIn.asked": "The source asked for a sign-in. Choose how Knowledge signs in, then connect again.",
2771
+ "knowledgeApp.sources.signIn.refused": "The source did not accept the sign-in. Check it, then connect again.",
2772
+ "knowledgeApp.sources.signIn.keyAgain": "Enter the key again to connect.",
2773
+ "knowledgeApp.sources.auth.noneBody": "The list is public.",
2774
+ "knowledgeApp.sources.auth.bearerBody": "A key the system gave you, sent with each request.",
2775
+ "knowledgeApp.sources.auth.headerBody": "For a system that asks for its key under a name, such as X-API-Key.",
2776
+ "knowledgeApp.sources.auth.basicBody": "Sent with each request.",
2777
+ "knowledgeApp.sources.auth.oauth_client_credentialsBody": "For a system that gives out short-lived access from a sign-in address (OAuth).",
2778
+ "knowledgeApp.sources.documents.title": "Do these documents look right?",
2779
+ "knowledgeApp.sources.documents.hint": "These are the first documents on the list, as they will appear in Knowledge. Each sync reads every page.",
2780
+ "knowledgeApp.sources.documents.note": "{count} on the first page",
2781
+ "knowledgeApp.sources.documents.morePages": "More pages follow. Each sync reads them all.",
2782
+ "knowledgeApp.sources.documents.onePage": "This is the whole list.",
2783
+ "knowledgeApp.sources.documents.empty": "The first page has no documents yet.",
2784
+ "knowledgeApp.sources.documents.noList": "Knowledge reached the address but could not find a list of documents in its answer. Say where the list is below, then check again.",
2785
+ "knowledgeApp.sources.documents.unfound": "Knowledge could not tell which field holds each document\u2019s {parts}. Choose them below, then check again.",
2786
+ "knowledgeApp.sources.documents.leftOut": "{count} of {total} documents on the first page are missing a title, a date, an ID or text, so they will be left out.",
2787
+ "knowledgeApp.sources.documents.overLimit": "{count} documents are over the size limit. They will be listed but not searchable.",
2788
+ "knowledgeApp.sources.documents.large": "The first page is large. Asking for fewer documents per page in the address makes each sync lighter.",
2789
+ "knowledgeApp.sources.documents.stale": "You changed how the source is read. Check again to see the documents.",
2790
+ "knowledgeApp.sources.documents.notChecked": "Connect on the Address step to see the documents.",
2791
+ "knowledgeApp.sources.documents.check": "Check again",
2792
+ "knowledgeApp.sources.documents.checking": "Checking\u2026",
2793
+ "knowledgeApp.sources.part.id": "ID",
2794
+ "knowledgeApp.sources.part.title": "title",
2795
+ "knowledgeApp.sources.part.updatedAt": "last change date",
2796
+ "knowledgeApp.sources.part.content": "text",
2797
+ "knowledgeApp.sources.preview.label": "First documents",
2798
+ "knowledgeApp.sources.preview.changed": "Changed {time}",
2799
+ "knowledgeApp.sources.preview.file": "A file on {host}",
2800
+ "knowledgeApp.sources.preview.noText": "No text",
2801
+ "knowledgeApp.sources.preview.removed": "{id} \xB7 Marked as removed at the source",
2802
+ "knowledgeApp.sources.advanced.toggle": "Change how fields are read",
2803
+ "knowledgeApp.sources.advanced.fieldsTitle": "Which field holds each part",
2804
+ "knowledgeApp.sources.advanced.listTitle": "How the list is read",
2805
+ "knowledgeApp.sources.advanced.other": "Another field\u2026",
2806
+ "knowledgeApp.sources.advanced.none": "None",
2807
+ "knowledgeApp.sources.advanced.pathOf": "Path for {part}",
2808
+ "knowledgeApp.sources.sync.nameTitle": "What should Knowledge call this source?",
2809
+ "knowledgeApp.sources.sync.nameHint": "People see this name beside each document from it, such as \u201CHelp center articles\u201D.",
2810
+ "knowledgeApp.sources.sync.scheduleTitle": "How often should Knowledge check for changes?",
2811
+ "knowledgeApp.sources.sync.scheduleHint": "Each sync adds new documents, updates changed ones and moves removed ones to Removed at source.",
2812
+ "knowledgeApp.sources.sync.keepTitle": "How long should a removed document wait before it is deleted?",
2813
+ "knowledgeApp.sources.sync.keepHint": "A document the source no longer has leaves search and waits this long in Removed at source, then it is deleted.",
2814
+ "knowledgeApp.sources.scheduleBody.every_6_hours": "A good choice for most sources.",
2815
+ "knowledgeApp.sources.scheduleBody.hourly": "For a list that changes through the day.",
2816
+ "knowledgeApp.sources.scheduleBody.daily": "For a list that changes slowly.",
2817
+ "knowledgeApp.sources.scheduleBody.manual": "Knowledge syncs only when someone uses Sync now.",
2818
+ "knowledgeApp.sources.keepBody.30": "The safest choice. A document the source lists again within the month comes back as it was.",
2819
+ "knowledgeApp.sources.keepBody.7": "A document the source lists again within the week comes back as it was.",
2820
+ "knowledgeApp.sources.keepBody.1": "A document is deleted a day after the source removes it.",
2821
+ "knowledgeApp.sources.review.title": "Ready to add this source?",
2822
+ "knowledgeApp.sources.review.editTitle": "Check your changes",
2823
+ "knowledgeApp.sources.review.hint": "Nothing is saved until you confirm below. Change opens the step that sets each line.",
2824
+ "knowledgeApp.sources.review.name": "Name",
2825
+ "knowledgeApp.sources.review.address": "Address",
2826
+ "knowledgeApp.sources.review.signIn": "Sign-in",
2827
+ "knowledgeApp.sources.review.documents": "Documents",
2828
+ "knowledgeApp.sources.review.schedule": "Sync",
2829
+ "knowledgeApp.sources.review.keep": "Keep removed documents for",
2830
+ "knowledgeApp.sources.review.signInNone": "None, the list is public",
2831
+ "knowledgeApp.sources.review.signInSet": "{kind} \xB7 {state}",
2832
+ "knowledgeApp.sources.review.keyEntered": "key entered",
2833
+ "knowledgeApp.sources.review.keySaved": "key saved",
2834
+ "knowledgeApp.sources.review.keyMissing": "key needed",
2835
+ "knowledgeApp.sources.review.notChecked": "Not checked yet",
2836
+ "knowledgeApp.sources.review.change": "Change",
2837
+ "knowledgeApp.sources.review.changeOf": "Change {label}",
2838
+ "knowledgeApp.sources.review.firstDocuments": "First documents",
2839
+ "admin.knowledge.sources.title": "Sources",
2840
+ "admin.knowledge.sources.description": "Let knowledge bases copy documents from other systems, such as a help center or a website. Off by default.",
2841
+ "admin.knowledge.sources.policyLabel": "Who may add sources",
2842
+ "admin.knowledge.sources.mode.off": "Off",
2843
+ "admin.knowledge.sources.mode.organization": "Organization knowledge bases",
2844
+ "admin.knowledge.sources.mode.all_workspaces": "Organization and all workspaces",
2845
+ "admin.knowledge.sources.mode.chosen_workspaces": "Organization and chosen workspaces",
2846
+ "admin.knowledge.sources.modeHint.off": "No knowledge base can add a source. Existing sources can still be paused or removed.",
2847
+ "admin.knowledge.sources.modeHint.organization": "Knowledge stewards can add sources to organization knowledge bases.",
2848
+ "admin.knowledge.sources.modeHint.all_workspaces": "Also, people who manage a workspace\u2019s knowledge bases can add sources to them.",
2849
+ "admin.knowledge.sources.modeHint.chosen_workspaces": "Also, the workspaces you choose can add sources to their own knowledge bases.",
2850
+ "admin.knowledge.sources.workspaces": "Workspaces",
2851
+ "admin.knowledge.sources.noWorkspaces": "This organization has no workspaces yet.",
2852
+ "admin.knowledge.sources.save": "Save",
2853
+ "admin.knowledge.sources.saving": "Saving\u2026",
2854
+ "admin.knowledge.sources.cancel": "Cancel",
2855
+ "admin.knowledge.sources.saved": "Sources setting saved.",
2856
+ "admin.knowledge.sources.failed": "The setting could not be saved. Try again.",
2857
+ "admin.knowledge.sources.chooseWorkspace": "Choose at least one workspace.",
2858
+ "admin.knowledge.sources.loadFailed": "Sources could not be loaded.",
2859
+ "admin.knowledge.sources.listTitle": "Every source",
2860
+ "admin.knowledge.sources.listEmpty": "No knowledge base has a source yet.",
2861
+ "admin.knowledge.sources.listHint": "You can pause or remove any source. Only the people who manage its knowledge base can change it.",
2862
+ "admin.knowledge.sources.col.source": "Source",
2863
+ "admin.knowledge.sources.col.base": "Knowledge base",
2864
+ "admin.knowledge.sources.col.documents": "Documents",
2865
+ "admin.knowledge.sources.col.state": "State",
2866
+ "admin.knowledge.sources.col.lastSync": "Last sync",
2867
+ "admin.knowledge.sources.notSyncedYet": "Not yet",
2868
+ "admin.knowledge.sources.unknownBase": "A knowledge base you cannot see",
2553
2869
  "knowledgeApp.base.manageInOrganization": "Manage in organization Knowledge",
2554
2870
  "knowledgeApp.base.remove": "Delete",
2555
2871
  "knowledgeApp.base.removeTitle": "Delete {name}?",
@@ -2566,6 +2882,25 @@ var en_default = {
2566
2882
  "knowledgeApp.documents.unknownPerson": "Someone",
2567
2883
  "knowledgeApp.documents.addedByKey": "API key \xB7 {name}",
2568
2884
  "knowledgeApp.documents.addedByRevokedKey": "A revoked API key",
2885
+ "knowledgeApp.documents.fromSource": "From {name}",
2886
+ "knowledgeApp.removed.title": "Removed at source",
2887
+ "knowledgeApp.removed.intro": "Their sources no longer have these documents, so search leaves them out. Each one is deleted when its source's retention ends. If a source lists one again, it comes back.",
2888
+ "knowledgeApp.removed.selectAll": "Select all",
2889
+ "knowledgeApp.removed.selectOne": "Select {title}",
2890
+ "knowledgeApp.removed.selected": "{count} selected",
2891
+ "knowledgeApp.removed.delete": "Delete",
2892
+ "knowledgeApp.removed.removedAgo": "Removed {time}",
2893
+ "knowledgeApp.removed.deletesOn": "Deleted on {date}",
2894
+ "knowledgeApp.removed.showMore": "Show more",
2895
+ "knowledgeApp.removed.loadFailed": "The documents removed at source could not be loaded.",
2896
+ "knowledgeApp.removed.confirmTitleOne": "Delete 1 document?",
2897
+ "knowledgeApp.removed.confirmTitleMany": "Delete {count} documents?",
2898
+ "knowledgeApp.removed.confirmBody": "They are deleted permanently, with their files. If a source lists one of them again later, it comes back as a new document.",
2899
+ "knowledgeApp.removed.confirm": "Delete",
2900
+ "knowledgeApp.removed.cancel": "Cancel",
2901
+ "knowledgeApp.removed.deletedOne": "1 document deleted.",
2902
+ "knowledgeApp.removed.deletedMany": "{count} documents deleted.",
2903
+ "knowledgeApp.removed.deleteFailed": "The documents could not be deleted. Try again.",
2569
2904
  "knowledgeApp.documents.emptyManager": "No files yet. Add the first one above.",
2570
2905
  "knowledgeApp.documents.emptyReader": "No files yet.",
2571
2906
  "knowledgeApp.documents.upload": "Drop files here, or click to choose",
@@ -8754,6 +9089,7 @@ var id_default = {
8754
9089
  "admin.knowledge.activity.kind.remove": "Hapus file",
8755
9090
  "admin.knowledge.activity.kind.rebuild": "Bangun ulang indeks",
8756
9091
  "admin.knowledge.activity.kind.floor": "Ukur ambang relevansi",
9092
+ "admin.knowledge.activity.kind.sync": "Sinkronkan sumber",
8757
9093
  "admin.knowledge.activity.state.queued": "Menunggu",
8758
9094
  "admin.knowledge.activity.state.running": "Berjalan",
8759
9095
  "admin.knowledge.activity.state.succeeded": "Berhasil",
@@ -8763,6 +9099,7 @@ var id_default = {
8763
9099
  "admin.knowledge.activity.file.hiddenNoBase": "Sebuah file",
8764
9100
  "admin.knowledge.activity.file.deletedBase": "basis pengetahuan yang sudah dihapus",
8765
9101
  "admin.knowledge.activity.file.organization": "Seluruh organisasi",
9102
+ "admin.knowledge.activity.file.removedSource": "Sumber yang sudah dihapus",
8766
9103
  "admin.knowledge.activity.col.work": "Pekerjaan",
8767
9104
  "admin.knowledge.activity.col.subject": "File",
8768
9105
  "admin.knowledge.activity.col.state": "Status",
@@ -8781,6 +9118,7 @@ var id_default = {
8781
9118
  "admin.knowledge.activity.progress.files": "{done} dari {total} file dipindahkan",
8782
9119
  "admin.knowledge.activity.detail.description": "Apa yang dilakukan pekerjaan ini, langkah demi langkah, dan biayanya.",
8783
9120
  "admin.knowledge.activity.detail.base": "Basis pengetahuan",
9121
+ "admin.knowledge.activity.detail.source": "Sumber",
8784
9122
  "admin.knowledge.activity.detail.file": "File",
8785
9123
  "admin.knowledge.activity.detail.state": "Status",
8786
9124
  "admin.knowledge.activity.detail.attempts": "Percobaan",
@@ -8794,6 +9132,24 @@ var id_default = {
8794
9132
  "admin.knowledge.activity.detail.steps": "Langkah",
8795
9133
  "admin.knowledge.activity.detail.noSteps": "Belum ada langkah yang tercatat.",
8796
9134
  "admin.knowledge.activity.detail.error": "Yang terjadi",
9135
+ "admin.knowledge.activity.detail.syncAgain": "Sinkron dicoba lagi dengan sendirinya. Untuk mencoba sekarang, pakai Sinkronkan sekarang di halaman basis pengetahuan.",
9136
+ "admin.knowledge.activity.detail.items": "Item yang tidak disimpan",
9137
+ "admin.knowledge.activity.detail.itemsHint": "Sinkron ini tidak dapat menyimpan item berikut. Setiap item disebut dengan ID-nya di sumber.",
9138
+ "admin.knowledge.activity.detail.itemNoId": "Item tanpa ID",
9139
+ "admin.knowledge.activity.detail.itemsHintUnnamed": "Sinkron ini tidak dapat menyimpan item berikut. Hanya orang yang dapat membaca basis pengetahuan ini yang melihat ID-nya.",
9140
+ "admin.knowledge.activity.detail.itemUnnamed": "Sebuah item",
9141
+ "admin.knowledge.activity.itemReason.unmapped": "kolom wajib tidak ada",
9142
+ "admin.knowledge.activity.itemReason.overLimit": "melebihi batas ukuran",
9143
+ "admin.knowledge.activity.itemReason.unsupported": "jenis file ini tidak dapat dibaca",
9144
+ "admin.knowledge.activity.itemReason.refused": "sumber menolak file",
9145
+ "admin.knowledge.activity.itemReason.notFound": "file tidak ditemukan",
9146
+ "admin.knowledge.activity.itemReason.slowDown": "sumber meminta agar lebih jarang dipanggil",
9147
+ "admin.knowledge.activity.itemReason.unreachable": "file tidak dapat dijangkau",
9148
+ "admin.knowledge.activity.itemReason.timedOut": "file tidak tiba tepat waktu",
9149
+ "admin.knowledge.activity.itemReason.badAnswer": "jawaban tidak dapat dibaca",
9150
+ "admin.knowledge.activity.itemReason.tooLarge": "file melebihi batas ukuran",
9151
+ "admin.knowledge.activity.itemReason.blocked": "platform tidak menjangkau alamat ini",
9152
+ "admin.knowledge.activity.itemReason.storage": "platform tidak dapat menyimpan file",
8797
9153
  "admin.knowledge.activity.detail.notFound": "Pekerjaan ini sudah tidak ada di catatan.",
8798
9154
  "admin.knowledge.activity.step.download": "Unduh file",
8799
9155
  "admin.knowledge.activity.step.scan": "Periksa malware",
@@ -8815,6 +9171,20 @@ var id_default = {
8815
9171
  "admin.knowledge.activity.step.measureFloor": "Ukur ambang",
8816
9172
  "admin.knowledge.activity.step.moveFiles": "Pindahkan file ke model baru",
8817
9173
  "admin.knowledge.activity.step.failed": "berhenti di sini",
9174
+ "admin.knowledge.activity.step.list": "Daftar item",
9175
+ "admin.knowledge.activity.step.compare": "Bandingkan dengan dokumen tersimpan",
9176
+ "admin.knowledge.activity.step.fetch": "Simpan item baru dan yang berubah",
9177
+ "admin.knowledge.activity.step.remove": "Sembunyikan dokumen yang sudah tidak ada di sumber",
9178
+ "admin.knowledge.activity.sync.items": "{count} item",
9179
+ "admin.knowledge.activity.sync.added": "{count} baru",
9180
+ "admin.knowledge.activity.sync.changed": "{count} berubah",
9181
+ "admin.knowledge.activity.sync.unchanged": "{count} tidak berubah",
9182
+ "admin.knowledge.activity.sync.unmapped": "{count} tanpa kolom wajib",
9183
+ "admin.knowledge.activity.sync.stored": "{count} disimpan",
9184
+ "admin.knowledge.activity.sync.unsupported": "{count} berjenis yang tidak dapat dibaca",
9185
+ "admin.knowledge.activity.sync.overLimit": "{count} melebihi batas ukuran",
9186
+ "admin.knowledge.activity.sync.failed": "{count} tidak terambil",
9187
+ "admin.knowledge.activity.sync.removed": "{count} disembunyikan",
8818
9188
  "admin.knowledge.activity.unit.pagesOne": "1 halaman",
8819
9189
  "admin.knowledge.activity.unit.pagesMany": "{count} halaman",
8820
9190
  "admin.knowledge.activity.unit.range": "halaman {from}\u2013{to}",
@@ -9688,6 +10058,7 @@ var id_default = {
9688
10058
  "knowledgeApp.preview.matches": "Cocok di",
9689
10059
  "knowledgeApp.preview.loading": "Membuka file\u2026",
9690
10060
  "knowledgeApp.preview.openInTab": "Buka di tab baru",
10061
+ "knowledgeApp.preview.openInSource": "Buka di sumber",
9691
10062
  "knowledgeApp.preview.download": "Unduh",
9692
10063
  "knowledgeApp.preview.close": "Tutup pratinjau",
9693
10064
  "knowledgeApp.preview.back": "Kembali ke hasil",
@@ -9742,6 +10113,286 @@ var id_default = {
9742
10113
  "knowledgeApp.base.notFoundTitle": "Basis pengetahuan tidak ditemukan",
9743
10114
  "knowledgeApp.base.notFoundBody": "Basis pengetahuan ini tidak ada, atau tidak dibagikan dengan tempat ini.",
9744
10115
  "knowledgeApp.base.managedByOrganization": "Dikelola oleh organisasi",
10116
+ "knowledgeApp.sources.title": "Sumber",
10117
+ "knowledgeApp.sources.intro": "Sistem lain tempat basis pengetahuan ini menyalin dokumen, seperti pusat bantuan atau situs web.",
10118
+ "knowledgeApp.sources.add": "Tambah sumber",
10119
+ "knowledgeApp.sources.empty": "Belum ada sumber. Tambahkan sumber untuk mengambil dokumen dari sistem lain dan menjaganya tetap terbaru.",
10120
+ "knowledgeApp.sources.offWorkspace": "Sumber dinonaktifkan untuk ruang kerja ini. Minta pemilik atau admin organisasi untuk mengaktifkannya di pengaturan Knowledge.",
10121
+ "knowledgeApp.sources.offOrganization": "Sumber dinonaktifkan untuk basis pengetahuan organisasi. Minta pemilik atau admin organisasi untuk mengaktifkannya di pengaturan Knowledge.",
10122
+ "knowledgeApp.sources.loadFailed": "Sumber tidak dapat dimuat.",
10123
+ "knowledgeApp.sources.retry": "Coba lagi",
10124
+ "knowledgeApp.sources.documentsOne": "1 dokumen",
10125
+ "knowledgeApp.sources.documentsMany": "{count} dokumen",
10126
+ "knowledgeApp.sources.removedAtSource": "{count} dihapus di sumber",
10127
+ "knowledgeApp.sources.state.idle": "Aktif",
10128
+ "knowledgeApp.sources.state.paused": "Dijeda",
10129
+ "knowledgeApp.sources.state.queued": "Menunggu sinkron",
10130
+ "knowledgeApp.sources.state.running": "Menyinkronkan",
10131
+ "knowledgeApp.sources.state.failed": "Sinkron gagal",
10132
+ "knowledgeApp.sources.state.attention": "Perlu perhatian",
10133
+ "knowledgeApp.sources.state.removing": "Sedang dihapus",
10134
+ "knowledgeApp.sources.status.queued": "Sinkron dimulai sebentar lagi.",
10135
+ "knowledgeApp.sources.status.runningStart": "Sedang disinkronkan.",
10136
+ "knowledgeApp.sources.status.running": "Sedang disinkronkan. Sejauh ini {listed} item terdaftar dan {stored} disimpan.",
10137
+ "knowledgeApp.sources.status.failed": "Sinkron terakhir gagal.",
10138
+ "knowledgeApp.sources.status.failedMany": "{count} sinkron terakhir gagal.",
10139
+ "knowledgeApp.sources.status.failedReader": "Pengelola basis pengetahuan ini dapat melihat penyebabnya.",
10140
+ "knowledgeApp.sources.status.nextTry": "Dicoba lagi pada {time}.",
10141
+ "knowledgeApp.sources.status.paused": "Dijeda. Tidak ada yang disinkronkan sampai dilanjutkan.",
10142
+ "knowledgeApp.sources.status.removing": "Dokumennya sedang dihapus.",
10143
+ "knowledgeApp.sources.status.lastSynced": "Terakhir disinkronkan {time}.",
10144
+ "knowledgeApp.sources.status.notSynced": "Belum pernah disinkronkan.",
10145
+ "knowledgeApp.sources.status.scheduled": "Sinkron {schedule}.",
10146
+ "knowledgeApp.sources.status.manual": "Sinkron hanya saat seseorang memakai Sinkronkan sekarang.",
10147
+ "knowledgeApp.sources.credentialSet": "Kredensial tersimpan",
10148
+ "knowledgeApp.sources.actions": "Tindakan untuk {name}",
10149
+ "knowledgeApp.sources.edit": "Ubah",
10150
+ "knowledgeApp.sources.replaceCredential": "Ganti kredensial",
10151
+ "knowledgeApp.sources.pause": "Jeda",
10152
+ "knowledgeApp.sources.resume": "Lanjutkan",
10153
+ "knowledgeApp.sources.remove": "Hapus",
10154
+ "knowledgeApp.sources.syncNow": "Sinkronkan sekarang",
10155
+ "knowledgeApp.sources.syncStarted": "{name} akan disinkronkan sebentar lagi.",
10156
+ "knowledgeApp.sources.actionFailed": "Tindakan gagal. Coba lagi.",
10157
+ "knowledgeApp.sources.paused": "{name} dijeda.",
10158
+ "knowledgeApp.sources.resumed": "{name} aktif kembali.",
10159
+ "knowledgeApp.sources.removeTitle": "Hapus {name}?",
10160
+ "knowledgeApp.sources.removeBodyNone": "Sumber berhenti disinkronkan. Sumber ini belum punya dokumen di basis pengetahuan ini.",
10161
+ "knowledgeApp.sources.removeBodyOne": "Sumber berhenti disinkronkan, dan 1 dokumennya dihapus dari basis pengetahuan ini dan dari pencarian.",
10162
+ "knowledgeApp.sources.removeBodyMany": "Sumber berhenti disinkronkan, dan {count} dokumennya dihapus dari basis pengetahuan ini dan dari pencarian.",
10163
+ "knowledgeApp.sources.removeConfirm": "Hapus sumber",
10164
+ "knowledgeApp.sources.removed": "{name} telah dihapus.",
10165
+ "knowledgeApp.sources.schedule.manual": "hanya manual",
10166
+ "knowledgeApp.sources.schedule.hourly": "setiap jam",
10167
+ "knowledgeApp.sources.schedule.every_6_hours": "setiap 6 jam",
10168
+ "knowledgeApp.sources.schedule.daily": "sekali sehari",
10169
+ "knowledgeApp.sources.dialog.addTitle": "Tambah sumber ke {name}",
10170
+ "knowledgeApp.sources.dialog.editTitle": "Ubah {name}",
10171
+ "knowledgeApp.sources.dialog.description": "Ambil dokumen dari daftar sistem lain dan jaga agar tetap terbaru.",
10172
+ "knowledgeApp.sources.dialog.steps": "Langkah",
10173
+ "knowledgeApp.sources.dialog.step.address": "Alamat",
10174
+ "knowledgeApp.sources.dialog.cancel": "Batal",
10175
+ "knowledgeApp.sources.dialog.back": "Kembali",
10176
+ "knowledgeApp.sources.dialog.add": "Tambah sumber",
10177
+ "knowledgeApp.sources.dialog.adding": "Menambahkan\u2026",
10178
+ "knowledgeApp.sources.dialog.save": "Simpan",
10179
+ "knowledgeApp.sources.dialog.saving": "Menyimpan\u2026",
10180
+ "knowledgeApp.sources.dialog.failed": "Sumber tidak dapat disimpan. Coba lagi.",
10181
+ "knowledgeApp.sources.dialog.problem": "{field}: {message}",
10182
+ "knowledgeApp.sources.field.name": "Nama",
10183
+ "knowledgeApp.sources.field.listUrl": "Alamat daftar",
10184
+ "knowledgeApp.sources.field.listUrlHint": "Alamat https daftar itu, seperti artikel pusat bantuan atau postingan blog. Jangan cantumkan kunci atau kata sandi; Knowledge meminta cara masuk jika sumber memerlukannya.",
10185
+ "knowledgeApp.sources.field.itemsAt": "Letak item",
10186
+ "knowledgeApp.sources.field.itemsAtHint": "Kolom pada jawaban yang berisi daftar, seperti articles atau data.items. Kosongkan jika jawabannya sudah berupa daftar.",
10187
+ "knowledgeApp.sources.field.paging": "Halaman berikutnya",
10188
+ "knowledgeApp.sources.paging.link_header": "Diberikan di header Link",
10189
+ "knowledgeApp.sources.paging.next_url": "Alamat di dalam jawaban",
10190
+ "knowledgeApp.sources.paging.page": "Nomor halaman",
10191
+ "knowledgeApp.sources.paging.cursor": "Token di dalam jawaban",
10192
+ "knowledgeApp.sources.field.nextAt": "Letak halaman berikutnya",
10193
+ "knowledgeApp.sources.field.pageParam": "Dikirim sebagai",
10194
+ "knowledgeApp.sources.field.firstPage": "Nomor halaman pertama",
10195
+ "knowledgeApp.sources.field.changes": "Mencari perubahan",
10196
+ "knowledgeApp.sources.changes.full": "Baca seluruh daftar setiap kali",
10197
+ "knowledgeApp.sources.changes.newest_first": "Daftar diurutkan dari yang terbaru",
10198
+ "knowledgeApp.sources.changes.updated_since": "Minta hanya yang berubah",
10199
+ "knowledgeApp.sources.field.sinceParam": 'Pengaturan "berubah sejak"',
10200
+ "knowledgeApp.sources.field.sinceFormat": "Format waktu",
10201
+ "knowledgeApp.sources.sinceFormat.iso": "Tanggal dan waktu (2026-10-31T08:00:00Z)",
10202
+ "knowledgeApp.sources.sinceFormat.unix": "Detik (1793433600)",
10203
+ "knowledgeApp.sources.field.schedule": "Sinkron",
10204
+ "knowledgeApp.sources.field.keepRemovedDays": "Simpan dokumen yang dihapus selama",
10205
+ "knowledgeApp.sources.keepRemovedOne": "1 hari",
10206
+ "knowledgeApp.sources.keepRemovedMany": "{count} hari",
10207
+ "knowledgeApp.sources.field.authKind": "Masuk dengan",
10208
+ "knowledgeApp.sources.auth.none": "Tanpa masuk",
10209
+ "knowledgeApp.sources.auth.bearer": "Kunci akses",
10210
+ "knowledgeApp.sources.auth.header": "Kunci dengan nama header sendiri",
10211
+ "knowledgeApp.sources.auth.basic": "Nama pengguna dan kata sandi",
10212
+ "knowledgeApp.sources.auth.oauth_client_credentials": "ID klien dan rahasia",
10213
+ "knowledgeApp.sources.field.headerName": "Nama header",
10214
+ "knowledgeApp.sources.field.username": "Nama pengguna",
10215
+ "knowledgeApp.sources.field.tokenUrl": "Alamat masuk",
10216
+ "knowledgeApp.sources.field.clientId": "ID klien",
10217
+ "knowledgeApp.sources.field.scope": "Cakupan (opsional)",
10218
+ "knowledgeApp.sources.field.credential.bearer": "Kunci",
10219
+ "knowledgeApp.sources.field.credential.header": "Kunci",
10220
+ "knowledgeApp.sources.field.credential.basic": "Kata sandi",
10221
+ "knowledgeApp.sources.field.credential.oauth_client_credentials": "Rahasia klien",
10222
+ "knowledgeApp.sources.credentialHint": "Hanya dikirim ke {host}. Disimpan terenkripsi dan tidak pernah ditampilkan lagi.",
10223
+ "knowledgeApp.sources.credentialHintNoHost": "Hanya dikirim ke situs alamat daftar. Disimpan terenkripsi dan tidak pernah ditampilkan lagi.",
10224
+ "knowledgeApp.sources.credentialKeep": "Kredensial sudah tersimpan. Kosongkan untuk mempertahankannya. Untuk menguji koneksi, masukkan lagi.",
10225
+ "knowledgeApp.sources.field.idAt": "ID",
10226
+ "knowledgeApp.sources.field.titleAt": "Judul",
10227
+ "knowledgeApp.sources.field.updatedAt": "Terakhir diubah",
10228
+ "knowledgeApp.sources.field.linkAt": "Tautan (opsional)",
10229
+ "knowledgeApp.sources.field.contentKind": "Konten",
10230
+ "knowledgeApp.sources.contentKind.inline": "Teks di dalam item",
10231
+ "knowledgeApp.sources.contentKind.file": "File untuk diunduh",
10232
+ "knowledgeApp.sources.field.contentAt": "Letak konten",
10233
+ "knowledgeApp.sources.field.contentFormat": "Format",
10234
+ "knowledgeApp.sources.contentFormat.html": "HTML",
10235
+ "knowledgeApp.sources.contentFormat.markdown": "Markdown",
10236
+ "knowledgeApp.sources.contentFormat.text": "Teks biasa",
10237
+ "knowledgeApp.sources.problem.refused": "Sumber menolak permintaan. Periksa kredensial dan pastikan kredensial itu boleh membaca daftar ini.",
10238
+ "knowledgeApp.sources.problem.notFound": "Sumber tidak memiliki apa pun di alamat ini. Periksa alamatnya.",
10239
+ "knowledgeApp.sources.problem.slowDown": "Sumber meminta agar tidak terlalu sering dihubungi. Coba lagi nanti.",
10240
+ "knowledgeApp.sources.problem.unreachable": "Sumber tidak dapat dihubungi. Periksa alamatnya, atau coba lagi nanti.",
10241
+ "knowledgeApp.sources.problem.timedOut": "Sumber tidak menjawab tepat waktu.",
10242
+ "knowledgeApp.sources.problem.badAnswer": "Jawaban sumber tidak dapat dibaca. Periksa alamat dan letak item.",
10243
+ "knowledgeApp.sources.problem.tooLarge": "Jawaban sumber melebihi batas ukuran platform. Minta lebih sedikit item per halaman di alamat.",
10244
+ "knowledgeApp.sources.problem.blocked": "Platform tidak menjangkau alamat ini. Gunakan alamat https publik. Jika sistem Anda hanya dapat dijangkau di dalam jaringan Anda, tanyakan kepada administrator.",
10245
+ "knowledgeApp.sources.syncProblem.off": "Sumber dinonaktifkan untuk basis pengetahuan ini. Minta pemilik atau admin organisasi untuk mengaktifkannya di pengaturan Knowledge.",
10246
+ "knowledgeApp.sources.syncProblem.noEmbedding": "Pilih model pencarian organisasi di pengaturan Knowledge, lalu sinkronkan lagi.",
10247
+ "knowledgeApp.sources.syncProblem.storage": "Platform tidak dapat menyimpan kiriman sumber. Sinkron dicoba lagi nanti.",
10248
+ "knowledgeApp.sources.syncProblem.credential": "Kredensial sumber tidak dapat dibuka. Ganti kredensialnya, lalu sinkronkan lagi.",
10249
+ "knowledgeApp.sources.syncProblem.unavailable": "Platform belum dapat membuka kredensial sumber saat ini. Sinkron dicoba lagi nanti.",
10250
+ "knowledgeApp.sources.syncProblem.emptyGuard": "Sumber mencantumkan kurang dari separuh item yang disimpan basis pengetahuan ini darinya, jadi tidak ada dokumen yang disembunyikan. Jika sinkron penuh berikutnya mencantumkan item yang sama lagi, item yang hilang dipindahkan ke Dihapus di sumber.",
10251
+ "knowledgeApp.sources.syncProblem.emptyListing": "Sumber tidak mencantumkan item apa pun, jadi tidak ada dokumen yang disembunyikan. Periksa sumbernya, lalu sinkronkan lagi, atau hapus sumbernya untuk menghapus dokumennya.",
10252
+ "knowledgeApp.sources.syncProblem.paging": "Daftar sumber tidak berakhir: sumber mengirim halaman yang sama dua kali berturut-turut, atau lebih dari 10.000 halaman. Periksa pengaturan Halaman berikutnya pada sumber, lalu sinkronkan lagi.",
10253
+ "knowledgeApp.sources.syncProblem.abandoned": "Sinkron berhenti tiga kali sebelum selesai. Sinkron dimulai lagi dari awal pada percobaan berikutnya.",
10254
+ "knowledgeApp.sources.refusal.sources_off": "Sumber dinonaktifkan untuk basis pengetahuan ini. Minta pemilik atau admin organisasi untuk mengaktifkannya di pengaturan Knowledge.",
10255
+ "knowledgeApp.sources.refusal.credential_required": "Anda mengubah alamat atau cara sumber masuk, jadi masukkan kredensial lagi, lalu simpan.",
10256
+ "knowledgeApp.sources.refusal.too_many_requests": "Terlalu banyak uji koneksi. Tunggu {seconds} dtk, lalu coba lagi.",
10257
+ "knowledgeApp.sources.refusal.not_permitted": "Hanya orang yang mengelola basis pengetahuan ini yang dapat mengubah sumbernya.",
10258
+ "knowledgeApp.sources.refusal.sync_running": "Sumber ini sedang disinkronkan. Coba lagi setelah sinkron selesai.",
10259
+ "knowledgeApp.sources.refusal.source_paused": "Sumber ini dijeda. Lanjutkan dulu untuk menyinkronkannya.",
10260
+ "knowledgeApp.sources.refusal.source_removing": "Sumber ini sedang dihapus.",
10261
+ "knowledgeApp.sources.dialog.added": "{name} telah ditambahkan. Sinkron pertamanya dimulai sekarang.",
10262
+ "knowledgeApp.sources.dialog.addedManual": "{name} telah ditambahkan. Pakai Sinkronkan sekarang untuk mengambil dokumennya.",
10263
+ "knowledgeApp.sources.dialog.saved": "{name} telah disimpan.",
10264
+ "knowledgeApp.sources.scheduleOption.every_6_hours": "Setiap 6 jam",
10265
+ "knowledgeApp.sources.scheduleOption.hourly": "Setiap jam",
10266
+ "knowledgeApp.sources.scheduleOption.daily": "Sekali sehari",
10267
+ "knowledgeApp.sources.scheduleOption.manual": "Hanya manual",
10268
+ "knowledgeApp.sources.credential.title": "Ganti kredensial untuk {name}",
10269
+ "knowledgeApp.sources.credential.description": "Kredensial baru dipakai mulai sinkronisasi berikutnya. Kredensial lama dibuang.",
10270
+ "knowledgeApp.sources.credential.save": "Ganti",
10271
+ "knowledgeApp.sources.credential.saving": "Mengganti\u2026",
10272
+ "knowledgeApp.sources.credential.saved": "Kredensial untuk {name} telah diganti.",
10273
+ "knowledgeApp.sources.dialog.continue": "Lanjut",
10274
+ "knowledgeApp.sources.dialog.about": "Tentang {title}",
10275
+ "knowledgeApp.sources.dialog.step.documents": "Dokumen",
10276
+ "knowledgeApp.sources.dialog.step.sync": "Sinkron",
10277
+ "knowledgeApp.sources.dialog.step.review": "Tinjau",
10278
+ "knowledgeApp.sources.need.address": "Tempel alamat daftar untuk melanjutkan.",
10279
+ "knowledgeApp.sources.need.addressFormat": "Tempel alamat lengkap, diawali https://, untuk melanjutkan.",
10280
+ "knowledgeApp.sources.need.signIn": "Lengkapi cara masuk untuk melanjutkan.",
10281
+ "knowledgeApp.sources.need.connect": "Hubungkan ke alamat untuk melanjutkan.",
10282
+ "knowledgeApp.sources.need.reading": "Isi pengaturan yang kosong di Ubah cara membaca kolom untuk melanjutkan.",
10283
+ "knowledgeApp.sources.need.check": "Periksa dokumen lagi untuk melanjutkan.",
10284
+ "knowledgeApp.sources.need.list": "Tentukan letak dokumen untuk melanjutkan.",
10285
+ "knowledgeApp.sources.need.fields": "Pilih kolom yang tidak ditemukan Knowledge untuk melanjutkan.",
10286
+ "knowledgeApp.sources.need.name": "Beri nama sumber untuk melanjutkan.",
10287
+ "knowledgeApp.sources.address.title": "Dari mana dokumennya berasal?",
10288
+ "knowledgeApp.sources.address.hint": "Tempel alamat daftar yang diterbitkan sistem lain, seperti postingan atau artikel bantuannya. Knowledge membaca daftar itu, menyimpan salinan setiap dokumen, dan memeriksa perubahannya.",
10289
+ "knowledgeApp.sources.address.connect": "Hubungkan",
10290
+ "knowledgeApp.sources.address.connecting": "Menghubungkan\u2026",
10291
+ "knowledgeApp.sources.address.reconnect": "Hubungkan lagi",
10292
+ "knowledgeApp.sources.address.connected": "Terhubung. Ditemukan {count} dokumen di halaman pertama.",
10293
+ "knowledgeApp.sources.address.connectedOne": "Terhubung. Ditemukan 1 dokumen di halaman pertama.",
10294
+ "knowledgeApp.sources.signIn.toggle": "Sumber ini memerlukan cara masuk",
10295
+ "knowledgeApp.sources.signIn.title": "Bagaimana Knowledge masuk?",
10296
+ "knowledgeApp.sources.signIn.hint": "Gunakan yang diberikan administrator sistem tersebut. Knowledge hanya mengirimnya ke situs alamat ini, menyimpannya terenkripsi, dan tidak pernah menampilkannya lagi.",
10297
+ "knowledgeApp.sources.signIn.asked": "Sumber meminta cara masuk. Pilih cara Knowledge masuk, lalu hubungkan lagi.",
10298
+ "knowledgeApp.sources.signIn.refused": "Sumber tidak menerima cara masuk ini. Periksa, lalu hubungkan lagi.",
10299
+ "knowledgeApp.sources.signIn.keyAgain": "Masukkan kunci lagi untuk menghubungkan.",
10300
+ "knowledgeApp.sources.auth.noneBody": "Daftarnya publik.",
10301
+ "knowledgeApp.sources.auth.bearerBody": "Kunci dari sistem tersebut, dikirim di setiap permintaan.",
10302
+ "knowledgeApp.sources.auth.headerBody": "Untuk sistem yang meminta kuncinya dengan nama tertentu, seperti X-API-Key.",
10303
+ "knowledgeApp.sources.auth.basicBody": "Dikirim di setiap permintaan.",
10304
+ "knowledgeApp.sources.auth.oauth_client_credentialsBody": "Untuk sistem yang memberi akses berjangka pendek dari sebuah alamat masuk (OAuth).",
10305
+ "knowledgeApp.sources.documents.title": "Apakah dokumen ini sudah benar?",
10306
+ "knowledgeApp.sources.documents.hint": "Ini dokumen pertama di daftar, seperti yang akan tampil di Knowledge. Setiap sinkron membaca semua halaman.",
10307
+ "knowledgeApp.sources.documents.note": "{count} di halaman pertama",
10308
+ "knowledgeApp.sources.documents.morePages": "Masih ada halaman berikutnya. Setiap sinkron membaca semuanya.",
10309
+ "knowledgeApp.sources.documents.onePage": "Ini seluruh daftarnya.",
10310
+ "knowledgeApp.sources.documents.empty": "Halaman pertama belum berisi dokumen.",
10311
+ "knowledgeApp.sources.documents.noList": "Knowledge berhasil menjangkau alamat itu tetapi tidak menemukan daftar dokumen dalam jawabannya. Tentukan letak daftarnya di bawah, lalu periksa lagi.",
10312
+ "knowledgeApp.sources.documents.unfound": "Knowledge tidak dapat menentukan kolom yang berisi {parts} setiap dokumen. Pilih di bawah, lalu periksa lagi.",
10313
+ "knowledgeApp.sources.documents.leftOut": "{count} dari {total} dokumen di halaman pertama tidak memiliki judul, tanggal, ID, atau teks, jadi tidak akan diambil.",
10314
+ "knowledgeApp.sources.documents.overLimit": "{count} dokumen melebihi batas ukuran. Dokumen itu tercantum tetapi tidak dapat dicari.",
10315
+ "knowledgeApp.sources.documents.large": "Halaman pertama berukuran besar. Meminta lebih sedikit dokumen per halaman di alamat membuat setiap sinkron lebih ringan.",
10316
+ "knowledgeApp.sources.documents.stale": "Anda mengubah cara sumber dibaca. Periksa lagi untuk melihat dokumennya.",
10317
+ "knowledgeApp.sources.documents.notChecked": "Hubungkan di langkah Alamat untuk melihat dokumennya.",
10318
+ "knowledgeApp.sources.documents.check": "Periksa lagi",
10319
+ "knowledgeApp.sources.documents.checking": "Memeriksa\u2026",
10320
+ "knowledgeApp.sources.part.id": "ID",
10321
+ "knowledgeApp.sources.part.title": "judul",
10322
+ "knowledgeApp.sources.part.updatedAt": "tanggal perubahan terakhir",
10323
+ "knowledgeApp.sources.part.content": "teks",
10324
+ "knowledgeApp.sources.preview.label": "Dokumen pertama",
10325
+ "knowledgeApp.sources.preview.changed": "Diubah {time}",
10326
+ "knowledgeApp.sources.preview.file": "Berkas di {host}",
10327
+ "knowledgeApp.sources.preview.noText": "Tanpa teks",
10328
+ "knowledgeApp.sources.preview.removed": "{id} \xB7 Ditandai dihapus di sumber",
10329
+ "knowledgeApp.sources.advanced.toggle": "Ubah cara membaca kolom",
10330
+ "knowledgeApp.sources.advanced.fieldsTitle": "Kolom yang berisi setiap bagian",
10331
+ "knowledgeApp.sources.advanced.listTitle": "Cara daftar dibaca",
10332
+ "knowledgeApp.sources.advanced.other": "Kolom lain\u2026",
10333
+ "knowledgeApp.sources.advanced.none": "Tidak ada",
10334
+ "knowledgeApp.sources.advanced.pathOf": "Path untuk {part}",
10335
+ "knowledgeApp.sources.sync.nameTitle": "Apa nama sumber ini di Knowledge?",
10336
+ "knowledgeApp.sources.sync.nameHint": "Orang melihat nama ini di samping setiap dokumen darinya, seperti \u201CArtikel pusat bantuan\u201D.",
10337
+ "knowledgeApp.sources.sync.scheduleTitle": "Seberapa sering Knowledge memeriksa perubahan?",
10338
+ "knowledgeApp.sources.sync.scheduleHint": "Setiap sinkron menambah dokumen baru, memperbarui yang berubah, dan memindahkan yang dihapus ke Dihapus di sumber.",
10339
+ "knowledgeApp.sources.sync.keepTitle": "Berapa lama dokumen yang dihapus menunggu sebelum dihapus permanen?",
10340
+ "knowledgeApp.sources.sync.keepHint": "Dokumen yang sudah tidak ada di sumber keluar dari pencarian dan menunggu selama ini di Dihapus di sumber, lalu dihapus.",
10341
+ "knowledgeApp.sources.scheduleBody.every_6_hours": "Pilihan tepat untuk sebagian besar sumber.",
10342
+ "knowledgeApp.sources.scheduleBody.hourly": "Untuk daftar yang berubah sepanjang hari.",
10343
+ "knowledgeApp.sources.scheduleBody.daily": "Untuk daftar yang jarang berubah.",
10344
+ "knowledgeApp.sources.scheduleBody.manual": "Knowledge hanya menyinkronkan saat seseorang memakai Sinkronkan sekarang.",
10345
+ "knowledgeApp.sources.keepBody.30": "Pilihan paling aman. Dokumen yang dicantumkan lagi oleh sumber dalam sebulan kembali seperti semula.",
10346
+ "knowledgeApp.sources.keepBody.7": "Dokumen yang dicantumkan lagi oleh sumber dalam seminggu kembali seperti semula.",
10347
+ "knowledgeApp.sources.keepBody.1": "Dokumen dihapus sehari setelah sumber menghapusnya.",
10348
+ "knowledgeApp.sources.review.title": "Siap menambahkan sumber ini?",
10349
+ "knowledgeApp.sources.review.editTitle": "Periksa perubahan Anda",
10350
+ "knowledgeApp.sources.review.hint": "Belum ada yang disimpan sampai Anda mengonfirmasi di bawah. Ubah membuka langkah yang mengatur setiap baris.",
10351
+ "knowledgeApp.sources.review.name": "Nama",
10352
+ "knowledgeApp.sources.review.address": "Alamat",
10353
+ "knowledgeApp.sources.review.signIn": "Cara masuk",
10354
+ "knowledgeApp.sources.review.documents": "Dokumen",
10355
+ "knowledgeApp.sources.review.schedule": "Sinkron",
10356
+ "knowledgeApp.sources.review.keep": "Simpan dokumen yang dihapus selama",
10357
+ "knowledgeApp.sources.review.signInNone": "Tidak ada, daftarnya publik",
10358
+ "knowledgeApp.sources.review.signInSet": "{kind} \xB7 {state}",
10359
+ "knowledgeApp.sources.review.keyEntered": "kunci dimasukkan",
10360
+ "knowledgeApp.sources.review.keySaved": "kunci tersimpan",
10361
+ "knowledgeApp.sources.review.keyMissing": "kunci diperlukan",
10362
+ "knowledgeApp.sources.review.notChecked": "Belum diperiksa",
10363
+ "knowledgeApp.sources.review.change": "Ubah",
10364
+ "knowledgeApp.sources.review.changeOf": "Ubah {label}",
10365
+ "knowledgeApp.sources.review.firstDocuments": "Dokumen pertama",
10366
+ "admin.knowledge.sources.title": "Sumber",
10367
+ "admin.knowledge.sources.description": "Izinkan basis pengetahuan menyalin dokumen dari sistem lain, seperti pusat bantuan atau situs web. Nonaktif secara bawaan.",
10368
+ "admin.knowledge.sources.policyLabel": "Siapa yang boleh menambah sumber",
10369
+ "admin.knowledge.sources.mode.off": "Nonaktif",
10370
+ "admin.knowledge.sources.mode.organization": "Basis pengetahuan organisasi",
10371
+ "admin.knowledge.sources.mode.all_workspaces": "Organisasi dan semua ruang kerja",
10372
+ "admin.knowledge.sources.mode.chosen_workspaces": "Organisasi dan ruang kerja terpilih",
10373
+ "admin.knowledge.sources.modeHint.off": "Tidak ada basis pengetahuan yang dapat menambah sumber. Sumber yang ada tetap dapat dijeda atau dihapus.",
10374
+ "admin.knowledge.sources.modeHint.organization": "Pengelola Knowledge dapat menambah sumber ke basis pengetahuan organisasi.",
10375
+ "admin.knowledge.sources.modeHint.all_workspaces": "Selain itu, orang yang mengelola basis pengetahuan ruang kerja dapat menambah sumber ke sana.",
10376
+ "admin.knowledge.sources.modeHint.chosen_workspaces": "Selain itu, ruang kerja yang Anda pilih dapat menambah sumber ke basis pengetahuannya sendiri.",
10377
+ "admin.knowledge.sources.workspaces": "Ruang kerja",
10378
+ "admin.knowledge.sources.noWorkspaces": "Organisasi ini belum memiliki ruang kerja.",
10379
+ "admin.knowledge.sources.save": "Simpan",
10380
+ "admin.knowledge.sources.saving": "Menyimpan\u2026",
10381
+ "admin.knowledge.sources.cancel": "Batal",
10382
+ "admin.knowledge.sources.saved": "Pengaturan sumber disimpan.",
10383
+ "admin.knowledge.sources.failed": "Pengaturan tidak dapat disimpan. Coba lagi.",
10384
+ "admin.knowledge.sources.chooseWorkspace": "Pilih setidaknya satu ruang kerja.",
10385
+ "admin.knowledge.sources.loadFailed": "Sumber tidak dapat dimuat.",
10386
+ "admin.knowledge.sources.listTitle": "Semua sumber",
10387
+ "admin.knowledge.sources.listEmpty": "Belum ada basis pengetahuan yang memiliki sumber.",
10388
+ "admin.knowledge.sources.listHint": "Anda dapat menjeda atau menghapus sumber apa pun. Hanya orang yang mengelola basis pengetahuannya yang dapat mengubahnya.",
10389
+ "admin.knowledge.sources.col.source": "Sumber",
10390
+ "admin.knowledge.sources.col.base": "Basis pengetahuan",
10391
+ "admin.knowledge.sources.col.documents": "Dokumen",
10392
+ "admin.knowledge.sources.col.state": "Status",
10393
+ "admin.knowledge.sources.col.lastSync": "Sinkron terakhir",
10394
+ "admin.knowledge.sources.notSyncedYet": "Belum",
10395
+ "admin.knowledge.sources.unknownBase": "Basis pengetahuan yang tidak dapat Anda lihat",
9745
10396
  "knowledgeApp.base.manageInOrganization": "Kelola di Knowledge organisasi",
9746
10397
  "knowledgeApp.base.remove": "Hapus",
9747
10398
  "knowledgeApp.base.removeTitle": "Hapus {name}?",
@@ -9758,6 +10409,25 @@ var id_default = {
9758
10409
  "knowledgeApp.documents.unknownPerson": "Seseorang",
9759
10410
  "knowledgeApp.documents.addedByKey": "Kunci API \xB7 {name}",
9760
10411
  "knowledgeApp.documents.addedByRevokedKey": "Kunci API yang sudah dicabut",
10412
+ "knowledgeApp.documents.fromSource": "Dari {name}",
10413
+ "knowledgeApp.removed.title": "Dihapus di sumber",
10414
+ "knowledgeApp.removed.intro": "Sumbernya sudah tidak memiliki dokumen ini, jadi pencarian tidak menampilkannya. Setiap dokumen dihapus saat masa simpan sumbernya berakhir. Jika sumber mencantumkannya lagi, dokumen itu kembali.",
10415
+ "knowledgeApp.removed.selectAll": "Pilih semua",
10416
+ "knowledgeApp.removed.selectOne": "Pilih {title}",
10417
+ "knowledgeApp.removed.selected": "{count} dipilih",
10418
+ "knowledgeApp.removed.delete": "Hapus",
10419
+ "knowledgeApp.removed.removedAgo": "Dihapus di sumber {time}",
10420
+ "knowledgeApp.removed.deletesOn": "Dihapus permanen pada {date}",
10421
+ "knowledgeApp.removed.showMore": "Tampilkan lagi",
10422
+ "knowledgeApp.removed.loadFailed": "Dokumen yang dihapus di sumber tidak dapat dimuat.",
10423
+ "knowledgeApp.removed.confirmTitleOne": "Hapus 1 dokumen?",
10424
+ "knowledgeApp.removed.confirmTitleMany": "Hapus {count} dokumen?",
10425
+ "knowledgeApp.removed.confirmBody": "Dokumen ini dihapus permanen beserta filenya. Jika sumber mencantumkan salah satunya lagi nanti, dokumen itu kembali sebagai dokumen baru.",
10426
+ "knowledgeApp.removed.confirm": "Hapus",
10427
+ "knowledgeApp.removed.cancel": "Batal",
10428
+ "knowledgeApp.removed.deletedOne": "1 dokumen dihapus.",
10429
+ "knowledgeApp.removed.deletedMany": "{count} dokumen dihapus.",
10430
+ "knowledgeApp.removed.deleteFailed": "Dokumen tidak dapat dihapus. Coba lagi.",
9761
10431
  "knowledgeApp.documents.emptyManager": "Belum ada file. Tambahkan yang pertama di atas.",
9762
10432
  "knowledgeApp.documents.emptyReader": "Belum ada file.",
9763
10433
  "knowledgeApp.documents.upload": "Letakkan file di sini, atau klik untuk memilih",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
3
3
  import { MagnifyingGlassIcon, Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from './chunk-RQSMCGBR.js';
4
- import { useIsMobile, useTranslation } from './chunk-ZNCZ7QWY.js';
4
+ import { useIsMobile, useTranslation } from './chunk-4B7BE6BH.js';
5
5
  import { ToolCallItem, ProcessorIcon } from './chunk-G4EXD5F3.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-OBAC3B64.js';
7
7
  import { ChevronDownMediumIcon, Button, Skeleton, buttonVariants } from './chunk-UWKO24VT.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, 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-OYDGSDQX.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-DFZX3QDH.js';
3
3
  import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-RQSMCGBR.js';
4
- import { useIsMobile, useTranslation } from './chunk-ZNCZ7QWY.js';
4
+ import { useIsMobile, useTranslation } from './chunk-4B7BE6BH.js';
5
5
  import { MessageToolbar, MessageResponse, SquareArrowTopRightIcon, FileTextIcon, Shimmer, ClipboardIcon, Message, MessageContent, PencilIcon, deferDuringLayoutMotion, HoverCard, HoverCardTrigger, HoverCardContent, Collapse, Icon, CircleXIcon, ClockIcon } from './chunk-OBAC3B64.js';
6
6
  import { ChevronDownMediumIcon, Button, ScrollArea, Skeleton } from './chunk-UWKO24VT.js';
7
7
  import { CrossMediumIcon } from './chunk-37WYG6VG.js';
@@ -3155,6 +3155,11 @@ function useComputer(computerId, conversationId) {
3155
3155
  }
3156
3156
  });
3157
3157
  }
3158
+ function refetchKeepsOpenPreview(query) {
3159
+ const answer = query.state.data;
3160
+ const previewOpen = answer?.url != null && answer.alive && !answer.building;
3161
+ return answer?.linkChangesEachFetch !== true || !previewOpen;
3162
+ }
3158
3163
  function usePreviewUrl(computerId, appId, nonce) {
3159
3164
  const client = useClient();
3160
3165
  return useQuery({
@@ -3163,6 +3168,8 @@ function usePreviewUrl(computerId, appId, nonce) {
3163
3168
  staleTime: 0,
3164
3169
  gcTime: 0,
3165
3170
  retry: 1,
3171
+ refetchOnWindowFocus: refetchKeepsOpenPreview,
3172
+ refetchOnReconnect: refetchKeepsOpenPreview,
3166
3173
  queryFn: async () => {
3167
3174
  const res = await client.v1.computers({ computerId }).apps({ appId })["preview-url"].get();
3168
3175
  return unwrapData(res.data);
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { Sheet, SheetContent, SheetHeader, SheetTitle, Popover, PopoverTrigger, PopoverContent, MagnifyingGlassIcon } from './chunk-RQSMCGBR.js';
3
- import { useIsMobile, useTranslation } from './chunk-ZNCZ7QWY.js';
3
+ import { useIsMobile, useTranslation } from './chunk-4B7BE6BH.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';
@@ -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-OYDGSDQX.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-DFZX3QDH.js';
3
3
  import { MagnifyingGlassIcon, Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-RQSMCGBR.js';
4
- import { useTranslation, useIsMobile } from './chunk-ZNCZ7QWY.js';
4
+ import { useTranslation, useIsMobile } from './chunk-4B7BE6BH.js';
5
5
  import { Collapsible, CollapsibleTrigger, CollapsibleContent, Shimmer, HoverCard, HoverCardTrigger, HoverCardContent } from './chunk-OBAC3B64.js';
6
6
  import { ChevronDownMediumIcon, ScrollArea, Skeleton, Button } from './chunk-UWKO24VT.js';
7
7
  import { Dialog, DialogContent, DialogHeader, DialogTitle, CrossMediumIcon } from './chunk-37WYG6VG.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useTranslation } from './chunk-ZNCZ7QWY.js';
2
+ import { useTranslation } from './chunk-4B7BE6BH.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';
package/dist/header.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client';
2
- export { ChatHeader, ChatHeaderActions } from './chunk-67IW6PE4.js';
3
- import './chunk-OYDGSDQX.js';
2
+ export { ChatHeader, ChatHeaderActions } from './chunk-UKJZW3SE.js';
3
+ import './chunk-DFZX3QDH.js';
4
4
  import './chunk-CWAOLMFS.js';
5
5
  import './chunk-RQSMCGBR.js';
6
- import './chunk-ZNCZ7QWY.js';
6
+ import './chunk-4B7BE6BH.js';
7
7
  import './chunk-G4EXD5F3.js';
8
8
  import './chunk-OBAC3B64.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-GCPPMKGT.js';
3
- import './chunk-OYDGSDQX.js';
2
+ export { Message, Thinking } from './chunk-H4M6ZW55.js';
3
+ import './chunk-DFZX3QDH.js';
4
4
  import './chunk-CWAOLMFS.js';
5
5
  import './chunk-RQSMCGBR.js';
6
- import './chunk-ZNCZ7QWY.js';
6
+ import './chunk-4B7BE6BH.js';
7
7
  import './chunk-G4EXD5F3.js';
8
8
  import './chunk-OBAC3B64.js';
9
9
  import './chunk-UWKO24VT.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-2SX4XLQI.js';
2
+ export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-JMWT7YJF.js';
3
3
  import './chunk-RQSMCGBR.js';
4
- import './chunk-ZNCZ7QWY.js';
4
+ import './chunk-4B7BE6BH.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-F66BHU7S.js';
3
+ import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-X6WR7JYK.js';
4
4
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
5
- import { useTranslation, useIsMobile } from './chunk-ZNCZ7QWY.js';
5
+ import { useTranslation, useIsMobile } from './chunk-4B7BE6BH.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-F66BHU7S.js';
2
+ import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-X6WR7JYK.js';
3
3
  import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
4
- import { useTranslation, useIsMobile } from './chunk-ZNCZ7QWY.js';
4
+ import { useTranslation, useIsMobile } from './chunk-4B7BE6BH.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.53.14",
3
+ "version": "1.53.15",
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.14",
93
- "@frontera-sdk/core": "1.53.14",
92
+ "@frontera-sdk/chat": "1.53.15",
93
+ "@frontera-sdk/core": "1.53.15",
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",