Metadata-Version: 2.4
Name: jharness-toolkit
Version: 0.3.2
Summary: Tool registry and adaptation toolkit for JHarness
Project-URL: Documentation, https://github.com/Ezio2000/jharness/blob/main/packages/jharness-toolkit/README.md
Project-URL: Repository, https://github.com/Ezio2000/jharness.git
Author: JHarness contributors
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: jharness-kernel==0.3.2
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: referencing>=0.35.0
Description-Content-Type: text/markdown

# jharness-toolkit

Tool registration, Python function adaptation, JSON Schema validation, retry, and
circuit breaking for JHarness.

```bash
uv add jharness-toolkit
```

```python
from jharness.toolkit import ToolRegistry, function_tool
```

`ToolRegistry` validates tool arguments and, when a tool declares an output schema,
its result's `structured_content`. `RetryingTool` retries only selected implementation
exceptions and requires an idempotent tool when more than one attempt is configured.
`CircuitBreakingTool` is an in-process policy, not a distributed rate limiter.

Installing this distribution installs the exact matching `jharness-kernel` version.
