@whispering233/ai-editor-agent 0.0.20 → 0.0.26
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/context.d.ts +30 -30
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +11 -12
- package/dist/context.js.map +1 -1
- package/dist/executor.d.ts +25 -25
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +23 -36
- package/dist/executor.js.map +1 -1
- package/dist/prompts.d.ts +5 -5
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +6 -7
- package/dist/prompts.js.map +1 -1
- package/dist/run.d.ts +54 -54
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +53 -69
- package/dist/run.js.map +1 -1
- package/dist/session.d.ts +4 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +11 -12
- package/dist/session.js.map +1 -1
- package/package.json +4 -4
package/dist/run.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { type AbortSignalLike, type ChatStreamResult, type LLMError, type LLMMessage, type LLMStreamEvent } from "@whispering233/ai-editor-llm";
|
|
2
2
|
import { type ContextBudgets, type ToolListEntry } from "./context.js";
|
|
3
3
|
import { type SessionMessage, type SessionState } from "./session.js";
|
|
4
|
-
/**
|
|
4
|
+
/** 轮次上限(8 轮;持续 tool_call 死循环兜底) */
|
|
5
5
|
export declare const DEFAULT_MAX_ROUNDS = 8;
|
|
6
|
-
/** 单轮总预算 ms
|
|
6
|
+
/** 单轮总预算 ms(120s,含 LLM 重试退避与工具执行;测试可覆盖) */
|
|
7
7
|
export declare const DEFAULT_ROUND_TIMEOUT_MS = 120000;
|
|
8
8
|
/**
|
|
9
|
-
* 单次 attempt 超时 ms
|
|
9
|
+
* 单次 attempt 超时 ms(「LLM 单次 attempt 另有自身 fetch 超时」落地——
|
|
10
10
|
* 独立于 120s 单轮总预算;attempt 超时映射为可重试错误,轮内重试仍受 roundDeadline 兜底)。
|
|
11
11
|
*/
|
|
12
12
|
export declare const DEFAULT_ATTEMPT_TIMEOUT_MS = 60000;
|
|
13
|
-
/** 上下文 token
|
|
13
|
+
/** 上下文 token 预算(60K——DeepSeek 64K 窗口留余量;测试可覆盖) */
|
|
14
14
|
export declare const DEFAULT_TOKEN_BUDGET = 60000;
|
|
15
|
-
/** 提案载荷(S7.4 工具调度层构造 preview;对齐
|
|
15
|
+
/** 提案载荷(S7.4 工具调度层构造 preview;对齐 proposal 事件 data 形态) */
|
|
16
16
|
export interface ProposalPayload {
|
|
17
17
|
proposal_id: string;
|
|
18
|
-
/** 提案类型 = 产生它的 propose_* 工具名(
|
|
18
|
+
/** 提案类型 = 产生它的 propose_* 工具名( data.type) */
|
|
19
19
|
type: string;
|
|
20
20
|
/** 提案预览(前端提案卡渲染数据;本层透传不构造) */
|
|
21
21
|
preview: Record<string, unknown>;
|
|
@@ -25,11 +25,11 @@ export interface ProposalPayload {
|
|
|
25
25
|
* - turn_start:循环内部事件(每轮开始;S7.6 可不映射 SSE 帧,用于日志/调试)
|
|
26
26
|
* - text:AI 文本增量(实时转发,失败轮可能已流出的半条文本属重试语义,接受)
|
|
27
27
|
* - tool_call / tool_result:工具调用与结果(按 tool_call_id 配对;length 截断的调用
|
|
28
|
-
*
|
|
29
|
-
* - proposal:恒在对应 tool_result 之后、循环继续之前发送(
|
|
28
|
+
* 不发 dispatcher,仍发 tool_call 事件)
|
|
29
|
+
* - proposal:恒在对应 tool_result 之后、循环继续之前发送( 顺序约定)
|
|
30
30
|
* - done:自然终止(无工具调用),携带 session_id
|
|
31
|
-
* - error
|
|
32
|
-
*
|
|
31
|
+
* - error:终止(模型最终失败 / 8 轮上限 / 超时 / token 超限 / 调度器缺陷)或
|
|
32
|
+
* 用户取消(aborted=true);S7.6 收到 error 后立即关闭流
|
|
33
33
|
*/
|
|
34
34
|
export type AgentEvent = {
|
|
35
35
|
type: "turn_start";
|
|
@@ -70,11 +70,11 @@ export interface DispatchResult {
|
|
|
70
70
|
id: string;
|
|
71
71
|
tool: string;
|
|
72
72
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
* 执行成功与否(与 isError 同义冗余——按任务卡接口保留双字段;ora S7.3 审核 S4:
|
|
74
|
+
* 本卡不消费 ok,留 S7.4 真实现构造时使用,接口不动)
|
|
75
|
+
*/
|
|
76
76
|
ok: boolean;
|
|
77
|
-
/** 失败标记:喂回 LLM
|
|
77
|
+
/** 失败标记:喂回 LLM 的内容须含错误说明( 结构化喂回自纠) */
|
|
78
78
|
isError: boolean;
|
|
79
79
|
/** 回填 LLM 的 tool 消息内容(成功 = 结果 JSON/文本;失败 = 错误说明) */
|
|
80
80
|
content: string;
|
|
@@ -84,37 +84,37 @@ export interface DispatchResult {
|
|
|
84
84
|
/**
|
|
85
85
|
* 工具调度器:
|
|
86
86
|
* - 输入按原 tool_call 顺序;输出**必须同序等长**(防御:条数不符 → AGENT_DISPATCH_ERROR 终止,
|
|
87
|
-
*
|
|
88
|
-
* - signal
|
|
87
|
+
* 防止 tool_call ↔ tool_result 错位配对)
|
|
88
|
+
* - signal:「工具执行中检查取消」(S7.4 executor 承担;长工具执行须监听)
|
|
89
89
|
* - 本层不抛错(失败编码进 isError 结果);抛错视为调度器缺陷 → 循环终止。
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
90
|
+
* **例外:AbortedError(tools analysis/utils, 取消语义)→ 原样抛穿**——
|
|
91
|
+
* S7.4 executor 在工具执行中检查 signal,命中取消即抛 AbortedError;本层 dispatcher
|
|
92
|
+
* catch 识别后按用户取消终止(aborted=true、不重试、不视为缺陷),与循环其他环节的
|
|
93
|
+
* 取消语义一致(取消不喂回)
|
|
94
94
|
*/
|
|
95
95
|
export type ToolDispatcher = (calls: DispatchToolCall[], signal?: AbortSignalLike) => Promise<DispatchResult[]>;
|
|
96
96
|
/** runAgent 依赖注入(S7.6 组装) */
|
|
97
97
|
export interface RunAgentDeps {
|
|
98
98
|
/**
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
* 模型调用(S7.6 注入:闭包持有 apiKey/model/tools,内部调用 llm chatStream)。
|
|
100
|
+
* ****:必须把 onEvent 转发给 chatStream 的 onEvent——runAgent 依赖它累积文本与
|
|
101
|
+
* 收集工具调用(失败轮的重试会自动丢弃旧累积,无需调用方处理);失败按 chatStream
|
|
102
|
+
* resolve 出 { ok:false, ... },不 throw。
|
|
103
|
+
* signal 由 runAgent 注入 attempt 级独立控制器(超时 abort 与用户取消分离)。
|
|
104
|
+
*/
|
|
105
105
|
produce: (messages: LLMMessage[], signal: AbortSignalLike, onEvent?: (event: LLMStreamEvent) => void) => Promise<ChatStreamResult>;
|
|
106
106
|
/** 工具调度(S7.4 真实现) */
|
|
107
107
|
dispatcher: ToolDispatcher;
|
|
108
108
|
/**
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
* 事件输出(S7.6 转 SSE 帧;缺省丢弃)。
|
|
110
|
+
* **硬(ora S7.3 审核 S3)**:回调抛错不逃逸——run 侧统一兜底吞掉(防 runAgent
|
|
111
|
+
* 直接 reject 导致 SSE 异常关流而非 error 事件);S7.6 不得依赖异常传播通知故障。
|
|
112
|
+
*/
|
|
113
113
|
onEvent?: (event: AgentEvent) => void;
|
|
114
114
|
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
* 每轮新消息序列(S7.6 持久化到 chat_messages;本层不落库)。
|
|
116
|
+
* **硬同上**:抛错不逃逸(落库失败由 S7.6 自行处理,不中断 agent 循环)。
|
|
117
|
+
*/
|
|
118
118
|
onMessages?: (messages: SessionMessage[]) => void;
|
|
119
119
|
}
|
|
120
120
|
export interface RunAgentInput {
|
|
@@ -124,56 +124,56 @@ export interface RunAgentInput {
|
|
|
124
124
|
userMessage: string;
|
|
125
125
|
/** 初始会话(S7.6 经 loadHistory/trimSession 加载的历史;不含本轮 userMessage) */
|
|
126
126
|
session: SessionState;
|
|
127
|
-
/**
|
|
127
|
+
/** 聚焦上下文文本( 聚焦层;S7.6 查询实体/大纲节点后拼好传入) */
|
|
128
128
|
focus?: string;
|
|
129
|
-
/**
|
|
129
|
+
/** 项目提示词( 项目层) */
|
|
130
130
|
projectPrompt?: string;
|
|
131
|
-
/**
|
|
131
|
+
/** 临时指令( 临时层) */
|
|
132
132
|
instruction?: string;
|
|
133
133
|
deps: RunAgentDeps;
|
|
134
|
-
/**
|
|
134
|
+
/** 用户取消信号(全链路第 0 层;abort 永不重试) */
|
|
135
135
|
signal?: AbortSignalLike;
|
|
136
136
|
/** 分层上下文预算覆盖(S7.2) */
|
|
137
137
|
budgets?: Partial<ContextBudgets>;
|
|
138
138
|
/** 工具清单(默认 registry listTools;S7.2 注入 system 消息) */
|
|
139
139
|
tools?: ToolListEntry[];
|
|
140
|
-
/**
|
|
140
|
+
/** 轮次上限(默认 8;测试可覆盖) */
|
|
141
141
|
maxRounds?: number;
|
|
142
|
-
/** 单轮总预算 ms
|
|
142
|
+
/** 单轮总预算 ms(默认 120s 含重试退避;测试可覆盖) */
|
|
143
143
|
roundTimeoutMs?: number;
|
|
144
|
-
/** 单次 attempt 超时 ms
|
|
144
|
+
/** 单次 attempt 超时 ms(默认 60s——LLM 单次调用独立超时,与轮次总预算分离;测试可覆盖) */
|
|
145
145
|
attemptTimeoutMs?: number;
|
|
146
|
-
/** 上下文 token
|
|
146
|
+
/** 上下文 token 预算(默认 60K;测试可覆盖) */
|
|
147
147
|
tokenBudget?: number;
|
|
148
|
-
/**
|
|
148
|
+
/** 每次模型调用最大重试次数(默认 3;测试可覆盖) */
|
|
149
149
|
maxRetries?: number;
|
|
150
|
-
/** 重试退避基数 ms
|
|
150
|
+
/** 重试退避基数 ms(默认 2000;测试可覆盖) */
|
|
151
151
|
retryBaseDelayMs?: number;
|
|
152
152
|
}
|
|
153
153
|
export interface RunAgentResult {
|
|
154
154
|
ok: boolean;
|
|
155
|
-
/**
|
|
155
|
+
/** 用户取消(abort 不重试,立即终止) */
|
|
156
156
|
aborted: boolean;
|
|
157
157
|
/** 终止原因(ok=false 时;code 为 AGENT_MAX_ITERATIONS / AGENT_TIMEOUT / AGENT_TOKEN_BUDGET
|
|
158
|
-
|
|
158
|
+
* 或模型错误码 / 调度器缺陷码) */
|
|
159
159
|
error: LLMError | null;
|
|
160
160
|
/** 实际执行轮数(≤ maxRounds) */
|
|
161
161
|
rounds: number;
|
|
162
162
|
/**
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
* 重试累计(重试与轮次分开计量、不互相消耗;ora S7.3 审核 S6 断言口径——
|
|
164
|
+
* 报告值不清零,为全程累计:最后一次成功轮前重试过几次即为其值;「成功即清零」的预算
|
|
165
|
+
* 语义由 withRetry maxRetries 独立限制 + roundDeadline 兜底承担,无跨轮累计消耗问题)
|
|
166
|
+
*/
|
|
167
167
|
retries: number;
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
170
|
* runAgent:对话主循环(S7.3)。每轮:buildContext(含 lastUsage 回写链)→ LLM 调用
|
|
171
171
|
* (withRetry + classifyRunOutcome + attempt 独立超时)→ 文本实时转发 → 成功收尾:
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
172
|
+
* - 无 tool_call → done 事件终止
|
|
173
|
+
* - stopReason=length → 全部 tool_call 标错喂回(不执行)
|
|
174
|
+
* - 有合法 tool_call → dispatcher 执行 → tool_result 事件(按 id 回填)→ proposal 事件
|
|
175
|
+
* (在 tool_result 后、循环继续前)→ 结果回填会话 → 下一轮
|
|
176
|
+
* 三重保险:8 轮上限 / 120s 单轮总预算(含重试退避**与工具执行**——调度前与
|
|
177
177
|
* dispatcher 返回后均校验 deadline)/ token 预算,各自发 error 事件终止。工具失败(isError)
|
|
178
178
|
* 结构化回填不终止(喂回自纠);模型失败按重试策略退避重试,重试与轮次分开计量(报告值
|
|
179
179
|
* 累计不清零,见 result.retries 注释);abort 双形态归一后循环只处理 resolve 形态。
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/run.js
CHANGED
|
@@ -1,49 +1,33 @@
|
|
|
1
1
|
// @whispering233/ai-editor-agent 主循环(S7.3)
|
|
2
2
|
//
|
|
3
|
-
// 契约来源:
|
|
4
|
-
// - doc/design/tasks.md S7.3(三重保险:8 轮 / 120s 单轮 / token 预算;length 截断不执行
|
|
5
|
-
// 任何 tool_call 全部标错重发;重试与轮次分开计量(报告值累计不清零,ora S7.3 审核
|
|
6
|
-
// S6 口径——决策 15「成功即清零」为预算语义,由 withRetry maxRetries + deadline 兜底);
|
|
7
|
-
// 120s 含重试退避与工具执行(调度前/后均校验,ora S7.3 审核 M2);
|
|
8
|
-
// 超时信号与用户取消分离;abort 双形态归一)
|
|
9
|
-
// - doc/design/decisions.md 决策 15(循环终止与失败处理全量)、决策 16(取消信号四层穿透——
|
|
10
|
-
// 本层是第 0 层循环层,fetch / 读循环 / 工具执行 / 重试 sleep 已由 llm/tools 承担)、
|
|
11
|
-
// 决策 18(半条 assistant 不喂回——失败轮重试复用原 payload)
|
|
12
|
-
// - doc/api/endpoints.md POST /api/v1/chat 事件契约(六类事件:tool_call / tool_result /
|
|
13
|
-
// proposal / text / done / error;proposal 在对应 tool_result 之后、循环继续之前发送;
|
|
14
|
-
// error 后流立即关闭;done 携带 session_id)——AgentEvent 与其对齐,S7.6 路由层转 SSE 帧
|
|
15
|
-
// - S7.2 context.ts(buildContext + meta.effectiveLastUsage 回写契约:历史段真实用量 =
|
|
16
|
-
// usage.prompt_tokens - (system + toolList + focus 估算),下轮按换算公式重新计算传入)
|
|
17
|
-
// - packages/llm/src/{client,retry}.ts(chatStream 结果形态 / withRetry / classifyLLMError /
|
|
18
|
-
// ABORT_ERROR——abort 双形态归一 helper 见本文件)
|
|
19
3
|
//
|
|
20
4
|
// 架构边界:本包**不依赖 db**——消息持久化由 S7.6 server 层负责(onMessages 回调输出每轮
|
|
21
5
|
// 新消息序列,本文件只定义接口不落库);工具执行 / 批量校验 / 提案仓在 S7.4(本文件只定义
|
|
22
|
-
// ToolDispatcher
|
|
6
|
+
// ToolDispatcher 接口与消费,测试用 mock,S7.4 提供真实现)。
|
|
23
7
|
import { ERROR_CODES } from "@whispering233/ai-editor-shared/schemas";
|
|
24
8
|
import { ABORT_ERROR, classifyLLMError, DEFAULT_BASE_DELAY_MS, DEFAULT_MAX_RETRIES, LLM_TRANSPORT_ERROR_CODES, withRetry, } from "@whispering233/ai-editor-llm";
|
|
25
9
|
import { AbortedError } from "@whispering233/ai-editor-tools";
|
|
26
10
|
import { buildContext, } from "./context.js";
|
|
27
11
|
import { appendMessage, retryPayload } from "./session.js";
|
|
28
|
-
// ============
|
|
29
|
-
/**
|
|
12
|
+
// ============ 三重保险默认值 ============
|
|
13
|
+
/** 轮次上限(8 轮;持续 tool_call 死循环兜底) */
|
|
30
14
|
export const DEFAULT_MAX_ROUNDS = 8;
|
|
31
|
-
/** 单轮总预算 ms
|
|
15
|
+
/** 单轮总预算 ms(120s,含 LLM 重试退避与工具执行;测试可覆盖) */
|
|
32
16
|
export const DEFAULT_ROUND_TIMEOUT_MS = 120_000;
|
|
33
17
|
/**
|
|
34
|
-
* 单次 attempt 超时 ms
|
|
18
|
+
* 单次 attempt 超时 ms(「LLM 单次 attempt 另有自身 fetch 超时」落地——
|
|
35
19
|
* 独立于 120s 单轮总预算;attempt 超时映射为可重试错误,轮内重试仍受 roundDeadline 兜底)。
|
|
36
20
|
*/
|
|
37
21
|
export const DEFAULT_ATTEMPT_TIMEOUT_MS = 60_000;
|
|
38
|
-
/** 上下文 token
|
|
22
|
+
/** 上下文 token 预算(60K——DeepSeek 64K 窗口留余量;测试可覆盖) */
|
|
39
23
|
export const DEFAULT_TOKEN_BUDGET = 60_000;
|
|
40
24
|
// ============ 内部辅助 ============
|
|
41
|
-
/** attempt
|
|
25
|
+
/** attempt 超时合成错误(超时映射为**可重试**类,与用户取消分离——勿把 AbortSignal.timeout 直挂用户取消链路) */
|
|
42
26
|
const ATTEMPT_TIMEOUT_CODE = "ATTEMPT_TIMEOUT";
|
|
43
27
|
const ATTEMPT_TIMEOUT_ERROR = {
|
|
44
28
|
status: 0,
|
|
45
29
|
code: ATTEMPT_TIMEOUT_CODE,
|
|
46
|
-
message: "
|
|
30
|
+
message: "单次模型调用超时(轮次预算内可重试,)",
|
|
47
31
|
};
|
|
48
32
|
const ATTEMPT_TIMEOUT_RESULT = {
|
|
49
33
|
ok: false,
|
|
@@ -51,7 +35,7 @@ const ATTEMPT_TIMEOUT_RESULT = {
|
|
|
51
35
|
error: ATTEMPT_TIMEOUT_ERROR,
|
|
52
36
|
};
|
|
53
37
|
/** length 截断兜底说明(LLMToolCallResult.error 缺失时——finalizeToolCalls 正常必已标记) */
|
|
54
|
-
const LENGTH_TRUNCATION_NOTICE = "finish_reason=length
|
|
38
|
+
const LENGTH_TRUNCATION_NOTICE = "finish_reason=length:参数可能不完整,不执行()";
|
|
55
39
|
/**
|
|
56
40
|
* 终止类错误码取值(ErrorCode 单一来源;shared barrel 仅类型导出,运行时常量走 schemas 子路径——
|
|
57
41
|
* 与 tools 包同款导入策略)。
|
|
@@ -95,8 +79,8 @@ function isAttemptTimeoutError(err) {
|
|
|
95
79
|
err.code === ATTEMPT_TIMEOUT_CODE);
|
|
96
80
|
}
|
|
97
81
|
/**
|
|
98
|
-
* 主循环重试分类:可重试 = llm 传输类(429/5xx
|
|
99
|
-
* abort(ABORTED 码)由 classifyLLMError
|
|
82
|
+
* 主循环重试分类:可重试 = llm 传输类(429/5xx/网络断开/流截断)∪ attempt 超时;
|
|
83
|
+
* abort(ABORTED 码)由 classifyLLMError 判为不可重试(取消不重试)。
|
|
100
84
|
*/
|
|
101
85
|
function classifyRunOutcome(outcome) {
|
|
102
86
|
if (outcome.type === "error")
|
|
@@ -109,10 +93,10 @@ function classifyRunOutcome(outcome) {
|
|
|
109
93
|
* abort 双形态归一(ora S6.2 审核 2026-08):
|
|
110
94
|
* chatStream 流中返回 { ok:false, aborted }(resolve 形态)vs withRetry 尝试前/退避 sleep
|
|
111
95
|
* 抛 ABORT_ERROR(throw 形态)——此处统一为 resolve 形态 { ok:false, aborted, error },
|
|
112
|
-
*
|
|
96
|
+
* 主循环只处理一种形态。同时实现「超时信号与用户取消分离」:
|
|
113
97
|
* attempt 超时(timedOut=true 且非用户取消)→ 归一为**可重试** ATTEMPT_TIMEOUT;
|
|
114
98
|
* 用户取消 → aborted 原样(不重试)。
|
|
115
|
-
* 非 abort 异常照原样抛出(防御路径——chatStream
|
|
99
|
+
* 非 abort 异常照原样抛出(防御路径——chatStream 本不 throw,交 withRetry 分类)。
|
|
116
100
|
*/
|
|
117
101
|
function normalizeAttemptError(err, timedOut, userAborted) {
|
|
118
102
|
if (isAbortError(err)) {
|
|
@@ -136,15 +120,15 @@ function normalizeAttemptResult(result, timedOut, userAborted) {
|
|
|
136
120
|
return result;
|
|
137
121
|
}
|
|
138
122
|
/**
|
|
139
|
-
* S7.2
|
|
123
|
+
* S7.2 回写历史段真实用量换算(口径统一,ora S7.3 审核 S1——三处注释等价表述,
|
|
140
124
|
* 见 context.ts BuildContextInput.lastUsage 与 llm/token.ts EstimateMessagesTokensOptions.lastUsage):
|
|
141
125
|
* - 以 usage.prompt_tokens 为起点:减 system + toolList + focus 估算(completion 属输出、
|
|
142
|
-
*
|
|
126
|
+
* 不占 prompt_tokens,无需扣除)
|
|
143
127
|
* - 以 usage.total_tokens 为起点:再减 completion_tokens(total = prompt + completion,
|
|
144
|
-
*
|
|
128
|
+
* 两式等价:total - (system+toolList+focus+completion) = prompt - (system+toolList+focus))
|
|
145
129
|
* 下一轮 buildContext 以该值作 lastUsage(estimateMessagesTokens 基线);上下文触发裁剪后
|
|
146
130
|
* buildContext 会重置基线(meta.effectiveLastUsage=null),下轮从此处按最新 usage 重新换算——
|
|
147
|
-
*
|
|
131
|
+
* 防预算漂移。
|
|
148
132
|
*/
|
|
149
133
|
function toHistoryBaseline(usage, tokens) {
|
|
150
134
|
if (usage === null)
|
|
@@ -152,7 +136,7 @@ function toHistoryBaseline(usage, tokens) {
|
|
|
152
136
|
const historyTokens = Math.max(0, usage.prompt_tokens - tokens.system - tokens.toolList - tokens.focus);
|
|
153
137
|
return { prompt_tokens: historyTokens, completion_tokens: 0, total_tokens: historyTokens };
|
|
154
138
|
}
|
|
155
|
-
/** LLMToolCallResult(解析后形态)→ wire 请求形态(assistant.tool_calls 回填原始 arguments
|
|
139
|
+
/** LLMToolCallResult(解析后形态)→ wire 请求形态(assistant.tool_calls 回填原始 arguments 串—— 配对依赖 id) */
|
|
156
140
|
function toWireToolCalls(calls) {
|
|
157
141
|
return calls.map((c) => ({
|
|
158
142
|
id: c.id,
|
|
@@ -164,11 +148,11 @@ function toWireToolCalls(calls) {
|
|
|
164
148
|
/**
|
|
165
149
|
* runAgent:对话主循环(S7.3)。每轮:buildContext(含 lastUsage 回写链)→ LLM 调用
|
|
166
150
|
* (withRetry + classifyRunOutcome + attempt 独立超时)→ 文本实时转发 → 成功收尾:
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
151
|
+
* - 无 tool_call → done 事件终止
|
|
152
|
+
* - stopReason=length → 全部 tool_call 标错喂回(不执行)
|
|
153
|
+
* - 有合法 tool_call → dispatcher 执行 → tool_result 事件(按 id 回填)→ proposal 事件
|
|
154
|
+
* (在 tool_result 后、循环继续前)→ 结果回填会话 → 下一轮
|
|
155
|
+
* 三重保险:8 轮上限 / 120s 单轮总预算(含重试退避**与工具执行**——调度前与
|
|
172
156
|
* dispatcher 返回后均校验 deadline)/ token 预算,各自发 error 事件终止。工具失败(isError)
|
|
173
157
|
* 结构化回填不终止(喂回自纠);模型失败按重试策略退避重试,重试与轮次分开计量(报告值
|
|
174
158
|
* 累计不清零,见 result.retries 注释);abort 双形态归一后循环只处理 resolve 形态。
|
|
@@ -196,8 +180,8 @@ export async function runAgent(input) {
|
|
|
196
180
|
// 用户消息入会话(S7.6 传入的 session 不应已含本轮消息——由本层追加,避免双写)
|
|
197
181
|
let session = appendMessage(input.session, { role: "user", content: userMessage });
|
|
198
182
|
let rounds = 0;
|
|
199
|
-
let retries = 0; //
|
|
200
|
-
let lastUsage = null; // 历史段基线(S7.2
|
|
183
|
+
let retries = 0; // 重试累计(重试与轮次分开计量、不互相消耗;报告值不清零——见下方说明)
|
|
184
|
+
let lastUsage = null; // 历史段基线(S7.2 回写换算)
|
|
201
185
|
while (rounds < maxRounds) {
|
|
202
186
|
rounds += 1;
|
|
203
187
|
emit({ type: "turn_start", round: rounds });
|
|
@@ -211,18 +195,18 @@ export async function runAgent(input) {
|
|
|
211
195
|
budgets,
|
|
212
196
|
tools,
|
|
213
197
|
});
|
|
214
|
-
// ---- 2.
|
|
198
|
+
// ---- 2. 取消检查( 优先于预算:已取消且并发超限时先 aborted 终止,不发 token error) ----
|
|
215
199
|
if (signal?.aborted) {
|
|
216
200
|
emit({ type: "error", code: ABORT_ERROR.code ?? "ABORTED", message: ABORT_ERROR.message, aborted: true });
|
|
217
201
|
return { ok: false, aborted: true, error: ABORT_ERROR, rounds, retries };
|
|
218
202
|
}
|
|
219
|
-
// ---- 3. token
|
|
203
|
+
// ---- 3. token 预算(三重保险之三;超限发 error 终止) ----
|
|
220
204
|
if (ctx.tokens.total > tokenBudget) {
|
|
221
|
-
const message = `上下文 token 估算 ${ctx.tokens.total} 超出预算 ${tokenBudget}
|
|
205
|
+
const message = `上下文 token 估算 ${ctx.tokens.total} 超出预算 ${tokenBudget}()`;
|
|
222
206
|
emit({ type: "error", code: CODE_TOKEN_BUDGET, message, aborted: false });
|
|
223
207
|
return { ok: false, aborted: false, error: { status: 0, code: CODE_TOKEN_BUDGET, message }, rounds, retries };
|
|
224
208
|
}
|
|
225
|
-
// ---- 4. 单轮 deadline(三重保险之二:120s
|
|
209
|
+
// ---- 4. 单轮 deadline(三重保险之二:120s 含重试退避与工具执行) ----
|
|
226
210
|
const roundDeadline = Date.now() + roundTimeoutMs;
|
|
227
211
|
// ---- 5. 模型调用:withRetry + attempt 独立超时控制器 + abort 双形态归一 ----
|
|
228
212
|
// 本轮文本/工具调用累积(attempt 级变量——重试自动丢弃失败轮累积,半条 assistant 不重发)
|
|
@@ -234,9 +218,9 @@ export async function runAgent(input) {
|
|
|
234
218
|
return ATTEMPT_TIMEOUT_RESULT; // 轮次预算耗尽(含退避):不再发起请求
|
|
235
219
|
attemptText = "";
|
|
236
220
|
attemptCalls = [];
|
|
237
|
-
// 独立 AbortController:超时 abort
|
|
221
|
+
// 独立 AbortController:超时 abort 与用户取消分离——勿把 AbortSignal.timeout
|
|
238
222
|
// 直挂用户取消链路(会把超时误判为取消、吞掉可重试机会)。
|
|
239
|
-
// attempt 超时 = min(剩余轮次预算, attemptTimeoutMs)
|
|
223
|
+
// attempt 超时 = min(剩余轮次预算, attemptTimeoutMs):单次调用有自身超时(
|
|
240
224
|
// 「LLM 单次 attempt 另有自身 fetch 超时」),轮内重试仍受 roundDeadline 兜底
|
|
241
225
|
const controller = createAbortController();
|
|
242
226
|
let timedOut = false;
|
|
@@ -247,7 +231,7 @@ export async function runAgent(input) {
|
|
|
247
231
|
const onUserAbort = () => controller.abort();
|
|
248
232
|
signal?.addEventListener("abort", onUserAbort, { once: true });
|
|
249
233
|
try {
|
|
250
|
-
//
|
|
234
|
+
// 失败轮重试复用原 payload(半条 assistant 绝不追加)
|
|
251
235
|
const payload = retryPayload(ctx.messages);
|
|
252
236
|
const result = await deps.produce(payload, controller.signal, (event) => {
|
|
253
237
|
if (event.type === "text") {
|
|
@@ -278,11 +262,11 @@ export async function runAgent(input) {
|
|
|
278
262
|
try {
|
|
279
263
|
result = await withRetry(attempt, {
|
|
280
264
|
isRetryable,
|
|
281
|
-
signal, //
|
|
265
|
+
signal, // 用户取消不重试;退避 sleep 即时中断(llm/retry.ts 承担)
|
|
282
266
|
maxRetries,
|
|
283
267
|
baseDelayMs: retryBaseDelayMs,
|
|
284
268
|
onRetry: () => {
|
|
285
|
-
retries += 1; //
|
|
269
|
+
retries += 1; // 重试与轮次分开计量
|
|
286
270
|
},
|
|
287
271
|
});
|
|
288
272
|
}
|
|
@@ -292,21 +276,21 @@ export async function runAgent(input) {
|
|
|
292
276
|
emit({ type: "error", code: ABORT_ERROR.code ?? "ABORTED", message: ABORT_ERROR.message, aborted: true });
|
|
293
277
|
return { ok: false, aborted: true, error: ABORT_ERROR, rounds, retries };
|
|
294
278
|
}
|
|
295
|
-
// 防御路径:未知异常(chatStream
|
|
279
|
+
// 防御路径:未知异常(chatStream 不 throw,理论不可达)
|
|
296
280
|
const error = { status: 0, code: CODE_INTERNAL, message: err instanceof Error ? err.message : String(err) };
|
|
297
281
|
emit({ type: "error", code: CODE_INTERNAL, message: error.message, aborted: false });
|
|
298
282
|
return { ok: false, aborted: false, error, rounds, retries };
|
|
299
283
|
}
|
|
300
|
-
// ---- 5. 模型调用最终失败 → error
|
|
284
|
+
// ---- 5. 模型调用最终失败 → error 事件终止(最终失败以 error 呈现,不静默) ----
|
|
301
285
|
if (!result.ok) {
|
|
302
|
-
// attempt 超时耗尽重试后终止:错误码映射为 ErrorCode 的 AGENT_TIMEOUT(SSE
|
|
286
|
+
// attempt 超时耗尽重试后终止:错误码映射为 ErrorCode 的 AGENT_TIMEOUT(SSE 事件)
|
|
303
287
|
const code = isAttemptTimeoutError(result.error) ? CODE_TIMEOUT : (result.error.code ?? "MODEL_ERROR");
|
|
304
288
|
const error = { ...result.error, code };
|
|
305
289
|
emit({ type: "error", code, message: error.message, aborted: result.aborted });
|
|
306
290
|
return { ok: false, aborted: result.aborted, error, rounds, retries };
|
|
307
291
|
}
|
|
308
|
-
// ---- 6. 成功:历史段基线换算(S7.2
|
|
309
|
-
// 注:retries 报告值**不清零**(ora S7.3 审核 S6
|
|
292
|
+
// ---- 6. 成功:历史段基线换算(S7.2 回写)。
|
|
293
|
+
// 注:retries 报告值**不清零**(ora S7.3 审核 S6 断言口径)——「成功即清零」
|
|
310
294
|
// 针对的是预算计数语义(防跨轮累计吃满 8 轮预算),本实现每轮重试由 withRetry 的
|
|
311
295
|
// maxRetries 独立限制、轮次预算由 roundDeadline 兜底,不存在跨轮累计消耗预算的问题,
|
|
312
296
|
// 报告值取全程累计便于诊断(retries=1 即「本轮成功前重试过 1 次」) ----
|
|
@@ -316,7 +300,7 @@ export async function runAgent(input) {
|
|
|
316
300
|
const assistantMsg = calls.length > 0
|
|
317
301
|
? { role: "assistant", content: assistantContent, tool_calls: toWireToolCalls(calls) }
|
|
318
302
|
: { role: "assistant", content: assistantContent };
|
|
319
|
-
// ---- 7. 无工具调用 → done
|
|
303
|
+
// ---- 7. 无工具调用 → done 终止(:done 携带 session_id) ----
|
|
320
304
|
if (calls.length === 0) {
|
|
321
305
|
session = appendMessage(session, assistantMsg);
|
|
322
306
|
emitMessages([assistantMsg]);
|
|
@@ -327,14 +311,14 @@ export async function runAgent(input) {
|
|
|
327
311
|
for (const c of calls) {
|
|
328
312
|
emit({ type: "tool_call", tool: c.name, args: c.arguments ?? null, id: c.id });
|
|
329
313
|
}
|
|
330
|
-
// ---- 9. 调度前检查轮次预算(ora S7.3 审核 M2
|
|
314
|
+
// ---- 9. 调度前检查轮次预算(ora S7.3 审核 M2:「单轮总预算含工具执行」——
|
|
331
315
|
// attempt 成功后若预算已耗尽,直接 AGENT_TIMEOUT 终止、不再调度工具) ----
|
|
332
316
|
if (roundDeadline - Date.now() <= 0) {
|
|
333
|
-
const message = `单轮预算耗尽(${roundTimeoutMs}ms
|
|
317
|
+
const message = `单轮预算耗尽(${roundTimeoutMs}ms 含工具执行,)`;
|
|
334
318
|
emit({ type: "error", code: CODE_TIMEOUT, message, aborted: false });
|
|
335
319
|
return { ok: false, aborted: false, error: { status: 0, code: CODE_TIMEOUT, message }, rounds, retries };
|
|
336
320
|
}
|
|
337
|
-
// ---- 10. 调度:length
|
|
321
|
+
// ---- 10. 调度:length 截断与参数解析失败/缺 id 的调用一律不执行、标错喂回 ----
|
|
338
322
|
const truncated = result.stopReason === "length";
|
|
339
323
|
const results = new Array(calls.length);
|
|
340
324
|
const toDispatch = [];
|
|
@@ -358,13 +342,13 @@ export async function runAgent(input) {
|
|
|
358
342
|
if (toDispatch.length > 0) {
|
|
359
343
|
let dispatched;
|
|
360
344
|
try {
|
|
361
|
-
dispatched = await deps.dispatcher(toDispatch, signal); //
|
|
345
|
+
dispatched = await deps.dispatcher(toDispatch, signal); // 工具执行中检查取消(S7.4 承担)
|
|
362
346
|
}
|
|
363
347
|
catch (err) {
|
|
364
|
-
//
|
|
348
|
+
// 取消语义传播( + S7.4 约定):executor 在工具执行中检查 signal,
|
|
365
349
|
// 命中取消抛 AbortedError(tools analysis/utils)——此处识别并按**用户取消**终止
|
|
366
350
|
// (aborted=true、不重试、不喂回),不得落入调度器缺陷分支(否则取消会被误报为
|
|
367
|
-
// AGENT_DISPATCH_ERROR 且 aborted=false
|
|
351
|
+
// AGENT_DISPATCH_ERROR 且 aborted=false,与「取消不重试」语义冲突)
|
|
368
352
|
const cancelled = signal?.aborted === true || err instanceof AbortedError;
|
|
369
353
|
if (cancelled) {
|
|
370
354
|
emit({ type: "error", code: ABORT_ERROR.code ?? "ABORTED", message: ABORT_ERROR.message, aborted: true });
|
|
@@ -381,7 +365,7 @@ export async function runAgent(input) {
|
|
|
381
365
|
retries,
|
|
382
366
|
};
|
|
383
367
|
}
|
|
384
|
-
//
|
|
368
|
+
// 同序等长(防御——错位回填破坏 tool_call ↔ tool_result 配对)
|
|
385
369
|
if (dispatched.length !== toDispatch.length) {
|
|
386
370
|
const message = `工具调度结果条数不符:期望 ${toDispatch.length},实际 ${dispatched.length}`;
|
|
387
371
|
emit({ type: "error", code: CODE_DISPATCH, message, aborted: false });
|
|
@@ -393,7 +377,7 @@ export async function runAgent(input) {
|
|
|
393
377
|
retries,
|
|
394
378
|
};
|
|
395
379
|
}
|
|
396
|
-
//
|
|
380
|
+
// id 交叉校验(ora S7.3 审核 S5——条数虽等但结果 id 与输入错位同样破坏配对)
|
|
397
381
|
for (let k = 0; k < dispatched.length; k++) {
|
|
398
382
|
if (dispatched[k].id !== toDispatch[k].id) {
|
|
399
383
|
const message = `工具调度结果 id 错位:期望 ${toDispatch[k].id},实际 ${dispatched[k].id}`;
|
|
@@ -414,11 +398,11 @@ export async function runAgent(input) {
|
|
|
414
398
|
// 调度后检查轮次预算(ora S7.3 审核 M2:工具执行可能耗时——执行中的工具无法中止
|
|
415
399
|
// (仅用户取消可中断),超出的后果 = 终止,即满足「120s 含工具执行」的预算语义)
|
|
416
400
|
if (roundDeadline - Date.now() <= 0) {
|
|
417
|
-
const message = `单轮预算耗尽(${roundTimeoutMs}ms
|
|
401
|
+
const message = `单轮预算耗尽(${roundTimeoutMs}ms 含工具执行,)`;
|
|
418
402
|
emit({ type: "error", code: CODE_TIMEOUT, message, aborted: false });
|
|
419
403
|
return { ok: false, aborted: false, error: { status: 0, code: CODE_TIMEOUT, message }, rounds, retries };
|
|
420
404
|
}
|
|
421
|
-
//
|
|
405
|
+
// 调度后检查取消(工具执行期间可能被取消——S7.4 执行中检查外的最后兜底)
|
|
422
406
|
if (signal?.aborted) {
|
|
423
407
|
emit({ type: "error", code: ABORT_ERROR.code ?? "ABORTED", message: ABORT_ERROR.message, aborted: true });
|
|
424
408
|
return { ok: false, aborted: true, error: ABORT_ERROR, rounds, retries };
|
|
@@ -429,7 +413,7 @@ export async function runAgent(input) {
|
|
|
429
413
|
toolMsgs.push({ role: "tool", content: r.content, tool_call_id: r.id });
|
|
430
414
|
emit({ type: "tool_result", tool: r.tool, result: r.content, id: r.id });
|
|
431
415
|
if (r.proposal !== undefined) {
|
|
432
|
-
emit({ type: "proposal", proposal: r.proposal }); //
|
|
416
|
+
emit({ type: "proposal", proposal: r.proposal }); // :proposal 在 tool_result 后、循环继续前
|
|
433
417
|
}
|
|
434
418
|
}
|
|
435
419
|
session = appendMessage(session, assistantMsg);
|
|
@@ -438,8 +422,8 @@ export async function runAgent(input) {
|
|
|
438
422
|
emitMessages([assistantMsg, ...toolMsgs]);
|
|
439
423
|
// 循环继续:下一轮模型看到工具结果后自纠或收尾
|
|
440
424
|
}
|
|
441
|
-
// ---- 11. 8
|
|
442
|
-
const message = `达到最大轮数上限 ${maxRounds}
|
|
425
|
+
// ---- 11. 8 轮上限(三重保险之一;持续 tool_call 死循环兜底) ----
|
|
426
|
+
const message = `达到最大轮数上限 ${maxRounds}()`;
|
|
443
427
|
emit({ type: "error", code: CODE_MAX_ITERATIONS, message, aborted: false });
|
|
444
428
|
return { ok: false, aborted: false, error: { status: 0, code: CODE_MAX_ITERATIONS, message }, rounds, retries };
|
|
445
429
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|