dsh-coding-sidebar 1.0.8 → 1.0.9
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 +223 -175
- package/lib/client-registry.js +763 -344
- package/lib/client-terminal.js +283 -179
- package/lib/client.js +760 -341
- package/lib/index.js +151 -2
- package/lib/types/client/DiffView.d.ts +33 -1
- package/lib/types/client/EditorHost.d.ts +3 -0
- package/lib/types/client/FileTree.d.ts +4 -0
- package/lib/types/client/TerminalWaitBanner.d.ts +6 -0
- package/lib/types/client/TreePanel.d.ts +3 -0
- package/lib/types/client/api.d.ts +26 -0
- package/lib/types/client/locales.d.ts +12 -0
- package/lib/types/client/state.d.ts +15 -0
- package/lib/types/fs-operations.d.ts +42 -0
- package/lib/types/git.d.ts +15 -0
- package/package.json +1 -1
- package/src/client/DiffTab.tsx +10 -1
- package/src/client/DiffView.tsx +174 -19
- package/src/client/EditorHost.tsx +8 -1
- package/src/client/FileTree.tsx +147 -4
- package/src/client/Sidebar.tsx +54 -3
- package/src/client/TerminalView.tsx +28 -0
- package/src/client/TerminalWaitBanner.tsx +32 -0
- package/src/client/TreePanel.tsx +6 -1
- package/src/client/api.ts +20 -0
- package/src/client/locales-ar.ts +12 -0
- package/src/client/locales-de.ts +12 -0
- package/src/client/locales-fr.ts +12 -0
- package/src/client/locales-hi.ts +12 -0
- package/src/client/locales-id.ts +12 -0
- package/src/client/locales-it.ts +12 -0
- package/src/client/locales-ja.ts +12 -0
- package/src/client/locales-ko.ts +12 -0
- package/src/client/locales-nl.ts +12 -0
- package/src/client/locales-pl.ts +12 -0
- package/src/client/locales-pt.ts +12 -0
- package/src/client/locales-ru.ts +12 -0
- package/src/client/locales-sv.ts +12 -0
- package/src/client/locales-th.ts +12 -0
- package/src/client/locales-tr.ts +12 -0
- package/src/client/locales-vi.ts +12 -0
- package/src/client/locales-zh-HK.ts +12 -0
- package/src/client/locales-zh-MO.ts +12 -0
- package/src/client/locales-zh-TW.ts +12 -0
- package/src/client/locales.ts +24 -0
- package/src/client/sidebar.module.css +68 -0
- package/src/client/state.ts +42 -3
- package/src/fs-operations.ts +126 -4
- package/src/git.ts +39 -2
- package/src/index.ts +43 -1
package/lib/client-terminal.js
CHANGED
|
@@ -7428,6 +7428,18 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
7428
7428
|
producedOpen: "在侧边栏中打开",
|
|
7429
7429
|
showInFolder: "在文件夹中显示",
|
|
7430
7430
|
disconnected: "终端连接断开,重连中…",
|
|
7431
|
+
terminalWaitBanner: "Agent 正在等待 {needle}",
|
|
7432
|
+
terminalSkipWait: "跳过等待",
|
|
7433
|
+
gitFoldExpand: "展开 {count} 行上下文",
|
|
7434
|
+
gitFoldLoading: "展开中…",
|
|
7435
|
+
gitFoldFailed: "展开失败",
|
|
7436
|
+
rename: "重命名",
|
|
7437
|
+
renameInvalid: "名称不能为空,且不能包含路径分隔符。",
|
|
7438
|
+
delete: "删除",
|
|
7439
|
+
deleteTitle: "删除「{name}」?",
|
|
7440
|
+
deleteDescFile: "将永久删除该文件,此操作不可撤销。",
|
|
7441
|
+
deleteDescDir: "将永久删除该目录及其全部内容,此操作不可撤销。",
|
|
7442
|
+
dismiss: "关闭",
|
|
7431
7443
|
exited: "终端进程已退出",
|
|
7432
7444
|
noSession: "选择一个会话以使用侧边栏",
|
|
7433
7445
|
pluginNotLoaded: "插件未加载,标签页暂不可用:",
|
|
@@ -7764,6 +7776,18 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
7764
7776
|
producedOpen: "Open in sidebar",
|
|
7765
7777
|
showInFolder: "Show in folder",
|
|
7766
7778
|
disconnected: "Terminal disconnected, reconnecting…",
|
|
7779
|
+
terminalWaitBanner: "Agent is waiting for {needle}",
|
|
7780
|
+
terminalSkipWait: "Skip wait",
|
|
7781
|
+
gitFoldExpand: "Expand {count} context lines",
|
|
7782
|
+
gitFoldLoading: "Expanding…",
|
|
7783
|
+
gitFoldFailed: "Failed to expand",
|
|
7784
|
+
rename: "Rename",
|
|
7785
|
+
renameInvalid: "The name cannot be empty or contain path separators.",
|
|
7786
|
+
delete: "Delete",
|
|
7787
|
+
deleteTitle: "Delete \"{name}\"?",
|
|
7788
|
+
deleteDescFile: "This permanently deletes the file. This cannot be undone.",
|
|
7789
|
+
deleteDescDir: "This permanently deletes the directory and everything inside it. This cannot be undone.",
|
|
7790
|
+
dismiss: "Dismiss",
|
|
7767
7791
|
exited: "Terminal process exited",
|
|
7768
7792
|
noSession: "Select a conversation to use the sidebar",
|
|
7769
7793
|
pluginNotLoaded: "Plugin not loaded; tab unavailable:",
|
|
@@ -8101,6 +8125,15 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
8101
8125
|
path,
|
|
8102
8126
|
content
|
|
8103
8127
|
})),
|
|
8128
|
+
/** Rename one tree row within its directory (single-segment name; a
|
|
8129
|
+
* destination-existence clash is a 409; symlink rows rename the link). */
|
|
8130
|
+
fsRename: (scope, path, name) => call("fs.rename", scopePayload(scope, {
|
|
8131
|
+
path,
|
|
8132
|
+
name
|
|
8133
|
+
})),
|
|
8134
|
+
/** Delete one tree row permanently (recursive for directories; a symlink
|
|
8135
|
+
* row unlinks the link only). */
|
|
8136
|
+
fsRemove: (scope, path) => call("fs.remove", scopePayload(scope, { path })),
|
|
8104
8137
|
/** Upload one file's raw bytes into `dir` (keeps the folder tree via
|
|
8105
8138
|
* `relativePath`); the host streams it under the session workspace. */
|
|
8106
8139
|
uploadFile: (scope, dir, relativePath, body, signal) => fetchUpload(scope, dir, relativePath, body, signal),
|
|
@@ -8122,6 +8155,13 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
8122
8155
|
}), signal),
|
|
8123
8156
|
/** Full patch text of one commit (diff display for the history rows). */
|
|
8124
8157
|
gitCommitDiff: (scope, hash, worktree, signal) => call("git.commit-diff", gitPayload(scope, worktree, { hash }), signal),
|
|
8158
|
+
/** Both sides' full file contents for a diff-fold expansion; a missing
|
|
8159
|
+
* side is null (untracked / deleted) and the view degrades the fold. */
|
|
8160
|
+
gitFoldContents: (scope, opts, worktree, signal) => call("git.fold-contents", gitPayload(scope, worktree, {
|
|
8161
|
+
path: opts.path,
|
|
8162
|
+
...opts.staged !== void 0 ? { staged: opts.staged } : {},
|
|
8163
|
+
...opts.hash !== void 0 ? { hash: opts.hash } : {}
|
|
8164
|
+
}), signal),
|
|
8125
8165
|
/** Discard the worktree changes of one file (the index is untouched). */
|
|
8126
8166
|
gitDiscard: (scope, path, worktree) => call("git.discard", gitPayload(scope, worktree, { path })),
|
|
8127
8167
|
/** Revert one commit onto the current branch. */
|
|
@@ -8134,6 +8174,9 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
8134
8174
|
ptyClose: (scope, tab) => call("pty.close", scopePayload(scope, { tab })),
|
|
8135
8175
|
/** Release an agent terminal by uuid (tab closed while WS was down). */
|
|
8136
8176
|
agentPtyClose: (uuid) => call("agent-pty.close", { uuid }),
|
|
8177
|
+
/** Skip every active terminal_wait_for on one agent terminal (the wait
|
|
8178
|
+
* banner's skip button). Idempotent: {skipped:0} when none is active. */
|
|
8179
|
+
agentSkipWait: (uuid) => call("agent-pty.skip-wait", { uuid }),
|
|
8137
8180
|
/** Terminal dependency status (issue #140): after a WS close 1011 with
|
|
8138
8181
|
* reason `pty-deps-missing` the view fetches the full repair details here
|
|
8139
8182
|
* (the close reason itself is capped at 123 bytes). */
|
|
@@ -8743,7 +8786,7 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
8743
8786
|
}
|
|
8744
8787
|
//#endregion
|
|
8745
8788
|
//#region \0dsh-css:/Users/libing/kk_Projects/dsh-coding-sidebar/src/client/sidebar.module.css.mjs
|
|
8746
|
-
const css = "[data-dsh-panel-host]{z-index:25;pointer-events:none;position:fixed;inset:0;overflow:hidden}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}.S5HVoW_toggleCluster{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}.S5HVoW_panel:not(.S5HVoW_panelHidden) .S5HVoW_tabBar{padding-right:72px}.S5HVoW_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}.S5HVoW_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_toggleButton:disabled,.S5HVoW_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.S5HVoW_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}.S5HVoW_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%)}.S5HVoW_panel[data-dragging]{transition:none}.S5HVoW_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.S5HVoW_panelResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_panelBody{flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_panel{contain:layout style}body[data-dsh-sidebar-dragging] .S5HVoW_panel{will-change:transform}.S5HVoW_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}.S5HVoW_floatWindowDragging{will-change:left, top, width, height}.S5HVoW_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}.S5HVoW_floatWindowDragging .S5HVoW_floatHeader{cursor:grabbing}.S5HVoW_floatTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_floatClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_floatContent{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.S5HVoW_floatResize{z-index:2;cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.S5HVoW_floatResize:hover{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_pane[data-dsh-float-dock-over]{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px}.S5HVoW_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}.S5HVoW_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}.S5HVoW_toggleCluster,.S5HVoW_toggleButton,.S5HVoW_tabBar,.S5HVoW_floatHeader{-webkit-app-region:no-drag}body[data-dsh-title-bar-compat] .S5HVoW_toggleCluster{top:calc(var(--dsh-title-bar-strip,40px) + 3px)}body[data-dsh-title-bar-compat] .S5HVoW_panel{padding-top:var(--dsh-title-bar-strip,40px)}.S5HVoW_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}.S5HVoW_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_iconButton:disabled{opacity:.4;cursor:default}.S5HVoW_workbench,.S5HVoW_split{flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_splitRow{flex-direction:row}.S5HVoW_splitCol{flex-direction:column}.S5HVoW_splitChild{display:flex;position:relative;overflow:hidden}.S5HVoW_divider{z-index:3;touch-action:none;flex:none;position:relative}.S5HVoW_dividerRow:after,.S5HVoW_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.S5HVoW_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.S5HVoW_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.S5HVoW_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.S5HVoW_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.S5HVoW_divider:hover:after,.S5HVoW_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.S5HVoW_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.S5HVoW_dropLeft{width:25%;top:0;bottom:0;left:0}.S5HVoW_dropRight{width:25%;top:0;bottom:0;right:0}.S5HVoW_dropUp{height:25%;top:0;left:0;right:0}.S5HVoW_dropDown{height:25%;bottom:0;left:0;right:0}.S5HVoW_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.S5HVoW_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.S5HVoW_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_paneTabHidden{display:none}.S5HVoW_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}.S5HVoW_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}.S5HVoW_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.S5HVoW_paneCard:disabled{opacity:.45;cursor:default}.S5HVoW_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}.S5HVoW_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.S5HVoW_tabList::-webkit-scrollbar{display:none}.S5HVoW_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}.S5HVoW_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_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}.S5HVoW_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_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}.S5HVoW_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_pinnedTab{color:var(--dsw-alias-label-tertiary);font-style:italic}.S5HVoW_pinnedTab:hover{color:var(--dsw-alias-label-secondary)}.S5HVoW_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.S5HVoW_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.S5HVoW_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:S5HVoW_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}.S5HVoW_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_explorerRowRevealed{background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover-accent) 18%, transparent);box-shadow:inset 2px 0 0 var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_explorerDir{font:var(--dsw-font-s-strong-14)}.S5HVoW_explorerHidden{opacity:.45}.S5HVoW_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_explorerBroken .S5HVoW_explorerName{color:var(--dsw-alias-state-error-primary)}.S5HVoW_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_explorerRow:hover .S5HVoW_explorerRef,.S5HVoW_explorerRow:focus-within .S5HVoW_explorerRef{display:inline-flex}.S5HVoW_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes S5HVoW_dsh-row-in{0%{opacity:0}}.S5HVoW_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.S5HVoW_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover);outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_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:S5HVoW_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}.S5HVoW_uploadDropHero{flex-direction:column;align-items:center;gap:10px;max-width:100%;padding-top:8px;display:flex}.S5HVoW_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}.S5HVoW_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.S5HVoW_uploadDropChatHint{z-index:1002;pointer-events:none;animation:S5HVoW_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}.S5HVoW_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}.S5HVoW_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:S5HVoW_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.S5HVoW_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}.S5HVoW_uploadOverlayTitle{font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.S5HVoW_uploadOverlayTitle>svg{flex:none}.S5HVoW_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.S5HVoW_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.S5HVoW_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.S5HVoW_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}.S5HVoW_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}.S5HVoW_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.S5HVoW_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.S5HVoW_editor{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_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}.S5HVoW_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_editorBody{flex:1;min-height:0;display:flex}.S5HVoW_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.S5HVoW_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.S5HVoW_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.S5HVoW_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.S5HVoW_editorTreePanelFull{flex:1}.S5HVoW_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.S5HVoW_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}.S5HVoW_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.S5HVoW_editorStatusError{color:var(--dsw-alias-state-error-primary)}.S5HVoW_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.S5HVoW_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}.S5HVoW_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.S5HVoW_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.S5HVoW_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.S5HVoW_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.S5HVoW_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}.S5HVoW_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.S5HVoW_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.S5HVoW_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)}.S5HVoW_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.S5HVoW_sandboxStatusOff .S5HVoW_sandboxDot{background:var(--dsw-alias-state-error-primary)}.S5HVoW_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_browser{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_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}.S5HVoW_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.S5HVoW_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}.S5HVoW_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}.S5HVoW_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.S5HVoW_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.S5HVoW_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.S5HVoW_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}.S5HVoW_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.S5HVoW_editorCm .cm-editor{height:100%}.S5HVoW_editorCm .cm-scroller{padding:12px 16px}.S5HVoW_editorCm .cm-editor.cm-focused{outline:none}.S5HVoW_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))}.S5HVoW_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_terminalWrap{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.S5HVoW_terminal{flex:1;min-height:0;padding:6px 4px 6px 8px}.S5HVoW_terminal .xterm{height:100%}.S5HVoW_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}.S5HVoW_terminalBannerUrl{word-break:break-all;opacity:.85;flex-basis:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.S5HVoW_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}.S5HVoW_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}.S5HVoW_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_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}.S5HVoW_terminalDepsTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-state-warn-primary)}.S5HVoW_terminalDepsHint{opacity:.9}.S5HVoW_terminalDepsCommandRow{align-items:flex-start;gap:8px;display:flex}.S5HVoW_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}.S5HVoW_terminalDepsNote{opacity:.85}.S5HVoW_terminalDepsActions{align-items:center;gap:8px;display:flex}.S5HVoW_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}.S5HVoW_git{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.S5HVoW_gitHeader{flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.S5HVoW_gitWorktreeRow{flex:none;align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.S5HVoW_gitWorktreeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.S5HVoW_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}.S5HVoW_gitSection{border-top:1px solid var(--dsw-alias-border-l1)}.S5HVoW_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}.S5HVoW_gitLink{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:none;padding:0}.S5HVoW_gitLink:hover:not(:disabled){text-decoration:underline}.S5HVoW_gitLink:disabled{opacity:.4;cursor:default}.S5HVoW_gitRow{min-height:34px;animation:S5HVoW_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}.S5HVoW_gitRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitRowSelected{background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_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}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.S5HVoW_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.S5HVoW_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.S5HVoW_gitDiff{border-top:1px solid var(--dsw-alias-border-l1);padding:8px}.S5HVoW_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.S5HVoW_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}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitDiffFile:disabled{cursor:default}.S5HVoW_gitDiffFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitDiffFileChevron{color:var(--dsw-alias-label-tertiary);flex:none;transform:rotate(0)}.S5HVoW_gitDiffFileChevronExpanded{transform:rotate(90deg)}.S5HVoW_gitDiffFilePath{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitDiffHunk{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);gap:8px;padding:3px 2px;display:flex}.S5HVoW_gitDiffHunkHeader{color:var(--dsw-alias-label-secondary);flex:none}.S5HVoW_gitDiffHunkSection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_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}.S5HVoW_gitDiffNum{text-align:right;width:36px;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;padding-right:8px}.S5HVoW_gitDiffCode{flex:1;min-width:0;overflow:visible}.S5HVoW_gitDiffCtx{color:var(--dsw-alias-label-primary)}.S5HVoW_gitDiffDel{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.S5HVoW_gitDiffAdd{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 12%, transparent)}.S5HVoW_gitDiffMeta{padding-left:2px}.S5HVoW_gitDiffMetaText{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);font-style:italic}.S5HVoW_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}.S5HVoW_gitDiffExpand:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitConfirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);white-space:pre-wrap;margin:0}.S5HVoW_gitCommit{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:6px;padding:8px 12px;display:flex}.S5HVoW_gitCommitInput{flex:1;min-width:0}.S5HVoW_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}.S5HVoW_gitCommitButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.S5HVoW_gitCommitButton:disabled{opacity:.45;cursor:default}.S5HVoW_gitLogRow{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:5px 12px;display:flex}.S5HVoW_gitLogRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitLogLine1{align-items:baseline;gap:8px;min-width:0;display:flex}.S5HVoW_gitLogHash{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_gitLogLine2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitLogMeta{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_gitLogMore:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_gitLogMore:disabled{opacity:.5;cursor:default}.S5HVoW_producedRow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.S5HVoW_producedLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_producedChip:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_producedChip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_producedMore{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_toggleButton:focus-visible,.S5HVoW_iconButton:focus-visible,.S5HVoW_tab:focus-visible,.S5HVoW_tabClose:focus-visible,.S5HVoW_tabBarPlus:focus-visible,.S5HVoW_paneCard:focus-visible,.S5HVoW_explorerRow:focus-visible,.S5HVoW_explorerRef:focus-visible,.S5HVoW_gitRowMain:focus-visible,.S5HVoW_gitLink:focus-visible,.S5HVoW_gitCommitButton:focus-visible,.S5HVoW_gitLogRow:focus-visible,.S5HVoW_gitLogMore:focus-visible,.S5HVoW_gitDiffFile:focus-visible,.S5HVoW_gitDiffExpand:focus-visible,.S5HVoW_terminalRetry:focus-visible,.S5HVoW_editorDownloadLink:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.S5HVoW_panel,.S5HVoW_panelHidden,.S5HVoW_toggleCluster,.S5HVoW_toggleButton,.S5HVoW_tab,.S5HVoW_tabBarPlus,.S5HVoW_paneCard,.S5HVoW_explorerRow,.S5HVoW_gitRow,.S5HVoW_divider,.S5HVoW_dividerRow:after,.S5HVoW_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.S5HVoW_panel:not(.S5HVoW_panelHidden) .S5HVoW_tabBar{padding-right:40px}.S5HVoW_tab{min-width:48px;max-width:128px}}.S5HVoW_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.S5HVoW_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.S5HVoW_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_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}.S5HVoW_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_openWithPinActive{color:var(--dsw-alias-state-business-primary)}@keyframes S5HVoW_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.S5HVoW_browserLive{flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;inset:0;overflow:hidden}.S5HVoW_browserLiveStatus{opacity:.75;align-items:center;gap:8px;font-size:12px;display:flex}.S5HVoW_browserLiveCanvas{object-fit:contain;border:1px solid var(--dsw-alias-border-l,#80808040);cursor:crosshair;background:#fff;border-radius:8px;flex:1;width:100%;min-height:0}.S5HVoW_browserLiveTarget{max-width:260px;font-size:12px}";
|
|
8789
|
+
const css = "[data-dsh-panel-host]{z-index:25;pointer-events:none;position:fixed;inset:0;overflow:hidden}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}.S5HVoW_toggleCluster{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}.S5HVoW_panel:not(.S5HVoW_panelHidden) .S5HVoW_tabBar{padding-right:72px}.S5HVoW_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}.S5HVoW_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_toggleButton:disabled,.S5HVoW_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.S5HVoW_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}.S5HVoW_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%)}.S5HVoW_panel[data-dragging]{transition:none}.S5HVoW_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.S5HVoW_panelResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_panelBody{flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_panel{contain:layout style}body[data-dsh-sidebar-dragging] .S5HVoW_panel{will-change:transform}.S5HVoW_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}.S5HVoW_floatWindowDragging{will-change:left, top, width, height}.S5HVoW_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}.S5HVoW_floatWindowDragging .S5HVoW_floatHeader{cursor:grabbing}.S5HVoW_floatTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_floatClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_floatContent{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.S5HVoW_floatResize{z-index:2;cursor:nwse-resize;touch-action:none;width:14px;height:14px;position:absolute;bottom:0;right:0}.S5HVoW_floatResize:hover{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_pane[data-dsh-float-dock-over]{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px}.S5HVoW_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}.S5HVoW_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}.S5HVoW_toggleCluster,.S5HVoW_toggleButton,.S5HVoW_tabBar,.S5HVoW_floatHeader{-webkit-app-region:no-drag}body[data-dsh-title-bar-compat] .S5HVoW_toggleCluster{top:calc(var(--dsh-title-bar-strip,40px) + 3px)}body[data-dsh-title-bar-compat] .S5HVoW_panel{padding-top:var(--dsh-title-bar-strip,40px)}.S5HVoW_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}.S5HVoW_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_iconButton:disabled{opacity:.4;cursor:default}.S5HVoW_workbench,.S5HVoW_split{flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_splitRow{flex-direction:row}.S5HVoW_splitCol{flex-direction:column}.S5HVoW_splitChild{display:flex;position:relative;overflow:hidden}.S5HVoW_divider{z-index:3;touch-action:none;flex:none;position:relative}.S5HVoW_dividerRow:after,.S5HVoW_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.S5HVoW_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.S5HVoW_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.S5HVoW_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.S5HVoW_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.S5HVoW_divider:hover:after,.S5HVoW_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.S5HVoW_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.S5HVoW_dropLeft{width:25%;top:0;bottom:0;left:0}.S5HVoW_dropRight{width:25%;top:0;bottom:0;right:0}.S5HVoW_dropUp{height:25%;top:0;left:0;right:0}.S5HVoW_dropDown{height:25%;bottom:0;left:0;right:0}.S5HVoW_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.S5HVoW_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.S5HVoW_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_paneTabHidden{display:none}.S5HVoW_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}.S5HVoW_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}.S5HVoW_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.S5HVoW_paneCard:disabled{opacity:.45;cursor:default}.S5HVoW_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}.S5HVoW_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.S5HVoW_tabList::-webkit-scrollbar{display:none}.S5HVoW_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}.S5HVoW_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_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}.S5HVoW_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_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}.S5HVoW_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_pinnedTab{color:var(--dsw-alias-label-tertiary);font-style:italic}.S5HVoW_pinnedTab:hover{color:var(--dsw-alias-label-secondary)}.S5HVoW_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.S5HVoW_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.S5HVoW_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:S5HVoW_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}.S5HVoW_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_explorerRowRevealed{background:color-mix(in srgb, var(--dsw-alias-interactive-bg-hover-accent) 18%, transparent);box-shadow:inset 2px 0 0 var(--dsw-alias-interactive-bg-hover-accent)}.S5HVoW_explorerDir{font:var(--dsw-font-s-strong-14)}.S5HVoW_explorerHidden{opacity:.45}.S5HVoW_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_explorerBroken .S5HVoW_explorerName{color:var(--dsw-alias-state-error-primary)}.S5HVoW_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_explorerRow:hover .S5HVoW_explorerRef,.S5HVoW_explorerRow:focus-within .S5HVoW_explorerRef{display:inline-flex}.S5HVoW_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes S5HVoW_dsh-row-in{0%{opacity:0}}.S5HVoW_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.S5HVoW_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover);outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.S5HVoW_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:S5HVoW_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}.S5HVoW_uploadDropHero{flex-direction:column;align-items:center;gap:10px;max-width:100%;padding-top:8px;display:flex}.S5HVoW_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}.S5HVoW_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.S5HVoW_uploadDropChatHint{z-index:1002;pointer-events:none;animation:S5HVoW_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}.S5HVoW_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}.S5HVoW_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:S5HVoW_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.S5HVoW_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}.S5HVoW_uploadOverlayTitle{font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.S5HVoW_uploadOverlayTitle>svg{flex:none}.S5HVoW_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.S5HVoW_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.S5HVoW_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.S5HVoW_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}.S5HVoW_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}.S5HVoW_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.S5HVoW_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.S5HVoW_editor{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_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}.S5HVoW_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_editorBody{flex:1;min-height:0;display:flex}.S5HVoW_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.S5HVoW_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.S5HVoW_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.S5HVoW_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.S5HVoW_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.S5HVoW_editorTreePanelFull{flex:1}.S5HVoW_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.S5HVoW_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}.S5HVoW_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.S5HVoW_editorStatusError{color:var(--dsw-alias-state-error-primary)}.S5HVoW_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.S5HVoW_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}.S5HVoW_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.S5HVoW_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.S5HVoW_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.S5HVoW_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.S5HVoW_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}.S5HVoW_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.S5HVoW_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.S5HVoW_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)}.S5HVoW_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.S5HVoW_sandboxStatusOff .S5HVoW_sandboxDot{background:var(--dsw-alias-state-error-primary)}.S5HVoW_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.S5HVoW_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}.S5HVoW_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_browser{flex-direction:column;flex:1;min-height:0;display:flex}.S5HVoW_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.S5HVoW_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}.S5HVoW_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.S5HVoW_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}.S5HVoW_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.S5HVoW_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}.S5HVoW_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}.S5HVoW_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.S5HVoW_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.S5HVoW_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.S5HVoW_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}.S5HVoW_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.S5HVoW_editorCm .cm-editor{height:100%}.S5HVoW_editorCm .cm-scroller{padding:12px 16px}.S5HVoW_editorCm .cm-editor.cm-focused{outline:none}.S5HVoW_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))}.S5HVoW_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_terminalWrap{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.S5HVoW_terminal{flex:1;min-height:0;padding:6px 4px 6px 8px}.S5HVoW_terminal .xterm{height:100%}.S5HVoW_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}.S5HVoW_terminalBannerUrl{word-break:break-all;opacity:.85;flex-basis:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.S5HVoW_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}.S5HVoW_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}.S5HVoW_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_gitFoldRow{box-sizing:border-box;background:var(--dsw-alias-bg-layer-1);width:100%;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);text-align:center;cursor:pointer;border:none;outline:none;padding:2px 12px;display:block}.S5HVoW_gitFoldRow:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.S5HVoW_gitFoldRow:disabled{cursor:default}.S5HVoW_gitFoldRowFailed{color:var(--dsw-alias-state-error-primary);opacity:.7}.S5HVoW_explorerRenameInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-width:0;height:20px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:4px;outline:none;flex:1;padding:0 4px}.S5HVoW_terminalWaitBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;align-items:center;gap:8px;padding:3px 10px;display:flex}.S5HVoW_terminalWaitNeedle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.S5HVoW_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}.S5HVoW_terminalDepsTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-state-warn-primary)}.S5HVoW_terminalDepsHint{opacity:.9}.S5HVoW_terminalDepsCommandRow{align-items:flex-start;gap:8px;display:flex}.S5HVoW_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}.S5HVoW_terminalDepsNote{opacity:.85}.S5HVoW_terminalDepsActions{align-items:center;gap:8px;display:flex}.S5HVoW_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}.S5HVoW_git{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.S5HVoW_gitHeader{flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.S5HVoW_gitWorktreeRow{flex:none;align-items:center;gap:8px;padding:6px 8px 0 12px;display:flex}.S5HVoW_gitWorktreeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.S5HVoW_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}.S5HVoW_gitSection{border-top:1px solid var(--dsw-alias-border-l1)}.S5HVoW_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}.S5HVoW_gitLink{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-brand-primary);cursor:pointer;background:0 0;border:none;padding:0}.S5HVoW_gitLink:hover:not(:disabled){text-decoration:underline}.S5HVoW_gitLink:disabled{opacity:.4;cursor:default}.S5HVoW_gitRow{min-height:34px;animation:S5HVoW_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}.S5HVoW_gitRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitRowSelected{background:var(--dsw-alias-interactive-bg-active)}.S5HVoW_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}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.S5HVoW_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.S5HVoW_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.S5HVoW_gitDiff{border-top:1px solid var(--dsw-alias-border-l1);padding:8px}.S5HVoW_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.S5HVoW_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}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitDiffFile:disabled{cursor:default}.S5HVoW_gitDiffFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitDiffFileChevron{color:var(--dsw-alias-label-tertiary);flex:none;transform:rotate(0)}.S5HVoW_gitDiffFileChevronExpanded{transform:rotate(90deg)}.S5HVoW_gitDiffFilePath{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitDiffHunk{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);gap:8px;padding:3px 2px;display:flex}.S5HVoW_gitDiffHunkHeader{color:var(--dsw-alias-label-secondary);flex:none}.S5HVoW_gitDiffHunkSection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_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}.S5HVoW_gitDiffNum{text-align:right;width:36px;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;padding-right:8px}.S5HVoW_gitDiffCode{flex:1;min-width:0;overflow:visible}.S5HVoW_gitDiffCtx{color:var(--dsw-alias-label-primary)}.S5HVoW_gitDiffDel{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.S5HVoW_gitDiffAdd{color:var(--dsw-alias-state-success-primary);background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 12%, transparent)}.S5HVoW_gitDiffMeta{padding-left:2px}.S5HVoW_gitDiffMetaText{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);font-style:italic}.S5HVoW_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}.S5HVoW_gitDiffExpand:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitConfirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);white-space:pre-wrap;margin:0}.S5HVoW_gitCommit{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:6px;padding:8px 12px;display:flex}.S5HVoW_gitCommitInput{flex:1;min-width:0}.S5HVoW_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}.S5HVoW_gitCommitButton:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.S5HVoW_gitCommitButton:disabled{opacity:.45;cursor:default}.S5HVoW_gitLogRow{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:5px 12px;display:flex}.S5HVoW_gitLogRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.S5HVoW_gitLogLine1{align-items:baseline;gap:8px;min-width:0;display:flex}.S5HVoW_gitLogHash{font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_gitLogLine2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.S5HVoW_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}.S5HVoW_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}.S5HVoW_gitLogMeta{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_gitLogMore:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_gitLogMore:disabled{opacity:.5;cursor:default}.S5HVoW_producedRow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.S5HVoW_producedLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_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}.S5HVoW_producedChip:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_producedChip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.S5HVoW_producedMore{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.S5HVoW_toggleButton:focus-visible,.S5HVoW_iconButton:focus-visible,.S5HVoW_tab:focus-visible,.S5HVoW_tabClose:focus-visible,.S5HVoW_tabBarPlus:focus-visible,.S5HVoW_paneCard:focus-visible,.S5HVoW_explorerRow:focus-visible,.S5HVoW_explorerRef:focus-visible,.S5HVoW_gitRowMain:focus-visible,.S5HVoW_gitLink:focus-visible,.S5HVoW_gitCommitButton:focus-visible,.S5HVoW_gitLogRow:focus-visible,.S5HVoW_gitLogMore:focus-visible,.S5HVoW_gitDiffFile:focus-visible,.S5HVoW_gitDiffExpand:focus-visible,.S5HVoW_terminalRetry:focus-visible,.S5HVoW_editorDownloadLink:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.S5HVoW_panel,.S5HVoW_panelHidden,.S5HVoW_toggleCluster,.S5HVoW_toggleButton,.S5HVoW_tab,.S5HVoW_tabBarPlus,.S5HVoW_paneCard,.S5HVoW_explorerRow,.S5HVoW_gitRow,.S5HVoW_divider,.S5HVoW_dividerRow:after,.S5HVoW_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.S5HVoW_panel:not(.S5HVoW_panelHidden) .S5HVoW_tabBar{padding-right:40px}.S5HVoW_tab{min-width:48px;max-width:128px}}.S5HVoW_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.S5HVoW_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.S5HVoW_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.S5HVoW_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}.S5HVoW_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.S5HVoW_openWithPinActive{color:var(--dsw-alias-state-business-primary)}@keyframes S5HVoW_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.S5HVoW_browserLive{flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;inset:0;overflow:hidden}.S5HVoW_browserLiveStatus{opacity:.75;align-items:center;gap:8px;font-size:12px;display:flex}.S5HVoW_browserLiveCanvas{object-fit:contain;border:1px solid var(--dsw-alias-border-l,#80808040);cursor:crosshair;background:#fff;border-radius:8px;flex:1;width:100%;min-height:0}.S5HVoW_browserLiveTarget{max-width:260px;font-size:12px}";
|
|
8747
8790
|
const tagId = "dsh-coding-sidebar/sidebar.module.css";
|
|
8748
8791
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
8749
8792
|
const tag = document.createElement("style");
|
|
@@ -8753,209 +8796,246 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
8753
8796
|
document.head.appendChild(tag);
|
|
8754
8797
|
}
|
|
8755
8798
|
var sidebar_module_css_default = {
|
|
8756
|
-
"
|
|
8757
|
-
"
|
|
8758
|
-
"
|
|
8759
|
-
"openWithPin": "S5HVoW_openWithPin",
|
|
8760
|
-
"terminalRepairCommand": "S5HVoW_terminalRepairCommand",
|
|
8761
|
-
"editorCm": "S5HVoW_editorCm",
|
|
8762
|
-
"gitPlaceholder": "S5HVoW_gitPlaceholder",
|
|
8763
|
-
"gitCommitInput": "S5HVoW_gitCommitInput",
|
|
8764
|
-
"gitCommit": "S5HVoW_gitCommit",
|
|
8765
|
-
"editorBody": "S5HVoW_editorBody",
|
|
8766
|
-
"browserBlocked": "S5HVoW_browserBlocked",
|
|
8767
|
-
"tabBarPlus": "S5HVoW_tabBarPlus",
|
|
8768
|
-
"gitDiffTabTitle": "S5HVoW_gitDiffTabTitle",
|
|
8769
|
-
"editorTreeResize": "S5HVoW_editorTreeResize",
|
|
8770
|
-
"producedLabel": "S5HVoW_producedLabel",
|
|
8799
|
+
"explorer": "S5HVoW_explorer",
|
|
8800
|
+
"gitFoldRow": "S5HVoW_gitFoldRow",
|
|
8801
|
+
"producedMore": "S5HVoW_producedMore",
|
|
8771
8802
|
"sandboxStatus": "S5HVoW_sandboxStatus",
|
|
8772
|
-
"
|
|
8773
|
-
"
|
|
8774
|
-
"
|
|
8775
|
-
"
|
|
8776
|
-
"
|
|
8777
|
-
"
|
|
8778
|
-
"
|
|
8803
|
+
"gitDiffHunkHeader": "S5HVoW_gitDiffHunkHeader",
|
|
8804
|
+
"explorerRow": "S5HVoW_explorerRow",
|
|
8805
|
+
"gitDiffFileChevron": "S5HVoW_gitDiffFileChevron",
|
|
8806
|
+
"producedLabel": "S5HVoW_producedLabel",
|
|
8807
|
+
"openWithPin": "S5HVoW_openWithPin",
|
|
8808
|
+
"terminalBannerUrl": "S5HVoW_terminalBannerUrl",
|
|
8809
|
+
"uploadDropZone": "S5HVoW_uploadDropZone",
|
|
8810
|
+
"gitRow": "S5HVoW_gitRow",
|
|
8811
|
+
"terminalDepsNote": "S5HVoW_terminalDepsNote",
|
|
8812
|
+
"browserLiveStatus": "S5HVoW_browserLiveStatus",
|
|
8813
|
+
"sandboxStatusOff": "S5HVoW_sandboxStatusOff",
|
|
8814
|
+
"tabBar": "S5HVoW_tabBar",
|
|
8815
|
+
"editorTreeDock": "S5HVoW_editorTreeDock",
|
|
8816
|
+
"floatTitle": "S5HVoW_floatTitle",
|
|
8817
|
+
"uploadOverlayCancel": "S5HVoW_uploadOverlayCancel",
|
|
8818
|
+
"boundaryError": "S5HVoW_boundaryError",
|
|
8819
|
+
"panelResize": "S5HVoW_panelResize",
|
|
8820
|
+
"terminalWaitNeedle": "S5HVoW_terminalWaitNeedle",
|
|
8821
|
+
"dsh-toc-flash": "S5HVoW_dsh-toc-flash",
|
|
8779
8822
|
"gitHeader": "S5HVoW_gitHeader",
|
|
8780
|
-
"
|
|
8781
|
-
"
|
|
8823
|
+
"toggleCluster": "S5HVoW_toggleCluster",
|
|
8824
|
+
"gitDiffCtx": "S5HVoW_gitDiffCtx",
|
|
8825
|
+
"editorBinary": "S5HVoW_editorBinary",
|
|
8826
|
+
"browserLiveCanvas": "S5HVoW_browserLiveCanvas",
|
|
8827
|
+
"gitFoldRowFailed": "S5HVoW_gitFoldRowFailed",
|
|
8828
|
+
"browserBar": "S5HVoW_browserBar",
|
|
8829
|
+
"gitSectionHeader": "S5HVoW_gitSectionHeader",
|
|
8830
|
+
"dividerRow": "S5HVoW_dividerRow",
|
|
8831
|
+
"gitConfirmDesc": "S5HVoW_gitConfirmDesc",
|
|
8832
|
+
"terminalWaitBanner": "S5HVoW_terminalWaitBanner",
|
|
8833
|
+
"gitRowMain": "S5HVoW_gitRowMain",
|
|
8782
8834
|
"editorBinaryNotice": "S5HVoW_editorBinaryNotice",
|
|
8783
|
-
"
|
|
8784
|
-
"
|
|
8785
|
-
"
|
|
8786
|
-
"
|
|
8787
|
-
"
|
|
8835
|
+
"divider": "S5HVoW_divider",
|
|
8836
|
+
"panelBody": "S5HVoW_panelBody",
|
|
8837
|
+
"explorerRoot": "S5HVoW_explorerRoot",
|
|
8838
|
+
"browserBlockedTitle": "S5HVoW_browserBlockedTitle",
|
|
8839
|
+
"editorSearchResult": "S5HVoW_editorSearchResult",
|
|
8840
|
+
"splitCol": "S5HVoW_splitCol",
|
|
8841
|
+
"browserBlockedActions": "S5HVoW_browserBlockedActions",
|
|
8842
|
+
"editorHeader": "S5HVoW_editorHeader",
|
|
8843
|
+
"git": "S5HVoW_git",
|
|
8844
|
+
"gitDiffTabHeader": "S5HVoW_gitDiffTabHeader",
|
|
8845
|
+
"producedChip": "S5HVoW_producedChip",
|
|
8846
|
+
"floatDropHint": "S5HVoW_floatDropHint",
|
|
8847
|
+
"explorerHeader": "S5HVoW_explorerHeader",
|
|
8848
|
+
"editorMain": "S5HVoW_editorMain",
|
|
8849
|
+
"editorSearchInput": "S5HVoW_editorSearchInput",
|
|
8850
|
+
"editorCm": "S5HVoW_editorCm",
|
|
8788
8851
|
"gitDiffFileTag": "S5HVoW_gitDiffFileTag",
|
|
8789
|
-
"
|
|
8790
|
-
"
|
|
8791
|
-
"
|
|
8792
|
-
"tabBarDrop": "S5HVoW_tabBarDrop",
|
|
8793
|
-
"editorTreeSearch": "S5HVoW_editorTreeSearch",
|
|
8794
|
-
"producedRow": "S5HVoW_producedRow",
|
|
8795
|
-
"gitDiffAdd": "S5HVoW_gitDiffAdd",
|
|
8796
|
-
"toggleCluster": "S5HVoW_toggleCluster",
|
|
8797
|
-
"dropUp": "S5HVoW_dropUp",
|
|
8852
|
+
"uploadDropChatCard": "S5HVoW_uploadDropChatCard",
|
|
8853
|
+
"toggleButton": "S5HVoW_toggleButton",
|
|
8854
|
+
"paneCard": "S5HVoW_paneCard",
|
|
8798
8855
|
"explorerCopied": "S5HVoW_explorerCopied",
|
|
8799
|
-
"
|
|
8800
|
-
"
|
|
8801
|
-
"
|
|
8802
|
-
"floatDropHintLabel": "S5HVoW_floatDropHintLabel",
|
|
8803
|
-
"explorerRowRevealed": "S5HVoW_explorerRowRevealed",
|
|
8804
|
-
"sandboxStatusOn": "S5HVoW_sandboxStatusOn",
|
|
8805
|
-
"sandboxDot": "S5HVoW_sandboxDot",
|
|
8806
|
-
"uploadOverlayCancel": "S5HVoW_uploadOverlayCancel",
|
|
8856
|
+
"gitDiffHunkSection": "S5HVoW_gitDiffHunkSection",
|
|
8857
|
+
"uploadDropHero": "S5HVoW_uploadDropHero",
|
|
8858
|
+
"gitError": "S5HVoW_gitError",
|
|
8807
8859
|
"uploadDropChatHint": "S5HVoW_uploadDropChatHint",
|
|
8808
|
-
"
|
|
8809
|
-
"
|
|
8810
|
-
"
|
|
8811
|
-
"
|
|
8812
|
-
"
|
|
8813
|
-
"
|
|
8814
|
-
"
|
|
8860
|
+
"terminalDepsCommandRow": "S5HVoW_terminalDepsCommandRow",
|
|
8861
|
+
"editorTreePanelFull": "S5HVoW_editorTreePanelFull",
|
|
8862
|
+
"sandboxStatusOn": "S5HVoW_sandboxStatusOn",
|
|
8863
|
+
"floatHeader": "S5HVoW_floatHeader",
|
|
8864
|
+
"tabActive": "S5HVoW_tabActive",
|
|
8865
|
+
"editorTitle": "S5HVoW_editorTitle",
|
|
8866
|
+
"editorTreeResize": "S5HVoW_editorTreeResize",
|
|
8815
8867
|
"terminalBanner": "S5HVoW_terminalBanner",
|
|
8816
|
-
"
|
|
8817
|
-
"
|
|
8818
|
-
"
|
|
8819
|
-
"editorHeader": "S5HVoW_editorHeader",
|
|
8820
|
-
"gitLogMeta": "S5HVoW_gitLogMeta",
|
|
8821
|
-
"terminalDepsNote": "S5HVoW_terminalDepsNote",
|
|
8822
|
-
"gitDiffCode": "S5HVoW_gitDiffCode",
|
|
8823
|
-
"gitLogMore": "S5HVoW_gitLogMore",
|
|
8824
|
-
"browserLiveCanvas": "S5HVoW_browserLiveCanvas",
|
|
8825
|
-
"editorError": "S5HVoW_editorError",
|
|
8826
|
-
"gitLogSubject": "S5HVoW_gitLogSubject",
|
|
8827
|
-
"paneTab": "S5HVoW_paneTab",
|
|
8828
|
-
"editorTreeDock": "S5HVoW_editorTreeDock",
|
|
8829
|
-
"editorTreePanel": "S5HVoW_editorTreePanel",
|
|
8830
|
-
"browserMessage": "S5HVoW_browserMessage",
|
|
8831
|
-
"explorerRow": "S5HVoW_explorerRow",
|
|
8832
|
-
"gitDiffNum": "S5HVoW_gitDiffNum",
|
|
8833
|
-
"tabBoundaryError": "S5HVoW_tabBoundaryError",
|
|
8834
|
-
"tab": "S5HVoW_tab",
|
|
8835
|
-
"gitDiffFilePath": "S5HVoW_gitDiffFilePath",
|
|
8836
|
-
"uploadOverlayTitle": "S5HVoW_uploadOverlayTitle",
|
|
8837
|
-
"gitLogHash": "S5HVoW_gitLogHash",
|
|
8838
|
-
"editorBinary": "S5HVoW_editorBinary",
|
|
8868
|
+
"explorerRenameInput": "S5HVoW_explorerRenameInput",
|
|
8869
|
+
"terminalDepsBanner": "S5HVoW_terminalDepsBanner",
|
|
8870
|
+
"floatWindowDragging": "S5HVoW_floatWindowDragging",
|
|
8839
8871
|
"terminalDepsTitle": "S5HVoW_terminalDepsTitle",
|
|
8872
|
+
"explorerDir": "S5HVoW_explorerDir",
|
|
8873
|
+
"gitBranchSelect": "S5HVoW_gitBranchSelect",
|
|
8874
|
+
"gitDiffTab": "S5HVoW_gitDiffTab",
|
|
8840
8875
|
"explorerBody": "S5HVoW_explorerBody",
|
|
8841
|
-
"
|
|
8842
|
-
"
|
|
8843
|
-
"
|
|
8844
|
-
"
|
|
8845
|
-
"
|
|
8876
|
+
"floatResize": "S5HVoW_floatResize",
|
|
8877
|
+
"workbench": "S5HVoW_workbench",
|
|
8878
|
+
"sandboxAction": "S5HVoW_sandboxAction",
|
|
8879
|
+
"paneTab": "S5HVoW_paneTab",
|
|
8880
|
+
"uploadOverlayProgressFill": "S5HVoW_uploadOverlayProgressFill",
|
|
8881
|
+
"dirtyDot": "S5HVoW_dirtyDot",
|
|
8882
|
+
"dropRight": "S5HVoW_dropRight",
|
|
8883
|
+
"explorerBroken": "S5HVoW_explorerBroken",
|
|
8884
|
+
"gitLogRow": "S5HVoW_gitLogRow",
|
|
8885
|
+
"gitLogHash": "S5HVoW_gitLogHash",
|
|
8886
|
+
"dividerCol": "S5HVoW_dividerCol",
|
|
8887
|
+
"terminalDepsActions": "S5HVoW_terminalDepsActions",
|
|
8888
|
+
"tabBoundaryError": "S5HVoW_tabBoundaryError",
|
|
8889
|
+
"dropUp": "S5HVoW_dropUp",
|
|
8890
|
+
"browserLiveTarget": "S5HVoW_browserLiveTarget",
|
|
8846
8891
|
"browserInput": "S5HVoW_browserInput",
|
|
8892
|
+
"explorerRowDropTarget": "S5HVoW_explorerRowDropTarget",
|
|
8893
|
+
"sandboxStatusText": "S5HVoW_sandboxStatusText",
|
|
8894
|
+
"editorTreePanel": "S5HVoW_editorTreePanel",
|
|
8895
|
+
"tabTitle": "S5HVoW_tabTitle",
|
|
8896
|
+
"gitWorktreeRow": "S5HVoW_gitWorktreeRow",
|
|
8847
8897
|
"gitDiffExpand": "S5HVoW_gitDiffExpand",
|
|
8848
|
-
"tabList": "S5HVoW_tabList",
|
|
8849
|
-
"gitDiff": "S5HVoW_gitDiff",
|
|
8850
|
-
"floatWindowDragging": "S5HVoW_floatWindowDragging",
|
|
8851
|
-
"explorerError": "S5HVoW_explorerError",
|
|
8852
|
-
"gitError": "S5HVoW_gitError",
|
|
8853
|
-
"gitDiffFileOld": "S5HVoW_gitDiffFileOld",
|
|
8854
|
-
"panelResizeActive": "S5HVoW_panelResizeActive",
|
|
8855
|
-
"uploadDropZonePill": "S5HVoW_uploadDropZonePill",
|
|
8856
|
-
"editorPlaceholder": "S5HVoW_editorPlaceholder",
|
|
8857
|
-
"paneCard": "S5HVoW_paneCard",
|
|
8858
8898
|
"split": "S5HVoW_split",
|
|
8859
|
-
"
|
|
8860
|
-
"
|
|
8899
|
+
"terminalRetry": "S5HVoW_terminalRetry",
|
|
8900
|
+
"producedRow": "S5HVoW_producedRow",
|
|
8901
|
+
"dsh-row-in": "S5HVoW_dsh-row-in",
|
|
8902
|
+
"panel": "S5HVoW_panel",
|
|
8903
|
+
"panelResizeActive": "S5HVoW_panelResizeActive",
|
|
8904
|
+
"dropDown": "S5HVoW_dropDown",
|
|
8905
|
+
"terminal": "S5HVoW_terminal",
|
|
8906
|
+
"gitWorktreeLabel": "S5HVoW_gitWorktreeLabel",
|
|
8861
8907
|
"gitDiffLine": "S5HVoW_gitDiffLine",
|
|
8862
|
-
"
|
|
8863
|
-
"
|
|
8864
|
-
"
|
|
8865
|
-
"
|
|
8866
|
-
"
|
|
8867
|
-
"
|
|
8908
|
+
"gitPlaceholder": "S5HVoW_gitPlaceholder",
|
|
8909
|
+
"splitRow": "S5HVoW_splitRow",
|
|
8910
|
+
"gitCommit": "S5HVoW_gitCommit",
|
|
8911
|
+
"paneDrop": "S5HVoW_paneDrop",
|
|
8912
|
+
"paneContent": "S5HVoW_paneContent",
|
|
8913
|
+
"openWithPinActive": "S5HVoW_openWithPinActive",
|
|
8914
|
+
"dropLeft": "S5HVoW_dropLeft",
|
|
8915
|
+
"terminalRepairCommand": "S5HVoW_terminalRepairCommand",
|
|
8916
|
+
"gitDiffFilePath": "S5HVoW_gitDiffFilePath",
|
|
8917
|
+
"uploadOverlay": "S5HVoW_uploadOverlay",
|
|
8918
|
+
"editorSearchHint": "S5HVoW_editorSearchHint",
|
|
8919
|
+
"uploadOverlayTitle": "S5HVoW_uploadOverlayTitle",
|
|
8920
|
+
"gitDiffCode": "S5HVoW_gitDiffCode",
|
|
8921
|
+
"editorTreeSearch": "S5HVoW_editorTreeSearch",
|
|
8868
8922
|
"splitChild": "S5HVoW_splitChild",
|
|
8869
|
-
"
|
|
8870
|
-
"
|
|
8871
|
-
"
|
|
8872
|
-
"
|
|
8873
|
-
"
|
|
8874
|
-
"
|
|
8875
|
-
"
|
|
8876
|
-
"
|
|
8877
|
-
"dropCenter": "S5HVoW_dropCenter",
|
|
8878
|
-
"paneTabHidden": "S5HVoW_paneTabHidden",
|
|
8879
|
-
"editorSearchResult": "S5HVoW_editorSearchResult",
|
|
8880
|
-
"tabActive": "S5HVoW_tabActive",
|
|
8881
|
-
"explorerHidden": "S5HVoW_explorerHidden",
|
|
8882
|
-
"editorTreePanelFull": "S5HVoW_editorTreePanelFull",
|
|
8883
|
-
"browserStart": "S5HVoW_browserStart",
|
|
8884
|
-
"workbench": "S5HVoW_workbench",
|
|
8923
|
+
"tabBadge": "S5HVoW_tabBadge",
|
|
8924
|
+
"uploadOverlayCard": "S5HVoW_uploadOverlayCard",
|
|
8925
|
+
"orphanedType": "S5HVoW_orphanedType",
|
|
8926
|
+
"gitDiffMetaText": "S5HVoW_gitDiffMetaText",
|
|
8927
|
+
"explorerSymlink": "S5HVoW_explorerSymlink",
|
|
8928
|
+
"gitLogLine1": "S5HVoW_gitLogLine1",
|
|
8929
|
+
"tabClose": "S5HVoW_tabClose",
|
|
8930
|
+
"floatWindow": "S5HVoW_floatWindow",
|
|
8885
8931
|
"editorStatus": "S5HVoW_editorStatus",
|
|
8932
|
+
"gitLogRef": "S5HVoW_gitLogRef",
|
|
8933
|
+
"gitLogMeta": "S5HVoW_gitLogMeta",
|
|
8934
|
+
"terminalDepsHint": "S5HVoW_terminalDepsHint",
|
|
8935
|
+
"paneEmptyCards": "S5HVoW_paneEmptyCards",
|
|
8936
|
+
"floatDropHintLabel": "S5HVoW_floatDropHintLabel",
|
|
8937
|
+
"uploadDropZoneText": "S5HVoW_uploadDropZoneText",
|
|
8938
|
+
"openWithChevron": "S5HVoW_openWithChevron",
|
|
8939
|
+
"sandboxDot": "S5HVoW_sandboxDot",
|
|
8940
|
+
"editorPlaceholder": "S5HVoW_editorPlaceholder",
|
|
8941
|
+
"browserBlocked": "S5HVoW_browserBlocked",
|
|
8942
|
+
"pinnedTab": "S5HVoW_pinnedTab",
|
|
8886
8943
|
"terminalWrap": "S5HVoW_terminalWrap",
|
|
8887
|
-
"
|
|
8888
|
-
"
|
|
8889
|
-
"
|
|
8890
|
-
"
|
|
8891
|
-
"
|
|
8892
|
-
"
|
|
8893
|
-
"
|
|
8894
|
-
"
|
|
8895
|
-
"
|
|
8944
|
+
"openWithName": "S5HVoW_openWithName",
|
|
8945
|
+
"browser": "S5HVoW_browser",
|
|
8946
|
+
"editorBody": "S5HVoW_editorBody",
|
|
8947
|
+
"gitName": "S5HVoW_gitName",
|
|
8948
|
+
"gitDiffFileOld": "S5HVoW_gitDiffFileOld",
|
|
8949
|
+
"editorTreeToggleActive": "S5HVoW_editorTreeToggleActive",
|
|
8950
|
+
"editorError": "S5HVoW_editorError",
|
|
8951
|
+
"browserStart": "S5HVoW_browserStart",
|
|
8952
|
+
"openWithLabel": "S5HVoW_openWithLabel",
|
|
8896
8953
|
"browserLive": "S5HVoW_browserLive",
|
|
8897
|
-
"
|
|
8898
|
-
"
|
|
8899
|
-
"
|
|
8900
|
-
"
|
|
8901
|
-
"gitDiffFileChevron": "S5HVoW_gitDiffFileChevron",
|
|
8954
|
+
"gitDiffFile": "S5HVoW_gitDiffFile",
|
|
8955
|
+
"explorerName": "S5HVoW_explorerName",
|
|
8956
|
+
"explorerError": "S5HVoW_explorerError",
|
|
8957
|
+
"gitLink": "S5HVoW_gitLink",
|
|
8902
8958
|
"gitDiffDel": "S5HVoW_gitDiffDel",
|
|
8903
|
-
"
|
|
8904
|
-
"uploadDropChatCard": "S5HVoW_uploadDropChatCard",
|
|
8905
|
-
"gitBranchSelect": "S5HVoW_gitBranchSelect",
|
|
8906
|
-
"editorMain": "S5HVoW_editorMain",
|
|
8907
|
-
"gitRowMain": "S5HVoW_gitRowMain",
|
|
8908
|
-
"gitLogLine1": "S5HVoW_gitLogLine1",
|
|
8909
|
-
"browserLiveTarget": "S5HVoW_browserLiveTarget",
|
|
8910
|
-
"browserBlockedDesc": "S5HVoW_browserBlockedDesc",
|
|
8911
|
-
"sandboxAction": "S5HVoW_sandboxAction",
|
|
8912
|
-
"producedChip": "S5HVoW_producedChip",
|
|
8913
|
-
"editorSearchHint": "S5HVoW_editorSearchHint",
|
|
8914
|
-
"producedMore": "S5HVoW_producedMore",
|
|
8915
|
-
"dividerActive": "S5HVoW_dividerActive",
|
|
8916
|
-
"openWithChevron": "S5HVoW_openWithChevron",
|
|
8917
|
-
"paneContent": "S5HVoW_paneContent",
|
|
8918
|
-
"paneDrop": "S5HVoW_paneDrop",
|
|
8919
|
-
"editorPathInput": "S5HVoW_editorPathInput",
|
|
8920
|
-
"floatClose": "S5HVoW_floatClose",
|
|
8959
|
+
"gitDiffMeta": "S5HVoW_gitDiffMeta",
|
|
8921
8960
|
"gitCommitButton": "S5HVoW_gitCommitButton",
|
|
8922
|
-
"
|
|
8923
|
-
"
|
|
8924
|
-
"
|
|
8925
|
-
"
|
|
8961
|
+
"dropOverlay": "S5HVoW_dropOverlay",
|
|
8962
|
+
"gitRowSelected": "S5HVoW_gitRowSelected",
|
|
8963
|
+
"floatClose": "S5HVoW_floatClose",
|
|
8964
|
+
"gitSection": "S5HVoW_gitSection",
|
|
8965
|
+
"iconButton": "S5HVoW_iconButton",
|
|
8966
|
+
"explorerEmpty": "S5HVoW_explorerEmpty",
|
|
8967
|
+
"explorerRowRevealed": "S5HVoW_explorerRowRevealed",
|
|
8968
|
+
"gitDiff": "S5HVoW_gitDiff",
|
|
8969
|
+
"tabBarDrop": "S5HVoW_tabBarDrop",
|
|
8970
|
+
"gitDiffTabTitle": "S5HVoW_gitDiffTabTitle",
|
|
8971
|
+
"dividerActive": "S5HVoW_dividerActive",
|
|
8972
|
+
"gitDiffAdd": "S5HVoW_gitDiffAdd",
|
|
8973
|
+
"gitLogMore": "S5HVoW_gitLogMore",
|
|
8974
|
+
"gitDiffHunk": "S5HVoW_gitDiffHunk",
|
|
8975
|
+
"tab": "S5HVoW_tab",
|
|
8926
8976
|
"uploadOverlayProgress": "S5HVoW_uploadOverlayProgress",
|
|
8927
|
-
"
|
|
8928
|
-
"gitName": "S5HVoW_gitName",
|
|
8929
|
-
"browserLiveStatus": "S5HVoW_browserLiveStatus",
|
|
8930
|
-
"pinnedTab": "S5HVoW_pinnedTab",
|
|
8977
|
+
"uploadOverlayStatus": "S5HVoW_uploadOverlayStatus",
|
|
8931
8978
|
"gitEmpty": "S5HVoW_gitEmpty",
|
|
8932
|
-
"
|
|
8933
|
-
"
|
|
8934
|
-
"
|
|
8935
|
-
"
|
|
8936
|
-
"
|
|
8937
|
-
"
|
|
8938
|
-
"
|
|
8939
|
-
"
|
|
8940
|
-
"
|
|
8941
|
-
"gitDiffMetaText": "S5HVoW_gitDiffMetaText",
|
|
8942
|
-
"editorStatusError": "S5HVoW_editorStatusError",
|
|
8943
|
-
"openWithPinActive": "S5HVoW_openWithPinActive",
|
|
8944
|
-
"browserBlockedButton": "S5HVoW_browserBlockedButton",
|
|
8945
|
-
"explorerRowDropTarget": "S5HVoW_explorerRowDropTarget",
|
|
8946
|
-
"sandboxStatusText": "S5HVoW_sandboxStatusText",
|
|
8947
|
-
"gitDiffCtx": "S5HVoW_gitDiffCtx",
|
|
8948
|
-
"terminalDepsCommandRow": "S5HVoW_terminalDepsCommandRow",
|
|
8979
|
+
"gitLogLine2": "S5HVoW_gitLogLine2",
|
|
8980
|
+
"gitDiffNum": "S5HVoW_gitDiffNum",
|
|
8981
|
+
"dropCenter": "S5HVoW_dropCenter",
|
|
8982
|
+
"explorerRef": "S5HVoW_explorerRef",
|
|
8983
|
+
"uploadDropZonePill": "S5HVoW_uploadDropZonePill",
|
|
8984
|
+
"floatContent": "S5HVoW_floatContent",
|
|
8985
|
+
"editorBanner": "S5HVoW_editorBanner",
|
|
8986
|
+
"browserMessage": "S5HVoW_browserMessage",
|
|
8987
|
+
"tabBarPlus": "S5HVoW_tabBarPlus",
|
|
8949
8988
|
"editor": "S5HVoW_editor",
|
|
8950
|
-
"
|
|
8989
|
+
"selectionPopup": "S5HVoW_selectionPopup",
|
|
8990
|
+
"gitBadge": "S5HVoW_gitBadge",
|
|
8991
|
+
"pane": "S5HVoW_pane",
|
|
8992
|
+
"gitDiffFileChevronExpanded": "S5HVoW_gitDiffFileChevronExpanded",
|
|
8993
|
+
"tabList": "S5HVoW_tabList",
|
|
8994
|
+
"editorPathInput": "S5HVoW_editorPathInput",
|
|
8995
|
+
"explorerHidden": "S5HVoW_explorerHidden",
|
|
8951
8996
|
"browserFrame": "S5HVoW_browserFrame",
|
|
8952
|
-
"
|
|
8953
|
-
"
|
|
8954
|
-
"
|
|
8955
|
-
"
|
|
8956
|
-
"
|
|
8997
|
+
"paneTabHidden": "S5HVoW_paneTabHidden",
|
|
8998
|
+
"panelHidden": "S5HVoW_panelHidden",
|
|
8999
|
+
"editorStatusError": "S5HVoW_editorStatusError",
|
|
9000
|
+
"browserBlockedDesc": "S5HVoW_browserBlockedDesc",
|
|
9001
|
+
"editorDownloadLink": "S5HVoW_editorDownloadLink",
|
|
9002
|
+
"browserBlockedButton": "S5HVoW_browserBlockedButton",
|
|
9003
|
+
"gitLogSubject": "S5HVoW_gitLogSubject",
|
|
9004
|
+
"gitCommitInput": "S5HVoW_gitCommitInput"
|
|
8957
9005
|
};
|
|
8958
9006
|
//#endregion
|
|
9007
|
+
//#region src/client/TerminalWaitBanner.tsx
|
|
9008
|
+
/**
|
|
9009
|
+
* The "Agent 正在等待 {needle}" wait banner: rendered at the top of an
|
|
9010
|
+
* agent-owned terminal's view while the model blocks in terminal_wait_for.
|
|
9011
|
+
* The skip button asks the host to abort every active wait on the terminal
|
|
9012
|
+
* (`agent-pty.skip-wait`); the banner disappears when the host's next
|
|
9013
|
+
* agent-terminals push drops the waiting field — no optimistic UI. Kept in
|
|
9014
|
+
* its own module (no xterm imports) so jsdom tests can render it directly.
|
|
9015
|
+
*/
|
|
9016
|
+
/** Cap the needle shown inline; the full text rides the title tooltip. */
|
|
9017
|
+
const NEEDLE_DISPLAY_CAP = 80;
|
|
9018
|
+
/** Truncate one needle for inline display (title attr carries the full text). */
|
|
9019
|
+
function truncateNeedle(needle) {
|
|
9020
|
+
return needle.length > NEEDLE_DISPLAY_CAP ? `${needle.slice(0, 79)}…` : needle;
|
|
9021
|
+
}
|
|
9022
|
+
function TerminalWaitBanner(props) {
|
|
9023
|
+
const { needle, onSkip } = props;
|
|
9024
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9025
|
+
className: sidebar_module_css_default.terminalWaitBanner,
|
|
9026
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9027
|
+
className: sidebar_module_css_default.terminalWaitNeedle,
|
|
9028
|
+
title: needle,
|
|
9029
|
+
children: t("terminalWaitBanner", { needle: truncateNeedle(needle) })
|
|
9030
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9031
|
+
type: "button",
|
|
9032
|
+
className: sidebar_module_css_default.terminalRetry,
|
|
9033
|
+
onClick: onSkip,
|
|
9034
|
+
children: t("terminalSkipWait")
|
|
9035
|
+
})]
|
|
9036
|
+
});
|
|
9037
|
+
}
|
|
9038
|
+
//#endregion
|
|
8959
9039
|
//#region src/client/TerminalView.tsx
|
|
8960
9040
|
/**
|
|
8961
9041
|
* The interactive terminal: xterm.js over a WebSocket to the host pty.
|
|
@@ -9070,6 +9150,24 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
9070
9150
|
const [fatal, setFatal] = (0, react.useState)(null);
|
|
9071
9151
|
const [depsFatal, setDepsFatal] = (0, react.useState)(null);
|
|
9072
9152
|
const [lastUrl, setLastUrl] = (0, react.useState)(null);
|
|
9153
|
+
const agentUuid = isAgentTabId(tabId) ? agentUuidOf(tabId) : null;
|
|
9154
|
+
const [waiting, setWaiting] = (0, react.useState)(void 0);
|
|
9155
|
+
(0, react.useEffect)(() => {
|
|
9156
|
+
if (agentUuid === null) return;
|
|
9157
|
+
const read = () => {
|
|
9158
|
+
const next = store.getSnapshot().state?.agentWaits?.[agentUuid];
|
|
9159
|
+
setWaiting((prev) => {
|
|
9160
|
+
const nextValue = next === void 0 ? void 0 : {
|
|
9161
|
+
needle: next.needle,
|
|
9162
|
+
since: next.since
|
|
9163
|
+
};
|
|
9164
|
+
if (prev?.needle === nextValue?.needle && prev?.since === nextValue?.since) return prev;
|
|
9165
|
+
return nextValue;
|
|
9166
|
+
});
|
|
9167
|
+
};
|
|
9168
|
+
read();
|
|
9169
|
+
return store.subscribe(read);
|
|
9170
|
+
}, [agentUuid, store]);
|
|
9073
9171
|
const connectRef = (0, react.useRef)(null);
|
|
9074
9172
|
(0, react.useEffect)(() => {
|
|
9075
9173
|
const host = hostRef.current;
|
|
@@ -9244,6 +9342,12 @@ globalThis.__dshChunks__["terminal"] = (require) => {
|
|
|
9244
9342
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9245
9343
|
className: sidebar_module_css_default.terminalWrap,
|
|
9246
9344
|
children: [
|
|
9345
|
+
agentUuid !== null && waiting !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TerminalWaitBanner, {
|
|
9346
|
+
needle: waiting.needle,
|
|
9347
|
+
onSkip: () => {
|
|
9348
|
+
api.agentSkipWait(agentUuid).catch(() => {});
|
|
9349
|
+
}
|
|
9350
|
+
}),
|
|
9247
9351
|
depsFatal !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TerminalDepsBanner, {
|
|
9248
9352
|
deps: depsFatal,
|
|
9249
9353
|
onRetry: () => {
|