Sparse settings overlays shared by every gateway client.
Resolution is per key: global, canonical project, organizational group, session. Missing is inheritance, false is a value. Project writes use the existing local YAML overlay; group/session writes belong to their durable entities and cascade on deletion. Moving a session changes ancestors, not its overrides. New sessions and forks start without overrides. Provider administration and client preferences are not session settings. Resource availability is checked at invocation time; an already running external call is not cancelled by a settings edit.
Sparse settings overlays shared by every gateway client. Resolution is per key: global, canonical project, organizational group, session. Missing is inheritance, false is a value. Project writes use the existing local YAML overlay; group/session writes belong to their durable entities and cascade on deletion. Moving a session changes ancestors, not its overrides. New sessions and forks start without overrides. Provider administration and client preferences are not session settings. Resource availability is checked at invocation time; an already running external call is not cancelled by a settings edit.
(add-listener! f)Listen for a successful scoped write. Returns a detach function.
Listen for a successful scoped write. Returns a detach function.
(definitions db {:keys [scope root group-id] :as target} section)Resolve named definitions atomically per name, never merging credentials across scopes.
Resolve named definitions atomically per name, never merging credentials across scopes.
(edit-settings! db {:keys [scope target-id root] :as target} edit)Edit one owner atomically. edit validates inside the storage lock/transaction.
It receives the current store and returns section/name/value edits; nil inherits.
Edit one owner atomically. `edit` validates inside the storage lock/transaction. It receives the current store and returns section/name/value edits; nil inherits.
(engine-mode env ext)(engine-mode env ext live)Live Auto/On/Off mode, independent of the response snapshot. Pass a delay of
live-values when checking several extensions.
Live Auto/On/Off mode, independent of the response snapshot. Pass a delay of [[live-values]] when checking several extensions.
(engine-setting! ext)Register Auto/On/Off only for optional tool extensions, never infrastructure.
Register Auto/On/Off only for optional tool extensions, never infrastructure.
(inherited-definitions db {:keys [scope root] :as target} section)Named ancestor values after removing only the selected writable overlay.
Named ancestor values after removing only the selected writable overlay.
(inherited-layers db {:keys [scope root] :as target})Resolve ancestors without this target's writable overlay; authored YAML remains.
Resolve ancestors without this target's writable overlay; authored YAML remains.
(layers db {:keys [scope target-id root group-id]})Read ancestors afresh, including memberships and project configuration.
Read ancestors afresh, including memberships and project configuration.
(live-values env)The session values engine-mode and resource-enabled? read for env,
resolved once so a caller checking many extensions, skills or servers pays
for one resolution. Pass it as a delay: only a check that needs a session
value forces it. Nil outside a session, where both read the process-wide
settings.
The session values [[engine-mode]] and [[resource-enabled?]] read for `env`, resolved once so a caller checking many extensions, skills or servers pays for one resolution. Pass it as a `delay`: only a check that needs a session value forces it. Nil outside a session, where both read the process-wide settings.
(mark-overridden db owner rows session-id)Mark each row read at owner that a more specific scope decides for session
session-id, naming that scope and the value the session uses. A blank or
unknown session, or one outside the owner, such as another project's, marks nothing.
Mark each row read at `owner` that a more specific scope decides for session `session-id`, naming that scope and the value the session uses. A blank or unknown session, or one outside the owner, such as another project's, marks nothing.
(own-definitions db {:keys [scope target-id root]} section)Read only definitions written at this target, not inherited entries.
Read only definitions written at this target, not inherited entries.
(register-resource! kind resource-name)Expose availability in the same scoped catalog as ordinary settings.
Expose availability in the same scoped catalog as ordinary settings.
(resolve-layers specs layers scope overrides)Resolve each declared key independently and retain its last explicit source. Layers are ordered least-specific first. Illegal scope declarations in YAML do not gain power by bypassing an HTTP writer.
Resolve each declared key independently and retain its last explicit source. Layers are ordered least-specific first. Illegal scope declarations in YAML do not gain power by bypassing an HTTP writer.
(resource-enabled? env kind resource-name)(resource-enabled? env kind resource-name live)Live gate: saved names and cached handles cannot bypass a scoped disable.
Pass a delay of live-values when checking several resources.
Live gate: saved names and cached handles cannot bypass a scoped disable. Pass a delay of [[live-values]] when checking several resources.
(resource-id kind resource-name)Stable collision-resistant toggle id for a named skill, MCP server or extension.
Stable collision-resistant toggle id for a named skill, MCP server or extension.
(set-definition! db
{:keys [scope target-id root] :as target}
section
name
value)Persist one validated named definition; nil removes only this target's override.
Persist one validated named definition; nil removes only this target's override.
(set-setting! db target id action value)Write one eligible key, or inherit by deleting it. Validate before any write.
Write one eligible key, or inherit by deleting it. Validate before any write.
(settings db target)Effective, own and inherited values, with provenance and eligible scopes.
Effective, own and inherited values, with provenance and eligible scopes.
(target db scope target-id)Validate a read/write target; omitted scope means global, never current session.
Validate a read/write target; omitted scope means global, never current session.
(values db session-id)The session snapshot used by callbacks; does not mutate the global registry.
The session snapshot used by callbacks; does not mutate the global registry.
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 |