@mux/ai 0.21.1 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,7 +5,178 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // package.json
8
- var version = "0.21.1";
8
+ var version = "0.22.0";
9
+
10
+ // src/lib/language-codes.ts
11
+ var ISO639_1_TO_3 = {
12
+ // Major world languages
13
+ en: "eng",
14
+ // English
15
+ es: "spa",
16
+ // Spanish
17
+ fr: "fra",
18
+ // French
19
+ de: "deu",
20
+ // German
21
+ it: "ita",
22
+ // Italian
23
+ pt: "por",
24
+ // Portuguese
25
+ ru: "rus",
26
+ // Russian
27
+ zh: "zho",
28
+ // Chinese
29
+ ja: "jpn",
30
+ // Japanese
31
+ ko: "kor",
32
+ // Korean
33
+ ar: "ara",
34
+ // Arabic
35
+ hi: "hin",
36
+ // Hindi
37
+ // European languages
38
+ nl: "nld",
39
+ // Dutch
40
+ pl: "pol",
41
+ // Polish
42
+ sv: "swe",
43
+ // Swedish
44
+ da: "dan",
45
+ // Danish
46
+ no: "nor",
47
+ // Norwegian
48
+ fi: "fin",
49
+ // Finnish
50
+ el: "ell",
51
+ // Greek
52
+ cs: "ces",
53
+ // Czech
54
+ hu: "hun",
55
+ // Hungarian
56
+ ro: "ron",
57
+ // Romanian
58
+ bg: "bul",
59
+ // Bulgarian
60
+ hr: "hrv",
61
+ // Croatian
62
+ sk: "slk",
63
+ // Slovak
64
+ sl: "slv",
65
+ // Slovenian
66
+ uk: "ukr",
67
+ // Ukrainian
68
+ tr: "tur",
69
+ // Turkish
70
+ // Asian languages
71
+ th: "tha",
72
+ // Thai
73
+ vi: "vie",
74
+ // Vietnamese
75
+ id: "ind",
76
+ // Indonesian
77
+ ms: "msa",
78
+ // Malay
79
+ tl: "tgl",
80
+ // Tagalog/Filipino
81
+ // Other languages
82
+ he: "heb",
83
+ // Hebrew
84
+ fa: "fas",
85
+ // Persian/Farsi
86
+ bn: "ben",
87
+ // Bengali
88
+ ta: "tam",
89
+ // Tamil
90
+ te: "tel",
91
+ // Telugu
92
+ mr: "mar",
93
+ // Marathi
94
+ gu: "guj",
95
+ // Gujarati
96
+ kn: "kan",
97
+ // Kannada
98
+ ml: "mal",
99
+ // Malayalam
100
+ pa: "pan",
101
+ // Punjabi
102
+ ur: "urd",
103
+ // Urdu
104
+ sw: "swa",
105
+ // Swahili
106
+ af: "afr",
107
+ // Afrikaans
108
+ ca: "cat",
109
+ // Catalan
110
+ eu: "eus",
111
+ // Basque
112
+ gl: "glg",
113
+ // Galician
114
+ is: "isl",
115
+ // Icelandic
116
+ et: "est",
117
+ // Estonian
118
+ lv: "lav",
119
+ // Latvian
120
+ lt: "lit"
121
+ // Lithuanian
122
+ };
123
+ var ISO639_3_TO_1 = Object.fromEntries(
124
+ Object.entries(ISO639_1_TO_3).map(([iso1, iso3]) => [iso3, iso1])
125
+ );
126
+ function toISO639_3(code) {
127
+ const normalized = code.toLowerCase().trim();
128
+ if (normalized.length === 3) {
129
+ return normalized;
130
+ }
131
+ return ISO639_1_TO_3[normalized] ?? normalized;
132
+ }
133
+ function toISO639_1(code) {
134
+ const normalized = code.toLowerCase().trim();
135
+ if (normalized.length === 2) {
136
+ return normalized;
137
+ }
138
+ return ISO639_3_TO_1[normalized] ?? normalized;
139
+ }
140
+ function getLanguageCodePair(code) {
141
+ const normalized = code.toLowerCase().trim();
142
+ if (normalized.length === 2) {
143
+ return {
144
+ iso639_1: normalized,
145
+ iso639_3: toISO639_3(normalized)
146
+ };
147
+ } else if (normalized.length === 3) {
148
+ return {
149
+ iso639_1: toISO639_1(normalized),
150
+ iso639_3: normalized
151
+ };
152
+ }
153
+ return {
154
+ iso639_1: normalized,
155
+ iso639_3: normalized
156
+ };
157
+ }
158
+ function isValidISO639_1(code) {
159
+ return code.length === 2 && code.toLowerCase() in ISO639_1_TO_3;
160
+ }
161
+ function isValidISO639_3(code) {
162
+ return code.length === 3 && code.toLowerCase() in ISO639_3_TO_1;
163
+ }
164
+ var UNDETERMINED_LANGUAGE_CODES = /* @__PURE__ */ new Set(["und", "mul", "mis", "zxx"]);
165
+ function isUndeterminedLanguageCode(code) {
166
+ return UNDETERMINED_LANGUAGE_CODES.has(code.toLowerCase().trim());
167
+ }
168
+ function getLanguageName(code) {
169
+ if (isUndeterminedLanguageCode(code)) {
170
+ return void 0;
171
+ }
172
+ const iso639_1 = toISO639_1(code);
173
+ try {
174
+ const displayNames = new Intl.DisplayNames(["en"], { type: "language" });
175
+ return displayNames.of(iso639_1) ?? code.toUpperCase();
176
+ } catch {
177
+ return code.toUpperCase();
178
+ }
179
+ }
9
180
 
10
181
  // src/lib/prompt-fragments.ts
11
182
  import dedent from "dedent";
@@ -1158,17 +1329,26 @@ var DEFAULT_EMBEDDING_MODELS = {
1158
1329
  var LANGUAGE_MODELS = {
1159
1330
  openai: ["gpt-5.1", "gpt-5-mini"],
1160
1331
  anthropic: ["claude-sonnet-4-5"],
1161
- google: ["gemini-3-flash-preview", "gemini-3.1-flash-lite-preview", "gemini-2.5-flash"]
1332
+ google: ["gemini-3-flash-preview", "gemini-3.1-flash-lite", "gemini-3.1-flash-lite-preview", "gemini-2.5-flash"]
1162
1333
  };
1163
1334
  var LANGUAGE_MODEL_DEPRECATIONS = [
1164
1335
  {
1165
1336
  provider: "google",
1166
1337
  modelId: "gemini-2.5-flash",
1167
- replacementModelId: "gemini-3.1-flash-lite-preview",
1338
+ replacementModelId: "gemini-3.1-flash-lite",
1168
1339
  phase: "warn",
1169
1340
  deprecatedOn: "2026-03-03",
1170
- sunsetOn: "2026-06-30",
1171
- reason: "Gemini 3.1 Flash-Lite Preview offers better quality/latency/cost balance in current evals."
1341
+ sunsetOn: "2026-06-17",
1342
+ reason: "Gemini 3.1 Flash-Lite offers better quality/latency/cost balance in current evals."
1343
+ },
1344
+ {
1345
+ provider: "google",
1346
+ modelId: "gemini-3.1-flash-lite-preview",
1347
+ replacementModelId: "gemini-3.1-flash-lite",
1348
+ phase: "warn",
1349
+ deprecatedOn: "2026-05-12",
1350
+ sunsetOn: "2026-05-25",
1351
+ reason: "Preview model graduated to the stable Gemini 3.1 Flash-Lite release."
1172
1352
  }
1173
1353
  ];
1174
1354
  var warnedDeprecatedLanguageModels = /* @__PURE__ */ new Set();
@@ -1917,171 +2097,6 @@ async function getThumbnailUrls(playbackId, duration, options = {}) {
1917
2097
  return Promise.all(urlPromises);
1918
2098
  }
1919
2099
 
1920
- // src/lib/language-codes.ts
1921
- var ISO639_1_TO_3 = {
1922
- // Major world languages
1923
- en: "eng",
1924
- // English
1925
- es: "spa",
1926
- // Spanish
1927
- fr: "fra",
1928
- // French
1929
- de: "deu",
1930
- // German
1931
- it: "ita",
1932
- // Italian
1933
- pt: "por",
1934
- // Portuguese
1935
- ru: "rus",
1936
- // Russian
1937
- zh: "zho",
1938
- // Chinese
1939
- ja: "jpn",
1940
- // Japanese
1941
- ko: "kor",
1942
- // Korean
1943
- ar: "ara",
1944
- // Arabic
1945
- hi: "hin",
1946
- // Hindi
1947
- // European languages
1948
- nl: "nld",
1949
- // Dutch
1950
- pl: "pol",
1951
- // Polish
1952
- sv: "swe",
1953
- // Swedish
1954
- da: "dan",
1955
- // Danish
1956
- no: "nor",
1957
- // Norwegian
1958
- fi: "fin",
1959
- // Finnish
1960
- el: "ell",
1961
- // Greek
1962
- cs: "ces",
1963
- // Czech
1964
- hu: "hun",
1965
- // Hungarian
1966
- ro: "ron",
1967
- // Romanian
1968
- bg: "bul",
1969
- // Bulgarian
1970
- hr: "hrv",
1971
- // Croatian
1972
- sk: "slk",
1973
- // Slovak
1974
- sl: "slv",
1975
- // Slovenian
1976
- uk: "ukr",
1977
- // Ukrainian
1978
- tr: "tur",
1979
- // Turkish
1980
- // Asian languages
1981
- th: "tha",
1982
- // Thai
1983
- vi: "vie",
1984
- // Vietnamese
1985
- id: "ind",
1986
- // Indonesian
1987
- ms: "msa",
1988
- // Malay
1989
- tl: "tgl",
1990
- // Tagalog/Filipino
1991
- // Other languages
1992
- he: "heb",
1993
- // Hebrew
1994
- fa: "fas",
1995
- // Persian/Farsi
1996
- bn: "ben",
1997
- // Bengali
1998
- ta: "tam",
1999
- // Tamil
2000
- te: "tel",
2001
- // Telugu
2002
- mr: "mar",
2003
- // Marathi
2004
- gu: "guj",
2005
- // Gujarati
2006
- kn: "kan",
2007
- // Kannada
2008
- ml: "mal",
2009
- // Malayalam
2010
- pa: "pan",
2011
- // Punjabi
2012
- ur: "urd",
2013
- // Urdu
2014
- sw: "swa",
2015
- // Swahili
2016
- af: "afr",
2017
- // Afrikaans
2018
- ca: "cat",
2019
- // Catalan
2020
- eu: "eus",
2021
- // Basque
2022
- gl: "glg",
2023
- // Galician
2024
- is: "isl",
2025
- // Icelandic
2026
- et: "est",
2027
- // Estonian
2028
- lv: "lav",
2029
- // Latvian
2030
- lt: "lit"
2031
- // Lithuanian
2032
- };
2033
- var ISO639_3_TO_1 = Object.fromEntries(
2034
- Object.entries(ISO639_1_TO_3).map(([iso1, iso3]) => [iso3, iso1])
2035
- );
2036
- function toISO639_3(code) {
2037
- const normalized = code.toLowerCase().trim();
2038
- if (normalized.length === 3) {
2039
- return normalized;
2040
- }
2041
- return ISO639_1_TO_3[normalized] ?? normalized;
2042
- }
2043
- function toISO639_1(code) {
2044
- const normalized = code.toLowerCase().trim();
2045
- if (normalized.length === 2) {
2046
- return normalized;
2047
- }
2048
- return ISO639_3_TO_1[normalized] ?? normalized;
2049
- }
2050
- function getLanguageCodePair(code) {
2051
- const normalized = code.toLowerCase().trim();
2052
- if (normalized.length === 2) {
2053
- return {
2054
- iso639_1: normalized,
2055
- iso639_3: toISO639_3(normalized)
2056
- };
2057
- } else if (normalized.length === 3) {
2058
- return {
2059
- iso639_1: toISO639_1(normalized),
2060
- iso639_3: normalized
2061
- };
2062
- }
2063
- return {
2064
- iso639_1: normalized,
2065
- iso639_3: normalized
2066
- };
2067
- }
2068
- var UNDETERMINED_LANGUAGE_CODES = /* @__PURE__ */ new Set(["und", "mul", "mis", "zxx"]);
2069
- function isUndeterminedLanguageCode(code) {
2070
- return UNDETERMINED_LANGUAGE_CODES.has(code.toLowerCase().trim());
2071
- }
2072
- function getLanguageName(code) {
2073
- if (isUndeterminedLanguageCode(code)) {
2074
- return void 0;
2075
- }
2076
- const iso639_1 = toISO639_1(code);
2077
- try {
2078
- const displayNames = new Intl.DisplayNames(["en"], { type: "language" });
2079
- return displayNames.of(iso639_1) ?? code.toUpperCase();
2080
- } catch {
2081
- return code.toUpperCase();
2082
- }
2083
- }
2084
-
2085
2100
  // src/lib/mux-assets.ts
2086
2101
  function getPlaybackId(asset) {
2087
2102
  const playbackIds = asset.playback_ids || [];
@@ -7434,8 +7449,15 @@ export {
7434
7449
  createWorkflowStorageClient,
7435
7450
  decryptFromWorkflow,
7436
7451
  encryptForWorkflow,
7452
+ getLanguageCodePair,
7453
+ getLanguageName,
7454
+ isUndeterminedLanguageCode,
7455
+ isValidISO639_1,
7456
+ isValidISO639_3,
7437
7457
  primitives_exports as primitives,
7438
7458
  setWorkflowCredentialsProvider,
7459
+ toISO639_1,
7460
+ toISO639_3,
7439
7461
  version,
7440
7462
  workflows_exports as workflows,
7441
7463
  wrapError