{"id":"json-deep-equal","version":"1.0.0","description":"JSON-only structural equality. Object key order does not matter; array order does.","supported_operations":["json deep equal","json equals","structural json equality"],"unsupported_operations":["reference equality","date compare","json patch","epsilon floats"],"semantics":["Accept only JSON values: null, boolean, finite number, string, array, and plain objects.","Reject NaN, Infinity, -Infinity, undefined, BigInt, functions, symbols, Date, Map, Set, RegExp, boxed primitives, Buffer, and sparse holes.","Canonicalize -0 to 0.","Objects may have null or Object.prototype; comparison uses own enumerable string keys only.","Treat __proto__, constructor, and toString as ordinary own keys. Never mutate Object.prototype.","Output objects are Object.create(null). Returned JSON values are deep-cloned.","Bound walk: max depth 32, max nodes 10000 per value.","null, booleans, and strings compare with === after JSON validation.","Numbers compare with Object.is after canonicalizing -0 to 0. No epsilon.","Arrays require the same length and pairwise equality. Objects require the same own-key set and equal values; key insertion order is ignored.","Prototype-like keys are ordinary own keys."],"limits":{"max_json_depth":32,"max_json_nodes":10000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["a","b"],"properties":{"a":{},"b":{}}},"output_schema":{"type":"object","additionalProperties":false,"required":["equal"],"properties":{"equal":{"type":"boolean"}}},"examples":[{"input":{"a":{"k":1,"m":2},"b":{"m":2,"k":1}},"output":{"equal":true}},{"input":{"a":[1,2],"b":[2,1]},"output":{"equal":false}}],"execute_url":"/v1/tools/json-deep-equal/versions/1.0.0/execute"}