lume-ai
Version:
A powerful yet simple library to build your own AI applications.
34 lines (33 loc) • 951 B
TypeScript
/**
* Abstract class representing a Tool interface.
* Implementations should provide a way to execute a tool.
*/
export declare abstract class Tool {
protected name: string;
protected description: string;
protected parameters: Array<{
name: string;
type: string;
description: string;
required: boolean;
}>;
protected _extraTokens: number;
constructor(name: string, description: string, parameters: Array<{
name: string;
type: string;
description: string;
required: boolean;
}>, extraTokens?: number);
abstract get metadata(): {
name: string;
description: string;
parameters: Array<{
name: string;
type: string;
description: string;
required: boolean;
}>;
};
abstract get extraTokens(): number;
abstract execute(params: Record<string, any>): Promise<string>;
}