@iblai/iblai-js 1.25.2 → 1.25.3
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.
|
@@ -61101,11 +61101,16 @@ var clawSandboxAgentConfigPrompts$3 = {
|
|
|
61101
61101
|
updateSuccess: "{label} updated successfully",
|
|
61102
61102
|
updateError: "Failed to update {label}",
|
|
61103
61103
|
moreInfoAriaLabel: "More info about {label}",
|
|
61104
|
-
edit: "Edit"
|
|
61104
|
+
edit: "Edit",
|
|
61105
|
+
connectSandboxPrompt: "Connect a sandbox instance in the Sandbox tab to manage agent prompts.",
|
|
61106
|
+
enableSandboxPrompt: "Enable the dedicated sandbox on the Sandbox tab and connect it to an instance to manage agent prompts.",
|
|
61107
|
+
sandboxTabLabel: "Sandbox tab"
|
|
61105
61108
|
};
|
|
61106
61109
|
var clawSandboxAgentSkills$3 = {
|
|
61107
61110
|
loadingSkills: "Loading skills...",
|
|
61108
61111
|
connectSandboxPrompt: "Connect a sandbox instance in the Sandbox tab to manage skills.",
|
|
61112
|
+
enableSandboxPrompt: "Enable the dedicated sandbox on the Sandbox tab and connect it to an instance to manage skills.",
|
|
61113
|
+
sandboxTabLabel: "Sandbox tab",
|
|
61109
61114
|
newSkill: "New Skill",
|
|
61110
61115
|
noSkillsAvailable: "No skills available for this platform. Create one to get started.",
|
|
61111
61116
|
moreInfoAbout: "More info about {name}",
|
|
@@ -62624,6 +62629,11 @@ var privacyTabLabels$3 = {
|
|
|
62624
62629
|
title: "Privacy",
|
|
62625
62630
|
description: "Detect and filter personally identifiable information from chat messages."
|
|
62626
62631
|
},
|
|
62632
|
+
capability: {
|
|
62633
|
+
title: "PII filtering",
|
|
62634
|
+
description: "Automatically find and hide personal information — names, emails, phone numbers and more — in messages before the agent sees them. When on, choose what to detect and how to handle it below.",
|
|
62635
|
+
offHint: "Turn it on to detect and hide personal information in messages."
|
|
62636
|
+
},
|
|
62627
62637
|
fields: {
|
|
62628
62638
|
enableRouter: {
|
|
62629
62639
|
label: "Enable Privacy Router",
|
|
@@ -62635,12 +62645,14 @@ var privacyTabLabels$3 = {
|
|
|
62635
62645
|
options: {
|
|
62636
62646
|
redact: "Redact",
|
|
62637
62647
|
mask: "Mask",
|
|
62638
|
-
block: "Block"
|
|
62648
|
+
block: "Block",
|
|
62649
|
+
allow: "Allow"
|
|
62639
62650
|
},
|
|
62640
62651
|
descriptions: {
|
|
62641
62652
|
redact: "PII is replaced with its type — e.g. \"Email [EMAIL_ADDRESS]\".",
|
|
62642
62653
|
mask: "PII is hidden behind asterisks — e.g. \"Email ***********\".",
|
|
62643
|
-
block: "The message is rejected and your block message is shown to the user."
|
|
62654
|
+
block: "The message is rejected and your block message is shown to the user.",
|
|
62655
|
+
allow: "PII is detected but left untouched — the message passes through unchanged. Use this to monitor or audit personal information without altering messages."
|
|
62644
62656
|
}
|
|
62645
62657
|
},
|
|
62646
62658
|
blockMessage: {
|
|
@@ -63330,6 +63342,11 @@ var screenshareTabLabels$3 = {
|
|
|
63330
63342
|
title: "Screen Share",
|
|
63331
63343
|
description: "How your agent behaves when a user shares their screen during a voice call."
|
|
63332
63344
|
},
|
|
63345
|
+
capability: {
|
|
63346
|
+
title: "Screen sharing",
|
|
63347
|
+
description: "Let people share their screen during a voice call so the agent can see what they're doing and guide them step by step. When on, set the screen-sharing prompts below.",
|
|
63348
|
+
offHint: "Turn it on to let people share their screen during a call and edit these prompts."
|
|
63349
|
+
},
|
|
63333
63350
|
disabledHint: "Screen sharing is currently turned off for this agent. These prompts will be saved but only take effect once it’s turned on.",
|
|
63334
63351
|
fields: {
|
|
63335
63352
|
systemPrompt: {
|
|
@@ -64096,7 +64113,8 @@ var tabsVoiceTab$3 = {
|
|
|
64096
64113
|
var tasksTabLabels$3 = {
|
|
64097
64114
|
header: {
|
|
64098
64115
|
title: "Tasks",
|
|
64099
|
-
description: "Configure automated tasks for your agent."
|
|
64116
|
+
description: "Configure automated tasks for your agent.",
|
|
64117
|
+
infoBox: "Let your agent work on its own schedule. Set up recurring tasks it runs automatically — like daily summaries or reminders — without anyone having to ask."
|
|
64100
64118
|
},
|
|
64101
64119
|
toolbar: {
|
|
64102
64120
|
searchPlaceholder: "Search all tasks...",
|
|
@@ -64238,11 +64256,54 @@ var voiceTabCallConfigSection$3 = {
|
|
|
64238
64256
|
refreshingAriaLabel: "Refreshing",
|
|
64239
64257
|
moreInfoAbout: "More info about {label}"
|
|
64240
64258
|
};
|
|
64259
|
+
var analyticsTabLabels$3 = {
|
|
64260
|
+
header: {
|
|
64261
|
+
title: "Analytics",
|
|
64262
|
+
description: "Usage reports and insights for this agent."
|
|
64263
|
+
},
|
|
64264
|
+
infoBox: "See how this agent is being used — who's chatting with it, what they talk about, what it costs, and more. Pick a report below to dive in.",
|
|
64265
|
+
openAria: "Open {label}",
|
|
64266
|
+
tabs: {
|
|
64267
|
+
overview: {
|
|
64268
|
+
label: "Overview",
|
|
64269
|
+
description: "A high-level snapshot of usage and engagement over time."
|
|
64270
|
+
},
|
|
64271
|
+
users: {
|
|
64272
|
+
label: "Users",
|
|
64273
|
+
description: "See who's chatting with this agent and how active they are."
|
|
64274
|
+
},
|
|
64275
|
+
topics: {
|
|
64276
|
+
label: "Topics",
|
|
64277
|
+
description: "The subjects people bring up most across conversations."
|
|
64278
|
+
},
|
|
64279
|
+
transcripts: {
|
|
64280
|
+
label: "Transcripts",
|
|
64281
|
+
description: "Read full conversation transcripts message by message."
|
|
64282
|
+
},
|
|
64283
|
+
financial: {
|
|
64284
|
+
label: "Costs",
|
|
64285
|
+
description: "Track token usage and what this agent is costing you."
|
|
64286
|
+
},
|
|
64287
|
+
audit: {
|
|
64288
|
+
label: "Audit",
|
|
64289
|
+
description: "Review the log of changes and activity for this agent."
|
|
64290
|
+
},
|
|
64291
|
+
reports: {
|
|
64292
|
+
label: "Data Reports",
|
|
64293
|
+
description: "Generate and download detailed reports to share or archive."
|
|
64294
|
+
}
|
|
64295
|
+
}
|
|
64296
|
+
};
|
|
64241
64297
|
var voiceTabLabels$3 = {
|
|
64242
64298
|
header: {
|
|
64243
64299
|
title: "Voice",
|
|
64244
64300
|
description: "Choose the voice your agent uses and how voice calls work."
|
|
64245
64301
|
},
|
|
64302
|
+
capability: {
|
|
64303
|
+
title: "Voice calls",
|
|
64304
|
+
description: "Let people talk to this agent out loud and hear it reply, like a phone call. When on, pick the voice and fine-tune how calls behave below.",
|
|
64305
|
+
offHint: "Turn it on to let people start voice conversations with this agent."
|
|
64306
|
+
},
|
|
64246
64307
|
subTabs: {
|
|
64247
64308
|
voice: "Voice",
|
|
64248
64309
|
callConfig: "Voice call"
|
|
@@ -64490,6 +64551,13 @@ var ltiTabLabels$3 = {
|
|
|
64490
64551
|
title: "LTI",
|
|
64491
64552
|
description: "Manage LTI agent links, signing keys, tools, and platform endpoints."
|
|
64492
64553
|
},
|
|
64554
|
+
capability: {
|
|
64555
|
+
title: "LTI launches",
|
|
64556
|
+
description: "Let this agent be added to a Learning Management System (Canvas, Brightspace, Blackboard or Moodle) so students can open it right inside their course. When on, create the links, signing keys, and tools your LMS needs below.",
|
|
64557
|
+
offHint: "Turn it on to let this agent be embedded in an LMS and set up its links and keys.",
|
|
64558
|
+
toggleSuccess: "LTI setting updated",
|
|
64559
|
+
toggleError: "Couldn't update LTI setting"
|
|
64560
|
+
},
|
|
64493
64561
|
subTabs: {
|
|
64494
64562
|
agentLinks: "Links",
|
|
64495
64563
|
keys: "Keys",
|
|
@@ -64893,6 +64961,7 @@ var en = {
|
|
|
64893
64961
|
userProfileDropdownIndex: userProfileDropdownIndex$3,
|
|
64894
64962
|
version: version$4,
|
|
64895
64963
|
voiceTabCallConfigSection: voiceTabCallConfigSection$3,
|
|
64964
|
+
analyticsTabLabels: analyticsTabLabels$3,
|
|
64896
64965
|
voiceTabLabels: voiceTabLabels$3,
|
|
64897
64966
|
voiceTabVoicePicker: voiceTabVoicePicker$3,
|
|
64898
64967
|
welcomeChatConversationStarters: welcomeChatConversationStarters$3,
|
|
@@ -66411,11 +66480,16 @@ var clawSandboxAgentConfigPrompts$2 = {
|
|
|
66411
66480
|
updateSuccess: "{label} mis à jour avec succès",
|
|
66412
66481
|
updateError: "Échec de la mise à jour de {label}",
|
|
66413
66482
|
moreInfoAriaLabel: "Plus d'informations sur {label}",
|
|
66414
|
-
edit: "Modifier"
|
|
66483
|
+
edit: "Modifier",
|
|
66484
|
+
connectSandboxPrompt: "Connectez une instance de sandbox dans l'onglet Sandbox pour gérer les invites de l'agent.",
|
|
66485
|
+
enableSandboxPrompt: "Activez le bac à sable dédié dans l'onglet Sandbox et connectez-le à une instance pour gérer les invites de l'agent.",
|
|
66486
|
+
sandboxTabLabel: "onglet Sandbox"
|
|
66415
66487
|
};
|
|
66416
66488
|
var clawSandboxAgentSkills$2 = {
|
|
66417
66489
|
loadingSkills: "Chargement des compétences...",
|
|
66418
66490
|
connectSandboxPrompt: "Connectez une instance sandbox dans l'onglet Sandbox pour gérer les compétences.",
|
|
66491
|
+
enableSandboxPrompt: "Activez le bac à sable dédié dans l'onglet Sandbox et connectez-le à une instance pour gérer les compétences.",
|
|
66492
|
+
sandboxTabLabel: "onglet Sandbox",
|
|
66419
66493
|
newSkill: "Nouvelle compétence",
|
|
66420
66494
|
noSkillsAvailable: "Aucune compétence disponible pour cette plateforme. Créez-en une pour commencer.",
|
|
66421
66495
|
moreInfoAbout: "Plus d'informations sur {name}",
|
|
@@ -67934,6 +68008,11 @@ var privacyTabLabels$2 = {
|
|
|
67934
68008
|
title: "Confidentialité",
|
|
67935
68009
|
description: "Détectez et filtrez les informations personnellement identifiables des messages de chat."
|
|
67936
68010
|
},
|
|
68011
|
+
capability: {
|
|
68012
|
+
title: "Filtrage des données personnelles",
|
|
68013
|
+
description: "Détectez et masquez automatiquement les informations personnelles — noms, e-mails, numéros de téléphone et plus — dans les messages avant que l'agent ne les voie. Une fois activé, choisissez ci-dessous ce qu'il faut détecter et comment le traiter.",
|
|
68014
|
+
offHint: "Activez-le pour détecter et masquer les informations personnelles dans les messages."
|
|
68015
|
+
},
|
|
67937
68016
|
fields: {
|
|
67938
68017
|
enableRouter: {
|
|
67939
68018
|
label: "Activer le routeur de confidentialité",
|
|
@@ -67945,12 +68024,14 @@ var privacyTabLabels$2 = {
|
|
|
67945
68024
|
options: {
|
|
67946
68025
|
redact: "Masquer",
|
|
67947
68026
|
mask: "Flouter",
|
|
67948
|
-
block: "Bloquer"
|
|
68027
|
+
block: "Bloquer",
|
|
68028
|
+
allow: "Autoriser"
|
|
67949
68029
|
},
|
|
67950
68030
|
descriptions: {
|
|
67951
68031
|
redact: "Les PII sont remplacées par leur type — ex. \"Email [EMAIL_ADDRESS]\".",
|
|
67952
68032
|
mask: "Les PII sont masquées par des astérisques — ex. \"Email ***********\".",
|
|
67953
|
-
block: "Le message est rejeté et votre message de blocage est affiché à l'utilisateur."
|
|
68033
|
+
block: "Le message est rejeté et votre message de blocage est affiché à l'utilisateur.",
|
|
68034
|
+
allow: "Les PII sont détectées mais laissées intactes — le message passe sans modification. Utilisez cette option pour surveiller ou auditer les informations personnelles sans altérer les messages."
|
|
67954
68035
|
}
|
|
67955
68036
|
},
|
|
67956
68037
|
blockMessage: {
|
|
@@ -68640,6 +68721,11 @@ var screenshareTabLabels$2 = {
|
|
|
68640
68721
|
title: "Partage d’écran",
|
|
68641
68722
|
description: "Comment votre agent se comporte lorsqu’un utilisateur partage son écran pendant un appel vocal."
|
|
68642
68723
|
},
|
|
68724
|
+
capability: {
|
|
68725
|
+
title: "Partage d’écran",
|
|
68726
|
+
description: "Permettez aux utilisateurs de partager leur écran pendant un appel vocal afin que l'agent voie ce qu'ils font et les guide étape par étape. Une fois activé, définissez les invites de partage d'écran ci-dessous.",
|
|
68727
|
+
offHint: "Activez-le pour permettre le partage d'écran pendant un appel et modifier ces invites."
|
|
68728
|
+
},
|
|
68643
68729
|
disabledHint: "Le partage d’écran est actuellement désactivé pour cet agent. Ces invites seront enregistrées mais ne prendront effet qu’une fois activé.",
|
|
68644
68730
|
fields: {
|
|
68645
68731
|
systemPrompt: {
|
|
@@ -69406,7 +69492,8 @@ var tabsVoiceTab$2 = {
|
|
|
69406
69492
|
var tasksTabLabels$2 = {
|
|
69407
69493
|
header: {
|
|
69408
69494
|
title: "Tâches",
|
|
69409
|
-
description: "Configurez les tâches automatisées pour votre agent."
|
|
69495
|
+
description: "Configurez les tâches automatisées pour votre agent.",
|
|
69496
|
+
infoBox: "Laissez votre agent travailler selon son propre calendrier. Configurez des tâches récurrentes qu'il exécute automatiquement — comme des résumés quotidiens ou des rappels — sans que personne ait à le demander."
|
|
69410
69497
|
},
|
|
69411
69498
|
toolbar: {
|
|
69412
69499
|
searchPlaceholder: "Rechercher toutes les tâches...",
|
|
@@ -69548,11 +69635,54 @@ var voiceTabCallConfigSection$2 = {
|
|
|
69548
69635
|
refreshingAriaLabel: "Actualisation en cours",
|
|
69549
69636
|
moreInfoAbout: "Plus d'infos sur {label}"
|
|
69550
69637
|
};
|
|
69638
|
+
var analyticsTabLabels$2 = {
|
|
69639
|
+
header: {
|
|
69640
|
+
title: "Analytique",
|
|
69641
|
+
description: "Rapports d'utilisation et insights pour cet agent."
|
|
69642
|
+
},
|
|
69643
|
+
infoBox: "Découvrez comment cet agent est utilisé — qui discute avec lui, de quoi les gens parlent, combien il coûte, et plus encore. Choisissez un rapport ci-dessous pour approfondir.",
|
|
69644
|
+
openAria: "Ouvrir {label}",
|
|
69645
|
+
tabs: {
|
|
69646
|
+
overview: {
|
|
69647
|
+
label: "Vue d’ensemble",
|
|
69648
|
+
description: "Un aperçu global de l'utilisation et de l'engagement dans le temps."
|
|
69649
|
+
},
|
|
69650
|
+
users: {
|
|
69651
|
+
label: "Utilisateurs",
|
|
69652
|
+
description: "Voyez qui discute avec cet agent et à quel point ils sont actifs."
|
|
69653
|
+
},
|
|
69654
|
+
topics: {
|
|
69655
|
+
label: "Sujets",
|
|
69656
|
+
description: "Les sujets que les gens abordent le plus dans les conversations."
|
|
69657
|
+
},
|
|
69658
|
+
transcripts: {
|
|
69659
|
+
label: "Transcriptions",
|
|
69660
|
+
description: "Lisez les transcriptions complètes des conversations, message par message."
|
|
69661
|
+
},
|
|
69662
|
+
financial: {
|
|
69663
|
+
label: "Coûts",
|
|
69664
|
+
description: "Suivez l'utilisation des jetons et ce que cet agent vous coûte."
|
|
69665
|
+
},
|
|
69666
|
+
audit: {
|
|
69667
|
+
label: "Audit",
|
|
69668
|
+
description: "Consultez le journal des modifications et de l'activité de cet agent."
|
|
69669
|
+
},
|
|
69670
|
+
reports: {
|
|
69671
|
+
label: "Rapports de données",
|
|
69672
|
+
description: "Générez et téléchargez des rapports détaillés à partager ou à archiver."
|
|
69673
|
+
}
|
|
69674
|
+
}
|
|
69675
|
+
};
|
|
69551
69676
|
var voiceTabLabels$2 = {
|
|
69552
69677
|
header: {
|
|
69553
69678
|
title: "Voix",
|
|
69554
69679
|
description: "Choisissez la voix utilisée par votre agent et le fonctionnement des appels vocaux."
|
|
69555
69680
|
},
|
|
69681
|
+
capability: {
|
|
69682
|
+
title: "Appels vocaux",
|
|
69683
|
+
description: "Permettez aux utilisateurs de parler à cet agent à voix haute et d'entendre sa réponse, comme lors d'un appel téléphonique. Une fois activé, choisissez la voix et affinez le comportement des appels ci-dessous.",
|
|
69684
|
+
offHint: "Activez-le pour permettre aux utilisateurs de démarrer des conversations vocales avec cet agent."
|
|
69685
|
+
},
|
|
69556
69686
|
subTabs: {
|
|
69557
69687
|
voice: "Voix",
|
|
69558
69688
|
callConfig: "Appel vocal"
|
|
@@ -69800,6 +69930,13 @@ var ltiTabLabels$2 = {
|
|
|
69800
69930
|
title: "LTI",
|
|
69801
69931
|
description: "Gérez les liens LTI de l'agent, les clés de signature, les outils et les endpoints de la plateforme."
|
|
69802
69932
|
},
|
|
69933
|
+
capability: {
|
|
69934
|
+
title: "Lancements LTI",
|
|
69935
|
+
description: "Permettez d'ajouter cet agent à un système de gestion de l'apprentissage (Canvas, Brightspace, Blackboard ou Moodle) afin que les étudiants puissent l'ouvrir directement dans leur cours. Une fois activé, créez ci-dessous les liens, les clés de signature et les outils dont votre LMS a besoin.",
|
|
69936
|
+
offHint: "Activez-le pour permettre l'intégration de cet agent dans un LMS et configurer ses liens et ses clés.",
|
|
69937
|
+
toggleSuccess: "Paramètre LTI mis à jour",
|
|
69938
|
+
toggleError: "Impossible de mettre à jour le paramètre LTI"
|
|
69939
|
+
},
|
|
69803
69940
|
subTabs: {
|
|
69804
69941
|
agentLinks: "Liens",
|
|
69805
69942
|
keys: "Clés",
|
|
@@ -70203,6 +70340,7 @@ var fr = {
|
|
|
70203
70340
|
userProfileDropdownIndex: userProfileDropdownIndex$2,
|
|
70204
70341
|
version: version$3,
|
|
70205
70342
|
voiceTabCallConfigSection: voiceTabCallConfigSection$2,
|
|
70343
|
+
analyticsTabLabels: analyticsTabLabels$2,
|
|
70206
70344
|
voiceTabLabels: voiceTabLabels$2,
|
|
70207
70345
|
voiceTabVoicePicker: voiceTabVoicePicker$2,
|
|
70208
70346
|
welcomeChatConversationStarters: welcomeChatConversationStarters$2,
|
|
@@ -71721,11 +71859,16 @@ var clawSandboxAgentConfigPrompts$1 = {
|
|
|
71721
71859
|
updateSuccess: "{label} actualizado correctamente",
|
|
71722
71860
|
updateError: "Error al actualizar {label}",
|
|
71723
71861
|
moreInfoAriaLabel: "Más información sobre {label}",
|
|
71724
|
-
edit: "Editar"
|
|
71862
|
+
edit: "Editar",
|
|
71863
|
+
connectSandboxPrompt: "Conecta una instancia de sandbox en la pestaña Sandbox para gestionar las indicaciones del agente.",
|
|
71864
|
+
enableSandboxPrompt: "Activa el sandbox dedicado en la pestaña Sandbox y conéctalo a una instancia para gestionar las indicaciones del agente.",
|
|
71865
|
+
sandboxTabLabel: "pestaña Sandbox"
|
|
71725
71866
|
};
|
|
71726
71867
|
var clawSandboxAgentSkills$1 = {
|
|
71727
71868
|
loadingSkills: "Cargando habilidades...",
|
|
71728
71869
|
connectSandboxPrompt: "Conecta una instancia de sandbox en la pestaña Sandbox para gestionar habilidades.",
|
|
71870
|
+
enableSandboxPrompt: "Activa el sandbox dedicado en la pestaña Sandbox y conéctalo a una instancia para gestionar habilidades.",
|
|
71871
|
+
sandboxTabLabel: "pestaña Sandbox",
|
|
71729
71872
|
newSkill: "Nueva habilidad",
|
|
71730
71873
|
noSkillsAvailable: "No hay habilidades disponibles para esta plataforma. Crea una para empezar.",
|
|
71731
71874
|
moreInfoAbout: "Más información sobre {name}",
|
|
@@ -73244,6 +73387,11 @@ var privacyTabLabels$1 = {
|
|
|
73244
73387
|
title: "Privacidad",
|
|
73245
73388
|
description: "Detecta y filtra información de identificación personal de los mensajes del chat."
|
|
73246
73389
|
},
|
|
73390
|
+
capability: {
|
|
73391
|
+
title: "Filtrado de datos personales",
|
|
73392
|
+
description: "Detecta y oculta automáticamente la información personal — nombres, correos, números de teléfono y más — en los mensajes antes de que el agente los vea. Cuando esté activado, elige a continuación qué detectar y cómo tratarlo.",
|
|
73393
|
+
offHint: "Actívalo para detectar y ocultar la información personal en los mensajes."
|
|
73394
|
+
},
|
|
73247
73395
|
fields: {
|
|
73248
73396
|
enableRouter: {
|
|
73249
73397
|
label: "Activar enrutador de privacidad",
|
|
@@ -73255,12 +73403,14 @@ var privacyTabLabels$1 = {
|
|
|
73255
73403
|
options: {
|
|
73256
73404
|
redact: "Redactar",
|
|
73257
73405
|
mask: "Enmascarar",
|
|
73258
|
-
block: "Bloquear"
|
|
73406
|
+
block: "Bloquear",
|
|
73407
|
+
allow: "Permitir"
|
|
73259
73408
|
},
|
|
73260
73409
|
descriptions: {
|
|
73261
73410
|
redact: "La PII se reemplaza por su tipo — ej. \"Email [EMAIL_ADDRESS]\".",
|
|
73262
73411
|
mask: "La PII se oculta con asteriscos — ej. \"Email ***********\".",
|
|
73263
|
-
block: "El mensaje es rechazado y se muestra al usuario el mensaje de bloqueo."
|
|
73412
|
+
block: "El mensaje es rechazado y se muestra al usuario el mensaje de bloqueo.",
|
|
73413
|
+
allow: "La PII se detecta pero se deja intacta — el mensaje pasa sin cambios. Use esta opción para supervisar o auditar la información personal sin alterar los mensajes."
|
|
73264
73414
|
}
|
|
73265
73415
|
},
|
|
73266
73416
|
blockMessage: {
|
|
@@ -73950,6 +74100,11 @@ var screenshareTabLabels$1 = {
|
|
|
73950
74100
|
title: "Pantalla compartida",
|
|
73951
74101
|
description: "Cómo se comporta tu agente cuando un usuario comparte su pantalla durante una llamada de voz."
|
|
73952
74102
|
},
|
|
74103
|
+
capability: {
|
|
74104
|
+
title: "Pantalla compartida",
|
|
74105
|
+
description: "Permite que las personas compartan su pantalla durante una llamada de voz para que el agente vea lo que hacen y las guíe paso a paso. Cuando esté activado, define las indicaciones de pantalla compartida a continuación.",
|
|
74106
|
+
offHint: "Actívalo para permitir compartir la pantalla durante una llamada y editar estas indicaciones."
|
|
74107
|
+
},
|
|
73953
74108
|
disabledHint: "El uso compartido de pantalla está actualmente desactivado para este agente. Estas instrucciones se guardarán, pero solo surtirán efecto una vez que se active.",
|
|
73954
74109
|
fields: {
|
|
73955
74110
|
systemPrompt: {
|
|
@@ -74716,7 +74871,8 @@ var tabsVoiceTab$1 = {
|
|
|
74716
74871
|
var tasksTabLabels$1 = {
|
|
74717
74872
|
header: {
|
|
74718
74873
|
title: "Tareas",
|
|
74719
|
-
description: "Configure las tareas automatizadas para su agente."
|
|
74874
|
+
description: "Configure las tareas automatizadas para su agente.",
|
|
74875
|
+
infoBox: "Deja que tu agente trabaje según su propio calendario. Configura tareas recurrentes que ejecuta automáticamente —como resúmenes diarios o recordatorios— sin que nadie tenga que pedírselo."
|
|
74720
74876
|
},
|
|
74721
74877
|
toolbar: {
|
|
74722
74878
|
searchPlaceholder: "Buscar todas las tareas...",
|
|
@@ -74858,11 +75014,54 @@ var voiceTabCallConfigSection$1 = {
|
|
|
74858
75014
|
refreshingAriaLabel: "Actualizando",
|
|
74859
75015
|
moreInfoAbout: "Más información sobre {label}"
|
|
74860
75016
|
};
|
|
75017
|
+
var analyticsTabLabels$1 = {
|
|
75018
|
+
header: {
|
|
75019
|
+
title: "Analíticas",
|
|
75020
|
+
description: "Informes de uso e insights para este agente."
|
|
75021
|
+
},
|
|
75022
|
+
infoBox: "Descubre cómo se usa este agente: quién chatea con él, de qué hablan, cuánto cuesta y más. Elige un informe a continuación para profundizar.",
|
|
75023
|
+
openAria: "Abrir {label}",
|
|
75024
|
+
tabs: {
|
|
75025
|
+
overview: {
|
|
75026
|
+
label: "Resumen",
|
|
75027
|
+
description: "Una vista general del uso y la participación a lo largo del tiempo."
|
|
75028
|
+
},
|
|
75029
|
+
users: {
|
|
75030
|
+
label: "Usuarios",
|
|
75031
|
+
description: "Mira quién chatea con este agente y qué tan activos son."
|
|
75032
|
+
},
|
|
75033
|
+
topics: {
|
|
75034
|
+
label: "Temas",
|
|
75035
|
+
description: "Los temas que la gente menciona más en las conversaciones."
|
|
75036
|
+
},
|
|
75037
|
+
transcripts: {
|
|
75038
|
+
label: "Transcripciones",
|
|
75039
|
+
description: "Lee las transcripciones completas de las conversaciones, mensaje a mensaje."
|
|
75040
|
+
},
|
|
75041
|
+
financial: {
|
|
75042
|
+
label: "Costos",
|
|
75043
|
+
description: "Controla el uso de tokens y lo que te cuesta este agente."
|
|
75044
|
+
},
|
|
75045
|
+
audit: {
|
|
75046
|
+
label: "Auditoría",
|
|
75047
|
+
description: "Revisa el registro de cambios y actividad de este agente."
|
|
75048
|
+
},
|
|
75049
|
+
reports: {
|
|
75050
|
+
label: "Informes de datos",
|
|
75051
|
+
description: "Genera y descarga informes detallados para compartir o archivar."
|
|
75052
|
+
}
|
|
75053
|
+
}
|
|
75054
|
+
};
|
|
74861
75055
|
var voiceTabLabels$1 = {
|
|
74862
75056
|
header: {
|
|
74863
75057
|
title: "Voz",
|
|
74864
75058
|
description: "Elige la voz que usa tu agente y cómo funcionan las llamadas de voz."
|
|
74865
75059
|
},
|
|
75060
|
+
capability: {
|
|
75061
|
+
title: "Llamadas de voz",
|
|
75062
|
+
description: "Permite que las personas hablen con este agente en voz alta y escuchen su respuesta, como en una llamada telefónica. Cuando esté activado, elige la voz y ajusta el comportamiento de las llamadas a continuación.",
|
|
75063
|
+
offHint: "Actívalo para permitir que las personas inicien conversaciones de voz con este agente."
|
|
75064
|
+
},
|
|
74866
75065
|
subTabs: {
|
|
74867
75066
|
voice: "Voz",
|
|
74868
75067
|
callConfig: "Llamada de voz"
|
|
@@ -75110,6 +75309,13 @@ var ltiTabLabels$1 = {
|
|
|
75110
75309
|
title: "LTI",
|
|
75111
75310
|
description: "Gestiona los enlaces LTI del agente, las claves de firma, las herramientas y los endpoints de la plataforma."
|
|
75112
75311
|
},
|
|
75312
|
+
capability: {
|
|
75313
|
+
title: "Lanzamientos LTI",
|
|
75314
|
+
description: "Permite añadir este agente a un sistema de gestión del aprendizaje (Canvas, Brightspace, Blackboard o Moodle) para que los estudiantes puedan abrirlo directamente en su curso. Cuando esté activado, crea a continuación los enlaces, las claves de firma y las herramientas que necesita tu LMS.",
|
|
75315
|
+
offHint: "Actívalo para permitir que este agente se integre en un LMS y configurar sus enlaces y claves.",
|
|
75316
|
+
toggleSuccess: "Ajuste de LTI actualizado",
|
|
75317
|
+
toggleError: "No se pudo actualizar el ajuste de LTI"
|
|
75318
|
+
},
|
|
75113
75319
|
subTabs: {
|
|
75114
75320
|
agentLinks: "Enlaces",
|
|
75115
75321
|
keys: "Claves",
|
|
@@ -75513,6 +75719,7 @@ var es = {
|
|
|
75513
75719
|
userProfileDropdownIndex: userProfileDropdownIndex$1,
|
|
75514
75720
|
version: version$2,
|
|
75515
75721
|
voiceTabCallConfigSection: voiceTabCallConfigSection$1,
|
|
75722
|
+
analyticsTabLabels: analyticsTabLabels$1,
|
|
75516
75723
|
voiceTabLabels: voiceTabLabels$1,
|
|
75517
75724
|
voiceTabVoicePicker: voiceTabVoicePicker$1,
|
|
75518
75725
|
welcomeChatConversationStarters: welcomeChatConversationStarters$1,
|
|
@@ -77031,11 +77238,16 @@ var clawSandboxAgentConfigPrompts = {
|
|
|
77031
77238
|
updateSuccess: "{label} 更新成功",
|
|
77032
77239
|
updateError: "更新 {label} 失败",
|
|
77033
77240
|
moreInfoAriaLabel: "关于 {label} 的更多信息",
|
|
77034
|
-
edit: "编辑"
|
|
77241
|
+
edit: "编辑",
|
|
77242
|
+
connectSandboxPrompt: "在沙盒选项卡中连接沙盒实例以管理智能体提示词。",
|
|
77243
|
+
enableSandboxPrompt: "在沙盒选项卡中启用专用沙盒并连接到实例,以管理智能体提示词。",
|
|
77244
|
+
sandboxTabLabel: "沙盒选项卡"
|
|
77035
77245
|
};
|
|
77036
77246
|
var clawSandboxAgentSkills = {
|
|
77037
77247
|
loadingSkills: "正在加载技能...",
|
|
77038
77248
|
connectSandboxPrompt: "在 Sandbox 标签页中连接一个 sandbox 实例以管理技能。",
|
|
77249
|
+
enableSandboxPrompt: "在 Sandbox 标签页中启用专用沙盒并连接到实例,以管理技能。",
|
|
77250
|
+
sandboxTabLabel: "Sandbox 标签页",
|
|
77039
77251
|
newSkill: "新建技能",
|
|
77040
77252
|
noSkillsAvailable: "该平台暂无可用技能。创建一个以开始使用。",
|
|
77041
77253
|
moreInfoAbout: "关于 {name} 的更多信息",
|
|
@@ -78554,6 +78766,11 @@ var privacyTabLabels = {
|
|
|
78554
78766
|
title: "隐私",
|
|
78555
78767
|
description: "检测并过滤聊天消息中的个人身份信息。"
|
|
78556
78768
|
},
|
|
78769
|
+
capability: {
|
|
78770
|
+
title: "个人信息过滤",
|
|
78771
|
+
description: "在智能体看到消息之前,自动查找并隐藏其中的个人信息——姓名、电子邮件、电话号码等。开启后,可在下方选择要检测的内容及处理方式。",
|
|
78772
|
+
offHint: "开启后可检测并隐藏消息中的个人信息。"
|
|
78773
|
+
},
|
|
78557
78774
|
fields: {
|
|
78558
78775
|
enableRouter: {
|
|
78559
78776
|
label: "启用隐私路由",
|
|
@@ -78565,12 +78782,14 @@ var privacyTabLabels = {
|
|
|
78565
78782
|
options: {
|
|
78566
78783
|
redact: "编辑",
|
|
78567
78784
|
mask: "遮蔽",
|
|
78568
|
-
block: "拦截"
|
|
78785
|
+
block: "拦截",
|
|
78786
|
+
allow: "允许"
|
|
78569
78787
|
},
|
|
78570
78788
|
descriptions: {
|
|
78571
78789
|
redact: "PII 将被替换为其类型,例如:「Email [EMAIL_ADDRESS]」。",
|
|
78572
78790
|
mask: "PII 将被星号隐藏,例如:「Email ***********」。",
|
|
78573
|
-
block: "消息将被拒绝,并向用户显示您的拦截消息。"
|
|
78791
|
+
block: "消息将被拒绝,并向用户显示您的拦截消息。",
|
|
78792
|
+
allow: "检测到 PII 但不做处理——消息将原样通过。适用于在不修改消息的情况下监控或审计个人信息。"
|
|
78574
78793
|
}
|
|
78575
78794
|
},
|
|
78576
78795
|
blockMessage: {
|
|
@@ -79260,6 +79479,11 @@ var screenshareTabLabels = {
|
|
|
79260
79479
|
title: "屏幕共享",
|
|
79261
79480
|
description: "当用户在语音通话中共享屏幕时,您的智能体的表现方式。"
|
|
79262
79481
|
},
|
|
79482
|
+
capability: {
|
|
79483
|
+
title: "屏幕共享",
|
|
79484
|
+
description: "允许用户在语音通话中共享屏幕,以便智能体看到他们的操作并逐步引导。开启后,可在下方设置屏幕共享提示词。",
|
|
79485
|
+
offHint: "开启后可允许在通话中共享屏幕并编辑这些提示词。"
|
|
79486
|
+
},
|
|
79263
79487
|
disabledHint: "屏幕共享当前已为该智能体关闭。这些提示将被保存,但开启后才会生效。",
|
|
79264
79488
|
fields: {
|
|
79265
79489
|
systemPrompt: {
|
|
@@ -80026,7 +80250,8 @@ var tabsVoiceTab = {
|
|
|
80026
80250
|
var tasksTabLabels = {
|
|
80027
80251
|
header: {
|
|
80028
80252
|
title: "任务",
|
|
80029
|
-
description: "为您的智能体配置自动化任务。"
|
|
80253
|
+
description: "为您的智能体配置自动化任务。",
|
|
80254
|
+
infoBox: "让您的智能体按自己的日程工作。设置它自动运行的周期性任务——例如每日摘要或提醒——无需任何人主动提出。"
|
|
80030
80255
|
},
|
|
80031
80256
|
toolbar: {
|
|
80032
80257
|
searchPlaceholder: "搜索所有任务...",
|
|
@@ -80168,11 +80393,54 @@ var voiceTabCallConfigSection = {
|
|
|
80168
80393
|
refreshingAriaLabel: "刷新中",
|
|
80169
80394
|
moreInfoAbout: "关于 {label} 的更多信息"
|
|
80170
80395
|
};
|
|
80396
|
+
var analyticsTabLabels = {
|
|
80397
|
+
header: {
|
|
80398
|
+
title: "分析",
|
|
80399
|
+
description: "该智能体的使用报告和数据洞察。"
|
|
80400
|
+
},
|
|
80401
|
+
infoBox: "了解该智能体的使用情况——谁在与它对话、大家在谈论什么、花费多少等等。在下方选择一份报告即可深入查看。",
|
|
80402
|
+
openAria: "打开{label}",
|
|
80403
|
+
tabs: {
|
|
80404
|
+
overview: {
|
|
80405
|
+
label: "概览",
|
|
80406
|
+
description: "随时间变化的使用情况和参与度的总体快照。"
|
|
80407
|
+
},
|
|
80408
|
+
users: {
|
|
80409
|
+
label: "用户",
|
|
80410
|
+
description: "查看谁在与该智能体对话以及他们的活跃程度。"
|
|
80411
|
+
},
|
|
80412
|
+
topics: {
|
|
80413
|
+
label: "主题",
|
|
80414
|
+
description: "对话中人们最常提及的主题。"
|
|
80415
|
+
},
|
|
80416
|
+
transcripts: {
|
|
80417
|
+
label: "对话记录",
|
|
80418
|
+
description: "逐条阅读完整的对话记录。"
|
|
80419
|
+
},
|
|
80420
|
+
financial: {
|
|
80421
|
+
label: "费用",
|
|
80422
|
+
description: "跟踪令牌用量以及该智能体的花费。"
|
|
80423
|
+
},
|
|
80424
|
+
audit: {
|
|
80425
|
+
label: "审计",
|
|
80426
|
+
description: "查看该智能体的更改和活动日志。"
|
|
80427
|
+
},
|
|
80428
|
+
reports: {
|
|
80429
|
+
label: "数据报告",
|
|
80430
|
+
description: "生成并下载详细报告以供分享或存档。"
|
|
80431
|
+
}
|
|
80432
|
+
}
|
|
80433
|
+
};
|
|
80171
80434
|
var voiceTabLabels = {
|
|
80172
80435
|
header: {
|
|
80173
80436
|
title: "语音",
|
|
80174
80437
|
description: "选择您的智能体使用的声音以及语音通话的工作方式。"
|
|
80175
80438
|
},
|
|
80439
|
+
capability: {
|
|
80440
|
+
title: "语音通话",
|
|
80441
|
+
description: "让用户可以与该智能体语音交谈并听到其回复,就像打电话一样。开启后,可在下方选择声音并微调通话行为。",
|
|
80442
|
+
offHint: "开启后可让用户与该智能体开始语音对话。"
|
|
80443
|
+
},
|
|
80176
80444
|
subTabs: {
|
|
80177
80445
|
voice: "语音",
|
|
80178
80446
|
callConfig: "语音通话"
|
|
@@ -80420,6 +80688,13 @@ var ltiTabLabels = {
|
|
|
80420
80688
|
title: "LTI",
|
|
80421
80689
|
description: "管理此智能体的 LTI 链接、签名密钥、工具和平台端点。"
|
|
80422
80690
|
},
|
|
80691
|
+
capability: {
|
|
80692
|
+
title: "LTI 启动",
|
|
80693
|
+
description: "允许将此智能体添加到学习管理系统(Canvas、Brightspace、Blackboard 或 Moodle),以便学生可以直接在课程中打开它。开启后,可在下方创建您的 LMS 所需的链接、签名密钥和工具。",
|
|
80694
|
+
offHint: "开启后可将此智能体嵌入 LMS 并设置其链接和密钥。",
|
|
80695
|
+
toggleSuccess: "LTI 设置已更新",
|
|
80696
|
+
toggleError: "无法更新 LTI 设置"
|
|
80697
|
+
},
|
|
80423
80698
|
subTabs: {
|
|
80424
80699
|
agentLinks: "链接",
|
|
80425
80700
|
keys: "密钥",
|
|
@@ -80823,6 +81098,7 @@ var zh = {
|
|
|
80823
81098
|
userProfileDropdownIndex: userProfileDropdownIndex,
|
|
80824
81099
|
version: version$1,
|
|
80825
81100
|
voiceTabCallConfigSection: voiceTabCallConfigSection,
|
|
81101
|
+
analyticsTabLabels: analyticsTabLabels,
|
|
80826
81102
|
voiceTabLabels: voiceTabLabels,
|
|
80827
81103
|
voiceTabVoicePicker: voiceTabVoicePicker,
|
|
80828
81104
|
welcomeChatConversationStarters: welcomeChatConversationStarters,
|
|
@@ -222278,30 +222554,21 @@ function SandboxConfig({ platformKey, mentorUniqueId, username }) {
|
|
|
222278
222554
|
? t('clawSandboxSandboxConfig.noInstancesMatchSearch')
|
|
222279
222555
|
: t('clawSandboxSandboxConfig.noInstancesAvailable') }) })) : (pagedInstances.map((inst) => {
|
|
222280
222556
|
var _a;
|
|
222281
|
-
return (jsxs(TableRow, { className: "border-b last:border-0", children: [jsx(TableCell, { className: "p-3 font-medium whitespace-nowrap text-[#646464]", children: inst.name }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464] truncate max-w-[250px]", children: jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { className: "text-blue-600 hover:text-blue-800 cursor-default", children: inst.server_url }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium text-white shadow-sm", children: jsx("p", { children: inst.server_url }) })] }) }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: inst.claw_type }), jsx(TableCell, { className: "p-3 whitespace-nowrap", children: jsx(StatusDot, { value: inst.status, kind: "status" }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap", children: jsx(StatusDot, { value: inst.last_health_status, kind: "health" }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: (_a = inst.claw_version) !== null && _a !== void 0 ? _a : '—' }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: timeAgo(inst.last_health_check, t('clawSandboxSandboxConfig.never')) }), jsx(TableCell, { className: "p-3 text-right", children:
|
|
222282
|
-
|
|
222283
|
-
|
|
222284
|
-
|
|
222285
|
-
|
|
222286
|
-
|
|
222287
|
-
|
|
222288
|
-
|
|
222289
|
-
|
|
222290
|
-
|
|
222291
|
-
|
|
222292
|
-
|
|
222293
|
-
|
|
222294
|
-
|
|
222295
|
-
|
|
222296
|
-
e.preventDefault();
|
|
222297
|
-
return;
|
|
222298
|
-
}
|
|
222299
|
-
handleConnect(inst.id);
|
|
222300
|
-
}, children: [jsx(Link2, { className: "mr-2 h-4 w-4" }), t('clawSandboxSandboxConfig.connect')] }));
|
|
222301
|
-
if (!unhealthy)
|
|
222302
|
-
return connectItem;
|
|
222303
|
-
return (jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: connectItem }), jsx(TooltipContent, { side: "left", collisionPadding: 12, className: "max-w-[260px] whitespace-normal break-words rounded-lg bg-gray-700 px-3 py-2 text-xs font-medium leading-snug text-white shadow-sm", children: t('clawSandboxSandboxConfig.instanceUnhealthyTooltip') })] }) }));
|
|
222304
|
-
})(), jsxs(DropdownMenuItem, { className: "cursor-pointer", onClick: () => runInstanceChecks(inst.id), disabled: checkingInstanceId !== null, children: [checkingInstanceId === inst.id ? (jsx(LoaderCircle, { className: "mr-2 h-4 w-4 animate-spin" })) : (jsx(Activity, { className: "mr-2 h-4 w-4" })), t('clawSandboxSandboxConfig.runChecks')] }), jsxs(DropdownMenuItem, { className: "cursor-pointer", onClick: () => setEditingInstance(inst), children: [jsx(Pen, { className: "mr-2 h-4 w-4" }), t('clawSandboxSandboxConfig.edit')] }), jsxs(DropdownMenuItem, { variant: "destructive", className: "cursor-pointer", onClick: () => setDeletingInstanceId(inst.id), children: [jsx(Trash2, { className: "mr-2 h-4 w-4" }), t('clawSandboxSandboxConfig.delete')] })] })] }) })] }, inst.id));
|
|
222557
|
+
return (jsxs(TableRow, { className: "border-b last:border-0", children: [jsx(TableCell, { className: "p-3 font-medium whitespace-nowrap text-[#646464]", children: inst.name }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464] truncate max-w-[250px]", children: jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { className: "text-blue-600 hover:text-blue-800 cursor-default", children: inst.server_url }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium text-white shadow-sm", children: jsx("p", { children: inst.server_url }) })] }) }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: inst.claw_type }), jsx(TableCell, { className: "p-3 whitespace-nowrap", children: jsx(StatusDot, { value: inst.status, kind: "status" }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap", children: jsx(StatusDot, { value: inst.last_health_status, kind: "health" }) }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: (_a = inst.claw_version) !== null && _a !== void 0 ? _a : '—' }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: timeAgo(inst.last_health_check, t('clawSandboxSandboxConfig.never')) }), jsx(TableCell, { className: "p-3 text-right", children: (() => {
|
|
222558
|
+
const unhealthy = isInstanceUnhealthy(inst.status);
|
|
222559
|
+
const isThisConnecting = connectingInstanceId === inst.id;
|
|
222560
|
+
const connectDisabled = unhealthy || isCreating || connectingInstanceId !== null;
|
|
222561
|
+
// Surfaced as a first-class button (not tucked in the
|
|
222562
|
+
// three-dot menu) so connecting is one click. A
|
|
222563
|
+
// disabled button swallows pointer events, so wrap it
|
|
222564
|
+
// in a span when we need the unhealthy tooltip to show.
|
|
222565
|
+
const connectButton = (jsxs(Button$1, { variant: "outline", size: "sm", className: "cursor-pointer", disabled: connectDisabled, onClick: () => handleConnect(inst.id), "aria-label": isThisConnecting
|
|
222566
|
+
? t('clawSandboxSandboxConfig.connectingInstance')
|
|
222567
|
+
: t('clawSandboxSandboxConfig.connect'), "data-testid": `connect-instance-${inst.id}`, children: [isThisConnecting ? (jsx(LoaderCircle, { className: "mr-2 h-4 w-4 animate-spin" })) : (jsx(Link2, { className: "mr-2 h-4 w-4" })), isThisConnecting
|
|
222568
|
+
? t('clawSandboxSandboxConfig.connecting')
|
|
222569
|
+
: t('clawSandboxSandboxConfig.connect')] }));
|
|
222570
|
+
return (jsxs("div", { className: "flex items-center justify-end gap-2", children: [unhealthy ? (jsx(TooltipProvider, { children: jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { tabIndex: 0, children: connectButton }) }), jsx(TooltipContent, { side: "left", collisionPadding: 12, className: "max-w-[260px] rounded-lg bg-gray-700 px-3 py-2 text-xs leading-snug font-medium break-words whitespace-normal text-white shadow-sm", children: t('clawSandboxSandboxConfig.instanceUnhealthyTooltip') })] }) })) : (connectButton), jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs(Button$1, { variant: "ghost", size: "sm", "aria-label": t('clawSandboxSandboxConfig.actions'), children: [jsx(Ellipsis, { className: "h-4 w-4" }), jsx("span", { className: "sr-only", children: t('clawSandboxSandboxConfig.actions') })] }) }), jsxs(DropdownMenuContent, { align: "end", children: [jsxs(DropdownMenuItem, { className: "cursor-pointer", onClick: () => runInstanceChecks(inst.id), disabled: checkingInstanceId !== null, children: [checkingInstanceId === inst.id ? (jsx(LoaderCircle, { className: "mr-2 h-4 w-4 animate-spin" })) : (jsx(Activity, { className: "mr-2 h-4 w-4" })), t('clawSandboxSandboxConfig.runChecks')] }), jsxs(DropdownMenuItem, { className: "cursor-pointer", onClick: () => setEditingInstance(inst), children: [jsx(Pen, { className: "mr-2 h-4 w-4" }), t('clawSandboxSandboxConfig.edit')] }), jsxs(DropdownMenuItem, { variant: "destructive", className: "cursor-pointer", onClick: () => setDeletingInstanceId(inst.id), children: [jsx(Trash2, { className: "mr-2 h-4 w-4" }), t('clawSandboxSandboxConfig.delete')] })] })] })] }));
|
|
222571
|
+
})() })] }, inst.id));
|
|
222305
222572
|
})) })] }) }) }) }), jsx(IblPagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: setCurrentPage, disabled: false }), jsx(OverlayModal, { open: showNewInstanceForm, onClose: () => setShowNewInstanceForm(false), title: t('clawSandboxSandboxConfig.newInstanceTitle'), className: "max-w-lg", children: jsxs("div", { className: "grid gap-4", children: [jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "new-instance-name", className: "text-sm font-medium text-[#646464]", children: t('clawSandboxSandboxConfig.fieldName') }), jsx(Input, { id: "new-instance-name", name: "new-instance-name", value: newInstance.name, onChange: (e) => setNewInstance({ ...newInstance, name: e.target.value }), placeholder: t('clawSandboxSandboxConfig.namePlaceholder'), className: "py-6" })] }), jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "new-instance-type", className: "text-sm font-medium text-[#646464]", children: t('clawSandboxSandboxConfig.fieldType') }), jsxs(Select$1, { value: newInstance.claw_type, onValueChange: (value) => setNewInstance({ ...newInstance, claw_type: value }), children: [jsx(SelectTrigger, { id: "new-instance-type", className: "py-6", children: jsx(SelectValue, {}) }), jsxs(SelectContent, { children: [jsx(SelectItem, { value: "openclaw", children: "OpenClaw" }), jsx(SelectItem, { value: "ironclaw", children: "IronClaw" })] })] })] }), jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "new-instance-url", className: "text-sm font-medium text-[#646464]", children: t('clawSandboxSandboxConfig.fieldServerUrl') }), jsx(Input, { id: "new-instance-url", name: "new-instance-url", value: newInstance.server_url, onChange: (e) => setNewInstance({ ...newInstance, server_url: e.target.value }), placeholder: t('clawSandboxSandboxConfig.serverUrlPlaceholder'), className: "py-6" })] }), jsxs("div", { className: "space-y-2", children: [jsx(Label$2, { htmlFor: "new-instance-token", className: "text-sm font-medium text-[#646464]", children: t('clawSandboxSandboxConfig.fieldGatewayToken') }), jsx(Input, { id: "new-instance-token", name: "new-instance-token", value: newInstance.gateway_token, onChange: (e) => setNewInstance({ ...newInstance, gateway_token: e.target.value }), placeholder: t('clawSandboxSandboxConfig.gatewayTokenPlaceholder'), type: "password", className: "py-6", required: true })] }), jsxs("div", { className: "flex justify-end gap-2 pt-2", children: [jsx(Button$1, { variant: "outline", onClick: () => setShowNewInstanceForm(false), children: t('clawSandboxSandboxConfig.cancel') }), jsx(Button$1, { onClick: handleCreateInstance, disabled: isCreatingInstance ||
|
|
222306
222573
|
!newInstance.name ||
|
|
222307
222574
|
!newInstance.server_url ||
|
|
@@ -222471,12 +222738,14 @@ function AgentConfigPrompts({ platformKey, mentorUniqueId }) {
|
|
|
222471
222738
|
if (isLoading) {
|
|
222472
222739
|
return (jsx("div", { className: "flex items-center justify-center py-10", children: jsx(LoaderCircle, { className: "h-5 w-5 animate-spin text-blue-500" }) }));
|
|
222473
222740
|
}
|
|
222474
|
-
//
|
|
222475
|
-
//
|
|
222741
|
+
// Agent config prompts only apply once a Claw instance is connected. The
|
|
222742
|
+
// host (Prompts tab) already only renders this section for a connected
|
|
222743
|
+
// sandbox, but we guard here too so the component is safe to drop in
|
|
222744
|
+
// anywhere.
|
|
222476
222745
|
if (!isSandboxActive) {
|
|
222477
222746
|
return null;
|
|
222478
222747
|
}
|
|
222479
|
-
return (jsxs(Fragment$1, { children: [jsx("div", { className: "space-y-6", children: AGENT_WORKSPACE_FIELDS.map(({ key, labelKey, descriptionKey }) => {
|
|
222748
|
+
return (jsxs(Fragment$1, { children: [jsx("div", { className: "space-y-6", "data-testid": "agent-config-prompts-fields", children: AGENT_WORKSPACE_FIELDS.map(({ key, labelKey, descriptionKey }) => {
|
|
222480
222749
|
var _a;
|
|
222481
222750
|
const label = t(labelKey);
|
|
222482
222751
|
const description = t(descriptionKey);
|
|
@@ -222495,11 +222764,16 @@ const EMPTY_SKILL_FORM = {
|
|
|
222495
222764
|
function AgentSkills({ platformKey, mentorUniqueId }) {
|
|
222496
222765
|
var _a;
|
|
222497
222766
|
const t = useT();
|
|
222498
|
-
//
|
|
222499
|
-
|
|
222500
|
-
|
|
222501
|
-
const { data: availableSkills, isLoading: isLoadingSkills } = useGetAgentSkillsQuery({
|
|
222502
|
-
|
|
222767
|
+
// Skills are managed independently of the sandbox connection — org-level
|
|
222768
|
+
// skills and the mentor's assignments both resolve without a wired Claw
|
|
222769
|
+
// instance, so we always fetch and let admins add/assign skills freely.
|
|
222770
|
+
const { data: availableSkills, isLoading: isLoadingSkills } = useGetAgentSkillsQuery({
|
|
222771
|
+
org: platformKey,
|
|
222772
|
+
});
|
|
222773
|
+
const { data: assignments, isLoading: isLoadingAssignments } = useGetMentorSkillAssignmentsQuery({
|
|
222774
|
+
org: platformKey,
|
|
222775
|
+
mentorUniqueId,
|
|
222776
|
+
});
|
|
222503
222777
|
// Assignment mutations (toggle on mentor)
|
|
222504
222778
|
const [createAssignment, { isLoading: isCreatingAssignment }] = useCreateMentorSkillAssignmentMutation();
|
|
222505
222779
|
const [updateAssignment, { isLoading: isUpdatingAssignment }] = useUpdateMentorSkillAssignmentMutation();
|
|
@@ -222512,7 +222786,7 @@ function AgentSkills({ platformKey, mentorUniqueId }) {
|
|
|
222512
222786
|
const [editingSkill, setEditingSkill] = useState(null);
|
|
222513
222787
|
const [deletingSkill, setDeletingSkill] = useState(null);
|
|
222514
222788
|
const [form, setForm] = useState(EMPTY_SKILL_FORM);
|
|
222515
|
-
const isLoading =
|
|
222789
|
+
const isLoading = isLoadingSkills || isLoadingAssignments;
|
|
222516
222790
|
const isTogglingMentorSkill = isCreatingAssignment || isUpdatingAssignment || isDeletingAssignment;
|
|
222517
222791
|
const skills = (availableSkills !== null && availableSkills !== void 0 ? availableSkills : []).filter((s) => s.enabled);
|
|
222518
222792
|
// Skill assignments are now keyed by skill UUID (the new stable identifier).
|
|
@@ -222635,12 +222909,7 @@ function AgentSkills({ platformKey, mentorUniqueId }) {
|
|
|
222635
222909
|
if (isLoading) {
|
|
222636
222910
|
return (jsxs("div", { className: "flex items-center gap-2 p-4", children: [jsx(LoaderCircle, { className: "h-4 w-4 animate-spin text-blue-500" }), jsx("span", { className: "text-sm text-gray-500", children: t('clawSandboxAgentSkills.loadingSkills') })] }));
|
|
222637
222911
|
}
|
|
222638
|
-
|
|
222639
|
-
// can't be assigned to a mentor that has no active sandbox to run them.
|
|
222640
|
-
if (!isSandboxActive) {
|
|
222641
|
-
return (jsx("div", { className: "flex items-center justify-center rounded-lg border p-6", children: jsx("p", { className: "text-sm text-gray-500", children: t('clawSandboxAgentSkills.connectSandboxPrompt') }) }));
|
|
222642
|
-
}
|
|
222643
|
-
return (jsxs("div", { className: "space-y-4", children: [jsx("div", { className: "flex items-center justify-end", children: jsxs(Button$1, { onClick: openNewSkillDialog, size: "sm", className: "cursor-pointer bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", children: [jsx(Plus, { className: "h-4 w-4" }), t('clawSandboxAgentSkills.newSkill')] }) }), skills.length === 0 ? (jsx("div", { className: "flex items-center justify-center rounded-lg border p-6", children: jsx("p", { className: "text-sm text-gray-500", children: t('clawSandboxAgentSkills.noSkillsAvailable') }) })) : (jsx("div", { className: "space-y-6", children: skills.map((skill) => {
|
|
222912
|
+
return (jsxs("div", { className: "space-y-4", "data-testid": "agent-skills-content", children: [jsx("div", { className: "flex items-center justify-end", children: jsxs(Button$1, { onClick: openNewSkillDialog, size: "sm", className: "cursor-pointer bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", children: [jsx(Plus, { className: "h-4 w-4" }), t('clawSandboxAgentSkills.newSkill')] }) }), skills.length === 0 ? (jsx("div", { className: "flex items-center justify-center rounded-lg border p-6", children: jsx("p", { className: "text-sm text-gray-500", children: t('clawSandboxAgentSkills.noSkillsAvailable') }) })) : (jsx("div", { className: "space-y-6", children: skills.map((skill) => {
|
|
222644
222913
|
var _a;
|
|
222645
222914
|
const assignment = assignmentsBySkillUniqueId.get(skill.unique_id);
|
|
222646
222915
|
const isEnabled = (_a = assignment === null || assignment === void 0 ? void 0 : assignment.enabled) !== null && _a !== void 0 ? _a : false;
|
|
@@ -222648,7 +222917,9 @@ function AgentSkills({ platformKey, mentorUniqueId }) {
|
|
|
222648
222917
|
name: skill.name,
|
|
222649
222918
|
}), children: jsx(Info$3, { className: "h-4 w-4 text-gray-400" }) }), jsx(TooltipContent, { className: "ibl-tooltip-content", children: jsx("p", { children: skill.description }) })] }) })), jsxs("span", { className: "hidden sm:inline text-xs text-gray-400", children: ["v", skill.version] })] }), jsxs("div", { className: "flex items-center gap-2", children: [jsx(Switch, { checked: isEnabled, onCheckedChange: (checked) => handleToggle(skill, checked), disabled: isTogglingMentorSkill, className: "cursor-pointer data-[state=checked]:bg-blue-500", "aria-label": t(isEnabled
|
|
222650
222919
|
? 'clawSandboxAgentSkills.skillEnabledLabel'
|
|
222651
|
-
: 'clawSandboxAgentSkills.skillDisabledLabel', { name: skill.name }) }), jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsx(Button$1, { variant: "ghost", size: "sm", "aria-label": t('clawSandboxAgentSkills.skillActions', {
|
|
222920
|
+
: 'clawSandboxAgentSkills.skillDisabledLabel', { name: skill.name }) }), jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsx(Button$1, { variant: "ghost", size: "sm", "aria-label": t('clawSandboxAgentSkills.skillActions', {
|
|
222921
|
+
name: skill.name,
|
|
222922
|
+
}), children: jsx(Ellipsis, { className: "h-4 w-4" }) }) }), jsxs(DropdownMenuContent, { align: "end", children: [jsxs(DropdownMenuItem, { className: "cursor-pointer", onClick: () => openEditSkillDialog(skill), children: [jsx(Pen, { className: "mr-2 h-4 w-4" }), t('clawSandboxAgentSkills.edit')] }), jsxs(DropdownMenuItem, { variant: "destructive", className: "cursor-pointer", onClick: () => setDeletingSkill(skill), children: [jsx(Trash2, { className: "mr-2 h-4 w-4" }), t('clawSandboxAgentSkills.delete')] })] })] })] })] }, skill.id));
|
|
222652
222923
|
}) })), jsxs(OverlayModal, { open: showNewDialog, onClose: closeAllDialogs, title: t('clawSandboxAgentSkills.newSkillDialogTitle'), className: "max-w-2xl", children: [jsx(SkillForm, { form: form, onChange: setForm }), jsxs("div", { className: "flex justify-end gap-2 pt-2", children: [jsx(Button$1, { variant: "outline", onClick: closeAllDialogs, children: t('clawSandboxAgentSkills.cancel') }), jsx(Button$1, { onClick: handleCreateSkill, disabled: isCreatingSkill || !form.name || !form.slug, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", children: isCreatingSkill
|
|
222653
222924
|
? t('clawSandboxAgentSkills.creating')
|
|
222654
222925
|
: t('clawSandboxAgentSkills.create') })] })] }), jsxs(OverlayModal, { open: !!editingSkill, onClose: closeAllDialogs, title: t('clawSandboxAgentSkills.editSkillDialogTitle'), className: "max-w-2xl", children: [jsx(SkillForm, { form: form, onChange: setForm }), jsxs("div", { className: "flex justify-end gap-2 pt-2", children: [jsx(Button$1, { variant: "outline", onClick: closeAllDialogs, children: t('clawSandboxAgentSkills.cancel') }), jsx(Button$1, { onClick: handleUpdateSkill, disabled: isUpdatingSkill || !form.name || !form.slug, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", children: isUpdatingSkill
|