Agent#stream returns a replayable StreamResult:
reasoning_stream, item_stream, or full_stream for other projections. Ruby consumes provider streaming synchronously and then exposes replayable sequences to additional consumers.
Item values are currently hashes rather than the TypeScript discriminated item union.