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/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/SECURITY.md +2 -2
- package/lib/bundle.js +1 -1
- package/lib/client.js +515 -387
- package/lib/index.js +10640 -10339
- package/lib/{starter-resolution-CKedUNe4.js → starter-resolution-DXcN5HsU.js} +1 -1
- package/lib/starter.js +1 -1
- package/lib/types/src/client/locales.d.ts +7 -5
- package/lib/types/src/client/ui-icons.d.ts +0 -1
- package/lib/types/src/host/protocol.d.ts +53 -11
- package/package.json +41 -41
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
|
|
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": "
|
|
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": "
|
|
2432
|
-
"config.
|
|
2433
|
-
"config.
|
|
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": "
|
|
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.
|
|
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
|
|
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": "
|
|
2892
|
+
"config.reviewSpawnHint": "The task Agent reads a bounded checkpoint",
|
|
2890
2893
|
"config.reviewFork": "Full parent context (fork)",
|
|
2891
|
-
"config.reviewForkHint": "
|
|
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
|
|
2898
|
+
"config.reviewTeamPause": "Pause review",
|
|
2896
2899
|
"config.reviewTeamPauseHint": "Skips review while Agent Teams runs",
|
|
2897
|
-
"config.reviewTeamScoped": "Scoped
|
|
2898
|
-
"config.reviewTeamScopedHint": "
|
|
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
|
|
3303
|
-
"config.taskAgentInheritHint": "
|
|
3304
|
-
"config.
|
|
3305
|
-
"config.
|
|
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
|
|
11092
|
-
|
|
11093
|
-
|
|
11094
|
-
|
|
11095
|
-
|
|
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.
|
|
11217
|
-
route: route
|
|
11218
|
-
|
|
11219
|
-
|
|
11220
|
-
|
|
11221
|
-
|
|
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:
|
|
11224
|
-
onRoute:
|
|
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:
|
|
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\"]";
|