@swiss-ai-hub/web 0.320.0 → 0.321.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/FormKit/AgentSelector.vue +20 -7
- package/components/FormKit/Repeater.vue +1 -4
- package/components/FormKit/VectorStoreInput.vue +43 -6
- package/components/Knowledge/Database/CreateModal.vue +315 -0
- package/components/Knowledge/Database/EmptyCard.vue +34 -0
- package/components/Knowledge/DeleteConfirmModal.vue +87 -0
- package/components/Knowledge/Namespace/Card.vue +18 -0
- package/components/Knowledge/Namespace/CreateModal.vue +11 -3
- package/components/Role/AccessCapabilities.vue +4 -4
- package/components/Role/AccessCapabilityGroup.vue +22 -6
- package/components/Role/AccessRulesEditor.vue +15 -12
- package/composables/app/useAppVersion.ts +31 -33
- package/composables/auth/useAuth.ts +3 -11
- package/composables/document/useCreateDatabase.ts +21 -0
- package/composables/document/useDeleteDatabase.ts +29 -0
- package/composables/document/useDeleteDocument.ts +1 -1
- package/composables/document/useDeleteDocuments.ts +1 -1
- package/composables/document/useDeleteNamespace.ts +30 -0
- package/composables/document/useIngestors.ts +23 -0
- package/composables/form/useCreateInstanceForm.ts +2 -2
- package/composables/form/useFormKitTransform.ts +44 -15
- package/formkit.config.ts +24 -1
- package/i18n/locales/de.yaml +60 -5
- package/i18n/locales/en.yaml +57 -3
- package/i18n/locales/fr.yaml +58 -3
- package/i18n/locales/it.yaml +60 -3
- package/middleware/agent-admin.ts +31 -0
- package/package.json +1 -1
- package/pages/[tenant]/service/agents.vue +3 -0
- package/pages/[tenant]/service/knowledge/[db]/[namespace]/[document_id].vue +12 -5
- package/pages/[tenant]/service/knowledge.vue +138 -0
- package/plugins/0.runtime-config.client.ts +5 -0
- package/plugins/oidc-client.ts +1 -1
- package/sdk/client/index.ts +29 -2
- package/sdk/client/schemas.gen.ts +641 -77
- package/sdk/client/sdk.gen.ts +159 -1
- package/sdk/client/types.gen.ts +543 -75
- package/plugins/keycloak-client.ts +0 -41
package/i18n/locales/de.yaml
CHANGED
|
@@ -212,6 +212,8 @@ event:
|
|
|
212
212
|
no_filters: Keine zusätzlichen Filter
|
|
213
213
|
rag_stop:
|
|
214
214
|
failure_reason:
|
|
215
|
+
condensation_empty: Die Frage konnte nicht in eine durchsuchbare Form verdichtet
|
|
216
|
+
werden – dieser Lauf wurde vor dem Retrieval gestoppt.
|
|
215
217
|
context_insufficient: Der abgerufene Kontext war unzureichend – die Antwort
|
|
216
218
|
ist eine Notlösung und nicht in Ihren Wissensquellen verankert.
|
|
217
219
|
expert_declined: Der menschliche Experte konnte keine Antwort liefern – dieser
|
|
@@ -220,6 +222,8 @@ event:
|
|
|
220
222
|
– dieser Lauf hat keine fundierte Antwort produziert.
|
|
221
223
|
few_shot_rejected: Die Anfrage entsprach keinem bekannten Muster, daher wurde
|
|
222
224
|
die Antwort ohne Retrieval erzeugt.
|
|
225
|
+
input_too_large: Die Nachricht oder die angehängte Datei überschritt das Kontextfenster
|
|
226
|
+
des Modells, daher wurde dieser Lauf vor dem Modellaufruf gestoppt.
|
|
223
227
|
limitChatHistory:
|
|
224
228
|
summary: Chat-Verlauf auf {count} Nachrichten begrenzt
|
|
225
229
|
assistant: Assistent
|
|
@@ -454,9 +458,8 @@ document:
|
|
|
454
458
|
deleting: Wird gelöscht
|
|
455
459
|
button: Löschen
|
|
456
460
|
button_selected: Ausgewählte löschen
|
|
457
|
-
confirmMessage: Möchten Sie
|
|
458
|
-
|
|
459
|
-
werden.
|
|
461
|
+
confirmMessage: Möchten Sie "{title}" wirklich löschen? Es wird dauerhaft aus
|
|
462
|
+
der Wissensdatenbank entfernt. Diese Aktion kann nicht rückgängig gemacht werden.
|
|
460
463
|
confirmMessageBatch: Möchten Sie {count} Dokument(e) wirklich löschen? Sie werden
|
|
461
464
|
dauerhaft aus der Wissensdatenbank entfernt. Diese Aktion kann nicht rückgängig
|
|
462
465
|
gemacht werden.
|
|
@@ -511,21 +514,67 @@ knowledge:
|
|
|
511
514
|
title: Sammlung hinzufügen
|
|
512
515
|
description: Eine neue Wissenssammlung erstellen
|
|
513
516
|
cancel: Abbrechen
|
|
517
|
+
add_database:
|
|
518
|
+
title: Wissensdatenbank hinzufügen
|
|
519
|
+
description: Eine neue Self-Service-Wissensdatenbank erstellen
|
|
514
520
|
auto_sync:
|
|
515
521
|
title: Automatisch synchronisiert
|
|
516
522
|
description: Sammlungen werden automatisch verwaltet
|
|
517
523
|
manual_management:
|
|
518
524
|
description: Sammlungen können manuell erstellt und verwaltet werden
|
|
525
|
+
pipeline: 'Pipeline: {name}'
|
|
519
526
|
edit_namespace: Sammlung bearbeiten
|
|
520
527
|
upload_documents: Dokumente hochladen
|
|
528
|
+
delete_namespace: Sammlung löschen
|
|
529
|
+
delete_database: Datenbank löschen
|
|
530
|
+
delete:
|
|
531
|
+
confirm_label: Geben Sie zur Bestätigung {name} ein
|
|
532
|
+
database:
|
|
533
|
+
title: Wissensdatenbank löschen
|
|
534
|
+
warning: Dadurch werden die Datenbank {name}, alle ihre Sammlungen und ihre
|
|
535
|
+
{count} Dokumente unwiderruflich gelöscht. Dies kann nicht rückgängig gemacht
|
|
536
|
+
werden.
|
|
537
|
+
namespace:
|
|
538
|
+
title: Sammlung löschen
|
|
539
|
+
warning: Dadurch werden die Sammlung {name} und ihre {count} Dokumente unwiderruflich
|
|
540
|
+
gelöscht. Dies kann nicht rückgängig gemacht werden.
|
|
541
|
+
actions:
|
|
542
|
+
delete: Löschen
|
|
543
|
+
scheduled:
|
|
544
|
+
summary: Löschung gestartet
|
|
545
|
+
detail: Die Löschung läuft im Hintergrund und kann einen Moment dauern.
|
|
546
|
+
error:
|
|
547
|
+
summary: Löschung fehlgeschlagen
|
|
548
|
+
detail: Die Löschung konnte nicht gestartet werden. Bitte versuchen Sie es erneut.
|
|
521
549
|
form:
|
|
522
550
|
create:
|
|
523
551
|
title: Sammlung erstellen
|
|
552
|
+
create_error: Die Sammlung konnte nicht erstellt werden. Bitte versuchen Sie es
|
|
553
|
+
erneut.
|
|
554
|
+
create_database:
|
|
555
|
+
title: Wissensdatenbank erstellen
|
|
556
|
+
success: Wissensdatenbank erstellt
|
|
557
|
+
error: Die Wissensdatenbank konnte nicht erstellt werden
|
|
558
|
+
no_ingestors: Keine Ingestion-Pipeline verfügbar. Stellen Sie sicher, dass mindestens
|
|
559
|
+
eine Pipeline läuft.
|
|
560
|
+
steps:
|
|
561
|
+
basic_info: Grundinformationen
|
|
524
562
|
edit:
|
|
525
563
|
title: Sammlung bearbeiten
|
|
526
564
|
database:
|
|
527
565
|
label: Wissensdatenbank
|
|
528
566
|
placeholder: Name der Wissensdatenbank
|
|
567
|
+
database_name:
|
|
568
|
+
label: Datenbankname
|
|
569
|
+
placeholder: meinewissensdatenbank
|
|
570
|
+
help: Nur Kleinbuchstaben und Ziffern sind erlaubt, beginnend mit einem Buchstaben,
|
|
571
|
+
3 bis 63 Zeichen. Der Name kann später nicht geändert werden.
|
|
572
|
+
validation_error: Der Datenbankname muss mit einem Kleinbuchstaben beginnen
|
|
573
|
+
und darf nur Kleinbuchstaben und Ziffern enthalten, zwischen 3 und 63 Zeichen
|
|
574
|
+
ingestor:
|
|
575
|
+
label: Ingestion-Pipeline
|
|
576
|
+
placeholder: Ingestion-Pipeline auswählen
|
|
577
|
+
help: Die Pipeline, die in diese Datenbank hochgeladene Dokumente verarbeitet.
|
|
529
578
|
folder_name:
|
|
530
579
|
label: Sammlungsname
|
|
531
580
|
placeholder: meine-sammlung
|
|
@@ -665,6 +714,8 @@ role:
|
|
|
665
714
|
dies zu ändern.
|
|
666
715
|
capability_readonly: Keine einzelne Regel gewährt dies allein — nutze eine Vorlage
|
|
667
716
|
oder eine breitere Regel.
|
|
717
|
+
capability_also_cleared: 'Das Abwählen entfernt zusätzlich: {rules}'
|
|
718
|
+
capability_also_granted: 'Das Auswählen gewährt zusätzlich: {rules}'
|
|
668
719
|
pattern_help_intro: 'Muster verwenden Platzhalter für Agenten:'
|
|
669
720
|
pattern_help_all: Alle Agenten
|
|
670
721
|
pattern_help_wildcard: Alle Instanzen von MyAgent
|
|
@@ -826,8 +877,12 @@ lib:
|
|
|
826
877
|
label: Datenbank
|
|
827
878
|
namespaces:
|
|
828
879
|
label: Namensräume
|
|
829
|
-
placeholder:
|
|
830
|
-
help:
|
|
880
|
+
placeholder: Mindestens einen Namensraum auswählen
|
|
881
|
+
help: Nur die ausgewählten Namensräume werden durchsucht
|
|
882
|
+
allNamespaces:
|
|
883
|
+
label: Alle Namensräume durchsuchen
|
|
884
|
+
help: Jeder Namensraum dieser Datenbank wird durchsucht, auch später hinzugefügte
|
|
885
|
+
({count} heute).
|
|
831
886
|
allowedFilterFields:
|
|
832
887
|
label: Erlaubte Filterfelder
|
|
833
888
|
placeholder: Metadatenschlüssel eingeben und Enter drücken
|
package/i18n/locales/en.yaml
CHANGED
|
@@ -210,6 +210,8 @@ event:
|
|
|
210
210
|
no_filters: No additional filters
|
|
211
211
|
rag_stop:
|
|
212
212
|
failure_reason:
|
|
213
|
+
condensation_empty: The question could not be condensed into something searchable
|
|
214
|
+
— this run was stopped before retrieval.
|
|
213
215
|
context_insufficient: Retrieved context was insufficient — the answer is a fallback,
|
|
214
216
|
not grounded in your knowledge sources.
|
|
215
217
|
expert_declined: The human expert could not provide an answer — this run did
|
|
@@ -218,6 +220,8 @@ event:
|
|
|
218
220
|
produce a grounded response.
|
|
219
221
|
few_shot_rejected: The query did not match any known pattern, so the answer
|
|
220
222
|
was produced without retrieval.
|
|
223
|
+
input_too_large: The message or attached file exceeded the model's context window,
|
|
224
|
+
so this run was stopped before calling the model.
|
|
221
225
|
limitChatHistory:
|
|
222
226
|
summary: Chat history limited to {count} messages
|
|
223
227
|
assistant: Assistant
|
|
@@ -448,7 +452,7 @@ document:
|
|
|
448
452
|
deleting: Deleting
|
|
449
453
|
button: Delete
|
|
450
454
|
button_selected: Delete selected
|
|
451
|
-
confirmMessage: Are you sure you want to delete
|
|
455
|
+
confirmMessage: Are you sure you want to delete "{title}"? It will be permanently
|
|
452
456
|
removed from the knowledge base. This action cannot be undone.
|
|
453
457
|
confirmMessageBatch: Are you sure you want to delete {count} document(s)? They
|
|
454
458
|
will be permanently removed from the knowledge base. This action cannot be undone.
|
|
@@ -504,21 +508,65 @@ knowledge:
|
|
|
504
508
|
title: Add Collection
|
|
505
509
|
description: Create a new knowledge collection
|
|
506
510
|
cancel: Cancel
|
|
511
|
+
add_database:
|
|
512
|
+
title: Add Knowledge Database
|
|
513
|
+
description: Create a new self-service knowledge database
|
|
507
514
|
auto_sync:
|
|
508
515
|
title: Auto-synchronized
|
|
509
516
|
description: Collections are automatically managed
|
|
510
517
|
manual_management:
|
|
511
518
|
description: Collections can be created and managed manually
|
|
519
|
+
pipeline: 'Pipeline: {name}'
|
|
512
520
|
edit_namespace: Edit collection
|
|
513
521
|
upload_documents: Upload documents
|
|
522
|
+
delete_namespace: Delete collection
|
|
523
|
+
delete_database: Delete database
|
|
524
|
+
delete:
|
|
525
|
+
confirm_label: Type {name} to confirm
|
|
526
|
+
database:
|
|
527
|
+
title: Delete knowledge database
|
|
528
|
+
warning: This permanently deletes the database {name}, all its collections,
|
|
529
|
+
and its {count} documents. This cannot be undone.
|
|
530
|
+
namespace:
|
|
531
|
+
title: Delete collection
|
|
532
|
+
warning: This permanently deletes the collection {name} and its {count} documents.
|
|
533
|
+
This cannot be undone.
|
|
534
|
+
actions:
|
|
535
|
+
delete: Delete
|
|
536
|
+
scheduled:
|
|
537
|
+
summary: Deletion started
|
|
538
|
+
detail: The deletion runs in the background and may take a moment.
|
|
539
|
+
error:
|
|
540
|
+
summary: Deletion failed
|
|
541
|
+
detail: The deletion could not be started. Please try again.
|
|
514
542
|
form:
|
|
515
543
|
create:
|
|
516
544
|
title: Create Collection
|
|
545
|
+
create_error: Failed to create the collection. Please try again.
|
|
546
|
+
create_database:
|
|
547
|
+
title: Create Knowledge Database
|
|
548
|
+
success: Knowledge database created
|
|
549
|
+
error: Failed to create the knowledge database
|
|
550
|
+
no_ingestors: No ingestion pipeline is available. Make sure at least one pipeline
|
|
551
|
+
is running.
|
|
552
|
+
steps:
|
|
553
|
+
basic_info: Basic Info
|
|
517
554
|
edit:
|
|
518
555
|
title: Edit Collection
|
|
519
556
|
database:
|
|
520
557
|
label: Knowledge Database
|
|
521
558
|
placeholder: Knowledge Database Name
|
|
559
|
+
database_name:
|
|
560
|
+
label: Database Name
|
|
561
|
+
placeholder: myknowledgebase
|
|
562
|
+
help: Only lowercase letters and digits are allowed, starting with a letter,
|
|
563
|
+
3 to 63 characters. The name cannot be changed later.
|
|
564
|
+
validation_error: The database name must start with a lowercase letter and contain
|
|
565
|
+
only lowercase letters and digits, between 3 and 63 characters
|
|
566
|
+
ingestor:
|
|
567
|
+
label: Ingestion Pipeline
|
|
568
|
+
placeholder: Select an ingestion pipeline
|
|
569
|
+
help: The pipeline that processes documents uploaded to this database.
|
|
522
570
|
folder_name:
|
|
523
571
|
label: Collection Name
|
|
524
572
|
placeholder: my-collection
|
|
@@ -654,6 +702,8 @@ role:
|
|
|
654
702
|
capability_locked: Granted by a broader rule — remove that rule to change this.
|
|
655
703
|
capability_readonly: No single rule grants this on its own — use a preset or a broader
|
|
656
704
|
rule.
|
|
705
|
+
capability_also_cleared: 'Unticking also clears: {rules}'
|
|
706
|
+
capability_also_granted: 'Ticking also grants: {rules}'
|
|
657
707
|
pattern_help_intro: 'Patterns use wildcards to match agents:'
|
|
658
708
|
pattern_help_all: All agents
|
|
659
709
|
pattern_help_wildcard: All instances of MyAgent
|
|
@@ -812,8 +862,12 @@ lib:
|
|
|
812
862
|
label: Database
|
|
813
863
|
namespaces:
|
|
814
864
|
label: Namespaces
|
|
815
|
-
placeholder: Select
|
|
816
|
-
help:
|
|
865
|
+
placeholder: Select at least one namespace
|
|
866
|
+
help: Only the selected namespaces are searched
|
|
867
|
+
allNamespaces:
|
|
868
|
+
label: Search all namespaces
|
|
869
|
+
help: Every namespace of this database is searched, including ones added later
|
|
870
|
+
({count} today).
|
|
817
871
|
allowedFilterFields:
|
|
818
872
|
label: Allowed Filter Fields
|
|
819
873
|
placeholder: Add a metadata key and press Enter
|
package/i18n/locales/fr.yaml
CHANGED
|
@@ -210,6 +210,8 @@ event:
|
|
|
210
210
|
no_filters: Aucun filtre supplémentaire
|
|
211
211
|
rag_stop:
|
|
212
212
|
failure_reason:
|
|
213
|
+
condensation_empty: La question n'a pas pu être condensée en une formulation
|
|
214
|
+
exploitable — cette exécution a été arrêtée avant la récupération.
|
|
213
215
|
context_insufficient: Le contexte récupéré était insuffisant — la réponse est
|
|
214
216
|
une solution de repli et n'est pas ancrée dans vos sources de connaissances.
|
|
215
217
|
expert_declined: L'expert humain n'a pas pu fournir de réponse — cette exécution
|
|
@@ -218,6 +220,8 @@ event:
|
|
|
218
220
|
produit de réponse fondée.
|
|
219
221
|
few_shot_rejected: La requête ne correspondait à aucun motif connu, la réponse
|
|
220
222
|
a donc été produite sans récupération.
|
|
223
|
+
input_too_large: Le message ou le fichier joint dépassait la fenêtre de contexte
|
|
224
|
+
du modèle, cette exécution a donc été arrêtée avant l'appel au modèle.
|
|
221
225
|
limitChatHistory:
|
|
222
226
|
summary: Historique de chat limité à {count} messages
|
|
223
227
|
assistant: Assistant
|
|
@@ -453,7 +457,7 @@ document:
|
|
|
453
457
|
deleting: Suppression en cours
|
|
454
458
|
button: Supprimer
|
|
455
459
|
button_selected: Supprimer la sélection
|
|
456
|
-
confirmMessage: Voulez-vous vraiment supprimer
|
|
460
|
+
confirmMessage: Voulez-vous vraiment supprimer « {title} » ? Il sera définitivement
|
|
457
461
|
retiré de la base de connaissances. Cette action est irréversible.
|
|
458
462
|
confirmMessageBatch: Voulez-vous vraiment supprimer {count} document(s) ? Ils
|
|
459
463
|
seront définitivement retirés de la base de connaissances. Cette action est
|
|
@@ -511,21 +515,66 @@ knowledge:
|
|
|
511
515
|
title: Ajouter une collection
|
|
512
516
|
description: Créer une nouvelle collection de connaissances
|
|
513
517
|
cancel: Annuler
|
|
518
|
+
add_database:
|
|
519
|
+
title: Ajouter une base de connaissances
|
|
520
|
+
description: Créer une nouvelle base de connaissances en libre-service
|
|
514
521
|
auto_sync:
|
|
515
522
|
title: Synchronisé automatiquement
|
|
516
523
|
description: Les collections sont gérées automatiquement
|
|
517
524
|
manual_management:
|
|
518
525
|
description: Les collections peuvent être créées et gérées manuellement
|
|
526
|
+
pipeline: 'Pipeline : {name}'
|
|
519
527
|
edit_namespace: Modifier la collection
|
|
520
528
|
upload_documents: Télécharger des documents
|
|
529
|
+
delete_namespace: Supprimer la collection
|
|
530
|
+
delete_database: Supprimer la base de données
|
|
531
|
+
delete:
|
|
532
|
+
confirm_label: Saisissez {name} pour confirmer
|
|
533
|
+
database:
|
|
534
|
+
title: Supprimer la base de connaissances
|
|
535
|
+
warning: Cette action supprime définitivement la base de données {name}, toutes
|
|
536
|
+
ses collections et ses {count} documents. Cette action est irréversible.
|
|
537
|
+
namespace:
|
|
538
|
+
title: Supprimer la collection
|
|
539
|
+
warning: Cette action supprime définitivement la collection {name} et ses {count}
|
|
540
|
+
documents. Cette action est irréversible.
|
|
541
|
+
actions:
|
|
542
|
+
delete: Supprimer
|
|
543
|
+
scheduled:
|
|
544
|
+
summary: Suppression lancée
|
|
545
|
+
detail: La suppression s’exécute en arrière-plan et peut prendre un moment.
|
|
546
|
+
error:
|
|
547
|
+
summary: Échec de la suppression
|
|
548
|
+
detail: La suppression n’a pas pu être lancée. Veuillez réessayer.
|
|
521
549
|
form:
|
|
522
550
|
create:
|
|
523
551
|
title: Créer une collection
|
|
552
|
+
create_error: Échec de la création de la collection. Veuillez réessayer.
|
|
553
|
+
create_database:
|
|
554
|
+
title: Créer une base de connaissances
|
|
555
|
+
success: Base de connaissances créée
|
|
556
|
+
error: La base de connaissances n'a pas pu être créée
|
|
557
|
+
no_ingestors: Aucun pipeline d'ingestion disponible. Assurez-vous qu'au moins
|
|
558
|
+
un pipeline est en cours d'exécution.
|
|
559
|
+
steps:
|
|
560
|
+
basic_info: Informations de base
|
|
524
561
|
edit:
|
|
525
562
|
title: Modifier la collection
|
|
526
563
|
database:
|
|
527
564
|
label: Base de connaissances
|
|
528
565
|
placeholder: Nom de la base de connaissances
|
|
566
|
+
database_name:
|
|
567
|
+
label: Nom de la base de données
|
|
568
|
+
placeholder: mabasedeconnaissances
|
|
569
|
+
help: Seules les lettres minuscules et les chiffres sont autorisés, en commençant
|
|
570
|
+
par une lettre, de 3 à 63 caractères. Le nom ne peut pas être modifié ultérieurement.
|
|
571
|
+
validation_error: Le nom de la base de données doit commencer par une lettre
|
|
572
|
+
minuscule et ne contenir que des lettres minuscules et des chiffres, entre
|
|
573
|
+
3 et 63 caractères
|
|
574
|
+
ingestor:
|
|
575
|
+
label: Pipeline d'ingestion
|
|
576
|
+
placeholder: Sélectionner un pipeline d'ingestion
|
|
577
|
+
help: Le pipeline qui traite les documents téléversés dans cette base de données.
|
|
529
578
|
folder_name:
|
|
530
579
|
label: Nom de la collection
|
|
531
580
|
placeholder: ma-collection
|
|
@@ -665,6 +714,8 @@ role:
|
|
|
665
714
|
changer ceci.
|
|
666
715
|
capability_readonly: Aucune règle unique ne l'accorde — utilisez un modèle ou une
|
|
667
716
|
règle plus large.
|
|
717
|
+
capability_also_cleared: 'Décocher supprime également : {rules}'
|
|
718
|
+
capability_also_granted: 'Cocher accorde également : {rules}'
|
|
668
719
|
pattern_help_intro: 'Les modèles utilisent des jokers pour les agents :'
|
|
669
720
|
pattern_help_all: Tous les agents
|
|
670
721
|
pattern_help_wildcard: Toutes les instances de MyAgent
|
|
@@ -826,8 +877,12 @@ lib:
|
|
|
826
877
|
label: Base de données
|
|
827
878
|
namespaces:
|
|
828
879
|
label: Espaces de noms
|
|
829
|
-
placeholder: Sélectionner
|
|
830
|
-
help:
|
|
880
|
+
placeholder: Sélectionner au moins un espace de noms
|
|
881
|
+
help: Seuls les espaces de noms sélectionnés sont recherchés
|
|
882
|
+
allNamespaces:
|
|
883
|
+
label: Rechercher dans tous les espaces de noms
|
|
884
|
+
help: Chaque espace de noms de cette base est recherché, y compris ceux ajoutés
|
|
885
|
+
plus tard ({count} aujourd'hui).
|
|
831
886
|
allowedFilterFields:
|
|
832
887
|
label: Champs de filtre autorisés
|
|
833
888
|
placeholder: Saisir une clé de métadonnées puis appuyer sur Entrée
|
package/i18n/locales/it.yaml
CHANGED
|
@@ -210,6 +210,8 @@ event:
|
|
|
210
210
|
no_filters: Nessun filtro aggiuntivo
|
|
211
211
|
rag_stop:
|
|
212
212
|
failure_reason:
|
|
213
|
+
condensation_empty: Non è stato possibile condensare la domanda in una forma
|
|
214
|
+
ricercabile — questa esecuzione è stata interrotta prima del recupero.
|
|
213
215
|
context_insufficient: Il contesto recuperato era insufficiente — la risposta
|
|
214
216
|
è un ripiego e non è ancorata alle vostre fonti di conoscenza.
|
|
215
217
|
expert_declined: L'esperto umano non ha potuto fornire una risposta — questa
|
|
@@ -218,6 +220,9 @@ event:
|
|
|
218
220
|
non ha prodotto una risposta fondata.
|
|
219
221
|
few_shot_rejected: La richiesta non corrispondeva a nessun pattern noto, quindi
|
|
220
222
|
la risposta è stata prodotta senza recupero.
|
|
223
|
+
input_too_large: Il messaggio o il file allegato superava la finestra di contesto
|
|
224
|
+
del modello, quindi questa esecuzione è stata interrotta prima di chiamare
|
|
225
|
+
il modello.
|
|
221
226
|
limitChatHistory:
|
|
222
227
|
summary: Cronologia chat limitata a {count} messaggi
|
|
223
228
|
assistant: Assistente
|
|
@@ -452,7 +457,7 @@ document:
|
|
|
452
457
|
deleting: Eliminazione in corso
|
|
453
458
|
button: Elimina
|
|
454
459
|
button_selected: Elimina selezionati
|
|
455
|
-
confirmMessage: Vuoi davvero eliminare
|
|
460
|
+
confirmMessage: Vuoi davvero eliminare "{title}"? Verrà rimosso definitivamente
|
|
456
461
|
dalla base di conoscenza. Questa azione non può essere annullata.
|
|
457
462
|
confirmMessageBatch: Vuoi davvero eliminare {count} documento/i? Verranno rimossi
|
|
458
463
|
definitivamente dalla base di conoscenza. Questa azione non può essere annullata.
|
|
@@ -509,21 +514,67 @@ knowledge:
|
|
|
509
514
|
title: Aggiungi collezione
|
|
510
515
|
description: Crea una nuova collezione di conoscenza
|
|
511
516
|
cancel: Annulla
|
|
517
|
+
add_database:
|
|
518
|
+
title: Aggiungi database di conoscenza
|
|
519
|
+
description: Crea un nuovo database di conoscenza self-service
|
|
512
520
|
auto_sync:
|
|
513
521
|
title: Sincronizzato automaticamente
|
|
514
522
|
description: Le collezioni sono gestite automaticamente
|
|
515
523
|
manual_management:
|
|
516
524
|
description: Le collezioni possono essere create e gestite manualmente
|
|
525
|
+
pipeline: 'Pipeline: {name}'
|
|
517
526
|
edit_namespace: Modifica collezione
|
|
518
527
|
upload_documents: Carica documenti
|
|
528
|
+
delete_namespace: Elimina collezione
|
|
529
|
+
delete_database: Elimina database
|
|
530
|
+
delete:
|
|
531
|
+
confirm_label: Digita {name} per confermare
|
|
532
|
+
database:
|
|
533
|
+
title: Elimina database di conoscenza
|
|
534
|
+
warning: Questa operazione elimina definitivamente il database {name}, tutte
|
|
535
|
+
le sue collezioni e i suoi {count} documenti. L’operazione non può essere
|
|
536
|
+
annullata.
|
|
537
|
+
namespace:
|
|
538
|
+
title: Elimina collezione
|
|
539
|
+
warning: Questa operazione elimina definitivamente la collezione {name} e i
|
|
540
|
+
suoi {count} documenti. L’operazione non può essere annullata.
|
|
541
|
+
actions:
|
|
542
|
+
delete: Elimina
|
|
543
|
+
scheduled:
|
|
544
|
+
summary: Eliminazione avviata
|
|
545
|
+
detail: L’eliminazione viene eseguita in background e potrebbe richiedere un
|
|
546
|
+
momento.
|
|
547
|
+
error:
|
|
548
|
+
summary: Eliminazione non riuscita
|
|
549
|
+
detail: Impossibile avviare l’eliminazione. Riprova.
|
|
519
550
|
form:
|
|
520
551
|
create:
|
|
521
552
|
title: Crea collezione
|
|
553
|
+
create_error: Creazione della collezione non riuscita. Riprova.
|
|
554
|
+
create_database:
|
|
555
|
+
title: Crea database di conoscenza
|
|
556
|
+
success: Base di conoscenza creata
|
|
557
|
+
error: Impossibile creare la base di conoscenza
|
|
558
|
+
no_ingestors: Nessuna pipeline di ingestione disponibile. Assicurati che almeno
|
|
559
|
+
una pipeline sia in esecuzione.
|
|
560
|
+
steps:
|
|
561
|
+
basic_info: Informazioni di base
|
|
522
562
|
edit:
|
|
523
563
|
title: Modifica collezione
|
|
524
564
|
database:
|
|
525
565
|
label: Database di conoscenza
|
|
526
566
|
placeholder: Nome del database di conoscenza
|
|
567
|
+
database_name:
|
|
568
|
+
label: Nome del database
|
|
569
|
+
placeholder: ilmiodatabase
|
|
570
|
+
help: Sono consentite solo lettere minuscole e cifre, iniziando con una lettera,
|
|
571
|
+
da 3 a 63 caratteri. Il nome non può essere modificato in seguito.
|
|
572
|
+
validation_error: Il nome del database deve iniziare con una lettera minuscola
|
|
573
|
+
e può contenere solo lettere minuscole e cifre, tra 3 e 63 caratteri
|
|
574
|
+
ingestor:
|
|
575
|
+
label: Pipeline di ingestione
|
|
576
|
+
placeholder: Seleziona una pipeline di ingestione
|
|
577
|
+
help: La pipeline che elabora i documenti caricati in questo database.
|
|
527
578
|
folder_name:
|
|
528
579
|
label: Nome collezione
|
|
529
580
|
placeholder: mia-collezione
|
|
@@ -662,6 +713,8 @@ role:
|
|
|
662
713
|
cambiare questo.
|
|
663
714
|
capability_readonly: Nessuna singola regola lo concede — usa un modello o una regola
|
|
664
715
|
più ampia.
|
|
716
|
+
capability_also_cleared: 'Deselezionando si rimuove anche: {rules}'
|
|
717
|
+
capability_also_granted: 'Selezionando si concede anche: {rules}'
|
|
665
718
|
pattern_help_intro: 'I modelli usano caratteri jolly per gli agenti:'
|
|
666
719
|
pattern_help_all: Tutti gli agenti
|
|
667
720
|
pattern_help_wildcard: Tutte le istanze di MyAgent
|
|
@@ -822,8 +875,12 @@ lib:
|
|
|
822
875
|
label: Database
|
|
823
876
|
namespaces:
|
|
824
877
|
label: Spazi dei nomi
|
|
825
|
-
placeholder: Seleziona
|
|
826
|
-
help:
|
|
878
|
+
placeholder: Seleziona almeno uno spazio dei nomi
|
|
879
|
+
help: Vengono cercati solo gli spazi dei nomi selezionati
|
|
880
|
+
allNamespaces:
|
|
881
|
+
label: Cerca in tutti gli spazi dei nomi
|
|
882
|
+
help: Viene cercato ogni spazio dei nomi di questo database, inclusi quelli
|
|
883
|
+
aggiunti in seguito ({count} oggi).
|
|
827
884
|
allowedFilterFields:
|
|
828
885
|
label: Campi filtro consentiti
|
|
829
886
|
placeholder: Inserisci una chiave di metadati e premi Invio
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getSuite } from '@core/sdk/client'
|
|
2
|
+
|
|
3
|
+
const AGENT_SERVICE_PATH = '/service/agents'
|
|
4
|
+
|
|
5
|
+
// Hiding the app from the navigation is not access control: the management pages stay reachable by URL.
|
|
6
|
+
// Admission is decided by the same /suites answer the navigation is built from, so the page and the app
|
|
7
|
+
// list can never disagree about who is an agent admin.
|
|
8
|
+
export default defineNuxtRouteMiddleware(async (to) => {
|
|
9
|
+
const tenantId = to.params.tenant as string | undefined
|
|
10
|
+
if (!tenantId) return
|
|
11
|
+
|
|
12
|
+
const { $i18n } = useNuxtApp()
|
|
13
|
+
|
|
14
|
+
let isAgentAdmin = false
|
|
15
|
+
try {
|
|
16
|
+
const suite = await getSuite({ composable: '$fetch', path: { tenant_id: tenantId } })
|
|
17
|
+
isAgentAdmin = suite.services.some(service => service.path === AGENT_SERVICE_PATH)
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
// Fail closed — an unreadable suite is not a licence to open the management surface.
|
|
21
|
+
console.error('agent-admin middleware: failed to read the suite', error)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (!isAgentAdmin) {
|
|
25
|
+
return abortNavigation(createError({
|
|
26
|
+
statusCode: 403,
|
|
27
|
+
statusMessage: $i18n.t('http_error.code.403'),
|
|
28
|
+
fatal: true,
|
|
29
|
+
}))
|
|
30
|
+
}
|
|
31
|
+
})
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"license": "AGPL-3.0-or-later",
|
|
4
4
|
"author": "bbv Software Services AG (https://www.bbv.ch)",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.321.1",
|
|
7
7
|
"description": "Swiss AI Hub - Admin & Management UI (Nuxt 3 layer)",
|
|
8
8
|
"main": "./nuxt.config.ts",
|
|
9
9
|
"repository": {
|
|
@@ -138,6 +138,9 @@ import { AgentConfigImportError } from '@core/composables/agent/useImportAgentIn
|
|
|
138
138
|
|
|
139
139
|
import type { FullAgentInstanceDto, WorkflowGraph } from '@core/sdk/client'
|
|
140
140
|
|
|
141
|
+
// Nuxt collects middleware from every matched record, so this guards the whole /service/agents subtree.
|
|
142
|
+
definePageMeta({ middleware: 'agent-admin' })
|
|
143
|
+
|
|
141
144
|
type AgentGroup = {
|
|
142
145
|
agentClass: string
|
|
143
146
|
name: string
|
|
@@ -82,20 +82,27 @@ const confirmDelete = () => {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
const handleDelete = async () => {
|
|
85
|
+
const database = route.params.db as string
|
|
86
|
+
const namespace = route.params.namespace as string
|
|
87
|
+
const documentId = route.params.document_id as string
|
|
88
|
+
|
|
85
89
|
try {
|
|
90
|
+
// Leave before deleting: the delete invalidates a key that is a prefix of this document's own query, so a
|
|
91
|
+
// still-mounted page refetches the document it just removed.
|
|
92
|
+
await router.push(tenantPath(`/service/knowledge/${database}/${namespace}`))
|
|
93
|
+
|
|
86
94
|
await deleteDocument({
|
|
87
95
|
tenantId: tenantId.value!,
|
|
88
|
-
database
|
|
89
|
-
namespace
|
|
90
|
-
documentId
|
|
96
|
+
database,
|
|
97
|
+
namespace,
|
|
98
|
+
documentId,
|
|
91
99
|
})
|
|
92
|
-
schedule([
|
|
100
|
+
schedule([documentId])
|
|
93
101
|
toast.add({
|
|
94
102
|
severity: 'success',
|
|
95
103
|
summary: t('document.delete.success'),
|
|
96
104
|
life: 3000,
|
|
97
105
|
})
|
|
98
|
-
router.push(tenantPath(`/service/knowledge/${route.params.db}/${route.params.namespace}`))
|
|
99
106
|
}
|
|
100
107
|
catch (error) {
|
|
101
108
|
toast.add({
|