Liking cljdoc? Tell your friends :D

vaelii.agents.engine

The vaelii.host.* vars this repo reads, and the one namespace in vaelii.agents.* that reaches for them. vaelii.host.* is the engine's tooling tier, private and free to change, so a breaking change upstream is an edit here. Each var is the engine's own under the name the callers use.

The daemon's op tables (vaelii.host.serve): ops, kbless-ops, feed-ops and write-ops. vaelii.agents.tools generates the model's tool schemas from the read subset of ops and dispatches tool calls back through it, so a model's reads are the daemon's reads with no second copy.

vaelii.agents.mcp.* (the MCP server) reaches further than vaelii.agents.tools does: its write verbs (assert, unassert) have to reconstruct, ahead of a write, every predicate a sentence's assert would actually store — rule surfaces, ist nesting, except/exceptWhen peeling, forall desugaring, storage-context resolution — work vaelii.core does not expose a single call for. The vars below are that reach, one per engine fn the server calls outside vaelii.core: require-token!, api-token and public-bind? (vaelii.host.guard); register-cache (vaelii.impl.caches); read-forms and load-entries! (vaelii.impl.io.text); context? and literals (vaelii.impl.naming); ist-parts and storage-context (vaelii.impl.assert-entry); soft-priority-surface?, cardinality-surface?, minimize-surface?, split-exceptWhen, inner-rule and expand-rule (vaelii.impl.rules); free-vars, conjunction?, peel-exception-strength, forall?, desugar-forall-literal, defn-sentence?, rule-functor and sentex-handle (vaelii.impl.sentex); substitute and unify (vaelii.impl.resolution). None of this is vaelii.host.* or vaelii.impl.* surface this repo would propose keeping stable on its own account — every var here is a candidate for a vaelii.core read a write-verb author would otherwise have to duplicate (see this repo's README, "Reaching into the engine", and docs/mcp.md, "Engine reach", which proposes the vaelii.core entry point).

The `vaelii.host.*` vars this repo reads, and the one namespace in `vaelii.agents.*`
that reaches for them.  `vaelii.host.*` is the engine's tooling tier, private and free
to change, so a breaking change upstream is an edit here.  Each var is the engine's
own under the name the callers use.

The daemon's op tables (`vaelii.host.serve`): [[ops]], [[kbless-ops]], [[feed-ops]] and
[[write-ops]].
`vaelii.agents.tools` generates the model's tool schemas from the read subset of
[[ops]] and dispatches tool calls back through it, so a model's reads are the daemon's
reads with no second copy.

`vaelii.agents.mcp.*` (the MCP server) reaches further than `vaelii.agents.tools` does:
its write verbs (`assert`, `unassert`) have to reconstruct, ahead of a write, every
predicate a sentence's assert would actually store — rule surfaces, `ist` nesting,
`except`/`exceptWhen` peeling, `forall` desugaring, storage-context resolution — work
`vaelii.core` does not expose a single call for. The vars below are that reach, one
per engine fn the server calls outside `vaelii.core`:
[[require-token!]], [[api-token]] and [[public-bind?]] (`vaelii.host.guard`);
[[register-cache]] (`vaelii.impl.caches`); [[read-forms]] and [[load-entries!]]
(`vaelii.impl.io.text`); [[context?]] and [[literals]] (`vaelii.impl.naming`);
[[ist-parts]] and [[storage-context]] (`vaelii.impl.assert-entry`);
[[soft-priority-surface?]], [[cardinality-surface?]], [[minimize-surface?]],
[[split-exceptWhen]], [[inner-rule]] and [[expand-rule]] (`vaelii.impl.rules`);
[[free-vars]], [[conjunction?]], [[peel-exception-strength]], [[forall?]],
[[desugar-forall-literal]], [[defn-sentence?]], [[rule-functor]] and
[[sentex-handle]] (`vaelii.impl.sentex`); [[substitute]] and [[unify]]
(`vaelii.impl.resolution`). None of this is `vaelii.host.*` or `vaelii.impl.*`
surface this repo would propose keeping stable on its own account — every var here
is a candidate for a `vaelii.core` read a write-verb author would otherwise have to
duplicate (see this repo's README, "Reaching into the engine", and docs/mcp.md,
"Engine reach", which proposes the `vaelii.core` entry point).
raw docstring

api-tokenclj

vaelii.host.guard/api-token — the bearer token VAELII_API_TOKEN names, or nil.

`vaelii.host.guard/api-token` — the bearer token `VAELII_API_TOKEN` names, or nil.
sourceraw docstring

cardinality-surface?clj

vaelii.impl.rules/cardinality-surface? — true when a sentence is a cardinality wrapper, whose fourth element is the sentence it actually governs.

`vaelii.impl.rules/cardinality-surface?` — true when a sentence is a cardinality
wrapper, whose fourth element is the sentence it actually governs.
sourceraw docstring

conjunction?clj

vaelii.impl.sentex/conjunction? — true when a sentence is an (and …) form.

`vaelii.impl.sentex/conjunction?` — true when a sentence is an `(and …)` form.
sourceraw docstring

context?clj

vaelii.impl.naming/context? — true when a symbol names a context by vaelii's convention: a Cx… CapitalCamelCase symbol, or a reified context constant in the cx/ namespace.

`vaelii.impl.naming/context?` — true when a symbol names a context by vaelii's
convention: a `Cx…` CapitalCamelCase symbol, or a reified context constant in the
`cx/` namespace.
sourceraw docstring

defn-sentence?clj

vaelii.impl.sentex/defn-sentence? — true when a literal is a reifiable-function definition, whose condition is executable rather than ordinary metadata.

`vaelii.impl.sentex/defn-sentence?` — true when a literal is a reifiable-function
definition, whose condition is executable rather than ordinary metadata.
sourceraw docstring

desugar-forall-literalclj

vaelii.impl.sentex/desugar-forall-literal — a (forall …) literal rewritten to the plain sentence it quantifies over.

`vaelii.impl.sentex/desugar-forall-literal` — a `(forall …)` literal rewritten
to the plain sentence it quantifies over.
sourceraw docstring

expand-ruleclj

vaelii.impl.rules/expand-rule — every rule a sentence's exceptWhen-stripped form expands to, before inner-rule peels each one's wrapping.

`vaelii.impl.rules/expand-rule` — every rule a sentence's `exceptWhen`-stripped
form expands to, before `inner-rule` peels each one's wrapping.
sourceraw docstring

feed-opsclj

The daemon's change-feed operations, keyed by op keyword. None of them is in ops, so none of them is a model tool: a subscription holds daemon heap.

The daemon's change-feed operations, keyed by op keyword.  None of them is in [[ops]],
so none of them is a model tool: a subscription holds daemon heap.
sourceraw docstring

forall?clj

vaelii.impl.sentex/forall? — true when a literal is a (forall …) form.

`vaelii.impl.sentex/forall?` — true when a literal is a `(forall …)` form.
sourceraw docstring

free-varsclj

vaelii.impl.sentex/free-vars — the free (unbound) variables in a sentence or goal.

`vaelii.impl.sentex/free-vars` — the free (unbound) variables in a sentence or
goal.
sourceraw docstring

inner-ruleclj

vaelii.impl.rules/inner-rule — an expanded rule with its wrapping (priority, cardinality, minimize) peeled back to the plain (implies …) or fact it governs.

`vaelii.impl.rules/inner-rule` — an expanded rule with its wrapping (priority,
cardinality, minimize) peeled back to the plain `(implies …)` or fact it governs.
sourceraw docstring

ist-partsclj

vaelii.impl.assert-entry/ist-parts — [inner-context inner-sentence] when a sentence is wrapped in (ist context …), else nil.

`vaelii.impl.assert-entry/ist-parts` — `[inner-context inner-sentence]` when a
sentence is wrapped in `(ist context …)`, else nil.
sourceraw docstring

kbless-opsclj

The op keywords in ops whose vaelii.core fn takes no KB, so the first parameter of the var is an argument the caller sends rather than the KB the daemon supplies.

The op keywords in [[ops]] whose `vaelii.core` fn takes no KB, so the first parameter
of the var is an argument the caller sends rather than the KB the daemon supplies.
sourceraw docstring

literalsclj

vaelii.impl.naming/literals — the literal positions a rule-shaped sentence reads from, in the order a rule evaluates them. vaelii.agents.mcp.verbs walks these to find every predicate an assert would store, ahead of the write.

`vaelii.impl.naming/literals` — the literal positions a rule-shaped sentence
reads from, in the order a rule evaluates them.  `vaelii.agents.mcp.verbs` walks
these to find every predicate an `assert` would store, ahead of the write.
sourceraw docstring

load-entries!clj

vaelii.impl.io.text/load-entries! — asserts [form context] entries in one order-insensitive pass, retrying a form refused because what it rests on is further down; the same loader vaelii.core/load-text! and the starter use. vaelii.agents.mcp.overlay loads every overlay file's forms through it.

`vaelii.impl.io.text/load-entries!` — asserts `[form context]` entries in one
order-insensitive pass, retrying a form refused because what it rests on is
further down; the same loader `vaelii.core/load-text!` and the starter use.
`vaelii.agents.mcp.overlay` loads every overlay file's forms through it.
sourceraw docstring

minimize-surface?clj

vaelii.impl.rules/minimize-surface? — true when a sentence is a minimize wrapper, whose fourth element is the sentence it actually governs.

`vaelii.impl.rules/minimize-surface?` — true when a sentence is a minimize
wrapper, whose fourth element is the sentence it actually governs.
sourceraw docstring

opsclj

The daemon's reachable operations, {op-keyword (fn [kb args])}: the allowlisted, EDN-typed map of vaelii.core calls the browser and the daemon reach a KB through.

The daemon's reachable operations, `{op-keyword (fn [kb args])}`: the allowlisted,
EDN-typed map of `vaelii.core` calls the browser and the daemon reach a KB through.
sourceraw docstring

peel-exception-strengthclj

vaelii.impl.sentex/peel-exception-strength — [sentence strength]: a sentence with its leading exception-strength marker, if any, removed.

`vaelii.impl.sentex/peel-exception-strength` — `[sentence strength]`: a
sentence with its leading exception-strength marker, if any, removed.
sourceraw docstring

public-bind?clj

vaelii.host.guard/public-bind? — true when host is not loopback, so a bind there is reachable off-box and needs a token.

`vaelii.host.guard/public-bind?` — true when `host` is not loopback, so a bind
there is reachable off-box and needs a token.
sourceraw docstring

read-formsclj

vaelii.impl.io.text/read-forms — every top-level EDN form in a .clj knowledge file, or throws :unreadable with the line it opens on. The reader vaelii.agents.mcp.overlay uses for each overlay file, same as a starter's own.

`vaelii.impl.io.text/read-forms` — every top-level EDN form in a `.clj` knowledge
file, or throws `:unreadable` with the line it opens on.  The reader
`vaelii.agents.mcp.overlay` uses for each overlay file, same as a starter's own.
sourceraw docstring

register-cacheclj

vaelii.impl.caches/register-cache — registers one bounded-state entry with the daemon's cache census. vaelii.agents.mcp.server registers the MCP request body-limit as a configuration entry, not a cache, so the census accounts for it.

`vaelii.impl.caches/register-cache` — registers one bounded-state entry with the
daemon's cache census.  `vaelii.agents.mcp.server` registers the MCP request
body-limit as a configuration entry, not a cache, so the census accounts for it.
sourceraw docstring

require-token!clj

vaelii.host.guard/require-token! — throws :unauthorized when host is not loopback and token is nil. vaelii.agents.mcp.server calls this on the browser bind before any fork store opens, so a public host with no token refuses at startup rather than after.

`vaelii.host.guard/require-token!` — throws `:unauthorized` when `host` is not
loopback and `token` is nil.  `vaelii.agents.mcp.server` calls this on the browser
bind before any fork store opens, so a public host with no token refuses at
startup rather than after.
sourceraw docstring

rule-functorclj

vaelii.impl.sentex/rule-functor — the symbol (implies) a rule's normalized form is headed by.

`vaelii.impl.sentex/rule-functor` — the symbol (`implies`) a rule's normalized
form is headed by.
sourceraw docstring

sentex-handleclj

vaelii.impl.sentex/sentex-handle — the (sentexHandle h) term naming a stored sentex by its integer handle, the argument an except takes to withdraw it.

`vaelii.impl.sentex/sentex-handle` — the `(sentexHandle h)` term naming a stored
sentex by its integer handle, the argument an `except` takes to withdraw it.
sourceraw docstring

soft-priority-surface?clj

vaelii.impl.rules/soft-priority-surface? — true when a sentence is a soft-priority wrapper, whose third element is the sentence it actually governs.

`vaelii.impl.rules/soft-priority-surface?` — true when a sentence is a
soft-priority wrapper, whose third element is the sentence it actually governs.
sourceraw docstring

split-exceptWhenclj

vaelii.impl.rules/split-exceptWhen — [exceptions inner]: a sentence's exceptWhen clauses peeled from the sentence they qualify.

`vaelii.impl.rules/split-exceptWhen` — `[exceptions inner]`: a sentence's
`exceptWhen` clauses peeled from the sentence they qualify.
sourceraw docstring

storage-contextclj

vaelii.impl.assert-entry/storage-context — the context a rule's consequent (named by its functor) actually stores to, which the request's own context may not be: a decontextualized predicate's rule can store elsewhere.

`vaelii.impl.assert-entry/storage-context` — the context a rule's consequent
(named by its functor) actually stores to, which the request's own context may
not be: a decontextualized predicate's rule can store elsewhere.
sourceraw docstring

substituteclj

vaelii.impl.resolution/substitute — a sentence with a binding map's values substituted for its variables.

`vaelii.impl.resolution/substitute` — a sentence with a binding map's values
substituted for its variables.
sourceraw docstring

unifyclj

vaelii.impl.resolution/unify — bindings that unify two sentences, extending a given binding map, or nil when they cannot unify under it.

`vaelii.impl.resolution/unify` — bindings that unify two sentences, extending a
given binding map, or nil when they cannot unify under it.
sourceraw docstring

write-opsclj

The op keywords in ops the daemon files as writes: every op that stores, removes or annotates a sentex a request names, and :export.

The op keywords in [[ops]] the daemon files as writes: every op that stores, removes or
annotates a sentex a request names, and `:export`.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close