@opengeni/react 0.57.0 → 1.0.2-canary.37191796234001
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 +654 -22
- package/dist/accounts.d.ts +64 -0
- package/dist/accounts.js +822 -0
- package/dist/accounts.js.map +1 -0
- package/dist/approvals.d.ts +2 -1
- 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 +4 -1
- package/dist/artifacts.js +518 -42
- package/dist/artifacts.js.map +1 -1
- package/dist/browser-viewer-GTR5XQ7X.js +16 -0
- package/dist/capability-catalog-row.d.ts +20 -0
- package/dist/capability-logo-fallback.d.ts +3 -0
- package/dist/chat-interactive-block-UGBTNB3L.js +11 -0
- package/dist/chat-interactive-block-UGBTNB3L.js.map +1 -0
- package/dist/{chunk-5UQPNLIO.js → chunk-23J2ZNXT.js} +4117 -3896
- package/dist/chunk-23J2ZNXT.js.map +1 -0
- package/dist/chunk-447JLCBU.js +209 -0
- package/dist/chunk-447JLCBU.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-5J4FOW6Q.js +108 -0
- package/dist/chunk-5J4FOW6Q.js.map +1 -0
- package/dist/chunk-A2PI6UMY.js +41 -0
- package/dist/chunk-A2PI6UMY.js.map +1 -0
- package/dist/{chunk-7WCLAEFV.js → chunk-A4UJB2MM.js} +37 -27
- package/dist/chunk-A4UJB2MM.js.map +1 -0
- package/dist/chunk-B3V6TG77.js +41 -0
- package/dist/chunk-B3V6TG77.js.map +1 -0
- package/dist/chunk-BRM6FVZA.js +302 -0
- package/dist/chunk-BRM6FVZA.js.map +1 -0
- package/dist/chunk-C5X5AJXK.js +182 -0
- package/dist/chunk-C5X5AJXK.js.map +1 -0
- package/dist/chunk-CR7U7HAR.js +453 -0
- package/dist/chunk-CR7U7HAR.js.map +1 -0
- package/dist/{chunk-R3AZOAB5.js → chunk-DYWBUX5Q.js} +29 -123
- package/dist/chunk-DYWBUX5Q.js.map +1 -0
- package/dist/chunk-E3G7SAYZ.js +3124 -0
- package/dist/chunk-E3G7SAYZ.js.map +1 -0
- package/dist/chunk-ELCE5SXV.js +359 -0
- package/dist/chunk-ELCE5SXV.js.map +1 -0
- package/dist/chunk-ERGYJIBB.js +21 -0
- package/dist/chunk-ERGYJIBB.js.map +1 -0
- package/dist/chunk-FFA2OVOV.js +319 -0
- package/dist/chunk-FFA2OVOV.js.map +1 -0
- package/dist/chunk-FZCP527Y.js +116 -0
- package/dist/chunk-FZCP527Y.js.map +1 -0
- package/dist/chunk-GIMRELBW.js +14 -0
- package/dist/chunk-GIMRELBW.js.map +1 -0
- package/dist/{chunk-6KLX2RH5.js → chunk-H2NJQORO.js} +1069 -79
- package/dist/chunk-H2NJQORO.js.map +1 -0
- package/dist/chunk-I7IWRQLN.js +1608 -0
- package/dist/chunk-I7IWRQLN.js.map +1 -0
- package/dist/{chunk-HA46CYQK.js → chunk-IQUCRAT7.js} +792 -537
- package/dist/chunk-IQUCRAT7.js.map +1 -0
- package/dist/chunk-IWIDV7SB.js +1 -0
- package/dist/chunk-IWIDV7SB.js.map +1 -0
- package/dist/chunk-J2QWVSQY.js +312 -0
- package/dist/chunk-J2QWVSQY.js.map +1 -0
- package/dist/chunk-JFNEV4LU.js +2733 -0
- package/dist/chunk-JFNEV4LU.js.map +1 -0
- package/dist/chunk-JT4JW7BC.js +54 -0
- package/dist/chunk-JT4JW7BC.js.map +1 -0
- package/dist/chunk-K3HQAKQX.js +24 -0
- package/dist/chunk-K3HQAKQX.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-NZUI76EM.js +371 -0
- package/dist/chunk-NZUI76EM.js.map +1 -0
- package/dist/{chunk-PEI6RANI.js → chunk-PNY3JKBJ.js} +309 -74
- package/dist/chunk-PNY3JKBJ.js.map +1 -0
- package/dist/{chunk-IGC6A2ZI.js → chunk-Q5QBEZIQ.js} +777 -246
- package/dist/chunk-Q5QBEZIQ.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-B6WPZSTT.js → chunk-SJZDKVW2.js} +1331 -1163
- package/dist/chunk-SJZDKVW2.js.map +1 -0
- package/dist/chunk-TMJRG4YC.js +12803 -0
- package/dist/chunk-TMJRG4YC.js.map +1 -0
- package/dist/chunk-TMYGL6X5.js +742 -0
- package/dist/chunk-TMYGL6X5.js.map +1 -0
- package/dist/chunk-UGLEYEMP.js +33 -0
- package/dist/chunk-UGLEYEMP.js.map +1 -0
- package/dist/chunk-UK4TINKT.js +27 -0
- package/dist/chunk-UK4TINKT.js.map +1 -0
- package/dist/chunk-UTRTG6LH.js +220 -0
- package/dist/chunk-UTRTG6LH.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-HUIKIDM5.js → chunk-WUISZ3WU.js} +223 -115
- package/dist/chunk-WUISZ3WU.js.map +1 -0
- package/dist/chunk-XCHWDJ22.js +107 -0
- package/dist/chunk-XCHWDJ22.js.map +1 -0
- package/dist/chunk-XOAMRDDK.js +481 -0
- package/dist/chunk-XOAMRDDK.js.map +1 -0
- package/dist/chunk-XUW2UWQM.js +299 -0
- package/dist/chunk-XUW2UWQM.js.map +1 -0
- package/dist/{chunk-KCGXPP5V.js → chunk-Y2PRMYLC.js} +11 -6
- package/dist/chunk-Y2PRMYLC.js.map +1 -0
- package/dist/chunk-YBXQDQFX.js +1772 -0
- package/dist/chunk-YBXQDQFX.js.map +1 -0
- package/dist/{chunk-KZ73RL76.js → chunk-YQEAA6LT.js} +7 -3
- package/dist/chunk-YQEAA6LT.js.map +1 -0
- package/dist/chunk-YV4L3ILF.js +9 -0
- package/dist/chunk-YV4L3ILF.js.map +1 -0
- package/dist/{chunk-LLOLUHVG.js → chunk-YWFG7ZX7.js} +1358 -2746
- package/dist/chunk-YWFG7ZX7.js.map +1 -0
- package/dist/chunk-ZYRGEKWS.js +216 -0
- package/dist/chunk-ZYRGEKWS.js.map +1 -0
- package/dist/client.d.ts +7 -4
- package/dist/clipboard.js +1 -0
- package/dist/commands/types.d.ts +2 -0
- package/dist/components/anthropic-mark.d.ts +3 -0
- package/dist/components/approval-surface.d.ts +15 -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/artifact-surface.d.ts +3 -1
- 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/document-editor.d.ts +4 -2
- 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/editable-document.d.ts +1 -1
- package/dist/components/artifacts/editable-presentation.d.ts +2 -2
- package/dist/components/artifacts/editable-spreadsheet.d.ts +2 -1
- package/dist/components/artifacts/index.d.ts +8 -1
- package/dist/components/artifacts/inline-html-document.d.ts +2 -0
- package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
- package/dist/components/artifacts/presentation-editor.d.ts +6 -2
- package/dist/components/artifacts/published-html-artifact-frame.d.ts +48 -3
- package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
- package/dist/components/artifacts/site-view.d.ts +23 -0
- package/dist/components/artifacts/spreadsheet-general-display.d.ts +24 -0
- package/dist/components/artifacts/visualization-assets.gen.d.ts +2 -0
- package/dist/components/browser-select-control.d.ts +16 -0
- package/dist/components/browser-viewer.d.ts +10 -1
- package/dist/components/chat-composer.d.ts +21 -3
- package/dist/components/child-session-link.d.ts +5 -0
- package/dist/components/claude-mark.d.ts +3 -0
- package/dist/components/code-editor.d.ts +1 -4
- package/dist/components/composer.d.ts +45 -4
- package/dist/components/computer-viewer.d.ts +4 -1
- package/dist/components/copy-button.d.ts +3 -1
- package/dist/components/desktop-viewer.d.ts +1 -1
- package/dist/components/enrollment-consent.d.ts +6 -3
- package/dist/components/file-browser.d.ts +10 -1
- package/dist/components/fleet-tile.d.ts +2 -2
- package/dist/components/grok-mark.d.ts +26 -0
- package/dist/components/human-input-form.d.ts +21 -2
- package/dist/components/human-input-surface.d.ts +6 -3
- 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-table-layout.d.ts +12 -0
- package/dist/components/markdown.d.ts +47 -3
- package/dist/components/message-timeline.d.ts +72 -9
- package/dist/components/model-mark.d.ts +29 -0
- package/dist/components/model-policy-picker-menu.d.ts +9 -0
- package/dist/components/model-policy-picker.d.ts +62 -13
- package/dist/components/open-geni-chat.d.ts +55 -0
- package/dist/components/open-geni-links.d.ts +68 -0
- package/dist/components/openrouter-mark.d.ts +6 -0
- package/dist/components/pierre-file.d.ts +1 -1
- package/dist/components/preview-loading.d.ts +2 -0
- package/dist/components/queue-item-content.d.ts +9 -0
- package/dist/components/sandbox-files.d.ts +13 -2
- package/dist/components/sandbox-workspace.d.ts +43 -3
- package/dist/components/session-capability-frame.d.ts +35 -0
- package/dist/components/session-chrome.d.ts +66 -8
- package/dist/components/session-commands-panel.d.ts +6 -0
- package/dist/components/session-commands.d.ts +6 -0
- package/dist/components/session-connection-request.d.ts +8 -0
- package/dist/components/session-conversation.d.ts +86 -0
- package/dist/components/session-list.d.ts +36 -0
- package/dist/components/session-mcp-capability-card.d.ts +41 -0
- package/dist/components/timeline-anchor.d.ts +24 -0
- package/dist/components/timeline-annotation-chrome.d.ts +25 -0
- package/dist/components/timeline-annotation-layout.d.ts +42 -0
- package/dist/components/timeline-annotation-markers.d.ts +8 -0
- package/dist/components/timeline-annotation-reveal-context.d.ts +4 -0
- package/dist/components/timeline-annotation-shared.d.ts +31 -0
- package/dist/components/timeline-annotations-dialog.d.ts +3 -2
- package/dist/components/timeline-annotations.d.ts +13 -3
- package/dist/components/timeline-reading-progress.d.ts +11 -0
- package/dist/components/timeline-search.d.ts +34 -0
- package/dist/components/timeline-settlement.d.ts +16 -0
- package/dist/components/tip-follow.d.ts +16 -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/components/use-viewer-menu-dismiss.d.ts +2 -0
- package/dist/components/user-message-body.d.ts +10 -1
- package/dist/components/workspace-dock.d.ts +6 -2
- package/dist/composer.d.ts +5 -4
- package/dist/composer.js +15 -9
- package/dist/computer-viewer-ENHVAZ2Q.js +19 -0
- package/dist/computer-viewer-ENHVAZ2Q.js.map +1 -0
- package/dist/connect-account-identity.d.ts +8 -0
- package/dist/connect-accounts.d.ts +15 -0
- package/dist/connect-chooser.d.ts +18 -0
- package/dist/connect-panel.d.ts +18 -0
- package/dist/connect-setup.d.ts +16 -0
- package/dist/connect.d.ts +21 -0
- package/dist/connect.js +2129 -0
- package/dist/connect.js.map +1 -0
- package/dist/connection-catalog.d.ts +38 -0
- package/dist/connection-discovery.d.ts +12 -0
- package/dist/connection-installed.d.ts +17 -0
- package/dist/connection-logo.d.ts +9 -0
- package/dist/connection-service-logo.d.ts +8 -0
- package/dist/connection-service-presentation.d.ts +13 -0
- package/dist/connection-skeleton.d.ts +5 -0
- package/dist/connection-type-picker.d.ts +6 -0
- package/dist/conversation-timeline.d.ts +5 -0
- package/dist/desktop.d.ts +7 -0
- package/dist/desktop.js +26 -0
- package/dist/desktop.js.map +1 -0
- package/dist/device-authorization.d.ts +23 -0
- package/dist/diffs.d.ts +8 -0
- package/dist/diffs.js +14 -0
- package/dist/diffs.js.map +1 -0
- package/dist/discovery-cache.d.ts +5 -0
- package/dist/editor.d.ts +7 -0
- package/dist/editor.js +21 -0
- package/dist/editor.js.map +1 -0
- package/dist/embedded-session-client.d.ts +23 -0
- package/dist/file-node-visibility.d.ts +15 -0
- package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-YZ3ZKWMM.js} +2 -1
- package/dist/fleet-decision-row-YZ3ZKWMM.js.map +1 -0
- package/dist/hooks/channel-cache.d.ts +23 -0
- package/dist/hooks/latest-question.d.ts +25 -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-browser-frame-stream.d.ts +1 -1
- package/dist/hooks/use-browser-session.d.ts +12 -1
- package/dist/hooks/use-channels.d.ts +1 -0
- package/dist/hooks/use-codex-accounts.d.ts +25 -7
- package/dist/hooks/use-composer.d.ts +45 -9
- package/dist/hooks/use-computer-frame-stream.d.ts +1 -1
- package/dist/hooks/use-computer-input-posture.d.ts +13 -0
- package/dist/hooks/use-computer-session.d.ts +2 -0
- package/dist/hooks/use-connect.d.ts +22 -0
- package/dist/hooks/use-desktop-stream.d.ts +1 -1
- package/dist/hooks/use-file-attachments.d.ts +21 -2
- 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 +5 -1
- package/dist/hooks/use-session-background-commands.d.ts +14 -0
- package/dist/hooks/use-session-events.d.ts +30 -8
- package/dist/hooks/use-session-lineage.d.ts +4 -0
- package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
- package/dist/hooks/use-session.d.ts +6 -0
- package/dist/hooks/use-turn-queue.d.ts +12 -0
- package/dist/hooks/use-usage.d.ts +40 -0
- package/dist/hooks/use-workspace-edit.d.ts +4 -0
- package/dist/hooks/use-workspace-sessions.d.ts +27 -5
- package/dist/human-input.d.ts +3 -1
- package/dist/identity-link-accounts.d.ts +11 -0
- package/dist/identity-link-consent.d.ts +18 -0
- package/dist/index.d.ts +60 -17
- package/dist/index.js +2237 -6200
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +1 -1
- package/dist/interaction.js +35 -184
- package/dist/interaction.js.map +1 -1
- package/dist/latest-question-755OW5DS.js +117 -0
- package/dist/latest-question-755OW5DS.js.map +1 -0
- package/dist/lib/error-message.d.ts +7 -0
- package/dist/lib/format.d.ts +36 -2
- package/dist/lib/host-theme.d.ts +70 -0
- package/dist/lib/interaction-errors.d.ts +6 -0
- package/dist/lib/menu-styles.d.ts +22 -0
- package/dist/lib/pierre-diffs-loader.d.ts +20 -0
- package/dist/lib/workbench-peers.d.ts +36 -0
- package/dist/lib/xterm-theme.d.ts +7 -5
- package/dist/machines.d.ts +4 -2
- package/dist/machines.js +14 -4
- package/dist/markdown-table-layout-QXSLK4BY.js +106 -0
- package/dist/markdown-table-layout-QXSLK4BY.js.map +1 -0
- package/dist/mcp-connection-status.d.ts +14 -0
- package/dist/model-policy-picker-menu-PWRI7R2X.js +14 -0
- package/dist/model-policy-picker-menu-PWRI7R2X.js.map +1 -0
- package/dist/model-policy.d.ts +19 -3
- package/dist/model-policy.js +9 -1
- package/dist/older-history.d.ts +30 -0
- package/dist/platform-activity-row-627BFZ46.js +182 -0
- package/dist/platform-activity-row-627BFZ46.js.map +1 -0
- package/dist/plugin-details.d.ts +14 -0
- package/dist/plugin-discovery.d.ts +25 -0
- package/dist/provider.d.ts +13 -1
- package/dist/{queue-surface-implementation-2KVJTYXH.js → queue-surface-implementation-ZHFI5JBP.js} +131 -44
- package/dist/queue-surface-implementation-ZHFI5JBP.js.map +1 -0
- package/dist/realtime/realtime-control.d.ts +10 -3
- package/dist/realtime.js +229 -83
- package/dist/realtime.js.map +1 -1
- package/dist/sandbox-files-BBC47SLD.js +20 -0
- package/dist/sandbox-files-BBC47SLD.js.map +1 -0
- package/dist/session-auth-recommendation.d.ts +5 -0
- package/dist/session-capability-policy.d.ts +12 -0
- package/dist/session-ui.d.ts +30 -2
- package/dist/session-ui.js +85 -7
- package/dist/session-ui.js.map +1 -1
- package/dist/session.d.ts +8 -2
- package/dist/session.js +30 -19
- package/dist/sites-ui.d.ts +34 -0
- package/dist/sites.d.ts +3 -0
- package/dist/sites.js +11 -0
- package/dist/sites.js.map +1 -0
- package/dist/skill-discovery.d.ts +47 -0
- package/dist/terminal.d.ts +8 -0
- package/dist/terminal.js +31 -0
- package/dist/terminal.js.map +1 -0
- package/dist/timeline/activity-rail.d.ts +11 -2
- package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
- package/dist/timeline/compaction-copy.d.ts +10 -0
- package/dist/timeline/entrance.d.ts +13 -1
- package/dist/timeline/genie-loading.d.ts +34 -0
- package/dist/timeline/index.d.ts +6 -2
- package/dist/timeline/knowledge-receipt.d.ts +17 -0
- package/dist/timeline/platform-activity-row.d.ts +14 -0
- package/dist/timeline/presented-image.d.ts +6 -0
- package/dist/timeline/projection.d.ts +31 -2
- package/dist/timeline/registry.d.ts +2 -0
- package/dist/timeline/retained-image.d.ts +18 -0
- package/dist/timeline/rolling-activity.d.ts +11 -0
- package/dist/timeline/screenshot-lightbox.d.ts +16 -1
- package/dist/timeline/shared.d.ts +8 -3
- package/dist/timeline/startup-preference.d.ts +3 -0
- package/dist/timeline/startup-timings.d.ts +4 -0
- package/dist/timeline/tool-display-name.d.ts +2 -1
- package/dist/timeline/turn-summary.d.ts +32 -3
- package/dist/timeline/types.d.ts +141 -7
- package/dist/timeline-annotation-markers-GNDHTGBD.js +165 -0
- package/dist/timeline-annotation-markers-GNDHTGBD.js.map +1 -0
- package/dist/timeline-annotation-selection-DMLMM2TX.js +241 -0
- package/dist/timeline-annotation-selection-DMLMM2TX.js.map +1 -0
- package/dist/timeline-annotations-dialog-ELRDBHTS.js +273 -0
- package/dist/timeline-annotations-dialog-ELRDBHTS.js.map +1 -0
- package/dist/types/machines.d.ts +2 -2
- 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 +1074 -0
- package/dist/usage.js.map +1 -0
- package/package.json +44 -4
- package/src/accounts.tsx +1072 -0
- package/src/approvals.ts +8 -1
- package/src/artifacts.ts +42 -0
- package/src/assets/README.md +8 -0
- package/src/assets/gmail.ico +0 -0
- package/src/assets/outlook.ico +0 -0
- package/src/capability-catalog-row.tsx +94 -0
- package/src/capability-logo-fallback.ts +22 -0
- package/src/client.ts +22 -13
- package/src/commands/registry.ts +18 -15
- package/src/commands/types.ts +2 -0
- package/src/components/anthropic-mark.tsx +10 -0
- package/src/components/approval-surface.tsx +171 -37
- package/src/components/artifacts/artifact-chrome.tsx +413 -0
- package/src/components/artifacts/artifact-sandbox.tsx +185 -0
- package/src/components/artifacts/artifact-surface.tsx +39 -19
- package/src/components/artifacts/chat-interactive-block.tsx +260 -0
- package/src/components/artifacts/deferred-chat-media.tsx +67 -0
- package/src/components/artifacts/document-editor.tsx +141 -16
- package/src/components/artifacts/editable-artifact-ui.tsx +4 -2
- 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 +37 -36
- package/src/components/artifacts/editable-presentation.tsx +36 -18
- package/src/components/artifacts/editable-spreadsheet.tsx +5 -2
- package/src/components/artifacts/index.ts +44 -0
- package/src/components/artifacts/inline-html-document.ts +24 -0
- package/src/components/artifacts/latest-task-runner.ts +49 -0
- package/src/components/artifacts/presentation-editor.tsx +323 -67
- package/src/components/artifacts/published-html-artifact-frame.tsx +338 -5
- package/src/components/artifacts/session-artifact-viewer.tsx +376 -0
- package/src/components/artifacts/site-view.tsx +116 -0
- package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
- package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
- package/src/components/artifacts/spreadsheet-grid.tsx +12 -13
- package/src/components/artifacts/visualization-assets/base.css +1015 -0
- package/src/components/artifacts/visualization-assets/helpers.html +349 -0
- package/src/components/artifacts/visualization-assets.gen.ts +3 -0
- package/src/components/browser-select-control.tsx +312 -0
- package/src/components/browser-viewer.tsx +1054 -314
- package/src/components/chat-composer.tsx +131 -85
- package/src/components/child-session-link.tsx +27 -0
- package/src/components/claude-mark.tsx +10 -0
- package/src/components/code-editor.tsx +13 -16
- package/src/components/composer-transcription-control.tsx +7 -5
- package/src/components/composer.tsx +376 -49
- package/src/components/computer-viewer.tsx +1041 -329
- package/src/components/copy-button.tsx +13 -5
- package/src/components/desktop-viewer.tsx +1 -1
- package/src/components/enrollment-consent.tsx +65 -7
- package/src/components/enrollment-device-flow.tsx +1 -1
- package/src/components/file-browser.tsx +158 -34
- package/src/components/fleet-tile.tsx +8 -16
- package/src/components/generated-video-player.tsx +4 -2
- package/src/components/grok-mark.tsx +33 -0
- package/src/components/human-input-form.tsx +455 -114
- package/src/components/human-input-surface.tsx +18 -7
- package/src/components/interaction-intervention-banner.tsx +2 -2
- package/src/components/machine-card.tsx +119 -4
- package/src/components/machine-dock-bar.tsx +1 -1
- package/src/components/machine-input-display.ts +23 -2
- package/src/components/machines/machine-detail.tsx +52 -2
- package/src/components/machines/machine-operation-policy.tsx +179 -0
- package/src/components/machines-dashboard.tsx +8 -17
- package/src/components/markdown-table-layout.ts +132 -0
- package/src/components/markdown.tsx +473 -44
- package/src/components/message-timeline.tsx +2498 -663
- package/src/components/model-mark.tsx +90 -0
- package/src/components/model-picker.tsx +15 -4
- package/src/components/model-policy-picker-menu.tsx +424 -0
- package/src/components/model-policy-picker.tsx +337 -381
- package/src/components/open-geni-chat.tsx +319 -0
- package/src/components/open-geni-links.tsx +179 -0
- package/src/components/openrouter-mark.tsx +13 -0
- package/src/components/pierre-diff.tsx +41 -16
- package/src/components/pierre-file.tsx +36 -11
- package/src/components/preview-loading.tsx +154 -0
- package/src/components/queue-item-content.ts +14 -0
- package/src/components/queue-surface-implementation.tsx +132 -42
- package/src/components/queue-surface-state.tsx +3 -1
- package/src/components/sandbox-files.tsx +267 -35
- package/src/components/sandbox-terminal.tsx +48 -11
- package/src/components/sandbox-workspace.tsx +337 -135
- package/src/components/session-capability-frame.tsx +192 -0
- package/src/components/session-chrome.tsx +1027 -328
- package/src/components/session-commands-panel.tsx +126 -0
- package/src/components/session-commands.tsx +18 -0
- package/src/components/session-connection-request.tsx +97 -0
- package/src/components/session-conversation.tsx +512 -0
- package/src/components/session-list.tsx +250 -0
- package/src/components/session-mcp-capability-card.tsx +680 -0
- package/src/components/session-status.tsx +1 -1
- package/src/components/timeline-anchor.tsx +119 -0
- package/src/components/timeline-annotation-chrome.tsx +196 -0
- package/src/components/timeline-annotation-layout.ts +268 -0
- package/src/components/timeline-annotation-markers.tsx +185 -0
- package/src/components/timeline-annotation-reveal-context.ts +9 -0
- package/src/components/timeline-annotation-selection.tsx +106 -54
- package/src/components/timeline-annotation-shared.ts +245 -0
- package/src/components/timeline-annotations-dialog.tsx +185 -128
- package/src/components/timeline-annotations.tsx +189 -45
- package/src/components/timeline-reading-progress.ts +80 -0
- package/src/components/timeline-search.tsx +168 -0
- package/src/components/timeline-settlement.ts +60 -0
- package/src/components/tip-follow.ts +70 -7
- package/src/components/tooltip.tsx +38 -5
- 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/components/use-viewer-menu-dismiss.ts +33 -0
- package/src/components/user-message-body.tsx +194 -49
- package/src/components/workspace-dock.tsx +141 -175
- package/src/composer.ts +6 -1
- package/src/connect-account-identity.tsx +34 -0
- package/src/connect-accounts.tsx +233 -0
- package/src/connect-chooser.tsx +336 -0
- package/src/connect-panel.tsx +99 -0
- package/src/connect-setup.tsx +307 -0
- package/src/connect.ts +60 -0
- package/src/connection-assets.d.ts +4 -0
- package/src/connection-catalog.tsx +162 -0
- package/src/connection-discovery.tsx +235 -0
- package/src/connection-installed.tsx +51 -0
- package/src/connection-logo.tsx +37 -0
- package/src/connection-service-logo.tsx +55 -0
- package/src/connection-service-presentation.ts +46 -0
- package/src/connection-skeleton.tsx +16 -0
- package/src/connection-type-picker.tsx +36 -0
- package/src/conversation-timeline.ts +92 -0
- package/src/desktop.ts +24 -0
- package/src/device-authorization.tsx +98 -0
- package/src/diffs.ts +16 -0
- package/src/discovery-cache.ts +42 -0
- package/src/editor.ts +13 -0
- package/src/embedded-session-client.ts +104 -0
- package/src/file-node-visibility.ts +66 -0
- package/src/hooks/channel-cache.ts +104 -0
- package/src/hooks/internal.ts +3 -2
- package/src/hooks/latest-question.ts +164 -0
- package/src/hooks/shared-machines-list.ts +239 -0
- package/src/hooks/use-attached-browsers.ts +5 -1
- package/src/hooks/use-available-models.ts +20 -14
- package/src/hooks/use-browser-frame-stream.ts +25 -3
- package/src/hooks/use-browser-session.ts +271 -71
- package/src/hooks/use-browser-sessions.ts +7 -1
- package/src/hooks/use-channels.ts +32 -10
- package/src/hooks/use-codex-accounts.ts +78 -21
- package/src/hooks/use-composer.ts +1034 -320
- package/src/hooks/use-computer-frame-stream.ts +39 -16
- package/src/hooks/use-computer-input-posture.ts +94 -0
- package/src/hooks/use-computer-session.ts +110 -32
- package/src/hooks/use-computer-sessions.ts +8 -1
- package/src/hooks/use-connect.ts +23 -0
- package/src/hooks/use-desktop-stream.ts +19 -28
- package/src/hooks/use-file-attachments.ts +118 -10
- package/src/hooks/use-goal.ts +36 -9
- package/src/hooks/use-human-input.ts +31 -4
- package/src/hooks/use-last-started-turn-policy.ts +15 -13
- package/src/hooks/use-machine-chip.ts +23 -6
- package/src/hooks/use-machines.ts +104 -6
- package/src/hooks/use-sandbox-files.ts +253 -150
- package/src/hooks/use-sandbox-git.ts +58 -29
- package/src/hooks/use-session-background-commands.ts +67 -0
- package/src/hooks/use-session-capabilities.ts +21 -2
- package/src/hooks/use-session-events.ts +759 -433
- package/src/hooks/use-session-lineage.ts +28 -6
- package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
- package/src/hooks/use-session.ts +75 -16
- package/src/hooks/use-slash-commands.ts +6 -11
- package/src/hooks/use-turn-queue.ts +113 -13
- package/src/hooks/use-usage.ts +100 -0
- package/src/hooks/use-voice-input.ts +12 -1
- package/src/hooks/use-workspace-capture.ts +3 -2
- package/src/hooks/use-workspace-edit.ts +23 -5
- package/src/hooks/use-workspace-sessions.ts +99 -11
- package/src/human-input.ts +12 -1
- package/src/identity-link-accounts.tsx +148 -0
- package/src/identity-link-consent.tsx +192 -0
- package/src/index.ts +157 -12
- package/src/interaction.ts +1 -0
- package/src/lib/error-message.ts +37 -0
- package/src/lib/format.ts +150 -14
- package/src/lib/host-theme.ts +511 -0
- package/src/lib/interaction-errors.ts +33 -0
- package/src/lib/menu-styles.ts +44 -0
- package/src/lib/pierre-diffs-loader.ts +53 -0
- package/src/lib/workbench-peers.ts +62 -0
- package/src/lib/xterm-theme.ts +23 -21
- package/src/machines.ts +9 -1
- package/src/mcp-connection-status.ts +35 -0
- package/src/model-policy.ts +223 -69
- package/src/older-history.ts +87 -0
- package/src/plugin-details.tsx +185 -0
- package/src/plugin-discovery.tsx +196 -0
- package/src/provider.tsx +55 -14
- package/src/realtime/dropdown-menu.tsx +19 -12
- package/src/realtime/realtime-control.tsx +274 -60
- package/src/session-auth-recommendation.ts +48 -0
- package/src/session-capability-policy.ts +83 -0
- package/src/session-context.ts +1 -0
- package/src/session-ui.ts +66 -2
- package/src/session.ts +18 -1
- package/src/sites-ui.tsx +402 -0
- package/src/sites.ts +3 -0
- package/src/skill-discovery.tsx +208 -0
- package/src/terminal.ts +26 -0
- package/src/timeline/activity-rail.tsx +171 -80
- package/src/timeline/allowance-exhausted-row.tsx +86 -0
- package/src/timeline/compaction-copy.ts +42 -0
- package/src/timeline/entrance.tsx +28 -3
- package/src/timeline/fleet-decision-projection.ts +2 -1
- package/src/timeline/fleet-decision-row.tsx +1 -0
- package/src/timeline/genie-loading.tsx +136 -0
- package/src/timeline/index.ts +11 -0
- package/src/timeline/knowledge-receipt.tsx +100 -0
- package/src/timeline/parsers.ts +2 -2
- package/src/timeline/platform-activity-row.tsx +216 -0
- package/src/timeline/presented-image.ts +49 -0
- package/src/timeline/projection.ts +1600 -84
- package/src/timeline/registry.ts +15 -3
- package/src/timeline/retained-image.ts +97 -0
- package/src/timeline/rolling-activity.tsx +92 -0
- package/src/timeline/screenshot-lightbox.tsx +115 -17
- package/src/timeline/shared.tsx +47 -15
- package/src/timeline/startup-preference.ts +33 -0
- package/src/timeline/startup-timings.tsx +145 -0
- package/src/timeline/tool-display-name.ts +8 -6
- package/src/timeline/tool-renderers.tsx +497 -128
- package/src/timeline/turn-summary.tsx +208 -44
- package/src/timeline/types.ts +186 -7
- package/src/types/machines.ts +10 -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 +2098 -757
- package/styles/connect.css +284 -0
- package/styles/connect.d.ts +1 -0
- package/styles/effective-tokens.css +1 -0
- package/styles/index.css +201 -9
- package/styles/responsive.css +27 -1
- package/styles/session-capability.css +44 -0
- package/styles/tokens.css +135 -65
- package/dist/chunk-5UQPNLIO.js.map +0 -1
- package/dist/chunk-6KLX2RH5.js.map +0 -1
- package/dist/chunk-7WCLAEFV.js.map +0 -1
- package/dist/chunk-B6WPZSTT.js.map +0 -1
- package/dist/chunk-FK6VG4LL.js +0 -90
- package/dist/chunk-FK6VG4LL.js.map +0 -1
- package/dist/chunk-HA46CYQK.js.map +0 -1
- package/dist/chunk-HUIKIDM5.js.map +0 -1
- package/dist/chunk-IGC6A2ZI.js.map +0 -1
- package/dist/chunk-KCGXPP5V.js.map +0 -1
- package/dist/chunk-KZ73RL76.js.map +0 -1
- package/dist/chunk-LAKLF4PA.js +0 -141
- package/dist/chunk-LAKLF4PA.js.map +0 -1
- package/dist/chunk-LLOLUHVG.js.map +0 -1
- package/dist/chunk-MKPIAGVL.js +0 -465
- package/dist/chunk-MKPIAGVL.js.map +0 -1
- package/dist/chunk-PEI6RANI.js.map +0 -1
- package/dist/chunk-R3AZOAB5.js.map +0 -1
- package/dist/chunk-WSK7G5LE.js +0 -170
- package/dist/chunk-WSK7G5LE.js.map +0 -1
- package/dist/chunk-XBZWOM2K.js +0 -218
- package/dist/chunk-XBZWOM2K.js.map +0 -1
- package/dist/chunk-Y7OEDUJ5.js +0 -8810
- package/dist/chunk-Y7OEDUJ5.js.map +0 -1
- package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
- package/dist/hooks/use-packs.d.ts +0 -32
- package/dist/interactive-workbench-viewers-TOHBXJEE.js +0 -15
- package/dist/queue-surface-implementation-2KVJTYXH.js.map +0 -1
- package/dist/timeline-annotation-selection-3L7LHGG2.js +0 -187
- package/dist/timeline-annotation-selection-3L7LHGG2.js.map +0 -1
- package/dist/timeline-annotations-dialog-U7EVLR75.js +0 -196
- package/dist/timeline-annotations-dialog-U7EVLR75.js.map +0 -1
- package/src/hooks/use-packs.ts +0 -157
- /package/dist/{interactive-workbench-viewers-TOHBXJEE.js.map → browser-viewer-GTR5XQ7X.js.map} +0 -0
|
@@ -8,6 +8,8 @@ export type UseFileAttachmentsOptions = EmbeddedFileAttachmentClientOverride & {
|
|
|
8
8
|
* UseFileAttachmentsResult.addFiles} (the explicit picker / drop path)
|
|
9
9
|
* bypasses it.
|
|
10
10
|
*/
|
|
11
|
+
/** Retain original uploads in the chat owner’s personal scope when private. */
|
|
12
|
+
scope?: "workspace" | "personal";
|
|
11
13
|
pasteFilter?: ((file: File) => boolean) | undefined;
|
|
12
14
|
};
|
|
13
15
|
export type FileAttachment = {
|
|
@@ -20,7 +22,11 @@ export type FileAttachment = {
|
|
|
20
22
|
file?: FileAsset | undefined;
|
|
21
23
|
/** Object-URL for an inline preview; minted for `image/*` files only. */
|
|
22
24
|
previewUrl?: string | undefined;
|
|
25
|
+
/** Stable SDK failure code for UI behavior that must not parse error copy. */
|
|
26
|
+
errorCode?: "secure_context_required" | undefined;
|
|
23
27
|
error?: string | undefined;
|
|
28
|
+
/** Original diagnostic failure; presentation copy is kept separately in `error`. */
|
|
29
|
+
errorCause?: unknown;
|
|
24
30
|
};
|
|
25
31
|
export type UseFileAttachmentsResult = {
|
|
26
32
|
attachments: FileAttachment[];
|
|
@@ -45,12 +51,25 @@ export type UseFileAttachmentsResult = {
|
|
|
45
51
|
}) => void;
|
|
46
52
|
/** Restore already-ready server assets without recreating browser-local bytes. */
|
|
47
53
|
restoreReadyFiles: (files: Iterable<FileAsset>) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a ready image's short-lived server preview URL on demand. Optional
|
|
56
|
+
* for upload-only embedded clients; local object-URL previews remain usable
|
|
57
|
+
* without it.
|
|
58
|
+
*/
|
|
59
|
+
loadPreview?: ((id: string, signal?: AbortSignal) => Promise<string | undefined>) | undefined;
|
|
48
60
|
/**
|
|
49
61
|
* Re-run the upload for a `failed` attachment, in place (same id, same
|
|
50
62
|
* source file). No-op for an id that isn't a known failed upload.
|
|
51
63
|
*/
|
|
52
64
|
retry: (id: string) => void;
|
|
53
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Keep an attachment's object-URL alive for a consumer that outlives its
|
|
67
|
+
* queue entry (for example, an open route-level lightbox). The returned
|
|
68
|
+
* release is idempotent; pending revocation finishes after the last holder
|
|
69
|
+
* releases. Returns `undefined` when the attachment has no local preview.
|
|
70
|
+
*/
|
|
71
|
+
retainPreview: (id: string) => (() => void) | undefined;
|
|
72
|
+
/** Remove one attachment; revokes its object-URL after retained users finish. */
|
|
54
73
|
remove: (id: string) => void;
|
|
55
74
|
/**
|
|
56
75
|
* Remove only finalized files whose durable ids were accepted by a send.
|
|
@@ -58,7 +77,7 @@ export type UseFileAttachmentsResult = {
|
|
|
58
77
|
* next message.
|
|
59
78
|
*/
|
|
60
79
|
removeReadyFiles: (fileIds: Iterable<string>) => void;
|
|
61
|
-
/** Remove all attachments and revoke every object-URL. */
|
|
80
|
+
/** Remove all attachments and revoke every unretained object-URL. */
|
|
62
81
|
clear: () => void;
|
|
63
82
|
};
|
|
64
83
|
/**
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { MachineState } from "@opengeni/sdk";
|
|
2
2
|
import type { SessionCapabilitiesState } from "./use-session-capabilities.js";
|
|
3
|
-
/** The one truthful machine indicator.
|
|
4
|
-
*
|
|
3
|
+
/** The one truthful machine indicator. Managed cold compute is sleeping; a
|
|
4
|
+
* Connected Machine that is genuinely unreachable remains offline. */
|
|
5
5
|
export type MachineChipState = "live" | "waking" | "offline";
|
|
6
6
|
export type MachineChip = {
|
|
7
7
|
state: MachineChipState;
|
|
8
|
-
/** A ready-to-render label ("Live" / "Waking…" / "
|
|
8
|
+
/** A ready-to-render label ("Live" / "Waking…" / "Sleeping · saved 3m ago"). */
|
|
9
9
|
label: string;
|
|
10
10
|
/** The capture time backing an offline/stale label (ISO), or null. M4 may
|
|
11
11
|
* reformat this; `label` already embeds a relative form. */
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import type { RemoveEnrollmentRequest, RemoveEnrollmentResponse, SwapActiveSandboxResponse } from "@opengeni/sdk";
|
|
1
|
+
import type { RemoveEnrollmentRequest, RemoveEnrollmentResponse, MachineOperationPolicy, SwapActiveSandboxResponse, UpdateMachineOperationPolicyRequest, UpdateMachineAgentResponse } from "@opengeni/sdk";
|
|
2
2
|
import { type ClientOverride } from "../provider.js";
|
|
3
3
|
import type { MachinesResponse, MachineView, MetricSample } from "../types/machines.js";
|
|
4
|
+
/** Dashboard list: cheap heartbeat read, keep the pill reasonably fresh. */
|
|
5
|
+
export declare const MACHINES_DASHBOARD_POLL_MS = 10000;
|
|
6
|
+
/** Session surfaces share one poll for the same workspace+session. */
|
|
7
|
+
export declare const MACHINES_SESSION_POLL_MS = 15000;
|
|
8
|
+
/** Composer polls after the first load shows a machine, or to retry a real error. */
|
|
9
|
+
export declare const MACHINES_COMPOSER_POLL_MS = 30000;
|
|
4
10
|
/**
|
|
5
11
|
* The slice of the SDK client the Machines surface needs. The method NAMES +
|
|
6
12
|
* SIGNATURES match M10's `OpenGeniClient` (`listMachines`, `machineMetricsSeries`)
|
|
@@ -29,6 +35,10 @@ export type MachinesClientLike = {
|
|
|
29
35
|
}) => Promise<MetricSample[]>;
|
|
30
36
|
/** POST .../enrollments/:enrollmentId/revoke — workspace-admin removal. */
|
|
31
37
|
removeEnrollment?: (workspaceId: string, enrollmentId: string, request?: RemoveEnrollmentRequest) => Promise<RemoveEnrollmentResponse>;
|
|
38
|
+
/** POST .../machines/:enrollmentId/update — signed, generation-fenced update. */
|
|
39
|
+
updateMachineAgent?: (workspaceId: string, enrollmentId: string) => Promise<UpdateMachineAgentResponse>;
|
|
40
|
+
/** PATCH .../machines/:enrollmentId/operation-policy — revision-fenced policy. */
|
|
41
|
+
updateMachineOperationPolicy?: (workspaceId: string, enrollmentId: string, request: UpdateMachineOperationPolicyRequest) => Promise<MachineOperationPolicy>;
|
|
32
42
|
/**
|
|
33
43
|
* POST .../sessions/:sessionId/active-sandbox — swap the session's active
|
|
34
44
|
* sandbox to a machine. The default swap path; the real SDK client provides it.
|
|
@@ -67,6 +77,14 @@ export type UseMachinesResult = {
|
|
|
67
77
|
remove: (enrollmentId: string, request?: RemoveEnrollmentRequest) => Promise<RemoveEnrollmentResponse | null>;
|
|
68
78
|
canRemove: boolean;
|
|
69
79
|
removingEnrollmentId: string | null;
|
|
80
|
+
/** Start/retry the signed self-update for one Connected Machine. */
|
|
81
|
+
updateAgent: (enrollmentId: string) => Promise<UpdateMachineAgentResponse | null>;
|
|
82
|
+
canUpdateAgent: boolean;
|
|
83
|
+
updatingEnrollmentId: string | null;
|
|
84
|
+
/** Update the optional per-enrollment command memory policy. */
|
|
85
|
+
updateOperationPolicy: (enrollmentId: string, request: UpdateMachineOperationPolicyRequest) => Promise<MachineOperationPolicy | null>;
|
|
86
|
+
canUpdateOperationPolicy: boolean;
|
|
87
|
+
updatingOperationPolicyEnrollmentId: string | null;
|
|
70
88
|
/** Whether the host wired an attach/swap path (drives the card affordance). */
|
|
71
89
|
canAttach: boolean;
|
|
72
90
|
/** Fetch a downsampled metric series for one enrolled machine. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FsReadResponse, FsWriteResponse, OpenGeniRequestOptions, SessionCapabilities, SessionEvent, WorkspaceCaptureManifest } from "@opengeni/sdk";
|
|
1
|
+
import type { FileSystemRouteIdentity, FsReadResponse, FsWriteResponse, OpenGeniRequestOptions, SessionCapabilities, SessionEvent, WorkspaceCaptureManifest } from "@opengeni/sdk";
|
|
2
2
|
import { type ClientOverride } from "../provider.js";
|
|
3
3
|
/** The git-status overlay a file row may carry (tints modified files in the tree). */
|
|
4
4
|
export type FileTreeStatus = "added" | "modified" | "deleted" | "renamed" | "untracked";
|
|
@@ -29,6 +29,7 @@ export type SandboxWriteFileOptions = {
|
|
|
29
29
|
/** A node in the Pierre file tree. `children === undefined` ⇒ an unexpanded dir
|
|
30
30
|
* (lazy treeMode); `children: []` ⇒ an expanded-but-empty dir. */
|
|
31
31
|
export type FileTreeNode = {
|
|
32
|
+
/** Opaque path returned by the selected target's FileSystem boundary. */
|
|
32
33
|
path: string;
|
|
33
34
|
name: string;
|
|
34
35
|
kind: "file" | "dir";
|
|
@@ -46,6 +47,9 @@ export type UseSandboxFilesOptions = ClientOverride & {
|
|
|
46
47
|
events?: SessionEvent[] | undefined;
|
|
47
48
|
/** Initial path to list (workspace root by default). */
|
|
48
49
|
rootPath?: string | undefined;
|
|
50
|
+
/** Exact capability identity for the selected filesystem route. A route/root
|
|
51
|
+
* change resets this hook and makes stale provider requests fail retryably. */
|
|
52
|
+
route?: FileSystemRouteIdentity | undefined;
|
|
49
53
|
/** Hold off the initial list (e.g. panel collapsed). Default true. */
|
|
50
54
|
enabled?: boolean | undefined;
|
|
51
55
|
/** Pause live reads/invalidation while preserving the last rendered result. */
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SessionBackgroundCommand } from "@opengeni/sdk";
|
|
2
|
+
import { type ClientOverride } from "../provider.js";
|
|
3
|
+
export type UseSessionBackgroundCommandsOptions = ClientOverride & {
|
|
4
|
+
pollIntervalMs?: number | undefined;
|
|
5
|
+
enabled?: boolean | undefined;
|
|
6
|
+
};
|
|
7
|
+
export type UseSessionBackgroundCommandsResult = {
|
|
8
|
+
commands: SessionBackgroundCommand[];
|
|
9
|
+
loading: boolean;
|
|
10
|
+
error: Error | null;
|
|
11
|
+
refresh: () => Promise<void>;
|
|
12
|
+
cancel: (commandId: string) => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare function useSessionBackgroundCommands(sessionId: string | null | undefined, options?: UseSessionBackgroundCommandsOptions): UseSessionBackgroundCommandsResult;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SessionEvent, type SessionStatus, type StreamConnectionState } from "@opengeni/sdk";
|
|
2
2
|
import { type EmbeddedSessionClientOverride } from "../session-context.js";
|
|
3
|
+
import { type OlderHistoryLoadReceipt } from "../older-history.js";
|
|
3
4
|
import type { TimelineItem } from "../timeline/types.js";
|
|
5
|
+
import type { LatestQuestionOptions } from "./latest-question.js";
|
|
4
6
|
export type SessionEventsConnectionState = StreamConnectionState | "idle" | "ended" | "error";
|
|
5
7
|
export type UseSessionEventsOptions = EmbeddedSessionClientOverride & {
|
|
6
8
|
/** Resume after this sequence (exclusive). Nonzero keeps full replay/resume semantics. */
|
|
@@ -13,10 +15,12 @@ export type UseSessionEventsOptions = EmbeddedSessionClientOverride & {
|
|
|
13
15
|
export type UseSessionEventsResult = {
|
|
14
16
|
/** Replayed + live events, ordered by sequence, no gaps, no duplicates. */
|
|
15
17
|
events: SessionEvent[];
|
|
16
|
-
/**
|
|
18
|
+
/** Renderable timeline, including the bounded navigation witness for a distant queued prompt. */
|
|
17
19
|
timeline: TimelineItem[];
|
|
18
20
|
/** Latest session status observed in the event log, if any. */
|
|
19
21
|
sessionStatus: SessionStatus | null;
|
|
22
|
+
/** Sequence of the retained status projection, including events evicted from the window. */
|
|
23
|
+
sessionStatusSequence?: number;
|
|
20
24
|
connectionState: SessionEventsConnectionState;
|
|
21
25
|
/** Highest sequence seen so far (0 before the first event). */
|
|
22
26
|
lastSequence: number;
|
|
@@ -26,12 +30,16 @@ export type UseSessionEventsResult = {
|
|
|
26
30
|
windowTruncated: boolean;
|
|
27
31
|
/** True until the initial tail window has been applied (windowed mode). */
|
|
28
32
|
initialLoading: boolean;
|
|
33
|
+
/** A history window (including an empty tail) succeeded for this session/replay
|
|
34
|
+
* identity. Stays true through later stream errors and navigation/reloads.
|
|
35
|
+
* Full replay has no snapshot-completion watermark and does not set this by itself. */
|
|
36
|
+
initialHistoryReady: boolean;
|
|
29
37
|
/** Whether older durable events are available before the current window. */
|
|
30
38
|
hasOlder: boolean;
|
|
31
39
|
/** True while an older window is being fetched. */
|
|
32
40
|
loadingOlder: boolean;
|
|
33
41
|
/** Prepend an older density-bounded window; resolves true when more remain. */
|
|
34
|
-
loadOlder: () =>
|
|
42
|
+
loadOlder: () => OlderHistoryLoadReceipt;
|
|
35
43
|
/**
|
|
36
44
|
* Durable events exist after the current window (history view jumped away
|
|
37
45
|
* from the live tip, or a forward page is incomplete).
|
|
@@ -58,11 +66,19 @@ export type UseSessionEventsResult = {
|
|
|
58
66
|
* "Jump to latest" when the tip is not in memory (history view).
|
|
59
67
|
*/
|
|
60
68
|
jumpToLatest: () => Promise<void>;
|
|
69
|
+
/** Resolve the newest eligible durable human question. Pending prompts use the
|
|
70
|
+
* optional queue destination and return null; started prompts load their actual
|
|
71
|
+
* turn context (pass `timeline` to MessageTimeline as `items`). */
|
|
72
|
+
jumpToLatestQuestion: (options?: LatestQuestionOptions) => Promise<number | null>;
|
|
73
|
+
/** Replace history with a bounded window containing this exact durable event. */
|
|
74
|
+
jumpToSequence: (sequence: number, options?: {
|
|
75
|
+
signal?: AbortSignal;
|
|
76
|
+
}) => Promise<boolean>;
|
|
77
|
+
loadingTarget: boolean;
|
|
61
78
|
error: Error | null;
|
|
62
79
|
};
|
|
63
80
|
export declare const SESSION_EVENT_BROWSER_MAX_BYTES: number;
|
|
64
|
-
export declare const SESSION_EVENT_BROWSER_MAX_COUNT =
|
|
65
|
-
export declare const SESSION_EVENT_BROWSER_SINGLE_EVENT_MAX_BYTES: number;
|
|
81
|
+
export declare const SESSION_EVENT_BROWSER_MAX_COUNT = 20000;
|
|
66
82
|
export declare const SESSION_EVENT_BROWSER_PENDING_MAX_BYTES: number;
|
|
67
83
|
export declare const SESSION_EVENT_BROWSER_PENDING_MAX_COUNT = 256;
|
|
68
84
|
export type BrowserSessionEventWindow = {
|
|
@@ -81,12 +97,18 @@ export declare function useSessionEvents(sessionId: string | null | undefined, o
|
|
|
81
97
|
* accumulation retains the newest suffix; backward paging retains the oldest
|
|
82
98
|
* prefix so newly fetched history cannot be immediately evicted. This is
|
|
83
99
|
* deliberately separate from durable history and transport paging: when a
|
|
84
|
-
* backward page evicts the live tail, the hook
|
|
85
|
-
*
|
|
86
|
-
*
|
|
100
|
+
* backward page evicts the live tail, the hook enters bounded history mode and
|
|
101
|
+
* preserves the highest-ever-observed sequence separately for forward paging.
|
|
102
|
+
* The source event remains durable in PostgreSQL throughout. An event larger
|
|
103
|
+
* than the byte target is retained alone, never replaced by a lossy preview.
|
|
87
104
|
*/
|
|
88
105
|
export declare function boundBrowserSessionEventWindow(events: readonly SessionEvent[], options?: {
|
|
89
106
|
maxBytes?: number;
|
|
90
107
|
maxCount?: number;
|
|
91
108
|
direction?: "newest" | "oldest";
|
|
92
109
|
}): BrowserSessionEventWindow;
|
|
110
|
+
/** @internal Append immutable events without serializing the retained history again. */
|
|
111
|
+
export declare function appendBrowserSessionEventWindow(current: BrowserSessionEventWindow, batch: readonly SessionEvent[], options?: {
|
|
112
|
+
maxBytes?: number;
|
|
113
|
+
maxCount?: number;
|
|
114
|
+
}): BrowserSessionEventWindow;
|
|
@@ -5,11 +5,15 @@ export type UseSessionLineageOptions = EmbeddedSessionLineageClientOverride & {
|
|
|
5
5
|
/** Refresh interval (ms). Off by default. */
|
|
6
6
|
pollIntervalMs?: number | undefined;
|
|
7
7
|
enabled?: boolean | undefined;
|
|
8
|
+
/** Optional shared causal clock invoked when each network read starts. */
|
|
9
|
+
beginRead?: (() => number) | undefined;
|
|
8
10
|
};
|
|
9
11
|
export type UseSessionLineageResult = {
|
|
10
12
|
lineage: SessionLineageResponse | null;
|
|
11
13
|
loading: boolean;
|
|
12
14
|
error: Error | null;
|
|
15
|
+
/** Causal generation captured when the accepted lineage read started. */
|
|
16
|
+
readGeneration: number;
|
|
13
17
|
refresh: () => Promise<void>;
|
|
14
18
|
};
|
|
15
19
|
export declare function isLineageRefreshEvent(event: SessionEvent): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SessionEvent, SessionMcpApprovalPolicy,
|
|
1
|
+
import type { SessionEvent, SessionMcpApprovalPolicy, SessionMcpApprovalPolicyTarget, UpdateSessionMcpApprovalPolicyResponse } from "@opengeni/sdk";
|
|
2
2
|
import { type EmbeddedSessionMcpApprovalPolicyClientOverride } from "../session-context.js";
|
|
3
3
|
import { type SessionEventFeedOptions } from "./internal.js";
|
|
4
4
|
export declare function isSessionMcpApprovalPolicyEvent(event: Pick<SessionEvent, "type" | "payload">, serverId?: string): boolean;
|
|
@@ -7,7 +7,7 @@ export type UseSessionMcpApprovalPolicyOptions = EmbeddedSessionMcpApprovalPolic
|
|
|
7
7
|
pollIntervalMs?: number | undefined;
|
|
8
8
|
};
|
|
9
9
|
export type UseSessionMcpApprovalPolicyResult = {
|
|
10
|
-
server:
|
|
10
|
+
server: SessionMcpApprovalPolicyTarget | null;
|
|
11
11
|
policy: SessionMcpApprovalPolicy | null;
|
|
12
12
|
loading: boolean;
|
|
13
13
|
error: Error | null;
|
|
@@ -4,11 +4,17 @@ import { type SessionEventFeedOptions } from "./internal.js";
|
|
|
4
4
|
export type UseSessionOptions = EmbeddedSessionReadClientOverride & SessionEventFeedOptions & {
|
|
5
5
|
/** Re-fetch on an interval (ms). Off by default — pair with `useSessionEvents` for live status. */
|
|
6
6
|
pollIntervalMs?: number | undefined;
|
|
7
|
+
/** Optional shared causal clock invoked when each network read starts. */
|
|
8
|
+
beginRead?: (() => number) | undefined;
|
|
7
9
|
};
|
|
8
10
|
export type UseSessionResult = {
|
|
9
11
|
session: Session | null;
|
|
10
12
|
loading: boolean;
|
|
11
13
|
error: Error | null;
|
|
14
|
+
/** Monotonic revision of accepted authoritative detail reads. */
|
|
15
|
+
readRevision: number;
|
|
16
|
+
/** Causal generation captured when the accepted network read started. */
|
|
17
|
+
readGeneration: number;
|
|
12
18
|
refresh: () => Promise<void>;
|
|
13
19
|
/** Manually rename the session (PATCH, source='user'). Returns the updated session, or null on failure. */
|
|
14
20
|
updateTitle: (title: string) => Promise<Session | null>;
|
|
@@ -4,6 +4,16 @@ import { type SessionEventFeedOptions } from "./internal.js";
|
|
|
4
4
|
/** Events that can change the authoritative prompt queue or effective control. */
|
|
5
5
|
export declare function isTurnQueueEvent(event: Pick<SessionEvent, "type">): boolean;
|
|
6
6
|
export type QueueMutationKind = "move" | "edit" | "steer" | "delete";
|
|
7
|
+
export type AcceptedQueueSteer = {
|
|
8
|
+
turnId: string;
|
|
9
|
+
triggerEventId: string;
|
|
10
|
+
text: string;
|
|
11
|
+
annotations: SessionTurn["annotations"];
|
|
12
|
+
resources: SessionTurn["resources"];
|
|
13
|
+
tools: SessionTurn["tools"];
|
|
14
|
+
occurredAt: string;
|
|
15
|
+
state: "sending" | "queued";
|
|
16
|
+
};
|
|
7
17
|
export type UseTurnQueueOptions = EmbeddedSessionClientOverride & SessionEventFeedOptions & {
|
|
8
18
|
pollIntervalMs?: number | undefined;
|
|
9
19
|
};
|
|
@@ -37,6 +47,8 @@ export type UseTurnQueueResult = {
|
|
|
37
47
|
mutating: boolean;
|
|
38
48
|
mutationError: Error | null;
|
|
39
49
|
clearMutationError: () => void;
|
|
50
|
+
/** Immediate chat bridge while the durable Steer event catches up over SSE. */
|
|
51
|
+
acceptedSteers?: AcceptedQueueSteer[] | undefined;
|
|
40
52
|
};
|
|
41
53
|
/**
|
|
42
54
|
* The one authoritative human prompt queue. Every mutation carries the exact
|
|
@@ -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;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FileSystemRouteIdentity } from "@opengeni/sdk";
|
|
1
2
|
import { type ClientOverride } from "../provider.js";
|
|
2
3
|
/**
|
|
3
4
|
* The wake-on-edit state machine. This hook owns the logic and the UI renders
|
|
@@ -27,6 +28,9 @@ export type UseWorkspaceEditOptions = ClientOverride & {
|
|
|
27
28
|
path?: string | null | undefined;
|
|
28
29
|
/** The capture-served content loaded into the editor — the flush base (C2). */
|
|
29
30
|
baseContent?: string | null | undefined;
|
|
31
|
+
/** Exact capability identity for the selected filesystem route. A route/root
|
|
32
|
+
* change discards the buffered edit and makes stale flushes fail retryably. */
|
|
33
|
+
route?: FileSystemRouteIdentity | undefined;
|
|
30
34
|
/** `capabilities.liveness` — "warm" | "draining" | "cold". Drives the flush. */
|
|
31
35
|
liveness?: string | undefined;
|
|
32
36
|
/** True while the host is actively warming the box (attach in flight, not warm
|
|
@@ -1,30 +1,52 @@
|
|
|
1
|
-
import type { Session } from "@opengeni/sdk";
|
|
1
|
+
import type { Session, SessionListEntry, SessionListTotals } from "@opengeni/sdk";
|
|
2
2
|
import { type ClientOverride } from "../provider.js";
|
|
3
3
|
export type UseWorkspaceSessionsOptions = ClientOverride & {
|
|
4
|
+
includeTotals?: boolean | undefined;
|
|
5
|
+
needsYouOnly?: boolean | undefined;
|
|
6
|
+
/** Compact list records; detail reads remain full sessions. */
|
|
7
|
+
projection?: "summary" | undefined;
|
|
4
8
|
limit?: number | undefined;
|
|
5
9
|
parentSessionId?: string | null | undefined;
|
|
6
10
|
cursor?: string | undefined;
|
|
7
11
|
search?: string | undefined;
|
|
8
12
|
/** Return only the complete personal pinned projection. */
|
|
9
13
|
pinsOnly?: boolean | undefined;
|
|
14
|
+
/** Skip pinned details when the pinned section is loaded separately. */
|
|
15
|
+
includePinned?: boolean | undefined;
|
|
16
|
+
archivedOnly?: boolean | undefined;
|
|
17
|
+
sortBy?: "updatedAt" | "createdAt" | "name" | undefined;
|
|
18
|
+
archiveStatus?: "active" | "archived" | "all" | undefined;
|
|
10
19
|
/** Refresh interval (ms) for fleet/manager views. Off by default. */
|
|
11
20
|
pollIntervalMs?: number | undefined;
|
|
12
21
|
enabled?: boolean | undefined;
|
|
22
|
+
/** Optional shared causal clock invoked when each network read starts. */
|
|
23
|
+
beginRead?: (() => number) | undefined;
|
|
13
24
|
};
|
|
14
|
-
export type UseWorkspaceSessionsResult = {
|
|
25
|
+
export type UseWorkspaceSessionsResult<T extends Session | SessionListEntry = Session> = {
|
|
15
26
|
/**
|
|
16
27
|
* All visible rows, with pins first. This preserves the pre-pinning hook
|
|
17
28
|
* contract for consumers that only read `sessions`.
|
|
18
29
|
*/
|
|
19
|
-
sessions:
|
|
30
|
+
sessions: T[];
|
|
20
31
|
/** The complete personal pinned section, also present in `sessions`. */
|
|
21
|
-
pinned:
|
|
32
|
+
pinned: T[];
|
|
22
33
|
/** True when the server omitted older pins from its bounded pinned section. */
|
|
23
34
|
pinnedTruncated: boolean;
|
|
35
|
+
totals: SessionListTotals | null;
|
|
24
36
|
nextCursor: string | null;
|
|
25
37
|
loading: boolean;
|
|
26
38
|
error: Error | null;
|
|
39
|
+
/** Monotonic revision of accepted authoritative list-page reads. */
|
|
40
|
+
readRevision: number;
|
|
41
|
+
/** Causal generation captured when the accepted network read started. */
|
|
42
|
+
readGeneration: number;
|
|
27
43
|
refresh: () => Promise<void>;
|
|
28
44
|
};
|
|
29
45
|
/** List the workspace's sessions — the data behind fleet and manager views. */
|
|
30
|
-
export declare function useWorkspaceSessions(options
|
|
46
|
+
export declare function useWorkspaceSessions(options: UseWorkspaceSessionsOptions & {
|
|
47
|
+
projection: "summary";
|
|
48
|
+
}): UseWorkspaceSessionsResult<SessionListEntry>;
|
|
49
|
+
export declare function useWorkspaceSessions(options?: UseWorkspaceSessionsOptions & {
|
|
50
|
+
projection?: undefined;
|
|
51
|
+
}): UseWorkspaceSessionsResult;
|
|
52
|
+
export declare function useWorkspaceSessions(options: UseWorkspaceSessionsOptions): UseWorkspaceSessionsResult<Session | SessionListEntry>;
|
package/dist/human-input.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HumanInputQuestion, SessionEvent } from "@opengeni/sdk";
|
|
1
|
+
import type { HumanInputQuestion, SessionEvent, SessionHumanInputRequest } from "@opengeni/sdk";
|
|
2
2
|
/** Minimal actionable request shape available from the durable event log. */
|
|
3
3
|
export type PendingHumanInputRequest = {
|
|
4
4
|
id: string;
|
|
@@ -7,6 +7,8 @@ export type PendingHumanInputRequest = {
|
|
|
7
7
|
allowSkip: boolean;
|
|
8
8
|
expiresAt: string | null;
|
|
9
9
|
};
|
|
10
|
+
/** A pending row stops being actionable at its durable deadline, even before refresh. */
|
|
11
|
+
export declare function isActionableHumanInputRequest(request: Pick<SessionHumanInputRequest, "status" | "expiresAt">, nowMs?: number): boolean;
|
|
10
12
|
/** Parse one generic `session.humanInput.requested` event defensively. */
|
|
11
13
|
export declare function humanInputRequestFromEvent(event: Pick<SessionEvent, "type" | "payload" | "turnId">): PendingHumanInputRequest | null;
|
|
12
14
|
/**
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ExternalIdentityLink, ExternalIdentityLinkPage } from "@opengeni/sdk";
|
|
2
|
+
export type IdentityLinkAccountsClient = {
|
|
3
|
+
listIdentityLinks(workspaceId: string, cursor?: string): Promise<ExternalIdentityLinkPage>;
|
|
4
|
+
revokeIdentityLink(workspaceId: string, linkId: string, expectedRevision: number): Promise<ExternalIdentityLink>;
|
|
5
|
+
};
|
|
6
|
+
/** Participant-scoped inventory. Revocation never deletes native work or merges
|
|
7
|
+
* identities. The caller remounts this component when the signed-in user changes. */
|
|
8
|
+
export declare function IdentityLinkAccounts({ client, workspaceId, }: {
|
|
9
|
+
client: IdentityLinkAccountsClient;
|
|
10
|
+
workspaceId: string;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExternalIdentityLink, ConfirmExternalIdentityLinkRequest, ExternalIdentityLinkPreview } from "@opengeni/sdk";
|
|
2
|
+
export type IdentityLinkClient = {
|
|
3
|
+
previewIdentityLink(workspaceId: string, linkId: string, challenge: string): Promise<ExternalIdentityLinkPreview>;
|
|
4
|
+
confirmIdentityLink(workspaceId: string, linkId: string, input: ConfirmExternalIdentityLinkRequest): Promise<ExternalIdentityLink>;
|
|
5
|
+
revokeIdentityLink(workspaceId: string, linkId: string, expectedRevision: number): Promise<ExternalIdentityLink>;
|
|
6
|
+
};
|
|
7
|
+
export type IdentityLinkConsentProps = {
|
|
8
|
+
client: IdentityLinkClient;
|
|
9
|
+
workspaceId: string;
|
|
10
|
+
linkId: string;
|
|
11
|
+
challenge: string;
|
|
12
|
+
/** Host label is explanatory, never proof of the requesting application. */
|
|
13
|
+
className?: string;
|
|
14
|
+
onComplete?: (link: ExternalIdentityLink) => void;
|
|
15
|
+
};
|
|
16
|
+
/** Optional native-login consent. Ordinary Connect does not use this surface.
|
|
17
|
+
* Permission choices only narrow the server's request; no automatic approval. */
|
|
18
|
+
export declare function IdentityLinkConsent({ client, workspaceId, linkId, challenge, className, onComplete, }: IdentityLinkConsentProps): import("react").JSX.Element;
|