# FunctionTool

constructor(name: String, description: String, isLongRunning: Boolean = false, customMetadata: Map<String, Any> = emptyMap(), requiresConfirmation: Boolean)

Boolean convenience constructor: pass `true` to gate every invocation, `false` to skip the gate entirely. Equivalent to passing `{ requiresConfirmation }` to the primary constructor.

The `requiresConfirmation` parameter is required (no default) to keep overload resolution unambiguous against the primary constructor; callers who don't need a gate should use the primary constructor and omit `requiresConfirmation` altogether.

constructor(name: String, description: String, isLongRunning: Boolean = false, customMetadata: Map<String, Any> = emptyMap(), requiresConfirmation: (Map<String, Any>) -> Boolean = { false })