123456789101112131415161718typejson_schema={name:string;schema:Yojson.Basic.t;}typet=|Regular|Object_jsonofjson_schemaoption|Object_toolof{tool_name:string;schema:json_schema;}(* The Vercel AI SDK convention for providers that don't natively enforce JSON Schema:
synthesize a tool called "json" whose inputSchema is the caller's schema, force the
model to call it, and decode the response from the tool_use args. Upstream
[@ai-sdk/anthropic] uses this exact name; changing it would break interop. *)letfallback_json_tool_name="json"