mirror of
https://github.com/d0zingcat/solana-agent-kit.git
synced 2026-05-14 07:26:46 +00:00
57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import { SolanaAgentKit } from "../agent";
|
|
import { z } from "zod";
|
|
|
|
/**
|
|
* Example of an action with input and output
|
|
*/
|
|
export interface ActionExample {
|
|
input: Record<string, any>;
|
|
output: Record<string, any>;
|
|
explanation: string;
|
|
}
|
|
|
|
/**
|
|
* Handler function type for executing the action
|
|
*/
|
|
export type Handler = (
|
|
agent: SolanaAgentKit,
|
|
input: Record<string, any>,
|
|
) => Promise<Record<string, any>>;
|
|
|
|
/**
|
|
* Main Action interface inspired by ELIZA
|
|
* This interface makes it easier to implement actions across different frameworks
|
|
*/
|
|
export interface Action {
|
|
/**
|
|
* Unique name of the action
|
|
*/
|
|
name: string;
|
|
|
|
/**
|
|
* Alternative names/phrases that can trigger this action
|
|
*/
|
|
similes: string[];
|
|
|
|
/**
|
|
* Detailed description of what the action does
|
|
*/
|
|
description: string;
|
|
|
|
/**
|
|
* Array of example inputs and outputs for the action
|
|
* Each inner array represents a group of related examples
|
|
*/
|
|
examples: ActionExample[][];
|
|
|
|
/**
|
|
* Zod schema for input validation
|
|
*/
|
|
schema: z.ZodType<any>;
|
|
|
|
/**
|
|
* Function that executes the action
|
|
*/
|
|
handler: Handler;
|
|
}
|