---
title: API Reference
weight: 20
description: GoDoc-generated reference for sharur's public and contract packages
cascade:
  - target:
      kind: page
    type: reference
---

This section is generated by [gomarkdoc](https://github.com/princjef/gomarkdoc) from Go source comments. Run `mage docs` to regenerate.

---

## Packages

| Package | Import path | Description |
|---|---|---|
| [sdk](/reference/sdk/) | `github.com/goppydae/sharur/sdk` | Public embedding API — `NewAgent`, `Subscribe`, `Prompt`, `Idle` |
| [extensions](/reference/extensions/) | `github.com/goppydae/sharur/extensions` | gRPC extension building blocks — `Plugin`, `NoopPlugin`, `Serve` |
| [tools](/reference/tools/) | `github.com/goppydae/sharur/internal/tools` | `Tool` and `ToolResult` interfaces used by both SDK and extensions |
| [agent](/reference/agent/) | `github.com/goppydae/sharur/internal/agent` | `Extension` interface and `NoopExtension` for in-process extensions |

> **Note:** `internal/tools` and `internal/agent` are documented here because they are contract surfaces for in-process extension authors who build inside the same module. Go's import restrictions prevent external consumers from importing them directly, but the interfaces are stable and intentionally exposed through this reference.
