{"id":"text-edit-alignment","version":"1.0.0","description":"Return a bounded optimal edit alignment with a documented deterministic tie-break order.","supported_operations":["produce optimal edit alignment","show minimum edit operations","align source tokens to target","deterministic edit script","backtrack string correction matrix","explain text transformation path"],"unsupported_operations":["unbounded text comparison","locale-sensitive collation","semantic similarity scoring"],"semantics":["Costs default to one and may be caller supplied as nonnegative integers.","Backtracking tie-break order is match, substitute, delete, insert among optimal predecessors.","Operations are forward ordered; absent sides are represented by the empty string.","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"]},"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","operations"],"properties":{"distance":{"type":"integer","minimum":0,"maximum":512000},"source_tokens":{"type":"integer","minimum":0,"maximum":128},"target_tokens":{"type":"integer","minimum":0,"maximum":128},"operations":{"type":"array","maxItems":256,"items":{"type":"object","additionalProperties":false,"required":["operation","source","target"],"properties":{"operation":{"type":"string","enum":["match","substitute","delete","insert"]},"source":{"type":"string"},"target":{"type":"string"}}}}}},"examples":[{"input":{"source":"a","target":"b"},"output":{"distance":1,"source_tokens":1,"target_tokens":1,"operations":[{"operation":"substitute","source":"a","target":"b"}]}},{"input":{"source":"","target":"a"},"output":{"distance":1,"source_tokens":0,"target_tokens":1,"operations":[{"operation":"insert","source":"","target":"a"}]}}],"execute_url":"/v1/tools/text-edit-alignment/versions/1.0.0/execute"}