@ahggg/dsh-side-chat 0.7.2 → 1.0.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.
Files changed (185) hide show
  1. package/README.md +16 -13
  2. package/README.zh-CN.md +16 -13
  3. package/lib/client/apply.d.ts +0 -1
  4. package/lib/client/apply.js +48 -33
  5. package/lib/client/contracts.d.ts +3 -59
  6. package/lib/client/contracts.js +0 -1
  7. package/lib/client/dsh/ReadOnlyConversation.d.ts +10 -0
  8. package/lib/client/dsh/ReadOnlyConversation.js +91 -0
  9. package/lib/client/dsh/SideChatOverlay.d.ts +7 -0
  10. package/lib/client/{rc6/Rc6SideChatOverlay.js → dsh/SideChatOverlay.js} +26 -57
  11. package/lib/client/{rc6 → dsh}/context.d.ts +7 -3
  12. package/lib/client/dsh/context.js +1 -0
  13. package/lib/client/dsh/conversation-store.d.ts +22 -0
  14. package/lib/client/dsh/conversation-store.js +19 -0
  15. package/lib/client/dsh/primitive-labels.d.ts +2 -0
  16. package/lib/client/dsh/primitive-labels.js +4 -0
  17. package/lib/client/{rc6 → dsh}/remote-adapter.d.ts +2 -3
  18. package/lib/client/dsh/remote-adapter.js +22 -0
  19. package/lib/client/dsh/sessions-adapter.d.ts +56 -0
  20. package/lib/client/dsh/sessions-adapter.js +185 -0
  21. package/lib/client/index.d.ts +2 -3
  22. package/lib/client/index.js +0 -1
  23. package/lib/client/model-preference.d.ts +0 -1
  24. package/lib/client/model-preference.js +0 -1
  25. package/lib/client/panel/SelectionQuote.d.ts +0 -1
  26. package/lib/client/panel/SelectionQuote.js +8 -2
  27. package/lib/client/panel/SendIcon.d.ts +0 -1
  28. package/lib/client/panel/SendIcon.js +0 -1
  29. package/lib/client/panel/SideChatBody.d.ts +0 -1
  30. package/lib/client/panel/SideChatBody.js +0 -1
  31. package/lib/client/panel/SideChatErrorState.d.ts +0 -1
  32. package/lib/client/panel/SideChatErrorState.js +1 -2
  33. package/lib/client/panel/SideChatHeader.d.ts +0 -1
  34. package/lib/client/panel/SideChatHeader.js +0 -1
  35. package/lib/client/panel/SideChatModelSelect.d.ts +0 -1
  36. package/lib/client/panel/SideChatModelSelect.js +37 -19
  37. package/lib/client/panel/SideChatPanel.d.ts +0 -1
  38. package/lib/client/panel/SideChatPanel.js +12 -6
  39. package/lib/client/panel/StopIcon.d.ts +0 -1
  40. package/lib/client/panel/StopIcon.js +0 -1
  41. package/lib/client/panel/messages.d.ts +1 -2
  42. package/lib/client/panel/messages.js +8 -9
  43. package/lib/client/panel/use-auto-growing-textarea.d.ts +0 -1
  44. package/lib/client/panel/use-auto-growing-textarea.js +0 -1
  45. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts +3 -3
  46. package/lib/client/parent-composer/ParentConversationAnnotations.js +71 -28
  47. package/lib/client/parent-composer/add-to-conversation.d.ts +14 -29
  48. package/lib/client/parent-composer/add-to-conversation.js +134 -457
  49. package/lib/client/parent-composer/annotation-persistence.d.ts +8 -9
  50. package/lib/client/parent-composer/annotation-persistence.js +106 -103
  51. package/lib/client/parent-composer/composer-reference.d.ts +19 -48
  52. package/lib/client/parent-composer/composer-reference.js +26 -46
  53. package/lib/client/parent-composer/referenced-conversation.d.ts +5 -8
  54. package/lib/client/parent-composer/referenced-conversation.js +27 -61
  55. package/lib/client/selection/ConversationAnnotationMarkers.d.ts +0 -1
  56. package/lib/client/selection/ConversationAnnotationMarkers.js +5 -2
  57. package/lib/client/selection/SelectionActions.d.ts +0 -1
  58. package/lib/client/selection/SelectionActions.js +2 -2
  59. package/lib/client/selection/conversation-dom.d.ts +5 -0
  60. package/lib/client/selection/conversation-dom.js +24 -0
  61. package/lib/client/selection/selection-controller.d.ts +1 -2
  62. package/lib/client/selection/selection-controller.js +7 -4
  63. package/lib/client/selection/selection-limits.d.ts +0 -1
  64. package/lib/client/selection/selection-limits.js +0 -1
  65. package/lib/client/selection/selection-normalizer.d.ts +0 -1
  66. package/lib/client/selection/selection-normalizer.js +1 -2
  67. package/lib/client/side-chat-controller.d.ts +28 -42
  68. package/lib/client/side-chat-controller.js +245 -338
  69. package/lib/client.js +1202 -8951
  70. package/lib/host/index.d.ts +1 -2
  71. package/lib/host/index.js +1 -2
  72. package/lib/host/read-only-chat-service.d.ts +30 -0
  73. package/lib/host/read-only-chat-service.js +314 -0
  74. package/lib/index.d.ts +16 -9
  75. package/lib/index.js +34 -14
  76. package/lib/remote.d.ts +23 -15
  77. package/lib/remote.js +2 -6
  78. package/lib/shared/constants.d.ts +0 -14
  79. package/lib/shared/constants.js +0 -14
  80. package/lib/shared/contracts.d.ts +52 -20
  81. package/lib/shared/contracts.js +2 -4
  82. package/lib/shared/error-codes.d.ts +1 -2
  83. package/lib/shared/error-codes.js +2 -3
  84. package/lib/shared/observable.d.ts +0 -1
  85. package/lib/shared/observable.js +0 -1
  86. package/lib/shared/{archived-wire.d.ts → side-chat-wire.d.ts} +109 -21
  87. package/lib/shared/side-chat-wire.js +34 -0
  88. package/lib/typert.d.ts +3 -69
  89. package/lib/typert.js +120 -51
  90. package/package.json +80 -38
  91. package/lib/client/apply.d.ts.map +0 -1
  92. package/lib/client/apply.js.map +0 -1
  93. package/lib/client/contracts.d.ts.map +0 -1
  94. package/lib/client/contracts.js.map +0 -1
  95. package/lib/client/index.d.ts.map +0 -1
  96. package/lib/client/index.js.map +0 -1
  97. package/lib/client/model-preference.d.ts.map +0 -1
  98. package/lib/client/model-preference.js.map +0 -1
  99. package/lib/client/panel/SelectionQuote.d.ts.map +0 -1
  100. package/lib/client/panel/SelectionQuote.js.map +0 -1
  101. package/lib/client/panel/SendIcon.d.ts.map +0 -1
  102. package/lib/client/panel/SendIcon.js.map +0 -1
  103. package/lib/client/panel/SideChatBody.d.ts.map +0 -1
  104. package/lib/client/panel/SideChatBody.js.map +0 -1
  105. package/lib/client/panel/SideChatErrorState.d.ts.map +0 -1
  106. package/lib/client/panel/SideChatErrorState.js.map +0 -1
  107. package/lib/client/panel/SideChatHeader.d.ts.map +0 -1
  108. package/lib/client/panel/SideChatHeader.js.map +0 -1
  109. package/lib/client/panel/SideChatModelSelect.d.ts.map +0 -1
  110. package/lib/client/panel/SideChatModelSelect.js.map +0 -1
  111. package/lib/client/panel/SideChatPanel.d.ts.map +0 -1
  112. package/lib/client/panel/SideChatPanel.js.map +0 -1
  113. package/lib/client/panel/StopIcon.d.ts.map +0 -1
  114. package/lib/client/panel/StopIcon.js.map +0 -1
  115. package/lib/client/panel/messages.d.ts.map +0 -1
  116. package/lib/client/panel/messages.js.map +0 -1
  117. package/lib/client/panel/use-auto-growing-textarea.d.ts.map +0 -1
  118. package/lib/client/panel/use-auto-growing-textarea.js.map +0 -1
  119. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +0 -1
  120. package/lib/client/parent-composer/ParentConversationAnnotations.js.map +0 -1
  121. package/lib/client/parent-composer/add-to-conversation.d.ts.map +0 -1
  122. package/lib/client/parent-composer/add-to-conversation.js.map +0 -1
  123. package/lib/client/parent-composer/annotation-persistence.d.ts.map +0 -1
  124. package/lib/client/parent-composer/annotation-persistence.js.map +0 -1
  125. package/lib/client/parent-composer/composer-reference.d.ts.map +0 -1
  126. package/lib/client/parent-composer/composer-reference.js.map +0 -1
  127. package/lib/client/parent-composer/referenced-conversation.d.ts.map +0 -1
  128. package/lib/client/parent-composer/referenced-conversation.js.map +0 -1
  129. package/lib/client/rc6/ArchivedConversation.d.ts +0 -15
  130. package/lib/client/rc6/ArchivedConversation.d.ts.map +0 -1
  131. package/lib/client/rc6/ArchivedConversation.js +0 -230
  132. package/lib/client/rc6/ArchivedConversation.js.map +0 -1
  133. package/lib/client/rc6/Rc6SideChatOverlay.d.ts +0 -8
  134. package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +0 -1
  135. package/lib/client/rc6/Rc6SideChatOverlay.js.map +0 -1
  136. package/lib/client/rc6/SideChatTool.d.ts +0 -23
  137. package/lib/client/rc6/SideChatTool.d.ts.map +0 -1
  138. package/lib/client/rc6/SideChatTool.js +0 -395
  139. package/lib/client/rc6/SideChatTool.js.map +0 -1
  140. package/lib/client/rc6/context.d.ts.map +0 -1
  141. package/lib/client/rc6/context.js +0 -2
  142. package/lib/client/rc6/context.js.map +0 -1
  143. package/lib/client/rc6/remote-adapter.d.ts.map +0 -1
  144. package/lib/client/rc6/remote-adapter.js +0 -33
  145. package/lib/client/rc6/remote-adapter.js.map +0 -1
  146. package/lib/client/rc6/sessions-adapter.d.ts +0 -61
  147. package/lib/client/rc6/sessions-adapter.d.ts.map +0 -1
  148. package/lib/client/rc6/sessions-adapter.js +0 -370
  149. package/lib/client/rc6/sessions-adapter.js.map +0 -1
  150. package/lib/client/selection/ConversationAnnotationMarkers.d.ts.map +0 -1
  151. package/lib/client/selection/ConversationAnnotationMarkers.js.map +0 -1
  152. package/lib/client/selection/SelectionActions.d.ts.map +0 -1
  153. package/lib/client/selection/SelectionActions.js.map +0 -1
  154. package/lib/client/selection/selection-controller.d.ts.map +0 -1
  155. package/lib/client/selection/selection-controller.js.map +0 -1
  156. package/lib/client/selection/selection-limits.d.ts.map +0 -1
  157. package/lib/client/selection/selection-limits.js.map +0 -1
  158. package/lib/client/selection/selection-normalizer.d.ts.map +0 -1
  159. package/lib/client/selection/selection-normalizer.js.map +0 -1
  160. package/lib/client/side-chat-controller.d.ts.map +0 -1
  161. package/lib/client/side-chat-controller.js.map +0 -1
  162. package/lib/client.js.map +0 -1
  163. package/lib/host/archived-fork-service.d.ts +0 -29
  164. package/lib/host/archived-fork-service.d.ts.map +0 -1
  165. package/lib/host/archived-fork-service.js +0 -264
  166. package/lib/host/archived-fork-service.js.map +0 -1
  167. package/lib/host/index.d.ts.map +0 -1
  168. package/lib/host/index.js.map +0 -1
  169. package/lib/index.d.ts.map +0 -1
  170. package/lib/index.js.map +0 -1
  171. package/lib/remote.d.ts.map +0 -1
  172. package/lib/remote.js.map +0 -1
  173. package/lib/shared/archived-wire.d.ts.map +0 -1
  174. package/lib/shared/archived-wire.js +0 -48
  175. package/lib/shared/archived-wire.js.map +0 -1
  176. package/lib/shared/constants.d.ts.map +0 -1
  177. package/lib/shared/constants.js.map +0 -1
  178. package/lib/shared/contracts.d.ts.map +0 -1
  179. package/lib/shared/contracts.js.map +0 -1
  180. package/lib/shared/error-codes.d.ts.map +0 -1
  181. package/lib/shared/error-codes.js.map +0 -1
  182. package/lib/shared/observable.d.ts.map +0 -1
  183. package/lib/shared/observable.js.map +0 -1
  184. package/lib/typert.d.ts.map +0 -1
  185. package/lib/typert.js.map +0 -1
@@ -1,395 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { CodeBlock, DiffBlock, DisclosureRow, IconApiOutline14, IconBrowseOutline16, IconCodeOutline16, IconEditOutline16, IconSearchOutline16, IconSparkle16, ReadBlock, SearchBlock, StateDot, TerminalBlock, WebBlock, } from '@deepseek-ai/dsh-client-ui-primitives';
4
- const TOOL_VARIANTS = {
5
- bash: 'bash',
6
- pwsh: 'bash',
7
- read: 'read',
8
- web_fetch: 'read',
9
- web_search: 'search',
10
- grep: 'search',
11
- glob: 'search',
12
- write: 'write',
13
- edit: 'edit',
14
- run_code: 'code',
15
- };
16
- const VARIANT_TITLES = {
17
- search: 'Search',
18
- read: 'Read',
19
- bash: 'Bash',
20
- write: 'Write',
21
- edit: 'Edit',
22
- code: 'Code',
23
- others: 'Tool call',
24
- };
25
- const SUMMARY_KEYS = {
26
- bash: ['description', 'command'],
27
- read: ['path', 'file_path', 'url'],
28
- search: ['query', 'pattern', 'url'],
29
- write: ['path', 'file_path'],
30
- edit: ['path', 'file_path'],
31
- code: ['description'],
32
- others: [],
33
- };
34
- function record(value) {
35
- return typeof value === 'object' && value !== null && !Array.isArray(value)
36
- ? value
37
- : null;
38
- }
39
- function stringValue(value) {
40
- return typeof value === 'string' && value !== '' ? value : undefined;
41
- }
42
- function numberValue(value) {
43
- return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
44
- }
45
- function booleanValue(value) {
46
- return typeof value === 'boolean' ? value : undefined;
47
- }
48
- function firstLine(text) {
49
- const newline = text.indexOf('\n');
50
- return newline === -1 ? text : text.slice(0, newline);
51
- }
52
- function stringify(value) {
53
- if (typeof value === 'string')
54
- return value;
55
- try {
56
- return JSON.stringify(value, null, 2);
57
- }
58
- catch {
59
- return String(value);
60
- }
61
- }
62
- function contentText(content) {
63
- return content.map((block) => {
64
- if (block.type === 'text' || block.type === 'reasoning')
65
- return block.text;
66
- if (block.type === 'image')
67
- return '[Image]';
68
- if (block.type === 'tool-call')
69
- return `${block.name}(${block.arguments})`;
70
- if (block.type === 'tool-result')
71
- return contentText(block.content);
72
- return stringify(block);
73
- }).filter(Boolean).join('\n');
74
- }
75
- export function toolOutputText(content) {
76
- const text = contentText(content);
77
- const fileEnvelope = /^<path>[\s\S]*?<\/path>\s*<type>[\s\S]*?<\/type>\s*<content>\s*\n?([\s\S]*?)\n?<\/content>\s*$/u.exec(text);
78
- return fileEnvelope?.[1]?.trimEnd() ?? text;
79
- }
80
- function parseArguments(argsRaw) {
81
- try {
82
- return record(JSON.parse(argsRaw));
83
- }
84
- catch {
85
- return null;
86
- }
87
- }
88
- function formattedArguments(argsRaw) {
89
- try {
90
- return JSON.stringify(JSON.parse(argsRaw), null, 2);
91
- }
92
- catch {
93
- return argsRaw;
94
- }
95
- }
96
- function classifyTool(name) {
97
- return TOOL_VARIANTS[name.toLowerCase()] ?? 'others';
98
- }
99
- function toolTitle(name, variant) {
100
- if (name.toLowerCase() === 'pwsh')
101
- return 'Pwsh';
102
- return VARIANT_TITLES[variant];
103
- }
104
- function pickArgument(args, keys) {
105
- for (const key of keys) {
106
- const value = stringValue(args[key]);
107
- if (value !== undefined)
108
- return value;
109
- }
110
- return Object.values(args).find((value) => typeof value === 'string' && value !== '');
111
- }
112
- function relativizeToCwd(path, cwd) {
113
- if (cwd === undefined || cwd === '')
114
- return path;
115
- const root = cwd.replace(/[/\\]+$/u, '');
116
- const lowerPath = path.toLowerCase();
117
- const lowerRoot = root.toLowerCase();
118
- return lowerPath.startsWith(`${lowerRoot}/`) || lowerPath.startsWith(`${lowerRoot}\\`)
119
- ? path.slice(root.length + 1)
120
- : path;
121
- }
122
- function summaryFromArguments(name, variant, argsRaw, callId, cwd) {
123
- const args = parseArguments(argsRaw);
124
- const picked = args === null ? undefined : pickArgument(args, SUMMARY_KEYS[variant]);
125
- const base = relativizeToCwd(firstLine(picked ?? (argsRaw === '' || argsRaw === '{}' ? callId : argsRaw)), cwd);
126
- return variant === 'others' && name !== '' ? `${name} · ${base}` : base;
127
- }
128
- function filePathFromArguments(variant, argsRaw) {
129
- if (variant !== 'read' && variant !== 'write' && variant !== 'edit')
130
- return undefined;
131
- const args = parseArguments(argsRaw);
132
- if (args === null)
133
- return undefined;
134
- return stringValue(args['path']) ?? stringValue(args['file_path']);
135
- }
136
- function variantIcon(variant) {
137
- switch (variant) {
138
- case 'search': return _jsx(IconSearchOutline16, { size: 14 });
139
- case 'read': return _jsx(IconBrowseOutline16, { size: 14 });
140
- case 'bash': return _jsx(IconApiOutline14, { size: 14 });
141
- case 'write':
142
- case 'edit': return _jsx(IconEditOutline16, { size: 14 });
143
- case 'code': return _jsx(IconCodeOutline16, { size: 14 });
144
- case 'others': return _jsx(IconSparkle16, { size: 14 });
145
- }
146
- }
147
- function resolveTerminalCwd(viewCwd, cwd) {
148
- if (viewCwd === undefined || viewCwd === '')
149
- return cwd;
150
- if (cwd === undefined || cwd === '' || /^(?:[A-Za-z]:[/\\]|[/\\]{1,2})/u.test(viewCwd))
151
- return viewCwd;
152
- return `${cwd.replace(/[/\\]+$/u, '')}\\${viewCwd}`;
153
- }
154
- function terminalCard(variant, argsRaw, state, output, callView, resultView, cwd) {
155
- const call = record(callView);
156
- const result = record(resultView);
157
- const callIsTerminal = call?.['card'] === 'terminal';
158
- const resultIsTerminal = result?.['card'] === 'terminal';
159
- if (variant !== 'bash' && !callIsTerminal && !resultIsTerminal)
160
- return null;
161
- const args = parseArguments(argsRaw);
162
- const command = stringValue(result?.['title'])
163
- ?? stringValue(call?.['title'])
164
- ?? (args === null ? undefined : stringValue(args['command']))
165
- ?? '';
166
- return {
167
- command,
168
- cwd: resolveTerminalCwd(stringValue(call?.['cwd']), cwd),
169
- output: stringValue(result?.['output']) ?? output,
170
- exitCode: numberValue(result?.['exitCode']),
171
- signal: stringValue(result?.['signal']),
172
- running: state === 'running' || state === 'pending',
173
- description: stringValue(call?.['description']),
174
- };
175
- }
176
- function languageForPath(path) {
177
- if (path === undefined)
178
- return undefined;
179
- const extension = /\.([^.\\/]+)$/u.exec(path)?.[1]?.toLowerCase();
180
- const aliases = {
181
- js: 'javascript', jsx: 'jsx', ts: 'typescript', tsx: 'tsx',
182
- json: 'json', css: 'css', html: 'html', md: 'markdown',
183
- yml: 'yaml', yaml: 'yaml', py: 'python', ps1: 'powershell',
184
- sh: 'bash', toml: 'toml', xml: 'xml',
185
- };
186
- return extension === undefined ? undefined : aliases[extension];
187
- }
188
- function validReadLines(value) {
189
- if (!Array.isArray(value))
190
- return null;
191
- const lines = [];
192
- for (const item of value) {
193
- const line = record(item);
194
- const number = numberValue(line?.['number']);
195
- const text = stringValue(line?.['text']) ?? (line?.['text'] === '' ? '' : undefined);
196
- if (number === undefined || text === undefined)
197
- return null;
198
- lines.push({ number, text });
199
- }
200
- return lines;
201
- }
202
- function readCard(name, argsRaw, state, output, resultView, cwd) {
203
- if (state === 'running' || state === 'pending' || state === 'error' || state === 'interrupted')
204
- return null;
205
- const result = record(resultView);
206
- if (result?.['card'] === 'read') {
207
- const lines = validReadLines(result['lines']);
208
- const totalLines = numberValue(result['totalLines']);
209
- const path = stringValue(result['path']);
210
- if (lines === null || totalLines === undefined)
211
- return null;
212
- return {
213
- label: stringValue(result['title']) ?? (path === undefined ? undefined : relativizeToCwd(path, cwd)),
214
- lines,
215
- totalLines,
216
- lang: stringValue(result['lang']),
217
- };
218
- }
219
- if (name.toLowerCase() !== 'read' || output === undefined)
220
- return null;
221
- const path = filePathFromArguments('read', argsRaw);
222
- const texts = output.split('\n');
223
- return {
224
- label: path === undefined ? undefined : relativizeToCwd(path, cwd),
225
- lines: texts.map((text, index) => ({ number: index + 1, text })),
226
- totalLines: texts.length,
227
- lang: languageForPath(path),
228
- };
229
- }
230
- function validSearchCard(resultView) {
231
- const result = record(resultView);
232
- if (result?.['card'] !== 'search')
233
- return null;
234
- const truncated = booleanValue(result['truncated']);
235
- const total = numberValue(result['total']);
236
- if (truncated === undefined || total === undefined)
237
- return null;
238
- if (result['shape'] === 'paths') {
239
- const paths = result['paths'];
240
- return Array.isArray(paths) && paths.every((path) => typeof path === 'string')
241
- ? { kind: 'paths', paths, truncated, total }
242
- : null;
243
- }
244
- if (result['shape'] !== 'matches' || !Array.isArray(result['files']))
245
- return null;
246
- const files = [];
247
- for (const item of result['files']) {
248
- const file = record(item);
249
- const path = stringValue(file?.['path']);
250
- const matchesValue = file?.['matches'];
251
- if (path === undefined || !Array.isArray(matchesValue))
252
- return null;
253
- const matches = [];
254
- for (const matchValue of matchesValue) {
255
- const match = record(matchValue);
256
- const lineNumber = numberValue(match?.['lineNumber']);
257
- const line = stringValue(match?.['line']) ?? (match?.['line'] === '' ? '' : undefined);
258
- if (lineNumber === undefined || line === undefined)
259
- return null;
260
- matches.push({ lineNumber, line });
261
- }
262
- files.push({ path, matches });
263
- }
264
- return { kind: 'matches', files, truncated, total };
265
- }
266
- function validDiffs(view) {
267
- const value = record(view);
268
- if (value?.['card'] !== 'diff' || !Array.isArray(value['diffs']) || value['diffs'].length === 0)
269
- return null;
270
- const diffs = [];
271
- for (const item of value['diffs']) {
272
- const hunk = record(item);
273
- const path = stringValue(hunk?.['path']);
274
- const oldText = hunk?.['oldText'];
275
- const newText = stringValue(hunk?.['newText']) ?? (hunk?.['newText'] === '' ? '' : undefined);
276
- if (path === undefined || (oldText !== null && typeof oldText !== 'string') || newText === undefined)
277
- return null;
278
- diffs.push({ path, oldText, newText });
279
- }
280
- return diffs;
281
- }
282
- function validWebCard(view) {
283
- const result = record(view);
284
- if (result?.['card'] !== 'web')
285
- return null;
286
- const truncated = booleanValue(result['truncated']);
287
- if (truncated === undefined)
288
- return null;
289
- if (result['kind'] === 'fetch') {
290
- const url = stringValue(result['url']);
291
- const statusCode = numberValue(result['statusCode']);
292
- return url === undefined || statusCode === undefined ? null : { kind: 'fetch', url, statusCode, truncated };
293
- }
294
- if (result['kind'] !== 'search' || !Array.isArray(result['sources']))
295
- return null;
296
- const sources = [];
297
- for (const item of result['sources']) {
298
- const source = record(item);
299
- const url = stringValue(source?.['url']);
300
- if (url === undefined)
301
- return null;
302
- const title = stringValue(source?.['title']);
303
- const snippet = stringValue(source?.['snippet']);
304
- const publishedAt = stringValue(source?.['publishedAt']);
305
- sources.push({
306
- url,
307
- ...(title === undefined ? {} : { title }),
308
- ...(snippet === undefined ? {} : { snippet }),
309
- ...(publishedAt === undefined ? {} : { publishedAt }),
310
- });
311
- }
312
- const answer = stringValue(result['answer']);
313
- return { kind: 'search', sources, truncated, ...(answer === undefined ? {} : { answer }) };
314
- }
315
- function genericBody(variant, argsRaw) {
316
- if (argsRaw === '' || argsRaw === '{}')
317
- return null;
318
- if (variant === 'read' || variant === 'write' || variant === 'edit')
319
- return null;
320
- return formattedArguments(argsRaw);
321
- }
322
- function leadingFor(state, icon) {
323
- if (state === 'error')
324
- return _jsx(StateDot, { state: "error" });
325
- if (state === 'interrupted')
326
- return _jsx(StateDot, { state: "warning" });
327
- return icon;
328
- }
329
- function toolStatus(state) {
330
- if (state === 'running' || state === 'pending')
331
- return 'Running';
332
- if (state === 'error')
333
- return 'Failed';
334
- if (state === 'interrupted')
335
- return 'Stopped';
336
- return null;
337
- }
338
- export function ToolCard({ callId, name, argsRaw, state, output, callView, resultView, cwd, }) {
339
- const [expanded, setExpanded] = useState(false);
340
- const variant = classifyTool(name);
341
- const terminal = terminalCard(variant, argsRaw, state, output, callView, resultView, cwd);
342
- const terminalFailed = terminal !== null
343
- && !terminal.running
344
- && ((terminal.exitCode !== undefined && terminal.exitCode !== 0) || terminal.signal !== undefined);
345
- const visualState = state === 'success' && terminalFailed ? 'error' : state;
346
- const read = readCard(name, argsRaw, visualState, output, resultView, cwd);
347
- const search = validSearchCard(resultView);
348
- const diffs = validDiffs(resultView) ?? validDiffs(callView);
349
- const web = validWebCard(resultView);
350
- const args = parseArguments(argsRaw);
351
- const code = variant === 'code' && args !== null ? stringValue(args['code']) : undefined;
352
- const body = genericBody(variant, argsRaw);
353
- const summary = terminal?.description
354
- ?? stringValue(record(resultView)?.['title'])
355
- ?? summaryFromArguments(name, variant, argsRaw, callId, cwd);
356
- const failureLine = visualState === 'error' && output !== undefined ? firstLine(output) : null;
357
- const summaryText = failureLine ?? summary;
358
- const hasSpecialCard = terminal !== null || read !== null || search !== null || diffs !== null || web !== null || code !== undefined;
359
- const expandable = hasSpecialCard || body !== null || output !== undefined;
360
- const open = expanded && expandable;
361
- const status = toolStatus(visualState);
362
- return (_jsxs("section", { className: "dsh-side-chat-tool", "data-call-id": callId, "data-state": visualState, "data-expanded": open || undefined, children: [status !== null && _jsx("span", { className: "dsh-side-chat-tool-visually-hidden", children: status }), _jsx(DisclosureRow, { rowClassName: "dsh-side-chat-tool-row", leadingClassName: "dsh-side-chat-tool-leading", titleClassName: "dsh-side-chat-tool-title", chevronClassName: "dsh-side-chat-tool-chevron", icon: leadingFor(visualState, variantIcon(variant)), title: toolTitle(name, variant), open: open, expandable: expandable, expandOnRowClick: true, keepContentWhenOpen: true, onToggle: () => { setExpanded(current => !current); }, collapsedContent: summaryText !== '' && (_jsxs(_Fragment, { children: [_jsx("span", { className: "dsh-side-chat-tool-separator", "aria-hidden": "true" }), _jsx("span", { className: failureLine === null
363
- ? 'dsh-side-chat-tool-summary'
364
- : 'dsh-side-chat-tool-summary dsh-side-chat-tool-error-summary', children: summaryText })] })), children: _jsx("div", { className: "dsh-side-chat-tool-body-wrap", children: terminal !== null
365
- ? (_jsx(TerminalBlock, { command: terminal.command, cwd: terminal.cwd, output: terminal.output, exitCode: terminal.exitCode, signal: terminal.signal, running: terminal.running, maxLines: Infinity, className: "dsh-side-chat-tool-terminal" }))
366
- : read !== null
367
- ? _jsx(ReadBlock, { ...read, maxLines: 8, className: "dsh-side-chat-tool-read" })
368
- : search !== null
369
- ? _jsx(SearchBlock, { ...search, maxLines: 8, className: "dsh-side-chat-tool-search" })
370
- : diffs !== null
371
- ? _jsx(DiffBlock, { diffs: diffs, maxLines: 8, className: "dsh-side-chat-tool-diff" })
372
- : web !== null
373
- ? _jsx(WebBlock, { ...web, className: "dsh-side-chat-tool-web" })
374
- : code !== undefined
375
- ? _jsx(CodeBlock, { code: code, lang: "typescript", copyLabel: "Copy", copiedLabel: "Copied", className: "dsh-side-chat-tool-code" })
376
- : (body !== null || output !== undefined) && (_jsxs("div", { className: "dsh-side-chat-tool-io-card", children: [body !== null && (_jsxs("div", { className: "dsh-side-chat-tool-io-section", children: [_jsx("span", { className: "dsh-side-chat-tool-io-label", children: "IN" }), _jsx("span", { className: "dsh-side-chat-tool-io-text", children: body })] })), body !== null && output !== undefined && _jsx("span", { className: "dsh-side-chat-tool-io-divider", "aria-hidden": "true" }), output !== undefined && (_jsxs("div", { className: "dsh-side-chat-tool-io-section", children: [_jsx("span", { className: "dsh-side-chat-tool-io-label", children: "OUT" }), _jsx("span", { className: "dsh-side-chat-tool-io-text", "data-error": visualState === 'error' || undefined, children: output })] }))] })) }) })] }));
377
- }
378
- function resultState(node, output) {
379
- if (!node.isError)
380
- return 'success';
381
- const identity = `${node.error?.name ?? ''} ${node.error?.code ?? ''} ${output}`;
382
- return /\b(?:aborted|cancelled|canceled)\b/iu.test(identity) ? 'interrupted' : 'error';
383
- }
384
- export function ToolBlockCard({ block, cwd }) {
385
- const settled = 'kind' in block;
386
- const output = settled ? toolOutputText(block.content) : undefined;
387
- const state = settled ? resultState(block, output ?? '') : 'running';
388
- const name = settled ? block.call?.name ?? block.callId : block.name;
389
- const argsRaw = settled ? block.call?.argsRaw ?? '{}' : block.argsRaw;
390
- return (_jsxs("div", { className: "dsh-side-chat-tool-branch", children: [_jsx(ToolCard, { callId: block.callId, name: name, argsRaw: argsRaw, state: state, output: output, callView: block.callView, resultView: settled ? block.resultView : null, cwd: cwd }), block.subCalls.length > 0 && (_jsx("div", { className: "dsh-side-chat-tool-subcalls", "data-subcalls": true, children: block.subCalls.map(child => _jsx(ToolBlockCard, { block: child, cwd: cwd }, child.callId)) }))] }));
391
- }
392
- export function RunningToolCard({ call, cwd }) {
393
- return _jsx(ToolBlockCard, { block: call, cwd: cwd });
394
- }
395
- //# sourceMappingURL=SideChatTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SideChatTool.js","sourceRoot":"","sources":["../../../src/client/rc6/SideChatTool.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC/F,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,2CAA2C,CAAA;AAElD,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,OAAO,EACP,cAAc,GAAG,eAAe,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CACxF,GAAG;IACF,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAA;IAChD,QAAQ,CAAC,aAAa,EAAE;QACtB,cAAc,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,IAAI,CAAA;KAC7D,CAAA;IACD,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAC7B,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/client/rc6/context.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-adapter.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/remote-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,2BAA2B,CAAA;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAUpD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC,CAAC,CAuBD"}
@@ -1,33 +0,0 @@
1
- import TYPERT_REMOTE from '../../remote.js';
2
- function remoteFailure(error) {
3
- return {
4
- code: error.code === 'bad-request' ? 'invalid_request' : 'transport_error',
5
- message: error.message || 'The Side Chat RPC failed.',
6
- recoverable: error.code !== 'bad-request',
7
- };
8
- }
9
- export async function mountArchivedRemote(ctx) {
10
- const dispose = await ctx.remote.$mount(TYPERT_REMOTE);
11
- const archived = ctx.get('remote.sideChatArchived');
12
- return {
13
- remote: {
14
- create: async (request) => {
15
- const result = await archived.create({
16
- ...request,
17
- atSeq: Math.floor(request.atSeq),
18
- });
19
- return result.ok ? result.value : { ok: false, error: remoteFailure(result.error) };
20
- },
21
- selectModel: async (request) => {
22
- const result = await archived.selectModel(request);
23
- return result.ok ? result.value : { ok: false, error: remoteFailure(result.error) };
24
- },
25
- close: async (request) => {
26
- const result = await archived.close(request);
27
- return result.ok ? result.value : { ok: false, error: remoteFailure(result.error) };
28
- },
29
- },
30
- dispose,
31
- };
32
- }
33
- //# sourceMappingURL=remote-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-adapter.js","sourceRoot":"","sources":["../../../src/client/rc6/remote-adapter.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB;QAC1E,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,2BAA2B;QACrD,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa;KAC1C,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAqB;IAI7D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAmD,CAAA;IACrG,OAAO;QACL,MAAM,EAAE;YACN,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACnC,GAAG,OAAO;oBACV,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;iBACjC,CAAC,CAAA;gBACF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACrF,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;gBAClD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACrF,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC5C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YACrF,CAAC;SACF;QACD,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -1,61 +0,0 @@
1
- import type { ConversationSnapshot, SessionFace } from '@deepseek-ai/dsh-client-runtime/client';
2
- import type { ModelDirectory } from '@deepseek-ai/dsh-client-ui-model-selection/client';
3
- import type { SideChatClientSessions, SideChatSessionLease } from '../contracts.js';
4
- import type { ConversationSelection, SessionId, SideChatModelSelection } from '../../shared/contracts.js';
5
- import type { ParentComposerInputSnapshot } from '../parent-composer/add-to-conversation.js';
6
- import { type ReferencedSideChatConversation } from '../parent-composer/referenced-conversation.js';
7
- import type { Rc6ClientContext } from './context.js';
8
- /** Adapter over rc.6's public SessionRuntime and exported concrete Session type. */
9
- export declare class Rc6SideChatSessions implements SideChatClientSessions {
10
- private readonly ctx;
11
- private readonly renamed;
12
- private readonly annotationPersistence;
13
- private readonly modelPreferences;
14
- constructor(ctx: Rc6ClientContext);
15
- /** Observable rc.6 Session-list surface used to follow main-session switches. */
16
- readonly subscribeList: (listener: () => void) => (() => void);
17
- /** Follow both current-session switches and that session's composer state. */
18
- readonly subscribeConversationInput: (listener: () => void) => (() => void);
19
- readonly currentConversationInputSnapshot: () => ParentComposerInputSnapshot | undefined;
20
- currentSessionId(): SessionId | undefined;
21
- lastCompletedSeq(parentSessionId: SessionId): number | undefined;
22
- selectionIsCurrent(selection: ConversationSelection): boolean;
23
- /** Add one selected passage to the native composer of its parent Session. */
24
- addSelectionToConversation(selection: ConversationSelection, comment?: string): boolean;
25
- /** Add one immutable Side Chat transcript to its parent Session's composer. */
26
- addSideChatToConversation(parentSessionId: SessionId, reference: ReferencedSideChatConversation): boolean;
27
- /** Remove one existing unsent annotation from the aggregated occurrence. */
28
- removeConversationAnnotation(annotationIndex: number): boolean;
29
- /** Update an existing unsent annotation without adding a duplicate passage. */
30
- updateConversationAnnotation(annotationIndex: number, comment?: string): boolean;
31
- /** Mirror or recover the current Session's unsent annotation occurrence. */
32
- reconcileConversationAnnotationPersistence(): void;
33
- /** Number assigned to the next annotation shown beside the selected passage. */
34
- nextConversationAnnotationNumber(): number;
35
- /** Remove the current Session's unsent selected-passage annotations. */
36
- removeConversationAnnotations(): boolean;
37
- retain(sessionId: SessionId): Promise<SideChatSessionLease>;
38
- openSession(sessionId: SessionId): Promise<void>;
39
- notify(message: {
40
- readonly kind: 'status' | 'warning';
41
- readonly text: string;
42
- }): void;
43
- face(sessionId: SessionId): SessionFace | undefined;
44
- title(sessionId: SessionId): string | undefined;
45
- cwd(sessionId: SessionId): string | undefined;
46
- modelDirectory(sessionId: SessionId): ModelDirectory | undefined;
47
- sideChatModelPreference(): SideChatModelSelection | undefined;
48
- rememberSideChatModelPreference(selection: SideChatModelSelection): void;
49
- private currentParentInput;
50
- private waitForBinding;
51
- }
52
- export declare function selectionDescriptor(snapshot: ConversationSnapshot, anchorKey: string): {
53
- readonly nodeKey: string;
54
- readonly nodeKind: string;
55
- readonly turnKey: string;
56
- readonly seq: number;
57
- readonly source: 'user' | 'assistant' | 'context' | 'code';
58
- readonly modelVisible: boolean;
59
- readonly settled: boolean;
60
- } | undefined;
61
- //# sourceMappingURL=sessions-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions-adapter.d.ts","sourceRoot":"","sources":["../../../src/client/rc6/sessions-adapter.ts"],"names":[],"mappings":"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"}