@ag-ui/a2ui-中相软件
用于流出A2UI表面和生成回收活动的中相器件.
可选的兄弟呼唤混淆
现有消费者不需要改变配置。 默认情况下, 中间软件 使所有世代包装者名称的所有权,包括 自定义名称:重试和最终成功或失败替换一个包装活性.
有些适配器会给双胞胎工具 分别调用 parentMessageId 数值。 消息
ID 识别助理消息,而不是父工具的调用,所以这些调用不能是
与筑巢物有可靠的区别 如果你的适配器这样做,你可以
选择更严格的关联, 列出您的世代包装 :
import { A2UIMiddleware } from "@ag-ui/a2ui-middleware";
const middleware = new A2UIMiddleware({
a2uiGenerationToolNames: ["generate_a2ui", "create_dashboard"],
});
包含您代理机使用的每个外代包装, 包括自定义
适配器 toolName 数值。 这些不是内在渲染工具
a2uiToolNames。带有明确的列表,带有明确、非空信ID的电话
保持独立,除非前一个工具是列出的包装。 这样就可以了
兄弟姐妹的仪表板渲染和飞行工具的结果保留了单独的活性.
使用 a2uiGenerationToolNames: [] 如果你的经纪人没有一代的包装.
选择此选项会保留遗留的热度; 空列表选择更严格 与没有已知的包装纸有关。 选入时, 省略的包装名可以 导致其重复活动以获得单独的活动,同时留下失败的尝试 成功实现。 此选入模式下没有内置的包装列表 .
世系限制
- 共享非空父信件的呼叫 ID 在两种模式中仍然是兄弟姐妹 .
- 没有这个选择,有区别的兄弟姐妹 仍然会被误认为是窝巢 调用和压制有效的输出。 这是现有的默认行为 .
- 即便有这种选择,有区别的兄弟姐妹也参与其中,例如:
generate_a2ui和直接的render_a2ui仍然可以不正确地合并. - 缺少或空信件ID在两种模式中都保留了heuristic的嵌入. 同时代的包装纸也可以与最新的 候选人而不是实际父母.
无矛盾的自动关联要求适配器提供父工具调用
祖先或一贯的兄弟姐妹信息身份. 工具参数或
TOOL_CALL_END (结束争吵流)可靠地证明了筑巢.
自动工具补全
当这个中间器件为当前运行中的渲染调用提供结果时,它会继续下游的代理以这个结果和原调用ID. UI的活动和结果停留在一个公共运行中. 其他未解决的前端呼叫,中断,取消,出错则停止续作. 新的渲染链以十发为限;超过此限度后会断流. 历史通话不再执行.
失败的中间软件结果 metadata["ag-ui:tool-result"].error. 字符串标记(包括空字符串)在不改变结果有效载荷的情况下,通过客户端历史保存出错状态. Claude SDK 恢复在没有明确工具信息时读取此标记 error 已存在.