@opengeni/react 7.4.0 → 7.5.0-canary.36919050519001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -27
- package/dist/artifacts-document.js +3 -2
- package/dist/artifacts-presentation.js +3 -2
- package/dist/artifacts-spreadsheet.js +2 -2
- package/dist/artifacts.d.ts +1 -0
- package/dist/artifacts.js +516 -1413
- package/dist/artifacts.js.map +1 -1
- package/dist/{browser-viewer-2E6R2Y4W.js → browser-viewer-Z7S7QEJL.js} +6 -5
- package/dist/chat-interactive-block-UGBTNB3L.js +11 -0
- package/dist/{chunk-Y3QTZN2F.js → chunk-2VFNCX4E.js} +6 -6
- package/dist/{chunk-UDD6DLLT.js → chunk-3IJJEYW4.js} +15 -3
- package/dist/chunk-3IJJEYW4.js.map +1 -0
- package/dist/chunk-4RVYOY4O.js +379 -0
- package/dist/chunk-4RVYOY4O.js.map +1 -0
- package/dist/chunk-5CVXZA3Y.js +292 -0
- package/dist/chunk-5CVXZA3Y.js.map +1 -0
- package/dist/{chunk-5YK2ZDIG.js → chunk-5J4FOW6Q.js} +2 -10
- package/dist/chunk-5J4FOW6Q.js.map +1 -0
- package/dist/{chunk-KVERXCFY.js → chunk-5KYZIQFY.js} +40 -3
- package/dist/chunk-5KYZIQFY.js.map +1 -0
- package/dist/{chunk-KNDIXZN6.js → chunk-7UAMYXJY.js} +25 -18
- package/dist/{chunk-KNDIXZN6.js.map → chunk-7UAMYXJY.js.map} +1 -1
- package/dist/{chunk-SEEVCT36.js → chunk-A4UJB2MM.js} +2 -2
- package/dist/{chunk-X4HIN6TV.js → chunk-AFLPWUQ7.js} +71 -162
- package/dist/chunk-AFLPWUQ7.js.map +1 -0
- package/dist/chunk-B3V6TG77.js +41 -0
- package/dist/chunk-B3V6TG77.js.map +1 -0
- package/dist/{chunk-XEJEOAOV.js → chunk-B7WMS3CS.js} +51 -40
- package/dist/chunk-B7WMS3CS.js.map +1 -0
- package/dist/{chunk-S5JQ4R22.js → chunk-BDKR6BAR.js} +54 -24
- package/dist/chunk-BDKR6BAR.js.map +1 -0
- package/dist/{chunk-4MDLEHXL.js → chunk-DYWBUX5Q.js} +24 -12
- package/dist/chunk-DYWBUX5Q.js.map +1 -0
- package/dist/{chunk-YZ3YYMOM.js → chunk-E3G7SAYZ.js} +252 -624
- package/dist/chunk-E3G7SAYZ.js.map +1 -0
- package/dist/chunk-JT4JW7BC.js +54 -0
- package/dist/chunk-JT4JW7BC.js.map +1 -0
- package/dist/{chunk-5AZSK6MV.js → chunk-LWNLETQT.js} +5 -5
- package/dist/{chunk-USXVQACU.js → chunk-M7LBYP63.js} +5 -4
- package/dist/{chunk-USXVQACU.js.map → chunk-M7LBYP63.js.map} +1 -1
- package/dist/{chunk-L4OSXQ6H.js → chunk-NBOHNRLJ.js} +1289 -1060
- package/dist/chunk-NBOHNRLJ.js.map +1 -0
- package/dist/chunk-RHREZ7BO.js +11 -0
- package/dist/chunk-RHREZ7BO.js.map +1 -0
- package/dist/chunk-SCOTPE2I.js +589 -0
- package/dist/chunk-SCOTPE2I.js.map +1 -0
- package/dist/chunk-WEHMPOXK.js +39 -0
- package/dist/chunk-WEHMPOXK.js.map +1 -0
- package/dist/chunk-WRHIZYZF.js +988 -0
- package/dist/chunk-WRHIZYZF.js.map +1 -0
- package/dist/{chunk-3E2AITTZ.js → chunk-WUISZ3WU.js} +32 -28
- package/dist/{chunk-3E2AITTZ.js.map → chunk-WUISZ3WU.js.map} +1 -1
- package/dist/chunk-XCHWDJ22.js +107 -0
- package/dist/chunk-XCHWDJ22.js.map +1 -0
- package/dist/{chunk-DUEBTL3N.js → chunk-Y2PRMYLC.js} +4 -3
- package/dist/{chunk-DUEBTL3N.js.map → chunk-Y2PRMYLC.js.map} +1 -1
- package/dist/chunk-YBXQDQFX.js +1772 -0
- package/dist/chunk-YBXQDQFX.js.map +1 -0
- package/dist/chunk-YV4L3ILF.js +9 -0
- package/dist/chunk-YV4L3ILF.js.map +1 -0
- package/dist/{chunk-V2ABIVYJ.js → chunk-ZXSEDZP7.js} +70 -6
- package/dist/chunk-ZXSEDZP7.js.map +1 -0
- package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
- package/dist/components/artifacts/artifact-sandbox.d.ts +27 -0
- package/dist/components/artifacts/chat-interactive-block.d.ts +29 -0
- package/dist/components/artifacts/deferred-chat-media.d.ts +15 -0
- package/dist/components/artifacts/editable-artifact-ui.d.ts +2 -1
- package/dist/components/artifacts/editable-artifact-view.d.ts +46 -0
- package/dist/components/artifacts/index.d.ts +7 -0
- package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
- package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
- package/dist/components/artifacts/site-view.d.ts +23 -0
- package/dist/components/browser-select-control.d.ts +3 -1
- package/dist/components/code-editor.d.ts +1 -4
- package/dist/components/desktop-viewer.d.ts +1 -1
- package/dist/components/message-timeline.d.ts +20 -3
- package/dist/components/open-geni-links.d.ts +16 -0
- package/dist/components/session-conversation.d.ts +20 -1
- package/dist/components/timeline-pill-geometry.d.ts +8 -0
- package/dist/components/timeline-pill-placement.d.ts +24 -0
- package/dist/components/usage-limit-notice.d.ts +49 -0
- package/dist/components/usage-member-list.d.ts +91 -0
- package/dist/components/usage-meter.d.ts +73 -0
- package/dist/composer.js +5 -5
- package/dist/{computer-viewer-WMJE6OA3.js → computer-viewer-KJWLH3GI.js} +7 -5
- package/dist/connect.js +7 -6
- package/dist/connect.js.map +1 -1
- package/dist/conversation-timeline.d.ts +1 -1
- package/dist/desktop.d.ts +7 -0
- package/dist/desktop.js +26 -0
- package/dist/desktop.js.map +1 -0
- package/dist/editor.d.ts +7 -0
- package/dist/editor.js +21 -0
- package/dist/editor.js.map +1 -0
- package/dist/hooks/latest-question.d.ts +1 -1
- package/dist/hooks/use-composer.d.ts +4 -0
- package/dist/hooks/use-desktop-stream.d.ts +1 -1
- package/dist/hooks/use-usage.d.ts +40 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.js +460 -1386
- package/dist/index.js.map +1 -1
- package/dist/interaction.js +8 -6
- package/dist/interaction.js.map +1 -1
- package/dist/{latest-question-QB4EUCW5.js → latest-question-IS445HOW.js} +3 -3
- package/dist/lib/format.d.ts +6 -1
- package/dist/lib/workbench-peers.d.ts +36 -0
- package/dist/machines.js +2 -2
- package/dist/{markdown-table-layout-PFUEZ2U4.js → markdown-table-layout-QXSLK4BY.js} +37 -5
- package/dist/markdown-table-layout-QXSLK4BY.js.map +1 -0
- package/dist/{queue-surface-implementation-IM2HD3SK.js → queue-surface-implementation-2CAQAIHM.js} +2 -2
- package/dist/realtime.js +3 -3
- package/dist/{sandbox-files-PXPIZAFG.js → sandbox-files-AEJTWGT4.js} +8 -5
- package/dist/sandbox-files-AEJTWGT4.js.map +1 -0
- package/dist/session-ui.d.ts +9 -2
- package/dist/session-ui.js +39 -20
- package/dist/session-ui.js.map +1 -1
- package/dist/session.js +4 -4
- package/dist/sites.js +4 -289
- package/dist/sites.js.map +1 -1
- package/dist/terminal.d.ts +8 -0
- package/dist/terminal.js +31 -0
- package/dist/terminal.js.map +1 -0
- package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
- package/dist/timeline/genie-loading.d.ts +3 -1
- package/dist/timeline/types.d.ts +8 -1
- package/dist/{timeline-annotation-selection-ODLVF4OI.js → timeline-annotation-selection-DMLMM2TX.js} +6 -1
- package/dist/timeline-annotation-selection-DMLMM2TX.js.map +1 -0
- package/dist/timeline-pill-geometry-Z23V243M.js +110 -0
- package/dist/timeline-pill-geometry-Z23V243M.js.map +1 -0
- package/dist/usage/allowance-copy.d.ts +25 -0
- package/dist/usage/summary.d.ts +35 -0
- package/dist/usage.d.ts +13 -0
- package/dist/usage.js +1073 -0
- package/dist/usage.js.map +1 -0
- package/package.json +19 -3
- package/src/artifacts.ts +37 -0
- package/src/components/artifacts/artifact-chrome.tsx +413 -0
- package/src/components/artifacts/artifact-sandbox.tsx +185 -0
- package/src/components/artifacts/chat-interactive-block.tsx +260 -0
- package/src/components/artifacts/deferred-chat-media.tsx +67 -0
- package/src/components/artifacts/editable-artifact-ui.tsx +3 -1
- package/src/components/artifacts/editable-artifact-view.tsx +187 -0
- package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
- package/src/components/artifacts/editable-document.tsx +34 -36
- package/src/components/artifacts/editable-presentation.tsx +21 -16
- package/src/components/artifacts/index.ts +41 -0
- package/src/components/artifacts/latest-task-runner.ts +49 -0
- package/src/components/artifacts/session-artifact-viewer.tsx +376 -0
- package/src/components/artifacts/site-view.tsx +116 -0
- package/src/components/browser-select-control.tsx +4 -1
- package/src/components/browser-viewer.tsx +81 -22
- package/src/components/code-editor.tsx +13 -16
- package/src/components/computer-viewer.tsx +51 -23
- package/src/components/desktop-viewer.tsx +1 -1
- package/src/components/markdown-table-layout.ts +49 -5
- package/src/components/markdown.tsx +5 -2
- package/src/components/message-timeline.tsx +557 -516
- package/src/components/open-geni-links.tsx +24 -0
- package/src/components/sandbox-terminal.tsx +48 -11
- package/src/components/session-chrome.tsx +22 -3
- package/src/components/session-conversation.tsx +195 -102
- package/src/components/timeline-annotation-selection.tsx +7 -0
- package/src/components/timeline-pill-geometry.ts +169 -0
- package/src/components/timeline-pill-placement.ts +99 -0
- package/src/components/usage-limit-notice.tsx +179 -0
- package/src/components/usage-member-list.tsx +792 -0
- package/src/components/usage-meter.tsx +382 -0
- package/src/conversation-timeline.ts +10 -2
- package/src/desktop.ts +24 -0
- package/src/editor.ts +13 -0
- package/src/hooks/use-available-models.ts +1 -1
- package/src/hooks/use-composer.ts +57 -2
- package/src/hooks/use-desktop-stream.ts +19 -28
- package/src/hooks/use-usage.ts +100 -0
- package/src/index.ts +22 -0
- package/src/lib/format.ts +32 -6
- package/src/lib/workbench-peers.ts +62 -0
- package/src/session-ui.ts +22 -0
- package/src/terminal.ts +26 -0
- package/src/timeline/activity-rail.tsx +5 -3
- package/src/timeline/allowance-exhausted-row.tsx +86 -0
- package/src/timeline/genie-loading.tsx +16 -6
- package/src/timeline/projection.ts +78 -4
- package/src/timeline/types.ts +8 -0
- package/src/usage/allowance-copy.ts +64 -0
- package/src/usage/summary.ts +93 -0
- package/src/usage.ts +50 -0
- package/styles/compiled.css +325 -0
- package/dist/chunk-4MDLEHXL.js.map +0 -1
- package/dist/chunk-5YK2ZDIG.js.map +0 -1
- package/dist/chunk-KVERXCFY.js.map +0 -1
- package/dist/chunk-L4OSXQ6H.js.map +0 -1
- package/dist/chunk-S5JQ4R22.js.map +0 -1
- package/dist/chunk-UDD6DLLT.js.map +0 -1
- package/dist/chunk-UGMKPUEM.js +0 -299
- package/dist/chunk-UGMKPUEM.js.map +0 -1
- package/dist/chunk-V2ABIVYJ.js.map +0 -1
- package/dist/chunk-X4HIN6TV.js.map +0 -1
- package/dist/chunk-XEJEOAOV.js.map +0 -1
- package/dist/chunk-YZ3YYMOM.js.map +0 -1
- package/dist/markdown-table-layout-PFUEZ2U4.js.map +0 -1
- package/dist/timeline-annotation-selection-ODLVF4OI.js.map +0 -1
- /package/dist/{browser-viewer-2E6R2Y4W.js.map → browser-viewer-Z7S7QEJL.js.map} +0 -0
- /package/dist/{computer-viewer-WMJE6OA3.js.map → chat-interactive-block-UGBTNB3L.js.map} +0 -0
- /package/dist/{chunk-Y3QTZN2F.js.map → chunk-2VFNCX4E.js.map} +0 -0
- /package/dist/{chunk-SEEVCT36.js.map → chunk-A4UJB2MM.js.map} +0 -0
- /package/dist/{chunk-5AZSK6MV.js.map → chunk-LWNLETQT.js.map} +0 -0
- /package/dist/{sandbox-files-PXPIZAFG.js.map → computer-viewer-KJWLH3GI.js.map} +0 -0
- /package/dist/{latest-question-QB4EUCW5.js.map → latest-question-IS445HOW.js.map} +0 -0
- /package/dist/{queue-surface-implementation-IM2HD3SK.js.map → queue-surface-implementation-2CAQAIHM.js.map} +0 -0
|
@@ -2,4 +2,4 @@ import type { ComposerState } from "./hooks/use-composer.js";
|
|
|
2
2
|
import type { UseTurnQueueResult } from "./hooks/use-turn-queue.js";
|
|
3
3
|
import type { TimelineItem } from "./timeline/types.js";
|
|
4
4
|
/** Keep pending prompts in the queue, not duplicated in the conversation. */
|
|
5
|
-
export declare function conversationTimeline(items: TimelineItem[], queue: Pick<UseTurnQueueResult, "queue" | "snapshot" | "acceptedSteers">, composer: Pick<ComposerState, "optimisticMessages" | "retryOptimisticMessage" | "removeOptimisticMessage">): TimelineItem[];
|
|
5
|
+
export declare function conversationTimeline(items: TimelineItem[], queue: Pick<UseTurnQueueResult, "queue" | "snapshot" | "acceptedSteers">, composer: Pick<ComposerState, "optimisticMessages" | "retryOptimisticMessage" | "restoreOptimisticMessage" | "removeOptimisticMessage">): TimelineItem[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { DesktopViewer } from "./components/desktop-viewer.js";
|
|
2
|
+
export type { DesktopViewerProps } from "./components/desktop-viewer.js";
|
|
3
|
+
export { useDesktopStream } from "./hooks/use-desktop-stream.js";
|
|
4
|
+
export type { UseDesktopStreamOptions, UseDesktopStreamResult } from "./hooks/use-desktop-stream.js";
|
|
5
|
+
export { registerDesktopViewer } from "./lib/workbench-peers.js";
|
|
6
|
+
/** Opt in once on a VNC route; relay-frame viewers need no noVNC peer. */
|
|
7
|
+
export declare function enableDesktopViewer(): void;
|
package/dist/desktop.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DesktopViewer,
|
|
3
|
+
useDesktopStream
|
|
4
|
+
} from "./chunk-DYWBUX5Q.js";
|
|
5
|
+
import "./chunk-RHREZ7BO.js";
|
|
6
|
+
import "./chunk-5J4FOW6Q.js";
|
|
7
|
+
import {
|
|
8
|
+
registerDesktopViewer
|
|
9
|
+
} from "./chunk-JT4JW7BC.js";
|
|
10
|
+
import "./chunk-22KP6LR5.js";
|
|
11
|
+
|
|
12
|
+
// src/desktop.ts
|
|
13
|
+
async function loadDesktop() {
|
|
14
|
+
const mod = await import("@novnc/novnc");
|
|
15
|
+
return (target, url, options) => new mod.default(target, url, options);
|
|
16
|
+
}
|
|
17
|
+
function enableDesktopViewer() {
|
|
18
|
+
registerDesktopViewer(loadDesktop);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
DesktopViewer,
|
|
22
|
+
enableDesktopViewer,
|
|
23
|
+
registerDesktopViewer,
|
|
24
|
+
useDesktopStream
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=desktop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/desktop.ts"],"sourcesContent":["import type { DesktopRfbFactory, DesktopRfbLike } from \"@opengeni/sdk\";\nimport { registerDesktopViewer } from \"./lib/workbench-peers\";\n\nexport { DesktopViewer } from \"./components/desktop-viewer\";\nexport type { DesktopViewerProps } from \"./components/desktop-viewer\";\nexport { useDesktopStream } from \"./hooks/use-desktop-stream\";\nexport type { UseDesktopStreamOptions, UseDesktopStreamResult } from \"./hooks/use-desktop-stream\";\nexport { registerDesktopViewer } from \"./lib/workbench-peers\";\n\nasync function loadDesktop(): Promise<DesktopRfbFactory> {\n const mod = (await import(\"@novnc/novnc\")) as unknown as {\n default: new (\n target: HTMLElement,\n url: string,\n options: Parameters<DesktopRfbFactory>[2],\n ) => DesktopRfbLike;\n };\n return (target, url, options) => new mod.default(target, url, options);\n}\n\n/** Opt in once on a VNC route; relay-frame viewers need no noVNC peer. */\nexport function enableDesktopViewer(): void {\n registerDesktopViewer(loadDesktop);\n}\n"],"mappings":";;;;;;;;;;;;AASA,eAAe,cAA0C;AACvD,QAAM,MAAO,MAAM,OAAO,cAAc;AAOxC,SAAO,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,QAAQ,QAAQ,KAAK,OAAO;AACvE;AAGO,SAAS,sBAA4B;AAC1C,wBAAsB,WAAW;AACnC;","names":[]}
|
package/dist/editor.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CodeEditorLanguages } from "./lib/workbench-peers.js";
|
|
2
|
+
export { CodeEditor, languageForPath } from "./components/code-editor.js";
|
|
3
|
+
export type { CodeEditorProps } from "./components/code-editor.js";
|
|
4
|
+
export { registerCodeEditor } from "./lib/workbench-peers.js";
|
|
5
|
+
export type { CodeEditorLanguage, CodeEditorLanguages } from "./lib/workbench-peers.js";
|
|
6
|
+
/** Only name installed grammar peers in host-supplied language loaders. */
|
|
7
|
+
export declare function enableCodeEditor(languages?: CodeEditorLanguages): void;
|
package/dist/editor.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CodeEditor,
|
|
3
|
+
languageForPath
|
|
4
|
+
} from "./chunk-4RVYOY4O.js";
|
|
5
|
+
import {
|
|
6
|
+
registerCodeEditor
|
|
7
|
+
} from "./chunk-JT4JW7BC.js";
|
|
8
|
+
import "./chunk-22KP6LR5.js";
|
|
9
|
+
|
|
10
|
+
// src/editor.ts
|
|
11
|
+
var loadEditor = async () => ({ module: await import("@uiw/react-codemirror") });
|
|
12
|
+
function enableCodeEditor(languages) {
|
|
13
|
+
registerCodeEditor(languages ? async () => ({ ...await loadEditor(), languages }) : loadEditor);
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
CodeEditor,
|
|
17
|
+
enableCodeEditor,
|
|
18
|
+
languageForPath,
|
|
19
|
+
registerCodeEditor
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/editor.ts"],"sourcesContent":["import { registerCodeEditor, type CodeEditorLanguages } from \"./lib/workbench-peers\";\n\nexport { CodeEditor, languageForPath } from \"./components/code-editor\";\nexport type { CodeEditorProps } from \"./components/code-editor\";\nexport { registerCodeEditor } from \"./lib/workbench-peers\";\nexport type { CodeEditorLanguage, CodeEditorLanguages } from \"./lib/workbench-peers\";\n\nconst loadEditor = async () => ({ module: await import(\"@uiw/react-codemirror\") });\n\n/** Only name installed grammar peers in host-supplied language loaders. */\nexport function enableCodeEditor(languages?: CodeEditorLanguages): void {\n registerCodeEditor(languages ? async () => ({ ...(await loadEditor()), languages }) : loadEditor);\n}\n"],"mappings":";;;;;;;;;;AAOA,IAAM,aAAa,aAAa,EAAE,QAAQ,MAAM,OAAO,uBAAuB,EAAE;AAGzE,SAAS,iBAAiB,WAAuC;AACtE,qBAAmB,YAAY,aAAa,EAAE,GAAI,MAAM,WAAW,GAAI,UAAU,KAAK,UAAU;AAClG;","names":[]}
|
|
@@ -8,7 +8,7 @@ export type LatestQuestionOptions = {
|
|
|
8
8
|
};
|
|
9
9
|
/** Include every canonical execution fallback, not just turn.started. Derive
|
|
10
10
|
* this optional navigation index only when the user requests Latest question. */
|
|
11
|
-
export declare const TIMELINE_TURN_ANCHOR_EVENT_TYPES: ("agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded")[];
|
|
11
|
+
export declare const TIMELINE_TURN_ANCHOR_EVENT_TYPES: ("agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.agent.updated" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "usage.exhausted" | "usage.period_reset" | "usage.threshold_reached" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded")[];
|
|
12
12
|
/** Resolve an optional navigation destination without owning the hook's window
|
|
13
13
|
* or React state. The caller guards errors and applies only a current result. */
|
|
14
14
|
export declare function resolveLatestQuestion({ client, workspaceId, sessionId, isCurrent, resumeSequence, options, }: {
|
|
@@ -47,6 +47,8 @@ export type ComposerOptimisticMessage = {
|
|
|
47
47
|
triggerEventId?: string | null | undefined;
|
|
48
48
|
appliedQueueVersion?: number | null | undefined;
|
|
49
49
|
error?: string | undefined;
|
|
50
|
+
/** False for a definitive refusal that requires changing payment or allowance settings. */
|
|
51
|
+
retryable?: boolean | undefined;
|
|
50
52
|
outcomeUnknown?: boolean | undefined;
|
|
51
53
|
};
|
|
52
54
|
export type ComposerState = {
|
|
@@ -68,6 +70,8 @@ export type ComposerState = {
|
|
|
68
70
|
/** Locally acknowledged ordinary sends awaiting durable timeline reconciliation. */
|
|
69
71
|
optimisticMessages?: ComposerOptimisticMessage[] | undefined;
|
|
70
72
|
retryOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
73
|
+
/** Move a definitively refused message into an empty composer without resending it. */
|
|
74
|
+
restoreOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
71
75
|
removeOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
72
76
|
/** Supersede current direction with the draft. */
|
|
73
77
|
steer: (text?: string) => Promise<boolean>;
|
|
@@ -9,7 +9,7 @@ export type UseDesktopStreamOptions = {
|
|
|
9
9
|
/** Read-only by default (v1 ruling H). interactive only when cap.mode allows. */
|
|
10
10
|
interactive?: boolean | undefined;
|
|
11
11
|
scaleViewport?: boolean | undefined;
|
|
12
|
-
/** Custom RFB factory
|
|
12
|
+
/** Custom RFB factory. Otherwise call enableDesktopViewer() on the desktop subpath. */
|
|
13
13
|
rfbFactory?: DesktopRfbFactory | undefined;
|
|
14
14
|
/** Additional WebSocket protocols for an authenticated placement proxy. */
|
|
15
15
|
webSocketProtocols?: string[] | undefined;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { OpenGeniClient } from "@opengeni/sdk";
|
|
2
|
+
import { type UsageAllowancePeriod, type WorkspaceUsageResponse } from "@opengeni/sdk/usage-allowances";
|
|
3
|
+
import { type UsageSummary } from "../usage/summary.js";
|
|
4
|
+
/**
|
|
5
|
+
* Anything that can read the signed-in member's own usage: the root SDK client
|
|
6
|
+
* pointed at your session proxy (`getMyUsage`), or any client exposing
|
|
7
|
+
* `requestJson` (for example the narrower browser client).
|
|
8
|
+
*/
|
|
9
|
+
export type UsageClientLike = Pick<OpenGeniClient, "getMyUsage"> | Pick<OpenGeniClient, "requestJson">;
|
|
10
|
+
export type UseUsageOptions = {
|
|
11
|
+
/** Defaults to the `<OpenGeniProvider>` client. */
|
|
12
|
+
client?: UsageClientLike | undefined;
|
|
13
|
+
/** Defaults to the `<OpenGeniProvider>` workspace. */
|
|
14
|
+
workspaceId?: string | undefined;
|
|
15
|
+
/** `"current"` (default) or a `YYYY-MM` allowance period. */
|
|
16
|
+
period?: UsageAllowancePeriod | undefined;
|
|
17
|
+
/** Re-read on an interval. Off by default; usage changes only when work settles. */
|
|
18
|
+
pollIntervalMs?: number | undefined;
|
|
19
|
+
enabled?: boolean | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Re-read whenever this value changes, keeping the current reading while it
|
|
22
|
+
* loads. Pass something that changes when work settles (a turn count, the
|
|
23
|
+
* session status) so the meter follows real usage without polling.
|
|
24
|
+
*/
|
|
25
|
+
refreshKey?: unknown;
|
|
26
|
+
};
|
|
27
|
+
export type UseUsageResult = {
|
|
28
|
+
/** The raw `/usage/me` response: the workspace pool and your own row. */
|
|
29
|
+
usage: WorkspaceUsageResponse | null;
|
|
30
|
+
/** What to tell this member; null until loaded. */
|
|
31
|
+
summary: UsageSummary | null;
|
|
32
|
+
loading: boolean;
|
|
33
|
+
error: Error | null;
|
|
34
|
+
refresh: () => Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The signed-in member's own usage in one workspace, read through `/usage/me`
|
|
38
|
+
* (the session proxy serves exactly this route). Never reads another member.
|
|
39
|
+
*/
|
|
40
|
+
export declare function useUsage(options?: UseUsageOptions): UseUsageResult;
|
package/dist/index.d.ts
CHANGED
|
@@ -139,14 +139,17 @@ export { MessageTimeline, TimelineRow } from "./components/message-timeline.js";
|
|
|
139
139
|
export { GeneratedVideoPlayer } from "./components/generated-video-player.js";
|
|
140
140
|
export type { GeneratedVideoPlayerProps } from "./components/generated-video-player.js";
|
|
141
141
|
export type { MessageTimelineProps } from "./components/message-timeline.js";
|
|
142
|
+
export type { RenderAllowanceExhausted } from "./timeline/allowance-exhausted-row.js";
|
|
143
|
+
export type { AllowanceLabels, AllowanceScope } from "./usage/allowance-copy.js";
|
|
142
144
|
export type { TimelineSearchTarget } from "./components/timeline-search.js";
|
|
143
145
|
export { UserMessageBody, userMessageLikelyNeedsDisclosure } from "./components/user-message-body.js";
|
|
144
146
|
export type { UserMessageBodyProps, UserMessageDisclosureLabels, } from "./components/user-message-body.js";
|
|
145
147
|
export { Markdown, sandboxFileLocationFromHref, sandboxFilePathFromHref, } from "./components/markdown.js";
|
|
146
148
|
export type { MarkdownProps, MarkdownInteractiveBlock, SandboxFileLocation, } from "./components/markdown.js";
|
|
147
|
-
export { OpenGeniLinkProvider, chainLinkResolvers, sessionLinkResolver, useOpenGeniLinkResolver, } from "./components/open-geni-links.js";
|
|
148
|
-
export type { OpenGeniLinkResolution, OpenGeniLinkResolver, OpenGeniLinkTarget, } from "./components/open-geni-links.js";
|
|
149
|
+
export { OpenGeniLinkProvider, chainLinkResolvers, sessionLinkResolver, useOpenGeniLinkResolver, viewerLinkResolver, } from "./components/open-geni-links.js";
|
|
150
|
+
export type { OpenGeniLinkResolution, OpenGeniLinkResolver, OpenGeniLinkTarget, OpenGeniViewerTarget, } from "./components/open-geni-links.js";
|
|
149
151
|
export { parseOpenGeniLink } from "@opengeni/sdk";
|
|
152
|
+
export { ArtifactLabelsProvider, DEFAULT_ARTIFACT_LABELS, type ArtifactLabels, } from "./components/artifacts/artifact-chrome.js";
|
|
150
153
|
export { CopyButton, CopyHoverFrame } from "./components/copy-button.js";
|
|
151
154
|
export { copyTextToClipboard, tableElementToTsv } from "./lib/clipboard.js";
|
|
152
155
|
export { SessionStatus, StatusDot, SESSION_STATUS_META } from "./components/session-status.js";
|
|
@@ -163,6 +166,8 @@ export { DiffView } from "./components/diff-view.js";
|
|
|
163
166
|
export type { DiffViewProps, DiffTheme } from "./components/diff-view.js";
|
|
164
167
|
export { PierreDiff } from "./components/pierre-diff.js";
|
|
165
168
|
export { registerPierreDiffs, type PierreDiffsLoader } from "./lib/pierre-diffs-loader.js";
|
|
169
|
+
export { registerSandboxTerminal, registerCodeEditor, registerDesktopViewer, } from "./lib/workbench-peers.js";
|
|
170
|
+
export type { WorkbenchPeerLoader, SandboxTerminalPeers, CodeEditorPeers, CodeEditorLanguage, CodeEditorLanguages, } from "./lib/workbench-peers.js";
|
|
166
171
|
export type { PierreDiffProps } from "./components/pierre-diff.js";
|
|
167
172
|
export { PierreFile } from "./components/pierre-file.js";
|
|
168
173
|
export type { PierreFileProps } from "./components/pierre-file.js";
|