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.5.0.tar.gz (56.9 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.5.0-py3-none-any.whl (76.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_tools-0.5.0.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jharness_tools-0.5.0.tar.gz
Algorithm Hash digest
SHA256 2a859dd48fda1e49daa2ffe23252cb6cb8f5ef6f1ab80664b94fad8c8577bbb8
MD5 e5561eba8cbb922c537dffec2c9665b5
BLAKE2b-256 df1e92bdd60cbca25b8af69d5df059689bfe2d8ef31e9ef68f8705f92267bdfc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jharness_tools-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 76.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for jharness_tools-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 654b5fe44e1c4e0904bb75ea7bc35c75854f0a248a85a940cbbfa5af3c0c11fa
MD5 bda5f319af02156c2b56571f4a0331e0
BLAKE2b-256 5892227f6373efa741de69c9dbaf6ab9f5e38e98805d93f402d7e8b99509e0eb

See more details on using hashes here.

Provenance

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

0.6.0

2 files

This release

0.5.0 This release

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