{"id":"text-lines-intersection","version":"1.0.0","description":"Set intersection of two line sequences using exact line equality.","supported_operations":["text lines intersection","intersect lines","common lines"],"unsupported_operations":["multiset intersection","trim","case fold","regex"],"semantics":["Split on CR LF, LF, or CR. Do not treat other Unicode separators as line breaks.","A trailing terminator does not create an extra empty line.","Empty document -> zero lines, trailing_terminator false.","A document that is only a terminator -> one empty line, trailing_terminator true.","A document with no terminator -> last line kept, trailing_terminator false.","Preserve empty lines in the middle.","Output reconstruction uses LF. If the result has at least one line, append a trailing LF iff the selected window includes the original trailing terminator or includes a line that was followed by a separator in the source.","No trimming, case folding, Unicode normalization, or locale rules.","Treat each document as a set of exact line bodies (uniqueness inside a and b).","Result is lines that occur in both a and b, in first-seen order from a, unique.","Output trailing terminator follows a when the result is non-empty and a had a trailing terminator."],"limits":{"max_input_bytes":256000,"max_lines":10000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["a","b"],"properties":{"a":{"type":"string","maxLength":256000},"b":{"type":"string","maxLength":256000}}},"output_schema":{"type":"object","additionalProperties":false,"required":["text","lines_in_a","lines_in_b","lines_out"],"properties":{"text":{"type":"string"},"lines_in_a":{"type":"integer"},"lines_in_b":{"type":"integer"},"lines_out":{"type":"integer"}}},"examples":[{"input":{"a":"a\nb\na\nc\n","b":"c\nb\n"},"output":{"text":"b\nc\n","lines_in_a":4,"lines_in_b":2,"lines_out":2}}],"execute_url":"/v1/tools/text-lines-intersection/versions/1.0.0/execute"}