For the case where there is only one source language the value of the x_ms_mediaTypes property is an array with only one string defining a media type for all the source files. The string itself should be a media type as defined by RFC6838. As there really isn't an exhaustive list of media types it's really an opaque string between source map producers and consumers but ideally producers should document their media type.
Single source language example:
"sources": ["a.ts", "b.ts"],
For the case where there is mixed source content the source map would look like:
"sources": ["a.ts", "b_old.ts"],
"x_ms_mediaTypes": ["application/x.typescript;version=18.104.22.168", "application/x.typescript;version=22.214.171.124"],
"x_ms_sourceMediaTypes": [0, 1]
In this case the x_ms_mediaTypes array is a list of all the unique media types and an additional property x_ms_sourceMediaTypes is added to map source files to media types using the array indices. In the example below the source file b_old.ts is at index 1 of the sources array and is at index 1 of the x_ms_sourceMediaTypes array which values points to index 1 of the x_ms_mediaTypes which has the value of "application/x.typescript;version=126.96.36.199".
We're looking at adding this in both the TypeScript compiler and the F12 debugger in IE and would love to get feedback from everyone as it seems like it would be useful for all.
* With the hope of it becoming part of the standard in the future.