ToolOrigin#

Create, compose, unload, and save session-local Python tools. See the guide.

class zett_agent.jit_harness.enums.ToolOrigin(*values)[source]#

Which registry served one dispatch attempt.

The value records how the harness resolved the tool name at call time. It stays a plain string in JSON so exported profiles and model-facing results keep the values "base", "python", "text", "management", and "unknown".

BASE

An application-owned tool: a constructor tools=[...] entry or one a tool-providing extension registered for the request. The harness keeps no Python source for it, so its implementation cannot be updated or saved. With manage_base_tools=True it can be unloaded/reloaded and profiled; snapshots retain its name and unload state, not its implementation.

PYTHON

A session-local dynamic tool the model created with create_tool or replaced with update_tool. An unloaded dynamic tool is still PYTHON; the call status then reads rejected.

TEXT

A reusable Markdown workflow created with create_tool(kind="text"). Calling it reads a bounded text page, not executable Python.

MANAGEMENT

One of the reserved harness control functions: create_tool, update_tool, unload_tool, load_tool, list_tools, inspect_tool, source/schema readers, statistics/call queries, or inspect_tool_errors. These belong to the harness rather than the application’s toolbox.

UNKNOWN

The name was in no registry when the attempt was recorded, usually a defensive fallback for a rejected call. It does not describe another kind of tool.