@chatcode/cco-better-sidebar 0.18.0-alpha.1 → 0.18.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client-editor.js +262 -262
- package/lib/client-mermaid.js +259 -259
- package/lib/client-registry.js +467 -408
- package/lib/client-terminal.js +265 -265
- package/lib/client.js +464 -405
- package/lib/types/client/chatcode-login-route.d.ts +4 -0
- package/lib/types/client/current-session.d.ts +11 -0
- package/lib/types/client/session-pins.d.ts +2 -0
- package/lib/types/client/settings-nav-icon.d.ts +6 -1
- package/lib/types/client/ui-tweaks/branding.d.ts +1 -1
- package/lib/types/context-types.d.ts +26 -6
- package/package.json +1 -1
- package/src/client/AccountMenu.tsx +10 -4
- package/src/client/ChatcodeGate.tsx +2 -2
- package/src/client/Sidebar.tsx +3 -1
- package/src/client/chatcode-login-route.ts +11 -0
- package/src/client/current-session.ts +22 -0
- package/src/client/index.tsx +27 -2
- package/src/client/intercept.tsx +2 -1
- package/src/client/layout.css +42 -0
- package/src/client/locales-ja.ts +1 -1
- package/src/client/locales.ts +2 -2
- package/src/client/session-pins.tsx +10 -3
- package/src/client/settings-nav-icon.ts +10 -3
- package/src/client/ui-tweaks/branding.tsx +17 -11
- package/src/context-types.ts +26 -6
package/lib/client-registry.js
CHANGED
|
@@ -2014,7 +2014,7 @@ window.__ModuleLoader__.load({
|
|
|
2014
2014
|
updateSettingsDesc: "ChatCode の CLI 版を npm の最新版へ更新します。",
|
|
2015
2015
|
updateChecking: "バージョン更新を確認しています…",
|
|
2016
2016
|
updatePerforming: "最新バージョンへ更新しています…",
|
|
2017
|
-
updateUpToDate: "
|
|
2017
|
+
updateUpToDate: "すでに最新です。",
|
|
2018
2018
|
updateNow: "今すぐ更新",
|
|
2019
2019
|
updateConfirm: "これらのパッケージを最新版へ更新します。反映には再起動が必要です。",
|
|
2020
2020
|
updateRestartHint: "更新が完了しました。ChatCode CLI を再起動してください。",
|
|
@@ -9590,7 +9590,7 @@ window.__ModuleLoader__.load({
|
|
|
9590
9590
|
updateSettingsDesc: "将 ChatCode CLI 端升级到 npm 最新版。",
|
|
9591
9591
|
updateChecking: "正在检查版本更新…",
|
|
9592
9592
|
updatePerforming: "正在升级到最新版本…",
|
|
9593
|
-
updateUpToDate: "
|
|
9593
|
+
updateUpToDate: "已是最新版本。",
|
|
9594
9594
|
updateNow: "立即更新",
|
|
9595
9595
|
updateConfirm: "将把这些包升级到最新版本,完成后需要重启才能生效。",
|
|
9596
9596
|
updateRestartHint: "更新成功,请重启 ChatCode CLI 以使用新版本。",
|
|
@@ -10060,7 +10060,7 @@ window.__ModuleLoader__.load({
|
|
|
10060
10060
|
updateSettingsDesc: "Upgrade the ChatCode CLI to the latest npm version.",
|
|
10061
10061
|
updateChecking: "Checking for version updates…",
|
|
10062
10062
|
updatePerforming: "Upgrading to the latest versions…",
|
|
10063
|
-
updateUpToDate: "
|
|
10063
|
+
updateUpToDate: "Already up to date.",
|
|
10064
10064
|
updateNow: "Update now",
|
|
10065
10065
|
updateConfirm: "These packages will be upgraded to the latest versions. A restart is required to apply them.",
|
|
10066
10066
|
updateRestartHint: "Update complete. Restart ChatCode CLI to use the new version.",
|
|
@@ -10978,6 +10978,23 @@ window.__ModuleLoader__.load({
|
|
|
10978
10978
|
};
|
|
10979
10979
|
}
|
|
10980
10980
|
//#endregion
|
|
10981
|
+
//#region src/client/current-session.ts
|
|
10982
|
+
/**
|
|
10983
|
+
* Read the session selected by the host's scoped-session adapter.
|
|
10984
|
+
*
|
|
10985
|
+
* Newer hosts deliberately removed `sessions.list.current`: selection is UI
|
|
10986
|
+
* scope state, not catalog state. The adapter is authoritative on both old
|
|
10987
|
+
* and new hosts and tracks main-view retain/release transitions.
|
|
10988
|
+
*/
|
|
10989
|
+
function currentSessionId(ctx) {
|
|
10990
|
+
return ctx.uiSession.adapter.current.getSnapshot().key;
|
|
10991
|
+
}
|
|
10992
|
+
/** React subscription to the same authoritative current-session source. */
|
|
10993
|
+
function useCurrentSessionId(ctx) {
|
|
10994
|
+
const source = ctx.uiSession.adapter.current;
|
|
10995
|
+
return (0, react.useSyncExternalStore)((0, react.useCallback)((listener) => source.subscribe(listener), [source]), (0, react.useCallback)(() => source.getSnapshot().key, [source]));
|
|
10996
|
+
}
|
|
10997
|
+
//#endregion
|
|
10981
10998
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/DSH-better-sidebar/src/client/sidebar.module.css.mjs
|
|
10982
10999
|
const css$5 = ".FV0QMq_releaseNotesOverlay{z-index:120;pointer-events:auto;background:color-mix(in srgb, var(--dsw-alias-bg-base) 72%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.FV0QMq_releaseNotesDialog{width:min(720px,100%);max-height:min(760px,100vh - 48px);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.FV0QMq_releaseNotesHeader,.FV0QMq_releaseNotesFooter{align-items:center;padding:16px 20px;display:flex}.FV0QMq_releaseNotesHeader{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;gap:16px}.FV0QMq_releaseNotesHeader h2{font:var(--dsw-font-s-18);margin:0}.FV0QMq_releaseNotesContent{min-height:120px;font:var(--dsw-font-s-14);padding:20px;overflow:auto}.FV0QMq_releaseNotesFooter{border-top:1px solid var(--dsw-alias-border-l1);justify-content:flex-end}.FV0QMq_releaseNotesIconButton,.FV0QMq_releaseNotesButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);cursor:pointer}.FV0QMq_releaseNotesIconButton:hover,.FV0QMq_releaseNotesButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_releaseNotesIconButton{width:32px;height:32px;font:var(--dsw-font-s-18);border-radius:50%;padding:0}.FV0QMq_releaseNotesButton{min-width:84px;min-height:36px;font:var(--dsw-font-s-14);border-radius:8px;padding:6px 16px}.FV0QMq_updateList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.FV0QMq_updateList li{font:var(--dsw-font-s-14);justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateVersions{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary)}.FV0QMq_updateOk{color:var(--dsw-alias-state-success-primary)}.FV0QMq_updateError,.FV0QMq_updateErrorText{color:var(--dsw-alias-state-error-primary)}.FV0QMq_updateErrorText{white-space:pre-wrap;font:var(--dsw-font-s-14);margin:12px 0 0}.FV0QMq_updateCommand{background:var(--dsw-alias-bg-layer-3);font-family:var(--dsw-font-code,var(--ds-font-family-code,monospace));white-space:pre-wrap;word-break:break-all;user-select:all;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:12px;overflow-x:auto}.FV0QMq_updateSettingsRow{justify-content:space-between;align-items:center;gap:16px;display:flex}.FV0QMq_updateSettingsText{flex-direction:column;gap:2px;min-width:0;display:flex}.FV0QMq_updateSettingsTitle{font:var(--dsw-font-s-14)}.FV0QMq_updateSettingsDesc{font:var(--dsw-font-s-13);color:var(--dsw-alias-label-secondary)}.FV0QMq_updateSettingsBlock{flex-direction:column;gap:12px;display:flex}.FV0QMq_updateBody{font:var(--dsw-font-s-14);margin:20px 0 0}.FV0QMq_updateFooter{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.FV0QMq_updateInline{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:8px;padding:16px}[data-dsh-panel-host]{z-index:25;pointer-events:none;position:fixed;inset:0;overflow:clip}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}[data-dsh-pinned-sessions]{flex:none;min-width:0}.FV0QMq_pinnedSessions{border-bottom:1px solid var(--dsw-alias-border-l1);margin:0 0 6px;padding:4px 0 6px}.FV0QMq_pinnedSessionsHeading{height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);align-items:center;padding:0 4px;display:flex}.FV0QMq_pinnedSessionsList{gap:1px;display:grid}[data-slot=sidebar\\.workspaces] [class*=_sessionRow][data-dsh-session-pinned]{display:none}.FV0QMq_pinnedSessionRow{border-radius:8px;align-items:center;min-width:0;height:32px;display:flex;position:relative}.FV0QMq_pinnedSessionRow:hover,.FV0QMq_pinnedSessionRow:focus-within{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionOpen,.FV0QMq_pinnedSessionMore,.FV0QMq_pinnedSessionMenu button{font:inherit;cursor:pointer;border:0}.FV0QMq_pinnedSessionOpen{min-width:0;height:100%;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-s-14);background:0 0;flex:1;align-items:center;gap:8px;padding:0 6px 0 8px;display:flex}.FV0QMq_pinnedSessionOpen[aria-current=page]{color:var(--dsw-alias-brand-primary)}.FV0QMq_pinnedSessionDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_pinnedSessionDot[data-running]{background:var(--dsw-alias-state-success-primary)}.FV0QMq_pinnedSessionTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_pinnedSessionMore{width:28px;height:28px;color:var(--dsw-alias-label-secondary);letter-spacing:1px;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-right:2px;padding:0;display:inline-flex}.FV0QMq_pinnedSessionMore:hover,.FV0QMq_pinnedSessionMore[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedSessionMenu{z-index:1101;box-sizing:border-box;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);border-radius:10px;min-width:150px;padding:4px;position:absolute;top:calc(100% + 2px);right:0}.FV0QMq_pinnedSessionMenu button{width:100%;min-height:32px;color:var(--dsw-alias-label-primary);text-align:left;font:var(--dsw-font-xxs-12);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.FV0QMq_pinnedSessionMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_pinnedSessionMenuDivider{background:var(--dsw-alias-border-l1);height:1px;margin:4px}.FV0QMq_accountMenu{z-index:3;box-sizing:border-box;width:var(--dsh-account-menu-width,280px);border-top:1px solid var(--dsw-alias-border-l2);border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);pointer-events:auto;position:absolute;bottom:0;left:0}.FV0QMq_accountTrigger,.FV0QMq_accountItem{color:var(--dsw-alias-fg-base);font:inherit;cursor:pointer;border:0}.FV0QMq_accountTrigger{box-sizing:border-box;width:100%;min-height:52px;padding:10px 14px max(10px, env(safe-area-inset-bottom));background:var(--dsw-alias-bg-layer-1);font-family:var(--dsw-font-family-body);font-size:var(--dsw-font-size-body-sm);line-height:var(--dsw-font-line-height-body-sm);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:0;align-items:center;gap:8px;display:flex}.FV0QMq_accountTrigger:hover,.FV0QMq_accountTrigger[aria-expanded=true]{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountTrigger:focus-visible,.FV0QMq_accountItem:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:2px}.FV0QMq_accountAvatar{background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);width:28px;height:28px;color:var(--dsw-alias-fg-accent);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid;position:relative}.FV0QMq_accountName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_accountDropdown{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);z-index:1;border-radius:12px;width:min(252px,100% - 16px);padding:10px 8px 8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:8px}.FV0QMq_accountDropdownHeader{min-height:36px;font-family:var(--dsw-font-family-body);font-size:var(--dsw-font-size-body-sm);line-height:var(--dsw-font-line-height-body-sm);align-items:center;gap:8px;padding:0 8px 8px;display:flex}.FV0QMq_accountMenuDivider{background:var(--dsw-alias-border-l2);height:1px;margin:0 4px 6px}.FV0QMq_accountItem{text-align:left;min-height:32px;font:var(--dsw-font-s-14);background:0 0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.FV0QMq_accountItem:hover{background:var(--dsw-alias-bg-hover)}.FV0QMq_accountPresence{box-sizing:content-box;border:2px solid var(--dsw-alias-bg-layer-2);background:var(--dsw-alias-fg-accent);border-radius:50%;flex:none;width:6px;height:6px;margin-left:auto}.FV0QMq_accountTrigger .FV0QMq_accountPresence{border-color:var(--dsw-alias-bg-layer-1)}.FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(3px + env(safe-area-inset-top)));z-index:45;pointer-events:auto;flex-direction:row;gap:4px;display:flex;position:absolute;right:10px}.FV0QMq_toggleClusterNative{z-index:auto;flex:none;align-items:center;position:static;inset:auto}button[data-dsh-better-sidebar-toggle]{display:none}body:not([data-dsh-native-sidebar-toggle]) .FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:var(--dsh-sidebar-toggle-reserve,188px)}.FV0QMq_toggleButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.FV0QMq_manualButton{min-width:94px;height:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);white-space:nowrap;cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;margin-right:4px;padding:0 10px;display:inline-flex}.FV0QMq_manualButton:hover,.FV0QMq_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_toggleButton:disabled,.FV0QMq_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.FV0QMq_panel{box-sizing:border-box;z-index:40;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.FV0QMq_panelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), width var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translate(102%)}.FV0QMq_panel[data-dragging]{transition:none}.FV0QMq_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.FV0QMq_panelResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_panelBody{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_bottomPanel{z-index:40;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2);pointer-events:auto;padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;bottom:0}.FV0QMq_bottomPanelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translateY(102%)}.FV0QMq_bottomPanel[data-dragging]{transition:none}.FV0QMq_panel,.FV0QMq_bottomPanel{contain:layout style}body[data-dsh-sidebar-dragging] .FV0QMq_panel,body[data-dsh-sidebar-dragging] .FV0QMq_bottomPanel{will-change:transform}.FV0QMq_bottomResize{cursor:row-resize;z-index:2;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.FV0QMq_bottomResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_bottomClose{z-index:4;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:6px}.FV0QMq_bottomClose:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_bottomPanel .FV0QMq_tabBar{padding-right:40px}.FV0QMq_floatWindow{z-index:42;pointer-events:auto;background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv3);contain:layout style;border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.FV0QMq_floatWindowDragging{will-change:left, top, width, height}.FV0QMq_floatHeader{height:34px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1);cursor:grab;user-select:none;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_floatWindowDragging .FV0QMq_floatHeader{cursor:grabbing}.FV0QMq_floatTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_floatClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_floatClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_floatContent{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.FV0QMq_floatResize{z-index:2;cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.FV0QMq_floatResize:hover{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane[data-dsh-float-dock-over]{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px}.FV0QMq_floatDropHint{z-index:46;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover-accent) 12%, transparent);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute}.FV0QMq_floatDropHintLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);border-radius:999px;padding:4px 12px}.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_manualButton,.FV0QMq_tabBar,.FV0QMq_floatHeader{-webkit-app-region:no-drag}body[data-dsh-title-bar-compat] .FV0QMq_toggleCluster{top:var(--dsh-native-sidebar-toggle-top,calc(var(--dsh-title-bar-strip,40px) + 3px))}body[data-dsh-title-bar-compat] .FV0QMq_panel{padding-top:var(--dsh-title-bar-strip,40px)}.FV0QMq_cornerHandle{left:-6px;bottom:calc(var(--dsh-sidebar-height,0px) + 6px);z-index:2;cursor:nwse-resize;touch-action:none;width:12px;height:12px;position:absolute}.FV0QMq_cornerHandle:hover,.FV0QMq_cornerHandle[data-dragging]{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_iconButton:disabled{opacity:.4;cursor:default}.FV0QMq_workbench,.FV0QMq_split{flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_splitRow{flex-direction:row}.FV0QMq_splitCol{flex-direction:column}.FV0QMq_splitChild{display:flex;position:relative;overflow:hidden}.FV0QMq_divider{z-index:3;touch-action:none;flex:none;position:relative}.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.FV0QMq_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.FV0QMq_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.FV0QMq_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.FV0QMq_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.FV0QMq_divider:hover:after,.FV0QMq_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.FV0QMq_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.FV0QMq_dropLeft{width:25%;top:0;bottom:0;left:0}.FV0QMq_dropRight{width:25%;top:0;bottom:0;right:0}.FV0QMq_dropUp{height:25%;top:0;left:0;right:0}.FV0QMq_dropDown{height:25%;bottom:0;left:0;right:0}.FV0QMq_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.FV0QMq_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.FV0QMq_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_paneTabHidden{display:none}.FV0QMq_paneEmptyCards{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow:hidden}.FV0QMq_paneCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;display:flex}.FV0QMq_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.FV0QMq_paneCard:disabled{opacity:.45;cursor:default}.FV0QMq_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex:none;align-items:stretch;height:34px;display:flex}.FV0QMq_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.FV0QMq_tabList::-webkit-scrollbar{display:none}.FV0QMq_tab{min-width:64px;max-width:160px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);border-right:1px solid var(--dsw-alias-border-l1);cursor:pointer;user-select:none;background:0 0;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.FV0QMq_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_tabBadge{min-width:16px;height:15px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.FV0QMq_tabClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.FV0QMq_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tabBarPlus{background:var(--dsw-alias-bg-layer-1);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border:none;border-radius:5px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 6px;padding:0;display:inline-flex;position:sticky;right:0}.FV0QMq_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_pinnedTab{color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_pinnedTab:hover{color:var(--dsw-alias-label-secondary)}.FV0QMq_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.FV0QMq_explorerRow{box-sizing:border-box;width:100%;max-width:100%;height:34px;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex}.FV0QMq_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_explorerRowRevealed{background:var(--dsw-alias-state-business-tertiary)}.FV0QMq_explorerRowRevealed+.FV0QMq_explorerRowRevealed{border-top-left-radius:0;border-top-right-radius:0}.FV0QMq_explorerRowRevealed:has(+.FV0QMq_explorerRowRevealed){border-bottom-right-radius:0;border-bottom-left-radius:0}.FV0QMq_explorerDir{font:var(--dsw-font-s-strong-14)}.FV0QMq_explorerHidden{opacity:.45}.FV0QMq_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerBroken .FV0QMq_explorerName{color:var(--dsw-alias-state-error-primary)}.FV0QMq_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.FV0QMq_explorerRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;display:none}.FV0QMq_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_explorerRow:hover .FV0QMq_explorerRef,.FV0QMq_explorerRow:focus-within .FV0QMq_explorerRef{display:inline-flex}.FV0QMq_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes FV0QMq_dsh-row-in{0%{opacity:0}}.FV0QMq_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover);outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.FV0QMq_uploadDropZone{z-index:1001;pointer-events:none;border:2px dashed var(--dsw-alias-interactive-bg-hover-accent);box-shadow:0 0 0 200vmax var(--dsw-alias-bg-mask-drop);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:10px;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed}.FV0QMq_uploadDropHero{flex-direction:column;align-items:center;gap:10px;max-width:100%;padding-top:8px;display:flex}.FV0QMq_uploadDropZonePill{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:100%;box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:flex}.FV0QMq_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadDropChatHint{z-index:1002;pointer-events:none;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0}.FV0QMq_uploadDropChatCard{text-align:center;max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);flex-direction:column;align-items:center;gap:12px;display:flex}.FV0QMq_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.FV0QMq_uploadOverlayCard{border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-alias-bg-layer-2);min-width:280px;max-width:min(420px,100% - 48px);box-shadow:var(--dsw-shadow-lv3);border-radius:24px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.FV0QMq_uploadOverlayTitle{font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.FV0QMq_uploadOverlayTitle>svg{flex:none}.FV0QMq_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.FV0QMq_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.FV0QMq_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.FV0QMq_uploadOverlayStatus{min-height:1em;font:var(--dsw-font-xxs-12);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.FV0QMq_uploadOverlayCancel{border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;padding:0 14px}.FV0QMq_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.FV0QMq_editor{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.FV0QMq_editorPathInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_editorBody{flex:1;min-height:0;display:flex}.FV0QMq_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.FV0QMq_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.FV0QMq_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.FV0QMq_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.FV0QMq_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.FV0QMq_editorTreePanelFull{flex:1}.FV0QMq_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.FV0QMq_editorSearchInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.FV0QMq_editorSearchResult{width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 8px;display:block;overflow:hidden}.FV0QMq_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorStatusError{color:var(--dsw-alias-state-error-primary)}.FV0QMq_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.FV0QMq_editorPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.FV0QMq_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.FV0QMq_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.FV0QMq_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_editorDownloadLink{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:6px;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.FV0QMq_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.FV0QMq_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.FV0QMq_fenceError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.FV0QMq_editorBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 8px}.FV0QMq_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.FV0QMq_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.FV0QMq_sandboxStatusOff{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent)}.FV0QMq_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.FV0QMq_sandboxStatusOff .FV0QMq_sandboxDot{background:var(--dsw-alias-state-error-primary)}.FV0QMq_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.FV0QMq_sandboxAction{border:1px solid var(--dsw-alias-border-l2);font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px}.FV0QMq_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorHtml{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browser{flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.FV0QMq_browserInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.FV0QMq_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.FV0QMq_browserMessage{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 12px}.FV0QMq_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_browserStart{text-align:center;min-height:0;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.FV0QMq_browserBlocked{text-align:center;min-height:0;color:var(--dsw-alias-state-warn-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.FV0QMq_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.FV0QMq_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.FV0QMq_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.FV0QMq_browserBlockedButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);cursor:pointer;border-radius:6px;padding:4px 12px}.FV0QMq_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.FV0QMq_editorCmHidden{display:none}.FV0QMq_editorCm .cm-editor{height:100%}.FV0QMq_editorCm .cm-scroller{padding:12px 16px}.FV0QMq_editorCm .cm-editor.cm-focused{outline:none}.FV0QMq_editorModeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.FV0QMq_editorModeButton{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.FV0QMq_editorModeButton:hover{color:var(--dsw-alias-label-primary)}.FV0QMq_editorModeActive{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.FV0QMq_editorImageWrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.FV0QMq_editorImage{object-fit:contain;max-width:100%;max-height:100%}.FV0QMq_editorMd{min-height:0;font:var(--dsw-font-xs-13);flex:1;padding:12px 16px;overflow-y:auto}.FV0QMq_mermaidWrap{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;margin:6px 0;overflow:hidden}.FV0QMq_mermaidHeader{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.FV0QMq_mermaidInfo{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_mermaidCopy{height:20px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.FV0QMq_mermaidCopy:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_mermaidBody{cursor:zoom-in;justify-content:center;padding:10px;display:flex;overflow:auto}.FV0QMq_mermaidBody svg{max-width:100%;height:auto}.FV0QMq_mermaidError{border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11);padding:6px 10px}.FV0QMq_mermaidCode{font:var(--dsw-font-xxxs-11);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.FV0QMq_mermaidMarkdown .md-code-block[data-mermaid-processed]{display:contents}.FV0QMq_mermaidModal{z-index:1000;background:var(--dsw-alias-bg-mask-1);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.FV0QMq_mermaidModalToolbar{z-index:10;gap:8px;display:flex;position:absolute;top:16px;right:16px}.FV0QMq_mermaidModalButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-strong-13);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_mermaidModalButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_mermaidModalStage{justify-content:center;align-items:center;width:90vw;height:80vh;display:flex;position:relative;overflow:hidden}.FV0QMq_mermaidModalStage svg{cursor:grab;transform-origin:50%;user-select:none;-webkit-user-drag:none;background:var(--dsw-alias-bg-layer-1);border-radius:12px;max-width:none;max-height:none;padding:16px}.FV0QMq_mermaidModalStage svg:active{cursor:grabbing}.FV0QMq_mermaidModalHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);pointer-events:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.FV0QMq_selectionPopup{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.FV0QMq_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_editorPdf{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex}.FV0QMq_editorPdfToolbar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.FV0QMq_editorPdfStage{flex:1;min-height:0;display:flex;position:relative}.FV0QMq_editorPdfFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.FV0QMq_editorPdfFrameBlocked{pointer-events:none}.FV0QMq_editorPdfDragShield{z-index:4;pointer-events:none;background:0 0;position:absolute;inset:0}.FV0QMq_editorPdfDragShieldActive{pointer-events:auto}body[data-dsh-tab-dragging] .FV0QMq_editorPdfFrame{pointer-events:none!important}body[data-dsh-tab-dragging] .FV0QMq_editorPdfDragShield{pointer-events:auto!important}.FV0QMq_terminalWrap{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.FV0QMq_terminal{flex:1;min-height:0;padding:6px 4px 6px 8px}.FV0QMq_terminal .xterm{height:100%}.FV0QMq_terminalBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:3px 10px;display:flex}.FV0QMq_terminalBannerUrl{word-break:break-all;opacity:.85;flex-basis:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.FV0QMq_boundaryError{z-index:50;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto}.FV0QMq_terminalRetry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;padding:1px 8px}.FV0QMq_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_terminalDepsBanner{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex-direction:column;flex:none;gap:6px;padding:10px;display:flex}.FV0QMq_terminalDepsTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-state-warn-primary)}.FV0QMq_terminalDepsHint{opacity:.9}.FV0QMq_terminalDepsCommandRow{align-items:flex-start;gap:8px;display:flex}.FV0QMq_terminalRepairCommand{white-space:pre-wrap;word-break:break-all;user-select:text;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:4px;flex:1;max-height:160px;margin:0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;overflow:auto}.FV0QMq_terminalDepsNote{opacity:.85}.FV0QMq_terminalDepsActions{align-items:center;gap:8px;display:flex}.FV0QMq_tabBoundaryError{min-height:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:12px 16px;display:flex;overflow:auto}.FV0QMq_git{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitHeader{flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitWorktreeRow{flex:none;align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.FV0QMq_gitWorktreeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.FV0QMq_gitBranchSelect{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 6px}.FV0QMq_gitSection{border-top:1px solid var(--dsw-alias-border-l1)}.FV0QMq_gitSectionHeader{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary);text-transform:uppercase;justify-content:space-between;align-items:center;padding:6px 12px 4px;display:flex}.FV0QMq_gitLink{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:none;padding:0}.FV0QMq_gitLink:hover:not(:disabled){text-decoration:underline}.FV0QMq_gitLink:disabled{opacity:.4;cursor:default}.FV0QMq_gitRow{min-height:34px;animation:FV0QMq_dsh-row-in .15s var(--ds-ease-in-out);border-radius:8px;align-items:center;gap:6px;margin:0 6px;padding:0 8px;display:flex}.FV0QMq_gitRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitRowSelected{background:var(--dsw-alias-interactive-bg-active)}.FV0QMq_gitRowMain{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:3px 0;display:flex}.FV0QMq_gitBadge{width:20px;height:16px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_gitName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.FV0QMq_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.FV0QMq_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.FV0QMq_gitDiff{border-top:1px solid var(--dsw-alias-border-l1);padding:8px}.FV0QMq_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.FV0QMq_gitDiffTabHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.FV0QMq_gitDiffTabTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitDiffFile{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 2px 2px;display:flex}.FV0QMq_gitDiffFile:disabled{cursor:default}.FV0QMq_gitDiffFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitDiffFileChevron{color:var(--dsw-alias-label-tertiary);flex:none;transform:rotate(0)}.FV0QMq_gitDiffFileChevronExpanded{transform:rotate(90deg)}.FV0QMq_gitDiffFilePath{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffFileOld{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.FV0QMq_gitDiffFileTag{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:0 6px}.FV0QMq_gitDiffHunk{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);gap:8px;padding:3px 2px;display:flex}.FV0QMq_gitDiffHunkHeader{color:var(--dsw-alias-label-secondary);flex:none}.FV0QMq_gitDiffHunkSection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_gitDiffLine{font:var(--dsw-font-markdown-code-block-small);white-space:pre-wrap;overflow-wrap:anywhere;align-items:stretch;min-width:0;line-height:20px;display:flex}.FV0QMq_gitDiffNum{text-align:right;width:36px;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;padding-right:8px}.FV0QMq_gitDiffCode{flex:1;min-width:0;overflow:visible}.FV0QMq_gitDiffCtx{color:var(--dsw-alias-label-primary)}.FV0QMq_gitDiffDel{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.FV0QMq_gitDiffAdd{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 12%, transparent)}.FV0QMq_gitDiffMeta{padding-left:2px}.FV0QMq_gitDiffMetaText{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);font-style:italic}.FV0QMq_gitDiffExpand{width:100%;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-brand-primary);cursor:pointer;text-align:center;background:0 0;border:none;margin:4px 0;display:block}.FV0QMq_gitDiffExpand:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitConfirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);white-space:pre-wrap;margin:0}.FV0QMq_gitCommit{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:6px;padding:8px 12px;display:flex}.FV0QMq_gitCommitInput{flex:1;min-width:0}.FV0QMq_gitCommitButton{background:var(--dsw-alias-button-primary-fill);height:26px;color:var(--dsw-alias-label-primary-inverted);font:var(--dsw-font-xxs-strong-12);cursor:pointer;border:none;border-radius:6px;flex:none;padding:0 12px}.FV0QMq_gitCommitButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.FV0QMq_gitCommitButton:disabled{opacity:.45;cursor:default}.FV0QMq_gitLogRow{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:5px 12px;display:flex}.FV0QMq_gitLogRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.FV0QMq_gitLogLine1{align-items:baseline;gap:8px;min-width:0;display:flex}.FV0QMq_gitLogHash{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_gitLogLine2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.FV0QMq_gitLogRef{border:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-brand-primary);white-space:nowrap;border-radius:999px;flex:none;padding:0 5px}.FV0QMq_gitLogSubject{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.FV0QMq_gitLogMeta{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.FV0QMq_gitLogMore{border:1px solid var(--dsw-alias-border-l2);width:calc(100% - 24px);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:6px;margin:4px 12px 8px;padding:6px 0;display:block}.FV0QMq_gitLogMore:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_gitLogMore:disabled{opacity:.5;cursor:default}.FV0QMq_producedRow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.FV0QMq_producedLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_producedChip{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-width:200px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex;overflow:hidden}.FV0QMq_producedChip:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_producedChip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.FV0QMq_producedMore{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.FV0QMq_toggleButton:focus-visible,.FV0QMq_manualButton:focus-visible,.FV0QMq_bottomClose:focus-visible,.FV0QMq_iconButton:focus-visible,.FV0QMq_tab:focus-visible,.FV0QMq_tabClose:focus-visible,.FV0QMq_tabBarPlus:focus-visible,.FV0QMq_paneCard:focus-visible,.FV0QMq_explorerRow:focus-visible,.FV0QMq_explorerRef:focus-visible,.FV0QMq_gitRowMain:focus-visible,.FV0QMq_gitLink:focus-visible,.FV0QMq_gitCommitButton:focus-visible,.FV0QMq_gitLogRow:focus-visible,.FV0QMq_gitLogMore:focus-visible,.FV0QMq_gitDiffFile:focus-visible,.FV0QMq_gitDiffExpand:focus-visible,.FV0QMq_terminalRetry:focus-visible,.FV0QMq_editorModeButton:focus-visible,.FV0QMq_editorDownloadLink:focus-visible,.FV0QMq_editorPptxButton:focus-visible,.FV0QMq_editorDocxZoomRange:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.FV0QMq_panel,.FV0QMq_panelHidden,.FV0QMq_bottomPanel,.FV0QMq_bottomPanelHidden,.FV0QMq_toggleCluster,.FV0QMq_toggleButton,.FV0QMq_tab,.FV0QMq_tabBarPlus,.FV0QMq_paneCard,.FV0QMq_explorerRow,.FV0QMq_gitRow,.FV0QMq_divider,.FV0QMq_dividerRow:after,.FV0QMq_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.FV0QMq_panel:not(.FV0QMq_panelHidden) .FV0QMq_tabBar{padding-right:148px}.FV0QMq_tab{min-width:48px;max-width:128px}}.FV0QMq_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.FV0QMq_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.FV0QMq_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_openWithPin{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.FV0QMq_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_openWithPinActive{color:var(--dsw-alias-state-business-primary)}.FV0QMq_editorHtmlBlock{margin:8px 0}.FV0QMq_editorHtmlBlock img,.FV0QMq_editorHtmlBlock video{max-width:100%}.FV0QMq_editorHtmlBlock details{margin:4px 0;padding:4px 0}.FV0QMq_editorHtmlBlock summary{cursor:pointer}.FV0QMq_tocBar{z-index:3;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.FV0QMq_tocButton{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:4px 2px 0 0;padding:0;display:inline-flex}.FV0QMq_tocButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:min(300px,82%);max-height:60vh;box-shadow:var(--dsw-shadow-lv2);pointer-events:auto;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:32px;right:2px;overflow-y:auto}.FV0QMq_tocItem{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.FV0QMq_tocItem:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.FV0QMq_tocItem[data-level=\"2\"]{padding-left:18px}.FV0QMq_tocItem[data-level=\"3\"]{padding-left:28px}.FV0QMq_tocItem[data-level=\"4\"]{padding-left:38px}.FV0QMq_tocItem[data-level=\"5\"]{padding-left:48px}.FV0QMq_tocItem[data-level=\"6\"]{padding-left:58px}.FV0QMq_tocItemLevel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.FV0QMq_tocItemText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes FV0QMq_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.FV0QMq_tocFlash{border-radius:4px;animation:1.2s ease-out FV0QMq_dsh-toc-flash}.FV0QMq_chatcodeGate{z-index:2147483000;isolation:isolate;background-color:var(--dsw-alias-tooltip-bg);background-image:linear-gradient(135deg, var(--dsw-alias-tooltip-bg) 0%, var(--dsw-alias-brand-primary) 48%, var(--dsw-alias-tooltip-bg) 100%);color:var(--dsw-alias-fg-base);pointer-events:auto;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.FV0QMq_chatcodeGateCard{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:linear-gradient(145deg, var(--dsw-alias-bg-layer-2), var(--dsw-alias-bg-layer-1));width:min(460px,100%);box-shadow:var(--dsw-shadow-lv3);text-align:center;border-radius:20px;padding:40px 36px;position:relative}.FV0QMq_chatcodeGateContent{position:relative}.FV0QMq_chatcodeGateCard h1{font:var(--dsw-font-heading-lg);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(32px,5vw,46px);line-height:1.1}.FV0QMq_chatcodeGateCard p{max-width:29em;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-s-14);margin:0 auto;line-height:1.7}.FV0QMq_chatcodeGateError{border:1px solid color-mix(in srgb, var(--dsw-alias-fg-error) 36%, var(--dsw-alias-border-l2));background:color-mix(in srgb, var(--dsw-alias-fg-error) 8%, transparent);border-radius:10px;padding:9px 11px;position:relative;color:var(--dsw-alias-fg-error)!important;font:var(--dsw-font-xxs-12)!important;margin-top:16px!important;line-height:1.5!important}.FV0QMq_chatcodeGateActions{justify-content:center;gap:10px;margin:28px 0 14px;display:flex;position:relative}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-height:42px;color:var(--dsw-alias-fg-base);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:10px;padding:9px 17px}.FV0QMq_chatcodeGateActions button:first-child{border-color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-state-error-primary);min-width:152px;min-height:46px;color:var(--dsw-alias-label-primary-inverted)}.FV0QMq_chatcodeGateActions button:first-child:hover:not(:disabled){box-shadow:var(--dsw-shadow-lv2);transform:translateY(-2px);border-color:var(--dsw-alias-state-error-primary)!important;background:var(--dsw-alias-state-error-primary)!important;color:var(--dsw-alias-label-primary-inverted)!important}.FV0QMq_chatcodeGateActions button:not(:first-child):hover:not(:disabled),.FV0QMq_chatcodeGateCard a:hover{border-color:var(--dsw-alias-button-primary-hover);background:var(--dsw-alias-button-primary-hover);color:var(--dsw-alias-label-primary-inverted);transform:translateY(-1px)}.FV0QMq_chatcodeGateActions button:disabled{cursor:default;opacity:.55}.FV0QMq_chatcodeGateCard a{align-items:center;text-decoration:none;display:inline-flex;position:relative}.FV0QMq_chatcodeGateActions button:focus-visible,.FV0QMq_chatcodeGateCard a:focus-visible{outline:2px solid var(--dsw-alias-border-accent);outline-offset:3px}@media (width<=480px){.FV0QMq_chatcodeGate{padding:16px}.FV0QMq_chatcodeGateCard{padding:32px 24px}.FV0QMq_chatcodeGateActions{flex-direction:column;align-items:stretch}.FV0QMq_chatcodeGateActions button,.FV0QMq_chatcodeGateCard a{justify-content:center}}";
|
|
10983
11000
|
const tagId$5 = "dsh-external/dsh-better-sidebar/sidebar.module.css";
|
|
@@ -10989,295 +11006,295 @@ window.__ModuleLoader__.load({
|
|
|
10989
11006
|
document.head.appendChild(tag);
|
|
10990
11007
|
}
|
|
10991
11008
|
var sidebar_module_css_default = {
|
|
10992
|
-
"
|
|
10993
|
-
"gitDiffAdd": "FV0QMq_gitDiffAdd",
|
|
10994
|
-
"tabBar": "FV0QMq_tabBar",
|
|
10995
|
-
"gitDiffMeta": "FV0QMq_gitDiffMeta",
|
|
10996
|
-
"updateOk": "FV0QMq_updateOk",
|
|
10997
|
-
"gitCommit": "FV0QMq_gitCommit",
|
|
10998
|
-
"gitRowSelected": "FV0QMq_gitRowSelected",
|
|
10999
|
-
"releaseNotesContent": "FV0QMq_releaseNotesContent",
|
|
11000
|
-
"chatcodeGateError": "FV0QMq_chatcodeGateError",
|
|
11001
|
-
"updateSettingsDesc": "FV0QMq_updateSettingsDesc",
|
|
11002
|
-
"gitWorktreeLabel": "FV0QMq_gitWorktreeLabel",
|
|
11003
|
-
"tocItemLevel": "FV0QMq_tocItemLevel",
|
|
11004
|
-
"gitSection": "FV0QMq_gitSection",
|
|
11005
|
-
"explorerRowRevealed": "FV0QMq_explorerRowRevealed",
|
|
11006
|
-
"editorPdf": "FV0QMq_editorPdf",
|
|
11007
|
-
"sandboxStatusOff": "FV0QMq_sandboxStatusOff",
|
|
11008
|
-
"splitCol": "FV0QMq_splitCol",
|
|
11009
|
-
"pinnedSessionDot": "FV0QMq_pinnedSessionDot",
|
|
11010
|
-
"editorPdfFrame": "FV0QMq_editorPdfFrame",
|
|
11011
|
-
"explorerError": "FV0QMq_explorerError",
|
|
11012
|
-
"updateSettingsRow": "FV0QMq_updateSettingsRow",
|
|
11013
|
-
"gitLogRef": "FV0QMq_gitLogRef",
|
|
11014
|
-
"explorer": "FV0QMq_explorer",
|
|
11015
|
-
"panelResize": "FV0QMq_panelResize",
|
|
11016
|
-
"mermaidModal": "FV0QMq_mermaidModal",
|
|
11017
|
-
"editorTreePanelFull": "FV0QMq_editorTreePanelFull",
|
|
11018
|
-
"updateFooter": "FV0QMq_updateFooter",
|
|
11019
|
-
"gitLogLine2": "FV0QMq_gitLogLine2",
|
|
11020
|
-
"explorerRow": "FV0QMq_explorerRow",
|
|
11021
|
-
"gitDiffFileOld": "FV0QMq_gitDiffFileOld",
|
|
11022
|
-
"tabList": "FV0QMq_tabList",
|
|
11023
|
-
"gitRowMain": "FV0QMq_gitRowMain",
|
|
11024
|
-
"gitLogHash": "FV0QMq_gitLogHash",
|
|
11025
|
-
"panel": "FV0QMq_panel",
|
|
11026
|
-
"terminalDepsNote": "FV0QMq_terminalDepsNote",
|
|
11027
|
-
"gitDiffFileChevron": "FV0QMq_gitDiffFileChevron",
|
|
11028
|
-
"iconButton": "FV0QMq_iconButton",
|
|
11029
|
-
"tabBarDrop": "FV0QMq_tabBarDrop",
|
|
11030
|
-
"updateError": "FV0QMq_updateError",
|
|
11031
|
-
"uploadOverlayCancel": "FV0QMq_uploadOverlayCancel",
|
|
11032
|
-
"panelBody": "FV0QMq_panelBody",
|
|
11033
|
-
"editor": "FV0QMq_editor",
|
|
11034
|
-
"tabBarPlus": "FV0QMq_tabBarPlus",
|
|
11035
|
-
"tabTitle": "FV0QMq_tabTitle",
|
|
11036
|
-
"editorBinary": "FV0QMq_editorBinary",
|
|
11037
|
-
"browserBlockedButton": "FV0QMq_browserBlockedButton",
|
|
11038
|
-
"terminalRepairCommand": "FV0QMq_terminalRepairCommand",
|
|
11039
|
-
"dropUp": "FV0QMq_dropUp",
|
|
11040
|
-
"explorerBody": "FV0QMq_explorerBody",
|
|
11041
|
-
"gitDiffTabHeader": "FV0QMq_gitDiffTabHeader",
|
|
11042
|
-
"chatcodeGate": "FV0QMq_chatcodeGate",
|
|
11043
|
-
"accountMenu": "FV0QMq_accountMenu",
|
|
11044
|
-
"terminalRetry": "FV0QMq_terminalRetry",
|
|
11045
|
-
"gitDiffFileChevronExpanded": "FV0QMq_gitDiffFileChevronExpanded",
|
|
11046
|
-
"uploadDropZone": "FV0QMq_uploadDropZone",
|
|
11047
|
-
"explorerName": "FV0QMq_explorerName",
|
|
11048
|
-
"gitDiffDel": "FV0QMq_gitDiffDel",
|
|
11049
|
-
"toggleClusterNative": "FV0QMq_toggleClusterNative",
|
|
11050
|
-
"paneCard": "FV0QMq_paneCard",
|
|
11051
|
-
"editorPdfDragShield": "FV0QMq_editorPdfDragShield",
|
|
11052
|
-
"gitCommitButton": "FV0QMq_gitCommitButton",
|
|
11053
|
-
"paneEmptyCards": "FV0QMq_paneEmptyCards",
|
|
11054
|
-
"gitDiffExpand": "FV0QMq_gitDiffExpand",
|
|
11055
|
-
"tocBar": "FV0QMq_tocBar",
|
|
11056
|
-
"floatClose": "FV0QMq_floatClose",
|
|
11057
|
-
"gitLogRow": "FV0QMq_gitLogRow",
|
|
11058
|
-
"browserStart": "FV0QMq_browserStart",
|
|
11059
|
-
"editorPptxButton": "FV0QMq_editorPptxButton",
|
|
11060
|
-
"explorerCopied": "FV0QMq_explorerCopied",
|
|
11061
|
-
"splitRow": "FV0QMq_splitRow",
|
|
11062
|
-
"editorSearchResult": "FV0QMq_editorSearchResult",
|
|
11063
|
-
"sandboxStatusOn": "FV0QMq_sandboxStatusOn",
|
|
11064
|
-
"explorerSymlink": "FV0QMq_explorerSymlink",
|
|
11065
|
-
"editorBody": "FV0QMq_editorBody",
|
|
11066
|
-
"workbench": "FV0QMq_workbench",
|
|
11009
|
+
"terminalDepsCommandRow": "FV0QMq_terminalDepsCommandRow",
|
|
11067
11010
|
"floatDropHint": "FV0QMq_floatDropHint",
|
|
11068
|
-
"
|
|
11069
|
-
"
|
|
11070
|
-
"floatWindow": "FV0QMq_floatWindow",
|
|
11071
|
-
"gitDiffNum": "FV0QMq_gitDiffNum",
|
|
11072
|
-
"gitLogMore": "FV0QMq_gitLogMore",
|
|
11073
|
-
"pinnedSessionMenuDivider": "FV0QMq_pinnedSessionMenuDivider",
|
|
11074
|
-
"split": "FV0QMq_split",
|
|
11011
|
+
"toggleClusterNative": "FV0QMq_toggleClusterNative",
|
|
11012
|
+
"updateList": "FV0QMq_updateList",
|
|
11075
11013
|
"editorSearchHint": "FV0QMq_editorSearchHint",
|
|
11076
|
-
"
|
|
11077
|
-
"
|
|
11078
|
-
"
|
|
11079
|
-
"
|
|
11080
|
-
"
|
|
11081
|
-
"
|
|
11082
|
-
"
|
|
11014
|
+
"updateSettingsTitle": "FV0QMq_updateSettingsTitle",
|
|
11015
|
+
"chatcodeGate": "FV0QMq_chatcodeGate",
|
|
11016
|
+
"gitRowMain": "FV0QMq_gitRowMain",
|
|
11017
|
+
"pinnedSessionMenuDivider": "FV0QMq_pinnedSessionMenuDivider",
|
|
11018
|
+
"gitPlaceholder": "FV0QMq_gitPlaceholder",
|
|
11019
|
+
"browserBlockedDesc": "FV0QMq_browserBlockedDesc",
|
|
11020
|
+
"gitRowSelected": "FV0QMq_gitRowSelected",
|
|
11021
|
+
"uploadDropChatHint": "FV0QMq_uploadDropChatHint",
|
|
11022
|
+
"panelResizeActive": "FV0QMq_panelResizeActive",
|
|
11023
|
+
"gitLogMore": "FV0QMq_gitLogMore",
|
|
11083
11024
|
"panelHidden": "FV0QMq_panelHidden",
|
|
11084
|
-
"
|
|
11025
|
+
"tab": "FV0QMq_tab",
|
|
11026
|
+
"releaseNotesDialog": "FV0QMq_releaseNotesDialog",
|
|
11027
|
+
"orphanedType": "FV0QMq_orphanedType",
|
|
11085
11028
|
"mermaidWrap": "FV0QMq_mermaidWrap",
|
|
11086
|
-
"
|
|
11029
|
+
"gitCommitInput": "FV0QMq_gitCommitInput",
|
|
11030
|
+
"gitDiffNum": "FV0QMq_gitDiffNum",
|
|
11031
|
+
"mermaidModalStage": "FV0QMq_mermaidModalStage",
|
|
11087
11032
|
"explorerHeader": "FV0QMq_explorerHeader",
|
|
11088
|
-
"
|
|
11089
|
-
"
|
|
11090
|
-
"
|
|
11091
|
-
"
|
|
11092
|
-
"
|
|
11093
|
-
"
|
|
11094
|
-
"explorerRoot": "FV0QMq_explorerRoot",
|
|
11095
|
-
"editorTreeResize": "FV0QMq_editorTreeResize",
|
|
11096
|
-
"gitWorktreeRow": "FV0QMq_gitWorktreeRow",
|
|
11097
|
-
"mermaidMarkdown": "FV0QMq_mermaidMarkdown",
|
|
11098
|
-
"gitBranchSelect": "FV0QMq_gitBranchSelect",
|
|
11099
|
-
"gitDiffHunkSection": "FV0QMq_gitDiffHunkSection",
|
|
11100
|
-
"uploadDropChatCard": "FV0QMq_uploadDropChatCard",
|
|
11101
|
-
"editorTreePanel": "FV0QMq_editorTreePanel",
|
|
11102
|
-
"sandboxStatus": "FV0QMq_sandboxStatus",
|
|
11103
|
-
"dividerActive": "FV0QMq_dividerActive",
|
|
11104
|
-
"explorerBroken": "FV0QMq_explorerBroken",
|
|
11105
|
-
"pinnedSessionOpen": "FV0QMq_pinnedSessionOpen",
|
|
11106
|
-
"floatDropHintLabel": "FV0QMq_floatDropHintLabel",
|
|
11107
|
-
"editorTreeToggleActive": "FV0QMq_editorTreeToggleActive",
|
|
11108
|
-
"gitHeader": "FV0QMq_gitHeader",
|
|
11109
|
-
"openWithChevron": "FV0QMq_openWithChevron",
|
|
11033
|
+
"tabBoundaryError": "FV0QMq_tabBoundaryError",
|
|
11034
|
+
"gitCommit": "FV0QMq_gitCommit",
|
|
11035
|
+
"editor": "FV0QMq_editor",
|
|
11036
|
+
"dsh-row-in": "FV0QMq_dsh-row-in",
|
|
11037
|
+
"browserBlockedButton": "FV0QMq_browserBlockedButton",
|
|
11038
|
+
"sandboxStatusText": "FV0QMq_sandboxStatusText",
|
|
11110
11039
|
"tocItem": "FV0QMq_tocItem",
|
|
11111
|
-
"
|
|
11112
|
-
"
|
|
11113
|
-
"
|
|
11114
|
-
"
|
|
11115
|
-
"
|
|
11116
|
-
"floatTitle": "FV0QMq_floatTitle",
|
|
11117
|
-
"sandboxAction": "FV0QMq_sandboxAction",
|
|
11118
|
-
"paneTab": "FV0QMq_paneTab",
|
|
11119
|
-
"pinnedSessionsList": "FV0QMq_pinnedSessionsList",
|
|
11120
|
-
"browserFrame": "FV0QMq_browserFrame",
|
|
11121
|
-
"bottomResize": "FV0QMq_bottomResize",
|
|
11122
|
-
"terminalDepsBanner": "FV0QMq_terminalDepsBanner",
|
|
11123
|
-
"uploadDropHero": "FV0QMq_uploadDropHero",
|
|
11124
|
-
"gitDiffTabTitle": "FV0QMq_gitDiffTabTitle",
|
|
11125
|
-
"openWithPinActive": "FV0QMq_openWithPinActive",
|
|
11126
|
-
"editorImage": "FV0QMq_editorImage",
|
|
11127
|
-
"accountName": "FV0QMq_accountName",
|
|
11128
|
-
"editorPdfFrameBlocked": "FV0QMq_editorPdfFrameBlocked",
|
|
11040
|
+
"editorHeader": "FV0QMq_editorHeader",
|
|
11041
|
+
"pinnedTab": "FV0QMq_pinnedTab",
|
|
11042
|
+
"gitHeader": "FV0QMq_gitHeader",
|
|
11043
|
+
"openWithName": "FV0QMq_openWithName",
|
|
11044
|
+
"terminalRepairCommand": "FV0QMq_terminalRepairCommand",
|
|
11129
11045
|
"accountDropdown": "FV0QMq_accountDropdown",
|
|
11130
|
-
"
|
|
11131
|
-
"
|
|
11046
|
+
"gitDiffCtx": "FV0QMq_gitDiffCtx",
|
|
11047
|
+
"gitEmpty": "FV0QMq_gitEmpty",
|
|
11048
|
+
"editorSearchInput": "FV0QMq_editorSearchInput",
|
|
11049
|
+
"gitLogRow": "FV0QMq_gitLogRow",
|
|
11050
|
+
"panelBody": "FV0QMq_panelBody",
|
|
11051
|
+
"updateOk": "FV0QMq_updateOk",
|
|
11052
|
+
"pinnedSessionTitle": "FV0QMq_pinnedSessionTitle",
|
|
11053
|
+
"dividerCol": "FV0QMq_dividerCol",
|
|
11054
|
+
"paneContent": "FV0QMq_paneContent",
|
|
11055
|
+
"explorerHidden": "FV0QMq_explorerHidden",
|
|
11056
|
+
"uploadDropZonePill": "FV0QMq_uploadDropZonePill",
|
|
11057
|
+
"editorTreeSearch": "FV0QMq_editorTreeSearch",
|
|
11058
|
+
"mermaidModalHint": "FV0QMq_mermaidModalHint",
|
|
11132
11059
|
"uploadOverlayTitle": "FV0QMq_uploadOverlayTitle",
|
|
11133
|
-
"
|
|
11134
|
-
"editorStatusError": "FV0QMq_editorStatusError",
|
|
11135
|
-
"mermaidModalStage": "FV0QMq_mermaidModalStage",
|
|
11136
|
-
"gitLogMeta": "FV0QMq_gitLogMeta",
|
|
11060
|
+
"paneTab": "FV0QMq_paneTab",
|
|
11137
11061
|
"editorHtmlBlock": "FV0QMq_editorHtmlBlock",
|
|
11138
|
-
"
|
|
11139
|
-
"
|
|
11140
|
-
"
|
|
11141
|
-
"
|
|
11062
|
+
"updateSettingsDesc": "FV0QMq_updateSettingsDesc",
|
|
11063
|
+
"editorCm": "FV0QMq_editorCm",
|
|
11064
|
+
"gitDiffExpand": "FV0QMq_gitDiffExpand",
|
|
11065
|
+
"editorMd": "FV0QMq_editorMd",
|
|
11066
|
+
"mermaidModalToolbar": "FV0QMq_mermaidModalToolbar",
|
|
11067
|
+
"editorPlaceholder": "FV0QMq_editorPlaceholder",
|
|
11068
|
+
"terminalDepsBanner": "FV0QMq_terminalDepsBanner",
|
|
11069
|
+
"gitDiffFilePath": "FV0QMq_gitDiffFilePath",
|
|
11070
|
+
"mermaidMarkdown": "FV0QMq_mermaidMarkdown",
|
|
11071
|
+
"gitRow": "FV0QMq_gitRow",
|
|
11072
|
+
"browser": "FV0QMq_browser",
|
|
11142
11073
|
"floatContent": "FV0QMq_floatContent",
|
|
11143
|
-
"
|
|
11144
|
-
"
|
|
11145
|
-
"
|
|
11146
|
-
"
|
|
11147
|
-
"
|
|
11074
|
+
"gitCommitButton": "FV0QMq_gitCommitButton",
|
|
11075
|
+
"releaseNotesContent": "FV0QMq_releaseNotesContent",
|
|
11076
|
+
"gitDiffMetaText": "FV0QMq_gitDiffMetaText",
|
|
11077
|
+
"gitLogLine2": "FV0QMq_gitLogLine2",
|
|
11078
|
+
"editorTreeResize": "FV0QMq_editorTreeResize",
|
|
11079
|
+
"dropLeft": "FV0QMq_dropLeft",
|
|
11080
|
+
"pinnedSessionOpen": "FV0QMq_pinnedSessionOpen",
|
|
11081
|
+
"browserMessage": "FV0QMq_browserMessage",
|
|
11082
|
+
"tocFlash": "FV0QMq_tocFlash",
|
|
11083
|
+
"explorer": "FV0QMq_explorer",
|
|
11084
|
+
"tabBar": "FV0QMq_tabBar",
|
|
11085
|
+
"floatDropHintLabel": "FV0QMq_floatDropHintLabel",
|
|
11148
11086
|
"gitDiffTab": "FV0QMq_gitDiffTab",
|
|
11149
11087
|
"explorerDir": "FV0QMq_explorerDir",
|
|
11150
|
-
"
|
|
11151
|
-
"
|
|
11088
|
+
"pinnedSessionMenu": "FV0QMq_pinnedSessionMenu",
|
|
11089
|
+
"floatWindowDragging": "FV0QMq_floatWindowDragging",
|
|
11090
|
+
"gitName": "FV0QMq_gitName",
|
|
11152
11091
|
"paneDrop": "FV0QMq_paneDrop",
|
|
11092
|
+
"dividerRow": "FV0QMq_dividerRow",
|
|
11093
|
+
"editorTreePanelFull": "FV0QMq_editorTreePanelFull",
|
|
11094
|
+
"browserInput": "FV0QMq_browserInput",
|
|
11095
|
+
"gitError": "FV0QMq_gitError",
|
|
11096
|
+
"gitDiffDel": "FV0QMq_gitDiffDel",
|
|
11097
|
+
"paneEmptyCards": "FV0QMq_paneEmptyCards",
|
|
11098
|
+
"producedMore": "FV0QMq_producedMore",
|
|
11099
|
+
"toggleCluster": "FV0QMq_toggleCluster",
|
|
11100
|
+
"cornerHandle": "FV0QMq_cornerHandle",
|
|
11101
|
+
"gitDiffMeta": "FV0QMq_gitDiffMeta",
|
|
11102
|
+
"uploadDropZone": "FV0QMq_uploadDropZone",
|
|
11103
|
+
"releaseNotesFooter": "FV0QMq_releaseNotesFooter",
|
|
11104
|
+
"selectionPopup": "FV0QMq_selectionPopup",
|
|
11105
|
+
"uploadOverlayProgress": "FV0QMq_uploadOverlayProgress",
|
|
11106
|
+
"mermaidHeader": "FV0QMq_mermaidHeader",
|
|
11107
|
+
"terminal": "FV0QMq_terminal",
|
|
11108
|
+
"editorStatus": "FV0QMq_editorStatus",
|
|
11109
|
+
"gitBranchSelect": "FV0QMq_gitBranchSelect",
|
|
11110
|
+
"explorerCopied": "FV0QMq_explorerCopied",
|
|
11111
|
+
"chatcodeGateError": "FV0QMq_chatcodeGateError",
|
|
11112
|
+
"accountMenu": "FV0QMq_accountMenu",
|
|
11113
|
+
"editorPptxButton": "FV0QMq_editorPptxButton",
|
|
11114
|
+
"panelResize": "FV0QMq_panelResize",
|
|
11115
|
+
"floatResize": "FV0QMq_floatResize",
|
|
11116
|
+
"editorModeToggle": "FV0QMq_editorModeToggle",
|
|
11117
|
+
"updateSettingsRow": "FV0QMq_updateSettingsRow",
|
|
11118
|
+
"splitCol": "FV0QMq_splitCol",
|
|
11119
|
+
"gitDiffFileOld": "FV0QMq_gitDiffFileOld",
|
|
11120
|
+
"gitDiffHunk": "FV0QMq_gitDiffHunk",
|
|
11121
|
+
"updateInline": "FV0QMq_updateInline",
|
|
11122
|
+
"terminalWrap": "FV0QMq_terminalWrap",
|
|
11123
|
+
"pinnedSessionRow": "FV0QMq_pinnedSessionRow",
|
|
11124
|
+
"editorModeButton": "FV0QMq_editorModeButton",
|
|
11125
|
+
"editorPdfFrame": "FV0QMq_editorPdfFrame",
|
|
11126
|
+
"uploadOverlayCancel": "FV0QMq_uploadOverlayCancel",
|
|
11127
|
+
"gitLogLine1": "FV0QMq_gitLogLine1",
|
|
11128
|
+
"tabBarPlus": "FV0QMq_tabBarPlus",
|
|
11129
|
+
"gitDiffAdd": "FV0QMq_gitDiffAdd",
|
|
11130
|
+
"uploadDropHero": "FV0QMq_uploadDropHero",
|
|
11131
|
+
"gitDiffFileTag": "FV0QMq_gitDiffFileTag",
|
|
11132
|
+
"editorPdfDragShield": "FV0QMq_editorPdfDragShield",
|
|
11153
11133
|
"editorModeActive": "FV0QMq_editorModeActive",
|
|
11154
|
-
"
|
|
11155
|
-
"
|
|
11156
|
-
"
|
|
11157
|
-
"
|
|
11158
|
-
"
|
|
11134
|
+
"gitConfirmDesc": "FV0QMq_gitConfirmDesc",
|
|
11135
|
+
"uploadDropChatCard": "FV0QMq_uploadDropChatCard",
|
|
11136
|
+
"browserBlockedTitle": "FV0QMq_browserBlockedTitle",
|
|
11137
|
+
"editorPdf": "FV0QMq_editorPdf",
|
|
11138
|
+
"gitBadge": "FV0QMq_gitBadge",
|
|
11139
|
+
"uploadOverlayStatus": "FV0QMq_uploadOverlayStatus",
|
|
11140
|
+
"openWithPin": "FV0QMq_openWithPin",
|
|
11141
|
+
"releaseNotesOverlay": "FV0QMq_releaseNotesOverlay",
|
|
11142
|
+
"gitDiffFileChevronExpanded": "FV0QMq_gitDiffFileChevronExpanded",
|
|
11143
|
+
"producedChip": "FV0QMq_producedChip",
|
|
11144
|
+
"updateCommand": "FV0QMq_updateCommand",
|
|
11145
|
+
"chatcodeGateActions": "FV0QMq_chatcodeGateActions",
|
|
11159
11146
|
"releaseNotesButton": "FV0QMq_releaseNotesButton",
|
|
11160
|
-
"
|
|
11161
|
-
"
|
|
11162
|
-
"
|
|
11163
|
-
"
|
|
11164
|
-
"
|
|
11147
|
+
"terminalDepsHint": "FV0QMq_terminalDepsHint",
|
|
11148
|
+
"workbench": "FV0QMq_workbench",
|
|
11149
|
+
"mermaidError": "FV0QMq_mermaidError",
|
|
11150
|
+
"uploadOverlayCard": "FV0QMq_uploadOverlayCard",
|
|
11151
|
+
"terminalRetry": "FV0QMq_terminalRetry",
|
|
11152
|
+
"terminalBannerUrl": "FV0QMq_terminalBannerUrl",
|
|
11153
|
+
"editorBinary": "FV0QMq_editorBinary",
|
|
11165
11154
|
"editorImageWrap": "FV0QMq_editorImageWrap",
|
|
11166
|
-
"
|
|
11155
|
+
"pane": "FV0QMq_pane",
|
|
11167
11156
|
"gitLink": "FV0QMq_gitLink",
|
|
11168
|
-
"
|
|
11169
|
-
"
|
|
11170
|
-
"
|
|
11171
|
-
"gitDiffFileTag": "FV0QMq_gitDiffFileTag",
|
|
11172
|
-
"editorDocxZoomRange": "FV0QMq_editorDocxZoomRange",
|
|
11173
|
-
"tocButton": "FV0QMq_tocButton",
|
|
11174
|
-
"gitRow": "FV0QMq_gitRow",
|
|
11175
|
-
"browserInput": "FV0QMq_browserInput",
|
|
11176
|
-
"sandboxDot": "FV0QMq_sandboxDot",
|
|
11177
|
-
"dsh-toc-flash": "FV0QMq_dsh-toc-flash",
|
|
11178
|
-
"cornerHandle": "FV0QMq_cornerHandle",
|
|
11179
|
-
"dropRight": "FV0QMq_dropRight",
|
|
11180
|
-
"gitDiff": "FV0QMq_gitDiff",
|
|
11181
|
-
"explorerRowDropTarget": "FV0QMq_explorerRowDropTarget",
|
|
11182
|
-
"fenceError": "FV0QMq_fenceError",
|
|
11157
|
+
"pinnedSessionDot": "FV0QMq_pinnedSessionDot",
|
|
11158
|
+
"updateFooter": "FV0QMq_updateFooter",
|
|
11159
|
+
"git": "FV0QMq_git",
|
|
11183
11160
|
"terminalBanner": "FV0QMq_terminalBanner",
|
|
11161
|
+
"sandboxStatusOff": "FV0QMq_sandboxStatusOff",
|
|
11162
|
+
"gitSectionHeader": "FV0QMq_gitSectionHeader",
|
|
11163
|
+
"gitWorktreeRow": "FV0QMq_gitWorktreeRow",
|
|
11164
|
+
"browserFrame": "FV0QMq_browserFrame",
|
|
11165
|
+
"bottomResizeActive": "FV0QMq_bottomResizeActive",
|
|
11166
|
+
"tocBar": "FV0QMq_tocBar",
|
|
11167
|
+
"tabBarDrop": "FV0QMq_tabBarDrop",
|
|
11168
|
+
"uploadOverlay": "FV0QMq_uploadOverlay",
|
|
11169
|
+
"editorPdfToolbar": "FV0QMq_editorPdfToolbar",
|
|
11170
|
+
"accountItem": "FV0QMq_accountItem",
|
|
11171
|
+
"chatcodeGateContent": "FV0QMq_chatcodeGateContent",
|
|
11172
|
+
"editorTreeDock": "FV0QMq_editorTreeDock",
|
|
11173
|
+
"floatTitle": "FV0QMq_floatTitle",
|
|
11174
|
+
"accountTrigger": "FV0QMq_accountTrigger",
|
|
11175
|
+
"editorTreeToggleActive": "FV0QMq_editorTreeToggleActive",
|
|
11176
|
+
"tocPanel": "FV0QMq_tocPanel",
|
|
11177
|
+
"updateError": "FV0QMq_updateError",
|
|
11178
|
+
"bottomPanel": "FV0QMq_bottomPanel",
|
|
11179
|
+
"dropOverlay": "FV0QMq_dropOverlay",
|
|
11184
11180
|
"chatcodeGateCard": "FV0QMq_chatcodeGateCard",
|
|
11185
|
-
"
|
|
11186
|
-
"
|
|
11181
|
+
"bottomClose": "FV0QMq_bottomClose",
|
|
11182
|
+
"dropRight": "FV0QMq_dropRight",
|
|
11183
|
+
"editorDocxZoomRange": "FV0QMq_editorDocxZoomRange",
|
|
11184
|
+
"iconButton": "FV0QMq_iconButton",
|
|
11185
|
+
"dropDown": "FV0QMq_dropDown",
|
|
11186
|
+
"accountAvatar": "FV0QMq_accountAvatar",
|
|
11187
|
+
"gitLogHash": "FV0QMq_gitLogHash",
|
|
11188
|
+
"gitLogMeta": "FV0QMq_gitLogMeta",
|
|
11187
11189
|
"dropCenter": "FV0QMq_dropCenter",
|
|
11190
|
+
"pinnedSessions": "FV0QMq_pinnedSessions",
|
|
11191
|
+
"pinnedSessionMore": "FV0QMq_pinnedSessionMore",
|
|
11192
|
+
"tabClose": "FV0QMq_tabClose",
|
|
11193
|
+
"tabBadge": "FV0QMq_tabBadge",
|
|
11194
|
+
"floatClose": "FV0QMq_floatClose",
|
|
11195
|
+
"explorerRef": "FV0QMq_explorerRef",
|
|
11196
|
+
"producedRow": "FV0QMq_producedRow",
|
|
11197
|
+
"editorHtml": "FV0QMq_editorHtml",
|
|
11198
|
+
"terminalDepsNote": "FV0QMq_terminalDepsNote",
|
|
11199
|
+
"gitDiff": "FV0QMq_gitDiff",
|
|
11200
|
+
"openWithPinActive": "FV0QMq_openWithPinActive",
|
|
11201
|
+
"gitWorktreeLabel": "FV0QMq_gitWorktreeLabel",
|
|
11202
|
+
"editorPathInput": "FV0QMq_editorPathInput",
|
|
11203
|
+
"accountPresence": "FV0QMq_accountPresence",
|
|
11204
|
+
"fenceError": "FV0QMq_fenceError",
|
|
11205
|
+
"gitDiffHunkHeader": "FV0QMq_gitDiffHunkHeader",
|
|
11206
|
+
"accountMenuDivider": "FV0QMq_accountMenuDivider",
|
|
11207
|
+
"tabTitle": "FV0QMq_tabTitle",
|
|
11208
|
+
"editorTreePanel": "FV0QMq_editorTreePanel",
|
|
11209
|
+
"gitLogSubject": "FV0QMq_gitLogSubject",
|
|
11210
|
+
"editorBody": "FV0QMq_editorBody",
|
|
11211
|
+
"explorerName": "FV0QMq_explorerName",
|
|
11212
|
+
"paneTabHidden": "FV0QMq_paneTabHidden",
|
|
11213
|
+
"dirtyDot": "FV0QMq_dirtyDot",
|
|
11214
|
+
"sandboxDot": "FV0QMq_sandboxDot",
|
|
11215
|
+
"gitDiffHunkSection": "FV0QMq_gitDiffHunkSection",
|
|
11216
|
+
"manualButton": "FV0QMq_manualButton",
|
|
11217
|
+
"explorerSymlink": "FV0QMq_explorerSymlink",
|
|
11218
|
+
"tocItemText": "FV0QMq_tocItemText",
|
|
11219
|
+
"accountDropdownHeader": "FV0QMq_accountDropdownHeader",
|
|
11220
|
+
"terminalDepsTitle": "FV0QMq_terminalDepsTitle",
|
|
11221
|
+
"gitLogRef": "FV0QMq_gitLogRef",
|
|
11222
|
+
"boundaryError": "FV0QMq_boundaryError",
|
|
11223
|
+
"explorerBody": "FV0QMq_explorerBody",
|
|
11224
|
+
"editorPdfFrameBlocked": "FV0QMq_editorPdfFrameBlocked",
|
|
11225
|
+
"accountName": "FV0QMq_accountName",
|
|
11226
|
+
"toggleButton": "FV0QMq_toggleButton",
|
|
11227
|
+
"tabList": "FV0QMq_tabList",
|
|
11228
|
+
"explorerError": "FV0QMq_explorerError",
|
|
11229
|
+
"editorPdfStage": "FV0QMq_editorPdfStage",
|
|
11230
|
+
"tocItemLevel": "FV0QMq_tocItemLevel",
|
|
11231
|
+
"editorBinaryNotice": "FV0QMq_editorBinaryNotice",
|
|
11232
|
+
"browserBlocked": "FV0QMq_browserBlocked",
|
|
11233
|
+
"gitDiffCode": "FV0QMq_gitDiffCode",
|
|
11234
|
+
"terminalDepsActions": "FV0QMq_terminalDepsActions",
|
|
11235
|
+
"browserStart": "FV0QMq_browserStart",
|
|
11236
|
+
"sandboxStatus": "FV0QMq_sandboxStatus",
|
|
11237
|
+
"tocButton": "FV0QMq_tocButton",
|
|
11238
|
+
"editorStatusError": "FV0QMq_editorStatusError",
|
|
11239
|
+
"editorDownloadLink": "FV0QMq_editorDownloadLink",
|
|
11240
|
+
"splitChild": "FV0QMq_splitChild",
|
|
11188
11241
|
"updateVersions": "FV0QMq_updateVersions",
|
|
11189
|
-
"
|
|
11190
|
-
"editorTreeSearch": "FV0QMq_editorTreeSearch",
|
|
11191
|
-
"mermaidError": "FV0QMq_mermaidError",
|
|
11192
|
-
"openWithName": "FV0QMq_openWithName",
|
|
11193
|
-
"orphanedType": "FV0QMq_orphanedType",
|
|
11194
|
-
"producedChip": "FV0QMq_producedChip",
|
|
11195
|
-
"pinnedSessionMenu": "FV0QMq_pinnedSessionMenu",
|
|
11242
|
+
"dividerActive": "FV0QMq_dividerActive",
|
|
11196
11243
|
"uploadDropZoneText": "FV0QMq_uploadDropZoneText",
|
|
11197
|
-
"
|
|
11198
|
-
"browserBlockedDesc": "FV0QMq_browserBlockedDesc",
|
|
11199
|
-
"editorPdfDragShieldActive": "FV0QMq_editorPdfDragShieldActive",
|
|
11200
|
-
"splitChild": "FV0QMq_splitChild",
|
|
11201
|
-
"gitBadge": "FV0QMq_gitBadge",
|
|
11202
|
-
"browserBlocked": "FV0QMq_browserBlocked",
|
|
11244
|
+
"uploadOverlayProgressFill": "FV0QMq_uploadOverlayProgressFill",
|
|
11203
11245
|
"editorError": "FV0QMq_editorError",
|
|
11204
|
-
"
|
|
11205
|
-
"
|
|
11206
|
-
"
|
|
11207
|
-
"terminal": "FV0QMq_terminal",
|
|
11208
|
-
"updateSettingsText": "FV0QMq_updateSettingsText",
|
|
11209
|
-
"updateSettingsTitle": "FV0QMq_updateSettingsTitle",
|
|
11246
|
+
"sandboxAction": "FV0QMq_sandboxAction",
|
|
11247
|
+
"gitDiffTabHeader": "FV0QMq_gitDiffTabHeader",
|
|
11248
|
+
"dsh-toc-flash": "FV0QMq_dsh-toc-flash",
|
|
11210
11249
|
"explorerEmpty": "FV0QMq_explorerEmpty",
|
|
11211
|
-
"
|
|
11212
|
-
"
|
|
11213
|
-
"
|
|
11214
|
-
"
|
|
11215
|
-
"
|
|
11216
|
-
"
|
|
11217
|
-
"
|
|
11250
|
+
"releaseNotesIconButton": "FV0QMq_releaseNotesIconButton",
|
|
11251
|
+
"tabActive": "FV0QMq_tabActive",
|
|
11252
|
+
"mermaidModal": "FV0QMq_mermaidModal",
|
|
11253
|
+
"gitDiffTabTitle": "FV0QMq_gitDiffTabTitle",
|
|
11254
|
+
"bottomResize": "FV0QMq_bottomResize",
|
|
11255
|
+
"editorSearchResult": "FV0QMq_editorSearchResult",
|
|
11256
|
+
"browserBlockedActions": "FV0QMq_browserBlockedActions",
|
|
11257
|
+
"releaseNotesHeader": "FV0QMq_releaseNotesHeader",
|
|
11258
|
+
"mermaidCopy": "FV0QMq_mermaidCopy",
|
|
11259
|
+
"updateSettingsText": "FV0QMq_updateSettingsText",
|
|
11260
|
+
"mermaidInfo": "FV0QMq_mermaidInfo",
|
|
11261
|
+
"paneCard": "FV0QMq_paneCard",
|
|
11262
|
+
"pinnedSessionsHeading": "FV0QMq_pinnedSessionsHeading",
|
|
11263
|
+
"gitSection": "FV0QMq_gitSection",
|
|
11218
11264
|
"updateBody": "FV0QMq_updateBody",
|
|
11219
|
-
"
|
|
11220
|
-
"
|
|
11221
|
-
"
|
|
11222
|
-
"
|
|
11223
|
-
"
|
|
11224
|
-
"
|
|
11225
|
-
"
|
|
11265
|
+
"splitRow": "FV0QMq_splitRow",
|
|
11266
|
+
"explorerRowDropTarget": "FV0QMq_explorerRowDropTarget",
|
|
11267
|
+
"gitDiffFile": "FV0QMq_gitDiffFile",
|
|
11268
|
+
"producedLabel": "FV0QMq_producedLabel",
|
|
11269
|
+
"editorTitle": "FV0QMq_editorTitle",
|
|
11270
|
+
"browserBar": "FV0QMq_browserBar",
|
|
11271
|
+
"openWithChevron": "FV0QMq_openWithChevron",
|
|
11272
|
+
"editorPdfDragShieldActive": "FV0QMq_editorPdfDragShieldActive",
|
|
11273
|
+
"floatHeader": "FV0QMq_floatHeader",
|
|
11274
|
+
"explorerRoot": "FV0QMq_explorerRoot",
|
|
11275
|
+
"explorerRowRevealed": "FV0QMq_explorerRowRevealed",
|
|
11276
|
+
"sandboxStatusOn": "FV0QMq_sandboxStatusOn",
|
|
11226
11277
|
"updateErrorText": "FV0QMq_updateErrorText",
|
|
11278
|
+
"split": "FV0QMq_split",
|
|
11227
11279
|
"editorBanner": "FV0QMq_editorBanner",
|
|
11228
|
-
"editorStatus": "FV0QMq_editorStatus",
|
|
11229
|
-
"editorHtml": "FV0QMq_editorHtml",
|
|
11230
|
-
"editorCm": "FV0QMq_editorCm",
|
|
11231
|
-
"updateSettingsBlock": "FV0QMq_updateSettingsBlock",
|
|
11232
|
-
"terminalBannerUrl": "FV0QMq_terminalBannerUrl",
|
|
11233
|
-
"editorPdfToolbar": "FV0QMq_editorPdfToolbar",
|
|
11234
|
-
"editorPlaceholder": "FV0QMq_editorPlaceholder",
|
|
11235
|
-
"mermaidInfo": "FV0QMq_mermaidInfo",
|
|
11236
|
-
"editorBinaryNotice": "FV0QMq_editorBinaryNotice",
|
|
11237
|
-
"git": "FV0QMq_git",
|
|
11238
|
-
"bottomPanelHidden": "FV0QMq_bottomPanelHidden",
|
|
11239
|
-
"gitDiffLine": "FV0QMq_gitDiffLine",
|
|
11240
11280
|
"openWithLabel": "FV0QMq_openWithLabel",
|
|
11241
|
-
"
|
|
11242
|
-
"
|
|
11243
|
-
"
|
|
11244
|
-
"
|
|
11245
|
-
"
|
|
11246
|
-
"pinnedSessionMore": "FV0QMq_pinnedSessionMore",
|
|
11247
|
-
"editorHeader": "FV0QMq_editorHeader",
|
|
11248
|
-
"accountTrigger": "FV0QMq_accountTrigger",
|
|
11249
|
-
"editorPdfStage": "FV0QMq_editorPdfStage",
|
|
11250
|
-
"boundaryError": "FV0QMq_boundaryError",
|
|
11251
|
-
"editorTreeDock": "FV0QMq_editorTreeDock",
|
|
11252
|
-
"dropOverlay": "FV0QMq_dropOverlay",
|
|
11253
|
-
"updateList": "FV0QMq_updateList",
|
|
11254
|
-
"updateInline": "FV0QMq_updateInline",
|
|
11255
|
-
"uploadOverlayProgress": "FV0QMq_uploadOverlayProgress",
|
|
11256
|
-
"editorMain": "FV0QMq_editorMain",
|
|
11257
|
-
"panelResizeActive": "FV0QMq_panelResizeActive",
|
|
11258
|
-
"toggleCluster": "FV0QMq_toggleCluster",
|
|
11259
|
-
"gitLogLine1": "FV0QMq_gitLogLine1",
|
|
11260
|
-
"floatWindowDragging": "FV0QMq_floatWindowDragging",
|
|
11261
|
-
"explorerHidden": "FV0QMq_explorerHidden",
|
|
11262
|
-
"tab": "FV0QMq_tab",
|
|
11263
|
-
"releaseNotesIconButton": "FV0QMq_releaseNotesIconButton",
|
|
11264
|
-
"producedRow": "FV0QMq_producedRow",
|
|
11265
|
-
"browserBlockedActions": "FV0QMq_browserBlockedActions",
|
|
11266
|
-
"terminalDepsHint": "FV0QMq_terminalDepsHint",
|
|
11267
|
-
"tabBoundaryError": "FV0QMq_tabBoundaryError",
|
|
11268
|
-
"chatcodeGateContent": "FV0QMq_chatcodeGateContent",
|
|
11269
|
-
"uploadDropZonePill": "FV0QMq_uploadDropZonePill",
|
|
11270
|
-
"toggleButton": "FV0QMq_toggleButton",
|
|
11281
|
+
"explorerBroken": "FV0QMq_explorerBroken",
|
|
11282
|
+
"editorMain": "FV0QMq_editorMain",
|
|
11283
|
+
"gitDiffFileChevron": "FV0QMq_gitDiffFileChevron",
|
|
11284
|
+
"floatWindow": "FV0QMq_floatWindow",
|
|
11285
|
+
"mermaidBody": "FV0QMq_mermaidBody",
|
|
11271
11286
|
"mermaidCode": "FV0QMq_mermaidCode",
|
|
11272
|
-
"
|
|
11273
|
-
"
|
|
11274
|
-
"
|
|
11275
|
-
"
|
|
11276
|
-
"
|
|
11277
|
-
"
|
|
11278
|
-
"
|
|
11279
|
-
"
|
|
11280
|
-
"
|
|
11287
|
+
"editorImage": "FV0QMq_editorImage",
|
|
11288
|
+
"editorCmHidden": "FV0QMq_editorCmHidden",
|
|
11289
|
+
"pinnedSessionsList": "FV0QMq_pinnedSessionsList",
|
|
11290
|
+
"panel": "FV0QMq_panel",
|
|
11291
|
+
"mermaidModalButton": "FV0QMq_mermaidModalButton",
|
|
11292
|
+
"explorerRow": "FV0QMq_explorerRow",
|
|
11293
|
+
"bottomPanelHidden": "FV0QMq_bottomPanelHidden",
|
|
11294
|
+
"divider": "FV0QMq_divider",
|
|
11295
|
+
"gitDiffLine": "FV0QMq_gitDiffLine",
|
|
11296
|
+
"updateSettingsBlock": "FV0QMq_updateSettingsBlock",
|
|
11297
|
+
"dropUp": "FV0QMq_dropUp"
|
|
11281
11298
|
};
|
|
11282
11299
|
//#endregion
|
|
11283
11300
|
//#region src/client/intercept.tsx
|
|
@@ -11436,7 +11453,7 @@ window.__ModuleLoader__.load({
|
|
|
11436
11453
|
function registerOpenPathInterception(ctx, store) {
|
|
11437
11454
|
return wrapOpenPath(ctx.workspaces, {
|
|
11438
11455
|
takeoverEnabled: () => !store.getSuspended() && store.getPrefs().interceptOpenPath !== false && store.getPrefs().tabsEnabled["editor"] !== false,
|
|
11439
|
-
currentSessionId: () => ctx
|
|
11456
|
+
currentSessionId: () => currentSessionId(ctx),
|
|
11440
11457
|
openInSidebar: (path, sessionId) => {
|
|
11441
11458
|
openSidebarFile(ctx, store, sessionId, path);
|
|
11442
11459
|
},
|
|
@@ -14327,72 +14344,72 @@ window.__ModuleLoader__.load({
|
|
|
14327
14344
|
document.head.appendChild(tag);
|
|
14328
14345
|
}
|
|
14329
14346
|
var SideCardSection_module_css_default = {
|
|
14330
|
-
"
|
|
14331
|
-
"desc": "N4aF0W_desc",
|
|
14332
|
-
"control": "N4aF0W_control",
|
|
14333
|
-
"typedInput": "N4aF0W_typedInput",
|
|
14334
|
-
"cardSwitch": "N4aF0W_cardSwitch",
|
|
14335
|
-
"pluginTopicBtn": "N4aF0W_pluginTopicBtn",
|
|
14336
|
-
"openWithEditorRow": "N4aF0W_openWithEditorRow",
|
|
14337
|
-
"pluginModal": "N4aF0W_pluginModal",
|
|
14338
|
-
"cardSwitchTrack": "N4aF0W_cardSwitchTrack",
|
|
14339
|
-
"selectOptionText": "N4aF0W_selectOptionText",
|
|
14340
|
-
"intro": "N4aF0W_intro",
|
|
14341
|
-
"popupDialog": "N4aF0W_popupDialog",
|
|
14342
|
-
"done": "N4aF0W_done",
|
|
14343
|
-
"popupRows": "N4aF0W_popupRows",
|
|
14344
|
-
"pluginCopyBtn": "N4aF0W_pluginCopyBtn",
|
|
14345
|
-
"pluginList": "N4aF0W_pluginList",
|
|
14346
|
-
"pluginEntryActions": "N4aF0W_pluginEntryActions",
|
|
14347
|
-
"typedInputNumber": "N4aF0W_typedInputNumber",
|
|
14348
|
-
"cardSettings": "N4aF0W_cardSettings",
|
|
14349
|
-
"cardMain": "N4aF0W_cardMain",
|
|
14350
|
-
"cardIconChip": "N4aF0W_cardIconChip",
|
|
14351
|
-
"addCard": "N4aF0W_addCard",
|
|
14347
|
+
"switchTrack": "N4aF0W_switchTrack",
|
|
14352
14348
|
"rowText": "N4aF0W_rowText",
|
|
14353
14349
|
"selectAnchorText": "N4aF0W_selectAnchorText",
|
|
14354
|
-
"
|
|
14350
|
+
"pluginDesc": "N4aF0W_pluginDesc",
|
|
14351
|
+
"groupHeading": "N4aF0W_groupHeading",
|
|
14352
|
+
"typedInputNumber": "N4aF0W_typedInputNumber",
|
|
14353
|
+
"openWithRemove": "N4aF0W_openWithRemove",
|
|
14354
|
+
"selectOption": "N4aF0W_selectOption",
|
|
14355
|
+
"pluginJumpBtn": "N4aF0W_pluginJumpBtn",
|
|
14356
|
+
"section": "N4aF0W_section",
|
|
14357
|
+
"selectAnchor": "N4aF0W_selectAnchor",
|
|
14358
|
+
"cardSwitch": "N4aF0W_cardSwitch",
|
|
14359
|
+
"popupRow": "N4aF0W_popupRow",
|
|
14355
14360
|
"pluginEntries": "N4aF0W_pluginEntries",
|
|
14356
|
-
"switch": "N4aF0W_switch",
|
|
14357
|
-
"group": "N4aF0W_group",
|
|
14358
|
-
"pluginEntry": "N4aF0W_pluginEntry",
|
|
14359
|
-
"switchInput": "N4aF0W_switchInput",
|
|
14360
14361
|
"cardTop": "N4aF0W_cardTop",
|
|
14361
|
-
"
|
|
14362
|
-
"switchTrack": "N4aF0W_switchTrack",
|
|
14363
|
-
"rowGear": "N4aF0W_rowGear",
|
|
14364
|
-
"pluginSearch": "N4aF0W_pluginSearch",
|
|
14365
|
-
"cardSwitchThumb": "N4aF0W_cardSwitchThumb",
|
|
14366
|
-
"openWithFamily": "N4aF0W_openWithFamily",
|
|
14367
|
-
"openWithRemove": "N4aF0W_openWithRemove",
|
|
14368
|
-
"groupHeading": "N4aF0W_groupHeading",
|
|
14369
|
-
"cardDesc": "N4aF0W_cardDesc",
|
|
14370
|
-
"percentInput": "N4aF0W_percentInput",
|
|
14362
|
+
"cardTitle": "N4aF0W_cardTitle",
|
|
14371
14363
|
"count": "N4aF0W_count",
|
|
14372
|
-
"error": "N4aF0W_error",
|
|
14373
|
-
"title": "N4aF0W_title",
|
|
14374
14364
|
"card": "N4aF0W_card",
|
|
14375
|
-
"
|
|
14376
|
-
"openWithEditorInput": "N4aF0W_openWithEditorInput",
|
|
14377
|
-
"openWithEditorTemplate": "N4aF0W_openWithEditorTemplate",
|
|
14378
|
-
"selectOption": "N4aF0W_selectOption",
|
|
14365
|
+
"cardSwitchThumb": "N4aF0W_cardSwitchThumb",
|
|
14379
14366
|
"pluginInstall": "N4aF0W_pluginInstall",
|
|
14380
|
-
"
|
|
14381
|
-
"
|
|
14382
|
-
"
|
|
14367
|
+
"selectOptionIcon": "N4aF0W_selectOptionIcon",
|
|
14368
|
+
"pluginTopicBtn": "N4aF0W_pluginTopicBtn",
|
|
14369
|
+
"pluginCopyBtn": "N4aF0W_pluginCopyBtn",
|
|
14370
|
+
"selectOptionText": "N4aF0W_selectOptionText",
|
|
14371
|
+
"row": "N4aF0W_row",
|
|
14372
|
+
"pluginGroup": "N4aF0W_pluginGroup",
|
|
14373
|
+
"pluginEntryHead": "N4aF0W_pluginEntryHead",
|
|
14383
14374
|
"pluginGroupHeading": "N4aF0W_pluginGroupHeading",
|
|
14384
|
-
"
|
|
14385
|
-
"
|
|
14386
|
-
"
|
|
14387
|
-
"
|
|
14375
|
+
"openWithEditorTemplate": "N4aF0W_openWithEditorTemplate",
|
|
14376
|
+
"pluginName": "N4aF0W_pluginName",
|
|
14377
|
+
"popupRows": "N4aF0W_popupRows",
|
|
14378
|
+
"openWithEditorRow": "N4aF0W_openWithEditorRow",
|
|
14388
14379
|
"cardOn": "N4aF0W_cardOn",
|
|
14389
|
-
"
|
|
14390
|
-
"
|
|
14391
|
-
"
|
|
14392
|
-
"
|
|
14393
|
-
"
|
|
14380
|
+
"cardMain": "N4aF0W_cardMain",
|
|
14381
|
+
"cardDesc": "N4aF0W_cardDesc",
|
|
14382
|
+
"openWithEditorInput": "N4aF0W_openWithEditorInput",
|
|
14383
|
+
"cardIconChip": "N4aF0W_cardIconChip",
|
|
14384
|
+
"openWithFamily": "N4aF0W_openWithFamily",
|
|
14385
|
+
"control": "N4aF0W_control",
|
|
14386
|
+
"grid": "N4aF0W_grid",
|
|
14387
|
+
"intro": "N4aF0W_intro",
|
|
14388
|
+
"percentInput": "N4aF0W_percentInput",
|
|
14389
|
+
"typedInput": "N4aF0W_typedInput",
|
|
14390
|
+
"pluginModal": "N4aF0W_pluginModal",
|
|
14391
|
+
"cssTextArea": "N4aF0W_cssTextArea",
|
|
14392
|
+
"cardSwitchTrack": "N4aF0W_cardSwitchTrack",
|
|
14394
14393
|
"suffix": "N4aF0W_suffix",
|
|
14395
|
-
"
|
|
14394
|
+
"switchThumb": "N4aF0W_switchThumb",
|
|
14395
|
+
"error": "N4aF0W_error",
|
|
14396
|
+
"rowGear": "N4aF0W_rowGear",
|
|
14397
|
+
"done": "N4aF0W_done",
|
|
14398
|
+
"selectAnchorIcon": "N4aF0W_selectAnchorIcon",
|
|
14399
|
+
"switchInput": "N4aF0W_switchInput",
|
|
14400
|
+
"desc": "N4aF0W_desc",
|
|
14401
|
+
"openWithHint": "N4aF0W_openWithHint",
|
|
14402
|
+
"cardSettings": "N4aF0W_cardSettings",
|
|
14403
|
+
"pluginEntry": "N4aF0W_pluginEntry",
|
|
14404
|
+
"group": "N4aF0W_group",
|
|
14405
|
+
"addCard": "N4aF0W_addCard",
|
|
14406
|
+
"switch": "N4aF0W_switch",
|
|
14407
|
+
"pluginEmpty": "N4aF0W_pluginEmpty",
|
|
14408
|
+
"pluginEntryActions": "N4aF0W_pluginEntryActions",
|
|
14409
|
+
"popupDialog": "N4aF0W_popupDialog",
|
|
14410
|
+
"pluginSearch": "N4aF0W_pluginSearch",
|
|
14411
|
+
"pluginList": "N4aF0W_pluginList",
|
|
14412
|
+
"title": "N4aF0W_title"
|
|
14396
14413
|
};
|
|
14397
14414
|
//#endregion
|
|
14398
14415
|
//#region src/client/open-with-settings.tsx
|
|
@@ -18200,6 +18217,18 @@ window.__ModuleLoader__.load({
|
|
|
18200
18217
|
};
|
|
18201
18218
|
}
|
|
18202
18219
|
//#endregion
|
|
18220
|
+
//#region src/client/chatcode-login-route.ts
|
|
18221
|
+
/** Build the local ChatCode login gate URL while preserving the current page. */
|
|
18222
|
+
function chatcodeLoginRoute(location) {
|
|
18223
|
+
const back = `${location.pathname}${location.search}${location.hash}`;
|
|
18224
|
+
return `/sidebar/login?return=${encodeURIComponent(back)}`;
|
|
18225
|
+
}
|
|
18226
|
+
/** Enter the existing local login flow after account state cannot be read. */
|
|
18227
|
+
function redirectToChatcodeLogin(location = window.location) {
|
|
18228
|
+
if (location.pathname === "/sidebar/login") return;
|
|
18229
|
+
location.replace(chatcodeLoginRoute(location));
|
|
18230
|
+
}
|
|
18231
|
+
//#endregion
|
|
18203
18232
|
//#region src/client/AccountMenu.tsx
|
|
18204
18233
|
/**
|
|
18205
18234
|
* Bottom-left account control.
|
|
@@ -18311,6 +18340,9 @@ window.__ModuleLoader__.load({
|
|
|
18311
18340
|
document.removeEventListener("pointerdown", onPointerDown);
|
|
18312
18341
|
};
|
|
18313
18342
|
}, []);
|
|
18343
|
+
(0, react.useEffect)(() => {
|
|
18344
|
+
if (error === "status") redirectToChatcodeLogin();
|
|
18345
|
+
}, [error]);
|
|
18314
18346
|
(0, react.useEffect)(() => {
|
|
18315
18347
|
let current;
|
|
18316
18348
|
let originalStyle;
|
|
@@ -18342,7 +18374,8 @@ window.__ModuleLoader__.load({
|
|
|
18342
18374
|
};
|
|
18343
18375
|
const chatcodeName = chatcode?.userName?.trim() || chatcode?.emailAddress?.trim() || userName;
|
|
18344
18376
|
const signedIn = chatcode?.validation === "valid" && chatcode.expired !== true;
|
|
18345
|
-
const
|
|
18377
|
+
const hasChatcodeAccount = chatcode?.available === true && chatcode.configured === true;
|
|
18378
|
+
const canStartChatcodeLogin = chatcode?.available === true && !hasChatcodeAccount && !(chatcode.configured === true && chatcode.validation === "unavailable");
|
|
18346
18379
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18347
18380
|
ref: rootRef,
|
|
18348
18381
|
className: sidebar_module_css_default.accountMenu,
|
|
@@ -18377,10 +18410,10 @@ window.__ModuleLoader__.load({
|
|
|
18377
18410
|
onClick: openSettings,
|
|
18378
18411
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SettingsIcon, {}), t("accountMenuSettings")]
|
|
18379
18412
|
}),
|
|
18380
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18413
|
+
error === "operation" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18381
18414
|
role: "alert",
|
|
18382
18415
|
className: sidebar_module_css_default.accountItem,
|
|
18383
|
-
children: t(
|
|
18416
|
+
children: t("accountMenuChatcodeError")
|
|
18384
18417
|
}),
|
|
18385
18418
|
(chatcode?.login?.state === "failed" || chatcode?.login?.state === "timed-out") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18386
18419
|
role: "alert",
|
|
@@ -18405,13 +18438,13 @@ window.__ModuleLoader__.load({
|
|
|
18405
18438
|
disabled: busy,
|
|
18406
18439
|
onClick: startLogin,
|
|
18407
18440
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), busy ? t("accountMenuChatcodeStarting") : t("accountMenuChatcodeLogin")]
|
|
18408
|
-
}),
|
|
18441
|
+
}), hasChatcodeAccount && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
18409
18442
|
type: "button",
|
|
18410
18443
|
role: "menuitem",
|
|
18411
18444
|
className: sidebar_module_css_default.accountItem,
|
|
18412
18445
|
disabled: busy,
|
|
18413
18446
|
onClick: logoutChatcode,
|
|
18414
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("
|
|
18447
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LogoutIcon, {}), t("accountMenuLogout")]
|
|
18415
18448
|
})] }),
|
|
18416
18449
|
chatcode?.available === false && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
18417
18450
|
type: "button",
|
|
@@ -18654,7 +18687,7 @@ window.__ModuleLoader__.load({
|
|
|
18654
18687
|
}, []);
|
|
18655
18688
|
const layoutViewportHeight = visualViewportHeight ?? viewport.height;
|
|
18656
18689
|
const sessionList = (0, react.useSyncExternalStore)((0, react.useMemo)(() => (callback) => ctx.sessions.list.subscribe(callback), [ctx]), (0, react.useCallback)(() => ctx.sessions.list.getSnapshot(), [ctx]));
|
|
18657
|
-
const current =
|
|
18690
|
+
const current = useCurrentSessionId(ctx);
|
|
18658
18691
|
const snapshot = (0, react.useSyncExternalStore)((0, react.useCallback)((callback) => store.subscribe(callback), [store]), (0, react.useCallback)(() => store.getSnapshot(), [store]));
|
|
18659
18692
|
(0, react.useEffect)(() => {
|
|
18660
18693
|
store.setSession(current);
|
|
@@ -19536,10 +19569,10 @@ window.__ModuleLoader__.load({
|
|
|
19536
19569
|
sessionId,
|
|
19537
19570
|
cwd
|
|
19538
19571
|
]);
|
|
19539
|
-
if (state === void 0 || sessionId === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
19572
|
+
if (state === void 0 || sessionId === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19540
19573
|
"data-dsh-panel-host": true,
|
|
19541
19574
|
...osFileDragShield,
|
|
19542
|
-
children: nativeToolbarHost !== null ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19575
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccountMenu, {}), nativeToolbarHost !== null ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19543
19576
|
className: clsx(sidebar_module_css_default.toggleCluster, sidebar_module_css_default.toggleClusterNative),
|
|
19544
19577
|
"data-dsh-toggle-cluster": true,
|
|
19545
19578
|
"data-dsh-native-toolbar-cluster": true,
|
|
@@ -19600,7 +19633,7 @@ window.__ModuleLoader__.load({
|
|
|
19600
19633
|
}),
|
|
19601
19634
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(UserManualButton, {})
|
|
19602
19635
|
]
|
|
19603
|
-
})
|
|
19636
|
+
})]
|
|
19604
19637
|
});
|
|
19605
19638
|
const bottomPanelHeight = layoutPushSize({
|
|
19606
19639
|
narrow,
|
|
@@ -20011,8 +20044,7 @@ window.__ModuleLoader__.load({
|
|
|
20011
20044
|
(0, react.useEffect)(() => {
|
|
20012
20045
|
if (chatcode?.validation === "valid" && chatcode.expired !== true) verifiedThisVisit.current = true;
|
|
20013
20046
|
if (chatcodeGateDecision(chatcode, verifiedThisVisit.current) !== "login") return;
|
|
20014
|
-
|
|
20015
|
-
window.location.replace(`/sidebar/login?return=${encodeURIComponent(back)}`);
|
|
20047
|
+
redirectToChatcodeLogin();
|
|
20016
20048
|
}, [chatcode]);
|
|
20017
20049
|
return null;
|
|
20018
20050
|
}
|
|
@@ -20262,6 +20294,11 @@ window.__ModuleLoader__.load({
|
|
|
20262
20294
|
const AI_RATIO_NAV_MARKER = "data-dsh-better-sidebar-ai-ratio-nav";
|
|
20263
20295
|
/** Marker of the "更新" (update) settings nav row. */
|
|
20264
20296
|
const UPDATE_NAV_MARKER = "data-dsh-better-sidebar-update-nav";
|
|
20297
|
+
/** Fallback markers for host/plugin settings rows whose icons mount late. */
|
|
20298
|
+
const GENERAL_NAV_MARKER = "data-dsh-better-sidebar-general-nav";
|
|
20299
|
+
const PLUGIN_MARKET_NAV_MARKER = "data-dsh-better-sidebar-plugin-market-nav";
|
|
20300
|
+
const UI_TWEAKS_NAV_MARKER = "data-dsh-better-sidebar-ui-tweaks-nav";
|
|
20301
|
+
const SKILL_MARKET_NAV_MARKER = "data-dsh-better-sidebar-skill-market-nav";
|
|
20265
20302
|
/**
|
|
20266
20303
|
* Keep the marker on the settings-nav button whose visible text is this
|
|
20267
20304
|
* plugin's current localized section label.
|
|
@@ -20275,9 +20312,10 @@ window.__ModuleLoader__.load({
|
|
|
20275
20312
|
let disposed = false;
|
|
20276
20313
|
const sync = () => {
|
|
20277
20314
|
if (disposed) return;
|
|
20278
|
-
const
|
|
20315
|
+
const resolved = label();
|
|
20316
|
+
const currentLabels = new Set((typeof resolved === "string" ? [resolved] : resolved).map((value) => value.trim()).filter(Boolean));
|
|
20279
20317
|
const buttons = document.querySelectorAll("[role=\"dialog\"] nav button");
|
|
20280
|
-
for (const button of buttons) if (
|
|
20318
|
+
for (const button of buttons) if (currentLabels.has(button.textContent?.trim() ?? "")) button.setAttribute(marker, "");
|
|
20281
20319
|
else button.removeAttribute(marker);
|
|
20282
20320
|
};
|
|
20283
20321
|
sync();
|
|
@@ -20321,6 +20359,10 @@ window.__ModuleLoader__.load({
|
|
|
20321
20359
|
function pinSettings(ids) {
|
|
20322
20360
|
return { ids: [...ids] };
|
|
20323
20361
|
}
|
|
20362
|
+
/** Open through the Host's navigation policy, not the pure Session catalog. */
|
|
20363
|
+
function openPinnedSession(ctx, sessionId) {
|
|
20364
|
+
ctx.uiWorkspace.openSession(sessionId);
|
|
20365
|
+
}
|
|
20324
20366
|
/** A small current-color pin icon for the menu row injected into DSH's menu. */
|
|
20325
20367
|
function pinIconMarkup() {
|
|
20326
20368
|
return "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><path d=\"M9.5 1.5 14.5 6.5 12.5 8.5 10 6 5.5 10.5 6 12 4.5 13.5 2.5 11.5 4 10 5.5 10.5 10 6 7.5 8.5 6.5Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"round\"/></svg>";
|
|
@@ -20481,6 +20523,7 @@ window.__ModuleLoader__.load({
|
|
|
20481
20523
|
}
|
|
20482
20524
|
function PinnedSessions({ ctx, store, onChange }) {
|
|
20483
20525
|
const list = (0, react.useSyncExternalStore)(ctx.sessions.list.subscribe, ctx.sessions.list.getSnapshot, ctx.sessions.list.getSnapshot);
|
|
20526
|
+
const currentSessionId = useCurrentSessionId(ctx);
|
|
20484
20527
|
const prefs = (0, react.useSyncExternalStore)(store.subscribe.bind(store), store.getSnapshot.bind(store), store.getSnapshot.bind(store)).prefs;
|
|
20485
20528
|
const ids = pinnedSessionIdsOf(prefs);
|
|
20486
20529
|
const pinKey = ids.join("\0");
|
|
@@ -20521,7 +20564,7 @@ window.__ModuleLoader__.load({
|
|
|
20521
20564
|
sessionId,
|
|
20522
20565
|
increaseTitle: true
|
|
20523
20566
|
}).then((childId) => {
|
|
20524
|
-
ctx
|
|
20567
|
+
openPinnedSession(ctx, childId);
|
|
20525
20568
|
}).catch((error) => {
|
|
20526
20569
|
console.warn("[dsh-better-sidebar] fork pinned session failed:", error);
|
|
20527
20570
|
});
|
|
@@ -20553,9 +20596,9 @@ window.__ModuleLoader__.load({
|
|
|
20553
20596
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
20554
20597
|
type: "button",
|
|
20555
20598
|
className: sidebar_module_css_default.pinnedSessionOpen,
|
|
20556
|
-
"aria-current": session.id ===
|
|
20599
|
+
"aria-current": session.id === currentSessionId ? "page" : void 0,
|
|
20557
20600
|
onClick: () => {
|
|
20558
|
-
ctx
|
|
20601
|
+
openPinnedSession(ctx, session.id);
|
|
20559
20602
|
},
|
|
20560
20603
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
20561
20604
|
className: sidebar_module_css_default.pinnedSessionDot,
|
|
@@ -21081,20 +21124,20 @@ window.__ModuleLoader__.load({
|
|
|
21081
21124
|
document.head.appendChild(tag);
|
|
21082
21125
|
}
|
|
21083
21126
|
var CodingPlanModelsSettings_module_css_default = {
|
|
21084
|
-
"
|
|
21085
|
-
"models": "kn_HcG_models",
|
|
21086
|
-
"refresh": "kn_HcG_refresh",
|
|
21087
|
-
"meta": "kn_HcG_meta",
|
|
21088
|
-
"modelSelected": "kn_HcG_modelSelected",
|
|
21089
|
-
"heading": "kn_HcG_heading",
|
|
21127
|
+
"description": "kn_HcG_description",
|
|
21090
21128
|
"selected": "kn_HcG_selected",
|
|
21091
21129
|
"status": "kn_HcG_status",
|
|
21092
|
-
"modelId": "kn_HcG_modelId",
|
|
21093
21130
|
"model": "kn_HcG_model",
|
|
21131
|
+
"modelDescription": "kn_HcG_modelDescription",
|
|
21132
|
+
"heading": "kn_HcG_heading",
|
|
21133
|
+
"headingRow": "kn_HcG_headingRow",
|
|
21134
|
+
"modelId": "kn_HcG_modelId",
|
|
21135
|
+
"meta": "kn_HcG_meta",
|
|
21136
|
+
"refresh": "kn_HcG_refresh",
|
|
21137
|
+
"models": "kn_HcG_models",
|
|
21138
|
+
"modelSelected": "kn_HcG_modelSelected",
|
|
21094
21139
|
"modelName": "kn_HcG_modelName",
|
|
21095
21140
|
"group": "kn_HcG_group",
|
|
21096
|
-
"description": "kn_HcG_description",
|
|
21097
|
-
"modelDescription": "kn_HcG_modelDescription",
|
|
21098
21141
|
"modelTop": "kn_HcG_modelTop"
|
|
21099
21142
|
};
|
|
21100
21143
|
//#endregion
|
|
@@ -22264,48 +22307,48 @@ window.__ModuleLoader__.load({
|
|
|
22264
22307
|
document.head.appendChild(tag);
|
|
22265
22308
|
}
|
|
22266
22309
|
var UsageHeatmapSection_module_css_default = {
|
|
22267
|
-
"
|
|
22268
|
-
"monthLabel": "iUwB6a_monthLabel",
|
|
22269
|
-
"section": "iUwB6a_section",
|
|
22310
|
+
"cellTokens": "iUwB6a_cellTokens",
|
|
22270
22311
|
"cellDay": "iUwB6a_cellDay",
|
|
22271
|
-
"
|
|
22272
|
-
"
|
|
22273
|
-
"todayDot": "iUwB6a_todayDot",
|
|
22274
|
-
"overview": "iUwB6a_overview",
|
|
22312
|
+
"stateError": "iUwB6a_stateError",
|
|
22313
|
+
"monthButton": "iUwB6a_monthButton",
|
|
22275
22314
|
"tooltipSplit": "iUwB6a_tooltipSplit",
|
|
22276
|
-
"
|
|
22277
|
-
"totalUnit": "iUwB6a_totalUnit",
|
|
22278
|
-
"stat": "iUwB6a_stat",
|
|
22279
|
-
"statLabel": "iUwB6a_statLabel",
|
|
22280
|
-
"statValue": "iUwB6a_statValue",
|
|
22281
|
-
"legend": "iUwB6a_legend",
|
|
22315
|
+
"group": "iUwB6a_group",
|
|
22282
22316
|
"dshSidebarUsageSpin": "iUwB6a_dshSidebarUsageSpin",
|
|
22317
|
+
"totalNumber": "iUwB6a_totalNumber",
|
|
22283
22318
|
"tooltipBelow": "iUwB6a_tooltipBelow",
|
|
22319
|
+
"tooltipDate": "iUwB6a_tooltipDate",
|
|
22320
|
+
"footer": "iUwB6a_footer",
|
|
22321
|
+
"empty": "iUwB6a_empty",
|
|
22322
|
+
"stat": "iUwB6a_stat",
|
|
22323
|
+
"cellFuture": "iUwB6a_cellFuture",
|
|
22324
|
+
"monthNav": "iUwB6a_monthNav",
|
|
22325
|
+
"tooltipTokens": "iUwB6a_tooltipTokens",
|
|
22326
|
+
"refreshButton": "iUwB6a_refreshButton",
|
|
22327
|
+
"state": "iUwB6a_state",
|
|
22328
|
+
"section": "iUwB6a_section",
|
|
22329
|
+
"grid": "iUwB6a_grid",
|
|
22330
|
+
"todayDot": "iUwB6a_todayDot",
|
|
22284
22331
|
"tooltipToday": "iUwB6a_tooltipToday",
|
|
22285
|
-
"
|
|
22332
|
+
"legend": "iUwB6a_legend",
|
|
22333
|
+
"statLabel": "iUwB6a_statLabel",
|
|
22334
|
+
"spin": "iUwB6a_spin",
|
|
22335
|
+
"overview": "iUwB6a_overview",
|
|
22336
|
+
"totalUnit": "iUwB6a_totalUnit",
|
|
22337
|
+
"cell": "iUwB6a_cell",
|
|
22338
|
+
"headerRow": "iUwB6a_headerRow",
|
|
22339
|
+
"stats": "iUwB6a_stats",
|
|
22286
22340
|
"cellHover": "iUwB6a_cellHover",
|
|
22341
|
+
"monthLabel": "iUwB6a_monthLabel",
|
|
22342
|
+
"weekdays": "iUwB6a_weekdays",
|
|
22343
|
+
"legendSwatch": "iUwB6a_legendSwatch",
|
|
22287
22344
|
"todayLabel": "iUwB6a_todayLabel",
|
|
22288
|
-
"
|
|
22345
|
+
"retry": "iUwB6a_retry",
|
|
22289
22346
|
"total": "iUwB6a_total",
|
|
22290
|
-
"tooltipDate": "iUwB6a_tooltipDate",
|
|
22291
|
-
"legendSwatch": "iUwB6a_legendSwatch",
|
|
22292
|
-
"tooltipTokens": "iUwB6a_tooltipTokens",
|
|
22293
|
-
"stateError": "iUwB6a_stateError",
|
|
22294
|
-
"cellToday": "iUwB6a_cellToday",
|
|
22295
|
-
"group": "iUwB6a_group",
|
|
22296
22347
|
"totalValue": "iUwB6a_totalValue",
|
|
22297
|
-
"
|
|
22298
|
-
"stats": "iUwB6a_stats",
|
|
22299
|
-
"headerRow": "iUwB6a_headerRow",
|
|
22300
|
-
"monthNav": "iUwB6a_monthNav",
|
|
22301
|
-
"weekdays": "iUwB6a_weekdays",
|
|
22302
|
-
"cellFuture": "iUwB6a_cellFuture",
|
|
22303
|
-
"empty": "iUwB6a_empty",
|
|
22348
|
+
"statValue": "iUwB6a_statValue",
|
|
22304
22349
|
"gridBody": "iUwB6a_gridBody",
|
|
22305
|
-
"
|
|
22306
|
-
"tooltip": "iUwB6a_tooltip"
|
|
22307
|
-
"refreshButton": "iUwB6a_refreshButton",
|
|
22308
|
-
"state": "iUwB6a_state"
|
|
22350
|
+
"cellToday": "iUwB6a_cellToday",
|
|
22351
|
+
"tooltip": "iUwB6a_tooltip"
|
|
22309
22352
|
};
|
|
22310
22353
|
//#endregion
|
|
22311
22354
|
//#region src/client/UsageHeatmapSection.tsx
|
|
@@ -22681,33 +22724,33 @@ window.__ModuleLoader__.load({
|
|
|
22681
22724
|
document.head.appendChild(tag);
|
|
22682
22725
|
}
|
|
22683
22726
|
var AiRatioSection_module_css_default = {
|
|
22684
|
-
"pageInfo": "JtMahq_pageInfo",
|
|
22685
|
-
"commitsValue": "JtMahq_commitsValue",
|
|
22686
22727
|
"tableWrap": "JtMahq_tableWrap",
|
|
22687
|
-
"
|
|
22728
|
+
"num": "JtMahq_num",
|
|
22729
|
+
"dash": "JtMahq_dash",
|
|
22730
|
+
"ratioBar": "JtMahq_ratioBar",
|
|
22688
22731
|
"pager": "JtMahq_pager",
|
|
22689
|
-
"
|
|
22690
|
-
"
|
|
22691
|
-
"cardLabel": "JtMahq_cardLabel",
|
|
22692
|
-
"adoptedValue": "JtMahq_adoptedValue",
|
|
22732
|
+
"dateInput": "JtMahq_dateInput",
|
|
22733
|
+
"tableHeading": "JtMahq_tableHeading",
|
|
22693
22734
|
"ratioValue": "JtMahq_ratioValue",
|
|
22735
|
+
"ratioCardLow": "JtMahq_ratioCardLow",
|
|
22694
22736
|
"cardRatio": "JtMahq_cardRatio",
|
|
22695
|
-
"card": "JtMahq_card",
|
|
22696
|
-
"stateError": "JtMahq_stateError",
|
|
22697
|
-
"queryRow": "JtMahq_queryRow",
|
|
22698
|
-
"tableHeading": "JtMahq_tableHeading",
|
|
22699
22737
|
"addedValue": "JtMahq_addedValue",
|
|
22700
|
-
"
|
|
22701
|
-
"
|
|
22738
|
+
"adoptedValue": "JtMahq_adoptedValue",
|
|
22739
|
+
"cardValue": "JtMahq_cardValue",
|
|
22740
|
+
"ratioCardHigh": "JtMahq_ratioCardHigh",
|
|
22741
|
+
"section": "JtMahq_section",
|
|
22742
|
+
"queryRow": "JtMahq_queryRow",
|
|
22702
22743
|
"table": "JtMahq_table",
|
|
22703
|
-
"
|
|
22704
|
-
"num": "JtMahq_num",
|
|
22744
|
+
"cardLabel": "JtMahq_cardLabel",
|
|
22705
22745
|
"aiValue": "JtMahq_aiValue",
|
|
22706
|
-
"section": "JtMahq_section",
|
|
22707
|
-
"cardValue": "JtMahq_cardValue",
|
|
22708
|
-
"overview": "JtMahq_overview",
|
|
22709
22746
|
"dateCell": "JtMahq_dateCell",
|
|
22710
|
-
"
|
|
22747
|
+
"exportButton": "JtMahq_exportButton",
|
|
22748
|
+
"commitsValue": "JtMahq_commitsValue",
|
|
22749
|
+
"pageInfo": "JtMahq_pageInfo",
|
|
22750
|
+
"overview": "JtMahq_overview",
|
|
22751
|
+
"stateError": "JtMahq_stateError",
|
|
22752
|
+
"primaryButton": "JtMahq_primaryButton",
|
|
22753
|
+
"card": "JtMahq_card",
|
|
22711
22754
|
"state": "JtMahq_state"
|
|
22712
22755
|
};
|
|
22713
22756
|
//#endregion
|
|
@@ -23306,7 +23349,7 @@ window.__ModuleLoader__.load({
|
|
|
23306
23349
|
}
|
|
23307
23350
|
//#endregion
|
|
23308
23351
|
//#region \0dsh-css:/Users/shiguifeng/IdeaProjects/chonggou/DSH-better-sidebar/src/client/layout.css.mjs
|
|
23309
|
-
const css = "/**\n * Layout push: when a panel is open it OCCUPIES the layout instead of\n * floating over it — the app shell (#root, the AppFrame three-column grid)\n * gives up space. Only the center column is flexible (1fr), so the right\n * panel's width squeeze (margin-right on #root) lands exactly on the\n * conversation output and the input bar, like a VSCode sidebar.\n *\n * The width rides `calc(100% - var(...))` instead of a bare margin on a\n * full-width box: some desktop shells (DSH Desktop, #208) set #root to\n * width:100%, where a margin would overflow the viewport additively —\n * the calc keeps the box at exactly 100% minus the push in every shell.\n * Width and margin transition in lockstep (same variable, same duration\n * and easing), so expand/collapse animates the content width exactly as\n * the bare-margin version did.\n *\n * The bottom panel squeezes ONLY the center column — it must not cover the\n * app's own left sidebar or the right panel. The anchor is the frame's\n * center grid item through stable slot/data attributes, not a positional\n * path: current hosts put [data-slot=\"main\"] directly inside the center\n * column, while earlier hosts exposed [data-pane=\"conversation\"] or a\n * [data-slot=\"conversation\"] child. A stretched grid item shrinks by its\n * margins, so the conversation content (output + input bar) lifts without\n * touching the sidebars.\n *\n * The sizes ride CSS variables updated by the Sidebar shell (0 while\n * collapsed); expand/collapse animates both the margins and the panel\n * slides on the same theme duration. Drags disable the transition so the\n * layout tracks the pointer.\n */\n#root {\n margin-right: var(--dsh-sidebar-width, 0px);\n width: calc(100% - var(--dsh-sidebar-width, 0px));\n transition:\n margin-right var(--ds-transition-duration-slow) var(--ds-ease-in-out),\n width var(--ds-transition-duration-slow) var(--ds-ease-in-out);\n}\n\n/* The AppFrame's center column, anchored by data attributes (see above).\n Composite selector: current DSH puts `[data-slot=\"main\"]` directly inside\n the center grid item; earlier shells name the item\n `[data-pane=\"conversation\"]` or put `[data-slot=\"conversation\"]` inside it.\n Every selector resolves to that same center element. */\n#root :has(> [data-slot=\"main\"]),\n#root [data-dsh-frame] > [data-pane=\"conversation\"],\n#root :has(> [data-slot=\"conversation\"]) {\n margin-bottom: var(--dsh-sidebar-height, 0px);\n /* Grid/flex items default to min-height:auto. A long unbreakable token\n (OAuth URL) then grows this column past the viewport and clips the\n composer + left-rail Settings row. min-height:0 lets the cell shrink;\n overflow-wrap lets the token wrap instead of forcing its intrinsic\n size. The host's own descendants remain responsible for scrolling. */\n min-height: 0;\n overflow-wrap: anywhere;\n transition: margin-bottom var(--ds-transition-duration-slow) var(--ds-ease-in-out);\n}\n\n/* On older hosts, a collapsed sidebar puts the fallback cluster in the\n top-right corner. Push the DSH session header's right padding out so its\n utilities yield instead of hiding under the cluster. Current DSH hosts put\n the controls directly beside the Session log action and set\n data-dsh-native-sidebar-toggle, so this rule stays inactive. The Sidebar\n shell publishes the required reserve; 188px is the older-host fallback. Anchor on\n the header's slot host wrapper ([data-slot=\"conversation.session.header\"])\n rather than a positional path: DSH 0.1.x nests the header several levels\n under the center column. The Sidebar shell toggles the body attributes with\n the host capability and panel open state. */\nbody[data-dsh-sidebar-collapsed]:not([data-dsh-native-sidebar-toggle]) [data-slot=\"conversation.session.header\"] > header {\n padding-right: var(--dsh-sidebar-toggle-reserve, 188px);\n}\n\nbody[data-dsh-sidebar-dragging] #root,\nbody[data-dsh-sidebar-dragging] #root :has(> [data-slot=\"main\"]),\nbody[data-dsh-sidebar-dragging] #root [data-dsh-frame] > [data-pane=\"conversation\"],\nbody[data-dsh-sidebar-dragging] #root :has(> [data-slot=\"conversation\"]) {\n transition: none;\n}\n\n/* DSH 0.1.x gives external settings sections a generic gear and exposes no\n icon field in the settings.section contract. settings-nav-icon.ts marks\n only this plugin's localized row; render the requested Lucide\n gallery-horizontal-end SVG as a currentColor mask so it follows the native\n nav hover/active colors without changing the shell's 16px icon rhythm. */\n[data-dsh-better-sidebar-settings-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-settings-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7v10'/%3E%3Cpath d='M6 5v14'/%3E%3Crect width='12' height='18' x='10' y='3' rx='2'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7v10'/%3E%3Cpath d='M6 5v14'/%3E%3Crect width='12' height='18' x='10' y='3' rx='2'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n/* The \"Token 用量\" heatmap section's nav row: same marker scheme as above,\n painting a calendar glyph (Lucide calendar-days) — a month of days is the\n section's whole subject. */\n[data-dsh-better-sidebar-usage-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-usage-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n[data-dsh-better-sidebar-ai-ratio-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-ai-ratio-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.25 13.75h11.5M4.5 13.75v-3.5M7.5 13.75v-6.5M10.5 13.75v-4.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 .9l.5 1.6 1.6.5-1.6.5-.5 1.6-.5-1.6-1.6-.5 1.6-.5z' fill='black'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.25 13.75h11.5M4.5 13.75v-3.5M7.5 13.75v-6.5M10.5 13.75v-4.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 .9l.5 1.6 1.6.5-1.6.5-.5 1.6-.5-1.6-1.6-.5 1.6-.5z' fill='black'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n/* The \"更新\" section's nav row: same marker scheme, painting an upward\n arrow (Lucide arrow-up) — an upgrade/one-click-update is the section's\n whole purpose. */\n[data-dsh-better-sidebar-update-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-update-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n@media (prefers-reduced-motion: reduce) {\n #root,\n #root :has(> [data-slot=\"main\"]),\n #root [data-dsh-frame] > [data-pane=\"conversation\"],\n #root :has(> [data-slot=\"conversation\"]) {\n transition: none;\n }\n}\n\n[data-dsh-hidden-runtime-context] {\n display: none !important;\n}\n";
|
|
23352
|
+
const css = "/**\n * Layout push: when a panel is open it OCCUPIES the layout instead of\n * floating over it — the app shell (#root, the AppFrame three-column grid)\n * gives up space. Only the center column is flexible (1fr), so the right\n * panel's width squeeze (margin-right on #root) lands exactly on the\n * conversation output and the input bar, like a VSCode sidebar.\n *\n * The width rides `calc(100% - var(...))` instead of a bare margin on a\n * full-width box: some desktop shells (DSH Desktop, #208) set #root to\n * width:100%, where a margin would overflow the viewport additively —\n * the calc keeps the box at exactly 100% minus the push in every shell.\n * Width and margin transition in lockstep (same variable, same duration\n * and easing), so expand/collapse animates the content width exactly as\n * the bare-margin version did.\n *\n * The bottom panel squeezes ONLY the center column — it must not cover the\n * app's own left sidebar or the right panel. The anchor is the frame's\n * center grid item through stable slot/data attributes, not a positional\n * path: current hosts put [data-slot=\"main\"] directly inside the center\n * column, while earlier hosts exposed [data-pane=\"conversation\"] or a\n * [data-slot=\"conversation\"] child. A stretched grid item shrinks by its\n * margins, so the conversation content (output + input bar) lifts without\n * touching the sidebars.\n *\n * The sizes ride CSS variables updated by the Sidebar shell (0 while\n * collapsed); expand/collapse animates both the margins and the panel\n * slides on the same theme duration. Drags disable the transition so the\n * layout tracks the pointer.\n */\n#root {\n margin-right: var(--dsh-sidebar-width, 0px);\n width: calc(100% - var(--dsh-sidebar-width, 0px));\n transition:\n margin-right var(--ds-transition-duration-slow) var(--ds-ease-in-out),\n width var(--ds-transition-duration-slow) var(--ds-ease-in-out);\n}\n\n/* The AppFrame's center column, anchored by data attributes (see above).\n Composite selector: current DSH puts `[data-slot=\"main\"]` directly inside\n the center grid item; earlier shells name the item\n `[data-pane=\"conversation\"]` or put `[data-slot=\"conversation\"]` inside it.\n Every selector resolves to that same center element. */\n#root :has(> [data-slot=\"main\"]),\n#root [data-dsh-frame] > [data-pane=\"conversation\"],\n#root :has(> [data-slot=\"conversation\"]) {\n margin-bottom: var(--dsh-sidebar-height, 0px);\n /* Grid/flex items default to min-height:auto. A long unbreakable token\n (OAuth URL) then grows this column past the viewport and clips the\n composer + left-rail Settings row. min-height:0 lets the cell shrink;\n overflow-wrap lets the token wrap instead of forcing its intrinsic\n size. The host's own descendants remain responsible for scrolling. */\n min-height: 0;\n overflow-wrap: anywhere;\n transition: margin-bottom var(--ds-transition-duration-slow) var(--ds-ease-in-out);\n}\n\n/* On older hosts, a collapsed sidebar puts the fallback cluster in the\n top-right corner. Push the DSH session header's right padding out so its\n utilities yield instead of hiding under the cluster. Current DSH hosts put\n the controls directly beside the Session log action and set\n data-dsh-native-sidebar-toggle, so this rule stays inactive. The Sidebar\n shell publishes the required reserve; 188px is the older-host fallback. Anchor on\n the header's slot host wrapper ([data-slot=\"conversation.session.header\"])\n rather than a positional path: DSH 0.1.x nests the header several levels\n under the center column. The Sidebar shell toggles the body attributes with\n the host capability and panel open state. */\nbody[data-dsh-sidebar-collapsed]:not([data-dsh-native-sidebar-toggle]) [data-slot=\"conversation.session.header\"] > header {\n padding-right: var(--dsh-sidebar-toggle-reserve, 188px);\n}\n\nbody[data-dsh-sidebar-dragging] #root,\nbody[data-dsh-sidebar-dragging] #root :has(> [data-slot=\"main\"]),\nbody[data-dsh-sidebar-dragging] #root [data-dsh-frame] > [data-pane=\"conversation\"],\nbody[data-dsh-sidebar-dragging] #root :has(> [data-slot=\"conversation\"]) {\n transition: none;\n}\n\n/* DSH 0.1.x gives external settings sections a generic gear and exposes no\n icon field in the settings.section contract. settings-nav-icon.ts marks\n only this plugin's localized row; render the requested Lucide\n gallery-horizontal-end SVG as a currentColor mask so it follows the native\n nav hover/active colors without changing the shell's 16px icon rhythm. */\n[data-dsh-better-sidebar-settings-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-settings-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7v10'/%3E%3Cpath d='M6 5v14'/%3E%3Crect width='12' height='18' x='10' y='3' rx='2'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7v10'/%3E%3Cpath d='M6 5v14'/%3E%3Crect width='12' height='18' x='10' y='3' rx='2'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n/* Some host/plugin settings rows receive their SVG only after the global\n plugin group is expanded. Paint stable fallbacks immediately so the nav\n never opens with blank icon slots; a late host SVG is hidden to avoid a\n duplicate. */\n[data-dsh-better-sidebar-general-nav] > svg:first-child,\n[data-dsh-better-sidebar-plugin-market-nav] > svg:first-child,\n[data-dsh-better-sidebar-ui-tweaks-nav] > svg:first-child,\n[data-dsh-better-sidebar-skill-market-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-general-nav]::before,\n[data-dsh-better-sidebar-plugin-market-nav]::before,\n[data-dsh-better-sidebar-ui-tweaks-nav]::before,\n[data-dsh-better-sidebar-skill-market-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n}\n\n[data-dsh-better-sidebar-general-nav]::before {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9 7 7M17 17l2.1 2.1M19.1 4.9 17 7M7 17l-2.1 2.1'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9 7 7M17 17l2.1 2.1M19.1 4.9 17 7M7 17l-2.1 2.1'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n[data-dsh-better-sidebar-plugin-market-nav]::before {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n[data-dsh-better-sidebar-ui-tweaks-nav]::before {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n[data-dsh-better-sidebar-skill-market-nav]::before {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.7 4.3L6 9l4.3 1.7L12 15l1.7-4.3L18 9l-4.3-1.7Z'/%3E%3Cpath d='m5 15-.8 2.2L2 18l2.2.8L5 21l.8-2.2L8 18l-2.2-.8Z'/%3E%3Cpath d='m19 14-1 2.5-2.5 1L18 18.5l1 2.5 1-2.5 2.5-1-2.5-1Z'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.7 4.3L6 9l4.3 1.7L12 15l1.7-4.3L18 9l-4.3-1.7Z'/%3E%3Cpath d='m5 15-.8 2.2L2 18l2.2.8L5 21l.8-2.2L8 18l-2.2-.8Z'/%3E%3Cpath d='m19 14-1 2.5-2.5 1L18 18.5l1 2.5 1-2.5 2.5-1-2.5-1Z'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n/* The \"Token 用量\" heatmap section's nav row: same marker scheme as above,\n painting a calendar glyph (Lucide calendar-days) — a month of days is the\n section's whole subject. */\n[data-dsh-better-sidebar-usage-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-usage-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n[data-dsh-better-sidebar-ai-ratio-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-ai-ratio-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.25 13.75h11.5M4.5 13.75v-3.5M7.5 13.75v-6.5M10.5 13.75v-4.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 .9l.5 1.6 1.6.5-1.6.5-.5 1.6-.5-1.6-1.6-.5 1.6-.5z' fill='black'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.25 13.75h11.5M4.5 13.75v-3.5M7.5 13.75v-6.5M10.5 13.75v-4.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M13 .9l.5 1.6 1.6.5-1.6.5-.5 1.6-.5-1.6-1.6-.5 1.6-.5z' fill='black'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n/* The \"更新\" section's nav row: same marker scheme, painting an upward\n arrow (Lucide arrow-up) — an upgrade/one-click-update is the section's\n whole purpose. */\n[data-dsh-better-sidebar-update-nav] > svg:first-child {\n display: none;\n}\n\n[data-dsh-better-sidebar-update-nav]::before {\n content: '';\n flex: none;\n width: 16px;\n height: 16px;\n background: currentColor;\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n\n@media (prefers-reduced-motion: reduce) {\n #root,\n #root :has(> [data-slot=\"main\"]),\n #root [data-dsh-frame] > [data-pane=\"conversation\"],\n #root :has(> [data-slot=\"conversation\"]) {\n transition: none;\n }\n}\n\n[data-dsh-hidden-runtime-context] {\n display: none !important;\n}\n";
|
|
23310
23353
|
const tagId = "dsh-external/dsh-better-sidebar/layout.css";
|
|
23311
23354
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
23312
23355
|
const tag = document.createElement("style");
|
|
@@ -27885,6 +27928,7 @@ to{transform:translateX(-8px)}
|
|
|
27885
27928
|
/** Browser URL for the project-owned `assets/logo.svg` file. */
|
|
27886
27929
|
const PROJECT_LOGO_URL = "/_dsh/ui-tweaks/assets/logo.svg";
|
|
27887
27930
|
const PROJECT_NAME = "ChatCode CLI";
|
|
27931
|
+
const HERO_TITLE = "与世界,深一度对话";
|
|
27888
27932
|
const LEGACY_HOST_BRAND_TEXT = /DSH\s*(?:Local\s*Build|本地构建)|ChatCode\s*CLI/giu;
|
|
27889
27933
|
const HOST_BRAND_LABEL_TEXT = /^(?:DSH\s*(?:Local\s*Build|本地构建)|ChatCode\s*CLI)$/iu;
|
|
27890
27934
|
const HOST_BUILD_VERSION_TEXT = /^v?\d+\.\d+\.\d+(?:[-+][0-9a-z.-]+)*$/iu;
|
|
@@ -27930,16 +27974,9 @@ to{transform:translateX(-8px)}
|
|
|
27930
27974
|
});
|
|
27931
27975
|
}
|
|
27932
27976
|
const BRANDING_CSS = `
|
|
27933
|
-
/*
|
|
27934
|
-
|
|
27935
|
-
|
|
27936
|
-
by the host theme. */
|
|
27937
|
-
body:not([data-ds-dark-theme]){
|
|
27938
|
-
--dsw-alias-label-primary:#301111;
|
|
27939
|
-
--dsw-alias-label-secondary:#754745;
|
|
27940
|
-
--dsw-alias-label-tertiary:#a77471;
|
|
27941
|
-
}
|
|
27942
|
-
/* Saturated brand red remains exclusive to explicitly marked primary actions. */
|
|
27977
|
+
/* ChatCode CLI branding is deliberately limited to primary actions. Every
|
|
27978
|
+
other surface and interaction state (including workspace/sidebar rows,
|
|
27979
|
+
menus, the composer, text and shadows) remains owned by the host theme. */
|
|
27943
27980
|
body:not([data-ds-dark-theme]) .dut-unicom-primary-action{background:linear-gradient(135deg,#9B0B09,#b71916) !important;border-color:#9B0B09 !important;color:#fff !important;box-shadow:0 7px 18px rgba(155,11,9,.24) !important}
|
|
27944
27981
|
body:not([data-ds-dark-theme]) .dut-unicom-primary-action:hover{background:linear-gradient(135deg,#b71916,#cf302c) !important;border-color:#b71916 !important;color:#fff !important;box-shadow:0 10px 24px rgba(155,11,9,.30) !important}
|
|
27945
27982
|
body:not([data-ds-dark-theme]) .dut-unicom-primary-action:active{transform:translateY(1px);box-shadow:0 4px 11px rgba(155,11,9,.22) !important}
|
|
@@ -27958,7 +27995,8 @@ body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B
|
|
|
27958
27995
|
.dut-brand-version{display:none !important}
|
|
27959
27996
|
.dut-hero-preview{display:none !important}
|
|
27960
27997
|
.dut-hero-logo{width:60px !important;height:60px !important}
|
|
27961
|
-
|
|
27998
|
+
.dut-hero-title{font-size:30px !important;line-height:40px !important;font-weight:600 !important;letter-spacing:.06em !important;white-space:nowrap}
|
|
27999
|
+
[class*="headline"]:has(.dut-hero-logo){grid-template-columns:60px auto !important;font-size:30px !important;line-height:40px !important}
|
|
27962
28000
|
.dut-settings-logo{width:19px;height:19px;object-fit:contain}
|
|
27963
28001
|
`;
|
|
27964
28002
|
function hasPrimaryLabel(button) {
|
|
@@ -28030,6 +28068,13 @@ body[data-ds-dark-theme] .dut-unicom-primary-action:not(:hover){background:#9B0B
|
|
|
28030
28068
|
}
|
|
28031
28069
|
if (HERO_HEADLINE.test(node.data)) node.data = node.data.replace(HERO_HEADLINE, PROJECT_NAME);
|
|
28032
28070
|
}
|
|
28071
|
+
document.querySelectorAll(".dut-hero-logo").forEach((logo) => {
|
|
28072
|
+
const headline = logo.closest("[class*=\"headline\"]");
|
|
28073
|
+
const title = Array.from(headline?.querySelectorAll("*") ?? []).find((element) => element.childElementCount === 0 && element.textContent?.trim() === PROJECT_NAME);
|
|
28074
|
+
if (title === void 0) return;
|
|
28075
|
+
title.textContent = HERO_TITLE;
|
|
28076
|
+
title.classList.add("dut-hero-title");
|
|
28077
|
+
});
|
|
28033
28078
|
document.querySelectorAll("[class*=\"brandMark\"]").forEach((host) => {
|
|
28034
28079
|
const svg = host.matches("svg") ? host : host.querySelector("svg");
|
|
28035
28080
|
if (svg instanceof SVGElement) replaceHostLogo(svg);
|
|
@@ -30072,6 +30117,8 @@ div[data-slot="conversation.chat.node"] table pre{
|
|
|
30072
30117
|
const inject = [
|
|
30073
30118
|
"slots",
|
|
30074
30119
|
"sessions",
|
|
30120
|
+
"uiSession",
|
|
30121
|
+
"uiWorkspace",
|
|
30075
30122
|
"workspaces",
|
|
30076
30123
|
"locale",
|
|
30077
30124
|
"modules",
|
|
@@ -30350,6 +30397,18 @@ div[data-slot="conversation.chat.node"] table pre{
|
|
|
30350
30397
|
ctx.effect(() => registerSettingsNavIcon(() => t("usageNav"), USAGE_NAV_MARKER), "dsh-better-sidebar: usage settings navigation icon");
|
|
30351
30398
|
ctx.effect(() => registerSettingsNavIcon(() => t("aiRatioNav"), AI_RATIO_NAV_MARKER), "dsh-better-sidebar: AI ratio settings navigation icon");
|
|
30352
30399
|
ctx.effect(() => registerSettingsNavIcon(() => t("updateNav"), UPDATE_NAV_MARKER), "dsh-better-sidebar: update settings navigation icon");
|
|
30400
|
+
ctx.effect(() => registerSettingsNavIcon(() => ["通用设置", "General"], GENERAL_NAV_MARKER), "dsh-better-sidebar: general settings navigation icon fallback");
|
|
30401
|
+
ctx.effect(() => registerSettingsNavIcon(() => [
|
|
30402
|
+
"插件市场",
|
|
30403
|
+
"Plugin marketplace",
|
|
30404
|
+
"Plugin Market"
|
|
30405
|
+
], PLUGIN_MARKET_NAV_MARKER), "dsh-better-sidebar: plugin market navigation icon fallback");
|
|
30406
|
+
ctx.effect(() => registerSettingsNavIcon(() => ["界面调整", "UI Tweaks"], UI_TWEAKS_NAV_MARKER), "dsh-better-sidebar: UI tweaks navigation icon fallback");
|
|
30407
|
+
ctx.effect(() => registerSettingsNavIcon(() => [
|
|
30408
|
+
"技能市场",
|
|
30409
|
+
"Skill marketplace",
|
|
30410
|
+
"Skill Market"
|
|
30411
|
+
], SKILL_MARKET_NAV_MARKER), "dsh-better-sidebar: skill market navigation icon fallback");
|
|
30353
30412
|
ctx.slots.inject("settings.section", () => ctx.slots.register({
|
|
30354
30413
|
name: "settings.section",
|
|
30355
30414
|
id: "better-sidebar",
|