L2 · the LLM boundary PORT — just the protocol + the call-record shape, with
ZERO engine deps (05, GD10). The engine never speaks HTTP; it asks an
LlmAdapter for the next assistant message. Request assembly lives in
adapter.request (L3); the impls in .sdk/.fake. The wall-clock deadline
is applied by run-step! (with-deadline), NOT here — so it covers every impl.
L2 · the LLM boundary PORT — just the protocol + the call-record shape, with ZERO engine deps (05, GD10). The engine never speaks HTTP; it asks an LlmAdapter for the next assistant message. Request assembly lives in `adapter.request` (L3); the impls in `.sdk`/`.fake`. The wall-clock deadline is applied by run-step! (with-deadline), NOT here — so it covers every impl.
(-complete adapter request opts)request → the per-step call record: {:text :finish-reason :usage :cost :model :provider :cache} opts: {:retry … :stream? bool :on-delta (fn [frag])}. Honest :unknown — absent usage/cost/cache are :unknown, never 0 (08).
request → the per-step call record:
{:text :finish-reason :usage :cost :model :provider :cache}
opts: {:retry … :stream? bool :on-delta (fn [frag])}. Honest :unknown —
absent usage/cost/cache are :unknown, never 0 (08).cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |