// Copyright (C) 2026 Rob Colbert // Licensed under the Apache License, Version 2.0 import { IAiLogger } from "../api.ts"; export interface IToolArguments { [key: string]: unknown; } export interface IToolDefinition { type: "function"; function: { name: string; description: string; parameters: IToolArguments; }; } export interface IAiTool { readonly name: string; readonly category: string; readonly definition: IToolDefinition; execute(args: IToolArguments, logger: IAiLogger): Promise; }