Skip to main content

jharness-tools

Ready-to-use filesystem, shell, interaction, and child-agent tools implementing the JHarness kernel tool contracts.

uv add jharness-tools
from jharness.tools import GlobTool, GrepTool, LsTool, ReadTool

Filesystem tools are rooted in one workspace and reject path escapes. BashTool uses a bounded non-interactive Bash process and a minimal environment by default, but it is not an operating-system sandbox: commands retain the filesystem and network access granted by the host. inherit_environment=True explicitly exposes the full host environment.

Workspace path checks are not a mount namespace; mutually untrusted writers need dedicated filesystem isolation and hard-link controls. Process-tree cleanup is best effort, so containers—especially PID 1—must forward signals and reap child processes.

Interaction tools suspend for a host response. Child-agent tools accept the narrow AgentBackend protocol. For a single-process host, InMemoryAgentBackend provides concurrent supervision, parent-run authorization, idempotent creation, waiting, and cancellation:

from jharness.kernel import Runtime
from jharness.tools.agent import InMemoryAgentBackend

child_runtime = Runtime(model=model, tools=child_tool_catalog)
agent_backend = InMemoryAgentBackend(
    child_runtime,
    system_prompt="Follow the delegated task and return a concise result.",
)

Pass agent_backend to AgentTool, AgentGetTool, AgentWaitTool, and AgentCancelTool. After a parent suspension, the host can await the in-memory implementation's wait_for_terminal(agent_id, requester=parent_context) and deliver the snapshot with resume_agent; other backend implementations may use their own durable notification mechanism. The in-memory backend retains idempotency records for its lifetime, stores them only in its process, and must be used from one asyncio event loop. Hosts requiring bounded retention, crash recovery, or shared workers should implement AgentBackend with durable storage. The host remains responsible for choosing trusted child Runtime configuration and recording telemetry.

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jharness_tools-0.9.0.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jharness_tools-0.9.0-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

File details

Details for the file jharness_tools-0.9.0.tar.gz.

File metadata

  • Download URL: jharness_tools-0.9.0.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jharness_tools-0.9.0.tar.gz
Algorithm Hash digest
SHA256 daa3619af3cbe3a6ae9f39f7bc896bfbab6ab3a8b27140d1d58bfa4ced5be1eb
MD5 c0d3dc761dd563638addf1314f7eb13a
BLAKE2b-256 95a1baee7f9557de777dfcd0e68ca2fabfc3b6cb1495fc01fe2433ff1beddd5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_tools-0.9.0.tar.gz:

Publisher: release.yml on Ezio2000/jharness

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jharness_tools-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: jharness_tools-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 76.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jharness_tools-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd064a6a15029224b1cf5a620724b56e45cb0aa239ee703f5217a44f46397060
MD5 2c82e689e85d83d6406be6e3350d65cb
BLAKE2b-256 ed57ea130dc881afc880fd4618b67afe4c9c0af38e40bd7644a51002111d88d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_tools-0.9.0-py3-none-any.whl:

Publisher: release.yml on Ezio2000/jharness

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 files

0.8.0

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page