oc_chat
Loading...
Searching...
No Matches
oc_chat.tools Namespace Reference

Namespaces

namespace  _argv_policy
namespace  _local_fetch
namespace  _proc
namespace  _sandbox
namespace  ask_user
namespace  filesystem
namespace  memory
namespace  migrate_sessions
namespace  oct_tools
namespace  planner
namespace  shell
namespace  web

Detailed Description

Tool modules — filesystem access, memory, planning, shell, and web.

Purpose
-------
Each module exports ``TOOLS`` (a dict of callables) and ``SCHEMAS``
(a list of OpenAI function definitions). Modules are registered from an
**explicit allowlist** (:data:`~oc_chat.core.tool_registry._TOOL_MODULE_ALLOWLIST`),
NOT auto-discovered by a directory glob (M8.0 WU-6 / G-2): an agent-written
file dropped here is **not** picked up. To add a new first-party tool module,
add its stem to that allowlist. Third-party tools use the
``[project.entry-points."oc_chat.tools"]`` group and load only under the
``permissive`` profile (G-3).

Responsibilities
----------------
- Mark ``oc_chat/tools/`` as a Python package.
- Hold sibling tool modules: ``filesystem``, ``shell``, ``web``,
  ``memory``, ``planner``, ``oct_tools``, ``migrate_sessions``.

Diagnostics
-----------
Domain: OC_CHAT.TOOLS
Levels:
    L2 — lifecycle events
    L3 — semantic details
    L4 — deep tracing

Contracts
---------
- Module-level L4 ``_dbg`` is a diagnostics-coverage marker; it
  emits nothing at default verbosity (domain default is L2).
- Tool modules with names starting with ``_`` are skipped by the
  auto-discovery loop in ``build_tool_registry``.

Dependencies
------------
- oc_diagnostics (structured debug logging via _dbg)