Failed tool calls are marked as succeeded (isError is always false)
维护者通常 1 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 80/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- typescript
- 领域
- ai, backend-api-design
调研方向
从 agent-service/src/agent/texera-agent.ts 中的 onStepFinish 开始,然后阅读 agent-service/src/agent/tools/tools-utility.ts 中的 createErrorResult,以确认错误输出格式。检查工具结果如何记录并显示在轮次历史中;当错误结果被记录为失败,且复现结果显示下一轮中的工具调用失败时,即为完成。
由索引模型根据 Issue 内容生成。
描述
What happened?
When a tool call fails, the agent still marks it as succeeded.
In agent-service/src/agent/texera-agent.ts, onStepFinish sets:
isError: !!(tr.output as any)?.error,
But the tools return errors as a plain string, from createErrorResult in tools/tools-utility.ts:
export function createErrorResult(error: string): string {
return `[ERROR] ${error}`;
}
A string has no .error field, so isError is always false. Then the turn history shows every call as - <tool> (succeeded).
Example on main: addOperator and modifyOperator both returned [ERROR] Source operator "op7" not found. Both were saved with isError: false, and the next turn showed - addOperator (succeeded) and - modifyOperator (succeeded). Together with #9115, the agent gets no sign at all that the call failed.
Expected: isError should be true when the tool returns an error, for example when the output starts with [ERROR].
Screenshots
Step 1, tool call: the result starts with [ERROR].

Step 3, what the agent was given: the same call shows as - addOperator (succeeded).

How to reproduce?
- Open an empty workflow, create an agent, and send:
Add a Limit operator that keeps 10 rows, and connect its input to the existing operator op7. - Click "Export ReAct steps as JSON". Step 1's
toolResults[0].outputstarts with[ERROR], butisErrorisfalse. Step 2's input shows- addOperator (succeeded).
Version/Branch
1.4.0-incubating-SNAPSHOT (main)
Commit Hash (Optional)
57faa6b
What browsers are you seeing the problem on?
Chrome
Relevant log output
agent-service/src/agent/texera-agent.ts onStepFinish: isError: !!(tr.output as any)?.error
agent-service/src/agent/tools/tools-utility.ts:30 createErrorResult returns a string
- 主要语言
- Scala
- 星标
- 328
- 派生
- 201
- 平均合并
- 3 天 14 小时
- 30 天内合并 PR
- 165
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/texera 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
Disabled tools can still be called by the agent可能已有人在做 @shaynhornik 于 10 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 79/100
apache/texera#9122 · 4 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
Agent does not see tool errors in its history, so it repeats the same failing call可能已有人在做 @shaynhornik 于 3 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
apache/texera#9119 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
enhancement good first issue help wanted
难度 2/5 1-3 小时 新手友好度 90/100
维护者通常 1 天内回复
-
bug minor
难度 1/5 1 小时以内 新手友好度 82/100
propensive/soundness#2418 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 70/100
scylladb/scylla-migrator#432 ·
维护者通常 1 天内回复
-
requires-triage
难度 2/5 1-3 小时 新手友好度 78/100
apache/datafusion-comet#7479 ·
维护者通常 2 天内回复
-
30-minutes algorithm any-language codewars dart easy elixir hackerrank hacktoberfest haskell help wanted interview-prep julia leetcode lua open-source r scala students zig
难度 2/5 1-3 小时 新手友好度 68/100
Huerte/algo-solutions-python#163 ·
维护者通常 1 天内回复