@iblai/iblai-js 2.10.0 → 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: "
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
5755
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
13042
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
20163
|
-
|
|
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: "
|
|
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
|
-
|
|
27284
|
-
|
|
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: "已启用",
|
|
@@ -186120,6 +186228,12 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
|
|
|
186120
186228
|
var _a;
|
|
186121
186229
|
(_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
186122
186230
|
};
|
|
186231
|
+
// The picture itself, with no editing affordance around it. The wrapper
|
|
186232
|
+
// below decides whether it is clickable.
|
|
186233
|
+
const profileAvatar = (jsxs(Avatar, { className: "h-20 w-20", children: [((_b = userMetadataEdx === null || userMetadataEdx === void 0 ? void 0 : userMetadataEdx.profile_image) === null || _b === void 0 ? void 0 : _b.has_image) ? (jsx(AvatarImage, { src: (_c = userMetadataEdx === null || userMetadataEdx === void 0 ? void 0 : userMetadataEdx.profile_image) === null || _c === void 0 ? void 0 : _c.image_url_full, alt: t('profileIndex.altProfilePicture'), className: "rounded-full object-cover w-full h-full group-hover:opacity-80 transition-opacity" })) : customization.useGravatarPicFallback ? (jsx(Gravatar, { className: "w-full h-full rounded-full object-cover group-hover:opacity-80 transition-opacity", email: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email, size: 80, alt: t('profileIndex.altProfilePictureGravatar') })) : (jsx(Fragment$1, {})), jsx(AvatarFallback, { className: cn('bg-blue-800 text-white text-xl rounded-full', customization.useGravatarPicFallback &&
|
|
186234
|
+
!((_d = userMetadataEdx === null || userMetadataEdx === void 0 ? void 0 : userMetadataEdx.profile_image) === null || _d === void 0 ? void 0 : _d.image_url_full)
|
|
186235
|
+
? 'hidden'
|
|
186236
|
+
: ''), children: getInitials((userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.name) || (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.username) || (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email) || '') })] }));
|
|
186123
186237
|
const handleFileUpload = (event) => {
|
|
186124
186238
|
var _a;
|
|
186125
186239
|
const file = (_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
@@ -186170,10 +186284,9 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
|
|
|
186170
186284
|
return (jsxs("div", { className: "flex flex-col lg:flex-row h-full", children: [jsx("div", { className: "lg:hidden", children: jsx("div", { className: "px-6 py-4 border-b border-gray-200", children: jsx("h2", { className: "text-lg font-semibold text-gray-900", children: t('profileIndex.profileHeading') }) }) }), jsxs("div", { className: "hidden lg:flex bg-white border-r border-gray-200 dark:border-gray-700 flex-col overflow-hidden", style: {
|
|
186171
186285
|
width: '320px',
|
|
186172
186286
|
height: '100%',
|
|
186173
|
-
}, children: [jsxs("div", { className: "flex flex-col items-center justify-center py-6 px-6 border-b border-gray-200 dark:border-gray-700 flex-shrink-0", children: [isUserMetadataEdxLoading || isUploadingProfileImage ? (jsx(Skeleton, { className: "h-20 w-20 mb-6 rounded-full", "aria-label": t('profileIndex.ariaLoadingProfileImage') })) :
|
|
186174
|
-
|
|
186175
|
-
|
|
186176
|
-
: ''), children: getInitials((userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.name) || (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.username) || (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email) || '') })] }), isHovering && (jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-blue-800 rounded-full border-4 border-white/20", "aria-hidden": "true", children: jsx("span", { className: "text-white text-xs font-medium text-center px-2", children: t('profileIndex.uploadOverlay') }) })), jsx("input", { ref: fileInputRef, type: "file", accept: "image/*", onChange: handleFileUpload, className: "hidden", "aria-label": t('profileIndex.ariaChooseProfilePicture'), tabIndex: -1 })] })), jsx("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100 text-center mb-3 break-all px-2", title: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email, children: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email }), jsxs("div", { className: "flex justify-center space-x-3", children: [jsxs("div", { className: "bg-blue-100 text-blue-700 px-2 py-1 rounded font-medium flex items-center text-sm", children: [jsx(RoleIcon, { className: "h-4 w-4 mr-2", "aria-hidden": "true" }), jsx("span", { children: isAdmin ? t('profileIndex.roleAdmin') : t('profileIndex.roleUser') })] }), customization.showPlatformName && (jsx("div", { className: "bg-gray-100 text-gray-600 px-4 py-2 rounded text-xs font-medium", children: tenant.toUpperCase() }))] })] }), jsx("nav", { className: "flex-1 overflow-y-auto", style: { minHeight: 0 }, "aria-label": t('profileIndex.ariaProfileTabs'), children: jsx("div", { className: "p-4", children: jsx("div", { className: "flex flex-col space-y-1.5", role: "tablist", "aria-orientation": "vertical", children: TABS.map((tab) => (jsxs("button", { role: "tab", "aria-selected": activeTab === tab.id, "aria-controls": `${tab.id}-tabpanel`, id: `${tab.id}-tab`, onClick: () => setActiveTab(tab.id), className: `w-full justify-start px-4 py-2.5 text-left rounded-lg transition-all flex items-center text-base ${activeTab === tab.id
|
|
186287
|
+
}, children: [jsxs("div", { className: "flex flex-col items-center justify-center py-6 px-6 border-b border-gray-200 dark:border-gray-700 flex-shrink-0", children: [isUserMetadataEdxLoading || isUploadingProfileImage ? (jsx(Skeleton, { className: "h-20 w-20 mb-6 rounded-full", "aria-label": t('profileIndex.ariaLoadingProfileImage') })) : isReadOnly ? (
|
|
186288
|
+
// Someone else's profile: show the picture, offer no way to replace it.
|
|
186289
|
+
jsx("div", { className: "relative w-20 h-20 mb-4 rounded-full", children: profileAvatar })) : (jsxs("button", { type: "button", className: "relative w-20 h-20 mb-4 cursor-pointer group rounded-full focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2", onMouseEnter: () => setIsHovering(true), onMouseLeave: () => setIsHovering(false), onClick: handleAvatarClick, "aria-label": t('profileIndex.ariaUploadProfilePicture'), children: [profileAvatar, isHovering && (jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-blue-800 rounded-full border-4 border-white/20", "aria-hidden": "true", children: jsx("span", { className: "text-white text-xs font-medium text-center px-2", children: t('profileIndex.uploadOverlay') }) })), jsx("input", { ref: fileInputRef, type: "file", accept: "image/*", onChange: handleFileUpload, className: "hidden", "aria-label": t('profileIndex.ariaChooseProfilePicture'), tabIndex: -1 })] })), jsx("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100 text-center mb-3 break-all px-2", title: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email, children: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email }), jsxs("div", { className: "flex justify-center space-x-3", children: [jsxs("div", { className: "bg-blue-100 text-blue-700 px-2 py-1 rounded font-medium flex items-center text-sm", children: [jsx(RoleIcon, { className: "h-4 w-4 mr-2", "aria-hidden": "true" }), jsx("span", { children: isAdmin ? t('profileIndex.roleAdmin') : t('profileIndex.roleUser') })] }), customization.showPlatformName && (jsx("div", { className: "bg-gray-100 text-gray-600 px-4 py-2 rounded text-xs font-medium", children: tenant.toUpperCase() }))] })] }), jsx("nav", { className: "flex-1 overflow-y-auto", style: { minHeight: 0 }, "aria-label": t('profileIndex.ariaProfileTabs'), children: jsx("div", { className: "p-4", children: jsx("div", { className: "flex flex-col space-y-1.5", role: "tablist", "aria-orientation": "vertical", children: TABS.map((tab) => (jsxs("button", { role: "tab", "aria-selected": activeTab === tab.id, "aria-controls": `${tab.id}-tabpanel`, id: `${tab.id}-tab`, onClick: () => setActiveTab(tab.id), className: `w-full justify-start px-4 py-2.5 text-left rounded-lg transition-all flex items-center text-base ${activeTab === tab.id
|
|
186177
186290
|
? 'bg-blue-50 text-blue-700 font-medium'
|
|
186178
186291
|
: 'hover:bg-gray-50 text-gray-700 dark:text-gray-300 hover:text-gray-900 dark:hover:text-gray-100'}`, children: [jsx(tab.renderIcon, { className: "h-5 w-5 mr-3 flex-shrink-0", "aria-hidden": "true" }), jsx("span", { className: "truncate", children: tab.label })] }, tab.id))) }) }) })] }), jsx("nav", { className: "lg:hidden", "aria-label": t('profileIndex.ariaProfileTabsMobile'), children: jsx("div", { className: "w-full justify-start px-6 py-2 bg-white border-b border-gray-200 rounded-none h-auto overflow-x-auto", children: jsx("div", { className: "flex space-x-2", role: "tablist", "aria-orientation": "horizontal", children: TABS.map((tab) => (jsxs("button", { role: "tab", "aria-selected": activeTab === tab.id, "aria-controls": `${tab.id}-tabpanel`, id: `${tab.id}-tab-mobile`, onClick: () => setActiveTab(tab.id), className: `flex items-center gap-2 px-3 py-2 rounded-lg whitespace-nowrap text-sm transition-all ${activeTab === tab.id
|
|
186179
186292
|
? 'bg-blue-50 text-blue-600 font-medium'
|
|
@@ -191450,7 +191563,18 @@ const TabDescription = ({ icon, title, children }) => {
|
|
|
191450
191563
|
};
|
|
191451
191564
|
const Admin = ({ tenant, onInviteClick, hasUserTabPermission = false, hasGroupsTabPermission = false, hasRolesTabPermission = false, hasPoliciesTabPermission = false, hasTeamsTabPermission = false, hasAlertsTabPermission = false, hasInviteUserPermission = false, hasCreateTeamPermission = false, onLoadGroupPermissions, rbacPermissions = {}, enableRbac = false, showGradebookTab = false, currentSpa, authSpaUrl, onboardingBasePath, }) => {
|
|
191452
191565
|
const t = useT();
|
|
191453
|
-
|
|
191566
|
+
const { currentTenant } = useCurrentTenant();
|
|
191567
|
+
const storeRbacPermissions = useSelector(selectRbacPermissions);
|
|
191568
|
+
/**
|
|
191569
|
+
* A pure watcher administers nothing — Users is the only tab they get, and
|
|
191570
|
+
* `UsersTab` serves them the users they may watch rather than the tenant
|
|
191571
|
+
* roster. Their `/watchedgroups/#list` permission would otherwise open
|
|
191572
|
+
* Alerts and Teams, and Applications and Onboarding are ungated for
|
|
191573
|
+
* everyone else.
|
|
191574
|
+
*/
|
|
191575
|
+
const isWatcher = isPureWatcher(storeRbacPermissions, currentTenant);
|
|
191576
|
+
const showUsersTab = isWatcher || hasUserTabPermission;
|
|
191577
|
+
return (jsx("div", { className: "border border-gray-200 rounded-lg p-6", children: jsxs(Tabs, { defaultValue: "users", "aria-label": t('profileAdmin.rbacManagementTabsAriaLabel'), children: [jsxs(TabsList, { "aria-label": t('profileAdmin.managementTabsAriaLabel'), className: "max-w-full overflow-x-auto justify-start px-1", children: [showUsersTab && jsx(TabsTrigger, { value: "users", children: t('profileAdmin.usersTab') }), !isWatcher && hasGroupsTabPermission && (jsx(TabsTrigger, { value: "groups", children: t('profileAdmin.groupsTab') })), !isWatcher && hasRolesTabPermission && (jsx(TabsTrigger, { value: "roles", children: t('profileAdmin.rolesTab') })), !isWatcher && hasPoliciesTabPermission && (jsx(TabsTrigger, { value: "policies", children: t('profileAdmin.policiesTab') })), !isWatcher && hasTeamsTabPermission && (jsx(TabsTrigger, { value: "teams", children: t('profileAdmin.teamsTab') })), !isWatcher && hasAlertsTabPermission && (jsx(TabsTrigger, { value: "alerts", children: t('profileAdmin.alertsTab') })), !isWatcher && (jsx(TabsTrigger, { value: "applications", children: t('profileAdmin.applicationsTab') })), !isWatcher && (jsx(TabsTrigger, { value: "onboarding", children: t('profileAdmin.onboardingTab') }))] }), showUsersTab && (jsxs(TabsContent, { className: "mt-4", value: "users", children: [jsx(TabDescription, { icon: jsx(Users, { className: "w-5 h-5" }), title: t('profileAdmin.usersTab'), children: t('profileAdmin.usersDescription') }), jsx(UsersTab, { tenant: tenant, onInviteClick: onInviteClick, currentSpa: currentSpa, showGradebookTab: showGradebookTab })] })), !isWatcher && hasGroupsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "groups", children: [jsx(TabDescription, { icon: jsx(UsersRound, { className: "w-5 h-5" }), title: t('profileAdmin.groupsTab'), children: t('profileAdmin.groupsDescription') }), jsx(GroupsTab, { tenant: tenant })] })), !isWatcher && hasRolesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "roles", children: [jsx(TabDescription, { icon: jsx(UserCog, { className: "w-5 h-5" }), title: t('profileAdmin.rolesTab'), children: t('profileAdmin.rolesDescription') }), jsx(RolesTab, { tenant: tenant })] })), !isWatcher && hasPoliciesTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "policies", children: [jsx(TabDescription, { icon: jsx(ScrollText, { className: "w-5 h-5" }), title: t('profileAdmin.policiesTab'), children: t('profileAdmin.policiesDescription') }), jsx(PoliciesTab, { tenant: tenant })] })), !isWatcher && hasTeamsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "teams", children: [jsx(TabDescription, { icon: jsx(Shield, { className: "w-5 h-5" }), title: t('profileAdmin.teamsTab'), children: t('profileAdmin.teamsDescription') }), jsx(GroupsTab, { tenant: tenant, isTeam: true, onInviteClick: onInviteClick, hasInviteUserPermission: hasInviteUserPermission, hasCreateTeamPermission: hasCreateTeamPermission, onLoadGroupPermissions: onLoadGroupPermissions, rbacPermissions: rbacPermissions, enableRbac: enableRbac })] })), !isWatcher && hasAlertsTabPermission && (jsxs(TabsContent, { className: "mt-4", value: "alerts", children: [jsx(TabDescription, { icon: jsx(BellRing, { className: "w-5 h-5" }), title: t('profileAdmin.alertsTab'), children: t('profileAdmin.alertsDescription') }), jsx(AlertsTab$1, { tenant: tenant })] })), !isWatcher && (jsxs(TabsContent, { className: "mt-4", value: "applications", children: [jsx(TabDescription, { icon: jsx(ClipboardList, { className: "w-5 h-5" }), title: t('profileAdmin.applicationsTab'), children: t('profileAdmin.applicationsTabDescription') }), jsx(ApplicationsTab, { platformKey: tenant, authSpaUrl: authSpaUrl })] })), !isWatcher && (jsxs(TabsContent, { className: "mt-4", value: "onboarding", children: [jsx(TabDescription, { icon: jsx(UserPlus, { className: "w-5 h-5" }), title: t('profileAdmin.onboardingTab'), children: t('profileAdmin.onboardingTabDescription') }), jsx(OnboardingTab, { platformKey: tenant, onboardingBasePath: onboardingBasePath })] }))] }) }));
|
|
191454
191578
|
};
|
|
191455
191579
|
|
|
191456
191580
|
function DeleteApiModal({ isOpen, onClose, apiKey, tenantKey }) {
|