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.6.0.tar.gz (57.0 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.6.0-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_tools-0.6.0.tar.gz
  • Upload date:
  • Size: 57.0 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.6.0.tar.gz
Algorithm Hash digest
SHA256 31d6de6d2dbdc851b2a40d8531d1adee1f64deb599407c7780131e309b0c49a8
MD5 146ff4ba5560ae40780fc5d00bbf01c2
BLAKE2b-256 b147ccddac9340ec9e62460860da7caa50c4dbaea5f96bb8be08191b1c9d91ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_tools-0.6.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.6.0-py3-none-any.whl.

File metadata

  • Download URL: jharness_tools-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 76.1 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f39cb229345f2f9d9deb332c63535ad030d008e0018280d456490d6747e8396
MD5 374207f17a31005a93610f807a251a57
BLAKE2b-256 a46ccd8b95cc0d2211156b22a6c15a43b941600d5dd6516b9c1d4c05945aacca

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_tools-0.6.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

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.1

2 files

This release

0.6.0 This release

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