dsh-connect 0.7.0 → 0.7.2
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/index.d.ts +10 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/menu-controller.d.ts +71 -0
- package/lib/menu-controller.d.ts.map +1 -0
- package/lib/menu-controller.js +292 -0
- package/lib/menu-controller.js.map +1 -0
- package/lib/menus.d.ts +73 -0
- package/lib/menus.d.ts.map +1 -0
- package/lib/menus.js +116 -0
- package/lib/menus.js.map +1 -0
- package/lib/runner.d.ts +51 -89
- package/lib/runner.d.ts.map +1 -1
- package/lib/runner.js +63 -617
- package/lib/runner.js.map +1 -1
- package/lib/stream.d.ts +62 -2
- package/lib/stream.d.ts.map +1 -1
- package/lib/stream.js +270 -0
- package/lib/stream.js.map +1 -1
- package/lib/types.d.ts +11 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +2 -2
package/lib/stream.js
CHANGED
|
@@ -35,4 +35,274 @@ export function createAsyncQueue() {
|
|
|
35
35
|
};
|
|
36
36
|
return queue;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Assemble one `assistant/chunk` event into the streaming queue with visible
|
|
40
|
+
* structure. DSH streams one block per LLM content block and block boundaries
|
|
41
|
+
* carry no newline of their own, so without separators every block (and the
|
|
42
|
+
* reasoning phase vs the final answer) would be glued together in the chat
|
|
43
|
+
* card. This inserts a blank line between blocks and before the answer, keeps
|
|
44
|
+
* the thinking hint once per turn, expands reasoning soft breaks (Feishu's
|
|
45
|
+
* streaming card collapses single `\n`), and falls back to whole-block text
|
|
46
|
+
* for blocks that arrived only via `block-end`. Every push refreshes
|
|
47
|
+
* `lastPushAt` so the liveness heartbeat knows the card is still moving.
|
|
48
|
+
* @param state - the turn's mutable assembly state.
|
|
49
|
+
* @param thinkingHint - localized hint text pushed at the first reasoning delta.
|
|
50
|
+
* @param chunk - the assistant chunk event's `chunk` payload.
|
|
51
|
+
*/
|
|
52
|
+
/** Every line-break run becomes a paragraph break (Feishu's streaming card collapses single `\n`). */
|
|
53
|
+
function expandLineBreaks(text) {
|
|
54
|
+
return text.replace(/\r\n?/g, "\n").replace(/\n+/g, "\n\n");
|
|
55
|
+
}
|
|
56
|
+
export function applyStreamChunk(state, thinkingHint, chunk, level = "full") {
|
|
57
|
+
if (chunk.type === "text-delta" || chunk.type === "reasoning-delta") {
|
|
58
|
+
const isReasoning = chunk.type === "reasoning-delta";
|
|
59
|
+
// Reasoning content is only streamed in `full` mode; `important` shows
|
|
60
|
+
// just the thinking hint and `result` shows nothing until the answer.
|
|
61
|
+
if (isReasoning && level !== "full") {
|
|
62
|
+
if (level === "important" && !state.hintPushed) {
|
|
63
|
+
state.hintPushed = true;
|
|
64
|
+
state.chunks.push(thinkingHint);
|
|
65
|
+
state.pushedAny = true;
|
|
66
|
+
state.lastPushAt = Date.now();
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (state.pushedAny) {
|
|
71
|
+
const newBlock = chunk.index !== undefined && state.lastIndex !== undefined && chunk.index !== state.lastIndex;
|
|
72
|
+
const reasoningToAnswer = !isReasoning && state.reasoning;
|
|
73
|
+
if (newBlock || reasoningToAnswer)
|
|
74
|
+
state.chunks.push("\n\n");
|
|
75
|
+
}
|
|
76
|
+
if (isReasoning) {
|
|
77
|
+
if (!state.hintPushed) {
|
|
78
|
+
state.hintPushed = true;
|
|
79
|
+
state.chunks.push(thinkingHint);
|
|
80
|
+
}
|
|
81
|
+
const text = chunk.text ?? "";
|
|
82
|
+
if (text !== "") {
|
|
83
|
+
state.chunks.push(expandLineBreaks(text));
|
|
84
|
+
}
|
|
85
|
+
state.reasoning = true;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const text = chunk.text ?? "";
|
|
89
|
+
state.chunks.push(text);
|
|
90
|
+
state.lastText += text;
|
|
91
|
+
state.reasoning = false;
|
|
92
|
+
}
|
|
93
|
+
state.lastIndex = chunk.index;
|
|
94
|
+
state.pushedAny = true;
|
|
95
|
+
state.lastPushAt = Date.now();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (chunk.type === "block-end") {
|
|
99
|
+
// Short blocks may arrive whole here with no preceding delta chunks.
|
|
100
|
+
// Fall back to the block text when this index never streamed deltas, so
|
|
101
|
+
// no content is silently dropped (guarded by index against duplication;
|
|
102
|
+
// each step restarts block indices, and a tool call resets `lastIndex`,
|
|
103
|
+
// so a same-index block-end after streamed deltas is reliably detected).
|
|
104
|
+
const index = chunk.index;
|
|
105
|
+
const blockType = chunk.block?.type;
|
|
106
|
+
const text = chunk.block?.text;
|
|
107
|
+
if (blockType === "reasoning" && level !== "full") {
|
|
108
|
+
// Reasoning block text is never streamed outside `full` mode.
|
|
109
|
+
if (level === "important" && !state.hintPushed) {
|
|
110
|
+
state.hintPushed = true;
|
|
111
|
+
state.chunks.push(thinkingHint);
|
|
112
|
+
state.pushedAny = true;
|
|
113
|
+
state.lastPushAt = Date.now();
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (typeof text === "string" && text.length > 0 && (index === undefined || index !== state.lastIndex)) {
|
|
118
|
+
if (state.pushedAny)
|
|
119
|
+
state.chunks.push("\n\n");
|
|
120
|
+
if (blockType === "reasoning" && !state.hintPushed) {
|
|
121
|
+
state.hintPushed = true;
|
|
122
|
+
state.chunks.push(thinkingHint);
|
|
123
|
+
}
|
|
124
|
+
state.chunks.push(blockType === "reasoning" ? expandLineBreaks(text) : text);
|
|
125
|
+
if (blockType !== "reasoning")
|
|
126
|
+
state.lastText += text;
|
|
127
|
+
state.lastIndex = index;
|
|
128
|
+
state.pushedAny = true;
|
|
129
|
+
state.reasoning = blockType === "reasoning";
|
|
130
|
+
state.lastPushAt = Date.now();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Push a localized tool-call status line into the streaming queue so long
|
|
136
|
+
* tool-execution stretches stay visibly alive (the Web GUI shows tool calls;
|
|
137
|
+
* the chat card should too). Ends the reasoning phase and drops the block
|
|
138
|
+
* index so the next content block gets its own separator instead of stacking
|
|
139
|
+
* one on top of the tool line's own blank lines.
|
|
140
|
+
* @param state - the turn's mutable assembly state.
|
|
141
|
+
* @param label - the localized status line, e.g. "🔧 调用工具 `pwsh` — …".
|
|
142
|
+
*/
|
|
143
|
+
export function applyToolCall(state, label) {
|
|
144
|
+
state.chunks.push(`\n\n${label}\n\n`);
|
|
145
|
+
state.reasoning = false;
|
|
146
|
+
state.lastIndex = undefined;
|
|
147
|
+
state.pushedAny = true;
|
|
148
|
+
state.lastPushAt = Date.now();
|
|
149
|
+
}
|
|
150
|
+
/** Pull a short human summary out of a tool call's `arguments` JSON (whitespace folded to one line). */
|
|
151
|
+
export function toolCallSummary(argumentsJson) {
|
|
152
|
+
if (typeof argumentsJson !== "string")
|
|
153
|
+
return undefined;
|
|
154
|
+
const fold = (value) => value.replace(/\s+/g, " ").trim();
|
|
155
|
+
try {
|
|
156
|
+
const parsed = JSON.parse(argumentsJson);
|
|
157
|
+
const description = parsed?.description;
|
|
158
|
+
if (typeof description === "string" && description !== "") {
|
|
159
|
+
const folded = fold(description);
|
|
160
|
+
return folded.length > 60 ? `${folded.slice(0, 60)}…` : folded;
|
|
161
|
+
}
|
|
162
|
+
for (const key of ["file_path", "path"]) {
|
|
163
|
+
const value = parsed?.[key];
|
|
164
|
+
if (typeof value === "string" && value !== "") {
|
|
165
|
+
const folded = fold(value);
|
|
166
|
+
return folded.length > 60 ? `${folded.slice(0, 60)}…` : folded;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// Not JSON — no summary.
|
|
172
|
+
}
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
/** Pull the first question's text out of an `ask_user_question` arguments JSON (whitespace folded to one line). */
|
|
176
|
+
export function questionTextOf(argumentsJson) {
|
|
177
|
+
if (typeof argumentsJson !== "string")
|
|
178
|
+
return "";
|
|
179
|
+
try {
|
|
180
|
+
const parsed = JSON.parse(argumentsJson);
|
|
181
|
+
const first = Array.isArray(parsed?.questions) ? parsed.questions[0] : undefined;
|
|
182
|
+
const text = typeof first?.question === "string" ? first.question : "";
|
|
183
|
+
const folded = text.replace(/\s+/g, " ").trim();
|
|
184
|
+
return folded.length > 60 ? `${folded.slice(0, 60)}…` : folded;
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// Not JSON — no question text.
|
|
188
|
+
}
|
|
189
|
+
return "";
|
|
190
|
+
}
|
|
191
|
+
export function mapReason(kind) {
|
|
192
|
+
switch (kind) {
|
|
193
|
+
case "completed":
|
|
194
|
+
case "aborted":
|
|
195
|
+
case "blocked":
|
|
196
|
+
case "error":
|
|
197
|
+
case "max-tokens":
|
|
198
|
+
case "interrupted":
|
|
199
|
+
return kind;
|
|
200
|
+
default:
|
|
201
|
+
return "unknown";
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export function summarizeTurn(events, firstSeq) {
|
|
205
|
+
let started = false;
|
|
206
|
+
let text = "";
|
|
207
|
+
let reason = "unknown";
|
|
208
|
+
let code;
|
|
209
|
+
let message;
|
|
210
|
+
let model;
|
|
211
|
+
let inputTokens = 0;
|
|
212
|
+
let outputTokens = 0;
|
|
213
|
+
let cacheReadTokens = 0;
|
|
214
|
+
let contextSize;
|
|
215
|
+
let contextWindow;
|
|
216
|
+
let steps = 0;
|
|
217
|
+
let turnStartTime;
|
|
218
|
+
let turnEndTime;
|
|
219
|
+
for (const event of events) {
|
|
220
|
+
if (event.seq < firstSeq)
|
|
221
|
+
continue;
|
|
222
|
+
if (event.type === "turn/start") {
|
|
223
|
+
started = true;
|
|
224
|
+
turnStartTime = typeof event.time === "number" ? event.time : undefined;
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
if (!started)
|
|
228
|
+
continue;
|
|
229
|
+
if (event.type === "step/start")
|
|
230
|
+
steps += 1;
|
|
231
|
+
if (event.type === "request/context") {
|
|
232
|
+
const provider = typeof event.data.provider === "string" ? event.data.provider : undefined;
|
|
233
|
+
const m = typeof event.data.model === "string" ? event.data.model : undefined;
|
|
234
|
+
if (provider !== undefined && m !== undefined)
|
|
235
|
+
model = `${provider}/${m}`;
|
|
236
|
+
if (typeof event.data.contextWindow === "number")
|
|
237
|
+
contextWindow = event.data.contextWindow;
|
|
238
|
+
}
|
|
239
|
+
if (event.type === "assistant/message") {
|
|
240
|
+
const usage = event.data.usage;
|
|
241
|
+
if (usage !== undefined) {
|
|
242
|
+
inputTokens += typeof usage.inputTokens === "number" ? usage.inputTokens : 0;
|
|
243
|
+
outputTokens += typeof usage.outputTokens === "number" ? usage.outputTokens : 0;
|
|
244
|
+
cacheReadTokens += typeof usage.cacheReadTokens === "number" ? usage.cacheReadTokens : 0;
|
|
245
|
+
if (typeof usage.inputTokens === "number")
|
|
246
|
+
contextSize = usage.inputTokens;
|
|
247
|
+
}
|
|
248
|
+
const joined = event.data.message.content
|
|
249
|
+
.filter((block) => block.type === "text")
|
|
250
|
+
.map((block) => block.text)
|
|
251
|
+
.join("");
|
|
252
|
+
if (joined !== "")
|
|
253
|
+
text = joined;
|
|
254
|
+
}
|
|
255
|
+
if (event.type === "turn/end") {
|
|
256
|
+
turnEndTime = typeof event.time === "number" ? event.time : undefined;
|
|
257
|
+
reason = mapReason(event.data.reason.kind);
|
|
258
|
+
if (event.data.reason.kind === "error") {
|
|
259
|
+
code = event.data.reason.error.code;
|
|
260
|
+
message = event.data.reason.error.message;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
const elapsedMs = turnStartTime !== undefined && turnEndTime !== undefined && turnEndTime >= turnStartTime
|
|
265
|
+
? turnEndTime - turnStartTime
|
|
266
|
+
: undefined;
|
|
267
|
+
return {
|
|
268
|
+
reason,
|
|
269
|
+
text,
|
|
270
|
+
...(code === undefined ? {} : { code }),
|
|
271
|
+
...(message === undefined ? {} : { message }),
|
|
272
|
+
...(model === undefined ? {} : { model }),
|
|
273
|
+
...(inputTokens > 0 ? { inputTokens } : {}),
|
|
274
|
+
...(outputTokens > 0 ? { outputTokens } : {}),
|
|
275
|
+
...(cacheReadTokens > 0 ? { cacheReadTokens } : {}),
|
|
276
|
+
...(contextSize === undefined ? {} : { contextSize }),
|
|
277
|
+
...(contextWindow === undefined ? {} : { contextWindow }),
|
|
278
|
+
...(steps > 0 ? { steps } : {}),
|
|
279
|
+
...(elapsedMs === undefined ? {} : { elapsedMs }),
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
export function truncate(text, max = 500) {
|
|
283
|
+
return text.length <= max ? text : `${text.slice(0, max)}…`;
|
|
284
|
+
}
|
|
285
|
+
/** Classify an error message into an advice bucket (keyword-based, best-effort). */
|
|
286
|
+
export function classifyError(detail) {
|
|
287
|
+
const d = detail.toLowerCase();
|
|
288
|
+
if (/(permission|forbidden|denied|not have access|no access|unauthorized|403|sandbox|acl |isn't permitted|not permitted|access denied)/.test(d))
|
|
289
|
+
return "permission";
|
|
290
|
+
if (/(timeout|econnrefused|econnreset|enotfound|enetunreach|etimedout|socket|network|proxy|tls|certificate|fetch failed|connect |unreachable|dns)/.test(d))
|
|
291
|
+
return "network";
|
|
292
|
+
if (/(model|quota|rate ?limit|429|insufficient|balance|token(s)? (limit|length)|max_tokens|context length|credit)/.test(d))
|
|
293
|
+
return "model";
|
|
294
|
+
return "generic";
|
|
295
|
+
}
|
|
296
|
+
/** Thousands-separated token count for display. */
|
|
297
|
+
export function fmtTokens(n) {
|
|
298
|
+
return n.toLocaleString("en-US");
|
|
299
|
+
}
|
|
300
|
+
export function textOf(message) {
|
|
301
|
+
if (message === undefined)
|
|
302
|
+
return "";
|
|
303
|
+
return message.content
|
|
304
|
+
.filter((b) => b.type === "text" && typeof b.text === "string")
|
|
305
|
+
.map((b) => b.text ?? "")
|
|
306
|
+
.join("");
|
|
307
|
+
}
|
|
38
308
|
//# sourceMappingURL=stream.js.map
|
package/lib/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,MAAgC,CAAC;IACrC,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,EAAE,EAAE,CAAC;QACX,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAkB;QAC3B,IAAI,CAAC,KAAK;YACR,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,EAAE,CAAC;QACT,CAAC;QACD,GAAG;YACD,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,EAAE,CAAC;QACT,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YAC3B,SAAS,CAAC;gBACR,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,MAAM,CAAC,KAAK,EAAO,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK;oBAAE,OAAO;gBAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,MAAM,GAAG,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -53,6 +53,8 @@ export interface ChoiceSection {
|
|
|
53
53
|
/** Number of columns per row for this section (overrides prompt default). */
|
|
54
54
|
readonly columnsPerRow?: number;
|
|
55
55
|
}
|
|
56
|
+
/** How a channel should render a choice prompt. */
|
|
57
|
+
export type ChoiceRender = "buttons" | "dropdown" | "auto";
|
|
56
58
|
/** An interactive single-choice prompt rendered by the channel as buttons. */
|
|
57
59
|
export interface ChoicePrompt {
|
|
58
60
|
readonly title: string;
|
|
@@ -64,6 +66,15 @@ export interface ChoicePrompt {
|
|
|
64
66
|
readonly footer?: string;
|
|
65
67
|
/** Number of columns per row for button grid (default: 2). Use 1 for full-width items. */
|
|
66
68
|
readonly columnsPerRow?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Rendering mode: `buttons` (explicit grid), `dropdown` (single-select
|
|
71
|
+
* list — Feishu `select_static`; other channels fall back to their default),
|
|
72
|
+
* or `auto` (channel picks: small sets -> buttons, large sets -> dropdown).
|
|
73
|
+
* Defaults to `buttons` for backward compatibility.
|
|
74
|
+
*/
|
|
75
|
+
readonly render?: ChoiceRender;
|
|
76
|
+
/** Optional option id to pre-select when a channel renders a dropdown. */
|
|
77
|
+
readonly initialOption?: string;
|
|
67
78
|
}
|
|
68
79
|
/** Result of an interactive choice: the picked option and the card's message id. */
|
|
69
80
|
export interface ChoiceResult {
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-connect",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Channel-agnostic messaging bridge core for DeepSeek Harness (DSH): binds chat channels to DSH agents, streams replies, and pushes work summaries",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -69,4 +69,4 @@
|
|
|
69
69
|
"@types/node": "^22.15.0",
|
|
70
70
|
"typescript": "^5.6.3"
|
|
71
71
|
}
|
|
72
|
-
}
|
|
72
|
+
}
|