Project-level configuration and runtime query conventions.
psi-toolpsi-tool is the canonical live runtime self-inspection and self-modification surface.
Canonical requests are action-based:
action: "query" — read from the live EQL graphaction: "eval" — evaluate in-process Clojure in a named already-loaded namespaceaction: "reload-code" — reload already loaded namespaces by explicit namespace list or worktree scopeLegacy query-only calls of the form {query: "..."} remain accepted as a migration compatibility alias for action: "query", but canonical docs and examples use the action-based form.
Use query mode for:
Examples:
{:action "query"
:query "[:psi.graph/resolver-syms]"}
{:action "query"
:query "[:psi.agent-session/session-name :psi.agent-session/model-id]"
:entity "{:psi.agent-session/session-id \"sid\"}"}
Extension install introspection example:
{:action "query"
:query "[:psi.extensions/effective
:psi.extensions/diagnostics
:psi.extensions/last-apply]"
:entity "{:psi.agent-session/session-id \"sid\"}"}
Canonical discovery flow:
:psi.graph/resolver-syms:psi.graph/root-seeds:psi.graph/root-queryable-attrsEval is namespace-scoped, not worktree-scoped.
Requirements:
ns is requiredns must already be loadedpsi-tool does not auto-require or auto-create namespaces*read-eval* disabledExample:
{:action "eval"
:ns "clojure.core"
:form "(+ 1 2)"}
reload-code supports exactly one targeting mode:
{:action "reload-code"
:namespaces ["psi.agent-session.tools"]}
{:action "reload-code"}
{:action "reload-code"
:worktree-path "/abs/path/to/worktree"}
Rules:
namespaces and worktree-path are both supplied, the request errorsworktree-path:worktree-pathCan you improve this documentation?Edit on GitHub
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 |