dsh-better-display 0.2.1 → 0.3.0
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/CHANGELOG.md +11 -0
- package/README.en.md +4 -2
- package/README.md +4 -2
- package/compat/harness-rc2.json +59 -0
- package/docs/official-rendering-bridge.md +65 -0
- package/lib/client.js +858 -456
- package/lib/client.js.map +1 -1
- package/lib/types/client/Blocks.d.ts +2 -1
- package/lib/types/client/Blocks.d.ts.map +1 -1
- package/lib/types/client/Blocks.js +2 -2
- package/lib/types/client/Blocks.js.map +1 -1
- package/lib/types/client/OfficialContent.d.ts +25 -0
- package/lib/types/client/OfficialContent.d.ts.map +1 -0
- package/lib/types/client/OfficialContent.js +42 -0
- package/lib/types/client/OfficialContent.js.map +1 -0
- package/lib/types/client/Reader.d.ts.map +1 -1
- package/lib/types/client/Reader.js +38 -6
- package/lib/types/client/Reader.js.map +1 -1
- package/lib/types/client/ToolActivity.d.ts.map +1 -1
- package/lib/types/client/ToolActivity.js +21 -17
- package/lib/types/client/ToolActivity.js.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +23 -33
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/markdown/MarkdownText.d.ts +3 -1
- package/lib/types/client/markdown/MarkdownText.d.ts.map +1 -1
- package/lib/types/client/markdown/MarkdownText.js +14 -7
- package/lib/types/client/markdown/MarkdownText.js.map +1 -1
- package/lib/types/client/markdown/render.d.ts +2 -0
- package/lib/types/client/markdown/render.d.ts.map +1 -1
- package/lib/types/client/markdown/render.js +22 -6
- package/lib/types/client/markdown/render.js.map +1 -1
- package/lib/types/client/motion.d.ts.map +1 -1
- package/lib/types/client/motion.js +22 -13
- package/lib/types/client/motion.js.map +1 -1
- package/lib/types/client/native/ContextInjectionRow.d.ts +12 -3
- package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -1
- package/lib/types/client/native/ContextInjectionRow.js +6 -3
- package/lib/types/client/native/ContextInjectionRow.js.map +1 -1
- package/lib/types/client/official-slots.d.ts +71 -0
- package/lib/types/client/official-slots.d.ts.map +1 -0
- package/lib/types/client/official-slots.js +183 -0
- package/lib/types/client/official-slots.js.map +1 -0
- package/lib/types/client/platform-media.d.ts +6 -0
- package/lib/types/client/platform-media.d.ts.map +1 -0
- package/lib/types/client/platform-media.js +13 -0
- package/lib/types/client/platform-media.js.map +1 -0
- package/lib/types/client/settings.js.map +1 -1
- package/lib/types/client/store.d.ts +1 -0
- package/lib/types/client/store.d.ts.map +1 -1
- package/lib/types/client/store.js +1 -0
- package/lib/types/client/store.js.map +1 -1
- package/lib/types/client/tool-activity.d.ts +1 -1
- package/lib/types/client/tool-activity.d.ts.map +1 -1
- package/lib/types/client/tool-activity.js +9 -2
- package/lib/types/client/tool-activity.js.map +1 -1
- package/lib/types/client/types.d.ts +18 -8
- package/lib/types/client/types.d.ts.map +1 -1
- package/lib/types/client/word-motion.d.ts.map +1 -1
- package/lib/types/client/word-motion.js +2 -1
- package/lib/types/client/word-motion.js.map +1 -1
- package/package.json +22 -16
- package/scripts/check-harness-compat.mjs +71 -0
- package/scripts/link-harness-dependencies.mjs +1 -0
- package/scripts/verify-auto-fold.mjs +114 -0
- package/scripts/verify-official-bridge.mjs +119 -0
- package/src/client/Blocks.tsx +2 -1
- package/src/client/OfficialContent.tsx +57 -0
- package/src/client/Reader.module.css +23 -8
- package/src/client/Reader.tsx +37 -9
- package/src/client/ToolActivity.tsx +22 -27
- package/src/client/index.tsx +27 -31
- package/src/client/markdown/MarkdownText.tsx +14 -6
- package/src/client/markdown/render.tsx +23 -7
- package/src/client/motion.tsx +18 -11
- package/src/client/native/ContextInjectionRow.tsx +19 -7
- package/src/client/official-slots.tsx +211 -0
- package/src/client/platform-media.ts +11 -0
- package/src/client/settings.tsx +1 -1
- package/src/client/store.ts +2 -0
- package/src/client/tool-activity.ts +9 -2
- package/src/client/types.ts +14 -8
- package/src/client/word-motion.tsx +2 -1
- package/tests/browser-auto-fold.tsx +64 -0
- package/tests/browser-official-bridge.tsx +144 -0
- package/tests/official-slots.test.ts +112 -0
- package/tests/platform-media.test.ts +17 -0
package/lib/client.js
CHANGED
|
@@ -20,7 +20,7 @@ window.__ModuleLoader__.load({
|
|
|
20
20
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
21
21
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
22
22
|
let _deepseek_ai_dsh_client_store = require("@deepseek-ai/dsh-client-store");
|
|
23
|
-
//#region
|
|
23
|
+
//#region ../../../../DeepSeekHarness/runtime/packages/util/workspace-path/lib/index.js
|
|
24
24
|
/**
|
|
25
25
|
* The `dsh-resource://file/…` address grammar: how a file is named across the
|
|
26
26
|
* Sidebar and the resource model, built and parsed without touching a
|
|
@@ -378,13 +378,13 @@ window.__ModuleLoader__.load({
|
|
|
378
378
|
const command = stringValue(args, "command", "cmd", "script");
|
|
379
379
|
const description = stringValue(args, "description");
|
|
380
380
|
const file = target?.split(/[/\\]/).at(-1);
|
|
381
|
-
const category = /^(write|edit|apply_patch|patch|str_replace_editor)$/.test(name) ? "write" : /^(read|read_file)$/.test(name) ? "read" : /^(bash|shell|terminal|terminal_send|exec_command|pwsh)$/.test(name) ? "terminal" : /^(grep|glob|find|search)$/.test(name) ? "search" : /^(web_search|web_fetch|web_open)$/.test(name) ? "web" : "other";
|
|
381
|
+
const category = /^(write|edit|apply_patch|patch|str_replace_editor)$/.test(name) ? "write" : /^(read|read_file)$/.test(name) ? "read" : /^(bash|shell|terminal|terminal_send|exec_command|pwsh)$/.test(name) ? "terminal" : /^(grep|glob|find|search)$/.test(name) ? "search" : /^(web_search|web_fetch|web_open)$/.test(name) ? "web" : /^(run_code|execute_code|code_interpreter|python|node|eval|repl)$/.test(name) ? "code" : "other";
|
|
382
382
|
return {
|
|
383
383
|
name,
|
|
384
384
|
raw,
|
|
385
385
|
args,
|
|
386
386
|
category,
|
|
387
|
-
title: category === "write" ? `${name === "write" ? "写入" : "修改"}${file ? ` ${file}` : name === "apply_patch" ? "代码补丁" : "文件"}` : category === "read" ? `读取${file ? ` ${file}` : "文件"}` : category === "terminal" ? description || "运行命令" : category === "search" ? name === "glob" ? "查找文件" : "搜索内容" : category === "web" ? name === "web_search" ? "搜索网页" : "读取网页" : name,
|
|
387
|
+
title: category === "write" ? `${name === "write" ? "写入" : "修改"}${file ? ` ${file}` : name === "apply_patch" ? "代码补丁" : "文件"}` : category === "read" ? `读取${file ? ` ${file}` : "文件"}` : category === "terminal" ? description || "运行命令" : category === "search" ? name === "glob" ? "查找文件" : "搜索内容" : category === "web" ? name === "web_search" ? "搜索网页" : "读取网页" : category === "code" ? description || "运行代码" : name,
|
|
388
388
|
target: target ?? command ?? stringValue(args, "query", "pattern", "url"),
|
|
389
389
|
command,
|
|
390
390
|
cwd: stringValue(args, "workdir", "cwd"),
|
|
@@ -727,7 +727,7 @@ ${trimmed}
|
|
|
727
727
|
}
|
|
728
728
|
//#endregion
|
|
729
729
|
//#region \0dshx-css-module:McpAppFrame.module.css.mjs
|
|
730
|
-
const css$7 = ".
|
|
730
|
+
const css$7 = ".OZWxoa_card{border:1px solid var(--dsw-alias-border-l2,#00000014);background:var(--dsw-alias-bg-module-platform,transparent);border-radius:14px;margin:16px 0;transition:border-color .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.OZWxoa_card:hover{border-color:var(--dsw-alias-border-l1,#00000029);box-shadow:0 2px 10px -2px #0000000a}.OZWxoa_header{border-bottom:1px solid var(--dsw-alias-border-l2,#0000000f);background:var(--dsw-alias-interactive-bg-hover,#00000004);user-select:none;justify-content:space-between;align-items:center;height:36px;padding:0 14px;display:flex}.OZWxoa_titleArea{align-items:center;gap:7px;min-width:0;display:flex}.OZWxoa_icon{color:var(--dsw-alias-label-tertiary,#94a3b8);flex-shrink:0;justify-content:center;align-items:center;display:flex}.OZWxoa_title{color:var(--dsw-alias-label-secondary,#64748b);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.OZWxoa_actions{align-items:center;gap:4px;display:flex}.OZWxoa_iconBtn{width:24px;height:24px;color:var(--dsw-alias-label-tertiary,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.OZWxoa_iconBtn:hover{background:var(--dsw-alias-interactive-bg-hover,#0000000f);color:var(--dsw-alias-label-primary,#0f172a)}.OZWxoa_iconBtn:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,#2563eb);outline-offset:1px}.OZWxoa_iframeWrapper{background:0 0;width:100%;transition:height .25s cubic-bezier(.22,1,.36,1);position:relative}.OZWxoa_iframe{background:0 0;border:none;width:100%;height:100%;display:block}.OZWxoa_receipt{background:var(--dsw-alias-interactive-bg-hover,#22c55e0d);border-top:1px solid var(--dsw-alias-border-l2,#0000000f);color:var(--dsw-alias-label-primary,#0f172a);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:8px 14px;font-size:12px;line-height:18px;animation:.2s cubic-bezier(.22,1,.36,1) OZWxoa_slideUp;display:flex}.OZWxoa_receiptPrompt{color:var(--dsw-alias-label-secondary,#64748b);background:var(--dsw-alias-bg-base,#00000008);border:1px solid var(--dsw-alias-border-l2,#0000000f);user-select:text;cursor:text;overflow-wrap:anywhere;border-radius:6px;flex:100%;padding:6px 10px;font-size:12px;line-height:18px}@keyframes OZWxoa_slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.OZWxoa_receiptSummary{color:var(--dsw-alias-state-business-primary,#16a34a);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:flex;overflow:hidden}.OZWxoa_receiptHint{align-items:center;gap:6px;display:flex}.OZWxoa_sendKbd{color:var(--dsw-alias-label-tertiary,#94a3b8);background:var(--dsw-alias-bg-base,#0000000a);border:1px solid var(--dsw-alias-border-l2,#00000014);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:2px 8px;font-family:inherit;font-size:11px;transition:all .15s;display:inline-flex}.OZWxoa_sendKbd:hover{background:var(--dsw-alias-interactive-bg-hover,#00000014);color:var(--dsw-alias-label-primary,#0f172a)}.OZWxoa_sendKbd:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary,#2563eb);outline-offset:1px}.OZWxoa_streamingPlaceholder{border:1px dashed var(--dsw-alias-border-l2,#0000001f);background:var(--dsw-alias-interactive-bg-hover,#00000004);color:var(--dsw-alias-label-secondary,#64748b);border-radius:14px;align-items:center;gap:10px;margin:16px 0;padding:16px 18px;font-size:13px;display:flex}.OZWxoa_pulseDot{background:var(--dsw-alias-state-business-primary,#2563eb);border-radius:50%;width:7px;height:7px;animation:1.5s ease-in-out infinite OZWxoa_pulse}@keyframes OZWxoa_pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}";
|
|
731
731
|
const tagId$7 = "dsh-better-display/McpAppFrame.module.css";
|
|
732
732
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
|
|
733
733
|
const tag = document.createElement("style");
|
|
@@ -737,24 +737,24 @@ ${trimmed}
|
|
|
737
737
|
document.head.appendChild(tag);
|
|
738
738
|
}
|
|
739
739
|
var McpAppFrame_module_css_default = {
|
|
740
|
-
"actions": "
|
|
741
|
-
"card": "
|
|
742
|
-
"header": "
|
|
743
|
-
"icon": "
|
|
744
|
-
"iconBtn": "
|
|
745
|
-
"iframe": "
|
|
746
|
-
"iframeWrapper": "
|
|
747
|
-
"pulse": "
|
|
748
|
-
"pulseDot": "
|
|
749
|
-
"receipt": "
|
|
750
|
-
"receiptHint": "
|
|
751
|
-
"receiptPrompt": "
|
|
752
|
-
"receiptSummary": "
|
|
753
|
-
"sendKbd": "
|
|
754
|
-
"slideUp": "
|
|
755
|
-
"streamingPlaceholder": "
|
|
756
|
-
"title": "
|
|
757
|
-
"titleArea": "
|
|
740
|
+
"actions": "OZWxoa_actions",
|
|
741
|
+
"card": "OZWxoa_card",
|
|
742
|
+
"header": "OZWxoa_header",
|
|
743
|
+
"icon": "OZWxoa_icon",
|
|
744
|
+
"iconBtn": "OZWxoa_iconBtn",
|
|
745
|
+
"iframe": "OZWxoa_iframe",
|
|
746
|
+
"iframeWrapper": "OZWxoa_iframeWrapper",
|
|
747
|
+
"pulse": "OZWxoa_pulse",
|
|
748
|
+
"pulseDot": "OZWxoa_pulseDot",
|
|
749
|
+
"receipt": "OZWxoa_receipt",
|
|
750
|
+
"receiptHint": "OZWxoa_receiptHint",
|
|
751
|
+
"receiptPrompt": "OZWxoa_receiptPrompt",
|
|
752
|
+
"receiptSummary": "OZWxoa_receiptSummary",
|
|
753
|
+
"sendKbd": "OZWxoa_sendKbd",
|
|
754
|
+
"slideUp": "OZWxoa_slideUp",
|
|
755
|
+
"streamingPlaceholder": "OZWxoa_streamingPlaceholder",
|
|
756
|
+
"title": "OZWxoa_title",
|
|
757
|
+
"titleArea": "OZWxoa_titleArea"
|
|
758
758
|
};
|
|
759
759
|
//#endregion
|
|
760
760
|
//#region src/client/McpAppFrame.tsx
|
|
@@ -1566,7 +1566,7 @@ ${trimmed}
|
|
|
1566
1566
|
}
|
|
1567
1567
|
};
|
|
1568
1568
|
//#endregion
|
|
1569
|
-
//#region
|
|
1569
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
|
|
1570
1570
|
/**
|
|
1571
1571
|
* @typedef {import('mdast').Nodes} Nodes
|
|
1572
1572
|
*
|
|
@@ -1648,7 +1648,7 @@ ${trimmed}
|
|
|
1648
1648
|
return Boolean(value && typeof value === "object");
|
|
1649
1649
|
}
|
|
1650
1650
|
//#endregion
|
|
1651
|
-
//#region
|
|
1651
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js
|
|
1652
1652
|
/**
|
|
1653
1653
|
* Like `Array#splice`, but smarter for giant arrays.
|
|
1654
1654
|
*
|
|
@@ -1718,7 +1718,7 @@ ${trimmed}
|
|
|
1718
1718
|
return items;
|
|
1719
1719
|
}
|
|
1720
1720
|
//#endregion
|
|
1721
|
-
//#region
|
|
1721
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js
|
|
1722
1722
|
/**
|
|
1723
1723
|
* @import {
|
|
1724
1724
|
* Extension,
|
|
@@ -1789,7 +1789,7 @@ ${trimmed}
|
|
|
1789
1789
|
splice(existing, 0, 0, before);
|
|
1790
1790
|
}
|
|
1791
1791
|
//#endregion
|
|
1792
|
-
//#region
|
|
1792
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js
|
|
1793
1793
|
/**
|
|
1794
1794
|
* @import {Code} from 'micromark-util-types'
|
|
1795
1795
|
*/
|
|
@@ -2017,7 +2017,7 @@ ${trimmed}
|
|
|
2017
2017
|
}
|
|
2018
2018
|
}
|
|
2019
2019
|
//#endregion
|
|
2020
|
-
//#region
|
|
2020
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js
|
|
2021
2021
|
/**
|
|
2022
2022
|
* @import {Effects, State, TokenType} from 'micromark-util-types'
|
|
2023
2023
|
*/
|
|
@@ -2076,7 +2076,7 @@ ${trimmed}
|
|
|
2076
2076
|
}
|
|
2077
2077
|
}
|
|
2078
2078
|
//#endregion
|
|
2079
|
-
//#region
|
|
2079
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/initialize/content.js
|
|
2080
2080
|
/**
|
|
2081
2081
|
* @import {
|
|
2082
2082
|
* InitialConstruct,
|
|
@@ -2143,7 +2143,7 @@ ${trimmed}
|
|
|
2143
2143
|
}
|
|
2144
2144
|
}
|
|
2145
2145
|
//#endregion
|
|
2146
|
-
//#region
|
|
2146
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/initialize/document.js
|
|
2147
2147
|
/**
|
|
2148
2148
|
* @import {
|
|
2149
2149
|
* Construct,
|
|
@@ -2359,7 +2359,7 @@ ${trimmed}
|
|
|
2359
2359
|
return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
|
|
2360
2360
|
}
|
|
2361
2361
|
//#endregion
|
|
2362
|
-
//#region
|
|
2362
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js
|
|
2363
2363
|
/**
|
|
2364
2364
|
* @import {Code} from 'micromark-util-types'
|
|
2365
2365
|
*/
|
|
@@ -2382,7 +2382,7 @@ ${trimmed}
|
|
|
2382
2382
|
if (unicodePunctuation(code)) return 2;
|
|
2383
2383
|
}
|
|
2384
2384
|
//#endregion
|
|
2385
|
-
//#region
|
|
2385
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js
|
|
2386
2386
|
/**
|
|
2387
2387
|
* @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'
|
|
2388
2388
|
*/
|
|
@@ -2412,7 +2412,7 @@ ${trimmed}
|
|
|
2412
2412
|
return events;
|
|
2413
2413
|
}
|
|
2414
2414
|
//#endregion
|
|
2415
|
-
//#region
|
|
2415
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/attention.js
|
|
2416
2416
|
/**
|
|
2417
2417
|
* @import {
|
|
2418
2418
|
* Code,
|
|
@@ -2632,7 +2632,7 @@ ${trimmed}
|
|
|
2632
2632
|
point._bufferIndex += offset;
|
|
2633
2633
|
}
|
|
2634
2634
|
//#endregion
|
|
2635
|
-
//#region
|
|
2635
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/autolink.js
|
|
2636
2636
|
/**
|
|
2637
2637
|
* @import {
|
|
2638
2638
|
* Construct,
|
|
@@ -2843,7 +2843,7 @@ ${trimmed}
|
|
|
2843
2843
|
}
|
|
2844
2844
|
}
|
|
2845
2845
|
//#endregion
|
|
2846
|
-
//#region
|
|
2846
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/blank-line.js
|
|
2847
2847
|
/**
|
|
2848
2848
|
* @import {
|
|
2849
2849
|
* Construct,
|
|
@@ -2900,7 +2900,7 @@ ${trimmed}
|
|
|
2900
2900
|
}
|
|
2901
2901
|
}
|
|
2902
2902
|
//#endregion
|
|
2903
|
-
//#region
|
|
2903
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/block-quote.js
|
|
2904
2904
|
/**
|
|
2905
2905
|
* @import {
|
|
2906
2906
|
* Construct,
|
|
@@ -3027,7 +3027,7 @@ ${trimmed}
|
|
|
3027
3027
|
effects.exit("blockQuote");
|
|
3028
3028
|
}
|
|
3029
3029
|
//#endregion
|
|
3030
|
-
//#region
|
|
3030
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-escape.js
|
|
3031
3031
|
/**
|
|
3032
3032
|
* @import {
|
|
3033
3033
|
* Construct,
|
|
@@ -3087,7 +3087,7 @@ ${trimmed}
|
|
|
3087
3087
|
}
|
|
3088
3088
|
}
|
|
3089
3089
|
//#endregion
|
|
3090
|
-
//#region
|
|
3090
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/character-entities@2.0.2/node_modules/character-entities/index.js
|
|
3091
3091
|
/**
|
|
3092
3092
|
* Map of named character references.
|
|
3093
3093
|
*
|
|
@@ -5221,7 +5221,7 @@ ${trimmed}
|
|
|
5221
5221
|
zwnj: ""
|
|
5222
5222
|
};
|
|
5223
5223
|
//#endregion
|
|
5224
|
-
//#region
|
|
5224
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.js
|
|
5225
5225
|
const own$1 = {}.hasOwnProperty;
|
|
5226
5226
|
/**
|
|
5227
5227
|
* Decode a single character reference (without the `&` or `;`).
|
|
@@ -5238,7 +5238,7 @@ ${trimmed}
|
|
|
5238
5238
|
return own$1.call(characterEntities, value) ? characterEntities[value] : false;
|
|
5239
5239
|
}
|
|
5240
5240
|
//#endregion
|
|
5241
|
-
//#region
|
|
5241
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-reference.js
|
|
5242
5242
|
/**
|
|
5243
5243
|
* @import {
|
|
5244
5244
|
* Code,
|
|
@@ -5376,7 +5376,7 @@ ${trimmed}
|
|
|
5376
5376
|
}
|
|
5377
5377
|
}
|
|
5378
5378
|
//#endregion
|
|
5379
|
-
//#region
|
|
5379
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-fenced.js
|
|
5380
5380
|
/**
|
|
5381
5381
|
* @import {
|
|
5382
5382
|
* Code,
|
|
@@ -5791,7 +5791,7 @@ ${trimmed}
|
|
|
5791
5791
|
}
|
|
5792
5792
|
}
|
|
5793
5793
|
//#endregion
|
|
5794
|
-
//#region
|
|
5794
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-indented.js
|
|
5795
5795
|
/**
|
|
5796
5796
|
* @import {
|
|
5797
5797
|
* Construct,
|
|
@@ -5935,7 +5935,7 @@ ${trimmed}
|
|
|
5935
5935
|
}
|
|
5936
5936
|
}
|
|
5937
5937
|
//#endregion
|
|
5938
|
-
//#region
|
|
5938
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-text.js
|
|
5939
5939
|
/**
|
|
5940
5940
|
* @import {
|
|
5941
5941
|
* Construct,
|
|
@@ -6120,7 +6120,7 @@ ${trimmed}
|
|
|
6120
6120
|
}
|
|
6121
6121
|
}
|
|
6122
6122
|
//#endregion
|
|
6123
|
-
//#region
|
|
6123
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js
|
|
6124
6124
|
/**
|
|
6125
6125
|
* Some of the internal operations of micromark do lots of editing
|
|
6126
6126
|
* operations on very large arrays. This runs into problems with two
|
|
@@ -6350,7 +6350,7 @@ ${trimmed}
|
|
|
6350
6350
|
}
|
|
6351
6351
|
}
|
|
6352
6352
|
//#endregion
|
|
6353
|
-
//#region
|
|
6353
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js
|
|
6354
6354
|
/**
|
|
6355
6355
|
* @import {Chunk, Event, Token} from 'micromark-util-types'
|
|
6356
6356
|
*/
|
|
@@ -6505,7 +6505,7 @@ ${trimmed}
|
|
|
6505
6505
|
return gaps;
|
|
6506
6506
|
}
|
|
6507
6507
|
//#endregion
|
|
6508
|
-
//#region
|
|
6508
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/content.js
|
|
6509
6509
|
/**
|
|
6510
6510
|
* @import {
|
|
6511
6511
|
* Construct,
|
|
@@ -6638,7 +6638,7 @@ ${trimmed}
|
|
|
6638
6638
|
}
|
|
6639
6639
|
}
|
|
6640
6640
|
//#endregion
|
|
6641
|
-
//#region
|
|
6641
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js
|
|
6642
6642
|
/**
|
|
6643
6643
|
* @import {Effects, State, TokenType} from 'micromark-util-types'
|
|
6644
6644
|
*/
|
|
@@ -6822,7 +6822,7 @@ ${trimmed}
|
|
|
6822
6822
|
}
|
|
6823
6823
|
}
|
|
6824
6824
|
//#endregion
|
|
6825
|
-
//#region
|
|
6825
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js
|
|
6826
6826
|
/**
|
|
6827
6827
|
* @import {
|
|
6828
6828
|
* Effects,
|
|
@@ -6954,7 +6954,7 @@ ${trimmed}
|
|
|
6954
6954
|
}
|
|
6955
6955
|
}
|
|
6956
6956
|
//#endregion
|
|
6957
|
-
//#region
|
|
6957
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js
|
|
6958
6958
|
/**
|
|
6959
6959
|
* @import {
|
|
6960
6960
|
* Code,
|
|
@@ -7099,7 +7099,7 @@ ${trimmed}
|
|
|
7099
7099
|
}
|
|
7100
7100
|
}
|
|
7101
7101
|
//#endregion
|
|
7102
|
-
//#region
|
|
7102
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js
|
|
7103
7103
|
/**
|
|
7104
7104
|
* @import {Effects, State} from 'micromark-util-types'
|
|
7105
7105
|
*/
|
|
@@ -7139,7 +7139,7 @@ ${trimmed}
|
|
|
7139
7139
|
}
|
|
7140
7140
|
}
|
|
7141
7141
|
//#endregion
|
|
7142
|
-
//#region
|
|
7142
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js
|
|
7143
7143
|
/**
|
|
7144
7144
|
* Normalize an identifier (as found in references, definitions).
|
|
7145
7145
|
*
|
|
@@ -7163,7 +7163,7 @@ ${trimmed}
|
|
|
7163
7163
|
return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
|
|
7164
7164
|
}
|
|
7165
7165
|
//#endregion
|
|
7166
|
-
//#region
|
|
7166
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/definition.js
|
|
7167
7167
|
/**
|
|
7168
7168
|
* @import {
|
|
7169
7169
|
* Construct,
|
|
@@ -7378,7 +7378,7 @@ ${trimmed}
|
|
|
7378
7378
|
}
|
|
7379
7379
|
}
|
|
7380
7380
|
//#endregion
|
|
7381
|
-
//#region
|
|
7381
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/hard-break-escape.js
|
|
7382
7382
|
/**
|
|
7383
7383
|
* @import {
|
|
7384
7384
|
* Construct,
|
|
@@ -7435,7 +7435,7 @@ ${trimmed}
|
|
|
7435
7435
|
}
|
|
7436
7436
|
}
|
|
7437
7437
|
//#endregion
|
|
7438
|
-
//#region
|
|
7438
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/heading-atx.js
|
|
7439
7439
|
/**
|
|
7440
7440
|
* @import {
|
|
7441
7441
|
* Construct,
|
|
@@ -7620,7 +7620,7 @@ ${trimmed}
|
|
|
7620
7620
|
}
|
|
7621
7621
|
}
|
|
7622
7622
|
//#endregion
|
|
7623
|
-
//#region
|
|
7623
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js
|
|
7624
7624
|
/**
|
|
7625
7625
|
* List of lowercase HTML “block” tag names.
|
|
7626
7626
|
*
|
|
@@ -7719,7 +7719,7 @@ ${trimmed}
|
|
|
7719
7719
|
"textarea"
|
|
7720
7720
|
];
|
|
7721
7721
|
//#endregion
|
|
7722
|
-
//#region
|
|
7722
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-flow.js
|
|
7723
7723
|
/**
|
|
7724
7724
|
* @import {
|
|
7725
7725
|
* Code,
|
|
@@ -8492,7 +8492,7 @@ ${trimmed}
|
|
|
8492
8492
|
}
|
|
8493
8493
|
}
|
|
8494
8494
|
//#endregion
|
|
8495
|
-
//#region
|
|
8495
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-text.js
|
|
8496
8496
|
/**
|
|
8497
8497
|
* @import {
|
|
8498
8498
|
* Code,
|
|
@@ -9106,7 +9106,7 @@ ${trimmed}
|
|
|
9106
9106
|
}
|
|
9107
9107
|
}
|
|
9108
9108
|
//#endregion
|
|
9109
|
-
//#region
|
|
9109
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-end.js
|
|
9110
9110
|
/**
|
|
9111
9111
|
* @import {
|
|
9112
9112
|
* Construct,
|
|
@@ -9576,7 +9576,7 @@ ${trimmed}
|
|
|
9576
9576
|
}
|
|
9577
9577
|
}
|
|
9578
9578
|
//#endregion
|
|
9579
|
-
//#region
|
|
9579
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-image.js
|
|
9580
9580
|
/**
|
|
9581
9581
|
* @import {
|
|
9582
9582
|
* Construct,
|
|
@@ -9669,7 +9669,7 @@ ${trimmed}
|
|
|
9669
9669
|
}
|
|
9670
9670
|
}
|
|
9671
9671
|
//#endregion
|
|
9672
|
-
//#region
|
|
9672
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-link.js
|
|
9673
9673
|
/**
|
|
9674
9674
|
* @import {
|
|
9675
9675
|
* Construct,
|
|
@@ -9717,7 +9717,7 @@ ${trimmed}
|
|
|
9717
9717
|
}
|
|
9718
9718
|
}
|
|
9719
9719
|
//#endregion
|
|
9720
|
-
//#region
|
|
9720
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/line-ending.js
|
|
9721
9721
|
/**
|
|
9722
9722
|
* @import {
|
|
9723
9723
|
* Construct,
|
|
@@ -9747,7 +9747,7 @@ ${trimmed}
|
|
|
9747
9747
|
}
|
|
9748
9748
|
}
|
|
9749
9749
|
//#endregion
|
|
9750
|
-
//#region
|
|
9750
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/thematic-break.js
|
|
9751
9751
|
/**
|
|
9752
9752
|
* @import {
|
|
9753
9753
|
* Code,
|
|
@@ -9842,7 +9842,7 @@ ${trimmed}
|
|
|
9842
9842
|
}
|
|
9843
9843
|
}
|
|
9844
9844
|
//#endregion
|
|
9845
|
-
//#region
|
|
9845
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/list.js
|
|
9846
9846
|
/**
|
|
9847
9847
|
* @import {
|
|
9848
9848
|
* Code,
|
|
@@ -10014,7 +10014,7 @@ ${trimmed}
|
|
|
10014
10014
|
}
|
|
10015
10015
|
}
|
|
10016
10016
|
//#endregion
|
|
10017
|
-
//#region
|
|
10017
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/setext-underline.js
|
|
10018
10018
|
/**
|
|
10019
10019
|
* @import {
|
|
10020
10020
|
* Code,
|
|
@@ -10166,7 +10166,7 @@ ${trimmed}
|
|
|
10166
10166
|
}
|
|
10167
10167
|
}
|
|
10168
10168
|
//#endregion
|
|
10169
|
-
//#region
|
|
10169
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/initialize/flow.js
|
|
10170
10170
|
/**
|
|
10171
10171
|
* @import {
|
|
10172
10172
|
* InitialConstruct,
|
|
@@ -10213,7 +10213,7 @@ ${trimmed}
|
|
|
10213
10213
|
}
|
|
10214
10214
|
}
|
|
10215
10215
|
//#endregion
|
|
10216
|
-
//#region
|
|
10216
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/initialize/text.js
|
|
10217
10217
|
/**
|
|
10218
10218
|
* @import {
|
|
10219
10219
|
* Code,
|
|
@@ -10390,7 +10390,7 @@ ${trimmed}
|
|
|
10390
10390
|
return events;
|
|
10391
10391
|
}
|
|
10392
10392
|
//#endregion
|
|
10393
|
-
//#region
|
|
10393
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/constructs.js
|
|
10394
10394
|
/**
|
|
10395
10395
|
* @import {Extension} from 'micromark-util-types'
|
|
10396
10396
|
*/
|
|
@@ -10468,7 +10468,7 @@ ${trimmed}
|
|
|
10468
10468
|
/** @satisfies {Extension['disable']} */
|
|
10469
10469
|
const disable = { null: [] };
|
|
10470
10470
|
//#endregion
|
|
10471
|
-
//#region
|
|
10471
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/create-tokenizer.js
|
|
10472
10472
|
/**
|
|
10473
10473
|
* @import {
|
|
10474
10474
|
* Chunk,
|
|
@@ -10937,7 +10937,7 @@ ${trimmed}
|
|
|
10937
10937
|
return result.join("");
|
|
10938
10938
|
}
|
|
10939
10939
|
//#endregion
|
|
10940
|
-
//#region
|
|
10940
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/parse.js
|
|
10941
10941
|
/**
|
|
10942
10942
|
* @import {
|
|
10943
10943
|
* Create,
|
|
@@ -10981,7 +10981,7 @@ ${trimmed}
|
|
|
10981
10981
|
}
|
|
10982
10982
|
}
|
|
10983
10983
|
//#endregion
|
|
10984
|
-
//#region
|
|
10984
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/postprocess.js
|
|
10985
10985
|
/**
|
|
10986
10986
|
* @import {Event} from 'micromark-util-types'
|
|
10987
10987
|
*/
|
|
@@ -10996,7 +10996,7 @@ ${trimmed}
|
|
|
10996
10996
|
return events;
|
|
10997
10997
|
}
|
|
10998
10998
|
//#endregion
|
|
10999
|
-
//#region
|
|
10999
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark@4.0.2_supports-color@9.4.0/node_modules/micromark/lib/preprocess.js
|
|
11000
11000
|
/**
|
|
11001
11001
|
* @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'
|
|
11002
11002
|
*/
|
|
@@ -11097,7 +11097,7 @@ ${trimmed}
|
|
|
11097
11097
|
}
|
|
11098
11098
|
}
|
|
11099
11099
|
//#endregion
|
|
11100
|
-
//#region
|
|
11100
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js
|
|
11101
11101
|
/**
|
|
11102
11102
|
* Turn the number (in string form as either hexa- or plain decimal) coming from
|
|
11103
11103
|
* a numeric character reference into a character.
|
|
@@ -11118,7 +11118,7 @@ ${trimmed}
|
|
|
11118
11118
|
return String.fromCodePoint(code);
|
|
11119
11119
|
}
|
|
11120
11120
|
//#endregion
|
|
11121
|
-
//#region
|
|
11121
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js
|
|
11122
11122
|
const characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
|
|
11123
11123
|
/**
|
|
11124
11124
|
* Decode markdown strings (which occur in places such as fenced code info
|
|
@@ -11155,7 +11155,7 @@ ${trimmed}
|
|
|
11155
11155
|
return decodeNamedCharacterReference($2) || $0;
|
|
11156
11156
|
}
|
|
11157
11157
|
//#endregion
|
|
11158
|
-
//#region
|
|
11158
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js
|
|
11159
11159
|
/**
|
|
11160
11160
|
* @typedef {import('unist').Node} Node
|
|
11161
11161
|
* @typedef {import('unist').Point} Point
|
|
@@ -11219,7 +11219,7 @@ ${trimmed}
|
|
|
11219
11219
|
return value && typeof value === "number" ? value : 1;
|
|
11220
11220
|
}
|
|
11221
11221
|
//#endregion
|
|
11222
|
-
//#region
|
|
11222
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-from-markdown@2.0.3_supports-color@9.4.0/node_modules/mdast-util-from-markdown/lib/index.js
|
|
11223
11223
|
/**
|
|
11224
11224
|
* @import {
|
|
11225
11225
|
* Break,
|
|
@@ -12185,7 +12185,7 @@ ${trimmed}
|
|
|
12185
12185
|
}) + ") is still open");
|
|
12186
12186
|
}
|
|
12187
12187
|
//#endregion
|
|
12188
|
-
//#region
|
|
12188
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js
|
|
12189
12189
|
/**
|
|
12190
12190
|
* Count how often a character (or substring) is used in a string.
|
|
12191
12191
|
*
|
|
@@ -12208,13 +12208,13 @@ ${trimmed}
|
|
|
12208
12208
|
return count;
|
|
12209
12209
|
}
|
|
12210
12210
|
//#endregion
|
|
12211
|
-
//#region
|
|
12211
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
|
|
12212
12212
|
function escapeStringRegexp(string) {
|
|
12213
12213
|
if (typeof string !== "string") throw new TypeError("Expected a string");
|
|
12214
12214
|
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
12215
12215
|
}
|
|
12216
12216
|
//#endregion
|
|
12217
|
-
//#region
|
|
12217
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js
|
|
12218
12218
|
/**
|
|
12219
12219
|
* Generate an assertion from a test.
|
|
12220
12220
|
*
|
|
@@ -12328,7 +12328,7 @@ function(test) {
|
|
|
12328
12328
|
return value !== null && typeof value === "object" && "type" in value;
|
|
12329
12329
|
}
|
|
12330
12330
|
//#endregion
|
|
12331
|
-
//#region
|
|
12331
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.node.js
|
|
12332
12332
|
/**
|
|
12333
12333
|
* @param {string} d
|
|
12334
12334
|
* @returns {string}
|
|
@@ -12337,7 +12337,7 @@ function(test) {
|
|
|
12337
12337
|
return "\x1B[33m" + d + "\x1B[39m";
|
|
12338
12338
|
}
|
|
12339
12339
|
//#endregion
|
|
12340
|
-
//#region
|
|
12340
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js
|
|
12341
12341
|
/**
|
|
12342
12342
|
* @import {Node as UnistNode, Parent as UnistParent} from 'unist'
|
|
12343
12343
|
*/
|
|
@@ -12658,7 +12658,7 @@ function(test) {
|
|
|
12658
12658
|
return value === null || value === void 0 ? empty : [value];
|
|
12659
12659
|
}
|
|
12660
12660
|
//#endregion
|
|
12661
|
-
//#region
|
|
12661
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.js
|
|
12662
12662
|
/**
|
|
12663
12663
|
* @import {Nodes, Parents, PhrasingContent, Root, Text} from 'mdast'
|
|
12664
12664
|
* @import {BuildVisitor, Test, VisitorResult} from 'unist-util-visit-parents'
|
|
@@ -12853,7 +12853,7 @@ function(test) {
|
|
|
12853
12853
|
};
|
|
12854
12854
|
}
|
|
12855
12855
|
//#endregion
|
|
12856
|
-
//#region
|
|
12856
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
|
|
12857
12857
|
/**
|
|
12858
12858
|
* @import {RegExpMatchObject, ReplaceFunction} from 'mdast-util-find-and-replace'
|
|
12859
12859
|
* @import {CompileContext, Extension as FromMarkdownExtension, Handle as FromMarkdownHandle, Transform as FromMarkdownTransform} from 'mdast-util-from-markdown'
|
|
@@ -13033,7 +13033,7 @@ function(test) {
|
|
|
13033
13033
|
return (match.index === 0 || unicodeWhitespace(code) || unicodePunctuation(code)) && (!email || code !== 47);
|
|
13034
13034
|
}
|
|
13035
13035
|
//#endregion
|
|
13036
|
-
//#region
|
|
13036
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.js
|
|
13037
13037
|
/**
|
|
13038
13038
|
* @import {
|
|
13039
13039
|
* CompileContext,
|
|
@@ -13168,7 +13168,7 @@ function(test) {
|
|
|
13168
13168
|
};
|
|
13169
13169
|
}
|
|
13170
13170
|
//#endregion
|
|
13171
|
-
//#region
|
|
13171
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js
|
|
13172
13172
|
handleDelete.peek = peekDelete;
|
|
13173
13173
|
/**
|
|
13174
13174
|
* Create an extension for `mdast-util-from-markdown` to enable GFM
|
|
@@ -13223,7 +13223,7 @@ function(test) {
|
|
|
13223
13223
|
return "~";
|
|
13224
13224
|
}
|
|
13225
13225
|
//#endregion
|
|
13226
|
-
//#region
|
|
13226
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js
|
|
13227
13227
|
/**
|
|
13228
13228
|
* @typedef {import('mdast').InlineCode} InlineCode
|
|
13229
13229
|
* @typedef {import('mdast').Table} Table
|
|
@@ -13348,7 +13348,7 @@ function(test) {
|
|
|
13348
13348
|
return $1 === "|" ? $1 : $0;
|
|
13349
13349
|
}
|
|
13350
13350
|
//#endregion
|
|
13351
|
-
//#region
|
|
13351
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js
|
|
13352
13352
|
/**
|
|
13353
13353
|
* @typedef {import('mdast').ListItem} ListItem
|
|
13354
13354
|
* @typedef {import('mdast').Paragraph} Paragraph
|
|
@@ -13417,7 +13417,7 @@ function(test) {
|
|
|
13417
13417
|
this.exit(token);
|
|
13418
13418
|
}
|
|
13419
13419
|
//#endregion
|
|
13420
|
-
//#region
|
|
13420
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.js
|
|
13421
13421
|
/**
|
|
13422
13422
|
* @import {Extension as FromMarkdownExtension} from 'mdast-util-from-markdown'
|
|
13423
13423
|
* @import {Options} from 'mdast-util-gfm'
|
|
@@ -13441,7 +13441,7 @@ function(test) {
|
|
|
13441
13441
|
];
|
|
13442
13442
|
}
|
|
13443
13443
|
//#endregion
|
|
13444
|
-
//#region
|
|
13444
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/mdast-util-math@3.0.0/node_modules/mdast-util-math/lib/index.js
|
|
13445
13445
|
/**
|
|
13446
13446
|
* @typedef {import('hast').Element} HastElement
|
|
13447
13447
|
* @typedef {import('hast').ElementContent} HastElementContent
|
|
@@ -13590,7 +13590,7 @@ function(test) {
|
|
|
13590
13590
|
}
|
|
13591
13591
|
}
|
|
13592
13592
|
//#endregion
|
|
13593
|
-
//#region
|
|
13593
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
|
|
13594
13594
|
/**
|
|
13595
13595
|
* @import {Code, ConstructRecord, Event, Extension, Previous, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
13596
13596
|
*/
|
|
@@ -14291,7 +14291,7 @@ function(test) {
|
|
|
14291
14291
|
return result;
|
|
14292
14292
|
}
|
|
14293
14293
|
//#endregion
|
|
14294
|
-
//#region
|
|
14294
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-sanitize-uri@2.0.1/node_modules/micromark-util-sanitize-uri/index.js
|
|
14295
14295
|
/**
|
|
14296
14296
|
* Normalize a URL.
|
|
14297
14297
|
*
|
|
@@ -14336,7 +14336,7 @@ function(test) {
|
|
|
14336
14336
|
return result.join("") + value.slice(start);
|
|
14337
14337
|
}
|
|
14338
14338
|
//#endregion
|
|
14339
|
-
//#region
|
|
14339
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js
|
|
14340
14340
|
/**
|
|
14341
14341
|
* @import {Event, Exiter, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
14342
14342
|
*/
|
|
@@ -14755,7 +14755,7 @@ function(test) {
|
|
|
14755
14755
|
}
|
|
14756
14756
|
}
|
|
14757
14757
|
//#endregion
|
|
14758
|
-
//#region
|
|
14758
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
|
|
14759
14759
|
/**
|
|
14760
14760
|
* @import {Options} from 'micromark-extension-gfm-strikethrough'
|
|
14761
14761
|
* @import {Event, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
@@ -14896,7 +14896,7 @@ function(test) {
|
|
|
14896
14896
|
}
|
|
14897
14897
|
}
|
|
14898
14898
|
//#endregion
|
|
14899
|
-
//#region
|
|
14899
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.js
|
|
14900
14900
|
/**
|
|
14901
14901
|
* @import {Event} from 'micromark-util-types'
|
|
14902
14902
|
*/
|
|
@@ -14988,7 +14988,7 @@ function(test) {
|
|
|
14988
14988
|
]);
|
|
14989
14989
|
}
|
|
14990
14990
|
//#endregion
|
|
14991
|
-
//#region
|
|
14991
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.js
|
|
14992
14992
|
/**
|
|
14993
14993
|
* @import {Event} from 'micromark-util-types'
|
|
14994
14994
|
*/
|
|
@@ -15026,7 +15026,7 @@ function(test) {
|
|
|
15026
15026
|
return align;
|
|
15027
15027
|
}
|
|
15028
15028
|
//#endregion
|
|
15029
|
-
//#region
|
|
15029
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js
|
|
15030
15030
|
/**
|
|
15031
15031
|
* @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
15032
15032
|
*/
|
|
@@ -15720,7 +15720,7 @@ function(test) {
|
|
|
15720
15720
|
return event[1][side];
|
|
15721
15721
|
}
|
|
15722
15722
|
//#endregion
|
|
15723
|
-
//#region
|
|
15723
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
|
|
15724
15724
|
/**
|
|
15725
15725
|
* @import {Extension, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
15726
15726
|
*/
|
|
@@ -15839,7 +15839,7 @@ function(test) {
|
|
|
15839
15839
|
}
|
|
15840
15840
|
}
|
|
15841
15841
|
//#endregion
|
|
15842
|
-
//#region
|
|
15842
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js
|
|
15843
15843
|
/**
|
|
15844
15844
|
* @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions
|
|
15845
15845
|
* @typedef {import('micromark-extension-gfm-strikethrough').Options} Options
|
|
@@ -15867,7 +15867,7 @@ function(test) {
|
|
|
15867
15867
|
]);
|
|
15868
15868
|
}
|
|
15869
15869
|
//#endregion
|
|
15870
|
-
//#region
|
|
15870
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/math-flow.js
|
|
15871
15871
|
/**
|
|
15872
15872
|
* @import {Construct, State, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
15873
15873
|
*/
|
|
@@ -16172,7 +16172,7 @@ function(test) {
|
|
|
16172
16172
|
}
|
|
16173
16173
|
}
|
|
16174
16174
|
//#endregion
|
|
16175
|
-
//#region
|
|
16175
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/math-text.js
|
|
16176
16176
|
/**
|
|
16177
16177
|
* @import {Options} from 'micromark-extension-math'
|
|
16178
16178
|
* @import {Construct, Previous, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
|
|
@@ -16358,7 +16358,7 @@ function(test) {
|
|
|
16358
16358
|
return code !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
|
|
16359
16359
|
}
|
|
16360
16360
|
//#endregion
|
|
16361
|
-
//#region
|
|
16361
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/syntax.js
|
|
16362
16362
|
/**
|
|
16363
16363
|
* @import {Options} from 'micromark-extension-math'
|
|
16364
16364
|
* @import {Extension} from 'micromark-util-types'
|
|
@@ -16379,7 +16379,7 @@ function(test) {
|
|
|
16379
16379
|
};
|
|
16380
16380
|
}
|
|
16381
16381
|
//#endregion
|
|
16382
|
-
//#region
|
|
16382
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/codes.js
|
|
16383
16383
|
/**
|
|
16384
16384
|
* Character codes.
|
|
16385
16385
|
*
|
|
@@ -16537,7 +16537,7 @@ function(test) {
|
|
|
16537
16537
|
replacementCharacter: 65533
|
|
16538
16538
|
};
|
|
16539
16539
|
//#endregion
|
|
16540
|
-
//#region
|
|
16540
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/constants.js
|
|
16541
16541
|
/**
|
|
16542
16542
|
* This module is compiled away!
|
|
16543
16543
|
*
|
|
@@ -16583,7 +16583,7 @@ function(test) {
|
|
|
16583
16583
|
v8MaxSafeChunkSize: 1e4
|
|
16584
16584
|
};
|
|
16585
16585
|
//#endregion
|
|
16586
|
-
//#region
|
|
16586
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/types.js
|
|
16587
16587
|
/**
|
|
16588
16588
|
* This module is compiled away!
|
|
16589
16589
|
*
|
|
@@ -17060,7 +17060,7 @@ function(test) {
|
|
|
17060
17060
|
});
|
|
17061
17061
|
}
|
|
17062
17062
|
//#endregion
|
|
17063
|
-
//#region
|
|
17063
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
17064
17064
|
function r(e) {
|
|
17065
17065
|
var t, f, n = "";
|
|
17066
17066
|
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
@@ -17075,7 +17075,7 @@ function(test) {
|
|
|
17075
17075
|
return n;
|
|
17076
17076
|
}
|
|
17077
17077
|
//#endregion
|
|
17078
|
-
//#region
|
|
17078
|
+
//#region ../../../../DeepSeekHarness/runtime/node_modules/.pnpm/katex@0.16.47/node_modules/katex/dist/katex.mjs
|
|
17079
17079
|
/**
|
|
17080
17080
|
* This is the ParseError class, which is the main error thrown by KaTeX
|
|
17081
17081
|
* functions when something has gone wrong. This is used to distinguish internal
|
|
@@ -43587,7 +43587,7 @@ function(test) {
|
|
|
43587
43587
|
}
|
|
43588
43588
|
//#endregion
|
|
43589
43589
|
//#region \0dshx-css-module:MarkdownText.module.css.mjs
|
|
43590
|
-
const css$6 = ".
|
|
43590
|
+
const css$6 = ".PWOyeG_markdown{overflow-wrap:anywhere;min-width:0;font:var(--dsw-font-markdown-base);color:var(--dsw-alias-label-primary)}.PWOyeG_markdown strong{font-weight:600}.PWOyeG_markdown h1{font:var(--dsw-font-markdown-h1);margin:32px 0 16px}.PWOyeG_markdown h2{font:var(--dsw-font-markdown-h2);margin:32px 0 16px}.PWOyeG_markdown h3{font:var(--dsw-font-markdown-h3);margin:32px 0 16px}.PWOyeG_markdown h4{font:var(--dsw-font-markdown-h4);margin:16px 0}.PWOyeG_markdown :where(h5,h6){font:var(--dsw-font-markdown-base-strong);margin:16px 0}.PWOyeG_markdown :where(h1,h2,h3,h4,h5,h6) strong{font-weight:inherit}.PWOyeG_markdown p{margin:16px 0}.PWOyeG_markdown :where(h4,h5,h6)+:where(ul,ol){margin-top:8px}.PWOyeG_markdown :where(h4,h5,h6):has(+:where(ul,ol)){margin-bottom:8px}.PWOyeG_markdown a{color:var(--dsw-alias-state-business-primary);transition:box-shadow var(--ds-transition-duration) var(--ds-ease-in-out);border:2px solid #fff0;border-width:2px 3px;margin-left:-3px;margin-right:-3px;text-decoration:none;position:relative}.PWOyeG_markdown a:hover,.PWOyeG_markdown a:focus{text-decoration:underline var(--dsw-alias-state-business-primary);outline:none}.PWOyeG_markdown a:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary)}.PWOyeG_markdown :where(ul,ol){margin:16px 0;padding-left:18px}.PWOyeG_markdown li:not(:first-child){margin-top:6px}.PWOyeG_markdown li>:where(ul,ol){margin-top:4px}.PWOyeG_markdown li::marker{color:var(--dsw-alias-label-secondary);line-height:28px}.PWOyeG_markdown :where(ul,ol) ol{padding-left:0;list-style-position:inside}.PWOyeG_markdown :where(ul,ol) ol li p{display:inline}.PWOyeG_markdown li>p{margin:8px 0}.PWOyeG_markdown li>:first-child{margin-top:0}.PWOyeG_markdown li>:last-child:not(.md-code-block){margin-bottom:0}.PWOyeG_markdown hr{background:var(--dsw-alias-border-l2);border:none;height:1px;margin:32px 0;display:block}.PWOyeG_markdown blockquote{border-left:2px solid var(--dsw-alias-label-caption);margin:16px 0 0;padding-left:14px}.PWOyeG_markdown pre{font-family:var(--ds-font-family-code);margin:16px 0;overflow:auto}.PWOyeG_markdown :not(pre)>code{box-sizing:border-box;font:var(--dsw-font-markdown-code);font-family:var(--ds-font-family-code);background-color:var(--dsw-alias-markdown-inline-code);border-radius:6px;align-items:center;padding:0 5px;display:inline-flex;font-size:.875em!important}.PWOyeG_markdown :where(h1,h2,h3,h4,h5,h6) code{font:inherit;font-family:var(--ds-font-family-code)}.PWOyeG_markdown .katex-display{max-width:100%;overflow:auto hidden}.PWOyeG_markdown input[type=checkbox]{accent-color:var(--dsw-alias-label-secondary);margin:0 8px 0 0}.PWOyeG_tableScroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.PWOyeG_tableScroll.md-table-wide{padding-bottom:var(--dsh-scrollbar-width,8px);overflow-x:hidden}.PWOyeG_tableScroll.md-table-wide:hover,.PWOyeG_tableScroll.md-table-wide:focus-visible{padding-bottom:0;overflow-x:auto}.PWOyeG_tableScroll:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary);outline:none}.PWOyeG_tableScroll table{border-collapse:collapse;width:max-content;max-width:max-content}.PWOyeG_tableFill table{width:100%;max-width:none}.PWOyeG_tableScroll th{text-align:start;border-bottom:1px solid var(--dsw-alias-border-l3);font:var(--dsw-font-markdown-table-head);border-top:none;min-width:100px;max-width:min(30vw,320px);padding:10px 16px}.PWOyeG_tableScroll td{border-bottom:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-markdown-table);min-width:100px;max-width:min(30vw,320px);padding:10px 16px}.PWOyeG_tableScroll th:first-child,.PWOyeG_tableScroll td:first-child{padding-left:0}.PWOyeG_tableScroll td:last-child{padding-right:0}.PWOyeG_tableScroll table code{font-size:13px}.PWOyeG_markdown>:first-child,.PWOyeG_markdown p:first-child{margin-top:0!important}.PWOyeG_markdown>:last-child,.PWOyeG_markdown p:last-child{margin-bottom:0!important}.PWOyeG_imageAlt{color:var(--dsw-alias-label-tertiary);font-style:italic}.PWOyeG_image{background:var(--dsw-alias-bg-base);object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;margin:0;display:block}.PWOyeG_fileMention{font:inherit;color:var(--dsw-alias-state-business-primary);cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:none}.PWOyeG_fileMention:hover,.PWOyeG_fileMention:focus{text-decoration:underline var(--dsw-alias-state-business-primary);text-underline-offset:3px;outline:none}";
|
|
43591
43591
|
const tagId$6 = "dsh-better-display/MarkdownText.module.css";
|
|
43592
43592
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
|
|
43593
43593
|
const tag = document.createElement("style");
|
|
@@ -43597,12 +43597,12 @@ function(test) {
|
|
|
43597
43597
|
document.head.appendChild(tag);
|
|
43598
43598
|
}
|
|
43599
43599
|
var MarkdownText_module_css_default = {
|
|
43600
|
-
"fileMention": "
|
|
43601
|
-
"image": "
|
|
43602
|
-
"imageAlt": "
|
|
43603
|
-
"markdown": "
|
|
43604
|
-
"tableFill": "
|
|
43605
|
-
"tableScroll": "
|
|
43600
|
+
"fileMention": "PWOyeG_fileMention",
|
|
43601
|
+
"image": "PWOyeG_image",
|
|
43602
|
+
"imageAlt": "PWOyeG_imageAlt",
|
|
43603
|
+
"markdown": "PWOyeG_markdown",
|
|
43604
|
+
"tableFill": "PWOyeG_tableFill",
|
|
43605
|
+
"tableScroll": "PWOyeG_tableScroll"
|
|
43606
43606
|
};
|
|
43607
43607
|
//#endregion
|
|
43608
43608
|
//#region src/client/markdown/render.tsx
|
|
@@ -43761,7 +43761,7 @@ function(test) {
|
|
|
43761
43761
|
inLink: true
|
|
43762
43762
|
}), key);
|
|
43763
43763
|
case "linkReference": return renderLinkReference(node, key, context);
|
|
43764
|
-
case "image": return renderImage(node.url, node.alt ?? "", key);
|
|
43764
|
+
case "image": return renderImage(node.url, node.alt ?? "", key, context);
|
|
43765
43765
|
case "imageReference": return renderImageReference(node, key, context);
|
|
43766
43766
|
case "footnoteReference": return renderFootnoteReference(node, key, context);
|
|
43767
43767
|
case "definition":
|
|
@@ -43893,20 +43893,45 @@ function(test) {
|
|
|
43893
43893
|
return;
|
|
43894
43894
|
}
|
|
43895
43895
|
}
|
|
43896
|
-
function renderImage(url, alt, key) {
|
|
43897
|
-
const
|
|
43896
|
+
function renderImage(url, alt, key, context) {
|
|
43897
|
+
const remote = remoteImageUrl(sanitizeUrl(normalizeUri(url)));
|
|
43898
|
+
const rewritten = remote === void 0 ? context.pathImages?.resolve(url) : void 0;
|
|
43899
|
+
let imageSrc = remote;
|
|
43900
|
+
if (rewritten !== void 0) try {
|
|
43901
|
+
if ([
|
|
43902
|
+
"http:",
|
|
43903
|
+
"https:",
|
|
43904
|
+
"blob:",
|
|
43905
|
+
"data:"
|
|
43906
|
+
].includes(new URL(rewritten).protocol)) imageSrc = rewritten;
|
|
43907
|
+
} catch {}
|
|
43898
43908
|
if (imageSrc === void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43899
43909
|
className: MarkdownText_module_css_default.imageAlt,
|
|
43900
43910
|
children: alt
|
|
43901
43911
|
}, key);
|
|
43912
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MarkdownImage, {
|
|
43913
|
+
src: imageSrc,
|
|
43914
|
+
alt,
|
|
43915
|
+
destination: url
|
|
43916
|
+
}, `${key}:${imageSrc}`);
|
|
43917
|
+
}
|
|
43918
|
+
function MarkdownImage({ src, alt, destination }) {
|
|
43919
|
+
const [failed, setFailed] = (0, react.useState)(false);
|
|
43920
|
+
if (failed) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43921
|
+
className: MarkdownText_module_css_default.imageAlt,
|
|
43922
|
+
children: alt || destination
|
|
43923
|
+
});
|
|
43902
43924
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
43903
43925
|
className: MarkdownText_module_css_default.image,
|
|
43904
|
-
src
|
|
43926
|
+
src,
|
|
43905
43927
|
alt,
|
|
43928
|
+
onError: () => {
|
|
43929
|
+
setFailed(true);
|
|
43930
|
+
},
|
|
43906
43931
|
loading: "lazy",
|
|
43907
43932
|
decoding: "async",
|
|
43908
43933
|
referrerPolicy: "no-referrer"
|
|
43909
|
-
}
|
|
43934
|
+
});
|
|
43910
43935
|
}
|
|
43911
43936
|
/** The bracketed source text a reference reverts to when its definition is missing. */
|
|
43912
43937
|
function referenceSuffix(node) {
|
|
@@ -43929,7 +43954,7 @@ function(test) {
|
|
|
43929
43954
|
function renderImageReference(node, key, context) {
|
|
43930
43955
|
const definition = context.targets.definitions.get(node.identifier.toUpperCase());
|
|
43931
43956
|
if (definition === void 0) return `![${node.alt ?? ""}${referenceSuffix(node)}`;
|
|
43932
|
-
return renderImage(definition.url, node.alt ?? "", key);
|
|
43957
|
+
return renderImage(definition.url, node.alt ?? "", key, context);
|
|
43933
43958
|
}
|
|
43934
43959
|
function renderFootnoteReference(node, key, context) {
|
|
43935
43960
|
const id = node.identifier.toUpperCase();
|
|
@@ -43992,7 +44017,7 @@ function(test) {
|
|
|
43992
44017
|
* full parse self-heals it.
|
|
43993
44018
|
*/
|
|
43994
44019
|
/** One settled full render: parse with math, resolve references, append the footnote section. */
|
|
43995
|
-
function renderSettled(text, codeLabels, fileMentions, renderText, renderAtom) {
|
|
44020
|
+
function renderSettled(text, codeLabels, fileMentions, pathImages, renderText, renderAtom) {
|
|
43996
44021
|
const root = parseGfmWithMath(text);
|
|
43997
44022
|
const targets = createReferenceTargets();
|
|
43998
44023
|
collectReferenceTargets(root.children, targets);
|
|
@@ -44002,6 +44027,7 @@ function(test) {
|
|
|
44002
44027
|
streaming: false,
|
|
44003
44028
|
codeLabels,
|
|
44004
44029
|
fileMentions,
|
|
44030
|
+
pathImages,
|
|
44005
44031
|
targets,
|
|
44006
44032
|
footnoteOrder: [],
|
|
44007
44033
|
footnoteCounts: /* @__PURE__ */ new Map()
|
|
@@ -44027,6 +44053,7 @@ function(test) {
|
|
|
44027
44053
|
codeLabels;
|
|
44028
44054
|
renderText;
|
|
44029
44055
|
renderAtom;
|
|
44056
|
+
pathImages;
|
|
44030
44057
|
parser = new IncrementalMarkdownParser(parseGfm);
|
|
44031
44058
|
generation = -1;
|
|
44032
44059
|
frozenCount = 0;
|
|
@@ -44037,10 +44064,11 @@ function(test) {
|
|
|
44037
44064
|
lastText = null;
|
|
44038
44065
|
lastRendered = [];
|
|
44039
44066
|
/** @param codeLabels - Fence copy labels baked into cached elements; the owner replaces the renderer when they change. */
|
|
44040
|
-
constructor(codeLabels, renderText, renderAtom) {
|
|
44067
|
+
constructor(codeLabels, renderText, renderAtom, pathImages) {
|
|
44041
44068
|
this.codeLabels = codeLabels;
|
|
44042
44069
|
this.renderText = renderText;
|
|
44043
44070
|
this.renderAtom = renderAtom;
|
|
44071
|
+
this.pathImages = pathImages;
|
|
44044
44072
|
}
|
|
44045
44073
|
/**
|
|
44046
44074
|
* Render the current accumulated text. Idempotent per text value, so React
|
|
@@ -44073,6 +44101,7 @@ function(test) {
|
|
|
44073
44101
|
streaming: true,
|
|
44074
44102
|
codeLabels: this.codeLabels,
|
|
44075
44103
|
fileMentions: void 0,
|
|
44104
|
+
pathImages: this.pathImages,
|
|
44076
44105
|
targets: frameTargets,
|
|
44077
44106
|
footnoteOrder: this.frozenFootnoteOrder,
|
|
44078
44107
|
footnoteCounts: this.frozenFootnoteCounts
|
|
@@ -44091,6 +44120,7 @@ function(test) {
|
|
|
44091
44120
|
streaming: true,
|
|
44092
44121
|
codeLabels: this.codeLabels,
|
|
44093
44122
|
fileMentions: void 0,
|
|
44123
|
+
pathImages: this.pathImages,
|
|
44094
44124
|
targets: frameTargets,
|
|
44095
44125
|
footnoteOrder: [...this.frozenFootnoteOrder],
|
|
44096
44126
|
footnoteCounts: new Map(this.frozenFootnoteCounts)
|
|
@@ -44123,17 +44153,19 @@ function(test) {
|
|
|
44123
44153
|
* relative links, and unsafe protocols are disabled, while absolute HTTP(S)
|
|
44124
44154
|
* images render directly.
|
|
44125
44155
|
*/
|
|
44126
|
-
const MarkdownText$2 = (0, react.memo)(function MarkdownText({ text, streaming = false, codeLabels, fileMentions, renderText, renderAtom }) {
|
|
44156
|
+
const MarkdownText$2 = (0, react.memo)(function MarkdownText({ text, streaming = false, codeLabels, fileMentions, pathImages, renderText, renderAtom }) {
|
|
44127
44157
|
const streamRef = (0, react.useRef)(null);
|
|
44158
|
+
const streamImagesRef = (0, react.useRef)(pathImages);
|
|
44128
44159
|
const streamLabelsRef = (0, react.useRef)(codeLabels);
|
|
44129
44160
|
const children = (0, react.useMemo)(() => {
|
|
44130
44161
|
if (!streaming) {
|
|
44131
44162
|
streamRef.current = null;
|
|
44132
|
-
return renderSettled(text, codeLabels, fileMentions, renderText, renderAtom);
|
|
44163
|
+
return renderSettled(text, codeLabels, fileMentions, pathImages, renderText, renderAtom);
|
|
44133
44164
|
}
|
|
44134
|
-
if (streamRef.current === null || streamLabelsRef.current !== codeLabels) {
|
|
44135
|
-
streamRef.current = new StreamingRenderer(codeLabels, renderText, renderAtom);
|
|
44165
|
+
if (streamRef.current === null || streamLabelsRef.current !== codeLabels || streamImagesRef.current !== pathImages) {
|
|
44166
|
+
streamRef.current = new StreamingRenderer(codeLabels, renderText, renderAtom, pathImages);
|
|
44136
44167
|
streamLabelsRef.current = codeLabels;
|
|
44168
|
+
streamImagesRef.current = pathImages;
|
|
44137
44169
|
}
|
|
44138
44170
|
return streamRef.current.render(text);
|
|
44139
44171
|
}, [
|
|
@@ -44141,6 +44173,7 @@ function(test) {
|
|
|
44141
44173
|
streaming,
|
|
44142
44174
|
codeLabels,
|
|
44143
44175
|
fileMentions,
|
|
44176
|
+
pathImages,
|
|
44144
44177
|
renderText,
|
|
44145
44178
|
renderAtom
|
|
44146
44179
|
]);
|
|
@@ -44150,8 +44183,17 @@ function(test) {
|
|
|
44150
44183
|
});
|
|
44151
44184
|
});
|
|
44152
44185
|
//#endregion
|
|
44186
|
+
//#region src/client/platform-media.ts
|
|
44187
|
+
/** RC2 Chat's same-origin local media contract. Authorization stays Host-side. */
|
|
44188
|
+
function localPathMediaUrl(protocol, origin, value) {
|
|
44189
|
+
if (protocol !== "http:" && protocol !== "https:") return void 0;
|
|
44190
|
+
if (!value.startsWith("/") || value.startsWith("//")) return void 0;
|
|
44191
|
+
return `${origin}/api/file?path=${encodeURIComponent(value)}`;
|
|
44192
|
+
}
|
|
44193
|
+
const readerPathImages = { resolve: (value) => typeof window === "undefined" ? void 0 : localPathMediaUrl(window.location.protocol, window.location.origin, value) };
|
|
44194
|
+
//#endregion
|
|
44153
44195
|
//#region \0dshx-css-module:Reader.module.css.mjs
|
|
44154
|
-
const css$5 = ".g2GnNq_root{color:var(--dsw-alias-label-primary);padding:16px calc(var(--dsh-composer-side-clearance,16px) + 16px) 24px;overflow-anchor:auto;flex:none;min-width:0;font-family:inherit;font-size:16px;line-height:28px;container-type:inline-size}.g2GnNq_column{max-width:var(--dsh-chat-content-width,748px);flex-direction:column;gap:22px;width:100%;min-width:0;margin:0 auto;display:flex}.g2GnNq_toolbar{min-height:32px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);justify-content:flex-end;align-items:center;gap:6px;padding:0;font-size:12px;display:flex;position:sticky;top:0}.g2GnNq_turnProcessSticky{background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);align-items:center;min-height:32px;display:flex;position:sticky}.g2GnNq_turnProcessSticky .g2GnNq_disclosureButton{min-height:32px}.g2GnNq_textButton,.g2GnNq_historyButton,.g2GnNq_iconButton,.g2GnNq_jump,.g2GnNq_disclosureButton,.g2GnNq_imageOpen,.g2GnNq_dialogClose{font:inherit;cursor:pointer}.g2GnNq_textButton{color:var(--dsw-alias-label-secondary);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:2px 6px}.g2GnNq_textButton:hover,.g2GnNq_iconButton:hover,.g2GnNq_disclosureButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.g2GnNq_root button:focus-visible,.g2GnNq_root summary:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:3px}.g2GnNq_turn{flex-direction:column;gap:14px;min-width:0;display:flex}.g2GnNq_turn+.g2GnNq_turn{margin-top:12px}.g2GnNq_userCluster{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);margin-bottom:4px;display:flex}.g2GnNq_userImages{flex-direction:column;align-items:flex-end;min-width:0;max-width:100%;display:flex}.g2GnNq_userImages .g2GnNq_imageFigure{align-self:flex-end}.g2GnNq_user{background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;box-sizing:border-box;border-radius:22px;align-self:flex-end;padding:10px 16px;line-height:24px}.g2GnNq_user .g2GnNq_blocks{gap:10px}.g2GnNq_answer{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.g2GnNq_readingText{min-width:0}.g2GnNq_reasonPlain{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit}.g2GnNq_readingText button{min-width:24px;min-height:24px}.g2GnNq_streamWord{display:inline-block}.g2GnNq_streamInlineWord{display:inline}.g2GnNq_streamWord,.g2GnNq_streamInlineWord,.g2GnNq_streamAtom{opacity:1;filter:none}.g2GnNq_streamAtom{min-width:0}@media (prefers-reduced-motion:reduce){.g2GnNq_streamWord,.g2GnNq_streamInlineWord,.g2GnNq_streamAtom{opacity:1!important;filter:none!important}}.g2GnNq_retiringContent{min-width:0}.g2GnNq_retiringContent[data-reader-retiring=retiring]{overflow:hidden}.g2GnNq_mainFlow,.g2GnNq_blocks{flex-direction:column;gap:16px;min-width:0;display:flex}.g2GnNq_mainFlow:empty,.g2GnNq_blocks:empty{display:none}.g2GnNq_blocks>:first-child{margin-top:0}.g2GnNq_blocks>:last-child{margin-bottom:0}.g2GnNq_blocks .md-table-wide{max-width:100%}.g2GnNq_disclosure{min-width:0}.g2GnNq_disclosureButton{max-width:100%;min-height:32px;color:var(--dsw-alias-label-tertiary);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;margin-left:-6px;padding:4px 6px;font-size:14px;font-weight:400;line-height:24px;display:inline-flex}.g2GnNq_disclosure[data-reader-status-only]{align-items:center;min-height:32px;display:flex}.g2GnNq_statusText{min-width:0;max-width:100%;color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:400;line-height:24px;display:inline-flex}.g2GnNq_srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.g2GnNq_think{--think-swap:.15s;--think-gap:50ms;--think-distance:8px;--think-blur:2px;--think-shimmer:2s;--think-base:var(--dsw-alias-label-secondary);--think-highlight:var(--dsw-alias-label-primary);--think-ease:ease-in-out;text-align:left;max-width:100%;display:inline-block;position:relative}.g2GnNq_thinkSizer{visibility:hidden;white-space:nowrap;display:block}.g2GnNq_thinkText{color:var(--think-base);white-space:nowrap;text-overflow:ellipsis;filter:blur();opacity:1;transition:transform var(--think-swap) var(--think-ease), filter var(--think-swap) var(--think-ease), opacity var(--think-swap) var(--think-ease);display:block;position:absolute;top:0;left:0;right:0;overflow:hidden;transform:translateY(0)}.g2GnNq_think[data-reader-status-phase=running] .g2GnNq_thinkText[data-reader-status-copy=current]{transition-delay:var(--think-gap)}.g2GnNq_think:not([data-reader-status-phase=idle]) .g2GnNq_thinkText{will-change:transform, filter, opacity}@supports (background-clip:text){.g2GnNq_think[data-active=true] .g2GnNq_thinkText:before{content:attr(data-text);pointer-events:none;background-image:linear-gradient(90deg, transparent 0%, transparent 40%, var(--think-highlight) 50%, transparent 60%, transparent 100%);color:#0000;-webkit-text-fill-color:transparent;animation:g2GnNq_thinkShimmer var(--think-shimmer) linear infinite;background-repeat:no-repeat;background-size:400% 100%;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}}@keyframes g2GnNq_thinkShimmer{0%{background-position:100% 0}to{background-position:0 0}}.g2GnNq_thinkText.g2GnNq_isExit{transform:translateY(calc(var(--think-distance) * -1));filter:blur(var(--think-blur));opacity:0}.g2GnNq_thinkText.g2GnNq_isEnterStart{transform:translateY(var(--think-distance));filter:blur(var(--think-blur));opacity:0;transition:none}[data-motion=off] .g2GnNq_thinkText{filter:none!important;opacity:1!important;transition:none!important;transform:none!important}[data-motion=off] .g2GnNq_thinkText[data-reader-status-copy=outgoing],[data-motion=off] .g2GnNq_thinkText:before{display:none!important}@media (prefers-reduced-motion:reduce),(forced-colors:active){.g2GnNq_thinkText{filter:none!important;opacity:1!important;transition:none!important;transform:none!important}.g2GnNq_thinkText[data-reader-status-copy=outgoing],.g2GnNq_thinkText:before{display:none!important}}.g2GnNq_processMeta{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.22,1,.36,1),opacity .16s ease-out;display:grid}.g2GnNq_processMeta[data-open=true]{opacity:1;grid-template-rows:1fr}.g2GnNq_processMetaInner{min-height:0;overflow:hidden}.g2GnNq_processMetaLine{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 0 0 16px;font-size:12px;line-height:20px;display:flex}.g2GnNq_processMetaLine .g2GnNq_meta{color:inherit}.g2GnNq_chevron{stroke:currentColor;fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .26s cubic-bezier(.22,1,.36,1)}.g2GnNq_chevron[data-open=true]{transform:rotate(90deg)}.g2GnNq_disclosureBody{transform-origin:top;will-change:height, opacity, transform;height:0;overflow:hidden}.g2GnNq_processContents{border-left:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);margin:0 0 0 6px;padding:3px 0 2px 17px;font-size:14px;line-height:24px;display:flow-root}.g2GnNq_processContents>:last-child{margin-bottom:0}.g2GnNq_processCommentary{color:var(--dsw-alias-label-secondary);border-left:2px solid var(--dsw-alias-border-l2);margin:4px 0 8px 6px;padding-left:12px;font-size:14px;line-height:24px}.g2GnNq_processFrame{min-width:0}.g2GnNq_toolActivity{min-width:0;color:var(--dsw-alias-label-secondary)}.g2GnNq_nativeToolRow{min-width:0}.g2GnNq_rowSeparator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.g2GnNq_nativeToolSummary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:1;font-size:14px;line-height:24px;overflow:hidden}.g2GnNq_nativeToolRow:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:3px;border-radius:4px}.g2GnNq_toolHeading{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 14px 4px;display:grid}.g2GnNq_toolHeading:hover{background:var(--dsw-alias-interactive-bg-hover)}.g2GnNq_toolHeading:focus-visible{outline-offset:-3px!important}.g2GnNq_toolGlyph{height:22px;color:var(--dsw-alias-label-secondary);justify-content:center;align-items:center;display:flex}.g2GnNq_toolHeadingCopy{flex-direction:column;gap:3px;min-width:0;display:flex}.g2GnNq_toolTitle{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:22px}.g2GnNq_toolTarget{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);-webkit-box-orient:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:19px;display:-webkit-box;overflow:hidden}.g2GnNq_toolHeadingState{min-height:22px;color:var(--dsw-alias-label-secondary);align-items:center;gap:7px;display:flex}.g2GnNq_diffStat{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";white-space:nowrap;flex:none;gap:6px;margin-left:8px;font-size:11px;line-height:18px;display:inline-flex}.g2GnNq_diffAdded{color:var(--dsw-alias-state-success-primary,#2f9e63)}.g2GnNq_diffRemoved{color:var(--dsw-alias-state-error-primary,#d1483c)}.g2GnNq_summaryRow{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.g2GnNq_summaryRow>.g2GnNq_diffStatRoot{flex:none;margin-left:auto}.g2GnNq_summaryRow>:first-child{min-width:0}.g2GnNq_diffStatRoot{flex:none;position:relative}.g2GnNq_diffStatButton{cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-secondary);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;line-height:16px;transition:background .12s,border-color .12s;display:inline-flex}.g2GnNq_diffStatButton:hover,.g2GnNq_diffStatButton:focus-visible,.g2GnNq_diffStatButton[aria-expanded=true]{background:var(--dsw-alias-bg-module-platform,#7f7f7f1a);border-color:var(--dsw-alias-border-l2,#7f7f7f47)}.g2GnNq_diffStatButton:focus-visible{outline:none}.g2GnNq_diffStatButton[aria-expanded=true] .g2GnNq_diffCaret{opacity:1}.g2GnNq_diffOverlayRow{box-sizing:border-box;flex:100%;width:100%;min-width:0;max-width:100%;margin-top:6px}.g2GnNq_diffOverlay{box-sizing:border-box;background:var(--dsw-alias-bg-module-platform,#7f7f7f14);border:1px solid var(--dsw-alias-border-l2,#80808038);border-radius:10px;flex-direction:column;width:100%;min-width:0;max-width:100%;padding:8px;display:flex;overflow:hidden}.g2GnNq_diffTabs{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;max-width:100%;margin-bottom:4px;padding-bottom:6px;display:flex;overflow-x:auto}.g2GnNq_diffTab{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:220px;font:inherit;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-base,#fffc);border:1px solid var(--dsw-alias-border-l2,#80808033);border-radius:6px;flex:none;padding:3px 10px;font-size:11px;line-height:16px;transition:all .12s;overflow:hidden}.g2GnNq_diffTab:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.g2GnNq_diffTab[data-active]{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#1e90ff);background:var(--dsw-alias-bg-base);font-weight:500}.g2GnNq_diffScrollArea{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--dsw-alias-border-l2,#80808026);background:var(--dsw-alias-markdown-code-block,#0000000a);border-radius:8px;max-height:420px;overflow:auto}.g2GnNq_diffScrollArea [data-diff]{background:0 0!important;border-radius:0!important;margin:0!important}.g2GnNq_diffCaret{opacity:.6;flex:none;width:10px;font-size:10px}.g2GnNq_diffPath{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:auto;min-width:0;overflow:hidden}.g2GnNq_diffStat{font-variant-numeric:tabular-nums;flex:none;gap:6px;font-size:11px;display:inline-flex}.g2GnNq_diffHunkBody{flex-direction:column;gap:4px;padding:2px 7px 7px 25px;display:flex}.g2GnNq_diffLines{font-size:11px;line-height:1.55;font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre;border-radius:6px;margin:0;padding:6px 8px;overflow-x:auto}.g2GnNq_diffLines[data-side=removed]{background:#d1483c1f}.g2GnNq_diffLines[data-side=added]{background:#2f9e631f}.g2GnNq_diffLineRemoved,.g2GnNq_diffLineAdded{display:block}.g2GnNq_diffLineRemoved{color:var(--dsw-alias-state-error-primary,#d1483c)}.g2GnNq_diffLineAdded{color:var(--dsw-alias-state-success-primary,#2f9e63)}.g2GnNq_diffEmpty{color:var(--dsw-alias-label-secondary);margin:0;padding:2px 0;font-size:11px}.g2GnNq_nativeToolSummary[data-running]{background-image:linear-gradient(90deg, currentColor 0%, currentColor 35%, color-mix(in srgb, currentColor 35%, transparent) 50%, currentColor 65%, currentColor 100%);-webkit-text-fill-color:transparent;background-position:100% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite g2GnNq_readerStepShimmer}@keyframes g2GnNq_readerStepShimmer{to{background-position:-120% 0}}.g2GnNq_toolElapsed[data-slow]{opacity:1;color:var(--dsw-alias-state-warning-primary,#d8862c);font-weight:500}.g2GnNq_toolElapsed{opacity:.72;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";white-space:nowrap;flex:none;margin-left:8px;font-size:11px;line-height:18px}[data-motion=off] .g2GnNq_nativeToolSummary[data-running]{-webkit-text-fill-color:currentColor;background-image:none;animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_nativeToolSummary[data-running]{-webkit-text-fill-color:currentColor;background-image:none;animation:none!important}}.g2GnNq_toolState{white-space:nowrap;flex:none;margin-left:8px;font-size:11px;line-height:18px}.g2GnNq_toolState[data-phase=preparing],.g2GnNq_toolState[data-phase=running]{color:var(--dsw-alias-state-business-primary)}.g2GnNq_toolState[data-phase=preparing]:before,.g2GnNq_toolState[data-phase=running]:before{content:\"\";vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.4s ease-in-out infinite g2GnNq_readerRunningGlow;display:inline-block}@keyframes g2GnNq_readerRunningGlow{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 60%, transparent);opacity:1}70%{opacity:.7;box-shadow:0 0 0 7px #0000}to{opacity:1;box-shadow:0 0 #0000}}[data-motion=off] .g2GnNq_toolState[data-phase=preparing]:before,[data-motion=off] .g2GnNq_toolState[data-phase=running]:before{animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_toolState[data-phase=preparing]:before,.g2GnNq_toolState[data-phase=running]:before{animation:none!important}}.g2GnNq_toolState[data-phase=failed]{color:var(--dsw-alias-state-error-primary)}.g2GnNq_toolState[data-phase=interrupted]{color:inherit;opacity:.7}.g2GnNq_toolLedger{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 14px 0;font-size:11px;line-height:18px;display:flex}.g2GnNq_toolEngine{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.g2GnNq_toolDetails{border:1px solid var(--dsw-alias-border-l2);border-radius:8px;min-width:0;margin:6px 0 0 22px;overflow:hidden}.g2GnNq_toolTabs{align-items:center;gap:15px;padding:0 14px;display:flex}.g2GnNq_toolTabs>button{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 1px 8px;font-size:12px;line-height:20px}.g2GnNq_toolTabs>button[aria-selected=true]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary)}.g2GnNq_toolPanel{flex-direction:column;gap:12px;min-width:0;padding:12px 14px 14px;font-size:13px;line-height:22px;display:flex}.g2GnNq_toolPanel:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-3px}.g2GnNq_toolDetailNote{color:var(--dsw-alias-label-secondary);margin:0 0 9px;font-size:12px;line-height:20px}.g2GnNq_toolRawLabel{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;font-weight:500}.g2GnNq_toolRaw{background:var(--dsw-alias-bg-module-platform);max-height:400px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:12px;font:12px/20px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.g2GnNq_systemPrompt{background:var(--dsw-alias-bg-module-platform);max-height:320px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:12px;font:12px/20px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.g2GnNq_commandInput{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.g2GnNq_toolReceipt .g2GnNq_blocks,.g2GnNq_toolDocument .g2GnNq_blocks{font-size:13px;line-height:22px}.g2GnNq_toolChildren{border-left:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:9px;margin:0 14px 12px 24px;padding-left:12px;display:flex}@container (width<=420px){.g2GnNq_toolHeading{grid-template-columns:16px minmax(0,1fr) auto;gap:7px;padding:11px 10px 6px}.g2GnNq_toolHeadingState{gap:4px}.g2GnNq_toolLedger{padding-left:33px;padding-right:10px}.g2GnNq_toolPanel{padding:10px}.g2GnNq_toolChildren{margin-left:12px;padding-left:8px}}@media (pointer:coarse){.g2GnNq_toolTabs>button{min-height:44px}}.g2GnNq_reasonCard{--reason-preview-height:224px;--reason-hold:.84s;--reason-step:.5s;--reason-lines:2;--reason-fade:28px;--reason-ease:cubic-bezier(.22, 1, .36, 1);border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);min-width:0;scroll-margin-block:16px calc(var(--dsh-composer-height,152px) + 16px);border-radius:12px;position:relative;overflow:hidden}.g2GnNq_reasonHeading{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 16px 0;font-size:12px;line-height:20px;display:flex}.g2GnNq_reasonCard[data-overflow=false][data-expanded=false]{background:0 0;border-color:#0000;border-radius:0}.g2GnNq_reasonCard[data-overflow=false][data-expanded=false] .g2GnNq_reasonHeading{padding:0}.g2GnNq_reasonCard[data-overflow=false][data-expanded=false] .g2GnNq_reasonText{padding:4px 0 0 22px}.g2GnNq_reasonLabel{font-weight:500}.g2GnNq_reasonViewport{max-height:var(--reason-preview-height);scroll-behavior:auto;overflow-anchor:none;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l1) transparent;position:relative;overflow:auto}.g2GnNq_reasonCard[data-expanded=true] .g2GnNq_reasonViewport{max-height:min(60vh, 560px, var(--reason-reading-height,560px))}.g2GnNq_reasonViewport[data-edges=both],.g2GnNq_reasonCard[data-following=true][data-overflow=true] .g2GnNq_reasonViewport{-webkit-mask-image:linear-gradient(transparent 0, black var(--reason-fade), black calc(100% - var(--reason-fade)), transparent 100%);mask-image:linear-gradient(transparent 0, black var(--reason-fade), black calc(100% - var(--reason-fade)), transparent 100%)}.g2GnNq_reasonViewport[data-edges=top]{-webkit-mask-image:linear-gradient(transparent 0, black var(--reason-fade), black 100%);mask-image:linear-gradient(transparent 0, black var(--reason-fade), black 100%)}.g2GnNq_reasonViewport[data-edges=bottom]{-webkit-mask-image:linear-gradient(black 0, black calc(100% - var(--reason-fade)), transparent 100%);mask-image:linear-gradient(black 0, black calc(100% - var(--reason-fade)), transparent 100%)}.g2GnNq_reasonCard[data-expanded=true] .g2GnNq_reasonViewport{-webkit-mask-image:none;mask-image:none}.g2GnNq_reasonViewport:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-3px}.g2GnNq_reasonTrack{position:relative;transform:translateY(0)}.g2GnNq_reasonCard[data-following=true] .g2GnNq_reasonTrack{will-change:transform}.g2GnNq_reasonText{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;padding:8px 16px 16px;font-size:14px;line-height:24px}.g2GnNq_reasonText .g2GnNq_readingText>div{font-size:inherit;line-height:inherit;color:inherit}.g2GnNq_reasonFooter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;gap:8px;padding:2px 10px 8px;font-size:12px;line-height:20px;display:flex}.g2GnNq_reasonAction{min-height:28px;color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:4px 6px;display:inline-flex}.g2GnNq_reasonAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.g2GnNq_reasonAction:disabled{cursor:default;opacity:.65}.g2GnNq_reasonAction svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;flex:none}.g2GnNq_reasonCaption{padding-left:6px}@container (width<=480px){.g2GnNq_reasonCard{--reason-preview-height:192px}}@media (pointer:coarse){.g2GnNq_reasonAction{min-height:44px}}@media (prefers-reduced-motion:reduce){.g2GnNq_reasonTrack{will-change:auto!important;transition:none!important;transform:none!important}}@media (forced-colors:active){.g2GnNq_reasonViewport{-webkit-mask-image:none!important;mask-image:none!important}}.g2GnNq_processItem,.g2GnNq_tool{min-width:0;margin:0 0 18px}.g2GnNq_processLabel{color:var(--dsw-alias-label-tertiary);align-items:baseline;gap:12px;margin:0 0 6px;font-size:12px;line-height:20px;display:flex}.g2GnNq_processFootnote{color:var(--dsw-alias-label-tertiary);margin:14px 0 0;font-size:12px;line-height:20px}.g2GnNq_detail{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:22px}.g2GnNq_detail>summary{cursor:pointer;padding:3px 0}.g2GnNq_detail[open]>summary{margin-bottom:8px}.g2GnNq_tool>.g2GnNq_tool{margin:10px 0 0 12px}.g2GnNq_meta{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:20px}.g2GnNq_stopped{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-tertiary);border-radius:6px;align-self:flex-start;margin-top:12px;padding:0 6px;font-size:11px;line-height:18px}.g2GnNq_compactionRow{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;margin:16px 0;display:flex}.g2GnNq_compactionLine{width:100%;color:var(--dsw-alias-label-tertiary);user-select:none;justify-content:center;align-items:center;gap:12px;font-size:11px;line-height:18px;display:flex}.g2GnNq_compactionLine:before,.g2GnNq_compactionLine:after{content:\"\";background:var(--dsw-alias-border-l1);opacity:.7;flex:1;height:1px}.g2GnNq_compactionRow>.g2GnNq_compactionLine{animation:.52s cubic-bezier(.4,0,.2,1) both g2GnNq_compactionLineIn}.g2GnNq_compactionRow>.g2GnNq_compactionLine>.g2GnNq_compactionPill{animation:.42s cubic-bezier(.34,1.4,.64,1) .12s both g2GnNq_compactionPillIn}.g2GnNq_compactionRow>.g2GnNq_compactionLine .g2GnNq_compactionIcon{animation:.9s cubic-bezier(.4,0,.2,1) .2s both g2GnNq_compactionDial}@keyframes g2GnNq_compactionLineIn{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}@keyframes g2GnNq_compactionPillIn{0%{opacity:0;transform:translateY(-6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes g2GnNq_compactionDial{0%{opacity:0;transform:rotate(-140deg)}to{opacity:.7;transform:rotate(0)}}[data-motion=off] .g2GnNq_compactionRow>.g2GnNq_compactionLine,[data-motion=off] .g2GnNq_compactionRow>.g2GnNq_compactionLine>.g2GnNq_compactionPill,[data-motion=off] .g2GnNq_compactionRow>.g2GnNq_compactionLine .g2GnNq_compactionIcon{animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_compactionRow>.g2GnNq_compactionLine,.g2GnNq_compactionRow>.g2GnNq_compactionLine>.g2GnNq_compactionPill,.g2GnNq_compactionRow>.g2GnNq_compactionLine .g2GnNq_compactionIcon{animation:none!important}}.g2GnNq_compactionPill{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-family:inherit;font-size:11px;line-height:18px;display:inline-flex}.g2GnNq_compactionButton{cursor:pointer;transition:color .14s,border-color .14s,background-color .14s}.g2GnNq_compactionButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-interactive-bg-hover)}.g2GnNq_compactionIcon{opacity:.7;flex:none;width:12px;height:12px}.g2GnNq_compactionToggle{opacity:.8;margin-left:2px;font-size:10px}.g2GnNq_compactionSummaryBox{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);width:100%;max-width:680px;color:var(--dsw-alias-label-secondary);box-sizing:border-box;border-radius:8px;margin-top:10px;padding:12px 16px;font-size:12px;line-height:20px}.g2GnNq_compactionSummaryHeader{color:var(--dsw-alias-label-tertiary);border-bottom:1px dashed var(--dsw-alias-border-l1);margin-bottom:8px;padding-bottom:4px;font-size:11px;font-weight:500}.g2GnNq_notice,.g2GnNq_error,.g2GnNq_attention{overflow-wrap:anywhere;border-radius:10px;padding:12px 14px;font-size:13px;line-height:20px}.g2GnNq_notice{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2)}.g2GnNq_error{color:var(--dsw-alias-label-primary);background:#ef44440f;border:1px solid #ef444438;align-items:flex-start;gap:10px;display:flex}.g2GnNq_errorIcon{color:#ef4444;flex:none;width:16px;height:16px;margin-top:2px}.g2GnNq_errorCopy{flex:1;min-width:0}.g2GnNq_errorTitle{color:#dc2626;align-items:center;gap:8px;margin-bottom:2px;font-weight:500;display:flex}.g2GnNq_errorMessage{color:var(--dsw-alias-label-secondary);word-break:break-word;margin:0;font-size:12px;line-height:18px}.g2GnNq_errorCode{color:#dc2626;background:#ef44441f;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.g2GnNq_attention{border:1px solid var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);flex-direction:column;gap:3px;display:flex}.g2GnNq_attention span{color:var(--dsw-alias-label-secondary)}.g2GnNq_unknown{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:22px}.g2GnNq_unknown p{margin:0 0 6px}.g2GnNq_historyButton{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0;border-radius:8px;align-self:center;padding:4px 12px;font-size:12px}.g2GnNq_historyButton:disabled{opacity:.55;cursor:default}.g2GnNq_empty{color:var(--dsw-alias-label-tertiary);text-align:center;padding:40px 0}.g2GnNq_answerActions{align-items:center;gap:8px;min-height:28px;margin:13px 0 0 -6px;display:flex}.g2GnNq_userActions{align-items:center;gap:8px;min-height:28px;display:flex}.g2GnNq_messageClock{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;line-height:24px}.g2GnNq_iconButton{color:var(--dsw-alias-label-tertiary);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.g2GnNq_iconButton svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.g2GnNq_imageFigure{box-sizing:border-box;align-self:flex-start;width:min(100%,360px);max-width:100%;margin:0}.g2GnNq_imageFrame{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);box-sizing:border-box;border-radius:12px;max-width:100%;min-height:96px;max-height:440px;position:relative;overflow:hidden}.g2GnNq_imageOpen{background:0 0;border:0;width:100%;height:100%;padding:0;display:flex;position:absolute;inset:0}.g2GnNq_imageOpen img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .2s cubic-bezier(.4,0,.2,1);display:block}.g2GnNq_imageOpen img[data-ready=true]{opacity:1}.g2GnNq_pendingImage{object-fit:contain;width:100%;max-width:100%;height:100%;display:block}.g2GnNq_imagePlaceholder{color:var(--dsw-alias-label-tertiary);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.g2GnNq_imagePlaceholder button{pointer-events:auto}.g2GnNq_imageFigure figcaption{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:20px}.g2GnNq_imageDialog{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:16px;max-width:90vw;max-height:90vh;padding:38px 20px 20px}.g2GnNq_imageDialog::backdrop{background:var(--dsw-alias-bg-mask-photo)}.g2GnNq_imageDialog img{object-fit:contain;max-width:82vw;max-height:75vh;display:block}.g2GnNq_dialogClose{color:inherit;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:24px;position:absolute;top:4px;right:8px}.g2GnNq_jumpDock{bottom:calc(var(--dsh-composer-height,152px) + 16px);z-index:8;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky}.g2GnNq_deliverablesRoot{grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:10px;margin-top:14px;font-size:13px;line-height:22px;display:grid}.g2GnNq_deliverablesLabel{color:var(--dsw-alias-label-tertiary);grid-area:1/1;padding-top:2px;font-size:12px;font-weight:500}.g2GnNq_deliverablesLane{grid-area:1/2;min-width:0}.g2GnNq_deliverablesRow{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.g2GnNq_deliverableChip{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:6px;align-items:center;font-size:12px;line-height:20px;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex;overflow:hidden}.g2GnNq_deliverableChip:hover{border-color:var(--dsw-alias-border-l3);background:var(--dsw-alias-bg-module-platform);box-shadow:0 1px 4px var(--dsw-alias-border-l1)}.g2GnNq_deliverableChip[data-status=opened]{color:#059669;background:#10b9811f;border-color:#10b981}.g2GnNq_chipMain{max-width:220px;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:3px 6px 3px 8px;display:inline-flex}.g2GnNq_chipMain:hover{color:var(--dsw-alias-label-primary)}.g2GnNq_deliverableIcon,.g2GnNq_statusIcon{opacity:.8;flex:none;width:13px;height:13px}.g2GnNq_statusIcon{color:#10b981}.g2GnNq_deliverableName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.g2GnNq_chipActions{opacity:.65;border-left:1px solid #0000;align-items:center;gap:2px;padding-right:4px;transition:opacity .15s,border-left-color .15s;display:inline-flex}.g2GnNq_deliverableChip:hover .g2GnNq_chipActions{opacity:1;border-left-color:var(--dsw-alias-border-l2)}.g2GnNq_chipActionBtn{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .12s,background-color .12s;display:inline-flex}.g2GnNq_chipActionBtn:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.g2GnNq_actionIcon{width:12px;height:12px}.g2GnNq_deliverablesMore{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px}.g2GnNq_deliverablesShowFolder{color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;transition:all .15s;display:inline-flex}.g2GnNq_deliverablesShowFolder:hover{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.g2GnNq_deliverablesShowFolder[data-status=opened]{color:#10b981;background:#10b98114;border-color:#10b9814d}.g2GnNq_morphCluster{flex-direction:column;width:100%;min-width:0;display:flex}.g2GnNq_morphDrawer{transform-origin:top;will-change:height, opacity, transform;height:0;overflow:hidden}.g2GnNq_liveFoldImpact{animation:.18s cubic-bezier(.2,0,0,1) both g2GnNq_liveFoldElastic}@keyframes g2GnNq_liveFoldElastic{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}.g2GnNq_liveFoldContainer{top:max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px));z-index:6;background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);transform-origin:0;will-change:transform, opacity;margin-bottom:6px;padding:4px 0;animation:.32s cubic-bezier(.16,1,.3,1) both g2GnNq_liveFoldPulse;position:sticky}@keyframes g2GnNq_liveFoldPulse{0%{opacity:.8;transform:translateY(-4px)scale(.98)}50%{opacity:1;transform:translateY(0)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}[data-motion=off] .g2GnNq_liveFoldContainer{animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_liveFoldContainer{animation:none!important}}.g2GnNq_priorFoldDrawer{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.g2GnNq_jump{width:34px;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-button-floating-fill,var(--dsw-alias-bg-base));box-shadow:var(--dsw-elevation-panel,0 2px 8px var(--dsw-alias-border-l1));pointer-events:auto;border:0;border-radius:100px;flex:none;justify-content:center;align-items:center;margin-top:-34px;padding:0;display:flex}.g2GnNq_jump:hover{background:var(--dsw-alias-button-floating-hover,var(--dsw-alias-interactive-bg-hover))}.g2GnNq_foldSummary{align-items:baseline;max-width:100%;display:inline-flex;white-space:nowrap!important}.g2GnNq_foldSummaryPart{align-items:baseline;display:inline-flex;white-space:nowrap!important}.g2GnNq_numberRollRoot{vertical-align:baseline;line-height:inherit;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";text-align:center;flex-shrink:0;justify-content:center;min-width:1.45em;display:inline-flex;position:relative;overflow:hidden;white-space:nowrap!important}.g2GnNq_numberRollSizer{visibility:hidden;user-select:none;pointer-events:none;line-height:inherit;white-space:nowrap}.g2GnNq_numberRollDigit{line-height:inherit;white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.g2GnNq_numberRollExit{animation:.24s cubic-bezier(.16,1,.3,1) forwards g2GnNq_numberRollOut}.g2GnNq_numberRollEnter{animation:.24s cubic-bezier(.16,1,.3,1) forwards g2GnNq_numberRollIn}@keyframes g2GnNq_numberRollOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes g2GnNq_numberRollIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}[data-motion=off] .g2GnNq_chevron,[data-motion=off] .g2GnNq_imageOpen img,[data-motion=off] .g2GnNq_processMeta,[data-motion=off] .g2GnNq_numberRollDigit{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_chevron,.g2GnNq_imageOpen img,.g2GnNq_processMeta,.g2GnNq_numberRollDigit{transition:none!important;animation:none!important}}.g2GnNq_turnStatus{white-space:nowrap;flex:none;align-self:flex-start;align-items:center;height:26px;margin:4px 0 12px;padding:0 4px;font-size:14px;line-height:22px;display:inline-flex}.g2GnNq_turnStatusLabel{background:linear-gradient(90deg, var(--dsw-static-deepseek-500,#4d6bfe) 0%, var(--dsw-static-deepseek-500,#4d6bfe) 40%, var(--dsw-static-deepseek-200,#a8c7fa) 50%, var(--dsw-static-deepseek-500,#4d6bfe) 60%, var(--dsw-static-deepseek-500,#4d6bfe) 100%);color:#0000;-webkit-text-fill-color:transparent;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:1.8s linear infinite g2GnNq_dsh-turn-status-shimmer}.g2GnNq_waitClock{flex:none;align-items:center;margin-left:8px;display:inline-flex}.g2GnNq_waitSeconds{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-caption,#86909c);font-size:13px;font-weight:400}.g2GnNq_waitOvertime{color:var(--dsw-alias-state-warning-primary,#d8862c);background:color-mix(in srgb, var(--dsw-alias-state-warning-primary,#d8862c) 16%, transparent);border-radius:5px;margin-left:8px;padding:0 6px;font-size:11px;line-height:16px}.g2GnNq_turnStatusClock{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-caption,#86868b);-webkit-text-fill-color:var(--dsw-alias-label-caption,#86868b);margin-left:8px;font-size:13px;font-weight:400}@keyframes g2GnNq_dsh-turn-status-shimmer{to{background-position:0 0}}[data-motion=off] .g2GnNq_turnStatusLabel{color:var(--dsw-static-deepseek-500,#4d6bfe)!important;-webkit-text-fill-color:var(--dsw-static-deepseek-500,#4d6bfe)!important;animation:none!important}@media (prefers-reduced-motion:reduce){.g2GnNq_turnStatusLabel{color:var(--dsw-static-deepseek-500,#4d6bfe)!important;-webkit-text-fill-color:var(--dsw-static-deepseek-500,#4d6bfe)!important;animation:none!important}}@media (pointer:coarse){.g2GnNq_disclosureButton{min-height:44px}}@media (width<=600px){.g2GnNq_root{padding-inline:20px}.g2GnNq_column{gap:18px}.g2GnNq_toolbar{font-size:11px}.g2GnNq_user{max-width:90%}}.g2GnNq_choreographedFlow{overflow-anchor:none;flex-direction:column;min-width:0;display:flex}.g2GnNq_flowCell{min-width:0;display:flow-root;overflow:clip}.g2GnNq_flowCell[hidden]{display:none}.g2GnNq_flowCellInner{flex-direction:column;min-width:0;padding-bottom:16px;display:flex}.g2GnNq_flowCellInner:empty{padding-bottom:0}.g2GnNq_choreographedFlow[data-reader-transition=collapse] .g2GnNq_flowCell *{animation-play-state:paused!important}.g2GnNq_numberRollExit,.g2GnNq_numberRollEnter{animation-duration:.16s}.g2GnNq_foldSummary{align-items:baseline;display:inline-flex;white-space:nowrap!important;flex-wrap:nowrap!important}.g2GnNq_toolbar{box-sizing:border-box;z-index:7;-webkit-backdrop-filter:none;border-bottom:0;align-self:stretch;width:100%;max-width:100%;min-height:40px}.g2GnNq_turnProcessSticky{box-sizing:border-box;width:calc(100% - var(--reader-control-width,148px));top:max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px));z-index:6;-webkit-backdrop-filter:none;background-clip:padding-box;border-bottom:1px solid #0000;min-height:40px;padding-right:0}.g2GnNq_flowCell[data-flow-summary],.g2GnNq_closedProcessSummary{top:max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px));z-index:6;box-sizing:border-box;background:var(--dsw-alias-bg-base);border-bottom:0;min-height:40px;padding-block:4px;position:sticky;overflow:visible}.g2GnNq_foldControl{background:var(--dsw-alias-bg-module-platform);border-radius:8px;align-items:center;gap:0;padding:2px;display:inline-flex}.g2GnNq_foldStop{color:var(--dsw-alias-label-secondary);white-space:nowrap;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 8px;font-size:12px;line-height:18px}.g2GnNq_foldStop[data-on]{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.g2GnNq_flowCell[data-flow-summary]>.g2GnNq_flowCellInner{padding-bottom:0}.g2GnNq_flowCell[data-flow-summary] .g2GnNq_disclosureButton,.g2GnNq_closedProcessSummary .g2GnNq_disclosureButton{width:auto;max-width:100%}.g2GnNq_flowCell[data-flow-summary] .g2GnNq_foldSummary,.g2GnNq_closedProcessSummary .g2GnNq_foldSummary{min-width:0}.g2GnNq_turnProcessSticky>.g2GnNq_disclosure{flex:auto;min-width:0}.g2GnNq_disclosureButton{width:max-content;max-width:calc(100% + 6px)}.g2GnNq_statusText{flex:0 auto}.g2GnNq_think{width:max-content;min-width:0}.g2GnNq_thinkSizer{white-space:normal;overflow-wrap:anywhere}.g2GnNq_thinkText{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.g2GnNq_root[data-reader-glass] .g2GnNq_toolbar,.g2GnNq_root[data-reader-glass] .g2GnNq_turnProcessSticky,.g2GnNq_root[data-reader-glass] .g2GnNq_liveFoldContainer{-webkit-backdrop-filter:blur(16px);box-shadow:none;background:0 0;border:0;border-radius:0}.g2GnNq_root[data-reader-glass] .g2GnNq_flowCell[data-flow-summary],.g2GnNq_root[data-reader-glass] .g2GnNq_closedProcessSummary{z-index:auto;border-left:2px solid color-mix(in srgb, var(--dsw-alias-border-l2,#80808059) 80%, transparent);padding-block:2px;background:0 0;border-radius:0;min-height:32px;padding-left:10px;position:static}.g2GnNq_root[data-reader-glass] .g2GnNq_user{background:color-mix(in srgb, var(--dsw-specific-bubble,#00000014) 25%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1,#8080804d) 30%, transparent)}.g2GnNq_root[data-reader-glass] .g2GnNq_reasonCard{border-color:color-mix(in srgb, var(--dsw-alias-border-l1,#80808059) 65%, transparent);background:0 0}.g2GnNq_root[data-reader-glass] .g2GnNq_toolDetails,.g2GnNq_root[data-reader-glass] .g2GnNq_notice,.g2GnNq_root[data-reader-glass] .g2GnNq_unknown,.g2GnNq_root[data-reader-glass] .g2GnNq_toolRaw,.g2GnNq_root[data-reader-glass] .g2GnNq_systemPrompt,.g2GnNq_root[data-reader-glass] .g2GnNq_compactionSummaryBox,.g2GnNq_root[data-reader-glass] .g2GnNq_attention,.g2GnNq_root[data-reader-glass] .g2GnNq_imageFrame,.g2GnNq_root[data-reader-glass] .g2GnNq_imageDialog{background:0 0}.g2GnNq_root[data-reader-glass] .g2GnNq_diffOverlay{background:color-mix(in srgb, var(--dsw-alias-bg-module-platform,#7f7f7f1a) 20%, transparent);-webkit-backdrop-filter:blur(16px)}.g2GnNq_root[data-reader-glass] .g2GnNq_diffScrollArea{background:0 0}.g2GnNq_root[data-reader-glass] .g2GnNq_diffTab{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fffc) 25%, transparent)}.g2GnNq_root[data-reader-glass] .g2GnNq_diffTab[data-active]{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fff) 45%, transparent)}.g2GnNq_root[data-reader-glass] .md-code-block,.g2GnNq_root[data-reader-glass] [data-diff]{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1,#80808033) 30%, transparent);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block,#0000000f) 25%, transparent)!important}.g2GnNq_root[data-reader-glass] .g2GnNq_foldControl{background:color-mix(in srgb, var(--dsw-alias-bg-module-platform,#7f7f7f1a) 25%, transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l2,#80808033) 30%, transparent)}.g2GnNq_root[data-reader-glass] .g2GnNq_foldStop[data-on]{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fff) 35%, transparent)}.g2GnNq_root[data-reader-glass] .g2GnNq_compactionPill,.g2GnNq_root[data-reader-glass] .g2GnNq_deliverableChip,.g2GnNq_root[data-reader-glass] .g2GnNq_toolState,.g2GnNq_root[data-reader-glass] .g2GnNq_diffStatButton{background:0 0;border-color:#0000}.g2GnNq_root[data-reader-glass] .g2GnNq_compactionPill:hover,.g2GnNq_root[data-reader-glass] .g2GnNq_compactionPill:focus-visible,.g2GnNq_root[data-reader-glass] .g2GnNq_deliverableChip:hover,.g2GnNq_root[data-reader-glass] .g2GnNq_deliverableChip:focus-within,.g2GnNq_root[data-reader-glass] .g2GnNq_toolState:hover,.g2GnNq_root[data-reader-glass] .g2GnNq_diffStatButton:hover,.g2GnNq_root[data-reader-glass] .g2GnNq_diffStatButton:focus-visible,.g2GnNq_root[data-reader-glass] .g2GnNq_diffStatButton[aria-expanded=true]{background:var(--dsw-alias-bg-module-platform,#7f7f7f1a);border-color:var(--dsw-alias-border-l2,#7f7f7f47)}";
|
|
44196
|
+
const css$5 = ".fQyGsq_root{color:var(--dsw-alias-label-primary);padding:16px calc(var(--dsh-composer-side-clearance,16px) + 16px) 24px;overflow-anchor:auto;flex:none;min-width:0;font-family:inherit;font-size:16px;line-height:28px;container-type:inline-size}.fQyGsq_column{max-width:var(--dsh-chat-content-width,748px);flex-direction:column;gap:22px;width:100%;min-width:0;margin:0 auto;display:flex}.fQyGsq_toolbar{min-height:32px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);justify-content:flex-end;align-items:center;gap:6px;padding:0;font-size:12px;display:flex;position:sticky;top:0}.fQyGsq_turnProcessSticky{background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);align-items:center;min-height:32px;display:flex;position:sticky}.fQyGsq_turnProcessSticky .fQyGsq_disclosureButton{min-height:32px}.fQyGsq_textButton,.fQyGsq_historyButton,.fQyGsq_iconButton,.fQyGsq_jump,.fQyGsq_disclosureButton,.fQyGsq_imageOpen,.fQyGsq_dialogClose{font:inherit;cursor:pointer}.fQyGsq_textButton{color:var(--dsw-alias-label-secondary);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:2px 6px}.fQyGsq_textButton:hover,.fQyGsq_iconButton:hover,.fQyGsq_disclosureButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.fQyGsq_root button:focus-visible,.fQyGsq_root summary:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:3px}.fQyGsq_turn{flex-direction:column;gap:14px;min-width:0;display:flex}.fQyGsq_turn+.fQyGsq_turn{margin-top:12px}.fQyGsq_userCluster{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);margin-bottom:4px;display:flex}.fQyGsq_userImages{flex-direction:column;align-items:flex-end;min-width:0;max-width:100%;display:flex}.fQyGsq_userImages .fQyGsq_imageFigure{align-self:flex-end}.fQyGsq_user{background:var(--dsw-specific-bubble);max-width:100%;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;box-sizing:border-box;border-radius:22px;align-self:flex-end;padding:10px 16px;line-height:24px}.fQyGsq_user .fQyGsq_blocks{gap:10px}.fQyGsq_answer{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.fQyGsq_readingText{min-width:0}.fQyGsq_reasonPlain{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit}.fQyGsq_readingText button{min-width:24px;min-height:24px}.fQyGsq_streamWord{display:inline-block}.fQyGsq_streamInlineWord{display:inline}.fQyGsq_streamWord,.fQyGsq_streamInlineWord,.fQyGsq_streamAtom{opacity:1;filter:none}.fQyGsq_streamAtom{min-width:0}@media (prefers-reduced-motion:reduce){.fQyGsq_streamWord,.fQyGsq_streamInlineWord,.fQyGsq_streamAtom{opacity:1!important;filter:none!important}}.fQyGsq_retiringContent{min-width:0}.fQyGsq_retiringContent[data-reader-retiring=retiring]{overflow:hidden}.fQyGsq_mainFlow,.fQyGsq_blocks{flex-direction:column;gap:16px;min-width:0;display:flex}.fQyGsq_mainFlow:empty,.fQyGsq_blocks:empty{display:none}.fQyGsq_blocks>:first-child{margin-top:0}.fQyGsq_blocks>:last-child{margin-bottom:0}.fQyGsq_blocks .md-table-wide{max-width:100%}.fQyGsq_disclosure{min-width:0}.fQyGsq_disclosureButton{max-width:100%;min-height:32px;color:var(--dsw-alias-label-tertiary);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;margin-left:-6px;padding:4px 6px;font-size:14px;font-weight:400;line-height:24px;display:inline-flex}.fQyGsq_disclosure[data-reader-status-only]{align-items:center;min-height:32px;display:flex}.fQyGsq_statusText{min-width:0;max-width:100%;color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:400;line-height:24px;display:inline-flex}.fQyGsq_srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fQyGsq_think{--think-swap:.15s;--think-gap:50ms;--think-distance:8px;--think-blur:2px;--think-shimmer:2s;--think-base:var(--dsw-alias-label-secondary);--think-highlight:var(--dsw-alias-label-primary);--think-ease:ease-in-out;text-align:left;max-width:100%;display:inline-block;position:relative}.fQyGsq_thinkSizer{visibility:hidden;white-space:nowrap;display:block}.fQyGsq_thinkText{color:var(--think-base);white-space:nowrap;text-overflow:ellipsis;filter:blur();opacity:1;transition:transform var(--think-swap) var(--think-ease), filter var(--think-swap) var(--think-ease), opacity var(--think-swap) var(--think-ease);display:block;position:absolute;top:0;left:0;right:0;overflow:hidden;transform:translateY(0)}.fQyGsq_think[data-reader-status-phase=running] .fQyGsq_thinkText[data-reader-status-copy=current]{transition-delay:var(--think-gap)}.fQyGsq_think:not([data-reader-status-phase=idle]) .fQyGsq_thinkText{will-change:transform, filter, opacity}@supports (background-clip:text){.fQyGsq_think[data-active=true] .fQyGsq_thinkText:before{content:attr(data-text);pointer-events:none;background-image:linear-gradient(90deg, transparent 0%, transparent 40%, var(--think-highlight) 50%, transparent 60%, transparent 100%);color:#0000;-webkit-text-fill-color:transparent;animation:fQyGsq_thinkShimmer var(--think-shimmer) linear infinite;background-repeat:no-repeat;background-size:400% 100%;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}}@keyframes fQyGsq_thinkShimmer{0%{background-position:100% 0}to{background-position:0 0}}.fQyGsq_thinkText.fQyGsq_isExit{transform:translateY(calc(var(--think-distance) * -1));filter:blur(var(--think-blur));opacity:0}.fQyGsq_thinkText.fQyGsq_isEnterStart{transform:translateY(var(--think-distance));filter:blur(var(--think-blur));opacity:0;transition:none}[data-motion=off] .fQyGsq_thinkText{filter:none!important;opacity:1!important;transition:none!important;transform:none!important}[data-motion=off] .fQyGsq_thinkText[data-reader-status-copy=outgoing],[data-motion=off] .fQyGsq_thinkText:before{display:none!important}@media (prefers-reduced-motion:reduce),(forced-colors:active){.fQyGsq_thinkText{filter:none!important;opacity:1!important;transition:none!important;transform:none!important}.fQyGsq_thinkText[data-reader-status-copy=outgoing],.fQyGsq_thinkText:before{display:none!important}}.fQyGsq_processMeta{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.22,1,.36,1),opacity .16s ease-out;display:grid}.fQyGsq_processMeta[data-open=true]{opacity:1;grid-template-rows:1fr}.fQyGsq_processMetaInner{min-height:0;overflow:hidden}.fQyGsq_processMetaLine{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 0 0 16px;font-size:12px;line-height:20px;display:flex}.fQyGsq_processMetaLine .fQyGsq_meta{color:inherit}.fQyGsq_chevron{stroke:currentColor;fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .26s cubic-bezier(.22,1,.36,1)}.fQyGsq_chevron[data-open=true]{transform:rotate(90deg)}.fQyGsq_disclosureBody{transform-origin:top;will-change:height, opacity, transform;height:0;overflow:hidden}.fQyGsq_processContents{border-left:1px solid var(--dsw-alias-border-l2);padding:3px 0 2px var(--reader-gutter,16px);margin:0 0 0 var(--reader-rail,6px);color:var(--dsw-alias-label-secondary);font-size:14px;line-height:24px;display:flow-root}.fQyGsq_processContents>:last-child{margin-bottom:0}.fQyGsq_processCommentary{color:var(--dsw-alias-label-secondary);margin:4px 0 8px var(--reader-rail,6px);padding-left:var(--reader-gutter,16px);border-left:1px solid var(--dsw-alias-border-l2);font-size:14px;line-height:24px}.fQyGsq_processFrame{min-width:0}.fQyGsq_toolActivity{min-width:0;color:var(--dsw-alias-label-secondary)}.fQyGsq_nativeToolRow{min-width:0}.fQyGsq_rowSeparator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.fQyGsq_nativeToolSummary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:1;font-size:14px;line-height:24px;overflow:hidden}.fQyGsq_nativeToolRow:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:3px;border-radius:4px}.fQyGsq_toolHeading{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 14px 4px;display:grid}.fQyGsq_toolHeading:hover{background:var(--dsw-alias-interactive-bg-hover)}.fQyGsq_toolHeading:focus-visible{outline-offset:-3px!important}.fQyGsq_toolGlyph{height:22px;color:var(--dsw-alias-label-secondary);justify-content:center;align-items:center;display:flex}.fQyGsq_toolHeadingCopy{flex-direction:column;gap:3px;min-width:0;display:flex}.fQyGsq_toolTitle{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:22px}.fQyGsq_toolTarget{-webkit-line-clamp:2;overflow-wrap:anywhere;color:var(--dsw-alias-label-secondary);-webkit-box-orient:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:19px;display:-webkit-box;overflow:hidden}.fQyGsq_toolHeadingState{min-height:22px;color:var(--dsw-alias-label-secondary);align-items:center;gap:7px;display:flex}.fQyGsq_diffStat{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";white-space:nowrap;flex:none;gap:6px;margin-left:8px;font-size:11px;line-height:18px;display:inline-flex}.fQyGsq_diffAdded{color:var(--dsw-alias-state-success-primary,#2f9e63)}.fQyGsq_diffRemoved{color:var(--dsw-alias-state-error-primary,#d1483c)}.fQyGsq_summaryRow{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.fQyGsq_summaryRow>.fQyGsq_diffStatRoot{flex:none;margin-left:auto}.fQyGsq_summaryRow>:first-child{min-width:0}.fQyGsq_diffStatRoot{flex:none;position:relative}.fQyGsq_diffStatButton{cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-secondary);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;line-height:16px;transition:background .12s,border-color .12s;display:inline-flex}.fQyGsq_diffStatButton:hover,.fQyGsq_diffStatButton:focus-visible,.fQyGsq_diffStatButton[aria-expanded=true]{background:var(--dsw-alias-bg-module-platform,#7f7f7f1a);border-color:var(--dsw-alias-border-l2,#7f7f7f47)}.fQyGsq_diffStatButton:focus-visible{outline:none}.fQyGsq_diffStatButton[aria-expanded=true] .fQyGsq_diffCaret{opacity:1}.fQyGsq_diffOverlayRow{box-sizing:border-box;flex:100%;width:100%;min-width:0;max-width:100%;margin-top:6px}.fQyGsq_diffOverlay{box-sizing:border-box;background:var(--dsw-alias-bg-module-platform,#7f7f7f14);border:1px solid var(--dsw-alias-border-l2,#80808038);border-radius:10px;flex-direction:column;width:100%;min-width:0;max-width:100%;padding:8px;display:flex;overflow:hidden}.fQyGsq_diffTabs{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;max-width:100%;margin-bottom:4px;padding-bottom:6px;display:flex;overflow-x:auto}.fQyGsq_diffTab{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:220px;font:inherit;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-base,#fffc);border:1px solid var(--dsw-alias-border-l2,#80808033);border-radius:6px;flex:none;padding:3px 10px;font-size:11px;line-height:16px;transition:all .12s;overflow:hidden}.fQyGsq_diffTab:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.fQyGsq_diffTab[data-active]{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-state-business-primary,#1e90ff);background:var(--dsw-alias-bg-base);font-weight:500}.fQyGsq_diffScrollArea{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--dsw-alias-border-l2,#80808026);background:var(--dsw-alias-markdown-code-block,#0000000a);border-radius:8px;max-height:420px;overflow:auto}.fQyGsq_diffScrollArea [data-diff]{background:0 0!important;border-radius:0!important;margin:0!important}.fQyGsq_diffCaret{opacity:.6;flex:none;width:10px;font-size:10px}.fQyGsq_diffPath{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;flex:auto;min-width:0;overflow:hidden}.fQyGsq_diffStat{font-variant-numeric:tabular-nums;flex:none;gap:6px;font-size:11px;display:inline-flex}.fQyGsq_diffHunkBody{flex-direction:column;gap:4px;padding:2px 7px 7px 25px;display:flex}.fQyGsq_diffLines{font-size:11px;line-height:1.55;font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre;border-radius:6px;margin:0;padding:6px 8px;overflow-x:auto}.fQyGsq_diffLines[data-side=removed]{background:#d1483c1f}.fQyGsq_diffLines[data-side=added]{background:#2f9e631f}.fQyGsq_diffLineRemoved,.fQyGsq_diffLineAdded{display:block}.fQyGsq_diffLineRemoved{color:var(--dsw-alias-state-error-primary,#d1483c)}.fQyGsq_diffLineAdded{color:var(--dsw-alias-state-success-primary,#2f9e63)}.fQyGsq_diffEmpty{color:var(--dsw-alias-label-secondary);margin:0;padding:2px 0;font-size:11px}.fQyGsq_nativeToolSummary[data-running]{background-image:linear-gradient(90deg, currentColor 0%, currentColor 35%, color-mix(in srgb, currentColor 35%, transparent) 50%, currentColor 65%, currentColor 100%);-webkit-text-fill-color:transparent;background-position:100% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite fQyGsq_readerStepShimmer}@keyframes fQyGsq_readerStepShimmer{to{background-position:-120% 0}}.fQyGsq_toolElapsed[data-slow]{opacity:1;color:var(--dsw-alias-state-warning-primary,#d8862c);font-weight:500}.fQyGsq_toolElapsed{opacity:.72;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";white-space:nowrap;flex:none;margin-left:8px;font-size:11px;line-height:18px}[data-motion=off] .fQyGsq_nativeToolSummary[data-running]{-webkit-text-fill-color:currentColor;background-image:none;animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_nativeToolSummary[data-running]{-webkit-text-fill-color:currentColor;background-image:none;animation:none!important}}.fQyGsq_toolState{white-space:nowrap;flex:none;margin-left:8px;font-size:11px;line-height:18px}.fQyGsq_toolState[data-phase=preparing],.fQyGsq_toolState[data-phase=running]{color:var(--dsw-alias-state-business-primary)}.fQyGsq_toolState[data-phase=preparing]:before,.fQyGsq_toolState[data-phase=running]:before{content:\"\";vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.4s ease-in-out infinite fQyGsq_readerRunningGlow;display:inline-block}@keyframes fQyGsq_readerRunningGlow{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 60%, transparent);opacity:1}70%{opacity:.7;box-shadow:0 0 0 7px #0000}to{opacity:1;box-shadow:0 0 #0000}}[data-motion=off] .fQyGsq_toolState[data-phase=preparing]:before,[data-motion=off] .fQyGsq_toolState[data-phase=running]:before{animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_toolState[data-phase=preparing]:before,.fQyGsq_toolState[data-phase=running]:before{animation:none!important}}.fQyGsq_toolState[data-phase=failed]{color:var(--dsw-alias-state-error-primary)}.fQyGsq_toolState[data-phase=interrupted]{color:inherit;opacity:.7}.fQyGsq_toolLedger{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 14px 0;font-size:11px;line-height:18px;display:flex}.fQyGsq_toolEngine{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.fQyGsq_toolDetails{border:1px solid var(--dsw-alias-border-l2);border-radius:8px;min-width:0;margin:6px 0 0 22px;overflow:hidden}.fQyGsq_toolTabs{align-items:center;gap:15px;padding:0 14px;display:flex}.fQyGsq_toolTabs>button{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 1px 8px;font-size:12px;line-height:20px}.fQyGsq_toolTabs>button[aria-selected=true]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary)}.fQyGsq_toolPanel{flex-direction:column;gap:12px;min-width:0;padding:12px 14px 14px;font-size:13px;line-height:22px;display:flex}.fQyGsq_toolPanel:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-3px}.fQyGsq_toolDetailNote{color:var(--dsw-alias-label-secondary);margin:0 0 9px;font-size:12px;line-height:20px}.fQyGsq_toolRawLabel{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;font-weight:500}.fQyGsq_toolRaw{background:var(--dsw-alias-bg-module-platform);max-height:400px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:12px;font:12px/20px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.fQyGsq_systemPrompt{background:var(--dsw-alias-bg-module-platform);max-height:320px;color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:12px;font:12px/20px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.fQyGsq_commandInput{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.fQyGsq_toolReceipt .fQyGsq_blocks,.fQyGsq_toolDocument .fQyGsq_blocks{font-size:13px;line-height:22px}.fQyGsq_toolChildren{margin:0 14px 12px var(--reader-rail,6px);padding-left:var(--reader-gutter,16px);border-left:1px solid var(--dsw-alias-border-l2);flex-direction:column;gap:9px;display:flex}@container (width<=420px){.fQyGsq_toolHeading{grid-template-columns:16px minmax(0,1fr) auto;gap:7px;padding:11px 10px 6px}.fQyGsq_toolHeadingState{gap:4px}.fQyGsq_toolLedger{padding-left:33px;padding-right:10px}.fQyGsq_toolPanel{padding:10px}}@media (pointer:coarse){.fQyGsq_toolTabs>button{min-height:44px}}.fQyGsq_reasonCard{--reason-preview-height:224px;--reason-hold:.84s;--reason-step:.5s;--reason-lines:2;--reason-fade:28px;--reason-ease:cubic-bezier(.22, 1, .36, 1);border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);min-width:0;scroll-margin-block:16px calc(var(--dsh-composer-height,152px) + 16px);border-radius:12px;position:relative;overflow:hidden}.fQyGsq_reasonHeading{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 16px 0;font-size:12px;line-height:20px;display:flex}.fQyGsq_reasonCard[data-overflow=false][data-expanded=false]{background:0 0;border-color:#0000;border-radius:0}.fQyGsq_reasonCard[data-overflow=false][data-expanded=false] .fQyGsq_reasonHeading{padding:0}.fQyGsq_reasonCard[data-overflow=false][data-expanded=false] .fQyGsq_reasonText{padding:4px 0 0 22px}.fQyGsq_reasonLabel{font-weight:500}.fQyGsq_reasonViewport{max-height:var(--reason-preview-height);scroll-behavior:auto;overflow-anchor:none;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l1) transparent;position:relative;overflow:auto}.fQyGsq_reasonCard[data-expanded=true] .fQyGsq_reasonViewport{max-height:min(60vh, 560px, var(--reason-reading-height,560px))}.fQyGsq_reasonViewport[data-edges=both],.fQyGsq_reasonCard[data-following=true][data-overflow=true] .fQyGsq_reasonViewport{-webkit-mask-image:linear-gradient(transparent 0, black var(--reason-fade), black calc(100% - var(--reason-fade)), transparent 100%);mask-image:linear-gradient(transparent 0, black var(--reason-fade), black calc(100% - var(--reason-fade)), transparent 100%)}.fQyGsq_reasonViewport[data-edges=top]{-webkit-mask-image:linear-gradient(transparent 0, black var(--reason-fade), black 100%);mask-image:linear-gradient(transparent 0, black var(--reason-fade), black 100%)}.fQyGsq_reasonViewport[data-edges=bottom]{-webkit-mask-image:linear-gradient(black 0, black calc(100% - var(--reason-fade)), transparent 100%);mask-image:linear-gradient(black 0, black calc(100% - var(--reason-fade)), transparent 100%)}.fQyGsq_reasonCard[data-expanded=true] .fQyGsq_reasonViewport{-webkit-mask-image:none;mask-image:none}.fQyGsq_reasonViewport:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-3px}.fQyGsq_reasonTrack{position:relative;transform:translateY(0)}.fQyGsq_reasonCard[data-following=true] .fQyGsq_reasonTrack{will-change:transform}.fQyGsq_reasonText{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;padding:8px 16px 16px;font-size:14px;line-height:24px}.fQyGsq_reasonText .fQyGsq_readingText>div{font-size:inherit;line-height:inherit;color:inherit}.fQyGsq_reasonFooter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;gap:8px;padding:2px 10px 8px;font-size:12px;line-height:20px;display:flex}.fQyGsq_reasonAction{min-height:28px;color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:4px 6px;display:inline-flex}.fQyGsq_reasonAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.fQyGsq_reasonAction:disabled{cursor:default;opacity:.65}.fQyGsq_reasonAction svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;flex:none}.fQyGsq_reasonCaption{padding-left:6px}@container (width<=480px){.fQyGsq_reasonCard{--reason-preview-height:192px}}@media (pointer:coarse){.fQyGsq_reasonAction{min-height:44px}}@media (prefers-reduced-motion:reduce){.fQyGsq_reasonTrack{will-change:auto!important;transition:none!important;transform:none!important}}@media (forced-colors:active){.fQyGsq_reasonViewport{-webkit-mask-image:none!important;mask-image:none!important}}.fQyGsq_processItem,.fQyGsq_tool{min-width:0;margin:0 0 18px}.fQyGsq_processLabel{color:var(--dsw-alias-label-tertiary);align-items:baseline;gap:12px;margin:0 0 6px;font-size:12px;line-height:20px;display:flex}.fQyGsq_processFootnote{color:var(--dsw-alias-label-tertiary);margin:14px 0 0;font-size:12px;line-height:20px}.fQyGsq_detail{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:22px}.fQyGsq_detail>summary{cursor:pointer;padding:3px 0}.fQyGsq_detail[open]>summary{margin-bottom:8px}.fQyGsq_tool>.fQyGsq_tool{margin:10px 0 0 12px}.fQyGsq_meta{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:20px}.fQyGsq_stopped{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-tertiary);border-radius:6px;align-self:flex-start;margin-top:12px;padding:0 6px;font-size:11px;line-height:18px}.fQyGsq_compactionRow{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;margin:16px 0;display:flex}.fQyGsq_compactionLine{width:100%;color:var(--dsw-alias-label-tertiary);user-select:none;justify-content:center;align-items:center;gap:12px;font-size:11px;line-height:18px;display:flex}.fQyGsq_compactionLine:before,.fQyGsq_compactionLine:after{content:\"\";background:var(--dsw-alias-border-l1);opacity:.7;flex:1;height:1px}.fQyGsq_compactionRow>.fQyGsq_compactionLine{animation:.52s cubic-bezier(.4,0,.2,1) both fQyGsq_compactionLineIn}.fQyGsq_compactionRow>.fQyGsq_compactionLine>.fQyGsq_compactionPill{animation:.42s cubic-bezier(.34,1.4,.64,1) .12s both fQyGsq_compactionPillIn}.fQyGsq_compactionRow>.fQyGsq_compactionLine .fQyGsq_compactionIcon{animation:.9s cubic-bezier(.4,0,.2,1) .2s both fQyGsq_compactionDial}@keyframes fQyGsq_compactionLineIn{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}@keyframes fQyGsq_compactionPillIn{0%{opacity:0;transform:translateY(-6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fQyGsq_compactionDial{0%{opacity:0;transform:rotate(-140deg)}to{opacity:.7;transform:rotate(0)}}[data-motion=off] .fQyGsq_compactionRow>.fQyGsq_compactionLine,[data-motion=off] .fQyGsq_compactionRow>.fQyGsq_compactionLine>.fQyGsq_compactionPill,[data-motion=off] .fQyGsq_compactionRow>.fQyGsq_compactionLine .fQyGsq_compactionIcon{animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_compactionRow>.fQyGsq_compactionLine,.fQyGsq_compactionRow>.fQyGsq_compactionLine>.fQyGsq_compactionPill,.fQyGsq_compactionRow>.fQyGsq_compactionLine .fQyGsq_compactionIcon{animation:none!important}}.fQyGsq_compactionPill{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-family:inherit;font-size:11px;line-height:18px;display:inline-flex}.fQyGsq_compactionButton{cursor:pointer;transition:color .14s,border-color .14s,background-color .14s}.fQyGsq_compactionButton:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-interactive-bg-hover)}.fQyGsq_compactionIcon{opacity:.7;flex:none;width:12px;height:12px}.fQyGsq_compactionToggle{opacity:.8;margin-left:2px;font-size:10px}.fQyGsq_compactionSummaryBox{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);width:100%;max-width:680px;color:var(--dsw-alias-label-secondary);box-sizing:border-box;border-radius:8px;margin-top:10px;padding:12px 16px;font-size:12px;line-height:20px}.fQyGsq_compactionSummaryHeader{color:var(--dsw-alias-label-tertiary);border-bottom:1px dashed var(--dsw-alias-border-l1);margin-bottom:8px;padding-bottom:4px;font-size:11px;font-weight:500}.fQyGsq_notice,.fQyGsq_error,.fQyGsq_attention{overflow-wrap:anywhere;border-radius:10px;padding:12px 14px;font-size:13px;line-height:20px}.fQyGsq_notice{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2)}.fQyGsq_error{color:var(--dsw-alias-label-primary);background:#ef44440f;border:1px solid #ef444438;align-items:flex-start;gap:10px;display:flex}.fQyGsq_errorIcon{color:#ef4444;flex:none;width:16px;height:16px;margin-top:2px}.fQyGsq_errorCopy{flex:1;min-width:0}.fQyGsq_errorTitle{color:#dc2626;align-items:center;gap:8px;margin-bottom:2px;font-weight:500;display:flex}.fQyGsq_errorMessage{color:var(--dsw-alias-label-secondary);word-break:break-word;margin:0;font-size:12px;line-height:18px}.fQyGsq_errorCode{color:#dc2626;background:#ef44441f;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.fQyGsq_attention{border:1px solid var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);flex-direction:column;gap:3px;display:flex}.fQyGsq_attention span{color:var(--dsw-alias-label-secondary)}.fQyGsq_unknown{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:22px}.fQyGsq_unknown p{margin:0 0 6px}.fQyGsq_historyButton{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0;border-radius:8px;align-self:center;padding:4px 12px;font-size:12px}.fQyGsq_historyButton:disabled{opacity:.55;cursor:default}.fQyGsq_empty{color:var(--dsw-alias-label-tertiary);text-align:center;padding:40px 0}.fQyGsq_answerActions{align-items:center;gap:8px;min-height:28px;margin:13px 0 0 -6px;display:flex}.fQyGsq_userActions{align-items:center;gap:8px;min-height:28px;display:flex}.fQyGsq_messageClock{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;line-height:24px}.fQyGsq_iconButton{color:var(--dsw-alias-label-tertiary);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.fQyGsq_iconButton svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.fQyGsq_imageFigure{box-sizing:border-box;align-self:flex-start;width:min(100%,360px);max-width:100%;margin:0}.fQyGsq_imageFrame{background:var(--dsw-alias-bg-module-platform);border:1px solid var(--dsw-alias-border-l2);box-sizing:border-box;border-radius:12px;max-width:100%;min-height:96px;max-height:440px;position:relative;overflow:hidden}.fQyGsq_imageOpen{background:0 0;border:0;width:100%;height:100%;padding:0;display:flex;position:absolute;inset:0}.fQyGsq_imageOpen img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .2s cubic-bezier(.4,0,.2,1);display:block}.fQyGsq_imageOpen img[data-ready=true]{opacity:1}.fQyGsq_pendingImage{object-fit:contain;width:100%;max-width:100%;height:100%;display:block}.fQyGsq_imagePlaceholder{color:var(--dsw-alias-label-tertiary);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.fQyGsq_imagePlaceholder button{pointer-events:auto}.fQyGsq_imageFigure figcaption{color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:20px}.fQyGsq_imageDialog{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:16px;max-width:90vw;max-height:90vh;padding:38px 20px 20px}.fQyGsq_imageDialog::backdrop{background:var(--dsw-alias-bg-mask-photo)}.fQyGsq_imageDialog img{object-fit:contain;max-width:82vw;max-height:75vh;display:block}.fQyGsq_dialogClose{color:inherit;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:24px;position:absolute;top:4px;right:8px}.fQyGsq_jumpDock{bottom:calc(var(--dsh-composer-height,152px) + 16px);z-index:8;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky}.fQyGsq_deliverablesRoot{grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:10px;margin-top:14px;font-size:13px;line-height:22px;display:grid}.fQyGsq_deliverablesLabel{color:var(--dsw-alias-label-tertiary);grid-area:1/1;padding-top:2px;font-size:12px;font-weight:500}.fQyGsq_deliverablesLane{grid-area:1/2;min-width:0}.fQyGsq_deliverablesRow{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.fQyGsq_deliverableChip{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary);border-radius:6px;align-items:center;font-size:12px;line-height:20px;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex;overflow:hidden}.fQyGsq_deliverableChip:hover{border-color:var(--dsw-alias-border-l3);background:var(--dsw-alias-bg-module-platform);box-shadow:0 1px 4px var(--dsw-alias-border-l1)}.fQyGsq_deliverableChip[data-status=opened]{color:#059669;background:#10b9811f;border-color:#10b981}.fQyGsq_chipMain{max-width:220px;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding:3px 6px 3px 8px;display:inline-flex}.fQyGsq_chipMain:hover{color:var(--dsw-alias-label-primary)}.fQyGsq_deliverableIcon,.fQyGsq_statusIcon{opacity:.8;flex:none;width:13px;height:13px}.fQyGsq_statusIcon{color:#10b981}.fQyGsq_deliverableName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fQyGsq_chipActions{opacity:.65;border-left:1px solid #0000;align-items:center;gap:2px;padding-right:4px;transition:opacity .15s,border-left-color .15s;display:inline-flex}.fQyGsq_deliverableChip:hover .fQyGsq_chipActions{opacity:1;border-left-color:var(--dsw-alias-border-l2)}.fQyGsq_chipActionBtn{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .12s,background-color .12s;display:inline-flex}.fQyGsq_chipActionBtn:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.fQyGsq_actionIcon{width:12px;height:12px}.fQyGsq_deliverablesMore{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px}.fQyGsq_deliverablesShowFolder{color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;transition:all .15s;display:inline-flex}.fQyGsq_deliverablesShowFolder:hover{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.fQyGsq_deliverablesShowFolder[data-status=opened]{color:#10b981;background:#10b98114;border-color:#10b9814d}.fQyGsq_morphCluster{flex-direction:column;width:100%;min-width:0;display:flex}.fQyGsq_morphDrawer{transform-origin:top;will-change:height, opacity, transform;height:0;overflow:hidden}.fQyGsq_liveFoldImpact{animation:.18s cubic-bezier(.2,0,0,1) both fQyGsq_liveFoldElastic}@keyframes fQyGsq_liveFoldElastic{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}.fQyGsq_liveFoldContainer{top:calc(max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px)) + var(--reader-sticky-lane,40px) * 2);z-index:4;background:var(--dsw-alias-bg-base);-webkit-backdrop-filter:blur(12px);transform-origin:0;will-change:transform, opacity;margin-bottom:6px;padding:4px 0;animation:.32s cubic-bezier(.16,1,.3,1) both fQyGsq_liveFoldPulse;position:sticky}@keyframes fQyGsq_liveFoldPulse{0%{opacity:.8;transform:translateY(-4px)scale(.98)}50%{opacity:1;transform:translateY(0)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}[data-motion=off] .fQyGsq_liveFoldContainer{animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_liveFoldContainer{animation:none!important}}.fQyGsq_priorFoldDrawer{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.fQyGsq_jump{width:34px;height:34px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-button-floating-fill,var(--dsw-alias-bg-base));box-shadow:var(--dsw-elevation-panel,0 2px 8px var(--dsw-alias-border-l1));pointer-events:auto;border:0;border-radius:100px;flex:none;justify-content:center;align-items:center;margin-top:-34px;padding:0;display:flex}.fQyGsq_jump:hover{background:var(--dsw-alias-button-floating-hover,var(--dsw-alias-interactive-bg-hover))}.fQyGsq_foldSummary{text-overflow:ellipsis;align-items:baseline;max-width:100%;display:inline-flex;overflow:hidden;white-space:nowrap!important}.fQyGsq_foldSummaryPart{flex:none;align-items:baseline;display:inline-flex;white-space:nowrap!important}.fQyGsq_numberRollRoot{vertical-align:baseline;line-height:inherit;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";text-align:center;flex-shrink:0;justify-content:center;min-width:1.45em;display:inline-flex;position:relative;overflow:hidden;white-space:nowrap!important}.fQyGsq_numberRollSizer{visibility:hidden;user-select:none;pointer-events:none;line-height:inherit;white-space:nowrap}.fQyGsq_numberRollDigit{line-height:inherit;white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fQyGsq_numberRollExit{animation:.24s cubic-bezier(.16,1,.3,1) forwards fQyGsq_numberRollOut}.fQyGsq_numberRollEnter{animation:.24s cubic-bezier(.16,1,.3,1) forwards fQyGsq_numberRollIn}@keyframes fQyGsq_numberRollOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes fQyGsq_numberRollIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}[data-motion=off] .fQyGsq_chevron,[data-motion=off] .fQyGsq_imageOpen img,[data-motion=off] .fQyGsq_processMeta,[data-motion=off] .fQyGsq_numberRollDigit{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_chevron,.fQyGsq_imageOpen img,.fQyGsq_processMeta,.fQyGsq_numberRollDigit{transition:none!important;animation:none!important}}.fQyGsq_turnStatus{white-space:nowrap;flex:none;align-self:flex-start;align-items:center;height:26px;margin:4px 0 12px;padding:0 4px;font-size:14px;line-height:22px;display:inline-flex}.fQyGsq_turnStatusLabel{background:linear-gradient(90deg, var(--dsw-static-deepseek-500,#4d6bfe) 0%, var(--dsw-static-deepseek-500,#4d6bfe) 40%, var(--dsw-static-deepseek-200,#a8c7fa) 50%, var(--dsw-static-deepseek-500,#4d6bfe) 60%, var(--dsw-static-deepseek-500,#4d6bfe) 100%);color:#0000;-webkit-text-fill-color:transparent;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:1.8s linear infinite fQyGsq_dsh-turn-status-shimmer}.fQyGsq_waitClock{flex:none;align-items:center;margin-left:8px;display:inline-flex}.fQyGsq_waitSeconds{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-caption,#86909c);font-size:13px;font-weight:400}.fQyGsq_waitOvertime{color:var(--dsw-alias-state-warning-primary,#d8862c);background:color-mix(in srgb, var(--dsw-alias-state-warning-primary,#d8862c) 16%, transparent);border-radius:5px;margin-left:8px;padding:0 6px;font-size:11px;line-height:16px}.fQyGsq_turnStatusClock{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";color:var(--dsw-alias-label-caption,#86868b);-webkit-text-fill-color:var(--dsw-alias-label-caption,#86868b);margin-left:8px;font-size:13px;font-weight:400}@keyframes fQyGsq_dsh-turn-status-shimmer{to{background-position:0 0}}[data-motion=off] .fQyGsq_turnStatusLabel{color:var(--dsw-static-deepseek-500,#4d6bfe)!important;-webkit-text-fill-color:var(--dsw-static-deepseek-500,#4d6bfe)!important;animation:none!important}@media (prefers-reduced-motion:reduce){.fQyGsq_turnStatusLabel{color:var(--dsw-static-deepseek-500,#4d6bfe)!important;-webkit-text-fill-color:var(--dsw-static-deepseek-500,#4d6bfe)!important;animation:none!important}}@media (pointer:coarse){.fQyGsq_disclosureButton{min-height:44px}}@media (width<=600px){.fQyGsq_root{padding-inline:20px}.fQyGsq_column{gap:18px}.fQyGsq_toolbar{font-size:11px}.fQyGsq_user{max-width:90%}}.fQyGsq_choreographedFlow{overflow-anchor:none;flex-direction:column;min-width:0;display:flex}.fQyGsq_flowCell{min-width:0;display:flow-root;overflow:clip}.fQyGsq_flowCell[hidden]{display:none}.fQyGsq_flowCellInner{flex-direction:column;min-width:0;padding-bottom:16px;display:flex}.fQyGsq_flowCellInner:empty{padding-bottom:0}.fQyGsq_choreographedFlow[data-reader-transition=collapse] .fQyGsq_flowCell *{animation-play-state:paused!important}.fQyGsq_numberRollExit,.fQyGsq_numberRollEnter{animation-duration:.16s}.fQyGsq_foldSummary{align-items:baseline;display:inline-flex;white-space:nowrap!important;flex-wrap:nowrap!important}.fQyGsq_toolbar{box-sizing:border-box;z-index:7;-webkit-backdrop-filter:none;border-bottom:0;align-self:stretch;width:100%;max-width:100%;min-height:40px}.fQyGsq_turnProcessSticky{box-sizing:border-box;width:calc(100% - var(--reader-control-width,148px));top:max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px));z-index:6;-webkit-backdrop-filter:none;background-clip:padding-box;border-bottom:1px solid #0000;min-height:40px;padding-right:0}.fQyGsq_flowCell[data-flow-summary],.fQyGsq_closedProcessSummary{top:calc(max(var(--reader-toolbar-height,40px), var(--reader-status-height,40px)) + var(--reader-sticky-lane,40px));z-index:5;box-sizing:border-box;background:var(--dsw-alias-bg-base);border-bottom:0;min-height:40px;padding-block:4px;position:sticky;overflow:visible}.fQyGsq_foldControl{background:var(--dsw-alias-bg-module-platform);border-radius:8px;align-items:center;gap:0;padding:2px;display:inline-flex}.fQyGsq_foldStop{color:var(--dsw-alias-label-secondary);white-space:nowrap;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 8px;font-size:12px;line-height:18px}.fQyGsq_foldStop[data-on]{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.fQyGsq_flowCell[data-flow-summary]>.fQyGsq_flowCellInner{padding-bottom:0}.fQyGsq_flowCell[data-flow-summary] .fQyGsq_disclosureButton,.fQyGsq_closedProcessSummary .fQyGsq_disclosureButton{width:auto;max-width:100%}.fQyGsq_flowCell[data-flow-summary] .fQyGsq_foldSummary,.fQyGsq_closedProcessSummary .fQyGsq_foldSummary{min-width:0}.fQyGsq_turnProcessSticky>.fQyGsq_disclosure{flex:auto;min-width:0}.fQyGsq_disclosureButton{width:max-content;max-width:calc(100% + 6px)}.fQyGsq_statusText{flex:0 auto}.fQyGsq_think{width:max-content;min-width:0}.fQyGsq_thinkSizer{white-space:normal;overflow-wrap:anywhere}.fQyGsq_thinkText{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.fQyGsq_root[data-reader-glass] .fQyGsq_toolbar,.fQyGsq_root[data-reader-glass] .fQyGsq_turnProcessSticky,.fQyGsq_root[data-reader-glass] .fQyGsq_liveFoldContainer{-webkit-backdrop-filter:blur(16px);box-shadow:none;background:0 0;border:0;border-radius:0}.fQyGsq_root[data-reader-glass] .fQyGsq_flowCell[data-flow-summary],.fQyGsq_root[data-reader-glass] .fQyGsq_closedProcessSummary{z-index:auto;border-left:2px solid color-mix(in srgb, var(--dsw-alias-border-l2,#80808059) 80%, transparent);padding-block:2px;background:0 0;border-radius:0;min-height:32px;padding-left:10px;position:static}.fQyGsq_root[data-reader-glass] .fQyGsq_user{background:color-mix(in srgb, var(--dsw-specific-bubble,#00000014) 25%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1,#8080804d) 30%, transparent)}.fQyGsq_root[data-reader-glass] .fQyGsq_reasonCard{border-color:color-mix(in srgb, var(--dsw-alias-border-l1,#80808059) 65%, transparent);background:0 0}.fQyGsq_root[data-reader-glass] .fQyGsq_toolDetails,.fQyGsq_root[data-reader-glass] .fQyGsq_notice,.fQyGsq_root[data-reader-glass] .fQyGsq_unknown,.fQyGsq_root[data-reader-glass] .fQyGsq_toolRaw,.fQyGsq_root[data-reader-glass] .fQyGsq_systemPrompt,.fQyGsq_root[data-reader-glass] .fQyGsq_compactionSummaryBox,.fQyGsq_root[data-reader-glass] .fQyGsq_attention,.fQyGsq_root[data-reader-glass] .fQyGsq_imageFrame,.fQyGsq_root[data-reader-glass] .fQyGsq_imageDialog{background:0 0}.fQyGsq_root[data-reader-glass] .fQyGsq_diffOverlay{background:color-mix(in srgb, var(--dsw-alias-bg-module-platform,#7f7f7f1a) 20%, transparent);-webkit-backdrop-filter:blur(16px)}.fQyGsq_root[data-reader-glass] .fQyGsq_diffScrollArea{background:0 0}.fQyGsq_root[data-reader-glass] .fQyGsq_diffTab{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fffc) 25%, transparent)}.fQyGsq_root[data-reader-glass] .fQyGsq_diffTab[data-active]{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fff) 45%, transparent)}.fQyGsq_root[data-reader-glass] .md-code-block,.fQyGsq_root[data-reader-glass] [data-diff]{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1,#80808033) 30%, transparent);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block,#0000000f) 25%, transparent)!important}.fQyGsq_root[data-reader-glass] .fQyGsq_foldControl{background:color-mix(in srgb, var(--dsw-alias-bg-module-platform,#7f7f7f1a) 25%, transparent);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l2,#80808033) 30%, transparent)}.fQyGsq_root[data-reader-glass] .fQyGsq_foldStop[data-on]{background:color-mix(in srgb, var(--dsw-alias-bg-base,#fff) 35%, transparent)}.fQyGsq_root[data-reader-glass] .fQyGsq_compactionPill,.fQyGsq_root[data-reader-glass] .fQyGsq_deliverableChip,.fQyGsq_root[data-reader-glass] .fQyGsq_toolState,.fQyGsq_root[data-reader-glass] .fQyGsq_diffStatButton{background:0 0;border-color:#0000}.fQyGsq_root[data-reader-glass] .fQyGsq_compactionPill:hover,.fQyGsq_root[data-reader-glass] .fQyGsq_compactionPill:focus-visible,.fQyGsq_root[data-reader-glass] .fQyGsq_deliverableChip:hover,.fQyGsq_root[data-reader-glass] .fQyGsq_deliverableChip:focus-within,.fQyGsq_root[data-reader-glass] .fQyGsq_toolState:hover,.fQyGsq_root[data-reader-glass] .fQyGsq_diffStatButton:hover,.fQyGsq_root[data-reader-glass] .fQyGsq_diffStatButton:focus-visible,.fQyGsq_root[data-reader-glass] .fQyGsq_diffStatButton[aria-expanded=true]{background:var(--dsw-alias-bg-module-platform,#7f7f7f1a);border-color:var(--dsw-alias-border-l2,#7f7f7f47)}";
|
|
44155
44197
|
const tagId$5 = "dsh-better-display/Reader.module.css";
|
|
44156
44198
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
|
|
44157
44199
|
const tag = document.createElement("style");
|
|
@@ -44161,181 +44203,181 @@ function(test) {
|
|
|
44161
44203
|
document.head.appendChild(tag);
|
|
44162
44204
|
}
|
|
44163
44205
|
var Reader_module_css_default = {
|
|
44164
|
-
"actionIcon": "
|
|
44165
|
-
"answer": "
|
|
44166
|
-
"answerActions": "
|
|
44167
|
-
"attention": "
|
|
44168
|
-
"blocks": "
|
|
44169
|
-
"chevron": "
|
|
44170
|
-
"chipActionBtn": "
|
|
44171
|
-
"chipActions": "
|
|
44172
|
-
"chipMain": "
|
|
44173
|
-
"choreographedFlow": "
|
|
44174
|
-
"closedProcessSummary": "
|
|
44175
|
-
"column": "
|
|
44176
|
-
"commandInput": "
|
|
44177
|
-
"compactionButton": "
|
|
44178
|
-
"compactionDial": "
|
|
44179
|
-
"compactionIcon": "
|
|
44180
|
-
"compactionLine": "
|
|
44181
|
-
"compactionLineIn": "
|
|
44182
|
-
"compactionPill": "
|
|
44183
|
-
"compactionPillIn": "
|
|
44184
|
-
"compactionRow": "
|
|
44185
|
-
"compactionSummaryBox": "
|
|
44186
|
-
"compactionSummaryHeader": "
|
|
44187
|
-
"compactionToggle": "
|
|
44188
|
-
"deliverableChip": "
|
|
44189
|
-
"deliverableIcon": "
|
|
44190
|
-
"deliverableName": "
|
|
44191
|
-
"deliverablesLabel": "
|
|
44192
|
-
"deliverablesLane": "
|
|
44193
|
-
"deliverablesMore": "
|
|
44194
|
-
"deliverablesRoot": "
|
|
44195
|
-
"deliverablesRow": "
|
|
44196
|
-
"deliverablesShowFolder": "
|
|
44197
|
-
"detail": "
|
|
44198
|
-
"dialogClose": "
|
|
44199
|
-
"diffAdded": "
|
|
44200
|
-
"diffCaret": "
|
|
44201
|
-
"diffEmpty": "
|
|
44202
|
-
"diffHunkBody": "
|
|
44203
|
-
"diffLineAdded": "
|
|
44204
|
-
"diffLineRemoved": "
|
|
44205
|
-
"diffLines": "
|
|
44206
|
-
"diffOverlay": "
|
|
44207
|
-
"diffOverlayRow": "
|
|
44208
|
-
"diffPath": "
|
|
44209
|
-
"diffRemoved": "
|
|
44210
|
-
"diffScrollArea": "
|
|
44211
|
-
"diffStat": "
|
|
44212
|
-
"diffStatButton": "
|
|
44213
|
-
"diffStatRoot": "
|
|
44214
|
-
"diffTab": "
|
|
44215
|
-
"diffTabs": "
|
|
44216
|
-
"disclosure": "
|
|
44217
|
-
"disclosureBody": "
|
|
44218
|
-
"disclosureButton": "
|
|
44219
|
-
"dsh-turn-status-shimmer": "
|
|
44220
|
-
"empty": "
|
|
44221
|
-
"error": "
|
|
44222
|
-
"errorCode": "
|
|
44223
|
-
"errorCopy": "
|
|
44224
|
-
"errorIcon": "
|
|
44225
|
-
"errorMessage": "
|
|
44226
|
-
"errorTitle": "
|
|
44227
|
-
"flowCell": "
|
|
44228
|
-
"flowCellInner": "
|
|
44229
|
-
"foldControl": "
|
|
44230
|
-
"foldStop": "
|
|
44231
|
-
"foldSummary": "
|
|
44232
|
-
"foldSummaryPart": "
|
|
44233
|
-
"historyButton": "
|
|
44234
|
-
"iconButton": "
|
|
44235
|
-
"imageDialog": "
|
|
44236
|
-
"imageFigure": "
|
|
44237
|
-
"imageFrame": "
|
|
44238
|
-
"imageOpen": "
|
|
44239
|
-
"imagePlaceholder": "
|
|
44240
|
-
"isEnterStart": "
|
|
44241
|
-
"isExit": "
|
|
44242
|
-
"jump": "
|
|
44243
|
-
"jumpDock": "
|
|
44244
|
-
"liveFoldContainer": "
|
|
44245
|
-
"liveFoldElastic": "
|
|
44246
|
-
"liveFoldImpact": "
|
|
44247
|
-
"liveFoldPulse": "
|
|
44248
|
-
"mainFlow": "
|
|
44249
|
-
"messageClock": "
|
|
44250
|
-
"meta": "
|
|
44251
|
-
"morphCluster": "
|
|
44252
|
-
"morphDrawer": "
|
|
44253
|
-
"nativeToolRow": "
|
|
44254
|
-
"nativeToolSummary": "
|
|
44255
|
-
"notice": "
|
|
44256
|
-
"numberRollDigit": "
|
|
44257
|
-
"numberRollEnter": "
|
|
44258
|
-
"numberRollExit": "
|
|
44259
|
-
"numberRollIn": "
|
|
44260
|
-
"numberRollOut": "
|
|
44261
|
-
"numberRollRoot": "
|
|
44262
|
-
"numberRollSizer": "
|
|
44263
|
-
"pendingImage": "
|
|
44264
|
-
"priorFoldDrawer": "
|
|
44265
|
-
"processCommentary": "
|
|
44266
|
-
"processContents": "
|
|
44267
|
-
"processFootnote": "
|
|
44268
|
-
"processFrame": "
|
|
44269
|
-
"processItem": "
|
|
44270
|
-
"processLabel": "
|
|
44271
|
-
"processMeta": "
|
|
44272
|
-
"processMetaInner": "
|
|
44273
|
-
"processMetaLine": "
|
|
44274
|
-
"readerRunningGlow": "
|
|
44275
|
-
"readerStepShimmer": "
|
|
44276
|
-
"readingText": "
|
|
44277
|
-
"reasonAction": "
|
|
44278
|
-
"reasonCaption": "
|
|
44279
|
-
"reasonCard": "
|
|
44280
|
-
"reasonFooter": "
|
|
44281
|
-
"reasonHeading": "
|
|
44282
|
-
"reasonLabel": "
|
|
44283
|
-
"reasonPlain": "
|
|
44284
|
-
"reasonText": "
|
|
44285
|
-
"reasonTrack": "
|
|
44286
|
-
"reasonViewport": "
|
|
44287
|
-
"retiringContent": "
|
|
44288
|
-
"root": "
|
|
44289
|
-
"rowSeparator": "
|
|
44290
|
-
"srOnly": "
|
|
44291
|
-
"statusIcon": "
|
|
44292
|
-
"statusText": "
|
|
44293
|
-
"stopped": "
|
|
44294
|
-
"streamAtom": "
|
|
44295
|
-
"streamInlineWord": "
|
|
44296
|
-
"streamWord": "
|
|
44297
|
-
"summaryRow": "
|
|
44298
|
-
"systemPrompt": "
|
|
44299
|
-
"textButton": "
|
|
44300
|
-
"think": "
|
|
44301
|
-
"thinkShimmer": "
|
|
44302
|
-
"thinkSizer": "
|
|
44303
|
-
"thinkText": "
|
|
44304
|
-
"tool": "
|
|
44305
|
-
"toolActivity": "
|
|
44306
|
-
"toolbar": "
|
|
44307
|
-
"toolChildren": "
|
|
44308
|
-
"toolDetailNote": "
|
|
44309
|
-
"toolDetails": "
|
|
44310
|
-
"toolDocument": "
|
|
44311
|
-
"toolElapsed": "
|
|
44312
|
-
"toolEngine": "
|
|
44313
|
-
"toolGlyph": "
|
|
44314
|
-
"toolHeading": "
|
|
44315
|
-
"toolHeadingCopy": "
|
|
44316
|
-
"toolHeadingState": "
|
|
44317
|
-
"toolLedger": "
|
|
44318
|
-
"toolPanel": "
|
|
44319
|
-
"toolRaw": "
|
|
44320
|
-
"toolRawLabel": "
|
|
44321
|
-
"toolReceipt": "
|
|
44322
|
-
"toolState": "
|
|
44323
|
-
"toolTabs": "
|
|
44324
|
-
"toolTarget": "
|
|
44325
|
-
"toolTitle": "
|
|
44326
|
-
"turn": "
|
|
44327
|
-
"turnProcessSticky": "
|
|
44328
|
-
"turnStatus": "
|
|
44329
|
-
"turnStatusClock": "
|
|
44330
|
-
"turnStatusLabel": "
|
|
44331
|
-
"unknown": "
|
|
44332
|
-
"user": "
|
|
44333
|
-
"userActions": "
|
|
44334
|
-
"userCluster": "
|
|
44335
|
-
"userImages": "
|
|
44336
|
-
"waitClock": "
|
|
44337
|
-
"waitOvertime": "
|
|
44338
|
-
"waitSeconds": "
|
|
44206
|
+
"actionIcon": "fQyGsq_actionIcon",
|
|
44207
|
+
"answer": "fQyGsq_answer",
|
|
44208
|
+
"answerActions": "fQyGsq_answerActions",
|
|
44209
|
+
"attention": "fQyGsq_attention",
|
|
44210
|
+
"blocks": "fQyGsq_blocks",
|
|
44211
|
+
"chevron": "fQyGsq_chevron",
|
|
44212
|
+
"chipActionBtn": "fQyGsq_chipActionBtn",
|
|
44213
|
+
"chipActions": "fQyGsq_chipActions",
|
|
44214
|
+
"chipMain": "fQyGsq_chipMain",
|
|
44215
|
+
"choreographedFlow": "fQyGsq_choreographedFlow",
|
|
44216
|
+
"closedProcessSummary": "fQyGsq_closedProcessSummary",
|
|
44217
|
+
"column": "fQyGsq_column",
|
|
44218
|
+
"commandInput": "fQyGsq_commandInput",
|
|
44219
|
+
"compactionButton": "fQyGsq_compactionButton",
|
|
44220
|
+
"compactionDial": "fQyGsq_compactionDial",
|
|
44221
|
+
"compactionIcon": "fQyGsq_compactionIcon",
|
|
44222
|
+
"compactionLine": "fQyGsq_compactionLine",
|
|
44223
|
+
"compactionLineIn": "fQyGsq_compactionLineIn",
|
|
44224
|
+
"compactionPill": "fQyGsq_compactionPill",
|
|
44225
|
+
"compactionPillIn": "fQyGsq_compactionPillIn",
|
|
44226
|
+
"compactionRow": "fQyGsq_compactionRow",
|
|
44227
|
+
"compactionSummaryBox": "fQyGsq_compactionSummaryBox",
|
|
44228
|
+
"compactionSummaryHeader": "fQyGsq_compactionSummaryHeader",
|
|
44229
|
+
"compactionToggle": "fQyGsq_compactionToggle",
|
|
44230
|
+
"deliverableChip": "fQyGsq_deliverableChip",
|
|
44231
|
+
"deliverableIcon": "fQyGsq_deliverableIcon",
|
|
44232
|
+
"deliverableName": "fQyGsq_deliverableName",
|
|
44233
|
+
"deliverablesLabel": "fQyGsq_deliverablesLabel",
|
|
44234
|
+
"deliverablesLane": "fQyGsq_deliverablesLane",
|
|
44235
|
+
"deliverablesMore": "fQyGsq_deliverablesMore",
|
|
44236
|
+
"deliverablesRoot": "fQyGsq_deliverablesRoot",
|
|
44237
|
+
"deliverablesRow": "fQyGsq_deliverablesRow",
|
|
44238
|
+
"deliverablesShowFolder": "fQyGsq_deliverablesShowFolder",
|
|
44239
|
+
"detail": "fQyGsq_detail",
|
|
44240
|
+
"dialogClose": "fQyGsq_dialogClose",
|
|
44241
|
+
"diffAdded": "fQyGsq_diffAdded",
|
|
44242
|
+
"diffCaret": "fQyGsq_diffCaret",
|
|
44243
|
+
"diffEmpty": "fQyGsq_diffEmpty",
|
|
44244
|
+
"diffHunkBody": "fQyGsq_diffHunkBody",
|
|
44245
|
+
"diffLineAdded": "fQyGsq_diffLineAdded",
|
|
44246
|
+
"diffLineRemoved": "fQyGsq_diffLineRemoved",
|
|
44247
|
+
"diffLines": "fQyGsq_diffLines",
|
|
44248
|
+
"diffOverlay": "fQyGsq_diffOverlay",
|
|
44249
|
+
"diffOverlayRow": "fQyGsq_diffOverlayRow",
|
|
44250
|
+
"diffPath": "fQyGsq_diffPath",
|
|
44251
|
+
"diffRemoved": "fQyGsq_diffRemoved",
|
|
44252
|
+
"diffScrollArea": "fQyGsq_diffScrollArea",
|
|
44253
|
+
"diffStat": "fQyGsq_diffStat",
|
|
44254
|
+
"diffStatButton": "fQyGsq_diffStatButton",
|
|
44255
|
+
"diffStatRoot": "fQyGsq_diffStatRoot",
|
|
44256
|
+
"diffTab": "fQyGsq_diffTab",
|
|
44257
|
+
"diffTabs": "fQyGsq_diffTabs",
|
|
44258
|
+
"disclosure": "fQyGsq_disclosure",
|
|
44259
|
+
"disclosureBody": "fQyGsq_disclosureBody",
|
|
44260
|
+
"disclosureButton": "fQyGsq_disclosureButton",
|
|
44261
|
+
"dsh-turn-status-shimmer": "fQyGsq_dsh-turn-status-shimmer",
|
|
44262
|
+
"empty": "fQyGsq_empty",
|
|
44263
|
+
"error": "fQyGsq_error",
|
|
44264
|
+
"errorCode": "fQyGsq_errorCode",
|
|
44265
|
+
"errorCopy": "fQyGsq_errorCopy",
|
|
44266
|
+
"errorIcon": "fQyGsq_errorIcon",
|
|
44267
|
+
"errorMessage": "fQyGsq_errorMessage",
|
|
44268
|
+
"errorTitle": "fQyGsq_errorTitle",
|
|
44269
|
+
"flowCell": "fQyGsq_flowCell",
|
|
44270
|
+
"flowCellInner": "fQyGsq_flowCellInner",
|
|
44271
|
+
"foldControl": "fQyGsq_foldControl",
|
|
44272
|
+
"foldStop": "fQyGsq_foldStop",
|
|
44273
|
+
"foldSummary": "fQyGsq_foldSummary",
|
|
44274
|
+
"foldSummaryPart": "fQyGsq_foldSummaryPart",
|
|
44275
|
+
"historyButton": "fQyGsq_historyButton",
|
|
44276
|
+
"iconButton": "fQyGsq_iconButton",
|
|
44277
|
+
"imageDialog": "fQyGsq_imageDialog",
|
|
44278
|
+
"imageFigure": "fQyGsq_imageFigure",
|
|
44279
|
+
"imageFrame": "fQyGsq_imageFrame",
|
|
44280
|
+
"imageOpen": "fQyGsq_imageOpen",
|
|
44281
|
+
"imagePlaceholder": "fQyGsq_imagePlaceholder",
|
|
44282
|
+
"isEnterStart": "fQyGsq_isEnterStart",
|
|
44283
|
+
"isExit": "fQyGsq_isExit",
|
|
44284
|
+
"jump": "fQyGsq_jump",
|
|
44285
|
+
"jumpDock": "fQyGsq_jumpDock",
|
|
44286
|
+
"liveFoldContainer": "fQyGsq_liveFoldContainer",
|
|
44287
|
+
"liveFoldElastic": "fQyGsq_liveFoldElastic",
|
|
44288
|
+
"liveFoldImpact": "fQyGsq_liveFoldImpact",
|
|
44289
|
+
"liveFoldPulse": "fQyGsq_liveFoldPulse",
|
|
44290
|
+
"mainFlow": "fQyGsq_mainFlow",
|
|
44291
|
+
"messageClock": "fQyGsq_messageClock",
|
|
44292
|
+
"meta": "fQyGsq_meta",
|
|
44293
|
+
"morphCluster": "fQyGsq_morphCluster",
|
|
44294
|
+
"morphDrawer": "fQyGsq_morphDrawer",
|
|
44295
|
+
"nativeToolRow": "fQyGsq_nativeToolRow",
|
|
44296
|
+
"nativeToolSummary": "fQyGsq_nativeToolSummary",
|
|
44297
|
+
"notice": "fQyGsq_notice",
|
|
44298
|
+
"numberRollDigit": "fQyGsq_numberRollDigit",
|
|
44299
|
+
"numberRollEnter": "fQyGsq_numberRollEnter",
|
|
44300
|
+
"numberRollExit": "fQyGsq_numberRollExit",
|
|
44301
|
+
"numberRollIn": "fQyGsq_numberRollIn",
|
|
44302
|
+
"numberRollOut": "fQyGsq_numberRollOut",
|
|
44303
|
+
"numberRollRoot": "fQyGsq_numberRollRoot",
|
|
44304
|
+
"numberRollSizer": "fQyGsq_numberRollSizer",
|
|
44305
|
+
"pendingImage": "fQyGsq_pendingImage",
|
|
44306
|
+
"priorFoldDrawer": "fQyGsq_priorFoldDrawer",
|
|
44307
|
+
"processCommentary": "fQyGsq_processCommentary",
|
|
44308
|
+
"processContents": "fQyGsq_processContents",
|
|
44309
|
+
"processFootnote": "fQyGsq_processFootnote",
|
|
44310
|
+
"processFrame": "fQyGsq_processFrame",
|
|
44311
|
+
"processItem": "fQyGsq_processItem",
|
|
44312
|
+
"processLabel": "fQyGsq_processLabel",
|
|
44313
|
+
"processMeta": "fQyGsq_processMeta",
|
|
44314
|
+
"processMetaInner": "fQyGsq_processMetaInner",
|
|
44315
|
+
"processMetaLine": "fQyGsq_processMetaLine",
|
|
44316
|
+
"readerRunningGlow": "fQyGsq_readerRunningGlow",
|
|
44317
|
+
"readerStepShimmer": "fQyGsq_readerStepShimmer",
|
|
44318
|
+
"readingText": "fQyGsq_readingText",
|
|
44319
|
+
"reasonAction": "fQyGsq_reasonAction",
|
|
44320
|
+
"reasonCaption": "fQyGsq_reasonCaption",
|
|
44321
|
+
"reasonCard": "fQyGsq_reasonCard",
|
|
44322
|
+
"reasonFooter": "fQyGsq_reasonFooter",
|
|
44323
|
+
"reasonHeading": "fQyGsq_reasonHeading",
|
|
44324
|
+
"reasonLabel": "fQyGsq_reasonLabel",
|
|
44325
|
+
"reasonPlain": "fQyGsq_reasonPlain",
|
|
44326
|
+
"reasonText": "fQyGsq_reasonText",
|
|
44327
|
+
"reasonTrack": "fQyGsq_reasonTrack",
|
|
44328
|
+
"reasonViewport": "fQyGsq_reasonViewport",
|
|
44329
|
+
"retiringContent": "fQyGsq_retiringContent",
|
|
44330
|
+
"root": "fQyGsq_root",
|
|
44331
|
+
"rowSeparator": "fQyGsq_rowSeparator",
|
|
44332
|
+
"srOnly": "fQyGsq_srOnly",
|
|
44333
|
+
"statusIcon": "fQyGsq_statusIcon",
|
|
44334
|
+
"statusText": "fQyGsq_statusText",
|
|
44335
|
+
"stopped": "fQyGsq_stopped",
|
|
44336
|
+
"streamAtom": "fQyGsq_streamAtom",
|
|
44337
|
+
"streamInlineWord": "fQyGsq_streamInlineWord",
|
|
44338
|
+
"streamWord": "fQyGsq_streamWord",
|
|
44339
|
+
"summaryRow": "fQyGsq_summaryRow",
|
|
44340
|
+
"systemPrompt": "fQyGsq_systemPrompt",
|
|
44341
|
+
"textButton": "fQyGsq_textButton",
|
|
44342
|
+
"think": "fQyGsq_think",
|
|
44343
|
+
"thinkShimmer": "fQyGsq_thinkShimmer",
|
|
44344
|
+
"thinkSizer": "fQyGsq_thinkSizer",
|
|
44345
|
+
"thinkText": "fQyGsq_thinkText",
|
|
44346
|
+
"tool": "fQyGsq_tool",
|
|
44347
|
+
"toolActivity": "fQyGsq_toolActivity",
|
|
44348
|
+
"toolbar": "fQyGsq_toolbar",
|
|
44349
|
+
"toolChildren": "fQyGsq_toolChildren",
|
|
44350
|
+
"toolDetailNote": "fQyGsq_toolDetailNote",
|
|
44351
|
+
"toolDetails": "fQyGsq_toolDetails",
|
|
44352
|
+
"toolDocument": "fQyGsq_toolDocument",
|
|
44353
|
+
"toolElapsed": "fQyGsq_toolElapsed",
|
|
44354
|
+
"toolEngine": "fQyGsq_toolEngine",
|
|
44355
|
+
"toolGlyph": "fQyGsq_toolGlyph",
|
|
44356
|
+
"toolHeading": "fQyGsq_toolHeading",
|
|
44357
|
+
"toolHeadingCopy": "fQyGsq_toolHeadingCopy",
|
|
44358
|
+
"toolHeadingState": "fQyGsq_toolHeadingState",
|
|
44359
|
+
"toolLedger": "fQyGsq_toolLedger",
|
|
44360
|
+
"toolPanel": "fQyGsq_toolPanel",
|
|
44361
|
+
"toolRaw": "fQyGsq_toolRaw",
|
|
44362
|
+
"toolRawLabel": "fQyGsq_toolRawLabel",
|
|
44363
|
+
"toolReceipt": "fQyGsq_toolReceipt",
|
|
44364
|
+
"toolState": "fQyGsq_toolState",
|
|
44365
|
+
"toolTabs": "fQyGsq_toolTabs",
|
|
44366
|
+
"toolTarget": "fQyGsq_toolTarget",
|
|
44367
|
+
"toolTitle": "fQyGsq_toolTitle",
|
|
44368
|
+
"turn": "fQyGsq_turn",
|
|
44369
|
+
"turnProcessSticky": "fQyGsq_turnProcessSticky",
|
|
44370
|
+
"turnStatus": "fQyGsq_turnStatus",
|
|
44371
|
+
"turnStatusClock": "fQyGsq_turnStatusClock",
|
|
44372
|
+
"turnStatusLabel": "fQyGsq_turnStatusLabel",
|
|
44373
|
+
"unknown": "fQyGsq_unknown",
|
|
44374
|
+
"user": "fQyGsq_user",
|
|
44375
|
+
"userActions": "fQyGsq_userActions",
|
|
44376
|
+
"userCluster": "fQyGsq_userCluster",
|
|
44377
|
+
"userImages": "fQyGsq_userImages",
|
|
44378
|
+
"waitClock": "fQyGsq_waitClock",
|
|
44379
|
+
"waitOvertime": "fQyGsq_waitOvertime",
|
|
44380
|
+
"waitSeconds": "fQyGsq_waitSeconds"
|
|
44339
44381
|
};
|
|
44340
44382
|
//#endregion
|
|
44341
44383
|
//#region src/client/word-motion.tsx
|
|
@@ -44486,6 +44528,7 @@ function(test) {
|
|
|
44486
44528
|
streaming,
|
|
44487
44529
|
codeLabels: CODE_LABELS,
|
|
44488
44530
|
fileMentions,
|
|
44531
|
+
pathImages: readerPathImages,
|
|
44489
44532
|
renderText,
|
|
44490
44533
|
renderAtom
|
|
44491
44534
|
})
|
|
@@ -44493,7 +44536,7 @@ function(test) {
|
|
|
44493
44536
|
}
|
|
44494
44537
|
//#endregion
|
|
44495
44538
|
//#region \0dshx-css-module:TurnMetrics.module.css.mjs
|
|
44496
|
-
const css$4 = ".
|
|
44539
|
+
const css$4 = ".DhNA3W_container{color:var(--dsw-alias-label-tertiary);align-items:center;gap:2px;font-size:13px;line-height:24px;display:inline-flex;position:relative}.DhNA3W_pillButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:12px;outline:none;align-items:center;gap:5px;padding:2px 8px;font-family:inherit;font-size:11px;transition:all .14s;display:inline-flex}.DhNA3W_pillButton:hover,.DhNA3W_pillButton[data-active=true]{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-interactive-bg-hover)}.DhNA3W_timeButton{height:28px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:28px;align-items:center;gap:4px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:24px;display:inline-flex}.DhNA3W_timeButton:hover,.DhNA3W_timeButton[data-active=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.DhNA3W_pillIcon{opacity:.8;flex:none;width:12px;height:12px}.DhNA3W_metricsPop{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);backdrop-filter:blur(10px);z-index:50;text-align:left;border-radius:10px;flex-direction:column;gap:8px;width:260px;padding:12px 14px;animation:.14s ease-out DhNA3W_popIn;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 6px 20px #00000024}@keyframes DhNA3W_popIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.DhNA3W_popHeader{color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;padding-bottom:6px;font-size:12px;font-weight:600;display:flex}.DhNA3W_popSection{flex-direction:column;gap:4px;display:flex}.DhNA3W_popSectionTitle{text-transform:uppercase;letter-spacing:.5px;color:var(--dsw-alias-label-tertiary);margin-top:2px;font-size:10px;font-weight:600}.DhNA3W_popGrid{grid-template-columns:1fr auto;gap:3px 12px;font-size:11px;line-height:18px;display:grid}.DhNA3W_popLabel{color:var(--dsw-alias-label-secondary)}.DhNA3W_popValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.DhNA3W_popBadge{background:var(--dsw-alias-border-l1);color:var(--dsw-alias-label-secondary);border-radius:3px;margin-left:4px;padding:0 4px;font-size:10px}";
|
|
44497
44540
|
const tagId$4 = "dsh-better-display/TurnMetrics.module.css";
|
|
44498
44541
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
44499
44542
|
const tag = document.createElement("style");
|
|
@@ -44503,19 +44546,19 @@ function(test) {
|
|
|
44503
44546
|
document.head.appendChild(tag);
|
|
44504
44547
|
}
|
|
44505
44548
|
var TurnMetrics_module_css_default = {
|
|
44506
|
-
"container": "
|
|
44507
|
-
"metricsPop": "
|
|
44508
|
-
"pillButton": "
|
|
44509
|
-
"pillIcon": "
|
|
44510
|
-
"popBadge": "
|
|
44511
|
-
"popGrid": "
|
|
44512
|
-
"popHeader": "
|
|
44513
|
-
"popIn": "
|
|
44514
|
-
"popLabel": "
|
|
44515
|
-
"popSection": "
|
|
44516
|
-
"popSectionTitle": "
|
|
44517
|
-
"popValue": "
|
|
44518
|
-
"timeButton": "
|
|
44549
|
+
"container": "DhNA3W_container",
|
|
44550
|
+
"metricsPop": "DhNA3W_metricsPop",
|
|
44551
|
+
"pillButton": "DhNA3W_pillButton",
|
|
44552
|
+
"pillIcon": "DhNA3W_pillIcon",
|
|
44553
|
+
"popBadge": "DhNA3W_popBadge",
|
|
44554
|
+
"popGrid": "DhNA3W_popGrid",
|
|
44555
|
+
"popHeader": "DhNA3W_popHeader",
|
|
44556
|
+
"popIn": "DhNA3W_popIn",
|
|
44557
|
+
"popLabel": "DhNA3W_popLabel",
|
|
44558
|
+
"popSection": "DhNA3W_popSection",
|
|
44559
|
+
"popSectionTitle": "DhNA3W_popSectionTitle",
|
|
44560
|
+
"popValue": "DhNA3W_popValue",
|
|
44561
|
+
"timeButton": "DhNA3W_timeButton"
|
|
44519
44562
|
};
|
|
44520
44563
|
//#endregion
|
|
44521
44564
|
//#region src/client/TurnMetrics.tsx
|
|
@@ -45017,7 +45060,7 @@ function(test) {
|
|
|
45017
45060
|
children: formatMessageClock(time)
|
|
45018
45061
|
});
|
|
45019
45062
|
}
|
|
45020
|
-
function CopyAnswer({ blocks, onFork, metrics }) {
|
|
45063
|
+
function CopyAnswer({ blocks, onFork, metrics, extraActions }) {
|
|
45021
45064
|
const { receipt, copy } = useCopyReceipt();
|
|
45022
45065
|
const text = blocks.filter((block) => block.kind === "text").map((block) => block.text).join("\n\n");
|
|
45023
45066
|
const endedAt = metrics?.endedAt;
|
|
@@ -45036,6 +45079,7 @@ function(test) {
|
|
|
45036
45079
|
},
|
|
45037
45080
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CopyGlyph, {})
|
|
45038
45081
|
}),
|
|
45082
|
+
extraActions,
|
|
45039
45083
|
onFork && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
45040
45084
|
type: "button",
|
|
45041
45085
|
className: Reader_module_css_default.iconButton,
|
|
@@ -45483,6 +45527,273 @@ function(test) {
|
|
|
45483
45527
|
});
|
|
45484
45528
|
}
|
|
45485
45529
|
//#endregion
|
|
45530
|
+
//#region src/client/official-slots.tsx
|
|
45531
|
+
/**
|
|
45532
|
+
* RC2 composition adapter. Only public registry operations are used. We lend
|
|
45533
|
+
* registrations a Reader-owned seat, not a second implementation of their UI.
|
|
45534
|
+
* The platform still binds injection, hooks, locale, stores and boundaries.
|
|
45535
|
+
* Original entries, declarations and components are never changed.
|
|
45536
|
+
*
|
|
45537
|
+
* Child seats have unique names because RC2 declarations have one owner. The
|
|
45538
|
+
* sole component wrapper translates those names before delegating to the
|
|
45539
|
+
* framework-provided renderSlot. It does not implement a slot renderer.
|
|
45540
|
+
*/
|
|
45541
|
+
const OFFICIAL_SLOTS = {
|
|
45542
|
+
actions: "conversation.chat.assistant-actions",
|
|
45543
|
+
tools: "tool.call.toolview",
|
|
45544
|
+
tail: "conversation.chat.turnTail",
|
|
45545
|
+
nodes: "conversation.chat.node",
|
|
45546
|
+
images: "conversation.message.images"
|
|
45547
|
+
};
|
|
45548
|
+
const OFFICIAL_SEATS = {
|
|
45549
|
+
actions: "dsh-better-display.official.actions/conversation.chat.assistant-actions",
|
|
45550
|
+
tools: "dsh-better-display.official.tools/tool.call.toolview",
|
|
45551
|
+
tail: "dsh-better-display.official.tail/conversation.chat.turnTail",
|
|
45552
|
+
nodes: "dsh-better-display.official.nodes/conversation.chat.node",
|
|
45553
|
+
images: "dsh-better-display.official.images/conversation.message.images"
|
|
45554
|
+
};
|
|
45555
|
+
const officialSeat = (family, source = OFFICIAL_SLOTS[family]) => `dsh-better-display.official.${family}/${source}`;
|
|
45556
|
+
const READER_NODES = new Set([
|
|
45557
|
+
"user",
|
|
45558
|
+
"steering",
|
|
45559
|
+
"assistant-step",
|
|
45560
|
+
"tool-call",
|
|
45561
|
+
"turn-tail",
|
|
45562
|
+
"turn-process"
|
|
45563
|
+
]);
|
|
45564
|
+
const EXPECTED = {
|
|
45565
|
+
actions: {
|
|
45566
|
+
kind: "list",
|
|
45567
|
+
scope: "session"
|
|
45568
|
+
},
|
|
45569
|
+
tools: {
|
|
45570
|
+
kind: "keyed",
|
|
45571
|
+
scope: "session"
|
|
45572
|
+
},
|
|
45573
|
+
tail: {
|
|
45574
|
+
kind: "chain",
|
|
45575
|
+
scope: "session"
|
|
45576
|
+
},
|
|
45577
|
+
nodes: {
|
|
45578
|
+
kind: "keyed",
|
|
45579
|
+
scope: "session"
|
|
45580
|
+
},
|
|
45581
|
+
images: {
|
|
45582
|
+
kind: "single",
|
|
45583
|
+
scope: "session"
|
|
45584
|
+
}
|
|
45585
|
+
};
|
|
45586
|
+
/**
|
|
45587
|
+
* Reader already presents produced paths with its copy/reveal actions. RC2's
|
|
45588
|
+
* official tail additionally owns explicit `present` artifacts. Leave those
|
|
45589
|
+
* cards, actions and state intact, and omit only the duplicate produced chips.
|
|
45590
|
+
* This changes a presentation prop, never the source match or session data.
|
|
45591
|
+
* Unrecognized shapes pass through intact for safe forward degradation.
|
|
45592
|
+
*/
|
|
45593
|
+
function readerTailMatch(value, displayedPaths) {
|
|
45594
|
+
if (!value || typeof value !== "object") return value;
|
|
45595
|
+
const match = value;
|
|
45596
|
+
const displayed = new Set(displayedPaths ?? []);
|
|
45597
|
+
return displayed.size > 0 && Array.isArray(match.produced) && Array.isArray(match.presented) ? {
|
|
45598
|
+
...match,
|
|
45599
|
+
produced: match.produced.filter((path) => !displayed.has(path))
|
|
45600
|
+
} : value;
|
|
45601
|
+
}
|
|
45602
|
+
function tailPresentation(component) {
|
|
45603
|
+
const Original = component;
|
|
45604
|
+
return (0, react.memo)(function ReaderTailPresentation(props) {
|
|
45605
|
+
const matched = (0, react.useMemo)(() => readerTailMatch(props.matched, props.readerProducedPaths), [props.matched, props.readerProducedPaths]);
|
|
45606
|
+
return (0, react.createElement)(Original, {
|
|
45607
|
+
...props,
|
|
45608
|
+
matched
|
|
45609
|
+
});
|
|
45610
|
+
});
|
|
45611
|
+
}
|
|
45612
|
+
function officialChildren(slots) {
|
|
45613
|
+
return Object.fromEntries(Object.entries(OFFICIAL_SLOTS).map(([name, source]) => {
|
|
45614
|
+
const family = name;
|
|
45615
|
+
const spec = slots.spec(source);
|
|
45616
|
+
if (spec && (spec.kind !== EXPECTED[family].kind || spec.scope !== EXPECTED[family].scope)) throw new Error(`Official slot contract changed: ${source} (${spec.kind}/${spec.scope})`);
|
|
45617
|
+
return [officialSeat(family), spec ?? EXPECTED[family]];
|
|
45618
|
+
}));
|
|
45619
|
+
}
|
|
45620
|
+
function translatedComponent(entry, names) {
|
|
45621
|
+
if (names.size === 0) return entry.component;
|
|
45622
|
+
const Original = entry.component;
|
|
45623
|
+
return (0, react.memo)(function OfficialSlotChildren(props) {
|
|
45624
|
+
const renders = (0, react.useMemo)(() => {
|
|
45625
|
+
const translate = (render) => (key, owner, options) => {
|
|
45626
|
+
const seat = names.get(key);
|
|
45627
|
+
if (!seat || !render) throw new Error(`Undeclared official child slot: ${key}`);
|
|
45628
|
+
return render(seat, owner, options);
|
|
45629
|
+
};
|
|
45630
|
+
return {
|
|
45631
|
+
renderSlot: translate(props.renderSlot),
|
|
45632
|
+
...props.renderSlotChain ? { renderSlotChain: translate(props.renderSlotChain) } : {}
|
|
45633
|
+
};
|
|
45634
|
+
}, [props.renderSlot, props.renderSlotChain]);
|
|
45635
|
+
return (0, react.createElement)(Original, {
|
|
45636
|
+
...props,
|
|
45637
|
+
...renders
|
|
45638
|
+
});
|
|
45639
|
+
});
|
|
45640
|
+
}
|
|
45641
|
+
/**
|
|
45642
|
+
* Mirror one elected contribution set incrementally. Unrelated additions do not
|
|
45643
|
+
* remount existing cards or recreate their subscriptions. A source unload/HMR
|
|
45644
|
+
* disposes the corresponding subtree and closures before its replacement.
|
|
45645
|
+
*/
|
|
45646
|
+
function mirrorOfficialSlot(slots, source, target, namespace, accept = () => true) {
|
|
45647
|
+
const mounted = /* @__PURE__ */ new Map();
|
|
45648
|
+
let stopped = false;
|
|
45649
|
+
const reconcile = () => {
|
|
45650
|
+
if (stopped) return;
|
|
45651
|
+
const entries = slots.entriesOfSlot(source).filter(accept);
|
|
45652
|
+
const wanted = new Set(entries);
|
|
45653
|
+
for (const [entry, dispose] of mounted) {
|
|
45654
|
+
if (wanted.has(entry)) continue;
|
|
45655
|
+
dispose();
|
|
45656
|
+
mounted.delete(entry);
|
|
45657
|
+
}
|
|
45658
|
+
for (const entry of entries) {
|
|
45659
|
+
if (mounted.has(entry)) continue;
|
|
45660
|
+
const names = new Map(Object.keys(entry.children ?? {}).map((key) => [key, `${namespace}/${key}`]));
|
|
45661
|
+
const children = Object.fromEntries([...names].map(([key, seat]) => [seat, entry.children[key]]));
|
|
45662
|
+
const disposers = [];
|
|
45663
|
+
const dispose = () => {
|
|
45664
|
+
for (const stop of disposers.splice(0).reverse()) stop();
|
|
45665
|
+
};
|
|
45666
|
+
try {
|
|
45667
|
+
const { component: _component, options, children: _children, ...metadata } = entry;
|
|
45668
|
+
const presentation = source === OFFICIAL_SLOTS.tail && entry.locale === "deliverables" ? {
|
|
45669
|
+
...entry,
|
|
45670
|
+
component: tailPresentation(entry.component)
|
|
45671
|
+
} : entry;
|
|
45672
|
+
disposers.push(slots.register({
|
|
45673
|
+
...options,
|
|
45674
|
+
...metadata,
|
|
45675
|
+
name: target,
|
|
45676
|
+
...names.size ? { children } : {},
|
|
45677
|
+
registrant: `dsh-better-display → ${entry.registrant ?? source}`
|
|
45678
|
+
}, translatedComponent(presentation, names)));
|
|
45679
|
+
for (const [key, seat] of names) disposers.push(mirrorOfficialSlot(slots, key, seat, namespace));
|
|
45680
|
+
mounted.set(entry, dispose);
|
|
45681
|
+
} catch (error) {
|
|
45682
|
+
dispose();
|
|
45683
|
+
throw error;
|
|
45684
|
+
}
|
|
45685
|
+
}
|
|
45686
|
+
};
|
|
45687
|
+
const unsubscribe = slots.subscribe(source, reconcile);
|
|
45688
|
+
const dispose = () => {
|
|
45689
|
+
stopped = true;
|
|
45690
|
+
unsubscribe();
|
|
45691
|
+
for (const stop of [...mounted.values()].reverse()) stop();
|
|
45692
|
+
mounted.clear();
|
|
45693
|
+
};
|
|
45694
|
+
try {
|
|
45695
|
+
reconcile();
|
|
45696
|
+
} catch (error) {
|
|
45697
|
+
dispose();
|
|
45698
|
+
throw error;
|
|
45699
|
+
}
|
|
45700
|
+
return dispose;
|
|
45701
|
+
}
|
|
45702
|
+
function installOfficialSlots(ctx) {
|
|
45703
|
+
const slots = ctx.slots;
|
|
45704
|
+
const disposers = [];
|
|
45705
|
+
try {
|
|
45706
|
+
for (const [name, source] of Object.entries(OFFICIAL_SLOTS)) {
|
|
45707
|
+
const family = name;
|
|
45708
|
+
disposers.push(slots.inject(source, () => {
|
|
45709
|
+
const spec = slots.spec(source);
|
|
45710
|
+
const target = officialSeat(family);
|
|
45711
|
+
const declared = slots.spec(target);
|
|
45712
|
+
if (spec.kind !== declared?.kind || spec.scope !== declared.scope) throw new Error(`Official slot contract changed: ${source}`);
|
|
45713
|
+
return mirrorOfficialSlot(slots, source, target, `dsh-better-display.official.${family}`, family === "nodes" ? (entry) => !READER_NODES.has(entry.options.key ?? "") : void 0);
|
|
45714
|
+
}));
|
|
45715
|
+
}
|
|
45716
|
+
} catch (error) {
|
|
45717
|
+
for (const stop of disposers.reverse()) stop();
|
|
45718
|
+
throw error;
|
|
45719
|
+
}
|
|
45720
|
+
return () => {
|
|
45721
|
+
for (const stop of disposers.splice(0).reverse()) stop();
|
|
45722
|
+
};
|
|
45723
|
+
}
|
|
45724
|
+
//#endregion
|
|
45725
|
+
//#region src/client/OfficialContent.tsx
|
|
45726
|
+
function OfficialActions({ official, messageId }) {
|
|
45727
|
+
if (!official || !messageId) return null;
|
|
45728
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
45729
|
+
"data-reader-official-actions": true,
|
|
45730
|
+
style: { display: "contents" },
|
|
45731
|
+
children: official.renderSlot(OFFICIAL_SEATS.actions, { messageId })
|
|
45732
|
+
});
|
|
45733
|
+
}
|
|
45734
|
+
function OfficialTool({ official, block, toolName, cwd, openFile, fallback }) {
|
|
45735
|
+
const home = (0, react.useSyncExternalStore)(official.officialHost.subscribe, official.officialHost.getSnapshot).home;
|
|
45736
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
45737
|
+
"data-reader-tool-official": true,
|
|
45738
|
+
children: official.renderSlot(OFFICIAL_SEATS.tools, {
|
|
45739
|
+
callId: block.callId,
|
|
45740
|
+
toolName,
|
|
45741
|
+
block,
|
|
45742
|
+
cwd,
|
|
45743
|
+
home,
|
|
45744
|
+
openFile: openFile ?? (() => {}),
|
|
45745
|
+
loadImage: official.officialImageLoader,
|
|
45746
|
+
inspect: () => official.openView("trajectory", block.callId)
|
|
45747
|
+
}, {
|
|
45748
|
+
entryKey: toolName,
|
|
45749
|
+
fallback
|
|
45750
|
+
})
|
|
45751
|
+
});
|
|
45752
|
+
}
|
|
45753
|
+
function OfficialNode({ node, fallback, ...render }) {
|
|
45754
|
+
const official = render.official;
|
|
45755
|
+
if (!official) return fallback;
|
|
45756
|
+
const owner = {
|
|
45757
|
+
cwd: render.cwd,
|
|
45758
|
+
openFile: render.openFile ?? (() => {}),
|
|
45759
|
+
forkAt: render.forkAt ?? (() => {}),
|
|
45760
|
+
inspectCall: (callId) => official.openView("trajectory", callId),
|
|
45761
|
+
loadImage: official.officialImageLoader,
|
|
45762
|
+
renderMessageImages: (images) => official.renderSlot(OFFICIAL_SEATS.images, {
|
|
45763
|
+
...images,
|
|
45764
|
+
loadImage: official.officialImageLoader
|
|
45765
|
+
}),
|
|
45766
|
+
fileMentions: official.officialFileMentions
|
|
45767
|
+
};
|
|
45768
|
+
const turn = node.location.kind === "turn" || node.location.kind === "step" ? node.location.turn : void 0;
|
|
45769
|
+
const renderNode = official.renderSlot;
|
|
45770
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
45771
|
+
"data-reader-official-node": node.kind,
|
|
45772
|
+
"data-chat-anchor-key": node.key,
|
|
45773
|
+
"data-chat-flow-kind": node.kind,
|
|
45774
|
+
children: renderNode(OFFICIAL_SEATS.nodes, {
|
|
45775
|
+
...owner,
|
|
45776
|
+
node
|
|
45777
|
+
}, {
|
|
45778
|
+
entryKey: node.kind,
|
|
45779
|
+
hookContext: turn?.data,
|
|
45780
|
+
fallback
|
|
45781
|
+
})
|
|
45782
|
+
});
|
|
45783
|
+
}
|
|
45784
|
+
function OfficialTail({ official, owner, produced }) {
|
|
45785
|
+
const tailOwner = owner && official ? {
|
|
45786
|
+
...owner,
|
|
45787
|
+
openFile: official.officialPreviewFile,
|
|
45788
|
+
readerProducedPaths: produced
|
|
45789
|
+
} : void 0;
|
|
45790
|
+
return official && tailOwner ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
45791
|
+
"data-reader-official-tail": true,
|
|
45792
|
+
style: { display: "contents" },
|
|
45793
|
+
children: official.renderSlotChain(OFFICIAL_SEATS.tail, tailOwner)
|
|
45794
|
+
}) : null;
|
|
45795
|
+
}
|
|
45796
|
+
//#endregion
|
|
45486
45797
|
//#region src/client/motion.tsx
|
|
45487
45798
|
const EASING = "cubic-bezier(.22,1,.36,1)";
|
|
45488
45799
|
function useMotionAllowed(enabled) {
|
|
@@ -45656,7 +45967,6 @@ function(test) {
|
|
|
45656
45967
|
setPresent(open);
|
|
45657
45968
|
return;
|
|
45658
45969
|
}
|
|
45659
|
-
if (from > target && motion) document.body.dataset.readerFolding = "true";
|
|
45660
45970
|
const animation = element.animate(from > target ? [
|
|
45661
45971
|
{
|
|
45662
45972
|
offset: 0,
|
|
@@ -45706,7 +46016,6 @@ function(test) {
|
|
|
45706
46016
|
if (settled) return;
|
|
45707
46017
|
settled = true;
|
|
45708
46018
|
if (running.current === animation) running.current = null;
|
|
45709
|
-
delete document.body.dataset.readerFolding;
|
|
45710
46019
|
animation.cancel();
|
|
45711
46020
|
setPresent(open);
|
|
45712
46021
|
};
|
|
@@ -45715,7 +46024,6 @@ function(test) {
|
|
|
45715
46024
|
return () => {
|
|
45716
46025
|
window.clearTimeout(deadline);
|
|
45717
46026
|
running.current?.cancel();
|
|
45718
|
-
delete document.body.dataset.readerFolding;
|
|
45719
46027
|
};
|
|
45720
46028
|
}, [
|
|
45721
46029
|
open,
|
|
@@ -45883,20 +46191,23 @@ function(test) {
|
|
|
45883
46191
|
const onScroll = () => {
|
|
45884
46192
|
if (followFrame !== 0 || layoutDepth > 0) return;
|
|
45885
46193
|
if (lastWrittenTop !== null && Math.abs(scroll.scrollTop - lastWrittenTop) < 1) return;
|
|
46194
|
+
const bottom = atBottom();
|
|
46195
|
+
pinned.current = bottom;
|
|
46196
|
+
if (!bottom) {
|
|
46197
|
+
cancelAnimationFrame(followFrame);
|
|
46198
|
+
followFrame = 0;
|
|
46199
|
+
scheduleCapture();
|
|
46200
|
+
}
|
|
45886
46201
|
if (!following.current) {
|
|
45887
|
-
if (
|
|
46202
|
+
if (bottom) {
|
|
45888
46203
|
following.current = true;
|
|
45889
46204
|
setDetached(false);
|
|
45890
46205
|
}
|
|
45891
46206
|
return;
|
|
45892
46207
|
}
|
|
45893
|
-
if (
|
|
46208
|
+
if (!bottom) {
|
|
45894
46209
|
following.current = false;
|
|
45895
46210
|
setDetached(true);
|
|
45896
|
-
pinned.current = false;
|
|
45897
|
-
cancelAnimationFrame(followFrame);
|
|
45898
|
-
followFrame = 0;
|
|
45899
|
-
scheduleCapture();
|
|
45900
46211
|
}
|
|
45901
46212
|
};
|
|
45902
46213
|
const onWheel = (event) => {
|
|
@@ -46226,6 +46537,7 @@ function(test) {
|
|
|
46226
46537
|
terminal: _deepseek_ai_dsh_client_ui_primitives.IconApiOutline14,
|
|
46227
46538
|
search: _deepseek_ai_dsh_client_ui_primitives.IconSearchOutline16,
|
|
46228
46539
|
web: _deepseek_ai_dsh_client_ui_primitives.IconSearchOutline16,
|
|
46540
|
+
code: _deepseek_ai_dsh_client_ui_primitives.IconApiOutline14,
|
|
46229
46541
|
other: _deepseek_ai_dsh_client_ui_primitives.IconSparkle16
|
|
46230
46542
|
};
|
|
46231
46543
|
const number = new Intl.NumberFormat("zh-CN");
|
|
@@ -46327,24 +46639,20 @@ function(test) {
|
|
|
46327
46639
|
}
|
|
46328
46640
|
return files;
|
|
46329
46641
|
}
|
|
46330
|
-
function
|
|
46331
|
-
const
|
|
46332
|
-
(0,
|
|
46333
|
-
|
|
46334
|
-
|
|
46335
|
-
|
|
46336
|
-
|
|
46337
|
-
|
|
46338
|
-
|
|
46339
|
-
|
|
46340
|
-
|
|
46341
|
-
toolName,
|
|
46342
|
-
cwd,
|
|
46343
|
-
openFile
|
|
46344
|
-
})
|
|
46642
|
+
function ResultView(props) {
|
|
46643
|
+
const { official, entry, model } = props;
|
|
46644
|
+
const fallback = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ResultFallback, { ...props });
|
|
46645
|
+
if (!official || !entry.block || model.name === "render_ui" || model.name === "show_widget") return fallback;
|
|
46646
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OfficialTool, {
|
|
46647
|
+
...props,
|
|
46648
|
+
official,
|
|
46649
|
+
block: entry.block,
|
|
46650
|
+
toolName: model.name,
|
|
46651
|
+
cwd: props.cwd ?? model.cwd,
|
|
46652
|
+
fallback
|
|
46345
46653
|
});
|
|
46346
46654
|
}
|
|
46347
|
-
function
|
|
46655
|
+
function ResultFallback({ entry, model, phase, ...render }) {
|
|
46348
46656
|
if ((model.name === "render_ui" || model.name === "show_widget") && typeof model.args?.html === "string") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(McpAppFrame, {
|
|
46349
46657
|
html: model.args.html,
|
|
46350
46658
|
title: typeof model.args.title === "string" ? model.args.title : void 0,
|
|
@@ -46376,14 +46684,6 @@ function(test) {
|
|
|
46376
46684
|
children: text
|
|
46377
46685
|
})
|
|
46378
46686
|
] });
|
|
46379
|
-
const CustomToolView = render.getToolView?.(model.name);
|
|
46380
|
-
if (CustomToolView) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CustomToolWrapper, {
|
|
46381
|
-
Component: CustomToolView,
|
|
46382
|
-
block,
|
|
46383
|
-
toolName: model.name,
|
|
46384
|
-
cwd: model.cwd,
|
|
46385
|
-
openFile: render.openFile
|
|
46386
|
-
});
|
|
46387
46687
|
if (model.category === "terminal") {
|
|
46388
46688
|
const facts = executionFacts(block);
|
|
46389
46689
|
const output = text.replace(/\n\[(?:exit code: \d+|killed by signal: [^\]\n]+)\]$/, "");
|
|
@@ -46484,6 +46784,26 @@ function(test) {
|
|
|
46484
46784
|
children: "文件工具已返回。以下为提交的内容;完整返回记录可在「原始数据」查看。"
|
|
46485
46785
|
}), generatedInput(model.content, model.target, false)] });
|
|
46486
46786
|
const content = block.content;
|
|
46787
|
+
if (model.category === "code") {
|
|
46788
|
+
const output = content.filter((item) => item.type === "text").map((item) => item.text).join("\n");
|
|
46789
|
+
const facts = executionFacts(block);
|
|
46790
|
+
if (output.trim()) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46791
|
+
"data-reader-tool-code": true,
|
|
46792
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.TerminalBlock, {
|
|
46793
|
+
command: model.command ?? model.name,
|
|
46794
|
+
cwd: model.cwd,
|
|
46795
|
+
output,
|
|
46796
|
+
exitCode: facts.exitCode,
|
|
46797
|
+
signal: facts.signal,
|
|
46798
|
+
maxLines: 18,
|
|
46799
|
+
labels: terminalBlockLabels
|
|
46800
|
+
})
|
|
46801
|
+
});
|
|
46802
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
46803
|
+
className: Reader_module_css_default.toolDetailNote,
|
|
46804
|
+
children: "代码已执行,没有可展示的输出。"
|
|
46805
|
+
});
|
|
46806
|
+
}
|
|
46487
46807
|
if (content.some((item) => item.type === "text")) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46488
46808
|
className: Reader_module_css_default.toolDocument,
|
|
46489
46809
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Blocks, {
|
|
@@ -46773,7 +47093,7 @@ function(test) {
|
|
|
46773
47093
|
})
|
|
46774
47094
|
]
|
|
46775
47095
|
});
|
|
46776
|
-
}, (previous, next) => previous.entry.callId === next.entry.callId && previous.entry.block === next.entry.block && previous.entry.draft === next.entry.draft && previous.entry.step === next.entry.step && previous.motion === next.motion && previous.turnClosed === next.turnClosed && previous.depth === next.depth && previous.onRead === next.onRead && previous.renderSlotChain === next.renderSlotChain && previous.loadImage === next.loadImage && previous.fillComposer === next.fillComposer && previous.
|
|
47096
|
+
}, (previous, next) => previous.entry.callId === next.entry.callId && previous.entry.block === next.entry.block && previous.entry.draft === next.entry.draft && previous.entry.step === next.entry.step && previous.motion === next.motion && previous.turnClosed === next.turnClosed && previous.depth === next.depth && previous.onRead === next.onRead && previous.renderSlotChain === next.renderSlotChain && previous.loadImage === next.loadImage && previous.fillComposer === next.fillComposer && previous.official === next.official && previous.cwd === next.cwd && previous.openFile === next.openFile);
|
|
46777
47097
|
/** Rich media (images, MCP widgets) rendered outside the folded tool ledger. */
|
|
46778
47098
|
function ToolMedia({ block, depth = 0, ...render }) {
|
|
46779
47099
|
if (depth > 6) return null;
|
|
@@ -47132,7 +47452,7 @@ function(test) {
|
|
|
47132
47452
|
}
|
|
47133
47453
|
//#endregion
|
|
47134
47454
|
//#region \0dshx-css-module:ContextBody.module.css.mjs
|
|
47135
|
-
const css$3 = ".
|
|
47455
|
+
const css$3 = ".pZuJGq_text{color:var(--dsw-alias-label-secondary);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.pZuJGq_fields{border-top:1px solid var(--dsw-alias-line-secondary);flex-direction:column;gap:2px;margin:8px 0 0;padding-top:8px;display:flex}.pZuJGq_field{gap:8px;min-width:0;display:flex}.pZuJGq_fieldKey{min-width:96px;color:var(--dsw-alias-label-caption);flex:none}.pZuJGq_fieldValue{min-width:0;color:var(--dsw-alias-label-tertiary);overflow-wrap:anywhere;flex:auto;margin:0}.pZuJGq_files{flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.pZuJGq_file{align-items:baseline;gap:6px;min-width:0;display:flex}.pZuJGq_filePath{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.pZuJGq_fileAction{color:var(--dsw-alias-label-caption)}.pZuJGq_catalogNotice{color:var(--dsw-alias-label-caption);margin:0 0 6px}.pZuJGq_entries{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pZuJGq_entry{gap:8px;min-width:0;display:flex}.pZuJGq_entryName{color:var(--dsw-alias-label-secondary);flex:none}.pZuJGq_entryDescription{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.pZuJGq_sections{flex-direction:column;gap:8px;margin:0;display:flex}.pZuJGq_section{flex-direction:column;gap:2px;min-width:0;display:flex}.pZuJGq_sectionName{color:var(--dsw-alias-label-caption)}.pZuJGq_sectionText{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.pZuJGq_relaySender{color:var(--dsw-alias-label-caption);overflow-wrap:anywhere;margin:0 0 6px}.pZuJGq_recalls{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.pZuJGq_recall{gap:8px;min-width:0;display:flex}.pZuJGq_recallLabel{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.pZuJGq_recallCounts{color:var(--dsw-alias-label-caption);flex:none}";
|
|
47136
47456
|
const tagId$3 = "dsh-better-display/ContextBody.module.css";
|
|
47137
47457
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
47138
47458
|
const tag = document.createElement("style");
|
|
@@ -47142,29 +47462,29 @@ function(test) {
|
|
|
47142
47462
|
document.head.appendChild(tag);
|
|
47143
47463
|
}
|
|
47144
47464
|
var ContextBody_module_css_default = {
|
|
47145
|
-
"catalogNotice": "
|
|
47146
|
-
"entries": "
|
|
47147
|
-
"entry": "
|
|
47148
|
-
"entryDescription": "
|
|
47149
|
-
"entryName": "
|
|
47150
|
-
"field": "
|
|
47151
|
-
"fieldKey": "
|
|
47152
|
-
"fields": "
|
|
47153
|
-
"fieldValue": "
|
|
47154
|
-
"file": "
|
|
47155
|
-
"fileAction": "
|
|
47156
|
-
"filePath": "
|
|
47157
|
-
"files": "
|
|
47158
|
-
"recall": "
|
|
47159
|
-
"recallCounts": "
|
|
47160
|
-
"recallLabel": "
|
|
47161
|
-
"recalls": "
|
|
47162
|
-
"relaySender": "
|
|
47163
|
-
"section": "
|
|
47164
|
-
"sectionName": "
|
|
47165
|
-
"sections": "
|
|
47166
|
-
"sectionText": "
|
|
47167
|
-
"text": "
|
|
47465
|
+
"catalogNotice": "pZuJGq_catalogNotice",
|
|
47466
|
+
"entries": "pZuJGq_entries",
|
|
47467
|
+
"entry": "pZuJGq_entry",
|
|
47468
|
+
"entryDescription": "pZuJGq_entryDescription",
|
|
47469
|
+
"entryName": "pZuJGq_entryName",
|
|
47470
|
+
"field": "pZuJGq_field",
|
|
47471
|
+
"fieldKey": "pZuJGq_fieldKey",
|
|
47472
|
+
"fields": "pZuJGq_fields",
|
|
47473
|
+
"fieldValue": "pZuJGq_fieldValue",
|
|
47474
|
+
"file": "pZuJGq_file",
|
|
47475
|
+
"fileAction": "pZuJGq_fileAction",
|
|
47476
|
+
"filePath": "pZuJGq_filePath",
|
|
47477
|
+
"files": "pZuJGq_files",
|
|
47478
|
+
"recall": "pZuJGq_recall",
|
|
47479
|
+
"recallCounts": "pZuJGq_recallCounts",
|
|
47480
|
+
"recallLabel": "pZuJGq_recallLabel",
|
|
47481
|
+
"recalls": "pZuJGq_recalls",
|
|
47482
|
+
"relaySender": "pZuJGq_relaySender",
|
|
47483
|
+
"section": "pZuJGq_section",
|
|
47484
|
+
"sectionName": "pZuJGq_sectionName",
|
|
47485
|
+
"sections": "pZuJGq_sections",
|
|
47486
|
+
"sectionText": "pZuJGq_sectionText",
|
|
47487
|
+
"text": "pZuJGq_text"
|
|
47168
47488
|
};
|
|
47169
47489
|
//#endregion
|
|
47170
47490
|
//#region src/client/native/ContextBody.tsx
|
|
@@ -47689,7 +48009,7 @@ function(test) {
|
|
|
47689
48009
|
}
|
|
47690
48010
|
//#endregion
|
|
47691
48011
|
//#region \0dshx-css-module:ContextInjectionRow.module.css.mjs
|
|
47692
|
-
const css$2 = ".
|
|
48012
|
+
const css$2 = ".n1RLsG_root{min-width:0}.n1RLsG_root[data-open]{padding-bottom:4px}.n1RLsG_chevron{color:var(--dsw-alias-label-secondary)}.n1RLsG_sep{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.n1RLsG_source{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:14px;line-height:24px;overflow:hidden}.n1RLsG_summary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;line-height:24px;overflow:hidden}.n1RLsG_body{box-sizing:border-box;background:var(--dsw-alias-markdown-code-block);width:calc(100% - 22px);max-height:141px;color:var(--dsw-alias-label-tertiary);font:400 11px/16px var(--ds-font-family-code);border:none;border-radius:8px;margin:4px 0 0 22px;padding:10px 16px 12px 12px;overflow:auto}";
|
|
47693
48013
|
const tagId$2 = "dsh-better-display/ContextInjectionRow.module.css";
|
|
47694
48014
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
47695
48015
|
const tag = document.createElement("style");
|
|
@@ -47699,12 +48019,12 @@ function(test) {
|
|
|
47699
48019
|
document.head.appendChild(tag);
|
|
47700
48020
|
}
|
|
47701
48021
|
var ContextInjectionRow_module_css_default = {
|
|
47702
|
-
"body": "
|
|
47703
|
-
"chevron": "
|
|
47704
|
-
"root": "
|
|
47705
|
-
"sep": "
|
|
47706
|
-
"source": "
|
|
47707
|
-
"summary": "
|
|
48022
|
+
"body": "n1RLsG_body",
|
|
48023
|
+
"chevron": "n1RLsG_chevron",
|
|
48024
|
+
"root": "n1RLsG_root",
|
|
48025
|
+
"sep": "n1RLsG_sep",
|
|
48026
|
+
"source": "n1RLsG_source",
|
|
48027
|
+
"summary": "n1RLsG_summary"
|
|
47708
48028
|
};
|
|
47709
48029
|
//#endregion
|
|
47710
48030
|
//#region src/client/native/ContextInjectionRow.tsx
|
|
@@ -47719,8 +48039,12 @@ function(test) {
|
|
|
47719
48039
|
* @param props - Durable content, its projected producer role/name and form, and the locale seat.
|
|
47720
48040
|
* @returns A collapsed context row with a bounded, form-specific body.
|
|
47721
48041
|
*/
|
|
47722
|
-
function ContextInjectionRow({ content, source, provenance, form, t }) {
|
|
48042
|
+
function ContextInjectionRow({ content, source, provenance, producer, form, t }) {
|
|
47723
48043
|
const [open, setOpen] = (0, react.useState)(false);
|
|
48044
|
+
const view = provenance ?? producer ?? {
|
|
48045
|
+
role: "inject",
|
|
48046
|
+
label: null
|
|
48047
|
+
};
|
|
47724
48048
|
const { rendered, summary, body } = contextBody(form, {
|
|
47725
48049
|
content,
|
|
47726
48050
|
source,
|
|
@@ -47728,13 +48052,13 @@ function(test) {
|
|
|
47728
48052
|
});
|
|
47729
48053
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
47730
48054
|
className: ContextInjectionRow_module_css_default.root,
|
|
47731
|
-
icon:
|
|
48055
|
+
icon: view.role === "recall" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47732
48056
|
"data-context-recall-icon": true,
|
|
47733
48057
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReferenceIcon, { kind: "session" })
|
|
47734
48058
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutline16, { size: 14 }),
|
|
47735
48059
|
chevronClassName: ContextInjectionRow_module_css_default.chevron,
|
|
47736
|
-
title: t(
|
|
47737
|
-
collapsedContent:
|
|
48060
|
+
title: t(view.role === "recall" ? "message.contextRecall" : "message.contextInjection"),
|
|
48061
|
+
collapsedContent: view.label === null ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
47738
48062
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47739
48063
|
className: ContextInjectionRow_module_css_default.sep,
|
|
47740
48064
|
"aria-hidden": true
|
|
@@ -47742,7 +48066,7 @@ function(test) {
|
|
|
47742
48066
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47743
48067
|
className: ContextInjectionRow_module_css_default.source,
|
|
47744
48068
|
"data-context-source": true,
|
|
47745
|
-
children:
|
|
48069
|
+
children: view.label
|
|
47746
48070
|
}),
|
|
47747
48071
|
summary !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47748
48072
|
className: ContextInjectionRow_module_css_default.sep,
|
|
@@ -47770,7 +48094,7 @@ function(test) {
|
|
|
47770
48094
|
}
|
|
47771
48095
|
//#endregion
|
|
47772
48096
|
//#region \0dshx-css-module:TimelineRail.module.css.mjs
|
|
47773
|
-
const css$1 = ".
|
|
48097
|
+
const css$1 = ".a3auvq_slot{z-index:10;pointer-events:none;height:0;position:sticky;top:0}.a3auvq_frame{--turn-rail-band:calc(var(--dsh-conversation-viewport-height,100dvh) - var(--dsh-composer-height,152px));--turn-preview-height:100px;top:calc(var(--turn-rail-band) / 2);width:26px;height:min(var(--turn-natural-height), max(0px, calc(var(--turn-rail-band) - 64px)), 420px);cursor:pointer;pointer-events:auto;transition:height .22s cubic-bezier(.2,.8,.2,1);position:absolute;right:6px;transform:translateY(-50%)}.a3auvq_scroller{overscroll-behavior:contain;scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.a3auvq_scroller::-webkit-scrollbar{display:none}.a3auvq_fadeTop{-webkit-mask-image:linear-gradient(#0000 0,#000 24px 100%);mask-image:linear-gradient(#0000 0,#000 24px 100%)}.a3auvq_fadeBottom{-webkit-mask-image:linear-gradient(#000 0 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(#000 0 calc(100% - 24px),#0000 100%)}.a3auvq_fadeTop.a3auvq_fadeBottom{-webkit-mask-image:linear-gradient(#0000 0,#000 24px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 24px calc(100% - 24px),#0000 100%)}.a3auvq_marks{height:var(--turn-natural-height);position:relative}.a3auvq_markPosition{top:calc(var(--turn-natural-position) + var(--turn-rail-inset));height:12px;transition:top .22s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;right:0;transform:translateY(-50%)}.a3auvq_mark{cursor:pointer;pointer-events:none;background:0 0;border:0;justify-content:flex-end;align-items:center;width:24px;padding:0;display:flex;position:absolute;inset:0 0 0 auto}.a3auvq_tick{border-radius:2px;flex:none;transition:width .1s cubic-bezier(.16,1,.3,1),height .1s cubic-bezier(.16,1,.3,1),opacity .1s,background-color .14s}.a3auvq_markBusy .a3auvq_tick{animation:1s ease-in-out infinite alternate a3auvq_markBusyPulse}@keyframes a3auvq_markBusyPulse{0%{opacity:.4;width:8px}to{opacity:1;width:18px}}.a3auvq_preview{top:clamp(0px, calc(var(--turn-natural-position) + var(--turn-rail-inset) - var(--turn-scroll-top,0px) - var(--turn-preview-height) / 2), calc(100% - var(--turn-preview-height)));box-sizing:border-box;width:min(280px,100cqw - 120px);max-height:var(--turn-preview-height);border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);backdrop-filter:blur(12px);pointer-events:none;z-index:40;border-radius:10px;padding:10px 12px;transition:top .14s cubic-bezier(.2,.8,.2,1);animation:.12s ease-out a3auvq_previewFadeIn;position:absolute;right:calc(100% + 10px);overflow:hidden;box-shadow:0 4px 18px #0000001f}@keyframes a3auvq_previewFadeIn{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.a3auvq_previewPrompt{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:18px;display:-webkit-box;overflow:hidden}.a3auvq_previewResponse{color:var(--dsw-alias-label-tertiary);-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:16px;display:-webkit-box;overflow:hidden}@media (width<=960px){.a3auvq_slot{display:none!important}}";
|
|
47774
48098
|
const tagId$1 = "dsh-better-display/TimelineRail.module.css";
|
|
47775
48099
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
47776
48100
|
const tag = document.createElement("style");
|
|
@@ -47780,21 +48104,21 @@ function(test) {
|
|
|
47780
48104
|
document.head.appendChild(tag);
|
|
47781
48105
|
}
|
|
47782
48106
|
var TimelineRail_module_css_default = {
|
|
47783
|
-
"fadeBottom": "
|
|
47784
|
-
"fadeTop": "
|
|
47785
|
-
"frame": "
|
|
47786
|
-
"mark": "
|
|
47787
|
-
"markBusy": "
|
|
47788
|
-
"markBusyPulse": "
|
|
47789
|
-
"markPosition": "
|
|
47790
|
-
"marks": "
|
|
47791
|
-
"preview": "
|
|
47792
|
-
"previewFadeIn": "
|
|
47793
|
-
"previewPrompt": "
|
|
47794
|
-
"previewResponse": "
|
|
47795
|
-
"scroller": "
|
|
47796
|
-
"slot": "
|
|
47797
|
-
"tick": "
|
|
48107
|
+
"fadeBottom": "a3auvq_fadeBottom",
|
|
48108
|
+
"fadeTop": "a3auvq_fadeTop",
|
|
48109
|
+
"frame": "a3auvq_frame",
|
|
48110
|
+
"mark": "a3auvq_mark",
|
|
48111
|
+
"markBusy": "a3auvq_markBusy",
|
|
48112
|
+
"markBusyPulse": "a3auvq_markBusyPulse",
|
|
48113
|
+
"markPosition": "a3auvq_markPosition",
|
|
48114
|
+
"marks": "a3auvq_marks",
|
|
48115
|
+
"preview": "a3auvq_preview",
|
|
48116
|
+
"previewFadeIn": "a3auvq_previewFadeIn",
|
|
48117
|
+
"previewPrompt": "a3auvq_previewPrompt",
|
|
48118
|
+
"previewResponse": "a3auvq_previewResponse",
|
|
48119
|
+
"scroller": "a3auvq_scroller",
|
|
48120
|
+
"slot": "a3auvq_slot",
|
|
48121
|
+
"tick": "a3auvq_tick"
|
|
47798
48122
|
};
|
|
47799
48123
|
//#endregion
|
|
47800
48124
|
//#region src/client/TimelineRail.tsx
|
|
@@ -49128,7 +49452,11 @@ function(test) {
|
|
|
49128
49452
|
const anchor = forkAnchorSeq([data.finalNode, { seq: render.forkSeq }]);
|
|
49129
49453
|
return render.forkAt && anchor !== void 0 ? () => render.forkAt(anchor) : void 0;
|
|
49130
49454
|
})(),
|
|
49131
|
-
metrics: render.metrics
|
|
49455
|
+
metrics: render.metrics,
|
|
49456
|
+
extraActions: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OfficialActions, {
|
|
49457
|
+
official: render.official,
|
|
49458
|
+
messageId: data.finalNode?.messageId
|
|
49459
|
+
})
|
|
49132
49460
|
})
|
|
49133
49461
|
]
|
|
49134
49462
|
})
|
|
@@ -49223,6 +49551,15 @@ function(test) {
|
|
|
49223
49551
|
role: "status",
|
|
49224
49552
|
children: "模型请求未成功,正在等待重试。详情保留在执行过程中。"
|
|
49225
49553
|
}) : null;
|
|
49554
|
+
if (isNode(node, "command") && render.official) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OfficialNode, {
|
|
49555
|
+
...render,
|
|
49556
|
+
node,
|
|
49557
|
+
fallback: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
49558
|
+
label: "命令记录",
|
|
49559
|
+
payload: node.data,
|
|
49560
|
+
truncatedLabel: truncatedJsonLabel
|
|
49561
|
+
})
|
|
49562
|
+
});
|
|
49226
49563
|
if (isNode(node, "command")) {
|
|
49227
49564
|
if (node.data.outcome?.kind === "error") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
49228
49565
|
className: Reader_module_css_default.error,
|
|
@@ -49260,14 +49597,27 @@ function(test) {
|
|
|
49260
49597
|
}
|
|
49261
49598
|
if (isNode(node, "manual-compaction") || isNode(node, "compaction")) return null;
|
|
49262
49599
|
if (node.kind === "context" || node.kind === "turn-tail" || node.kind === "system-prompt" || node.kind === "turn-process") return null;
|
|
49263
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
49264
|
-
|
|
49265
|
-
|
|
49266
|
-
|
|
49267
|
-
|
|
49268
|
-
|
|
49269
|
-
|
|
49270
|
-
|
|
49600
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OfficialNode, {
|
|
49601
|
+
...render,
|
|
49602
|
+
node,
|
|
49603
|
+
fallback: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
49604
|
+
className: Reader_module_css_default.unknown,
|
|
49605
|
+
"data-reader-anchor": true,
|
|
49606
|
+
children: [
|
|
49607
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", { children: ["此记录类型暂未接入阅读页:", node.kind] }),
|
|
49608
|
+
render.official && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
49609
|
+
type: "button",
|
|
49610
|
+
className: Reader_module_css_default.textButton,
|
|
49611
|
+
onClick: () => render.official.openView("chat", node.key),
|
|
49612
|
+
children: "在对话中查看"
|
|
49613
|
+
}),
|
|
49614
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
49615
|
+
label: "查看原始记录",
|
|
49616
|
+
payload: node.data,
|
|
49617
|
+
truncatedLabel: truncatedJsonLabel
|
|
49618
|
+
})
|
|
49619
|
+
]
|
|
49620
|
+
})
|
|
49271
49621
|
});
|
|
49272
49622
|
});
|
|
49273
49623
|
/**
|
|
@@ -49556,14 +49906,53 @@ function(test) {
|
|
|
49556
49906
|
const holdingSelection = selectedProcessKeys.some((key) => flow.some((item) => item.key === key) || liveItems.some((item) => item.kind === "fold" ? item.key === key || item.steps.some((step) => step.key === key || "nodeKey" in step && step.nodeKey === key) : item.key === key || "nodeKey" in item.step && item.step.nodeKey === key));
|
|
49557
49907
|
const expanded = !autoFold || holdingSelection || processExpanded(expansionChoice, boundary);
|
|
49558
49908
|
const [foldOpenByKey, setFoldOpenByKey] = (0, react.useState)({});
|
|
49909
|
+
(0, react.useLayoutEffect)(() => {
|
|
49910
|
+
if (autoFold) setFoldOpenByKey((current) => Object.keys(current).length ? {} : current);
|
|
49911
|
+
}, [autoFold]);
|
|
49559
49912
|
const deliverables = (0, react.useMemo)(() => getTurnDeliverables(turn, flow), [turn, flow]);
|
|
49560
|
-
const fileMentions = (0, react.useMemo)(() => deliverables.length > 0 && props.openFile ? createProducedFileMentions(deliverables, props.openFile) : void 0, [deliverables, props.openFile]);
|
|
49561
49913
|
const tailData = (0, react.useMemo)(() => {
|
|
49562
49914
|
for (const key of group.keys) {
|
|
49563
49915
|
const n = nodes.get(key);
|
|
49564
49916
|
if (n && isNode(n, "turn-tail")) return n.data;
|
|
49565
49917
|
}
|
|
49566
49918
|
}, [group.keys, nodes]);
|
|
49919
|
+
const tailOwner = (0, react.useMemo)(() => turn && tailData ? {
|
|
49920
|
+
turn,
|
|
49921
|
+
seq: tailData.closing?.finalNode.seq ?? tailData.seq,
|
|
49922
|
+
openFile: props.openFile
|
|
49923
|
+
} : void 0, [
|
|
49924
|
+
turn,
|
|
49925
|
+
tailData,
|
|
49926
|
+
props.openFile
|
|
49927
|
+
]);
|
|
49928
|
+
const fileMentions = (0, react.useMemo)(() => {
|
|
49929
|
+
const official = tailOwner ? props.officialFileMentions(tailOwner) : void 0;
|
|
49930
|
+
const reader = deliverables.length > 0 ? createProducedFileMentions(deliverables, props.openFile) : void 0;
|
|
49931
|
+
return official || reader ? { resolve: (value) => official?.resolve(value) ?? reader?.resolve(value) } : void 0;
|
|
49932
|
+
}, [
|
|
49933
|
+
tailOwner,
|
|
49934
|
+
props.officialFileMentions,
|
|
49935
|
+
deliverables,
|
|
49936
|
+
props.openFile
|
|
49937
|
+
]);
|
|
49938
|
+
const official = (0, react.useMemo)(() => ({
|
|
49939
|
+
renderSlot: props.renderSlot,
|
|
49940
|
+
renderSlotChain: props.renderSlotChain,
|
|
49941
|
+
officialImageLoader: props.officialImageLoader,
|
|
49942
|
+
officialFileMentions: props.officialFileMentions,
|
|
49943
|
+
officialPreviewFile: props.officialPreviewFile,
|
|
49944
|
+
officialHost: props.officialHost,
|
|
49945
|
+
openView: props.openView
|
|
49946
|
+
}), [
|
|
49947
|
+
props.renderSlot,
|
|
49948
|
+
props.renderSlotChain,
|
|
49949
|
+
props.officialImageLoader,
|
|
49950
|
+
props.officialFileMentions,
|
|
49951
|
+
props.officialPreviewFile,
|
|
49952
|
+
props.officialHost,
|
|
49953
|
+
props.openView
|
|
49954
|
+
]);
|
|
49955
|
+
const cwd = props.useSessions((state) => state.byId[props.sessionId]?.cwd);
|
|
49567
49956
|
const runMs = turn?.start && turn?.end ? Math.max(0, turn.end.time - turn.start.time) : void 0;
|
|
49568
49957
|
const metrics = (0, react.useMemo)(() => ({
|
|
49569
49958
|
usage: tailData?.tokenUsage,
|
|
@@ -49613,7 +50002,8 @@ function(test) {
|
|
|
49613
50002
|
forkSeq,
|
|
49614
50003
|
fileMentions,
|
|
49615
50004
|
metrics,
|
|
49616
|
-
|
|
50005
|
+
official,
|
|
50006
|
+
cwd
|
|
49617
50007
|
};
|
|
49618
50008
|
const terminal = terminalLabel(boundary.reason);
|
|
49619
50009
|
const hasTurnError = flow.some((item) => item.kind === "node" && nodes.get(item.nodeKey)?.kind === "turn-error");
|
|
@@ -49747,6 +50137,11 @@ function(test) {
|
|
|
49747
50137
|
revealFile: props.revealFile,
|
|
49748
50138
|
openMode
|
|
49749
50139
|
}),
|
|
50140
|
+
boundary.status === "closed" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BlockBoundary, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OfficialTail, {
|
|
50141
|
+
official,
|
|
50142
|
+
owner: tailOwner,
|
|
50143
|
+
produced: deliverables
|
|
50144
|
+
}) }),
|
|
49750
50145
|
showTerminalNotice && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
49751
50146
|
className: Reader_module_css_default.notice,
|
|
49752
50147
|
"data-reader-terminal": true,
|
|
@@ -49775,6 +50170,12 @@ function(test) {
|
|
|
49775
50170
|
}), () => props.openPrefs?.getSnapshot?.(), () => void 0);
|
|
49776
50171
|
const storeAutoFold = props.useStore((state) => state.autoFold);
|
|
49777
50172
|
const autoFold = prefsSnap?.autoFold ?? (prefsSnap?.foldIntensity !== void 0 ? prefsSnap.foldIntensity !== 0 : void 0) ?? storeAutoFold ?? true;
|
|
50173
|
+
const previousAutoFold = (0, react.useRef)(autoFold);
|
|
50174
|
+
(0, react.useLayoutEffect)(() => {
|
|
50175
|
+
const restored = autoFold && !previousAutoFold.current;
|
|
50176
|
+
previousAutoFold.current = autoFold;
|
|
50177
|
+
if (restored) props.actions.resetExpanded();
|
|
50178
|
+
}, [autoFold, props.actions]);
|
|
49778
50179
|
const frostedGlass = frostedGlassOf(prefsSnap);
|
|
49779
50180
|
const streamMotion = (0, react.useMemo)(() => ({
|
|
49780
50181
|
enabled: motion,
|
|
@@ -49916,7 +50317,8 @@ function(test) {
|
|
|
49916
50317
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
49917
50318
|
ref: root,
|
|
49918
50319
|
className: Reader_module_css_default.root,
|
|
49919
|
-
"data-
|
|
50320
|
+
"data-reader-build": "0.3.0-preview.1",
|
|
50321
|
+
"data-dsh-better-display": "0.3.0-preview.1",
|
|
49920
50322
|
"data-reader-wait-clock-version": "input-v1",
|
|
49921
50323
|
"data-reader-wait-start": waitAnchor.time ?? void 0,
|
|
49922
50324
|
"data-motion": motion ? "on" : "off",
|
|
@@ -50080,6 +50482,9 @@ function(test) {
|
|
|
50080
50482
|
setExpanded: (draft, key, value) => {
|
|
50081
50483
|
draft.expanded[key] = value;
|
|
50082
50484
|
},
|
|
50485
|
+
resetExpanded: (draft) => {
|
|
50486
|
+
draft.expanded = {};
|
|
50487
|
+
},
|
|
50083
50488
|
setMotion: (draft, value) => {
|
|
50084
50489
|
draft.motion = value;
|
|
50085
50490
|
},
|
|
@@ -50284,7 +50689,7 @@ function(test) {
|
|
|
50284
50689
|
}
|
|
50285
50690
|
//#endregion
|
|
50286
50691
|
//#region \0dshx-css-module:SettingsSection.module.css.mjs
|
|
50287
|
-
const css = ".
|
|
50692
|
+
const css = ".YB9koa_section{flex-direction:column;gap:28px;width:100%;max-width:720px;display:flex}.YB9koa_row{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.YB9koa_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:24px;display:flex}.YB9koa_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.YB9koa_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.YB9koa_switch{background:var(--dsw-alias-bg-module-platform);cursor:pointer;border:none;border-radius:12px;flex:none;width:40px;height:24px;padding:0;position:relative}.YB9koa_switch:after{content:\"\";background:var(--dsw-alias-label-primary);border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px}.YB9koa_switch[data-on]:after{transform:translate(16px)}.YB9koa_switch[data-on]{background:var(--dsw-alias-state-business-primary)}.YB9koa_block{flex-direction:column;gap:10px;display:flex}.YB9koa_status{color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;font-size:13px;line-height:20px;display:inline-flex}.YB9koa_badge{background:var(--dsw-alias-bg-module-platform);height:22px;color:var(--dsw-alias-label-secondary);border-radius:11px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.YB9koa_badge[data-ok]{color:#059669;background:#10b98124}.YB9koa_pre{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:18px}.YB9koa_roots{color:var(--dsw-alias-label-tertiary);margin:0;padding-left:18px;font-size:12px;line-height:18px}.YB9koa_actions{gap:8px;display:flex}.YB9koa_button{border:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);height:32px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:8px;padding:0 12px;font-size:13px}.YB9koa_button:hover{background:var(--dsw-alias-interactive-bg-hover)}.YB9koa_button:disabled{opacity:.6;cursor:default}.YB9koa_segment{background:var(--dsw-alias-bg-module-platform);border-radius:10px;gap:2px;width:100%;margin-top:8px;padding:2px;display:flex}.YB9koa_segmentStop{min-width:0;height:32px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1 1 0;padding:0 8px;font-size:12px;line-height:18px}.YB9koa_segmentStop[data-on]{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);box-shadow:0 0 0 .5px var(--dsw-alias-border-l2)}.YB9koa_slider{width:100%;accent-color:var(--dsw-alias-state-business-primary);margin:10px 0 0}";
|
|
50288
50693
|
const tagId = "dsh-better-display/SettingsSection.module.css";
|
|
50289
50694
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
50290
50695
|
const tag = document.createElement("style");
|
|
@@ -50294,22 +50699,22 @@ function(test) {
|
|
|
50294
50699
|
document.head.appendChild(tag);
|
|
50295
50700
|
}
|
|
50296
50701
|
var SettingsSection_module_css_default = {
|
|
50297
|
-
"actions": "
|
|
50298
|
-
"badge": "
|
|
50299
|
-
"block": "
|
|
50300
|
-
"button": "
|
|
50301
|
-
"desc": "
|
|
50302
|
-
"pre": "
|
|
50303
|
-
"roots": "
|
|
50304
|
-
"row": "
|
|
50305
|
-
"rowText": "
|
|
50306
|
-
"section": "
|
|
50307
|
-
"segment": "
|
|
50308
|
-
"segmentStop": "
|
|
50309
|
-
"slider": "
|
|
50310
|
-
"status": "
|
|
50311
|
-
"switch": "
|
|
50312
|
-
"title": "
|
|
50702
|
+
"actions": "YB9koa_actions",
|
|
50703
|
+
"badge": "YB9koa_badge",
|
|
50704
|
+
"block": "YB9koa_block",
|
|
50705
|
+
"button": "YB9koa_button",
|
|
50706
|
+
"desc": "YB9koa_desc",
|
|
50707
|
+
"pre": "YB9koa_pre",
|
|
50708
|
+
"roots": "YB9koa_roots",
|
|
50709
|
+
"row": "YB9koa_row",
|
|
50710
|
+
"rowText": "YB9koa_rowText",
|
|
50711
|
+
"section": "YB9koa_section",
|
|
50712
|
+
"segment": "YB9koa_segment",
|
|
50713
|
+
"segmentStop": "YB9koa_segmentStop",
|
|
50714
|
+
"slider": "YB9koa_slider",
|
|
50715
|
+
"status": "YB9koa_status",
|
|
50716
|
+
"switch": "YB9koa_switch",
|
|
50717
|
+
"title": "YB9koa_title"
|
|
50313
50718
|
};
|
|
50314
50719
|
//#endregion
|
|
50315
50720
|
//#region src/client/SettingsSection.tsx
|
|
@@ -50544,6 +50949,7 @@ function(test) {
|
|
|
50544
50949
|
"slots",
|
|
50545
50950
|
"sessions",
|
|
50546
50951
|
"conversation",
|
|
50952
|
+
"uiConversation",
|
|
50547
50953
|
"remote",
|
|
50548
50954
|
"remote.session"
|
|
50549
50955
|
];
|
|
@@ -50551,17 +50957,20 @@ function(test) {
|
|
|
50551
50957
|
const store = createReaderStore();
|
|
50552
50958
|
const prefs = store.create();
|
|
50553
50959
|
installBetterDisplaySettings(ctx, prefs);
|
|
50554
|
-
ctx.slots.inject("conversation.
|
|
50960
|
+
ctx.slots.inject("conversation.chat.node", function* () {
|
|
50555
50961
|
yield ctx.slots.register({
|
|
50556
50962
|
name: "conversation.view",
|
|
50557
50963
|
id: "reader",
|
|
50558
50964
|
order: -5,
|
|
50559
50965
|
label: () => "阅读",
|
|
50560
50966
|
locale: "chat",
|
|
50561
|
-
children: {
|
|
50562
|
-
|
|
50563
|
-
|
|
50564
|
-
|
|
50967
|
+
children: {
|
|
50968
|
+
"dsh-better-display.block": {
|
|
50969
|
+
kind: "chain",
|
|
50970
|
+
scope: "session"
|
|
50971
|
+
},
|
|
50972
|
+
...officialChildren(ctx.slots)
|
|
50973
|
+
},
|
|
50565
50974
|
store,
|
|
50566
50975
|
inject: (sessionId) => {
|
|
50567
50976
|
const session = () => {
|
|
@@ -50571,6 +50980,18 @@ function(test) {
|
|
|
50571
50980
|
};
|
|
50572
50981
|
return {
|
|
50573
50982
|
openPrefs: prefs,
|
|
50983
|
+
officialImageLoader: Object.assign((attachment) => ctx.uiConversation.imageUrl(sessionId, attachment), { peek: (attachment) => ctx.uiConversation.peekImageUrl(sessionId, attachment) }),
|
|
50984
|
+
officialFileMentions: (owner) => ctx.get("chatFileMentions")?.forClosing(owner, sessionId),
|
|
50985
|
+
officialPreviewFile: (path) => {
|
|
50986
|
+
const cwd = ctx.sessions.list.getSnapshot().byId[sessionId]?.cwd;
|
|
50987
|
+
const sidebar = ctx.get("sidebarRight");
|
|
50988
|
+
if (!sidebar?.openResource) throw new Error("文件预览面板不可用。");
|
|
50989
|
+
sidebar.openResource((officialFileAddressFor ?? fileAddressFor)(sessionId, cwd, path));
|
|
50990
|
+
},
|
|
50991
|
+
officialHost: {
|
|
50992
|
+
getSnapshot: () => ctx.remote.$host,
|
|
50993
|
+
subscribe: (listener) => ctx.on("connection/reset", listener)
|
|
50994
|
+
},
|
|
50574
50995
|
loadOlder: async () => {
|
|
50575
50996
|
await session().loadOlder();
|
|
50576
50997
|
},
|
|
@@ -50582,7 +51003,7 @@ function(test) {
|
|
|
50582
51003
|
mediaType: receipt.value.attachment.mediaType
|
|
50583
51004
|
};
|
|
50584
51005
|
},
|
|
50585
|
-
openFile: async (path) => {
|
|
51006
|
+
openFile: async (path, options) => {
|
|
50586
51007
|
try {
|
|
50587
51008
|
const cwd = ctx.sessions?.list?.getSnapshot?.()?.byId[sessionId]?.cwd;
|
|
50588
51009
|
const sidebar = ctx.get?.("sidebarRight") ?? ctx.sidebarRight;
|
|
@@ -50596,7 +51017,7 @@ function(test) {
|
|
|
50596
51017
|
await openWorkspacePath(ctx, absolutePath);
|
|
50597
51018
|
},
|
|
50598
51019
|
openSidebar: typeof sidebar?.openResource === "function" ? (address) => {
|
|
50599
|
-
sidebar.openResource(address);
|
|
51020
|
+
sidebar.openResource(address, options?.line === void 0 ? void 0 : { params: { line: options.line } });
|
|
50600
51021
|
} : void 0,
|
|
50601
51022
|
fileAddressFor: officialFileAddressFor ?? fileAddressFor,
|
|
50602
51023
|
warn: (message, extra) => {
|
|
@@ -50670,30 +51091,11 @@ function(test) {
|
|
|
50670
51091
|
} catch {
|
|
50671
51092
|
return false;
|
|
50672
51093
|
}
|
|
50673
|
-
},
|
|
50674
|
-
getToolView: (toolName) => {
|
|
50675
|
-
try {
|
|
50676
|
-
const matches = (ctx.slots?.entriesOfSlot?.("tool.call.toolview") ?? []).filter((e) => {
|
|
50677
|
-
const key = e?.options?.key ?? e?.key;
|
|
50678
|
-
const comp = e?.component ?? e?.view ?? e?.render ?? (typeof e === "function" ? e : null);
|
|
50679
|
-
return key === toolName && typeof comp === "function";
|
|
50680
|
-
});
|
|
50681
|
-
if (matches.length === 0) return null;
|
|
50682
|
-
matches.sort((a, b) => {
|
|
50683
|
-
return (a?.options?.priority ?? a?.priority ?? 0) - (b?.options?.priority ?? b?.priority ?? 0);
|
|
50684
|
-
});
|
|
50685
|
-
const best = matches[0];
|
|
50686
|
-
const prio = best?.options?.priority ?? best?.priority ?? 0;
|
|
50687
|
-
const comp = best?.component ?? best?.view ?? best?.render ?? (typeof best === "function" ? best : null);
|
|
50688
|
-
if (prio < 0 || toolName !== "edit" && toolName !== "write") return comp;
|
|
50689
|
-
return null;
|
|
50690
|
-
} catch {
|
|
50691
|
-
return null;
|
|
50692
|
-
}
|
|
50693
51094
|
}
|
|
50694
51095
|
};
|
|
50695
51096
|
}
|
|
50696
51097
|
}, Reader);
|
|
51098
|
+
yield installOfficialSlots(ctx);
|
|
50697
51099
|
yield installReaderEntry(ctx);
|
|
50698
51100
|
});
|
|
50699
51101
|
}
|