@migor/agentia 0.7.0 → 0.7.1
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 +136 -1
- package/README.md +1 -1
- package/dist/AGENTS.md +159 -16
- package/dist/container/container.d.ts +8 -1
- package/dist/container/container.js +8 -1
- package/dist/container/container.js.map +1 -1
- package/dist/core/run.d.ts +5 -1
- package/dist/core/timeout.d.ts +8 -0
- package/dist/core/timeout.js +14 -3
- package/dist/core/timeout.js.map +1 -1
- package/dist/core/tool.d.ts +64 -0
- package/dist/engine/budget.d.ts +17 -4
- package/dist/engine/budget.js +3 -3
- package/dist/engine/budget.js.map +1 -1
- package/dist/engine/loop.d.ts +7 -0
- package/dist/engine/loop.js +102 -6
- package/dist/engine/loop.js.map +1 -1
- package/dist/engine/spec.d.ts +18 -2
- package/dist/engine/spec.js.map +1 -1
- package/dist/engine/tracer.d.ts +11 -0
- package/dist/engine/tracer.js +25 -12
- package/dist/engine/tracer.js.map +1 -1
- package/dist/engine/turn.d.ts +25 -3
- package/dist/engine/turn.js +63 -4
- package/dist/engine/turn.js.map +1 -1
- package/dist/engine/types.d.ts +28 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/anthropic.js +28 -2
- package/dist/integrations/anthropic.js.map +1 -1
- package/dist/integrations/mcp.d.ts +9 -1
- package/dist/integrations/mcp.js +81 -19
- package/dist/integrations/mcp.js.map +1 -1
- package/dist/integrations/metrics.js +84 -86
- package/dist/integrations/metrics.js.map +1 -1
- package/dist/integrations/openai.js +21 -0
- package/dist/integrations/openai.js.map +1 -1
- package/dist/integrations/otlp.js +15 -6
- package/dist/integrations/otlp.js.map +1 -1
- package/dist/runtime/run.d.ts +6 -0
- package/dist/runtime/run.js +23 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/store/fsStore.d.ts +2 -1
- package/dist/store/fsStore.js +15 -4
- package/dist/store/fsStore.js.map +1 -1
- package/dist/store/sqliteStore.js +7 -5
- package/dist/store/sqliteStore.js.map +1 -1
- package/dist/store/store.d.ts +17 -1
- package/dist/store/store.js +3 -2
- package/dist/store/store.js.map +1 -1
- package/dist/toolkit/asset.d.ts +3 -2
- package/dist/toolkit/asset.js +11 -2
- package/dist/toolkit/asset.js.map +1 -1
- package/dist/toolkit/module.d.ts +3 -2
- package/dist/toolkit/module.js +3 -0
- package/dist/toolkit/module.js.map +1 -1
- package/dist/toolkit/skill.js +46 -8
- package/dist/toolkit/skill.js.map +1 -1
- package/dist/toolkit/subagent.js +26 -1
- package/dist/toolkit/subagent.js.map +1 -1
- package/dist/toolkit/tool.d.ts +6 -0
- package/dist/toolkit/tool.js +1 -0
- package/dist/toolkit/tool.js.map +1 -1
- package/dist/transport/async.d.ts +69 -1
- package/dist/transport/async.js +225 -10
- package/dist/transport/async.js.map +1 -1
- package/dist/transport/http.d.ts +5 -0
- package/dist/transport/http.js +74 -2
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/scheduler.js +33 -2
- package/dist/transport/scheduler.js.map +1 -1
- package/package.json +8 -4
package/dist/engine/turn.js
CHANGED
|
@@ -133,7 +133,7 @@ export async function checkTurnEntry(ctx, iteration) {
|
|
|
133
133
|
// 请求前拦住:不再发请求 = 不再花钱。与「模型自然收尾不改判」不冲突:自然收尾在
|
|
134
134
|
// 上一回合就 break 了,走不到这里。
|
|
135
135
|
if (ctx.budget) {
|
|
136
|
-
const over = ctx.budget.check(args.recorder.
|
|
136
|
+
const over = ctx.budget.check({ totalUsage: args.recorder.usage() });
|
|
137
137
|
if (over) {
|
|
138
138
|
return { stopReason: 'budget_exceeded', error: budgetError(args, over) };
|
|
139
139
|
}
|
|
@@ -228,7 +228,7 @@ export async function streamTurn(ctx) {
|
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
230
|
* 回合记账:usage 换算 + 成本估算(未定价记事件 + 回调)+ 关 llm.turn span + token 属性。
|
|
231
|
-
* 预算护栏依赖「记账完成后」的
|
|
231
|
+
* 预算护栏依赖「记账完成后」的 usage 累计,所以本函数必须先于任何 budget.check 调用。
|
|
232
232
|
*/
|
|
233
233
|
export function recordTurnUsage(ctx, turnId, message) {
|
|
234
234
|
const { args } = ctx;
|
|
@@ -334,9 +334,29 @@ export function resolveStopReason(message, maxTokens) {
|
|
|
334
334
|
* —— 执行工具:默认全并行,可由 maxToolConcurrency 收窄(C2);
|
|
335
335
|
* 单条 user 消息回全部 tool_result(抑制并行是反模式)——
|
|
336
336
|
* submit_result 校验通过会就地更新 ctx.typed / ctx.submitted(先到先得,见 executeOneTool)。
|
|
337
|
+
*
|
|
338
|
+
* 审批闸(HITL,**回合级全有或全无**):任何一个标了 `approval: 'required'` 的
|
|
339
|
+
* tool_use 在 `args.approvals` 里没有决定 ⇒ 整回合**一个工具都不执行**、不推任何
|
|
340
|
+
* tool_result(Anthropic 协议要求每个 tool_use 都有配对 tool_result —— 部分执行 +
|
|
341
|
+
* 部分挂起会产出协议上残缺的历史),记 `approval.requested` 事件后交 loop 挂起。
|
|
342
|
+
* 两类例外不参与审批:隐藏的 submit_result(不在 args.tools 里,是纯内部提交、
|
|
343
|
+
* 永不需审批)与未知工具(走既有 unknown_tool 路径)。
|
|
337
344
|
*/
|
|
338
345
|
export async function executeTurnTools(ctx, turnId, toolUses, overBudget) {
|
|
339
346
|
const { args } = ctx;
|
|
347
|
+
if (!overBudget) {
|
|
348
|
+
const pending = toolUses.filter((use) => {
|
|
349
|
+
const tool = args.tools.find((t) => t.name === use.name);
|
|
350
|
+
return tool?.approval === 'required' && args.approvals?.[use.id] === undefined;
|
|
351
|
+
});
|
|
352
|
+
if (pending.length > 0) {
|
|
353
|
+
args.recorder.event(turnId, 'approval.requested', {
|
|
354
|
+
tool_use_ids: pending.map((u) => u.id),
|
|
355
|
+
tools: pending.map((u) => u.name),
|
|
356
|
+
});
|
|
357
|
+
return { kind: 'suspended', pending: pending.map((u) => u.id) };
|
|
358
|
+
}
|
|
359
|
+
}
|
|
340
360
|
// 成本硬管控(C1):走得到这里说明循环还要继续(模型要求调工具)—— 超限就停,
|
|
341
361
|
// 连带不执行这批工具(避免超预算的 run 继续产生副作用)。已产出的文本保留。
|
|
342
362
|
// 例外:submit_result 是纯内部的结构化提交(零副作用、不触外部系统),超预算也照常
|
|
@@ -345,7 +365,8 @@ export async function executeTurnTools(ctx, turnId, toolUses, overBudget) {
|
|
|
345
365
|
const runnable = overBudget
|
|
346
366
|
? toolUses.filter((u) => args.resultSchema !== undefined && u.name === SUBMIT_RESULT)
|
|
347
367
|
: toolUses;
|
|
348
|
-
|
|
368
|
+
const results = await mapWithConcurrency(runnable, args.maxToolConcurrency ?? Number.POSITIVE_INFINITY, (use) => executeOneTool(ctx, turnId, use));
|
|
369
|
+
return { kind: 'executed', results };
|
|
349
370
|
}
|
|
350
371
|
/**
|
|
351
372
|
* 执行单个工具调用(含隐藏 submit_result 分支),产出该条的 tool_result 块。
|
|
@@ -354,6 +375,9 @@ export async function executeTurnTools(ctx, turnId, toolUses, overBudget) {
|
|
|
354
375
|
async function executeOneTool(ctx, turnId, use) {
|
|
355
376
|
const { args } = ctx;
|
|
356
377
|
const tool = args.tools.find((t) => t.name === use.name);
|
|
378
|
+
// HITL:需审批工具的决定(到达这里说明决定已在 —— 未决的整回合在
|
|
379
|
+
// executeTurnTools 的审批闸被拦下,不会走到单工具执行)。
|
|
380
|
+
const decision = tool?.approval === 'required' ? args.approvals?.[use.id] : undefined;
|
|
357
381
|
// 工具级时序(E1):起点在事件之前 —— durationMs 覆盖「入参校验 + 执行 + 超时等待」
|
|
358
382
|
// 的完整处理时长,是「哪一步慢」的可信基线。并行工具各记各的(tool_use_id 配对)。
|
|
359
383
|
const toolStartedAt = Date.now();
|
|
@@ -363,13 +387,35 @@ async function executeOneTool(ctx, turnId, use) {
|
|
|
363
387
|
tool_use_id: use.id,
|
|
364
388
|
input: limit(use.input, args.maxEventChars ?? DEFAULT_EVENT_CHARS),
|
|
365
389
|
});
|
|
390
|
+
// 审批决定的审计账(HITL):谁、什么时候、以什么理由批/拒,等审批等了多久。
|
|
391
|
+
// waitedMs 需要 requestedAt(挂起时刻,由宿主在挂起时回填)—— 手工直传
|
|
392
|
+
// approvals 而没有 requestedAt 时不记 waitedMs(不编造)。
|
|
393
|
+
if (decision) {
|
|
394
|
+
args.recorder.event(turnId, 'approval.decided', {
|
|
395
|
+
tool: use.name,
|
|
396
|
+
tool_use_id: use.id,
|
|
397
|
+
approved: decision.approved,
|
|
398
|
+
...(decision.decidedBy !== undefined ? { decidedBy: decision.decidedBy } : {}),
|
|
399
|
+
...(decision.reason !== undefined ? { reason: decision.reason } : {}),
|
|
400
|
+
...(decision.decidedAt !== undefined && decision.requestedAt !== undefined
|
|
401
|
+
? { waitedMs: Math.max(0, decision.decidedAt - decision.requestedAt) }
|
|
402
|
+
: {}),
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
// 超时「放弃等待」时的通知信号(见 ToolRunContext.abandoned):控制器随本次
|
|
406
|
+
// 调用创建、随调用消亡,只在 withTimeout 判超时的分支里 abort。
|
|
407
|
+
const abandonAc = new AbortController();
|
|
366
408
|
const toolCtx = {
|
|
367
409
|
client: args.client,
|
|
368
410
|
recorder: args.recorder,
|
|
369
411
|
parentSpanId: turnId,
|
|
412
|
+
abandoned: abandonAc.signal,
|
|
370
413
|
...(args.signal ? { signal: args.signal } : {}),
|
|
371
414
|
// 价格覆盖透传给嵌套能力(F1):否则子 agent 用同一模型会退化成"未定价"
|
|
372
415
|
...(args.priceOverrides ? { priceOverrides: args.priceOverrides } : {}),
|
|
416
|
+
// 宿主的未定价告警回调透传到嵌套循环(F2):否则子循环里模型不在价格表时
|
|
417
|
+
// 只有 usage.unpriced 事件,宿主的告警回调静默缺席
|
|
418
|
+
...(args.onUnpricedModel ? { onUnpricedModel: args.onUnpricedModel } : {}),
|
|
373
419
|
// 事件截断口径同样透传:调试期开了全文,子 agent 的工具事件不该还是被截断的
|
|
374
420
|
...(args.maxEventChars != null ? { maxEventChars: args.maxEventChars } : {}),
|
|
375
421
|
// 成本护栏(C1)同样透传:预算是整条 run(含各级子 agent)的口径,
|
|
@@ -379,10 +425,13 @@ async function executeOneTool(ctx, turnId, use) {
|
|
|
379
425
|
// 裁判权(2026-09-17):把本次的工具预算告诉工具自己 —— 带计时器的工具(MCP 桥)
|
|
380
426
|
// 据此交出裁判权,不再另开一个计时器判同一件事(否则同一事件会有两种账,见 spec §10 2026-09-17 ①)。
|
|
381
427
|
...(args.toolTimeoutMs != null ? { toolTimeoutMs: args.toolTimeoutMs } : {}),
|
|
428
|
+
// HITL:批准执行的决定带给工具体(审计 / 按 decidedBy 分级授权等)
|
|
429
|
+
...(decision !== undefined ? { approval: decision } : {}),
|
|
382
430
|
};
|
|
383
431
|
let ok = true;
|
|
384
432
|
let content = '';
|
|
385
|
-
// 失败归类(E1):只记「为什么没成」,不记栈 ——
|
|
433
|
+
// 失败归类(E1):只记「为什么没成」,不记栈 —— 观测看得清「哪个工具老超时」。
|
|
434
|
+
// 'denied'(HITL):审批被拒绝 —— 不是工具故障,是**人**的决定,单列一类账。
|
|
386
435
|
let errorKind;
|
|
387
436
|
if (args.resultSchema && use.name === SUBMIT_RESULT) {
|
|
388
437
|
// 隐藏提交工具:校验通过即携结果收尾(循环在 agentLoop 下方 break);
|
|
@@ -419,6 +468,13 @@ async function executeOneTool(ctx, turnId, use) {
|
|
|
419
468
|
errorKind = 'unknown_tool';
|
|
420
469
|
content = `unknown tool: ${use.name}`;
|
|
421
470
|
}
|
|
471
|
+
else if (decision && !decision.approved) {
|
|
472
|
+
// HITL 拒绝:不执行(副作用不发生),理由写进 tool_result 回给模型 ——
|
|
473
|
+
// 模型看得到「为什么被拒」,可自行换路(与「工具抛错不中断 run」同语义)。
|
|
474
|
+
ok = false;
|
|
475
|
+
errorKind = 'denied';
|
|
476
|
+
content = `审批被拒绝:${decision.reason ?? '未给出理由'}`;
|
|
477
|
+
}
|
|
422
478
|
else {
|
|
423
479
|
// 模型给的 input 先过 schema 校验:不合法直接回 is_error(含路径,
|
|
424
480
|
// 模型可自我修正),不进方法体 —— schema 是方法与模型间的运行时契约。
|
|
@@ -437,6 +493,9 @@ async function executeOneTool(ctx, turnId, use) {
|
|
|
437
493
|
// —— 与「工具抛错不中断 run」同语义,模型可自行换路。
|
|
438
494
|
const out = await withTimeout(Promise.resolve(tool.run(use.input, toolCtx)), args.toolTimeoutMs ?? 0);
|
|
439
495
|
if (out === TIMED_OUT) {
|
|
496
|
+
// 放弃等待 ≠ 取消:通知工具「没人等结果了」(@SubAgent/@Skill 靠它中止
|
|
497
|
+
// 子循环、立刻收尾 capability span;见 ToolRunContext.abandoned)
|
|
498
|
+
abandonAc.abort();
|
|
440
499
|
ok = false;
|
|
441
500
|
errorKind = 'timeout';
|
|
442
501
|
content = `error(timeout): 工具执行超过 ${args.toolTimeoutMs}ms`;
|
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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CacheControl, MessageParam } from '../core/message.js';
|
|
2
|
-
import type { AgentTool, JsonSchema, ModelClient, ModelPricing } from '../core/tool.js';
|
|
2
|
+
import type { AgentTool, ApprovalDecision, JsonSchema, ModelClient, ModelPricing } from '../core/tool.js';
|
|
3
3
|
import type { SpanError, Trace, TraceContext } from '../core/trace.js';
|
|
4
4
|
import type { RetryOptions } from './retry.js';
|
|
5
5
|
/**
|
|
@@ -20,6 +20,14 @@ export type AgentStopReason =
|
|
|
20
20
|
| 'budget_exceeded'
|
|
21
21
|
/** stop_reason=tool_use 但回合里没有可执行块(畸形响应),防死循环直接停 */
|
|
22
22
|
| 'tool_use_no_blocks'
|
|
23
|
+
/**
|
|
24
|
+
* 人工审批挂起(HITL):回合里有需审批的 tool_use 还没有决定 ⇒ 整回合一个工具
|
|
25
|
+
* 都没执行(协议要求每个 tool_use 配对 tool_result,见 turn.ts 的审批闸),
|
|
26
|
+
* run 带着完整消息历史(`suspendedMessages`)挂起等待。
|
|
27
|
+
* **不是成功也不是失败**:`isSuccessStopReason` 不含它;trace 状态记 ok
|
|
28
|
+
* (挂起段本身执行无误,「等人」不该被看板算成失败);宿主据此落库而非收尾。
|
|
29
|
+
*/
|
|
30
|
+
| 'awaiting_approval'
|
|
23
31
|
/** 模型/网关返回了本框架未识别的 stop_reason:保留文本,但按失败收尾 */
|
|
24
32
|
| 'unknown_stop_reason' | 'error';
|
|
25
33
|
/**
|
|
@@ -195,6 +203,13 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
|
|
|
195
203
|
* 走 `AgentApp.run` / `executeRun` 时给了 `session` 就自动带上,不用手填。
|
|
196
204
|
*/
|
|
197
205
|
sessionId?: string;
|
|
206
|
+
/**
|
|
207
|
+
* 人工审批决定(HITL):以 **tool_use_id** 为键。恢复挂起的 run 时由宿主
|
|
208
|
+
* (`AsyncRunner.approve` → 恢复段)传入;手工续跑「assistant 结尾带 tool_use」
|
|
209
|
+
* 的消息历史时也可直接给。菜单里标了 `approval: 'required'` 的工具,
|
|
210
|
+
* 其 tool_use 在这里**没有**决定 ⇒ 该回合整体挂起(见 AgentTool.approval)。
|
|
211
|
+
*/
|
|
212
|
+
approvals?: Record<string, ApprovalDecision>;
|
|
198
213
|
}
|
|
199
214
|
export interface AgentRunResult<T = unknown> {
|
|
200
215
|
/** 本次 run 的完整调用树 + usage(traceId == runId) */
|
|
@@ -210,4 +225,16 @@ export interface AgentRunResult<T = unknown> {
|
|
|
210
225
|
* 类型由 resultSchema 推导(见 RunAgentOptions.resultSchema 的泛型说明)。
|
|
211
226
|
*/
|
|
212
227
|
typed: T | undefined;
|
|
228
|
+
/**
|
|
229
|
+
* HITL 挂起时的**完整消息历史**(末尾是含未决 tool_use 的那条 assistant 消息);
|
|
230
|
+
* 未挂起为 undefined(**字段在场**,与 `error` 同一条结果记录约定)。
|
|
231
|
+
* 恢复 = 把它连同 `approvals` 决定一起喂回 `runAgent` / `app.run`(引擎见到
|
|
232
|
+
* 「assistant 结尾带 tool_use」的输入会先解决这些 tool_use 再调模型)。
|
|
233
|
+
*/
|
|
234
|
+
suspendedMessages: MessageParam[] | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* HITL 挂起时**待决的 tool_use_id 列表**(本次挂起缺决定的那些);未挂起为 undefined。
|
|
237
|
+
* 宿主(`AsyncRunner`)据此持久化「该批哪些 id」,HTTP 轮询方据此知道该审批什么。
|
|
238
|
+
*/
|
|
239
|
+
pendingApprovals: string[] | undefined;
|
|
213
240
|
}
|
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":"AA+CA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,eAAe,CAAC;AAC7D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const AGENTIA_VERSION = "0.7.
|
|
1
|
+
export declare const AGENTIA_VERSION = "0.7.1";
|
|
2
2
|
export type { Trace, Span, SpanEvent, SpanError, SpanId, SpanKind, SpanLink, SpanStatus, TraceId, TraceContext, TraceSink, CapabilityType, Usage, Score, } from './core/trace.js';
|
|
3
3
|
export { attachScore, parseTraceparent } from './core/trace.js';
|
|
4
|
-
export type { AgentTool, JsonSchema, ModelClient, RecorderBackend, SchemaInput, SchemaType, ToolRunContext, TypedSchema, } from './core/tool.js';
|
|
4
|
+
export type { AgentTool, ApprovalDecision, JsonSchema, ModelClient, RecorderBackend, SchemaInput, SchemaType, ToolRunContext, TypedSchema, } from './core/tool.js';
|
|
5
5
|
export { validateJsonSchema } from './core/schema.js';
|
|
6
6
|
export { combineSignals } from './core/abort.js';
|
|
7
7
|
export type { CacheControl, ContentBlock, ContentBlockParam, ImageBlockParam, Message, MessageParam, MessageUsage, Role, TextBlock, TextBlockParam, ThinkingBlock, ToolParam, ToolResultBlockParam, ToolUseBlock, ToolUseBlockParam, } from './core/message.js';
|
package/dist/index.js
CHANGED
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;AAmBvC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,23 @@ export function createAnthropicClient(options = {}) {
|
|
|
43
43
|
// 内容协商(与 openai.ts 同款):个别兼容端点会忽略 stream:true 直接回整份 JSON
|
|
44
44
|
const ctype = res.headers.get('content-type') ?? '';
|
|
45
45
|
if (!ctype.includes('event-stream')) {
|
|
46
|
-
const
|
|
46
|
+
const body = (await res.json());
|
|
47
|
+
// 回落路径不能强转了事:「HTTP 200 裹错误」在非流式形态下同样存在
|
|
48
|
+
// (流式路径由下方 readAnthropicStream 的 error 事件分支处理)。此前这里
|
|
49
|
+
// 直接强转 Message:body 是 {"error":{...}} 时 content 为 undefined,
|
|
50
|
+
// textOf 的 .filter() 抛裸 TypeError → classifyError 判 unknown/不可重试
|
|
51
|
+
// —— 同一事件走流式路径却是带 status 的可重试错误,两本账。
|
|
52
|
+
if (body.error) {
|
|
53
|
+
throw new AnthropicApiError(statusOfStreamError(body.error.type), `Anthropic 非流式响应携带错误(${body.error.type ?? 'unknown'}):` +
|
|
54
|
+
(body.error.message ?? JSON.stringify(body).slice(0, 300)));
|
|
55
|
+
}
|
|
56
|
+
// content 不是数组 = 200 但没给可用补全(网关截断 / 兼容端点 bug):
|
|
57
|
+
// 与流式「未见 message_start」同款,按上游故障抛出而不是让 textOf 炸 TypeError。
|
|
58
|
+
// stop_reason 缺失**不拦**:引擎 turn.ts 有 unknown_stop_reason 兜底按失败收尾。
|
|
59
|
+
if (!Array.isArray(body.content)) {
|
|
60
|
+
throw new AnthropicApiError(500, 'Anthropic 非流式响应缺 content 数组;响应无可用补全,按上游故障处理');
|
|
61
|
+
}
|
|
62
|
+
const message = body;
|
|
47
63
|
// 分隔符 `''`:回落的原文本来就是一整段,拼回去要与流式累积的文本逐字一致
|
|
48
64
|
const full = textOf(message, '');
|
|
49
65
|
if (full)
|
|
@@ -242,6 +258,14 @@ async function readAnthropicStream(body, fallbackModel, textCallbacks) {
|
|
|
242
258
|
name: typeof cb.name === 'string' ? cb.name : '',
|
|
243
259
|
partialJson: '',
|
|
244
260
|
};
|
|
261
|
+
// tool_use 块若内联对象形态 input(兼容端点形态),收下做初值 ——
|
|
262
|
+
// 官方端点恒给 `{}` 且后续 input_json_delta 会覆盖(delta 非空以 delta 为准)
|
|
263
|
+
if (type === 'tool_use' &&
|
|
264
|
+
cb.input &&
|
|
265
|
+
typeof cb.input === 'object' &&
|
|
266
|
+
!Array.isArray(cb.input)) {
|
|
267
|
+
acc.inlineInput = cb.input;
|
|
268
|
+
}
|
|
245
269
|
// redacted_thinking(数据在 `data` 字段)与一切未知块型:原始块对象
|
|
246
270
|
// 原样携带 —— 不丢成空文本块,finalMessage 原样透出
|
|
247
271
|
if (type !== 'text' && type !== 'tool_use' && type !== 'thinking') {
|
|
@@ -323,7 +347,9 @@ async function readAnthropicStream(body, fallbackModel, textCallbacks) {
|
|
|
323
347
|
type: 'tool_use',
|
|
324
348
|
id: b.id,
|
|
325
349
|
name: b.name,
|
|
326
|
-
|
|
350
|
+
// delta 分片非空以分片为准(官方形态:start 内联 `{}` + input_json_delta 累积);
|
|
351
|
+
// 一个 delta 都没来时回落到 start 事件内联的 input(兼容端点形态),再缺省 {}
|
|
352
|
+
input: b.partialJson ? parseToolInput(b.partialJson) : (b.inlineInput ?? {}),
|
|
327
353
|
});
|
|
328
354
|
}
|
|
329
355
|
else if (b.type === 'thinking') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/integrations/anthropic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/integrations/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,15 @@ export interface McpToolInfo {
|
|
|
40
40
|
*/
|
|
41
41
|
export interface McpClientLike {
|
|
42
42
|
listTools(): Promise<McpToolInfo[]>;
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* `opts.abandoned`:裁判(引擎 `toolTimeoutMs` / 桥兜底超时)**放弃等待**的通知信号。
|
|
45
|
+
* 放弃 ≠ 取消 —— 但连接器应借此清掉这次调用的簿记(stdio 的 pending 条目、
|
|
46
|
+
* HTTP 的在飞 fetch),否则「server 活着但不回包」时每超时一次就泄漏一条。
|
|
47
|
+
* 只实现两个参数的旧客户端依然兼容(可选参数,鸭子类型)。
|
|
48
|
+
*/
|
|
49
|
+
callTool(name: string, args: Record<string, unknown>, opts?: {
|
|
50
|
+
abandoned?: AbortSignal;
|
|
51
|
+
}): Promise<unknown>;
|
|
44
52
|
}
|
|
45
53
|
export interface McpToolsOptions {
|
|
46
54
|
/**
|
package/dist/integrations/mcp.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { TIMED_OUT, TimeoutError, withTimeout } from '../core/timeout.js';
|
|
3
|
+
import { combineSignals, releaseCombinedSignal } from '../core/abort.js';
|
|
3
4
|
/** 缺省超时:MCP server 可能去连外部系统,60s 是「明显卡死」与「慢但正常」的分界 */
|
|
4
5
|
export const MCP_DEFAULT_TIMEOUT_MS = 60_000;
|
|
5
6
|
/**
|
|
@@ -113,9 +114,21 @@ export async function mcpTools(client, opts = {}) {
|
|
|
113
114
|
// 与「一次调用只有一个裁判」相反:说了不限就该不限。
|
|
114
115
|
const engineBudget = ctx?.toolTimeoutMs;
|
|
115
116
|
if (engineBudget != null) {
|
|
116
|
-
|
|
117
|
+
// 引擎是裁判:它的 toolTimeoutMs 到点会 fire ctx.abandoned —— 连接器据此
|
|
118
|
+
// 清掉这次调用的簿记(stdio 的 pending 条目),不留下等不到回收的残骸。
|
|
119
|
+
return client.callTool(original, args, ctx?.abandoned !== undefined ? { abandoned: ctx.abandoned } : undefined);
|
|
120
|
+
}
|
|
121
|
+
// 桥兜底裁判(脱离引擎单用 / 引擎没设超时):到点除了放弃等待,还要通知连接器
|
|
122
|
+
// 清理簿记 —— 与引擎路径共用同一个 `abandoned` 缝(`core/abort.ts` 合成)。
|
|
123
|
+
const ac = new AbortController();
|
|
124
|
+
const abandoned = ctx?.abandoned !== undefined ? combineSignals(ctx.abandoned, ac.signal) : ac.signal;
|
|
125
|
+
try {
|
|
126
|
+
return await withDeadline(client.callTool(original, args, { abandoned }), timeoutMs, original);
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
ac.abort(); // 无论成败都摘掉:成功时条目已被响应清掉,超时/出错时靠这次 abort 清
|
|
130
|
+
releaseCombinedSignal(abandoned); // 摘除挂在 ctx.abandoned 上的监听器
|
|
117
131
|
}
|
|
118
|
-
return withDeadline(client.callTool(original, args), timeoutMs, original);
|
|
119
132
|
},
|
|
120
133
|
});
|
|
121
134
|
}
|
|
@@ -286,7 +299,7 @@ export function createStdioMcpConnector(cmd, opts = {}) {
|
|
|
286
299
|
const p = ensureProc();
|
|
287
300
|
p.stdin?.write(`${JSON.stringify(payload)}\n`);
|
|
288
301
|
};
|
|
289
|
-
const send = (method, params) => {
|
|
302
|
+
const send = (method, params, abandoned) => {
|
|
290
303
|
if (closed)
|
|
291
304
|
return Promise.reject(new Error('MCP 连接器已 close —— 请重新创建一个'));
|
|
292
305
|
if (fatal)
|
|
@@ -301,6 +314,19 @@ export function createStdioMcpConnector(cmd, opts = {}) {
|
|
|
301
314
|
return;
|
|
302
315
|
}
|
|
303
316
|
pending.set(id, { resolve, reject });
|
|
317
|
+
// 裁判放弃等待 ≠ 条目自动回收:超时的调用(引擎 toolTimeoutMs 或桥兜底)只是
|
|
318
|
+
// 不再 await,pending 里的 {resolve,reject} 会留到「server 终于回包 / 进程死 /
|
|
319
|
+
// close」—— 对「活着但不回包」的 server 就是无界泄漏。裁判表过态就删条目:
|
|
320
|
+
// 之后回包到了也没人等(:441 的 pending.get 落空即忽略,语义安全)。
|
|
321
|
+
if (abandoned !== undefined) {
|
|
322
|
+
const drop = () => {
|
|
323
|
+
pending.delete(id);
|
|
324
|
+
};
|
|
325
|
+
if (abandoned.aborted)
|
|
326
|
+
drop();
|
|
327
|
+
else
|
|
328
|
+
abandoned.addEventListener('abort', drop, { once: true });
|
|
329
|
+
}
|
|
304
330
|
write({ jsonrpc: '2.0', id, method, params });
|
|
305
331
|
});
|
|
306
332
|
};
|
|
@@ -316,9 +342,9 @@ export function createStdioMcpConnector(cmd, opts = {}) {
|
|
|
316
342
|
})();
|
|
317
343
|
return ready;
|
|
318
344
|
};
|
|
319
|
-
const request = async (method, params) => {
|
|
345
|
+
const request = async (method, params, abandoned) => {
|
|
320
346
|
await ensureReady();
|
|
321
|
-
return send(method, params);
|
|
347
|
+
return send(method, params, abandoned);
|
|
322
348
|
};
|
|
323
349
|
const listTools = async () => {
|
|
324
350
|
const r = await guard(request('tools/list', {}), 'tools/list');
|
|
@@ -334,8 +360,8 @@ export function createStdioMcpConnector(cmd, opts = {}) {
|
|
|
334
360
|
}
|
|
335
361
|
return listed;
|
|
336
362
|
};
|
|
337
|
-
const callTool = async (name, args) => {
|
|
338
|
-
const r = await request('tools/call', { name, arguments: args });
|
|
363
|
+
const callTool = async (name, args, callOpts) => {
|
|
364
|
+
const r = await request('tools/call', { name, arguments: args }, callOpts?.abandoned);
|
|
339
365
|
// 承重:协议层 isError 只有连接器看得见(见函数头第 3 条)
|
|
340
366
|
if (typeof r === 'object' && r !== null && r.isError) {
|
|
341
367
|
throw new Error(`MCP 工具 ${name} 返回 isError: ${brief(r.content)}`);
|
|
@@ -410,6 +436,7 @@ export function createStreamableHttpMcpConnector(url, opts = {}) {
|
|
|
410
436
|
let negotiated = requestedVersion;
|
|
411
437
|
let closed = false;
|
|
412
438
|
let ready = null;
|
|
439
|
+
let reinit = null;
|
|
413
440
|
let nextId = 1;
|
|
414
441
|
const guard = (p, label) => withDeadline(p, timeoutMs, label);
|
|
415
442
|
/** HTTP 层失败:带上数值 `status`,让 `classifyError` 能按状态分流 */
|
|
@@ -443,7 +470,9 @@ export function createStreamableHttpMcpConnector(url, opts = {}) {
|
|
|
443
470
|
};
|
|
444
471
|
/** 非 SSE 报文(单条 JSON-RPC)→ 取 result;SSE 里可能有别的通知帧,只取与 `id` 配对的 */
|
|
445
472
|
const pickResult = (msg, id, method) => {
|
|
446
|
-
|
|
473
|
+
// id 必须**等值**配对(与 SSE 分支同款):只验「是带 id 的响应」会把别的请求的
|
|
474
|
+
// 结果当本次的返回(代理串包/通知帧),静默错值比报错难查得多。
|
|
475
|
+
if (!isJsonRpcResponse(msg) || msg.id !== id) {
|
|
447
476
|
throw new Error(`MCP ${method}:响应里没有 id 为 ${id} 的 JSON-RPC 报文`);
|
|
448
477
|
}
|
|
449
478
|
return unwrap(msg, method);
|
|
@@ -498,20 +527,41 @@ export function createStreamableHttpMcpConnector(url, opts = {}) {
|
|
|
498
527
|
* **只重试一次**:第二次再 404 说明对面不是「会话过期」而是别的问题,直接抛(不循环)。
|
|
499
528
|
* 自愈本身是静默的,但可通过 `onSessionExpired` 观测 —— 否则它和「静默失效」没区别。
|
|
500
529
|
*/
|
|
530
|
+
/**
|
|
531
|
+
* 会话过期自愈的互斥:并发请求同时吃到 404 时**共享同一次重握手**。
|
|
532
|
+
* 没有这层时,两个并发调用各自执行 `ready = null`(第二个会把第一个刚建的握手
|
|
533
|
+
* Promise 抹掉)⇒ 双 initialize 并发跑、`sessionId` 互相覆盖,重试带着被覆盖的
|
|
534
|
+
* 会话再 404 且不再重试。`onSessionExpired` 仍按 404 逐次记(每个 404 都是事实),
|
|
535
|
+
* 共享的只是「重握手」这个动作。
|
|
536
|
+
*/
|
|
537
|
+
const reinitialize = () => {
|
|
538
|
+
if (reinit)
|
|
539
|
+
return reinit;
|
|
540
|
+
reinit = (async () => {
|
|
541
|
+
sessionId = null;
|
|
542
|
+
ready = null; // 下一次 ensureReady 会新建会话
|
|
543
|
+
await ensureReady();
|
|
544
|
+
})().finally(() => {
|
|
545
|
+
reinit = null;
|
|
546
|
+
});
|
|
547
|
+
return reinit;
|
|
548
|
+
};
|
|
501
549
|
const rpc = async (method, params, withVersion, allowReinit = true) => {
|
|
502
550
|
const id = nextId++;
|
|
503
551
|
const res = await post({ jsonrpc: '2.0', id, method, params }, { withVersion });
|
|
504
552
|
if (res.status === 404 && sessionId !== null && allowReinit) {
|
|
505
553
|
await readText(res); // 排空,别把连接晾着
|
|
506
554
|
opts.onSessionExpired?.();
|
|
507
|
-
|
|
508
|
-
ready = null; // 下一次 ensureReady 会新建会话
|
|
509
|
-
await ensureReady();
|
|
555
|
+
await reinitialize();
|
|
510
556
|
return rpc(method, params, withVersion, false);
|
|
511
557
|
}
|
|
512
558
|
if (!res.ok)
|
|
513
559
|
throw httpError(res.status, method, await readText(res));
|
|
514
|
-
|
|
560
|
+
// 计时裁判权在调用方(initialize / notifications / tools/list 都在调用点自带
|
|
561
|
+
// guard —— 它们是装配期路径、没有别的裁判);`tools/call` 不在此起计时器:
|
|
562
|
+
// 它的裁判是引擎的 `toolTimeoutMs`(spec §10 2026-09-17 ① 超时单源化)——
|
|
563
|
+
// 再包一层 guard 就是双计时器,同一事件两本账(stdio 侧就没有这层)。
|
|
564
|
+
return readResult(res, id, method);
|
|
515
565
|
};
|
|
516
566
|
const ensureReady = () => {
|
|
517
567
|
if (ready)
|
|
@@ -566,15 +616,27 @@ export function createStreamableHttpMcpConnector(url, opts = {}) {
|
|
|
566
616
|
if (sid === null)
|
|
567
617
|
return;
|
|
568
618
|
try {
|
|
569
|
-
// 尽力终止会话(MCP 约定的显式关闭);server 不认这个方法也不该让 close()
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
619
|
+
// 尽力终止会话(MCP 约定的显式关闭);server 不认这个方法也不该让 close() 抛。
|
|
620
|
+
//
|
|
621
|
+
// ⚠️ **必须过 `guard`**:这里此前直接 `await fetchImpl(...)`。下面的 catch 只兜得住
|
|
622
|
+
// **抛错**,兜不住**挂死** —— server 接受连接后不回(半开 / 卡在代理后面),
|
|
623
|
+
// `close()` 就永久挂住,而调用方(宿主停机路径)会一直等它。**挂住比失败更糟**,
|
|
624
|
+
// 与「best-effort、不抛错」的承诺相悖。fetch 与排空**一起**进 guard:
|
|
625
|
+
// 只护住响应头、body 照样能卡(`readText` 读的是 body)。
|
|
626
|
+
await guard((async () => {
|
|
627
|
+
const res = await fetchImpl(url, {
|
|
628
|
+
method: 'DELETE',
|
|
629
|
+
headers: {
|
|
630
|
+
...baseHeaders,
|
|
631
|
+
'mcp-session-id': sid,
|
|
632
|
+
'mcp-protocol-version': negotiated,
|
|
633
|
+
},
|
|
634
|
+
});
|
|
635
|
+
await readText(res);
|
|
636
|
+
})(), 'close');
|
|
575
637
|
}
|
|
576
638
|
catch {
|
|
577
|
-
/*
|
|
639
|
+
/* 关闭是尽力而为(超时也走这里 —— guard 抛 TimeoutError) */
|
|
578
640
|
}
|
|
579
641
|
},
|
|
580
642
|
};
|