Aether SDK
Core

Tools

Tools let agents interact with the world. Define them once with Zod schemas and Aether handles JSON Schema generation, validation, and error recovery automatically.

Defining a tool

import { tool } from 'aether-sdk'
import { z } from 'zod'

export const calculator = tool('calculator', {
  description: 'Evaluate a mathematical expression',
  input: z.object({
    expression: z.string().describe('e.g. "2 + 2 * 3"'),
  }),
  output: z.object({
    result: z.number(),
    steps: z.array(z.string()),
  }),
  run: async ({ expression }) => {
    const result = evaluate(expression)
    return { result, steps: showWork(expression) }
  },
})

Tool composition

// Bundle related tools
import { toolkit } from 'aether-sdk'

export const filesystemKit = toolkit('filesystem', {
  tools: [readFile, writeFile, listDir, deleteFile],
  description: 'Tools for reading and writing files',
})

Tools are the extension points of Aether. The community registry has hundreds of ready-made tools for common APIs, databases, and services.