Configuration Reference

On this page

This page collects every configurable knob discoverable in the source, in one place. See each linked API page for full behavioral detail.

PluginConfig (per-plugin runtime settings)

OptionTypeDefaultAccepted valuesRuntime effect
enabledboolTrue—safe_execute() raises PluginError immediately if False
timeoutfloat30.0> 0 (else ValueError at construction)Per-call asyncio.wait_for timeout inside safe_execute
max_retriesint3>= 0 (else ValueError at construction)Number of extra attempts in safe_execute_with_retry (exponential backoff: 2**attempt seconds)
cache_resultsboolFalse—Enables SHA-256-keyed in-memory result caching
cache_ttl_secint300any intCache entry lifetime in seconds
customdict | None{}any dictFree-form bag for plugin-specific settings; not interpreted by the framework

PluginManager constructor settings

OptionTypeDefaultRuntime effect
plugin_dirsList[str] | NoneNoneDirectories auto-scanned by PluginLoader.discover_all()
system_versionstr"1.0.0"Compared against each plugin's min_system_version/max_system_version at registration
safe_modeboolFalseGates auto-permission-granting on startup() and permission checks on register()/execute()
auto_discoverboolTrueWhether startup() calls loader.discover_all()
default_configPluginConfig | NoneNone → PluginConfig()Config applied to every plugin the loader instantiates
embed_fnCallable[[str], List[float]] | NoneNoneEnables semantic re-ranking in AIPluginSelector
hard_timeoutfloat60.0Constructs the manager's ExecutionSandbox — see the caveat in security.md about whether execute() currently uses it

PluginLoader constructor settings

OptionTypeDefaultRuntime effect
plugin_dirsList[str] | None[]Directories scanned by discover_all() (non-recursive *.py glob, skips _-prefixed files)
default_configPluginConfig | NonePluginConfig()Config given to every discovered plugin instance
module_prefixstr"rag_plugins"Synthetic module-name prefix used for sys.modules bookkeeping

PluginHotReloader constructor settings

OptionTypeDefaultRuntime effect
directoriesList[str] | Noneloader.plugin_dirsDirectories watched for .py changes
poll_intervalfloat1.0Seconds between mtime polls (ignored if watchdog backend is active)
debounce_secfloat0.5Minimum seconds between reloads of the same file

ExecutionSandbox constructor settings

OptionTypeDefaultRuntime effect
hard_timeout_secfloat60.0asyncio.wait_for timeout for a wrapped coroutine
log_slow_thresholdfloat5.0Logs a warning (but still returns the result) if execution exceeds this

Related pages