@opengeni/react 0.48.0 → 0.52.1
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 +90 -2
- package/dist/artifacts-document.d.ts +3 -0
- package/dist/artifacts-document.js +17 -0
- package/dist/artifacts-document.js.map +1 -0
- package/dist/artifacts-presentation.d.ts +3 -0
- package/dist/artifacts-presentation.js +17 -0
- package/dist/artifacts-presentation.js.map +1 -0
- package/dist/artifacts-spreadsheet.d.ts +3 -0
- package/dist/artifacts-spreadsheet.js +17 -0
- package/dist/artifacts-spreadsheet.js.map +1 -0
- package/dist/artifacts.d.ts +2 -0
- package/dist/artifacts.js +170 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/chunk-6BBWWOOU.js +82 -0
- package/dist/chunk-6BBWWOOU.js.map +1 -0
- package/dist/{chunk-FWXGSNXT.js → chunk-724BW4TW.js} +585 -34
- package/dist/chunk-724BW4TW.js.map +1 -0
- package/dist/chunk-7I2KB3OK.js +3895 -0
- package/dist/chunk-7I2KB3OK.js.map +1 -0
- package/dist/chunk-7WCLAEFV.js +2828 -0
- package/dist/chunk-7WCLAEFV.js.map +1 -0
- package/dist/{chunk-I4MPFDRP.js → chunk-FWS3KC3Z.js} +3 -3
- package/dist/{chunk-EKZH6IDG.js → chunk-HDBG7XGO.js} +62 -1
- package/dist/chunk-HDBG7XGO.js.map +1 -0
- package/dist/chunk-HUIKIDM5.js +2148 -0
- package/dist/chunk-HUIKIDM5.js.map +1 -0
- package/dist/{chunk-XCNTXWBB.js → chunk-JAGDUCZQ.js} +854 -340
- package/dist/chunk-JAGDUCZQ.js.map +1 -0
- package/dist/{chunk-LHLYWG5R.js → chunk-JR3QFY6B.js} +413 -37
- package/dist/chunk-JR3QFY6B.js.map +1 -0
- package/dist/chunk-JVYQRRC4.js +53 -0
- package/dist/chunk-JVYQRRC4.js.map +1 -0
- package/dist/chunk-KCGXPP5V.js +157 -0
- package/dist/chunk-KCGXPP5V.js.map +1 -0
- package/dist/chunk-PEI6RANI.js +3234 -0
- package/dist/chunk-PEI6RANI.js.map +1 -0
- package/dist/{chunk-NJ7M2B6Z.js → chunk-ROIRTM37.js} +18 -10
- package/dist/{chunk-NJ7M2B6Z.js.map → chunk-ROIRTM37.js.map} +1 -1
- package/dist/{chunk-O4VXOBGF.js → chunk-WSK7G5LE.js} +70 -2
- package/dist/chunk-WSK7G5LE.js.map +1 -0
- package/dist/{chunk-OL6QVXGF.js → chunk-X4S56Y2H.js} +27 -7
- package/dist/{chunk-OL6QVXGF.js.map → chunk-X4S56Y2H.js.map} +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/clipboard.d.ts +1 -0
- package/dist/clipboard.js +7 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/commands/index.d.ts +3 -3
- package/dist/commands/registry.d.ts +1 -1
- package/dist/commands/types.d.ts +1 -1
- package/dist/components/approval-surface.d.ts +2 -2
- package/dist/components/artifacts/artifact-surface.d.ts +18 -0
- package/dist/components/artifacts/document-editor.d.ts +172 -0
- package/dist/components/artifacts/editable-artifact-ui.d.ts +13 -0
- package/dist/components/artifacts/editable-artifact-workbench.d.ts +49 -0
- package/dist/components/artifacts/editable-document.d.ts +24 -0
- package/dist/components/artifacts/editable-presentation.d.ts +24 -0
- package/dist/components/artifacts/editable-spreadsheet.d.ts +32 -0
- package/dist/components/artifacts/index.d.ts +8 -0
- package/dist/components/artifacts/presentation-editor.d.ts +297 -0
- package/dist/components/artifacts/spreadsheet-canvas.d.ts +120 -0
- package/dist/components/artifacts/spreadsheet-grid.d.ts +113 -0
- package/dist/components/browser-viewer.d.ts +29 -0
- package/dist/components/chat-composer.d.ts +8 -8
- package/dist/components/code-editor.d.ts +25 -3
- package/dist/components/command-palette.d.ts +2 -2
- package/dist/components/composer-transcription-control.d.ts +2 -2
- package/dist/components/composer.d.ts +17 -17
- package/dist/components/computer-viewer.d.ts +23 -0
- package/dist/components/copy-button.d.ts +2 -2
- package/dist/components/desktop-viewer.d.ts +25 -21
- package/dist/components/diff-view.d.ts +1 -1
- package/dist/components/enrollment-consent.d.ts +1 -1
- package/dist/components/enrollment-device-flow.d.ts +1 -1
- package/dist/components/file-browser.d.ts +2 -2
- package/dist/components/fleet-tile.d.ts +1 -1
- package/dist/components/generated-video-player.d.ts +10 -0
- package/dist/components/human-input-form.d.ts +1 -1
- package/dist/components/human-input-surface.d.ts +2 -2
- package/dist/components/interactive-workbench-viewers.d.ts +2 -0
- package/dist/components/machine-card.d.ts +2 -2
- package/dist/components/machine-dock-bar.d.ts +3 -3
- package/dist/components/machine-health-pill.d.ts +2 -2
- package/dist/components/machine-input-display.d.ts +1 -1
- package/dist/components/machine-metrics.d.ts +2 -2
- package/dist/components/machine-status-pill.d.ts +4 -4
- package/dist/components/machines/health.d.ts +1 -1
- package/dist/components/machines/machine-detail.d.ts +3 -3
- package/dist/components/machines/metric-history-chart.d.ts +1 -1
- package/dist/components/machines/metric-sparkline.d.ts +2 -2
- package/dist/components/machines/series.d.ts +2 -2
- package/dist/components/machines-dashboard.d.ts +2 -2
- package/dist/components/markdown.d.ts +1 -1
- package/dist/components/message-timeline.d.ts +12 -5
- package/dist/components/model-picker.d.ts +2 -2
- package/dist/components/model-policy-picker.d.ts +7 -7
- package/dist/components/pierre-diff.d.ts +1 -1
- package/dist/components/pierre-file.d.ts +1 -1
- package/dist/components/queue-draft-policy.d.ts +1 -1
- package/dist/components/queue-surface-implementation.d.ts +3 -3
- package/dist/components/queue-surface-state.d.ts +4 -4
- package/dist/components/queue-surface.d.ts +5 -5
- package/dist/components/sandbox-files.d.ts +3 -3
- package/dist/components/sandbox-terminal.d.ts +21 -4
- package/dist/components/sandbox-workspace.d.ts +25 -9
- package/dist/components/session-chrome.d.ts +4 -4
- package/dist/components/session-status.d.ts +2 -2
- package/dist/components/timeline-annotation-selection.d.ts +9 -0
- package/dist/components/timeline-annotations-dialog.d.ts +16 -0
- package/dist/components/timeline-annotations.d.ts +13 -0
- package/dist/components/tooltip.d.ts +4 -4
- package/dist/components/user-message-body.d.ts +2 -2
- package/dist/components/workbench-changes.d.ts +2 -2
- package/dist/components/workspace-dock.d.ts +1 -1
- package/dist/composer.d.ts +11 -11
- package/dist/composer.js +5 -5
- package/dist/hooks/internal.d.ts +1 -1
- package/dist/hooks/use-attached-browsers.d.ts +21 -0
- package/dist/hooks/use-available-models.d.ts +2 -2
- package/dist/hooks/use-billing-usage.d.ts +1 -1
- package/dist/hooks/use-browser-frame-stream.d.ts +28 -0
- package/dist/hooks/use-browser-identities.d.ts +26 -0
- package/dist/hooks/use-browser-session.d.ts +28 -0
- package/dist/hooks/use-browser-sessions.d.ts +32 -0
- package/dist/hooks/use-codex-accounts.d.ts +2 -2
- package/dist/hooks/use-composer.d.ts +36 -9
- package/dist/hooks/use-computer-frame-stream.d.ts +24 -0
- package/dist/hooks/use-computer-session.d.ts +28 -0
- package/dist/hooks/use-computer-sessions.d.ts +28 -0
- package/dist/hooks/use-desktop-stream.d.ts +1 -1
- package/dist/hooks/use-environments.d.ts +1 -1
- package/dist/hooks/use-file-attachments.d.ts +1 -1
- package/dist/hooks/use-goal.d.ts +2 -2
- package/dist/hooks/use-human-input.d.ts +2 -2
- package/dist/hooks/use-last-started-turn-policy.d.ts +2 -2
- package/dist/hooks/use-machine-chip.d.ts +2 -2
- package/dist/hooks/use-machines.d.ts +4 -4
- package/dist/hooks/use-packs.d.ts +7 -2
- package/dist/hooks/use-rigs.d.ts +1 -1
- package/dist/hooks/use-sandbox-files.d.ts +6 -4
- package/dist/hooks/use-sandbox-git.d.ts +6 -5
- package/dist/hooks/use-sandbox-terminal.d.ts +1 -1
- package/dist/hooks/use-scheduled-tasks.d.ts +1 -1
- package/dist/hooks/use-session-capabilities.d.ts +5 -4
- package/dist/hooks/use-session-control.d.ts +1 -1
- package/dist/hooks/use-session-events.d.ts +2 -2
- package/dist/hooks/use-session-lineage.d.ts +1 -1
- package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
- package/dist/hooks/use-session.d.ts +2 -2
- package/dist/hooks/use-slash-commands.d.ts +1 -1
- package/dist/hooks/use-terminal-stream.d.ts +8 -2
- package/dist/hooks/use-turn-queue.d.ts +2 -2
- package/dist/hooks/use-video-artifact-playback.d.ts +9 -0
- package/dist/hooks/use-voice-input.d.ts +1 -1
- package/dist/hooks/use-workspace-capture.d.ts +1 -1
- package/dist/hooks/use-workspace-edit.d.ts +1 -1
- package/dist/hooks/use-workspace-sessions.d.ts +1 -1
- package/dist/hooks/use-workspaces.d.ts +1 -1
- package/dist/index.d.ts +158 -155
- package/dist/index.js +906 -462
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +23 -0
- package/dist/interaction.js +36 -0
- package/dist/interaction.js.map +1 -0
- package/dist/interactive-workbench-viewers-KHNOHWQE.js +13 -0
- package/dist/interactive-workbench-viewers-KHNOHWQE.js.map +1 -0
- package/dist/lib/relay-wire.d.ts +4 -0
- package/dist/lib/sandbox-liveness.d.ts +9 -0
- package/dist/lib/terminal-capability.d.ts +5 -0
- package/dist/lib/xterm-theme.d.ts +1 -1
- package/dist/machines.d.ts +30 -30
- package/dist/machines.js +3 -3
- package/dist/provider.d.ts +4 -4
- package/dist/{queue-surface-implementation-U5JFG7HT.js → queue-surface-implementation-2KVJTYXH.js} +100 -48
- package/dist/queue-surface-implementation-2KVJTYXH.js.map +1 -0
- package/dist/realtime/dropdown-menu.d.ts +8 -8
- package/dist/realtime/realtime-control.d.ts +6 -6
- package/dist/realtime.d.ts +4 -4
- package/dist/realtime.js +3 -3
- package/dist/session-context.d.ts +19 -1
- package/dist/session-ui.d.ts +14 -14
- package/dist/session-ui.js +5 -4
- package/dist/session.d.ts +28 -28
- package/dist/session.js +5 -5
- package/dist/timeline/activity-rail.d.ts +5 -3
- package/dist/timeline/disclosure-context.d.ts +1 -1
- package/dist/timeline/fleet-decision-projection.d.ts +1 -1
- package/dist/timeline/fleet-decision-row.d.ts +3 -3
- package/dist/timeline/index.d.ts +19 -19
- package/dist/timeline/parsers.d.ts +4 -1
- package/dist/timeline/projection.d.ts +3 -3
- package/dist/timeline/registry.d.ts +8 -2
- package/dist/timeline/screenshot-lightbox.d.ts +2 -2
- package/dist/timeline/shared.d.ts +21 -10
- package/dist/timeline/tool-diff.d.ts +2 -2
- package/dist/timeline/tool-renderers.d.ts +1 -1
- package/dist/timeline/turn-summary.d.ts +3 -3
- package/dist/timeline/types.d.ts +39 -3
- package/dist/timeline-annotation-selection-3L7LHGG2.js +187 -0
- package/dist/timeline-annotation-selection-3L7LHGG2.js.map +1 -0
- package/dist/timeline-annotations-dialog-U7EVLR75.js +196 -0
- package/dist/timeline-annotations-dialog-U7EVLR75.js.map +1 -0
- package/package.json +36 -7
- package/src/artifacts-document.ts +31 -0
- package/src/artifacts-presentation.ts +36 -0
- package/src/artifacts-spreadsheet.ts +21 -0
- package/src/artifacts.ts +86 -0
- package/src/client.ts +87 -1
- package/src/clipboard.ts +2 -0
- package/src/components/artifacts/artifact-surface.tsx +93 -0
- package/src/components/artifacts/document-editor.tsx +2255 -0
- package/src/components/artifacts/editable-artifact-ui.tsx +89 -0
- package/src/components/artifacts/editable-artifact-workbench.tsx +203 -0
- package/src/components/artifacts/editable-document.tsx +657 -0
- package/src/components/artifacts/editable-presentation.tsx +1020 -0
- package/src/components/artifacts/editable-spreadsheet.tsx +733 -0
- package/src/components/artifacts/index.ts +99 -0
- package/src/components/artifacts/presentation-editor.tsx +3148 -0
- package/src/components/artifacts/spreadsheet-canvas.ts +799 -0
- package/src/components/artifacts/spreadsheet-grid.tsx +2129 -0
- package/src/components/browser-viewer.tsx +1592 -0
- package/src/components/chat-composer.tsx +13 -0
- package/src/components/code-editor.tsx +89 -30
- package/src/components/composer-transcription-control.tsx +10 -6
- package/src/components/computer-viewer.tsx +1139 -0
- package/src/components/desktop-viewer.tsx +101 -73
- package/src/components/generated-video-player.tsx +89 -0
- package/src/components/interactive-workbench-viewers.ts +2 -0
- package/src/components/machine-input-display.ts +3 -0
- package/src/components/message-timeline.tsx +289 -32
- package/src/components/queue-surface-implementation.tsx +116 -60
- package/src/components/sandbox-files.tsx +2 -2
- package/src/components/sandbox-terminal.tsx +106 -41
- package/src/components/sandbox-workspace.tsx +215 -87
- package/src/components/session-chrome.tsx +53 -13
- package/src/components/timeline-annotation-selection.tsx +221 -0
- package/src/components/timeline-annotations-dialog.tsx +213 -0
- package/src/components/timeline-annotations.tsx +84 -0
- package/src/components/workbench-changes.tsx +188 -31
- package/src/hooks/use-attached-browsers.ts +152 -0
- package/src/hooks/use-browser-frame-stream.ts +316 -0
- package/src/hooks/use-browser-identities.ts +225 -0
- package/src/hooks/use-browser-session.ts +476 -0
- package/src/hooks/use-browser-sessions.ts +281 -0
- package/src/hooks/use-composer.ts +769 -24
- package/src/hooks/use-computer-frame-stream.ts +311 -0
- package/src/hooks/use-computer-session.ts +442 -0
- package/src/hooks/use-computer-sessions.ts +245 -0
- package/src/hooks/use-machine-chip.ts +5 -3
- package/src/hooks/use-machines.ts +33 -3
- package/src/hooks/use-packs.ts +51 -0
- package/src/hooks/use-sandbox-files.ts +98 -55
- package/src/hooks/use-sandbox-git.ts +93 -38
- package/src/hooks/use-sandbox-terminal.ts +3 -2
- package/src/hooks/use-session-capabilities.ts +59 -46
- package/src/hooks/use-terminal-stream.ts +102 -23
- package/src/hooks/use-video-artifact-playback.ts +28 -0
- package/src/hooks/use-workspace-edit.ts +2 -1
- package/src/index.ts +10 -0
- package/src/interaction.ts +71 -0
- package/src/lib/relay-wire.ts +4 -0
- package/src/lib/sandbox-liveness.ts +11 -0
- package/src/lib/terminal-capability.ts +10 -0
- package/src/session-context.ts +90 -0
- package/src/timeline/activity-rail.tsx +19 -3
- package/src/timeline/index.ts +3 -0
- package/src/timeline/parsers.ts +14 -1
- package/src/timeline/projection.ts +211 -14
- package/src/timeline/registry.ts +13 -1
- package/src/timeline/screenshot-lightbox.tsx +19 -9
- package/src/timeline/shared.tsx +56 -8
- package/src/timeline/tool-renderers.tsx +303 -50
- package/src/timeline/types.ts +55 -3
- package/styles/compiled.css +248 -15
- package/styles/index.css +15 -0
- package/styles/responsive.css +13 -1
- package/dist/chunk-EKZH6IDG.js.map +0 -1
- package/dist/chunk-FWXGSNXT.js.map +0 -1
- package/dist/chunk-LHLYWG5R.js.map +0 -1
- package/dist/chunk-O4VXOBGF.js.map +0 -1
- package/dist/chunk-XCNTXWBB.js.map +0 -1
- package/dist/fleet-decision-projection-SLNZMS42.js +0 -241
- package/dist/fleet-decision-projection-SLNZMS42.js.map +0 -1
- package/dist/queue-surface-implementation-U5JFG7HT.js.map +0 -1
- /package/dist/{chunk-I4MPFDRP.js.map → chunk-FWS3KC3Z.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { UseTurnQueueResult } from "../hooks/use-turn-queue";
|
|
1
|
+
import type { UseTurnQueueResult } from "../hooks/use-turn-queue.js";
|
|
2
2
|
type QueueStateProps = {
|
|
3
3
|
queue: UseTurnQueueResult;
|
|
4
4
|
};
|
|
5
|
-
export declare function EmptyQueueStateSurface({ queue }: QueueStateProps): import("react
|
|
5
|
+
export declare function EmptyQueueStateSurface({ queue }: QueueStateProps): import("react").JSX.Element;
|
|
6
6
|
export declare function QueueStoppingStatus({ queue, dividerAfter, }: QueueStateProps & {
|
|
7
7
|
dividerAfter?: boolean;
|
|
8
|
-
}): import("react
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
9
|
export declare function QueueErrorAlert({ queue, dividerBefore, }: QueueStateProps & {
|
|
10
10
|
dividerBefore?: boolean;
|
|
11
|
-
}): import("react
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type ComponentType } from "react";
|
|
2
|
-
import type { QueueSurfaceProps } from "./queue-surface-implementation";
|
|
3
|
-
export { requestQueueDraftEdit } from "./queue-draft-policy";
|
|
4
|
-
export type { QueueSurfaceProps } from "./queue-surface-implementation";
|
|
2
|
+
import type { QueueSurfaceProps } from "./queue-surface-implementation.js";
|
|
3
|
+
export { requestQueueDraftEdit } from "./queue-draft-policy.js";
|
|
4
|
+
export type { QueueSurfaceProps } from "./queue-surface-implementation.js";
|
|
5
5
|
type QueueSurfaceModule = {
|
|
6
6
|
QueueSurface: ComponentType<QueueSurfaceProps>;
|
|
7
7
|
};
|
|
8
8
|
type QueueSurfaceLoader = () => Promise<QueueSurfaceModule>;
|
|
9
9
|
/** The sole pending-input surface: compact above Goal, Agents, and composer. */
|
|
10
|
-
export declare const QueueSurface: (props: QueueSurfaceProps) => import("react
|
|
10
|
+
export declare const QueueSurface: (props: QueueSurfaceProps) => import("react").JSX.Element | null;
|
|
11
11
|
/** @internal Deterministic Suspense seam for the QueueSurface regression suite. */
|
|
12
|
-
export declare function createQueueSurfaceForTest(loadImplementation: QueueSurfaceLoader): (props: QueueSurfaceProps) => import("react
|
|
12
|
+
export declare function createQueueSurfaceForTest(loadImplementation: QueueSurfaceLoader): (props: QueueSurfaceProps) => import("react").JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type UseSandboxFilesResult } from "../hooks/use-sandbox-files";
|
|
2
|
-
import type { UseSandboxGitResult } from "../hooks/use-sandbox-git";
|
|
1
|
+
import { type UseSandboxFilesResult } from "../hooks/use-sandbox-files.js";
|
|
2
|
+
import type { UseSandboxGitResult } from "../hooks/use-sandbox-git.js";
|
|
3
3
|
export type SandboxFilesProps = {
|
|
4
4
|
/** From `useSandboxFiles(...)`. */
|
|
5
5
|
files: UseSandboxFilesResult;
|
|
@@ -46,4 +46,4 @@ export type SandboxFilesProps = {
|
|
|
46
46
|
* surface deliberately does NOT replicate the changed-files list, and does not
|
|
47
47
|
* diff here — one job per tab). The agent commits; the human reviews.
|
|
48
48
|
*/
|
|
49
|
-
export declare function SandboxFiles({ files, git, fileSystemAvailable, usePierre, editable, onEditIntent, requestedPath, requestedPathRequestId, requestedPathReady, workspaceResting, workspaceWaking, liveWorkspaceReady, onWakeWorkspace, themeType, className, }: SandboxFilesProps): import("react
|
|
49
|
+
export declare function SandboxFiles({ files, git, fileSystemAvailable, usePierre, editable, onEditIntent, requestedPath, requestedPathRequestId, requestedPathReady, workspaceResting, workspaceWaking, liveWorkspaceReady, onWakeWorkspace, themeType, className, }: SandboxFilesProps): import("react").JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { TerminalCapability } from "@opengeni/sdk";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import type
|
|
4
|
-
import {
|
|
3
|
+
import { type TerminalStreamStatus } from "../hooks/use-terminal-stream.js";
|
|
4
|
+
import type { UseSandboxTerminalResult } from "../hooks/use-sandbox-terminal.js";
|
|
5
|
+
import { type RendererTier } from "../lib/xterm-renderer.js";
|
|
5
6
|
/**
|
|
6
7
|
* A COMPLETE xterm `ITheme` (subset by intent, but every field xterm colors a
|
|
7
8
|
* cell with is present so it never falls back to its stock VGA palette). Built
|
|
@@ -55,7 +56,7 @@ export type SandboxTerminalProps = {
|
|
|
55
56
|
fontSize?: number | undefined;
|
|
56
57
|
/**
|
|
57
58
|
* Lease liveness (`cold` | `warming` | `warm` | `draining`). Drives the
|
|
58
|
-
* boot-in-terminal status lines: once the user has
|
|
59
|
+
* boot-in-terminal status lines: once the user has engaged the terminal and
|
|
59
60
|
* the box is not yet warm, a styled "● waking machine — Ns…" line is rendered
|
|
60
61
|
* INSIDE xterm (no overlay/spinner) until the live PTY connects.
|
|
61
62
|
*/
|
|
@@ -107,6 +108,22 @@ type XtermLike = {
|
|
|
107
108
|
fontSize?: number;
|
|
108
109
|
};
|
|
109
110
|
};
|
|
111
|
+
export type TerminalSurfaceState = "loading" | "connecting" | "error" | "waking" | "output-only" | "interactive";
|
|
112
|
+
/**
|
|
113
|
+
* Stable semantic state for hosts and browser acceptance. The xterm helper
|
|
114
|
+
* textarea exists before the live PTY socket is ready, so its presence alone
|
|
115
|
+
* must never be treated as proof that keystrokes can reach the sandbox.
|
|
116
|
+
*/
|
|
117
|
+
export declare function terminalSurfaceState(input: {
|
|
118
|
+
ready: boolean;
|
|
119
|
+
acceptsInput: boolean;
|
|
120
|
+
inputPending: boolean;
|
|
121
|
+
ptyStatus: TerminalStreamStatus;
|
|
122
|
+
booting: boolean;
|
|
123
|
+
}): TerminalSurfaceState;
|
|
124
|
+
export declare function subscribeTerminalInput(term: Pick<XtermLike, "onData"> | null, sink: ((data: string) => void) | null, enabled: boolean): {
|
|
125
|
+
dispose: () => void;
|
|
126
|
+
} | null;
|
|
110
127
|
/** Clear the transient wake line and put the first live prompt at cell 1,1.
|
|
111
128
|
* `Terminal.clear()` removes scrollback but deliberately preserves the cursor,
|
|
112
129
|
* which lets the first PTY frame append to the old wake message. */
|
|
@@ -148,5 +165,5 @@ declare global {
|
|
|
148
165
|
* Resizes are tracked with a `ResizeObserver` on the container (not just
|
|
149
166
|
* `window.resize`) so dragging the dock handle refits the grid.
|
|
150
167
|
*/
|
|
151
|
-
export declare function SandboxTerminal({ result, terminalCapability, theme, fontFamily, fontSize, liveness, readOnly, placeholder, showHeader, shell, onActivate, className, }: SandboxTerminalProps): import("react
|
|
168
|
+
export declare function SandboxTerminal({ result, terminalCapability, theme, fontFamily, fontSize, liveness, readOnly, placeholder, showHeader, shell, onActivate, className, }: SandboxTerminalProps): import("react").JSX.Element;
|
|
152
169
|
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { SessionEvent } from "@opengeni/sdk";
|
|
3
|
-
import { type ClientOverride } from "../provider";
|
|
4
|
-
import {
|
|
5
|
-
import type {
|
|
6
|
-
import { type
|
|
3
|
+
import { type ClientOverride } from "../provider.js";
|
|
4
|
+
import type { BrowserFrameWebSocketFactory } from "../hooks/use-browser-frame-stream.js";
|
|
5
|
+
import type { ComputerFrameWebSocketFactory } from "../hooks/use-computer-frame-stream.js";
|
|
6
|
+
import { type MachineChip } from "../hooks/use-machine-chip.js";
|
|
7
|
+
import type { MachineView } from "../types/machines.js";
|
|
8
|
+
import { type WorkspaceDockProps, type WorkspaceTab } from "./workspace-dock.js";
|
|
7
9
|
/** A host-routed notification (replaces the app-only `sonner` toast coupling). */
|
|
8
10
|
export type WorkspaceNotification = {
|
|
9
11
|
kind: "error" | "info";
|
|
@@ -13,13 +15,14 @@ export type WorkspaceNotification = {
|
|
|
13
15
|
export declare const WORKBENCH_TAB_CHANGES = "changes";
|
|
14
16
|
export declare const WORKBENCH_TAB_FILES = "files";
|
|
15
17
|
export declare const WORKBENCH_TAB_TERMINAL = "terminal";
|
|
18
|
+
export declare const WORKBENCH_TAB_BROWSER = "browser";
|
|
16
19
|
export declare const WORKBENCH_TAB_DESKTOP = "desktop";
|
|
17
20
|
/**
|
|
18
21
|
* The built-in workbench surfaces in their canonical display order. Hosts can
|
|
19
22
|
* pass a subset through `surfaces`; omission preserves the complete standalone
|
|
20
23
|
* workbench.
|
|
21
24
|
*/
|
|
22
|
-
export declare const WORKBENCH_SURFACES: readonly ["changes", "files", "terminal", "desktop"];
|
|
25
|
+
export declare const WORKBENCH_SURFACES: readonly ["changes", "files", "terminal", "browser", "desktop"];
|
|
23
26
|
export type SandboxWorkspaceSurface = (typeof WORKBENCH_SURFACES)[number];
|
|
24
27
|
/**
|
|
25
28
|
* Decide a workspace tab from an already-local event log: the newest
|
|
@@ -49,7 +52,7 @@ export type UseSandboxWorkspaceTabsOptions = ClientOverride & {
|
|
|
49
52
|
/** Live event log (usually `useSessionEvents().events`). */
|
|
50
53
|
events: SessionEvent[];
|
|
51
54
|
/**
|
|
52
|
-
* Built-in surfaces this host wants to expose. Omit for all
|
|
55
|
+
* Built-in surfaces this host wants to expose. Omit for all five. A disabled
|
|
53
56
|
* surface is behaviorally dormant: its data hooks, warm intents, stream
|
|
54
57
|
* attachment, and navigation callbacks are not activated.
|
|
55
58
|
*/
|
|
@@ -62,6 +65,10 @@ export type UseSandboxWorkspaceTabsOptions = ClientOverride & {
|
|
|
62
65
|
/** Host-routed notifications (mutation errors, desktop-consent failures). The
|
|
63
66
|
* package never imports a toast library — the host decides how to surface. */
|
|
64
67
|
onNotify?: ((notification: WorkspaceNotification) => void) | undefined;
|
|
68
|
+
/** Alternate frame transport for non-browser runtimes and deterministic tests. */
|
|
69
|
+
browserWebSocketFactory?: BrowserFrameWebSocketFactory | undefined;
|
|
70
|
+
/** Alternate Computer frame transport for non-browser runtimes and deterministic tests. */
|
|
71
|
+
computerWebSocketFactory?: ComputerFrameWebSocketFactory | undefined;
|
|
65
72
|
/** File requested by a Changes guard. The Files surface defers the read until
|
|
66
73
|
* the sandbox is live, then reveals this path. */
|
|
67
74
|
requestedFilePath?: string | null | undefined;
|
|
@@ -70,9 +77,13 @@ export type UseSandboxWorkspaceTabsOptions = ClientOverride & {
|
|
|
70
77
|
requestedFileRequestId?: string | number | null | undefined;
|
|
71
78
|
/** Route a guarded diff into the host's Files tab. */
|
|
72
79
|
onOpenFile?: ((path: string) => void) | undefined;
|
|
80
|
+
/** Navigate the host dock to one exact linked ComputerSession. */
|
|
81
|
+
onOpenComputerSession?: ((computerSessionId: string) => void) | undefined;
|
|
82
|
+
requestedComputerSessionId?: string | null | undefined;
|
|
83
|
+
requestedComputerRequestId?: string | number | null | undefined;
|
|
73
84
|
};
|
|
74
85
|
export type UseSandboxWorkspaceTabsResult = {
|
|
75
|
-
/** Changes | Files | Terminal | Desktop (capability-gated where noted). */
|
|
86
|
+
/** Changes | Files | Terminal | Browser | Desktop (capability-gated where noted). */
|
|
76
87
|
tabs: WorkspaceTab[];
|
|
77
88
|
/** The source-driven default tab: Changes when the first authoritative capture
|
|
78
89
|
* or live Git result has changes, else Files (a host `initialTab` overrides).
|
|
@@ -85,7 +96,8 @@ export type UseSandboxWorkspaceTabsResult = {
|
|
|
85
96
|
/**
|
|
86
97
|
* Build the workbench tabs + the machine-chip model for one session. This is the
|
|
87
98
|
* dock "brain": capability negotiation, capture-backed cold reads, prewarm
|
|
88
|
-
* flags, desktop
|
|
99
|
+
* flags, automatic desktop acknowledgment, and the xterm theme observer — all
|
|
100
|
+
* package-local.
|
|
89
101
|
*/
|
|
90
102
|
export declare function useSandboxWorkspaceTabs(options: UseSandboxWorkspaceTabsOptions): UseSandboxWorkspaceTabsResult;
|
|
91
103
|
export type SandboxWorkspaceProps = ClientOverride & {
|
|
@@ -96,7 +108,7 @@ export type SandboxWorkspaceProps = ClientOverride & {
|
|
|
96
108
|
primary: ReactNode;
|
|
97
109
|
/**
|
|
98
110
|
* Built-in surfaces this host wants to expose. Omit for Changes, Files,
|
|
99
|
-
* Terminal, and Desktop. Disabled surfaces remain behaviorally dormant.
|
|
111
|
+
* Terminal, Browser, and Desktop. Disabled surfaces remain behaviorally dormant.
|
|
100
112
|
*/
|
|
101
113
|
surfaces?: readonly SandboxWorkspaceSurface[] | undefined;
|
|
102
114
|
/** Host tabs injected BEFORE the workbench tabs (e.g. a "Run" landing tab). */
|
|
@@ -108,6 +120,10 @@ export type SandboxWorkspaceProps = ClientOverride & {
|
|
|
108
120
|
initialTab?: string | undefined;
|
|
109
121
|
/** Host-routed notifications (no toast dependency in the package). */
|
|
110
122
|
onNotify?: ((notification: WorkspaceNotification) => void) | undefined;
|
|
123
|
+
/** Alternate Browser frame transport for non-browser runtimes and deterministic tests. */
|
|
124
|
+
browserWebSocketFactory?: BrowserFrameWebSocketFactory | undefined;
|
|
125
|
+
/** Alternate Computer frame transport for non-browser runtimes and deterministic tests. */
|
|
126
|
+
computerWebSocketFactory?: ComputerFrameWebSocketFactory | undefined;
|
|
111
127
|
/** Controlled collapsed state for hosts with their own dock toggle. */
|
|
112
128
|
collapsed?: boolean | undefined;
|
|
113
129
|
onCollapsedChange?: ((collapsed: boolean) => void) | undefined;
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import type { SessionGoal } from "@opengeni/sdk";
|
|
35
35
|
import { type ReactNode } from "react";
|
|
36
|
-
import type { ComposerState } from "../hooks/use-composer";
|
|
37
|
-
import type { UseGoalResult } from "../hooks/use-goal";
|
|
38
|
-
import type { UseTurnQueueResult } from "../hooks/use-turn-queue";
|
|
36
|
+
import type { ComposerState } from "../hooks/use-composer.js";
|
|
37
|
+
import type { UseGoalResult } from "../hooks/use-goal.js";
|
|
38
|
+
import type { UseTurnQueueResult } from "../hooks/use-turn-queue.js";
|
|
39
39
|
export type SessionChromeSignalId = "incoming" | "steering" | "queue" | "goal" | "agents";
|
|
40
40
|
export type SessionChromeSignalTone = "neutral" | "accent" | "waiting" | "running";
|
|
41
41
|
export type SessionChromeAgentsSignal = {
|
|
@@ -67,5 +67,5 @@ export type SessionChromeProps = {
|
|
|
67
67
|
type GoalPillState = "pursuing" | "scheduled" | "blocked" | "held" | "paused" | "invariant_broken" | "completed";
|
|
68
68
|
/** Select pill state from the goal's authoritative continuation projection. */
|
|
69
69
|
export declare function sessionChromeGoalPillState(goalStatus: "active" | "paused" | "completed", continuation: SessionGoal["continuation"] | null | undefined): GoalPillState;
|
|
70
|
-
export declare function SessionChrome({ queue, composer, goal, agentsPanel, agentsSignal, onDismissIncoming, readOnly, className, active: activeControlled, defaultActive, onActiveChange, }: SessionChromeProps): import("react
|
|
70
|
+
export declare function SessionChrome({ queue, composer, goal, agentsPanel, agentsSignal, onDismissIncoming, readOnly, className, active: activeControlled, defaultActive, onActiveChange, }: SessionChromeProps): import("react").JSX.Element | null;
|
|
71
71
|
export {};
|
|
@@ -16,10 +16,10 @@ export type SessionStatusProps = {
|
|
|
16
16
|
className?: string | undefined;
|
|
17
17
|
};
|
|
18
18
|
/** Status badge with a breathing dot for live states. */
|
|
19
|
-
export declare function SessionStatus({ status, label, size, className }: SessionStatusProps): import("react
|
|
19
|
+
export declare function SessionStatus({ status, label, size, className }: SessionStatusProps): import("react").JSX.Element;
|
|
20
20
|
export type StatusDotProps = {
|
|
21
21
|
status: SessionStatusValue;
|
|
22
22
|
className?: string | undefined;
|
|
23
23
|
};
|
|
24
24
|
/** Just the dot — for dense rows and tiles. */
|
|
25
|
-
export declare function StatusDot({ status, className }: StatusDotProps): import("react
|
|
25
|
+
export declare function StatusDot({ status, className }: StatusDotProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DraftTimelineAnnotation } from "@opengeni/sdk";
|
|
2
|
+
import { type RefObject } from "react";
|
|
3
|
+
import type { TimelineAnnotationSourceDescriptor } from "../timeline/index.js";
|
|
4
|
+
export declare function TimelineAnnotationSelection({ rootRef, sources, onAnnotate, }: {
|
|
5
|
+
rootRef: RefObject<HTMLElement | null>;
|
|
6
|
+
sources: ReadonlyMap<string, TimelineAnnotationSourceDescriptor>;
|
|
7
|
+
onAnnotate?: ((annotation: DraftTimelineAnnotation) => void) | undefined;
|
|
8
|
+
}): import("react").ReactPortal | null;
|
|
9
|
+
export default TimelineAnnotationSelection;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TimelineAnnotationSource } from "@opengeni/sdk";
|
|
2
|
+
import { type RefObject } from "react";
|
|
3
|
+
import type { TimelineAnnotationLike } from "./timeline-annotations.js";
|
|
4
|
+
export declare function TimelineAnnotationsDialog({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, triggerRef, countLabel, onDismiss, }: {
|
|
5
|
+
annotations: readonly TimelineAnnotationLike[];
|
|
6
|
+
editable: boolean;
|
|
7
|
+
focusAnnotationId?: string | null | undefined;
|
|
8
|
+
onFocusConsumed?: (() => void) | undefined;
|
|
9
|
+
onUpdate?: ((id: string, note: string) => void) | undefined;
|
|
10
|
+
onRemove?: ((id: string) => void) | undefined;
|
|
11
|
+
onRevealSource?: ((source: TimelineAnnotationSource) => boolean) | undefined;
|
|
12
|
+
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
13
|
+
countLabel: string;
|
|
14
|
+
onDismiss: (restoreFocus: boolean) => void;
|
|
15
|
+
}): import("react").ReactPortal | null;
|
|
16
|
+
export default TimelineAnnotationsDialog;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DraftTimelineAnnotation, TimelineAnnotation, TimelineAnnotationSource } from "@opengeni/sdk";
|
|
2
|
+
export type TimelineAnnotationLike = DraftTimelineAnnotation | TimelineAnnotation;
|
|
3
|
+
export declare function TimelineAnnotationsChip({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, className, }: {
|
|
4
|
+
annotations: readonly TimelineAnnotationLike[];
|
|
5
|
+
editable?: boolean | undefined;
|
|
6
|
+
focusAnnotationId?: string | null | undefined;
|
|
7
|
+
onFocusConsumed?: (() => void) | undefined;
|
|
8
|
+
onUpdate?: ((id: string, note: string) => void) | undefined;
|
|
9
|
+
onRemove?: ((id: string) => void) | undefined;
|
|
10
|
+
onRevealSource?: ((source: TimelineAnnotationSource) => boolean) | undefined;
|
|
11
|
+
className?: string | undefined;
|
|
12
|
+
}): import("react").JSX.Element | null;
|
|
13
|
+
export default TimelineAnnotationsChip;
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
11
11
|
import { type ComponentProps } from "react";
|
|
12
|
-
declare function TooltipProvider({ delayDuration, ...props }: ComponentProps<typeof TooltipPrimitive.Provider>): import("react
|
|
13
|
-
declare function Tooltip({ children, ...props }: ComponentProps<typeof TooltipPrimitive.Root>): import("react
|
|
14
|
-
declare function TooltipTrigger({ asChild, ...props }: ComponentProps<typeof TooltipPrimitive.Trigger>): import("react
|
|
15
|
-
declare function TooltipContent({ className, sideOffset, children, style, ...props }: ComponentProps<typeof TooltipPrimitive.Content>): import("react
|
|
12
|
+
declare function TooltipProvider({ delayDuration, ...props }: ComponentProps<typeof TooltipPrimitive.Provider>): import("react").JSX.Element;
|
|
13
|
+
declare function Tooltip({ children, ...props }: ComponentProps<typeof TooltipPrimitive.Root>): import("react").JSX.Element;
|
|
14
|
+
declare function TooltipTrigger({ asChild, ...props }: ComponentProps<typeof TooltipPrimitive.Trigger>): import("react").JSX.Element;
|
|
15
|
+
declare function TooltipContent({ className, sideOffset, children, style, ...props }: ComponentProps<typeof TooltipPrimitive.Content>): import("react").JSX.Element;
|
|
16
16
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
@@ -7,7 +7,7 @@ export type UserMessageDisclosureContextValue = {
|
|
|
7
7
|
export declare function UserMessageDisclosureProvider({ value, children, }: {
|
|
8
8
|
value: UserMessageDisclosureContextValue;
|
|
9
9
|
children: ReactNode;
|
|
10
|
-
}): import("react
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
11
|
/**
|
|
12
12
|
* Deterministic first-paint fallback for runtimes without layout measurement.
|
|
13
13
|
* Real browsers replace this estimate with the rendered-height decision in the
|
|
@@ -32,5 +32,5 @@ export type UserMessageBodyProps = {
|
|
|
32
32
|
* remembers expansion per durable message id and preserves the reader's scroll
|
|
33
33
|
* anchor when height changes.
|
|
34
34
|
*/
|
|
35
|
-
export declare function UserMessageBody({ messageId, text, children, className }: UserMessageBodyProps): import("react
|
|
35
|
+
export declare function UserMessageBody({ messageId, text, children, className }: UserMessageBodyProps): import("react").JSX.Element;
|
|
36
36
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SandboxGitFileDiff } from "../hooks/use-sandbox-git";
|
|
1
|
+
import type { SandboxGitFileDiff } from "../hooks/use-sandbox-git.js";
|
|
2
2
|
export type WorkbenchChangesProps = {
|
|
3
3
|
/** The changed files (`useSandboxGit().diff`). Assumed non-empty by the caller. */
|
|
4
4
|
diff: SandboxGitFileDiff[];
|
|
@@ -30,5 +30,5 @@ export declare function buildRail(files: SandboxGitFileDiff[]): {
|
|
|
30
30
|
rows: RailRow[];
|
|
31
31
|
grouped: boolean;
|
|
32
32
|
};
|
|
33
|
-
export declare function WorkbenchChanges({ diff, source, capturedAt, captureRevision, themeType, onOpenFile, className, }: WorkbenchChangesProps): import("react
|
|
33
|
+
export declare function WorkbenchChanges({ diff, source, capturedAt, captureRevision, themeType, onOpenFile, className, }: WorkbenchChangesProps): import("react").JSX.Element;
|
|
34
34
|
export {};
|
|
@@ -34,4 +34,4 @@ export type WorkspaceDockProps = {
|
|
|
34
34
|
maxSize?: number | undefined;
|
|
35
35
|
className?: string | undefined;
|
|
36
36
|
};
|
|
37
|
-
export declare function WorkspaceDock({ primary, tabs, activeTab, onActiveTabChange, collapsed: collapsedProp, onCollapsedChange, showCollapseControl, headerAccessory, mobileLeadingControl, autoSaveId, defaultSize, minSize, maxSize, className, }: WorkspaceDockProps): import("react
|
|
37
|
+
export declare function WorkspaceDock({ primary, tabs, activeTab, onActiveTabChange, collapsed: collapsedProp, onCollapsedChange, showCollapseControl, headerAccessory, mobileLeadingControl, autoSaveId, defaultSize, minSize, maxSize, className, }: WorkspaceDockProps): import("react").JSX.Element;
|
package/dist/composer.d.ts
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* `import * as Composer from "@opengeni/react/composer"`.
|
|
5
5
|
*/
|
|
6
|
-
export { OPEN_WORKSTREAM_CONTROL_EVENT } from "./workstream-control-event";
|
|
7
|
-
export { BillingClassMark, ModelPolicyPicker, ModelPolicyPickerMenu, PickerAnimatedPage, PickerBackHeader, PickerNavRow, defaultModelPolicyPickerMessages, } from "./components/model-policy-picker";
|
|
8
|
-
export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, } from "./components/model-policy-picker";
|
|
9
|
-
export { Actions, AttachButton, Attachments, CommandPalette, Confirmation, Controls, Footer, Frame, Help, Hint, Input, ModelPicker, PauseButton, PausedState, RestoredResources, Root, SendButton, Status, Surface, defaultChatComposerMessages, useChatComposer, useChatComposerController, } from "./components/composer";
|
|
10
|
-
export type { ChatComposerController, ChatComposerContextValue, ChatComposerMessages, ComposerActionsProps, ComposerAttachButtonProps, ComposerCommandPaletteProps, ComposerControlLinks, ComposerControlState, ComposerControlsProps, ComposerDelivery, ComposerDraftState, ComposerFooterProps, ComposerFrameProps, ComposerHintProps, ComposerInputProps, ComposerModelPickerProps, ComposerPauseButtonProps, ComposerRootProps, ComposerSendButtonProps, ComposerSubmitBlocker, ComposerSubmitMode, ComposerSurfaceProps, ResponsiveBasis, UseChatComposerControllerOptions, } from "./components/composer";
|
|
11
|
-
export { ComposerTranscriptionControl } from "./components/composer-transcription-control";
|
|
12
|
-
export type { ComposerTranscriptionControlProps, ComposerTranscriptionMessages, } from "./components/composer-transcription-control";
|
|
13
|
-
export { VOICE_RECORDING_CLIENT_MAX_DURATION_SECONDS, VOICE_RECORDING_OWNER_HEARTBEAT_MILLISECONDS, VOICE_RECORDING_OWNER_STALE_MILLISECONDS, VOICE_RECORDING_TIMESLICE_MILLISECONDS, useVoiceInput, } from "./hooks/use-voice-input";
|
|
14
|
-
export type { UseVoiceInputOptions, UseVoiceInputResult, VoiceInputStatus, } from "./hooks/use-voice-input";
|
|
15
|
-
export { IndexedDbVoiceRecordingStore, VoiceRecordingChunkConflictError, VoiceRecordingChunkSequenceError, VoiceRecordingNotFoundError, VoiceRecordingOwnedError, VoiceRecordingStorageUnavailableError, createVoiceRecordingManifest, planVoiceRecordingChunkCommit, prepareVoiceRecordingChunk, } from "./voice-recording-store";
|
|
16
|
-
export type { PersistVoiceRecordingChunkInput, PersistVoiceRecordingChunkResult, VoiceRecordingCaptureState, VoiceRecordingChunk, VoiceRecordingChunkUploadState, VoiceRecordingFinalizationState, VoiceRecordingHandoffMode, VoiceRecordingManifest, VoiceRecordingRecoveryMode, VoiceRecordingStore, VoiceRecordingTranscriptionState, VoiceRecordingUploadState, } from "./voice-recording-store";
|
|
6
|
+
export { OPEN_WORKSTREAM_CONTROL_EVENT } from "./workstream-control-event.js";
|
|
7
|
+
export { BillingClassMark, ModelPolicyPicker, ModelPolicyPickerMenu, PickerAnimatedPage, PickerBackHeader, PickerNavRow, defaultModelPolicyPickerMessages, } from "./components/model-policy-picker.js";
|
|
8
|
+
export type { ModelPolicyPickerMessages, ModelPolicyPickerProps, } from "./components/model-policy-picker.js";
|
|
9
|
+
export { Actions, AttachButton, Attachments, CommandPalette, Confirmation, Controls, Footer, Frame, Help, Hint, Input, ModelPicker, PauseButton, PausedState, RestoredResources, Root, SendButton, Status, Surface, defaultChatComposerMessages, useChatComposer, useChatComposerController, } from "./components/composer.js";
|
|
10
|
+
export type { ChatComposerController, ChatComposerContextValue, ChatComposerMessages, ComposerActionsProps, ComposerAttachButtonProps, ComposerCommandPaletteProps, ComposerControlLinks, ComposerControlState, ComposerControlsProps, ComposerDelivery, ComposerDraftState, ComposerFooterProps, ComposerFrameProps, ComposerHintProps, ComposerInputProps, ComposerModelPickerProps, ComposerPauseButtonProps, ComposerRootProps, ComposerSendButtonProps, ComposerSubmitBlocker, ComposerSubmitMode, ComposerSurfaceProps, ResponsiveBasis, UseChatComposerControllerOptions, } from "./components/composer.js";
|
|
11
|
+
export { ComposerTranscriptionControl } from "./components/composer-transcription-control.js";
|
|
12
|
+
export type { ComposerTranscriptionControlProps, ComposerTranscriptionMessages, } from "./components/composer-transcription-control.js";
|
|
13
|
+
export { VOICE_RECORDING_CLIENT_MAX_DURATION_SECONDS, VOICE_RECORDING_OWNER_HEARTBEAT_MILLISECONDS, VOICE_RECORDING_OWNER_STALE_MILLISECONDS, VOICE_RECORDING_TIMESLICE_MILLISECONDS, useVoiceInput, } from "./hooks/use-voice-input.js";
|
|
14
|
+
export type { UseVoiceInputOptions, UseVoiceInputResult, VoiceInputStatus, } from "./hooks/use-voice-input.js";
|
|
15
|
+
export { IndexedDbVoiceRecordingStore, VoiceRecordingChunkConflictError, VoiceRecordingChunkSequenceError, VoiceRecordingNotFoundError, VoiceRecordingOwnedError, VoiceRecordingStorageUnavailableError, createVoiceRecordingManifest, planVoiceRecordingChunkCommit, prepareVoiceRecordingChunk, } from "./voice-recording-store.js";
|
|
16
|
+
export type { PersistVoiceRecordingChunkInput, PersistVoiceRecordingChunkResult, VoiceRecordingCaptureState, VoiceRecordingChunk, VoiceRecordingChunkUploadState, VoiceRecordingFinalizationState, VoiceRecordingHandoffMode, VoiceRecordingManifest, VoiceRecordingRecoveryMode, VoiceRecordingStore, VoiceRecordingTranscriptionState, VoiceRecordingUploadState, } from "./voice-recording-store.js";
|
package/dist/composer.js
CHANGED
|
@@ -37,9 +37,7 @@ import {
|
|
|
37
37
|
useChatComposer,
|
|
38
38
|
useChatComposerController,
|
|
39
39
|
useVoiceInput
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-FWXGSNXT.js";
|
|
42
|
-
import "./chunk-KZ73RL76.js";
|
|
40
|
+
} from "./chunk-ROIRTM37.js";
|
|
43
41
|
import {
|
|
44
42
|
BillingClassMark,
|
|
45
43
|
ModelPolicyPicker,
|
|
@@ -49,11 +47,13 @@ import {
|
|
|
49
47
|
PickerNavRow,
|
|
50
48
|
defaultModelPolicyPickerMessages
|
|
51
49
|
} from "./chunk-WYA65Y3F.js";
|
|
52
|
-
import "./chunk-EKZH6IDG.js";
|
|
53
50
|
import "./chunk-23EJ676W.js";
|
|
54
51
|
import "./chunk-FK6VG4LL.js";
|
|
55
|
-
import "./chunk-LAKLF4PA.js";
|
|
56
52
|
import "./chunk-VZTQ73XT.js";
|
|
53
|
+
import "./chunk-724BW4TW.js";
|
|
54
|
+
import "./chunk-LAKLF4PA.js";
|
|
55
|
+
import "./chunk-KZ73RL76.js";
|
|
56
|
+
import "./chunk-HDBG7XGO.js";
|
|
57
57
|
import "./chunk-22KP6LR5.js";
|
|
58
58
|
export {
|
|
59
59
|
Actions,
|
package/dist/hooks/internal.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SessionEvent } from "@opengeni/sdk";
|
|
2
|
-
import type { EmbeddedSessionEventClientLike } from "../client";
|
|
2
|
+
import type { EmbeddedSessionEventClientLike } from "../client.js";
|
|
3
3
|
/**
|
|
4
4
|
* Keep live browser work active while the page is visible, then suspend it
|
|
5
5
|
* after a short hidden-tab grace period. Returning to the page re-enables the
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AttachedBrowserDevice } from "@opengeni/sdk/interaction";
|
|
2
|
+
import type { EmbeddedBrowserInteractionClientLike } from "../client.js";
|
|
3
|
+
import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js";
|
|
4
|
+
export type UseAttachedBrowsersOptions = EmbeddedBrowserInteractionClientOverride & {
|
|
5
|
+
enabled?: boolean | undefined;
|
|
6
|
+
includeDisconnected?: boolean | undefined;
|
|
7
|
+
pollIntervalMs?: number | undefined;
|
|
8
|
+
};
|
|
9
|
+
export type UseAttachedBrowsersResult = {
|
|
10
|
+
revision: number;
|
|
11
|
+
devices: AttachedBrowserDevice[];
|
|
12
|
+
loading: boolean;
|
|
13
|
+
refreshing: boolean;
|
|
14
|
+
error: Error | null;
|
|
15
|
+
refresh: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
/** Workspace-wide inventory of Chrome profiles currently connected through an
|
|
18
|
+
* enrolled OpenGeni machine. BrowserSessions remain the execution authority. */
|
|
19
|
+
export declare function useAttachedBrowsers(options?: UseAttachedBrowsersOptions): UseAttachedBrowsersResult;
|
|
20
|
+
/** Exported for narrow proxy implementations and tests. */
|
|
21
|
+
export type AttachedBrowsersClient = EmbeddedBrowserInteractionClientLike;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WorkspaceModelCatalogModel } from "@opengeni/sdk";
|
|
2
|
-
import { type PickerModelRow } from "../model-policy";
|
|
3
|
-
import { type ClientOverride } from "../provider";
|
|
2
|
+
import { type PickerModelRow } from "../model-policy.js";
|
|
3
|
+
import { type ClientOverride } from "../provider.js";
|
|
4
4
|
export type UseAvailableModelsOptions = Pick<ClientOverride, "client"> & {
|
|
5
5
|
/** Refresh interval (ms). Off by default — the host model list rarely moves. */
|
|
6
6
|
pollIntervalMs?: number | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BillingBalance, UsageEvent } from "@opengeni/sdk";
|
|
2
|
-
import { type ClientOverride } from "../provider";
|
|
2
|
+
import { type ClientOverride } from "../provider.js";
|
|
3
3
|
export type UseBillingUsageOptions = Pick<ClientOverride, "client"> & {
|
|
4
4
|
/** Account to read. Defaults to the caller's default account server-side. */
|
|
5
5
|
accountId?: string | undefined;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type BrowserFrame, type BrowserFrameStreamOptions, type BrowserSessionAttachment } from "@opengeni/sdk/interaction";
|
|
2
|
+
import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js";
|
|
3
|
+
export type BrowserFrameConnectionState = "idle" | "attaching" | "connecting" | "live" | "reconnecting" | "error";
|
|
4
|
+
export type BrowserFrameWebSocket = Pick<WebSocket, "binaryType" | "readyState" | "close" | "addEventListener" | "removeEventListener"> & {
|
|
5
|
+
send(data: ArrayBuffer): void;
|
|
6
|
+
};
|
|
7
|
+
export type BrowserFrameWebSocketFactory = (url: string, protocols: string[]) => BrowserFrameWebSocket;
|
|
8
|
+
export type UseBrowserFrameStreamOptions = EmbeddedBrowserInteractionClientOverride & {
|
|
9
|
+
browserSessionId: string | null;
|
|
10
|
+
targetId: string | null;
|
|
11
|
+
enabled?: boolean | undefined;
|
|
12
|
+
stream?: BrowserFrameStreamOptions | undefined;
|
|
13
|
+
webSocketFactory?: BrowserFrameWebSocketFactory | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type UseBrowserFrameStreamResult = {
|
|
16
|
+
state: BrowserFrameConnectionState;
|
|
17
|
+
frame: BrowserFrame | null;
|
|
18
|
+
attachment: Pick<BrowserSessionAttachment, "browserSessionId" | "controllerGeneration" | "targetId" | "expiresAt"> | null;
|
|
19
|
+
error: Error | null;
|
|
20
|
+
reconnect: () => void;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Reconnecting, latest-only BrowserSession media attachment. Direct placement
|
|
24
|
+
* grants travel as a WebSocket subprotocol; connected-machine grants stay in the
|
|
25
|
+
* relay's first authenticated binary message. Neither transport puts a grant in
|
|
26
|
+
* a URL, event, log, or separately exposed React state.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useBrowserFrameStream(options: UseBrowserFrameStreamOptions): UseBrowserFrameStreamResult;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BrowserIdentity, BrowserIdentityMutationResponse, BrowserRevisionListResponse, CreateBrowserIdentityRequest, PublishBrowserRevisionRequest, PublishBrowserRevisionResponse } from "@opengeni/sdk/interaction";
|
|
2
|
+
import type { EmbeddedBrowserInteractionClientLike } from "../client.js";
|
|
3
|
+
import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js";
|
|
4
|
+
export type UseBrowserIdentitiesOptions = EmbeddedBrowserInteractionClientOverride & {
|
|
5
|
+
enabled?: boolean | undefined;
|
|
6
|
+
};
|
|
7
|
+
export type UseBrowserIdentitiesResult = {
|
|
8
|
+
revision: number;
|
|
9
|
+
identities: BrowserIdentity[];
|
|
10
|
+
loading: boolean;
|
|
11
|
+
refreshing: boolean;
|
|
12
|
+
mutating: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
refresh: () => Promise<void>;
|
|
15
|
+
create: (request: Omit<CreateBrowserIdentityRequest, "operationId"> & {
|
|
16
|
+
operationId?: string;
|
|
17
|
+
}) => Promise<BrowserIdentityMutationResponse>;
|
|
18
|
+
revisions: (identityId: string) => Promise<BrowserRevisionListResponse>;
|
|
19
|
+
publish: (browserSessionId: string, request: Omit<PublishBrowserRevisionRequest, "operationId"> & {
|
|
20
|
+
operationId?: string;
|
|
21
|
+
}) => Promise<PublishBrowserRevisionResponse>;
|
|
22
|
+
};
|
|
23
|
+
/** Workspace browser-profile library and explicit immutable-version mutations. */
|
|
24
|
+
export declare function useBrowserIdentities(options?: UseBrowserIdentitiesOptions): UseBrowserIdentitiesResult;
|
|
25
|
+
/** Exported for narrow proxy implementations and tests. */
|
|
26
|
+
export type BrowserIdentitiesClient = EmbeddedBrowserInteractionClientLike;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BrowserAction, BrowserActionBatch, BrowserActionReceipt, BrowserDiagnosticBatch, BrowserDiagnosticsOptions, BrowserFrame, BrowserObservation, BrowserSession, BrowserTarget } from "@opengeni/sdk/interaction";
|
|
2
|
+
import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js";
|
|
3
|
+
export type UseBrowserSessionOptions = EmbeddedBrowserInteractionClientOverride & {
|
|
4
|
+
browserSessionId: string | null;
|
|
5
|
+
enabled?: boolean | undefined;
|
|
6
|
+
pollIntervalMs?: number | undefined;
|
|
7
|
+
};
|
|
8
|
+
export type UseBrowserSessionResult = {
|
|
9
|
+
session: BrowserSession | null;
|
|
10
|
+
targets: BrowserTarget[];
|
|
11
|
+
selectedTarget: BrowserTarget | null;
|
|
12
|
+
observation: BrowserObservation | null;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
mutating: boolean;
|
|
15
|
+
error: Error | null;
|
|
16
|
+
refresh: () => Promise<void>;
|
|
17
|
+
selectTarget: (targetId: string) => Promise<BrowserTarget>;
|
|
18
|
+
openTarget: (url?: string) => Promise<BrowserTarget>;
|
|
19
|
+
closeTarget: (targetId: string) => Promise<void>;
|
|
20
|
+
act: (action: BrowserAction | BrowserActionBatch, operationId?: string) => Promise<BrowserActionReceipt>;
|
|
21
|
+
/** Dispatch input against the exact image a human saw. Stale images fail at
|
|
22
|
+
* the controller fence instead of targeting a newer page. */
|
|
23
|
+
actFromFrame: (action: BrowserAction | BrowserActionBatch, frame: BrowserFrame, operationId?: string) => Promise<BrowserActionReceipt>;
|
|
24
|
+
diagnostics: (options?: BrowserDiagnosticsOptions) => Promise<BrowserDiagnosticBatch>;
|
|
25
|
+
};
|
|
26
|
+
/** Selected BrowserSession control state. All human actions use the same
|
|
27
|
+
* generation-fenced controller operation stream as agent actions. */
|
|
28
|
+
export declare function useBrowserSession(options: UseBrowserSessionOptions): UseBrowserSessionResult;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BrowserSession, BrowserSessionMutationResponse, CreateBrowserSessionRequest } from "@opengeni/sdk/interaction";
|
|
2
|
+
import type { EmbeddedBrowserInteractionClientLike } from "../client.js";
|
|
3
|
+
import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js";
|
|
4
|
+
export type UseBrowserSessionsOptions = EmbeddedBrowserInteractionClientOverride & {
|
|
5
|
+
/** Current agent/session relevance. Workspace peers remain in `sessions`. */
|
|
6
|
+
sessionId?: string | undefined;
|
|
7
|
+
enabled?: boolean | undefined;
|
|
8
|
+
/** Temporary invalidation path until the interaction event stream lands. */
|
|
9
|
+
pollIntervalMs?: number | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type UseBrowserSessionsResult = {
|
|
12
|
+
revision: number;
|
|
13
|
+
sessions: BrowserSession[];
|
|
14
|
+
relevantSessions: BrowserSession[];
|
|
15
|
+
loading: boolean;
|
|
16
|
+
refreshing: boolean;
|
|
17
|
+
error: Error | null;
|
|
18
|
+
refresh: () => Promise<void>;
|
|
19
|
+
create: (request: Omit<CreateBrowserSessionRequest, "operationId"> & {
|
|
20
|
+
operationId?: string;
|
|
21
|
+
}) => Promise<BrowserSessionMutationResponse>;
|
|
22
|
+
suspend: (browserSessionId: string, operationId?: string) => Promise<BrowserSessionMutationResponse>;
|
|
23
|
+
resume: (browserSessionId: string, operationId?: string) => Promise<BrowserSessionMutationResponse>;
|
|
24
|
+
end: (browserSessionId: string, operationId?: string) => Promise<BrowserSessionMutationResponse>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Workspace-wide BrowserSession registry. Associations rank relevance but never
|
|
28
|
+
* hide peer resources; no explicit share ceremony or per-view ownership exists.
|
|
29
|
+
*/
|
|
30
|
+
export declare function useBrowserSessions(options?: UseBrowserSessionsOptions): UseBrowserSessionsResult;
|
|
31
|
+
/** Exported for narrow proxy implementations and tests. */
|
|
32
|
+
export type BrowserSessionsClient = EmbeddedBrowserInteractionClientLike;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CodexAccount, CodexAccountsResponse, CodexRotationSettings, SessionEvent } from "@opengeni/sdk";
|
|
2
|
-
import { type ClientOverride } from "../provider";
|
|
3
|
-
import { type SessionEventFeedOptions } from "./internal";
|
|
2
|
+
import { type ClientOverride } from "../provider.js";
|
|
3
|
+
import { type SessionEventFeedOptions } from "./internal.js";
|
|
4
4
|
/** Events that change which Codex account a session runs on (or just ran). */
|
|
5
5
|
export declare function isCodexAccountEvent(event: Pick<SessionEvent, "type">): boolean;
|
|
6
6
|
/**
|