@jini-ai/ui 0.1.2 → 0.3.0
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 +52 -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-icons/amr.svg +17 -0
- package/dist/react/components/agent-icons/antigravity.svg +1 -0
- package/dist/react/components/agent-icons/claude.svg +1 -0
- package/dist/react/components/agent-icons/codex.svg +1 -0
- package/dist/react/components/agent-icons/copilot.svg +1 -0
- package/dist/react/components/agent-icons/cursor-agent.svg +1 -0
- package/dist/react/components/agent-icons/deepseek.svg +1 -0
- package/dist/react/components/agent-icons/gemini.svg +1 -0
- package/dist/react/components/agent-icons/grok-build.svg +15 -0
- package/dist/react/components/agent-icons/hermes.svg +1 -0
- package/dist/react/components/agent-icons/kilo.svg +1 -0
- package/dist/react/components/agent-icons/kimi.svg +1 -0
- package/dist/react/components/agent-icons/kiro.svg +1 -0
- package/dist/react/components/agent-icons/mimo.svg +1 -0
- package/dist/react/components/agent-icons/opencode.svg +1 -0
- package/dist/react/components/agent-icons/pi.svg +1 -0
- package/dist/react/components/agent-icons/qoder.svg +1 -0
- package/dist/react/components/agent-icons/qwen.svg +1 -0
- package/dist/react/components/agent-icons/reasonix.svg +37 -0
- package/dist/react/components/agent-icons/vibe.svg +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 +118 -15
- 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,59 @@
|
|
|
1
|
+
import type { MediaProvidersPort } from '../../ports.js';
|
|
2
|
+
import type { MediaProviderMap, MediaProviderOption } from '../../types.js';
|
|
3
|
+
export interface MediaProvidersTabLabels {
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
reloadLabel?: string;
|
|
7
|
+
reloadingLabel?: string;
|
|
8
|
+
unreachableLabel?: string;
|
|
9
|
+
emptyStateLabel?: string;
|
|
10
|
+
apiKeyLabel?: string;
|
|
11
|
+
apiKeyPlaceholder?: string;
|
|
12
|
+
showKeyLabel?: string;
|
|
13
|
+
hideKeyLabel?: string;
|
|
14
|
+
baseUrlLabel?: string;
|
|
15
|
+
baseUrlPlaceholder?: string;
|
|
16
|
+
/** i18n template with a `{url}` placeholder. */
|
|
17
|
+
baseUrlDefaultHintTemplate?: string;
|
|
18
|
+
/** Shown under a base URL that is not an absolute http(s) endpoint, or that points into private address space. */
|
|
19
|
+
baseUrlInvalidLabel?: string;
|
|
20
|
+
modelLabel?: string;
|
|
21
|
+
modelPlaceholder?: string;
|
|
22
|
+
/** i18n template with a `{mask}` placeholder. Always rendered WITH a mask —
|
|
23
|
+
* see `maskedLabel`'s doc comment below for why a plain "Saved" fallback
|
|
24
|
+
* is never reachable and so has no separate label of its own. */
|
|
25
|
+
savedWithMaskTemplate?: string;
|
|
26
|
+
unsavedLabel?: string;
|
|
27
|
+
clearLabel?: string;
|
|
28
|
+
saveChangesLabel?: string;
|
|
29
|
+
savingLabel?: string;
|
|
30
|
+
savedNoticeLabel?: string;
|
|
31
|
+
saveErrorLabel?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface MediaProvidersTabProps {
|
|
34
|
+
port: MediaProvidersPort;
|
|
35
|
+
/** The provider catalog to render. Optional — defaults to
|
|
36
|
+
* `DEFAULT_MEDIA_PROVIDER_CATALOG`; see `MediaProviderOption`'s doc for
|
|
37
|
+
* the host-override convention. */
|
|
38
|
+
catalog?: readonly MediaProviderOption[];
|
|
39
|
+
/** Host-persisted local edits from before this tab mounted. See
|
|
40
|
+
* `useMediaProvidersTab`'s doc for how this feeds the first-load merge. */
|
|
41
|
+
initialProviders?: MediaProviderMap;
|
|
42
|
+
/** Provider ids that must render first, in the order given, ahead of the
|
|
43
|
+
* usual configured/alphabetical grouping — see `sortProvidersByConfigured`'s
|
|
44
|
+
* own doc. Optional; omitted (every pre-existing caller) keeps the prior
|
|
45
|
+
* configured-first/alphabetical order unchanged. */
|
|
46
|
+
pinnedProviderIds?: readonly string[];
|
|
47
|
+
labels?: MediaProvidersTabLabels;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Per-provider credential cards: API key, base URL, and (when the catalog
|
|
51
|
+
* entry advertises any) a model picker, each independently editable and
|
|
52
|
+
* clearable. Origin: `MediaProvidersSection` (`SettingsDialog.tsx:7028`) minus
|
|
53
|
+
* the origin's baked-in vendor catalog, "coming soon" roadmap drawer, and
|
|
54
|
+
* per-vendor OAuth special case (`XaiOAuthControl`) — all product-specific
|
|
55
|
+
* decorations outside this package's boundary; see `MediaProviderOption`'s
|
|
56
|
+
* doc and this tab's `ports.ts` header for the full provenance note.
|
|
57
|
+
*/
|
|
58
|
+
export declare function MediaProvidersTab({ port, catalog, initialProviders, pinnedProviderIds, labels, }: MediaProvidersTabProps): import("react").JSX.Element;
|
|
59
|
+
//# sourceMappingURL=MediaProvidersTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaProvidersTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/media-providers/react/components/MediaProvidersTab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAWzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG5E,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kHAAkH;IAClH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;sEAEkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB;;wCAEoC;IACpC,OAAO,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACzC;gFAC4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;yDAGqD;IACrD,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAwC,EACxC,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,GACP,EAAE,sBAAsB,+BA+NxB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, useState } from 'react';
|
|
3
|
+
import { useT } from '../../../i18n/index.js';
|
|
4
|
+
import { Icon } from '../../../../react/components/Icon.js';
|
|
5
|
+
import { invalidBaseUrlProviderIds, isEntryPresent, isMarkerOnlyEntry, isProviderBaseUrlInvalid, maskedKeyLabel, resolveProviderBaseUrl, sortProvidersByConfigured, } from '../../rules.js';
|
|
6
|
+
import { DEFAULT_MEDIA_PROVIDER_CATALOG } from '../../constants.js';
|
|
7
|
+
import { useMediaProvidersTab } from '../hooks/useMediaProvidersTab.js';
|
|
8
|
+
/**
|
|
9
|
+
* Per-provider credential cards: API key, base URL, and (when the catalog
|
|
10
|
+
* entry advertises any) a model picker, each independently editable and
|
|
11
|
+
* clearable. Origin: `MediaProvidersSection` (`SettingsDialog.tsx:7028`) minus
|
|
12
|
+
* the origin's baked-in vendor catalog, "coming soon" roadmap drawer, and
|
|
13
|
+
* per-vendor OAuth special case (`XaiOAuthControl`) — all product-specific
|
|
14
|
+
* decorations outside this package's boundary; see `MediaProviderOption`'s
|
|
15
|
+
* doc and this tab's `ports.ts` header for the full provenance note.
|
|
16
|
+
*/
|
|
17
|
+
export function MediaProvidersTab({ port, catalog = DEFAULT_MEDIA_PROVIDER_CATALOG, initialProviders, pinnedProviderIds, labels, }) {
|
|
18
|
+
const t = useT();
|
|
19
|
+
const { providers, load, save, hasAnyConfigured, pendingProviderIds, updateProvider, clearProvider, saveChanges, reload } = useMediaProvidersTab({ port, initialProviders });
|
|
20
|
+
const [visibleApiKeys, setVisibleApiKeys] = useState(() => new Set());
|
|
21
|
+
const title = labels?.title ?? t('Media providers');
|
|
22
|
+
const description = labels?.description ?? t('Credentials this host uses to generate images and video.');
|
|
23
|
+
const reloadLabel = labels?.reloadLabel ?? t('Reload');
|
|
24
|
+
const reloadingLabel = labels?.reloadingLabel ?? t('Reloading…');
|
|
25
|
+
const unreachableLabel = labels?.unreachableLabel ?? t('Could not reach the server. Showing local changes only.');
|
|
26
|
+
const emptyStateLabel = labels?.emptyStateLabel ?? t('No media providers configured yet.');
|
|
27
|
+
const apiKeyLabel = labels?.apiKeyLabel ?? t('API key');
|
|
28
|
+
const apiKeyPlaceholder = labels?.apiKeyPlaceholder ?? t('Paste your API key');
|
|
29
|
+
const showKeyLabel = labels?.showKeyLabel ?? t('Show');
|
|
30
|
+
const hideKeyLabel = labels?.hideKeyLabel ?? t('Hide');
|
|
31
|
+
const baseUrlLabel = labels?.baseUrlLabel ?? t('Base URL');
|
|
32
|
+
const baseUrlPlaceholder = labels?.baseUrlPlaceholder ?? t('https://api.example.com');
|
|
33
|
+
const baseUrlDefaultHintTemplate = labels?.baseUrlDefaultHintTemplate ?? t('Uses {url} by default.');
|
|
34
|
+
const baseUrlInvalidLabel = labels?.baseUrlInvalidLabel ??
|
|
35
|
+
t('Enter an absolute http:// or https:// URL that is not a private or internal address.');
|
|
36
|
+
const modelLabel = labels?.modelLabel ?? t('Model');
|
|
37
|
+
const modelPlaceholder = labels?.modelPlaceholder ?? t('Default model');
|
|
38
|
+
const savedWithMaskTemplate = labels?.savedWithMaskTemplate ?? t('Saved ({mask})');
|
|
39
|
+
const unsavedLabel = labels?.unsavedLabel ?? t('Unsaved');
|
|
40
|
+
const clearLabel = labels?.clearLabel ?? t('Clear');
|
|
41
|
+
const saveChangesLabel = labels?.saveChangesLabel ?? t('Save changes');
|
|
42
|
+
const savingLabel = labels?.savingLabel ?? t('Saving…');
|
|
43
|
+
const savedNoticeLabel = labels?.savedNoticeLabel ?? t('Saved.');
|
|
44
|
+
const saveErrorLabel = labels?.saveErrorLabel ?? t('Could not save media providers.');
|
|
45
|
+
const toggleKeyVisible = (providerId) => {
|
|
46
|
+
setVisibleApiKeys((current) => {
|
|
47
|
+
const next = new Set(current);
|
|
48
|
+
if (next.has(providerId)) {
|
|
49
|
+
next.delete(providerId);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
next.add(providerId);
|
|
53
|
+
}
|
|
54
|
+
return next;
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const orderedCatalog = sortProvidersByConfigured(catalog, providers, pinnedProviderIds);
|
|
58
|
+
// Membership check against the ALREADY-ORDERED result, not `pinnedProviderIds` directly: a
|
|
59
|
+
// pinned id absent from `catalog` never appears in `orderedCatalog` either (see
|
|
60
|
+
// `sortProvidersByConfigured`'s own "silently skipped" doc), so this stays correct without
|
|
61
|
+
// re-deriving which pinned ids actually resolved to a real card.
|
|
62
|
+
const pinnedIdSet = new Set(pinnedProviderIds ?? []);
|
|
63
|
+
const hasPendingChanges = pendingProviderIds.size > 0;
|
|
64
|
+
// Save writes every provider at once, so ONE unacceptable endpoint blocks the
|
|
65
|
+
// whole button rather than being silently persisted alongside the good ones.
|
|
66
|
+
const blockedByInvalidBaseUrl = invalidBaseUrlProviderIds(providers).length > 0;
|
|
67
|
+
return (_jsxs("section", { className: "jini-settings-section jini-settings-media-providers", children: [_jsxs("div", { className: "jini-section-head", children: [_jsxs("div", { children: [_jsx("h4", { children: title }), _jsx("p", { className: "jini-hint", children: description })] }), _jsxs("button", { type: "button", className: "jini-button jini-button-ghost", onClick: reload, disabled: load.status === 'loading', children: [_jsx(Icon, { name: "refresh", size: 13 }), _jsx("span", { children: load.status === 'loading' ? reloadingLabel : reloadLabel })] })] }), load.status === 'unreachable' ? (_jsx("p", { className: "jini-hint jini-hint-error", role: "alert", children: unreachableLabel })) : null, !hasAnyConfigured ? _jsx("p", { className: "jini-hint", children: emptyStateLabel }) : null, _jsx("div", { className: "jini-media-provider-list", children: orderedCatalog.map((option, index) => {
|
|
68
|
+
const entry = providers[option.id] ?? {};
|
|
69
|
+
const clearable = isEntryPresent(entry);
|
|
70
|
+
const saved = isMarkerOnlyEntry(entry);
|
|
71
|
+
// Guaranteed non-null: `isMarkerOnlyEntry` only holds when a server
|
|
72
|
+
// marker is present, and `maskedKeyLabel` always resolves a string
|
|
73
|
+
// for exactly that case — see both functions' doc comments.
|
|
74
|
+
const maskedLabel = saved ? maskedKeyLabel(entry) : null;
|
|
75
|
+
const keyVisible = visibleApiKeys.has(option.id);
|
|
76
|
+
const rawBaseUrl = entry.baseUrl ?? '';
|
|
77
|
+
const effectiveBaseUrl = resolveProviderBaseUrl(entry, option.defaultBaseUrl);
|
|
78
|
+
const baseUrlInvalid = isProviderBaseUrlInvalid(entry);
|
|
79
|
+
const modelListId = `jini-media-provider-models-${option.id}`;
|
|
80
|
+
// A divider renders once, directly above the first UNpinned card — i.e. exactly at the
|
|
81
|
+
// pinned/rest boundary `sortProvidersByConfigured` produced. Never renders above index 0
|
|
82
|
+
// (nothing pinned, or the pinned card IS index 0 with no boundary yet) and never when
|
|
83
|
+
// every card is pinned (no "rest" to separate from).
|
|
84
|
+
const previousOption = index > 0 ? orderedCatalog[index - 1] : undefined;
|
|
85
|
+
const showDividerBefore = !pinnedIdSet.has(option.id) && previousOption !== undefined && pinnedIdSet.has(previousOption.id);
|
|
86
|
+
return (_jsxs(Fragment, { children: [showDividerBefore ? _jsx("hr", { className: "jini-media-provider-divider" }) : null, _jsxs("div", { className: "jini-media-provider-card", children: [_jsxs("div", { className: "jini-media-provider-card-head", children: [_jsx("strong", { children: option.label }), saved ? (
|
|
87
|
+
// `maskedLabel` is guaranteed non-null here — see its
|
|
88
|
+
// definition above — so no fallback is reachable to test.
|
|
89
|
+
_jsx("span", { className: "jini-field-status-badge jini-field-status-badge-success", children: t(savedWithMaskTemplate, { mask: maskedLabel }) })) : null, !saved && pendingProviderIds.has(option.id) ? _jsx("span", { className: "jini-field-status-badge", children: unsavedLabel }) : null] }), _jsxs("div", { className: "jini-media-provider-fields", children: [_jsxs("label", { className: "jini-media-provider-field jini-media-provider-field--secret", children: [_jsx("span", { className: "jini-field-label jini-sr-only", children: apiKeyLabel }), _jsx("input", { className: "jini-input", type: keyVisible ? 'text' : 'password', autoComplete: "off", spellCheck: false, placeholder: saved ? maskedLabel : apiKeyPlaceholder, "aria-label": `${option.label} ${apiKeyLabel}`, value: entry.apiKey ?? '', onChange: (event) => updateProvider(option.id, { apiKey: event.target.value }) }), _jsx("button", { type: "button", className: "jini-input-affix-btn", "aria-pressed": keyVisible, "aria-label": `${option.label} ${keyVisible ? hideKeyLabel : showKeyLabel}`, onClick: () => toggleKeyVisible(option.id), children: _jsx(Icon, { name: keyVisible ? 'eye-off' : 'eye', size: 14 }) })] }), _jsxs("label", { className: "jini-media-provider-field", children: [_jsx("span", { className: "jini-field-label jini-sr-only", children: baseUrlLabel }), _jsx("input", { className: "jini-input", type: "url", inputMode: "url", spellCheck: false, placeholder: option.defaultBaseUrl || baseUrlPlaceholder, "aria-label": `${option.label} ${baseUrlLabel}`, value: rawBaseUrl, "aria-invalid": baseUrlInvalid || undefined, onChange: (event) => updateProvider(option.id, { baseUrl: event.target.value }) })] }), option.models && option.models.length > 0 ? (_jsxs("label", { className: "jini-media-provider-field", children: [_jsx("span", { className: "jini-field-label jini-sr-only", children: modelLabel }), _jsx("input", { className: "jini-input", list: modelListId, spellCheck: false, placeholder: modelPlaceholder, "aria-label": `${option.label} ${modelLabel}`, value: entry.model ?? '', onChange: (event) => updateProvider(option.id, { model: event.target.value }) }), _jsx("datalist", { id: modelListId, children: option.models.map((model) => (_jsx("option", { value: model }, model))) })] })) : null, _jsx("button", { type: "button", className: "jini-button jini-button-ghost", disabled: !clearable, "aria-label": `${option.label} ${clearLabel}`, onClick: () => clearProvider(option.id), children: clearLabel })] }), baseUrlInvalid ? (_jsx("span", { className: "jini-field-hint jini-hint-error", role: "alert", children: baseUrlInvalidLabel })) : !rawBaseUrl.trim() && effectiveBaseUrl ? (_jsx("span", { className: "jini-field-hint", children: t(baseUrlDefaultHintTemplate, { url: effectiveBaseUrl }) })) : null] })] }, option.id));
|
|
90
|
+
}) }), _jsxs("div", { className: "jini-media-provider-save-row", children: [_jsx("button", { type: "button", className: "jini-button", onClick: saveChanges, disabled: save.status === 'saving' || !hasPendingChanges || blockedByInvalidBaseUrl, children: save.status === 'saving' ? savingLabel : saveChangesLabel }), save.status === 'saved' ? (_jsx("span", { className: "jini-hint", role: "status", children: savedNoticeLabel })) : null, save.status === 'save-error' ? (_jsx("span", { className: "jini-hint jini-hint-error", role: "alert", children: saveErrorLabel })) : null] })] }));
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=MediaProvidersTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaProvidersTab.js","sourceRoot":"","sources":["../../../../../src/features/media-providers/react/components/MediaProvidersTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { MediaProvidersPort } from '../../ports.js';
|
|
2
|
+
import type { MediaProviderCredentials, MediaProviderMap, MediaProvidersLoadState, MediaProvidersSaveState } from '../../types.js';
|
|
3
|
+
/** The operator-editable fields of a provider entry. Server markers
|
|
4
|
+
* (`apiKeyConfigured`/`apiKeyTail`) are deliberately excluded — they only
|
|
5
|
+
* ever arrive FROM the daemon, never typed by the operator; see
|
|
6
|
+
* `MediaProviderCredentials`'s own doc comment for the recoverable-vs-marker
|
|
7
|
+
* distinction this narrows around. */
|
|
8
|
+
export type MediaProviderEditPatch = Pick<MediaProviderCredentials, 'apiKey' | 'baseUrl' | 'model'>;
|
|
9
|
+
export interface UseMediaProvidersTabOptions {
|
|
10
|
+
port: MediaProvidersPort;
|
|
11
|
+
/** Host-persisted local edits from before this tab mounted (e.g. the
|
|
12
|
+
* host's own locally-cached config, read before the daemon round-trip
|
|
13
|
+
* completes). Defaults to none. Threaded into the initial
|
|
14
|
+
* daemon-reconciliation merge unchanged, so a first-run migration
|
|
15
|
+
* (`shouldSyncLocalProvidersToDaemon`) has real local data to detect. */
|
|
16
|
+
initialProviders?: MediaProviderMap | undefined;
|
|
17
|
+
}
|
|
18
|
+
export interface UseMediaProvidersTabResult {
|
|
19
|
+
/** The full working set: local edits layered over whatever the daemon last
|
|
20
|
+
* reported. Reflects `initialProviders` until the first load settles. */
|
|
21
|
+
providers: MediaProviderMap;
|
|
22
|
+
load: MediaProvidersLoadState;
|
|
23
|
+
save: MediaProvidersSaveState;
|
|
24
|
+
hasAnyConfigured: boolean;
|
|
25
|
+
/** Provider ids with an edit not yet flushed to the daemon. A `reload()`
|
|
26
|
+
* preserves exactly these over whatever the server reports for them — see
|
|
27
|
+
* `mergeDaemonProviders`'s `preserveLocalProviderIds`. */
|
|
28
|
+
pendingProviderIds: ReadonlySet<string>;
|
|
29
|
+
updateProvider: (providerId: string, patch: MediaProviderEditPatch) => void;
|
|
30
|
+
/** Drops the provider entirely (recoverable fields AND server markers) and
|
|
31
|
+
* immediately persists the removal. Clear is treated as a decisive action
|
|
32
|
+
* — same as the origin's confirm-then-clear flow — not a pending edit an
|
|
33
|
+
* operator might still back out of via `reload()`. */
|
|
34
|
+
clearProvider: (providerId: string) => void;
|
|
35
|
+
/** Flushes every current provider to the daemon. */
|
|
36
|
+
saveChanges: () => void;
|
|
37
|
+
/** Re-reads the daemon's copy and reconciles it against local state. */
|
|
38
|
+
reload: () => void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Owns the tab's async edges: the initial daemon fetch (plus the one-time
|
|
42
|
+
* first-upload migration `shouldSyncLocalProvidersToDaemon` guards), manual
|
|
43
|
+
* reload, per-field edits, clear, and save. Origin: `MediaProvidersSection`'s
|
|
44
|
+
* own `useState`/`useEffect` block in `SettingsDialog.tsx`, split from the
|
|
45
|
+
* App.tsx-level boot migration it used to depend on — ported as a
|
|
46
|
+
* self-contained hook (matches `useProjectLocationsTab`'s convention) so this
|
|
47
|
+
* tab does not need a host-level daemon-config bootstrap to behave correctly.
|
|
48
|
+
*
|
|
49
|
+
* The `null` vs `{}` distinction `mergeDaemonProviders` turns on is preserved
|
|
50
|
+
* end-to-end here: a `null` fetch result renders as `'unreachable'` and never
|
|
51
|
+
* reaches `mergeDaemonProviders` at all (local state is left exactly as it
|
|
52
|
+
* was), while a reached-but-empty `{}` result merges normally and can drop
|
|
53
|
+
* stale local markers. Collapsing the two — e.g. defaulting a `null` result to
|
|
54
|
+
* `{}` before merging — would make a transient daemon blip read as "the
|
|
55
|
+
* server manages nothing" and silently wipe local edits.
|
|
56
|
+
*/
|
|
57
|
+
export declare function useMediaProvidersTab({ port, initialProviders }: UseMediaProvidersTabOptions): UseMediaProvidersTabResult;
|
|
58
|
+
//# sourceMappingURL=useMediaProvidersTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaProvidersTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/media-providers/react/hooks/useMediaProvidersTab.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB;;;;uCAIuC;AACvC,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAEpG,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;;8EAI0E;IAC1E,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,0BAA0B;IACzC;8EAC0E;IAC1E,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;+DAE2D;IAC3D,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC5E;;;2DAGuD;IACvD,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oDAAoD;IACpD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,wEAAwE;IACxE,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,2BAA2B,GAAG,0BAA0B,CA4SxH"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { hasAnyConfiguredProvider, isEntryEmpty, mergeDaemonProviders, shouldSyncLocalProvidersToDaemon, } from '../../rules.js';
|
|
3
|
+
/**
|
|
4
|
+
* Owns the tab's async edges: the initial daemon fetch (plus the one-time
|
|
5
|
+
* first-upload migration `shouldSyncLocalProvidersToDaemon` guards), manual
|
|
6
|
+
* reload, per-field edits, clear, and save. Origin: `MediaProvidersSection`'s
|
|
7
|
+
* own `useState`/`useEffect` block in `SettingsDialog.tsx`, split from the
|
|
8
|
+
* App.tsx-level boot migration it used to depend on — ported as a
|
|
9
|
+
* self-contained hook (matches `useProjectLocationsTab`'s convention) so this
|
|
10
|
+
* tab does not need a host-level daemon-config bootstrap to behave correctly.
|
|
11
|
+
*
|
|
12
|
+
* The `null` vs `{}` distinction `mergeDaemonProviders` turns on is preserved
|
|
13
|
+
* end-to-end here: a `null` fetch result renders as `'unreachable'` and never
|
|
14
|
+
* reaches `mergeDaemonProviders` at all (local state is left exactly as it
|
|
15
|
+
* was), while a reached-but-empty `{}` result merges normally and can drop
|
|
16
|
+
* stale local markers. Collapsing the two — e.g. defaulting a `null` result to
|
|
17
|
+
* `{}` before merging — would make a transient daemon blip read as "the
|
|
18
|
+
* server manages nothing" and silently wipe local edits.
|
|
19
|
+
*/
|
|
20
|
+
export function useMediaProvidersTab({ port, initialProviders }) {
|
|
21
|
+
const [providers, setProviders] = useState(() => ({ ...(initialProviders ?? {}) }));
|
|
22
|
+
const [pendingProviderIds, setPendingProviderIds] = useState(() => new Set());
|
|
23
|
+
const [load, setLoad] = useState({ status: 'loading' });
|
|
24
|
+
const [save, setSave] = useState({ status: 'idle' });
|
|
25
|
+
/** Volatile values async callbacks need at RUN time, not at schedule time —
|
|
26
|
+
* same convention as `useProjectLocationsTab`'s refs. */
|
|
27
|
+
const portRef = useRef(port);
|
|
28
|
+
portRef.current = port;
|
|
29
|
+
/**
|
|
30
|
+
* The working set, mirrored into refs that update SYNCHRONOUSLY with each
|
|
31
|
+
* mutation rather than at the next render.
|
|
32
|
+
*
|
|
33
|
+
* These are not a render-time convenience here, they are the send-time
|
|
34
|
+
* source of truth: a queued whole-map write builds its payload from
|
|
35
|
+
* `providersRef.current` at the moment it reaches the port (see `flushNow`).
|
|
36
|
+
* Assigning them during render instead would leave a write that is issued in
|
|
37
|
+
* the same tick as an edit sending the map from BEFORE that edit. Every
|
|
38
|
+
* mutation therefore goes through `applyProviders`/`applyPending` — nothing
|
|
39
|
+
* in this hook may call `setProviders`/`setPendingProviderIds` directly.
|
|
40
|
+
*/
|
|
41
|
+
const providersRef = useRef(providers);
|
|
42
|
+
const pendingRef = useRef(pendingProviderIds);
|
|
43
|
+
const applyProviders = useCallback((next) => {
|
|
44
|
+
providersRef.current = next;
|
|
45
|
+
setProviders(next);
|
|
46
|
+
}, []);
|
|
47
|
+
const applyPending = useCallback((next) => {
|
|
48
|
+
pendingRef.current = next;
|
|
49
|
+
setPendingProviderIds(next);
|
|
50
|
+
}, []);
|
|
51
|
+
/**
|
|
52
|
+
* Provider ids mutated locally since the in-flight write took its payload.
|
|
53
|
+
* Reset at send time by `flushNow`, which then treats exactly these ids as
|
|
54
|
+
* "the server's answer does not describe this one" — see its doc comment.
|
|
55
|
+
*/
|
|
56
|
+
const mutatedSinceSend = useRef(new Set());
|
|
57
|
+
/**
|
|
58
|
+
* Providers cleared locally whose removal the daemon has not confirmed yet.
|
|
59
|
+
*
|
|
60
|
+
* `mutatedSinceSend` protects a clear from the SAVE response. Nothing protected it from the LOAD
|
|
61
|
+
* response, and the two need different mechanisms: a clear is deliberately not a pending edit
|
|
62
|
+
* (see `clearProvider`), so it is absent from `preserveLocalProviderIds`, and `mergeDaemonProviders`
|
|
63
|
+
* cannot preserve an entry that no longer exists locally anyway. The daemon still holds the
|
|
64
|
+
* credential until the write lands, so any reload in that window re-created it from the server's
|
|
65
|
+
* copy and put a cleared credential back on screen. These ids are tombstones: the merge drops
|
|
66
|
+
* them outright, and they are released only when a write that carried the deletion succeeds, or
|
|
67
|
+
* when the clear is rolled back.
|
|
68
|
+
*/
|
|
69
|
+
const clearedProviderIds = useRef(new Set());
|
|
70
|
+
const alive = useRef(true);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
alive.current = true;
|
|
73
|
+
return () => {
|
|
74
|
+
alive.current = false;
|
|
75
|
+
};
|
|
76
|
+
}, []);
|
|
77
|
+
/** One monotonic ticket for the load edge: a manual `reload()` can be
|
|
78
|
+
* triggered again before a previous fetch settles, and responses are not
|
|
79
|
+
* guaranteed to land in send order — only the newest ticket may write
|
|
80
|
+
* state (same guard as `useExecutionTab`'s detection ticket). */
|
|
81
|
+
const loadTicket = useRef(0);
|
|
82
|
+
/**
|
|
83
|
+
* Issues ONE whole-map write and reconciles the server's answer.
|
|
84
|
+
*
|
|
85
|
+
* The payload is read from `providersRef` HERE, not passed in by the caller,
|
|
86
|
+
* because this function may run long after the caller asked for it (see
|
|
87
|
+
* `persist`'s serialization). Building it at send time is what makes waiting
|
|
88
|
+
* safe: a queued write always carries the live working set, never the
|
|
89
|
+
* snapshot that was current when it was requested.
|
|
90
|
+
*
|
|
91
|
+
* On success the server's copy is authoritative for everything this request
|
|
92
|
+
* sent — but NOT for a provider the operator touched while it was in flight.
|
|
93
|
+
* That entry was never in `sent`, so taking the server's value for it would
|
|
94
|
+
* eat the edit, and for a clear would put the credential back on screen. Those
|
|
95
|
+
* ids (`mutatedSinceSend`) keep local truth, including local deletion.
|
|
96
|
+
*/
|
|
97
|
+
const flushNow = useCallback(async () => {
|
|
98
|
+
const sent = providersRef.current;
|
|
99
|
+
mutatedSinceSend.current = new Set();
|
|
100
|
+
// Snapshotted with the payload: exactly the tombstones this write is carrying to the daemon.
|
|
101
|
+
// A clear issued while it is in flight is NOT in here and keeps its tombstone, because this
|
|
102
|
+
// request never told the server about it.
|
|
103
|
+
const clearsInFlight = [...clearedProviderIds.current].filter((providerId) => sent[providerId] === undefined);
|
|
104
|
+
try {
|
|
105
|
+
const saved = await portRef.current.saveMediaProviders(sent);
|
|
106
|
+
if (!alive.current)
|
|
107
|
+
return { status: 'abandoned' };
|
|
108
|
+
const touched = mutatedSinceSend.current;
|
|
109
|
+
// The server has now accepted a map without these, so the local absence is no longer a claim
|
|
110
|
+
// waiting to be defended — the daemon agrees. Re-touched ids keep their tombstone: the
|
|
111
|
+
// operator changed their mind mid-flight and this response does not describe that decision.
|
|
112
|
+
for (const providerId of clearsInFlight) {
|
|
113
|
+
if (!touched.has(providerId))
|
|
114
|
+
clearedProviderIds.current.delete(providerId);
|
|
115
|
+
}
|
|
116
|
+
const next = { ...saved };
|
|
117
|
+
for (const providerId of touched) {
|
|
118
|
+
const local = providersRef.current[providerId];
|
|
119
|
+
if (local === undefined)
|
|
120
|
+
delete next[providerId];
|
|
121
|
+
else
|
|
122
|
+
next[providerId] = local;
|
|
123
|
+
}
|
|
124
|
+
applyProviders(next);
|
|
125
|
+
// Everything this write sent is now persisted; only edits made during
|
|
126
|
+
// the flight are still unflushed.
|
|
127
|
+
applyPending(new Set([...pendingRef.current].filter((providerId) => touched.has(providerId))));
|
|
128
|
+
setSave({ status: 'saved' });
|
|
129
|
+
return { status: 'saved' };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
if (!alive.current)
|
|
133
|
+
return { status: 'abandoned' };
|
|
134
|
+
setSave({ status: 'save-error', message: error instanceof Error ? error.message : String(error) });
|
|
135
|
+
return { status: 'failed' };
|
|
136
|
+
}
|
|
137
|
+
}, [applyProviders, applyPending]);
|
|
138
|
+
/** True while a write is at the port. */
|
|
139
|
+
const writing = useRef(false);
|
|
140
|
+
/** The single coalesced follow-up write requested during that one. */
|
|
141
|
+
const queued = useRef(null);
|
|
142
|
+
/**
|
|
143
|
+
* The whole-map contract makes concurrent writes unorderable, so this hook
|
|
144
|
+
* issues at most ONE at a time.
|
|
145
|
+
*
|
|
146
|
+
* `saveMediaProviders` replaces the ENTIRE map and carries no
|
|
147
|
+
* expected-revision (`ports.ts`), so when two writes overlap the daemon keeps
|
|
148
|
+
* whichever it happens to handle LAST — not whichever the operator issued
|
|
149
|
+
* last. A response-side ticket cannot fix that: it only decides which
|
|
150
|
+
* RESPONSE may write UI state, while the losing REQUEST has already rewritten
|
|
151
|
+
* the server. Save-then-Clear could therefore show a cleared credential,
|
|
152
|
+
* report success, and leave the credential intact on the daemon.
|
|
153
|
+
*
|
|
154
|
+
* Serializing removes the precondition instead of guarding the symptom — with
|
|
155
|
+
* one write in flight, request order IS commit order. A second request
|
|
156
|
+
* arriving while one is already queued coalesces into it rather than adding a
|
|
157
|
+
* third round trip, because both would send the same send-time map anyway.
|
|
158
|
+
*/
|
|
159
|
+
const persist = useCallback(() => {
|
|
160
|
+
setSave({ status: 'saving' });
|
|
161
|
+
if (writing.current) {
|
|
162
|
+
if (queued.current === null) {
|
|
163
|
+
let settle;
|
|
164
|
+
const promise = new Promise((resolve) => {
|
|
165
|
+
settle = resolve;
|
|
166
|
+
});
|
|
167
|
+
queued.current = { promise, settle };
|
|
168
|
+
}
|
|
169
|
+
return queued.current.promise;
|
|
170
|
+
}
|
|
171
|
+
writing.current = true;
|
|
172
|
+
return (async () => {
|
|
173
|
+
try {
|
|
174
|
+
let outcome = await flushNow();
|
|
175
|
+
while (queued.current !== null) {
|
|
176
|
+
const waiter = queued.current;
|
|
177
|
+
queued.current = null;
|
|
178
|
+
outcome = await flushNow();
|
|
179
|
+
waiter.settle(outcome);
|
|
180
|
+
}
|
|
181
|
+
return outcome;
|
|
182
|
+
}
|
|
183
|
+
finally {
|
|
184
|
+
writing.current = false;
|
|
185
|
+
}
|
|
186
|
+
})();
|
|
187
|
+
}, [flushNow]);
|
|
188
|
+
const fetchAndReconcile = useCallback((migrateOnFirstUpload) => {
|
|
189
|
+
const ticket = ++loadTicket.current;
|
|
190
|
+
const isCurrent = () => alive.current && loadTicket.current === ticket;
|
|
191
|
+
// Captured for the MIGRATION decision only — `shouldSyncLocalProvidersToDaemon` asks "did the
|
|
192
|
+
// operator already have local data before this fetch answered", which is a question about the
|
|
193
|
+
// pre-fetch state by definition. The MERGE deliberately does not use it: merging a response
|
|
194
|
+
// against a snapshot taken before the request was sent discards every edit made while it was
|
|
195
|
+
// in flight, which is the load-path twin of the whole-map overwrite `persist` serializes to
|
|
196
|
+
// avoid. The merge reads `providersRef.current` at response time instead.
|
|
197
|
+
const localBeforeMerge = providersRef.current;
|
|
198
|
+
setLoad({ status: 'loading' });
|
|
199
|
+
portRef.current.fetchMediaProviders().then((daemonResult) => {
|
|
200
|
+
if (!isCurrent())
|
|
201
|
+
return;
|
|
202
|
+
if (daemonResult == null) {
|
|
203
|
+
// Unreachable is a value, not a failure (see this port's doc) —
|
|
204
|
+
// local state is left exactly as it was, never defaulted to {}.
|
|
205
|
+
setLoad({ status: 'unreachable' });
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const merged = mergeDaemonProviders(providersRef.current, daemonResult, {
|
|
209
|
+
preserveLocalProviderIds: pendingRef.current,
|
|
210
|
+
dropProviderIds: clearedProviderIds.current,
|
|
211
|
+
});
|
|
212
|
+
applyProviders(merged);
|
|
213
|
+
setLoad({ status: 'ok' });
|
|
214
|
+
if (migrateOnFirstUpload && shouldSyncLocalProvidersToDaemon(localBeforeMerge, daemonResult)) {
|
|
215
|
+
void persist();
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}, [persist, applyProviders]);
|
|
219
|
+
useEffect(() => {
|
|
220
|
+
// Mount (or host-supplied port swap): migration is a one-time boot
|
|
221
|
+
// check, matching the origin's App.tsx boot sequence — a manual
|
|
222
|
+
// `reload()` below must not re-trigger it on every click.
|
|
223
|
+
fetchAndReconcile(true);
|
|
224
|
+
}, [port, fetchAndReconcile]);
|
|
225
|
+
const reload = useCallback(() => {
|
|
226
|
+
fetchAndReconcile(false);
|
|
227
|
+
}, [fetchAndReconcile]);
|
|
228
|
+
const updateProvider = useCallback((providerId, patch) => {
|
|
229
|
+
const current = providersRef.current;
|
|
230
|
+
const nextEntry = { ...(current[providerId] ?? {}), ...patch };
|
|
231
|
+
const nextMap = { ...current };
|
|
232
|
+
if (isEntryEmpty(nextEntry)) {
|
|
233
|
+
delete nextMap[providerId];
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
nextMap[providerId] = nextEntry;
|
|
237
|
+
}
|
|
238
|
+
applyProviders(nextMap);
|
|
239
|
+
const currentPending = pendingRef.current;
|
|
240
|
+
if (!currentPending.has(providerId))
|
|
241
|
+
applyPending(new Set(currentPending).add(providerId));
|
|
242
|
+
mutatedSinceSend.current.add(providerId);
|
|
243
|
+
}, [applyProviders, applyPending]);
|
|
244
|
+
const clearProvider = useCallback((providerId) => {
|
|
245
|
+
void (async () => {
|
|
246
|
+
const previousEntry = providersRef.current[providerId];
|
|
247
|
+
const next = { ...providersRef.current };
|
|
248
|
+
delete next[providerId];
|
|
249
|
+
applyProviders(next);
|
|
250
|
+
mutatedSinceSend.current.add(providerId);
|
|
251
|
+
clearedProviderIds.current.add(providerId);
|
|
252
|
+
const outcome = await persist();
|
|
253
|
+
// A FAILED save rolls the optimistic clear back so the operator does
|
|
254
|
+
// not lose a credential the daemon never actually dropped — same
|
|
255
|
+
// rollback shape as `useProjectLocationsTab.removeDraft`.
|
|
256
|
+
//
|
|
257
|
+
// The tombstone goes with it. It exists to defend a clear the daemon has not caught up to
|
|
258
|
+
// yet; once the clear is being abandoned there is nothing left to defend, and a tombstone
|
|
259
|
+
// outliving its clear would suppress the provider on every future reload — a resurrection
|
|
260
|
+
// bug traded for a disappearance bug. Released on `abandoned` too: an unmounted tree has no
|
|
261
|
+
// state to reconcile, and this ref does not survive the remount that would need it.
|
|
262
|
+
if (outcome.status !== 'saved')
|
|
263
|
+
clearedProviderIds.current.delete(providerId);
|
|
264
|
+
if (outcome.status !== 'failed' || !alive.current)
|
|
265
|
+
return;
|
|
266
|
+
if (previousEntry === undefined)
|
|
267
|
+
return;
|
|
268
|
+
// Restore ONLY this provider, into whatever the map is NOW. Restoring
|
|
269
|
+
// the whole pre-clear snapshot (as this used to) would silently discard
|
|
270
|
+
// an edit made to a DIFFERENT provider while the save was in flight —
|
|
271
|
+
// the same whole-map-replacement mistake the port makes, repeated
|
|
272
|
+
// locally. And if the operator has since re-entered this provider by
|
|
273
|
+
// hand, their value wins over the rollback.
|
|
274
|
+
if (providersRef.current[providerId] !== undefined)
|
|
275
|
+
return;
|
|
276
|
+
applyProviders({ ...providersRef.current, [providerId]: previousEntry });
|
|
277
|
+
})();
|
|
278
|
+
}, [persist, applyProviders]);
|
|
279
|
+
const saveChanges = useCallback(() => {
|
|
280
|
+
void persist();
|
|
281
|
+
}, [persist]);
|
|
282
|
+
return {
|
|
283
|
+
providers,
|
|
284
|
+
load,
|
|
285
|
+
save,
|
|
286
|
+
hasAnyConfigured: hasAnyConfiguredProvider(providers),
|
|
287
|
+
pendingProviderIds,
|
|
288
|
+
updateProvider,
|
|
289
|
+
clearProvider,
|
|
290
|
+
saveChanges,
|
|
291
|
+
reload,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=useMediaProvidersTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaProvidersTab.js","sourceRoot":"","sources":["../../../../../src/features/media-providers/react/hooks/useMediaProvidersTab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AAgDxB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAA+B;IAC1F,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAmB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAsB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACnG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9E;8DAC0D;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAEvB;;;;;;;;;;;OAWG;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;QAC5D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAyB,EAAE,EAAE;QAC7D,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAExD;;;;;;;;;;;OAWG;IACH,MAAM,kBAAkB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;sEAGkE;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAc7B;;;;;;;;;;;;;;OAcG;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAA6B,EAAE;QAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;QAClC,gBAAgB,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,6FAA6F;QAC7F,4FAA4F;QAC5F,0CAA0C;QAC1C,MAAM,cAAc,GAAG,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC;QAC9G,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACzC,6FAA6F;YAC7F,uFAAuF;YACvF,4FAA4F;YAC5F,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;oBAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,GAAqB,EAAE,GAAG,KAAK,EAAE,CAAC;YAC5C,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,sEAAsE;YACtE,kCAAkC;YAClC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACnD,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnC,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAM,CAA2G,IAAI,CAAC,CAAC;IAEtI;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAA4B,EAAE;QACxD,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAA0C,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;oBACtD,MAAM,GAAG,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACvC,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;oBAC9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,oBAA6B,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QACpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC;QACvE,8FAA8F;QAC9F,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,4FAA4F;QAC5F,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC;QAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YAC1D,IAAI,CAAC,SAAS,EAAE;gBAAE,OAAO;YACzB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,gEAAgE;gBAChE,gEAAgE;gBAChE,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE;gBACtE,wBAAwB,EAAE,UAAU,CAAC,OAAO;gBAC5C,eAAe,EAAE,kBAAkB,CAAC,OAAO;aAC5C,CAAC,CAAC;YACH,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1B,IAAI,oBAAoB,IAAI,gCAAgC,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC7F,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,EAAE,cAAc,CAAC,CAC1B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,mEAAmE;QACnE,gEAAgE;QAChE,0DAA0D;QAC1D,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,UAAkB,EAAE,KAA6B,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,MAAM,SAAS,GAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QACzF,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,YAAY,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3F,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,UAAkB,EAAE,EAAE;QACrB,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;YAChC,qEAAqE;YACrE,iEAAiE;YACjE,0DAA0D;YAC1D,EAAE;YACF,0FAA0F;YAC1F,0FAA0F;YAC1F,0FAA0F;YAC1F,4FAA4F;YAC5F,oFAAoF;YACpF,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;gBAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO;YAC1D,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO;YACxC,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,4CAA4C;YAC5C,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS;gBAAE,OAAO;YAC3D,cAAc,CAAC,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EACD,CAAC,OAAO,EAAE,cAAc,CAAC,CAC1B,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,KAAK,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACL,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,gBAAgB,EAAE,wBAAwB,CAAC,SAAS,CAAC;QACrD,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC"}
|