@migor/agentia 0.4.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/AGENTS.md +145 -10
- package/dist/core/message.d.ts +148 -0
- package/dist/core/message.js +25 -0
- package/dist/core/message.js.map +1 -0
- package/dist/core/tool.d.ts +10 -9
- package/dist/core/trace.d.ts +21 -0
- package/dist/core/trace.js +9 -1
- package/dist/core/trace.js.map +1 -1
- package/dist/engine/errors.d.ts +12 -0
- package/dist/engine/errors.js +46 -13
- package/dist/engine/errors.js.map +1 -1
- package/dist/engine/loop.d.ts +17 -11
- package/dist/engine/loop.js +46 -433
- package/dist/engine/loop.js.map +1 -1
- package/dist/engine/replay.d.ts +18 -3
- package/dist/engine/replay.js +49 -8
- package/dist/engine/replay.js.map +1 -1
- package/dist/engine/retry.d.ts +5 -4
- package/dist/engine/retry.js.map +1 -1
- package/dist/engine/spec.d.ts +5 -5
- package/dist/engine/spec.js.map +1 -1
- package/dist/engine/trace-diff.d.ts +57 -0
- package/dist/engine/trace-diff.js +188 -0
- package/dist/engine/trace-diff.js.map +1 -0
- package/dist/engine/trimming.d.ts +7 -7
- package/dist/engine/trimming.js +6 -5
- package/dist/engine/trimming.js.map +1 -1
- package/dist/engine/turn.d.ts +157 -0
- package/dist/engine/turn.js +500 -0
- package/dist/engine/turn.js.map +1 -0
- package/dist/engine/types.d.ts +18 -8
- package/dist/engine/usage.d.ts +2 -2
- package/dist/engine/usage.js.map +1 -1
- package/dist/eval/defineEval.d.ts +1 -1
- package/dist/eval/defineEval.js +12 -0
- package/dist/eval/defineEval.js.map +1 -1
- package/dist/eval/harvest.d.ts +37 -0
- package/dist/eval/harvest.js +132 -0
- package/dist/eval/harvest.js.map +1 -0
- package/dist/eval/scripted.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/anthropic.d.ts +41 -37
- package/dist/integrations/anthropic.js +408 -17
- package/dist/integrations/anthropic.js.map +1 -1
- package/dist/integrations/metrics.d.ts +13 -0
- package/dist/integrations/metrics.js +65 -0
- package/dist/integrations/metrics.js.map +1 -1
- package/dist/integrations/openai.d.ts +1 -1
- package/dist/integrations/openai.js +3 -3
- package/dist/integrations/openai.js.map +1 -1
- package/dist/integrations/otlp.d.ts +10 -0
- package/dist/integrations/otlp.js +59 -0
- package/dist/integrations/otlp.js.map +1 -1
- package/dist/runtime/run.js +2 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/session.d.ts +5 -5
- package/dist/runtime/session.js.map +1 -1
- package/dist/toolkit/module.d.ts +8 -2
- package/dist/toolkit/module.js +56 -8
- package/dist/toolkit/module.js.map +1 -1
- package/dist/toolkit/prompt.d.ts +20 -0
- package/dist/toolkit/prompt.js +18 -4
- package/dist/toolkit/prompt.js.map +1 -1
- package/dist/toolkit/skill.d.ts +3 -3
- package/dist/toolkit/subagent.d.ts +2 -2
- package/dist/toolkit/subagent.js +1 -1
- package/dist/transport/async.d.ts +2 -2
- package/package.json +2 -4
|
@@ -0,0 +1 @@
|
|
|
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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { CacheControl, MessageParam } from '../core/message.js';
|
|
2
2
|
import type { AgentTool, JsonSchema, ModelClient, ModelPricing } from '../core/tool.js';
|
|
3
3
|
import type { SpanError, Trace } from '../core/trace.js';
|
|
4
4
|
import type { RetryOptions } from './retry.js';
|
|
5
5
|
/**
|
|
6
|
-
* engine 对模型端的最小结构面(R4
|
|
6
|
+
* engine 对模型端的最小结构面(R4 多模型):消息形态见 core/message.js 的自有类型族,
|
|
7
7
|
* 其他 provider(OpenAI 兼容端点等)只需适配出同一形态。
|
|
8
8
|
* 定义在 core/tool.js 并从此处转导出。
|
|
9
9
|
*/
|
|
@@ -33,9 +33,7 @@ export declare function isSuccessStopReason(reason: AgentStopReason): boolean;
|
|
|
33
33
|
export interface SystemTextBlock {
|
|
34
34
|
type: 'text';
|
|
35
35
|
text: string;
|
|
36
|
-
cache_control?:
|
|
37
|
-
type: 'ephemeral';
|
|
38
|
-
};
|
|
36
|
+
cache_control?: CacheControl;
|
|
39
37
|
}
|
|
40
38
|
/** system 参数:纯文本,或可缓存块数组(稳定段带 breakpoint,volatile 段放其后不带) */
|
|
41
39
|
export type SystemParam = string | SystemTextBlock[];
|
|
@@ -51,10 +49,10 @@ export type SystemParam = string | SystemTextBlock[];
|
|
|
51
49
|
export interface ContextPolicy {
|
|
52
50
|
/** 预算(估算 input tokens);超预算的回合触发降级。供观测/文档用 */
|
|
53
51
|
readonly budgetTokens?: number;
|
|
54
|
-
beforeTurn(messages:
|
|
52
|
+
beforeTurn(messages: MessageParam[], info: {
|
|
55
53
|
iteration: number;
|
|
56
54
|
model: string;
|
|
57
|
-
}): Promise<
|
|
55
|
+
}): Promise<MessageParam[]>;
|
|
58
56
|
/**
|
|
59
57
|
* 每条 run 开始时由引擎调用一次,返回**本 run 专用**的策略实例(隔离滞回/缓存等
|
|
60
58
|
* per-run 状态)。缺省(不实现)= 复用自身 —— 只适合无状态策略;有状态又不实现
|
|
@@ -66,7 +64,7 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
66
64
|
/** 顶层 system(SystemPrompt 产物)。稳定内容应放在 tools 之后、第一个 breakpoint 前 */
|
|
67
65
|
system?: SystemParam;
|
|
68
66
|
/** 初始消息;由调用方给 user 起始消息 */
|
|
69
|
-
messages:
|
|
67
|
+
messages: MessageParam[];
|
|
70
68
|
/** 主 agent 可调工具(v1 裸 JSON schema) */
|
|
71
69
|
tools?: AgentTool[];
|
|
72
70
|
model?: string;
|
|
@@ -179,6 +177,18 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
179
177
|
* 就自动带上(见 runtime/systemPrompt.ts)。
|
|
180
178
|
*/
|
|
181
179
|
systemVersion?: string;
|
|
180
|
+
/**
|
|
181
|
+
* 菜单内 @Prompt 能力的版本表(`{ 能力名: 版本 }`):写进 run 根 span 的
|
|
182
|
+
* `prompts.versions` attribute(`name@ver` 逗号拼接),回答「质量退化是不是换了
|
|
183
|
+
* 某个 prompt 资产导致的」。走 `AgentApp.run` 时自动收集(@Prompt 的 `version` 字段)。
|
|
184
|
+
*/
|
|
185
|
+
promptVersions?: Record<string, string>;
|
|
186
|
+
/**
|
|
187
|
+
* 会话标识:写进 run 根 span 的 `session.id` attribute(OTLP 导出时映射
|
|
188
|
+
* `gen_ai.conversation.id`),多轮对话的 run 由此可按会话聚合(thread 维度)。
|
|
189
|
+
* 走 `AgentApp.run` / `executeRun` 时给了 `session` 就自动带上,不用手填。
|
|
190
|
+
*/
|
|
191
|
+
sessionId?: string;
|
|
182
192
|
}
|
|
183
193
|
export interface AgentRunResult<T = unknown> {
|
|
184
194
|
/** 本次 run 的完整调用树 + usage(traceId == runId) */
|
package/dist/engine/usage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { MessageUsage } from '../core/message.js';
|
|
2
2
|
import type { ModelPricing } from '../core/tool.js';
|
|
3
3
|
import type { Usage } from '../core/trace.js';
|
|
4
4
|
/**
|
|
@@ -22,7 +22,7 @@ export declare const DEFAULT_PRICING: Readonly<Record<string, ModelPricing>>;
|
|
|
22
22
|
* `maxCostUsd` 拿 NaN 去比较(永远 false,护栏静默失效),不如立刻响亮失败。
|
|
23
23
|
*/
|
|
24
24
|
export declare function buildPricing(overrides?: Record<string, ModelPricing>): Record<string, ModelPricing>;
|
|
25
|
-
export declare function usageFromAnthropic(u:
|
|
25
|
+
export declare function usageFromAnthropic(u: MessageUsage): Usage;
|
|
26
26
|
/**
|
|
27
27
|
* 近似成本估计:缓存写≈1.25×输入,缓存读≈0.1×输入。
|
|
28
28
|
* 模型不在传入的价格表内时返回 `undefined` —— 调用方须把"未定价"**显式**表达出来
|
package/dist/engine/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAA2C,MAAM,CAAC,MAAM,CAAC;IACnF,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACnC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACvC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CACtC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAwC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,eAA+C,CAAC;IACvE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,gDAAgD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAA2C,MAAM,CAAC,MAAM,CAAC;IACnF,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACnC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACvC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CACtC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAwC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,eAA+C,CAAC;IACvE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,gDAAgD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAe;IAChD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;QAChC,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC;QAClC,eAAe,EAAE,CAAC,CAAC,uBAAuB,IAAI,CAAC;QAC/C,mBAAmB,EAAE,CAAC,CAAC,2BAA2B,IAAI,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,KAAY,EACZ,OAAO,GAAiC,eAA+C;IAEvF,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAClF,MAAM,IAAI,GACR,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;QAC1B,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG;QAC5B,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG;QACpC,CAAC,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACtC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentRunResult } from '../engine/types.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type Trace } from '../core/trace.js';
|
|
3
3
|
import type { ModelClient } from '../core/tool.js';
|
|
4
4
|
import type { AgentApp, RunAppOptions } from '../toolkit/module.js';
|
|
5
5
|
/**
|
package/dist/eval/defineEval.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { attachScore } from '../core/trace.js';
|
|
1
2
|
function messageOf(e) {
|
|
2
3
|
return e instanceof Error ? e.message : String(e);
|
|
3
4
|
}
|
|
@@ -27,6 +28,17 @@ export function defineEval(def) {
|
|
|
27
28
|
catch (e) {
|
|
28
29
|
report = { ...report, ok: false, error: messageOf(e) };
|
|
29
30
|
}
|
|
31
|
+
// R7 质量闭环:用例结论挂成 trace 根 span 的 score 事件 —— eval 的 trace 自带
|
|
32
|
+
// 质量结论,下游 TraceSink / metrics 可直接聚合「这个 eval 的通过率」。
|
|
33
|
+
// 拿得到 trace 才挂:app.run 抛错(环境错误)时无 trace 可挂,跳过。
|
|
34
|
+
if (report.trace) {
|
|
35
|
+
attachScore(report.trace, {
|
|
36
|
+
name: 'eval',
|
|
37
|
+
value: report.ok ? 1 : 0,
|
|
38
|
+
source: def.name,
|
|
39
|
+
...(report.error !== undefined ? { comment: report.error } : {}),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
30
42
|
cases.push(report);
|
|
31
43
|
}
|
|
32
44
|
const passed = cases.filter((c) => c.ok).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineEval.js","sourceRoot":"","sources":["../../src/eval/defineEval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defineEval.js","sourceRoot":"","sources":["../../src/eval/defineEval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { MessageParam } from '../core/message.js';
|
|
2
|
+
import type { Trace } from '../core/trace.js';
|
|
3
|
+
/**
|
|
4
|
+
* Agentia —— 线上 trace 回流 eval 数据集(R7 质量闭环)。
|
|
5
|
+
*
|
|
6
|
+
* `harvestEvalCase` 把一条线上 trace(+ 可选的原始输入)翻成一段 **TS 源码字符串**:
|
|
7
|
+
* 一个可粘贴进 eval 文件的用例字面量骨架 —— `client: scriptedClient([...])` 的脚本
|
|
8
|
+
* 按 trace 的 llm.turn 逐回合重建,`expect` 预填「主循环工具序列」的轨迹断言。
|
|
9
|
+
* 纯函数:不写文件、不联网(CLI `agentia harvest` 在它的外面包文件读写)。
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ module 级 export,刻意不进 src/index.ts 公共面(见 AGENTS.md「内部工具不进公共面」)。
|
|
12
|
+
*
|
|
13
|
+
* 已知边界(生成物顶部注释也会如实写明,不靠用的人自己发现):
|
|
14
|
+
* - trace 不记 assistant 文本(llm.turn 只记 usage/事件),脚本里的 text 块是占位;
|
|
15
|
+
* - 只重建**直属 run 根**的主循环回合 —— 子 agent 的嵌套回合不走主循环脚本
|
|
16
|
+
* (scriptedClient 驱动的是主 agent 的模型往返);
|
|
17
|
+
* - `expect` 是从该 trace **抄录的实际轨迹**:发生过 ≠ 应该发生,人工核对后再进 CI;
|
|
18
|
+
* - EvalCase 没有 expect 字段,粘贴时把它搬进 defineEval 的 expect(骨架注释会教)。
|
|
19
|
+
*/
|
|
20
|
+
export interface HarvestEvalCaseInput {
|
|
21
|
+
/** 一条完成的线上 trace(run 根 + llm.turn + 事件) */
|
|
22
|
+
trace: Trace;
|
|
23
|
+
/** 原始输入(TaskRecord 的 spec.messages);没有则 input 用占位并注释提醒 */
|
|
24
|
+
messages?: MessageParam[];
|
|
25
|
+
/** 用例名;缺省 `harvest-<traceId>` */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** 来源标注(只写进注释,如 jsonl 文件名) */
|
|
28
|
+
source?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 生成一个可粘贴进 eval 文件的用例字面量骨架(TS 源码字符串)。
|
|
32
|
+
*
|
|
33
|
+
* 产出是**纯 JS 语法的表达式**(无 TS 类型标注)—— 于是可以被 `new Function` 直接
|
|
34
|
+
* eval 做「生成物可解析」验证,也可以原样粘进 .ts 文件。所有嵌入值一律走
|
|
35
|
+
* JSON.stringify(入参里可能有反引号 / `${`,不能让它们击穿生成物语法)。
|
|
36
|
+
*/
|
|
37
|
+
export declare function harvestEvalCase(input: HarvestEvalCaseInput): string;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { stringifySafe } from '../core/json.js';
|
|
2
|
+
/** trace 不记 assistant 文本 —— 脚本 text 块的统一占位(测试与 CLI 都对齐这个词) */
|
|
3
|
+
const ASSISTANT_TEXT_PLACEHOLDER = '[harvest] assistant 文本未入 trace';
|
|
4
|
+
/** 取某回合的 tool.input 事件并规整(engine 记账:input 已是截断后的字符串) */
|
|
5
|
+
function toolInputsOf(turn) {
|
|
6
|
+
return turn.events
|
|
7
|
+
.filter((e) => e.name === 'tool.input')
|
|
8
|
+
.map((e) => {
|
|
9
|
+
const b = (e.body ?? {});
|
|
10
|
+
return {
|
|
11
|
+
tool: typeof b.tool === 'string' ? b.tool : 'unknown',
|
|
12
|
+
toolUseId: typeof b.tool_use_id === 'string' ? b.tool_use_id : undefined,
|
|
13
|
+
input: b.input === undefined ? undefined : stringifySafe(b.input),
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/** 入参还原:尝试 JSON.parse 回对象,失败(或非 object)包 {_raw}(tool_use.input 必须是 object) */
|
|
18
|
+
function parseToolInput(raw) {
|
|
19
|
+
const s = raw ?? '';
|
|
20
|
+
try {
|
|
21
|
+
const parsed = JSON.parse(s);
|
|
22
|
+
return typeof parsed === 'object' && parsed !== null ? parsed : { _raw: s };
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return { _raw: s };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** trace 的 Usage(camelCase)→ Anthropic.Message 的 usage(snake_case),缺省补零 */
|
|
29
|
+
function toMessageUsage(u) {
|
|
30
|
+
return {
|
|
31
|
+
input_tokens: u?.inputTokens ?? 0,
|
|
32
|
+
output_tokens: u?.outputTokens ?? 0,
|
|
33
|
+
cache_read_input_tokens: u?.cacheReadTokens ?? 0,
|
|
34
|
+
cache_creation_input_tokens: u?.cacheCreationTokens ?? 0,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** 取 messages 里最后一条非空 user 文本(string 或 text 块拼接);没有则 null */
|
|
38
|
+
function lastUserText(messages) {
|
|
39
|
+
if (!messages)
|
|
40
|
+
return null;
|
|
41
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
42
|
+
const m = messages[i];
|
|
43
|
+
if (m.role !== 'user')
|
|
44
|
+
continue;
|
|
45
|
+
const text = typeof m.content === 'string'
|
|
46
|
+
? m.content
|
|
47
|
+
: m.content
|
|
48
|
+
.filter((b) => b.type === 'text')
|
|
49
|
+
.map((b) => b.text)
|
|
50
|
+
.join('\n');
|
|
51
|
+
if (text.trim())
|
|
52
|
+
return text;
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 生成一个可粘贴进 eval 文件的用例字面量骨架(TS 源码字符串)。
|
|
58
|
+
*
|
|
59
|
+
* 产出是**纯 JS 语法的表达式**(无 TS 类型标注)—— 于是可以被 `new Function` 直接
|
|
60
|
+
* eval 做「生成物可解析」验证,也可以原样粘进 .ts 文件。所有嵌入值一律走
|
|
61
|
+
* JSON.stringify(入参里可能有反引号 / `${`,不能让它们击穿生成物语法)。
|
|
62
|
+
*/
|
|
63
|
+
export function harvestEvalCase(input) {
|
|
64
|
+
const { trace } = input;
|
|
65
|
+
const name = input.name ?? `harvest-${trace.traceId}`;
|
|
66
|
+
// 只取直属 run 根的 llm.turn(子 agent 的嵌套回合挂在 capability span 下,不走主循环脚本)
|
|
67
|
+
const mainTurns = trace.spans
|
|
68
|
+
.filter((s) => s.kind === 'llm.turn' && s.parentSpanId === trace.rootSpanId)
|
|
69
|
+
.sort((a, b) => a.startedAt - b.startedAt);
|
|
70
|
+
const nestedCount = trace.spans.filter((s) => s.kind === 'llm.turn' && s.parentSpanId !== trace.rootSpanId).length;
|
|
71
|
+
// 每回合 → 一个 assistant 消息:占位 text + 按 tool.input 事件重建的 tool_use 块
|
|
72
|
+
let tuSeq = 0;
|
|
73
|
+
const steps = mainTurns.map((turn, i) => {
|
|
74
|
+
const inputs = toolInputsOf(turn);
|
|
75
|
+
const content = [
|
|
76
|
+
{ type: 'text', text: ASSISTANT_TEXT_PLACEHOLDER },
|
|
77
|
+
];
|
|
78
|
+
for (const e of inputs) {
|
|
79
|
+
content.push({
|
|
80
|
+
type: 'tool_use',
|
|
81
|
+
id: e.toolUseId ?? `harvest_tu_${++tuSeq}`,
|
|
82
|
+
name: e.tool,
|
|
83
|
+
input: parseToolInput(e.input),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
id: `harvest_m_${i + 1}`,
|
|
88
|
+
model: turn.name,
|
|
89
|
+
stop_reason: inputs.length > 0 ? 'tool_use' : 'end_turn',
|
|
90
|
+
usage: toMessageUsage(turn.usage),
|
|
91
|
+
content,
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
const toolSeq = mainTurns.flatMap((t) => toolInputsOf(t).map((e) => e.tool));
|
|
95
|
+
const userText = lastUserText(input.messages);
|
|
96
|
+
const head = [
|
|
97
|
+
`// ┄┄ harvest 用例骨架:${name}(trace ${trace.traceId}${input.source ? `,来源 ${input.source}` : ''})┄┄`,
|
|
98
|
+
'// ⚠️ 脚手架,不是成品 —— 人工核对后再进 CI:',
|
|
99
|
+
'// · trace 不记 assistant 文本(llm.turn 只记 usage/事件),脚本里的 text 块是占位;',
|
|
100
|
+
];
|
|
101
|
+
if (nestedCount > 0) {
|
|
102
|
+
head.push(`// · 只含主循环 ${mainTurns.length} 个回合;${nestedCount} 个子 agent 嵌套回合已略去`, '// (嵌套回合不走主循环脚本,scriptedClient 驱动不了它们;要覆盖子 agent 请单独写 eval);');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
head.push(`// · 含主循环全部 ${mainTurns.length} 个回合(无子 agent 嵌套回合);`);
|
|
106
|
+
}
|
|
107
|
+
head.push('// · EvalCase 没有 expect 字段:下面的 expect 是草稿,粘贴时把它搬进', '// defineEval({ expect })。其中的工具序列是从原 trace 抄录的「实际轨迹」——', '// 发生过 ≠ 应该发生,核对过再留作断言。');
|
|
108
|
+
const body = ['{', ` name: ${JSON.stringify(name)},`];
|
|
109
|
+
if (userText === null) {
|
|
110
|
+
body.push(' // ⚠️ 未提供原始输入(TaskRecord 的 spec.messages)—— input 是占位,请人工补写:', ` input: '[harvest] 原始输入未知,请人工补写',`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
body.push(` input: ${JSON.stringify(userText)},`);
|
|
114
|
+
}
|
|
115
|
+
if (steps.length === 0) {
|
|
116
|
+
body.push(' // ⚠️ trace 里没有主循环 llm.turn —— 脚本为空,请人工补写:');
|
|
117
|
+
body.push(' client: scriptedClient([]),');
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
body.push(' client: scriptedClient([');
|
|
121
|
+
body.push(steps
|
|
122
|
+
.map((s) => JSON.stringify(s, null, 2)
|
|
123
|
+
.split('\n')
|
|
124
|
+
.map((l) => ` ${l}`)
|
|
125
|
+
.join('\n'))
|
|
126
|
+
.join(',\n'));
|
|
127
|
+
body.push(' ]),');
|
|
128
|
+
}
|
|
129
|
+
body.push(' expect: (result, { trace }) => {', ' // 主循环实际调用过的工具名序列(直属 run 根的 llm.turn 上的 tool.input 事件)', ' const tools = trace.spans', " .filter((s) => s.kind === 'llm.turn' && s.parentSpanId === trace.rootSpanId)", ' .sort((a, b) => a.startedAt - b.startedAt)', ' .flatMap((s) =>', " s.events.filter((e) => e.name === 'tool.input').map((e) => (e.body || {}).tool),", ' );', ` assert.deepEqual(tools, ${JSON.stringify(toolSeq)});`, ' },', '}');
|
|
130
|
+
return `${head.join('\n')}\n${body.join('\n')}\n`;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=harvest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harvest.js","sourceRoot":"","sources":["../../src/eval/harvest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripted.js","sourceRoot":"","sources":["../../src/eval/scripted.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO;QACL,QAAQ,EAAE;YACR,MAAM,CAAC,MAAe;gBACpB,MAAM,QAAQ,GAAmC,EAAE,CAAC;gBACpD,OAAO;oBACL,EAAE,CAAC,KAAa,EAAE,EAA2B;wBAC3C,IAAI,KAAK,KAAK,MAAM;4BAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,CAAC,YAAY;wBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACvB,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,IAAI,CACnE,CAAC;wBACJ,CAAC;wBACD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,UAAU;4BAChD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BACd,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scripted.js","sourceRoot":"","sources":["../../src/eval/scripted.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO;QACL,QAAQ,EAAE;YACR,MAAM,CAAC,MAAe;gBACpB,MAAM,QAAQ,GAAmC,EAAE,CAAC;gBACpD,OAAO;oBACL,EAAE,CAAC,KAAa,EAAE,EAA2B;wBAC3C,IAAI,KAAK,KAAK,MAAM;4BAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,CAAC,YAAY;wBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACvB,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,IAAI,CACnE,CAAC;wBACJ,CAAC;wBACD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,UAAU;4BAChD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BACd,CAAC,CAAC,IAAI,CAAC,CAAuB,CAAC;wBACjC,6CAA6C;wBAC7C,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAGxC,EAAE,CAAC;4BACH,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gCACxC,KAAK,MAAM,CAAC,IAAI,QAAQ;oCAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC1C,CAAC;wBACH,CAAC;wBACD,MAAM,EAAE,CAAC;wBACT,OAAO,OAAO,CAAC;oBACjB,CAAC;iBACF,CAAC;YACJ,CAAC;SACF;KACa,CAAC;AACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export declare const AGENTIA_VERSION = "0.
|
|
2
|
-
export type { Trace, Span, SpanEvent, SpanError, SpanId, SpanKind, SpanStatus, TraceId, TraceSink, CapabilityType, Usage, } from './core/trace.js';
|
|
1
|
+
export declare const AGENTIA_VERSION = "0.6.0";
|
|
2
|
+
export type { Trace, Span, SpanEvent, SpanError, SpanId, SpanKind, SpanStatus, TraceId, TraceSink, CapabilityType, Usage, Score, } from './core/trace.js';
|
|
3
|
+
export { attachScore } from './core/trace.js';
|
|
3
4
|
export type { AgentTool, JsonSchema, ModelClient, RecorderBackend, SchemaInput, SchemaType, ToolRunContext, TypedSchema, } from './core/tool.js';
|
|
4
5
|
export { validateJsonSchema } from './core/schema.js';
|
|
5
6
|
export { combineSignals } from './core/abort.js';
|
|
7
|
+
export type { CacheControl, ContentBlock, ContentBlockParam, ImageBlockParam, Message, MessageParam, MessageUsage, Role, TextBlock, TextBlockParam, ThinkingBlock, ToolParam, ToolResultBlockParam, ToolUseBlock, ToolUseBlockParam, } from './core/message.js';
|
|
6
8
|
export { runAgent, resolveDefaultModel } from './engine/loop.js';
|
|
7
9
|
export { TraceRecorder } from './engine/tracer.js';
|
|
8
10
|
export { classifyError, isAbortError } from './engine/errors.js';
|
|
@@ -73,6 +75,10 @@ export type { RedisLike, RedisSetOptions, RedisTaskStoreOptions } from './store/
|
|
|
73
75
|
export type { MaybePromise } from './store/store.js';
|
|
74
76
|
export { traceToMessages } from './engine/replay.js';
|
|
75
77
|
export type { ReplayOptions } from './engine/replay.js';
|
|
78
|
+
export { forkMessages } from './engine/replay.js';
|
|
79
|
+
export type { ForkReplayOptions } from './engine/replay.js';
|
|
80
|
+
export { diffTraces } from './engine/trace-diff.js';
|
|
81
|
+
export type { DiffEntry, SpanDiff, TraceDiff, TraceDiffOptions } from './engine/trace-diff.js';
|
|
76
82
|
export { mcpTools, MCP_DEFAULT_TIMEOUT_MS } from './integrations/mcp.js';
|
|
77
83
|
export type { McpClientLike, McpToolInfo, McpToolsOptions } from './integrations/mcp.js';
|
|
78
84
|
export { metricsSink, DEFAULT_BUCKETS } from './integrations/metrics.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export const AGENTIA_VERSION = '0.
|
|
1
|
+
export const AGENTIA_VERSION = '0.6.0';
|
|
2
|
+
export { attachScore } from './core/trace.js';
|
|
2
3
|
export { validateJsonSchema } from './core/schema.js';
|
|
3
4
|
export { combineSignals } from './core/abort.js';
|
|
4
5
|
// engine:运行时内核
|
|
@@ -49,6 +50,8 @@ export { InMemoryMemoryStore } from './runtime/memory.js';
|
|
|
49
50
|
export { InMemorySessionStore } from './runtime/session.js';
|
|
50
51
|
export { RedisTaskStore } from './store/redisStore.js';
|
|
51
52
|
export { traceToMessages } from './engine/replay.js';
|
|
53
|
+
export { forkMessages } from './engine/replay.js';
|
|
54
|
+
export { diffTraces } from './engine/trace-diff.js';
|
|
52
55
|
// integrations:MCP 桥(D1)—— duck-typed,框架零依赖;连接器在独立包 @migor/mcp
|
|
53
56
|
export { mcpTools, MCP_DEFAULT_TIMEOUT_MS } from './integrations/mcp.js';
|
|
54
57
|
// integrations:指标(D3 → E2/E3/E4/E5)—— 满足 TraceSink 即可接入,能力零新出口
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +1,57 @@
|
|
|
1
1
|
import type { ModelClient } from '../core/tool.js';
|
|
2
2
|
/**
|
|
3
|
-
* Agentia —— 默认 ModelClient:Anthropic Messages API
|
|
3
|
+
* Agentia —— 默认 ModelClient:Anthropic Messages API(手写 fetch + SSE,不再包装厂商 SDK)。
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* 引擎(`engine/loop.ts`)只经由此处取默认 client。使用者自定义只传
|
|
6
|
+
* `apiKey` / `baseURL`(或环境变量 `ANTHROPIC_API_KEY` / `ANTHROPIC_BASE_URL`),
|
|
7
|
+
* **不必接触厂商 SDK**。工程形态与 `integrations/openai.ts` 同款:手写 fetch、
|
|
8
|
+
* 逐行读 SSE、按分片组装成 `Message`。
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* 只动这一个文件,引擎与公共契约都不变。
|
|
10
|
+
* signal 直接进 fetch(这正是 2026-09-14 那个 bug 的根治 —— 当时 SDK 只在
|
|
11
|
+
* RequestOptions 里认 signal,放 body 里会被静默丢弃,在飞 run 中止失效、
|
|
12
|
+
* 超时后继续烧 token;实测对照见 docs/spec.md §10 的 2026-09-14 ③)。
|
|
12
13
|
*
|
|
13
|
-
*
|
|
14
|
+
* 重试语义与 SDK 缺省对齐(maxRetries=2:408 / 409 / 429 / 5xx / 连接错误,
|
|
15
|
+
* 指数退避,尊重 `retry-after` 响应头)。引擎层另有一层重试兜底
|
|
16
|
+
* (`engine/retry.ts`),两层关系与 SDK 时代一致。
|
|
14
17
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* 里认**。把 signal 放 body 里会被 SDK **静默丢弃** ⇒ 调用方无法中止在飞请求。
|
|
18
|
-
* 真端点实测(`scripts/e2e-live.ts` 步骤 ⑤):
|
|
19
|
-
*
|
|
20
|
-
* | signal 位置 | abort 后的实测结果 |
|
|
21
|
-
* |---|---|
|
|
22
|
-
* | body 内(旧实现) | 收到 **599 个分片后仍跑完**,1.4s 才结束 —— 中止被吞 |
|
|
23
|
-
* | RequestOptions(现实现) | 2 个分片即断,**1ms** 内以 `Request was aborted.` 收场 |
|
|
24
|
-
*
|
|
25
|
-
* 这不只是「少个功能」:`transport/async.ts` 的 `runTimeoutMs` 对外承诺「到点真中止、
|
|
26
|
-
* token 不再继续烧」,靠的就是这个 signal。旧实现下超时的 run 会在后台**继续烧 token**
|
|
27
|
-
* 直到模型自己说完。`integrations/openai.ts` 是手写 fetch,本来就转发 signal(无此问题)。
|
|
18
|
+
* 兼容端点(如 DeepSeek 的 Anthropic 兼容端点)换 baseURL 即可;非官方端点的
|
|
19
|
+
* 兼容性靠调用方保证,本实现不发明额外的鉴权形态。
|
|
28
20
|
*/
|
|
29
21
|
export interface AnthropicClientOptions {
|
|
30
22
|
/** 缺省读环境变量 `ANTHROPIC_API_KEY` */
|
|
31
23
|
apiKey?: string;
|
|
32
|
-
/** 缺省读环境变量 `ANTHROPIC_BASE_URL`(兼容端点 / 网关) */
|
|
24
|
+
/** 缺省读环境变量 `ANTHROPIC_BASE_URL`,再缺省 `https://api.anthropic.com`(兼容端点 / 网关) */
|
|
33
25
|
baseURL?: string;
|
|
34
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* 单次请求的重试次数(不含首次尝试;408 / 409 / 429 / 5xx / 连接错误)。缺省 2,与 SDK 缺省一致。
|
|
28
|
+
* 引擎层另有外层重试(`RunAgentOptions.retry`),两层叠加最多
|
|
29
|
+
* `(1 + maxRetries) × maxAttempts` 次请求 —— 建议二选一调。
|
|
30
|
+
*/
|
|
31
|
+
maxRetries?: number;
|
|
32
|
+
/**
|
|
33
|
+
* 单次请求超时(毫秒)。缺省不给(中止由引擎的 signal 管,见 `ModelClient` 契约);
|
|
34
|
+
* 给了就用超时信号与 params.signal 合成(任一触发即中止)。超时按连接错误处理(可重试)。
|
|
35
|
+
*/
|
|
36
|
+
timeout?: number;
|
|
37
|
+
/**
|
|
38
|
+
* 历史遗留:SDK 时代其余键原样透传给 SDK 构造参数;自研化后**不再消费**,
|
|
39
|
+
* 保留索引签名只为旧代码编译不炸。多余键静默忽略。
|
|
40
|
+
* 此处的索引签名是**有意**的 —— 与 `core/message.ts` 兜底成员「绝不加索引签名」
|
|
41
|
+
* 方向相反但场景不同:那是会被赋值/收窄的公共消息类型(带索引签名会让 SDK 的
|
|
42
|
+
* interface 块类型赋不进来),这里是构造参数对象,不存在被赋值侧的
|
|
43
|
+
* assignability 问题。别照着一边去改另一边。
|
|
44
|
+
*/
|
|
35
45
|
[key: string]: unknown;
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* 白盒探查 SDK 内部不现实,但这一步的输入/输出可以钉死(见 `tests/integrations/anthropic.test.ts`)。
|
|
48
|
+
* Anthropic API 错误:非 2xx 响应(读响应体截断进 message)或 200 流内嵌 error 事件。
|
|
49
|
+
* 带数值 `status` —— `engine/errors.ts` 的鸭子类型分类靠它(429 → rate_limit、
|
|
50
|
+
* 5xx → server、其余 4xx → api)。
|
|
42
51
|
*/
|
|
43
|
-
export declare
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
options: {
|
|
49
|
-
signal?: AbortSignal;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
/** 创建默认 ModelClient(Anthropic)。不传则完全走 SDK 的默认凭据解析。 */
|
|
52
|
+
export declare class AnthropicApiError extends Error {
|
|
53
|
+
readonly status: number;
|
|
54
|
+
constructor(status: number, message: string);
|
|
55
|
+
}
|
|
56
|
+
/** 创建默认 ModelClient(Anthropic)。不传则完全走环境变量 + 官方端点。 */
|
|
53
57
|
export declare function createAnthropicClient(options?: AnthropicClientOptions): ModelClient;
|