Loading...
Searching...
No Matches
Go to the documentation of this file.
6Tool modules — filesystem access, memory, planning, shell, and web.
10Each module exports ``TOOLS`` (a dict of callables) and ``SCHEMAS``
11(a list of OpenAI function definitions). Modules are registered from an
12**explicit allowlist** (:data:`~oc_chat.core.tool_registry._TOOL_MODULE_ALLOWLIST`),
13NOT auto-discovered by a directory glob (M8.0 WU-6 / G-2): an agent-written
14file dropped here is **not** picked up. To add a new first-party tool module,
15add its stem to that allowlist. Third-party tools use the
16``[project.entry-points."oc_chat.tools"]`` group and load only under the
17``permissive`` profile (G-3).
21- Mark ``oc_chat/tools/`` as a Python package.
22- Hold sibling tool modules: ``filesystem``, ``shell``, ``web``,
23 ``memory``, ``planner``, ``oct_tools``, ``migrate_sessions``.
35- Module-level L4 ``_dbg`` is a diagnostics-coverage marker; it
36 emits nothing at default verbosity (domain default is L2).
37- Tool modules with names starting with ``_`` are skipped by the
38 auto-discovery loop in ``build_tool_registry``.
42- oc_diagnostics (structured debug logging via _dbg)
45from oc_diagnostics
import _dbg
47_dbg(
"OC_CHAT.TOOLS",
"module",
"loaded", 4)