dsh-desktop-enhance 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +261 -100
- package/package.json +17 -12
package/lib/client.js
CHANGED
|
@@ -45,6 +45,16 @@ window.__ModuleLoader__.load({
|
|
|
45
45
|
"sessionInfo.override.reset": "重置为全局默认",
|
|
46
46
|
"settings.title": "UI 增强",
|
|
47
47
|
"settings.description": "逐项开关本插件添加的界面增强。关闭后恢复 DSH 原生外观。",
|
|
48
|
+
"settings.enabledSummary": "已启用 ",
|
|
49
|
+
"settings.group.visual": "对话浏览与视觉",
|
|
50
|
+
"settings.group.visual.hint": "查找 · 轮次 · 压缩 · 耗时",
|
|
51
|
+
"settings.group.suggest": "智能追问建议",
|
|
52
|
+
"settings.group.suggest.hint": "每轮结束生成下一轮候选提示词",
|
|
53
|
+
"settings.group.session": "会话信息与能力管控",
|
|
54
|
+
"settings.group.session.hint": "右上角悬浮看板与工具 / Skill 全局默认策略",
|
|
55
|
+
"settings.badge.findBar": "⌘F",
|
|
56
|
+
"settings.badge.turnPrefix": "#N",
|
|
57
|
+
"settings.badge.stepDuration": "14:32 · 23s",
|
|
48
58
|
"settings.findBar": "页内查找",
|
|
49
59
|
"settings.findBar.hint": "按 Cmd+F 唤出查找条,在整个对话里搜索并高亮",
|
|
50
60
|
"settings.turnPrefix": "轮次编号",
|
|
@@ -107,6 +117,10 @@ window.__ModuleLoader__.load({
|
|
|
107
117
|
"settings.suggestPrompt.missingPlaceholder": "模板里必须保留 {{MAX_SUGGESTIONS}} 与 {{LABEL_MAX}} 两个占位符。",
|
|
108
118
|
"settings.suggestPrompt.missingFormat": "模板里必须保留输出格式那段(一个 JSON 数组,每条带 \"label\" 与 \"prompt\")。",
|
|
109
119
|
"settings.suggestPrompt.placeholders": "可用占位符:",
|
|
120
|
+
"settings.suggestPrompt.edit": "编辑模板 ▾",
|
|
121
|
+
"settings.suggestPrompt.collapse": "收起模板 ▴",
|
|
122
|
+
"settings.suggestPrompt.defaultBadge": "默认模板",
|
|
123
|
+
"settings.suggestPrompt.customBadge": "已自定义",
|
|
110
124
|
"settings.readOnly": "当前宿主没有可写的设置服务,开关暂不可用;插件按默认(全部开启)运行。",
|
|
111
125
|
"settings.staleHost": "插件已更新,但应用还跑着旧的宿主半侧,这些设置改不动:请重启应用(刷新页面不够)。",
|
|
112
126
|
"settings.writeFailed": "设置没写进去,开关已退回原状态;请重试。"
|
|
@@ -148,6 +162,16 @@ window.__ModuleLoader__.load({
|
|
|
148
162
|
"sessionInfo.override.reset": "Reset to global default",
|
|
149
163
|
"settings.title": "UI enhancements",
|
|
150
164
|
"settings.description": "Switch each interface enhancement this plugin adds. Turning one off restores the native DSH look.",
|
|
165
|
+
"settings.enabledSummary": "Enabled ",
|
|
166
|
+
"settings.group.visual": "Conversation & visuals",
|
|
167
|
+
"settings.group.visual.hint": "Find · turns · compaction · timing",
|
|
168
|
+
"settings.group.suggest": "Next-round suggestions",
|
|
169
|
+
"settings.group.suggest.hint": "Suggests next-round prompts after each turn",
|
|
170
|
+
"settings.group.session": "Session inspector & capabilities",
|
|
171
|
+
"settings.group.session.hint": "Top-right session inspector and global tool/skill defaults",
|
|
172
|
+
"settings.badge.findBar": "⌘F",
|
|
173
|
+
"settings.badge.turnPrefix": "#N",
|
|
174
|
+
"settings.badge.stepDuration": "14:32 · 23s",
|
|
151
175
|
"settings.findBar": "Find in conversation",
|
|
152
176
|
"settings.findBar.hint": "Cmd+F opens a find bar that searches and highlights the whole conversation",
|
|
153
177
|
"settings.turnPrefix": "Turn numbers",
|
|
@@ -210,6 +234,10 @@ window.__ModuleLoader__.load({
|
|
|
210
234
|
"settings.suggestPrompt.missingPlaceholder": "The template must keep both the {{MAX_SUGGESTIONS}} and {{LABEL_MAX}} placeholders.",
|
|
211
235
|
"settings.suggestPrompt.missingFormat": "The template must keep the output-format clause (a JSON array whose entries carry \"label\" and \"prompt\").",
|
|
212
236
|
"settings.suggestPrompt.placeholders": "Available placeholders: ",
|
|
237
|
+
"settings.suggestPrompt.edit": "Edit template ▾",
|
|
238
|
+
"settings.suggestPrompt.collapse": "Hide template ▴",
|
|
239
|
+
"settings.suggestPrompt.defaultBadge": "Default",
|
|
240
|
+
"settings.suggestPrompt.customBadge": "Customized",
|
|
213
241
|
"settings.readOnly": "This host has no writable settings service, so the switches are unavailable; the plugin runs with its defaults (all on).",
|
|
214
242
|
"settings.staleHost": "The plugin updated, but the app is still running the old host half, so these settings cannot change: restart the app (refreshing the page is not enough).",
|
|
215
243
|
"settings.writeFailed": "The setting did not save; the switch went back. Try again."
|
|
@@ -490,6 +518,34 @@ window.__ModuleLoader__.load({
|
|
|
490
518
|
"toolsManager",
|
|
491
519
|
"skillsManager"
|
|
492
520
|
];
|
|
521
|
+
const SETTINGS_GROUPS = [
|
|
522
|
+
{
|
|
523
|
+
id: "visual",
|
|
524
|
+
fields: [
|
|
525
|
+
"findBar",
|
|
526
|
+
"turnPrefix",
|
|
527
|
+
"compactionRow",
|
|
528
|
+
"stepDuration"
|
|
529
|
+
]
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
id: "suggest",
|
|
533
|
+
fields: ["suggest"]
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
id: "session",
|
|
537
|
+
fields: [
|
|
538
|
+
"sessionInfo",
|
|
539
|
+
"toolsManager",
|
|
540
|
+
"skillsManager"
|
|
541
|
+
]
|
|
542
|
+
}
|
|
543
|
+
];
|
|
544
|
+
const FEATURE_BADGES = {
|
|
545
|
+
findBar: "settings.badge.findBar",
|
|
546
|
+
turnPrefix: "settings.badge.turnPrefix",
|
|
547
|
+
stepDuration: "settings.badge.stepDuration"
|
|
548
|
+
};
|
|
493
549
|
const ALL_FIELDS = [...FIELDS, ...TEXT_FIELDS];
|
|
494
550
|
function flagOn(value, field) {
|
|
495
551
|
if (value === null || typeof value !== "object") return true;
|
|
@@ -1958,13 +2014,40 @@ window.__ModuleLoader__.load({
|
|
|
1958
2014
|
send(0);
|
|
1959
2015
|
};
|
|
1960
2016
|
const drifted = ready && !readOnly ? undeclaredFields(value, ALL_FIELDS) : [];
|
|
1961
|
-
const
|
|
2017
|
+
const renderDefaultsSubpanel = (featureField, configField, key, Component) => flagOn(value, featureField) || readOnly ? h(Component, {
|
|
2018
|
+
key,
|
|
2019
|
+
t,
|
|
2020
|
+
disabledRaw: String(readField(value, configField)),
|
|
2021
|
+
disabled: readOnly || busy.includes(configField) || isUndeclared(configField),
|
|
2022
|
+
onSave: (nextCanonical) => write(configField, nextCanonical)
|
|
2023
|
+
}) : null;
|
|
2024
|
+
const subpanels = {
|
|
2025
|
+
suggest: flagOn(value, "suggest") || readOnly ? h(SuggestSettings, {
|
|
2026
|
+
key: "suggest",
|
|
2027
|
+
t,
|
|
2028
|
+
value,
|
|
2029
|
+
busy,
|
|
2030
|
+
readOnly,
|
|
2031
|
+
write,
|
|
2032
|
+
drifted
|
|
2033
|
+
}) : null,
|
|
2034
|
+
toolsManager: renderDefaultsSubpanel("toolsManager", "disabledTools", "default-tools", DefaultToolsManager),
|
|
2035
|
+
skillsManager: renderDefaultsSubpanel("skillsManager", "disabledSkills", "default-skills", DefaultSkillsManager)
|
|
2036
|
+
};
|
|
2037
|
+
const renderFeatureItem = (field) => {
|
|
1962
2038
|
const on = flagOn(value, field);
|
|
1963
2039
|
const dead = drifted.includes(field);
|
|
2040
|
+
const badgeKey = FEATURE_BADGES[field];
|
|
2041
|
+
const subpanel = subpanels[field] ?? null;
|
|
1964
2042
|
return h("div", {
|
|
1965
|
-
className: "de-item",
|
|
1966
|
-
key: field
|
|
1967
|
-
|
|
2043
|
+
className: "de-item-wrap",
|
|
2044
|
+
key: field,
|
|
2045
|
+
"data-desktop-enhance-item": field,
|
|
2046
|
+
"data-enabled": on ? "true" : "false"
|
|
2047
|
+
}, h("div", { className: "de-item" }, h("div", { className: "de-text" }, h("div", { className: "de-title-row" }, h("span", { className: "de-title" }, t("settings." + field)), badgeKey !== void 0 ? h("span", {
|
|
2048
|
+
className: "de-feature-badge",
|
|
2049
|
+
"data-desktop-enhance-badge": field
|
|
2050
|
+
}, t(badgeKey)) : null), h("div", { className: "de-desc" }, t("settings." + field + ".hint"))), h("button", {
|
|
1968
2051
|
type: "button",
|
|
1969
2052
|
className: "de-switch",
|
|
1970
2053
|
role: "switch",
|
|
@@ -1973,8 +2056,18 @@ window.__ModuleLoader__.load({
|
|
|
1973
2056
|
"data-desktop-enhance-field": field,
|
|
1974
2057
|
disabled: readOnly || dead || busy.includes(field),
|
|
1975
2058
|
onClick: () => write(field, !on)
|
|
1976
|
-
}))
|
|
1977
|
-
|
|
2059
|
+
})), subpanel !== null ? h("div", {
|
|
2060
|
+
key: `sub-${field}`,
|
|
2061
|
+
className: "de-subpanel"
|
|
2062
|
+
}, subpanel) : null);
|
|
2063
|
+
};
|
|
2064
|
+
const sectionCards = SETTINGS_GROUPS.map((group) => h("section", {
|
|
2065
|
+
className: "de-section-card",
|
|
2066
|
+
key: group.id,
|
|
2067
|
+
"data-desktop-enhance-group": group.id
|
|
2068
|
+
}, h("div", { className: "de-section-head" }, h("span", { className: "de-section-title" }, t("settings.group." + group.id)), h("span", { className: "de-section-hint" }, t("settings.group." + group.id + ".hint"))), h("div", { className: "de-section-body" }, ...group.fields.map(renderFeatureItem))));
|
|
2069
|
+
const enabledCount = FIELDS.filter((field) => flagOn(value, field)).length;
|
|
2070
|
+
const countText = `${String(enabledCount)}/${String(FIELDS.length)}`;
|
|
1978
2071
|
const note = failed.length > 0 ? h("div", {
|
|
1979
2072
|
className: "de-error",
|
|
1980
2073
|
role: "alert"
|
|
@@ -1982,30 +2075,11 @@ window.__ModuleLoader__.load({
|
|
|
1982
2075
|
className: "de-note",
|
|
1983
2076
|
role: "alert"
|
|
1984
2077
|
}, t("settings.staleHost") + "(" + drifted.map((field) => labelOf(t, field)).join("、") + ")") : null;
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
t,
|
|
1991
|
-
disabledRaw: String(readField(value, "disabledTools")),
|
|
1992
|
-
disabled: readOnly || busy.includes("disabledTools") || isUndeclared("disabledTools"),
|
|
1993
|
-
onSave: (nextCanonical) => write("disabledTools", nextCanonical)
|
|
1994
|
-
}) : null, showDefaultSkills ? h(DefaultSkillsManager, {
|
|
1995
|
-
key: "default-skills",
|
|
1996
|
-
t,
|
|
1997
|
-
disabledRaw: String(readField(value, "disabledSkills")),
|
|
1998
|
-
disabled: readOnly || busy.includes("disabledSkills") || isUndeclared("disabledSkills"),
|
|
1999
|
-
onSave: (nextCanonical) => write("disabledSkills", nextCanonical)
|
|
2000
|
-
}) : null, showSuggest ? h(SuggestSettings, {
|
|
2001
|
-
key: "suggest",
|
|
2002
|
-
t,
|
|
2003
|
-
value,
|
|
2004
|
-
busy,
|
|
2005
|
-
readOnly,
|
|
2006
|
-
write,
|
|
2007
|
-
drifted
|
|
2008
|
-
}) : null, note);
|
|
2078
|
+
return h("div", { "data-desktop-enhance-settings": "" }, h("div", { className: "de-head" }, h("div", { className: "de-head-main" }, h("div", { className: "de-head-title" }, t("settings.title")), h("div", { className: "de-head-desc" }, t("settings.description"))), h("span", {
|
|
2079
|
+
className: "de-head-pill",
|
|
2080
|
+
"data-desktop-enhance-enabled-count": countText,
|
|
2081
|
+
"data-all-off": enabledCount === 0 ? "true" : "false"
|
|
2082
|
+
}, `${t("settings.enabledSummary")}${countText}`)), ...sectionCards, note);
|
|
2009
2083
|
}
|
|
2010
2084
|
function SuggestSettings({ t, value, busy, readOnly, write, drifted }) {
|
|
2011
2085
|
const model = textOf(value, "suggestModel");
|
|
@@ -2014,36 +2088,36 @@ window.__ModuleLoader__.load({
|
|
|
2014
2088
|
const modelDisabled = readOnly || busy.includes("suggestModel") || drifted.includes("suggestModel");
|
|
2015
2089
|
const effortDisabled = readOnly || busy.includes("suggestReasoning") || drifted.includes("suggestReasoning");
|
|
2016
2090
|
const promptDisabled = readOnly || busy.includes("suggestPrompt") || drifted.includes("suggestPrompt");
|
|
2017
|
-
return h("div", { className: "de-suggest-settings" }, [
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
]);
|
|
2091
|
+
return h("div", { className: "de-suggest-settings" }, [h("div", {
|
|
2092
|
+
className: "de-suggest-grid",
|
|
2093
|
+
key: "grid",
|
|
2094
|
+
"data-desktop-enhance-suggest-grid": "true"
|
|
2095
|
+
}, [h("div", {
|
|
2096
|
+
className: "de-item de-item-block",
|
|
2097
|
+
key: "model"
|
|
2098
|
+
}, h("div", { className: "de-text" }, h("div", { className: "de-title" }, t("settings.suggestModel")), h("div", { className: "de-desc" }, t("settings.suggestModel.hint"))), h(ModelPicker, {
|
|
2099
|
+
model,
|
|
2100
|
+
t,
|
|
2101
|
+
disabled: modelDisabled,
|
|
2102
|
+
onPick: (id) => write("suggestModel", id)
|
|
2103
|
+
})), h("div", {
|
|
2104
|
+
className: "de-item de-item-block",
|
|
2105
|
+
key: "reasoning"
|
|
2106
|
+
}, h("div", { className: "de-text" }, h("div", { className: "de-title" }, t("settings.suggestReasoning")), h("div", { className: "de-desc" }, t("settings.suggestReasoning.hint"))), h(EffortPicker, {
|
|
2107
|
+
model,
|
|
2108
|
+
reasoning,
|
|
2109
|
+
t,
|
|
2110
|
+
disabled: effortDisabled,
|
|
2111
|
+
onPick: (id) => write("suggestReasoning", id)
|
|
2112
|
+
}))]), h("div", {
|
|
2113
|
+
className: "de-item de-item-block de-prompt-item",
|
|
2114
|
+
key: "prompt"
|
|
2115
|
+
}, h("div", { className: "de-text" }, h("div", { className: "de-title" }, t("settings.suggestPrompt")), h("div", { className: "de-desc" }, t("settings.suggestPrompt.hint"))), h(PromptEditor, {
|
|
2116
|
+
prompt,
|
|
2117
|
+
t,
|
|
2118
|
+
readOnly: promptDisabled,
|
|
2119
|
+
onSave: (text) => write("suggestPrompt", text)
|
|
2120
|
+
}))]);
|
|
2047
2121
|
}
|
|
2048
2122
|
function ModelPicker({ model, t, disabled, onPick }) {
|
|
2049
2123
|
const [catalog, setCatalog] = React.useState(null);
|
|
@@ -2170,20 +2244,42 @@ window.__ModuleLoader__.load({
|
|
|
2170
2244
|
]);
|
|
2171
2245
|
}
|
|
2172
2246
|
function PromptEditor({ prompt, t, readOnly, onSave }) {
|
|
2173
|
-
const
|
|
2247
|
+
const effectivePrompt = prompt === "" ? DEFAULT_PROMPT : prompt;
|
|
2248
|
+
const [draft, setDraft] = React.useState(effectivePrompt);
|
|
2174
2249
|
const [problem, setProblem] = React.useState(null);
|
|
2250
|
+
const [open, setOpen] = React.useState(false);
|
|
2175
2251
|
React.useEffect(() => {
|
|
2176
|
-
setDraft(
|
|
2252
|
+
setDraft(effectivePrompt);
|
|
2177
2253
|
setProblem(null);
|
|
2178
|
-
}, [
|
|
2179
|
-
const
|
|
2254
|
+
}, [effectivePrompt]);
|
|
2255
|
+
const isCustom = effectivePrompt !== DEFAULT_PROMPT;
|
|
2256
|
+
const dirty = draft !== effectivePrompt;
|
|
2180
2257
|
const save = () => {
|
|
2181
2258
|
const found = promptProblem(draft);
|
|
2182
2259
|
setProblem(found);
|
|
2183
2260
|
if (found !== null) return;
|
|
2184
2261
|
onSave(draft === "Do not continue the task. Instead, predict what the user is most likely to ask you next, as up to {{MAX_SUGGESTIONS}} concrete prompts written in the user's own voice (imperative, specific to this conversation: name the file, test, or follow-up they would actually type). Prefer the obvious next action (run the tests, commit, fix the thing you flagged, do the same for X) over generic ones. Write them in the same language the user has been writing in. If the conversation is clearly finished, or nothing useful comes to mind, return an empty list.\n\nAnswer with ONLY a JSON array, no prose and no code fence: [{\"label\": \"<at most {{LABEL_MAX}} characters, shown on a button>\", \"prompt\": \"<the full prompt text>\"}]" ? "" : draft);
|
|
2185
2262
|
};
|
|
2186
|
-
return h("div", { className: "de-prompt" }, [
|
|
2263
|
+
return h("div", { className: "de-prompt" }, [h("div", {
|
|
2264
|
+
key: "bar",
|
|
2265
|
+
className: "de-prompt-bar"
|
|
2266
|
+
}, [h("span", {
|
|
2267
|
+
key: "status",
|
|
2268
|
+
className: "de-defaults-pill",
|
|
2269
|
+
"data-desktop-enhance-prompt-status": isCustom ? "custom" : "default"
|
|
2270
|
+
}, t(isCustom ? "settings.suggestPrompt.customBadge" : "settings.suggestPrompt.defaultBadge")), h("button", {
|
|
2271
|
+
key: "toggle",
|
|
2272
|
+
type: "button",
|
|
2273
|
+
className: "de-button",
|
|
2274
|
+
"data-desktop-enhance-prompt-toggle": "true",
|
|
2275
|
+
"aria-expanded": open ? "true" : "false",
|
|
2276
|
+
onClick: () => setOpen((v) => !v)
|
|
2277
|
+
}, t(open ? "settings.suggestPrompt.collapse" : "settings.suggestPrompt.edit"))]), h("div", {
|
|
2278
|
+
key: "body",
|
|
2279
|
+
className: "de-prompt-body",
|
|
2280
|
+
"data-desktop-enhance-prompt-body": "true",
|
|
2281
|
+
hidden: !open
|
|
2282
|
+
}, [
|
|
2187
2283
|
h("textarea", {
|
|
2188
2284
|
key: "box",
|
|
2189
2285
|
className: "de-textarea",
|
|
@@ -2230,7 +2326,7 @@ window.__ModuleLoader__.load({
|
|
|
2230
2326
|
setProblem(null);
|
|
2231
2327
|
}
|
|
2232
2328
|
}, t("settings.suggestPrompt.reset"))])
|
|
2233
|
-
]);
|
|
2329
|
+
])]);
|
|
2234
2330
|
}
|
|
2235
2331
|
function renderDefaultSummaryTags(disabledNames, t, prefixKey, tagAttr) {
|
|
2236
2332
|
if (disabledNames.length === 0) return h("div", {
|
|
@@ -3789,6 +3885,13 @@ window.__ModuleLoader__.load({
|
|
|
3789
3885
|
//#region src/client/session-info/tools-popover.ts
|
|
3790
3886
|
const TOOLS_POPOVER_ATTR = "data-desktop-enhance-tools-popover";
|
|
3791
3887
|
const SKILLS_POPOVER_ATTR = "data-desktop-enhance-skills-popover";
|
|
3888
|
+
const POPOVER_BACKDROP_ATTR = "data-desktop-enhance-popover-backdrop";
|
|
3889
|
+
function removePopoverBackdrop(root) {
|
|
3890
|
+
if (root === null || root === void 0 || typeof root.querySelector !== "function") return;
|
|
3891
|
+
const existing = root.querySelector(`[${POPOVER_BACKDROP_ATTR}]`);
|
|
3892
|
+
if (existing !== null) existing.remove();
|
|
3893
|
+
}
|
|
3894
|
+
const popoverLiveHandlers = new WeakMap();
|
|
3792
3895
|
function populateSummaryContainer(container, opts) {
|
|
3793
3896
|
const { kind, t, titleKey, manageKey, closeKey, disabledPrefixKey, enabledCount, totalCount, disabledInCatalog, customized, popoverOpen, onTogglePopover } = opts;
|
|
3794
3897
|
const row = globalThis.document.createElement("div");
|
|
@@ -4178,13 +4281,20 @@ window.__ModuleLoader__.load({
|
|
|
4178
4281
|
return groups.map(buildGroupDom);
|
|
4179
4282
|
}
|
|
4180
4283
|
function syncAnchoredPopoverShell(opts) {
|
|
4181
|
-
const { root, popoverAttr, kind, t, titleKey, hintKey, searchPlaceholderKey, searchQuery, totalCount, disabledInCatalogCount, hasAnyDisabled, customized, writable, onSearchChange, onEnableAll, onResetOverride, onRefreshCatalog, onClose, renderTreeNodes } = opts;
|
|
4284
|
+
const { root, popoverAttr, kind, t, titleKey, hintKey, searchPlaceholderKey, searchQuery, totalCount, disabledInCatalogCount, hasAnyDisabled, customized, writable, compact = false, onSearchChange, onEnableAll, onResetOverride, onRefreshCatalog, onClose, renderTreeNodes } = opts;
|
|
4285
|
+
removePopoverBackdrop(root);
|
|
4286
|
+
if (compact) {
|
|
4287
|
+
const backdrop = globalThis.document.createElement("div");
|
|
4288
|
+
backdrop.setAttribute(POPOVER_BACKDROP_ATTR, kind);
|
|
4289
|
+
backdrop.addEventListener("click", onClose);
|
|
4290
|
+
root.appendChild(backdrop);
|
|
4291
|
+
}
|
|
4182
4292
|
const enableAllAttr = `data-${kind}-popover-enable-all`;
|
|
4183
4293
|
const refreshAttr = `data-${kind}-popover-refresh`;
|
|
4184
4294
|
let pop = root.querySelector(`[${popoverAttr}]`);
|
|
4185
4295
|
if (pop === null) {
|
|
4186
|
-
|
|
4187
|
-
|
|
4296
|
+
const newPop = globalThis.document.createElement("aside");
|
|
4297
|
+
newPop.setAttribute(popoverAttr, "");
|
|
4188
4298
|
const head = globalThis.document.createElement("div");
|
|
4189
4299
|
head.setAttribute("data-tools-popover-header", "");
|
|
4190
4300
|
const titleWrap = globalThis.document.createElement("div");
|
|
@@ -4203,9 +4313,11 @@ window.__ModuleLoader__.load({
|
|
|
4203
4313
|
closeBtn.setAttribute("data-tools-popover-close", "");
|
|
4204
4314
|
if (kind === "skills") closeBtn.setAttribute("data-skills-popover-close", "");
|
|
4205
4315
|
closeBtn.textContent = "✕";
|
|
4206
|
-
closeBtn.addEventListener("click",
|
|
4316
|
+
closeBtn.addEventListener("click", () => {
|
|
4317
|
+
popoverLiveHandlers.get(newPop)?.onClose();
|
|
4318
|
+
});
|
|
4207
4319
|
head.appendChild(closeBtn);
|
|
4208
|
-
|
|
4320
|
+
newPop.appendChild(head);
|
|
4209
4321
|
const body = globalThis.document.createElement("div");
|
|
4210
4322
|
body.setAttribute("data-tools-popover-body", "");
|
|
4211
4323
|
const overrideSlot = globalThis.document.createElement("div");
|
|
@@ -4220,7 +4332,7 @@ window.__ModuleLoader__.load({
|
|
|
4220
4332
|
searchInput.setAttribute("placeholder", t(searchPlaceholderKey));
|
|
4221
4333
|
searchInput.value = searchQuery;
|
|
4222
4334
|
searchInput.addEventListener("input", () => {
|
|
4223
|
-
onSearchChange(searchInput.value);
|
|
4335
|
+
popoverLiveHandlers.get(newPop)?.onSearchChange(searchInput.value);
|
|
4224
4336
|
});
|
|
4225
4337
|
toolbar.appendChild(searchInput);
|
|
4226
4338
|
const actions = globalThis.document.createElement("div");
|
|
@@ -4229,14 +4341,18 @@ window.__ModuleLoader__.load({
|
|
|
4229
4341
|
enableAllBtn.setAttribute("type", "button");
|
|
4230
4342
|
enableAllBtn.setAttribute("data-tools-btn", "");
|
|
4231
4343
|
enableAllBtn.setAttribute(enableAllAttr, "");
|
|
4232
|
-
enableAllBtn.addEventListener("click",
|
|
4344
|
+
enableAllBtn.addEventListener("click", () => {
|
|
4345
|
+
popoverLiveHandlers.get(newPop)?.onEnableAll();
|
|
4346
|
+
});
|
|
4233
4347
|
actions.appendChild(enableAllBtn);
|
|
4234
4348
|
const refreshBtn = globalThis.document.createElement("button");
|
|
4235
4349
|
refreshBtn.setAttribute("type", "button");
|
|
4236
4350
|
refreshBtn.setAttribute("data-tools-btn", "");
|
|
4237
4351
|
refreshBtn.setAttribute(refreshAttr, "");
|
|
4238
4352
|
refreshBtn.textContent = t("settings.tools.refresh");
|
|
4239
|
-
refreshBtn.addEventListener("click",
|
|
4353
|
+
refreshBtn.addEventListener("click", () => {
|
|
4354
|
+
popoverLiveHandlers.get(newPop)?.onRefreshCatalog();
|
|
4355
|
+
});
|
|
4240
4356
|
actions.appendChild(refreshBtn);
|
|
4241
4357
|
toolbar.appendChild(actions);
|
|
4242
4358
|
body.appendChild(toolbar);
|
|
@@ -4244,9 +4360,17 @@ window.__ModuleLoader__.load({
|
|
|
4244
4360
|
treeContainer.setAttribute("data-tools-popover-tree", "");
|
|
4245
4361
|
if (kind === "skills") treeContainer.setAttribute("data-skills-popover-tree", "");
|
|
4246
4362
|
body.appendChild(treeContainer);
|
|
4247
|
-
|
|
4248
|
-
root.appendChild(
|
|
4363
|
+
newPop.appendChild(body);
|
|
4364
|
+
root.appendChild(newPop);
|
|
4365
|
+
pop = newPop;
|
|
4249
4366
|
}
|
|
4367
|
+
popoverLiveHandlers.set(pop, {
|
|
4368
|
+
onSearchChange,
|
|
4369
|
+
onEnableAll,
|
|
4370
|
+
onRefreshCatalog,
|
|
4371
|
+
onClose
|
|
4372
|
+
});
|
|
4373
|
+
pop.setAttribute("data-compact", compact ? "true" : "false");
|
|
4250
4374
|
syncOverrideBanner(pop, t, customized, writable, onResetOverride);
|
|
4251
4375
|
const enableAllBtn = pop.querySelector(`[${enableAllAttr}]`);
|
|
4252
4376
|
if (enableAllBtn !== null) {
|
|
@@ -4260,7 +4384,7 @@ window.__ModuleLoader__.load({
|
|
|
4260
4384
|
return pop;
|
|
4261
4385
|
}
|
|
4262
4386
|
function syncToolsPopover(props) {
|
|
4263
|
-
const { root, t, toolsCatalog, disabledSet, disabledInCatalog, customized = false, searchQuery, expandedToolNodes, writable, onSearchChange, onToggleNodeExpand, onCommitSet, onResetOverride, onRefreshCatalog, onClose } = props;
|
|
4387
|
+
const { root, t, toolsCatalog, disabledSet, disabledInCatalog, customized = false, searchQuery, expandedToolNodes, writable, compact = false, onSearchChange, onToggleNodeExpand, onCommitSet, onResetOverride, onRefreshCatalog, onClose } = props;
|
|
4264
4388
|
return syncAnchoredPopoverShell({
|
|
4265
4389
|
root,
|
|
4266
4390
|
popoverAttr: TOOLS_POPOVER_ATTR,
|
|
@@ -4275,6 +4399,7 @@ window.__ModuleLoader__.load({
|
|
|
4275
4399
|
hasAnyDisabled: disabledSet.size > 0,
|
|
4276
4400
|
customized,
|
|
4277
4401
|
writable,
|
|
4402
|
+
compact,
|
|
4278
4403
|
onSearchChange,
|
|
4279
4404
|
onEnableAll: () => onCommitSet(new Set()),
|
|
4280
4405
|
onResetOverride,
|
|
@@ -4293,7 +4418,7 @@ window.__ModuleLoader__.load({
|
|
|
4293
4418
|
});
|
|
4294
4419
|
}
|
|
4295
4420
|
function syncSkillsPopover(props) {
|
|
4296
|
-
const { root, t, skillsCatalog, disabledSet, disabledInCatalog, customized = false, searchQuery, expandedSkillScopes, writable, onSearchChange, onToggleScopeExpand, onCommitSet, onResetOverride, onRefreshCatalog, onPreviewSkill, onClose } = props;
|
|
4421
|
+
const { root, t, skillsCatalog, disabledSet, disabledInCatalog, customized = false, searchQuery, expandedSkillScopes, writable, compact = false, onSearchChange, onToggleScopeExpand, onCommitSet, onResetOverride, onRefreshCatalog, onPreviewSkill, onClose } = props;
|
|
4297
4422
|
return syncAnchoredPopoverShell({
|
|
4298
4423
|
root,
|
|
4299
4424
|
popoverAttr: SKILLS_POPOVER_ATTR,
|
|
@@ -4308,6 +4433,7 @@ window.__ModuleLoader__.load({
|
|
|
4308
4433
|
hasAnyDisabled: disabledSet.size > 0,
|
|
4309
4434
|
customized,
|
|
4310
4435
|
writable,
|
|
4436
|
+
compact,
|
|
4311
4437
|
onSearchChange,
|
|
4312
4438
|
onEnableAll: () => onCommitSet(new Set()),
|
|
4313
4439
|
onResetOverride,
|
|
@@ -4332,6 +4458,12 @@ window.__ModuleLoader__.load({
|
|
|
4332
4458
|
const SESSION_INFO_ATTR = "data-desktop-enhance-session-info";
|
|
4333
4459
|
const SESSION_INFO_URL = SESSION_INFO_ROUTE;
|
|
4334
4460
|
const RECONCILE_MS = 700;
|
|
4461
|
+
function isCompactViewport() {
|
|
4462
|
+
const cls = globalThis.document?.body?.getAttribute?.("class") ?? "";
|
|
4463
|
+
if (cls !== "" && cls.split(/\s+/).includes("dsh-remote-portrait")) return true;
|
|
4464
|
+
const width = globalThis.innerWidth;
|
|
4465
|
+
return typeof width === "number" && width > 0 && width <= 768;
|
|
4466
|
+
}
|
|
4335
4467
|
function openSkillInHost(ctx, sessionId, name) {
|
|
4336
4468
|
if (sessionId === "" || name === "") return false;
|
|
4337
4469
|
const sessions = ctx.get("sessions");
|
|
@@ -4381,6 +4513,7 @@ window.__ModuleLoader__.load({
|
|
|
4381
4513
|
function renderSignature(state) {
|
|
4382
4514
|
return JSON.stringify({
|
|
4383
4515
|
minimized: state.minimized,
|
|
4516
|
+
compact: state.compact,
|
|
4384
4517
|
collapsed: [...state.collapsedSections].sort(),
|
|
4385
4518
|
sections: state.sections,
|
|
4386
4519
|
toolsEnabled: state.toolsEnabled,
|
|
@@ -4490,7 +4623,7 @@ window.__ModuleLoader__.load({
|
|
|
4490
4623
|
let unsubscribeSource = null;
|
|
4491
4624
|
let hostProjection = null;
|
|
4492
4625
|
let fetchToken = 0;
|
|
4493
|
-
let
|
|
4626
|
+
let userMinimized = null;
|
|
4494
4627
|
const collapsedSections = new Set();
|
|
4495
4628
|
let mountedPanel = null;
|
|
4496
4629
|
let mountedToolsPopover = null;
|
|
@@ -4524,13 +4657,16 @@ window.__ModuleLoader__.load({
|
|
|
4524
4657
|
mountedSkillsPopover = null;
|
|
4525
4658
|
}
|
|
4526
4659
|
}
|
|
4527
|
-
function removePanel() {
|
|
4660
|
+
function removePanel(root) {
|
|
4661
|
+
const fallbackParent = mountedPanel?.parentElement ?? mountedPanel?.parentNode ?? null;
|
|
4662
|
+
const hostRoot = root ?? fallbackParent;
|
|
4528
4663
|
if (mountedPanel !== null) {
|
|
4529
4664
|
mountedPanel.remove();
|
|
4530
4665
|
mountedPanel = null;
|
|
4531
4666
|
}
|
|
4532
4667
|
removeToolsPopover();
|
|
4533
4668
|
removeSkillsPopover();
|
|
4669
|
+
removePopoverBackdrop(hostRoot);
|
|
4534
4670
|
lastSignature = "";
|
|
4535
4671
|
}
|
|
4536
4672
|
function detach() {
|
|
@@ -4548,6 +4684,7 @@ window.__ModuleLoader__.load({
|
|
|
4548
4684
|
activeSessionId = null;
|
|
4549
4685
|
hostProjection = null;
|
|
4550
4686
|
activePopover = null;
|
|
4687
|
+
userMinimized = null;
|
|
4551
4688
|
removePanel();
|
|
4552
4689
|
}
|
|
4553
4690
|
function ensureToolsCatalog(root, sessionId, force = false) {
|
|
@@ -4633,9 +4770,12 @@ window.__ModuleLoader__.load({
|
|
|
4633
4770
|
const clientProjection = currentClientProjection();
|
|
4634
4771
|
const sections = buildSessionInfoSections(mergeSkillProjections(hostProjection, clientProjection), t);
|
|
4635
4772
|
const totalItems = sections.reduce((sum, sec) => sum + sec.items.length, 0);
|
|
4773
|
+
const compact = isCompactViewport();
|
|
4774
|
+
const minimized = userMinimized ?? compact;
|
|
4636
4775
|
const sig = renderSignature({
|
|
4637
4776
|
sections,
|
|
4638
4777
|
minimized,
|
|
4778
|
+
compact,
|
|
4639
4779
|
collapsedSections,
|
|
4640
4780
|
toolsEnabled,
|
|
4641
4781
|
toolsWritable,
|
|
@@ -4655,6 +4795,7 @@ window.__ModuleLoader__.load({
|
|
|
4655
4795
|
});
|
|
4656
4796
|
let panel = root.querySelector(`[${SESSION_INFO_ATTR}]`);
|
|
4657
4797
|
if (panel === null) {
|
|
4798
|
+
if (mountedPanel !== null) removePanel();
|
|
4658
4799
|
panel = globalThis.document.createElement("aside");
|
|
4659
4800
|
panel.setAttribute(SESSION_INFO_ATTR, "");
|
|
4660
4801
|
root.appendChild(panel);
|
|
@@ -4664,6 +4805,7 @@ window.__ModuleLoader__.load({
|
|
|
4664
4805
|
if (sig === lastSignature) return;
|
|
4665
4806
|
lastSignature = sig;
|
|
4666
4807
|
panel.setAttribute("data-minimized", minimized ? "true" : "false");
|
|
4808
|
+
panel.setAttribute("data-compact", compact ? "true" : "false");
|
|
4667
4809
|
panel.setAttribute("data-empty", totalItems === 0 ? "true" : "false");
|
|
4668
4810
|
const header = globalThis.document.createElement("button");
|
|
4669
4811
|
header.setAttribute("type", "button");
|
|
@@ -4677,9 +4819,12 @@ window.__ModuleLoader__.load({
|
|
|
4677
4819
|
titleWrap.appendChild(dot);
|
|
4678
4820
|
const titleText = globalThis.document.createElement("span");
|
|
4679
4821
|
if (minimized) {
|
|
4680
|
-
const parts = sections.map((sec) =>
|
|
4822
|
+
const parts = sections.map((sec) => {
|
|
4823
|
+
if (sec.id === "skills" && skillsEnabled && skillsCatalog.length > 0) return !compact || disabledSkillsInCatalog.length > 0 ? `${sec.shortLabel} ${String(sec.items.length)} (${String(enabledSkillsCount)}/${String(skillsCatalog.length)})` : `${sec.shortLabel} ${String(sec.items.length)}`;
|
|
4824
|
+
return `${sec.shortLabel} ${String(sec.items.length)}`;
|
|
4825
|
+
});
|
|
4681
4826
|
if (toolsEnabled && toolsCatalog.length > 0) parts.push(`${t("sessionInfo.tools.short")} ${String(enabledToolsCount)}/${String(toolsCatalog.length)}`);
|
|
4682
|
-
titleText.textContent = `${t("sessionInfo.title")} · ${parts.join(" · ")}`;
|
|
4827
|
+
titleText.textContent = compact ? parts.join(" · ") : `${t("sessionInfo.title")} · ${parts.join(" · ")}`;
|
|
4683
4828
|
} else titleText.textContent = t("sessionInfo.title");
|
|
4684
4829
|
titleWrap.appendChild(titleText);
|
|
4685
4830
|
header.appendChild(titleWrap);
|
|
@@ -4688,11 +4833,23 @@ window.__ModuleLoader__.load({
|
|
|
4688
4833
|
toggleIcon.textContent = minimized ? "▾" : "−";
|
|
4689
4834
|
header.appendChild(toggleIcon);
|
|
4690
4835
|
header.addEventListener("click", () => {
|
|
4691
|
-
|
|
4692
|
-
if (
|
|
4836
|
+
userMinimized = !(userMinimized ?? isCompactViewport());
|
|
4837
|
+
if (userMinimized) activePopover = null;
|
|
4693
4838
|
paint(root, sessionId);
|
|
4694
4839
|
});
|
|
4695
4840
|
const children = [header];
|
|
4841
|
+
const closePopover = () => {
|
|
4842
|
+
activePopover = null;
|
|
4843
|
+
lastSignature = "";
|
|
4844
|
+
paint(root, sessionId);
|
|
4845
|
+
};
|
|
4846
|
+
const openSkillPreview = (skillName) => {
|
|
4847
|
+
openSkillInHost(ctx, sessionId, skillName);
|
|
4848
|
+
if (compact) {
|
|
4849
|
+
userMinimized = true;
|
|
4850
|
+
closePopover();
|
|
4851
|
+
}
|
|
4852
|
+
};
|
|
4696
4853
|
if (!minimized) {
|
|
4697
4854
|
for (const sec of sections) {
|
|
4698
4855
|
const secCollapsed = collapsedSections.has(sec.id);
|
|
@@ -4753,7 +4910,7 @@ window.__ModuleLoader__.load({
|
|
|
4753
4910
|
}
|
|
4754
4911
|
row.appendChild(metaSpan);
|
|
4755
4912
|
row.addEventListener("click", () => {
|
|
4756
|
-
|
|
4913
|
+
openSkillPreview(item.name);
|
|
4757
4914
|
});
|
|
4758
4915
|
body.appendChild(row);
|
|
4759
4916
|
}
|
|
@@ -4801,6 +4958,7 @@ window.__ModuleLoader__.load({
|
|
|
4801
4958
|
searchQuery: toolsSearchQuery,
|
|
4802
4959
|
expandedToolNodes,
|
|
4803
4960
|
writable: toolsWritable,
|
|
4961
|
+
compact,
|
|
4804
4962
|
onSearchChange: (nextQuery) => {
|
|
4805
4963
|
toolsSearchQuery = nextQuery;
|
|
4806
4964
|
lastSignature = "";
|
|
@@ -4827,11 +4985,7 @@ window.__ModuleLoader__.load({
|
|
|
4827
4985
|
onRefreshCatalog: () => {
|
|
4828
4986
|
ensureToolsCatalog(root, sessionId, true);
|
|
4829
4987
|
},
|
|
4830
|
-
onClose:
|
|
4831
|
-
activePopover = null;
|
|
4832
|
-
lastSignature = "";
|
|
4833
|
-
paint(root, sessionId);
|
|
4834
|
-
}
|
|
4988
|
+
onClose: closePopover
|
|
4835
4989
|
});
|
|
4836
4990
|
} else if (activePopover === "skills" && !minimized) {
|
|
4837
4991
|
removeToolsPopover();
|
|
@@ -4845,6 +4999,7 @@ window.__ModuleLoader__.load({
|
|
|
4845
4999
|
searchQuery: skillsSearchQuery,
|
|
4846
5000
|
expandedSkillScopes,
|
|
4847
5001
|
writable: skillsWritable,
|
|
5002
|
+
compact,
|
|
4848
5003
|
onSearchChange: (nextQuery) => {
|
|
4849
5004
|
skillsSearchQuery = nextQuery;
|
|
4850
5005
|
lastSignature = "";
|
|
@@ -4871,18 +5026,13 @@ window.__ModuleLoader__.load({
|
|
|
4871
5026
|
onRefreshCatalog: () => {
|
|
4872
5027
|
ensureSkillsCatalog(root, sessionId, true);
|
|
4873
5028
|
},
|
|
4874
|
-
onPreviewSkill:
|
|
4875
|
-
|
|
4876
|
-
},
|
|
4877
|
-
onClose: () => {
|
|
4878
|
-
activePopover = null;
|
|
4879
|
-
lastSignature = "";
|
|
4880
|
-
paint(root, sessionId);
|
|
4881
|
-
}
|
|
5029
|
+
onPreviewSkill: openSkillPreview,
|
|
5030
|
+
onClose: closePopover
|
|
4882
5031
|
});
|
|
4883
5032
|
} else {
|
|
4884
5033
|
removeToolsPopover();
|
|
4885
5034
|
removeSkillsPopover();
|
|
5035
|
+
removePopoverBackdrop(root);
|
|
4886
5036
|
}
|
|
4887
5037
|
}
|
|
4888
5038
|
function triggerHostRefresh(sessionId, root) {
|
|
@@ -4947,9 +5097,16 @@ window.__ModuleLoader__.load({
|
|
|
4947
5097
|
});
|
|
4948
5098
|
observer.observe(globalThis.document.documentElement, {
|
|
4949
5099
|
childList: true,
|
|
4950
|
-
subtree: true
|
|
5100
|
+
subtree: true,
|
|
5101
|
+
attributes: true,
|
|
5102
|
+
attributeFilter: ["class"]
|
|
4951
5103
|
});
|
|
5104
|
+
const onResize = () => {
|
|
5105
|
+
sync();
|
|
5106
|
+
};
|
|
5107
|
+
globalThis.addEventListener?.("resize", onResize);
|
|
4952
5108
|
return () => {
|
|
5109
|
+
globalThis.removeEventListener?.("resize", onResize);
|
|
4953
5110
|
observer.disconnect();
|
|
4954
5111
|
detach();
|
|
4955
5112
|
};
|
|
@@ -4959,7 +5116,7 @@ window.__ModuleLoader__.load({
|
|
|
4959
5116
|
}
|
|
4960
5117
|
//#endregion
|
|
4961
5118
|
//#region \0dsh-desktop-enhance-css:/Users/lijiechengbj/projects/AI-agents/dsh-desktop-enhance/src/client/styles/enhance.css.mjs
|
|
4962
|
-
var enhance_css_default = "\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"]) {\n content-visibility: visible !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"][hidden=\"until-found\"],\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"][hidden=\"until-found\"] {\n content-visibility: visible !important;\n}\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n [data-turn-process-member=\"true\"]:not([data-chat-flow-kind=\"compaction\"]):not([data-chat-flow-kind=\"manual-compaction\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"])\n [data-turn-process-member=\"true\"]:not([data-chat-flow-kind=\"compaction\"]):not([data-chat-flow-kind=\"manual-compaction\"]) {\n display: none !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-step-process=\"true\"][hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n > div:has(> [data-process-activity]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-step-process=\"true\"][hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"])\n > div:has(> [data-process-activity]) {\n display: none !important;\n}\n\n\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"compaction\"],\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"manual-compaction\"] {\n padding: 6px 0 !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"compaction\"] button,\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"manual-compaction\"] button {\n width: fit-content !important;\n margin: 0 auto !important;\n height: auto !important;\n min-height: 28px;\n padding: 0 14px !important;\n justify-content: center !important;\n background: var(--dsw-alias-state-warn-tertiary) !important;\n border-radius: 999px !important;\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-state-warn-primary) 45%, transparent);\n color: var(--dsw-alias-state-warn-label) !important;\n}\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button:hover:not(:disabled),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button:hover:not(:disabled) {\n background: var(--dsw-alias-state-warn-secondary) !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button:has([data-compaction-disclosure=\"expanded\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button:has([data-compaction-disclosure=\"expanded\"]) {\n width: 100% !important;\n margin: 0 !important;\n border-radius: var(--dsw-radius-sm) !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button > span:not([aria-hidden]):not(:last-child),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button > span:not([aria-hidden]):not(:last-child) {\n font-weight: 600;\n}\n\n\n[data-desktop-enhance-reveal] {\n content-visibility: visible !important;\n}\n[hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n [data-turn-process-member=\"true\"][data-desktop-enhance-reveal]:not([data-chat-flow-kind=\"compaction\"]) {\n display: revert !important;\n}\n\n\n:root:not([data-desktop-enhance-off-turn-prefix]) [data-desktop-enhance-turn]::before {\n content: attr(data-desktop-enhance-turn);\n flex: none;\n margin-right: 6px;\n padding: 0 5px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxxs-strong-11);\n}\n\n\n\n:root[data-desktop-enhance-off-find-bar] [data-desktop-enhance-findbar] {\n display: none !important;\n}\n[data-desktop-enhance-findbar] {\n position: absolute;\n top: 12px;\n right: 20px;\n z-index: 30;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--dsw-elevation-panel);\n}\n[data-desktop-enhance-findbar] input {\n width: 200px;\n border: none;\n outline: none;\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n}\n[data-desktop-enhance-findbar] input:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color);\n outline-offset: 2px;\n}\n[data-desktop-enhance-findbar] .count {\n min-width: 44px;\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-findbar] button {\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: var(--dsw-radius-xs);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-s-14);\n}\n[data-desktop-enhance-findbar] button:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-findbar] button:disabled {\n opacity: .4;\n cursor: default;\n}\n::highlight(desktop-enhance-find) {\n background-color: var(--dsw-alias-state-warn-tertiary);\n}\n::highlight(desktop-enhance-find-current) {\n background-color: var(--dsw-alias-state-warn-primary);\n color: var(--dsw-alias-label-primary-inverted);\n}\n\n\n[data-desktop-enhance-settings] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px 0;\n}\n[data-desktop-enhance-settings] .de-head-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n font-weight: 600;\n}\n[data-desktop-enhance-settings] .de-head-desc,\n[data-desktop-enhance-settings] .de-desc {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-settings] .de-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n[data-desktop-enhance-settings] .de-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n[data-desktop-enhance-settings] .de-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n}\n\n[data-desktop-enhance-settings] .de-switch {\n position: relative;\n flex: none;\n width: 36px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: var(--dsw-alias-interactive-bg-hover-solid);\n cursor: pointer;\n transition: background .15s;\n}\n[data-desktop-enhance-settings] .de-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--dsw-alias-switch-thumb);\n transition: transform .15s;\n}\n[data-desktop-enhance-settings] .de-switch[aria-checked=\"true\"] {\n background: var(--dsw-alias-state-success-primary);\n}\n[data-desktop-enhance-settings] .de-switch[aria-checked=\"true\"]::after {\n transform: translateX(16px);\n}\n[data-desktop-enhance-settings] .de-switch:disabled {\n opacity: .5;\n cursor: default;\n}\n[data-desktop-enhance-settings] .de-note {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-settings] .de-error {\n color: var(--dsw-alias-state-error-primary);\n font: var(--dsw-font-xxs-12);\n}\n\n\n\n[data-desktop-enhance-settings] .de-suggest-settings {\n display: flex;\n flex-direction: column;\n gap: 12px;\n \n border-top: 1px solid var(--dsw-alias-border-l1);\n margin-top: 4px;\n padding-top: 12px;\n}\n[data-desktop-enhance-settings] .de-item-block {\n align-items: stretch;\n flex-direction: column;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-select,\n[data-desktop-enhance-settings] .de-text-input,\n[data-desktop-enhance-settings] .de-textarea {\n background: var(--dsw-alias-bg-layer-2);\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n padding: 6px 8px;\n width: 100%;\n}\n[data-desktop-enhance-settings] .de-select:disabled,\n[data-desktop-enhance-settings] .de-text-input:disabled,\n[data-desktop-enhance-settings] .de-textarea:disabled {\n opacity: .5;\n}\n\n[data-desktop-enhance-settings] .de-textarea {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n line-height: 1.5;\n resize: vertical;\n white-space: pre-wrap;\n}\n[data-desktop-enhance-settings] .de-prompt {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-prompt-meta {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-settings] .de-prompt-actions {\n display: flex;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-button {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n font: var(--dsw-font-xxs-12);\n padding: 4px 10px;\n}\n[data-desktop-enhance-settings] .de-button:hover {\n border-color: var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-settings] .de-button:disabled {\n cursor: default;\n opacity: .5;\n}\n\n\n\n\n:root[data-desktop-enhance-off-suggest] [data-desktop-enhance='suggest'] {\n display: none !important;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest {\n align-items: center;\n \n background: color-mix(in srgb, var(--dsw-alias-state-business-tertiary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 20%, transparent);\n border-radius: var(--dsw-radius-md);\n box-sizing: border-box;\n display: flex;\n \n flex-wrap: wrap;\n gap: 6px;\n \n margin: 0 auto 6px;\n max-width: var(--dsh-composer-card-max-width, 100%);\n \n min-width: 0;\n \n padding: 4px 10px 4px 13px;\n width: calc(100% - var(--dsh-composer-side-clearance, 0px) - var(--dsh-composer-side-clearance, 0px));\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-head {\n align-items: center;\n display: flex;\n flex: none;\n gap: 2px;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n \n white-space: nowrap;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-close {\n appearance: none;\n background: none;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n flex: none;\n font: var(--dsw-font-xxs-12);\n line-height: 1;\n padding: 2px 4px;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-close:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row {\n appearance: none;\n align-items: center;\n background: none;\n \n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 35%, transparent);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n display: flex;\n flex: 0 1 auto;\n font: var(--dsw-font-xs-13);\n gap: 6px;\n \n max-width: 100%;\n min-width: 0;\n padding: 4px 10px;\n text-align: left;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row:hover {\n background: var(--dsw-alias-state-business-tertiary);\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n transition: background-color .12s ease, border-color .12s ease, color .12s ease;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row[data-used='true'] {\n border-color: var(--dsw-alias-brand-primary);\n color: var(--dsw-alias-label-secondary);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-num {\n color: var(--dsw-alias-label-primary);\n flex: none;\n font: var(--dsw-font-xs-13);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-text {\n max-width: 22ch;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-loading {\n border-style: dashed;\n color: var(--dsw-alias-label-secondary);\n cursor: default;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-error {\n color: var(--dsw-alias-state-error-primary);\n flex: 1 1 auto;\n font: var(--dsw-font-xxs-12);\n min-width: 0;\n padding: 2px;\n}\n\n\n:root:not([data-desktop-enhance-off-step-duration]) [data-desktop-enhance-duration]::after {\n content: attr(data-desktop-enhance-duration);\n \n margin-left: 8px;\n font-size: inherit;\n line-height: inherit;\n \n font-variant-numeric: tabular-nums;\n color: inherit;\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n}\n\n:root:not([data-desktop-enhance-off-step-duration])\n [data-desktop-enhance-duration]:has([data-step-process-icon])::after {\n margin-left: 2px;\n}\n\n\n:root[data-desktop-enhance-off-session-info] [data-desktop-enhance-session-info] {\n display: none !important;\n}\n:root:not([data-desktop-enhance-off-session-info]) [data-desktop-enhance-session-info] {\n position: absolute;\n top: 12px;\n right: 36px;\n z-index: 10;\n width: 244px;\n box-sizing: border-box;\n border-radius: var(--dsw-radius-lg);\n border: 1px solid var(--dsw-alias-border-l2);\n background: color-mix(in srgb, var(--dsw-alias-bg-layer-1) 90%, transparent);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n box-shadow: var(--dsw-elevation-panel);\n color: var(--dsw-alias-label-primary);\n overflow: hidden;\n}\n:root:not([data-desktop-enhance-off-session-info])\n [data-desktop-enhance-session-info][data-minimized=\"true\"] {\n width: auto;\n border-radius: 999px;\n}\n[data-desktop-enhance-session-info] [data-session-info-header] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border: none;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: color-mix(in srgb, var(--dsw-alias-bg-module-platform) 60%, transparent);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-session-info][data-minimized=\"true\"] [data-session-info-header] {\n border-bottom: none;\n background: transparent;\n padding: 5px 11px;\n}\n[data-desktop-enhance-session-info] [data-session-info-header]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n[data-desktop-enhance-session-info] [data-session-info-title] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n[data-desktop-enhance-session-info] [data-session-info-dot] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex: none;\n background: var(--dsw-alias-state-business-primary);\n box-shadow: 0 0 0 2.5px var(--dsw-alias-state-business-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-dot=\"idle\"] {\n background: var(--dsw-alias-label-caption);\n box-shadow: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-chevron] {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 1;\n}\n[data-desktop-enhance-session-info] [data-session-info-section] {\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-session-info] [data-session-info-section]:last-child {\n border-bottom: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-section-header] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-section-header]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n[data-desktop-enhance-session-info] [data-session-info-section-label] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n min-width: 0;\n}\n[data-desktop-enhance-session-info] [data-session-info-arrow] {\n color: var(--dsw-alias-label-tertiary);\n font-size: 10px;\n}\n[data-desktop-enhance-session-info] [data-session-info-count] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-session-info][data-empty=\"true\"] [data-session-info-count] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-body] {\n padding: 2px 6px 6px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 184px;\n overflow-y: auto;\n}\n[data-desktop-enhance-session-info] [data-session-info-empty] {\n padding: 4px 6px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-session-info] [data-session-info-item] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 5px 8px;\n border: none;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n text-align: left;\n}\n[data-desktop-enhance-session-info] [data-session-info-item]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-desktop-enhance-session-info] [data-session-info-item-name] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n[data-desktop-enhance-session-info] [data-session-info-item-meta] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n flex: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-item-badge] {\n font-size: 10.5px;\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-item-turn] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n padding: 0 5px;\n line-height: 16px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n\n\n:root[data-desktop-enhance-off-tools-manager] [data-session-info-section=\"tools\"],\n:root[data-desktop-enhance-off-tools-manager] [data-desktop-enhance-tools-popover],\n:root[data-desktop-enhance-off-tools-manager] [data-desktop-enhance-defaults=\"tools\"] {\n display: none !important;\n}\n:root[data-desktop-enhance-off-skills-manager] [data-session-info-skills-summary],\n:root[data-desktop-enhance-off-skills-manager] [data-desktop-enhance-skills-popover],\n:root[data-desktop-enhance-off-skills-manager] [data-desktop-enhance-defaults=\"skills\"] {\n display: none !important;\n}\n[data-desktop-enhance-session-info] [data-session-info-skills-summary] {\n border-top: 0.5px dashed var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-row] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n gap: 8px;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-left] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n min-width: 0;\n flex-wrap: wrap;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-title] {\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-count] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-count][data-has-disabled=\"true\"] {\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-state-warn-label);\n}\n[data-desktop-enhance-session-info] [data-session-info-override-badge] {\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-state-business-primary);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-manage] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 30%, transparent);\n border-radius: var(--dsw-radius-xs);\n padding: 2px 8px;\n font: var(--dsw-font-xxs-strong-12, 600 11px/16px sans-serif);\n cursor: pointer;\n flex: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-manage]:hover {\n background: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-bg-layer-1);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-disabled],\n[data-desktop-enhance-session-info] [data-session-info-skills-disabled] {\n padding: 0 10px 7px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-muted],\n[data-desktop-enhance-tools-popover] [data-session-info-tools-muted],\n[data-desktop-enhance-skills-popover] [data-session-info-tools-muted] {\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-tag],\n[data-desktop-enhance-session-info] [data-session-info-skills-tag] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n text-decoration: line-through;\n}\n:root:not([data-desktop-enhance-off-tools-manager]) [data-desktop-enhance-tools-popover],\n:root:not([data-desktop-enhance-off-skills-manager]) [data-desktop-enhance-skills-popover] {\n position: absolute;\n top: 12px;\n right: 292px;\n width: 520px;\n max-width: calc(100% - 308px);\n z-index: 20;\n background: var(--dsw-alias-bg-layer-2);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n box-shadow: var(--dsw-alias-shadow-l2, 0 8px 24px color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-3);\n}\n[data-tools-popover-title-wrap] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n[data-tools-popover-title] {\n font: var(--dsw-font-xs-strong-13, 600 13px/18px sans-serif);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-close] {\n background: transparent;\n border: none;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n padding: 4px 6px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-tools-popover-close]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-body] {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n gap: 8px;\n}\n[data-popover-override-banner] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border-radius: var(--dsw-radius-sm);\n background: color-mix(in srgb, var(--dsw-alias-state-business-tertiary) 45%, transparent);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n font-size: 11.5px;\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-toolbar] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n[data-tools-popover-search] {\n flex: 1 1 auto;\n min-width: 0;\n background: var(--dsw-alias-bg-layer-1);\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n padding: 5px 9px;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-actions] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-tools-popover-tree] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 380px;\n overflow-y: auto;\n padding-right: 2px;\n}\n[data-tools-node-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n cursor: pointer;\n user-select: none;\n}\n[data-tools-node-header]:hover,\n[data-tools-leaf]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-tools-node-title] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n min-width: 0;\n}\n[data-tools-leaf] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 10px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-tools-leaf-info] {\n flex: 1 1 auto;\n min-width: 0;\n}\n[data-tools-leaf-header],\n[data-skills-leaf-header] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n}\n[data-tools-leaf-name] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n word-break: break-all;\n}\n[data-tools-leaf][data-disabled=\"true\"] [data-tools-leaf-name] {\n color: var(--dsw-alias-label-tertiary);\n text-decoration: line-through;\n}\n[data-tools-source-badge],\n[data-skills-source-badge],\n[data-skills-user-only] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n[data-tools-source-badge=\"plugin\"],\n[data-skills-source-badge=\"project\"] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-skills-preview] {\n background: transparent;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n}\n[data-skills-preview]:hover {\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n}\n[data-tools-leaf-desc] {\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n margin-top: 2px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n}\n[data-tools-controls] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-tools-pill] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 6px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-tools-pill][data-disabled=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n[data-tools-btn] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n padding: 2px 8px;\n}\n[data-tools-btn]:hover:not(:disabled) {\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n}\n[data-tools-btn]:disabled {\n cursor: default;\n opacity: .5;\n}\n[data-tools-empty] {\n padding: 8px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n\n\n[data-desktop-enhance-settings] .de-defaults-box {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 10px 12px;\n border-radius: var(--dsw-radius-sm);\n border: 1px solid var(--dsw-alias-border-l1);\n background: color-mix(in srgb, var(--dsw-alias-bg-layer-2) 60%, transparent);\n}\n[data-desktop-enhance-settings] .de-defaults-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n[data-desktop-enhance-settings] .de-defaults-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-defaults-tags {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin-top: 2px;\n}\n[data-desktop-enhance-settings] .de-defaults-status,\n[data-desktop-enhance-settings] .de-defaults-muted {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n}\n[data-desktop-enhance-settings] .de-defaults-tag {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n padding: 1px 6px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n text-decoration: line-through;\n}\n[data-desktop-enhance-settings] .de-defaults-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-defaults-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-defaults-tree {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 320px;\n overflow-y: auto;\n}\n[data-desktop-enhance-settings] .de-defaults-group-head,\n[data-desktop-enhance-settings] .de-defaults-leaf {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-desktop-enhance-settings] .de-defaults-group-head {\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-settings] .de-defaults-group-head:hover,\n[data-desktop-enhance-settings] .de-defaults-leaf:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-desktop-enhance-settings] .de-defaults-group-title {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-info {\n flex: 1 1 auto;\n min-width: 0;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-name {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-settings] .de-defaults-leaf[data-disabled=\"true\"] .de-defaults-leaf-name {\n color: var(--dsw-alias-label-tertiary);\n text-decoration: line-through;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-desc {\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n margin-top: 2px;\n}\n[data-desktop-enhance-settings] .de-defaults-source-badge {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n[data-desktop-enhance-settings] .de-defaults-source-badge[data-tool-scope=\"plugin\"] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-settings] .de-defaults-controls {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-desktop-enhance-settings] .de-defaults-pill {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 6px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-settings] .de-defaults-pill[data-disabled=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n\n\n\n";
|
|
5119
|
+
var enhance_css_default = "\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"]) {\n content-visibility: visible !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"][hidden=\"until-found\"],\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"][hidden=\"until-found\"] {\n content-visibility: visible !important;\n}\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n [data-turn-process-member=\"true\"]:not([data-chat-flow-kind=\"compaction\"]):not([data-chat-flow-kind=\"manual-compaction\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"])\n [data-turn-process-member=\"true\"]:not([data-chat-flow-kind=\"compaction\"]):not([data-chat-flow-kind=\"manual-compaction\"]) {\n display: none !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-step-process=\"true\"][hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n > div:has(> [data-process-activity]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-step-process=\"true\"][hidden=\"until-found\"]:has([data-chat-flow-kind=\"manual-compaction\"])\n > div:has(> [data-process-activity]) {\n display: none !important;\n}\n\n\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"compaction\"],\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"manual-compaction\"] {\n padding: 6px 0 !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"compaction\"] button,\n:root:not([data-desktop-enhance-off-compaction-row]) [data-chat-flow-kind=\"manual-compaction\"] button {\n width: fit-content !important;\n margin: 0 auto !important;\n height: auto !important;\n min-height: 28px;\n padding: 0 14px !important;\n justify-content: center !important;\n background: var(--dsw-alias-state-warn-tertiary) !important;\n border-radius: 999px !important;\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-state-warn-primary) 45%, transparent);\n color: var(--dsw-alias-state-warn-label) !important;\n}\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button:hover:not(:disabled),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button:hover:not(:disabled) {\n background: var(--dsw-alias-state-warn-secondary) !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button:has([data-compaction-disclosure=\"expanded\"]),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button:has([data-compaction-disclosure=\"expanded\"]) {\n width: 100% !important;\n margin: 0 !important;\n border-radius: var(--dsw-radius-sm) !important;\n}\n\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"compaction\"] button > span:not([aria-hidden]):not(:last-child),\n:root:not([data-desktop-enhance-off-compaction-row])\n [data-chat-flow-kind=\"manual-compaction\"] button > span:not([aria-hidden]):not(:last-child) {\n font-weight: 600;\n}\n\n\n[data-desktop-enhance-reveal] {\n content-visibility: visible !important;\n}\n[hidden=\"until-found\"]:has([data-chat-flow-kind=\"compaction\"])\n [data-turn-process-member=\"true\"][data-desktop-enhance-reveal]:not([data-chat-flow-kind=\"compaction\"]) {\n display: revert !important;\n}\n\n\n:root:not([data-desktop-enhance-off-turn-prefix]) [data-desktop-enhance-turn]::before {\n content: attr(data-desktop-enhance-turn);\n flex: none;\n margin-right: 6px;\n padding: 0 5px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxxs-strong-11);\n}\n\n\n\n:root[data-desktop-enhance-off-find-bar] [data-desktop-enhance-findbar] {\n display: none !important;\n}\n[data-desktop-enhance-findbar] {\n position: absolute;\n top: 12px;\n right: 20px;\n z-index: 30;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--dsw-elevation-panel);\n}\n[data-desktop-enhance-findbar] input {\n width: 200px;\n border: none;\n outline: none;\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n}\n[data-desktop-enhance-findbar] input:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color);\n outline-offset: 2px;\n}\n[data-desktop-enhance-findbar] .count {\n min-width: 44px;\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-findbar] button {\n display: grid;\n place-items: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border: none;\n border-radius: var(--dsw-radius-xs);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-s-14);\n}\n[data-desktop-enhance-findbar] button:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-findbar] button:disabled {\n opacity: .4;\n cursor: default;\n}\n::highlight(desktop-enhance-find) {\n background-color: var(--dsw-alias-state-warn-tertiary);\n}\n::highlight(desktop-enhance-find-current) {\n background-color: var(--dsw-alias-state-warn-primary);\n color: var(--dsw-alias-label-primary-inverted);\n}\n\n\n[data-desktop-enhance-settings] {\n display: flex;\n flex-direction: column;\n gap: 14px;\n padding: 16px 0;\n}\n[data-desktop-enhance-settings] .de-head {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n}\n[data-desktop-enhance-settings] .de-head-main {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n[data-desktop-enhance-settings] .de-head-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n font-weight: 600;\n}\n[data-desktop-enhance-settings] .de-head-desc,\n[data-desktop-enhance-settings] .de-desc {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n line-height: 1.45;\n}\n[data-desktop-enhance-settings] .de-head-pill {\n flex: none;\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n font-weight: 600;\n line-height: 18px;\n padding: 1px 9px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 22%, transparent);\n}\n[data-desktop-enhance-settings] .de-head-pill[data-all-off=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n border-color: var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-section-card {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-bg-layer-2) 45%, transparent);\n overflow: hidden;\n}\n[data-desktop-enhance-settings] .de-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 4px 12px;\n padding: 8px 14px;\n background: color-mix(in srgb, var(--dsw-alias-bg-module-platform, var(--dsw-alias-bg-layer-2)) 65%, transparent);\n border-bottom: 1px solid var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-section-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n font-weight: 600;\n}\n[data-desktop-enhance-settings] .de-section-hint {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n}\n[data-desktop-enhance-settings] .de-section-body {\n display: flex;\n flex-direction: column;\n}\n[data-desktop-enhance-settings] .de-item-wrap {\n display: flex;\n flex-direction: column;\n padding: 11px 14px;\n gap: 10px;\n}\n[data-desktop-enhance-settings] .de-item-wrap + .de-item-wrap {\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-item-wrap[data-enabled=\"false\"] > .de-item .de-title {\n color: var(--dsw-alias-label-secondary);\n}\n[data-desktop-enhance-settings] .de-item-wrap[data-enabled=\"false\"] > .de-item .de-feature-badge {\n opacity: .55;\n}\n[data-desktop-enhance-settings] .de-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n}\n[data-desktop-enhance-settings] .de-text {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n[data-desktop-enhance-settings] .de-title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n[data-desktop-enhance-settings] .de-feature-badge {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n line-height: 16px;\n padding: 0 6px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n border: 1px solid var(--dsw-alias-border-l1);\n color: var(--dsw-alias-label-secondary);\n}\n[data-desktop-enhance-settings] .de-subpanel {\n display: flex;\n flex-direction: column;\n padding-left: 10px;\n border-left: 2px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 28%, var(--dsw-alias-border-l2));\n}\n\n[data-desktop-enhance-settings] .de-switch {\n position: relative;\n flex: none;\n width: 36px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: var(--dsw-alias-interactive-bg-hover-solid);\n cursor: pointer;\n transition: background .15s;\n}\n[data-desktop-enhance-settings] .de-switch::after {\n content: \"\";\n position: absolute;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n background: var(--dsw-alias-switch-thumb);\n transition: transform .15s;\n}\n[data-desktop-enhance-settings] .de-switch[aria-checked=\"true\"] {\n background: var(--dsw-alias-state-success-primary);\n}\n[data-desktop-enhance-settings] .de-switch[aria-checked=\"true\"]::after {\n transform: translateX(16px);\n}\n[data-desktop-enhance-settings] .de-switch:disabled {\n opacity: .5;\n cursor: default;\n}\n[data-desktop-enhance-settings] .de-note {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-settings] .de-error {\n color: var(--dsw-alias-state-error-primary);\n font: var(--dsw-font-xxs-12);\n}\n\n\n\n[data-desktop-enhance-settings] .de-suggest-settings {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n[data-desktop-enhance-settings] .de-suggest-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 10px;\n}\n[data-desktop-enhance-settings] .de-suggest-grid .de-item-block,\n[data-desktop-enhance-settings] .de-prompt-item,\n[data-desktop-enhance-settings] .de-defaults-box {\n padding: 10px 12px;\n border-radius: var(--dsw-radius-sm);\n border: 1px solid var(--dsw-alias-border-l1);\n background: color-mix(in srgb, var(--dsw-alias-bg-layer-2) 60%, transparent);\n}\n[data-desktop-enhance-settings] .de-suggest-grid .de-item-block {\n justify-content: space-between;\n}\n[data-desktop-enhance-settings] .de-item-block {\n align-items: stretch;\n flex-direction: column;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-prompt-item {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: center;\n gap: 8px 12px;\n}\n[data-desktop-enhance-settings] .de-select,\n[data-desktop-enhance-settings] .de-text-input,\n[data-desktop-enhance-settings] .de-textarea {\n box-sizing: border-box;\n background: var(--dsw-alias-bg-layer-1, var(--dsw-alias-bg-layer-2));\n border: 1px solid var(--dsw-alias-border-l2, var(--dsw-alias-border-l1));\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n padding: 6px 8px;\n width: 100%;\n}\n[data-desktop-enhance-settings] .de-select:disabled,\n[data-desktop-enhance-settings] .de-text-input:disabled,\n[data-desktop-enhance-settings] .de-textarea:disabled {\n opacity: .5;\n}\n\n[data-desktop-enhance-settings] .de-textarea {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n line-height: 1.5;\n resize: vertical;\n white-space: pre-wrap;\n}\n[data-desktop-enhance-settings] .de-prompt {\n display: contents;\n}\n[data-desktop-enhance-settings] .de-prompt-bar {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n flex: none;\n}\n[data-desktop-enhance-settings] .de-prompt-body {\n grid-column: 1 / -1;\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding-top: 8px;\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-prompt-body[hidden] {\n display: none !important;\n}\n[data-desktop-enhance-settings] .de-prompt-meta {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-settings] .de-prompt-actions {\n display: flex;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-button {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n font: var(--dsw-font-xxs-12);\n padding: 4px 10px;\n}\n[data-desktop-enhance-settings] .de-button:hover {\n border-color: var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-settings] .de-button:disabled {\n cursor: default;\n opacity: .5;\n}\n\n\n\n\n:root[data-desktop-enhance-off-suggest] [data-desktop-enhance='suggest'] {\n display: none !important;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest {\n align-items: center;\n \n background: color-mix(in srgb, var(--dsw-alias-state-business-tertiary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 20%, transparent);\n border-radius: var(--dsw-radius-md);\n box-sizing: border-box;\n display: flex;\n \n flex-wrap: wrap;\n gap: 6px;\n \n margin: 0 auto 6px;\n max-width: var(--dsh-composer-card-max-width, 100%);\n \n min-width: 0;\n \n padding: 4px 10px 4px 13px;\n width: calc(100% - var(--dsh-composer-side-clearance, 0px) - var(--dsh-composer-side-clearance, 0px));\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-head {\n align-items: center;\n display: flex;\n flex: none;\n gap: 2px;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-title {\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n \n white-space: nowrap;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-close {\n appearance: none;\n background: none;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n flex: none;\n font: var(--dsw-font-xxs-12);\n line-height: 1;\n padding: 2px 4px;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-close:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row {\n appearance: none;\n align-items: center;\n background: none;\n \n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 35%, transparent);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n display: flex;\n flex: 0 1 auto;\n font: var(--dsw-font-xs-13);\n gap: 6px;\n \n max-width: 100%;\n min-width: 0;\n padding: 4px 10px;\n text-align: left;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row:hover {\n background: var(--dsw-alias-state-business-tertiary);\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n transition: background-color .12s ease, border-color .12s ease, color .12s ease;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-row[data-used='true'] {\n border-color: var(--dsw-alias-brand-primary);\n color: var(--dsw-alias-label-secondary);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-num {\n color: var(--dsw-alias-label-primary);\n flex: none;\n font: var(--dsw-font-xs-13);\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-text {\n max-width: 22ch;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-loading {\n border-style: dashed;\n color: var(--dsw-alias-label-secondary);\n cursor: default;\n}\n\n:root:not([data-desktop-enhance-off-suggest]) .de-suggest-error {\n color: var(--dsw-alias-state-error-primary);\n flex: 1 1 auto;\n font: var(--dsw-font-xxs-12);\n min-width: 0;\n padding: 2px;\n}\n\n\n:root:not([data-desktop-enhance-off-step-duration]) [data-desktop-enhance-duration]::after {\n content: attr(data-desktop-enhance-duration);\n \n margin-left: 8px;\n font-size: inherit;\n line-height: inherit;\n \n font-variant-numeric: tabular-nums;\n color: inherit;\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n}\n\n:root:not([data-desktop-enhance-off-step-duration])\n [data-desktop-enhance-duration]:has([data-step-process-icon])::after {\n margin-left: 2px;\n}\n\n\n:root[data-desktop-enhance-off-session-info] [data-desktop-enhance-session-info],\n:root[data-desktop-enhance-off-session-info] [data-desktop-enhance-tools-popover],\n:root[data-desktop-enhance-off-session-info] [data-desktop-enhance-skills-popover],\n:root[data-desktop-enhance-off-session-info] [data-desktop-enhance-popover-backdrop] {\n display: none !important;\n}\n:root:not([data-desktop-enhance-off-session-info]) [data-desktop-enhance-session-info] {\n position: absolute;\n top: 12px;\n right: 36px;\n z-index: 10;\n width: 244px;\n box-sizing: border-box;\n border-radius: var(--dsw-radius-lg);\n border: 1px solid var(--dsw-alias-border-l2);\n background: color-mix(in srgb, var(--dsw-alias-bg-layer-1) 90%, transparent);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n box-shadow: var(--dsw-elevation-panel);\n color: var(--dsw-alias-label-primary);\n overflow: hidden;\n}\n:root:not([data-desktop-enhance-off-session-info])\n [data-desktop-enhance-session-info][data-minimized=\"true\"] {\n width: auto;\n border-radius: 999px;\n}\n\n:root:not([data-desktop-enhance-off-session-info])\n [data-desktop-enhance-session-info][data-compact=\"true\"] {\n top: 8px;\n right: 10px;\n width: min(260px, calc(100% - 20px));\n}\n:root:not([data-desktop-enhance-off-session-info])\n [data-desktop-enhance-session-info][data-compact=\"true\"][data-minimized=\"true\"] {\n width: auto;\n max-width: calc(100% - 20px);\n}\nbody.dsh-remote-portrait:not(.dsh-remote-rail-hidden) [data-desktop-enhance-session-info],\nbody.dsh-remote-portrait:not(.dsh-remote-rail-hidden) [data-desktop-enhance-tools-popover],\nbody.dsh-remote-portrait:not(.dsh-remote-rail-hidden) [data-desktop-enhance-skills-popover],\nbody.dsh-remote-portrait:not(.dsh-remote-rail-hidden) [data-desktop-enhance-popover-backdrop] {\n display: none !important;\n}\n[data-desktop-enhance-session-info] [data-session-info-header] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border: none;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: color-mix(in srgb, var(--dsw-alias-bg-module-platform) 60%, transparent);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-session-info][data-minimized=\"true\"] [data-session-info-header] {\n border-bottom: none;\n background: transparent;\n padding: 5px 11px;\n}\n[data-desktop-enhance-session-info] [data-session-info-header]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n[data-desktop-enhance-session-info] [data-session-info-title] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n[data-desktop-enhance-session-info][data-compact=\"true\"] [data-session-info-title],\n[data-desktop-enhance-session-info][data-compact=\"true\"] [data-session-info-title] > span:last-child {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-desktop-enhance-session-info] [data-session-info-dot] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex: none;\n background: var(--dsw-alias-state-business-primary);\n box-shadow: 0 0 0 2.5px var(--dsw-alias-state-business-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-dot=\"idle\"] {\n background: var(--dsw-alias-label-caption);\n box-shadow: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-chevron] {\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 1;\n}\n[data-desktop-enhance-session-info] [data-session-info-section] {\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-session-info] [data-session-info-section]:last-child {\n border-bottom: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-section-header] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-section-header]:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n[data-desktop-enhance-session-info] [data-session-info-section-label] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n min-width: 0;\n}\n[data-desktop-enhance-session-info] [data-session-info-arrow] {\n color: var(--dsw-alias-label-tertiary);\n font-size: 10px;\n}\n[data-desktop-enhance-session-info] [data-session-info-count] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-session-info][data-empty=\"true\"] [data-session-info-count] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-body] {\n padding: 2px 6px 6px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 184px;\n overflow-y: auto;\n}\n[data-desktop-enhance-session-info] [data-session-info-empty] {\n padding: 4px 6px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n[data-desktop-enhance-session-info] [data-session-info-item] {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 5px 8px;\n border: none;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n text-align: left;\n}\n[data-desktop-enhance-session-info] [data-session-info-item]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-desktop-enhance-session-info] [data-session-info-item-name] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n[data-desktop-enhance-session-info] [data-session-info-item-meta] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n flex: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-item-badge] {\n font-size: 10.5px;\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-item-turn] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n padding: 0 5px;\n line-height: 16px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n\n\n:root[data-desktop-enhance-off-tools-manager] [data-session-info-section=\"tools\"],\n:root[data-desktop-enhance-off-tools-manager] [data-desktop-enhance-tools-popover],\n:root[data-desktop-enhance-off-tools-manager] [data-desktop-enhance-popover-backdrop=\"tools\"],\n:root[data-desktop-enhance-off-tools-manager] [data-desktop-enhance-defaults=\"tools\"] {\n display: none !important;\n}\n:root[data-desktop-enhance-off-skills-manager] [data-session-info-skills-summary],\n:root[data-desktop-enhance-off-skills-manager] [data-desktop-enhance-skills-popover],\n:root[data-desktop-enhance-off-skills-manager] [data-desktop-enhance-popover-backdrop=\"skills\"],\n:root[data-desktop-enhance-off-skills-manager] [data-desktop-enhance-defaults=\"skills\"] {\n display: none !important;\n}\n[data-desktop-enhance-session-info] [data-session-info-skills-summary] {\n border-top: 0.5px dashed var(--dsw-alias-border-l2);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-row] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n gap: 8px;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-left] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n min-width: 0;\n flex-wrap: wrap;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-title] {\n font: var(--dsw-font-xxs-strong-12, 600 12px/18px sans-serif);\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-count] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-count][data-has-disabled=\"true\"] {\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-state-warn-label);\n}\n[data-desktop-enhance-session-info] [data-session-info-override-badge] {\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-state-business-primary);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-manage] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 30%, transparent);\n border-radius: var(--dsw-radius-xs);\n padding: 2px 8px;\n font: var(--dsw-font-xxs-strong-12, 600 11px/16px sans-serif);\n cursor: pointer;\n flex: none;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-manage]:hover {\n background: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-bg-layer-1);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-disabled],\n[data-desktop-enhance-session-info] [data-session-info-skills-disabled] {\n padding: 0 10px 7px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-muted],\n[data-desktop-enhance-tools-popover] [data-session-info-tools-muted],\n[data-desktop-enhance-skills-popover] [data-session-info-tools-muted] {\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n color: var(--dsw-alias-label-tertiary);\n}\n[data-desktop-enhance-session-info] [data-session-info-tools-tag],\n[data-desktop-enhance-session-info] [data-session-info-skills-tag] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n text-decoration: line-through;\n}\n:root:not([data-desktop-enhance-off-tools-manager]) [data-desktop-enhance-tools-popover],\n:root:not([data-desktop-enhance-off-skills-manager]) [data-desktop-enhance-skills-popover] {\n position: absolute;\n top: 12px;\n right: 292px;\n width: 520px;\n max-width: calc(100% - 308px);\n z-index: 20;\n background: var(--dsw-alias-bg-layer-2);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n box-shadow: var(--dsw-alias-shadow-l2, 0 8px 24px color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-primary);\n}\n\n:root:not([data-desktop-enhance-off-session-info]) [data-desktop-enhance-popover-backdrop] {\n position: fixed;\n inset: 0;\n z-index: 2147482050;\n background: var(--dsw-alias-bg-mask-1, color-mix(in srgb, var(--dsw-alias-label-primary) 42%, transparent));\n backdrop-filter: blur(3px);\n -webkit-backdrop-filter: blur(3px);\n}\n:root:not([data-desktop-enhance-off-tools-manager])\n [data-desktop-enhance-tools-popover][data-compact=\"true\"],\n:root:not([data-desktop-enhance-off-skills-manager])\n [data-desktop-enhance-skills-popover][data-compact=\"true\"] {\n position: fixed;\n top: 50%;\n left: 50%;\n right: auto;\n transform: translate(-50%, -50%);\n width: calc(100vw - 24px);\n max-width: 440px;\n max-height: calc(100dvh - 48px);\n z-index: 2147482100;\n border-radius: var(--dsw-radius-lg);\n box-shadow: var(--dsw-elevation-panel);\n}\n[data-desktop-enhance-tools-popover][data-compact=\"true\"] [data-tools-popover-body],\n[data-desktop-enhance-skills-popover][data-compact=\"true\"] [data-tools-popover-body] {\n flex: 1 1 auto;\n min-height: 0;\n overflow: hidden;\n}\n[data-desktop-enhance-tools-popover][data-compact=\"true\"] [data-tools-popover-tree],\n[data-desktop-enhance-skills-popover][data-compact=\"true\"] [data-tools-popover-tree] {\n flex: 1 1 auto;\n min-height: 0;\n max-height: calc(100dvh - 210px);\n -webkit-overflow-scrolling: touch;\n}\n[data-desktop-enhance-tools-popover][data-compact=\"true\"] [data-tools-popover-search],\n[data-desktop-enhance-skills-popover][data-compact=\"true\"] [data-tools-popover-search] {\n font-size: 16px;\n min-height: 34px;\n}\n[data-desktop-enhance-tools-popover][data-compact=\"true\"] [data-tools-btn],\n[data-desktop-enhance-skills-popover][data-compact=\"true\"] [data-tools-btn] {\n min-height: 28px;\n padding: 4px 10px;\n font-size: 12px;\n}\n[data-desktop-enhance-tools-popover][data-compact=\"true\"] [data-tools-popover-close],\n[data-desktop-enhance-skills-popover][data-compact=\"true\"] [data-tools-popover-close] {\n width: 30px;\n height: 30px;\n display: grid;\n place-items: center;\n font-size: 14px;\n}\n[data-tools-popover-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-3);\n}\n[data-tools-popover-title-wrap] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n[data-tools-popover-title] {\n font: var(--dsw-font-xs-strong-13, 600 13px/18px sans-serif);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-close] {\n background: transparent;\n border: none;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n padding: 4px 6px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-tools-popover-close]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-body] {\n display: flex;\n flex-direction: column;\n padding: 10px 12px;\n gap: 8px;\n}\n[data-popover-override-banner] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 6px 10px;\n border-radius: var(--dsw-radius-sm);\n background: color-mix(in srgb, var(--dsw-alias-state-business-tertiary) 45%, transparent);\n border: 1px solid color-mix(in srgb, var(--dsw-alias-state-business-primary) 25%, transparent);\n font-size: 11.5px;\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-toolbar] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n[data-tools-popover-search] {\n flex: 1 1 auto;\n min-width: 0;\n background: var(--dsw-alias-bg-layer-1);\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n padding: 5px 9px;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-primary);\n}\n[data-tools-popover-actions] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-tools-popover-tree] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 380px;\n overflow-y: auto;\n padding-right: 2px;\n}\n[data-tools-node-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n cursor: pointer;\n user-select: none;\n}\n[data-tools-node-header]:hover,\n[data-tools-leaf]:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-tools-node-title] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n min-width: 0;\n}\n[data-tools-leaf] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 10px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-tools-leaf-info] {\n flex: 1 1 auto;\n min-width: 0;\n}\n[data-tools-leaf-header],\n[data-skills-leaf-header] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n}\n[data-tools-leaf-name] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n word-break: break-all;\n}\n[data-tools-leaf][data-disabled=\"true\"] [data-tools-leaf-name] {\n color: var(--dsw-alias-label-tertiary);\n text-decoration: line-through;\n}\n[data-tools-source-badge],\n[data-skills-source-badge],\n[data-skills-user-only] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n[data-tools-source-badge=\"plugin\"],\n[data-skills-source-badge=\"project\"] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-skills-preview] {\n background: transparent;\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n}\n[data-skills-preview]:hover {\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n}\n[data-tools-leaf-desc] {\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n margin-top: 2px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n}\n[data-tools-controls] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-tools-pill] {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 6px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-tools-pill][data-disabled=\"true\"] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n[data-tools-btn] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n border: 1px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n padding: 2px 8px;\n}\n[data-tools-btn]:hover:not(:disabled) {\n border-color: var(--dsw-alias-state-business-primary);\n color: var(--dsw-alias-state-business-primary);\n}\n[data-tools-btn]:disabled {\n cursor: default;\n opacity: .5;\n}\n[data-tools-empty] {\n padding: 8px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n\n\n[data-desktop-enhance-settings] .de-defaults-box {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-defaults-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n[data-desktop-enhance-settings] .de-defaults-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-defaults-tags {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin-top: 2px;\n}\n[data-desktop-enhance-settings] .de-defaults-status,\n[data-desktop-enhance-settings] .de-defaults-muted {\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n font-size: 11px;\n}\n[data-desktop-enhance-settings] .de-defaults-tag {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 11px;\n padding: 1px 6px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n text-decoration: line-through;\n}\n[data-desktop-enhance-settings] .de-defaults-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--dsw-alias-border-l1);\n}\n[data-desktop-enhance-settings] .de-defaults-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n[data-desktop-enhance-settings] .de-defaults-tree {\n display: flex;\n flex-direction: column;\n gap: 2px;\n max-height: 320px;\n overflow-y: auto;\n}\n[data-desktop-enhance-settings] .de-defaults-group-head,\n[data-desktop-enhance-settings] .de-defaults-leaf {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 5px 8px;\n border-radius: var(--dsw-radius-xs);\n}\n[data-desktop-enhance-settings] .de-defaults-group-head {\n cursor: pointer;\n user-select: none;\n}\n[data-desktop-enhance-settings] .de-defaults-group-head:hover,\n[data-desktop-enhance-settings] .de-defaults-leaf:hover {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n}\n[data-desktop-enhance-settings] .de-defaults-group-title {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-info {\n flex: 1 1 auto;\n min-width: 0;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-name {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 12px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n[data-desktop-enhance-settings] .de-defaults-leaf[data-disabled=\"true\"] .de-defaults-leaf-name {\n color: var(--dsw-alias-label-tertiary);\n text-decoration: line-through;\n}\n[data-desktop-enhance-settings] .de-defaults-leaf-desc {\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-tertiary);\n margin-top: 2px;\n}\n[data-desktop-enhance-settings] .de-defaults-source-badge {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10px;\n padding: 0 5px;\n line-height: 15px;\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-secondary);\n}\n[data-desktop-enhance-settings] .de-defaults-source-badge[data-tool-scope=\"plugin\"] {\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-settings] .de-defaults-controls {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex: none;\n}\n[data-desktop-enhance-settings] .de-defaults-pill {\n font-family: var(--dsw-font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);\n font-size: 10.5px;\n padding: 1px 6px;\n line-height: 16px;\n border-radius: 999px;\n background: var(--dsw-alias-state-business-tertiary);\n color: var(--dsw-alias-label-primary-bluish);\n}\n[data-desktop-enhance-settings] .de-defaults-pill[data-disabled=\"true\"],\n[data-desktop-enhance-settings] .de-defaults-pill[data-desktop-enhance-prompt-status=\"default\"] {\n background: var(--dsw-alias-interactive-bg-hover-solid);\n color: var(--dsw-alias-label-tertiary);\n}\n\n\n\n";
|
|
4963
5120
|
//#endregion
|
|
4964
5121
|
//#region src/client/index.tsx
|
|
4965
5122
|
const inject = [
|
|
@@ -5154,6 +5311,8 @@ window.__ModuleLoader__.load({
|
|
|
5154
5311
|
moveReveal,
|
|
5155
5312
|
FIELDS,
|
|
5156
5313
|
GATES,
|
|
5314
|
+
SETTINGS_GROUPS,
|
|
5315
|
+
FEATURE_BADGES,
|
|
5157
5316
|
flagOn,
|
|
5158
5317
|
applyGates,
|
|
5159
5318
|
createSettingsStore,
|
|
@@ -5225,9 +5384,11 @@ window.__ModuleLoader__.load({
|
|
|
5225
5384
|
normalizeSkillProjection,
|
|
5226
5385
|
buildSessionInfoSections,
|
|
5227
5386
|
SESSION_INFO_ATTR,
|
|
5387
|
+
POPOVER_BACKDROP_ATTR,
|
|
5228
5388
|
TOOLS_POPOVER_ATTR,
|
|
5229
5389
|
SKILLS_POPOVER_ATTR,
|
|
5230
5390
|
SESSION_INFO_URL,
|
|
5391
|
+
isCompactViewport,
|
|
5231
5392
|
requestSessionInfo,
|
|
5232
5393
|
openSkillInHost,
|
|
5233
5394
|
installSessionInfo,
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-desktop-enhance",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "DSH Desktop 界面增强:页内查找(Cmd+F)、轮次编号、上下文压缩行常显、建议、每步耗时、会话信息、工具管理、Skill 管理。",
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
5
8
|
"type": "module",
|
|
6
9
|
"exports": {
|
|
7
10
|
".": "./lib/index.js",
|
|
@@ -26,6 +29,18 @@
|
|
|
26
29
|
"lib",
|
|
27
30
|
"cordis.patch.yml"
|
|
28
31
|
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsdown",
|
|
34
|
+
"dev": "tsdown --watch",
|
|
35
|
+
"typecheck": "tsc --noEmit",
|
|
36
|
+
"test": "node --test tests/*.test.mjs",
|
|
37
|
+
"test:isolation": "./tools/test-isolation.sh",
|
|
38
|
+
"verify": "pnpm typecheck && pnpm build && pnpm test && pnpm test:isolation",
|
|
39
|
+
"prepack": "pnpm build",
|
|
40
|
+
"prepublishOnly": "pnpm verify",
|
|
41
|
+
"release:patch": "npm version patch && pnpm publish",
|
|
42
|
+
"release:minor": "npm version minor && pnpm publish"
|
|
43
|
+
},
|
|
29
44
|
"publishConfig": {
|
|
30
45
|
"access": "public"
|
|
31
46
|
},
|
|
@@ -43,15 +58,5 @@
|
|
|
43
58
|
"@types/react": "^18.3.31",
|
|
44
59
|
"tsdown": "0.23.0",
|
|
45
60
|
"typescript": "5.9.3"
|
|
46
|
-
},
|
|
47
|
-
"scripts": {
|
|
48
|
-
"build": "tsdown",
|
|
49
|
-
"dev": "tsdown --watch",
|
|
50
|
-
"typecheck": "tsc --noEmit",
|
|
51
|
-
"test": "node --test tests/*.test.mjs",
|
|
52
|
-
"test:isolation": "./tools/test-isolation.sh",
|
|
53
|
-
"verify": "pnpm typecheck && pnpm build && pnpm test && pnpm test:isolation",
|
|
54
|
-
"release:patch": "npm version patch && pnpm publish",
|
|
55
|
-
"release:minor": "npm version minor && pnpm publish"
|
|
56
61
|
}
|
|
57
|
-
}
|
|
62
|
+
}
|