@opengeni/react 1.0.1 → 2.2.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -10
- package/dist/artifacts-spreadsheet.js +1 -1
- package/dist/artifacts.js +1 -1
- package/dist/browser-viewer-GXUICIAG.js +14 -0
- package/dist/{chunk-R3AZOAB5.js → chunk-4MDLEHXL.js} +9 -115
- package/dist/chunk-4MDLEHXL.js.map +1 -0
- package/dist/{chunk-Y7OEDUJ5.js → chunk-5RZN3DD5.js} +1014 -420
- package/dist/chunk-5RZN3DD5.js.map +1 -0
- package/dist/chunk-5YK2ZDIG.js +116 -0
- package/dist/chunk-5YK2ZDIG.js.map +1 -0
- package/dist/chunk-H5YGYNXS.js +329 -0
- package/dist/chunk-H5YGYNXS.js.map +1 -0
- package/dist/{chunk-7WCLAEFV.js → chunk-ICA6R6TW.js} +2 -2
- package/dist/{chunk-7WCLAEFV.js.map → chunk-ICA6R6TW.js.map} +1 -1
- package/dist/{chunk-IGC6A2ZI.js → chunk-JOAVA2TW.js} +589 -217
- package/dist/chunk-JOAVA2TW.js.map +1 -0
- package/dist/{chunk-5UQPNLIO.js → chunk-LTCHJ4MS.js} +9 -9
- package/dist/chunk-LTCHJ4MS.js.map +1 -0
- package/dist/{chunk-C5ZPSSS5.js → chunk-NEXLLTP4.js} +2 -1
- package/dist/{chunk-C5ZPSSS5.js.map → chunk-NEXLLTP4.js.map} +1 -1
- package/dist/chunk-QGBJ6GHG.js +2300 -0
- package/dist/chunk-QGBJ6GHG.js.map +1 -0
- package/dist/{chunk-B6WPZSTT.js → chunk-UOLJWT5Y.js} +78 -16
- package/dist/chunk-UOLJWT5Y.js.map +1 -0
- package/dist/{chunk-MKPIAGVL.js → chunk-W6NFJXSA.js} +8 -19
- package/dist/chunk-W6NFJXSA.js.map +1 -0
- package/dist/{chunk-XBZWOM2K.js → chunk-X4A66EWZ.js} +8 -3
- package/dist/chunk-X4A66EWZ.js.map +1 -0
- package/dist/chunk-X4JAFD5R.js +3907 -0
- package/dist/chunk-X4JAFD5R.js.map +1 -0
- package/dist/{chunk-6KLX2RH5.js → chunk-XSA2QAKP.js} +334 -19
- package/dist/chunk-XSA2QAKP.js.map +1 -0
- package/dist/{chunk-HA46CYQK.js → chunk-XXWH2JLC.js} +792 -206
- package/dist/chunk-XXWH2JLC.js.map +1 -0
- package/dist/client.d.ts +2 -2
- package/dist/components/browser-viewer.d.ts +7 -1
- package/dist/components/computer-viewer.d.ts +4 -1
- package/dist/components/enrollment-consent.d.ts +6 -3
- package/dist/components/file-browser.d.ts +7 -1
- package/dist/components/human-input-form.d.ts +1 -1
- package/dist/components/human-input-surface.d.ts +1 -1
- package/dist/components/machine-card.d.ts +4 -1
- package/dist/components/machines/machine-detail.d.ts +4 -1
- package/dist/components/machines/machine-operation-policy.d.ts +11 -0
- package/dist/components/machines-dashboard.d.ts +3 -1
- package/dist/components/markdown.d.ts +20 -1
- package/dist/components/message-timeline.d.ts +1 -1
- package/dist/components/model-policy-picker.d.ts +2 -0
- package/dist/components/pierre-file.d.ts +1 -1
- package/dist/components/sandbox-files.d.ts +8 -2
- package/dist/components/sandbox-workspace.d.ts +33 -3
- package/dist/components/session-chrome.d.ts +15 -3
- package/dist/components/workspace-dock.d.ts +6 -2
- package/dist/composer.js +5 -5
- package/dist/computer-viewer-ZOP4Q7A7.js +16 -0
- package/dist/computer-viewer-ZOP4Q7A7.js.map +1 -0
- package/dist/hooks/channel-cache.d.ts +23 -0
- package/dist/hooks/shared-machines-list.d.ts +14 -0
- package/dist/hooks/use-attached-browsers.d.ts +2 -1
- package/dist/hooks/use-channels.d.ts +1 -0
- package/dist/hooks/use-composer.d.ts +37 -9
- package/dist/hooks/use-machine-chip.d.ts +3 -3
- package/dist/hooks/use-machines.d.ts +19 -1
- package/dist/hooks/use-sandbox-files.d.ts +1 -0
- package/dist/hooks/use-session-background-commands.d.ts +14 -0
- package/dist/hooks/use-turn-queue.d.ts +12 -0
- package/dist/hooks/use-workspace-sessions.d.ts +1 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.js +1096 -623
- package/dist/index.js.map +1 -1
- package/dist/interaction.js +29 -181
- package/dist/interaction.js.map +1 -1
- package/dist/lib/interaction-errors.d.ts +3 -0
- package/dist/machines.d.ts +4 -2
- package/dist/machines.js +10 -2
- package/dist/model-policy.d.ts +1 -1
- package/dist/model-policy.js +1 -1
- package/dist/platform-activity-row-BJHUHXAT.js +169 -0
- package/dist/platform-activity-row-BJHUHXAT.js.map +1 -0
- package/dist/{queue-surface-implementation-2KVJTYXH.js → queue-surface-implementation-BSKUWHRI.js} +76 -16
- package/dist/queue-surface-implementation-BSKUWHRI.js.map +1 -0
- package/dist/realtime/realtime-control.d.ts +6 -3
- package/dist/realtime.js +36 -14
- package/dist/realtime.js.map +1 -1
- package/dist/session-ui.d.ts +1 -1
- package/dist/session-ui.js +6 -2
- package/dist/session.d.ts +2 -2
- package/dist/session.js +4 -4
- package/dist/timeline/index.d.ts +1 -1
- package/dist/timeline/platform-activity-row.d.ts +15 -0
- package/dist/timeline/screenshot-lightbox.d.ts +1 -1
- package/dist/timeline/shared.d.ts +4 -2
- package/dist/timeline/types.d.ts +48 -5
- package/dist/types/machines.d.ts +2 -2
- package/package.json +3 -3
- package/src/client.ts +12 -1
- package/src/components/artifacts/editable-spreadsheet.tsx +1 -1
- package/src/components/browser-viewer.tsx +361 -58
- package/src/components/chat-composer.tsx +1 -1
- package/src/components/composer.tsx +6 -6
- package/src/components/computer-viewer.tsx +368 -115
- package/src/components/enrollment-consent.tsx +64 -6
- package/src/components/file-browser.tsx +117 -2
- package/src/components/human-input-form.tsx +91 -55
- package/src/components/human-input-surface.tsx +1 -1
- package/src/components/machine-card.tsx +111 -0
- package/src/components/machine-input-display.ts +15 -0
- package/src/components/machines/machine-detail.tsx +47 -0
- package/src/components/machines/machine-operation-policy.tsx +179 -0
- package/src/components/machines-dashboard.tsx +6 -0
- package/src/components/markdown.tsx +174 -20
- package/src/components/message-timeline.tsx +162 -17
- package/src/components/model-policy-picker.tsx +9 -17
- package/src/components/pierre-file.tsx +1 -1
- package/src/components/queue-surface-implementation.tsx +82 -16
- package/src/components/sandbox-files.tsx +135 -19
- package/src/components/sandbox-workspace.tsx +204 -92
- package/src/components/session-chrome.tsx +415 -208
- package/src/components/session-status.tsx +1 -1
- package/src/components/user-message-body.tsx +168 -48
- package/src/components/workspace-dock.tsx +141 -175
- package/src/hooks/channel-cache.ts +104 -0
- package/src/hooks/shared-machines-list.ts +239 -0
- package/src/hooks/use-attached-browsers.ts +5 -1
- package/src/hooks/use-browser-frame-stream.ts +6 -1
- package/src/hooks/use-browser-session.ts +6 -4
- package/src/hooks/use-browser-sessions.ts +7 -1
- package/src/hooks/use-channels.ts +32 -10
- package/src/hooks/use-composer.ts +760 -291
- package/src/hooks/use-computer-frame-stream.ts +14 -9
- package/src/hooks/use-computer-session.ts +16 -14
- package/src/hooks/use-computer-sessions.ts +8 -1
- package/src/hooks/use-last-started-turn-policy.ts +1 -1
- package/src/hooks/use-machine-chip.ts +23 -6
- package/src/hooks/use-machines.ts +104 -6
- package/src/hooks/use-sandbox-files.ts +195 -140
- package/src/hooks/use-sandbox-git.ts +58 -29
- package/src/hooks/use-session-background-commands.ts +56 -0
- package/src/hooks/use-session-capabilities.ts +18 -0
- package/src/hooks/use-turn-queue.ts +111 -12
- package/src/hooks/use-workspace-sessions.ts +5 -1
- package/src/index.ts +26 -4
- package/src/lib/interaction-errors.ts +18 -0
- package/src/machines.ts +9 -1
- package/src/model-policy.ts +10 -2
- package/src/realtime/realtime-control.tsx +53 -17
- package/src/session-context.ts +1 -0
- package/src/session-ui.ts +6 -1
- package/src/session.ts +9 -1
- package/src/timeline/activity-rail.tsx +20 -75
- package/src/timeline/index.ts +4 -0
- package/src/timeline/platform-activity-row.tsx +201 -0
- package/src/timeline/projection.ts +476 -23
- package/src/timeline/screenshot-lightbox.tsx +48 -14
- package/src/timeline/shared.tsx +8 -2
- package/src/timeline/tool-renderers.tsx +104 -6
- package/src/timeline/turn-summary.tsx +6 -1
- package/src/timeline/types.ts +75 -2
- package/src/types/machines.ts +10 -0
- package/styles/compiled.css +115 -104
- package/dist/chunk-5UQPNLIO.js.map +0 -1
- package/dist/chunk-6KLX2RH5.js.map +0 -1
- package/dist/chunk-B6WPZSTT.js.map +0 -1
- package/dist/chunk-HA46CYQK.js.map +0 -1
- package/dist/chunk-IGC6A2ZI.js.map +0 -1
- package/dist/chunk-LLOLUHVG.js +0 -5937
- package/dist/chunk-LLOLUHVG.js.map +0 -1
- package/dist/chunk-MKPIAGVL.js.map +0 -1
- package/dist/chunk-R3AZOAB5.js.map +0 -1
- package/dist/chunk-XBZWOM2K.js.map +0 -1
- package/dist/chunk-Y7OEDUJ5.js.map +0 -1
- package/dist/interactive-workbench-viewers-TOHBXJEE.js +0 -15
- package/dist/queue-surface-implementation-2KVJTYXH.js.map +0 -1
- /package/dist/{interactive-workbench-viewers-TOHBXJEE.js.map → browser-viewer-GXUICIAG.js.map} +0 -0
package/dist/session.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { UseSessionOptions, UseSessionResult } from "./hooks/use-session.js
|
|
|
5
5
|
export { useSessionEvents } from "./hooks/use-session-events.js";
|
|
6
6
|
export type { SessionEventsConnectionState, UseSessionEventsOptions, UseSessionEventsResult, } from "./hooks/use-session-events.js";
|
|
7
7
|
export { useComposer, composeSendInput, shouldSteerOnKey, shouldSubmitOnKey, FILE_ONLY_MESSAGE_TEXT, } from "./hooks/use-composer.js";
|
|
8
|
-
export type { ComposerSendExtras, ComposerState, UseComposerOptions } from "./hooks/use-composer.js";
|
|
8
|
+
export type { ComposerControllerState, ComposerPolicy, ComposerSendExtras, ComposerState, UseComposerOptions, } from "./hooks/use-composer.js";
|
|
9
9
|
export { useFileAttachments } from "./hooks/use-file-attachments.js";
|
|
10
10
|
export type { FileAttachment, UseFileAttachmentsOptions, UseFileAttachmentsResult, } from "./hooks/use-file-attachments.js";
|
|
11
11
|
export { useTurnQueue, isTurnQueueEvent } from "./hooks/use-turn-queue.js";
|
|
@@ -25,4 +25,4 @@ export type { PendingHumanInputRequest } from "./human-input.js";
|
|
|
25
25
|
export { isHumanInputEvent, useHumanInputRequests } from "./hooks/use-human-input.js";
|
|
26
26
|
export type { UseHumanInputRequestsOptions, UseHumanInputRequestsResult, } from "./hooks/use-human-input.js";
|
|
27
27
|
export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, toolDisplayName, } from "./timeline/projection.js";
|
|
28
|
-
export type { ActivityItem, AgentMessageItem, AuthNeededItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TurnOutcome, ToolCallItem, TurnEndItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./timeline/types.js";
|
|
28
|
+
export type { ActivityItem, AgentMessageItem, AuthNeededItem, GoalItem, HumanInputAnswerSummary, HumanInputItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TurnOutcome, ToolCallItem, TurnEndItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./timeline/types.js";
|
package/dist/session.js
CHANGED
|
@@ -18,14 +18,14 @@ import {
|
|
|
18
18
|
useSessionLineage,
|
|
19
19
|
useSessionMcpApprovalPolicy,
|
|
20
20
|
useTurnQueue
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-UOLJWT5Y.js";
|
|
22
22
|
import {
|
|
23
23
|
FILE_ONLY_MESSAGE_TEXT,
|
|
24
24
|
composeSendInput,
|
|
25
25
|
shouldSteerOnKey,
|
|
26
26
|
shouldSubmitOnKey,
|
|
27
27
|
useComposer
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-JOAVA2TW.js";
|
|
29
29
|
import {
|
|
30
30
|
buildTimeline,
|
|
31
31
|
creditExhaustedFromEvents,
|
|
@@ -33,9 +33,9 @@ import {
|
|
|
33
33
|
groupTimeline,
|
|
34
34
|
sessionStatusFromEvents,
|
|
35
35
|
toolDisplayName
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-XSA2QAKP.js";
|
|
37
37
|
import "./chunk-KZ73RL76.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-NEXLLTP4.js";
|
|
39
39
|
import "./chunk-LAKLF4PA.js";
|
|
40
40
|
export {
|
|
41
41
|
FILE_ONLY_MESSAGE_TEXT,
|
package/dist/timeline/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, mcpToolLeaf, toolDisplayName, toolMatchesLeaf, } from "./projection.js";
|
|
2
|
-
export type { ActivityItem, AgentMessageItem, AuthNeededItem, ContextCompactionItem, FleetDecisionItem, FleetDecisionScoreItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TimelineAnnotationSourceDescriptor, TurnEndItem, ToolCallItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./types.js";
|
|
2
|
+
export type { ActivityItem, AgentMessageItem, AuthNeededItem, ContextCompactionItem, FleetDecisionItem, FleetDecisionScoreItem, GoalItem, HumanInputAnswerSummary, HumanInputItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, StartupPhase, StartupPhaseItem, SessionStatusItem, TimelineGroup, TimelineItem, TimelineAnnotationSourceDescriptor, TurnEndItem, ToolCallItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./types.js";
|
|
3
3
|
export { createToolRegistry, rawTypeOf } from "./registry.js";
|
|
4
4
|
export type { CreateToolRegistryOptions, RetainedArtifactLoader, RetainedScreenshotLoader, VideoArtifactPlaybackLoader, ToolRegistry, ToolRegistryEntry, ToolRenderer, ToolRendererProps, } from "./registry.js";
|
|
5
5
|
export { createDefaultToolRegistry, defaultToolRegistry } from "./tool-renderers.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ReasoningItem, SandboxItem, StartupPhaseItem } from "./types.js";
|
|
2
|
+
type RowJsx = typeof import("react/jsx-runtime").jsx;
|
|
3
|
+
type RowJsxs = typeof import("react/jsx-runtime").jsxs;
|
|
4
|
+
export default function PlatformActivityRow({ item, d: ActivityDisclosure, p: PayloadBlock, t: displayName, b: BotIcon, m: Markdown, r: truncate, j, s, }: {
|
|
5
|
+
item: ReasoningItem | SandboxItem | StartupPhaseItem;
|
|
6
|
+
d: typeof import("./shared.js").ActivityDisclosure;
|
|
7
|
+
p: typeof import("./shared.js").PayloadBlock;
|
|
8
|
+
t: (name: string) => string;
|
|
9
|
+
b: typeof import("lucide-react").BotIcon;
|
|
10
|
+
m: typeof import("../components/markdown.js").Markdown;
|
|
11
|
+
r: typeof import("../lib/format.js").truncate;
|
|
12
|
+
j: RowJsx;
|
|
13
|
+
s: RowJsxs;
|
|
14
|
+
}): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
15
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
type LightboxController = {
|
|
3
|
-
open: (src: string, caption?: string, source?: HTMLElement | null, label?: string) => void;
|
|
3
|
+
open: (src: string, caption?: string, source?: HTMLElement | null, label?: string, downloadFilename?: string) => void;
|
|
4
4
|
};
|
|
5
5
|
/** Open the app-level screenshot lightbox. No-op outside a `LightboxProvider`. */
|
|
6
6
|
export declare function useLightbox(): LightboxController;
|
|
@@ -114,12 +114,13 @@ export declare function MediaEmpty(): import("react").JSX.Element;
|
|
|
114
114
|
* Outside one it degrades to a plain, non-interactive image — never a dead
|
|
115
115
|
* "Expand" button that announces an action it cannot perform.
|
|
116
116
|
*/
|
|
117
|
-
export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabel, }: {
|
|
117
|
+
export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabel, downloadFilename, }: {
|
|
118
118
|
src: string;
|
|
119
119
|
caption?: string | undefined;
|
|
120
120
|
alt?: string;
|
|
121
121
|
expandLabel?: string | undefined;
|
|
122
122
|
lightboxLabel?: string | undefined;
|
|
123
|
+
downloadFilename?: string | undefined;
|
|
123
124
|
}): import("react").JSX.Element;
|
|
124
125
|
/**
|
|
125
126
|
* The expanded screenshot inside a tool body: a contained, clickable preview
|
|
@@ -127,10 +128,11 @@ export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabe
|
|
|
127
128
|
* so it never breaks the row layout. Like {@link Thumbnail}, it degrades to a
|
|
128
129
|
* plain image outside a `LightboxProvider`.
|
|
129
130
|
*/
|
|
130
|
-
export declare function ScreenshotFigure({ src, caption, alt, expandLabel, lightboxLabel, }: {
|
|
131
|
+
export declare function ScreenshotFigure({ src, caption, alt, expandLabel, lightboxLabel, downloadFilename, }: {
|
|
131
132
|
src: string;
|
|
132
133
|
caption?: string | undefined;
|
|
133
134
|
alt?: string;
|
|
134
135
|
expandLabel?: string | undefined;
|
|
135
136
|
lightboxLabel?: string | undefined;
|
|
137
|
+
downloadFilename?: string | undefined;
|
|
136
138
|
}): import("react").JSX.Element;
|
package/dist/timeline/types.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import type { MediaGenerationResult, ResourceRef, SessionStatus, TimelineAnnotation, TimelineAnnotationSource, ToolAuthNeededPayload, ToolRef } from "@opengeni/sdk";
|
|
1
|
+
import type { HumanInputQuestion, HumanInputResponse, MediaGenerationResult, ResourceRef, SessionStatus, TimelineAnnotation, TimelineAnnotationSource, ToolAuthNeededPayload, ToolRef } from "@opengeni/sdk";
|
|
2
2
|
export type TimelineAnnotationSourceDescriptor = Omit<TimelineAnnotationSource, "startOffset" | "endOffset" | "contextBefore" | "contextAfter"> & {
|
|
3
3
|
text: string;
|
|
4
4
|
};
|
|
5
5
|
export type UserMessageItem = {
|
|
6
6
|
kind: "user-message";
|
|
7
7
|
id: string;
|
|
8
|
+
/**
|
|
9
|
+
* Renderer-only identity shared by a locally acknowledged message and the
|
|
10
|
+
* durable event that replaces it. The canonical event id remains `id`; this
|
|
11
|
+
* key only prevents the optimistic-to-durable handoff from remounting and
|
|
12
|
+
* replaying the row entrance animation.
|
|
13
|
+
*/
|
|
14
|
+
reconciliationKey?: string | undefined;
|
|
8
15
|
text: string;
|
|
9
16
|
annotations?: TimelineAnnotation[] | undefined;
|
|
10
17
|
annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
|
|
@@ -26,6 +33,27 @@ export type UserMessageItem = {
|
|
|
26
33
|
onRemove?: (() => void) | undefined;
|
|
27
34
|
} | undefined;
|
|
28
35
|
};
|
|
36
|
+
export type HumanInputAnswerSummary = {
|
|
37
|
+
questionId: string;
|
|
38
|
+
label: string;
|
|
39
|
+
prompt: string;
|
|
40
|
+
values: string[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* One resolved structured question in the conversation. The live pending form
|
|
44
|
+
* is rendered at the timeline tip by the host; after settlement this item keeps
|
|
45
|
+
* both the agent's question and the human's answer visible as chat history.
|
|
46
|
+
*/
|
|
47
|
+
export type HumanInputItem = {
|
|
48
|
+
kind: "human-input";
|
|
49
|
+
id: string;
|
|
50
|
+
turnId: string | null;
|
|
51
|
+
requestId: string;
|
|
52
|
+
questions: HumanInputQuestion[];
|
|
53
|
+
response: HumanInputResponse;
|
|
54
|
+
answers: HumanInputAnswerSummary[];
|
|
55
|
+
occurredAt: string;
|
|
56
|
+
};
|
|
29
57
|
export type AgentMessageItem = {
|
|
30
58
|
kind: "agent-message";
|
|
31
59
|
id: string;
|
|
@@ -130,6 +158,21 @@ export type SandboxItem = {
|
|
|
130
158
|
status: "running" | "complete" | "failed" | "cancelled";
|
|
131
159
|
occurredAt: string;
|
|
132
160
|
};
|
|
161
|
+
export type StartupPhase = "queue" | "sandbox" | "rig" | "repository" | "files" | "tools" | "model_preparation" | "provider_first_byte";
|
|
162
|
+
/** A compact user-visible critical-path span reconstructed from durable events. */
|
|
163
|
+
export type StartupPhaseItem = {
|
|
164
|
+
kind: "startup-phase";
|
|
165
|
+
id: string;
|
|
166
|
+
turnId: string | null;
|
|
167
|
+
phase: StartupPhase;
|
|
168
|
+
status: "running" | "complete" | "failed" | "cancelled";
|
|
169
|
+
startedAt: string;
|
|
170
|
+
completedAt: string | null;
|
|
171
|
+
durationMs: number | null;
|
|
172
|
+
/** Sandbox origin and rig marker outcomes refine the settled label only. */
|
|
173
|
+
outcome: "created" | "restored" | "resumed" | "skipped" | null;
|
|
174
|
+
occurredAt: string;
|
|
175
|
+
};
|
|
133
176
|
/**
|
|
134
177
|
* A first-party workspace-memory write the agent made mid-turn — a `memory.saved`
|
|
135
178
|
* (it committed a new preference / fact / procedure / decision / history) or a
|
|
@@ -209,7 +252,7 @@ export type SessionStatusItem = {
|
|
|
209
252
|
export type GoalItem = {
|
|
210
253
|
kind: "goal";
|
|
211
254
|
id: string;
|
|
212
|
-
action: "set" | "updated" | "completed" | "paused" | "resumed" | "cleared" | "continuation";
|
|
255
|
+
action: "set" | "updated" | "completed" | "paused" | "resumed" | "cleared" | "held" | "continuation";
|
|
213
256
|
text: string | null;
|
|
214
257
|
occurredAt: string;
|
|
215
258
|
};
|
|
@@ -248,7 +291,7 @@ export type ContextCompactionItem = {
|
|
|
248
291
|
};
|
|
249
292
|
export type MachineInputMember = {
|
|
250
293
|
id: string;
|
|
251
|
-
kind: "scheduled_occurrence" | "goal_continuation" | "agent_message" | "agent_steer_instruction" | "child_terminal_result" | "media_generation_result";
|
|
294
|
+
kind: "scheduled_occurrence" | "goal_continuation" | "agent_message" | "agent_steer_instruction" | "child_terminal_result" | "media_generation_result" | "child_requires_action" | "child_requires_action_resolved" | "child_paused" | "child_waiting_capacity" | "child_progress";
|
|
252
295
|
classification: "success" | "failure" | "action_required" | "info";
|
|
253
296
|
sourceId: string;
|
|
254
297
|
summary: string;
|
|
@@ -309,9 +352,9 @@ export type TurnEndItem = {
|
|
|
309
352
|
failureText: string | null;
|
|
310
353
|
occurredAt: string;
|
|
311
354
|
};
|
|
312
|
-
export type TimelineItem = UserMessageItem | AgentMessageItem | ReasoningItem | ToolCallItem | WorkerItem | WorkerCompletionItem | SandboxItem | SessionStatusItem | GoalItem | NoticeItem | ContextCompactionItem | MachineInputBatchItem | AuthNeededItem | MemoryItem | FleetDecisionItem | TurnEndItem;
|
|
355
|
+
export type TimelineItem = UserMessageItem | HumanInputItem | AgentMessageItem | ReasoningItem | ToolCallItem | WorkerItem | WorkerCompletionItem | SandboxItem | StartupPhaseItem | SessionStatusItem | GoalItem | NoticeItem | ContextCompactionItem | MachineInputBatchItem | AuthNeededItem | MemoryItem | FleetDecisionItem | TurnEndItem;
|
|
313
356
|
/** Activity items cluster between chat messages (reasoning, tools, workers, sandbox, memory). */
|
|
314
|
-
export type ActivityItem = ReasoningItem | ToolCallItem | WorkerItem | SandboxItem | MemoryItem | FleetDecisionItem;
|
|
357
|
+
export type ActivityItem = ReasoningItem | ToolCallItem | WorkerItem | SandboxItem | StartupPhaseItem | MemoryItem | FleetDecisionItem;
|
|
315
358
|
export type TimelineGroup = {
|
|
316
359
|
kind: "item";
|
|
317
360
|
item: TimelineItem;
|
package/dist/types/machines.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MachineKind, MachineMetricsSeriesResponse, MachinesResponse, MachineState, MachineView, MetricSample } from "@opengeni/sdk";
|
|
2
|
-
export type { MachineKind, MachineMetricsSeriesResponse, MachinesResponse, MachineState, MachineView, MetricSample, };
|
|
1
|
+
import type { MachineKind, MachineMetricsSeriesResponse, MachinesResponse, MachineState, MachineView, MachineRuntime, MachineRuntimeCapabilities, MachineOperationPolicy, MachineUpdateState, MachineUpdateStatus, MetricSample } from "@opengeni/sdk";
|
|
2
|
+
export type { MachineKind, MachineMetricsSeriesResponse, MachinesResponse, MachineState, MachineView, MachineRuntime, MachineRuntimeCapabilities, MachineOperationPolicy, MachineUpdateState, MachineUpdateStatus, MetricSample, };
|
|
3
3
|
/**
|
|
4
4
|
* The three connection-status pill values the UI surfaces across the dashboard,
|
|
5
5
|
* the dock, and the timeline. `consent_required` / `display_unavailable` /
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeni/react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.2.0-canary.0",
|
|
4
4
|
"description": "React hooks and styled components for OpenGeni: live session streaming, chat composer, message timeline, session status, and fleet views — token-themed (CSS variables), dark-first, built on Tailwind v4 + Radix + Motion.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"@dnd-kit/utilities": "3.2.2",
|
|
117
117
|
"@fontsource-variable/noto-sans-arabic": "5.2.10",
|
|
118
118
|
"@fontsource-variable/noto-sans-jp": "5.2.10",
|
|
119
|
-
"@opengeni/sdk": "^
|
|
119
|
+
"@opengeni/sdk": "^2.2.0-canary.0",
|
|
120
120
|
"clsx": "^2.1.1",
|
|
121
121
|
"lucide-react": "^1.8.0",
|
|
122
122
|
"motion": "^12.0.0",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"@codemirror/lang-markdown": "^6.0.0",
|
|
136
136
|
"@codemirror/lang-python": "^6.0.0",
|
|
137
137
|
"@novnc/novnc": "^1.7.0",
|
|
138
|
-
"@opengeni/artifact-tool": ">=0.1.0 <0.
|
|
138
|
+
"@opengeni/artifact-tool": ">=0.1.0 <0.4.0",
|
|
139
139
|
"@pierre/diffs": "^1.2.11",
|
|
140
140
|
"@uiw/react-codemirror": "^4.23.0",
|
|
141
141
|
"@xterm/addon-fit": "^0.11.0",
|
package/src/client.ts
CHANGED
|
@@ -34,6 +34,7 @@ export type SessionClientLike = Pick<
|
|
|
34
34
|
| "deleteQueueItem"
|
|
35
35
|
| "getComposerDraft"
|
|
36
36
|
| "saveComposerDraft"
|
|
37
|
+
| "submitComposerDraft"
|
|
37
38
|
| "listTurns"
|
|
38
39
|
// Goal
|
|
39
40
|
| "getGoal"
|
|
@@ -66,6 +67,7 @@ export type SessionClientLike = Pick<
|
|
|
66
67
|
| "listChannels"
|
|
67
68
|
| "createChannel"
|
|
68
69
|
| "updateChannel"
|
|
70
|
+
| "reorderChannels"
|
|
69
71
|
| "deleteChannel"
|
|
70
72
|
| "updateSessionChannel"
|
|
71
73
|
// Rigs
|
|
@@ -187,7 +189,15 @@ export type SessionClientLike = Pick<
|
|
|
187
189
|
| "terminalPtyResize"
|
|
188
190
|
| "terminalPtyClose"
|
|
189
191
|
> &
|
|
190
|
-
Partial<
|
|
192
|
+
Partial<
|
|
193
|
+
Pick<
|
|
194
|
+
OpenGeniClient,
|
|
195
|
+
| "createVideoArtifactPlaybackSource"
|
|
196
|
+
| "streamWorkspaceLiveEvents"
|
|
197
|
+
| "listSessionBackgroundCommands"
|
|
198
|
+
| "cancelSessionBackgroundCommand"
|
|
199
|
+
>
|
|
200
|
+
>;
|
|
191
201
|
|
|
192
202
|
/**
|
|
193
203
|
* Tenant-safe client surface required by the session-only React entry.
|
|
@@ -205,6 +215,7 @@ export type EmbeddedSessionClientLike = Pick<
|
|
|
205
215
|
| "streamEvents"
|
|
206
216
|
| "getComposerDraft"
|
|
207
217
|
| "saveComposerDraft"
|
|
218
|
+
| "submitComposerDraft"
|
|
208
219
|
| "sendMessage"
|
|
209
220
|
| "steerMessage"
|
|
210
221
|
| "getQueue"
|
|
@@ -651,7 +651,7 @@ function spreadsheetCellInput(
|
|
|
651
651
|
input: string,
|
|
652
652
|
kind: SpreadsheetCommit["kind"],
|
|
653
653
|
): SpreadsheetCellInput {
|
|
654
|
-
if (kind === "formula") return { formula: input
|
|
654
|
+
if (kind === "formula") return { formula: input };
|
|
655
655
|
if (input === "") return null;
|
|
656
656
|
const normalized = input.trim();
|
|
657
657
|
if (/^(?:true|false)$/i.test(normalized)) return normalized.toLowerCase() === "true";
|