DynamicTool

fun <TContext> DynamicTool(name: String, description: String, inputSchemaJson: String = "{}", metadata: Map<String, JsonElement> = emptyMap(), toModelOutput: (JsonElement, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, executor: suspend ToolExecutionContext<TContext>.(JsonElement) -> JsonElement): Tool<JsonElement, JsonElement, TContext>(source)

Runtime-typed tool — inputs and outputs are raw JsonElement. Schema is supplied as a JSON string and stored in ToolSchema.metadata under "inputSchema".