import type { ToolDefinition } from "../tools/types.js"; import { type RuntimePolicy } from "./policy.js"; export interface PlatformToolPolicyOptions { /** * Require a granted tool capability before executing. Defaults to true. */ assertToolCapability?: boolean; /** * Override the capability name used for the tool check. Defaults to tool.name. */ toolCapabilityName?: string; /** * Input fields whose string/string[] values should be checked as paths. * Defaults to path-like properties found in the tool's JSON schema. */ pathArguments?: string[]; /** * Input fields whose string/string[] values should be checked as commands. * Defaults to command-like properties found in the tool's JSON schema. */ commandArguments?: string[]; /** * Replace checked path inputs with their resolved allowed path. */ rewritePaths?: boolean; /** * Require task-scope and capability-grant network access. */ requiresNetwork?: boolean; } export type PlatformToolPolicyMap = Record; export declare function wrapToolWithRuntimePolicy(tool: ToolDefinition, policy: RuntimePolicy, options?: PlatformToolPolicyOptions): ToolDefinition; export declare function wrapToolsWithRuntimePolicy(tools: ToolDefinition[], policy: RuntimePolicy, optionsByTool?: PlatformToolPolicyMap): ToolDefinition[]; //# sourceMappingURL=tool-policy.d.ts.map