@musnows/scriverse 1.0.6 → 1.0.7
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/dist/ai-tool-results.js +14 -8
- package/dist/ai-tool-results.js.map +1 -1
- package/dist/ai.js +33 -19
- package/dist/ai.js.map +1 -1
- package/dist/app.js +5 -2
- package/dist/app.js.map +1 -1
- package/dist/public/app.js +66 -15
- package/dist/public/icon-dev.svg +10 -0
- package/dist/public/index.html +2 -1
- package/dist/store.js +7 -7
- package/dist/store.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/ai-tool-results.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const AGENT_TOOL_RESULT_MAX_CHARS = 10_000;
|
|
2
|
-
export const MIN_AGENT_TOOL_CALL_LIMIT =
|
|
3
|
-
export const
|
|
2
|
+
export const MIN_AGENT_TOOL_CALL_LIMIT = 10;
|
|
3
|
+
export const DEFAULT_AGENT_TOOL_CALL_LIMIT = 20;
|
|
4
|
+
export const DEFAULT_MAX_AGENT_TOOL_CALL_LIMIT = 300;
|
|
4
5
|
export const MAX_AGENT_TOOL_CALL_LIMIT = DEFAULT_MAX_AGENT_TOOL_CALL_LIMIT;
|
|
5
6
|
export const MAX_AGENT_TOOL_CALL_LIMIT_ENV = "SCRIVERSE_MAX_AGENT_TOOL_CALL_LIMIT";
|
|
6
7
|
export const MAX_AGENT_TOOL_CALL_LIMIT_HARD_CAP = 1_000;
|
|
@@ -27,6 +28,14 @@ export function agentToolCallQuotaUsedAfterCompact(limit) {
|
|
|
27
28
|
return 0;
|
|
28
29
|
return Math.floor(limit * 0.2);
|
|
29
30
|
}
|
|
31
|
+
/** 按最后一次压缩恢复轮内配额;历史工具总数仍单独用于全局熔断。 */
|
|
32
|
+
export function restoreAgentToolCallQuotaUsed(executedCount, processSteps, limit) {
|
|
33
|
+
const lastCompactIndex = processSteps.findLastIndex((step) => step.type === "context_compaction");
|
|
34
|
+
if (lastCompactIndex < 0)
|
|
35
|
+
return executedCount;
|
|
36
|
+
return agentToolCallQuotaUsedAfterCompact(limit)
|
|
37
|
+
+ processSteps.slice(lastCompactIndex + 1).filter((step) => step.type === "tool").length;
|
|
38
|
+
}
|
|
30
39
|
export function clampAgentToolCallGlobalMultiplier(value) {
|
|
31
40
|
const numeric = Math.round(Number(value));
|
|
32
41
|
if (!Number.isFinite(numeric))
|
|
@@ -47,10 +56,10 @@ export function shouldRejectGlobalToolCalls(globalUsed, requestedCount, globalLi
|
|
|
47
56
|
return globalUsed + requestedCount > globalLimit;
|
|
48
57
|
}
|
|
49
58
|
export function buildAgentToolCallQuotaNotice(remaining, limit) {
|
|
50
|
-
if (!Number.isFinite(remaining) || remaining
|
|
59
|
+
if (!Number.isFinite(remaining) || remaining < 0)
|
|
51
60
|
return null;
|
|
52
|
-
if (remaining ===
|
|
53
|
-
return "[critical]
|
|
61
|
+
if (remaining === 0) {
|
|
62
|
+
return "[critical] 重要提示:现在没有可用的工具调用次数了。请立即根据已有工具结果直接总结作答,不得再请求任何工具。若继续发起工具调用,系统将显示额度不足提示并结束本次回答。";
|
|
54
63
|
}
|
|
55
64
|
if (remaining <= agentToolCallSoftWarningThreshold(limit)) {
|
|
56
65
|
return `[warning] 提醒:本轮工具调用配额即将用尽,当前剩余 ${remaining} 次。请尽快收敛并准备最终答案,避免继续大规模检索。`;
|
|
@@ -77,9 +86,6 @@ export function shouldRejectAgentToolCalls(executedCount, requestedCount, limit)
|
|
|
77
86
|
return false;
|
|
78
87
|
if (executedCount + requestedCount > limit)
|
|
79
88
|
return true;
|
|
80
|
-
// 最后一档配额保留给硬拒绝:在倒数第一次配额注入 critical 后,再请求工具即失败。
|
|
81
|
-
if (executedCount >= limit - 1)
|
|
82
|
-
return true;
|
|
83
89
|
return false;
|
|
84
90
|
}
|
|
85
91
|
const TOOL_RESULT_RECORD_MAX_CHARS = 6_000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tool-results.js","sourceRoot":"","sources":["../src/ai-tool-results.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-tool-results.js","sourceRoot":"","sources":["../src/ai-tool-results.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,qCAAqC,CAAC;AACnF,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,CAAC;AACxD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAEvD,MAAM,UAAU,4BAA4B,CAAC,cAAiC,OAAO,CAAC,GAAG;IACvF,MAAM,GAAG,GAAG,WAAW,CAAC,6BAA6B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,iCAAiC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QAAE,OAAO,iCAAiC,CAAC;IAChF,OAAO,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC,CAAC;AACvG,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,KAAa;IAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,kCAAkC,CAAC;IACrF,OAAO,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAAa;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,6BAA6B,CAC3C,aAAqB,EACrB,YAAyC,EACzC,KAAa;IAEb,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IAClG,IAAI,gBAAgB,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC;IAC/C,OAAO,kCAAkC,CAAC,KAAK,CAAC;UAC5C,YAAY,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAAc;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,yCAAyC,CAAC;IAChF,OAAO,IAAI,CAAC,GAAG,CACb,qCAAqC,EACrC,IAAI,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,UAAkB;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAC;IACtE,OAAO,SAAS,GAAG,cAAc,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,UAAkB,EAAE,cAAsB,EAAE,WAAmB;IACzG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACnH,IAAI,cAAc,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAiB,EAAE,KAAa;IAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,0FAA0F,CAAC;IACpG,CAAC;IACD,IAAI,SAAS,IAAI,iCAAiC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,kCAAkC,SAAS,4BAA4B,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,mCAAmC,CAAC,SAAiB,EAAE,KAAa;IAClF,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAA+B,EAC/B,SAAiB,EACjB,KAAa;IAEb,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,OAAO,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,aAAqB,EAAE,cAAsB,EAAE,KAAa;IACrG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChH,IAAI,cAAc,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,aAAa,GAAG,cAAc,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC;AAOD,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAC3C,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,IAAI;IACJ,WAAW;IACX,WAAW;IACX,aAAa;IACb,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,MAAM;IACN,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,MAAc,EAAE,YAAoB;IAC7E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;QACvD,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;YACzD,QAAQ,GAAG,SAAS,CAAC;YACrB,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,YAAoB,EAAE,IAAY;IAClF,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,YAAY;QAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAChG,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,UAAU,GAAG,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAc,EAAE,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAQ,EAAE;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACjC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;YAC5E,OAAO,GAAG,EAAE,CAAC;QACf,CAAC,CAAC;QACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;gBACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,YAAY,GAAG,KAAK,CAAC;gBAC/C,OAAO,GAAG,SAAS,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,IAAI,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;gBACtD,YAAY,GAAG,KAAK,CAAC;gBACrB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;YACnG,KAAK,MAAM,QAAQ,IAAI,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,GAAG,EAAE,CAAC;QACf,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;YAC9C,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;gBACzD,OAAO,GAAG,SAAS,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,KAAK,EAAE,CAAC;YACR,IAAI,yBAAyB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC/D,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,GAAG,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvH,KAAK,MAAM,QAAQ,IAAI,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3G,CAAC;QACD,KAAK,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAkC,EAClC,YAAY,GAAG,4BAA4B;IAE3C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,IAAI,yBAAyB,CAAC,MAAM,CAAC,IAAI,YAAY;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpH,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpH,MAAM,aAAa,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpG,CAAC,CAAC,QAAQ,CAAC,KAAgC;gBAC3C,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG;gBACb,GAAG,QAAQ;gBACX,GAAG,OAAO;gBACV,SAAS,EAAE;oBACT,KAAK;oBACL,KAAK,EAAE,SAAS,CAAC,MAAM;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;iBAC5B;aACF,CAAC;YACF,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAkC,EAClC,MAAc,EACd,WAAgH,EAChH,YAAY,GAAG,2BAA2B;IAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,OAAO,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,SAAS,CAA4B,CAAC,CAAC;QAC/E,MAAM,mBAAmB,GAAG,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE;YAC3C,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,mBAAmB;YAC/B,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;QACH,IAAI,yBAAyB,CAAC,SAAS,CAAC,GAAG,YAAY;YAAE,MAAM;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAA4B,CAAC,CAAC;QACzD,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7F,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/ai.js
CHANGED
|
@@ -3,7 +3,7 @@ import { buildCompletionRequestBody, AI_THINKING_TYPES, isAiProviderProtocol, no
|
|
|
3
3
|
import { estimateLiteLlmUsageCost } from "./ai-model-pricing.js";
|
|
4
4
|
import { aiSkillPromptText, renderAiSkillsPrompt, resolveAiWritingSkill } from "./ai-skills.js";
|
|
5
5
|
import { DEFAULT_AI_ANALYSIS_TIMEOUT_SECONDS, isLongRunningAiAnalysisTaskType, normalizeAiAnalysisTimeoutSeconds } from "./ai-analysis-timeout.js";
|
|
6
|
-
import { AGENT_TOOL_RESULT_MAX_CHARS, DEFAULT_AGENT_TOOL_CALL_GLOBAL_MULTIPLIER, MIN_AGENT_TOOL_CALL_LIMIT, agentToolCallGlobalLimit, agentToolCallQuotaNoticeBudgetChars, agentToolCallQuotaUsedAfterCompact, agentToolCallSoftWarningThreshold, clampAgentToolCallGlobalMultiplier, paginateToolResultRecords, resolveMaxAgentToolCallLimit, shouldRejectAgentToolCalls, shouldRejectGlobalToolCalls, structuralToolResultRecords, withAgentToolCallQuotaNotice } from "./ai-tool-results.js";
|
|
6
|
+
import { AGENT_TOOL_RESULT_MAX_CHARS, DEFAULT_AGENT_TOOL_CALL_GLOBAL_MULTIPLIER, DEFAULT_AGENT_TOOL_CALL_LIMIT, MIN_AGENT_TOOL_CALL_LIMIT, agentToolCallGlobalLimit, agentToolCallQuotaNoticeBudgetChars, agentToolCallQuotaUsedAfterCompact, agentToolCallSoftWarningThreshold, clampAgentToolCallGlobalMultiplier, paginateToolResultRecords, resolveMaxAgentToolCallLimit, restoreAgentToolCallQuotaUsed, shouldRejectAgentToolCalls, shouldRejectGlobalToolCalls, structuralToolResultRecords, withAgentToolCallQuotaNotice } from "./ai-tool-results.js";
|
|
7
7
|
import { AiConnectivityTestGate, hashAiConnectivityConfiguration } from "./ai-connectivity-test.js";
|
|
8
8
|
import { aiHttpRetryCount, aiHttpRetryDelayMs, normalizeAiRetryPolicy } from "./ai-retry.js";
|
|
9
9
|
import { DEFAULT_AI_STREAM_IDLE_TIMEOUT_MS, normalizeAiStreamIdleTimeoutSeconds } from "./ai-stream-timeout.js";
|
|
@@ -168,7 +168,7 @@ function completionSkillsTokens(messages) {
|
|
|
168
168
|
// payload, while keeping the request cheap and avoiding any user data in the probe.
|
|
169
169
|
const MULTIMODAL_TEST_IMAGE_DATA_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACfklEQVR4nO2cwY3EQBACJ8LOglRJyw4DJOpR/xOUuF17Zp91H9xsBi/9B8AhABIcC4AEx78AJDg+AyDB8SEQCY5vAUhwfA1EguM5ABIcD4KQ4HgSiATHo2AkON4FIMHxMggJjreBSHC8DkaC4zwAEhwHQpDgOBGEBMeRMCQ4zgQiwXEoFAmOU8FIcBwLR4LjXgASHBdDkOC4GYQEx9UwJDjuBiLBcTkUCY7bwUhwXA8319P5fQCPS8APRChfAgIUBOFRWADlS0CAgiA8CgugfAkIUBCER2EBlC8BAQqC8CgsgPIlIEBBEB6FBVC+BAQoCMKjsADKl4AABUF4FBZA+RIQoCAIj8ICKF8CAhQE4VFYAOVLQICCIDwKC6B8CQhQEIRHYQGULwEBCoLwKCyA8iUgQEEQHoUFUL4EBCgIwqOwAMqXgAAFQXgUFkD5EhCgIAiPwgIoXwICFAThUVgA5UtAgIIgPAoLoHwJCFAQhEdhAZQvAQEKgvAoLIDyJSBAQRAehQVQvgQEKAjCo7AAypeAAAVBeBQWQPkSEKAgCI/CAihfAgIUBOFRWADlS0CAgiA8CgugfAkIUBCER2EBlC8BAQqC8CgsgPIlIEBBEB6FBVC+BAQoCMKjsADKl4AABUF4FBZA+RIQoCAIj8ICKF8CAhQE4VFYAOVLQICCIDwKC6B8CQhQEIRHYQGULwEBCoLwKCyA8iUgQEEQHoUFUL4EBCgIwqOwAMqXgAAFQXgUFkD5EhCgIAiPwgIoXwICFAThUVgA5UtAgIIgPAoLoHwJCFAQhEdhAZQvAQEKgvAoLIDyJSBAQRAehQVQvgQEKAjCo7AAypeAAAVBeJQfFY4JQ620WGEAAAAASUVORK5CYII=";
|
|
170
170
|
/** 出站 AI 响应体上限,防止恶意或故障供应商推送超大响应拖垮进程。 */
|
|
171
|
-
export const AI_RESPONSE_MAX_BYTES =
|
|
171
|
+
export const AI_RESPONSE_MAX_BYTES = 20 * 1024 * 1024;
|
|
172
172
|
export async function readResponseTextLimited(response, maximumBytes = AI_RESPONSE_MAX_BYTES) {
|
|
173
173
|
const declared = response.headers.get("content-length");
|
|
174
174
|
if (declared && /^\d+$/u.test(declared) && Number(declared) > maximumBytes) {
|
|
@@ -766,7 +766,6 @@ function resolvedQuestionToolMessages(continuation) {
|
|
|
766
766
|
? { ...message, content: JSON.stringify(continuation.toolResult) }
|
|
767
767
|
: structuredClone(message)));
|
|
768
768
|
}
|
|
769
|
-
const MAX_AGENT_TOOL_CALLS = 12;
|
|
770
769
|
const SEMANTIC_EMBEDDING_BATCH_SIZE = 16;
|
|
771
770
|
const SEMANTIC_RERANK_CANDIDATE_LIMIT = 8;
|
|
772
771
|
const SEMANTIC_FAILURE_PAUSE_THRESHOLD = 3;
|
|
@@ -5168,6 +5167,7 @@ export class AiManager {
|
|
|
5168
5167
|
...(modelDisplayName ? { modelDisplayName } : {}),
|
|
5169
5168
|
outputTokens: generated.outputTokens + (input.toolContinuation?.previousOutputTokens ?? 0),
|
|
5170
5169
|
processDurationMs: processDurationMs + (input.toolContinuation?.previousProcessDurationMs ?? 0),
|
|
5170
|
+
...(generated.toolCallLimit ? { toolCallLimit: generated.toolCallLimit } : {}),
|
|
5171
5171
|
...(generated.reasoningContent === undefined ? {} : { reasoningContent: generated.reasoningContent }),
|
|
5172
5172
|
...(generated.cacheHitPercent === undefined ? {} : { cacheHitPercent: generated.cacheHitPercent }),
|
|
5173
5173
|
toolCalls: [...continuedToolCalls, ...generated.toolCalls],
|
|
@@ -5199,10 +5199,10 @@ export class AiManager {
|
|
|
5199
5199
|
}
|
|
5200
5200
|
const chapter = effectiveInput.scope.chapterId ? this.store.getChapter(effectiveInput.scope.chapterId) : null;
|
|
5201
5201
|
const suggestionId = id("suggestion");
|
|
5202
|
-
const suggestionTaskType = activeWritingSkillName === "continue-writing"
|
|
5202
|
+
const suggestionTaskType = generated.toolCallLimit ? "chat" : activeWritingSkillName === "continue-writing"
|
|
5203
5203
|
? "continue"
|
|
5204
5204
|
: activeWritingSkillName === "polish-writing" ? "polish" : "chat";
|
|
5205
|
-
const suggestionAction = activeWritingSkillName === "continue-writing"
|
|
5205
|
+
const suggestionAction = generated.toolCallLimit ? "note" : activeWritingSkillName === "continue-writing"
|
|
5206
5206
|
? "append"
|
|
5207
5207
|
: activeWritingSkillName === "polish-writing" ? "replace-selection" : "note";
|
|
5208
5208
|
this.store.db.run(`INSERT INTO ai_suggestions (id, call_id, work_id, chapter_id, chapter_version, task_type, instruction,
|
|
@@ -5213,7 +5213,7 @@ export class AiManager {
|
|
|
5213
5213
|
const conversationMessage = input.conversationId && input.assistantMessageRequestId
|
|
5214
5214
|
? this.store.upsertAiConversationAssistantMessage(input.conversationId, input.assistantMessageRequestId, generated.content, {
|
|
5215
5215
|
...generatedMessageMetadata,
|
|
5216
|
-
...(activeWritingSkillName ? {
|
|
5216
|
+
...(activeWritingSkillName && !generated.toolCallLimit ? {
|
|
5217
5217
|
activeSkills: [activeWritingSkillName],
|
|
5218
5218
|
writingSuggestionId: suggestionId
|
|
5219
5219
|
} : {}),
|
|
@@ -5312,7 +5312,6 @@ export class AiManager {
|
|
|
5312
5312
|
instruction: "",
|
|
5313
5313
|
scope: input.scope,
|
|
5314
5314
|
...(input.modelId ? { modelId: input.modelId } : {}),
|
|
5315
|
-
disableTools: input.status !== "answered",
|
|
5316
5315
|
toolContinuation
|
|
5317
5316
|
}, stream.onDelta ?? (() => undefined));
|
|
5318
5317
|
}
|
|
@@ -6466,7 +6465,7 @@ export class AiManager {
|
|
|
6466
6465
|
const askUserQuestionGuidance = enabledToolIds.includes("ask_user_question")
|
|
6467
6466
|
? [
|
|
6468
6467
|
"当前对话已启用 ask_user_question。只要你需要向作者提出任何问题,包括澄清需求、索取缺失信息、确认方案、命名、事实或下一步,就必须调用 ask_user_question;禁止在普通回复正文中直接写出问题、要求作者回答,或使用“请告诉我”“请提供”“请选择”等措辞绕过工具。只有完全不需要作者回答时,才可以直接给出普通回复。",
|
|
6469
|
-
"每次 ask_user_question 调用可在 questions 中提出 1-5 个彼此相关的问题,每题给出 2-6
|
|
6468
|
+
"每次 ask_user_question 调用可在 questions 中提出 1-5 个彼此相关的问题,每题给出 2-6 个互斥选项,并把该题最推荐的选项放在第一位。能一次确认的相关决策应合并到同一次调用,避免连续弹窗;工具会等待作者一次提交全部回答,再将结果返回。收到工具结果后继续原任务,无需作者额外发送继续指令。作者未回答、拒绝或提问过期时绝不允许编造答案,也不能把提问当作任何写入授权;根据真实状态继续处理不依赖该选择的工作。"
|
|
6470
6469
|
]
|
|
6471
6470
|
: [];
|
|
6472
6471
|
const coreRules = [
|
|
@@ -9217,11 +9216,11 @@ export class AiManager {
|
|
|
9217
9216
|
let compactedToolContextMessage = null;
|
|
9218
9217
|
const contextWindow = numberValue(model, "context_window") || DEFAULT_CONTEXT_WINDOW;
|
|
9219
9218
|
const maximumConfiguredToolCalls = resolveMaxAgentToolCallLimit();
|
|
9220
|
-
const configuredToolCallLimit = Math.min(maximumConfiguredToolCalls, Math.max(MIN_AGENT_TOOL_CALL_LIMIT, Number(this.store.getWorkAiSettings(input.workId).agentToolCallLimit) ||
|
|
9219
|
+
const configuredToolCallLimit = Math.min(maximumConfiguredToolCalls, Math.max(MIN_AGENT_TOOL_CALL_LIMIT, Number(this.store.getWorkAiSettings(input.workId).agentToolCallLimit) || DEFAULT_AGENT_TOOL_CALL_LIMIT));
|
|
9221
9220
|
const agentToolCallLimit = Math.round(clamp(input.agentToolCallLimit ?? configuredToolCallLimit, MIN_AGENT_TOOL_CALL_LIMIT, maximumConfiguredToolCalls));
|
|
9222
9221
|
const agentToolCallGlobalMultiplier = clampAgentToolCallGlobalMultiplier(this.store.getWorkAiSettings(input.workId).agentToolCallGlobalMultiplier ?? DEFAULT_AGENT_TOOL_CALL_GLOBAL_MULTIPLIER);
|
|
9223
9222
|
const globalToolCallLimit = agentToolCallGlobalLimit(agentToolCallLimit, agentToolCallGlobalMultiplier);
|
|
9224
|
-
let toolCallQuotaUsed = input.toolContinuation?.previousToolCalls.length ?? 0;
|
|
9223
|
+
let toolCallQuotaUsed = restoreAgentToolCallQuotaUsed(input.toolContinuation?.previousToolCalls.length ?? 0, input.toolContinuation?.previousProcessSteps ?? [], agentToolCallLimit);
|
|
9225
9224
|
let globalToolCallUsed = input.toolContinuation?.previousToolCalls.length ?? 0;
|
|
9226
9225
|
let toolContextCompactCount = 0;
|
|
9227
9226
|
// 配额与全局熔断只控制循环是否继续,不得改写 tools 定义、tool_choice 或系统前缀(否则破坏 prompt cache)。
|
|
@@ -9320,7 +9319,7 @@ export class AiManager {
|
|
|
9320
9319
|
const currentTokens = estimateCompletionMessageTokens([...completionMessages, assistantMessage])
|
|
9321
9320
|
+ estimateAiTokens(JSON.stringify(tools));
|
|
9322
9321
|
// 新工具结果可能附带 toolCallQuotaNotice,预估体积时一并计入,避免低估后触发上下文溢出。
|
|
9323
|
-
const noticeBudgetChars = Math.max(agentToolCallQuotaNoticeBudgetChars(
|
|
9322
|
+
const noticeBudgetChars = Math.max(agentToolCallQuotaNoticeBudgetChars(0, agentToolCallLimit), agentToolCallQuotaNoticeBudgetChars(agentToolCallSoftWarningThreshold(agentToolCallLimit), agentToolCallLimit));
|
|
9324
9323
|
const maximumNewToolTokens = Math.ceil((AGENT_TOOL_RESULT_MAX_CHARS + noticeBudgetChars) * 1.1) * Math.max(1, toolCallCount);
|
|
9325
9324
|
// 这里只按工具结果写入后的 context 剩余判断;输出 max_tokens 由下方独立判断。
|
|
9326
9325
|
const projectedContextTokens = currentTokens + maximumNewToolTokens;
|
|
@@ -9352,6 +9351,8 @@ export class AiManager {
|
|
|
9352
9351
|
};
|
|
9353
9352
|
let toolRound = input.toolContinuation?.round ?? 0;
|
|
9354
9353
|
let suspendedQuestionId = null;
|
|
9354
|
+
let toolCallLimit;
|
|
9355
|
+
let toolCallLimitMessage = "";
|
|
9355
9356
|
while (choice?.message?.tool_calls?.length) {
|
|
9356
9357
|
const round = toolRound + 1;
|
|
9357
9358
|
recordChoiceProcess(payload, round, true);
|
|
@@ -9368,10 +9369,18 @@ export class AiManager {
|
|
|
9368
9369
|
turnQuotaUsed: toolCallQuotaUsed,
|
|
9369
9370
|
toolsCalled: executedToolCalls.map((item) => item.name)
|
|
9370
9371
|
});
|
|
9371
|
-
|
|
9372
|
+
toolCallLimit = { scope: "global", used: globalToolCallUsed, limit: globalToolCallLimit, requested: toolCalls.length };
|
|
9372
9373
|
}
|
|
9373
|
-
if (shouldRejectAgentToolCalls(toolCallQuotaUsed, toolCalls.length, agentToolCallLimit)) {
|
|
9374
|
-
|
|
9374
|
+
if (!toolCallLimit && shouldRejectAgentToolCalls(toolCallQuotaUsed, toolCalls.length, agentToolCallLimit)) {
|
|
9375
|
+
toolCallLimit = { scope: "cycle", used: toolCallQuotaUsed, limit: agentToolCallLimit, requested: toolCalls.length };
|
|
9376
|
+
}
|
|
9377
|
+
if (toolCallLimit) {
|
|
9378
|
+
const limitLabel = toolCallLimit.scope === "global" ? "整次回答的全局上限" : "本轮调用上限";
|
|
9379
|
+
toolCallLimitMessage = `Agent 工具调用额度不足:${limitLabel} ${toolCallLimit.limit} 次,已用 ${toolCallLimit.used} 次,模型还请求 ${toolCallLimit.requested} 次。\n\n已保留此前的回复与执行过程。你可以在本书 AI 设置中调整“Agent 工具调用上限”${toolCallLimit.scope === "global" ? "或全局倍数" : ""},再发送“继续”完成剩余工作。`;
|
|
9380
|
+
if (input.taskType !== "chat" || input.im) {
|
|
9381
|
+
throw new AppError(409, "AI_TOOL_CALL_LIMIT_REACHED", toolCallLimitMessage, { toolCallLimit });
|
|
9382
|
+
}
|
|
9383
|
+
break;
|
|
9375
9384
|
}
|
|
9376
9385
|
const normalizedToolCalls = toolCalls.map((toolCall) => ({
|
|
9377
9386
|
...toolCall,
|
|
@@ -9470,9 +9479,9 @@ export class AiManager {
|
|
|
9470
9479
|
payload = await requestCompletion("auto");
|
|
9471
9480
|
choice = payload.choices?.[0];
|
|
9472
9481
|
}
|
|
9473
|
-
if (!suspendedQuestionId)
|
|
9482
|
+
if (!suspendedQuestionId && !toolCallLimit)
|
|
9474
9483
|
recordChoiceProcess(payload, toolRound + 1, false);
|
|
9475
|
-
const finalContent = suspendedQuestionId ? "" : choice?.message?.content ?? "";
|
|
9484
|
+
const finalContent = suspendedQuestionId ? "" : toolCallLimitMessage || (choice?.message?.content ?? "");
|
|
9476
9485
|
if (!suspendedQuestionId && !finalContent.trim()) {
|
|
9477
9486
|
if (requestAttemptLimit !== null)
|
|
9478
9487
|
requestFailureCount += 1;
|
|
@@ -9482,12 +9491,12 @@ export class AiManager {
|
|
|
9482
9491
|
: "";
|
|
9483
9492
|
throw new Error(`${providerProtocolLabelText(protocol)} 响应缺少可用正文,finish_reason=${choice?.finish_reason ?? "unknown"}${suffix}`);
|
|
9484
9493
|
}
|
|
9485
|
-
if (!suspendedQuestionId && onDelta && completionDelivery.get(payload) !== "sse") {
|
|
9494
|
+
if (!suspendedQuestionId && onDelta && (toolCallLimit || completionDelivery.get(payload) !== "sse")) {
|
|
9486
9495
|
streamedContent += finalContent;
|
|
9487
9496
|
onDelta(finalContent);
|
|
9488
9497
|
}
|
|
9489
9498
|
const content = suspendedQuestionId ? "" : (onDelta ? streamedContent : finalContent);
|
|
9490
|
-
const outputTokens = suspendedQuestionId ? trackedOutputTokens : resolveOutputTokens(payload.usage, finalContent);
|
|
9499
|
+
const outputTokens = suspendedQuestionId || toolCallLimit ? trackedOutputTokens : resolveOutputTokens(payload.usage, finalContent);
|
|
9491
9500
|
const cacheHitPercent = cacheUsageComplete && completionRequestCount > 0 && totalInputTokens > 0
|
|
9492
9501
|
? Math.round(totalCachedInputTokens / totalInputTokens * 1_000) / 10
|
|
9493
9502
|
: undefined;
|
|
@@ -9506,7 +9515,7 @@ export class AiManager {
|
|
|
9506
9515
|
outputTokens,
|
|
9507
9516
|
toolCallCount: executedToolCalls.length
|
|
9508
9517
|
});
|
|
9509
|
-
const finalAnthropicContent = choice?.message?.anthropic_content;
|
|
9518
|
+
const finalAnthropicContent = toolCallLimit ? undefined : choice?.message?.anthropic_content;
|
|
9510
9519
|
const replayAnthropicContent = onDelta && finalAnthropicContent?.length && content !== finalContent
|
|
9511
9520
|
? [
|
|
9512
9521
|
...finalAnthropicContent.filter((block) => block.type !== "text" && block.type !== "tool_use"),
|
|
@@ -9531,6 +9540,7 @@ export class AiManager {
|
|
|
9531
9540
|
processSteps,
|
|
9532
9541
|
contextUsage: this.completionContextUsage(effectiveInput, model, completionMessages, tools, payload.usage, outputTokens),
|
|
9533
9542
|
...(suspendedQuestionId ? { suspendedQuestionId } : {}),
|
|
9543
|
+
...(toolCallLimit ? { toolCallLimit } : {}),
|
|
9534
9544
|
roleplayMemoryCandidates: stagedRoleplayMemoryCandidates
|
|
9535
9545
|
};
|
|
9536
9546
|
}
|
|
@@ -9551,6 +9561,8 @@ export class AiManager {
|
|
|
9551
9561
|
error: aiErrorForLog(error)
|
|
9552
9562
|
});
|
|
9553
9563
|
if (error instanceof AppError && (error.code === "CONTEXT_WINDOW_EXCEEDED"
|
|
9564
|
+
|| error.code === "AI_TOOL_CALL_LIMIT_REACHED"
|
|
9565
|
+
|| error.code === "AI_RESPONSE_TOO_LARGE"
|
|
9554
9566
|
|| error.code === "DAILY_TOKEN_QUOTA_EXCEEDED"
|
|
9555
9567
|
|| error.code === "MONTHLY_TOKEN_QUOTA_EXCEEDED"
|
|
9556
9568
|
|| error.code === "PROVIDER_DAILY_TOKEN_QUOTA_EXCEEDED"
|
|
@@ -9566,6 +9578,7 @@ export class AiManager {
|
|
|
9566
9578
|
attemptCount: totalAttemptCount,
|
|
9567
9579
|
failureCount: requestFailureCount,
|
|
9568
9580
|
...(error.details && typeof error.details === "object" ? error.details : {}),
|
|
9581
|
+
failureOrigin: "platform",
|
|
9569
9582
|
...failureTarget
|
|
9570
9583
|
});
|
|
9571
9584
|
}
|
|
@@ -9573,6 +9586,7 @@ export class AiManager {
|
|
|
9573
9586
|
callId,
|
|
9574
9587
|
attemptCount: totalAttemptCount,
|
|
9575
9588
|
failureCount: requestFailureCount,
|
|
9589
|
+
failureOrigin: "provider",
|
|
9576
9590
|
failure: message,
|
|
9577
9591
|
...failureTarget
|
|
9578
9592
|
});
|