SIGN IN SIGN UP

fix(tool): return suspended results for external tools (#1668)

## Description

Fixes #1582.

External tools were short-circuited with `Mono.error(new
ToolSuspendException())` before the executor's `ToolSuspendException`
conversion path, so batch execution could convert external tool calls
into generic error results.

This PR:

- Returns `ToolResultBlock.suspended(toolCall)` directly for external
tools in `ToolExecutor`
- Emits `RequireExternalExecutionEvent` when the agent event stream sees
suspended tool calls
- Updates external-tool Javadocs to describe the direct suspended-result
flow
- Adds executor and ReActAgent regressions for `TOOL_SUSPENDED`,
`RUNNING` state, and external execution events
S
skblue committed
dc7ca2a0a2e8bfd25aa60138b075a3a9c14a7e56
Parent: e0c7484
Committed by GitHub <noreply@github.com> on 8/7/2026, 9:46:55 AM