@iblai/iblai-js 2.10.1 → 2.10.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.
@@ -5669,11 +5669,24 @@ var settingsTabLabels$3 = {
5669
5669
  },
5670
5670
  showAttachment: {
5671
5671
  label: "Show Attachment",
5672
- tooltip: "Show Attachment Options in Chat Interface"
5672
+ tooltip: "Lets people attach files to a conversation. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
5673
5673
  },
5674
5674
  showVoiceRecord: {
5675
5675
  label: "Show Voice Record",
5676
- tooltip: "Show Voice Recording Options in Chat Interface"
5676
+ tooltip: "Lets people send a voice recording instead of typing. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
5677
+ },
5678
+ showVoiceCall: {
5679
+ label: "Show Voice Call",
5680
+ tooltip: "Lets people start a live voice call with the agent. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
5681
+ },
5682
+ embedShowAttachment: {
5683
+ label: "Show Attachment (embed widget)"
5684
+ },
5685
+ embedShowVoiceRecord: {
5686
+ label: "Show Voice Record (embed widget)"
5687
+ },
5688
+ embedShowVoiceCall: {
5689
+ label: "Show Voice Call (embed widget)"
5677
5690
  },
5678
5691
  allowCopies: {
5679
5692
  label: "Allow Copies",
@@ -5681,7 +5694,7 @@ var settingsTabLabels$3 = {
5681
5694
  },
5682
5695
  showReasoning: {
5683
5696
  label: "Verbose Reasoning",
5684
- tooltip: "Show the agent’s reasoning steps while it responds."
5697
+ tooltip: "Show the agent’s reasoning steps while it responds. This setting has one value, so it applies to both in-app chat and the embed widget."
5685
5698
  },
5686
5699
  image: {
5687
5700
  label: "Image",
@@ -5691,19 +5704,19 @@ var settingsTabLabels$3 = {
5691
5704
  },
5692
5705
  enhancedDocRetrieval: {
5693
5706
  label: "Enhanced document retrieval",
5694
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
5707
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
5695
5708
  },
5696
5709
  promptCaching: {
5697
5710
  label: "Prompt caching",
5698
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
5711
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
5699
5712
  },
5700
5713
  privateMode: {
5701
5714
  label: "Enable private mode",
5702
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
5715
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
5703
5716
  },
5704
5717
  smartDocRetrieval: {
5705
5718
  label: "Smart document retrieval",
5706
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
5719
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
5707
5720
  }
5708
5721
  },
5709
5722
  actions: {
@@ -5751,8 +5764,19 @@ var settingsTabLabels$3 = {
5751
5764
  },
5752
5765
  sections: {
5753
5766
  chatExperience: "Chat experience",
5754
- voiceCalls: "Voice & calls",
5755
- advanced: "Advanced"
5767
+ advanced: "Advanced",
5768
+ perSurface: "Surface Capabilities",
5769
+ globalSettings: "Global Capabilities"
5770
+ },
5771
+ surfaces: {
5772
+ inAppChat: "In-app chat",
5773
+ embedWidget: "Embed widget"
5774
+ },
5775
+ notes: {
5776
+ perSurface: "Set independently for in-app chat and the embed widget.",
5777
+ globalSettings: "These apply to in-app chat and the embed widget alike.",
5778
+ inAppChat: "Conversations hosted inside the app - the chat your users open here.",
5779
+ embedWidget: "The widget you embed on your own site using the snippet from the Embed tab."
5756
5780
  }
5757
5781
  };
5758
5782
  var skillsProfileAddSkillDialog$3 = {
@@ -6463,6 +6487,9 @@ var tabsSettingsTab$3 = {
6463
6487
  featuredTooltipAriaLabel: "More info about featured",
6464
6488
  showAttachmentTooltipAriaLabel: "More info about show attachment",
6465
6489
  showVoiceRecordTooltipAriaLabel: "More info about show voice record",
6490
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
6491
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
6492
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
6466
6493
  allowCopiesTooltipAriaLabel: "More info about allow copies",
6467
6494
  showReasoningTooltipAriaLabel: "More info about verbose reasoning",
6468
6495
  toggleStateEnabled: "enabled",
@@ -12956,11 +12983,24 @@ var settingsTabLabels$2 = {
12956
12983
  },
12957
12984
  showAttachment: {
12958
12985
  label: "Afficher les pièces jointes",
12959
- tooltip: "Afficher les options de pièces jointes dans l'interface de chat"
12986
+ tooltip: "Permet aux personnes de joindre des fichiers à une conversation. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
12960
12987
  },
12961
12988
  showVoiceRecord: {
12962
12989
  label: "Afficher l'enregistrement vocal",
12963
- tooltip: "Afficher les options d'enregistrement vocal dans l'interface de chat"
12990
+ tooltip: "Permet aux personnes d'envoyer un enregistrement vocal au lieu d'écrire. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
12991
+ },
12992
+ showVoiceCall: {
12993
+ label: "Show Voice Call",
12994
+ tooltip: "Permet aux personnes de démarrer un appel vocal en direct avec l'agent. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
12995
+ },
12996
+ embedShowAttachment: {
12997
+ label: "Afficher les pieces jointes (widget integre)"
12998
+ },
12999
+ embedShowVoiceRecord: {
13000
+ label: "Afficher l'enregistrement vocal (widget integre)"
13001
+ },
13002
+ embedShowVoiceCall: {
13003
+ label: "Afficher les appels vocaux (widget integre)"
12964
13004
  },
12965
13005
  allowCopies: {
12966
13006
  label: "Autoriser les copies",
@@ -12968,7 +13008,7 @@ var settingsTabLabels$2 = {
12968
13008
  },
12969
13009
  showReasoning: {
12970
13010
  label: "Raisonnement détaillé",
12971
- tooltip: "Afficher les étapes de raisonnement de l'agent pendant qu'il répond."
13011
+ tooltip: "Afficher les étapes de raisonnement de l'agent pendant qu'il répond. Ce paramètre a une seule valeur ; il s'applique donc à la fois au chat dans l'application et au widget intégré."
12972
13012
  },
12973
13013
  image: {
12974
13014
  label: "Image",
@@ -12978,19 +13018,19 @@ var settingsTabLabels$2 = {
12978
13018
  },
12979
13019
  enhancedDocRetrieval: {
12980
13020
  label: "Enhanced document retrieval",
12981
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
13021
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
12982
13022
  },
12983
13023
  promptCaching: {
12984
13024
  label: "Prompt caching",
12985
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
13025
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
12986
13026
  },
12987
13027
  privateMode: {
12988
13028
  label: "Enable private mode",
12989
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
13029
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
12990
13030
  },
12991
13031
  smartDocRetrieval: {
12992
13032
  label: "Smart document retrieval",
12993
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
13033
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
12994
13034
  }
12995
13035
  },
12996
13036
  actions: {
@@ -13038,8 +13078,19 @@ var settingsTabLabels$2 = {
13038
13078
  },
13039
13079
  sections: {
13040
13080
  chatExperience: "Chat experience",
13041
- voiceCalls: "Voice & calls",
13042
- advanced: "Advanced"
13081
+ advanced: "Advanced",
13082
+ perSurface: "Capacites par surface",
13083
+ globalSettings: "Capacites globales"
13084
+ },
13085
+ surfaces: {
13086
+ inAppChat: "In-app chat",
13087
+ embedWidget: "Embed widget"
13088
+ },
13089
+ notes: {
13090
+ perSurface: "A configurer independamment pour le chat dans l'application et le widget integre.",
13091
+ globalSettings: "Ils s'appliquent aussi bien au chat dans l'application qu'au widget integre.",
13092
+ inAppChat: "Les conversations hebergees dans l'application : le chat que vos utilisateurs ouvrent ici.",
13093
+ embedWidget: "Le widget que vous integrez a votre propre site avec l'extrait de l'onglet Integration."
13043
13094
  }
13044
13095
  };
13045
13096
  var skillsProfileAddSkillDialog$2 = {
@@ -13750,6 +13801,9 @@ var tabsSettingsTab$2 = {
13750
13801
  featuredTooltipAriaLabel: "Plus d'informations sur la mise en avant",
13751
13802
  showAttachmentTooltipAriaLabel: "Plus d'informations sur l'affichage des pièces jointes",
13752
13803
  showVoiceRecordTooltipAriaLabel: "Plus d'informations sur l'affichage de l'enregistrement vocal",
13804
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
13805
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
13806
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
13753
13807
  allowCopiesTooltipAriaLabel: "Plus d'informations sur l'autorisation des copies",
13754
13808
  showReasoningTooltipAriaLabel: "Plus d'informations sur le raisonnement détaillé",
13755
13809
  toggleStateEnabled: "activé",
@@ -20077,11 +20131,24 @@ var settingsTabLabels$1 = {
20077
20131
  },
20078
20132
  showAttachment: {
20079
20133
  label: "Mostrar archivos adjuntos",
20080
- tooltip: "Mostrar opciones de archivos adjuntos en la interfaz de chat"
20134
+ tooltip: "Permite que las personas adjunten archivos a una conversación. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
20081
20135
  },
20082
20136
  showVoiceRecord: {
20083
20137
  label: "Mostrar grabación de voz",
20084
- tooltip: "Mostrar opciones de grabación de voz en la interfaz de chat"
20138
+ tooltip: "Permite que las personas envíen una grabación de voz en lugar de escribir. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
20139
+ },
20140
+ showVoiceCall: {
20141
+ label: "Show Voice Call",
20142
+ tooltip: "Permite que las personas inicien una llamada de voz en vivo con el agente. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
20143
+ },
20144
+ embedShowAttachment: {
20145
+ label: "Mostrar adjuntos (widget incrustado)"
20146
+ },
20147
+ embedShowVoiceRecord: {
20148
+ label: "Mostrar grabacion de voz (widget incrustado)"
20149
+ },
20150
+ embedShowVoiceCall: {
20151
+ label: "Mostrar llamadas de voz (widget incrustado)"
20085
20152
  },
20086
20153
  allowCopies: {
20087
20154
  label: "Permitir copias",
@@ -20089,7 +20156,7 @@ var settingsTabLabels$1 = {
20089
20156
  },
20090
20157
  showReasoning: {
20091
20158
  label: "Razonamiento detallado",
20092
- tooltip: "Mostrar los pasos de razonamiento del agente mientras responde."
20159
+ tooltip: "Mostrar los pasos de razonamiento del agente mientras responde. Esta configuración tiene un solo valor, por lo que se aplica tanto al chat en la aplicación como al widget insertado."
20093
20160
  },
20094
20161
  image: {
20095
20162
  label: "Imagen",
@@ -20099,19 +20166,19 @@ var settingsTabLabels$1 = {
20099
20166
  },
20100
20167
  enhancedDocRetrieval: {
20101
20168
  label: "Enhanced document retrieval",
20102
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
20169
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
20103
20170
  },
20104
20171
  promptCaching: {
20105
20172
  label: "Prompt caching",
20106
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
20173
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
20107
20174
  },
20108
20175
  privateMode: {
20109
20176
  label: "Enable private mode",
20110
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
20177
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
20111
20178
  },
20112
20179
  smartDocRetrieval: {
20113
20180
  label: "Smart document retrieval",
20114
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
20181
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
20115
20182
  }
20116
20183
  },
20117
20184
  actions: {
@@ -20159,8 +20226,19 @@ var settingsTabLabels$1 = {
20159
20226
  },
20160
20227
  sections: {
20161
20228
  chatExperience: "Chat experience",
20162
- voiceCalls: "Voice & calls",
20163
- advanced: "Advanced"
20229
+ advanced: "Advanced",
20230
+ perSurface: "Capacidades por superficie",
20231
+ globalSettings: "Capacidades globales"
20232
+ },
20233
+ surfaces: {
20234
+ inAppChat: "In-app chat",
20235
+ embedWidget: "Embed widget"
20236
+ },
20237
+ notes: {
20238
+ perSurface: "Se configuran de forma independiente para el chat en la aplicacion y el widget incrustado.",
20239
+ globalSettings: "Se aplican tanto al chat en la aplicacion como al widget incrustado.",
20240
+ inAppChat: "Conversaciones alojadas dentro de la aplicacion: el chat que tus usuarios abren aqui.",
20241
+ embedWidget: "El widget que incrustas en tu propio sitio con el fragmento de la pestana Insertar."
20164
20242
  }
20165
20243
  };
20166
20244
  var skillsProfileAddSkillDialog$1 = {
@@ -20871,6 +20949,9 @@ var tabsSettingsTab$1 = {
20871
20949
  featuredTooltipAriaLabel: "Más información sobre destacado",
20872
20950
  showAttachmentTooltipAriaLabel: "Más información sobre mostrar adjuntos",
20873
20951
  showVoiceRecordTooltipAriaLabel: "Más información sobre mostrar grabación de voz",
20952
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
20953
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
20954
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
20874
20955
  allowCopiesTooltipAriaLabel: "Más información sobre permitir copias",
20875
20956
  showReasoningTooltipAriaLabel: "Más información sobre el razonamiento detallado",
20876
20957
  toggleStateEnabled: "activado",
@@ -27198,11 +27279,24 @@ var settingsTabLabels = {
27198
27279
  },
27199
27280
  showAttachment: {
27200
27281
  label: "显示附件",
27201
- tooltip: "在聊天界面中显示附件选项"
27282
+ tooltip: "允许用户在对话中添加附件。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
27202
27283
  },
27203
27284
  showVoiceRecord: {
27204
27285
  label: "显示语音录制",
27205
- tooltip: "在聊天界面中显示语音录制选项"
27286
+ tooltip: "允许用户发送语音录音而不是打字。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
27287
+ },
27288
+ showVoiceCall: {
27289
+ label: "Show Voice Call",
27290
+ tooltip: "允许用户与智能体发起实时语音通话。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
27291
+ },
27292
+ embedShowAttachment: {
27293
+ label: "显示附件(嵌入式挂件)"
27294
+ },
27295
+ embedShowVoiceRecord: {
27296
+ label: "显示语音录音(嵌入式挂件)"
27297
+ },
27298
+ embedShowVoiceCall: {
27299
+ label: "显示语音通话(嵌入式挂件)"
27206
27300
  },
27207
27301
  allowCopies: {
27208
27302
  label: "允许复制",
@@ -27210,7 +27304,7 @@ var settingsTabLabels = {
27210
27304
  },
27211
27305
  showReasoning: {
27212
27306
  label: "详细推理",
27213
- tooltip: "在智能体响应时显示其推理步骤。"
27307
+ tooltip: "在智能体响应时显示其推理步骤。 此设置只有一个值,因此同时适用于应用内聊天和嵌入式小组件。"
27214
27308
  },
27215
27309
  image: {
27216
27310
  label: "图片",
@@ -27220,19 +27314,19 @@ var settingsTabLabels = {
27220
27314
  },
27221
27315
  enhancedDocRetrieval: {
27222
27316
  label: "Enhanced document retrieval",
27223
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
27317
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
27224
27318
  },
27225
27319
  promptCaching: {
27226
27320
  label: "Prompt caching",
27227
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
27321
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
27228
27322
  },
27229
27323
  privateMode: {
27230
27324
  label: "Enable private mode",
27231
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
27325
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
27232
27326
  },
27233
27327
  smartDocRetrieval: {
27234
27328
  label: "Smart document retrieval",
27235
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
27329
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
27236
27330
  }
27237
27331
  },
27238
27332
  actions: {
@@ -27280,8 +27374,19 @@ var settingsTabLabels = {
27280
27374
  },
27281
27375
  sections: {
27282
27376
  chatExperience: "Chat experience",
27283
- voiceCalls: "Voice & calls",
27284
- advanced: "Advanced"
27377
+ advanced: "Advanced",
27378
+ perSurface: "按界面功能",
27379
+ globalSettings: "全局功能"
27380
+ },
27381
+ surfaces: {
27382
+ inAppChat: "In-app chat",
27383
+ embedWidget: "Embed widget"
27384
+ },
27385
+ notes: {
27386
+ perSurface: "分别为应用内聊天和嵌入式挂件单独设置。",
27387
+ globalSettings: "同时适用于应用内聊天和嵌入式挂件。",
27388
+ inAppChat: "应用内托管的对话,即用户在此打开的聊天。",
27389
+ embedWidget: "你使用“嵌入”标签页中的代码片段嵌入到自己网站上的挂件。"
27285
27390
  }
27286
27391
  };
27287
27392
  var skillsProfileAddSkillDialog = {
@@ -27992,6 +28097,9 @@ var tabsSettingsTab = {
27992
28097
  featuredTooltipAriaLabel: "关于精选的更多信息",
27993
28098
  showAttachmentTooltipAriaLabel: "关于显示附件的更多信息",
27994
28099
  showVoiceRecordTooltipAriaLabel: "关于显示语音录制的更多信息",
28100
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
28101
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
28102
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
27995
28103
  allowCopiesTooltipAriaLabel: "关于允许复制的更多信息",
27996
28104
  showReasoningTooltipAriaLabel: "关于详细推理的更多信息",
27997
28105
  toggleStateEnabled: "已启用",
@@ -100452,11 +100452,24 @@ var settingsTabLabels$3 = {
100452
100452
  },
100453
100453
  showAttachment: {
100454
100454
  label: "Show Attachment",
100455
- tooltip: "Show Attachment Options in Chat Interface"
100455
+ tooltip: "Lets people attach files to a conversation. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
100456
100456
  },
100457
100457
  showVoiceRecord: {
100458
100458
  label: "Show Voice Record",
100459
- tooltip: "Show Voice Recording Options in Chat Interface"
100459
+ tooltip: "Lets people send a voice recording instead of typing. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
100460
+ },
100461
+ showVoiceCall: {
100462
+ label: "Show Voice Call",
100463
+ tooltip: "Lets people start a live voice call with the agent. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site."
100464
+ },
100465
+ embedShowAttachment: {
100466
+ label: "Show Attachment (embed widget)"
100467
+ },
100468
+ embedShowVoiceRecord: {
100469
+ label: "Show Voice Record (embed widget)"
100470
+ },
100471
+ embedShowVoiceCall: {
100472
+ label: "Show Voice Call (embed widget)"
100460
100473
  },
100461
100474
  allowCopies: {
100462
100475
  label: "Allow Copies",
@@ -100464,7 +100477,7 @@ var settingsTabLabels$3 = {
100464
100477
  },
100465
100478
  showReasoning: {
100466
100479
  label: "Verbose Reasoning",
100467
- tooltip: "Show the agent’s reasoning steps while it responds."
100480
+ tooltip: "Show the agent’s reasoning steps while it responds. This setting has one value, so it applies to both in-app chat and the embed widget."
100468
100481
  },
100469
100482
  image: {
100470
100483
  label: "Image",
@@ -100474,19 +100487,19 @@ var settingsTabLabels$3 = {
100474
100487
  },
100475
100488
  enhancedDocRetrieval: {
100476
100489
  label: "Enhanced document retrieval",
100477
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
100490
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
100478
100491
  },
100479
100492
  promptCaching: {
100480
100493
  label: "Prompt caching",
100481
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
100494
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
100482
100495
  },
100483
100496
  privateMode: {
100484
100497
  label: "Enable private mode",
100485
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
100498
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
100486
100499
  },
100487
100500
  smartDocRetrieval: {
100488
100501
  label: "Smart document retrieval",
100489
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
100502
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
100490
100503
  }
100491
100504
  },
100492
100505
  actions: {
@@ -100534,8 +100547,19 @@ var settingsTabLabels$3 = {
100534
100547
  },
100535
100548
  sections: {
100536
100549
  chatExperience: "Chat experience",
100537
- voiceCalls: "Voice & calls",
100538
- advanced: "Advanced"
100550
+ advanced: "Advanced",
100551
+ perSurface: "Surface Capabilities",
100552
+ globalSettings: "Global Capabilities"
100553
+ },
100554
+ surfaces: {
100555
+ inAppChat: "In-app chat",
100556
+ embedWidget: "Embed widget"
100557
+ },
100558
+ notes: {
100559
+ perSurface: "Set independently for in-app chat and the embed widget.",
100560
+ globalSettings: "These apply to in-app chat and the embed widget alike.",
100561
+ inAppChat: "Conversations hosted inside the app - the chat your users open here.",
100562
+ embedWidget: "The widget you embed on your own site using the snippet from the Embed tab."
100539
100563
  }
100540
100564
  };
100541
100565
  var skillsProfileAddSkillDialog$3 = {
@@ -101246,6 +101270,9 @@ var tabsSettingsTab$3 = {
101246
101270
  featuredTooltipAriaLabel: "More info about featured",
101247
101271
  showAttachmentTooltipAriaLabel: "More info about show attachment",
101248
101272
  showVoiceRecordTooltipAriaLabel: "More info about show voice record",
101273
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
101274
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
101275
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
101249
101276
  allowCopiesTooltipAriaLabel: "More info about allow copies",
101250
101277
  showReasoningTooltipAriaLabel: "More info about verbose reasoning",
101251
101278
  toggleStateEnabled: "enabled",
@@ -107739,11 +107766,24 @@ var settingsTabLabels$2 = {
107739
107766
  },
107740
107767
  showAttachment: {
107741
107768
  label: "Afficher les pièces jointes",
107742
- tooltip: "Afficher les options de pièces jointes dans l'interface de chat"
107769
+ tooltip: "Permet aux personnes de joindre des fichiers à une conversation. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
107743
107770
  },
107744
107771
  showVoiceRecord: {
107745
107772
  label: "Afficher l'enregistrement vocal",
107746
- tooltip: "Afficher les options d'enregistrement vocal dans l'interface de chat"
107773
+ tooltip: "Permet aux personnes d'envoyer un enregistrement vocal au lieu d'écrire. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
107774
+ },
107775
+ showVoiceCall: {
107776
+ label: "Show Voice Call",
107777
+ tooltip: "Permet aux personnes de démarrer un appel vocal en direct avec l'agent. Chaque surface a son propre interrupteur : In-app chat couvre les conversations hébergées dans l'application et Embed widget couvre le widget sur votre propre site."
107778
+ },
107779
+ embedShowAttachment: {
107780
+ label: "Afficher les pieces jointes (widget integre)"
107781
+ },
107782
+ embedShowVoiceRecord: {
107783
+ label: "Afficher l'enregistrement vocal (widget integre)"
107784
+ },
107785
+ embedShowVoiceCall: {
107786
+ label: "Afficher les appels vocaux (widget integre)"
107747
107787
  },
107748
107788
  allowCopies: {
107749
107789
  label: "Autoriser les copies",
@@ -107751,7 +107791,7 @@ var settingsTabLabels$2 = {
107751
107791
  },
107752
107792
  showReasoning: {
107753
107793
  label: "Raisonnement détaillé",
107754
- tooltip: "Afficher les étapes de raisonnement de l'agent pendant qu'il répond."
107794
+ tooltip: "Afficher les étapes de raisonnement de l'agent pendant qu'il répond. Ce paramètre a une seule valeur ; il s'applique donc à la fois au chat dans l'application et au widget intégré."
107755
107795
  },
107756
107796
  image: {
107757
107797
  label: "Image",
@@ -107761,19 +107801,19 @@ var settingsTabLabels$2 = {
107761
107801
  },
107762
107802
  enhancedDocRetrieval: {
107763
107803
  label: "Enhanced document retrieval",
107764
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
107804
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
107765
107805
  },
107766
107806
  promptCaching: {
107767
107807
  label: "Prompt caching",
107768
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
107808
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
107769
107809
  },
107770
107810
  privateMode: {
107771
107811
  label: "Enable private mode",
107772
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
107812
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
107773
107813
  },
107774
107814
  smartDocRetrieval: {
107775
107815
  label: "Smart document retrieval",
107776
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
107816
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
107777
107817
  }
107778
107818
  },
107779
107819
  actions: {
@@ -107821,8 +107861,19 @@ var settingsTabLabels$2 = {
107821
107861
  },
107822
107862
  sections: {
107823
107863
  chatExperience: "Chat experience",
107824
- voiceCalls: "Voice & calls",
107825
- advanced: "Advanced"
107864
+ advanced: "Advanced",
107865
+ perSurface: "Capacites par surface",
107866
+ globalSettings: "Capacites globales"
107867
+ },
107868
+ surfaces: {
107869
+ inAppChat: "In-app chat",
107870
+ embedWidget: "Embed widget"
107871
+ },
107872
+ notes: {
107873
+ perSurface: "A configurer independamment pour le chat dans l'application et le widget integre.",
107874
+ globalSettings: "Ils s'appliquent aussi bien au chat dans l'application qu'au widget integre.",
107875
+ inAppChat: "Les conversations hebergees dans l'application : le chat que vos utilisateurs ouvrent ici.",
107876
+ embedWidget: "Le widget que vous integrez a votre propre site avec l'extrait de l'onglet Integration."
107826
107877
  }
107827
107878
  };
107828
107879
  var skillsProfileAddSkillDialog$2 = {
@@ -108533,6 +108584,9 @@ var tabsSettingsTab$2 = {
108533
108584
  featuredTooltipAriaLabel: "Plus d'informations sur la mise en avant",
108534
108585
  showAttachmentTooltipAriaLabel: "Plus d'informations sur l'affichage des pièces jointes",
108535
108586
  showVoiceRecordTooltipAriaLabel: "Plus d'informations sur l'affichage de l'enregistrement vocal",
108587
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
108588
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
108589
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
108536
108590
  allowCopiesTooltipAriaLabel: "Plus d'informations sur l'autorisation des copies",
108537
108591
  showReasoningTooltipAriaLabel: "Plus d'informations sur le raisonnement détaillé",
108538
108592
  toggleStateEnabled: "activé",
@@ -114860,11 +114914,24 @@ var settingsTabLabels$1 = {
114860
114914
  },
114861
114915
  showAttachment: {
114862
114916
  label: "Mostrar archivos adjuntos",
114863
- tooltip: "Mostrar opciones de archivos adjuntos en la interfaz de chat"
114917
+ tooltip: "Permite que las personas adjunten archivos a una conversación. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
114864
114918
  },
114865
114919
  showVoiceRecord: {
114866
114920
  label: "Mostrar grabación de voz",
114867
- tooltip: "Mostrar opciones de grabación de voz en la interfaz de chat"
114921
+ tooltip: "Permite que las personas envíen una grabación de voz en lugar de escribir. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
114922
+ },
114923
+ showVoiceCall: {
114924
+ label: "Show Voice Call",
114925
+ tooltip: "Permite que las personas inicien una llamada de voz en vivo con el agente. Cada superficie tiene su propio interruptor: In-app chat cubre las conversaciones alojadas en la aplicación y Embed widget cubre el widget en tu propio sitio."
114926
+ },
114927
+ embedShowAttachment: {
114928
+ label: "Mostrar adjuntos (widget incrustado)"
114929
+ },
114930
+ embedShowVoiceRecord: {
114931
+ label: "Mostrar grabacion de voz (widget incrustado)"
114932
+ },
114933
+ embedShowVoiceCall: {
114934
+ label: "Mostrar llamadas de voz (widget incrustado)"
114868
114935
  },
114869
114936
  allowCopies: {
114870
114937
  label: "Permitir copias",
@@ -114872,7 +114939,7 @@ var settingsTabLabels$1 = {
114872
114939
  },
114873
114940
  showReasoning: {
114874
114941
  label: "Razonamiento detallado",
114875
- tooltip: "Mostrar los pasos de razonamiento del agente mientras responde."
114942
+ tooltip: "Mostrar los pasos de razonamiento del agente mientras responde. Esta configuración tiene un solo valor, por lo que se aplica tanto al chat en la aplicación como al widget insertado."
114876
114943
  },
114877
114944
  image: {
114878
114945
  label: "Imagen",
@@ -114882,19 +114949,19 @@ var settingsTabLabels$1 = {
114882
114949
  },
114883
114950
  enhancedDocRetrieval: {
114884
114951
  label: "Enhanced document retrieval",
114885
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
114952
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
114886
114953
  },
114887
114954
  promptCaching: {
114888
114955
  label: "Prompt caching",
114889
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
114956
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
114890
114957
  },
114891
114958
  privateMode: {
114892
114959
  label: "Enable private mode",
114893
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
114960
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
114894
114961
  },
114895
114962
  smartDocRetrieval: {
114896
114963
  label: "Smart document retrieval",
114897
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
114964
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
114898
114965
  }
114899
114966
  },
114900
114967
  actions: {
@@ -114942,8 +115009,19 @@ var settingsTabLabels$1 = {
114942
115009
  },
114943
115010
  sections: {
114944
115011
  chatExperience: "Chat experience",
114945
- voiceCalls: "Voice & calls",
114946
- advanced: "Advanced"
115012
+ advanced: "Advanced",
115013
+ perSurface: "Capacidades por superficie",
115014
+ globalSettings: "Capacidades globales"
115015
+ },
115016
+ surfaces: {
115017
+ inAppChat: "In-app chat",
115018
+ embedWidget: "Embed widget"
115019
+ },
115020
+ notes: {
115021
+ perSurface: "Se configuran de forma independiente para el chat en la aplicacion y el widget incrustado.",
115022
+ globalSettings: "Se aplican tanto al chat en la aplicacion como al widget incrustado.",
115023
+ inAppChat: "Conversaciones alojadas dentro de la aplicacion: el chat que tus usuarios abren aqui.",
115024
+ embedWidget: "El widget que incrustas en tu propio sitio con el fragmento de la pestana Insertar."
114947
115025
  }
114948
115026
  };
114949
115027
  var skillsProfileAddSkillDialog$1 = {
@@ -115654,6 +115732,9 @@ var tabsSettingsTab$1 = {
115654
115732
  featuredTooltipAriaLabel: "Más información sobre destacado",
115655
115733
  showAttachmentTooltipAriaLabel: "Más información sobre mostrar adjuntos",
115656
115734
  showVoiceRecordTooltipAriaLabel: "Más información sobre mostrar grabación de voz",
115735
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
115736
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
115737
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
115657
115738
  allowCopiesTooltipAriaLabel: "Más información sobre permitir copias",
115658
115739
  showReasoningTooltipAriaLabel: "Más información sobre el razonamiento detallado",
115659
115740
  toggleStateEnabled: "activado",
@@ -121981,11 +122062,24 @@ var settingsTabLabels = {
121981
122062
  },
121982
122063
  showAttachment: {
121983
122064
  label: "显示附件",
121984
- tooltip: "在聊天界面中显示附件选项"
122065
+ tooltip: "允许用户在对话中添加附件。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
121985
122066
  },
121986
122067
  showVoiceRecord: {
121987
122068
  label: "显示语音录制",
121988
- tooltip: "在聊天界面中显示语音录制选项"
122069
+ tooltip: "允许用户发送语音录音而不是打字。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
122070
+ },
122071
+ showVoiceCall: {
122072
+ label: "Show Voice Call",
122073
+ tooltip: "允许用户与智能体发起实时语音通话。每个界面都有独立的开关:In-app chat 用于应用内托管的对话,Embed widget 用于您自己网站上的小组件。"
122074
+ },
122075
+ embedShowAttachment: {
122076
+ label: "显示附件(嵌入式挂件)"
122077
+ },
122078
+ embedShowVoiceRecord: {
122079
+ label: "显示语音录音(嵌入式挂件)"
122080
+ },
122081
+ embedShowVoiceCall: {
122082
+ label: "显示语音通话(嵌入式挂件)"
121989
122083
  },
121990
122084
  allowCopies: {
121991
122085
  label: "允许复制",
@@ -121993,7 +122087,7 @@ var settingsTabLabels = {
121993
122087
  },
121994
122088
  showReasoning: {
121995
122089
  label: "详细推理",
121996
- tooltip: "在智能体响应时显示其推理步骤。"
122090
+ tooltip: "在智能体响应时显示其推理步骤。 此设置只有一个值,因此同时适用于应用内聊天和嵌入式小组件。"
121997
122091
  },
121998
122092
  image: {
121999
122093
  label: "图片",
@@ -122003,19 +122097,19 @@ var settingsTabLabels = {
122003
122097
  },
122004
122098
  enhancedDocRetrieval: {
122005
122099
  label: "Enhanced document retrieval",
122006
- tooltip: "Run multiple search queries per question to pull in more relevant documents."
122100
+ tooltip: "Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget."
122007
122101
  },
122008
122102
  promptCaching: {
122009
122103
  label: "Prompt caching",
122010
- tooltip: "Cache repeated prompt context to lower latency and cost on long conversations."
122104
+ tooltip: "Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget."
122011
122105
  },
122012
122106
  privateMode: {
122013
122107
  label: "Enable private mode",
122014
- tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments."
122108
+ tooltip: "When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget."
122015
122109
  },
122016
122110
  smartDocRetrieval: {
122017
122111
  label: "Smart document retrieval",
122018
- tooltip: "Use function calling during voice calls to fetch documents only when needed."
122112
+ tooltip: "The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget."
122019
122113
  }
122020
122114
  },
122021
122115
  actions: {
@@ -122063,8 +122157,19 @@ var settingsTabLabels = {
122063
122157
  },
122064
122158
  sections: {
122065
122159
  chatExperience: "Chat experience",
122066
- voiceCalls: "Voice & calls",
122067
- advanced: "Advanced"
122160
+ advanced: "Advanced",
122161
+ perSurface: "按界面功能",
122162
+ globalSettings: "全局功能"
122163
+ },
122164
+ surfaces: {
122165
+ inAppChat: "In-app chat",
122166
+ embedWidget: "Embed widget"
122167
+ },
122168
+ notes: {
122169
+ perSurface: "分别为应用内聊天和嵌入式挂件单独设置。",
122170
+ globalSettings: "同时适用于应用内聊天和嵌入式挂件。",
122171
+ inAppChat: "应用内托管的对话,即用户在此打开的聊天。",
122172
+ embedWidget: "你使用“嵌入”标签页中的代码片段嵌入到自己网站上的挂件。"
122068
122173
  }
122069
122174
  };
122070
122175
  var skillsProfileAddSkillDialog = {
@@ -122775,6 +122880,9 @@ var tabsSettingsTab = {
122775
122880
  featuredTooltipAriaLabel: "关于精选的更多信息",
122776
122881
  showAttachmentTooltipAriaLabel: "关于显示附件的更多信息",
122777
122882
  showVoiceRecordTooltipAriaLabel: "关于显示语音录制的更多信息",
122883
+ showVoiceCallTooltipAriaLabel: "More info about show voice call",
122884
+ inAppChatTooltipAriaLabel: "More info about in-app chat",
122885
+ embedWidgetTooltipAriaLabel: "More info about the embed widget",
122778
122886
  allowCopiesTooltipAriaLabel: "关于允许复制的更多信息",
122779
122887
  showReasoningTooltipAriaLabel: "关于详细推理的更多信息",
122780
122888
  toggleStateEnabled: "已启用",
@@ -269727,8 +269835,19 @@ const AGENT_SETTINGS_TAB_LABELS = {
269727
269835
  },
269728
269836
  sections: {
269729
269837
  chatExperience: 'Chat experience',
269730
- voiceCalls: 'Voice & calls',
269731
269838
  advanced: 'Advanced',
269839
+ perSurface: 'Surface Capabilities',
269840
+ globalSettings: 'Global Capabilities',
269841
+ },
269842
+ surfaces: {
269843
+ inAppChat: 'In-app chat',
269844
+ embedWidget: 'Embed widget',
269845
+ },
269846
+ notes: {
269847
+ perSurface: 'Set independently for in-app chat and the embed widget.',
269848
+ globalSettings: 'These apply to in-app chat and the embed widget alike.',
269849
+ inAppChat: 'Conversations hosted inside the app - the chat your users open here.',
269850
+ embedWidget: 'The widget you embed on your own site using the snippet from the Embed tab.',
269732
269851
  },
269733
269852
  fields: {
269734
269853
  name: {
@@ -269775,11 +269894,24 @@ const AGENT_SETTINGS_TAB_LABELS = {
269775
269894
  },
269776
269895
  showAttachment: {
269777
269896
  label: 'Show Attachment',
269778
- tooltip: 'Show Attachment Options in Chat Interface',
269897
+ tooltip: 'Lets people attach files to a conversation. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site.',
269779
269898
  },
269780
269899
  showVoiceRecord: {
269781
269900
  label: 'Show Voice Record',
269782
- tooltip: 'Show Voice Recording Options in Chat Interface',
269901
+ tooltip: 'Lets people send a voice recording instead of typing. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site.',
269902
+ },
269903
+ showVoiceCall: {
269904
+ label: 'Show Voice Call',
269905
+ tooltip: 'Lets people start a live voice call with the agent. Each surface has its own switch: In-app chat covers conversations hosted in the app, Embed widget covers the widget on your own site.',
269906
+ },
269907
+ embedShowAttachment: {
269908
+ label: 'Show Attachment (embed widget)',
269909
+ },
269910
+ embedShowVoiceRecord: {
269911
+ label: 'Show Voice Record (embed widget)',
269912
+ },
269913
+ embedShowVoiceCall: {
269914
+ label: 'Show Voice Call (embed widget)',
269783
269915
  },
269784
269916
  allowCopies: {
269785
269917
  label: 'Allow Copies',
@@ -269787,23 +269919,23 @@ const AGENT_SETTINGS_TAB_LABELS = {
269787
269919
  },
269788
269920
  showReasoning: {
269789
269921
  label: 'Verbose Reasoning',
269790
- tooltip: 'Show the agent’s reasoning steps while it responds.',
269922
+ tooltip: 'Show the agent’s reasoning steps while it responds. This setting has one value, so it applies to both in-app chat and the embed widget.',
269791
269923
  },
269792
269924
  enhancedDocRetrieval: {
269793
269925
  label: 'Enhanced document retrieval',
269794
- tooltip: 'Run multiple search queries per question to pull in more relevant documents.',
269926
+ tooltip: 'Run multiple search queries per question to pull in more relevant documents. This setting has one value, so it applies to both in-app chat and the embed widget.',
269795
269927
  },
269796
269928
  promptCaching: {
269797
269929
  label: 'Prompt caching',
269798
- tooltip: 'Cache repeated prompt context to lower latency and cost on long conversations.',
269930
+ tooltip: 'Cache repeated prompt context to lower latency and cost on long conversations. This setting has one value, so it applies to both in-app chat and the embed widget.',
269799
269931
  },
269800
269932
  privateMode: {
269801
269933
  label: 'Enable private mode',
269802
- tooltip: 'When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments.',
269934
+ tooltip: 'When on, every conversation with this agent runs in private mode — no chat history or memory is stored for any user. Use this for sensitive or compliance-bound deployments. This setting has one value, so it applies to both in-app chat and the embed widget.',
269803
269935
  },
269804
269936
  smartDocRetrieval: {
269805
269937
  label: 'Smart document retrieval',
269806
- tooltip: 'Use function calling during voice calls to fetch documents only when needed.',
269938
+ tooltip: 'The agent fetches documents only when it needs them, instead of searching the knowledge base on every turn. This setting has one value, so it applies to both in-app chat and the embed widget.',
269807
269939
  },
269808
269940
  image: {
269809
269941
  label: 'Image',
@@ -269869,8 +270001,19 @@ function buildSettingsTabLabels(t) {
269869
270001
  },
269870
270002
  sections: {
269871
270003
  chatExperience: t('settingsTabLabels.sections.chatExperience'),
269872
- voiceCalls: t('settingsTabLabels.sections.voiceCalls'),
269873
270004
  advanced: t('settingsTabLabels.sections.advanced'),
270005
+ perSurface: t('settingsTabLabels.sections.perSurface'),
270006
+ globalSettings: t('settingsTabLabels.sections.globalSettings'),
270007
+ },
270008
+ surfaces: {
270009
+ inAppChat: t('settingsTabLabels.surfaces.inAppChat'),
270010
+ embedWidget: t('settingsTabLabels.surfaces.embedWidget'),
270011
+ },
270012
+ notes: {
270013
+ perSurface: t('settingsTabLabels.notes.perSurface'),
270014
+ globalSettings: t('settingsTabLabels.notes.globalSettings'),
270015
+ inAppChat: t('settingsTabLabels.notes.inAppChat'),
270016
+ embedWidget: t('settingsTabLabels.notes.embedWidget'),
269874
270017
  },
269875
270018
  fields: {
269876
270019
  name: {
@@ -269923,6 +270066,19 @@ function buildSettingsTabLabels(t) {
269923
270066
  label: t('settingsTabLabels.fields.showVoiceRecord.label'),
269924
270067
  tooltip: t('settingsTabLabels.fields.showVoiceRecord.tooltip'),
269925
270068
  },
270069
+ showVoiceCall: {
270070
+ label: t('settingsTabLabels.fields.showVoiceCall.label'),
270071
+ tooltip: t('settingsTabLabels.fields.showVoiceCall.tooltip'),
270072
+ },
270073
+ embedShowAttachment: {
270074
+ label: t('settingsTabLabels.fields.embedShowAttachment.label'),
270075
+ },
270076
+ embedShowVoiceRecord: {
270077
+ label: t('settingsTabLabels.fields.embedShowVoiceRecord.label'),
270078
+ },
270079
+ embedShowVoiceCall: {
270080
+ label: t('settingsTabLabels.fields.embedShowVoiceCall.label'),
270081
+ },
269926
270082
  allowCopies: {
269927
270083
  label: t('settingsTabLabels.fields.allowCopies.label'),
269928
270084
  tooltip: t('settingsTabLabels.fields.allowCopies.tooltip'),
@@ -270013,7 +270169,7 @@ function resolveSettingsTabLabels(override, t) {
270013
270169
  }
270014
270170
 
270015
270171
  function useEditMentorSettings({ onSuccessfulSave, labels }) {
270016
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
270172
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
270017
270173
  const { tenantKey, mentorId, username, enableRBAC, executeGatedAction } = useAgentSettings();
270018
270174
  const dispatch = useDispatch();
270019
270175
  const { data: categories, isLoading: isLoadingCategories } = useGetMentorCategoriesQuery(
@@ -270054,12 +270210,16 @@ function useEditMentorSettings({ onSuccessfulSave, labels }) {
270054
270210
  is_featured: (_d = m === null || m === void 0 ? void 0 : m.is_featured) !== null && _d !== void 0 ? _d : false,
270055
270211
  show_attachment: (_e = m === null || m === void 0 ? void 0 : m.show_attachment) !== null && _e !== void 0 ? _e : true,
270056
270212
  show_voice_record: (_f = m === null || m === void 0 ? void 0 : m.show_voice_record) !== null && _f !== void 0 ? _f : true,
270057
- forkable: (_g = m === null || m === void 0 ? void 0 : m.forkable) !== null && _g !== void 0 ? _g : false,
270058
- show_reasoning: (_h = m === null || m === void 0 ? void 0 : m.show_reasoning) !== null && _h !== void 0 ? _h : false,
270059
- enable_multi_query_rag: (_j = m === null || m === void 0 ? void 0 : m.enable_multi_query_rag) !== null && _j !== void 0 ? _j : false,
270060
- enable_prompt_caching: (_k = m === null || m === void 0 ? void 0 : m.enable_prompt_caching) !== null && _k !== void 0 ? _k : false,
270061
- disable_chathistory: (_l = m === null || m === void 0 ? void 0 : m.disable_chathistory) !== null && _l !== void 0 ? _l : false,
270062
- use_function_calling_for_rag: (_m = existingCallConfig === null || existingCallConfig === void 0 ? void 0 : existingCallConfig.use_function_calling_for_rag) !== null && _m !== void 0 ? _m : false,
270213
+ show_voice_call: (_g = m === null || m === void 0 ? void 0 : m.show_voice_call) !== null && _g !== void 0 ? _g : true,
270214
+ embed_show_attachment: (_h = m === null || m === void 0 ? void 0 : m.embed_show_attachment) !== null && _h !== void 0 ? _h : true,
270215
+ embed_show_voice_record: (_j = m === null || m === void 0 ? void 0 : m.embed_show_voice_record) !== null && _j !== void 0 ? _j : true,
270216
+ embed_show_voice_call: (_k = m === null || m === void 0 ? void 0 : m.embed_show_voice_call) !== null && _k !== void 0 ? _k : true,
270217
+ forkable: (_l = m === null || m === void 0 ? void 0 : m.forkable) !== null && _l !== void 0 ? _l : false,
270218
+ show_reasoning: (_m = m === null || m === void 0 ? void 0 : m.show_reasoning) !== null && _m !== void 0 ? _m : false,
270219
+ enable_multi_query_rag: (_o = m === null || m === void 0 ? void 0 : m.enable_multi_query_rag) !== null && _o !== void 0 ? _o : false,
270220
+ enable_prompt_caching: (_p = m === null || m === void 0 ? void 0 : m.enable_prompt_caching) !== null && _p !== void 0 ? _p : false,
270221
+ disable_chathistory: (_q = m === null || m === void 0 ? void 0 : m.disable_chathistory) !== null && _q !== void 0 ? _q : false,
270222
+ use_function_calling_for_rag: (_r = existingCallConfig === null || existingCallConfig === void 0 ? void 0 : existingCallConfig.use_function_calling_for_rag) !== null && _r !== void 0 ? _r : false,
270063
270223
  },
270064
270224
  onSubmit: async ({ value }) => {
270065
270225
  var _a;
@@ -270091,6 +270251,18 @@ function useEditMentorSettings({ onSuccessfulSave, labels }) {
270091
270251
  if (value.show_voice_record !== undefined) {
270092
270252
  values.show_voice_record = value.show_voice_record;
270093
270253
  }
270254
+ if (value.show_voice_call !== undefined) {
270255
+ values.show_voice_call = value.show_voice_call;
270256
+ }
270257
+ if (value.embed_show_attachment !== undefined) {
270258
+ values.embed_show_attachment = value.embed_show_attachment;
270259
+ }
270260
+ if (value.embed_show_voice_record !== undefined) {
270261
+ values.embed_show_voice_record = value.embed_show_voice_record;
270262
+ }
270263
+ if (value.embed_show_voice_call !== undefined) {
270264
+ values.embed_show_voice_call = value.embed_show_voice_call;
270265
+ }
270094
270266
  if (value.forkable !== undefined) {
270095
270267
  values.forkable = value.forkable;
270096
270268
  // A sets forkable_with_training_data in lock-step with forkable.
@@ -270307,22 +270479,74 @@ function BasicSubTab({ form, labels, mentor, isDisabled, categories }) {
270307
270479
  }, className: "hidden" })] })] })) })) })] }));
270308
270480
  }
270309
270481
 
270482
+ /**
270483
+ * Shared column template: capability, then one column per surface. Three
270484
+ * columns need roughly a readable label plus 2 x 9rem, so the grid only forms
270485
+ * from `md` (768px) up; below that every consumer stacks. Also used by the
270486
+ * single-field toggles below the matrix so their switches line up under the
270487
+ * last column (Embed widget), keeping every switch on one right edge.
270488
+ */
270489
+ const CAPABILITY_MATRIX_GRID = 'md:grid md:grid-cols-[minmax(0,1fr)_9rem_9rem]';
270490
+ /** Each column label sits centred over its own column, with its own info icon. */
270491
+ const COLUMN_CLASS = 'hidden items-center justify-center gap-1.5 md:flex';
270492
+ /**
270493
+ * The matrix's column header row: an empty cell over the capability names,
270494
+ * then one labelled column per surface. The whole row drops out below the
270495
+ * breakpoint, where the layout stacks and every cell repeats its surface name
270496
+ * inline instead — an accepted trade-off of this layout.
270497
+ */
270498
+ function CapabilityMatrixHeader({ heading, inAppChat, embedWidget, }) {
270499
+ const column = (surface) => (jsxs("div", { className: COLUMN_CLASS, children: [jsx("span", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: surface.label }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { type: "button", "aria-label": surface.tooltipAriaLabel, children: jsx(Info$3, { className: "h-4 w-4 text-gray-400" }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: jsx("p", { children: surface.tooltip }) })] }) })] }));
270500
+ return (jsxs("div", { className: `items-center gap-4 ${CAPABILITY_MATRIX_GRID}`, "data-testid": "capability-matrix-header", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: heading }), column(inAppChat), column(embedWidget)] }));
270501
+ }
270502
+ /**
270503
+ * One capability of the surface matrix: the capability is named once and each
270504
+ * surface gets its own cell, so `show_*` and `embed_show_*` stay independently
270505
+ * settable instead of being restated on the Embed tab.
270506
+ *
270507
+ * Below `md` the grid collapses to stacked sub-rows, each labelled inline
270508
+ * with its surface.
270509
+ */
270510
+ function CapabilityMatrixRow({ label, tooltip, tooltipAriaLabel, inAppChatLabel, embedWidgetLabel, inAppChat, embedWidget, testId, }) {
270511
+ const cell = (surfaceLabel, control) => (jsxs("div", { className: "flex items-center justify-between gap-3 md:justify-center", children: [jsx("span", { className: "text-sm text-gray-500 md:hidden", children: surfaceLabel }), control] }));
270512
+ return (jsxs("div", { className: `flex flex-col gap-2 md:items-center ${CAPABILITY_MATRIX_GRID}`, "data-testid": testId, children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("span", { className: "text-sm font-medium text-[#646464]", children: label }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { type: "button", "aria-label": tooltipAriaLabel, children: jsx(Info$3, { className: "h-4 w-4 text-gray-400" }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: jsx("p", { children: tooltip }) })] }) })] }), cell(inAppChatLabel, inAppChat), cell(embedWidgetLabel, embedWidget)] }));
270513
+ }
270514
+ /** A single form-bound cell of the matrix — the switch without the row chrome. */
270515
+ function CapabilityMatrixSwitch({ form, name, label, isDisabled, permissionName, fieldPermissions, enableRBAC, }) {
270516
+ const t = useT();
270517
+ const control = (gatedDisabled) => (jsx(form.Field, { name: name, children: (field) => {
270518
+ const value = field.state.value;
270519
+ return (jsx(CustomSwitch, { checked: value, onCheckedChange: (checked) => field.handleChange(checked), disabled: isDisabled || gatedDisabled, "aria-label": t('tabsSettingsTab.toggleAriaLabel', {
270520
+ label,
270521
+ state: value
270522
+ ? t('tabsSettingsTab.toggleStateEnabled')
270523
+ : t('tabsSettingsTab.toggleStateDisabled'),
270524
+ }) }));
270525
+ } }));
270526
+ if (!permissionName) {
270527
+ return control(false);
270528
+ }
270529
+ return (jsx(WithFormPermissions, { name: permissionName,
270530
+ // @ts-expect-error permissions field type is opaque
270531
+ permissions: fieldPermissions, enableRBAC: enableRBAC, children: ({ disabled }) => control(disabled) }));
270532
+ }
270533
+
270310
270534
  /**
270311
270535
  * A single label + info-tooltip + `CustomSwitch` row bound to a boolean field
270312
270536
  * of the settings form. Collapses the block that was copy-pasted for every
270313
270537
  * capability/discovery toggle, including the state-aware switch `aria-label`
270314
270538
  * and the optional `WithFormPermissions` RBAC gate.
270315
270539
  */
270316
- function SettingToggleField({ form, name, label, tooltip, tooltipAriaLabel, isDisabled, permissionName, fieldPermissions, enableRBAC, testId, }) {
270540
+ function SettingToggleField({ form, name, label, tooltip, tooltipAriaLabel, isDisabled, permissionName, fieldPermissions, enableRBAC, testId, alignToMatrix = false, }) {
270317
270541
  const t = useT();
270318
270542
  const row = (gatedDisabled) => (jsx(form.Field, { name: name, children: (field) => {
270319
270543
  const value = field.state.value;
270320
- return (jsxs("div", { className: "flex items-center justify-between", children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("span", { className: "text-sm font-medium text-[#646464]", children: label }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { type: "button", "aria-label": tooltipAriaLabel, children: jsx(Info$3, { className: "h-4 w-4 text-gray-400" }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: jsx("p", { children: tooltip }) })] }) })] }), jsx(CustomSwitch, { checked: value, onCheckedChange: (checked) => field.handleChange(checked), disabled: isDisabled || gatedDisabled, "aria-label": t('tabsSettingsTab.toggleAriaLabel', {
270544
+ return (jsxs("div", { className: `flex items-center justify-between${alignToMatrix ? ` ${CAPABILITY_MATRIX_GRID}` : ''}`, children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("span", { className: "text-sm font-medium text-[#646464]", children: label }), jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { type: "button", "aria-label": tooltipAriaLabel, children: jsx(Info$3, { className: "h-4 w-4 text-gray-400" }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: jsx("p", { children: tooltip }) })] }) })] }), alignToMatrix && jsx("span", { className: "hidden md:block" }), jsx(CustomSwitch, { checked: value, onCheckedChange: (checked) => field.handleChange(checked), disabled: isDisabled || gatedDisabled, "aria-label": t('tabsSettingsTab.toggleAriaLabel', {
270321
270545
  label,
270322
270546
  state: value
270323
270547
  ? t('tabsSettingsTab.toggleStateEnabled')
270324
270548
  : t('tabsSettingsTab.toggleStateDisabled'),
270325
- }), "data-testid": testId })] }));
270549
+ }), "data-testid": testId, className: alignToMatrix ? 'md:justify-self-center' : undefined })] }));
270326
270550
  } }));
270327
270551
  if (!permissionName) {
270328
270552
  return row(false);
@@ -270372,14 +270596,33 @@ function DiscoverySubTab({ form, labels, mentor, isDisabled }) {
270372
270596
  }
270373
270597
 
270374
270598
  /**
270375
- * Capabilities sub-tab: the chat-experience, voice-&-calls, and advanced
270376
- * toggle groups.
270599
+ * Capabilities sub-tab: the per-surface capability matrix followed by the
270600
+ * chat-experience and advanced toggle groups.
270601
+ *
270602
+ * Capabilities that exist on both surfaces are stated once and given a cell
270603
+ * per surface (`show_*` for the in-app chat, `embed_show_*` for the embed
270604
+ * widget) — the two backend fields stay independent. Capabilities backed by a
270605
+ * single field render as one switch below the matrix, so they read as
270606
+ * "applies everywhere".
270377
270607
  */
270378
270608
  function CapabilitiesSubTab({ form, labels, mentor, isDisabled, tenantAllowsChatPrivacyControl, }) {
270379
270609
  const t = useT();
270380
270610
  const { enableRBAC } = useAgentSettings();
270381
270611
  const fieldPermissions = getFieldPermissions(mentor);
270382
- return (jsxs("div", { className: "space-y-6", children: [jsxs("div", { className: "space-y-3", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: labels.sections.chatExperience }), jsx(SettingToggleField, { form: form, name: "show_attachment", label: labels.fields.showAttachment.label, tooltip: labels.fields.showAttachment.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showAttachmentTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "show_attachment", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC }), jsx(SettingToggleField, { form: form, name: "show_reasoning", label: labels.fields.showReasoning.label, tooltip: labels.fields.showReasoning.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showReasoningTooltipAriaLabel'), isDisabled: isDisabled }), jsx(SettingToggleField, { form: form, name: "enable_multi_query_rag", label: labels.fields.enhancedDocRetrieval.label, tooltip: labels.fields.enhancedDocRetrieval.tooltip, tooltipAriaLabel: t('tabsSettingsTab.enhancedDocRetrievalTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "enable_multi_query_rag", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC }), jsx(SettingToggleField, { form: form, name: "enable_prompt_caching", label: labels.fields.promptCaching.label, tooltip: labels.fields.promptCaching.tooltip, tooltipAriaLabel: t('tabsSettingsTab.promptCachingTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "enable_prompt_caching", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC })] }), jsxs("div", { className: "space-y-3", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: labels.sections.voiceCalls }), jsx(SettingToggleField, { form: form, name: "show_voice_record", label: labels.fields.showVoiceRecord.label, tooltip: labels.fields.showVoiceRecord.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showVoiceRecordTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "show_voice_record", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC }), jsx(SettingToggleField, { form: form, name: "use_function_calling_for_rag", label: labels.fields.smartDocRetrieval.label, tooltip: labels.fields.smartDocRetrieval.tooltip, tooltipAriaLabel: t('tabsSettingsTab.smartDocRetrievalTooltipAriaLabel'), isDisabled: isDisabled, testId: "settings-use-function-calling-for-rag-switch" })] }), jsxs("div", { className: "space-y-3", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: labels.sections.advanced }), tenantAllowsChatPrivacyControl && (jsx(SettingToggleField, { form: form, name: "disable_chathistory", label: labels.fields.privateMode.label, tooltip: labels.fields.privateMode.tooltip, tooltipAriaLabel: t('tabsSettingsTab.privateModeTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "disable_chathistory", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC, testId: "settings-disable-chathistory-switch" })), jsx(SettingToggleField, { form: form, name: "forkable", label: labels.fields.allowCopies.label, tooltip: labels.fields.allowCopies.tooltip, tooltipAriaLabel: t('tabsSettingsTab.allowCopiesTooltipAriaLabel'), isDisabled: isDisabled })] })] }));
270612
+ return (jsxs("div", { className: "space-y-6", children: [jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 px-4 py-3", "data-testid": "capabilities-per-surface-banner", children: [jsx("h4", { className: "text-sm font-medium text-gray-900", children: labels.sections.perSurface }), jsx("p", { className: "mt-1 text-xs text-gray-600", children: labels.notes.perSurface })] }), jsxs("div", { className: "space-y-3", children: [jsx(CapabilityMatrixHeader, { heading: labels.sections.chatExperience, inAppChat: {
270613
+ label: labels.surfaces.inAppChat,
270614
+ tooltip: labels.notes.inAppChat,
270615
+ tooltipAriaLabel: t('tabsSettingsTab.inAppChatTooltipAriaLabel'),
270616
+ }, embedWidget: {
270617
+ label: labels.surfaces.embedWidget,
270618
+ tooltip: labels.notes.embedWidget,
270619
+ tooltipAriaLabel: t('tabsSettingsTab.embedWidgetTooltipAriaLabel'),
270620
+ } }), jsxs("div", { className: "space-y-4", children: [jsx(CapabilityMatrixRow, { label: labels.fields.showAttachment.label, tooltip: labels.fields.showAttachment.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showAttachmentTooltipAriaLabel'), inAppChatLabel: labels.surfaces.inAppChat, embedWidgetLabel: labels.surfaces.embedWidget, testId: "capability-matrix-row-attachment", inAppChat: jsx(CapabilityMatrixSwitch, { form: form, name: "show_attachment", label: labels.fields.showAttachment.label, isDisabled: isDisabled, permissionName: "show_attachment", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC }), embedWidget: jsx(CapabilityMatrixSwitch, { form: form, name: "embed_show_attachment", label: labels.fields.embedShowAttachment.label, isDisabled: isDisabled }) }), jsx(CapabilityMatrixRow, { label: labels.fields.showVoiceRecord.label, tooltip: labels.fields.showVoiceRecord.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showVoiceRecordTooltipAriaLabel'), inAppChatLabel: labels.surfaces.inAppChat, embedWidgetLabel: labels.surfaces.embedWidget, testId: "capability-matrix-row-voice-record", inAppChat: jsx(CapabilityMatrixSwitch, { form: form, name: "show_voice_record", label: labels.fields.showVoiceRecord.label, isDisabled: isDisabled, permissionName: "show_voice_record", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC }), embedWidget: jsx(CapabilityMatrixSwitch, { form: form, name: "embed_show_voice_record", label: labels.fields.embedShowVoiceRecord.label, isDisabled: isDisabled }) }), jsx(CapabilityMatrixRow, { label: labels.fields.showVoiceCall.label, tooltip: labels.fields.showVoiceCall.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showVoiceCallTooltipAriaLabel'), inAppChatLabel: labels.surfaces.inAppChat, embedWidgetLabel: labels.surfaces.embedWidget, testId: "capability-matrix-row-voice-call", inAppChat:
270621
+ // Not RBAC-gated: `show_voice_call` is absent from the endpoint's
270622
+ // field-permission map, and `WithFormPermissions` HIDES a control
270623
+ // whose key is missing on an RBAC tenant. The Voice tab treats the
270624
+ // same field the same way.
270625
+ jsx(CapabilityMatrixSwitch, { form: form, name: "show_voice_call", label: labels.fields.showVoiceCall.label, isDisabled: isDisabled }), embedWidget: jsx(CapabilityMatrixSwitch, { form: form, name: "embed_show_voice_call", label: labels.fields.embedShowVoiceCall.label, isDisabled: isDisabled }) })] })] }), jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 px-4 py-3", "data-testid": "capabilities-global-settings-banner", children: [jsx("h4", { className: "text-sm font-medium text-gray-900", children: labels.sections.globalSettings }), jsx("p", { className: "mt-1 text-xs text-gray-600", children: labels.notes.globalSettings })] }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "space-y-3", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: labels.sections.chatExperience }), jsx(SettingToggleField, { form: form, name: "show_reasoning", label: labels.fields.showReasoning.label, tooltip: labels.fields.showReasoning.tooltip, tooltipAriaLabel: t('tabsSettingsTab.showReasoningTooltipAriaLabel'), isDisabled: isDisabled, alignToMatrix: true }), jsx(SettingToggleField, { form: form, name: "enable_multi_query_rag", label: labels.fields.enhancedDocRetrieval.label, tooltip: labels.fields.enhancedDocRetrieval.tooltip, tooltipAriaLabel: t('tabsSettingsTab.enhancedDocRetrievalTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "enable_multi_query_rag", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC, alignToMatrix: true }), jsx(SettingToggleField, { form: form, name: "use_function_calling_for_rag", label: labels.fields.smartDocRetrieval.label, tooltip: labels.fields.smartDocRetrieval.tooltip, tooltipAriaLabel: t('tabsSettingsTab.smartDocRetrievalTooltipAriaLabel'), isDisabled: isDisabled, testId: "settings-use-function-calling-for-rag-switch", alignToMatrix: true }), jsx(SettingToggleField, { form: form, name: "enable_prompt_caching", label: labels.fields.promptCaching.label, tooltip: labels.fields.promptCaching.tooltip, tooltipAriaLabel: t('tabsSettingsTab.promptCachingTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "enable_prompt_caching", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC, alignToMatrix: true })] }), jsxs("div", { className: "space-y-3", children: [jsx("h4", { className: "text-xs font-semibold tracking-wide text-gray-500 uppercase", children: labels.sections.advanced }), tenantAllowsChatPrivacyControl && (jsx(SettingToggleField, { form: form, name: "disable_chathistory", label: labels.fields.privateMode.label, tooltip: labels.fields.privateMode.tooltip, tooltipAriaLabel: t('tabsSettingsTab.privateModeTooltipAriaLabel'), isDisabled: isDisabled, permissionName: "disable_chathistory", fieldPermissions: fieldPermissions, enableRBAC: enableRBAC, testId: "settings-disable-chathistory-switch", alignToMatrix: true })), jsx(SettingToggleField, { form: form, name: "forkable", label: labels.fields.allowCopies.label, tooltip: labels.fields.allowCopies.tooltip, tooltipAriaLabel: t('tabsSettingsTab.allowCopiesTooltipAriaLabel'), isDisabled: isDisabled, alignToMatrix: true })] })] })] }));
270383
270626
  }
270384
270627
 
270385
270628
  /* istanbul ignore next -- @preserve dynamic import is not testable in unit tests */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/iblai-js",
3
- "version": "2.10.1",
3
+ "version": "2.10.2",
4
4
  "description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
5
5
  "type": "module",
6
6
  "engines": {
@@ -77,9 +77,9 @@
77
77
  "dotenv": "16.6.1",
78
78
  "winston": "3.19.0",
79
79
  "@iblai/data-layer": "1.13.3",
80
- "@iblai/mcp": "1.12.12",
81
- "@iblai/web-containers": "1.19.13",
82
- "@iblai/web-utils": "2.4.6"
80
+ "@iblai/web-containers": "1.19.14",
81
+ "@iblai/web-utils": "2.4.6",
82
+ "@iblai/mcp": "1.12.12"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "@iblai/iblai-api": "4.166.0-ai",