Vue binding return type for useStream.
Reactive primitives follow Vue conventions:
Readonly<ShallowRef<T>> / ComputedRef<T>
so templates auto-unwrap via msg.value in <script setup>
and directly in templates. They are snapshots — never mutate.submit / stop / respond) are plain
functions — no refs involved.client / assistantId)
are exposed as plain values; if you need to swap the bound agent
or client, remount the composable.Promise that settles when the active thread's initial hydration
completes. Exposed so async setup() sites can
await stream.hydrationPromise to implement a Suspense-like
boundary.
v2 escape hatch — returns the bound ThreadStream.