@nativeharness/<name>, Apache-2.0, Node 22+, ESM.
Start here
| Package | |
|---|---|
harness | published as nativeharness — one import that assembles the four below with defaults, and exposes each of them. What the quickstart uses |
Core — no model
| Package | |
|---|---|
types | the interfaces — WorkspaceStore, SandboxProvider, Connector, ModelAdapter, and every record and event. Types only, no runtime |
core | path scope, identifiers, the text/blob decision, error codes, Events, BashTool — the one tool |
store-sqlite | the default WorkspaceStore: one SQLite database per workspace, plus export and import |
connectors | declarations and the compiler, outbound safety, the call token, the gateway, the nh shim and the endpoint it talks to |
Sandbox providers
| Package | |
|---|---|
sandbox-nativesandbox | the default. Isolated execution through nativesandbox — containers via Podman or Docker, on hosts with no nested virtualisation. A thin provider; the runtime is its own package and knows nothing about the harness |
sandbox-local | commands on this machine, with no isolation. Tests and deterministic scripts only; the agent refuses it with a real model |
sandbox-microsandbox | reserved — a microVM provider for hosts with KVM. Not yet written |
Agent
| Package | |
|---|---|
agent | the turn loop, compaction, plan mode, subagents, ask_user, approvals, durable cancellation — and ScriptedAdapter for tests |
adapter-anthropic | Claude |
adapter-openai | OpenAI, xAI, DeepSeek, Moonshot, MiniMax, Zhipu, Groq, Mistral |
adapter-google | Gemini |
adapter-cohere | Cohere v2 |
adapter-ollama | local models |
Protocol and tools
| Package | |
|---|---|
protocol | SessionService and the HTTP/SSE binding: start a turn, watch it, reconnect, replay |
cli | nhar — every layer from a terminal |
conformance | the specs as runnable tests. sandboxConformance() holds any SandboxProvider to the same 41-case contract |
Which do I install?
| I want to… | Install |
|---|---|
| run sandboxed, versioned, auditable commands from my own loop | core, store-sqlite, sandbox-nativesandbox |
| give my users an agent | the above, plus agent and one adapter |
| let a browser talk to it | plus protocol |
| try it from a terminal | cli |
| write a provider or a store | types, and conformance to prove it |