@migor/agentia 0.6.2 → 0.6.3
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 +39 -1
- package/README.md +1 -1
- package/dist/AGENTS.md +1 -1
- package/dist/core/object.d.ts +21 -0
- package/dist/core/object.js +27 -0
- package/dist/core/object.js.map +1 -0
- package/dist/core/run.d.ts +11 -4
- package/dist/core/timeout.d.ts +20 -2
- package/dist/core/timeout.js +32 -2
- package/dist/core/timeout.js.map +1 -1
- package/dist/core/tool.d.ts +3 -3
- package/dist/core/trace.d.ts +1 -1
- package/dist/engine/budget.d.ts +3 -3
- package/dist/engine/loop.d.ts +22 -21
- package/dist/engine/loop.js +1 -0
- package/dist/engine/loop.js.map +1 -1
- package/dist/engine/replay.js.map +1 -1
- package/dist/engine/spec.d.ts +2 -2
- package/dist/engine/trace-diff.d.ts +3 -3
- package/dist/engine/turn.d.ts +18 -17
- package/dist/engine/turn.js.map +1 -1
- package/dist/engine/types.d.ts +3 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/anthropic.js +4 -24
- package/dist/integrations/anthropic.js.map +1 -1
- package/dist/integrations/openai.d.ts +10 -0
- package/dist/integrations/openai.js +53 -3
- package/dist/integrations/openai.js.map +1 -1
- package/dist/integrations/otlp.d.ts +14 -1
- package/dist/integrations/otlp.js +14 -1
- package/dist/integrations/otlp.js.map +1 -1
- package/dist/runtime/run.d.ts +1 -1
- package/dist/runtime/run.js +5 -2
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/systemPrompt.d.ts +1 -1
- package/dist/runtime/systemPrompt.js.map +1 -1
- package/dist/store/store.d.ts +7 -7
- package/dist/toolkit/middleware.d.ts +1 -1
- package/dist/toolkit/module.js +44 -36
- package/dist/toolkit/module.js.map +1 -1
- package/dist/toolkit/skill.d.ts +1 -1
- package/dist/transport/async.d.ts +1 -1
- package/dist/transport/async.js +7 -2
- package/dist/transport/async.js.map +1 -1
- package/dist/transport/http.d.ts +3 -3
- package/dist/transport/http.js +10 -5
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/scheduler.js +2 -2
- package/dist/transport/scheduler.js.map +1 -1
- package/dist/transport/sse.d.ts +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,43 @@
|
|
|
5
5
|
(0.x 阶段:minor 可含破坏性变更,每个破坏性变更都在对应版本的「迁移」小节里写明)。
|
|
6
6
|
决策的完整证据链在 `docs/spec.md` §10(带时间线的决策日志)。
|
|
7
7
|
|
|
8
|
+
## [0.6.3] - 2026-09-18
|
|
9
|
+
|
|
10
|
+
> 本版主题:把第六轮 16 条的共同根因(「约定写在文档里、但没有门禁」)收口 ——
|
|
11
|
+
> 守卫注册表 + 三个新架构守卫 + 适配器对拍矩阵;`exactOptionalPropertyTypes` 全量迁移;
|
|
12
|
+
> OpenAI 适配器补齐客户端内层重试(与 anthropic 对称)。**无破坏性变更**。
|
|
13
|
+
|
|
14
|
+
### 新增(守卫基建 + 适配器对齐)
|
|
15
|
+
|
|
16
|
+
- **守卫注册表 `docs/guards.md`**:「哪类危险由谁守」的单源清单(§1 已挂守卫 → 保护的
|
|
17
|
+
不变量 → 退化后果;§2 待守缺口;§3 写法纪律),配套 PR 模板的「危险类自查 5 问」。
|
|
18
|
+
- **两个新架构守卫**:`tests/architecture/transport-errors.test.ts`(`integrations` 的
|
|
19
|
+
传输抛错必须带数值 `status`,否则 `classifyError` 判 unknown、重试层静默失效 ——
|
|
20
|
+
上线当天即抓到 `otlp.ts` 的同形漏网)与 `tests/architecture/tsconfig-strictness.test.ts`
|
|
21
|
+
(`exactOptionalPropertyTypes` / `strict` / `types:["node"]` 三个承重开关不得被关)。
|
|
22
|
+
另有元守卫 `tests/docs/guards-registry.test.ts` 防注册表本身腐化。
|
|
23
|
+
- **`OpenAIClientOptions.maxRetries`(缺省 2)**:OpenAI 适配器补齐**客户端内层重试**
|
|
24
|
+
(408/409/429/5xx + `retry-after` 尊重,与 `createAnthropicClient` 逐字对齐)——
|
|
25
|
+
此前同一个 429 在 anthropic 打 3 次网络请求、在 openai 只打 1 次(引擎层那一次)。
|
|
26
|
+
对称性由 `tests/integrations/adapter-parity.test.ts` 守住(一份场景表跑两侧 + 跨侧
|
|
27
|
+
对称断言)。
|
|
28
|
+
- **`exactOptionalPropertyTypes` 开启并完成迁移**(39 处 `error TS` 全清):结果/状态
|
|
29
|
+
记录改必填 `T | undefined`、内部管道 `?: T | undefined`、**公共入参签名不动**(调用点
|
|
30
|
+
条件展开或 `omitUndefined`)。「显式 undefined ≠ 不传」从此是类型级约束 ——
|
|
31
|
+
`retry: { maxAttempts: undefined }` 静默关重试这类写法在编译期就写不出来。
|
|
32
|
+
|
|
33
|
+
### 修复
|
|
34
|
+
|
|
35
|
+
- **`createOtlpExporter` 非 2xx 改抛 `OtlpExportError`**(带数值 `status`):此前裸
|
|
36
|
+
`Error` 会被 `classifyError` 判 `unknown` + 不可重试(与 OpenAI 适配器同形的病,
|
|
37
|
+
由新守卫抓到)。
|
|
38
|
+
|
|
39
|
+
### 重构
|
|
40
|
+
|
|
41
|
+
- 两条适配器的 client 层退避(`backoffMs` / `interruptibleSleep`)单源收进
|
|
42
|
+
`core/timeout.ts` —— 此前曾短暂存在 anthropic / openai 两份逐字副本;「不与引擎层
|
|
43
|
+
`backoffDelay` 合并」的例外仍在(±25%+retry-after vs ±20%,策略不同)。
|
|
44
|
+
|
|
8
45
|
## [0.6.2] - 2026-09-18
|
|
9
46
|
|
|
10
47
|
> 本版主题:第六轮全量 review 收口 —— 16 条「不报错地不干活」修复(含两处**语义变更**,见下)、
|
|
@@ -331,7 +368,8 @@
|
|
|
331
368
|
首个公开发布:`@migor/agentia` + `@migor/cli`(scope `@migor/*`),两包版本同步。
|
|
332
369
|
框架本体单包;CLI 独立成包(workspaces)。
|
|
333
370
|
|
|
334
|
-
[Unreleased]: https://github.com/retrychx/agentia/compare/v0.6.
|
|
371
|
+
[Unreleased]: https://github.com/retrychx/agentia/compare/v0.6.3...HEAD
|
|
372
|
+
[0.6.3]: https://github.com/retrychx/agentia/releases/tag/v0.6.3
|
|
335
373
|
[0.6.2]: https://github.com/retrychx/agentia/releases/tag/v0.6.2
|
|
336
374
|
[0.6.1]: https://github.com/retrychx/agentia/releases/tag/v0.6.1
|
|
337
375
|
[0.6.0]: https://github.com/retrychx/agentia/releases/tag/v0.6.0
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ $EDITOR my-app/.env # 填 ANTHROPIC_API_KEY(也可直接 expo
|
|
|
30
30
|
> 框架**不自动**读 `.env`:脚手架 `src/main.ts` 首行的 `loadEnvFile()` 负责把它读进 `process.env`。
|
|
31
31
|
> 真实环境变量优先(CI / docker / 命令行永远赢过文件),`loadEnvFile({ override: true })` 才反过来。
|
|
32
32
|
|
|
33
|
-
> **版本**:`0.6.
|
|
33
|
+
> **版本**:`0.6.3`(`@migor/agentia` 与 `@migor/cli` 均已发布到 npm)。`examples/` **刻意**用
|
|
34
34
|
> `file:../..` 指向本仓库而不是 npm 版本 —— 跑的是**工作区代码**,理由见
|
|
35
35
|
> [`examples/README.md`](examples/README.md) 的「依赖说明」。
|
|
36
36
|
|
package/dist/AGENTS.md
CHANGED
|
@@ -450,7 +450,7 @@ process.on('SIGTERM', async () => {
|
|
|
450
450
|
| `mapWithConcurrency` | 有界并发 map(结果保序);`maxToolConcurrency` 的底座,也可自用 |
|
|
451
451
|
|
|
452
452
|
- **取消**:`app.run(messages, { signal })` 传 `AbortSignal` —— 框架会 abort 在飞请求(内置 Anthropic / OpenAI 适配器都转发 `signal`),run 以 `stopReason='aborted'` 收尾(算失败)。`createHttpHandler` 已内置「客户端断开即中止」;`AsyncRunner.runTimeoutMs` 到点同样是**真中止**(构造期校验:必须 ≥ 0 的**有限**数 —— NaN/Infinity 会被 `setTimeout` 钳到 1ms,等于每个任务立即超时,故直接抛错;要「不限」传 0 或不设)。
|
|
453
|
-
- **重试**:缺省自动重试可重试失败(429 / 5xx / 连接失败),指数退避 + 抖动。`retry: false` 关闭,或 `retry: { maxAttempts, baseDelayMs, maxDelayMs, jitter, onRetry }` 调参。**只在本次尝试尚未产出任何文本时重试**(已吐出的字无法撤回)。⚠️ 与底层 client
|
|
453
|
+
- **重试**:缺省自动重试可重试失败(429 / 5xx / 连接失败),指数退避 + 抖动。`retry: false` 关闭,或 `retry: { maxAttempts, baseDelayMs, maxDelayMs, jitter, onRetry }` 调参。**只在本次尝试尚未产出任何文本时重试**(已吐出的字无法撤回)。⚠️ 与底层 client 的**内置重试**叠加 —— **两条内置适配器口径一致**(`createAnthropicClient` / `createOpenAIClient` 都有 `maxRetries`,缺省 2,重试同一状态码集合 408/409/429/5xx)—— 建议二选一调(这里 `maxAttempts: 1`,或 `<适配器>({ maxRetries: 0 })`)。
|
|
454
454
|
- **流式**:`POST /run` 带 `Accept: text/event-stream` → SSE 逐帧下发(`text.delta` / `run.end` / `error`);不带该头仍回一元 JSON。
|
|
455
455
|
- **工具超时 / 并发闸门**:`toolTimeoutMs` 超时**不杀 run**(该条 tool_result 记 `is_error`,模型可换路);`maxToolConcurrency` 给同回合的并行工具设上限(默认全并行)。⚠️ 超时 = **放弃等待**,`AgentTool.run` 没有 signal 参数,**副作用可能已发生** —— 想真停的工具请自行读 `ToolRunContext.signal`。**超时判定只有一个裁判**:`toolTimeoutMs` 是唯一判据 —— 工具自带的超时(如 MCP 桥的 `timeoutMs`)在设了本项时**不参与**判定;反过来说,工具自判的超时(抛 `code='timeout'` 的错误)与引擎判的记**同一类账**(`errorKind='timeout'`),并同样回 `is_error`。
|
|
456
456
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentia —— 对象工具(core 叶子,零依赖)。
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 去掉值为 `undefined` 的键,**只过滤 undefined**(`null` / `0` / `''` / `false` 一律保留)。
|
|
6
|
+
*
|
|
7
|
+
* 为什么需要它:`tsconfig` 开了 `exactOptionalPropertyTypes` 之后,`{foo: x}`(`x: T | undefined`)
|
|
8
|
+
* **不再是**合法的 `foo?: T` —— 显式传 `undefined` 与「不传这个键」被区分开了(这正是那个开关
|
|
9
|
+
* 要守的东西:`retry.ts` 的「显式 undefined 覆盖缺省」事故)。框架内部把「可能 undefined 的
|
|
10
|
+
* 变量」拼进可选参数对象时(如 `AgentApp.run` 把 per-run 覆盖转交给 `executeRun`),
|
|
11
|
+
* 用它把 undefined 键摘掉,类型上就能安全赋给 `foo?: T`。
|
|
12
|
+
*
|
|
13
|
+
* 返回类型里每个键的值都排除了 `undefined`,所以赋给可选属性是**类型准确**的
|
|
14
|
+
* (不是 `as any` 式的谎言;运行时确实过滤了)。
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* executeRun({ messages, ...omitUndefined({ model: opts.model, client: opts.client }) })
|
|
18
|
+
*/
|
|
19
|
+
export declare function omitUndefined<T extends object>(o: T): {
|
|
20
|
+
[K in keyof T]?: Exclude<T[K], undefined>;
|
|
21
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentia —— 对象工具(core 叶子,零依赖)。
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 去掉值为 `undefined` 的键,**只过滤 undefined**(`null` / `0` / `''` / `false` 一律保留)。
|
|
6
|
+
*
|
|
7
|
+
* 为什么需要它:`tsconfig` 开了 `exactOptionalPropertyTypes` 之后,`{foo: x}`(`x: T | undefined`)
|
|
8
|
+
* **不再是**合法的 `foo?: T` —— 显式传 `undefined` 与「不传这个键」被区分开了(这正是那个开关
|
|
9
|
+
* 要守的东西:`retry.ts` 的「显式 undefined 覆盖缺省」事故)。框架内部把「可能 undefined 的
|
|
10
|
+
* 变量」拼进可选参数对象时(如 `AgentApp.run` 把 per-run 覆盖转交给 `executeRun`),
|
|
11
|
+
* 用它把 undefined 键摘掉,类型上就能安全赋给 `foo?: T`。
|
|
12
|
+
*
|
|
13
|
+
* 返回类型里每个键的值都排除了 `undefined`,所以赋给可选属性是**类型准确**的
|
|
14
|
+
* (不是 `as any` 式的谎言;运行时确实过滤了)。
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* executeRun({ messages, ...omitUndefined({ model: opts.model, client: opts.client }) })
|
|
18
|
+
*/
|
|
19
|
+
export function omitUndefined(o) {
|
|
20
|
+
const out = {};
|
|
21
|
+
for (const [k, v] of Object.entries(o)) {
|
|
22
|
+
if (v !== undefined)
|
|
23
|
+
out[k] = v;
|
|
24
|
+
}
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/core/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,CAAI;IAEJ,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAoD,CAAC;AAC9D,CAAC"}
|
package/dist/core/run.d.ts
CHANGED
|
@@ -7,12 +7,19 @@ import type { SpanError } from './trace.js';
|
|
|
7
7
|
* (此前 `store → runtime` 是未声明的兄弟层依赖,见 AGENTS.md 分层约定)。
|
|
8
8
|
*/
|
|
9
9
|
export type RunStatus = 'queued' | 'running' | 'succeeded' | 'failed';
|
|
10
|
+
/**
|
|
11
|
+
* run 的运行记录(供持久化 / 读取)。字段**必填但可为 undefined**:它们是框架在 run
|
|
12
|
+
* 生命周期各阶段**总是写进对象**的状态(`toMeta()` 一次构造全量),「缺省」在这里不是
|
|
13
|
+
* 一个有意义的语义 —— 与「可选入参」不同。这条区分由 tsconfig 的
|
|
14
|
+
* `exactOptionalPropertyTypes` 强制:可选入参保持 `?: T`(调用点不许显式传 undefined),
|
|
15
|
+
* 而状态/结果记录写成必填 `T | undefined`(字段在场、值可能没有)。
|
|
16
|
+
*/
|
|
10
17
|
export interface RunMeta {
|
|
11
18
|
runId: string;
|
|
12
19
|
status: RunStatus;
|
|
13
|
-
idempotencyKey
|
|
20
|
+
idempotencyKey: string | undefined;
|
|
14
21
|
createdAt: number;
|
|
15
|
-
startedAt
|
|
16
|
-
finishedAt
|
|
17
|
-
error
|
|
22
|
+
startedAt: number | undefined;
|
|
23
|
+
finishedAt: number | undefined;
|
|
24
|
+
error: SpanError | undefined;
|
|
18
25
|
}
|
package/dist/core/timeout.d.ts
CHANGED
|
@@ -79,8 +79,10 @@ export declare function withTimeout<T>(p: Promise<T>, timeoutMs: number): Promis
|
|
|
79
79
|
* integrations 只能依赖 core」的注解:**正是那条约束把两份代码逼成了重复**,
|
|
80
80
|
* 所以下沉到 core 是让它们合一的唯一合法落点(见 spec §10 2026-09-17 ① 的单源化口径)。
|
|
81
81
|
*
|
|
82
|
-
* ⚠️
|
|
83
|
-
* ±
|
|
82
|
+
* ⚠️ 「不合并退避计算器」的例外只针对**引擎层**:`engine/retry.ts` 的 `backoffDelay`
|
|
83
|
+
* 是 ±20% 均匀抖动、底数/上限来自 `RetryOptions`,与 client 层策略不同(见下方
|
|
84
|
+
* `backoffMs` 的注释)—— 合一就是改行为。两条 client 之间的逐字复制不在此列:
|
|
85
|
+
* 它们的 `backoffMs` 也已收进本文件。
|
|
84
86
|
*
|
|
85
87
|
* `abortMessage` 参数化而非统一:文案是**调用方语境**(引擎说「run 已被取消」,
|
|
86
88
|
* client 说「请求已被取消」),两者都会出现在用户眼前的报错里。为去重把两句话
|
|
@@ -90,3 +92,19 @@ export declare function withTimeout<T>(p: Promise<T>, timeoutMs: number): Promis
|
|
|
90
92
|
* `engine/errors.ts` 按 `name` 把它归进「已中止」,`loop` 据此以 `aborted` 收尾。
|
|
91
93
|
*/
|
|
92
94
|
export declare function interruptibleSleep(ms: number, signal?: AbortSignal, abortMessage?: string): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* client 层重试的退避毫秒(两条内置适配器**共用**的单源):`retry-after`(秒数或
|
|
97
|
+
* HTTP-date)优先;否则指数退避 `min(500 × 2^(attempt-1), 8000)` ±25% 抖动
|
|
98
|
+
* (attempt 从 1 起 = 第一次重试)。
|
|
99
|
+
*
|
|
100
|
+
* ⚠️ **不要**与 `engine/retry.ts` 的 `backoffDelay` 合并(2026-09-17 去重时明确留下的
|
|
101
|
+
* 例外 —— 那条例外针对的是**引擎层**,不是这里):两者形似而策略不同,合一就是改行为。
|
|
102
|
+
* 本函数 ±25% 固定抖动、且**优先尊重 `retry-after`**(限流窗口是上游说了算,框架不该
|
|
103
|
+
* 拿自己的指数曲线去猜);那个是 ±jitter(缺省 ±20%)的均匀抖动、底数与上限来自
|
|
104
|
+
* `RetryOptions`,且它在引擎层(client 放弃之后的兜底重试)。
|
|
105
|
+
*
|
|
106
|
+
* 本函数此前在 `anthropic.ts` 与 `openai.ts` 各存一份逐字相同的副本 —— 「不合并」的
|
|
107
|
+
* 例外从来不覆盖 client↔client 的逐字复制(引擎那条理由不适用于同层),两份相同代码
|
|
108
|
+
* 只会各自漂移。
|
|
109
|
+
*/
|
|
110
|
+
export declare function backoffMs(attempt: number, retryAfter: string | null): number;
|
package/dist/core/timeout.js
CHANGED
|
@@ -123,8 +123,10 @@ export async function withTimeout(p, timeoutMs) {
|
|
|
123
123
|
* integrations 只能依赖 core」的注解:**正是那条约束把两份代码逼成了重复**,
|
|
124
124
|
* 所以下沉到 core 是让它们合一的唯一合法落点(见 spec §10 2026-09-17 ① 的单源化口径)。
|
|
125
125
|
*
|
|
126
|
-
* ⚠️
|
|
127
|
-
* ±
|
|
126
|
+
* ⚠️ 「不合并退避计算器」的例外只针对**引擎层**:`engine/retry.ts` 的 `backoffDelay`
|
|
127
|
+
* 是 ±20% 均匀抖动、底数/上限来自 `RetryOptions`,与 client 层策略不同(见下方
|
|
128
|
+
* `backoffMs` 的注释)—— 合一就是改行为。两条 client 之间的逐字复制不在此列:
|
|
129
|
+
* 它们的 `backoffMs` 也已收进本文件。
|
|
128
130
|
*
|
|
129
131
|
* `abortMessage` 参数化而非统一:文案是**调用方语境**(引擎说「run 已被取消」,
|
|
130
132
|
* client 说「请求已被取消」),两者都会出现在用户眼前的报错里。为去重把两句话
|
|
@@ -154,4 +156,32 @@ export function interruptibleSleep(ms, signal, abortMessage = '已被取消') {
|
|
|
154
156
|
signal?.addEventListener('abort', onAbort, { once: true });
|
|
155
157
|
});
|
|
156
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* client 层重试的退避毫秒(两条内置适配器**共用**的单源):`retry-after`(秒数或
|
|
161
|
+
* HTTP-date)优先;否则指数退避 `min(500 × 2^(attempt-1), 8000)` ±25% 抖动
|
|
162
|
+
* (attempt 从 1 起 = 第一次重试)。
|
|
163
|
+
*
|
|
164
|
+
* ⚠️ **不要**与 `engine/retry.ts` 的 `backoffDelay` 合并(2026-09-17 去重时明确留下的
|
|
165
|
+
* 例外 —— 那条例外针对的是**引擎层**,不是这里):两者形似而策略不同,合一就是改行为。
|
|
166
|
+
* 本函数 ±25% 固定抖动、且**优先尊重 `retry-after`**(限流窗口是上游说了算,框架不该
|
|
167
|
+
* 拿自己的指数曲线去猜);那个是 ±jitter(缺省 ±20%)的均匀抖动、底数与上限来自
|
|
168
|
+
* `RetryOptions`,且它在引擎层(client 放弃之后的兜底重试)。
|
|
169
|
+
*
|
|
170
|
+
* 本函数此前在 `anthropic.ts` 与 `openai.ts` 各存一份逐字相同的副本 —— 「不合并」的
|
|
171
|
+
* 例外从来不覆盖 client↔client 的逐字复制(引擎那条理由不适用于同层),两份相同代码
|
|
172
|
+
* 只会各自漂移。
|
|
173
|
+
*/
|
|
174
|
+
export function backoffMs(attempt, retryAfter) {
|
|
175
|
+
if (retryAfter) {
|
|
176
|
+
const secs = Number(retryAfter);
|
|
177
|
+
if (Number.isFinite(secs))
|
|
178
|
+
return Math.max(0, Math.round(secs * 1000));
|
|
179
|
+
const at = Date.parse(retryAfter);
|
|
180
|
+
if (Number.isFinite(at))
|
|
181
|
+
return Math.max(0, at - Date.now());
|
|
182
|
+
// 解析不了就回落指数退避
|
|
183
|
+
}
|
|
184
|
+
const base = Math.min(500 * 2 ** Math.max(0, attempt - 1), 8000);
|
|
185
|
+
return Math.round(base * (0.75 + Math.random() * 0.5));
|
|
186
|
+
}
|
|
157
187
|
//# sourceMappingURL=timeout.js.map
|
package/dist/core/timeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/core/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,GAAc,SAAS,CAAC;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,IAAI,CAAC,YAAY,YAAY;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAAuC,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,CAAa,EACb,SAAiB;IAEjB,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,gDAAgD;IAChD,8CAA8C;IAC9C,qDAAqD;IACrD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE;QACJ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;QACJ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC;IACV,CAAC,CACF,CAAC;IACF,IAAI,KAAiC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC7B,OAAO;YACP,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;gBACxC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;gBACxD,mDAAmD;gBACnD,0CAA0C;YAC5C,CAAC,CAAC;SACH,CAAC,CAAC;QACH,oCAAoC;QACpC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/core/timeout.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tool.d.ts
CHANGED
|
@@ -47,9 +47,9 @@ export interface RecorderBackend {
|
|
|
47
47
|
readonly traceId: string;
|
|
48
48
|
begin(kind: SpanKind, name: string, parentSpanId: SpanId | null): SpanId;
|
|
49
49
|
end(id: SpanId, patch?: {
|
|
50
|
-
status?: SpanStatus;
|
|
51
|
-
error?: SpanError;
|
|
52
|
-
usage?: Usage;
|
|
50
|
+
status?: SpanStatus | undefined;
|
|
51
|
+
error?: SpanError | undefined;
|
|
52
|
+
usage?: Usage | undefined;
|
|
53
53
|
}): void;
|
|
54
54
|
event(id: SpanId, name: string, body: unknown): void;
|
|
55
55
|
setAttribute(id: SpanId, key: string, value: string | number | boolean): void;
|
package/dist/core/trace.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface Usage {
|
|
|
16
16
|
cacheReadTokens: number;
|
|
17
17
|
cacheCreationTokens: number;
|
|
18
18
|
/** 估算成本(美元),由 token × 单价算出,随模型表更新 */
|
|
19
|
-
costEstimate?: number;
|
|
19
|
+
costEstimate?: number | undefined;
|
|
20
20
|
}
|
|
21
21
|
export type SpanStatus = 'ok' | 'error';
|
|
22
22
|
export interface SpanError {
|
package/dist/engine/budget.d.ts
CHANGED
|
@@ -25,18 +25,18 @@ export interface BudgetSnapshot {
|
|
|
25
25
|
}
|
|
26
26
|
export interface BudgetGuardOptions {
|
|
27
27
|
/** 整条 run(含子 agent)的累计 token 上限 */
|
|
28
|
-
maxTotalTokens?: number;
|
|
28
|
+
maxTotalTokens?: number | undefined;
|
|
29
29
|
/**
|
|
30
30
|
* 累计成本上限(美元)。**依赖 span 级 usage 的 `costEstimate`** ——
|
|
31
31
|
* 模型不在 `engine/usage.ts` 的价格表里时成本恒为 0,这条护栏**永远不触发**;
|
|
32
32
|
* 要无条件兜底请用 `maxTotalTokens`。同理,缓存 token 的单价是近似值(见 usage.ts)。
|
|
33
33
|
*/
|
|
34
|
-
maxCostUsd?: number;
|
|
34
|
+
maxCostUsd?: number | undefined;
|
|
35
35
|
/**
|
|
36
36
|
* 超限时的回调(在 `check` 返回前调用)。**抛错会冒泡进引擎** ——
|
|
37
37
|
* 想记日志/告警请自行保证不抛(引擎侧装配的那条已经做了 try 包裹)。
|
|
38
38
|
*/
|
|
39
|
-
onExceed?: (snapshot: BudgetSnapshot) => void;
|
|
39
|
+
onExceed?: ((snapshot: BudgetSnapshot) => void) | undefined;
|
|
40
40
|
}
|
|
41
41
|
export interface BudgetGuard {
|
|
42
42
|
/** 每回合记账完成后调用;超限返回 `'tokens' | 'cost'`,否则 `null` */
|
package/dist/engine/loop.d.ts
CHANGED
|
@@ -27,11 +27,12 @@ export declare function resolveDefaultModel(over?: string): string;
|
|
|
27
27
|
export interface AgentLoopResult<T = unknown> {
|
|
28
28
|
stopReason: AgentStopReason;
|
|
29
29
|
finalText: string;
|
|
30
|
-
|
|
30
|
+
/** 非正常收尾时的结构化原因;正常收尾为 undefined(**字段在场**,见 core/run.ts 的说明) */
|
|
31
|
+
error: SpanError | undefined;
|
|
31
32
|
/** 本轮循环自己发起的模型往返次数 */
|
|
32
33
|
iterations: number;
|
|
33
34
|
/** submit_result 校验通过的结构化结果;未提交则为 undefined(类型由 resultSchema 推导) */
|
|
34
|
-
typed
|
|
35
|
+
typed: T | undefined;
|
|
35
36
|
}
|
|
36
37
|
/** 主入口:开 run 根 span,循环跑在其下。返回完整 trace(traceId 即 runId)。 */
|
|
37
38
|
export declare function runAgent<S extends JsonSchema = JsonSchema>(options: RunAgentOptions<S>): Promise<AgentRunResult<SchemaType<S>>>;
|
|
@@ -41,43 +42,43 @@ export declare function runAgent<S extends JsonSchema = JsonSchema>(options: Run
|
|
|
41
42
|
* 供子 agent 产出结构化结果(见 toolkit/subagent.ts 的交回逻辑)。
|
|
42
43
|
*/
|
|
43
44
|
export declare function runAgentScoped<S extends JsonSchema = JsonSchema>(opts: {
|
|
44
|
-
client?: ModelClient;
|
|
45
|
-
system?: SystemParam;
|
|
45
|
+
client?: ModelClient | undefined;
|
|
46
|
+
system?: SystemParam | undefined;
|
|
46
47
|
messages: MessageParam[];
|
|
47
|
-
tools?: AgentTool[];
|
|
48
|
-
model?: string;
|
|
49
|
-
maxTokens?: number;
|
|
50
|
-
maxIterations?: number;
|
|
48
|
+
tools?: AgentTool[] | undefined;
|
|
49
|
+
model?: string | undefined;
|
|
50
|
+
maxTokens?: number | undefined;
|
|
51
|
+
maxIterations?: number | undefined;
|
|
51
52
|
recorder: RecorderBackend;
|
|
52
53
|
parentSpanId: SpanId;
|
|
53
|
-
onText?: (delta: string) => void;
|
|
54
|
+
onText?: ((delta: string) => void) | undefined;
|
|
54
55
|
/** 中断信号(由发起它的能力从 ToolRunContext.signal 透传,取消能传播到子 agent) */
|
|
55
|
-
signal?: AbortSignal;
|
|
56
|
+
signal?: AbortSignal | undefined;
|
|
56
57
|
/** 模型请求重试策略(缺省开启) */
|
|
57
|
-
retry?: RetryOptions | false;
|
|
58
|
-
contextPolicy?: ContextPolicy;
|
|
58
|
+
retry?: RetryOptions | false | undefined;
|
|
59
|
+
contextPolicy?: ContextPolicy | undefined;
|
|
59
60
|
/** 结构化结果 schema:存在时追加隐藏 submit_result 工具(同 RunAgentOptions.resultSchema) */
|
|
60
|
-
resultSchema?: S;
|
|
61
|
+
resultSchema?: S | undefined;
|
|
61
62
|
/** 单个工具执行超时(毫秒);同 RunAgentOptions.toolTimeoutMs */
|
|
62
|
-
toolTimeoutMs?: number;
|
|
63
|
+
toolTimeoutMs?: number | undefined;
|
|
63
64
|
/** 同回合并行工具上限;同 RunAgentOptions.maxToolConcurrency */
|
|
64
|
-
maxToolConcurrency?: number;
|
|
65
|
+
maxToolConcurrency?: number | undefined;
|
|
65
66
|
/** 事件正文截断上限;同 RunAgentOptions.maxEventChars */
|
|
66
|
-
maxEventChars?: number | false;
|
|
67
|
+
maxEventChars?: number | false | undefined;
|
|
67
68
|
/** 价格表覆盖(F1):由发起它的能力从 ToolRunContext.priceOverrides 透传 */
|
|
68
|
-
priceOverrides?: Record<string, ModelPricing
|
|
69
|
+
priceOverrides?: Record<string, ModelPricing> | undefined;
|
|
69
70
|
/** 未定价模型回调(F2):由发起它的能力透传 */
|
|
70
|
-
onUnpricedModel?: (info: {
|
|
71
|
+
onUnpricedModel?: ((info: {
|
|
71
72
|
model: string;
|
|
72
73
|
spanId: string;
|
|
73
|
-
}) => void;
|
|
74
|
+
}) => void) | undefined;
|
|
74
75
|
/**
|
|
75
76
|
* 成本硬管控(C1):由发起它的能力从 ToolRunContext 透传 —— 预算是整条 run 的口径
|
|
76
77
|
* (各级循环共享同一 recorder,按同一份累计账单判断),子循环每回合同样检查;
|
|
77
78
|
* 子循环超限以 stopReason='budget_exceeded' 收尾,由能力层包成 is_error 回主循环,
|
|
78
79
|
* 主循环回合入口的预算检查随即将整条 run 停掉。
|
|
79
80
|
*/
|
|
80
|
-
maxTotalTokens?: number;
|
|
81
|
+
maxTotalTokens?: number | undefined;
|
|
81
82
|
/** 成本硬管控(C1):累计成本(美元)上限;同 maxTotalTokens */
|
|
82
|
-
maxCostUsd?: number;
|
|
83
|
+
maxCostUsd?: number | undefined;
|
|
83
84
|
}): Promise<AgentLoopResult<SchemaType<S>>>;
|
package/dist/engine/loop.js
CHANGED
package/dist/engine/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/engine/loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAUrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,MAAM,GACP,MAAM,WAAW,CAAC;AASnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;AAC9D,CAAC;AAED,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,sBAAsB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/engine/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/engine/replay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/engine/replay.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/spec.d.ts
CHANGED
|
@@ -67,9 +67,9 @@ export interface RunInvocationOptions {
|
|
|
67
67
|
/** 一次任务的规范化入参:messages(已由 normalizeMessages 规整) */
|
|
68
68
|
export interface RunSpec {
|
|
69
69
|
messages: MessageParam[];
|
|
70
|
-
options?: RunInvocationOptions;
|
|
70
|
+
options?: RunInvocationOptions | undefined;
|
|
71
71
|
/** 触发来源标记(sync / async / schedule:<id>),供 run 记录审计 */
|
|
72
|
-
source?: string;
|
|
72
|
+
source?: string | undefined;
|
|
73
73
|
}
|
|
74
74
|
/** transport 层接受的原始入参形态 */
|
|
75
75
|
export type RunInput = string | MessageParam[] | {
|
|
@@ -38,9 +38,9 @@ export interface DiffEntry {
|
|
|
38
38
|
export interface SpanDiff {
|
|
39
39
|
/** 从根到该 span 的配对路径(人读 + 稳定锚),规则见文件头 */
|
|
40
40
|
path: string;
|
|
41
|
-
/** 缺侧 =
|
|
42
|
-
a
|
|
43
|
-
b
|
|
41
|
+
/** 缺侧 = 该侧调用树无此位置(字段在场,值可为 undefined,见 core/run.ts 的说明) */
|
|
42
|
+
a: Span | undefined;
|
|
43
|
+
b: Span | undefined;
|
|
44
44
|
/** 两侧都在时的字段级差异;缺侧时为空数组 */
|
|
45
45
|
fields: DiffEntry[];
|
|
46
46
|
}
|
package/dist/engine/turn.d.ts
CHANGED
|
@@ -21,46 +21,46 @@ export interface AgentLoopArgs<S extends JsonSchema = JsonSchema> {
|
|
|
21
21
|
model: string;
|
|
22
22
|
maxTokens: number;
|
|
23
23
|
maxIterations: number;
|
|
24
|
-
system?: SystemParam;
|
|
24
|
+
system?: SystemParam | undefined;
|
|
25
25
|
/** 本轮循环自有消息(内部复制,不改调用方数组) */
|
|
26
26
|
messages: MessageParam[];
|
|
27
27
|
tools: AgentTool[];
|
|
28
28
|
recorder: RecorderBackend;
|
|
29
29
|
/** llm.turn 的父 span(run 根 / 子 agent 的 capability span) */
|
|
30
30
|
parentSpanId: SpanId | null;
|
|
31
|
-
onText?: (delta: string) => void;
|
|
31
|
+
onText?: ((delta: string) => void) | undefined;
|
|
32
32
|
/** 中断信号:中止后不再发起新回合,以 stopReason='aborted' 收尾 */
|
|
33
|
-
signal?: AbortSignal;
|
|
33
|
+
signal?: AbortSignal | undefined;
|
|
34
34
|
/** 模型请求重试策略(缺省开启;false 关闭)。见 engine/retry.ts */
|
|
35
|
-
retry?: RetryOptions | false;
|
|
35
|
+
retry?: RetryOptions | false | undefined;
|
|
36
36
|
/** 上下文预算策略(compaction / context editing),每回合发送前调用 */
|
|
37
|
-
contextPolicy?: ContextPolicy;
|
|
37
|
+
contextPolicy?: ContextPolicy | undefined;
|
|
38
38
|
/** 结构化结果 schema:存在时追加隐藏 submit_result 工具(见 RunAgentOptions.resultSchema) */
|
|
39
|
-
resultSchema?: S;
|
|
39
|
+
resultSchema?: S | undefined;
|
|
40
40
|
/**
|
|
41
41
|
* 模型往返计数的外部持有者。抛错路径(请求失败)也要能报出**已发生**的往返次数,
|
|
42
42
|
* 所以用对象就地累加,而不是只靠返回值。
|
|
43
43
|
*/
|
|
44
44
|
progress?: {
|
|
45
45
|
iterations: number;
|
|
46
|
-
};
|
|
46
|
+
} | undefined;
|
|
47
47
|
/** 成本硬管控(C1):整条 run 累计 token 上限;记账后判断,超限即停 */
|
|
48
|
-
maxTotalTokens?: number;
|
|
48
|
+
maxTotalTokens?: number | undefined;
|
|
49
49
|
/** 成本硬管控(C1):累计成本(美元)上限;依赖价格表,见 createBudgetGuard */
|
|
50
|
-
maxCostUsd?: number;
|
|
50
|
+
maxCostUsd?: number | undefined;
|
|
51
51
|
/** 单个工具执行超时(毫秒);超时该条 tool_result 记 is_error,不杀 run */
|
|
52
|
-
toolTimeoutMs?: number;
|
|
52
|
+
toolTimeoutMs?: number | undefined;
|
|
53
53
|
/** 同回合并行工具上限;缺省 Infinity(= 全部并行) */
|
|
54
|
-
maxToolConcurrency?: number;
|
|
54
|
+
maxToolConcurrency?: number | undefined;
|
|
55
55
|
/** 事件正文截断上限;同 RunAgentOptions.maxEventChars(三类事件共用同一个值) */
|
|
56
|
-
maxEventChars?: number | false;
|
|
56
|
+
maxEventChars?: number | false | undefined;
|
|
57
57
|
/** 价格表覆盖(F1):覆盖内置单价或给其他 provider 的模型定价 */
|
|
58
|
-
priceOverrides?: Record<string, ModelPricing
|
|
58
|
+
priceOverrides?: Record<string, ModelPricing> | undefined;
|
|
59
59
|
/** 未定价模型回调(F2):本循环作用域内每模型一次 */
|
|
60
|
-
onUnpricedModel?: (info: {
|
|
60
|
+
onUnpricedModel?: ((info: {
|
|
61
61
|
model: string;
|
|
62
62
|
spanId: string;
|
|
63
|
-
}) => void;
|
|
63
|
+
}) => void) | undefined;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* 回合上下文:一次 agentLoop 调用内、跨「一回合执行步骤」共享的全部状态。
|
|
@@ -73,7 +73,7 @@ export interface LoopContext<S extends JsonSchema = JsonSchema> {
|
|
|
73
73
|
/** 实际发给 API 的工具表:开发者工具 + resultSchema 模式追加的隐藏 submit_result */
|
|
74
74
|
apiTools: ToolParam[];
|
|
75
75
|
/** resultSchema 模式在末尾追加过提交指令的 system(见 appendResultInstruction) */
|
|
76
|
-
system
|
|
76
|
+
system: SystemParam | undefined;
|
|
77
77
|
retryCfg: ResolvedRetry | null;
|
|
78
78
|
pricing: Record<string, ModelPricing>;
|
|
79
79
|
/** 未定价模型去重(F2):本循环作用域内每模型只回调一次 */
|
|
@@ -109,7 +109,8 @@ export declare function checkTurnEntry<S extends JsonSchema>(ctx: LoopContext<S>
|
|
|
109
109
|
/** 一回合的模型请求结果:turn span id + 成功时的 finalMessage;aborted 表示中途被取消 */
|
|
110
110
|
export interface TurnOutcome {
|
|
111
111
|
turnId: SpanId;
|
|
112
|
-
|
|
112
|
+
/** 模型响应;请求失败/中断时为 undefined(字段在场,见 core/run.ts 的说明) */
|
|
113
|
+
message: Message | undefined;
|
|
113
114
|
aborted: boolean;
|
|
114
115
|
}
|
|
115
116
|
/**
|