{"id":"text-damerau-distance","version":"1.0.0","description":"Compute bounded optimal-string-alignment distance with adjacent transpositions.","supported_operations":["compute damerau distance","adjacent transposition distance","detect swapped neighboring characters","optimal string alignment metric","spelling distance with swaps","damerau levenshtein restricted to optimal string alignment"],"unsupported_operations":["unbounded text comparison","locale-sensitive collation","semantic similarity scoring"],"semantics":["Uses the optimal-string-alignment recurrence: unit insert, delete, substitute, and adjacent transpose.","This is the restricted form, not unrestricted Damerau-Levenshtein: \"CA\" to \"ABC\" is 3 here and 2 under the unrestricted distance.","transpose_cost defaults to one; a substring cannot be edited again after transposition.","token_mode defaults to code_point. grapheme is a simple fixed rule, not UAX #29: a token is a character plus any following combining marks, variation selectors and emoji skin-tone modifiers, anything joined by U+200D stays together, and regional indicators pair up. So a\\u200db is one token, and CRLF, Hangul jamo, Indic conjuncts and emoji tag sequences stay split into several.","Pure bounded dynamic programming; no clock, locale, network, or randomness."],"limits":{"max_input_bytes":2048,"max_tokens_per_text":128,"max_cost":1000,"max_cells":16641},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["source","target"],"properties":{"source":{"type":"string","maxLength":2048},"target":{"type":"string","maxLength":2048},"token_mode":{"type":"string","enum":["code_point","grapheme"]},"transpose_cost":{"type":"integer","minimum":0,"maximum":1000}}},"output_schema":{"type":"object","additionalProperties":false,"required":["distance","source_tokens","target_tokens"],"properties":{"distance":{"type":"integer","minimum":0,"maximum":512000},"source_tokens":{"type":"integer","minimum":0,"maximum":128},"target_tokens":{"type":"integer","minimum":0,"maximum":128}}},"examples":[{"input":{"source":"CA","target":"AC"},"output":{"distance":1,"source_tokens":2,"target_tokens":2}},{"input":{"source":"cat","target":"cat"},"output":{"distance":0,"source_tokens":3,"target_tokens":3}}],"execute_url":"/v1/tools/text-damerau-distance/versions/1.0.0/execute"}