pocketsmith-mcp
Version:
MCP server for managing budgets via PocketSmith API
27 lines (26 loc) • 1.17 kB
TypeScript
/**
* @fileoverview Implements the DuckDB service for interacting with a DuckDB database.
* @module services/duck-db/duckDBService
*/
import * as duckdb from "@duckdb/node-api";
import { DuckDBQueryResult, DuckDBServiceConfig, IDuckDBService } from "./types.js";
export declare class DuckDBService implements IDuckDBService {
private connectionManager;
private queryExecutor;
private isInitialized;
constructor();
initialize(config?: DuckDBServiceConfig): Promise<void>;
private ensureInitialized;
private validateParams;
run(sql: string, params?: unknown[]): Promise<void>;
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<DuckDBQueryResult<T>>;
stream(sql: string, params?: unknown[]): Promise<duckdb.DuckDBResult>;
prepare(sql: string): Promise<duckdb.DuckDBPreparedStatement>;
beginTransaction(): Promise<void>;
commitTransaction(): Promise<void>;
rollbackTransaction(): Promise<void>;
loadExtension(extensionName: string): Promise<void>;
close(): Promise<void>;
getRawConnection(): duckdb.DuckDBConnection | null;
getRawInstance(): duckdb.DuckDBInstance | null;
}