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

# Concepts

> The core runtime concepts behind DZap AI behavior.

Most DZap AI behavior maps to five concepts.

## Agent

The **agent** is the reasoning loop behind `DZapSDK.ask()`. It reads intent, calls tools, and synthesizes a final response.

Default model is `gpt-4o-mini`, with automatic tool choice and step limits.

## Tool

A **tool** is a typed function the agent can call at runtime.

Each tool defines:

* Name
* Description
* Input schema
* Output shape
* Execution function

DZap AI currently exposes 21 tools.

## Skill

A **skill** is editor-time context (Cursor, Claude Code). It helps code generation match real DZap APIs.

Skills are for writing code, not runtime execution.

## Memory

Session memory is in-process and keyed by `sessionId`.
Each session stores chat timeline and structured tool logs.

## Scheduler

The scheduler stores future actions in SQLite and is exposed through:

* `SheluderTool`
* `GetAllSchedulesTool`

The execution hook exists but is currently not fully wired for automated on-chain actions.

## Skill vs tool vs runtime

| Concept        | Where it lives   | Used when                |
| -------------- | ---------------- | ------------------------ |
| Skill          | Editor           | Code authoring           |
| Tool           | Runtime          | Agent execution          |
| Session memory | Runtime          | Multi-turn conversation  |
| Scheduler      | Runtime + SQLite | Time-triggered workflows |

## Flow

```
User -> Agent -> Tools -> DZap APIs and external sources
```

## Next

<CardGroup cols={2}>
  <Card title="Tool Categories" icon="wrench" href="/ai/tools/overview">
    Full list of runtime tools and inputs.
  </Card>

  <Card title="Architecture" icon="diagram-project" href="/ai/architecture">
    Runtime layers, logging, and scheduling.
  </Card>
</CardGroup>
