{"id":"text-weighted-edit-distance","version":"1.0.0","description":"Compute bounded weighted insertion, deletion, and substitution distance over text tokens.","supported_operations":["compute weighted edit distance","custom insertion deletion costs","asymmetric string correction cost","priced text transformation","minimum caller weighted edits","weighted wagner fischer distance"],"unsupported_operations":["unbounded text comparison","locale-sensitive collation","semantic similarity scoring"],"semantics":["Caller supplies nonnegative integer insertion, deletion, and substitution costs.","Equal tokens cost zero; all other paths use the Wagner-Fischer recurrence.","Ties do not affect the numeric distance.","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","costs"],"properties":{"source":{"type":"string","maxLength":2048},"target":{"type":"string","maxLength":2048},"token_mode":{"type":"string","enum":["code_point","grapheme"]},"costs":{"type":"object","additionalProperties":false,"required":["insert","delete","substitute"],"properties":{"insert":{"type":"integer","minimum":0,"maximum":1000},"delete":{"type":"integer","minimum":0,"maximum":1000},"substitute":{"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":"a","target":"b","costs":{"insert":2,"delete":2,"substitute":1}},"output":{"distance":1,"source_tokens":1,"target_tokens":1}},{"input":{"source":"","target":"ab","costs":{"insert":3,"delete":1,"substitute":2}},"output":{"distance":6,"source_tokens":0,"target_tokens":2}}],"execute_url":"/v1/tools/text-weighted-edit-distance/versions/1.0.0/execute"}