Python API
DependencyChecker
Checking Individual Dependencies
Tool Source Values
check_tool() delegates to ToolResolver.list_available_sources() — the same resolution chain used at agent run time. The source field reflects where the tool actually comes from:
Tools registered via
ToolRegistry.register_function() and core SDK entry-point plugins are now correctly reported as available. Before PR #2642, these tools resolved correctly at agent run time but were reported as “not installed” by the dependency checker. The checker now delegates to ToolResolver — the same source of truth used by resolve() — so diagnostic output matches runtime behaviour.If you are migrating from an earlier version and previously saw tools reported as missing in strict mode, verify those tools are registered via ToolRegistry or an entry-point plugin under the canonical praisonai.tools group. The legacy praisonaiagents.tools and praisonai.tool_sources groups still resolve tools registered under them (with a one-cycle DeprecationWarning on first discovery), and canonical-group tools take precedence on a name collision — they will now appear as available with source: "registered".Getting Install Hints
ToolRegistry or entry-point plugins will not trigger install hints.
StrictModeError
When strict mode fails,StrictModeError is raised with:
Custom Tool Directories
The checker always honorscustom_tool_dirs on top of the resolver’s chain:
ToolResolver chain — they are checked unconditionally so template-local tool directories always resolve regardless of resolver availability.
Related
Tools Doctor
Full tool availability diagnostics
Tool Resolver
Resolution chain and source labels
Tools
Source label table and CLI reference

