{"id":"path-set-ignore-filter","version":"1.0.0","description":"Filter paths against gitignore-style rule lines (negation, comments, directory trailing slashes) lexically.","supported_operations":["gitignore filter","ignore filter paths","apply gitignore rules"],"unsupported_operations":["read .gitignore file","filesystem access","stat file"],"semantics":"Blank lines and lines starting with # are comments. Lines starting with ! negate (un-ignore). Trailing / means directory-only match. Patterns are processed in order; later rules override earlier. A path is ignored if the final matching rule is non-negated. kept: not ignored; ignored: are ignored.","limits":{"max_paths":10000,"max_rules":1024,"max_path_bytes":4096,"max_rule_bytes":512},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","required":["paths","rules"],"properties":{"paths":{"type":"array","items":{"type":"string"},"minItems":0,"maxItems":10000},"rules":{"type":"array","items":{"type":"string"},"minItems":0,"maxItems":1024},"case_sensitive":{"type":"boolean"}}},"output_schema":{"type":"object","properties":{"kept":{"type":"array","items":{"type":"string"}},"ignored":{"type":"array","items":{"type":"string"}}}},"examples":[{"input":{"paths":["node_modules/pkg/a.js","src/b.ts","dist/c.js"],"rules":["node_modules/","dist/"]},"output":{"kept":["src/b.ts"],"ignored":["node_modules/pkg/a.js","dist/c.js"]}},{"input":{"paths":["docs/api.md","docs/secret.md"],"rules":["docs/*.md","!docs/api.md"]},"output":{"kept":["docs/api.md"],"ignored":["docs/secret.md"]}}],"execute_url":"/v1/tools/path-set-ignore-filter/versions/1.0.0/execute"}