@opengeni/react 3.1.0 → 3.1.3-canary.38890816741001
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 +769 -22
- package/dist/accounts.js +89 -11
- package/dist/accounts.js.map +1 -1
- package/dist/approvals.d.ts +2 -1
- package/dist/artifacts-document.js +5 -3
- package/dist/artifacts-presentation.js +5 -3
- package/dist/artifacts-spreadsheet.d.ts +1 -1
- package/dist/artifacts-spreadsheet.js +5 -3
- package/dist/artifacts.d.ts +5 -1
- package/dist/artifacts.js +536 -42
- package/dist/artifacts.js.map +1 -1
- package/dist/browser-viewer-ZWR6MWJ7.js +19 -0
- package/dist/capability-catalog-row.d.ts +20 -0
- package/dist/capability-logo-fallback.d.ts +3 -0
- package/dist/chat-interactive-block-BO2IWXVK.js +14 -0
- package/dist/chunk-2DDJ6YH6.js +41 -0
- package/dist/chunk-2DDJ6YH6.js.map +1 -0
- package/dist/chunk-2HVLQ26H.js +183 -0
- package/dist/chunk-2HVLQ26H.js.map +1 -0
- package/dist/{chunk-RGALCTWO.js → chunk-2I6R3GCZ.js} +4285 -3980
- package/dist/chunk-2I6R3GCZ.js.map +1 -0
- package/dist/{chunk-D3UIAJKY.js → chunk-2SFFYIH3.js} +1179 -166
- package/dist/chunk-2SFFYIH3.js.map +1 -0
- package/dist/chunk-3PVDYTTB.js +24 -0
- package/dist/chunk-3PVDYTTB.js.map +1 -0
- package/dist/chunk-3UZCWK46.js +298 -0
- package/dist/chunk-3UZCWK46.js.map +1 -0
- package/dist/chunk-47CKUXTW.js +293 -0
- package/dist/chunk-47CKUXTW.js.map +1 -0
- package/dist/chunk-4QYP6QUI.js +109 -0
- package/dist/chunk-4QYP6QUI.js.map +1 -0
- package/dist/chunk-5EY26VZ7.js +1053 -0
- package/dist/chunk-5EY26VZ7.js.map +1 -0
- package/dist/chunk-5I4VRWBB.js +56 -0
- package/dist/chunk-5I4VRWBB.js.map +1 -0
- package/dist/chunk-5WOR7UCL.js +191 -0
- package/dist/chunk-5WOR7UCL.js.map +1 -0
- package/dist/chunk-5YJLGOM5.js +51 -0
- package/dist/chunk-5YJLGOM5.js.map +1 -0
- package/dist/chunk-6JFN3OWG.js +386 -0
- package/dist/chunk-6JFN3OWG.js.map +1 -0
- package/dist/chunk-7QJT5O4S.js +35 -0
- package/dist/chunk-7QJT5O4S.js.map +1 -0
- package/dist/chunk-A55KV72M.js +402 -0
- package/dist/chunk-A55KV72M.js.map +1 -0
- package/dist/chunk-ADWCLI4G.js +2028 -0
- package/dist/chunk-ADWCLI4G.js.map +1 -0
- package/dist/chunk-B27E3V37.js +29 -0
- package/dist/chunk-B27E3V37.js.map +1 -0
- package/dist/chunk-B7TC2A33.js +83 -0
- package/dist/chunk-B7TC2A33.js.map +1 -0
- package/dist/chunk-BLL56F7R.js +385 -0
- package/dist/chunk-BLL56F7R.js.map +1 -0
- package/dist/chunk-BOFEQC6K.js +162 -0
- package/dist/chunk-BOFEQC6K.js.map +1 -0
- package/dist/chunk-CM7LVUKC.js +35 -0
- package/dist/chunk-CM7LVUKC.js.map +1 -0
- package/dist/chunk-CORUP6JB.js +122 -0
- package/dist/chunk-CORUP6JB.js.map +1 -0
- package/dist/chunk-CSX5FFKZ.js +35 -0
- package/dist/chunk-CSX5FFKZ.js.map +1 -0
- package/dist/chunk-EGVHJKGJ.js +3125 -0
- package/dist/chunk-EGVHJKGJ.js.map +1 -0
- package/dist/{chunk-NEXLLTP4.js → chunk-G76LSA76.js} +6 -5
- package/dist/chunk-G76LSA76.js.map +1 -0
- package/dist/{chunk-PEI6RANI.js → chunk-GQMRL52F.js} +311 -75
- package/dist/chunk-GQMRL52F.js.map +1 -0
- package/dist/{chunk-ELIYWBZR.js → chunk-GUUXOISA.js} +1113 -457
- package/dist/chunk-GUUXOISA.js.map +1 -0
- package/dist/{chunk-HUIKIDM5.js → chunk-I7X2P4FU.js} +225 -116
- package/dist/chunk-I7X2P4FU.js.map +1 -0
- package/dist/chunk-IGFZFLI2.js +1390 -0
- package/dist/chunk-IGFZFLI2.js.map +1 -0
- package/dist/{chunk-4MDLEHXL.js → chunk-IMSUVYQB.js} +26 -13
- package/dist/chunk-IMSUVYQB.js.map +1 -0
- package/dist/chunk-IOYHDEP3.js +38 -0
- package/dist/chunk-IOYHDEP3.js.map +1 -0
- package/dist/chunk-IZV5FTJC.js +55 -0
- package/dist/chunk-IZV5FTJC.js.map +1 -0
- package/dist/chunk-KF33GTWN.js +343 -0
- package/dist/chunk-KF33GTWN.js.map +1 -0
- package/dist/chunk-KSGQ5ODA.js +457 -0
- package/dist/chunk-KSGQ5ODA.js.map +1 -0
- package/dist/{chunk-OAM4WAAM.js → chunk-KZC6QRNR.js} +1513 -697
- package/dist/chunk-KZC6QRNR.js.map +1 -0
- package/dist/chunk-LJUMYUBO.js +218 -0
- package/dist/chunk-LJUMYUBO.js.map +1 -0
- package/dist/chunk-LSW2OJVV.js +380 -0
- package/dist/chunk-LSW2OJVV.js.map +1 -0
- package/dist/chunk-M357MHH3.js +2 -0
- package/dist/chunk-M357MHH3.js.map +1 -0
- package/dist/chunk-MK2TQO4Y.js +24 -0
- package/dist/chunk-MK2TQO4Y.js.map +1 -0
- package/dist/chunk-N7S72EXK.js +25 -0
- package/dist/chunk-N7S72EXK.js.map +1 -0
- package/dist/{chunk-XXWH2JLC.js → chunk-NKMYZFHA.js} +616 -621
- package/dist/chunk-NKMYZFHA.js.map +1 -0
- package/dist/chunk-NX4ADH73.js +14 -0
- package/dist/chunk-NX4ADH73.js.map +1 -0
- package/dist/chunk-O7F6UJO4.js +71 -0
- package/dist/chunk-O7F6UJO4.js.map +1 -0
- package/dist/chunk-OVB5WIG5.js +14064 -0
- package/dist/chunk-OVB5WIG5.js.map +1 -0
- package/dist/chunk-OYQQJL3J.js +16 -0
- package/dist/chunk-OYQQJL3J.js.map +1 -0
- package/dist/{chunk-H5YGYNXS.js → chunk-P4BNUO57.js} +60 -17
- package/dist/chunk-P4BNUO57.js.map +1 -0
- package/dist/{chunk-JVYQRRC4.js → chunk-PEHTX3V7.js} +21 -1
- package/dist/chunk-PEHTX3V7.js.map +1 -0
- package/dist/chunk-PMV53IMM.js +26 -0
- package/dist/chunk-PMV53IMM.js.map +1 -0
- package/dist/{chunk-KCGXPP5V.js → chunk-PYEOPA4M.js} +13 -7
- package/dist/chunk-PYEOPA4M.js.map +1 -0
- package/dist/{chunk-KZ73RL76.js → chunk-QHUE7E4N.js} +8 -3
- package/dist/chunk-QHUE7E4N.js.map +1 -0
- package/dist/chunk-QV3DJVRZ.js +11 -0
- package/dist/chunk-QV3DJVRZ.js.map +1 -0
- package/dist/chunk-R5SBNG7S.js +810 -0
- package/dist/chunk-R5SBNG7S.js.map +1 -0
- package/dist/chunk-RI42H5IU.js +326 -0
- package/dist/chunk-RI42H5IU.js.map +1 -0
- package/dist/chunk-S2QH6EZ5.js +211 -0
- package/dist/chunk-S2QH6EZ5.js.map +1 -0
- package/dist/chunk-SHLZMAJN.js +304 -0
- package/dist/chunk-SHLZMAJN.js.map +1 -0
- package/dist/chunk-TGXK4BAZ.js +293 -0
- package/dist/chunk-TGXK4BAZ.js.map +1 -0
- package/dist/{chunk-5YK2ZDIG.js → chunk-TNEZNMSN.js} +4 -10
- package/dist/chunk-TNEZNMSN.js.map +1 -0
- package/dist/{chunk-22KP6LR5.js → chunk-TXS65BB2.js} +3 -1
- package/dist/{chunk-22KP6LR5.js.map → chunk-TXS65BB2.js.map} +1 -1
- package/dist/chunk-UNJPZGNK.js +63 -0
- package/dist/chunk-UNJPZGNK.js.map +1 -0
- package/dist/{chunk-MZ2G2XBA.js → chunk-V5ZUJT2T.js} +205 -45
- package/dist/chunk-V5ZUJT2T.js.map +1 -0
- package/dist/chunk-VIUEOHXY.js +394 -0
- package/dist/chunk-VIUEOHXY.js.map +1 -0
- package/dist/chunk-WIUKB3LD.js +1911 -0
- package/dist/chunk-WIUKB3LD.js.map +1 -0
- package/dist/{chunk-ICA6R6TW.js → chunk-WNN7NO2N.js} +1451 -355
- package/dist/chunk-WNN7NO2N.js.map +1 -0
- package/dist/{chunk-YJFGAFBD.js → chunk-X5UVUIMF.js} +1892 -1223
- package/dist/chunk-X5UVUIMF.js.map +1 -0
- package/dist/chunk-XDA5QJE7.js +402 -0
- package/dist/chunk-XDA5QJE7.js.map +1 -0
- package/dist/{chunk-VZTQ73XT.js → chunk-XEA5BCMA.js} +3 -1
- package/dist/{chunk-VZTQ73XT.js.map → chunk-XEA5BCMA.js.map} +1 -1
- package/dist/chunk-XHF7OYAN.js +1150 -0
- package/dist/chunk-XHF7OYAN.js.map +1 -0
- package/dist/chunk-YSRBFJMQ.js +43 -0
- package/dist/chunk-YSRBFJMQ.js.map +1 -0
- package/dist/chunk-ZOZAPAUO.js +174 -0
- package/dist/chunk-ZOZAPAUO.js.map +1 -0
- package/dist/chunk-ZQV5W7YC.js +809 -0
- package/dist/chunk-ZQV5W7YC.js.map +1 -0
- package/dist/chunk-ZUWF4NF7.js +13 -0
- package/dist/chunk-ZUWF4NF7.js.map +1 -0
- package/dist/client.d.ts +16 -7
- package/dist/clipboard.js +3 -1
- package/dist/commands/types.d.ts +2 -0
- package/dist/components/anthropic-mark.d.ts +3 -0
- package/dist/components/approval-surface.d.ts +19 -6
- package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
- package/dist/components/artifacts/artifact-sandbox.d.ts +30 -0
- package/dist/components/artifacts/artifact-surface.d.ts +4 -2
- 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 +48 -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 +8 -3
- package/dist/components/artifacts/index.d.ts +9 -2
- 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 +23 -3
- package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
- package/dist/components/artifacts/site-view.d.ts +26 -0
- package/dist/components/artifacts/spreadsheet-command-queue.d.ts +20 -0
- package/dist/components/artifacts/spreadsheet-download.d.ts +7 -0
- package/dist/components/artifacts/spreadsheet-general-display.d.ts +24 -0
- package/dist/components/artifacts/spreadsheet-grid.d.ts +10 -3
- package/dist/components/artifacts/spreadsheet-resize.d.ts +50 -0
- package/dist/components/artifacts/spreadsheet-submissions.d.ts +9 -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 +11 -2
- package/dist/components/chat-composer.d.ts +21 -3
- package/dist/components/child-session-link.d.ts +9 -0
- package/dist/components/claude-mark.d.ts +3 -0
- package/dist/components/code-editor.d.ts +1 -4
- package/dist/components/composer-transcription-control.d.ts +7 -0
- package/dist/components/composer.d.ts +34 -67
- package/dist/components/computer-viewer.d.ts +1 -1
- package/dist/components/copy-button.d.ts +3 -1
- package/dist/components/desktop-viewer.d.ts +1 -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 +28 -32
- package/dist/components/human-input-surface.d.ts +7 -2
- package/dist/components/linkified-text.d.ts +18 -0
- package/dist/components/machine-input-display.d.ts +22 -1
- package/dist/components/machines/agent-status-icon.d.ts +6 -0
- package/dist/components/machines/machine-detail.d.ts +7 -1
- package/dist/components/machines/machine-status.d.ts +48 -0
- package/dist/components/markdown-table-layout.d.ts +18 -0
- package/dist/components/markdown.d.ts +37 -4
- package/dist/components/message-timeline.d.ts +86 -7
- 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 +41 -25
- package/dist/components/new-conversation.d.ts +32 -0
- package/dist/components/open-geni-chat.d.ts +73 -0
- package/dist/components/open-geni-links.d.ts +68 -0
- package/dist/components/openrouter-mark.d.ts +6 -0
- package/dist/components/opper-mark.d.ts +7 -0
- package/dist/components/preview-loading.d.ts +2 -0
- package/dist/components/provider-recovery-notice.d.ts +16 -0
- package/dist/components/queue-item-content.d.ts +9 -0
- package/dist/components/rehype-secret-refs.d.ts +23 -0
- package/dist/components/remark-soft-line-breaks.d.ts +38 -0
- package/dist/components/sandbox-files.d.ts +3 -1
- package/dist/components/sandbox-workspace.d.ts +18 -0
- package/dist/components/secret-question-field.d.ts +31 -0
- package/dist/components/secret-ref-chip.d.ts +35 -0
- package/dist/components/session-capability-frame.d.ts +37 -0
- package/dist/components/session-chrome.d.ts +57 -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 +157 -0
- package/dist/components/session-list.d.ts +39 -0
- package/dist/components/session-mcp-capability-card.d.ts +41 -0
- package/dist/components/session-proxy-scope.d.ts +35 -0
- package/dist/components/session-status.d.ts +4 -1
- package/dist/components/session-usage-limit-notice.d.ts +39 -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/tool-action-review.d.ts +47 -0
- package/dist/components/tool-review-history.d.ts +25 -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/composer-messages.d.ts +74 -0
- package/dist/composer-messages.js +9 -0
- package/dist/composer-messages.js.map +1 -0
- package/dist/composer-voice-events.d.ts +8 -0
- package/dist/composer.d.ts +5 -4
- package/dist/composer.js +26 -13
- package/dist/computer-viewer-GMLDXPON.js +20 -0
- package/dist/computer-viewer-GMLDXPON.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 +18 -0
- package/dist/connect.d.ts +21 -0
- package/dist/connect.js +2149 -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 +27 -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 +15 -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 +22 -0
- package/dist/editor.js.map +1 -0
- package/dist/embedded-new-voice-OCRNT6U5.js +18 -0
- package/dist/embedded-new-voice-OCRNT6U5.js.map +1 -0
- package/dist/embedded-voice-RPHPYVBT.js +18 -0
- package/dist/embedded-voice-RPHPYVBT.js.map +1 -0
- package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-SI63O5V4.js} +4 -1
- package/dist/fleet-decision-row-SI63O5V4.js.map +1 -0
- package/dist/hooks/latest-question.d.ts +25 -0
- package/dist/hooks/shared-machines-list.d.ts +4 -0
- package/dist/hooks/shared-query.d.ts +113 -0
- package/dist/hooks/use-attached-browsers.d.ts +1 -1
- package/dist/hooks/use-auth-runs.d.ts +1 -4
- package/dist/hooks/use-available-models.d.ts +1 -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-client-config-flags.d.ts +49 -0
- package/dist/hooks/use-codex-accounts.d.ts +59 -10
- package/dist/hooks/use-composer.d.ts +24 -2
- 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 +4 -0
- package/dist/hooks/use-connect.d.ts +23 -0
- package/dist/hooks/use-desktop-stream.d.ts +1 -1
- package/dist/hooks/use-file-attachments.d.ts +12 -0
- package/dist/hooks/use-goal.d.ts +2 -1
- package/dist/hooks/use-last-started-turn-policy.d.ts +5 -1
- package/dist/hooks/use-new-conversation.d.ts +56 -0
- package/dist/hooks/use-new-session-draft.d.ts +74 -0
- package/dist/hooks/use-realtime-voice-models.d.ts +7 -0
- package/dist/hooks/use-sandbox-files.d.ts +4 -1
- package/dist/hooks/use-session-conversation.d.ts +49 -0
- package/dist/hooks/use-session-events.d.ts +28 -7
- package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
- package/dist/hooks/use-session-model-account.d.ts +48 -0
- package/dist/hooks/use-supergrok-accounts.d.ts +7 -1
- package/dist/hooks/use-terminal-stream.d.ts +11 -5
- package/dist/hooks/use-usage.d.ts +40 -0
- package/dist/hooks/use-vaults.d.ts +53 -0
- package/dist/hooks/use-voice-input.d.ts +8 -1
- package/dist/hooks/use-workspace-edit.d.ts +4 -0
- package/dist/hooks/use-workspace-sessions.d.ts +22 -5
- package/dist/human-input-model.d.ts +122 -0
- package/dist/identity-link-accounts.d.ts +11 -0
- package/dist/identity-link-consent.d.ts +18 -0
- package/dist/index.d.ts +82 -20
- package/dist/index.js +2350 -6605
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +1 -1
- package/dist/interaction.js +14 -24
- package/dist/interaction.js.map +1 -1
- package/dist/latest-question-R77KWSUP.js +118 -0
- package/dist/latest-question-R77KWSUP.js.map +1 -0
- package/dist/lib/clipboard.d.ts +7 -0
- package/dist/lib/error-message.d.ts +7 -0
- package/dist/lib/format.d.ts +58 -4
- package/dist/lib/host-theme.d.ts +77 -0
- package/dist/lib/interaction-errors.d.ts +3 -0
- package/dist/lib/menu-styles.d.ts +22 -0
- package/dist/lib/notify-observer.d.ts +2 -0
- package/dist/lib/pierre-diffs-loader.d.ts +20 -0
- package/dist/lib/provider-recovery.d.ts +55 -0
- package/dist/lib/scrollbars.d.ts +11 -0
- package/dist/lib/terminal-input-readiness.d.ts +11 -0
- package/dist/lib/transient-retry.d.ts +25 -0
- package/dist/lib/workbench-peers.d.ts +36 -0
- package/dist/lib/xterm-theme.d.ts +7 -5
- package/dist/machines.js +9 -5
- package/dist/markdown-table-layout-3PV2UAAH.js +113 -0
- package/dist/markdown-table-layout-3PV2UAAH.js.map +1 -0
- package/dist/mcp-connection-status.d.ts +14 -0
- package/dist/model-mark-paths.d.ts +34 -0
- package/dist/model-mark-paths.js +16 -0
- package/dist/model-mark-paths.js.map +1 -0
- package/dist/model-picker-model.d.ts +111 -0
- package/dist/model-picker-model.js +25 -0
- package/dist/model-picker-model.js.map +1 -0
- package/dist/model-policy-picker-menu-7GJ5URPR.js +17 -0
- package/dist/model-policy-picker-menu-7GJ5URPR.js.map +1 -0
- package/dist/model-policy.d.ts +30 -3
- package/dist/model-policy.js +14 -1
- package/dist/native-previews.d.ts +28 -0
- package/dist/native-previews.js +82 -0
- package/dist/native-previews.js.map +1 -0
- package/dist/new-session-draft.d.ts +7 -0
- package/dist/new-session-draft.js +639 -0
- package/dist/new-session-draft.js.map +1 -0
- package/dist/notification-text.d.ts +27 -0
- package/dist/{noto-sans-arabic-loader-IA2T4X2A.js → noto-sans-arabic-loader-XSH2KYWJ.js} +3 -1
- package/dist/{noto-sans-arabic-loader-IA2T4X2A.js.map → noto-sans-arabic-loader-XSH2KYWJ.js.map} +1 -1
- package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js → noto-sans-jp-loader.generated-MR5L6V7K.js} +3 -1
- package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js.map → noto-sans-jp-loader.generated-MR5L6V7K.js.map} +1 -1
- package/dist/older-history.d.ts +3 -2
- package/dist/organization-model.d.ts +32 -0
- package/dist/organization-model.js +65 -0
- package/dist/organization-model.js.map +1 -0
- package/dist/{platform-activity-row-BJHUHXAT.js → platform-activity-row-5OCKOQWZ.js} +16 -78
- package/dist/platform-activity-row-5OCKOQWZ.js.map +1 -0
- package/dist/plugin-details.d.ts +14 -0
- package/dist/plugin-discovery.d.ts +25 -0
- package/dist/preview-loading-paint.d.ts +20 -0
- package/dist/provider.d.ts +25 -2
- package/dist/queue-presentation-model.d.ts +72 -0
- package/dist/queue-presentation-model.js +38 -0
- package/dist/queue-presentation-model.js.map +1 -0
- package/dist/{queue-surface-implementation-BSKUWHRI.js → queue-surface-implementation-GJBH7NKO.js} +65 -265
- package/dist/queue-surface-implementation-GJBH7NKO.js.map +1 -0
- package/dist/realtime/embedded-new-voice.d.ts +1 -0
- package/dist/realtime/embedded-voice.d.ts +1 -0
- package/dist/realtime/realtime-control.d.ts +4 -65
- package/dist/realtime/session-realtime.d.ts +78 -0
- package/dist/realtime.js +25 -1294
- package/dist/realtime.js.map +1 -1
- package/dist/sandbox-files-O27IPOZW.js +21 -0
- package/dist/sandbox-files-O27IPOZW.js.map +1 -0
- package/dist/sandbox-label-model.d.ts +30 -0
- package/dist/sandbox-label-model.js +20 -0
- package/dist/sandbox-label-model.js.map +1 -0
- package/dist/scrollbars.d.ts +1 -0
- package/dist/scrollbars.js +10 -0
- package/dist/scrollbars.js.map +1 -0
- package/dist/secret-reference-label.d.ts +14 -0
- package/dist/secrets-ui.d.ts +57 -0
- package/dist/session-agents-model.d.ts +10 -0
- package/dist/session-agents-model.js +25 -0
- package/dist/session-agents-model.js.map +1 -0
- package/dist/session-attention-model.d.ts +8 -0
- package/dist/session-attention-model.js +47 -0
- package/dist/session-attention-model.js.map +1 -0
- package/dist/session-auth-recommendation.d.ts +5 -0
- package/dist/session-capability-policy.d.ts +31 -0
- package/dist/session-feedback-model.d.ts +20 -0
- package/dist/session-feedback-model.js +56 -0
- package/dist/session-feedback-model.js.map +1 -0
- package/dist/session-list-model.d.ts +138 -0
- package/dist/session-list-model.js +274 -0
- package/dist/session-list-model.js.map +1 -0
- package/dist/session-realtime-7DJOIHQW.js +21 -0
- package/dist/session-realtime-7DJOIHQW.js.map +1 -0
- package/dist/session-realtime.d.ts +7 -0
- package/dist/session-realtime.js +19 -0
- package/dist/session-realtime.js.map +1 -0
- package/dist/session-status-model.d.ts +36 -0
- package/dist/session-ui.d.ts +39 -1
- package/dist/session-ui.js +126 -12
- package/dist/session-ui.js.map +1 -1
- package/dist/session.d.ts +8 -2
- package/dist/session.js +35 -20
- package/dist/site-snapshot.d.ts +14 -0
- package/dist/sites-ui.d.ts +24 -0
- package/dist/sites.d.ts +3 -0
- package/dist/sites.js +14 -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 +32 -0
- package/dist/terminal.js.map +1 -0
- package/dist/testing/session-scenarios.d.ts +10 -0
- package/dist/testing/session-scenarios.js +367 -0
- package/dist/testing/session-scenarios.js.map +1 -0
- package/dist/timeline/activity-rail.d.ts +11 -2
- package/dist/timeline/agent-identity.d.ts +30 -0
- package/dist/timeline/agent-row.d.ts +31 -0
- package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
- package/dist/timeline/compaction-copy.d.ts +46 -0
- package/dist/timeline/entrance.d.ts +13 -1
- package/dist/timeline/focus-sequence.d.ts +9 -0
- package/dist/timeline/genie-copy.d.ts +3 -0
- package/dist/timeline/genie-loading.d.ts +47 -0
- package/dist/timeline/index.d.ts +10 -5
- package/dist/timeline/knowledge-receipt.d.ts +17 -0
- package/dist/timeline/message-sender.d.ts +19 -0
- package/dist/timeline/notice-presentation.d.ts +13 -0
- package/dist/timeline/parsers.d.ts +11 -0
- package/dist/timeline/patch-apply-command.d.ts +18 -0
- package/dist/timeline/platform-activity-presentation.d.ts +21 -0
- package/dist/timeline/platform-activity-row.d.ts +1 -2
- package/dist/timeline/presented-image.d.ts +11 -0
- package/dist/timeline/projection.d.ts +31 -2
- package/dist/timeline/provider-logo.d.ts +15 -0
- package/dist/timeline/question-nav-model.d.ts +23 -0
- package/dist/timeline/registry.d.ts +12 -1
- package/dist/timeline/retained-image.d.ts +18 -0
- package/dist/timeline/retained-loaders.d.ts +27 -0
- package/dist/timeline/rolling-activity.d.ts +11 -0
- package/dist/timeline/screenshot-lightbox.d.ts +23 -1
- package/dist/timeline/session-usage-limit-row.d.ts +11 -0
- package/dist/timeline/shared.d.ts +4 -1
- package/dist/timeline/startup-dispatch-details.d.ts +5 -0
- 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 +5 -2
- package/dist/timeline/tool-presentation.d.ts +172 -0
- package/dist/timeline/turn-summary-model.d.ts +95 -0
- package/dist/timeline/turn-summary.d.ts +20 -54
- package/dist/timeline/types.d.ts +179 -7
- package/dist/timeline/work-presentation.d.ts +60 -0
- package/dist/timeline-annotation-markers-U3G66KUD.js +166 -0
- package/dist/timeline-annotation-markers-U3G66KUD.js.map +1 -0
- package/dist/timeline-annotation-selection-BI7QTPTZ.js +242 -0
- package/dist/timeline-annotation-selection-BI7QTPTZ.js.map +1 -0
- package/dist/timeline-annotations-dialog-FOMHSDTE.js +274 -0
- package/dist/timeline-annotations-dialog-FOMHSDTE.js.map +1 -0
- package/dist/timeline-model.d.ts +29 -0
- package/dist/timeline-model.js +254 -0
- package/dist/timeline-model.js.map +1 -0
- package/dist/usage/allowance-copy.d.ts +25 -0
- package/dist/usage/session-usage-limit.d.ts +88 -0
- package/dist/usage/summary.d.ts +35 -0
- package/dist/usage.d.ts +17 -0
- package/dist/usage.js +1187 -0
- package/dist/usage.js.map +1 -0
- package/dist/voice-recording-owner.d.ts +7 -0
- package/package.json +107 -7
- package/src/accounts.tsx +116 -14
- package/src/approvals.ts +8 -1
- package/src/artifacts-spreadsheet.ts +1 -0
- package/src/artifacts.ts +44 -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 +20 -31
- 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 +401 -138
- package/src/components/artifacts/artifact-chrome.tsx +413 -0
- package/src/components/artifacts/artifact-sandbox.tsx +189 -0
- package/src/components/artifacts/artifact-surface.tsx +40 -20
- 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 +197 -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 +543 -103
- package/src/components/artifacts/index.ts +45 -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 +122 -5
- package/src/components/artifacts/session-artifact-viewer.tsx +378 -0
- package/src/components/artifacts/site-view.tsx +121 -0
- package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
- package/src/components/artifacts/spreadsheet-command-queue.ts +184 -0
- package/src/components/artifacts/spreadsheet-download.tsx +109 -0
- package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
- package/src/components/artifacts/spreadsheet-grid.tsx +344 -144
- package/src/components/artifacts/spreadsheet-resize.tsx +421 -0
- package/src/components/artifacts/spreadsheet-submissions.tsx +46 -0
- 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 +778 -318
- package/src/components/chat-composer.tsx +47 -5
- package/src/components/child-session-link.tsx +36 -0
- package/src/components/claude-mark.tsx +11 -0
- package/src/components/code-editor.tsx +13 -16
- package/src/components/composer-transcription-control.tsx +128 -30
- package/src/components/composer.tsx +404 -195
- package/src/components/computer-viewer.tsx +880 -253
- package/src/components/copy-button.tsx +13 -5
- package/src/components/desktop-viewer.tsx +1 -1
- package/src/components/enrollment-consent.tsx +1 -1
- package/src/components/enrollment-device-flow.tsx +1 -1
- package/src/components/file-browser.tsx +10 -14
- package/src/components/fleet-tile.tsx +9 -18
- package/src/components/generated-video-player.tsx +4 -2
- package/src/components/grok-mark.tsx +34 -0
- package/src/components/human-input-form.tsx +590 -283
- package/src/components/human-input-surface.tsx +11 -0
- package/src/components/interaction-intervention-banner.tsx +2 -2
- package/src/components/linkified-text.tsx +79 -0
- package/src/components/machine-card.tsx +35 -78
- package/src/components/machine-dock-bar.tsx +1 -1
- package/src/components/machine-input-display.ts +197 -3
- package/src/components/machines/agent-status-icon.tsx +31 -0
- package/src/components/machines/machine-detail.tsx +200 -31
- package/src/components/machines/machine-operation-policy.tsx +1 -1
- package/src/components/machines/machine-status.ts +241 -0
- package/src/components/machines-dashboard.tsx +2 -17
- package/src/components/markdown-table-layout.ts +143 -0
- package/src/components/markdown.tsx +466 -129
- package/src/components/message-timeline.tsx +2567 -728
- package/src/components/model-mark.tsx +102 -0
- package/src/components/model-picker.tsx +15 -4
- package/src/components/model-policy-picker-menu.tsx +371 -0
- package/src/components/model-policy-picker.tsx +256 -412
- package/src/components/new-conversation.tsx +221 -0
- package/src/components/open-geni-chat.tsx +309 -0
- package/src/components/open-geni-links.tsx +179 -0
- package/src/components/openrouter-mark.tsx +13 -0
- package/src/components/opper-mark.tsx +18 -0
- package/src/components/pierre-diff.tsx +41 -16
- package/src/components/pierre-file.tsx +35 -10
- package/src/components/preview-loading.tsx +109 -0
- package/src/components/provider-recovery-notice.tsx +49 -0
- package/src/components/queue-item-content.ts +14 -0
- package/src/components/queue-surface-implementation.tsx +51 -356
- package/src/components/queue-surface-state.tsx +3 -1
- package/src/components/rehype-secret-refs.ts +98 -0
- package/src/components/remark-soft-line-breaks.ts +166 -0
- package/src/components/sandbox-files.tsx +91 -15
- package/src/components/sandbox-terminal.tsx +84 -13
- package/src/components/sandbox-workspace.tsx +147 -51
- package/src/components/secret-question-field.tsx +324 -0
- package/src/components/secret-ref-chip.tsx +185 -0
- package/src/components/session-capability-frame.tsx +197 -0
- package/src/components/session-chrome.tsx +842 -251
- 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 +876 -0
- package/src/components/session-list.tsx +257 -0
- package/src/components/session-mcp-capability-card.tsx +680 -0
- package/src/components/session-proxy-scope.tsx +153 -0
- package/src/components/session-status.tsx +26 -17
- package/src/components/session-usage-limit-notice.tsx +174 -0
- 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 +52 -0
- package/src/components/tool-action-review.tsx +650 -0
- package/src/components/tool-review-history.tsx +88 -0
- 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 +27 -2
- package/src/components/workspace-dock.tsx +18 -1
- package/src/composer-messages.ts +150 -0
- package/src/composer-voice-events.ts +12 -0
- 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 +355 -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 +238 -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/hooks/internal.ts +3 -2
- package/src/hooks/latest-question.ts +164 -0
- package/src/hooks/shared-machines-list.ts +34 -1
- package/src/hooks/shared-query.ts +721 -0
- package/src/hooks/use-attached-browsers.ts +1 -1
- package/src/hooks/use-auth-runs.ts +0 -27
- package/src/hooks/use-available-models.ts +21 -15
- package/src/hooks/use-browser-frame-stream.ts +19 -2
- package/src/hooks/use-browser-session.ts +680 -205
- package/src/hooks/use-browser-sessions.ts +32 -1
- package/src/hooks/use-client-config-flags.ts +118 -0
- package/src/hooks/use-codex-accounts.ts +247 -47
- package/src/hooks/use-composer.ts +276 -47
- package/src/hooks/use-computer-frame-stream.ts +25 -7
- package/src/hooks/use-computer-input-posture.ts +94 -0
- package/src/hooks/use-computer-session.ts +409 -95
- package/src/hooks/use-connect.ts +23 -0
- package/src/hooks/use-desktop-stream.ts +19 -28
- package/src/hooks/use-file-attachments.ts +80 -4
- package/src/hooks/use-goal.ts +107 -13
- package/src/hooks/use-last-started-turn-policy.ts +46 -14
- package/src/hooks/use-machines.ts +4 -0
- package/src/hooks/use-new-conversation.ts +374 -0
- package/src/hooks/use-new-session-draft.ts +813 -0
- package/src/hooks/use-realtime-voice-models.ts +46 -0
- package/src/hooks/use-sandbox-files.ts +68 -20
- package/src/hooks/use-session-background-commands.ts +22 -11
- package/src/hooks/use-session-capabilities.ts +3 -2
- package/src/hooks/use-session-conversation.ts +150 -0
- package/src/hooks/use-session-events.ts +703 -382
- package/src/hooks/use-session-lineage.ts +20 -16
- package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
- package/src/hooks/use-session-model-account.ts +174 -0
- package/src/hooks/use-session.ts +53 -21
- package/src/hooks/use-slash-commands.ts +6 -11
- package/src/hooks/use-supergrok-accounts.ts +22 -8
- package/src/hooks/use-terminal-stream.ts +153 -27
- package/src/hooks/use-transcription.ts +6 -0
- package/src/hooks/use-turn-queue.ts +2 -1
- package/src/hooks/use-usage.ts +100 -0
- package/src/hooks/use-vaults.ts +153 -0
- package/src/hooks/use-video-artifact-playback.ts +1 -1
- package/src/hooks/use-voice-input.ts +127 -19
- 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 +97 -32
- package/src/human-input-model.ts +359 -0
- package/src/identity-link-accounts.tsx +148 -0
- package/src/identity-link-consent.tsx +192 -0
- package/src/index.ts +262 -16
- package/src/interaction.ts +1 -0
- package/src/lib/clipboard.ts +29 -0
- package/src/lib/error-message.ts +37 -0
- package/src/lib/format.ts +213 -16
- package/src/lib/host-theme.ts +529 -0
- package/src/lib/interaction-errors.ts +15 -0
- package/src/lib/menu-styles.ts +44 -0
- package/src/lib/notify-observer.ts +15 -0
- package/src/lib/pierre-diffs-loader.ts +53 -0
- package/src/lib/provider-recovery.ts +243 -0
- package/src/lib/scrollbars.ts +30 -0
- package/src/lib/terminal-input-readiness.ts +51 -0
- package/src/lib/transient-retry.ts +99 -0
- package/src/lib/workbench-peers.ts +62 -0
- package/src/lib/xterm-theme.ts +23 -21
- package/src/mcp-connection-status.ts +35 -0
- package/src/model-mark-paths.ts +53 -0
- package/src/model-picker-model.ts +330 -0
- package/src/model-policy.ts +299 -74
- package/src/native-previews.ts +100 -0
- package/src/new-session-draft.ts +22 -0
- package/src/notification-text.ts +81 -0
- package/src/older-history.ts +22 -4
- package/src/organization-model.ts +118 -0
- package/src/plugin-details.tsx +185 -0
- package/src/plugin-discovery.tsx +196 -0
- package/src/preview-loading-paint.ts +68 -0
- package/src/provider.tsx +74 -15
- package/src/queue-presentation-model.ts +464 -0
- package/src/realtime/dropdown-menu.tsx +19 -12
- package/src/realtime/embedded-new-voice.tsx +1 -0
- package/src/realtime/embedded-voice.tsx +3 -0
- package/src/realtime/realtime-control.tsx +138 -501
- package/src/realtime/session-realtime.ts +566 -0
- package/src/sandbox-label-model.ts +53 -0
- package/src/scrollbars.ts +3 -0
- package/src/secret-reference-label.ts +43 -0
- package/src/secrets-ui.tsx +59 -0
- package/src/session-agents-model.ts +33 -0
- package/src/session-attention-model.ts +62 -0
- package/src/session-auth-recommendation.ts +48 -0
- package/src/session-capability-policy.ts +196 -0
- package/src/session-context.ts +3 -4
- package/src/session-feedback-model.ts +95 -0
- package/src/session-list-model.ts +434 -0
- package/src/session-realtime.ts +18 -0
- package/src/session-status-model.ts +99 -0
- package/src/session-ui.ts +98 -1
- package/src/session.ts +17 -1
- package/src/site-snapshot.ts +74 -0
- package/src/sites-ui.tsx +348 -0
- package/src/sites.ts +3 -0
- package/src/skill-discovery.tsx +208 -0
- package/src/terminal.ts +26 -0
- package/src/testing/session-scenarios.ts +404 -0
- package/src/timeline/activity-rail.tsx +242 -101
- package/src/timeline/agent-identity.tsx +84 -0
- package/src/timeline/agent-row.tsx +231 -0
- package/src/timeline/allowance-exhausted-row.tsx +86 -0
- package/src/timeline/compaction-copy.ts +115 -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/focus-sequence.ts +44 -0
- package/src/timeline/genie-copy.ts +19 -0
- package/src/timeline/genie-loading.tsx +143 -0
- package/src/timeline/index.ts +30 -2
- package/src/timeline/knowledge-receipt.tsx +100 -0
- package/src/timeline/message-sender.tsx +71 -0
- package/src/timeline/notice-presentation.ts +48 -0
- package/src/timeline/parsers.ts +42 -2
- package/src/timeline/patch-apply-command.tsx +135 -0
- package/src/timeline/platform-activity-presentation.ts +166 -0
- package/src/timeline/platform-activity-row.tsx +15 -90
- package/src/timeline/presented-image.ts +63 -0
- package/src/timeline/projection.ts +1746 -76
- package/src/timeline/provider-logo.tsx +53 -0
- package/src/timeline/question-nav-model.ts +28 -0
- package/src/timeline/registry.ts +26 -4
- package/src/timeline/retained-image.ts +97 -0
- package/src/timeline/retained-loaders.ts +91 -0
- package/src/timeline/rolling-activity.tsx +80 -0
- package/src/timeline/screenshot-lightbox.tsx +228 -5
- package/src/timeline/session-usage-limit-row.tsx +42 -0
- package/src/timeline/shared.tsx +42 -15
- package/src/timeline/startup-dispatch-details.tsx +36 -0
- package/src/timeline/startup-preference.ts +33 -0
- package/src/timeline/startup-timings.tsx +145 -0
- package/src/timeline/tool-display-name.ts +19 -7
- package/src/timeline/tool-presentation.ts +1316 -0
- package/src/timeline/tool-renderers.tsx +835 -1138
- package/src/timeline/turn-summary-model.ts +343 -0
- package/src/timeline/turn-summary.tsx +272 -365
- package/src/timeline/types.ts +189 -6
- package/src/timeline/work-presentation.ts +189 -0
- package/src/timeline-model.ts +143 -0
- package/src/usage/allowance-copy.ts +64 -0
- package/src/usage/session-usage-limit.ts +266 -0
- package/src/usage/summary.ts +93 -0
- package/src/usage.ts +70 -0
- package/src/voice-recording-owner.ts +22 -0
- package/styles/compiled.css +2319 -748
- package/styles/connect.css +290 -0
- package/styles/connect.d.ts +1 -0
- package/styles/effective-tokens.css +1 -0
- package/styles/index.css +309 -9
- package/styles/responsive.css +99 -7
- package/styles/session-capability.css +44 -0
- package/styles/tokens.css +134 -66
- package/dist/browser-viewer-AEFHUYZK.js +0 -14
- package/dist/chunk-4MDLEHXL.js.map +0 -1
- package/dist/chunk-5YK2ZDIG.js.map +0 -1
- package/dist/chunk-D3UIAJKY.js.map +0 -1
- package/dist/chunk-ELIYWBZR.js.map +0 -1
- package/dist/chunk-H5YGYNXS.js.map +0 -1
- package/dist/chunk-HQVCKCLG.js +0 -9458
- package/dist/chunk-HQVCKCLG.js.map +0 -1
- package/dist/chunk-HUIKIDM5.js.map +0 -1
- package/dist/chunk-ICA6R6TW.js.map +0 -1
- package/dist/chunk-JVYQRRC4.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-MZ2G2XBA.js.map +0 -1
- package/dist/chunk-NEXLLTP4.js.map +0 -1
- package/dist/chunk-OAM4WAAM.js.map +0 -1
- package/dist/chunk-PEI6RANI.js.map +0 -1
- package/dist/chunk-RGALCTWO.js.map +0 -1
- package/dist/chunk-W6NFJXSA.js +0 -454
- package/dist/chunk-W6NFJXSA.js.map +0 -1
- package/dist/chunk-WSK7G5LE.js +0 -170
- package/dist/chunk-WSK7G5LE.js.map +0 -1
- package/dist/chunk-X4A66EWZ.js +0 -223
- package/dist/chunk-X4A66EWZ.js.map +0 -1
- package/dist/chunk-XXWH2JLC.js.map +0 -1
- package/dist/chunk-YFKJ7VZH.js +0 -268
- package/dist/chunk-YFKJ7VZH.js.map +0 -1
- package/dist/chunk-YJFGAFBD.js.map +0 -1
- package/dist/computer-viewer-FWEZISW4.js +0 -16
- package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
- package/dist/hooks/use-environments.d.ts +0 -41
- package/dist/hooks/use-packs.d.ts +0 -32
- package/dist/platform-activity-row-BJHUHXAT.js.map +0 -1
- package/dist/queue-surface-implementation-BSKUWHRI.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-environments.ts +0 -182
- package/src/hooks/use-packs.ts +0 -157
- /package/dist/{browser-viewer-AEFHUYZK.js.map → browser-viewer-ZWR6MWJ7.js.map} +0 -0
- /package/dist/{computer-viewer-FWEZISW4.js.map → chat-interactive-block-BO2IWXVK.js.map} +0 -0
|
@@ -7,10 +7,17 @@ export type ComposerPolicy = {
|
|
|
7
7
|
latencyMode: LatencyMode;
|
|
8
8
|
};
|
|
9
9
|
export type ComposerSendExtras = Omit<SendMessageInput, "text" | "clientEventId" | "annotations" | "model" | "reasoningEffort" | "latencyMode">;
|
|
10
|
+
/** Unsent local content handed off from a new-conversation composer. */
|
|
11
|
+
export type InitialComposerDraft = {
|
|
12
|
+
text: string;
|
|
13
|
+
resources?: ResourceRef[] | undefined;
|
|
14
|
+
annotations?: DraftTimelineAnnotation[] | undefined;
|
|
15
|
+
policy?: ComposerPolicy | undefined;
|
|
16
|
+
};
|
|
10
17
|
export type UseComposerOptions = EmbeddedSessionClientOverride & SessionEventFeedOptions & {
|
|
11
|
-
/** Called synchronously after
|
|
18
|
+
/** Called synchronously after local submission. Observer errors never change delivery. */
|
|
12
19
|
onSubmitted?: ((text: string, input: SendMessageInput) => void) | undefined;
|
|
13
|
-
/** Called with the
|
|
20
|
+
/** Called with the accepted wire input. Observer errors never turn acceptance into failure. */
|
|
14
21
|
onSent?: ((text: string, input: SendMessageInput) => void) | undefined;
|
|
15
22
|
/** Called with the exact wire input after a delivery failure. */
|
|
16
23
|
onDeliveryError?: ((error: Error, input: SendMessageInput, delivery: "send" | "steer") => void) | undefined;
|
|
@@ -33,6 +40,13 @@ export type UseComposerOptions = EmbeddedSessionClientOverride & SessionEventFee
|
|
|
33
40
|
draftPersistence?: "durable" | "disabled" | undefined;
|
|
34
41
|
/** Required explicit authority when durable draft persistence is disabled. */
|
|
35
42
|
initialPolicy?: ComposerPolicy | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Seed local unsent content once when this session is mounted/selected.
|
|
45
|
+
* The real server draft still supplies the revision used for persistence.
|
|
46
|
+
* A retained uncertain submission takes precedence over this handoff.
|
|
47
|
+
* An empty seed does not erase an existing server draft.
|
|
48
|
+
*/
|
|
49
|
+
initialDraft?: InitialComposerDraft | undefined;
|
|
36
50
|
};
|
|
37
51
|
export type ComposerOptimisticMessage = {
|
|
38
52
|
clientEventId: string;
|
|
@@ -47,6 +61,10 @@ export type ComposerOptimisticMessage = {
|
|
|
47
61
|
triggerEventId?: string | null | undefined;
|
|
48
62
|
appliedQueueVersion?: number | null | undefined;
|
|
49
63
|
error?: string | undefined;
|
|
64
|
+
/** Bounded support reference retained independently of display copy across remounts. */
|
|
65
|
+
correlationId?: string | undefined;
|
|
66
|
+
/** False for a definitive refusal that requires changing payment or allowance settings. */
|
|
67
|
+
retryable?: boolean | undefined;
|
|
50
68
|
outcomeUnknown?: boolean | undefined;
|
|
51
69
|
};
|
|
52
70
|
export type ComposerState = {
|
|
@@ -59,6 +77,8 @@ export type ComposerState = {
|
|
|
59
77
|
/** Newly captured annotation the review surface should focus. */
|
|
60
78
|
annotationReviewTargetId?: string | null | undefined;
|
|
61
79
|
clearAnnotationReviewTarget?: (() => void) | undefined;
|
|
80
|
+
/** Focus an annotation, or the first incomplete note when omitted. */
|
|
81
|
+
requestAnnotationReview?: ((id?: string) => void) | undefined;
|
|
62
82
|
/** Read the current draft synchronously before a destructive replacement. */
|
|
63
83
|
hasDraftContent: () => boolean;
|
|
64
84
|
/** Append the draft behind prompts already visible in the queue. */
|
|
@@ -66,6 +86,8 @@ export type ComposerState = {
|
|
|
66
86
|
/** Locally acknowledged ordinary sends awaiting durable timeline reconciliation. */
|
|
67
87
|
optimisticMessages?: ComposerOptimisticMessage[] | undefined;
|
|
68
88
|
retryOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
89
|
+
/** Move a definitively refused message into an empty composer without resending it. */
|
|
90
|
+
restoreOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
69
91
|
removeOptimisticMessage?: ((clientEventId: string) => void) | undefined;
|
|
70
92
|
/** Supersede current direction with the draft. */
|
|
71
93
|
steer: (text?: string) => Promise<boolean>;
|
|
@@ -15,7 +15,7 @@ export type UseComputerFrameStreamOptions = EmbeddedComputerInteractionClientOve
|
|
|
15
15
|
export type UseComputerFrameStreamResult = {
|
|
16
16
|
state: ComputerFrameConnectionState;
|
|
17
17
|
frame: ComputerFrame | null;
|
|
18
|
-
attachment: Pick<ComputerSessionAttachment, "computerSessionId" | "controllerGeneration" | "targetId" | "stream" | "expiresAt"> | null;
|
|
18
|
+
attachment: Pick<ComputerSessionAttachment, "computerSessionId" | "controllerGeneration" | "targetId" | "inputAllowed" | "stream" | "expiresAt"> | null;
|
|
19
19
|
error: Error | null;
|
|
20
20
|
reconnect: () => void;
|
|
21
21
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type EmbeddedComputerInteractionClientOverride } from "../session-context.js";
|
|
2
|
+
/** Semantic-only targets need caller authority without opening a pixel stream.
|
|
3
|
+
* A source change synchronously discards the previous posture. */
|
|
4
|
+
export declare function useComputerInputPosture(options: EmbeddedComputerInteractionClientOverride & {
|
|
5
|
+
computerSessionId: string | null;
|
|
6
|
+
controllerGeneration: string | null;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
}): {
|
|
9
|
+
inputAllowed: boolean | null;
|
|
10
|
+
pending: boolean;
|
|
11
|
+
error: Error | null;
|
|
12
|
+
refresh: () => void;
|
|
13
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ComputerAction, ComputerActionReceipt, ComputerClipboard, ComputerFrame, ComputerObservation, ComputerSession, ComputerTarget } from "@opengeni/sdk/interaction";
|
|
2
2
|
import { type EmbeddedComputerInteractionClientOverride } from "../session-context.js";
|
|
3
|
+
export declare function isStaleComputerActionResult(value: unknown): boolean;
|
|
4
|
+
export declare function computerActionReceiptError(receipt: ComputerActionReceipt): Error;
|
|
3
5
|
export type UseComputerSessionOptions = EmbeddedComputerInteractionClientOverride & {
|
|
4
6
|
computerSessionId: string | null;
|
|
5
7
|
enabled?: boolean | undefined;
|
|
@@ -13,6 +15,8 @@ export type UseComputerSessionResult = {
|
|
|
13
15
|
loading: boolean;
|
|
14
16
|
mutating: boolean;
|
|
15
17
|
error: Error | null;
|
|
18
|
+
/** Control service loss, independent of target accessibility inspection and media. */
|
|
19
|
+
controlError: Error | null;
|
|
16
20
|
refresh: () => Promise<void>;
|
|
17
21
|
readClipboard: () => Promise<ComputerClipboard>;
|
|
18
22
|
/** Changes only this viewer's target cursor; it never takes ownership or
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ConnectController } from "@opengeni/connect";
|
|
2
|
+
/** Internal consumers import the hook directly so setup surfaces stay lazy. */
|
|
3
|
+
export declare function useConnect(controller: ConnectController): {
|
|
4
|
+
attempt: import("@opengeni/connect").ConnectAttempt | null;
|
|
5
|
+
busy: boolean;
|
|
6
|
+
error: Error | null;
|
|
7
|
+
begin: (input: {
|
|
8
|
+
providerId: string;
|
|
9
|
+
ownership: import("@opengeni/connect").ConnectOwnership;
|
|
10
|
+
returnUrl: string;
|
|
11
|
+
idempotencyKey: string;
|
|
12
|
+
reconnectAccountId?: string;
|
|
13
|
+
installationTarget?: import("@opengeni/connect").ConnectInstallationTarget;
|
|
14
|
+
mcpSetup?: import("@opengeni/connect").PreparedMcpSetup;
|
|
15
|
+
}) => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
16
|
+
recover: (attemptId: string) => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
17
|
+
refresh: () => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
18
|
+
waitForAction: (options?: {
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
}) => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
21
|
+
advance: (action: import("@opengeni/connect").ConnectAdvance, idempotencyKey: string) => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
22
|
+
cancel: (idempotencyKey: string) => Promise<import("@opengeni/connect").ConnectAttempt>;
|
|
23
|
+
};
|
|
@@ -9,7 +9,7 @@ export type UseDesktopStreamOptions = {
|
|
|
9
9
|
/** Read-only by default (v1 ruling H). interactive only when cap.mode allows. */
|
|
10
10
|
interactive?: boolean | undefined;
|
|
11
11
|
scaleViewport?: boolean | undefined;
|
|
12
|
-
/** Custom RFB factory
|
|
12
|
+
/** Custom RFB factory. Otherwise call enableDesktopViewer() on the desktop subpath. */
|
|
13
13
|
rfbFactory?: DesktopRfbFactory | undefined;
|
|
14
14
|
/** Additional WebSocket protocols for an authenticated placement proxy. */
|
|
15
15
|
webSocketProtocols?: string[] | undefined;
|
|
@@ -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,6 +51,12 @@ 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.
|
package/dist/hooks/use-goal.d.ts
CHANGED
|
@@ -39,7 +39,8 @@ export type UseGoalResult = {
|
|
|
39
39
|
/**
|
|
40
40
|
* The session's goal: state, the autonomy counters (`autoContinuations`,
|
|
41
41
|
* `noProgressStreak`), and pause/resume control. A goal-less session yields
|
|
42
|
-
* `goal: null
|
|
42
|
+
* `goal: null`: read through `findGoal` as a successful null when the client
|
|
43
|
+
* has it, otherwise from an absorbed 404. Live-updates on goal, turn, session,
|
|
43
44
|
* control, and system-update events — pass `options.events` from
|
|
44
45
|
* `useSessionEvents` to reuse its stream.
|
|
45
46
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LatencyMode, ReasoningEffort, SessionEvent } from "@opengeni/sdk";
|
|
1
|
+
import type { LatencyMode, ReasoningEffort, SessionEvent, SessionModelAccountChoiceResponse } from "@opengeni/sdk";
|
|
2
2
|
import { type ClientOverride } from "../session-context.js";
|
|
3
3
|
import { type SessionEventFeedOptions } from "./internal.js";
|
|
4
4
|
/** Refresh when a turn actually admits — not on composer picker / queue-only changes. */
|
|
@@ -11,6 +11,8 @@ export type LastStartedTurnPolicy = {
|
|
|
11
11
|
};
|
|
12
12
|
export type UseLastStartedTurnPolicyOptions = ClientOverride & SessionEventFeedOptions & {
|
|
13
13
|
pollIntervalMs?: number | undefined;
|
|
14
|
+
/** Project the last lease-backed serving model without changing the accepted policy. */
|
|
15
|
+
includeServingModel?: boolean | undefined;
|
|
14
16
|
};
|
|
15
17
|
export type UseLastStartedTurnPolicyResult = {
|
|
16
18
|
/** Null until some turn has durably emitted `turn.started`. */
|
|
@@ -19,6 +21,8 @@ export type UseLastStartedTurnPolicyResult = {
|
|
|
19
21
|
error: Error | null;
|
|
20
22
|
refresh: () => Promise<void>;
|
|
21
23
|
};
|
|
24
|
+
/** Never project an earlier turn's selection onto newly admitted work. */
|
|
25
|
+
export declare function withServingModel(policy: LastStartedTurnPolicy | null, serving: SessionModelAccountChoiceResponse["serving"]): LastStartedTurnPolicy | null;
|
|
22
26
|
/**
|
|
23
27
|
* Model·effort·latency of the newest admitted turn (`turn.started`). This is
|
|
24
28
|
* historical runtime truth for the session header — not the composer next-turn
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type FileResourceRef, type LatencyMode, type ReasoningEffort } from "@opengeni/sdk";
|
|
2
|
+
import type { SessionRealtimeModel } from "@opengeni/sdk/realtime";
|
|
3
|
+
import { type ClientOverride } from "../session-context.js";
|
|
4
|
+
import { type ComposerState, type InitialComposerDraft } from "./use-composer.js";
|
|
5
|
+
/** Browser choices, not server-owned agent configuration or authority. */
|
|
6
|
+
export type NewConversationCreateOptions = {
|
|
7
|
+
resources?: FileResourceRef[] | undefined;
|
|
8
|
+
model?: string | undefined;
|
|
9
|
+
reasoningEffort?: ReasoningEffort | undefined;
|
|
10
|
+
latencyMode?: LatencyMode | undefined;
|
|
11
|
+
/** Creates an empty session; no synthetic first user message. */
|
|
12
|
+
startMode?: "realtime" | undefined;
|
|
13
|
+
};
|
|
14
|
+
export type CreatedConversation = {
|
|
15
|
+
sessionId: string;
|
|
16
|
+
/** The accepted first message; empty for voice-first creation. */
|
|
17
|
+
initialMessage: string;
|
|
18
|
+
/** Newer unsent content, or the whole untouched draft for voice-first creation. */
|
|
19
|
+
draft: InitialComposerDraft;
|
|
20
|
+
realtimeModel?: SessionRealtimeModel | undefined;
|
|
21
|
+
};
|
|
22
|
+
export type UseNewConversationOptions = ClientOverride & {
|
|
23
|
+
createSession?: ((initialMessage: string, idempotencyKey: string, options: NewConversationCreateOptions) => Promise<string>) | undefined;
|
|
24
|
+
onCreated?: ((created: CreatedConversation) => void) | undefined;
|
|
25
|
+
/** A host may disable creation while its own required state is loading. */
|
|
26
|
+
enabled?: boolean | undefined;
|
|
27
|
+
attachments?: boolean | undefined;
|
|
28
|
+
modelPicker?: boolean | undefined;
|
|
29
|
+
realtimeVoice?: boolean | undefined;
|
|
30
|
+
/** Changes reset this new-chat draft; use for host record/project scope. */
|
|
31
|
+
scopeKey?: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
export type NewConversationController = ReturnType<typeof useNewConversation>;
|
|
34
|
+
/** Stock new-chat state shared by OpenGeniChat and custom host layouts. */
|
|
35
|
+
export declare function useNewConversation(options?: UseNewConversationOptions): {
|
|
36
|
+
client: import("../index.js").SessionClientLike;
|
|
37
|
+
workspaceId: string;
|
|
38
|
+
config: import("./use-client-config-flags.js").ClientConfigFlags;
|
|
39
|
+
files: import("./use-file-attachments.js").UseFileAttachmentsResult;
|
|
40
|
+
uploadsEnabled: boolean;
|
|
41
|
+
available: boolean;
|
|
42
|
+
showModelPicker: boolean;
|
|
43
|
+
catalog: import("./use-available-models.js").UseWorkspaceModelCatalogResult;
|
|
44
|
+
composer: ComposerState;
|
|
45
|
+
realtimeVoiceEnabled: boolean;
|
|
46
|
+
error: {
|
|
47
|
+
cause: unknown;
|
|
48
|
+
} | null;
|
|
49
|
+
finishingUploads: boolean;
|
|
50
|
+
pending: {
|
|
51
|
+
idempotencyKey: string;
|
|
52
|
+
realtimeModel: SessionRealtimeModel | undefined;
|
|
53
|
+
} | null;
|
|
54
|
+
retry: () => Promise<boolean>;
|
|
55
|
+
startRealtime: (model: SessionRealtimeModel) => Promise<boolean>;
|
|
56
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { FileAsset, NewSessionDraft, NewSessionSelectionHistory, OpenGeniClient, ResourceRef, SaveNewSessionDraftRequest } from "@opengeni/sdk";
|
|
2
|
+
export type NewSessionDraftEditable = Omit<SaveNewSessionDraftRequest, "expectedRevision">;
|
|
3
|
+
export type UseNewSessionDraftOptions = {
|
|
4
|
+
workspaceId: string;
|
|
5
|
+
client: Pick<OpenGeniClient, "getNewSessionDraft" | "saveNewSessionDraft" | "getFile">;
|
|
6
|
+
/** The complete browser-visible value. It must contain ready file refs only. */
|
|
7
|
+
value: NewSessionDraftEditable;
|
|
8
|
+
/** Apply a remote value to the controlled text/model/tool/options state. */
|
|
9
|
+
onApplyRemote: (value: NewSessionDraftEditable, selectionHistory: NewSessionSelectionHistory) => void;
|
|
10
|
+
/** Replace finalized attachments with freshly revalidated server assets. */
|
|
11
|
+
restoreReadyFiles: (files: Iterable<FileAsset>) => void;
|
|
12
|
+
/** Revalidate non-file resource identities against the current UI catalog. */
|
|
13
|
+
hydrateResources?: (resources: ResourceRef[]) => ResourceRef[] | Promise<ResourceRef[]>;
|
|
14
|
+
/** Keep the first read pending until catalogs needed for hydration are ready. */
|
|
15
|
+
resourceHydrationReady?: boolean;
|
|
16
|
+
/** A create in flight owns the exact clicked snapshot; resume autosave on settlement. */
|
|
17
|
+
suspendAutosave?: boolean;
|
|
18
|
+
/** Test seam for the quiet retry backoff and the background reconnect pace. */
|
|
19
|
+
transientRetry?: {
|
|
20
|
+
delaysMs?: readonly number[];
|
|
21
|
+
reconnectIntervalMs?: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type FlushedNewSessionDraft = {
|
|
25
|
+
revision: number;
|
|
26
|
+
/** Signature of the exact local snapshot acknowledged by this revision. */
|
|
27
|
+
signature: string;
|
|
28
|
+
};
|
|
29
|
+
export type AcknowledgeConsumedNewSessionDraftResult = {
|
|
30
|
+
kind: "consumed";
|
|
31
|
+
} | {
|
|
32
|
+
kind: "preserved";
|
|
33
|
+
flushed: FlushedNewSessionDraft;
|
|
34
|
+
};
|
|
35
|
+
export type UseNewSessionDraftResult = {
|
|
36
|
+
draft: NewSessionDraft | null;
|
|
37
|
+
revision: number;
|
|
38
|
+
loading: boolean;
|
|
39
|
+
saving: boolean;
|
|
40
|
+
conflict: Error | null;
|
|
41
|
+
error: Error | null;
|
|
42
|
+
/**
|
|
43
|
+
* `error` only says Opengeni was briefly unreachable (a deploy or database
|
|
44
|
+
* restart). Show the calm updating notice instead of the error; the hook
|
|
45
|
+
* keeps reconnecting in the background and clears this on success.
|
|
46
|
+
*/
|
|
47
|
+
unavailable: boolean;
|
|
48
|
+
/** The latest failure, readable right after an awaited call (state lags a render). */
|
|
49
|
+
currentError: () => Error | null;
|
|
50
|
+
/** Mark Opengeni unreachable after a transient failure elsewhere in the send path. */
|
|
51
|
+
reportUnavailable: (cause: unknown) => boolean;
|
|
52
|
+
flush: () => Promise<FlushedNewSessionDraft | null>;
|
|
53
|
+
/** Send the visible snapshot, rebasing a stale draft revision without replacing the composer. */
|
|
54
|
+
flushForSend: (snapshot?: NewSessionDraftEditable) => Promise<FlushedNewSessionDraft | null>;
|
|
55
|
+
isCurrentSignature: (signature: string) => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Fence the exact acknowledged snapshot after session creation consumes it,
|
|
58
|
+
* preserving a genuinely newer local value against the safe-seed row.
|
|
59
|
+
*/
|
|
60
|
+
acknowledgeConsumed: (flushed: FlushedNewSessionDraft, visibleSignature?: string) => Promise<AcknowledgeConsumedNewSessionDraftResult | null>;
|
|
61
|
+
reload: () => Promise<void>;
|
|
62
|
+
/** Surface a create-time OCC rejection through the ordinary draft recovery UI. */
|
|
63
|
+
captureConflict: (cause: unknown) => boolean;
|
|
64
|
+
resolveConflict: (choice: "keep_mine" | "use_remote") => Promise<void>;
|
|
65
|
+
clearError: () => void;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Actor-private, server-authoritative state for the composer shown before a
|
|
69
|
+
* session exists. Reads and writes are fenced to one client/workspace target;
|
|
70
|
+
* writes serialize and acquire the latest acknowledged revision at execution
|
|
71
|
+
* time, so a stale closure can never invent its own OCC base.
|
|
72
|
+
*/
|
|
73
|
+
export declare function useNewSessionDraft(options: UseNewSessionDraftOptions): UseNewSessionDraftResult;
|
|
74
|
+
export declare function isNewSessionDraftConflict(cause: unknown): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RealtimeModelOption } from "../realtime/session-realtime.js";
|
|
2
|
+
/**
|
|
3
|
+
* Voice models this user can start in the workspace, or an empty list while
|
|
4
|
+
* disabled, unsupported or unknown. Shares the stock voice control's catalog
|
|
5
|
+
* cache, without eagerly loading voice code for a text-only embed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useRealtimeVoiceModels(client: unknown, workspaceId: string, enabled: boolean): RealtimeModelOption[];
|
|
@@ -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";
|
|
@@ -47,6 +47,9 @@ export type UseSandboxFilesOptions = ClientOverride & {
|
|
|
47
47
|
events?: SessionEvent[] | undefined;
|
|
48
48
|
/** Initial path to list (workspace root by default). */
|
|
49
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;
|
|
50
53
|
/** Hold off the initial list (e.g. panel collapsed). Default true. */
|
|
51
54
|
enabled?: boolean | undefined;
|
|
52
55
|
/** Pause live reads/invalidation while preserving the last rendered result. */
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ClientOverride } from "../session-context.js";
|
|
2
|
+
import { type UseComposerOptions } from "./use-composer.js";
|
|
3
|
+
export type UseSessionConversationOptions = ClientOverride & {
|
|
4
|
+
/** Uploads remain subject to the client's capabilities. Defaults to true. */
|
|
5
|
+
attachments?: boolean | undefined;
|
|
6
|
+
/** Defaults to the client's model-selection offer. */
|
|
7
|
+
modelPicker?: boolean | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Optional host context and notifications. The stock composer still owns
|
|
10
|
+
* draft validation, annotations, retry identity, queueing and delivery.
|
|
11
|
+
* File cleanup and upload blocking are composed with, not replaced by, these hooks.
|
|
12
|
+
*/
|
|
13
|
+
composerOptions?: Pick<UseComposerOptions, "sendExtras" | "sendBlocked" | "onSubmitted" | "onSent" | "onDeliveryError" | "initialDraft"> | undefined;
|
|
14
|
+
};
|
|
15
|
+
export type SessionConversationController = ReturnType<typeof useSessionConversation>;
|
|
16
|
+
/**
|
|
17
|
+
* The complete conversation's state, independent of its layout. Mount once in
|
|
18
|
+
* a stable host and pass the result to SessionConversationView, or compose the
|
|
19
|
+
* stock timeline/chrome/composer around the same controller. Unmounting a view
|
|
20
|
+
* does not dispose the stream, draft or uploads while this hook stays mounted.
|
|
21
|
+
* The ordinary SessionConversation component uses this exact implementation.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useSessionConversation(sessionId: string, options?: UseSessionConversationOptions): {
|
|
24
|
+
client: import("../index.js").SessionClientLike;
|
|
25
|
+
workspaceId: string;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
config: import("./use-client-config-flags.js").ClientConfigFlags;
|
|
28
|
+
catalog: import("./use-available-models.js").UseWorkspaceModelCatalogResult;
|
|
29
|
+
showModelPicker: boolean;
|
|
30
|
+
feed: import("./use-session-events.js").UseSessionEventsResult;
|
|
31
|
+
detail: import("./use-session.js").UseSessionResult;
|
|
32
|
+
queue: import("./use-turn-queue.js").UseTurnQueueResult;
|
|
33
|
+
human: import("./use-human-input.js").UseHumanInputRequestsResult;
|
|
34
|
+
control: import("./use-session-control.js").UseSessionControlResult;
|
|
35
|
+
approvals: import("../index.js").PendingApproval[];
|
|
36
|
+
files: import("./use-file-attachments.js").UseFileAttachmentsResult;
|
|
37
|
+
uploadsEnabled: boolean;
|
|
38
|
+
composer: import("./use-composer.js").ComposerControllerState;
|
|
39
|
+
/** The same live application context for text and durable voice messages. */
|
|
40
|
+
getModelContext: () => string | undefined;
|
|
41
|
+
timeline: import("../index.js").TimelineItem[];
|
|
42
|
+
status: import("@opengeni/sdk").SessionStatus | undefined;
|
|
43
|
+
terminal: boolean;
|
|
44
|
+
importedArchive: boolean;
|
|
45
|
+
running: boolean;
|
|
46
|
+
error: Error | null;
|
|
47
|
+
loadFailed: boolean;
|
|
48
|
+
retry: () => Promise<void>;
|
|
49
|
+
};
|
|
@@ -1,7 +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
3
|
import { type OlderHistoryLoadReceipt } from "../older-history.js";
|
|
4
4
|
import type { TimelineItem } from "../timeline/types.js";
|
|
5
|
+
import type { LatestQuestionOptions } from "./latest-question.js";
|
|
5
6
|
export type SessionEventsConnectionState = StreamConnectionState | "idle" | "ended" | "error";
|
|
6
7
|
export type UseSessionEventsOptions = EmbeddedSessionClientOverride & {
|
|
7
8
|
/** Resume after this sequence (exclusive). Nonzero keeps full replay/resume semantics. */
|
|
@@ -14,10 +15,12 @@ export type UseSessionEventsOptions = EmbeddedSessionClientOverride & {
|
|
|
14
15
|
export type UseSessionEventsResult = {
|
|
15
16
|
/** Replayed + live events, ordered by sequence, no gaps, no duplicates. */
|
|
16
17
|
events: SessionEvent[];
|
|
17
|
-
/**
|
|
18
|
+
/** Renderable timeline, including the bounded navigation witness for a distant queued prompt. */
|
|
18
19
|
timeline: TimelineItem[];
|
|
19
20
|
/** Latest session status observed in the event log, if any. */
|
|
20
21
|
sessionStatus: SessionStatus | null;
|
|
22
|
+
/** Sequence of the retained status projection, including events evicted from the window. */
|
|
23
|
+
sessionStatusSequence?: number;
|
|
21
24
|
connectionState: SessionEventsConnectionState;
|
|
22
25
|
/** Highest sequence seen so far (0 before the first event). */
|
|
23
26
|
lastSequence: number;
|
|
@@ -27,6 +30,10 @@ export type UseSessionEventsResult = {
|
|
|
27
30
|
windowTruncated: boolean;
|
|
28
31
|
/** True until the initial tail window has been applied (windowed mode). */
|
|
29
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;
|
|
30
37
|
/** Whether older durable events are available before the current window. */
|
|
31
38
|
hasOlder: boolean;
|
|
32
39
|
/** True while an older window is being fetched. */
|
|
@@ -59,11 +66,19 @@ export type UseSessionEventsResult = {
|
|
|
59
66
|
* "Jump to latest" when the tip is not in memory (history view).
|
|
60
67
|
*/
|
|
61
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;
|
|
62
78
|
error: Error | null;
|
|
63
79
|
};
|
|
64
80
|
export declare const SESSION_EVENT_BROWSER_MAX_BYTES: number;
|
|
65
|
-
export declare const SESSION_EVENT_BROWSER_MAX_COUNT =
|
|
66
|
-
export declare const SESSION_EVENT_BROWSER_SINGLE_EVENT_MAX_BYTES: number;
|
|
81
|
+
export declare const SESSION_EVENT_BROWSER_MAX_COUNT = 20000;
|
|
67
82
|
export declare const SESSION_EVENT_BROWSER_PENDING_MAX_BYTES: number;
|
|
68
83
|
export declare const SESSION_EVENT_BROWSER_PENDING_MAX_COUNT = 256;
|
|
69
84
|
export type BrowserSessionEventWindow = {
|
|
@@ -82,12 +97,18 @@ export declare function useSessionEvents(sessionId: string | null | undefined, o
|
|
|
82
97
|
* accumulation retains the newest suffix; backward paging retains the oldest
|
|
83
98
|
* prefix so newly fetched history cannot be immediately evicted. This is
|
|
84
99
|
* deliberately separate from durable history and transport paging: when a
|
|
85
|
-
* backward page evicts the live tail, the hook
|
|
86
|
-
*
|
|
87
|
-
*
|
|
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.
|
|
88
104
|
*/
|
|
89
105
|
export declare function boundBrowserSessionEventWindow(events: readonly SessionEvent[], options?: {
|
|
90
106
|
maxBytes?: number;
|
|
91
107
|
maxCount?: number;
|
|
92
108
|
direction?: "newest" | "oldest";
|
|
93
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;
|
|
@@ -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;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ModelAccountPreferences, SessionEvent, SessionModelAccountChoiceResponse, SetSessionModelAccountChoiceRequest, SetSessionModelAccountChoiceResponse, UpdateModelAccountPreferencesRequest } from "@opengeni/sdk";
|
|
2
|
+
import { type ClientOverride } from "../provider.js";
|
|
3
|
+
import { type SessionEventFeedOptions } from "./internal.js";
|
|
4
|
+
/** Events after which the session's model account may have changed. */
|
|
5
|
+
export declare function isModelAccountEvent(event: Pick<SessionEvent, "type">): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* The structural slice of the SDK client the model-account picker needs.
|
|
8
|
+
* Method names and signatures match `OpenGeniClient`, so the real client
|
|
9
|
+
* satisfies it directly and a test client can stand in.
|
|
10
|
+
*/
|
|
11
|
+
export type ModelAccountClientLike = {
|
|
12
|
+
getSessionModelAccount: (workspaceId: string, sessionId: string) => Promise<SessionModelAccountChoiceResponse>;
|
|
13
|
+
setSessionModelAccount?: (workspaceId: string, sessionId: string, request: SetSessionModelAccountChoiceRequest) => Promise<SetSessionModelAccountChoiceResponse>;
|
|
14
|
+
updateModelAccountPreferences?: (organizationId: string, request: UpdateModelAccountPreferencesRequest) => Promise<ModelAccountPreferences>;
|
|
15
|
+
};
|
|
16
|
+
export type UseSessionModelAccountOptions = ClientOverride & SessionEventFeedOptions & {
|
|
17
|
+
sessionId: string;
|
|
18
|
+
/** Scope choices, including Automatic, to this provider. Omit for a whole-session reset. */
|
|
19
|
+
provider?: string | null | undefined;
|
|
20
|
+
/** The session's organization; needed to change the personal-fallback opt-in. */
|
|
21
|
+
organizationId?: string | null | undefined;
|
|
22
|
+
pollIntervalMs?: number | undefined;
|
|
23
|
+
modelAccountClient?: ModelAccountClientLike | undefined;
|
|
24
|
+
};
|
|
25
|
+
export type UseSessionModelAccountResult = {
|
|
26
|
+
choice: SessionModelAccountChoiceResponse | null;
|
|
27
|
+
loading: boolean;
|
|
28
|
+
error: Error | null;
|
|
29
|
+
refresh: () => Promise<void>;
|
|
30
|
+
/** Choose an account, or `null` for automatic selection; true on success. */
|
|
31
|
+
choose: (connectionId: string | null) => Promise<boolean>;
|
|
32
|
+
choosing: boolean;
|
|
33
|
+
/** The in-flight target (`null` is automatic; `undefined` when idle). */
|
|
34
|
+
choosingTarget: string | null | undefined;
|
|
35
|
+
appliedTo: "waiting_turn" | "next_turn" | null;
|
|
36
|
+
/** Turn the caller's own personal-fallback opt-in on or off; true on success. */
|
|
37
|
+
setFallbackOptIn: (optIn: boolean) => Promise<boolean>;
|
|
38
|
+
canChangeFallback: boolean;
|
|
39
|
+
mutationError: Error | null;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* The session's model account across every provider on the shared
|
|
43
|
+
* subscription core: the accounts it may use (the workspace's shared accounts
|
|
44
|
+
* and the caller's own personal accounts), the explicit choice, and the
|
|
45
|
+
* caller's personal-fallback opt-in. The server decides what may be chosen;
|
|
46
|
+
* this hook only reflects and requests.
|
|
47
|
+
*/
|
|
48
|
+
export declare function useSessionModelAccount(options: UseSessionModelAccountOptions): UseSessionModelAccountResult;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { SuperGrokAccount, SuperGrokAccountsResponse } from "@opengeni/sdk";
|
|
2
2
|
import { type ClientOverride } from "../provider.js";
|
|
3
|
+
import { type SharedQueryKey } from "./shared-query.js";
|
|
4
|
+
/** Shared-cache key for a workspace's SuperGrok accounts (internal; see `useSharedQuery`). */
|
|
5
|
+
export declare const superGrokAccountsQueryKey: (workspaceId: string) => SharedQueryKey;
|
|
3
6
|
export type SuperGrokAccountsClientLike = {
|
|
4
7
|
listSuperGrokAccounts: (workspaceId: string) => Promise<SuperGrokAccountsResponse>;
|
|
5
8
|
activateSuperGrokAccount?: (workspaceId: string, accountId: string) => Promise<{
|
|
@@ -22,5 +25,8 @@ export type UseSuperGrokAccountsResult = {
|
|
|
22
25
|
activating: boolean;
|
|
23
26
|
mutationError: Error | null;
|
|
24
27
|
};
|
|
25
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Workspace-visible xAI accounts. Workspace scope is the connection default.
|
|
30
|
+
* Reads share the client-scoped cache, so a remount renders retained rows at once.
|
|
31
|
+
*/
|
|
26
32
|
export declare function useSuperGrokAccounts(options?: UseSuperGrokAccountsOptions): UseSuperGrokAccountsResult;
|
|
@@ -5,8 +5,9 @@ export type UseTerminalStreamOptions = {
|
|
|
5
5
|
/** The Terminal cell of the negotiated capabilities (`capabilities.Terminal`).
|
|
6
6
|
* The stream connects ONLY when `transport === "pty-ws"` and `url` is set; on a
|
|
7
7
|
* cold box (`transport === "sse-events"` / no url) it stays idle and the caller
|
|
8
|
-
* falls back to the Channel-A
|
|
9
|
-
|
|
8
|
+
* falls back to the Channel-A firehose. Explicit PTY-capable cold cells may
|
|
9
|
+
* buffer input, but cannot connect or flush until the grant arrives. */
|
|
10
|
+
capability: (Pick<TerminalCapability, "transport" | "url" | "token" | "expiresAt"> & Partial<Pick<TerminalCapability, "ptyCapable" | "reason">>) | null;
|
|
10
11
|
/** Called for each OUTPUT payload from ttyd (write verbatim into xterm). */
|
|
11
12
|
onOutput?: ((data: string) => void) | undefined;
|
|
12
13
|
/** Called when ttyd sends a SET_WINDOW_TITLE frame. */
|
|
@@ -19,11 +20,16 @@ export type UseTerminalStreamOptions = {
|
|
|
19
20
|
initialRows?: number | undefined;
|
|
20
21
|
};
|
|
21
22
|
export type UseTerminalStreamResult = {
|
|
22
|
-
/** True
|
|
23
|
+
/** True when input can be sent. Legacy ttyd does not guarantee shell readiness. */
|
|
23
24
|
connected: boolean;
|
|
24
25
|
status: TerminalStreamStatus;
|
|
26
|
+
/** `waiting` requires explicit shell readiness; `legacy` has no such guarantee. */
|
|
27
|
+
inputReadiness: "pending" | "waiting" | "ready" | "legacy";
|
|
28
|
+
/** Deliberate escape for startup prompts/no-Readline shells. Clears queued
|
|
29
|
+
* typing without executing it, then enables unguaranteed manual input. */
|
|
30
|
+
useLegacyInput: () => void;
|
|
25
31
|
/** Pipe a keystroke/paste to PTY stdin. Input during CONNECTING is bounded and
|
|
26
|
-
* replayed
|
|
32
|
+
* replayed after negotiated readiness (or legacy ttyd preferences). */
|
|
27
33
|
write: (data: string) => void;
|
|
28
34
|
/** Tell ttyd the PTY window changed size (on xterm fit/resize). */
|
|
29
35
|
resize: (cols: number, rows: number) => void;
|
|
@@ -45,7 +51,7 @@ export declare function terminalStreamCredentialUsable(capability: Pick<Terminal
|
|
|
45
51
|
* - first frame: `JSON.stringify({ AuthToken: "" })` (+ optional columns/rows).
|
|
46
52
|
* - client→server: INPUT = "0"+data ; RESIZE = "1"+JSON({columns,rows}).
|
|
47
53
|
* - server→client: "0" = OUTPUT (→ xterm) ; "1" = SET_WINDOW_TITLE ;
|
|
48
|
-
* "2" = SET_PREFERENCES (
|
|
54
|
+
* "2" = SET_PREFERENCES (readiness negotiation). Binary frames decode identically.
|
|
49
55
|
*
|
|
50
56
|
* On a `url`/`token` rotation (a box rollover folds a fresh address into the cell)
|
|
51
57
|
* the effect re-runs: the old socket closes and a fresh one connects — a brief
|