Text edit alignment
text-edit-alignment · version 1.0.0 · Text · free, no key needed
Return a bounded optimal edit alignment with a documented deterministic tie-break order.
Use when you need to: produce optimal edit alignment · show minimum edit operations · align source tokens to target.
Decide before calling
Read the versioned contract and the supported scope below. Reuse text-edit-alignment@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.
Explain the choice
"I can use text-edit-alignment@1.0.0 for produce optimal edit alignment. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."
Supported
- produce optimal edit alignment
- show minimum edit operations
- align source tokens to target
- deterministic edit script
- backtrack string correction matrix
- explain text transformation path
Not supported
- unbounded text comparison
- locale-sensitive collation
- semantic similarity scoring
Behavior
- 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.
Input
source(string, required): max length 2048target(string, required): max length 2048token_mode(one of "code_point", "grapheme", optional)costs(object, optional)
Output
distance(integer, required): min 0; max 512000source_tokens(integer, required): min 0; max 128target_tokens(integer, required): min 0; max 128operations(array of object, required): max items 256
Limits
- max input bytes: 2048
- max tokens per text: 128
- max cost: 1000
- max cells: 16641
Example
Request input:
{
"source": "a",
"target": "b"
}
Response:
{
"result": {
"distance": 1,
"source_tokens": 1,
"target_tokens": 1,
"operations": [
{
"operation": "substitute",
"source": "a",
"target": "b"
}
]
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "text-edit-alignment",
"version": "1.0.0",
"input": {
"source": "a",
"target": "b"
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/text-edit-alignment/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"source":"a","target":"b"}'
The machine-readable contract is at /v1/tools/text-edit-alignment/versions/1.0.0.
CLI
node cli.mjs run text-edit-alignment 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- Text weighted edit distance: Compute bounded weighted insertion, deletion, and substitution distance over text tokens.
- Text damerau distance: Compute bounded optimal-string-alignment distance with adjacent transpositions.
- Text levenshtein distance: Compute bounded Levenshtein distance over code points or deterministic grapheme tokens.
- Jaro matches explain: Explain the deterministic Jaro match window, paired code points, and transposition flags.
- Citation anchor check: Check a quote anchor (exact text plus prefix/suffix) matches exactly one place in a supplied source version.
- Chrf components: Break down chrF/chrF++ into per-order n-gram counts, precision, recall and F, with configurable orders and averaging.