@opengeni/react 3.1.0 → 3.3.2-canary.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/accounts.js +87 -11
- package/dist/accounts.js.map +1 -1
- package/dist/{browser-viewer-AEFHUYZK.js → browser-viewer-MKKFRRRV.js} +3 -3
- package/dist/{chunk-W6NFJXSA.js → chunk-2DZVYHVO.js} +20 -4
- package/dist/chunk-2DZVYHVO.js.map +1 -0
- package/dist/{chunk-YJFGAFBD.js → chunk-3AGBGTRT.js} +226 -95
- package/dist/chunk-3AGBGTRT.js.map +1 -0
- package/dist/{chunk-YFKJ7VZH.js → chunk-7EAFGICR.js} +45 -11
- package/dist/chunk-7EAFGICR.js.map +1 -0
- package/dist/{chunk-MZ2G2XBA.js → chunk-IOLVN74D.js} +31 -4
- package/dist/chunk-IOLVN74D.js.map +1 -0
- package/dist/{chunk-D3UIAJKY.js → chunk-JAQ5K7W6.js} +3 -2
- package/dist/{chunk-D3UIAJKY.js.map → chunk-JAQ5K7W6.js.map} +1 -1
- package/dist/{chunk-LAKLF4PA.js → chunk-VTOREEXF.js} +8 -7
- package/dist/chunk-VTOREEXF.js.map +1 -0
- package/dist/{chunk-RGALCTWO.js → chunk-XYRDDSXF.js} +4 -4
- package/dist/{chunk-HQVCKCLG.js → chunk-YG4QEQF5.js} +354 -255
- package/dist/chunk-YG4QEQF5.js.map +1 -0
- package/dist/{chunk-XXWH2JLC.js → chunk-YVCHAQZY.js} +2 -2
- package/dist/{chunk-OAM4WAAM.js → chunk-ZPBTI3TE.js} +2 -2
- package/dist/components/fleet-tile.d.ts +2 -2
- package/dist/components/model-policy-picker.d.ts +9 -0
- package/dist/components/tip-follow.d.ts +16 -0
- package/dist/composer.js +5 -5
- package/dist/hooks/use-session-events.d.ts +3 -3
- package/dist/index.js +76 -68
- package/dist/index.js.map +1 -1
- package/dist/interaction.js +2 -2
- package/dist/machines.js +2 -2
- package/dist/realtime.js +46 -7
- package/dist/realtime.js.map +1 -1
- package/dist/session-ui.js +4 -4
- package/dist/session.js +4 -4
- package/dist/timeline/entrance.d.ts +13 -1
- package/package.json +3 -2
- package/src/accounts.tsx +116 -14
- package/src/components/fleet-tile.tsx +4 -15
- package/src/components/message-timeline.tsx +237 -101
- package/src/components/model-policy-picker.tsx +24 -3
- package/src/components/tip-follow.ts +52 -0
- package/src/components/tooltip.tsx +38 -5
- package/src/hooks/use-available-models.ts +20 -14
- package/src/hooks/use-composer.ts +49 -3
- package/src/hooks/use-goal.ts +31 -7
- package/src/hooks/use-last-started-turn-policy.ts +11 -5
- package/src/hooks/use-session-events.ts +186 -61
- package/src/hooks/use-session-lineage.ts +20 -16
- package/src/hooks/use-session.ts +23 -19
- package/src/hooks/use-workspace-sessions.ts +31 -27
- package/src/lib/format.ts +8 -6
- package/src/realtime/realtime-control.tsx +55 -6
- package/src/timeline/entrance.tsx +28 -3
- package/src/timeline/projection.ts +4 -0
- package/dist/chunk-HQVCKCLG.js.map +0 -1
- package/dist/chunk-LAKLF4PA.js.map +0 -1
- package/dist/chunk-MZ2G2XBA.js.map +0 -1
- package/dist/chunk-W6NFJXSA.js.map +0 -1
- package/dist/chunk-YFKJ7VZH.js.map +0 -1
- package/dist/chunk-YJFGAFBD.js.map +0 -1
- /package/dist/{browser-viewer-AEFHUYZK.js.map → browser-viewer-MKKFRRRV.js.map} +0 -0
- /package/dist/{chunk-RGALCTWO.js.map → chunk-XYRDDSXF.js.map} +0 -0
- /package/dist/{chunk-XXWH2JLC.js.map → chunk-YVCHAQZY.js.map} +0 -0
- /package/dist/{chunk-OAM4WAAM.js.map → chunk-ZPBTI3TE.js.map} +0 -0
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
formatBytes,
|
|
11
11
|
formatRelativeTime
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VTOREEXF.js";
|
|
13
13
|
import {
|
|
14
14
|
cn
|
|
15
15
|
} from "./chunk-22KP6LR5.js";
|
|
@@ -2779,4 +2779,4 @@ export {
|
|
|
2779
2779
|
EnrollmentDeviceFlow,
|
|
2780
2780
|
EnrollmentConsent
|
|
2781
2781
|
};
|
|
2782
|
-
//# sourceMappingURL=chunk-
|
|
2782
|
+
//# sourceMappingURL=chunk-YVCHAQZY.js.map
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
} from "./chunk-JVYQRRC4.js";
|
|
27
27
|
import {
|
|
28
28
|
formatBytes
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-VTOREEXF.js";
|
|
30
30
|
import {
|
|
31
31
|
cn
|
|
32
32
|
} from "./chunk-22KP6LR5.js";
|
|
@@ -3904,4 +3904,4 @@ export {
|
|
|
3904
3904
|
useSiteAuthConnections,
|
|
3905
3905
|
BrowserViewer
|
|
3906
3906
|
};
|
|
3907
|
-
//# sourceMappingURL=chunk-
|
|
3907
|
+
//# sourceMappingURL=chunk-ZPBTI3TE.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Session } from "@opengeni/sdk";
|
|
2
2
|
export type FleetTileProps = {
|
|
3
3
|
session: Session;
|
|
4
|
-
/** Overrides the derived title (
|
|
4
|
+
/** Overrides the derived title (durable title, metadata, prompt preview, or safe fallback). */
|
|
5
5
|
title?: string | undefined;
|
|
6
6
|
/** Extra line under the title — e.g. "drift check" or the worker's task. */
|
|
7
7
|
subtitle?: string | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClientModel, LatencyMode, ReasoningEffort } from "@opengeni/sdk";
|
|
2
2
|
import { type CSSProperties, type ReactNode } from "react";
|
|
3
3
|
import { type PickerBillingClass, type PickerModelRow } from "../model-policy.js";
|
|
4
|
+
type ClientPickerModelRow = PickerModelRow<ClientModel>;
|
|
4
5
|
type NavLevel = "providers" | "models" | "thinking";
|
|
5
6
|
type PickerNavState = {
|
|
6
7
|
level: NavLevel;
|
|
@@ -85,5 +86,13 @@ export declare function ModelPolicyPickerMenu(props: ModelPolicyPickerProps & {
|
|
|
85
86
|
nav?: PickerNavState | undefined;
|
|
86
87
|
onNavChange?: ((next: NavUpdater) => void) | undefined;
|
|
87
88
|
}): import("react").JSX.Element;
|
|
89
|
+
/** @internal Shared state seam kept outside the Radix portal for deterministic testing. */
|
|
90
|
+
export declare function useModelPolicyPickerState(props: ModelPolicyPickerProps): {
|
|
91
|
+
open: boolean;
|
|
92
|
+
setOpen: (next: boolean) => void;
|
|
93
|
+
rows: ClientPickerModelRow[];
|
|
94
|
+
nav: PickerNavState;
|
|
95
|
+
setNav: (next: NavUpdater) => void;
|
|
96
|
+
};
|
|
88
97
|
export declare function ModelPolicyPicker(props: ModelPolicyPickerProps): import("react").JSX.Element;
|
|
89
98
|
export {};
|
|
@@ -160,6 +160,22 @@ export declare function tipFollowClearSoftRise(el: HTMLElement): void;
|
|
|
160
160
|
* on screen: scrollTop -= Δh, clamped to the new max.
|
|
161
161
|
*/
|
|
162
162
|
export declare function tipFollowCompensateShrink(scrollTop: number, previousHeight: number, nextHeight: number, clientHeight: number, epsPx?: number): number;
|
|
163
|
+
export type TipFollowContentShrinkBaseline = {
|
|
164
|
+
scrollHeight: number;
|
|
165
|
+
scrollTop: number;
|
|
166
|
+
};
|
|
167
|
+
export type TipFollowContentShrinkObservation = {
|
|
168
|
+
baseline: TipFollowContentShrinkBaseline | null;
|
|
169
|
+
compensatedScrollTop: number | null;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Retain the geometry from the first sub-epsilon content-shrink frame until
|
|
173
|
+
* the cumulative collapse crosses the deadband. Browsers may clamp scrollTop
|
|
174
|
+
* after every tiny frame, so compensating from the latest DOM top would count
|
|
175
|
+
* those already-applied clamps twice and make the result animation-cadence
|
|
176
|
+
* dependent.
|
|
177
|
+
*/
|
|
178
|
+
export declare function tipFollowObserveContentShrink(baseline: TipFollowContentShrinkBaseline | null, previousHeight: number, previousScrollTop: number, nextHeight: number, clientHeight: number, epsPx?: number): TipFollowContentShrinkObservation;
|
|
163
179
|
/**
|
|
164
180
|
* Viewport shrank (SessionChrome / composer / window). maxScroll rises by ≈Δc;
|
|
165
181
|
* keep the same tip distance: scrollTop += Δc. Without this, pinned follow only
|
package/dist/composer.js
CHANGED
|
@@ -37,8 +37,8 @@ import {
|
|
|
37
37
|
useChatComposer,
|
|
38
38
|
useChatComposerController,
|
|
39
39
|
useVoiceInput
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-XYRDDSXF.js";
|
|
41
|
+
import "./chunk-IOLVN74D.js";
|
|
42
42
|
import {
|
|
43
43
|
BillingClassMark,
|
|
44
44
|
ModelPolicyPicker,
|
|
@@ -47,13 +47,13 @@ import {
|
|
|
47
47
|
PickerBackHeader,
|
|
48
48
|
PickerNavRow,
|
|
49
49
|
defaultModelPolicyPickerMessages
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-2DZVYHVO.js";
|
|
51
51
|
import "./chunk-X4A66EWZ.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-7EAFGICR.js";
|
|
53
53
|
import "./chunk-VZTQ73XT.js";
|
|
54
54
|
import "./chunk-KZ73RL76.js";
|
|
55
55
|
import "./chunk-NEXLLTP4.js";
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-VTOREEXF.js";
|
|
57
57
|
import "./chunk-22KP6LR5.js";
|
|
58
58
|
export {
|
|
59
59
|
Actions,
|
|
@@ -82,9 +82,9 @@ export declare function useSessionEvents(sessionId: string | null | undefined, o
|
|
|
82
82
|
* accumulation retains the newest suffix; backward paging retains the oldest
|
|
83
83
|
* prefix so newly fetched history cannot be immediately evicted. This is
|
|
84
84
|
* deliberately separate from durable history and transport paging: when a
|
|
85
|
-
* backward page evicts the live tail, the hook
|
|
86
|
-
*
|
|
87
|
-
*
|
|
85
|
+
* backward page evicts the live tail, the hook enters bounded history mode and
|
|
86
|
+
* preserves the highest-ever-observed sequence separately for forward paging.
|
|
87
|
+
* The source event remains durable in PostgreSQL throughout.
|
|
88
88
|
*/
|
|
89
89
|
export declare function boundBrowserSessionEventWindow(events: readonly SessionEvent[], options?: {
|
|
90
90
|
maxBytes?: number;
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
useSessionLineage,
|
|
24
24
|
useSessionMcpApprovalPolicy,
|
|
25
25
|
useTurnQueue
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-3AGBGTRT.js";
|
|
27
27
|
import {
|
|
28
28
|
CONNECTION_STATUS_META,
|
|
29
29
|
ConnectionDot,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
healthPulses,
|
|
56
56
|
pointsFor,
|
|
57
57
|
useMachines
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-YVCHAQZY.js";
|
|
59
59
|
import {
|
|
60
60
|
Actions,
|
|
61
61
|
AttachButton,
|
|
@@ -108,14 +108,14 @@ import {
|
|
|
108
108
|
useSlashCommands,
|
|
109
109
|
useTranscription,
|
|
110
110
|
useVoiceInput
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-XYRDDSXF.js";
|
|
112
112
|
import {
|
|
113
113
|
FILE_ONLY_MESSAGE_TEXT,
|
|
114
114
|
composeSendInput,
|
|
115
115
|
shouldSteerOnKey,
|
|
116
116
|
shouldSubmitOnKey,
|
|
117
117
|
useComposer
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-IOLVN74D.js";
|
|
119
119
|
import {
|
|
120
120
|
BillingClassMark,
|
|
121
121
|
ModelPolicyPicker,
|
|
@@ -124,7 +124,7 @@ import {
|
|
|
124
124
|
PickerBackHeader,
|
|
125
125
|
PickerNavRow,
|
|
126
126
|
defaultModelPolicyPickerMessages
|
|
127
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-2DZVYHVO.js";
|
|
128
128
|
import {
|
|
129
129
|
advancedSourceSummary,
|
|
130
130
|
availabilityReasonLabel,
|
|
@@ -201,7 +201,7 @@ import {
|
|
|
201
201
|
useThemeType,
|
|
202
202
|
userMessageLikelyNeedsDisclosure,
|
|
203
203
|
v4aToGitFileDiff
|
|
204
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-YG4QEQF5.js";
|
|
205
205
|
import {
|
|
206
206
|
buildTimeline,
|
|
207
207
|
createOlderHistoryLoadReceipt,
|
|
@@ -212,7 +212,7 @@ import {
|
|
|
212
212
|
projectPendingHumanInputRequests,
|
|
213
213
|
sessionStatusFromEvents,
|
|
214
214
|
toolDisplayName
|
|
215
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-JAQ5K7W6.js";
|
|
216
216
|
import {
|
|
217
217
|
TimelineAnnotationsChip
|
|
218
218
|
} from "./chunk-WSK7G5LE.js";
|
|
@@ -224,7 +224,7 @@ import {
|
|
|
224
224
|
TooltipTrigger,
|
|
225
225
|
useLightbox,
|
|
226
226
|
useLightboxOptional
|
|
227
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-7EAFGICR.js";
|
|
228
228
|
import {
|
|
229
229
|
usePortalTokenSource,
|
|
230
230
|
usePortalTokenStyle
|
|
@@ -268,7 +268,7 @@ import {
|
|
|
268
268
|
stringifyPayload,
|
|
269
269
|
truncate,
|
|
270
270
|
tryParseJson
|
|
271
|
-
} from "./chunk-
|
|
271
|
+
} from "./chunk-VTOREEXF.js";
|
|
272
272
|
import {
|
|
273
273
|
cn
|
|
274
274
|
} from "./chunk-22KP6LR5.js";
|
|
@@ -342,11 +342,17 @@ function policyFromTurn(turn) {
|
|
|
342
342
|
function useLastStartedTurnPolicy(sessionId, options = {}) {
|
|
343
343
|
const { client, workspaceId, workspaceControlEvent, registerSessionReconciler } = useOpenGeni(options);
|
|
344
344
|
const enabled = (options.enabled ?? true) && Boolean(sessionId);
|
|
345
|
-
const load = useCallback(
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
345
|
+
const load = useCallback(
|
|
346
|
+
async (signal) => {
|
|
347
|
+
if (!sessionId) return null;
|
|
348
|
+
const turns = await client.listTurns(workspaceId, sessionId, {
|
|
349
|
+
latestStarted: true,
|
|
350
|
+
signal
|
|
351
|
+
});
|
|
352
|
+
return policyFromTurn(turns[0]);
|
|
353
|
+
},
|
|
354
|
+
[client, workspaceId, sessionId]
|
|
355
|
+
);
|
|
350
356
|
const { data, loading, error, refresh } = usePolledValue(load, {
|
|
351
357
|
pollIntervalMs: options.pollIntervalMs,
|
|
352
358
|
enabled
|
|
@@ -426,34 +432,38 @@ function useWorkspaceSessions(options = {}) {
|
|
|
426
432
|
useEffect2(() => {
|
|
427
433
|
previousQueryKey.current = queryKey;
|
|
428
434
|
}, [queryKey]);
|
|
429
|
-
const load = useCallback3(
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
435
|
+
const load = useCallback3(
|
|
436
|
+
async (signal) => {
|
|
437
|
+
const readGeneration = beginRead?.() ?? ++nextReadGeneration.current;
|
|
438
|
+
const page2 = await client.listSessionPage(workspaceId, {
|
|
439
|
+
...limit !== void 0 ? { limit } : {},
|
|
440
|
+
...parentSessionId !== void 0 ? { parentSessionId } : {},
|
|
441
|
+
...cursor !== void 0 ? { cursor } : {},
|
|
442
|
+
...search !== void 0 ? { search } : {},
|
|
443
|
+
...pinsOnly ? { pinsOnly: true } : {},
|
|
444
|
+
...archivedOnly ? { archivedOnly: true } : {},
|
|
445
|
+
signal
|
|
446
|
+
});
|
|
447
|
+
return {
|
|
448
|
+
queryKey,
|
|
449
|
+
page: page2,
|
|
450
|
+
revision: ++nextReadRevision.current,
|
|
451
|
+
readGeneration
|
|
452
|
+
};
|
|
453
|
+
},
|
|
454
|
+
[
|
|
455
|
+
beginRead,
|
|
456
|
+
client,
|
|
457
|
+
workspaceId,
|
|
458
|
+
limit,
|
|
459
|
+
parentSessionId,
|
|
460
|
+
cursor,
|
|
461
|
+
search,
|
|
462
|
+
pinsOnly,
|
|
463
|
+
archivedOnly,
|
|
464
|
+
queryKey
|
|
465
|
+
]
|
|
466
|
+
);
|
|
457
467
|
const state = usePolledValue(load, {
|
|
458
468
|
pollIntervalMs: options.pollIntervalMs,
|
|
459
469
|
enabled
|
|
@@ -1166,7 +1176,10 @@ function useBillingUsage(options = {}) {
|
|
|
1166
1176
|
import { useCallback as useCallback11 } from "react";
|
|
1167
1177
|
function useAvailableModels(options = {}) {
|
|
1168
1178
|
const client = useOpenGeniClient(options);
|
|
1169
|
-
const load = useCallback11(
|
|
1179
|
+
const load = useCallback11(
|
|
1180
|
+
async (signal) => await client.getClientConfig({ signal }),
|
|
1181
|
+
[client]
|
|
1182
|
+
);
|
|
1170
1183
|
const state = usePolledValue(load, {
|
|
1171
1184
|
pollIntervalMs: options.pollIntervalMs,
|
|
1172
1185
|
enabled: options.enabled
|
|
@@ -1181,19 +1194,22 @@ function useAvailableModels(options = {}) {
|
|
|
1181
1194
|
}
|
|
1182
1195
|
function useWorkspaceModelCatalog(options) {
|
|
1183
1196
|
const client = useOpenGeniClient(options);
|
|
1184
|
-
const load = useCallback11(
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
+
const load = useCallback11(
|
|
1198
|
+
async (signal) => {
|
|
1199
|
+
if (!options.workspaceId) {
|
|
1200
|
+
return { models: [], defaultModel: null };
|
|
1201
|
+
}
|
|
1202
|
+
const [catalog, config] = await Promise.all([
|
|
1203
|
+
client.getWorkspaceModelCatalog(options.workspaceId, { signal }),
|
|
1204
|
+
client.getClientConfig({ signal })
|
|
1205
|
+
]);
|
|
1206
|
+
return {
|
|
1207
|
+
models: catalog.models,
|
|
1208
|
+
defaultModel: config.defaultModel
|
|
1209
|
+
};
|
|
1210
|
+
},
|
|
1211
|
+
[client, options.workspaceId]
|
|
1212
|
+
);
|
|
1197
1213
|
const state = usePolledValue(load, {
|
|
1198
1214
|
pollIntervalMs: options.pollIntervalMs,
|
|
1199
1215
|
enabled: options.enabled !== false && Boolean(options.workspaceId)
|
|
@@ -4118,19 +4134,11 @@ function ChatComposer({
|
|
|
4118
4134
|
}
|
|
4119
4135
|
|
|
4120
4136
|
// src/components/fleet-tile.tsx
|
|
4137
|
+
import { deriveSessionDisplayTitle } from "@opengeni/sdk";
|
|
4121
4138
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
4122
|
-
var
|
|
4139
|
+
var SESSION_METADATA_TITLE_KEYS = ["title", "name"];
|
|
4123
4140
|
function sessionDisplayTitle(session) {
|
|
4124
|
-
|
|
4125
|
-
return session.title;
|
|
4126
|
-
}
|
|
4127
|
-
for (const key of ["title", "name"]) {
|
|
4128
|
-
const value = session.metadata[key];
|
|
4129
|
-
if (typeof value === "string" && value.trim().length > 0) {
|
|
4130
|
-
return value;
|
|
4131
|
-
}
|
|
4132
|
-
}
|
|
4133
|
-
return AUTOMATIC_SESSION_TITLE_FALLBACK;
|
|
4141
|
+
return deriveSessionDisplayTitle(session, { metadataKeys: SESSION_METADATA_TITLE_KEYS });
|
|
4134
4142
|
}
|
|
4135
4143
|
function FleetTile({ session, title, subtitle, onOpen, className }) {
|
|
4136
4144
|
const running = session.status === "running" || session.status === "queued";
|
|
@@ -8423,7 +8431,7 @@ import {
|
|
|
8423
8431
|
} from "lucide-react";
|
|
8424
8432
|
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
8425
8433
|
var LazyBrowserViewer = lazy2(async () => {
|
|
8426
|
-
const { BrowserViewer } = await import("./browser-viewer-
|
|
8434
|
+
const { BrowserViewer } = await import("./browser-viewer-MKKFRRRV.js");
|
|
8427
8435
|
return { default: BrowserViewer };
|
|
8428
8436
|
});
|
|
8429
8437
|
var LazyComputerViewer = lazy2(async () => {
|