sgr-agent-core 0.1.0

Core types for sgr-agent: Tool trait, ToolDef, AgentContext, schema helpers
Documentation
# sgr-agent-core

Core types for the sgr-agent ecosystem.

Provides the minimal shared interface that both `sgr-agent` (framework) and `sgr-agent-tools` (file-system tools) depend on — no heavy dependencies.

## What's inside

| Module | Types | Purpose |
|--------|-------|---------|
| `agent_tool` | `Tool`, `ToolOutput`, `ToolError`, `ContextModifier`, `parse_args` | Tool trait and execution types |
| `context` | `AgentContext`, `AgentState` | Shared state passed to tools |
| `schema` | `json_schema_for`, `response_schema_for`, `make_openai_strict` | JSON Schema generation from Rust types |
| `tool` | `ToolDef`, `tool()` | Tool definitions for LLM APIs |

## Usage

Most users should depend on `sgr-agent` (which re-exports everything from core). Use `sgr-agent-core` directly only when building a tools crate that must avoid circular dependencies.

```rust
use sgr_agent_core::{Tool, ToolOutput, ToolError, parse_args, AgentContext, json_schema_for};
```

## Dependencies

Only 5 lightweight crates: `async-trait`, `serde`, `serde_json`, `schemars`, `thiserror`.