dsh-mnemon 0.5.30 → 0.5.31

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/lib/client.js CHANGED
@@ -339,8 +339,9 @@ window.__ModuleLoader__.load({
339
339
  confirmed
340
340
  }));
341
341
  }
342
+ /** A session-scoped call reports the route that conversation's background work uses. */
342
343
  taskAgentModels(includeCatalog) {
343
- return this.call(MNEMON_READ_CHANNEL, "task-agent-models", includeCatalog === void 0 ? {} : { includeCatalog });
344
+ return this.call(MNEMON_READ_CHANNEL, "task-agent-models", this.scoped(includeCatalog === void 0 ? {} : { includeCatalog }));
344
345
  }
345
346
  versions() {
346
347
  return this.call(MNEMON_READ_CHANNEL, "versions", {});
@@ -677,7 +678,7 @@ window.__ModuleLoader__.load({
677
678
  }
678
679
  //#endregion
679
680
  //#region \0dsh-mnemon-css:/home/runner/work/dsh-mnemon/dsh-mnemon/src/client/MnemonSettingsCard.module.css.mjs
680
- const css$13 = "._v_wrq_page{box-sizing:border-box;width:100%;min-width:0;color:var(--dsw-alias-label-primary);flex-direction:column;gap:32px;font-family:inherit;display:flex}._v_wrq_surface{color:var(--dsw-alias-label-primary)}:where(._v_wrq_page,._v_wrq_surface) *,:where(._v_wrq_page,._v_wrq_surface) :before,:where(._v_wrq_page,._v_wrq_surface) :after{box-sizing:border-box}:where(._v_wrq_page,._v_wrq_surface) :where(button,input,select,textarea){color:inherit;font:inherit}._v_wrq_loading{min-height:140px;color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:13px;line-height:140px}._v_wrq_section{flex-direction:column;gap:4px;min-width:0;display:flex}._v_wrq_sectionHeading{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;min-width:0;display:grid}._v_wrq_sectionHeading h2{grid-column:1;margin:0;font-size:14px;font-weight:500;line-height:20px}._v_wrq_sectionHeading p{max-width:66ch;color:var(--dsw-alias-label-tertiary);grid-column:1;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_sectionHeading ._v_wrq_miniSpinner{grid-area:1/2}._v_wrq_sectionHeading>._v_wrq_boardLinks{grid-column:1;padding-top:6px}._v_wrq_componentListNote{max-width:72ch;color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_appliesNow{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-secondary);white-space:nowrap;grid-area:1/2;align-self:center;padding:1px 6px;font-size:11px;line-height:16px}._v_wrq_rows{flex-direction:column;min-width:0;display:flex}._v_wrq_settingRow,._v_wrq_toggleRow{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;padding:14px 0;display:flex;position:relative}._v_wrq_rows>:last-child,._v_wrq_rows>._v_wrq_packRow:last-child>._v_wrq_settingRow{border-bottom:0}._v_wrq_rows>._v_wrq_packRow:last-child{padding-bottom:0}._v_wrq_settingRow[data-stacked]{flex-direction:column;align-items:stretch}._v_wrq_settingCopy{flex-direction:column;flex:1 1 0;gap:2px;min-width:min(240px,100%);display:flex}._v_wrq_settingCopy strong,._v_wrq_settingCopy label{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}._v_wrq_settingCopy small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_settingCopy code{font-family:var(--ds-font-family-code,ui-monospace, monospace)}._v_wrq_settingControl{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_settingRow[data-stacked] ._v_wrq_settingControl{flex:auto;justify-content:stretch}._v_wrq_switch{flex:none}._v_wrq_rowNote{min-width:0;color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:4px 8px;padding-top:4px;font-size:12px;line-height:18px;display:flex}._v_wrq_groupCallout{margin:8px 0 4px}._v_wrq_boardSection{container-type:inline-size}._v_wrq_board{flex-direction:column;min-width:0;margin-top:10px;display:flex}._v_wrq_boardProblem{margin:0 0 4px}._v_wrq_boardLoading{min-height:40px;color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;margin:0;font-size:13px;line-height:20px;display:flex}._v_wrq_boardGroup{flex-direction:column;min-width:0;padding-top:14px;display:flex}._v_wrq_boardGroupHead{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}._v_wrq_boardGroupHead h3{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:18px}._v_wrq_boardGroupHead span{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px;line-height:18px}._v_wrq_pageLink{appearance:none;border-radius:var(--dsw-radius-sm);max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}._v_wrq_pageLink>span{overflow-wrap:anywhere;min-width:0}._v_wrq_pageLink:hover>span{text-underline-offset:3px;text-decoration:underline}._v_wrq_settingCopy ._v_wrq_pageLink{width:fit-content;color:var(--dsw-alias-label-primary);font-size:14px;line-height:22px}._v_wrq_boardIconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}._v_wrq_boardIconButton:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_boardLinks{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;padding-top:4px;display:flex}._v_wrq_boardLink{appearance:none;border:.5px solid var(--dsw-alias-border-l3);max-width:100%;color:var(--dsw-alias-label-tertiary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;line-height:18px;transition:color .12s,border-color .12s;display:inline-flex}._v_wrq_boardLink[data-on]{color:var(--dsw-alias-label-secondary)}._v_wrq_boardLink:hover{border-color:var(--dsw-alias-border-l4);color:var(--dsw-alias-label-primary)}._v_wrq_boardLink>svg{flex:none}._v_wrq_boardLinksLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_pageLink:focus-visible,._v_wrq_boardIconButton:focus-visible,._v_wrq_boardLink:focus-visible,._v_wrq_detailsBack:focus-visible,._v_wrq_boardSearch:focus-within{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_boardSearch{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);min-width:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);align-items:center;gap:8px;margin:12px 0 0;padding:0 10px;display:flex}._v_wrq_boardSearch input{min-width:0;height:32px;color:var(--dsw-alias-label-primary);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}._v_wrq_detailsDialog{width:min(560px,100%);max-height:100%}._v_wrq_detailsScroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}._v_wrq_detailsBody{flex-direction:column;gap:16px;min-width:0;display:flex}._v_wrq_detailsHead{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_detailsHeadLine{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}._v_wrq_detailsPackage{min-width:0;color:var(--dsw-alias-label-tertiary);font-family:var(--ds-font-family-code,ui-monospace, monospace);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}._v_wrq_detailsControl{align-items:center;margin-left:auto;display:flex}._v_wrq_detailsSection{border-top:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;min-width:0;padding-top:14px;display:flex}._v_wrq_detailsSection>h3{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:18px}._v_wrq_detailsRelations{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;min-width:0;margin:0;font-size:13px;line-height:20px;display:grid}._v_wrq_detailsRelations>div{display:contents}._v_wrq_detailsRelations dt{color:var(--dsw-alias-label-secondary)}._v_wrq_detailsRelations dd{min-width:0;color:var(--dsw-alias-label-primary);flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}._v_wrq_detailsName{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}._v_wrq_detailsName:hover>span{text-underline-offset:3px;text-decoration:underline}._v_wrq_detailsBack{appearance:none;border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin:-4px 0 -6px -4px;padding:2px 4px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_detailsBack:hover{color:var(--dsw-alias-label-primary)}._v_wrq_detailsMissing{color:var(--dsw-alias-label-secondary)}._v_wrq_detailsEffect{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}._v_wrq_detailsBody ._v_wrq_optionsPanel{background:0 0;border-radius:0;margin:0;padding:0}._v_wrq_componentRowPage{flex-direction:column;gap:16px;min-width:0;display:flex}._v_wrq_detailsContributed{border-top:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:16px;min-width:0;padding-top:14px;display:flex}._v_wrq_panelSection{flex-direction:column;gap:8px;min-width:0;display:flex}._v_wrq_panelHeading{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;min-width:0;display:grid}._v_wrq_panelHeading h3{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:500;line-height:20px}._v_wrq_panelHeading p{color:var(--dsw-alias-label-tertiary);grid-column:1;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_panelHeading ._v_wrq_miniSpinner{grid-area:1/2}._v_wrq_panelNote{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}._v_wrq_panelActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;padding-top:8px;display:flex}._v_wrq_panelActions>span{min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:18px}._v_wrq_panelActions>span._v_wrq_panelError,._v_wrq_panelError{color:var(--dsw-alias-state-error-primary)}._v_wrq_rows>._v_wrq_panelActions{border-bottom:.5px solid var(--dsw-alias-border-l2);padding:10px 0}._v_wrq_rows>._v_wrq_panelNote{padding:8px 0}._v_wrq_panelError{margin:0;font-size:12px;line-height:18px}._v_wrq_boardRow{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;min-width:0;padding:14px 0;display:flex}._v_wrq_boardRowLine{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}._v_wrq_boardGroup>._v_wrq_boardRow:last-child,._v_wrq_boardOthersList>._v_wrq_boardRow:last-child{border-bottom:0;padding-bottom:4px}._v_wrq_boardMain{padding-top:12px}._v_wrq_boardEmpty{color:var(--dsw-alias-label-tertiary);margin:0;padding:12px 0 4px;font-size:12px;line-height:18px}._v_wrq_boardOthers{flex-direction:column;min-width:0;padding-top:10px;display:flex}._v_wrq_boardOthersToggle{border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}._v_wrq_boardOthersToggle:hover{color:var(--dsw-alias-label-primary)}._v_wrq_boardOthersToggle>svg{transition:transform .14s;transform:rotate(-90deg)}._v_wrq_boardOthersToggle[aria-expanded=true]>svg{transform:rotate(0)}._v_wrq_boardOthersList{flex-direction:column;min-width:0;display:flex}._v_wrq_boardFootnote{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:18px}._v_wrq_optionsPanel{border-radius:var(--dsw-radius-lg);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:14px;min-width:0;margin-top:12px;padding:14px 16px;display:flex}._v_wrq_optionField{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_optionLabel{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_optionLabel label{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}._v_wrq_optionDefault{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-tertiary);padding:0 6px;font-size:11px;line-height:16px}._v_wrq_optionReset{border-radius:var(--dsw-radius-sm);color:var(--dsw-alias-state-business-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px;line-height:18px}._v_wrq_optionReset:disabled{cursor:default;opacity:.5}._v_wrq_optionInput{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);width:100%;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);font:inherit;resize:vertical;outline:none;padding:7px 10px;font-size:13px;line-height:20px}._v_wrq_optionInput:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_optionInput[aria-invalid=true]{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_optionInput:disabled{opacity:.5}._v_wrq_optionHint{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_optionHint[data-error]{color:var(--dsw-alias-state-error-primary)}._v_wrq_optionChoices{flex-wrap:wrap;gap:6px 16px;min-width:0;display:flex}._v_wrq_optionEmpty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_boardControl{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px 12px;min-width:0;margin-left:auto;display:flex}._v_wrq_boardState{min-width:0;color:var(--dsw-alias-label-tertiary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_boardState[data-tone=warning],._v_wrq_boardState[data-tone=error]{color:var(--dsw-alias-label-secondary)}._v_wrq_boardValue{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:20px}@container (width<=420px){._v_wrq_boardMain ._v_wrq_boardControl{justify-content:stretch;width:100%}._v_wrq_boardMain ._v_wrq_boardControl>:last-child{flex:1}}@container (width<=180px){._v_wrq_boardSection ._v_wrq_sectionHeading p,._v_wrq_boardSection ._v_wrq_settingCopy small{display:none}._v_wrq_boardSection ._v_wrq_boardRow{padding:10px 0}._v_wrq_boardSection ._v_wrq_boardRowLine{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}._v_wrq_boardSection ._v_wrq_settingCopy{min-width:0}._v_wrq_boardSection ._v_wrq_settingCopy strong{overflow-wrap:anywhere}._v_wrq_boardSection ._v_wrq_boardControl{justify-self:end}}._v_wrq_placeholderRow{border-bottom:.5px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:16px;min-height:70px;display:flex}._v_wrq_placeholderRow span{background:var(--dsw-alias-bg-module-platform);border-radius:6px;height:12px;animation:1.4s ease-in-out infinite _v_wrq_placeholder-pulse}._v_wrq_placeholderRow span:first-child{width:38%}._v_wrq_placeholderRow span:last-child{border-radius:10px;width:36px;height:20px}@keyframes _v_wrq_placeholder-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){._v_wrq_boardRowCopy,._v_wrq_boardOthersToggle>svg{transition:none}._v_wrq_placeholderRow span{animation:none}}._v_wrq_selector{appearance:none;border-radius:var(--dsw-radius-md);max-width:280px;height:36px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-module-platform);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}._v_wrq_selector>span{text-overflow:ellipsis;min-width:0;overflow:hidden}._v_wrq_selector>svg{color:var(--dsw-alias-label-tertiary);flex:none}._v_wrq_selector:hover:not(:disabled),._v_wrq_selector[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_selector:disabled{cursor:default;opacity:.4}._v_wrq_selectMenu{min-width:220px}._v_wrq_selectOption{white-space:normal;gap:1px;min-width:0;display:grid}._v_wrq_selectOption>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_directoryInput{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font-family:var(--ds-font-family-code,ui-monospace, monospace);outline:none;padding:0 12px;font-size:12px;line-height:20px}._v_wrq_directoryInput::placeholder{color:var(--dsw-alias-label-dimmed);font-family:var(--dsw-font-family);font-size:13px}._v_wrq_directoryInput:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_directoryInput[aria-invalid=true]{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_directoryInput:disabled{cursor:default;opacity:.5}._v_wrq_rowDetail{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:10px;min-width:0;padding:0 0 14px;display:flex}._v_wrq_settingRow:has(+._v_wrq_rowDetail){border-bottom:0;padding-bottom:10px}._v_wrq_effectiveRoute{min-width:0;color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:18px;display:flex}._v_wrq_effectiveRoute code{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);min-width:0;color:var(--dsw-alias-label-secondary);font-family:var(--ds-font-family-code,ui-monospace, monospace);text-overflow:ellipsis;white-space:nowrap;padding:1px 6px;font-size:11px;line-height:16px;overflow:hidden}._v_wrq_effectiveRoute small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}._v_wrq_warning{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_advanced{min-width:0;padding:12px 0 2px}._v_wrq_advanced>summary{border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px;font-size:12px;font-weight:500;line-height:18px;list-style:none;display:inline-flex}._v_wrq_advanced>summary::-webkit-details-marker{display:none}._v_wrq_advanced>summary>svg{transition:transform .14s}._v_wrq_advanced[open]>summary>svg{transform:rotate(180deg)}._v_wrq_advanced>summary:hover{color:var(--dsw-alias-label-primary)}._v_wrq_advanced>._v_wrq_fieldGrid{padding-top:12px}._v_wrq_miniSpinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:14px;height:14px;margin-top:4px;animation:.7s linear infinite _v_wrq_settings-spin}@keyframes _v_wrq_settings-spin{to{transform:rotate(360deg)}}._v_wrq_providerList{flex-direction:column;gap:8px;min-width:0;margin-top:10px;display:flex}._v_wrq_providerRow{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-xl);background:var(--dsw-alias-settings-card-fill);overflow:hidden}._v_wrq_providerRowHeader{align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}summary._v_wrq_providerRowHeader{cursor:pointer;list-style:none}summary._v_wrq_providerRowHeader::-webkit-details-marker{display:none}._v_wrq_providerDisclosure{appearance:none;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;outline:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}._v_wrq_providerDisclosure:disabled{cursor:default}._v_wrq_providerDisclosure:focus-visible,summary._v_wrq_providerRowHeader:focus-visible{border-radius:var(--dsw-radius-md);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._v_wrq_providerIdentity{flex:1;align-items:center;gap:12px;min-width:0;display:flex}._v_wrq_providerIdentity>span{flex-direction:column;min-width:0;display:flex}._v_wrq_providerIdentity strong{font-size:14px;font-weight:500;line-height:22px}._v_wrq_providerIdentity small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}._v_wrq_providerMark{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);flex:none;place-items:center;width:36px;height:36px;padding:6px;display:grid;overflow:hidden}._v_wrq_providerMark>img,._v_wrq_providerMark>svg{object-fit:contain;border-radius:4px;width:100%;height:100%;display:block}._v_wrq_providerEnableControl{flex:none;align-items:center;gap:10px;display:flex}._v_wrq_providerScopeTag{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-secondary);flex:none;padding:1px 6px;font-size:11px;line-height:16px}._v_wrq_providerScopeTag[data-scope=workspace]{border-color:color-mix(in srgb, var(--dsw-alias-state-business-primary) 30%, transparent);color:var(--dsw-alias-state-business-primary)}._v_wrq_providerState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_providerState:before{content:\"\";background:var(--dsw-alias-state-idle-primary);border-radius:50%;flex:none;width:6px;height:6px}._v_wrq_providerState[data-enabled]:before{background:var(--dsw-alias-state-success-primary)}._v_wrq_providerChevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .14s}._v_wrq_providerDisclosure[aria-expanded=true] ._v_wrq_providerChevron,details[open]>summary ._v_wrq_providerChevron{transform:rotate(180deg)}._v_wrq_providerToggle{cursor:pointer;display:inline-flex;position:relative}._v_wrq_providerInlineBody{padding:0 14px 14px}._v_wrq_providerToggleError{color:var(--dsw-alias-state-error-primary);margin:0;padding:0 14px 12px;font-size:12px;line-height:18px}._v_wrq_providerServiceForm,._v_wrq_editor{border-radius:var(--dsw-radius-lg);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex}._v_wrq_providerServicePrompt,._v_wrq_editorNote{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_editorHeading h3{margin:0;font-size:14px;font-weight:500;line-height:22px}._v_wrq_editorHeading p{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_editor ._v_wrq_toggleRow{border-top:.5px solid var(--dsw-alias-border-l3);border-bottom:.5px solid var(--dsw-alias-border-l3);padding:10px 0}._v_wrq_embeddingTest{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}._v_wrq_embeddingTest>span{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_embeddingTest>span._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_embeddingTest>button{white-space:nowrap;flex:none}._v_wrq_embeddingSpaces{flex-direction:column;gap:4px;min-width:0;display:flex}._v_wrq_embeddingSpaces>small,._v_wrq_embeddingSpaces>p{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_embeddingSpaces>ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._v_wrq_embeddingSpaces li{min-width:0;min-height:28px;color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:0 12px;font-size:12px;line-height:20px;display:flex}._v_wrq_embeddingSpaceName{text-overflow:ellipsis;white-space:nowrap;flex:6em;min-width:0;overflow:hidden}._v_wrq_embeddingSpaceState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none}._v_wrq_embeddingSpaceCount{font-variant-numeric:tabular-nums;flex:none;margin-left:auto}._v_wrq_embeddingSpaces li>button{white-space:nowrap;flex:none}._v_wrq_embeddingSpaces li[data-missing]>._v_wrq_embeddingSpaceCount{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary))}._v_wrq_embeddingSpaces li[data-failed]>._v_wrq_embeddingSpaceCount{min-width:0;color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;flex:100%;margin-left:0}._v_wrq_embeddingFillOutcome{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_embeddingFillOutcome._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_globalLocationSetting{flex-direction:column;min-width:0;display:flex}._v_wrq_providerServiceLocation{border-bottom:.5px solid var(--dsw-alias-border-l3);padding-bottom:12px}._v_wrq_providerServiceLocation>._v_wrq_nativeLocation{padding:0 0 12px}._v_wrq_providerLocationField{padding-top:2px}._v_wrq_nativeLocation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}._v_wrq_inlineChoices{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover);flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}._v_wrq_inlineChoices label{cursor:pointer;position:relative}._v_wrq_inlineChoices input{z-index:1;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}._v_wrq_inlineChoices span{border-radius:var(--dsw-radius-sm);height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}._v_wrq_inlineChoices input:checked+span{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);box-shadow:var(--dsw-elevation-soft)}._v_wrq_inlineChoices input:focus-visible+span{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._v_wrq_inlineChoices input:disabled+span{cursor:default;opacity:.4}._v_wrq_fieldGrid,._v_wrq_providerSettingsGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;min-width:0;display:grid}._v_wrq_providerSettingsGrid{grid-template-columns:minmax(0,1fr)}._v_wrq_fieldGrid>label,._v_wrq_providerFieldControl>label:not(._v_wrq_providerBoolean){min-width:0;color:var(--dsw-alias-label-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:500;line-height:20px;display:flex}._v_wrq_fieldGrid input,._v_wrq_fieldGrid select,._v_wrq_providerFieldControl input:not([type=checkbox]),._v_wrq_providerFieldControl select{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;padding:0 12px;font-size:13px;font-weight:400;line-height:20px}._v_wrq_fieldGrid input::placeholder,._v_wrq_providerFieldControl input::placeholder{color:var(--dsw-alias-label-dimmed)}._v_wrq_fieldGrid select,._v_wrq_providerFieldControl select{appearance:none;cursor:pointer;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}._v_wrq_fieldGrid select:disabled,._v_wrq_providerFieldControl select:disabled{cursor:default}._v_wrq_fieldGrid input:focus-visible,._v_wrq_fieldGrid select:focus-visible,._v_wrq_providerFieldControl input:focus-visible,._v_wrq_providerFieldControl select:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_fieldGrid input[aria-invalid=true],._v_wrq_providerFieldControl input:invalid{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_fieldGrid input:disabled,._v_wrq_fieldGrid select:disabled,._v_wrq_providerFieldControl input:disabled,._v_wrq_providerFieldControl select:disabled{opacity:.5}._v_wrq_providerFieldControl{flex-direction:column;justify-content:flex-end;gap:4px;min-width:0;display:flex}._v_wrq_providerBoolean{min-height:34px;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;font-size:13px;display:flex}._v_wrq_providerBoolean input{width:16px;height:16px;accent-color:var(--dsw-alias-brand-primary);margin:0}._v_wrq_providerSecretInput{min-width:0;position:relative}._v_wrq_providerSecretInput>input{padding-right:40px}._v_wrq_providerSecretVisibility{appearance:none;border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:3px;right:3px}._v_wrq_providerSecretVisibility:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_providerSecretVisibility:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_providerSecretVisibility:disabled{cursor:default;opacity:.35}._v_wrq_providerSecretVisibility svg{width:16px;height:16px}._v_wrq_memoryConfigFooter{justify-content:space-between;align-items:center;gap:10px;min-height:36px;display:flex}._v_wrq_memoryConfigFooter>div{align-items:center;gap:6px;display:flex}._v_wrq_providerServiceFooter{align-items:flex-end;min-height:0}._v_wrq_configFeedback{flex:1;min-width:0;font-size:12px;line-height:18px}._v_wrq_scopeChanging,._v_wrq_providerTarget{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_scopeChanging{border-radius:var(--dsw-radius-md);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-warn-tertiary,var(--dsw-alias-bg-module-platform));padding:8px 12px}._v_wrq_providerLoadError{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}._v_wrq_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}._v_wrq_location{align-items:baseline;gap:6px;min-width:0;display:flex}._v_wrq_locationRow{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:10px;padding:14px 0}._v_wrq_rowActions{flex:none;align-items:center;gap:8px;display:flex}._v_wrq_packRow{flex-direction:column;gap:8px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_packRow>._v_wrq_settingRow{border-bottom:0;padding-bottom:6px}._v_wrq_packRow:has(>._v_wrq_packFeedback:empty):not(:has(>._v_wrq_importBar))>._v_wrq_settingRow{padding-bottom:0}._v_wrq_rows>._v_wrq_packRow:not(:last-child){border-bottom:.5px solid var(--dsw-alias-border-l2)}._v_wrq_importBar{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}._v_wrq_importBar>div{min-width:0;display:grid}._v_wrq_importBar strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}._v_wrq_importBar small{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_packFeedback{gap:4px;display:grid}._v_wrq_packFeedback:empty{display:none}._v_wrq_packFeedback p{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_readOnlyNotice{color:var(--dsw-alias-label-tertiary);margin:0 0 -20px;font-size:12px;line-height:18px}._v_wrq_packSuccess{color:var(--dsw-alias-state-success-primary)}._v_wrq_syncRow{flex-direction:column;gap:8px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_syncRow>._v_wrq_settingRow,._v_wrq_syncRow>._v_wrq_toggleRow{border-bottom:0;padding-bottom:6px}._v_wrq_rows>._v_wrq_syncRow:not(:last-child){border-bottom:.5px solid var(--dsw-alias-border-l2)}._v_wrq_syncState{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}._v_wrq_syncState>span{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncSuccess{color:var(--dsw-alias-state-success-primary)}._v_wrq_syncPanel{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-xl);flex-direction:column;min-width:0;padding:2px 16px;display:flex}._v_wrq_syncPanel>._v_wrq_settingRow{padding:12px 0}._v_wrq_syncPanel>p{overflow-wrap:anywhere;margin:12px 0;font-size:12px;line-height:18px}._v_wrq_syncPanel>:last-child,._v_wrq_syncPanel>:last-child>._v_wrq_settingRow:last-child{border-bottom:0}._v_wrq_syncFeedbackLine{padding-top:2px;display:block}._v_wrq_syncWarning{border-radius:var(--dsw-radius-md);min-width:0;color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-warn-tertiary,var(--dsw-alias-bg-module-platform));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:10px 0 2px;padding:6px 6px 6px 12px;font-size:12px;line-height:18px;display:flex}._v_wrq_syncWarning>span{overflow-wrap:anywhere;min-width:0}._v_wrq_syncConnect{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:4px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_syncConnect>._v_wrq_settingRow{border-bottom:0;padding-bottom:4px}._v_wrq_syncRepositoryState{flex-direction:column;gap:2px;min-width:0;display:flex}._v_wrq_syncRepositoryName{min-width:0;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._v_wrq_syncStateLine{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:inline-flex}._v_wrq_syncStateLine[data-tone=error]>span{color:var(--dsw-alias-state-error-primary)}._v_wrq_syncInlineAction{appearance:none;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--dsw-alias-border-l4);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;line-height:18px}._v_wrq_syncInlineAction:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration-color:currentColor}._v_wrq_syncInlineAction:disabled{cursor:default;opacity:.5}._v_wrq_syncInlineAction:focus-visible{border-radius:var(--dsw-radius-xs);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_syncFieldLabel{min-width:0;color:var(--dsw-alias-label-primary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:20px;display:flex}._v_wrq_syncFieldLabel>label{font:inherit}._v_wrq_fieldGrid>._v_wrq_syncFieldBox{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_fieldGrid label small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:18px}._v_wrq_fieldGrid label small._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_editor ._v_wrq_error,._v_wrq_editor ._v_wrq_syncSuccess{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncAccount{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_syncAccount>span{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;font-size:13px;line-height:20px}._v_wrq_syncDevice{gap:8px;min-width:0;display:grid}._v_wrq_syncCode{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_syncCode>code{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font-family:var(--ds-font-family-code,ui-monospace, monospace);letter-spacing:.08em;user-select:all;padding:4px 12px;font-size:16px;font-weight:500;line-height:24px}._v_wrq_syncPicker{gap:8px;min-width:0;display:grid}._v_wrq_syncRepositoryList{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);flex-direction:column;min-width:0;max-height:264px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}._v_wrq_syncRepositoryList>li{border-bottom:.5px solid var(--dsw-alias-border-l2);min-width:0}._v_wrq_syncRepositoryList>li:last-child{border-bottom:0}._v_wrq_syncRepositoryList>li._v_wrq_editorNote{padding:10px 12px}._v_wrq_syncRepositoryOption{appearance:none;width:100%;min-width:0;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;line-height:20px;display:flex}._v_wrq_syncRepositoryOption>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._v_wrq_syncRepositoryOption:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_syncRepositoryOption:disabled{cursor:default;opacity:.5}._v_wrq_syncRepositoryOption[aria-current=true]>span{font-weight:500}._v_wrq_syncRepositoryOption:focus-visible{box-shadow:inset 0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_syncAdvanced{flex-direction:column;gap:4px;min-width:0;padding-bottom:12px;display:flex}._v_wrq_syncDisclosure{appearance:none;width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 0 8px;display:flex}._v_wrq_syncDisclosure>span{color:var(--dsw-alias-label-primary);flex:none;font-size:14px;line-height:22px}._v_wrq_syncDisclosure>small{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;line-height:18px;overflow:hidden}._v_wrq_syncDisclosure[aria-expanded=true] ._v_wrq_providerChevron{transform:rotate(180deg)}._v_wrq_syncDisclosure:focus-visible{border-radius:var(--dsw-radius-md);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_editor>._v_wrq_inlineChoices{align-self:flex-start}._v_wrq_syncChoice{justify-items:start;gap:8px;min-width:0;display:grid}._v_wrq_syncChoice>._v_wrq_fieldGrid{width:100%}._v_wrq_syncDialogBody{gap:12px;min-width:0;display:grid}._v_wrq_syncDialogNote{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncDialogBody>._v_wrq_error,._v_wrq_syncDialogBody>._v_wrq_syncSuccess{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncHistoryList{margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncHistoryEntry{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:2px;min-width:0;padding:10px 0;display:grid}._v_wrq_syncHistoryEntry:first-child{padding-top:0}._v_wrq_syncHistoryEntry:last-child{border-bottom:0}._v_wrq_syncHistoryHead{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}._v_wrq_syncHistoryHead>strong{font-size:13px;font-weight:500;line-height:20px}._v_wrq_syncHistoryHead>span{min-width:0;color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;flex:1;font-size:12px;line-height:18px}._v_wrq_syncHistoryEntry>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncHistoryEntry>._v_wrq_syncHistoryMessage{color:var(--dsw-alias-label-secondary)}._v_wrq_syncCompareList{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-md);margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncCompareList>li{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-width:0;padding:10px 12px;display:flex}._v_wrq_syncCompareList>li:last-child{border-bottom:0}._v_wrq_syncCompareList>li>span{font-size:13px;line-height:20px}._v_wrq_syncCompareList>li>small{color:var(--dsw-alias-label-tertiary);text-align:right;overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncCompareList>li>small[data-differs]{color:var(--dsw-alias-label-primary)}._v_wrq_syncCompareNote{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);gap:6px;min-width:0;padding:10px 12px;display:grid}._v_wrq_syncCompareNote>._v_wrq_rowActions{justify-content:flex-start;gap:4px}._v_wrq_syncConflictList{gap:6px;margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncConflict{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-1);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;min-width:0;padding:8px 10px;display:grid}._v_wrq_syncConflict>span{overflow-wrap:anywhere;gap:2px;min-width:0;font-size:12px;line-height:18px;display:grid}._v_wrq_syncConflict>span>small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}._v_wrq_reviewList{gap:8px;display:grid}._v_wrq_reviewEntry{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}._v_wrq_reviewEntry>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewEntry>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewEntry>p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:20px}._v_wrq_reviewTitle{align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewTitle strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:20px}._v_wrq_reviewOperations{gap:4px;margin:0;padding-left:18px;display:grid}._v_wrq_reviewOperations li{overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewOperations small{color:var(--dsw-alias-label-tertiary);display:block}._v_wrq_reviewOpinions{gap:4px;display:grid}._v_wrq_reviewOpinions>strong{font-size:12px;font-weight:500;line-height:18px}._v_wrq_reviewOpinions>small{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_reviewOpinions>div{overflow-wrap:anywhere;gap:6px;min-width:0;font-size:12px;line-height:18px;display:flex}._v_wrq_reviewOpinions>div strong{color:var(--dsw-alias-label-secondary);flex:none;font-weight:500}._v_wrq_reviewOpinionForm{align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewOpinionForm>input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;flex:auto;padding:0 12px;font-size:13px;line-height:20px}._v_wrq_reviewOpinionForm>input:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_reviewOpinionForm>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewGuidance{gap:4px;display:grid}._v_wrq_reviewGuidance>label{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500;line-height:18px}._v_wrq_reviewGuidance>input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;padding:0 12px;font-size:13px;line-height:20px}._v_wrq_reviewGuidance>input:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_reviewGuidance>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewGuidance>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewSelection{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}._v_wrq_reviewSelection>small,._v_wrq_reviewSelected{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_reviewOperations>li{gap:2px;display:grid}._v_wrq_reviewOperations>li>label{cursor:pointer;align-items:flex-start;gap:6px;min-width:0;display:flex}._v_wrq_reviewOperations>li>label>input{flex:none;margin:3px 0 0}._v_wrq_reviewOperations>li>label>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewOperations>li[data-applied=true]{opacity:.55}._v_wrq_selector:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}@media (width<=620px){._v_wrq_page{gap:28px}._v_wrq_rowActions{width:100%}._v_wrq_rowActions button{flex:1}._v_wrq_importBar{grid-template-columns:minmax(0,1fr) auto}._v_wrq_importBar>button:last-child{grid-column:1/-1}._v_wrq_reviewOpinionForm{flex-wrap:wrap}._v_wrq_reviewOpinionForm>input{flex:100%}._v_wrq_inlineChoices{width:100%}._v_wrq_inlineChoices label{flex:1}._v_wrq_inlineChoices span{justify-content:center;width:100%}._v_wrq_providerRowHeader{align-items:flex-start;gap:8px}._v_wrq_providerEnableControl{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:132px}._v_wrq_providerState{text-overflow:ellipsis;max-width:120px;overflow:hidden}._v_wrq_memoryConfigFooter{flex-direction:column;align-items:stretch}._v_wrq_memoryConfigFooter>div:last-child{width:100%}._v_wrq_memoryConfigFooter button{flex:1}}@media (prefers-reduced-motion:reduce){._v_wrq_providerChevron,._v_wrq_advanced>summary>svg{transition:none}._v_wrq_miniSpinner{animation:none}}";
681
+ const css$13 = "._v_wrq_page{box-sizing:border-box;width:100%;min-width:0;color:var(--dsw-alias-label-primary);flex-direction:column;gap:32px;font-family:inherit;display:flex}._v_wrq_surface{color:var(--dsw-alias-label-primary)}:where(._v_wrq_page,._v_wrq_surface) *,:where(._v_wrq_page,._v_wrq_surface) :before,:where(._v_wrq_page,._v_wrq_surface) :after{box-sizing:border-box}:where(._v_wrq_page,._v_wrq_surface) :where(button,input,select,textarea){color:inherit;font:inherit}._v_wrq_loading{min-height:140px;color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:13px;line-height:140px}._v_wrq_section{flex-direction:column;gap:4px;min-width:0;display:flex}._v_wrq_sectionHeading{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;min-width:0;display:grid}._v_wrq_sectionHeading h2{grid-column:1;margin:0;font-size:14px;font-weight:500;line-height:20px}._v_wrq_sectionHeading p{max-width:66ch;color:var(--dsw-alias-label-tertiary);grid-column:1;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_sectionHeading ._v_wrq_miniSpinner{grid-area:1/2}._v_wrq_sectionHeading>._v_wrq_boardLinks{grid-column:1;padding-top:6px}._v_wrq_componentListNote{max-width:72ch;color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_appliesNow{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-secondary);white-space:nowrap;grid-area:1/2;align-self:center;padding:1px 6px;font-size:11px;line-height:16px}._v_wrq_rows{flex-direction:column;min-width:0;display:flex}._v_wrq_settingRow,._v_wrq_toggleRow{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;padding:14px 0;display:flex;position:relative}._v_wrq_rows>:last-child,._v_wrq_rows>._v_wrq_packRow:last-child>._v_wrq_settingRow{border-bottom:0}._v_wrq_rows>._v_wrq_packRow:last-child{padding-bottom:0}._v_wrq_settingRow[data-stacked]{flex-direction:column;align-items:stretch}._v_wrq_settingCopy{flex-direction:column;flex:1 1 0;gap:2px;min-width:min(240px,100%);display:flex}._v_wrq_settingCopy strong,._v_wrq_settingCopy label{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}._v_wrq_settingCopy small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_settingCopy code{font-family:var(--ds-font-family-code,ui-monospace, monospace)}._v_wrq_settingControl{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_settingRow[data-stacked] ._v_wrq_settingControl{flex:auto;justify-content:stretch}._v_wrq_switch{flex:none}._v_wrq_rowNote{min-width:0;color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:4px 8px;padding-top:4px;font-size:12px;line-height:18px;display:flex}._v_wrq_groupCallout{margin:8px 0 4px}._v_wrq_boardSection{container-type:inline-size}._v_wrq_board{flex-direction:column;min-width:0;margin-top:10px;display:flex}._v_wrq_boardProblem{margin:0 0 4px}._v_wrq_boardLoading{min-height:40px;color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;margin:0;font-size:13px;line-height:20px;display:flex}._v_wrq_boardGroup{flex-direction:column;min-width:0;padding-top:14px;display:flex}._v_wrq_boardGroupHead{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}._v_wrq_boardGroupHead h3{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:18px}._v_wrq_boardGroupHead span{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px;line-height:18px}._v_wrq_pageLink{appearance:none;border-radius:var(--dsw-radius-sm);max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}._v_wrq_pageLink>span{overflow-wrap:anywhere;min-width:0}._v_wrq_pageLink:hover>span{text-underline-offset:3px;text-decoration:underline}._v_wrq_settingCopy ._v_wrq_pageLink{width:fit-content;color:var(--dsw-alias-label-primary);font-size:14px;line-height:22px}._v_wrq_boardIconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}._v_wrq_boardIconButton:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_boardLinks{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;padding-top:4px;display:flex}._v_wrq_boardLink{appearance:none;border:.5px solid var(--dsw-alias-border-l3);max-width:100%;color:var(--dsw-alias-label-tertiary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;line-height:18px;transition:color .12s,border-color .12s;display:inline-flex}._v_wrq_boardLink[data-on]{color:var(--dsw-alias-label-secondary)}._v_wrq_boardLink:hover{border-color:var(--dsw-alias-border-l4);color:var(--dsw-alias-label-primary)}._v_wrq_boardLink>svg{flex:none}._v_wrq_boardLinksLabel{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_pageLink:focus-visible,._v_wrq_boardIconButton:focus-visible,._v_wrq_boardLink:focus-visible,._v_wrq_detailsBack:focus-visible,._v_wrq_boardSearch:focus-within{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_boardSearch{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);min-width:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);align-items:center;gap:8px;margin:12px 0 0;padding:0 10px;display:flex}._v_wrq_boardSearch input{min-width:0;height:32px;color:var(--dsw-alias-label-primary);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}._v_wrq_detailsDialog{width:min(560px,100%);max-height:100%}._v_wrq_detailsScroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}._v_wrq_detailsBody{flex-direction:column;gap:16px;min-width:0;display:flex}._v_wrq_detailsHead{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_detailsHeadLine{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}._v_wrq_detailsPackage{min-width:0;color:var(--dsw-alias-label-tertiary);font-family:var(--ds-font-family-code,ui-monospace, monospace);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}._v_wrq_detailsControl{align-items:center;margin-left:auto;display:flex}._v_wrq_detailsSection{border-top:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:8px;min-width:0;padding-top:14px;display:flex}._v_wrq_detailsSection>h3{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:500;line-height:18px}._v_wrq_detailsRelations{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;min-width:0;margin:0;font-size:13px;line-height:20px;display:grid}._v_wrq_detailsRelations>div{display:contents}._v_wrq_detailsRelations dt{color:var(--dsw-alias-label-secondary)}._v_wrq_detailsRelations dd{min-width:0;color:var(--dsw-alias-label-primary);flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}._v_wrq_detailsName{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}._v_wrq_detailsName:hover>span{text-underline-offset:3px;text-decoration:underline}._v_wrq_detailsBack{appearance:none;border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin:-4px 0 -6px -4px;padding:2px 4px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_detailsBack:hover{color:var(--dsw-alias-label-primary)}._v_wrq_detailsMissing{color:var(--dsw-alias-label-secondary)}._v_wrq_detailsEffect{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}._v_wrq_detailsBody ._v_wrq_optionsPanel{background:0 0;border-radius:0;margin:0;padding:0}._v_wrq_componentRowPage{flex-direction:column;gap:16px;min-width:0;display:flex}._v_wrq_detailsContributed{border-top:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:16px;min-width:0;padding-top:14px;display:flex}._v_wrq_panelSection{flex-direction:column;gap:8px;min-width:0;display:flex}._v_wrq_panelHeading{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;min-width:0;display:grid}._v_wrq_panelHeading h3{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:500;line-height:20px}._v_wrq_panelHeading p{color:var(--dsw-alias-label-tertiary);grid-column:1;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_panelHeading ._v_wrq_miniSpinner{grid-area:1/2}._v_wrq_panelNote{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}._v_wrq_panelActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;padding-top:8px;display:flex}._v_wrq_panelActions>span{min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:18px}._v_wrq_panelActions>span._v_wrq_panelError,._v_wrq_panelError{color:var(--dsw-alias-state-error-primary)}._v_wrq_rows>._v_wrq_panelActions{border-bottom:.5px solid var(--dsw-alias-border-l2);padding:10px 0}._v_wrq_rows>._v_wrq_panelNote{padding:8px 0}._v_wrq_panelError{margin:0;font-size:12px;line-height:18px}._v_wrq_boardRow{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;min-width:0;padding:14px 0;display:flex}._v_wrq_boardRowLine{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}._v_wrq_boardGroup>._v_wrq_boardRow:last-child,._v_wrq_boardOthersList>._v_wrq_boardRow:last-child{border-bottom:0;padding-bottom:4px}._v_wrq_boardMain{padding-top:12px}._v_wrq_boardEmpty{color:var(--dsw-alias-label-tertiary);margin:0;padding:12px 0 4px;font-size:12px;line-height:18px}._v_wrq_boardOthers{flex-direction:column;min-width:0;padding-top:10px;display:flex}._v_wrq_boardOthersToggle{border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}._v_wrq_boardOthersToggle:hover{color:var(--dsw-alias-label-primary)}._v_wrq_boardOthersToggle>svg{transition:transform .14s;transform:rotate(-90deg)}._v_wrq_boardOthersToggle[aria-expanded=true]>svg{transform:rotate(0)}._v_wrq_boardOthersList{flex-direction:column;min-width:0;display:flex}._v_wrq_boardFootnote{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:18px}._v_wrq_optionsPanel{border-radius:var(--dsw-radius-lg);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:14px;min-width:0;margin-top:12px;padding:14px 16px;display:flex}._v_wrq_optionField{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_optionLabel{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_optionLabel label{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}._v_wrq_optionDefault{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-tertiary);padding:0 6px;font-size:11px;line-height:16px}._v_wrq_optionReset{border-radius:var(--dsw-radius-sm);color:var(--dsw-alias-state-business-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px;line-height:18px}._v_wrq_optionReset:disabled{cursor:default;opacity:.5}._v_wrq_optionInput{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);width:100%;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);font:inherit;resize:vertical;outline:none;padding:7px 10px;font-size:13px;line-height:20px}._v_wrq_optionInput:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_optionInput[aria-invalid=true]{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_optionInput:disabled{opacity:.5}._v_wrq_optionHint{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_optionHint[data-error]{color:var(--dsw-alias-state-error-primary)}._v_wrq_optionChoices{flex-wrap:wrap;gap:6px 16px;min-width:0;display:flex}._v_wrq_optionEmpty{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_boardControl{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px 12px;min-width:0;margin-left:auto;display:flex}._v_wrq_boardState{min-width:0;color:var(--dsw-alias-label-tertiary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_boardState[data-tone=warning],._v_wrq_boardState[data-tone=error]{color:var(--dsw-alias-label-secondary)}._v_wrq_boardValue{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:20px}@container (width<=420px){._v_wrq_boardMain ._v_wrq_boardControl{justify-content:stretch;width:100%}._v_wrq_boardMain ._v_wrq_boardControl>:last-child{flex:1}}@container (width<=180px){._v_wrq_boardSection ._v_wrq_sectionHeading p,._v_wrq_boardSection ._v_wrq_settingCopy small{display:none}._v_wrq_boardSection ._v_wrq_boardRow{padding:10px 0}._v_wrq_boardSection ._v_wrq_boardRowLine{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}._v_wrq_boardSection ._v_wrq_settingCopy{min-width:0}._v_wrq_boardSection ._v_wrq_settingCopy strong{overflow-wrap:anywhere}._v_wrq_boardSection ._v_wrq_boardControl{justify-self:end}}._v_wrq_placeholderRow{border-bottom:.5px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:16px;min-height:70px;display:flex}._v_wrq_placeholderRow span{background:var(--dsw-alias-bg-module-platform);border-radius:6px;height:12px;animation:1.4s ease-in-out infinite _v_wrq_placeholder-pulse}._v_wrq_placeholderRow span:first-child{width:38%}._v_wrq_placeholderRow span:last-child{border-radius:10px;width:36px;height:20px}@keyframes _v_wrq_placeholder-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){._v_wrq_boardOthersToggle>svg{transition:none}._v_wrq_placeholderRow span{animation:none}}._v_wrq_selector{appearance:none;border-radius:var(--dsw-radius-md);max-width:280px;height:36px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-module-platform);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}._v_wrq_selector>span{text-overflow:ellipsis;min-width:0;overflow:hidden}._v_wrq_selector>svg{color:var(--dsw-alias-label-tertiary);flex:none}._v_wrq_selector:hover:not(:disabled),._v_wrq_selector[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_selector:disabled{cursor:default;opacity:.4}._v_wrq_selectMenu{min-width:220px}._v_wrq_selectOption{white-space:normal;gap:1px;min-width:0;display:grid}._v_wrq_selectOption>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_directoryInput{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font-family:var(--ds-font-family-code,ui-monospace, monospace);outline:none;padding:0 12px;font-size:12px;line-height:20px}._v_wrq_directoryInput::placeholder{color:var(--dsw-alias-label-dimmed);font-family:var(--dsw-font-family);font-size:13px}._v_wrq_directoryInput:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_directoryInput[aria-invalid=true]{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_directoryInput:disabled{cursor:default;opacity:.5}._v_wrq_rowDetail{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:10px;min-width:0;padding:0 0 14px;display:flex}._v_wrq_settingRow:has(+._v_wrq_rowDetail){border-bottom:0;padding-bottom:10px}._v_wrq_effectiveRoute{min-width:0;color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:18px;display:flex}._v_wrq_effectiveRoute code{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);min-width:0;color:var(--dsw-alias-label-secondary);font-family:var(--ds-font-family-code,ui-monospace, monospace);text-overflow:ellipsis;white-space:nowrap;padding:1px 6px;font-size:11px;line-height:16px;overflow:hidden}._v_wrq_effectiveRoute small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}._v_wrq_routeValue{align-items:center;gap:8px;min-width:0;display:inline-flex}._v_wrq_warning{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_advanced{min-width:0;padding:12px 0 2px}._v_wrq_advanced>summary{border-radius:var(--dsw-radius-sm);width:fit-content;color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px;font-size:12px;font-weight:500;line-height:18px;list-style:none;display:inline-flex}._v_wrq_advanced>summary::-webkit-details-marker{display:none}._v_wrq_advanced>summary>svg{transition:transform .14s}._v_wrq_advanced[open]>summary>svg{transform:rotate(180deg)}._v_wrq_advanced>summary:hover{color:var(--dsw-alias-label-primary)}._v_wrq_advanced>._v_wrq_fieldGrid{padding-top:12px}._v_wrq_miniSpinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:14px;height:14px;margin-top:4px;animation:.7s linear infinite _v_wrq_settings-spin}@keyframes _v_wrq_settings-spin{to{transform:rotate(360deg)}}._v_wrq_providerList{flex-direction:column;gap:8px;min-width:0;margin-top:10px;display:flex}._v_wrq_providerRow{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-xl);background:var(--dsw-alias-settings-card-fill);overflow:hidden}._v_wrq_providerRowHeader{align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}summary._v_wrq_providerRowHeader{cursor:pointer;list-style:none}summary._v_wrq_providerRowHeader::-webkit-details-marker{display:none}._v_wrq_providerDisclosure{appearance:none;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;outline:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}._v_wrq_providerDisclosure:disabled{cursor:default}._v_wrq_providerDisclosure:focus-visible,summary._v_wrq_providerRowHeader:focus-visible{border-radius:var(--dsw-radius-md);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._v_wrq_providerIdentity{flex:1;align-items:center;gap:12px;min-width:0;display:flex}._v_wrq_providerIdentity>span{flex-direction:column;min-width:0;display:flex}._v_wrq_providerIdentity strong{font-size:14px;font-weight:500;line-height:22px}._v_wrq_providerIdentity small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}._v_wrq_providerMark{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);flex:none;place-items:center;width:36px;height:36px;padding:6px;display:grid;overflow:hidden}._v_wrq_providerMark>img,._v_wrq_providerMark>svg{object-fit:contain;border-radius:4px;width:100%;height:100%;display:block}._v_wrq_providerEnableControl{flex:none;align-items:center;gap:10px;display:flex}._v_wrq_providerScopeTag{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-xs);color:var(--dsw-alias-label-secondary);flex:none;padding:1px 6px;font-size:11px;line-height:16px}._v_wrq_providerScopeTag[data-scope=workspace]{border-color:color-mix(in srgb, var(--dsw-alias-state-business-primary) 30%, transparent);color:var(--dsw-alias-state-business-primary)}._v_wrq_providerState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}._v_wrq_providerState:before{content:\"\";background:var(--dsw-alias-state-idle-primary);border-radius:50%;flex:none;width:6px;height:6px}._v_wrq_providerState[data-enabled]:before{background:var(--dsw-alias-state-success-primary)}._v_wrq_providerChevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .14s}._v_wrq_providerDisclosure[aria-expanded=true] ._v_wrq_providerChevron,details[open]>summary ._v_wrq_providerChevron{transform:rotate(180deg)}._v_wrq_providerToggle{cursor:pointer;display:inline-flex;position:relative}._v_wrq_providerInlineBody{padding:0 14px 14px}._v_wrq_providerToggleError{color:var(--dsw-alias-state-error-primary);margin:0;padding:0 14px 12px;font-size:12px;line-height:18px}._v_wrq_providerServiceForm,._v_wrq_editor{border-radius:var(--dsw-radius-lg);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex}._v_wrq_providerServicePrompt,._v_wrq_editorNote{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_editorHeading h3{margin:0;font-size:14px;font-weight:500;line-height:22px}._v_wrq_editorHeading p{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;line-height:18px}._v_wrq_editor ._v_wrq_toggleRow{border-top:.5px solid var(--dsw-alias-border-l3);border-bottom:.5px solid var(--dsw-alias-border-l3);padding:10px 0}._v_wrq_embeddingTest{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}._v_wrq_embeddingTest>span{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_embeddingTest>span._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_embeddingTest>button{white-space:nowrap;flex:none}._v_wrq_embeddingSpaces{flex-direction:column;gap:4px;min-width:0;display:flex}._v_wrq_embeddingSpaces>small,._v_wrq_embeddingSpaces>p{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_embeddingSpaces>ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._v_wrq_embeddingSpaces li{min-width:0;min-height:28px;color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:0 12px;font-size:12px;line-height:20px;display:flex}._v_wrq_embeddingSpaceName{text-overflow:ellipsis;white-space:nowrap;flex:6em;min-width:0;overflow:hidden}._v_wrq_embeddingSpaceState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none}._v_wrq_embeddingSpaceCount{font-variant-numeric:tabular-nums;flex:none;margin-left:auto}._v_wrq_embeddingSpaces li>button{white-space:nowrap;flex:none}._v_wrq_embeddingSpaces li[data-missing]>._v_wrq_embeddingSpaceCount{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary))}._v_wrq_embeddingSpaces li[data-failed]>._v_wrq_embeddingSpaceCount{min-width:0;color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;flex:100%;margin-left:0}._v_wrq_embeddingFillOutcome{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_embeddingFillOutcome._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_globalLocationSetting{flex-direction:column;min-width:0;display:flex}._v_wrq_providerServiceLocation{border-bottom:.5px solid var(--dsw-alias-border-l3);padding-bottom:12px}._v_wrq_providerServiceLocation>._v_wrq_nativeLocation{padding:0 0 12px}._v_wrq_providerLocationField{padding-top:2px}._v_wrq_nativeLocation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:flex}._v_wrq_inlineChoices{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-interactive-bg-hover);flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}._v_wrq_inlineChoices label{cursor:pointer;position:relative}._v_wrq_inlineChoices input{z-index:1;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}._v_wrq_inlineChoices span{border-radius:var(--dsw-radius-sm);height:28px;color:var(--dsw-alias-label-secondary);white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex}._v_wrq_inlineChoices input:checked+span{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);box-shadow:var(--dsw-elevation-soft)}._v_wrq_inlineChoices input:focus-visible+span{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary))}._v_wrq_inlineChoices input:disabled+span{cursor:default;opacity:.4}._v_wrq_fieldGrid,._v_wrq_providerSettingsGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;min-width:0;display:grid}._v_wrq_providerSettingsGrid{grid-template-columns:minmax(0,1fr)}._v_wrq_fieldGrid>label,._v_wrq_providerFieldControl>label:not(._v_wrq_providerBoolean){min-width:0;color:var(--dsw-alias-label-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:500;line-height:20px;display:flex}._v_wrq_fieldGrid input,._v_wrq_fieldGrid select,._v_wrq_providerFieldControl input:not([type=checkbox]),._v_wrq_providerFieldControl select{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;padding:0 12px;font-size:13px;font-weight:400;line-height:20px}._v_wrq_fieldGrid input::placeholder,._v_wrq_providerFieldControl input::placeholder{color:var(--dsw-alias-label-dimmed)}._v_wrq_fieldGrid select,._v_wrq_providerFieldControl select{appearance:none;cursor:pointer;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2381858C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}._v_wrq_fieldGrid select:disabled,._v_wrq_providerFieldControl select:disabled{cursor:default}._v_wrq_fieldGrid input:focus-visible,._v_wrq_fieldGrid select:focus-visible,._v_wrq_providerFieldControl input:focus-visible,._v_wrq_providerFieldControl select:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_fieldGrid input[aria-invalid=true],._v_wrq_providerFieldControl input:invalid{border-color:var(--dsw-alias-state-error-primary)}._v_wrq_fieldGrid input:disabled,._v_wrq_fieldGrid select:disabled,._v_wrq_providerFieldControl input:disabled,._v_wrq_providerFieldControl select:disabled{opacity:.5}._v_wrq_providerFieldControl{flex-direction:column;justify-content:flex-end;gap:4px;min-width:0;display:flex}._v_wrq_providerBoolean{min-height:34px;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;font-size:13px;display:flex}._v_wrq_providerBoolean input{width:16px;height:16px;accent-color:var(--dsw-alias-brand-primary);margin:0}._v_wrq_providerSecretInput{min-width:0;position:relative}._v_wrq_providerSecretInput>input{padding-right:40px}._v_wrq_providerSecretVisibility{appearance:none;border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:3px;right:3px}._v_wrq_providerSecretVisibility:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_providerSecretVisibility:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_providerSecretVisibility:disabled{cursor:default;opacity:.35}._v_wrq_providerSecretVisibility svg{width:16px;height:16px}._v_wrq_memoryConfigFooter{justify-content:space-between;align-items:center;gap:10px;min-height:36px;display:flex}._v_wrq_memoryConfigFooter>div{align-items:center;gap:6px;display:flex}._v_wrq_providerServiceFooter{align-items:flex-end;min-height:0}._v_wrq_configFeedback{flex:1;min-width:0;font-size:12px;line-height:18px}._v_wrq_scopeChanging,._v_wrq_providerTarget{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:18px}._v_wrq_scopeChanging{border-radius:var(--dsw-radius-md);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-warn-tertiary,var(--dsw-alias-bg-module-platform));padding:8px 12px}._v_wrq_providerLoadError{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}._v_wrq_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}._v_wrq_location{align-items:baseline;gap:6px;min-width:0;display:flex}._v_wrq_locationRow{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:10px;padding:14px 0}._v_wrq_rowActions{flex:none;align-items:center;gap:8px;display:flex}._v_wrq_packRow{flex-direction:column;gap:8px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_packRow>._v_wrq_settingRow{border-bottom:0;padding-bottom:6px}._v_wrq_packRow:has(>._v_wrq_packFeedback:empty):not(:has(>._v_wrq_importBar))>._v_wrq_settingRow{padding-bottom:0}._v_wrq_rows>._v_wrq_packRow:not(:last-child){border-bottom:.5px solid var(--dsw-alias-border-l2)}._v_wrq_importBar{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}._v_wrq_importBar>div{min-width:0;display:grid}._v_wrq_importBar strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}._v_wrq_importBar small{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_packFeedback{gap:4px;display:grid}._v_wrq_packFeedback:empty{display:none}._v_wrq_packFeedback p{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_readOnlyNotice{color:var(--dsw-alias-label-tertiary);margin:0 0 -20px;font-size:12px;line-height:18px}._v_wrq_packSuccess{color:var(--dsw-alias-state-success-primary)}._v_wrq_syncRow{flex-direction:column;gap:8px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_syncRow>._v_wrq_settingRow,._v_wrq_syncRow>._v_wrq_toggleRow{border-bottom:0;padding-bottom:6px}._v_wrq_rows>._v_wrq_syncRow:not(:last-child){border-bottom:.5px solid var(--dsw-alias-border-l2)}._v_wrq_syncState{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}._v_wrq_syncState>span{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncSuccess{color:var(--dsw-alias-state-success-primary)}._v_wrq_syncPanel{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-xl);flex-direction:column;min-width:0;padding:2px 16px;display:flex}._v_wrq_syncPanel>._v_wrq_settingRow{padding:12px 0}._v_wrq_syncPanel>p{overflow-wrap:anywhere;margin:12px 0;font-size:12px;line-height:18px}._v_wrq_syncPanel>:last-child,._v_wrq_syncPanel>:last-child>._v_wrq_settingRow:last-child{border-bottom:0}._v_wrq_syncFeedbackLine{padding-top:2px;display:block}._v_wrq_syncWarning{border-radius:var(--dsw-radius-md);min-width:0;color:var(--dsw-alias-state-warn-label,var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-warn-tertiary,var(--dsw-alias-bg-module-platform));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:10px 0 2px;padding:6px 6px 6px 12px;font-size:12px;line-height:18px;display:flex}._v_wrq_syncWarning>span{overflow-wrap:anywhere;min-width:0}._v_wrq_syncConnect{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:4px;min-width:0;padding-bottom:14px;display:flex}._v_wrq_syncConnect>._v_wrq_settingRow{border-bottom:0;padding-bottom:4px}._v_wrq_syncRepositoryState{flex-direction:column;gap:2px;min-width:0;display:flex}._v_wrq_syncRepositoryName{min-width:0;color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._v_wrq_syncStateLine{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:inline-flex}._v_wrq_syncStateLine[data-tone=error]>span{color:var(--dsw-alias-state-error-primary)}._v_wrq_syncInlineAction{appearance:none;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--dsw-alias-border-l4);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;line-height:18px}._v_wrq_syncInlineAction:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration-color:currentColor}._v_wrq_syncInlineAction:disabled{cursor:default;opacity:.5}._v_wrq_syncInlineAction:focus-visible{border-radius:var(--dsw-radius-xs);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_syncFieldLabel{min-width:0;color:var(--dsw-alias-label-primary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:20px;display:flex}._v_wrq_syncFieldLabel>label{font:inherit}._v_wrq_fieldGrid>._v_wrq_syncFieldBox{flex-direction:column;gap:6px;min-width:0;display:flex}._v_wrq_fieldGrid label small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:18px}._v_wrq_fieldGrid label small._v_wrq_error{color:var(--dsw-alias-state-error-primary)}._v_wrq_editor ._v_wrq_error,._v_wrq_editor ._v_wrq_syncSuccess{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncAccount{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_syncAccount>span{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;font-size:13px;line-height:20px}._v_wrq_syncDevice{gap:8px;min-width:0;display:grid}._v_wrq_syncCode{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_syncCode>code{border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font-family:var(--ds-font-family-code,ui-monospace, monospace);letter-spacing:.08em;user-select:all;padding:4px 12px;font-size:16px;font-weight:500;line-height:24px}._v_wrq_syncPicker{gap:8px;min-width:0;display:grid}._v_wrq_syncRepositoryList{border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);flex-direction:column;min-width:0;max-height:264px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}._v_wrq_syncRepositoryList>li{border-bottom:.5px solid var(--dsw-alias-border-l2);min-width:0}._v_wrq_syncRepositoryList>li:last-child{border-bottom:0}._v_wrq_syncRepositoryList>li._v_wrq_editorNote{padding:10px 12px}._v_wrq_syncRepositoryOption{appearance:none;width:100%;min-width:0;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;line-height:20px;display:flex}._v_wrq_syncRepositoryOption>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._v_wrq_syncRepositoryOption:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._v_wrq_syncRepositoryOption:disabled{cursor:default;opacity:.5}._v_wrq_syncRepositoryOption[aria-current=true]>span{font-weight:500}._v_wrq_syncRepositoryOption:focus-visible{box-shadow:inset 0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_syncAdvanced{flex-direction:column;gap:4px;min-width:0;padding-bottom:12px;display:flex}._v_wrq_syncDisclosure{appearance:none;width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 0 8px;display:flex}._v_wrq_syncDisclosure>span{color:var(--dsw-alias-label-primary);flex:none;font-size:14px;line-height:22px}._v_wrq_syncDisclosure>small{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;line-height:18px;overflow:hidden}._v_wrq_syncDisclosure[aria-expanded=true] ._v_wrq_providerChevron{transform:rotate(180deg)}._v_wrq_syncDisclosure:focus-visible{border-radius:var(--dsw-radius-md);box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}._v_wrq_editor>._v_wrq_inlineChoices{align-self:flex-start}._v_wrq_syncChoice{justify-items:start;gap:8px;min-width:0;display:grid}._v_wrq_syncChoice>._v_wrq_fieldGrid{width:100%}._v_wrq_syncDialogBody{gap:12px;min-width:0;display:grid}._v_wrq_syncDialogNote{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncDialogBody>._v_wrq_error,._v_wrq_syncDialogBody>._v_wrq_syncSuccess{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._v_wrq_syncHistoryList{margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncHistoryEntry{border-bottom:.5px solid var(--dsw-alias-border-l2);gap:2px;min-width:0;padding:10px 0;display:grid}._v_wrq_syncHistoryEntry:first-child{padding-top:0}._v_wrq_syncHistoryEntry:last-child{border-bottom:0}._v_wrq_syncHistoryHead{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}._v_wrq_syncHistoryHead>strong{font-size:13px;font-weight:500;line-height:20px}._v_wrq_syncHistoryHead>span{min-width:0;color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;flex:1;font-size:12px;line-height:18px}._v_wrq_syncHistoryEntry>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncHistoryEntry>._v_wrq_syncHistoryMessage{color:var(--dsw-alias-label-secondary)}._v_wrq_syncCompareList{border:.5px solid var(--dsw-alias-settings-card-stroke);border-radius:var(--dsw-radius-md);margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncCompareList>li{border-bottom:.5px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-width:0;padding:10px 12px;display:flex}._v_wrq_syncCompareList>li:last-child{border-bottom:0}._v_wrq_syncCompareList>li>span{font-size:13px;line-height:20px}._v_wrq_syncCompareList>li>small{color:var(--dsw-alias-label-tertiary);text-align:right;overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_syncCompareList>li>small[data-differs]{color:var(--dsw-alias-label-primary)}._v_wrq_syncCompareNote{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);gap:6px;min-width:0;padding:10px 12px;display:grid}._v_wrq_syncCompareNote>._v_wrq_rowActions{justify-content:flex-start;gap:4px}._v_wrq_syncConflictList{gap:6px;margin:0;padding:0;list-style:none;display:grid}._v_wrq_syncConflict{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-1);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;min-width:0;padding:8px 10px;display:grid}._v_wrq_syncConflict>span{overflow-wrap:anywhere;gap:2px;min-width:0;font-size:12px;line-height:18px;display:grid}._v_wrq_syncConflict>span>small{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}._v_wrq_reviewList{gap:8px;display:grid}._v_wrq_reviewEntry{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}._v_wrq_reviewEntry>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewEntry>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewEntry>p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:20px}._v_wrq_reviewTitle{align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewTitle strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:20px}._v_wrq_reviewOperations{gap:4px;margin:0;padding-left:18px;display:grid}._v_wrq_reviewOperations li{overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewOperations small{color:var(--dsw-alias-label-tertiary);display:block}._v_wrq_reviewOpinions{gap:4px;display:grid}._v_wrq_reviewOpinions>strong{font-size:12px;font-weight:500;line-height:18px}._v_wrq_reviewOpinions>small{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_reviewOpinions>div{overflow-wrap:anywhere;gap:6px;min-width:0;font-size:12px;line-height:18px;display:flex}._v_wrq_reviewOpinions>div strong{color:var(--dsw-alias-label-secondary);flex:none;font-weight:500}._v_wrq_reviewOpinionForm{align-items:center;gap:8px;min-width:0;display:flex}._v_wrq_reviewOpinionForm>input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);min-width:0;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;flex:auto;padding:0 12px;font-size:13px;line-height:20px}._v_wrq_reviewOpinionForm>input:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_reviewOpinionForm>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewGuidance{gap:4px;display:grid}._v_wrq_reviewGuidance>label{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500;line-height:18px}._v_wrq_reviewGuidance>input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);width:100%;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);font:inherit;outline:none;padding:0 12px;font-size:13px;line-height:20px}._v_wrq_reviewGuidance>input:focus-visible{border-color:var(--dsw-alias-state-business-primary)}._v_wrq_reviewGuidance>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewGuidance>small{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;font-size:12px;line-height:18px}._v_wrq_reviewSelection{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}._v_wrq_reviewSelection>small,._v_wrq_reviewSelected{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}._v_wrq_reviewOperations>li{gap:2px;display:grid}._v_wrq_reviewOperations>li>label{cursor:pointer;align-items:flex-start;gap:6px;min-width:0;display:flex}._v_wrq_reviewOperations>li>label>input{flex:none;margin:3px 0 0}._v_wrq_reviewOperations>li>label>input:disabled{cursor:default;opacity:.5}._v_wrq_reviewOperations>li[data-applied=true]{opacity:.55}._v_wrq_selector:focus-visible{box-shadow:0 0 0 2px var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline:none}@media (width<=620px){._v_wrq_page{gap:28px}._v_wrq_rowActions{width:100%}._v_wrq_rowActions button{flex:1}._v_wrq_importBar{grid-template-columns:minmax(0,1fr) auto}._v_wrq_importBar>button:last-child{grid-column:1/-1}._v_wrq_reviewOpinionForm{flex-wrap:wrap}._v_wrq_reviewOpinionForm>input{flex:100%}._v_wrq_inlineChoices{width:100%}._v_wrq_inlineChoices label{flex:1}._v_wrq_inlineChoices span{justify-content:center;width:100%}._v_wrq_providerRowHeader{align-items:flex-start;gap:8px}._v_wrq_providerEnableControl{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:132px}._v_wrq_providerState{text-overflow:ellipsis;max-width:120px;overflow:hidden}._v_wrq_memoryConfigFooter{flex-direction:column;align-items:stretch}._v_wrq_memoryConfigFooter>div:last-child{width:100%}._v_wrq_memoryConfigFooter button{flex:1}}@media (prefers-reduced-motion:reduce){._v_wrq_providerChevron,._v_wrq_advanced>summary>svg{transition:none}._v_wrq_miniSpinner{animation:none}}";
681
682
  const tagId$13 = "dsh-mnemon/src/client/MnemonSettingsCard.module.css";
682
683
  if (typeof document !== "undefined") {
683
684
  let tag = document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$13) + "]");
@@ -708,7 +709,6 @@ window.__ModuleLoader__.load({
708
709
  "boardOthersToggle": "_v_wrq_boardOthersToggle",
709
710
  "boardProblem": "_v_wrq_boardProblem",
710
711
  "boardRow": "_v_wrq_boardRow",
711
- "boardRowCopy": "_v_wrq_boardRowCopy",
712
712
  "boardRowLine": "_v_wrq_boardRowLine",
713
713
  "boardSearch": "_v_wrq_boardSearch",
714
714
  "boardSection": "_v_wrq_boardSection",
@@ -810,6 +810,7 @@ window.__ModuleLoader__.load({
810
810
  "reviewSelected": "_v_wrq_reviewSelected",
811
811
  "reviewSelection": "_v_wrq_reviewSelection",
812
812
  "reviewTitle": "_v_wrq_reviewTitle",
813
+ "routeValue": "_v_wrq_routeValue",
813
814
  "rowActions": "_v_wrq_rowActions",
814
815
  "rowDetail": "_v_wrq_rowDetail",
815
816
  "rowNote": "_v_wrq_rowNote",
@@ -2000,12 +2001,12 @@ window.__ModuleLoader__.load({
2000
2001
  "status.title": "系统状态",
2001
2002
  "status.description": "dsh-mnemon、记忆 Provider 与各层存储的运行状态。",
2002
2003
  "status.nominal": "系统正常",
2003
- "status.reviewFailed": "后台审查失败",
2004
+ "status.reviewFailed": "空闲审查失败",
2004
2005
  "status.reviewFailedDetail": "本轮记忆检查未完成,不会自动重放。后续审查受冷却时间和会话次数限制。",
2005
2006
  "status.reviewPartial": "已有写入提交;请按下列回执核对,未回滚。",
2006
- "status.reviewTeamPaused": "Agent Teams 工具在役时按兼容设置暂停空闲审查。DSH 与官方 Teams 0.1.7-rc.2 可在“插件 → 可组合记忆”页面的空闲审查中选择“受限子代理审查”。召回与主动写入设置不变。",
2007
+ "status.reviewTeamPaused": "Agent Teams 工具在役时按兼容设置暂停空闲审查。如需继续审查,可在“插件 → 可组合记忆”页面的空闲审查中选择“受限任务 Agent 审查”。召回与主动写入设置不变。",
2007
2008
  "status.reviewRun": "审查运行:{id}",
2008
- "status.reviewContextWindow": "请切换为有界检查点(spawn),或选择上下文窗口足以覆盖父会话的任务模型。",
2009
+ "status.reviewContextWindow": "请切换为有界检查点(spawn),或选择上下文窗口足以覆盖父会话的任务 Agent 模型。",
2009
2010
  "config.reviewTitle": "空闲审查",
2010
2011
  "config.reviewDescription": "对话空闲时整理记忆;关闭不影响召回与写入",
2011
2012
  "config.reviewEnabled": "启用空闲审查",
@@ -2014,16 +2015,16 @@ window.__ModuleLoader__.load({
2014
2015
  "config.reviewLimits": "审查参数",
2015
2016
  "config.reviewProvider": "审查方式",
2016
2017
  "config.reviewSpawn": "有界检查点(spawn)",
2017
- "config.reviewSpawnHint": "子代理只读取有界的检查点",
2018
+ "config.reviewSpawnHint": "任务 Agent 只读取有界的检查点",
2018
2019
  "config.reviewFork": "完整父上下文(fork)",
2019
- "config.reviewForkHint": "子代理带着完整的父上下文",
2020
+ "config.reviewForkHint": "任务 Agent 带着完整的父上下文",
2020
2021
  "config.reviewFallback": "fork 不可用时(仅启动前)",
2021
2022
  "config.reviewSkip": "跳过本次审查",
2022
2023
  "config.reviewAgentTeams": "Agent Teams 兼容模式",
2023
- "config.reviewTeamPause": "暂停审查(兼容旧版)",
2024
+ "config.reviewTeamPause": "暂停审查",
2024
2025
  "config.reviewTeamPauseHint": "Agent Teams 运行时跳过审查",
2025
- "config.reviewTeamScoped": "受限子代理审查",
2026
- "config.reviewTeamScopedHint": "在受限子代理中审查,不用 Teams 工具",
2026
+ "config.reviewTeamScoped": "受限任务 Agent 审查",
2027
+ "config.reviewTeamScopedHint": "由受限的任务 Agent 审查,不用 Teams 工具",
2027
2028
  "config.review.minIntervalMs": "最小审查间隔(秒)",
2028
2029
  "config.review.maxPerSession": "每会话最多尝试次数",
2029
2030
  "config.review.maxContextChars": "spawn 检查点字符预算",
@@ -2328,11 +2329,6 @@ window.__ModuleLoader__.load({
2328
2329
  "feedback.optionsSaved": "已更新“{component}”的选项",
2329
2330
  "feedback.externalOptions": "“{component}”的选项已更改",
2330
2331
  "feedback.externalSeveral": "{count} 个组件已变化",
2331
- "feedback.pendingMain": "正在切换到“{strategy}”…",
2332
- "feedback.pendingOn": "正在开启“{component}”…",
2333
- "feedback.pendingOff": "正在关闭“{component}”…",
2334
- "feedback.pendingOptions": "正在应用“{component}”的选项…",
2335
- "feedback.pendingSeveral": "正在应用修改…",
2336
2332
  "feedback.undo": "撤销",
2337
2333
  "feedback.undone": "已撤销,恢复为之前的设置",
2338
2334
  "feedback.show": "查看",
@@ -2427,18 +2423,25 @@ window.__ModuleLoader__.load({
2427
2423
  "config.providerLoadFailed": "读取 Provider 配置失败:{error}",
2428
2424
  "config.retryProviders": "重试",
2429
2425
  "config.taskAgentTitle": "任务 Agent 模型",
2430
- "config.taskAgentInherit": "跟随主链路",
2431
- "config.taskAgentInheritHint": "使用 DSH 新会话默认模型",
2432
- "config.taskAgentFixed": "指定模型",
2433
- "config.taskAgentFixedHint": "为后台任务和子代理委托固定 Provider 与模型",
2426
+ "config.taskAgentInherit": "跟随全局",
2427
+ "config.taskAgentInheritHint": "跟随新会话的模型",
2428
+ "config.taskAgentConversation": "跟随会话",
2429
+ "config.taskAgentConversationHint": "跟随当前会话使用的模型",
2430
+ "config.taskAgentFixed": "自定义",
2431
+ "config.taskAgentFixedHint": "指定模型",
2434
2432
  "config.taskAgentProvider": "模型 Provider",
2435
2433
  "config.taskAgentModel": "模型",
2436
2434
  "config.taskAgentImageInput": "图片输入",
2437
2435
  "config.taskAgentEffective": "当前将使用",
2436
+ "config.taskAgentSource.fixed": "自定义",
2437
+ "config.taskAgentSource.session": "当前会话",
2438
+ "config.taskAgentSource.dsh-default": "新会话模型",
2439
+ "config.taskAgentSource.active-agent": "已打开的会话",
2438
2440
  "config.taskAgentLoading": "正在读取模型目录",
2439
2441
  "config.taskAgentUnavailable": "尚无可用的 Provider / Model 路由",
2440
2442
  "config.taskAgentLoadFailed": "模型目录读取失败:{error}",
2441
2443
  "config.taskAgentPartial": "有 {count} 个 Provider 暂时无法读取,其他选项仍可使用。",
2444
+ "config.taskAgentRetry": "重新读取",
2442
2445
  "config.customAbsolute": "需要绝对路径,或以 ~/ 开头",
2443
2446
  "config.saveFailed": "保存失败:{error}",
2444
2447
  "config.readOnly": "当前部署的插件设置为只读。",
@@ -2872,12 +2875,12 @@ window.__ModuleLoader__.load({
2872
2875
  "status.title": "System Status",
2873
2876
  "status.description": "How dsh-mnemon, memory Providers and each storage layer are running.",
2874
2877
  "status.nominal": "System nominal",
2875
- "status.reviewFailed": "Background review failed",
2878
+ "status.reviewFailed": "Idle review failed",
2876
2879
  "status.reviewFailedDetail": "This checkpoint did not complete and will not be replayed automatically. Later reviews respect the cooldown and session limit.",
2877
2880
  "status.reviewPartial": "Some writes committed. Reconcile the receipts below; they were not rolled back.",
2878
- "status.reviewTeamPaused": "Idle review is paused by the Agent Teams compatibility setting. With DSH and official Teams 0.1.7-rc.2, select “Scoped child review” under Idle review on the dsh-mnemon page under Plugins. Recall and writeback settings are unchanged.",
2881
+ "status.reviewTeamPaused": "Idle review is paused by the Agent Teams compatibility setting. To keep reviewing, select “Scoped task Agent review” under Idle review on the dsh-mnemon page under Plugins. Recall and writeback settings are unchanged.",
2879
2882
  "status.reviewRun": "Review run: {id}",
2880
- "status.reviewContextWindow": "Choose bounded checkpoint review (spawn), or a task model with a context window large enough for the parent conversation.",
2883
+ "status.reviewContextWindow": "Choose bounded checkpoint review (spawn), or a task Agent model whose context window covers the parent conversation.",
2881
2884
  "config.reviewTitle": "Idle review",
2882
2885
  "config.reviewDescription": "Tidies memory while the conversation is idle; recall and writes work either way",
2883
2886
  "config.reviewEnabled": "Enable idle review",
@@ -2886,16 +2889,16 @@ window.__ModuleLoader__.load({
2886
2889
  "config.reviewLimits": "Review limits",
2887
2890
  "config.reviewProvider": "Review method",
2888
2891
  "config.reviewSpawn": "Bounded checkpoint (spawn)",
2889
- "config.reviewSpawnHint": "A child reads a bounded checkpoint",
2892
+ "config.reviewSpawnHint": "The task Agent reads a bounded checkpoint",
2890
2893
  "config.reviewFork": "Full parent context (fork)",
2891
- "config.reviewForkHint": "A child with the full parent context",
2894
+ "config.reviewForkHint": "The task Agent has the full parent context",
2892
2895
  "config.reviewFallback": "When fork is unavailable (before startup only)",
2893
2896
  "config.reviewSkip": "Skip this review",
2894
2897
  "config.reviewAgentTeams": "Agent Teams compatibility",
2895
- "config.reviewTeamPause": "Pause review (legacy compatible)",
2898
+ "config.reviewTeamPause": "Pause review",
2896
2899
  "config.reviewTeamPauseHint": "Skips review while Agent Teams runs",
2897
- "config.reviewTeamScoped": "Scoped child review",
2898
- "config.reviewTeamScopedHint": "Reviews in a scoped child without Teams tools",
2900
+ "config.reviewTeamScoped": "Scoped task Agent review",
2901
+ "config.reviewTeamScopedHint": "A scoped task Agent reviews, without Teams tools",
2899
2902
  "config.review.minIntervalMs": "Minimum review interval (seconds)",
2900
2903
  "config.review.maxPerSession": "Maximum attempts per session",
2901
2904
  "config.review.maxContextChars": "Spawn checkpoint character budget",
@@ -3200,11 +3203,6 @@ window.__ModuleLoader__.load({
3200
3203
  "feedback.optionsSaved": "Updated the options of “{component}”",
3201
3204
  "feedback.externalOptions": "The options of “{component}” changed",
3202
3205
  "feedback.externalSeveral": "{count} components changed",
3203
- "feedback.pendingMain": "Switching to “{strategy}”…",
3204
- "feedback.pendingOn": "Turning on “{component}”…",
3205
- "feedback.pendingOff": "Turning off “{component}”…",
3206
- "feedback.pendingOptions": "Applying the options of “{component}”…",
3207
- "feedback.pendingSeveral": "Applying changes…",
3208
3206
  "feedback.undo": "Undo",
3209
3207
  "feedback.undone": "Undone; the previous settings are back",
3210
3208
  "feedback.show": "Show",
@@ -3299,18 +3297,25 @@ window.__ModuleLoader__.load({
3299
3297
  "config.providerLoadFailed": "Could not load provider configurations: {error}",
3300
3298
  "config.retryProviders": "Retry",
3301
3299
  "config.taskAgentTitle": "Task Agent model",
3302
- "config.taskAgentInherit": "Follow the main route",
3303
- "config.taskAgentInheritHint": "Use the DSH new-session default model",
3304
- "config.taskAgentFixed": "Choose a model",
3305
- "config.taskAgentFixedHint": "Pin background tasks and subagent delegations to one provider and model",
3300
+ "config.taskAgentInherit": "Follow global",
3301
+ "config.taskAgentInheritHint": "Follow the new-session model",
3302
+ "config.taskAgentConversation": "Follow the conversation",
3303
+ "config.taskAgentConversationHint": "Follow the model the current conversation uses",
3304
+ "config.taskAgentFixed": "Custom",
3305
+ "config.taskAgentFixedHint": "Choose a model",
3306
3306
  "config.taskAgentProvider": "Model provider",
3307
3307
  "config.taskAgentModel": "Model",
3308
3308
  "config.taskAgentImageInput": "Image input",
3309
3309
  "config.taskAgentEffective": "Will currently use",
3310
+ "config.taskAgentSource.fixed": "Custom",
3311
+ "config.taskAgentSource.session": "Current conversation",
3312
+ "config.taskAgentSource.dsh-default": "New-session model",
3313
+ "config.taskAgentSource.active-agent": "An open conversation",
3310
3314
  "config.taskAgentLoading": "Loading model directory",
3311
3315
  "config.taskAgentUnavailable": "No Provider / Model route is currently available",
3312
3316
  "config.taskAgentLoadFailed": "Could not load the model directory: {error}",
3313
3317
  "config.taskAgentPartial": "{count} providers could not be read; the remaining options are still available.",
3318
+ "config.taskAgentRetry": "Read again",
3314
3319
  "config.customAbsolute": "Use an absolute path or one that starts with ~/",
3315
3320
  "config.saveFailed": "Save failed: {error}",
3316
3321
  "config.readOnly": "Plugin settings are read-only in this deployment.",
@@ -3980,11 +3985,13 @@ window.__ModuleLoader__.load({
3980
3985
  (0, react.useEffect)(() => {
3981
3986
  const onKey = (event) => {
3982
3987
  if (event.key === "Escape") {
3988
+ if (event.defaultPrevented) return;
3983
3989
  event.preventDefault();
3984
3990
  requestClose();
3985
3991
  return;
3986
3992
  }
3987
3993
  if (event.key !== "Tab" || closingRef.current) return;
3994
+ if (document.activeElement?.closest("[role=\"menu\"]") !== null) return;
3988
3995
  const controls = Array.from(dialogRef.current?.querySelectorAll("button:not(:disabled), input:not(:disabled), textarea:not(:disabled), select:not(:disabled), a[href], [tabindex]:not([tabindex=\"-1\"])") ?? []).filter((control) => control.getAttribute("aria-hidden") !== "true");
3989
3996
  const first = controls[0];
3990
3997
  const last = controls.at(-1);
@@ -10430,6 +10437,321 @@ window.__ModuleLoader__.load({
10430
10437
  ] });
10431
10438
  }
10432
10439
  //#endregion
10440
+ //#region src/client/task-agent-model.tsx
10441
+ function routeOf(value) {
10442
+ const configured = value?.taskAgentModel;
10443
+ return {
10444
+ mode: configured?.mode === "fixed" ? "fixed" : configured?.followConversation === true ? "conversation" : "inherit",
10445
+ provider: configured?.provider?.trim() ?? "",
10446
+ model: configured?.model?.trim() ?? ""
10447
+ };
10448
+ }
10449
+ /**
10450
+ * What a choice stores. Following the conversation is an inherited route with
10451
+ * `followConversation`, a key a release without it ignores, so that release
10452
+ * still reads the route as following global rather than failing on a mode it
10453
+ * does not know.
10454
+ */
10455
+ function stored(route) {
10456
+ return route.mode === "fixed" ? {
10457
+ mode: "fixed",
10458
+ provider: route.provider,
10459
+ model: route.model
10460
+ } : route.mode === "conversation" ? {
10461
+ mode: "inherit",
10462
+ followConversation: true
10463
+ } : { mode: "inherit" };
10464
+ }
10465
+ /** The route choosing a fixed model starts from: the saved one, else DSH's default, else the first listed. */
10466
+ function startingRoute(catalog, current) {
10467
+ const listed = (provider) => catalog.groups.some((group) => group.id === provider);
10468
+ const provider = (listed(current.provider) ? current.provider : "") || catalog.defaultSelection?.provider || catalog.groups[0]?.id || "";
10469
+ const models = catalog.groups.find((group) => group.id === provider)?.models ?? [];
10470
+ const model = (current.provider === provider ? current.model : "") || (catalog.defaultSelection?.provider === provider ? catalog.defaultSelection.model : "") || models[0]?.id || "";
10471
+ return provider === "" || model === "" ? void 0 : {
10472
+ provider,
10473
+ model
10474
+ };
10475
+ }
10476
+ /**
10477
+ * The route the next task Agent takes: a custom route's own model; the asking
10478
+ * conversation's route when the choice follows it and that conversation is
10479
+ * open; else the route the Host reports for following global. It is put
10480
+ * together from the parts the Host reported, so a choice shows its effect at
10481
+ * once. Until this page has read the settings, it cannot know the stored
10482
+ * choice, and states the route the Host resolved.
10483
+ */
10484
+ function effectiveRoute(route, catalog, settled = true) {
10485
+ if (!settled) return catalog?.effective;
10486
+ if (route.mode === "fixed") return route.provider === "" || route.model === "" ? void 0 : {
10487
+ provider: route.provider,
10488
+ model: route.model,
10489
+ source: "fixed"
10490
+ };
10491
+ if (route.mode === "conversation" && catalog?.session !== void 0) return {
10492
+ ...catalog.session,
10493
+ source: "session"
10494
+ };
10495
+ return catalog?.inherited ?? (catalog?.defaultSelection === void 0 ? void 0 : {
10496
+ ...catalog.defaultSelection,
10497
+ source: "dsh-default"
10498
+ });
10499
+ }
10500
+ function routeSourceKey(source) {
10501
+ return `config.taskAgentSource.${source}`;
10502
+ }
10503
+ /**
10504
+ * The task Agent route a page shows and writes: the stored route, the model
10505
+ * directory it is chosen from, and the write that applies a choice at once.
10506
+ * The route is read from the settings themselves, so every page that shows it
10507
+ * agrees, and a change made on another page reads here at once. A page
10508
+ * belongs to one conversation, so the directory it reads names that
10509
+ * conversation's model, and a read that fails says why and can be asked for
10510
+ * again instead of quietly falling back.
10511
+ */
10512
+ function useTaskAgentModel(options) {
10513
+ const { scope, connection, sessionId, workspaceId } = options;
10514
+ const snapshot = useScope(scope);
10515
+ const saved = routeOf(snapshot.value);
10516
+ const route = useLive(saved, async (next) => {
10517
+ await scope.mutate([{
10518
+ op: "set",
10519
+ path: ["taskAgentModel"],
10520
+ value: stored(next)
10521
+ }]);
10522
+ });
10523
+ const [catalog, setCatalog] = (0, react.useState)({
10524
+ state: connection === void 0 ? "unavailable" : "loading",
10525
+ value: null,
10526
+ error: null,
10527
+ full: false
10528
+ });
10529
+ const request = (0, react.useRef)(0);
10530
+ const client = (0, react.useMemo)(() => connection === void 0 ? void 0 : new MnemonClient(connection, sessionId, workspaceId), [
10531
+ connection,
10532
+ sessionId,
10533
+ workspaceId
10534
+ ]);
10535
+ const loaded = (0, react.useRef)({
10536
+ client: void 0,
10537
+ level: "none"
10538
+ });
10539
+ const level = () => loaded.current.client === client ? loaded.current.level : "none";
10540
+ const load = (0, react.useCallback)((full) => {
10541
+ if (client === void 0) return;
10542
+ const current = ++request.current;
10543
+ setCatalog((value) => ({
10544
+ ...value,
10545
+ state: "loading",
10546
+ error: null
10547
+ }));
10548
+ client.taskAgentModels(full).then((value) => {
10549
+ if (request.current !== current) return;
10550
+ loaded.current = {
10551
+ client,
10552
+ level: full ? "full" : "route"
10553
+ };
10554
+ setCatalog({
10555
+ state: "ready",
10556
+ value,
10557
+ error: null,
10558
+ full
10559
+ });
10560
+ }, (reason) => {
10561
+ if (request.current === current) setCatalog((value) => ({
10562
+ ...value,
10563
+ state: "error",
10564
+ error: message(reason)
10565
+ }));
10566
+ });
10567
+ }, [client]);
10568
+ (0, react.useEffect)(() => () => {
10569
+ request.current += 1;
10570
+ }, []);
10571
+ const fullFixed = saved.mode === "fixed";
10572
+ (0, react.useEffect)(() => {
10573
+ if (fullFixed ? level() === "full" : level() !== "none") return;
10574
+ load(fullFixed);
10575
+ }, [fullFixed, load]);
10576
+ const [choosing, setChoosing] = (0, react.useState)(false);
10577
+ (0, react.useEffect)(() => {
10578
+ if (!choosing) return;
10579
+ if (catalog.state === "error") {
10580
+ setChoosing(false);
10581
+ return;
10582
+ }
10583
+ if (!catalog.full || catalog.value === null) return;
10584
+ setChoosing(false);
10585
+ const start = startingRoute(catalog.value, route.value);
10586
+ if (start !== void 0) route.set({
10587
+ mode: "fixed",
10588
+ ...start
10589
+ });
10590
+ }, [choosing, catalog]);
10591
+ const setMode = (mode) => {
10592
+ if (mode !== "fixed") {
10593
+ setChoosing(false);
10594
+ if (route.value.mode === mode) return;
10595
+ route.set({
10596
+ mode,
10597
+ provider: "",
10598
+ model: ""
10599
+ });
10600
+ return;
10601
+ }
10602
+ const start = catalog.full && catalog.value !== null ? startingRoute(catalog.value, route.value) : void 0;
10603
+ if (start !== void 0) {
10604
+ route.set({
10605
+ mode: "fixed",
10606
+ ...start
10607
+ });
10608
+ return;
10609
+ }
10610
+ setChoosing(true);
10611
+ load(true);
10612
+ };
10613
+ return {
10614
+ route: route.value,
10615
+ settled: snapshot.status === "ready",
10616
+ catalog,
10617
+ choosing,
10618
+ failed: route.failed,
10619
+ retry: () => {
10620
+ load(fullFixed || choosing || level() === "full");
10621
+ },
10622
+ setMode,
10623
+ setRoute: (next) => {
10624
+ route.set({
10625
+ mode: "fixed",
10626
+ ...next
10627
+ });
10628
+ }
10629
+ };
10630
+ }
10631
+ /** The route a page states: where the next task runs, and why. */
10632
+ function EffectiveRoute(props) {
10633
+ const { t } = props;
10634
+ const effective = props.choosing === true ? void 0 : effectiveRoute(props.route, props.catalog, props.settled !== false);
10635
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
10636
+ className: MnemonSettingsCard_module_css_default.routeValue,
10637
+ children: effective === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: props.state === "loading" || props.choosing === true ? t("config.taskAgentLoading") : t("config.taskAgentUnavailable") }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("code", { children: [
10638
+ effective.provider,
10639
+ " / ",
10640
+ effective.model
10641
+ ] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: t(routeSourceKey(effective.source)) })] })
10642
+ });
10643
+ }
10644
+ /**
10645
+ * The task Agent model rows: the choice of route, the Provider and model a
10646
+ * custom route uses, and the route the background work will actually take. A
10647
+ * read that fails keeps the reason on the page and offers to read again.
10648
+ */
10649
+ function TaskAgentModelRows(props) {
10650
+ const { route, t } = props;
10651
+ const groups = props.state === "ready" ? props.catalog?.groups ?? [] : [];
10652
+ const group = groups.find((candidate) => candidate.id === route.provider);
10653
+ const fixed = props.mode === "fixed" && props.state === "ready";
10654
+ const shared = (name) => groups.filter((candidate) => candidate.name === name).length > 1;
10655
+ const providers = [...route.provider !== "" && group === void 0 ? [{
10656
+ value: route.provider,
10657
+ label: route.provider
10658
+ }] : [], ...groups.map((candidate) => ({
10659
+ value: candidate.id,
10660
+ label: candidate.name,
10661
+ ...shared(candidate.name) ? { detail: candidate.id } : {}
10662
+ }))];
10663
+ const models = [...route.model !== "" && group?.models.some((model) => model.id === route.model) !== true ? [{
10664
+ value: route.model,
10665
+ label: route.model
10666
+ }] : [], ...(group?.models ?? []).map((model) => ({
10667
+ value: model.id,
10668
+ label: model.name,
10669
+ ...model.inputModalities?.includes("image") === true ? { detail: t("config.taskAgentImageInput") } : {}
10670
+ }))];
10671
+ const chooseProvider = (provider) => {
10672
+ const model = groups.find((candidate) => candidate.id === provider)?.models[0]?.id;
10673
+ if (model !== void 0) props.onRoute({
10674
+ provider,
10675
+ model
10676
+ });
10677
+ };
10678
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
10679
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
10680
+ id: "mnemon-task-agent",
10681
+ label: t("config.taskAgentTitle"),
10682
+ value: props.mode,
10683
+ disabled: props.disabled,
10684
+ onChange: props.onMode,
10685
+ options: [
10686
+ {
10687
+ value: "inherit",
10688
+ label: t("config.taskAgentInherit"),
10689
+ detail: t("config.taskAgentInheritHint")
10690
+ },
10691
+ {
10692
+ value: "conversation",
10693
+ label: t("config.taskAgentConversation"),
10694
+ detail: t("config.taskAgentConversationHint")
10695
+ },
10696
+ {
10697
+ value: "fixed",
10698
+ label: t("config.taskAgentFixed"),
10699
+ detail: t("config.taskAgentFixedHint"),
10700
+ ...props.state === "unavailable" ? { disabled: true } : {}
10701
+ }
10702
+ ]
10703
+ }),
10704
+ fixed && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
10705
+ id: "mnemon-task-agent-provider",
10706
+ label: t("config.taskAgentProvider"),
10707
+ value: route.provider,
10708
+ disabled: props.disabled || props.state !== "ready",
10709
+ options: providers,
10710
+ onChange: chooseProvider
10711
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
10712
+ id: "mnemon-task-agent-model",
10713
+ label: t("config.taskAgentModel"),
10714
+ value: route.model,
10715
+ disabled: props.disabled || props.state !== "ready" || group === void 0,
10716
+ options: models,
10717
+ onChange: (model) => props.onRoute({
10718
+ provider: route.provider,
10719
+ model
10720
+ })
10721
+ })] }),
10722
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
10723
+ className: MnemonSettingsCard_module_css_default.rowDetail,
10724
+ children: [
10725
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
10726
+ className: MnemonSettingsCard_module_css_default.effectiveRoute,
10727
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("config.taskAgentEffective") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EffectiveRoute, {
10728
+ route,
10729
+ settled: props.settled,
10730
+ choosing: props.choosing,
10731
+ catalog: props.catalog,
10732
+ state: props.state,
10733
+ t
10734
+ })]
10735
+ }),
10736
+ props.note,
10737
+ props.state === "error" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
10738
+ className: MnemonSettingsCard_module_css_default.warning,
10739
+ children: [t("config.taskAgentLoadFailed", { error: props.error ?? "" }), props.retry !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
10740
+ variant: "ghost",
10741
+ size: "sm",
10742
+ onClick: props.retry,
10743
+ children: t("config.taskAgentRetry")
10744
+ })]
10745
+ }),
10746
+ (props.catalog?.failures?.length ?? 0) > 0 && groups.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
10747
+ className: MnemonSettingsCard_module_css_default.warning,
10748
+ children: t("config.taskAgentPartial", { count: props.catalog.failures.length })
10749
+ })
10750
+ ]
10751
+ })
10752
+ ] });
10753
+ }
10754
+ //#endregion
10433
10755
  //#region src/client/component-settings.tsx
10434
10756
  /** The packages whose own settings dsh-mnemon supplies, through the same region an installed component uses. */
10435
10757
  const RUNTIME_PACKAGE = "dsh-mnemon-source-runtime";
@@ -11025,13 +11347,6 @@ window.__ModuleLoader__.load({
11025
11347
  scale: 1
11026
11348
  }
11027
11349
  ];
11028
- function routeOf(value) {
11029
- return {
11030
- mode: value?.taskAgentModel?.mode === "fixed" ? "fixed" : "inherit",
11031
- provider: value?.taskAgentModel?.provider?.trim() ?? "",
11032
- model: value?.taskAgentModel?.model?.trim() ?? ""
11033
- };
11034
- }
11035
11350
  function reviewOf(value) {
11036
11351
  return {
11037
11352
  ...DEFAULT_IDLE_REVIEW,
@@ -11068,17 +11383,6 @@ window.__ModuleLoader__.load({
11068
11383
  }
11069
11384
  }];
11070
11385
  }
11071
- /** The route choosing a fixed model starts from: the saved one, else DSH's default, else the first listed. */
11072
- function startingRoute(catalog, current) {
11073
- const listed = (provider) => catalog.groups.some((group) => group.id === provider);
11074
- const provider = (listed(current.provider) ? current.provider : "") || catalog.defaultSelection?.provider || catalog.groups[0]?.id || "";
11075
- const models = catalog.groups.find((group) => group.id === provider)?.models ?? [];
11076
- const model = (current.provider === provider ? current.model : "") || (catalog.defaultSelection?.provider === provider ? catalog.defaultSelection.model : "") || models[0]?.id || "";
11077
- return provider === "" || model === "" ? void 0 : {
11078
- provider,
11079
- model
11080
- };
11081
- }
11082
11386
  /**
11083
11387
  * The Layered strategy's own settings: the model its background task Agents use,
11084
11388
  * and the idle review that keeps its layers in shape. Choices apply at once;
@@ -11088,16 +11392,11 @@ window.__ModuleLoader__.load({
11088
11392
  const { scope, connection, page, t } = props;
11089
11393
  const snapshot = useScope(scope);
11090
11394
  const savedReview = reviewOf(snapshot.value);
11091
- const route = useLive(routeOf(snapshot.value), async (next) => {
11092
- await scope.mutate([{
11093
- op: "set",
11094
- path: ["taskAgentModel"],
11095
- value: next.mode === "inherit" ? { mode: "inherit" } : {
11096
- mode: "fixed",
11097
- provider: next.provider,
11098
- model: next.model
11099
- }
11100
- }]);
11395
+ const taskAgent = useTaskAgentModel({
11396
+ scope,
11397
+ connection,
11398
+ sessionId: page.sessionId,
11399
+ workspaceId: page.workspace?.id
11101
11400
  });
11102
11401
  const configured = snapshot.value?.idleReview;
11103
11402
  const choice = useLive(choiceOf(savedReview), async (next) => {
@@ -11110,83 +11409,6 @@ window.__ModuleLoader__.load({
11110
11409
  const operations = reviewWrite(configured, next, before);
11111
11410
  if (operations.length > 0) await scope.mutate(operations);
11112
11411
  });
11113
- const [catalog, setCatalog] = (0, react.useState)({
11114
- state: connection === void 0 ? "unavailable" : "loading",
11115
- value: null,
11116
- error: null,
11117
- full: false
11118
- });
11119
- const request = (0, react.useRef)(0);
11120
- const loaded = (0, react.useRef)("none");
11121
- const load = (0, react.useCallback)((full) => {
11122
- if (connection === void 0) return;
11123
- const current = ++request.current;
11124
- setCatalog((value) => ({
11125
- ...value,
11126
- state: "loading",
11127
- error: null
11128
- }));
11129
- new MnemonClient(connection).taskAgentModels(full).then((value) => {
11130
- if (request.current !== current) return;
11131
- loaded.current = full ? "full" : "route";
11132
- setCatalog({
11133
- state: "ready",
11134
- value,
11135
- error: null,
11136
- full
11137
- });
11138
- }, (reason) => {
11139
- if (request.current === current) setCatalog((value) => ({
11140
- ...value,
11141
- state: "error",
11142
- error: message(reason)
11143
- }));
11144
- });
11145
- }, [connection]);
11146
- (0, react.useEffect)(() => () => {
11147
- request.current += 1;
11148
- }, []);
11149
- const configuredMode = snapshot.value?.taskAgentModel?.mode === "fixed" ? "fixed" : "inherit";
11150
- (0, react.useEffect)(() => {
11151
- if (configuredMode === "fixed" ? loaded.current === "full" : loaded.current !== "none") return;
11152
- load(configuredMode === "fixed");
11153
- }, [configuredMode, load]);
11154
- const [choosing, setChoosing] = (0, react.useState)(false);
11155
- (0, react.useEffect)(() => {
11156
- if (!choosing) return;
11157
- if (catalog.state === "error") {
11158
- setChoosing(false);
11159
- return;
11160
- }
11161
- if (!catalog.full || catalog.value === null) return;
11162
- setChoosing(false);
11163
- const start = startingRoute(catalog.value, route.value);
11164
- if (start !== void 0) route.set({
11165
- mode: "fixed",
11166
- ...start
11167
- });
11168
- }, [choosing, catalog]);
11169
- const chooseMode = (mode) => {
11170
- if (mode === "inherit") {
11171
- setChoosing(false);
11172
- route.set({
11173
- mode: "inherit",
11174
- provider: "",
11175
- model: ""
11176
- });
11177
- return;
11178
- }
11179
- const start = catalog.full && catalog.value !== null ? startingRoute(catalog.value, route.value) : void 0;
11180
- if (start !== void 0) {
11181
- route.set({
11182
- mode: "fixed",
11183
- ...start
11184
- });
11185
- return;
11186
- }
11187
- setChoosing(true);
11188
- load(true);
11189
- };
11190
11412
  const disabled = !page.writable || snapshot.status === "loading" || !snapshot.writable;
11191
11413
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
11192
11414
  className: MnemonSettingsCard_module_css_default.panelSection,
@@ -11200,7 +11422,7 @@ window.__ModuleLoader__.load({
11200
11422
  children: t("config.backgroundTitle")
11201
11423
  }),
11202
11424
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", { children: t("config.backgroundDescription") }),
11203
- catalog.state === "loading" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
11425
+ taskAgent.catalog.state === "loading" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
11204
11426
  className: MnemonSettingsCard_module_css_default.miniSpinner,
11205
11427
  "aria-hidden": "true"
11206
11428
  })
@@ -11213,18 +11435,17 @@ window.__ModuleLoader__.load({
11213
11435
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
11214
11436
  className: MnemonSettingsCard_module_css_default.rows,
11215
11437
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TaskAgentModelRows, {
11216
- mode: choosing ? "fixed" : route.value.mode,
11217
- route: route.value,
11218
- choosing,
11219
- catalog: catalog.value,
11220
- state: catalog.state,
11221
- error: catalog.error,
11438
+ mode: taskAgent.choosing ? "fixed" : taskAgent.route.mode,
11439
+ route: taskAgent.route,
11440
+ settled: taskAgent.settled,
11441
+ choosing: taskAgent.choosing,
11442
+ catalog: taskAgent.catalog.value,
11443
+ state: taskAgent.catalog.state,
11444
+ error: taskAgent.catalog.error,
11445
+ retry: taskAgent.retry,
11222
11446
  disabled,
11223
- onMode: chooseMode,
11224
- onRoute: (next) => route.set({
11225
- mode: "fixed",
11226
- ...next
11227
- }),
11447
+ onMode: taskAgent.setMode,
11448
+ onRoute: taskAgent.setRoute,
11228
11449
  t
11229
11450
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IdleReviewRows, {
11230
11451
  choice: choice.value,
@@ -11238,105 +11459,12 @@ window.__ModuleLoader__.load({
11238
11459
  })]
11239
11460
  }),
11240
11461
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WriteFailure, {
11241
- error: route.failed ?? choice.failed,
11462
+ error: taskAgent.failed ?? choice.failed,
11242
11463
  t
11243
11464
  })
11244
11465
  ]
11245
11466
  });
11246
11467
  }
11247
- function TaskAgentModelRows(props) {
11248
- const { route, t } = props;
11249
- const groups = props.catalog?.groups ?? [];
11250
- const group = groups.find((candidate) => candidate.id === route.provider);
11251
- const inherited = props.catalog?.defaultSelection ?? (props.catalog?.effective?.source === "fixed" ? void 0 : props.catalog?.effective);
11252
- const fixed = props.mode === "fixed" && !props.choosing;
11253
- const effective = props.mode === "fixed" ? !fixed || route.provider === "" || route.model === "" ? void 0 : {
11254
- provider: route.provider,
11255
- model: route.model
11256
- } : inherited;
11257
- const shared = (name) => groups.filter((candidate) => candidate.name === name).length > 1;
11258
- const providers = [...route.provider !== "" && group === void 0 ? [{
11259
- value: route.provider,
11260
- label: route.provider
11261
- }] : [], ...groups.map((candidate) => ({
11262
- value: candidate.id,
11263
- label: candidate.name,
11264
- ...shared(candidate.name) ? { detail: candidate.id } : {}
11265
- }))];
11266
- const models = [...route.model !== "" && group?.models.some((model) => model.id === route.model) !== true ? [{
11267
- value: route.model,
11268
- label: route.model
11269
- }] : [], ...(group?.models ?? []).map((model) => ({
11270
- value: model.id,
11271
- label: model.name,
11272
- ...model.inputModalities?.includes("image") === true ? { detail: t("config.taskAgentImageInput") } : {}
11273
- }))];
11274
- const chooseProvider = (provider) => {
11275
- const model = groups.find((candidate) => candidate.id === provider)?.models[0]?.id;
11276
- if (model !== void 0) props.onRoute({
11277
- provider,
11278
- model
11279
- });
11280
- };
11281
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
11282
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
11283
- id: "mnemon-task-agent",
11284
- label: t("config.taskAgentTitle"),
11285
- value: props.mode,
11286
- disabled: props.disabled,
11287
- onChange: props.onMode,
11288
- options: [{
11289
- value: "inherit",
11290
- label: t("config.taskAgentInherit"),
11291
- detail: t("config.taskAgentInheritHint")
11292
- }, {
11293
- value: "fixed",
11294
- label: t("config.taskAgentFixed"),
11295
- detail: t("config.taskAgentFixedHint"),
11296
- ...props.state === "unavailable" ? { disabled: true } : {}
11297
- }]
11298
- }),
11299
- fixed && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
11300
- id: "mnemon-task-agent-provider",
11301
- label: t("config.taskAgentProvider"),
11302
- value: route.provider,
11303
- disabled: props.disabled || props.state !== "ready",
11304
- options: providers,
11305
- onChange: chooseProvider
11306
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectRow, {
11307
- id: "mnemon-task-agent-model",
11308
- label: t("config.taskAgentModel"),
11309
- value: route.model,
11310
- disabled: props.disabled || props.state !== "ready" || group === void 0,
11311
- options: models,
11312
- onChange: (model) => props.onRoute({
11313
- provider: route.provider,
11314
- model
11315
- })
11316
- })] }),
11317
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
11318
- className: MnemonSettingsCard_module_css_default.rowDetail,
11319
- children: [
11320
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
11321
- className: MnemonSettingsCard_module_css_default.effectiveRoute,
11322
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("config.taskAgentEffective") }), effective === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: props.state === "loading" || props.choosing ? t("config.taskAgentLoading") : t("config.taskAgentUnavailable") }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("code", { children: [
11323
- effective.provider,
11324
- " / ",
11325
- effective.model
11326
- ] })]
11327
- }),
11328
- props.state === "error" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
11329
- className: MnemonSettingsCard_module_css_default.warning,
11330
- children: t("config.taskAgentLoadFailed", { error: props.error ?? "" })
11331
- }),
11332
- (props.catalog?.failures.length ?? 0) > 0 && groups.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
11333
- className: MnemonSettingsCard_module_css_default.warning,
11334
- children: t("config.taskAgentPartial", { count: props.catalog.failures.length })
11335
- })
11336
- ]
11337
- })
11338
- ] });
11339
- }
11340
11468
  function IdleReviewRows(props) {
11341
11469
  const { choice, limits, t } = props;
11342
11470
  const invalid = LIMITS.find((limit) => limitValue(limit, limits.draft[limit.key]) === void 0);
@@ -14607,145 +14735,6 @@ window.__ModuleLoader__.load({
14607
14735
  });
14608
14736
  }
14609
14737
  //#endregion
14610
- //#region \0dsh-mnemon-css:/home/runner/work/dsh-mnemon/dsh-mnemon/src/client/MnemonWorkspace.module.css.mjs
14611
- const css = ".NS3bAW_workspacePanel{box-sizing:border-box;background:var(--dsw-alias-bg-overlay,var(--dsw-alias-bg-base));pointer-events:auto;min-width:0;min-height:0;display:flex;position:fixed;overflow:hidden}.NS3bAW_workspacePanel>*{flex:auto;width:100%;min-width:0}.NS3bAW_betterSidebarSeat,.NS3bAW_nativeWorkspace{flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.NS3bAW_betterSidebarSeat>*,.NS3bAW_nativeWorkspace>*{flex:auto;min-width:0}.NS3bAW_nativeWorkspace{z-index:2;position:relative}.NS3bAW_nativeWorkspace[data-dsh-mnemon-main-seat]{box-sizing:border-box;padding-block-start:var(--dsh-frame-top-clearance,0px)}.NS3bAW_windowDragBand{height:var(--dsh-frame-top-clearance,0px);position:absolute;inset:0 0 auto}.NS3bAW_nativeWorkspace[hidden]{display:none}.NS3bAW_entry{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:calc(100% - 4px);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0 2px;padding:7px 8px;line-height:22px;display:flex}.NS3bAW_entry:hover,.NS3bAW_entry[data-active]{background:var(--dsw-alias-interactive-bg-hover)}.NS3bAW_entry:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.NS3bAW_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.NS3bAW_entryIcon svg{width:16px;height:16px;display:block}.NS3bAW_entryLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}[data-sidebar-collapsed] .NS3bAW_entry{justify-content:center;width:36px;height:36px;min-height:36px;margin:0 auto 12px;padding:0}[data-sidebar-collapsed] .NS3bAW_entryIcon svg{width:18px;height:18px}[data-sidebar-collapsed] .NS3bAW_entryLabel{display:none}";
14612
- const tagId = "dsh-mnemon/src/client/MnemonWorkspace.module.css";
14613
- if (typeof document !== "undefined") {
14614
- let tag = document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]");
14615
- if (!tag) {
14616
- tag = document.createElement("style");
14617
- tag.dataset.pluginCss = tagId;
14618
- document.head.appendChild(tag);
14619
- }
14620
- if (tag.textContent !== css) tag.textContent = css;
14621
- }
14622
- var MnemonWorkspace_module_css_default = {
14623
- "betterSidebarSeat": "NS3bAW_betterSidebarSeat",
14624
- "entry": "NS3bAW_entry",
14625
- "entryIcon": "NS3bAW_entryIcon",
14626
- "entryLabel": "NS3bAW_entryLabel",
14627
- "nativeWorkspace": "NS3bAW_nativeWorkspace",
14628
- "windowDragBand": "NS3bAW_windowDragBand",
14629
- "workspacePanel": "NS3bAW_workspacePanel"
14630
- };
14631
- //#endregion
14632
- //#region src/client/sidebar-entry.ts
14633
- const FAMILY_SELECTOR = "[data-dsh-taskboard-entry], [data-dsh-ssh-entry], [data-dsh-mnemon-entry]";
14634
- function sidebarRoot() {
14635
- const column = document.querySelector("[data-pane=\"sidebar\"], [class*=\"sidebarCol\"], .dshDesktopUpstreamSidebar");
14636
- if (column === null) return void 0;
14637
- return column.querySelector("[class*=\"logoRow\"]")?.parentElement ?? column.firstElementChild;
14638
- }
14639
- function newSessionButton(root) {
14640
- const nested = root.querySelector("button[class*=\"newSession\"]");
14641
- if (nested !== null) return nested;
14642
- for (const child of root.children) if (child.tagName === "BUTTON") return child;
14643
- }
14644
- function createEntry(controller) {
14645
- const entry = document.createElement("button");
14646
- entry.type = "button";
14647
- entry.dataset.dshMnemonEntry = "";
14648
- entry.dataset.dshPlugin = "dsh-mnemon";
14649
- entry.dataset.dshPart = "sidebar-entry";
14650
- entry.className = MnemonWorkspace_module_css_default.entry ?? "";
14651
- const icon = document.createElement("span");
14652
- icon.className = MnemonWorkspace_module_css_default.entryIcon ?? "";
14653
- icon.append(createMemoryIcon(16));
14654
- const label = document.createElement("span");
14655
- label.className = MnemonWorkspace_module_css_default.entryLabel ?? "";
14656
- entry.append(icon, label);
14657
- entry.addEventListener("click", () => {
14658
- controller.open();
14659
- });
14660
- return {
14661
- entry,
14662
- label
14663
- };
14664
- }
14665
- function placeEntry(root, entry) {
14666
- const button = newSessionButton(root);
14667
- if (button === void 0) return false;
14668
- const row = button.closest("[class*=\"logoRow\"]");
14669
- const base = row !== null && row.parentElement === root ? row : button;
14670
- const parent = base.parentElement ?? root;
14671
- if (entry.parentElement === parent) return true;
14672
- const anchor = Array.from(parent.children).filter((element) => element instanceof HTMLElement && element.matches(FAMILY_SELECTOR)).at(-1)?.nextElementSibling ?? base.nextElementSibling;
14673
- parent.insertBefore(entry, anchor !== null && anchor.parentElement === parent ? anchor : null);
14674
- return true;
14675
- }
14676
- /** Mount a self-healing official-style entry under the New Session row. */
14677
- function mountMnemonSidebarEntry(controller, t, subscribeLocale) {
14678
- const { entry, label } = createEntry(controller);
14679
- let root;
14680
- let placed = false;
14681
- const syncLabel = () => {
14682
- const text = t("tab.label");
14683
- if (entry.getAttribute("aria-label") !== text) entry.setAttribute("aria-label", text);
14684
- if (entry.title !== text) entry.title = text;
14685
- if (label.textContent !== text) label.textContent = text;
14686
- };
14687
- const rootObserver = new MutationObserver(() => {
14688
- if (root === void 0 || !root.isConnected) {
14689
- placed = false;
14690
- tryPlace();
14691
- return;
14692
- }
14693
- if (!root.contains(entry)) placed = placeEntry(root, entry);
14694
- });
14695
- const tryPlace = () => {
14696
- syncLabel();
14697
- if (root !== void 0 && !root.isConnected) {
14698
- rootObserver.disconnect();
14699
- root = void 0;
14700
- placed = false;
14701
- }
14702
- if (placed && document.body.contains(entry)) return;
14703
- if (placed) {
14704
- rootObserver.disconnect();
14705
- root = void 0;
14706
- placed = false;
14707
- }
14708
- root ??= sidebarRoot();
14709
- if (root === void 0) return;
14710
- placed = placeEntry(root, entry);
14711
- if (placed) rootObserver.observe(root, {
14712
- childList: true,
14713
- subtree: true
14714
- });
14715
- };
14716
- const waitObserver = new MutationObserver(tryPlace);
14717
- waitObserver.observe(document.body, {
14718
- childList: true,
14719
- subtree: true
14720
- });
14721
- const syncActive = () => {
14722
- if (controller.getSnapshot().open) {
14723
- entry.dataset.active = "true";
14724
- entry.setAttribute("aria-current", "page");
14725
- } else {
14726
- delete entry.dataset.active;
14727
- entry.removeAttribute("aria-current");
14728
- }
14729
- };
14730
- const unsubscribe = controller.subscribe(syncActive);
14731
- const unsubscribeLocale = subscribeLocale(syncLabel);
14732
- const dispose = () => {
14733
- waitObserver.disconnect();
14734
- rootObserver.disconnect();
14735
- unsubscribe();
14736
- unsubscribeLocale();
14737
- entry.remove();
14738
- };
14739
- try {
14740
- syncActive();
14741
- tryPlace();
14742
- return dispose;
14743
- } catch (error) {
14744
- dispose();
14745
- throw error;
14746
- }
14747
- }
14748
- //#endregion
14749
14738
  //#region src/client/workspace-controller.ts
14750
14739
  /** Small framework-neutral state holder shared by the sidebar row and panel. */
14751
14740
  var MnemonWorkspaceController = class {
@@ -14771,6 +14760,28 @@ window.__ModuleLoader__.load({
14771
14760
  }
14772
14761
  };
14773
14762
  //#endregion
14763
+ //#region \0dsh-mnemon-css:/home/runner/work/dsh-mnemon/dsh-mnemon/src/client/MnemonWorkspace.module.css.mjs
14764
+ const css = ".NS3bAW_workspacePanel{box-sizing:border-box;background:var(--dsw-alias-bg-overlay,var(--dsw-alias-bg-base));pointer-events:auto;min-width:0;min-height:0;display:flex;position:fixed;overflow:hidden}.NS3bAW_workspacePanel>*{flex:auto;width:100%;min-width:0}.NS3bAW_betterSidebarSeat,.NS3bAW_nativeWorkspace{flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.NS3bAW_betterSidebarSeat>*,.NS3bAW_nativeWorkspace>*{flex:auto;min-width:0}.NS3bAW_nativeWorkspace{z-index:2;position:relative}.NS3bAW_nativeWorkspace[data-dsh-mnemon-main-seat]{box-sizing:border-box;padding-block-start:var(--dsh-frame-top-clearance,0px)}.NS3bAW_windowDragBand{height:var(--dsh-frame-top-clearance,0px);position:absolute;inset:0 0 auto}.NS3bAW_nativeWorkspace[hidden]{display:none}.NS3bAW_entry{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:calc(100% - 4px);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0 2px;padding:7px 8px;line-height:22px;display:flex}.NS3bAW_entry:hover,.NS3bAW_entry[data-active]{background:var(--dsw-alias-interactive-bg-hover)}.NS3bAW_entry:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.NS3bAW_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.NS3bAW_entryIcon svg{width:16px;height:16px;display:block}.NS3bAW_entryLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}[data-sidebar-collapsed] .NS3bAW_entry{justify-content:center;width:36px;height:36px;min-height:36px;margin:0 auto 12px;padding:0}[data-sidebar-collapsed] .NS3bAW_entryIcon svg{width:18px;height:18px}[data-sidebar-collapsed] .NS3bAW_entryLabel{display:none}";
14765
+ const tagId = "dsh-mnemon/src/client/MnemonWorkspace.module.css";
14766
+ if (typeof document !== "undefined") {
14767
+ let tag = document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]");
14768
+ if (!tag) {
14769
+ tag = document.createElement("style");
14770
+ tag.dataset.pluginCss = tagId;
14771
+ document.head.appendChild(tag);
14772
+ }
14773
+ if (tag.textContent !== css) tag.textContent = css;
14774
+ }
14775
+ var MnemonWorkspace_module_css_default = {
14776
+ "betterSidebarSeat": "NS3bAW_betterSidebarSeat",
14777
+ "entry": "NS3bAW_entry",
14778
+ "entryIcon": "NS3bAW_entryIcon",
14779
+ "entryLabel": "NS3bAW_entryLabel",
14780
+ "nativeWorkspace": "NS3bAW_nativeWorkspace",
14781
+ "windowDragBand": "NS3bAW_windowDragBand",
14782
+ "workspacePanel": "NS3bAW_workspacePanel"
14783
+ };
14784
+ //#endregion
14774
14785
  //#region src/client/workspace-mount.tsx
14775
14786
  const ACTIVE_ATTR = "data-dsh-mnemon-active";
14776
14787
  const TASKBOARD_ACTIVE_ATTR = "data-dsh-taskboard-active";
@@ -15078,6 +15089,123 @@ window.__ModuleLoader__.load({
15078
15089
  }
15079
15090
  };
15080
15091
  //#endregion
15092
+ //#region src/client/sidebar-entry.ts
15093
+ const FAMILY_SELECTOR = "[data-dsh-taskboard-entry], [data-dsh-ssh-entry], [data-dsh-mnemon-entry]";
15094
+ function sidebarRoot() {
15095
+ const column = document.querySelector("[data-pane=\"sidebar\"], [class*=\"sidebarCol\"], .dshDesktopUpstreamSidebar");
15096
+ if (column === null) return void 0;
15097
+ return column.querySelector("[class*=\"logoRow\"]")?.parentElement ?? column.firstElementChild;
15098
+ }
15099
+ function newSessionButton(root) {
15100
+ const nested = root.querySelector("button[class*=\"newSession\"]");
15101
+ if (nested !== null) return nested;
15102
+ for (const child of root.children) if (child.tagName === "BUTTON") return child;
15103
+ }
15104
+ function createEntry(controller) {
15105
+ const entry = document.createElement("button");
15106
+ entry.type = "button";
15107
+ entry.dataset.dshMnemonEntry = "";
15108
+ entry.dataset.dshPlugin = "dsh-mnemon";
15109
+ entry.dataset.dshPart = "sidebar-entry";
15110
+ entry.className = MnemonWorkspace_module_css_default.entry ?? "";
15111
+ const icon = document.createElement("span");
15112
+ icon.className = MnemonWorkspace_module_css_default.entryIcon ?? "";
15113
+ icon.append(createMemoryIcon(16));
15114
+ const label = document.createElement("span");
15115
+ label.className = MnemonWorkspace_module_css_default.entryLabel ?? "";
15116
+ entry.append(icon, label);
15117
+ entry.addEventListener("click", () => {
15118
+ controller.open();
15119
+ });
15120
+ return {
15121
+ entry,
15122
+ label
15123
+ };
15124
+ }
15125
+ function placeEntry(root, entry) {
15126
+ const button = newSessionButton(root);
15127
+ if (button === void 0) return false;
15128
+ const row = button.closest("[class*=\"logoRow\"]");
15129
+ const base = row !== null && row.parentElement === root ? row : button;
15130
+ const parent = base.parentElement ?? root;
15131
+ if (entry.parentElement === parent) return true;
15132
+ const anchor = Array.from(parent.children).filter((element) => element instanceof HTMLElement && element.matches(FAMILY_SELECTOR)).at(-1)?.nextElementSibling ?? base.nextElementSibling;
15133
+ parent.insertBefore(entry, anchor !== null && anchor.parentElement === parent ? anchor : null);
15134
+ return true;
15135
+ }
15136
+ /** Mount a self-healing official-style entry under the New Session row. */
15137
+ function mountMnemonSidebarEntry(controller, t, subscribeLocale) {
15138
+ const { entry, label } = createEntry(controller);
15139
+ let root;
15140
+ let placed = false;
15141
+ const syncLabel = () => {
15142
+ const text = t("tab.label");
15143
+ if (entry.getAttribute("aria-label") !== text) entry.setAttribute("aria-label", text);
15144
+ if (entry.title !== text) entry.title = text;
15145
+ if (label.textContent !== text) label.textContent = text;
15146
+ };
15147
+ const rootObserver = new MutationObserver(() => {
15148
+ if (root === void 0 || !root.isConnected) {
15149
+ placed = false;
15150
+ tryPlace();
15151
+ return;
15152
+ }
15153
+ if (!root.contains(entry)) placed = placeEntry(root, entry);
15154
+ });
15155
+ const tryPlace = () => {
15156
+ syncLabel();
15157
+ if (root !== void 0 && !root.isConnected) {
15158
+ rootObserver.disconnect();
15159
+ root = void 0;
15160
+ placed = false;
15161
+ }
15162
+ if (placed && document.body.contains(entry)) return;
15163
+ if (placed) {
15164
+ rootObserver.disconnect();
15165
+ root = void 0;
15166
+ placed = false;
15167
+ }
15168
+ root ??= sidebarRoot();
15169
+ if (root === void 0) return;
15170
+ placed = placeEntry(root, entry);
15171
+ if (placed) rootObserver.observe(root, {
15172
+ childList: true,
15173
+ subtree: true
15174
+ });
15175
+ };
15176
+ const waitObserver = new MutationObserver(tryPlace);
15177
+ waitObserver.observe(document.body, {
15178
+ childList: true,
15179
+ subtree: true
15180
+ });
15181
+ const syncActive = () => {
15182
+ if (controller.getSnapshot().open) {
15183
+ entry.dataset.active = "true";
15184
+ entry.setAttribute("aria-current", "page");
15185
+ } else {
15186
+ delete entry.dataset.active;
15187
+ entry.removeAttribute("aria-current");
15188
+ }
15189
+ };
15190
+ const unsubscribe = controller.subscribe(syncActive);
15191
+ const unsubscribeLocale = subscribeLocale(syncLabel);
15192
+ const dispose = () => {
15193
+ waitObserver.disconnect();
15194
+ rootObserver.disconnect();
15195
+ unsubscribe();
15196
+ unsubscribeLocale();
15197
+ entry.remove();
15198
+ };
15199
+ try {
15200
+ syncActive();
15201
+ tryPlace();
15202
+ return dispose;
15203
+ } catch (error) {
15204
+ dispose();
15205
+ throw error;
15206
+ }
15207
+ }
15208
+ //#endregion
15081
15209
  //#region src/client/native-sidebar.tsx
15082
15210
  const MNEMON_MAIN_PANEL_ID = "mnemon";
15083
15211
  const ICON_SELECTOR = "[data-dsh-plugin=\"dsh-mnemon\"][data-dsh-part=\"sidebar-icon\"]";