dsh-agent-plugins-market 0.7.2 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/README.zh.md +11 -3
- package/client/client.js +61 -44
- package/client/client.js.map +1 -1
- package/lib/application/catalog.js +9 -2
- package/lib/catalog/component-files.js +3 -1
- package/lib/catalog/native-project.js +1 -1
- package/lib/catalog/project-config.js +0 -2
- package/lib/catalog/project-hooks.js +12 -7
- package/lib/catalog/surfaces.js +17 -10
- package/lib/index.js +23 -2
- package/lib/model/command-names.js +14 -0
- package/lib/model/layouts.js +1 -0
- package/lib/runtime/commands-mounts.js +3 -2
- package/lib/runtime/hooks-mounts.js +7 -4
- package/lib/runtime/mcp-backend.js +3 -2
- package/lib/runtime/mcp-direct-config.js +18 -9
- package/lib/runtime/plugin-message-source.js +4 -0
- package/lib/runtime/project-runtime.js +10 -8
- package/lib/runtime/settings-namespace.js +44 -66
- package/lib/runtime/user-commands.js +23 -8
- package/lib/runtime/user-hooks.js +102 -0
- package/lib/runtime/user-panels.js +34 -22
- package/lib/runtime/user-store.js +81 -19
- package/lib/types/catalog/component-files.d.ts +1 -0
- package/lib/types/catalog/project-hooks.d.ts +15 -2
- package/lib/types/catalog/surfaces.d.ts +6 -4
- package/lib/types/contracts/market.d.ts +5 -1
- package/lib/types/index.d.ts +87 -1
- package/lib/types/model/command-names.d.ts +12 -0
- package/lib/types/model/layouts.d.ts +1 -0
- package/lib/types/model/types.d.ts +2 -1
- package/lib/types/runtime/mcp-backend.d.ts +20 -13
- package/lib/types/runtime/mcp-direct-config.d.ts +1 -5
- package/lib/types/runtime/plugin-message-source.d.ts +24 -0
- package/lib/types/runtime/settings-namespace.d.ts +41 -31
- package/lib/types/runtime/user-commands.d.ts +5 -2
- package/lib/types/runtime/user-hooks.d.ts +22 -0
- package/lib/types/runtime/user-panels.d.ts +35 -15
- package/lib/types/runtime/user-store.d.ts +27 -10
- package/package.json +38 -31
- package/schemas/com.deepseek.harness/spec.md +1 -1
package/client/client.js
CHANGED
|
@@ -2,7 +2,7 @@ window.__ModuleLoader__.load({ id: "dsh-agent-plugins-market", factory: (require
|
|
|
2
2
|
|
|
3
3
|
var module = { exports: {} };
|
|
4
4
|
var exports = module.exports;
|
|
5
|
-
(function(){if(typeof document!=="undefined"){var s=document.createElement("style");s.setAttribute("data-dsh-client","dsh-agent-plugins-market");s.textContent=".qUlk6a_overlay {\n z-index: 2147483647;\n box-sizing: border-box;\n background: var(--dsw-alias-bg-mask-3);\n backdrop-filter: blur(3px);\n cursor: progress;\n outline: none;\n place-items: center;\n display: grid;\n position: fixed;\n overflow: hidden;\n}\n\n.qUlk6a_overlay[data-visible=\"false\"] {\n backdrop-filter: none;\n background: none;\n}\n\n.qUlk6a_overlay[data-visible=\"true\"] {\n animation: .14s ease-out qUlk6a_busy-enter;\n}\n\n.qUlk6a_content {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n width: min(360px, 100% - 32px);\n color: var(--dsw-alias-label-primary);\n text-align: center;\n border-radius: 8px;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n padding: 24px;\n display: flex;\n}\n\n.qUlk6a_spinner {\n width: 28px;\n height: 28px;\n animation: .9s linear infinite qUlk6a_busy-spin;\n display: flex;\n}\n\n.qUlk6a_label {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.qUlk6a_hintViewport {\n width: 100%;\n min-height: 54px;\n overflow: hidden;\n}\n\n.qUlk6a_hint {\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 13px;\n line-height: 18px;\n animation: .3s ease-out qUlk6a_busy-hint;\n}\n\n.qUlk6a_warning {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #fef5e7);\n overflow-wrap: anywhere;\n border-radius: 6px;\n margin: 0;\n padding: 6px 8px;\n font-size: 12px;\n line-height: 17px;\n}\n\n@keyframes qUlk6a_busy-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes qUlk6a_busy-enter {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes qUlk6a_busy-hint {\n from {\n opacity: 0;\n transform: translateY(14px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .qUlk6a_overlay, .qUlk6a_hint {\n animation: none;\n }\n\n .qUlk6a_spinner {\n animation-duration: 2.4s;\n }\n}\n._72qoAq_market {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 24px;\n display: flex;\n container-type: inline-size;\n}\n\n._72qoAq_pageMode {\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n}\n\n._72qoAq_marketControls {\n flex-direction: column;\n gap: 8px;\n min-height: 0;\n display: flex;\n}\n\nhtml[data-dsh-agent-plugins-market-page] [data-pane=\"conversation\"], html[data-dsh-agent-plugins-market-page] [class*=\"centerCol\"] {\n position: relative;\n}\n\nhtml[data-dsh-agent-plugins-market-page] [data-pane=\"conversation\"] > :not([data-dsh-agent-plugins-market-page-view]), html[data-dsh-agent-plugins-market-page] [class*=\"centerCol\"] > :not([data-dsh-agent-plugins-market-page-view]) {\n display: none !important;\n}\n\n._72qoAq_pageEntry:focus-visible, ._72qoAq_srcTabMain:focus-visible, ._72qoAq_srcTabEdit:focus-visible, ._72qoAq_srcTabDel:focus-visible, ._72qoAq_detailItemRow:focus-visible, ._72qoAq_detailItemOpen:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: 2px;\n}\n\n._72qoAq_header {\n flex-direction: column;\n flex-shrink: 0;\n gap: 8px;\n display: flex;\n}\n\n._72qoAq_sourceTabsBox {\n min-width: 0;\n position: relative;\n}\n\n._72qoAq_sourceTabsRow {\n grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n._72qoAq_sourceTabsBoxFold {\n clip-path: inset(-6px);\n height: 52px;\n}\n\n._72qoAq_sourceTabsBoxFold:hover, ._72qoAq_sourceTabsBoxFold:has(:focus-visible) {\n clip-path: none;\n z-index: 20;\n}\n\n._72qoAq_sourceTabsBoxFold ._72qoAq_sourceTabsRow {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 10px;\n max-height: 58px;\n padding: 6px 6px 0;\n transition: max-height .16s, box-shadow .16s, padding-bottom .16s;\n position: absolute;\n inset: -6px -6px auto;\n overflow: hidden;\n -webkit-mask-image: linear-gradient(#000 78%, #0000 100%);\n mask-image: linear-gradient(#000 78%, #0000 100%);\n}\n\n._72qoAq_sourceTabsBoxFold:hover ._72qoAq_sourceTabsRow, ._72qoAq_sourceTabsBoxFold:has(:focus-visible) ._72qoAq_sourceTabsRow {\n z-index: 30;\n max-height: 420px;\n box-shadow: 0 0 0 1px var(--dsw-alias-border-l3, #d9dde3),\n 0 12px 28px #10182829;\n padding-bottom: 6px;\n -webkit-mask-image: none;\n mask-image: none;\n}\n\n._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:hover, ._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:has(:focus-visible) {\n clip-path: inset(-6px);\n}\n\n._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:hover ._72qoAq_sourceTabsRow, ._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:has(:focus-visible) ._72qoAq_sourceTabsRow {\n max-height: 58px;\n box-shadow: none;\n padding-bottom: 0;\n -webkit-mask-image: linear-gradient(#000 78%, #0000 100%);\n mask-image: linear-gradient(#000 78%, #0000 100%);\n}\n\n._72qoAq_unmanagedRow {\n color: var(--dsw-alias-label-secondary, #57606a);\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n font-size: 12px;\n display: flex;\n}\n\n._72qoAq_unmanagedLabel {\n flex-shrink: 0;\n}\n\n._72qoAq_unmanagedChip {\n border: 1px dashed var(--dsw-alias-border-l3, #d9dde3);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 999px;\n align-items: center;\n gap: 2px;\n max-width: 220px;\n height: 22px;\n padding: 0 4px 0 8px;\n display: inline-flex;\n}\n\n._72qoAq_unmanagedChipName {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n overflow: hidden;\n}\n\n._72qoAq_unmanagedAdopt {\n font: inherit;\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n padding: 0 4px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_unmanagedAdopt:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_srcTabEdit {\n font: inherit;\n color: var(--dsw-alias-label-tertiary, #9ca3af);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n margin-left: 4px;\n padding: 0 2px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_srcTabEdit:hover {\n color: var(--dsw-alias-label-primary, #1f2328);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabEdit, ._72qoAq_srcTabOn ._72qoAq_srcTabEdit:hover {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n}\n\n._72qoAq_srcTab, ._72qoAq_srcTabOn {\n border: 1px solid var(--dsw-alias-border-l3, #d9dde3);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 999px;\n justify-content: center;\n align-items: center;\n width: auto;\n max-width: 100%;\n height: 24px;\n padding: 0 10px;\n display: inline-flex;\n overflow: hidden;\n}\n\n._72qoAq_srcTabMain {\n font: inherit;\n color: var(--dsw-alias-label-primary, #1f2328);\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n background: none;\n border: none;\n flex: 1;\n min-width: 0;\n padding: 0;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n._72qoAq_srcTabMain:hover {\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n}\n\n._72qoAq_srcTabOn {\n background: var(--dsw-alias-brand-primary, #0f1115);\n border-color: var(--dsw-alias-brand-primary, #0f1115);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabMain {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n font-weight: 600;\n}\n\n._72qoAq_srcTabDel {\n font: inherit;\n color: var(--dsw-alias-label-tertiary, #9ca3af);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n margin-left: 4px;\n padding: 0 2px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_srcTabDel:hover {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabDel, ._72qoAq_srcTabOn ._72qoAq_srcTabDel:hover {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n}\n\n._72qoAq_grid {\n scrollbar-gutter: stable;\n flex: 1;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-content: start;\n gap: 12px;\n min-width: 0;\n min-height: 0;\n padding-right: 4px;\n display: grid;\n overflow-y: auto;\n}\n\n._72qoAq_list {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 8px;\n min-width: 0;\n min-height: 0;\n padding-right: 4px;\n display: flex;\n overflow-y: auto;\n}\n\n._72qoAq_list ._72qoAq_card {\n flex-flow: wrap;\n align-items: center;\n gap: 8px 14px;\n}\n\n._72qoAq_list ._72qoAq_cardTop, ._72qoAq_list ._72qoAq_cardActions {\n flex: none;\n}\n\n._72qoAq_list ._72qoAq_meta, ._72qoAq_list ._72qoAq_tagRow {\n flex-basis: 100%;\n}\n\n._72qoAq_empty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-align: center;\n grid-column: 1 / -1;\n padding: 48px 0;\n font-size: 13px;\n}\n\n._72qoAq_tag {\n border: 1px solid var(--dsw-alias-border-l3, #d9dde3);\n color: var(--dsw-alias-label-secondary, #6b7280);\n border-radius: 4px;\n flex-shrink: 0;\n padding: 1px 6px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_warnLine {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n cursor: help;\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._72qoAq_modalFooter {\n justify-content: flex-end;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n._72qoAq_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n._72qoAq_modalFooterLeft {\n gap: 8px;\n margin-right: auto;\n display: flex;\n}\n\n._72qoAq_editorDialog {\n width: min(640px, 92vw);\n}\n\n._72qoAq_installConfirmBody {\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n display: flex;\n}\n\n._72qoAq_installConfirmSuite {\n color: var(--dsw-alias-label-primary, #111827);\n font-weight: 600;\n}\n\n._72qoAq_installConfirmMeta {\n color: var(--dsw-alias-label-secondary, #4b5563);\n font-size: 12px;\n}\n\n._72qoAq_installConfirmCommit {\n color: var(--dsw-alias-label-secondary, #4b5563);\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 12px;\n}\n\n._72qoAq_installConfirmTags {\n flex-wrap: wrap;\n gap: 6px;\n display: flex;\n}\n\n._72qoAq_installConfirmWarn {\n color: var(--dsw-alias-state-warn-label, #dd8629);\n border: 1px solid var(--dsw-alias-state-warn-label, #dd8629);\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 12px;\n}\n\n._72qoAq_progress, ._72qoAq_progressError {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-layer-2, #7f7f7f0f);\n color: var(--dsw-alias-label-primary, #1f2328);\n border-radius: 8px;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n font-size: 13px;\n line-height: 20px;\n display: flex;\n}\n\n._72qoAq_progressError {\n border-color: var(--dsw-alias-state-error-primary, #ec1313);\n color: var(--dsw-alias-state-error-primary, #ec1313);\n}\n\n._72qoAq_progressSpin {\n border: 2px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-top-color: var(--dsw-alias-brand-primary, #4f6ef7);\n border-radius: 50%;\n flex-shrink: 0;\n width: 14px;\n height: 14px;\n animation: .8s linear infinite _72qoAq_dshApmSpin;\n}\n\n@keyframes _72qoAq_dshApmSpin {\n to {\n transform: rotate(360deg);\n }\n}\n\n._72qoAq_progressFail {\n flex-shrink: 0;\n font-size: 13px;\n}\n\n._72qoAq_progressText {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n@media (width <= 720px) {\n ._72qoAq_pageView {\n padding: 14px;\n }\n\n ._72qoAq_sourceTabsRow {\n grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));\n }\n\n ._72qoAq_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n ._72qoAq_list ._72qoAq_cardTop, ._72qoAq_list ._72qoAq_cardActions {\n max-width: 100%;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._72qoAq_progressSpin, ._72qoAq_switchOn, ._72qoAq_switchOff, ._72qoAq_switchThumb {\n transition: none;\n animation: none;\n }\n}\n\n._72qoAq_surfaceToggles {\n flex-wrap: wrap;\n align-items: center;\n gap: 4px 14px;\n display: flex;\n}\n\n._72qoAq_surfaceToggle {\n color: var(--dsw-alias-label-secondary, #61666b);\n cursor: pointer;\n user-select: none;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n display: inline-flex;\n}\n\n._72qoAq_surfaceToggle input[type=\"checkbox\"] {\n accent-color: var(--dsw-alias-brand-primary-new-colorprimary-new-color, #4176e6);\n margin: 0;\n}\n\n._72qoAq_pluginCard {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-layer-3, #fff);\n border-radius: 12px;\n list-style: none;\n transition: border-color .16s, background .16s;\n container: _72qoAq_market-config / inline-size;\n}\n\n._72qoAq_pluginCard:hover {\n border-color: var(--dsw-alias-label-dimmed, #c8ccd4);\n}\n\n._72qoAq_pluginCardOpen {\n background: var(--dsw-alias-bg-layer-2, #f7f8fa);\n border-color: var(--dsw-alias-label-dimmed, #c8ccd4);\n}\n\n._72qoAq_pluginCard[data-busy=\"true\"] {\n opacity: .6;\n pointer-events: none;\n}\n\n._72qoAq_pluginCardHeader {\n appearance: none;\n width: 100%;\n font: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 12px;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n display: flex;\n}\n\n._72qoAq_pluginCardHeader:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: -2px;\n}\n\n._72qoAq_pluginCardBody {\n border-top: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n flex-direction: column;\n gap: 8px;\n margin: 0 16px;\n padding: 4px 0 8px;\n display: flex;\n}\n\n._72qoAq_pluginCardRow {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 8px 0 4px;\n display: flex;\n}\n\n._72qoAq_pluginCardText {\n flex-direction: column;\n flex: 1;\n gap: 4px;\n min-width: 0;\n display: flex;\n}\n\n._72qoAq_pluginCardTitle {\n color: var(--dsw-alias-label-primary, #1f2328);\n font-size: 15px;\n font-weight: 600;\n line-height: 1.4;\n}\n\n._72qoAq_pluginCardDesc {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 13px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginCardRowLabel {\n font-size: 13px;\n font-weight: 500;\n line-height: 20px;\n}\n\n@container _72qoAq_market-config (width <= 320px) {\n ._72qoAq_pluginCardRow {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n ._72qoAq_pluginCardText {\n overflow-wrap: anywhere;\n width: 100%;\n }\n\n ._72qoAq_regionSeg {\n flex-wrap: wrap;\n max-width: 100%;\n }\n}\n\n._72qoAq_pluginCardError {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginFieldHead {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n._72qoAq_pluginFieldBadges {\n align-items: center;\n gap: 6px;\n display: inline-flex;\n}\n\n._72qoAq_pluginFieldReset {\n appearance: none;\n font: inherit;\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n text-underline-offset: 2px;\n background: none;\n border: 0;\n padding: 0;\n font-size: 12px;\n line-height: 18px;\n text-decoration: underline;\n}\n\n._72qoAq_pluginFieldReset:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_pluginCardReadonly {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 4px 0 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginCardFooter {\n border-top: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n padding-top: 8px;\n display: flex;\n}\n\n._72qoAq_pluginCardFooter ._72qoAq_pluginCardError {\n margin-right: auto;\n}\n\n._72qoAq_pluginCardDiscard, ._72qoAq_pluginCardSave {\n appearance: none;\n font: inherit;\n cursor: pointer;\n border-radius: 8px;\n padding: 4px 12px;\n font-size: 13px;\n line-height: 20px;\n}\n\n._72qoAq_pluginCardDiscard {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n color: var(--dsw-alias-label-primary, #1f2328);\n background: none;\n}\n\n._72qoAq_pluginCardDiscard:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover, #0000000a);\n}\n\n._72qoAq_pluginCardSave {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n border: 1px solid #0000;\n}\n\n._72qoAq_pluginCardSave:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n\n._72qoAq_pluginCardDiscard:disabled, ._72qoAq_pluginCardSave:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_pluginChevron {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n flex: none;\n transition: transform .16s;\n display: inline-flex;\n}\n\n._72qoAq_pluginChevronOpen {\n transform: rotate(180deg);\n}\n\n._72qoAq_regionSeg {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 8px;\n flex: none;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n}\n\n._72qoAq_regionSegBtn {\n appearance: none;\n font: inherit;\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_regionSegOn {\n appearance: none;\n font: inherit;\n cursor: pointer;\n background: var(--dsw-alias-bg-layer-2, #eef0f4);\n color: var(--dsw-alias-label-primary, #1f2328);\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._72qoAq_regionSegEffective {\n appearance: none;\n font: inherit;\n cursor: pointer;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: none;\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_regionSegBtn:disabled, ._72qoAq_regionSegOn:disabled {\n cursor: default;\n opacity: .5;\n}\n._5JDFMW_field {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_field > label, ._5JDFMW_field > span, ._5JDFMW_field > ._5JDFMW_rowHead > span {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n font-weight: 600;\n}\n\n._5JDFMW_field input, ._5JDFMW_field select, ._5JDFMW_field textarea {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n width: 100%;\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n border-radius: 8px;\n padding: 7px 9px;\n font-size: 12px;\n}\n\n._5JDFMW_field textarea {\n resize: vertical;\n min-height: 240px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 19px;\n}\n\n._5JDFMW_jsonArea {\n min-height: 220px;\n}\n\n._5JDFMW_fieldRow {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_fieldRow > input {\n flex: auto;\n}\n\n._5JDFMW_field input:focus-visible, ._5JDFMW_field select:focus-visible, ._5JDFMW_field textarea:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 1px;\n}\n\n._5JDFMW_hint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n font-weight: 400;\n line-height: 16px;\n}\n\n._5JDFMW_required {\n color: var(--dsw-alias-state-error-primary);\n margin-left: 4px;\n font-weight: 400;\n}\n\n._5JDFMW_emptyRows {\n border: 1px dashed var(--dsw-alias-border-l3);\n width: 100%;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 11px;\n line-height: 16px;\n}\n\n._5JDFMW_emptyRows:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._5JDFMW_form {\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_editorBody {\n max-width: 620px;\n}\n\n._5JDFMW_formGrid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-items: start;\n gap: 10px;\n display: grid;\n}\n\n._5JDFMW_full {\n grid-column: 1 / -1;\n}\n\n._5JDFMW_seg {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 8px;\n flex: none;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n}\n\n._5JDFMW_seg button {\n height: 24px;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: inherit;\n background: none;\n border: none;\n border-radius: 6px;\n padding: 0 10px;\n font-size: 12px;\n}\n\n._5JDFMW_seg button:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._5JDFMW_seg button[aria-pressed=\"true\"] {\n background: var(--dsw-alias-interactive-bg-active);\n color: var(--dsw-alias-label-primary);\n font-weight: 600;\n}\n\n._5JDFMW_seg button:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 2px;\n}\n\n._5JDFMW_readonly {\n border: 1px dashed var(--dsw-alias-border-l3);\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n border-radius: 8px;\n padding: 7px 9px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12px;\n}\n\n._5JDFMW_rows {\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_row {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_row input {\n flex: auto;\n width: 0;\n min-width: 0;\n}\n\n._5JDFMW_rowKey {\n flex: 0 0 34%;\n}\n\n._5JDFMW_rowKeyNarrow {\n flex: 0 0 26%;\n}\n\n._5JDFMW_rowActions {\n flex: none;\n align-items: center;\n gap: 2px;\n display: flex;\n}\n\n._5JDFMW_iconBtn {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n._5JDFMW_iconBtn:hover {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._5JDFMW_rowHead {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n display: flex;\n}\n\n._5JDFMW_addIcon {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-brand-primary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n._5JDFMW_addIcon:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._5JDFMW_addIcon:disabled {\n cursor: default;\n opacity: .4;\n}\n\n._5JDFMW_addIcon svg {\n display: block;\n}\n\n._5JDFMW_inlineCheck {\n color: var(--dsw-alias-label-primary);\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n._5JDFMW_fieldset {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 8px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n min-width: 0;\n margin: 0;\n padding: 2px 12px 12px;\n display: grid;\n}\n\n._5JDFMW_fieldset legend {\n color: var(--dsw-alias-label-secondary);\n padding: 0 4px;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._5JDFMW_fieldset > ._5JDFMW_hint, ._5JDFMW_fieldset > ._5JDFMW_full {\n grid-column: 1 / -1;\n}\n\n._5JDFMW_previewBox {\n border: 1px solid var(--dsw-alias-border-l2);\n box-sizing: border-box;\n border-radius: 8px;\n min-height: 300px;\n padding: 12px 14px;\n overflow-y: auto;\n}\n\n._5JDFMW_footer {\n flex: 1;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n._5JDFMW_footerHint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n._5JDFMW_grow {\n flex: auto;\n}\n\n._5JDFMW_footerError {\n color: var(--dsw-alias-state-error-primary);\n font-size: 12px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._5JDFMW_seg button, ._5JDFMW_addIcon, ._5JDFMW_iconBtn {\n transition: none;\n }\n}\n\n@container (width <= 700px) {\n ._5JDFMW_formGrid, ._5JDFMW_fieldset {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.IgyjIq_card[data-resource-state] {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n min-width: 0;\n max-width: 100%;\n color: var(--dsw-alias-label-primary);\n box-shadow: none;\n cursor: pointer;\n border-left-width: 3px;\n border-radius: 10px;\n gap: 4px 10px;\n padding: 11px 12px 11px 13px;\n transition: border-color .14s, background .14s;\n display: grid;\n position: relative;\n overflow: hidden;\n}\n\n.IgyjIq_card[data-resource-state=\"active\"] {\n border-left-color: var(--dsw-alias-state-success-primary);\n}\n\n.IgyjIq_card[data-resource-state=\"disabled\"] {\n border-left-color: var(--dsw-alias-label-tertiary);\n}\n\n.IgyjIq_card[data-resource-state=\"warning\"] {\n border-left-color: var(--dsw-alias-state-warn-primary);\n}\n\n.IgyjIq_card[data-resource-state=\"error\"] {\n border-left-color: var(--dsw-alias-state-error-primary);\n}\n\n.IgyjIq_card[data-resource-state]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover .IgyjIq_rowActions, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_rowActions {\n z-index: 1;\n}\n\n.IgyjIq_collection[data-resource-view] {\n box-sizing: border-box;\n scrollbar-gutter: stable;\n align-content: start;\n align-items: stretch;\n width: 100%;\n min-width: 0;\n min-height: 0;\n overflow-y: auto;\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n grid-auto-rows: 122px;\n gap: 10px;\n padding-right: 4px;\n display: grid;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] {\n flex-direction: column;\n gap: 6px;\n padding-right: 4px;\n display: flex;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card {\n flex-shrink: 0;\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] {\n grid-template: \"IgyjIq_id IgyjIq_act\"\n \"IgyjIq_body IgyjIq_body\" minmax(0, 1fr)\n \"IgyjIq_foot IgyjIq_foot\"\n / minmax(0, 1fr) auto;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card[data-resource-state] {\n box-sizing: border-box;\n grid-template-columns: minmax(160px, .85fr) minmax(210px, 1.05fr) minmax(0, 1.5fr) auto;\n grid-template-areas: \"IgyjIq_id IgyjIq_foot IgyjIq_body IgyjIq_act\";\n align-items: center;\n gap: 16px;\n height: 56px;\n}\n\n@container (width <= 700px) {\n .IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n grid-auto-rows: max-content;\n gap: 4px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] {\n grid-template: \"IgyjIq_id\"\n \"IgyjIq_body\"\n \"IgyjIq_foot\"\n / minmax(0, 1fr);\n align-content: start;\n gap: 4px;\n padding: 10px 10px 10px 13px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowId, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowBody {\n overflow: hidden;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowActions {\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: 0 0 6px 8px var(--dsw-alias-bg-layer-1);\n opacity: 0;\n border-radius: 16px;\n gap: 4px;\n margin-left: 0;\n padding: 4px 6px;\n transition: opacity .14s;\n position: absolute;\n top: 8px;\n bottom: auto;\n right: 8px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover .IgyjIq_rowActions, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_rowActions {\n opacity: 1;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within {\n background: var(--dsw-alias-bg-layer-1);\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-surface=\"mcp\"] .IgyjIq_provenanceChip, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-surface=\"lsp\"] .IgyjIq_provenanceChip {\n display: none;\n }\n\n .IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card[data-resource-state] {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: \"IgyjIq_id IgyjIq_act\"\n \"IgyjIq_foot IgyjIq_act\"\n \"IgyjIq_body IgyjIq_act\";\n height: auto;\n padding-block: 10px;\n }\n}\n\n@container (width <= 420px) {\n .IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.IgyjIq_rowId {\n grid-area: IgyjIq_id;\n align-items: center;\n gap: 7px;\n min-width: 0;\n min-height: 24px;\n display: flex;\n}\n\n.IgyjIq_rowBody {\n grid-area: IgyjIq_body;\n min-width: 0;\n overflow: hidden;\n}\n\n.IgyjIq_rowFoot {\n grid-area: IgyjIq_foot;\n align-items: center;\n gap: 7px;\n min-width: 0;\n min-height: 16px;\n display: flex;\n overflow: hidden;\n}\n\n.IgyjIq_rowActions {\n border-radius: 8px;\n flex: none;\n grid-area: IgyjIq_act;\n justify-content: flex-end;\n align-items: center;\n gap: 2px;\n margin-left: auto;\n display: flex;\n position: relative;\n}\n\n.IgyjIq_name {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n font-size: 13px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.IgyjIq_nameMono {\n letter-spacing: -.01em;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\n\n.IgyjIq_version {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_desc {\n max-height: 34px;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 12px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.IgyjIq_monoLine {\n max-height: 34px;\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n margin: 0;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 11.5px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.IgyjIq_provenance, .IgyjIq_path {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 auto;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n}\n\n.IgyjIq_count {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_countValue {\n color: var(--dsw-alias-label-secondary);\n font-variant-numeric: tabular-nums;\n font-weight: 600;\n}\n\n.IgyjIq_separator {\n color: var(--dsw-alias-label-dimmed);\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_iconBtn {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-brand-primary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n.IgyjIq_iconBtn:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n.IgyjIq_iconBtn:disabled {\n cursor: default;\n opacity: .4;\n}\n\n.IgyjIq_iconBtnDanger:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.IgyjIq_iconBtn:focus-visible, .IgyjIq_rowActions :focus-visible, .IgyjIq_card[data-resource-state]:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 2px;\n}\n\n.IgyjIq_revealOnHover {\n opacity: 0;\n transition: opacity .14s;\n}\n\n.IgyjIq_card[data-resource-state]:hover .IgyjIq_revealOnHover, .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_revealOnHover {\n opacity: 1;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_desc, .IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_monoLine {\n max-height: 18px;\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11.5px;\n display: block;\n overflow: hidden;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_revealOnHover {\n opacity: 1;\n}\n\n.IgyjIq_switchWrap, .IgyjIq_warnWrap {\n flex: none;\n align-items: center;\n display: inline-flex;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IgyjIq_card[data-resource-state], .IgyjIq_revealOnHover, .IgyjIq_rowActions {\n transition: none;\n }\n}\n.sBXwgW_dialog[role=\"dialog\"] {\n box-sizing: border-box;\n max-width: calc(100vw - 48px);\n max-height: calc(100dvh - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeSm {\n width: min(460px, 100vw - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeMd {\n width: min(640px, 100vw - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeLg {\n width: min(880px, 100vw - 48px);\n}\n\n.sBXwgW_body {\n overflow-wrap: anywhere;\n min-width: 0;\n min-height: 0;\n max-height: calc(100dvh - 200px);\n overflow-y: auto;\n}\n\n.sBXwgW_footer {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n.sBXwgW_footer > :first-child {\n flex: 1;\n}\n\n.sBXwgW_footerSlot:empty {\n display: none;\n}\n\n.sBXwgW_frontmatter {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n border-radius: 8px;\n margin: 0 0 10px;\n padding: 8px 10px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 11.5px;\n line-height: 18px;\n}\n\n.sBXwgW_preview {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n font-size: 14px;\n line-height: 1.6;\n}\n\n.sBXwgW_preview pre, .sBXwgW_preview table {\n max-width: 100%;\n overflow: auto;\n}\n\n.sBXwgW_preview img {\n max-width: 100%;\n height: auto;\n}\n\n.sBXwgW_error {\n color: var(--dsw-alias-state-error-primary);\n margin: 8px 0;\n font-size: 13px;\n}\n\n.sBXwgW_pair {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 16px;\n display: grid;\n}\n\n.sBXwgW_row {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.sBXwgW_row input {\n flex: 1;\n width: 0;\n}\n\n.sBXwgW_row button {\n flex: none;\n}\n\n@media (width <= 640px) {\n .sBXwgW_dialog[role=\"dialog\"] {\n width: calc(100vw - 16px);\n max-width: calc(100vw - 16px);\n max-height: calc(100dvh - 16px);\n }\n\n .sBXwgW_form {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n._9Lujra_rows {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n flex-direction: column;\n min-width: 0;\n display: flex;\n overflow: hidden;\n}\n\n._9Lujra_group {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n._9Lujra_group + ._9Lujra_group ._9Lujra_row {\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n\n._9Lujra_row {\n box-sizing: border-box;\n width: 100%;\n color: inherit;\n text-align: left;\n font: inherit;\n background: none;\n border: none;\n grid-template-columns: minmax(110px, max-content) minmax(0, 1fr) 14px;\n align-items: center;\n gap: 12px;\n padding: 9px 12px;\n display: grid;\n}\n\nbutton._9Lujra_row {\n cursor: pointer;\n}\n\n._9Lujra_row:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._9Lujra_row[aria-expanded=\"true\"] {\n background: var(--dsw-alias-state-business-tertiary);\n}\n\n._9Lujra_row:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: -2px;\n}\n\n._9Lujra_name {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 600;\n overflow: hidden;\n}\n\n._9Lujra_summary {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11.5px;\n overflow: hidden;\n}\n\n._9Lujra_chevron {\n color: var(--dsw-alias-label-tertiary);\n justify-self: end;\n display: inline-flex;\n}\n\n._9Lujra_chevron svg {\n display: block;\n}\n\n._9Lujra_body {\n border-top: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-interactive-bg-hover);\n padding: 12px 14px;\n}\n.HJ9x7a_shell {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 16px;\n display: flex;\n container-type: inline-size;\n}\n\n.HJ9x7a_header {\n flex-direction: row;\n flex: none;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n min-height: 46px;\n display: flex;\n}\n\n.HJ9x7a_headerText {\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n}\n\n.HJ9x7a_subtitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.HJ9x7a_headerActions {\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.HJ9x7a_body {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 12px;\n min-height: 0;\n display: flex;\n overflow-y: auto;\n}\n\n.HJ9x7a_busyLine {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_busyLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n overflow: hidden;\n}\n\n.HJ9x7a_spinner {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex: none;\n font-size: 13px;\n display: inline-flex;\n}\n\n.HJ9x7a_spinning {\n animation: .9s linear infinite HJ9x7a_panel-spin;\n}\n\n@keyframes HJ9x7a_panel-spin {\n from {\n transform: rotate(0);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .HJ9x7a_spinning {\n animation-duration: 2.4s;\n }\n}\n\n.HJ9x7a_editorDialog {\n gap: 12px;\n max-width: 720px;\n}\n\n.HJ9x7a_editorDialog [class*=\"content\"] > [class*=\"body\"] {\n margin-top: 0;\n}\n\n.HJ9x7a_editorBody {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.HJ9x7a_editorFooter {\n flex-direction: row;\n flex: 1;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.HJ9x7a_editorError {\n color: var(--dsw-alias-state-error-primary, #c81e1e);\n margin-right: auto;\n font-size: 12px;\n}\n\n.HJ9x7a_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_empty {\n color: var(--dsw-alias-label-tertiary, #6b7280);\n text-align: center;\n padding: 24px 12px;\n font-size: 12px;\n}\n\n@container (width <= 540px) {\n .HJ9x7a_entryGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .HJ9x7a_entryRow {\n flex-wrap: wrap;\n }\n\n .HJ9x7a_entryActions {\n margin-left: auto;\n }\n\n .HJ9x7a_entryMain {\n flex-basis: 100%;\n }\n}\n\n.HJ9x7a_hero {\n background: var(--dsw-alias-interactive-bg-hover);\n border-radius: 10px;\n align-items: center;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.HJ9x7a_heroText {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_heroLine {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.HJ9x7a_heroMono {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font: 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.HJ9x7a_block {\n margin-top: 18px;\n}\n\n.HJ9x7a_blockHead {\n color: var(--dsw-alias-label-secondary);\n letter-spacing: .04em;\n text-transform: uppercase;\n margin: 0 0 8px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.HJ9x7a_kvGrid {\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: 10px 16px;\n margin: 0;\n display: grid;\n}\n\n.HJ9x7a_kvKey {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n}\n\n.HJ9x7a_kvValue {\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 3px 0 0;\n font-size: 12.5px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.HJ9x7a_monoBlock {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-secondary);\n border-radius: 10px;\n margin: 0;\n padding: 12px 14px;\n font: 11.5px / 18px ui-monospace, Menlo, Consolas, monospace;\n overflow-x: auto;\n}\n\n.HJ9x7a_detailProse {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 21px;\n}\n\n.HJ9x7a_kvValueMono {\n font-family: ui-monospace, Menlo, Consolas, monospace;\n}\n.vavGuW_toolbar {\n flex: none;\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.vavGuW_search {\n flex: auto;\n align-items: center;\n min-width: 0;\n display: flex;\n}\n\n.vavGuW_searchInput {\n flex: auto;\n min-width: 0;\n}\n\n.vavGuW_searchInput input {\n font-size: 12px;\n line-height: 20px;\n}\n\n.vavGuW_segment {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n flex: none;\n align-items: center;\n gap: 2px;\n padding: 3px;\n display: flex;\n}\n\n.vavGuW_count {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n.vavGuW_segment svg {\n stroke: currentColor;\n stroke-width: 1.5px;\n stroke-linecap: round;\n stroke-linejoin: round;\n display: block;\n}\n\n@container (width <= 480px) {\n .vavGuW_toolbar {\n flex-wrap: wrap;\n justify-content: flex-end;\n }\n\n .vavGuW_search {\n flex-basis: 100%;\n }\n}\n._5BoKRG_editor {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n box-sizing: border-box;\n border-radius: 8px;\n flex-direction: column;\n display: flex;\n overflow: hidden;\n}\n\n._5BoKRG_editor .cm-editor {\n flex: 1;\n min-height: 0;\n}\n\n._5BoKRG_editor .cm-scroller {\n overflow: auto;\n}\n.G2mDja_form {\n background: var(--dsw-alias-bg-layer-2, #f7f8fa);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 10px;\n flex-direction: column;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.G2mDja_head {\n color: var(--dsw-alias-label-secondary, #667085);\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n}\n\n.G2mDja_error {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n background: var(--dsw-alias-interactive-bg-hover-danger, #ec13130d);\n overflow-wrap: anywhere;\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.G2mDja_row {\n border-top: 1px solid var(--dsw-alias-border-l1, #eef1f5);\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n padding-top: 8px;\n display: flex;\n}\n\n.G2mDja_rowHead {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.G2mDja_grow {\n flex: auto;\n}\n\n.G2mDja_where {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n overflow-wrap: anywhere;\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_ref {\n color: var(--dsw-alias-label-primary, #1f2328);\n font: 600 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.G2mDja_controls {\n flex-direction: column;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.G2mDja_facts {\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.G2mDja_factOk, .G2mDja_factMiss {\n border-radius: 999px;\n padding: 1px 8px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_factOk {\n color: var(--dsw-alias-state-success-primary, #16a34a);\n background: var(--dsw-alias-state-success-tertiary, #e6faed);\n}\n\n.G2mDja_factMiss {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #fef5e7);\n}\n\n.G2mDja_note {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_editor {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n.G2mDja_input {\n box-sizing: border-box;\n width: 100%;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 8px;\n padding: 7px 10px;\n font-size: 12px;\n}\n\n.G2mDja_input:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: 1px;\n}\n\n.G2mDja_actions {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n.HJ9x7a_shell {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 16px;\n display: flex;\n container-type: inline-size;\n}\n\n.HJ9x7a_header {\n flex-direction: row;\n flex: none;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n min-height: 46px;\n display: flex;\n}\n\n.HJ9x7a_headerText {\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n}\n\n.HJ9x7a_subtitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.HJ9x7a_headerActions {\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.HJ9x7a_body {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 12px;\n min-height: 0;\n display: flex;\n overflow-y: auto;\n}\n\n.HJ9x7a_busyLine {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_busyLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n overflow: hidden;\n}\n\n.HJ9x7a_spinner {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex: none;\n font-size: 13px;\n display: inline-flex;\n}\n\n.HJ9x7a_spinning {\n animation: .9s linear infinite HJ9x7a_panel-spin;\n}\n\n@keyframes HJ9x7a_panel-spin {\n from {\n transform: rotate(0);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .HJ9x7a_spinning {\n animation-duration: 2.4s;\n }\n}\n\n.HJ9x7a_editorDialog {\n gap: 12px;\n max-width: 720px;\n}\n\n.HJ9x7a_editorDialog [class*=\"content\"] > [class*=\"body\"] {\n margin-top: 0;\n}\n\n.HJ9x7a_editorBody {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.HJ9x7a_editorFooter {\n flex-direction: row;\n flex: 1;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.HJ9x7a_editorError {\n color: var(--dsw-alias-state-error-primary, #c81e1e);\n margin-right: auto;\n font-size: 12px;\n}\n\n.HJ9x7a_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_empty {\n color: var(--dsw-alias-label-tertiary, #6b7280);\n text-align: center;\n padding: 24px 12px;\n font-size: 12px;\n}\n\n@container (width <= 540px) {\n .HJ9x7a_entryGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .HJ9x7a_entryRow {\n flex-wrap: wrap;\n }\n\n .HJ9x7a_entryActions {\n margin-left: auto;\n }\n\n .HJ9x7a_entryMain {\n flex-basis: 100%;\n }\n}\n\n.HJ9x7a_hero {\n background: var(--dsw-alias-interactive-bg-hover);\n border-radius: 10px;\n align-items: center;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.HJ9x7a_heroText {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_heroLine {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.HJ9x7a_heroMono {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font: 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.HJ9x7a_block {\n margin-top: 18px;\n}\n\n.HJ9x7a_blockHead {\n color: var(--dsw-alias-label-secondary);\n letter-spacing: .04em;\n text-transform: uppercase;\n margin: 0 0 8px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.HJ9x7a_kvGrid {\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: 10px 16px;\n margin: 0;\n display: grid;\n}\n\n.HJ9x7a_kvKey {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n}\n\n.HJ9x7a_kvValue {\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 3px 0 0;\n font-size: 12.5px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.HJ9x7a_monoBlock {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-secondary);\n border-radius: 10px;\n margin: 0;\n padding: 12px 14px;\n font: 11.5px / 18px ui-monospace, Menlo, Consolas, monospace;\n overflow-x: auto;\n}\n\n.HJ9x7a_detailProse {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 21px;\n}\n\n.HJ9x7a_kvValueMono {\n font-family: ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_surface {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.AUWlZW_toolbar {\n flex: none;\n}\n\n@media (width <= 760px) {\n .AUWlZW_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.AUWlZW_reasonLabel {\n opacity: .85;\n flex: none;\n font-weight: 600;\n}\n\n.AUWlZW_empty, .AUWlZW_detailEmpty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-align: center;\n padding: 24px;\n font-size: 12px;\n}\n\n.AUWlZW_error {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n align-items: center;\n gap: 8px;\n margin: 16px 0;\n font-size: 12px;\n display: flex;\n}\n\n.AUWlZW_detailBody {\n max-height: 72vh;\n overflow-y: auto;\n}\n\n.AUWlZW_modalFooter {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n.AUWlZW_modalFooterHint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.AUWlZW_modalFooterGrow {\n flex: auto;\n}\n\n.AUWlZW_detail {\n flex-direction: column;\n gap: 16px;\n display: flex;\n}\n\n.AUWlZW_reasonBox {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n background: var(--dsw-alias-interactive-bg-hover-danger, #ec13130d);\n border-radius: 8px;\n flex-direction: column;\n gap: 4px;\n padding: 10px 12px;\n display: flex;\n}\n\n.AUWlZW_reasonText {\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.AUWlZW_reasonActions {\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 4px;\n display: flex;\n}\n\n.AUWlZW_reasonHint {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 2px 0 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_blockHeadRow {\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.AUWlZW_blockSub {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0 0 6px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_starter, .AUWlZW_starterList {\n flex-wrap: wrap;\n gap: 8px;\n display: flex;\n}\n\n.AUWlZW_starterPaste {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n.AUWlZW_pasteArea {\n box-sizing: border-box;\n width: 100%;\n min-height: 120px;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n resize: vertical;\n border-radius: 8px;\n padding: 7px 9px;\n font: 12px / 19px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_pasteNote {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_pasteCheck {\n color: var(--dsw-alias-label-secondary, #4e5969);\n align-items: center;\n gap: 8px;\n font-size: 11px;\n line-height: 16px;\n display: inline-flex;\n}\n\n.AUWlZW_pasteOutcome {\n flex-direction: column;\n gap: 2px;\n display: flex;\n}\n\n.AUWlZW_pasteOutcome p {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_toolSearch {\n flex: 0 220px;\n min-width: 0;\n display: block;\n}\n\n.AUWlZW_toolList {\n flex-direction: column;\n display: flex;\n}\n\n.AUWlZW_tool {\n border-bottom: 1px solid var(--dsw-alias-border-l1, #eef1f5);\n grid-template-columns: minmax(140px, max-content) minmax(0, 1fr) max-content;\n align-items: center;\n gap: 12px;\n padding: 7px 0 7px 2px;\n display: grid;\n}\n\n.AUWlZW_tool:last-child {\n border-bottom: none;\n}\n\n.AUWlZW_toolIdentity {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.AUWlZW_toolName {\n color: var(--dsw-alias-label-primary, #1f2328);\n text-overflow: ellipsis;\n white-space: nowrap;\n font: 11px / 16px ui-monospace, Menlo, Consolas, monospace;\n overflow: hidden;\n}\n\n.AUWlZW_toolDescription, .AUWlZW_toolNote {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 10px;\n overflow: hidden;\n}\n\n.AUWlZW_toolNameButton {\n cursor: pointer;\n text-align: left;\n background: none;\n border: none;\n padding: 0;\n}\n\n.AUWlZW_toolNameButton:hover {\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n}\n\n.AUWlZW_toolParams {\n grid-column: 1 / -1;\n padding: 8px 0 2px 11px;\n}\n\n.AUWlZW_toolParamsGrid {\n grid-template-columns: minmax(120px, max-content) minmax(60px, max-content) max-content minmax(0, 1fr);\n align-items: baseline;\n gap: 6px 12px;\n display: grid;\n}\n\n.AUWlZW_toolParam {\n display: contents;\n}\n\n.AUWlZW_toolParamName {\n color: var(--dsw-alias-label-primary, #1f2328);\n font: 11px / 16px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_toolParamType {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font: 10px / 16px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_toolParamRequired {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolParamDesc {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolParamsEmpty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolMore {\n color: var(--dsw-alias-label-secondary, #667085);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n align-self: flex-start;\n margin-top: 8px;\n padding: 4px 8px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.AUWlZW_toolMore:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n@media (width <= 760px) {\n .AUWlZW_toolbar {\n padding-left: 0;\n padding-right: 0;\n }\n\n .AUWlZW_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .AUWlZW_list .AUWlZW_cardTop {\n max-width: 100%;\n }\n\n .AUWlZW_tool {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .AUWlZW_toolDescription {\n display: none;\n }\n}\n\n.AUWlZW_retryEchoSuccess {\n color: var(--dsw-alias-state-success-primary, #16a34a);\n white-space: nowrap;\n font-size: 12px;\n line-height: 18px;\n}\n\n@keyframes AUWlZW_lspStartingPulse {\n 50% {\n opacity: .35;\n }\n}\n\n.AUWlZW_reasonRaw {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n word-break: break-all;\n margin: 6px 0 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 11px;\n line-height: 1.5;\n}\n\n.AUWlZW_seamBanner {\n border-left: 3px solid var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #b4530914);\n border-radius: 8px;\n flex-direction: column;\n gap: 8px;\n margin: 0 0 12px;\n padding: 12px 14px;\n display: flex;\n}\n\n.AUWlZW_seamTitle {\n color: var(--dsw-alias-label-primary, #1f2329);\n font-size: 13px;\n font-weight: 600;\n}\n\n.AUWlZW_seamBody {\n color: var(--dsw-alias-label-secondary, #4e5969);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.AUWlZW_seamPathLabel {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 11px;\n}\n\n.AUWlZW_seamPath {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_seamOther {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_seamDone {\n color: var(--dsw-alias-state-success-primary, #15803d);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n.l0H8fW_workspace {\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 12px;\n display: flex;\n}\n\n.l0H8fW_pageMode {\n box-sizing: border-box;\n padding: 4px 0;\n}\n\n.l0H8fW_tabRow {\n border-bottom: 1px solid var(--dsw-alias-border-l2, #0000001a);\n scrollbar-width: none;\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 4px;\n display: flex;\n overflow-x: auto;\n}\n\n.l0H8fW_tab, .l0H8fW_tabOn {\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n font: inherit;\n white-space: nowrap;\n background: none;\n border: none;\n border-radius: 8px 8px 0 0;\n flex: none;\n padding: 7px 14px;\n font-size: 13px;\n line-height: 20px;\n position: relative;\n}\n\n.l0H8fW_tab:hover {\n background: var(--dsw-alias-interactive-bg-hover, #2631480f);\n color: var(--dsw-alias-label-primary, #1f2328);\n}\n\n.l0H8fW_tabOn {\n color: var(--dsw-alias-label-primary, #1f2328);\n font-weight: 600;\n}\n\n.l0H8fW_tabOn:after {\n background: var(--dsw-alias-brand-primary);\n content: \"\";\n border-radius: 2px;\n height: 2px;\n position: absolute;\n bottom: 0;\n left: 10px;\n right: 10px;\n}\n\n.l0H8fW_tabPanel {\n flex-direction: column;\n flex: 1;\n min-height: 0;\n display: flex;\n}\n";document.head.appendChild(s);}})();
|
|
5
|
+
(function(){if(typeof document!=="undefined"){var s=document.createElement("style");s.setAttribute("data-dsh-client","dsh-agent-plugins-market");s.textContent=".qUlk6a_overlay {\n z-index: 2147483647;\n box-sizing: border-box;\n background: var(--dsw-alias-bg-mask-3);\n backdrop-filter: blur(3px);\n cursor: progress;\n outline: none;\n place-items: center;\n display: grid;\n position: fixed;\n overflow: hidden;\n}\n\n.qUlk6a_overlay[data-visible=\"false\"] {\n backdrop-filter: none;\n background: none;\n}\n\n.qUlk6a_overlay[data-visible=\"true\"] {\n animation: .14s ease-out qUlk6a_busy-enter;\n}\n\n.qUlk6a_content {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n width: min(360px, 100% - 32px);\n color: var(--dsw-alias-label-primary);\n text-align: center;\n border-radius: 8px;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n padding: 24px;\n display: flex;\n}\n\n.qUlk6a_spinner {\n width: 28px;\n height: 28px;\n animation: .9s linear infinite qUlk6a_busy-spin;\n display: flex;\n}\n\n.qUlk6a_label {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.qUlk6a_hintViewport {\n width: 100%;\n min-height: 54px;\n overflow: hidden;\n}\n\n.qUlk6a_hint {\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 13px;\n line-height: 18px;\n animation: .3s ease-out qUlk6a_busy-hint;\n}\n\n.qUlk6a_warning {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #fef5e7);\n overflow-wrap: anywhere;\n border-radius: 6px;\n margin: 0;\n padding: 6px 8px;\n font-size: 12px;\n line-height: 17px;\n}\n\n@keyframes qUlk6a_busy-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes qUlk6a_busy-enter {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes qUlk6a_busy-hint {\n from {\n opacity: 0;\n transform: translateY(14px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .qUlk6a_overlay, .qUlk6a_hint {\n animation: none;\n }\n\n .qUlk6a_spinner {\n animation-duration: 2.4s;\n }\n}\n._72qoAq_market {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 24px;\n display: flex;\n container-type: inline-size;\n}\n\n._72qoAq_pageMode {\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n}\n\n._72qoAq_marketControls {\n flex-direction: column;\n gap: 8px;\n min-height: 0;\n display: flex;\n}\n\nhtml[data-dsh-agent-plugins-market-page] [data-pane=\"conversation\"], html[data-dsh-agent-plugins-market-page] [class*=\"centerCol\"] {\n position: relative;\n}\n\nhtml[data-dsh-agent-plugins-market-page] [data-pane=\"conversation\"] > :not([data-dsh-agent-plugins-market-page-view]), html[data-dsh-agent-plugins-market-page] [class*=\"centerCol\"] > :not([data-dsh-agent-plugins-market-page-view]) {\n display: none !important;\n}\n\n._72qoAq_pageEntry:focus-visible, ._72qoAq_srcTabMain:focus-visible, ._72qoAq_srcTabEdit:focus-visible, ._72qoAq_srcTabDel:focus-visible, ._72qoAq_detailItemRow:focus-visible, ._72qoAq_detailItemOpen:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: 2px;\n}\n\n._72qoAq_header {\n flex-direction: column;\n flex-shrink: 0;\n gap: 8px;\n display: flex;\n}\n\n._72qoAq_sourceTabsBox {\n min-width: 0;\n position: relative;\n}\n\n._72qoAq_sourceTabsRow {\n grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));\n gap: 4px;\n min-width: 0;\n display: grid;\n}\n\n._72qoAq_sourceTabsBoxFold {\n clip-path: inset(-6px);\n height: 52px;\n}\n\n._72qoAq_sourceTabsBoxFold:hover, ._72qoAq_sourceTabsBoxFold:has(:focus-visible) {\n clip-path: none;\n z-index: 20;\n}\n\n._72qoAq_sourceTabsBoxFold ._72qoAq_sourceTabsRow {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 10px;\n max-height: 58px;\n padding: 6px 6px 0;\n transition: max-height .16s, box-shadow .16s, padding-bottom .16s;\n position: absolute;\n inset: -6px -6px auto;\n overflow: hidden;\n -webkit-mask-image: linear-gradient(#000 78%, #0000 100%);\n mask-image: linear-gradient(#000 78%, #0000 100%);\n}\n\n._72qoAq_sourceTabsBoxFold:hover ._72qoAq_sourceTabsRow, ._72qoAq_sourceTabsBoxFold:has(:focus-visible) ._72qoAq_sourceTabsRow {\n z-index: 30;\n max-height: 420px;\n box-shadow: 0 0 0 1px var(--dsw-alias-border-l3, #d9dde3),\n 0 12px 28px #10182829;\n padding-bottom: 6px;\n -webkit-mask-image: none;\n mask-image: none;\n}\n\n._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:hover, ._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:has(:focus-visible) {\n clip-path: inset(-6px);\n}\n\n._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:hover ._72qoAq_sourceTabsRow, ._72qoAq_sourceTabsBoxFold._72qoAq_sourceTabsBoxPicked:has(:focus-visible) ._72qoAq_sourceTabsRow {\n max-height: 58px;\n box-shadow: none;\n padding-bottom: 0;\n -webkit-mask-image: linear-gradient(#000 78%, #0000 100%);\n mask-image: linear-gradient(#000 78%, #0000 100%);\n}\n\n._72qoAq_unmanagedRow {\n color: var(--dsw-alias-label-secondary, #57606a);\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n font-size: 12px;\n display: flex;\n}\n\n._72qoAq_unmanagedLabel {\n flex-shrink: 0;\n}\n\n._72qoAq_unmanagedChip {\n border: 1px dashed var(--dsw-alias-border-l3, #d9dde3);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 999px;\n align-items: center;\n gap: 2px;\n max-width: 220px;\n height: 22px;\n padding: 0 4px 0 8px;\n display: inline-flex;\n}\n\n._72qoAq_unmanagedChipName {\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 12px;\n overflow: hidden;\n}\n\n._72qoAq_unmanagedAdopt {\n font: inherit;\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n padding: 0 4px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_unmanagedAdopt:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_srcTabEdit {\n font: inherit;\n color: var(--dsw-alias-label-tertiary, #9ca3af);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n margin-left: 4px;\n padding: 0 2px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_srcTabEdit:hover {\n color: var(--dsw-alias-label-primary, #1f2328);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabEdit, ._72qoAq_srcTabOn ._72qoAq_srcTabEdit:hover {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n}\n\n._72qoAq_srcTab, ._72qoAq_srcTabOn {\n border: 1px solid var(--dsw-alias-border-l3, #d9dde3);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border-radius: 999px;\n justify-content: center;\n align-items: center;\n width: auto;\n max-width: 100%;\n height: 24px;\n padding: 0 10px;\n display: inline-flex;\n overflow: hidden;\n}\n\n._72qoAq_srcTabMain {\n font: inherit;\n color: var(--dsw-alias-label-primary, #1f2328);\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n background: none;\n border: none;\n flex: 1;\n min-width: 0;\n padding: 0;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n}\n\n._72qoAq_srcTabMain:hover {\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n}\n\n._72qoAq_srcTabOn {\n background: var(--dsw-alias-brand-primary, #0f1115);\n border-color: var(--dsw-alias-brand-primary, #0f1115);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabMain {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n font-weight: 600;\n}\n\n._72qoAq_srcTabDel {\n font: inherit;\n color: var(--dsw-alias-label-tertiary, #9ca3af);\n cursor: pointer;\n background: none;\n border: none;\n flex-shrink: 0;\n margin-left: 4px;\n padding: 0 2px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_srcTabDel:hover {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n}\n\n._72qoAq_srcTabOn ._72qoAq_srcTabDel, ._72qoAq_srcTabOn ._72qoAq_srcTabDel:hover {\n color: var(--dsw-alias-label-primary-foreground, #fff);\n}\n\n._72qoAq_grid {\n scrollbar-gutter: stable;\n flex: 1;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-content: start;\n gap: 12px;\n min-width: 0;\n min-height: 0;\n padding-right: 4px;\n display: grid;\n overflow-y: auto;\n}\n\n._72qoAq_list {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 8px;\n min-width: 0;\n min-height: 0;\n padding-right: 4px;\n display: flex;\n overflow-y: auto;\n}\n\n._72qoAq_list ._72qoAq_card {\n flex-flow: wrap;\n align-items: center;\n gap: 8px 14px;\n}\n\n._72qoAq_list ._72qoAq_cardTop, ._72qoAq_list ._72qoAq_cardActions {\n flex: none;\n}\n\n._72qoAq_list ._72qoAq_meta, ._72qoAq_list ._72qoAq_tagRow {\n flex-basis: 100%;\n}\n\n._72qoAq_empty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-align: center;\n grid-column: 1 / -1;\n padding: 48px 0;\n font-size: 13px;\n}\n\n._72qoAq_tag {\n border: 1px solid var(--dsw-alias-border-l3, #d9dde3);\n color: var(--dsw-alias-label-secondary, #6b7280);\n border-radius: 4px;\n flex-shrink: 0;\n padding: 1px 6px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_warnLine {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n cursor: help;\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._72qoAq_modalFooter {\n justify-content: flex-end;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n._72qoAq_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n._72qoAq_modalFooterLeft {\n gap: 8px;\n margin-right: auto;\n display: flex;\n}\n\n._72qoAq_editorDialog {\n width: min(640px, 92vw);\n}\n\n._72qoAq_installConfirmBody {\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n display: flex;\n}\n\n._72qoAq_installConfirmSuite {\n color: var(--dsw-alias-label-primary, #111827);\n font-weight: 600;\n}\n\n._72qoAq_installConfirmMeta {\n color: var(--dsw-alias-label-secondary, #4b5563);\n font-size: 12px;\n}\n\n._72qoAq_installConfirmCommit {\n color: var(--dsw-alias-label-secondary, #4b5563);\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 12px;\n}\n\n._72qoAq_installConfirmTags {\n flex-wrap: wrap;\n gap: 6px;\n display: flex;\n}\n\n._72qoAq_installConfirmWarn {\n color: var(--dsw-alias-state-warn-label, #dd8629);\n border: 1px solid var(--dsw-alias-state-warn-label, #dd8629);\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 12px;\n}\n\n._72qoAq_progress, ._72qoAq_progressError {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-layer-2, #7f7f7f0f);\n color: var(--dsw-alias-label-primary, #1f2328);\n border-radius: 8px;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n font-size: 13px;\n line-height: 20px;\n display: flex;\n}\n\n._72qoAq_progressError {\n border-color: var(--dsw-alias-state-error-primary, #ec1313);\n color: var(--dsw-alias-state-error-primary, #ec1313);\n}\n\n._72qoAq_progressSpin {\n border: 2px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-top-color: var(--dsw-alias-brand-primary, #4f6ef7);\n border-radius: 50%;\n flex-shrink: 0;\n width: 14px;\n height: 14px;\n animation: .8s linear infinite _72qoAq_dshApmSpin;\n}\n\n@keyframes _72qoAq_dshApmSpin {\n to {\n transform: rotate(360deg);\n }\n}\n\n._72qoAq_progressFail {\n flex-shrink: 0;\n font-size: 13px;\n}\n\n._72qoAq_progressText {\n overflow-wrap: anywhere;\n min-width: 0;\n}\n\n@media (width <= 720px) {\n ._72qoAq_pageView {\n padding: 14px;\n }\n\n ._72qoAq_sourceTabsRow {\n grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));\n }\n\n ._72qoAq_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n ._72qoAq_list ._72qoAq_cardTop, ._72qoAq_list ._72qoAq_cardActions {\n max-width: 100%;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._72qoAq_progressSpin, ._72qoAq_switchOn, ._72qoAq_switchOff, ._72qoAq_switchThumb {\n transition: none;\n animation: none;\n }\n}\n\n._72qoAq_surfaceToggles {\n flex-wrap: wrap;\n align-items: center;\n gap: 4px 14px;\n display: flex;\n}\n\n._72qoAq_surfaceToggle {\n color: var(--dsw-alias-label-secondary, #61666b);\n cursor: pointer;\n user-select: none;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n display: inline-flex;\n}\n\n._72qoAq_surfaceToggle input[type=\"checkbox\"] {\n accent-color: var(--dsw-alias-brand-primary-new-colorprimary-new-color, #4176e6);\n margin: 0;\n}\n\n._72qoAq_pluginCard {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n background: var(--dsw-alias-bg-layer-3, #fff);\n border-radius: 12px;\n list-style: none;\n transition: border-color .16s, background .16s;\n container: _72qoAq_market-config / inline-size;\n}\n\n._72qoAq_pluginCard:hover {\n border-color: var(--dsw-alias-label-dimmed, #c8ccd4);\n}\n\n._72qoAq_pluginCardOpen {\n background: var(--dsw-alias-bg-layer-2, #f7f8fa);\n border-color: var(--dsw-alias-label-dimmed, #c8ccd4);\n}\n\n._72qoAq_pluginCard[data-busy=\"true\"] {\n opacity: .6;\n pointer-events: none;\n}\n\n._72qoAq_pluginCardHeader {\n appearance: none;\n width: 100%;\n font: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 12px;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n display: flex;\n}\n\n._72qoAq_pluginCardHeader:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: -2px;\n}\n\n._72qoAq_pluginCardBody {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n._72qoAq_pluginCardRow {\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 8px 0 4px;\n display: flex;\n}\n\n._72qoAq_pluginCardText {\n flex-direction: column;\n flex: 1;\n gap: 4px;\n min-width: 0;\n display: flex;\n}\n\n._72qoAq_pluginCardTitle {\n color: var(--dsw-alias-label-primary, #1f2328);\n font-size: 15px;\n font-weight: 600;\n line-height: 1.4;\n}\n\n._72qoAq_pluginCardDesc {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 13px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginCardRowLabel {\n font-size: 13px;\n font-weight: 500;\n line-height: 20px;\n}\n\n@container _72qoAq_market-config (width <= 320px) {\n ._72qoAq_pluginCardRow {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n ._72qoAq_pluginCardText {\n overflow-wrap: anywhere;\n width: 100%;\n }\n\n ._72qoAq_regionSeg {\n flex-wrap: wrap;\n max-width: 100%;\n }\n}\n\n._72qoAq_pluginCardError {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginFieldHead {\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n._72qoAq_pluginFieldBadges {\n align-items: center;\n gap: 6px;\n display: inline-flex;\n}\n\n._72qoAq_pluginFieldReset {\n appearance: none;\n font: inherit;\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n text-underline-offset: 2px;\n background: none;\n border: 0;\n padding: 0;\n font-size: 12px;\n line-height: 18px;\n text-decoration: underline;\n}\n\n._72qoAq_pluginFieldReset:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_pluginCardReadonly {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 4px 0 0;\n font-size: 12px;\n line-height: 1.5;\n}\n\n._72qoAq_pluginCardFooter {\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n display: flex;\n}\n\n._72qoAq_pluginCardFooter ._72qoAq_pluginCardError {\n flex: 1;\n}\n\n._72qoAq_pluginCardDiscard, ._72qoAq_pluginCardSave {\n appearance: none;\n font: inherit;\n cursor: pointer;\n border-radius: 8px;\n padding: 4px 12px;\n font-size: 13px;\n line-height: 20px;\n}\n\n._72qoAq_pluginCardDiscard {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n color: var(--dsw-alias-label-primary, #1f2328);\n background: none;\n}\n\n._72qoAq_pluginCardDiscard:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover, #0000000a);\n}\n\n._72qoAq_pluginCardSave {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n border: 1px solid #0000;\n}\n\n._72qoAq_pluginCardSave:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n\n._72qoAq_pluginCardDiscard:disabled, ._72qoAq_pluginCardSave:disabled {\n cursor: default;\n opacity: .5;\n}\n\n._72qoAq_pluginChevron {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n flex: none;\n transition: transform .16s;\n display: inline-flex;\n}\n\n._72qoAq_pluginChevronOpen {\n transform: rotate(180deg);\n}\n\n._72qoAq_regionSeg {\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 8px;\n flex: none;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n}\n\n._72qoAq_regionSegBtn {\n appearance: none;\n font: inherit;\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_regionSegOn {\n appearance: none;\n font: inherit;\n cursor: pointer;\n background: var(--dsw-alias-bg-layer-2, #eef0f4);\n color: var(--dsw-alias-label-primary, #1f2328);\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._72qoAq_regionSegEffective {\n appearance: none;\n font: inherit;\n cursor: pointer;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: none;\n border: none;\n border-radius: 6px;\n padding: 3px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n._72qoAq_regionSegBtn:disabled, ._72qoAq_regionSegOn:disabled {\n cursor: default;\n opacity: .5;\n}\n._5JDFMW_field {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_field > label, ._5JDFMW_field > span, ._5JDFMW_field > ._5JDFMW_rowHead > span {\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n font-weight: 600;\n}\n\n._5JDFMW_field input, ._5JDFMW_field select, ._5JDFMW_field textarea {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n width: 100%;\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n border-radius: 8px;\n padding: 7px 9px;\n font-size: 12px;\n}\n\n._5JDFMW_field textarea {\n resize: vertical;\n min-height: 240px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 19px;\n}\n\n._5JDFMW_jsonArea {\n min-height: 220px;\n}\n\n._5JDFMW_fieldRow {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_fieldRow > input {\n flex: auto;\n}\n\n._5JDFMW_field input:focus-visible, ._5JDFMW_field select:focus-visible, ._5JDFMW_field textarea:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 1px;\n}\n\n._5JDFMW_hint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n font-weight: 400;\n line-height: 16px;\n}\n\n._5JDFMW_required {\n color: var(--dsw-alias-state-error-primary);\n margin-left: 4px;\n font-weight: 400;\n}\n\n._5JDFMW_emptyRows {\n border: 1px dashed var(--dsw-alias-border-l3);\n width: 100%;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n background: none;\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 11px;\n line-height: 16px;\n}\n\n._5JDFMW_emptyRows:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._5JDFMW_form {\n flex-direction: column;\n gap: 10px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_editorBody {\n max-width: 620px;\n}\n\n._5JDFMW_formGrid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n align-items: start;\n gap: 10px;\n display: grid;\n}\n\n._5JDFMW_full {\n grid-column: 1 / -1;\n}\n\n._5JDFMW_seg {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 8px;\n flex: none;\n gap: 2px;\n padding: 2px;\n display: inline-flex;\n}\n\n._5JDFMW_seg button {\n height: 24px;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: inherit;\n background: none;\n border: none;\n border-radius: 6px;\n padding: 0 10px;\n font-size: 12px;\n}\n\n._5JDFMW_seg button:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._5JDFMW_seg button[aria-pressed=\"true\"] {\n background: var(--dsw-alias-interactive-bg-active);\n color: var(--dsw-alias-label-primary);\n font-weight: 600;\n}\n\n._5JDFMW_seg button:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 2px;\n}\n\n._5JDFMW_readonly {\n border: 1px dashed var(--dsw-alias-border-l3);\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n border-radius: 8px;\n padding: 7px 9px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 12px;\n}\n\n._5JDFMW_rows {\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_row {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n._5JDFMW_row input {\n flex: auto;\n width: 0;\n min-width: 0;\n}\n\n._5JDFMW_rowKey {\n flex: 0 0 34%;\n}\n\n._5JDFMW_rowKeyNarrow {\n flex: 0 0 26%;\n}\n\n._5JDFMW_rowActions {\n flex: none;\n align-items: center;\n gap: 2px;\n display: flex;\n}\n\n._5JDFMW_iconBtn {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n._5JDFMW_iconBtn:hover {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._5JDFMW_rowHead {\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n display: flex;\n}\n\n._5JDFMW_addIcon {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-brand-primary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n._5JDFMW_addIcon:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._5JDFMW_addIcon:disabled {\n cursor: default;\n opacity: .4;\n}\n\n._5JDFMW_addIcon svg {\n display: block;\n}\n\n._5JDFMW_inlineCheck {\n color: var(--dsw-alias-label-primary);\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: inline-flex;\n}\n\n._5JDFMW_fieldset {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 8px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n min-width: 0;\n margin: 0;\n padding: 2px 12px 12px;\n display: grid;\n}\n\n._5JDFMW_fieldset legend {\n color: var(--dsw-alias-label-secondary);\n padding: 0 4px;\n font-size: 12px;\n font-weight: 600;\n line-height: 18px;\n}\n\n._5JDFMW_fieldset > ._5JDFMW_hint, ._5JDFMW_fieldset > ._5JDFMW_full {\n grid-column: 1 / -1;\n}\n\n._5JDFMW_previewBox {\n border: 1px solid var(--dsw-alias-border-l2);\n box-sizing: border-box;\n border-radius: 8px;\n min-height: 300px;\n padding: 12px 14px;\n overflow-y: auto;\n}\n\n._5JDFMW_footer {\n flex: 1;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n._5JDFMW_footerHint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n._5JDFMW_grow {\n flex: auto;\n}\n\n._5JDFMW_footerError {\n color: var(--dsw-alias-state-error-primary);\n font-size: 12px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._5JDFMW_seg button, ._5JDFMW_addIcon, ._5JDFMW_iconBtn {\n transition: none;\n }\n}\n\n@container (width <= 700px) {\n ._5JDFMW_formGrid, ._5JDFMW_fieldset {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.IgyjIq_card[data-resource-state] {\n box-sizing: border-box;\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n min-width: 0;\n max-width: 100%;\n color: var(--dsw-alias-label-primary);\n box-shadow: none;\n cursor: pointer;\n border-left-width: 3px;\n border-radius: 10px;\n gap: 4px 10px;\n padding: 11px 12px 11px 13px;\n transition: border-color .14s, background .14s;\n display: grid;\n position: relative;\n overflow: hidden;\n}\n\n.IgyjIq_card[data-resource-state=\"active\"] {\n border-left-color: var(--dsw-alias-state-success-primary);\n}\n\n.IgyjIq_card[data-resource-state=\"disabled\"] {\n border-left-color: var(--dsw-alias-label-tertiary);\n}\n\n.IgyjIq_card[data-resource-state=\"warning\"] {\n border-left-color: var(--dsw-alias-state-warn-primary);\n}\n\n.IgyjIq_card[data-resource-state=\"error\"] {\n border-left-color: var(--dsw-alias-state-error-primary);\n}\n\n.IgyjIq_card[data-resource-state]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover .IgyjIq_rowActions, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_rowActions {\n z-index: 1;\n}\n\n.IgyjIq_collection[data-resource-view] {\n box-sizing: border-box;\n scrollbar-gutter: stable;\n align-content: start;\n align-items: stretch;\n width: 100%;\n min-width: 0;\n min-height: 0;\n overflow-y: auto;\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n grid-auto-rows: 122px;\n gap: 10px;\n padding-right: 4px;\n display: grid;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] {\n flex-direction: column;\n gap: 6px;\n padding-right: 4px;\n display: flex;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card {\n flex-shrink: 0;\n}\n\n.IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] {\n grid-template: \"IgyjIq_id IgyjIq_act\"\n \"IgyjIq_body IgyjIq_body\" minmax(0, 1fr)\n \"IgyjIq_foot IgyjIq_foot\"\n / minmax(0, 1fr) auto;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card[data-resource-state] {\n box-sizing: border-box;\n grid-template-columns: minmax(160px, .85fr) minmax(210px, 1.05fr) minmax(0, 1.5fr) auto;\n grid-template-areas: \"IgyjIq_id IgyjIq_foot IgyjIq_body IgyjIq_act\";\n align-items: center;\n gap: 16px;\n height: 56px;\n}\n\n@container (width <= 700px) {\n .IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n grid-auto-rows: max-content;\n gap: 4px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] {\n grid-template: \"IgyjIq_id\"\n \"IgyjIq_body\"\n \"IgyjIq_foot\"\n / minmax(0, 1fr);\n align-content: start;\n gap: 4px;\n padding: 10px 10px 10px 13px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowId, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowBody {\n overflow: hidden;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state] .IgyjIq_rowActions {\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: 0 0 6px 8px var(--dsw-alias-bg-layer-1);\n opacity: 0;\n border-radius: 16px;\n gap: 4px;\n margin-left: 0;\n padding: 4px 6px;\n transition: opacity .14s;\n position: absolute;\n top: 8px;\n bottom: auto;\n right: 8px;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover .IgyjIq_rowActions, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_rowActions {\n opacity: 1;\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:hover, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-state]:focus-within {\n background: var(--dsw-alias-bg-layer-1);\n }\n\n .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-surface=\"mcp\"] .IgyjIq_provenanceChip, .IgyjIq_collection[data-resource-view=\"grid\"] > .IgyjIq_card[data-resource-surface=\"lsp\"] .IgyjIq_provenanceChip {\n display: none;\n }\n\n .IgyjIq_collection[data-resource-view=\"list\"] > .IgyjIq_card[data-resource-state] {\n grid-template-columns: minmax(0, 1fr) auto;\n grid-template-areas: \"IgyjIq_id IgyjIq_act\"\n \"IgyjIq_foot IgyjIq_act\"\n \"IgyjIq_body IgyjIq_act\";\n height: auto;\n padding-block: 10px;\n }\n}\n\n@container (width <= 420px) {\n .IgyjIq_collection[data-resource-view=\"grid\"] {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.IgyjIq_rowId {\n grid-area: IgyjIq_id;\n align-items: center;\n gap: 7px;\n min-width: 0;\n min-height: 24px;\n display: flex;\n}\n\n.IgyjIq_rowBody {\n grid-area: IgyjIq_body;\n min-width: 0;\n overflow: hidden;\n}\n\n.IgyjIq_rowFoot {\n grid-area: IgyjIq_foot;\n align-items: center;\n gap: 7px;\n min-width: 0;\n min-height: 16px;\n display: flex;\n overflow: hidden;\n}\n\n.IgyjIq_rowActions {\n border-radius: 8px;\n flex: none;\n grid-area: IgyjIq_act;\n justify-content: flex-end;\n align-items: center;\n gap: 2px;\n margin-left: auto;\n display: flex;\n position: relative;\n}\n\n.IgyjIq_name {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n font-size: 13px;\n font-weight: 600;\n line-height: 20px;\n}\n\n.IgyjIq_nameMono {\n letter-spacing: -.01em;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\n\n.IgyjIq_version {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_desc {\n max-height: 34px;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 12px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.IgyjIq_monoLine {\n max-height: 34px;\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n margin: 0;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 11.5px;\n line-height: 17px;\n overflow: hidden;\n}\n\n.IgyjIq_provenance, .IgyjIq_path {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 auto;\n font-family: ui-monospace, Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n}\n\n.IgyjIq_count {\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_countValue {\n color: var(--dsw-alias-label-secondary);\n font-variant-numeric: tabular-nums;\n font-weight: 600;\n}\n\n.IgyjIq_separator {\n color: var(--dsw-alias-label-dimmed);\n flex: none;\n font-size: 11px;\n}\n\n.IgyjIq_iconBtn {\n width: 24px;\n height: 24px;\n color: var(--dsw-alias-brand-primary);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n justify-content: center;\n align-items: center;\n padding: 0;\n display: inline-flex;\n}\n\n.IgyjIq_iconBtn:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n.IgyjIq_iconBtn:disabled {\n cursor: default;\n opacity: .4;\n}\n\n.IgyjIq_iconBtnDanger:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.IgyjIq_iconBtn:focus-visible, .IgyjIq_rowActions :focus-visible, .IgyjIq_card[data-resource-state]:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: 2px;\n}\n\n.IgyjIq_revealOnHover {\n opacity: 0;\n transition: opacity .14s;\n}\n\n.IgyjIq_card[data-resource-state]:hover .IgyjIq_revealOnHover, .IgyjIq_card[data-resource-state]:focus-within .IgyjIq_revealOnHover {\n opacity: 1;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_desc, .IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_monoLine {\n max-height: 18px;\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11.5px;\n display: block;\n overflow: hidden;\n}\n\n.IgyjIq_collection[data-resource-view=\"list\"] .IgyjIq_revealOnHover {\n opacity: 1;\n}\n\n.IgyjIq_switchWrap, .IgyjIq_warnWrap {\n flex: none;\n align-items: center;\n display: inline-flex;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IgyjIq_card[data-resource-state], .IgyjIq_revealOnHover, .IgyjIq_rowActions {\n transition: none;\n }\n}\n.sBXwgW_dialog[role=\"dialog\"] {\n box-sizing: border-box;\n max-width: calc(100vw - 48px);\n max-height: calc(100dvh - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeSm {\n width: min(460px, 100vw - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeMd {\n width: min(640px, 100vw - 48px);\n}\n\n.sBXwgW_dialog[role=\"dialog\"].sBXwgW_sizeLg {\n width: min(880px, 100vw - 48px);\n}\n\n.sBXwgW_body {\n overflow-wrap: anywhere;\n min-width: 0;\n min-height: 0;\n max-height: calc(100dvh - 200px);\n overflow-y: auto;\n}\n\n.sBXwgW_footer {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n.sBXwgW_footer > :first-child {\n flex: 1;\n}\n\n.sBXwgW_footerSlot:empty {\n display: none;\n}\n\n.sBXwgW_frontmatter {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n border-radius: 8px;\n margin: 0 0 10px;\n padding: 8px 10px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 11.5px;\n line-height: 18px;\n}\n\n.sBXwgW_preview {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n font-size: 14px;\n line-height: 1.6;\n}\n\n.sBXwgW_preview pre, .sBXwgW_preview table {\n max-width: 100%;\n overflow: auto;\n}\n\n.sBXwgW_preview img {\n max-width: 100%;\n height: auto;\n}\n\n.sBXwgW_error {\n color: var(--dsw-alias-state-error-primary);\n margin: 8px 0;\n font-size: 13px;\n}\n\n.sBXwgW_pair {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 16px;\n display: grid;\n}\n\n.sBXwgW_row {\n align-items: center;\n gap: 6px;\n min-width: 0;\n display: flex;\n}\n\n.sBXwgW_row input {\n flex: 1;\n width: 0;\n}\n\n.sBXwgW_row button {\n flex: none;\n}\n\n@media (width <= 640px) {\n .sBXwgW_dialog[role=\"dialog\"] {\n width: calc(100vw - 16px);\n max-width: calc(100vw - 16px);\n max-height: calc(100dvh - 16px);\n }\n\n .sBXwgW_form {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n._9Lujra_rows {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n flex-direction: column;\n min-width: 0;\n display: flex;\n overflow: hidden;\n}\n\n._9Lujra_group {\n flex-direction: column;\n min-width: 0;\n display: flex;\n}\n\n._9Lujra_group + ._9Lujra_group ._9Lujra_row {\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n\n._9Lujra_row {\n box-sizing: border-box;\n width: 100%;\n color: inherit;\n text-align: left;\n font: inherit;\n background: none;\n border: none;\n grid-template-columns: minmax(110px, max-content) minmax(0, 1fr) 14px;\n align-items: center;\n gap: 12px;\n padding: 9px 12px;\n display: grid;\n}\n\nbutton._9Lujra_row {\n cursor: pointer;\n}\n\n._9Lujra_row:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._9Lujra_row[aria-expanded=\"true\"] {\n background: var(--dsw-alias-state-business-tertiary);\n}\n\n._9Lujra_row:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary);\n outline-offset: -2px;\n}\n\n._9Lujra_name {\n color: var(--dsw-alias-label-primary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 600;\n overflow: hidden;\n}\n\n._9Lujra_summary {\n color: var(--dsw-alias-label-tertiary);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11.5px;\n overflow: hidden;\n}\n\n._9Lujra_chevron {\n color: var(--dsw-alias-label-tertiary);\n justify-self: end;\n display: inline-flex;\n}\n\n._9Lujra_chevron svg {\n display: block;\n}\n\n._9Lujra_body {\n border-top: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-interactive-bg-hover);\n padding: 12px 14px;\n}\n.HJ9x7a_shell {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 16px;\n display: flex;\n container-type: inline-size;\n}\n\n.HJ9x7a_header {\n flex-direction: row;\n flex: none;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n min-height: 46px;\n display: flex;\n}\n\n.HJ9x7a_headerText {\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n}\n\n.HJ9x7a_subtitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.HJ9x7a_headerActions {\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.HJ9x7a_body {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 12px;\n min-height: 0;\n display: flex;\n overflow-y: auto;\n}\n\n.HJ9x7a_busyLine {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_busyLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n overflow: hidden;\n}\n\n.HJ9x7a_spinner {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex: none;\n font-size: 13px;\n display: inline-flex;\n}\n\n.HJ9x7a_spinning {\n animation: .9s linear infinite HJ9x7a_panel-spin;\n}\n\n@keyframes HJ9x7a_panel-spin {\n from {\n transform: rotate(0);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .HJ9x7a_spinning {\n animation-duration: 2.4s;\n }\n}\n\n.HJ9x7a_editorDialog {\n gap: 12px;\n max-width: 720px;\n}\n\n.HJ9x7a_editorDialog [class*=\"content\"] > [class*=\"body\"] {\n margin-top: 0;\n}\n\n.HJ9x7a_editorBody {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.HJ9x7a_editorFooter {\n flex-direction: row;\n flex: 1;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.HJ9x7a_editorError {\n color: var(--dsw-alias-state-error-primary, #c81e1e);\n margin-right: auto;\n font-size: 12px;\n}\n\n.HJ9x7a_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_empty {\n color: var(--dsw-alias-label-tertiary, #6b7280);\n text-align: center;\n padding: 24px 12px;\n font-size: 12px;\n}\n\n@container (width <= 540px) {\n .HJ9x7a_entryGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .HJ9x7a_entryRow {\n flex-wrap: wrap;\n }\n\n .HJ9x7a_entryActions {\n margin-left: auto;\n }\n\n .HJ9x7a_entryMain {\n flex-basis: 100%;\n }\n}\n\n.HJ9x7a_hero {\n background: var(--dsw-alias-interactive-bg-hover);\n border-radius: 10px;\n align-items: center;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.HJ9x7a_heroText {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_heroLine {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.HJ9x7a_heroMono {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font: 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.HJ9x7a_block {\n margin-top: 18px;\n}\n\n.HJ9x7a_blockHead {\n color: var(--dsw-alias-label-secondary);\n letter-spacing: .04em;\n text-transform: uppercase;\n margin: 0 0 8px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.HJ9x7a_kvGrid {\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: 10px 16px;\n margin: 0;\n display: grid;\n}\n\n.HJ9x7a_kvKey {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n}\n\n.HJ9x7a_kvValue {\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 3px 0 0;\n font-size: 12.5px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.HJ9x7a_monoBlock {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-secondary);\n border-radius: 10px;\n margin: 0;\n padding: 12px 14px;\n font: 11.5px / 18px ui-monospace, Menlo, Consolas, monospace;\n overflow-x: auto;\n}\n\n.HJ9x7a_detailProse {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 21px;\n}\n\n.HJ9x7a_kvValueMono {\n font-family: ui-monospace, Menlo, Consolas, monospace;\n}\n.vavGuW_toolbar {\n flex: none;\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.vavGuW_search {\n flex: auto;\n align-items: center;\n min-width: 0;\n display: flex;\n}\n\n.vavGuW_searchInput {\n flex: auto;\n min-width: 0;\n}\n\n.vavGuW_searchInput input {\n font-size: 12px;\n line-height: 20px;\n}\n\n.vavGuW_segment {\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: 10px;\n flex: none;\n align-items: center;\n gap: 2px;\n padding: 3px;\n display: flex;\n}\n\n.vavGuW_count {\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n.vavGuW_segment svg {\n stroke: currentColor;\n stroke-width: 1.5px;\n stroke-linecap: round;\n stroke-linejoin: round;\n display: block;\n}\n\n@container (width <= 480px) {\n .vavGuW_toolbar {\n flex-wrap: wrap;\n justify-content: flex-end;\n }\n\n .vavGuW_search {\n flex-basis: 100%;\n }\n}\n._5BoKRG_editor {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-1);\n box-sizing: border-box;\n border-radius: 8px;\n flex-direction: column;\n display: flex;\n overflow: hidden;\n}\n\n._5BoKRG_editor .cm-editor {\n flex: 1;\n min-height: 0;\n}\n\n._5BoKRG_editor .cm-scroller {\n overflow: auto;\n}\n.G2mDja_form {\n background: var(--dsw-alias-bg-layer-2, #f7f8fa);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 10px;\n flex-direction: column;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.G2mDja_head {\n color: var(--dsw-alias-label-secondary, #667085);\n margin: 0;\n font-size: 12px;\n font-weight: 600;\n}\n\n.G2mDja_error {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n background: var(--dsw-alias-interactive-bg-hover-danger, #ec13130d);\n overflow-wrap: anywhere;\n border-radius: 8px;\n padding: 8px 10px;\n font-size: 12px;\n line-height: 18px;\n}\n\n.G2mDja_row {\n border-top: 1px solid var(--dsw-alias-border-l1, #eef1f5);\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n padding-top: 8px;\n display: flex;\n}\n\n.G2mDja_rowHead {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.G2mDja_grow {\n flex: auto;\n}\n\n.G2mDja_where {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n overflow-wrap: anywhere;\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_ref {\n color: var(--dsw-alias-label-primary, #1f2328);\n font: 600 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.G2mDja_controls {\n flex-direction: column;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.G2mDja_facts {\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.G2mDja_factOk, .G2mDja_factMiss {\n border-radius: 999px;\n padding: 1px 8px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_factOk {\n color: var(--dsw-alias-state-success-primary, #16a34a);\n background: var(--dsw-alias-state-success-tertiary, #e6faed);\n}\n\n.G2mDja_factMiss {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #fef5e7);\n}\n\n.G2mDja_note {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 11px;\n line-height: 17px;\n}\n\n.G2mDja_editor {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n.G2mDja_input {\n box-sizing: border-box;\n width: 100%;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n border-radius: 8px;\n padding: 7px 10px;\n font-size: 12px;\n}\n\n.G2mDja_input:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, #4f6ef7);\n outline-offset: 1px;\n}\n\n.G2mDja_actions {\n align-items: center;\n gap: 8px;\n display: flex;\n}\n.HJ9x7a_shell {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 16px;\n display: flex;\n container-type: inline-size;\n}\n\n.HJ9x7a_header {\n flex-direction: row;\n flex: none;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n min-height: 46px;\n display: flex;\n}\n\n.HJ9x7a_headerText {\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n}\n\n.HJ9x7a_subtitle {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 20px;\n}\n\n.HJ9x7a_headerActions {\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 6px;\n display: flex;\n}\n\n.HJ9x7a_body {\n scrollbar-gutter: stable;\n flex-direction: column;\n flex: 1;\n gap: 12px;\n min-height: 0;\n display: flex;\n overflow-y: auto;\n}\n\n.HJ9x7a_busyLine {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_busyLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n overflow: hidden;\n}\n\n.HJ9x7a_spinner {\n color: var(--dsw-alias-label-secondary, #6b7280);\n flex: none;\n font-size: 13px;\n display: inline-flex;\n}\n\n.HJ9x7a_spinning {\n animation: .9s linear infinite HJ9x7a_panel-spin;\n}\n\n@keyframes HJ9x7a_panel-spin {\n from {\n transform: rotate(0);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .HJ9x7a_spinning {\n animation-duration: 2.4s;\n }\n}\n\n.HJ9x7a_editorDialog {\n gap: 12px;\n max-width: 720px;\n}\n\n.HJ9x7a_editorDialog [class*=\"content\"] > [class*=\"body\"] {\n margin-top: 0;\n}\n\n.HJ9x7a_editorBody {\n flex-direction: column;\n gap: 12px;\n display: flex;\n}\n\n.HJ9x7a_editorFooter {\n flex-direction: row;\n flex: 1;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n display: flex;\n}\n\n.HJ9x7a_editorError {\n color: var(--dsw-alias-state-error-primary, #c81e1e);\n margin-right: auto;\n font-size: 12px;\n}\n\n.HJ9x7a_confirmCheck {\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: row;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n display: flex;\n}\n\n.HJ9x7a_empty {\n color: var(--dsw-alias-label-tertiary, #6b7280);\n text-align: center;\n padding: 24px 12px;\n font-size: 12px;\n}\n\n@container (width <= 540px) {\n .HJ9x7a_entryGrid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .HJ9x7a_entryRow {\n flex-wrap: wrap;\n }\n\n .HJ9x7a_entryActions {\n margin-left: auto;\n }\n\n .HJ9x7a_entryMain {\n flex-basis: 100%;\n }\n}\n\n.HJ9x7a_hero {\n background: var(--dsw-alias-interactive-bg-hover);\n border-radius: 10px;\n align-items: center;\n gap: 10px;\n padding: 12px 14px;\n display: flex;\n}\n\n.HJ9x7a_heroText {\n flex-direction: column;\n gap: 5px;\n min-width: 0;\n display: flex;\n}\n\n.HJ9x7a_heroLine {\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n display: flex;\n}\n\n.HJ9x7a_heroMono {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font: 12px / 18px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.HJ9x7a_block {\n margin-top: 18px;\n}\n\n.HJ9x7a_blockHead {\n color: var(--dsw-alias-label-secondary);\n letter-spacing: .04em;\n text-transform: uppercase;\n margin: 0 0 8px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.HJ9x7a_kvGrid {\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: 10px 16px;\n margin: 0;\n display: grid;\n}\n\n.HJ9x7a_kvKey {\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n}\n\n.HJ9x7a_kvValue {\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 3px 0 0;\n font-size: 12.5px;\n line-height: 18px;\n overflow: hidden;\n}\n\n.HJ9x7a_monoBlock {\n border: 1px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-markdown-code-block);\n color: var(--dsw-alias-label-secondary);\n border-radius: 10px;\n margin: 0;\n padding: 12px 14px;\n font: 11.5px / 18px ui-monospace, Menlo, Consolas, monospace;\n overflow-x: auto;\n}\n\n.HJ9x7a_detailProse {\n color: var(--dsw-alias-label-secondary);\n margin: 0;\n font-size: 13px;\n line-height: 21px;\n}\n\n.HJ9x7a_kvValueMono {\n font-family: ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_surface {\n min-width: 0;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.AUWlZW_toolbar {\n flex: none;\n}\n\n@media (width <= 760px) {\n .AUWlZW_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n\n.AUWlZW_reasonLabel {\n opacity: .85;\n flex: none;\n font-weight: 600;\n}\n\n.AUWlZW_empty, .AUWlZW_detailEmpty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-align: center;\n padding: 24px;\n font-size: 12px;\n}\n\n.AUWlZW_error {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n align-items: center;\n gap: 8px;\n margin: 16px 0;\n font-size: 12px;\n display: flex;\n}\n\n.AUWlZW_detailBody {\n max-height: 72vh;\n overflow-y: auto;\n}\n\n.AUWlZW_modalFooter {\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n width: 100%;\n display: flex;\n}\n\n.AUWlZW_modalFooterHint {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n}\n\n.AUWlZW_modalFooterGrow {\n flex: auto;\n}\n\n.AUWlZW_detail {\n flex-direction: column;\n gap: 16px;\n display: flex;\n}\n\n.AUWlZW_reasonBox {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n background: var(--dsw-alias-interactive-bg-hover-danger, #ec13130d);\n border-radius: 8px;\n flex-direction: column;\n gap: 4px;\n padding: 10px 12px;\n display: flex;\n}\n\n.AUWlZW_reasonText {\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.AUWlZW_reasonActions {\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 4px;\n display: flex;\n}\n\n.AUWlZW_reasonHint {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 2px 0 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_blockHeadRow {\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n display: flex;\n}\n\n.AUWlZW_blockSub {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0 0 6px;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_starter, .AUWlZW_starterList {\n flex-wrap: wrap;\n gap: 8px;\n display: flex;\n}\n\n.AUWlZW_starterPaste {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n.AUWlZW_pasteArea {\n box-sizing: border-box;\n width: 100%;\n min-height: 120px;\n color: var(--dsw-alias-label-primary, #1f2328);\n background: var(--dsw-alias-bg-layer-1, #fff);\n border: 1px solid var(--dsw-alias-border-l2, #e5e7eb);\n resize: vertical;\n border-radius: 8px;\n padding: 7px 9px;\n font: 12px / 19px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_pasteNote {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_pasteCheck {\n color: var(--dsw-alias-label-secondary, #4e5969);\n align-items: center;\n gap: 8px;\n font-size: 11px;\n line-height: 16px;\n display: inline-flex;\n}\n\n.AUWlZW_pasteOutcome {\n flex-direction: column;\n gap: 2px;\n display: flex;\n}\n\n.AUWlZW_pasteOutcome p {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_toolSearch {\n flex: 0 220px;\n min-width: 0;\n display: block;\n}\n\n.AUWlZW_toolList {\n flex-direction: column;\n display: flex;\n}\n\n.AUWlZW_tool {\n border-bottom: 1px solid var(--dsw-alias-border-l1, #eef1f5);\n grid-template-columns: minmax(140px, max-content) minmax(0, 1fr) max-content;\n align-items: center;\n gap: 12px;\n padding: 7px 0 7px 2px;\n display: grid;\n}\n\n.AUWlZW_tool:last-child {\n border-bottom: none;\n}\n\n.AUWlZW_toolIdentity {\n align-items: center;\n gap: 8px;\n min-width: 0;\n display: flex;\n}\n\n.AUWlZW_toolName {\n color: var(--dsw-alias-label-primary, #1f2328);\n text-overflow: ellipsis;\n white-space: nowrap;\n font: 11px / 16px ui-monospace, Menlo, Consolas, monospace;\n overflow: hidden;\n}\n\n.AUWlZW_toolDescription, .AUWlZW_toolNote {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 10px;\n overflow: hidden;\n}\n\n.AUWlZW_toolNameButton {\n cursor: pointer;\n text-align: left;\n background: none;\n border: none;\n padding: 0;\n}\n\n.AUWlZW_toolNameButton:hover {\n color: var(--dsw-alias-brand-primary, #4f6ef7);\n}\n\n.AUWlZW_toolParams {\n grid-column: 1 / -1;\n padding: 8px 0 2px 11px;\n}\n\n.AUWlZW_toolParamsGrid {\n grid-template-columns: minmax(120px, max-content) minmax(60px, max-content) max-content minmax(0, 1fr);\n align-items: baseline;\n gap: 6px 12px;\n display: grid;\n}\n\n.AUWlZW_toolParam {\n display: contents;\n}\n\n.AUWlZW_toolParamName {\n color: var(--dsw-alias-label-primary, #1f2328);\n font: 11px / 16px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_toolParamType {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font: 10px / 16px ui-monospace, Menlo, Consolas, monospace;\n}\n\n.AUWlZW_toolParamRequired {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolParamDesc {\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolParamsEmpty {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 10px;\n line-height: 16px;\n}\n\n.AUWlZW_toolMore {\n color: var(--dsw-alias-label-secondary, #667085);\n cursor: pointer;\n background: none;\n border: none;\n border-radius: 6px;\n align-self: flex-start;\n margin-top: 8px;\n padding: 4px 8px;\n font-size: 11px;\n line-height: 17px;\n}\n\n.AUWlZW_toolMore:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n@media (width <= 760px) {\n .AUWlZW_toolbar {\n padding-left: 0;\n padding-right: 0;\n }\n\n .AUWlZW_grid {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .AUWlZW_list .AUWlZW_cardTop {\n max-width: 100%;\n }\n\n .AUWlZW_tool {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .AUWlZW_toolDescription {\n display: none;\n }\n}\n\n.AUWlZW_retryEchoSuccess {\n color: var(--dsw-alias-state-success-primary, #16a34a);\n white-space: nowrap;\n font-size: 12px;\n line-height: 18px;\n}\n\n@keyframes AUWlZW_lspStartingPulse {\n 50% {\n opacity: .35;\n }\n}\n\n.AUWlZW_reasonRaw {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n word-break: break-all;\n margin: 6px 0 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 11px;\n line-height: 1.5;\n}\n\n.AUWlZW_seamBanner {\n border-left: 3px solid var(--dsw-alias-state-warn-primary, #b45309);\n background: var(--dsw-alias-state-warn-tertiary, #b4530914);\n border-radius: 8px;\n flex-direction: column;\n gap: 8px;\n margin: 0 0 12px;\n padding: 12px 14px;\n display: flex;\n}\n\n.AUWlZW_seamTitle {\n color: var(--dsw-alias-label-primary, #1f2329);\n font-size: 13px;\n font-weight: 600;\n}\n\n.AUWlZW_seamBody {\n color: var(--dsw-alias-label-secondary, #4e5969);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n\n.AUWlZW_seamPathLabel {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n font-size: 11px;\n}\n\n.AUWlZW_seamPath {\n color: var(--dsw-alias-label-secondary, #4e5969);\n overflow-wrap: anywhere;\n margin: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_seamOther {\n color: var(--dsw-alias-label-tertiary, #8b93a1);\n margin: 0;\n font-size: 11px;\n line-height: 16px;\n}\n\n.AUWlZW_seamDone {\n color: var(--dsw-alias-state-success-primary, #15803d);\n margin: 0;\n font-size: 12px;\n line-height: 18px;\n}\n.l0H8fW_workspace {\n min-width: 0;\n height: 100%;\n min-height: 0;\n color: var(--dsw-alias-label-primary, #1f2328);\n flex-direction: column;\n flex: 1;\n gap: 12px;\n display: flex;\n}\n\n.l0H8fW_pageMode {\n box-sizing: border-box;\n padding: 4px 0;\n}\n\n.l0H8fW_tabRow {\n border-bottom: 1px solid var(--dsw-alias-border-l2, #0000001a);\n scrollbar-width: none;\n flex-direction: row;\n flex: none;\n align-items: center;\n gap: 4px;\n display: flex;\n overflow-x: auto;\n}\n\n.l0H8fW_tab, .l0H8fW_tabOn {\n color: var(--dsw-alias-label-secondary, #6b7280);\n cursor: pointer;\n font: inherit;\n white-space: nowrap;\n background: none;\n border: none;\n border-radius: 8px 8px 0 0;\n flex: none;\n padding: 7px 14px;\n font-size: 13px;\n line-height: 20px;\n position: relative;\n}\n\n.l0H8fW_tab:hover {\n background: var(--dsw-alias-interactive-bg-hover, #2631480f);\n color: var(--dsw-alias-label-primary, #1f2328);\n}\n\n.l0H8fW_tabOn {\n color: var(--dsw-alias-label-primary, #1f2328);\n font-weight: 600;\n}\n\n.l0H8fW_tabOn:after {\n background: var(--dsw-alias-brand-primary);\n content: \"\";\n border-radius: 2px;\n height: 2px;\n position: absolute;\n bottom: 0;\n left: 10px;\n right: 10px;\n}\n\n.l0H8fW_tabPanel {\n flex-direction: column;\n flex: 1;\n min-height: 0;\n display: flex;\n}\n";document.head.appendChild(s);}})();
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
7
|
//#region \0rolldown/runtime.js
|
|
8
8
|
var __create = Object.create;
|
|
@@ -238,7 +238,7 @@ function ActiveOverlay$1({ target, t, visible, slow }) {
|
|
|
238
238
|
}, visible ? (0, react.createElement)("div", { className: busy_overlay_module_default.content }, (0, react.createElement)("span", {
|
|
239
239
|
className: busy_overlay_module_default.spinner,
|
|
240
240
|
"aria-hidden": true
|
|
241
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
241
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconLoadingOutlineMedium, { size: 28 })), (0, react.createElement)("strong", { className: busy_overlay_module_default.label }, t("panelWorking")), (0, react.createElement)("div", { className: busy_overlay_module_default.hintViewport }, (0, react.createElement)("p", {
|
|
242
242
|
key: message,
|
|
243
243
|
className: busy_overlay_module_default.hint
|
|
244
244
|
}, hints[message])), slow ? (0, react.createElement)("p", {
|
|
@@ -1983,7 +1983,7 @@ function SuiteCard(props) {
|
|
|
1983
1983
|
"aria-label": t("refresh"),
|
|
1984
1984
|
disabled: busy,
|
|
1985
1985
|
onClick: stop(props.onRefresh)
|
|
1986
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1986
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineMedium)),
|
|
1987
1987
|
(0, react.createElement)("button", {
|
|
1988
1988
|
key: "uninstall",
|
|
1989
1989
|
type: "button",
|
|
@@ -1992,7 +1992,7 @@ function SuiteCard(props) {
|
|
|
1992
1992
|
"aria-label": t("uninstall"),
|
|
1993
1993
|
disabled: busy,
|
|
1994
1994
|
onClick: stop(props.onUninstall)
|
|
1995
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1995
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineMedium)),
|
|
1996
1996
|
(0, react.createElement)("span", {
|
|
1997
1997
|
key: "toggle",
|
|
1998
1998
|
className: resource_card_module_default.switchWrap,
|
|
@@ -7998,7 +7998,7 @@ function DetailRow(props) {
|
|
|
7998
7998
|
}, header[0], header[1], (0, react.createElement)("span", {
|
|
7999
7999
|
className: detail_rows_module_default.chevron,
|
|
8000
8000
|
"aria-hidden": true
|
|
8001
|
-
}, open ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
8001
|
+
}, open ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineMedium) : (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineMedium))), open ? (0, react.createElement)("div", { className: detail_rows_module_default.body }, props.children) : null);
|
|
8002
8002
|
}
|
|
8003
8003
|
//#endregion
|
|
8004
8004
|
//#region src/client/ui/last-change.ts
|
|
@@ -8357,7 +8357,7 @@ function SearchFilterToolbar(props) {
|
|
|
8357
8357
|
"data-panel-toolbar": true
|
|
8358
8358
|
}, (0, react.createElement)("label", { className: SearchFilterToolbar_module_default.search }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Input, {
|
|
8359
8359
|
className: SearchFilterToolbar_module_default.searchInput,
|
|
8360
|
-
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
8360
|
+
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineMedium),
|
|
8361
8361
|
value: props.search,
|
|
8362
8362
|
placeholder: props.searchPlaceholder,
|
|
8363
8363
|
"aria-label": props.searchLabel,
|
|
@@ -34760,14 +34760,14 @@ function PanelActions(props) {
|
|
|
34760
34760
|
title: props.addLabel,
|
|
34761
34761
|
"aria-label": props.addLabel,
|
|
34762
34762
|
onClick: props.onAdd
|
|
34763
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
34763
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutlineMedium)), props.onRefresh === void 0 ? null : (0, react.createElement)("button", {
|
|
34764
34764
|
type: "button",
|
|
34765
34765
|
className: resource_card_module_default.iconBtn,
|
|
34766
34766
|
disabled: props.busy,
|
|
34767
34767
|
title: props.refreshLabel,
|
|
34768
34768
|
"aria-label": props.refreshLabel,
|
|
34769
34769
|
onClick: props.onRefresh
|
|
34770
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
34770
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineMedium)));
|
|
34771
34771
|
}
|
|
34772
34772
|
/** Shared heading geometry for all resource tabs. */
|
|
34773
34773
|
function PanelHeader(props) {
|
|
@@ -34788,7 +34788,7 @@ function BusyIndicator(props) {
|
|
|
34788
34788
|
}, (0, react.createElement)("span", {
|
|
34789
34789
|
className: `${panel_module_default.spinner} ${panel_module_default.spinning}`,
|
|
34790
34790
|
"aria-hidden": true
|
|
34791
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
34791
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconLoadingOutlineMedium)), props.label === void 0 ? null : (0, react.createElement)("span", { className: panel_module_default.busyLabel }, props.label));
|
|
34792
34792
|
}
|
|
34793
34793
|
/** Hold the shared mask through local refresh/validation after the HTTP mutation finishes. */
|
|
34794
34794
|
function BusyLease() {
|
|
@@ -35861,7 +35861,7 @@ function StringRows(props) {
|
|
|
35861
35861
|
title: props.addLabel,
|
|
35862
35862
|
"aria-label": `${props.t("panelAdd")} ${props.label}`,
|
|
35863
35863
|
onClick: () => change([...rows, ["", ""]])
|
|
35864
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
35864
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutlineMedium))), rows.length === 0 ? (0, react.createElement)("button", {
|
|
35865
35865
|
type: "button",
|
|
35866
35866
|
className: form_module_default.emptyRows,
|
|
35867
35867
|
onClick: () => change([["", ""]])
|
|
@@ -35891,7 +35891,7 @@ function StringRows(props) {
|
|
|
35891
35891
|
title: props.t("panelDelete"),
|
|
35892
35892
|
"aria-label": `${props.t("panelDelete")} ${props.label} ${index + 1}`,
|
|
35893
35893
|
onClick: () => change(rows.filter((_, i) => i !== index))
|
|
35894
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
35894
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineMedium)))), invalid ? (0, react.createElement)("span", {
|
|
35895
35895
|
role: "alert",
|
|
35896
35896
|
className: form_module_default.footerError
|
|
35897
35897
|
}, props.t("detailUniqueKeys")) : null, props.error === void 0 ? null : (0, react.createElement)("span", {
|
|
@@ -36633,7 +36633,7 @@ function McpCard({ entry, t, onClick, onToggle, onEdit }) {
|
|
|
36633
36633
|
event.stopPropagation();
|
|
36634
36634
|
onEdit();
|
|
36635
36635
|
}
|
|
36636
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
36636
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutlineMedium)) : null, (0, react.createElement)("span", {
|
|
36637
36637
|
className: resource_card_module_default.switchWrap,
|
|
36638
36638
|
onClick: (event) => event.stopPropagation()
|
|
36639
36639
|
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Switch, {
|
|
@@ -36765,8 +36765,8 @@ function McpDetailModal({ entry, t, credentials, backend, onClose, onRetry, onRe
|
|
|
36765
36765
|
onClick: () => {
|
|
36766
36766
|
run(false);
|
|
36767
36767
|
}
|
|
36768
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
36769
|
-
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
36768
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineMedium), t("mcpRetryConnection"))) : null), entry.kind === "direct" && !entry.managed ? (0, react.createElement)("div", { className: mcp_status_module_default.reasonBox }, (0, react.createElement)("p", { className: mcp_status_module_default.reasonText }, t("mcpDirectBoundary"))) : null, (0, react.createElement)("div", { className: panel_module_default.block }, (0, react.createElement)("div", { className: mcp_status_module_default.blockHeadRow }, (0, react.createElement)("h4", { className: panel_module_default.blockHead }, `${t("mcpTools")} (${tools.length})`), tools.length > TOOL_PAGE_SIZE ? (0, react.createElement)("label", { className: mcp_status_module_default.toolSearch }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Input, {
|
|
36769
|
+
icon: (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineMedium),
|
|
36770
36770
|
value: toolSearch,
|
|
36771
36771
|
placeholder: t("mcpToolsSearch"),
|
|
36772
36772
|
"aria-label": t("mcpToolsSearch"),
|
|
@@ -37422,7 +37422,7 @@ function LspRow({ entry, t, onOpen, onToggle, onEdit }) {
|
|
|
37422
37422
|
event.stopPropagation();
|
|
37423
37423
|
onEdit();
|
|
37424
37424
|
}
|
|
37425
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
37425
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutlineMedium)), (0, react.createElement)("span", {
|
|
37426
37426
|
className: resource_card_module_default.switchWrap,
|
|
37427
37427
|
onClick: (event) => event.stopPropagation()
|
|
37428
37428
|
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Switch, {
|
|
@@ -37496,6 +37496,22 @@ function stateLabel(t, state) {
|
|
|
37496
37496
|
return t("lspDisabled");
|
|
37497
37497
|
}
|
|
37498
37498
|
//#endregion
|
|
37499
|
+
//#region src/model/command-names.ts
|
|
37500
|
+
/**
|
|
37501
|
+
* The call name a command resource registers under.
|
|
37502
|
+
*
|
|
37503
|
+
* A command resource may live at any depth under its `commands/` directory,
|
|
37504
|
+
* but the host's slash-command grammar accepts single-segment names only, so
|
|
37505
|
+
* registration flattens the path separators: `git/commit` registers as
|
|
37506
|
+
* `git-commit`. The user panel renders the same call name, so a card never
|
|
37507
|
+
* advertises a slash name the host cannot accept.
|
|
37508
|
+
* @module model/command-names
|
|
37509
|
+
*/
|
|
37510
|
+
/** Flatten a resource path into the single-segment name a slash command registers under. */
|
|
37511
|
+
function commandCallName(name) {
|
|
37512
|
+
return name.replaceAll("/", "-").replaceAll("\\", "-").toLowerCase();
|
|
37513
|
+
}
|
|
37514
|
+
//#endregion
|
|
37499
37515
|
//#region src/client/features/personas/RoleMetadataFields.tsx
|
|
37500
37516
|
/** Structured controls edit the same frontmatter as the raw Markdown editor. */
|
|
37501
37517
|
function RoleMetadataFields(props) {
|
|
@@ -37651,7 +37667,7 @@ function UserEntryDetailModal(props) {
|
|
|
37651
37667
|
const [open, setOpen] = (0, react.useState)(false);
|
|
37652
37668
|
const updated = entry.updatedAt === void 0 || entry.updatedAt === null ? null : lastChangeLabel(t, entry.updatedAt);
|
|
37653
37669
|
const provenance = entry.origin === "user" ? t("panelSourceUser") : t("panelSourcePlugin");
|
|
37654
|
-
const title = kind === "commands" ? `/${entry.name}` : entry.name;
|
|
37670
|
+
const title = kind === "commands" ? `/${commandCallName(entry.name)}` : entry.name;
|
|
37655
37671
|
const docName = kind === "skills" ? "SKILL.md" : `${entry.name}.md`;
|
|
37656
37672
|
const metaPairs = Object.entries(entry.metadata).filter(([key]) => !HIDDEN_META.has(key));
|
|
37657
37673
|
return (0, react.createElement)(DetailModal, {
|
|
@@ -37955,7 +37971,7 @@ function UserPanelSurface(props) {
|
|
|
37955
37971
|
*/
|
|
37956
37972
|
function UserEntryRow(props) {
|
|
37957
37973
|
const { entry, t } = props;
|
|
37958
|
-
const title = props.kind === "commands" ? `/${entry.name}` : entry.name;
|
|
37974
|
+
const title = props.kind === "commands" ? `/${commandCallName(entry.name)}` : entry.name;
|
|
37959
37975
|
const mono = props.kind === "commands";
|
|
37960
37976
|
const locked = props.busy || entry.metadata["validationError"] !== void 0;
|
|
37961
37977
|
const stop = (callback) => (event) => {
|
|
@@ -37983,14 +37999,14 @@ function UserEntryRow(props) {
|
|
|
37983
37999
|
disabled: props.busy,
|
|
37984
38000
|
title: t("panelEditTitle"),
|
|
37985
38001
|
onClick: stop(props.onEdit)
|
|
37986
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
38002
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutlineMedium)), (0, react.createElement)("button", {
|
|
37987
38003
|
type: "button",
|
|
37988
38004
|
className: `${resource_card_module_default.iconBtn} ${resource_card_module_default.iconBtnDanger} ${resource_card_module_default.revealOnHover}`,
|
|
37989
38005
|
"aria-label": t("panelDelete"),
|
|
37990
38006
|
disabled: props.busy,
|
|
37991
38007
|
title: t("panelDelete"),
|
|
37992
38008
|
onClick: stop(props.onDelete)
|
|
37993
|
-
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.
|
|
38009
|
+
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineMedium)), (0, react.createElement)("span", {
|
|
37994
38010
|
className: resource_card_module_default.switchWrap,
|
|
37995
38011
|
onClick: (event) => event.stopPropagation()
|
|
37996
38012
|
}, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Switch, {
|
|
@@ -38111,14 +38127,16 @@ function renderTab(tab, t, credentials, mode) {
|
|
|
38111
38127
|
//#endregion
|
|
38112
38128
|
//#region src/client/McpPluginCard.tsx
|
|
38113
38129
|
/**
|
|
38114
|
-
* The Agent Plugins Market
|
|
38115
|
-
*
|
|
38130
|
+
* The Agent Plugins Market page on the host's Plugins panel: the market
|
|
38131
|
+
* feature's configuration entry, named after the market itself.
|
|
38116
38132
|
*
|
|
38117
|
-
* The
|
|
38118
|
-
*
|
|
38119
|
-
*
|
|
38120
|
-
*
|
|
38121
|
-
*
|
|
38133
|
+
* The page's Plugins panel renders every `plugins.item` entry twice: a
|
|
38134
|
+
* `summary` one-liner on the official card, and the `page` form on the
|
|
38135
|
+
* entry's detail page. This component answers both views. It draws what the
|
|
38136
|
+
* bound form projects and reports what the user picks through the injected
|
|
38137
|
+
* actions, following the contract every entry in this slot uses: controls
|
|
38138
|
+
* stage edits, one save commits them, an untouched field keeps following the
|
|
38139
|
+
* plugin, and an entry whose namespace is not served leaves no trace.
|
|
38122
38140
|
*
|
|
38123
38141
|
* @module client/McpPluginCard
|
|
38124
38142
|
*/
|
|
@@ -38148,6 +38166,8 @@ const SWITCH_COPY = {
|
|
|
38148
38166
|
description: "feedbackToggleDesc"
|
|
38149
38167
|
}
|
|
38150
38168
|
};
|
|
38169
|
+
/** Copy key of the summary one-liner the official card renders. */
|
|
38170
|
+
const SUMMARY_KEY = "marketCardDesc";
|
|
38151
38171
|
/** The overridden badge and the reset that hands the field back to the plugin. */
|
|
38152
38172
|
function OverrideBadge(props) {
|
|
38153
38173
|
return (0, react.createElement)("span", { className: market_module_default.pluginFieldBadges }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { tone: "neutral" }, props.t("settingOverridden")), (0, react.createElement)("button", {
|
|
@@ -38178,23 +38198,16 @@ function SwitchRow(props) {
|
|
|
38178
38198
|
}
|
|
38179
38199
|
function McpPluginCard(props) {
|
|
38180
38200
|
const { t, useMarketCard, toggle, setRegion, resetField, save, discard, refreshProbe } = props;
|
|
38181
|
-
const [open, setOpen] = (0, react.useState)(false);
|
|
38182
38201
|
const state = useMarketCard((current) => current);
|
|
38183
38202
|
(0, react.useEffect)(() => {
|
|
38184
38203
|
refreshProbe();
|
|
38185
38204
|
}, [refreshProbe]);
|
|
38186
38205
|
if (!state.available) return null;
|
|
38206
|
+
if (props.view === "summary") return t(SUMMARY_KEY);
|
|
38187
38207
|
const blocked = !state.writable || state.saving;
|
|
38188
38208
|
const region = state.downloadRegion;
|
|
38189
38209
|
const effectiveRegion = state.probe?.downloadRegion.effective ?? (region.value === "china" ? "china" : "global");
|
|
38190
|
-
return (0, react.createElement)("
|
|
38191
|
-
type: "button",
|
|
38192
|
-
className: market_module_default.pluginCardHeader,
|
|
38193
|
-
"aria-expanded": open,
|
|
38194
|
-
onClick: () => {
|
|
38195
|
-
setOpen((current) => !current);
|
|
38196
|
-
}
|
|
38197
|
-
}, (0, react.createElement)("div", { className: market_module_default.pluginCardText }, (0, react.createElement)("div", { className: market_module_default.pluginCardTitle }, t("nav")), (0, react.createElement)("div", { className: market_module_default.pluginCardDesc }, t("marketCardDesc"))), state.dirty ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { tone: "neutral" }, t("settingUnsaved")) : null, (0, react.createElement)("span", { className: open ? `${market_module_default.pluginChevron} ${market_module_default.pluginChevronOpen}` : market_module_default.pluginChevron }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutline14, { size: 14 }))), open ? (0, react.createElement)("div", { className: market_module_default.pluginCardBody }, state.writable ? null : (0, react.createElement)("p", {
|
|
38210
|
+
return (0, react.createElement)("div", { className: market_module_default.pluginCardBody }, state.writable ? null : (0, react.createElement)("p", {
|
|
38198
38211
|
className: market_module_default.pluginCardReadonly,
|
|
38199
38212
|
role: "status"
|
|
38200
38213
|
}, t("mcpCardReadonly")), SWITCH_FIELDS.map((field) => (0, react.createElement)(SwitchRow, {
|
|
@@ -38245,7 +38258,7 @@ function McpPluginCard(props) {
|
|
|
38245
38258
|
className: market_module_default.pluginCardSave,
|
|
38246
38259
|
disabled: !state.dirty || state.invalid || state.saving,
|
|
38247
38260
|
onClick: save
|
|
38248
|
-
}, t(state.saving ? "settingSaving" : "settingSave"))))
|
|
38261
|
+
}, t(state.saving ? "settingSaving" : "settingSave"))));
|
|
38249
38262
|
}
|
|
38250
38263
|
//#endregion
|
|
38251
38264
|
//#region src/client/plugin-card-controller.ts
|
|
@@ -38287,7 +38300,7 @@ var MarketPluginCardController = class {
|
|
|
38287
38300
|
failed = false;
|
|
38288
38301
|
disposed = false;
|
|
38289
38302
|
/**
|
|
38290
|
-
* @param scope - the
|
|
38303
|
+
* @param scope - the host configuration form for the market namespace.
|
|
38291
38304
|
* @param probe - reads the live host-client and region state from the market API.
|
|
38292
38305
|
*/
|
|
38293
38306
|
constructor(scope, probeSource) {
|
|
@@ -38791,20 +38804,24 @@ function apply(ctx) {
|
|
|
38791
38804
|
isSettingsSurfaceAvailable: () => settingsSurfaceAvailable,
|
|
38792
38805
|
subscribeLocale: ctx.locale.subscribe === void 0 ? void 0 : (listener) => ctx.locale.subscribe(listener)
|
|
38793
38806
|
}), "dsh-agent-plugins-market: legacy page mode");
|
|
38794
|
-
ctx.inject?.(["
|
|
38795
|
-
const service = scoped.
|
|
38807
|
+
ctx.inject?.(["configForms"], (scoped) => {
|
|
38808
|
+
const service = scoped.configForms;
|
|
38796
38809
|
const slots = scoped.slots;
|
|
38797
38810
|
if (service === void 0 || slots === void 0) return;
|
|
38798
|
-
|
|
38799
|
-
|
|
38811
|
+
let card;
|
|
38812
|
+
service.whileServed([NS], () => {
|
|
38813
|
+
card = new MarketPluginCardController(service.get(NS), fetchMcpBackend);
|
|
38800
38814
|
const dispose = slots.register({
|
|
38801
|
-
name: "
|
|
38802
|
-
|
|
38815
|
+
name: "plugins.item",
|
|
38816
|
+
id: NS,
|
|
38817
|
+
order: 50,
|
|
38818
|
+
label: () => t("nav"),
|
|
38803
38819
|
locale: NS,
|
|
38804
38820
|
inject: () => card.inject()
|
|
38805
38821
|
}, McpPluginCard);
|
|
38806
38822
|
return () => {
|
|
38807
|
-
card
|
|
38823
|
+
card?.dispose();
|
|
38824
|
+
card = void 0;
|
|
38808
38825
|
if (typeof dispose === "function") dispose();
|
|
38809
38826
|
};
|
|
38810
38827
|
});
|