@xgjktech/xg_cwork_im 1.15.2 → 1.16.1
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/README.md +2 -1
- package/dist/src/block-streaming-config.test.js +7 -1
- package/dist/src/block-streaming-config.test.js.map +1 -1
- package/dist/src/channel-config.d.ts +18 -0
- package/dist/src/channel-config.d.ts.map +1 -1
- package/dist/src/channel-config.js +10 -0
- package/dist/src/channel-config.js.map +1 -1
- package/dist/src/connection.d.ts +10 -7
- package/dist/src/connection.d.ts.map +1 -1
- package/dist/src/connection.js +35 -4
- package/dist/src/connection.js.map +1 -1
- package/dist/src/deliver-text.d.ts +1 -1
- package/dist/src/deliver-text.d.ts.map +1 -1
- package/dist/src/deliver-text.js +13 -4
- package/dist/src/deliver-text.js.map +1 -1
- package/dist/src/deliver-text.test.js +14 -2
- package/dist/src/deliver-text.test.js.map +1 -1
- package/dist/src/dispatch-mentioned-reply.d.ts +2 -2
- package/dist/src/dispatch-mentioned-reply.d.ts.map +1 -1
- package/dist/src/dispatch-mentioned-reply.js +165 -52
- package/dist/src/dispatch-mentioned-reply.js.map +1 -1
- package/dist/src/run-usage-session.d.ts +10 -0
- package/dist/src/run-usage-session.d.ts.map +1 -0
- package/dist/src/run-usage-session.js +29 -0
- package/dist/src/run-usage-session.js.map +1 -0
- package/dist/src/run-usage.d.ts +52 -0
- package/dist/src/run-usage.d.ts.map +1 -0
- package/dist/src/run-usage.js +93 -0
- package/dist/src/run-usage.js.map +1 -0
- package/dist/src/run-usage.test.d.ts +2 -0
- package/dist/src/run-usage.test.d.ts.map +1 -0
- package/dist/src/run-usage.test.js +90 -0
- package/dist/src/run-usage.test.js.map +1 -0
- package/dist/src/turn-deliver-buffer.d.ts +42 -0
- package/dist/src/turn-deliver-buffer.d.ts.map +1 -0
- package/dist/src/turn-deliver-buffer.js +66 -0
- package/dist/src/turn-deliver-buffer.js.map +1 -0
- package/dist/src/turn-deliver-buffer.test.d.ts +2 -0
- package/dist/src/turn-deliver-buffer.test.d.ts.map +1 -0
- package/dist/src/turn-deliver-buffer.test.js +130 -0
- package/dist/src/turn-deliver-buffer.test.js.map +1 -0
- package/dist/src/types.d.ts +7 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-usage.js","sourceRoot":"","sources":["../../src/run-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-usage.test.d.ts","sourceRoot":"","sources":["../../src/run-usage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { describe, it } from "node:test";
|
|
3
|
+
import { buildRunUsageFromSessionEntry, hasReportableUsage, toImStreamRunUsageData, } from "./run-usage.js";
|
|
4
|
+
describe("buildRunUsageFromSessionEntry", () => {
|
|
5
|
+
it("maps session store fields to RUN_USAGE snapshot", () => {
|
|
6
|
+
const u = buildRunUsageFromSessionEntry({
|
|
7
|
+
modelProvider: "openai",
|
|
8
|
+
model: "gpt-5.5",
|
|
9
|
+
inputTokens: 1_200,
|
|
10
|
+
outputTokens: 89,
|
|
11
|
+
cacheRead: 10_000,
|
|
12
|
+
cacheWrite: 0,
|
|
13
|
+
estimatedCostUsd: 0.0123,
|
|
14
|
+
}, { runId: "run-1" });
|
|
15
|
+
assert.ok(u);
|
|
16
|
+
assert.equal(u.source, "session");
|
|
17
|
+
assert.equal(u.provider, "openai");
|
|
18
|
+
assert.equal(u.model, "gpt-5.5");
|
|
19
|
+
assert.equal(u.modelRef, "openai/gpt-5.5");
|
|
20
|
+
assert.equal(u.inputTokens, 1_200);
|
|
21
|
+
assert.equal(u.outputTokens, 89);
|
|
22
|
+
assert.equal(u.totalTokens, 1_289);
|
|
23
|
+
assert.equal(u.cacheReadTokens, 10_000);
|
|
24
|
+
assert.equal(u.cacheWriteTokens, 0);
|
|
25
|
+
assert.equal(u.estimatedCostUsd, 0.0123);
|
|
26
|
+
assert.equal(u.runId, "run-1");
|
|
27
|
+
});
|
|
28
|
+
it("prefers explicit totalTokens from session", () => {
|
|
29
|
+
const u = buildRunUsageFromSessionEntry({
|
|
30
|
+
modelProvider: "xgjk-newapi",
|
|
31
|
+
model: "MiniMax-M2.7-Cloud",
|
|
32
|
+
inputTokens: 100,
|
|
33
|
+
outputTokens: 20,
|
|
34
|
+
totalTokens: 26_002,
|
|
35
|
+
});
|
|
36
|
+
assert.ok(u);
|
|
37
|
+
assert.equal(u.totalTokens, 26_002);
|
|
38
|
+
});
|
|
39
|
+
it("accepts model-only entry", () => {
|
|
40
|
+
const u = buildRunUsageFromSessionEntry({
|
|
41
|
+
modelProvider: "openai",
|
|
42
|
+
model: "gpt-5.5",
|
|
43
|
+
});
|
|
44
|
+
assert.ok(u);
|
|
45
|
+
assert.equal(u.modelRef, "openai/gpt-5.5");
|
|
46
|
+
assert.equal(u.inputTokens, undefined);
|
|
47
|
+
assert.equal(hasReportableUsage(u), true);
|
|
48
|
+
});
|
|
49
|
+
it("accepts tokens-only entry", () => {
|
|
50
|
+
const u = buildRunUsageFromSessionEntry({
|
|
51
|
+
inputTokens: 10,
|
|
52
|
+
outputTokens: 2,
|
|
53
|
+
});
|
|
54
|
+
assert.ok(u);
|
|
55
|
+
assert.equal(u.totalTokens, 12);
|
|
56
|
+
assert.equal(u.modelRef, undefined);
|
|
57
|
+
});
|
|
58
|
+
it("returns undefined for empty entry", () => {
|
|
59
|
+
assert.equal(buildRunUsageFromSessionEntry({}), undefined);
|
|
60
|
+
assert.equal(buildRunUsageFromSessionEntry(null), undefined);
|
|
61
|
+
assert.equal(buildRunUsageFromSessionEntry(undefined), undefined);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("toImStreamRunUsageData", () => {
|
|
65
|
+
it("omits undefined optional fields", () => {
|
|
66
|
+
const data = toImStreamRunUsageData({
|
|
67
|
+
provider: "openai",
|
|
68
|
+
model: "gpt-5.5",
|
|
69
|
+
modelRef: "openai/gpt-5.5",
|
|
70
|
+
inputTokens: 100,
|
|
71
|
+
outputTokens: 5,
|
|
72
|
+
totalTokens: 105,
|
|
73
|
+
source: "session",
|
|
74
|
+
}, { groupId: "g1", replyToMsgId: "m1" });
|
|
75
|
+
assert.deepEqual(data, {
|
|
76
|
+
groupId: "g1",
|
|
77
|
+
replyToMsgId: "m1",
|
|
78
|
+
usage: {
|
|
79
|
+
provider: "openai",
|
|
80
|
+
model: "gpt-5.5",
|
|
81
|
+
modelRef: "openai/gpt-5.5",
|
|
82
|
+
inputTokens: 100,
|
|
83
|
+
outputTokens: 5,
|
|
84
|
+
totalTokens: 105,
|
|
85
|
+
source: "session",
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=run-usage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-usage.test.js","sourceRoot":"","sources":["../../src/run-usage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 一轮 dispatch 内的 assistant 正文段缓冲:同段多次 deliver 覆盖,在 tool 边界或轮次结束冲刷 HTTP。
|
|
3
|
+
*/
|
|
4
|
+
import type { ReplyDeliverPayload } from "./send-service.js";
|
|
5
|
+
export type DeliverFlushKind = "interim" | "final";
|
|
6
|
+
export type BufferedDeliverEntry = {
|
|
7
|
+
payload: ReplyDeliverPayload;
|
|
8
|
+
textPart: string;
|
|
9
|
+
hasMedia: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type TurnDeliverBufferStats = {
|
|
12
|
+
writeCount: number;
|
|
13
|
+
flushInterimCount: number;
|
|
14
|
+
flushFinalCount: number;
|
|
15
|
+
skippedDuplicateFlushCount: number;
|
|
16
|
+
};
|
|
17
|
+
export type TakeForFlushResult = {
|
|
18
|
+
status: "empty";
|
|
19
|
+
} | {
|
|
20
|
+
status: "skipped_duplicate";
|
|
21
|
+
entry: BufferedDeliverEntry;
|
|
22
|
+
} | {
|
|
23
|
+
status: "ready";
|
|
24
|
+
entry: BufferedDeliverEntry;
|
|
25
|
+
};
|
|
26
|
+
/** deliver 正文/附件是否值得写入 buffer 或立即 HTTP。 */
|
|
27
|
+
export declare function isDeliverPayloadSendable(args: {
|
|
28
|
+
textPart: string;
|
|
29
|
+
hasMedia: boolean;
|
|
30
|
+
isThinking?: boolean;
|
|
31
|
+
}): boolean;
|
|
32
|
+
export declare class TurnDeliverBuffer {
|
|
33
|
+
private buffer;
|
|
34
|
+
private lastFlushedComparable;
|
|
35
|
+
private readonly stats;
|
|
36
|
+
hasContent(): boolean;
|
|
37
|
+
getStats(): TurnDeliverBufferStats;
|
|
38
|
+
write(entry: BufferedDeliverEntry): void;
|
|
39
|
+
takeForFlush(kind: DeliverFlushKind): TakeForFlushResult;
|
|
40
|
+
clear(): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=turn-deliver-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-deliver-buffer.d.ts","sourceRoot":"","sources":["../../src/turn-deliver-buffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GACxB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEvD,2CAA2C;AAC3C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAEV;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAKpB;IAEF,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,sBAAsB;IAIlC,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAKxC,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB;IAiCxD,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 一轮 dispatch 内的 assistant 正文段缓冲:同段多次 deliver 覆盖,在 tool 边界或轮次结束冲刷 HTTP。
|
|
3
|
+
*/
|
|
4
|
+
import { normalizeDeliverComparableText } from "./deliver-text.js";
|
|
5
|
+
/** deliver 正文/附件是否值得写入 buffer 或立即 HTTP。 */
|
|
6
|
+
export function isDeliverPayloadSendable(args) {
|
|
7
|
+
return Boolean(args.textPart) || (args.hasMedia && !args.isThinking);
|
|
8
|
+
}
|
|
9
|
+
export class TurnDeliverBuffer {
|
|
10
|
+
buffer;
|
|
11
|
+
lastFlushedComparable = "";
|
|
12
|
+
stats = {
|
|
13
|
+
writeCount: 0,
|
|
14
|
+
flushInterimCount: 0,
|
|
15
|
+
flushFinalCount: 0,
|
|
16
|
+
skippedDuplicateFlushCount: 0,
|
|
17
|
+
};
|
|
18
|
+
hasContent() {
|
|
19
|
+
return this.buffer !== undefined;
|
|
20
|
+
}
|
|
21
|
+
getStats() {
|
|
22
|
+
return { ...this.stats };
|
|
23
|
+
}
|
|
24
|
+
write(entry) {
|
|
25
|
+
this.buffer = entry;
|
|
26
|
+
this.stats.writeCount++;
|
|
27
|
+
}
|
|
28
|
+
takeForFlush(kind) {
|
|
29
|
+
if (!this.buffer) {
|
|
30
|
+
return { status: "empty" };
|
|
31
|
+
}
|
|
32
|
+
const comparable = buildFlushComparable(this.buffer);
|
|
33
|
+
const entry = this.buffer;
|
|
34
|
+
// 仅抑制「纯文重复」;带附件的 flush 必须发出(interim 纯文 → final 文+附件)。
|
|
35
|
+
if (comparable.length > 0 &&
|
|
36
|
+
comparable === this.lastFlushedComparable &&
|
|
37
|
+
!entry.hasMedia) {
|
|
38
|
+
this.stats.skippedDuplicateFlushCount++;
|
|
39
|
+
this.clear();
|
|
40
|
+
return { status: "skipped_duplicate", entry };
|
|
41
|
+
}
|
|
42
|
+
this.clear();
|
|
43
|
+
if (kind === "interim") {
|
|
44
|
+
this.stats.flushInterimCount++;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.stats.flushFinalCount++;
|
|
48
|
+
}
|
|
49
|
+
if (comparable.length > 0) {
|
|
50
|
+
this.lastFlushedComparable = comparable;
|
|
51
|
+
}
|
|
52
|
+
return { status: "ready", entry };
|
|
53
|
+
}
|
|
54
|
+
clear() {
|
|
55
|
+
this.buffer = undefined;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function buildFlushComparable(entry) {
|
|
59
|
+
const text = normalizeDeliverComparableText(entry.textPart);
|
|
60
|
+
if (text)
|
|
61
|
+
return text;
|
|
62
|
+
if (entry.hasMedia)
|
|
63
|
+
return "[media-only]";
|
|
64
|
+
return "";
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=turn-deliver-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-deliver-buffer.js","sourceRoot":"","sources":["../../src/turn-deliver-buffer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAuBnE,2CAA2C;AAC3C,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACG,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,OAAO,iBAAiB;IAClB,MAAM,CAAmC;IACzC,qBAAqB,GAAG,EAAE,CAAC;IAClB,KAAK,GAA2B;QAC7C,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,0BAA0B,EAAE,CAAC;KAChC,CAAC;IAEF,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAA2B;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,IAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,sDAAsD;QACtD,IACI,UAAU,CAAC,MAAM,GAAG,CAAC;YACrB,UAAU,KAAK,IAAI,CAAC,qBAAqB;YACzC,CAAC,KAAK,CAAC,QAAQ,EACjB,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC;QAC5C,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;CACJ;AAED,SAAS,oBAAoB,CAAC,KAA2B;IACrD,MAAM,IAAI,GAAG,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC;IAC1C,OAAO,EAAE,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-deliver-buffer.test.d.ts","sourceRoot":"","sources":["../../src/turn-deliver-buffer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { describe, it } from "node:test";
|
|
3
|
+
import { isDeliverPayloadSendable, TurnDeliverBuffer, } from "./turn-deliver-buffer.js";
|
|
4
|
+
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
5
|
+
|
|
6
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
7
|
+
|
|
8
|
+
- 不用 SVG
|
|
9
|
+
新文件:
|
|
10
|
+
|
|
11
|
+
-----`;
|
|
12
|
+
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
13
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
14
|
+
- 不用 SVG
|
|
15
|
+
新文件:`;
|
|
16
|
+
const WORLD_CUP_PARTIAL = `| 场次 | 时间 |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| 1 | 21:00 |
|
|
19
|
+
| 2 |`;
|
|
20
|
+
const WORLD_CUP_FULL = `| 场次 | 时间 |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| 1 | 21:00 |
|
|
23
|
+
| 2 | 00:00 |
|
|
24
|
+
| 3 | 03:00 |`;
|
|
25
|
+
function entry(textPart, hasMedia = false) {
|
|
26
|
+
return {
|
|
27
|
+
payload: { text: textPart, ...(hasMedia ? { mediaUrl: "/tmp/a.md" } : {}) },
|
|
28
|
+
textPart,
|
|
29
|
+
hasMedia,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
describe("isDeliverPayloadSendable", () => {
|
|
33
|
+
it("accepts text or non-thinking media", () => {
|
|
34
|
+
assert.equal(isDeliverPayloadSendable({ textPart: "hi", hasMedia: false }), true);
|
|
35
|
+
assert.equal(isDeliverPayloadSendable({ textPart: "", hasMedia: true }), true);
|
|
36
|
+
assert.equal(isDeliverPayloadSendable({ textPart: "", hasMedia: true, isThinking: true }), false);
|
|
37
|
+
assert.equal(isDeliverPayloadSendable({ textPart: "", hasMedia: false }), false);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe("TurnDeliverBuffer", () => {
|
|
41
|
+
it("overwrites on multiple writes; final flush returns last version only", () => {
|
|
42
|
+
const buf = new TurnDeliverBuffer();
|
|
43
|
+
buf.write(entry(HOUTONG_BODY_LOOSE));
|
|
44
|
+
buf.write(entry(HOUTONG_BODY_TIGHT));
|
|
45
|
+
buf.write(entry(HOUTONG_BODY_TIGHT, true));
|
|
46
|
+
const final = buf.takeForFlush("final");
|
|
47
|
+
assert.equal(final.status, "ready");
|
|
48
|
+
if (final.status === "ready") {
|
|
49
|
+
assert.equal(final.entry.textPart, HOUTONG_BODY_TIGHT);
|
|
50
|
+
assert.equal(final.entry.hasMedia, true);
|
|
51
|
+
}
|
|
52
|
+
assert.deepEqual(buf.getStats(), {
|
|
53
|
+
writeCount: 3,
|
|
54
|
+
flushInterimCount: 0,
|
|
55
|
+
flushFinalCount: 1,
|
|
56
|
+
skippedDuplicateFlushCount: 0,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
it("interim flush clears buffer; final holds post-tool segment", () => {
|
|
60
|
+
const buf = new TurnDeliverBuffer();
|
|
61
|
+
buf.write(entry("先说明"));
|
|
62
|
+
const interim = buf.takeForFlush("interim");
|
|
63
|
+
assert.equal(interim.status, "ready");
|
|
64
|
+
buf.write(entry("最终结论"));
|
|
65
|
+
const final = buf.takeForFlush("final");
|
|
66
|
+
assert.equal(final.status, "ready");
|
|
67
|
+
if (final.status === "ready") {
|
|
68
|
+
assert.equal(final.entry.textPart, "最终结论");
|
|
69
|
+
}
|
|
70
|
+
assert.equal(buf.getStats().flushInterimCount, 1);
|
|
71
|
+
assert.equal(buf.getStats().flushFinalCount, 1);
|
|
72
|
+
});
|
|
73
|
+
it("skips final flush when comparable matches last interim (text-only)", () => {
|
|
74
|
+
const buf = new TurnDeliverBuffer();
|
|
75
|
+
buf.write(entry("正在查询…"));
|
|
76
|
+
assert.equal(buf.takeForFlush("interim").status, "ready");
|
|
77
|
+
buf.write(entry("正在查询…"));
|
|
78
|
+
assert.equal(buf.takeForFlush("final").status, "skipped_duplicate");
|
|
79
|
+
assert.equal(buf.getStats().skippedDuplicateFlushCount, 1);
|
|
80
|
+
assert.equal(buf.getStats().flushFinalCount, 0);
|
|
81
|
+
const dup = buf.takeForFlush("final");
|
|
82
|
+
assert.equal(dup.status, "empty");
|
|
83
|
+
});
|
|
84
|
+
it("skipped_duplicate still exposes entry for callers", () => {
|
|
85
|
+
const buf = new TurnDeliverBuffer();
|
|
86
|
+
buf.write(entry("说明文字"));
|
|
87
|
+
assert.equal(buf.takeForFlush("interim").status, "ready");
|
|
88
|
+
const withNoise = "说明文字\n\n_🟡 ↑111k ↓164 · 63%ctx · openai/gpt-5.5_";
|
|
89
|
+
buf.write(entry(withNoise));
|
|
90
|
+
const skipped = buf.takeForFlush("final");
|
|
91
|
+
assert.equal(skipped.status, "skipped_duplicate");
|
|
92
|
+
if (skipped.status === "skipped_duplicate") {
|
|
93
|
+
assert.equal(skipped.entry.textPart, withNoise);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
it("does not skip final when same text gains attachment after interim", () => {
|
|
97
|
+
const buf = new TurnDeliverBuffer();
|
|
98
|
+
buf.write(entry("说明文字"));
|
|
99
|
+
assert.equal(buf.takeForFlush("interim").status, "ready");
|
|
100
|
+
buf.write(entry("说明文字", true));
|
|
101
|
+
const final = buf.takeForFlush("final");
|
|
102
|
+
assert.equal(final.status, "ready");
|
|
103
|
+
if (final.status === "ready") {
|
|
104
|
+
assert.equal(final.entry.hasMedia, true);
|
|
105
|
+
assert.equal(final.entry.textPart, "说明文字");
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
it("world cup table revision: only full table in final flush", () => {
|
|
109
|
+
const buf = new TurnDeliverBuffer();
|
|
110
|
+
buf.write(entry(WORLD_CUP_PARTIAL));
|
|
111
|
+
buf.write(entry(WORLD_CUP_FULL));
|
|
112
|
+
const final = buf.takeForFlush("final");
|
|
113
|
+
assert.equal(final.status, "ready");
|
|
114
|
+
if (final.status === "ready") {
|
|
115
|
+
assert.equal(final.entry.textPart, WORLD_CUP_FULL);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
it("multi-tool: two interim + one final", () => {
|
|
119
|
+
const buf = new TurnDeliverBuffer();
|
|
120
|
+
buf.write(entry("段1"));
|
|
121
|
+
assert.equal(buf.takeForFlush("interim").status, "ready");
|
|
122
|
+
buf.write(entry("段2"));
|
|
123
|
+
assert.equal(buf.takeForFlush("interim").status, "ready");
|
|
124
|
+
buf.write(entry("结论"));
|
|
125
|
+
assert.equal(buf.takeForFlush("final").status, "ready");
|
|
126
|
+
assert.equal(buf.getStats().flushInterimCount, 2);
|
|
127
|
+
assert.equal(buf.getStats().flushFinalCount, 1);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=turn-deliver-buffer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-deliver-buffer.test.js","sourceRoot":"","sources":["../../src/turn-deliver-buffer.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -62,6 +62,8 @@ export interface XgImAccountConfig {
|
|
|
62
62
|
blockStreamingCoalesce?: BlockStreamingCoalesceConfig;
|
|
63
63
|
/** 见 {@link XgImConfig.deliverModelFallbackNotice} */
|
|
64
64
|
deliverModelFallbackNotice?: boolean;
|
|
65
|
+
/** 见 {@link XgImConfig.deliverSegmentBuffer} */
|
|
66
|
+
deliverSegmentBuffer?: boolean;
|
|
65
67
|
}
|
|
66
68
|
/** OpenClaw block reply 合并阈值(可选;IM 默认不配) */
|
|
67
69
|
export interface BlockStreamingCoalesceConfig {
|
|
@@ -160,6 +162,11 @@ export interface XgImConfig extends OpenClawConfig {
|
|
|
160
162
|
* 默认 `false`(不发送);设为 `true` 时与旧版行为一致。
|
|
161
163
|
*/
|
|
162
164
|
deliverModelFallbackNotice?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* 是否在 `blockStreaming` 开启时,将同一段 assistant 正文缓冲后在 tool 边界 / 轮次结束再 HTTP。
|
|
167
|
+
* 默认 `true`;设为 `false` 恢复「每次 deliver 即 HTTP + C7 去重」。
|
|
168
|
+
*/
|
|
169
|
+
deliverSegmentBuffer?: boolean;
|
|
163
170
|
}
|
|
164
171
|
/** GET /user/login/appkey 的响应 */
|
|
165
172
|
export interface GetTokenResponse {
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACR,cAAc,EACd,iBAAiB,EACjB,sBAAsB,IAAI,yBAAyB,EACnD,qBAAqB,IAAI,wBAAwB,EACjD,aAAa,IAAI,gBAAgB,EACjC,aAAa,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAA6B,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAIpG,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAIrD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAC9B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kDAAkD;IAClD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;IACnE;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IACtD,sDAAsD;IACtD,0BAA0B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqQH,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IACzD,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,GAAG,GAA2B;QAChC,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,yEAAyE;QAC/E,GAAG,EAAE,+BAA+B;QACpC,IAAI,EAAE,2EAA2E;QACjF,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,mEAAmE;QACzE,GAAG,EAAE,YAAY;QACjB,EAAE,EAAE,eAAe;QACnB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;KACnB,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xgjktech/xg_cwork_im",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.1",
|
|
4
4
|
"description": "XG CWork IM channel plugin for OpenClaw",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bot",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"build": "tsc -p tsconfig.json",
|
|
23
23
|
"type-check": "tsc -p tsconfig.json --noEmit",
|
|
24
24
|
"lint": "tsc -p tsconfig.json --noEmit",
|
|
25
|
-
"test": "npm run build && node --test dist/src/inbound-terminal-state.test.js dist/src/user-facing-errors.test.js dist/src/deliver-text.test.js dist/src/agent-context-types.test.js dist/src/block-streaming-config.test.js dist/src/per-message-fallback-notice.test.js dist/src/thinking-ws-progress.test.js dist/src/resource-file.test.js",
|
|
25
|
+
"test": "npm run build && node --test dist/src/inbound-terminal-state.test.js dist/src/user-facing-errors.test.js dist/src/deliver-text.test.js dist/src/agent-context-types.test.js dist/src/block-streaming-config.test.js dist/src/per-message-fallback-notice.test.js dist/src/thinking-ws-progress.test.js dist/src/resource-file.test.js dist/src/turn-deliver-buffer.test.js dist/src/run-usage.test.js",
|
|
26
26
|
"install:prod": "npm install --omit=dev",
|
|
27
27
|
"prepublishOnly": "npm run build"
|
|
28
28
|
},
|