@opengeni/react 1.0.1 → 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 +651 -21
- 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 +6 -3
- package/dist/realtime.js +133 -74
- 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 +133 -46
- 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
|
@@ -9,7 +9,7 @@ import type { PickerModelRow } from "../model-policy.js";
|
|
|
9
9
|
import { OPEN_WORKSTREAM_CONTROL_EVENT } from "../workstream-control-event.js";
|
|
10
10
|
export { OPEN_WORKSTREAM_CONTROL_EVENT };
|
|
11
11
|
export type { ResponsiveBasis } from "../lib/composer-responsive-context.js";
|
|
12
|
-
export type ComposerDelivery = Pick<ComposerState, "value" | "setValue" | "send" | "steer" | "sending" | "canSend" | "error" | "clearError">;
|
|
12
|
+
export type ComposerDelivery = Pick<ComposerState, "value" | "setValue" | "send" | "steer" | "sending" | "canSend" | "error" | "clearError" | "annotations" | "requestAnnotationReview">;
|
|
13
13
|
export type ComposerDraftState = Pick<ComposerState, "draftConflict" | "draftSaving" | "resolveDraftConflict" | "restoredResources" | "removeRestoredResource">;
|
|
14
14
|
export type ComposerControlState = Pick<ComposerState, "pause" | "pausing" | "resume" | "resumeScope" | "resuming">;
|
|
15
15
|
export type ComposerControlLinks = {
|
|
@@ -28,10 +28,14 @@ export type ChatComposerMessages = {
|
|
|
28
28
|
attachFiles: string;
|
|
29
29
|
pauseAriaLabel: string;
|
|
30
30
|
pauseTitle: string;
|
|
31
|
+
/** Stop control shown while a response runs (`runControl="stop"`). */
|
|
32
|
+
stopAriaLabel?: string | undefined;
|
|
33
|
+
stopTitle?: string | undefined;
|
|
31
34
|
sendMessageAriaLabel: string;
|
|
32
35
|
sendAndResumeAriaLabel: string;
|
|
33
36
|
sendTitle: string;
|
|
34
37
|
sendAndResumeTitle: string;
|
|
38
|
+
annotationNotesRequired: string;
|
|
35
39
|
workspacePaused: string;
|
|
36
40
|
pausedHere: string;
|
|
37
41
|
parentBlocker: string;
|
|
@@ -56,6 +60,11 @@ export type ChatComposerMessages = {
|
|
|
56
60
|
removeRestoredResource: (index: number) => string;
|
|
57
61
|
uploading: string;
|
|
58
62
|
uploadFailed: string;
|
|
63
|
+
previewAttachment: (name: string) => string;
|
|
64
|
+
previewUnavailable?: string | undefined;
|
|
65
|
+
attachmentPreviewLabel: string;
|
|
66
|
+
downloadAttachment: (name: string) => string;
|
|
67
|
+
closeAttachmentPreview: string;
|
|
59
68
|
retryAttachment: (name: string) => string;
|
|
60
69
|
retryUpload: string;
|
|
61
70
|
removeAttachment: (name: string) => string;
|
|
@@ -77,7 +86,17 @@ export type ChatComposerMessages = {
|
|
|
77
86
|
};
|
|
78
87
|
export declare const defaultChatComposerMessages: ChatComposerMessages;
|
|
79
88
|
export type ComposerSubmitMode = "queue" | "steer";
|
|
80
|
-
export type ComposerSubmitBlocker = "disabled" | "attachment" | "sending" | "command" | "empty" | null;
|
|
89
|
+
export type ComposerSubmitBlocker = "disabled" | "attachment" | "sending" | "command" | "annotations" | "empty" | null;
|
|
90
|
+
/**
|
|
91
|
+
* How the composer offers run control.
|
|
92
|
+
* - `pause`: the workstream Pause control and paused-state strip (default; the
|
|
93
|
+
* OpenGeni console).
|
|
94
|
+
* - `stop`: a Stop control only while a response runs. Stopping pauses this
|
|
95
|
+
* conversation; the next message continues it, so people never see a paused
|
|
96
|
+
* state they have to resume. Pauses applied elsewhere still show.
|
|
97
|
+
* - `none`: no run control.
|
|
98
|
+
*/
|
|
99
|
+
export type ComposerRunControl = "pause" | "stop" | "none";
|
|
81
100
|
export type UseChatComposerControllerOptions = {
|
|
82
101
|
delivery: ComposerDelivery;
|
|
83
102
|
draft?: ComposerDraftState | undefined;
|
|
@@ -93,6 +112,10 @@ export type UseChatComposerControllerOptions = {
|
|
|
93
112
|
onClearView?: (() => void) | undefined;
|
|
94
113
|
onPaste?: ((event: ClipboardEvent<HTMLTextAreaElement>) => void) | undefined;
|
|
95
114
|
messages?: Partial<ChatComposerMessages> | undefined;
|
|
115
|
+
/** Run control presentation. Defaults to `pause`. */
|
|
116
|
+
runControl?: ComposerRunControl | undefined;
|
|
117
|
+
/** A response is in progress; shows the Stop control under `runControl="stop"`. */
|
|
118
|
+
running?: boolean | undefined;
|
|
96
119
|
};
|
|
97
120
|
/**
|
|
98
121
|
* Autosize a composer textarea up to `maxPx`. Never writes intermediate
|
|
@@ -107,7 +130,7 @@ export declare function applyComposerTextareaHeight(textarea: HTMLTextAreaElemen
|
|
|
107
130
|
* delivery guards, keyboard routing, command interception, drag/drop, focus,
|
|
108
131
|
* confirmation, and feedback state used by both the preset and primitives.
|
|
109
132
|
*/
|
|
110
|
-
export declare function useChatComposerController({ delivery, draft, control, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, disabled, attachments, commands, commandContext, onClearView, onPaste, messages: messageOverrides, }: UseChatComposerControllerOptions): {
|
|
133
|
+
export declare function useChatComposerController({ delivery, draft, control, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, disabled, attachments, commands, commandContext, onClearView, onPaste, messages: messageOverrides, runControl, running, }: UseChatComposerControllerOptions): {
|
|
111
134
|
id: string;
|
|
112
135
|
rootRef: RefObject<HTMLDivElement | null>;
|
|
113
136
|
textareaRef: RefObject<HTMLTextAreaElement | null>;
|
|
@@ -132,10 +155,13 @@ export declare function useChatComposerController({ delivery, draft, control, ef
|
|
|
132
155
|
attachFiles: string;
|
|
133
156
|
pauseAriaLabel: string;
|
|
134
157
|
pauseTitle: string;
|
|
158
|
+
stopAriaLabel?: string | undefined;
|
|
159
|
+
stopTitle?: string | undefined;
|
|
135
160
|
sendMessageAriaLabel: string;
|
|
136
161
|
sendAndResumeAriaLabel: string;
|
|
137
162
|
sendTitle: string;
|
|
138
163
|
sendAndResumeTitle: string;
|
|
164
|
+
annotationNotesRequired: string;
|
|
139
165
|
workspacePaused: string;
|
|
140
166
|
pausedHere: string;
|
|
141
167
|
parentBlocker: string;
|
|
@@ -160,6 +186,11 @@ export declare function useChatComposerController({ delivery, draft, control, ef
|
|
|
160
186
|
removeRestoredResource: (index: number) => string;
|
|
161
187
|
uploading: string;
|
|
162
188
|
uploadFailed: string;
|
|
189
|
+
previewAttachment: (name: string) => string;
|
|
190
|
+
previewUnavailable?: string | undefined;
|
|
191
|
+
attachmentPreviewLabel: string;
|
|
192
|
+
downloadAttachment: (name: string) => string;
|
|
193
|
+
closeAttachmentPreview: string;
|
|
163
194
|
retryAttachment: (name: string) => string;
|
|
164
195
|
retryUpload: string;
|
|
165
196
|
removeAttachment: (name: string) => string;
|
|
@@ -189,9 +220,12 @@ export declare function useChatComposerController({ delivery, draft, control, ef
|
|
|
189
220
|
removeRestoredResource: ((index: number) => void) | undefined;
|
|
190
221
|
resolveDraftConflict: ((choice: "keep_mine" | "use_remote") => Promise<void>) | undefined;
|
|
191
222
|
hasControl: boolean;
|
|
223
|
+
runControl: ComposerRunControl;
|
|
224
|
+
running: boolean;
|
|
192
225
|
pausing: boolean;
|
|
193
226
|
resuming: boolean;
|
|
194
227
|
pause: (reason?: string) => Promise<boolean>;
|
|
228
|
+
stop: () => Promise<boolean>;
|
|
195
229
|
resume: (reason?: string) => Promise<boolean>;
|
|
196
230
|
resumeScope: (option: EffectiveSessionControl["resumeOptions"][number]) => Promise<boolean>;
|
|
197
231
|
paused: boolean;
|
|
@@ -219,7 +253,7 @@ export declare function useChatComposerController({ delivery, draft, control, ef
|
|
|
219
253
|
handlePaste: (event: ClipboardEvent<HTMLTextAreaElement>) => void;
|
|
220
254
|
handleFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
221
255
|
focusInput: () => void | undefined;
|
|
222
|
-
setValue: (
|
|
256
|
+
setValue: (next: string) => void;
|
|
223
257
|
value: string;
|
|
224
258
|
};
|
|
225
259
|
export type ChatComposerController = ReturnType<typeof useChatComposerController>;
|
|
@@ -293,6 +327,13 @@ export type ComposerModelPickerProps = {
|
|
|
293
327
|
export declare function ModelPicker({ models, rows, value, onChange, label, className, codexOnly, }: ComposerModelPickerProps): import("react").JSX.Element;
|
|
294
328
|
export type ComposerPauseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
|
|
295
329
|
export declare const PauseButton: import("react").ForwardRefExoticComponent<ComposerPauseButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
330
|
+
export type ComposerStopButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
|
|
331
|
+
/**
|
|
332
|
+
* Stop the running response. Rendered only under `runControl="stop"` while a
|
|
333
|
+
* response runs; stopping pauses this conversation and the next message
|
|
334
|
+
* continues it.
|
|
335
|
+
*/
|
|
336
|
+
export declare const StopButton: import("react").ForwardRefExoticComponent<ComposerStopButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
296
337
|
export type ComposerSendButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
|
|
297
338
|
export declare const SendButton: import("react").ForwardRefExoticComponent<ComposerSendButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
298
339
|
export declare function Help(): import("react").JSX.Element;
|
|
@@ -17,8 +17,11 @@ export type ComputerViewerProps = EmbeddedComputerInteractionClientOverride & {
|
|
|
17
17
|
/** Host navigation request for one exact ComputerSession. */
|
|
18
18
|
requestedComputerSessionId?: string | null | undefined;
|
|
19
19
|
requestedComputerRequestId?: string | number | null | undefined;
|
|
20
|
+
/** Restore and report the Desktop session selected in this task's dock. */
|
|
21
|
+
initialComputerSessionId?: string | null | undefined;
|
|
22
|
+
onComputerSessionIdChange?: ((computerSessionId: string | null) => void) | undefined;
|
|
20
23
|
};
|
|
21
24
|
/** Full ComputerSession surface: workspace discovery, peer switching, app/window/
|
|
22
25
|
* screen navigation, semantic controls, exact-frame input, and live media. */
|
|
23
|
-
export declare function ComputerViewer({ sessionId, enabled, className, onNotify, webSocketFactory, renderEmpty, requestedComputerSessionId, requestedComputerRequestId, ...override }: ComputerViewerProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
|
|
26
|
+
export declare function ComputerViewer({ sessionId, enabled, className, onNotify, webSocketFactory, renderEmpty, requestedComputerSessionId, requestedComputerRequestId, initialComputerSessionId, onComputerSessionIdChange, ...override }: ComputerViewerProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
|
|
24
27
|
export declare function computerKey(event: Pick<KeyboardEvent<HTMLTextAreaElement>, "altKey" | "ctrlKey" | "key" | "metaKey" | "shiftKey">): string | null;
|
|
@@ -14,8 +14,10 @@ export type CopyButtonProps = {
|
|
|
14
14
|
/**
|
|
15
15
|
* Ghost icon copy control — no chrome box, no "Copy code" label.
|
|
16
16
|
* Copy → check flash. Hover-reveal via `group/copy` on a parent.
|
|
17
|
+
* Keep unchanged controls out of parent message rerenders: mounting history
|
|
18
|
+
* already has to commit each new tooltip, without redoing the retained suffix.
|
|
17
19
|
*/
|
|
18
|
-
export declare
|
|
20
|
+
export declare const CopyButton: import("react").MemoExoticComponent<({ text, label, className, reveal, }: CopyButtonProps) => import("react").JSX.Element>;
|
|
19
21
|
/** Hover-reveal chrome around a message / turn so {@link CopyButton} can fade in. */
|
|
20
22
|
export declare function CopyHoverFrame({ children, className, copyText, label, align, trailing, }: {
|
|
21
23
|
children: ReactNode;
|
|
@@ -15,7 +15,7 @@ export type DesktopViewerProps = {
|
|
|
15
15
|
/** Render the built-in Watching ⇄ Take control toggle (default true). */
|
|
16
16
|
showControlToggle?: boolean | undefined;
|
|
17
17
|
scaleViewport?: boolean | undefined;
|
|
18
|
-
/** Custom RFB factory (
|
|
18
|
+
/** Custom RFB factory; otherwise enableDesktopViewer() supplies lazy noVNC. */
|
|
19
19
|
rfbFactory?: DesktopRfbFactory | undefined;
|
|
20
20
|
/** Authenticated controller protocols for proxied RFB transports. */
|
|
21
21
|
webSocketProtocols?: string[] | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ResourceAuthorityScope } from "@opengeni/sdk";
|
|
1
2
|
/** The machine identity surfaced to the approver, from the device-flow start. */
|
|
2
3
|
export type EnrollmentConsentMachine = {
|
|
3
4
|
/** Human-friendly name (hostname by default). */
|
|
@@ -16,8 +17,10 @@ export type EnrollmentConsentProps = {
|
|
|
16
17
|
userCode: string;
|
|
17
18
|
machine: EnrollmentConsentMachine;
|
|
18
19
|
phase?: EnrollmentConsentPhase | undefined;
|
|
19
|
-
/**
|
|
20
|
-
|
|
20
|
+
/** Whether this caller may publish the machine to the whole organization. */
|
|
21
|
+
allowOrganizationScope?: boolean | undefined;
|
|
22
|
+
/** Approve with the chosen screen-control consent and explicit access scope. */
|
|
23
|
+
onApprove?: ((allowScreenControl: boolean, scope: ResourceAuthorityScope) => void) | undefined;
|
|
21
24
|
onDeny?: (() => void) | undefined;
|
|
22
25
|
/** Error message when phase === "error". */
|
|
23
26
|
errorMessage?: string | undefined;
|
|
@@ -30,4 +33,4 @@ export type EnrollmentConsentProps = {
|
|
|
30
33
|
* The danger framing is deliberate (§18 hardening: whole-machine = loud consent),
|
|
31
34
|
* never buried. Renders review / approving / approved / denied / error phases.
|
|
32
35
|
*/
|
|
33
|
-
export declare function EnrollmentConsent({ userCode, machine, phase, onApprove, onDeny, errorMessage, className, }: EnrollmentConsentProps): import("react").JSX.Element;
|
|
36
|
+
export declare function EnrollmentConsent({ userCode, machine, phase, allowOrganizationScope, onApprove, onDeny, errorMessage, className, }: EnrollmentConsentProps): import("react").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { FileTreeNode, UseSandboxFilesResult } from "../hooks/use-sandbox-files.js";
|
|
3
|
+
import { type FileNodeVisibilityPredicate } from "../file-node-visibility.js";
|
|
3
4
|
export type FileBrowserProps = {
|
|
4
5
|
/** From `useSandboxFiles(...)`. */
|
|
5
6
|
result: UseSandboxFilesResult;
|
|
@@ -11,6 +12,14 @@ export type FileBrowserProps = {
|
|
|
11
12
|
/** Selection callback for the preview pane. */
|
|
12
13
|
onSelectFile?: ((path: string) => void) | undefined;
|
|
13
14
|
selectedPath?: string | undefined;
|
|
15
|
+
/** Presentation-only node filter. Hidden parents never expose their children. */
|
|
16
|
+
isNodeVisible?: FileNodeVisibilityPredicate | undefined;
|
|
17
|
+
/** Deliberately reveal this selected path by lazily opening every loaded
|
|
18
|
+
* ancestor and scrolling its row into view. The path is opaque and is never
|
|
19
|
+
* normalized or re-rooted here. */
|
|
20
|
+
revealPath?: string | undefined;
|
|
21
|
+
/** Increment/change to reveal the same path again after a user collapses it. */
|
|
22
|
+
revealPathRequestId?: string | number | undefined;
|
|
14
23
|
/** Render-prop to theme/replace a row entirely (the Pierre-swap escape hatch). */
|
|
15
24
|
renderNode?: ((node: FileTreeNode, depth: number, expanded: boolean) => ReactNode) | undefined;
|
|
16
25
|
/** Shown when the tree is empty (no files / not loaded yet). */
|
|
@@ -44,4 +53,4 @@ export type FileBrowserProps = {
|
|
|
44
53
|
* `renderNode` is still honoured as the Pierre-swap escape hatch for the row
|
|
45
54
|
* chrome; the manager scaffolding (toolbar, dnd, menu, inline inputs) wraps it.
|
|
46
55
|
*/
|
|
47
|
-
export declare function FileBrowser({ result, fallback, onSelectFile, selectedPath, renderNode, emptyState, editable, confirmDelete, className, }: FileBrowserProps): import("react").JSX.Element;
|
|
56
|
+
export declare function FileBrowser({ result, fallback, onSelectFile, selectedPath, isNodeVisible, revealPath, revealPathRequestId, renderNode, emptyState, editable, confirmDelete, className, }: FileBrowserProps): import("react").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Session } from "@opengeni/sdk";
|
|
2
2
|
export type FleetTileProps = {
|
|
3
3
|
session: Session;
|
|
4
|
-
/** Overrides the derived title (
|
|
4
|
+
/** Overrides the derived title (durable title, metadata, prompt preview, or safe fallback). */
|
|
5
5
|
title?: string | undefined;
|
|
6
6
|
/** Extra line under the title — e.g. "drift check" or the worker's task. */
|
|
7
7
|
subtitle?: string | undefined;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SVGProps } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* MIT License
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2023 LobeHub
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
15
|
+
* copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
+
* SOFTWARE.
|
|
24
|
+
* Source: https://raw.githubusercontent.com/lobehub/lobe-icons/master/src/Grok/components/Mono.tsx
|
|
25
|
+
*/
|
|
26
|
+
export declare function GrokMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HumanInputAnswer, HumanInputQuestion, SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
|
|
1
|
+
import type { HumanInputAnswer, HumanInputQuestion, SkillRecord, SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
3
|
export type HumanInputAnswerDraft = {
|
|
4
4
|
values: string[];
|
|
@@ -28,6 +28,8 @@ export type HumanInputFormMessages = {
|
|
|
28
28
|
};
|
|
29
29
|
export declare const defaultHumanInputFormMessages: HumanInputFormMessages;
|
|
30
30
|
export type HumanInputFormProps = {
|
|
31
|
+
/** Scoped immutable revision reader. Saving a Skill fails closed without its full preview. */
|
|
32
|
+
loadSkillReview?: ((reference: NonNullable<HumanInputQuestion["skillReview"]>) => Promise<SkillRecord>) | undefined;
|
|
31
33
|
request: Pick<SessionHumanInputRequest, "id" | "questions" | "allowSkip" | "expiresAt">;
|
|
32
34
|
onSubmit: (response: SubmitHumanInputResponseRequest) => void | Promise<void>;
|
|
33
35
|
submitting?: boolean | undefined;
|
|
@@ -42,6 +44,12 @@ export type HumanInputFormProps = {
|
|
|
42
44
|
autoFocus?: boolean | undefined;
|
|
43
45
|
/** Start collapsed to a compact bar (drafts still retained). */
|
|
44
46
|
defaultCollapsed?: boolean | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Answer a yes/no decision (one required choice between an accept and a
|
|
49
|
+
* decline option, without Other) with two buttons instead of a radio list.
|
|
50
|
+
* Off by default; embedded conversations turn it on.
|
|
51
|
+
*/
|
|
52
|
+
decisionButtons?: boolean | undefined;
|
|
45
53
|
className?: string | undefined;
|
|
46
54
|
};
|
|
47
55
|
/**
|
|
@@ -50,7 +58,18 @@ export type HumanInputFormProps = {
|
|
|
50
58
|
* options, sticky ask/submit chrome. Hosts can replace title/description or
|
|
51
59
|
* use `useHumanInputRequests` headlessly.
|
|
52
60
|
*/
|
|
53
|
-
export declare function HumanInputForm(
|
|
61
|
+
export declare function HumanInputForm(props: HumanInputFormProps): import("react").JSX.Element;
|
|
62
|
+
/**
|
|
63
|
+
* A yes/no decision (an approval asked as a question): one required
|
|
64
|
+
* single-choice question with exactly an accept and a decline option. It is
|
|
65
|
+
* answered with two buttons; an "Other" free-text answer has no meaning for it,
|
|
66
|
+
* and the composer still accepts a different instruction.
|
|
67
|
+
*/
|
|
68
|
+
export declare function binaryDecision(questions: readonly HumanInputQuestion[]): {
|
|
69
|
+
question: HumanInputQuestion;
|
|
70
|
+
accept: HumanInputQuestion["options"][number];
|
|
71
|
+
decline: HumanInputQuestion["options"][number];
|
|
72
|
+
} | null;
|
|
54
73
|
export declare function answersFromDrafts(questions: HumanInputQuestion[], drafts: Record<string, HumanInputAnswerDraft>, messageOverrides?: Partial<HumanInputFormMessages>): {
|
|
55
74
|
answers: HumanInputAnswer[];
|
|
56
75
|
errors: Record<string, string>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
|
|
2
|
-
import { type HumanInputFormMessages } from "./human-input-form.js";
|
|
2
|
+
import { type HumanInputFormMessages, type HumanInputFormProps } from "./human-input-form.js";
|
|
3
3
|
export type HumanInputSurfaceProps = {
|
|
4
|
+
loadSkillReview?: HumanInputFormProps["loadSkillReview"];
|
|
4
5
|
requests: SessionHumanInputRequest[];
|
|
5
6
|
onSubmit: (requestId: string, response: SubmitHumanInputResponseRequest) => void | Promise<void>;
|
|
6
7
|
respondingRequestId?: string | null | undefined;
|
|
@@ -9,11 +10,13 @@ export type HumanInputSurfaceProps = {
|
|
|
9
10
|
className?: string | undefined;
|
|
10
11
|
/** Forwarded to the active form. Defaults true. */
|
|
11
12
|
autoFocus?: boolean | undefined;
|
|
13
|
+
/** Forwarded to the active form: yes/no decisions as two buttons. */
|
|
14
|
+
decisionButtons?: boolean | undefined;
|
|
12
15
|
};
|
|
13
16
|
/**
|
|
14
17
|
* One decision shell for pending structured human-input requests. Parallel
|
|
15
|
-
* freezes are shown one at a time (oldest first) as “N of M”;
|
|
18
|
+
* freezes are shown one at a time (oldest first) as “N of M”; Send answers/Skip
|
|
16
19
|
* settles the active request and the next remaining set advances automatically
|
|
17
20
|
* when the authoritative pending list updates.
|
|
18
21
|
*/
|
|
19
|
-
export declare function HumanInputSurface({ requests, onSubmit, respondingRequestId, error, messages, className, autoFocus, }: HumanInputSurfaceProps): import("react").JSX.Element | null;
|
|
22
|
+
export declare function HumanInputSurface({ requests, onSubmit, loadSkillReview, respondingRequestId, error, messages, className, autoFocus, decisionButtons, }: HumanInputSurfaceProps): import("react").JSX.Element | null;
|
|
@@ -5,6 +5,9 @@ export type MachineCardProps = {
|
|
|
5
5
|
onAttach?: ((machine: MachineView) => void) | undefined;
|
|
6
6
|
/** Whether an attach/swap is currently in flight (disables the affordance). */
|
|
7
7
|
attaching?: boolean | undefined;
|
|
8
|
+
/** Start/retry the exact signed Connected Machine agent update. */
|
|
9
|
+
onUpdateAgent?: ((machine: MachineView) => void) | undefined;
|
|
10
|
+
updatingAgent?: boolean | undefined;
|
|
8
11
|
/** Short recent history (e.g. 15m) — drives the card's CPU trend + preview. */
|
|
9
12
|
series?: MetricSample[] | undefined;
|
|
10
13
|
/** Open the full per-machine telemetry detail. Makes the whole card actionable. */
|
|
@@ -18,4 +21,4 @@ export type MachineCardProps = {
|
|
|
18
21
|
* freshness, and attach/swap. The whole card opens the telemetry detail when
|
|
19
22
|
* `onOpenDetail` is wired. The session's active sandbox carries an accent edge.
|
|
20
23
|
*/
|
|
21
|
-
export declare function MachineCard({ machine, onAttach, attaching, series, onOpenDetail, now, className, }: MachineCardProps): import("react").JSX.Element;
|
|
24
|
+
export declare function MachineCard({ machine, onAttach, attaching, onUpdateAgent, updatingAgent, series, onOpenDetail, now, className, }: MachineCardProps): import("react").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { MachineView, MetricSample } from "../../types/machines.js";
|
|
2
2
|
import { type MetricWindow } from "./series.js";
|
|
3
|
+
import type { UpdateMachineOperationPolicyRequest } from "@opengeni/sdk";
|
|
3
4
|
export type MachineDetailProps = {
|
|
4
5
|
machine: MachineView;
|
|
5
6
|
/** Downsampled history for the active window (from `fetchSeries`). */
|
|
@@ -10,7 +11,9 @@ export type MachineDetailProps = {
|
|
|
10
11
|
onBack?: (() => void) | undefined;
|
|
11
12
|
/** Open the workspace-admin removal confirmation for a self-hosted machine. */
|
|
12
13
|
onRemove?: ((machine: MachineView) => void) | undefined;
|
|
14
|
+
onUpdateOperationPolicy?: ((machine: MachineView, request: UpdateMachineOperationPolicyRequest) => Promise<unknown>) | undefined;
|
|
15
|
+
updatingOperationPolicy?: boolean | undefined;
|
|
13
16
|
now?: number | undefined;
|
|
14
17
|
className?: string | undefined;
|
|
15
18
|
};
|
|
16
|
-
export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, now, className, }: MachineDetailProps): import("react").JSX.Element;
|
|
19
|
+
export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, onUpdateOperationPolicy, updatingOperationPolicy, now, className, }: MachineDetailProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { MachineOperationPolicy, UpdateMachineOperationPolicyRequest } from "@opengeni/sdk";
|
|
2
|
+
export type MachineOperationPolicyEditorProps = {
|
|
3
|
+
policy: MachineOperationPolicy;
|
|
4
|
+
memorySupported: boolean;
|
|
5
|
+
cpuSupported: boolean;
|
|
6
|
+
saving?: boolean | undefined;
|
|
7
|
+
onSave: (request: UpdateMachineOperationPolicyRequest) => Promise<unknown> | unknown;
|
|
8
|
+
};
|
|
9
|
+
/** Exact editor for the optional per-enrollment command resource policy. Blank
|
|
10
|
+
* values remain genuinely unrestricted; CPU is a period-independent ratio. */
|
|
11
|
+
export declare function MachineOperationPolicyEditor({ policy, memorySupported, cpuSupported, saving, onSave, }: MachineOperationPolicyEditorProps): import("react").JSX.Element;
|
|
@@ -9,6 +9,8 @@ export type MachinesDashboardProps = {
|
|
|
9
9
|
onAttach?: ((machine: MachineView) => void) | undefined;
|
|
10
10
|
/** The sandbox id currently being attached/swapped to (disables that card). */
|
|
11
11
|
attachingSandboxId?: string | null | undefined;
|
|
12
|
+
onUpdateAgent?: ((machine: MachineView) => void) | undefined;
|
|
13
|
+
updatingEnrollmentId?: string | null | undefined;
|
|
12
14
|
/** Short recent history per machine (keyed by sandboxId) — drives card sparklines. */
|
|
13
15
|
seriesByMachine?: Record<string, MetricSample[]> | undefined;
|
|
14
16
|
/** Open the per-machine telemetry detail (makes each card actionable). */
|
|
@@ -27,4 +29,4 @@ export type MachinesDashboardProps = {
|
|
|
27
29
|
* machines → connect CTA), a load error, and the populated grid. The component
|
|
28
30
|
* is purely presentational — feed it `MachinesResponse` data via `useMachines`.
|
|
29
31
|
*/
|
|
30
|
-
export declare function MachinesDashboard({ machines, activeSandboxId, loading, error, onAttach, attachingSandboxId, seriesByMachine, onOpenDetail, now, onEnroll, onRefresh, className, }: MachinesDashboardProps): import("react").JSX.Element;
|
|
32
|
+
export declare function MachinesDashboard({ machines, activeSandboxId, loading, error, onAttach, attachingSandboxId, onUpdateAgent, updatingEnrollmentId, seriesByMachine, onOpenDetail, now, onEnroll, onRefresh, className, }: MachinesDashboardProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function markdownTableWidth({ columnLeft, columnWidth, contentLeft, contentRight, preferredWidth, }: {
|
|
2
|
+
columnLeft: number;
|
|
3
|
+
columnWidth: number;
|
|
4
|
+
contentLeft: number;
|
|
5
|
+
contentRight: number;
|
|
6
|
+
preferredWidth: number;
|
|
7
|
+
}): number;
|
|
8
|
+
/** Loaded only for assistant tables. Keep prose and nested scroll owners intact. */
|
|
9
|
+
export declare function observeMarkdownTableLayout(wrapper: HTMLDivElement, table: HTMLTableElement): {
|
|
10
|
+
measure: () => void;
|
|
11
|
+
disconnect: () => void;
|
|
12
|
+
} | undefined;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type TimelineSearchTarget } from "./timeline-search.js";
|
|
3
|
+
import { type OpenGeniLinkResolver } from "./open-geni-links.js";
|
|
1
4
|
/**
|
|
2
5
|
* The default renderer for chat message bodies in {@link MessageTimeline}.
|
|
3
6
|
*
|
|
@@ -12,7 +15,23 @@
|
|
|
12
15
|
* the tokens land. Consumers who want a different renderer can still pass
|
|
13
16
|
* `renderMessageText` to `MessageTimeline` to override this entirely.
|
|
14
17
|
*/
|
|
18
|
+
export type MarkdownInteractiveBlock = {
|
|
19
|
+
kind: "html" | "site";
|
|
20
|
+
content: string;
|
|
21
|
+
};
|
|
15
22
|
export type MarkdownProps = {
|
|
23
|
+
/** Resolve a retained-file reference to the host's authenticated artifact page. */
|
|
24
|
+
artifactHref?: ((artifactId: string) => string) | undefined;
|
|
25
|
+
/** Reveals a bounded source excerpt; closing Find retains it until explicit restore. */
|
|
26
|
+
searchTarget?: TimelineSearchTarget | null | undefined;
|
|
27
|
+
renderImage?: ((image: {
|
|
28
|
+
src: string;
|
|
29
|
+
alt: string;
|
|
30
|
+
}) => ReactNode) | undefined;
|
|
31
|
+
/** Show alt text without loading image URLs (e.g. in search previews). */
|
|
32
|
+
suppressImages?: boolean | undefined;
|
|
33
|
+
/** Host opt-in for assistant-authored interactive fences. */
|
|
34
|
+
renderInteractiveBlock?: ((block: MarkdownInteractiveBlock) => ReactNode) | undefined;
|
|
16
35
|
children: string;
|
|
17
36
|
className?: string | undefined;
|
|
18
37
|
/**
|
|
@@ -24,8 +43,33 @@ export type MarkdownProps = {
|
|
|
24
43
|
* transition — that blinked the whole document).
|
|
25
44
|
*/
|
|
26
45
|
streaming?: boolean | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Open a session-local file link in the host's Files surface. The path is the
|
|
48
|
+
* exact decoded `sandbox:` payload; `line`, when present, is 1-based.
|
|
49
|
+
*/
|
|
50
|
+
onSandboxFile?: ((path: string, line?: number) => void | Promise<void>) | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Resolve OpenGeni object links (`artifact:`, `sandbox:`, editable
|
|
53
|
+
* artifacts, Sites) to a host URL or action. Asked before any
|
|
54
|
+
* {@link OpenGeniLinkProvider} above this body; `artifactHref` and
|
|
55
|
+
* `onSandboxFile` still win for their own kinds.
|
|
56
|
+
*/
|
|
57
|
+
resolveLink?: OpenGeniLinkResolver | undefined;
|
|
58
|
+
};
|
|
59
|
+
/** Exact target path plus optional 1-based line from a markdown href. */
|
|
60
|
+
export type SandboxFileLocation = {
|
|
61
|
+
path: string;
|
|
62
|
+
line: number | null;
|
|
27
63
|
};
|
|
28
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Parse an OpenGeni `sandbox:` application href (plus the historical bare
|
|
66
|
+
* `/workspace/...` form). The decoded path is intentionally opaque here:
|
|
67
|
+
* target selection, path policy, and filesystem authority belong to the
|
|
68
|
+
* session-aware host and its FileSystem boundary.
|
|
69
|
+
*/
|
|
70
|
+
export declare function sandboxFileLocationFromHref(href: string | undefined): SandboxFileLocation | null;
|
|
71
|
+
/** Return the exact decoded path for a supported sandbox-link href. */
|
|
72
|
+
export declare function sandboxFilePathFromHref(href: string | undefined): string | null;
|
|
73
|
+
export declare function retainedImageId(src: string): string | null;
|
|
29
74
|
/** Memoized so streaming re-renders of the parent don't re-parse settled bodies. */
|
|
30
|
-
export declare const Markdown: import("react").MemoExoticComponent<
|
|
31
|
-
export {};
|
|
75
|
+
export declare const Markdown: import("react").MemoExoticComponent<(props: MarkdownProps) => import("react").JSX.Element>;
|