@jini-ai/ui 0.1.2 → 0.3.1
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 +108 -18
- package/dist/browser/useDismissOnOutsideOrEscape.d.ts.map +1 -1
- package/dist/browser/useDismissOnOutsideOrEscape.js +3 -2
- package/dist/browser/useDismissOnOutsideOrEscape.js.map +1 -1
- package/dist/browser/useGlobalKeydown.js +1 -1
- package/dist/browser/useGlobalKeydown.js.map +1 -1
- package/dist/core.d.ts +69 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +66 -0
- package/dist/core.js.map +1 -0
- package/dist/features/a2ui/catalog-from-registry.d.ts +30 -0
- package/dist/features/a2ui/catalog-from-registry.d.ts.map +1 -0
- package/dist/features/a2ui/catalog-from-registry.js +25 -0
- package/dist/features/a2ui/catalog-from-registry.js.map +1 -0
- package/dist/features/a2ui/index.d.ts +5 -0
- package/dist/features/a2ui/index.d.ts.map +1 -0
- package/dist/features/a2ui/index.js +5 -0
- package/dist/features/a2ui/index.js.map +1 -0
- package/dist/features/a2ui/protocol.d.ts +7 -0
- package/dist/features/a2ui/protocol.d.ts.map +1 -0
- package/dist/features/a2ui/protocol.js +7 -0
- package/dist/features/a2ui/protocol.js.map +1 -0
- package/dist/features/a2ui/renderer.d.ts +17 -0
- package/dist/features/a2ui/renderer.d.ts.map +1 -0
- package/dist/features/a2ui/renderer.js +80 -0
- package/dist/features/a2ui/renderer.js.map +1 -0
- package/dist/features/a2ui/use-a2ui-surface.d.ts +13 -0
- package/dist/features/a2ui/use-a2ui-surface.d.ts.map +1 -0
- package/dist/features/a2ui/use-a2ui-surface.js +17 -0
- package/dist/features/a2ui/use-a2ui-surface.js.map +1 -0
- package/dist/features/about/index.d.ts +7 -0
- package/dist/features/about/index.d.ts.map +1 -0
- package/dist/features/about/index.js +4 -0
- package/dist/features/about/index.js.map +1 -0
- package/dist/features/about/react/components/AboutTab.d.ts +82 -0
- package/dist/features/about/react/components/AboutTab.d.ts.map +1 -0
- package/dist/features/about/react/components/AboutTab.js +70 -0
- package/dist/features/about/react/components/AboutTab.js.map +1 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.d.ts +44 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.d.ts.map +1 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.js +44 -0
- package/dist/features/about/react/hooks/useSilentUpdatesToggle.js.map +1 -0
- package/dist/features/about/rules.d.ts +105 -0
- package/dist/features/about/rules.d.ts.map +1 -0
- package/dist/features/about/rules.js +240 -0
- package/dist/features/about/rules.js.map +1 -0
- package/dist/features/about/types.d.ts +110 -0
- package/dist/features/about/types.d.ts.map +1 -0
- package/dist/features/about/types.js +20 -0
- package/dist/features/about/types.js.map +1 -0
- package/dist/features/appearance/constants.d.ts +16 -0
- package/dist/features/appearance/constants.d.ts.map +1 -0
- package/dist/features/appearance/constants.js +23 -0
- package/dist/features/appearance/constants.js.map +1 -0
- package/dist/features/appearance/index.d.ts +5 -0
- package/dist/features/appearance/index.d.ts.map +1 -0
- package/dist/features/appearance/index.js.map +1 -0
- package/dist/features/appearance/react/components/AppearanceTab.d.ts.map +1 -0
- package/dist/features/appearance/react/components/AppearanceTab.js +31 -0
- package/dist/features/appearance/react/components/AppearanceTab.js.map +1 -0
- package/dist/features/appearance/rules.d.ts +31 -0
- package/dist/features/appearance/rules.d.ts.map +1 -0
- package/dist/features/appearance/rules.js +45 -0
- package/dist/features/appearance/rules.js.map +1 -0
- package/dist/features/appearance/types.d.ts +12 -0
- package/dist/features/appearance/types.d.ts.map +1 -0
- package/dist/features/appearance/types.js +8 -0
- package/dist/features/appearance/types.js.map +1 -0
- package/dist/features/asset-grid/react/components/AssetGrid.d.ts.map +1 -1
- package/dist/features/asset-grid/react/components/AssetGrid.js +44 -9
- package/dist/features/asset-grid/react/components/AssetGrid.js.map +1 -1
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.d.ts.map +1 -1
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.js +39 -2
- package/dist/features/asset-grid/react/hooks/useAssetGridLiveUpdates.js.map +1 -1
- package/dist/features/asset-tree-browser/rules.d.ts +1 -0
- package/dist/features/asset-tree-browser/rules.d.ts.map +1 -1
- package/dist/features/asset-tree-browser/rules.js.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.js +2 -2
- package/dist/features/connectors/ConnectorsBrowser.js.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.js.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.js.map +1 -1
- package/dist/features/connectors/dependencies.d.ts +1 -1
- package/dist/features/connectors/dependencies.d.ts.map +1 -1
- package/dist/features/connectors/dependencies.js +1 -2
- package/dist/features/connectors/dependencies.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorAuthorization.d.ts +38 -0
- package/dist/features/connectors/hooks/useConnectorAuthorization.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorAuthorization.js +76 -63
- package/dist/features/connectors/hooks/useConnectorAuthorization.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorCatalog.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorCatalog.js.map +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.d.ts.map +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.js +1 -1
- package/dist/features/connectors/hooks/useConnectorDetail.js.map +1 -1
- package/dist/features/connectors/index.d.ts +4 -4
- package/dist/features/connectors/index.d.ts.map +1 -1
- package/dist/features/connectors/index.js +2 -2
- package/dist/features/connectors/index.js.map +1 -1
- package/dist/features/execution/constants.d.ts +55 -0
- package/dist/features/execution/constants.d.ts.map +1 -0
- package/dist/features/execution/constants.js +187 -0
- package/dist/features/execution/constants.js.map +1 -0
- package/dist/features/execution/dependencies.d.ts +41 -0
- package/dist/features/execution/dependencies.d.ts.map +1 -0
- package/dist/features/execution/dependencies.js +64 -0
- package/dist/features/execution/dependencies.js.map +1 -0
- package/dist/features/execution/index.d.ts +24 -0
- package/dist/features/execution/index.d.ts.map +1 -0
- package/dist/features/execution/index.js +13 -0
- package/dist/features/execution/index.js.map +1 -0
- package/dist/features/execution/ports.d.ts +71 -0
- package/dist/features/execution/ports.d.ts.map +1 -0
- package/dist/features/execution/ports.js.map +1 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.d.ts +26 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.d.ts.map +1 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.js +25 -0
- package/dist/features/execution/react/components/AgentCliEnvFields.js.map +1 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.d.ts +32 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.d.ts.map +1 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.js +61 -0
- package/dist/features/execution/react/components/AgentDiagnosticRow.js.map +1 -0
- package/dist/features/execution/react/components/ByokProviderForm.d.ts +73 -0
- package/dist/features/execution/react/components/ByokProviderForm.d.ts.map +1 -0
- package/dist/features/execution/react/components/ByokProviderForm.js +88 -0
- package/dist/features/execution/react/components/ByokProviderForm.js.map +1 -0
- package/dist/features/execution/react/components/ExecutionTab.d.ts +60 -0
- package/dist/features/execution/react/components/ExecutionTab.d.ts.map +1 -0
- package/dist/features/execution/react/components/ExecutionTab.js +91 -0
- package/dist/features/execution/react/components/ExecutionTab.js.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts +40 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.js +121 -0
- package/dist/features/execution/react/components/LocalCliAgentCard.js.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts +37 -0
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts.map +1 -0
- package/dist/features/execution/react/components/LocalCliAgentList.js +18 -0
- package/dist/features/execution/react/components/LocalCliAgentList.js.map +1 -0
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts +21 -0
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts.map +1 -0
- package/dist/features/execution/react/components/ProviderChipGroup.js +22 -0
- package/dist/features/execution/react/components/ProviderChipGroup.js.map +1 -0
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts +45 -0
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts.map +1 -0
- package/dist/features/execution/react/components/SearchableModelSelect.js +55 -0
- package/dist/features/execution/react/components/SearchableModelSelect.js.map +1 -0
- package/dist/features/execution/react/hooks/useExecutionTab.d.ts +38 -0
- package/dist/features/execution/react/hooks/useExecutionTab.d.ts.map +1 -0
- package/dist/features/execution/react/hooks/useExecutionTab.js +158 -0
- package/dist/features/execution/react/hooks/useExecutionTab.js.map +1 -0
- package/dist/features/execution/rules.d.ts +218 -0
- package/dist/features/execution/rules.d.ts.map +1 -0
- package/dist/features/execution/rules.js +414 -0
- package/dist/features/execution/rules.js.map +1 -0
- package/dist/features/execution/types.d.ts +410 -0
- package/dist/features/execution/types.d.ts.map +1 -0
- package/dist/features/execution/types.js +19 -0
- package/dist/features/execution/types.js.map +1 -0
- package/dist/features/external-mcp/constants.d.ts +3 -0
- package/dist/features/external-mcp/constants.d.ts.map +1 -0
- package/dist/features/external-mcp/constants.js +22 -0
- package/dist/features/external-mcp/constants.js.map +1 -0
- package/dist/features/external-mcp/index.d.ts +4 -0
- package/dist/features/external-mcp/index.d.ts.map +1 -0
- package/dist/features/external-mcp/index.js +3 -0
- package/dist/features/external-mcp/index.js.map +1 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.d.ts +23 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.d.ts.map +1 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.js +53 -0
- package/dist/features/external-mcp/react/components/ExternalMcpTab.js.map +1 -0
- package/dist/features/html-editor/canvas-content-wrapper.d.ts +16 -0
- package/dist/features/html-editor/canvas-content-wrapper.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-content-wrapper.js +86 -0
- package/dist/features/html-editor/canvas-content-wrapper.js.map +1 -0
- package/dist/features/html-editor/canvas-embed-placeholders.d.ts +65 -0
- package/dist/features/html-editor/canvas-embed-placeholders.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-embed-placeholders.js +190 -0
- package/dist/features/html-editor/canvas-embed-placeholders.js.map +1 -0
- package/dist/features/html-editor/canvas-style.d.ts +73 -0
- package/dist/features/html-editor/canvas-style.d.ts.map +1 -0
- package/dist/features/html-editor/canvas-style.js +64 -0
- package/dist/features/html-editor/canvas-style.js.map +1 -0
- package/dist/features/html-editor/css.d.ts +22 -0
- package/dist/features/html-editor/css.d.ts.map +1 -0
- package/dist/features/html-editor/css.js +140 -0
- package/dist/features/html-editor/css.js.map +1 -0
- package/dist/features/html-editor/dom.d.ts +15 -0
- package/dist/features/html-editor/dom.d.ts.map +1 -0
- package/dist/features/html-editor/dom.js +20 -0
- package/dist/features/html-editor/dom.js.map +1 -0
- package/dist/features/html-editor/index.d.ts +8 -0
- package/dist/features/html-editor/index.d.ts.map +1 -0
- package/dist/features/html-editor/index.js +5 -0
- package/dist/features/html-editor/index.js.map +1 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts +94 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts.map +1 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.js +15 -0
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.js.map +1 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.d.ts +33 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.d.ts.map +1 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js +170 -0
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js.map +1 -0
- package/dist/features/html-viewer/dependencies.d.ts +1 -1
- package/dist/features/html-viewer/dependencies.d.ts.map +1 -1
- package/dist/features/html-viewer/dependencies.js +2 -2
- package/dist/features/html-viewer/dependencies.js.map +1 -1
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.d.ts +2 -2
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.js +3 -3
- package/dist/features/html-viewer/react/hooks/useDeckNavigation.js.map +1 -1
- package/dist/features/i18n/context.d.ts +35 -2
- package/dist/features/i18n/context.d.ts.map +1 -1
- package/dist/features/i18n/context.js +1 -1
- package/dist/features/i18n/context.js.map +1 -1
- package/dist/features/i18n/dictionaries/index.d.ts +63 -0
- package/dist/features/i18n/dictionaries/index.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/index.js +70 -0
- package/dist/features/i18n/dictionaries/index.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ar.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.bn.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.de.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.d.ts +33 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.en.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.es.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fa.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.fr.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hi.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.hu.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.id.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.it.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ja.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ko.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pl.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ru.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.th.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.tr.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.uk.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.d.ts +8 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.ur.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.d.ts +17 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.js.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.d.ts +20 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.js +239 -0
- package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.js.map +1 -0
- package/dist/features/i18n/dictionaries/types.d.ts +16 -0
- package/dist/features/i18n/dictionaries/types.d.ts.map +1 -0
- package/dist/features/i18n/dictionaries/types.js.map +1 -0
- package/dist/features/i18n/index.d.ts +2 -0
- package/dist/features/i18n/index.d.ts.map +1 -1
- package/dist/features/i18n/index.js +1 -0
- package/dist/features/i18n/index.js.map +1 -1
- package/dist/features/iframe-pool/react/components/PooledIframe.d.ts.map +1 -1
- package/dist/features/iframe-pool/react/components/PooledIframe.js +27 -3
- package/dist/features/iframe-pool/react/components/PooledIframe.js.map +1 -1
- package/dist/features/instructions/index.d.ts.map +1 -0
- package/dist/features/instructions/index.js.map +1 -0
- package/dist/features/instructions/react/components/InstructionsTab.d.ts.map +1 -0
- package/dist/features/instructions/react/components/InstructionsTab.js +16 -0
- package/dist/features/instructions/react/components/InstructionsTab.js.map +1 -0
- package/dist/features/integrations/constants.d.ts.map +1 -0
- package/dist/features/integrations/constants.js.map +1 -0
- package/dist/features/integrations/dependencies.d.ts.map +1 -0
- package/dist/features/integrations/dependencies.js.map +1 -0
- package/dist/features/integrations/index.d.ts +18 -0
- package/dist/features/integrations/index.d.ts.map +1 -0
- package/dist/features/integrations/index.js +10 -0
- package/dist/features/integrations/index.js.map +1 -0
- package/dist/features/integrations/ports.d.ts.map +1 -0
- package/dist/features/integrations/ports.js +2 -0
- package/dist/features/integrations/ports.js.map +1 -0
- package/dist/features/integrations/react/components/ClientPicker.d.ts.map +1 -0
- package/dist/features/integrations/react/components/ClientPicker.js +31 -0
- package/dist/features/integrations/react/components/ClientPicker.js.map +1 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts.map +1 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js +21 -0
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js.map +1 -0
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts +27 -0
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts.map +1 -0
- package/dist/features/integrations/react/components/IntegrationsTab.js +61 -0
- package/dist/features/integrations/react/components/IntegrationsTab.js.map +1 -0
- package/dist/features/integrations/react/components/SnippetBlock.d.ts.map +1 -0
- package/dist/features/integrations/react/components/SnippetBlock.js +53 -0
- package/dist/features/integrations/react/components/SnippetBlock.js.map +1 -0
- package/dist/features/integrations/react/hooks/useCodexInstallToggle.d.ts.map +1 -0
- package/dist/features/integrations/react/hooks/useCodexInstallToggle.js.map +1 -0
- package/dist/features/integrations/react/hooks/useMcpInstallInfo.d.ts.map +1 -0
- package/dist/features/integrations/react/hooks/useMcpInstallInfo.js.map +1 -0
- package/dist/features/integrations/rules.d.ts +55 -0
- package/dist/features/integrations/rules.d.ts.map +1 -0
- package/dist/features/integrations/rules.js +193 -0
- package/dist/features/integrations/rules.js.map +1 -0
- package/dist/features/integrations/types.d.ts +58 -0
- package/dist/features/integrations/types.d.ts.map +1 -0
- package/dist/features/integrations/types.js +15 -0
- package/dist/features/integrations/types.js.map +1 -0
- package/dist/features/interactive-ui/index.d.ts +23 -0
- package/dist/features/interactive-ui/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/index.js +37 -0
- package/dist/features/interactive-ui/index.js.map +1 -0
- package/dist/features/interactive-ui/interactive-ui.css +2 -0
- package/dist/features/interactive-ui/manifests.d.ts +21 -0
- package/dist/features/interactive-ui/manifests.d.ts.map +1 -0
- package/dist/features/interactive-ui/manifests.js +37 -0
- package/dist/features/interactive-ui/manifests.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.d.ts +12 -0
- package/dist/features/interactive-ui/providers/native/data-table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.js +5 -0
- package/dist/features/interactive-ui/providers/native/data-table.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.d.ts +57 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.js +31 -0
- package/dist/features/interactive-ui/providers/native/data-table.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/native/index.d.ts +3 -0
- package/dist/features/interactive-ui/providers/native/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/native/index.js +3 -0
- package/dist/features/interactive-ui/providers/native/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.d.ts +8 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.js +6 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.d.ts +21 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.js +18 -0
- package/dist/features/interactive-ui/providers/recharts/bar-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/index.d.ts +7 -0
- package/dist/features/interactive-ui/providers/recharts/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/index.js +7 -0
- package/dist/features/interactive-ui/providers/recharts/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.d.ts +8 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.js +6 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.d.ts +20 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/recharts/line-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.d.ts +10 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.js +7 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.js.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.d.ts +41 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.js +15 -0
- package/dist/features/interactive-ui/providers/recharts/pie-chart.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.d.ts +14 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.d.ts +24 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/action-button.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/button.d.ts +18 -0
- package/dist/features/interactive-ui/providers/shadcn/button.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/button.js +40 -0
- package/dist/features/interactive-ui/providers/shadcn/button.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/card.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/card.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/card.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/card.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.d.ts +9 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.js +9 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.d.ts +10 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.js +14 -0
- package/dist/features/interactive-ui/providers/shadcn/checkbox.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.d.ts +7 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/content-card.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.js +7 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.d.ts +47 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.js +21 -0
- package/dist/features/interactive-ui/providers/shadcn/data-table.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/index.d.ts +15 -0
- package/dist/features/interactive-ui/providers/shadcn/index.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/index.js +15 -0
- package/dist/features/interactive-ui/providers/shadcn/index.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/input.d.ts +8 -0
- package/dist/features/interactive-ui/providers/shadcn/input.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/input.js +13 -0
- package/dist/features/interactive-ui/providers/shadcn/input.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/label.d.ts +11 -0
- package/dist/features/interactive-ui/providers/shadcn/label.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/label.js +15 -0
- package/dist/features/interactive-ui/providers/shadcn/label.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.d.ts +9 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.js +12 -0
- package/dist/features/interactive-ui/providers/shadcn/lib/utils.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.d.ts +13 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.js +14 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.d.ts +44 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.js +16 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.d.ts +11 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.js +20 -0
- package/dist/features/interactive-ui/providers/shadcn/radio-group.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.d.ts +14 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.js +8 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.d.ts +47 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/shadcn/select-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select.d.ts +19 -0
- package/dist/features/interactive-ui/providers/shadcn/select.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/select.js +30 -0
- package/dist/features/interactive-ui/providers/shadcn/select.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/table.d.ts +17 -0
- package/dist/features/interactive-ui/providers/shadcn/table.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/table.js +35 -0
- package/dist/features/interactive-ui/providers/shadcn/table.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.d.ts +16 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.js +6 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.js.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.d.ts +20 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.d.ts.map +1 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.js +17 -0
- package/dist/features/interactive-ui/providers/shadcn/text-input-field.manifest.js.map +1 -0
- package/dist/features/interactive-ui/registry.d.ts +27 -0
- package/dist/features/interactive-ui/registry.d.ts.map +1 -0
- package/dist/features/interactive-ui/registry.js +27 -0
- package/dist/features/interactive-ui/registry.js.map +1 -0
- package/dist/features/interactive-ui/types.d.ts +18 -0
- package/dist/features/interactive-ui/types.d.ts.map +1 -0
- package/dist/features/interactive-ui/types.js.map +1 -0
- package/dist/features/language/index.d.ts.map +1 -0
- package/dist/features/language/index.js.map +1 -0
- package/dist/features/language/react/components/LanguageTab.d.ts.map +1 -0
- package/dist/features/language/react/components/LanguageTab.js +18 -0
- package/dist/features/language/react/components/LanguageTab.js.map +1 -0
- package/dist/features/language/types.d.ts +21 -0
- package/dist/features/language/types.d.ts.map +1 -0
- package/dist/features/language/types.js +2 -0
- package/dist/features/language/types.js.map +1 -0
- package/dist/features/list-detail-panel/types.d.ts +1 -1
- package/dist/features/list-detail-panel/types.js +1 -1
- package/dist/features/mcp-ui/confirmation-store.d.ts +110 -0
- package/dist/features/mcp-ui/confirmation-store.d.ts.map +1 -0
- package/dist/features/mcp-ui/confirmation-store.js +149 -0
- package/dist/features/mcp-ui/confirmation-store.js.map +1 -0
- package/dist/features/mcp-ui/early-message-buffer.d.ts +62 -0
- package/dist/features/mcp-ui/early-message-buffer.d.ts.map +1 -0
- package/dist/features/mcp-ui/early-message-buffer.js +69 -0
- package/dist/features/mcp-ui/early-message-buffer.js.map +1 -0
- package/dist/features/mcp-ui/escape.d.ts +51 -0
- package/dist/features/mcp-ui/escape.d.ts.map +1 -0
- package/dist/features/mcp-ui/escape.js +68 -0
- package/dist/features/mcp-ui/escape.js.map +1 -0
- package/dist/features/mcp-ui/index.d.ts +28 -0
- package/dist/features/mcp-ui/index.d.ts.map +1 -0
- package/dist/features/mcp-ui/index.js +28 -0
- package/dist/features/mcp-ui/index.js.map +1 -0
- package/dist/features/mcp-ui/protocol.d.ts +59 -0
- package/dist/features/mcp-ui/protocol.d.ts.map +1 -0
- package/dist/features/mcp-ui/protocol.js +58 -0
- package/dist/features/mcp-ui/protocol.js.map +1 -0
- package/dist/features/mcp-ui/resource.d.ts +192 -0
- package/dist/features/mcp-ui/resource.d.ts.map +1 -0
- package/dist/features/mcp-ui/resource.js +228 -0
- package/dist/features/mcp-ui/resource.js.map +1 -0
- package/dist/features/mcp-ui/sandbox-proxy.d.ts +132 -0
- package/dist/features/mcp-ui/sandbox-proxy.d.ts.map +1 -0
- package/dist/features/mcp-ui/sandbox-proxy.js +167 -0
- package/dist/features/mcp-ui/sandbox-proxy.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/bridge.d.ts +43 -0
- package/dist/features/mcp-ui/surfaces/bridge.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/bridge.js +200 -0
- package/dist/features/mcp-ui/surfaces/bridge.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/checkbox.d.ts +25 -0
- package/dist/features/mcp-ui/surfaces/checkbox.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/checkbox.js +26 -0
- package/dist/features/mcp-ui/surfaces/checkbox.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/choice-group.d.ts +34 -0
- package/dist/features/mcp-ui/surfaces/choice-group.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/choice-group.js +70 -0
- package/dist/features/mcp-ui/surfaces/choice-group.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/confirmation.d.ts +75 -0
- package/dist/features/mcp-ui/surfaces/confirmation.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/confirmation.js +148 -0
- package/dist/features/mcp-ui/surfaces/confirmation.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/document.d.ts +173 -0
- package/dist/features/mcp-ui/surfaces/document.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/document.js +327 -0
- package/dist/features/mcp-ui/surfaces/document.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/fields.d.ts +77 -0
- package/dist/features/mcp-ui/surfaces/fields.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/fields.js +97 -0
- package/dist/features/mcp-ui/surfaces/fields.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/form.d.ts +78 -0
- package/dist/features/mcp-ui/surfaces/form.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/form.js +218 -0
- package/dist/features/mcp-ui/surfaces/form.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/index.d.ts +12 -0
- package/dist/features/mcp-ui/surfaces/index.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/index.js +12 -0
- package/dist/features/mcp-ui/surfaces/index.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/outcome.d.ts +102 -0
- package/dist/features/mcp-ui/surfaces/outcome.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/outcome.js +119 -0
- package/dist/features/mcp-ui/surfaces/outcome.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/select.d.ts +35 -0
- package/dist/features/mcp-ui/surfaces/select.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/select.js +36 -0
- package/dist/features/mcp-ui/surfaces/select.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/text-input.d.ts +35 -0
- package/dist/features/mcp-ui/surfaces/text-input.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/text-input.js +61 -0
- package/dist/features/mcp-ui/surfaces/text-input.js.map +1 -0
- package/dist/features/mcp-ui/surfaces/tokens.d.ts +106 -0
- package/dist/features/mcp-ui/surfaces/tokens.d.ts.map +1 -0
- package/dist/features/mcp-ui/surfaces/tokens.js +165 -0
- package/dist/features/mcp-ui/surfaces/tokens.js.map +1 -0
- package/dist/features/media-providers/constants.d.ts +10 -0
- package/dist/features/media-providers/constants.d.ts.map +1 -0
- package/dist/features/media-providers/constants.js +90 -0
- package/dist/features/media-providers/constants.js.map +1 -0
- package/dist/features/media-providers/dependencies.d.ts +27 -0
- package/dist/features/media-providers/dependencies.d.ts.map +1 -0
- package/dist/features/media-providers/dependencies.js +29 -0
- package/dist/features/media-providers/dependencies.js.map +1 -0
- package/dist/features/media-providers/index.d.ts +10 -0
- package/dist/features/media-providers/index.d.ts.map +1 -0
- package/dist/features/media-providers/index.js +6 -0
- package/dist/features/media-providers/index.js.map +1 -0
- package/dist/features/media-providers/ports.d.ts +51 -0
- package/dist/features/media-providers/ports.d.ts.map +1 -0
- package/dist/features/media-providers/ports.js +2 -0
- package/dist/features/media-providers/ports.js.map +1 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts +59 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts.map +1 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.js +92 -0
- package/dist/features/media-providers/react/components/MediaProvidersTab.js.map +1 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.d.ts +58 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.d.ts.map +1 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.js +294 -0
- package/dist/features/media-providers/react/hooks/useMediaProvidersTab.js.map +1 -0
- package/dist/features/media-providers/rules.d.ts +139 -0
- package/dist/features/media-providers/rules.d.ts.map +1 -0
- package/dist/features/media-providers/rules.js +227 -0
- package/dist/features/media-providers/rules.js.map +1 -0
- package/dist/features/media-providers/types.d.ts +102 -0
- package/dist/features/media-providers/types.d.ts.map +1 -0
- package/dist/features/media-providers/types.js +27 -0
- package/dist/features/media-providers/types.js.map +1 -0
- package/dist/features/memory/constants.d.ts +0 -2
- package/dist/features/memory/constants.d.ts.map +1 -1
- package/dist/features/memory/constants.js +0 -9
- package/dist/features/memory/constants.js.map +1 -1
- package/dist/features/memory/dependencies.d.ts +1 -28
- package/dist/features/memory/dependencies.d.ts.map +1 -1
- package/dist/features/memory/dependencies.js +39 -23
- package/dist/features/memory/dependencies.js.map +1 -1
- package/dist/features/memory/formatters.d.ts +5 -2
- package/dist/features/memory/formatters.d.ts.map +1 -1
- package/dist/features/memory/formatters.js +1 -2
- package/dist/features/memory/formatters.js.map +1 -1
- package/dist/features/memory/index.d.ts +8 -8
- package/dist/features/memory/index.d.ts.map +1 -1
- package/dist/features/memory/index.js +6 -10
- package/dist/features/memory/index.js.map +1 -1
- package/dist/features/memory/ports.d.ts +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.d.ts +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.js +2 -1
- package/dist/features/memory/react/components/MemoryConnectedPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js +2 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryManualEditor.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryManualEditor.js +2 -1
- package/dist/features/memory/react/components/MemoryManualEditor.js.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts +22 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts.map +1 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.js +30 -0
- package/dist/features/memory/react/components/MemorySettingsPanel.js.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.js +1 -1
- package/dist/features/memory/react/hooks/useMemoryConfig.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.d.ts +43 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.js +99 -99
- package/dist/features/memory/react/hooks/useMemoryConnectors.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.d.ts +54 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.d.ts.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.js +81 -0
- package/dist/features/memory/react/hooks/useMemoryConnectors.rules.js.map +1 -0
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.js +1 -1
- package/dist/features/memory/react/hooks/useMemoryEntries.hooks.js.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryExtractions.hooks.d.ts.map +1 -1
- package/dist/features/memory/react/hooks/useMemoryExtractions.hooks.js.map +1 -1
- package/dist/features/memory/react/render-markdown.d.ts.map +1 -1
- package/dist/features/memory/react/render-markdown.js +3 -2
- package/dist/features/memory/react/render-markdown.js.map +1 -1
- package/dist/features/memory/react/styles.d.ts +11 -0
- package/dist/features/memory/react/styles.d.ts.map +1 -0
- package/dist/features/memory/react/styles.js +18 -0
- package/dist/features/memory/react/styles.js.map +1 -0
- package/dist/features/memory/rules.d.ts +1 -1
- package/dist/features/memory/rules.js +2 -2
- package/dist/features/memory/rules.js.map +1 -1
- package/dist/features/memory/types.d.ts +1 -1
- package/dist/features/memory/types.d.ts.map +1 -1
- package/dist/features/notifications/constants.d.ts.map +1 -0
- package/dist/features/notifications/constants.js +8 -0
- package/dist/features/notifications/constants.js.map +1 -0
- package/dist/features/notifications/index.d.ts +5 -0
- package/dist/features/notifications/index.d.ts.map +1 -0
- package/dist/features/notifications/index.js.map +1 -0
- package/dist/features/notifications/notifications-catalog.d.ts +25 -0
- package/dist/features/notifications/notifications-catalog.d.ts.map +1 -0
- package/dist/features/notifications/notifications-catalog.js +27 -0
- package/dist/features/notifications/notifications-catalog.js.map +1 -0
- package/dist/features/notifications/react/components/NotificationsTab.d.ts +48 -0
- package/dist/features/notifications/react/components/NotificationsTab.d.ts.map +1 -0
- package/dist/features/notifications/react/components/NotificationsTab.js +84 -0
- package/dist/features/notifications/react/components/NotificationsTab.js.map +1 -0
- package/dist/features/notifications/rules.d.ts +21 -0
- package/dist/features/notifications/rules.d.ts.map +1 -0
- package/dist/features/notifications/rules.js +7 -0
- package/dist/features/notifications/rules.js.map +1 -0
- package/dist/features/notifications/types.d.ts +15 -0
- package/dist/features/notifications/types.d.ts.map +1 -0
- package/dist/features/notifications/types.js +2 -0
- package/dist/features/notifications/types.js.map +1 -0
- package/dist/features/privacy/index.d.ts +5 -0
- package/dist/features/privacy/index.d.ts.map +1 -0
- package/dist/features/privacy/index.js.map +1 -0
- package/dist/features/privacy/react/components/PrivacyTab.d.ts +34 -0
- package/dist/features/privacy/react/components/PrivacyTab.d.ts.map +1 -0
- package/dist/features/privacy/react/components/PrivacyTab.js +36 -0
- package/dist/features/privacy/react/components/PrivacyTab.js.map +1 -0
- package/dist/features/privacy/rules.d.ts.map +1 -0
- package/dist/features/privacy/rules.js +70 -0
- package/dist/features/privacy/rules.js.map +1 -0
- package/dist/features/privacy/types.d.ts.map +1 -0
- package/dist/features/privacy/types.js.map +1 -0
- package/dist/features/project-locations/dependencies.d.ts +20 -0
- package/dist/features/project-locations/dependencies.d.ts.map +1 -0
- package/dist/features/project-locations/dependencies.js +45 -0
- package/dist/features/project-locations/dependencies.js.map +1 -0
- package/dist/features/project-locations/index.d.ts +9 -0
- package/dist/features/project-locations/index.d.ts.map +1 -0
- package/dist/features/project-locations/index.js +5 -0
- package/dist/features/project-locations/index.js.map +1 -0
- package/dist/features/project-locations/ports.d.ts +41 -0
- package/dist/features/project-locations/ports.d.ts.map +1 -0
- package/dist/features/project-locations/ports.js +2 -0
- package/dist/features/project-locations/ports.js.map +1 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.d.ts +36 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.d.ts.map +1 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.js +53 -0
- package/dist/features/project-locations/react/components/ProjectLocationsTab.js.map +1 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.d.ts +41 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.d.ts.map +1 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.js +157 -0
- package/dist/features/project-locations/react/hooks/useProjectLocationsTab.js.map +1 -0
- package/dist/features/project-locations/rules.d.ts +53 -0
- package/dist/features/project-locations/rules.d.ts.map +1 -0
- package/dist/features/project-locations/rules.js +82 -0
- package/dist/features/project-locations/rules.js.map +1 -0
- package/dist/features/project-locations/types.d.ts +78 -0
- package/dist/features/project-locations/types.d.ts.map +1 -0
- package/dist/features/project-locations/types.js +13 -0
- package/dist/features/project-locations/types.js.map +1 -0
- package/dist/features/resource-dashboard/types.d.ts +1 -1
- package/dist/features/resource-dashboard/types.js +1 -1
- package/dist/features/settings/dialog/index.d.ts +7 -0
- package/dist/features/settings/dialog/index.d.ts.map +1 -0
- package/dist/features/settings/dialog/index.js +8 -0
- package/dist/features/settings/dialog/index.js.map +1 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts +33 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts.map +1 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.js +32 -0
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.js.map +1 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.d.ts +11 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.d.ts.map +1 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.js +10 -0
- package/dist/features/settings/dialog/react/hooks/useSettingsDialogShell.js.map +1 -0
- package/dist/features/settings/dialog/styles/settings-dialog.css +4434 -0
- package/dist/features/skills/dependencies.d.ts +18 -0
- package/dist/features/skills/dependencies.d.ts.map +1 -0
- package/dist/features/skills/dependencies.js +82 -0
- package/dist/features/skills/dependencies.js.map +1 -0
- package/dist/features/skills/index.d.ts +13 -0
- package/dist/features/skills/index.d.ts.map +1 -0
- package/dist/features/skills/index.js +7 -0
- package/dist/features/skills/index.js.map +1 -0
- package/dist/features/skills/ports.d.ts +45 -0
- package/dist/features/skills/ports.d.ts.map +1 -0
- package/dist/features/skills/ports.js +2 -0
- package/dist/features/skills/ports.js.map +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts +39 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.js +29 -0
- package/dist/features/skills/react/components/SkillDraftForm.js.map +1 -0
- package/dist/features/skills/react/components/SkillRow.d.ts +54 -0
- package/dist/features/skills/react/components/SkillRow.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillRow.js +34 -0
- package/dist/features/skills/react/components/SkillRow.js.map +1 -0
- package/dist/features/skills/react/components/SkillsTab.d.ts +34 -0
- package/dist/features/skills/react/components/SkillsTab.d.ts.map +1 -0
- package/dist/features/skills/react/components/SkillsTab.js +33 -0
- package/dist/features/skills/react/components/SkillsTab.js.map +1 -0
- package/dist/features/skills/react/hooks/useSkillsTab.d.ts +70 -0
- package/dist/features/skills/react/hooks/useSkillsTab.d.ts.map +1 -0
- package/dist/features/skills/react/hooks/useSkillsTab.js +282 -0
- package/dist/features/skills/react/hooks/useSkillsTab.js.map +1 -0
- package/dist/features/skills/rules.d.ts +156 -0
- package/dist/features/skills/rules.d.ts.map +1 -0
- package/dist/features/skills/rules.js +272 -0
- package/dist/features/skills/rules.js.map +1 -0
- package/dist/features/skills/types.d.ts +97 -0
- package/dist/features/skills/types.d.ts.map +1 -0
- package/dist/features/skills/types.js +18 -0
- package/dist/features/skills/types.js.map +1 -0
- package/dist/features/source-config-list/agent-handles.d.ts +121 -0
- package/dist/features/source-config-list/agent-handles.d.ts.map +1 -0
- package/dist/features/source-config-list/agent-handles.js +151 -0
- package/dist/features/source-config-list/agent-handles.js.map +1 -0
- package/dist/features/source-config-list/index.d.ts +6 -5
- package/dist/features/source-config-list/index.d.ts.map +1 -1
- package/dist/features/source-config-list/index.js +3 -2
- package/dist/features/source-config-list/index.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.d.ts +28 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.js +25 -4
- package/dist/features/source-config-list/react/components/SourceConfigAddForm.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.d.ts +36 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigField.js +74 -3
- package/dist/features/source-config-list/react/components/SourceConfigField.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.d.ts +39 -2
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.js +55 -4
- package/dist/features/source-config-list/react/components/SourceConfigItemCard.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigList.d.ts +9 -3
- package/dist/features/source-config-list/react/components/SourceConfigList.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigList.js +2 -2
- package/dist/features/source-config-list/react/components/SourceConfigList.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigListView.d.ts +13 -2
- package/dist/features/source-config-list/react/components/SourceConfigListView.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigListView.js +8 -2
- package/dist/features/source-config-list/react/components/SourceConfigListView.js.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.d.ts +18 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.d.ts.map +1 -1
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.js +16 -2
- package/dist/features/source-config-list/react/components/SourceConfigTestControl.js.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigAddForm.d.ts.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigAddForm.js.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.d.ts +12 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.d.ts.map +1 -1
- package/dist/features/source-config-list/react/hooks/useSourceConfigList.js.map +1 -1
- package/dist/features/source-config-list/rules.d.ts +22 -5
- package/dist/features/source-config-list/rules.d.ts.map +1 -1
- package/dist/features/source-config-list/rules.js +56 -16
- package/dist/features/source-config-list/rules.js.map +1 -1
- package/dist/features/source-config-list/types.d.ts +16 -2
- package/dist/features/source-config-list/types.d.ts.map +1 -1
- package/dist/features/tab-strip/types.d.ts +1 -1
- package/dist/features/tabbed-dialog/index.d.ts +7 -0
- package/dist/features/tabbed-dialog/index.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/index.js +4 -0
- package/dist/features/tabbed-dialog/index.js.map +1 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts +71 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js +72 -0
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js.map +1 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.d.ts +39 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.js +50 -0
- package/dist/features/tabbed-dialog/react/hooks/useTabbedDialog.js.map +1 -0
- package/dist/features/tabbed-dialog/rules.d.ts +13 -0
- package/dist/features/tabbed-dialog/rules.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/rules.js.map +1 -0
- package/dist/features/tabbed-dialog/styles/tabbed-dialog.css +406 -0
- package/dist/features/tabbed-dialog/types.d.ts +51 -0
- package/dist/features/tabbed-dialog/types.d.ts.map +1 -0
- package/dist/features/tabbed-dialog/types.js +23 -0
- package/dist/features/tabbed-dialog/types.js.map +1 -0
- package/dist/features/viewer-shell/react/components/ViewportSwitcher.d.ts +1 -1
- package/dist/features/viewer-shell/react/components/ViewportSwitcher.js +1 -1
- package/dist/features/viewer-shell/rules.d.ts +1 -1
- package/dist/features/viewer-shell/rules.js +1 -1
- package/dist/icon-name.d.ts +21 -0
- package/dist/icon-name.d.ts.map +1 -0
- package/dist/icon-name.js +25 -0
- package/dist/icon-name.js.map +1 -0
- package/dist/index.d.ts +16 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -9
- package/dist/index.js.map +1 -1
- package/dist/react/components/AgentIcon.d.ts +5 -3
- package/dist/react/components/AgentIcon.d.ts.map +1 -1
- package/dist/react/components/AgentIcon.js +40 -13
- package/dist/react/components/AgentIcon.js.map +1 -1
- package/dist/react/components/AppChromeHeader.js +1 -1
- package/dist/react/components/AppChromeHeader.js.map +1 -1
- package/dist/react/components/CustomSelect.d.ts +19 -4
- package/dist/react/components/CustomSelect.d.ts.map +1 -1
- package/dist/react/components/CustomSelect.js +59 -12
- package/dist/react/components/CustomSelect.js.map +1 -1
- package/dist/react/components/EdgeScrollZones.js +1 -1
- package/dist/react/components/EdgeScrollZones.js.map +1 -1
- package/dist/react/components/ExportDiagnosticsButton.d.ts.map +1 -1
- package/dist/react/components/ExportDiagnosticsButton.js +5 -2
- package/dist/react/components/ExportDiagnosticsButton.js.map +1 -1
- package/dist/react/components/HeaderActionsMenu.d.ts +1 -1
- package/dist/react/components/HeaderActionsMenu.d.ts.map +1 -1
- package/dist/react/components/HeaderActionsMenu.js +1 -1
- package/dist/react/components/HeaderActionsMenu.js.map +1 -1
- package/dist/react/components/Icon.d.ts +7 -4
- package/dist/react/components/Icon.d.ts.map +1 -1
- package/dist/react/components/Icon.js +133 -213
- package/dist/react/components/Icon.js.map +1 -1
- package/dist/react/components/LanguageMenu.d.ts +2 -4
- package/dist/react/components/LanguageMenu.d.ts.map +1 -1
- package/dist/react/components/LanguageMenu.js +1 -1
- package/dist/react/components/LanguageMenu.js.map +1 -1
- package/dist/react/components/Loading.js +1 -1
- package/dist/react/components/Loading.js.map +1 -1
- package/dist/react/components/PaletteTweaks.js +1 -1
- package/dist/react/components/PaletteTweaks.js.map +1 -1
- package/dist/react/components/RemixIcon.d.ts +3 -3
- package/dist/react/components/RemixIcon.d.ts.map +1 -1
- package/dist/react/components/RemixIcon.js +39 -3
- package/dist/react/components/RemixIcon.js.map +1 -1
- package/dist/react/components/Toast.js +1 -1
- package/dist/react/components/Toast.js.map +1 -1
- package/dist/react/components/WorkingDirPicker.js +1 -1
- package/dist/react/components/WorkingDirPicker.js.map +1 -1
- package/dist/react/components/agent-icon-data-uris.generated.d.ts +2 -0
- package/dist/react/components/agent-icon-data-uris.generated.d.ts.map +1 -0
- package/dist/react/components/agent-icon-data-uris.generated.js +27 -0
- package/dist/react/components/agent-icon-data-uris.generated.js.map +1 -0
- package/dist/react/components/remixicon-font/remixicon.css +3270 -0
- package/dist/react/components/remixicon-font/remixicon.woff2 +0 -0
- package/dist/react/hooks/useBrandFonts.d.ts.map +1 -1
- package/dist/react/hooks/useBrandFonts.js +2 -3
- package/dist/react/hooks/useBrandFonts.js.map +1 -1
- package/dist/react/mcp-ui/McpUiHost.d.ts +19 -0
- package/dist/react/mcp-ui/McpUiHost.d.ts.map +1 -0
- package/dist/react/mcp-ui/McpUiHost.js +34 -0
- package/dist/react/mcp-ui/McpUiHost.js.map +1 -0
- package/dist/react/mcp-ui/host-message-source.d.ts +27 -0
- package/dist/react/mcp-ui/host-message-source.d.ts.map +1 -0
- package/dist/react/mcp-ui/host-message-source.js +33 -0
- package/dist/react/mcp-ui/host-message-source.js.map +1 -0
- package/dist/react/mcp-ui/index.d.ts +23 -0
- package/dist/react/mcp-ui/index.d.ts.map +1 -0
- package/dist/react/mcp-ui/index.js +26 -0
- package/dist/react/mcp-ui/index.js.map +1 -0
- package/dist/react/mcp-ui/useMcpUiHost.d.ts +160 -0
- package/dist/react/mcp-ui/useMcpUiHost.d.ts.map +1 -0
- package/dist/react/mcp-ui/useMcpUiHost.js +193 -0
- package/dist/react/mcp-ui/useMcpUiHost.js.map +1 -0
- package/dist/renderers/annotation-canvas/dependencies.d.ts +13 -0
- package/dist/renderers/annotation-canvas/dependencies.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/dependencies.js +8 -0
- package/dist/renderers/annotation-canvas/dependencies.js.map +1 -0
- package/dist/renderers/annotation-canvas/drawing.d.ts +39 -0
- package/dist/renderers/annotation-canvas/drawing.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/drawing.js +135 -0
- package/dist/renderers/annotation-canvas/drawing.js.map +1 -0
- package/dist/renderers/annotation-canvas/index.d.ts +13 -0
- package/dist/renderers/annotation-canvas/index.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/index.js +7 -0
- package/dist/renderers/annotation-canvas/index.js.map +1 -0
- package/dist/renderers/annotation-canvas/ports.d.ts +30 -0
- package/dist/renderers/annotation-canvas/ports.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/ports.js +2 -0
- package/dist/renderers/annotation-canvas/ports.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.d.ts +24 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.js +102 -0
- package/dist/renderers/annotation-canvas/react/components/AnnotationCanvas.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/icons.d.ts +11 -0
- package/dist/renderers/annotation-canvas/react/components/icons.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/components/icons.js +21 -0
- package/dist/renderers/annotation-canvas/react/components/icons.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.d.ts +146 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.js +118 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.controller.js.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.d.ts +101 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.js +834 -0
- package/dist/renderers/annotation-canvas/react/hooks/useAnnotationCanvas.js.map +1 -0
- package/dist/renderers/annotation-canvas/rules.d.ts +73 -0
- package/dist/renderers/annotation-canvas/rules.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/rules.js +177 -0
- package/dist/renderers/annotation-canvas/rules.js.map +1 -0
- package/dist/renderers/annotation-canvas/types.d.ts +108 -0
- package/dist/renderers/annotation-canvas/types.d.ts.map +1 -0
- package/dist/renderers/annotation-canvas/types.js +2 -0
- package/dist/renderers/annotation-canvas/types.js.map +1 -0
- package/dist/renderers/html-utils.d.ts +25 -0
- package/dist/renderers/html-utils.d.ts.map +1 -0
- package/dist/renderers/html-utils.js +53 -0
- package/dist/renderers/html-utils.js.map +1 -0
- package/dist/renderers/index.d.ts +45 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +36 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/new-tab-preview.d.ts +22 -0
- package/dist/renderers/new-tab-preview.d.ts.map +1 -0
- package/dist/renderers/new-tab-preview.js +50 -0
- package/dist/renderers/new-tab-preview.js.map +1 -0
- package/dist/renderers/preview-modal-shell/index.d.ts +10 -0
- package/dist/renderers/preview-modal-shell/index.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/index.js +5 -0
- package/dist/renderers/preview-modal-shell/index.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.d.ts +62 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.js +74 -0
- package/dist/renderers/preview-modal-shell/react/components/PreviewModalShell.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.d.ts +12 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.js +11 -0
- package/dist/renderers/preview-modal-shell/react/components/icons.js.map +1 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.d.ts +50 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.js +171 -0
- package/dist/renderers/preview-modal-shell/react/hooks/usePreviewModalShell.js.map +1 -0
- package/dist/renderers/preview-modal-shell/rules.d.ts +44 -0
- package/dist/renderers/preview-modal-shell/rules.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/rules.js +50 -0
- package/dist/renderers/preview-modal-shell/rules.js.map +1 -0
- package/dist/renderers/preview-modal-shell/types.d.ts +50 -0
- package/dist/renderers/preview-modal-shell/types.d.ts.map +1 -0
- package/dist/renderers/preview-modal-shell/types.js +14 -0
- package/dist/renderers/preview-modal-shell/types.js.map +1 -0
- package/dist/renderers/react/components/ArtifactView.d.ts +46 -0
- package/dist/renderers/react/components/ArtifactView.d.ts.map +1 -0
- package/dist/renderers/react/components/ArtifactView.js +35 -0
- package/dist/renderers/react/components/ArtifactView.js.map +1 -0
- package/dist/renderers/react/components/SrcDocSandbox.d.ts +13 -0
- package/dist/renderers/react/components/SrcDocSandbox.d.ts.map +1 -0
- package/dist/renderers/react/components/SrcDocSandbox.js +34 -0
- package/dist/renderers/react/components/SrcDocSandbox.js.map +1 -0
- package/dist/renderers/react/i18n.d.ts +30 -0
- package/dist/renderers/react/i18n.d.ts.map +1 -0
- package/dist/renderers/react/i18n.js +40 -0
- package/dist/renderers/react/i18n.js.map +1 -0
- package/dist/renderers/registry.d.ts +57 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/registry.js +39 -0
- package/dist/renderers/registry.js.map +1 -0
- package/dist/renderers/renderers/html.d.ts +10 -0
- package/dist/renderers/renderers/html.d.ts.map +1 -0
- package/dist/renderers/renderers/html.js +23 -0
- package/dist/renderers/renderers/html.js.map +1 -0
- package/dist/renderers/renderers/index.d.ts +12 -0
- package/dist/renderers/renderers/index.d.ts.map +1 -0
- package/dist/renderers/renderers/index.js +18 -0
- package/dist/renderers/renderers/index.js.map +1 -0
- package/dist/renderers/renderers/markdown.d.ts +4 -0
- package/dist/renderers/renderers/markdown.d.ts.map +1 -0
- package/dist/renderers/renderers/markdown.js +126 -0
- package/dist/renderers/renderers/markdown.js.map +1 -0
- package/dist/renderers/renderers/react-component.d.ts +10 -0
- package/dist/renderers/renderers/react-component.d.ts.map +1 -0
- package/dist/renderers/renderers/react-component.js +19 -0
- package/dist/renderers/renderers/react-component.js.map +1 -0
- package/dist/renderers/renderers/svg.d.ts +3 -0
- package/dist/renderers/renderers/svg.d.ts.map +1 -0
- package/dist/renderers/renderers/svg.js +14 -0
- package/dist/renderers/renderers/svg.js.map +1 -0
- package/dist/renderers/sandbox-bridge.d.ts +44 -0
- package/dist/renderers/sandbox-bridge.d.ts.map +1 -0
- package/dist/renderers/sandbox-bridge.js +46 -0
- package/dist/renderers/sandbox-bridge.js.map +1 -0
- package/dist/renderers/sandboxed-document.d.ts +34 -0
- package/dist/renderers/sandboxed-document.d.ts.map +1 -0
- package/dist/renderers/sandboxed-document.js +152 -0
- package/dist/renderers/sandboxed-document.js.map +1 -0
- package/dist/renderers/shiki.d.ts +2 -0
- package/dist/renderers/shiki.d.ts.map +1 -0
- package/dist/renderers/shiki.js +55 -0
- package/dist/renderers/shiki.js.map +1 -0
- package/dist/renderers/srcdoc/bridge.d.ts +37 -0
- package/dist/renderers/srcdoc/bridge.d.ts.map +1 -0
- package/dist/renderers/srcdoc/bridge.js +35 -0
- package/dist/renderers/srcdoc/bridge.js.map +1 -0
- package/dist/renderers/srcdoc/build.d.ts +130 -0
- package/dist/renderers/srcdoc/build.d.ts.map +1 -0
- package/dist/renderers/srcdoc/build.js +448 -0
- package/dist/renderers/srcdoc/build.js.map +1 -0
- package/dist/renderers/srcdoc/index.d.ts +3 -0
- package/dist/renderers/srcdoc/index.d.ts.map +1 -0
- package/dist/renderers/srcdoc/index.js +3 -0
- package/dist/renderers/srcdoc/index.js.map +1 -0
- package/dist/renderers/types.d.ts +98 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +2 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/renderers/url-load-decision.d.ts +93 -0
- package/dist/renderers/url-load-decision.d.ts.map +1 -0
- package/dist/renderers/url-load-decision.js +116 -0
- package/dist/renderers/url-load-decision.js.map +1 -0
- package/dist/utils/appearance.d.ts +2 -16
- package/dist/utils/appearance.d.ts.map +1 -1
- package/dist/utils/appearance.js +11 -51
- package/dist/utils/appearance.js.map +1 -1
- package/dist/utils/endpoint-policy.d.ts +65 -0
- package/dist/utils/endpoint-policy.d.ts.map +1 -0
- package/dist/utils/endpoint-policy.js +157 -0
- package/dist/utils/endpoint-policy.js.map +1 -0
- package/dist/utils/file-transfer.d.ts +10 -0
- package/dist/utils/file-transfer.d.ts.map +1 -1
- package/dist/utils/file-transfer.js +22 -1
- package/dist/utils/file-transfer.js.map +1 -1
- package/dist/utils/notifications.d.ts +2 -9
- package/dist/utils/notifications.d.ts.map +1 -1
- package/dist/utils/notifications.js +1 -13
- package/dist/utils/notifications.js.map +1 -1
- package/package.json +123 -20
- package/LICENSE +0 -201
- package/dist/components/AgentIcon.d.ts +0 -15
- package/dist/components/AgentIcon.d.ts.map +0 -1
- package/dist/components/AgentIcon.js +0 -80
- package/dist/components/AgentIcon.js.map +0 -1
- package/dist/components/AppChromeHeader.d.ts +0 -19
- package/dist/components/AppChromeHeader.d.ts.map +0 -1
- package/dist/components/AppChromeHeader.js +0 -11
- package/dist/components/AppChromeHeader.js.map +0 -1
- package/dist/components/CustomSelect.d.ts +0 -28
- package/dist/components/CustomSelect.d.ts.map +0 -1
- package/dist/components/CustomSelect.js +0 -167
- package/dist/components/CustomSelect.js.map +0 -1
- package/dist/components/ExportDiagnosticsButton.d.ts +0 -40
- package/dist/components/ExportDiagnosticsButton.d.ts.map +0 -1
- package/dist/components/ExportDiagnosticsButton.js +0 -112
- package/dist/components/ExportDiagnosticsButton.js.map +0 -1
- package/dist/components/Icon.d.ts +0 -15
- package/dist/components/Icon.d.ts.map +0 -1
- package/dist/components/Icon.js +0 -236
- package/dist/components/Icon.js.map +0 -1
- package/dist/components/KitErrorBoundary.d.ts +0 -13
- package/dist/components/KitErrorBoundary.d.ts.map +0 -1
- package/dist/components/KitErrorBoundary.js +0 -30
- package/dist/components/KitErrorBoundary.js.map +0 -1
- package/dist/components/LanguageMenu.d.ts +0 -23
- package/dist/components/LanguageMenu.d.ts.map +0 -1
- package/dist/components/LanguageMenu.js +0 -44
- package/dist/components/LanguageMenu.js.map +0 -1
- package/dist/components/Loading.d.ts +0 -27
- package/dist/components/Loading.d.ts.map +0 -1
- package/dist/components/Loading.js +0 -24
- package/dist/components/Loading.js.map +0 -1
- package/dist/components/PaletteTweaks.d.ts +0 -11
- package/dist/components/PaletteTweaks.d.ts.map +0 -1
- package/dist/components/PaletteTweaks.js +0 -65
- package/dist/components/PaletteTweaks.js.map +0 -1
- package/dist/components/RemixIcon.d.ts +0 -15
- package/dist/components/RemixIcon.d.ts.map +0 -1
- package/dist/components/RemixIcon.js +0 -19
- package/dist/components/RemixIcon.js.map +0 -1
- package/dist/components/Toast.d.ts +0 -18
- package/dist/components/Toast.d.ts.map +0 -1
- package/dist/components/Toast.js +0 -70
- package/dist/components/Toast.js.map +0 -1
- package/dist/components/TooltipLayer.d.ts +0 -9
- package/dist/components/TooltipLayer.d.ts.map +0 -1
- package/dist/components/TooltipLayer.js +0 -289
- package/dist/components/TooltipLayer.js.map +0 -1
- package/dist/components/WorkingDirPicker.d.ts +0 -47
- package/dist/components/WorkingDirPicker.d.ts.map +0 -1
- package/dist/components/WorkingDirPicker.js +0 -63
- package/dist/components/WorkingDirPicker.js.map +0 -1
- package/dist/features/agent-tools/model-context.d.ts +0 -30
- package/dist/features/agent-tools/model-context.d.ts.map +0 -1
- package/dist/features/agent-tools/model-context.js +0 -29
- package/dist/features/agent-tools/model-context.js.map +0 -1
- package/dist/features/agent-tools/types.d.ts +0 -34
- package/dist/features/agent-tools/types.d.ts.map +0 -1
- package/dist/features/agent-tools/types.js +0 -18
- package/dist/features/agent-tools/types.js.map +0 -1
- package/dist/features/rich-text-input/constants.d.ts +0 -16
- package/dist/features/rich-text-input/constants.d.ts.map +0 -1
- package/dist/features/rich-text-input/constants.js +0 -18
- package/dist/features/rich-text-input/constants.js.map +0 -1
- package/dist/features/rich-text-input/deserialize.d.ts +0 -9
- package/dist/features/rich-text-input/deserialize.d.ts.map +0 -1
- package/dist/features/rich-text-input/deserialize.js +0 -55
- package/dist/features/rich-text-input/deserialize.js.map +0 -1
- package/dist/features/rich-text-input/index.d.ts +0 -12
- package/dist/features/rich-text-input/index.d.ts.map +0 -1
- package/dist/features/rich-text-input/index.js +0 -11
- package/dist/features/rich-text-input/index.js.map +0 -1
- package/dist/features/rich-text-input/mention-node.d.ts +0 -56
- package/dist/features/rich-text-input/mention-node.d.ts.map +0 -1
- package/dist/features/rich-text-input/mention-node.js +0 -142
- package/dist/features/rich-text-input/mention-node.js.map +0 -1
- package/dist/features/rich-text-input/mention-parser.d.ts +0 -47
- package/dist/features/rich-text-input/mention-parser.d.ts.map +0 -1
- package/dist/features/rich-text-input/mention-parser.js +0 -239
- package/dist/features/rich-text-input/mention-parser.js.map +0 -1
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.d.ts +0 -20
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.js +0 -33
- package/dist/features/rich-text-input/react/components/CaretFloatingLayer.js.map +0 -1
- package/dist/features/rich-text-input/react/components/RichTextInput.d.ts +0 -61
- package/dist/features/rich-text-input/react/components/RichTextInput.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/components/RichTextInput.js +0 -154
- package/dist/features/rich-text-input/react/components/RichTextInput.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.d.ts +0 -15
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.js +0 -54
- package/dist/features/rich-text-input/react/hooks/useCaretFloatingLayerPosition.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.d.ts +0 -11
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.js +0 -70
- package/dist/features/rich-text-input/react/hooks/useKeyboardCommands.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.d.ts +0 -8
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.js +0 -63
- package/dist/features/rich-text-input/react/hooks/useMentionAtomicNavigation.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.d.ts +0 -18
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.js +0 -64
- package/dist/features/rich-text-input/react/hooks/useMentionColorStamping.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.d.ts +0 -5
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.js +0 -24
- package/dist/features/rich-text-input/react/hooks/usePasteFiles.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSeededValue.d.ts +0 -21
- package/dist/features/rich-text-input/react/hooks/useSeededValue.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSeededValue.js +0 -35
- package/dist/features/rich-text-input/react/hooks/useSeededValue.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.d.ts +0 -10
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.js +0 -29
- package/dist/features/rich-text-input/react/hooks/useSyncedOnChange.js.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.d.ts +0 -6
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.js +0 -39
- package/dist/features/rich-text-input/react/hooks/useTriggerDetection.js.map +0 -1
- package/dist/features/rich-text-input/react/test-support/lexical-harness.d.ts +0 -11
- package/dist/features/rich-text-input/react/test-support/lexical-harness.d.ts.map +0 -1
- package/dist/features/rich-text-input/react/test-support/lexical-harness.js +0 -35
- package/dist/features/rich-text-input/react/test-support/lexical-harness.js.map +0 -1
- package/dist/features/rich-text-input/rules.d.ts +0 -83
- package/dist/features/rich-text-input/rules.d.ts.map +0 -1
- package/dist/features/rich-text-input/rules.js +0 -317
- package/dist/features/rich-text-input/rules.js.map +0 -1
- package/dist/features/rich-text-input/serialize.d.ts +0 -8
- package/dist/features/rich-text-input/serialize.d.ts.map +0 -1
- package/dist/features/rich-text-input/serialize.js +0 -44
- package/dist/features/rich-text-input/serialize.js.map +0 -1
- package/dist/features/rich-text-input/types.d.ts +0 -83
- package/dist/features/rich-text-input/types.d.ts.map +0 -1
- package/dist/features/rich-text-input/types.js +0 -15
- package/dist/features/rich-text-input/types.js.map +0 -1
- package/dist/features/settings-dialog/index.d.ts +0 -7
- package/dist/features/settings-dialog/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/index.js +0 -4
- package/dist/features/settings-dialog/index.js.map +0 -1
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.d.ts +0 -49
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.d.ts.map +0 -1
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.js +0 -55
- package/dist/features/settings-dialog/react/components/SettingsDialogShell.js.map +0 -1
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.d.ts +0 -39
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.d.ts.map +0 -1
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.js +0 -50
- package/dist/features/settings-dialog/react/hooks/useSettingsDialogShell.js.map +0 -1
- package/dist/features/settings-dialog/rules.d.ts +0 -13
- package/dist/features/settings-dialog/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/constants.d.ts +0 -12
- package/dist/features/settings-dialog/tabs/appearance/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/constants.js +0 -10
- package/dist/features/settings-dialog/tabs/appearance/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/index.d.ts +0 -6
- package/dist/features/settings-dialog/tabs/appearance/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.js +0 -31
- package/dist/features/settings-dialog/tabs/appearance/react/components/AppearanceTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/types.d.ts +0 -12
- package/dist/features/settings-dialog/tabs/appearance/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/appearance/types.js +0 -8
- package/dist/features/settings-dialog/tabs/appearance/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.js +0 -16
- package/dist/features/settings-dialog/tabs/instructions/react/components/InstructionsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/dependencies.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/dependencies.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/index.d.ts +0 -19
- package/dist/features/settings-dialog/tabs/integrations/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/index.js +0 -10
- package/dist/features/settings-dialog/tabs/integrations/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/ports.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/ports.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.js +0 -31
- package/dist/features/settings-dialog/tabs/integrations/react/components/ClientPicker.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.js +0 -21
- package/dist/features/settings-dialog/tabs/integrations/react/components/CodexInstallToggleButton.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.d.ts +0 -27
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.js +0 -54
- package/dist/features/settings-dialog/tabs/integrations/react/components/IntegrationsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.js +0 -53
- package/dist/features/settings-dialog/tabs/integrations/react/components/SnippetBlock.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useCodexInstallToggle.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useCodexInstallToggle.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useMcpInstallInfo.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/react/hooks/useMcpInstallInfo.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/rules.d.ts +0 -45
- package/dist/features/settings-dialog/tabs/integrations/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/rules.js +0 -181
- package/dist/features/settings-dialog/tabs/integrations/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/types.d.ts +0 -58
- package/dist/features/settings-dialog/tabs/integrations/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/integrations/types.js +0 -15
- package/dist/features/settings-dialog/tabs/integrations/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.js +0 -18
- package/dist/features/settings-dialog/tabs/language/react/components/LanguageTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/language/types.d.ts +0 -15
- package/dist/features/settings-dialog/tabs/language/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/language/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/constants.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/constants.js +0 -8
- package/dist/features/settings-dialog/tabs/notifications/constants.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/index.d.ts +0 -5
- package/dist/features/settings-dialog/tabs/notifications/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.d.ts +0 -33
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.js +0 -71
- package/dist/features/settings-dialog/tabs/notifications/react/components/NotificationsTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/types.d.ts +0 -15
- package/dist/features/settings-dialog/tabs/notifications/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/notifications/types.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/index.d.ts +0 -5
- package/dist/features/settings-dialog/tabs/privacy/index.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/index.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.d.ts +0 -34
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.js +0 -36
- package/dist/features/settings-dialog/tabs/privacy/react/components/PrivacyTab.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/rules.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/rules.js +0 -70
- package/dist/features/settings-dialog/tabs/privacy/rules.js.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/tabs/privacy/types.js.map +0 -1
- package/dist/features/settings-dialog/types.d.ts +0 -46
- package/dist/features/settings-dialog/types.d.ts.map +0 -1
- package/dist/features/settings-dialog/types.js +0 -18
- package/dist/features/settings-dialog/types.js.map +0 -1
- package/dist/hooks/useCoalescedCallback.d.ts +0 -35
- package/dist/hooks/useCoalescedCallback.d.ts.map +0 -1
- package/dist/hooks/useCoalescedCallback.js +0 -61
- package/dist/hooks/useCoalescedCallback.js.map +0 -1
- package/dist/hooks/useDebouncedValue.d.ts +0 -2
- package/dist/hooks/useDebouncedValue.d.ts.map +0 -1
- package/dist/hooks/useDebouncedValue.js +0 -14
- package/dist/hooks/useDebouncedValue.js.map +0 -1
- package/dist/hooks/useInView.d.ts +0 -19
- package/dist/hooks/useInView.d.ts.map +0 -1
- package/dist/hooks/useInView.js +0 -39
- package/dist/hooks/useInView.js.map +0 -1
- package/dist/hooks/useResizableSplitPane.d.ts +0 -44
- package/dist/hooks/useResizableSplitPane.d.ts.map +0 -1
- package/dist/hooks/useResizableSplitPane.js +0 -259
- package/dist/hooks/useResizableSplitPane.js.map +0 -1
- package/dist/hooks/useStableHandler.d.ts +0 -10
- package/dist/hooks/useStableHandler.d.ts.map +0 -1
- package/dist/hooks/useStableHandler.js +0 -17
- package/dist/hooks/useStableHandler.js.map +0 -1
- package/dist/vitest-chat-entry.d.ts +0 -13
- package/dist/vitest-chat-entry.d.ts.map +0 -1
- package/dist/vitest-chat-entry.js +0 -13
- package/dist/vitest-chat-entry.js.map +0 -1
- /package/dist/features/{settings-dialog/tabs/appearance → appearance}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/appearance → appearance}/react/components/AppearanceTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → execution}/ports.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → i18n/dictionaries}/types.js +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/index.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/instructions → instructions}/react/components/InstructionsTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/constants.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/constants.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/dependencies.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/dependencies.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/ports.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/ClientPicker.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/CodexInstallToggleButton.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/components/SnippetBlock.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useCodexInstallToggle.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useCodexInstallToggle.js +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useMcpInstallInfo.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/integrations → integrations}/react/hooks/useMcpInstallInfo.js +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → interactive-ui}/types.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/index.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/language → language}/react/components/LanguageTab.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → notifications}/constants.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/notifications → notifications}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/index.js +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/rules.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/types.d.ts +0 -0
- /package/dist/features/{settings-dialog/tabs/privacy → privacy}/types.js +0 -0
- /package/dist/features/{settings-dialog → tabbed-dialog}/rules.js +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module features/mcp-ui/sandbox-proxy
|
|
3
|
+
*
|
|
4
|
+
* The one piece of NEW infrastructure the official `@mcp-ui/client` swap needs that this package's
|
|
5
|
+
* hand-rolled Host never did: a **sandbox proxy** page.
|
|
6
|
+
*
|
|
7
|
+
* ## Why this exists
|
|
8
|
+
*
|
|
9
|
+
* `@mcp-ui/client`'s `AppRenderer`/`AppFrame` do not mount a View by writing HTML into an iframe's
|
|
10
|
+
* `srcdoc` (the old `McpUiHost` did exactly that). Instead they point an iframe's `src` at a real,
|
|
11
|
+
* separately-served URL — the "sandbox proxy" — wait for that page to report itself ready
|
|
12
|
+
* (`ui/notifications/sandbox-proxy-ready`), and only THEN hand it the View's HTML via
|
|
13
|
+
* `ui/notifications/sandbox-resource-ready`. A host that never serves such a page gets an iframe
|
|
14
|
+
* that loads nothing and a `AppFrame`/`AppRenderer` that times out after 10s waiting for a ready
|
|
15
|
+
* signal that will never come.
|
|
16
|
+
*
|
|
17
|
+
* This module exports the proxy's source as a **string constant** rather than a static file this
|
|
18
|
+
* package's own build copies into `dist/`, for the same reason `surfaces/document.ts` builds HTML as
|
|
19
|
+
* template strings: the natural way for a HOST APPLICATION (Tovu's admin server, `examples/reference-web`'s
|
|
20
|
+
* dev server, any future consumer) to serve this is to mount ONE route that responds with this exact
|
|
21
|
+
* body — `res.type('html').send(SANDBOX_PROXY_HTML)` — not to vendor a copy of a file from this
|
|
22
|
+
* package's `dist/` into their own static-asset pipeline. A string a host can `fetch`/import needs no
|
|
23
|
+
* new build-script wiring on either side.
|
|
24
|
+
*
|
|
25
|
+
* ## What actually needs to be served, and where — the part this package cannot do for you
|
|
26
|
+
*
|
|
27
|
+
* This module only produces the BYTES. Actually serving them — mounting a route, choosing a path,
|
|
28
|
+
* deciding whether it needs a separate origin from the host app for defense-in-depth — is real
|
|
29
|
+
* per-host infrastructure this package has no way to reach into a consumer's server and add itself.
|
|
30
|
+
* See this constant's own doc for the concrete tradeoff. `examples/reference-web` mounts it (see
|
|
31
|
+
* that example's own server/vite config) as the reference wiring for both local development in this
|
|
32
|
+
* monorepo and for any external host copying the pattern.
|
|
33
|
+
*
|
|
34
|
+
* ## The relay contract this implements, verified against the real `@mcp-ui/client@7.1.1` bundle
|
|
35
|
+
*
|
|
36
|
+
* `AppFrame`'s internal mount effect (traced from the built package, since this exact mechanism is
|
|
37
|
+
* not part of its public `.d.ts` surface):
|
|
38
|
+
* 1. Creates an iframe, sets `sandbox="allow-scripts allow-same-origin allow-forms"`, and navigates
|
|
39
|
+
* it to the configured `sandbox.url`.
|
|
40
|
+
* 2. Waits (10s timeout) for a `postMessage` from that iframe's `contentWindow` whose `data.method`
|
|
41
|
+
* is `"ui/notifications/sandbox-proxy-ready"`.
|
|
42
|
+
* 3. Once ready, delivers the View's HTML via `postMessage({method: "ui/notifications/sandbox-resource-ready",
|
|
43
|
+
* params: {html}}, ...)`.
|
|
44
|
+
*
|
|
45
|
+
* This module's script does the minimum that satisfies that contract, matching the official
|
|
46
|
+
* project's own reference implementation (`docs/src/guide/client/walkthrough.md`,
|
|
47
|
+
* `MCP-UI-Org/mcp-ui` on GitHub, step 3 — verified 2026-08-18): post `sandbox-proxy-ready`
|
|
48
|
+
* immediately, then on receiving `sandbox-resource-ready`, `document.open(); document.write(html);
|
|
49
|
+
* document.close();`.
|
|
50
|
+
*
|
|
51
|
+
* ## Why `document.write`, not a second nested iframe, and what that means for `window.parent`
|
|
52
|
+
*
|
|
53
|
+
* The official docs' own architecture description elsewhere characterizes this as a "double-iframe"
|
|
54
|
+
* design (an inner iframe hosting the untrusted app inside the outer sandbox-proxy iframe), and a
|
|
55
|
+
* more hardened production deployment may well nest a second iframe for an additional isolation
|
|
56
|
+
* hop. This module deliberately does NOT do that, and the choice is load-bearing for THIS package's
|
|
57
|
+
* existing surface documents: every surface `surfaces/document.ts`/`surfaces/bridge.ts` generate
|
|
58
|
+
* already contains its own inline protocol bridge script (`renderBridgeScript`) that talks to
|
|
59
|
+
* `window.parent` directly — written years before this swap, on the assumption (true for the OLD
|
|
60
|
+
* `srcdoc`-based Host) that its immediate parent IS the ultimate Host. `document.write`-ing that HTML
|
|
61
|
+
* into THIS SAME window/document (rather than into a second, nested iframe) preserves that
|
|
62
|
+
* assumption exactly: the guest script's `window.parent` is still the real Host, one hop away, same
|
|
63
|
+
* as before. A nested-iframe proxy would put the guest TWO hops from the Host, breaking every
|
|
64
|
+
* existing surface's bridge script silently (its `postMessage`s would land on the proxy, not the
|
|
65
|
+
* Host, and nothing would ever answer `ui/initialize`). Choosing the single-hop shape is what makes
|
|
66
|
+
* this swap possible WITHOUT touching `surfaces/bridge.ts`/`surfaces/document.ts`/any existing
|
|
67
|
+
* surface builder — the wire protocol those already speak (JSON-RPC to `window.parent`) is exactly
|
|
68
|
+
* what a single-hop proxy delivers unmodified.
|
|
69
|
+
*
|
|
70
|
+
* The real security tradeoff this simplification makes, spelled out rather than buried: the outer
|
|
71
|
+
* (and, here, only) iframe carries `allow-same-origin` (`AppFrame`'s own hardcoded default — not
|
|
72
|
+
* configurable away without also breaking the ready/resource-ready handshake, which this package's
|
|
73
|
+
* script needs `window.parent` for regardless of same-origin status). Combined with `document.write`
|
|
74
|
+
* happening in that SAME window, the guest surface gets full same-origin access to whatever origin
|
|
75
|
+
* this proxy page is served from. This is the exact hazard `../protocol.ts`'s `MCP_UI_VIEW_SANDBOX`
|
|
76
|
+
* comment warns about for a `srcdoc` frame — and it is why the official guidance is explicit that a
|
|
77
|
+
* production sandbox proxy MUST be served from an origin distinct from the host application's own,
|
|
78
|
+
* so "full same-origin access" only ever reaches an origin that holds nothing sensitive (no cookies,
|
|
79
|
+
* no session, nothing but this one static page). **Serving this from the SAME origin as an admin
|
|
80
|
+
* app, as a same-origin convenience route, reopens exactly the risk this package's `srcdoc` design
|
|
81
|
+
* spent real effort avoiding.** See this session's report for why that tradeoff is left as an
|
|
82
|
+
* explicitly flagged follow-up rather than silently accepted.
|
|
83
|
+
*
|
|
84
|
+
* ## Who is allowed to hand this page HTML — the origin check, and why it is shaped this way
|
|
85
|
+
*
|
|
86
|
+
* `document.write`-ing a `postMessage` payload is script execution on this page's origin, so the
|
|
87
|
+
* listener's guard IS the trust boundary. The first version of this file had none: it read
|
|
88
|
+
* `event.data` without ever looking at `event.origin` or `event.source`, which meant ANY page that
|
|
89
|
+
* could get a handle on this window — by framing it, or by `window.open`-ing it and keeping the
|
|
90
|
+
* returned reference — could post `sandbox-resource-ready` and run its own script on the serving
|
|
91
|
+
* origin. Two checks close that, and both are needed:
|
|
92
|
+
*
|
|
93
|
+
* - `event.source === window.parent` binds delivery to the window that actually embedded this page.
|
|
94
|
+
* `event.source` is set by the browser and cannot be forged by the sender, and it is the only
|
|
95
|
+
* check that covers the `window.open` case at all: an opener is `window.opener`, never
|
|
96
|
+
* `window.parent`. The `window.parent === window` early return makes that airtight — a top-level
|
|
97
|
+
* (unframed) copy of this page registers no listener and does nothing, which is correct, because
|
|
98
|
+
* an unframed sandbox proxy has no host to serve and no handshake to complete.
|
|
99
|
+
* - `event.origin === window.location.origin` is the second, independent check, and it is what
|
|
100
|
+
* makes a hostile FRAMER fail too (that attacker does satisfy `event.source === window.parent`).
|
|
101
|
+
* A host serving this page cross-origin from itself — the hardening the section above recommends
|
|
102
|
+
* — will need to widen this to an allowlist. That allowlist must be baked into the served bytes
|
|
103
|
+
* by the host's own server, NOT read from this page's query string or fragment: an attacker who
|
|
104
|
+
* can frame the page also picks the `src`, so a URL-supplied expected origin is attacker-supplied
|
|
105
|
+
* and defeats the check entirely. That is deliberately left unbuilt rather than built wrong.
|
|
106
|
+
*
|
|
107
|
+
* For the same reason the ready notification is addressed to `window.location.origin` rather than
|
|
108
|
+
* broadcast with `"*"`: a hostile framer should not even learn that the page loaded. Neither check
|
|
109
|
+
* hardcodes any particular host — a consumer's origin is discovered at runtime from the page's own
|
|
110
|
+
* URL — and neither touches the single-hop `document.write` shape the section above depends on.
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* The sandbox proxy page's complete, self-contained source — see this module's own doc for the
|
|
114
|
+
* protocol it implements and the security tradeoff serving it makes.
|
|
115
|
+
*
|
|
116
|
+
* A host mounts this at whatever URL it then passes as `sandbox={{ url }}` to `AppRenderer`/
|
|
117
|
+
* `AppFrame` (this package's `McpUiHost`/`useMcpUiHost` included) — e.g. an Express route:
|
|
118
|
+
* `app.get('/mcp-ui/sandbox-proxy.html', (_req, res) => res.type('html').send(SANDBOX_PROXY_HTML))`.
|
|
119
|
+
*
|
|
120
|
+
* That route SHOULD also send `Content-Security-Policy: frame-ancestors 'self'` (plus
|
|
121
|
+
* `X-Frame-Options: SAMEORIGIN` for browsers predating it). The page's own origin check already
|
|
122
|
+
* refuses to `document.write` anything a hostile framer sends it, but the header is what stops the
|
|
123
|
+
* page being framed by a third party in the first place — and it is the layer that still holds if a
|
|
124
|
+
* future edit to the script below regresses. `frame-ancestors 'none'`/`X-Frame-Options: DENY` is
|
|
125
|
+
* NOT the value to reach for: this page exists to be framed by its host, so `DENY` breaks every
|
|
126
|
+
* surface. Do not add `default-src`/`script-src` directives to that header either: a header CSP
|
|
127
|
+
* survives `document.open()` and would then apply to the guest HTML written in below, silently
|
|
128
|
+
* breaking any UIResource whose HTML this package did not build. Surfaces built by
|
|
129
|
+
* `surfaces/document.ts` already carry their own `SURFACE_CSP` meta tag for exactly that job.
|
|
130
|
+
*/
|
|
131
|
+
export declare const SANDBOX_PROXY_HTML = "<!doctype html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<title>MCP-UI sandbox proxy</title>\n<style>html, body { margin: 0; padding: 0; width: 100%; height: 100%; }</style>\n</head>\n<body>\n<script>\n(function () {\n \"use strict\";\n var host = window.parent;\n var hostOrigin = window.location.origin;\n if (host === window) return;\n\n function isFromHost(event) {\n return event.source === host && event.origin === hostOrigin;\n }\n\n window.addEventListener(\"message\", function (event) {\n if (!isFromHost(event)) return;\n var data = event.data;\n if (!data || typeof data !== \"object\") return;\n if (data.method !== \"ui/notifications/sandbox-resource-ready\") return;\n var html = data.params && data.params.html;\n if (typeof html !== \"string\") return;\n document.open();\n document.write(html);\n document.close();\n });\n\n host.postMessage({ method: \"ui/notifications/sandbox-proxy-ready\", params: {} }, hostOrigin);\n}());\n</script>\n</body>\n</html>";
|
|
132
|
+
//# sourceMappingURL=sandbox-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-proxy.d.ts","sourceRoot":"","sources":["../../../src/features/mcp-ui/sandbox-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kBAAkB,4/BAmCvB,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module features/mcp-ui/sandbox-proxy
|
|
3
|
+
*
|
|
4
|
+
* The one piece of NEW infrastructure the official `@mcp-ui/client` swap needs that this package's
|
|
5
|
+
* hand-rolled Host never did: a **sandbox proxy** page.
|
|
6
|
+
*
|
|
7
|
+
* ## Why this exists
|
|
8
|
+
*
|
|
9
|
+
* `@mcp-ui/client`'s `AppRenderer`/`AppFrame` do not mount a View by writing HTML into an iframe's
|
|
10
|
+
* `srcdoc` (the old `McpUiHost` did exactly that). Instead they point an iframe's `src` at a real,
|
|
11
|
+
* separately-served URL — the "sandbox proxy" — wait for that page to report itself ready
|
|
12
|
+
* (`ui/notifications/sandbox-proxy-ready`), and only THEN hand it the View's HTML via
|
|
13
|
+
* `ui/notifications/sandbox-resource-ready`. A host that never serves such a page gets an iframe
|
|
14
|
+
* that loads nothing and a `AppFrame`/`AppRenderer` that times out after 10s waiting for a ready
|
|
15
|
+
* signal that will never come.
|
|
16
|
+
*
|
|
17
|
+
* This module exports the proxy's source as a **string constant** rather than a static file this
|
|
18
|
+
* package's own build copies into `dist/`, for the same reason `surfaces/document.ts` builds HTML as
|
|
19
|
+
* template strings: the natural way for a HOST APPLICATION (Tovu's admin server, `examples/reference-web`'s
|
|
20
|
+
* dev server, any future consumer) to serve this is to mount ONE route that responds with this exact
|
|
21
|
+
* body — `res.type('html').send(SANDBOX_PROXY_HTML)` — not to vendor a copy of a file from this
|
|
22
|
+
* package's `dist/` into their own static-asset pipeline. A string a host can `fetch`/import needs no
|
|
23
|
+
* new build-script wiring on either side.
|
|
24
|
+
*
|
|
25
|
+
* ## What actually needs to be served, and where — the part this package cannot do for you
|
|
26
|
+
*
|
|
27
|
+
* This module only produces the BYTES. Actually serving them — mounting a route, choosing a path,
|
|
28
|
+
* deciding whether it needs a separate origin from the host app for defense-in-depth — is real
|
|
29
|
+
* per-host infrastructure this package has no way to reach into a consumer's server and add itself.
|
|
30
|
+
* See this constant's own doc for the concrete tradeoff. `examples/reference-web` mounts it (see
|
|
31
|
+
* that example's own server/vite config) as the reference wiring for both local development in this
|
|
32
|
+
* monorepo and for any external host copying the pattern.
|
|
33
|
+
*
|
|
34
|
+
* ## The relay contract this implements, verified against the real `@mcp-ui/client@7.1.1` bundle
|
|
35
|
+
*
|
|
36
|
+
* `AppFrame`'s internal mount effect (traced from the built package, since this exact mechanism is
|
|
37
|
+
* not part of its public `.d.ts` surface):
|
|
38
|
+
* 1. Creates an iframe, sets `sandbox="allow-scripts allow-same-origin allow-forms"`, and navigates
|
|
39
|
+
* it to the configured `sandbox.url`.
|
|
40
|
+
* 2. Waits (10s timeout) for a `postMessage` from that iframe's `contentWindow` whose `data.method`
|
|
41
|
+
* is `"ui/notifications/sandbox-proxy-ready"`.
|
|
42
|
+
* 3. Once ready, delivers the View's HTML via `postMessage({method: "ui/notifications/sandbox-resource-ready",
|
|
43
|
+
* params: {html}}, ...)`.
|
|
44
|
+
*
|
|
45
|
+
* This module's script does the minimum that satisfies that contract, matching the official
|
|
46
|
+
* project's own reference implementation (`docs/src/guide/client/walkthrough.md`,
|
|
47
|
+
* `MCP-UI-Org/mcp-ui` on GitHub, step 3 — verified 2026-08-18): post `sandbox-proxy-ready`
|
|
48
|
+
* immediately, then on receiving `sandbox-resource-ready`, `document.open(); document.write(html);
|
|
49
|
+
* document.close();`.
|
|
50
|
+
*
|
|
51
|
+
* ## Why `document.write`, not a second nested iframe, and what that means for `window.parent`
|
|
52
|
+
*
|
|
53
|
+
* The official docs' own architecture description elsewhere characterizes this as a "double-iframe"
|
|
54
|
+
* design (an inner iframe hosting the untrusted app inside the outer sandbox-proxy iframe), and a
|
|
55
|
+
* more hardened production deployment may well nest a second iframe for an additional isolation
|
|
56
|
+
* hop. This module deliberately does NOT do that, and the choice is load-bearing for THIS package's
|
|
57
|
+
* existing surface documents: every surface `surfaces/document.ts`/`surfaces/bridge.ts` generate
|
|
58
|
+
* already contains its own inline protocol bridge script (`renderBridgeScript`) that talks to
|
|
59
|
+
* `window.parent` directly — written years before this swap, on the assumption (true for the OLD
|
|
60
|
+
* `srcdoc`-based Host) that its immediate parent IS the ultimate Host. `document.write`-ing that HTML
|
|
61
|
+
* into THIS SAME window/document (rather than into a second, nested iframe) preserves that
|
|
62
|
+
* assumption exactly: the guest script's `window.parent` is still the real Host, one hop away, same
|
|
63
|
+
* as before. A nested-iframe proxy would put the guest TWO hops from the Host, breaking every
|
|
64
|
+
* existing surface's bridge script silently (its `postMessage`s would land on the proxy, not the
|
|
65
|
+
* Host, and nothing would ever answer `ui/initialize`). Choosing the single-hop shape is what makes
|
|
66
|
+
* this swap possible WITHOUT touching `surfaces/bridge.ts`/`surfaces/document.ts`/any existing
|
|
67
|
+
* surface builder — the wire protocol those already speak (JSON-RPC to `window.parent`) is exactly
|
|
68
|
+
* what a single-hop proxy delivers unmodified.
|
|
69
|
+
*
|
|
70
|
+
* The real security tradeoff this simplification makes, spelled out rather than buried: the outer
|
|
71
|
+
* (and, here, only) iframe carries `allow-same-origin` (`AppFrame`'s own hardcoded default — not
|
|
72
|
+
* configurable away without also breaking the ready/resource-ready handshake, which this package's
|
|
73
|
+
* script needs `window.parent` for regardless of same-origin status). Combined with `document.write`
|
|
74
|
+
* happening in that SAME window, the guest surface gets full same-origin access to whatever origin
|
|
75
|
+
* this proxy page is served from. This is the exact hazard `../protocol.ts`'s `MCP_UI_VIEW_SANDBOX`
|
|
76
|
+
* comment warns about for a `srcdoc` frame — and it is why the official guidance is explicit that a
|
|
77
|
+
* production sandbox proxy MUST be served from an origin distinct from the host application's own,
|
|
78
|
+
* so "full same-origin access" only ever reaches an origin that holds nothing sensitive (no cookies,
|
|
79
|
+
* no session, nothing but this one static page). **Serving this from the SAME origin as an admin
|
|
80
|
+
* app, as a same-origin convenience route, reopens exactly the risk this package's `srcdoc` design
|
|
81
|
+
* spent real effort avoiding.** See this session's report for why that tradeoff is left as an
|
|
82
|
+
* explicitly flagged follow-up rather than silently accepted.
|
|
83
|
+
*
|
|
84
|
+
* ## Who is allowed to hand this page HTML — the origin check, and why it is shaped this way
|
|
85
|
+
*
|
|
86
|
+
* `document.write`-ing a `postMessage` payload is script execution on this page's origin, so the
|
|
87
|
+
* listener's guard IS the trust boundary. The first version of this file had none: it read
|
|
88
|
+
* `event.data` without ever looking at `event.origin` or `event.source`, which meant ANY page that
|
|
89
|
+
* could get a handle on this window — by framing it, or by `window.open`-ing it and keeping the
|
|
90
|
+
* returned reference — could post `sandbox-resource-ready` and run its own script on the serving
|
|
91
|
+
* origin. Two checks close that, and both are needed:
|
|
92
|
+
*
|
|
93
|
+
* - `event.source === window.parent` binds delivery to the window that actually embedded this page.
|
|
94
|
+
* `event.source` is set by the browser and cannot be forged by the sender, and it is the only
|
|
95
|
+
* check that covers the `window.open` case at all: an opener is `window.opener`, never
|
|
96
|
+
* `window.parent`. The `window.parent === window` early return makes that airtight — a top-level
|
|
97
|
+
* (unframed) copy of this page registers no listener and does nothing, which is correct, because
|
|
98
|
+
* an unframed sandbox proxy has no host to serve and no handshake to complete.
|
|
99
|
+
* - `event.origin === window.location.origin` is the second, independent check, and it is what
|
|
100
|
+
* makes a hostile FRAMER fail too (that attacker does satisfy `event.source === window.parent`).
|
|
101
|
+
* A host serving this page cross-origin from itself — the hardening the section above recommends
|
|
102
|
+
* — will need to widen this to an allowlist. That allowlist must be baked into the served bytes
|
|
103
|
+
* by the host's own server, NOT read from this page's query string or fragment: an attacker who
|
|
104
|
+
* can frame the page also picks the `src`, so a URL-supplied expected origin is attacker-supplied
|
|
105
|
+
* and defeats the check entirely. That is deliberately left unbuilt rather than built wrong.
|
|
106
|
+
*
|
|
107
|
+
* For the same reason the ready notification is addressed to `window.location.origin` rather than
|
|
108
|
+
* broadcast with `"*"`: a hostile framer should not even learn that the page loaded. Neither check
|
|
109
|
+
* hardcodes any particular host — a consumer's origin is discovered at runtime from the page's own
|
|
110
|
+
* URL — and neither touches the single-hop `document.write` shape the section above depends on.
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* The sandbox proxy page's complete, self-contained source — see this module's own doc for the
|
|
114
|
+
* protocol it implements and the security tradeoff serving it makes.
|
|
115
|
+
*
|
|
116
|
+
* A host mounts this at whatever URL it then passes as `sandbox={{ url }}` to `AppRenderer`/
|
|
117
|
+
* `AppFrame` (this package's `McpUiHost`/`useMcpUiHost` included) — e.g. an Express route:
|
|
118
|
+
* `app.get('/mcp-ui/sandbox-proxy.html', (_req, res) => res.type('html').send(SANDBOX_PROXY_HTML))`.
|
|
119
|
+
*
|
|
120
|
+
* That route SHOULD also send `Content-Security-Policy: frame-ancestors 'self'` (plus
|
|
121
|
+
* `X-Frame-Options: SAMEORIGIN` for browsers predating it). The page's own origin check already
|
|
122
|
+
* refuses to `document.write` anything a hostile framer sends it, but the header is what stops the
|
|
123
|
+
* page being framed by a third party in the first place — and it is the layer that still holds if a
|
|
124
|
+
* future edit to the script below regresses. `frame-ancestors 'none'`/`X-Frame-Options: DENY` is
|
|
125
|
+
* NOT the value to reach for: this page exists to be framed by its host, so `DENY` breaks every
|
|
126
|
+
* surface. Do not add `default-src`/`script-src` directives to that header either: a header CSP
|
|
127
|
+
* survives `document.open()` and would then apply to the guest HTML written in below, silently
|
|
128
|
+
* breaking any UIResource whose HTML this package did not build. Surfaces built by
|
|
129
|
+
* `surfaces/document.ts` already carry their own `SURFACE_CSP` meta tag for exactly that job.
|
|
130
|
+
*/
|
|
131
|
+
export const SANDBOX_PROXY_HTML = `<!doctype html>
|
|
132
|
+
<html>
|
|
133
|
+
<head>
|
|
134
|
+
<meta charset="utf-8">
|
|
135
|
+
<title>MCP-UI sandbox proxy</title>
|
|
136
|
+
<style>html, body { margin: 0; padding: 0; width: 100%; height: 100%; }</style>
|
|
137
|
+
</head>
|
|
138
|
+
<body>
|
|
139
|
+
<script>
|
|
140
|
+
(function () {
|
|
141
|
+
"use strict";
|
|
142
|
+
var host = window.parent;
|
|
143
|
+
var hostOrigin = window.location.origin;
|
|
144
|
+
if (host === window) return;
|
|
145
|
+
|
|
146
|
+
function isFromHost(event) {
|
|
147
|
+
return event.source === host && event.origin === hostOrigin;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
window.addEventListener("message", function (event) {
|
|
151
|
+
if (!isFromHost(event)) return;
|
|
152
|
+
var data = event.data;
|
|
153
|
+
if (!data || typeof data !== "object") return;
|
|
154
|
+
if (data.method !== "ui/notifications/sandbox-resource-ready") return;
|
|
155
|
+
var html = data.params && data.params.html;
|
|
156
|
+
if (typeof html !== "string") return;
|
|
157
|
+
document.open();
|
|
158
|
+
document.write(html);
|
|
159
|
+
document.close();
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
host.postMessage({ method: "ui/notifications/sandbox-proxy-ready", params: {} }, hostOrigin);
|
|
163
|
+
}());
|
|
164
|
+
</script>
|
|
165
|
+
</body>
|
|
166
|
+
</html>`;
|
|
167
|
+
//# sourceMappingURL=sandbox-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-proxy.js","sourceRoot":"","sources":["../../../src/features/mcp-ui/sandbox-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmC1B,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The global a surface's own script reaches the protocol through.
|
|
3
|
+
*
|
|
4
|
+
* A global rather than a module export because the surface script is a second classic `<script>` in
|
|
5
|
+
* the same document — there are no modules to import between them.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SURFACE_BRIDGE_GLOBAL = "jiniMcpUi";
|
|
8
|
+
/**
|
|
9
|
+
* Set on `<html>` when the handshake fails, so a host, a test, or a human with devtools open can
|
|
10
|
+
* tell "the Host never answered `ui/initialize`" apart from "the surface's own script threw".
|
|
11
|
+
*/
|
|
12
|
+
export declare const SURFACE_HANDSHAKE_FAILED_ATTRIBUTE = "data-mcpui-handshake-failed";
|
|
13
|
+
export interface BridgeScriptSpec {
|
|
14
|
+
/** Reported to the Host as `appInfo.name` in `ui/initialize`. */
|
|
15
|
+
readonly appName: string;
|
|
16
|
+
/** Reported to the Host as `appInfo.version`. */
|
|
17
|
+
readonly appVersion: string;
|
|
18
|
+
/** Defaults to {@link MCP_UI_PROTOCOL_VERSION}. */
|
|
19
|
+
readonly protocolVersion?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Renders the View-side protocol bridge as JavaScript source.
|
|
23
|
+
*
|
|
24
|
+
* The emitted script defines `window[SURFACE_BRIDGE_GLOBAL]` with:
|
|
25
|
+
* - `callTool(name, args)` → `Promise` of the tool result, queued until the handshake completes and
|
|
26
|
+
* rejected with the Host's own error message on a JSON-RPC error response.
|
|
27
|
+
* - `notify(method, params)` → a raw fire-and-forget notification, for the lifecycle messages a
|
|
28
|
+
* surface may want beyond what the bridge sends itself.
|
|
29
|
+
* - `openLink(url)` → `ui/open-link`, the only way an isolated frame can navigate anything.
|
|
30
|
+
* - `requestTeardown()` → `ui/notifications/request-teardown`, the draft-spec way for a "Done"
|
|
31
|
+
* button to ask the Host to remove the frame.
|
|
32
|
+
* - `whenReady(fn)` → runs `fn` after the handshake, immediately if it already completed.
|
|
33
|
+
*
|
|
34
|
+
* The script also answers the Host's `ui/resource-teardown` request. That answer is not optional
|
|
35
|
+
* politeness: our Host waits (bounded) for it before removing the frame, so a View that never
|
|
36
|
+
* responded would stall every teardown to its timeout.
|
|
37
|
+
*
|
|
38
|
+
* @param spec - See {@link BridgeScriptSpec}.
|
|
39
|
+
* @returns JavaScript source, to be placed in a classic `<script>` before the surface's own script.
|
|
40
|
+
* @complexity O(1) — a constant template with three interpolations.
|
|
41
|
+
*/
|
|
42
|
+
export declare function renderBridgeScript(spec: BridgeScriptSpec): string;
|
|
43
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../src/features/mcp-ui/surfaces/bridge.ts"],"names":[],"mappings":"AA2CA;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,kCAAkC,gCAAgC,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA4HjE"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module features/mcp-ui/surfaces/bridge
|
|
3
|
+
*
|
|
4
|
+
* The inline `<script>` every generated surface carries: the View half of the MCP Apps handshake,
|
|
5
|
+
* emitted as a JavaScript source string because it runs inside a sandboxed iframe with no bundler,
|
|
6
|
+
* no module loader, and no shared runtime to import from.
|
|
7
|
+
*
|
|
8
|
+
* ## Why the surface HTML cannot just post an action and be done
|
|
9
|
+
*
|
|
10
|
+
* `mcp-ui-apps.ts` states the ordering rule the spec makes normative: a Host MUST NOT send anything
|
|
11
|
+
* to a View before `ui/notifications/initialized`, and — the mirror of it, which is what this script
|
|
12
|
+
* has to respect — a Host answers a View's requests only once the handshake is complete. Our own
|
|
13
|
+
* Host refuses a `tools/call` that arrives in `awaiting-initialize` with a JSON-RPC
|
|
14
|
+
* `invalidRequest`. So a surface that posted its action on click without ever handshaking would get
|
|
15
|
+
* a refusal, not an execution. {@link renderBridgeScript} therefore runs `ui/initialize` at load
|
|
16
|
+
* time and queues any `callTool` made before the response lands.
|
|
17
|
+
*
|
|
18
|
+
* ## Which action shape this emits, and what it deliberately does not
|
|
19
|
+
*
|
|
20
|
+
* The community `@mcp-ui/client` SDK accepts a legacy, non-JSON-RPC action —
|
|
21
|
+
* `{ type: 'tool', payload: { toolName, params } }` — and the reference implementation's
|
|
22
|
+
* `delete-confirmation-ui.ts` emits exactly that. This bridge emits the JSON-RPC
|
|
23
|
+
* `tools/call` request from {@link MCP_UI_VIEW_METHODS} instead, and emits **only** that.
|
|
24
|
+
*
|
|
25
|
+
* That is a real divergence from the brief this module was built to, and it is deliberate: the two
|
|
26
|
+
* shapes are alternatives, not layers. Emitting both would mean a host that understands both
|
|
27
|
+
* executes the tool twice — the worst possible outcome for a surface whose entire purpose is
|
|
28
|
+
* confirming a destructive action. JSON-RPC wins because it is what the Host in `react/mcp-ui/`
|
|
29
|
+
* speaks, what the standardized spec fixed, and the only one of the two with a response correlated
|
|
30
|
+
* back to the caller, which is what lets a dialog report "done" or "failed" instead of appearing to
|
|
31
|
+
* do nothing. A consumer needing the legacy shape for an existing mcp-ui host should build that
|
|
32
|
+
* surface with its own script rather than have this one emit both.
|
|
33
|
+
*
|
|
34
|
+
* ## What the script must never do
|
|
35
|
+
*
|
|
36
|
+
* No `localStorage` / `sessionStorage` (both throw `SecurityError` in the opaque origin this
|
|
37
|
+
* package's sandbox produces — see `MCP_UI_VIEW_SANDBOX`), no `scrollIntoView` (it breaks iframe
|
|
38
|
+
* preview layout), no cross-document `<a href>` (dead in an isolated frame; use `ui/open-link`
|
|
39
|
+
* through {@link SURFACE_BRIDGE_GLOBAL} instead).
|
|
40
|
+
*/
|
|
41
|
+
import { escapeJsValue } from '../escape.js';
|
|
42
|
+
import { MCP_UI_PROTOCOL_VERSION } from '../protocol.js';
|
|
43
|
+
/**
|
|
44
|
+
* The global a surface's own script reaches the protocol through.
|
|
45
|
+
*
|
|
46
|
+
* A global rather than a module export because the surface script is a second classic `<script>` in
|
|
47
|
+
* the same document — there are no modules to import between them.
|
|
48
|
+
*/
|
|
49
|
+
export const SURFACE_BRIDGE_GLOBAL = 'jiniMcpUi';
|
|
50
|
+
/**
|
|
51
|
+
* Set on `<html>` when the handshake fails, so a host, a test, or a human with devtools open can
|
|
52
|
+
* tell "the Host never answered `ui/initialize`" apart from "the surface's own script threw".
|
|
53
|
+
*/
|
|
54
|
+
export const SURFACE_HANDSHAKE_FAILED_ATTRIBUTE = 'data-mcpui-handshake-failed';
|
|
55
|
+
/**
|
|
56
|
+
* Renders the View-side protocol bridge as JavaScript source.
|
|
57
|
+
*
|
|
58
|
+
* The emitted script defines `window[SURFACE_BRIDGE_GLOBAL]` with:
|
|
59
|
+
* - `callTool(name, args)` → `Promise` of the tool result, queued until the handshake completes and
|
|
60
|
+
* rejected with the Host's own error message on a JSON-RPC error response.
|
|
61
|
+
* - `notify(method, params)` → a raw fire-and-forget notification, for the lifecycle messages a
|
|
62
|
+
* surface may want beyond what the bridge sends itself.
|
|
63
|
+
* - `openLink(url)` → `ui/open-link`, the only way an isolated frame can navigate anything.
|
|
64
|
+
* - `requestTeardown()` → `ui/notifications/request-teardown`, the draft-spec way for a "Done"
|
|
65
|
+
* button to ask the Host to remove the frame.
|
|
66
|
+
* - `whenReady(fn)` → runs `fn` after the handshake, immediately if it already completed.
|
|
67
|
+
*
|
|
68
|
+
* The script also answers the Host's `ui/resource-teardown` request. That answer is not optional
|
|
69
|
+
* politeness: our Host waits (bounded) for it before removing the frame, so a View that never
|
|
70
|
+
* responded would stall every teardown to its timeout.
|
|
71
|
+
*
|
|
72
|
+
* @param spec - See {@link BridgeScriptSpec}.
|
|
73
|
+
* @returns JavaScript source, to be placed in a classic `<script>` before the surface's own script.
|
|
74
|
+
* @complexity O(1) — a constant template with three interpolations.
|
|
75
|
+
*/
|
|
76
|
+
export function renderBridgeScript(spec) {
|
|
77
|
+
const appInfo = escapeJsValue({ name: spec.appName, version: spec.appVersion });
|
|
78
|
+
const protocolVersion = escapeJsValue(spec.protocolVersion ?? MCP_UI_PROTOCOL_VERSION);
|
|
79
|
+
const global = SURFACE_BRIDGE_GLOBAL;
|
|
80
|
+
const failedAttribute = escapeJsValue(SURFACE_HANDSHAKE_FAILED_ATTRIBUTE);
|
|
81
|
+
return `(function () {
|
|
82
|
+
"use strict";
|
|
83
|
+
var HOST = window.parent;
|
|
84
|
+
var APP_INFO = ${appInfo};
|
|
85
|
+
var PROTOCOL_VERSION = ${protocolVersion};
|
|
86
|
+
var nextId = 1;
|
|
87
|
+
var pending = Object.create(null);
|
|
88
|
+
var ready = false;
|
|
89
|
+
var settled = false;
|
|
90
|
+
var queuedCalls = [];
|
|
91
|
+
var readyHandlers = [];
|
|
92
|
+
var hostContext = null;
|
|
93
|
+
|
|
94
|
+
// Posted to "*", not to a specific origin, because a sandboxed frame without allow-same-origin
|
|
95
|
+
// has an opaque origin and no way to learn its embedder's. The Host does not trust origin either
|
|
96
|
+
// — it authenticates by event.source identity against its own iframe's contentWindow, which a
|
|
97
|
+
// third party cannot forge.
|
|
98
|
+
function post(message) { HOST.postMessage(message, "*"); }
|
|
99
|
+
|
|
100
|
+
function notify(method, params) {
|
|
101
|
+
post(params === undefined
|
|
102
|
+
? { jsonrpc: "2.0", method: method }
|
|
103
|
+
: { jsonrpc: "2.0", method: method, params: params });
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function request(method, params) {
|
|
107
|
+
return new Promise(function (resolve, reject) {
|
|
108
|
+
var id = "view-" + nextId++;
|
|
109
|
+
pending[id] = { resolve: resolve, reject: reject };
|
|
110
|
+
post({ jsonrpc: "2.0", id: id, method: method, params: params });
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// A call made before the handshake completes is held, not sent: our Host answers a pre-handshake
|
|
115
|
+
// tools/call with a JSON-RPC invalidRequest, so sending early would turn "the user clicked a
|
|
116
|
+
// little too fast" into a refusal the surface would have to explain. A call held when the
|
|
117
|
+
// handshake FAILS is rejected rather than held forever, so the dialog can say so.
|
|
118
|
+
function callTool(name, args) {
|
|
119
|
+
var params = { name: name, arguments: args || {} };
|
|
120
|
+
if (ready) return request("tools/call", params);
|
|
121
|
+
return new Promise(function (resolve, reject) {
|
|
122
|
+
queuedCalls.push({ resolve: resolve, reject: reject, params: params });
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function reportSize() {
|
|
127
|
+
var root = document.documentElement;
|
|
128
|
+
notify("ui/notifications/size-changed", { width: root.scrollWidth, height: root.scrollHeight });
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
window.addEventListener("message", function (event) {
|
|
132
|
+
var data = event.data;
|
|
133
|
+
if (!data || typeof data !== "object" || data.jsonrpc !== "2.0") return;
|
|
134
|
+
if (typeof data.method === "string") {
|
|
135
|
+
if (!("id" in data)) return;
|
|
136
|
+
if (data.method === "ui/resource-teardown") {
|
|
137
|
+
post({ jsonrpc: "2.0", id: data.id, result: {} });
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
post({ jsonrpc: "2.0", id: data.id, error: { code: -32601, message: "View does not implement " + data.method } });
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
var waiter = pending[data.id];
|
|
144
|
+
if (!waiter) return;
|
|
145
|
+
delete pending[data.id];
|
|
146
|
+
if (data.error) waiter.reject(toError(data.error));
|
|
147
|
+
else waiter.resolve(data.result);
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
function toError(error) {
|
|
151
|
+
var failure = new Error(error && typeof error.message === "string" ? error.message : "Host returned an error");
|
|
152
|
+
if (error && typeof error.code === "number") failure.code = error.code;
|
|
153
|
+
return failure;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function onHandshakeDone(result) {
|
|
157
|
+
hostContext = result && result.hostContext ? result.hostContext : null;
|
|
158
|
+
ready = true;
|
|
159
|
+
settled = true;
|
|
160
|
+
notify("ui/notifications/initialized");
|
|
161
|
+
reportSize();
|
|
162
|
+
var calls = queuedCalls;
|
|
163
|
+
var handlers = readyHandlers;
|
|
164
|
+
queuedCalls = [];
|
|
165
|
+
readyHandlers = [];
|
|
166
|
+
for (var i = 0; i < calls.length; i++) request("tools/call", calls[i].params).then(calls[i].resolve, calls[i].reject);
|
|
167
|
+
for (var j = 0; j < handlers.length; j++) handlers[j]();
|
|
168
|
+
if (typeof ResizeObserver === "function") new ResizeObserver(reportSize).observe(document.documentElement);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function onHandshakeFailed(error) {
|
|
172
|
+
settled = true;
|
|
173
|
+
document.documentElement.setAttribute(${failedAttribute}, "true");
|
|
174
|
+
var calls = queuedCalls;
|
|
175
|
+
queuedCalls = [];
|
|
176
|
+
// Rejected, never dropped: a queued call is a click the human already made, and a promise that
|
|
177
|
+
// never settles is a dialog stuck on "Working…" with nothing to say.
|
|
178
|
+
for (var i = 0; i < calls.length; i++) calls[i].reject(error instanceof Error ? error : new Error("MCP-UI handshake failed"));
|
|
179
|
+
// readyHandlers are intentionally not run — "when ready" never became true.
|
|
180
|
+
readyHandlers = [];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
request("ui/initialize", {
|
|
184
|
+
protocolVersion: PROTOCOL_VERSION,
|
|
185
|
+
appInfo: APP_INFO,
|
|
186
|
+
appCapabilities: {}
|
|
187
|
+
}).then(onHandshakeDone, onHandshakeFailed);
|
|
188
|
+
|
|
189
|
+
window.${global} = {
|
|
190
|
+
callTool: callTool,
|
|
191
|
+
notify: notify,
|
|
192
|
+
openLink: function (url) { notify("ui/open-link", { url: url }); },
|
|
193
|
+
requestTeardown: function () { notify("ui/notifications/request-teardown"); },
|
|
194
|
+
whenReady: function (fn) { if (ready) fn(); else if (!settled) readyHandlers.push(fn); },
|
|
195
|
+
hostContext: function () { return hostContext; },
|
|
196
|
+
isReady: function () { return ready; }
|
|
197
|
+
};
|
|
198
|
+
}());`;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../src/features/mcp-ui/surfaces/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC;AAWhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,IAAI,uBAAuB,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,qBAAqB,CAAC;IACrC,MAAM,eAAe,GAAG,aAAa,CAAC,kCAAkC,CAAC,CAAC;IAE1E,OAAO;;;mBAGU,OAAO;2BACC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAwFE,eAAe;;;;;;;;;;;;;;;;WAgBhD,MAAM;;;;;;;;;MASX,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface CheckboxProps {
|
|
2
|
+
/** HTML `name`, DOM `id` suffix, and the params key the value is posted under. */
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** Initial checked state. Defaults to unchecked. */
|
|
6
|
+
readonly value?: boolean;
|
|
7
|
+
/** Help text, wired up with `aria-describedby`. */
|
|
8
|
+
readonly hint?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Native checkbox `required` semantics: the box must be CHECKED to submit, not merely answered.
|
|
11
|
+
* That is the right meaning for the case this control exists for ("I understand this deletes the
|
|
12
|
+
* record"), and the wrong meaning for a plain optional toggle — leave it off for those.
|
|
13
|
+
*/
|
|
14
|
+
readonly required?: boolean;
|
|
15
|
+
readonly disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Renders one boolean field.
|
|
19
|
+
*
|
|
20
|
+
* @param props - See {@link CheckboxProps}.
|
|
21
|
+
* @returns An HTML fragment.
|
|
22
|
+
* @complexity O(n) in the rendered length.
|
|
23
|
+
*/
|
|
24
|
+
export declare function renderCheckbox(props: CheckboxProps): string;
|
|
25
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../src/features/mcp-ui/surfaces/checkbox.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAS3D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module features/mcp-ui/surfaces/checkbox
|
|
3
|
+
*
|
|
4
|
+
* The boolean control fragment. Laid out inline (control first, label after) rather than
|
|
5
|
+
* label-above like the other controls, because a checkbox's label is its hit target and stacking it
|
|
6
|
+
* above leaves a lone box with nothing next to it.
|
|
7
|
+
*/
|
|
8
|
+
import { escapeHtml } from '../escape.js';
|
|
9
|
+
import { fieldDescribedBy, fieldElementId, renderFieldLabel } from './document.js';
|
|
10
|
+
/**
|
|
11
|
+
* Renders one boolean field.
|
|
12
|
+
*
|
|
13
|
+
* @param props - See {@link CheckboxProps}.
|
|
14
|
+
* @returns An HTML fragment.
|
|
15
|
+
* @complexity O(n) in the rendered length.
|
|
16
|
+
*/
|
|
17
|
+
export function renderCheckbox(props) {
|
|
18
|
+
const id = fieldElementId(props.name);
|
|
19
|
+
const attributes = ` id="${escapeHtml(id)}" name="${escapeHtml(props.name)}"` +
|
|
20
|
+
(props.value === true ? ' checked' : '') +
|
|
21
|
+
(props.required === true ? ' required' : '') +
|
|
22
|
+
(props.disabled === true ? ' disabled' : '') +
|
|
23
|
+
fieldDescribedBy(props);
|
|
24
|
+
return `<div class="mcpui-field mcpui-field-inline">\n<input class="mcpui-checkbox" type="checkbox"${attributes}>\n<span>${renderFieldLabel(props)}</span>\n</div>`;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../src/features/mcp-ui/surfaces/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAmBnF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GACd,QAAQ,UAAU,CAAC,EAAE,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;QAC1D,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,8FAA8F,UAAU,YAAY,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC;AACtK,CAAC"}
|