The model's read tools, generated from the read subset of the engine daemon's op
table (vaelii.agents.engine/ops) and dispatched back through it. No tool
writes. See docs/llm.md § Tools.
The model's read tools, generated from the read subset of the engine daemon's op table (`vaelii.agents.engine/ops`) and dispatched back through it. No tool writes. See docs/llm.md § Tools.
(call kb tname input)(call kb tname input {:keys [max-result-chars] :or {max-result-chars 4000}})Run one tool call against kb and return {:ok true :result "…"} or
{:ok false :error "…"} — the string a tool_result block carries back.
input is the provider's JSON object (string keys); nil reads as {}, and any other
non-map is refused. The longest signature the input fully satisfies decides the call;
an input key that signature does not take is refused, naming the shapes the op has.
A count over max-limit is refused. Never throws: a bad argument, an unknown tool or
a refusal from the KB comes back as {:ok false :error "…"}.
opts: :max-result-chars (default 4000) bounds the printed result.
Run one tool call against `kb` and return `{:ok true :result "…"}` or
`{:ok false :error "…"}` — the string a `tool_result` block carries back.
`input` is the provider's JSON object (string keys); nil reads as `{}`, and any other
non-map is refused. The longest signature the input fully satisfies decides the call;
an input key that signature does not take is refused, naming the shapes the op has.
A count over `max-limit` is refused. Never throws: a bad argument, an unknown tool or
a refusal from the KB comes back as `{:ok false :error "…"}`.
`opts`: `:max-result-chars` (default 4000) bounds the printed result.Reads whose argument names a path on the daemon's host, which read-ops subtracts:
:kb-diff's second side is a directory the daemon loads.
Reads whose argument names a path on the daemon's host, which `read-ops` subtracts: `:kb-diff`'s second side is a directory the daemon loads.
The largest count a tool call may ask of qualitative-scenarios' limit or of
find-terms' and describe's :limit: the engine realizes each answer whole before
the printer's bound applies. A larger count is refused :over-ceiling, and a
find-terms call naming none is given this one.
The largest count a tool call may ask of `qualitative-scenarios`' `limit` or of `find-terms`' and `describe`'s `:limit`: the engine realizes each answer whole before the printer's bound applies. A larger count is refused `:over-ceiling`, and a `find-terms` call naming none is given this one.
(op-of tname)The op keyword a tool name came from, or nil if it names no exposed read.
The op keyword a tool name came from, or nil if it names no exposed read.
(read-ops)The op keywords the model may call, sorted: eh/ops minus write-ops,
host-path-ops and unbounded-ops, keeping each op whose name resolves to a
non-variadic vaelii.core var. The daemon names the op for a ! fn without its !
(:retract for retract!), so such an op resolves to no var and is dropped.
The op keywords the model may call, sorted: `eh/ops` minus `write-ops`, `host-path-ops` and `unbounded-ops`, keeping each op whose name resolves to a non-variadic `vaelii.core` var. The daemon names the op for a `!` fn without its `!` (`:retract` for `retract!`), so such an op resolves to no var and is dropped.
(schema op)The tool schema for one op keyword.
The tool schema for one op keyword.
(schemas)(schemas {:keys [only exclude]})Every exposed read as a tool schema, in read-ops order. opts:
:only a set of op keywords to keep (default: all reads) :exclude a set of op keywords to drop
Every exposed read as a tool schema, in `read-ops` order. `opts`: :only a set of op keywords to keep (default: all reads) :exclude a set of op keywords to drop
(tool-name op)The tool name for an op keyword — :find-sentexes -> kb_find_sentexes,
:ask? -> kb_ask_p.
The tool name for an op keyword — `:find-sentexes` -> `kb_find_sentexes`, `:ask?` -> `kb_ask_p`.
Reads with no bound a tool call can carry, which read-ops subtracts. :handles and
:terms sort every handle or term in the KB into one vector before the printer's bound
applies, :explain-levels realizes every level in full under no clock, and
:kb-quality, :all-specified-violations, :all-functional-at-instant-violations and
:exposed-clashes audit the whole KB. :sentex-count, :term-count, :find-terms,
:escalate and the clock-bounded :kb-integrity answer the narrower questions.
Reads with no bound a tool call can carry, which `read-ops` subtracts. `:handles` and `:terms` sort every handle or term in the KB into one vector before the printer's bound applies, `:explain-levels` realizes every level in full under no clock, and `:kb-quality`, `:all-specified-violations`, `:all-functional-at-instant-violations` and `:exposed-clashes` audit the whole KB. `:sentex-count`, `:term-count`, `:find-terms`, `:escalate` and the clock-bounded `:kb-integrity` answer the narrower questions.
Every op in eh/ops that changes the KB or the process, which read-ops subtracts: the
daemon's own write set (eh/write-ops) and five ops the daemon does not file there.
:forward-chain stores what the rules derive, :abduce stores its hypotheses in a
scratch context and :abduce-discard drops that context, :preview holds the single
writer and advances the handle counter, and :clear-caches resets the process's
measurement state.
Every op in `eh/ops` that changes the KB or the process, which `read-ops` subtracts: the daemon's own write set (`eh/write-ops`) and five ops the daemon does not file there. `:forward-chain` stores what the rules derive, `:abduce` stores its hypotheses in a scratch context and `:abduce-discard` drops that context, `:preview` holds the single writer and advances the handle counter, and `:clear-caches` resets the process's measurement state.
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 |