AgentForge

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();

Next Steps