SIGN IN SIGN UP

fix(tool): external tool execution now correctly produces suspended result (#2071)

## Summary

- `ToolExecutor.executeCore` and `ReflectiveFunctionTool.callAsync` used
`Mono.error(ToolSuspendException)` for external tools
(`@Tool(externalTool=true)` and `SchemaOnlyTool`), but the downstream
`onErrorResume(ToolSuspendException.class)` handler in
`executeWithInfrastructure` never received the error because
`executeCore` short-circuits before reaching that path
- Changed both sites to return
`Mono.just(ToolResultBlock.suspended(...))` so the suspended result
propagates correctly through the reactive chain
- Added two tests covering both `SchemaOnlyTool` and
`@Tool(externalTool=true)` execution paths
K
Ken Liu committed
7dad6e5ca17b26c12aa3567b872f2a4596c43b5f
Parent: 325b7fe
Committed by GitHub <noreply@github.com> on 7/9/2026, 8:07:30 AM