@frontera-sdk/chat-ui 1.50.84 → 1.51.0
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 +202 -163
- package/dist/{chunk-LMO5ZVB4.js → chunk-3GRFS7S5.js} +72 -4
- package/dist/{chunk-W25JFW23.js → chunk-DBF7MVXX.js} +1 -1
- package/dist/{chunk-BVUZC3CV.js → chunk-DTMMKNUM.js} +1 -1
- package/dist/{chunk-UE4KFYFK.js → chunk-LBMYYA6P.js} +1 -1
- package/dist/{chunk-GYFPAGMQ.js → chunk-R4S5G3UV.js} +2 -2
- package/dist/{chunk-N6O25UEO.js → chunk-TY6XSNUD.js} +2 -2
- package/dist/header.js +3 -3
- package/dist/message.js +3 -3
- package/dist/new-session.js +2 -2
- package/dist/{pdf-deck-view-inner-QUB74PES.js → pdf-deck-view-inner-XEJ5S7KB.js} +2 -2
- package/dist/{pdf-document-view-inner-LG6VFSM4.js → pdf-document-view-inner-HGUV2NLJ.js} +2 -2
- package/package.json +3 -3
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-
|
|
5
|
-
import { NewSessionPrompt, keepCaretOnTap } from './chunk-
|
|
4
|
+
import { ArtifactSkeleton, resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb } from './chunk-DTMMKNUM.js';
|
|
5
|
+
import { NewSessionPrompt, keepCaretOnTap } from './chunk-DBF7MVXX.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-
|
|
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-TY6XSNUD.js';
|
|
13
13
|
import './chunk-X3QVICX7.js';
|
|
14
|
-
import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, useLivePreviewUrl, ArrowRotateClockwiseIcon, useComputerFiles, useUploadComputerFile, CanvasWidget, isPlainTextLanguage, useUploadFile, COMPOSER_ID_MAIN, useContextWindowInfo, useIsCompacting, useQueuedMessages, VolumeFullIcon, WarningSignIcon, useComputer, csvTextToWorkbookJson, CSV_PREVIEW_MAX_ROWS, CopyButton, COMPOSER_ID_COPILOT, ModelIcon, modeToBrandRow, useBackDismiss, PdfViewer, brandLabel, Spinner } from './chunk-
|
|
15
|
-
import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useConversationDesktopStatus, isRequestHumanTool, appsKeys, useSession, useWorkspaceContext, errorText, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-
|
|
14
|
+
import { dynamic, useChatStreamStore, useComposerStore, Message, Thinking, setPendingFiles, useLivePreviewUrl, ArrowRotateClockwiseIcon, useComputerFiles, useUploadComputerFile, CanvasWidget, isPlainTextLanguage, useUploadFile, COMPOSER_ID_MAIN, useContextWindowInfo, useIsCompacting, useQueuedMessages, VolumeFullIcon, WarningSignIcon, useComputer, csvTextToWorkbookJson, CSV_PREVIEW_MAX_ROWS, CopyButton, COMPOSER_ID_COPILOT, ModelIcon, modeToBrandRow, useBackDismiss, PdfViewer, brandLabel, Spinner } from './chunk-R4S5G3UV.js';
|
|
15
|
+
import { Textarea, artifactFormatIcon, BookIcon, useAgentRoster, ShieldCheckIcon, useArtifactStore, useCanvasStore, useChatOverviewStore, setSdkConversationPath, setSdkDarkMode, AgentsProvider, PluginProvider, WorkspaceProvider, TooltipProvider, isToolPart, getToolState, getToolName, getToolInput, sourceKind, extractDomain, CitationViewerContext, MarkdownRenderer, ConnectRunnerContext, usePathname, usePaneFocusStore, useAgentPanelStore, Tooltip, TooltipTrigger, TooltipContent, StudioDisplayIcon, WorldIcon, SlidesWideIcon, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, ArrowsShowIcon, useKeyboardInset, ExclamationCircleIcon, getToolOutput, useArtifact, useUpdateArtifact, useArtifactFileObjectUrl, resolveArtifactIconFormat, useSourcesEnrichment, LoaderIcon, FileDownloadIcon, Label, Input, renderPluginBlock, useArtifactVersion, useChatCapabilities, useChatOptInEnabled, useSessionPendingApprovals, tableToCsv, tableToXlsx, tableToMarkdown, DropdownMenu, DropdownMenuTrigger, StyledDropdownMenuContent, StyledDropdownMenuItem, useArtifactVersions, useClient, unwrapData, authFetch, getBearerHeadersForApi, EyeOpenIcon, EyeSlashIcon, useRestoreArtifactVersion, ZoomableImage, ChatImageLightbox, useDownloadArtifact, useArtifactFileBytes, useArtifactPreviewFileObjectUrl, useArtifactVersionPreviewFileObjectUrl, SpreadsheetIcon, FilePdfIcon, useOptionalWorkspaceContext, useAgentConnectionStatus, useArtifacts, useConversationDesktopStatus, isRequestHumanTool, appsKeys, useSession, useWorkspaceContext, errorText, unwrapDataDeep, useRouter, Images1Icon, ArrowUpIcon, VideoIcon, AudioIcon, useBrand, resolveBearerHeaders, subscribeSdkDarkMode, getSdkDarkMode, unwrap, useConnectRunner, useStartUserConnect, useUpsertGrant, useRevokeGrant, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, LayoutGrid1Icon, useCatalog, useInstalls, useWorkspaceSlug, buildTenantUrlAbsolute } from './chunk-LBMYYA6P.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-
|
|
18
|
+
import { MOBILE_BREAKPOINT, useIsMobile, I18nProvider, useTranslation } from './chunk-3GRFS7S5.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-
|
|
42452
|
+
() => import('./pdf-document-view-inner-HGUV2NLJ.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-
|
|
43269
|
+
var Inner = dynamic(() => import('./pdf-deck-view-inner-XEJ5S7KB.js'), {
|
|
43270
43270
|
ssr: false,
|
|
43271
43271
|
loading: () => /* @__PURE__ */ jsx(ArtifactSkeleton, { format: "htmldeck" })
|
|
43272
43272
|
});
|
|
@@ -45393,15 +45393,27 @@ function SourcesTabView({
|
|
|
45393
45393
|
`${citation.url}-${index}`
|
|
45394
45394
|
)) }) });
|
|
45395
45395
|
}
|
|
45396
|
-
function
|
|
45396
|
+
function DocumentTab({
|
|
45397
45397
|
active,
|
|
45398
45398
|
title,
|
|
45399
45399
|
icon,
|
|
45400
45400
|
onSelect,
|
|
45401
45401
|
onClose,
|
|
45402
|
-
closeLabel
|
|
45402
|
+
closeLabel,
|
|
45403
|
+
tooltip,
|
|
45404
|
+
ref,
|
|
45405
|
+
className,
|
|
45406
|
+
...rest
|
|
45403
45407
|
}) {
|
|
45404
45408
|
const tabRef = useRef(null);
|
|
45409
|
+
const setTabRef = useCallback(
|
|
45410
|
+
(node) => {
|
|
45411
|
+
tabRef.current = node;
|
|
45412
|
+
if (typeof ref === "function") ref(node);
|
|
45413
|
+
else if (ref) ref.current = node;
|
|
45414
|
+
},
|
|
45415
|
+
[ref]
|
|
45416
|
+
);
|
|
45405
45417
|
useEffect(() => {
|
|
45406
45418
|
if (active) {
|
|
45407
45419
|
tabRef.current?.scrollIntoView({
|
|
@@ -45415,7 +45427,10 @@ function RightPanelTab({
|
|
|
45415
45427
|
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
45416
45428
|
"div",
|
|
45417
45429
|
{
|
|
45418
|
-
|
|
45430
|
+
...rest,
|
|
45431
|
+
ref: setTabRef,
|
|
45432
|
+
"data-slot": "document-tab",
|
|
45433
|
+
"data-active": active || void 0,
|
|
45419
45434
|
role: "button",
|
|
45420
45435
|
tabIndex: 0,
|
|
45421
45436
|
onClick: onSelect,
|
|
@@ -45426,14 +45441,15 @@ function RightPanelTab({
|
|
|
45426
45441
|
}
|
|
45427
45442
|
},
|
|
45428
45443
|
className: cn(
|
|
45429
|
-
// Sized to its label, capped so one long
|
|
45430
|
-
//
|
|
45431
|
-
//
|
|
45432
|
-
//
|
|
45433
|
-
//
|
|
45434
|
-
//
|
|
45444
|
+
// Sized to its label, capped so one long title cannot push the
|
|
45445
|
+
// rest of the strip off-screen. The trailing padding lives on the
|
|
45446
|
+
// LABEL rather than here: `text-fade` masks the last 0.75rem of
|
|
45447
|
+
// the element it is on, so on a shrink-to-fit tab it would eat the
|
|
45448
|
+
// final glyphs of a short name — over the padding it fades nothing
|
|
45449
|
+
// until the name actually overflows.
|
|
45435
45450
|
"group/tab relative flex h-8 w-fit max-w-32 flex-none cursor-pointer select-none items-center gap-1.5 whitespace-nowrap rounded-lg pl-3 text-xs transition-colors",
|
|
45436
|
-
active ? "bg-muted font-medium text-foreground hover:bg-surface-hover dark:bg-surface-raised dark:hover:bg-surface-hover" : "text-muted-foreground hover:bg-surface-hover hover:text-foreground focus-within:bg-surface-hover"
|
|
45451
|
+
active ? "bg-muted font-medium text-foreground hover:bg-surface-hover dark:bg-surface-raised dark:hover:bg-surface-hover" : "text-muted-foreground hover:bg-surface-hover hover:text-foreground focus-within:bg-surface-hover",
|
|
45452
|
+
className
|
|
45437
45453
|
),
|
|
45438
45454
|
children: [
|
|
45439
45455
|
icon,
|
|
@@ -45442,6 +45458,7 @@ function RightPanelTab({
|
|
|
45442
45458
|
"button",
|
|
45443
45459
|
{
|
|
45444
45460
|
type: "button",
|
|
45461
|
+
"data-slot": "document-tab-close",
|
|
45445
45462
|
onClick: (event) => {
|
|
45446
45463
|
event.stopPropagation();
|
|
45447
45464
|
onClose();
|
|
@@ -45458,9 +45475,46 @@ function RightPanelTab({
|
|
|
45458
45475
|
]
|
|
45459
45476
|
}
|
|
45460
45477
|
) }),
|
|
45461
|
-
/* @__PURE__ */ jsx(TooltipContent, { side: "bottom", sideOffset: 6, children: title })
|
|
45478
|
+
/* @__PURE__ */ jsx(TooltipContent, { side: "bottom", sideOffset: 6, children: tooltip ?? title })
|
|
45462
45479
|
] });
|
|
45463
45480
|
}
|
|
45481
|
+
function scrollStripWithWheel(event) {
|
|
45482
|
+
const el = event.currentTarget;
|
|
45483
|
+
if (el.scrollWidth <= el.clientWidth) return;
|
|
45484
|
+
const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;
|
|
45485
|
+
if (delta === 0) return;
|
|
45486
|
+
event.preventDefault();
|
|
45487
|
+
el.scrollLeft += delta;
|
|
45488
|
+
}
|
|
45489
|
+
function DocumentTabStrip({ ref, className, ...rest }) {
|
|
45490
|
+
const stripRef = useRef(null);
|
|
45491
|
+
const setStripRef = useCallback(
|
|
45492
|
+
(node) => {
|
|
45493
|
+
stripRef.current = node;
|
|
45494
|
+
if (typeof ref === "function") ref(node);
|
|
45495
|
+
else if (ref) ref.current = node;
|
|
45496
|
+
},
|
|
45497
|
+
[ref]
|
|
45498
|
+
);
|
|
45499
|
+
useEffect(() => {
|
|
45500
|
+
const el = stripRef.current;
|
|
45501
|
+
if (!el) return;
|
|
45502
|
+
el.addEventListener("wheel", scrollStripWithWheel, { passive: false });
|
|
45503
|
+
return () => el.removeEventListener("wheel", scrollStripWithWheel);
|
|
45504
|
+
}, []);
|
|
45505
|
+
return /* @__PURE__ */ jsx(
|
|
45506
|
+
"div",
|
|
45507
|
+
{
|
|
45508
|
+
...rest,
|
|
45509
|
+
ref: setStripRef,
|
|
45510
|
+
"data-slot": "document-tab-strip",
|
|
45511
|
+
className: cn(
|
|
45512
|
+
"scroll-fade-x flex h-10 min-w-0 flex-1 items-center gap-1 overflow-x-auto overflow-y-hidden overscroll-x-contain px-3 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
45513
|
+
className
|
|
45514
|
+
)
|
|
45515
|
+
}
|
|
45516
|
+
);
|
|
45517
|
+
}
|
|
45464
45518
|
function useHorizontalOverflow(contentKey) {
|
|
45465
45519
|
const containerRef = useRef(null);
|
|
45466
45520
|
const [hasOverflow, setHasOverflow] = useState(false);
|
|
@@ -45886,154 +45940,139 @@ function RightPanel({
|
|
|
45886
45940
|
),
|
|
45887
45941
|
children: [
|
|
45888
45942
|
/* @__PURE__ */ jsxs("div", { className: "flex items-stretch h-10 shrink-0 border-b", children: [
|
|
45889
|
-
/* @__PURE__ */ jsxs(
|
|
45890
|
-
|
|
45891
|
-
|
|
45892
|
-
|
|
45893
|
-
|
|
45894
|
-
|
|
45895
|
-
|
|
45896
|
-
|
|
45897
|
-
|
|
45898
|
-
|
|
45899
|
-
|
|
45900
|
-
el.scrollLeft += delta;
|
|
45901
|
-
},
|
|
45902
|
-
children: [
|
|
45903
|
-
hasAgentTabs && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
45904
|
-
/* @__PURE__ */ jsx(
|
|
45905
|
-
RightPanelTab,
|
|
45906
|
-
{
|
|
45907
|
-
active: effectiveActiveId === AGENT_WORK_TAB_ID,
|
|
45908
|
-
title: t2("agentMode.work.title"),
|
|
45909
|
-
icon: /* @__PURE__ */ jsx(ChecklistIcon, { className: "size-3.5 shrink-0" }),
|
|
45910
|
-
onSelect: () => {
|
|
45911
|
-
setActiveId(AGENT_WORK_TAB_ID);
|
|
45912
|
-
setShowPicker(false);
|
|
45913
|
-
}
|
|
45914
|
-
}
|
|
45915
|
-
),
|
|
45916
|
-
/* @__PURE__ */ jsx(
|
|
45917
|
-
RightPanelTab,
|
|
45918
|
-
{
|
|
45919
|
-
active: effectiveActiveId === AGENT_ROUTINES_TAB_ID,
|
|
45920
|
-
title: t2("agentMode.routines.title"),
|
|
45921
|
-
icon: /* @__PURE__ */ jsx(CalendarRepeatIcon, { className: "size-3.5 shrink-0" }),
|
|
45922
|
-
onSelect: () => {
|
|
45923
|
-
setActiveId(AGENT_ROUTINES_TAB_ID);
|
|
45924
|
-
setShowPicker(false);
|
|
45925
|
-
}
|
|
45926
|
-
}
|
|
45927
|
-
)
|
|
45928
|
-
] }),
|
|
45929
|
-
tabArtifacts.map((a) => /* @__PURE__ */ jsx(
|
|
45930
|
-
RightPanelTab,
|
|
45931
|
-
{
|
|
45932
|
-
active: effectiveActiveId === a.id,
|
|
45933
|
-
title: a.title,
|
|
45934
|
-
icon: /* @__PURE__ */ jsx(
|
|
45935
|
-
ArtifactTabIcon,
|
|
45936
|
-
{
|
|
45937
|
-
format: a.format,
|
|
45938
|
-
artifactId: a.id,
|
|
45939
|
-
mimeType: "mimeType" in a ? a.mimeType : void 0,
|
|
45940
|
-
title: a.title
|
|
45941
|
-
}
|
|
45942
|
-
),
|
|
45943
|
-
onSelect: () => selectArtifact(a.id),
|
|
45944
|
-
onClose: () => closeTab(a.id),
|
|
45945
|
-
closeLabel: t2("library.close")
|
|
45946
|
-
},
|
|
45947
|
-
a.id
|
|
45948
|
-
)),
|
|
45949
|
-
canvasItems.map((it) => {
|
|
45950
|
-
const tid = chartTabId(it.id);
|
|
45951
|
-
return /* @__PURE__ */ jsx(
|
|
45952
|
-
RightPanelTab,
|
|
45953
|
-
{
|
|
45954
|
-
active: effectiveActiveId === tid,
|
|
45955
|
-
title: it.title || "Chart",
|
|
45956
|
-
icon: /* @__PURE__ */ jsx(Chart1Icon, { className: "size-3.5 shrink-0" }),
|
|
45957
|
-
onSelect: () => {
|
|
45958
|
-
setActiveId(tid);
|
|
45959
|
-
setShowPicker(false);
|
|
45960
|
-
},
|
|
45961
|
-
onClose: () => closeTab(tid),
|
|
45962
|
-
closeLabel: t2("library.close")
|
|
45963
|
-
},
|
|
45964
|
-
tid
|
|
45965
|
-
);
|
|
45966
|
-
}),
|
|
45967
|
-
pendingCanvasRefs.map((ref) => {
|
|
45968
|
-
const tid = pendingCanvasTabId(ref);
|
|
45969
|
-
return /* @__PURE__ */ jsx(
|
|
45970
|
-
RightPanelTab,
|
|
45971
|
-
{
|
|
45972
|
-
active: effectiveActiveId === tid,
|
|
45973
|
-
title: ref.t || "Chart",
|
|
45974
|
-
icon: /* @__PURE__ */ jsx(Chart1Icon, { className: "size-3.5 shrink-0" }),
|
|
45975
|
-
onSelect: () => {
|
|
45976
|
-
setActiveId(tid);
|
|
45977
|
-
setShowPicker(false);
|
|
45978
|
-
},
|
|
45979
|
-
onClose: () => closeTab(tid),
|
|
45980
|
-
closeLabel: t2("library.close")
|
|
45981
|
-
},
|
|
45982
|
-
tid
|
|
45983
|
-
);
|
|
45984
|
-
}),
|
|
45985
|
-
computerTabs.map((ct) => {
|
|
45986
|
-
const tid = computerTabId(ct.id);
|
|
45987
|
-
const icon = ct.kind === "app" ? /* @__PURE__ */ jsx(StudioDisplayIcon, { className: "size-3.5 shrink-0" }) : ct.kind === "files" ? /* @__PURE__ */ jsx(Folder1Icon, { className: "size-3.5 shrink-0" }) : /* @__PURE__ */ jsx(WorldIcon, { className: "size-3.5 shrink-0" });
|
|
45988
|
-
return /* @__PURE__ */ jsx(
|
|
45989
|
-
RightPanelTab,
|
|
45990
|
-
{
|
|
45991
|
-
active: effectiveActiveId === tid,
|
|
45992
|
-
title: ct.title,
|
|
45993
|
-
icon,
|
|
45994
|
-
onSelect: () => {
|
|
45995
|
-
setActiveId(tid);
|
|
45996
|
-
setActiveComputer(ct.id);
|
|
45997
|
-
setShowPicker(false);
|
|
45998
|
-
},
|
|
45999
|
-
onClose: () => closeTab(tid),
|
|
46000
|
-
closeLabel: t2("library.close")
|
|
46001
|
-
},
|
|
46002
|
-
tid
|
|
46003
|
-
);
|
|
46004
|
-
}),
|
|
46005
|
-
templateTabId && /* @__PURE__ */ jsx(
|
|
46006
|
-
RightPanelTab,
|
|
46007
|
-
{
|
|
46008
|
-
active: effectiveActiveId === templateTabId,
|
|
46009
|
-
title: templateTabTitle,
|
|
46010
|
-
icon: /* @__PURE__ */ jsx(SlidesWideIcon, { className: "size-3.5 shrink-0" }),
|
|
46011
|
-
onSelect: () => {
|
|
46012
|
-
setActiveId(templateTabId);
|
|
46013
|
-
setShowPicker(false);
|
|
46014
|
-
},
|
|
46015
|
-
onClose: () => closeTab(templateTabId),
|
|
46016
|
-
closeLabel: t2("library.close")
|
|
45943
|
+
/* @__PURE__ */ jsxs(DocumentTabStrip, { ref: tabStripRef, children: [
|
|
45944
|
+
hasAgentTabs && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
45945
|
+
/* @__PURE__ */ jsx(
|
|
45946
|
+
DocumentTab,
|
|
45947
|
+
{
|
|
45948
|
+
active: effectiveActiveId === AGENT_WORK_TAB_ID,
|
|
45949
|
+
title: t2("agentMode.work.title"),
|
|
45950
|
+
icon: /* @__PURE__ */ jsx(ChecklistIcon, { className: "size-3.5 shrink-0" }),
|
|
45951
|
+
onSelect: () => {
|
|
45952
|
+
setActiveId(AGENT_WORK_TAB_ID);
|
|
45953
|
+
setShowPicker(false);
|
|
46017
45954
|
}
|
|
46018
|
-
|
|
46019
|
-
|
|
46020
|
-
|
|
45955
|
+
}
|
|
45956
|
+
),
|
|
45957
|
+
/* @__PURE__ */ jsx(
|
|
45958
|
+
DocumentTab,
|
|
45959
|
+
{
|
|
45960
|
+
active: effectiveActiveId === AGENT_ROUTINES_TAB_ID,
|
|
45961
|
+
title: t2("agentMode.routines.title"),
|
|
45962
|
+
icon: /* @__PURE__ */ jsx(CalendarRepeatIcon, { className: "size-3.5 shrink-0" }),
|
|
45963
|
+
onSelect: () => {
|
|
45964
|
+
setActiveId(AGENT_ROUTINES_TAB_ID);
|
|
45965
|
+
setShowPicker(false);
|
|
45966
|
+
}
|
|
45967
|
+
}
|
|
45968
|
+
)
|
|
45969
|
+
] }),
|
|
45970
|
+
tabArtifacts.map((a) => /* @__PURE__ */ jsx(
|
|
45971
|
+
DocumentTab,
|
|
45972
|
+
{
|
|
45973
|
+
active: effectiveActiveId === a.id,
|
|
45974
|
+
title: a.title,
|
|
45975
|
+
icon: /* @__PURE__ */ jsx(
|
|
45976
|
+
ArtifactTabIcon,
|
|
46021
45977
|
{
|
|
46022
|
-
|
|
46023
|
-
|
|
46024
|
-
|
|
46025
|
-
|
|
46026
|
-
setActiveId(SOURCES_TAB_ID);
|
|
46027
|
-
setShowPicker(false);
|
|
46028
|
-
},
|
|
46029
|
-
onClose: () => closeTab(SOURCES_TAB_ID),
|
|
46030
|
-
closeLabel: t2("library.close")
|
|
45978
|
+
format: a.format,
|
|
45979
|
+
artifactId: a.id,
|
|
45980
|
+
mimeType: "mimeType" in a ? a.mimeType : void 0,
|
|
45981
|
+
title: a.title
|
|
46031
45982
|
}
|
|
46032
45983
|
),
|
|
46033
|
-
|
|
46034
|
-
|
|
46035
|
-
|
|
46036
|
-
|
|
45984
|
+
onSelect: () => selectArtifact(a.id),
|
|
45985
|
+
onClose: () => closeTab(a.id),
|
|
45986
|
+
closeLabel: t2("library.close")
|
|
45987
|
+
},
|
|
45988
|
+
a.id
|
|
45989
|
+
)),
|
|
45990
|
+
canvasItems.map((it) => {
|
|
45991
|
+
const tid = chartTabId(it.id);
|
|
45992
|
+
return /* @__PURE__ */ jsx(
|
|
45993
|
+
DocumentTab,
|
|
45994
|
+
{
|
|
45995
|
+
active: effectiveActiveId === tid,
|
|
45996
|
+
title: it.title || "Chart",
|
|
45997
|
+
icon: /* @__PURE__ */ jsx(Chart1Icon, { className: "size-3.5 shrink-0" }),
|
|
45998
|
+
onSelect: () => {
|
|
45999
|
+
setActiveId(tid);
|
|
46000
|
+
setShowPicker(false);
|
|
46001
|
+
},
|
|
46002
|
+
onClose: () => closeTab(tid),
|
|
46003
|
+
closeLabel: t2("library.close")
|
|
46004
|
+
},
|
|
46005
|
+
tid
|
|
46006
|
+
);
|
|
46007
|
+
}),
|
|
46008
|
+
pendingCanvasRefs.map((ref) => {
|
|
46009
|
+
const tid = pendingCanvasTabId(ref);
|
|
46010
|
+
return /* @__PURE__ */ jsx(
|
|
46011
|
+
DocumentTab,
|
|
46012
|
+
{
|
|
46013
|
+
active: effectiveActiveId === tid,
|
|
46014
|
+
title: ref.t || "Chart",
|
|
46015
|
+
icon: /* @__PURE__ */ jsx(Chart1Icon, { className: "size-3.5 shrink-0" }),
|
|
46016
|
+
onSelect: () => {
|
|
46017
|
+
setActiveId(tid);
|
|
46018
|
+
setShowPicker(false);
|
|
46019
|
+
},
|
|
46020
|
+
onClose: () => closeTab(tid),
|
|
46021
|
+
closeLabel: t2("library.close")
|
|
46022
|
+
},
|
|
46023
|
+
tid
|
|
46024
|
+
);
|
|
46025
|
+
}),
|
|
46026
|
+
computerTabs.map((ct) => {
|
|
46027
|
+
const tid = computerTabId(ct.id);
|
|
46028
|
+
const icon = ct.kind === "app" ? /* @__PURE__ */ jsx(StudioDisplayIcon, { className: "size-3.5 shrink-0" }) : ct.kind === "files" ? /* @__PURE__ */ jsx(Folder1Icon, { className: "size-3.5 shrink-0" }) : /* @__PURE__ */ jsx(WorldIcon, { className: "size-3.5 shrink-0" });
|
|
46029
|
+
return /* @__PURE__ */ jsx(
|
|
46030
|
+
DocumentTab,
|
|
46031
|
+
{
|
|
46032
|
+
active: effectiveActiveId === tid,
|
|
46033
|
+
title: ct.title,
|
|
46034
|
+
icon,
|
|
46035
|
+
onSelect: () => {
|
|
46036
|
+
setActiveId(tid);
|
|
46037
|
+
setActiveComputer(ct.id);
|
|
46038
|
+
setShowPicker(false);
|
|
46039
|
+
},
|
|
46040
|
+
onClose: () => closeTab(tid),
|
|
46041
|
+
closeLabel: t2("library.close")
|
|
46042
|
+
},
|
|
46043
|
+
tid
|
|
46044
|
+
);
|
|
46045
|
+
}),
|
|
46046
|
+
templateTabId && /* @__PURE__ */ jsx(
|
|
46047
|
+
DocumentTab,
|
|
46048
|
+
{
|
|
46049
|
+
active: effectiveActiveId === templateTabId,
|
|
46050
|
+
title: templateTabTitle,
|
|
46051
|
+
icon: /* @__PURE__ */ jsx(SlidesWideIcon, { className: "size-3.5 shrink-0" }),
|
|
46052
|
+
onSelect: () => {
|
|
46053
|
+
setActiveId(templateTabId);
|
|
46054
|
+
setShowPicker(false);
|
|
46055
|
+
},
|
|
46056
|
+
onClose: () => closeTab(templateTabId),
|
|
46057
|
+
closeLabel: t2("library.close")
|
|
46058
|
+
}
|
|
46059
|
+
),
|
|
46060
|
+
hasSourcesTab && /* @__PURE__ */ jsx(
|
|
46061
|
+
DocumentTab,
|
|
46062
|
+
{
|
|
46063
|
+
active: effectiveActiveId === SOURCES_TAB_ID,
|
|
46064
|
+
title: t2("chat.overview.sources"),
|
|
46065
|
+
icon: /* @__PURE__ */ jsx(ChainLink1Icon, { className: "size-3.5 shrink-0" }),
|
|
46066
|
+
onSelect: () => {
|
|
46067
|
+
setActiveId(SOURCES_TAB_ID);
|
|
46068
|
+
setShowPicker(false);
|
|
46069
|
+
},
|
|
46070
|
+
onClose: () => closeTab(SOURCES_TAB_ID),
|
|
46071
|
+
closeLabel: t2("library.close")
|
|
46072
|
+
}
|
|
46073
|
+
),
|
|
46074
|
+
!tabStripOverflows && addTabButton
|
|
46075
|
+
] }),
|
|
46037
46076
|
tabStripOverflows && /* @__PURE__ */ jsx("div", { className: "flex h-10 shrink-0 items-center pl-1", children: addTabButton }),
|
|
46038
46077
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 pl-2 pr-3 shrink-0", children: [
|
|
46039
46078
|
sourcesActive ? null : computerActive ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -5005,11 +5005,11 @@ Use Add a rule to build them from lists.`,
|
|
|
5005
5005
|
"appExternal.keys.loading": "Loading App keys",
|
|
5006
5006
|
"appExternal.keys.loadFailed": "App keys could not be loaded.",
|
|
5007
5007
|
"appExternal.roles.title": "Roles",
|
|
5008
|
-
"appExternal.roles.hint": "Business roles for this app: who gets each one, and the data it may read.",
|
|
5008
|
+
"appExternal.roles.hint": "Business roles for this app: who gets each one, what it can do, and the data it may read.",
|
|
5009
5009
|
"appExternal.roles.add": "Add role",
|
|
5010
5010
|
"appExternal.roles.addTitle": "Add role",
|
|
5011
5011
|
"appExternal.roles.editTitle": "Edit role",
|
|
5012
|
-
"appExternal.roles.dialogDescription": "Say who gets this role at sign-in, and which records of each object type they may read.",
|
|
5012
|
+
"appExternal.roles.dialogDescription": "Say who gets this role at sign-in, what it can do, and which records of each object type they may read.",
|
|
5013
5013
|
"appExternal.roles.whoTitle": "Who gets this role",
|
|
5014
5014
|
"appExternal.roles.whoHint": "At sign-in, a person gets this role when any condition matches their login token. Someone who gets no role can't sign in.",
|
|
5015
5015
|
"appExternal.roles.whoNone": "No conditions: nobody gets this role at sign-in. Give it to people one by one under App users \u2014 someone who tried to sign in without a role is listed there.",
|
|
@@ -5033,8 +5033,28 @@ Use Add a rule to build them from lists.`,
|
|
|
5033
5033
|
"appExternal.roles.whoSummary": "Given to: {conditions}",
|
|
5034
5034
|
"appExternal.roles.whoSummaryNone": "Given per person only",
|
|
5035
5035
|
"appExternal.roles.scopeNone": "Reads no data",
|
|
5036
|
+
"appExternal.roles.actionsTitle": "What this role can do",
|
|
5037
|
+
"appExternal.roles.actionsHint": "Choose the Actions people with this role may submit.",
|
|
5038
|
+
"appExternal.roles.actionsNone": "This role can only read data.",
|
|
5039
|
+
"appExternal.roles.chooseActions": "Choose Actions",
|
|
5040
|
+
"appExternal.roles.actionsSearch": "Search Actions\u2026",
|
|
5041
|
+
"appExternal.roles.actionsNoMatch": "No Action matches.",
|
|
5042
|
+
"appExternal.roles.actionsLoading": "Loading Actions\u2026",
|
|
5043
|
+
"appExternal.roles.actionsLoadFailed": "Actions could not be loaded. Close this dialog and open it again.",
|
|
5044
|
+
"appExternal.roles.actionsNoneAvailable": "There are no Actions to choose yet. Actions come from Blueprint, on record types this workspace can read. Only Actions that change Blueprint records can be chosen.",
|
|
5045
|
+
"appExternal.roles.actionRemoved": "removed",
|
|
5046
|
+
"appExternal.roles.actionUnknown": "Unknown Action",
|
|
5047
|
+
"appExternal.roles.removeAction": "Remove {name}",
|
|
5048
|
+
"appExternal.roles.actionsRemovedHint": "An Action marked removed is not available to this App right now. If the Action becomes available to this App again, the role has it again. Remove it to stop that.",
|
|
5049
|
+
"appExternal.roles.actionsSummary": "Can do: {count} Actions",
|
|
5050
|
+
"appExternal.roles.actionsSummaryOne": "Can do: 1 Action",
|
|
5051
|
+
"appExternal.roles.actionsSummaryNone": "Can do: read only",
|
|
5052
|
+
"appExternal.help.roleActions": "The Actions people with this role may submit. Actions are defined in Blueprint; the list shows the ones on record types this workspace can read. An Action can be used only on records this same role lets people read, so give this role a Data scope rule for the record type each Action changes. A role that only lists Actions lets nobody use them. Choose none and the role only reads data.",
|
|
5036
5053
|
"appExternal.roles.save": "Save role",
|
|
5037
5054
|
"appExternal.roles.saved": "Role saved",
|
|
5055
|
+
"appExternal.roles.actionNeedsDataRule": "{action} changes {objectType}, but this role has no Data scope rule for {objectType}, so nobody can use it through this role yet.",
|
|
5056
|
+
"appExternal.roles.actionNeedsDataRuleMore": "{message} {count} more of this role's Actions have no Data scope rule for the record type they change either.",
|
|
5057
|
+
"appExternal.roles.actionNeedsDataRuleMoreOne": "{message} 1 more of this role's Actions has no Data scope rule for the record type it changes either.",
|
|
5038
5058
|
"appExternal.roles.saveFailed": "Failed to save role",
|
|
5039
5059
|
"appExternal.roles.empty": "No roles yet. Nobody can read data until they hold a role.",
|
|
5040
5060
|
"appExternal.roles.deleteTitle": "Delete role {name}?",
|
|
@@ -5135,6 +5155,20 @@ Use Add a rule to build them from lists.`,
|
|
|
5135
5155
|
"appExternal.users.rolesSaved": "Roles updated",
|
|
5136
5156
|
"appExternal.users.loading": "Loading App users",
|
|
5137
5157
|
"appExternal.users.loadFailed": "App users could not be loaded.",
|
|
5158
|
+
"appExternal.setup.title": "Setup",
|
|
5159
|
+
"appExternal.setup.progress": "{done} of {total} done",
|
|
5160
|
+
"appExternal.setup.todo": "To do",
|
|
5161
|
+
"appExternal.setup.complete": "Setup complete. People can sign in and read the data their roles allow.",
|
|
5162
|
+
"appExternal.setup.hosting.title": "{external}",
|
|
5163
|
+
"appExternal.setup.hosting.hint": "Turn on {external} and add at least one entry under {origins}.",
|
|
5164
|
+
"appExternal.setup.signIn.title": "Sign-in connected",
|
|
5165
|
+
"appExternal.setup.signIn.hint": "Under {audiences}, set up {operator} or {customer} with your identity provider's issuer, and keep it {enabled}.",
|
|
5166
|
+
"appExternal.setup.roleScope.title": "A role that can read data",
|
|
5167
|
+
"appExternal.setup.roleScope.hint": "Under {roles}, add a role and give it at least one data rule.",
|
|
5168
|
+
"appExternal.setup.roleAssignment.title": "Someone gets a role",
|
|
5169
|
+
"appExternal.setup.roleAssignment.hint": "Add a condition under {who} on a role that can read data, or give a person that role under {users}.",
|
|
5170
|
+
"appExternal.setup.signedIn.title": "Someone has signed in",
|
|
5171
|
+
"appExternal.setup.signedIn.hint": "Sign in to your App once. Each person appears under {users} after their first sign-in.",
|
|
5138
5172
|
"appsGallery.builtin": "Built in",
|
|
5139
5173
|
"appsGallery.builtinChatDescription": "Work with the Agents assigned to you.",
|
|
5140
5174
|
"appsGallery.openChat": "Open Chat",
|
|
@@ -10105,11 +10139,11 @@ var id_default = {
|
|
|
10105
10139
|
"appExternal.keys.loading": "Memuat App key",
|
|
10106
10140
|
"appExternal.keys.loadFailed": "App key tidak dapat dimuat.",
|
|
10107
10141
|
"appExternal.roles.title": "Peran",
|
|
10108
|
-
"appExternal.roles.hint": "Peran bisnis untuk aplikasi ini: siapa yang mendapatkannya, dan data yang boleh dibaca.",
|
|
10142
|
+
"appExternal.roles.hint": "Peran bisnis untuk aplikasi ini: siapa yang mendapatkannya, apa yang bisa dilakukannya, dan data yang boleh dibaca.",
|
|
10109
10143
|
"appExternal.roles.add": "Tambah peran",
|
|
10110
10144
|
"appExternal.roles.addTitle": "Tambah peran",
|
|
10111
10145
|
"appExternal.roles.editTitle": "Ubah peran",
|
|
10112
|
-
"appExternal.roles.dialogDescription": "Tentukan siapa yang mendapat peran ini saat masuk, dan record dari setiap tipe objek yang boleh mereka baca.",
|
|
10146
|
+
"appExternal.roles.dialogDescription": "Tentukan siapa yang mendapat peran ini saat masuk, apa yang bisa dilakukannya, dan record dari setiap tipe objek yang boleh mereka baca.",
|
|
10113
10147
|
"appExternal.roles.whoTitle": "Siapa yang mendapat peran ini",
|
|
10114
10148
|
"appExternal.roles.whoHint": "Saat masuk, seseorang mendapat peran ini jika salah satu kondisi cocok dengan token loginnya. Orang yang tidak mendapat peran apa pun tidak bisa masuk.",
|
|
10115
10149
|
"appExternal.roles.whoNone": "Tidak ada kondisi: tidak ada yang mendapat peran ini saat masuk. Berikan per orang di App users \u2014 orang yang mencoba masuk tanpa peran tercantum di sana.",
|
|
@@ -10133,8 +10167,28 @@ var id_default = {
|
|
|
10133
10167
|
"appExternal.roles.whoSummary": "Diberikan kepada: {conditions}",
|
|
10134
10168
|
"appExternal.roles.whoSummaryNone": "Hanya diberikan per orang",
|
|
10135
10169
|
"appExternal.roles.scopeNone": "Tidak membaca data",
|
|
10170
|
+
"appExternal.roles.actionsTitle": "Apa yang bisa dilakukan peran ini",
|
|
10171
|
+
"appExternal.roles.actionsHint": "Pilih Action yang boleh diajukan orang dengan peran ini.",
|
|
10172
|
+
"appExternal.roles.actionsNone": "Peran ini hanya bisa membaca data.",
|
|
10173
|
+
"appExternal.roles.chooseActions": "Pilih Action",
|
|
10174
|
+
"appExternal.roles.actionsSearch": "Cari Action\u2026",
|
|
10175
|
+
"appExternal.roles.actionsNoMatch": "Tidak ada Action yang cocok.",
|
|
10176
|
+
"appExternal.roles.actionsLoading": "Memuat Action\u2026",
|
|
10177
|
+
"appExternal.roles.actionsLoadFailed": "Action tidak dapat dimuat. Tutup dialog ini lalu buka lagi.",
|
|
10178
|
+
"appExternal.roles.actionsNoneAvailable": "Belum ada Action untuk dipilih. Action berasal dari Blueprint, pada tipe catatan yang bisa dibaca workspace ini. Hanya Action yang mengubah catatan Blueprint yang bisa dipilih.",
|
|
10179
|
+
"appExternal.roles.actionRemoved": "dihapus",
|
|
10180
|
+
"appExternal.roles.actionUnknown": "Action tidak dikenal",
|
|
10181
|
+
"appExternal.roles.removeAction": "Hapus {name}",
|
|
10182
|
+
"appExternal.roles.actionsRemovedHint": "Action yang bertanda dihapus saat ini tidak tersedia untuk App ini. Jika Action itu tersedia lagi untuk App ini, peran ini memilikinya lagi. Hapus dari peran ini untuk mencegahnya.",
|
|
10183
|
+
"appExternal.roles.actionsSummary": "Bisa melakukan: {count} Action",
|
|
10184
|
+
"appExternal.roles.actionsSummaryOne": "Bisa melakukan: 1 Action",
|
|
10185
|
+
"appExternal.roles.actionsSummaryNone": "Bisa melakukan: hanya membaca",
|
|
10186
|
+
"appExternal.help.roleActions": "Action yang boleh diajukan orang dengan peran ini. Action didefinisikan di Blueprint; daftar ini menampilkan Action pada tipe catatan yang bisa dibaca workspace ini. Action hanya bisa dipakai pada catatan yang boleh dibaca lewat peran yang sama ini, jadi beri peran ini aturan Cakupan data untuk tipe catatan yang diubah tiap Action. Peran yang hanya mencantumkan Action tidak membuat siapa pun bisa memakainya. Jika tidak ada yang dipilih, peran ini hanya membaca data.",
|
|
10136
10187
|
"appExternal.roles.save": "Simpan peran",
|
|
10137
10188
|
"appExternal.roles.saved": "Peran disimpan",
|
|
10189
|
+
"appExternal.roles.actionNeedsDataRule": "{action} mengubah {objectType}, tetapi peran ini belum punya aturan Cakupan data untuk {objectType}, jadi belum ada yang bisa memakainya lewat peran ini.",
|
|
10190
|
+
"appExternal.roles.actionNeedsDataRuleMore": "{message} {count} Action lain di peran ini juga belum punya aturan Cakupan data untuk tipe catatan yang diubahnya.",
|
|
10191
|
+
"appExternal.roles.actionNeedsDataRuleMoreOne": "{message} 1 Action lain di peran ini juga belum punya aturan Cakupan data untuk tipe catatan yang diubahnya.",
|
|
10138
10192
|
"appExternal.roles.saveFailed": "Gagal menyimpan peran",
|
|
10139
10193
|
"appExternal.roles.empty": "Belum ada peran. Tidak ada yang bisa membaca data sebelum memegang peran.",
|
|
10140
10194
|
"appExternal.roles.deleteTitle": "Hapus peran {name}?",
|
|
@@ -10235,6 +10289,20 @@ var id_default = {
|
|
|
10235
10289
|
"appExternal.users.rolesSaved": "Peran diperbarui",
|
|
10236
10290
|
"appExternal.users.loading": "Memuat App user",
|
|
10237
10291
|
"appExternal.users.loadFailed": "App user tidak dapat dimuat.",
|
|
10292
|
+
"appExternal.setup.title": "Penyiapan",
|
|
10293
|
+
"appExternal.setup.progress": "{done} dari {total} selesai",
|
|
10294
|
+
"appExternal.setup.todo": "Belum selesai",
|
|
10295
|
+
"appExternal.setup.complete": "Penyiapan selesai. Orang dapat masuk dan membaca data yang diizinkan perannya.",
|
|
10296
|
+
"appExternal.setup.hosting.title": "{external}",
|
|
10297
|
+
"appExternal.setup.hosting.hint": "Aktifkan {external} dan tambahkan setidaknya satu entri di {origins}.",
|
|
10298
|
+
"appExternal.setup.signIn.title": "Proses masuk terhubung",
|
|
10299
|
+
"appExternal.setup.signIn.hint": "Di {audiences}, atur {operator} atau {customer} dengan issuer penyedia identitas Anda, dan biarkan {enabled}.",
|
|
10300
|
+
"appExternal.setup.roleScope.title": "Peran yang dapat membaca data",
|
|
10301
|
+
"appExternal.setup.roleScope.hint": "Di {roles}, tambahkan peran dan beri setidaknya satu aturan data.",
|
|
10302
|
+
"appExternal.setup.roleAssignment.title": "Seseorang mendapat peran",
|
|
10303
|
+
"appExternal.setup.roleAssignment.hint": "Tambahkan kondisi di {who} pada peran yang dapat membaca data, atau beri seseorang peran itu di {users}.",
|
|
10304
|
+
"appExternal.setup.signedIn.title": "Seseorang sudah masuk",
|
|
10305
|
+
"appExternal.setup.signedIn.hint": "Masuk ke App Anda sekali. Setiap orang muncul di {users} setelah pertama kali masuk.",
|
|
10238
10306
|
"appsGallery.builtin": "Bawaan",
|
|
10239
10307
|
"appsGallery.builtinChatDescription": "Bekerja dengan Agent yang ditugaskan kepada Anda.",
|
|
10240
10308
|
"appsGallery.openChat": "Buka Chat",
|
|
@@ -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-
|
|
4
|
+
import { useIsMobile, useTranslation } from './chunk-3GRFS7S5.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-
|
|
2
|
+
import { useTranslation } from './chunk-3GRFS7S5.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-
|
|
4
|
+
import { useIsMobile, useTranslation } from './chunk-3GRFS7S5.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';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, useChatOverviewStore, dedup, extractDomain, sourceKind, SourceFavicon, Input, exportDocumentPdf, FilePdfIcon, StudioDisplayIcon, WorldIcon, MessageStepsGroup, getToolState, getToolInput, getToolErrorText, useChatOptInEnabled, ArrowRightIcon, formatFileSize, FileThumbnail, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, CircleCheckIcon, agentRoutineKeys, LoaderIcon, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-
|
|
2
|
+
import { usePlugins, useChatCapabilityEnabled, resolvePluginLanguage, renderPluginBlock, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, ActionMenu, useArtifactStore, ArtifactActionsMenu, DotGrid1x3HorizontalTightIcon, useArtifact, resolveArtifactIconFormat, artifactFormatIcon, useArtifactFileObjectUrl, artifactFormatSubtitle, ChatImageLightbox, ArrowsShowIcon, FileDownloadIcon, useClient, processMessageParts, getMessageDisplayTimestampValue, getMessageCreatedAtMs, isApprovalRequested, extractCitationsFromSteps, useSourcesEnrichment, extractImagesFromSteps, dedupeImageResults, getDocumentStreamArtifacts, getToolOutput, useCanvasStore, ImageResultsGallery, MessageDecisionCards, useChatCapabilities, useOptionalWorkspaceContext, useCitationViewer, useChatOverviewStore, dedup, extractDomain, sourceKind, SourceFavicon, Input, exportDocumentPdf, FilePdfIcon, StudioDisplayIcon, WorldIcon, MessageStepsGroup, getToolState, getToolInput, getToolErrorText, useChatOptInEnabled, ArrowRightIcon, formatFileSize, FileThumbnail, MobileScreenSheet, useAgentHistorySource, treatyErrorMessage, useRouter, useBasePath, useAgentPanelStore, AgentRoutineForm, getFileCategory, unwrap, unwrapData, CircleCheckIcon, agentRoutineKeys, LoaderIcon, useOptionalAgentsContext, avatarMotionForStream, AGENT_AVATAR_SIZE } from './chunk-LBMYYA6P.js';
|
|
3
3
|
import { Sheet, SheetTrigger, SheetContent, SheetHeader, SheetTitle, SheetDescription, Popover, PopoverTrigger, PopoverContent } from './chunk-T5SANYSX.js';
|
|
4
|
-
import { useIsMobile, useTranslation } from './chunk-
|
|
4
|
+
import { useIsMobile, useTranslation } from './chunk-3GRFS7S5.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';
|
|
@@ -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-
|
|
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-LBMYYA6P.js';
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent, Sheet, SheetContent, SheetHeader, SheetTitle } from './chunk-T5SANYSX.js';
|
|
5
|
-
import { useTranslation, useIsMobile } from './chunk-
|
|
5
|
+
import { useTranslation, useIsMobile } from './chunk-3GRFS7S5.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';
|
package/dist/header.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { ChatHeader, ChatHeaderActions } from './chunk-
|
|
2
|
+
export { ChatHeader, ChatHeaderActions } from './chunk-TY6XSNUD.js';
|
|
3
3
|
import './chunk-X3QVICX7.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-LBMYYA6P.js';
|
|
5
5
|
import './chunk-CWAOLMFS.js';
|
|
6
6
|
import './chunk-T5SANYSX.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-3GRFS7S5.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-
|
|
3
|
-
import './chunk-
|
|
2
|
+
export { Message, Thinking } from './chunk-R4S5G3UV.js';
|
|
3
|
+
import './chunk-LBMYYA6P.js';
|
|
4
4
|
import './chunk-CWAOLMFS.js';
|
|
5
5
|
import './chunk-T5SANYSX.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-3GRFS7S5.js';
|
|
7
7
|
import './chunk-QBV7MAFV.js';
|
|
8
8
|
import './chunk-PKNEC4LJ.js';
|
|
9
9
|
import './chunk-UWKO24VT.js';
|
package/dist/new-session.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-
|
|
2
|
+
export { DEFAULT_SHORTCUTS, NewSessionPrompt, buildDefaultShortcuts } from './chunk-DBF7MVXX.js';
|
|
3
3
|
import './chunk-X3QVICX7.js';
|
|
4
4
|
import './chunk-T5SANYSX.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-3GRFS7S5.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-
|
|
3
|
+
import { resolveStageWidth, zoomPercent, DECK_ZOOM_LEVELS, LazyThumb, ArtifactSkeleton } from './chunk-DTMMKNUM.js';
|
|
4
4
|
import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
|
|
5
|
-
import { useTranslation, useIsMobile } from './chunk-
|
|
5
|
+
import { useTranslation, useIsMobile } from './chunk-3GRFS7S5.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-
|
|
2
|
+
import { zoomPercent, DECK_ZOOM_LEVELS, ArtifactSkeleton, LazyThumb } from './chunk-DTMMKNUM.js';
|
|
3
3
|
import { ChevronLeftIcon } from './chunk-CWAOLMFS.js';
|
|
4
|
-
import { useTranslation, useIsMobile } from './chunk-
|
|
4
|
+
import { useTranslation, useIsMobile } from './chunk-3GRFS7S5.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.
|
|
3
|
+
"version": "1.51.0",
|
|
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.
|
|
93
|
-
"@frontera-sdk/core": "1.
|
|
92
|
+
"@frontera-sdk/chat": "1.51.0",
|
|
93
|
+
"@frontera-sdk/core": "1.51.0",
|
|
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",
|