@opengeni/react 7.4.0 → 7.5.0-canary.36927100590001
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/README.md +124 -27
- package/dist/artifacts-document.js +3 -2
- package/dist/artifacts-presentation.js +3 -2
- package/dist/artifacts-spreadsheet.js +2 -2
- package/dist/artifacts.d.ts +1 -0
- package/dist/artifacts.js +516 -1413
- package/dist/artifacts.js.map +1 -1
- package/dist/{browser-viewer-2E6R2Y4W.js → browser-viewer-Z7S7QEJL.js} +6 -5
- package/dist/chat-interactive-block-UGBTNB3L.js +11 -0
- package/dist/{chunk-Y3QTZN2F.js → chunk-2VFNCX4E.js} +6 -6
- package/dist/{chunk-UDD6DLLT.js → chunk-3IJJEYW4.js} +15 -3
- package/dist/chunk-3IJJEYW4.js.map +1 -0
- package/dist/chunk-4RVYOY4O.js +379 -0
- package/dist/chunk-4RVYOY4O.js.map +1 -0
- package/dist/chunk-5CVXZA3Y.js +292 -0
- package/dist/chunk-5CVXZA3Y.js.map +1 -0
- package/dist/{chunk-5YK2ZDIG.js → chunk-5J4FOW6Q.js} +2 -10
- package/dist/chunk-5J4FOW6Q.js.map +1 -0
- package/dist/{chunk-KVERXCFY.js → chunk-5KYZIQFY.js} +40 -3
- package/dist/chunk-5KYZIQFY.js.map +1 -0
- package/dist/{chunk-KNDIXZN6.js → chunk-7UAMYXJY.js} +25 -18
- package/dist/{chunk-KNDIXZN6.js.map → chunk-7UAMYXJY.js.map} +1 -1
- package/dist/{chunk-SEEVCT36.js → chunk-A4UJB2MM.js} +2 -2
- package/dist/{chunk-X4HIN6TV.js → chunk-AFLPWUQ7.js} +71 -162
- package/dist/chunk-AFLPWUQ7.js.map +1 -0
- package/dist/chunk-B3V6TG77.js +41 -0
- package/dist/chunk-B3V6TG77.js.map +1 -0
- package/dist/{chunk-XEJEOAOV.js → chunk-B7WMS3CS.js} +51 -40
- package/dist/chunk-B7WMS3CS.js.map +1 -0
- package/dist/{chunk-S5JQ4R22.js → chunk-BDKR6BAR.js} +54 -24
- package/dist/chunk-BDKR6BAR.js.map +1 -0
- package/dist/{chunk-4MDLEHXL.js → chunk-DYWBUX5Q.js} +24 -12
- package/dist/chunk-DYWBUX5Q.js.map +1 -0
- package/dist/{chunk-YZ3YYMOM.js → chunk-E3G7SAYZ.js} +252 -624
- package/dist/chunk-E3G7SAYZ.js.map +1 -0
- package/dist/chunk-JT4JW7BC.js +54 -0
- package/dist/chunk-JT4JW7BC.js.map +1 -0
- package/dist/{chunk-5AZSK6MV.js → chunk-LWNLETQT.js} +5 -5
- package/dist/{chunk-USXVQACU.js → chunk-M7LBYP63.js} +5 -4
- package/dist/{chunk-USXVQACU.js.map → chunk-M7LBYP63.js.map} +1 -1
- package/dist/{chunk-L4OSXQ6H.js → chunk-NBOHNRLJ.js} +1289 -1060
- package/dist/chunk-NBOHNRLJ.js.map +1 -0
- package/dist/chunk-RHREZ7BO.js +11 -0
- package/dist/chunk-RHREZ7BO.js.map +1 -0
- package/dist/chunk-SCOTPE2I.js +589 -0
- package/dist/chunk-SCOTPE2I.js.map +1 -0
- package/dist/chunk-WEHMPOXK.js +39 -0
- package/dist/chunk-WEHMPOXK.js.map +1 -0
- package/dist/chunk-WRHIZYZF.js +988 -0
- package/dist/chunk-WRHIZYZF.js.map +1 -0
- package/dist/{chunk-3E2AITTZ.js → chunk-WUISZ3WU.js} +32 -28
- package/dist/{chunk-3E2AITTZ.js.map → chunk-WUISZ3WU.js.map} +1 -1
- package/dist/chunk-XCHWDJ22.js +107 -0
- package/dist/chunk-XCHWDJ22.js.map +1 -0
- package/dist/{chunk-DUEBTL3N.js → chunk-Y2PRMYLC.js} +4 -3
- package/dist/{chunk-DUEBTL3N.js.map → chunk-Y2PRMYLC.js.map} +1 -1
- package/dist/chunk-YBXQDQFX.js +1772 -0
- package/dist/chunk-YBXQDQFX.js.map +1 -0
- package/dist/chunk-YV4L3ILF.js +9 -0
- package/dist/chunk-YV4L3ILF.js.map +1 -0
- package/dist/{chunk-V2ABIVYJ.js → chunk-ZXSEDZP7.js} +70 -6
- package/dist/chunk-ZXSEDZP7.js.map +1 -0
- package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
- package/dist/components/artifacts/artifact-sandbox.d.ts +27 -0
- package/dist/components/artifacts/chat-interactive-block.d.ts +29 -0
- package/dist/components/artifacts/deferred-chat-media.d.ts +15 -0
- package/dist/components/artifacts/editable-artifact-ui.d.ts +2 -1
- package/dist/components/artifacts/editable-artifact-view.d.ts +46 -0
- package/dist/components/artifacts/index.d.ts +7 -0
- package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
- package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
- package/dist/components/artifacts/site-view.d.ts +23 -0
- package/dist/components/browser-select-control.d.ts +3 -1
- package/dist/components/code-editor.d.ts +1 -4
- package/dist/components/desktop-viewer.d.ts +1 -1
- package/dist/components/message-timeline.d.ts +20 -3
- package/dist/components/open-geni-links.d.ts +16 -0
- package/dist/components/session-conversation.d.ts +20 -1
- package/dist/components/timeline-pill-geometry.d.ts +8 -0
- package/dist/components/timeline-pill-placement.d.ts +24 -0
- package/dist/components/usage-limit-notice.d.ts +49 -0
- package/dist/components/usage-member-list.d.ts +91 -0
- package/dist/components/usage-meter.d.ts +73 -0
- package/dist/composer.js +5 -5
- package/dist/{computer-viewer-WMJE6OA3.js → computer-viewer-KJWLH3GI.js} +7 -5
- package/dist/connect.js +7 -6
- package/dist/connect.js.map +1 -1
- package/dist/conversation-timeline.d.ts +1 -1
- package/dist/desktop.d.ts +7 -0
- package/dist/desktop.js +26 -0
- package/dist/desktop.js.map +1 -0
- package/dist/editor.d.ts +7 -0
- package/dist/editor.js +21 -0
- package/dist/editor.js.map +1 -0
- package/dist/hooks/latest-question.d.ts +1 -1
- package/dist/hooks/use-composer.d.ts +4 -0
- package/dist/hooks/use-desktop-stream.d.ts +1 -1
- package/dist/hooks/use-usage.d.ts +40 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.js +460 -1386
- package/dist/index.js.map +1 -1
- package/dist/interaction.js +8 -6
- package/dist/interaction.js.map +1 -1
- package/dist/{latest-question-QB4EUCW5.js → latest-question-IS445HOW.js} +3 -3
- package/dist/lib/format.d.ts +6 -1
- package/dist/lib/workbench-peers.d.ts +36 -0
- package/dist/machines.js +2 -2
- package/dist/{markdown-table-layout-PFUEZ2U4.js → markdown-table-layout-QXSLK4BY.js} +37 -5
- package/dist/markdown-table-layout-QXSLK4BY.js.map +1 -0
- package/dist/{queue-surface-implementation-IM2HD3SK.js → queue-surface-implementation-2CAQAIHM.js} +2 -2
- package/dist/realtime.js +3 -3
- package/dist/{sandbox-files-PXPIZAFG.js → sandbox-files-AEJTWGT4.js} +8 -5
- package/dist/sandbox-files-AEJTWGT4.js.map +1 -0
- package/dist/session-ui.d.ts +9 -2
- package/dist/session-ui.js +39 -20
- package/dist/session-ui.js.map +1 -1
- package/dist/session.js +4 -4
- package/dist/sites.js +4 -289
- package/dist/sites.js.map +1 -1
- package/dist/terminal.d.ts +8 -0
- package/dist/terminal.js +31 -0
- package/dist/terminal.js.map +1 -0
- package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
- package/dist/timeline/genie-loading.d.ts +3 -1
- package/dist/timeline/types.d.ts +8 -1
- package/dist/{timeline-annotation-selection-ODLVF4OI.js → timeline-annotation-selection-DMLMM2TX.js} +6 -1
- package/dist/timeline-annotation-selection-DMLMM2TX.js.map +1 -0
- package/dist/timeline-pill-geometry-Z23V243M.js +110 -0
- package/dist/timeline-pill-geometry-Z23V243M.js.map +1 -0
- package/dist/usage/allowance-copy.d.ts +25 -0
- package/dist/usage/summary.d.ts +35 -0
- package/dist/usage.d.ts +13 -0
- package/dist/usage.js +1073 -0
- package/dist/usage.js.map +1 -0
- package/package.json +19 -3
- package/src/artifacts.ts +37 -0
- package/src/components/artifacts/artifact-chrome.tsx +413 -0
- package/src/components/artifacts/artifact-sandbox.tsx +185 -0
- package/src/components/artifacts/chat-interactive-block.tsx +260 -0
- package/src/components/artifacts/deferred-chat-media.tsx +67 -0
- package/src/components/artifacts/editable-artifact-ui.tsx +3 -1
- package/src/components/artifacts/editable-artifact-view.tsx +187 -0
- package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
- package/src/components/artifacts/editable-document.tsx +34 -36
- package/src/components/artifacts/editable-presentation.tsx +21 -16
- package/src/components/artifacts/index.ts +41 -0
- package/src/components/artifacts/latest-task-runner.ts +49 -0
- package/src/components/artifacts/session-artifact-viewer.tsx +376 -0
- package/src/components/artifacts/site-view.tsx +116 -0
- package/src/components/browser-select-control.tsx +4 -1
- package/src/components/browser-viewer.tsx +81 -22
- package/src/components/code-editor.tsx +13 -16
- package/src/components/computer-viewer.tsx +51 -23
- package/src/components/desktop-viewer.tsx +1 -1
- package/src/components/markdown-table-layout.ts +49 -5
- package/src/components/markdown.tsx +5 -2
- package/src/components/message-timeline.tsx +557 -516
- package/src/components/open-geni-links.tsx +24 -0
- package/src/components/sandbox-terminal.tsx +48 -11
- package/src/components/session-chrome.tsx +22 -3
- package/src/components/session-conversation.tsx +195 -102
- package/src/components/timeline-annotation-selection.tsx +7 -0
- package/src/components/timeline-pill-geometry.ts +169 -0
- package/src/components/timeline-pill-placement.ts +99 -0
- package/src/components/usage-limit-notice.tsx +179 -0
- package/src/components/usage-member-list.tsx +792 -0
- package/src/components/usage-meter.tsx +382 -0
- package/src/conversation-timeline.ts +10 -2
- package/src/desktop.ts +24 -0
- package/src/editor.ts +13 -0
- package/src/hooks/use-available-models.ts +1 -1
- package/src/hooks/use-composer.ts +57 -2
- package/src/hooks/use-desktop-stream.ts +19 -28
- package/src/hooks/use-usage.ts +100 -0
- package/src/index.ts +22 -0
- package/src/lib/format.ts +32 -6
- package/src/lib/workbench-peers.ts +62 -0
- package/src/session-ui.ts +22 -0
- package/src/terminal.ts +26 -0
- package/src/timeline/activity-rail.tsx +5 -3
- package/src/timeline/allowance-exhausted-row.tsx +86 -0
- package/src/timeline/genie-loading.tsx +16 -6
- package/src/timeline/projection.ts +78 -4
- package/src/timeline/types.ts +8 -0
- package/src/usage/allowance-copy.ts +64 -0
- package/src/usage/summary.ts +93 -0
- package/src/usage.ts +50 -0
- package/styles/compiled.css +325 -0
- package/dist/chunk-4MDLEHXL.js.map +0 -1
- package/dist/chunk-5YK2ZDIG.js.map +0 -1
- package/dist/chunk-KVERXCFY.js.map +0 -1
- package/dist/chunk-L4OSXQ6H.js.map +0 -1
- package/dist/chunk-S5JQ4R22.js.map +0 -1
- package/dist/chunk-UDD6DLLT.js.map +0 -1
- package/dist/chunk-UGMKPUEM.js +0 -299
- package/dist/chunk-UGMKPUEM.js.map +0 -1
- package/dist/chunk-V2ABIVYJ.js.map +0 -1
- package/dist/chunk-X4HIN6TV.js.map +0 -1
- package/dist/chunk-XEJEOAOV.js.map +0 -1
- package/dist/chunk-YZ3YYMOM.js.map +0 -1
- package/dist/markdown-table-layout-PFUEZ2U4.js.map +0 -1
- package/dist/timeline-annotation-selection-ODLVF4OI.js.map +0 -1
- /package/dist/{browser-viewer-2E6R2Y4W.js.map → browser-viewer-Z7S7QEJL.js.map} +0 -0
- /package/dist/{computer-viewer-WMJE6OA3.js.map → chat-interactive-block-UGBTNB3L.js.map} +0 -0
- /package/dist/{chunk-Y3QTZN2F.js.map → chunk-2VFNCX4E.js.map} +0 -0
- /package/dist/{chunk-SEEVCT36.js.map → chunk-A4UJB2MM.js.map} +0 -0
- /package/dist/{chunk-5AZSK6MV.js.map → chunk-LWNLETQT.js.map} +0 -0
- /package/dist/{sandbox-files-PXPIZAFG.js.map → computer-viewer-KJWLH3GI.js.map} +0 -0
- /package/dist/{latest-question-QB4EUCW5.js.map → latest-question-IS445HOW.js.map} +0 -0
- /package/dist/{queue-surface-implementation-IM2HD3SK.js.map → queue-surface-implementation-2CAQAIHM.js.map} +0 -0
|
@@ -5,6 +5,15 @@ import {
|
|
|
5
5
|
useInteractionInterventions,
|
|
6
6
|
useInteractionInvalidation
|
|
7
7
|
} from "./chunk-YSMMDOOE.js";
|
|
8
|
+
import {
|
|
9
|
+
copyTextToClipboard
|
|
10
|
+
} from "./chunk-JVYQRRC4.js";
|
|
11
|
+
import {
|
|
12
|
+
interactionHostPlatform
|
|
13
|
+
} from "./chunk-RHREZ7BO.js";
|
|
14
|
+
import {
|
|
15
|
+
formatBytes
|
|
16
|
+
} from "./chunk-3IJJEYW4.js";
|
|
8
17
|
import {
|
|
9
18
|
STREAM_CLOSE_REASON_NORMAL,
|
|
10
19
|
STREAM_KIND_BROWSER,
|
|
@@ -12,24 +21,17 @@ import {
|
|
|
12
21
|
decodeStreamFrame,
|
|
13
22
|
decodeStreamOpenAck,
|
|
14
23
|
encodeStreamClose,
|
|
15
|
-
encodeStreamOpen
|
|
16
|
-
|
|
17
|
-
} from "./chunk-5YK2ZDIG.js";
|
|
24
|
+
encodeStreamOpen
|
|
25
|
+
} from "./chunk-5J4FOW6Q.js";
|
|
18
26
|
import {
|
|
19
27
|
usePageLiveActivity
|
|
20
28
|
} from "./chunk-KZ73RL76.js";
|
|
21
29
|
import {
|
|
22
30
|
useEmbeddedBrowserInteraction
|
|
23
31
|
} from "./chunk-NEXLLTP4.js";
|
|
24
|
-
import {
|
|
25
|
-
formatBytes
|
|
26
|
-
} from "./chunk-UDD6DLLT.js";
|
|
27
32
|
import {
|
|
28
33
|
cn
|
|
29
34
|
} from "./chunk-22KP6LR5.js";
|
|
30
|
-
import {
|
|
31
|
-
copyTextToClipboard
|
|
32
|
-
} from "./chunk-JVYQRRC4.js";
|
|
33
35
|
|
|
34
36
|
// src/components/browser-viewer.tsx
|
|
35
37
|
import { interactionControlFailureFromError } from "@opengeni/sdk/interaction";
|
|
@@ -1881,6 +1883,7 @@ function BrowserSelectControl(props) {
|
|
|
1881
1883
|
if (current === request.current) setBusy(false);
|
|
1882
1884
|
}
|
|
1883
1885
|
};
|
|
1886
|
+
if (props.manualFallback === false && !open) return null;
|
|
1884
1887
|
return /* @__PURE__ */ jsxs(
|
|
1885
1888
|
"div",
|
|
1886
1889
|
{
|
|
@@ -1891,7 +1894,7 @@ function BrowserSelectControl(props) {
|
|
|
1891
1894
|
top: position?.y ?? anchor.y
|
|
1892
1895
|
} : { bottom: 12, left: 12 },
|
|
1893
1896
|
children: [
|
|
1894
|
-
!anchor || !open || error ? /* @__PURE__ */ jsx(
|
|
1897
|
+
props.manualFallback !== false && (!anchor || !open) || error ? /* @__PURE__ */ jsx(
|
|
1895
1898
|
"button",
|
|
1896
1899
|
{
|
|
1897
1900
|
type: "button",
|
|
@@ -2078,6 +2081,8 @@ function BrowserViewer({
|
|
|
2078
2081
|
() => registry.relevantSessions.filter((session) => isLiveBrowser2(session)),
|
|
2079
2082
|
[registry.relevantSessions]
|
|
2080
2083
|
);
|
|
2084
|
+
const latestRelevantBrowser = registry.relevantSessions[0];
|
|
2085
|
+
const unavailableBrowser = latestRelevantBrowser?.lifecycle === "lost" || latestRelevantBrowser?.lifecycle === "failed" ? latestRelevantBrowser : void 0;
|
|
2081
2086
|
const [selection, setSelection] = useState9(
|
|
2082
2087
|
() => initialBrowserSessionId ? { sessionId: initialBrowserSessionId, pinned: true } : null
|
|
2083
2088
|
);
|
|
@@ -2521,15 +2526,18 @@ function BrowserViewer({
|
|
|
2521
2526
|
);
|
|
2522
2527
|
}
|
|
2523
2528
|
if (liveSessions.length === 0) {
|
|
2524
|
-
if (renderEmpty
|
|
2529
|
+
if (renderEmpty && !unavailableBrowser)
|
|
2530
|
+
return /* @__PURE__ */ jsx2(Fragment2, { children: renderEmpty(() => createBrowser(), creating) });
|
|
2525
2531
|
return /* @__PURE__ */ jsx2(
|
|
2526
2532
|
"div",
|
|
2527
2533
|
{
|
|
2528
2534
|
className: cn("flex h-full min-h-0 items-center justify-center bg-og-bg p-6", className),
|
|
2529
2535
|
children: /* @__PURE__ */ jsxs2("div", { className: "max-w-sm text-center", children: [
|
|
2530
2536
|
/* @__PURE__ */ jsx2("span", { className: "mx-auto grid size-10 place-items-center rounded-og-md border border-og-border bg-og-surface-1 text-og-fg-muted", children: /* @__PURE__ */ jsx2(Globe2Icon, { className: "size-4.5" }) }),
|
|
2531
|
-
/* @__PURE__ */ jsx2(
|
|
2532
|
-
|
|
2537
|
+
unavailableBrowser && !attachedGenerationLoss ? /* @__PURE__ */ jsx2(BrowserUnavailableNotice, { session: unavailableBrowser }) : /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
2538
|
+
/* @__PURE__ */ jsx2("p", { className: "mt-3 text-og-menu font-medium text-og-fg", children: attachedGenerationLoss ? "Chrome reconnected\u2014open a fresh browser/desktop." : "No browser open" }),
|
|
2539
|
+
/* @__PURE__ */ jsx2("p", { className: "mt-1 text-og-control leading-5 text-og-fg-muted", children: attachedGenerationLoss ? "This Chrome profile is live again, but the previous browser cannot move to the new connection. Use Browser \u2192 New browser \u2192 Connected Chrome." : "A browser appears here when this agent\u2014or another agent in the workspace\u2014opens one." })
|
|
2540
|
+
] }),
|
|
2533
2541
|
/* @__PURE__ */ jsx2(
|
|
2534
2542
|
BrowserLaunchMenu,
|
|
2535
2543
|
{
|
|
@@ -2597,6 +2605,7 @@ function BrowserViewer({
|
|
|
2597
2605
|
!selectedRegistrySession ? /* @__PURE__ */ jsx2(
|
|
2598
2606
|
BrowserUnselectedPanel,
|
|
2599
2607
|
{
|
|
2608
|
+
unavailableBrowser,
|
|
2600
2609
|
peerCount: liveSessions.length,
|
|
2601
2610
|
creating,
|
|
2602
2611
|
onCreate: () => createBrowser()
|
|
@@ -2847,7 +2856,7 @@ function BrowserToolbar(props) {
|
|
|
2847
2856
|
function BrowserUnselectedPanel(props) {
|
|
2848
2857
|
return /* @__PURE__ */ jsx2("div", { className: "grid min-h-0 flex-1 place-items-center bg-og-bg p-6 text-center", children: /* @__PURE__ */ jsxs2("div", { className: "max-w-sm", children: [
|
|
2849
2858
|
/* @__PURE__ */ jsx2("span", { className: "mx-auto grid size-10 place-items-center rounded-og-md border border-og-border bg-og-surface-1 text-og-fg-muted", children: /* @__PURE__ */ jsx2(Globe2Icon, { className: "size-4.5" }) }),
|
|
2850
|
-
/* @__PURE__ */ jsx2("p", { className: "mt-3 text-og-menu font-medium text-og-fg", children: "No browser for this agent" }),
|
|
2859
|
+
props.unavailableBrowser ? /* @__PURE__ */ jsx2(BrowserUnavailableNotice, { session: props.unavailableBrowser }) : /* @__PURE__ */ jsx2("p", { className: "mt-3 text-og-menu font-medium text-og-fg", children: "No browser for this agent" }),
|
|
2851
2860
|
/* @__PURE__ */ jsx2("p", { className: "mt-1 text-og-control leading-5 text-og-fg-muted", children: props.peerCount === 1 ? "One workspace browser is available from the browser menu." : `${props.peerCount} workspace browsers are available from the browser menu.` }),
|
|
2852
2861
|
/* @__PURE__ */ jsxs2(
|
|
2853
2862
|
"button",
|
|
@@ -2864,6 +2873,18 @@ function BrowserUnselectedPanel(props) {
|
|
|
2864
2873
|
)
|
|
2865
2874
|
] }) });
|
|
2866
2875
|
}
|
|
2876
|
+
function BrowserUnavailableNotice({ session }) {
|
|
2877
|
+
const reason = session.failureCode === "provider_deadline_rotation" ? "The computer running it reached its time limit." : session.failureCode === "source_placement_changed" ? "This chat moved to another computer." : session.lifecycle === "failed" ? "It stopped unexpectedly." : "The connection to it was lost.";
|
|
2878
|
+
return /* @__PURE__ */ jsxs2("div", { role: "status", children: [
|
|
2879
|
+
/* @__PURE__ */ jsx2("p", { className: "mt-3 text-og-menu font-medium text-og-fg", children: "Browser unavailable" }),
|
|
2880
|
+
/* @__PURE__ */ jsxs2("p", { className: "mt-1 break-words text-og-control leading-5 text-og-fg-muted", children: [
|
|
2881
|
+
session.name,
|
|
2882
|
+
". ",
|
|
2883
|
+
reason,
|
|
2884
|
+
" Open a new browser to continue."
|
|
2885
|
+
] })
|
|
2886
|
+
] });
|
|
2887
|
+
}
|
|
2867
2888
|
function BrowserSessionGroup(props) {
|
|
2868
2889
|
if (props.sessions.length === 0) return null;
|
|
2869
2890
|
return /* @__PURE__ */ jsxs2("div", { className: "py-1", children: [
|
|
@@ -3247,7 +3268,7 @@ function BrowserProfileMenu(props) {
|
|
|
3247
3268
|
]
|
|
3248
3269
|
}
|
|
3249
3270
|
) : null,
|
|
3250
|
-
canSave ? /* @__PURE__ */ jsx2("p", { className: "mt-2 text-[10px] leading-4 text-og-fg-subtle", children: "Saving
|
|
3271
|
+
canSave ? /* @__PURE__ */ jsx2("p", { className: "mt-2 text-[10px] leading-4 text-og-fg-subtle", children: "Saving restarts this browser. Save unfinished work on its pages first; unsaved form entries may be lost. Other open browsers are unchanged." }) : null
|
|
3251
3272
|
] })
|
|
3252
3273
|
] });
|
|
3253
3274
|
}
|
|
@@ -3418,6 +3439,7 @@ function BrowserViewport(props) {
|
|
|
3418
3439
|
const pendingTextRef = useRef10(null);
|
|
3419
3440
|
const actionRef = useRef10(props.onAction);
|
|
3420
3441
|
const readClipboardRef = useRef10(props.onReadClipboard);
|
|
3442
|
+
const observeInputRef = useRef10(props.onObserveForInput);
|
|
3421
3443
|
const errorRef = useRef10(props.onError);
|
|
3422
3444
|
const actionTailRef = useRef10(Promise.resolve());
|
|
3423
3445
|
const actionQueueEpochRef = useRef10(0);
|
|
@@ -3430,6 +3452,7 @@ function BrowserViewport(props) {
|
|
|
3430
3452
|
const mountedRef = useRef10(true);
|
|
3431
3453
|
actionRef.current = props.onAction;
|
|
3432
3454
|
readClipboardRef.current = props.onReadClipboard;
|
|
3455
|
+
observeInputRef.current = props.onObserveForInput;
|
|
3433
3456
|
errorRef.current = props.onError;
|
|
3434
3457
|
const clearBufferedInput = useCallback8(() => {
|
|
3435
3458
|
dismissSelectPopup();
|
|
@@ -3553,8 +3576,12 @@ function BrowserViewport(props) {
|
|
|
3553
3576
|
const dispatchedAction = typing && typing.actions.length > 1 ? { type: "batch", actions: typing.actions, fenceEachAction: true } : action;
|
|
3554
3577
|
const receipt = await actionRef.current(dispatchedAction, frame);
|
|
3555
3578
|
if (!mountedRef.current || epoch !== actionQueueEpochRef.current) return;
|
|
3556
|
-
|
|
3557
|
-
|
|
3579
|
+
const keyboardSelect = dispatchedAction.type === "press" && dispatchedAction.key === "Alt+ArrowDown";
|
|
3580
|
+
if ((selectAnchor || keyboardSelect) && inputSequence === inputSequenceRef.current) {
|
|
3581
|
+
const observation = keyboardSelect ? await observeInputRef.current() : receipt.observation;
|
|
3582
|
+
if (mountedRef.current && epoch === actionQueueEpochRef.current && inputSequence === inputSequenceRef.current && observation) {
|
|
3583
|
+
setSelectPopup({ observation, anchor: selectAnchor ?? null });
|
|
3584
|
+
}
|
|
3558
3585
|
}
|
|
3559
3586
|
await after?.(receipt);
|
|
3560
3587
|
}).catch((cause) => {
|
|
@@ -3796,6 +3823,7 @@ function BrowserViewport(props) {
|
|
|
3796
3823
|
onPaste: paste,
|
|
3797
3824
|
className: "pointer-events-none absolute left-1/2 top-1/2 size-px resize-none overflow-hidden opacity-0",
|
|
3798
3825
|
"aria-label": "Browser keyboard input",
|
|
3826
|
+
"aria-keyshortcuts": "Alt+ArrowDown",
|
|
3799
3827
|
autoCapitalize: "off",
|
|
3800
3828
|
autoCorrect: "off",
|
|
3801
3829
|
spellCheck: false
|
|
@@ -3818,6 +3846,7 @@ function BrowserViewport(props) {
|
|
|
3818
3846
|
showCanvas ? /* @__PURE__ */ jsx2(
|
|
3819
3847
|
BrowserSelectControl,
|
|
3820
3848
|
{
|
|
3849
|
+
manualFallback: props.inputBatchAttachment?.focusedInputObservations !== true,
|
|
3821
3850
|
activation: selectPopup,
|
|
3822
3851
|
onDismiss: () => inputRef.current?.focus({ preventScroll: true }),
|
|
3823
3852
|
observe: async () => {
|
|
@@ -4011,14 +4040,15 @@ function BrowserDiagnosticsDrawer(props) {
|
|
|
4011
4040
|
{
|
|
4012
4041
|
id: "browser-page-title",
|
|
4013
4042
|
className: "text-[10px] font-semibold uppercase tracking-[0.14em] text-og-fg-subtle",
|
|
4014
|
-
children: "
|
|
4043
|
+
children: "Tab diagnostics"
|
|
4015
4044
|
}
|
|
4016
4045
|
),
|
|
4046
|
+
/* @__PURE__ */ jsx2("p", { className: "mt-1 text-og-xs text-og-fg-subtle", children: "Includes earlier pages in this tab." }),
|
|
4017
4047
|
/* @__PURE__ */ jsxs2("dl", { className: "mt-2 grid grid-cols-2 gap-2", children: [
|
|
4018
|
-
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Console errors", value: diagnostics?.consoleErrorCount
|
|
4019
|
-
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Page errors", value: diagnostics?.pageErrorCount
|
|
4020
|
-
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Failed requests", value: diagnostics?.failedRequestCount
|
|
4021
|
-
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Downloads", value: diagnostics?.downloadCount
|
|
4048
|
+
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Console errors", value: diagnostics?.consoleErrorCount }),
|
|
4049
|
+
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Page errors", value: diagnostics?.pageErrorCount }),
|
|
4050
|
+
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Failed requests", value: diagnostics?.failedRequestCount }),
|
|
4051
|
+
/* @__PURE__ */ jsx2(DiagnosticCount, { label: "Downloads", value: diagnostics?.downloadCount })
|
|
4022
4052
|
] }),
|
|
4023
4053
|
session?.failureCode ? /* @__PURE__ */ jsxs2("p", { className: "mt-2 rounded-og-sm border border-og-status-error/30 bg-og-status-error/5 px-2.5 py-2 text-og-xs text-og-danger", children: [
|
|
4024
4054
|
"Browser state: ",
|
|
@@ -4258,7 +4288,7 @@ function DiagnosticCount(props) {
|
|
|
4258
4288
|
"mt-0.5 text-og-sm font-semibold",
|
|
4259
4289
|
props.value ? "text-og-fg" : "text-og-fg-muted"
|
|
4260
4290
|
),
|
|
4261
|
-
children: props.value
|
|
4291
|
+
children: props.value ?? "Unavailable"
|
|
4262
4292
|
}
|
|
4263
4293
|
)
|
|
4264
4294
|
] });
|
|
@@ -4441,4 +4471,4 @@ export {
|
|
|
4441
4471
|
useBrowserFrameStream,
|
|
4442
4472
|
BrowserViewer
|
|
4443
4473
|
};
|
|
4444
|
-
//# sourceMappingURL=chunk-
|
|
4474
|
+
//# sourceMappingURL=chunk-BDKR6BAR.js.map
|