@opengeni/react 0.48.0 → 0.57.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/README.md +138 -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 +199 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/{chunk-NJ7M2B6Z.js → chunk-5UQPNLIO.js} +16 -8
- package/dist/{chunk-NJ7M2B6Z.js.map → chunk-5UQPNLIO.js.map} +1 -1
- package/dist/{chunk-LHLYWG5R.js → chunk-6KLX2RH5.js} +461 -38
- package/dist/chunk-6KLX2RH5.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-B6WPZSTT.js} +104 -104
- package/dist/{chunk-I4MPFDRP.js.map → chunk-B6WPZSTT.js.map} +1 -1
- package/dist/{chunk-EKZH6IDG.js → chunk-C5ZPSSS5.js} +111 -1
- package/dist/chunk-C5ZPSSS5.js.map +1 -0
- package/dist/{chunk-OL6QVXGF.js → chunk-HA46CYQK.js} +152 -8
- package/dist/chunk-HA46CYQK.js.map +1 -0
- package/dist/chunk-HUIKIDM5.js +2148 -0
- package/dist/chunk-HUIKIDM5.js.map +1 -0
- package/dist/{chunk-FWXGSNXT.js → chunk-IGC6A2ZI.js} +585 -34
- package/dist/chunk-IGC6A2ZI.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-LLOLUHVG.js +5937 -0
- package/dist/chunk-LLOLUHVG.js.map +1 -0
- package/dist/{chunk-WYA65Y3F.js → chunk-MKPIAGVL.js} +13 -3
- package/dist/chunk-MKPIAGVL.js.map +1 -0
- package/dist/chunk-PEI6RANI.js +3234 -0
- package/dist/chunk-PEI6RANI.js.map +1 -0
- package/dist/chunk-R3AZOAB5.js +933 -0
- package/dist/chunk-R3AZOAB5.js.map +1 -0
- package/dist/{chunk-O4VXOBGF.js → chunk-WSK7G5LE.js} +70 -2
- package/dist/chunk-WSK7G5LE.js.map +1 -0
- package/dist/{chunk-23EJ676W.js → chunk-XBZWOM2K.js} +9 -4
- package/dist/chunk-XBZWOM2K.js.map +1 -0
- package/dist/{chunk-XCNTXWBB.js → chunk-Y7OEDUJ5.js} +856 -338
- package/dist/chunk-Y7OEDUJ5.js.map +1 -0
- package/dist/client.d.ts +10 -2
- 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 +9 -0
- package/dist/components/artifacts/presentation-editor.d.ts +297 -0
- package/dist/components/artifacts/published-html-artifact-frame.d.ts +14 -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-input.d.ts +7 -0
- package/dist/components/browser-viewer.d.ts +30 -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 +24 -0
- package/dist/components/copy-button.d.ts +2 -2
- package/dist/components/desktop-viewer.d.ts +50 -22
- 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/interaction-intervention-banner.d.ts +11 -0
- 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 +24 -4
- package/dist/components/sandbox-workspace.d.ts +28 -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 +7 -7
- package/dist/hooks/internal.d.ts +1 -1
- package/dist/hooks/use-attached-browsers.d.ts +21 -0
- package/dist/hooks/use-auth-runs.d.ts +32 -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-downloads.d.ts +25 -0
- package/dist/hooks/use-browser-frame-stream.d.ts +28 -0
- package/dist/hooks/use-browser-identities.d.ts +30 -0
- package/dist/hooks/use-browser-session.d.ts +29 -0
- package/dist/hooks/use-browser-sessions.d.ts +32 -0
- package/dist/hooks/use-channels.d.ts +26 -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 +29 -0
- package/dist/hooks/use-computer-sessions.d.ts +28 -0
- package/dist/hooks/use-desktop-stream.d.ts +5 -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-interaction-interventions.d.ts +27 -0
- package/dist/hooks/use-interaction-invalidation.d.ts +19 -0
- 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-network-routes.d.ts +25 -0
- 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-site-auth-connections.d.ts +25 -0
- package/dist/hooks/use-slash-commands.d.ts +1 -1
- package/dist/hooks/use-supergrok-accounts.d.ts +26 -0
- package/dist/hooks/use-terminal-stream.d.ts +11 -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 +162 -155
- package/dist/index.js +1822 -1703
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +33 -0
- package/dist/interaction.js +550 -0
- package/dist/interaction.js.map +1 -0
- package/dist/interactive-workbench-viewers-TOHBXJEE.js +15 -0
- package/dist/interactive-workbench-viewers-TOHBXJEE.js.map +1 -0
- package/dist/lib/host-platform.d.ts +5 -0
- package/dist/lib/relay-wire.d.ts +24 -1
- 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 +2 -2
- package/dist/model-policy.d.ts +1 -1
- package/dist/model-policy.js +1 -1
- package/dist/provider.d.ts +6 -5
- 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 +8 -8
- package/dist/realtime.d.ts +4 -4
- package/dist/realtime.js +38 -11
- package/dist/realtime.js.map +1 -1
- package/dist/session-context.d.ts +28 -2
- 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 +10 -10
- 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 +44 -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 +89 -0
- package/src/client.ts +157 -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 +104 -0
- package/src/components/artifacts/presentation-editor.tsx +3148 -0
- package/src/components/artifacts/published-html-artifact-frame.tsx +38 -0
- package/src/components/artifacts/spreadsheet-canvas.ts +799 -0
- package/src/components/artifacts/spreadsheet-grid.tsx +2129 -0
- package/src/components/browser-input.ts +65 -0
- package/src/components/browser-viewer.tsx +2702 -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 +1636 -0
- package/src/components/desktop-viewer.tsx +215 -74
- package/src/components/generated-video-player.tsx +89 -0
- package/src/components/interaction-intervention-banner.tsx +99 -0
- package/src/components/interactive-workbench-viewers.ts +2 -0
- package/src/components/machine-input-display.ts +3 -0
- package/src/components/machines/machine-detail.tsx +1 -1
- package/src/components/message-timeline.tsx +289 -32
- package/src/components/model-policy-picker.tsx +15 -0
- package/src/components/queue-surface-implementation.tsx +116 -60
- package/src/components/sandbox-files.tsx +2 -2
- package/src/components/sandbox-terminal.tsx +128 -46
- package/src/components/sandbox-workspace.tsx +256 -90
- 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/components/workspace-dock.tsx +59 -5
- package/src/hooks/use-attached-browsers.ts +154 -0
- package/src/hooks/use-auth-runs.ts +278 -0
- package/src/hooks/use-browser-downloads.ts +218 -0
- package/src/hooks/use-browser-frame-stream.ts +425 -0
- package/src/hooks/use-browser-identities.ts +266 -0
- package/src/hooks/use-browser-session.ts +543 -0
- package/src/hooks/use-browser-sessions.ts +286 -0
- package/src/hooks/use-channels.ts +99 -0
- package/src/hooks/use-composer.ts +769 -24
- package/src/hooks/use-computer-frame-stream.ts +434 -0
- package/src/hooks/use-computer-session.ts +462 -0
- package/src/hooks/use-computer-sessions.ts +251 -0
- package/src/hooks/use-desktop-stream.ts +39 -7
- package/src/hooks/use-interaction-interventions.ts +242 -0
- package/src/hooks/use-interaction-invalidation.ts +66 -0
- package/src/hooks/use-machine-chip.ts +15 -3
- package/src/hooks/use-machines.ts +33 -3
- package/src/hooks/use-network-routes.ts +214 -0
- 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-site-auth-connections.ts +226 -0
- package/src/hooks/use-supergrok-accounts.ts +81 -0
- package/src/hooks/use-terminal-stream.ts +359 -47
- package/src/hooks/use-video-artifact-playback.ts +28 -0
- package/src/hooks/use-workspace-edit.ts +2 -1
- package/src/index.ts +18 -0
- package/src/interaction.ts +101 -0
- package/src/lib/host-platform.ts +10 -0
- package/src/lib/relay-wire.ts +47 -4
- package/src/lib/sandbox-liveness.ts +11 -0
- package/src/lib/terminal-capability.ts +10 -0
- package/src/model-policy.ts +19 -4
- package/src/provider.tsx +133 -1
- package/src/realtime/realtime-control.tsx +34 -6
- package/src/session-context.ts +156 -1
- package/src/timeline/activity-rail.tsx +25 -3
- package/src/timeline/index.ts +3 -0
- package/src/timeline/parsers.ts +14 -1
- package/src/timeline/projection.ts +269 -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 +57 -3
- package/styles/compiled.css +312 -21
- package/styles/index.css +15 -0
- package/styles/responsive.css +13 -1
- package/dist/chunk-23EJ676W.js.map +0 -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-OL6QVXGF.js.map +0 -1
- package/dist/chunk-WYA65Y3F.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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClientVoiceInputConfig, OpenGeniClient, TranscriptionAdapter, WorkspaceTranscriptionPolicy } from "@opengeni/sdk";
|
|
2
|
-
import type { VoiceRecordingStore } from "../voice-recording-store";
|
|
2
|
+
import type { VoiceRecordingStore } from "../voice-recording-store.js";
|
|
3
3
|
export type ComposerTranscriptionMessages = {
|
|
4
4
|
start: string;
|
|
5
5
|
stop: string;
|
|
@@ -50,4 +50,4 @@ export type ComposerTranscriptionControlProps = {
|
|
|
50
50
|
suppressed?: boolean | undefined;
|
|
51
51
|
};
|
|
52
52
|
/** One provider-neutral microphone control for the nearest editable composer. */
|
|
53
|
-
export declare function ComposerTranscriptionControl({ client, workspaceId, capability, workspaceEnabled, messages: overrides, className, createRecordingStore, createOwnerId, suppressed, }: ComposerTranscriptionControlProps): import("react
|
|
53
|
+
export declare function ComposerTranscriptionControl({ client, workspaceId, capability, workspaceEnabled, messages: overrides, className, createRecordingStore, createOwnerId, suppressed, }: ComposerTranscriptionControlProps): import("react").JSX.Element;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ClientModel, EffectiveSessionControl } from "@opengeni/sdk";
|
|
2
2
|
import { type ButtonHTMLAttributes, type ChangeEvent, type ClipboardEvent, type ComponentPropsWithoutRef, type DragEvent, type KeyboardEvent, type ReactNode, type RefObject } from "react";
|
|
3
|
-
import type { Notice, SlashCommand } from "../commands/types";
|
|
4
|
-
import type { ComposerState } from "../hooks/use-composer";
|
|
5
|
-
import type { UseFileAttachmentsResult } from "../hooks/use-file-attachments";
|
|
6
|
-
import { type ConfirmState, type SlashCommandContext } from "../hooks/use-slash-commands";
|
|
7
|
-
import { type ResponsiveBasis } from "../lib/composer-responsive-context";
|
|
8
|
-
import type { PickerModelRow } from "../model-policy";
|
|
9
|
-
import { OPEN_WORKSTREAM_CONTROL_EVENT } from "../workstream-control-event";
|
|
3
|
+
import type { Notice, SlashCommand } from "../commands/types.js";
|
|
4
|
+
import type { ComposerState } from "../hooks/use-composer.js";
|
|
5
|
+
import type { UseFileAttachmentsResult } from "../hooks/use-file-attachments.js";
|
|
6
|
+
import { type ConfirmState, type SlashCommandContext } from "../hooks/use-slash-commands.js";
|
|
7
|
+
import { type ResponsiveBasis } from "../lib/composer-responsive-context.js";
|
|
8
|
+
import type { PickerModelRow } from "../model-policy.js";
|
|
9
|
+
import { OPEN_WORKSTREAM_CONTROL_EVENT } from "../workstream-control-event.js";
|
|
10
10
|
export { OPEN_WORKSTREAM_CONTROL_EVENT };
|
|
11
|
-
export type { ResponsiveBasis } from "../lib/composer-responsive-context";
|
|
11
|
+
export type { ResponsiveBasis } from "../lib/composer-responsive-context.js";
|
|
12
12
|
export type ComposerDelivery = Pick<ComposerState, "value" | "setValue" | "send" | "steer" | "sending" | "canSend" | "error" | "clearError">;
|
|
13
13
|
export type ComposerDraftState = Pick<ComposerState, "draftConflict" | "draftSaving" | "resolveDraftConflict" | "restoredResources" | "removeRestoredResource">;
|
|
14
14
|
export type ComposerControlState = Pick<ComposerState, "pause" | "pausing" | "resume" | "resumeScope" | "resuming">;
|
|
@@ -203,7 +203,7 @@ export declare function useChatComposerController({ delivery, draft, control, ef
|
|
|
203
203
|
handleDragOver: (event: DragEvent<HTMLDivElement>) => void;
|
|
204
204
|
handleDragLeave: (event: DragEvent<HTMLDivElement>) => void;
|
|
205
205
|
handleDrop: (event: DragEvent<HTMLDivElement>) => void;
|
|
206
|
-
palette: import("
|
|
206
|
+
palette: import("../index.js").UseSlashCommandsResult;
|
|
207
207
|
paletteEnabled: boolean;
|
|
208
208
|
commandDraftBlocked: boolean;
|
|
209
209
|
confirmState: ConfirmState;
|
|
@@ -251,17 +251,17 @@ export declare const Frame: import("react").ForwardRefExoticComponent<Omit<impor
|
|
|
251
251
|
export type ComposerCommandPaletteProps = {
|
|
252
252
|
className?: string | undefined;
|
|
253
253
|
};
|
|
254
|
-
export declare function CommandPalette({ className }: ComposerCommandPaletteProps): import("react
|
|
254
|
+
export declare function CommandPalette({ className }: ComposerCommandPaletteProps): import("react").JSX.Element | null;
|
|
255
255
|
type OwnedSurfaceProps = "onDragOver" | "onDragLeave" | "onDrop";
|
|
256
256
|
export type ComposerSurfaceProps = Omit<ComponentPropsWithoutRef<"div">, OwnedSurfaceProps>;
|
|
257
257
|
export declare const Surface: import("react").ForwardRefExoticComponent<ComposerSurfaceProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
258
|
-
export declare function PausedState(): import("react
|
|
259
|
-
export declare function RestoredResources(): import("react
|
|
260
|
-
export declare function Attachments(): import("react
|
|
258
|
+
export declare function PausedState(): import("react").JSX.Element | null;
|
|
259
|
+
export declare function RestoredResources(): import("react").JSX.Element | null;
|
|
260
|
+
export declare function Attachments(): import("react").JSX.Element | null;
|
|
261
261
|
type OwnedInputProps = "value" | "defaultValue" | "onChange" | "onKeyDown" | "onPaste" | "disabled" | "aria-autocomplete" | "aria-controls" | "aria-activedescendant" | "aria-keyshortcuts";
|
|
262
262
|
export type ComposerInputProps = Omit<ComponentPropsWithoutRef<"textarea">, OwnedInputProps>;
|
|
263
263
|
export declare const Input: import("react").ForwardRefExoticComponent<ComposerInputProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
264
|
-
export declare function Confirmation(): import("react
|
|
264
|
+
export declare function Confirmation(): import("react").JSX.Element | null;
|
|
265
265
|
export type ComposerFooterProps = ComponentPropsWithoutRef<"div">;
|
|
266
266
|
export declare const Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
267
267
|
export type ComposerControlsProps = ComponentPropsWithoutRef<"span">;
|
|
@@ -290,10 +290,10 @@ export type ComposerModelPickerProps = {
|
|
|
290
290
|
/** Filter to Codex models for remote_v2-locked sessions. */
|
|
291
291
|
codexOnly?: boolean | undefined;
|
|
292
292
|
};
|
|
293
|
-
export declare function ModelPicker({ models, rows, value, onChange, label, className, codexOnly, }: ComposerModelPickerProps): import("react
|
|
293
|
+
export declare function ModelPicker({ models, rows, value, onChange, label, className, codexOnly, }: ComposerModelPickerProps): import("react").JSX.Element;
|
|
294
294
|
export type ComposerPauseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
|
|
295
295
|
export declare const PauseButton: import("react").ForwardRefExoticComponent<ComposerPauseButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
296
296
|
export type ComposerSendButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
|
|
297
297
|
export declare const SendButton: import("react").ForwardRefExoticComponent<ComposerSendButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
298
|
-
export declare function Help(): import("react
|
|
299
|
-
export declare function Status(): import("react
|
|
298
|
+
export declare function Help(): import("react").JSX.Element;
|
|
299
|
+
export declare function Status(): import("react").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type KeyboardEvent, type ReactNode } from "react";
|
|
2
|
+
import { type ComputerFrameWebSocketFactory } from "../hooks/use-computer-frame-stream.js";
|
|
3
|
+
import type { EmbeddedComputerInteractionClientOverride } from "../session-context.js";
|
|
4
|
+
export type ComputerViewerNotification = {
|
|
5
|
+
kind: "error" | "info";
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
export type ComputerViewerProps = EmbeddedComputerInteractionClientOverride & {
|
|
9
|
+
/** Selected OpenGeni agent/session. Peer ComputerSessions remain visible. */
|
|
10
|
+
sessionId: string;
|
|
11
|
+
enabled?: boolean | undefined;
|
|
12
|
+
className?: string | undefined;
|
|
13
|
+
onNotify?: ((notification: ComputerViewerNotification) => void) | undefined;
|
|
14
|
+
/** Tests/demos only. Production uses the browser's native WebSocket. */
|
|
15
|
+
webSocketFactory?: ComputerFrameWebSocketFactory | undefined;
|
|
16
|
+
renderEmpty?: ((create: () => void, creating: boolean) => ReactNode) | undefined;
|
|
17
|
+
/** Host navigation request for one exact ComputerSession. */
|
|
18
|
+
requestedComputerSessionId?: string | null | undefined;
|
|
19
|
+
requestedComputerRequestId?: string | number | null | undefined;
|
|
20
|
+
};
|
|
21
|
+
/** Full ComputerSession surface: workspace discovery, peer switching, app/window/
|
|
22
|
+
* screen navigation, semantic controls, exact-frame input, and live media. */
|
|
23
|
+
export declare function ComputerViewer({ sessionId, enabled, className, onNotify, webSocketFactory, renderEmpty, requestedComputerSessionId, requestedComputerRequestId, ...override }: ComputerViewerProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
|
|
24
|
+
export declare function computerKey(event: Pick<KeyboardEvent<HTMLTextAreaElement>, "altKey" | "ctrlKey" | "key" | "metaKey" | "shiftKey">): string | null;
|
|
@@ -15,7 +15,7 @@ export type CopyButtonProps = {
|
|
|
15
15
|
* Ghost icon copy control — no chrome box, no "Copy code" label.
|
|
16
16
|
* Copy → check flash. Hover-reveal via `group/copy` on a parent.
|
|
17
17
|
*/
|
|
18
|
-
export declare function CopyButton({ text, label, className, reveal, }: CopyButtonProps): import("react
|
|
18
|
+
export declare function CopyButton({ text, label, className, reveal, }: CopyButtonProps): import("react").JSX.Element;
|
|
19
19
|
/** Hover-reveal chrome around a message / turn so {@link CopyButton} can fade in. */
|
|
20
20
|
export declare function CopyHoverFrame({ children, className, copyText, label, align, trailing, }: {
|
|
21
21
|
children: ReactNode;
|
|
@@ -25,4 +25,4 @@ export declare function CopyHoverFrame({ children, className, copyText, label, a
|
|
|
25
25
|
align?: "start" | "end" | undefined;
|
|
26
26
|
/** Optional footer meta (e.g. sent/finished clock) — immediately after the copy control. */
|
|
27
27
|
trailing?: ReactNode | undefined;
|
|
28
|
-
}): import("react
|
|
28
|
+
}): import("react").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CapabilityUnavailableReason, DesktopRfbFactory, DesktopStreamCapability } from "@opengeni/sdk";
|
|
2
|
-
import { type ReactNode } from "react";
|
|
3
|
-
import type
|
|
2
|
+
import { type KeyboardEvent as ReactKeyboardEvent, type ReactNode } from "react";
|
|
3
|
+
import { type InteractionHostPlatform } from "../lib/host-platform.js";
|
|
4
|
+
import type { DesktopWebSocketFactory } from "../hooks/use-relay-frame-stream.js";
|
|
4
5
|
export type DesktopViewerProps = {
|
|
5
6
|
/** The desktop cell of the negotiated capabilities (`capabilities.DesktopStream`). */
|
|
6
7
|
capability: DesktopStreamCapability | null;
|
|
@@ -16,26 +17,43 @@ export type DesktopViewerProps = {
|
|
|
16
17
|
scaleViewport?: boolean | undefined;
|
|
17
18
|
/** Custom RFB factory (tests / a WebRTC swap). Defaults to lazy @novnc/novnc. */
|
|
18
19
|
rfbFactory?: DesktopRfbFactory | undefined;
|
|
20
|
+
/** Authenticated controller protocols for proxied RFB transports. */
|
|
21
|
+
webSocketProtocols?: string[] | undefined;
|
|
19
22
|
/** Custom socket factory for the self-hosted `relay-frames` transport (tests).
|
|
20
23
|
* Defaults to `new WebSocket(url)`. Mirrors `rfbFactory`. */
|
|
21
24
|
webSocketFactory?: DesktopWebSocketFactory | undefined;
|
|
22
25
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* Optional host-owned paste path. ComputerSession hosts use their native,
|
|
27
|
+
* target-scoped clipboard action instead of relying on an RFB server to sync
|
|
28
|
+
* ClientCutText into the graphical seat. Return true once the host accepted
|
|
29
|
+
* the text. Without a host authority the viewer leaves paste untouched rather
|
|
30
|
+
* than claiming success for an unreliable display-server clipboard heuristic.
|
|
31
|
+
*/
|
|
32
|
+
onPasteText?: ((text: string) => boolean) | undefined;
|
|
33
|
+
/** OS behind the RFB seat. Used only to translate the host's primary shortcut
|
|
34
|
+
* (Cmd on macOS, Ctrl elsewhere) to the target's primary modifier. */
|
|
35
|
+
targetPlatform?: "linux" | "macos" | "windows" | null | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Desktop acknowledgment is automatic. Retained as an ignored
|
|
38
|
+
* compatibility prop so existing embedders keep compiling.
|
|
28
39
|
*/
|
|
29
40
|
renderConsentGate?: ((onAccept: () => void, shared: boolean) => ReactNode) | undefined;
|
|
30
|
-
/** Called when the default consent gate's accept button is pressed. */
|
|
31
|
-
onAcknowledge?: (() => void) | undefined;
|
|
32
41
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*
|
|
42
|
+
* Called once when the viewer mounts. Hosts use this to engage the desktop
|
|
43
|
+
* holder immediately when the Desktop tab opens.
|
|
44
|
+
*/
|
|
45
|
+
onActivate?: (() => void) | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Called automatically when the server requires acknowledgment of the
|
|
48
|
+
* un-redacted (and possibly shared) pixel plane. The viewer shows its ordinary
|
|
49
|
+
* opening state while this completes; no click-through gate is rendered.
|
|
50
|
+
*/
|
|
51
|
+
onAcknowledge?: (() => void | Promise<void>) | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the host has the viewer attach engaged. Drives the cold-state
|
|
54
|
+
* behaviour: when watching, a cold-but-warmable lease AUTO-WARMS (and re-warms
|
|
55
|
+
* when the box drains) instead of dead-ending. Mounting the viewer counts as
|
|
56
|
+
* watching when this is omitted.
|
|
39
57
|
*/
|
|
40
58
|
watching?: boolean | undefined;
|
|
41
59
|
/**
|
|
@@ -43,8 +61,7 @@ export type DesktopViewerProps = {
|
|
|
43
61
|
* already been recorded — only the box drained). The host wires this to
|
|
44
62
|
* "engage the viewer attach + re-negotiate". Called automatically when a
|
|
45
63
|
* watched desktop is found cold-but-warmable, and behind the manual retry on
|
|
46
|
-
* the warming notice. Distinct from
|
|
47
|
-
* consent-bearing warm.
|
|
64
|
+
* the warming notice. Distinct from the automatic acknowledgment request.
|
|
48
65
|
*/
|
|
49
66
|
onWarm?: (() => void) | undefined;
|
|
50
67
|
/** Shown when transport is null (headless backend / degraded / disabled). */
|
|
@@ -77,9 +94,20 @@ export type DesktopViewerProps = {
|
|
|
77
94
|
* reason).
|
|
78
95
|
*
|
|
79
96
|
* Warming: a cold-but-warmable lease (`reason: "lease_cold"`) is NOT a dead end.
|
|
80
|
-
* When the
|
|
81
|
-
*
|
|
82
|
-
* cold it re-warms.
|
|
83
|
-
* keep a clear,
|
|
97
|
+
* When the viewer is mounted, it asks the host to engage the desktop and records
|
|
98
|
+
* any required acknowledgment automatically. A cold-but-warmable box then
|
|
99
|
+
* (re)warms through `onWarm`; if it later drains to cold it re-warms.
|
|
100
|
+
* Genuinely-unavailable surfaces (headless/policy/os/backend) keep a clear,
|
|
101
|
+
* static unavailable notice.
|
|
84
102
|
*/
|
|
85
|
-
export declare function DesktopViewer({ capability, interactive, showControlToggle, scaleViewport, rfbFactory, webSocketFactory,
|
|
103
|
+
export declare function DesktopViewer({ capability, interactive, showControlToggle, scaleViewport, rfbFactory, webSocketProtocols, webSocketFactory, onPasteText, targetPlatform, onActivate, onAcknowledge, watching, onWarm, renderUnavailable, renderWarming, renderViewerCap, viewerCapReached, connectTimeoutMs, className, }: DesktopViewerProps): import("react").JSX.Element;
|
|
104
|
+
type RfbKeyEvent = {
|
|
105
|
+
keysym: number;
|
|
106
|
+
code: string;
|
|
107
|
+
down: boolean;
|
|
108
|
+
};
|
|
109
|
+
/** Translate one host-primary chord into deterministic RFB events for the
|
|
110
|
+
* target OS. noVNC otherwise treats a Mac Command key as remote Alt, which
|
|
111
|
+
* makes ordinary Cmd+A/Z shortcuts silently wrong on Linux sandboxes. */
|
|
112
|
+
export declare function desktopPrimaryShortcut(event: Pick<ReactKeyboardEvent<HTMLDivElement>, "altKey" | "ctrlKey" | "key" | "metaKey" | "shiftKey" | "code">, hostPlatform: InteractionHostPlatform, targetPlatform: "linux" | "macos" | "windows"): RfbKeyEvent[] | "clipboard" | null;
|
|
113
|
+
export {};
|
|
@@ -35,4 +35,4 @@ export type DiffViewProps = {
|
|
|
35
35
|
* (Shiki-highlighted, unified/split) with a plain-text fallback for a host
|
|
36
36
|
* without `@pierre/diffs`. Removed next major.
|
|
37
37
|
*/
|
|
38
|
-
export declare function DiffView({ diff, fallback, layout, themeType, isRepo, emptyState, className, }: DiffViewProps): import("react
|
|
38
|
+
export declare function DiffView({ diff, fallback, layout, themeType, isRepo, emptyState, className, }: DiffViewProps): import("react").JSX.Element;
|
|
@@ -30,4 +30,4 @@ export type EnrollmentConsentProps = {
|
|
|
30
30
|
* The danger framing is deliberate (§18 hardening: whole-machine = loud consent),
|
|
31
31
|
* never buried. Renders review / approving / approved / denied / error phases.
|
|
32
32
|
*/
|
|
33
|
-
export declare function EnrollmentConsent({ userCode, machine, phase, onApprove, onDeny, errorMessage, className, }: EnrollmentConsentProps): import("react
|
|
33
|
+
export declare function EnrollmentConsent({ userCode, machine, phase, onApprove, onDeny, errorMessage, className, }: EnrollmentConsentProps): import("react").JSX.Element;
|
|
@@ -24,4 +24,4 @@ export type EnrollmentDeviceFlowProps = {
|
|
|
24
24
|
* pending → authorized/denied/expired progression with a connection pill. This is
|
|
25
25
|
* the FIRST step of the IA flow (device-flow → Machines list → attach/swap).
|
|
26
26
|
*/
|
|
27
|
-
export declare function EnrollmentDeviceFlow({ userCode, verificationUri, verificationUriComplete, installCommand, phase, expiresInSeconds, onCopyCode, onCopyInstall, onOpenVerification, className, }: EnrollmentDeviceFlowProps): import("react
|
|
27
|
+
export declare function EnrollmentDeviceFlow({ userCode, verificationUri, verificationUriComplete, installCommand, phase, expiresInSeconds, onCopyCode, onCopyInstall, onOpenVerification, className, }: EnrollmentDeviceFlowProps): import("react").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import type { FileTreeNode, UseSandboxFilesResult } from "../hooks/use-sandbox-files";
|
|
2
|
+
import type { FileTreeNode, UseSandboxFilesResult } from "../hooks/use-sandbox-files.js";
|
|
3
3
|
export type FileBrowserProps = {
|
|
4
4
|
/** From `useSandboxFiles(...)`. */
|
|
5
5
|
result: UseSandboxFilesResult;
|
|
@@ -44,4 +44,4 @@ export type FileBrowserProps = {
|
|
|
44
44
|
* `renderNode` is still honoured as the Pierre-swap escape hatch for the row
|
|
45
45
|
* chrome; the manager scaffolding (toolbar, dnd, menu, inline inputs) wraps it.
|
|
46
46
|
*/
|
|
47
|
-
export declare function FileBrowser({ result, fallback, onSelectFile, selectedPath, renderNode, emptyState, editable, confirmDelete, className, }: FileBrowserProps): import("react
|
|
47
|
+
export declare function FileBrowser({ result, fallback, onSelectFile, selectedPath, renderNode, emptyState, editable, confirmDelete, className, }: FileBrowserProps): import("react").JSX.Element;
|
|
@@ -15,4 +15,4 @@ export declare function sessionDisplayTitle(session: Session): string;
|
|
|
15
15
|
* recency — dense but calm. Running sessions carry a breathing status dot
|
|
16
16
|
* and a faint accent edge so the live ones read at a glance.
|
|
17
17
|
*/
|
|
18
|
-
export declare function FleetTile({ session, title, subtitle, onOpen, className }: FleetTileProps): import("react
|
|
18
|
+
export declare function FleetTile({ session, title, subtitle, onOpen, className }: FleetTileProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GeneratedVideoReceipt } from "@opengeni/sdk";
|
|
2
|
+
import type { VideoArtifactPlaybackLoader } from "../timeline/index.js";
|
|
3
|
+
export type GeneratedVideoPlayerProps = {
|
|
4
|
+
receipt: GeneratedVideoReceipt;
|
|
5
|
+
loadPlaybackSource: VideoArtifactPlaybackLoader;
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
label?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
/** Native, Range-based playback. Video bytes never pass through React or the SDK heap. */
|
|
10
|
+
export declare function GeneratedVideoPlayer({ receipt, loadPlaybackSource, className, label, }: GeneratedVideoPlayerProps): import("react").JSX.Element;
|
|
@@ -50,7 +50,7 @@ export type HumanInputFormProps = {
|
|
|
50
50
|
* options, sticky ask/submit chrome. Hosts can replace title/description or
|
|
51
51
|
* use `useHumanInputRequests` headlessly.
|
|
52
52
|
*/
|
|
53
|
-
export declare function HumanInputForm({ request, onSubmit, submitting, error, title, description, progressLabel, submitLabel, skipLabel, messages: messageOverrides, autoFocus, defaultCollapsed, className, }: HumanInputFormProps): import("react
|
|
53
|
+
export declare function HumanInputForm({ request, onSubmit, submitting, error, title, description, progressLabel, submitLabel, skipLabel, messages: messageOverrides, autoFocus, defaultCollapsed, className, }: HumanInputFormProps): import("react").JSX.Element;
|
|
54
54
|
export declare function answersFromDrafts(questions: HumanInputQuestion[], drafts: Record<string, HumanInputAnswerDraft>, messageOverrides?: Partial<HumanInputFormMessages>): {
|
|
55
55
|
answers: HumanInputAnswer[];
|
|
56
56
|
errors: Record<string, string>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
|
|
2
|
-
import { type HumanInputFormMessages } from "./human-input-form";
|
|
2
|
+
import { type HumanInputFormMessages } from "./human-input-form.js";
|
|
3
3
|
export type HumanInputSurfaceProps = {
|
|
4
4
|
requests: SessionHumanInputRequest[];
|
|
5
5
|
onSubmit: (requestId: string, response: SubmitHumanInputResponseRequest) => void | Promise<void>;
|
|
@@ -16,4 +16,4 @@ export type HumanInputSurfaceProps = {
|
|
|
16
16
|
* settles the active request and the next remaining set advances automatically
|
|
17
17
|
* when the authoritative pending list updates.
|
|
18
18
|
*/
|
|
19
|
-
export declare function HumanInputSurface({ requests, onSubmit, respondingRequestId, error, messages, className, autoFocus, }: HumanInputSurfaceProps): import("react
|
|
19
|
+
export declare function HumanInputSurface({ requests, onSubmit, respondingRequestId, error, messages, className, autoFocus, }: HumanInputSurfaceProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InteractionIntervention } from "@opengeni/sdk/interaction";
|
|
2
|
+
export type InteractionInterventionBannerProps = {
|
|
3
|
+
interventions: InteractionIntervention[];
|
|
4
|
+
activeTargetId?: string | null | undefined;
|
|
5
|
+
mutating?: boolean | undefined;
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
onOpen?: ((intervention: InteractionIntervention) => void) | undefined;
|
|
8
|
+
onResolve: (intervention: InteractionIntervention, outcome: "completed" | "dismissed") => void;
|
|
9
|
+
};
|
|
10
|
+
/** Compact durable human-action prompt shared by Browser and Computer viewers. */
|
|
11
|
+
export declare function InteractionInterventionBanner({ interventions, activeTargetId, mutating, className, onOpen, onResolve, }: InteractionInterventionBannerProps): import("react").JSX.Element | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineView, MetricSample } from "../types/machines";
|
|
1
|
+
import type { MachineView, MetricSample } from "../types/machines.js";
|
|
2
2
|
export type MachineCardProps = {
|
|
3
3
|
machine: MachineView;
|
|
4
4
|
/** Attach/swap the session's active sandbox to this machine. */
|
|
@@ -18,4 +18,4 @@ export type MachineCardProps = {
|
|
|
18
18
|
* freshness, and attach/swap. The whole card opens the telemetry detail when
|
|
19
19
|
* `onOpenDetail` is wired. The session's active sandbox carries an accent edge.
|
|
20
20
|
*/
|
|
21
|
-
export declare function MachineCard({ machine, onAttach, attaching, series, onOpenDetail, now, className, }: MachineCardProps): import("react
|
|
21
|
+
export declare function MachineCard({ machine, onAttach, attaching, series, onOpenDetail, now, className, }: MachineCardProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineKind, MachineState } from "../types/machines";
|
|
1
|
+
import type { MachineKind, MachineState } from "../types/machines.js";
|
|
2
2
|
export type MachineDockBarProps = {
|
|
3
3
|
/** The active machine's display name. */
|
|
4
4
|
name: string;
|
|
@@ -16,7 +16,7 @@ export type MachineDockBarProps = {
|
|
|
16
16
|
* render IDENTICALLY regardless of backend — this bar is the only backend-aware
|
|
17
17
|
* chrome (the dock-parity contract: selfhosted == Modal for the surfaces).
|
|
18
18
|
*/
|
|
19
|
-
export declare function MachineDockBar({ name, kind, state, className }: MachineDockBarProps): import("react
|
|
19
|
+
export declare function MachineDockBar({ name, kind, state, className }: MachineDockBarProps): import("react").JSX.Element;
|
|
20
20
|
export type SharedMachineDisclosureProps = {
|
|
21
21
|
sharedSessionCount: number;
|
|
22
22
|
/** Compact (inline strip) vs full (a notice block). */
|
|
@@ -28,4 +28,4 @@ export type SharedMachineDisclosureProps = {
|
|
|
28
28
|
* dock (and reused on the desktop take-control gate) so the user knows others are
|
|
29
29
|
* driving the same whole-machine lease. Render when `sharedSessionCount > 1`.
|
|
30
30
|
*/
|
|
31
|
-
export declare function SharedMachineDisclosure({ sharedSessionCount, density, className, }: SharedMachineDisclosureProps): import("react
|
|
31
|
+
export declare function SharedMachineDisclosure({ sharedSessionCount, density, className, }: SharedMachineDisclosureProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineState, MetricSample } from "../types/machines";
|
|
1
|
+
import type { MachineState, MetricSample } from "../types/machines.js";
|
|
2
2
|
export type MachineHealthPillProps = {
|
|
3
3
|
state: MachineState;
|
|
4
4
|
metrics: MetricSample | null;
|
|
@@ -6,4 +6,4 @@ export type MachineHealthPillProps = {
|
|
|
6
6
|
size?: "sm" | "md" | undefined;
|
|
7
7
|
className?: string | undefined;
|
|
8
8
|
};
|
|
9
|
-
export declare function MachineHealthPill({ state, metrics, now, size, className, }: MachineHealthPillProps): import("react
|
|
9
|
+
export declare function MachineHealthPill({ state, metrics, now, size, className, }: MachineHealthPillProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineInputMember } from "../timeline/types";
|
|
1
|
+
import type { MachineInputMember } from "../timeline/types.js";
|
|
2
2
|
export declare const MACHINE_INPUT_META: Record<MachineInputMember["kind"], string>;
|
|
3
3
|
/**
|
|
4
4
|
* Collapsed landmark label for a coalesced machine-input batch.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MetricSample } from "../types/machines";
|
|
1
|
+
import type { MetricSample } from "../types/machines.js";
|
|
2
2
|
export type MachineMetricsProps = {
|
|
3
3
|
/** The latest metric sample, or null when the machine hasn't reported yet. */
|
|
4
4
|
metrics: MetricSample | null;
|
|
@@ -12,4 +12,4 @@ export type MachineMetricsProps = {
|
|
|
12
12
|
* null the panel shows a quiet "no samples yet" placeholder (offline / just
|
|
13
13
|
* enrolled). GPU rows only render when `gpuUtilPct` is non-null.
|
|
14
14
|
*/
|
|
15
|
-
export declare function MachineMetrics({ metrics, density, className }: MachineMetricsProps): import("react
|
|
15
|
+
export declare function MachineMetrics({ metrics, density, className }: MachineMetricsProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ConnectionStatus, type MachineState } from "../types/machines";
|
|
1
|
+
import { type ConnectionStatus, type MachineState } from "../types/machines.js";
|
|
2
2
|
export type ConnectionStatusMeta = {
|
|
3
3
|
label: string;
|
|
4
4
|
dotClassName: string;
|
|
@@ -30,13 +30,13 @@ export type ConnectionStatusPillProps = {
|
|
|
30
30
|
* the Machines dashboard, the dock header, and the session timeline. Reconnecting
|
|
31
31
|
* breathes (the resiliency-as-headline blip), online/offline hold still.
|
|
32
32
|
*/
|
|
33
|
-
export declare function ConnectionStatusPill({ status, label, size, className, }: ConnectionStatusPillProps): import("react
|
|
33
|
+
export declare function ConnectionStatusPill({ status, label, size, className, }: ConnectionStatusPillProps): import("react").JSX.Element;
|
|
34
34
|
export type ConnectionDotProps = {
|
|
35
35
|
status: ConnectionStatus;
|
|
36
36
|
className?: string | undefined;
|
|
37
37
|
};
|
|
38
38
|
/** Just the dot — for dense rows, the dock header, and timeline notices. */
|
|
39
|
-
export declare function ConnectionDot({ status, className }: ConnectionDotProps): import("react
|
|
39
|
+
export declare function ConnectionDot({ status, className }: ConnectionDotProps): import("react").JSX.Element;
|
|
40
40
|
export type MachineStatusPillProps = {
|
|
41
41
|
/** The machine's full state — drives the connection pill + any state badge. */
|
|
42
42
|
state: MachineState;
|
|
@@ -51,4 +51,4 @@ export type MachineStatusPillProps = {
|
|
|
51
51
|
* dashboard row, the dock header, and the timeline all reuse so the status
|
|
52
52
|
* language is identical everywhere.
|
|
53
53
|
*/
|
|
54
|
-
export declare function MachineStatusPill({ state, sharedSessionCount, size, className, }: MachineStatusPillProps): import("react
|
|
54
|
+
export declare function MachineStatusPill({ state, sharedSessionCount, size, className, }: MachineStatusPillProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineState, MetricSample } from "../../types/machines";
|
|
1
|
+
import type { MachineState, MetricSample } from "../../types/machines.js";
|
|
2
2
|
export type HealthLevel = "healthy" | "degraded" | "critical" | "offline" | "unknown";
|
|
3
3
|
export type HealthVerdict = {
|
|
4
4
|
level: HealthLevel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MachineView, MetricSample } from "../../types/machines";
|
|
2
|
-
import { type MetricWindow } from "./series";
|
|
1
|
+
import type { MachineView, MetricSample } from "../../types/machines.js";
|
|
2
|
+
import { type MetricWindow } from "./series.js";
|
|
3
3
|
export type MachineDetailProps = {
|
|
4
4
|
machine: MachineView;
|
|
5
5
|
/** Downsampled history for the active window (from `fetchSeries`). */
|
|
@@ -13,4 +13,4 @@ export type MachineDetailProps = {
|
|
|
13
13
|
now?: number | undefined;
|
|
14
14
|
className?: string | undefined;
|
|
15
15
|
};
|
|
16
|
-
export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, now, className, }: MachineDetailProps): import("react
|
|
16
|
+
export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, now, className, }: MachineDetailProps): import("react").JSX.Element;
|
|
@@ -21,4 +21,4 @@ export type MetricHistoryChartProps = {
|
|
|
21
21
|
rangeLabel?: string | undefined;
|
|
22
22
|
className?: string | undefined;
|
|
23
23
|
};
|
|
24
|
-
export declare function MetricHistoryChart({ points, yMax, yMin, format, unit, color, thresholds, height, rangeLabel, className, }: MetricHistoryChartProps): import("react
|
|
24
|
+
export declare function MetricHistoryChart({ points, yMax, yMin, format, unit, color, thresholds, height, rangeLabel, className, }: MetricHistoryChartProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SeriesPoint } from "./metric-history-chart";
|
|
1
|
+
import type { SeriesPoint } from "./metric-history-chart.js";
|
|
2
2
|
export type MetricSparklineProps = {
|
|
3
3
|
points: SeriesPoint[];
|
|
4
4
|
color?: string;
|
|
@@ -6,4 +6,4 @@ export type MetricSparklineProps = {
|
|
|
6
6
|
height?: number;
|
|
7
7
|
className?: string | undefined;
|
|
8
8
|
};
|
|
9
|
-
export declare function MetricSparkline({ points, color, yMax, height, className, }: MetricSparklineProps): import("react
|
|
9
|
+
export declare function MetricSparkline({ points, color, yMax, height, className, }: MetricSparklineProps): import("react").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MetricSample } from "../../types/machines";
|
|
2
|
-
import type { SeriesPoint } from "./metric-history-chart";
|
|
1
|
+
import type { MetricSample } from "../../types/machines.js";
|
|
2
|
+
import type { SeriesPoint } from "./metric-history-chart.js";
|
|
3
3
|
export type MetricWindow = "15m" | "1h" | "6h" | "24h";
|
|
4
4
|
export declare const METRIC_WINDOWS: MetricWindow[];
|
|
5
5
|
export declare const WINDOW_LABEL: Record<MetricWindow, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MachineView, MetricSample } from "../types/machines";
|
|
1
|
+
import type { MachineView, MetricSample } from "../types/machines.js";
|
|
2
2
|
export type MachinesDashboardProps = {
|
|
3
3
|
machines: MachineView[];
|
|
4
4
|
/** The session's active sandbox id (drives the per-card "Active" marker). */
|
|
@@ -27,4 +27,4 @@ export type MachinesDashboardProps = {
|
|
|
27
27
|
* machines → connect CTA), a load error, and the populated grid. The component
|
|
28
28
|
* is purely presentational — feed it `MachinesResponse` data via `useMachines`.
|
|
29
29
|
*/
|
|
30
|
-
export declare function MachinesDashboard({ machines, activeSandboxId, loading, error, onAttach, attachingSandboxId, seriesByMachine, onOpenDetail, now, onEnroll, onRefresh, className, }: MachinesDashboardProps): import("react
|
|
30
|
+
export declare function MachinesDashboard({ machines, activeSandboxId, loading, error, onAttach, attachingSandboxId, seriesByMachine, onOpenDetail, now, onEnroll, onRefresh, className, }: MachinesDashboardProps): import("react").JSX.Element;
|
|
@@ -25,7 +25,7 @@ export type MarkdownProps = {
|
|
|
25
25
|
*/
|
|
26
26
|
streaming?: boolean | undefined;
|
|
27
27
|
};
|
|
28
|
-
declare function MarkdownImpl({ children, className, streaming }: MarkdownProps): import("react
|
|
28
|
+
declare function MarkdownImpl({ children, className, streaming }: MarkdownProps): import("react").JSX.Element;
|
|
29
29
|
/** Memoized so streaming re-renders of the parent don't re-parse settled bodies. */
|
|
30
30
|
export declare const Markdown: import("react").MemoExoticComponent<typeof MarkdownImpl>;
|
|
31
31
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SessionEvent, SessionStatus } from "@opengeni/sdk";
|
|
1
|
+
import type { DraftTimelineAnnotation, SessionEvent, SessionStatus } from "@opengeni/sdk";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import { type AgentMessageItem, type AuthNeededItem, type TimelineGroup, type TimelineItem, type RetainedScreenshotLoader, type ToolRegistry, type TurnSummaryOptions, type UserMessageItem } from "../timeline";
|
|
3
|
+
import { type AgentMessageItem, type AuthNeededItem, type TimelineGroup, type TimelineItem, type RetainedArtifactLoader, type RetainedScreenshotLoader, type VideoArtifactPlaybackLoader, type ToolRegistry, type TurnSummaryOptions, type UserMessageItem } from "../timeline/index.js";
|
|
4
4
|
export type MessageTimelineProps = {
|
|
5
5
|
/** Raw session events (projected internally) … */
|
|
6
6
|
events?: SessionEvent[] | undefined;
|
|
@@ -51,6 +51,10 @@ export type MessageTimelineProps = {
|
|
|
51
51
|
toolRegistry?: ToolRegistry | undefined;
|
|
52
52
|
/** Resolve opaque retained screenshot receipts through the authenticated host SDK. */
|
|
53
53
|
loadRetainedScreenshot?: RetainedScreenshotLoader | undefined;
|
|
54
|
+
/** Resolve permanent generated-image receipts through the authenticated host SDK. */
|
|
55
|
+
loadRetainedArtifact?: RetainedArtifactLoader | undefined;
|
|
56
|
+
/** Mint short-lived native playback sources for retained generated videos. */
|
|
57
|
+
loadVideoArtifactPlayback?: VideoArtifactPlaybackLoader | undefined;
|
|
54
58
|
/**
|
|
55
59
|
* Display name of the session's active compute target (Connected Machine or
|
|
56
60
|
* cloud sandbox). When set, exec_command collapsed previews prefix `on {label}`.
|
|
@@ -60,6 +64,8 @@ export type MessageTimelineProps = {
|
|
|
60
64
|
turnSummary?: TurnSummaryOptions | undefined;
|
|
61
65
|
/** Follow new events when pinned to the bottom. Defaults to true. */
|
|
62
66
|
autoFollow?: boolean | undefined;
|
|
67
|
+
/** Capture a same-row text selection into the host's canonical composer draft. */
|
|
68
|
+
onAnnotate?: ((annotation: DraftTimelineAnnotation) => void) | undefined;
|
|
63
69
|
/** Older durable history exists above the current window (see useSessionEvents). */
|
|
64
70
|
hasOlder?: boolean | undefined;
|
|
65
71
|
/** An older window is being fetched; shows the quiet top shimmer. */
|
|
@@ -92,7 +98,7 @@ export type MessageTimelineProps = {
|
|
|
92
98
|
* cards, goal markers, and status transitions. Owns stick-to-bottom scrolling
|
|
93
99
|
* with a "jump to latest" affordance when the reader scrolls back.
|
|
94
100
|
*/
|
|
95
|
-
export declare function MessageTimeline({ events, items, status: _status, renderMessageText, onOpenSession, onMemoryClick, onReconnect, shouldRenderAuthNeeded, resolveProviderLogo, toolRegistry, loadRetainedScreenshot, computeLabel, turnSummary, autoFollow, hasOlder, loadingOlder, onLoadOlder, onJumpToStart, loadingOldest, hasNewer, loadingNewer, onLoadNewer, onJumpToLatest, trailingState, emptyState, className, }: MessageTimelineProps): import("react
|
|
101
|
+
export declare function MessageTimeline({ events, items, status: _status, renderMessageText, onOpenSession, onMemoryClick, onReconnect, shouldRenderAuthNeeded, resolveProviderLogo, toolRegistry, loadRetainedScreenshot, loadRetainedArtifact, loadVideoArtifactPlayback, computeLabel, turnSummary, autoFollow, onAnnotate, hasOlder, loadingOlder, onLoadOlder, onJumpToStart, loadingOldest, hasNewer, loadingNewer, onLoadNewer, onJumpToLatest, trailingState, emptyState, className, }: MessageTimelineProps): import("react").JSX.Element;
|
|
96
102
|
/**
|
|
97
103
|
* Settled turns lift the final agent answer out as a sibling group. Include it
|
|
98
104
|
* in "Copy turn" when present so the chip copies the full assistant reply.
|
|
@@ -104,10 +110,11 @@ export declare function trailingAgentTextAfterTurn(group: TimelineGroup, next: T
|
|
|
104
110
|
* landmark, notice). Exported so the component demo draws the EXACT same rows as
|
|
105
111
|
* the live app — no forked bubble/goal markup.
|
|
106
112
|
*/
|
|
107
|
-
export declare function TimelineRow({ item, renderMessageText, onReconnect, resolveProviderLogo, onOpenSession, }: {
|
|
113
|
+
export declare function TimelineRow({ item, renderMessageText, onReconnect, resolveProviderLogo, onOpenSession, loadVideoArtifactPlayback, }: {
|
|
108
114
|
item: TimelineItem;
|
|
109
115
|
renderMessageText?: ((text: string, item: AgentMessageItem | UserMessageItem) => ReactNode) | undefined;
|
|
110
116
|
onReconnect?: ((item: AuthNeededItem) => void | Promise<void>) | undefined;
|
|
111
117
|
resolveProviderLogo?: ((providerDomain: string) => string | null | undefined) | undefined;
|
|
112
118
|
onOpenSession?: ((sessionId: string) => void) | undefined;
|
|
113
|
-
|
|
119
|
+
loadVideoArtifactPlayback?: VideoArtifactPlaybackLoader | undefined;
|
|
120
|
+
}): import("react").JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClientModel } from "@opengeni/sdk";
|
|
2
|
-
import { type PickerModelRow } from "../model-policy";
|
|
2
|
+
import { type PickerModelRow } from "../model-policy.js";
|
|
3
3
|
export type ModelPickerProps = {
|
|
4
4
|
/** Legacy host config models grouped by provider. */
|
|
5
5
|
models?: ClientModel[] | undefined;
|
|
@@ -16,4 +16,4 @@ export type ModelPickerProps = {
|
|
|
16
16
|
*/
|
|
17
17
|
codexOnly?: boolean | undefined;
|
|
18
18
|
};
|
|
19
|
-
export declare function ModelPicker({ models, rows, value, onChange, disabled, className, label, codexOnly, }: ModelPickerProps): import("react
|
|
19
|
+
export declare function ModelPicker({ models, rows, value, onChange, disabled, className, label, codexOnly, }: ModelPickerProps): import("react").JSX.Element | null;
|