codex-chatgpt-control 0.5.0-alpha.1 → 0.5.1-alpha.1

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.
Files changed (164) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/contracts/v1/fixtures/command-descriptors.json +8 -2
  3. package/contracts/v1/parity-suite.json +11 -0
  4. package/dist/codex-chatgpt-control-backend.mjs +1523 -233
  5. package/dist/codex-chatgpt-control.bundle.mjs +1516 -226
  6. package/dist/src/browser/downloads.d.ts +1 -1
  7. package/dist/src/browser/downloads.js +13 -4
  8. package/dist/src/commands/configuration.js +294 -71
  9. package/dist/src/commands/experience.d.ts +1 -0
  10. package/dist/src/commands/experience.js +156 -23
  11. package/dist/src/commands/files.js +159 -3
  12. package/dist/src/commands/registry.js +5 -0
  13. package/dist/src/dom/locale/am.d.ts +14 -1
  14. package/dist/src/dom/locale/am.js +14 -1
  15. package/dist/src/dom/locale/ar.d.ts +14 -1
  16. package/dist/src/dom/locale/ar.js +17 -4
  17. package/dist/src/dom/locale/bg.d.ts +14 -1
  18. package/dist/src/dom/locale/bg.js +17 -4
  19. package/dist/src/dom/locale/bn.d.ts +14 -1
  20. package/dist/src/dom/locale/bn.js +14 -1
  21. package/dist/src/dom/locale/bs.d.ts +13 -1
  22. package/dist/src/dom/locale/bs.js +17 -5
  23. package/dist/src/dom/locale/ca.d.ts +13 -1
  24. package/dist/src/dom/locale/ca.js +18 -6
  25. package/dist/src/dom/locale/cs.d.ts +13 -1
  26. package/dist/src/dom/locale/cs.js +13 -1
  27. package/dist/src/dom/locale/da.d.ts +13 -1
  28. package/dist/src/dom/locale/da.js +14 -2
  29. package/dist/src/dom/locale/de.d.ts +13 -1
  30. package/dist/src/dom/locale/de.js +15 -3
  31. package/dist/src/dom/locale/el.d.ts +14 -1
  32. package/dist/src/dom/locale/el.js +17 -4
  33. package/dist/src/dom/locale/es-419.d.ts +14 -1
  34. package/dist/src/dom/locale/es-419.js +14 -1
  35. package/dist/src/dom/locale/es-ES.d.ts +14 -1
  36. package/dist/src/dom/locale/es-ES.js +14 -1
  37. package/dist/src/dom/locale/et.d.ts +13 -1
  38. package/dist/src/dom/locale/et.js +13 -1
  39. package/dist/src/dom/locale/fa.d.ts +13 -1
  40. package/dist/src/dom/locale/fa.js +15 -3
  41. package/dist/src/dom/locale/fi.d.ts +14 -1
  42. package/dist/src/dom/locale/fi.js +14 -1
  43. package/dist/src/dom/locale/fr-CA.d.ts +12 -1
  44. package/dist/src/dom/locale/fr-CA.js +12 -1
  45. package/dist/src/dom/locale/fr-FR.d.ts +14 -1
  46. package/dist/src/dom/locale/fr-FR.js +18 -5
  47. package/dist/src/dom/locale/gu.d.ts +14 -1
  48. package/dist/src/dom/locale/gu.js +18 -5
  49. package/dist/src/dom/locale/hi.d.ts +14 -1
  50. package/dist/src/dom/locale/hi.js +16 -3
  51. package/dist/src/dom/locale/hr.d.ts +13 -1
  52. package/dist/src/dom/locale/hr.js +16 -4
  53. package/dist/src/dom/locale/hu.d.ts +14 -1
  54. package/dist/src/dom/locale/hu.js +17 -4
  55. package/dist/src/dom/locale/hy.d.ts +14 -1
  56. package/dist/src/dom/locale/hy.js +17 -4
  57. package/dist/src/dom/locale/id.d.ts +13 -1
  58. package/dist/src/dom/locale/id.js +15 -3
  59. package/dist/src/dom/locale/is.d.ts +13 -1
  60. package/dist/src/dom/locale/is.js +13 -1
  61. package/dist/src/dom/locale/it.d.ts +12 -1
  62. package/dist/src/dom/locale/it.js +16 -5
  63. package/dist/src/dom/locale/ja.d.ts +14 -1
  64. package/dist/src/dom/locale/ja.js +18 -5
  65. package/dist/src/dom/locale/ka.d.ts +14 -1
  66. package/dist/src/dom/locale/ka.js +14 -1
  67. package/dist/src/dom/locale/kk.d.ts +14 -1
  68. package/dist/src/dom/locale/kk.js +16 -3
  69. package/dist/src/dom/locale/kn.d.ts +14 -1
  70. package/dist/src/dom/locale/kn.js +18 -5
  71. package/dist/src/dom/locale/ko.d.ts +12 -1
  72. package/dist/src/dom/locale/ko.js +12 -1
  73. package/dist/src/dom/locale/lt.d.ts +14 -1
  74. package/dist/src/dom/locale/lt.js +16 -3
  75. package/dist/src/dom/locale/lv.d.ts +14 -1
  76. package/dist/src/dom/locale/lv.js +14 -1
  77. package/dist/src/dom/locale/mk.d.ts +14 -1
  78. package/dist/src/dom/locale/mk.js +18 -5
  79. package/dist/src/dom/locale/ml.d.ts +14 -1
  80. package/dist/src/dom/locale/ml.js +16 -3
  81. package/dist/src/dom/locale/mn.d.ts +14 -1
  82. package/dist/src/dom/locale/mn.js +14 -1
  83. package/dist/src/dom/locale/mr.d.ts +14 -1
  84. package/dist/src/dom/locale/mr.js +16 -3
  85. package/dist/src/dom/locale/ms.d.ts +12 -1
  86. package/dist/src/dom/locale/ms.js +12 -1
  87. package/dist/src/dom/locale/my.d.ts +14 -1
  88. package/dist/src/dom/locale/my.js +16 -3
  89. package/dist/src/dom/locale/nb.d.ts +13 -1
  90. package/dist/src/dom/locale/nb.js +13 -1
  91. package/dist/src/dom/locale/nl.d.ts +13 -1
  92. package/dist/src/dom/locale/nl.js +15 -3
  93. package/dist/src/dom/locale/pa.d.ts +14 -1
  94. package/dist/src/dom/locale/pa.js +18 -5
  95. package/dist/src/dom/locale/pl.d.ts +13 -1
  96. package/dist/src/dom/locale/pl.js +15 -3
  97. package/dist/src/dom/locale/pt-BR.d.ts +14 -1
  98. package/dist/src/dom/locale/pt-BR.js +16 -3
  99. package/dist/src/dom/locale/pt-PT.d.ts +14 -1
  100. package/dist/src/dom/locale/pt-PT.js +18 -5
  101. package/dist/src/dom/locale/ro.d.ts +12 -1
  102. package/dist/src/dom/locale/ro.js +15 -4
  103. package/dist/src/dom/locale/ru.d.ts +16 -1
  104. package/dist/src/dom/locale/ru.js +17 -2
  105. package/dist/src/dom/locale/sk.d.ts +13 -1
  106. package/dist/src/dom/locale/sk.js +15 -3
  107. package/dist/src/dom/locale/sl.d.ts +13 -1
  108. package/dist/src/dom/locale/sl.js +16 -4
  109. package/dist/src/dom/locale/so.d.ts +14 -1
  110. package/dist/src/dom/locale/so.js +16 -3
  111. package/dist/src/dom/locale/sq.d.ts +12 -1
  112. package/dist/src/dom/locale/sq.js +16 -5
  113. package/dist/src/dom/locale/sr.d.ts +16 -1
  114. package/dist/src/dom/locale/sr.js +17 -2
  115. package/dist/src/dom/locale/sv.d.ts +13 -1
  116. package/dist/src/dom/locale/sv.js +13 -1
  117. package/dist/src/dom/locale/sw.d.ts +14 -1
  118. package/dist/src/dom/locale/sw.js +14 -1
  119. package/dist/src/dom/locale/ta.d.ts +14 -1
  120. package/dist/src/dom/locale/ta.js +18 -5
  121. package/dist/src/dom/locale/te.d.ts +14 -1
  122. package/dist/src/dom/locale/te.js +18 -5
  123. package/dist/src/dom/locale/th.d.ts +6 -1
  124. package/dist/src/dom/locale/th.js +6 -1
  125. package/dist/src/dom/locale/tl.d.ts +8 -1
  126. package/dist/src/dom/locale/tl.js +8 -1
  127. package/dist/src/dom/locale/tr.d.ts +13 -1
  128. package/dist/src/dom/locale/tr.js +15 -3
  129. package/dist/src/dom/locale/uk.d.ts +14 -1
  130. package/dist/src/dom/locale/uk.js +16 -3
  131. package/dist/src/dom/locale/ur.d.ts +14 -1
  132. package/dist/src/dom/locale/ur.js +17 -4
  133. package/dist/src/dom/locale/vi.d.ts +14 -1
  134. package/dist/src/dom/locale/vi.js +17 -4
  135. package/dist/src/dom/locale/zh-HK.d.ts +14 -1
  136. package/dist/src/dom/locale/zh-HK.js +16 -3
  137. package/dist/src/dom/locale/zh-Hans.d.ts +14 -1
  138. package/dist/src/dom/locale/zh-Hans.js +18 -5
  139. package/dist/src/dom/locale/zh-TW.d.ts +14 -1
  140. package/dist/src/dom/locale/zh-TW.js +16 -3
  141. package/dist/src/dom/menus.js +26 -2
  142. package/dist/src/platform/local-paths.d.ts +1 -0
  143. package/dist/src/platform/local-paths.js +7 -3
  144. package/dist/src/scripts/apply-intelligence-locale-captures.d.ts +10 -1
  145. package/dist/src/scripts/apply-intelligence-locale-captures.js +177 -5
  146. package/dist/src/scripts/capture-intelligence-locales.d.ts +5 -0
  147. package/dist/src/scripts/capture-intelligence-locales.js +292 -4
  148. package/dist/src/scripts/capture-surface-profile.d.ts +3 -1
  149. package/dist/src/scripts/capture-surface-profile.js +75 -25
  150. package/dist/src/scripts/live-smoke/scenarios.d.ts +2 -0
  151. package/dist/src/scripts/live-smoke/scenarios.js +314 -5
  152. package/dist/src/scripts/live-smoke.js +1 -0
  153. package/dist/src/scripts/locale-capture/surface-graph.d.ts +26 -0
  154. package/dist/src/scripts/locale-capture/surface-graph.js +43 -0
  155. package/dist/src/scripts/release-canary-module.d.ts +20 -0
  156. package/dist/src/scripts/release-canary-module.js +86 -0
  157. package/dist/src/types.d.ts +3 -0
  158. package/package.json +7 -2
  159. package/references/2026-07-16-chat-work-surfaces.md +13 -0
  160. package/references/backend-protocol.md +11 -4
  161. package/references/language-coverage.md +14 -3
  162. package/references/localization.md +19 -1
  163. package/references/python-parity.md +1 -1
  164. package/references/troubleshooting.md +16 -2
@@ -4,11 +4,11 @@
4
4
  import { createInterface } from "node:readline";
5
5
 
6
6
  // src/commands/artifacts.ts
7
- import { copyFile, mkdir as mkdir2, stat as stat2, writeFile } from "node:fs/promises";
7
+ import { copyFile as copyFile2, mkdir as mkdir2, stat as stat2, writeFile } from "node:fs/promises";
8
8
  import { basename as basename2, join as join2, resolve as resolve2 } from "node:path";
9
9
 
10
10
  // src/browser/downloads.ts
11
- import { mkdir, stat } from "node:fs/promises";
11
+ import { copyFile, mkdir, stat } from "node:fs/promises";
12
12
  import { basename, join, resolve } from "node:path";
13
13
 
14
14
  // src/commands/timeouts.ts
@@ -30,7 +30,7 @@ function localGuardTimeout(timeoutMs, capMs) {
30
30
  }
31
31
 
32
32
  // src/browser/downloads.ts
33
- async function waitForDownloadFromClick(page, click, destDir, timeoutMs) {
33
+ async function waitForDownloadFromClick(page, click, destDir, timeoutMs, filenameHint) {
34
34
  const absoluteDest = resolve(destDir);
35
35
  await mkdir(absoluteDest, { recursive: true });
36
36
  const downloadPromise = page.waitForEvent?.("download", { timeout: timeoutMs, timeoutMs });
@@ -43,12 +43,17 @@ async function waitForDownloadFromClick(page, click, destDir, timeoutMs) {
43
43
  "Download control click did not complete before the local guard timeout."
44
44
  );
45
45
  const download = await downloadPromise;
46
- const suggestedFilename = download.suggestedFilename?.() ?? `chatgpt-download-${Date.now()}`;
46
+ const sourcePath = typeof download.path === "function" ? await download.path() : null;
47
+ const suggestedFilename = filenameHint ?? download.suggestedFilename?.() ?? (sourcePath === null ? void 0 : basename(sourcePath)) ?? `chatgpt-download-${Date.now()}`;
47
48
  const targetPath = join(absoluteDest, basename(suggestedFilename));
48
49
  if (typeof download.saveAs === "function") {
49
50
  await download.saveAs(targetPath);
51
+ } else if (sourcePath !== null) {
52
+ if (resolve(sourcePath) !== resolve(targetPath)) {
53
+ await copyFile(sourcePath, targetPath);
54
+ }
50
55
  } else {
51
- throw new Error("The browser download object does not expose saveAs().");
56
+ throw new Error("The browser download object exposes neither saveAs() nor a completed local path().");
52
57
  }
53
58
  const saved = await stat(targetPath);
54
59
  if (saved.size <= 0) {
@@ -232,6 +237,18 @@ var en = {
232
237
 
233
238
  // src/dom/locale/de.ts
234
239
  var de = {
240
+ configurationAxes: {
241
+ model: ["Modell"],
242
+ effort: ["Aufwand"],
243
+ speed: ["Tempo"]
244
+ },
245
+ configurationOptions: {
246
+ light: ["Leicht"],
247
+ medium: ["Mittel"],
248
+ high: ["Hoch"],
249
+ extraHigh: ["Sehr hoch"],
250
+ fast: ["Schnell"]
251
+ },
235
252
  composerTextbox: ["Mit ChatGPT chatten"],
236
253
  sendButton: ["Aufforderung senden"],
237
254
  searchChatsButton: ["Chats durchsuchen"],
@@ -241,12 +258,12 @@ var de = {
241
258
  addFilesOpenerCandidates: ["Dateien und mehr hinzuf\xFCgen"],
242
259
  addPhotosFilesMenuItem: ["Fotos und Dateien hinzuf\xFCgen"],
243
260
  copyResponse: ["Antwort kopieren"],
244
- modeLabels: ["Sofort", "Mittel", "Hoch", "Extra hoch"],
261
+ modeLabels: ["Sofort", "Mittel", "Hoch", "Extra hoch", "Sehr hoch"],
245
262
  modeOptions: {
246
263
  instant: ["Sofort"],
247
264
  medium: ["Mittel"],
248
265
  high: ["Hoch"],
249
- extraHigh: ["Extra hoch"]
266
+ extraHigh: ["Extra hoch", "Sehr hoch"]
250
267
  },
251
268
  modeOpenerExtra: ["Konfigurieren"],
252
269
  tools: {
@@ -260,6 +277,19 @@ var de = {
260
277
 
261
278
  // src/dom/locale/es-ES.ts
262
279
  var esES = {
280
+ configurationAxes: {
281
+ model: ["Modelo"],
282
+ effort: ["Esfuerzo"],
283
+ speed: ["Velocidad"]
284
+ },
285
+ configurationOptions: {
286
+ light: ["Ligero"],
287
+ medium: ["Media"],
288
+ high: ["Alta"],
289
+ extraHigh: ["Muy alta"],
290
+ standard: ["Est\xE1ndar"],
291
+ fast: ["R\xE1pido"]
292
+ },
263
293
  composerTextbox: ["Chatear con ChatGPT"],
264
294
  sendButton: ["Enviar indicaci\xF3n"],
265
295
  searchChatsButton: ["Buscar chats"],
@@ -289,6 +319,18 @@ var esES = {
289
319
 
290
320
  // src/dom/locale/fr-FR.ts
291
321
  var frFR = {
322
+ configurationAxes: {
323
+ model: ["Mod\xE8le"],
324
+ effort: ["Niveau"],
325
+ speed: ["Vitesse"]
326
+ },
327
+ configurationOptions: {
328
+ light: ["Minimal"],
329
+ medium: ["Moyenne"],
330
+ high: ["\xC9lev\xE9e"],
331
+ extraHigh: ["Tr\xE8s \xE9lev\xE9e"],
332
+ fast: ["Rapide"]
333
+ },
292
334
  composerTextbox: ["Discuter avec ChatGPT"],
293
335
  sendButton: ["Envoyer le prompt"],
294
336
  searchChatsButton: ["Rechercher dans les chats"],
@@ -298,11 +340,12 @@ var frFR = {
298
340
  addFilesOpenerCandidates: ["Ajouter des fichiers et plus encore"],
299
341
  addPhotosFilesMenuItem: ["Ajouter des photos et fichiers"],
300
342
  copyResponse: ["Copier la r\xE9ponse"],
301
- modeLabels: ["Moyen", "Avanc\xE9", "Tr\xE8s \xE9lev\xE9"],
343
+ modeLabels: ["Moyen", "Avanc\xE9", "Tr\xE8s \xE9lev\xE9", "Instantan\xE9e", "Moyenne", "\xC9lev\xE9e", "Tr\xE8s \xE9lev\xE9e"],
302
344
  modeOptions: {
303
- medium: ["Moyen"],
304
- high: ["Avanc\xE9"],
305
- extraHigh: ["Tr\xE8s \xE9lev\xE9"]
345
+ instant: ["Instantan\xE9e"],
346
+ medium: ["Moyen", "Moyenne"],
347
+ high: ["Avanc\xE9", "\xC9lev\xE9e"],
348
+ extraHigh: ["Tr\xE8s \xE9lev\xE9", "Tr\xE8s \xE9lev\xE9e"]
306
349
  },
307
350
  modeOpenerExtra: ["Configurer"],
308
351
  tools: {
@@ -317,6 +360,19 @@ var frFR = {
317
360
 
318
361
  // src/dom/locale/zh-HK.ts
319
362
  var zhHK = {
363
+ configurationAxes: {
364
+ model: ["\u6A21\u578B"],
365
+ effort: ["\u63A8\u7406\u5F37\u5EA6"],
366
+ speed: ["\u56DE\u61C9\u901F\u5EA6"]
367
+ },
368
+ configurationOptions: {
369
+ light: ["\u5FEB\u601D"],
370
+ medium: ["\u4E2D"],
371
+ high: ["\u9AD8"],
372
+ extraHigh: ["\u6975\u9AD8"],
373
+ standard: ["\u6A19\u6E96"],
374
+ fast: ["\u5FEB\u901F"]
375
+ },
320
376
  composerTextbox: ["\u8207 ChatGPT \u5C0D\u8A71"],
321
377
  sendButton: ["\u50B3\u9001\u63D0\u793A"],
322
378
  searchChatsButton: ["\u641C\u5C0B\u5C0D\u8A71"],
@@ -326,10 +382,10 @@ var zhHK = {
326
382
  addFilesOpenerCandidates: ["\u4E0A\u8F09\u6A94\u6848\u548C\u5176\u4ED6\u5185\u5BB9"],
327
383
  addPhotosFilesMenuItem: ["\u52A0\u5165\u76F8\u7247\u548C\u6A94\u6848"],
328
384
  copyResponse: ["\u8907\u88FD\u56DE\u8986"],
329
- modeLabels: ["\u5373\u6642", "\u5747\u8861", "\u9AD8", "\u6975\u9AD8", "\u5C08\u696D", "\u4E2D\u7B49"],
385
+ modeLabels: ["\u5373\u6642", "\u5747\u8861", "\u9AD8", "\u6975\u9AD8", "\u5C08\u696D", "\u4E2D\u7B49", "\u4E2D"],
330
386
  modeOptions: {
331
387
  instant: ["\u5373\u6642"],
332
- medium: ["\u5747\u8861", "\u4E2D\u7B49"],
388
+ medium: ["\u5747\u8861", "\u4E2D\u7B49", "\u4E2D"],
333
389
  high: ["\u9AD8"],
334
390
  extraHigh: ["\u6975\u9AD8"],
335
391
  pro: ["\u5C08\u696D"]
@@ -347,6 +403,19 @@ var zhHK = {
347
403
 
348
404
  // src/dom/locale/zh-TW.ts
349
405
  var zhTW = {
406
+ configurationAxes: {
407
+ model: ["\u6A21\u578B"],
408
+ effort: ["\u63A8\u7406\u5F37\u5EA6"],
409
+ speed: ["\u901F\u5EA6"]
410
+ },
411
+ configurationOptions: {
412
+ light: ["\u5FEB\u601D"],
413
+ medium: ["\u4E2D"],
414
+ high: ["\u9AD8"],
415
+ extraHigh: ["\u6975\u9AD8"],
416
+ standard: ["\u6A19\u6E96"],
417
+ fast: ["\u5FEB\u901F"]
418
+ },
350
419
  composerTextbox: ["\u8207 ChatGPT \u5C0D\u8A71"],
351
420
  sendButton: ["\u50B3\u9001\u63D0\u793A\u8A5E"],
352
421
  searchChatsButton: ["\u641C\u5C0B\u5C0D\u8A71"],
@@ -356,10 +425,10 @@ var zhTW = {
356
425
  addFilesOpenerCandidates: ["\u65B0\u589E\u6A94\u6848\u7B49\u66F4\u591A\u529F\u80FD"],
357
426
  addPhotosFilesMenuItem: ["\u65B0\u589E\u7167\u7247\u548C\u6A94\u6848"],
358
427
  copyResponse: ["\u8907\u88FD\u56DE\u61C9"],
359
- modeLabels: ["\u5373\u6642", "\u4E2D\u7B49", "\u9AD8", "\u8D85\u9AD8", "\u5C08\u696D"],
428
+ modeLabels: ["\u5373\u6642", "\u4E2D\u7B49", "\u9AD8", "\u8D85\u9AD8", "\u5C08\u696D", "\u4E2D"],
360
429
  modeOptions: {
361
430
  instant: ["\u5373\u6642"],
362
- medium: ["\u4E2D\u7B49"],
431
+ medium: ["\u4E2D\u7B49", "\u4E2D"],
363
432
  high: ["\u9AD8"],
364
433
  extraHigh: ["\u8D85\u9AD8"],
365
434
  pro: ["\u5C08\u696D"]
@@ -377,6 +446,19 @@ var zhTW = {
377
446
 
378
447
  // src/dom/locale/ja.ts
379
448
  var ja = {
449
+ configurationAxes: {
450
+ model: ["\u30E2\u30C7\u30EB"],
451
+ effort: ["\u601D\u8003\u30EC\u30D9\u30EB"],
452
+ speed: ["\u901F\u5EA6"]
453
+ },
454
+ configurationOptions: {
455
+ light: ["\u8EFD"],
456
+ medium: ["\u4E2D\u7A0B\u5EA6"],
457
+ high: ["\u9AD8\u3044"],
458
+ extraHigh: ["\u975E\u5E38\u306B\u9AD8\u3044"],
459
+ standard: ["\u6A19\u6E96"],
460
+ fast: ["\u9AD8\u901F"]
461
+ },
380
462
  composerTextbox: ["ChatGPT \u3068\u30C1\u30E3\u30C3\u30C8\u3059\u308B"],
381
463
  sendButton: ["\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u9001\u4FE1\u3059\u308B"],
382
464
  searchChatsButton: ["\u30C1\u30E3\u30C3\u30C8\u3092\u691C\u7D22"],
@@ -386,12 +468,12 @@ var ja = {
386
468
  addFilesOpenerCandidates: ["\u30D5\u30A1\u30A4\u30EB\u306E\u8FFD\u52A0\u306A\u3069"],
387
469
  addPhotosFilesMenuItem: ["\u5199\u771F\u3068\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0"],
388
470
  copyResponse: ["\u56DE\u7B54\u3092\u30B3\u30D4\u30FC\u3059\u308B"],
389
- modeLabels: ["\u6700\u901F", "\u6A19\u6E96", "\u9AD8", "\u6700\u9AD8"],
471
+ modeLabels: ["\u6700\u901F", "\u6A19\u6E96", "\u9AD8", "\u6700\u9AD8", "\u4E2D\u7A0B\u5EA6", "\u9AD8\u3044", "\u975E\u5E38\u306B\u9AD8\u3044"],
390
472
  modeOptions: {
391
473
  instant: ["\u6700\u901F"],
392
- medium: ["\u6A19\u6E96"],
393
- high: ["\u9AD8"],
394
- extraHigh: ["\u6700\u9AD8"]
474
+ medium: ["\u6A19\u6E96", "\u4E2D\u7A0B\u5EA6"],
475
+ high: ["\u9AD8", "\u9AD8\u3044"],
476
+ extraHigh: ["\u6700\u9AD8", "\u975E\u5E38\u306B\u9AD8\u3044"]
395
477
  },
396
478
  modeOpenerExtra: ["\u8A2D\u5B9A\u3059\u308B"],
397
479
  tools: {
@@ -405,6 +487,17 @@ var ja = {
405
487
 
406
488
  // src/dom/locale/it.ts
407
489
  var it = {
490
+ configurationAxes: {
491
+ model: ["Modello"],
492
+ effort: ["Sforzo"],
493
+ speed: ["Velocit\xE0"]
494
+ },
495
+ configurationOptions: {
496
+ medium: ["Medio"],
497
+ high: ["Alto"],
498
+ extraHigh: ["Molto alto"],
499
+ fast: ["Veloce"]
500
+ },
408
501
  composerTextbox: ["Chatta con ChatGPT"],
409
502
  sendButton: ["Invia prompt"],
410
503
  searchChatsButton: ["Cerca chat"],
@@ -414,12 +507,12 @@ var it = {
414
507
  addFilesOpenerCandidates: ["Aggiungi file e altro"],
415
508
  addPhotosFilesMenuItem: ["Aggiungi foto e file"],
416
509
  copyResponse: ["Copia risposta"],
417
- modeLabels: ["Istantanea", "Media", "Alta", "Extra elevata"],
510
+ modeLabels: ["Istantanea", "Media", "Alta", "Extra elevata", "Medio", "Alto", "Molto alto"],
418
511
  modeOptions: {
419
512
  instant: ["Istantanea"],
420
- medium: ["Media"],
421
- high: ["Alta"],
422
- extraHigh: ["Extra elevata"]
513
+ medium: ["Media", "Medio"],
514
+ high: ["Alta", "Alto"],
515
+ extraHigh: ["Extra elevata", "Molto alto"]
423
516
  },
424
517
  modeOpenerExtra: ["Configura"],
425
518
  tools: {
@@ -433,6 +526,19 @@ var it = {
433
526
 
434
527
  // src/dom/locale/vi.ts
435
528
  var vi = {
529
+ configurationAxes: {
530
+ model: ["M\xF4 h\xECnh"],
531
+ effort: ["M\u1EE9c \u0111\u1ED9"],
532
+ speed: ["T\u1ED1c \u0111\u1ED9"]
533
+ },
534
+ configurationOptions: {
535
+ light: ["Nh\u1EB9"],
536
+ medium: ["V\u1EEBa"],
537
+ high: ["Cao"],
538
+ extraHigh: ["Chuy\xEAn s\xE2u"],
539
+ standard: ["Ti\xEAu chu\u1EA9n"],
540
+ fast: ["Nhanh"]
541
+ },
436
542
  composerTextbox: ["Tr\xF2 chuy\u1EC7n v\u1EDBi ChatGPT"],
437
543
  sendButton: ["G\u1EEDi l\u1EDDi nh\u1EAFc"],
438
544
  searchChatsButton: ["T\xECm ki\u1EBFm \u0111o\u1EA1n chat"],
@@ -442,12 +548,12 @@ var vi = {
442
548
  addFilesOpenerCandidates: ["Th\xEAm t\u1EC7p v\xE0 nhi\u1EC1u t\xEDnh n\u0103ng kh\xE1c"],
443
549
  addPhotosFilesMenuItem: ["Th\xEAm \u1EA3nh v\xE0 t\u1EC7p"],
444
550
  copyResponse: ["Sao ch\xE9p ph\u1EA3n h\u1ED3i"],
445
- modeLabels: ["T\u1EE9c th\xEC", "Trung b\xECnh", "Cao", "R\u1EA5t cao"],
551
+ modeLabels: ["T\u1EE9c th\xEC", "Trung b\xECnh", "Cao", "R\u1EA5t cao", "V\u1EEBa", "Chuy\xEAn s\xE2u"],
446
552
  modeOptions: {
447
553
  instant: ["T\u1EE9c th\xEC"],
448
- medium: ["Trung b\xECnh"],
554
+ medium: ["Trung b\xECnh", "V\u1EEBa"],
449
555
  high: ["Cao"],
450
- extraHigh: ["R\u1EA5t cao"]
556
+ extraHigh: ["R\u1EA5t cao", "Chuy\xEAn s\xE2u"]
451
557
  },
452
558
  modeOpenerExtra: ["\u0110\u1ECBnh c\u1EA5u h\xECnh"],
453
559
  tools: {
@@ -462,6 +568,19 @@ var vi = {
462
568
 
463
569
  // src/dom/locale/am.ts
464
570
  var am = {
571
+ configurationAxes: {
572
+ model: ["\u121E\u12F4\u120D"],
573
+ effort: ["\u1325\u1228\u1275"],
574
+ speed: ["\u134D\u1325\u1290\u1275"]
575
+ },
576
+ configurationOptions: {
577
+ light: ["\u1240\u120B\u120D"],
578
+ medium: ["\u1218\u12AB\u12A8\u1208\u129B"],
579
+ high: ["\u12A8\u134D\u1270\u129B"],
580
+ extraHigh: ["\u12A5\u1305\u130D \u12A8\u134D\u1270\u129B"],
581
+ standard: ["\u1218\u12F0\u1260\u129B"],
582
+ fast: ["\u1348\u1323\u1295"]
583
+ },
465
584
  composerTextbox: ["\u12A8ChatGPT \u130B\u122D \u12ED\u12C8\u12EB\u12E9"],
466
585
  sendButton: ["\u1325\u12EB\u1244 \u120B\u12AD"],
467
586
  searchChatsButton: ["\u12CD\u12ED\u12ED\u1276\u127D\u1295 \u1348\u120D\u130D"],
@@ -491,6 +610,19 @@ var am = {
491
610
 
492
611
  // src/dom/locale/ar.ts
493
612
  var ar = {
613
+ configurationAxes: {
614
+ model: ["\u0627\u0644\u0646\u0645\u0648\u0630\u062C"],
615
+ effort: ["\u0627\u0644\u062C\u0647\u062F"],
616
+ speed: ["\u0627\u0644\u0633\u0631\u0639\u0629"]
617
+ },
618
+ configurationOptions: {
619
+ light: ["\u062E\u0641\u064A\u0641"],
620
+ medium: ["\u0645\u062A\u0648\u0633\u0637"],
621
+ high: ["\u0639\u0627\u0644\u064D"],
622
+ extraHigh: ["\u0639\u0627\u0644\u064D \u062C\u062F\u064B\u0627"],
623
+ standard: ["\u0642\u064A\u0627\u0633\u064A"],
624
+ fast: ["\u0633\u0631\u064A\u0639"]
625
+ },
494
626
  composerTextbox: ["\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 ChatGPT"],
495
627
  sendButton: ["\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0633\u0624\u0627\u0644"],
496
628
  searchChatsButton: ["\u0627\u0644\u0628\u062D\u062B \u0641\u064A \u0627\u0644\u062F\u0631\u062F\u0634\u0627\u062A"],
@@ -500,12 +632,12 @@ var ar = {
500
632
  addFilesOpenerCandidates: ["\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0648\u0627\u0644\u0645\u0632\u064A\u062F"],
501
633
  addPhotosFilesMenuItem: ["\u0625\u0636\u0627\u0641\u0629 \u0635\u0648\u0631 \u0648\u0645\u0644\u0641\u0627\u062A"],
502
634
  copyResponse: ["\u0646\u0633\u062E \u0625\u062C\u0627\u0628\u0629"],
503
- modeLabels: ["\u0641\u0648\u0631\u064A", "\u0645\u062A\u0648\u0633\u0637", "\u0639\u0627\u0644\u064A", "\u0645\u0643\u062B\u0641 \u062C\u062F\u064B\u0627", "\u0627\u062D\u062A\u0631\u0627\u0641\u064A"],
635
+ modeLabels: ["\u0641\u0648\u0631\u064A", "\u0645\u062A\u0648\u0633\u0637", "\u0639\u0627\u0644\u064A", "\u0645\u0643\u062B\u0641 \u062C\u062F\u064B\u0627", "\u0627\u062D\u062A\u0631\u0627\u0641\u064A", "\u0639\u0627\u0644\u064D", "\u0639\u0627\u0644\u064D \u062C\u062F\u064B\u0627"],
504
636
  modeOptions: {
505
637
  instant: ["\u0641\u0648\u0631\u064A"],
506
638
  medium: ["\u0645\u062A\u0648\u0633\u0637"],
507
- high: ["\u0639\u0627\u0644\u064A"],
508
- extraHigh: ["\u0645\u0643\u062B\u0641 \u062C\u062F\u064B\u0627"],
639
+ high: ["\u0639\u0627\u0644\u064A", "\u0639\u0627\u0644\u064D"],
640
+ extraHigh: ["\u0645\u0643\u062B\u0641 \u062C\u062F\u064B\u0627", "\u0639\u0627\u0644\u064D \u062C\u062F\u064B\u0627"],
509
641
  pro: ["\u0627\u062D\u062A\u0631\u0627\u0641\u064A"]
510
642
  },
511
643
  modeOpenerExtra: ["\u062A\u0643\u0648\u064A\u0646"],
@@ -521,6 +653,19 @@ var ar = {
521
653
 
522
654
  // src/dom/locale/bg.ts
523
655
  var bg = {
656
+ configurationAxes: {
657
+ model: ["\u041C\u043E\u0434\u0435\u043B"],
658
+ effort: ["\u0423\u0441\u0438\u043B\u0438\u0435"],
659
+ speed: ["\u0421\u043A\u043E\u0440\u043E\u0441\u0442"]
660
+ },
661
+ configurationOptions: {
662
+ light: ["\u041A\u0440\u0430\u0442\u043A\u043E"],
663
+ medium: ["\u0421\u0440\u0435\u0434\u043D\u043E"],
664
+ high: ["\u0412\u0438\u0441\u043E\u043A\u043E"],
665
+ extraHigh: ["\u041C\u043D\u043E\u0433\u043E \u0432\u0438\u0441\u043E\u043A\u043E"],
666
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u043E"],
667
+ fast: ["\u0411\u044A\u0440\u0437\u0430"]
668
+ },
524
669
  composerTextbox: ["\u0427\u0430\u0442 \u0441 ChatGPT"],
525
670
  sendButton: ["\u0418\u0437\u043F\u0440\u0430\u0449\u0430\u043D\u0435 \u043D\u0430 \u043F\u043E\u0434\u043A\u0430\u043D\u0430"],
526
671
  searchChatsButton: ["\u0422\u044A\u0440\u0441\u0435\u043D\u0435 \u043D\u0430 \u0447\u0430\u0442\u043E\u0432\u0435"],
@@ -530,11 +675,11 @@ var bg = {
530
675
  addFilesOpenerCandidates: ["\u0414\u043E\u0431\u0430\u0432\u044F\u043D\u0435 \u043D\u0430 \u0444\u0430\u0439\u043B\u043E\u0432\u0435 \u0438 \u0434\u0440."],
531
676
  addPhotosFilesMenuItem: ["\u0414\u043E\u0431\u0430\u0432\u044F\u043D\u0435 \u043D\u0430 \u0441\u043D\u0438\u043C\u043A\u0438 \u0438 \u0444\u0430\u0439\u043B\u043E\u0432\u0435"],
532
677
  copyResponse: ["\u041A\u043E\u043F\u0438\u0440\u0430\u0439\u0442\u0435 \u043E\u0442\u0433\u043E\u0432\u043E\u0440\u0430"],
533
- modeLabels: ["\u041C\u0438\u0433\u043D\u043E\u0432\u0435\u043D", "\u0421\u0440\u0435\u0434\u0435\u043D", "\u0412\u0438\u0441\u043E\u043A", "\u041C\u043D\u043E\u0433\u043E \u0432\u0438\u0441\u043E\u043A\u043E", "\u041F\u0440\u043E"],
678
+ modeLabels: ["\u041C\u0438\u0433\u043D\u043E\u0432\u0435\u043D", "\u0421\u0440\u0435\u0434\u0435\u043D", "\u0412\u0438\u0441\u043E\u043A", "\u041C\u043D\u043E\u0433\u043E \u0432\u0438\u0441\u043E\u043A\u043E", "\u041F\u0440\u043E", "\u0421\u0440\u0435\u0434\u043D\u043E", "\u0412\u0438\u0441\u043E\u043A\u043E"],
534
679
  modeOptions: {
535
680
  instant: ["\u041C\u0438\u0433\u043D\u043E\u0432\u0435\u043D"],
536
- medium: ["\u0421\u0440\u0435\u0434\u0435\u043D"],
537
- high: ["\u0412\u0438\u0441\u043E\u043A"],
681
+ medium: ["\u0421\u0440\u0435\u0434\u0435\u043D", "\u0421\u0440\u0435\u0434\u043D\u043E"],
682
+ high: ["\u0412\u0438\u0441\u043E\u043A", "\u0412\u0438\u0441\u043E\u043A\u043E"],
538
683
  extraHigh: ["\u041C\u043D\u043E\u0433\u043E \u0432\u0438\u0441\u043E\u043A\u043E"],
539
684
  pro: ["\u041F\u0440\u043E"]
540
685
  },
@@ -551,6 +696,18 @@ var bg = {
551
696
 
552
697
  // src/dom/locale/bs.ts
553
698
  var bs = {
699
+ configurationAxes: {
700
+ effort: ["Napor"],
701
+ speed: ["Brzina"]
702
+ },
703
+ configurationOptions: {
704
+ light: ["Lagano"],
705
+ medium: ["Srednja"],
706
+ high: ["Visoka"],
707
+ extraHigh: ["Veoma visoka"],
708
+ standard: ["Standardno"],
709
+ fast: ["Brzo"]
710
+ },
554
711
  composerTextbox: ["Razgovarajte pomo\u0107u ChatGPT-a"],
555
712
  sendButton: ["Po\u0161alji upit"],
556
713
  searchChatsButton: ["Pretra\u017Ei razgovore"],
@@ -560,12 +717,12 @@ var bs = {
560
717
  addFilesOpenerCandidates: ["Otpremite datoteke i jo\u0161 mnogo toga"],
561
718
  addPhotosFilesMenuItem: ["Dodaj slike i datoteke"],
562
719
  copyResponse: ["Kopiraj odgovor"],
563
- modeLabels: ["Brzo", "Srednji", "Visoko", "Vrlo visoko"],
720
+ modeLabels: ["Brzo", "Srednji", "Visoko", "Vrlo visoko", "Srednja", "Visoka", "Veoma visoka"],
564
721
  modeOptions: {
565
722
  instant: ["Brzo"],
566
- medium: ["Srednji"],
567
- high: ["Visoko"],
568
- extraHigh: ["Vrlo visoko"]
723
+ medium: ["Srednji", "Srednja"],
724
+ high: ["Visoko", "Visoka"],
725
+ extraHigh: ["Vrlo visoko", "Veoma visoka"]
569
726
  },
570
727
  modeOpenerExtra: ["Podesi"],
571
728
  tools: {
@@ -580,6 +737,18 @@ var bs = {
580
737
 
581
738
  // src/dom/locale/ca.ts
582
739
  var ca = {
740
+ configurationAxes: {
741
+ effort: ["Esfor\xE7"],
742
+ speed: ["Velocitat"]
743
+ },
744
+ configurationOptions: {
745
+ light: ["Lleuger"],
746
+ medium: ["Mitjana"],
747
+ high: ["Alta"],
748
+ extraHigh: ["Molt alta"],
749
+ standard: ["Est\xE0ndard"],
750
+ fast: ["R\xE0pid"]
751
+ },
583
752
  composerTextbox: ["Xateja amb el ChatGPT"],
584
753
  sendButton: ["Envia la indicaci\xF3"],
585
754
  searchChatsButton: ["Cerca xats"],
@@ -589,12 +758,12 @@ var ca = {
589
758
  addFilesOpenerCandidates: ["Afegeix fitxers i m\xE9s"],
590
759
  addPhotosFilesMenuItem: ["Afegeix fotos i fitxers"],
591
760
  copyResponse: ["Copia la resposta"],
592
- modeLabels: ["Instantani", "Mitj\xE0", "Alt", "Molt alt"],
761
+ modeLabels: ["Instantani", "Mitj\xE0", "Alt", "Molt alt", "Instant\xE0nia", "Mitjana", "Alta", "Molt alta"],
593
762
  modeOptions: {
594
- instant: ["Instantani"],
595
- medium: ["Mitj\xE0"],
596
- high: ["Alt"],
597
- extraHigh: ["Molt alt"]
763
+ instant: ["Instantani", "Instant\xE0nia"],
764
+ medium: ["Mitj\xE0", "Mitjana"],
765
+ high: ["Alt", "Alta"],
766
+ extraHigh: ["Molt alt", "Molt alta"]
598
767
  },
599
768
  modeOpenerExtra: ["Configura\u2026"],
600
769
  tools: {
@@ -609,6 +778,18 @@ var ca = {
609
778
 
610
779
  // src/dom/locale/cs.ts
611
780
  var cs = {
781
+ configurationAxes: {
782
+ effort: ["\xDAsil\xED"],
783
+ speed: ["Rychlost"]
784
+ },
785
+ configurationOptions: {
786
+ light: ["N\xEDzk\xE1"],
787
+ medium: ["St\u0159edn\xED"],
788
+ high: ["Vysok\xE1"],
789
+ extraHigh: ["Velmi vysok\xE1"],
790
+ standard: ["Standardn\xED"],
791
+ fast: ["Rychl\xE9"]
792
+ },
612
793
  composerTextbox: ["Chatovat s ChatGPT"],
613
794
  sendButton: ["Odeslat v\xFDzvu"],
614
795
  searchChatsButton: ["Hledat chaty"],
@@ -638,6 +819,17 @@ var cs = {
638
819
 
639
820
  // src/dom/locale/da.ts
640
821
  var da = {
822
+ configurationAxes: {
823
+ effort: ["Indsats"],
824
+ speed: ["Hastighed"]
825
+ },
826
+ configurationOptions: {
827
+ light: ["Let"],
828
+ medium: ["Mellem"],
829
+ high: ["H\xF8j"],
830
+ extraHigh: ["Ekstra h\xF8j"],
831
+ fast: ["Hurtig"]
832
+ },
641
833
  composerTextbox: ["Chat med ChatGPT"],
642
834
  sendButton: ["Send foresp\xF8rgsel"],
643
835
  searchChatsButton: ["S\xF8g i chats"],
@@ -647,9 +839,10 @@ var da = {
647
839
  addFilesOpenerCandidates: ["Tilf\xF8j filer og mere"],
648
840
  addPhotosFilesMenuItem: ["Tilf\xF8j billeder og filer"],
649
841
  copyResponse: ["Kopi\xE9r svar"],
650
- modeLabels: ["\xD8jeblikkeligt", "H\xF8j", "Ekstra h\xF8j"],
842
+ modeLabels: ["\xD8jeblikkeligt", "H\xF8j", "Ekstra h\xF8j", "Mellem"],
651
843
  modeOptions: {
652
844
  instant: ["\xD8jeblikkeligt"],
845
+ medium: ["Mellem"],
653
846
  high: ["H\xF8j"],
654
847
  extraHigh: ["Ekstra h\xF8j"]
655
848
  },
@@ -666,6 +859,19 @@ var da = {
666
859
 
667
860
  // src/dom/locale/el.ts
668
861
  var el = {
862
+ configurationAxes: {
863
+ model: ["\u039C\u03BF\u03BD\u03C4\u03AD\u03BB\u03BF"],
864
+ effort: ["\u03A0\u03C1\u03BF\u03C3\u03C0\u03AC\u03B8\u03B5\u03B9\u03B1"],
865
+ speed: ["\u03A4\u03B1\u03C7\u03CD\u03C4\u03B7\u03C4\u03B1"]
866
+ },
867
+ configurationOptions: {
868
+ light: ["\u0395\u03BB\u03B1\u03C6\u03C1\u03B9\u03AC"],
869
+ medium: ["\u039C\u03B5\u03C3\u03B1\u03AF\u03BF"],
870
+ high: ["\u03A5\u03C8\u03B7\u03BB\u03CC"],
871
+ extraHigh: ["\u03A0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03CC"],
872
+ standard: ["\u03A4\u03C5\u03C0\u03B9\u03BA\u03CC"],
873
+ fast: ["\u0393\u03C1\u03AE\u03B3\u03BF\u03C1\u03BF"]
874
+ },
669
875
  composerTextbox: ["\u03A3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03BC\u03B5 \u03C4\u03BF ChatGPT"],
670
876
  sendButton: ["\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE \u03C0\u03C1\u03BF\u03C4\u03C1\u03BF\u03C0\u03AE\u03C2"],
671
877
  searchChatsButton: ["\u0391\u03BD\u03B1\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03B9\u03CE\u03BD"],
@@ -675,11 +881,11 @@ var el = {
675
881
  addFilesOpenerCandidates: ["\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD \u03BA\u03B1\u03B9 \u03AC\u03BB\u03BB\u03B1"],
676
882
  addPhotosFilesMenuItem: ["\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C6\u03C9\u03C4\u03BF\u03B3\u03C1\u03B1\u03C6\u03B9\u03CE\u03BD & \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD"],
677
883
  copyResponse: ["\u0391\u03BD\u03C4\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7\u03C2"],
678
- modeLabels: ["\u0386\u03BC\u03B5\u03C3\u03B7", "\u039C\u03B5\u03C3\u03B1\u03AF\u03B1", "\u03A5\u03C8\u03B7\u03BB\u03AE", "\u03A0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03CC"],
884
+ modeLabels: ["\u0386\u03BC\u03B5\u03C3\u03B7", "\u039C\u03B5\u03C3\u03B1\u03AF\u03B1", "\u03A5\u03C8\u03B7\u03BB\u03AE", "\u03A0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03CC", "\u039C\u03B5\u03C3\u03B1\u03AF\u03BF", "\u03A5\u03C8\u03B7\u03BB\u03CC"],
679
885
  modeOptions: {
680
886
  instant: ["\u0386\u03BC\u03B5\u03C3\u03B7"],
681
- medium: ["\u039C\u03B5\u03C3\u03B1\u03AF\u03B1"],
682
- high: ["\u03A5\u03C8\u03B7\u03BB\u03AE"],
887
+ medium: ["\u039C\u03B5\u03C3\u03B1\u03AF\u03B1", "\u039C\u03B5\u03C3\u03B1\u03AF\u03BF"],
888
+ high: ["\u03A5\u03C8\u03B7\u03BB\u03AE", "\u03A5\u03C8\u03B7\u03BB\u03CC"],
683
889
  extraHigh: ["\u03A0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03CC"]
684
890
  },
685
891
  modeOpenerExtra: ["\u0394\u03B9\u03B1\u03BC\u03CC\u03C1\u03C6\u03C9\u03C3\u03B7\u2026"],
@@ -695,6 +901,19 @@ var el = {
695
901
 
696
902
  // src/dom/locale/es-419.ts
697
903
  var es419 = {
904
+ configurationAxes: {
905
+ model: ["Modelo"],
906
+ effort: ["Esfuerzo"],
907
+ speed: ["Velocidad"]
908
+ },
909
+ configurationOptions: {
910
+ light: ["M\xEDnimo"],
911
+ medium: ["Media"],
912
+ high: ["Alta"],
913
+ extraHigh: ["Muy alta"],
914
+ standard: ["Est\xE1ndar"],
915
+ fast: ["R\xE1pido"]
916
+ },
698
917
  composerTextbox: ["Chatear con ChatGPT"],
699
918
  sendButton: ["Enviar mensaje"],
700
919
  searchChatsButton: ["Buscar chats"],
@@ -724,6 +943,18 @@ var es419 = {
724
943
 
725
944
  // src/dom/locale/et.ts
726
945
  var et = {
946
+ configurationAxes: {
947
+ model: ["Mudel"],
948
+ effort: ["Pingutus"],
949
+ speed: ["Kiirus"]
950
+ },
951
+ configurationOptions: {
952
+ light: ["Kerge"],
953
+ medium: ["Keskmine"],
954
+ high: ["K\xF5rge"],
955
+ extraHigh: ["V\xE4ga k\xF5rge"],
956
+ fast: ["Kiire"]
957
+ },
727
958
  composerTextbox: ["Vestle ChatGPT-ga"],
728
959
  sendButton: ["Saada viip"],
729
960
  searchChatsButton: ["Otsi vestlusi"],
@@ -753,6 +984,18 @@ var et = {
753
984
 
754
985
  // src/dom/locale/fa.ts
755
986
  var fa = {
987
+ configurationAxes: {
988
+ model: ["\u0645\u062F\u0644"],
989
+ effort: ["\u0633\u0637\u062D \u062A\u0644\u0627\u0634"],
990
+ speed: ["\u0633\u0631\u0639\u062A"]
991
+ },
992
+ configurationOptions: {
993
+ light: ["\u0633\u0628\u06A9"],
994
+ medium: ["\u0645\u062A\u0648\u0633\u0637"],
995
+ high: ["\u0628\u0627\u0644\u0627"],
996
+ extraHigh: ["\u0628\u0633\u06CC\u0627\u0631 \u0628\u0627\u0644\u0627"],
997
+ fast: ["\u0633\u0631\u06CC\u0639"]
998
+ },
756
999
  composerTextbox: ["\u06AF\u0641\u062A\u06AF\u0648 \u0628\u0627 ChatGPT"],
757
1000
  sendButton: ["\u0627\u0631\u0633\u0627\u0644 \u062F\u0633\u062A\u0648\u0631"],
758
1001
  searchChatsButton: ["\u062C\u0633\u062A\u200C\u0648\u062C\u0648\u06CC \u0686\u062A\u200C\u0647\u0627"],
@@ -762,12 +1005,12 @@ var fa = {
762
1005
  addFilesOpenerCandidates: ["\u0627\u0641\u0632\u0648\u062F\u0646 \u0641\u0627\u06CC\u0644\u200C\u0647\u0627 \u0648 \u0645\u0648\u0627\u0631\u062F \u0628\u06CC\u0634\u062A\u0631"],
763
1006
  addPhotosFilesMenuItem: ["\u0627\u0641\u0632\u0648\u062F\u0646 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0648 \u0641\u0627\u06CC\u0644\u200C\u0647\u0627"],
764
1007
  copyResponse: ["\u06A9\u067E\u06CC \u06A9\u0631\u062F\u0646 \u067E\u0627\u0633\u062E"],
765
- modeLabels: ["\u0641\u0648\u0631\u06CC", "\u0645\u062A\u0648\u0633\u0637", "\u0628\u0627\u0644\u0627", "\u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F", "\u062D\u0631\u0641\u0647\u200C\u0627\u06CC"],
1008
+ modeLabels: ["\u0641\u0648\u0631\u06CC", "\u0645\u062A\u0648\u0633\u0637", "\u0628\u0627\u0644\u0627", "\u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F", "\u062D\u0631\u0641\u0647\u200C\u0627\u06CC", "\u0628\u0633\u06CC\u0627\u0631 \u0628\u0627\u0644\u0627"],
766
1009
  modeOptions: {
767
1010
  instant: ["\u0641\u0648\u0631\u06CC"],
768
1011
  medium: ["\u0645\u062A\u0648\u0633\u0637"],
769
1012
  high: ["\u0628\u0627\u0644\u0627"],
770
- extraHigh: ["\u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F"],
1013
+ extraHigh: ["\u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F", "\u0628\u0633\u06CC\u0627\u0631 \u0628\u0627\u0644\u0627"],
771
1014
  pro: ["\u062D\u0631\u0641\u0647\u200C\u0627\u06CC"]
772
1015
  },
773
1016
  modeOpenerExtra: ["\u067E\u06CC\u06A9\u0631\u0628\u0646\u062F\u06CC..."],
@@ -783,6 +1026,19 @@ var fa = {
783
1026
 
784
1027
  // src/dom/locale/fi.ts
785
1028
  var fi = {
1029
+ configurationAxes: {
1030
+ model: ["Malli"],
1031
+ effort: ["M\xE4\xE4r\xE4"],
1032
+ speed: ["Nopeus"]
1033
+ },
1034
+ configurationOptions: {
1035
+ light: ["Kevyt"],
1036
+ medium: ["Keskitaso"],
1037
+ high: ["Korkea"],
1038
+ extraHigh: ["Eritt\xE4in korkea"],
1039
+ standard: ["Perustaso"],
1040
+ fast: ["Nopea"]
1041
+ },
786
1042
  composerTextbox: ["Keskustele ChatGPT:n kanssa"],
787
1043
  sendButton: ["L\xE4het\xE4 kehote"],
788
1044
  searchChatsButton: ["Hae keskusteluista"],
@@ -812,6 +1068,17 @@ var fi = {
812
1068
 
813
1069
  // src/dom/locale/fr-CA.ts
814
1070
  var frCA = {
1071
+ configurationAxes: {
1072
+ model: ["Mod\xE8le"],
1073
+ speed: ["Vitesse"]
1074
+ },
1075
+ configurationOptions: {
1076
+ light: ["L\xE9ger"],
1077
+ medium: ["Moyen"],
1078
+ high: ["\xC9lev\xE9"],
1079
+ extraHigh: ["Tr\xE8s \xE9lev\xE9"],
1080
+ fast: ["Rapide"]
1081
+ },
815
1082
  composerTextbox: ["Converser avec ChatGPT"],
816
1083
  sendButton: ["Envoyer la requ\xEAte"],
817
1084
  searchChatsButton: ["Rechercher les clavardages"],
@@ -841,6 +1108,19 @@ var frCA = {
841
1108
 
842
1109
  // src/dom/locale/gu.ts
843
1110
  var gu = {
1111
+ configurationAxes: {
1112
+ model: ["\u0AAE\u0ACB\u0AA1\u0AC7\u0AB2"],
1113
+ effort: ["\u0AAA\u0ACD\u0AB0\u0AAF\u0ABE\u0AB8"],
1114
+ speed: ["\u0A9D\u0AA1\u0AAA"]
1115
+ },
1116
+ configurationOptions: {
1117
+ light: ["\u0AB2\u0ABE\u0A87\u0A9F"],
1118
+ medium: ["\u0AAE\u0AC0\u0AA1\u0ABF\u0AAF\u0AAE"],
1119
+ high: ["\u0AB9\u0ABE\u0A87"],
1120
+ extraHigh: ["\u0A8F\u0A95\u0ACD\u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABE \u0AB9\u0ABE\u0A87"],
1121
+ standard: ["\u0AB8\u0ACD\u0A9F\u0ABE\u0AA8\u0ACD\u0AA1\u0AB0\u0ACD\u0AA1"],
1122
+ fast: ["\u0A9D\u0AA1\u0AAA\u0AC0"]
1123
+ },
844
1124
  composerTextbox: ["ChatGPT \u0AB8\u0ABE\u0AA5\u0AC7 \u0A9A\u0AC5\u0A9F"],
845
1125
  sendButton: ["\u0AAA\u0ACD\u0AB0\u0ACB\u0AAE\u0ACD\u0AAA\u0ACD\u0A9F \u0AAE\u0ACB\u0A95\u0AB2\u0ACB"],
846
1126
  searchChatsButton: ["\u0A9A\u0AC7\u0A9F \u0AB6\u0ACB\u0AA7\u0ACB"],
@@ -850,12 +1130,12 @@ var gu = {
850
1130
  addFilesOpenerCandidates: ["\u0AAB\u0ABE\u0A87\u0AB2\u0ACB \u0A85\u0AA8\u0AC7 \u0AB5\u0AA7\u0AC1 \u0A89\u0AAE\u0AC7\u0AB0\u0ACB"],
851
1131
  addPhotosFilesMenuItem: ["\u0AAB\u0ACB\u0A9F\u0ABE \u0A85\u0AA8\u0AC7 \u0AAB\u0ABE\u0A87\u0AB2\u0ACB \u0A89\u0AAE\u0AC7\u0AB0\u0ACB"],
852
1132
  copyResponse: ["\u0AAA\u0ACD\u0AB0\u0AA4\u0ABF\u0AAD\u0ABE\u0AB5 \u0A95\u0AC9\u0AAA\u0ABF \u0A95\u0AB0\u0ACB"],
853
- modeLabels: ["\u0AA4\u0AB0\u0AA4", "\u0AAE\u0AA7\u0ACD\u0AAF\u0AAE", "\u0A89\u0A9A\u0ACD\u0A9A", "\u0A85\u0AA4\u0ABF \u0A89\u0A9A\u0ACD\u0A9A"],
1133
+ modeLabels: ["\u0AA4\u0AB0\u0AA4", "\u0AAE\u0AA7\u0ACD\u0AAF\u0AAE", "\u0A89\u0A9A\u0ACD\u0A9A", "\u0A85\u0AA4\u0ABF \u0A89\u0A9A\u0ACD\u0A9A", "\u0AAE\u0AC0\u0AA1\u0ABF\u0AAF\u0AAE", "\u0AB9\u0ABE\u0A87", "\u0A8F\u0A95\u0ACD\u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABE \u0AB9\u0ABE\u0A87"],
854
1134
  modeOptions: {
855
1135
  instant: ["\u0AA4\u0AB0\u0AA4"],
856
- medium: ["\u0AAE\u0AA7\u0ACD\u0AAF\u0AAE"],
857
- high: ["\u0A89\u0A9A\u0ACD\u0A9A"],
858
- extraHigh: ["\u0A85\u0AA4\u0ABF \u0A89\u0A9A\u0ACD\u0A9A"]
1136
+ medium: ["\u0AAE\u0AA7\u0ACD\u0AAF\u0AAE", "\u0AAE\u0AC0\u0AA1\u0ABF\u0AAF\u0AAE"],
1137
+ high: ["\u0A89\u0A9A\u0ACD\u0A9A", "\u0AB9\u0ABE\u0A87"],
1138
+ extraHigh: ["\u0A85\u0AA4\u0ABF \u0A89\u0A9A\u0ACD\u0A9A", "\u0A8F\u0A95\u0ACD\u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABE \u0AB9\u0ABE\u0A87"]
859
1139
  },
860
1140
  modeOpenerExtra: ["\u0A95\u0AA8\u0ACD\u0AAB\u0ABF\u0A97\u0AB0 \u0A95\u0AB0\u0ACB..."],
861
1141
  tools: {
@@ -870,6 +1150,19 @@ var gu = {
870
1150
 
871
1151
  // src/dom/locale/hi.ts
872
1152
  var hi = {
1153
+ configurationAxes: {
1154
+ model: ["\u092E\u0949\u0921\u0932"],
1155
+ effort: ["\u092A\u094D\u0930\u092F\u093E\u0938"],
1156
+ speed: ["\u0917\u0924\u093F"]
1157
+ },
1158
+ configurationOptions: {
1159
+ light: ["\u0932\u093E\u0907\u091F"],
1160
+ medium: ["\u092E\u0927\u094D\u092F\u092E"],
1161
+ high: ["\u0909\u091A\u094D\u091A"],
1162
+ extraHigh: ["\u090F\u0915\u094D\u0938\u094D\u091F\u094D\u0930\u093E \u0939\u093E\u0908"],
1163
+ standard: ["\u0938\u094D\u091F\u0948\u0902\u0921\u0930\u094D\u0921"],
1164
+ fast: ["\u0924\u0947\u091C\u093C"]
1165
+ },
873
1166
  composerTextbox: ["ChatGPT \u0915\u0947 \u0938\u093E\u0925 \u091A\u0948\u091F \u0915\u0930\u0947\u0902"],
874
1167
  sendButton: ["\u092A\u094D\u0930\u0949\u092E\u094D\u092A\u094D \u092D\u0947\u091C\u0947\u0902"],
875
1168
  searchChatsButton: ["\u091A\u0948\u091F \u0916\u094B\u091C\u0947\u0902"],
@@ -879,12 +1172,12 @@ var hi = {
879
1172
  addFilesOpenerCandidates: ["\u092B\u093C\u093E\u0907\u0932\u094B\u0902 \u0915\u094B \u091C\u094B\u0921\u093C\u0947\u0902 \u0914\u0930 \u092D\u0940 \u092C\u0939\u0941\u0924 \u0915\u0941\u091B \u0915\u0930\u0947\u0902"],
880
1173
  addPhotosFilesMenuItem: ["\u092B\u093C\u094B\u091F\u094B \u0914\u0930 \u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u091C\u094B\u0921\u093C\u0947\u0902"],
881
1174
  copyResponse: ["\u091C\u0935\u093E\u092C \u0915\u094B \u0915\u0949\u092A\u0940 \u0915\u0930\u0947\u0902"],
882
- modeLabels: ["\u0924\u0941\u0930\u0902\u0924", "\u092E\u0927\u094D\u092F\u092E", "\u0909\u091A\u094D\u091A", "\u092C\u0939\u0941\u0924 \u0909\u091A\u094D\u091A"],
1175
+ modeLabels: ["\u0924\u0941\u0930\u0902\u0924", "\u092E\u0927\u094D\u092F\u092E", "\u0909\u091A\u094D\u091A", "\u092C\u0939\u0941\u0924 \u0909\u091A\u094D\u091A", "\u090F\u0915\u094D\u0938\u094D\u091F\u094D\u0930\u093E \u0939\u093E\u0908"],
883
1176
  modeOptions: {
884
1177
  instant: ["\u0924\u0941\u0930\u0902\u0924"],
885
1178
  medium: ["\u092E\u0927\u094D\u092F\u092E"],
886
1179
  high: ["\u0909\u091A\u094D\u091A"],
887
- extraHigh: ["\u092C\u0939\u0941\u0924 \u0909\u091A\u094D\u091A"]
1180
+ extraHigh: ["\u092C\u0939\u0941\u0924 \u0909\u091A\u094D\u091A", "\u090F\u0915\u094D\u0938\u094D\u091F\u094D\u0930\u093E \u0939\u093E\u0908"]
888
1181
  },
889
1182
  modeOpenerExtra: ["\u0915\u0949\u0928\u094D\u092B\u093C\u093F\u0917\u0930 \u0915\u0930\u0947\u0902..."],
890
1183
  tools: {
@@ -899,6 +1192,18 @@ var hi = {
899
1192
 
900
1193
  // src/dom/locale/hr.ts
901
1194
  var hr = {
1195
+ configurationAxes: {
1196
+ effort: ["Razina napora"],
1197
+ speed: ["Brzina"]
1198
+ },
1199
+ configurationOptions: {
1200
+ light: ["Lagano"],
1201
+ medium: ["Srednja"],
1202
+ high: ["Visoka"],
1203
+ extraHigh: ["Vrlo visoka"],
1204
+ standard: ["Standardno"],
1205
+ fast: ["Brzo"]
1206
+ },
902
1207
  composerTextbox: ["Razgovor s ChatGPT-om"],
903
1208
  sendButton: ["Po\u0161alji odzivnik"],
904
1209
  searchChatsButton: ["Pretra\u017Ei razgovore"],
@@ -908,10 +1213,10 @@ var hr = {
908
1213
  addFilesOpenerCandidates: ["Dodavanje datoteka i ostalo"],
909
1214
  addPhotosFilesMenuItem: ["Dodaj fotografije i datoteke"],
910
1215
  copyResponse: ["Kopiraj odgovor"],
911
- modeLabels: ["Srednje", "Visoko", "Vrlo visoka"],
1216
+ modeLabels: ["Srednje", "Visoko", "Vrlo visoka", "Srednja", "Visoka"],
912
1217
  modeOptions: {
913
- medium: ["Srednje"],
914
- high: ["Visoko"],
1218
+ medium: ["Srednje", "Srednja"],
1219
+ high: ["Visoko", "Visoka"],
915
1220
  extraHigh: ["Vrlo visoka"]
916
1221
  },
917
1222
  modeOpenerExtra: ["Konfiguriraj\u2026"],
@@ -927,6 +1232,19 @@ var hr = {
927
1232
 
928
1233
  // src/dom/locale/hu.ts
929
1234
  var hu = {
1235
+ configurationAxes: {
1236
+ model: ["Modell"],
1237
+ effort: ["R\xE1ford\xEDt\xE1s"],
1238
+ speed: ["Sebess\xE9g"]
1239
+ },
1240
+ configurationOptions: {
1241
+ light: ["Egyszer\u0171"],
1242
+ medium: ["K\xF6zepes"],
1243
+ high: ["Er\u0151s"],
1244
+ extraHigh: ["Extra er\u0151s"],
1245
+ standard: ["Norm\xE1l"],
1246
+ fast: ["Gyors"]
1247
+ },
930
1248
  composerTextbox: ["Cseveg\xE9s a ChatGPT-vel"],
931
1249
  sendButton: ["Utas\xEDt\xE1s k\xFCld\xE9se"],
932
1250
  searchChatsButton: ["Besz\xE9lget\xE9sek keres\xE9se"],
@@ -936,12 +1254,12 @@ var hu = {
936
1254
  addFilesOpenerCandidates: ["F\xE1jlok \xE9s egyebek hozz\xE1ad\xE1sa"],
937
1255
  addPhotosFilesMenuItem: ["Fot\xF3k \xE9s f\xE1jlok hozz\xE1ad\xE1sa"],
938
1256
  copyResponse: ["V\xE1lasz m\xE1sol\xE1sa"],
939
- modeLabels: ["Azonnali", "K\xF6zepes", "Magas", "Kiemelked\u0151en magas"],
1257
+ modeLabels: ["Azonnali", "K\xF6zepes", "Magas", "Kiemelked\u0151en magas", "Er\u0151s", "Extra er\u0151s"],
940
1258
  modeOptions: {
941
1259
  instant: ["Azonnali"],
942
1260
  medium: ["K\xF6zepes"],
943
- high: ["Magas"],
944
- extraHigh: ["Kiemelked\u0151en magas"]
1261
+ high: ["Magas", "Er\u0151s"],
1262
+ extraHigh: ["Kiemelked\u0151en magas", "Extra er\u0151s"]
945
1263
  },
946
1264
  modeOpenerExtra: ["Konfigur\xE1l\xE1s..."],
947
1265
  tools: {
@@ -956,6 +1274,19 @@ var hu = {
956
1274
 
957
1275
  // src/dom/locale/hy.ts
958
1276
  var hy = {
1277
+ configurationAxes: {
1278
+ model: ["\u0544\u0578\u0564\u0565\u056C"],
1279
+ effort: ["\u054B\u0561\u0576\u0584"],
1280
+ speed: ["\u0531\u0580\u0561\u0563\u0578\u0582\u0569\u0575\u0578\u0582\u0576"]
1281
+ },
1282
+ configurationOptions: {
1283
+ light: ["\u0539\u0565\u0569\u0587"],
1284
+ medium: ["\u0544\u056B\u057B\u056B\u0576"],
1285
+ high: ["\u0540\u0566\u0578\u0580"],
1286
+ extraHigh: ["\u0531\u057E\u0565\u056C\u056B \u0570\u0566\u0578\u0580"],
1287
+ standard: ["\u054D\u057F\u0561\u0576\u0564\u0561\u0580\u057F"],
1288
+ fast: ["\u0531\u0580\u0561\u0563"]
1289
+ },
959
1290
  composerTextbox: ["\u0536\u0580\u0578\u0582\u0575\u0581 ChatGPT-\u056B \u0570\u0565\u057F"],
960
1291
  sendButton: ["\u0548\u0582\u0572\u0561\u0580\u056F\u0565\u056C \u0570\u0578\u0582\u0577\u0561\u0576\u056B\u0577"],
961
1292
  searchChatsButton: ["\u0548\u0580\u0578\u0576\u0565\u056C \u0566\u0580\u0578\u0582\u0575\u0581\u0576\u0565\u0580\u0568"],
@@ -965,12 +1296,12 @@ var hy = {
965
1296
  addFilesOpenerCandidates: ["\u0531\u057E\u0565\u056C\u0561\u0581\u0580\u0565\u0584 \u0586\u0561\u0575\u056C\u0565\u0580 \u0587 \u0561\u057E\u0565\u056C\u056B\u0576"],
966
1297
  addPhotosFilesMenuItem: ["\u0531\u057E\u0565\u056C\u0561\u0581\u0576\u0565\u056C \u056C\u0578\u0582\u057D\u0561\u0576\u056F\u0561\u0580\u0576\u0565\u0580 \u0587 \u0586\u0561\u0575\u056C\u0565\u0580"],
967
1298
  copyResponse: ["\u054A\u0561\u057F\u0573\u0565\u0576\u0565\u056C \u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u0568"],
968
- modeLabels: ["\u0531\u056F\u0576\u0569\u0561\u0580\u0569\u0561\u0575\u056B\u0576", "\u0544\u056B\u057B\u056B\u0576", "\u0532\u0561\u0580\u0571\u0580", "\u0547\u0561\u057F \u0562\u0561\u0580\u0571\u0580", "\u054A\u0580\u0578"],
1299
+ modeLabels: ["\u0531\u056F\u0576\u0569\u0561\u0580\u0569\u0561\u0575\u056B\u0576", "\u0544\u056B\u057B\u056B\u0576", "\u0532\u0561\u0580\u0571\u0580", "\u0547\u0561\u057F \u0562\u0561\u0580\u0571\u0580", "\u054A\u0580\u0578", "\u0540\u0566\u0578\u0580", "\u0531\u057E\u0565\u056C\u056B \u0570\u0566\u0578\u0580"],
969
1300
  modeOptions: {
970
1301
  instant: ["\u0531\u056F\u0576\u0569\u0561\u0580\u0569\u0561\u0575\u056B\u0576"],
971
1302
  medium: ["\u0544\u056B\u057B\u056B\u0576"],
972
- high: ["\u0532\u0561\u0580\u0571\u0580"],
973
- extraHigh: ["\u0547\u0561\u057F \u0562\u0561\u0580\u0571\u0580"],
1303
+ high: ["\u0532\u0561\u0580\u0571\u0580", "\u0540\u0566\u0578\u0580"],
1304
+ extraHigh: ["\u0547\u0561\u057F \u0562\u0561\u0580\u0571\u0580", "\u0531\u057E\u0565\u056C\u056B \u0570\u0566\u0578\u0580"],
974
1305
  pro: ["\u054A\u0580\u0578"]
975
1306
  },
976
1307
  modeOpenerExtra: ["\u053F\u0561\u0566\u0574\u0561\u0571\u0587\u0565\u056C\u2024\u2024\u2024"],
@@ -986,6 +1317,18 @@ var hy = {
986
1317
 
987
1318
  // src/dom/locale/id.ts
988
1319
  var id = {
1320
+ configurationAxes: {
1321
+ effort: ["Upaya"],
1322
+ speed: ["Kecepatan"]
1323
+ },
1324
+ configurationOptions: {
1325
+ light: ["Ringan"],
1326
+ medium: ["Sedang"],
1327
+ high: ["Tinggi"],
1328
+ extraHigh: ["Ekstra Tinggi"],
1329
+ standard: ["Standar"],
1330
+ fast: ["Cepat"]
1331
+ },
989
1332
  composerTextbox: ["Obrolan dengan ChatGPT"],
990
1333
  sendButton: ["Kirim perintah"],
991
1334
  searchChatsButton: ["Cari obrolan"],
@@ -995,12 +1338,12 @@ var id = {
995
1338
  addFilesOpenerCandidates: ["Tambahkan file dan lainnya"],
996
1339
  addPhotosFilesMenuItem: ["Tambah foto & file"],
997
1340
  copyResponse: ["Salin respons"],
998
- modeLabels: ["Instan", "Sedang", "Tinggi", "Sangat Tinggi"],
1341
+ modeLabels: ["Instan", "Sedang", "Tinggi", "Sangat Tinggi", "Ekstra Tinggi"],
999
1342
  modeOptions: {
1000
1343
  instant: ["Instan"],
1001
1344
  medium: ["Sedang"],
1002
1345
  high: ["Tinggi"],
1003
- extraHigh: ["Sangat Tinggi"]
1346
+ extraHigh: ["Sangat Tinggi", "Ekstra Tinggi"]
1004
1347
  },
1005
1348
  modeOpenerExtra: ["Konfigurasi..."],
1006
1349
  tools: {
@@ -1015,6 +1358,18 @@ var id = {
1015
1358
 
1016
1359
  // src/dom/locale/is.ts
1017
1360
  var is = {
1361
+ configurationAxes: {
1362
+ model: ["L\xEDkan"],
1363
+ effort: ["\xC1reynsla"],
1364
+ speed: ["Hra\xF0i"]
1365
+ },
1366
+ configurationOptions: {
1367
+ light: ["L\xE9tt"],
1368
+ medium: ["Mi\xF0lungs"],
1369
+ high: ["H\xE1tt"],
1370
+ extraHigh: ["Mj\xF6g h\xE1tt"],
1371
+ fast: ["Hratt"]
1372
+ },
1018
1373
  composerTextbox: ["Spjalla\xF0u vi\xF0 ChatGPT"],
1019
1374
  sendButton: ["Senda kva\xF0ningu"],
1020
1375
  searchChatsButton: ["Leita \xED spj\xF6llum"],
@@ -1044,6 +1399,19 @@ var is = {
1044
1399
 
1045
1400
  // src/dom/locale/ka.ts
1046
1401
  var ka = {
1402
+ configurationAxes: {
1403
+ model: ["\u10DB\u10DD\u10D3\u10D4\u10DA\u10D8"],
1404
+ effort: ["\u10EB\u10D0\u10DA\u10D8\u10E1\u10EE\u10DB\u10D4\u10D5\u10D0"],
1405
+ speed: ["\u10E1\u10D8\u10E9\u10E5\u10D0\u10E0\u10D4"]
1406
+ },
1407
+ configurationOptions: {
1408
+ light: ["\u10DB\u10E1\u10E3\u10D1\u10E3\u10E5\u10D8"],
1409
+ medium: ["\u10E1\u10D0\u10E8\u10E3\u10D0\u10DA\u10DD"],
1410
+ high: ["\u10DB\u10D0\u10E6\u10D0\u10DA\u10D8"],
1411
+ extraHigh: ["\u10EB\u10D0\u10DA\u10D8\u10D0\u10DC \u10DB\u10D0\u10E6\u10D0\u10DA\u10D8"],
1412
+ standard: ["\u10E1\u10E2\u10D0\u10DC\u10D3\u10D0\u10E0\u10E2\u10E3\u10DA\u10D8"],
1413
+ fast: ["\u10E1\u10EC\u10E0\u10D0\u10E4\u10D8"]
1414
+ },
1047
1415
  composerTextbox: ["\u10E1\u10D0\u10E3\u10D1\u10D0\u10E0\u10D8 ChatGPT-\u10E1\u10D7\u10D0\u10DC"],
1048
1416
  sendButton: ["\u10DB\u10DD\u10D7\u10EE\u10DD\u10D5\u10DC\u10D8\u10E1 \u10D2\u10D0\u10D2\u10D6\u10D0\u10D5\u10DC\u10D0"],
1049
1417
  searchChatsButton: ["\u10E9\u10D0\u10E2\u10D4\u10D1\u10D8\u10E1 \u10EB\u10D8\u10D4\u10D1\u10D0"],
@@ -1073,6 +1441,19 @@ var ka = {
1073
1441
 
1074
1442
  // src/dom/locale/kk.ts
1075
1443
  var kk = {
1444
+ configurationAxes: {
1445
+ model: ["\u041C\u043E\u0434\u0435\u043B\u044C"],
1446
+ effort: ["\u041A\u04AF\u0448-\u0436\u0456\u0433\u0435\u0440"],
1447
+ speed: ["\u0416\u044B\u043B\u0434\u0430\u043C\u0434\u044B\u049B"]
1448
+ },
1449
+ configurationOptions: {
1450
+ light: ["\u0416\u0435\u04A3\u0456\u043B"],
1451
+ medium: ["\u041E\u0440\u0442\u0430\u0448\u0430"],
1452
+ high: ["\u0416\u043E\u0493\u0430\u0440\u044B"],
1453
+ extraHigh: ["\u04E8\u0442\u0435 \u0436\u043E\u0493\u0430\u0440\u044B"],
1454
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u0442\u044B"],
1455
+ fast: ["\u0416\u044B\u043B\u0434\u0430\u043C"]
1456
+ },
1076
1457
  composerTextbox: ["ChatGPT-\u043C\u0435\u043D \u0447\u0430\u0442"],
1077
1458
  sendButton: ["\u041A\u04E9\u043C\u0435\u043A\u0441\u04E9\u0437 \u0436\u0456\u0431\u0435\u0440\u0443"],
1078
1459
  searchChatsButton: ["\u0427\u0430\u0442\u0442\u0430\u0440\u0434\u044B \u0456\u0437\u0434\u0435\u0443"],
@@ -1082,12 +1463,12 @@ var kk = {
1082
1463
  addFilesOpenerCandidates: ["\u0424\u0430\u0439\u043B\u0434\u0430\u0440\u0434\u044B \u0436\u04D9\u043D\u0435 \u0431\u0430\u0441\u049B\u0430 \u0434\u0435\u0440\u0435\u043A\u0442\u0435\u0440\u0434\u0456 \u049B\u043E\u0441\u0443"],
1083
1464
  addPhotosFilesMenuItem: ["\u0424\u043E\u0442\u043E\u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u043C\u0435\u043D \u0444\u0430\u0439\u043B\u0434\u0430\u0440 \u049B\u043E\u0441\u0443"],
1084
1465
  copyResponse: ["\u0416\u0430\u0443\u0430\u043F\u0442\u044B \u043A\u04E9\u0448\u0456\u0440\u0443"],
1085
- modeLabels: ["\u0416\u0435\u0434\u0435\u043B", "\u041E\u0440\u0442\u0430\u0448\u0430", "\u0416\u043E\u0493\u0430\u0440\u044B", "\u0410\u0441\u0430 \u0436\u043E\u0493\u0430\u0440\u044B"],
1466
+ modeLabels: ["\u0416\u0435\u0434\u0435\u043B", "\u041E\u0440\u0442\u0430\u0448\u0430", "\u0416\u043E\u0493\u0430\u0440\u044B", "\u0410\u0441\u0430 \u0436\u043E\u0493\u0430\u0440\u044B", "\u04E8\u0442\u0435 \u0436\u043E\u0493\u0430\u0440\u044B"],
1086
1467
  modeOptions: {
1087
1468
  instant: ["\u0416\u0435\u0434\u0435\u043B"],
1088
1469
  medium: ["\u041E\u0440\u0442\u0430\u0448\u0430"],
1089
1470
  high: ["\u0416\u043E\u0493\u0430\u0440\u044B"],
1090
- extraHigh: ["\u0410\u0441\u0430 \u0436\u043E\u0493\u0430\u0440\u044B"]
1471
+ extraHigh: ["\u0410\u0441\u0430 \u0436\u043E\u0493\u0430\u0440\u044B", "\u04E8\u0442\u0435 \u0436\u043E\u0493\u0430\u0440\u044B"]
1091
1472
  },
1092
1473
  modeOpenerExtra: ["\u041A\u043E\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F\u043B\u0430\u0443..."],
1093
1474
  tools: {
@@ -1102,6 +1483,19 @@ var kk = {
1102
1483
 
1103
1484
  // src/dom/locale/kn.ts
1104
1485
  var kn = {
1486
+ configurationAxes: {
1487
+ model: ["\u0CAE\u0CBE\u0CA1\u0CC6\u0CB2\u0CCD"],
1488
+ effort: ["\u0C8E\u0CAB\u0CB0\u0CCD\u0C9F\u0CCD"],
1489
+ speed: ["\u0CB5\u0CC7\u0C97"]
1490
+ },
1491
+ configurationOptions: {
1492
+ light: ["\u0CB2\u0CC8\u0C9F\u0CCD"],
1493
+ medium: ["\u0CAE\u0CC0\u0CA1\u0CBF\u0CAF\u0C82"],
1494
+ high: ["\u0CB9\u0CC8"],
1495
+ extraHigh: ["\u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u200C\u0C9F\u0CCD\u0CB0\u0CBE \u0CB9\u0CC8"],
1496
+ standard: ["\u0CB8\u0CCD\u0C9F\u0CCD\u0CAF\u0CBE\u0C82\u0CA1\u0CB0\u0CCD\u0CA1\u0CCD"],
1497
+ fast: ["\u0CA4\u0CCD\u0CB5\u0CB0\u0CBF\u0CA4"]
1498
+ },
1105
1499
  composerTextbox: ["ChatGPT \u0C9C\u0CCA\u0CA4\u0CC6\u0C97\u0CC6 \u0C9A\u0CBE\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF"],
1106
1500
  sendButton: ["\u0CAA\u0CCD\u0CB0\u0CBE\u0C82\u0CAA\u0CCD\u0C9F\u0CCD\u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0C95\u0CB3\u0CC1\u0CB9\u0CBF\u0CB8\u0CBF"],
1107
1501
  searchChatsButton: ["\u0C9A\u0CBE\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC1\u0CA1\u0CC1\u0C95\u0CBF"],
@@ -1111,12 +1505,12 @@ var kn = {
1111
1505
  addFilesOpenerCandidates: ["\u0CAB\u0CC8\u0CB2\u0CCD\u200C\u0C97\u0CB3\u0CC1 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8\u0CB5\u0CC1\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC7\u0CB0\u0CBF\u0CB8\u0CBF"],
1112
1506
  addPhotosFilesMenuItem: ["\u0CAB\u0CCB\u0C9F\u0CCA \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0CAB\u0CC8\u0CB2\u0CCD\u200C\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC7\u0CB0\u0CBF\u0CB8\u0CBF"],
1113
1507
  copyResponse: ["\u0CAA\u0CCD\u0CB0\u0CA4\u0CBF\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6\u0CAF\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0C95\u0CB2\u0CBF\u0CB8\u0CBF"],
1114
- modeLabels: ["\u0CA4\u0C95\u0CCD\u0CB7\u0CA3", "\u0CAE\u0CA7\u0CCD\u0CAF\u0CAE", "\u0C89\u0CA8\u0CCD\u0CA8\u0CA4", "\u0C85\u0CA4\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1", "\u0CAA\u0CCD\u0CB0\u0CCA"],
1508
+ modeLabels: ["\u0CA4\u0C95\u0CCD\u0CB7\u0CA3", "\u0CAE\u0CA7\u0CCD\u0CAF\u0CAE", "\u0C89\u0CA8\u0CCD\u0CA8\u0CA4", "\u0C85\u0CA4\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1", "\u0CAA\u0CCD\u0CB0\u0CCA", "\u0CAE\u0CC0\u0CA1\u0CBF\u0CAF\u0C82", "\u0CB9\u0CC8", "\u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u200C\u0C9F\u0CCD\u0CB0\u0CBE \u0CB9\u0CC8"],
1115
1509
  modeOptions: {
1116
1510
  instant: ["\u0CA4\u0C95\u0CCD\u0CB7\u0CA3"],
1117
- medium: ["\u0CAE\u0CA7\u0CCD\u0CAF\u0CAE"],
1118
- high: ["\u0C89\u0CA8\u0CCD\u0CA8\u0CA4"],
1119
- extraHigh: ["\u0C85\u0CA4\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1"],
1511
+ medium: ["\u0CAE\u0CA7\u0CCD\u0CAF\u0CAE", "\u0CAE\u0CC0\u0CA1\u0CBF\u0CAF\u0C82"],
1512
+ high: ["\u0C89\u0CA8\u0CCD\u0CA8\u0CA4", "\u0CB9\u0CC8"],
1513
+ extraHigh: ["\u0C85\u0CA4\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1", "\u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u200C\u0C9F\u0CCD\u0CB0\u0CBE \u0CB9\u0CC8"],
1120
1514
  pro: ["\u0CAA\u0CCD\u0CB0\u0CCA"]
1121
1515
  },
1122
1516
  modeOpenerExtra: ["\u0C95\u0CBE\u0CA8\u0CCD\u0CAB\u0CBF\u0C97\u0CB0\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF..."],
@@ -1132,6 +1526,17 @@ var kn = {
1132
1526
 
1133
1527
  // src/dom/locale/ko.ts
1134
1528
  var ko = {
1529
+ configurationAxes: {
1530
+ model: ["\uBAA8\uB378"],
1531
+ effort: ["\uCD94\uB860 \uC218\uC900"],
1532
+ speed: ["\uC18D\uB3C4"]
1533
+ },
1534
+ configurationOptions: {
1535
+ medium: ["\uC911\uAC04"],
1536
+ high: ["\uB192\uC74C"],
1537
+ extraHigh: ["\uB9E4\uC6B0 \uB192\uC74C"],
1538
+ fast: ["\uBE60\uB984"]
1539
+ },
1135
1540
  composerTextbox: ["ChatGPT\uC640 \uCC44\uD305"],
1136
1541
  sendButton: ["\uD504\uB86C\uD504\uD2B8 \uBCF4\uB0B4\uAE30"],
1137
1542
  searchChatsButton: ["\uCC44\uD305 \uAC80\uC0C9"],
@@ -1161,6 +1566,19 @@ var ko = {
1161
1566
 
1162
1567
  // src/dom/locale/lt.ts
1163
1568
  var lt = {
1569
+ configurationAxes: {
1570
+ model: ["Modelis"],
1571
+ effort: ["Pastangos"],
1572
+ speed: ["Greitis"]
1573
+ },
1574
+ configurationOptions: {
1575
+ light: ["Lengvas"],
1576
+ medium: ["Vidutinis"],
1577
+ high: ["Auk\u0161tas"],
1578
+ extraHigh: ["Labai auk\u0161tas"],
1579
+ standard: ["Standartinis"],
1580
+ fast: ["Greitas"]
1581
+ },
1164
1582
  composerTextbox: ["Pokalbis su \u201EChatGPT\u201C"],
1165
1583
  sendButton: ["Si\u0173sti raginim\u0105"],
1166
1584
  searchChatsButton: ["Ie\u0161koti pokalbiuose"],
@@ -1170,12 +1588,12 @@ var lt = {
1170
1588
  addFilesOpenerCandidates: ["\u012Etraukti failus ir daugiau"],
1171
1589
  addPhotosFilesMenuItem: ["Prid\u0117ti nuotrauk\u0173 ir fail\u0173"],
1172
1590
  copyResponse: ["Kopijuoti atsakym\u0105"],
1173
- modeLabels: ["Momentinis", "Vidutinis", "Auk\u0161tas", "Ypa\u010D didelis", "Profesionalus"],
1591
+ modeLabels: ["Momentinis", "Vidutinis", "Auk\u0161tas", "Ypa\u010D didelis", "Profesionalus", "Labai auk\u0161tas"],
1174
1592
  modeOptions: {
1175
1593
  instant: ["Momentinis"],
1176
1594
  medium: ["Vidutinis"],
1177
1595
  high: ["Auk\u0161tas"],
1178
- extraHigh: ["Ypa\u010D didelis"],
1596
+ extraHigh: ["Ypa\u010D didelis", "Labai auk\u0161tas"],
1179
1597
  pro: ["Profesionalus"]
1180
1598
  },
1181
1599
  modeOpenerExtra: ["Konfig\u016Bruoti..."],
@@ -1191,6 +1609,19 @@ var lt = {
1191
1609
 
1192
1610
  // src/dom/locale/zh-Hans.ts
1193
1611
  var zhHans = {
1612
+ configurationAxes: {
1613
+ model: ["\u6A21\u578B"],
1614
+ effort: ["\u63A8\u7406\u5F3A\u5EA6"],
1615
+ speed: ["\u901F\u5EA6"]
1616
+ },
1617
+ configurationOptions: {
1618
+ light: ["\u8F7B\u5EA6"],
1619
+ medium: ["\u4E2D"],
1620
+ high: ["\u9AD8"],
1621
+ extraHigh: ["\u6781\u9AD8"],
1622
+ standard: ["\u6807\u51C6"],
1623
+ fast: ["\u5FEB\u901F"]
1624
+ },
1194
1625
  composerTextbox: ["\u6709\u95EE\u9898\uFF0C\u5C3D\u7BA1\u95EE"],
1195
1626
  sendButton: ["\u53D1\u9001\u63D0\u793A"],
1196
1627
  searchChatsButton: ["\u641C\u7D22\u804A\u5929"],
@@ -1200,12 +1631,12 @@ var zhHans = {
1200
1631
  addFilesOpenerCandidates: ["\u6DFB\u52A0\u6587\u4EF6\u7B49"],
1201
1632
  addPhotosFilesMenuItem: ["\u6DFB\u52A0\u7167\u7247\u548C\u6587\u4EF6"],
1202
1633
  copyResponse: ["\u590D\u5236\u56DE\u590D"],
1203
- modeLabels: ["\u6781\u901F", "\u5747\u8861", "\u9AD8\u7EA7", "\u8D85\u9AD8", "\u4E13\u4E1A"],
1634
+ modeLabels: ["\u6781\u901F", "\u5747\u8861", "\u9AD8\u7EA7", "\u8D85\u9AD8", "\u4E13\u4E1A", "\u4E2D", "\u9AD8", "\u6781\u9AD8"],
1204
1635
  modeOptions: {
1205
1636
  instant: ["\u6781\u901F"],
1206
- medium: ["\u5747\u8861"],
1207
- high: ["\u9AD8\u7EA7"],
1208
- extraHigh: ["\u8D85\u9AD8"],
1637
+ medium: ["\u5747\u8861", "\u4E2D"],
1638
+ high: ["\u9AD8\u7EA7", "\u9AD8"],
1639
+ extraHigh: ["\u8D85\u9AD8", "\u6781\u9AD8"],
1209
1640
  pro: ["\u4E13\u4E1A"]
1210
1641
  },
1211
1642
  modeOpenerExtra: ["\u914D\u7F6E\u2026"],
@@ -1221,6 +1652,19 @@ var zhHans = {
1221
1652
 
1222
1653
  // src/dom/locale/ur.ts
1223
1654
  var ur = {
1655
+ configurationAxes: {
1656
+ model: ["\u0645\u0627\u0688\u0644"],
1657
+ effort: ["\u06A9\u0648\u0634\u0634"],
1658
+ speed: ["\u0631\u0641\u062A\u0627\u0631"]
1659
+ },
1660
+ configurationOptions: {
1661
+ light: ["\u0644\u0627\u0626\u0679"],
1662
+ medium: ["\u0627\u0648\u0633\u0637"],
1663
+ high: ["\u06C1\u0627\u0626\u06CC"],
1664
+ extraHigh: ["\u0627\u06CC\u06A9\u0633\u0679\u0631\u0627 \u06C1\u0627\u0626\u06CC"],
1665
+ standard: ["\u0627\u0633\u0679\u06CC\u0646\u0688\u0631\u0688"],
1666
+ fast: ["\u062A\u06CC\u0632"]
1667
+ },
1224
1668
  composerTextbox: ["\u06A9\u0648\u0626\u06CC \u0628\u06BE\u06CC \u0686\u06CC\u0632 \u067E\u0648\u0686\u06BE\u06CC\u06BA\u06D4\u06D4\u06D4"],
1225
1669
  sendButton: ["\u067E\u0631\u0627\u0645\u067E\u0679 \u0628\u06BE\u06CC\u062C\u06CC\u06BA"],
1226
1670
  searchChatsButton: ["\u0686\u06CC\u0679\u0633 \u062A\u0644\u0627\u0634 \u06A9\u0631\u06CC\u06BA"],
@@ -1230,12 +1674,12 @@ var ur = {
1230
1674
  addFilesOpenerCandidates: ["\u0641\u0627\u0626\u0644\u06CC\u06BA \u0648\u063A\u06CC\u0631\u06C1 \u0627\u067E \u0644\u0648\u0688 \u06A9\u0631\u06CC\u06BA"],
1231
1675
  addPhotosFilesMenuItem: ["\u062A\u0635\u0648\u06CC\u0631\u06CC\u06BA \u0627\u0648\u0631 \u0641\u0627\u0626\u0644\u06CC\u06BA \u0634\u0627\u0645\u0644 \u06A9\u0631\u06CC\u06BA"],
1232
1676
  copyResponse: ["\u062C\u0648\u0627\u0628 \u06A9\u0627\u067E\u06CC \u06A9\u0631\u06CC\u06BA"],
1233
- modeLabels: ["\u0641\u0648\u0631\u06CC", "\u0627\u0648\u0633\u0637", "\u0627\u0639\u0644\u06CC\u0670", "\u0627\u0646\u062A\u06C1\u0627\u0626\u06CC \u0627\u0639\u0644\u06CC\u0670"],
1677
+ modeLabels: ["\u0641\u0648\u0631\u06CC", "\u0627\u0648\u0633\u0637", "\u0627\u0639\u0644\u06CC\u0670", "\u0627\u0646\u062A\u06C1\u0627\u0626\u06CC \u0627\u0639\u0644\u06CC\u0670", "\u06C1\u0627\u0626\u06CC", "\u0627\u06CC\u06A9\u0633\u0679\u0631\u0627 \u06C1\u0627\u0626\u06CC"],
1234
1678
  modeOptions: {
1235
1679
  instant: ["\u0641\u0648\u0631\u06CC"],
1236
1680
  medium: ["\u0627\u0648\u0633\u0637"],
1237
- high: ["\u0627\u0639\u0644\u06CC\u0670"],
1238
- extraHigh: ["\u0627\u0646\u062A\u06C1\u0627\u0626\u06CC \u0627\u0639\u0644\u06CC\u0670"]
1681
+ high: ["\u0627\u0639\u0644\u06CC\u0670", "\u06C1\u0627\u0626\u06CC"],
1682
+ extraHigh: ["\u0627\u0646\u062A\u06C1\u0627\u0626\u06CC \u0627\u0639\u0644\u06CC\u0670", "\u0627\u06CC\u06A9\u0633\u0679\u0631\u0627 \u06C1\u0627\u0626\u06CC"]
1239
1683
  },
1240
1684
  modeOpenerExtra: ["\u06A9\u0646\u0641\u06CC\u06AF\u0631 \u06A9\u0631\u06CC\u06BA..."],
1241
1685
  tools: {
@@ -1250,6 +1694,19 @@ var ur = {
1250
1694
 
1251
1695
  // src/dom/locale/uk.ts
1252
1696
  var uk = {
1697
+ configurationAxes: {
1698
+ model: ["\u041C\u043E\u0434\u0435\u043B\u044C"],
1699
+ effort: ["\u0417\u0443\u0441\u0438\u043B\u043B\u044F"],
1700
+ speed: ["\u0428\u0432\u0438\u0434\u043A\u0456\u0441\u0442\u044C"]
1701
+ },
1702
+ configurationOptions: {
1703
+ light: ["\u041D\u0438\u0437\u044C\u043A\u0438\u0439"],
1704
+ medium: ["\u0421\u0435\u0440\u0435\u0434\u043D\u0456\u0439"],
1705
+ high: ["\u0412\u0438\u0441\u043E\u043A\u0438\u0439"],
1706
+ extraHigh: ["\u041D\u0430\u0439\u0432\u0438\u0449\u0438\u0439"],
1707
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0438\u0439"],
1708
+ fast: ["\u0428\u0432\u0438\u0434\u043A\u0430"]
1709
+ },
1253
1710
  composerTextbox: ["\u0417\u0430\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u0431\u0443\u0434\u044C-\u0449\u043E"],
1254
1711
  sendButton: ["\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0442"],
1255
1712
  searchChatsButton: ["\u041F\u043E\u0448\u0443\u043A \u0447\u0430\u0442\u0456\u0432"],
@@ -1259,12 +1716,12 @@ var uk = {
1259
1716
  addFilesOpenerCandidates: ["\u0414\u043E\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043B\u0438 \u0439 \u0432\u0438\u043A\u043E\u043D\u0443\u0439\u0442\u0435 \u0456\u043D\u0448\u0456 \u0434\u0456\u0457"],
1260
1717
  addPhotosFilesMenuItem: ["\u0414\u043E\u0434\u0430\u0442\u0438 \u0441\u0432\u0456\u0442\u043B\u0438\u043D\u0438 \u0442\u0430 \u0444\u0430\u0439\u043B\u0438"],
1261
1718
  copyResponse: ["\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C"],
1262
- modeLabels: ["\u041C\u0438\u0442\u0442\u0454\u0432\u0438\u0439", "\u0421\u0435\u0440\u0435\u0434\u043D\u0456\u0439", "\u0412\u0438\u0441\u043E\u043A\u0438\u0439", "\u0414\u0443\u0436\u0435 \u0432\u0438\u0441\u043E\u043A\u0438\u0439"],
1719
+ modeLabels: ["\u041C\u0438\u0442\u0442\u0454\u0432\u0438\u0439", "\u0421\u0435\u0440\u0435\u0434\u043D\u0456\u0439", "\u0412\u0438\u0441\u043E\u043A\u0438\u0439", "\u0414\u0443\u0436\u0435 \u0432\u0438\u0441\u043E\u043A\u0438\u0439", "\u041D\u0430\u0439\u0432\u0438\u0449\u0438\u0439"],
1263
1720
  modeOptions: {
1264
1721
  instant: ["\u041C\u0438\u0442\u0442\u0454\u0432\u0438\u0439"],
1265
1722
  medium: ["\u0421\u0435\u0440\u0435\u0434\u043D\u0456\u0439"],
1266
1723
  high: ["\u0412\u0438\u0441\u043E\u043A\u0438\u0439"],
1267
- extraHigh: ["\u0414\u0443\u0436\u0435 \u0432\u0438\u0441\u043E\u043A\u0438\u0439"]
1724
+ extraHigh: ["\u0414\u0443\u0436\u0435 \u0432\u0438\u0441\u043E\u043A\u0438\u0439", "\u041D\u0430\u0439\u0432\u0438\u0449\u0438\u0439"]
1268
1725
  },
1269
1726
  modeOpenerExtra: ["\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438\u2026"],
1270
1727
  tools: {
@@ -1279,6 +1736,19 @@ var uk = {
1279
1736
 
1280
1737
  // src/dom/locale/pt-BR.ts
1281
1738
  var ptBR = {
1739
+ configurationAxes: {
1740
+ model: ["Modelo"],
1741
+ effort: ["Esfor\xE7o"],
1742
+ speed: ["Velocidade"]
1743
+ },
1744
+ configurationOptions: {
1745
+ light: ["Leve"],
1746
+ medium: ["M\xE9dio"],
1747
+ high: ["Alto"],
1748
+ extraHigh: ["Extra alto"],
1749
+ standard: ["Padr\xE3o"],
1750
+ fast: ["R\xE1pido"]
1751
+ },
1282
1752
  composerTextbox: ["Pergunte alguma coisa"],
1283
1753
  sendButton: ["Enviar prompt"],
1284
1754
  searchChatsButton: ["Buscar chats"],
@@ -1288,12 +1758,12 @@ var ptBR = {
1288
1758
  addFilesOpenerCandidates: ["Adicionar arquivos e mais"],
1289
1759
  addPhotosFilesMenuItem: ["Carregar fotos e arquivos"],
1290
1760
  copyResponse: ["Copiar resposta"],
1291
- modeLabels: ["Instant\xE2neo", "M\xE9dio", "Alto", "Muito alta"],
1761
+ modeLabels: ["Instant\xE2neo", "M\xE9dio", "Alto", "Muito alta", "Extra alto"],
1292
1762
  modeOptions: {
1293
1763
  instant: ["Instant\xE2neo"],
1294
1764
  medium: ["M\xE9dio"],
1295
1765
  high: ["Alto"],
1296
- extraHigh: ["Muito alta"]
1766
+ extraHigh: ["Muito alta", "Extra alto"]
1297
1767
  },
1298
1768
  modeOpenerExtra: ["Configurar\u2026"],
1299
1769
  tools: {
@@ -1308,6 +1778,19 @@ var ptBR = {
1308
1778
 
1309
1779
  // src/dom/locale/pt-PT.ts
1310
1780
  var ptPT = {
1781
+ configurationAxes: {
1782
+ model: ["Modelo"],
1783
+ effort: ["Esfor\xE7o"],
1784
+ speed: ["Velocidade"]
1785
+ },
1786
+ configurationOptions: {
1787
+ light: ["Leve"],
1788
+ medium: ["M\xE9dio"],
1789
+ high: ["Elevado"],
1790
+ extraHigh: ["Muito elevado"],
1791
+ standard: ["Padr\xE3o"],
1792
+ fast: ["R\xE1pido"]
1793
+ },
1311
1794
  composerTextbox: ["Pergunte qualquer coisa"],
1312
1795
  sendButton: ["Enviar prompt"],
1313
1796
  searchChatsButton: ["Pesquisar chats"],
@@ -1317,12 +1800,12 @@ var ptPT = {
1317
1800
  addFilesOpenerCandidates: ["Adicionar ficheiros e mais"],
1318
1801
  addPhotosFilesMenuItem: ["Carregar fotos e ficheiros"],
1319
1802
  copyResponse: ["Copiar resposta"],
1320
- modeLabels: ["Instant\xE2neo", "M\xE9dia", "Alta", "M\xE1ximo"],
1803
+ modeLabels: ["Instant\xE2neo", "M\xE9dia", "Alta", "M\xE1ximo", "M\xE9dio", "Elevado", "Muito elevado"],
1321
1804
  modeOptions: {
1322
1805
  instant: ["Instant\xE2neo"],
1323
- medium: ["M\xE9dia"],
1324
- high: ["Alta"],
1325
- extraHigh: ["M\xE1ximo"]
1806
+ medium: ["M\xE9dia", "M\xE9dio"],
1807
+ high: ["Alta", "Elevado"],
1808
+ extraHigh: ["M\xE1ximo", "Muito elevado"]
1326
1809
  },
1327
1810
  modeOpenerExtra: ["Configurar..."],
1328
1811
  tools: {
@@ -1337,6 +1820,18 @@ var ptPT = {
1337
1820
 
1338
1821
  // src/dom/locale/pl.ts
1339
1822
  var pl = {
1823
+ configurationAxes: {
1824
+ effort: ["Nak\u0142ad pracy"],
1825
+ speed: ["Szybko\u015B\u0107"]
1826
+ },
1827
+ configurationOptions: {
1828
+ light: ["Lekki"],
1829
+ medium: ["\u015Aredni"],
1830
+ high: ["Wysoki"],
1831
+ extraHigh: ["Bardzo wysoki"],
1832
+ standard: ["Standardowy"],
1833
+ fast: ["Szybki"]
1834
+ },
1340
1835
  composerTextbox: ["Zapytaj o cokolwiek"],
1341
1836
  sendButton: ["Wy\u015Blij polecenie"],
1342
1837
  searchChatsButton: ["Szukaj czat\xF3w"],
@@ -1346,11 +1841,11 @@ var pl = {
1346
1841
  addFilesOpenerCandidates: ["Dodawaj pliki i nie tylko"],
1347
1842
  addPhotosFilesMenuItem: ["Prze\u015Blij zdj\u0119cia i pliki"],
1348
1843
  copyResponse: ["Kopiuj odpowied\u017A"],
1349
- modeLabels: ["B\u0142yskawiczny", "\u015Aredni", "Zaawansowana", "Bardzo wysoki"],
1844
+ modeLabels: ["B\u0142yskawiczny", "\u015Aredni", "Zaawansowana", "Bardzo wysoki", "Wysoki"],
1350
1845
  modeOptions: {
1351
1846
  instant: ["B\u0142yskawiczny"],
1352
1847
  medium: ["\u015Aredni"],
1353
- high: ["Zaawansowana"],
1848
+ high: ["Zaawansowana", "Wysoki"],
1354
1849
  extraHigh: ["Bardzo wysoki"]
1355
1850
  },
1356
1851
  modeOpenerExtra: ["Skonfiguruj..."],
@@ -1366,6 +1861,18 @@ var pl = {
1366
1861
 
1367
1862
  // src/dom/locale/sk.ts
1368
1863
  var sk = {
1864
+ configurationAxes: {
1865
+ effort: ["\xDAsilie"],
1866
+ speed: ["R\xFDchlos\u0165"]
1867
+ },
1868
+ configurationOptions: {
1869
+ light: ["\u013Dahk\xE9"],
1870
+ medium: ["Stredn\xE1"],
1871
+ high: ["Vysok\xE1"],
1872
+ extraHigh: ["Ve\u013Emi vysok\xE1"],
1873
+ standard: ["\u0160tandardn\xE1"],
1874
+ fast: ["R\xFDchla"]
1875
+ },
1369
1876
  composerTextbox: ["Sp\xFDtaj sa hoci\u010Do\u2026"],
1370
1877
  sendButton: ["Odosla\u0165 pr\xEDkaz"],
1371
1878
  searchChatsButton: ["H\u013Eada\u0165 v \u010Detoch"],
@@ -1375,12 +1882,12 @@ var sk = {
1375
1882
  addFilesOpenerCandidates: ["Prida\u0165 s\xFAbory a in\xE9"],
1376
1883
  addPhotosFilesMenuItem: ["Nahra\u0165 fotografie a s\xFAbory"],
1377
1884
  copyResponse: ["Kop\xEDrova\u0165 odpove\u010F"],
1378
- modeLabels: ["Okam\u017Eit\xE1", "Stredn\xE1", "Vysok\xE1", "Extra vysok\xE1"],
1885
+ modeLabels: ["Okam\u017Eit\xE1", "Stredn\xE1", "Vysok\xE1", "Extra vysok\xE1", "Ve\u013Emi vysok\xE1"],
1379
1886
  modeOptions: {
1380
1887
  instant: ["Okam\u017Eit\xE1"],
1381
1888
  medium: ["Stredn\xE1"],
1382
1889
  high: ["Vysok\xE1"],
1383
- extraHigh: ["Extra vysok\xE1"]
1890
+ extraHigh: ["Extra vysok\xE1", "Ve\u013Emi vysok\xE1"]
1384
1891
  },
1385
1892
  modeOpenerExtra: ["Konfigurova\u0165..."],
1386
1893
  tools: {
@@ -1395,6 +1902,17 @@ var sk = {
1395
1902
 
1396
1903
  // src/dom/locale/ro.ts
1397
1904
  var ro = {
1905
+ configurationAxes: {
1906
+ effort: ["Efort"],
1907
+ speed: ["Vitez\u0103"]
1908
+ },
1909
+ configurationOptions: {
1910
+ light: ["U\u0219or"],
1911
+ medium: ["Medie"],
1912
+ high: ["Ridicat\u0103"],
1913
+ extraHigh: ["Foarte ridicat\u0103"],
1914
+ fast: ["Rapid"]
1915
+ },
1398
1916
  composerTextbox: ["\xCEntreab\u0103 orice"],
1399
1917
  sendButton: ["Trimite solicitarea"],
1400
1918
  searchChatsButton: ["Caut\u0103 discu\u021Bii"],
@@ -1404,10 +1922,10 @@ var ro = {
1404
1922
  addFilesOpenerCandidates: ["Adaug\u0103 fi\u0219iere \u0219i multe altele"],
1405
1923
  addPhotosFilesMenuItem: ["\xCEncarc\u0103 fotografii \u0219i fi\u0219iere"],
1406
1924
  copyResponse: ["Copiaz\u0103 r\u0103spunsul"],
1407
- modeLabels: ["Mediu", "Ridicat", "Foarte ridicat\u0103"],
1925
+ modeLabels: ["Mediu", "Ridicat", "Foarte ridicat\u0103", "Medie", "Ridicat\u0103"],
1408
1926
  modeOptions: {
1409
- medium: ["Mediu"],
1410
- high: ["Ridicat"],
1927
+ medium: ["Mediu", "Medie"],
1928
+ high: ["Ridicat", "Ridicat\u0103"],
1411
1929
  extraHigh: ["Foarte ridicat\u0103"]
1412
1930
  },
1413
1931
  modeOpenerExtra: ["Configureaz\u0103..."],
@@ -1423,6 +1941,18 @@ var ro = {
1423
1941
 
1424
1942
  // src/dom/locale/nb.ts
1425
1943
  var nb = {
1944
+ configurationAxes: {
1945
+ model: ["Modell"],
1946
+ effort: ["Innsats"],
1947
+ speed: ["Hastighet"]
1948
+ },
1949
+ configurationOptions: {
1950
+ light: ["Lett"],
1951
+ medium: ["Middels"],
1952
+ high: ["H\xF8y"],
1953
+ extraHigh: ["Ekstra h\xF8y"],
1954
+ fast: ["Rask"]
1955
+ },
1426
1956
  composerTextbox: ["Sp\xF8r om hva som helst"],
1427
1957
  sendButton: ["Send melding"],
1428
1958
  searchChatsButton: ["S\xF8k i samtaler"],
@@ -1452,6 +1982,19 @@ var nb = {
1452
1982
 
1453
1983
  // src/dom/locale/ml.ts
1454
1984
  var ml = {
1985
+ configurationAxes: {
1986
+ model: ["\u0D2E\u0D4B\u0D21\u0D7D"],
1987
+ effort: ["\u0D36\u0D4D\u0D30\u0D2E\u0D02"],
1988
+ speed: ["\u0D35\u0D47\u0D17\u0D24"]
1989
+ },
1990
+ configurationOptions: {
1991
+ light: ["\u0D32\u0D33\u0D3F\u0D24\u0D02"],
1992
+ medium: ["\u0D07\u0D1F\u0D24\u0D4D\u0D24\u0D30\u0D02"],
1993
+ high: ["\u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D"],
1994
+ extraHigh: ["\u0D05\u0D24\u0D4D\u0D2F\u0D27\u0D3F\u0D15\u0D02 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D"],
1995
+ standard: ["\u0D05\u0D1F\u0D3F\u0D38\u0D4D\u0D25\u0D3E\u0D28\u0D02"],
1996
+ fast: ["\u0D35\u0D47\u0D17\u0D02"]
1997
+ },
1455
1998
  composerTextbox: ["\u0D0E\u0D28\u0D4D\u0D24\u0D41\u0D02 \u0D1A\u0D4B\u0D26\u0D3F\u0D15\u0D4D\u0D15\u0D41\u0D15"],
1456
1999
  sendButton: ["\u0D2A\u0D4D\u0D30\u0D4B\u0D02\u0D2A\u0D4D\u0D31\u0D4D\u0D31\u0D4D \u0D05\u0D2F\u0D2F\u0D4D\u0D15\u0D4D\u0D15\u0D41\u0D15"],
1457
2000
  searchChatsButton: ["\u0D1A\u0D3E\u0D31\u0D4D\u0D31\u0D41\u0D15\u0D7E \u0D24\u0D3F\u0D30\u0D2F\u0D41\u0D15"],
@@ -1461,12 +2004,12 @@ var ml = {
1461
2004
  addFilesOpenerCandidates: ["\u0D2B\u0D2F\u0D32\u0D41\u0D15\u0D33\u0D41\u0D02 \u0D2E\u0D31\u0D4D\u0D31\u0D41\u0D02 \u0D1A\u0D47\u0D7C\u0D15\u0D4D\u0D15\u0D41\u0D15"],
1462
2005
  addPhotosFilesMenuItem: ["\u0D2B\u0D4B\u0D1F\u0D4D\u0D1F\u0D4B\u0D15\u0D33\u0D41\u0D02 \u0D2B\u0D2F\u0D32\u0D41\u0D15\u0D33\u0D41\u0D02 \u0D05\u0D2A\u0D4D\u200C\u0D32\u0D4B\u0D21\u0D4D \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D15"],
1463
2006
  copyResponse: ["\u0D2E\u0D31\u0D41\u0D2A\u0D1F\u0D3F \u0D15\u0D4B\u0D2A\u0D4D\u0D2A\u0D3F \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D15"],
1464
- modeLabels: ["\u0D24\u0D7D\u0D15\u0D4D\u0D37\u0D23\u0D02", "\u0D07\u0D1F\u0D24\u0D4D\u0D24\u0D30\u0D02", "\u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D", "\u0D35\u0D33\u0D30\u0D46 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28", "\u0D2A\u0D4D\u0D30\u0D4B"],
2007
+ modeLabels: ["\u0D24\u0D7D\u0D15\u0D4D\u0D37\u0D23\u0D02", "\u0D07\u0D1F\u0D24\u0D4D\u0D24\u0D30\u0D02", "\u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D", "\u0D35\u0D33\u0D30\u0D46 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28", "\u0D2A\u0D4D\u0D30\u0D4B", "\u0D05\u0D24\u0D4D\u0D2F\u0D27\u0D3F\u0D15\u0D02 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D"],
1465
2008
  modeOptions: {
1466
2009
  instant: ["\u0D24\u0D7D\u0D15\u0D4D\u0D37\u0D23\u0D02"],
1467
2010
  medium: ["\u0D07\u0D1F\u0D24\u0D4D\u0D24\u0D30\u0D02"],
1468
2011
  high: ["\u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D"],
1469
- extraHigh: ["\u0D35\u0D33\u0D30\u0D46 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28"],
2012
+ extraHigh: ["\u0D35\u0D33\u0D30\u0D46 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28", "\u0D05\u0D24\u0D4D\u0D2F\u0D27\u0D3F\u0D15\u0D02 \u0D09\u0D2F\u0D7C\u0D28\u0D4D\u0D28\u0D24\u0D4D"],
1470
2013
  pro: ["\u0D2A\u0D4D\u0D30\u0D4B"]
1471
2014
  },
1472
2015
  modeOpenerExtra: ["\u0D15\u0D4B\u0D7A\u0D2B\u0D3F\u0D17\u0D7C \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D15\u2026"],
@@ -1482,6 +2025,19 @@ var ml = {
1482
2025
 
1483
2026
  // src/dom/locale/ru.ts
1484
2027
  var ru = {
2028
+ configurationAxes: {
2029
+ model: ["\u041C\u043E\u0434\u0435\u043B\u044C"],
2030
+ effort: ["\u0423\u0440\u043E\u0432\u0435\u043D\u044C"],
2031
+ speed: ["\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C"]
2032
+ },
2033
+ configurationOptions: {
2034
+ light: ["\u041D\u0438\u0437\u043A\u0438\u0439"],
2035
+ medium: ["\u0421\u0440\u0435\u0434\u043D\u0438\u0439"],
2036
+ high: ["\u0412\u044B\u0441\u043E\u043A\u0438\u0439"],
2037
+ extraHigh: ["\u041E\u0447\u0435\u043D\u044C \u0432\u044B\u0441\u043E\u043A\u0438\u0439"],
2038
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0439"],
2039
+ fast: ["\u0411\u044B\u0441\u0442\u0440\u043E"]
2040
+ },
1485
2041
  composerTextbox: ["\u0421\u043F\u0440\u043E\u0441\u0438\u0442\u0435 ChatGPT"],
1486
2042
  sendButton: ["\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0443"],
1487
2043
  searchChatsButton: ["\u0418\u0441\u043A\u0430\u0442\u044C \u0447\u0430\u0442\u044B"],
@@ -1491,8 +2047,10 @@ var ru = {
1491
2047
  addFilesOpenerCandidates: ["\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0439\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0438 \u043C\u043D\u043E\u0433\u043E\u0435 \u0434\u0440\u0443\u0433\u043E\u0435"],
1492
2048
  addPhotosFilesMenuItem: ["\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0444\u0430\u0439\u043B\u044B"],
1493
2049
  copyResponse: ["\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u0432\u0435\u0442"],
1494
- modeLabels: ["\u041E\u0447\u0435\u043D\u044C \u0432\u044B\u0441\u043E\u043A\u0438\u0439"],
2050
+ modeLabels: ["\u041E\u0447\u0435\u043D\u044C \u0432\u044B\u0441\u043E\u043A\u0438\u0439", "\u0421\u0440\u0435\u0434\u043D\u0438\u0439", "\u0412\u044B\u0441\u043E\u043A\u0438\u0439"],
1495
2051
  modeOptions: {
2052
+ medium: ["\u0421\u0440\u0435\u0434\u043D\u0438\u0439"],
2053
+ high: ["\u0412\u044B\u0441\u043E\u043A\u0438\u0439"],
1496
2054
  extraHigh: ["\u041E\u0447\u0435\u043D\u044C \u0432\u044B\u0441\u043E\u043A\u0438\u0439"]
1497
2055
  },
1498
2056
  modeOpenerExtra: ["\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F..."],
@@ -1508,6 +2066,19 @@ var ru = {
1508
2066
 
1509
2067
  // src/dom/locale/pa.ts
1510
2068
  var pa = {
2069
+ configurationAxes: {
2070
+ model: ["\u0A2E\u0A3E\u0A21\u0A32"],
2071
+ effort: ["\u0A15\u0A4B\u0A38\u0A3C\u0A3F\u0A38\u0A3C"],
2072
+ speed: ["\u0A17\u0A24\u0A40"]
2073
+ },
2074
+ configurationOptions: {
2075
+ light: ["\u0A39\u0A32\u0A15\u0A3E"],
2076
+ medium: ["\u0A2E\u0A40\u0A21\u0A40\u0A05\u0A2E"],
2077
+ high: ["\u0A39\u0A3E\u0A08"],
2078
+ extraHigh: ["\u0A10\u0A15\u0A38\u0A1F\u0A4D\u0A30\u0A3E \u0A39\u0A3E\u0A08"],
2079
+ standard: ["\u0A2E\u0A3F\u0A06\u0A30\u0A40"],
2080
+ fast: ["\u0A24\u0A47\u0A1C\u0A3C"]
2081
+ },
1511
2082
  composerTextbox: ["\u0A15\u0A41\u0A1D \u0A35\u0A40 \u0A2A\u0A41\u0A71\u0A1B\u0A4B"],
1512
2083
  sendButton: ["\u0A2A\u0A4D\u0A30\u0A4B\u0A02\u0A2A\u0A1F \u0A2D\u0A47\u0A1C\u0A4B"],
1513
2084
  searchChatsButton: ["\u0A1A\u0A48\u0A1F\u0A3E\u0A02 \u0A16\u0A4B\u0A1C\u0A4B"],
@@ -1517,12 +2088,12 @@ var pa = {
1517
2088
  addFilesOpenerCandidates: ["\u0A2B\u0A3E\u0A08\u0A32\u0A3E\u0A02 \u0A05\u0A24\u0A47 \u0A39\u0A4B\u0A30 \u0A2C\u0A39\u0A41\u0A24 \u0A15\u0A41\u0A1D \u0A38\u0A3C\u0A3E\u0A2E\u0A32 \u0A15\u0A30\u0A4B"],
1518
2089
  addPhotosFilesMenuItem: ["\u0A2B\u0A3C\u0A4B\u0A1F\u0A4B\u0A06\u0A02 \u0A05\u0A24\u0A47 \u0A2B\u0A3C\u0A3E\u0A08\u0A32\u0A3E\u0A02 \u0A05\u0A71\u0A2A\u0A32\u0A4B\u0A21 \u0A15\u0A30\u0A4B"],
1519
2090
  copyResponse: ["\u0A1C\u0A35\u0A3E\u0A2C \u0A15\u0A3E\u0A2A\u0A40 \u0A15\u0A30\u0A4B"],
1520
- modeLabels: ["\u0A24\u0A41\u0A30\u0A70\u0A24", "\u0A2E\u0A71\u0A27\u0A2E", "\u0A09\u0A71\u0A1A", "\u0A05\u0A24\u0A3F \u0A09\u0A71\u0A1A", "\u0A2A\u0A4D\u0A30\u0A4B"],
2091
+ modeLabels: ["\u0A24\u0A41\u0A30\u0A70\u0A24", "\u0A2E\u0A71\u0A27\u0A2E", "\u0A09\u0A71\u0A1A", "\u0A05\u0A24\u0A3F \u0A09\u0A71\u0A1A", "\u0A2A\u0A4D\u0A30\u0A4B", "\u0A2E\u0A40\u0A21\u0A40\u0A05\u0A2E", "\u0A39\u0A3E\u0A08", "\u0A10\u0A15\u0A38\u0A1F\u0A4D\u0A30\u0A3E \u0A39\u0A3E\u0A08"],
1521
2092
  modeOptions: {
1522
2093
  instant: ["\u0A24\u0A41\u0A30\u0A70\u0A24"],
1523
- medium: ["\u0A2E\u0A71\u0A27\u0A2E"],
1524
- high: ["\u0A09\u0A71\u0A1A"],
1525
- extraHigh: ["\u0A05\u0A24\u0A3F \u0A09\u0A71\u0A1A"],
2094
+ medium: ["\u0A2E\u0A71\u0A27\u0A2E", "\u0A2E\u0A40\u0A21\u0A40\u0A05\u0A2E"],
2095
+ high: ["\u0A09\u0A71\u0A1A", "\u0A39\u0A3E\u0A08"],
2096
+ extraHigh: ["\u0A05\u0A24\u0A3F \u0A09\u0A71\u0A1A", "\u0A10\u0A15\u0A38\u0A1F\u0A4D\u0A30\u0A3E \u0A39\u0A3E\u0A08"],
1526
2097
  pro: ["\u0A2A\u0A4D\u0A30\u0A4B"]
1527
2098
  },
1528
2099
  modeOpenerExtra: ["\u0A15\u0A4C\u0A28\u0A2B\u0A3F\u0A17\u0A30..."],
@@ -1538,6 +2109,19 @@ var pa = {
1538
2109
 
1539
2110
  // src/dom/locale/mr.ts
1540
2111
  var mr = {
2112
+ configurationAxes: {
2113
+ model: ["\u092E\u0949\u0921\u0947\u0932"],
2114
+ effort: ["\u092A\u094D\u0930\u092F\u0924\u094D\u0928"],
2115
+ speed: ["\u0935\u0947\u0917"]
2116
+ },
2117
+ configurationOptions: {
2118
+ light: ["\u0939\u0932\u0915\u093E"],
2119
+ medium: ["\u092E\u0927\u094D\u092F\u092E"],
2120
+ high: ["\u0909\u091A\u094D\u091A"],
2121
+ extraHigh: ["\u0905\u0924\u094D\u092F\u0941\u091A\u094D\u091A"],
2122
+ standard: ["\u0938\u094D\u091F\u0901\u0921\u0930\u094D\u0921"],
2123
+ fast: ["\u091C\u0932\u0926"]
2124
+ },
1541
2125
  composerTextbox: ["\u0915\u093E\u0939\u0940\u0939\u0940 \u0935\u093F\u091A\u093E\u0930\u093E"],
1542
2126
  sendButton: ["\u092A\u094D\u0930\u0949\u092E\u094D\u092A\u094D\u091F \u092A\u093E\u0920\u0935\u093E"],
1543
2127
  searchChatsButton: ["\u091A\u0945\u091F\u094D\u0938 \u0936\u094B\u0927\u093E"],
@@ -1547,12 +2131,12 @@ var mr = {
1547
2131
  addFilesOpenerCandidates: ["\u092B\u093E\u0907\u0932\u094D\u0938 \u091C\u094B\u0921\u093E \u0906\u0923\u093F \u0907\u0924\u0930 \u0905\u0928\u0947\u0915 \u0917\u094B\u0937\u094D\u091F\u0940 \u0915\u0930\u093E"],
1548
2132
  addPhotosFilesMenuItem: ["\u092B\u094B\u091F\u094B \u0906\u0923\u093F \u092B\u093E\u0907\u0932\u094D\u0938 \u0905\u092A\u0932\u094B\u0921 \u0915\u0930\u093E"],
1549
2133
  copyResponse: ["\u092A\u094D\u0930\u0924\u093F\u0938\u093E\u0926 \u0915\u0949\u092A\u0940 \u0915\u0930\u093E"],
1550
- modeLabels: ["\u091D\u091F\u092A\u091F", "\u092E\u0927\u094D\u092F\u092E", "\u0909\u091A\u094D\u091A", "\u0905\u0924\u093F\u0909\u091A\u094D\u091A", "\u092A\u094D\u0930\u094B"],
2134
+ modeLabels: ["\u091D\u091F\u092A\u091F", "\u092E\u0927\u094D\u092F\u092E", "\u0909\u091A\u094D\u091A", "\u0905\u0924\u093F\u0909\u091A\u094D\u091A", "\u092A\u094D\u0930\u094B", "\u0905\u0924\u094D\u092F\u0941\u091A\u094D\u091A"],
1551
2135
  modeOptions: {
1552
2136
  instant: ["\u091D\u091F\u092A\u091F"],
1553
2137
  medium: ["\u092E\u0927\u094D\u092F\u092E"],
1554
2138
  high: ["\u0909\u091A\u094D\u091A"],
1555
- extraHigh: ["\u0905\u0924\u093F\u0909\u091A\u094D\u091A"],
2139
+ extraHigh: ["\u0905\u0924\u093F\u0909\u091A\u094D\u091A", "\u0905\u0924\u094D\u092F\u0941\u091A\u094D\u091A"],
1556
2140
  pro: ["\u092A\u094D\u0930\u094B"]
1557
2141
  },
1558
2142
  modeOpenerExtra: ["\u0915\u0949\u0928\u094D\u092B\u093F\u0917\u0930 \u0915\u0930\u093E..."],
@@ -1568,6 +2152,18 @@ var mr = {
1568
2152
 
1569
2153
  // src/dom/locale/tr.ts
1570
2154
  var tr = {
2155
+ configurationAxes: {
2156
+ effort: ["D\xFCzey"],
2157
+ speed: ["H\u0131z"]
2158
+ },
2159
+ configurationOptions: {
2160
+ light: ["S\u0131n\u0131rl\u0131"],
2161
+ medium: ["Orta"],
2162
+ high: ["Y\xFCksek"],
2163
+ extraHigh: ["\xC7ok Y\xFCksek"],
2164
+ standard: ["Standart"],
2165
+ fast: ["H\u0131zl\u0131"]
2166
+ },
1571
2167
  composerTextbox: ["Herhangi bir \u015Fey sor"],
1572
2168
  sendButton: ["Prompt g\xF6nder"],
1573
2169
  searchChatsButton: ["Sohbetlerde ara"],
@@ -1577,9 +2173,9 @@ var tr = {
1577
2173
  addFilesOpenerCandidates: ["Dosyalar\u0131 ve \xE7ok daha fazlas\u0131n\u0131 ekle"],
1578
2174
  addPhotosFilesMenuItem: ["Foto\u011Fraf ve dosya y\xFCkle"],
1579
2175
  copyResponse: ["Yan\u0131t\u0131 kopyala"],
1580
- modeLabels: ["An\u0131nda", "Orta", "Y\xFCksek", "\xC7ok Y\xFCksek"],
2176
+ modeLabels: ["An\u0131nda", "Orta", "Y\xFCksek", "\xC7ok Y\xFCksek", "H\u0131zl\u0131"],
1581
2177
  modeOptions: {
1582
- instant: ["An\u0131nda"],
2178
+ instant: ["An\u0131nda", "H\u0131zl\u0131"],
1583
2179
  medium: ["Orta"],
1584
2180
  high: ["Y\xFCksek"],
1585
2181
  extraHigh: ["\xC7ok Y\xFCksek"]
@@ -1597,6 +2193,19 @@ var tr = {
1597
2193
 
1598
2194
  // src/dom/locale/sw.ts
1599
2195
  var sw = {
2196
+ configurationAxes: {
2197
+ model: ["Modeli"],
2198
+ effort: ["Juhudi"],
2199
+ speed: ["Kasi"]
2200
+ },
2201
+ configurationOptions: {
2202
+ light: ["Nyepesi"],
2203
+ medium: ["Wastani"],
2204
+ high: ["Juu"],
2205
+ extraHigh: ["Juu Zaidi"],
2206
+ standard: ["Kawaida"],
2207
+ fast: ["Haraka"]
2208
+ },
1600
2209
  composerTextbox: ["Uliza chochote"],
1601
2210
  sendButton: ["Tuma makumbusho"],
1602
2211
  searchChatsButton: ["Tafuta mazungumzo"],
@@ -1626,6 +2235,19 @@ var sw = {
1626
2235
 
1627
2236
  // src/dom/locale/te.ts
1628
2237
  var te = {
2238
+ configurationAxes: {
2239
+ model: ["\u0C2E\u0C4B\u0C21\u0C32\u0C4D"],
2240
+ effort: ["\u0C2A\u0C4D\u0C30\u0C2F\u0C24\u0C4D\u0C28\u0C02"],
2241
+ speed: ["\u0C35\u0C47\u0C17\u0C02"]
2242
+ },
2243
+ configurationOptions: {
2244
+ light: ["\u0C32\u0C48\u0C1F\u0C4D"],
2245
+ medium: ["\u0C2E\u0C40\u0C21\u0C3F\u0C2F\u0C02"],
2246
+ high: ["\u0C39\u0C48"],
2247
+ extraHigh: ["\u0C0E\u0C15\u0C4D\u0C38\u0C4D\u200C\u0C1F\u0C4D\u0C30\u0C3E \u0C39\u0C48"],
2248
+ standard: ["\u0C38\u0C4D\u0C1F\u0C3E\u0C02\u0C21\u0C30\u0C4D\u0C21\u0C4D"],
2249
+ fast: ["\u0C35\u0C47\u0C17\u0C35\u0C02\u0C24\u0C02"]
2250
+ },
1629
2251
  composerTextbox: ["\u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F"],
1630
2252
  sendButton: ["\u0C2A\u0C4D\u0C30\u0C3E\u0C02\u0C2A\u0C4D\u0C1F\u0C4D\u200C\u0C28\u0C41 \u0C2A\u0C02\u0C2A\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F"],
1631
2253
  searchChatsButton: ["\u0C1A\u0C3E\u0C1F\u0C4D\u200C\u0C32\u0C28\u0C41 \u0C36\u0C4B\u0C27\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F"],
@@ -1635,12 +2257,12 @@ var te = {
1635
2257
  addFilesOpenerCandidates: ["\u0C2B\u0C48\u0C32\u0C4D\u200C\u0C32\u0C28\u0C41 \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C3F\u0C28\u0C4D\u0C28\u0C3F \u0C1C\u0C4B\u0C21\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F"],
1636
2258
  addPhotosFilesMenuItem: ["\u0C2B\u0C4B\u0C1F\u0C4B\u0C32\u0C41 & \u0C2B\u0C48\u0C32\u0C4D\u200C\u0C32\u0C28\u0C41 \u0C05\u0C2A\u0C4D\u200C\u0C32\u0C4B\u0C21\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F"],
1637
2259
  copyResponse: ["\u0C2A\u0C4D\u0C30\u0C24\u0C3F\u0C38\u0C4D\u0C2A\u0C02\u0C26\u0C28\u0C28\u0C41 \u0C15\u0C3E\u0C2A\u0C40 \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F"],
1638
- modeLabels: ["\u0C24\u0C15\u0C4D\u0C37\u0C23\u0C02", "\u0C2E\u0C27\u0C4D\u0C2F\u0C38\u0C4D\u0C25", "\u0C05\u0C27\u0C3F\u0C15", "\u0C05\u0C24\u0C4D\u0C2F\u0C27\u0C3F\u0C15", "\u0C2A\u0C4D\u0C30\u0C4B"],
2260
+ modeLabels: ["\u0C24\u0C15\u0C4D\u0C37\u0C23\u0C02", "\u0C2E\u0C27\u0C4D\u0C2F\u0C38\u0C4D\u0C25", "\u0C05\u0C27\u0C3F\u0C15", "\u0C05\u0C24\u0C4D\u0C2F\u0C27\u0C3F\u0C15", "\u0C2A\u0C4D\u0C30\u0C4B", "\u0C2E\u0C40\u0C21\u0C3F\u0C2F\u0C02", "\u0C39\u0C48", "\u0C0E\u0C15\u0C4D\u0C38\u0C4D\u200C\u0C1F\u0C4D\u0C30\u0C3E \u0C39\u0C48"],
1639
2261
  modeOptions: {
1640
2262
  instant: ["\u0C24\u0C15\u0C4D\u0C37\u0C23\u0C02"],
1641
- medium: ["\u0C2E\u0C27\u0C4D\u0C2F\u0C38\u0C4D\u0C25"],
1642
- high: ["\u0C05\u0C27\u0C3F\u0C15"],
1643
- extraHigh: ["\u0C05\u0C24\u0C4D\u0C2F\u0C27\u0C3F\u0C15"],
2263
+ medium: ["\u0C2E\u0C27\u0C4D\u0C2F\u0C38\u0C4D\u0C25", "\u0C2E\u0C40\u0C21\u0C3F\u0C2F\u0C02"],
2264
+ high: ["\u0C05\u0C27\u0C3F\u0C15", "\u0C39\u0C48"],
2265
+ extraHigh: ["\u0C05\u0C24\u0C4D\u0C2F\u0C27\u0C3F\u0C15", "\u0C0E\u0C15\u0C4D\u0C38\u0C4D\u200C\u0C1F\u0C4D\u0C30\u0C3E \u0C39\u0C48"],
1644
2266
  pro: ["\u0C2A\u0C4D\u0C30\u0C4B"]
1645
2267
  },
1646
2268
  modeOpenerExtra: ["\u0C15\u0C3E\u0C28\u0C4D\u0C2B\u0C3F\u0C17\u0C30\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F"],
@@ -1656,6 +2278,13 @@ var te = {
1656
2278
 
1657
2279
  // src/dom/locale/tl.ts
1658
2280
  var tl = {
2281
+ configurationAxes: {
2282
+ effort: ["Pagsisikap"],
2283
+ speed: ["Bilis"]
2284
+ },
2285
+ configurationOptions: {
2286
+ fast: ["Mabilis"]
2287
+ },
1659
2288
  composerTextbox: ["Mag-chat sa ChatGPT"],
1660
2289
  sendButton: ["Magpadala ng prompt"],
1661
2290
  searchChatsButton: ["Maghanap sa mga chat"],
@@ -1677,6 +2306,11 @@ var tl = {
1677
2306
 
1678
2307
  // src/dom/locale/th.ts
1679
2308
  var th = {
2309
+ configurationAxes: {
2310
+ model: ["\u0E42\u0E21\u0E40\u0E14\u0E25"],
2311
+ effort: ["\u0E23\u0E30\u0E14\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E34\u0E14"],
2312
+ speed: ["\u0E04\u0E27\u0E32\u0E21\u0E40\u0E23\u0E47\u0E27"]
2313
+ },
1680
2314
  composerTextbox: ["\u0E16\u0E32\u0E21\u0E2D\u0E30\u0E44\u0E23\u0E01\u0E47\u0E44\u0E14\u0E49"],
1681
2315
  sendButton: ["\u0E2A\u0E48\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07"],
1682
2316
  searchChatsButton: ["\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E0A\u0E15"],
@@ -1706,6 +2340,19 @@ var th = {
1706
2340
 
1707
2341
  // src/dom/locale/bn.ts
1708
2342
  var bn = {
2343
+ configurationAxes: {
2344
+ model: ["\u09AE\u09A1\u09C7\u09B2"],
2345
+ effort: ["\u09AA\u09CD\u09B0\u099A\u09C7\u09B7\u09CD\u099F\u09BE"],
2346
+ speed: ["\u0997\u09A4\u09BF"]
2347
+ },
2348
+ configurationOptions: {
2349
+ light: ["\u09B2\u09BE\u0987\u099F"],
2350
+ medium: ["\u09AE\u09BE\u099D\u09BE\u09B0\u09BF"],
2351
+ high: ["\u0989\u099A\u09CD\u099A"],
2352
+ extraHigh: ["\u0985\u09A4\u09BF \u0989\u099A\u09CD\u099A"],
2353
+ standard: ["\u09B8\u09CD\u099F\u09CD\u09AF\u09BE\u09A8\u09CD\u09A1\u09BE\u09B0\u09CD\u09A1"],
2354
+ fast: ["\u09A6\u09CD\u09B0\u09C1\u09A4"]
2355
+ },
1709
2356
  composerTextbox: ["\u09AF\u09C7 \u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u099C\u09BF\u099C\u09CD\u099E\u09C7\u09B8 \u0995\u09B0\u09C1\u09A8\u2026"],
1710
2357
  sendButton: ["\u09AA\u09CD\u09B0\u09AE\u09CD\u09AA\u099F \u09AA\u09BE\u09A0\u09BE\u09A8"],
1711
2358
  searchChatsButton: ["\u099A\u09CD\u09AF\u09BE\u099F \u0996\u09C1\u0981\u099C\u09C1\u09A8"],
@@ -1736,6 +2383,17 @@ var bn = {
1736
2383
 
1737
2384
  // src/dom/locale/ms.ts
1738
2385
  var ms = {
2386
+ configurationAxes: {
2387
+ effort: ["Usaha"],
2388
+ speed: ["Kelajuan"]
2389
+ },
2390
+ configurationOptions: {
2391
+ light: ["Ringan"],
2392
+ medium: ["Sederhana"],
2393
+ high: ["Tinggi"],
2394
+ extraHigh: ["Sangat Tinggi"],
2395
+ fast: ["Pantas"]
2396
+ },
1739
2397
  composerTextbox: ["Tanya apa-apa sahaja..."],
1740
2398
  sendButton: ["Hantar gesaan"],
1741
2399
  searchChatsButton: ["Cari sembang"],
@@ -1765,6 +2423,19 @@ var ms = {
1765
2423
 
1766
2424
  // src/dom/locale/so.ts
1767
2425
  var so = {
2426
+ configurationAxes: {
2427
+ model: ["Moodel"],
2428
+ effort: ["Dadaal"],
2429
+ speed: ["Xawaare"]
2430
+ },
2431
+ configurationOptions: {
2432
+ light: ["Fudud"],
2433
+ medium: ["Dhexdhexaad"],
2434
+ high: ["Sare"],
2435
+ extraHigh: ["Aad U Sarreeya"],
2436
+ standard: ["Caadi"],
2437
+ fast: ["Degdeg"]
2438
+ },
1768
2439
  composerTextbox: ["Waydii waxkasta"],
1769
2440
  sendButton: ["Dir qoraal"],
1770
2441
  searchChatsButton: ["Raadi wada-sheekaysiyada"],
@@ -1774,12 +2445,12 @@ var so = {
1774
2445
  addFilesOpenerCandidates: ["Ku dar faylashada iyo wax badan"],
1775
2446
  addPhotosFilesMenuItem: ["Soo geli sawirada & faylasha"],
1776
2447
  copyResponse: ["Koobiyee jawaabta"],
1777
- modeLabels: ["Degdeg", "Dhexdhexaad", "Sare", "Aad u sarreeya"],
2448
+ modeLabels: ["Degdeg", "Dhexdhexaad", "Sare", "Aad u sarreeya", "Aad U Sarreeya"],
1778
2449
  modeOptions: {
1779
2450
  instant: ["Degdeg"],
1780
2451
  medium: ["Dhexdhexaad"],
1781
2452
  high: ["Sare"],
1782
- extraHigh: ["Aad u sarreeya"]
2453
+ extraHigh: ["Aad u sarreeya", "Aad U Sarreeya"]
1783
2454
  },
1784
2455
  modeOpenerExtra: ["Ku xidh..."],
1785
2456
  tools: {
@@ -1794,6 +2465,18 @@ var so = {
1794
2465
 
1795
2466
  // src/dom/locale/nl.ts
1796
2467
  var nl = {
2468
+ configurationAxes: {
2469
+ effort: ["Inspanning"],
2470
+ speed: ["Snelheid"]
2471
+ },
2472
+ configurationOptions: {
2473
+ light: ["Licht"],
2474
+ medium: ["Gemiddeld"],
2475
+ high: ["Hoog"],
2476
+ extraHigh: ["Zeer Hoog"],
2477
+ standard: ["Standaard"],
2478
+ fast: ["Snel"]
2479
+ },
1797
2480
  composerTextbox: ["Stel een vraag"],
1798
2481
  sendButton: ["Prompt versturen"],
1799
2482
  searchChatsButton: ["Chats doorzoeken"],
@@ -1803,12 +2486,12 @@ var nl = {
1803
2486
  addFilesOpenerCandidates: ["Bestanden en meer toevoegen"],
1804
2487
  addPhotosFilesMenuItem: ["Foto's en bestanden uploaden"],
1805
2488
  copyResponse: ["Reactie kopi\xEBren"],
1806
- modeLabels: ["Direct", "Gemiddeld", "Hoog", "Extra hoog"],
2489
+ modeLabels: ["Direct", "Gemiddeld", "Hoog", "Extra hoog", "Zeer Hoog"],
1807
2490
  modeOptions: {
1808
2491
  instant: ["Direct"],
1809
2492
  medium: ["Gemiddeld"],
1810
2493
  high: ["Hoog"],
1811
- extraHigh: ["Extra hoog"]
2494
+ extraHigh: ["Extra hoog", "Zeer Hoog"]
1812
2495
  },
1813
2496
  modeOpenerExtra: ["Configureren..."],
1814
2497
  tools: {
@@ -1823,6 +2506,18 @@ var nl = {
1823
2506
 
1824
2507
  // src/dom/locale/sv.ts
1825
2508
  var sv = {
2509
+ configurationAxes: {
2510
+ model: ["Modell"],
2511
+ effort: ["Resonemangsniv\xE5"],
2512
+ speed: ["Hastighet"]
2513
+ },
2514
+ configurationOptions: {
2515
+ light: ["L\xE5g"],
2516
+ medium: ["Balanserad"],
2517
+ high: ["H\xF6g"],
2518
+ extraHigh: ["Extra h\xF6g"],
2519
+ fast: ["Snabb"]
2520
+ },
1826
2521
  composerTextbox: ["Fr\xE5ga vad som helst"],
1827
2522
  sendButton: ["Skicka prompt"],
1828
2523
  searchChatsButton: ["S\xF6k i chattar"],
@@ -1852,6 +2547,19 @@ var sv = {
1852
2547
 
1853
2548
  // src/dom/locale/lv.ts
1854
2549
  var lv = {
2550
+ configurationAxes: {
2551
+ model: ["Modelis"],
2552
+ effort: ["P\u016Bles"],
2553
+ speed: ["\u0100trums"]
2554
+ },
2555
+ configurationOptions: {
2556
+ light: ["Viegls"],
2557
+ medium: ["Vid\u0113js"],
2558
+ high: ["Augsts"],
2559
+ extraHigh: ["\u013Boti augsts"],
2560
+ standard: ["Standarta"],
2561
+ fast: ["\u0100trs"]
2562
+ },
1855
2563
  composerTextbox: ["Jaut\u0101 jebko"],
1856
2564
  sendButton: ["S\u016Bt\u012Bt uzvedni"],
1857
2565
  searchChatsButton: ["Mekl\u0113t t\u0113rz\u0113\u0161anas"],
@@ -1881,6 +2589,19 @@ var lv = {
1881
2589
 
1882
2590
  // src/dom/locale/mk.ts
1883
2591
  var mk = {
2592
+ configurationAxes: {
2593
+ model: ["\u041C\u043E\u0434\u0435\u043B"],
2594
+ effort: ["\u041D\u0430\u043F\u043E\u0440"],
2595
+ speed: ["\u0411\u0440\u0437\u0438\u043D\u0430"]
2596
+ },
2597
+ configurationOptions: {
2598
+ light: ["\u041B\u0435\u0441\u043D\u043E"],
2599
+ medium: ["\u0421\u0440\u0435\u0434\u043D\u0430"],
2600
+ high: ["\u0412\u0438\u0441\u043E\u043A\u0430"],
2601
+ extraHigh: ["\u0415\u043A\u0441\u0442\u0440\u0430 \u0432\u0438\u0441\u043E\u043A\u0430"],
2602
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0434\u0435\u043D"],
2603
+ fast: ["\u0411\u0440\u0437\u043E"]
2604
+ },
1884
2605
  composerTextbox: ["\u041F\u0440\u0430\u0448\u0430\u0458 \u0448\u0442\u043E \u0431\u0438\u043B\u043E"],
1885
2606
  sendButton: ["\u0418\u0441\u043F\u0440\u0430\u0442\u0438 \u043F\u0440\u043E\u043C\u043F\u0442"],
1886
2607
  searchChatsButton: ["\u041F\u0440\u0435\u0431\u0430\u0440\u0430\u0458 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0438"],
@@ -1890,11 +2611,11 @@ var mk = {
1890
2611
  addFilesOpenerCandidates: ["\u0414\u043E\u0434\u0430\u0458 \u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0438 \u0438 \u043F\u043E\u0432\u0435\u045C\u0435"],
1891
2612
  addPhotosFilesMenuItem: ["\u041F\u043E\u0441\u0442\u0430\u0432\u0438 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0438"],
1892
2613
  copyResponse: ["\u041A\u043E\u043F\u0438\u0440\u0430\u0458 \u043E\u0434\u0433\u043E\u0432\u043E\u0440"],
1893
- modeLabels: ["\u0421\u0440\u0435\u0434\u043D\u043E", "\u0412\u0438\u0441\u043E\u043A\u043E", "\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u043E"],
2614
+ modeLabels: ["\u0421\u0440\u0435\u0434\u043D\u043E", "\u0412\u0438\u0441\u043E\u043A\u043E", "\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u043E", "\u0421\u0440\u0435\u0434\u043D\u0430", "\u0412\u0438\u0441\u043E\u043A\u0430", "\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u0430"],
1894
2615
  modeOptions: {
1895
- medium: ["\u0421\u0440\u0435\u0434\u043D\u043E"],
1896
- high: ["\u0412\u0438\u0441\u043E\u043A\u043E"],
1897
- extraHigh: ["\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u043E"]
2616
+ medium: ["\u0421\u0440\u0435\u0434\u043D\u043E", "\u0421\u0440\u0435\u0434\u043D\u0430"],
2617
+ high: ["\u0412\u0438\u0441\u043E\u043A\u043E", "\u0412\u0438\u0441\u043E\u043A\u0430"],
2618
+ extraHigh: ["\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u043E", "\u041C\u043D\u043E\u0433\u0443 \u0432\u0438\u0441\u043E\u043A\u0430"]
1898
2619
  },
1899
2620
  modeOpenerExtra: ["\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0458..."],
1900
2621
  tools: {
@@ -1909,6 +2630,17 @@ var mk = {
1909
2630
 
1910
2631
  // src/dom/locale/sq.ts
1911
2632
  var sq = {
2633
+ configurationAxes: {
2634
+ effort: ["P\xEBrpjekje"],
2635
+ speed: ["Shpejt\xEBsi"]
2636
+ },
2637
+ configurationOptions: {
2638
+ light: ["I leht\xEB"],
2639
+ medium: ["Mesatare"],
2640
+ high: ["E lart\xEB"],
2641
+ extraHigh: ["Tep\xEBr e lart\xEB"],
2642
+ fast: ["I shpejt\xEB"]
2643
+ },
1912
2644
  composerTextbox: ["Pyet p\xEBr \xE7do gj\xEB"],
1913
2645
  sendButton: ["D\xEBrgo k\xEBrkes\xEBn"],
1914
2646
  searchChatsButton: ["K\xEBrko bisedat"],
@@ -1918,12 +2650,12 @@ var sq = {
1918
2650
  addFilesOpenerCandidates: ["Shto skedar\xEB e m\xEB shum\xEB"],
1919
2651
  addPhotosFilesMenuItem: ["Ngarko foto dhe skedar\xEB"],
1920
2652
  copyResponse: ["Kopjo p\xEBrgjigjen"],
1921
- modeLabels: ["I menj\xEBhersh\xEBm", "Mesatar", "Lart\xEB", "Shum\xEB i lart\xEB"],
2653
+ modeLabels: ["I menj\xEBhersh\xEBm", "Mesatar", "Lart\xEB", "Shum\xEB i lart\xEB", "Mesatare", "E lart\xEB", "Tep\xEBr e lart\xEB"],
1922
2654
  modeOptions: {
1923
2655
  instant: ["I menj\xEBhersh\xEBm"],
1924
- medium: ["Mesatar"],
1925
- high: ["Lart\xEB"],
1926
- extraHigh: ["Shum\xEB i lart\xEB"]
2656
+ medium: ["Mesatar", "Mesatare"],
2657
+ high: ["Lart\xEB", "E lart\xEB"],
2658
+ extraHigh: ["Shum\xEB i lart\xEB", "Tep\xEBr e lart\xEB"]
1927
2659
  },
1928
2660
  modeOpenerExtra: ["Konfiguro..."],
1929
2661
  tools: {
@@ -1938,6 +2670,18 @@ var sq = {
1938
2670
 
1939
2671
  // src/dom/locale/sl.ts
1940
2672
  var sl = {
2673
+ configurationAxes: {
2674
+ effort: ["Napor"],
2675
+ speed: ["Hitrost"]
2676
+ },
2677
+ configurationOptions: {
2678
+ light: ["Osnovno"],
2679
+ medium: ["Srednje"],
2680
+ high: ["Visoko"],
2681
+ extraHigh: ["Zelo visoko"],
2682
+ standard: ["Standardno"],
2683
+ fast: ["Hitro"]
2684
+ },
1941
2685
  composerTextbox: ["Vpra\u0161ajte kar koli"],
1942
2686
  sendButton: ["Po\u0161lji poziv"],
1943
2687
  searchChatsButton: ["I\u0161\u010Di po klepetih"],
@@ -1947,11 +2691,11 @@ var sl = {
1947
2691
  addFilesOpenerCandidates: ["Dodaj datoteke in \u0161e ve\u010D"],
1948
2692
  addPhotosFilesMenuItem: ["Nalo\u017Ei fotografije in datoteke"],
1949
2693
  copyResponse: ["Kopiraj odgovor"],
1950
- modeLabels: ["Takoj", "Srednja", "Visoka", "Zelo visoko"],
2694
+ modeLabels: ["Takoj", "Srednja", "Visoka", "Zelo visoko", "Srednje", "Visoko"],
1951
2695
  modeOptions: {
1952
2696
  instant: ["Takoj"],
1953
- medium: ["Srednja"],
1954
- high: ["Visoka"],
2697
+ medium: ["Srednja", "Srednje"],
2698
+ high: ["Visoka", "Visoko"],
1955
2699
  extraHigh: ["Zelo visoko"]
1956
2700
  },
1957
2701
  modeOpenerExtra: ["Konfiguracija \u2026"],
@@ -1967,6 +2711,19 @@ var sl = {
1967
2711
 
1968
2712
  // src/dom/locale/sr.ts
1969
2713
  var sr = {
2714
+ configurationAxes: {
2715
+ model: ["\u041C\u043E\u0434\u0435\u043B"],
2716
+ effort: ["\u041D\u0438\u0432\u043E"],
2717
+ speed: ["\u0411\u0440\u0437\u0438\u043D\u0430"]
2718
+ },
2719
+ configurationOptions: {
2720
+ light: ["\u041B\u0430\u0433\u0430\u043D\u043E"],
2721
+ medium: ["\u0421\u0440\u0435\u0434\u045A\u0435"],
2722
+ high: ["\u0412\u0438\u0441\u043E\u043A\u043E"],
2723
+ extraHigh: ["\u0412\u0435\u043E\u043C\u0430 \u0432\u0438\u0441\u043E\u043A\u043E"],
2724
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0434\u043D\u043E"],
2725
+ fast: ["\u0411\u0440\u0437\u043E"]
2726
+ },
1970
2727
  composerTextbox: ["\u041F\u0438\u0442\u0430\u0458 \u0431\u0438\u043B\u043E \u0448\u0442\u0430"],
1971
2728
  sendButton: ["\u041F\u043E\u0448\u0430\u0459\u0438 \u043F\u0440\u043E\u043C\u043F\u0442"],
1972
2729
  searchChatsButton: ["\u041F\u0440\u0435\u0442\u0440\u0430\u0436\u0438 \u045B\u0430\u0441\u043A\u0430\u045A\u0430"],
@@ -1976,8 +2733,10 @@ var sr = {
1976
2733
  addFilesOpenerCandidates: ["\u0414\u043E\u0434\u0430\u0458 \u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0435 \u0438 \u0434\u0440\u0443\u0433\u043E"],
1977
2734
  addPhotosFilesMenuItem: ["\u041E\u0442\u043F\u0440\u0435\u043C\u0438 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0458\u0435 \u0438 \u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0435"],
1978
2735
  copyResponse: ["\u041A\u043E\u043F\u0438\u0440\u0430\u0458 \u043E\u0434\u0433\u043E\u0432\u043E\u0440"],
1979
- modeLabels: ["\u0412\u0435\u043E\u043C\u0430 \u0432\u0438\u0441\u043E\u043A\u043E"],
2736
+ modeLabels: ["\u0412\u0435\u043E\u043C\u0430 \u0432\u0438\u0441\u043E\u043A\u043E", "\u0421\u0440\u0435\u0434\u045A\u0435", "\u0412\u0438\u0441\u043E\u043A\u043E"],
1980
2737
  modeOptions: {
2738
+ medium: ["\u0421\u0440\u0435\u0434\u045A\u0435"],
2739
+ high: ["\u0412\u0438\u0441\u043E\u043A\u043E"],
1981
2740
  extraHigh: ["\u0412\u0435\u043E\u043C\u0430 \u0432\u0438\u0441\u043E\u043A\u043E"]
1982
2741
  },
1983
2742
  modeOpenerExtra: ["\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0448\u0438..."],
@@ -1993,6 +2752,19 @@ var sr = {
1993
2752
 
1994
2753
  // src/dom/locale/mn.ts
1995
2754
  var mn = {
2755
+ configurationAxes: {
2756
+ model: ["\u0417\u0430\u0433\u0432\u0430\u0440"],
2757
+ effort: ["\u0425\u04AF\u0447\u0438\u043D \u0447\u0430\u0440\u043C\u0430\u0439\u043B\u0442"],
2758
+ speed: ["\u0425\u0443\u0440\u0434"]
2759
+ },
2760
+ configurationOptions: {
2761
+ light: ["\u0425\u04E9\u043D\u0433\u04E9\u043D"],
2762
+ medium: ["\u0414\u0443\u043D\u0434"],
2763
+ high: ["\u0418\u0445"],
2764
+ extraHigh: ["\u041C\u0430\u0448 \u0438\u0445"],
2765
+ standard: ["\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442"],
2766
+ fast: ["\u0425\u0443\u0440\u0434\u0430\u043D"]
2767
+ },
1996
2768
  composerTextbox: ["\u0414\u0443\u0440\u044B\u043D \u0437\u04AF\u0439\u043B \u0430\u0441\u0443\u0443\u0433\u0430\u0430\u0440\u0430\u0439..."],
1997
2769
  sendButton: ["\u0421\u0430\u043D\u0443\u0443\u043B\u0433\u0430 \u0438\u043B\u0433\u044D\u044D\u0445"],
1998
2770
  searchChatsButton: ["\u0427\u0430\u0442 \u0445\u0430\u0439\u0445"],
@@ -2023,6 +2795,19 @@ var mn = {
2023
2795
 
2024
2796
  // src/dom/locale/my.ts
2025
2797
  var my = {
2798
+ configurationAxes: {
2799
+ model: ["\u1019\u1031\u102C\u103A\u1012\u101A\u103A"],
2800
+ effort: ["\u1021\u102C\u1038\u1011\u102F\u1010\u103A\u1019\u103E\u102F"],
2801
+ speed: ["\u1021\u1019\u103C\u1014\u103A\u1014\u103E\u102F\u1014\u103A\u1038"]
2802
+ },
2803
+ configurationOptions: {
2804
+ light: ["\u1015\u1031\u102B\u1037\u1015\u102B\u1038"],
2805
+ medium: ["\u1021\u101C\u101A\u103A\u1021\u101C\u1010\u103A"],
2806
+ high: ["\u1021\u1019\u103C\u1004\u1037\u103A"],
2807
+ extraHigh: ["\u1021\u101C\u103D\u1014\u103A\u1019\u103C\u1004\u1037\u103A"],
2808
+ standard: ["\u1015\u102F\u1036\u1019\u103E\u1014\u103A"],
2809
+ fast: ["\u1021\u1019\u103C\u1014\u103A"]
2810
+ },
2026
2811
  composerTextbox: ["\u1010\u1005\u103A\u1001\u102F\u1001\u102F \u1019\u1031\u1038\u1015\u102B\u2026"],
2027
2812
  sendButton: ["\u1010\u102F\u1036\u1037\u1015\u103C\u1014\u103A\u100A\u103D\u103E\u1014\u103A\u1000\u103C\u102C\u1038\u1001\u103B\u1000\u103A \u1015\u102D\u102F\u1037\u1019\u100A\u103A"],
2028
2813
  searchChatsButton: ["\u1001\u103B\u1010\u103A\u1019\u103B\u102C\u1038 \u101B\u103E\u102C\u101B\u1014\u103A"],
@@ -2032,11 +2817,11 @@ var my = {
2032
2817
  addFilesOpenerCandidates: ["\u1016\u102D\u102F\u1004\u103A\u1019\u103B\u102C\u1038\u1014\u103E\u1004\u1037\u103A \u1021\u1001\u103C\u102C\u1038\u1021\u101B\u102C\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1011\u100A\u1037\u103A\u101B\u1014\u103A"],
2033
2818
  addPhotosFilesMenuItem: ["\u1013\u102C\u1010\u103A\u1015\u102F\u1036\u1019\u103B\u102C\u1038\u1014\u103E\u1004\u1037\u103A \u1016\u102D\u102F\u1004\u103A\u1019\u103B\u102C\u1038\u1000\u102D\u102F \u1010\u1004\u103A\u1015\u102B"],
2034
2819
  copyResponse: ["\u1010\u102F\u1036\u1037\u1015\u103C\u1014\u103A\u1019\u103E\u102F \u1000\u1030\u1038\u101A\u1030\u101B\u1014\u103A"],
2035
- modeLabels: ["\u1001\u103B\u1000\u103A\u1001\u103B\u1004\u103A\u1038", "\u1021\u101C\u101A\u103A\u1021\u101C\u1010\u103A", "\u1019\u103C\u1004\u1037\u103A", "\u1021\u101C\u103D\u1014\u103A\u1019\u103C\u1004\u1037\u103A"],
2820
+ modeLabels: ["\u1001\u103B\u1000\u103A\u1001\u103B\u1004\u103A\u1038", "\u1021\u101C\u101A\u103A\u1021\u101C\u1010\u103A", "\u1019\u103C\u1004\u1037\u103A", "\u1021\u101C\u103D\u1014\u103A\u1019\u103C\u1004\u1037\u103A", "\u1021\u1019\u103C\u1004\u1037\u103A"],
2036
2821
  modeOptions: {
2037
2822
  instant: ["\u1001\u103B\u1000\u103A\u1001\u103B\u1004\u103A\u1038"],
2038
2823
  medium: ["\u1021\u101C\u101A\u103A\u1021\u101C\u1010\u103A"],
2039
- high: ["\u1019\u103C\u1004\u1037\u103A"],
2824
+ high: ["\u1019\u103C\u1004\u1037\u103A", "\u1021\u1019\u103C\u1004\u1037\u103A"],
2040
2825
  extraHigh: ["\u1021\u101C\u103D\u1014\u103A\u1019\u103C\u1004\u1037\u103A"]
2041
2826
  },
2042
2827
  modeOpenerExtra: ["\u1015\u103C\u102F\u1015\u103C\u1004\u103A\u1019\u103D\u1019\u103A\u1038\u1019\u1036\u101B\u1014\u103A"],
@@ -2052,6 +2837,19 @@ var my = {
2052
2837
 
2053
2838
  // src/dom/locale/ta.ts
2054
2839
  var ta = {
2840
+ configurationAxes: {
2841
+ model: ["\u0BAE\u0BBE\u0BA4\u0BBF\u0BB0\u0BBF"],
2842
+ effort: ["\u0BAE\u0BC1\u0BAF\u0BB1\u0BCD\u0B9A\u0BBF"],
2843
+ speed: ["\u0BB5\u0BC7\u0B95\u0BAE\u0BCD"]
2844
+ },
2845
+ configurationOptions: {
2846
+ light: ["\u0B95\u0BC1\u0BB1\u0BC8\u0BB5\u0BC1"],
2847
+ medium: ["\u0BAE\u0BBF\u0BA4\u0BAE\u0BBE\u0BA9"],
2848
+ high: ["\u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9"],
2849
+ extraHigh: ["\u0BAE\u0BBF\u0B95 \u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9"],
2850
+ standard: ["\u0BB5\u0BB4\u0B95\u0BCD\u0B95\u0BAE\u0BBE\u0BA9"],
2851
+ fast: ["\u0BB5\u0BBF\u0BB0\u0BC8\u0BB5\u0BC1"]
2852
+ },
2055
2853
  composerTextbox: ["\u0B8E\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B95\u0BC7\u0BB3\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"],
2056
2854
  sendButton: ["\u0BA4\u0BC2\u0BA3\u0BCD\u0B9F\u0BBF\u0BAF\u0BC8 \u0B85\u0BA9\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1"],
2057
2855
  searchChatsButton: ["\u0B85\u0BB0\u0B9F\u0BCD\u0B9F\u0BC8\u0B95\u0BB3\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1"],
@@ -2061,12 +2859,12 @@ var ta = {
2061
2859
  addFilesOpenerCandidates: ["\u0B95\u0BCB\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAA\u0BB2\u0BB5\u0BB1\u0BCD\u0BB1\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B9A\u0BC7\u0BB0\u0BCD"],
2062
2860
  addPhotosFilesMenuItem: ["\u0BAA\u0B9F\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BAE\u0BB1\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD \u0B83\u0BAA\u0BC8\u0BB2\u0BCD\u0B95\u0BB3\u0BC8\u0BAA\u0BCD \u0BAA\u0BA4\u0BBF\u0BB5\u0BC7\u0BB1\u0BCD\u0BB1\u0BC1"],
2063
2861
  copyResponse: ["\u0BAA\u0BA4\u0BBF\u0BB2\u0BC8 \u0BA8\u0B95\u0BB2\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB2\u0BBE\u0BAE\u0BCD"],
2064
- modeLabels: ["\u0B89\u0B9F\u0BA9\u0B9F\u0BBF", "\u0BA8\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB0", "\u0B89\u0BAF\u0BB0\u0BCD", "\u0BAE\u0BBF\u0B95 \u0B89\u0BAF\u0BB0\u0BCD\u0BB5\u0BC1", "\u0BAA\u0BCD\u0BB0\u0BCB"],
2862
+ modeLabels: ["\u0B89\u0B9F\u0BA9\u0B9F\u0BBF", "\u0BA8\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB0", "\u0B89\u0BAF\u0BB0\u0BCD", "\u0BAE\u0BBF\u0B95 \u0B89\u0BAF\u0BB0\u0BCD\u0BB5\u0BC1", "\u0BAA\u0BCD\u0BB0\u0BCB", "\u0BAE\u0BBF\u0BA4\u0BAE\u0BBE\u0BA9", "\u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9", "\u0BAE\u0BBF\u0B95 \u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9"],
2065
2863
  modeOptions: {
2066
2864
  instant: ["\u0B89\u0B9F\u0BA9\u0B9F\u0BBF"],
2067
- medium: ["\u0BA8\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB0"],
2068
- high: ["\u0B89\u0BAF\u0BB0\u0BCD"],
2069
- extraHigh: ["\u0BAE\u0BBF\u0B95 \u0B89\u0BAF\u0BB0\u0BCD\u0BB5\u0BC1"],
2865
+ medium: ["\u0BA8\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BB0", "\u0BAE\u0BBF\u0BA4\u0BAE\u0BBE\u0BA9"],
2866
+ high: ["\u0B89\u0BAF\u0BB0\u0BCD", "\u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9"],
2867
+ extraHigh: ["\u0BAE\u0BBF\u0B95 \u0B89\u0BAF\u0BB0\u0BCD\u0BB5\u0BC1", "\u0BAE\u0BBF\u0B95 \u0B85\u0BA4\u0BBF\u0B95\u0BAE\u0BBE\u0BA9"],
2070
2868
  pro: ["\u0BAA\u0BCD\u0BB0\u0BCB"]
2071
2869
  },
2072
2870
  modeOpenerExtra: ["\u0B95\u0B9F\u0BCD\u0B9F\u0BAE\u0BC8\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD..."],
@@ -4236,7 +5034,7 @@ async function saveLatestPageAssetImageFromPage(page, destDir, timeoutMs) {
4236
5034
  await mkdir2(absoluteDest, { recursive: true });
4237
5035
  const suggestedFilename = `generated-image-${Date.now()}.${extensionForMime(asset.contentType ?? "image/png")}`;
4238
5036
  const path3 = join2(absoluteDest, suggestedFilename);
4239
- await copyFile(asset.path, path3);
5037
+ await copyFile2(asset.path, path3);
4240
5038
  const saved = await stat2(path3);
4241
5039
  if (saved.size <= 0) {
4242
5040
  throw new Error(`Generated image artifact file is empty: ${path3}`);
@@ -4413,18 +5211,22 @@ import path2 from "node:path";
4413
5211
 
4414
5212
  // src/platform/local-paths.ts
4415
5213
  import path from "node:path";
4416
- function isHostAbsolutePath(value, platform = process.platform) {
5214
+ import { platform as readHostPlatform } from "node:os";
5215
+ function currentHostPathPlatform() {
5216
+ return readHostPlatform();
5217
+ }
5218
+ function isHostAbsolutePath(value, platform = currentHostPathPlatform()) {
4417
5219
  if (value.length === 0) return false;
4418
5220
  if (platform === "win32") return isFullyQualifiedWindowsPath(value);
4419
5221
  return path.posix.isAbsolute(value);
4420
5222
  }
4421
- function resolveForHostPath(value, platform = process.platform) {
5223
+ function resolveForHostPath(value, platform = currentHostPathPlatform()) {
4422
5224
  if (!isHostAbsolutePath(value, platform)) {
4423
5225
  throw new Error(`File attachment path must be absolute for the backend host: ${value}`);
4424
5226
  }
4425
5227
  return platform === "win32" ? path.win32.resolve(value) : path.posix.resolve(value);
4426
5228
  }
4427
- function basenameForHostPath(value, platform = process.platform) {
5229
+ function basenameForHostPath(value, platform = currentHostPathPlatform()) {
4428
5230
  return platform === "win32" ? path.win32.basename(value) : path.posix.basename(value);
4429
5231
  }
4430
5232
  function isFullyQualifiedWindowsPath(value) {
@@ -4656,7 +5458,7 @@ async function fileMetadata(absolute, bytes, includeHash = false) {
4656
5458
  return metadata;
4657
5459
  }
4658
5460
  function extensionForHostPath(value) {
4659
- return process.platform === "win32" ? path2.win32.extname(value).toLowerCase() : path2.posix.extname(value).toLowerCase();
5461
+ return currentHostPathPlatform() === "win32" ? path2.win32.extname(value).toLowerCase() : path2.posix.extname(value).toLowerCase();
4660
5462
  }
4661
5463
  function collectFilePreflightWarnings(files, warnings) {
4662
5464
  const byPath = /* @__PURE__ */ new Map();
@@ -4921,6 +5723,24 @@ async function downloadLatestFile(env, args) {
4921
5723
  }
4922
5724
  const page = env.page;
4923
5725
  try {
5726
+ const generatedFileDownload = await tryGeneratedFilePreviewDownload(page, args);
5727
+ if (generatedFileDownload !== void 0) {
5728
+ return generatedFileDownload;
5729
+ }
5730
+ if (args.filenamePattern !== void 0) {
5731
+ return {
5732
+ ok: false,
5733
+ status: "unsupported",
5734
+ warnings: [],
5735
+ blocker: {
5736
+ kind: "download_unavailable",
5737
+ code: "download_filename_not_found",
5738
+ message: `No visible ChatGPT file affordance matched filenamePattern ${JSON.stringify(args.filenamePattern)}.`,
5739
+ resumable: true
5740
+ },
5741
+ context: await contextFromPage(page)
5742
+ };
5743
+ }
4924
5744
  const controls = requiredLocator(page, cssSelectors.downloadControls);
4925
5745
  let count;
4926
5746
  try {
@@ -4969,6 +5789,152 @@ async function downloadLatestFile(env, args) {
4969
5789
  return resultError(error instanceof Error ? error : new Error(String(error)), await contextFromPage(page));
4970
5790
  }
4971
5791
  }
5792
+ async function tryGeneratedFilePreviewDownload(page, args) {
5793
+ const timeoutMs = args.timeoutMs ?? 12e4;
5794
+ const candidates = await inspectGeneratedFileAffordances(page, localGuardTimeout(timeoutMs, 5e3));
5795
+ const selected = selectGeneratedFileAffordance(candidates, args);
5796
+ if (selected === void 0) return void 0;
5797
+ try {
5798
+ const assistantMessages = requiredLocator(page, cssSelectors.assistantMessages);
5799
+ const assistantCount = await locatorCountWithTimeout(
5800
+ assistantMessages,
5801
+ localGuardTimeout(timeoutMs, 5e3),
5802
+ "generated_file_assistant_count_timeout"
5803
+ );
5804
+ if (selected.assistantIndex < 0 || selected.assistantIndex >= assistantCount) {
5805
+ throw new Error("The selected generated-file assistant turn is no longer present.");
5806
+ }
5807
+ const assistant = assistantMessages.nth?.(selected.assistantIndex) ?? assistantMessages;
5808
+ const role = selected.tag === "button" ? "button" : "link";
5809
+ const affordance = assistant.getByRole?.(role, { name: selected.filename, exact: true }) ?? assistant.locator?.(`${selected.tag}[aria-label="${escapeCssAttribute(selected.filename)}"]`);
5810
+ const affordanceCount = await locatorCountWithTimeout(
5811
+ affordance,
5812
+ localGuardTimeout(timeoutMs, 5e3),
5813
+ "generated_file_affordance_count_timeout"
5814
+ );
5815
+ if (affordance === void 0 || affordanceCount !== 1 || typeof affordance.click !== "function") {
5816
+ throw new Error(`Expected one clickable generated-file affordance for ${selected.filename}, found ${affordanceCount}.`);
5817
+ }
5818
+ if (selected.tag === "a") {
5819
+ const downloaded2 = await waitForDownloadFromClick(
5820
+ page,
5821
+ () => affordance.click({ timeoutMs: localGuardTimeout(timeoutMs, 1e4) }),
5822
+ args.destDir,
5823
+ timeoutMs,
5824
+ selected.filename
5825
+ );
5826
+ return resultOk(downloaded2, await contextFromPage(page));
5827
+ }
5828
+ await affordance.click({ timeoutMs: localGuardTimeout(timeoutMs, 1e4) });
5829
+ const preview = requiredLocator(page, `section[aria-label="${escapeCssAttribute(selected.filename)}"]`);
5830
+ const download = await waitForPreviewDownloadControl(page, preview, timeoutMs);
5831
+ if (download === void 0) {
5832
+ throw new Error(`The artifact preview for ${selected.filename} did not expose a visible Download control.`);
5833
+ }
5834
+ const downloaded = await waitForDownloadFromClick(
5835
+ page,
5836
+ async () => download.click?.({ timeoutMs: localGuardTimeout(timeoutMs, 1e4) }),
5837
+ args.destDir,
5838
+ timeoutMs,
5839
+ selected.filename
5840
+ );
5841
+ return resultOk(downloaded, await contextFromPage(page));
5842
+ } catch (error) {
5843
+ return resultError(error instanceof Error ? error : new Error(String(error)), await contextFromPage(page));
5844
+ }
5845
+ }
5846
+ async function inspectGeneratedFileAffordances(page, timeoutMs) {
5847
+ if (typeof page.evaluate === "function") {
5848
+ const fromDom = await withTimeout(
5849
+ page.evaluate(() => {
5850
+ const visible = (element) => {
5851
+ let current = element;
5852
+ while (current !== null) {
5853
+ const html2 = current;
5854
+ const style = window.getComputedStyle(html2);
5855
+ const rect = html2.getBoundingClientRect();
5856
+ if (style.display === "none" || style.visibility === "hidden" || Number(style.opacity || "1") <= 0) return false;
5857
+ if (current === element && (rect.width <= 0 || rect.height <= 0)) return false;
5858
+ current = current.parentElement;
5859
+ }
5860
+ return true;
5861
+ };
5862
+ const fileLike = (value) => /^[^\\/\r\n]{1,255}\.[a-z0-9][a-z0-9._-]{0,15}$/i.test(value);
5863
+ const assistants = Array.from(document.querySelectorAll("[data-message-author-role='assistant']"));
5864
+ return assistants.flatMap((assistant, assistantIndex) => Array.from(assistant.querySelectorAll("button[aria-label], a[download], a[href*='/backend-api/files/']")).filter(visible).map((element) => ({
5865
+ assistantIndex,
5866
+ filename: (element.getAttribute("aria-label") ?? element.textContent ?? "").trim(),
5867
+ tag: element.tagName.toLocaleLowerCase(),
5868
+ text: (element.textContent ?? "").trim()
5869
+ })).filter((item) => (item.tag === "button" || item.tag === "a") && fileLike(item.filename) && item.filename === item.text).map(({ assistantIndex: assistantIndex2, filename, tag }) => ({ assistantIndex: assistantIndex2, filename, tag })));
5870
+ }),
5871
+ timeoutMs,
5872
+ "Timed out while inspecting generated-file buttons."
5873
+ ).catch(() => void 0);
5874
+ if (Array.isArray(fromDom)) return fromDom;
5875
+ }
5876
+ if (typeof page.content !== "function") return [];
5877
+ const html = await withTimeout(
5878
+ page.content(),
5879
+ timeoutMs,
5880
+ "Timed out while reading generated-file button markup."
5881
+ ).catch(() => "");
5882
+ const candidates = [];
5883
+ const buttonPattern = /<(button|a)\b[^>]*\baria-label=(['"])(.*?)\2[^>]*>([\s\S]*?)<\/\1>/gi;
5884
+ let match;
5885
+ while ((match = buttonPattern.exec(html)) !== null) {
5886
+ const filename = decodeBasicHtml(match[3] ?? "").trim();
5887
+ const text = decodeBasicHtml((match[4] ?? "").replace(/<[^>]+>/g, " ")).replace(/\s+/g, " ").trim();
5888
+ if (/^[^\\/\r\n]{1,255}\.[a-z0-9][a-z0-9._-]{0,15}$/i.test(filename) && filename === text) {
5889
+ candidates.push({ assistantIndex: 0, filename, tag: (match[1] ?? "button").toLocaleLowerCase() });
5890
+ }
5891
+ }
5892
+ return candidates;
5893
+ }
5894
+ function selectGeneratedFileAffordance(candidates, args) {
5895
+ let scoped = candidates;
5896
+ const from = args.from;
5897
+ if (typeof from === "object" && from !== null) {
5898
+ scoped = scoped.filter((candidate) => candidate.assistantIndex === from.assistantIndex);
5899
+ } else if (from !== "visible_conversation") {
5900
+ const latestAssistant = Math.max(-1, ...scoped.map((candidate) => candidate.assistantIndex));
5901
+ scoped = scoped.filter((candidate) => candidate.assistantIndex === latestAssistant);
5902
+ }
5903
+ if (args.filenamePattern !== void 0) {
5904
+ scoped = scoped.filter((candidate) => filenameMatches(candidate.filename, args.filenamePattern));
5905
+ }
5906
+ return scoped.at(-1);
5907
+ }
5908
+ function filenameMatches(filename, pattern) {
5909
+ try {
5910
+ return new RegExp(pattern, "i").test(filename);
5911
+ } catch {
5912
+ return filename.toLocaleLowerCase().includes(pattern.toLocaleLowerCase());
5913
+ }
5914
+ }
5915
+ async function waitForPreviewDownloadControl(page, preview, timeoutMs) {
5916
+ const deadline = Date.now() + Math.min(timeoutMs, 15e3);
5917
+ while (Date.now() < deadline) {
5918
+ for (const label of localeLabels.download) {
5919
+ const control = preview.getByRole?.("button", { name: label, exact: true }) ?? preview.locator?.(`button[aria-label="${escapeCssAttribute(label)}"]`);
5920
+ if (await locatorCountWithTimeout(control, localGuardTimeout(timeoutMs, 2e3), "artifact_preview_download_count_timeout") === 1) {
5921
+ return control;
5922
+ }
5923
+ }
5924
+ if (typeof page.waitForTimeout === "function") {
5925
+ await page.waitForTimeout(100);
5926
+ } else {
5927
+ await new Promise((resolve3) => setTimeout(resolve3, 100));
5928
+ }
5929
+ }
5930
+ return void 0;
5931
+ }
5932
+ function escapeCssAttribute(value) {
5933
+ return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\r\n]/g, " ");
5934
+ }
5935
+ function decodeBasicHtml(value) {
5936
+ return value.replace(/&quot;/gi, '"').replace(/&#39;|&apos;/gi, "'").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&amp;/gi, "&");
5937
+ }
4972
5938
  async function setHiddenFileInput(page, files) {
4973
5939
  if (page === void 0) {
4974
5940
  throw new Error("No active page is available for file upload.");
@@ -7614,6 +8580,23 @@ function extractMenuItemsFromText(text) {
7614
8580
  async function enumerateVisibleMenuItems(page) {
7615
8581
  if (typeof page.evaluate === "function") {
7616
8582
  const labels = await page.evaluate(() => {
8583
+ const visible = (element) => {
8584
+ const html = element;
8585
+ const rect = html.getBoundingClientRect?.();
8586
+ if (rect !== void 0 && (rect.width <= 0 || rect.height <= 0)) return false;
8587
+ let current = element;
8588
+ while (current !== null) {
8589
+ if (current.hasAttribute?.("inert") || current.getAttribute?.("aria-hidden") === "true") {
8590
+ return false;
8591
+ }
8592
+ const style = typeof window !== "undefined" ? window.getComputedStyle?.(current) : void 0;
8593
+ if (style?.display === "none" || style?.visibility === "hidden" || style?.opacity === "0") {
8594
+ return false;
8595
+ }
8596
+ current = current.parentElement ?? null;
8597
+ }
8598
+ return true;
8599
+ };
7617
8600
  const toItem = (node) => {
7618
8601
  const element = node;
7619
8602
  const label = (element.innerText ?? element.textContent ?? "").replace(/\s+/g, " ").trim();
@@ -7633,14 +8616,14 @@ async function enumerateVisibleMenuItems(page) {
7633
8616
  if (ariaLabel !== null) item.ariaLabel = ariaLabel;
7634
8617
  return item;
7635
8618
  };
7636
- const allRoleNodes = Array.from(document.querySelectorAll("[role='menuitem'], [role='menuitemradio'], [role='option']"));
7637
- const containers = Array.from(document.querySelectorAll("[role='menu'], [role='listbox'], [data-radix-popper-content-wrapper]")).filter((container) => typeof container.contains === "function");
8619
+ const allRoleNodes = Array.from(document.querySelectorAll("[role='menuitem'], [role='menuitemradio'], [role='option']")).filter(visible);
8620
+ const containers = Array.from(document.querySelectorAll("[role='menu'], [role='listbox'], [data-radix-popper-content-wrapper]")).filter((container) => visible(container) && typeof container.contains === "function");
7638
8621
  const scopedRoleNodes = containers.length > 0 ? allRoleNodes.filter((node) => containers.some((container) => container.contains(node))) : allRoleNodes;
7639
8622
  const roleItems = (scopedRoleNodes.length > 0 ? scopedRoleNodes : allRoleNodes).map(toItem).filter((item) => item.label.length > 0);
7640
8623
  if (roleItems.length > 0) {
7641
8624
  return { items: roleItems, labels: [], split: false };
7642
8625
  }
7643
- const menus = Array.from(document.querySelectorAll("[role='menu'], [role='listbox'], [data-radix-popper-content-wrapper]")).map((node) => node.innerText ?? node.textContent ?? "").filter(Boolean);
8626
+ const menus = Array.from(document.querySelectorAll("[role='menu'], [role='listbox'], [data-radix-popper-content-wrapper]")).filter(visible).map((node) => node.innerText ?? node.textContent ?? "").filter(Boolean);
7644
8627
  return { items: [], labels: menus, split: true };
7645
8628
  });
7646
8629
  return labels.split ? labels.labels.flatMap((label) => extractMenuItemsFromText(label)) : labels.items.map((item) => ({ ...item, label: normalizeWhitespace(item.label), normalized: normalizeLabel(item.label) })).filter((item) => item.label.length > 0);
@@ -8295,6 +9278,9 @@ async function visibleModeButtonLabelList(page) {
8295
9278
  }
8296
9279
 
8297
9280
  // src/commands/experience.ts
9281
+ var CHATGPT_HOME2 = "https://chatgpt.com/";
9282
+ var EXPERIENCE_CONTROL_DISCOVERY_TIMEOUT_MS = 15e3;
9283
+ var EXPERIENCE_POLL_MS = 250;
8298
9284
  async function detectExperience(env, args = {}) {
8299
9285
  void args;
8300
9286
  const boot = await ensurePage(env);
@@ -8332,18 +9318,54 @@ async function openExperience(env, args) {
8332
9318
  }));
8333
9319
  }
8334
9320
  const labels = localeLabels.experienceOptions[args.experience];
8335
- if (!await clickUniqueExperienceControl(page, labels)) {
9321
+ const timeoutMs = args.timeoutMs ?? 3e4;
9322
+ const discoveryAttempts = pollAttempts(
9323
+ Math.min(timeoutMs, EXPERIENCE_CONTROL_DISCOVERY_TIMEOUT_MS),
9324
+ EXPERIENCE_POLL_MS
9325
+ );
9326
+ let observed = before;
9327
+ let controlClicked = await clickUniqueExperienceControl(page, labels);
9328
+ if (!controlClicked && await navigateConversationToSurfaceHome(page, args.timeoutMs)) {
9329
+ observed = detectExperienceFromSnapshot(await readSurfaceSnapshot(page));
9330
+ if (observed.experience === args.experience) {
9331
+ return resultOk({
9332
+ experience: args.experience,
9333
+ previousExperience: before.experience,
9334
+ changed: true,
9335
+ selectorProfile: observed.selectorProfile
9336
+ }, await contextFromPage(page, {
9337
+ experience: observed.experience,
9338
+ selectorProfile: observed.selectorProfile
9339
+ }));
9340
+ }
9341
+ controlClicked = await clickUniqueExperienceControl(page, labels);
9342
+ }
9343
+ for (let attempt = 1; !controlClicked && attempt < discoveryAttempts; attempt += 1) {
9344
+ await page.waitForTimeout?.(EXPERIENCE_POLL_MS);
9345
+ observed = detectExperienceFromSnapshot(await readSurfaceSnapshot(page));
9346
+ if (observed.experience === args.experience) {
9347
+ return resultOk({
9348
+ experience: args.experience,
9349
+ previousExperience: before.experience,
9350
+ changed: true,
9351
+ selectorProfile: observed.selectorProfile
9352
+ }, await contextFromPage(page, {
9353
+ experience: observed.experience,
9354
+ selectorProfile: observed.selectorProfile
9355
+ }));
9356
+ }
9357
+ controlClicked = await clickUniqueExperienceControl(page, labels);
9358
+ }
9359
+ if (!controlClicked) {
8336
9360
  return experienceSelectorDrift(
8337
9361
  page,
8338
9362
  `No unique visible ChatGPT ${args.experience === "work" ? "Work" : "Chat"} surface control was found.`,
8339
- before
9363
+ observed
8340
9364
  );
8341
9365
  }
8342
- const timeoutMs = args.timeoutMs ?? 3e4;
8343
- const started = Date.now();
8344
9366
  let after = before;
8345
- while (Date.now() - started < timeoutMs) {
8346
- await page.waitForTimeout?.(250);
9367
+ for (let attempt = 0; attempt < pollAttempts(timeoutMs, EXPERIENCE_POLL_MS); attempt += 1) {
9368
+ await page.waitForTimeout?.(EXPERIENCE_POLL_MS);
8347
9369
  after = detectExperienceFromSnapshot(await readSurfaceSnapshot(page));
8348
9370
  if (after.experience === args.experience) {
8349
9371
  return resultOk({
@@ -8378,12 +9400,36 @@ async function openExperience(env, args) {
8378
9400
  return resultError(error instanceof Error ? error : new Error(String(error)), await contextFromPage(page));
8379
9401
  }
8380
9402
  }
9403
+ function pollAttempts(timeoutMs, pollMs) {
9404
+ return Math.max(1, Math.ceil(Math.max(0, timeoutMs) / pollMs));
9405
+ }
9406
+ async function navigateConversationToSurfaceHome(page, timeoutMs) {
9407
+ if (page.goto === void 0 || page.url === void 0) return false;
9408
+ const currentUrl = await Promise.resolve(page.url()).catch(() => "");
9409
+ if (!/^https:\/\/chatgpt\.com\/c\//i.test(currentUrl)) return false;
9410
+ await page.goto(CHATGPT_HOME2, {
9411
+ waitUntil: "domcontentloaded",
9412
+ timeout: timeoutMs ?? 3e4
9413
+ });
9414
+ await page.waitForTimeout?.(500);
9415
+ return true;
9416
+ }
8381
9417
  function detectExperienceFromSnapshot(snapshot) {
8382
9418
  const evidence = [];
8383
9419
  const composerLabels = snapshot.composerLabels.map(normalizeForLabelMatch);
8384
9420
  const controls = snapshot.mainControls.map(normalizeForLabelMatch);
8385
9421
  const mainText = normalizeForLabelMatch(snapshot.mainText);
9422
+ const selectedSurfaceLabels = (snapshot.selectedSurfaceLabels ?? []).map(normalizeForLabelMatch);
8386
9423
  const url = snapshot.url.toLowerCase();
9424
+ const selectedWork = matchingLabels(selectedSurfaceLabels, localeLabels.experienceOptions.work);
9425
+ const selectedChat = matchingLabels(selectedSurfaceLabels, localeLabels.experienceOptions.chat);
9426
+ const workSurfaceSelected = selectedWork.length > 0 && selectedChat.length === 0;
9427
+ const chatSurfaceSelected = selectedChat.length > 0 && selectedWork.length === 0;
9428
+ if (workSurfaceSelected) {
9429
+ evidence.push({ source: "control", label: "Work surface selected" });
9430
+ } else if (chatSurfaceSelected) {
9431
+ evidence.push({ source: "control", label: "Chat surface selected" });
9432
+ }
8387
9433
  const workComposer = matchingLabels(composerLabels, localeLabels.workComposerTextbox);
8388
9434
  for (const label of workComposer) {
8389
9435
  evidence.push({ source: "composer", label });
@@ -8396,19 +9442,32 @@ function detectExperienceFromSnapshot(snapshot) {
8396
9442
  if (workAxisCount >= 2) {
8397
9443
  evidence.push({ source: "control", label: `Work configuration axes (${workAxisCount}/3)` });
8398
9444
  }
9445
+ const workConfigurationOpener = controls.some(
9446
+ (label) => /\b(?:gpt[\s-]?\d|\d+(?:\.\d+)+|sol|luna|terra)\b/i.test(label) && hasAnyLabel([label], [
9447
+ ...localeLabels.configurationOptions.light,
9448
+ ...localeLabels.configurationOptions.medium,
9449
+ ...localeLabels.configurationOptions.high,
9450
+ ...localeLabels.configurationOptions.extraHigh,
9451
+ ...localeLabels.configurationOptions.max,
9452
+ ...localeLabels.configurationOptions.ultra
9453
+ ])
9454
+ );
9455
+ if (workConfigurationOpener) {
9456
+ evidence.push({ source: "control", label: "Work configuration opener" });
9457
+ }
8399
9458
  if (/\/work(?:\/|$|\?)/.test(url)) {
8400
9459
  evidence.push({ source: "url", label: snapshot.url });
8401
9460
  }
8402
9461
  if (containsAny(mainText, ["work on something else", "work on anything"])) {
8403
9462
  evidence.push({ source: "heading", label: "Work composer copy" });
8404
9463
  }
8405
- const workScore = workComposer.length * 4 + (workAxisCount >= 2 ? 4 : 0) + (/\/work(?:\/|$|\?)/.test(url) ? 3 : 0) + (containsAny(mainText, ["work on something else", "work on anything"]) ? 2 : 0);
8406
- const chatScore = chatComposer.length * 4;
9464
+ const workScore = workComposer.length * 4 + (workSurfaceSelected ? 10 : 0) + (workAxisCount >= 2 ? 4 : 0) + (workConfigurationOpener ? 6 : 0) + (/\/work(?:\/|$|\?)/.test(url) ? 3 : 0) + (containsAny(mainText, ["work on something else", "work on anything"]) ? 2 : 0);
9465
+ const chatScore = chatComposer.length * 4 + (chatSurfaceSelected ? 10 : 0);
8407
9466
  let experience = "unknown";
8408
9467
  let confidence = "low";
8409
9468
  if (workScore > chatScore && workScore >= 4) {
8410
9469
  experience = "work";
8411
- confidence = workScore >= 7 ? "high" : "medium";
9470
+ confidence = workSurfaceSelected || workScore >= 7 ? "high" : "medium";
8412
9471
  } else if (chatScore > workScore && chatScore >= 4) {
8413
9472
  experience = "chat";
8414
9473
  confidence = "high";
@@ -8419,20 +9478,33 @@ function detectExperienceFromSnapshot(snapshot) {
8419
9478
  async function readSurfaceSnapshot(page) {
8420
9479
  const url = typeof page.url === "function" ? await Promise.resolve(page.url()).catch(() => "") : "";
8421
9480
  if (typeof page.evaluate !== "function") {
8422
- return { url, composerLabels: [], mainControls: [], mainText: "" };
9481
+ return { url, composerLabels: [], mainControls: [], mainText: "", selectedSurfaceLabels: [] };
8423
9482
  }
8424
- const snapshot = await page.evaluate(() => {
9483
+ const snapshot = await page.evaluate((surfaceOptionLabels) => {
8425
9484
  const visible = (element) => {
8426
9485
  const html = element;
8427
9486
  const rect = html.getBoundingClientRect?.();
8428
- const style = typeof window !== "undefined" ? window.getComputedStyle?.(html) : void 0;
8429
- return (rect === void 0 || rect.width > 0 && rect.height > 0) && style?.display !== "none" && style?.visibility !== "hidden" && style?.opacity !== "0";
9487
+ if (rect !== void 0 && (rect.width <= 0 || rect.height <= 0)) return false;
9488
+ let current = element;
9489
+ while (current !== null) {
9490
+ if (current.hasAttribute?.("inert") || current.getAttribute?.("aria-hidden") === "true") {
9491
+ return false;
9492
+ }
9493
+ const style = typeof window !== "undefined" ? window.getComputedStyle?.(current) : void 0;
9494
+ if (style?.display === "none" || style?.visibility === "hidden" || style?.opacity === "0") {
9495
+ return false;
9496
+ }
9497
+ current = current.parentElement ?? null;
9498
+ }
9499
+ return true;
8430
9500
  };
8431
9501
  const labelFor = (element) => {
8432
9502
  const html = element;
8433
9503
  return element.getAttribute("aria-label") ?? element.getAttribute("placeholder") ?? html.innerText ?? element.textContent ?? "";
8434
9504
  };
8435
9505
  const normalize = (value) => value.replace(/\s+/g, " ").trim();
9506
+ const normalizeComparable = (value) => normalize(value).toLocaleLowerCase();
9507
+ const wantedSurfaceLabels = new Set(surfaceOptionLabels.map(normalizeComparable));
8436
9508
  const composerRoots = Array.from(document.querySelectorAll(
8437
9509
  "main form, main [data-testid*='composer' i], main [class*='composer' i]"
8438
9510
  ));
@@ -8454,8 +9526,14 @@ async function readSurfaceSnapshot(page) {
8454
9526
  "h1, h2, h3, form, [data-testid*='composer' i], [class*='composer' i]"
8455
9527
  )).filter(visible).slice(0, 32);
8456
9528
  const mainText = normalize(surfaceTextNodes.map(labelFor).join(" ")).slice(0, 2e3);
8457
- return { composerLabels, mainControls, mainText };
8458
- }).catch(() => ({ composerLabels: [], mainControls: [], mainText: "" }));
9529
+ const selectedSurfaceLabels = Array.from(new Set(Array.from(document.querySelectorAll(
9530
+ "[role='radio'][aria-checked='true'], [role='radio'][data-state='checked'], input[type='radio']:checked"
9531
+ )).filter(visible).map(labelFor).map(normalize).filter((label) => wantedSurfaceLabels.has(normalizeComparable(label))))).slice(0, 4);
9532
+ return { composerLabels, mainControls, mainText, selectedSurfaceLabels };
9533
+ }, [
9534
+ ...localeLabels.experienceOptions.chat,
9535
+ ...localeLabels.experienceOptions.work
9536
+ ]).catch(() => ({ composerLabels: [], mainControls: [], mainText: "", selectedSurfaceLabels: [] }));
8459
9537
  return { url, ...snapshot };
8460
9538
  }
8461
9539
  function profileFromSnapshot(snapshot, experience) {
@@ -8486,7 +9564,7 @@ function profileFromSnapshot(snapshot, experience) {
8486
9564
  }
8487
9565
  async function clickUniqueExperienceControl(page, labels) {
8488
9566
  for (const label of labels) {
8489
- for (const role of ["button", "menuitem", "tab", "link"]) {
9567
+ for (const role of ["radio", "button", "menuitem", "tab", "link"]) {
8490
9568
  if (await clickIfUnique2(page.getByRole?.(role, { name: label, exact: true }))) {
8491
9569
  return true;
8492
9570
  }
@@ -8498,14 +9576,32 @@ async function clickUniqueExperienceControl(page, labels) {
8498
9576
  return page.evaluate((wantedLabels) => {
8499
9577
  const normalize = (value) => value.replace(/\s+/g, " ").trim().toLocaleLowerCase();
8500
9578
  const wanted = new Set(wantedLabels.map(normalize));
9579
+ const visible = (element) => {
9580
+ const html = element;
9581
+ const rect = html.getBoundingClientRect?.();
9582
+ if (rect !== void 0 && (rect.width <= 0 || rect.height <= 0)) return false;
9583
+ let current = element;
9584
+ while (current !== null) {
9585
+ if (current.hasAttribute?.("inert") || current.getAttribute?.("aria-hidden") === "true") {
9586
+ return false;
9587
+ }
9588
+ const style = typeof window !== "undefined" ? window.getComputedStyle?.(current) : void 0;
9589
+ if (style?.display === "none" || style?.visibility === "hidden" || style?.opacity === "0") {
9590
+ return false;
9591
+ }
9592
+ current = current.parentElement ?? null;
9593
+ }
9594
+ return true;
9595
+ };
9596
+ const labelFor = (node) => {
9597
+ const html = node;
9598
+ const inputLabels = "labels" in node ? Array.from(node.labels ?? []).map((label) => label.innerText).join(" ") : "";
9599
+ return node.getAttribute("aria-label") || inputLabels || html.innerText || node.textContent || "";
9600
+ };
8501
9601
  const nodes = Array.from(document.querySelectorAll(
8502
- "header button, header [role='button'], header [role='tab'], main [role='menuitem'], main [role='option']"
9602
+ "[role='radio'], input[type='radio'], header button, header [role='button'], header [role='tab'], main [role='menuitem'], main [role='option']"
8503
9603
  ));
8504
- const matches = nodes.filter((node) => {
8505
- const html = node;
8506
- const label = node.getAttribute("aria-label") ?? html.innerText ?? node.textContent ?? "";
8507
- return wanted.has(normalize(label));
8508
- });
9604
+ const matches = nodes.filter((node) => visible(node) && wanted.has(normalize(labelFor(node))));
8509
9605
  if (matches.length !== 1) return false;
8510
9606
  matches[0].click();
8511
9607
  return true;
@@ -8560,6 +9656,8 @@ async function experienceSelectorDrift(page, message, detected) {
8560
9656
 
8561
9657
  // src/commands/configuration.ts
8562
9658
  var WORK_AXES = ["model", "effort", "speed"];
9659
+ var CONFIGURATION_CONTROL_DISCOVERY_TIMEOUT_MS = 5e3;
9660
+ var CONFIGURATION_CONTROL_POLL_MS = 250;
8563
9661
  var CONFIGURATION_AXIS_ORDER = [
8564
9662
  "model",
8565
9663
  "intelligence",
@@ -8600,10 +9698,18 @@ async function inspectConfiguration(env, args = {}) {
8600
9698
  };
8601
9699
  }
8602
9700
  const experience = detected.data.experience;
8603
- const rootOpened = experience !== "unknown" && await openConfigurationRoot(page, experience);
9701
+ const rootOpened = experience !== "unknown" && await waitForConfigurationRoot(
9702
+ page,
9703
+ experience,
9704
+ args.timeoutMs
9705
+ );
8604
9706
  if (rootOpened) {
8605
9707
  await page.waitForTimeout?.(150);
8606
9708
  }
9709
+ const workAdvancedOpened = experience !== "work" || rootOpened && await ensureWorkAdvancedPanel(page);
9710
+ if (experience === "work" && workAdvancedOpened) {
9711
+ await page.waitForTimeout?.(150);
9712
+ }
8607
9713
  const panel = await readConfigurationPanel(page);
8608
9714
  const rootItems = rootOpened ? await enumerateVisibleMenuItems(page) : [];
8609
9715
  const data = configurationInspectionFromSurface(
@@ -8616,7 +9722,7 @@ async function inspectConfiguration(env, args = {}) {
8616
9722
  if (args.includeOptions !== false && experience === "work" && panel.axisRows.length > 0) {
8617
9723
  for (const axis of WORK_AXES) {
8618
9724
  if (!data.availableAxes.includes(axis)) continue;
8619
- const options = await inspectWorkAxisOptions(page, axis);
9725
+ const options = await inspectWorkAxisOptions(env, axis);
8620
9726
  if (options.length > 0) {
8621
9727
  data.options[axis] = options;
8622
9728
  }
@@ -8627,6 +9733,9 @@ async function inspectConfiguration(env, args = {}) {
8627
9733
  if (!rootOpened) {
8628
9734
  warnings.push("No scoped configuration opener was available; inspection is limited to controls already visible in the composer.");
8629
9735
  }
9736
+ if (experience === "work" && rootOpened && !workAdvancedOpened) {
9737
+ warnings.push("The Work configuration menu opened, but its Advanced model, effort, and speed controls could not be made visible.");
9738
+ }
8630
9739
  if (!data.verified) {
8631
9740
  warnings.push("The visible configuration could not be verified from a recognized Chat or Work selector profile.");
8632
9741
  }
@@ -8638,6 +9747,20 @@ async function inspectConfiguration(env, args = {}) {
8638
9747
  return resultError(error instanceof Error ? error : new Error(String(error)), await contextFromPage(page));
8639
9748
  }
8640
9749
  }
9750
+ async function waitForConfigurationRoot(page, experience, timeoutMs) {
9751
+ const discoveryMs = Math.min(
9752
+ timeoutMs ?? CONFIGURATION_CONTROL_DISCOVERY_TIMEOUT_MS,
9753
+ CONFIGURATION_CONTROL_DISCOVERY_TIMEOUT_MS
9754
+ );
9755
+ const attempts = Math.max(1, Math.ceil(Math.max(0, discoveryMs) / CONFIGURATION_CONTROL_POLL_MS));
9756
+ for (let attempt = 0; attempt < attempts; attempt += 1) {
9757
+ if (await openConfigurationRoot(page, experience)) return true;
9758
+ if (attempt + 1 < attempts) {
9759
+ await page.waitForTimeout?.(CONFIGURATION_CONTROL_POLL_MS);
9760
+ }
9761
+ }
9762
+ return false;
9763
+ }
8641
9764
  async function applyConfiguration(env, args) {
8642
9765
  const boot = await ensurePage(env);
8643
9766
  if (!boot.ok) {
@@ -8690,7 +9813,7 @@ async function applyConfiguration(env, args) {
8690
9813
  selected.push({ axis, requested, selected: active });
8691
9814
  continue;
8692
9815
  }
8693
- const selection = before.experience === "work" ? await selectWorkAxis(page, axis, requested) : await selectChatAxis(env, axis, requested, args.timeoutMs);
9816
+ const selection = before.experience === "work" ? await selectWorkAxis(env, axis, requested) : await selectChatAxis(env, axis, requested, args.timeoutMs);
8694
9817
  if (selection === void 0) {
8695
9818
  return configurationFailure(
8696
9819
  page,
@@ -8785,34 +9908,131 @@ function configurationInspectionFromSurface(experience, detectedProfile, evidenc
8785
9908
  evidence
8786
9909
  };
8787
9910
  }
8788
- async function inspectWorkAxisOptions(page, axis) {
8789
- await ensureWorkConfigurationRoot(page);
8790
- if (!await clickWorkAxisRow(page, axis)) {
8791
- return [];
8792
- }
8793
- await page.waitForTimeout?.(120);
8794
- const items = await enumerateVisibleMenuItems(page);
8795
- const options = items.filter((item) => !isConfigurationAxisRow(item.label)).map(menuItemToOption);
8796
- await page.keyboard?.press?.("Escape");
8797
- await page.waitForTimeout?.(80);
9911
+ async function inspectWorkAxisOptions(env, axis) {
9912
+ const page = env.page;
9913
+ const options = (await openWorkAxisOptions(env, axis)).map(menuItemToOption);
9914
+ await closeConfigurationSubmenu(page);
8798
9915
  return dedupeOptions(options);
8799
9916
  }
8800
- async function selectWorkAxis(page, axis, requested) {
9917
+ async function selectWorkAxis(env, axis, requested) {
9918
+ const page = env.page;
8801
9919
  if (!WORK_AXES.includes(axis)) {
8802
9920
  return void 0;
8803
9921
  }
8804
- await ensureWorkConfigurationRoot(page);
8805
- if (!await clickWorkAxisRow(page, axis)) {
8806
- return void 0;
9922
+ for (let attempt = 0; attempt < 2; attempt += 1) {
9923
+ const candidates = await openWorkAxisOptions(env, axis);
9924
+ const match = findConfigurationOption(candidates, requested);
9925
+ if (match !== void 0 && await clickVisibleMenuItem(page, match)) {
9926
+ await page.waitForTimeout?.(150);
9927
+ return match.label;
9928
+ }
9929
+ if (attempt === 0) {
9930
+ await closeConfigurationMenus(page);
9931
+ await page.waitForTimeout?.(200);
9932
+ }
8807
9933
  }
8808
- await page.waitForTimeout?.(120);
8809
- const candidates = await enumerateVisibleMenuItems(page);
8810
- const match = findConfigurationOption(candidates, requested);
8811
- if (match === void 0 || !await clickVisibleMenuItem(page, match)) {
8812
- return void 0;
9934
+ return void 0;
9935
+ }
9936
+ async function openWorkAxisOptions(env, axis, allowRootRetry = true) {
9937
+ const page = env.page;
9938
+ if (!await ensureWorkAdvancedPanel(page)) return [];
9939
+ const row = await findWorkAxisRow(page, axis);
9940
+ if (row === void 0) return [];
9941
+ const visibleOptions = async () => filterWorkAxisOptions(await enumerateVisibleMenuItems(page), axis);
9942
+ const alreadyOpen = await visibleOptions();
9943
+ if (alreadyOpen.length > 0) return alreadyOpen;
9944
+ const point = await locatorCenter(row);
9945
+ if (point !== void 0 && await movePointerWithCdp(env, point)) {
9946
+ await page.waitForTimeout?.(180);
9947
+ const hoveredOptions = await visibleOptions();
9948
+ if (hoveredOptions.length > 0) return hoveredOptions;
9949
+ await movePointerWithCdp(env, { x: point.x - 2, y: point.y });
9950
+ await movePointerWithCdp(env, point);
9951
+ await page.waitForTimeout?.(180);
9952
+ const retriedOptions = await visibleOptions();
9953
+ if (retriedOptions.length > 0) return retriedOptions;
9954
+ }
9955
+ if (point !== void 0 && page.mouse?.move !== void 0) {
9956
+ try {
9957
+ await page.mouse.move(point.x, point.y);
9958
+ } catch {
9959
+ }
9960
+ await page.waitForTimeout?.(180);
9961
+ const mouseOptions = await visibleOptions();
9962
+ if (mouseOptions.length > 0) return mouseOptions;
9963
+ }
9964
+ if (point !== void 0 && typeof page.cua?.move === "function") {
9965
+ try {
9966
+ await page.cua.move(point);
9967
+ } catch {
9968
+ }
9969
+ await page.waitForTimeout?.(180);
9970
+ const movedOptions = await visibleOptions();
9971
+ if (movedOptions.length > 0) return movedOptions;
9972
+ }
9973
+ if (row.click !== void 0) {
9974
+ await row.click().catch(() => void 0);
9975
+ await page.waitForTimeout?.(180);
9976
+ }
9977
+ const clickedOptions = await visibleOptions();
9978
+ if (clickedOptions.length > 0 || !allowRootRetry) return clickedOptions;
9979
+ await closeConfigurationMenus(page);
9980
+ await page.waitForTimeout?.(200);
9981
+ return openWorkAxisOptions(env, axis, false);
9982
+ }
9983
+ async function locatorCenter(locator) {
9984
+ if (locator.evaluate === void 0) return void 0;
9985
+ return locator.evaluate((element) => {
9986
+ const rect = element.getBoundingClientRect();
9987
+ return {
9988
+ x: Math.round(rect.left + rect.width / 2),
9989
+ y: Math.round(rect.top + rect.height / 2)
9990
+ };
9991
+ }).catch(() => void 0);
9992
+ }
9993
+ async function movePointerWithCdp(env, point) {
9994
+ const page = env.page;
9995
+ const tabId = page === void 0 ? void 0 : tabIdFromPage(page);
9996
+ if (tabId === void 0 || env.browser?.tabs?.get === void 0) return false;
9997
+ try {
9998
+ const tab = await env.browser.tabs.get(tabId);
9999
+ const capability2 = await tab.capabilities?.get?.("cdp");
10000
+ if (capability2?.send === void 0) return false;
10001
+ await capability2.send("Input.dispatchMouseEvent", {
10002
+ type: "mouseMoved",
10003
+ x: Math.round(point.x),
10004
+ y: Math.round(point.y),
10005
+ button: "none",
10006
+ buttons: 0,
10007
+ pointerType: "mouse"
10008
+ });
10009
+ return true;
10010
+ } catch {
10011
+ return false;
10012
+ }
10013
+ }
10014
+ function filterWorkAxisOptions(items, axis) {
10015
+ return items.filter((item) => {
10016
+ if (isConfigurationAxisRow(item.label)) return false;
10017
+ return workAxisOptionLabelMatches(axis, item.label);
10018
+ });
10019
+ }
10020
+ function workAxisOptionLabelMatches(axis, label) {
10021
+ if (axis === "model") {
10022
+ return /\b(?:gpt[\s-]?\d|sol|luna|terra)\b/i.test(label);
8813
10023
  }
8814
- await page.waitForTimeout?.(150);
8815
- return match.label;
10024
+ const candidates = axis === "effort" ? [
10025
+ ...localeLabels.configurationOptions.light,
10026
+ ...localeLabels.configurationOptions.medium,
10027
+ ...localeLabels.configurationOptions.high,
10028
+ ...localeLabels.configurationOptions.extraHigh,
10029
+ ...localeLabels.configurationOptions.max,
10030
+ ...localeLabels.configurationOptions.ultra
10031
+ ] : axis === "speed" ? [
10032
+ ...localeLabels.configurationOptions.standard,
10033
+ ...localeLabels.configurationOptions.fast
10034
+ ] : [];
10035
+ return candidates.some((candidate) => visibleLabelMatches(label, candidate));
8816
10036
  }
8817
10037
  async function selectChatAxis(env, axis, requested, timeoutMs) {
8818
10038
  const legacyArgs = axis === "modelVersion" ? { modelVersion: requested } : axis === "intelligence" ? { intelligence: requested } : axis === "effort" ? { effort: requested } : axis === "model" ? { model: requested } : void 0;
@@ -8834,17 +10054,40 @@ async function openConfigurationRoot(page, experience) {
8834
10054
  if (configurationMenuLooksRecognized(existingItems, experience, existing.openerLabel)) {
8835
10055
  return true;
8836
10056
  }
10057
+ if (existing.openerLabel !== void 0 && await clickIfUnique3(page.getByRole?.("button", { name: existing.openerLabel, exact: true }))) {
10058
+ return true;
10059
+ }
8837
10060
  if (typeof page.evaluate === "function") {
8838
10061
  const clicked = await page.evaluate((surface) => {
8839
10062
  const normalize = (value) => value.replace(/\s+/g, " ").trim();
8840
10063
  const visible = (element) => {
8841
10064
  const html = element;
8842
10065
  const rect = html.getBoundingClientRect?.();
8843
- const style = typeof window !== "undefined" ? window.getComputedStyle?.(html) : void 0;
8844
- return (rect === void 0 || rect.width > 0 && rect.height > 0) && style?.display !== "none" && style?.visibility !== "hidden" && style?.opacity !== "0";
10066
+ if (rect !== void 0 && (rect.width <= 0 || rect.height <= 0)) return false;
10067
+ let current = element;
10068
+ while (current !== null) {
10069
+ if (current.hasAttribute?.("inert") || current.getAttribute?.("aria-hidden") === "true") {
10070
+ return false;
10071
+ }
10072
+ const style = typeof window !== "undefined" ? window.getComputedStyle?.(current) : void 0;
10073
+ if (style?.display === "none" || style?.visibility === "hidden" || style?.opacity === "0") {
10074
+ return false;
10075
+ }
10076
+ current = current.parentElement ?? null;
10077
+ }
10078
+ return true;
8845
10079
  };
8846
- const forms = Array.from(document.querySelectorAll("main form, main [data-testid*='composer' i]"));
8847
- const controls = forms.flatMap((form) => Array.from(form.querySelectorAll("button, [role='button']"))).filter(visible);
10080
+ const composerRoots = Array.from(document.querySelectorAll(
10081
+ "main form, main [data-testid*='composer' i], main [class*='composer' i]"
10082
+ ));
10083
+ const main = document.querySelector("main");
10084
+ const roots = Array.from(/* @__PURE__ */ new Set([
10085
+ ...composerRoots,
10086
+ ...main === null ? [] : [main]
10087
+ ]));
10088
+ const controls = Array.from(new Set(roots.flatMap(
10089
+ (root) => Array.from(root.querySelectorAll("button, [role='button']"))
10090
+ ))).filter(visible);
8848
10091
  const matches = controls.filter((control) => {
8849
10092
  const html = control;
8850
10093
  const label = normalize(control.getAttribute("aria-label") ?? html.innerText ?? control.textContent ?? "");
@@ -8883,6 +10126,9 @@ function configurationMenuLooksRecognized(items, experience, openerLabel) {
8883
10126
  if (items.some((item) => /(?:model|mode|effort|speed)-(?:switcher|selector)|model-switcher/i.test(item.testId ?? ""))) {
8884
10127
  return true;
8885
10128
  }
10129
+ if (experience === "work" && items.some((item) => localeLabels.configurationAxes.advanced.some((label) => visibleLabelMatches(item.label, label)))) {
10130
+ return true;
10131
+ }
8886
10132
  if (openerLabel === void 0 || items.length === 0) {
8887
10133
  return false;
8888
10134
  }
@@ -8908,12 +10154,19 @@ function configurationMenuLooksRecognized(items, experience, openerLabel) {
8908
10154
  );
8909
10155
  return matched.size >= 2;
8910
10156
  }
8911
- async function ensureWorkConfigurationRoot(page) {
10157
+ async function ensureWorkAdvancedPanel(page) {
8912
10158
  const panel = await readConfigurationPanel(page);
8913
10159
  if (panel.axisRows.length > 0) return true;
8914
- await page.keyboard?.press?.("Escape");
8915
- await page.waitForTimeout?.(50);
8916
- return openConfigurationRoot(page, "work");
10160
+ if (!await openConfigurationRoot(page, "work")) return false;
10161
+ const reopenedPanel = await readConfigurationPanel(page);
10162
+ if (reopenedPanel.axisRows.length > 0) return true;
10163
+ const items = await enumerateVisibleMenuItems(page);
10164
+ const advanced = items.filter((item) => localeLabels.configurationAxes.advanced.some((label) => visibleLabelMatches(item.label, label)));
10165
+ if (advanced.length !== 1 || !await clickVisibleMenuItem(page, advanced[0])) {
10166
+ return false;
10167
+ }
10168
+ await page.waitForTimeout?.(200);
10169
+ return (await readConfigurationPanel(page)).axisRows.length > 0;
8917
10170
  }
8918
10171
  async function readConfigurationPanel(page) {
8919
10172
  if (typeof page.evaluate !== "function") {
@@ -8930,8 +10183,19 @@ async function readConfigurationPanel(page) {
8930
10183
  const visible = (element) => {
8931
10184
  const html = element;
8932
10185
  const rect = html.getBoundingClientRect?.();
8933
- const style = typeof window !== "undefined" ? window.getComputedStyle?.(html) : void 0;
8934
- return (rect === void 0 || rect.width > 0 && rect.height > 0) && style?.display !== "none" && style?.visibility !== "hidden" && style?.opacity !== "0";
10186
+ if (rect !== void 0 && (rect.width <= 0 || rect.height <= 0)) return false;
10187
+ let current = element;
10188
+ while (current !== null) {
10189
+ if (current.hasAttribute?.("inert") || current.getAttribute?.("aria-hidden") === "true") {
10190
+ return false;
10191
+ }
10192
+ const style = typeof window !== "undefined" ? window.getComputedStyle?.(current) : void 0;
10193
+ if (style?.display === "none" || style?.visibility === "hidden" || style?.opacity === "0") {
10194
+ return false;
10195
+ }
10196
+ current = current.parentElement ?? null;
10197
+ }
10198
+ return true;
8935
10199
  };
8936
10200
  const overlays = Array.from(document.querySelectorAll(
8937
10201
  "[role='menu'], [role='listbox'], [data-radix-popper-content-wrapper], [data-radix-menu-content]"
@@ -8941,14 +10205,10 @@ async function readConfigurationPanel(page) {
8941
10205
  "button, [role='button'], [role='menuitem'], [role='menuitemradio'], [role='option']"
8942
10206
  ))).filter(visible);
8943
10207
  const axisRows = [];
8944
- let advancedVisible = false;
8945
10208
  for (const row of rows) {
8946
10209
  const html = row;
8947
10210
  const label = normalize(row.getAttribute("aria-label") ?? html.innerText ?? row.textContent ?? "");
8948
10211
  const normalized = label.toLocaleLowerCase();
8949
- if (normalizedAxes.advanced?.some((candidate) => normalized === candidate || normalized.startsWith(`${candidate} `))) {
8950
- advancedVisible = true;
8951
- }
8952
10212
  for (const axis of ["model", "intelligence", "effort", "speed"]) {
8953
10213
  const candidates = normalizedAxes[axis] ?? [];
8954
10214
  const prefix = candidates.find((candidate) => normalized === candidate || normalized.startsWith(`${candidate} `));
@@ -8960,8 +10220,17 @@ async function readConfigurationPanel(page) {
8960
10220
  break;
8961
10221
  }
8962
10222
  }
8963
- const forms = Array.from(document.querySelectorAll("main form, main [data-testid*='composer' i]"));
8964
- const openerCandidates = forms.flatMap((form) => Array.from(form.querySelectorAll("button, [role='button']"))).filter(visible).map((control) => {
10223
+ const composerRoots = Array.from(document.querySelectorAll(
10224
+ "main form, main [data-testid*='composer' i], main [class*='composer' i]"
10225
+ ));
10226
+ const main = document.querySelector("main");
10227
+ const openerRoots = Array.from(/* @__PURE__ */ new Set([
10228
+ ...composerRoots,
10229
+ ...main === null ? [] : [main]
10230
+ ]));
10231
+ const openerCandidates = Array.from(new Set(openerRoots.flatMap(
10232
+ (root) => Array.from(root.querySelectorAll("button, [role='button']"))
10233
+ ))).filter(visible).map((control) => {
8965
10234
  const html = control;
8966
10235
  return {
8967
10236
  label: normalize(control.getAttribute("aria-label") ?? html.innerText ?? control.textContent ?? ""),
@@ -8970,7 +10239,7 @@ async function readConfigurationPanel(page) {
8970
10239
  }).filter((item) => !/send|voice|microphone|attach|upload|add files|plus/i.test(`${item.label} ${item.testId}`)).filter((item) => /model-switcher|model-selector|mode-selector/i.test(item.testId) || /\b(?:gpt|sol|luna|terra|instant|medium|high|extra high|pro|thinking|extended|light|standard|fast)\b/i.test(item.label));
8971
10240
  const result = {
8972
10241
  axisRows,
8973
- advancedVisible
10242
+ advancedVisible: axisRows.length > 0
8974
10243
  };
8975
10244
  if (openerCandidates.length === 1 && openerCandidates[0]?.label.length) {
8976
10245
  result.openerLabel = openerCandidates[0].label;
@@ -8978,33 +10247,18 @@ async function readConfigurationPanel(page) {
8978
10247
  return result;
8979
10248
  }, localeLabels.configurationAxes).catch(() => ({ axisRows: [], advancedVisible: false }));
8980
10249
  }
8981
- async function clickWorkAxisRow(page, axis) {
10250
+ async function findWorkAxisRow(page, axis) {
8982
10251
  const labels = axis === "modelVersion" ? [] : localeLabels.configurationAxes[axis] ?? [];
8983
10252
  for (const label of labels) {
8984
10253
  const pattern = new RegExp(`^${escapeRegExp3(label)}(?:\\s|$)`, "i");
8985
10254
  for (const role of ["button", "menuitem"]) {
8986
- if (await clickIfUnique3(page.getByRole?.(role, { name: pattern }))) {
8987
- return true;
10255
+ const locator = page.getByRole?.(role, { name: pattern });
10256
+ if (locator?.count !== void 0 && await locator.count().catch(() => 0) === 1) {
10257
+ return locator;
8988
10258
  }
8989
10259
  }
8990
10260
  }
8991
- if (typeof page.evaluate !== "function") return false;
8992
- return page.evaluate((wantedLabels) => {
8993
- const normalize = (value) => value.replace(/\s+/g, " ").trim().toLocaleLowerCase();
8994
- const wanted = wantedLabels.map(normalize);
8995
- const overlays = Array.from(document.querySelectorAll(
8996
- "[role='menu'], [data-radix-popper-content-wrapper], [data-radix-menu-content]"
8997
- ));
8998
- const nodes = overlays.flatMap((root) => Array.from(root.querySelectorAll("button, [role='button'], [role='menuitem']")));
8999
- const matches = nodes.filter((node) => {
9000
- const html = node;
9001
- const label = normalize(node.getAttribute("aria-label") ?? html.innerText ?? node.textContent ?? "");
9002
- return wanted.some((prefix) => label === prefix || label.startsWith(`${prefix} `));
9003
- });
9004
- if (matches.length !== 1) return false;
9005
- matches[0].click();
9006
- return true;
9007
- }, labels).catch(() => false);
10261
+ return void 0;
9008
10262
  }
9009
10263
  async function clickVisibleMenuItem(page, item) {
9010
10264
  if (item.testId !== void 0 && await clickIfUnique3(page.locator?.(`[data-testid="${escapeAttributeValue2(item.testId)}"]`))) {
@@ -9125,14 +10379,46 @@ function normalizeConfigurationId(value) {
9125
10379
  return normalizeForLabelMatch(value).replace(/^gpt[\s-]*/i, "gpt ").replace(/[_-]+/g, " ").replace(/\s+/g, " ").trim();
9126
10380
  }
9127
10381
  async function closeConfigurationMenus(page) {
9128
- await page.keyboard?.press?.("Escape");
10382
+ if (!await pressConfigurationEscape(page)) return;
9129
10383
  await page.waitForTimeout?.(50);
9130
- await page.keyboard?.press?.("Escape");
10384
+ await pressConfigurationEscape(page);
10385
+ }
10386
+ async function closeConfigurationSubmenu(page) {
10387
+ if (!await pressConfigurationEscape(page)) return;
10388
+ await page.waitForTimeout?.(200);
10389
+ }
10390
+ async function pressConfigurationEscape(page) {
10391
+ if (page.keyboard?.press !== void 0) {
10392
+ await page.keyboard.press("Escape");
10393
+ return true;
10394
+ }
10395
+ if (page.cua?.keypress !== void 0) {
10396
+ try {
10397
+ await page.cua.keypress({ keys: ["ESC"] });
10398
+ return true;
10399
+ } catch {
10400
+ return false;
10401
+ }
10402
+ }
10403
+ return false;
9131
10404
  }
9132
10405
  async function clickIfUnique3(locator) {
9133
10406
  if (locator?.count === void 0 || locator.click === void 0) return false;
9134
- if (await locator.count().catch(() => 0) !== 1) return false;
9135
- await locator.click();
10407
+ const count = await locator.count().catch(() => 0);
10408
+ if (count === 1) {
10409
+ await locator.click();
10410
+ return true;
10411
+ }
10412
+ if (count <= 1 || locator.nth === void 0) return false;
10413
+ const visible = [];
10414
+ for (let index = 0; index < count; index += 1) {
10415
+ const candidate = locator.nth(index);
10416
+ if (candidate.isVisible !== void 0 && await candidate.isVisible().catch(() => false)) {
10417
+ visible.push(candidate);
10418
+ }
10419
+ }
10420
+ if (visible.length !== 1 || visible[0]?.click === void 0) return false;
10421
+ await visible[0].click();
9136
10422
  return true;
9137
10423
  }
9138
10424
  async function configurationFailure(page, before, desired, selected, message, code, candidates = []) {
@@ -9986,6 +11272,7 @@ function primitiveArgs(name) {
9986
11272
  if (name === "artifacts.listLatest") return { kind: "artifact kind; currently image", max: "maximum artifacts to return" };
9987
11273
  if (name === "artifacts.wait") return { kind: "artifact kind; currently image", afterArtifactCount: "baseline artifact count", requireDownload: "wait until a download affordance is visible" };
9988
11274
  if (name === "artifacts.downloadLatest") return { destDir: "download destination directory", prefer: "download_control or visible_image_source" };
11275
+ if (name === "files.downloadLatest") return { destDir: "download destination directory", filenamePattern: "optional case-insensitive regular expression for the expected filename", from: "latest_assistant, visible_conversation, or assistantIndex" };
9989
11276
  if (name === "response.copy") return { prefer: "clipboard or dom", format: "markdown, normalized_text, visible_text, html, blocks, or all" };
9990
11277
  if (name.startsWith("threads.search")) return { query: "history search query" };
9991
11278
  if (name === "files.preflight") return {
@@ -10055,6 +11342,9 @@ function primitiveExamples(name) {
10055
11342
  String.raw`// On Windows backend hosts, use paths such as C:\Users\you\Pictures\image.jpg.`
10056
11343
  ];
10057
11344
  }
11345
+ if (name === "files.downloadLatest") {
11346
+ return [`await chatgpt.files.downloadLatest({ destDir: "/absolute/host/output", filenamePattern: "^report\\.csv$" });`];
11347
+ }
10058
11348
  if (name === "projects.sources.list") {
10059
11349
  return [`await chatgpt.projects.sources.list({ projectUrl: "https://chatgpt.com/g/g-p-example/project" });`];
10060
11350
  }
@@ -10099,7 +11389,7 @@ function cloneDescriptor(descriptor) {
10099
11389
  }
10100
11390
 
10101
11391
  // src/commands/conversation.ts
10102
- var CHATGPT_HOME2 = "https://chatgpt.com/";
11392
+ var CHATGPT_HOME3 = "https://chatgpt.com/";
10103
11393
  async function ensureConversationTarget(page, target, options) {
10104
11394
  const targetUrl = absoluteConversationUrl(target);
10105
11395
  const expectedConversationId = parseConversationId(targetUrl);
@@ -10129,7 +11419,7 @@ async function waitForConversationHydrated(page, timeoutMs, expectedConversation
10129
11419
  }
10130
11420
  function absoluteConversationUrl(target) {
10131
11421
  if (target.href !== void 0 && target.href.startsWith("/")) {
10132
- return new URL(target.href, CHATGPT_HOME2).toString();
11422
+ return new URL(target.href, CHATGPT_HOME3).toString();
10133
11423
  }
10134
11424
  return target.href ?? target.url;
10135
11425
  }
@@ -10142,7 +11432,7 @@ function ensureResult(navigated, targetUrl, expectedConversationId) {
10142
11432
  }
10143
11433
 
10144
11434
  // src/commands/threads.ts
10145
- var CHATGPT_HOME3 = "https://chatgpt.com/";
11435
+ var CHATGPT_HOME4 = "https://chatgpt.com/";
10146
11436
  function extractThreadSearchResultsFromHtml(html) {
10147
11437
  const anchors = html.matchAll(/<a\b(?<attrs>[^>]*\bhref=["'](?<href>\/c\/[^"']+)["'][^>]*)>(?<body>[\s\S]*?)<\/a>/gi);
10148
11438
  const results = [];
@@ -10203,7 +11493,7 @@ async function newThread(env, args = {}) {
10203
11493
  try {
10204
11494
  await newChatButton(page).click?.();
10205
11495
  } catch {
10206
- await page.goto?.(CHATGPT_HOME3, { waitUntil: "domcontentloaded", timeout: args.timeoutMs ?? 3e4 });
11496
+ await page.goto?.(CHATGPT_HOME4, { waitUntil: "domcontentloaded", timeout: args.timeoutMs ?? 3e4 });
10207
11497
  }
10208
11498
  await page.waitForTimeout?.(500);
10209
11499
  const state = await readPageState(page);
@@ -10247,21 +11537,21 @@ async function resolveOpenTarget(env, args, previousResults) {
10247
11537
  return { url: args.url };
10248
11538
  }
10249
11539
  if (args.conversationId !== void 0) {
10250
- return { url: new URL(`/c/${args.conversationId}`, CHATGPT_HOME3).toString() };
11540
+ return { url: new URL(`/c/${args.conversationId}`, CHATGPT_HOME4).toString() };
10251
11541
  }
10252
11542
  if (args.fromStep !== void 0 && previousResults !== void 0) {
10253
11543
  const previous = previousResults.get(args.fromStep);
10254
11544
  const data = previous?.data;
10255
11545
  const selected = selectSearchResult(data?.results ?? [], args.select ?? "first");
10256
11546
  if (selected !== void 0) {
10257
- return { href: selected.href, url: new URL(selected.href, CHATGPT_HOME3).toString(), title: selected.title };
11547
+ return { href: selected.href, url: new URL(selected.href, CHATGPT_HOME4).toString(), title: selected.title };
10258
11548
  }
10259
11549
  }
10260
11550
  if (args.title !== void 0) {
10261
11551
  const search = await searchThreads(env, { query: args.title, limit: 10 });
10262
11552
  const selected = selectSearchResult(search.data?.results ?? [], { title: args.title }) ?? search.data?.results[0];
10263
11553
  if (selected !== void 0) {
10264
- return { href: selected.href, url: new URL(selected.href, CHATGPT_HOME3).toString(), title: selected.title };
11554
+ return { href: selected.href, url: new URL(selected.href, CHATGPT_HOME4).toString(), title: selected.title };
10265
11555
  }
10266
11556
  }
10267
11557
  return void 0;