> ## Documentation Index
> Fetch the complete documentation index at: https://nativeharness.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Packages

> Fifteen packages under @nativeharness. Use the layer you need; each is useful without the ones above it.

Every package is `@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](https://nativesandbox.dev) — 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          |
