@migor/agentia 0.10.2 → 0.10.4
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/CHANGELOG.md +969 -64
- package/LICENSE +1 -1
- package/README.en.md +93 -38
- package/README.md +105 -218
- package/dist/AGENTS.md +234 -41
- package/dist/core/limits.d.ts +33 -1
- package/dist/core/limits.js +37 -1
- package/dist/core/limits.js.map +1 -1
- package/dist/core/run.d.ts +2 -2
- package/dist/core/timeout.d.ts +5 -5
- package/dist/core/timeout.js +5 -5
- package/dist/core/tool.d.ts +2 -2
- package/dist/core/trace-sink.d.ts +8 -0
- package/dist/core/trace-sink.js +24 -0
- package/dist/core/trace-sink.js.map +1 -0
- package/dist/core/trace.d.ts +12 -2
- package/dist/core/trace.js +10 -1
- package/dist/core/trace.js.map +1 -1
- package/dist/engine/concurrency.d.ts +1 -1
- package/dist/engine/concurrency.js +1 -1
- package/dist/engine/errors.d.ts +2 -2
- package/dist/engine/errors.js +2 -2
- package/dist/engine/loop-result.d.ts +3 -3
- package/dist/engine/loop.js +99 -56
- package/dist/engine/loop.js.map +1 -1
- package/dist/engine/mcp-server-http.js +1 -1
- package/dist/engine/mcp-server-http.js.map +1 -1
- package/dist/engine/mcp-server-stdio.js +7 -3
- package/dist/engine/mcp-server-stdio.js.map +1 -1
- package/dist/engine/mcp-server.d.ts +17 -2
- package/dist/engine/mcp-server.js +42 -17
- package/dist/engine/mcp-server.js.map +1 -1
- package/dist/engine/resume-input.d.ts +1 -1
- package/dist/engine/resume-input.js +1 -1
- package/dist/engine/retry.d.ts +15 -0
- package/dist/engine/retry.js +51 -2
- package/dist/engine/retry.js.map +1 -1
- package/dist/engine/span-scope.d.ts +15 -0
- package/dist/engine/span-scope.js +8 -1
- package/dist/engine/span-scope.js.map +1 -1
- package/dist/engine/spec.d.ts +5 -1
- package/dist/engine/spec.js.map +1 -1
- package/dist/engine/tracer.d.ts +8 -4
- package/dist/engine/tracer.js +24 -17
- package/dist/engine/tracer.js.map +1 -1
- package/dist/engine/turn.d.ts +2 -2
- package/dist/engine/turn.js +19 -4
- package/dist/engine/turn.js.map +1 -1
- package/dist/engine/types.d.ts +13 -5
- package/dist/engine/types.js +1 -0
- package/dist/engine/types.js.map +1 -1
- package/dist/eval/export.js +2 -2
- package/dist/eval/export.js.map +1 -1
- package/dist/eval/harvest.d.ts +4 -1
- package/dist/eval/harvest.js +32 -6
- package/dist/eval/harvest.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/anthropic.d.ts +1 -1
- package/dist/integrations/anthropic.js +1 -1
- package/dist/integrations/anthropic.js.map +1 -1
- package/dist/integrations/file-sink.d.ts +0 -16
- package/dist/integrations/file-sink.js +24 -6
- package/dist/integrations/file-sink.js.map +1 -1
- package/dist/integrations/mcp-http.js +4 -3
- package/dist/integrations/mcp-http.js.map +1 -1
- package/dist/integrations/mcp-protocol.d.ts +35 -10
- package/dist/integrations/mcp-protocol.js +19 -1
- package/dist/integrations/mcp-protocol.js.map +1 -1
- package/dist/integrations/mcp-stdio.js +91 -50
- package/dist/integrations/mcp-stdio.js.map +1 -1
- package/dist/integrations/mcp.d.ts +1 -1
- package/dist/integrations/mcp.js +19 -3
- package/dist/integrations/mcp.js.map +1 -1
- package/dist/integrations/metrics-otlp.d.ts +1 -1
- package/dist/integrations/metrics-otlp.js +8 -2
- package/dist/integrations/metrics-otlp.js.map +1 -1
- package/dist/integrations/metrics-render.js +17 -6
- package/dist/integrations/metrics-render.js.map +1 -1
- package/dist/integrations/metrics-state.d.ts +2 -2
- package/dist/integrations/metrics-state.js +4 -4
- package/dist/integrations/metrics-state.js.map +1 -1
- package/dist/integrations/metrics.d.ts +2 -2
- package/dist/integrations/otlp.d.ts +29 -6
- package/dist/integrations/otlp.js +128 -7
- package/dist/integrations/otlp.js.map +1 -1
- package/dist/integrations/report.d.ts +14 -2
- package/dist/integrations/report.js +39 -6
- package/dist/integrations/report.js.map +1 -1
- package/dist/runtime/run.d.ts +1 -1
- package/dist/runtime/run.js +19 -17
- package/dist/runtime/run.js.map +1 -1
- package/dist/store/fsStore.js +9 -5
- package/dist/store/fsStore.js.map +1 -1
- package/dist/store/record.d.ts +2 -2
- package/dist/store/record.js +1 -1
- package/dist/store/sqliteStore.d.ts +2 -2
- package/dist/store/sqliteStore.js +3 -3
- package/dist/store/sqliteStore.js.map +1 -1
- package/dist/store/store.d.ts +27 -7
- package/dist/store/store.js +43 -5
- package/dist/store/store.js.map +1 -1
- package/dist/toolkit/collect.d.ts +11 -5
- package/dist/toolkit/collect.js +10 -4
- package/dist/toolkit/collect.js.map +1 -1
- package/dist/toolkit/discover.js +27 -1
- package/dist/toolkit/discover.js.map +1 -1
- package/dist/toolkit/module.js +183 -50
- package/dist/toolkit/module.js.map +1 -1
- package/dist/toolkit/prompt.d.ts +1 -1
- package/dist/toolkit/prompt.js +2 -2
- package/dist/toolkit/prompt.js.map +1 -1
- package/dist/toolkit/subagent.d.ts +1 -1
- package/dist/toolkit/subagent.js +17 -3
- package/dist/toolkit/subagent.js.map +1 -1
- package/dist/transport/approval-policy.js +1 -1
- package/dist/transport/approval-policy.js.map +1 -1
- package/dist/transport/approval-supervisor.d.ts +8 -0
- package/dist/transport/approval-supervisor.js +23 -3
- package/dist/transport/approval-supervisor.js.map +1 -1
- package/dist/transport/async.d.ts +3 -0
- package/dist/transport/async.js +128 -25
- package/dist/transport/async.js.map +1 -1
- package/dist/transport/http-endpoints.js +1 -1
- package/dist/transport/http-route.js +2 -2
- package/dist/transport/http-route.js.map +1 -1
- package/dist/transport/http-shapes.d.ts +1 -1
- package/dist/transport/http-shapes.js +1 -1
- package/dist/transport/resume-scanner.d.ts +7 -0
- package/dist/transport/resume-scanner.js +40 -9
- package/dist/transport/resume-scanner.js.map +1 -1
- package/dist/transport/run-call-options.js +7 -3
- package/dist/transport/run-call-options.js.map +1 -1
- package/dist/transport/scheduler.js +5 -0
- package/dist/transport/scheduler.js.map +1 -1
- package/dist/transport/serve.d.ts +92 -0
- package/dist/transport/serve.js +155 -0
- package/dist/transport/serve.js.map +1 -0
- package/dist/transport/signal-supervisor.d.ts +10 -2
- package/dist/transport/signal-supervisor.js +15 -2
- package/dist/transport/signal-supervisor.js.map +1 -1
- package/dist/transport/wake-policy.d.ts +1 -1
- package/package.json +23 -10
package/dist/engine/retry.d.ts
CHANGED
|
@@ -40,6 +40,21 @@ export declare const DEFAULT_RETRY: {
|
|
|
40
40
|
readonly jitter: 0.2;
|
|
41
41
|
};
|
|
42
42
|
export type ResolvedRetry = Required<RetryOptions>;
|
|
43
|
+
/**
|
|
44
|
+
* 校验 `RetryOptions` 的四个数值旋钮 —— **响亮抛 TypeError**,与 client 层
|
|
45
|
+
* `resolveMaxRetries`(integrations/adapter-options.ts)同一条纪律。
|
|
46
|
+
*
|
|
47
|
+
* 坏值的真实后果(2026-10-13 深评 A1,实测):
|
|
48
|
+
* - `maxAttempts: NaN` ⇒ `!(NaN >= 1)` 成立 ⇒ **重试被静默关闭**(run 根快照记
|
|
49
|
+
* `config.retry.maxAttempts: 0`,看着像用户主动关的);
|
|
50
|
+
* - `baseDelayMs: NaN` ⇒ `backoffDelay` 算出 NaN ⇒ `sleep` 的 `assertTimerDelay` 抛
|
|
51
|
+
* RangeError —— 它曾被 turn.ts 退避处的裸 catch 吞成「用户取消」(配置错被谎报);
|
|
52
|
+
* - 延迟超 2^31-1ms ⇒ 被 Node 静默钳到 1ms(远期退避变热重试,单源上限见 core/timeout.ts)。
|
|
53
|
+
*
|
|
54
|
+
* `0` 各有合法读法(`maxAttempts: 0` = 关闭、`baseDelayMs: 0` = 不退避、`jitter: 0` =
|
|
55
|
+
* 不加抖动),不在被拒之列 —— 各旋钮的 0 语义登记在 `core/limits.ts`。
|
|
56
|
+
*/
|
|
57
|
+
export declare function validateRetryOptions(o: RetryOptions | false | undefined): void;
|
|
43
58
|
/** 归一重试配置:`undefined` → 缺省策略(**缺省开启**);`false` → null(关闭)。 */
|
|
44
59
|
export declare function resolveRetry(o: RetryOptions | false | undefined): ResolvedRetry | null;
|
|
45
60
|
/**
|
package/dist/engine/retry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { zeroClauseOf } from '../core/limits.js';
|
|
2
|
+
import { MAX_TIMER_DELAY_MS, interruptibleSleep } from '../core/timeout.js';
|
|
2
3
|
import { classifyError } from './errors.js';
|
|
3
4
|
/** 缺省重试参数(不含两个函数字段 —— 它们在 resolveRetry 里注入) */
|
|
4
5
|
export const DEFAULT_RETRY = {
|
|
@@ -23,10 +24,54 @@ function definedOnly(o) {
|
|
|
23
24
|
}
|
|
24
25
|
return out;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* 校验 `RetryOptions` 的四个数值旋钮 —— **响亮抛 TypeError**,与 client 层
|
|
29
|
+
* `resolveMaxRetries`(integrations/adapter-options.ts)同一条纪律。
|
|
30
|
+
*
|
|
31
|
+
* 坏值的真实后果(2026-10-13 深评 A1,实测):
|
|
32
|
+
* - `maxAttempts: NaN` ⇒ `!(NaN >= 1)` 成立 ⇒ **重试被静默关闭**(run 根快照记
|
|
33
|
+
* `config.retry.maxAttempts: 0`,看着像用户主动关的);
|
|
34
|
+
* - `baseDelayMs: NaN` ⇒ `backoffDelay` 算出 NaN ⇒ `sleep` 的 `assertTimerDelay` 抛
|
|
35
|
+
* RangeError —— 它曾被 turn.ts 退避处的裸 catch 吞成「用户取消」(配置错被谎报);
|
|
36
|
+
* - 延迟超 2^31-1ms ⇒ 被 Node 静默钳到 1ms(远期退避变热重试,单源上限见 core/timeout.ts)。
|
|
37
|
+
*
|
|
38
|
+
* `0` 各有合法读法(`maxAttempts: 0` = 关闭、`baseDelayMs: 0` = 不退避、`jitter: 0` =
|
|
39
|
+
* 不加抖动),不在被拒之列 —— 各旋钮的 0 语义登记在 `core/limits.ts`。
|
|
40
|
+
*/
|
|
41
|
+
export function validateRetryOptions(o) {
|
|
42
|
+
if (o === false || o === undefined)
|
|
43
|
+
return;
|
|
44
|
+
const { maxAttempts, baseDelayMs, maxDelayMs, jitter } = o;
|
|
45
|
+
if (maxAttempts !== undefined && (!Number.isSafeInteger(maxAttempts) || maxAttempts < 0)) {
|
|
46
|
+
throw new TypeError(`retry.maxAttempts 必须是非负安全整数(${zeroClauseOf('RetryOptions.maxAttempts')}),收到 ${String(maxAttempts)} —— ` +
|
|
47
|
+
'NaN / Infinity / 负数 / 小数都会让「重试几次」变成猜的(`!(NaN >= 1)` 成立 ⇒ 重试被静默关闭)');
|
|
48
|
+
}
|
|
49
|
+
for (const [name, v] of [
|
|
50
|
+
['retry.baseDelayMs', baseDelayMs],
|
|
51
|
+
['retry.maxDelayMs', maxDelayMs],
|
|
52
|
+
]) {
|
|
53
|
+
if (v === undefined)
|
|
54
|
+
continue;
|
|
55
|
+
if (typeof v !== 'number' || !Number.isFinite(v) || v < 0 || v > MAX_TIMER_DELAY_MS) {
|
|
56
|
+
throw new TypeError(`${name} 必须是 0 ~ ${MAX_TIMER_DELAY_MS}ms 的有限数` +
|
|
57
|
+
`(${zeroClauseOf(name === 'retry.baseDelayMs' ? 'RetryOptions.baseDelayMs' : 'RetryOptions.maxDelayMs')}),` +
|
|
58
|
+
`收到 ${String(v)} —— NaN 会让退避算成 NaN,超上限会被 Node 钳到 1ms(远期变热重试)`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (jitter !== undefined &&
|
|
62
|
+
(typeof jitter !== 'number' || !Number.isFinite(jitter) || jitter < 0 || jitter > 1)) {
|
|
63
|
+
throw new TypeError(`retry.jitter 必须是 0 ~ 1 的有限数(${zeroClauseOf('RetryOptions.jitter')}),收到 ${String(jitter)} —— ` +
|
|
64
|
+
'>1 会把退避拉成负数再被静默钳回 0(抖动与退避一起失效)');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
26
67
|
/** 归一重试配置:`undefined` → 缺省策略(**缺省开启**);`false` → null(关闭)。 */
|
|
27
68
|
export function resolveRetry(o) {
|
|
28
69
|
if (o === false)
|
|
29
70
|
return null;
|
|
71
|
+
// 数值旋钮坏值响亮失败(见 validateRetryOptions 头注)。runAgent 入口另有一次同款
|
|
72
|
+
// 校验(配置错不收成「失败的 run」);这里保留是因为直连 agentLoop / runAgentScoped
|
|
73
|
+
// 的路径不经过 run 入口。
|
|
74
|
+
validateRetryOptions(o);
|
|
30
75
|
// 用 definedOnly 兜住显式 undefined,否则旧写法会把缺省覆盖掉:
|
|
31
76
|
// `maxAttempts: undefined` → `!(undefined >= 1)` 成立 → **重试被静默关闭**,
|
|
32
77
|
// 而 run 根快照记的是 config.retry.maxAttempts: 0(看起来像用户主动关的);
|
|
@@ -55,7 +100,11 @@ export function backoffDelay(attempt, r) {
|
|
|
55
100
|
const exp = r.baseDelayMs * 2 ** Math.max(0, attempt - 1);
|
|
56
101
|
const capped = Math.min(exp, r.maxDelayMs);
|
|
57
102
|
const jitter = r.jitter > 0 ? capped * r.jitter * (Math.random() * 2 - 1) : 0;
|
|
58
|
-
|
|
103
|
+
// 上界再封一道:`capped ≤ maxDelayMs ≤ 2^31-1` 由入口校验保证,但正向抖动还能把它
|
|
104
|
+
// 推过 Node 定时器的物理上限(maxDelayMs 贴上限 + jitter=1 ⇒ 最多 2 倍)——超上限
|
|
105
|
+
// 的 setTimeout 会被钳到 1ms(远期退避变热重试),这里在交付给 sleep 之前夹住。
|
|
106
|
+
// ⚠️ 用 Math.min 而不是 clampTimerDelay:后者会把 NaN 读成 0,而 NaN 是必须响亮的坏值。
|
|
107
|
+
return Math.min(Math.max(0, Math.round(capped + jitter)), MAX_TIMER_DELAY_MS);
|
|
59
108
|
}
|
|
60
109
|
/**
|
|
61
110
|
* 可被 signal 中断的 sleep(退避期间收到取消就不必再等)。
|
package/dist/engine/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ import { type SpanId } from '../core/trace.js';
|
|
|
13
13
|
* 它们的「当前 span」就是发起它的那个回合,与 `ToolRunContext.parentSpanId` 同一个值);
|
|
14
14
|
* - `capability` —— `toolkit/skill.ts` / `toolkit/subagent.ts` 包住自己的方法体 / 子循环。
|
|
15
15
|
*
|
|
16
|
+
* 三层各自登记自己的 `agentName`(run 根 = 应用名、capability = 子 agent 名);夹在中间的
|
|
17
|
+
* `llm.turn` **不知道身份**,靠 `withCurrentSpan` 的**继承**把上一层的值留住(见该函数注释)。
|
|
18
|
+
*
|
|
16
19
|
* 边界(如实):`run` 根 span 由 `runAgent` 打开,故 `executeRun` 里更早的 `contextInit` /
|
|
17
20
|
* 记忆水合**没有**作用域 —— 那时确实还没有 span 可指,`currentTraceparent()` 返回 `undefined`。
|
|
18
21
|
*/
|
|
@@ -20,6 +23,18 @@ import { type SpanId } from '../core/trace.js';
|
|
|
20
23
|
export interface SpanScope {
|
|
21
24
|
traceId: string;
|
|
22
25
|
spanId: SpanId;
|
|
26
|
+
/**
|
|
27
|
+
* 当前正在跑的是**哪个 agent**(run 根 = 应用名;子 agent 的 capability span = 该 subagent 名)。
|
|
28
|
+
*
|
|
29
|
+
* 为什么需要它(2026-10-12 G7 交接):`@SubAgent` 的 capability span 上要写
|
|
30
|
+
* `agentia.handoff.from` —— 值是**调用方** agent 名,而调用点手上只有 `recorder`
|
|
31
|
+
* (**只写不读**,`RecorderBackend` 没有任何查 span 树的口子)与 `ctx.parentSpanId`
|
|
32
|
+
* (一个 id,反查不出名字)。唯一拿得到它的地方就是「当前调用期」,即这里。
|
|
33
|
+
*
|
|
34
|
+
* ⚠️ 值是**人读的名字**(run 根用 `runName`、子 agent 用它注册的 `name`),不是 span id、
|
|
35
|
+
* 也不是 `<类型>:<名>` 那种展示串 —— 它要直接写进 `agentia.handoff.from` 给外部消费。
|
|
36
|
+
*/
|
|
37
|
+
agentName?: string;
|
|
23
38
|
}
|
|
24
39
|
/**
|
|
25
40
|
* 在指定 span 作用域内执行。返回类型随 fn 而定(async fn → Promise<T>,同步 fn → T)。
|
|
@@ -2,7 +2,14 @@ import { AsyncLocalStorage } from 'node:async_hooks';
|
|
|
2
2
|
import { formatTraceparent } from '../core/trace.js';
|
|
3
3
|
const store = new AsyncLocalStorage();
|
|
4
4
|
export function withCurrentSpan(scope, fn) {
|
|
5
|
-
|
|
5
|
+
// ⚠️ 是**合并**(内层同名键覆盖外层),不是整条替换 —— `agentName` 是**跨层不变的身份**,
|
|
6
|
+
// 而三个写入点各自只知道「自己这一层的 span id」:run 根(loop.ts)知道应用名、capability
|
|
7
|
+
// (skill/subagent)知道子 agent 名,夹在中间的 `llm.turn`(turn.ts)**两个都不知道**。
|
|
8
|
+
// 用整条替换的话,turn.ts 每次包工具执行都会把 run 根写下的 agent 名抹成 undefined ⇒
|
|
9
|
+
// 交接属性永远拿不到值。`traceId` / `spanId` 仍由每个写入点显式给 ⇒ 收窄语义逐字不变
|
|
10
|
+
// (`tests/engine/spanScope.test.ts` 的「并行链互不干扰、内层不外泄」继续钉着这一条)。
|
|
11
|
+
const outer = store.getStore();
|
|
12
|
+
return store.run({ ...outer, ...scope }, fn);
|
|
6
13
|
}
|
|
7
14
|
/** 当前调用期的 span 作用域;不在任何 run / 调用内时 undefined。 */
|
|
8
15
|
export function currentSpan() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-scope.js","sourceRoot":"","sources":["../../src/engine/span-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"span-scope.js","sourceRoot":"","sources":["../../src/engine/span-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyClE,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAUjD,MAAM,UAAU,eAAe,CAAI,KAAgB,EAAE,EAAwB;IAC3E,4DAA4D;IAC5D,6DAA6D;IAC7D,mEAAmE;IACnE,4DAA4D;IAC5D,wDAAwD;IACxD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/engine/spec.d.ts
CHANGED
|
@@ -109,7 +109,7 @@ export interface RunInvocationOptions {
|
|
|
109
109
|
*/
|
|
110
110
|
maxEventChars?: number | false;
|
|
111
111
|
/**
|
|
112
|
-
* 挂起期间投递的事件(2026-09-28
|
|
112
|
+
* 挂起期间投递的事件(2026-09-28 ref-run-event-input,run 事件投入口):随 `TaskRecord.pendingEvents`
|
|
113
113
|
* 落库(纯数据、可序列化,重启不丢),续跑段由引擎在**未决 tool_use 解决之后**
|
|
114
114
|
* 渲染成 user 文本消息注入消息流(为什么不是宿主直接追加到消息末尾:续跑判定
|
|
115
115
|
* 只认历史**末尾一条**,追加 user 消息会把续跑判成新对话 —— 见 engine/loop.ts)。
|
|
@@ -131,6 +131,10 @@ export interface RunInvocationOptions {
|
|
|
131
131
|
*
|
|
132
132
|
* 同步宿主(HTTP `POST /run` / `runSync`)不消费它:那边没有 store 可注入,
|
|
133
133
|
* 会话请走程序内的 `RunAppOptions.session`。
|
|
134
|
+
*
|
|
135
|
+
* ⚠️ 程序内直接 `app.run(messages, { sessionId })` 同样**不生效**(`AgentApp.run`
|
|
136
|
+
* 不消费它)—— 入口会 `console.warn` 一次并指出改用 `session`(2026-10-12 ref-session-id-warn;
|
|
137
|
+
* 此前是静默丢弃:run 根没有 `session.id`、历史接不上、零信号)。
|
|
134
138
|
*/
|
|
135
139
|
sessionId?: string;
|
|
136
140
|
}
|
package/dist/engine/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/engine/spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/engine/spec.ts"],"names":[],"mappings":"AA6JA;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,mDAAmD;QACnD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACrE,OAAO,KAAuB,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAAiE,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC,QAA0B,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC"}
|
package/dist/engine/tracer.d.ts
CHANGED
|
@@ -63,11 +63,15 @@ export declare class TraceRecorder {
|
|
|
63
63
|
/** 因超限被丢弃的事件数(交付时写进 run 根的 `trace.truncated`) */
|
|
64
64
|
private droppedEvents;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
66
|
+
* 截断收尾摘要(`trace.truncated { droppedEvents, limit }`),**只生成一次**。
|
|
67
|
+
*
|
|
68
|
+
* 它是「交付时才写得出的结论」,由 `snapshot()` 首次调用时生成:同一个对象既进
|
|
69
|
+
* `span.events`(此后每次 snapshot 都带它)、也走增量出口(见 snapshot 的注释)。
|
|
70
|
+
* ⚠️ 不可每次调用都新建 —— 那样摘要的 `time` 每次不同,增量流里的那一条与
|
|
71
|
+
* 任何一次 snapshot 都对不上(`core/trace.ts` 的折叠契约当场变假),且多次
|
|
72
|
+
* snapshot 彼此也不一致。
|
|
69
73
|
*/
|
|
70
|
-
private
|
|
74
|
+
private truncationSummary;
|
|
71
75
|
/** 记账事件订阅者(增量出口,见 `core/trace.ts` 的 `TraceRecordEvent`) */
|
|
72
76
|
private readonly listeners;
|
|
73
77
|
/**
|
package/dist/engine/tracer.js
CHANGED
|
@@ -41,11 +41,15 @@ export class TraceRecorder {
|
|
|
41
41
|
/** 因超限被丢弃的事件数(交付时写进 run 根的 `trace.truncated`) */
|
|
42
42
|
droppedEvents = 0;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
44
|
+
* 截断收尾摘要(`trace.truncated { droppedEvents, limit }`),**只生成一次**。
|
|
45
|
+
*
|
|
46
|
+
* 它是「交付时才写得出的结论」,由 `snapshot()` 首次调用时生成:同一个对象既进
|
|
47
|
+
* `span.events`(此后每次 snapshot 都带它)、也走增量出口(见 snapshot 的注释)。
|
|
48
|
+
* ⚠️ 不可每次调用都新建 —— 那样摘要的 `time` 每次不同,增量流里的那一条与
|
|
49
|
+
* 任何一次 snapshot 都对不上(`core/trace.ts` 的折叠契约当场变假),且多次
|
|
50
|
+
* snapshot 彼此也不一致。
|
|
47
51
|
*/
|
|
48
|
-
|
|
52
|
+
truncationSummary = null;
|
|
49
53
|
/** 记账事件订阅者(增量出口,见 `core/trace.ts` 的 `TraceRecordEvent`) */
|
|
50
54
|
listeners = [];
|
|
51
55
|
/**
|
|
@@ -339,23 +343,26 @@ export class TraceRecorder {
|
|
|
339
343
|
...(s.links ? { links: [...s.links] } : {}),
|
|
340
344
|
}));
|
|
341
345
|
// 截断摘要:**交付时**才写得出的结论(与 totalUsage 同族),写在 run 根上。
|
|
342
|
-
//
|
|
343
|
-
//
|
|
344
|
-
//
|
|
345
|
-
//
|
|
346
|
+
// 只生成一次(`this.truncationSummary` 缓存):同一个对象既进 span.events、也走增量出口 ——
|
|
347
|
+
// 否则「按 seq 折回的那棵树」会少这一笔 / 每次 snapshot 的摘要时间戳互不相同,
|
|
348
|
+
// `core/trace.ts` 那条折叠规则就是**假的**。
|
|
349
|
+
// 增量出口只派一次 ⇒ 重复交付不会让增量流里多出一条。
|
|
346
350
|
if (this.droppedEvents > 0) {
|
|
347
351
|
const root = spans.find((s) => s.spanId === this.rootSpanId);
|
|
348
352
|
if (root) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
353
|
+
if (this.truncationSummary === null) {
|
|
354
|
+
this.truncationSummary = {
|
|
355
|
+
time: Date.now(),
|
|
356
|
+
name: 'trace.truncated',
|
|
357
|
+
body: { droppedEvents: this.droppedEvents, limit: this.maxEvents },
|
|
358
|
+
};
|
|
359
|
+
this.emit({
|
|
360
|
+
type: 'span.event',
|
|
361
|
+
spanId: this.rootSpanId,
|
|
362
|
+
event: { ...this.truncationSummary },
|
|
363
|
+
});
|
|
358
364
|
}
|
|
365
|
+
root.events.push(this.truncationSummary);
|
|
359
366
|
}
|
|
360
367
|
}
|
|
361
368
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/engine/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAczC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkCjD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY,EAAE,KAAa;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,+CAA+C,MAAM,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAI,GAA+B,CAAC,SAAS,CAAC;IAC7D,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,oCAAoC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,MAAM;YAC9G,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC;AAQD;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACf,OAAO,GAAY,UAAU,EAAE,CAAC;IACxB,KAAK,GAAW,EAAE,CAAC;IACnB,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACjD,8EAA8E;IAC7D,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,UAAU,GAAkB,IAAI,CAAC;IACzC,oDAAoD;IACnC,SAAS,CAAqB;IAC/C,2CAA2C;IACnC,cAAc,GAAG,CAAC,CAAC;IAC3B,iDAAiD;IACzC,aAAa,GAAG,CAAC,CAAC;IAC1B
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/engine/tracer.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/turn.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export interface AgentLoopArgs<S extends JsonSchema = JsonSchema> {
|
|
|
91
91
|
/** 人工审批决定(HITL):以 tool_use_id 为键;恢复挂起的 run 时由宿主传入 */
|
|
92
92
|
approvals?: Record<string, ApprovalDecision> | undefined;
|
|
93
93
|
/**
|
|
94
|
-
* 挂起期间投递的事件(2026-09-28
|
|
94
|
+
* 挂起期间投递的事件(2026-09-28 ref-run-event-input;语义见 RunInvocationOptions.events):
|
|
95
95
|
* 由 loop.ts 的续跑入口在**未决 tool_use 解决之后**注入消息流(本文件不消费它 ——
|
|
96
96
|
* 注入时机的纪律在 loop.ts,那里才知道 tool_result 已落定)。
|
|
97
97
|
*/
|
|
@@ -171,7 +171,7 @@ export declare function streamTurn<S extends JsonSchema>(ctx: LoopContext<S>): P
|
|
|
171
171
|
* 预算护栏依赖「记账完成后」的 usage 累计,所以本函数必须先于任何 budget.check 调用。
|
|
172
172
|
*
|
|
173
173
|
* `model` 是本回合**实际**成功的模型(TurnOutcome.model):fallback 换环后与 args.model
|
|
174
|
-
* 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27
|
|
174
|
+
* 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ref-sink-failure-warn 的核心教训)。
|
|
175
175
|
*/
|
|
176
176
|
export declare function recordTurnUsage<S extends JsonSchema>(ctx: LoopContext<S>, turnId: SpanId, message: Message, model?: string): void;
|
|
177
177
|
/** 回合收尾分流:finish = 终止/边界分支(带 stopReason 与收尾文本);tools = 还有工具要执行 */
|
package/dist/engine/turn.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* 规范位置是 text.ts(loop.ts 与 stop-reason.ts 都从那儿取;回本文件取会成环)。
|
|
13
13
|
*/
|
|
14
14
|
import { validateJsonSchema } from '../core/schema.js';
|
|
15
|
-
import { TOOL_INPUT_EVENT, TOOL_OUTPUT_EVENT } from '../core/trace.js';
|
|
15
|
+
import { CONTEXT_BUDGET_EVENT, TOOL_INPUT_EVENT, TOOL_OUTPUT_EVENT } from '../core/trace.js';
|
|
16
16
|
import { isTimeoutError } from '../core/timeout.js';
|
|
17
17
|
import { classifyError, isAbortError } from './errors.js';
|
|
18
18
|
import { createDeferRequest } from './defer.js';
|
|
@@ -164,7 +164,7 @@ export async function checkTurnEntry(ctx, iteration) {
|
|
|
164
164
|
}
|
|
165
165
|
if (next && next !== messages) {
|
|
166
166
|
if (args.parentSpanId) {
|
|
167
|
-
args.recorder.event(args.parentSpanId,
|
|
167
|
+
args.recorder.event(args.parentSpanId, CONTEXT_BUDGET_EVENT, {
|
|
168
168
|
from: messages.length,
|
|
169
169
|
to: next.length,
|
|
170
170
|
model: args.model,
|
|
@@ -269,7 +269,13 @@ export async function streamTurn(ctx) {
|
|
|
269
269
|
try {
|
|
270
270
|
await sleep(delayMs, signal);
|
|
271
271
|
}
|
|
272
|
-
catch {
|
|
272
|
+
catch (sleepErr) {
|
|
273
|
+
// 只认取消(AbortError):sleep 还会因坏延迟抛 RangeError(assertTimerDelay)——
|
|
274
|
+
// 那是配置/实现错误,吞成 aborted 会把「配置坏了」谎报成「用户取消」
|
|
275
|
+
// (2026-10-13 深评 A1 实测:`retry:{baseDelayMs:NaN}` + 429 → stopReason:aborted)。
|
|
276
|
+
// 入口校验(validateRetryOptions)让这条路本不该走到,真走到就原样抛出归类。
|
|
277
|
+
if (!isAbortError(sleepErr))
|
|
278
|
+
throw sleepErr;
|
|
273
279
|
aborted = true; // 退避期间被取消
|
|
274
280
|
break;
|
|
275
281
|
}
|
|
@@ -285,7 +291,7 @@ export async function streamTurn(ctx) {
|
|
|
285
291
|
* 预算护栏依赖「记账完成后」的 usage 累计,所以本函数必须先于任何 budget.check 调用。
|
|
286
292
|
*
|
|
287
293
|
* `model` 是本回合**实际**成功的模型(TurnOutcome.model):fallback 换环后与 args.model
|
|
288
|
-
* 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27
|
|
294
|
+
* 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ref-sink-failure-warn 的核心教训)。
|
|
289
295
|
*/
|
|
290
296
|
export function recordTurnUsage(ctx, turnId, message, model) {
|
|
291
297
|
const { args } = ctx;
|
|
@@ -356,6 +362,15 @@ export async function executeTurnTools(ctx, turnId, toolUses, overBudget) {
|
|
|
356
362
|
tool_use_ids: pending.map((u) => u.id),
|
|
357
363
|
tools: pending.map((u) => u.name),
|
|
358
364
|
});
|
|
365
|
+
// G7 护栏:审批在 trace 里**只是事件**(刻意不建 span —— 上游 `GuardrailSpanData`
|
|
366
|
+
// 只有 name / triggered 两个字段,造 span kind 等于往核心词汇表里加词)。但事件只有
|
|
367
|
+
// 解析 trace 才看得见,对外部 OTLP 消费者等于不存在 ⇒ 在**发起它的回合 span** 上再写
|
|
368
|
+
// 两个 additive 属性当「一眼可见的入口」,语义对齐上游那对字段。
|
|
369
|
+
// ⚠️ 两处**刻意的不对称**:① 只取**首个**待决工具名 —— 属性是标量,完整清单在事件的
|
|
370
|
+
// `tools[]` 里(属性是入口、事件是权威明细);② **只发 `true`,不设 `false`**
|
|
371
|
+
// (与 `gen_ai.conversation.compacted` 同款口径:没发生就根本不发这个键)。
|
|
372
|
+
args.recorder.setAttribute(turnId, 'agentia.guardrail.name', pending[0].name);
|
|
373
|
+
args.recorder.setAttribute(turnId, 'agentia.guardrail.triggered', true);
|
|
359
374
|
return { kind: 'suspended', pending: pending.map((u) => u.id) };
|
|
360
375
|
}
|
|
361
376
|
}
|
package/dist/engine/turn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/engine/turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/engine/turn.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/types.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface ModelFallbackLink {
|
|
|
29
29
|
export type AgentStopReason =
|
|
30
30
|
/** 模型自然结束(含 stop_sequence:命中 stop 序列同样是正常收尾) */
|
|
31
31
|
'end_turn' | 'stop_sequence' | 'max_tokens' | 'refusal' | 'pause_turn' | 'max_iterations'
|
|
32
|
+
/** 声明了 resultSchema,但模型自然收尾时仍未提交合法结构化结果 */
|
|
33
|
+
| 'result_missing'
|
|
32
34
|
/** 调用方主动取消(AbortSignal):run 未跑完,按失败收尾 */
|
|
33
35
|
| 'aborted'
|
|
34
36
|
/**
|
|
@@ -166,7 +168,7 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
166
168
|
/**
|
|
167
169
|
* 结构化结果 schema(R2):给出后 engine 追加隐藏工具 submit_result,
|
|
168
170
|
* 模型调用它提交符合 schema 的最终结果,校验通过即结束循环并写入 AgentRunResult.typed;
|
|
169
|
-
*
|
|
171
|
+
* 模型自然收尾却始终未提交则以 stopReason='result_missing' 失败,typed 为 undefined。
|
|
170
172
|
*
|
|
171
173
|
* 泛型 S:传 `fromZod<T>(...)`(TypedSchema<T>)时,返回值 `typed` 自动是 `T | undefined`;
|
|
172
174
|
* 传裸 JsonSchema 时回落 `unknown`。
|
|
@@ -256,9 +258,14 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
256
258
|
*/
|
|
257
259
|
promptVersions?: Record<string, string>;
|
|
258
260
|
/**
|
|
259
|
-
*
|
|
261
|
+
* 会话标识(**引擎级**旋钮):写进 run 根 span 的 `session.id` attribute(OTLP 导出时映射
|
|
260
262
|
* `gen_ai.conversation.id`),多轮对话的 run 由此可按会话聚合(thread 维度)。
|
|
261
263
|
* 走 `AgentApp.run` / `executeRun` 时给了 `session` 就自动带上,不用手填。
|
|
264
|
+
*
|
|
265
|
+
* ⚠️ 生效范围只到本层(`runAgent` / `executeRun`):`AgentApp.run` **不转发**它 ——
|
|
266
|
+
* `RunAppOptions` 里那个同名字段继承自 `RunInvocationOptions.sessionId`(**异步宿主**的
|
|
267
|
+
* 可序列化会话引用,语义见 engine/spec.ts),直传给 `app.run` 会 `console.warn` 一次且
|
|
268
|
+
* 不生效(2026-10-12 ref-session-id-warn;此前是静默丢弃)。
|
|
262
269
|
*/
|
|
263
270
|
sessionId?: string;
|
|
264
271
|
/**
|
|
@@ -269,7 +276,7 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
269
276
|
*/
|
|
270
277
|
approvals?: Record<string, ApprovalDecision>;
|
|
271
278
|
/**
|
|
272
|
-
* 挂起期间投递的事件(2026-09-28
|
|
279
|
+
* 挂起期间投递的事件(2026-09-28 ref-run-event-input;语义见 `RunInvocationOptions.events`):
|
|
273
280
|
* 续跑段在未决 tool_use 解决之后渲染成 user 文本消息注入消息流,并在 run 根
|
|
274
281
|
* 记 `task.event` 事件留痕(`{ injected, event_type, event_id? }` —— `injected`
|
|
275
282
|
* 的口径是「注入进本段消息流」,不等于「模型已看到」)。
|
|
@@ -286,7 +293,8 @@ export interface AgentRunResult<T = unknown> {
|
|
|
286
293
|
/** 非正常收尾时的结构化原因;正常收尾为 undefined(**字段在场**,见 RunMeta 的说明) */
|
|
287
294
|
error: SpanError | undefined;
|
|
288
295
|
/**
|
|
289
|
-
* resultSchema
|
|
296
|
+
* resultSchema 校验通过的结构化结果;未设 resultSchema 时为 undefined。
|
|
297
|
+
* 已设 schema 却没提交会以 result_missing 失败,此时同样为 undefined。
|
|
290
298
|
* 类型由 resultSchema 推导(见 RunAgentOptions.resultSchema 的泛型说明)。
|
|
291
299
|
*/
|
|
292
300
|
typed: T | undefined;
|
|
@@ -317,7 +325,7 @@ export interface AgentRunResult<T = unknown> {
|
|
|
317
325
|
*/
|
|
318
326
|
wakeAt: number | undefined;
|
|
319
327
|
/**
|
|
320
|
-
* 本段是否把传入的 `events`(run 事件投入口,2026-09-28
|
|
328
|
+
* 本段是否把传入的 `events`(run 事件投入口,2026-09-28 ref-run-event-input)**真注入了消息历史**
|
|
321
329
|
* (字段在场)。宿主(`AsyncRunner`)据此清 `TaskRecord.pendingEvents`:注入过 ⇒ 事件
|
|
322
330
|
* 已在历史里,簿记清掉(否则注入后再次挂起的场景会在下次续跑**重复注入**);
|
|
323
331
|
* 续跑入口的再挂起出口在注入点之前返回(false),簿记留住等跑通的那次。
|
package/dist/engine/types.js
CHANGED
package/dist/engine/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAoEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,mBAAmB,GAAqC;IAC5D,aAAa;IACb,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI,EAAE,oBAAoB;IACzC,kDAAkD;IAClD,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,KAAK,EAAE,eAAe;IACvC,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,KAAK;IAC1B,KAAK,EAAE,KAAK;IACZ,mBAAmB;IACnB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/eval/export.js
CHANGED
|
@@ -104,7 +104,7 @@ export function exportRun(trace) {
|
|
|
104
104
|
messages.push({ role: 'user', content: results });
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
// 收尾判定(2026-09-27
|
|
107
|
+
// 收尾判定(2026-09-27 ref-export-training-data):整棵 trace 一行正文都没有、且本 run 没开 traceContent
|
|
108
108
|
// ⇒ 缺的不只是「终端回合那句话」:**混合回合**(模型先说一句再调工具)的真实正文同样
|
|
109
109
|
// 不在 trace 里,而只看「本回合有没有 tool_use」是判不出来的(那种回合按定义就是
|
|
110
110
|
// 「本来没文本」)。两条合取才成立:有正文就不标(合成 / 老 trace 也照顾到),
|
|
@@ -112,7 +112,7 @@ export function exportRun(trace) {
|
|
|
112
112
|
if (!anyTextRecorded && !textRecorded && !incomplete.includes('assistant-text')) {
|
|
113
113
|
incomplete.push('assistant-text');
|
|
114
114
|
}
|
|
115
|
-
// SFT 形状(2026-09-27
|
|
115
|
+
// SFT 形状(2026-09-27 ref-export-training-data):末条是 user ⇒ 这条样本**没有 loss 目标**(训练器会静默
|
|
116
116
|
// 丢掉它),而它恰恰是「run 没有终答」的形状(半截 run / 只剩工具往返)。标注出来,
|
|
117
117
|
// 别让下游以为每条都能直接用:`--ok-only` 挡不住它 —— status ok ≠ 有终答。
|
|
118
118
|
if (messages[messages.length - 1]?.role === 'user' &&
|