@ahggg/dsh-side-chat 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,11 +10,12 @@ Ask a focused follow-up about selected text without leaving your current DeepSee
10
10
 
11
11
  ## Install
12
12
 
13
- Install DSH rc.6 if it is not already available, then add the plugin to the Web profile:
13
+ Install DSH rc.6 if it is not already available. Refresh only this package's registry metadata before adding it, so pnpm cannot reuse an older `latest` value immediately after a release:
14
14
 
15
15
  ```powershell
16
16
  npm install --global @deepseek-ai/dsh@0.1.0-rc.6
17
- dsh plugin --profile web add @ahggg/dsh-side-chat
17
+ pnpm cache delete "@ahggg/dsh-side-chat"
18
+ dsh plugin --profile web add @ahggg/dsh-side-chat@latest
18
19
  ```
19
20
 
20
21
  Start DSH from the project you want the agent to work in:
@@ -64,13 +65,7 @@ The parent and child share the same workspace. File changes, commands, and other
64
65
 
65
66
  ## Upgrade or remove
66
67
 
67
- Update to the latest stable version and restart DSH:
68
-
69
- ```powershell
70
- dsh plugin --profile web update @ahggg/dsh-side-chat --latest
71
- ```
72
-
73
- Immediately after a release, pnpm may reuse stale registry metadata and leave an existing installation on an older version. Clear only this package's metadata cache, then retry the update:
68
+ Refresh this package's registry metadata, update to the latest stable version, and restart DSH:
74
69
 
75
70
  ```powershell
76
71
  pnpm cache delete "@ahggg/dsh-side-chat"
@@ -86,3 +81,9 @@ dsh plugin --profile web remove @ahggg/dsh-side-chat
86
81
  ## License
87
82
 
88
83
  MIT
84
+
85
+ ## References
86
+
87
+ - https://www.v2ex.com
88
+ - https://linux.do
89
+ - https://linux.sb
package/README.zh-CN.md CHANGED
@@ -10,11 +10,12 @@
10
10
 
11
11
  ## 安装
12
12
 
13
- 如果尚未安装 DSH rc.6,先安装它,然后把插件添加到 Web profile:
13
+ 如果尚未安装 DSH rc.6,先安装它。添加插件前只刷新这个包的 registry metadata,避免刚发布新版本时 pnpm 仍复用旧的 `latest`:
14
14
 
15
15
  ```powershell
16
16
  npm install --global @deepseek-ai/dsh@0.1.0-rc.6
17
- dsh plugin --profile web add @ahggg/dsh-side-chat
17
+ pnpm cache delete "@ahggg/dsh-side-chat"
18
+ dsh plugin --profile web add @ahggg/dsh-side-chat@latest
18
19
  ```
19
20
 
20
21
  从希望 Agent 操作的真实工程目录启动 DSH:
@@ -64,13 +65,7 @@ dsh web --port 3080
64
65
 
65
66
  ## 升级或卸载
66
67
 
67
- 升级到最新稳定版并重启 DSH:
68
-
69
- ```powershell
70
- dsh plugin --profile web update @ahggg/dsh-side-chat --latest
71
- ```
72
-
73
- 刚发布新版本时,pnpm 可能复用旧的 registry metadata,导致已有安装仍停留在旧版。只清理这个包的 metadata 缓存,然后重试升级:
68
+ 刷新这个包的 registry metadata,升级到最新稳定版,然后重启 DSH:
74
69
 
75
70
  ```powershell
76
71
  pnpm cache delete "@ahggg/dsh-side-chat"
@@ -86,3 +81,9 @@ dsh plugin --profile web remove @ahggg/dsh-side-chat
86
81
  ## 许可证
87
82
 
88
83
  MIT
84
+
85
+ ## References
86
+
87
+ - https://www.v2ex.com
88
+ - https://linux.do
89
+ - https://linux.sb
@@ -1 +1 @@
1
- {"version":3,"file":"ArchivedConversation.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/ArchivedConversation.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAKV,WAAW,EACZ,MAAM,wCAAwC,CAAA;AAG/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AA2OpE,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,MAAa,GACd,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAA;CACjC,2CA6GA"}
1
+ {"version":3,"file":"ArchivedConversation.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/ArchivedConversation.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAMV,WAAW,EACZ,MAAM,wCAAwC,CAAA;AAG/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAqYpE,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,MAAa,GACd,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAA;CACjC,2CAqHA"}
@@ -29,11 +29,93 @@ function contentText(content) {
29
29
  return stringify(block);
30
30
  }).filter(Boolean).join('\n');
31
31
  }
32
+ function toolOutputText(content) {
33
+ const text = contentText(content);
34
+ const fileEnvelope = /^<path>[\s\S]*?<\/path>\s*<type>[\s\S]*?<\/type>\s*<content>\s*\n?([\s\S]*?)\n?<\/content>\s*$/u.exec(text);
35
+ return fileEnvelope?.[1]?.trimEnd() ?? text;
36
+ }
32
37
  function firstSideChatQuestion(text) {
33
38
  const match = /<user_question>([\s\S]*?)<\/user_question>/u.exec(text);
34
39
  return match?.[1]?.trim() ?? text;
35
40
  }
36
- function AssistantBlocks({ blocks, streaming = false }) {
41
+ function parsedToolArguments(argsRaw) {
42
+ try {
43
+ const parsed = JSON.parse(argsRaw);
44
+ return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)
45
+ ? parsed
46
+ : null;
47
+ }
48
+ catch {
49
+ return null;
50
+ }
51
+ }
52
+ function displayToolName(name) {
53
+ if (name.toLowerCase() === 'pwsh')
54
+ return 'Pwsh';
55
+ return name
56
+ .split(/[-_\s]+/u)
57
+ .filter(Boolean)
58
+ .map(part => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
59
+ .join(' ');
60
+ }
61
+ function toolSummary(name, argsRaw) {
62
+ const args = parsedToolArguments(argsRaw);
63
+ if (args === null)
64
+ return null;
65
+ const normalizedName = name.toLowerCase();
66
+ const candidates = normalizedName === 'pwsh'
67
+ ? ['description', 'command']
68
+ : normalizedName === 'grep'
69
+ ? ['pattern', 'path']
70
+ : ['file_path', 'path', 'pattern', 'query', 'url', 'command', 'description'];
71
+ for (const key of candidates) {
72
+ const value = args[key];
73
+ if (typeof value !== 'string' || value.trim().length === 0)
74
+ continue;
75
+ if (key === 'file_path') {
76
+ const segments = value.split(/[\\/]/u);
77
+ return segments.at(-1) ?? value;
78
+ }
79
+ return value;
80
+ }
81
+ return null;
82
+ }
83
+ function formattedToolArguments(argsRaw) {
84
+ try {
85
+ return JSON.stringify(JSON.parse(argsRaw), null, 2);
86
+ }
87
+ catch {
88
+ return argsRaw;
89
+ }
90
+ }
91
+ function ToolCard({ callId, name, argsRaw, state, output, }) {
92
+ const [expanded, setExpanded] = useState(state === 'error');
93
+ useEffect(() => {
94
+ if (state === 'error')
95
+ setExpanded(true);
96
+ }, [state]);
97
+ const summary = toolSummary(name, argsRaw);
98
+ const label = state === 'running'
99
+ ? `Running tool · ${displayToolName(name)}`
100
+ : state === 'error'
101
+ ? `Tool failed · ${displayToolName(name)}`
102
+ : state === 'interrupted'
103
+ ? `Tool stopped · ${displayToolName(name)}`
104
+ : `Tool · ${displayToolName(name)}`;
105
+ return (_jsxs("section", { className: "dsh-side-chat-tool", "data-call-id": callId, "data-state": state, "data-expanded": expanded || undefined, children: [_jsxs("button", { type: "button", className: "dsh-side-chat-tool-toggle", "aria-label": label, "aria-expanded": expanded, onClick: () => { setExpanded(current => !current); }, children: [_jsx("span", { className: "dsh-side-chat-tool-status", "aria-hidden": "true" }), _jsx("span", { className: "dsh-side-chat-tool-name", children: displayToolName(name) }), summary !== null && _jsx("span", { className: "dsh-side-chat-tool-summary", children: summary }), _jsx("span", { className: "dsh-side-chat-tool-state", children: state === 'running' ? 'Running' : state === 'error' ? 'Failed' : state === 'interrupted' ? 'Stopped' : '' })] }), expanded && (_jsxs("div", { className: "dsh-side-chat-tool-body", children: [_jsxs("section", { children: [_jsx("strong", { children: "Input" }), _jsx("pre", { children: formattedToolArguments(argsRaw) })] }), output !== undefined && (_jsxs("section", { children: [_jsx("strong", { children: "Output" }), _jsx("pre", { children: output })] }))] }))] }));
106
+ }
107
+ function ToolResultCard({ node }) {
108
+ const output = toolOutputText(node.content);
109
+ const errorIdentity = `${node.error?.name ?? ''} ${node.error?.code ?? ''} ${output}`;
110
+ const state = node.isError
111
+ ? /\b(?:aborted|cancelled|canceled)\b/iu.test(errorIdentity) ? 'interrupted' : 'error'
112
+ : 'success';
113
+ return (_jsx(ToolCard, { callId: node.callId, name: node.call?.name ?? node.callId, argsRaw: node.call?.argsRaw ?? '{}', state: state, output: output }));
114
+ }
115
+ function RunningToolCard({ call }) {
116
+ return _jsx(ToolCard, { callId: call.callId, name: call.name, argsRaw: call.argsRaw, state: "running" });
117
+ }
118
+ function AssistantBlocks({ blocks, streaming = false, projectedToolCallIds, unprojectedToolState = 'pending' }) {
37
119
  return _jsx(_Fragment, { children: blocks.map((block, index) => {
38
120
  const key = `${block.kind}-${String(index)}`;
39
121
  if (block.kind === 'text')
@@ -44,23 +126,25 @@ function AssistantBlocks({ blocks, streaming = false }) {
44
126
  if (block.kind === 'image')
45
127
  return _jsx("div", { children: "[Image attachment]" }, key);
46
128
  if (block.kind === 'tool-call') {
47
- return _jsxs("details", { className: "dsh-side-chat-tool", children: [_jsxs("summary", { children: ["Tool \u00B7 ", block.name] }), _jsx("pre", { children: block.argsRaw })] }, key);
129
+ if (projectedToolCallIds.has(block.callId))
130
+ return null;
131
+ return (_jsx(ToolCard, { callId: block.callId, name: block.name, argsRaw: block.argsRaw, state: unprojectedToolState }, key));
48
132
  }
49
133
  return _jsx("pre", { children: stringify(block.block) }, key);
50
134
  }) });
51
135
  }
52
- function MessageRow({ node }) {
136
+ function MessageRow({ node, projectedToolCallIds }) {
53
137
  if (node.kind === 'user' || node.kind === 'steering') {
54
138
  return (_jsxs("article", { className: "dsh-side-chat-message", "data-role": "user", children: [_jsx("span", { className: "dsh-side-chat-message-role", children: "You" }), _jsx("div", { className: "dsh-side-chat-message-text", children: firstSideChatQuestion(contentText(node.content)) })] }));
55
139
  }
56
140
  if (node.kind === 'assistant') {
57
- return (_jsxs("article", { className: "dsh-side-chat-message", "data-role": "assistant", children: [_jsx("span", { className: "dsh-side-chat-message-role", children: "Assistant" }), _jsx(AssistantBlocks, { blocks: node.blocks }), node.interrupted === true && _jsx("span", { className: "dsh-side-chat-message-note", children: "Stopped" })] }));
141
+ return (_jsxs("article", { className: "dsh-side-chat-message", "data-role": "assistant", children: [_jsx("span", { className: "dsh-side-chat-message-role", children: "Assistant" }), _jsx(AssistantBlocks, { blocks: node.blocks, projectedToolCallIds: projectedToolCallIds, unprojectedToolState: node.interrupted === true ? 'interrupted' : 'pending' }), node.interrupted === true && _jsx("span", { className: "dsh-side-chat-message-note", children: "Stopped" })] }));
58
142
  }
59
143
  if (node.kind === 'context') {
60
144
  return (_jsxs("details", { className: "dsh-side-chat-message dsh-side-chat-context-message", children: [_jsxs("summary", { children: ["Context \u00B7 ", node.provenance.label ?? node.provenance.role] }), _jsx("pre", { children: contentText(node.content) })] }));
61
145
  }
62
146
  if (node.kind === 'tool-result') {
63
- return (_jsxs("details", { className: "dsh-side-chat-message dsh-side-chat-tool", open: node.isError || undefined, children: [_jsxs("summary", { children: [node.isError ? 'Tool failed' : 'Tool result', " \u00B7 ", node.call?.name ?? node.callId] }), _jsx("pre", { children: contentText(node.content) })] }));
147
+ return _jsx(ToolResultCard, { node: node });
64
148
  }
65
149
  if (node.kind === 'turn-error') {
66
150
  return _jsx("div", { className: "dsh-side-chat-turn-notice", role: "alert", children: node.message });
@@ -131,6 +215,11 @@ export function ArchivedConversation({ face, inheritedThroughSeq, controller, se
131
215
  const draftRef = useAutoGrowingTextarea(draft);
132
216
  const scrollRef = useRef(null);
133
217
  const nodes = useMemo(() => snapshot.nodes.filter(node => node.seq > inheritedThroughSeq), [snapshot.nodes, inheritedThroughSeq]);
218
+ const runningCalls = snapshot.runningCalls ?? [];
219
+ const projectedToolCallIds = useMemo(() => new Set([
220
+ ...nodes.filter((node) => node.kind === 'tool-result').map(node => node.callId),
221
+ ...runningCalls.map(call => call.callId),
222
+ ]), [nodes, runningCalls]);
134
223
  const annotatedUserNode = selection === undefined
135
224
  ? undefined
136
225
  : nodes.find(node => node.kind === 'user' || node.kind === 'steering');
@@ -161,8 +250,8 @@ export function ArchivedConversation({ face, inheritedThroughSeq, controller, se
161
250
  return _jsx("div", { className: "dsh-side-chat-loading", role: "alert", children: "Could not load Side Chat history." });
162
251
  }
163
252
  return (_jsxs("div", { className: "dsh-side-chat-conversation", children: [_jsxs("div", { ref: scrollRef, className: "dsh-side-chat-transcript", "aria-live": "polite", children: [nodes.map(node => selection !== undefined && node === annotatedUserNode
164
- ? (_jsxs("div", { className: "dsh-side-chat-annotated-user-message", children: [_jsx(SelectionQuote, { selections: [selection], messages: SIDE_CHAT_MESSAGES[locale] }), _jsx(MessageRow, { node: node })] }, `${node.kind}-${String(node.seq)}`))
165
- : _jsx(MessageRow, { node: node }, `${node.kind}-${String(node.seq)}`)), snapshot.partial !== null && (_jsxs("article", { className: "dsh-side-chat-message", "data-role": "assistant", children: [_jsx("span", { className: "dsh-side-chat-message-role", children: "Assistant" }), _jsx(AssistantBlocks, { blocks: snapshot.partial.blocks, streaming: true })] })), snapshot.runningCalls.map(call => (_jsxs("details", { className: "dsh-side-chat-message dsh-side-chat-tool", children: [_jsxs("summary", { children: ["Running tool \u00B7 ", call.name] }), _jsx("pre", { children: call.argsRaw })] }, call.callId))), _jsx(PendingCards, { pending: snapshot.pending, controller: controller }), _jsx(QueueRows, { queue: snapshot.queue, controller: controller }), snapshot.promptError !== null && _jsx("div", { className: "dsh-side-chat-turn-notice", role: "alert", children: snapshot.promptError.error.message })] }), _jsxs("form", { className: "dsh-side-chat-composer", onSubmit: (event) => { void submit(event); }, children: [_jsx("textarea", { ref: draftRef, rows: 1, value: draft, placeholder: snapshot.running ? 'Steer the current response' : 'Reply in Side Chat', onChange: (event) => { setDraft(event.target.value); }, onKeyDown: (event) => {
253
+ ? (_jsxs("div", { className: "dsh-side-chat-annotated-user-message", children: [_jsx(SelectionQuote, { selections: [selection], messages: SIDE_CHAT_MESSAGES[locale] }), _jsx(MessageRow, { node: node, projectedToolCallIds: projectedToolCallIds })] }, `${node.kind}-${String(node.seq)}`))
254
+ : _jsx(MessageRow, { node: node, projectedToolCallIds: projectedToolCallIds }, `${node.kind}-${String(node.seq)}`)), snapshot.partial !== null && (_jsxs("article", { className: "dsh-side-chat-message", "data-role": "assistant", children: [_jsx("span", { className: "dsh-side-chat-message-role", children: "Assistant" }), _jsx(AssistantBlocks, { blocks: snapshot.partial.blocks, streaming: true, projectedToolCallIds: projectedToolCallIds, unprojectedToolState: "running" })] })), runningCalls.map(call => (_jsx(RunningToolCard, { call: call }, call.callId))), _jsx(PendingCards, { pending: snapshot.pending, controller: controller }), _jsx(QueueRows, { queue: snapshot.queue, controller: controller }), snapshot.promptError !== null && _jsx("div", { className: "dsh-side-chat-turn-notice", role: "alert", children: snapshot.promptError.error.message })] }), _jsxs("form", { className: "dsh-side-chat-composer", onSubmit: (event) => { void submit(event); }, children: [_jsx("textarea", { ref: draftRef, rows: 1, value: draft, placeholder: snapshot.running ? 'Steer the current response' : 'Reply in Side Chat', onChange: (event) => { setDraft(event.target.value); }, onKeyDown: (event) => {
166
255
  if (event.key === 'Enter' && !event.shiftKey) {
167
256
  event.preventDefault();
168
257
  event.currentTarget.form?.requestSubmit();
@@ -1 +1 @@
1
- {"version":3,"file":"ArchivedConversation.js","sourceRoot":"","sources":["../../../src/client/rc6/ArchivedConversation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArchivedConversation.js","sourceRoot":"","sources":["../../../src/client/rc6/ArchivedConversation.tsx"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -8,7 +8,7 @@ window.__ModuleLoader__.load({
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
10
10
  //#region \0dsh-side-chat-css:L2hvbWUvcnVubmVyL3dvcmsvZHNoLXNpZGUtY2hhdC9kc2gtc2lkZS1jaGF0L3NyYy9jbGllbnQvcGFuZWwvc2lkZS1jaGF0LmNzcw
11
- var _dsh_side_chat_css_L2hvbWUvcnVubmVyL3dvcmsvZHNoLXNpZGUtY2hhdC9kc2gtc2lkZS1jaGF0L3NyYy9jbGllbnQvcGFuZWwvc2lkZS1jaGF0LmNzcw_default = ".dsh-side-chat-overlay {\n pointer-events: none;\n}\n\n.dsh-side-chat-overlay > * {\n pointer-events: auto;\n}\n\n.dsh-side-chat-panel {\n --side-chat-border: var(--dsw-border, #d8d8de);\n --side-chat-bg: var(--dsw-surface, #ffffff);\n --side-chat-muted: var(--dsw-text-muted, #62636a);\n position: fixed;\n z-index: 70;\n right: clamp(12px, 2vw, 20px);\n bottom: clamp(12px, 2vw, 20px);\n display: flex;\n width: min(840px, calc(100vw - 32px));\n height: clamp(460px, 62dvh, 980px);\n max-height: calc(100dvh - 32px);\n min-width: 0;\n min-height: 0;\n box-sizing: border-box;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--side-chat-border);\n border-radius: 28px;\n background: var(--side-chat-bg);\n color: var(--dsw-text, #19191d);\n box-shadow: 0 12px 36px rgb(0 0 0 / 11%), 0 2px 8px rgb(0 0 0 / 6%);\n}\n\n.dsh-side-chat-conversation {\n display: flex;\n height: 100%;\n min-height: 0;\n flex-direction: column;\n overflow: hidden;\n}\n\n.dsh-side-chat-transcript {\n display: flex;\n min-height: 0;\n flex: 1;\n flex-direction: column;\n gap: 12px;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 18px 20px 24px;\n scrollbar-color: color-mix(in srgb, var(--side-chat-muted) 34%, transparent) transparent;\n scrollbar-width: thin;\n}\n\n.dsh-side-chat-message {\n max-width: 92%;\n padding: 10px 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 12px;\n background: var(--dsw-surface-subtle, #f7f7f9);\n}\n\n.dsh-side-chat-message[data-role=\"user\"] {\n align-self: end;\n background: var(--dsw-accent-soft, #eef4ff);\n}\n\n.dsh-side-chat-message[data-role=\"assistant\"] {\n align-self: start;\n max-width: 100%;\n border-color: transparent;\n background: transparent;\n}\n.dsh-side-chat-message-role,\n.dsh-side-chat-message-note { display: block; margin-bottom: 5px; color: var(--side-chat-muted); font-size: 12px; }\n.dsh-side-chat-message-text { white-space: pre-wrap; overflow-wrap: anywhere; }\n.dsh-side-chat-message pre,\n.dsh-side-chat-turn-notice pre { overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }\n.dsh-side-chat-turn-notice,\n.dsh-side-chat-interaction,\n.dsh-side-chat-queue { padding: 10px; border: 1px solid var(--side-chat-border); border-radius: 10px; }\n.dsh-side-chat-interaction fieldset { margin: 8px 0; border: 1px solid var(--side-chat-border); border-radius: 8px; }\n.dsh-side-chat-question-option { display: flex; gap: 8px; margin: 8px 0; }\n.dsh-side-chat-interaction textarea { width: 100%; box-sizing: border-box; resize: vertical; }\n.dsh-side-chat-interaction-actions,\n.dsh-side-chat-composer > div,\n.dsh-side-chat-queue > div { display: flex; justify-content: end; gap: 8px; }\n.dsh-side-chat-interaction button,\n.dsh-side-chat-composer button,\n.dsh-side-chat-queue button { min-height: 32px; border: 1px solid var(--side-chat-border); border-radius: 7px; background: var(--dsw-control, #f7f7f9); color: inherit; cursor: pointer; }\n.dsh-side-chat-composer {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px;\n align-items: end;\n margin: 0 12px 12px;\n padding: 8px 8px 8px 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 24px;\n background: var(--side-chat-bg);\n box-shadow: 0 2px 8px rgb(0 0 0 / 5%);\n}\n.dsh-side-chat-composer textarea {\n width: 100%;\n height: auto;\n min-height: 24px;\n max-height: 160px;\n box-sizing: border-box;\n resize: none;\n overflow-y: hidden;\n padding: 6px;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.5;\n}\n.dsh-side-chat-composer button { align-self: end; }\n.dsh-side-chat-loading { display: grid; height: 100%; place-items: center; color: var(--side-chat-muted); }\n\n.dsh-side-chat-header {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px 12px;\n align-items: center;\n flex: 0 0 auto;\n min-height: 46px;\n box-sizing: border-box;\n padding: 5px 10px 5px 16px;\n border-bottom: 1px solid var(--side-chat-border);\n background: var(--side-chat-bg);\n}\n\n.dsh-side-chat-heading { display: flex; min-width: 0; flex-direction: column; }\n.dsh-side-chat-heading strong { font-size: 14px; font-weight: 600; }\n.dsh-side-chat-footer { color: var(--side-chat-muted); font-size: 12px; }\n.dsh-side-chat-header button,\n.dsh-side-chat-inline-actions button,\n.dsh-side-chat-draft button,\n.dsh-side-chat-error button,\n.dsh-side-chat-selection-actions button {\n min-height: 32px;\n border: 1px solid var(--side-chat-border);\n border-radius: 7px;\n background: var(--dsw-control, #f7f7f9);\n color: inherit;\n cursor: pointer;\n}\n.dsh-side-chat-header button:disabled { cursor: not-allowed; opacity: .55; }\n.dsh-side-chat-header .dsh-side-chat-heading {\n align-items: flex-start;\n min-height: 0;\n padding: 4px 0;\n border: 0;\n background: transparent;\n text-align: left;\n}\n.dsh-side-chat-header > button:last-child {\n width: 32px;\n min-height: 32px;\n padding: 0;\n border: 0;\n border-radius: 999px;\n background: transparent;\n font-size: 20px;\n line-height: 1;\n}\n.dsh-side-chat-header > button:last-child:hover { background: var(--dsw-surface-subtle, #f3f3f5); }\n\n.dsh-side-chat-quote { position: relative; max-width: 100%; align-self: flex-start; }\n.dsh-side-chat-quote-chip {\n display: inline-flex;\n min-height: 36px;\n align-items: center;\n overflow: hidden;\n padding: 0;\n border: 1px solid var(--side-chat-border);\n border-radius: 999px;\n background: var(--side-chat-bg);\n transition: background-color 120ms ease;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-chip,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-chip,\n.dsh-side-chat-quote[data-expanded] .dsh-side-chat-quote-chip { background: var(--dsw-surface-subtle, #f3f3f5); }\n.dsh-side-chat-quote-chip .dsh-side-chat-quote-trigger {\n display: inline-flex;\n min-height: 34px;\n align-items: center;\n gap: 8px;\n padding: 0 11px;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.dsh-side-chat-quote-trigger strong { font-size: 13px; font-weight: 500; line-height: 1; }\n.dsh-side-chat-quote-icon {\n width: 16px;\n height: 16px;\n flex: 0 0 auto;\n color: var(--side-chat-muted);\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 1.7;\n}\n.dsh-side-chat-quote-chip .dsh-side-chat-quote-remove {\n display: grid;\n width: 0;\n height: 34px;\n min-height: 34px;\n box-sizing: border-box;\n flex: 0 0 auto;\n place-items: center;\n overflow: hidden;\n padding: 0;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: var(--side-chat-muted);\n cursor: pointer;\n font: inherit;\n font-size: 18px;\n line-height: 1;\n opacity: 0;\n pointer-events: none;\n transition: width 120ms ease, margin-left 120ms ease, opacity 100ms ease, background-color 100ms ease;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-remove,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-remove {\n width: 30px;\n opacity: 1;\n pointer-events: auto;\n}\n.dsh-side-chat-quote-remove:hover { background: rgb(0 0 0 / 6%); color: inherit; }\n.dsh-side-chat-quote-details {\n position: absolute;\n z-index: 10;\n bottom: calc(100% + 8px);\n left: 0;\n width: min(520px, calc(100vw - 64px));\n max-width: calc(100vw - 48px);\n box-sizing: border-box;\n padding: 14px 16px;\n border: 1px solid var(--side-chat-border);\n border-radius: 16px;\n background: var(--side-chat-bg);\n box-shadow: 0 4px 14px rgb(0 0 0 / 8%);\n font-size: 14px;\n line-height: 1.45;\n opacity: 0;\n pointer-events: none;\n transform: translate(var(--dsh-side-chat-quote-offset-x, 0px), 4px);\n visibility: hidden;\n transition: opacity 100ms ease, transform 120ms ease, visibility 100ms ease;\n}\n.dsh-side-chat-quote-details::before {\n content: '';\n position: absolute;\n right: 0;\n bottom: -8px;\n left: 0;\n height: 8px;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-details,\n.dsh-side-chat-quote[data-hovered] .dsh-side-chat-quote-details,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-details,\n.dsh-side-chat-quote[data-expanded] .dsh-side-chat-quote-details {\n opacity: 1;\n pointer-events: auto;\n transform: translate(var(--dsh-side-chat-quote-offset-x, 0px), 0);\n visibility: visible;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-quote-details {\n top: calc(100% + 8px);\n right: 0;\n bottom: auto;\n left: auto;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-quote-details::before {\n top: -8px;\n bottom: auto;\n}\n.dsh-side-chat-quote-details-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n.dsh-side-chat-quote-details-header strong { color: var(--side-chat-muted); font-size: 13px; font-weight: 500; }\n.dsh-side-chat-quote-detail + .dsh-side-chat-quote-detail {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--side-chat-border);\n}\n.dsh-side-chat-quote pre {\n max-height: 180px;\n margin: 4px 0 0;\n overflow: auto;\n white-space: pre-wrap;\n font: inherit;\n}\n.dsh-side-chat-quote-comment {\n margin-top: 9px;\n}\n.dsh-side-chat-quote-comment > strong { color: var(--side-chat-muted); font-size: 13px; font-weight: 500; }\n.dsh-side-chat-quote-comment > pre { margin-top: 4px; }\n.dsh-side-chat-error { margin: 10px 16px 0; padding: 10px 12px; border: 1px solid var(--side-chat-border); border-radius: 14px; background: var(--dsw-surface-subtle, #f7f7f9); }\n.dsh-side-chat-error { border-color: var(--dsw-danger, #b42318); }\n.dsh-side-chat-body { min-height: 0; flex: 1; overflow: hidden; }\n.dsh-side-chat-annotated-user-message {\n display: flex;\n max-width: 92%;\n align-self: end;\n align-items: flex-start;\n flex-direction: column;\n gap: 8px;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-message { max-width: 100%; align-self: stretch; }\n\n/* The DSH occurrence remains the durable serialization carrier, while this\n plugin-owned capsule supplies the visible and interactive projection. */\n[data-composer-seat] [data-decoration=\"chip\"][title=\"__dsh_side_chat_annotations__\"] {\n visibility: hidden;\n}\n.dsh-side-chat-parent-annotation-dock,\n.dsh-side-chat-parent-user-message {\n --side-chat-border: var(--dsw-border, #d8d8de);\n --side-chat-bg: var(--dsw-surface, #ffffff);\n --side-chat-muted: var(--dsw-text-muted, #62636a);\n color: var(--dsw-text, #19191d);\n}\n.dsh-side-chat-parent-annotation-dock {\n position: relative;\n z-index: 20;\n width: calc(100% - 32px);\n max-width: var(--dsh-composer-card-max-width, 780px);\n height: 0;\n margin: 0 auto;\n pointer-events: none;\n}\n.dsh-side-chat-parent-annotation-dock > .dsh-side-chat-quote {\n position: absolute;\n top: 16px;\n left: 16px;\n pointer-events: auto;\n}\n.dsh-side-chat-parent-user-message {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: flex-end;\n gap: 8px;\n}\n.dsh-side-chat-parent-user-message > .dsh-side-chat-quote { align-self: flex-end; }\n.dsh-side-chat-parent-user-message > .dsh-side-chat-quote .dsh-side-chat-quote-details {\n right: 0;\n left: auto;\n}\n.dsh-side-chat-draft {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n min-height: 0;\n flex: 0 0 auto;\n gap: 8px;\n align-items: end;\n margin: auto 12px 12px;\n padding: 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 24px;\n background: var(--side-chat-bg);\n box-shadow: 0 2px 8px rgb(0 0 0 / 5%);\n}\n.dsh-side-chat-draft > .dsh-side-chat-quote { grid-column: 1 / -1; }\n.dsh-side-chat-draft label {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n}\n.dsh-side-chat-draft textarea {\n width: 100%;\n height: auto;\n min-height: 24px;\n max-height: 160px;\n box-sizing: border-box;\n resize: none;\n overflow-y: hidden;\n padding: 6px 2px;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.5;\n}\n.dsh-side-chat-draft > button { align-self: end; }\n.dsh-side-chat-panel .dsh-side-chat-send-button,\n.dsh-side-chat-panel .dsh-side-chat-stop-button {\n display: grid;\n width: 34px;\n height: 34px;\n min-height: 34px;\n flex: none;\n place-items: center;\n padding: 1px 6px;\n border: 0;\n border-radius: 999px;\n background: var(--dsw-alias-button-info-fill, #4176e6);\n color: #fff;\n cursor: pointer;\n line-height: 1;\n transform: translateY(-2px);\n transition: background-color 100ms ease;\n}\n.dsh-side-chat-panel .dsh-side-chat-send-button:hover:not(:disabled),\n.dsh-side-chat-panel .dsh-side-chat-stop-button:hover:not(:disabled) {\n background: var(--dsw-alias-button-info-hover, #3467d6);\n}\n.dsh-side-chat-panel .dsh-side-chat-send-button:disabled,\n.dsh-side-chat-panel .dsh-side-chat-stop-button:disabled { cursor: default; opacity: .4; }\n.dsh-side-chat-footer { display: none; }\n.dsh-side-chat-announcer { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }\n\n.dsh-side-chat-selection-actions {\n position: fixed;\n z-index: 90;\n display: flex;\n max-width: calc(100vw - 16px);\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 999px;\n background: var(--dsw-surface, #fff);\n box-shadow: 0 4px 14px rgb(0 0 0 / 12%);\n overflow: hidden;\n}\n.dsh-side-chat-selection-actions button {\n min-height: 36px;\n padding: 0 14px;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: inherit;\n transition: background-color 120ms ease;\n}\n.dsh-side-chat-selection-actions button:hover:not(:disabled),\n.dsh-side-chat-selection-actions button:focus-visible {\n background: var(--dsw-surface-subtle, #f3f3f5);\n}\n.dsh-side-chat-selection-actions button + button {\n border-left: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 0;\n}\n\n.dsh-side-chat-selection-marker {\n position: fixed;\n z-index: 91;\n display: grid;\n width: 28px;\n height: 28px;\n place-items: center;\n border: 2px solid var(--dsw-surface, #fff);\n border-radius: 999px;\n background: var(--dsw-alias-button-info, #1473e6);\n box-shadow: 0 2px 6px rgb(0 0 0 / 12%);\n color: #fff;\n font-size: 13px;\n font-weight: 600;\n line-height: 1;\n pointer-events: none;\n}\n\n.dsh-side-chat-selection-comment {\n position: fixed;\n z-index: 92;\n display: grid;\n max-width: calc(100vw - 16px);\n box-sizing: border-box;\n gap: 10px;\n padding: 12px;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 20px;\n background: var(--dsw-surface, #fff);\n box-shadow: 0 5px 18px rgb(0 0 0 / 9%);\n color: var(--dsw-text, #19191d);\n}\n.dsh-side-chat-selection-comment textarea {\n width: 100%;\n min-height: 48px;\n max-height: 128px;\n box-sizing: border-box;\n resize: none;\n padding: 6px 8px;\n overflow-y: auto;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.45;\n}\n.dsh-side-chat-selection-comment-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n.dsh-side-chat-selection-comment-actions button {\n min-height: 32px;\n padding: 0 14px;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 999px;\n background: var(--dsw-surface, #fff);\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.dsh-side-chat-selection-comment-actions button:hover { background: var(--dsw-surface-subtle, #f3f3f5); }\n.dsh-side-chat-selection-comment-actions .dsh-side-chat-selection-comment-save {\n border-color: transparent;\n background: var(--dsw-alias-button-info, #1473e6);\n color: #fff;\n}\n.dsh-side-chat-selection-comment-actions .dsh-side-chat-selection-comment-save:hover {\n background: var(--dsw-alias-button-info-hover, #3467d6);\n}\n\n@media (max-width: 900px) {\n .dsh-side-chat-panel {\n right: 12px;\n bottom: 12px;\n width: calc(100vw - 24px);\n max-height: calc(100dvh - 24px);\n border-radius: 24px;\n }\n}\n\n@media (max-width: 720px) {\n .dsh-side-chat-panel {\n right: 8px;\n bottom: 8px;\n width: calc(100vw - 16px);\n height: min(78dvh, 760px);\n max-height: calc(100dvh - 16px);\n border-radius: 22px;\n }\n .dsh-side-chat-transcript { padding: 14px 14px 20px; }\n .dsh-side-chat-header { padding-left: 14px; }\n .dsh-side-chat-error { margin-inline: 12px; }\n}\n\n@media (max-height: 620px) {\n .dsh-side-chat-panel {\n bottom: 8px;\n height: calc(100dvh - 16px);\n max-height: calc(100dvh - 16px);\n }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .dsh-side-chat-panel { animation: dsh-side-chat-enter 160ms ease-out; }\n @keyframes dsh-side-chat-enter { from { transform: translateY(18px) scale(.985); opacity: .7; } }\n}\n\n@media (forced-colors: active) {\n.dsh-side-chat-panel,\n.dsh-side-chat-selection-actions,\n.dsh-side-chat-selection-comment { border: 1px solid CanvasText; }\n}\n";
11
+ var _dsh_side_chat_css_L2hvbWUvcnVubmVyL3dvcmsvZHNoLXNpZGUtY2hhdC9kc2gtc2lkZS1jaGF0L3NyYy9jbGllbnQvcGFuZWwvc2lkZS1jaGF0LmNzcw_default = ".dsh-side-chat-overlay {\n pointer-events: none;\n}\n\n.dsh-side-chat-overlay > * {\n pointer-events: auto;\n}\n\n.dsh-side-chat-panel {\n --side-chat-border: var(--dsw-border, #d8d8de);\n --side-chat-bg: var(--dsw-surface, #ffffff);\n --side-chat-muted: var(--dsw-text-muted, #62636a);\n position: fixed;\n z-index: 70;\n right: clamp(12px, 2vw, 20px);\n bottom: clamp(12px, 2vw, 20px);\n display: flex;\n width: min(840px, calc(100vw - 32px));\n height: clamp(460px, 62dvh, 980px);\n max-height: calc(100dvh - 32px);\n min-width: 0;\n min-height: 0;\n box-sizing: border-box;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--side-chat-border);\n border-radius: 28px;\n background: var(--side-chat-bg);\n color: var(--dsw-text, #19191d);\n box-shadow: 0 12px 36px rgb(0 0 0 / 11%), 0 2px 8px rgb(0 0 0 / 6%);\n}\n\n.dsh-side-chat-conversation {\n display: flex;\n height: 100%;\n min-height: 0;\n flex-direction: column;\n overflow: hidden;\n}\n\n.dsh-side-chat-transcript {\n display: flex;\n min-height: 0;\n flex: 1;\n flex-direction: column;\n gap: 12px;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 18px 20px 24px;\n scrollbar-color: color-mix(in srgb, var(--side-chat-muted) 34%, transparent) transparent;\n scrollbar-width: thin;\n}\n\n.dsh-side-chat-message {\n max-width: 92%;\n padding: 10px 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 12px;\n background: var(--dsw-surface-subtle, #f7f7f9);\n}\n\n.dsh-side-chat-message[data-role=\"user\"] {\n align-self: end;\n background: var(--dsw-accent-soft, #eef4ff);\n}\n\n.dsh-side-chat-message[data-role=\"assistant\"] {\n align-self: start;\n min-width: 0;\n max-width: 100%;\n border-color: transparent;\n background: transparent;\n overflow-wrap: anywhere;\n}\n.dsh-side-chat-message-role,\n.dsh-side-chat-message-note { display: block; margin-bottom: 5px; color: var(--side-chat-muted); font-size: 12px; }\n.dsh-side-chat-message-text { white-space: pre-wrap; overflow-wrap: anywhere; }\n.dsh-side-chat-message pre,\n.dsh-side-chat-turn-notice pre { overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }\n.dsh-side-chat-message[data-role=\"assistant\"] :where(table) {\n display: block;\n max-width: 100%;\n overflow-x: auto;\n}\n.dsh-side-chat-tool {\n min-width: 0;\n max-width: 100%;\n flex: 0 0 auto;\n border: 1px solid var(--side-chat-border);\n border-radius: 10px;\n background: var(--dsw-surface-subtle, #f7f7f9);\n overflow: hidden;\n}\n.dsh-side-chat-tool > .dsh-side-chat-tool-toggle {\n display: grid;\n width: 100%;\n min-height: 38px;\n box-sizing: border-box;\n grid-template-columns: 18px auto minmax(0, 1fr) auto;\n gap: 8px;\n align-items: center;\n padding: 7px 10px;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.dsh-side-chat-tool > .dsh-side-chat-tool-toggle:hover { background: rgb(0 0 0 / 4%); }\n.dsh-side-chat-tool > .dsh-side-chat-tool-toggle:focus-visible {\n outline: 2px solid color-mix(in srgb, var(--dsw-alias-button-info, #1473e6) 48%, transparent);\n outline-offset: -2px;\n}\n.dsh-side-chat-tool-status {\n display: grid;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n place-items: center;\n border: 1.5px solid color-mix(in srgb, var(--side-chat-muted) 58%, transparent);\n border-radius: 999px;\n color: var(--side-chat-muted);\n font-size: 11px;\n line-height: 1;\n}\n.dsh-side-chat-tool[data-state=\"success\"] .dsh-side-chat-tool-status::after { content: '✓'; }\n.dsh-side-chat-tool[data-state=\"pending\"] .dsh-side-chat-tool-status::after { content: '·'; }\n.dsh-side-chat-tool[data-state=\"error\"] .dsh-side-chat-tool-status::after { content: '!'; }\n.dsh-side-chat-tool[data-state=\"interrupted\"] .dsh-side-chat-tool-status::after { content: '×'; }\n.dsh-side-chat-tool[data-state=\"running\"] .dsh-side-chat-tool-status {\n border-color: color-mix(in srgb, var(--dsw-alias-button-info, #1473e6) 25%, transparent);\n border-top-color: var(--dsw-alias-button-info, #1473e6);\n animation: dsh-side-chat-tool-spin 800ms linear infinite;\n}\n.dsh-side-chat-tool-name { font-size: 13px; font-weight: 500; white-space: nowrap; }\n.dsh-side-chat-tool-summary {\n min-width: 0;\n overflow: hidden;\n color: var(--side-chat-muted);\n font-size: 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dsh-side-chat-tool-state { color: var(--side-chat-muted); font-size: 12px; }\n.dsh-side-chat-tool[data-state=\"error\"] .dsh-side-chat-tool-state { color: var(--dsw-danger, #b42318); }\n.dsh-side-chat-tool-body {\n display: grid;\n gap: 0;\n border-top: 1px solid var(--side-chat-border);\n background: var(--side-chat-bg);\n}\n.dsh-side-chat-tool-body section { min-width: 0; padding: 10px 12px; }\n.dsh-side-chat-tool-body section + section { border-top: 1px solid var(--side-chat-border); }\n.dsh-side-chat-tool-body strong { color: var(--side-chat-muted); font-size: 12px; font-weight: 500; }\n.dsh-side-chat-tool-body pre {\n max-height: 260px;\n margin: 6px 0 0;\n overflow: auto;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;\n}\n@keyframes dsh-side-chat-tool-spin { to { transform: rotate(360deg); } }\n.dsh-side-chat-turn-notice,\n.dsh-side-chat-interaction,\n.dsh-side-chat-queue { padding: 10px; border: 1px solid var(--side-chat-border); border-radius: 10px; }\n.dsh-side-chat-interaction fieldset { margin: 8px 0; border: 1px solid var(--side-chat-border); border-radius: 8px; }\n.dsh-side-chat-question-option { display: flex; gap: 8px; margin: 8px 0; }\n.dsh-side-chat-interaction textarea { width: 100%; box-sizing: border-box; resize: vertical; }\n.dsh-side-chat-interaction-actions,\n.dsh-side-chat-composer > div,\n.dsh-side-chat-queue > div { display: flex; justify-content: end; gap: 8px; }\n.dsh-side-chat-interaction button,\n.dsh-side-chat-composer button,\n.dsh-side-chat-queue button { min-height: 32px; border: 1px solid var(--side-chat-border); border-radius: 7px; background: var(--dsw-control, #f7f7f9); color: inherit; cursor: pointer; }\n.dsh-side-chat-composer {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px;\n align-items: end;\n margin: 0 12px 12px;\n padding: 8px 8px 8px 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 24px;\n background: var(--side-chat-bg);\n box-shadow: 0 2px 8px rgb(0 0 0 / 5%);\n}\n.dsh-side-chat-composer textarea {\n width: 100%;\n height: auto;\n min-height: 24px;\n max-height: 160px;\n box-sizing: border-box;\n resize: none;\n overflow-y: hidden;\n padding: 6px;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.5;\n}\n.dsh-side-chat-composer button { align-self: end; }\n.dsh-side-chat-loading { display: grid; height: 100%; place-items: center; color: var(--side-chat-muted); }\n\n.dsh-side-chat-header {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 8px 12px;\n align-items: center;\n flex: 0 0 auto;\n min-height: 46px;\n box-sizing: border-box;\n padding: 5px 10px 5px 16px;\n border-bottom: 1px solid var(--side-chat-border);\n background: var(--side-chat-bg);\n}\n\n.dsh-side-chat-heading { display: flex; min-width: 0; flex-direction: column; }\n.dsh-side-chat-heading strong { font-size: 14px; font-weight: 600; }\n.dsh-side-chat-footer { color: var(--side-chat-muted); font-size: 12px; }\n.dsh-side-chat-header button,\n.dsh-side-chat-inline-actions button,\n.dsh-side-chat-draft button,\n.dsh-side-chat-error button,\n.dsh-side-chat-selection-actions button {\n min-height: 32px;\n border: 1px solid var(--side-chat-border);\n border-radius: 7px;\n background: var(--dsw-control, #f7f7f9);\n color: inherit;\n cursor: pointer;\n}\n.dsh-side-chat-header button:disabled { cursor: not-allowed; opacity: .55; }\n.dsh-side-chat-header .dsh-side-chat-heading {\n align-items: flex-start;\n min-height: 0;\n padding: 4px 0;\n border: 0;\n background: transparent;\n text-align: left;\n}\n.dsh-side-chat-header > button:last-child {\n width: 32px;\n min-height: 32px;\n padding: 0;\n border: 0;\n border-radius: 999px;\n background: transparent;\n font-size: 20px;\n line-height: 1;\n}\n.dsh-side-chat-header > button:last-child:hover { background: var(--dsw-surface-subtle, #f3f3f5); }\n\n.dsh-side-chat-quote { position: relative; max-width: 100%; align-self: flex-start; }\n.dsh-side-chat-quote-chip {\n display: inline-flex;\n min-height: 36px;\n align-items: center;\n overflow: hidden;\n padding: 0;\n border: 1px solid var(--side-chat-border);\n border-radius: 999px;\n background: var(--side-chat-bg);\n transition: background-color 120ms ease;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-chip,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-chip,\n.dsh-side-chat-quote[data-expanded] .dsh-side-chat-quote-chip { background: var(--dsw-surface-subtle, #f3f3f5); }\n.dsh-side-chat-quote-chip .dsh-side-chat-quote-trigger {\n display: inline-flex;\n min-height: 34px;\n align-items: center;\n gap: 8px;\n padding: 0 11px;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.dsh-side-chat-quote-trigger strong { font-size: 13px; font-weight: 500; line-height: 1; }\n.dsh-side-chat-quote-icon {\n width: 16px;\n height: 16px;\n flex: 0 0 auto;\n color: var(--side-chat-muted);\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 1.7;\n}\n.dsh-side-chat-quote-chip .dsh-side-chat-quote-remove {\n display: grid;\n width: 0;\n height: 34px;\n min-height: 34px;\n box-sizing: border-box;\n flex: 0 0 auto;\n place-items: center;\n overflow: hidden;\n padding: 0;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: var(--side-chat-muted);\n cursor: pointer;\n font: inherit;\n font-size: 18px;\n line-height: 1;\n opacity: 0;\n pointer-events: none;\n transition: width 120ms ease, margin-left 120ms ease, opacity 100ms ease, background-color 100ms ease;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-remove,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-remove {\n width: 30px;\n opacity: 1;\n pointer-events: auto;\n}\n.dsh-side-chat-quote-remove:hover { background: rgb(0 0 0 / 6%); color: inherit; }\n.dsh-side-chat-quote-details {\n position: absolute;\n z-index: 10;\n bottom: calc(100% + 8px);\n left: 0;\n width: min(520px, calc(100vw - 64px));\n max-width: calc(100vw - 48px);\n box-sizing: border-box;\n padding: 14px 16px;\n border: 1px solid var(--side-chat-border);\n border-radius: 16px;\n background: var(--side-chat-bg);\n box-shadow: 0 4px 14px rgb(0 0 0 / 8%);\n font-size: 14px;\n line-height: 1.45;\n opacity: 0;\n pointer-events: none;\n transform: translate(var(--dsh-side-chat-quote-offset-x, 0px), 4px);\n visibility: hidden;\n transition: opacity 100ms ease, transform 120ms ease, visibility 100ms ease;\n}\n.dsh-side-chat-quote-details::before {\n content: '';\n position: absolute;\n right: 0;\n bottom: -8px;\n left: 0;\n height: 8px;\n}\n.dsh-side-chat-quote:hover .dsh-side-chat-quote-details,\n.dsh-side-chat-quote[data-hovered] .dsh-side-chat-quote-details,\n.dsh-side-chat-quote:focus-within .dsh-side-chat-quote-details,\n.dsh-side-chat-quote[data-expanded] .dsh-side-chat-quote-details {\n opacity: 1;\n pointer-events: auto;\n transform: translate(var(--dsh-side-chat-quote-offset-x, 0px), 0);\n visibility: visible;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-quote-details {\n top: calc(100% + 8px);\n right: 0;\n bottom: auto;\n left: auto;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-quote-details::before {\n top: -8px;\n bottom: auto;\n}\n.dsh-side-chat-quote-details-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n.dsh-side-chat-quote-details-header strong { color: var(--side-chat-muted); font-size: 13px; font-weight: 500; }\n.dsh-side-chat-quote-detail + .dsh-side-chat-quote-detail {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--side-chat-border);\n}\n.dsh-side-chat-quote pre {\n max-height: 180px;\n margin: 4px 0 0;\n overflow: auto;\n white-space: pre-wrap;\n font: inherit;\n}\n.dsh-side-chat-quote-comment {\n margin-top: 9px;\n}\n.dsh-side-chat-quote-comment > strong { color: var(--side-chat-muted); font-size: 13px; font-weight: 500; }\n.dsh-side-chat-quote-comment > pre { margin-top: 4px; }\n.dsh-side-chat-error { margin: 10px 16px 0; padding: 10px 12px; border: 1px solid var(--side-chat-border); border-radius: 14px; background: var(--dsw-surface-subtle, #f7f7f9); }\n.dsh-side-chat-error { border-color: var(--dsw-danger, #b42318); }\n.dsh-side-chat-body { min-height: 0; flex: 1; overflow: hidden; }\n.dsh-side-chat-annotated-user-message {\n display: flex;\n max-width: 92%;\n align-self: end;\n align-items: flex-start;\n flex-direction: column;\n gap: 8px;\n}\n.dsh-side-chat-annotated-user-message .dsh-side-chat-message { max-width: 100%; align-self: stretch; }\n\n/* The DSH occurrence remains the durable serialization carrier, while this\n plugin-owned capsule supplies the visible and interactive projection. */\n[data-composer-seat] [data-decoration=\"chip\"][title=\"__dsh_side_chat_annotations__\"] {\n visibility: hidden;\n}\n.dsh-side-chat-parent-annotation-dock,\n.dsh-side-chat-parent-user-message {\n --side-chat-border: var(--dsw-border, #d8d8de);\n --side-chat-bg: var(--dsw-surface, #ffffff);\n --side-chat-muted: var(--dsw-text-muted, #62636a);\n color: var(--dsw-text, #19191d);\n}\n.dsh-side-chat-parent-annotation-dock {\n position: relative;\n z-index: 20;\n width: calc(100% - 32px);\n max-width: var(--dsh-composer-card-max-width, 780px);\n height: 0;\n margin: 0 auto;\n pointer-events: none;\n}\n.dsh-side-chat-parent-annotation-dock > .dsh-side-chat-quote {\n position: absolute;\n top: 16px;\n left: 16px;\n pointer-events: auto;\n}\n.dsh-side-chat-parent-user-message {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: flex-end;\n gap: 8px;\n}\n.dsh-side-chat-parent-user-message > .dsh-side-chat-quote { align-self: flex-end; }\n.dsh-side-chat-parent-user-message > .dsh-side-chat-quote .dsh-side-chat-quote-details {\n right: 0;\n left: auto;\n}\n.dsh-side-chat-draft {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n min-height: 0;\n flex: 0 0 auto;\n gap: 8px;\n align-items: end;\n margin: auto 12px 12px;\n padding: 12px;\n border: 1px solid var(--side-chat-border);\n border-radius: 24px;\n background: var(--side-chat-bg);\n box-shadow: 0 2px 8px rgb(0 0 0 / 5%);\n}\n.dsh-side-chat-draft > .dsh-side-chat-quote { grid-column: 1 / -1; }\n.dsh-side-chat-draft label {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n}\n.dsh-side-chat-draft textarea {\n width: 100%;\n height: auto;\n min-height: 24px;\n max-height: 160px;\n box-sizing: border-box;\n resize: none;\n overflow-y: hidden;\n padding: 6px 2px;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.5;\n}\n.dsh-side-chat-draft > button { align-self: end; }\n.dsh-side-chat-panel .dsh-side-chat-send-button,\n.dsh-side-chat-panel .dsh-side-chat-stop-button {\n display: grid;\n width: 34px;\n height: 34px;\n min-height: 34px;\n flex: none;\n place-items: center;\n padding: 1px 6px;\n border: 0;\n border-radius: 999px;\n background: var(--dsw-alias-button-info-fill, #4176e6);\n color: #fff;\n cursor: pointer;\n line-height: 1;\n transform: translateY(-2px);\n transition: background-color 100ms ease;\n}\n.dsh-side-chat-panel .dsh-side-chat-send-button:hover:not(:disabled),\n.dsh-side-chat-panel .dsh-side-chat-stop-button:hover:not(:disabled) {\n background: var(--dsw-alias-button-info-hover, #3467d6);\n}\n.dsh-side-chat-panel .dsh-side-chat-send-button:disabled,\n.dsh-side-chat-panel .dsh-side-chat-stop-button:disabled { cursor: default; opacity: .4; }\n.dsh-side-chat-footer { display: none; }\n.dsh-side-chat-announcer { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }\n\n.dsh-side-chat-selection-actions {\n position: fixed;\n z-index: 90;\n display: flex;\n max-width: calc(100vw - 16px);\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 999px;\n background: var(--dsw-surface, #fff);\n box-shadow: 0 4px 14px rgb(0 0 0 / 12%);\n overflow: hidden;\n}\n.dsh-side-chat-selection-actions button {\n min-height: 36px;\n padding: 0 14px;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: inherit;\n transition: background-color 120ms ease;\n}\n.dsh-side-chat-selection-actions button:hover:not(:disabled),\n.dsh-side-chat-selection-actions button:focus-visible {\n background: var(--dsw-surface-subtle, #f3f3f5);\n}\n.dsh-side-chat-selection-actions button + button {\n border-left: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 0;\n}\n\n.dsh-side-chat-selection-marker {\n position: fixed;\n z-index: 91;\n display: grid;\n width: 28px;\n height: 28px;\n place-items: center;\n border: 2px solid var(--dsw-surface, #fff);\n border-radius: 999px;\n background: var(--dsw-alias-button-info, #1473e6);\n box-shadow: 0 2px 6px rgb(0 0 0 / 12%);\n color: #fff;\n font-size: 13px;\n font-weight: 600;\n line-height: 1;\n pointer-events: none;\n}\n\n.dsh-side-chat-selection-comment {\n position: fixed;\n z-index: 92;\n display: grid;\n max-width: calc(100vw - 16px);\n box-sizing: border-box;\n gap: 10px;\n padding: 12px;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 20px;\n background: var(--dsw-surface, #fff);\n box-shadow: 0 5px 18px rgb(0 0 0 / 9%);\n color: var(--dsw-text, #19191d);\n}\n.dsh-side-chat-selection-comment textarea {\n width: 100%;\n min-height: 48px;\n max-height: 128px;\n box-sizing: border-box;\n resize: none;\n padding: 6px 8px;\n overflow-y: auto;\n border: 0;\n outline: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1.45;\n}\n.dsh-side-chat-selection-comment-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n.dsh-side-chat-selection-comment-actions button {\n min-height: 32px;\n padding: 0 14px;\n border: 1px solid var(--dsw-border, #d8d8de);\n border-radius: 999px;\n background: var(--dsw-surface, #fff);\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.dsh-side-chat-selection-comment-actions button:hover { background: var(--dsw-surface-subtle, #f3f3f5); }\n.dsh-side-chat-selection-comment-actions .dsh-side-chat-selection-comment-save {\n border-color: transparent;\n background: var(--dsw-alias-button-info, #1473e6);\n color: #fff;\n}\n.dsh-side-chat-selection-comment-actions .dsh-side-chat-selection-comment-save:hover {\n background: var(--dsw-alias-button-info-hover, #3467d6);\n}\n\n@media (max-width: 900px) {\n .dsh-side-chat-panel {\n right: 12px;\n bottom: 12px;\n width: calc(100vw - 24px);\n max-height: calc(100dvh - 24px);\n border-radius: 24px;\n }\n}\n\n@media (max-width: 720px) {\n .dsh-side-chat-panel {\n right: 8px;\n bottom: 8px;\n width: calc(100vw - 16px);\n height: min(78dvh, 760px);\n max-height: calc(100dvh - 16px);\n border-radius: 22px;\n }\n .dsh-side-chat-transcript { padding: 14px 14px 20px; }\n .dsh-side-chat-header { padding-left: 14px; }\n .dsh-side-chat-error { margin-inline: 12px; }\n}\n\n@media (max-height: 620px) {\n .dsh-side-chat-panel {\n bottom: 8px;\n height: calc(100dvh - 16px);\n max-height: calc(100dvh - 16px);\n }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .dsh-side-chat-panel { animation: dsh-side-chat-enter 160ms ease-out; }\n @keyframes dsh-side-chat-enter { from { transform: translateY(18px) scale(.985); opacity: .7; } }\n}\n\n@media (forced-colors: active) {\n.dsh-side-chat-panel,\n.dsh-side-chat-selection-actions,\n.dsh-side-chat-selection-comment { border: 1px solid CanvasText; }\n}\n";
12
12
  //#endregion
13
13
  //#region src/client/parent-composer/add-to-conversation.ts
14
14
  const SELECTION_REFERENCE_SOURCE = "dsh-side-chat-selection";
@@ -5623,10 +5623,118 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5623
5623
  return stringify(block);
5624
5624
  }).filter(Boolean).join("\n");
5625
5625
  }
5626
+ function toolOutputText(content) {
5627
+ const text = contentText(content);
5628
+ return /^<path>[\s\S]*?<\/path>\s*<type>[\s\S]*?<\/type>\s*<content>\s*\n?([\s\S]*?)\n?<\/content>\s*$/u.exec(text)?.[1]?.trimEnd() ?? text;
5629
+ }
5626
5630
  function firstSideChatQuestion(text) {
5627
5631
  return /<user_question>([\s\S]*?)<\/user_question>/u.exec(text)?.[1]?.trim() ?? text;
5628
5632
  }
5629
- function AssistantBlocks({ blocks, streaming = false }) {
5633
+ function parsedToolArguments(argsRaw) {
5634
+ try {
5635
+ const parsed = JSON.parse(argsRaw);
5636
+ return typeof parsed === "object" && parsed !== null && !Array.isArray(parsed) ? parsed : null;
5637
+ } catch {
5638
+ return null;
5639
+ }
5640
+ }
5641
+ function displayToolName(name) {
5642
+ if (name.toLowerCase() === "pwsh") return "Pwsh";
5643
+ return name.split(/[-_\s]+/u).filter(Boolean).map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`).join(" ");
5644
+ }
5645
+ function toolSummary(name, argsRaw) {
5646
+ const args = parsedToolArguments(argsRaw);
5647
+ if (args === null) return null;
5648
+ const normalizedName = name.toLowerCase();
5649
+ const candidates = normalizedName === "pwsh" ? ["description", "command"] : normalizedName === "grep" ? ["pattern", "path"] : [
5650
+ "file_path",
5651
+ "path",
5652
+ "pattern",
5653
+ "query",
5654
+ "url",
5655
+ "command",
5656
+ "description"
5657
+ ];
5658
+ for (const key of candidates) {
5659
+ const value = args[key];
5660
+ if (typeof value !== "string" || value.trim().length === 0) continue;
5661
+ if (key === "file_path") return value.split(/[\\/]/u).at(-1) ?? value;
5662
+ return value;
5663
+ }
5664
+ return null;
5665
+ }
5666
+ function formattedToolArguments(argsRaw) {
5667
+ try {
5668
+ return JSON.stringify(JSON.parse(argsRaw), null, 2);
5669
+ } catch {
5670
+ return argsRaw;
5671
+ }
5672
+ }
5673
+ function ToolCard({ callId, name, argsRaw, state, output }) {
5674
+ const [expanded, setExpanded] = (0, react.useState)(state === "error");
5675
+ (0, react.useEffect)(() => {
5676
+ if (state === "error") setExpanded(true);
5677
+ }, [state]);
5678
+ const summary = toolSummary(name, argsRaw);
5679
+ const label = state === "running" ? `Running tool · ${displayToolName(name)}` : state === "error" ? `Tool failed · ${displayToolName(name)}` : state === "interrupted" ? `Tool stopped · ${displayToolName(name)}` : `Tool · ${displayToolName(name)}`;
5680
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
5681
+ className: "dsh-side-chat-tool",
5682
+ "data-call-id": callId,
5683
+ "data-state": state,
5684
+ "data-expanded": expanded || void 0,
5685
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
5686
+ type: "button",
5687
+ className: "dsh-side-chat-tool-toggle",
5688
+ "aria-label": label,
5689
+ "aria-expanded": expanded,
5690
+ onClick: () => {
5691
+ setExpanded((current) => !current);
5692
+ },
5693
+ children: [
5694
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5695
+ className: "dsh-side-chat-tool-status",
5696
+ "aria-hidden": "true"
5697
+ }),
5698
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5699
+ className: "dsh-side-chat-tool-name",
5700
+ children: displayToolName(name)
5701
+ }),
5702
+ summary !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5703
+ className: "dsh-side-chat-tool-summary",
5704
+ children: summary
5705
+ }),
5706
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5707
+ className: "dsh-side-chat-tool-state",
5708
+ children: state === "running" ? "Running" : state === "error" ? "Failed" : state === "interrupted" ? "Stopped" : ""
5709
+ })
5710
+ ]
5711
+ }), expanded && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
5712
+ className: "dsh-side-chat-tool-body",
5713
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: "Input" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: formattedToolArguments(argsRaw) })] }), output !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: "Output" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: output })] })]
5714
+ })]
5715
+ });
5716
+ }
5717
+ function ToolResultCard({ node }) {
5718
+ const output = toolOutputText(node.content);
5719
+ const errorIdentity = `${node.error?.name ?? ""} ${node.error?.code ?? ""} ${output}`;
5720
+ const state = node.isError ? /\b(?:aborted|cancelled|canceled)\b/iu.test(errorIdentity) ? "interrupted" : "error" : "success";
5721
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolCard, {
5722
+ callId: node.callId,
5723
+ name: node.call?.name ?? node.callId,
5724
+ argsRaw: node.call?.argsRaw ?? "{}",
5725
+ state,
5726
+ output
5727
+ });
5728
+ }
5729
+ function RunningToolCard({ call }) {
5730
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolCard, {
5731
+ callId: call.callId,
5732
+ name: call.name,
5733
+ argsRaw: call.argsRaw,
5734
+ state: "running"
5735
+ });
5736
+ }
5737
+ function AssistantBlocks({ blocks, streaming = false, projectedToolCallIds, unprojectedToolState = "pending" }) {
5630
5738
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: blocks.map((block, index) => {
5631
5739
  const key = `${block.kind}-${String(index)}`;
5632
5740
  if (block.kind === "text") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
@@ -5638,14 +5746,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5638
5746
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", { children: "Reasoning" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: block.text })]
5639
5747
  }, key);
5640
5748
  if (block.kind === "image") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: "[Image attachment]" }, key);
5641
- if (block.kind === "tool-call") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
5642
- className: "dsh-side-chat-tool",
5643
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("summary", { children: ["Tool · ", block.name] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: block.argsRaw })]
5644
- }, key);
5749
+ if (block.kind === "tool-call") {
5750
+ if (projectedToolCallIds.has(block.callId)) return null;
5751
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolCard, {
5752
+ callId: block.callId,
5753
+ name: block.name,
5754
+ argsRaw: block.argsRaw,
5755
+ state: unprojectedToolState
5756
+ }, key);
5757
+ }
5645
5758
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: stringify(block.block) }, key);
5646
5759
  }) });
5647
5760
  }
5648
- function MessageRow({ node }) {
5761
+ function MessageRow({ node, projectedToolCallIds }) {
5649
5762
  if (node.kind === "user" || node.kind === "steering") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("article", {
5650
5763
  className: "dsh-side-chat-message",
5651
5764
  "data-role": "user",
@@ -5665,7 +5778,11 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5665
5778
  className: "dsh-side-chat-message-role",
5666
5779
  children: "Assistant"
5667
5780
  }),
5668
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AssistantBlocks, { blocks: node.blocks }),
5781
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AssistantBlocks, {
5782
+ blocks: node.blocks,
5783
+ projectedToolCallIds,
5784
+ unprojectedToolState: node.interrupted === true ? "interrupted" : "pending"
5785
+ }),
5669
5786
  node.interrupted === true && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
5670
5787
  className: "dsh-side-chat-message-note",
5671
5788
  children: "Stopped"
@@ -5676,15 +5793,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5676
5793
  className: "dsh-side-chat-message dsh-side-chat-context-message",
5677
5794
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("summary", { children: ["Context · ", node.provenance.label ?? node.provenance.role] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: contentText(node.content) })]
5678
5795
  });
5679
- if (node.kind === "tool-result") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
5680
- className: "dsh-side-chat-message dsh-side-chat-tool",
5681
- open: node.isError || void 0,
5682
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("summary", { children: [
5683
- node.isError ? "Tool failed" : "Tool result",
5684
- " · ",
5685
- node.call?.name ?? node.callId
5686
- ] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: contentText(node.content) })]
5687
- });
5796
+ if (node.kind === "tool-result") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolResultCard, { node });
5688
5797
  if (node.kind === "turn-error") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
5689
5798
  className: "dsh-side-chat-turn-notice",
5690
5799
  role: "alert",
@@ -5861,6 +5970,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5861
5970
  const draftRef = useAutoGrowingTextarea(draft);
5862
5971
  const scrollRef = (0, react.useRef)(null);
5863
5972
  const nodes = (0, react.useMemo)(() => snapshot.nodes.filter((node) => node.seq > inheritedThroughSeq), [snapshot.nodes, inheritedThroughSeq]);
5973
+ const runningCalls = snapshot.runningCalls ?? [];
5974
+ const projectedToolCallIds = (0, react.useMemo)(() => /* @__PURE__ */ new Set([...nodes.filter((node) => node.kind === "tool-result").map((node) => node.callId), ...runningCalls.map((call) => call.callId)]), [nodes, runningCalls]);
5864
5975
  const annotatedUserNode = selection === void 0 ? void 0 : nodes.find((node) => node.kind === "user" || node.kind === "steering");
5865
5976
  (0, react.useEffect)(() => {
5866
5977
  const element = scrollRef.current;
@@ -5903,8 +6014,14 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5903
6014
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectionQuote, {
5904
6015
  selections: [selection],
5905
6016
  messages: SIDE_CHAT_MESSAGES[locale]
5906
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageRow, { node })]
5907
- }, `${node.kind}-${String(node.seq)}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageRow, { node }, `${node.kind}-${String(node.seq)}`)),
6017
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageRow, {
6018
+ node,
6019
+ projectedToolCallIds
6020
+ })]
6021
+ }, `${node.kind}-${String(node.seq)}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageRow, {
6022
+ node,
6023
+ projectedToolCallIds
6024
+ }, `${node.kind}-${String(node.seq)}`)),
5908
6025
  snapshot.partial !== null && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("article", {
5909
6026
  className: "dsh-side-chat-message",
5910
6027
  "data-role": "assistant",
@@ -5913,13 +6030,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5913
6030
  children: "Assistant"
5914
6031
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AssistantBlocks, {
5915
6032
  blocks: snapshot.partial.blocks,
5916
- streaming: true
6033
+ streaming: true,
6034
+ projectedToolCallIds,
6035
+ unprojectedToolState: "running"
5917
6036
  })]
5918
6037
  }),
5919
- snapshot.runningCalls.map((call) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
5920
- className: "dsh-side-chat-message dsh-side-chat-tool",
5921
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("summary", { children: ["Running tool · ", call.name] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", { children: call.argsRaw })]
5922
- }, call.callId)),
6038
+ runningCalls.map((call) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RunningToolCard, { call }, call.callId)),
5923
6039
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PendingCards, {
5924
6040
  pending: snapshot.pending,
5925
6041
  controller