The generic per-harness projection: a harness brick is a manifest whose :addon/init-ns is this namespace, :addon/init-fn "addon-ctor", and whose :addon/config names the host vessel addon:
{:olympus/host "hive.deepseek"} required
:olympus/presenter-id default: the host id
:olympus/addon-id default: "hive.olympus." + host id
without its "hive." prefix
:olympus/target-resolver optional qualified symbol of
(fn [config] -> hive-vessel Target | nil);
eval-port-target is the built-in one for
hosts reached through an eval fn
(:olympus/eval-fn, :olympus/dialect)
with :addon/dependencies #{"hive.olympus" <host>}.
On initialize! it registers one presenter on hive.olympus. The presenter
resolves its delivery route at EVERY delivery by folding default-routes
(first route that resolves wins):
:configured-resolver :olympus/target-resolver -> Target, lowered through hive-vessel's standard registry :host-dispatch the host's :vessel/dispatch! hook :host-target the host's :vessel/target hook (a Target or a 0-arity fn returning one), lowered through hive-vessel's standard registry
hive-vessel is resolved lazily; nothing here compile-depends on it. A delivery with no route, or whose result is {:error ...}, throws, which hive.olympus records as a degraded presenter and retries.
The generic per-harness projection: a harness brick is a manifest whose
:addon/init-ns is this namespace, :addon/init-fn "addon-ctor", and whose
:addon/config names the host vessel addon:
{:olympus/host "hive.deepseek"} required
:olympus/presenter-id default: the host id
:olympus/addon-id default: "hive.olympus." + host id
without its "hive." prefix
:olympus/target-resolver optional qualified symbol of
(fn [config] -> hive-vessel Target | nil);
`eval-port-target` is the built-in one for
hosts reached through an eval fn
(:olympus/eval-fn, :olympus/dialect)
with :addon/dependencies #{"hive.olympus" <host>}.
On initialize! it registers one presenter on hive.olympus. The presenter
resolves its delivery route at EVERY delivery by folding `default-routes`
(first route that resolves wins):
:configured-resolver :olympus/target-resolver -> Target, lowered through
hive-vessel's standard registry
:host-dispatch the host's :vessel/dispatch! hook
:host-target the host's :vessel/target hook (a Target or a 0-arity
fn returning one), lowered through hive-vessel's
standard registry
hive-vessel is resolved lazily; nothing here compile-depends on it. A
delivery with no route, or whose result is {:error ...}, throws, which
hive.olympus records as a degraded presenter and retries.(addon-ctor config)Pure constructor resolved from a harness manifest.
Pure constructor resolved from a harness manifest.
Route precedence: an explicit resolver, then the host's own dispatch, then the host's bare target.
Route precedence: an explicit resolver, then the host's own dispatch, then the host's bare target.
(eval-port-target config)A :olympus/target-resolver for hosts reached through an eval port rather than vessel hooks. Reads :olympus/eval-fn (qualified symbol of (fn [payload] -> result)), :olympus/dialect (a hive-vessel dialect keyword) and optional :olympus/vessel-id. Returns a hive-vessel Target, or nil when the eval fn does not resolve. A result map carrying :error throws.
A :olympus/target-resolver for hosts reached through an eval port rather than vessel hooks. Reads :olympus/eval-fn (qualified symbol of (fn [payload] -> result)), :olympus/dialect (a hive-vessel dialect keyword) and optional :olympus/vessel-id. Returns a hive-vessel Target, or nil when the eval fn does not resolve. A result map carrying :error throws.
(harness-addon-id host-id)Addon id for the harness projecting Olympus into HOST-ID.
Addon id for the harness projecting Olympus into HOST-ID.
(resolve-route route ctx)(fn [ops] -> result) when this route can deliver for CTX, else nil. CTX is {:config .. :host-hooks {..} :resolve (fn [qualified-sym] -> value | nil)}.
(fn [ops] -> result) when this route can deliver for CTX, else nil. CTX is
{:config .. :host-hooks {..} :resolve (fn [qualified-sym] -> value | nil)}.(route-id route)Keyword naming the route.
Keyword naming the route.
(presenter-target config last-route)(presenter-target config last-route routes resolve)The presenter target (fn [ops]) for CONFIG. Each call resolves the host and a route afresh, records the route used in LAST-ROUTE (an atom), and throws when no route resolves or the result is {:error ...}.
The presenter target (fn [ops]) for CONFIG. Each call resolves the host
and a route afresh, records the route used in LAST-ROUTE (an atom), and
throws when no route resolves or the result is {:error ...}.(select-route routes ctx){:route id :deliver fn} for the first of ROUTES resolving CTX, or nil.
{:route id :deliver fn} for the first of ROUTES resolving CTX, or nil.
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 |