Database Integration
Create database tools — execute SQL queries with a pluggable query executor.
Setup
import { createDatabaseTool } from '@ahzan-agentforge/core';
const dbTool = createDatabaseTool({
executor: myQueryExecutor,
allowedTables: ['orders', 'products', 'customers'],
});DatabaseToolConfig
interface DatabaseToolConfig {
executor: QueryExecutor;
allowedTables?: string[];
readOnly?: boolean;
}QueryExecutor Interface
interface QueryExecutor {
execute(query: string, params?: unknown[]): Promise<unknown>;
}Implement this interface for your database driver:
import { Pool } from 'pg';
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const executor: QueryExecutor = {
execute: async (query, params) => {
const result = await pool.query(query, params);
return result.rows;
},
};InMemoryQueryExecutor
For testing:
import { InMemoryQueryExecutor } from '@ahzan-agentforge/core';
const executor = new InMemoryQueryExecutor();