@cat-factory/app 0.297.0 → 0.298.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/panels/inspector/ServiceSelfTests.vue +1 -0
- package/app/composables/api/environments.ts +13 -3
- package/app/composables/usePipelineErrorToast.ts +9 -0
- package/app/stores/environmentTest.spec.ts +43 -1
- package/app/stores/environmentTest.ts +25 -5
- package/i18n/locales/de.json +3 -1
- package/i18n/locales/en.json +3 -1
- package/i18n/locales/es.json +3 -1
- package/i18n/locales/fr.json +3 -1
- package/i18n/locales/he.json +3 -1
- package/i18n/locales/it.json +3 -1
- package/i18n/locales/ja.json +3 -1
- package/i18n/locales/pl.json +3 -1
- package/i18n/locales/tr.json +3 -1
- package/i18n/locales/uk.json +3 -1
- package/package.json +2 -2
|
@@ -117,6 +117,7 @@ const CONFLICT_KEYS: Record<Extract<ConflictReason, `env_test_${string}`>, strin
|
|
|
117
117
|
env_test_no_vcs: 'errors.conflict.title.env_test_no_vcs',
|
|
118
118
|
env_test_connection_failed: 'errors.conflict.title.env_test_connection_failed',
|
|
119
119
|
env_test_probe_unavailable: 'errors.conflict.title.env_test_probe_unavailable',
|
|
120
|
+
env_test_probe_model_unavailable: 'errors.conflict.title.env_test_probe_model_unavailable',
|
|
120
121
|
env_test_already_running: 'errors.conflict.title.env_test_already_running',
|
|
121
122
|
env_test_over_budget: 'errors.conflict.title.env_test_over_budget',
|
|
122
123
|
}
|
|
@@ -9,7 +9,7 @@ import type { EnvironmentTestMode, ProvisionEnvironmentInput } from '@cat-factor
|
|
|
9
9
|
import type { ApiContext } from './context'
|
|
10
10
|
|
|
11
11
|
/** Ephemeral environments: the workspace's live env handles (used to resolve frontend bindings). */
|
|
12
|
-
export function environmentsApi({ send, ws }: ApiContext) {
|
|
12
|
+
export function environmentsApi({ send, sendWith, ws, pwHeaders }: ApiContext) {
|
|
13
13
|
return {
|
|
14
14
|
listEnvironments: (workspaceId: string) =>
|
|
15
15
|
send(listEnvironmentsContract, { pathPrefix: ws(workspaceId) }),
|
|
@@ -22,8 +22,18 @@ export function environmentsApi({ send, ws }: ApiContext) {
|
|
|
22
22
|
// Ephemeral-environment self-test: start a full create-branch → provision → tear-down →
|
|
23
23
|
// delete-branch cycle against a service frame, then read / stop its run. `mode` picks what it
|
|
24
24
|
// exercises: the provisioning alone, or that plus an agent dry run against the environment.
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
//
|
|
26
|
+
// Carries the personal unlock password, because an `agent-probe` run spends a model call and
|
|
27
|
+
// the model comes from the workspace's preset, which can name a personal subscription
|
|
28
|
+
// (Claude). The backend only consults it when the resolved model needs one, so a provisioning
|
|
29
|
+
// self-test is unaffected.
|
|
30
|
+
startEnvironmentTest: (
|
|
31
|
+
workspaceId: string,
|
|
32
|
+
blockId: string,
|
|
33
|
+
mode: EnvironmentTestMode,
|
|
34
|
+
password?: string,
|
|
35
|
+
) =>
|
|
36
|
+
sendWith(pwHeaders(password), startEnvironmentTestContract, {
|
|
27
37
|
pathPrefix: ws(workspaceId),
|
|
28
38
|
pathParams: { blockId },
|
|
29
39
|
body: { mode },
|
|
@@ -277,6 +277,15 @@ const CONFLICT_INFO: Record<Exclude<ConflictReason, BespokeConflictReason>, Conf
|
|
|
277
277
|
titleKey: 'errors.conflict.title.env_test_probe_unavailable',
|
|
278
278
|
descriptionKey: 'errors.conflict.description.env_test_probe_unavailable',
|
|
279
279
|
},
|
|
280
|
+
// The frame's RESOLVED model cannot be dispatched: a provider the LLM proxy cannot serve, or a
|
|
281
|
+
// subscription-only model with no connected credential. Distinct from the reason above, whose
|
|
282
|
+
// gap is a container prerequisite: this deployment is wired and the workspace's own model preset
|
|
283
|
+
// names something unrunnable, so the remedy is in the model settings and the jump is worth
|
|
284
|
+
// offering. The specific cause rides `details.modelIssue`, which the funnel surfaces as detail.
|
|
285
|
+
env_test_probe_model_unavailable: {
|
|
286
|
+
titleKey: 'errors.conflict.title.env_test_probe_model_unavailable',
|
|
287
|
+
descriptionKey: 'errors.conflict.description.env_test_probe_model_unavailable',
|
|
288
|
+
},
|
|
280
289
|
// A second self-test on a frame that already has one running. No ACTION: the remedy is to wait
|
|
281
290
|
// for the run showing in the same panel, or to stop it with the button beside it.
|
|
282
291
|
env_test_already_running: {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, vi } from 'vitest'
|
|
2
2
|
import type { EnvironmentTestRun } from '~/types/domain'
|
|
3
3
|
import { useEnvironmentTestStore } from '~/stores/environmentTest'
|
|
4
|
+
import { usePersonalSubscriptionsStore } from '~/stores/personalSubscriptions'
|
|
5
|
+
import { useWorkspaceStore } from '~/stores/workspace'
|
|
4
6
|
|
|
5
7
|
// The store resolves `useApi()` at setup; override the inert global stub from
|
|
6
8
|
// `test/setup.ts` with a per-suite mock so the hydrate reconcile point-read is observable.
|
|
7
|
-
const apiMock = { getEnvironmentTest: vi.fn() }
|
|
9
|
+
const apiMock = { getEnvironmentTest: vi.fn(), startEnvironmentTest: vi.fn() }
|
|
8
10
|
vi.stubGlobal('useApi', () => apiMock)
|
|
9
11
|
|
|
10
12
|
/** Minimal EnvironmentTestRun factory — only the fields the store's reconcile logic touches. */
|
|
@@ -28,6 +30,46 @@ function run(id: string, over: Partial<EnvironmentTestRun> = {}): EnvironmentTes
|
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
|
|
33
|
+
describe('environmentTest store: starting a run that may need a personal credential', () => {
|
|
34
|
+
let store: ReturnType<typeof useEnvironmentTestStore>
|
|
35
|
+
let withCredential: ReturnType<typeof vi.fn>
|
|
36
|
+
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
useWorkspaceStore().workspaceId = 'ws_test'
|
|
39
|
+
// The gate's contract, stubbed on the real store: run the action with the cached password, and
|
|
40
|
+
// resolve `false` when the person cancels the unlock prompt.
|
|
41
|
+
withCredential = vi.fn(async (action: (password?: string) => Promise<void>) => {
|
|
42
|
+
await action('cached-password')
|
|
43
|
+
return true
|
|
44
|
+
})
|
|
45
|
+
usePersonalSubscriptionsStore().withCredential = withCredential as unknown as ReturnType<
|
|
46
|
+
typeof usePersonalSubscriptionsStore
|
|
47
|
+
>['withCredential']
|
|
48
|
+
apiMock.startEnvironmentTest = vi.fn(async () => run('envtest_1', { mode: 'agent-probe' }))
|
|
49
|
+
store = useEnvironmentTestStore()
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
it('rides the unlock password, so a preset-resolved Claude dry run can lease it', async () => {
|
|
53
|
+
// Ungated, an `agent-probe` start 428s and the person is never asked for anything: the
|
|
54
|
+
// failure they see is a dry run that provisioned an environment and then could not open a
|
|
55
|
+
// credential nobody unlocked.
|
|
56
|
+
const started = await store.start('blk_1', 'agent-probe')
|
|
57
|
+
expect(apiMock.startEnvironmentTest).toHaveBeenCalledWith(
|
|
58
|
+
'ws_test',
|
|
59
|
+
'blk_1',
|
|
60
|
+
'agent-probe',
|
|
61
|
+
'cached-password',
|
|
62
|
+
)
|
|
63
|
+
expect(started?.id).toBe('envtest_1')
|
|
64
|
+
expect(store.runById('envtest_1')).toBeTruthy()
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
it('reports a cancelled unlock as no run, so the caller stops waiting for one', async () => {
|
|
68
|
+
withCredential.mockImplementation(async () => false)
|
|
69
|
+
expect(await store.start('blk_1', 'agent-probe')).toBeNull()
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
|
|
31
73
|
describe('environmentTest store — monotonic run reconcile', () => {
|
|
32
74
|
let store: ReturnType<typeof useEnvironmentTestStore>
|
|
33
75
|
beforeEach(() => {
|
|
@@ -3,6 +3,7 @@ import { ref } from 'vue'
|
|
|
3
3
|
import type { EnvironmentTestMode } from '@cat-factory/contracts'
|
|
4
4
|
import type { EnvironmentTestRun } from '~/types/domain'
|
|
5
5
|
import { useWorkspaceStore } from '~/stores/workspace'
|
|
6
|
+
import { usePersonalSubscriptionsStore } from '~/stores/personalSubscriptions'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Ephemeral-environment self-test runs, in both modes: the provisioning self-test and the AGENT
|
|
@@ -129,12 +130,31 @@ export const useEnvironmentTestStore = defineStore('environmentTest', () => {
|
|
|
129
130
|
return runs.value.find((r) => r.blockId === blockId && r.mode === mode)
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
/**
|
|
133
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Start a self-test against a service frame; the returned run is tracked immediately.
|
|
135
|
+
*
|
|
136
|
+
* Gated through `withCredential`, like every other surface that starts agent work: an AGENT DRY
|
|
137
|
+
* RUN resolves its model from the workspace's model preset, which can name an individual-usage
|
|
138
|
+
* subscription (Claude), and such a credential is only leasable with the owner's unlock
|
|
139
|
+
* password. The cached password rides the first attempt and a `428` opens the modal; the
|
|
140
|
+
* provisioning self-test spends no model call, so the backend never consults it there.
|
|
141
|
+
*
|
|
142
|
+
* `null` when the person cancels the prompt: the run never started, so the caller reverts its
|
|
143
|
+
* spinner rather than waiting for a run that is not coming.
|
|
144
|
+
*/
|
|
145
|
+
async function start(
|
|
146
|
+
blockId: string,
|
|
147
|
+
mode: EnvironmentTestMode,
|
|
148
|
+
): Promise<EnvironmentTestRun | null> {
|
|
134
149
|
const ws = useWorkspaceStore()
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
150
|
+
const personal = usePersonalSubscriptionsStore()
|
|
151
|
+
let started: EnvironmentTestRun | null = null
|
|
152
|
+
const ok = await personal.withCredential(async (password) => {
|
|
153
|
+
const run = await api.startEnvironmentTest(ws.requireId(), blockId, mode, password)
|
|
154
|
+
upsert(run)
|
|
155
|
+
started = run
|
|
156
|
+
})
|
|
157
|
+
return ok ? started : null
|
|
138
158
|
}
|
|
139
159
|
|
|
140
160
|
/** Stop a running self-test (best-effort cleanup, then failed). */
|
package/i18n/locales/de.json
CHANGED
|
@@ -6200,6 +6200,7 @@
|
|
|
6200
6200
|
"env_test_no_vcs": "Git-Anbieter nicht verbunden",
|
|
6201
6201
|
"env_test_connection_failed": "Umgebungsverbindung fehlgeschlagen",
|
|
6202
6202
|
"env_test_probe_unavailable": "Agenten-Probeläufe hier nicht verfügbar",
|
|
6203
|
+
"env_test_probe_model_unavailable": "Modell für den Probelauf nicht ausführbar",
|
|
6203
6204
|
"env_test_already_running": "Selbsttest läuft bereits",
|
|
6204
6205
|
"env_test_over_budget": "Ausgabenbudget erreicht",
|
|
6205
6206
|
"prompt_revision_conflict": "Prompt von jemand anderem geändert",
|
|
@@ -6251,7 +6252,8 @@
|
|
|
6251
6252
|
"env_test_no_vcs": "Der Selbsttest benötigt einen Git-Anbieter, um seinen Wegwerf-Branch zu erstellen und zu löschen, aber dieser Workspace ist mit keinem verbunden.",
|
|
6252
6253
|
"env_test_connection_failed": "Der Umgebungs-Handler dieses Dienstes hat seinen Verbindungstest nicht bestanden. Prüfen Sie Endpunkt, Anmeldedaten und Projekteinstellungen und testen Sie die Verbindung erneut.",
|
|
6253
6254
|
"env_test_connection_failed_detail": "Der Umgebungs-Handler dieses Dienstes hat seinen Verbindungstest nicht bestanden: {detail}. Prüfen Sie Endpunkt, Anmeldedaten und Projekteinstellungen und testen Sie die Verbindung erneut.",
|
|
6254
|
-
"env_test_probe_unavailable": "Ein Agenten-Probelauf benötigt einen Container-Runner
|
|
6255
|
+
"env_test_probe_unavailable": "Ein Agenten-Probelauf benötigt einen Container-Runner und ein verbundenes Repository. Hier fehlt eines davon, daher lässt sich nur der Bereitstellungs-Selbsttest ausführen.",
|
|
6256
|
+
"env_test_probe_model_unavailable": "Der Probelauf dieses Dienstes verweist auf ein Modell, das diese Installation nicht ausführen kann: entweder kann der LLM-Proxy dessen Anbieter nicht bedienen, oder es braucht ein Abonnement, das niemand verbunden hat. Ändern Sie das Modell-Preset für den Prüfagenten (oder das am Rahmen fixierte Modell), oder verbinden Sie das Abonnement. Der Bereitstellungs-Selbsttest braucht kein Modell und läuft weiterhin.",
|
|
6255
6257
|
"env_test_already_running": "Für diesen Dienst läuft bereits ein Selbsttest. Jeder stellt seine eigene Wegwerf-Umgebung bereit, daher läuft immer nur einer. Warten Sie, bis er fertig ist, oder stoppen Sie ihn zuerst.",
|
|
6256
6258
|
"env_test_over_budget": "Ein Agenten-Probelauf ist ein kostenpflichtiger Modellaufruf, und dieser Workspace hat sein Ausgabenbudget erreicht. Erhöhen Sie das Budget oder warten Sie auf den nächsten Abrechnungszeitraum. Der Bereitstellungs-Selbsttest kostet nichts und läuft weiterhin.",
|
|
6257
6259
|
"prompt_revision_conflict": "Eine andere Änderung an diesem Prompt war zuerst da. Laden Sie ihn neu und wenden Sie Ihre Änderung darauf erneut an.",
|
package/i18n/locales/en.json
CHANGED
|
@@ -767,6 +767,7 @@
|
|
|
767
767
|
"env_test_no_vcs": "Git provider not connected",
|
|
768
768
|
"env_test_connection_failed": "Environment connection failed",
|
|
769
769
|
"env_test_probe_unavailable": "Agent dry runs not available here",
|
|
770
|
+
"env_test_probe_model_unavailable": "Dry run model cannot run",
|
|
770
771
|
"env_test_already_running": "Self-test already running",
|
|
771
772
|
"env_test_over_budget": "Spend budget reached",
|
|
772
773
|
"prompt_revision_conflict": "Prompt changed by someone else",
|
|
@@ -818,7 +819,8 @@
|
|
|
818
819
|
"env_test_no_vcs": "The self-test needs a git provider to create and delete its throwaway branch, but this workspace isn't connected to one.",
|
|
819
820
|
"env_test_connection_failed": "The environment handler for this service failed its connection test. Check its endpoint, credentials and project settings, then re-test the connection.",
|
|
820
821
|
"env_test_connection_failed_detail": "The environment handler for this service failed its connection test: {detail}. Check its endpoint, credentials and project settings, then re-test the connection.",
|
|
821
|
-
"env_test_probe_unavailable": "An agent dry run needs a container runner
|
|
822
|
+
"env_test_probe_unavailable": "An agent dry run needs a container runner and a connected repository. One of them is missing here, so only the provisioning self-test can run.",
|
|
823
|
+
"env_test_probe_model_unavailable": "This service's dry run resolves to a model this deployment cannot dispatch: either the LLM proxy cannot serve its provider, or it needs a subscription no one has connected. Change the model preset for the prober (or the frame's own pinned model), or connect the subscription. The provisioning self-test needs no model and still runs.",
|
|
822
824
|
"env_test_already_running": "A self-test is already running for this service. Each one provisions its own throwaway environment, so only one runs at a time. Wait for it to finish, or stop it first.",
|
|
823
825
|
"env_test_over_budget": "An agent dry run is a billable model call, and this workspace has reached a spend budget. Raise the budget or wait for the billing period to reset. The provisioning self-test costs nothing and still runs.",
|
|
824
826
|
"@env_test_connection_failed_detail": {
|
package/i18n/locales/es.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Proveedor de Git no conectado",
|
|
690
690
|
"env_test_connection_failed": "Fallo de conexión del entorno",
|
|
691
691
|
"env_test_probe_unavailable": "Las ejecuciones en seco del agente no están disponibles aquí",
|
|
692
|
+
"env_test_probe_model_unavailable": "El modelo del ensayo no puede ejecutarse",
|
|
692
693
|
"env_test_already_running": "Ya hay una autoprueba en curso",
|
|
693
694
|
"env_test_over_budget": "Presupuesto de gasto alcanzado",
|
|
694
695
|
"prompt_revision_conflict": "Otra persona cambió el prompt",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "La autoprueba necesita un proveedor de Git para crear y eliminar su rama desechable, pero este espacio de trabajo no está conectado a ninguno.",
|
|
741
742
|
"env_test_connection_failed": "El gestor de entornos de este servicio no superó su prueba de conexión. Revisa su endpoint, sus credenciales y la configuración del proyecto, y vuelve a probar la conexión.",
|
|
742
743
|
"env_test_connection_failed_detail": "El gestor de entornos de este servicio no superó su prueba de conexión: {detail}. Revisa su endpoint, sus credenciales y la configuración del proyecto, y vuelve a probar la conexión.",
|
|
743
|
-
"env_test_probe_unavailable": "Una ejecución en seco del agente necesita un ejecutor de contenedores
|
|
744
|
+
"env_test_probe_unavailable": "Una ejecución en seco del agente necesita un ejecutor de contenedores y un repositorio conectado. Aquí falta uno de ellos, así que solo puede ejecutarse la autoprueba de aprovisionamiento.",
|
|
745
|
+
"env_test_probe_model_unavailable": "El ensayo de este servicio resuelve a un modelo que este despliegue no puede lanzar: o el proxy de LLM no puede atender a su proveedor, o necesita una suscripción que nadie ha conectado. Cambie el preajuste de modelo del sondeador (o el modelo fijado en el marco), o conecte la suscripción. La autoprueba de aprovisionamiento no necesita modelo y sigue funcionando.",
|
|
744
746
|
"env_test_already_running": "Ya se está ejecutando una autoprueba para este servicio. Cada una aprovisiona su propio entorno desechable, así que solo se ejecuta una a la vez. Espera a que termine o deténla primero.",
|
|
745
747
|
"env_test_over_budget": "Una prueba de agente es una llamada de modelo facturable y este espacio de trabajo ha alcanzado su presupuesto de gasto. Aumenta el presupuesto o espera al siguiente periodo de facturación. La autoprueba de aprovisionamiento no cuesta nada y sigue funcionando.",
|
|
746
748
|
"prompt_revision_conflict": "Otra edición de este prompt llegó primero. Recárgalo y vuelve a aplicar tu cambio encima.",
|
package/i18n/locales/fr.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Fournisseur Git non connecté",
|
|
690
690
|
"env_test_connection_failed": "Échec de la connexion à l'environnement",
|
|
691
691
|
"env_test_probe_unavailable": "Essais à blanc d'agent indisponibles ici",
|
|
692
|
+
"env_test_probe_model_unavailable": "Le modèle du test à blanc ne peut pas être exécuté",
|
|
692
693
|
"env_test_already_running": "Auto-test déjà en cours",
|
|
693
694
|
"env_test_over_budget": "Budget de dépenses atteint",
|
|
694
695
|
"prompt_revision_conflict": "Invite modifiée par quelqu'un d'autre",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "L'auto-test a besoin d'un fournisseur Git pour créer et supprimer sa branche jetable, mais cet espace de travail n'est connecté à aucun.",
|
|
741
742
|
"env_test_connection_failed": "Le gestionnaire d'environnement de ce service a échoué à son test de connexion. Vérifiez son point de terminaison, ses identifiants et les paramètres du projet, puis retestez la connexion.",
|
|
742
743
|
"env_test_connection_failed_detail": "Le gestionnaire d'environnement de ce service a échoué à son test de connexion : {detail}. Vérifiez son point de terminaison, ses identifiants et les paramètres du projet, puis retestez la connexion.",
|
|
743
|
-
"env_test_probe_unavailable": "Un essai à blanc d'agent nécessite un exécuteur de conteneurs
|
|
744
|
+
"env_test_probe_unavailable": "Un essai à blanc d'agent nécessite un exécuteur de conteneurs et un dépôt connecté. L'un d'eux manque ici, donc seul l'autotest de provisionnement peut s'exécuter.",
|
|
745
|
+
"env_test_probe_model_unavailable": "Le test à blanc de ce service pointe vers un modèle que ce déploiement ne peut pas lancer : soit le proxy LLM ne prend pas en charge son fournisseur, soit il faut un abonnement que personne n'a connecté. Changez le préréglage de modèle du sondeur (ou le modèle épinglé sur le cadre), ou connectez l'abonnement. L'autotest de provisionnement n'a besoin d'aucun modèle et continue de fonctionner.",
|
|
744
746
|
"env_test_already_running": "Un auto-test est déjà en cours pour ce service. Chacun provisionne son propre environnement jetable, donc un seul s'exécute à la fois. Attendez qu'il se termine ou arrêtez-le d'abord.",
|
|
745
747
|
"env_test_over_budget": "Un essai à blanc d'agent est un appel de modèle facturé, et cet espace de travail a atteint son budget de dépenses. Augmentez le budget ou attendez la prochaine période de facturation. L'auto-test de provisionnement ne coûte rien et reste disponible.",
|
|
746
748
|
"prompt_revision_conflict": "Une autre modification de cette invite est arrivée en premier. Rechargez-la et réappliquez la vôtre par-dessus.",
|
package/i18n/locales/he.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "ספק Git אינו מחובר",
|
|
690
690
|
"env_test_connection_failed": "החיבור לסביבה נכשל",
|
|
691
691
|
"env_test_probe_unavailable": "הרצות יבשות של סוכן אינן זמינות כאן",
|
|
692
|
+
"env_test_probe_model_unavailable": "לא ניתן להריץ את המודל של הרצת היובש",
|
|
692
693
|
"env_test_already_running": "בדיקה עצמית כבר פועלת",
|
|
693
694
|
"env_test_over_budget": "הגעתם לתקרת התקציב",
|
|
694
695
|
"prompt_revision_conflict": "ההנחיה שונתה על ידי מישהו אחר",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "הבדיקה העצמית זקוקה לספק Git כדי ליצור ולמחוק את הענף החד-פעמי שלה, אך סביבת עבודה זו אינה מחוברת לאף אחד.",
|
|
741
742
|
"env_test_connection_failed": "מנהל הסביבה של שירות זה נכשל בבדיקת החיבור. בדקו את נקודת הקצה, פרטי ההזדהות והגדרות הפרויקט, ולאחר מכן בדקו שוב את החיבור.",
|
|
742
743
|
"env_test_connection_failed_detail": "מנהל הסביבה של שירות זה נכשל בבדיקת החיבור: {detail}. בדקו את נקודת הקצה, פרטי ההזדהות והגדרות הפרויקט, ולאחר מכן בדקו שוב את החיבור.",
|
|
743
|
-
"env_test_probe_unavailable": "הרצה יבשה של סוכן דורשת מריץ
|
|
744
|
+
"env_test_probe_unavailable": "הרצה יבשה של סוכן דורשת מריץ קונטיינרים ומאגר מחובר. כאן חסר אחד מהם, ולכן אפשר להריץ רק את הבדיקה העצמית של הקמת הסביבה.",
|
|
745
|
+
"env_test_probe_model_unavailable": "הרצת היובש של השירות הזה מפנה למודל שהפריסה הזאת אינה יכולה להריץ: או שפרוקסי ה-LLM אינו מסוגל לשרת את הספק שלו, או שנדרש מנוי שאף אחד לא חיבר. שנו את פריסט המודל של הבודק (או את המודל המוצמד למסגרת), או חברו את המנוי. הבדיקה העצמית של ההקצאה אינה זקוקה למודל וממשיכה לרוץ.",
|
|
744
746
|
"env_test_already_running": "בדיקה עצמית כבר פועלת עבור שירות זה. כל בדיקה מקצה סביבה זמנית משלה, ולכן רק אחת פועלת בכל רגע. המתינו לסיומה או עצרו אותה תחילה.",
|
|
745
747
|
"env_test_over_budget": "הרצת ניסיון של סוכן היא קריאת מודל בתשלום, וסביבת העבודה הזו הגיעה לתקרת התקציב. הגדילו את התקציב או המתינו לתקופת החיוב הבאה. הבדיקה העצמית של ההקצאה אינה עולה דבר וממשיכה לפעול.",
|
|
746
748
|
"prompt_revision_conflict": "עריכה אחרת של ההנחיה הזו נקלטה קודם. טענו אותה מחדש והחילו את השינוי שלכם מעליה.",
|
package/i18n/locales/it.json
CHANGED
|
@@ -6200,6 +6200,7 @@
|
|
|
6200
6200
|
"env_test_no_vcs": "Provider Git non connesso",
|
|
6201
6201
|
"env_test_connection_failed": "Connessione all'ambiente non riuscita",
|
|
6202
6202
|
"env_test_probe_unavailable": "Prove a vuoto dell'agente non disponibili qui",
|
|
6203
|
+
"env_test_probe_model_unavailable": "Il modello della prova a vuoto non è eseguibile",
|
|
6203
6204
|
"env_test_already_running": "Autotest già in esecuzione",
|
|
6204
6205
|
"env_test_over_budget": "Budget di spesa raggiunto",
|
|
6205
6206
|
"prompt_revision_conflict": "Prompt modificato da qualcun altro",
|
|
@@ -6251,7 +6252,8 @@
|
|
|
6251
6252
|
"env_test_no_vcs": "L'autotest ha bisogno di un provider Git per creare ed eliminare il suo branch usa e getta, ma questo workspace non è collegato a nessuno.",
|
|
6252
6253
|
"env_test_connection_failed": "Il gestore dell'ambiente di questo servizio non ha superato il test di connessione. Controlla endpoint, credenziali e impostazioni del progetto, poi ripeti il test della connessione.",
|
|
6253
6254
|
"env_test_connection_failed_detail": "Il gestore dell'ambiente di questo servizio non ha superato il test di connessione: {detail}. Controlla endpoint, credenziali e impostazioni del progetto, poi ripeti il test della connessione.",
|
|
6254
|
-
"env_test_probe_unavailable": "Una prova a vuoto dell’agente richiede un runner di container
|
|
6255
|
+
"env_test_probe_unavailable": "Una prova a vuoto dell’agente richiede un runner di container e un repository collegato. Qui ne manca uno, quindi può essere eseguito solo l’autotest di provisioning.",
|
|
6256
|
+
"env_test_probe_model_unavailable": "La prova a vuoto di questo servizio punta a un modello che questa installazione non può avviare: il proxy LLM non supporta il suo provider, oppure serve un abbonamento che nessuno ha collegato. Cambia il preset del modello per il sondatore (o il modello fissato sul riquadro), oppure collega l’abbonamento. L’autotest di provisioning non richiede alcun modello e continua a funzionare.",
|
|
6255
6257
|
"env_test_already_running": "È già in esecuzione un autotest per questo servizio. Ognuno effettua il provisioning del proprio ambiente temporaneo, quindi ne viene eseguito uno alla volta. Attendi che finisca oppure interrompilo.",
|
|
6256
6258
|
"env_test_over_budget": "Una prova a vuoto dell'agente è una chiamata al modello a pagamento e questo workspace ha raggiunto il budget di spesa. Aumenta il budget o attendi il prossimo periodo di fatturazione. L'autotest di provisioning non ha costi e resta disponibile.",
|
|
6257
6259
|
"prompt_revision_conflict": "Un'altra modifica a questo prompt è arrivata prima. Ricaricalo e riapplica la tua sopra.",
|
package/i18n/locales/ja.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Git プロバイダーが未接続です",
|
|
690
690
|
"env_test_connection_failed": "環境への接続に失敗しました",
|
|
691
691
|
"env_test_probe_unavailable": "ここではエージェントのドライランを利用できません",
|
|
692
|
+
"env_test_probe_model_unavailable": "ドライランのモデルを実行できません",
|
|
692
693
|
"env_test_already_running": "セルフテストは既に実行中です",
|
|
693
694
|
"env_test_over_budget": "利用予算の上限に達しました",
|
|
694
695
|
"prompt_revision_conflict": "別のユーザーがプロンプトを変更しました",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "セルフテストは使い捨てブランチの作成と削除のために Git プロバイダーを必要としますが、このワークスペースはいずれにも接続されていません。",
|
|
741
742
|
"env_test_connection_failed": "このサービスの環境ハンドラーが接続テストに失敗しました。エンドポイント、認証情報、プロジェクト設定を確認してから、接続を再テストしてください。",
|
|
742
743
|
"env_test_connection_failed_detail": "このサービスの環境ハンドラーが接続テストに失敗しました: {detail}。エンドポイント、認証情報、プロジェクト設定を確認してから、接続を再テストしてください。",
|
|
743
|
-
"env_test_probe_unavailable": "
|
|
744
|
+
"env_test_probe_unavailable": "エージェントのドライランには、コンテナーランナーと接続済みのリポジトリが必要です。いずれかが欠けているため、ここではプロビジョニングの自己テストのみ実行できます。",
|
|
745
|
+
"env_test_probe_model_unavailable": "このサービスのドライランは、このデプロイでは実行できないモデルに解決されます。LLM プロキシがそのプロバイダーに対応していないか、誰も接続していないサブスクリプションが必要です。プローブ用のモデルプリセット(またはフレームに固定されたモデル)を変更するか、サブスクリプションを接続してください。プロビジョニングのセルフテストはモデルを必要とせず、引き続き実行できます。",
|
|
744
746
|
"env_test_already_running": "このサービスではすでにセルフテストが実行中です。各テストは独自の使い捨て環境をプロビジョニングするため、同時に実行できるのは 1 つだけです。終了を待つか、先に停止してください。",
|
|
745
747
|
"env_test_over_budget": "エージェントのドライランは課金対象のモデル呼び出しであり、このワークスペースは利用予算の上限に達しています。予算を引き上げるか、次の請求期間までお待ちください。プロビジョニングのセルフテストは無料で、引き続き実行できます。",
|
|
746
748
|
"prompt_revision_conflict": "このプロンプトへの別の編集が先に反映されました。読み込み直して、その上に変更をやり直してください。",
|
package/i18n/locales/pl.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Dostawca Git nie jest połączony",
|
|
690
690
|
"env_test_connection_failed": "Połączenie ze środowiskiem nie powiodło się",
|
|
691
691
|
"env_test_probe_unavailable": "Próbne przebiegi agenta są tu niedostępne",
|
|
692
|
+
"env_test_probe_model_unavailable": "Nie można uruchomić modelu próbnego przebiegu",
|
|
692
693
|
"env_test_already_running": "Autotest już trwa",
|
|
693
694
|
"env_test_over_budget": "Osiągnięto limit wydatków",
|
|
694
695
|
"prompt_revision_conflict": "Prompt zmieniony przez kogoś innego",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "Autotest potrzebuje dostawcy Git, aby utworzyć i usunąć swoją jednorazową gałąź, ale ta przestrzeń robocza nie jest połączona z żadnym.",
|
|
741
742
|
"env_test_connection_failed": "Obsługa środowiska dla tej usługi nie przeszła testu połączenia. Sprawdź jej punkt końcowy, poświadczenia i ustawienia projektu, a następnie ponownie przetestuj połączenie.",
|
|
742
743
|
"env_test_connection_failed_detail": "Obsługa środowiska dla tej usługi nie przeszła testu połączenia: {detail}. Sprawdź jej punkt końcowy, poświadczenia i ustawienia projektu, a następnie ponownie przetestuj połączenie.",
|
|
743
|
-
"env_test_probe_unavailable": "Próbny przebieg agenta wymaga runnera kontenerów
|
|
744
|
+
"env_test_probe_unavailable": "Próbny przebieg agenta wymaga runnera kontenerów i podłączonego repozytorium. Brakuje tu jednego z nich, więc można uruchomić tylko autotest przydzielania środowiska.",
|
|
745
|
+
"env_test_probe_model_unavailable": "Próbny przebieg tej usługi wskazuje model, którego to wdrożenie nie może uruchomić: albo proxy LLM nie obsługuje jego dostawcy, albo potrzebna jest subskrypcja, której nikt nie podłączył. Zmień preset modelu dla sondy (lub model przypięty do ramki) albo podłącz subskrypcję. Autotest udostępniania nie potrzebuje modelu i nadal działa.",
|
|
744
746
|
"env_test_already_running": "Dla tej usługi już trwa autotest. Każdy z nich udostępnia własne środowisko jednorazowe, więc naraz działa tylko jeden. Poczekaj na zakończenie albo najpierw go zatrzymaj.",
|
|
745
747
|
"env_test_over_budget": "Próbny przebieg agenta to płatne wywołanie modelu, a ten obszar roboczy osiągnął limit wydatków. Zwiększ limit albo poczekaj na nowy okres rozliczeniowy. Autotest aprowizacji nic nie kosztuje i nadal działa.",
|
|
746
748
|
"prompt_revision_conflict": "Inna zmiana tego promptu trafiła pierwsza. Wczytaj go ponownie i nanieś swoją zmianę na wierzch.",
|
package/i18n/locales/tr.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Git sağlayıcısı bağlı değil",
|
|
690
690
|
"env_test_connection_failed": "Ortam bağlantısı başarısız",
|
|
691
691
|
"env_test_probe_unavailable": "Aracı prova çalışmaları burada kullanılamıyor",
|
|
692
|
+
"env_test_probe_model_unavailable": "Prova çalıştırmasının modeli çalıştırılamıyor",
|
|
692
693
|
"env_test_already_running": "Kendi kendine test zaten çalışıyor",
|
|
693
694
|
"env_test_over_budget": "Harcama bütçesine ulaşıldı",
|
|
694
695
|
"prompt_revision_conflict": "İstem başka biri tarafından değiştirildi",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "Öz test, tek kullanımlık dalını oluşturup silmek için bir Git sağlayıcısına ihtiyaç duyar ancak bu çalışma alanı hiçbirine bağlı değil.",
|
|
741
742
|
"env_test_connection_failed": "Bu hizmetin ortam işleyicisi bağlantı testini geçemedi. Uç noktasını, kimlik bilgilerini ve proje ayarlarını kontrol edin, ardından bağlantıyı yeniden test edin.",
|
|
742
743
|
"env_test_connection_failed_detail": "Bu hizmetin ortam işleyicisi bağlantı testini geçemedi: {detail}. Uç noktasını, kimlik bilgilerini ve proje ayarlarını kontrol edin, ardından bağlantıyı yeniden test edin.",
|
|
743
|
-
"env_test_probe_unavailable": "Aracı prova çalışması bir konteyner
|
|
744
|
+
"env_test_probe_unavailable": "Aracı prova çalışması bir konteyner çalıştırıcısı ve bağlı bir depo gerektirir. Burada bunlardan biri eksik, bu yüzden yalnızca ortam hazırlama öz testi çalıştırılabilir.",
|
|
745
|
+
"env_test_probe_model_unavailable": "Bu servisin prova çalıştırması, bu kurulumun başlatamayacağı bir modele çözümleniyor: ya LLM proxy’si sağlayıcısını sunamıyor ya da kimsenin bağlamadığı bir abonelik gerekiyor. Sonda için model ön ayarını (ya da çerçeveye sabitlenmiş modeli) değiştirin veya aboneliği bağlayın. Sağlama öz testi model gerektirmez ve çalışmaya devam eder.",
|
|
744
746
|
"env_test_already_running": "Bu hizmet için zaten bir kendi kendine test çalışıyor. Her biri kendi tek kullanımlık ortamını hazırladığı için aynı anda yalnızca biri çalışır. Bitmesini bekleyin veya önce durdurun.",
|
|
745
747
|
"env_test_over_budget": "Aracı deneme çalıştırması ücretli bir model çağrısıdır ve bu çalışma alanı harcama bütçesine ulaşmıştır. Bütçeyi artırın veya yeni faturalandırma dönemini bekleyin. Sağlama kendi kendine testi ücretsizdir ve çalışmaya devam eder.",
|
|
746
748
|
"prompt_revision_conflict": "Bu isteme yapılan başka bir düzenleme önce ulaştı. Yeniden yükleyip değişikliğinizi onun üzerine uygulayın.",
|
package/i18n/locales/uk.json
CHANGED
|
@@ -689,6 +689,7 @@
|
|
|
689
689
|
"env_test_no_vcs": "Провайдер Git не підключено",
|
|
690
690
|
"env_test_connection_failed": "Не вдалося підключитися до середовища",
|
|
691
691
|
"env_test_probe_unavailable": "Пробні запуски агента тут недоступні",
|
|
692
|
+
"env_test_probe_model_unavailable": "Модель пробного запуску неможливо запустити",
|
|
692
693
|
"env_test_already_running": "Самоперевірка вже виконується",
|
|
693
694
|
"env_test_over_budget": "Досягнуто ліміт витрат",
|
|
694
695
|
"prompt_revision_conflict": "Промпт змінив хтось інший",
|
|
@@ -740,7 +741,8 @@
|
|
|
740
741
|
"env_test_no_vcs": "Самоперевірці потрібен постачальник Git, щоб створити та видалити свою тимчасову гілку, але цей робочий простір не під'єднано до жодного.",
|
|
741
742
|
"env_test_connection_failed": "Обробник середовища для цієї служби не пройшов перевірку підключення. Перевірте його кінцеву точку, облікові дані та налаштування проєкту, а потім повторіть перевірку підключення.",
|
|
742
743
|
"env_test_connection_failed_detail": "Обробник середовища для цієї служби не пройшов перевірку підключення: {detail}. Перевірте його кінцеву точку, облікові дані та налаштування проєкту, а потім повторіть перевірку підключення.",
|
|
743
|
-
"env_test_probe_unavailable": "Пробний запуск агента потребує виконавця
|
|
744
|
+
"env_test_probe_unavailable": "Пробний запуск агента потребує виконавця контейнерів і підключеного репозиторія. Тут чогось із цього бракує, тому можна виконати лише самоперевірку створення середовища.",
|
|
745
|
+
"env_test_probe_model_unavailable": "Пробний запуск цієї служби вказує на модель, яку це розгортання не може запустити: або LLM-проксі не обслуговує її постачальника, або потрібна підписка, яку ніхто не підключив. Змініть пресет моделі для зонда (або модель, закріплену за рамкою), або підключіть підписку. Самоперевірка розгортання не потребує моделі й продовжує працювати.",
|
|
744
746
|
"env_test_already_running": "Для цієї служби вже виконується самоперевірка. Кожна створює власне тимчасове середовище, тому одночасно виконується лише одна. Дочекайтеся завершення або спершу зупиніть її.",
|
|
745
747
|
"env_test_over_budget": "Пробний запуск агента є платним викликом моделі, а цей робочий простір досяг ліміту витрат. Збільште ліміт або дочекайтеся нового платіжного періоду. Самоперевірка створення середовища нічого не коштує і працює далі.",
|
|
746
748
|
"prompt_revision_conflict": "Інша правка цього промпту надійшла першою. Перезавантажте його й накладіть свою зміну зверху.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.298.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.
|
|
21
|
+
"@cat-factory/contracts": "0.349.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",
|