95908b4631
Replace the while(true) + for-await + try/catch pattern with: - Stream.fromAsyncIterable + Stream.runForEachWhile for event consumption - Recursive Effect for retry logic (preserves SessionRetry.delay backoff) - Effect.ensuring for cleanup guarantees - Effect.catch for error classification process() still returns Promise externally (via Effect.runPromise) so callers don't change. Event handling and cleanup logic unchanged.