@cat-factory/app 0.48.2 → 0.49.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.
- package/app/components/board/AgentFailureCard.vue +3 -0
- package/app/components/documents/DocumentSourceConnectModal.vue +0 -15
- package/i18n/locales/en.json +1 -1
- package/i18n/locales/es.json +1 -1
- package/i18n/locales/fr.json +1 -1
- package/i18n/locales/pl.json +1 -1
- package/i18n/locales/uk.json +1 -1
- package/package.json +2 -2
|
@@ -21,6 +21,9 @@ const title = computed(() => {
|
|
|
21
21
|
// explicitly rather than the generic "Run failed", and show the verbatim provider
|
|
22
22
|
// error in the collapsible detail below.
|
|
23
23
|
if (failure.value?.kind === 'dispatch') return t('board.failure.containerFailedToStart')
|
|
24
|
+
// An `environment` failure means the deployer's EnvironmentProvider could not provision —
|
|
25
|
+
// name it, with the provider's verbatim error in the collapsible detail below.
|
|
26
|
+
if (failure.value?.kind === 'environment') return t('board.failure.environmentFailed')
|
|
24
27
|
return props.run.kind === 'bootstrap'
|
|
25
28
|
? t('board.failure.bootstrapFailed')
|
|
26
29
|
: t('board.failure.runFailed')
|
|
@@ -19,10 +19,6 @@ const connection = computed(() =>
|
|
|
19
19
|
source.value ? documents.connectionFor(source.value) : undefined,
|
|
20
20
|
)
|
|
21
21
|
const connected = computed(() => connection.value !== undefined)
|
|
22
|
-
// A `credentialScope: 'user'` source (e.g. Claude Design) stores a PERSONAL credential
|
|
23
|
-
// keyed to the signed-in user and never shared with the workspace — surface that so a
|
|
24
|
-
// member understands they're connecting their own account, not the team's.
|
|
25
|
-
const isPersonal = computed(() => descriptor.value?.credentialScope === 'user')
|
|
26
22
|
|
|
27
23
|
const open = computed({
|
|
28
24
|
get: () => ui.documentConnect !== null,
|
|
@@ -99,17 +95,6 @@ async function disconnect() {
|
|
|
99
95
|
{{ t('documents.connect.intro', { source: descriptor.label }) }}
|
|
100
96
|
</p>
|
|
101
97
|
|
|
102
|
-
<p
|
|
103
|
-
v-if="isPersonal"
|
|
104
|
-
class="flex items-start gap-1.5 text-xs text-amber-400/90"
|
|
105
|
-
data-testid="document-source-personal-note"
|
|
106
|
-
>
|
|
107
|
-
<UIcon name="i-lucide-user" class="mt-0.5 size-3.5 shrink-0" />
|
|
108
|
-
<span>
|
|
109
|
-
{{ t('documents.connect.personalNote') }}
|
|
110
|
-
</span>
|
|
111
|
-
</p>
|
|
112
|
-
|
|
113
98
|
<div class="space-y-3">
|
|
114
99
|
<UFormField
|
|
115
100
|
v-for="field in descriptor.credentialFields"
|
package/i18n/locales/en.json
CHANGED
|
@@ -164,6 +164,7 @@
|
|
|
164
164
|
},
|
|
165
165
|
"failure": {
|
|
166
166
|
"containerFailedToStart": "Container failed to start",
|
|
167
|
+
"environmentFailed": "Environment provisioning failed",
|
|
167
168
|
"bootstrapFailed": "Bootstrap failed",
|
|
168
169
|
"runFailed": "Run failed",
|
|
169
170
|
"retryBootstrap": "Retry bootstrap",
|
|
@@ -2100,7 +2101,6 @@
|
|
|
2100
2101
|
"title": "Connect source",
|
|
2101
2102
|
"sourceFallback": "Source",
|
|
2102
2103
|
"intro": "Connect {source} to import requirements, RFCs and PRDs, then spawn board structure or attach them to tasks as agent context.",
|
|
2103
|
-
"personalNote": "Personal connection — this credential authenticates as you and is stored only for your account, never shared with the rest of the workspace.",
|
|
2104
2104
|
"disconnect": "Disconnect",
|
|
2105
2105
|
"connect": "Connect",
|
|
2106
2106
|
"update": "Update connection",
|
package/i18n/locales/es.json
CHANGED
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"failure": {
|
|
148
148
|
"containerFailedToStart": "El contenedor no pudo iniciarse",
|
|
149
|
+
"environmentFailed": "No se pudo aprovisionar el entorno",
|
|
149
150
|
"bootstrapFailed": "El arranque falló",
|
|
150
151
|
"runFailed": "La ejecución falló",
|
|
151
152
|
"retryBootstrap": "Reintentar arranque",
|
|
@@ -2046,7 +2047,6 @@
|
|
|
2046
2047
|
"title": "Conectar fuente",
|
|
2047
2048
|
"sourceFallback": "Fuente",
|
|
2048
2049
|
"intro": "Conecta {source} para importar requisitos, RFC y PRD, y luego generar la estructura del tablero o adjuntarlos a las tareas como contexto para los agentes.",
|
|
2049
|
-
"personalNote": "Conexión personal: esta credencial te autentica a ti y se almacena solo para tu cuenta, nunca se comparte con el resto del espacio de trabajo.",
|
|
2050
2050
|
"disconnect": "Desconectar",
|
|
2051
2051
|
"connect": "Conectar",
|
|
2052
2052
|
"update": "Actualizar conexión",
|
package/i18n/locales/fr.json
CHANGED
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"failure": {
|
|
148
148
|
"containerFailedToStart": "Le conteneur n’a pas pu démarrer",
|
|
149
|
+
"environmentFailed": "Échec du provisionnement de l’environnement",
|
|
149
150
|
"bootstrapFailed": "L’initialisation a échoué",
|
|
150
151
|
"runFailed": "L’exécution a échoué",
|
|
151
152
|
"retryBootstrap": "Relancer l’initialisation",
|
|
@@ -2046,7 +2047,6 @@
|
|
|
2046
2047
|
"title": "Connecter une source",
|
|
2047
2048
|
"sourceFallback": "Source",
|
|
2048
2049
|
"intro": "Connectez {source} pour importer des exigences, des RFC et des PRD, puis générer la structure du tableau ou les joindre aux tâches comme contexte pour les agents.",
|
|
2049
|
-
"personalNote": "Connexion personnelle : cet identifiant vous authentifie et n'est stocké que pour votre compte, jamais partagé avec le reste de l'espace de travail.",
|
|
2050
2050
|
"disconnect": "Déconnecter",
|
|
2051
2051
|
"connect": "Connecter",
|
|
2052
2052
|
"update": "Mettre à jour la connexion",
|
package/i18n/locales/pl.json
CHANGED
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"failure": {
|
|
148
148
|
"containerFailedToStart": "Nie udało się uruchomić kontenera",
|
|
149
|
+
"environmentFailed": "Nie udało się przygotować środowiska",
|
|
149
150
|
"bootstrapFailed": "Inicjalizacja nie powiodła się",
|
|
150
151
|
"runFailed": "Uruchomienie nie powiodło się",
|
|
151
152
|
"retryBootstrap": "Ponów inicjalizację",
|
|
@@ -2046,7 +2047,6 @@
|
|
|
2046
2047
|
"title": "Połącz źródło",
|
|
2047
2048
|
"sourceFallback": "Źródło",
|
|
2048
2049
|
"intro": "Połącz {source}, aby importować wymagania, dokumenty RFC i PRD, a następnie utworzyć strukturę tablicy lub dołączyć je do zadań jako kontekst dla agentów.",
|
|
2049
|
-
"personalNote": "Połączenie osobiste: te poświadczenia uwierzytelniają Ciebie i są przechowywane tylko dla Twojego konta, nigdy nie są udostępniane reszcie obszaru roboczego.",
|
|
2050
2050
|
"disconnect": "Rozłącz",
|
|
2051
2051
|
"connect": "Połącz",
|
|
2052
2052
|
"update": "Zaktualizuj połączenie",
|
package/i18n/locales/uk.json
CHANGED
|
@@ -146,6 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"failure": {
|
|
148
148
|
"containerFailedToStart": "Не вдалося запустити контейнер",
|
|
149
|
+
"environmentFailed": "Не вдалося підготувати середовище",
|
|
149
150
|
"bootstrapFailed": "Не вдалося ініціалізувати",
|
|
150
151
|
"runFailed": "Запуск не вдався",
|
|
151
152
|
"retryBootstrap": "Повторити ініціалізацію",
|
|
@@ -2046,7 +2047,6 @@
|
|
|
2046
2047
|
"title": "Підключити джерело",
|
|
2047
2048
|
"sourceFallback": "Джерело",
|
|
2048
2049
|
"intro": "Підключіть {source}, щоб імпортувати вимоги, RFC та PRD, а потім створити структуру дошки або долучити їх до завдань як контекст для агентів.",
|
|
2049
|
-
"personalNote": "Особисте підключення: ці облікові дані автентифікують саме вас і зберігаються лише для вашого облікового запису, ніколи не передаються решті робочого простору.",
|
|
2050
2050
|
"disconnect": "Відключити",
|
|
2051
2051
|
"connect": "Підключити",
|
|
2052
2052
|
"update": "Оновити підключення",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.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",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"valibot": "^1.4.2",
|
|
35
35
|
"vue": "^3.5.39",
|
|
36
36
|
"wretch": "^3.0.9",
|
|
37
|
-
"@cat-factory/contracts": "0.
|
|
37
|
+
"@cat-factory/contracts": "0.50.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@toad-contracts/testing": "0.3.2",
|