@cat-factory/app 0.280.2 → 0.282.0

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.
@@ -0,0 +1,58 @@
1
+ import { SKILL_GROUPS } from '@cat-factory/contracts'
2
+ import type { SkillGroup, SkillSummary } from '~/types/domain'
3
+
4
+ // ---------------------------------------------------------------------------
5
+ // Shared presentation and filtering for the account's Claude Skills catalog.
6
+ //
7
+ // A skill declares a GROUP in its `SKILL.md` frontmatter (what kind of work its playbook does),
8
+ // and the surfaces that offer skills each want a different slice of the catalog: the review
9
+ // task's queue offers the `review` group, the library manager lists everything grouped. Both the
10
+ // label lookup and the filter live here, once, rather than in each component.
11
+ //
12
+ // The label map is an exhaustive `Record<SkillGroup, string>`, so adding a member to the contracts
13
+ // vocabulary fails the typecheck here instead of rendering a raw id (or nothing) in a picker.
14
+ // ---------------------------------------------------------------------------
15
+
16
+ /** i18n catalog key per group. Prose, so keys rather than the constants VCS labels use. */
17
+ export const SKILL_GROUP_LABEL_KEYS: Record<SkillGroup, string> = {
18
+ build: 'skills.groups.build',
19
+ review: 'skills.groups.review',
20
+ test: 'skills.groups.test',
21
+ write: 'skills.groups.write',
22
+ plan: 'skills.groups.plan',
23
+ operate: 'skills.groups.operate',
24
+ other: 'skills.groups.other',
25
+ }
26
+
27
+ /** Icon per group, so a picker row reads as its shelf at a glance. */
28
+ export const SKILL_GROUP_ICONS: Record<SkillGroup, string> = {
29
+ build: 'i-lucide-hammer',
30
+ review: 'i-lucide-clipboard-check',
31
+ test: 'i-lucide-flask-conical',
32
+ write: 'i-lucide-pen-line',
33
+ plan: 'i-lucide-map',
34
+ operate: 'i-lucide-server-cog',
35
+ other: 'i-lucide-book-open-check',
36
+ }
37
+
38
+ /**
39
+ * Display order for a grouped listing: the delivery loop first, `other` last. Derived FROM the
40
+ * contracts vocabulary rather than restated, so a member added there appears (before `other`)
41
+ * instead of silently vanishing from a listing that hard-coded the order.
42
+ */
43
+ export const SKILL_GROUP_ORDER: readonly SkillGroup[] = [
44
+ ...SKILL_GROUPS.filter((g) => g !== 'other'),
45
+ 'other',
46
+ ]
47
+
48
+ /**
49
+ * The catalog entries a surface offering `group` may show, in catalog order.
50
+ *
51
+ * Filtering on the group the BACKEND already normalized: a summary's group is narrowed to the
52
+ * wire vocabulary before it reaches the snapshot, so nothing here re-derives a classification the
53
+ * catalog owns, and a skill whose manifest declared an unknown group is offered under `other`
54
+ * rather than being offered everywhere or nowhere.
55
+ */
56
+ export function skillsInGroup(catalog: readonly SkillSummary[], group: SkillGroup): SkillSummary[] {
57
+ return catalog.filter((skill) => skill.group === group)
58
+ }
@@ -5971,7 +5971,8 @@
5971
5971
  "submission_not_allowed": "Zusammenführen für diesen Lauf nicht erlaubt",
5972
5972
  "webhook_limit_reached": "Webhook-Limit erreicht",
5973
5973
  "risk_policy_inherited": "Diese Richtlinie gehört zum Konto",
5974
- "risk_policy_not_inherited": "Diese Richtlinie gehört zu diesem Board"
5974
+ "risk_policy_not_inherited": "Diese Richtlinie gehört zu diesem Board",
5975
+ "kaizen_entry_not_settled": "Der Kaizen-Eintrag wurde noch nicht bewertet"
5975
5976
  },
5976
5977
  "description": {
5977
5978
  "dependencies_unmet": "Diese Aufgabe hängt von anderen ab, die noch nicht abgeschlossen sind. Schließe sie ab oder gib sie frei und starte dann erneut.",
@@ -6012,7 +6013,8 @@
6012
6013
  "submission_not_allowed": "Die Merge-Richtlinie dieser Aufgabe erlaubt der Rolle, die diesen Lauf gestartet hat, diese Änderungsart nicht zusammenzuführen. Jemand mit einer passenden Rolle kann es tun, oder ein Admin erweitert die Richtlinie in der Merge-Vorlage.",
6013
6014
  "webhook_limit_reached": "Für diesen Workspace ist bereits die maximale Anzahl ausgehender Webhooks registriert. Entfernen Sie einen nicht mehr benötigten und registrieren Sie diesen erneut.",
6014
6015
  "risk_policy_inherited": "Sie gilt für alle Boards des Kontos und kann daher nicht von hier geändert werden. Klone sie in dieses Board und bearbeite die Kopie.",
6015
- "risk_policy_not_inherited": "Sie ist bereits die eigene Richtlinie dieses Boards: bearbeite sie direkt oder lösche sie, wenn sie nicht mehr angeboten werden soll."
6016
+ "risk_policy_not_inherited": "Sie ist bereits die eigene Richtlinie dieses Boards: bearbeite sie direkt oder lösche sie, wenn sie nicht mehr angeboten werden soll.",
6017
+ "kaizen_entry_not_settled": "Die Bewertung steht noch aus oder läuft gerade, es gibt also keine Empfehlungen zum Bestätigen. Versuchen Sie es erneut, sobald sie abgeschlossen ist."
6016
6018
  },
6017
6019
  "action": {
6018
6020
  "connectGitHub": "GitHub verbinden",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Synchronisierte Skills",
7379
7381
  "empty": "Noch keine Skills synchronisiert. Verknüpfe unten eine Repo-Quelle, um ihre Skill-Ordner zu importieren.",
7380
7382
  "resources": "{count} Ressourcen",
7381
- "pinned": "fixiert auf {commit}"
7383
+ "pinned": "fixiert auf {commit}",
7384
+ "groupUnknown": "Gibt die Gruppe „{group}“ an, die diese Version nicht kennt; sie wird unter Sonstige geführt."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Repo-Quellen",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Quelle konnte nicht geprüft werden",
7416
7419
  "sourceUnlinked": "Quelle getrennt",
7417
7420
  "unlinkSourceFailed": "Quelle konnte nicht getrennt werden"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Bauen",
7424
+ "review": "Review",
7425
+ "test": "Testen",
7426
+ "write": "Schreiben",
7427
+ "plan": "Planen",
7428
+ "operate": "Betrieb",
7429
+ "other": "Sonstige"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Review-Skills",
7433
+ "hint": "Stelle spezialisierte Review-Playbooks aus deiner Skill-Bibliothek in eine Warteschlange. Der Reviewer wendet sie in der gewählten Reihenfolge an.",
7434
+ "pickerEmpty": "Keine Review-Skills im Katalog. Ergänze group: review in der SKILL.md eines Skills, damit er hier erscheint.",
7435
+ "capped": "Ein Review führt höchstens {max} Skills aus.",
7436
+ "done": "Fertig",
7437
+ "save": "Speichern",
7438
+ "revert": "Zurücksetzen"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -757,7 +757,8 @@
757
757
  "submission_not_allowed": "Merge not allowed for this run",
758
758
  "webhook_limit_reached": "Webhook limit reached",
759
759
  "risk_policy_inherited": "This policy belongs to the account",
760
- "risk_policy_not_inherited": "This policy belongs to this board"
760
+ "risk_policy_not_inherited": "This policy belongs to this board",
761
+ "kaizen_entry_not_settled": "The Kaizen entry has not been graded yet"
761
762
  },
762
763
  "description": {
763
764
  "dependencies_unmet": "This task depends on others that aren't finished yet. Complete or unblock them, then start it again.",
@@ -801,7 +802,8 @@
801
802
  "submission_not_allowed": "This task's merge policy doesn't let the role that started this run merge this kind of change. Somebody whose role may merge it can do so, or an admin can widen the policy in the merge preset.",
802
803
  "webhook_limit_reached": "This workspace already has the maximum number of outbound webhooks registered. Remove one you no longer need, then register this again.",
803
804
  "risk_policy_inherited": "It is shared with every board in the account, so it cannot be changed from here. Clone it to this board and edit the copy.",
804
- "risk_policy_not_inherited": "It is already this board's own policy: edit it directly, or delete it if you no longer want it offered."
805
+ "risk_policy_not_inherited": "It is already this board's own policy: edit it directly, or delete it if you no longer want it offered.",
806
+ "kaizen_entry_not_settled": "Its grading is still queued or running, so there are no recommendations to acknowledge. Try again once it finishes."
805
807
  },
806
808
  "action": {
807
809
  "connectGitHub": "Connect GitHub",
@@ -7637,7 +7639,8 @@
7637
7639
  "title": "Synced skills",
7638
7640
  "empty": "No skills synced yet. Link a repo source below to import its skill folders.",
7639
7641
  "resources": "{count} resources",
7640
- "pinned": "pinned {commit}"
7642
+ "pinned": "pinned {commit}",
7643
+ "groupUnknown": "Declares the group “{group}”, which this version does not know, so it is filed under Other."
7641
7644
  },
7642
7645
  "sources": {
7643
7646
  "title": "Repo sources",
@@ -7674,6 +7677,24 @@
7674
7677
  "checkSourceFailed": "Could not check source",
7675
7678
  "sourceUnlinked": "Source unlinked",
7676
7679
  "unlinkSourceFailed": "Could not unlink source"
7680
+ },
7681
+ "groups": {
7682
+ "build": "Build",
7683
+ "review": "Review",
7684
+ "test": "Test",
7685
+ "write": "Write",
7686
+ "plan": "Plan",
7687
+ "operate": "Operate",
7688
+ "other": "Other"
7689
+ },
7690
+ "reviewQueue": {
7691
+ "label": "Review skills",
7692
+ "hint": "Queue specialist review playbooks from your skill library. The reviewer applies them in the order you pick.",
7693
+ "pickerEmpty": "No review skills in your catalog. Add group: review to a skill’s SKILL.md to offer it here.",
7694
+ "capped": "A review carries at most {max} skills.",
7695
+ "done": "Done",
7696
+ "save": "Save",
7697
+ "revert": "Revert"
7677
7698
  }
7678
7699
  },
7679
7700
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "Fusión no permitida para esta ejecución",
683
683
  "webhook_limit_reached": "Límite de webhooks alcanzado",
684
684
  "risk_policy_inherited": "Esta política pertenece a la cuenta",
685
- "risk_policy_not_inherited": "Esta política pertenece a este tablero"
685
+ "risk_policy_not_inherited": "Esta política pertenece a este tablero",
686
+ "kaizen_entry_not_settled": "La entrada de Kaizen aún no se ha evaluado"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "Esta tarea depende de otras que aún no están terminadas. Complétalas o desbloquéalas y vuelve a iniciarla.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "La política de fusión de esta tarea no permite que el rol que inició la ejecución fusione este tipo de cambio. Alguien cuyo rol sí lo permita puede hacerlo, o un administrador puede ampliar la política en el preajuste de fusión.",
724
725
  "webhook_limit_reached": "Este espacio de trabajo ya tiene registrado el número máximo de webhooks salientes. Elimina uno que ya no necesites y vuelve a registrar este.",
725
726
  "risk_policy_inherited": "Se comparte con todos los tableros de la cuenta, así que no puede cambiarse desde aquí. Clónala en este tablero y edita la copia.",
726
- "risk_policy_not_inherited": "Ya es la política propia de este tablero: edítala directamente o elimínala si no quieres que se ofrezca."
727
+ "risk_policy_not_inherited": "Ya es la política propia de este tablero: edítala directamente o elimínala si no quieres que se ofrezca.",
728
+ "kaizen_entry_not_settled": "Su evaluación sigue en cola o en curso, así que no hay recomendaciones que confirmar. Inténtalo de nuevo cuando termine."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "Conectar GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Habilidades sincronizadas",
7379
7381
  "empty": "Aún no hay habilidades sincronizadas. Vincula una fuente de repositorio abajo para importar sus carpetas de habilidades.",
7380
7382
  "resources": "{count} recursos",
7381
- "pinned": "fijada en {commit}"
7383
+ "pinned": "fijada en {commit}",
7384
+ "groupUnknown": "Declara el grupo «{group}», que esta versión no conoce, así que se archiva en Otras."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Fuentes de repositorio",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "No se pudo comprobar la fuente",
7416
7419
  "sourceUnlinked": "Fuente desvinculada",
7417
7420
  "unlinkSourceFailed": "No se pudo desvincular la fuente"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Construir",
7424
+ "review": "Revisar",
7425
+ "test": "Probar",
7426
+ "write": "Escribir",
7427
+ "plan": "Planificar",
7428
+ "operate": "Operar",
7429
+ "other": "Otras"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Habilidades de revisión",
7433
+ "hint": "Pon en cola manuales de revisión especializados de tu biblioteca de habilidades. El revisor los aplica en el orden que elijas.",
7434
+ "pickerEmpty": "No hay habilidades de revisión en tu catálogo. Añade group: review al SKILL.md de una habilidad para ofrecerla aquí.",
7435
+ "capped": "Una revisión lleva como máximo {max} habilidades.",
7436
+ "done": "Listo",
7437
+ "save": "Guardar",
7438
+ "revert": "Descartar"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "Fusion non autorisée pour cette exécution",
683
683
  "webhook_limit_reached": "Limite de webhooks atteinte",
684
684
  "risk_policy_inherited": "Cette politique appartient au compte",
685
- "risk_policy_not_inherited": "Cette politique appartient à ce tableau"
685
+ "risk_policy_not_inherited": "Cette politique appartient à ce tableau",
686
+ "kaizen_entry_not_settled": "L'entrée Kaizen n'a pas encore été évaluée"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "Cette tâche dépend d'autres qui ne sont pas encore terminées. Terminez-les ou débloquez-les, puis relancez-la.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "La politique de fusion de cette tâche n'autorise pas le rôle qui a lancé cette exécution à fusionner ce type de changement. Un coéquipier dont le rôle le permet peut le faire, ou un admin peut élargir la politique dans le préréglage de fusion.",
724
725
  "webhook_limit_reached": "Cet espace de travail a déjà enregistré le nombre maximal de webhooks sortants. Supprimez-en un dont vous n’avez plus besoin, puis enregistrez celui-ci à nouveau.",
725
726
  "risk_policy_inherited": "Elle est partagée par tous les tableaux du compte et ne peut donc pas être modifiée ici. Clonez-la vers ce tableau et modifiez la copie.",
726
- "risk_policy_not_inherited": "C'est déjà la politique propre à ce tableau : modifiez-la directement, ou supprimez-la si vous ne voulez plus qu'elle soit proposée."
727
+ "risk_policy_not_inherited": "C'est déjà la politique propre à ce tableau : modifiez-la directement, ou supprimez-la si vous ne voulez plus qu'elle soit proposée.",
728
+ "kaizen_entry_not_settled": "Son évaluation est encore en attente ou en cours, il n'y a donc aucune recommandation à accuser réception. Réessayez une fois qu'elle sera terminée."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "Connecter GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Compétences synchronisées",
7379
7381
  "empty": "Aucune compétence synchronisée pour l'instant. Reliez une source de dépôt ci-dessous pour importer ses dossiers de compétences.",
7380
7382
  "resources": "{count} ressources",
7381
- "pinned": "épinglée sur {commit}"
7383
+ "pinned": "épinglée sur {commit}",
7384
+ "groupUnknown": "Déclare le groupe « {group} », inconnu de cette version : la compétence est classée dans Autres."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Sources de dépôt",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Impossible de vérifier la source",
7416
7419
  "sourceUnlinked": "Source dissociée",
7417
7420
  "unlinkSourceFailed": "Impossible de dissocier la source"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Construire",
7424
+ "review": "Relire",
7425
+ "test": "Tester",
7426
+ "write": "Rédiger",
7427
+ "plan": "Planifier",
7428
+ "operate": "Exploiter",
7429
+ "other": "Autres"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Compétences de relecture",
7433
+ "hint": "Mettez en file des guides de relecture spécialisés issus de votre bibliothèque. Le relecteur les applique dans l’ordre choisi.",
7434
+ "pickerEmpty": "Aucune compétence de relecture dans votre catalogue. Ajoutez group: review au SKILL.md d’une compétence pour la proposer ici.",
7435
+ "capped": "Une relecture porte au maximum {max} compétences.",
7436
+ "done": "Terminé",
7437
+ "save": "Enregistrer",
7438
+ "revert": "Rétablir"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "מיזוג אינו מותר עבור הרצה זו",
683
683
  "webhook_limit_reached": "הגעת למגבלת ה-Webhooks",
684
684
  "risk_policy_inherited": "המדיניות הזו שייכת לחשבון",
685
- "risk_policy_not_inherited": "המדיניות הזו שייכת ללוח הזה"
685
+ "risk_policy_not_inherited": "המדיניות הזו שייכת ללוח הזה",
686
+ "kaizen_entry_not_settled": "רשומת הקאיזן טרם דורגה"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "משימה זו תלויה במשימות אחרות שטרם הושלמו. השלם או שחרר אותן, ולאחר מכן הפעל אותה שוב.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "מדיניות המיזוג של המשימה הזו אינה מתירה לתפקיד שהתחיל את ההרצה למזג שינוי מסוג זה. חבר צוות שתפקידו מתיר זאת יכול למזג, או שמנהל יכול להרחיב את המדיניות בהגדרת המיזוג.",
724
725
  "webhook_limit_reached": "במרחב העבודה הזה כבר רשום המספר המרבי של Webhooks יוצאים. הסירו אחד שאינכם צריכים עוד ולאחר מכן רשמו את זה שוב.",
725
726
  "risk_policy_inherited": "היא משותפת לכל הלוחות בחשבון, ולכן לא ניתן לשנות אותה מכאן. שכפלו אותה ללוח הזה וערכו את העותק.",
726
- "risk_policy_not_inherited": "היא כבר המדיניות של הלוח הזה: ערכו אותה ישירות, או מחקו אותה אם אינכם רוצים שתוצע."
727
+ "risk_policy_not_inherited": "היא כבר המדיניות של הלוח הזה: ערכו אותה ישירות, או מחקו אותה אם אינכם רוצים שתוצע.",
728
+ "kaizen_entry_not_settled": "הדירוג שלה עדיין ממתין בתור או מתבצע, ולכן אין המלצות לאישור. נסו שוב לאחר שיסתיים."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "חבר את GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "כישורים מסונכרנים",
7379
7381
  "empty": "עדיין אין כישורים מסונכרנים. קישר מקור מאגר למטה כדי לייבא את תיקיות הכישורים שלו.",
7380
7382
  "resources": "{count} משאבים",
7381
- "pinned": "מקובע ל-{commit}"
7383
+ "pinned": "מקובע ל-{commit}",
7384
+ "groupUnknown": "מצהיר על הקבוצה „{group}”, שגרסה זו אינה מכירה, ולכן הוא מסווג תחת אחר."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "מקורות מאגר",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "לא ניתן לבדוק את המקור",
7416
7419
  "sourceUnlinked": "קישור המקור בוטל",
7417
7420
  "unlinkSourceFailed": "לא ניתן לבטל את קישור המקור"
7421
+ },
7422
+ "groups": {
7423
+ "build": "בנייה",
7424
+ "review": "סקירה",
7425
+ "test": "בדיקה",
7426
+ "write": "כתיבה",
7427
+ "plan": "תכנון",
7428
+ "operate": "תפעול",
7429
+ "other": "אחר"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "כישורי סקירה",
7433
+ "hint": "הוסיפו לתור ספרי סקירה ייעודיים מספריית הכישורים. הסוקר מיישם אותם לפי סדר הבחירה.",
7434
+ "pickerEmpty": "אין כישורי סקירה בקטלוג. הוסיפו group: review לקובץ SKILL.md של כישור כדי להציע אותו כאן.",
7435
+ "capped": "סקירה נושאת {max} כישורים לכל היותר.",
7436
+ "done": "סיום",
7437
+ "save": "שמירה",
7438
+ "revert": "שחזור"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -5971,7 +5971,8 @@
5971
5971
  "submission_not_allowed": "Unione non consentita per questa esecuzione",
5972
5972
  "webhook_limit_reached": "Limite di webhook raggiunto",
5973
5973
  "risk_policy_inherited": "Questo criterio appartiene all'account",
5974
- "risk_policy_not_inherited": "Questo criterio appartiene a questa bacheca"
5974
+ "risk_policy_not_inherited": "Questo criterio appartiene a questa bacheca",
5975
+ "kaizen_entry_not_settled": "La voce Kaizen non è ancora stata valutata"
5975
5976
  },
5976
5977
  "description": {
5977
5978
  "dependencies_unmet": "Questa attività dipende da altre non ancora completate. Completale o sbloccale, poi avviala di nuovo.",
@@ -6012,7 +6013,8 @@
6012
6013
  "submission_not_allowed": "La politica di unione di questa attività non consente al ruolo che ha avviato l'esecuzione di unire questo tipo di modifica. Un collega il cui ruolo lo consente può farlo, oppure un amministratore può ampliare la politica nel preset di unione.",
6013
6014
  "webhook_limit_reached": "Questo spazio di lavoro ha già registrato il numero massimo di webhook in uscita. Rimuovine uno che non ti serve più, poi registra di nuovo questo.",
6014
6015
  "risk_policy_inherited": "È condiviso con tutte le bacheche dell'account, quindi non può essere modificato da qui. Clonalo in questa bacheca e modifica la copia.",
6015
- "risk_policy_not_inherited": "È già il criterio proprio di questa bacheca: modificalo direttamente, oppure eliminalo se non vuoi più che venga offerto."
6016
+ "risk_policy_not_inherited": "È già il criterio proprio di questa bacheca: modificalo direttamente, oppure eliminalo se non vuoi più che venga offerto.",
6017
+ "kaizen_entry_not_settled": "La sua valutazione è ancora in coda o in corso, quindi non ci sono raccomandazioni da confermare. Riprova quando sarà terminata."
6016
6018
  },
6017
6019
  "action": {
6018
6020
  "connectGitHub": "Collega GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Competenze sincronizzate",
7379
7381
  "empty": "Nessuna competenza ancora sincronizzata. Collega una fonte di repository qui sotto per importare le sue cartelle di competenze.",
7380
7382
  "resources": "{count} risorse",
7381
- "pinned": "fissata su {commit}"
7383
+ "pinned": "fissata su {commit}",
7384
+ "groupUnknown": "Dichiara il gruppo «{group}», che questa versione non conosce, quindi è archiviata in Altre."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Fonti di repository",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Impossibile controllare la fonte",
7416
7419
  "sourceUnlinked": "Fonte scollegata",
7417
7420
  "unlinkSourceFailed": "Impossibile scollegare la fonte"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Costruire",
7424
+ "review": "Revisionare",
7425
+ "test": "Testare",
7426
+ "write": "Scrivere",
7427
+ "plan": "Pianificare",
7428
+ "operate": "Operare",
7429
+ "other": "Altre"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Competenze di revisione",
7433
+ "hint": "Metti in coda manuali di revisione specialistici dalla tua libreria. Il revisore li applica nell’ordine scelto.",
7434
+ "pickerEmpty": "Nessuna competenza di revisione nel catalogo. Aggiungi group: review al SKILL.md di una competenza per proporla qui.",
7435
+ "capped": "Una revisione porta al massimo {max} competenze.",
7436
+ "done": "Fatto",
7437
+ "save": "Salva",
7438
+ "revert": "Ripristina"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "この実行ではマージできません",
683
683
  "webhook_limit_reached": "Webhook の上限に達しました",
684
684
  "risk_policy_inherited": "このポリシーはアカウントのものです",
685
- "risk_policy_not_inherited": "このポリシーはこのボードのものです"
685
+ "risk_policy_not_inherited": "このポリシーはこのボードのものです",
686
+ "kaizen_entry_not_settled": "この Kaizen エントリはまだ採点されていません"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "このタスクは、まだ完了していない他のタスクに依存しています。それらを完了または解除してから、もう一度開始してください。",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "このタスクのマージポリシーでは、実行を開始したロールがこの種類の変更をマージすることを許可していません。マージできるロールのメンバーが対応するか、管理者がマージプリセットでポリシーを広げてください。",
724
725
  "webhook_limit_reached": "このワークスペースには送信 Webhook がすでに上限数まで登録されています。不要なものを削除してから、もう一度登録してください。",
725
726
  "risk_policy_inherited": "アカウント内のすべてのボードで共有されているため、ここからは変更できません。このボードに複製してコピーを編集してください。",
726
- "risk_policy_not_inherited": "すでにこのボード自身のポリシーです。直接編集するか、提示したくない場合は削除してください。"
727
+ "risk_policy_not_inherited": "すでにこのボード自身のポリシーです。直接編集するか、提示したくない場合は削除してください。",
728
+ "kaizen_entry_not_settled": "採点が待機中または実行中のため、確認できる改善提案がまだありません。完了してから再試行してください。"
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "GitHub に接続",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "同期済みスキル",
7379
7381
  "empty": "まだスキルが同期されていません。下のリポジトリソースをリンクしてスキルフォルダーをインポートしてください。",
7380
7382
  "resources": "リソース {count} 件",
7381
- "pinned": "{commit} に固定"
7383
+ "pinned": "{commit} に固定",
7384
+ "groupUnknown": "このバージョンが知らないグループ「{group}」を宣言しているため、その他に分類しています。"
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "リポジトリソース",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "ソースを確認できませんでした",
7416
7419
  "sourceUnlinked": "ソースのリンクを解除しました",
7417
7420
  "unlinkSourceFailed": "ソースのリンクを解除できませんでした"
7421
+ },
7422
+ "groups": {
7423
+ "build": "ビルド",
7424
+ "review": "レビュー",
7425
+ "test": "テスト",
7426
+ "write": "ライティング",
7427
+ "plan": "計画",
7428
+ "operate": "運用",
7429
+ "other": "その他"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "レビュースキル",
7433
+ "hint": "スキルライブラリから専門的なレビュー手順書をキューに追加します。レビュアーは選んだ順に適用します。",
7434
+ "pickerEmpty": "カタログにレビュースキルがありません。スキルの SKILL.md に group: review を追加するとここに表示されます。",
7435
+ "capped": "1 回のレビューで扱えるスキルは最大 {max} 件です。",
7436
+ "done": "完了",
7437
+ "save": "保存",
7438
+ "revert": "元に戻す"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "Scalanie niedozwolone dla tego uruchomienia",
683
683
  "webhook_limit_reached": "Osiągnięto limit webhooków",
684
684
  "risk_policy_inherited": "Ta zasada należy do konta",
685
- "risk_policy_not_inherited": "Ta zasada należy do tej tablicy"
685
+ "risk_policy_not_inherited": "Ta zasada należy do tej tablicy",
686
+ "kaizen_entry_not_settled": "Wpis Kaizen nie został jeszcze oceniony"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "To zadanie zależy od innych, które nie zostały jeszcze ukończone. Ukończ je lub odblokuj, a następnie uruchom je ponownie.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "Polityka scalania tego zadania nie pozwala roli, która rozpoczęła to uruchomienie, scalić tego typu zmiany. Może to zrobić osoba o odpowiedniej roli albo administrator może rozszerzyć politykę w ustawieniu scalania.",
724
725
  "webhook_limit_reached": "Ta przestrzeń robocza ma już zarejestrowaną maksymalną liczbę wychodzących webhooków. Usuń jeden, którego już nie potrzebujesz, a następnie zarejestruj ten ponownie.",
725
726
  "risk_policy_inherited": "Jest wspólna dla wszystkich tablic konta, więc nie można jej tu zmienić. Sklonuj ją do tej tablicy i edytuj kopię.",
726
- "risk_policy_not_inherited": "To już własna zasada tej tablicy: edytuj ją bezpośrednio albo usuń, jeśli nie ma być dłużej oferowana."
727
+ "risk_policy_not_inherited": "To już własna zasada tej tablicy: edytuj ją bezpośrednio albo usuń, jeśli nie ma być dłużej oferowana.",
728
+ "kaizen_entry_not_settled": "Jego ocena wciąż czeka w kolejce lub trwa, więc nie ma rekomendacji do potwierdzenia. Spróbuj ponownie po jej zakończeniu."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "Połącz GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Zsynchronizowane umiejętności",
7379
7381
  "empty": "Nie zsynchronizowano jeszcze żadnych umiejętności. Połącz poniżej źródło repozytorium, aby zaimportować jego foldery umiejętności.",
7380
7382
  "resources": "zasoby: {count}",
7381
- "pinned": "przypięta do {commit}"
7383
+ "pinned": "przypięta do {commit}",
7384
+ "groupUnknown": "Deklaruje grupę „{group}”, której ta wersja nie zna, więc trafia do Inne."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Źródła repozytoriów",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Nie udało się sprawdzić źródła",
7416
7419
  "sourceUnlinked": "Źródło odłączone",
7417
7420
  "unlinkSourceFailed": "Nie udało się odłączyć źródła"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Budowanie",
7424
+ "review": "Przegląd",
7425
+ "test": "Testowanie",
7426
+ "write": "Pisanie",
7427
+ "plan": "Planowanie",
7428
+ "operate": "Utrzymanie",
7429
+ "other": "Inne"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Umiejętności przeglądu",
7433
+ "hint": "Dodaj do kolejki wyspecjalizowane podręczniki przeglądu z biblioteki umiejętności. Recenzent zastosuje je w wybranej kolejności.",
7434
+ "pickerEmpty": "Brak umiejętności przeglądu w katalogu. Dodaj group: review w pliku SKILL.md umiejętności, aby pojawiła się tutaj.",
7435
+ "capped": "Jeden przegląd obejmuje najwyżej {max} umiejętności.",
7436
+ "done": "Gotowe",
7437
+ "save": "Zapisz",
7438
+ "revert": "Przywróć"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "Bu çalışma için birleştirmeye izin verilmiyor",
683
683
  "webhook_limit_reached": "Webhook sınırına ulaşıldı",
684
684
  "risk_policy_inherited": "Bu ilke hesaba ait",
685
- "risk_policy_not_inherited": "Bu ilke bu panoya ait"
685
+ "risk_policy_not_inherited": "Bu ilke bu panoya ait",
686
+ "kaizen_entry_not_settled": "Kaizen kaydı henüz değerlendirilmedi"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "Bu görev henüz tamamlanmamış başka görevlere bağlı. Onları tamamla veya engelini kaldır, ardından yeniden başlat.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "Bu görevin birleştirme politikası, çalışmayı başlatan rolün bu tür bir değişikliği birleştirmesine izin vermiyor. Rolü buna izin veren bir takım arkadaşı birleştirebilir ya da bir yönetici birleştirme ön ayarındaki politikayı genişletebilir.",
724
725
  "webhook_limit_reached": "Bu çalışma alanında zaten en fazla sayıda giden webhook kayıtlı. Artık ihtiyaç duymadığınız birini kaldırın ve bunu yeniden kaydedin.",
725
726
  "risk_policy_inherited": "Hesaptaki tüm panolarla paylaşıldığı için buradan değiştirilemez. Bu panoya kopyalayıp kopyayı düzenleyin.",
726
- "risk_policy_not_inherited": "Zaten bu panonun kendi ilkesi: doğrudan düzenleyin ya da artık sunulmasını istemiyorsanız silin."
727
+ "risk_policy_not_inherited": "Zaten bu panonun kendi ilkesi: doğrudan düzenleyin ya da artık sunulmasını istemiyorsanız silin.",
728
+ "kaizen_entry_not_settled": "Değerlendirmesi hâlâ sırada veya sürüyor, bu yüzden onaylanacak bir öneri yok. Tamamlandığında yeniden deneyin."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "GitHub'ı bağla",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Senkronize beceriler",
7379
7381
  "empty": "Henüz senkronize edilmiş beceri yok. Beceri klasörlerini içe aktarmak için aşağıda bir depo kaynağı bağlayın.",
7380
7382
  "resources": "{count} kaynak",
7381
- "pinned": "{commit} üzerine sabitlendi"
7383
+ "pinned": "{commit} üzerine sabitlendi",
7384
+ "groupUnknown": "Bu sürümün bilmediği “{group}” grubunu bildiriyor, bu yüzden Diğer altında listeleniyor."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Depo kaynakları",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Kaynak denetlenemedi",
7416
7419
  "sourceUnlinked": "Kaynağın bağlantısı kaldırıldı",
7417
7420
  "unlinkSourceFailed": "Kaynağın bağlantısı kaldırılamadı"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Geliştirme",
7424
+ "review": "İnceleme",
7425
+ "test": "Test",
7426
+ "write": "Yazma",
7427
+ "plan": "Planlama",
7428
+ "operate": "İşletme",
7429
+ "other": "Diğer"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "İnceleme becerileri",
7433
+ "hint": "Beceri kitaplığınızdan uzmanlaşmış inceleme kılavuzlarını sıraya alın. İnceleyici bunları seçtiğiniz sırayla uygular.",
7434
+ "pickerEmpty": "Katalogda inceleme becerisi yok. Bir becerinin SKILL.md dosyasına group: review ekleyin.",
7435
+ "capped": "Bir inceleme en fazla {max} beceri taşır.",
7436
+ "done": "Tamam",
7437
+ "save": "Kaydet",
7438
+ "revert": "Geri al"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
@@ -682,7 +682,8 @@
682
682
  "submission_not_allowed": "Злиття для цього запуску не дозволено",
683
683
  "webhook_limit_reached": "Досягнуто ліміт вебхуків",
684
684
  "risk_policy_inherited": "Ця політика належить обліковому запису",
685
- "risk_policy_not_inherited": "Ця політика належить цій дошці"
685
+ "risk_policy_not_inherited": "Ця політика належить цій дошці",
686
+ "kaizen_entry_not_settled": "Запис Kaizen ще не оцінено"
686
687
  },
687
688
  "description": {
688
689
  "dependencies_unmet": "Це завдання залежить від інших, які ще не завершені. Заверши або розблокуй їх, а потім запусти його знову.",
@@ -723,7 +724,8 @@
723
724
  "submission_not_allowed": "Політика злиття цього завдання не дозволяє ролі, яка розпочала запуск, зливати такий тип змін. Це може зробити колега з відповідною роллю, або адміністратор може розширити політику в наборі злиття.",
724
725
  "webhook_limit_reached": "У цьому робочому просторі вже зареєстровано максимальну кількість вихідних вебхуків. Видаліть той, який більше не потрібен, і зареєструйте цей знову.",
725
726
  "risk_policy_inherited": "Вона спільна для всіх дошок облікового запису, тому змінити її звідси не можна. Клонуйте її на цю дошку й редагуйте копію.",
726
- "risk_policy_not_inherited": "Це вже власна політика цієї дошки: редагуйте її напряму або видаліть, якщо більше не хочете її пропонувати."
727
+ "risk_policy_not_inherited": "Це вже власна політика цієї дошки: редагуйте її напряму або видаліть, якщо більше не хочете її пропонувати.",
728
+ "kaizen_entry_not_settled": "Його оцінювання ще в черзі або триває, тож немає рекомендацій для підтвердження. Спробуйте ще раз, коли воно завершиться."
727
729
  },
728
730
  "action": {
729
731
  "connectGitHub": "Під'єднати GitHub",
@@ -7378,7 +7380,8 @@
7378
7380
  "title": "Синхронізовані навички",
7379
7381
  "empty": "Ще немає синхронізованих навичок. Пов'яжіть джерело репозиторію нижче, щоб імпортувати його папки навичок.",
7380
7382
  "resources": "ресурсів: {count}",
7381
- "pinned": "закріплено на {commit}"
7383
+ "pinned": "закріплено на {commit}",
7384
+ "groupUnknown": "Оголошує групу «{group}», якої ця версія не знає, тож навичку віднесено до Інше."
7382
7385
  },
7383
7386
  "sources": {
7384
7387
  "title": "Джерела репозиторіїв",
@@ -7415,6 +7418,24 @@
7415
7418
  "checkSourceFailed": "Не вдалося перевірити джерело",
7416
7419
  "sourceUnlinked": "Джерело від'єднано",
7417
7420
  "unlinkSourceFailed": "Не вдалося від'єднати джерело"
7421
+ },
7422
+ "groups": {
7423
+ "build": "Розробка",
7424
+ "review": "Рецензування",
7425
+ "test": "Тестування",
7426
+ "write": "Написання",
7427
+ "plan": "Планування",
7428
+ "operate": "Експлуатація",
7429
+ "other": "Інше"
7430
+ },
7431
+ "reviewQueue": {
7432
+ "label": "Навички рецензування",
7433
+ "hint": "Додайте до черги спеціалізовані посібники рецензування з бібліотеки навичок. Рецензент застосує їх у вибраному порядку.",
7434
+ "pickerEmpty": "У каталозі немає навичок рецензування. Додайте group: review у SKILL.md навички, щоб вона зʼявилася тут.",
7435
+ "capped": "Одне рецензування несе щонайбільше {max} навичок.",
7436
+ "done": "Готово",
7437
+ "save": "Зберегти",
7438
+ "revert": "Скасувати зміни"
7418
7439
  }
7419
7440
  },
7420
7441
  "merge": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.280.2",
3
+ "version": "0.282.0",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,7 +40,7 @@
40
40
  "valibot": "^1.4.2",
41
41
  "vue": "3.5.41",
42
42
  "wretch": "^3.0.9",
43
- "@cat-factory/contracts": "0.320.0"
43
+ "@cat-factory/contracts": "0.323.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",