@huanlin/dsh-focus-chat 0.1.25 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +198 -185
- package/lib/types/client/locales.d.ts +8 -0
- package/lib/types/client/model/flow.d.ts +1 -0
- package/lib/types/client/model/types.d.ts +1 -1
- package/lib/types/client/view/rows/UserBubble.d.ts +3 -4
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +24 -17
package/lib/client.js
CHANGED
|
@@ -272,20 +272,14 @@ window.__ModuleLoader__.load({
|
|
|
272
272
|
edit: "edit",
|
|
273
273
|
str_replace_editor: "edit",
|
|
274
274
|
run_code: "code",
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
cordis_run: "others",
|
|
278
|
-
cordis_stop: "others",
|
|
279
|
-
cordis_undefine: "others"
|
|
275
|
+
cordis_inspect_list: "read",
|
|
276
|
+
cordis_inspect_query: "read"
|
|
280
277
|
};
|
|
281
278
|
/** Tool-owned title keys that refine a generic row variant without replacing
|
|
282
279
|
* it (the official tool.title vocabulary for the named tools). */
|
|
283
280
|
const TOOL_TITLES = {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
cordis_run: "tool.title.runCordis",
|
|
287
|
-
cordis_stop: "tool.title.stopCordis",
|
|
288
|
-
cordis_undefine: "tool.title.removeCordis",
|
|
281
|
+
cordis_inspect_list: "tool.title.inspect",
|
|
282
|
+
cordis_inspect_query: "tool.title.inspect",
|
|
289
283
|
job_output: "tool.title.jobOutput",
|
|
290
284
|
job_kill: "tool.title.jobKill",
|
|
291
285
|
job_list: "tool.title.jobList",
|
|
@@ -374,9 +368,9 @@ window.__ModuleLoader__.load({
|
|
|
374
368
|
if (parts.length === 0 && node.error !== void 0) parts.push(`${node.error.name}: ${node.error.code}`);
|
|
375
369
|
return parts.join("\n");
|
|
376
370
|
}
|
|
377
|
-
/** Parse the call head paired with one immutable Tool block (null when the head
|
|
371
|
+
/** Parse the call head paired with one immutable Tool block (null when the head, the JSON object, or the dispatched arguments are unavailable). */
|
|
378
372
|
function parsedCall(block) {
|
|
379
|
-
const call = "kind" in block ? block.call : block;
|
|
373
|
+
const call = "kind" in block ? block.call : block.phase === "preparing" ? null : block;
|
|
380
374
|
if (call === null) return null;
|
|
381
375
|
const parsed = parseArgs(call.argsRaw);
|
|
382
376
|
if (typeof parsed !== "object" || parsed === null) return null;
|
|
@@ -845,7 +839,7 @@ window.__ModuleLoader__.load({
|
|
|
845
839
|
function toolRowModelUncached(block, cwd, home, cache) {
|
|
846
840
|
const done = "kind" in block;
|
|
847
841
|
const name = done ? block.call?.name ?? "" : block.name;
|
|
848
|
-
const argsRaw = done ? block.call?.argsRaw ?? "" : block.argsRaw;
|
|
842
|
+
const argsRaw = done ? block.call?.argsRaw ?? "" : block.phase === "preparing" ? "" : block.argsRaw;
|
|
849
843
|
const errorCode = done && block.error !== void 0 ? block.error.code : null;
|
|
850
844
|
const state = !done ? "running" : block.error !== void 0 && STOPPED_TOOL_CODES$1.has(block.error.code) ? "stopped" : block.isError ? "error" : "ok";
|
|
851
845
|
const variant = TOOL_VARIANTS$1[name] ?? "others";
|
|
@@ -963,24 +957,25 @@ window.__ModuleLoader__.load({
|
|
|
963
957
|
switch (node.kind) {
|
|
964
958
|
case "user":
|
|
965
959
|
case "steering":
|
|
966
|
-
case "context":
|
|
960
|
+
case "context":
|
|
961
|
+
case "turn-trigger": {
|
|
967
962
|
const message = data;
|
|
968
963
|
const base = {
|
|
969
964
|
kind: "message",
|
|
970
965
|
nodeKey: key,
|
|
971
|
-
role: node.kind,
|
|
966
|
+
role: node.kind === "turn-trigger" ? "context" : node.kind,
|
|
972
967
|
content: message.content,
|
|
973
968
|
time: message.time,
|
|
974
969
|
referenceLabels: message.referenceLabels,
|
|
975
970
|
skillNames: message.skillNames
|
|
976
971
|
};
|
|
977
|
-
if (node.kind !== "context") return base;
|
|
972
|
+
if (node.kind !== "context" && node.kind !== "turn-trigger") return base;
|
|
978
973
|
const context = message;
|
|
979
974
|
return {
|
|
980
975
|
...base,
|
|
981
976
|
context: {
|
|
982
977
|
source: context.source,
|
|
983
|
-
|
|
978
|
+
producer: context.producer,
|
|
984
979
|
form: context.form
|
|
985
980
|
}
|
|
986
981
|
};
|
|
@@ -1078,7 +1073,11 @@ window.__ModuleLoader__.load({
|
|
|
1078
1073
|
const turn = location.kind === "turn" || location.kind === "step" ? location.turn : void 0;
|
|
1079
1074
|
const closing = tail.closing;
|
|
1080
1075
|
const runMs = turn === void 0 || turn.start === void 0 || turn.end === void 0 ? null : Math.max(0, turn.end.time - turn.start.time);
|
|
1081
|
-
const produced = producedForClosing(turn
|
|
1076
|
+
const produced = producedForClosing(turn === void 0 ? void 0 : turn.data.get("deliverables"), closing?.finalNode.seq ?? tail.seq);
|
|
1077
|
+
const timing = closing?.finalNode.timing;
|
|
1078
|
+
const ttftMs = timing !== void 0 && timing.stepStartTime !== null && timing.firstTokenTime !== null ? Math.max(0, timing.firstTokenTime - timing.stepStartTime) : null;
|
|
1079
|
+
const decodeMs = timing !== void 0 && timing.firstTokenTime !== null ? timing.completedTime - timing.firstTokenTime : null;
|
|
1080
|
+
const tokensPerSecond = tail.tokenUsage !== void 0 && decodeMs !== null && decodeMs > 0 ? tail.tokenUsage.outputTokens / (decodeMs / 1e3) : null;
|
|
1082
1081
|
return {
|
|
1083
1082
|
kind: "turn-tail",
|
|
1084
1083
|
nodeKey: key,
|
|
@@ -1088,8 +1087,8 @@ window.__ModuleLoader__.load({
|
|
|
1088
1087
|
closingTime: closing?.time ?? null,
|
|
1089
1088
|
closingText: closing === null ? "" : assistantText(closing.blocks),
|
|
1090
1089
|
runMs,
|
|
1091
|
-
ttftMs
|
|
1092
|
-
tokensPerSecond
|
|
1090
|
+
ttftMs,
|
|
1091
|
+
tokensPerSecond,
|
|
1093
1092
|
branchUnavailable: tail.branchUnavailable,
|
|
1094
1093
|
produced,
|
|
1095
1094
|
tokenUsage: tail.tokenUsage
|
|
@@ -1456,6 +1455,7 @@ window.__ModuleLoader__.load({
|
|
|
1456
1455
|
return {
|
|
1457
1456
|
signal: (signal) => t("terminal.signal", { signal }),
|
|
1458
1457
|
exitCode: (code) => t("terminal.exitCode", { code }),
|
|
1458
|
+
noExitCode: t("terminal.noExitCode"),
|
|
1459
1459
|
running: t("terminal.running"),
|
|
1460
1460
|
failed: t("terminal.failed"),
|
|
1461
1461
|
done: t("terminal.done"),
|
|
@@ -1471,18 +1471,23 @@ window.__ModuleLoader__.load({
|
|
|
1471
1471
|
/** Diff-card labels bound to the focus locale. */
|
|
1472
1472
|
function diffLabels(t) {
|
|
1473
1473
|
return {
|
|
1474
|
+
codeLabel: t("terminal.codeLabel"),
|
|
1475
|
+
wrapLabel: t("terminal.wrapLabel"),
|
|
1476
|
+
unwrapLabel: t("terminal.unwrapLabel"),
|
|
1474
1477
|
copy: t("copy"),
|
|
1475
1478
|
copied: t("copied"),
|
|
1476
1479
|
collapseAria: t("diff.collapseAria"),
|
|
1477
1480
|
expandAria: (count) => t("diff.expandAria", { count }),
|
|
1478
1481
|
collapse: t("terminal.collapse"),
|
|
1479
|
-
expand: (hidden) => t("terminal.expand", { n: hidden })
|
|
1480
|
-
files: (count) => t("diff.files", { count })
|
|
1482
|
+
expand: (hidden) => t("terminal.expand", { n: hidden })
|
|
1481
1483
|
};
|
|
1482
1484
|
}
|
|
1483
1485
|
/** Read-card labels bound to the focus locale. */
|
|
1484
1486
|
function readLabels(t) {
|
|
1485
1487
|
return {
|
|
1488
|
+
codeLabel: t("terminal.codeLabel"),
|
|
1489
|
+
wrapLabel: t("terminal.wrapLabel"),
|
|
1490
|
+
unwrapLabel: t("terminal.unwrapLabel"),
|
|
1486
1491
|
window: (shown, total) => t("read.window", {
|
|
1487
1492
|
shown,
|
|
1488
1493
|
total
|
|
@@ -1566,9 +1571,9 @@ window.__ModuleLoader__.load({
|
|
|
1566
1571
|
document.head.appendChild(tag);
|
|
1567
1572
|
}
|
|
1568
1573
|
var ImageLightbox_module_css_default = {
|
|
1569
|
-
"backdrop": "zKLoba_backdrop",
|
|
1570
|
-
"mask": "zKLoba_mask",
|
|
1571
1574
|
"close": "zKLoba_close",
|
|
1575
|
+
"mask": "zKLoba_mask",
|
|
1576
|
+
"backdrop": "zKLoba_backdrop",
|
|
1572
1577
|
"image": "zKLoba_image"
|
|
1573
1578
|
};
|
|
1574
1579
|
//#endregion
|
|
@@ -1623,7 +1628,7 @@ window.__ModuleLoader__.load({
|
|
|
1623
1628
|
className: ImageLightbox_module_css_default.close,
|
|
1624
1629
|
"aria-label": labels.close,
|
|
1625
1630
|
onClick: onClose,
|
|
1626
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1631
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCloseOutlineRegular, { size: 16 })
|
|
1627
1632
|
})
|
|
1628
1633
|
]
|
|
1629
1634
|
}), document.body);
|
|
@@ -1909,12 +1914,12 @@ window.__ModuleLoader__.load({
|
|
|
1909
1914
|
var ThinkRow_module_css_default = {
|
|
1910
1915
|
"thinkSeparator": "dJ1PEG_thinkSeparator",
|
|
1911
1916
|
"thinkPreview": "dJ1PEG_thinkPreview",
|
|
1912
|
-
"
|
|
1917
|
+
"thinkPreviewText": "dJ1PEG_thinkPreviewText",
|
|
1918
|
+
"thinkRow": "dJ1PEG_thinkRow",
|
|
1913
1919
|
"thinkWrap": "dJ1PEG_thinkWrap",
|
|
1914
1920
|
"dsh-focus-reasoning-sweep": "dJ1PEG_dsh-focus-reasoning-sweep",
|
|
1921
|
+
"thinkSummary": "dJ1PEG_thinkSummary",
|
|
1915
1922
|
"thinkPreviewClip": "dJ1PEG_thinkPreviewClip",
|
|
1916
|
-
"thinkRow": "dJ1PEG_thinkRow",
|
|
1917
|
-
"thinkPreviewText": "dJ1PEG_thinkPreviewText",
|
|
1918
1923
|
"thinkBody": "dJ1PEG_thinkBody"
|
|
1919
1924
|
};
|
|
1920
1925
|
//#endregion
|
|
@@ -1955,7 +1960,7 @@ window.__ModuleLoader__.load({
|
|
|
1955
1960
|
}),
|
|
1956
1961
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1957
1962
|
className: ThinkRow_module_css_default.thinkRow,
|
|
1958
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1963
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconThinkOutlineMedium, { size: 14 }),
|
|
1959
1964
|
title,
|
|
1960
1965
|
open: expanded,
|
|
1961
1966
|
expandable: true,
|
|
@@ -2109,11 +2114,11 @@ window.__ModuleLoader__.load({
|
|
|
2109
2114
|
fill: "currentColor"
|
|
2110
2115
|
})
|
|
2111
2116
|
});
|
|
2112
|
-
case "file": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2117
|
+
case "file": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutlineRegular, {
|
|
2113
2118
|
size,
|
|
2114
2119
|
className
|
|
2115
2120
|
});
|
|
2116
|
-
case "folder": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2121
|
+
case "folder": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconFolderCloseRegular, {
|
|
2117
2122
|
size,
|
|
2118
2123
|
className
|
|
2119
2124
|
});
|
|
@@ -2131,38 +2136,38 @@ window.__ModuleLoader__.load({
|
|
|
2131
2136
|
document.head.appendChild(tag);
|
|
2132
2137
|
}
|
|
2133
2138
|
var ContextRow_module_css_default = {
|
|
2134
|
-
"
|
|
2135
|
-
"
|
|
2139
|
+
"contextFiles": "_179bCq_contextFiles",
|
|
2140
|
+
"contextFileAction": "_179bCq_contextFileAction",
|
|
2141
|
+
"contextEntryDescription": "_179bCq_contextEntryDescription",
|
|
2142
|
+
"contextChevron": "_179bCq_contextChevron",
|
|
2143
|
+
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2144
|
+
"contextRecallCounts": "_179bCq_contextRecallCounts",
|
|
2145
|
+
"contextFilePath": "_179bCq_contextFilePath",
|
|
2146
|
+
"contextEntry": "_179bCq_contextEntry",
|
|
2136
2147
|
"contextText": "_179bCq_contextText",
|
|
2148
|
+
"contextRelaySender": "_179bCq_contextRelaySender",
|
|
2149
|
+
"contextRow": "_179bCq_contextRow",
|
|
2150
|
+
"contextEntryName": "_179bCq_contextEntryName",
|
|
2151
|
+
"contextField": "_179bCq_contextField",
|
|
2137
2152
|
"contextNotice": "_179bCq_contextNotice",
|
|
2138
|
-
"
|
|
2139
|
-
"contextSections": "_179bCq_contextSections",
|
|
2140
|
-
"contextRecalls": "_179bCq_contextRecalls",
|
|
2141
|
-
"contextEntry": "_179bCq_contextEntry",
|
|
2153
|
+
"contextEntries": "_179bCq_contextEntries",
|
|
2142
2154
|
"contextSectionText": "_179bCq_contextSectionText",
|
|
2143
|
-
"
|
|
2155
|
+
"contextRecallLabel": "_179bCq_contextRecallLabel",
|
|
2156
|
+
"contextSummary": "_179bCq_contextSummary",
|
|
2144
2157
|
"thinkSeparator": "_179bCq_thinkSeparator",
|
|
2145
|
-
"
|
|
2158
|
+
"contextFile": "_179bCq_contextFile",
|
|
2146
2159
|
"contextSection": "_179bCq_contextSection",
|
|
2147
|
-
"contextField": "_179bCq_contextField",
|
|
2148
|
-
"contextFileAction": "_179bCq_contextFileAction",
|
|
2149
|
-
"contextRecallCounts": "_179bCq_contextRecallCounts",
|
|
2150
|
-
"contextSectionName": "_179bCq_contextSectionName",
|
|
2151
|
-
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2152
2160
|
"contextFold": "_179bCq_contextFold",
|
|
2161
|
+
"contextFieldValue": "_179bCq_contextFieldValue",
|
|
2162
|
+
"contextSectionName": "_179bCq_contextSectionName",
|
|
2163
|
+
"contextBody": "_179bCq_contextBody",
|
|
2153
2164
|
"contextFoldRow": "_179bCq_contextFoldRow",
|
|
2154
|
-
"
|
|
2155
|
-
"contextRecallLabel": "_179bCq_contextRecallLabel",
|
|
2156
|
-
"contextRecall": "_179bCq_contextRecall",
|
|
2157
|
-
"contextRow": "_179bCq_contextRow",
|
|
2158
|
-
"contextChevron": "_179bCq_contextChevron",
|
|
2165
|
+
"contextSections": "_179bCq_contextSections",
|
|
2159
2166
|
"contextFieldKey": "_179bCq_contextFieldKey",
|
|
2160
|
-
"contextFieldValue": "_179bCq_contextFieldValue",
|
|
2161
|
-
"contextFiles": "_179bCq_contextFiles",
|
|
2162
2167
|
"contextSource": "_179bCq_contextSource",
|
|
2163
|
-
"
|
|
2164
|
-
"
|
|
2165
|
-
"
|
|
2168
|
+
"contextFields": "_179bCq_contextFields",
|
|
2169
|
+
"contextRecall": "_179bCq_contextRecall",
|
|
2170
|
+
"contextRecalls": "_179bCq_contextRecalls"
|
|
2166
2171
|
};
|
|
2167
2172
|
//#endregion
|
|
2168
2173
|
//#region src/client/view/rows/ContextRow.tsx
|
|
@@ -2561,7 +2566,7 @@ window.__ModuleLoader__.load({
|
|
|
2561
2566
|
const ContextRow = (0, react.memo)(function ContextRow({ item, t, mdLabels }) {
|
|
2562
2567
|
const [open, setOpen] = (0, react.useState)(false);
|
|
2563
2568
|
const context = item.context;
|
|
2564
|
-
const provenance = context?.
|
|
2569
|
+
const provenance = context?.producer;
|
|
2565
2570
|
const label = provenance === void 0 ? null : provenance.label;
|
|
2566
2571
|
const { rendered, summary, body } = contextBody(context?.form ?? null, {
|
|
2567
2572
|
content: item.content,
|
|
@@ -2576,7 +2581,7 @@ window.__ModuleLoader__.load({
|
|
|
2576
2581
|
icon: recall ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2577
2582
|
"data-context-recall-icon": true,
|
|
2578
2583
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReferenceIcon, { kind: "session" })
|
|
2579
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2584
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconContextInjectionOutlineRegular, { size: 14 }),
|
|
2580
2585
|
title,
|
|
2581
2586
|
open,
|
|
2582
2587
|
expandable: true,
|
|
@@ -2620,7 +2625,7 @@ window.__ModuleLoader__.load({
|
|
|
2620
2625
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
2621
2626
|
className: ContextRow_module_css_default.contextFoldRow,
|
|
2622
2627
|
chevronClassName: ContextRow_module_css_default.contextChevron,
|
|
2623
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2628
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconContextInjectionOutlineRegular, { size: 14 }),
|
|
2624
2629
|
title,
|
|
2625
2630
|
open,
|
|
2626
2631
|
expandable: true,
|
|
@@ -2668,16 +2673,16 @@ window.__ModuleLoader__.load({
|
|
|
2668
2673
|
//#region src/client/view/helpers/icons.tsx
|
|
2669
2674
|
/** Tool-family leading icons, mirroring the chat GenericToolCard table (glyphs at 14). */
|
|
2670
2675
|
const VARIANT_ICONS = {
|
|
2671
|
-
search: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2672
|
-
read: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2673
|
-
bash: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2674
|
-
write: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2675
|
-
edit: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2676
|
-
code: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2677
|
-
question: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2678
|
-
todo: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2679
|
-
skill: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2680
|
-
others: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
2676
|
+
search: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 }),
|
|
2677
|
+
read: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutlineRegular, { size: 14 }),
|
|
2678
|
+
bash: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconApiOutlineMedium, { size: 14 }),
|
|
2679
|
+
write: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutlineRegular, { size: 14 }),
|
|
2680
|
+
edit: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconEditOutlineRegular, { size: 14 }),
|
|
2681
|
+
code: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
|
|
2682
|
+
question: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconQuestionOutlineMedium, { size: 14 }),
|
|
2683
|
+
todo: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChecklistOutlineMedium, { size: 14 }),
|
|
2684
|
+
skill: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSkillOutlineRegular, { size: 14 }),
|
|
2685
|
+
others: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSparkleRegular, { size: 14 })
|
|
2681
2686
|
};
|
|
2682
2687
|
/** Tool name → leading-icon family (mirrors the chat row classification). */
|
|
2683
2688
|
const TOOL_VARIANTS = {
|
|
@@ -2695,11 +2700,8 @@ window.__ModuleLoader__.load({
|
|
|
2695
2700
|
edit: "edit",
|
|
2696
2701
|
str_replace_editor: "edit",
|
|
2697
2702
|
run_code: "code",
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
cordis_run: "others",
|
|
2701
|
-
cordis_stop: "others",
|
|
2702
|
-
cordis_undefine: "others",
|
|
2703
|
+
cordis_inspect_list: "read",
|
|
2704
|
+
cordis_inspect_query: "read",
|
|
2703
2705
|
ask_user_question: "question"
|
|
2704
2706
|
};
|
|
2705
2707
|
/** One call's leading glyph: the family icon, or the state dot for failures. */
|
|
@@ -2724,31 +2726,31 @@ window.__ModuleLoader__.load({
|
|
|
2724
2726
|
document.head.appendChild(tag);
|
|
2725
2727
|
}
|
|
2726
2728
|
var ToolCallRow_module_css_default = {
|
|
2727
|
-
"
|
|
2729
|
+
"callFileLink": "_4yws7G_callFileLink",
|
|
2730
|
+
"subcalls": "_4yws7G_subcalls",
|
|
2731
|
+
"codeBody": "_4yws7G_codeBody",
|
|
2732
|
+
"callRow": "_4yws7G_callRow",
|
|
2733
|
+
"searchBody": "_4yws7G_searchBody",
|
|
2728
2734
|
"callLeading": "_4yws7G_callLeading",
|
|
2729
|
-
"
|
|
2735
|
+
"ioSection": "_4yws7G_ioSection",
|
|
2736
|
+
"callTitle": "_4yws7G_callTitle",
|
|
2730
2737
|
"callRowInner": "_4yws7G_callRowInner",
|
|
2731
|
-
"readBody": "_4yws7G_readBody",
|
|
2732
2738
|
"diffBody": "_4yws7G_diffBody",
|
|
2733
|
-
"
|
|
2734
|
-
"
|
|
2735
|
-
"dsh-focus-tool-row-sweep": "_4yws7G_dsh-focus-tool-row-sweep",
|
|
2739
|
+
"bodyScroll": "_4yws7G_bodyScroll",
|
|
2740
|
+
"callChevron": "_4yws7G_callChevron",
|
|
2736
2741
|
"callBodyWrap": "_4yws7G_callBodyWrap",
|
|
2737
|
-
"
|
|
2738
|
-
"ioDivider": "_4yws7G_ioDivider",
|
|
2739
|
-
"callSummary": "_4yws7G_callSummary",
|
|
2740
|
-
"codeBody": "_4yws7G_codeBody",
|
|
2741
|
-
"terminalBody": "_4yws7G_terminalBody",
|
|
2742
|
-
"subcalls": "_4yws7G_subcalls",
|
|
2743
|
-
"callFileLink": "_4yws7G_callFileLink",
|
|
2742
|
+
"dsh-focus-tool-row-sweep": "_4yws7G_dsh-focus-tool-row-sweep",
|
|
2744
2743
|
"callErrorSummary": "_4yws7G_callErrorSummary",
|
|
2744
|
+
"ioDivider": "_4yws7G_ioDivider",
|
|
2745
2745
|
"ioText": "_4yws7G_ioText",
|
|
2746
|
+
"readBody": "_4yws7G_readBody",
|
|
2747
|
+
"webBody": "_4yws7G_webBody",
|
|
2748
|
+
"terminalBody": "_4yws7G_terminalBody",
|
|
2746
2749
|
"callSeparator": "_4yws7G_callSeparator",
|
|
2747
|
-
"
|
|
2748
|
-
"
|
|
2749
|
-
"
|
|
2750
|
-
"
|
|
2751
|
-
"bodyScroll": "_4yws7G_bodyScroll"
|
|
2750
|
+
"callSummary": "_4yws7G_callSummary",
|
|
2751
|
+
"ioCard": "_4yws7G_ioCard",
|
|
2752
|
+
"ioLabel": "_4yws7G_ioLabel",
|
|
2753
|
+
"searchRecovery": "_4yws7G_searchRecovery"
|
|
2752
2754
|
};
|
|
2753
2755
|
//#endregion
|
|
2754
2756
|
//#region src/client/view/rows/ToolCallRow.tsx
|
|
@@ -3015,7 +3017,7 @@ window.__ModuleLoader__.load({
|
|
|
3015
3017
|
"data-state": group.running ? "running" : "ok",
|
|
3016
3018
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
3017
3019
|
className: ToolGroupRow_module_css_default.groupRowInner,
|
|
3018
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3020
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSparkleRegular, { size: 16 }),
|
|
3019
3021
|
title: "",
|
|
3020
3022
|
open: expanded,
|
|
3021
3023
|
expandable: true,
|
|
@@ -3071,10 +3073,10 @@ window.__ModuleLoader__.load({
|
|
|
3071
3073
|
document.head.appendChild(tag);
|
|
3072
3074
|
}
|
|
3073
3075
|
var SystemPromptRow_module_css_default = {
|
|
3074
|
-
"text": "OTeFQG_text",
|
|
3075
|
-
"root": "OTeFQG_root",
|
|
3076
3076
|
"chevron": "OTeFQG_chevron",
|
|
3077
|
-
"
|
|
3077
|
+
"text": "OTeFQG_text",
|
|
3078
|
+
"body": "OTeFQG_body",
|
|
3079
|
+
"root": "OTeFQG_root"
|
|
3078
3080
|
};
|
|
3079
3081
|
//#endregion
|
|
3080
3082
|
//#region src/client/view/rows/SystemPromptRow.tsx
|
|
@@ -3088,7 +3090,7 @@ window.__ModuleLoader__.load({
|
|
|
3088
3090
|
const [open, setOpen] = (0, react.useState)(false);
|
|
3089
3091
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
3090
3092
|
className: SystemPromptRow_module_css_default.root,
|
|
3091
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3093
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutlineRegular, { size: 14 }),
|
|
3092
3094
|
chevronClassName: SystemPromptRow_module_css_default.chevron,
|
|
3093
3095
|
title: t("systemPrompt"),
|
|
3094
3096
|
open,
|
|
@@ -3125,10 +3127,10 @@ window.__ModuleLoader__.load({
|
|
|
3125
3127
|
document.head.appendChild(tag);
|
|
3126
3128
|
}
|
|
3127
3129
|
var MessageActions_module_css_default = {
|
|
3128
|
-
"messageClock": "_4s79ma_messageClock",
|
|
3129
|
-
"messageActions": "_4s79ma_messageActions",
|
|
3130
3130
|
"messageAction": "_4s79ma_messageAction",
|
|
3131
|
-
"
|
|
3131
|
+
"messageActions": "_4s79ma_messageActions",
|
|
3132
|
+
"messageClockDot": "_4s79ma_messageClockDot",
|
|
3133
|
+
"messageClock": "_4s79ma_messageClock"
|
|
3132
3134
|
};
|
|
3133
3135
|
//#endregion
|
|
3134
3136
|
//#region src/client/view/chrome/MessageActions.tsx
|
|
@@ -3207,7 +3209,7 @@ window.__ModuleLoader__.load({
|
|
|
3207
3209
|
className: MessageActions_module_css_default.messageAction,
|
|
3208
3210
|
"aria-label": copied ? t("copied") : t("copy"),
|
|
3209
3211
|
onClick: onCopy,
|
|
3210
|
-
children: copied ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3212
|
+
children: copied ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCopyOutlineRegular, {})
|
|
3211
3213
|
})
|
|
3212
3214
|
}),
|
|
3213
3215
|
extraActions,
|
|
@@ -3221,7 +3223,7 @@ window.__ModuleLoader__.load({
|
|
|
3221
3223
|
"aria-disabled": branchUnavailable || void 0,
|
|
3222
3224
|
"data-unavailable": branchUnavailable || void 0,
|
|
3223
3225
|
onClick: branchUnavailable ? void 0 : onBranch,
|
|
3224
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3226
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBranchOutlineRegular, {})
|
|
3225
3227
|
})
|
|
3226
3228
|
}),
|
|
3227
3229
|
clock === "end" ? clockEl : null
|
|
@@ -3241,9 +3243,9 @@ window.__ModuleLoader__.load({
|
|
|
3241
3243
|
}
|
|
3242
3244
|
var UserBubble_module_css_default = {
|
|
3243
3245
|
"userRow": "F9H9aG_userRow",
|
|
3244
|
-
"
|
|
3246
|
+
"userStack": "F9H9aG_userStack",
|
|
3245
3247
|
"refChip": "F9H9aG_refChip",
|
|
3246
|
-
"
|
|
3248
|
+
"bubble": "F9H9aG_bubble"
|
|
3247
3249
|
};
|
|
3248
3250
|
//#endregion
|
|
3249
3251
|
//#region src/client/view/rows/UserBubble.tsx
|
|
@@ -3282,27 +3284,30 @@ window.__ModuleLoader__.load({
|
|
|
3282
3284
|
})]
|
|
3283
3285
|
});
|
|
3284
3286
|
});
|
|
3285
|
-
const PendingSteeringBubble = (0, react.memo)(function PendingSteeringBubble({
|
|
3286
|
-
const text =
|
|
3287
|
-
const images =
|
|
3288
|
-
const
|
|
3289
|
-
const showBubble = text !== "" ||
|
|
3287
|
+
const PendingSteeringBubble = (0, react.memo)(function PendingSteeringBubble({ submission, t }) {
|
|
3288
|
+
const text = submission.text;
|
|
3289
|
+
const images = submission.attachments.filter((attachment) => attachment.type === "image");
|
|
3290
|
+
const files = submission.attachments.filter((attachment) => attachment.type === "file");
|
|
3291
|
+
const showBubble = text !== "" || files.length > 0;
|
|
3290
3292
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3291
3293
|
className: UserBubble_module_css_default.userRow,
|
|
3292
3294
|
"data-pending-steering": true,
|
|
3293
3295
|
"data-time-hover-root": true,
|
|
3294
3296
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3295
3297
|
className: UserBubble_module_css_default.userStack,
|
|
3296
|
-
children: [images.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3298
|
+
children: [images.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3299
|
+
className: UserBubble_module_css_default.bubble,
|
|
3300
|
+
"data-pending-images": true,
|
|
3301
|
+
children: images.map((attachment, index) => attachment.type === "image" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
3302
|
+
className: UserBubble_module_css_default.pendingImage,
|
|
3303
|
+
src: attachment.value.previewUrl,
|
|
3304
|
+
alt: attachment.value.name ?? ""
|
|
3305
|
+
}, index))
|
|
3301
3306
|
}), showBubble && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3302
3307
|
className: UserBubble_module_css_default.bubble,
|
|
3303
|
-
children: [(0, _deepseek_ai_dsh_client_ui_primitives.projectUserText)(text, []),
|
|
3308
|
+
children: [(0, _deepseek_ai_dsh_client_ui_primitives.projectUserText)(text, []), files.map((attachment, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
3304
3309
|
label: t("extraBlock"),
|
|
3305
|
-
payload:
|
|
3310
|
+
payload: attachment,
|
|
3306
3311
|
truncatedLabel: jsonTruncated(t)
|
|
3307
3312
|
}, index))]
|
|
3308
3313
|
})]
|
|
@@ -3359,14 +3364,14 @@ window.__ModuleLoader__.load({
|
|
|
3359
3364
|
document.head.appendChild(tag);
|
|
3360
3365
|
}
|
|
3361
3366
|
var MessageFeedbackActions_module_css_default = {
|
|
3362
|
-
"
|
|
3363
|
-
"action": "-anQya_action",
|
|
3364
|
-
"failure": "-anQya_failure",
|
|
3365
|
-
"noteOpen": "-anQya_noteOpen",
|
|
3367
|
+
"notePanel": "-anQya_notePanel",
|
|
3366
3368
|
"noteActions": "-anQya_noteActions",
|
|
3369
|
+
"noteSave": "-anQya_noteSave",
|
|
3367
3370
|
"noteCancel": "-anQya_noteCancel",
|
|
3368
|
-
"
|
|
3369
|
-
"
|
|
3371
|
+
"noteInput": "-anQya_noteInput",
|
|
3372
|
+
"failure": "-anQya_failure",
|
|
3373
|
+
"action": "-anQya_action",
|
|
3374
|
+
"noteOpen": "-anQya_noteOpen"
|
|
3370
3375
|
};
|
|
3371
3376
|
//#endregion
|
|
3372
3377
|
//#region src/client/view/chrome/MessageFeedbackActions.tsx
|
|
@@ -3550,7 +3555,7 @@ window.__ModuleLoader__.load({
|
|
|
3550
3555
|
onClick: () => {
|
|
3551
3556
|
onRate("positive");
|
|
3552
3557
|
},
|
|
3553
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3558
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconLikeOutlineRegular, {})
|
|
3554
3559
|
})
|
|
3555
3560
|
}),
|
|
3556
3561
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
@@ -3568,7 +3573,7 @@ window.__ModuleLoader__.load({
|
|
|
3568
3573
|
onClick: () => {
|
|
3569
3574
|
onRate("negative");
|
|
3570
3575
|
},
|
|
3571
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3576
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDislikeOutlineRegular, {})
|
|
3572
3577
|
})
|
|
3573
3578
|
}),
|
|
3574
3579
|
rating !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
@@ -3651,15 +3656,15 @@ window.__ModuleLoader__.load({
|
|
|
3651
3656
|
document.head.appendChild(tag);
|
|
3652
3657
|
}
|
|
3653
3658
|
var TurnUsageDisclosure_module_css_default = {
|
|
3659
|
+
"totalLabel": "xrt96a_totalLabel",
|
|
3654
3660
|
"root": "xrt96a_root",
|
|
3655
|
-
"details": "xrt96a_details",
|
|
3656
3661
|
"summary": "xrt96a_summary",
|
|
3657
|
-
"separator": "xrt96a_separator",
|
|
3658
3662
|
"reasoning": "xrt96a_reasoning",
|
|
3659
3663
|
"totalValue": "xrt96a_totalValue",
|
|
3660
|
-
"
|
|
3661
|
-
"
|
|
3662
|
-
"
|
|
3664
|
+
"chevron": "xrt96a_chevron",
|
|
3665
|
+
"details": "xrt96a_details",
|
|
3666
|
+
"separator": "xrt96a_separator",
|
|
3667
|
+
"route": "xrt96a_route"
|
|
3663
3668
|
};
|
|
3664
3669
|
//#endregion
|
|
3665
3670
|
//#region src/client/view/rows/TurnUsageDisclosure.tsx
|
|
@@ -3697,7 +3702,7 @@ window.__ModuleLoader__.load({
|
|
|
3697
3702
|
});
|
|
3698
3703
|
const routes = usage.routes?.map((route) => `${route.provider}/${route.model}`).join(", ") ?? "";
|
|
3699
3704
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
3700
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3705
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDataOutlineRegular, {}),
|
|
3701
3706
|
title: t("turnUsage.title"),
|
|
3702
3707
|
open,
|
|
3703
3708
|
expandable: true,
|
|
@@ -3756,14 +3761,14 @@ window.__ModuleLoader__.load({
|
|
|
3756
3761
|
document.head.appendChild(tag);
|
|
3757
3762
|
}
|
|
3758
3763
|
var TurnTailRow_module_css_default = {
|
|
3759
|
-
"
|
|
3764
|
+
"turnTail": "g6Vo2a_turnTail",
|
|
3760
3765
|
"producedLane": "g6Vo2a_producedLane",
|
|
3761
|
-
"producedMeasure": "g6Vo2a_producedMeasure",
|
|
3762
3766
|
"producedRow": "g6Vo2a_producedRow",
|
|
3763
3767
|
"producedShowFolder": "g6Vo2a_producedShowFolder",
|
|
3764
|
-
"turnTail": "g6Vo2a_turnTail",
|
|
3765
3768
|
"producedMore": "g6Vo2a_producedMore",
|
|
3766
|
-
"
|
|
3769
|
+
"producedLabel": "g6Vo2a_producedLabel",
|
|
3770
|
+
"producedFile": "g6Vo2a_producedFile",
|
|
3771
|
+
"producedMeasure": "g6Vo2a_producedMeasure"
|
|
3767
3772
|
};
|
|
3768
3773
|
//#endregion
|
|
3769
3774
|
//#region src/client/view/rows/TurnTailRow.tsx
|
|
@@ -3905,12 +3910,12 @@ window.__ModuleLoader__.load({
|
|
|
3905
3910
|
document.head.appendChild(tag);
|
|
3906
3911
|
}
|
|
3907
3912
|
var CommandRow_module_css_default = {
|
|
3908
|
-
"
|
|
3913
|
+
"commandSummary": "EhZFdG_commandSummary",
|
|
3909
3914
|
"commandRowInner": "EhZFdG_commandRowInner",
|
|
3910
3915
|
"thinkSeparator": "EhZFdG_thinkSeparator",
|
|
3911
|
-
"
|
|
3916
|
+
"dsh-focus-command-row-sweep": "EhZFdG_dsh-focus-command-row-sweep",
|
|
3912
3917
|
"commandRow": "EhZFdG_commandRow",
|
|
3913
|
-
"
|
|
3918
|
+
"commandBody": "EhZFdG_commandBody"
|
|
3914
3919
|
};
|
|
3915
3920
|
//#endregion
|
|
3916
3921
|
//#region src/client/view/rows/CommandRow.tsx
|
|
@@ -3930,7 +3935,7 @@ window.__ModuleLoader__.load({
|
|
|
3930
3935
|
children: t("row.running")
|
|
3931
3936
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
3932
3937
|
className: CommandRow_module_css_default.commandRowInner,
|
|
3933
|
-
icon: item.outcomeError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "error" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
3938
|
+
icon: item.outcomeError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "error" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconApiOutlineMedium, { size: 14 }),
|
|
3934
3939
|
title,
|
|
3935
3940
|
open,
|
|
3936
3941
|
expandable: body !== null,
|
|
@@ -3968,15 +3973,15 @@ window.__ModuleLoader__.load({
|
|
|
3968
3973
|
document.head.appendChild(tag);
|
|
3969
3974
|
}
|
|
3970
3975
|
var CompactionRow_module_css_default = {
|
|
3976
|
+
"compactionButton": "MjDQ7W_compactionButton",
|
|
3977
|
+
"compactionSummary": "MjDQ7W_compactionSummary",
|
|
3971
3978
|
"compactionBody": "MjDQ7W_compactionBody",
|
|
3972
|
-
"compactionSep": "MjDQ7W_compactionSep",
|
|
3973
|
-
"compactionTitle": "MjDQ7W_compactionTitle",
|
|
3974
|
-
"compactionRow": "MjDQ7W_compactionRow",
|
|
3975
3979
|
"compactionLeading": "MjDQ7W_compactionLeading",
|
|
3976
|
-
"compactionContextIcon": "MjDQ7W_compactionContextIcon",
|
|
3977
|
-
"compactionButton": "MjDQ7W_compactionButton",
|
|
3978
3980
|
"compactionDisclosureIcon": "MjDQ7W_compactionDisclosureIcon",
|
|
3979
|
-
"
|
|
3981
|
+
"compactionRow": "MjDQ7W_compactionRow",
|
|
3982
|
+
"compactionSep": "MjDQ7W_compactionSep",
|
|
3983
|
+
"compactionTitle": "MjDQ7W_compactionTitle",
|
|
3984
|
+
"compactionContextIcon": "MjDQ7W_compactionContextIcon"
|
|
3980
3985
|
};
|
|
3981
3986
|
//#endregion
|
|
3982
3987
|
//#region src/client/view/rows/CompactionRow.tsx
|
|
@@ -4006,11 +4011,11 @@ window.__ModuleLoader__.load({
|
|
|
4006
4011
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4007
4012
|
className: CompactionRow_module_css_default.compactionContextIcon,
|
|
4008
4013
|
"data-compaction-icon": "context",
|
|
4009
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4014
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconApiOutlineMedium, {})
|
|
4010
4015
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4011
4016
|
className: CompactionRow_module_css_default.compactionDisclosureIcon,
|
|
4012
4017
|
"data-compaction-disclosure": open ? "expanded" : "collapsed",
|
|
4013
|
-
children: !open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4018
|
+
children: !open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineMedium, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineMedium, {})
|
|
4014
4019
|
})]
|
|
4015
4020
|
}),
|
|
4016
4021
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -4077,12 +4082,12 @@ window.__ModuleLoader__.load({
|
|
|
4077
4082
|
document.head.appendChild(tag);
|
|
4078
4083
|
}
|
|
4079
4084
|
var RetryRow_module_css_default = {
|
|
4080
|
-
"
|
|
4085
|
+
"retrySummary": "Z1bpSa_retrySummary",
|
|
4086
|
+
"retryRow": "Z1bpSa_retryRow",
|
|
4081
4087
|
"retryText": "Z1bpSa_retryText",
|
|
4088
|
+
"dsh-focus-retry-shimmer": "Z1bpSa_dsh-focus-retry-shimmer",
|
|
4082
4089
|
"retryDetailLabel": "Z1bpSa_retryDetailLabel",
|
|
4083
|
-
"retryDetails": "Z1bpSa_retryDetails"
|
|
4084
|
-
"retrySummary": "Z1bpSa_retrySummary",
|
|
4085
|
-
"retryRow": "Z1bpSa_retryRow"
|
|
4090
|
+
"retryDetails": "Z1bpSa_retryDetails"
|
|
4086
4091
|
};
|
|
4087
4092
|
//#endregion
|
|
4088
4093
|
//#region src/client/view/rows/RetryRow.tsx
|
|
@@ -4166,10 +4171,10 @@ window.__ModuleLoader__.load({
|
|
|
4166
4171
|
}
|
|
4167
4172
|
var TurnFoldRow_module_css_default = {
|
|
4168
4173
|
"turnFold": "Gcx_5W_turnFold",
|
|
4169
|
-
"label": "Gcx_5W_label",
|
|
4170
|
-
"turnFoldBody": "Gcx_5W_turnFoldBody",
|
|
4171
4174
|
"root": "Gcx_5W_root",
|
|
4172
|
-
"
|
|
4175
|
+
"label": "Gcx_5W_label",
|
|
4176
|
+
"chevron": "Gcx_5W_chevron",
|
|
4177
|
+
"turnFoldBody": "Gcx_5W_turnFoldBody"
|
|
4173
4178
|
};
|
|
4174
4179
|
//#endregion
|
|
4175
4180
|
//#region src/client/view/rows/TurnFoldRow.tsx
|
|
@@ -4198,7 +4203,7 @@ window.__ModuleLoader__.load({
|
|
|
4198
4203
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4199
4204
|
className: TurnFoldRow_module_css_default.label,
|
|
4200
4205
|
children: item.stopped ? t("turnFold.stopped", { duration }) : t("worked", { duration })
|
|
4201
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4206
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineMedium, { className: TurnFoldRow_module_css_default.chevron })]
|
|
4202
4207
|
}), expanded && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
4203
4208
|
className: TurnFoldRow_module_css_default.turnFoldBody,
|
|
4204
4209
|
"data-turn-fold-body": true,
|
|
@@ -4228,15 +4233,15 @@ window.__ModuleLoader__.load({
|
|
|
4228
4233
|
document.head.appendChild(tag);
|
|
4229
4234
|
}
|
|
4230
4235
|
var FlowRow_module_css_default = {
|
|
4231
|
-
"turnErrorCode": "W4FZQG_turnErrorCode",
|
|
4232
|
-
"stopped": "W4FZQG_stopped",
|
|
4233
4236
|
"turnErrorRow": "W4FZQG_turnErrorRow",
|
|
4237
|
+
"turnErrorCode": "W4FZQG_turnErrorCode",
|
|
4238
|
+
"turnErrorMessage": "W4FZQG_turnErrorMessage",
|
|
4239
|
+
"turnErrorCopy": "W4FZQG_turnErrorCopy",
|
|
4234
4240
|
"assistant": "W4FZQG_assistant",
|
|
4235
|
-
"
|
|
4236
|
-
"turnErrorTitle": "W4FZQG_turnErrorTitle",
|
|
4241
|
+
"stopped": "W4FZQG_stopped",
|
|
4237
4242
|
"contextRow": "W4FZQG_contextRow",
|
|
4238
|
-
"
|
|
4239
|
-
"
|
|
4243
|
+
"turnErrorDot": "W4FZQG_turnErrorDot",
|
|
4244
|
+
"turnErrorTitle": "W4FZQG_turnErrorTitle"
|
|
4240
4245
|
};
|
|
4241
4246
|
//#endregion
|
|
4242
4247
|
//#region src/client/view/rows/FlowRow.tsx
|
|
@@ -4420,9 +4425,9 @@ window.__ModuleLoader__.load({
|
|
|
4420
4425
|
document.head.appendChild(tag);
|
|
4421
4426
|
}
|
|
4422
4427
|
var RunningStatus_module_css_default = {
|
|
4423
|
-
"dsh-focus-turn-shimmer": "_1zwjxa_dsh-focus-turn-shimmer",
|
|
4424
4428
|
"turnStatus": "_1zwjxa_turnStatus",
|
|
4425
|
-
"turnStatusClock": "_1zwjxa_turnStatusClock"
|
|
4429
|
+
"turnStatusClock": "_1zwjxa_turnStatusClock",
|
|
4430
|
+
"dsh-focus-turn-shimmer": "_1zwjxa_dsh-focus-turn-shimmer"
|
|
4426
4431
|
};
|
|
4427
4432
|
//#endregion
|
|
4428
4433
|
//#region src/client/view/chrome/RunningStatus.tsx
|
|
@@ -4465,18 +4470,18 @@ window.__ModuleLoader__.load({
|
|
|
4465
4470
|
document.head.appendChild(tag);
|
|
4466
4471
|
}
|
|
4467
4472
|
var TurnNavigator_module_css_default = {
|
|
4473
|
+
"markPosition": "jXLS-q_markPosition",
|
|
4474
|
+
"slot": "jXLS-q_slot",
|
|
4475
|
+
"dsh-focus-turn-mark-enter": "jXLS-q_dsh-focus-turn-mark-enter",
|
|
4476
|
+
"mark": "jXLS-q_mark",
|
|
4468
4477
|
"markPreview": "jXLS-q_markPreview",
|
|
4469
4478
|
"markActive": "jXLS-q_markActive",
|
|
4479
|
+
"rail": "jXLS-q_rail",
|
|
4470
4480
|
"marks": "jXLS-q_marks",
|
|
4471
4481
|
"previewPrompt": "jXLS-q_previewPrompt",
|
|
4472
|
-
"previewResponse": "jXLS-q_previewResponse",
|
|
4473
|
-
"rail": "jXLS-q_rail",
|
|
4474
4482
|
"dsh-focus-turn-preview-enter": "jXLS-q_dsh-focus-turn-preview-enter",
|
|
4475
|
-
"
|
|
4476
|
-
"
|
|
4477
|
-
"dsh-focus-turn-mark-enter": "jXLS-q_dsh-focus-turn-mark-enter",
|
|
4478
|
-
"slot": "jXLS-q_slot",
|
|
4479
|
-
"mark": "jXLS-q_mark"
|
|
4483
|
+
"previewResponse": "jXLS-q_previewResponse",
|
|
4484
|
+
"preview": "jXLS-q_preview"
|
|
4480
4485
|
};
|
|
4481
4486
|
//#endregion
|
|
4482
4487
|
//#region src/client/view/chrome/TurnNavigator.tsx
|
|
@@ -4588,19 +4593,19 @@ window.__ModuleLoader__.load({
|
|
|
4588
4593
|
document.head.appendChild(tag);
|
|
4589
4594
|
}
|
|
4590
4595
|
var FocusView_module_css_default = {
|
|
4591
|
-
"runningCalls": "VkMv3G_runningCalls",
|
|
4592
4596
|
"toBottom": "VkMv3G_toBottom",
|
|
4593
4597
|
"modalAction": "VkMv3G_modalAction",
|
|
4594
|
-
"hint": "VkMv3G_hint",
|
|
4595
|
-
"scroll": "VkMv3G_scroll",
|
|
4596
|
-
"root": "VkMv3G_root",
|
|
4597
4598
|
"column": "VkMv3G_column",
|
|
4598
|
-
"flowItem": "VkMv3G_flowItem",
|
|
4599
|
-
"older": "VkMv3G_older",
|
|
4600
|
-
"olderButton": "VkMv3G_olderButton",
|
|
4601
4599
|
"openError": "VkMv3G_openError",
|
|
4600
|
+
"runningCalls": "VkMv3G_runningCalls",
|
|
4601
|
+
"older": "VkMv3G_older",
|
|
4602
|
+
"empty": "VkMv3G_empty",
|
|
4602
4603
|
"toBottomSlot": "VkMv3G_toBottomSlot",
|
|
4603
|
-
"
|
|
4604
|
+
"scroll": "VkMv3G_scroll",
|
|
4605
|
+
"root": "VkMv3G_root",
|
|
4606
|
+
"hint": "VkMv3G_hint",
|
|
4607
|
+
"olderButton": "VkMv3G_olderButton",
|
|
4608
|
+
"flowItem": "VkMv3G_flowItem"
|
|
4604
4609
|
};
|
|
4605
4610
|
//#endregion
|
|
4606
4611
|
//#region src/client/view/FocusView.tsx
|
|
@@ -4737,12 +4742,12 @@ window.__ModuleLoader__.load({
|
|
|
4737
4742
|
const running = useSession((s) => s.running);
|
|
4738
4743
|
const hasMore = useSession((s) => s.hasMore);
|
|
4739
4744
|
const loadingOlder = useSession((s) => s.loadingOlder);
|
|
4740
|
-
const
|
|
4745
|
+
const pendingSubmissions = useSession((s) => s.pendingSubmissions);
|
|
4741
4746
|
const openState = useSession((s) => s.openState);
|
|
4742
4747
|
const openError = useSession((s) => s.openError);
|
|
4743
4748
|
const cwd = useSessions((s) => s.byId[sessionId]?.cwd);
|
|
4744
4749
|
const home = useHostHome((home) => home);
|
|
4745
|
-
const pendingSteering = (0, react.useMemo)(() =>
|
|
4750
|
+
const pendingSteering = (0, react.useMemo)(() => pendingSubmissions.filter((item) => item.placement === "steering"), [pendingSubmissions]);
|
|
4746
4751
|
const flowCacheRef = (0, react.useRef)(createFlowBuildCache());
|
|
4747
4752
|
const flow = (0, react.useMemo)(() => buildFocusFlow(chat.order, (key) => chat.nodes.get(key), cwd, home, flowCacheRef.current), [
|
|
4748
4753
|
chat,
|
|
@@ -4876,7 +4881,7 @@ window.__ModuleLoader__.load({
|
|
|
4876
4881
|
const lastItem = flow.at(-1);
|
|
4877
4882
|
const firstKey = flow[0] === void 0 ? null : flowKey(flow[0]);
|
|
4878
4883
|
const lastKey = lastItem === void 0 ? null : flowKey(lastItem);
|
|
4879
|
-
const lastSteeringId = pendingSteering[pendingSteering.length - 1]?.
|
|
4884
|
+
const lastSteeringId = pendingSteering[pendingSteering.length - 1]?.requestId ?? "";
|
|
4880
4885
|
const followSig = `${openState}:${firstKey}:${lastKey}:${flow.length}:${running ? 1 : 0}:${lastSteeringId}`;
|
|
4881
4886
|
const toBottom = (el) => {
|
|
4882
4887
|
anchorRef.current = null;
|
|
@@ -5141,10 +5146,9 @@ window.__ModuleLoader__.load({
|
|
|
5141
5146
|
t
|
|
5142
5147
|
}),
|
|
5143
5148
|
pendingSteering.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PendingSteeringBubble, {
|
|
5144
|
-
|
|
5145
|
-
t
|
|
5146
|
-
|
|
5147
|
-
}, item.id)),
|
|
5149
|
+
submission: item,
|
|
5150
|
+
t
|
|
5151
|
+
}, item.requestId)),
|
|
5148
5152
|
!atBottom && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
5149
5153
|
className: FocusView_module_css_default.toBottomSlot,
|
|
5150
5154
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
@@ -5156,7 +5160,7 @@ window.__ModuleLoader__.load({
|
|
|
5156
5160
|
/* v8 ignore next -- ref-null guard: the button only renders alongside the mounted list. */
|
|
5157
5161
|
if (local !== null) toBottom(scrollerOf(local));
|
|
5158
5162
|
},
|
|
5159
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
5163
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineMedium, {})
|
|
5160
5164
|
})
|
|
5161
5165
|
})
|
|
5162
5166
|
]
|
|
@@ -5561,6 +5565,10 @@ window.__ModuleLoader__.load({
|
|
|
5561
5565
|
"terminal.failed": "失败",
|
|
5562
5566
|
"terminal.done": "已完成",
|
|
5563
5567
|
"terminal.noOutput": "无输出",
|
|
5568
|
+
"terminal.noExitCode": "无退出码",
|
|
5569
|
+
"terminal.codeLabel": "代码",
|
|
5570
|
+
"terminal.wrapLabel": "自动换行",
|
|
5571
|
+
"terminal.unwrapLabel": "不换行",
|
|
5564
5572
|
"terminal.collapseAria": "收起输出",
|
|
5565
5573
|
"terminal.collapse": "收起",
|
|
5566
5574
|
"terminal.expandAria": "展开其余 {n} 行输出",
|
|
@@ -5778,6 +5786,10 @@ window.__ModuleLoader__.load({
|
|
|
5778
5786
|
"terminal.failed": "Failed",
|
|
5779
5787
|
"terminal.done": "Done",
|
|
5780
5788
|
"terminal.noOutput": "No output",
|
|
5789
|
+
"terminal.noExitCode": "No exit code",
|
|
5790
|
+
"terminal.codeLabel": "Code",
|
|
5791
|
+
"terminal.wrapLabel": "Wrap lines",
|
|
5792
|
+
"terminal.unwrapLabel": "No wrap",
|
|
5781
5793
|
"terminal.collapseAria": "Collapse output",
|
|
5782
5794
|
"terminal.collapse": "Collapse",
|
|
5783
5795
|
"terminal.expandAria": "Expand the remaining {n} output lines",
|
|
@@ -5940,7 +5952,8 @@ window.__ModuleLoader__.load({
|
|
|
5940
5952
|
"connection",
|
|
5941
5953
|
"remote",
|
|
5942
5954
|
"remote.session",
|
|
5943
|
-
"remote.messageFeedback"
|
|
5955
|
+
"remote.messageFeedback",
|
|
5956
|
+
"uiWorkspace"
|
|
5944
5957
|
];
|
|
5945
5958
|
/** Dictionary namespace owned by this plugin. */
|
|
5946
5959
|
const NS = "focus";
|
|
@@ -5996,7 +6009,7 @@ window.__ModuleLoader__.load({
|
|
|
5996
6009
|
atSeq: seq,
|
|
5997
6010
|
increaseTitle: true
|
|
5998
6011
|
}).then((childId) => {
|
|
5999
|
-
ctx.
|
|
6012
|
+
ctx.uiWorkspace.openSession(childId);
|
|
6000
6013
|
}).catch(() => {});
|
|
6001
6014
|
},
|
|
6002
6015
|
fileMentions: (owner) => {
|
|
@@ -67,6 +67,10 @@ export declare const zh: {
|
|
|
67
67
|
'terminal.failed': string;
|
|
68
68
|
'terminal.done': string;
|
|
69
69
|
'terminal.noOutput': string;
|
|
70
|
+
'terminal.noExitCode': string;
|
|
71
|
+
'terminal.codeLabel': string;
|
|
72
|
+
'terminal.wrapLabel': string;
|
|
73
|
+
'terminal.unwrapLabel': string;
|
|
70
74
|
'terminal.collapseAria': string;
|
|
71
75
|
'terminal.collapse': string;
|
|
72
76
|
'terminal.expandAria': string;
|
|
@@ -286,6 +290,10 @@ export declare const en: {
|
|
|
286
290
|
'terminal.failed': string;
|
|
287
291
|
'terminal.done': string;
|
|
288
292
|
'terminal.noOutput': string;
|
|
293
|
+
'terminal.noExitCode': string;
|
|
294
|
+
'terminal.codeLabel': string;
|
|
295
|
+
'terminal.wrapLabel': string;
|
|
296
|
+
'terminal.unwrapLabel': string;
|
|
289
297
|
'terminal.collapseAria': string;
|
|
290
298
|
'terminal.collapse': string;
|
|
291
299
|
'terminal.expandAria': string;
|
|
@@ -157,7 +157,7 @@ export type FocusFlowItem = {
|
|
|
157
157
|
/** Context-injection chrome (the chat ContextInjectionRow); absent for user/steering. */
|
|
158
158
|
context?: {
|
|
159
159
|
source: ContextMessageNode['source'];
|
|
160
|
-
|
|
160
|
+
producer: ContextMessageNode['producer'];
|
|
161
161
|
form: ContextMessageNode['form'];
|
|
162
162
|
};
|
|
163
163
|
} | {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MarkdownLabels } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PendingSubmission } from '@deepseek-ai/dsh-api-session-controller/client';
|
|
3
3
|
import type { FocusTranslate } from '../../contract/props.ts';
|
|
4
4
|
import type { FocusFlowItem } from '../../model/types.ts';
|
|
5
5
|
import { type ImageLoader } from '../chrome/MessageImage.tsx';
|
|
@@ -11,8 +11,7 @@ export declare const MessageRow: import("react").MemoExoticComponent<({ item, t,
|
|
|
11
11
|
mdLabels: MarkdownLabels;
|
|
12
12
|
loadImage: ImageLoader;
|
|
13
13
|
}) => import("react").JSX.Element>;
|
|
14
|
-
export declare const PendingSteeringBubble: import("react").MemoExoticComponent<({
|
|
15
|
-
|
|
14
|
+
export declare const PendingSteeringBubble: import("react").MemoExoticComponent<({ submission, t }: {
|
|
15
|
+
submission: PendingSubmission;
|
|
16
16
|
t: FocusTranslate;
|
|
17
|
-
loadImage: ImageLoader;
|
|
18
17
|
}) => import("react").JSX.Element>;
|
package/locale/en.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "Focus Chat",
|
|
4
|
+
"description": "Claude Code-style focus tab for the dsh web GUI: a condensed reading surface for conversations — each assistant turn folds into expandable metric summary lines (think time, commands, file edits, background-job settlements), mid-turn interjections split per-stretch, and expanded rows keep the chat view's own chrome."
|
|
5
|
+
}
|
|
6
|
+
}
|
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huanlin/dsh-focus-chat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Claude Code-style focus view for the dsh web GUI: the conversation's condensed reading surface — tool calls folded into expandable metric summaries, chat 1:1 row chrome, and streaming think rows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"default": "./lib/client.js"
|
|
15
15
|
},
|
|
16
16
|
"./src/*": "./src/*",
|
|
17
|
+
"./locale/*.json": "./locale/*.json",
|
|
17
18
|
"./package.json": "./package.json"
|
|
18
19
|
},
|
|
19
20
|
"dsh": {
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
"@deepseek-ai/dsh-client-locale",
|
|
26
27
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
27
28
|
"@deepseek-ai/dsh-client-ui-chat",
|
|
29
|
+
"@deepseek-ai/dsh-client-ui-workspace",
|
|
28
30
|
"@deepseek-ai/dsh-client-connection",
|
|
29
31
|
"@deepseek-ai/dsh-api-remotes"
|
|
30
32
|
],
|
|
@@ -36,27 +38,30 @@
|
|
|
36
38
|
"@deepseek-ai/dsh-client-locale",
|
|
37
39
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
38
40
|
"@deepseek-ai/dsh-client-ui-chat",
|
|
41
|
+
"@deepseek-ai/dsh-client-ui-workspace",
|
|
39
42
|
"@deepseek-ai/dsh-client-connection",
|
|
40
43
|
"@deepseek-ai/dsh-api-remotes"
|
|
41
44
|
],
|
|
42
45
|
"platform": "web"
|
|
43
46
|
},
|
|
44
47
|
"peerDependencies": {
|
|
45
|
-
"@deepseek-ai/cordis": "
|
|
46
|
-
"@deepseek-ai/dsh-api-remotes": "
|
|
47
|
-
"@deepseek-ai/dsh-
|
|
48
|
-
"@deepseek-ai/dsh-
|
|
49
|
-
"@deepseek-ai/dsh-client-
|
|
50
|
-
"@deepseek-ai/dsh-client-
|
|
51
|
-
"@deepseek-ai/dsh-client-ui-
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-
|
|
53
|
-
"@deepseek-ai/dsh-client-ui-
|
|
54
|
-
"@deepseek-ai/dsh-client-ui-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/dsh-
|
|
48
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
49
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.7-rc.1",
|
|
50
|
+
"@deepseek-ai/dsh-api-session-controller": "^0.1.7-rc.1",
|
|
51
|
+
"@deepseek-ai/dsh-attachment": "^0.1.7-rc.1",
|
|
52
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.7-rc.1",
|
|
53
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.7-rc.1",
|
|
55
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.1",
|
|
56
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.1",
|
|
58
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1",
|
|
59
|
+
"@deepseek-ai/dsh-client-ui-workspace": "^0.1.7-rc.1",
|
|
60
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-rc.1",
|
|
61
|
+
"@deepseek-ai/dsh-message-feedback": "^0.1.7-rc.1",
|
|
62
|
+
"@deepseek-ai/dsh-session": "^0.1.7-rc.1",
|
|
63
|
+
"@deepseek-ai/dsh-typert-protocol": "^0.1.7-rc.1",
|
|
64
|
+
"@deepseek-ai/dsh-util-workspace-path": "^0.1.7-rc.1"
|
|
60
65
|
},
|
|
61
66
|
"devDependencies": {
|
|
62
67
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
@@ -76,6 +81,7 @@
|
|
|
76
81
|
"@deepseek-ai/dsh-client-ui-renderer": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-renderer",
|
|
77
82
|
"@deepseek-ai/dsh-client-ui-session": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-session",
|
|
78
83
|
"@deepseek-ai/dsh-client-ui-slots": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-slots",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-workspace": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-workspace",
|
|
79
85
|
"@deepseek-ai/dsh-client-store": "link:D:/Projects/deepseek-harness/dsh/packages/client/store",
|
|
80
86
|
"@deepseek-ai/dsh-llm": "link:D:/Projects/deepseek-harness/dsh/packages/llm/llm",
|
|
81
87
|
"@deepseek-ai/dsh-message-feedback": "link:D:/Projects/deepseek-harness/dsh/packages/feedback/message-feedback",
|
|
@@ -102,7 +108,8 @@
|
|
|
102
108
|
"lib/index.js",
|
|
103
109
|
"lib/client.js",
|
|
104
110
|
"lib/types/**/*.d.ts",
|
|
105
|
-
"cordis.patch.yml"
|
|
111
|
+
"cordis.patch.yml",
|
|
112
|
+
"locale/"
|
|
106
113
|
],
|
|
107
114
|
"publishConfig": {
|
|
108
115
|
"access": "public"
|