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.7.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.7.0-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_tools-0.7.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.7.0.tar.gz
Algorithm Hash digest
SHA256 e1eff2657b96f05a4fc091f80092fd7aea6bb2e88e0f3191e2cd421fb3383e57
MD5 a563a3e7586b3fb728e3ece27997e8c1
BLAKE2b-256 08e15d7ec890b7825fc780b3e868792000be4d67f1671e14bcd657e3e634c6ec

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jharness_tools-0.7.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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f057ba6279e9f92846c44fd2e86d6560506fd448ffb62c6a5f71cf848971a9b
MD5 319789c1af410e3357b0ab48dc90f859
BLAKE2b-256 cf2672c4de9e43bd9203f0be2b977755e254447a19970ebed6be09cf8af2cb96

See more details on using hashes here.

Provenance

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

This release

0.7.0 This release

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