Documentation
¶
Overview ¶
Package tau carries the repository documents the binary has to bring with it. A single static binary has no install tree beside it to read from, so anything tau tells the user about itself is compiled in.
The embed lives at the module root because go:embed cannot reach outside its own directory, and CHANGELOG.md belongs at the root, where GitHub and anyone browsing the repository expect it. Nothing under this directory imports this package: the data is handed down from cmd/tau, which leaves the root free to grow into the embedder-facing facade without an import cycle.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Changelog string
Changelog is the raw contents of CHANGELOG.md. The changelog package turns it into entries.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package acp speaks the Agent Client Protocol, so an editor that drives ACP agents can drive tau.
|
Package acp speaks the Agent Client Protocol, so an editor that drives ACP agents can drive tau. |
|
Package agent is tau's agent runtime — the port of Pi's @earendil-works/pi-agent-core.
|
Package agent is tau's agent runtime — the port of Pi's @earendil-works/pi-agent-core. |
|
compaction
Package compaction shortens a session that no longer fits the model's context window.
|
Package compaction shortens a session that no longer fits the model's context window. |
|
env
Package env is the capability abstraction tools execute against: a filesystem and a shell.
|
Package env is the capability abstraction tools execute against: a filesystem and a shell. |
|
env/osenv
Package osenv implements env.Env against the local operating system: the real filesystem and a real bash shell.
|
Package osenv implements env.Env against the local operating system: the real filesystem and a real bash shell. |
|
Package ai is a unified multi-provider LLM API — the tau port of Pi's @earendil-works/pi-ai (snapshot v0.82.1).
|
Package ai is a unified multi-provider LLM API — the tau port of Pi's @earendil-works/pi-ai (snapshot v0.82.1). |
|
api/anthropic
Package anthropic implements the anthropic-messages wire API — the tau port of Pi's packages/ai/src/api/anthropic-messages.ts (snapshot v0.82.1), re-based from the @anthropic-ai/sdk onto net/http.
|
Package anthropic implements the anthropic-messages wire API — the tau port of Pi's packages/ai/src/api/anthropic-messages.ts (snapshot v0.82.1), re-based from the @anthropic-ai/sdk onto net/http. |
|
api/apishared
Package apishared holds the helpers every wire API needs: the message transform Pi applies before any provider-specific conversion, deferred-tool splitting, and unicode sanitization.
|
Package apishared holds the helpers every wire API needs: the message transform Pi applies before any provider-specific conversion, deferred-tool splitting, and unicode sanitization. |
|
api/bedrock
Package bedrock implements the bedrock-converse-stream wire API — the tau port of Pi's packages/ai/src/api/bedrock-converse-stream.ts (snapshot v0.82.1).
|
Package bedrock implements the bedrock-converse-stream wire API — the tau port of Pi's packages/ai/src/api/bedrock-converse-stream.ts (snapshot v0.82.1). |
|
api/googlegenai
Package googlegenai implements Gemini's generateContent wire.
|
Package googlegenai implements Gemini's generateContent wire. |
|
api/mistralconv
Package mistralconv implements Mistral's chat wire.
|
Package mistralconv implements Mistral's chat wire. |
|
api/openaichat
Package openaichat implements the openai-completions wire API — the /v1/chat/completions shape.
|
Package openaichat implements the openai-completions wire API — the /v1/chat/completions shape. |
|
api/openairesp
Package openairesp implements OpenAI's responses wire.
|
Package openairesp implements OpenAI's responses wire. |
|
api/pimessages
Package pimessages implements the pi-messages wire API: Pi's own protocol, spoken by the Radius gateway and by any backend that chooses to implement it (a models.json provider with "api": "pi-messages" reaches one).
|
Package pimessages implements the pi-messages wire API: Pi's own protocol, spoken by the Radius gateway and by any backend that chooses to implement it (a models.json provider with "api": "pi-messages" reaches one). |
|
auth
Package auth implements provider credential storage and auth resolution — the tau port of Pi's packages/ai/src/auth (snapshot v0.82.1) plus the file-backed store from coding-agent's auth-storage.ts.
|
Package auth implements provider credential storage and auth resolution — the tau port of Pi's packages/ai/src/auth (snapshot v0.82.1) plus the file-backed store from coding-agent's auth-storage.ts. |
|
auth/oauth
Package oauth implements the provider OAuth flows — the tau port of Pi's packages/ai/src/auth/oauth.
|
Package oauth implements the provider OAuth flows — the tau port of Pi's packages/ai/src/auth/oauth. |
|
faux
Package faux is a scripted in-memory provider — the backbone of tau's offline test suite (tau's analogue of Pi's providers/faux.ts).
|
Package faux is a scripted in-memory provider — the backbone of tau's offline test suite (tau's analogue of Pi's providers/faux.ts). |
|
internal/sse
Package sse decodes Server-Sent Event streams.
|
Package sse decodes Server-Sent Event streams. |
|
partialjson
Package partialjson salvages tool-call arguments from incomplete or malformed JSON produced during streaming.
|
Package partialjson salvages tool-call arguments from incomplete or malformed JSON produced during streaming. |
|
provider
Package provider assembles wire APIs and model catalogs into named providers — the tau analogue of pi-ai's providers/ + models.ts collection.
|
Package provider assembles wire APIs and model catalogs into named providers — the tau analogue of pi-ai's providers/ + models.ts collection. |
|
provider/catalog
Package catalog holds tau's compiled model data: what every known provider offers, generated from vendored upstream snapshots by cmd/tau-genmodels.
|
Package catalog holds tau's compiled model data: what every known provider offers, generated from vendored upstream snapshots by cmd/tau-genmodels. |
|
Package changelog parses a Keep-a-Changelog document into per-release entries and renders it for display.
|
Package changelog parses a Keep-a-Changelog document into per-release entries and renders it for display. |
|
cmd
|
|
|
gen-wire-ts
command
Command gen-wire-ts generates the TypeScript declarations for the subprocess extension protocol from the Go types that define it.
|
Command gen-wire-ts generates the TypeScript declarations for the subprocess extension protocol from the Go types that define it. |
|
tau
command
|
|
|
tau-genmodels
command
Command tau-genmodels generates tau's compiled model catalogs.
|
Command tau-genmodels generates tau's compiled model catalogs. |
|
Package coding wires the runtime pieces into a working coding agent: provider + agent loop + tools + session persistence.
|
Package coding wires the runtime pieces into a working coding agent: provider + agent loop + tools + session persistence. |
|
Package config resolves tau's on-disk locations.
|
Package config resolves tau's on-disk locations. |
|
Package evals runs scripted tasks against an agent and scores what it did.
|
Package evals runs scripted tasks against an agent and scores what it did. |
|
Package export renders a session to a single self-contained HTML page.
|
Package export renders a session to a single self-contained HTML page. |
|
Package extension is tau's in-process extension API — the Go port of Pi's ExtensionAPI.
|
Package extension is tau's in-process extension API — the Go port of Pi's ExtensionAPI. |
|
wire
Package wire is the subprocess extension protocol: the frames tau and an out-of-process extension exchange over stdio.
|
Package wire is the subprocess extension protocol: the frames tau and an out-of-process extension exchange over stdio. |
|
extensions
|
|
|
mcp
Package mcp is tau's bundled Model Context Protocol client, shipped as an extension rather than as a core feature.
|
Package mcp is tau's bundled Model Context Protocol client, shipped as an extension rather than as a core feature. |
|
Package frontmatter parses YAML frontmatter from markdown files, shared by skills and prompt templates.
|
Package frontmatter parses YAML frontmatter from markdown files, shared by skills and prompt templates. |
|
internal
|
|
|
exthost
Package exthost runs extensions in a separate process and makes them indistinguishable from in-process ones.
|
Package exthost runs extensions in a separate process and makes them indistinguishable from in-process ones. |
|
tui
Package tui is tau's interactive terminal interface, built on Bubble Tea.
|
Package tui is tau's interactive terminal interface, built on Bubble Tea. |
|
interop
|
|
|
pi
Package pi reads a Pi installation so tau can adopt it.
|
Package pi reads a Pi installation so tau can adopt it. |
|
Package keybindings is tau's key-to-action map: the table of actions a key can be bound to, the user's overrides from ~/.tau/agent/keybindings.json, and the matcher the interface asks "was this key bound to that action?".
|
Package keybindings is tau's key-to-action map: the table of actions a key can be bound to, the user's overrides from ~/.tau/agent/keybindings.json, and the matcher the interface asks "was this key bound to that action?". |
|
Package models is tau's runtime model registry: the compiled provider catalog layered with user-supplied models.json (custom providers, extra models, and overrides of built-ins), plus Pi's model-reference grammar.
|
Package models is tau's runtime model registry: the compiled provider catalog layered with user-supplied models.json (custom providers, extra models, and overrides of built-ins), plus Pi's model-reference grammar. |
|
Package pkgmgr installs and resolves resource packages: bundles of skills, prompt templates, themes and extensions distributed over npm, git, or a local directory.
|
Package pkgmgr installs and resolves resource packages: bundles of skills, prompt templates, themes and extensions distributed over npm, git, or a local directory. |
|
Package prompt builds tau's system prompt and discovers the project context files that feed it.
|
Package prompt builds tau's system prompt and discovers the project context files that feed it. |
|
Package prompttemplate loads and expands markdown prompt templates.
|
Package prompttemplate loads and expands markdown prompt templates. |
|
Package rpc is the protocol for `tau --mode rpc`: a headless tau driven over stdio by another program.
|
Package rpc is the protocol for `tau --mode rpc`: a headless tau driven over stdio by another program. |
|
Package server supervises tau processes running in RPC mode.
|
Package server supervises tau processes running in RPC mode. |
|
Package session implements tau's session store: an append-only JSONL tree (format version 3) that is byte-compatible with Pi's, so sessions written by either agent can be read by the other.
|
Package session implements tau's session store: an append-only JSONL tree (format version 3) that is byte-compatible with Pi's, so sessions written by either agent can be read by the other. |
|
Package settings is tau's two-scope configuration layer — the port of Pi's settings-manager.ts.
|
Package settings is tau's two-scope configuration layer — the port of Pi's settings-manager.ts. |
|
Package skills discovers and parses Agent Skills (SKILL.md files) and renders them for the system prompt.
|
Package skills discovers and parses Agent Skills (SKILL.md files) and renders them for the system prompt. |
|
Package slashcmd is tau's slash-command engine: parsing, a registry, and the built-in command set.
|
Package slashcmd is tau's slash-command engine: parsing, a registry, and the built-in command set. |
|
storage
|
|
|
sqlite
Package sqlite stores sessions in a SQLite database rather than one JSONL file per session.
|
Package sqlite stores sessions in a SQLite database rather than one JSONL file per session. |
|
Package theme loads Pi-format JSON colour themes.
|
Package theme loads Pi-format JSON colour themes. |
|
Package tools implements tau's built-in agent tools, ported from Pi's coding-agent tool set.
|
Package tools implements tau's built-in agent tools, ported from Pi's coding-agent tool set. |
|
Package trust gates project-local configuration — the port of Pi's trust-manager.ts and project-trust.ts.
|
Package trust gates project-local configuration — the port of Pi's trust-manager.ts and project-trust.ts. |