@eko-ai/eko
Version:
Empowering language to transform human words into action.
60 lines • 1.47 kB
TypeScript
import { JSONSchema7 } from "json-schema";
import { AgentContext } from "../core/context";
import { LanguageModelV1ToolCallPart } from "@ai-sdk/provider";
export type ToolSchema = {
name: string;
description?: string;
parameters: JSONSchema7;
} | {
name: string;
description?: string;
input_schema: JSONSchema7;
} | {
name: string;
description?: string;
inputSchema: JSONSchema7;
} | {
type: "function";
function: {
name: string;
description?: string;
parameters: JSONSchema7;
};
};
export type ToolResult = {
content: [
{
type: "text";
text: string;
}
] | [
{
type: "image";
data: string;
mimeType?: string;
}
] | [
{
type: "text";
text: string;
},
{
type: "image";
data: string;
mimeType?: string;
}
];
isError?: boolean;
extInfo?: Record<string, unknown>;
};
export interface ToolExecuter {
execute: (args: Record<string, unknown>, agentContext: AgentContext, toolCall: LanguageModelV1ToolCallPart) => Promise<ToolResult>;
}
export interface Tool extends ToolExecuter {
readonly name: string;
readonly description?: string;
readonly parameters: JSONSchema7;
readonly noPlan?: boolean;
readonly planDescription?: string;
}
//# sourceMappingURL=tools.types.d.ts.map