/** * DuckLake MCP Tools - ACID transactions and time travel for DuckDB * @internal */ import { z } from 'zod'; import { DuckDBService } from '../duckdb/service.js'; import { SpaceContextFactory } from '../context/SpaceContext.js'; /** * Input schema for ducklake.attach tool */ export declare const DuckLakeAttachInputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; catalogLocation: z.ZodString; format: z.ZodDefault>; enableTimeTravel: z.ZodDefault; retentionDays: z.ZodDefault; compressionType: z.ZodDefault>; s3Config: z.ZodOptional; region: z.ZodDefault; accessKeyId: z.ZodOptional; secretAccessKey: z.ZodOptional; useSSL: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>; export type DuckLakeAttachInput = z.infer; /** * Input schema for ducklake.snapshots tool */ export declare const DuckLakeSnapshotsInputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; tableName: z.ZodString; action: z.ZodDefault>; version: z.ZodOptional>; targetTableName: z.ZodOptional; }, z.core.$strip>; export type DuckLakeSnapshotsInput = z.infer; /** * Input schema for ducklake.time_travel tool */ export declare const DuckLakeTimeTravelInputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; tableName: z.ZodString; query: z.ZodString; timestamp: z.ZodUnion; limit: z.ZodDefault; }, z.core.$strip>; export type DuckLakeTimeTravelInput = z.infer; /** * Handler implementations */ export declare class DuckLakeToolHandlers { private duckdb; private ducklakeService?; private spaceFactory?; private adapter?; constructor(duckdb: DuckDBService); /** * Get or create DuckLake service */ private getDuckLakeService; /** * Set space factory for multi-tenant support */ setSpaceFactory(factory: SpaceContextFactory): void; /** * Attach a DuckLake catalog */ attach(input: DuckLakeAttachInput): Promise; /** * List or manage snapshots */ snapshots(input: DuckLakeSnapshotsInput): Promise; /** * Execute time travel query */ timeTravel(input: DuckLakeTimeTravelInput): Promise; /** * Configure S3/MinIO settings */ private configureS3; } /** * Create tool definitions */ export declare function createDuckLakeToolDefinitions(): ({ name: string; description: string; inputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; catalogLocation: z.ZodString; format: z.ZodDefault>; enableTimeTravel: z.ZodDefault; retentionDays: z.ZodDefault; compressionType: z.ZodDefault>; s3Config: z.ZodOptional; region: z.ZodDefault; accessKeyId: z.ZodOptional; secretAccessKey: z.ZodOptional; useSSL: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>; } | { name: string; description: string; inputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; tableName: z.ZodString; action: z.ZodDefault>; version: z.ZodOptional>; targetTableName: z.ZodOptional; }, z.core.$strip>; } | { name: string; description: string; inputSchema: z.ZodObject<{ spaceId: z.ZodOptional; catalogName: z.ZodString; tableName: z.ZodString; query: z.ZodString; timestamp: z.ZodUnion; limit: z.ZodDefault; }, z.core.$strip>; })[]; /** * Create tool handlers */ export declare function createDuckLakeToolHandlers(duckdb: DuckDBService, spaceFactory?: SpaceContextFactory): { 'ducklake.attach': (input: any) => Promise; 'ducklake.snapshots': (input: any) => Promise; 'ducklake.time_travel': (input: any) => Promise; }; //# sourceMappingURL=ducklake-tools.d.ts.map