Llm.call: def of bend-kit-llm@0.13.0.1 Import: import bend-kit-llm@0.13.0.1/llm.bend as Llm Lines 362-369 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=362&end_line=369 import Base import bend-kit-hairpin@0.13.0.1/hairpin.bend as Hairpin import bend-kit-retry@0.2.0.0/retry.bend as Retry import bend-kit-http@0.38.1.1/http.bend as Http import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes # POST body to the API with n retries on a budget of n + 1; the 2xx body comes back. # These POSTs are safe to repeat, so Hairpin retries them as again judges. def call(c: Client, body: Bytes.Bytes) -> IO(Client & Result<&1, &1, Err, Bytes.Bytes>): Client{+api, +base, +headers, +ms, +n, h} = c do IO>: y : Hairpin.Client & Retry.Budget <- Hairpin.budget(Hairpin.retry(h, n)) x : Hairpin.Client & Retry.Budget & Result<&1, &1, Hairpin.Err, Http.Res> <- call.budget(api, base, headers, body, y) return call.done(api, base, headers, ms, n, x) Uses (16): 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=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result 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-hairpin@0.13.0.1/hairpin.bend&name=Client https://jend.leeeet.dev/definition.txt?path=bend-kit-hairpin@0.13.0.1/hairpin.bend&name=Err https://jend.leeeet.dev/definition.txt?path=bend-kit-hairpin@0.13.0.1/hairpin.bend&name=budget https://jend.leeeet.dev/definition.txt?path=bend-kit-hairpin@0.13.0.1/hairpin.bend&name=retry https://jend.leeeet.dev/definition.txt?path=bend-kit-http@0.38.2.0/http.bend&name=Res https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/llm.bend&name=Client 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=call.budget https://jend.leeeet.dev/definition.txt?path=bend-kit-llm@0.13.0.1/llm.bend&name=call.done https://jend.leeeet.dev/definition.txt?path=bend-kit-retry@0.3.0.0/retry.bend&name=Budget