@cat-factory/app 0.288.2 → 0.290.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.
Files changed (34) hide show
  1. package/app/components/environments/EnvironmentStatusPanel.logic.spec.ts +70 -0
  2. package/app/components/environments/EnvironmentStatusPanel.logic.ts +48 -0
  3. package/app/components/environments/EnvironmentStatusPanel.vue +21 -4
  4. package/app/components/foundational/FoundationalServiceCatalogList.vue +3 -0
  5. package/app/components/foundational/FoundationalServiceManager.vue +9 -1
  6. package/app/components/foundational/FoundationalServiceRegistry.vue +3 -0
  7. package/app/components/foundational/ServiceCatalogConnection.vue +392 -0
  8. package/app/components/outcome/OutcomeSummaryWindow.logic.spec.ts +1 -0
  9. package/app/components/outcome/OutcomeSummaryWindow.vue +10 -1
  10. package/app/components/panels/ObservabilityPanel.vue +19 -0
  11. package/app/components/providers/ApiKeysSection.vue +24 -14
  12. package/app/components/provisioning/ProvisioningLogsDrawer.vue +1 -0
  13. package/app/components/settings/OpenRouterCatalogPanel.vue +8 -0
  14. package/app/composables/api/foundationalServices.ts +24 -0
  15. package/app/composables/usePipelineErrorToast.ts +5 -0
  16. package/app/stores/foundationalServices.ts +22 -0
  17. package/app/stores/observability.ts +6 -0
  18. package/app/stores/serviceCatalogConnection.spec.ts +116 -0
  19. package/app/stores/serviceCatalogConnection.ts +131 -0
  20. package/app/types/foundationalServices.ts +14 -0
  21. package/app/utils/runOutcome.ts +1 -0
  22. package/app/utils/serviceCatalog.spec.ts +51 -0
  23. package/app/utils/serviceCatalog.ts +68 -0
  24. package/i18n/locales/de.json +90 -3
  25. package/i18n/locales/en.json +90 -3
  26. package/i18n/locales/es.json +90 -3
  27. package/i18n/locales/fr.json +90 -3
  28. package/i18n/locales/he.json +90 -3
  29. package/i18n/locales/it.json +90 -3
  30. package/i18n/locales/ja.json +90 -3
  31. package/i18n/locales/pl.json +90 -3
  32. package/i18n/locales/tr.json +90 -3
  33. package/i18n/locales/uk.json +90 -3
  34. package/package.json +2 -2
@@ -617,7 +617,11 @@
617
617
  "binary_generators_unreachable": "Les intégrations génératives de ce déploiement n'ont pas pu être lues pour l'instant, l'exécution n'a donc pas démarré. Rien n'est mal configuré et aucune modification n'est nécessaire : réessayez une fois la connexion rétablie.",
618
618
  "foundational_builtins_unreachable": "Les services fondamentaux intégrés de ce déploiement n'ont pas pu être lus pour l'instant. Rien n'est mal configuré et aucune modification n'est nécessaire : réessayez une fois la connexion rétablie.",
619
619
  "connection_credentials_unreadable": "Les identifiants enregistrés pour cette connexion n'ont pas pu être lus. Si ce déploiement peut joindre le service qui détient sa clé, reconnectez la source pour les remplacer ; sinon, réessayez une fois cette connexion rétablie.",
620
- "vcs_capability_unsupported": "Le fournisseur de gestion de code source connecté à cet espace de travail ne propose pas cette opération. Rien n'est mal configuré et aucun réglage n'y changera quoi que ce soit : elle n'est pas disponible pour ce fournisseur."
620
+ "vcs_capability_unsupported": "Le fournisseur de gestion de code source connecté à cet espace de travail ne propose pas cette opération. Rien n'est mal configuré et aucun réglage n'y changera quoi que ce soit : elle n'est pas disponible pour ce fournisseur.",
621
+ "service_catalog_unreachable": "Le portail développeur de cet espace n'a pas répondu, ou a répondu quelque chose que cette plateforme ne sait pas lire. Rien n'est mal configuré ici et aucune modification n'aidera : réessayez dès que le portail est joignable.",
622
+ "service_catalog_unauthorized": "Le portail développeur a refusé les identifiants enregistrés. Ils ont très probablement été renouvelés ou révoqués : ouvrez les réglages du catalogue de services et saisissez-en des valides.",
623
+ "service_catalog_filter_missing": "Le filtre d'entités de cette connexion n'a pas pu être lu, il n'y a donc rien à importer. Enregistrez à nouveau la connexion au catalogue de services pour le rétablir.",
624
+ "service_catalog_response_too_large": "Le portail développeur a renvoyé plus de données que cette plateforme n'en accepte dans une seule réponse. Ouvrez les paramètres du catalogue de services et abaissez la limite de services, ou désactivez l'import des définitions d'interface, puis relancez l'import."
621
625
  }
622
626
  },
623
627
  "action": {
@@ -1790,6 +1794,8 @@
1790
1794
  "cacheRead": "{tokens} lus depuis le cache",
1791
1795
  "cacheWrite": "{tokens} écrits dans le cache",
1792
1796
  "total": "total {duration}",
1797
+ "viaUpstream": "via {upstream}",
1798
+ "reportedCost": "facturé {cost}",
1793
1799
  "prompt": "Prompt",
1794
1800
  "promptPrefixOmitted": "(nouveaux messages uniquement : {count} antérieurs omis)",
1795
1801
  "response": "Réponse",
@@ -3612,6 +3618,7 @@
3612
3618
  "context": "{value} ctx",
3613
3619
  "contextThousands": "{value}K ctx",
3614
3620
  "price": "{input}/{output} par Mtok",
3621
+ "retiresOn": "Retiré le {date}",
3615
3622
  "toast": {
3616
3623
  "connected": "Clé OpenRouter connectée",
3617
3624
  "connectFailed": "Impossible de connecter la clé",
@@ -6286,6 +6293,7 @@
6286
6293
  "empty": "Aucun environnement éphémère pour cette exécution.",
6287
6294
  "provisionTypeLabel": "Type de provisionnement :",
6288
6295
  "engineLabel": "Moteur :",
6296
+ "statusNote": "Note du fournisseur : {note}",
6289
6297
  "provisionType": {
6290
6298
  "kubernetes": "Kubernetes",
6291
6299
  "docker-compose": "Docker Compose",
@@ -6311,6 +6319,7 @@
6311
6319
  "teardown": "Démanteler",
6312
6320
  "teardown-verify": "Vérification du démantèlement",
6313
6321
  "status": "Vérification de l'état",
6322
+ "remediate": "Réparation sur place",
6314
6323
  "dispatch": "Démarrer",
6315
6324
  "release": "Démanteler",
6316
6325
  "poll-failure": "Contrôle de santé"
@@ -6541,7 +6550,8 @@
6541
6550
  },
6542
6551
  "tab": {
6543
6552
  "catalog": "Catalogue",
6544
- "sources": "Dépôts liés"
6553
+ "sources": "Dépôts liés",
6554
+ "portal": "Portail développeur"
6545
6555
  },
6546
6556
  "panel": {
6547
6557
  "title": "Services fondamentaux",
@@ -6555,7 +6565,10 @@
6555
6565
  "format": {
6556
6566
  "openapi": "OpenAPI",
6557
6567
  "toadContract": "toad-contracts",
6558
- "lokaliseApiContract": "lokalise/api-contract"
6568
+ "lokaliseApiContract": "lokalise/api-contract",
6569
+ "asyncapi": "AsyncAPI",
6570
+ "graphql": "GraphQL",
6571
+ "grpc": "gRPC"
6559
6572
  },
6560
6573
  "contracts": {
6561
6574
  "omitted": "+{count} autres non listées",
@@ -8098,5 +8111,79 @@
8098
8111
  "title": "Rien à comparer"
8099
8112
  },
8100
8113
  "loadFailed": "Impossible de charger les candidats générés."
8114
+ },
8115
+ "serviceCatalog": {
8116
+ "unavailable": "L'import d'un catalogue de services n'est pas configuré pour ce déploiement.",
8117
+ "intro": "Indiquez à la plateforme le portail développeur que votre organisation exploite déjà : ses services sont importés dans le catalogue ci-dessus, avec leur identité, leur responsable et les définitions d'API que chacun publie. Les agents qui trient ou instruisent un incident les lisent pour déterminer à quel service un travail appartient.",
8118
+ "summary": "Filtre : {filter} · au plus {max} services",
8119
+ "form": {
8120
+ "connect": "Connecter un portail",
8121
+ "replace": "Remplacer cette connexion"
8122
+ },
8123
+ "field": {
8124
+ "baseUrl": "URL du portail",
8125
+ "authMode": "Authentification",
8126
+ "token": "Jeton de service",
8127
+ "sharedSecret": "Secret partagé",
8128
+ "tokenUrl": "Point de terminaison du jeton",
8129
+ "clientId": "Identifiant client",
8130
+ "clientSecret": "Secret client",
8131
+ "scope": "Scope (facultatif)",
8132
+ "audience": "Audience (facultatif)",
8133
+ "username": "Nom d'utilisateur",
8134
+ "password": "Mot de passe",
8135
+ "headerName": "Nom de l'en-tête",
8136
+ "headerValue": "Valeur de l'en-tête",
8137
+ "secondHeaderName": "Second en-tête (facultatif)",
8138
+ "secondHeaderValue": "Valeur du second en-tête",
8139
+ "entityFilter": "Filtre d'entités",
8140
+ "maxServices": "Nombre maximal de services",
8141
+ "includeApis": "Importer les définitions d'API publiées par chaque service"
8142
+ },
8143
+ "help": {
8144
+ "baseUrl": "L'URL de base de votre instance Backstage. Un hôte privé ou interne n'est admis que si le déploiement l'autorise.",
8145
+ "token": "Un jeton de service à service issu de la configuration d'accès externe de Backstage.",
8146
+ "sharedSecret": "Un secret en base64 tiré de `backend.auth.keys`. La plateforme signe avec lui un jeton de courte durée à chaque requête.",
8147
+ "headers": "Pour une passerelle qui authentifie avec ses propres en-têtes, comme un jeton de service Cloudflare Access.",
8148
+ "entityFilter": "Un terme `key=value` par ligne, tous devant correspondre. Par défaut `kind=component`. Restreignez-le aux services que vous voulez proposer comme capacités partagées.",
8149
+ "maxServices": "Un import qui atteint ce plafond est signalé comme un extrait du portail, pas comme sa totalité."
8150
+ },
8151
+ "auth": {
8152
+ "none": "Aucune",
8153
+ "staticToken": "Jeton de service statique",
8154
+ "legacySharedSecret": "Secret partagé (jeton historique)",
8155
+ "oauth2": "Identifiants client OAuth2",
8156
+ "basic": "HTTP Basic",
8157
+ "headers": "En-têtes personnalisés"
8158
+ },
8159
+ "status": {
8160
+ "ok": "Importé",
8161
+ "partial": "Importé en partie",
8162
+ "failed": "Import échoué",
8163
+ "never": "Jamais importé"
8164
+ },
8165
+ "action": {
8166
+ "connect": "Connecter",
8167
+ "replace": "Remplacer",
8168
+ "probe": "Tester la connexion",
8169
+ "import": "Importer maintenant",
8170
+ "disconnect": "Déconnecter"
8171
+ },
8172
+ "disconnect": {
8173
+ "title": "Déconnecter le catalogue de services ?",
8174
+ "body": "Les services importés depuis ce portail sont retirés du catalogue. Rien de ce que vous avez enregistré ou téléversé à la main n'est touché.",
8175
+ "confirm": "Déconnecter"
8176
+ },
8177
+ "toast": {
8178
+ "connected": "Catalogue de services connecté",
8179
+ "connectFailed": "Impossible de connecter le catalogue de services",
8180
+ "probeOk": "Le portail a répondu",
8181
+ "probeFailed": "Impossible d'atteindre le portail",
8182
+ "imported": "Catalogue de services importé",
8183
+ "importedDetail": "{upserted} mis à jour, {unchanged} inchangés, {tombstoned} retirés",
8184
+ "importFailed": "Impossible d'importer le catalogue de services",
8185
+ "disconnected": "Catalogue de services déconnecté",
8186
+ "disconnectFailed": "Impossible de déconnecter le catalogue de services"
8187
+ }
8101
8188
  }
8102
8189
  }
@@ -617,7 +617,11 @@
617
617
  "binary_generators_unreachable": "לא ניתן היה לקרוא כרגע את האינטגרציות הגנרטיביות של הפריסה הזו, ולכן ההרצה לא התחילה. אין כאן תצורה שגויה ולא נדרש שום שינוי: נסו שוב כשהחיבור יחזור.",
618
618
  "foundational_builtins_unreachable": "לא ניתן היה לקרוא כרגע את שירותי הבסיס המובנים של הפריסה הזו. אין כאן תצורה שגויה ולא נדרש שום שינוי: נסו שוב כשהחיבור יחזור.",
619
619
  "connection_credentials_unreadable": "לא ניתן היה לקרוא את פרטי הגישה השמורים של החיבור הזה. אם הפריסה הזו מצליחה להגיע לשירות שמחזיק במפתח שלה, חברו מחדש את המקור כדי להחליף אותם; אחרת נסו שוב כשהחיבור הזה יחזור.",
620
- "vcs_capability_unsupported": "ספק ניהול קוד המקור המחובר למרחב העבודה הזה אינו תומך בפעולה הזו. אין כאן תצורה שגויה ושינוי הגדרות לא יעזור: הפעולה אינה זמינה עבור הספק הזה."
620
+ "vcs_capability_unsupported": "ספק ניהול קוד המקור המחובר למרחב העבודה הזה אינו תומך בפעולה הזו. אין כאן תצורה שגויה ושינוי הגדרות לא יעזור: הפעולה אינה זמינה עבור הספק הזה.",
621
+ "service_catalog_unreachable": "פורטל המפתחים של מרחב העבודה הזה לא ענה, או ענה במשהו שהפלטפורמה אינה יכולה לקרוא. אין כאן תקלת הגדרה ושום שינוי לא יעזור: נסו שוב כשהפורטל יהיה נגיש.",
622
+ "service_catalog_unauthorized": "פורטל המפתחים דחה את פרטי ההזדהות השמורים. סביר שהם הוחלפו או בוטלו: פתחו את הגדרות קטלוג השירותים והזינו פרטים בתוקף.",
623
+ "service_catalog_filter_missing": "לא ניתן לקרוא את מסנן הישויות של החיבור הזה, כך שאין מה לייבא. שמרו מחדש את חיבור קטלוג השירותים כדי לשחזר אותו.",
624
+ "service_catalog_response_too_large": "פורטל המפתחים החזיר יותר נתונים ממה שהפלטפורמה הזו מחזיקה בתשובה אחת. פתחו את הגדרות קטלוג השירותים והנמיכו את מגבלת השירותים, או כבו את ייבוא הגדרות הממשק, ואז ייבאו שוב."
621
625
  }
622
626
  },
623
627
  "action": {
@@ -1790,6 +1794,8 @@
1790
1794
  "cacheRead": "{tokens} נקראו מהמטמון",
1791
1795
  "cacheWrite": "{tokens} נכתבו למטמון",
1792
1796
  "total": "סך הכל {duration}",
1797
+ "viaUpstream": "דרך {upstream}",
1798
+ "reportedCost": "חויב {cost}",
1793
1799
  "prompt": "פרומפט",
1794
1800
  "promptPrefixOmitted": "(הודעות חדשות בלבד: {count} מוקדמות יותר הושמטו)",
1795
1801
  "response": "תגובה",
@@ -3754,6 +3760,7 @@
3754
3760
  "context": "{value} ctx",
3755
3761
  "contextThousands": "{value}K ctx",
3756
3762
  "price": "{input}/{output} לכל Mtok",
3763
+ "retiresOn": "יוצא משימוש ב-{date}",
3757
3764
  "toast": {
3758
3765
  "connected": "מפתח OpenRouter מחובר",
3759
3766
  "connectFailed": "לא ניתן היה לחבר מפתח",
@@ -6286,6 +6293,7 @@
6286
6293
  "empty": "אין סביבה זמנית להרצה הזו.",
6287
6294
  "provisionTypeLabel": "סוג אספקה:",
6288
6295
  "engineLabel": "מנוע:",
6296
+ "statusNote": "הערת הספק: {note}",
6289
6297
  "provisionType": {
6290
6298
  "kubernetes": "Kubernetes",
6291
6299
  "docker-compose": "Docker Compose",
@@ -6311,6 +6319,7 @@
6311
6319
  "teardown": "פירוק",
6312
6320
  "teardown-verify": "בדיקת פירוק",
6313
6321
  "status": "בדיקת מצב",
6322
+ "remediate": "תיקון במקום",
6314
6323
  "dispatch": "הקמה",
6315
6324
  "release": "פירוק",
6316
6325
  "poll-failure": "בדיקת תקינות"
@@ -6541,7 +6550,8 @@
6541
6550
  },
6542
6551
  "tab": {
6543
6552
  "catalog": "קטלוג",
6544
- "sources": "מאגרים מקושרים"
6553
+ "sources": "מאגרים מקושרים",
6554
+ "portal": "פורטל מפתחים"
6545
6555
  },
6546
6556
  "panel": {
6547
6557
  "title": "שירותי תשתית",
@@ -6555,7 +6565,10 @@
6555
6565
  "format": {
6556
6566
  "openapi": "OpenAPI",
6557
6567
  "toadContract": "toad-contracts",
6558
- "lokaliseApiContract": "lokalise/api-contract"
6568
+ "lokaliseApiContract": "lokalise/api-contract",
6569
+ "asyncapi": "AsyncAPI",
6570
+ "graphql": "GraphQL",
6571
+ "grpc": "gRPC"
6559
6572
  },
6560
6573
  "contracts": {
6561
6574
  "omitted": "עוד {count} שאינם ברשימה",
@@ -8098,5 +8111,79 @@
8098
8111
  "title": "אין מה להשוות"
8099
8112
  },
8100
8113
  "loadFailed": "לא ניתן היה לטעון את המועמדים שנוצרו."
8114
+ },
8115
+ "serviceCatalog": {
8116
+ "unavailable": "ייבוא קטלוג שירותים אינו מוגדר בפריסה הזאת.",
8117
+ "intro": "הפנו את הפלטפורמה לפורטל המפתחים שהארגון שלכם כבר מפעיל: השירותים שבו ייובאו לקטלוג שלמעלה, יחד עם הזהות שלהם, האחראי עליהם והגדרות ה-API שכל אחד מפרסם. סוכנים שמסווגים או חוקרים תקלות קוראים אותם כדי להבין לאיזה שירות שייכת העבודה.",
8118
+ "summary": "מסנן: {filter} · עד {max} שירותים",
8119
+ "form": {
8120
+ "connect": "חיבור פורטל",
8121
+ "replace": "החלפת החיבור"
8122
+ },
8123
+ "field": {
8124
+ "baseUrl": "כתובת הפורטל",
8125
+ "authMode": "אימות",
8126
+ "token": "אסימון שירות",
8127
+ "sharedSecret": "סוד משותף",
8128
+ "tokenUrl": "נקודת קצה לאסימון",
8129
+ "clientId": "מזהה לקוח",
8130
+ "clientSecret": "סוד לקוח",
8131
+ "scope": "Scope (אופציונלי)",
8132
+ "audience": "Audience (אופציונלי)",
8133
+ "username": "שם משתמש",
8134
+ "password": "סיסמה",
8135
+ "headerName": "שם הכותרת",
8136
+ "headerValue": "ערך הכותרת",
8137
+ "secondHeaderName": "כותרת שנייה (אופציונלי)",
8138
+ "secondHeaderValue": "ערך הכותרת השנייה",
8139
+ "entityFilter": "מסנן ישויות",
8140
+ "maxServices": "מספר שירותים מרבי",
8141
+ "includeApis": "לייבא גם את הגדרות ה-API שכל שירות מפרסם"
8142
+ },
8143
+ "help": {
8144
+ "baseUrl": "כתובת הבסיס של מופע ה-Backstage שלכם. מאחסן פרטי או פנימי מותר רק אם הפריסה מאפשרת זאת.",
8145
+ "token": "אסימון בין שירותים מתוך הגדרות הגישה החיצונית של Backstage.",
8146
+ "sharedSecret": "סוד ב-base64 מתוך `backend.auth.keys`. הפלטפורמה חותמת בו אסימון קצר-מועד בכל בקשה.",
8147
+ "headers": "עבור שער שמאמת בכותרות משלו, למשל אסימון שירות של Cloudflare Access.",
8148
+ "entityFilter": "ביטוי `key=value` אחד בכל שורה, וכולם חייבים להתאים. ברירת המחדל היא `kind=component`. צמצמו אותו לשירותים שברצונכם להציע כיכולות משותפות.",
8149
+ "maxServices": "ייבוא שמגיע למגבלה הזאת מדווח כחלק מהפורטל ולא ככולו."
8150
+ },
8151
+ "auth": {
8152
+ "none": "ללא",
8153
+ "staticToken": "אסימון שירות קבוע",
8154
+ "legacySharedSecret": "סוד משותף (אסימון מדור קודם)",
8155
+ "oauth2": "פרטי לקוח OAuth2",
8156
+ "basic": "HTTP Basic",
8157
+ "headers": "כותרות מותאמות"
8158
+ },
8159
+ "status": {
8160
+ "ok": "יובא",
8161
+ "partial": "יובא חלקית",
8162
+ "failed": "הייבוא נכשל",
8163
+ "never": "לא יובא מעולם"
8164
+ },
8165
+ "action": {
8166
+ "connect": "חיבור",
8167
+ "replace": "החלפה",
8168
+ "probe": "בדיקת חיבור",
8169
+ "import": "ייבוא עכשיו",
8170
+ "disconnect": "ניתוק"
8171
+ },
8172
+ "disconnect": {
8173
+ "title": "לנתק את קטלוג השירותים?",
8174
+ "body": "השירותים שיובאו מהפורטל הזה יוסרו מהקטלוג. כל מה שרשמתם או העליתם ידנית לא ייפגע.",
8175
+ "confirm": "ניתוק"
8176
+ },
8177
+ "toast": {
8178
+ "connected": "קטלוג השירותים חובר",
8179
+ "connectFailed": "לא ניתן לחבר את קטלוג השירותים",
8180
+ "probeOk": "הפורטל השיב",
8181
+ "probeFailed": "לא ניתן להגיע לפורטל",
8182
+ "imported": "קטלוג השירותים יובא",
8183
+ "importedDetail": "{upserted} עודכנו, {unchanged} ללא שינוי, {tombstoned} הוסרו",
8184
+ "importFailed": "לא ניתן לייבא את קטלוג השירותים",
8185
+ "disconnected": "קטלוג השירותים נותק",
8186
+ "disconnectFailed": "לא ניתן לנתק את קטלוג השירותים"
8187
+ }
8101
8188
  }
8102
8189
  }
@@ -1021,6 +1021,7 @@
1021
1021
  "context": "{value} ctx",
1022
1022
  "contextThousands": "{value}K ctx",
1023
1023
  "price": "{input}/{output} per Mtok",
1024
+ "retiresOn": "Ritirato il {date}",
1024
1025
  "toast": {
1025
1026
  "connected": "Chiave OpenRouter connessa",
1026
1027
  "connectFailed": "Impossibile connettere la chiave",
@@ -3843,6 +3844,8 @@
3843
3844
  "cacheRead": "{tokens} letti dalla cache",
3844
3845
  "cacheWrite": "{tokens} scritti nella cache",
3845
3846
  "total": "totale {duration}",
3847
+ "viaUpstream": "tramite {upstream}",
3848
+ "reportedCost": "addebitato {cost}",
3846
3849
  "prompt": "Prompt",
3847
3850
  "promptPrefixOmitted": "(solo nuovi messaggi: {count} precedenti omessi)",
3848
3851
  "response": "Risposta",
@@ -5231,7 +5234,8 @@
5231
5234
  },
5232
5235
  "tab": {
5233
5236
  "catalog": "Catalogo",
5234
- "sources": "Repo collegati"
5237
+ "sources": "Repo collegati",
5238
+ "portal": "Portale sviluppatori"
5235
5239
  },
5236
5240
  "panel": {
5237
5241
  "title": "Servizi fondamentali",
@@ -5245,7 +5249,10 @@
5245
5249
  "format": {
5246
5250
  "openapi": "OpenAPI",
5247
5251
  "toadContract": "toad-contracts",
5248
- "lokaliseApiContract": "lokalise/api-contract"
5252
+ "lokaliseApiContract": "lokalise/api-contract",
5253
+ "asyncapi": "AsyncAPI",
5254
+ "graphql": "GraphQL",
5255
+ "grpc": "gRPC"
5249
5256
  },
5250
5257
  "contracts": {
5251
5258
  "omitted": "+{count} non elencate",
@@ -5923,7 +5930,11 @@
5923
5930
  "binary_generators_unreachable": "Non è stato possibile leggere le integrazioni generative di questa installazione in questo momento, quindi l'esecuzione non è partita. Non c'è nulla di configurato male e non serve alcuna modifica: riprova quando la connessione sarà ripristinata.",
5924
5931
  "foundational_builtins_unreachable": "Non è stato possibile leggere i servizi fondamentali integrati di questa installazione in questo momento. Non c'è nulla di configurato male e non serve alcuna modifica: riprova quando la connessione sarà ripristinata.",
5925
5932
  "connection_credentials_unreadable": "Non è stato possibile leggere le credenziali memorizzate di questa connessione. Se questa installazione riesce a raggiungere il servizio che ne custodisce la chiave, ricollega la sorgente per sostituirle; altrimenti riprova quando quella connessione sarà ripristinata.",
5926
- "vcs_capability_unsupported": "Il provider di controllo del codice collegato a questo workspace non offre questa operazione. Non c'è nulla di configurato male e nessuna impostazione può aiutare: non è disponibile per questo provider."
5933
+ "vcs_capability_unsupported": "Il provider di controllo del codice collegato a questo workspace non offre questa operazione. Non c'è nulla di configurato male e nessuna impostazione può aiutare: non è disponibile per questo provider.",
5934
+ "service_catalog_unreachable": "Il portale per sviluppatori di questo spazio non ha risposto, o ha risposto con qualcosa che questa piattaforma non sa leggere. Qui non c’è nulla di mal configurato e nessuna modifica aiuterà: riprova quando il portale sarà raggiungibile.",
5935
+ "service_catalog_unauthorized": "Il portale per sviluppatori ha rifiutato le credenziali salvate. Molto probabilmente sono state ruotate o revocate: apri le impostazioni del catalogo dei servizi e inseriscine di valide.",
5936
+ "service_catalog_filter_missing": "Non è stato possibile leggere il filtro delle entità di questa connessione, quindi non c’è nulla da importare. Salva di nuovo la connessione al catalogo dei servizi per ripristinarlo.",
5937
+ "service_catalog_response_too_large": "Il portale per sviluppatori ha risposto con più dati di quanti questa piattaforma ne accolga in una sola risposta. Apri le impostazioni del catalogo dei servizi e abbassa il limite dei servizi, oppure disattiva l'importazione delle definizioni di interfaccia, poi importa di nuovo."
5927
5938
  }
5928
5939
  },
5929
5940
  "action": {
@@ -6863,6 +6874,7 @@
6863
6874
  "empty": "Nessun ambiente effimero per questa esecuzione.",
6864
6875
  "provisionTypeLabel": "Tipo di provisioning:",
6865
6876
  "engineLabel": "Motore:",
6877
+ "statusNote": "Nota del provider: {note}",
6866
6878
  "provisionType": {
6867
6879
  "kubernetes": "Kubernetes",
6868
6880
  "docker-compose": "Docker Compose",
@@ -6888,6 +6900,7 @@
6888
6900
  "teardown": "Smantellamento",
6889
6901
  "teardown-verify": "Verifica dello smantellamento",
6890
6902
  "status": "Controllo dello stato",
6903
+ "remediate": "Riparazione sul posto",
6891
6904
  "dispatch": "Avvio",
6892
6905
  "release": "Smantellamento",
6893
6906
  "poll-failure": "Controllo dello stato di salute"
@@ -8098,5 +8111,79 @@
8098
8111
  "title": "Nulla da confrontare"
8099
8112
  },
8100
8113
  "loadFailed": "Impossibile caricare i candidati generati."
8114
+ },
8115
+ "serviceCatalog": {
8116
+ "unavailable": "L'importazione di un catalogo dei servizi non è configurata per questo deployment.",
8117
+ "intro": "Indica alla piattaforma il portale per sviluppatori che la tua organizzazione già usa: i suoi servizi vengono importati nel catalogo qui sopra, con identità, responsabile e le definizioni di API che ciascuno pubblica. Gli agenti che smistano o indagano un problema li leggono per capire a quale servizio appartiene un lavoro.",
8118
+ "summary": "Filtro: {filter} · al massimo {max} servizi",
8119
+ "form": {
8120
+ "connect": "Collega un portale",
8121
+ "replace": "Sostituisci questa connessione"
8122
+ },
8123
+ "field": {
8124
+ "baseUrl": "URL del portale",
8125
+ "authMode": "Autenticazione",
8126
+ "token": "Token di servizio",
8127
+ "sharedSecret": "Segreto condiviso",
8128
+ "tokenUrl": "Endpoint del token",
8129
+ "clientId": "ID client",
8130
+ "clientSecret": "Segreto client",
8131
+ "scope": "Scope (facoltativo)",
8132
+ "audience": "Audience (facoltativo)",
8133
+ "username": "Nome utente",
8134
+ "password": "Password",
8135
+ "headerName": "Nome dell'header",
8136
+ "headerValue": "Valore dell'header",
8137
+ "secondHeaderName": "Secondo header (facoltativo)",
8138
+ "secondHeaderValue": "Valore del secondo header",
8139
+ "entityFilter": "Filtro delle entità",
8140
+ "maxServices": "Numero massimo di servizi",
8141
+ "includeApis": "Importa le definizioni di API pubblicate da ogni servizio"
8142
+ },
8143
+ "help": {
8144
+ "baseUrl": "L'URL di base della tua istanza Backstage. Un host privato o interno è ammesso solo se il deployment lo consente.",
8145
+ "token": "Un token servizio-a-servizio dalla configurazione di accesso esterno di Backstage.",
8146
+ "sharedSecret": "Un segreto in base64 da `backend.auth.keys`. La piattaforma vi firma un token di breve durata a ogni richiesta.",
8147
+ "headers": "Per un gateway che autentica con header propri, come un token di servizio Cloudflare Access.",
8148
+ "entityFilter": "Un termine `key=value` per riga, tutti da soddisfare. Il valore predefinito è `kind=component`. Restringilo ai servizi che vuoi offrire come capacità condivise.",
8149
+ "maxServices": "Un'importazione che raggiunge questo limite viene segnalata come estratto del portale, non come il portale intero."
8150
+ },
8151
+ "auth": {
8152
+ "none": "Nessuna",
8153
+ "staticToken": "Token di servizio statico",
8154
+ "legacySharedSecret": "Segreto condiviso (token legacy)",
8155
+ "oauth2": "Credenziali client OAuth2",
8156
+ "basic": "HTTP Basic",
8157
+ "headers": "Header personalizzati"
8158
+ },
8159
+ "status": {
8160
+ "ok": "Importato",
8161
+ "partial": "Importato in parte",
8162
+ "failed": "Importazione non riuscita",
8163
+ "never": "Mai importato"
8164
+ },
8165
+ "action": {
8166
+ "connect": "Collega",
8167
+ "replace": "Sostituisci",
8168
+ "probe": "Prova la connessione",
8169
+ "import": "Importa ora",
8170
+ "disconnect": "Scollega"
8171
+ },
8172
+ "disconnect": {
8173
+ "title": "Scollegare il catalogo dei servizi?",
8174
+ "body": "I servizi importati da questo portale vengono ritirati dal catalogo. Nulla di ciò che hai registrato o caricato a mano viene toccato.",
8175
+ "confirm": "Scollega"
8176
+ },
8177
+ "toast": {
8178
+ "connected": "Catalogo dei servizi collegato",
8179
+ "connectFailed": "Non è stato possibile collegare il catalogo dei servizi",
8180
+ "probeOk": "Il portale ha risposto",
8181
+ "probeFailed": "Non è stato possibile raggiungere il portale",
8182
+ "imported": "Catalogo dei servizi importato",
8183
+ "importedDetail": "{upserted} aggiornati, {unchanged} invariati, {tombstoned} ritirati",
8184
+ "importFailed": "Non è stato possibile importare il catalogo dei servizi",
8185
+ "disconnected": "Catalogo dei servizi scollegato",
8186
+ "disconnectFailed": "Non è stato possibile scollegare il catalogo dei servizi"
8187
+ }
8101
8188
  }
8102
8189
  }
@@ -617,7 +617,11 @@
617
617
  "binary_generators_unreachable": "このデプロイメントの生成系インテグレーションを現在読み取れなかったため、実行は開始されませんでした。設定に誤りはなく、変更も不要です。接続が回復してからもう一度お試しください。",
618
618
  "foundational_builtins_unreachable": "このデプロイメントの組み込み基盤サービスを現在読み取れませんでした。設定に誤りはなく、変更も不要です。接続が回復してからもう一度お試しください。",
619
619
  "connection_credentials_unreadable": "この接続に保存されている認証情報を読み取れませんでした。このデプロイメントが鍵を保持しているサービスに到達できる場合は、ソースを接続し直して認証情報を置き換えてください。到達できない場合は、その接続が回復してからもう一度お試しください。",
620
- "vcs_capability_unsupported": "このワークスペースに接続されているソース管理プロバイダーは、この操作に対応していません。設定に誤りはなく、設定を変更しても解決しません。このプロバイダーでは利用できない操作です。"
620
+ "vcs_capability_unsupported": "このワークスペースに接続されているソース管理プロバイダーは、この操作に対応していません。設定に誤りはなく、設定を変更しても解決しません。このプロバイダーでは利用できない操作です。",
621
+ "service_catalog_unreachable": "このワークスペースの開発者ポータルが応答しなかった、またはこのプラットフォームが読めない応答を返しました。設定の誤りはなく、何を変更しても解決しません。ポータルに到達できるようになってから再試行してください。",
622
+ "service_catalog_unauthorized": "開発者ポータルが保存された資格情報を拒否しました。ローテーションまたは失効した可能性が高いため、サービスカタログの設定を開いて有効なものを入力してください。",
623
+ "service_catalog_filter_missing": "この接続のエンティティフィルターを読み取れなかったため、取り込むものがありません。サービスカタログの接続を保存し直して復元してください。",
624
+ "service_catalog_response_too_large": "開発者ポータルが、このプラットフォームが 1 回の応答で保持できる量を超えるデータを返しました。サービスカタログの設定を開いてサービス上限を下げるか、インターフェース定義の取り込みをオフにしてから、もう一度取り込んでください。"
621
625
  }
622
626
  },
623
627
  "action": {
@@ -1790,6 +1794,8 @@
1790
1794
  "cacheRead": "{tokens} キャッシュ読み取り",
1791
1795
  "cacheWrite": "{tokens} キャッシュ書き込み",
1792
1796
  "total": "合計 {duration}",
1797
+ "viaUpstream": "{upstream} 経由",
1798
+ "reportedCost": "請求額 {cost}",
1793
1799
  "prompt": "プロンプト",
1794
1800
  "promptPrefixOmitted": "(新規メッセージのみ: 以前の {count} 件を省略)",
1795
1801
  "response": "レスポンス",
@@ -3754,6 +3760,7 @@
3754
3760
  "context": "{value} ctx",
3755
3761
  "contextThousands": "{value}K ctx",
3756
3762
  "price": "{input}/{output} (Mtok あたり)",
3763
+ "retiresOn": "{date} に提供終了",
3757
3764
  "toast": {
3758
3765
  "connected": "OpenRouter キーを接続しました",
3759
3766
  "connectFailed": "キーを接続できませんでした",
@@ -6286,6 +6293,7 @@
6286
6293
  "empty": "この実行に一時環境はありません。",
6287
6294
  "provisionTypeLabel": "プロビジョニングタイプ:",
6288
6295
  "engineLabel": "エンジン:",
6296
+ "statusNote": "プロバイダーからの注記: {note}",
6289
6297
  "provisionType": {
6290
6298
  "kubernetes": "Kubernetes",
6291
6299
  "docker-compose": "Docker Compose",
@@ -6311,6 +6319,7 @@
6311
6319
  "teardown": "破棄",
6312
6320
  "teardown-verify": "破棄の確認",
6313
6321
  "status": "ステータスチェック",
6322
+ "remediate": "その場で修復",
6314
6323
  "dispatch": "起動",
6315
6324
  "release": "破棄",
6316
6325
  "poll-failure": "ヘルスチェック"
@@ -6541,7 +6550,8 @@
6541
6550
  },
6542
6551
  "tab": {
6543
6552
  "catalog": "カタログ",
6544
- "sources": "リポジトリ連携"
6553
+ "sources": "リポジトリ連携",
6554
+ "portal": "開発者ポータル"
6545
6555
  },
6546
6556
  "panel": {
6547
6557
  "title": "基盤サービス",
@@ -6555,7 +6565,10 @@
6555
6565
  "format": {
6556
6566
  "openapi": "OpenAPI",
6557
6567
  "toadContract": "toad-contracts",
6558
- "lokaliseApiContract": "lokalise/api-contract"
6568
+ "lokaliseApiContract": "lokalise/api-contract",
6569
+ "asyncapi": "AsyncAPI",
6570
+ "graphql": "GraphQL",
6571
+ "grpc": "gRPC"
6559
6572
  },
6560
6573
  "contracts": {
6561
6574
  "omitted": "他 {count} 件は未掲載",
@@ -8098,5 +8111,79 @@
8098
8111
  "title": "比較する候補はありません"
8099
8112
  },
8100
8113
  "loadFailed": "生成された候補を読み込めませんでした。"
8114
+ },
8115
+ "serviceCatalog": {
8116
+ "unavailable": "このデプロイではサービスカタログの取り込みが設定されていません。",
8117
+ "intro": "組織が既に運用している開発者ポータルをプラットフォームに指定すると、そのサービスが上のカタログに取り込まれます。各サービスの識別情報、所有者、公開している API 定義が含まれます。トリアージや調査を行うエージェントは、作業がどのサービスに属するかを判断するためにこれらを読みます。",
8118
+ "summary": "フィルター: {filter} · 最大 {max} サービス",
8119
+ "form": {
8120
+ "connect": "ポータルを接続",
8121
+ "replace": "この接続を置き換える"
8122
+ },
8123
+ "field": {
8124
+ "baseUrl": "ポータル URL",
8125
+ "authMode": "認証方式",
8126
+ "token": "サービストークン",
8127
+ "sharedSecret": "共有シークレット",
8128
+ "tokenUrl": "トークンエンドポイント",
8129
+ "clientId": "クライアント ID",
8130
+ "clientSecret": "クライアントシークレット",
8131
+ "scope": "スコープ(任意)",
8132
+ "audience": "オーディエンス(任意)",
8133
+ "username": "ユーザー名",
8134
+ "password": "パスワード",
8135
+ "headerName": "ヘッダー名",
8136
+ "headerValue": "ヘッダー値",
8137
+ "secondHeaderName": "2 つ目のヘッダー名(任意)",
8138
+ "secondHeaderValue": "2 つ目のヘッダー値",
8139
+ "entityFilter": "エンティティフィルター",
8140
+ "maxServices": "最大サービス数",
8141
+ "includeApis": "各サービスが公開している API 定義も取り込む"
8142
+ },
8143
+ "help": {
8144
+ "baseUrl": "Backstage インスタンスのベース URL。プライベートまたは内部ホストはデプロイが許可している場合のみ使えます。",
8145
+ "token": "Backstage の外部アクセス設定で発行したサービス間トークン。",
8146
+ "sharedSecret": "`backend.auth.keys` にある base64 のシークレット。プラットフォームがリクエストごとに短命なトークンを署名します。",
8147
+ "headers": "Cloudflare Access のサービストークンのように、独自のヘッダーで認証するゲートウェイ向け。",
8148
+ "entityFilter": "1 行につき `key=value` を 1 つ、すべて一致する必要があります。既定は `kind=component`。共有機能として提供したいサービスに絞り込んでください。",
8149
+ "maxServices": "この上限に達した取り込みは、ポータル全体ではなくその一部として報告されます。"
8150
+ },
8151
+ "auth": {
8152
+ "none": "なし",
8153
+ "staticToken": "静的サービストークン",
8154
+ "legacySharedSecret": "共有シークレット(レガシートークン)",
8155
+ "oauth2": "OAuth2 クライアントクレデンシャル",
8156
+ "basic": "HTTP Basic",
8157
+ "headers": "カスタムヘッダー"
8158
+ },
8159
+ "status": {
8160
+ "ok": "取り込み済み",
8161
+ "partial": "一部のみ取り込み",
8162
+ "failed": "取り込み失敗",
8163
+ "never": "未取り込み"
8164
+ },
8165
+ "action": {
8166
+ "connect": "接続",
8167
+ "replace": "置き換える",
8168
+ "probe": "接続をテスト",
8169
+ "import": "今すぐ取り込む",
8170
+ "disconnect": "切断"
8171
+ },
8172
+ "disconnect": {
8173
+ "title": "サービスカタログを切断しますか?",
8174
+ "body": "このポータルから取り込んだサービスはカタログから取り下げられます。手動で登録・アップロードしたものには影響しません。",
8175
+ "confirm": "切断"
8176
+ },
8177
+ "toast": {
8178
+ "connected": "サービスカタログを接続しました",
8179
+ "connectFailed": "サービスカタログを接続できませんでした",
8180
+ "probeOk": "ポータルが応答しました",
8181
+ "probeFailed": "ポータルに到達できませんでした",
8182
+ "imported": "サービスカタログを取り込みました",
8183
+ "importedDetail": "更新 {upserted} 件、変更なし {unchanged} 件、取り下げ {tombstoned} 件",
8184
+ "importFailed": "サービスカタログを取り込めませんでした",
8185
+ "disconnected": "サービスカタログを切断しました",
8186
+ "disconnectFailed": "サービスカタログを切断できませんでした"
8187
+ }
8101
8188
  }
8102
8189
  }