{"id":"path-lexical-normalize","version":"1.0.0","description":"Normalize a path lexically: collapse redundant separators, resolve \".\" and \"..\" segments.","supported_operations":["path normalize","normalize file path","collapse dot segments","resolve dot dot"],"unsupported_operations":["stat file","resolve symlinks","filesystem access"],"semantics":["Collapse redundant separators and resolve \".\" and \"..\" via lexicalNormalize.","If allow_above_root is false and normalized result has leading \"..\" for a relative path, reject with badInput.","changed: normalized !== original input string."],"limits":{"max_path_bytes":4096},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string","minLength":1,"maxLength":4096},"format":{"type":"string","enum":["posix","windows","auto"]},"allow_above_root":{"type":"boolean"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["normalized","format","is_absolute","changed"],"properties":{"normalized":{"type":"string"},"format":{"type":"string","enum":["posix","windows"]},"is_absolute":{"type":"boolean"},"changed":{"type":"boolean"}}},"examples":[{"input":{"path":"/a/b/../c/./d"},"output":{"normalized":"/a/c/d","format":"posix","is_absolute":true,"changed":true}},{"input":{"path":"C:\\foo\\..\\bar","format":"windows"},"output":{"normalized":"C:\\bar","format":"windows","is_absolute":true,"changed":true}},{"input":{"path":"a/b/c"},"output":{"normalized":"a/b/c","format":"posix","is_absolute":false,"changed":false}}],"execute_url":"/v1/tools/path-lexical-normalize/versions/1.0.0/execute"}