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.