@cat-factory/app 0.310.2 → 0.311.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 (63) hide show
  1. package/README.md +24 -10
  2. package/app/components/documents/DocumentSourceConnectModal.vue +1 -1
  3. package/app/components/foundational/FoundationalServiceCatalogList.vue +2 -0
  4. package/app/components/foundational/FoundationalServiceRegistry.vue +9 -2
  5. package/app/components/foundational/FoundationalServiceSources.vue +2 -0
  6. package/app/components/foundational/FoundationalSuppressions.vue +1 -0
  7. package/app/components/fragments/FragmentLibraryManager.vue +4 -0
  8. package/app/components/github/GitHubOnboarding.vue +9 -1
  9. package/app/components/github/RepoTreeBrowser.vue +3 -0
  10. package/app/components/guidedReview/GuidedReviewDraftCard.vue +16 -4
  11. package/app/components/guidedReview/GuidedReviewModal.vue +1 -0
  12. package/app/components/guidedReview/GuidedReviewOverview.vue +1 -0
  13. package/app/components/humanTest/HumanTestWindow.vue +3 -2
  14. package/app/components/initiative/InitiativePlanningWindow.vue +1 -1
  15. package/app/components/judge/JudgeResultView.vue +1 -0
  16. package/app/components/layout/AccountDeploymentSettings.vue +8 -8
  17. package/app/components/layout/AccountTeamSettings.vue +2 -2
  18. package/app/components/layout/BoardSwitcher.vue +33 -14
  19. package/app/components/layout/DefaultTestEnvBanner.vue +4 -1
  20. package/app/components/layout/InfraSetupBanner.vue +26 -2
  21. package/app/components/layout/InfraSetupNotice.vue +69 -0
  22. package/app/components/layout/ProviderConfigBanner.vue +8 -1
  23. package/app/components/panels/AgentStepDetail.vue +2 -0
  24. package/app/components/panels/InspectorPanel.vue +1 -1
  25. package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +1 -1
  26. package/app/components/panels/inspector/ServiceTestSecrets.vue +1 -1
  27. package/app/components/panels/inspector/ServiceValidationConfig.vue +1 -1
  28. package/app/components/panels/inspector/TaskExecution.vue +1 -1
  29. package/app/components/pipeline/PipelineBuilder.vue +1 -1
  30. package/app/components/pipeline/PipelineHealthModal.vue +2 -2
  31. package/app/components/providers/AiProviderOnboardingModal.vue +7 -1
  32. package/app/components/providers/ApiKeysSection.vue +21 -2
  33. package/app/components/provisioning/ProvisioningLogsDrawer.vue +1 -0
  34. package/app/components/sandbox/SandboxPanel.vue +1 -0
  35. package/app/components/settings/InfraHandlersConfigurator.vue +1 -1
  36. package/app/components/settings/ProviderConnectionTab.vue +1 -0
  37. package/app/components/settings/ToolServerChecklist.vue +1 -1
  38. package/app/components/skills/SkillLibraryManager.vue +2 -0
  39. package/app/components/slack/SlackPanel.vue +1 -1
  40. package/app/components/tasks/TaskSourceConnectModal.vue +1 -1
  41. package/app/components/testing/TestReportWindow.vue +2 -0
  42. package/app/components/vcs/VcsConnectSurfaces.vue +30 -14
  43. package/app/components/visualConfirm/VisualConfirmationWindow.vue +1 -0
  44. package/app/composables/useSetupActor.ts +25 -0
  45. package/app/composables/useWorkspaceAccess.ts +1 -1
  46. package/app/modular/nav-gates.ts +1 -2
  47. package/app/stores/accounts.ts +8 -0
  48. package/app/stores/workspace/infraSetup.ts +11 -3
  49. package/app/stores/workspace.ts +3 -1
  50. package/app/types/domain.ts +2 -0
  51. package/app/utils/setupAudience.spec.ts +115 -0
  52. package/app/utils/setupAudience.ts +102 -0
  53. package/i18n/locales/de.json +15 -1
  54. package/i18n/locales/en.json +15 -1
  55. package/i18n/locales/es.json +15 -1
  56. package/i18n/locales/fr.json +15 -1
  57. package/i18n/locales/he.json +15 -1
  58. package/i18n/locales/it.json +15 -1
  59. package/i18n/locales/ja.json +15 -1
  60. package/i18n/locales/pl.json +15 -1
  61. package/i18n/locales/tr.json +15 -1
  62. package/i18n/locales/uk.json +15 -1
  63. package/package.json +2 -2
@@ -0,0 +1,102 @@
1
+ import { isInfraSetupHealthStatus, isInfraSetupOwner } from '@cat-factory/contracts'
2
+ import type { InfraSetup, InfraSetupArea, InfraSetupOwner, InfraSetupOwners } from '~/types/domain'
3
+
4
+ // Who a setup prompt is FOR. The infra-setup cards used to render for every caller, so a member,
5
+ // a viewer and a designer each got "Configure runner pool" buttons that opened screens their save
6
+ // would 403 on. The rule here keeps each card to the people who can act on it, and gives everyone
7
+ // else one line naming who can, but only when the gap stops their own work.
8
+
9
+ /** What the caller can do, as far as a setup prompt cares. */
10
+ export interface SetupActor {
11
+ /** The full app surface (engineer / PM). The designer (`intake`) surface never configures. */
12
+ fullSurface: boolean
13
+ /** `integrations.manage` on the active board (true in dev-open, like every permission). */
14
+ canManageIntegrations: boolean
15
+ /** `runs.execute` on the active board: whether a gap that stops runs stops THEIR work. */
16
+ canExecuteRuns: boolean
17
+ /** An admin of the board's account. */
18
+ isAccountAdmin: boolean
19
+ /** Whether this deployment has accounts at all (auth on). */
20
+ accountsEnabled: boolean
21
+ }
22
+
23
+ /**
24
+ * The areas whose gap stops EVERY run, so a caller who cannot fix one still needs to know it is
25
+ * there: without an executor no agent starts. A missing test environment or content storage only
26
+ * degrades some runs, and the run that needs them already says so when it starts.
27
+ */
28
+ export const BLOCKING_INFRA_AREAS = ['agentExecutor'] as const satisfies readonly InfraSetupArea[]
29
+ export type BlockingInfraArea = (typeof BLOCKING_INFRA_AREAS)[number]
30
+
31
+ /**
32
+ * The owner to act on: the reported one when this build knows it, else the workspace admin, which
33
+ * is who the cards assumed before the owner was reported. An older backend sends none; a newer one
34
+ * may send an owner this bundle has never seen, and neither may break the board's render.
35
+ */
36
+ export function effectiveOwner(owner: unknown): InfraSetupOwner {
37
+ return isInfraSetupOwner(owner) ? owner : 'workspace_admin'
38
+ }
39
+
40
+ /** Whether the caller can close a gap owned by `owner` (any value; see {@link effectiveOwner}). */
41
+ export function canActOnSetup(owner: unknown, actor: SetupActor): boolean {
42
+ if (!actor.fullSurface) return false
43
+ const known = effectiveOwner(owner)
44
+ switch (known) {
45
+ case 'workspace_admin':
46
+ return actor.canManageIntegrations
47
+ case 'account_admin':
48
+ // Without accounts there is no account admin to name, and the single user holds every
49
+ // permission, so the workspace grant stands in for it.
50
+ return actor.accountsEnabled ? actor.isAccountAdmin : actor.canManageIntegrations
51
+ case 'operator':
52
+ return false
53
+ default: {
54
+ // Compile-time exhaustiveness only: `effectiveOwner` already narrowed the runtime value.
55
+ const unreachable: never = known
56
+ return unreachable
57
+ }
58
+ }
59
+ }
60
+
61
+ /**
62
+ * How a caller who cannot act on a gap from where they are CAN get it fixed: the owner to ask, or
63
+ * `full_surface` when they hold the grant themselves and only the designer surface they chose hides
64
+ * the card. Telling a board admin that "a board admin can fix this" would send them looking for
65
+ * someone else.
66
+ */
67
+ export type SetupRemedy = InfraSetupOwner | 'full_surface'
68
+
69
+ /** The line a caller who cannot act sees for a blocking gap. */
70
+ export interface SetupNotice {
71
+ area: BlockingInfraArea
72
+ /** `outage` when the area is configured but unreachable, else `setup`. */
73
+ kind: 'setup' | 'outage'
74
+ remedy: SetupRemedy
75
+ }
76
+
77
+ /**
78
+ * The first blocking gap the caller cannot act on, or null. The caller who CAN act gets the full
79
+ * card instead, so the two never describe the same gap twice, and a caller who cannot start a run
80
+ * (a viewer) gets nothing: the gap does not stop anything they do.
81
+ */
82
+ export function blockingSetupNotice(
83
+ status: InfraSetup | null,
84
+ owners: InfraSetupOwners | null,
85
+ actor: SetupActor,
86
+ ): SetupNotice | null {
87
+ if (!status || !actor.canExecuteRuns) return null
88
+ for (const area of BLOCKING_INFRA_AREAS) {
89
+ const areaStatus = status[area]
90
+ const kind = isInfraSetupHealthStatus(areaStatus)
91
+ ? 'outage'
92
+ : areaStatus === 'not_defined'
93
+ ? 'setup'
94
+ : null
95
+ if (!kind) continue
96
+ const owner = effectiveOwner(owners?.[area])
97
+ if (canActOnSetup(owner, actor)) continue
98
+ const remedy = canActOnSetup(owner, { ...actor, fullSurface: true }) ? 'full_surface' : owner
99
+ return { area, kind, remedy }
100
+ }
101
+ return null
102
+ }
@@ -2687,6 +2687,18 @@
2687
2687
  "action": "Verbindung prüfen"
2688
2688
  }
2689
2689
  },
2690
+ "infraSetupNotice": {
2691
+ "agentExecutor": {
2692
+ "setup": "Auf diesem Board können noch keine Agenten laufen: Es ist kein Runner-Pool verbunden.",
2693
+ "outage": "Agenten können gerade nicht laufen: Der Runner-Pool dieses Boards ist nicht erreichbar."
2694
+ },
2695
+ "owner": {
2696
+ "workspace_admin": "Ein Board-Admin kann das beheben.",
2697
+ "account_admin": "Ein Konto-Admin kann das beheben.",
2698
+ "operator": "Nur der Betreiber des Deployments kann das beheben."
2699
+ },
2700
+ "fullSurface": "Sie können das selbst beheben: Wechseln Sie Ihre Rolle oben in der Seitenleiste."
2701
+ },
2690
2702
  "spendWarningBanner": {
2691
2703
  "title": "Ausgabenlimit erreicht, Agentenausführung pausiert",
2692
2704
  "body": "Die Token-Ausgaben dieses Monats haben das konfigurierte Budget erreicht, sodass laufende Pipelines pausiert wurden, um weitere Kosten zu vermeiden. Die Ausführung wird automatisch fortgesetzt, wenn das Budget im nächsten Monat zurückgesetzt wird, oder sobald das Limit angehoben wird.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "oder",
7987
7999
  "noneConfigured": "Für dieses Deployment ist keine Quellcodeverbindung konfiguriert. Bitten Sie einen Betreiber, eine GitHub App oder einen GitLab-Zugang einzurichten.",
8000
+ "adminRequired": "Nur ein Board-Admin kann einen Repository-Host verbinden. Bitten Sie einen Admin dieses Boards darum.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Fügen Sie ein persönliches GitLab-Zugriffstoken ein, um diesen Workspace zu verbinden. cat-factory nutzt es, um Ihre Projekte aufzulisten, Branches zu pushen und Merge Requests zu öffnen.",
7990
8003
  "tokenLabel": "Persönliches Zugriffstoken",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "cat-factory mit {provider} verbinden",
8004
8017
  "titleAny": "cat-factory mit Ihren Repositorys verbinden",
8005
- "intro": "cat-factory funktioniert, indem es Pull Requests in Ihren Repositorys öffnet. Verbinden Sie Ihren Repository-Anbieter, um fortzufahren."
8018
+ "intro": "cat-factory funktioniert, indem es Pull Requests in Ihren Repositorys öffnet. Verbinden Sie Ihren Repository-Anbieter, um fortzufahren.",
8019
+ "switchBoard": "Nicht das gewünschte Board? Wechseln Sie zu einem anderen oder erstellen Sie ein eigenes."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Wählen Sie ein bestehendes {provider}-Repository, um es als Board-Service hinzuzufügen. Kein Bootstrapping: Das Repo wird unverändert mit einem neuen Service-Frame verknüpft, und Aufgaben, die Sie darauf ausführen, zielen auf dieses Repo.",
@@ -2715,6 +2715,18 @@
2715
2715
  "action": "Check connection"
2716
2716
  }
2717
2717
  },
2718
+ "infraSetupNotice": {
2719
+ "agentExecutor": {
2720
+ "setup": "Agents can't run on this board yet: no runner pool is connected.",
2721
+ "outage": "Agents can't run right now: this board's runner pool is unreachable."
2722
+ },
2723
+ "owner": {
2724
+ "workspace_admin": "A board admin can fix this.",
2725
+ "account_admin": "An account admin can fix this.",
2726
+ "operator": "Only the deployment operator can fix this."
2727
+ },
2728
+ "fullSurface": "You can fix this yourself: switch your role at the top of the sidebar."
2729
+ },
2718
2730
  "spendWarningBanner": {
2719
2731
  "title": "Spend limit reached, agent execution paused",
2720
2732
  "body": "This month's token spend has hit the configured budget, so running pipelines were paused to avoid further cost. Execution resumes automatically when the budget rolls over next month, or once the limit is raised.",
@@ -8289,6 +8301,7 @@
8289
8301
  "connect": {
8290
8302
  "or": "or",
8291
8303
  "noneConfigured": "No source-control connection is configured for this deployment. Ask an operator to set up a GitHub App or GitLab access.",
8304
+ "adminRequired": "Only a board admin can connect a repository host. Ask an admin of this board.",
8292
8305
  "gitlab": {
8293
8306
  "intro": "Paste a GitLab personal access token to connect this workspace. cat-factory uses it to list your projects, push branches and open merge requests.",
8294
8307
  "tokenLabel": "Personal access token",
@@ -8306,7 +8319,8 @@
8306
8319
  "onboarding": {
8307
8320
  "title": "Connect cat-factory to {provider}",
8308
8321
  "titleAny": "Connect cat-factory to your repositories",
8309
- "intro": "cat-factory works by opening pull requests on your repositories. Connect your repository host to continue."
8322
+ "intro": "cat-factory works by opening pull requests on your repositories. Connect your repository host to continue.",
8323
+ "switchBoard": "Not the board you meant? Switch to another one, or create your own."
8310
8324
  },
8311
8325
  "addService": {
8312
8326
  "intro": "Pick an existing {provider} repository to add as a board service. No bootstrapping: the repo is linked to a new service frame as-is, and tasks you run on it target that repo.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "Comprobar conexión"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "Los agentes aún no pueden ejecutarse en este tablero: no hay ningún pool de runners conectado.",
2566
+ "outage": "Los agentes no pueden ejecutarse ahora mismo: el pool de runners de este tablero no está accesible."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "Un administrador del tablero puede solucionarlo.",
2570
+ "account_admin": "Un administrador de la cuenta puede solucionarlo.",
2571
+ "operator": "Solo el operador del despliegue puede solucionarlo."
2572
+ },
2573
+ "fullSurface": "Puedes solucionarlo tú: cambia tu rol desde la parte superior de la barra lateral."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "Límite de gasto alcanzado, ejecución de agentes en pausa",
2565
2577
  "body": "El gasto de tokens de este mes ha alcanzado el presupuesto configurado, por lo que las canalizaciones en curso se pausaron para evitar más costes. La ejecución se reanuda automáticamente cuando el presupuesto se renueva el mes que viene, o una vez que se aumente el límite.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "o",
7987
7999
  "noneConfigured": "Este despliegue no tiene configurada ninguna conexión de control de código. Pide a un operador que configure una GitHub App o el acceso a GitLab.",
8000
+ "adminRequired": "Solo un administrador del tablero puede conectar un host de repositorios. Pídeselo a un administrador de este tablero.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Pega un token de acceso personal de GitLab para conectar este espacio de trabajo. cat-factory lo usa para listar tus proyectos, subir ramas y abrir solicitudes de fusión.",
7990
8003
  "tokenLabel": "Token de acceso personal",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "Conecta cat-factory con {provider}",
8004
8017
  "titleAny": "Conecta cat-factory con tus repositorios",
8005
- "intro": "cat-factory funciona abriendo solicitudes de incorporación de cambios en tus repositorios. Conecta tu proveedor de repositorios para continuar."
8018
+ "intro": "cat-factory funciona abriendo solicitudes de incorporación de cambios en tus repositorios. Conecta tu proveedor de repositorios para continuar.",
8019
+ "switchBoard": "¿No es el tablero que buscabas? Cambia a otro o crea uno propio."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Elige un repositorio de {provider} existente para añadirlo como servicio del tablero. Sin arranque inicial: el repositorio se vincula tal cual a un nuevo marco de servicio, y las tareas que ejecutes en él apuntan a ese repositorio.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "Vérifier la connexion"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "Les agents ne peuvent pas encore s'exécuter sur ce tableau : aucun pool de runners n'est connecté.",
2566
+ "outage": "Les agents ne peuvent pas s'exécuter pour le moment : le pool de runners de ce tableau est injoignable."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "Un administrateur du tableau peut corriger cela.",
2570
+ "account_admin": "Un administrateur du compte peut corriger cela.",
2571
+ "operator": "Seul l'opérateur du déploiement peut corriger cela."
2572
+ },
2573
+ "fullSurface": "Vous pouvez corriger cela vous-même : changez de rôle en haut de la barre latérale."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "Limite de dépense atteinte, exécution des agents en pause",
2565
2577
  "body": "La dépense en jetons de ce mois a atteint le budget configuré, les pipelines en cours ont donc été mis en pause pour éviter des coûts supplémentaires. L'exécution reprend automatiquement au renouvellement du budget le mois prochain, ou dès que la limite est relevée.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "ou",
7987
7999
  "noneConfigured": "Aucune connexion de gestion de code n'est configurée pour ce déploiement. Demandez à un opérateur de configurer une GitHub App ou un accès GitLab.",
8000
+ "adminRequired": "Seul un administrateur du tableau peut connecter un hébergeur de dépôts. Demandez-le à un administrateur de ce tableau.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Collez un jeton d'accès personnel GitLab pour connecter cet espace de travail. cat-factory l'utilise pour lister vos projets, pousser des branches et ouvrir des merge requests.",
7990
8003
  "tokenLabel": "Jeton d'accès personnel",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "Connecter cat-factory à {provider}",
8004
8017
  "titleAny": "Connecter cat-factory à vos dépôts",
8005
- "intro": "cat-factory fonctionne en ouvrant des pull requests sur vos dépôts. Connectez votre hébergeur de dépôts pour continuer."
8018
+ "intro": "cat-factory fonctionne en ouvrant des pull requests sur vos dépôts. Connectez votre hébergeur de dépôts pour continuer.",
8019
+ "switchBoard": "Ce n'est pas le bon tableau ? Passez à un autre, ou créez le vôtre."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Choisissez un dépôt {provider} existant à ajouter comme service du tableau. Sans amorçage : le dépôt est lié tel quel à un nouveau cadre de service, et les tâches que vous y exécutez ciblent ce dépôt.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "בדיקת החיבור"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "סוכנים עדיין לא יכולים לפעול בלוח הזה: לא מחובר מאגר ראנרים.",
2566
+ "outage": "סוכנים לא יכולים לפעול כרגע: מאגר הראנרים של הלוח הזה אינו נגיש."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "מנהל של הלוח יכול לתקן זאת.",
2570
+ "account_admin": "מנהל של החשבון יכול לתקן זאת.",
2571
+ "operator": "רק המפעיל של הפריסה יכול לתקן זאת."
2572
+ },
2573
+ "fullSurface": "אפשר לתקן זאת בעצמכם: החליפו תפקיד בראש סרגל הצד."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "מגבלת ההוצאה הושגה, הרצת הסוכנים הושהתה",
2565
2577
  "body": "הוצאת האסימונים של החודש הגיעה לתקציב המוגדר, ולכן צינורות פעילים הושהו כדי להימנע מעלות נוספת. ההרצה מתחדשת אוטומטית כשהתקציב מתחדש בחודש הבא, או כאשר המגבלה מועלית.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "או",
7987
7999
  "noneConfigured": "לא הוגדר חיבור לניהול קוד מקור בפריסה הזו. בקש ממפעיל להגדיר אפליקציית GitHub או גישה ל-GitLab.",
8000
+ "adminRequired": "רק מנהל של הלוח יכול לחבר שירות אחסון מאגרים. בקשו זאת ממנהל של הלוח הזה.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "הדבק אסימון גישה אישי של GitLab כדי לחבר את סביבת העבודה הזו. cat-factory משתמש בו כדי להציג את הפרויקטים שלך, לדחוף ענפים ולפתוח בקשות מיזוג.",
7990
8003
  "tokenLabel": "אסימון גישה אישי",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "חבר את cat-factory ל-{provider}",
8004
8017
  "titleAny": "חבר את cat-factory למאגרים שלך",
8005
- "intro": "cat-factory פועל על ידי פתיחת בקשות משיכה במאגרים שלך. חבר את ספק המאגרים שלך כדי להמשיך."
8018
+ "intro": "cat-factory פועל על ידי פתיחת בקשות משיכה במאגרים שלך. חבר את ספק המאגרים שלך כדי להמשיך.",
8019
+ "switchBoard": "זה לא הלוח שהתכוונתם אליו? עברו ללוח אחר או צרו לוח משלכם."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "בחר מאגר {provider} קיים כדי להוסיף כשירות בלוח. ללא אתחול: המאגר מקושר למסגרת שירות חדשה כפי שהוא, ומשימות שתריץ עליו ממוקדות באותו מאגר.",
@@ -2687,6 +2687,18 @@
2687
2687
  "action": "Verifica connessione"
2688
2688
  }
2689
2689
  },
2690
+ "infraSetupNotice": {
2691
+ "agentExecutor": {
2692
+ "setup": "Gli agenti non possono ancora funzionare su questa board: nessun runner pool è connesso.",
2693
+ "outage": "Gli agenti non possono funzionare in questo momento: il runner pool di questa board non è raggiungibile."
2694
+ },
2695
+ "owner": {
2696
+ "workspace_admin": "Un amministratore della board può risolvere il problema.",
2697
+ "account_admin": "Un amministratore dell'account può risolvere il problema.",
2698
+ "operator": "Solo l'operatore del deployment può risolvere il problema."
2699
+ },
2700
+ "fullSurface": "Puoi risolverlo tu: cambia ruolo dall'alto della barra laterale."
2701
+ },
2690
2702
  "spendWarningBanner": {
2691
2703
  "title": "Limite di spesa raggiunto, esecuzione degli agenti sospesa",
2692
2704
  "body": "La spesa in token di questo mese ha raggiunto il budget configurato, quindi le pipeline in esecuzione sono state sospese per evitare ulteriori costi. L'esecuzione riprende automaticamente quando il budget si rinnova il mese prossimo, oppure una volta che il limite viene aumentato.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "oppure",
7987
7999
  "noneConfigured": "Per questo deployment non è configurata alcuna connessione al controllo del codice. Chiedi a un operatore di configurare una GitHub App o l'accesso a GitLab.",
8000
+ "adminRequired": "Solo un amministratore della board può connettere un host di repository. Chiedilo a un amministratore di questa board.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Incolla un token di accesso personale GitLab per collegare questo workspace. cat-factory lo usa per elencare i tuoi progetti, inviare branch e aprire merge request.",
7990
8003
  "tokenLabel": "Token di accesso personale",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "Collega cat-factory a {provider}",
8004
8017
  "titleAny": "Collega cat-factory ai tuoi repository",
8005
- "intro": "cat-factory funziona aprendo pull request sui tuoi repository. Collega il tuo host di repository per continuare."
8018
+ "intro": "cat-factory funziona aprendo pull request sui tuoi repository. Collega il tuo host di repository per continuare.",
8019
+ "switchBoard": "Non è la board che cercavi? Passa a un'altra, oppure creane una tua."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Scegli un repository {provider} esistente da aggiungere come servizio sulla board. Nessun bootstrapping: il repo viene collegato a un nuovo frame di servizio così com'è, e le attività che vi esegui puntano a quel repo.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "接続を確認"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "このボードではまだエージェントを実行できません。ランナープールが接続されていません。",
2566
+ "outage": "現在エージェントを実行できません。このボードのランナープールに接続できません。"
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "ボードの管理者が解決できます。",
2570
+ "account_admin": "アカウントの管理者が解決できます。",
2571
+ "operator": "解決できるのはデプロイの運用者だけです。"
2572
+ },
2573
+ "fullSurface": "ご自身で解決できます。サイドバー上部でロールを切り替えてください。"
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "支出上限に達したため、エージェントの実行を一時停止しました",
2565
2577
  "body": "今月のトークン支出が設定された予算に達したため、これ以上のコストを避けるために実行中のパイプラインを一時停止しました。来月に予算がリセットされると、または上限を引き上げると、実行は自動的に再開されます。",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "または",
7987
7999
  "noneConfigured": "このデプロイにはソース管理の接続が設定されていません。GitHub App または GitLab へのアクセスの設定を運用者に依頼してください。",
8000
+ "adminRequired": "リポジトリホストを接続できるのはボードの管理者だけです。このボードの管理者に依頼してください。",
7988
8001
  "gitlab": {
7989
8002
  "intro": "GitLab の個人用アクセストークンを貼り付けて、このワークスペースを接続します。cat-factory はこれを使ってプロジェクトの一覧取得、ブランチのプッシュ、マージリクエストの作成を行います。",
7990
8003
  "tokenLabel": "個人用アクセストークン",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "cat-factory を {provider} に接続",
8004
8017
  "titleAny": "cat-factory をリポジトリに接続",
8005
- "intro": "cat-factory はリポジトリ上でプルリクエストを開くことで動作します。続行するにはリポジトリホストを接続してください。"
8018
+ "intro": "cat-factory はリポジトリ上でプルリクエストを開くことで動作します。続行するにはリポジトリホストを接続してください。",
8019
+ "switchBoard": "目的のボードではありませんか?別のボードに切り替えるか、自分のボードを作成してください。"
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "ボードサービスとして追加する既存の{provider}リポジトリを選択してください。ブートストラップはありません。リポジトリはそのまま新しいサービスフレームにリンクされ、その上で実行するタスクはそのリポジトリを対象とします。",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "Sprawdź połączenie"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "Na tej tablicy agenci nie mogą jeszcze działać: nie podłączono żadnej puli runnerów.",
2566
+ "outage": "Agenci nie mogą teraz działać: pula runnerów tej tablicy jest nieosiągalna."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "Może to naprawić administrator tablicy.",
2570
+ "account_admin": "Może to naprawić administrator konta.",
2571
+ "operator": "Może to naprawić tylko operator wdrożenia."
2572
+ },
2573
+ "fullSurface": "Możesz to naprawić sam: zmień rolę u góry panelu bocznego."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "Osiągnięto limit wydatków, wykonywanie agentów wstrzymane",
2565
2577
  "body": "Wydatki na tokeny w tym miesiącu osiągnęły skonfigurowany budżet, dlatego działające potoki zostały wstrzymane, aby uniknąć dalszych kosztów. Wykonywanie wznowi się automatycznie po odnowieniu budżetu w przyszłym miesiącu lub po podniesieniu limitu.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "lub",
7987
7999
  "noneConfigured": "W tym wdrożeniu nie skonfigurowano połączenia z systemem kontroli źródeł. Poproś operatora o skonfigurowanie aplikacji GitHub lub dostępu do GitLab.",
8000
+ "adminRequired": "Tylko administrator tablicy może podłączyć hosta repozytoriów. Poproś o to administratora tej tablicy.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Wklej osobisty token dostępu GitLab, aby połączyć ten obszar roboczy. cat-factory używa go do wyświetlania Twoich projektów, wypychania gałęzi i otwierania merge requestów.",
7990
8003
  "tokenLabel": "Osobisty token dostępu",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "Połącz cat-factory z {provider}",
8004
8017
  "titleAny": "Połącz cat-factory ze swoimi repozytoriami",
8005
- "intro": "cat-factory działa, otwierając pull requesty w Twoich repozytoriach. Połącz swojego dostawcę repozytoriów, aby kontynuować."
8018
+ "intro": "cat-factory działa, otwierając pull requesty w Twoich repozytoriach. Połącz swojego dostawcę repozytoriów, aby kontynuować.",
8019
+ "switchBoard": "To nie ta tablica? Przełącz się na inną albo utwórz własną."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Wybierz istniejące repozytorium {provider}, aby dodać je jako usługę tablicy. Bez inicjowania: repozytorium jest wiązane bez zmian z nową ramką usługi, a uruchamiane na nim zadania celują w to repozytorium.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "Bağlantıyı denetle"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "Bu panoda aracılar henüz çalışamaz: bağlı bir runner havuzu yok.",
2566
+ "outage": "Aracılar şu anda çalışamıyor: bu panonun runner havuzuna erişilemiyor."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "Bir pano yöneticisi bunu düzeltebilir.",
2570
+ "account_admin": "Bir hesap yöneticisi bunu düzeltebilir.",
2571
+ "operator": "Bunu yalnızca dağıtımın operatörü düzeltebilir."
2572
+ },
2573
+ "fullSurface": "Bunu kendiniz düzeltebilirsiniz: kenar çubuğunun üstünden rolünüzü değiştirin."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "Harcama limitine ulaşıldı, ajan yürütmesi duraklatıldı",
2565
2577
  "body": "Bu ayki belirteç harcaması yapılandırılan bütçeye ulaştı, bu yüzden daha fazla maliyeti önlemek için çalışan boru hatları duraklatıldı. Yürütme, bütçe gelecek ay yenilendiğinde veya limit yükseltildiğinde otomatik olarak devam eder.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "veya",
7987
7999
  "noneConfigured": "Bu dağıtım için yapılandırılmış bir kaynak denetimi bağlantısı yok. Bir operatörden GitHub App veya GitLab erişimi kurmasını isteyin.",
8000
+ "adminRequired": "Bir depo sağlayıcısını yalnızca pano yöneticisi bağlayabilir. Bu panonun bir yöneticisinden isteyin.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Bu çalışma alanını bağlamak için bir GitLab kişisel erişim belirteci yapıştırın. cat-factory bunu projelerinizi listelemek, dal göndermek ve merge request açmak için kullanır.",
7990
8003
  "tokenLabel": "Kişisel erişim belirteci",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "cat-factory'yi {provider}'a bağla",
8004
8017
  "titleAny": "cat-factory'yi depolarınıza bağlayın",
8005
- "intro": "cat-factory, depolarınızda pull request'ler açarak çalışır. Devam etmek için depo sağlayıcınızı bağlayın."
8018
+ "intro": "cat-factory, depolarınızda pull request'ler açarak çalışır. Devam etmek için depo sağlayıcınızı bağlayın.",
8019
+ "switchBoard": "Aradığınız pano bu değil mi? Başka bir panoya geçin veya kendinizinkini oluşturun."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Pano servisi olarak eklenecek mevcut bir {provider} deposu seçin. Bootstrap yok: depo olduğu gibi yeni bir servis çerçevesine bağlanır ve üzerinde çalıştırdığınız görevler o depoyu hedefler.",
@@ -2560,6 +2560,18 @@
2560
2560
  "action": "Перевірити з’єднання"
2561
2561
  }
2562
2562
  },
2563
+ "infraSetupNotice": {
2564
+ "agentExecutor": {
2565
+ "setup": "На цій дошці агенти ще не можуть працювати: не підключено жодного пулу раннерів.",
2566
+ "outage": "Агенти зараз не можуть працювати: пул раннерів цієї дошки недоступний."
2567
+ },
2568
+ "owner": {
2569
+ "workspace_admin": "Це може виправити адміністратор дошки.",
2570
+ "account_admin": "Це може виправити адміністратор облікового запису.",
2571
+ "operator": "Це може виправити лише оператор розгортання."
2572
+ },
2573
+ "fullSurface": "Ви можете виправити це самі: змініть роль угорі бічної панелі."
2574
+ },
2563
2575
  "spendWarningBanner": {
2564
2576
  "title": "Досягнуто ліміту витрат, виконання агентів призупинено",
2565
2577
  "body": "Витрати на токени цього місяця досягли налаштованого бюджету, тому запущені конвеєри було призупинено, щоб уникнути подальших витрат. Виконання відновиться автоматично, коли бюджет оновиться наступного місяця, або щойно ліміт буде підвищено.",
@@ -7985,6 +7997,7 @@
7985
7997
  "connect": {
7986
7998
  "or": "або",
7987
7999
  "noneConfigured": "Для цього розгортання не налаштовано підключення до системи керування кодом. Попросіть оператора налаштувати застосунок GitHub або доступ до GitLab.",
8000
+ "adminRequired": "Підключити хост репозиторіїв може лише адміністратор дошки. Попросіть про це адміністратора цієї дошки.",
7988
8001
  "gitlab": {
7989
8002
  "intro": "Вставте персональний токен доступу GitLab, щоб під'єднати цей робочий простір. cat-factory використовує його, щоб отримувати перелік ваших проєктів, надсилати гілки та відкривати запити на злиття.",
7990
8003
  "tokenLabel": "Персональний токен доступу",
@@ -8002,7 +8015,8 @@
8002
8015
  "onboarding": {
8003
8016
  "title": "Підключіть cat-factory до {provider}",
8004
8017
  "titleAny": "Підключіть cat-factory до ваших репозиторіїв",
8005
- "intro": "cat-factory працює, відкриваючи pull requests у ваших репозиторіях. Під'єднайте свого постачальника репозиторіїв, щоб продовжити."
8018
+ "intro": "cat-factory працює, відкриваючи pull requests у ваших репозиторіях. Під'єднайте свого постачальника репозиторіїв, щоб продовжити.",
8019
+ "switchBoard": "Не та дошка? Перейдіть на іншу або створіть власну."
8006
8020
  },
8007
8021
  "addService": {
8008
8022
  "intro": "Виберіть наявний репозиторій {provider}, щоб додати його як сервіс дошки. Без початкового налаштування: репозиторій прив’язується як є до нового фрейму сервісу, а задачі, які ви на ньому запускаєте, націлені на цей репозиторій.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.310.2",
3
+ "version": "0.311.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",
@@ -18,7 +18,7 @@
18
18
  "access": "public"
19
19
  },
20
20
  "dependencies": {
21
- "@cat-factory/contracts": "0.364.0",
21
+ "@cat-factory/contracts": "0.365.0",
22
22
  "@modular-frontend/core": "0.6.0",
23
23
  "@modular-vue/core": "^1.5.0",
24
24
  "@modular-vue/journeys": "^1.4.0",