@cat-factory/app 0.222.0 → 0.224.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.
@@ -1087,6 +1087,12 @@
1087
1087
  "inherited": "inherited from service",
1088
1088
  "frozen": "Frozen: the agent has started"
1089
1089
  },
1090
+ "taskTypeFields": {
1091
+ "title": "Task type fields",
1092
+ "hint": "The answers this task type declares it needs. A required answer that is missing parks a run before it starts.",
1093
+ "save": "Save",
1094
+ "revert": "Revert"
1095
+ },
1090
1096
  "dependencies": {
1091
1097
  "title": "Depends on",
1092
1098
  "hint": "Tasks that must merge before this one can run. The Run control stays locked until every dependency is done.",
@@ -3086,6 +3092,48 @@
3086
3092
  "removeFailed": "Could not remove the registry entry"
3087
3093
  }
3088
3094
  },
3095
+ "toolServers": {
3096
+ "heading": "Tool servers (MCP)",
3097
+ "intro": "The MCP servers this deployment registers for its agents. Testing one resolves this board's credentials and speaks the protocol to the server, so the result is what a run would get.",
3098
+ "transport": {
3099
+ "stdio": "In the container",
3100
+ "http": "Remote"
3101
+ },
3102
+ "declaredBy": "Given to: {kinds}",
3103
+ "declaredByNone": "No agent gets this server, so no run will ever start it.",
3104
+ "servableHarnesses": "Works on: {harnesses}",
3105
+ "servableHarnessesNone": "No agent CLI can serve this transport, so this server never applies to any run.",
3106
+ "allowedTools": "Narrowed to: {tools}",
3107
+ "credentials": "Credentials: {keys}",
3108
+ "test": "Test",
3109
+ "notProbeable": {
3110
+ "stdio": "Runs inside the agent's container, so it cannot be tested from here.",
3111
+ "containerLocal": "Listens beside the agent in its own container, which is not reachable from here.",
3112
+ "urlNotAllowed": "The address is not one a tool server may be reached at (https, or plain http on localhost)."
3113
+ },
3114
+ "status": {
3115
+ "ok": "Answered",
3116
+ "credentialsMissing": "No credential",
3117
+ "credentialRefused": "Credential refused",
3118
+ "unreachable": "No answer",
3119
+ "httpError": "Rejected the request",
3120
+ "protocolError": "Not an MCP server",
3121
+ "notProbeable": "Cannot be tested from here"
3122
+ },
3123
+ "okDetail": "{name} {version}, protocol {protocol}, {count} tools.",
3124
+ "toolsIncomplete": "The server has more tools than one test reads, so this count is a minimum.",
3125
+ "unmatchedTools": "This server exposes no tool called {tools}, so the agent is told about a tool it cannot call.",
3126
+ "allowedToolsUnchecked": "The tool list was too long to read in full, so the narrowed names could not be checked.",
3127
+ "unresolvedCredentials": "Nothing resolved for {keys}. Fill it in below, or set it in the deployment's environment.",
3128
+ "refusedCredentials": "{keys} names a variable the platform's own configuration owns, so it is never resolved. Change the declaration in the deployment's code.",
3129
+ "httpStatus": "HTTP {status}",
3130
+ "showDetails": "Show details",
3131
+ "hideDetails": "Hide details",
3132
+ "toast": {
3133
+ "loadFailed": "Could not load the tool servers",
3134
+ "probeFailed": "Could not test the tool server"
3135
+ }
3136
+ },
3089
3137
  "capabilityCredentials": {
3090
3138
  "tab": "Capability credentials",
3091
3139
  "intro": "The secrets this deployment's tool servers and generative integrations ask for by name. Values are stored for this board only, sealed at rest, and handed straight to the agent's process: they never reach a prompt or a log. Values are write-only, so a stored one is replaced by typing a new one and never read back.",
@@ -4869,6 +4917,11 @@
4869
4917
  "title": "No success criteria",
4870
4918
  "hint": "State the question the spike answers, or what a good outcome looks like, so the timebox has a target."
4871
4919
  },
4920
+ "required_field_missing": {
4921
+ "title": "Missing: {field}",
4922
+ "hint": "This task type requires “{field}”, and the task does not answer it. Fill it in on the task, then re-check.",
4923
+ "unnamedField": "a required field"
4924
+ },
4872
4925
  "unknown": {
4873
4926
  "title": "Unrecognised finding",
4874
4927
  "hint": "This run recorded a check this version no longer knows about. Review the task by hand before continuing."
@@ -5568,6 +5621,7 @@
5568
5621
  "operation": {
5569
5622
  "provision": "Spin up",
5570
5623
  "teardown": "Tear down",
5624
+ "teardown-verify": "Teardown check",
5571
5625
  "status": "Status check",
5572
5626
  "dispatch": "Spin up",
5573
5627
  "release": "Tear down",
@@ -1003,6 +1003,12 @@
1003
1003
  "inherited": "heredado del servicio",
1004
1004
  "frozen": "Congelado: el agente ya ha comenzado"
1005
1005
  },
1006
+ "taskTypeFields": {
1007
+ "title": "Campos del tipo de tarea",
1008
+ "hint": "Las respuestas que este tipo de tarea declara necesitar. Si falta una respuesta obligatoria, la ejecución se detiene antes de empezar.",
1009
+ "save": "Guardar",
1010
+ "revert": "Descartar"
1011
+ },
1006
1012
  "dependencies": {
1007
1013
  "title": "Depende de",
1008
1014
  "hint": "Tareas que deben fusionarse antes de que esta pueda ejecutarse. El control Ejecutar permanece bloqueado hasta que todas las dependencias estén completas.",
@@ -2838,6 +2844,48 @@
2838
2844
  "removeFailed": "No se pudo eliminar la entrada del registro"
2839
2845
  }
2840
2846
  },
2847
+ "toolServers": {
2848
+ "heading": "Servidores de herramientas (MCP)",
2849
+ "intro": "Los servidores MCP que esta instalación registra para sus agentes. Al probar uno se resuelven las credenciales de este tablero y se habla el protocolo con el servidor, así que el resultado es el que obtendría una ejecución.",
2850
+ "transport": {
2851
+ "stdio": "En el contenedor",
2852
+ "http": "Remoto"
2853
+ },
2854
+ "declaredBy": "Asignado a: {kinds}",
2855
+ "declaredByNone": "Ningún agente recibe este servidor, así que ninguna ejecución lo iniciará.",
2856
+ "servableHarnesses": "Funciona con: {harnesses}",
2857
+ "servableHarnessesNone": "Ninguna CLI de agente puede servir este transporte, así que este servidor nunca se aplica a una ejecución.",
2858
+ "allowedTools": "Limitado a: {tools}",
2859
+ "credentials": "Credenciales: {keys}",
2860
+ "test": "Probar",
2861
+ "notProbeable": {
2862
+ "stdio": "Se ejecuta dentro del contenedor del agente, así que no puede probarse desde aquí.",
2863
+ "containerLocal": "Escucha junto al agente en su propio contenedor, que no es accesible desde aquí.",
2864
+ "urlNotAllowed": "Esta dirección no es válida para un servidor de herramientas (https, o http simple solo en localhost)."
2865
+ },
2866
+ "status": {
2867
+ "ok": "Respondió",
2868
+ "credentialsMissing": "Sin credencial",
2869
+ "credentialRefused": "Credencial rechazada",
2870
+ "unreachable": "Sin respuesta",
2871
+ "httpError": "Rechazó la solicitud",
2872
+ "protocolError": "No es un servidor MCP",
2873
+ "notProbeable": "No se puede probar desde aquí"
2874
+ },
2875
+ "okDetail": "{name} {version}, protocolo {protocol}, {count} herramientas.",
2876
+ "toolsIncomplete": "El servidor tiene más herramientas de las que lee una prueba, así que este número es un mínimo.",
2877
+ "unmatchedTools": "Este servidor no expone ninguna herramienta llamada {tools}, así que al agente se le anuncia una herramienta que no puede invocar.",
2878
+ "allowedToolsUnchecked": "La lista de herramientas era demasiado larga para leerla completa, así que no se pudieron comprobar los nombres limitados.",
2879
+ "unresolvedCredentials": "No se resolvió nada para {keys}. Rellénalo abajo o defínelo en el entorno de la instalación.",
2880
+ "refusedCredentials": "{keys} nombra una variable que pertenece a la configuración de la propia plataforma, así que nunca se resuelve. Cambia la declaración en el código de la instalación.",
2881
+ "httpStatus": "HTTP {status}",
2882
+ "showDetails": "Ver detalles",
2883
+ "hideDetails": "Ocultar detalles",
2884
+ "toast": {
2885
+ "loadFailed": "No se pudieron cargar los servidores de herramientas",
2886
+ "probeFailed": "No se pudo probar el servidor de herramientas"
2887
+ }
2888
+ },
2841
2889
  "capabilityCredentials": {
2842
2890
  "tab": "Credenciales de capacidades",
2843
2891
  "intro": "Los secretos que los servidores de herramientas y las integraciones generativas de esta instalación piden por nombre. Los valores se guardan solo para este tablero, cifrados en reposo, y se entregan directamente al proceso del agente: nunca llegan a un prompt ni a un registro. Los valores son de solo escritura, así que uno guardado se sustituye escribiendo otro y nunca se vuelve a leer.",
@@ -4661,6 +4709,11 @@
4661
4709
  "title": "Sin criterios de éxito",
4662
4710
  "hint": "Indica la pregunta que responde el spike, o cómo sería un buen resultado, para que el tiempo acotado tenga un objetivo."
4663
4711
  },
4712
+ "required_field_missing": {
4713
+ "title": "Falta: {field}",
4714
+ "hint": "Este tipo de tarea requiere «{field}» y la tarea no lo responde. Complétalo en la tarea y vuelve a comprobar.",
4715
+ "unnamedField": "un campo obligatorio"
4716
+ },
4664
4717
  "unknown": {
4665
4718
  "title": "Hallazgo no reconocido",
4666
4719
  "hint": "Esta ejecución registró una comprobación que esta versión ya no conoce. Revisa la tarea a mano antes de continuar."
@@ -5317,6 +5370,7 @@
5317
5370
  "operation": {
5318
5371
  "provision": "Arrancar",
5319
5372
  "teardown": "Desmontar",
5373
+ "teardown-verify": "Comprobación de desmontaje",
5320
5374
  "status": "Comprobación de estado",
5321
5375
  "dispatch": "Arrancar",
5322
5376
  "release": "Desmontar",
@@ -1003,6 +1003,12 @@
1003
1003
  "inherited": "hérité du service",
1004
1004
  "frozen": "Figé : l'agent a démarré"
1005
1005
  },
1006
+ "taskTypeFields": {
1007
+ "title": "Champs du type de tâche",
1008
+ "hint": "Les réponses que ce type de tâche déclare nécessaires. Une réponse obligatoire manquante met l'exécution en pause avant son démarrage.",
1009
+ "save": "Enregistrer",
1010
+ "revert": "Rétablir"
1011
+ },
1006
1012
  "dependencies": {
1007
1013
  "title": "Dépend de",
1008
1014
  "hint": "Tâches qui doivent être fusionnées avant que celle-ci puisse s'exécuter. Le contrôle Exécuter reste verrouillé tant que toutes les dépendances ne sont pas terminées.",
@@ -2838,6 +2844,48 @@
2838
2844
  "removeFailed": "Impossible de supprimer l'entrée du registre"
2839
2845
  }
2840
2846
  },
2847
+ "toolServers": {
2848
+ "heading": "Serveurs d’outils (MCP)",
2849
+ "intro": "Les serveurs MCP que ce déploiement enregistre pour ses agents. Tester un serveur résout les identifiants de ce tableau et parle le protocole avec lui : le résultat est donc celui qu’obtiendrait une exécution.",
2850
+ "transport": {
2851
+ "stdio": "Dans le conteneur",
2852
+ "http": "Distant"
2853
+ },
2854
+ "declaredBy": "Attribué à : {kinds}",
2855
+ "declaredByNone": "Aucun agent ne reçoit ce serveur, donc aucune exécution ne le démarrera.",
2856
+ "servableHarnesses": "Fonctionne avec : {harnesses}",
2857
+ "servableHarnessesNone": "Aucune CLI d’agent ne peut servir ce transport, donc ce serveur ne s’applique à aucune exécution.",
2858
+ "allowedTools": "Restreint à : {tools}",
2859
+ "credentials": "Identifiants : {keys}",
2860
+ "test": "Tester",
2861
+ "notProbeable": {
2862
+ "stdio": "Il s’exécute dans le conteneur de l’agent et ne peut donc pas être testé d’ici.",
2863
+ "containerLocal": "Il écoute à côté de l’agent, dans son propre conteneur, qui n’est pas joignable d’ici.",
2864
+ "urlNotAllowed": "Cette adresse n’est pas autorisée pour un serveur d’outils (https, ou http simple sur localhost uniquement)."
2865
+ },
2866
+ "status": {
2867
+ "ok": "A répondu",
2868
+ "credentialsMissing": "Aucun identifiant",
2869
+ "credentialRefused": "Identifiant refusé",
2870
+ "unreachable": "Aucune réponse",
2871
+ "httpError": "Requête rejetée",
2872
+ "protocolError": "Pas un serveur MCP",
2873
+ "notProbeable": "Non testable d’ici"
2874
+ },
2875
+ "okDetail": "{name} {version}, protocole {protocol}, {count} outils.",
2876
+ "toolsIncomplete": "Le serveur expose plus d’outils qu’un test n’en lit : ce nombre est donc un minimum.",
2877
+ "unmatchedTools": "Ce serveur n’expose aucun outil nommé {tools} : l’agent se voit donc annoncer un outil qu’il ne peut pas appeler.",
2878
+ "allowedToolsUnchecked": "La liste d’outils était trop longue pour être lue en entier, les noms restreints n’ont donc pas pu être vérifiés.",
2879
+ "unresolvedCredentials": "Rien n’a été résolu pour {keys}. Renseignez la valeur ci-dessous, ou définissez-la dans l’environnement du déploiement.",
2880
+ "refusedCredentials": "{keys} désigne une variable qui appartient à la configuration de la plateforme elle-même : elle n’est jamais résolue. Modifiez la déclaration dans le code du déploiement.",
2881
+ "httpStatus": "HTTP {status}",
2882
+ "showDetails": "Afficher les détails",
2883
+ "hideDetails": "Masquer les détails",
2884
+ "toast": {
2885
+ "loadFailed": "Impossible de charger les serveurs d’outils",
2886
+ "probeFailed": "Impossible de tester le serveur d’outils"
2887
+ }
2888
+ },
2841
2889
  "capabilityCredentials": {
2842
2890
  "tab": "Identifiants des capacités",
2843
2891
  "intro": "Les secrets que les serveurs d'outils et les intégrations génératives de ce déploiement réclament par leur nom. Les valeurs ne sont enregistrées que pour ce tableau, chiffrées au repos, et remises directement au processus de l'agent : elles n'apparaissent ni dans un prompt ni dans un journal. Les valeurs sont en écriture seule, une valeur enregistrée se remplace donc en en saisissant une nouvelle et n'est jamais relue.",
@@ -4661,6 +4709,11 @@
4661
4709
  "title": "Aucun critère de réussite",
4662
4710
  "hint": "Indiquez la question à laquelle le spike répond, ou ce qu'est un bon résultat, pour donner une cible au temps imparti."
4663
4711
  },
4712
+ "required_field_missing": {
4713
+ "title": "Manquant : {field}",
4714
+ "hint": "Ce type de tâche exige « {field} », et la tâche n’y répond pas. Renseignez-le sur la tâche, puis revérifiez.",
4715
+ "unnamedField": "un champ obligatoire"
4716
+ },
4664
4717
  "unknown": {
4665
4718
  "title": "Constat non reconnu",
4666
4719
  "hint": "Cette exécution a enregistré une vérification que cette version ne connaît plus. Relisez la tâche à la main avant de continuer."
@@ -5317,6 +5370,7 @@
5317
5370
  "operation": {
5318
5371
  "provision": "Démarrer",
5319
5372
  "teardown": "Démanteler",
5373
+ "teardown-verify": "Vérification du démantèlement",
5320
5374
  "status": "Vérification de l'état",
5321
5375
  "dispatch": "Démarrer",
5322
5376
  "release": "Démanteler",
@@ -1003,6 +1003,12 @@
1003
1003
  "inherited": "נורש מהשירות",
1004
1004
  "frozen": "מוקפא: הסוכן כבר התחיל"
1005
1005
  },
1006
+ "taskTypeFields": {
1007
+ "title": "שדות סוג המשימה",
1008
+ "hint": "התשובות שסוג משימה זה מצהיר שהוא זקוק להן. תשובת חובה חסרה עוצרת הרצה לפני שהיא מתחילה.",
1009
+ "save": "שמירה",
1010
+ "revert": "שחזור"
1011
+ },
1006
1012
  "dependencies": {
1007
1013
  "title": "תלוי ב",
1008
1014
  "hint": "משימות שחייבות להתמזג לפני שמשימה זו תוכל לרוץ. פקד ההרצה נשאר נעול עד שכל התלויות הושלמו.",
@@ -2979,6 +2985,48 @@
2979
2985
  "removeFailed": "הסרת רשומת המאגר נכשלה"
2980
2986
  }
2981
2987
  },
2988
+ "toolServers": {
2989
+ "heading": "שרתי כלים (MCP)",
2990
+ "intro": "שרתי ה-MCP שהתקנה זו רושמת עבור הסוכנים שלה. בדיקה מאתרת את פרטי ההזדהות של לוח זה ומדברת עם השרת בפרוטוקול, כך שהתוצאה היא מה שהרצה תקבל.",
2991
+ "transport": {
2992
+ "stdio": "בתוך המכולה",
2993
+ "http": "מרוחק"
2994
+ },
2995
+ "declaredBy": "משויך אל: {kinds}",
2996
+ "declaredByNone": "אף סוכן אינו מקבל שרת זה, ולכן אף הרצה לא תפעיל אותו.",
2997
+ "servableHarnesses": "עובד עם: {harnesses}",
2998
+ "servableHarnessesNone": "אף CLI של סוכן אינו יכול לשרת תעבורה זו, ולכן שרת זה לא חל על שום הרצה.",
2999
+ "allowedTools": "מוגבל אל: {tools}",
3000
+ "credentials": "פרטי הזדהות: {keys}",
3001
+ "test": "בדיקה",
3002
+ "notProbeable": {
3003
+ "stdio": "רץ בתוך המכולה של הסוכן, ולכן לא ניתן לבדוק אותו מכאן.",
3004
+ "containerLocal": "מאזין לצד הסוכן במכולה שלו, שאינה נגישה מכאן.",
3005
+ "urlNotAllowed": "אין זו כתובת שבה מותר להגיע לשרת כלים (https, או http פשוט רק ב-localhost)."
3006
+ },
3007
+ "status": {
3008
+ "ok": "השיב",
3009
+ "credentialsMissing": "אין פרטי הזדהות",
3010
+ "credentialRefused": "פרטי ההזדהות נדחו",
3011
+ "unreachable": "אין תשובה",
3012
+ "httpError": "דחה את הבקשה",
3013
+ "protocolError": "אינו שרת MCP",
3014
+ "notProbeable": "לא ניתן לבדוק מכאן"
3015
+ },
3016
+ "okDetail": "{name} {version}, פרוטוקול {protocol}, {count} כלים.",
3017
+ "toolsIncomplete": "לשרת יש יותר כלים ממה שבדיקה אחת קוראת, ולכן מספר זה הוא מינימום.",
3018
+ "unmatchedTools": "שרת זה אינו חושף כלי בשם {tools}, ולכן מסופר לסוכן על כלי שאינו יכול לקרוא לו.",
3019
+ "allowedToolsUnchecked": "רשימת הכלים הייתה ארוכה מכדי לקרוא אותה במלואה, ולכן לא ניתן היה לבדוק את השמות המוגבלים.",
3020
+ "unresolvedCredentials": "לא אותר דבר עבור {keys}. מלאו את הערך למטה, או הגדירו אותו בסביבת ההתקנה.",
3021
+ "refusedCredentials": "{keys} מציין משתנה שהוא חלק מהתצורה של הפלטפורמה עצמה, ולכן הוא לעולם אינו מאותר. שנו את ההצהרה בקוד ההתקנה.",
3022
+ "httpStatus": "HTTP {status}",
3023
+ "showDetails": "הצגת פרטים",
3024
+ "hideDetails": "הסתרת פרטים",
3025
+ "toast": {
3026
+ "loadFailed": "לא ניתן לטעון את שרתי הכלים",
3027
+ "probeFailed": "לא ניתן לבדוק את שרת הכלים"
3028
+ }
3029
+ },
2982
3030
  "capabilityCredentials": {
2983
3031
  "tab": "אישורי גישה ליכולות",
2984
3032
  "intro": "הסודות ששרתי הכלים והאינטגרציות הגנרטיביות של הפריסה הזו מבקשים לפי שם. הערכים נשמרים ללוח הזה בלבד, מוצפנים במנוחה ומועברים ישירות לתהליך של הסוכן: הם לעולם לא מגיעים להנחיה או ליומן. הערכים ניתנים לכתיבה בלבד, ולכן ערך שמור מוחלף בהקלדת ערך חדש ולעולם אינו נקרא בחזרה.",
@@ -4661,6 +4709,11 @@
4661
4709
  "title": "אין קריטריוני הצלחה",
4662
4710
  "hint": "ציינו את השאלה שהבדיקה המקדימה עונה עליה, או איך נראית תוצאה טובה, כדי שלמסגרת הזמן תהיה מטרה."
4663
4711
  },
4712
+ "required_field_missing": {
4713
+ "title": "חסר: {field}",
4714
+ "hint": "סוג משימה זה מחייב את “{field}”, והמשימה אינה ממלאת אותו. מלאו אותו במשימה ובדקו שוב.",
4715
+ "unnamedField": "שדה חובה"
4716
+ },
4664
4717
  "unknown": {
4665
4718
  "title": "ממצא לא מוכר",
4666
4719
  "hint": "ההרצה תיעדה בדיקה שהגרסה הזו כבר לא מכירה. עברו על המשימה ידנית לפני שתמשיכו."
@@ -5317,6 +5370,7 @@
5317
5370
  "operation": {
5318
5371
  "provision": "הקמה",
5319
5372
  "teardown": "פירוק",
5373
+ "teardown-verify": "בדיקת פירוק",
5320
5374
  "status": "בדיקת מצב",
5321
5375
  "dispatch": "הקמה",
5322
5376
  "release": "פירוק",
@@ -606,6 +606,48 @@
606
606
  "removeFailed": "Impossibile rimuovere la voce del registry"
607
607
  }
608
608
  },
609
+ "toolServers": {
610
+ "heading": "Server di strumenti (MCP)",
611
+ "intro": "I server MCP che questa installazione registra per i suoi agenti. Provarne uno risolve le credenziali di questa bacheca e parla il protocollo con il server, quindi il risultato è quello che otterrebbe un’esecuzione.",
612
+ "transport": {
613
+ "stdio": "Nel container",
614
+ "http": "Remoto"
615
+ },
616
+ "declaredBy": "Assegnato a: {kinds}",
617
+ "declaredByNone": "Nessun agente riceve questo server, quindi nessuna esecuzione lo avvierà.",
618
+ "servableHarnesses": "Funziona con: {harnesses}",
619
+ "servableHarnessesNone": "Nessuna CLI di agente può servire questo trasporto, quindi questo server non si applica a nessuna esecuzione.",
620
+ "allowedTools": "Limitato a: {tools}",
621
+ "credentials": "Credenziali: {keys}",
622
+ "test": "Prova",
623
+ "notProbeable": {
624
+ "stdio": "Gira dentro il container dell’agente, quindi non può essere provato da qui.",
625
+ "containerLocal": "Ascolta accanto all’agente nel suo container, che non è raggiungibile da qui.",
626
+ "urlNotAllowed": "Questo indirizzo non è consentito per un server di strumenti (https, oppure http semplice solo su localhost)."
627
+ },
628
+ "status": {
629
+ "ok": "Ha risposto",
630
+ "credentialsMissing": "Nessuna credenziale",
631
+ "credentialRefused": "Credenziale rifiutata",
632
+ "unreachable": "Nessuna risposta",
633
+ "httpError": "Richiesta respinta",
634
+ "protocolError": "Non è un server MCP",
635
+ "notProbeable": "Non provabile da qui"
636
+ },
637
+ "okDetail": "{name} {version}, protocollo {protocol}, {count} strumenti.",
638
+ "toolsIncomplete": "Il server ha più strumenti di quanti una prova ne legga, quindi questo numero è un minimo.",
639
+ "unmatchedTools": "Questo server non espone alcuno strumento chiamato {tools}, quindi all’agente viene annunciato uno strumento che non può invocare.",
640
+ "allowedToolsUnchecked": "L’elenco degli strumenti era troppo lungo per leggerlo tutto, quindi i nomi limitati non hanno potuto essere verificati.",
641
+ "unresolvedCredentials": "Nulla è stato risolto per {keys}. Inseriscilo qui sotto, oppure impostalo nell’ambiente dell’installazione.",
642
+ "refusedCredentials": "{keys} nomina una variabile che appartiene alla configurazione della piattaforma stessa, quindi non viene mai risolta. Modifica la dichiarazione nel codice dell’installazione.",
643
+ "httpStatus": "HTTP {status}",
644
+ "showDetails": "Mostra dettagli",
645
+ "hideDetails": "Nascondi dettagli",
646
+ "toast": {
647
+ "loadFailed": "Impossibile caricare i server di strumenti",
648
+ "probeFailed": "Impossibile provare il server di strumenti"
649
+ }
650
+ },
609
651
  "capabilityCredentials": {
610
652
  "tab": "Credenziali delle capacità",
611
653
  "intro": "I segreti che i server di strumenti e le integrazioni generative di questo deployment richiedono per nome. I valori vengono salvati solo per questa board, cifrati a riposo, e consegnati direttamente al processo dell'agente: non finiscono mai in un prompt né in un log. I valori sono di sola scrittura, quindi uno salvato si sostituisce digitandone uno nuovo e non viene mai riletto.",
@@ -1491,6 +1533,12 @@
1491
1533
  "inherited": "ereditato dal servizio",
1492
1534
  "frozen": "Congelato: l'agente e' partito"
1493
1535
  },
1536
+ "taskTypeFields": {
1537
+ "title": "Campi del tipo di attività",
1538
+ "hint": "Le risposte che questo tipo di attività dichiara necessarie. Una risposta obbligatoria mancante mette in pausa l'esecuzione prima che inizi.",
1539
+ "save": "Salva",
1540
+ "revert": "Ripristina"
1541
+ },
1494
1542
  "dependencies": {
1495
1543
  "title": "Dipende da",
1496
1544
  "hint": "Attivita' che devono essere unite prima che questa possa essere eseguita. Il controllo Esegui resta bloccato finche' ogni dipendenza non e' completata.",
@@ -5519,6 +5567,11 @@
5519
5567
  "title": "Nessun criterio di successo",
5520
5568
  "hint": "Indica la domanda a cui risponde lo spike, o come si presenta un buon esito, così il tempo riservato ha un obiettivo."
5521
5569
  },
5570
+ "required_field_missing": {
5571
+ "title": "Manca: {field}",
5572
+ "hint": "Questo tipo di attività richiede «{field}» e l’attività non lo compila. Inseriscilo nell’attività, poi ricontrolla.",
5573
+ "unnamedField": "un campo obbligatorio"
5574
+ },
5522
5575
  "unknown": {
5523
5576
  "title": "Rilievo non riconosciuto",
5524
5577
  "hint": "Questa esecuzione ha registrato un controllo che questa versione non conosce più. Rivedi l'attività a mano prima di continuare."
@@ -5872,6 +5925,7 @@
5872
5925
  "operation": {
5873
5926
  "provision": "Avvio",
5874
5927
  "teardown": "Smantellamento",
5928
+ "teardown-verify": "Verifica dello smantellamento",
5875
5929
  "status": "Controllo dello stato",
5876
5930
  "dispatch": "Avvio",
5877
5931
  "release": "Smantellamento",
@@ -1003,6 +1003,12 @@
1003
1003
  "inherited": "サービスから継承",
1004
1004
  "frozen": "固定: エージェントは開始済みです"
1005
1005
  },
1006
+ "taskTypeFields": {
1007
+ "title": "タスクタイプのフィールド",
1008
+ "hint": "このタスクタイプが必要と宣言している回答です。必須の回答が欠けている場合、実行は開始前に保留されます。",
1009
+ "save": "保存",
1010
+ "revert": "元に戻す"
1011
+ },
1006
1012
  "dependencies": {
1007
1013
  "title": "依存先",
1008
1014
  "hint": "このタスクを実行する前にマージされている必要があるタスク。すべての依存関係が完了するまで実行コントロールはロックされたままです。",
@@ -2979,6 +2985,48 @@
2979
2985
  "removeFailed": "レジストリエントリを削除できませんでした"
2980
2986
  }
2981
2987
  },
2988
+ "toolServers": {
2989
+ "heading": "ツールサーバー (MCP)",
2990
+ "intro": "このデプロイがエージェント向けに登録している MCP サーバーです。テストするとこのボードの認証情報を解決してサーバーとプロトコルで通信するため、結果は実行時に得られるものと同じです。",
2991
+ "transport": {
2992
+ "stdio": "コンテナ内",
2993
+ "http": "リモート"
2994
+ },
2995
+ "declaredBy": "割り当て先: {kinds}",
2996
+ "declaredByNone": "どのエージェントにも渡されていないため、どの実行でも起動されません。",
2997
+ "servableHarnesses": "対応 CLI: {harnesses}",
2998
+ "servableHarnessesNone": "このトランスポートを扱えるエージェント CLI がないため、このサーバーはどの実行にも適用されません。",
2999
+ "allowedTools": "許可されたツール: {tools}",
3000
+ "credentials": "認証情報: {keys}",
3001
+ "test": "テスト",
3002
+ "notProbeable": {
3003
+ "stdio": "エージェントのコンテナ内で動作するため、ここからはテストできません。",
3004
+ "containerLocal": "エージェントと同じコンテナ内で待ち受けているため、ここからは到達できません。",
3005
+ "urlNotAllowed": "ツールサーバーの接続先として許可されていないアドレスです (https、または localhost の平文 http のみ)。"
3006
+ },
3007
+ "status": {
3008
+ "ok": "応答あり",
3009
+ "credentialsMissing": "認証情報なし",
3010
+ "credentialRefused": "認証情報を拒否",
3011
+ "unreachable": "応答なし",
3012
+ "httpError": "リクエストを拒否",
3013
+ "protocolError": "MCP サーバーではない",
3014
+ "notProbeable": "ここからテストできない"
3015
+ },
3016
+ "okDetail": "{name} {version}、プロトコル {protocol}、ツール {count} 個。",
3017
+ "toolsIncomplete": "サーバーは 1 回のテストで読み取れる数を超えるツールを持つため、この数は最小値です。",
3018
+ "unmatchedTools": "このサーバーに {tools} というツールは存在しないため、エージェントは呼び出せないツールを知らされています。",
3019
+ "allowedToolsUnchecked": "ツール一覧が長すぎて全部を読み取れなかったため、絞り込んだ名前は確認できませんでした。",
3020
+ "unresolvedCredentials": "{keys} の値が解決できませんでした。下で入力するか、デプロイの環境変数に設定してください。",
3021
+ "refusedCredentials": "{keys} はプラットフォーム自身の設定に属する変数名なので、決して解決されません。デプロイのコード側の宣言を変更してください。",
3022
+ "httpStatus": "HTTP {status}",
3023
+ "showDetails": "詳細を表示",
3024
+ "hideDetails": "詳細を隠す",
3025
+ "toast": {
3026
+ "loadFailed": "ツールサーバーを読み込めませんでした",
3027
+ "probeFailed": "ツールサーバーをテストできませんでした"
3028
+ }
3029
+ },
2982
3030
  "capabilityCredentials": {
2983
3031
  "tab": "機能の認証情報",
2984
3032
  "intro": "このデプロイのツールサーバーと生成系インテグレーションが名前で要求するシークレットです。値はこのボードにのみ保存され、保管時は暗号化され、エージェントのプロセスへ直接渡されます。プロンプトにもログにも現れません。値は書き込み専用なので、保存済みの値は新しい値を入力して置き換えるだけで、読み出すことはできません。",
@@ -4661,6 +4709,11 @@
4661
4709
  "title": "成功条件がありません",
4662
4710
  "hint": "スパイクが答える問い、または良い結果の姿を書いて、時間枠に目標を与えてください。"
4663
4711
  },
4712
+ "required_field_missing": {
4713
+ "title": "未入力: {field}",
4714
+ "hint": "このタスク種別は「{field}」を必須としていますが、タスクに入力がありません。タスクで入力してから再確認してください。",
4715
+ "unnamedField": "必須項目"
4716
+ },
4664
4717
  "unknown": {
4665
4718
  "title": "未知の指摘",
4666
4719
  "hint": "この実行には、このバージョンが把握していないチェックが記録されています。続行前にタスクを手動で確認してください。"
@@ -5317,6 +5370,7 @@
5317
5370
  "operation": {
5318
5371
  "provision": "起動",
5319
5372
  "teardown": "破棄",
5373
+ "teardown-verify": "破棄の確認",
5320
5374
  "status": "ステータスチェック",
5321
5375
  "dispatch": "起動",
5322
5376
  "release": "破棄",
@@ -1003,6 +1003,12 @@
1003
1003
  "inherited": "odziedziczone z usługi",
1004
1004
  "frozen": "Zamrożone: agent został uruchomiony"
1005
1005
  },
1006
+ "taskTypeFields": {
1007
+ "title": "Pola typu zadania",
1008
+ "hint": "Odpowiedzi, których wymaga ten typ zadania. Brak wymaganej odpowiedzi wstrzymuje uruchomienie przed startem.",
1009
+ "save": "Zapisz",
1010
+ "revert": "Przywróć"
1011
+ },
1006
1012
  "dependencies": {
1007
1013
  "title": "Zależy od",
1008
1014
  "hint": "Zadania, które muszą zostać scalone, zanim to będzie mogło się uruchomić. Przycisk uruchamiania pozostaje zablokowany, dopóki wszystkie zależności nie będą gotowe.",
@@ -2838,6 +2844,48 @@
2838
2844
  "removeFailed": "Nie udało się usunąć wpisu rejestru"
2839
2845
  }
2840
2846
  },
2847
+ "toolServers": {
2848
+ "heading": "Serwery narzędzi (MCP)",
2849
+ "intro": "Serwery MCP, które ta instalacja rejestruje dla swoich agentów. Test rozwiązuje dane uwierzytelniające tej tablicy i rozmawia z serwerem protokołem, więc wynik jest taki, jaki otrzymałby przebieg.",
2850
+ "transport": {
2851
+ "stdio": "W kontenerze",
2852
+ "http": "Zdalny"
2853
+ },
2854
+ "declaredBy": "Przypisany do: {kinds}",
2855
+ "declaredByNone": "Żaden agent nie otrzymuje tego serwera, więc żaden przebieg go nie uruchomi.",
2856
+ "servableHarnesses": "Działa z: {harnesses}",
2857
+ "servableHarnessesNone": "Żadne CLI agenta nie obsługuje tego transportu, więc ten serwer nie dotyczy żadnego przebiegu.",
2858
+ "allowedTools": "Zawężone do: {tools}",
2859
+ "credentials": "Dane uwierzytelniające: {keys}",
2860
+ "test": "Testuj",
2861
+ "notProbeable": {
2862
+ "stdio": "Działa w kontenerze agenta, więc nie można go przetestować z tego miejsca.",
2863
+ "containerLocal": "Nasłuchuje obok agenta w jego własnym kontenerze, który jest tu nieosiągalny.",
2864
+ "urlNotAllowed": "Pod tym adresem serwer narzędzi nie może być osiągany (https albo zwykłe http tylko na localhost)."
2865
+ },
2866
+ "status": {
2867
+ "ok": "Odpowiedział",
2868
+ "credentialsMissing": "Brak danych uwierzytelniających",
2869
+ "credentialRefused": "Dane uwierzytelniające odrzucone",
2870
+ "unreachable": "Brak odpowiedzi",
2871
+ "httpError": "Odrzucił żądanie",
2872
+ "protocolError": "To nie serwer MCP",
2873
+ "notProbeable": "Nie można testować z tego miejsca"
2874
+ },
2875
+ "okDetail": "{name} {version}, protokół {protocol}, {count} narzędzi.",
2876
+ "toolsIncomplete": "Serwer ma więcej narzędzi, niż jeden test odczytuje, więc ta liczba to minimum.",
2877
+ "unmatchedTools": "Ten serwer nie udostępnia narzędzia o nazwie {tools}, więc agent dowiaduje się o narzędziu, którego nie może wywołać.",
2878
+ "allowedToolsUnchecked": "Lista narzędzi była zbyt długa, by odczytać ją w całości, więc zawężonych nazw nie dało się sprawdzić.",
2879
+ "unresolvedCredentials": "Nic nie rozwiązano dla {keys}. Wpisz wartość poniżej albo ustaw ją w środowisku instalacji.",
2880
+ "refusedCredentials": "{keys} nazywa zmienną należącą do konfiguracji samej platformy, więc nigdy nie jest rozwiązywana. Zmień deklarację w kodzie instalacji.",
2881
+ "httpStatus": "HTTP {status}",
2882
+ "showDetails": "Pokaż szczegóły",
2883
+ "hideDetails": "Ukryj szczegóły",
2884
+ "toast": {
2885
+ "loadFailed": "Nie udało się wczytać serwerów narzędzi",
2886
+ "probeFailed": "Nie udało się przetestować serwera narzędzi"
2887
+ }
2888
+ },
2841
2889
  "capabilityCredentials": {
2842
2890
  "tab": "Poświadczenia funkcji",
2843
2891
  "intro": "Sekrety, o które serwery narzędzi i integracje generatywne tego wdrożenia proszą po nazwie. Wartości są zapisywane tylko dla tej tablicy, szyfrowane w spoczynku i przekazywane wprost do procesu agenta: nigdy nie trafiają do promptu ani do logu. Wartości można tylko zapisywać, więc zapisaną zastępuje się, wpisując nową, i nigdy nie jest odczytywana.",
@@ -4661,6 +4709,11 @@
4661
4709
  "title": "Brak kryteriów sukcesu",
4662
4710
  "hint": "Podaj pytanie, na które odpowiada spike, albo jak wygląda dobry wynik, żeby wyznaczony czas miał cel."
4663
4711
  },
4712
+ "required_field_missing": {
4713
+ "title": "Brakuje: {field}",
4714
+ "hint": "Ten typ zadania wymaga pola „{field}”, a zadanie go nie wypełnia. Uzupełnij je w zadaniu i sprawdź ponownie.",
4715
+ "unnamedField": "pole wymagane"
4716
+ },
4664
4717
  "unknown": {
4665
4718
  "title": "Nierozpoznane ustalenie",
4666
4719
  "hint": "Ten przebieg zapisał kontrolę, której ta wersja już nie zna. Przejrzyj zadanie ręcznie przed kontynuowaniem."
@@ -5317,6 +5370,7 @@
5317
5370
  "operation": {
5318
5371
  "provision": "Uruchom",
5319
5372
  "teardown": "Zatrzymaj",
5373
+ "teardown-verify": "Sprawdzenie zatrzymania",
5320
5374
  "status": "Sprawdzenie stanu",
5321
5375
  "dispatch": "Uruchom",
5322
5376
  "release": "Zatrzymaj",