local-operator-ui 0.35.0 → 0.35.2

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 (86) hide show
  1. package/out/main/index.js +614 -16
  2. package/out/renderer/assets/{_basePickBy-DXcdlCne.js → _basePickBy-NBZVf3x_.js} +1 -1
  3. package/out/renderer/assets/{_baseUniq-59s2A3Xi.js → _baseUniq-BpOXfy9b.js} +1 -1
  4. package/out/renderer/assets/{agent-details-page-DzCMByBi.js → agent-details-page-CI5V0mco.js} +1 -1
  5. package/out/renderer/assets/{agent-hub-page-DJCaMoAj.js → agent-hub-page-C7UV5Z02.js} +1 -1
  6. package/out/renderer/assets/{agents-page-jAx30gRr.js → agents-page-BHUCzpZE.js} +3 -3
  7. package/out/renderer/assets/{arc-DTGY_Lgi.js → arc-DTlm2-sN.js} +1 -1
  8. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-C1eZGb9i.js → architectureDiagram-IEHRJDOE-uA5hYBWO.js} +1 -1
  9. package/out/renderer/assets/{blockDiagram-JOT3LUYC-DcFFqP3h.js → blockDiagram-JOT3LUYC-Awo08lrR.js} +1 -1
  10. package/out/renderer/assets/{book-open-Bi2GxPj-.js → book-open-DBUibLWP.js} +1 -1
  11. package/out/renderer/assets/browser-page-DuKCLrh5.js +1 -0
  12. package/out/renderer/assets/{browser-webauthn-prompt-DcHbqaLn.js → browser-webauthn-prompt-egKdqzbk.js} +1 -1
  13. package/out/renderer/assets/{c4Diagram-VJAJSXHY-CzUO0Dxd.js → c4Diagram-VJAJSXHY-DAHoIxNf.js} +1 -1
  14. package/out/renderer/assets/channel-BZ9uCAQo.js +1 -0
  15. package/out/renderer/assets/{chunk-4BMEZGHF-mCAjVMxO.js → chunk-4BMEZGHF-QvFtu74J.js} +1 -1
  16. package/out/renderer/assets/{chunk-A2AXSNBT-D6-zo_Fr.js → chunk-A2AXSNBT-EcRDJZN6.js} +1 -1
  17. package/out/renderer/assets/{chunk-AEK57VVT-B3ngikm8.js → chunk-AEK57VVT-CKf_yBAg.js} +1 -1
  18. package/out/renderer/assets/{chunk-D6G4REZN-ChTXeHBQ.js → chunk-D6G4REZN-CoixV4aq.js} +1 -1
  19. package/out/renderer/assets/{chunk-RZ5BOZE2-D2c3_Jya.js → chunk-RZ5BOZE2-CtEEDTp-.js} +1 -1
  20. package/out/renderer/assets/{chunk-XZIHB7SX-BTrxUgxT.js → chunk-XZIHB7SX-BOgT03N8.js} +1 -1
  21. package/out/renderer/assets/classDiagram-GIVACNV2-D6kkk-4_.js +1 -0
  22. package/out/renderer/assets/classDiagram-v2-COTLJTTW-D6kkk-4_.js +1 -0
  23. package/out/renderer/assets/clone-BgCd73kI.js +1 -0
  24. package/out/renderer/assets/{console-mirror-Dc1bE9Vm.js → console-mirror-D7dfGxrD.js} +1 -1
  25. package/out/renderer/assets/{consoleCapture-Wr6s4sLo.js → consoleCapture-DczATgZh.js} +1 -1
  26. package/out/renderer/assets/{conversation-input-sync-C-0MXqyt.js → conversation-input-sync-GlFEQKuo.js} +265 -259
  27. package/out/renderer/assets/{dagre-OKDRZEBW-B9TiRiqo.js → dagre-OKDRZEBW-CijtV3o0.js} +1 -1
  28. package/out/renderer/assets/{diagram-SSKATNLV-1SfE1-5B.js → diagram-SSKATNLV-Dxx1RpmY.js} +1 -1
  29. package/out/renderer/assets/{diagram-VNBRO52H-l4dzkACu.js → diagram-VNBRO52H-DZg2hjvO.js} +1 -1
  30. package/out/renderer/assets/{erDiagram-Q7BY3M3F-CUgpeoFK.js → erDiagram-Q7BY3M3F-CjvMMGLo.js} +1 -1
  31. package/out/renderer/assets/{error-boundary-C9PRNlmT.js → error-boundary-CLT6U8jT.js} +1 -1
  32. package/out/renderer/assets/{flowDiagram-4HSFHLVR-T5JJ4Xtw.js → flowDiagram-4HSFHLVR-EjagIE01.js} +1 -1
  33. package/out/renderer/assets/{ganttDiagram-APWFNJXF-DQ2mySlQ.js → ganttDiagram-APWFNJXF-OfsWfUyW.js} +1 -1
  34. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-C9DZfwGd.js → gitGraphDiagram-7IBYFJ6S-nYTyKs0s.js} +1 -1
  35. package/out/renderer/assets/{graph-TsL6qeA-.js → graph-BnL8m22f.js} +1 -1
  36. package/out/renderer/assets/{index-rSXvFxM8.js → index-C866kR_k.js} +1 -1
  37. package/out/renderer/assets/index-CGcU9-Py.css +1 -0
  38. package/out/renderer/assets/{index-P4i-q0KF.js → index-CO7sxKWb.js} +1 -1
  39. package/out/renderer/assets/index-Cj2bZws8.js +57 -0
  40. package/out/renderer/assets/{index-D8u5NmIa.js → index-p3NO0LL-.js} +204 -204
  41. package/out/renderer/assets/{infoDiagram-PH2N3AL5-U47NbuL3.js → infoDiagram-PH2N3AL5-LE2dCnxc.js} +1 -1
  42. package/out/renderer/assets/{installer-fluCVssE.js → installer-Wpfa8xHM.js} +1 -1
  43. package/out/renderer/assets/{journeyDiagram-U35MCT3I-Bo7dozG5.js → journeyDiagram-U35MCT3I-BhpegMd0.js} +1 -1
  44. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-Bn0hKA3l.js → kanban-definition-NDS4AKOZ-OoMW68Bt.js} +1 -1
  45. package/out/renderer/assets/{layout-CnIEnr3t.js → layout-BdaXfJXz.js} +1 -1
  46. package/out/renderer/assets/{legacy-agents-page-pxEj7cjk.js → legacy-agents-page-lVj0d18U.js} +1 -1
  47. package/out/renderer/assets/{mermaid.core-lUsLZpuU.js → mermaid.core-DmdT5IgP.js} +5 -5
  48. package/out/renderer/assets/{mesh-page-vihuNvox.js → mesh-page-D0-4HVNk.js} +1 -1
  49. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-DtB-t5TL.js → mindmap-definition-ALO5MXBD-BCXX8n68.js} +1 -1
  50. package/out/renderer/assets/{mini--p2d2BoB.js → mini-DsJCW_H3.js} +1 -1
  51. package/out/renderer/assets/{notebook-pen-C-602S82.js → notebook-pen-CAZF-xgd.js} +1 -1
  52. package/out/renderer/assets/{org-access-DwKpT4sY.js → org-access-DCQGHh2Y.js} +1 -1
  53. package/out/renderer/assets/{org-surface-gate--inYykb1.js → org-surface-gate-Cq3kOR7u.js} +1 -1
  54. package/out/renderer/assets/{page-header-Cz4WU8y6.js → page-header-CQ6qN4O4.js} +1 -1
  55. package/out/renderer/assets/{pieDiagram-IB7DONF6-kHXX0Qj3.js → pieDiagram-IB7DONF6-BRK1MBQO.js} +1 -1
  56. package/out/renderer/assets/{projects-page-B9Y4di7i.js → projects-page-DpAhuoA7.js} +2 -2
  57. package/out/renderer/assets/{publication-validation-LQ7dKLdu.js → publication-validation-CZn6wbD0.js} +1 -1
  58. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-Da2X85Fu.js → quadrantDiagram-7GDLP6J5-CtQwUI4m.js} +1 -1
  59. package/out/renderer/assets/{radar-MK3ICKWK-C0d75XBo.js → radar-MK3ICKWK-o9_lRR0v.js} +1 -1
  60. package/out/renderer/assets/{radient-auth-buttons-DQVWpG8o.js → radient-auth-buttons-BWhD8ldO.js} +1 -1
  61. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-CL-Kku_X.js → requirementDiagram-KVF5MWMF-aEEiUjHx.js} +1 -1
  62. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-DWUg1eAE.js → sankeyDiagram-QLVOVGJD-CtjAQQYG.js} +1 -1
  63. package/out/renderer/assets/{schedules-page-B7tSQfbG.js → schedules-page-C4-FWwsb.js} +1 -1
  64. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-Bn0FlGHo.js → sequenceDiagram-X6HHIX6F-QOpgwrwA.js} +1 -1
  65. package/out/renderer/assets/{settings-page-Dty0ZTmK.js → settings-page-BJZ7ozTY.js} +59 -64
  66. package/out/renderer/assets/{stateDiagram-DGXRK772-CkdY_hLZ.js → stateDiagram-DGXRK772-D99A_n2H.js} +1 -1
  67. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-D0CTAsLQ.js +1 -0
  68. package/out/renderer/assets/{timeline-definition-BDJGKUSR-DodPShzl.js → timeline-definition-BDJGKUSR-C_Op_i7D.js} +1 -1
  69. package/out/renderer/assets/{ui-preferences-store-B_KwjcMZ.js → ui-preferences-store-Dz1Kg_SA.js} +1 -1
  70. package/out/renderer/assets/{use-download-agent-mutation-CIiU8sRW.js → use-download-agent-mutation-PP3ZbZ7V.js} +1 -1
  71. package/out/renderer/assets/{use-memberships-query-BMOJPwWD.js → use-memberships-query-TOFQHH-q.js} +1 -1
  72. package/out/renderer/assets/{use-session-snapshot-B0aCKABJ.js → use-session-snapshot-BOMni_bJ.js} +1 -1
  73. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-BRifY3vn.js → xychartDiagram-VJFVF3MP-Bq2H6JYU.js} +1 -1
  74. package/out/renderer/console-capture.html +5 -5
  75. package/out/renderer/index.html +7 -7
  76. package/out/renderer/installer.html +4 -4
  77. package/out/renderer/mini.html +7 -7
  78. package/package.json +2 -2
  79. package/out/renderer/assets/browser-page-Bnzl2Fck.js +0 -1
  80. package/out/renderer/assets/channel-CBLzxDK-.js +0 -1
  81. package/out/renderer/assets/classDiagram-GIVACNV2-BnE_q2SF.js +0 -1
  82. package/out/renderer/assets/classDiagram-v2-COTLJTTW-BnE_q2SF.js +0 -1
  83. package/out/renderer/assets/clone-Ctta4hua.js +0 -1
  84. package/out/renderer/assets/index-8yv29dzU.js +0 -57
  85. package/out/renderer/assets/index-Bk16DqRh.css +0 -1
  86. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-CWy168Js.js +0 -1
package/out/main/index.js CHANGED
@@ -8151,6 +8151,19 @@ const mediaRequestSchema = zod.z.discriminatedUnion("op", [
8151
8151
  childId: zod.z.string().regex(/^[a-f0-9]{12}$/),
8152
8152
  digest: zod.z.string().regex(/^[a-f0-9]{32}$/)
8153
8153
  }).strict(),
8154
+ // A generated sound's PRE-RENDER peaks sidecar (`<digest>.peaks.json`, 240
8155
+ // bars). It rides this relay because it is content IN the session store,
8156
+ // served beside the audio it describes by the same attachment route family -
8157
+ // the renderer asks the store one question ("what did this session keep under
8158
+ // this digest?") rather than learning the store's layout - and because the
8159
+ // route needs the bearer, which this relay attaches and the JSON transport's
8160
+ // callers would have to re-plumb. Same shape constraints as the attachment op
8161
+ // above for the same reason: main builds the path.
8162
+ zod.z.object({
8163
+ op: zod.z.literal("sessions.attachment.waveform"),
8164
+ sessionId: zod.z.string().regex(/^[a-f0-9]{12}$/),
8165
+ digest: zod.z.string().regex(/^[a-f0-9]{32}$/)
8166
+ }).strict(),
8154
8167
  // One supplement component's assembled HTML document (turn-supplements
8155
8168
  // memo §2.7), as `{ html }` JSON. Both identifiers are shape-constrained
8156
8169
  // here for the same reason the attachment ops' are: the path is built in
@@ -8185,6 +8198,11 @@ function endpoint(request) {
8185
8198
  path: `/v1/desktop/sessions/${request.sessionId}/children/${request.childId}/attachments/${request.digest}`,
8186
8199
  method: "GET"
8187
8200
  };
8201
+ case "sessions.attachment.waveform":
8202
+ return {
8203
+ path: `/v1/desktop/sessions/${request.sessionId}/attachments/${request.digest}/waveform`,
8204
+ method: "GET"
8205
+ };
8188
8206
  case "sessions.supplementDocument":
8189
8207
  return {
8190
8208
  path: `/v1/desktop/sessions/${request.sessionId}/supplements/${request.digest}/document`,
@@ -8229,7 +8247,7 @@ async function requestDesktopMediaOutcome(input, bytes, backendUrl, token) {
8229
8247
  const target2 = endpoint(request);
8230
8248
  let body;
8231
8249
  let contentType;
8232
- if (request.op === "agent.export" || request.op === "sessions.attachment" || request.op === "subagents.attachment" || request.op === "sessions.supplementDocument") {
8250
+ if (request.op === "agent.export" || request.op === "sessions.attachment" || request.op === "subagents.attachment" || request.op === "sessions.attachment.waveform" || request.op === "sessions.supplementDocument") {
8233
8251
  body = void 0;
8234
8252
  } else if (request.op === "speech.create" || request.op === "speech.agent") {
8235
8253
  body = JSON.stringify(request.request);
@@ -32538,7 +32556,7 @@ const enUiCanvas = {
32538
32556
  "ui.canvas.files.documents": "Documents",
32539
32557
  "ui.canvas.files.spreadsheets": "Spreadsheets",
32540
32558
  "ui.canvas.files.other": "Other",
32541
- "ui.canvas.files.audio": "Audio",
32559
+ "ui.canvas.files.audio": "Sounds",
32542
32560
  "ui.canvas.files.code": "Code",
32543
32561
  "ui.canvas.files.presentations": "Presentations",
32544
32562
  "ui.canvas.files.archives": "Archives",
@@ -35120,6 +35138,213 @@ const enUiShellRail = {
35120
35138
  "ui.shell.rail.console.tooltip": "{state, select, open {Close console{chord}} other {Open console{chord}}}",
35121
35139
  "ui.shell.rail.console.tooltip_count": "{state, select, open {Close console{chord}} other {Open console{chord}}} — {count, plural, one {{countText} finished since you looked} other {{countText} finished since you looked}}"
35122
35140
  };
35141
+ const esUiAgentsNavigation = {
35142
+ "ui.agents.navigation.updates.preview.empty": "No hay diferencias que mostrar: la versión del hub coincide con la tuya.",
35143
+ "ui.agents.navigation.updates.preview.local": "La tuya",
35144
+ "ui.agents.navigation.updates.preview.remote": "La del hub",
35145
+ "ui.agents.navigation.updates.accessible": "Actualización del hub",
35146
+ "ui.agents.navigation.updates.baseline_unknown": "Nada registra qué cambiaste en este dispositivo. Cualquiera de las dos opciones añade lo que aporta el hub y no elimina nada tuyo; donde difieren las dos versiones, tu elección decide qué redacción se queda.",
35147
+ "ui.agents.navigation.updates.merge_guidance": "Donde difieren las dos versiones, tu elección decide qué redacción se queda. Todo lo demás se fusiona y tu versión actual se guarda antes como copia de seguridad.",
35148
+ "ui.agents.navigation.updates.action.updating": "Actualizando…",
35149
+ "ui.agents.navigation.updates.action.update": "Actualizar desde el hub",
35150
+ "ui.agents.navigation.updates.action.retrying": "Reintentando…",
35151
+ "ui.agents.navigation.updates.action.retry": "Reintentar",
35152
+ "ui.agents.navigation.updates.action.loading": "Cargando…",
35153
+ "ui.agents.navigation.updates.action.preview": "Ver las diferencias",
35154
+ "ui.agents.navigation.updates.action.keep_local": "Conservar la mía donde difieran",
35155
+ "ui.agents.navigation.updates.action.use_remote": "Usar la del hub donde difieran",
35156
+ "ui.agents.navigation.sidebar.options": "Opciones del agente",
35157
+ "ui.agents.navigation.sidebar.title": "Agentes",
35158
+ "ui.agents.navigation.sidebar.loading": "Cargando agentes",
35159
+ "ui.agents.navigation.sidebar.error": "No se pudieron cargar los agentes. Inténtalo de nuevo.",
35160
+ "ui.agents.navigation.sidebar.retry": "Reintentar",
35161
+ "ui.agents.navigation.sidebar.search_empty": "Ningún agente coincide con tu búsqueda",
35162
+ "ui.agents.navigation.sidebar.empty": "No se encontró ningún agente",
35163
+ "ui.agents.navigation.legacy.title": "Gestión de agentes",
35164
+ "ui.agents.navigation.legacy.more_actions": "Más acciones del agente",
35165
+ "ui.agents.navigation.legacy.export": "Exportar",
35166
+ "ui.agents.navigation.legacy.upload": "Subir al hub",
35167
+ "ui.agents.navigation.legacy.chat": "Chat",
35168
+ "ui.agents.navigation.updates.preview.nothing": "(nada)",
35169
+ "ui.agents.navigation.sidebar.no_description": "Sin descripción",
35170
+ "ui.agents.navigation.sidebar.import_hint": "Importar un agente desde un archivo ZIP",
35171
+ "ui.agents.navigation.legacy.subtitle": "Ver, configurar y gestionar tus agentes",
35172
+ "ui.agents.navigation.legacy.unnamed_agent": "este agente",
35173
+ "ui.agents.navigation.legacy.chat_named": "Chatear con {name}"
35174
+ };
35175
+ const esUiChatComposer = {
35176
+ "ui.chat.composer.clear_message": "Borrar mensaje",
35177
+ "ui.chat.composer.message": "Mensaje",
35178
+ "ui.chat.composer.attach_file": "Adjuntar archivo",
35179
+ "ui.chat.composer.start_recording": "Iniciar grabación",
35180
+ "ui.chat.composer.confirm_recording": "Confirmar grabación",
35181
+ "ui.chat.composer.confirm_recording_hint": "Confirmar grabación (Intro)",
35182
+ "ui.chat.composer.cancel_recording": "Cancelar grabación",
35183
+ "ui.chat.composer.cancel_recording_hint": "Cancelar grabación (Esc)",
35184
+ "ui.chat.composer.stop": "Detener",
35185
+ "ui.chat.composer.stop_work_hint": "Detener el trabajo actual de esta sesión (Esc)",
35186
+ "ui.chat.composer.stop_agent": "Detener agente",
35187
+ "ui.chat.composer.ask_aside": "Preguntar al margen",
35188
+ "ui.chat.composer.send_message": "Enviar mensaje",
35189
+ "ui.chat.composer.starting": "Iniciando",
35190
+ "ui.chat.composer.starting_recording": "Iniciando grabación",
35191
+ "ui.chat.composer.start_recording_hint": "Iniciar grabación ({shortcut} o mantén {pushToTalk})",
35192
+ "ui.chat.composer.processing_audio": "Procesando audio",
35193
+ "ui.chat.composer.welcome": "¿En qué puedo ayudarte hoy?",
35194
+ "ui.chat.composer.delivery_remedies_hint": "El mensaje que no se pudo entregar tiene los controles Enviar de nuevo y Editar en la conversación, encima de este cuadro: pulsa Mayús+Tab para llegar a ellos.",
35195
+ "ui.chat.composer.secret_ask_notice": "El agente está pidiendo un secreto. Escríbelo en el panel de consultas; puedes seguir chateando mientras tanto.",
35196
+ "ui.chat.composer.secret_ask_open": "Abrir consultas",
35197
+ "ui.chat.composer.secret_confirm_message": "Esto parece una contraseña o una clave. ¿Dónde debe ir?",
35198
+ "ui.chat.composer.secret_confirm_chars": "{count, plural, one {# carácter} many {# de caracteres} other {# caracteres}}",
35199
+ "ui.chat.composer.secret_confirm_sending": "Enviando al campo secreto…",
35200
+ "ui.chat.composer.secret_confirm_put": "Poner en el campo secreto",
35201
+ "ui.chat.composer.secret_confirm_put_multi": "Abrir panel de consultas",
35202
+ "ui.chat.composer.secret_confirm_send": "Enviar como mensaje",
35203
+ "ui.chat.composer.secret_confirm_cancel": "Cancelar",
35204
+ "ui.chat.composer.secret_fill_locked": "No se puso en el campo secreto: aún se está enviando un mensaje. Tu texto se conserva; inténtalo de nuevo cuando termine.",
35205
+ "ui.chat.composer.secret_fill_changed": "No se puso en el campo secreto: la solicitud cambió antes. Tu texto se conserva.",
35206
+ "ui.chat.composer.secret_fill_gone": "No se puso en el campo secreto: esa solicitud ya no está en espera. Tu texto se conserva.",
35207
+ "ui.chat.composer.secret_fill_refused": "El campo secreto no aceptó ese valor. Tu texto se conserva; el panel de consultas explica por qué.",
35208
+ "ui.chat.composer.secret_fill_unavailable": "No se pudo acceder al campo secreto. Tu texto se conserva.",
35209
+ "ui.chat.composer.secret_fill_multi": "Esta solicitud pide más de un secreto. Tu texto se conserva; elige el campo en el panel de consultas."
35210
+ };
35211
+ const esUiChatHeader = {
35212
+ "ui.chat.header.conversation_name": "Nombre de la conversación",
35213
+ "ui.chat.header.archived_hint": "Esta conversación está archivada. Está oculta de tus chats hasta que la restaures.",
35214
+ "ui.chat.header.archived": "Archivada",
35215
+ "ui.chat.header.actions": "Acciones de la conversación",
35216
+ "ui.chat.header.copy_id": "Copiar ID de sesión",
35217
+ "ui.chat.header.move_device": "Mover a otro dispositivo…",
35218
+ "ui.chat.header.transcript_display": "Vista de la transcripción",
35219
+ "ui.chat.header.delete": "Eliminar conversación…",
35220
+ "ui.chat.header.close_run_details": "Cerrar detalles de ejecución",
35221
+ "ui.chat.header.open_run_details": "Abrir detalles de ejecución"
35222
+ };
35223
+ const esUiChat = {
35224
+ "ui.chat.usage.continue": "Cuota incluida agotada; se seguirán usando créditos.",
35225
+ "ui.chat.usage.family_caps": "Los límites por familia de modelos siguen vigentes.",
35226
+ "ui.chat.usage.blocked": "Gasto no disponible",
35227
+ "ui.chat.usage.eligibility_unknown": "Elegibilidad de gasto desconocida",
35228
+ "ui.chat.usage.unlimited": "Cuota de pago ilimitada",
35229
+ "ui.chat.skill_invocation.instructions_label": "Instrucciones de la habilidad enviadas con este mensaje",
35230
+ "ui.chat.skill_invocation.trigger_label": "Instrucciones de la habilidad {token}",
35231
+ "ui.chat.highlights.file_resolution_failed": "No se pudo resolver este archivo en el directorio de trabajo de la sesión. Usa Copiar ruta del archivo para comprobar su ubicación frente al espacio de trabajo de esta sesión antes de volver a intentarlo."
35232
+ };
35233
+ const esUiChatSidebarView = {
35234
+ "ui.chat.sidebar_view.group_by": "Agrupar por",
35235
+ "ui.chat.sidebar_view.time_basis": "Base temporal",
35236
+ "ui.chat.sidebar_view.order_by": "Ordenar por",
35237
+ "ui.chat.sidebar_view.sections": "Secciones",
35238
+ "ui.chat.sidebar_view.time_section": "Sección temporal",
35239
+ "ui.chat.sidebar_view.agent_team": "Agente y equipo",
35240
+ "ui.chat.sidebar_view.one_list": "En una lista",
35241
+ "ui.chat.sidebar_view.last_active": "Última actividad",
35242
+ "ui.chat.sidebar_view.created": "Fecha de creación",
35243
+ "ui.chat.sidebar_view.active_first": "Activos primero",
35244
+ "ui.chat.sidebar_view.most_recent": "Más recientes",
35245
+ "ui.chat.sidebar_view.clock_hint": "Las fechas y el orden siguen el reloj seleccionado.",
35246
+ "ui.chat.sidebar_view.move_up": "Subir {section}",
35247
+ "ui.chat.sidebar_view.move_down": "Bajar {section}",
35248
+ "ui.chat.sidebar_view.hidden": "{count, plural, one {{count, number, ::group-off} sección oculta} many {{count, number, ::group-off} de secciones ocultas} other {{count, number, ::group-off} secciones ocultas}}",
35249
+ "ui.chat.sidebar_view.section.pinned": "Fijadas",
35250
+ "ui.chat.sidebar_view.section.running": "En curso",
35251
+ "ui.chat.sidebar_view.section.today": "Hoy",
35252
+ "ui.chat.sidebar_view.section.week": "Esta semana",
35253
+ "ui.chat.sidebar_view.section.older": "Anteriores",
35254
+ "ui.chat.sidebar_view.section.agents": "Agentes",
35255
+ "ui.chat.sidebar_view.section.teams": "Equipos"
35256
+ };
35257
+ const esUiCommandPalette = {
35258
+ "ui.command_palette.command_palette.characters_so_chats_are_matched_by_name": " caracteres, así que los chats se buscan por nombre.",
35259
+ "ui.command_palette.command_palette.chats_are_matched_by_name_update_local_operator_to_search_inside_": "Los chats se buscan por nombre. Actualiza Local Operator para buscar dentro de las conversaciones.",
35260
+ "ui.command_palette.command_palette.clear": "Borrar",
35261
+ "ui.command_palette.command_palette.clear_search": "Borrar búsqueda",
35262
+ "ui.command_palette.command_palette.clear_this_conversation": "¿Borrar esta conversación?",
35263
+ "ui.command_palette.command_palette.command_palette": "Paleta de comandos",
35264
+ "ui.command_palette.command_palette.conversation_search_is_unavailable_while_the_backend_is_unreachab": "La búsqueda en conversaciones no está disponible mientras el backend no sea accesible, así que los chats se buscan por nombre.",
35265
+ "ui.command_palette.command_palette.every_message_in_it_is_deleted_from_this_computer_and_there_is_no": "Todos los mensajes se eliminan de este equipo y no se puede deshacer. El agente no se ve afectado.",
35266
+ "ui.command_palette.command_palette.go": "Ir",
35267
+ "ui.command_palette.command_palette.open": "Abrir",
35268
+ "ui.command_palette.command_palette.results": "Resultados",
35269
+ "ui.command_palette.command_palette.run": "Ejecutar",
35270
+ "ui.command_palette.command_palette.search_chats_settings_pages_and_actions": "Buscar chats, ajustes, páginas y acciones",
35271
+ "ui.command_palette.command_palette.search_terms_are_limited_to": "Los términos de búsqueda se limitan a ",
35272
+ "ui.command_palette.command_palette.searching_conversations": "Buscando conversaciones…",
35273
+ "ui.command_palette.command_palette.to_close": "para cerrar",
35274
+ "ui.command_palette.command_palette.to_move": "para mover",
35275
+ "ui.command_palette.command_palette.to_run": "para ejecutar",
35276
+ "ui.command_palette.empty.backspace": "Prueba otra palabra o usa Retroceso {glyph} para buscar en todo.",
35277
+ "ui.command_palette.empty.no_matches": "No hay coincidencias para “{terms}”",
35278
+ "ui.command_palette.matches.best": "{total, plural, one {mostrando la mejor {countText} de {totalText} coincidencia} many {mostrando las mejores {countText} de {totalText} de coincidencias} other {mostrando las mejores {countText} de {totalText} coincidencias}}",
35279
+ "ui.command_palette.matches.showing": "mostrando {count} de {total}",
35280
+ "ui.command_palette.palette_search.actions": "Acciones",
35281
+ "ui.command_palette.palette_search.agents": "Agentes",
35282
+ "ui.command_palette.palette_search.agents_and_teams": "Agentes y equipos",
35283
+ "ui.command_palette.palette_search.chats": "Chats",
35284
+ "ui.command_palette.palette_search.commands_and_pages": "Comandos y páginas",
35285
+ "ui.command_palette.palette_search.go_to": "Ir a",
35286
+ "ui.command_palette.palette_search.loading_conversations": "Cargando conversaciones…",
35287
+ "ui.command_palette.palette_search.no_conversations_yet": "Aún no hay conversaciones",
35288
+ "ui.command_palette.palette_search.nothing_to_show_yet": "Aún no hay nada que mostrar",
35289
+ "ui.command_palette.palette_search.open": "Abrir",
35290
+ "ui.command_palette.palette_search.panels": "Paneles",
35291
+ "ui.command_palette.palette_search.recents": "Recientes",
35292
+ "ui.command_palette.palette_search.search_for_a_chat_an_agent_or_team_by_name_a_setting_or_a_page_su": "Busca un chat, un agente o un equipo por nombre, un ajuste o una página como Programaciones.",
35293
+ "ui.command_palette.palette_search.searching_conversations": "Buscando conversaciones…",
35294
+ "ui.command_palette.palette_search.settings": "Ajustes",
35295
+ "ui.command_palette.palette_search.start_a_chat_and_it_will_show_up_here": "Inicia un chat y aparecerá aquí.",
35296
+ "ui.command_palette.palette_search.teams": "Equipos",
35297
+ "ui.command_palette.palette_search.try_another_word_or_narrow_the_search_with_a_prefix_below": "Prueba otra palabra o acota la búsqueda con un prefijo de abajo.",
35298
+ "ui.command_palette.palette_search.unread": "Sin leer",
35299
+ "ui.command_palette.palette_search.untitled_chat": "Chat sin título",
35300
+ "ui.command_palette.use_palette_sources.agent_chat": "Chat de agente",
35301
+ "ui.command_palette.use_palette_sources.agent_hub": "Hub de agentes",
35302
+ "ui.command_palette.use_palette_sources.agent_settings": "Ajustes del agente",
35303
+ "ui.command_palette.use_palette_sources.analytics": "Analítica",
35304
+ "ui.command_palette.use_palette_sources.app_backend_and_environment": "App, backend y entorno",
35305
+ "ui.command_palette.use_palette_sources.browser": "Navegador",
35306
+ "ui.command_palette.use_palette_sources.change": "Cambiar",
35307
+ "ui.command_palette.use_palette_sources.chat": "Chat",
35308
+ "ui.command_palette.use_palette_sources.clear": "Borrar",
35309
+ "ui.command_palette.use_palette_sources.clear_conversation": "Borrar conversación",
35310
+ "ui.command_palette.use_palette_sources.close": "Cerrar",
35311
+ "ui.command_palette.use_palette_sources.close_canvas": "Cerrar canvas",
35312
+ "ui.command_palette.use_palette_sources.connect": "Conectar",
35313
+ "ui.command_palette.use_palette_sources.connect_a_model_provider": "Conectar un proveedor de modelos",
35314
+ "ui.command_palette.use_palette_sources.create": "Crear",
35315
+ "ui.command_palette.use_palette_sources.create_agent": "Crear agente",
35316
+ "ui.command_palette.use_palette_sources.credits_limits_and_spend": "Créditos, límites y gasto",
35317
+ "ui.command_palette.use_palette_sources.diagnostics_for_this_conversation": "Diagnóstico de esta conversación",
35318
+ "ui.command_palette.use_palette_sources.in_conversation": "En la conversación",
35319
+ "ui.command_palette.use_palette_sources.info": "Información",
35320
+ "ui.command_palette.use_palette_sources.mesh": "Mesh",
35321
+ "ui.command_palette.use_palette_sources.my_agents": "Mis agentes",
35322
+ "ui.command_palette.use_palette_sources.new_chat": "Nuevo chat",
35323
+ "ui.command_palette.use_palette_sources.open": "Abrir",
35324
+ "ui.command_palette.use_palette_sources.open_canvas": "Abrir canvas",
35325
+ "ui.command_palette.use_palette_sources.projects": "Proyectos",
35326
+ "ui.command_palette.use_palette_sources.provider_usage": "Uso del proveedor",
35327
+ "ui.command_palette.use_palette_sources.schedules": "Programaciones",
35328
+ "ui.command_palette.use_palette_sources.session": "Sesión",
35329
+ "ui.command_palette.use_palette_sources.settings": "Ajustes",
35330
+ "ui.command_palette.use_palette_sources.start": "Inicio",
35331
+ "ui.command_palette.use_palette_sources.team_chat": "Chat de equipo",
35332
+ "ui.command_palette.use_palette_sources.usage_over_time": "Uso a lo largo del tiempo"
35333
+ };
35334
+ const esUiCommonActions = {
35335
+ "ui.common.actions.cancel": "Cancelar",
35336
+ "ui.common.actions.close": "Cerrar",
35337
+ "ui.common.actions.copied": "Copiado",
35338
+ "ui.common.actions.copy_failed": "No se pudo copiar. Selecciónalo y cópialo manualmente.",
35339
+ "ui.common.actions.retry": "Reintentar",
35340
+ "ui.common.actions.retry_again": "Volver a intentar"
35341
+ };
35342
+ const esUiCommonErrors = {
35343
+ "ui.common.errors.error_boundary.error_details": "Detalles del error",
35344
+ "ui.common.errors.error_boundary.something_went_wrong": "Algo salió mal",
35345
+ "ui.common.errors.error_boundary.stack_trace": "Traza de pila",
35346
+ "ui.common.errors.error_boundary.the_application_encountered_an_error_try_again_or_contact_support": "La aplicación encontró un error. Vuelve a intentarlo o contacta con soporte si el problema persiste."
35347
+ };
35123
35348
  const esUiConsole = {
35124
35349
  "ui.console.capacity.summary": "{live, number, ::group-off} activas de {limit, number, ::group-off} en la app",
35125
35350
  "ui.console.capacity.summary_compact": "{live, number, ::group-off}/{limit, number, ::group-off} · {archived, plural, one {{archived, number, ::group-off} conservado} many {{archived, number, ::group-off} de conservados} other {{archived, number, ::group-off} conservados}}",
@@ -35269,6 +35494,266 @@ const esUiSettings = {
35269
35494
  "ui.settings.profile.retry": "Reintentar",
35270
35495
  "ui.settings.profile.retrying": "Reintentando"
35271
35496
  };
35497
+ const esUiShell = {
35498
+ "ui.shell.collapsible_app_logo.local_operator": "Local Operator",
35499
+ "ui.shell.panel_rail.panels": "Paneles",
35500
+ "ui.shell.sidebar_navigation.agent_hub": "Hub de agentes",
35501
+ "ui.shell.sidebar_navigation.agents": "Agentes",
35502
+ "ui.shell.sidebar_navigation.aida_missed": "{name}, {count, plural, one {{count, number, ::group-off} mensaje sin leer} many {{count, number, ::group-off} de mensajes sin leer} other {{count, number, ::group-off} mensajes sin leer}}",
35503
+ "ui.shell.sidebar_navigation.aida_working": "{name}, trabajando",
35504
+ "ui.shell.sidebar_navigation.browser": "Navegador",
35505
+ "ui.shell.sidebar_navigation.browser_waiting": "Navegador, {count, plural, one {{countText} en espera} many {{countText} en espera} other {{countText} en espera}}",
35506
+ "ui.shell.sidebar_navigation.close_sidebar": "Cerrar barra lateral",
35507
+ "ui.shell.sidebar_navigation.collapse_sidebar": "Contraer barra lateral",
35508
+ "ui.shell.sidebar_navigation.expand_sidebar": "Expandir barra lateral",
35509
+ "ui.shell.sidebar_navigation.mesh": "Mesh",
35510
+ "ui.shell.sidebar_navigation.mesh_waiting": "Mesh, {count, plural, one {{countText} en espera} many {{countText} en espera} other {{countText} en espera}}",
35511
+ "ui.shell.sidebar_navigation.new_chat": "Nuevo chat",
35512
+ "ui.shell.sidebar_navigation.new_chat_shortcut": "Nuevo chat ({shortcut})",
35513
+ "ui.shell.sidebar_navigation.projects": "Proyectos",
35514
+ "ui.shell.sidebar_navigation.schedules": "Programaciones",
35515
+ "ui.shell.sidebar_navigation.search": "Buscar",
35516
+ "ui.shell.sidebar_navigation.search_accessible": "Buscar en todo ({everything}) — chats ({chats})",
35517
+ "ui.shell.sidebar_navigation.search_tooltip": "Buscar en todo ({everything}) · tus chats ({chats})",
35518
+ "ui.shell.sidebar_navigation.settings": "Ajustes",
35519
+ "ui.shell.user_profile_sidebar.account_settings": "Ajustes de cuenta",
35520
+ "ui.shell.user_profile_sidebar.account_unavailable": "Cuenta no disponible",
35521
+ "ui.shell.user_profile_sidebar.checking_account": "Comprobando la cuenta…",
35522
+ "ui.shell.user_profile_sidebar.privacy_and_security": "Privacidad y seguridad",
35523
+ "ui.shell.user_profile_sidebar.reconnect_radient": "Volver a conectar Radient",
35524
+ "ui.shell.user_profile_sidebar.settings": "Ajustes",
35525
+ "ui.shell.user_profile_sidebar.sign_out": "Cerrar sesión",
35526
+ "ui.shell.user_profile_sidebar.user": "Usuario"
35527
+ };
35528
+ const esUiShellRail = {
35529
+ "ui.shell.rail.ask.aria": "Consultas{chord}, {subject}",
35530
+ "ui.shell.rail.ask.aria_count": "Consultas{chord}, {subject}, {count, plural, one {{countText} en espera} many {{countText} en espera} other {{countText} en espera}}",
35531
+ "ui.shell.rail.browser.aria": "Navegador{chord}",
35532
+ "ui.shell.rail.browser.aria_count": "Navegador{chord}, {count, plural, one {{countText} en espera} many {{countText} en espera} other {{countText} en espera}}",
35533
+ "ui.shell.rail.browser.tooltip": "{state, select, open {Cerrar navegador{chord}} other {Abrir navegador{chord}}}",
35534
+ "ui.shell.rail.browser.tooltip_count": "{state, select, open {Cerrar navegador{chord}} other {Abrir navegador{chord}}} — {count, plural, one {{countText} aprobación en espera} many {{countText} de aprobaciones en espera} other {{countText} aprobaciones en espera}}",
35535
+ "ui.shell.rail.canvas.aria": "Canvas{chord}",
35536
+ "ui.shell.rail.canvas.aria_count": "Canvas{chord}, {count, plural, one {{countText} archivo} many {{countText} de archivos} other {{countText} archivos}}",
35537
+ "ui.shell.rail.canvas.tooltip": "{state, select, open {Cerrar canvas{chord}} other {Abrir canvas{chord}}}",
35538
+ "ui.shell.rail.canvas.tooltip_count": "{state, select, open {Cerrar canvas{chord}} other {Abrir canvas{chord}}} — {count, plural, one {{countText} archivo} many {{countText} de archivos} other {{countText} archivos}}",
35539
+ "ui.shell.rail.code.aria": "Revisión de código{chord}{mark}",
35540
+ "ui.shell.rail.code.aria_details": "Revisión de código{chord}, {details}{mark}",
35541
+ "ui.shell.rail.code.mentioned": "{count, plural, one {{countText} mencionado} many {{countText} de mencionados} other {{countText} mencionados}}",
35542
+ "ui.shell.rail.code.opened": "{count, plural, one {{countText} abierto} many {{countText} de abiertos} other {{countText} abiertos}}",
35543
+ "ui.shell.rail.code.tooltip": "{state, select, open {Cerrar revisión de código{chord}} other {Abrir revisión de código{chord}}}{mark}",
35544
+ "ui.shell.rail.code.tooltip_details": "{state, select, open {Cerrar revisión de código{chord}} other {Abrir revisión de código{chord}}} — {details}{mark}",
35545
+ "ui.shell.rail.console.aria": "Consola{chord}",
35546
+ "ui.shell.rail.console.aria_count": "Consola{chord}, {count, plural, one {{countText} finalizada desde tu última visita} many {{countText} de finalizadas desde tu última visita} other {{countText} finalizadas desde tu última visita}}",
35547
+ "ui.shell.rail.console.tooltip": "{state, select, open {Cerrar consola{chord}} other {Abrir consola{chord}}}",
35548
+ "ui.shell.rail.console.tooltip_count": "{state, select, open {Cerrar consola{chord}} other {Abrir consola{chord}}} — {count, plural, one {{countText} finalizada desde tu última visita} many {{countText} de finalizadas desde tu última visita} other {{countText} finalizadas desde tu última visita}}"
35549
+ };
35550
+ const frUiAgentsNavigation = {
35551
+ "ui.agents.navigation.updates.preview.empty": "Aucune différence à afficher : la version du hub correspond à la vôtre.",
35552
+ "ui.agents.navigation.updates.preview.local": "La vôtre",
35553
+ "ui.agents.navigation.updates.preview.remote": "Celle du hub",
35554
+ "ui.agents.navigation.updates.accessible": "Mise à jour du hub",
35555
+ "ui.agents.navigation.updates.baseline_unknown": "Rien ne consigne les modifications que vous avez apportées sur cet appareil. Chacun des deux choix intègre les ajouts du hub sans supprimer aucun des vôtres ; là où les deux versions diffèrent, votre choix détermine quelle formulation est conservée.",
35556
+ "ui.agents.navigation.updates.merge_guidance": "Là où les deux versions diffèrent, votre choix détermine quelle formulation est conservée. Tout le reste est fusionné et votre version actuelle est d’abord enregistrée comme sauvegarde.",
35557
+ "ui.agents.navigation.updates.action.updating": "Mise à jour…",
35558
+ "ui.agents.navigation.updates.action.update": "Mettre à jour depuis le hub",
35559
+ "ui.agents.navigation.updates.action.retrying": "Nouvel essai…",
35560
+ "ui.agents.navigation.updates.action.retry": "Réessayer",
35561
+ "ui.agents.navigation.updates.action.loading": "Chargement…",
35562
+ "ui.agents.navigation.updates.action.preview": "Aperçu des différences",
35563
+ "ui.agents.navigation.updates.action.keep_local": "Conserver la mienne en cas de différence",
35564
+ "ui.agents.navigation.updates.action.use_remote": "Utiliser celle du hub en cas de différence",
35565
+ "ui.agents.navigation.sidebar.options": "Options de l’agent",
35566
+ "ui.agents.navigation.sidebar.title": "Agents",
35567
+ "ui.agents.navigation.sidebar.loading": "Chargement des agents",
35568
+ "ui.agents.navigation.sidebar.error": "Échec du chargement des agents. Merci de réessayer.",
35569
+ "ui.agents.navigation.sidebar.retry": "Réessayer",
35570
+ "ui.agents.navigation.sidebar.search_empty": "Aucun agent ne correspond à votre recherche",
35571
+ "ui.agents.navigation.sidebar.empty": "Aucun agent trouvé",
35572
+ "ui.agents.navigation.legacy.title": "Gestion des agents",
35573
+ "ui.agents.navigation.legacy.more_actions": "Plus d’actions pour l’agent",
35574
+ "ui.agents.navigation.legacy.export": "Exporter",
35575
+ "ui.agents.navigation.legacy.upload": "Envoyer vers le hub",
35576
+ "ui.agents.navigation.legacy.chat": "Discuter",
35577
+ "ui.agents.navigation.updates.preview.nothing": "(rien)",
35578
+ "ui.agents.navigation.sidebar.no_description": "Aucune description",
35579
+ "ui.agents.navigation.sidebar.import_hint": "Importer un agent depuis un fichier ZIP",
35580
+ "ui.agents.navigation.legacy.subtitle": "Affichez, configurez et gérez vos agents",
35581
+ "ui.agents.navigation.legacy.unnamed_agent": "cet agent",
35582
+ "ui.agents.navigation.legacy.chat_named": "Discuter avec {name}"
35583
+ };
35584
+ const frUiChatComposer = {
35585
+ "ui.chat.composer.clear_message": "Effacer le message",
35586
+ "ui.chat.composer.message": "Message",
35587
+ "ui.chat.composer.attach_file": "Joindre un fichier",
35588
+ "ui.chat.composer.start_recording": "Démarrer l’enregistrement",
35589
+ "ui.chat.composer.confirm_recording": "Confirmer l’enregistrement",
35590
+ "ui.chat.composer.confirm_recording_hint": "Confirmer l’enregistrement (Entrée)",
35591
+ "ui.chat.composer.cancel_recording": "Annuler l’enregistrement",
35592
+ "ui.chat.composer.cancel_recording_hint": "Annuler l’enregistrement (Échap)",
35593
+ "ui.chat.composer.stop": "Arrêter",
35594
+ "ui.chat.composer.stop_work_hint": "Arrêter le travail en cours de cette session (Échap)",
35595
+ "ui.chat.composer.stop_agent": "Arrêter l’agent",
35596
+ "ui.chat.composer.ask_aside": "Interroger l’aparté",
35597
+ "ui.chat.composer.send_message": "Envoyer le message",
35598
+ "ui.chat.composer.starting": "Démarrage",
35599
+ "ui.chat.composer.starting_recording": "Démarrage de l’enregistrement",
35600
+ "ui.chat.composer.start_recording_hint": "Démarrer l’enregistrement ({shortcut} ou maintenir {pushToTalk})",
35601
+ "ui.chat.composer.processing_audio": "Traitement de l’audio",
35602
+ "ui.chat.composer.welcome": "Comment puis-je vous aider aujourd’hui ?",
35603
+ "ui.chat.composer.delivery_remedies_hint": "Le message qui n’a pas pu être délivré dispose des commandes Renvoyer et Modifier dans la conversation, au-dessus de ce champ : appuyez sur Maj+Tab pour les atteindre.",
35604
+ "ui.chat.composer.secret_ask_notice": "L’agent demande un secret. Saisissez-le dans le panneau des demandes — vous pouvez continuer à discuter entre-temps.",
35605
+ "ui.chat.composer.secret_ask_open": "Ouvrir les demandes",
35606
+ "ui.chat.composer.secret_confirm_message": "Cela ressemble à un mot de passe ou à une clé. Où faut-il l’envoyer ?",
35607
+ "ui.chat.composer.secret_confirm_chars": "{count, plural, one {# caractère} many {# de caractères} other {# caractères}}",
35608
+ "ui.chat.composer.secret_confirm_sending": "Envoi vers le champ secret…",
35609
+ "ui.chat.composer.secret_confirm_put": "Mettre dans le champ secret",
35610
+ "ui.chat.composer.secret_confirm_put_multi": "Ouvrir le panneau des demandes",
35611
+ "ui.chat.composer.secret_confirm_send": "Envoyer comme message",
35612
+ "ui.chat.composer.secret_confirm_cancel": "Annuler",
35613
+ "ui.chat.composer.secret_fill_locked": "Non placé dans le champ secret : un message est encore en cours d’envoi. Votre texte est conservé — réessayez une fois l’envoi terminé.",
35614
+ "ui.chat.composer.secret_fill_changed": "Non placé dans le champ secret : la demande a changé entre-temps. Votre texte est conservé.",
35615
+ "ui.chat.composer.secret_fill_gone": "Non placé dans le champ secret : cette demande n’est plus en attente. Votre texte est conservé.",
35616
+ "ui.chat.composer.secret_fill_refused": "Le champ secret n’a pas accepté cette valeur. Votre texte est conservé — le panneau des demandes en indique la raison.",
35617
+ "ui.chat.composer.secret_fill_unavailable": "Impossible d’atteindre le champ secret. Votre texte est conservé.",
35618
+ "ui.chat.composer.secret_fill_multi": "Cette demande exige plusieurs secrets. Votre texte est conservé — choisissez le champ dans le panneau des demandes."
35619
+ };
35620
+ const frUiChatHeader = {
35621
+ "ui.chat.header.conversation_name": "Nom de la conversation",
35622
+ "ui.chat.header.archived_hint": "Cette conversation est archivée. Elle est masquée de vos conversations jusqu’à ce que vous la restauriez.",
35623
+ "ui.chat.header.archived": "Archivée",
35624
+ "ui.chat.header.actions": "Actions de la conversation",
35625
+ "ui.chat.header.copy_id": "Copier l’ID de session",
35626
+ "ui.chat.header.move_device": "Déplacer vers un autre appareil…",
35627
+ "ui.chat.header.transcript_display": "Affichage de la transcription",
35628
+ "ui.chat.header.delete": "Supprimer la conversation…",
35629
+ "ui.chat.header.close_run_details": "Fermer les détails de l’exécution",
35630
+ "ui.chat.header.open_run_details": "Ouvrir les détails de l’exécution"
35631
+ };
35632
+ const frUiChat = {
35633
+ "ui.chat.usage.continue": "Quota inclus utilisé ; les crédits prennent le relais.",
35634
+ "ui.chat.usage.family_caps": "Les plafonds de la famille de modèles restent applicables.",
35635
+ "ui.chat.usage.blocked": "Dépenses indisponibles",
35636
+ "ui.chat.usage.eligibility_unknown": "Éligibilité aux dépenses inconnue",
35637
+ "ui.chat.usage.unlimited": "Allocation payante illimitée",
35638
+ "ui.chat.skill_invocation.instructions_label": "Instructions de compétence envoyées avec ce message",
35639
+ "ui.chat.skill_invocation.trigger_label": "Instructions de la compétence {token}",
35640
+ "ui.chat.highlights.file_resolution_failed": "Impossible de résoudre ce fichier dans le dossier de travail de la session. Utilisez Copier le chemin du fichier pour comparer son emplacement avec l’espace de travail de cette session, puis réessayez."
35641
+ };
35642
+ const frUiChatSidebarView = {
35643
+ "ui.chat.sidebar_view.group_by": "Grouper par",
35644
+ "ui.chat.sidebar_view.time_basis": "Base temporelle",
35645
+ "ui.chat.sidebar_view.order_by": "Trier par",
35646
+ "ui.chat.sidebar_view.sections": "Sections",
35647
+ "ui.chat.sidebar_view.time_section": "Section temporelle",
35648
+ "ui.chat.sidebar_view.agent_team": "Agent et équipe",
35649
+ "ui.chat.sidebar_view.one_list": "Une seule liste",
35650
+ "ui.chat.sidebar_view.last_active": "Dernière activité",
35651
+ "ui.chat.sidebar_view.created": "Créée le",
35652
+ "ui.chat.sidebar_view.active_first": "Actives d’abord",
35653
+ "ui.chat.sidebar_view.most_recent": "Plus récentes",
35654
+ "ui.chat.sidebar_view.clock_hint": "Les dates et l’ordre suivent l’horloge sélectionnée.",
35655
+ "ui.chat.sidebar_view.move_up": "Déplacer {section} vers le haut",
35656
+ "ui.chat.sidebar_view.move_down": "Déplacer {section} vers le bas",
35657
+ "ui.chat.sidebar_view.hidden": "{count, plural, one {{count, number, ::group-off} section masquée} many {{count, number, ::group-off} de sections masquées} other {{count, number, ::group-off} sections masquées}}",
35658
+ "ui.chat.sidebar_view.section.pinned": "Épinglées",
35659
+ "ui.chat.sidebar_view.section.running": "En cours",
35660
+ "ui.chat.sidebar_view.section.today": "Aujourd’hui",
35661
+ "ui.chat.sidebar_view.section.week": "Cette semaine",
35662
+ "ui.chat.sidebar_view.section.older": "Plus anciennes",
35663
+ "ui.chat.sidebar_view.section.agents": "Agents",
35664
+ "ui.chat.sidebar_view.section.teams": "Équipes"
35665
+ };
35666
+ const frUiCommandPalette = {
35667
+ "ui.command_palette.command_palette.characters_so_chats_are_matched_by_name": " caractères, donc les conversations sont mises en correspondance par nom.",
35668
+ "ui.command_palette.command_palette.chats_are_matched_by_name_update_local_operator_to_search_inside_": "Les conversations sont mises en correspondance par nom. Mettez à jour Local Operator pour rechercher dans les conversations.",
35669
+ "ui.command_palette.command_palette.clear": "Effacer",
35670
+ "ui.command_palette.command_palette.clear_search": "Effacer la recherche",
35671
+ "ui.command_palette.command_palette.clear_this_conversation": "Effacer cette conversation ?",
35672
+ "ui.command_palette.command_palette.command_palette": "Palette de commandes",
35673
+ "ui.command_palette.command_palette.conversation_search_is_unavailable_while_the_backend_is_unreachab": "La recherche dans les conversations est indisponible tant que le backend est injoignable ; les conversations sont donc mises en correspondance par nom.",
35674
+ "ui.command_palette.command_palette.every_message_in_it_is_deleted_from_this_computer_and_there_is_no": "Tous ses messages sont supprimés de cet ordinateur, sans possibilité d’annulation. L’agent lui-même n’est pas affecté.",
35675
+ "ui.command_palette.command_palette.go": "Aller",
35676
+ "ui.command_palette.command_palette.open": "Ouvrir",
35677
+ "ui.command_palette.command_palette.results": "Résultats",
35678
+ "ui.command_palette.command_palette.run": "Exécuter",
35679
+ "ui.command_palette.command_palette.search_chats_settings_pages_and_actions": "Rechercher des conversations, des paramètres, des pages et des actions",
35680
+ "ui.command_palette.command_palette.search_terms_are_limited_to": "Les termes de recherche sont limités à ",
35681
+ "ui.command_palette.command_palette.searching_conversations": "Recherche dans les conversations…",
35682
+ "ui.command_palette.command_palette.to_close": "pour fermer",
35683
+ "ui.command_palette.command_palette.to_move": "pour déplacer",
35684
+ "ui.command_palette.command_palette.to_run": "pour exécuter",
35685
+ "ui.command_palette.empty.backspace": "Essayez un autre mot, ou appuyez sur {glyph} pour tout rechercher.",
35686
+ "ui.command_palette.empty.no_matches": "Aucun résultat pour « {terms} »",
35687
+ "ui.command_palette.matches.best": "{total, plural, one {affichage du meilleur résultat {countText} sur {totalText}} many {affichage des {countText} meilleurs résultats sur {totalText}} other {affichage des {countText} meilleurs résultats sur {totalText}}}",
35688
+ "ui.command_palette.matches.showing": "affichage de {count} sur {total}",
35689
+ "ui.command_palette.palette_search.actions": "Actions",
35690
+ "ui.command_palette.palette_search.agents": "Agents",
35691
+ "ui.command_palette.palette_search.agents_and_teams": "Agents et équipes",
35692
+ "ui.command_palette.palette_search.chats": "Conversations",
35693
+ "ui.command_palette.palette_search.commands_and_pages": "Commandes et pages",
35694
+ "ui.command_palette.palette_search.go_to": "Aller à",
35695
+ "ui.command_palette.palette_search.loading_conversations": "Chargement des conversations…",
35696
+ "ui.command_palette.palette_search.no_conversations_yet": "Aucune conversation pour l’instant",
35697
+ "ui.command_palette.palette_search.nothing_to_show_yet": "Rien à afficher pour l’instant",
35698
+ "ui.command_palette.palette_search.open": "Ouvrir",
35699
+ "ui.command_palette.palette_search.panels": "Panneaux",
35700
+ "ui.command_palette.palette_search.recents": "Récents",
35701
+ "ui.command_palette.palette_search.search_for_a_chat_an_agent_or_team_by_name_a_setting_or_a_page_su": "Recherchez une conversation, un agent ou une équipe par nom, un paramètre ou une page comme Planifications.",
35702
+ "ui.command_palette.palette_search.searching_conversations": "Recherche dans les conversations…",
35703
+ "ui.command_palette.palette_search.settings": "Paramètres",
35704
+ "ui.command_palette.palette_search.start_a_chat_and_it_will_show_up_here": "Démarrez une conversation et elle apparaîtra ici.",
35705
+ "ui.command_palette.palette_search.teams": "Équipes",
35706
+ "ui.command_palette.palette_search.try_another_word_or_narrow_the_search_with_a_prefix_below": "Essayez un autre mot ou affinez la recherche avec un préfixe ci-dessous.",
35707
+ "ui.command_palette.palette_search.unread": "Non lues",
35708
+ "ui.command_palette.palette_search.untitled_chat": "Conversation sans titre",
35709
+ "ui.command_palette.use_palette_sources.agent_chat": "Conversation avec l’agent",
35710
+ "ui.command_palette.use_palette_sources.agent_hub": "Hub des agents",
35711
+ "ui.command_palette.use_palette_sources.agent_settings": "Paramètres de l’agent",
35712
+ "ui.command_palette.use_palette_sources.analytics": "Statistiques",
35713
+ "ui.command_palette.use_palette_sources.app_backend_and_environment": "Application, backend et environnement",
35714
+ "ui.command_palette.use_palette_sources.browser": "Navigateur",
35715
+ "ui.command_palette.use_palette_sources.change": "Modifier",
35716
+ "ui.command_palette.use_palette_sources.chat": "Conversation",
35717
+ "ui.command_palette.use_palette_sources.clear": "Effacer",
35718
+ "ui.command_palette.use_palette_sources.clear_conversation": "Effacer la conversation",
35719
+ "ui.command_palette.use_palette_sources.close": "Fermer",
35720
+ "ui.command_palette.use_palette_sources.close_canvas": "Fermer le canvas",
35721
+ "ui.command_palette.use_palette_sources.connect": "Connecter",
35722
+ "ui.command_palette.use_palette_sources.connect_a_model_provider": "Connecter un fournisseur de modèles",
35723
+ "ui.command_palette.use_palette_sources.create": "Créer",
35724
+ "ui.command_palette.use_palette_sources.create_agent": "Créer un agent",
35725
+ "ui.command_palette.use_palette_sources.credits_limits_and_spend": "Crédits, limites et dépenses",
35726
+ "ui.command_palette.use_palette_sources.diagnostics_for_this_conversation": "Diagnostics de cette conversation",
35727
+ "ui.command_palette.use_palette_sources.in_conversation": "Dans la conversation",
35728
+ "ui.command_palette.use_palette_sources.info": "Infos",
35729
+ "ui.command_palette.use_palette_sources.mesh": "Maillage",
35730
+ "ui.command_palette.use_palette_sources.my_agents": "Mes agents",
35731
+ "ui.command_palette.use_palette_sources.new_chat": "Nouvelle conversation",
35732
+ "ui.command_palette.use_palette_sources.open": "Ouvrir",
35733
+ "ui.command_palette.use_palette_sources.open_canvas": "Ouvrir le canvas",
35734
+ "ui.command_palette.use_palette_sources.projects": "Projets",
35735
+ "ui.command_palette.use_palette_sources.provider_usage": "Utilisation du fournisseur",
35736
+ "ui.command_palette.use_palette_sources.schedules": "Planifications",
35737
+ "ui.command_palette.use_palette_sources.session": "Session",
35738
+ "ui.command_palette.use_palette_sources.settings": "Paramètres",
35739
+ "ui.command_palette.use_palette_sources.start": "Démarrer",
35740
+ "ui.command_palette.use_palette_sources.team_chat": "Conversation d’équipe",
35741
+ "ui.command_palette.use_palette_sources.usage_over_time": "Utilisation dans le temps"
35742
+ };
35743
+ const frUiCommonActions = {
35744
+ "ui.common.actions.cancel": "Annuler",
35745
+ "ui.common.actions.close": "Fermer",
35746
+ "ui.common.actions.copied": "Copié",
35747
+ "ui.common.actions.copy_failed": "Copie impossible. Sélectionnez le texte et copiez-le manuellement.",
35748
+ "ui.common.actions.retry": "Réessayer",
35749
+ "ui.common.actions.retry_again": "Réessayer"
35750
+ };
35751
+ const frUiCommonErrors = {
35752
+ "ui.common.errors.error_boundary.error_details": "Détails de l’erreur",
35753
+ "ui.common.errors.error_boundary.something_went_wrong": "Un problème est survenu",
35754
+ "ui.common.errors.error_boundary.stack_trace": "Trace de la pile",
35755
+ "ui.common.errors.error_boundary.the_application_encountered_an_error_try_again_or_contact_support": "L’application a rencontré une erreur. Réessayez ou contactez le support si le problème persiste."
35756
+ };
35272
35757
  const frUiConsole = {
35273
35758
  "ui.console.close.body": "Le programme en cours sera arrêté et son onglet supprimé.",
35274
35759
  "ui.console.close.busy": "Fermeture…",
@@ -35901,6 +36386,59 @@ const frUiSettingsUpdates = {
35901
36386
  "ui.settings.updates.update_following.major_help": "Ignore les versions correctives et mineures. Avant la version 1.0, une nouvelle version mineure constitue un changement incompatible.",
35902
36387
  "ui.settings.updates.update_following.surface_choice": "{surface} : {choice}"
35903
36388
  };
36389
+ const frUiShell = {
36390
+ "ui.shell.collapsible_app_logo.local_operator": "Local Operator",
36391
+ "ui.shell.panel_rail.panels": "Panneaux",
36392
+ "ui.shell.sidebar_navigation.agent_hub": "Hub des agents",
36393
+ "ui.shell.sidebar_navigation.agents": "Agents",
36394
+ "ui.shell.sidebar_navigation.aida_missed": "{name}, {count, plural, one {{count, number, ::group-off} message manqué} many {{count, number, ::group-off} de messages manqués} other {{count, number, ::group-off} messages manqués}}",
36395
+ "ui.shell.sidebar_navigation.aida_working": "{name}, en cours",
36396
+ "ui.shell.sidebar_navigation.browser": "Navigateur",
36397
+ "ui.shell.sidebar_navigation.browser_waiting": "Navigateur, {count, plural, one {{countText} approbation en attente} many {{countText} d’approbations en attente} other {{countText} approbations en attente}}",
36398
+ "ui.shell.sidebar_navigation.close_sidebar": "Fermer la barre latérale",
36399
+ "ui.shell.sidebar_navigation.collapse_sidebar": "Réduire la barre latérale",
36400
+ "ui.shell.sidebar_navigation.expand_sidebar": "Développer la barre latérale",
36401
+ "ui.shell.sidebar_navigation.mesh": "Maillage",
36402
+ "ui.shell.sidebar_navigation.mesh_waiting": "Mesh, {count, plural, one {{countText} demande en attente} many {{countText} de demandes en attente} other {{countText} demandes en attente}}",
36403
+ "ui.shell.sidebar_navigation.new_chat": "Nouvelle conversation",
36404
+ "ui.shell.sidebar_navigation.new_chat_shortcut": "Nouvelle conversation ({shortcut})",
36405
+ "ui.shell.sidebar_navigation.projects": "Projets",
36406
+ "ui.shell.sidebar_navigation.schedules": "Planifications",
36407
+ "ui.shell.sidebar_navigation.search": "Rechercher",
36408
+ "ui.shell.sidebar_navigation.search_accessible": "Rechercher ({everything}) — conversations ({chats})",
36409
+ "ui.shell.sidebar_navigation.search_tooltip": "Tout rechercher ({everything}) · vos conversations ({chats})",
36410
+ "ui.shell.sidebar_navigation.settings": "Paramètres",
36411
+ "ui.shell.user_profile_sidebar.account_settings": "Paramètres du compte",
36412
+ "ui.shell.user_profile_sidebar.account_unavailable": "Compte indisponible",
36413
+ "ui.shell.user_profile_sidebar.checking_account": "Vérification du compte…",
36414
+ "ui.shell.user_profile_sidebar.privacy_and_security": "Confidentialité et sécurité",
36415
+ "ui.shell.user_profile_sidebar.reconnect_radient": "Reconnecter Radient",
36416
+ "ui.shell.user_profile_sidebar.settings": "Paramètres",
36417
+ "ui.shell.user_profile_sidebar.sign_out": "Se déconnecter",
36418
+ "ui.shell.user_profile_sidebar.user": "Utilisateur"
36419
+ };
36420
+ const frUiShellRail = {
36421
+ "ui.shell.rail.ask.aria": "Demandes{chord}, {subject}",
36422
+ "ui.shell.rail.ask.aria_count": "Demandes{chord}, {subject}, {count, plural, one {{countText} en attente} many {{countText} en attente} other {{countText} en attente}}",
36423
+ "ui.shell.rail.browser.aria": "Navigateur{chord}",
36424
+ "ui.shell.rail.browser.aria_count": "Navigateur{chord}, {count, plural, one {{countText} approbation en attente} many {{countText} d’approbations en attente} other {{countText} approbations en attente}}",
36425
+ "ui.shell.rail.browser.tooltip": "{state, select, open {Fermer le navigateur{chord}} other {Ouvrir le navigateur{chord}}}",
36426
+ "ui.shell.rail.browser.tooltip_count": "{state, select, open {Fermer le navigateur{chord}} other {Ouvrir le navigateur{chord}}} — {count, plural, one {{countText} approbation en attente} many {{countText} d’approbations en attente} other {{countText} approbations en attente}}",
36427
+ "ui.shell.rail.canvas.aria": "Canvas{chord}",
36428
+ "ui.shell.rail.canvas.aria_count": "Canvas{chord}, {count, plural, one {{countText} fichier} many {{countText} de fichiers} other {{countText} fichiers}}",
36429
+ "ui.shell.rail.canvas.tooltip": "{state, select, open {Fermer le canvas{chord}} other {Ouvrir le canvas{chord}}}",
36430
+ "ui.shell.rail.canvas.tooltip_count": "{state, select, open {Fermer le canvas{chord}} other {Ouvrir le canvas{chord}}} — {count, plural, one {{countText} fichier} many {{countText} de fichiers} other {{countText} fichiers}}",
36431
+ "ui.shell.rail.code.aria": "Revue de code{chord}{mark}",
36432
+ "ui.shell.rail.code.aria_details": "Revue de code{chord}, {details}{mark}",
36433
+ "ui.shell.rail.code.mentioned": "{count, plural, one {{countText} demande de code mentionnée} many {{countText} de demandes de code mentionnées} other {{countText} demandes de code mentionnées}}",
36434
+ "ui.shell.rail.code.opened": "{count, plural, one {{countText} demande de code ouverte} many {{countText} de demandes de code ouvertes} other {{countText} demandes de code ouvertes}}",
36435
+ "ui.shell.rail.code.tooltip": "{state, select, open {Fermer la revue de code{chord}} other {Ouvrir la revue de code{chord}}}{mark}",
36436
+ "ui.shell.rail.code.tooltip_details": "{state, select, open {Fermer la revue de code{chord}} other {Ouvrir la revue de code{chord}}} — {details}{mark}",
36437
+ "ui.shell.rail.console.aria": "Console{chord}",
36438
+ "ui.shell.rail.console.aria_count": "Console{chord}, {count, plural, one {{countText} commande terminée depuis votre dernier passage} many {{countText} de commandes terminées depuis votre dernier passage} other {{countText} commandes terminées depuis votre dernier passage}}",
36439
+ "ui.shell.rail.console.tooltip": "{state, select, open {Fermer la console{chord}} other {Ouvrir la console{chord}}}",
36440
+ "ui.shell.rail.console.tooltip_count": "{state, select, open {Fermer la console{chord}} other {Ouvrir la console{chord}}} — {count, plural, one {{countText} commande terminée depuis votre dernier passage} many {{countText} de commandes terminées depuis votre dernier passage} other {{countText} commandes terminées depuis votre dernier passage}}"
36441
+ };
35904
36442
  const hiUiConsole = {
35905
36443
  "ui.console.capacity.summary": "ऐप में {live, number, ::group-off} चालू, सीमा {limit, number, ::group-off}",
35906
36444
  "ui.console.capacity.summary_compact": "{live, number, ::group-off}/{limit, number, ::group-off} · {archived, plural, one {{archived, number, ::group-off} रखा गया} other {{archived, number, ::group-off} रखे गए}}",
@@ -36556,11 +37094,29 @@ const bundledEnglish = {
36556
37094
  const bundledCatalogues = {
36557
37095
  en: bundledEnglish,
36558
37096
  es: {
37097
+ ...esUiAgentsNavigation,
37098
+ ...esUiChatComposer,
37099
+ ...esUiChatHeader,
37100
+ ...esUiChat,
37101
+ ...esUiChatSidebarView,
37102
+ ...esUiCommandPalette,
37103
+ ...esUiCommonActions,
37104
+ ...esUiCommonErrors,
36559
37105
  ...esUiConsole,
36560
37106
  ...esUiOnboarding,
36561
- ...esUiSettings
37107
+ ...esUiSettings,
37108
+ ...esUiShell,
37109
+ ...esUiShellRail
36562
37110
  },
36563
37111
  fr: {
37112
+ ...frUiAgentsNavigation,
37113
+ ...frUiChatComposer,
37114
+ ...frUiChatHeader,
37115
+ ...frUiChat,
37116
+ ...frUiChatSidebarView,
37117
+ ...frUiCommandPalette,
37118
+ ...frUiCommonActions,
37119
+ ...frUiCommonErrors,
36564
37120
  ...frUiConsole,
36565
37121
  ...frUiOnboarding,
36566
37122
  ...frUiSettingsAccount,
@@ -36572,7 +37128,9 @@ const bundledCatalogues = {
36572
37128
  ...frUiSettingsNavigation,
36573
37129
  ...frUiSettingsShortcuts,
36574
37130
  ...frUiSettingsSpeech,
36575
- ...frUiSettingsUpdates
37131
+ ...frUiSettingsUpdates,
37132
+ ...frUiShell,
37133
+ ...frUiShellRail
36576
37134
  },
36577
37135
  hi: {
36578
37136
  ...hiUiConsole,
@@ -37167,6 +37725,7 @@ function candidatePath(scope, selector) {
37167
37725
  return [...scope.path, selector].join(` ${FRAME_HOP} `);
37168
37726
  }
37169
37727
  const EDITABLE_SELECTOR = 'input:not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=image]):not([type=range]):not([type=color]):not([disabled]):not([readonly]), textarea:not([disabled]):not([readonly]), [contenteditable]:not([contenteditable="false"])';
37728
+ const CONTENTEDITABLE_SELECTOR = '[contenteditable]:not([contenteditable="false"]):not([contenteditable="inherit"]):not(button):not(a):not(input):not(select):not(textarea):not(iframe):not(img):not(video):not(audio):not([disabled]):not([readonly])';
37170
37729
  const FRAME_EDITABLE_FUNCTION_SOURCE = `function (selector, mode) {
37171
37730
  const all = Array.from(this.querySelectorAll(selector));
37172
37731
  if (mode === 'active') {
@@ -37229,7 +37788,7 @@ async function editableInFrame(ctx, contents, scope, target2) {
37229
37788
  if (fields.length === 0) {
37230
37789
  throw new BridgeCommandError(
37231
37790
  "element_not_found",
37232
- `${target2} is not an editable field (no value setter, not contenteditable), so nothing was typed; it is an iframe and its document holds no editable field either`
37791
+ `${target2} is not an editable field, so nothing was typed; it is an iframe and its document holds no editable field either`
37233
37792
  );
37234
37793
  }
37235
37794
  throw new BridgeCommandError(
@@ -37693,19 +38252,30 @@ const CLICK_FUNCTION = `function () {
37693
38252
  release();
37694
38253
  }
37695
38254
  }`;
38255
+ const CONTENTEDITABLE_CHECK = `(this.isContentEditable === true &&
38256
+ typeof this.matches === 'function' && this.matches(${JSON.stringify(CONTENTEDITABLE_SELECTOR)}))`;
38257
+ const EDITABLE_CHECK = `${CONTENTEDITABLE_CHECK} ||
38258
+ (typeof this.matches === 'function' && this.matches('input, textarea') && this.matches(${JSON.stringify(EDITABLE_SELECTOR)}))`;
37696
38259
  const FOCUS_AND_SELECT_FUNCTION = `function () {
38260
+ if (!(${EDITABLE_CHECK})) return 'not_editable';
37697
38261
  const focusFn = this.focus;
37698
38262
  if (typeof focusFn === 'function') focusFn.call(this);
38263
+ // The node's own root covers both frame documents and shadow trees. Never
38264
+ // send targetless text when focus stayed elsewhere or a handler redirected it.
38265
+ if (this.getRootNode().activeElement !== this) return 'not_focused';
37699
38266
  if (typeof this.select === 'function') {
37700
38267
  this.select();
37701
- } else if (this.isContentEditable && typeof document.execCommand === 'function') {
37702
- document.execCommand('selectAll');
38268
+ } else if (${CONTENTEDITABLE_CHECK} && typeof this.ownerDocument.execCommand === 'function') {
38269
+ this.ownerDocument.execCommand('selectAll');
37703
38270
  }
38271
+ return this.getRootNode().activeElement === this ? 'ready' : 'not_focused';
37704
38272
  }`;
37705
38273
  const SET_VALUE_FUNCTION = `function (text) {
37706
- if (this.isContentEditable) {
38274
+ if (!(${EDITABLE_CHECK})) return null;
38275
+ if (${CONTENTEDITABLE_CHECK}) {
37707
38276
  const focusFn = this.focus;
37708
38277
  if (typeof focusFn === 'function') focusFn.call(this);
38278
+ if (!(${EDITABLE_CHECK})) return null;
37709
38279
  this.textContent = text;
37710
38280
  this.dispatchEvent(new Event('input', { bubbles: true }));
37711
38281
  return this.textContent;
@@ -37718,6 +38288,7 @@ const SET_VALUE_FUNCTION = `function (text) {
37718
38288
  if (!setter) return null;
37719
38289
  const focusFn = this.focus;
37720
38290
  if (typeof focusFn === 'function') focusFn.call(this);
38291
+ if (!(${EDITABLE_CHECK})) return null;
37721
38292
  setter.call(this, text);
37722
38293
  this.dispatchEvent(new Event('input', { bubbles: true }));
37723
38294
  this.dispatchEvent(new Event('change', { bubbles: true }));
@@ -37989,7 +38560,7 @@ async function type(ctx, params) {
37989
38560
  }
37990
38561
  throw new BridgeCommandError(
37991
38562
  "element_not_found",
37992
- `${target2} is not an editable field (no value setter, not contenteditable), so nothing was typed${frame ? "; it is an iframe and its document holds no field that took the text either" : `; if the field lives inside an iframe, it cannot be targeted from the top document; address it as <iframe-selector> ${FRAME_HOP} <selector>`}`
38563
+ `${target2} is not an editable field, so nothing was typed${frame ? "; it is an iframe and its document holds no field that took the text either" : `; if the field lives inside an iframe, it cannot be targeted from the top document; address it as <iframe-selector> ${FRAME_HOP} <selector>`}`
37993
38564
  );
37994
38565
  }
37995
38566
  const NON_ALPHANUMERIC = /[^\p{L}\p{N}]+/gu;
@@ -38008,11 +38579,24 @@ function quoteReadBack(value) {
38008
38579
  return `'${value.slice(0, MAX_QUOTED_READBACK)}…' (${value.length} chars)`;
38009
38580
  }
38010
38581
  async function typeInto(ctx, contents, node, text, target2) {
38011
- await sendIn(ctx, contents, node.sessionId, "Runtime.callFunctionOn", {
38012
- objectId: node.objectId,
38013
- functionDeclaration: FOCUS_AND_SELECT_FUNCTION,
38014
- returnByValue: true
38015
- });
38582
+ const focus = await sendIn(
38583
+ ctx,
38584
+ contents,
38585
+ node.sessionId,
38586
+ "Runtime.callFunctionOn",
38587
+ {
38588
+ objectId: node.objectId,
38589
+ functionDeclaration: FOCUS_AND_SELECT_FUNCTION,
38590
+ returnByValue: true
38591
+ }
38592
+ );
38593
+ if (focus?.result?.value === "not_editable") return null;
38594
+ if (focus?.result?.value !== "ready") {
38595
+ throw new BridgeCommandError(
38596
+ "element_not_found",
38597
+ "the editable target could not retain focus, so nothing was typed"
38598
+ );
38599
+ }
38016
38600
  await sendIn(ctx, contents, node.sessionId, "Input.insertText", { text });
38017
38601
  const readBack2 = await conversationReadBack(ctx, node, contents);
38018
38602
  if (holdsTypedText(readBack2, text)) {
@@ -39593,8 +40177,21 @@ class BrowserHost {
39593
40177
  pageControls;
39594
40178
  /** Per-tab audio for the strip's mute control (LOH-13 slice C). Main owns
39595
40179
  * it for the reason `tabLoading` is read here: a background tab's sound
39596
- * is legible only through this projection. */
39597
- tabAudio = new TabAudioTracker(() => this.onChanged());
40180
+ * is legible only through this projection.
40181
+ *
40182
+ * ASSIGNED IN THE CONSTRUCTOR, NOT INITIALISED HERE. The shipping main
40183
+ * bundle is compiled to V8 bytecode by electron-vite, and its `vite:bytecode`
40184
+ * transform refuses an arrow function inside a class PROPERTY: "Unable to
40185
+ * transform arrow inside class property". This initialiser was that arrow,
40186
+ * and it failed the v0.35.0 platform builds identically on every OS, so no
40187
+ * update assets shipped. A constructor assignment is inside the transform's
40188
+ * supported shape, keeps the field `readonly`, and preserves the callback's
40189
+ * laziness (the tracker only stores it). Do not move it back to a field
40190
+ * initialiser. Keep arrows out of every non-static class-field initialiser,
40191
+ * not only the direct form: a callback passed to a constructor
40192
+ * (`new X(() => ...)`) or sitting inside an object/array literal value is
40193
+ * refused by the same rule (2026-10-18). */
40194
+ tabAudio;
39598
40195
  cdp;
39599
40196
  approvals;
39600
40197
  ownership;
@@ -39626,6 +40223,7 @@ class BrowserHost {
39626
40223
  this.downloads = options.downloads;
39627
40224
  this.log = options.log;
39628
40225
  this.onChanged = options.onChanged;
40226
+ this.tabAudio = new TabAudioTracker(() => this.onChanged());
39629
40227
  this.facts = options.facts;
39630
40228
  this.forgetSiteData = options.forgetSiteData;
39631
40229
  }