@huanlin/dsh-focus-chat 0.1.23 → 0.1.24
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
CHANGED
|
@@ -18,15 +18,24 @@ window.__ModuleLoader__.load({
|
|
|
18
18
|
return /^[A-Za-z]:[/\\]/.test(value) || value.startsWith("\\\\");
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
+
* Whether a path is absolute in either spelling the Host accepts: POSIX (`/a/b`) or Windows drive or UNC.
|
|
22
|
+
* @param path - the path to classify.
|
|
23
|
+
* @returns `true` for an absolute path; `false` for a Workspace-relative one.
|
|
24
|
+
*/
|
|
25
|
+
function isAbsoluteWorkspacePath(path) {
|
|
26
|
+
return path.startsWith("/") || isWindowsStylePath(path);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
21
29
|
* Resolve a Workspace-relative path into the Host-facing spelling used by path operations.
|
|
22
30
|
* @param cwd - Session Workspace root, when known.
|
|
23
31
|
* @param path - Absolute or Workspace-relative path.
|
|
24
32
|
* @returns an absolute path when a Workspace root is available, otherwise the original path.
|
|
25
33
|
*/
|
|
26
34
|
function resolveWorkspacePath(cwd, path) {
|
|
27
|
-
if (
|
|
35
|
+
if (isAbsoluteWorkspacePath(path)) return path;
|
|
28
36
|
if (cwd === void 0 || cwd === "") return path;
|
|
29
|
-
|
|
37
|
+
const separator = isWindowsStylePath(cwd) && cwd.includes("\\") ? "\\" : "/";
|
|
38
|
+
return `${cwd.replace(/[/\\]+$/, "")}${separator}${path.replace(/^[/\\]+/, "")}`;
|
|
30
39
|
}
|
|
31
40
|
/**
|
|
32
41
|
* Abbreviate a POSIX home directory for display.
|
|
@@ -961,7 +970,9 @@ window.__ModuleLoader__.load({
|
|
|
961
970
|
nodeKey: key,
|
|
962
971
|
role: node.kind,
|
|
963
972
|
content: message.content,
|
|
964
|
-
time: message.time
|
|
973
|
+
time: message.time,
|
|
974
|
+
referenceLabels: message.referenceLabels,
|
|
975
|
+
skillNames: message.skillNames
|
|
965
976
|
};
|
|
966
977
|
if (node.kind !== "context") return base;
|
|
967
978
|
const context = message;
|
|
@@ -1556,9 +1567,9 @@ window.__ModuleLoader__.load({
|
|
|
1556
1567
|
}
|
|
1557
1568
|
var ImageLightbox_module_css_default = {
|
|
1558
1569
|
"close": "zKLoba_close",
|
|
1570
|
+
"backdrop": "zKLoba_backdrop",
|
|
1559
1571
|
"mask": "zKLoba_mask",
|
|
1560
|
-
"image": "zKLoba_image"
|
|
1561
|
-
"backdrop": "zKLoba_backdrop"
|
|
1572
|
+
"image": "zKLoba_image"
|
|
1562
1573
|
};
|
|
1563
1574
|
//#endregion
|
|
1564
1575
|
//#region src/client/view/chrome/ImageLightbox.tsx
|
|
@@ -1629,9 +1640,9 @@ window.__ModuleLoader__.load({
|
|
|
1629
1640
|
document.head.appendChild(tag);
|
|
1630
1641
|
}
|
|
1631
1642
|
var MessageImage_module_css_default = {
|
|
1632
|
-
"loading": "Bjxzta_loading",
|
|
1633
|
-
"gallery": "Bjxzta_gallery",
|
|
1634
1643
|
"frame": "Bjxzta_frame",
|
|
1644
|
+
"gallery": "Bjxzta_gallery",
|
|
1645
|
+
"loading": "Bjxzta_loading",
|
|
1635
1646
|
"error": "Bjxzta_error"
|
|
1636
1647
|
};
|
|
1637
1648
|
//#endregion
|
|
@@ -1896,15 +1907,15 @@ window.__ModuleLoader__.load({
|
|
|
1896
1907
|
document.head.appendChild(tag);
|
|
1897
1908
|
}
|
|
1898
1909
|
var ThinkRow_module_css_default = {
|
|
1899
|
-
"thinkPreviewClip": "dJ1PEG_thinkPreviewClip",
|
|
1900
|
-
"thinkWrap": "dJ1PEG_thinkWrap",
|
|
1901
1910
|
"thinkPreviewText": "dJ1PEG_thinkPreviewText",
|
|
1902
|
-
"dsh-focus-reasoning-sweep": "dJ1PEG_dsh-focus-reasoning-sweep",
|
|
1903
|
-
"thinkSeparator": "dJ1PEG_thinkSeparator",
|
|
1904
|
-
"thinkPreview": "dJ1PEG_thinkPreview",
|
|
1905
1911
|
"thinkSummary": "dJ1PEG_thinkSummary",
|
|
1906
1912
|
"thinkBody": "dJ1PEG_thinkBody",
|
|
1907
|
-
"
|
|
1913
|
+
"dsh-focus-reasoning-sweep": "dJ1PEG_dsh-focus-reasoning-sweep",
|
|
1914
|
+
"thinkWrap": "dJ1PEG_thinkWrap",
|
|
1915
|
+
"thinkRow": "dJ1PEG_thinkRow",
|
|
1916
|
+
"thinkPreviewClip": "dJ1PEG_thinkPreviewClip",
|
|
1917
|
+
"thinkPreview": "dJ1PEG_thinkPreview",
|
|
1918
|
+
"thinkSeparator": "dJ1PEG_thinkSeparator"
|
|
1908
1919
|
};
|
|
1909
1920
|
//#endregion
|
|
1910
1921
|
//#region src/client/view/rows/ThinkRow.tsx
|
|
@@ -2120,38 +2131,38 @@ window.__ModuleLoader__.load({
|
|
|
2120
2131
|
document.head.appendChild(tag);
|
|
2121
2132
|
}
|
|
2122
2133
|
var ContextRow_module_css_default = {
|
|
2123
|
-
"
|
|
2124
|
-
"
|
|
2134
|
+
"thinkSeparator": "_179bCq_thinkSeparator",
|
|
2135
|
+
"contextSection": "_179bCq_contextSection",
|
|
2136
|
+
"contextFold": "_179bCq_contextFold",
|
|
2137
|
+
"contextRecallLabel": "_179bCq_contextRecallLabel",
|
|
2138
|
+
"contextFile": "_179bCq_contextFile",
|
|
2125
2139
|
"contextSectionText": "_179bCq_contextSectionText",
|
|
2126
|
-
"contextEntryDescription": "_179bCq_contextEntryDescription",
|
|
2127
|
-
"contextSectionName": "_179bCq_contextSectionName",
|
|
2128
|
-
"contextField": "_179bCq_contextField",
|
|
2129
2140
|
"contextChevron": "_179bCq_contextChevron",
|
|
2130
|
-
"
|
|
2141
|
+
"contextFields": "_179bCq_contextFields",
|
|
2131
2142
|
"contextText": "_179bCq_contextText",
|
|
2132
|
-
"contextFold": "_179bCq_contextFold",
|
|
2133
|
-
"contextFiles": "_179bCq_contextFiles",
|
|
2134
|
-
"contextEntryName": "_179bCq_contextEntryName",
|
|
2135
|
-
"contextRelaySender": "_179bCq_contextRelaySender",
|
|
2136
|
-
"contextBody": "_179bCq_contextBody",
|
|
2137
|
-
"contextRecalls": "_179bCq_contextRecalls",
|
|
2138
|
-
"contextFileAction": "_179bCq_contextFileAction",
|
|
2139
|
-
"contextRecall": "_179bCq_contextRecall",
|
|
2140
2143
|
"contextSource": "_179bCq_contextSource",
|
|
2141
|
-
"contextRow": "_179bCq_contextRow",
|
|
2142
|
-
"contextRecallLabel": "_179bCq_contextRecallLabel",
|
|
2143
|
-
"contextFieldKey": "_179bCq_contextFieldKey",
|
|
2144
|
-
"contextSection": "_179bCq_contextSection",
|
|
2145
|
-
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2146
|
-
"contextFields": "_179bCq_contextFields",
|
|
2147
2144
|
"contextSummary": "_179bCq_contextSummary",
|
|
2145
|
+
"contextNotice": "_179bCq_contextNotice",
|
|
2146
|
+
"contextSectionName": "_179bCq_contextSectionName",
|
|
2147
|
+
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2148
|
+
"contextEntryDescription": "_179bCq_contextEntryDescription",
|
|
2149
|
+
"contextFieldValue": "_179bCq_contextFieldValue",
|
|
2150
|
+
"contextRecalls": "_179bCq_contextRecalls",
|
|
2151
|
+
"contextBody": "_179bCq_contextBody",
|
|
2152
|
+
"contextRelaySender": "_179bCq_contextRelaySender",
|
|
2153
|
+
"contextRecall": "_179bCq_contextRecall",
|
|
2148
2154
|
"contextSections": "_179bCq_contextSections",
|
|
2149
|
-
"
|
|
2150
|
-
"
|
|
2155
|
+
"contextFileAction": "_179bCq_contextFileAction",
|
|
2156
|
+
"contextEntryName": "_179bCq_contextEntryName",
|
|
2157
|
+
"contextEntries": "_179bCq_contextEntries",
|
|
2158
|
+
"contextFoldRow": "_179bCq_contextFoldRow",
|
|
2159
|
+
"contextField": "_179bCq_contextField",
|
|
2160
|
+
"contextFiles": "_179bCq_contextFiles",
|
|
2151
2161
|
"contextFilePath": "_179bCq_contextFilePath",
|
|
2152
|
-
"
|
|
2153
|
-
"
|
|
2154
|
-
"
|
|
2162
|
+
"contextRow": "_179bCq_contextRow",
|
|
2163
|
+
"contextEntry": "_179bCq_contextEntry",
|
|
2164
|
+
"contextFieldKey": "_179bCq_contextFieldKey",
|
|
2165
|
+
"contextRecallCounts": "_179bCq_contextRecallCounts"
|
|
2155
2166
|
};
|
|
2156
2167
|
//#endregion
|
|
2157
2168
|
//#region src/client/view/rows/ContextRow.tsx
|
|
@@ -2713,30 +2724,30 @@ window.__ModuleLoader__.load({
|
|
|
2713
2724
|
document.head.appendChild(tag);
|
|
2714
2725
|
}
|
|
2715
2726
|
var ToolCallRow_module_css_default = {
|
|
2716
|
-
"diffBody": "_4yws7G_diffBody",
|
|
2717
|
-
"searchRecovery": "_4yws7G_searchRecovery",
|
|
2718
|
-
"ioText": "_4yws7G_ioText",
|
|
2719
|
-
"ioDivider": "_4yws7G_ioDivider",
|
|
2720
|
-
"callBodyWrap": "_4yws7G_callBodyWrap",
|
|
2721
|
-
"ioSection": "_4yws7G_ioSection",
|
|
2722
|
-
"callLeading": "_4yws7G_callLeading",
|
|
2723
|
-
"callFileLink": "_4yws7G_callFileLink",
|
|
2724
|
-
"subcalls": "_4yws7G_subcalls",
|
|
2725
|
-
"callChevron": "_4yws7G_callChevron",
|
|
2726
|
-
"ioCard": "_4yws7G_ioCard",
|
|
2727
2727
|
"callTitle": "_4yws7G_callTitle",
|
|
2728
|
-
"
|
|
2729
|
-
"
|
|
2730
|
-
"terminalBody": "_4yws7G_terminalBody",
|
|
2728
|
+
"readBody": "_4yws7G_readBody",
|
|
2729
|
+
"callErrorSummary": "_4yws7G_callErrorSummary",
|
|
2731
2730
|
"ioLabel": "_4yws7G_ioLabel",
|
|
2731
|
+
"codeBody": "_4yws7G_codeBody",
|
|
2732
2732
|
"webBody": "_4yws7G_webBody",
|
|
2733
|
+
"ioText": "_4yws7G_ioText",
|
|
2734
|
+
"searchRecovery": "_4yws7G_searchRecovery",
|
|
2735
|
+
"bodyScroll": "_4yws7G_bodyScroll",
|
|
2736
|
+
"callLeading": "_4yws7G_callLeading",
|
|
2733
2737
|
"callSeparator": "_4yws7G_callSeparator",
|
|
2738
|
+
"callSummary": "_4yws7G_callSummary",
|
|
2739
|
+
"subcalls": "_4yws7G_subcalls",
|
|
2740
|
+
"terminalBody": "_4yws7G_terminalBody",
|
|
2741
|
+
"callChevron": "_4yws7G_callChevron",
|
|
2742
|
+
"callBodyWrap": "_4yws7G_callBodyWrap",
|
|
2734
2743
|
"callRow": "_4yws7G_callRow",
|
|
2744
|
+
"ioSection": "_4yws7G_ioSection",
|
|
2745
|
+
"ioDivider": "_4yws7G_ioDivider",
|
|
2746
|
+
"callRowInner": "_4yws7G_callRowInner",
|
|
2735
2747
|
"dsh-focus-tool-row-sweep": "_4yws7G_dsh-focus-tool-row-sweep",
|
|
2736
|
-
"
|
|
2737
|
-
"
|
|
2738
|
-
"
|
|
2739
|
-
"bodyScroll": "_4yws7G_bodyScroll",
|
|
2748
|
+
"callFileLink": "_4yws7G_callFileLink",
|
|
2749
|
+
"ioCard": "_4yws7G_ioCard",
|
|
2750
|
+
"diffBody": "_4yws7G_diffBody",
|
|
2740
2751
|
"searchBody": "_4yws7G_searchBody"
|
|
2741
2752
|
};
|
|
2742
2753
|
//#endregion
|
|
@@ -2986,11 +2997,11 @@ window.__ModuleLoader__.load({
|
|
|
2986
2997
|
document.head.appendChild(tag);
|
|
2987
2998
|
}
|
|
2988
2999
|
var ToolGroupRow_module_css_default = {
|
|
3000
|
+
"groupTitleFailed": "AZoo5a_groupTitleFailed",
|
|
3001
|
+
"groupTitleLine": "AZoo5a_groupTitleLine",
|
|
2989
3002
|
"groupRow": "AZoo5a_groupRow",
|
|
2990
3003
|
"calls": "AZoo5a_calls",
|
|
2991
|
-
"groupRowInner": "AZoo5a_groupRowInner"
|
|
2992
|
-
"groupTitleFailed": "AZoo5a_groupTitleFailed",
|
|
2993
|
-
"groupTitleLine": "AZoo5a_groupTitleLine"
|
|
3004
|
+
"groupRowInner": "AZoo5a_groupRowInner"
|
|
2994
3005
|
};
|
|
2995
3006
|
//#endregion
|
|
2996
3007
|
//#region src/client/view/rows/ToolGroupRow.tsx
|
|
@@ -3060,9 +3071,9 @@ window.__ModuleLoader__.load({
|
|
|
3060
3071
|
document.head.appendChild(tag);
|
|
3061
3072
|
}
|
|
3062
3073
|
var SystemPromptRow_module_css_default = {
|
|
3063
|
-
"chevron": "OTeFQG_chevron",
|
|
3064
|
-
"root": "OTeFQG_root",
|
|
3065
3074
|
"body": "OTeFQG_body",
|
|
3075
|
+
"root": "OTeFQG_root",
|
|
3076
|
+
"chevron": "OTeFQG_chevron",
|
|
3066
3077
|
"text": "OTeFQG_text"
|
|
3067
3078
|
};
|
|
3068
3079
|
//#endregion
|
|
@@ -3097,69 +3108,27 @@ window.__ModuleLoader__.load({
|
|
|
3097
3108
|
});
|
|
3098
3109
|
});
|
|
3099
3110
|
//#endregion
|
|
3100
|
-
//#region \0dsh-css:D:\Projects\deepseek-harness\dsh-focus-chat\src\client\view\rows\UserBubble.module.css.mjs
|
|
3101
|
-
const css$12 = ".F9H9aG_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.F9H9aG_userStack{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);display:flex}.F9H9aG_bubble{background:var(--dsw-specific-bubble);max-width:100%;font-size:var(--dsh-content-font-size,14px);line-height:calc(22px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-primary);border-radius:22px;padding:10px 16px}.F9H9aG_refChip{color:var(--dsw-alias-label-primary);white-space:nowrap;vertical-align:baseline;background:#6187d838;border-radius:6px;margin:0 2px;padding:0 8px;font-size:.85em;line-height:1.6;display:inline-block}";
|
|
3102
|
-
const tagId$12 = "@huanlin/dsh-focus-chat/UserBubble.module.css";
|
|
3103
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$12) + "]") === null) {
|
|
3104
|
-
const tag = document.createElement("style");
|
|
3105
|
-
tag.dataset.plugin = "@huanlin/dsh-focus-chat";
|
|
3106
|
-
tag.dataset.pluginCss = tagId$12;
|
|
3107
|
-
tag.textContent = css$12;
|
|
3108
|
-
document.head.appendChild(tag);
|
|
3109
|
-
}
|
|
3110
|
-
var UserBubble_module_css_default = {
|
|
3111
|
-
"userStack": "F9H9aG_userStack",
|
|
3112
|
-
"refChip": "F9H9aG_refChip",
|
|
3113
|
-
"bubble": "F9H9aG_bubble",
|
|
3114
|
-
"userRow": "F9H9aG_userRow"
|
|
3115
|
-
};
|
|
3116
|
-
//#endregion
|
|
3117
3111
|
//#region src/client/view/helpers/message.tsx
|
|
3112
|
+
/** User message text join (the chat bubble's text source). */
|
|
3118
3113
|
function messageText(content) {
|
|
3119
3114
|
return content.flatMap((block) => block.type === "text" ? [block.text ?? ""] : []).join("");
|
|
3120
3115
|
}
|
|
3121
|
-
/**
|
|
3122
|
-
* Display projection of reference forms in a user bubble: `/name` / `@name`
|
|
3123
|
-
* word-boundary tokens decorate as chips, everything else stays plain text
|
|
3124
|
-
* (the chat bubble's projection — sent tokens were validated at compose time,
|
|
3125
|
-
* so shape alone decorates).
|
|
3126
|
-
*/
|
|
3127
|
-
function projectUserText(text) {
|
|
3128
|
-
const re = /(^|\s)([/@][\w-]+)(?=\s|$)/g;
|
|
3129
|
-
const parts = [];
|
|
3130
|
-
let cursor = 0;
|
|
3131
|
-
let m;
|
|
3132
|
-
while ((m = re.exec(text)) !== null) {
|
|
3133
|
-
const tokenStart = m.index + (m[1]?.length ?? 0);
|
|
3134
|
-
const label = m[2] ?? "";
|
|
3135
|
-
if (tokenStart > cursor) parts.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MessageText, { text: text.slice(cursor, tokenStart) }, cursor));
|
|
3136
|
-
parts.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
3137
|
-
className: UserBubble_module_css_default.refChip,
|
|
3138
|
-
"data-ref-chip": label.startsWith("@") ? "subagent" : "skill",
|
|
3139
|
-
children: label
|
|
3140
|
-
}, tokenStart));
|
|
3141
|
-
cursor = tokenStart + label.length;
|
|
3142
|
-
}
|
|
3143
|
-
if (parts.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MessageText, { text });
|
|
3144
|
-
if (cursor < text.length) parts.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MessageText, { text: text.slice(cursor) }, cursor));
|
|
3145
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: parts });
|
|
3146
|
-
}
|
|
3147
3116
|
//#endregion
|
|
3148
3117
|
//#region \0dsh-css:D:\Projects\deepseek-harness\dsh-focus-chat\src\client\view\chrome\MessageActions.module.css.mjs
|
|
3149
|
-
const css$
|
|
3150
|
-
const tagId$
|
|
3151
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
3118
|
+
const css$12 = "._4s79ma_messageActions{align-items:center;gap:10px;height:28px;display:flex}._4s79ma_messageActions[data-clock=start] ._4s79ma_messageClock{padding-right:12px}._4s79ma_messageActions[data-clock=end] ._4s79ma_messageClock{padding-left:12px}._4s79ma_messageActions[data-clock=end]{margin-left:-6px}._4s79ma_messageClock{font-size:var(--dsh-content-font-size,14px);line-height:calc(24px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums}@media (hover:hover){[data-time-hover-root] ._4s79ma_messageClock{opacity:0;transition:opacity 80ms}[data-time-hover-root]:hover ._4s79ma_messageClock,[data-time-hover-root]:focus-within ._4s79ma_messageClock{opacity:1}}._4s79ma_messageClockDot{margin:0 10px}._4s79ma_messageAction{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:6px;display:inline-flex}._4s79ma_messageAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}._4s79ma_messageAction[data-unavailable]{cursor:default;opacity:.4}._4s79ma_messageAction[data-unavailable]:hover{color:var(--dsw-alias-label-tertiary);background:0 0}";
|
|
3119
|
+
const tagId$12 = "@huanlin/dsh-focus-chat/MessageActions.module.css";
|
|
3120
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$12) + "]") === null) {
|
|
3152
3121
|
const tag = document.createElement("style");
|
|
3153
3122
|
tag.dataset.plugin = "@huanlin/dsh-focus-chat";
|
|
3154
|
-
tag.dataset.pluginCss = tagId$
|
|
3155
|
-
tag.textContent = css$
|
|
3123
|
+
tag.dataset.pluginCss = tagId$12;
|
|
3124
|
+
tag.textContent = css$12;
|
|
3156
3125
|
document.head.appendChild(tag);
|
|
3157
3126
|
}
|
|
3158
3127
|
var MessageActions_module_css_default = {
|
|
3159
|
-
"messageActions": "_4s79ma_messageActions",
|
|
3160
|
-
"messageClock": "_4s79ma_messageClock",
|
|
3161
3128
|
"messageClockDot": "_4s79ma_messageClockDot",
|
|
3162
|
-
"
|
|
3129
|
+
"messageActions": "_4s79ma_messageActions",
|
|
3130
|
+
"messageAction": "_4s79ma_messageAction",
|
|
3131
|
+
"messageClock": "_4s79ma_messageClock"
|
|
3163
3132
|
};
|
|
3164
3133
|
//#endregion
|
|
3165
3134
|
//#region src/client/view/chrome/MessageActions.tsx
|
|
@@ -3260,6 +3229,23 @@ window.__ModuleLoader__.load({
|
|
|
3260
3229
|
});
|
|
3261
3230
|
});
|
|
3262
3231
|
//#endregion
|
|
3232
|
+
//#region \0dsh-css:D:\Projects\deepseek-harness\dsh-focus-chat\src\client\view\rows\UserBubble.module.css.mjs
|
|
3233
|
+
const css$11 = ".F9H9aG_userRow{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.F9H9aG_userStack{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;max-width:min(525px,82%);display:flex}.F9H9aG_bubble{background:var(--dsw-specific-bubble);max-width:100%;font-size:var(--dsh-content-font-size,14px);line-height:calc(22px + var(--dsh-content-font-delta,0px));color:var(--dsw-alias-label-primary);border-radius:22px;padding:10px 16px}.F9H9aG_refChip{color:var(--dsw-alias-label-primary);white-space:nowrap;vertical-align:baseline;background:#6187d838;border-radius:6px;margin:0 2px;padding:0 8px;font-size:.85em;line-height:1.6;display:inline-block}";
|
|
3234
|
+
const tagId$11 = "@huanlin/dsh-focus-chat/UserBubble.module.css";
|
|
3235
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$11) + "]") === null) {
|
|
3236
|
+
const tag = document.createElement("style");
|
|
3237
|
+
tag.dataset.plugin = "@huanlin/dsh-focus-chat";
|
|
3238
|
+
tag.dataset.pluginCss = tagId$11;
|
|
3239
|
+
tag.textContent = css$11;
|
|
3240
|
+
document.head.appendChild(tag);
|
|
3241
|
+
}
|
|
3242
|
+
var UserBubble_module_css_default = {
|
|
3243
|
+
"userStack": "F9H9aG_userStack",
|
|
3244
|
+
"bubble": "F9H9aG_bubble",
|
|
3245
|
+
"userRow": "F9H9aG_userRow",
|
|
3246
|
+
"refChip": "F9H9aG_refChip"
|
|
3247
|
+
};
|
|
3248
|
+
//#endregion
|
|
3263
3249
|
//#region src/client/view/rows/UserBubble.tsx
|
|
3264
3250
|
const MessageRow = (0, react.memo)(function MessageRow({ item, t, mdLabels, loadImage }) {
|
|
3265
3251
|
const text = (0, react.useMemo)(() => messageText(item.content), [item.content]);
|
|
@@ -3279,7 +3265,7 @@ window.__ModuleLoader__.load({
|
|
|
3279
3265
|
labels: messageImageLabels(t)
|
|
3280
3266
|
}), showBubble && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3281
3267
|
className: UserBubble_module_css_default.bubble,
|
|
3282
|
-
children: [projectUserText(text), others.map((block, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
3268
|
+
children: [(0, _deepseek_ai_dsh_client_ui_primitives.projectUserText)(text, item.referenceLabels ?? [], item.skillNames ?? []), others.map((block, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
3283
3269
|
label: t("extraBlock"),
|
|
3284
3270
|
payload: block,
|
|
3285
3271
|
truncatedLabel: jsonTruncated(t)
|
|
@@ -3314,7 +3300,7 @@ window.__ModuleLoader__.load({
|
|
|
3314
3300
|
labels: messageImageLabels(t)
|
|
3315
3301
|
}), showBubble && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3316
3302
|
className: UserBubble_module_css_default.bubble,
|
|
3317
|
-
children: [projectUserText(text), others.map((block, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
3303
|
+
children: [(0, _deepseek_ai_dsh_client_ui_primitives.projectUserText)(text, []), others.map((block, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.JsonBlock, {
|
|
3318
3304
|
label: t("extraBlock"),
|
|
3319
3305
|
payload: block,
|
|
3320
3306
|
truncatedLabel: jsonTruncated(t)
|
|
@@ -3373,14 +3359,14 @@ window.__ModuleLoader__.load({
|
|
|
3373
3359
|
document.head.appendChild(tag);
|
|
3374
3360
|
}
|
|
3375
3361
|
var MessageFeedbackActions_module_css_default = {
|
|
3362
|
+
"noteSave": "-anQya_noteSave",
|
|
3363
|
+
"noteInput": "-anQya_noteInput",
|
|
3376
3364
|
"failure": "-anQya_failure",
|
|
3377
3365
|
"noteActions": "-anQya_noteActions",
|
|
3378
|
-
"
|
|
3366
|
+
"noteOpen": "-anQya_noteOpen",
|
|
3379
3367
|
"action": "-anQya_action",
|
|
3380
3368
|
"noteCancel": "-anQya_noteCancel",
|
|
3381
|
-
"notePanel": "-anQya_notePanel"
|
|
3382
|
-
"noteOpen": "-anQya_noteOpen",
|
|
3383
|
-
"noteInput": "-anQya_noteInput"
|
|
3369
|
+
"notePanel": "-anQya_notePanel"
|
|
3384
3370
|
};
|
|
3385
3371
|
//#endregion
|
|
3386
3372
|
//#region src/client/view/chrome/MessageFeedbackActions.tsx
|
|
@@ -3665,15 +3651,15 @@ window.__ModuleLoader__.load({
|
|
|
3665
3651
|
document.head.appendChild(tag);
|
|
3666
3652
|
}
|
|
3667
3653
|
var TurnUsageDisclosure_module_css_default = {
|
|
3668
|
-
"
|
|
3654
|
+
"totalValue": "xrt96a_totalValue",
|
|
3655
|
+
"root": "xrt96a_root",
|
|
3669
3656
|
"details": "xrt96a_details",
|
|
3670
3657
|
"separator": "xrt96a_separator",
|
|
3671
|
-
"totalValue": "xrt96a_totalValue",
|
|
3672
3658
|
"summary": "xrt96a_summary",
|
|
3673
3659
|
"chevron": "xrt96a_chevron",
|
|
3674
|
-
"
|
|
3675
|
-
"
|
|
3676
|
-
"
|
|
3660
|
+
"route": "xrt96a_route",
|
|
3661
|
+
"totalLabel": "xrt96a_totalLabel",
|
|
3662
|
+
"reasoning": "xrt96a_reasoning"
|
|
3677
3663
|
};
|
|
3678
3664
|
//#endregion
|
|
3679
3665
|
//#region src/client/view/rows/TurnUsageDisclosure.tsx
|
|
@@ -3770,14 +3756,14 @@ window.__ModuleLoader__.load({
|
|
|
3770
3756
|
document.head.appendChild(tag);
|
|
3771
3757
|
}
|
|
3772
3758
|
var TurnTailRow_module_css_default = {
|
|
3773
|
-
"producedFile": "g6Vo2a_producedFile",
|
|
3774
|
-
"producedMore": "g6Vo2a_producedMore",
|
|
3775
3759
|
"producedRow": "g6Vo2a_producedRow",
|
|
3776
3760
|
"producedLabel": "g6Vo2a_producedLabel",
|
|
3777
|
-
"
|
|
3778
|
-
"producedLane": "g6Vo2a_producedLane",
|
|
3761
|
+
"producedFile": "g6Vo2a_producedFile",
|
|
3779
3762
|
"turnTail": "g6Vo2a_turnTail",
|
|
3780
|
-
"
|
|
3763
|
+
"producedShowFolder": "g6Vo2a_producedShowFolder",
|
|
3764
|
+
"producedMeasure": "g6Vo2a_producedMeasure",
|
|
3765
|
+
"producedMore": "g6Vo2a_producedMore",
|
|
3766
|
+
"producedLane": "g6Vo2a_producedLane"
|
|
3781
3767
|
};
|
|
3782
3768
|
//#endregion
|
|
3783
3769
|
//#region src/client/view/rows/TurnTailRow.tsx
|
|
@@ -3919,12 +3905,12 @@ window.__ModuleLoader__.load({
|
|
|
3919
3905
|
document.head.appendChild(tag);
|
|
3920
3906
|
}
|
|
3921
3907
|
var CommandRow_module_css_default = {
|
|
3922
|
-
"
|
|
3908
|
+
"thinkSeparator": "EhZFdG_thinkSeparator",
|
|
3923
3909
|
"dsh-focus-command-row-sweep": "EhZFdG_dsh-focus-command-row-sweep",
|
|
3910
|
+
"commandSummary": "EhZFdG_commandSummary",
|
|
3911
|
+
"commandBody": "EhZFdG_commandBody",
|
|
3924
3912
|
"commandRow": "EhZFdG_commandRow",
|
|
3925
|
-
"commandRowInner": "EhZFdG_commandRowInner"
|
|
3926
|
-
"thinkSeparator": "EhZFdG_thinkSeparator",
|
|
3927
|
-
"commandBody": "EhZFdG_commandBody"
|
|
3913
|
+
"commandRowInner": "EhZFdG_commandRowInner"
|
|
3928
3914
|
};
|
|
3929
3915
|
//#endregion
|
|
3930
3916
|
//#region src/client/view/rows/CommandRow.tsx
|
|
@@ -3983,14 +3969,14 @@ window.__ModuleLoader__.load({
|
|
|
3983
3969
|
}
|
|
3984
3970
|
var CompactionRow_module_css_default = {
|
|
3985
3971
|
"compactionRow": "MjDQ7W_compactionRow",
|
|
3986
|
-
"
|
|
3972
|
+
"compactionButton": "MjDQ7W_compactionButton",
|
|
3973
|
+
"compactionSummary": "MjDQ7W_compactionSummary",
|
|
3987
3974
|
"compactionSep": "MjDQ7W_compactionSep",
|
|
3988
3975
|
"compactionTitle": "MjDQ7W_compactionTitle",
|
|
3989
|
-
"
|
|
3976
|
+
"compactionLeading": "MjDQ7W_compactionLeading",
|
|
3990
3977
|
"compactionContextIcon": "MjDQ7W_compactionContextIcon",
|
|
3991
|
-
"
|
|
3992
|
-
"
|
|
3993
|
-
"compactionLeading": "MjDQ7W_compactionLeading"
|
|
3978
|
+
"compactionBody": "MjDQ7W_compactionBody",
|
|
3979
|
+
"compactionDisclosureIcon": "MjDQ7W_compactionDisclosureIcon"
|
|
3994
3980
|
};
|
|
3995
3981
|
//#endregion
|
|
3996
3982
|
//#region src/client/view/rows/CompactionRow.tsx
|
|
@@ -4091,12 +4077,12 @@ window.__ModuleLoader__.load({
|
|
|
4091
4077
|
document.head.appendChild(tag);
|
|
4092
4078
|
}
|
|
4093
4079
|
var RetryRow_module_css_default = {
|
|
4094
|
-
"
|
|
4095
|
-
"retrySummary": "Z1bpSa_retrySummary",
|
|
4096
|
-
"dsh-focus-retry-shimmer": "Z1bpSa_dsh-focus-retry-shimmer",
|
|
4080
|
+
"retryDetailLabel": "Z1bpSa_retryDetailLabel",
|
|
4097
4081
|
"retryText": "Z1bpSa_retryText",
|
|
4082
|
+
"retryRow": "Z1bpSa_retryRow",
|
|
4098
4083
|
"retryDetails": "Z1bpSa_retryDetails",
|
|
4099
|
-
"
|
|
4084
|
+
"retrySummary": "Z1bpSa_retrySummary",
|
|
4085
|
+
"dsh-focus-retry-shimmer": "Z1bpSa_dsh-focus-retry-shimmer"
|
|
4100
4086
|
};
|
|
4101
4087
|
//#endregion
|
|
4102
4088
|
//#region src/client/view/rows/RetryRow.tsx
|
|
@@ -4180,10 +4166,10 @@ window.__ModuleLoader__.load({
|
|
|
4180
4166
|
}
|
|
4181
4167
|
var TurnFoldRow_module_css_default = {
|
|
4182
4168
|
"turnFold": "Gcx_5W_turnFold",
|
|
4183
|
-
"label": "Gcx_5W_label",
|
|
4184
|
-
"turnFoldBody": "Gcx_5W_turnFoldBody",
|
|
4185
4169
|
"chevron": "Gcx_5W_chevron",
|
|
4186
|
-
"root": "Gcx_5W_root"
|
|
4170
|
+
"root": "Gcx_5W_root",
|
|
4171
|
+
"label": "Gcx_5W_label",
|
|
4172
|
+
"turnFoldBody": "Gcx_5W_turnFoldBody"
|
|
4187
4173
|
};
|
|
4188
4174
|
//#endregion
|
|
4189
4175
|
//#region src/client/view/rows/TurnFoldRow.tsx
|
|
@@ -4242,13 +4228,13 @@ window.__ModuleLoader__.load({
|
|
|
4242
4228
|
document.head.appendChild(tag);
|
|
4243
4229
|
}
|
|
4244
4230
|
var FlowRow_module_css_default = {
|
|
4245
|
-
"turnErrorCode": "W4FZQG_turnErrorCode",
|
|
4246
|
-
"assistant": "W4FZQG_assistant",
|
|
4247
|
-
"turnErrorDot": "W4FZQG_turnErrorDot",
|
|
4248
|
-
"turnErrorMessage": "W4FZQG_turnErrorMessage",
|
|
4249
4231
|
"stopped": "W4FZQG_stopped",
|
|
4250
4232
|
"turnErrorRow": "W4FZQG_turnErrorRow",
|
|
4233
|
+
"turnErrorDot": "W4FZQG_turnErrorDot",
|
|
4234
|
+
"turnErrorCode": "W4FZQG_turnErrorCode",
|
|
4251
4235
|
"contextRow": "W4FZQG_contextRow",
|
|
4236
|
+
"turnErrorMessage": "W4FZQG_turnErrorMessage",
|
|
4237
|
+
"assistant": "W4FZQG_assistant",
|
|
4252
4238
|
"turnErrorCopy": "W4FZQG_turnErrorCopy",
|
|
4253
4239
|
"turnErrorTitle": "W4FZQG_turnErrorTitle"
|
|
4254
4240
|
};
|
|
@@ -4434,9 +4420,9 @@ window.__ModuleLoader__.load({
|
|
|
4434
4420
|
document.head.appendChild(tag);
|
|
4435
4421
|
}
|
|
4436
4422
|
var RunningStatus_module_css_default = {
|
|
4437
|
-
"dsh-focus-turn-shimmer": "_1zwjxa_dsh-focus-turn-shimmer",
|
|
4438
4423
|
"turnStatusClock": "_1zwjxa_turnStatusClock",
|
|
4439
|
-
"turnStatus": "_1zwjxa_turnStatus"
|
|
4424
|
+
"turnStatus": "_1zwjxa_turnStatus",
|
|
4425
|
+
"dsh-focus-turn-shimmer": "_1zwjxa_dsh-focus-turn-shimmer"
|
|
4440
4426
|
};
|
|
4441
4427
|
//#endregion
|
|
4442
4428
|
//#region src/client/view/chrome/RunningStatus.tsx
|
|
@@ -4479,18 +4465,18 @@ window.__ModuleLoader__.load({
|
|
|
4479
4465
|
document.head.appendChild(tag);
|
|
4480
4466
|
}
|
|
4481
4467
|
var TurnNavigator_module_css_default = {
|
|
4468
|
+
"markActive": "jXLS-q_markActive",
|
|
4469
|
+
"markPosition": "jXLS-q_markPosition",
|
|
4470
|
+
"dsh-focus-turn-preview-enter": "jXLS-q_dsh-focus-turn-preview-enter",
|
|
4471
|
+
"previewPrompt": "jXLS-q_previewPrompt",
|
|
4472
|
+
"rail": "jXLS-q_rail",
|
|
4482
4473
|
"mark": "jXLS-q_mark",
|
|
4474
|
+
"markPreview": "jXLS-q_markPreview",
|
|
4483
4475
|
"preview": "jXLS-q_preview",
|
|
4484
4476
|
"previewResponse": "jXLS-q_previewResponse",
|
|
4485
|
-
"dsh-focus-turn-preview-enter": "jXLS-q_dsh-focus-turn-preview-enter",
|
|
4486
|
-
"markPreview": "jXLS-q_markPreview",
|
|
4487
|
-
"dsh-focus-turn-mark-enter": "jXLS-q_dsh-focus-turn-mark-enter",
|
|
4488
|
-
"previewPrompt": "jXLS-q_previewPrompt",
|
|
4489
|
-
"markPosition": "jXLS-q_markPosition",
|
|
4490
4477
|
"marks": "jXLS-q_marks",
|
|
4491
|
-
"
|
|
4492
|
-
"
|
|
4493
|
-
"markActive": "jXLS-q_markActive"
|
|
4478
|
+
"dsh-focus-turn-mark-enter": "jXLS-q_dsh-focus-turn-mark-enter",
|
|
4479
|
+
"slot": "jXLS-q_slot"
|
|
4494
4480
|
};
|
|
4495
4481
|
//#endregion
|
|
4496
4482
|
//#region src/client/view/chrome/TurnNavigator.tsx
|
|
@@ -4602,19 +4588,19 @@ window.__ModuleLoader__.load({
|
|
|
4602
4588
|
document.head.appendChild(tag);
|
|
4603
4589
|
}
|
|
4604
4590
|
var FocusView_module_css_default = {
|
|
4591
|
+
"toBottom": "VkMv3G_toBottom",
|
|
4592
|
+
"flowItem": "VkMv3G_flowItem",
|
|
4593
|
+
"modalAction": "VkMv3G_modalAction",
|
|
4594
|
+
"root": "VkMv3G_root",
|
|
4605
4595
|
"empty": "VkMv3G_empty",
|
|
4596
|
+
"scroll": "VkMv3G_scroll",
|
|
4597
|
+
"olderButton": "VkMv3G_olderButton",
|
|
4598
|
+
"column": "VkMv3G_column",
|
|
4606
4599
|
"older": "VkMv3G_older",
|
|
4607
4600
|
"hint": "VkMv3G_hint",
|
|
4608
|
-
"flowItem": "VkMv3G_flowItem",
|
|
4609
|
-
"olderButton": "VkMv3G_olderButton",
|
|
4610
|
-
"root": "VkMv3G_root",
|
|
4611
4601
|
"openError": "VkMv3G_openError",
|
|
4612
|
-
"column": "VkMv3G_column",
|
|
4613
|
-
"scroll": "VkMv3G_scroll",
|
|
4614
4602
|
"toBottomSlot": "VkMv3G_toBottomSlot",
|
|
4615
|
-
"
|
|
4616
|
-
"runningCalls": "VkMv3G_runningCalls",
|
|
4617
|
-
"modalAction": "VkMv3G_modalAction"
|
|
4603
|
+
"runningCalls": "VkMv3G_runningCalls"
|
|
4618
4604
|
};
|
|
4619
4605
|
//#endregion
|
|
4620
4606
|
//#region src/client/view/FocusView.tsx
|
|
@@ -6014,7 +6000,7 @@ window.__ModuleLoader__.load({
|
|
|
6014
6000
|
}).catch(() => {});
|
|
6015
6001
|
},
|
|
6016
6002
|
fileMentions: (owner) => {
|
|
6017
|
-
return ctx.get("chatFileMentions")?.forClosing(owner);
|
|
6003
|
+
return ctx.get("chatFileMentions")?.forClosing(owner, sessionId);
|
|
6018
6004
|
},
|
|
6019
6005
|
isLoopback: connection.isLoopback,
|
|
6020
6006
|
scroll: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** Pure type face of the focus flow model (React-free). */
|
|
2
2
|
import type { DiffHunk, ReadBlockLine, SearchBlockProps, WebBlockProps } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
3
3
|
import type { ContentBlock } from '@deepseek-ai/dsh-llm/types';
|
|
4
|
-
import type { AssistantBlock, ChatNodeDataMap, ContextMessageNode } from '@deepseek-ai/dsh-client-ui-chat/client';
|
|
5
|
-
|
|
4
|
+
import type { AssistantBlock, ChatNodeDataMap, ContextMessageNode, TurnTailChatData } from '@deepseek-ai/dsh-client-ui-chat/client';
|
|
5
|
+
type TurnTokenUsage = NonNullable<TurnTailChatData['tokenUsage']>;
|
|
6
6
|
/** Locale-owned label surfaces the render sites add to the shared card primitives. */
|
|
7
7
|
type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
|
|
8
8
|
/** Search-card data the model owns; render adds `labels`/`maxLines`/`className`. */
|
|
@@ -150,6 +150,10 @@ export type FocusFlowItem = {
|
|
|
150
150
|
role: 'user' | 'steering' | 'context';
|
|
151
151
|
content: readonly ContentBlock[];
|
|
152
152
|
time: number;
|
|
153
|
+
/** Session labels cited by an adjacent recall (the chat bubble's chip sources). */
|
|
154
|
+
referenceLabels?: readonly string[];
|
|
155
|
+
/** Skill names the step's skill-invocation injections loaded for this message. */
|
|
156
|
+
skillNames?: readonly string[];
|
|
153
157
|
/** Context-injection chrome (the chat ContextInjectionRow); absent for user/steering. */
|
|
154
158
|
context?: {
|
|
155
159
|
source: ContextMessageNode['source'];
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
/** User message text
|
|
2
|
-
import type { ReactNode } from 'react';
|
|
1
|
+
/** User message text join (the chat bubble's text source). */
|
|
3
2
|
export declare function messageText(content: readonly {
|
|
4
3
|
type?: string;
|
|
5
4
|
text?: string;
|
|
6
5
|
}[]): string;
|
|
7
|
-
/**
|
|
8
|
-
* Display projection of reference forms in a user bubble: `/name` / `@name`
|
|
9
|
-
* word-boundary tokens decorate as chips, everything else stays plain text
|
|
10
|
-
* (the chat bubble's projection — sent tokens were validated at compose time,
|
|
11
|
-
* so shape alone decorates).
|
|
12
|
-
*/
|
|
13
|
-
export declare function projectUserText(text: string): ReactNode;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TurnTailChatData } from '@deepseek-ai/dsh-client-ui-chat/client';
|
|
2
|
+
type TurnTokenUsage = NonNullable<TurnTailChatData['tokenUsage']>;
|
|
2
3
|
import type { FocusTranslate } from '../../contract/props.ts';
|
|
3
4
|
/** Compact per-Turn usage summary with an opt-in bucket breakdown (the
|
|
4
5
|
* official TurnUsageDisclosure chrome: data icon, summary line, and the
|
|
@@ -7,3 +8,4 @@ export declare const TurnUsageDisclosure: import("react").MemoExoticComponent<({
|
|
|
7
8
|
usage: TurnTokenUsage;
|
|
8
9
|
t: FocusTranslate;
|
|
9
10
|
}) => import("react").JSX.Element>;
|
|
11
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huanlin/dsh-focus-chat",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
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",
|
|
@@ -43,36 +43,45 @@
|
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@deepseek-ai/cordis": ">=4.0.1",
|
|
46
|
-
"@deepseek-ai/dsh-api-remotes": ">=0.1.
|
|
47
|
-
"@deepseek-ai/dsh-attachment": ">=0.1.
|
|
48
|
-
"@deepseek-ai/dsh-client-connection": ">=0.1.
|
|
49
|
-
"@deepseek-ai/dsh-client-locale": ">=0.1.
|
|
50
|
-
"@deepseek-ai/dsh-client-ui-chat": ">=0.1.
|
|
51
|
-
"@deepseek-ai/dsh-client-ui-conversation": ">=0.1.
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-primitives": ">=0.1.
|
|
53
|
-
"@deepseek-ai/dsh-client-ui-renderer": ">=0.1.
|
|
54
|
-
"@deepseek-ai/dsh-client-ui-slots": ">=0.1.
|
|
55
|
-
"@deepseek-ai/dsh-llm": ">=0.1.
|
|
56
|
-
"@deepseek-ai/dsh-message-feedback": ">=0.1.
|
|
57
|
-
"@deepseek-ai/dsh-session": ">=0.1.
|
|
58
|
-
"@deepseek-ai/dsh-typert-protocol": ">=0.1.
|
|
59
|
-
"@deepseek-ai/dsh-util-workspace-path": ">=0.1.
|
|
46
|
+
"@deepseek-ai/dsh-api-remotes": ">=0.1.5-rc.1",
|
|
47
|
+
"@deepseek-ai/dsh-attachment": ">=0.1.5-rc.1",
|
|
48
|
+
"@deepseek-ai/dsh-client-connection": ">=0.1.5-rc.1",
|
|
49
|
+
"@deepseek-ai/dsh-client-locale": ">=0.1.5-rc.1",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-chat": ">=0.1.5-rc.1",
|
|
51
|
+
"@deepseek-ai/dsh-client-ui-conversation": ">=0.1.5-rc.1",
|
|
52
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.1.5-rc.1",
|
|
53
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.1.5-rc.1",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.1.5-rc.1",
|
|
55
|
+
"@deepseek-ai/dsh-llm": ">=0.1.5-rc.1",
|
|
56
|
+
"@deepseek-ai/dsh-message-feedback": ">=0.1.5-rc.1",
|
|
57
|
+
"@deepseek-ai/dsh-session": ">=0.1.5-rc.1",
|
|
58
|
+
"@deepseek-ai/dsh-typert-protocol": ">=0.1.5-rc.1",
|
|
59
|
+
"@deepseek-ai/dsh-util-workspace-path": ">=0.1.5-rc.1"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
63
|
-
"@deepseek-ai/dsh-api-
|
|
64
|
-
"@deepseek-ai/dsh-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
68
|
-
"@deepseek-ai/dsh-client-
|
|
69
|
-
"@deepseek-ai/dsh-client-
|
|
70
|
-
"@deepseek-ai/dsh-client-
|
|
71
|
-
"@deepseek-ai/dsh-client-ui-
|
|
72
|
-
"@deepseek-ai/dsh-client-ui-
|
|
73
|
-
"@deepseek-ai/dsh-
|
|
74
|
-
"@deepseek-ai/dsh-
|
|
75
|
-
"@deepseek-ai/dsh-
|
|
63
|
+
"@deepseek-ai/dsh-api-gateway": "link:D:/Projects/deepseek-harness/dsh/packages/api/gateway",
|
|
64
|
+
"@deepseek-ai/dsh-api-remotes": "link:D:/Projects/deepseek-harness/dsh/packages/api/remotes",
|
|
65
|
+
"@deepseek-ai/dsh-api-session-controller": "link:D:/Projects/deepseek-harness/dsh/packages/api/session-controller",
|
|
66
|
+
"@deepseek-ai/dsh-api-workspace-controller": "link:D:/Projects/deepseek-harness/dsh/packages/api/workspace-controller",
|
|
67
|
+
"@deepseek-ai/dsh-attachment": "link:D:/Projects/deepseek-harness/dsh/packages/attachment/attachment",
|
|
68
|
+
"@deepseek-ai/dsh-client-connection": "link:D:/Projects/deepseek-harness/dsh/packages/client/connection",
|
|
69
|
+
"@deepseek-ai/dsh-client-locale": "link:D:/Projects/deepseek-harness/dsh/packages/client/locale",
|
|
70
|
+
"@deepseek-ai/dsh-client-test-runtime": "link:D:/Projects/deepseek-harness/dsh/packages/test-support/client-runtime",
|
|
71
|
+
"@deepseek-ai/dsh-client-ui-attachment": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-attachment",
|
|
72
|
+
"@deepseek-ai/dsh-client-ui-chat": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-chat",
|
|
73
|
+
"@deepseek-ai/dsh-client-ui-conversation": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-conversation",
|
|
74
|
+
"@deepseek-ai/dsh-client-ui-deliverables": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-deliverables",
|
|
75
|
+
"@deepseek-ai/dsh-client-ui-primitives": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-primitives",
|
|
76
|
+
"@deepseek-ai/dsh-client-ui-renderer": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-renderer",
|
|
77
|
+
"@deepseek-ai/dsh-client-ui-session": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-session",
|
|
78
|
+
"@deepseek-ai/dsh-client-ui-slots": "link:D:/Projects/deepseek-harness/dsh/packages/client/ui-slots",
|
|
79
|
+
"@deepseek-ai/dsh-client-store": "link:D:/Projects/deepseek-harness/dsh/packages/client/store",
|
|
80
|
+
"@deepseek-ai/dsh-llm": "link:D:/Projects/deepseek-harness/dsh/packages/llm/llm",
|
|
81
|
+
"@deepseek-ai/dsh-message-feedback": "link:D:/Projects/deepseek-harness/dsh/packages/feedback/message-feedback",
|
|
82
|
+
"@deepseek-ai/dsh-session": "link:D:/Projects/deepseek-harness/dsh/packages/core/session",
|
|
83
|
+
"@deepseek-ai/dsh-typert-protocol": "link:D:/Projects/deepseek-harness/dsh/packages/typert/protocol",
|
|
84
|
+
"@deepseek-ai/dsh-util-workspace-path": "link:D:/Projects/deepseek-harness/dsh/packages/util/workspace-path",
|
|
76
85
|
"@testing-library/dom": "^10.4.0",
|
|
77
86
|
"@testing-library/react": "^16.1.0",
|
|
78
87
|
"@types/node": "^22.0.0",
|