{"id":"ulid-compare","version":"1.0.0","description":"Compare two canonical uppercase ULIDs by their specification-defined lexical order.","supported_operations":["compare canonical ULIDs","sort two ULID values","determine ULID lexical order","order ULIDs chronologically","compare ULID strings strictly","rank two canonical ULIDs"],"unsupported_operations":["sort an unbounded ULID list","normalize invalid ULIDs"],"semantics":["Canonical ULID text is exactly 26 uppercase ASCII Crockford Base32 characters; I, L, O, U, lowercase, whitespace, and first characters 8 through Z are rejected.","The 48-bit timestamp is represented as a canonical unsigned decimal string, avoiding JSON number precision loss.","Inputs are never trimmed or normalized; operations are synchronous, pure, offline, bounded, and deterministic."],"limits":{"max_ulid_bytes":26,"max_ulids":2},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["left","right"],"properties":{"left":{"type":"string","minLength":26,"maxLength":26,"pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"right":{"type":"string","minLength":26,"maxLength":26,"pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["order"],"properties":{"order":{"type":"integer","minimum":-1,"maximum":1}}},"examples":[{"input":{"left":"00000000000000000000000000","right":"00000000000000000000000001"},"output":{"order":-1}},{"input":{"left":"01ARZ3NDEKTSV4RRFFQ69G5FAV","right":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"output":{"order":0}}],"execute_url":"/v1/tools/ulid-compare/versions/1.0.0/execute"}