/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { ToolInvocation, ToolResult } from '../base/tools.js'; import { BaseDeclarativeTool } from '../base/tools.js'; import type { SimpleConfig } from '../base/config.js'; /** * Parameters for the ListDirectory tool */ export interface ListDirectoryToolParams { /** * The absolute path to the directory to list */ path: string; /** * Array of glob patterns to ignore (optional) */ ignore?: string[]; } /** * File entry returned by ListDirectory tool */ export interface FileEntry { /** * Name of the file or directory */ name: string; /** * Absolute path to the file or directory */ path: string; /** * Whether this entry is a directory */ isDirectory: boolean; /** * Size of the file in bytes (0 for directories) */ size: number; /** * Last modified timestamp */ modifiedTime: Date; } /** * Implementation of the ListDirectory tool logic */ export declare class ListDirectoryTool extends BaseDeclarativeTool { private config; static readonly Name = "list_directory"; constructor(config: SimpleConfig); protected validateToolParamValues(params: ListDirectoryToolParams): string | null; protected createInvocation(params: ListDirectoryToolParams): ToolInvocation; } //# sourceMappingURL=list-directory.d.ts.map