Llm.event.loop: def of bend-kit-llm@0.13.0.1 Import: import bend-kit-llm@0.13.0.1/llm.bend as Llm Lines 545-567 of bend-kit-llm@0.13.0.1/llm.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-llm@0.13.0.1/llm.bend&start_line=545&end_line=567 import Base import bend-kit-llm@0.13.0.1/sse.bend as Sse import bend-kit-http@0.38.1.1/http.bend as Http import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # f: pieces left to read before the stream counts as stalled. def event.loop(f: Nat, st: Rn) -> IO(Http.Stream & Sse.Reader & Result<&1, &1, Err, Maybe<&1, Sse.Message>>): match f: case 0n: match st: case RnNext{h, r}: (rd, n) = r IO.pure(Http.Stream & Sse.Reader & Result<&1, &1, Err, Maybe<&1, Sse.Message>>, (h, rd, Fail{ErrReply{"too many pieces without an event"}})) case RnOut{h, rd, r}: IO.pure(Http.Stream & Sse.Reader & Result<&1, &1, Err, Maybe<&1, Sse.Message>>, (h, rd, r)) case 1n+g: match st: case RnNext{h, r}: (rd, n) = r match n: case Sse.Got{e}: IO.pure(Http.Stream & Sse.Reader & Result<&1, &1, Err, Maybe<&1, Sse.Message>>, (h, rd, Done{Some{e}})) case Sse.Want{}: do IO>>: x : Http.Stream & Result<&1, &1, Http.Err, Maybe<&1, Bytes.Bytes>> <- Http.stream.read(h) event.loop(g, event.read(rd, x)) case RnOut{h, rd, r}: IO.pure(Http.Stream & Sse.Reader & Result<&1, &1, Err, Maybe<&1, Sse.Message>>, (h, rd, r)) Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-http@0.38.2.0/http.bend&name=Err https://jend.leeeet.dev/definition.txt?path=bend-kit-http@0.38.2.0/http.bend&name=Stream https://jend.leeeet.dev/definition.txt?path=bend-kit-http@0.38.2.0/http.bend&name=stream.read https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/llm.bend&name=Err https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/llm.bend&name=Rn https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/llm.bend&name=event.read https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/sse.bend&name=Message https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/sse.bend&name=Next https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/sse.bend&name=Reader