@huanlin/dsh-focus-chat 0.1.23 → 0.1.25
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;
|
|
@@ -1555,10 +1566,10 @@ window.__ModuleLoader__.load({
|
|
|
1555
1566
|
document.head.appendChild(tag);
|
|
1556
1567
|
}
|
|
1557
1568
|
var ImageLightbox_module_css_default = {
|
|
1558
|
-
"
|
|
1569
|
+
"backdrop": "zKLoba_backdrop",
|
|
1559
1570
|
"mask": "zKLoba_mask",
|
|
1560
|
-
"
|
|
1561
|
-
"
|
|
1571
|
+
"close": "zKLoba_close",
|
|
1572
|
+
"image": "zKLoba_image"
|
|
1562
1573
|
};
|
|
1563
1574
|
//#endregion
|
|
1564
1575
|
//#region src/client/view/chrome/ImageLightbox.tsx
|
|
@@ -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
|
-
"thinkPreviewText": "dJ1PEG_thinkPreviewText",
|
|
1902
|
-
"dsh-focus-reasoning-sweep": "dJ1PEG_dsh-focus-reasoning-sweep",
|
|
1903
1910
|
"thinkSeparator": "dJ1PEG_thinkSeparator",
|
|
1904
1911
|
"thinkPreview": "dJ1PEG_thinkPreview",
|
|
1905
1912
|
"thinkSummary": "dJ1PEG_thinkSummary",
|
|
1906
|
-
"
|
|
1907
|
-
"
|
|
1913
|
+
"thinkWrap": "dJ1PEG_thinkWrap",
|
|
1914
|
+
"dsh-focus-reasoning-sweep": "dJ1PEG_dsh-focus-reasoning-sweep",
|
|
1915
|
+
"thinkPreviewClip": "dJ1PEG_thinkPreviewClip",
|
|
1916
|
+
"thinkRow": "dJ1PEG_thinkRow",
|
|
1917
|
+
"thinkPreviewText": "dJ1PEG_thinkPreviewText",
|
|
1918
|
+
"thinkBody": "dJ1PEG_thinkBody"
|
|
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
|
+
"contextBody": "_179bCq_contextBody",
|
|
2135
|
+
"contextFile": "_179bCq_contextFile",
|
|
2136
|
+
"contextText": "_179bCq_contextText",
|
|
2137
|
+
"contextNotice": "_179bCq_contextNotice",
|
|
2138
|
+
"contextFields": "_179bCq_contextFields",
|
|
2139
|
+
"contextSections": "_179bCq_contextSections",
|
|
2140
|
+
"contextRecalls": "_179bCq_contextRecalls",
|
|
2141
|
+
"contextEntry": "_179bCq_contextEntry",
|
|
2125
2142
|
"contextSectionText": "_179bCq_contextSectionText",
|
|
2126
|
-
"
|
|
2127
|
-
"
|
|
2143
|
+
"contextRelaySender": "_179bCq_contextRelaySender",
|
|
2144
|
+
"thinkSeparator": "_179bCq_thinkSeparator",
|
|
2145
|
+
"contextEntryName": "_179bCq_contextEntryName",
|
|
2146
|
+
"contextSection": "_179bCq_contextSection",
|
|
2128
2147
|
"contextField": "_179bCq_contextField",
|
|
2129
|
-
"
|
|
2148
|
+
"contextFileAction": "_179bCq_contextFileAction",
|
|
2130
2149
|
"contextRecallCounts": "_179bCq_contextRecallCounts",
|
|
2131
|
-
"
|
|
2150
|
+
"contextSectionName": "_179bCq_contextSectionName",
|
|
2151
|
+
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2132
2152
|
"contextFold": "_179bCq_contextFold",
|
|
2133
|
-
"
|
|
2134
|
-
"
|
|
2135
|
-
"
|
|
2136
|
-
"contextBody": "_179bCq_contextBody",
|
|
2137
|
-
"contextRecalls": "_179bCq_contextRecalls",
|
|
2138
|
-
"contextFileAction": "_179bCq_contextFileAction",
|
|
2153
|
+
"contextFoldRow": "_179bCq_contextFoldRow",
|
|
2154
|
+
"contextEntryDescription": "_179bCq_contextEntryDescription",
|
|
2155
|
+
"contextRecallLabel": "_179bCq_contextRecallLabel",
|
|
2139
2156
|
"contextRecall": "_179bCq_contextRecall",
|
|
2140
|
-
"contextSource": "_179bCq_contextSource",
|
|
2141
2157
|
"contextRow": "_179bCq_contextRow",
|
|
2142
|
-
"
|
|
2158
|
+
"contextChevron": "_179bCq_contextChevron",
|
|
2143
2159
|
"contextFieldKey": "_179bCq_contextFieldKey",
|
|
2144
|
-
"contextSection": "_179bCq_contextSection",
|
|
2145
|
-
"contextFoldBody": "_179bCq_contextFoldBody",
|
|
2146
|
-
"contextFields": "_179bCq_contextFields",
|
|
2147
|
-
"contextSummary": "_179bCq_contextSummary",
|
|
2148
|
-
"contextSections": "_179bCq_contextSections",
|
|
2149
|
-
"contextFile": "_179bCq_contextFile",
|
|
2150
|
-
"thinkSeparator": "_179bCq_thinkSeparator",
|
|
2151
|
-
"contextFilePath": "_179bCq_contextFilePath",
|
|
2152
2160
|
"contextFieldValue": "_179bCq_contextFieldValue",
|
|
2153
|
-
"
|
|
2154
|
-
"
|
|
2161
|
+
"contextFiles": "_179bCq_contextFiles",
|
|
2162
|
+
"contextSource": "_179bCq_contextSource",
|
|
2163
|
+
"contextFilePath": "_179bCq_contextFilePath",
|
|
2164
|
+
"contextSummary": "_179bCq_contextSummary",
|
|
2165
|
+
"contextEntries": "_179bCq_contextEntries"
|
|
2155
2166
|
};
|
|
2156
2167
|
//#endregion
|
|
2157
2168
|
//#region src/client/view/rows/ContextRow.tsx
|
|
@@ -2713,31 +2724,31 @@ window.__ModuleLoader__.load({
|
|
|
2713
2724
|
document.head.appendChild(tag);
|
|
2714
2725
|
}
|
|
2715
2726
|
var ToolCallRow_module_css_default = {
|
|
2727
|
+
"ioSection": "_4yws7G_ioSection",
|
|
2728
|
+
"callLeading": "_4yws7G_callLeading",
|
|
2729
|
+
"webBody": "_4yws7G_webBody",
|
|
2730
|
+
"callRowInner": "_4yws7G_callRowInner",
|
|
2731
|
+
"readBody": "_4yws7G_readBody",
|
|
2716
2732
|
"diffBody": "_4yws7G_diffBody",
|
|
2733
|
+
"ioLabel": "_4yws7G_ioLabel",
|
|
2717
2734
|
"searchRecovery": "_4yws7G_searchRecovery",
|
|
2718
|
-
"
|
|
2719
|
-
"ioDivider": "_4yws7G_ioDivider",
|
|
2735
|
+
"dsh-focus-tool-row-sweep": "_4yws7G_dsh-focus-tool-row-sweep",
|
|
2720
2736
|
"callBodyWrap": "_4yws7G_callBodyWrap",
|
|
2721
|
-
"ioSection": "_4yws7G_ioSection",
|
|
2722
|
-
"callLeading": "_4yws7G_callLeading",
|
|
2723
|
-
"callFileLink": "_4yws7G_callFileLink",
|
|
2724
|
-
"subcalls": "_4yws7G_subcalls",
|
|
2725
|
-
"callChevron": "_4yws7G_callChevron",
|
|
2726
2737
|
"ioCard": "_4yws7G_ioCard",
|
|
2727
|
-
"
|
|
2728
|
-
"callRowInner": "_4yws7G_callRowInner",
|
|
2738
|
+
"ioDivider": "_4yws7G_ioDivider",
|
|
2729
2739
|
"callSummary": "_4yws7G_callSummary",
|
|
2740
|
+
"codeBody": "_4yws7G_codeBody",
|
|
2730
2741
|
"terminalBody": "_4yws7G_terminalBody",
|
|
2731
|
-
"
|
|
2732
|
-
"
|
|
2742
|
+
"subcalls": "_4yws7G_subcalls",
|
|
2743
|
+
"callFileLink": "_4yws7G_callFileLink",
|
|
2744
|
+
"callErrorSummary": "_4yws7G_callErrorSummary",
|
|
2745
|
+
"ioText": "_4yws7G_ioText",
|
|
2733
2746
|
"callSeparator": "_4yws7G_callSeparator",
|
|
2747
|
+
"callChevron": "_4yws7G_callChevron",
|
|
2748
|
+
"searchBody": "_4yws7G_searchBody",
|
|
2749
|
+
"callTitle": "_4yws7G_callTitle",
|
|
2734
2750
|
"callRow": "_4yws7G_callRow",
|
|
2735
|
-
"
|
|
2736
|
-
"codeBody": "_4yws7G_codeBody",
|
|
2737
|
-
"callErrorSummary": "_4yws7G_callErrorSummary",
|
|
2738
|
-
"readBody": "_4yws7G_readBody",
|
|
2739
|
-
"bodyScroll": "_4yws7G_bodyScroll",
|
|
2740
|
-
"searchBody": "_4yws7G_searchBody"
|
|
2751
|
+
"bodyScroll": "_4yws7G_bodyScroll"
|
|
2741
2752
|
};
|
|
2742
2753
|
//#endregion
|
|
2743
2754
|
//#region src/client/view/rows/ToolCallRow.tsx
|
|
@@ -2986,11 +2997,11 @@ window.__ModuleLoader__.load({
|
|
|
2986
2997
|
document.head.appendChild(tag);
|
|
2987
2998
|
}
|
|
2988
2999
|
var ToolGroupRow_module_css_default = {
|
|
2989
|
-
"groupRow": "AZoo5a_groupRow",
|
|
2990
|
-
"calls": "AZoo5a_calls",
|
|
2991
3000
|
"groupRowInner": "AZoo5a_groupRowInner",
|
|
2992
|
-
"
|
|
2993
|
-
"
|
|
3001
|
+
"groupTitleLine": "AZoo5a_groupTitleLine",
|
|
3002
|
+
"calls": "AZoo5a_calls",
|
|
3003
|
+
"groupRow": "AZoo5a_groupRow",
|
|
3004
|
+
"groupTitleFailed": "AZoo5a_groupTitleFailed"
|
|
2994
3005
|
};
|
|
2995
3006
|
//#endregion
|
|
2996
3007
|
//#region src/client/view/rows/ToolGroupRow.tsx
|
|
@@ -3060,10 +3071,10 @@ window.__ModuleLoader__.load({
|
|
|
3060
3071
|
document.head.appendChild(tag);
|
|
3061
3072
|
}
|
|
3062
3073
|
var SystemPromptRow_module_css_default = {
|
|
3063
|
-
"
|
|
3074
|
+
"text": "OTeFQG_text",
|
|
3064
3075
|
"root": "OTeFQG_root",
|
|
3065
|
-
"
|
|
3066
|
-
"
|
|
3076
|
+
"chevron": "OTeFQG_chevron",
|
|
3077
|
+
"body": "OTeFQG_body"
|
|
3067
3078
|
};
|
|
3068
3079
|
//#endregion
|
|
3069
3080
|
//#region src/client/view/rows/SystemPromptRow.tsx
|
|
@@ -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
3128
|
"messageClock": "_4s79ma_messageClock",
|
|
3161
|
-
"
|
|
3162
|
-
"messageAction": "_4s79ma_messageAction"
|
|
3129
|
+
"messageActions": "_4s79ma_messageActions",
|
|
3130
|
+
"messageAction": "_4s79ma_messageAction",
|
|
3131
|
+
"messageClockDot": "_4s79ma_messageClockDot"
|
|
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
|
+
"userRow": "F9H9aG_userRow",
|
|
3244
|
+
"bubble": "F9H9aG_bubble",
|
|
3245
|
+
"refChip": "F9H9aG_refChip",
|
|
3246
|
+
"userStack": "F9H9aG_userStack"
|
|
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,13 +3359,13 @@ window.__ModuleLoader__.load({
|
|
|
3373
3359
|
document.head.appendChild(tag);
|
|
3374
3360
|
}
|
|
3375
3361
|
var MessageFeedbackActions_module_css_default = {
|
|
3376
|
-
"failure": "-anQya_failure",
|
|
3377
|
-
"noteActions": "-anQya_noteActions",
|
|
3378
3362
|
"noteSave": "-anQya_noteSave",
|
|
3379
3363
|
"action": "-anQya_action",
|
|
3364
|
+
"failure": "-anQya_failure",
|
|
3365
|
+
"noteOpen": "-anQya_noteOpen",
|
|
3366
|
+
"noteActions": "-anQya_noteActions",
|
|
3380
3367
|
"noteCancel": "-anQya_noteCancel",
|
|
3381
3368
|
"notePanel": "-anQya_notePanel",
|
|
3382
|
-
"noteOpen": "-anQya_noteOpen",
|
|
3383
3369
|
"noteInput": "-anQya_noteInput"
|
|
3384
3370
|
};
|
|
3385
3371
|
//#endregion
|
|
@@ -3665,15 +3651,15 @@ window.__ModuleLoader__.load({
|
|
|
3665
3651
|
document.head.appendChild(tag);
|
|
3666
3652
|
}
|
|
3667
3653
|
var TurnUsageDisclosure_module_css_default = {
|
|
3668
|
-
"
|
|
3654
|
+
"root": "xrt96a_root",
|
|
3669
3655
|
"details": "xrt96a_details",
|
|
3670
|
-
"separator": "xrt96a_separator",
|
|
3671
|
-
"totalValue": "xrt96a_totalValue",
|
|
3672
3656
|
"summary": "xrt96a_summary",
|
|
3673
|
-
"
|
|
3674
|
-
"root": "xrt96a_root",
|
|
3657
|
+
"separator": "xrt96a_separator",
|
|
3675
3658
|
"reasoning": "xrt96a_reasoning",
|
|
3676
|
-
"
|
|
3659
|
+
"totalValue": "xrt96a_totalValue",
|
|
3660
|
+
"route": "xrt96a_route",
|
|
3661
|
+
"totalLabel": "xrt96a_totalLabel",
|
|
3662
|
+
"chevron": "xrt96a_chevron"
|
|
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
|
-
"producedRow": "g6Vo2a_producedRow",
|
|
3776
3759
|
"producedLabel": "g6Vo2a_producedLabel",
|
|
3777
|
-
"producedShowFolder": "g6Vo2a_producedShowFolder",
|
|
3778
3760
|
"producedLane": "g6Vo2a_producedLane",
|
|
3761
|
+
"producedMeasure": "g6Vo2a_producedMeasure",
|
|
3762
|
+
"producedRow": "g6Vo2a_producedRow",
|
|
3763
|
+
"producedShowFolder": "g6Vo2a_producedShowFolder",
|
|
3779
3764
|
"turnTail": "g6Vo2a_turnTail",
|
|
3780
|
-
"
|
|
3765
|
+
"producedMore": "g6Vo2a_producedMore",
|
|
3766
|
+
"producedFile": "g6Vo2a_producedFile"
|
|
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
|
-
"commandSummary": "EhZFdG_commandSummary",
|
|
3923
3908
|
"dsh-focus-command-row-sweep": "EhZFdG_dsh-focus-command-row-sweep",
|
|
3924
|
-
"commandRow": "EhZFdG_commandRow",
|
|
3925
3909
|
"commandRowInner": "EhZFdG_commandRowInner",
|
|
3926
3910
|
"thinkSeparator": "EhZFdG_thinkSeparator",
|
|
3927
|
-
"commandBody": "EhZFdG_commandBody"
|
|
3911
|
+
"commandBody": "EhZFdG_commandBody",
|
|
3912
|
+
"commandRow": "EhZFdG_commandRow",
|
|
3913
|
+
"commandSummary": "EhZFdG_commandSummary"
|
|
3928
3914
|
};
|
|
3929
3915
|
//#endregion
|
|
3930
3916
|
//#region src/client/view/rows/CommandRow.tsx
|
|
@@ -3982,15 +3968,15 @@ window.__ModuleLoader__.load({
|
|
|
3982
3968
|
document.head.appendChild(tag);
|
|
3983
3969
|
}
|
|
3984
3970
|
var CompactionRow_module_css_default = {
|
|
3985
|
-
"compactionRow": "MjDQ7W_compactionRow",
|
|
3986
3971
|
"compactionBody": "MjDQ7W_compactionBody",
|
|
3987
3972
|
"compactionSep": "MjDQ7W_compactionSep",
|
|
3988
3973
|
"compactionTitle": "MjDQ7W_compactionTitle",
|
|
3989
|
-
"
|
|
3974
|
+
"compactionRow": "MjDQ7W_compactionRow",
|
|
3975
|
+
"compactionLeading": "MjDQ7W_compactionLeading",
|
|
3990
3976
|
"compactionContextIcon": "MjDQ7W_compactionContextIcon",
|
|
3977
|
+
"compactionButton": "MjDQ7W_compactionButton",
|
|
3991
3978
|
"compactionDisclosureIcon": "MjDQ7W_compactionDisclosureIcon",
|
|
3992
|
-
"compactionSummary": "MjDQ7W_compactionSummary"
|
|
3993
|
-
"compactionLeading": "MjDQ7W_compactionLeading"
|
|
3979
|
+
"compactionSummary": "MjDQ7W_compactionSummary"
|
|
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
|
-
"retryRow": "Z1bpSa_retryRow",
|
|
4095
|
-
"retrySummary": "Z1bpSa_retrySummary",
|
|
4096
4080
|
"dsh-focus-retry-shimmer": "Z1bpSa_dsh-focus-retry-shimmer",
|
|
4097
4081
|
"retryText": "Z1bpSa_retryText",
|
|
4082
|
+
"retryDetailLabel": "Z1bpSa_retryDetailLabel",
|
|
4098
4083
|
"retryDetails": "Z1bpSa_retryDetails",
|
|
4099
|
-
"
|
|
4084
|
+
"retrySummary": "Z1bpSa_retrySummary",
|
|
4085
|
+
"retryRow": "Z1bpSa_retryRow"
|
|
4100
4086
|
};
|
|
4101
4087
|
//#endregion
|
|
4102
4088
|
//#region src/client/view/rows/RetryRow.tsx
|
|
@@ -4182,8 +4168,8 @@ window.__ModuleLoader__.load({
|
|
|
4182
4168
|
"turnFold": "Gcx_5W_turnFold",
|
|
4183
4169
|
"label": "Gcx_5W_label",
|
|
4184
4170
|
"turnFoldBody": "Gcx_5W_turnFoldBody",
|
|
4185
|
-
"
|
|
4186
|
-
"
|
|
4171
|
+
"root": "Gcx_5W_root",
|
|
4172
|
+
"chevron": "Gcx_5W_chevron"
|
|
4187
4173
|
};
|
|
4188
4174
|
//#endregion
|
|
4189
4175
|
//#region src/client/view/rows/TurnFoldRow.tsx
|
|
@@ -4243,14 +4229,14 @@ window.__ModuleLoader__.load({
|
|
|
4243
4229
|
}
|
|
4244
4230
|
var FlowRow_module_css_default = {
|
|
4245
4231
|
"turnErrorCode": "W4FZQG_turnErrorCode",
|
|
4246
|
-
"assistant": "W4FZQG_assistant",
|
|
4247
|
-
"turnErrorDot": "W4FZQG_turnErrorDot",
|
|
4248
|
-
"turnErrorMessage": "W4FZQG_turnErrorMessage",
|
|
4249
4232
|
"stopped": "W4FZQG_stopped",
|
|
4250
4233
|
"turnErrorRow": "W4FZQG_turnErrorRow",
|
|
4234
|
+
"assistant": "W4FZQG_assistant",
|
|
4235
|
+
"turnErrorDot": "W4FZQG_turnErrorDot",
|
|
4236
|
+
"turnErrorTitle": "W4FZQG_turnErrorTitle",
|
|
4251
4237
|
"contextRow": "W4FZQG_contextRow",
|
|
4252
4238
|
"turnErrorCopy": "W4FZQG_turnErrorCopy",
|
|
4253
|
-
"
|
|
4239
|
+
"turnErrorMessage": "W4FZQG_turnErrorMessage"
|
|
4254
4240
|
};
|
|
4255
4241
|
//#endregion
|
|
4256
4242
|
//#region src/client/view/rows/FlowRow.tsx
|
|
@@ -4435,8 +4421,8 @@ window.__ModuleLoader__.load({
|
|
|
4435
4421
|
}
|
|
4436
4422
|
var RunningStatus_module_css_default = {
|
|
4437
4423
|
"dsh-focus-turn-shimmer": "_1zwjxa_dsh-focus-turn-shimmer",
|
|
4438
|
-
"
|
|
4439
|
-
"
|
|
4424
|
+
"turnStatus": "_1zwjxa_turnStatus",
|
|
4425
|
+
"turnStatusClock": "_1zwjxa_turnStatusClock"
|
|
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 = {
|
|
4482
|
-
"mark": "jXLS-q_mark",
|
|
4483
|
-
"preview": "jXLS-q_preview",
|
|
4484
|
-
"previewResponse": "jXLS-q_previewResponse",
|
|
4485
|
-
"dsh-focus-turn-preview-enter": "jXLS-q_dsh-focus-turn-preview-enter",
|
|
4486
4468
|
"markPreview": "jXLS-q_markPreview",
|
|
4487
|
-
"
|
|
4469
|
+
"markActive": "jXLS-q_markActive",
|
|
4470
|
+
"marks": "jXLS-q_marks",
|
|
4488
4471
|
"previewPrompt": "jXLS-q_previewPrompt",
|
|
4472
|
+
"previewResponse": "jXLS-q_previewResponse",
|
|
4473
|
+
"rail": "jXLS-q_rail",
|
|
4474
|
+
"dsh-focus-turn-preview-enter": "jXLS-q_dsh-focus-turn-preview-enter",
|
|
4475
|
+
"preview": "jXLS-q_preview",
|
|
4489
4476
|
"markPosition": "jXLS-q_markPosition",
|
|
4490
|
-
"
|
|
4477
|
+
"dsh-focus-turn-mark-enter": "jXLS-q_dsh-focus-turn-mark-enter",
|
|
4491
4478
|
"slot": "jXLS-q_slot",
|
|
4492
|
-
"
|
|
4493
|
-
"markActive": "jXLS-q_markActive"
|
|
4479
|
+
"mark": "jXLS-q_mark"
|
|
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 = {
|
|
4605
|
-
"
|
|
4606
|
-
"
|
|
4591
|
+
"runningCalls": "VkMv3G_runningCalls",
|
|
4592
|
+
"toBottom": "VkMv3G_toBottom",
|
|
4593
|
+
"modalAction": "VkMv3G_modalAction",
|
|
4607
4594
|
"hint": "VkMv3G_hint",
|
|
4595
|
+
"scroll": "VkMv3G_scroll",
|
|
4596
|
+
"root": "VkMv3G_root",
|
|
4597
|
+
"column": "VkMv3G_column",
|
|
4608
4598
|
"flowItem": "VkMv3G_flowItem",
|
|
4599
|
+
"older": "VkMv3G_older",
|
|
4609
4600
|
"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
|
+
"empty": "VkMv3G_empty"
|
|
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.25",
|
|
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",
|