{"id":"text-replace-exact","version":"1.0.0","description":"Replace exact UTF-16 substrings without regex, case folding, or Unicode normalization.","supported_operations":["text replace exact","exact substring replacement","replace exact text matches"],"unsupported_operations":["regex replacement","case-insensitive replace","unicode normalization","fuzzy matching","read files"],"semantics":["Matching is exact UTF-16 code-unit equality of the search string inside text.","Matches are non-overlapping and consumed left to right; the search is never re-scanned inside a replacement.","An empty search is rejected because it would match unbounded positions.","If max_replacements is omitted, every non-overlapping match is replaced; otherwise at most that many substitutions occur.","Replacement is a literal string; $ sequences are not interpolations.","No case folding, locale compare, or Unicode normalization is performed.","The output text must not exceed 1,048,576 UTF-8 bytes."],"limits":{"max_text_bytes":262144,"max_search_bytes":65536,"max_replacement_bytes":65536,"max_output_bytes":1048576,"max_replacements":1000000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["text","search","replacement"],"properties":{"text":{"type":"string","maxLength":262144},"search":{"type":"string","minLength":1,"maxLength":65536},"replacement":{"type":"string","maxLength":65536},"max_replacements":{"type":"integer","minimum":1,"maximum":1000000}}},"output_schema":{"type":"object","additionalProperties":false,"required":["text","replacements"],"properties":{"text":{"type":"string","maxLength":1048576},"replacements":{"type":"integer","minimum":0}}},"examples":[{"input":{"text":"the cat sat on the mat","search":"at","replacement":"ot"},"output":{"text":"the cot sot on the mot","replacements":3}}],"execute_url":"/v1/tools/text-replace-exact/versions/1.0.0/execute"}